如何在CentOS / RHEL上使用yum命令

如何使用yum命令通过RHN或Internet更新来修复我的红帽企业Linux/CentOS Linux版本5.x/6.x/7.x服务器?

可以在RHEL V5.x下使用 up2date 命令吗?

up2date命令是RHEL V4.X或旧版本的一部分。您需要使用YUM命令来使用RHN或Internet更新以修补系统。

使用yum命令安装关键和非关键安全更新以及二进制包。作为根用户登录以安装和更新系统。

这个页面显示了一些常见的系统管理员任务,您可以在CentOS或RHEL上使用yum命令来执行这些任务。


如何使用RHN注册我的基于RHEL的系统

要使用RHN注册RHEL 5.x系统,请键入以下命令,然后按照屏幕说明操作(CentOS用户跳到下一步):
# rhn_register


使用RHN类型注册RHEL 7.x系统
# subscription-manager register --username tom --password jerry --auto-attach

 

警告!这些示例仅适用于RHEL / CentOS Linux 5.x或更高版本。对于RHEL 4.x及更早版本,请使用up2date命令

如何显示更新的软件和安全修复程序列表

在shell提示符下键入以下命令:


# yum list updates


示例输出:

加载的插件:fastermirror 
从缓存的hostfile 
 * base 加载镜像速度:ftp.iitm.ac.in 
 * epel:repo.ugm.ac.id 
 * extras:ftp.iitm.ac.in 
 * updates:ftp.iitm.ac.in 
更新的软件包
apr.x86_64 1.3.9- 5 .el6_9.1更新
device-mapper.x86_64 1.02.117- 12 .el6_9.1更新
device-mapper-libs.x86_64 1.02.117- 12 .el6_9.1更新
kernel-devel .x86_64 2.6.32-696.16.1.el6更新
kernel-headers.x86_64 2.6.32-696.16.1.el6更新
libblkid.x86_64 2.17.2- 12.28 .el6_9.1更新
libuuid.x86_64 2.17.2- 12.28 .el6_9.1更新
util-linux-ng.x86_64 2.17。 2- 12.28 .el6_9.1更新

如何确定我的系统上已安装的软件包是否存在更新

# yum check-update

 

通过应用所有更新来修补系统

要下载并安装所有更新,请键入以下命令:


# yum update


示例输出:

更新所有CentOS 6.x软件包,包括它们所依赖的软件包

更新所有CentOS 6.x软件包,包括它们所依赖的软件包


您只能使用以下语法应用与安全相关的包更新:


$ sudo yum update --security

 

更新指定的包

更新指定的包。语法是


$ yum update {package-name-1}


检查并更新httpd包,输入:


$ sudo yum update httpd


您可以使用以下语法将一个包更新为特定版本,例如nginx:


$ ## first find a list of all dups ##
$ yum --showduplicates list nginx
$ ## now update to particular version ##
$ sudo yum update-to nginx-version
$ sudo yum update-to nginx-1.12.2-1.el7

 

列出所有已安装的包

要列出所有已安装的软件包,请输入:Sample outputs:


$ rpm -qa ## not recommend just use yum ##
$ yum list installed

 

加载的插件:fastermirror 
从缓存的hostfile 
 * base 加载镜像速度:ftp.iitm.ac.in 
 * epel:mirror1.ku.ac.th 
 * extras:ftp.iitm.ac.in 
 * updates:ftp.iitm.ac.in 
已安装的软件包
GeoIP.x86_64 1.5.0- 11 .el7 @base    
OpenEXR-libs.x86_64 1.7.1- 7 .el7 @base    
SDL.x86_64 1.2.15- 14 .el7 @base    
ShellCheck.x86_64 0.3.5- 1 .el7 @epel   
acl.x86_64 2.2.51- 12 .el7 @base    
alsa-lib.x86_64 1.1.3- 3 .el7 @base    
apr.x86_64 1.4.8- 3 .el7_4.1 @updates 
apr-util.x86_64 1.5.2- 6 .el7 @base    
atk.x86_64 2.22.0- 3 .el7 @base    
atk-devel.x86_64 2.22.0- 3 .el7 @base   
atlas.x86_64 3.10.1- 12 .el7 @base    
audit-libs.x86_64 2.7.6- 3 .el7 @base    
autoconf.noarch                                     2.69 - 11 .el7 @base    
autogen-libopts.x86_64                              5.18 - 5 .el7 @base    
.. .. 
.. 
... 
yum-plugin-fastermirror.noarch 1.1.31- 42. .el7 @base   
zip.x86_64                                          3.0 - 11 .el7 @base    
zlib.x86_64 1.2.7- 17 .el7 @base    
zlib-devel.x86_64 1.2.7- 17 .el7 @base

找出是否在系统上安装了httpd包

$ rpm -qa | grep httpd*
$ yum list installed httpd


样本输出:

加载的插件:fastermirror 
从缓存的hostfile 
 * base 加载镜像速度:centos.excellmedia.net 
 * epel:repo.ugm.ac.id 
 * extras:centos.excellmedia.net 
 * updates:centos.excellmedia.net 
已安装的软件包
httpd.x86_64 2.4 .6- 67 .el7.centos.6 @updates

列出可用于安装系统上安装的所有软件包的所有软件包

$ yum list
$ yum list
$ yum list | more ## [ Use more command to show info one screen at a time ] ##
$ yum list | grep bash ## [ Use grep command to filter out results ] ##

 

列出可用于安装的所有软件包

$ yum list available
$ yum list available | more
$ yum list available | grep nginx

 

如何按名称搜索包

您可以使用search命令搜索包描述中的指定字符串。list命令也可以使用。要搜索httpd和所有匹配的perl包,请输入:Sample output from :


$ yum list {package-name}
$ yum list {regex}
$ yum list httpd
$ yum list perl*
$ yum search {package-name}
$ yum search nginx
$ yum search nginx*


yum list perl*

加载“installonlyn”插件
加载“安全”插件
设置存储库
从本地文件读取存储库的元数据中
已安装的软件包
perl.i386                                 4:5.8.8- 10 .el5_0.2安装        
Perl的存档- Tar.noarch                   1.30 - 1 .fc6安装        
Perl的BSD-Resource.i386                    1.28 - 1 .fc6.1安装        
Perl的压缩-Zlib.i386                   1.42 - 1安装.fc6       
Perl的DBD-MySQL.i386                       3.0007 - 1 .fc6安装        
的perl-DBI.i386                             1.52 - 1 .fc6安装        
Perl的文摘-HMAC.noarch                   1.01 - 15                 安装        
Perl的文摘-SHA1.i386                     2.11安装-1.2.1        
perl- HTML-Parser.i386                     3.55 - 1 .fc6安装    
..... 
....... 
.. 
perl-libxml-perl.noarch                   0.08-1.2.1基             
的perl-suidperl.i386                        4:5.8.8- 10个 .el5_0.2更新

如何查看有关包的详细信息

语法是:示例输出:


$ yum info {pkg-1} {pkg-2}
$ yum info htop
$ yum info nginx htop

 

显示有关RHEL / CentOS Linux服务器上的程序包的详细信息

显示有关RHEL / CentOS Linux服务器上的程序包的详细信息

 

如何显示包的依赖项列表

语法是:示例输出:


$ yum deplist {pkg}
## show for htop pkg
$ yum deplist htop

加载的插件:fastermirror 
从缓存的hostfile 
 * base 加载镜像速度:centos.excellmedia.net 
 * epel:repo.ugm.ac.id 
 * extras:centos.excellmedia.net 
 * updates:centos.excellmedia.net 
package:htop.x86_64 2.0 .2- 1 .el7 
  依赖性:libc.so.6的( GLIBC_2.15 )( 64位) 
   提供商:glibc.x86_64 2.17 - 196 .el7_4.2 
  依赖性:libgcc_s.so.1 ()( 64位) 
   提供商:libgcc.x86_64 4.8.5- 16 .el7_4.1 
  依赖:libgcc_s.so.1 (GCC_3.0 )( 64位) 
   提供者:libgcc.x86_64 4.8.5- 16 .el7_4.1 
  依赖:libgcc_s.so.1 ( GCC_3.3.1 )( 64位) 
   提供者:libgcc.x86_64 4.8.5- 16 .el7_4.1 
  dependency:libm.so.6 ()( 64bit ) 
   provider:glibc.x86_64 2.17 - 196 .el7_4.2 
  dependency:libm.so.6 ( GLIBC_2.2.5 )( 64bit ) 
   provider:glibc.x86_64 2.17 - 196 .el7_4。 2
  dependency:libncursesw.so.5 ()( 64bit ) 
   provider:ncurses-libs.x86_64 5.9 - 14.20130511 .el7_4 
  dependency:libtinfo.so.5 ()( 64bit ) 
   provider:ncurses-libs.x86_64 5.9 - 14.20130511 .el7_4 
  dependency: rtld ( GNU_HASH ) 
   提供者:glibc.x86_64 2.17 - 196 .el7_4.2 
   提供者:glibc.i686 2.17 - 196 .el7_4.2

