您的位置:首页 > 编程语言 > PHP开发

在ubuntu10.04下搭建tftp服务器和nfs服务器

2011-03-24 21:06 218 查看
Ubuntu10.04下的tftp服务器搭建

第1步:
安装tftp所需的软件。首先需要安装tftp(-hpa),tftpd(-hpa),前者是客户端,后者是服务程序,
在终端下输入 sudo apt-get install tftp tftpd,安装tftp和tftpd。
然后还需要安装xinetd,在终端下输入 sudo apt-get install xinetd telnetd,安装好xinetd

第2步:
配置相关服务文件。进入根目录下的etc文件夹(cd /etc/),首先看目录中有没有一个xinetd.conf文件,
如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则修改,内容如下:
# 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

第3步:
然后进入xinetd.d文件夹(cd xinetd.d),查看是否有一个tftp文件,如果没有就新建一个,如果有的话
就查看内容是否与下面的一致,不一致则修改,内容如下:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/houxq/tftpboot
source = 11
cps = 100 2
flags =IPv4
}
其中server_args一行是配置服务器的文件存放的位置,就是进行tftp传输的时候,都是从该文件夹中搜索文件的

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

第5步:

重新启动服务。当配置好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下安装、配置Ubuntu nfs

1、安装Ubuntu nfs

  Ubuntu上默认是没有安装Ubuntu nfs服务器的,因此我们首先安装Ubuntu nfs服务器端:$sudo apt-get install nfs-kernel-server

  在一些文档中,提出还需要使用apt-get来手动安装nfs的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动为我们把它们安装好。

2、配置/etc/exports

S3C2440

在 PC 机上修改

/etc/exports 文件,在里面写入“/ *”保存(注意/ *之间有空格)

注:/etc/exports 为 NFS 服务器的配置文件, *”是将根目录下所有文件挂载

“/

其次要启动 NFS 服务,这样我们才能够挂载

# service nfs restart —— 重启 nfs 服务

# service nfs start —— 启动 nfs 服务

# service nfs stop —— 停止 nfs 服务

最后就可以挂载了,在不需要的时候可以停止 NFS 服务

# mount 192.168.0.230: /tmp(将 IP 为 192.168.0.230 的 PC 上的文件系统挂载到开发板

根目录下的 tmp 下 ) 。

  Ubuntu nfs允许挂载的目录及权限在文件/etc/exports中进行了定义。

  例如,我们要将根目录下的rootfs目录共享出来,那么我们需要在/etc/exports文件末尾添加如下一行:/rootfs *(rw,sync,no_root_squash)

   其中:/rootfs是要共享的目录,*代表允许所有的网络段访问,rw是可读写权限,sync是资料同步写入内存和硬 盘,no_root_squash是Ubuntu nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。

3、Ubuntu nfs重启服务

  $sudo /etc/init.d/portmap restart

  $sudo /etc/init.d/nfs-kernel-server restart

4、测试Ubuntu nfs

  此时可以运行以下命令来显示一下共享出来的目录:

  $showmount -e

  或者可以使用以下命令把它挂载在本地磁盘上,例如将/rootfs挂载到/mnt下:

  $ sudo mount -t nfs localhost:/rootfs /mnt

  可以运行df命令查看是否挂载成功。查看后可以使用以下命令卸载:

  $ sudo umount /mnt

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: