導航:首頁 > 編程系統 > linux安裝tftp伺服器

linux安裝tftp伺服器

發布時間:2025-01-06 22:15:57

㈠ 如何安裝linux的tftp伺服器

安裝tftp伺服器:
需要安裝xinetd、tftp、tftp-server3軟體
1、如果能上網,通過yum安裝:
sudo yum install xinetd
sudo yum install tftp
sudo yum install tptp-server
2、如果不能上網,可以直接安裝提供的rpm包:
sudo rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm
sudo rpm -ivh tftp-0.48-3.fc9.i386.rpm
sudo rpm -ivhtftp-server-0.48-3.fc9.i386.rpm
配置伺服器:
修改/etc/xinetd.d/tftp文件
disable=yes 改為 disable=no
server_args=-s /var/lib/tftpboot 改為 server_args=-s /tftpboot/ -c
修改/etc/sysconfig/selinux文件
SELINUX=disabled (系統默認是enforcing)要改成disabled
chmod 777 /tftpboot 修改/tftpboot文件夾的許可權
啟動 service xinetd restart
查看tftp服務是否開啟:
netstat -a | grep tftp
顯示結果為 udp 0 0 *:tftp *:* 表示服務已經開啟,tftp配置成功
把openwrt-ar71xx-wp543-squashfs-4M-factory.img 文件復制到目錄/tftpboot 下
在目錄/home/x(目錄名)下:
啟動tftp伺服器
sudo in.tftpd -l /tftpboot
tftp 192.168.0.26(本機的IP地址)
tftp>get a(文件名) 在伺服器上下載文件
tftp>put a(文件名) 上傳文件到伺服器上
tftp>q 退出
啟動tftp伺服器:
service tftpd-hpa stop 停止tftp伺服器
service tftpd-hpa start 開啟tftp伺服器
service tftpd-hpa stutus 查看tftp運行狀態
service tftpd-hpa restart 重啟tftp伺服器
(注意:文件傳輸後文件的許可權會發生變化)
進入TFTP操作:
connect:連接到遠程tftp伺服器
mode:文件傳輸模式
put:上傳文件
get:下載文件
quit:退出
verbose:顯示詳細的處理信息
tarce:顯示包路徑
status:顯示當前狀態信息
binary:二進制傳輸模式
ascii:ascii 傳送模式
rexmt:設置包傳輸的超時時間

timeout:設置重傳的超時時間

help:幫助信息

? :幫助信息
-g 表示下載文件 (get)

-p 表示上傳文件 (put)

-l 表示本地文件名 (local file)

-r 表示遠程主機的文件名 (remote file)

例如,要從遠程主機192.168.1.2上下載 embedexpert,則應輸入以下命令:

tftp -g -r embedexpert 192.168.1.2
出現的一些問題及原因(解決方法):
1、Transfer time out.
tftpd服務沒有啟動

2、Error code 0:Permission denied

可能是由SELinux造成的,在FC3和FC3以後的FC版本中SELinux默認的都是開啟的,現在要關掉它。
修改文件/etc/sysconfig/selinux,設定SELINUX=disabled,然後重啟電腦即可
或者 執行命令system-config-securitylevel打開「安全級別配置」對話框,將SELinux(S)選項中「強制」改為「允許」
3、Error code 1:File not found
指定的文件夾不存在;或tftpd啟動參數中沒有指定-c選項,允許上傳文件
4、Error code 2:Only absolute filenames allowed
/etc/xinetd.d/tftpd文件的設置沒設好,只需要將server_args= 改為你自己設定 的伺服器文件夾就行了
5、Error code 2:Access violation
上傳的文件要有相應的可讀寫(覆蓋)的許可權才能上傳,要對文件的許可權進行修改 chmod 777 a(文件名)

㈡ Linux怎麼安裝tftp

第一部分:TFTP開發環境搭建流程

1
第一步: 安裝tftp所需的軟體(黑色加粗字體為linux命令,下同)
搭建TFTP服務所需要安裝的軟體有tftp-hpa,tftpd-hpa以及xinetd,其中:
tftp-hpa : 是客戶端軟體; root# apt-get install tftp-hpa
tftpd-hpa : 是服務程序; root# apt-get install tftpd-hpa
xinetd : 是新一代進程守護程序。 root# apt-get install xinetd

2
第二步: 配置xinetd.conf配置文件
進入/etc目錄,首先看目錄中有沒有一個xinetd.conf文件,如果沒有則新建一個,有的話查看其內容:
root# cat xinetd.conf
看是否與下面的一致,內容如下所示:
若不一致則運行如下命令,修改為相同即可。
root# gedit xinetd.conf

