加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

LinuxYum常用命令

(2019-07-01 22:15:18)

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

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有