LinuxYum常用命令

yum是用来管理rpm套件的工具,可以自动处理相依性的问题,在Red
Hat系列的Linux系统上时常被使用,以下是yum
指令的基本用法与范例。
软件仓库的原理
列出所有仓库
list 可以列出所有已安装与未安装的软件列表:
yum list
若要列出所有可以安装(未安装)的软件列表,可以使用:
yum list available
若要列出所有已经安装的软件列表,可以使用:
yum list installed
若要列出所有可以更新的软件列表,可以使用:
yum list updates
有些软件虽然被安装在系统中,但是没有被收录在软件库之内(例如手动安装的RPM 软件),若要列出这种软件可使用:
yum list extras
列出最近安装的软件列表:
yum list recent
搜寻软件
要搜寻包含关键字的软件,可以使用search,例如搜寻有httpd字眼的软件列表:
yum search httpd
如果要找寻有包含特定档案的软件,可以使用provides,例如搜寻有包含/etc/sysconfig/nfs这个档案的软件列表,则可使用:
yum provides /etc/sysconfig/nfs
安装软件
安装rpm软件可用install指令并指定要安装的软件名称,例如安装Apache网页服务器:
sudo yum install httpd
也可以一次安装多个软件:
sudo yum install pkg1 pkg2 pkg3
指定安装软件版本
如果要指定安装软件版本,首先可以使用--showduplicates列出可用的版本:
yum --showduplicates list httpd
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
* base: mirrors.163.com
* epel: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
ce_stable 5/5
Installed Packages
httpd.x86_64 2.4.6-40.el7.centos.4 @updates
Available Packages
httpd.x86_64 2.4.6-40.el7.centos base
httpd.x86_64 2.4.6-40.el7.centos.1 updates
httpd.x86_64 2.4.6-40.el7.centos.4 updates
软件的版本信息可直接加在软件名称后面:
sudo yum install PKGNAME-VERSION
例如:
sudo yum install httpd-2.4.6-40.el7.centos
更新软件
若要更新系统上的RPM软件,可用update指令并指定要更新的软件名称,例如更新httpd软件:
sudo yum update httpd
若不指定软件名称,则会更新目前系统上所有已经安装的软件:
sudo yum update
如果要更新软件至指定的版本,可以改用update-to。
另外一个升级指令是upgrade,其作用跟update类似,不过upgrade会连同淘汰的软件也一起更新:
sudo yum upgrade
通常在更新Linux发行板时,适合使用upgrade来升级软件。
检查可更新的软件
check-update 可以列出系统上所有可更新的RPM 软件列表,这个指令不是互动是的,可以在指令稿中使用:
yum check-update
移除软件
若要移除软件可以使用remove指令,并加上要移除的软件名称:
sudo yum remove httpd
erase的作用与remove相同:
sudo yum erase httpd
移除没有用的软件
由于软件的相依性问题,有些软件在某些状况下会被自动安装,而当系统经过了一段时间、做了一些变动之后,可能会留下一些没有用的软件,这时候可以使用autoremove自动移除这些软件:
sudo yum autoremove
软件资讯
deplist 可以列出指定软件的相依性软件列表:
yum deplist httpd
软件群组
在yum 的软件系统上,相关的软件会被归纳在同一个群组中,除了以单一软件的方式搜寻与安装之外,也可以用群组的方式一次安装所有相关的软件,这样的好处是可以把相类关的工具一次安装好,比较不容易遗漏。
grouplist 可以列出所有可用的群组:
yum grouplist
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* epel: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
Available Environment Groups:
最小型安装
基础架构服务器
运算节点
文件和打印服务器
MATE 桌面
基本网站服务器
虚拟主机
含有GUI 的伺服器
GNOME 桌面环境
KDE Plasma Workspaces
....
Available Groups:
CIFS 文件伺服器
Eclipse
FCoE 存储体客户端
Fedora 软体打包员
Haskell
Legacy UNIX 相容性
Milkymist
....
系统上有很多种软件群组,若要安装软件群组可以使用groupinstall:
sudo yum groupinstall 'MATE 桌面'
若要更新软件群组,可以使用groupupdate:
sudo yum groupupdate 'MATE 桌面'
若要移除软件群组,可以使用groupremove:
sudo yum groupremove 'MATE 桌面'
软件库
repolist 可以列出目前启用的软件库:
yum repolist
若要列出所有可用的软件库,则执行:
yum repolist all
如果要从未启用的软件库安装软件,可以加上--enablerepo参数:
sudo yum --enablerepo=epel-testing install vim-X11.x86_64
清理缓存
clean 指令可以用来清理缓存信息,若要清理缓存的RPM 标头档则执行:
yum clean headers
若要清理缓存的RPM 软件档则执行:
yum clean packages
若要清理所有的缓存则执行:
yum clean all