tftp for linux,tftp -g -r

大家好,今天来为大家分享tftp for linux的一些知识点,和tftp -g -r的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

linux的tftp

Linuxtftp命令详解Linuxtftp命令怎么用?

ftp命令用在本机和tftp服务器之间使用TFTP协议传输文件。

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

语法tftp(选项)(参数)选项-c:指定与tftp服务器连接成功后,立即要执行的指令;-m:指定文件传输模式。可以是ASCII或者Binary;-v:显示指令详细执行过程;-V:显示指令版本信息。参数

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

实例

1、安装tftp服务器

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

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

yuminstallxinetdyuminstalltftpyuminstalltftp-server

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

rpm-ivhxinetd-2.3.14-18.fc9.i386.rpmrpm-ivhtftp-0.48-3.fc9.i386.rpmrpm-ivhtftp-server-0.48-3.fc9.i386.rpm

2、配置tftp服务器

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

servicetftp{socket_type=dgramprotocol=udpwait=yesuser=rootserver=/usr/sbin/in.tftpdserver_args=-s/home/mike/tftpboot-cdisable=noper_source=11cps=1002flags=IPv4}

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

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

/etc/init.d/iptablesstop//关闭防火墙sudo/sbin/servicexinetdstart或servicexinetdrestart/etc/init.d/xinetdstart

看到启动就可以了

4、查看tftp服务是否开启

netstat-a|greptftp

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

5、tftp使用

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

tftp192.168.1.2tftp>getdownloadfile>tftp>putuploadfile>tftp>q

6、tftp命令用法如下

tftpyour-ip-address

进入TFTP操作:

connect:连接到远程tftp服务器

mode:文件传输模式

put:上传文件

get:下载文件

quit:退出

verbose:显示详细的处理信息

tarce:显示包路径

status:显示当前状态信息

binary:二进制传输模式

ascii:ascii传送模式

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

timeout:设置重传的超时时间

help:帮助信息

?:帮助信息

7、如果老是出现“AVCDenial,clickicontoview”的错误,并不能传输文件,需要作如下修改

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

8、Busybox中tftp命令的用法

命令格式为:

tftp...host

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

-g表示下载文件(get)-p表示上传文件(put)-l表示本地文件名(localfile)-r表示远程主机的文件名(remotefile)

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

tftp-g-rembedexpert192.168.1.2

用linux中做pxe安装系统的时候,出现PXE-E32:TFTPOPentimeout怎么回事?

这是对应的tftpserver没有起来,需要检查dhcp中对tftp的配置是否正确,网络是否连通,tftpserver是否运行正常。

能不能在sd卡上装linux系统?

可以实现的,你可以通过SD卡启动uboot,不过加载内核的话,可以通过tftp下载内核加载;也可以通过nand里面的内核,如果用SD卡内核是不现实的。当你uboot,kernel都启动之后,从SD卡启动系统应该很简单了。

linuxcp命令无法创建普通文件?

答方法如下

1、应该是没有配置tftp服务器,不存在/tftpboot/这个目录。如果不需要tftp服务器的话,可以忽略,也可以将拷贝内核映像。

2、要在同时拷贝多个文件,我们只需要将多个文件用空格隔开。如下示例:$cpfile_1.txtfile_2.txtfile_3.txt/home/pungki/office。

3、要拷贝一个目录的话会有点棘手。你需要添加-r或者-R选项来实现。-r或-R选项表明递归操作。无论该目录是否为空目录,这个选项都是必要的。如下示例:$cp-rdirectory_1/home/pungki/office。

需要注意的一件事,你需要移除在目录名尾部的斜杠。否则你会收到类似的错误信息cp:omittingdirectory‘directory_1/’。

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怎么使用

tftp命令用在本机和tftp服务器之间使用TFTP协议传输文件。

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

语法

tftp(选项)(参数)选项

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

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

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

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

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

实例

1、安装tftp服务器

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

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

yum

xinetd

yuminstalltftp

yuminstalltftp-server

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

rpm-ivhxinetd-2.3.14-18.fc9.i386.rpm

rpm-ivhtftp-0.48-3.fc9.i386.rpm

rpm-ivhtftp-server-0.48-3.fc9.i386.rpm

2、配置tftp服务器

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

tftp

{

socket_type=dgram

protocol=udp

=yes

user=root

server=/usr/sbin/in.tftpd

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

disable=no

per_source=11

cps=1002

flags=IPv4

}

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

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

/etc/

.d/

stop//关闭防火墙

/sbin/servicexinetdstart

servicexinetdrestart

/etc/init.d/xinetdstart

看到启动[OK]就可以了

4、查看tftp服务是否开启

-a|

tftp

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

5、tftp使用

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

tftp192.168.1.2

tftp>get<download

>

tftp>put<uploadfile>

tftp>q

6、tftp命令用法如下

tftpyour-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]...

[port]

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

-g表示

载文件(get)

-p表示上传文件(put)

-l表示本地文件名(localfile)

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

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

tftp-g-rembedexpert192.168.1.2

阅读剩余
THE END