3
第三步: 配置tftpd-hpa配置文件
修改tftpd-hpa配置文件的內容:
root# gedit /etc/default/tftpd-hpa
將內容修改成:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
修改成功後,如下圖所示,保存退出。

註解:TFTP_DIRECTORY="/tftpboot"表示tftp伺服器的工作目錄,用戶可根據自己的實際情況進行更改。

指定了tftp服務的工作目錄後,我們需要在相應的路徑下建立該tftp工作目錄,命令如下:
root# mkdir –p /tftpboot
修改工作目錄的許可權為777,777是最松的許可權,這樣不僅可以允許別的主機或者目標機下載,同時允許其上傳文件。命令為:
root# chmod 777 /tftpboot

4
第四步:配置tftp配置文件
進入/etc下面的xinetd.d文件夾,查看是否有一個tftp文件,如果沒有的話,就新建一個並輸入以下內容,如果有的話就查看內容是否與下面的一致,不一致則修改,內容如下:
root# gedit 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
flags =IPv4
}
修改之後,如圖所示:
其中server_args一行是配置伺服器的文件存放的位置,就是進行tftp傳輸的時候,都是從該文件夾中搜索文件的。然後保存文件,並退出編輯。

5
第五步:重新啟動TFTP
重啟tftpd-hpa,提示如下圖:
root# service tftpd-hpa restart

6
第六步:重新載入xinetd
重新載入xinetd進程,提示如下圖:
root# /etc/init.d/xinetd reload

7
第七步:重新啟動xinetd
重啟xinetd服務,提示如下圖:
root# /etc/init.d/xinetd restart
每次修改完配置文件後,都需要重新啟動一下服務。
至此,嵌入式Linux系統下搭建TFTP開發環境大功告成,下面介紹如何測試TFTP

END
第二部分:測試TFTP服務

1
第一步:新建測試文件
首先在tftp的工作目錄"/tftpboot"中新建一個文件test,在其中輸入任意內容,例如內容如下圖:

2
第二步:進入測試目錄
然後進入任意一個不同於/tftpboot的目錄(例如/opt目錄下),然後在終端中輸入如下命令,進入tftp命令符下,如下圖:
root# tftp localhost

3
第三步:獲取測試文件
輸入如下命令,再按回車,獲取存放在tftp工作目錄/tftpboot中的"test"文件。如果沒有任何提示,就說明傳輸成功了,如下圖所示:
root# get test

4
第四步:退出TFTP測試
輸入 q 退出tftp命令行,如下圖所示:

5
修改test文件後,可以在tftp命令中輸入 如下命令,把修改過的test文件上傳到伺服器文件夾中。
root# put test
其效果圖,在此不再給出,讀者可以自行測試。
END
第三部分:腳本程序自動搭建TFTP開發環境

