ubuntu12.04安裝tftp、配置tftp服務錯誤的解決方法

在配置配置tftp服務過程中出現Error code 1: File not found錯誤,經過探索,tftpd-hpa 是一個功能增強的TFTP服務器,具體的解決方法如下,

感興趣的朋友可以參考下哈

但是配置了,我的老是出現Error code 1: File not found錯誤,經過探索,

tftpd-hpa 是一個功能增強的TFTP服務器。它提供了很多TFTP的增強功能,它已經被移植到大多數的現代UNIX系統

1、sudo apt-get install tftp-hpa tftpd-hpa xinetd

2、建立配置文件

sudo vi /etc/xinetd.d/tftp

新建文件tftp

tftp內容:

代碼如下:

service tftp
  {
  disable = no
  socket_type = dgram
  protocol = udp
  wait = yes
  user = root
  server = /usr/sbin/in.tftpd
  server_args = -s /tftpboot -c
  per_source = 11
  cps = 100 2
  }

3、建立tftp服務文件目錄

mkdir /tftpboot

修改權限:sudo chmod 777 /tftpboot -R

4、重新啓動服務。

當配置好tftp的配置文件後,需要重新啓動一下xinetd;在終端中輸入 sudo /etc/init.d/xinetd reload,重新加載一下進程;再輸入 sudo /etc/init.d/xinetd restart,重啓服務。

記住,每次修改完配置文件後,都需要重新啓動一下服務。

5、安裝完成!測試方法:

在/tftpboot 目錄下隨便放個文件abc

然後 登錄另一個目錄 運行tftp 192.168.123.202 //換成你的IP

進入tftp命令行

輸入get abc 看看是不是能把文件下下來,如果可以就可以了,也可以put 文件上去。

如果出現Error code 1: File not found 解決辦法:

sudo vi /etc/default/tftpd-hpa

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/var/lib/tftpboot " //改成你想要的那個tftpboot

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -c -s" //這裏是選項

然後記得重啓服務, sudo /etc/init.d/xinetd restart

如果還是上面的錯誤,把文件複製到 /var/lib/tftpboot ,再試下,如果成功,則要重啓系統使上面的配置生效。

以後就可以用你改的那個tftpboot了。

終於配置出來了,記錄如下:

1:安裝服務,共3個服務

1 sudo apt-get install tftp-hpa tftpd-hpa xinetd

2:新建配置文件 /etc/xinetd.d/tftp

1 sudo vim /etc/xinetd.d/tftp

注意:如果不是root用戶,則加sudo,否則系統不允許tftp,出現錯誤

"/etc/xinetd.d/tftp" E212: Can't open file for writing

修改/etc/xinetd.d/tftp內容爲:


代碼如下:

service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -c
per_source = 11
cps = 100 2
}

注意:第九行中

server_args = -s /tftpboot -c

-c參數是允許上傳用的,參數/tftpboot則是你的tftp目錄,修改成你的目錄即可,但是筆者建議在根目錄下,方便

3:修改配置文件/etc/default/tftpd-hpa

1 sudo vim /etc/default/tftpd-hpa

修改爲:

1 # /etc/default/tftpd-hpa

2 TFTP_USERNAME="tftp"

3 TFTP_DIRECTORY="/tftpboot " //改成你想要的那個tftpboot

4 TFTP_ADDRESS="0.0.0.0:69"

5 TFTP_OPTIONS="-l -c -s" //這裏是選項

4:在根目錄下新建tftpboot目錄,並修改權限

1 mkdir /tftpboot

2 sudo chmod 777 -R /tftpboot

5:在/tftpboot中新建一個測試文件test

1 touch test

6:【重要】重啓服務,修改配置文件的任何地方都要重啓服務

1 sudo /etc/init.d/xinetd reload

2 sudo /etc/init.d/xinetd restart

7:測試服務tftp是否啓動

netstat -a|grep tftp

顯示 :

udp 0 0 *:tftp *:*

則啓動服務了

8:測試tftp

進入另一個目錄【不是/tftpboot目錄,比如用戶jyg目錄】

cd /home/jyg

測試如圖:

ubuntu12.04安裝tftp、配置tftp服務錯誤

9:出現錯誤:

【錯誤】Error code 0: Permission denied,是因爲tftpboot文件夾沒有權限,或者是要上傳和下載的文件沒有權限。

【解決】修改權限

sudo chmod 777 -R /tftpboot

【錯誤】Error code 1: File not found,原因1:指定的文件不存在;原因2:tftpd啓動參數中沒有指定-c選項;原因3:目錄有問題,因爲安裝的時候默認的tftp目錄是【/var/lib/tftpboot】,您可以把test文件放在這個目錄中重新測試一下,如果正確說明猜想是正確的。

【解決】原因1和原因2都好解決,這裏只解決原因3:重啓服務或者重啓系統


發佈了29 篇原創文章 · 獲贊 19 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章