如何安装指定的包[RPM(s)]

要安装名为httpd的包:示例输出:
# yum install {package-name-1} {package-name-2}
# yum install httpd
# yum install nginx mariadb-server php-fpm
# yum install htop

 

在CentOS / RHEL上安装名为htop的指定包

在CentOS / RHEL上安装名为htop的指定包


要从名为foo.rpm或http或ftp镜像的本地文件安装软件包:也可以安装特定版本。要在repos中,在列表/搜索命令中查找或显示重复项
$ sudo yum localinstall foo.rpm
$ sudo yum https://server1.cyberciti.biz/foo.rpm


$ yum --showduplicates list php
$ ## now install to particular version ##
$ sudo yum update-to php-version
$ sudo yum update-to php-7.0.2-1.nix

 

如何将程序包降级到早期版本

语法是:
# yum downgrade {pkg}
# yum downgrade nginx

 

如何重新安装包

语法是:


# yum reinstall {pkg}
# yum reinstall httpd

 

如何删除/卸载指定的包[RPM(s)]

删除名为httpd的包,输入:


# yum remove {package-name-1} {package-name-2}
# yum erase {package-name-1} {package-name-2}
# yum remove httpd
# yum erase htop

 

如何删除不需要/不需要的包/ deps

语法是:
# yum autoremove


示例输出:

加载的插件:fastermirror 
解析依赖项
- >运行事务检查
--->包tcp_wrappers-libs.x86_64 0:7.6 - 77 .el7将被删除
- >完成的依赖项解析
- >查找不需要的剩余依赖项
找到并删除0不需要依赖
 
关系已解决的依赖关系= ============================================== ================================================== ====== 
 包Arch版本存储库大小=
 

================================================== ================================================== == 
删除:
 tcp_wrappers-libs x86_64               7.6 - 77 .el7 @base               131 k 
 
交易摘要= ============================== ================================================== ====================== 
删除   1个软件包
已安装大小:131 k 
这是否[ y / N ]:y正在
下载软件包:
运行事务检查
运行事务测试
事务测试成功了

 
运行的事务
  删除:tcp_wrappers的-libs- 7.6 - 77 .el7.x86_64                                                  1 / 1  
  验证:tcp_wrappers的-libs- 7.6 - 77 .el7.x86_64                                                  1 / 1 
  
删除:
  tcp_wrappers的-libs.x86_64 0:7.6 - 77 .el7                                                                 
 
完成!

显示可用包列表

$ yum list all

 

显示组软件列表

键入以下命令:


$ yum grouplist
OR 
$ yum groups list


输出:

已安装的组:
   工程和科学
   MySQL数据库
   编辑器
   系统工具
   基于文本的Internet 
   传统网络服务器
   DNS名称服务器
   拨号网络支持
   FTP服务器
   网络服务器
   旧版软件开发
   旧版软件支持
   开发库
   图形
   Web服务器
   Ruby 
   打印支持
   邮件服务器
   服务器配置工具
   PostgreSQL数据库
可用组:
   Office / Productivity 
   管理工具
   Beagle 
   开发工具
   GNOME软件开发
   X软件开发
   虚拟化
   GNOME桌面环境
   创作和发布
   单声道
   游戏和娱乐
   XFCE-4.4 
   Tomboy 
   Java 
   Java开发
   Emacs 
   X窗口系统
   Windows文件服务器
   KDE软件开发
   KDE(K桌面环境)
   部落
   声音和视频
   FreeNX和NX 
   新闻服务器
   百胜公用事业
   图形互联网
完成

按组安装所有默认包

