linux tftp命令详解

linux tftp命令详解,第1张

tftp命令是linux下的一个命令,那么它的具体语法是怎样的呢?下面由我为大家整理了linux tftp命令的相关知识,希望对大家有帮助!

1.linux tftp命令语法

tftp(选项)(参数)

2.linux tftp命令选项

-c:指定与tftp服务器连接成功后,立即要执行的指令

-m:指定文件传输模式。可以是ASCII或者Binary

-v:显示指令详细执行过程

-V:显示指令版本信息。

3.linux tftp命令参数

主机:指定tftp要联机的tftp服务器的ip地址或主机名。

4.linux tftp命令实例

1、安装tftp服务器

需要安装xinetd、tftp和tftp-server 3个软件

如果能上网,通过yum安装:

yum install xinetd

yum install tftp

yum install tftp-server

如果不能上网,可以直接安装提供的rpm包:

rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm

rpm -ivh tftp-0.48-3.fc9.i386.rpm

rpm -ivh tftp-server-0.48-3.fc9.i386.rpm

2、配置tftp服务器

修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:

service tftp {

socket_type =dgram

protocol =udp

wait =yes

user =root

server =/usr/sbin/in.tftpd

server_args =-s /home/mike/tftpboot -c

disable =no

per_source =11

cps =100 2

flags =IPv4

}

说明:修改项server_args= -s -c,其中处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。

3、启动tftp服务器并关闭防火墙

/etc/init.d/iptables stop //关闭防火墙

sudo /sbin/service xinetd start

service xinetd restart

/etc/init.d/xinetd start

看到启动[OK]就可以了

4、查看tftp服务是否开启

netstat -a | grep tftp

显示结果为udp 0 0 *:tftp *:*表明服务已经开启,就表明tftp配置成功了。

5、tftp使用

复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。

tftp 192.168.1.2

tftp>get

tftp>put

tftp>q

6、tftp命令用法如下

tftp your-ip-address

进入TFTP *** 作:

connect:连接到远程tftp服务器

mode:文件传输模式

put:上传文件

get:下载文件

quit:退出

verbose:显示详细的处理信息

tarce:显示包路径

status:显示当前状态信息

binary:二进制传输模式

ascii:ascii 传送模式

rexmt:设置包传输的超时时间

timeout:设置重传的超时时间

help:帮助信息

? :帮助信息

7、如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件,需要作如下修改

修改/etc/sysconfig/selinux,将SELINUX设定为disable,使用命令setenforce 0让selinux配置文件生效。

8、Busybox中tftp命令的用法

命令格式为:

tftp [option] ... host [port]

如果要下载或上传文件的话是一定要用这些option的。

-g 表示下载文件 (get)

-p 表示上传文件 (put)

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

-r 表示远程主机的文件名 (remote file)

例如,要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令

tftp -g -r embedexpert 192.168.1.2

在本文中,让我们讨论如何设置 tftpboot,包括安装必要的软件包,以及 tftpboot 配置。

TFTP 引导服务主要用于在您没有物理访问权限的远程计算机上执行 *** 作系统安装。为了成功执行 *** 作系统安装,应该有一种重新启动远程服务器的方法 - 使用wakeonlan或手动重新启动它或其他方式。

在这些情况下,您可以相应地设置 tftpboot 服务,并且可以远程完成 *** 作系统安装(您需要拥有 autoyast 配置文件来自动执行 *** 作系统安装步骤)。

本文介绍了 64 位架构中的 SLES10-SP3 的分步过程。但是,这些步骤与任何其他 Linux 发行版非常相似。

需要为 tftpboot 设置安装以下软件包。

安装 dhcp 服务器服务的软件包:

安装 syslinux 包后,会在 /usr/share/pxelinux/ 目录下创建 pxelinux.0 文件。这是在客户端机器上加载安装内核和 initrd 映像所必需的。

验证软件包是否已成功安装。

从您各自的 Linux 发行版的存储库中下载适当的 tftpserver。

在根目录( / )下创建 tftpboot 目录,如下所示。

安装 syslinux 软件包后,PXE Linux 映像将可用。将其复制到 /tftpboot 路径,如下所示。

让我们假设我们要在远程服务器上安装 SLES10 SP3 Linux 发行版。如果您有 SUSE10-SP3 DVD,请将其插入驱动器或安装您拥有的 ISO 映像。在这里,iso 映像已按如下方式挂载:

请参阅我们之前关于如何挂载和查看 ISO 文件的文章。

将 initrd 复制到 tftpboot 目录,如下所示。

在 /tftpboot 下创建目录 pxelinux.cfg 并为客户端定义 pxe 引导定义。

以下选项用于,

根据上面的条目,nfs 安装模式用于提供安装 RPM 和配置文件。因此,在导出列表中使用 /tftpboot 目录在这台机器上设置 nfs。您可以在 autoyast 配置文件中添加“autoyast”选项以自动执行 *** 作系统安装步骤,否则您需要手动运行安装步骤。

将nobody:nobody 分配给/tftpboot 目录。

修改 /etc/dhcpd.conf 如下所示。

在 /etc/syslinux/dhcpd 中指定接口以侦听来自客户端的 dhcp 请求。

在这里,这台机器在 eth1 设备上的 ip 地址为 192.168.1.101。因此,如上所示,为 DHCPD_INTERFACE 指定 eth1。

修改 /etc/xinetd.d/tftp 文件以反映以下内容。默认情况下,禁用参数的值为“yes”,请确保将其修改为“no”,并且需要将 server_args 条目更改为 -s /tftpboot。

无需修改 etc/xinetd.conf 文件。使用 xinetd.conf 文件中指定的默认值。

重新启动这些服务,如下所示。

重启nfs服务后,可以通过以下命令查看导出的目录列表(/tftpboot),

最后,tftpboot 设置已准备就绪,现在可以在 BIOS 设置中将第一个引导设备更改为“网络”后引导客户端计算机。

如果您遇到任何 tftp 错误,您可以通过 tftpd 服务检索一些文件来进行故障排除。

从 tftpserver 检索一些文件以确保 tftp 服务使用 tftp 客户端正常工作。让我们假设 sample.txt 文件存在于 /tftpboot 目录下。

安装tftp服务器:需要安装xinetd、tftp、tftp-server3软件1、如果能上网,通过yum安装:sudo yum install xinetdsudo yum install tftpsudo yum install tptp-server 2、如果不能上网,可以直接安装提供的rpm包:sudo rpm -ivh xinetd-2.3.14-18.fc9.i386.rpmsudo rpm -ivh tftp-0.48-3.fc9.i386.rpmsudo rpm -ivhtftp-server-0.48-3.fc9.i386.rpm配置tftp服务器:修改/etc/xinetd.d/tftp文件disable=yes 改为 disable=noserver_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 /tftpboottftp 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(文件名)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8312733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存