部署 YUM 仓库及NFS 共享服务

一.部署 YUM 软件仓库

1.1准备网络安装源(服务器端)

1.准备软件仓库目录

在 CentOS 7 系统的安装光盘中,已针对软件目录 Packages 建立好 repodata 数据, 因此只要简单地将整个光盘中的内容通过 HTTP 或 FTP 进行发布,就可以作为软件仓库了。

[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7

对于用户搜集的非 CentOS 7 光盘自带的更多其他软件包(必须包括存在依赖关系的所 有安装文件),除了准备相应的目录之外,还需要手动创建 repodata 数据文件,这就要用到 createrepo 工具(需要从 CentOS 7 光盘中安装)

[root@localhost ~]# mkdir /var/ftp/other
[root@localhost ~]# cd /var/ftp/other
[root@localhost other]# createrepo -g /media/cdrom/repodata/repomd.xml ./

 2.安装并启用 vsftpd 服务

[root@localhost ~]# rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to
/usr/lib/systemd/system/vsftpd.service.

访 问 ftp://192.168.4.254/centos7/ , 确 保 可 以 查 看 到 已 复 制 到 软 件 仓 库 目 录 /var/ftp/centos7 下的光盘数据;

[root@localhost ~]# ftp 192.168.4.254 
…… //省略登录信息
ftp> cd centos7
250 Directory successfully changed.
ftp> ls 
…… //省略部分信息
226 Directory send OK.

1.2 配置软件仓库位置(客户端)

yum 工具使用的软件仓库信息存放在/etc/yum.repos.d 目录下扩 展名为“.repo”的文件中。

[root@localhost ~]# vi /etc/yum.repos.d/centos7.repo
[base] //仓库类别
name=CentOS 7.3 //仓库名称(说明)
baseurl=ftp://192.168.4.254/centos7 //URL 访问路径
enabled=1 //启用此软件仓库
gpgcheck=1 //验证软件包的签名
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 //GPG 公钥文件的位置
[other]
name=Other RPM Packages
baseurl=ftp://192.168.4.254/other
enabled=1
gpgcheck=0 //不验证软件包的签名

上述操作中,文件 centos7.repo 需要手动创建,/etc/yum.repos.d 目录下若有其他未用 的“*.repo”文件建议将其删除。

[root@localhost ~]# vi /etc/yum.repos.d/local.repo
[local]
name=CentOS 7.3
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0

二. 使用 yum 工具管理软件包

2.1 查询软件包

1.yum list——查询软件包列表

直接执行“yum list”命令可以获得系统中的软件安装情况,也可以查询软件仓库中可用 的软件包列表,其中子命令 list 表示列表查看。

[root@localhost ~]# yum list
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
已安装的软件包 //已安装的软件包列表
GConf2.x86_64 3.2.6-8.el7 @anaconda
GeoIP.x86_64 1.5.0-11.el7 @anaconda
ModemManager.x86_64 1.6.0-2.el7 @anaconda
ModemManager-glib.x86_64 1.6.0-2.el7 @anaconda 
…… //省略部分信息
可安装的软件包 //可用(未
安装)的软件包列表
389-ds-base.x86_64 1.3.5.10-11.el7 base
389-ds-base-libs.x86_64 1.3.5.10-11.el7 base 
…… //省略部分信息

2.yum info——查询软件包的描述信息 

需要查看某个软件包的描述信息时,可以执行“yum info 软件包名”,其中子命令 info 表示获取信息。

3.yum search——查询指定的软件包

当需要根据某个关键词来查找相关的软件包时,可以执行“yum search 关键词”,默认 仅根据软件包名称和描述信息进行搜索;若执行“yum search all 关键词”,可以扩大搜索范 围。

4.yum whatprovides——查询命令属于哪个软件包

[root@localhost ~]# yum whatprovides netstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.neusoft.edu.cn
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.163.com
* updates: mirrors.163.com
net-tools-2.0-0.24.20131004git.el7.x86_64 : Basic networking tools
Repo : @base
Matched from:
Filename : /usr/bin/netstat

三.NFS 共享存储服务

NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。

