研究了半天的 tftp,老是冒出这个鬼东西 Error code 2: Access violation的错误.
查了各种答案,都是说不对,我chmod 都快加到888了
最后还是被我搞成功啦~~~~~~
首先想要碰见这个问题的前提是安装正确。
sudo apt-get install tftpd tftp xinetd
在/etc/xinetd.d/下建立一个配置文件tftp
sudo vi /etc/xinetd.d/tftp
内容如下
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot //这里写的是 ubuntu的tfpt目录位置 , 当前的在根目录下。
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
在上面的配置中有server_args = -s /tftpboot,其中/tftpboot这个目录就是上传文件与下载文件的位置。
sudo mkdir /tftpboot --在根目录下 创建/tftpboot目录
sudo chmod 777 /tftpboot -R --设置权限为777
sudo /etc/init.d/xinetd restart --重启tftp服务器
sudo netstat -a | grep tftp --查看是否启动成功,可以看到udp 0 0 *:tftp *:*
可我的比较特别
udp6 0 0 *:tftp 【】:*
但依旧是安装正确的。
然后再 安装这个东西
apt-get install inetutils-inetd
据说是tftp服务器的什么服务管理
接下来
我在开发板里面 输入 tftp 192.168.1.205 -g -r abc
// 192.168.1.205 是我ubuntu地址
-g 代表下载
-r 代表远程文件下载
abc 是我在虚拟机tftp里面的所放置的测试文件
[root@GEC210 /]tftp 192.168.1.205 -p -r abc
遇到这个问题 tftp: server error: (2) Access violatio
1:先要确认tftp配置文件 的目录对不对 //sudo vi /etc/xinetd.d/tftp 里面的 server_args = -s /tftpboot //(现在我tftp共享目录,设置在根目录)
2:在配置文件里面 设置路径,还要创建对应目录的。
3:然后对共享目录进行授权
chmod 777 /tftpboot:
4:在 虚拟机 /tftpboot 里面我们创建一个文件,随便写一些东西进去
touch abc
gedit abc
并且授权
chmod 766 abc
5:在开发板哪里打
[root@GEC210 /]tftp 192.168.1.205 -g -r abc
tftp: server error: (2) Access violatio
6:还是这个问题,那么我们就在开发板的当前目录里
touch abc//创建一个同名文件//跟我们要下载的文件同名再次对他授权
chmod 766 abc
7:再一次 [root@GEC210 /]tftp 192.168.1.205 -g -r abc
8:成功了~~~~//成功是没有任何显示的。只能在虚拟机哪里cat一下文件 看看是不是自己的东西。
第一次 失败了~~~
[root@GEC210 /]tftp 192.168.1.205 -p -r abc
abc 0% | | 0 - stalled -
tftp: timeout
再来一次 成功上传 ~~~~
[root@GEC210 /]tftp 192.168.1.205 -p -r abc
abc 100% |*******************************| 16 0:00:00 ETA