yum 用法整理
基本指令
- 安裝套件:
yum install 套件名稱
- 昇級套件:
yum update 套件名稱
- 昇級全部套件:
yum update
- 昇級全部套件及發行版本 (請小心使用):
yum upgrade
- 移除套件:
yum remove 套件名稱
- 清除暫存檔 (/var/cache/yum):
yum clean all
查詢功能
- 列出所有的套件,包含已安裝、可安裝:
yum list
或列出特定套件:
yum list 套件名稱
或加上萬用字元:
yum list 套件名稱*
- 列出所有已安裝的套件:
yum list installed
相當於:
rpm -qa
或列出特定套件:
yum list installed 套件名稱
或加上萬用字元:
yum list installed 套件名稱*
相當於:
rpm -q 套件名稱
不過更建議用 yum info 指令:
yum info 套件名稱
也可以知道套件是否已安裝,並且顯示更多的套件資訊。
- 查詢可更新的套件:
yum list updates
或:
yum check-update
- 查詢套件資訊:
yum info 套件名稱
或加上萬用字元:
yum info 套件名稱*
- 搜尋套件:
yum search 關鍵字
ex:
yum search zlib
- 查詢特定檔案存在於什麼套件之中:
yum provides 檔案名稱 或: yum provides */檔案名稱 或: yum resolvedep 檔案名稱
ex:
yum provides libz.* 或: yum provides */nslookup 或: yum resolvedep libz.so.1
套件組
- 查看已安裝與可安裝的套件組:
yum grouplist
- 安裝套件組:
yum groupinstall "套件組名稱"
ex:
yum groupinstall "KDE Desktop"
- 昇級套件組:
yum groupupdate "套件組名稱"
- 移除套件組:
yum groupremove "套件組名稱"
- 查看套件組資訊:
yum groupinfo "套件組名稱"
下載 RPM 檔
下載 RPM 檔至指定目錄:
yum install --downloadonly --downloaddir=儲存路徑 套件名稱
ex:
yum install --downloadonly --downloaddir=/tmp/nginx nginx
注意事項:
- yum 所下載的 RPM 檔是基於目前的系統環境,會下載系統所缺少的套件,以及相依的套件。換言之,如果你要下載的套件在目前的系統已經安裝過了,yum 便不會再單獨下載了。
- 建議一定要加 --downloaddir 參數來指定檔案的儲存路徑! 如果沒有加此參數,那麼預設會下載到:
/var/cache/yum/x86_64/版本/套件庫/packages/
安裝 RPM 檔
本地安裝 RPM 檔:
yum localinstall 檔案名稱
另外要說明的是,如果你要在本地安裝的 RPM 檔有「相依套件」需要一併安裝,則其相依套件仍會經由 yum 去下載回來,ex:
$ yum localinstall nginx-1.10.3-1.el6.x86_64.rpm ... ====================================================================================== Package Arch Version Repository Size ====================================================================================== Installing: nginx x86_64 1.10.3-1.el6 /nginx-1.10.3-1.el6.x86_64 1.3 M Installing for dependencies: nginx-all-modules noarch 1.10.3-1.el6 epel 7.9 k nginx-filesystem noarch 1.10.3-1.el6 epel 8.7 k nginx-mod-http-geoip x86_64 1.10.3-1.el6 epel 14 k nginx-mod-http-image-filter x86_64 1.10.3-1.el6 epel 16 k nginx-mod-http-perl x86_64 1.10.3-1.el6 epel 26 k nginx-mod-http-xslt-filter x86_64 1.10.3-1.el6 epel 16 k nginx-mod-mail x86_64 1.10.3-1.el6 epel 43 k nginx-mod-stream x86_64 1.10.3-1.el6 epel 36 k Transaction Summary ====================================================================================== Install 9 Package(s) Total size: 1.5 M Total download size: 168 k Installed size: 1.6 M
如果你本來就已經經由 --downloadonly 參數將全部的相依套件都下載回來了,你不希望 yum 再下載一次,那麼你可以將所有的套件檔案放在同一個目錄,安裝時的檔案名稱改用 *.rpm 來安裝:
$ yum localinstall *.rpm ... ============================================================================================================ Package Arch Version Repository Size ============================================================================================================ Installing: nginx x86_64 1.10.3-1.el6 /nginx-1.10.3-1.el6.x86_64 1.3 M nginx-all-modules noarch 1.10.3-1.el6 /nginx-all-modules-1.10.3-1.el6.noarch 0.0 nginx-filesystem noarch 1.10.3-1.el6 /nginx-filesystem-1.10.3-1.el6.noarch 0.0 nginx-mod-http-geoip x86_64 1.10.3-1.el6 /nginx-mod-http-geoip-1.10.3-1.el6.x86_64 17 k nginx-mod-http-image-filter x86_64 1.10.3-1.el6 /nginx-mod-http-image-filter-1.10.3-1.el6.x86_64 21 k nginx-mod-http-perl x86_64 1.10.3-1.el6 /nginx-mod-http-perl-1.10.3-1.el6.x86_64 53 k nginx-mod-http-xslt-filter x86_64 1.10.3-1.el6 /nginx-mod-http-xslt-filter-1.10.3-1.el6.x86_64 20 k nginx-mod-mail x86_64 1.10.3-1.el6 /nginx-mod-mail-1.10.3-1.el6.x86_64 96 k nginx-mod-stream x86_64 1.10.3-1.el6 /nginx-mod-stream-1.10.3-1.el6.x86_64 73 k Transaction Summary ============================================================================================================ Install 9 Package(s) Total size: 1.6 M Installed size: 1.6 M
其它說明
當你用 yum 自動更新所有的套件時,如果不想更新 Kernel 的話,請編輯 /etc/yum.conf,在 [main] 區段加入一行:
exclude=kernel*
錯誤處理
- 當安裝套件時出現錯誤訊息:
pkgKey xxx doesn't exist in repo base
你可以執行:
yum clean metadata
解決這個問題。
- 當下載 RPM 檔時出現錯誤訊息:
Command line error: no such option: --downloadonly
表示你的 yum 版本較舊,需要再安裝一個 yum-plugin-downloadonly 套件:
yum install yum-plugin-downloadonly
No comments yet.