Chinaunix首页 | 论坛 | 博客
  • 博客访问: 55194
  • 博文数量: 23
  • 博客积分: 1598
  • 博客等级: 上尉
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-27 10:26
文章分类

全部博文(23)

文章存档

2011年(2)

2010年(21)

我的朋友

分类: LINUX

2010-09-03 15:30:15

  一、安装tftp所需的软件。首先需要安装tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,有些网站上说是安装tftp和tftpd,我实验了一下,至少在我这是没有实现后面的tftp传输的,而tftp-hpa与tftp是冲突的,tftpd-hpa与tftpd是冲突的,而带有-hpa的这两个是最新的,所以我就安装了这两个。在终端下输入 sudo apt-get install tftp-hpa tftpd-hpa,安装tftp-hpa和tftpd-hpa。然后还需要安装xinetd,按照网上的说法,这是一个守护进程,用于处理对各种服务的请求,在终端下输入 sudo apt-get install xinetd,安装好xinetd。

      二、配置相关服务文件。进入根目录下的etc文件夹(cd /etc/),首先看目录中有没有一个xinetd.conf文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则修改,内容如下:

  1. # Simple configuration file for xinetd  
  2. #  
  3. # Some defaults, and include /etc/xinetd.d/  
  4. defaults  
  5. {  
  6. # Please note that you need a log_type line to be able to use log_on_success  
  7. # and log_on_failure. The default is the following :  
  8. # log_type = SYSLOG daemon info  
  9. }  
  10. includedir /etc/xinetd.d  
 

然后进入xinetd.d文件夹(cd xinetd.d),查看是否有一个tftp文件,如果没有就新建一个,如果有的话就查看内容是否与下面的一致,不一致则修改,内容如下:

  1. service tftp  
  2. {  
  3. socket_type = dgram  
  4. wait = yes  
  5. disable = no  
  6. user = root  
  7. protocol = udp  
  8. server = /usr/sbin/in.tftpd  
  9. server_args = -s /home/tftpboot  
  10. log_on_success += PID HOST DURATION  
  11. log_on_failure += HOST  
  12. }  
 

其中server_args一行是配置服务器的文件存放的位置,就是进行tftp传输的时候,都是从该文件夹中搜索文件的,上文中的/home/tftpboot是我自己设置的,你也可以设置成任意的地方。

      三、修改所需文件夹的权限。需要修改的文件夹也就是上一步提到的那个服务器文件存放的文件夹,以我的配置文件为例,在/home下创建一个文件夹(sudo mkdir /home/tftpboot),然后把它可以设置成访问权限最宽松的(sudo chmod 777 /home/tftpboot),也可以设置成合适的权限。

      四、重新启动服务。这也是我经常疏忽的一步,当配置好tftp的配置文件后,需要重新启动一下xinetd,在终端中输入 sudo /etc/init.d/xinetd reload,重新加载一下进程,再输入 sudo /etc/init.d/xinetd restart,重启服务。记住,每次修改完配置文件后,都需要重新启动一下服务。

      通过以上四步就可以建立好tftp服务器了,可以在本地先进行一下测试。还是以我的配置文件为例,

首先在/home/tftpboot中新建一个文件file,然后在其中随便输入内容;然后进入一个不是/home/tftpboot的目录下(原因是避免混淆,因为在获取文件是,默认是将想要获取的文件存放在当前目录下的);

再在终端中输入 sudo tftp localhost,进入tftp命令符下(可以在其中输入help查看命令和命令的作用),输入 get file,如果没有任何提示,就说明传输成功了,然后输入 q 退出tftp命令符,在当前目录下就可以看到一个file文件,内容是与开始新建的那个file的内容是一致的。同样也可以在tftp命令符中输入 put xx,把xx文件上传到服务器文件夹中。如果一切ok,那就么一个可用的tftp服务器就顺利搭建成功了。

      对于上面的测试是针对本地测试的,如果想要对其他电脑或者开发板进行tftp传输,则在终端输入 sudo tftp xxx(即目标电脑或目标开发板的ip地址),而且还要关闭ubuntu自带的防火墙(书上说的),我是直接把防火墙给卸载了(sudo apt-get remove iptables),因为我觉得对于Linux来说,防火墙可能没什么需要把,至少目前为止我还没有受到过攻击。。。当然,想要与其他局域网内的电脑或开发板互联进行传输,还要将这些机器的ip改到同一个段内。

      好了,通过以上的步骤,就可以通过tftp协议,在电脑和开发板之间进行文件传输了,目前的目的就是下载Linux内核和文件系统到开发板。如果有朋友发现了我的不足,都可以给我提出来,我们也可以进行讨论。不过还要强调一点,我的这些配置都是针对于ubuntu的,对于其他的系统可能会有所出入的。


二: nfs服务器

1.安装软件

sudo apt-get install nfs-kernel-server

2.nfs服务配置

sudo gedit /etc/exports

在文件末尾加上 /home/thexin/nfsboot *(rw,sync,no_subtree_check)

其中/home/thexin/nfsboot是nfs的根目录,同样也需要777权限~

3.重启服务

sudo service portmap restart

sudo service nfs-kernel-server restart

4.测试

显示已经共享了的文件夹~,如果包含了NFS的根目录就配置好了

showmount -e

sudo mount -t nfs localhost:~/nfsboot /mnt cd /mnt

touch c.txt

然后就可以在个人目录下的nfsboot中找到c.txt了

阅读(734) | 评论(0) | 转发(0) |
0

上一篇:ESVN简单使用指南

下一篇:Kscope

给主人留下些什么吧!~~