3.1 使用 NFS 发布共享资源

1. 安装 nfs-utils、rpcbind 软件包

提供 RPC 支持的服务为 rpcbind,提供 NFS 共享的服务为 nfs,完成安装以后建议调 整这两个服务的自启动状态,以便每次开机后自动启用。手动加载 NFS 共享服务时,应该 先启动 rpcbind,再启动 nfs。

[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind

 2. 设置共享目录

NFS 的配置文件为/etc/exports,文件内容默认为空(无任何共享)。在 exports 文件中 设置共享资源时,记录格式为“目录位置 客户机地址(权限选项)”。

[root@localhost ~]# mkdir -p /opt/wwwroot
[root@localhost ~]# vi /etc/exports
/opt/wwwroot 192.168.7.0/24(rw,sync,no_root_squash)

 3. 启动 NFS 服务程序

[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# netstat -anpt | grep rpc
tcp 0 0 0.0.0.0:200480.0.0.0:* LISTEN 10508/rpc.mountd
tcp 0 0 0.0.0.0:527320.0.0.0:* LISTEN 10495/rpc.statd
tcp6 0 0 :::20048 :::* LISTEN 10508/rpc.mountd
tcp6 0 0 :::47669 :::* LISTEN 10495/rpc.statd

4. 查看本机发布的 NFS 共享目录

[root@localhost ~]# showmount -e
Export list for localhost.localdomain:
/opt/wwwroot 192.168.7.0/24
/var/ftp/pub 192.168.4.110,192.168.4.11

 3.2 在客户机中访问 NFS 共享资源

1. 安装并启动 rpcbind

若要正常访问 NFS 共享资源,客户机中也需要安装 rpcbind 软件包,并启动 rpcbind 系统服务。另外,为了使用 showmount 查询工具,建议将 nfs-utils 软件包也一并装上。

[root@localhost ~]# yum -y install rpcbind nfs-utils
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl start rpcbind

 如果已经安装了 nfs-utils 软件包,则客户机也可以使用 showmount 查看 NFS 服务器 端共享了哪些目录,查询格式为“showmount -e 服务器地址”。

[root@localhost ~]# showmount -e 192.168.7.250
Export list for 192.168.7.250:
/opt/wwwroot 192.168.7.0/24
/var/ftp/pub 192.168.4.110,192.168.4.11

2. 手动挂载 NFS 共享目录

以 root 用户身份执行 mount 操作,将 NFS 服务器共享的/opt/wwwroot 目录挂载到本 地目录/var/www/html。

[root@localhost ~]# mount 192.168.7.250:/opt/wwwroot /var/www/html
[root@localhost ~]# tail -1 /etc/mtab //确认挂载结果
192.168.7.250:/opt/wwwroot /var/www/html nfs4
rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=6
00,retrans=2,sec=sys,clientaddr=192.168.7.21,local_lock=none,addr=192.168.7.250 0 0
[root@localhost ~]# vim /var/www/html/index.html //在客户机创建测试文件
Real Web Server Document

 完成挂载以后,访问客户机的/var/www/html 文件夹,实际上就相当于访问 NFS 服务器 中的/opt/wwwroot 文件夹,其中的网络映射过程对于用户程序来说是透明的。

3. fstab 自动挂载设置

修改/etc/fstab 配置文件,加入 NFS 共享目录的挂载设置。注意将文件系统类型设为 nfs,挂载参数建议添加_netdev(设备需要网络);若添加 soft、intr 参数可以实现软挂载, 允许在网络中断时放弃挂载。这样客户机就可以在每次开机后自动挂载 NFS 共享资源了。

[root@localhost ~]# vi /etc/fstab 
…… //省略部分信息
192.168.7.250:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0

4. 强制卸载 NFS

NFS 客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端 NFS 服务突然间停掉了,那么在客户端就会出现执行 df -h 命令卡死的现象。这个时候使用 umount 命令是无法直接卸载的,需要加上 -lf 才能卸载。

[root@localhost ~]# umount /mnt
umount. nfs: /mnt : device is busy
[root@localhost ~]# umount -lf /mnt
[root@localhost ~]#
  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值