1. 程式人生 > >小熊安卓學習總結:ubuntu 10.04下的配置tftp伺服器

小熊安卓學習總結:ubuntu 10.04下的配置tftp伺服器

第1步:
安裝tftp所需的軟體。首先需要安裝tftp-hpa,tftpd-hpa,前者是客戶端,後者是服務程式,在終端下輸入 sudo apt-get install tftp-hpa tftpd-hpa,安裝tftp-hpa和tftpd-hpa。然後還需要安裝xinetd,在終端下輸入 sudo apt-get install xinetd,安裝好xinetd。

第2步: 
配置相關服務檔案。進入根目錄下的etc資料夾(cd /etc/),首先看目錄中有沒有一個xinetd.conf檔案,如果沒有則新建一個,有的話檢視內容,看是否與下面的一致,若不一致則修改,內容如下:
# Simple configuration file for xinetd 


# Some defaults, and include /etc/xinetd.d/ 
defaults 

# Please note that you need a log_type line to be able to use log_on_success ont-size: 12pt; "> # log_type = SYSLOG daemon info 

includedir /etc/xinetd.d 

第3步:
配置tftp伺服器
命令:
sudo vim /etc/default/tftpd-hpa
將內容修改成
# /etc/default/tftpd-hpa 
TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/tftpboot" 
#這是你tftp伺服器的工作目錄,自行修改,注意,在新建工作目錄時,最好修改其許可權為777,命令sudo chmod 777 /tftpboot
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s" 

第4步:
然後進入xinetd.d資料夾(cd xinetd.d),檢視是否有一個tftp檔案,如果沒有就新建一個,如果有的話就檢視內容是否與下面的一致,不一致則修改,內容如下:
service tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp

server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}
其中server_args一行是配置伺服器的檔案存放的位置,就是進行tftp傳輸的時候,都是從該資料夾中搜索檔案的

第5步:
修改所需資料夾的許可權。需要修改的資料夾也就是上一步提到的那個伺服器檔案存放的資料夾,以我的配置檔案為例,建立一個資料夾(sudo mkdir /tftpboot),然後把它可以設定成訪問許可權最寬鬆的(sudo chmod 777 /tftpboot),也可以設定成合適的許可權。

第6步:
重新啟動服務。sudo service tftpd-hpa restart,這也是我經常疏忽的一步,當配置好tftp的配置檔案後,需要重新啟動一下xinetd,在終端中輸入 sudo /etc/init.d/xinetd reload,重新載入一下程序,再輸入 sudo /etc/init.d/xinetd restart,重啟服務。記住,每次修改完配置檔案後,都需要重新啟動一下服務。
執行次序:
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart

總結:
通過以上四步就可以建立好tftp伺服器了,可以在本地先進行一下測試。還是以我的配置檔案為例,首先在/tftpboot中新建一個檔案file,然後在其中隨便輸入內容;然後進入一個不是/tftpboot的目錄下(原因是避免混淆,因為在獲取檔案是,預設是將想要獲取的檔案存放在當前目錄下的);再在終端中輸入 sudo tftp localhost,進入tftp命令符下(可以在其中輸入help檢視命令和命令的作用),輸入 get file,如果沒有任何提示,就說明傳輸成功了,然後輸入 q 退出tftp命令符,在當前目錄下就可以看到一個file檔案,內容是與開始新建的那個file的內容是一致的。同樣也可以在tftp命令符中輸入 put xx,把xx檔案上傳到伺服器資料夾中。如果一切ok,那就麼一個可用的tftp伺服器就順利搭建成功了。

對於上面的測試是針對本地測試的,如果想要對其他電腦或者開發板進行tftp傳輸,則在終端輸入 sudo tftp xxx(即目標電腦或目標開發板的ip地址),而且還要關閉ubuntu自帶的防火牆(書上說的),我是直接把防火牆給解除安裝了(sudo apt-get remove iptables),因為我覺得對於Linux來說,防火牆可能沒什麼需要把,至少目前為止我還沒有受到過攻擊。。。當然,想要與其他區域網內的電腦或開發板互聯進行傳輸,還要將這些機器的ip改到同一個段內。好了,通過以上的步驟,就可以通過tftp協議,在電腦和開發板之間進行檔案傳輸了,目前的目的就是下載Linux核心和檔案系統到開發板。如果有朋友發現了我的不足,都可以給我提出來,我們也可以進行討論。不過還要強調一點,我的這些配置都是針對於ubuntu的,對於其他的系統可能會有所出入的。

http://blog.csdn.net/xiaoxiongli/article/details/49682619

http://blog.csdn.net/xiaoxiongli/

http://www.414320.com