yum管理rpm包的工具,自动解决rpm包安装的依赖关系。
1、yum常用命令
#yum list 列出rpm库里所有的rpm包
搜索一个rpm包
#yum list |grep vim
搜索一个rpm包
#yum search 相关关键词
如:yum search 'vim'
安装一个rpm包
#yum install -y rpm包名
如: yum install -y vim-enhanced
-y 忽略询问用户是否安装步骤。
卸载一个rpm包
#yum remove -y rpm包名
如:yum remove vim-enhanced
卸载时不建议用-y ,因为此时将要卸载的rpm包肯能有依赖,会连同依赖包卸载掉导致系统无法正常运行。尽量不要卸载包,必须卸载时可以用 rpm -e --nodeps 包名 这样卸载。
查询包的依赖情况可以用yum -deplist 包名
升级一个rpm包
#yum update -y rpm包
如:#yum update vim-enhanced
命令#yum update和#yum upgrade是升级系统所有包命令
#yum grouplist列出资源(可安装的和不可安装的)需要换成英文才可用,使用命令#LANG=en切换。此时yum grouplist 所有套件名称全为英文。
切换为中文:#LANG=zh_CN.UTF-8
安装一个套件
#yum groupinstall " "
如:#yum groupinstall " Swati Support [ss]"
查找:[root@zekLinux ~]# yum grouplist |grep -i chinese
Failed to set locale, defaulting to C
Chinese Support [zh]
卸载:yum groupremove
如:# yum groupremove "Chinese Support"
yum安装rpm包时,会遇到一些包没有,则可以尝试安装epel的扩展源,里面有很多系统不自带的rpm包。
#yum install -y epel-release
2、搭建本地yum仓库
如果linux不能上网,又想使用yum安装rpm包的时候,或是网速太慢了,使用网络yum源太慢,所以要使用本地yum源提高速度,可以搭建一个本地的yum源。
制作本地yum源步骤
a、挂载光盘
#mount /dev/cdrom/mnt
b、删除/etc/yum.repos.d/目录下CentOS-Base.repo文件
先备份/yum.repos.d/避免不必要麻烦
#cp -r /etc/yum.repos.d/ /etc/yum.repos.d.back
#rm -rf /etc/yum.repos.d/CentOS-Base.repo
#yum list 显示的所有文件都是@fjffjf的表示已经安装过了不能再使用。
c、做一个本地的yum源
编辑文件CentOS-Media.repo
[root@zekLinux yum.repos.d]# vim CentOS-Media.repo
编辑前
[c6-media]
name=CentOS-$releasever - Media baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
编辑后
[local_cdrom] yum list查看时@后的名称
name=cd yum源名字标识符,可去掉即注释#name=cd
baseurl=file:///mnt/ 本地路径(此时为mnt)file与http类似
gpgcheck=0 是否检测(此时为0不检测,检测为1)
enabled=1 是否生效(此时为生效1,0为不生效)
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6此时不用注释掉
:wq 保存退出用yum list查看一下 此时原来@部分变为local_cdrom,看到的包也全都是本地光盘里的rpm包。即本地yum源就做好了,接下来就可以安装一些包了,此时安装时所用的时本地光盘里带的rpm包
做完之后需回复或者从新设置优先级
3、yum下载rpm包到本地
a、恢复原来的网络源:
[root@zekLinux yum.repos.d]# cd /etc/yum.repos.d
[root@zekLinux yum.repos.d]# cp /etc/yum.repos.d.back/CentOS-Base.repo /etc/yum.repos.d
[root@zekLinux yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-fasttrack.repo
此时用yum list查看已恢复base 但是也有local_cdrom 但是依然会优先执行网络源里的rpm包。
b、安装yum-downloadonly
[root@zekLinux yum.repos.d]# yum install -y yum-plugin-downloadonly.noarch
c、下载一个rpm包二不安装
命令:#yum install 包名 -y --downloadonly
[root@zekLinux yum.repos.d]# yum install vte --downloadonly
d、下载到指定目录
#yum install vte --downloadonly --downloaddir=/tmp/
若下载的包已安装过可以使用reinstall来下载
如:#yum reinstall vte --downloadonly --downloaddir=/tmp/