使用yum工具管理软件包
在 CentOS 7 服务器中,yum 工具是最常用的 YUM 客户端工具,由默认安装的第 5 页 共 13 页yum-3.2.29- 40.el6.noarch 软件包提供。
yum基本命令
命令 | 作用 |
---|---|
yum list | 显示所有可用包 |
yum info | 显示可用包的信息 |
yum serch | 模糊查找相关信息 |
yum whatprovides | 精确查找 |
yum grouplist | 显示所有可用包组 |
yum groupinfo | 显示所有的包组具体信息 |
yum install | 安装软件包 |
yum update | 软件升级 |
yum remove | 卸载具体软件 |
yum history | 查看当前yum操作历史 |
yum history undo | 加入序号卸载序号里安装的软件 |
yum history redo | 加入序列号重新执行序号里的操作 |
查询软件包
yum 工具的常见查询操作包括查询软件包列表、查询软件包的描述信息、查询指定的软件包,分别可结合子命令 list、info、search 来实现。
-
yum list–查询软件包列表
#使用yum list 查询软件包列表 [root@localhost ~]# yum list #使用yum list +软件名:查询系统是否包含某个软件包 [root@localhost ~]# yum list httpd #查询示例: 已加载插件:fastestmirror Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast Loading mirror speeds from cached hostfile 可安装的软件包 httpd.x86_64 2.4.6-95.el7.centos c7-media #yum list installed命令:表示只列出系统中已安装的软件包 [root@localhost ~]# yum list installed #yum list available命令:表示只列出软件仓库中(尚未安装)的软件包 [root@localhost ~]# yum list available #yum list updates命令:表示只列出可以升级版本的软件包 [root@localhost ~]# yum list updates
-
yum info–查询软件包的描述信息
#使用yum info查询 [root@localhost ~]# yum info httpd #查询示例 已加载插件:fastestmirror Loading mirror speeds from cached hostfile 已安装的软件包 名称 :httpd 架构 :x86_64 版本 :2.4.6 发布 :95.el7.centos 大小 :9.4 M 源 :installed 来自源:c7-media 简介 : Apache HTTP Server 网址 :http://httpd.apache.org/ 协议 : ASL 2.0 描述 : The Apache HTTP Server is a powerful, efficient, and extensible : web server.
-
yum search–查询指定的软件包
当需要根据某个关键词来查找相关的软件包时,可以执行yum search 命令
# 加all可以扩大搜索范围。 [root@localhost ~]# yum search all httpd #查询示例 已加载插件:fastestmirror Loading mirror speeds from cached hostfile ============================================================================== 匹配:httpd ============================================================================== httpd-devel.x86_64 : Development interfaces for the Apache HTTP server httpd-manual.noarch : Documentation for the Apache HTTP server httpd-tools.x86_64 : Tools for use with the Apache HTTP Server libmicrohttpd.x86_64 : Lightweight library for embedding a webserver in applications httpd.x86_64 : Apache HTTP Server mod_dav_svn.x86_64 : Apache httpd module for Subversion server mod_fcgid.x86_64 : FastCGI interface module for Apache 2 mod_lookup_identity.x86_64 : Apache module to retrieve additional information about the authenticated user mod_session.x86_64 : Session interface for the Apache HTTP Server mod_ssl.x86_64 : SSL/TLS module for the Apache HTTP Server
-
yum whatprovides–查询命令属于哪个软件包
[root@localhost ~]# yum whatprovides httpd #查询示例 已加载插件:fastestmirror Loading mirror speeds from cached hostfile httpd-2.4.6-95.el7.centos.x86_64 : Apache HTTP Server 源 :c7-media httpd-2.4.6-95.el7.centos.x86_64 : Apache HTTP Server 源 :@c7-media
安装、升级、卸载软件包
#使用 yum -y install 安装软件包 “-y”:自动确认
[root@localhost ~]# yum -y install nsftp
#使用 update子命令 升级软件包
[root@localhost ~]# yum -y update httpd
#使用 remove 子命令 卸载软件包(并自动解决依赖关系)
[root@localhost ~]# yum -y remove nfs-utils
部署YUM软件仓库
借助于 YUM 软件仓库,可以完成安装、卸载、自动升级 rpm 软件包等任务,能够自动查找并解决 rpm 包之间的依赖关系,而无须管理员逐个、手工地去安装每个 rpm 包,使管理员在维护大量 Linux 服务器时更加轻松自如。
要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。
搭建本地yum仓库
#首先将光驱中镜像文件进行挂载
[root@localhost ~]# mount /dev/sr0 /mnt/
#切换到 /etc/yum.repo.d 目录 将自带的仓库删除
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost ~]# rm -rf *
#新建.repo文件
[root@localhost ~]# vim ceshi.repo
#添加以下内容
[ceshi]
#仓库名字
name=ceshi
#仓库位置
baseurl=file:///media/cdrom
#是否开启校验
gpgcheck=0
#该仓库是否启用(默认为1)
enabled=1
#清除本地yum缓存信息
[root@localhost ~]# yum clean all
#查看仓库
[root@localhost ~]# yum repolist
ftp方式搭建云仓库
-
准备软件仓库目录
在 CentOS 7 系统的安装光盘中,已针对软件目录 Packages 建立好 repodata 数据,因此只要简单地将整个光盘中的内容通过 HTTP 或 FTP 进行发布,就可以作为软件仓库了。
#安装vsftp服务 [root@localhost ~]# yum -y install vsftpd #开启服务并关闭防火墙 [root@localhost ~]# systemctl start vsftpd [root@localhost ~]# systemctl stop firewalld #进入ftp根目录创建目录 [root@localhost ~]# cd /var/ftp [root@localhost ftp]# mkdir centos7 #将光盘的包copy到centos7下 [root@localhost ~]# cp -rf * cp -rf /media/cdrom/* /var/ftp/centos7
可以使用windos查看服务是否启动成功
- 将客户端yum仓库换为ftp搭建的云仓库
#编辑“CentOS-Media.repo”文件
[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Media.repo
#将baserurl改为云仓库路径
[c7-media]
name=CentOS-$releasever - Media
baseurl=file://192.168.10.102/centos7
gpgcheck=0
enabled=1
#清除本地yum缓存信息
[root@localhost ~]# yum clean all
#查看仓库
[root@localhost ~]# yum repolist
http方式搭建云仓库
#安装httpd服务
[root@localhost ~]# yum -y install httpd
#进入到httpd服务目录
[root@localhost ~]# cd /var/www/html/
#创建仓库
[root@localhost html]# mkdir centos7
#将光盘的包copy到该centos7下
[root@localhost html]# cp -rf /media/cdrom/* centos7/
#开启httpd服务
[root@localhost html]# systemctl start httpd
可以使用浏览器查看服务是否开启
-
客户端yum仓库换为http搭建的云仓库
#编辑“CentOS-Media.repo”文件 [root@localhost ~]# vim /etc/yum.repos.d/CentOS-Media.repo #将baserurl改为云仓库路径 [c7-media] name=CentOS-$releasever - Media baseurl=http://192.168.10.102/centos7 gpgcheck=0 enabled=1 #清除本地yum缓存信息 [root@localhost ~]# yum clean all #查看仓库 [root@localhost ~]# yum repolist
NFS共享存储服务
使用NFS发布共享资源
#安装NFS
[root@localhost ~]# yum -y install nfs-utils rpcbind
#关闭防火墙和内核
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
#创建共享空间
[root@localhost ~]# mkdir /share
#修改nfs配置信息
[root@localhost ~]# vim /etc/exports
#添加以下内容
/share 192.168.10.0/24(rw,sync,no_root_squash)
#rw 具备权限
#sync 同步 async异步
#no_root_squas root权限
#启动对应服务
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
在客户机中访问NFS共享资源
#安装nfs
[root@localhost ~]# yum -y install nfs-utils
#挂载nfs资源
[root@localhost ~]# mount 192.168.10.102:/share /mnt
#挂载成功就可访问共享资源
#强制解挂载
[root@localhost ~]# umount -lf /mnt