yum
(全称为 Yellow dog Updater Modified
)是一个在Fedora
和RedHat
以及SUSE
中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum
提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum
的命令形式一般是如下:
yum [options] [command] [package ...]
常用参数:
-e
静默执行
-t
忽略错误
-R[分钟]
设置等待时间
-y
自动应答yes
--skip-broken
忽略依赖问题
--nogpgcheck
忽略GPG验证
check-update
检查可更新的包
clearn
清除全部
clean packages
清除临时包文件(/var/cache/yum 下文件)
clean headers
清除rpm头文件
clean oldheaders
清除旧的rpm头文件
deplist
列出包的依赖
list
可安装和可更新的RPM包
list installed
已安装的包
list extras
已安装且不在资源库的包
info
可安装和可更新的RPM包 信息
info installed
已安装包的信息(-qa 参数相似)
install[RPM包]
安装包
localinstall
安装本地的 RPM包
update[RPM包]
更新包
upgrade
升级系统
search[关键词]
搜索包
provides[关键词]
搜索特定包文件名
reinstall[RPM包]
重新安装包
repolist
显示资源库的配置
resolvedep
指定依赖
remove[RPM包]
卸载包
应用实例:
1. 安装单个软件
yum install httpd
2. 安装一组软件 中文支持
yum groupinstall "chinese-support"
3. 更新软件
yum update httpd
4. 卸载软件
yum remove httpd yum erase httpd
5. 卸载一组软件
yum groupremove "chinese-support"
6.搜索软件包
yum search httpd
7.列出软件包
yum list
或
yum grouplist
8. 升级系统
yum upgrade
9. 查看包的信息
yum info httpd
10. 利用yum下载一个rpm包
yum install -y yum-plugin-downloadonly.noarch #首先需要安装一个插件来支持只下载不安装 yum install 包名 -y –downloadonly #这样就已经下载了 yum install 包名 -y –downloadonly –downloaddir=/usr/local/src #指定一个下载目录
11. 清楚缓存的软件包
yum clean all
12. 把服务器的包信息下载到本地电脑缓存起来
yum makecache
13. 反查库文件在哪个包,超级实用。
yum whatprovides libstdc++.so.5 yum provides libstdc++.so.5
14. 列出已安装的包
yum list installed
yum
的主配置文件是/etc/yum.conf
这个文件是yum
的全局配置文件,对所有repo
都生效
查看一下内容:
cat /etc/yum.conf
[main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=5 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-release
说明:
cachedir
:yum的缓存目录,用于存储下载的rpm包等相关数据
keepcache
:是否保存缓存,0为不保存,1为保存
debuglevel
:错误级别,用于日志记录
logfile
:yum日志文件存储位置
exactarch
:是否精确匹配软件包的平台,1为精确匹配,0为不开启(则允许将x86软件包安装x86_64系统中)
obsoletes
:是否允许更新陈旧的软件包,1为允许,0为不允许
gpgcheck
:是否检测GPG(数字签名),1为检查,0为不检测
plugins
:是否允许使用插件,1为允许,0为不允许
installonly_limit
:同时安装多少程序包
exclude=selinux*
:屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离。
bugtracker_url
:bug追踪路径
distroverpkg
:将变量$releasever设置为centos-release这个rpm包的版本号
yum.conf
中的变量:
$releasever
:代表发行版本的版本号。如果系统是fedora core 6的话,则返回6
$basearch
:显示基本架构类型。如果系统为i386或i686等,则均返回i386
使用本地yum
源,需要先放入光盘或是其它的介质
mount /dev/cdrom /mnt cp -r /etc/yum.repos.d /etc/yum.repos.d.bak //先备份一下 rm -f /etc/yum.repos.d/*
vim /etc/yum.repos.d/dvd.repo
#加入如下内容:
[dvd] name=install dvd baseurl=file:///mnt enabled=1 gpgcheck=0
yum list
//看是否有dvd的标志出现
说明:yum
优先使用网络源安装软件
yum
的 repo
文件放在 /etc/yum.repos.d
目录下
tree /etc/yum.repos.d/
/etc/yum.repos.d/ ├── CentOS-Base.repo ├── CentOS-Debuginfo.repo ├── CentOS-fasttrack.repo ├── CentOS-Media.repo ├── CentOS-Vault.repo
以上都是系统自带的
看一下 CentOS-Base.repo
里面的内容
cat /etc/yum.repos.d/CentOS-Base.repo
[base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
说明:
[base]
:仓库名称
name
:仓库简介
baseurl
:获取软件包的路径
gpgcheck
:是否检测GPG(数字签名),1为检查,0为不检测
enabled
:是否启用此仓库,1为启用,0为关闭
gpgkey
:GPG(数字签名)的key文件所在路径
变量说明:
$releasever
: 当前OS的发行版的主版本号;
$arch
: 平台、架构
$basearch
:基础平台