如何使用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软件包,包括它们所依赖的软件包
您只能使用以下语法应用与安全相关的包更新:
$ 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服务器上的程序包的详细信息
如何显示包的依赖项列表
语法是:示例输出:
$ 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的指定包
要从名为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/