UNPKG

3.95 kBMarkdownView Raw
1tftp
2===
3
4在本机和tftp服务器之间使用TFTP协议传输文件
5
6## 补充说明
7
8**tftp命令** 用在本机和tftp服务器之间使用TFTP协议传输文件。
9
10TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。
11
12### 语法
13
14```shell
15tftp(选项)(参数)
16```
17
18### 选项
19
20```shell
21-c:指定与tftp服务器连接成功后,立即要执行的指令;
22-m:指定文件传输模式。可以是ASCII或者Binary;
23-v:显示指令详细执行过程;
24-V:显示指令版本信息。
25```
26
27### 参数
28
29主机:指定tftp要联机的tftp服务器的ip地址或主机名。
30
31### 实例
32
33 **1、安装tftp服务器**
34
35需要安装xinetd、tftp和tftp-server 3个软件
36
37如果能上网,通过yum安装:
38
39```shell
40yum install xinetd
41yum install tftp
42yum install tftp-server
43```
44
45如果不能上网,可以直接安装提供的rpm包:
46
47```shell
48rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm
49rpm -ivh tftp-0.48-3.fc9.i386.rpm
50rpm -ivh tftp-server-0.48-3.fc9.i386.rpm
51```
52
53 **2、配置tftp服务器**
54
55修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
56
57```shell
58service tftp
59{
60 socket_type =dgram
61 protocol =udp
62 wait =yes
63 user =root
64 server =/usr/sbin/in.tftpd
65 server_args =-s /home/mike/tftpboot -c
66 disable =no
67 per_source =11
68 cps =100 2
69 flags =IPv4
70}
71```
72
73说明:修改项`server_args= -s <path> -c`,其中<path>处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。
74
75 **3、启动tftp服务器并关闭防火墙**
76
77```shell
78/etc/init.d/iptables stop # 关闭防火墙
79sudo /sbin/service xinetd start
80
81service xinetd restart
82/etc/init.d/xinetd start
83```
84
85看到启动[OK]就可以了
86
874、查看tftp服务是否开启
88
89```shell
90netstat -a | grep tftp
91```
92
93显示结果为`udp 0 0 *:tftp *:*`表明服务已经开启,就表明tftp配置成功了。
94
95 **5、tftp使用**
96
97复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。
98
99```shell
100tftp 192.168.1.2
101tftp>get <download file>
102
103tftp>put <upload file>
104tftp>q
105```
106
107 **6、tftp命令用法如下**
108
109```shell
110tftp your-ip-address
111```
112
113进入TFTP操作:
114
115* connect:连接到远程tftp服务器
116* mode:文件传输模式
117* put:上传文件
118* get:下载文件
119* quit:退出
120* verbose:显示详细的处理信息
121* tarce:显示包路径
122* status:显示当前状态信息
123* binary:二进制传输模式
124* ascii:ascii 传送模式
125* rexmt:设置包传输的超时时间
126* timeout:设置重传的超时时间
127* help:帮助信息
128* ? :帮助信息
129
130 **7、如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件,需要作如下修改**
131
132修改`/etc/sysconfig/selinux`,将SELINUX设定为disable,使用命令`setenforce 0`让selinux配置文件生效。
133
134 **8、Busybox中tftp命令的用法**
135
136命令格式为:
137
138```shell
139tftp [option] ... host [port]
140```
141
142如果要下载或上传文件的话是一定要用这些option的。
143
144```shell
145-g 表示下载文件 (get)
146-p 表示上传文件 (put)
147-l 表示本地文件名 (local file)
148-r 表示远程主机的文件名 (remote file)
149```
150
151例如,要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令
152
153```shell
154tftp -g -r embedexpert 192.168.1.2
155```
156
157