更新後 tftpd-hpa 不啟動
我安裝了 tftpd-hpa(Ubuntu 16.04 LTS)。最近,也許在獲得一些更新(或解除安裝一些具有大量依賴項的應用程序)之後,tftpd-hpa 不再啟動。tftpd-hpa 設置為:
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure --create"
預設根目錄是
/var/lib/tftpboot
.systemctl status tftpd-hpa.service
和journalctl -xe
命令的輸出:testlab@Amtek:~$ systemctl status tftpd-hpa.service ● tftpd-hpa.service - LSB: HPA's tftp server Loaded: loaded (/etc/init.d/tftpd-hpa; bad; vendor preset: enabled) Active: failed (Result: exit-code) since Tue 2017-04-18 01:47:32 EEST; 2min 8 Docs: man:systemd-sysv-generator(8) Process: 4764 ExecStart=/etc/init.d/tftpd-hpa start (code=exited, status=71) Apr 18 01:47:32 Amtek systemd[1]: Stopped LSB: HPA's tftp server. Apr 18 01:47:32 Amtek systemd[1]: Starting LSB: HPA's tftp server... Apr 18 01:47:32 Amtek tftpd-hpa[4764]: * Starting HPA's tftpd in.tftpd Apr 18 01:47:32 Amtek in.tftpd[4777]: cannot bind to local IPv4 socket: Addre Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Control process exited, Apr 18 01:47:32 Amtek systemd[1]: Failed to start LSB: HPA's tftp server. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Unit entered failed stat Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Failed with result 'exit lines 1-14/14 (END)
testlab@Amtek:~$ journalctl -xe -- -- Unit tftpd-hpa.service has finished shutting down. Apr 18 01:47:32 Amtek systemd[1]: Starting LSB: HPA's tftp server... -- Subject: Unit tftpd-hpa.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has begun starting up. Apr 18 01:47:32 Amtek tftpd-hpa[4764]: * Starting HPA's tftpd in.tftpd Apr 18 01:47:32 Amtek in.tftpd[4777]: cannot bind to local IPv4 socket: Addre Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Control process exited, Apr 18 01:47:32 Amtek systemd[1]: Failed to start LSB: HPA's tftp server. -- Subject: Unit tftpd-hpa.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has failed. -- -- The result is failed. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Unit entered failed stat Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Failed with result 'exit Apr 18 01:47:32 Amtek polkitd(authority=local)[885]: Unregistered Authenticat Apr 18 01:48:46 Amtek kernel: [drm:intel_pipe_update_end [i915]] *ERROR* Atom lines 1276-1298/1298 (END) -- -- Unit tftpd-hpa.service has finished shutting down. Apr 18 01:47:32 Amtek systemd[1]: Starting LSB: HPA's tftp server... -- Subject: Unit tftpd-hpa.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has begun starting up. Apr 18 01:47:32 Amtek tftpd-hpa[4764]: * Starting HPA's tftpd in.tftpd Apr 18 01:47:32 Amtek in.tftpd[4777]: cannot bind to local IPv4 socket: Addres Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Control process exited, c Apr 18 01:47:32 Amtek systemd[1]: Failed to start LSB: HPA's tftp server. -- Subject: Unit tftpd-hpa.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has failed. -- -- The result is failed. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Unit entered failed state Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Failed with result 'exit- Apr 18 01:47:32 Amtek polkitd(authority=local)[885]: Unregistered Authenticati Apr 18 01:48:46 Amtek kernel: [drm:intel_pipe_update_end [i915]] *ERROR* Atomi lines 1276-1298/1298 (END) -- -- Unit tftpd-hpa.service has finished shutting down. Apr 18 01:47:32 Amtek systemd[1]: Starting LSB: HPA's tftp server... -- Subject: Unit tftpd-hpa.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has begun starting up. Apr 18 01:47:32 Amtek tftpd-hpa[4764]: * Starting HPA's tftpd in.tftpd Apr 18 01:47:32 Amtek in.tftpd[4777]: cannot bind to local IPv4 socket: Address already in use Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Control process exited, code=exited status=71 Apr 18 01:47:32 Amtek systemd[1]: Failed to start LSB: HPA's tftp server. -- Subject: Unit tftpd-hpa.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has failed. -- -- The result is failed. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Unit entered failed state. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Failed with result 'exit-code'. Apr 18 01:47:32 Amtek polkitd(authority=local)[885]: Unregistered Authentication Agent for unix-process:4752:17293 Apr 18 01:48:46 Amtek kernel: [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=58 lines 1276-1298/1298 (END) -- -- Unit tftpd-hpa.service has finished shutting down. Apr 18 01:47:32 Amtek systemd[1]: Starting LSB: HPA's tftp server... -- Subject: Unit tftpd-hpa.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has begun starting up. Apr 18 01:47:32 Amtek tftpd-hpa[4764]: * Starting HPA's tftpd in.tftpd Apr 18 01:47:32 Amtek in.tftpd[4777]: cannot bind to local IPv4 socket: Address already in use Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Control process exited, code=exited status=71 Apr 18 01:47:32 Amtek systemd[1]: Failed to start LSB: HPA's tftp server. -- Subject: Unit tftpd-hpa.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has failed. -- -- The result is failed. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Unit entered failed state. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Failed with result 'exit-code'. Apr 18 01:47:32 Amtek polkitd(authority=local)[885]: Unregistered Authentication Agent for unix-process:4752:172933 Apr 18 01:48:46 Amtek kernel: [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=585 lines 1276-1298/1298 (END) -- -- Unit tftpd-hpa.service has finished shutting down. Apr 18 01:47:32 Amtek systemd[1]: Starting LSB: HPA's tftp server... -- Subject: Unit tftpd-hpa.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has begun starting up. Apr 18 01:47:32 Amtek tftpd-hpa[4764]: * Starting HPA's tftpd in.tftpd Apr 18 01:47:32 Amtek in.tftpd[4777]: cannot bind to local IPv4 socket: Address already in use Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Control process exited, code=exited status=71 Apr 18 01:47:32 Amtek systemd[1]: Failed to start LSB: HPA's tftp server. -- Subject: Unit tftpd-hpa.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has failed. -- -- The result is failed. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Unit entered failed state. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Failed with result 'exit-code'. Apr 18 01:47:32 Amtek polkitd(authority=local)[885]: Unregistered Authentication Agent for unix-process:4752:1729339 (system Apr 18 01:48:46 Amtek kernel: [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=585206 end=5 lines 1276-1298/1298 (END) -- -- Unit tftpd-hpa.service has finished shutting down. Apr 18 01:47:32 Amtek systemd[1]: Starting LSB: HPA's tftp server... -- Subject: Unit tftpd-hpa.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has begun starting up. Apr 18 01:47:32 Amtek tftpd-hpa[4764]: * Starting HPA's tftpd in.tftpd Apr 18 01:47:32 Amtek in.tftpd[4777]: cannot bind to local IPv4 socket: Address already in use Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Control process exited, code=exited status=71 Apr 18 01:47:32 Amtek systemd[1]: Failed to start LSB: HPA's tftp server. -- Subject: Unit tftpd-hpa.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has failed. -- -- The result is failed. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Unit entered failed state. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Failed with result 'exit-code'. Apr 18 01:47:32 Amtek polkitd(authority=local)[885]: Unregistered Authentication Agent for unix-process:4752:1729339 (system Apr 18 01:48:46 Amtek kernel: [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=585206 end=58 lines 1276-1298/1298 (END) -- -- Unit tftpd-hpa.service has finished shutting down. Apr 18 01:47:32 Amtek systemd[1]: Starting LSB: HPA's tftp server... -- Subject: Unit tftpd-hpa.service has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has begun starting up. Apr 18 01:47:32 Amtek tftpd-hpa[4764]: * Starting HPA's tftpd in.tftpd Apr 18 01:47:32 Amtek in.tftpd[4777]: cannot bind to local IPv4 socket: Address already in use Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Control process exited, code=exited status=71 Apr 18 01:47:32 Amtek systemd[1]: Failed to start LSB: HPA's tftp server. -- Subject: Unit tftpd-hpa.service has failed -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit tftpd-hpa.service has failed. -- -- The result is failed. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Unit entered failed state. Apr 18 01:47:32 Amtek systemd[1]: tftpd-hpa.service: Failed with result 'exit-code'. Apr 18 01:47:32 Amtek polkitd(authority=local)[885]: Unregistered Authentication Agent for unix-process:4752:1729339 (system bus name :1. Apr 18 01:48:46 Amtek kernel: [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=585206 end=585207) time 9 lines 1276-1298/1298 (END)
編輯:下面是
sudo netstat -lnp | grep 69
輸出udp 0 0 0.0.0.0:69 0.0.0.0:* 851/inetd unix 2 [ ACC ] STREAM LISTENING 20940 1069/Xorg @/tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 20941 1069/Xorg /tmp/.X11-unix/X0
結合兩部分資訊:
最近,在收到一些更新後
並出現以下錯誤:
4 月 18 日 01:47:32 Amtek in.tftpd
$$ 4777 $$:無法綁定到本地 IPv4 套接字:地址已在使用中
當您啟動 tftp 伺服器時,問題似乎是 tftp 埠 (69) 已在使用中。這可能是由於最近安裝/更新了一個新程序。
執行以下命令將幫助您確定哪個程序正在使用您機器上的 tftp 埠(69):
netstat -lnp | grep 69
-l, –listening 只顯示監聽套接字。(這些預設被省略。)
–numeric , -n 顯示數字地址,而不是嘗試確定符號主機、埠或使用者名。
-p, –program 顯示每個socket所屬的程序的PID和名稱。
注意:
| grep 69
過濾結果並將僅顯示其中包含 69 的行編輯:
正如您在問題中添加的結果
netstat -lnp
顯示,現在inetd
正在 udp/埠 69 上執行,它可能將 tftp 客戶端作為 的一部分執行inetd
,因此您不能在此埠上執行 tftpd-hpa。注意:請檢查是否
tftpd
正在執行,如果足夠好可以避免使用tftpd-hpa
你有兩個選擇:
- 移動
tftp
伺服器以使用不同的埠 這可以通過更改在埠 69 上設置 tftp 的以下行來完成:TFTP_ADDRESS=":69"
要使用其他埠,例如 6900:
TFTP_ADDRESS=":6900"
注意:使用此解決方案將需要
tftp-client
使用新的埠號
- 停止
inetd
使用 udp/69 您可以檢查文件夾中是否tftp configuration
存在inetd
文件,搜尋名稱如下的文件:
/etc/xinetd.d/tftp
或者
/etc/inetd.d/tftp