http://flycars001.iteye.com/blog/1949085
YUM到底是啥東東?
YUM(Yellowdog Updater Modified)是一款開源命令行及圖形化軟件包管理工具,面向基于RPM(紅帽軟件包管理器)的Linux系統。 它讓廣大用戶和系統管理員可以在系統上輕松地安裝、更新、移除或搜索軟件包。它由Seth Vidal開發和發布,采用了GPL(通用公共許可證),是一款開源工具。這意味著,誰都可以下載和訪問代碼,以修復軟件錯誤,開發定制的軟件包。YUM 通過解決軟件包的依賴項問題,使用眾多的第三方軟件庫來自動安裝軟件包。
1. 使用Yum安裝軟件包
想安裝一個名為Firefox 14的軟件包,只要運行下面這個命令,它會自動尋找并安裝Firefox瀏覽器的所有必要依賴項。
#?yum?install?firefox?Loaded?plugins:?fastestmirror?Dependencies?Resolved?====================================?Package????????????????????Arch????????Version????????????????????Repository????????????Size?====================================Updating:?firefox????????????????????????i686????????10.0.6-1.el6.centos?????updates?????????????20?M?Updating?for?dependencies:?xulrunner?????????????????????i686????????10.0.6-1.el6.centos?????updates?????????????12?M?Transaction?Summary?===========================================Install???????0?Package(s)?Upgrade???????2?Package(s)?Total?download?size:?32?M?Is?this?ok?[y/N]:?y?Downloading?Packages:?(1/2):?firefox-10.0.6-1.el6.centos.i686.rpm????????????????????????????????|??20?MB???01:10?(2/2):?xulrunner-10.0.6-1.el6.centos.i686.rpm??????????????????????????????|??12?MB???00:52?------------------------------------------------------------------------------------------------?Total???????????????????????????????????????????????????????????63?kB/s?|??32?MB???02:04?Updated:?firefox.i686?0:10.0.6-1.el6.centos?Dependency?Updated:?xulrunner.i686?0:10.0.6-1.el6.centos?Complete!?上述命令會先要求予以確認,然后再將任何軟件包安裝到你的系統上。如果你不要求任何確認,就想自動安裝軟件包,可使用選項-y,如下例所示。
#?yum?-y?install?firefox?2. 使用Yum移除軟件包
想完全移除軟件包連同所有依賴項,只要運行下面這個命令,如下所示。
#?yum?remove?firefox?Loaded?plugins:?fastestmirror?Setting?up?Remove?Process?Resolving?Dependencies?-->?Running?transaction?check?--->?Package?firefox.i686?0:10.0.6-1.el6.centos?set?to?be?erased?-->?Finished?Dependency?Resolution?Dependencies?Resolved?===========================================Package????????????????????Arch????????Version????????????????????????Repository????????????Size?===========================================Removing:?firefox????????????????????i686????????10.0.6-1.el6.centos????????????@updates??????????????23?M?Transaction? Summary?===========================================Remove???????1?Package(s)?Reinstall???? ?0?Package(s)?Downgrade?????0?Package(s)?Is?this?ok?[y/N]:?y?Downloading?Packages:?Running?rpm_check_debug?Running?Transaction?Test?Transaction?Test?Succeeded?Running?Transaction?Erasing:firefox-10.0.6-1.el6.centos.i686???????????????????????????????????1/1?Removed:?firefox.i686?0:10.0.6-1.el6.centos?Complete!?同樣,上述命令會先要求予以確認,然后再移除軟件包。想禁用確認提示,只要添加選項-y,如下所示。
?
#?yum?-y?remove?firefox?3. 使用Yum更新軟件包
假設你有過時版本的MySQL軟件包,想把它更新到最新的穩定版本。只要運行下面這個命令,它就會自動解決所有的依賴項問題,并安裝依賴項。
#?yum?update?mysql?Loaded?plugins:?fastestmirror?Dependencies?Resolved?===========================================Package????????????Arch????????????????Version????????????Repository?????????Size?===========================================Updating:?vsftpd?????????????i386??????????2.0.5-24.el5_8.1???????????updates???????????????144?k?Transaction? Summary?Install???????0?Package(s)?Upgrade?????1?Package(s)?Total?size:?144?k?Is?this?ok?[y/N]:?y?Downloading?Packages:?Running?rpm_check_debug?Running?Transaction?Test?Finished?Transaction?Test?Transaction?Test?Succeeded?Running?Transaction?Updating???????:?vsftpd??????????????????????????????????1/2?Cleanup????????:?vsftpd??????????????????????????????????2/2?Updated:?vsftpd.i386?0:2.0.5-24.el5_8.1?Complete!?4. 使用Yum列出軟件包
使用list函數,可搜索帶名稱的特定軟件包。比如說,想搜索一個名為openssh的軟件包,使用該命令。
#?yum?list?openssh?Loaded?plugins:?fastestmirror?Loading?mirror?speeds?from?cached?hostfile?*?base:?mirror.neu.edu.cn?*?epel:?mirror.neu.edu.cn?*?extras:?mirror.neu.edu.cn?*?rpmforge:?mirror.nl.leaseweb.net?*?updates:?mirror.nus.edu.sg?Installed?Packages?openssh.i386? ??4.3p2-72.el5_6.3???????????????????????????installed?Available?Packages?? 4.3p2-82.el5??????????????????????????base?想讓你的搜索更精確,明確軟件包名稱的版本,如果你知道的話。比如說,想搜索軟件包的特定版本openssh-4.3p2 ,使用該命令。
#?yum?list?openssh-4.3p2?5. 使用Yum搜索軟件包
要是你不記得軟件包的確切名稱,那么可以使用search函數,搜索與指定軟件包的名稱相匹配的所有可用軟件包。比如說,想搜索與vsftpd這個單詞匹配的所有軟件包。
#?yum?search?vsftpd?Loaded?plugins:?fastestmirror?Loading?mirror?speeds?from?cached?hostfile?*?base:?mirror.neu.edu.cn?*?epel:?mirror.neu.edu.cn?*?extras:?mirror.neu.edu.cn?*?rpmforge:?mirror.nl.leaseweb.net?*?updates:?ftp.iitm.ac.in?==============================?Matched:?vsftpd?========================?ccze.i386?:?A?robust?log?colorizer?pure-ftpd-selinux.i386?:?SELinux?support?for?Pure-FTPD?vsftpd.i386?:?vsftpd?-?Very?Secure?Ftp?Daemon?6. 使用Yum獲取軟件包信息
假設你想在安裝軟件包之前先知道它的信息。想獲得某軟件包的信息,只要執行下面這個命令。
#?yum?info?firefox?Loaded?plugins:?fastestmirror?Loading?mirror?speeds?from?cached?hostfile?*?base:?mirror.neu.edu.cn?*?epel:?mirror.neu.edu.cn?*?extras:?mirror.neu.edu.cn?*?rpmforge:?mirror.nl.leaseweb.net?*?updates:?ftp.iitm.ac.in?Available?Packages?Name??????:?firefox?Arch???????:?i386?Version?????:?10.0.6?Release?????:?1.el5.centos?Size????????:?20?M?Repo???????:?updates?Summary????:?Mozilla?Firefox?Web?browser?URL???????:?http://www.mozilla.org/projects/firefox/?License?????:?MPLv1.1?or?GPLv2+?or?LGPLv2+?Description??:?Mozilla?Firefox?is?an?open-source?web?browser,?designed?for?standards?:?compliance,?performance?and?portability.?7. 使用Yum列出所有的可用軟件包
想列出Yum數據庫中所有的可用軟件包,使用下面這個命令。
#?yum?list?|?less?8. 使用Yum列出所有的已安裝軟件包
想列出系統上所有的已安裝軟件包,只要執行下面這個命令,它會顯示所有的已安裝軟件包。
#?yum?list?installed?|?less?9. Yum Provides函數
Yum provides函數用于查找某個特定文件屬于哪個軟件包。比如說,如果你想知道含有/etc/httpd/conf/httpd.conf文件的軟件包的名稱。
#?yum?provides?/etc/httpd/conf/httpd.conf?Loaded?plugins:?fastestmirror?httpd-2.2.3-63.el5.centos.i386?:?Apache?HTTP?Server?Repo????????:?base?Matched?from:?Filename????:?/etc/httpd/conf/httpd.conf?httpd-2.2.3-63.el5.centos.1.i386?:?Apache?HTTP?Server?Repo????????:?updates?Matched?from:?Filename????:?/etc/httpd/conf/httpd.conf?httpd-2.2.3-65.el5.centos.i386?:?Apache?HTTP?Server?Repo????????:?updates?Matched?from:?Filename????:?/etc/httpd/conf/httpd.conf?httpd-2.2.3-53.el5.centos.1.i386?:?Apache?HTTP?Server?Repo????????:?installed?Matched?from:?Other???????:?Provides-match:?/etc/httpd/conf/httpd.conf?10. 使用Yum檢查可用更新版
想找出你系統上有多少已安裝軟件包有可用更新版,只要使用下面這個命令。
#?yum?check-update?11. 使用Yum更新系統
想確保系統版本最新,打上了所有的安全補丁和二進制軟件包更新,只要運行下面這個命令。它會為你的系統安裝所有最新的補丁和安全更新版。
#?yum?update?12. 列出所有的可用群組軟件包
在Linux中,軟件包數量與特定群組捆綁在一起。你可以安裝某個群組,它就會安裝屬于該群組的所有相關軟件包,用不著使用Yum安裝單個軟件包。比如說,想列出所有的可用群組,只要執行下面這個命令。
?
#?yum?grouplist?Installed?Groups:?Administration?Tools?DNS?Name?Server?Dialup?Networking?Support?Editors?Engineering?and?Scientific?FTP?Server?Graphics?Java?Development?Legacy?Network?Server?Available?Groups:?Authoring?and?Publishing?Base?Beagle?Cluster?Storage?Clustering?Development?Libraries?Development?Tools?Eclipse?Educational?Software?KDE?(K?Desktop?Environment)?KDE?Software?Development?13. 安裝群組軟件包
想安裝某個軟件包群組,我們使用選項groupinstall。比如說,想安裝"MySQL Database",只要執行下面這個命令。
#?yum?groupinstall?'MySQL?Database'?Dependencies?Resolved?==================================================================Package????Arch??????Version???Repository????????Size?==================================================================Updating:?unixODBC???????????????????????????i386??????2.2.11-10.el5??????base??????????????290?k?Installing?for?dependencies:?unixODBC-libs??????????????????????i386??????2.2.11-10.el5??????base??????????????551?k?Transaction?Summary?==================================================================Install???????1?Package(s)?Upgrade???????1?Package(s)?Total?size:?841?k?Is?this?ok?[y/N]:?y?Downloading?Packages:?Running?rpm_check_debug?Running?Transaction?Test?Finished?Transaction?Test?Transaction?Test?Succeeded?Running?Transaction?Installing?????:?unixODBC-libs??1/3?Updating???????:?unixODBC?????????2/3?Cleanup????????:?unixODBC?????????3/3?Dependency?Installed:?unixODBC-libs.i386?0:2.2.11-10.el5?Updated:?unixODBC.i386?0:2.2.11-10.el5?Complete!?14. 更新群組軟件包
想更新任何現有的已安裝群組軟件包,只要運行下面這個命令,如下所示。
#?yum?groupupdate?'DNS?Name?Server'?Dependencies?Resolved?==================================================================Package????Arch???????????Version??Repository???????????Size?==================================================================?Updating:?bind???????????????????????????i386????????????30:9.3.6-20.P1.el5_8.2??????????updates??????????????981?k?bind-chroot????????????????????i386????????????30:9.3.6-20.P1.el5_8.2??????????updates??????????????47?k?Updating?for?dependencies:?bind-libs??????????????????????i386????????????30:9.3.6-20.P1.el5_8.2??????????updates??????????????864?k?bind-utils?????????????????????i386????????????30:9.3.6-20.P1.el5_8.2??????????updates??????????????174?k?Transaction?Summary?Install???????0?Package(s)?Upgrade???????4?Package(s)?Total?size:?2.0?M?Is?this?ok?[y/N]:?y?Downloading?Packages:?Running?rpm_check_debug?Running?Transaction?Test?Finished?Transaction?Test?Transaction?Test?Succeeded?Running?Transaction?Updating???????:?bind-libs????????????1/8?Updating???????:?bind?????????????????2/8?Updating???????:?bind-chroot??????????3/8?Updating???????:?bind-utils???????????4/8?Cleanup????????:?bind?????????????????5/8?Cleanup????????:?bind-chroot??????????6/8?Cleanup????????:?bind-utils???????????7/8?Cleanup????????:?bind-libs????????????8/8?Updated:?bind.i386?30:9.3.6-20.P1.el5_8.2??????????????????bind-chroot.i386?30:9.3.6-20.P1.el5_8.2?Dependency?Updated:?bind-libs.i386?30:9.3.6-20.P1.el5_8.2?????????????bind-utils.i386?30:9.3.6-20.P1.el5_8.2?Complete!?15. 移除群組軟件包
想從系統刪除或移除任何現有的已安裝群組軟件包,只要使用下面這個命令。
?
#?yum?groupremove?'DNS?Name?Server'?Dependencies?Resolved?==========================================Package????????????????Arch??????????????Version?????????????????????????Repository??????????Size?==========================================Removing:?bind???????????????????i386??????????????30:9.3.6-20.P1.el5_8.2?????????installed???????????2.1?M?bind-chroot?????? ?????i386??????????????30:9.3.6-20.P1.el5_8.2?????????installed???????????0.0?Transaction?Summary?==========================================Remove????????2?Package(s)?Reinstall?????0?Package(s)?Downgrade?????0?Package(s)?Is?this?ok?[y/N]:?y?Downloading?Packages:?Running?rpm_check_debug?Running?Transaction?Test?Finished?Transaction?Test?Transaction?Test?Succeeded?Running?Transaction?Erasing????????:?bind???????????????????????????????????????????????????1/2?warning:?/etc/sysconfig/named?saved?as?/etc/sysconfig/named.rpmsave?Erasing????????:?bind-chroot????????????????????????????????????????????2/2?Removed:?bind.i386?30:9.3.6-20.P1.el5_8.2????????????????????????????????????????bind-chroot.i386?30:9.3.6-20.P1.el5_8.2?Complete!?16. 列出啟用的Yum軟件庫
列出系統里面所有啟用的Yum軟件庫,使用下面這個選項。
#?yum?repolist?repo?id?????????????????????repo?name????????????????????????????????????????????status?base???????????????????????CentOS-5?-?Base????????????????????????????? ????????enabled:??2,725?epel???????????????????????Extra?Packages?for?Enterprise?Linux?5?-?i386????? ??? ?enabled:??5,783?extras??????????????????????CentOS-5?-?Extras??????????????????????????????????????enabled:????282?mod-pagespeed??????????????mod-pagespeed????????????????????????????????????????enabled:??????1?rpmforge???????????????????RHEL?5?-?RPMforge.net?-?dag?????????????????????????????enabled:?11,290?updates????????????????????CentOS-5?-?Updates?????????????????????????????????????enabled:????743?repolist:?20,824?17. 列出所有啟用和禁用的Yum軟件庫
下面這個命令會顯示系統上所有啟用和禁用的yum軟件庫。
#?yum?repolist?all?repo?id?????????????????????repo?name????????????????????????????????????????????status?C5.0-base???????????????????CentOS-5.0?-?Base?????????????????????????????????????disabled?C5.0-centosplus??????????????CentOS-5.0?-?Plus??????????????????????????????????????disabled?C5.0-extras??????????????????CentOS-5.0?-?Extras????????????????????????????????????disabled?base????????????????????????CentOS-5?-?Base??????????????????????????????????????enabled:??2,725?epel????????????????????????Extra?Packages?for?Enterprise?Linux?5?-?i386????????????????enabled:??5,783?extras??????????????????????CentOS-5?-?Extras??????????????????????????????????????enabled:????282?repolist:?20,824?18. 安裝來自特定軟件庫的軟件包
想安裝來自某個啟用或禁用的軟件庫的某個軟件包,必須在yum命令中使用-enablerepo選項。比如,想安裝PhpMyAdmin 3.5.2軟件包,只要執行這個命令。
?
#?yum?--enablerepo=epel?install?phpmyadmin?Dependencies?Resolved?==================================================================?Package????????????????Arch???????????Version????????????Repository???????????Size?==================================================================Installing:?phpMyAdmin?????????????noarch?????????3.5.1-1.el6????????epel?????????????????4.2?M?Transaction?Summary?==================================================================Install???????1?Package(s)?Total?download?size:?4.2?M?Installed?size:?17?M?Is?this?ok?[y/N]:?y?Downloading?Packages:?phpMyAdmin-3.5.1-1.el6.noarch.rpm???????????????????????|?4.2?MB?????00:25?Running?rpm_check_debug?Running?Transaction?Test?Transaction?Test?Succeeded?Running?Transaction?Installing?:?phpMyAdmin-3.5.1-1.el6.noarch?????????????1/1?Verifying??:?phpMyAdmin-3.5.1-1.el6.noarch?????????????1/1?Installed:?phpMyAdmin.noarch?0:3.5.1-1.el6?Complete!?19. 交互式Yum外殼
Yum實用工具提供了一個自定義外殼,你可以在這個環境下執行多個命令。
#?yum?shell?Loaded?plugins:?fastestmirror?Setting?up?Yum?Shell?>?update?httpd?Loading?mirror?speeds?from?cached?hostfile?*?base:?mirrors.sin3.sg.voxel.net?*?epel:?ftp.riken.jp?*?extras:?mirrors.sin3.sg.voxel.net?*?updates:?mirrors.sin3.sg.voxel.net?Setting?up?Update?Process?>?20. 清理Yum緩存內容
默 認情況下,yum將所有軟件庫中啟用軟件包的數據,連同每個子目錄保存在/var/cache/yum/中,想清除啟用軟件庫中的所有緩存文件,你要定期 運行下面這個命令,清理所有緩存內容,并確保沒有任何東西在使用不必要的存儲空間。我們不想給出下面這個命令的輸出結果,因為我們想保持緩存數據的原來樣 子。
#?yum?clean?all?21. 查看Yum的歷史記錄
想查看Yum命令的所有過去的事務,只要使用下面這個命令。
#?yum?history?Loaded?plugins:?fastestmirror?ID?????|?Login?user???????????????|?Date?and?time????|?Action(s)??????|?Altered?------------------------------------------------------------------?10?|?root???????????????|?2012-08-11?15:19?|?Install????????|????3?9?|?root???????????????|?2012-08-11?15:11?|?Install????????|????1?8?|?root???????????????|?2012-08-11?15:10?|?Erase??????????|????1?EE?7?|?root???????????????|?2012-08-10?17:44?|?Install????????|????1?6?|?root???????????????|?2012-08-10?12:19?|?Install????????|????2?5?|?root???????????????|?2012-08-10?12:14?|?Install????????|????3?4?|?root???????????????|?2012-08-10?12:12?|?I,?U???????????|???13?E<?3?|?root???????????????|?2012-08-09?13:01?|?Install????????|????1?>?2?|?root???????????????|?2012-08-08?20:13?|?I,?U???????????|??292?EE?1?|?System????????????|?2012-08-08?17:15?|?Install????????|??560?history?list?我們試圖探討所有基本面,給出了每個Yum命令的示例。要是遺漏了與Yum命令有關的任何內容,請在此留言告知我們,以便我們根據收到的反饋,不斷更新內容。
轉載于:https://www.cnblogs.com/davidwang456/p/3346963.html
總結
以上是生活随笔為你收集整理的用于软件包管理的21个Linux YUM命令 转载的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。