安装所有“开发工具”组包,输入:
# yum groupinstall "Development Tools"
OR
# yum groups install "Development Tools"

 

按组更新所有默认包

更新所有“开发工具”组包,输入:
# yum groupupdate "Development Tools"
OR
# yum groups update "Development Tools"

 

删除组中的所有包

删除所有“开发工具”组包,输入:


# yum groupremove "Development Tools"
OR
# yum groups remove "Development Tools"

 

显示包组的描述和内容

$ yum groupinfo 'Development Tools'


或样本输出:


$ yum groups info 'Development Tools'
$ yum groups info 'File and Print Server'

加载的插件:fastermirror 
从缓存的hostfile 加载镜像速度
 * base:del-mirrors.extreme-ix.org 
 * epel:ftp.riken.jp 
 * extras:del-mirrors.extreme-ix.org 
 * updates:del-mirrors.extreme -ix.org 
 
环境组:文件和打印服务器
 环境-Id:file-print-server-environment 
 描述:企业的文件,打印和存储服务器。
 强制组:
   + base 
   + core 
   + file-server 
   + print-server 
 可选组:
   + backup-client 
   + backup-server 
   + debugging 
   + directory-client 
   + guest-agents 
   + ha 
   + hardware-monitoring
   + java-platform 
   + large-systems 
   + network-file-system-client 
   + performance 
   + remote-system-management 
   + resilient-storage</span>

安装特定的架构包

如果您使用的是64位RHEL版本,则可以安装32个软件包(请注意,在最新版本的CentOS / RHEL 7.x中删除了32位支持):


# yum install {package-name}.{architecture}
# yum install mysql.i386

 

显示未通过官方RHN订阅的回购安装的软件包

显示所有未通过订阅频道或存储库提供的包,即显示通过其他存储库安装的包:


$ yum list extras


示例输出:

加载“installonlyn”插件
加载“安全”插件
设置存储
库从本地文件读取存储库元数据
额外软件包
DenyHosts.noarch 2.6-python2.4安装        
VMwareTools.i386 6532-44356已安装        
john.i386 1.7.0.2-3.el5.rf安装        
kernel.i686 2.6.18-8.1.15.el5安装        
kernel-devel.i686 2.6.18-8.1.15.el5安装        
lighttpd.i386 1.4.18-1.el5.rf安装       
lighttpd-fastcgi.i386 1.4.18-1.el5.rf安装了        
psad.i386 2.1-1安装了        
rssh.i386 2.3.2-1.2.el5.rf已安装  

显示提供文件的包

您可以轻松找到RPM包提供的文件。例如,找出提供/ etc / passwd文件的内容:


$ yum whatprovides /etc/passwd
OR 
$ yum provides /etc/passwd


示例输出:

加载的插件:fastermirror 
从缓存的hostfile 
 * base 加载镜像速度:centos.excellmedia.net 
 * epel:repo.ugm.ac.id 
 * extras:centos.excellmedia.net 
 * updates:centos.excellmedia.net 
setup-2.8.71- 7.el7.noarch:一组系统配置和设置文件
Repo:base 
Matched from:
Filename:/ etc / passwd 



setup-2.8.71-7.el7.noarch:一组系统配置和设置文件
Repo:@base 
匹配自:
文件名:/ etc / passwd

您可以使用相同的命令列出满足依赖项的包:
$ yum whatprovides {dependency-1} {dependency-2}
$ yum provides string
$ yum provides '*bin/nginx*'

 

如何清理yum缓存

您可以删除所有缓存和下载的包,标题和其他信息:


# yum clean all


示例输出:

加载的插件:fastermirror 
清理repos:base epel extras updates 
清理一切
也许你想要:rm -rf / var / cache / yum,还可以释放被禁用或删除的repos中的孤立数据占用的空间
清理快速镜像列表

 

以上命令可以帮助清除可能由过时标头,网络错误等导致的问题。要检查本地RPM数据库是否存在问题:


# yum check

 

如何列出软件存储库

$ yum repolist


样本输出:

repo id repo name status 
base / 7 / x86_64 CentOS- 7 -  Base                                                  9591 
epel / x86_64 Enterprise Linux 7的额外软件包-  x86_64                  12155 
extras / 7 / x86_64 CentOS- 7 - 附加                                                 327 327 
nginx / x86_64 nginx repo                                                        313 
updates / 7 / x86_64 CentOS- 7- 更新                                               1573 
repolist:23959

