部署
YUM
软件仓库
准备网络安装源(服务器端)
YUM
软件仓库通常借助于
HTTP
或
FTP
协议来进行发布,这样可以面向网络中的所有客户机提供软件源服务。为了便于客户机查询软件包,获取依赖关系等信息,在软件仓库中需要提供仓库数据
,其中收集了目录下所有
rpm
包的头部信息。
1
.准备软件仓库目录
在
CentOS 7
系统的安装光盘中,已针对软件目录
Packages
建立好
repodata
数据,因此只要简单地将整个光盘中的内容通过 HTTP
或
FTP
进行发布,就可以作为软件仓库了。
#mkdir -p /var/ftp/centos7
#cp -rf /media/cdrom/* /var/ftp/centos7
对于用户搜集的非
CentOS 7
光盘自带的更多其他软件包,除了准备相应的目录之外,还需要手动创建 repodata
数据文件,这就要用到createrepo 工具
。
#
mkdir /var/ftp/other
#
cd /var/ftp/other
#
createrepo -g /media/cdrom/repodata/repomd.xml ./ //以现有的
repodata
目录为样板
2
.安装并启用
vsftpd
服务
#
rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
#
systemctl start vsftpd
#
systemctl enable vsftpd
访 问
ftp://192.168.4.254/centos7/ ,
确保可以查看到已复制到 软 件 仓 库录/var/ftp/centos7 下的光盘数据;访问
ftp://192.168.4.254/other/
,可以查看非
CentOS 7
光盘自带的其他软件包。
#
ftp 192.168.4.254
>
cd centos7
>
ls
配置软件仓库位置(客户端)
在客户机上需要指定至少一个可用的软件仓库,然后才能使用下一节将要介绍的
yum工具来下载、安装软件包。yum
工具使用的软件仓库信息存放在
/etc/yum.repos.d
目录下扩展名为“.repo”
的文件中。
#
vi /etc/yum.repos.d/centos7.repo
上述操作中,文件
centos7.repo
需要手动创建,
/etc/yum.repos.d
目录下若有其他未用的“*.repo”
文件建议将其删除。
#
vi /etc/yum.repos.d/local.repo
使用
yum
工具管理软件包
在
CentOS 7
服务器中,
yum
工具是最常用的
YUM
客户端工具,由默认安装的yum-3.2.29- 40.el6.noarch 软件包提供。
查询软件包
1
.
yum list
——
查询软件包列表
直接执行
“yum list”
命令可以获得系统中的软件安装情况,也可以查询软件仓库中可用的软件包列表,其中子命令 list
表示列表查看。
#
yum list
2
.
yum info
——
查询软件包的描述信息
当需要查看某个软件包的描述信息时,可以执行
“yum info
软件包名
”
,其中子命令
info表示获取信息。
#
yum info httpd
3
.
yum search
——
查询指定的软件包
当需要根据某个关键词来查找相关的软件包时,可以执行
“yum search
关键词
”
,默认仅根据软件包名称和描述信息进行搜索;若执行“yum search all
关键词
”
,可以扩大搜索范围。
#
yum search all httpd
4
.
yum whatprovides
——
查询命令属于哪个软件包
在使用
Linux 操作系统过程中,经常遇到找不到某命令的现象。yum whatprovides 就可以解决这个问题的,它可以查找某个命令属于哪个软件包。
#
yum whatprovides netstat
安装、升级、卸载软件包
使用
yum
工具安装、升级软件包,分别通过子命令
install
、
update
来完成,操作对象为指定的软件包名(可以有多个)。执行操作时会自动检查并解决软件包之间的依赖关系,期间会提示用户按 Y
键确认安装或升级操作,若希望自动确认,可以在
yum
命令后添加
“-y” 选项。
#
yum -y install net-snmp
使用
yum
工具卸载软件包时,通过子命令
remove
来完成,卸载操作通过软件仓库也可以完成。
#
yum -y remove autofs
使用
NFS
发布共享资源
1.
安装
nfs-utils
、
rpcbind
软件包
提供
RPC
支持的服务为
rpcbind
,提供
NFS
共享的服务为
nfs
,完成安装以后建议调整这两个服务的自启动状态,以便每次开机后自动启用。
#
yum -y install nfs-utils rpcbind
#
systemctl enable nfs
#
systemctl enable rpcbind
2.
设置共享目录
NFS
的配置文件为
/etc/exports
,文件内容默认为空(无任何共享)。在
exports
文件中设置共享资源时,记录格式为“
目录位置 客户机地址
(
权限选项
)”
。
#
mkdir -p /opt/wwwroot
#
vi /etc/exports
3.
启动
NFS
服务程序
#
systemctl start rpcbind
#
systemctl start nfs
#
netstat -anpt | grep rpc
4.
查看本机发布的
NFS
共享目录
#
showmount -e
在客户机中访问
NFS
共享资源
1.
安装并启动
rpcbind
若要正常访问
NFS
共享资源,客户机中也需要安装
rpcbind
软件包,并启动
rpcbind系统服务。
#
yum -y install rpcbind nfs-utils
#
systemctl enable rpcbind
#
systemctl start rpcbind
如果已经安装了
nfs-utils
软件包,则客户机也可以使用
showmount
查看
NFS
服务器端共享了哪些目录,查询格式为“showmount -e
服务器地址
”
。
#
showmount -e 192.168.7.250
2.
手动挂载
NFS
共享目录
以
root
用户身份执行
mount
操作,将
NFS
服务器共享的
/opt/wwwroot
目录挂载到本地目录/var/www/html
。与挂载本地文件系统不同的是,设备位置处应指出服务器地址。
#
mount 192.168.7.250:/opt/wwwroot /var/www/html
#
tail -1 /etc/mtab //确认挂载结果
#
vim /var/www/html/index.html //在客户机创建测试文件
3. fstab
自动挂载设置
修改
/etc/fstab
配置文件,加入
NFS
共享目录的挂载设置。
#
vi /etc/fstab
4.
强制卸载
NFS
NFS
客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端
NFS服务突然间停掉了,那么在客户端就会出现执行 df -h
命令卡死的现象。这个时候使用umount 命令是无法直接卸载的,需要加上
-lf
才能卸载。
# umount /mnt
# umount -lf /mnt