『学了就忘』Linux软件包管理 — 46、yum命令详细介绍
1、yum命令的查询操作
(1)查询yum
源服务器上所有可安装的软件包列表。
# 查询所有可用软件包列表
[root@localhost yum.repos.d]# yum list
# 已经安装的软件包
Installed Packages
ConsoleKit 1686 0. 4.1-3 e16 @anaconda-CentOS-201207051201. 1386/6.3
ConsoleKit-libs 1686 0. 4.1-3 e16 @anaconda-CentOS-201207051201. 1386/6.3
...
# 并还可以安装的软件包
Available Packages
软件名 版本 所在位置(光盘)
389-ds-base 1686 1.2.10.2-15.e16 c6-media
389-ds-base-devel 1686 1.2.10.2-15.e16 c6-medi
......
(2)查询yum
源服务器中是否包含某个软件包。
# 查询单个软件包
[root@localhost yum.repos.d]# yum list 包名
# 例如:
[root@localhost yum.repos.d]# yum list samba
Available Packages
samba.i686 3.5.10-125.e16 c6-media
(3)搜索yum
源服务器上所有和关键字相关的软件包。(比较常用)
# 搜索服务器上所有和关键字相关的软件包
[root@localhost yum.repos.d ] # yum search 关键字
示例如下图:
注意:
yum search
搜索可以用于确定某个软件在哪个相关包当中。
如可以确定ifconfig
命需要安装net-tools
包。
提示:
ifconfig
命令在Red Hat 7中默认不安装。需要自己手动安装net-tools
包.
(4)查询指定软件包的信息。
如下图所示:
2、使用yum命令安装服务
在yum
中不再区分包名和包全名了,统一写包名就可以了。因为yum
要去源服务器去搜索就可以找到。而手动安装,必须区分包名和包全名。
[root@localhost yum.repos.d]# yum -y install 包名
选项:
install : 安装。
-y : 自动回答yes。如果不加-y,那么每个安装的软件都需要手工回答yes。
例如:
# 使用yum自动安装gcc
[root@localhost yum.repos.d]# yum -y install gcc
注意:如果要用
yum
命令来安装,就要知道软件的包名。如果不知道包名,只知道文件名,用上边的yum search
命令,来查询文件所在的包名。
3、使用yum命令升级服务
# 1.升级指定的软件包
[root@localhost yum.repos.d]# yum -y update 包名
选项:
update: 升级
-у: 自动回答yes
注意:在进行升级操作时,
yum
源服务器中软件包的版本要比本机安装的软件包的版本高才能升级。
# 2.升级本机所有软件包
[root@localhost yum.repos.d]# yum -y update
# 提示:
# 上边这条命令不加最后的包名,会升级系统中所有的软件包。
# 不过我们的生产服务器是稳定优先的,
# 所以这种全系统级的情况并不多见。
4、使用yum命令卸载服务
再次强调一下,除非你确定卸载的软件的依赖包不会对系统产生影响,否则不要执行yum
的卸载,因为很有可能在卸载软件包的同时卸载的依赖包也是重要的系统文件,这就有可能导致系统崩溃。原因可以查看文章https://www.cnblogs.com/liuyuelinfighting/p/15557331.html最后的注意。
卸载命令如下:
# 卸载指定的软件包
[root@localhost yum.repos.d]# yum remove 包名
# 示例:
# 卸载samba软件包
[root@localhost yum.repos.d]# yum remove samba
5、yum组管理命令
(1)查询可以安装的软件组
yum
的组管理就可以理解为,在安装的时候最后的图形界面中,有一个更详细的组管理安装工具。在之前文章https://www.cnblogs.com/liuyuelinfighting/p/15481660.html 中下图的位置,在(17)点。
我们装好系统之后,依然可以使用上面的功能的。这样会是有一些软件的安装会非常的方便。比如说,语言的编码,因为你不知道需要安装语言所需要安装哪些包的包名,所以你就需要按组来进行安装,这样会非常方便。
# 列出所有可用的软件组列表
[root@localhost ~]# yum grouplist
(2)查询软件组内包含的软件
# 列出软件组中包含的软件
[root@localhost ~]# yum groupinfo 软件组名
# 示例:
# 查询软件组"Web Server"中包含的软件
[root@localhost ~]# yum groupinfo "Web Server"
(3)安装软件组
# 安装指定软件组,组名可以由grouplist查询出来
[root@localhost ~]# yum groupinstall 软件组名
# 示例:
# 安装网页服务软件组
[root@localhost ~]# yum groupinstall "Web Server"
(4)卸载软件组
# 卸载指定软件组
[root@localhost ~]# yum groupremove 软件组名