请参阅有关已启用的yum存储库的信息

要获取有关nginx repo的信息,请运行:


$ yum repoinfo nginx


Sample outputs:

回购ID:nginx的/ x86_64的
回购名称:nginx的回购
回购状态:启用
回购修订:1511279401 
回购更新时间:周二年11月21  15:50:07 2017年 
回购PKGS:313 
回购尺寸:143中号
回购的BaseURL :http://nginx.org/packages/mainline/centos/ 7 / x86_64的/ 
回购到期:21600第二(小号) (最后:星期六12月的23  16:49:24  2017 ) 
  过滤:只读:本
Repo-filename:/etc/yum.repos.d/nginx.repo 
 
repolist:313

 

如何使用给定的存储库

语法是:


# yum repo-pkgs repo_name_id <list|install|remove|upgrade|reinstall> [pkg]


列出来自nginx存储库的所有包:从nginx存储库


# yum repo-pkgs nginx list


获取有关nginx包的信息:从nginx存储库安装名为'nginx'的包:从nginx存储库安装所有包:清除/删除/删除名为'nginx'的包nginx存储库:从nginx存储库中删除/删除/删除所有包:从nginx存储库升级nginx包:从nginx存储库重新安装nginx包:


# yum repo-pkgs nginx info | more
# yum repo-pkgs nginx info nginx

# yum repo-pkgs nginx install nginx
# yum repo-pkgs nginx install
# yum repo-pkgs nginx remove nginx
# yum repo-pkgs nginx remove
# yum repo-pkgs nginx upgrade nginx
# yum repo-pkgs nginx reinstall nginx

 

如何查看和使用yum历史记录

语法为:有关详细信息,请参阅“ CentOS / RHEL:请参阅yum命令的详细历史记录 ”。


# yum history
# yum history list
# yum info ID
# yum undo ID
# yum redo ID

 

如何查看有关yum命令的帮助

有关更多信息,请参阅yum命令手册页:示例输出:


$ man yum
$ yum help
$ yum help install
$ yum help erase

已加载的插件:fastermirror 
erase PACKAGE ... 

从系统

别名中删除一个或多个软件包:remove

yum命令摘要

Command name Description/usage
yum check-update Display list of available package updates
yum update
yum update pkg1
Update all packages or update the pkg1 package
yum install pkg Install a package
yum localinstall pkg.rpm Install a package from a file named pkg.rpm
yum erase pkg Remove a package
yum remove pkg Same as above
yum autoremove Free disk space by removing unwanted packages
yum reinstall pkg Reinstall a package
yum downgrade pkg Downgrade a package to an older version
yum check Check rpm database for errors/problems
yum clean packages Delete cached packages database
yum clean all Delete out all packages and meta data from disk cache
yum list
yum list installed
yum list php
yum list available
List package names
yum deplist pkg1 Show dependencies for a pkg1
yum info pkg Show info about a package
yum search pkg
yum search regex
Search package names
yum provides string
yum whatprovides string
List package that provides the given file or other info
yum history list Show a list of all yum command history action such as install/update/erase
yum history info ID Get info of yum action ID
yum history undo ID Undo the yum command action from ID
yum history redor ID Redot the yum command action from ID
yum grouplist List package groups
yum groupinstall ‘Group Name’ Install all packages in the given group name
yum groupinfo ‘Group Name’ See packages in the given group name
yum groupremove ‘Group Name’ Remove/Delete all packages in the selected group
yum repolist Show a list of all enabled repositories
yum repoinfo repoID Show info about repoID
yum repo-pkgs repoID list Show packages from repoID repo
yum repo-pkgs repoID install Install all packages from repoID repo
yum repo-pkgs repoID remove Erase all packages from repoID repo
yum repo-pkgs repoID reinstall Reinstall all packages from repoID repo
yum help
yum help command
man yum
Show help about yum command or read yum command man page

参考来源:https://www.cyberciti.biz/faq/rhel-centos-fedora-linux-yum-command-howto/

猜你喜欢

转载自blog.csdn.net/Aria_Miazzy/article/details/84799346
今日推荐