Linux下TFTP服务的安装、配置和操作

摘要:
TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。xinetd是新一代的网络守护进程服务程序,又叫超级INTERNET服务器,经常用于管理多种轻量型INTERNET服务,xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。

TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。

xinetd(eXtended InterNET services daemon)是新一代的网络守护进程服务程序,又叫超级INTERNET服务器,经常用于管理多种轻量型INTERNET服务,xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。

安装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

配置tftp服务器:

修改/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

显示结果为 udp0 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服务的安装、配置和操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇理解先验概率 后验概率 似然函数STP保护机制简述下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux ps命令详解

ps命令(全称:process status)是linux查看当前系统中进程状态的常用命令,比如我们可以通过以下命令查看当前系统所有进程信息: ps -aux 执行结果如下: 如果查看指定的进程,如java进程,可以通过管道符和grep命令进行过滤,命令如下: ps -aux|grep java 执行结果如下: ps命令详细介绍 ps命令的用法如下:...

Linux源码Kconfig文件语法分析

Kconfig是我们进行内核配置的关键文件,用于生成menuconfig的界面并生成最终确定编译选项的.config文件。关于Kconfig文件的编写规则,在Documentation/kbuild/kconfig-language.txt有详尽的叙述。这里主要用实例进行语法分析。 config 确定了条目前面是否有选项,menuconfig界面中的条目中...

浅谈 Linux 下常用 Socket 选项设置

1.Socket和TCP/IP的关系 "All problems in computer science can be solved by another level of indirection." 为满足应用层需求,系统对TCP/IP层进行细节屏蔽和抽象,Socket层就相当于TCP/IP和应用层之间的中间层。 常用的socket/bind/accep...

Linux内存管理

转载:http://www.kerneltravel.net/journal/v/mem.htm Linux内存管理 摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮...

在Linux上显示某个进程的线程的几种方式

方法一:PS 在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为的进程创建的所有线程。 1.$ ps -T -p 方法二: Top top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。 1.$...

linux系统通过ssh拉取gitee项目 设置权限

1.创建一个文件夹  空文件  2.git init  3.尝试git remote  add origin +ssh地址  提示没有权限 4.尝试git clone +ssh地址  提示没有权限 5.需要设置公钥 没设置之前  开始设置  中间连点三次空格  多出两个文件id_rsa  id_rsa.pub id_rsa是私钥,id_rs...