一、YUM
1 部署YUM仓库
将软件包传送到Linux中后,挂载,然后配置yum软件仓库,最后就可以使用yum来安装相应的应用程序了。假设**挂载目录为****/tmp/centos7,则下面说明配置本地yum仓库的过程:
(1)cd /etc/yum.repos.d/ // 切换到yum源的目录,该目录存放着yum软件仓库的配置文件
(2)使用Vim编辑器创建一个名为centos7.repo的新配置文件(文件名称可以随意,但是后缀必须为.repo),逐项写入如下信息,保存并退出:
centos7 // Yum软件仓库唯一标识符,避免与其他仓库冲突。
name=centos7 // Yum软件仓库的名称描述
baseurl=file:///tmp/centos7 // baserul关键字是yum源的地址,提供的方式包括:FTP(ftp://…)、网络 yum源HTTP(http://…)、本地yum源:(file://…) 在这里为本地yum源。
enabled=1 //表示是否启用该yum源,如果值为0则表示不启用,如果值为1则表示启用。
gpgcheck=0 //表示使用yum源的软件包时是否和对应的密钥对进行校验。0表示不校验,1表示校验
若上面参数开启校验,那么请指定公钥文件地址:
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhant-release
按配置参数的路径(/tmp/centos7)挂载光盘,并把光盘挂载信息写入到/etc/fstab文件中。(一般先挂载好在搭建相应的yum仓库)
配置好yum源之后,需要清楚下缓存,在查看有哪些可用的yum源:
[
root@localhost yum.repos.d]# yum clean all //清除
[root@localhost yum.repos.d]# yum repolist //列出可用的yum源
使用“yum install httpd -y”命令可以检查Yum软件仓库是否已经可用
2使用yum工具管理软件包
在 CentOS 7 服务器中, yum 工具是最常用的 YUM 客户端工具, 由默认安装的
yum-3.2.29- 40.el6.noarch 软件包提供。下面分别介绍如何使用 yum 工具来查询、安装、升级及卸载软件包。
2.1查询软件包
yum 工具的常见查询操作包括查询软件包列表、查询软件包的描述信息、查询指定的软件包,分别可结合子命令 list、info、search 来实现。
1. yum list——查询软件包列表
直接执行“yum list”命令可以获得系统中的软件安装情况,也可以查询软件仓库中可用的软件包列表,其中子命令 list 表示列表查看。
若执行“yum list installed”命令,则表示只列出系统中已安装的软件包;若执行“yum list available”命令,则表示只列出软件仓库中可用(尚未安装)的软件包;若执行“yum list updates”命令,则表示只列出可以升级版本的软件包。
*2. yum info 查询软件包的描述信息
当需要查看某个软件包的描述信息时,可以执行“yum info 软件包名”,其中子命令 info
表示获取信息。
3. yum search——查询指定的软件包**
当需要根据某个关键词来查找相关的软件包时,可以执行“yum search 关键词”,默认仅根据软件包名称和描述信息进行搜索;若执行“yum search all 关键词”,可以扩大搜索范围。
4. ym whatprovides——查询命令属于哪个软件包*
在使用 Linux 操作系统过程中,经常遇到找不到某命令的现象。那这个命令需要安
装什么软件包之后才会出现呢?yum whatprovides 就可以解决这个问题的,它可以查找某个命令属于哪个软件包。
2.2 安装、升级、卸载软件包
1使用 yum 工具安装、升级软件包,分别通过子命令 install、update 来完成,操作对象为指定的软件包名(可以有多个)。执行操作时会自动检查并解决软件包之间的依赖关系, 期间会提示用户按 Y 键确认安装或升级操作,若希望自动确认,可以在 yum 命令后添加“-y” 选项
2使用 yum 工具卸载软件包时,通过子命令 remove 来完成,卸载操作通过软件仓库也可以完成
注意:使用yum 工具管理软件包时,结合子命令groupinstall、groupupdate、groupremove 可以针对软件分组进行安装、升级、卸载操作。例如,若执行“yum -y groupremove gnome-desktop”命令,则会删除整个 Desktop 分组所包含的软件包
二、 NFS 介绍
NFS 是 Network FileSystem 的缩写,顾名思义就是网络文件存储系统,它最早是由 Sun 公司发展出来的,也是 FreeBSD 支持的文件系统中的一个,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。通过 NFS,我们本地 NFS 的客户端应用可以透明地读写位于服务端 NFS 服务器上的文件,就像访问本地文件一样方便。简单的理解,NFS 就是可以透过网络,让不同的主机、不同的操作系统可以共享存储的服务。
NFS 在文件传送或信息传送过程中依赖于 RPC(Remote Procedure Call) 协议,即远程过程调用, NFS 的各项功能都必须要向 RPC 来注册,如此一来 RPC 才能了解 NFS 这个服务的各项功能 Port、PID、NFS 在服务器所监听的 IP 等,而客户端才能够透过 RPC 的询问找到正确对应的端口,所以,NFS 必须要有 RPC 存在时才能成功的提供服务,简单的理解二者关系:NFS是 一个文件存储系统,而 RPC 是负责信息的传输。
2.1使用NFS发布共享资源
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
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)
其中客户机地址可以是主机名、IP 地址、网段地址,允许使用*、?通配符;权限选项中的 rw 表示允许读写(ro 为只读),sync 表示同步写入,no_root_squash 表示当客户机以 root 身份访问时赋予本地 root 权限(默认是 root_squash,将作为 nfsnobody 用户降权对待)。
当需要将同一个目录共享给不同的客户机,且分配不同的权限时,只要以空格分隔指定多个“客户机(权限选项)”即可。
[root@localhost ~]# vi /etc/exports
/var/ftp/pub 192.168.4.11(ro) 192.168.4.110(rw)
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
2.2在客户机中访问NFS共享资源
NFS 协议的目标是提供一种网络文件系统,因此对 NFS 共享的访问也使用 mount 命令来进行挂载,对应的文件系统类型为 nfs。既可以手动挂载,也可以加入 fstab 配置文件来实现开机自动挂载。
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 文件夹,其中的网络映射过程对于用户程序来说是透明的。例如,上述操作中创建的 index.html 测试文件,会立刻出现在服务器的/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 才能卸载。
当出现卡死现象时,要重新开一个终端,执行 cat /etc/rc.local 命令,查看挂载点。然后使用 umount 命令卸载,其中-l 表示解除正在繁忙的文件系统,-f 表示强制。
[root@localhost ~]# umount /mnt umount. nfs: /mnt : device is busy
[root@localhost ~]# umount -lf /mnt
[root@localhost ~]#