一 : ubuntu12.04安装tftp、配置tftp服务错误的解决方法
但是配置了,我的老是出现Error code 1: File not found错误,经过探索,tftpd-hpa 是一个功能增强的TFTP服务器。它提供了很多TFTP的增强功能,它已经被移植到大多数的现代UNIX系统
1、sudo apt-get install tftp-hpa tftpd-hpa xinetd
2、建立配置文件
sudo vi /etc/xinetd.d/tftp
新建文件tftp
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
}
3、建立tftp服务文件目录
mkdir /tftpboot
修改权限:sudo chmod 777 /tftpboot -R
4、重新启动服务。
(www.61k.com”当配置好tftp的配置文件后,需要重新启动一下xinetd;在终端中输入 sudo /etc/init.d/xinetd reload,重新加载一下进程;再输入 sudo /etc/init.d/xinetd restart,重启服务。
记住,每次修改完配置文件后,都需要重新启动一下服务。
5、安装完成!测试方法:
在/tftpboot 目录下随便放个文件abc
然后 登录另一个目录 运行tftp 192.168.123.202 //换成你的IP
进入tftp命令行
输入get abc 看看是不是能把文件下下来,如果可以就可以了,也可以put 文件上去。
如果出现Error code 1: File not found 解决办法:
sudo vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot " //改成你想要的那个tftpboot
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s" //这里是选项
然后记得重启服务, sudo /etc/init.d/xinetd restart
如果还是上面的错误,把文件复制到 /var/lib/tftpboot ,再试下,如果成功,则要重启系统使上面的配置生效。
以后就可以用你改的那个tftpboot了。
终于配置出来了,记录如下:
1:安装服务,共3个服务
1 sudo apt-get install tftp-hpa tftpd-hpa xinetd
2:新建配置文件 /etc/xinetd.d/tftp
1 sudo vim /etc/xinetd.d/tftp
注意:如果不是root用户,则加sudo,否则系统不允许tftp,出现错误
"/etc/xinetd.d/tftp" E212: Can't open file for writing
修改/etc/xinetd.d/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
}
注意:第九行中
server_args = -s /tftpboot -c
-c参数是允许上传用的,参数/tftpboot则是你的tftp目录,修改成你的目录即可,但是笔者建议在根目录下,方便
3:修改配置文件/etc/default/tftpd-hpa
1 sudo vim /etc/default/tftpd-hpa
修改为:
1 # /etc/default/tftpd-hpa
2 TFTP_USERNAME="tftp"
3 TFTP_DIRECTORY="/tftpboot " //改成你想要的那个tftpboot
4 TFTP_ADDRESS="0.0.0.0:69"
5 TFTP_OPTIONS="-l -c -s" //这里是选项
4:在根目录下新建tftpboot目录,并修改权限
1 mkdir /tftpboot
2 sudo chmod 777 -R /tftpboot
5:在/tftpboot中新建一个测试文件test
1 touch test
6:【重要】重启服务,修改配置文件的任何地方都要重启服务
1 sudo /etc/init.d/xinetd reload
2 sudo /etc/init.d/xinetd restart
7:测试服务tftp是否启动
netstat -a|grep tftp
显示 :
udp 0 0 *:tftp *:*
则启动服务了
8:测试tftp
进入另一个目录【不是/tftpboot目录,比如用户jyg目录】
cd /home/jyg
测试如图:
9:出现错误:
【错误】Error code 0: Permission denied,是因为tftpboot文件夹没有权限,或者是要上传和下载的文件没有权限。
【解决】修改权限
sudo chmod 777 -R /tftpboot
【错误】Error code 1: File not found,原因1:指定的文件不存在;原因2:tftpd启动参数中没有指定-c选项;原因3:目录有问题,因为安装的时候默认的tftp目录是【/var/lib/tftpboot】,您可以把test文件放在这个目录中重新测试一下,如果正确说明猜想是正确的。
【解决】原因1和原因2都好解决,这里只解决原因3:重启服务或者重启系统
二 : nslookup两种错误解决方法
1:nslookup dns request timed out
原理:
当Nslookup的开始,它试图解决其主机的DNS服务器的IP地址其完全合格的域名称(FQDN)。如果DNS服务器没有响应,或者如果DNS服务器的反向搜索区域不包含一个DNS服务器的IP地址的PTR记录,显示错误消息。
所以解决办法是:
1.检查dns的正向区域中dns的fqdn名称是否正常
2.检查反向区域的ptr
在反向查找区域中新建区域,产生这错误的原因是没PTR指针
2:
默认服务器:unknown
同样问题出在prt指针上,在正向查找区域内对应的A记录,右键,属性,勾选更新相关的指针记录。
本文出自 “新的期待新的目标” 博客
三 : 出现"eh.h is only for C++!"错误的解决方法
注意:vc在处理.c 文件是按C 语言编译的,所以
假如有以下文件: 1.c
#include <fstream>
int main(int argc, char* argv[])
{
return 0;
}
那么编译时就会出错:
fatal error C1189: #error : "eh.h is only for C++!"
这是因为fstream标准库要求用到eh.h文件,而Exception Handling的实现需要c++支持。
修改方法有两种:
1. 只要把1.c改成1.cpp即可,
2. 或者使用老式库fstream.h代替,修改如下:
#include "fstream.h"
int main(int argc, char* argv[])
{
return 0;
}
也可以。
但是第2种方法在你用到stlport的stl代替vc的stl的情况下编译时,
会出现同样的错误:
fatal error C1189: #error : "eh.h is only for C++!"
这是因为stlport实现的fstream.h同样需要c++支持。
摘自 这个社会只认钱
61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1