CentOS下yum软件包管理器的基本使用攻略
时间:2021-04-25日 来源: 作者: 
	1.yum是什么
	yum : Yellow dog Updater, Modified
	主要功能是更方便的添加/删除/更新RPM包.
	它能自动解决包的倚赖性问题.
	它能便于管理大量系统的更新问题
	yum特点
	可以同时配置多个资源库(Repository)
	简洁的配置文件(/etc/yum.conf
	自动解决增加或删除rpm包时遇到的倚赖性问题
	使用方便
	保持与RPM数据库的一致性
	yum安装
	RHEL3,和 RHEL4 系列可以使用 CentOS 提供的 yum RPM 包进行安装。
	RHEL5 默认安装YUM,直接可以使用
	CentOS 默认安装YUM,直接可以使用
	Fedora 默认安装YUM,直接可以使用
	2. 安装和更新以及卸载
	安装
	 
		复制代码
	代码如下:
	
yum install PACKAGE_NAME ...
-y: 自动回答为yes
 
如果需要安装指定的版本的程序:
	
yum install PACKAGE_NAME ...
-y: 自动回答为yes
如果需要安装指定的版本的程序:
		复制代码
	代码如下:
	
yum install PACKAGE-VERSION ...
重新安装指定的程序包:
	
yum install PACKAGE-VERSION ...
重新安装指定的程序包:
		复制代码
	代码如下:
	
yum reinstall PACKAGE_NAME ...
举例:
	
yum reinstall PACKAGE_NAME ...
举例:
		复制代码
	代码如下:
	
[root@localhost ~]# yum -y install creatrepo
升级
	
[root@localhost ~]# yum -y install creatrepo
升级
		复制代码
	代码如下:
	
yum update PACKAGE_NAME
如果有多个版本的升级包可用,且仅期望升级到指定版本:
	
yum update PACKAGE_NAME
如果有多个版本的升级包可用,且仅期望升级到指定版本:
		复制代码
	代码如下:
	
yum update PACKAGE-VERSION
降级:
	
yum update PACKAGE-VERSION
降级:
		复制代码
	代码如下:
	
yum downgrade PACKAGE_NAME
检查可用升级:
	
yum downgrade PACKAGE_NAME
检查可用升级:
		复制代码
	代码如下:
	
yum check-update
举例:
	
yum check-update
举例:
		复制代码
	代码如下:
	
[root@localhost ~]# yum update createrepo
卸载
	
[root@localhost ~]# yum update createrepo
卸载
		复制代码
	代码如下:
	
yum erase|remove PACKAGE_NAME
注意:依赖于该指定程序包的其它包,会被一并卸载
举例:
	
yum erase|remove PACKAGE_NAME
注意:依赖于该指定程序包的其它包,会被一并卸载
举例:
		复制代码
	代码如下:
	
[root@localhost ~]# yum remove createrepo
	
[root@localhost ~]# yum remove createrepo
	3. Yum 常用指令使用详解
	第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的包索引文件放置于/var/cache/yum目录下,所需时间可能较长.
	rpm包的更新 相关指令
	检查可更新的rpm包
	 
		复制代码
	代码如下:
	
#yum check-update
更新所有的rpm包
	
#yum check-update
更新所有的rpm包
		复制代码
	代码如下:
	
#yum update
更新指定的rpm包,如更新kernel和kernel source
	
#yum update
更新指定的rpm包,如更新kernel和kernel source
		复制代码
	代码如下:
	
#yum update kernel kernel-source
大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
	
#yum update kernel kernel-source
大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
		复制代码
	代码如下:
	
#yum upgrade
rpm包的安装和删除 相关指令
安装rpm包,如xmms-mp3
	
#yum upgrade
rpm包的安装和删除 相关指令
安装rpm包,如xmms-mp3
		复制代码
	代码如下:
	
#yum install xmms-mp3
删除rpm包,包括与该包有倚赖性的包
 
	
#yum install xmms-mp3
删除rpm包,包括与该包有倚赖性的包
		复制代码
	代码如下:
	#yum remove xmms-mp3
   或者 
	
		复制代码
	代码如下:
	yum erase xmms-mp3
(高版本)
yum缓存(/var/cache/yum/)相关参数
清除缓存中rpm包文件
	
yum缓存(/var/cache/yum/)相关参数
清除缓存中rpm包文件
		复制代码
	代码如下:
	
#yum clean packages
清除缓存中rpm头文件
	
#yum clean packages
清除缓存中rpm头文件
		复制代码
	代码如下:
	
#yum clearn headers
清除缓存中所有相关信息
	
#yum clearn headers
清除缓存中所有相关信息
		复制代码
	代码如下:
	
#yum clearn all
rpm包信息和列表查询 相关指令
列出资源库中所有可以安装或更新的rpm包
	
#yum clearn all
rpm包信息和列表查询 相关指令
列出资源库中所有可以安装或更新的rpm包
		复制代码
	代码如下:
	
#yum list
列出资源库中特定的可以安装或更新以及已经安装的rpm包
	
#yum list
列出资源库中特定的可以安装或更新以及已经安装的rpm包
		复制代码
	代码如下:
	
#yum list glibc
#yum list glibc*
列出资源库中所有可以更新的rpm包
	
#yum list glibc
#yum list glibc*
列出资源库中所有可以更新的rpm包
		复制代码
	代码如下:
	
#yum list updates
列出已经安装的所有的rpm包
	
#yum list updates
列出已经安装的所有的rpm包
		复制代码
	代码如下:
	
#yum list installed
列出已经安装的但是不包含在资源库中的rpm包(通过其它网站下载安装的rpm包)
	
#yum list installed
列出已经安装的但是不包含在资源库中的rpm包(通过其它网站下载安装的rpm包)
		复制代码
	代码如下:
	
#yum list extras
列出资源库中所有可以安装或更新的rpm包的信息
	
#yum list extras
列出资源库中所有可以安装或更新的rpm包的信息
		复制代码
	代码如下:
	
#yum info
列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息
	
#yum info
列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息
		复制代码
	代码如下:
	
#yum info glibc
#yum info glibc*
列出资源库中所有可以更新的rpm包的信息
	
#yum info glibc
#yum info glibc*
列出资源库中所有可以更新的rpm包的信息
		复制代码
	代码如下:
	
#yum info updates
列出已经安装的所有的rpm包的信息
	
#yum info updates
列出已经安装的所有的rpm包的信息
		复制代码
	代码如下:
	
#yum info installed
列出已经安装的但是不包含在资源库中的rpm包的信息(通过其它网站下载安装的rpm包的信息)
	
#yum info installed
列出已经安装的但是不包含在资源库中的rpm包的信息(通过其它网站下载安装的rpm包的信息)
		复制代码
	代码如下:
	
#yum info extras
搜索rpm包 相关指令
搜索匹配特定字符的rpm包(在rpm包名,包描述等中搜索)
	
#yum info extras
搜索rpm包 相关指令
搜索匹配特定字符的rpm包(在rpm包名,包描述等中搜索)
		复制代码
	代码如下:
	
#yum search glibc
搜索包列表文件包含 realplay 的 软件包
	
#yum search glibc
搜索包列表文件包含 realplay 的 软件包
		复制代码
	代码如下:
	
#yum provides realplay
yum命令还可用安装本地rpm包文件
	
#yum provides realplay
yum命令还可用安装本地rpm包文件
		复制代码
	代码如下:
	
yum localinstall /path/to/rpm_package_file ...
安装本地rpm包
 
选项:
--enablerepo=启用某yum仓库
--disablerepo=禁用某yum仓库
注意:优先级高于/etc/yum.repos.d/*.repo配置文件中定义的属性;
-y: 自动回答为yes
--nogpgcheck:不验证包的来源和完整性
举例:
	
yum localinstall /path/to/rpm_package_file ...
安装本地rpm包
选项:
--enablerepo=启用某yum仓库
--disablerepo=禁用某yum仓库
注意:优先级高于/etc/yum.repos.d/*.repo配置文件中定义的属性;
-y: 自动回答为yes
--nogpgcheck:不验证包的来源和完整性
举例:
		复制代码
	代码如下:
	
[root@localhost ~]# yum -y localinstall /tmp/repos/glibc-common-2.6.32-358.el6.i386.rpm
	
[root@localhost ~]# yum -y localinstall /tmp/repos/glibc-common-2.6.32-358.el6.i386.rpm
	4.Yum 软件仓库搭建方法
	如果管理大量的服务器,rpm软件包的安装和更新,都需要访问连接Internet,这样会导致安装软件包的速度会很慢,而且会浪费带宽. 为了避免上述情况的弊端,我们可以通过自己创建本地的repository(仓库)的方法来实现软件包的快速安装和更新.
	仓库服务器端创建,将DVD或者CD发行版中的所有数据拷贝到服务器上(以centos 5 为例)
	创建仓库目录
	 
		复制代码
	代码如下:
	
mkdir /yum
挂载安装介质盘
	
mkdir /yum
挂载安装介质盘
		复制代码
	代码如下:
	
mount -o loop /download/centos5.iso /mnt
复制光盘内容到/yum目录中
	
mount -o loop /download/centos5.iso /mnt
复制光盘内容到/yum目录中
		复制代码
	代码如下:
	
cp /mnt/* /yum
创建repository的软件包的索引文件(需要安装 createrepo 软件包)
	
cp /mnt/* /yum
创建repository的软件包的索引文件(需要安装 createrepo 软件包)
		复制代码
	代码如下:
	
cd /yum
createrepo -g repodata/comps.xml . (.代表当前目录)
配置apache服务器,将DocumentRoot 指向 /yum 目录,可以列出目录内容即可(示例配置)。
	
cd /yum
createrepo -g repodata/comps.xml . (.代表当前目录)
配置apache服务器,将DocumentRoot 指向 /yum 目录,可以列出目录内容即可(示例配置)。
		复制代码
	代码如下:
	
DocumentRoot "/yum"
<Directory "/yum">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
启动apache,测试访问正常,服务器端设置完成
客户端设置,修改 yum 配置文件(假设服务器ip = 192.168.0.1)
修改配置文件内容/etc/yum.repos.d/centos-server.repo 内容如下
	
DocumentRoot "/yum"
<Directory "/yum">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
启动apache,测试访问正常,服务器端设置完成
客户端设置,修改 yum 配置文件(假设服务器ip = 192.168.0.1)
修改配置文件内容/etc/yum.repos.d/centos-server.repo 内容如下
		复制代码
	代码如下:
	
#cat /etc/yum.repos.d/centos-server.repo
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
gpgcheck=0
	
[centos5]
name=centos5 - Base
baseurl=http://192.168.0.1/
gpgcheck=0
删除/etc/yum.repos.d/ 目录中 其他 .repo 文件(不使用其他的软件仓库)
经过如上配置后,就可以使用自己建立的仓库,进行软件包的安装和更新. 如果你需要建立很多发行版本的仓库,可以按照不同目录划分进行,参考如下目录结构
	
 
 
#cat /etc/yum.repos.d/centos-server.repo
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
gpgcheck=0
[centos5]
name=centos5 - Base
baseurl=http://192.168.0.1/
gpgcheck=0
删除/etc/yum.repos.d/ 目录中 其他 .repo 文件(不使用其他的软件仓库)
经过如上配置后,就可以使用自己建立的仓库,进行软件包的安装和更新. 如果你需要建立很多发行版本的仓库,可以按照不同目录划分进行,参考如下目录结构
		复制代码
	代码如下:
	
/yum
|-- rh35-x86-32
| |-- headers
| `-- repodata
|-- rh36-x86-32
| |-- headers
| `-- repodata
|-- rh36-x86-64
| |-- headers
| `-- repodata
|-- rh38-x86-32
| |-- headers
| `-- repodata
|-- rh38-x86-64
| |-- headers
| `-- repodata
|-- rh39-x86-32
| |-- headers
| `-- repodata
|-- rh42-x86-32
| `-- repodata
|-- rh43-x86-32
| `-- repodata
|-- rh44-x86-32
| `-- repodata
|-- rh44-x86-64
| `-- repodata
|-- rh45-x86-64
|-- rh46-x86-32
| `-- repodata
|-- rh46-x86-64
| `-- repodata
|-- rh47-x86-64
| `-- repodata
|-- rh48-x86-32
| `-- repodata
|-- rh48-x86-64
| `-- repodata
|-- rh50-x86-32
| `-- repodata
|-- rh50-x86-64
| `-- repodata
|-- rh52-x86-32
| `-- repodata
|-- rh52-x86-64
| `-- repodata
|-- rh53-x86-32
| `-- repodata
|-- rh53-x86-64
| `-- repodata
|-- rh54-x86-64
| `-- repodata
`-- update
|-- rhel3-x86-32
| |-- headers
| `-- repodata
|-- rhel3-x86-64
| |-- headers
| `-- repodata
|-- rhel4-x86-32
| `-- repodata
|-- rhel4-x86-64
| `-- repodata
|-- rhel5-x86-32
| `-- repodata
|-- rhel5-x86-64
`-- repodata
然后根据需要,设置客户端的yum配置文件,即可使用不同的发行版本软件仓库!
/yum
|-- rh35-x86-32
| |-- headers
| `-- repodata
|-- rh36-x86-32
| |-- headers
| `-- repodata
|-- rh36-x86-64
| |-- headers
| `-- repodata
|-- rh38-x86-32
| |-- headers
| `-- repodata
|-- rh38-x86-64
| |-- headers
| `-- repodata
|-- rh39-x86-32
| |-- headers
| `-- repodata
|-- rh42-x86-32
| `-- repodata
|-- rh43-x86-32
| `-- repodata
|-- rh44-x86-32
| `-- repodata
|-- rh44-x86-64
| `-- repodata
|-- rh45-x86-64
|-- rh46-x86-32
| `-- repodata
|-- rh46-x86-64
| `-- repodata
|-- rh47-x86-64
| `-- repodata
|-- rh48-x86-32
| `-- repodata
|-- rh48-x86-64
| `-- repodata
|-- rh50-x86-32
| `-- repodata
|-- rh50-x86-64
| `-- repodata
|-- rh52-x86-32
| `-- repodata
|-- rh52-x86-64
| `-- repodata
|-- rh53-x86-32
| `-- repodata
|-- rh53-x86-64
| `-- repodata
|-- rh54-x86-64
| `-- repodata
`-- update
|-- rhel3-x86-32
| |-- headers
| `-- repodata
|-- rhel3-x86-64
| |-- headers
| `-- repodata
|-- rhel4-x86-32
| `-- repodata
|-- rhel4-x86-64
| `-- repodata
|-- rhel5-x86-32
| `-- repodata
|-- rhel5-x86-64
`-- repodata
然后根据需要,设置客户端的yum配置文件,即可使用不同的发行版本软件仓库!
相关文章
推荐文章
热门文章
