如何在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軟體包,包括它們所依賴的軟體包
您只能使用以下語法應用與安全相關的包更新:
$ 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/