Ubuntu 10.04 下的tftp服務器搭建。(完美解決本機測試tftp localhost出現:tansfer:timed out)見文章末尾註意點
上面這段話是抄的。
Filename 'zImage'.
Load address: 0x30008000
Loading: T T T T T T T T T T
Retry count exceeded; starting again
可悲的是,開始我不知道是Tftp的毛病,我看着上面提示覺得tftp已經啓動,沒啓動的是nfs,於是我開始排查nfs,查了無數資料,找了不少網上給出的毛病總結,用了很多方式都證明nfs是好的。那麼nfs是好的,那就是文件系統分有問題?反正busybox做文件系統也不是很煩,於是重做,仍然沒用。查了大量資料發現說,nfs還要求客戶端支持,即內核要支持,奇怪,我能用那陣也沒動過內核什麼特殊配置啊,即使找到相關配置,發現人家也是默認選上的。 那麼我又想會不會是更新管理器(阿彌陀佛,思路終於從nfs轉移開了)更新了什麼不穩定的東西,這是很可能的哦。發帖子一問,果然有哥麼提示說有可能更新了什麼不穩定的東西,於是我把系統重裝了一遍~~~當然還是不管。網絡就是好啊,能查到大量資料,我查到說ubuntu的network優先無線服務,會把tftp和nfs端口給搶了。我看到這裏一拍大腿,哎呀,可不就是嘛!我在家用無線上網,有線接板子,用哪個的時候把哪個網卡開開就好了。回到學校只能用有線,但是開機network以後一直 搜索無線服務,我把有線配置好了它都不管,無線搜索(我周圍無線貓還特別多,NND)到了要密碼,沒有密碼就直接顯示沒有網絡連接,最後右擊把“啓用無線”去掉纔好上網。想起這一節我幾乎激動起來,再看看這哥麼的解決方案,說“根本方法是到windows下殺死無線驅動進程”,翻了翻手頭的書,介紹說ubuntu的無線驅動是把windows下驅動程序轉換成linux能識別的,我琢磨把windows下無線驅動禁掉看看,系統切換禁掉,回頭ubuntu開機來看,狗日的無線扇形標記還是歡快的亮着呢,一狠心,跑到windows下把無線驅動卸掉,再重啓進來看,人家還閃着呢,於是我的臉綠了第七十八回。仔細想想,ubuntu可能已經“翻譯並保存了”無線驅動,所以這樣幹事不行的。那能開機優先啓動會擠佔端口,那麼讓他開機不啓動呢。一查,果然有!而且大把大把的有!於是我又激動了。添加個開機應用程序,把一坨代碼敲入,然後開機一看,果然!“啓用無線”被自動勾掉了!那趕快啓動板子看看,哇哈哈哈.......沒等我繼續哈的時候,kermit把之前的提示很無情的重複出來了........那麼!又胡思亂想自己瞎猜疑起來。結果是顯而易見的。
sudo apt-get install tftpd-hpa tftp-hpa
2.配置
tftp-hpa 的配置文件為 /etc/default/tftpd-hpa
sudo gedit /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot" //這裏是你的tftpd-hpa的服務目錄
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s" //這裏是選項
注意:如果是在10.04以下的版本用下面的配置
tftp-hpa 的配置文件爲 /etc/default/tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -c -s /tftpboot"
3.啓動服務
sudo service tftpd-hpa restart
4.test測試
cd /tftpboot
vim test.txt //隨便輸入一些東西
cd ~/
tftp localhost
get test.txt
最後看看當前目錄有test.txt的文件不?
同理!把當前目錄下的一個文件put xxxx.???,在去看看/tftpboot目錄有xxxx.??這個文件不?
//tftp命令
rftp退出:quit(q)
----------------------------------------------------------------------
顯而易見,上面這些步驟是轉來的。
但是結合我的實際經驗,還有幾個可能要注意 的地方
1.無線網絡的干擾
見我這篇blog: http://blog.csdn.net/c05170519/archive/2011/02/25/6206717.aspx.
2.刪除之前配置文件
以前的配置文件(就是安裝舊的步驟生成到的)也刪除,比如(/etc/xinet.d/tftp)造成什麼影響不清楚,
但是我是刪了它纔行的,而且它本就是垃圾了。
3.本機測試tftp localhost出現:tansfer:timed out
我在網上沒找到實際操作步驟,很多人只是說tftp服務沒啓動,但是有可能我們restart()無數遍也沒用,
而且查看狀態明明是啓動的:
linux@ubuntu:~$ sudo service tftpd-hpa status
tftpd-hpa start/running, process 1287
但是如果啓動板子可能會成功哦 。網上也沒個說法。但是我反覆實驗發現:把tftp localhost改成迴環的
tftp 127.0.0.1或者你現在的IP地址:tftp 10.1.13.111 就可以了。不僅get file成功,put file也不需要別人
說的先要在目標文件夾下建個同名0字節文件,直接就傳過去了。
當然,本文中提到的其他注意點最好也要排除,如果這些前提問題不排除,就有可能是tftp本身的問題。
4. tftp目錄的權限和所有者
權限 sudo chmod -R 777 /tftpboot 一定要設定,-R是遞歸把文件下所有文件都改掉
所有者sudo chown linux(非根用戶) /tftpboot 貌似不要改,我在成功後改成root用戶也可以
最後留下我的QQ:745826722 歡迎騷擾!