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:基础平台
Leave a Reply
You must be logged in to post a comment.