鑒於TFTP服務的安裝過程十分繁復,且容易出錯,下面給出腳本代碼,自動安裝該服務。
新建一個空文件,將下面代碼復制,保存之後,修改文件許可權,使之具有執行許可權後,就可以自動搭建嵌入式TFTP開發環境了。
以下為腳本代碼:
#!/bin/bash
####################################################
# 搭建TFTP服務所需要安裝的軟體有tftp-hpa,tftpd-hpa以及xinetd,#
# 其中: #
# tftp-hpa : 是客戶端軟體; #
# tftpd-hpa : 是服務程序; #
# xinetd : 是新一代進程守護程序。 #
####################################################
function creat_xinetd_conf
{
echo "# 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
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d" > /tmp/xinetd.conf
}
function config_xinetd_conf
{
creat_xinetd_conf
filename=/etc/xinetd.conf
example=/tmp/xinetd.conf
test -f $filename #返回值為0,代表文件存在 返回值為1,代表文件不存在
if [ "$?" -eq 0 ];then
echo "xinetd.conf文件存在"
diff -E $example $filename
case $? in
1) #文件內容有誤
rm -rf $filename
mv -f $example $filename
echo "xinetd.conf文件內容修改成功";;
0) #文件內容正確
rm -rf $example
echo "xinetd.conf文件內容正確";;
*)
rm -rf $example
echo "未知錯誤,程序終止";;
esac
else
echo "xinetd.conf文件不存在,正在創建該文件"
mv -f $example $filename
echo "xinetd.conf文件創建成功"
fi
}
#=============================================#
function modify_tftpd_hpa
{
echo "# /etc/default/tftpd-hpa
TFTP_USERNAME=\"tftp\"
TFTP_DIRECTORY=\"/tftpboot\"
TFTP_ADDRESS=\"0.0.0.0:69\"
TFTP_OPTIONS=\"-l -c -s\"" > /tmp/tftpd-hpa
rm -rf /etc/default/tftpd-hpa
mv -f /tmp/tftpd-hpa /etc/default/tftpd-hpa
echo "tftpd_hpa 文件內容修改成功"
mkdir -p /tftpboot
chmod 777 /tftpboot
}
#=============================================#
function modify_tftp
{
echo "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
flags =IPv4
}" > /tmp/tftp
rm -rf /etc/xinetd.d/tftp
mv -f /tmp/tftp /etc/xinetd.d/tftp
echo "tftp 文件內容修改成功"
}
#=============================================#
function test_tftp
{
echo "This is a test file" > /tftpboot/TEST
cd /tmp
echo "請在終端命令行中依次鍵入\"get TEST\"以及\"quit\""
tftp localhost
cat /tmp/TEST # 返回值為0,表示成功查看指定的文件 返回值為1,表示不能正常查看指定的文件
if [ $? -eq 0 ]; then
echo "tftp 測試成功,可以正常使用"
rm -rf /tftpboot/TEST /tmp/TEST
else
echo "tftp 測試失敗,請檢查tftp配置"
rm -rf /tftpboot/TEST /tmp/TEST
fi
}
#=============================================#
function step_1 #安裝TFTP相關服務
{
apt-get update #安裝軟體之前,先升級一下資料庫,獲取軟體包的最新相關信息
apt-get install tftp-hpa #安裝TFTP服務的客戶端軟甲
apt-get install tftpd-hpa #安裝TFTP服務的伺服器端軟體
apt-get install xinetd #安裝新一代進程守護程序
}
function step_2 #配置TFTP相關服務
{
config_xinetd_conf #配置/etc/xinetd.conf文件
modify_tftpd_hpa #修改/etc/default/tftp-hpa文件
modify_tftp #安裝TFTP服務的伺服器端軟體
}function step_3 #重啟TFTP相關服務
{service tftpd-hpa restart #重新啟動tftpd-hpa
/etc/init.d/xinetd reload #重新載入xinetd服務程序
/etc/init.d/xinetd restart #重新啟動xinetd服務程序
}function step_4 #測試TFTP相關服務
{
test_tftp #測試tftp服務
}
echo "選項1 安裝TFTP相關服務"
echo "選項2 配置TFTP相關服務"
echo "選項3 重啟TFTP相關服務"
echo "選項4 測試TFTP相關服務"
echo "鍵入quit,退出TFTP安裝"
echo "請鍵入數值,執行您所需要的操作: "
read -r Step
while [ $Step != quit ]
do
while [ $Step -lt 1 -o $Step -gt 4 ]
do
echo "對不起,您輸入的選項有誤,請輸入數字1—4之間的數值!"
read -r Step
done
case "$Step" in
1)
read -p "安裝過程中出現的選項,請直接確定,不必更改,按任意鍵繼續安裝"
step_1;;
2)
step_2;;
3)
step_3;;
4)
step_4;;
*)
echo "出現致命錯誤,請檢查腳本程序!";;
esac
echo "操作已完成!"
echo "============================="
echo " "
echo " "
echo " "
echo " "
echo "選項1 安裝TFTP相關服務"
echo "選項2 配置TFTP相關服務"
echo "選項3 重啟TFTP相關服務"
echo "選項4 測試TFTP相關服務"
echo "鍵入quit,退出TFTP安裝"
echo "請鍵入數值,執行您所需要的操作: "
read -r Step
echo " "
echo " "
done
exit

閱讀全文

與linux安裝tftp伺服器相關的資料

熱點內容
neatimagepro70教程 瀏覽:584
注冊網站什麼要求 瀏覽:272
咪咕forlinux 瀏覽:965
app播客是怎麼賺錢的 瀏覽:623
uewordfiletxt 瀏覽:754
qt網路編程如何發送數據 瀏覽:362
eclipse自定義文件 瀏覽:433
ai中橢圓工具在哪裡 瀏覽:413
初高中生如何學編程 瀏覽:978
如何把3g文件發給別人 瀏覽:173
nodenodejs區別 瀏覽:824
文件報送抄送的格式 瀏覽:929
chm文件亂碼 瀏覽:234
微信收藏文件不能下載到電腦 瀏覽:602
c判斷文件格式 瀏覽:130
ps3如何轉換iso文件 瀏覽:531
allwaysync區域網教程 瀏覽:285
微信48mb文件打不開 瀏覽:210
word默認的行距和字元間距是多少 瀏覽:983
如何通過數據解決問題 瀏覽:663

友情鏈接