yum 是一種用于在 centos、Red Hat Enterprise linux (RHEL) 等基于 RPM 的 Linux 發行版上安裝、更新和管理軟件包的命令行工具。它可以自動解決軟件包依賴關系,自動下載并安裝所需的軟件包以及它們的依賴項。使用 yum,可以輕松地安裝和升級軟件包,還可以搜索可用的軟件包。
寫在前面
雖然CentOS7、8馬上要停止維護了,但是提供CentOS Stream版本,另外使用CentOS用戶也比較多,因此如果有需要,yum相關指令還是有必要學一下。它簡單而強大,讓你能夠以快速高效的方式獲取所需的軟件包。無需繁瑣的手動下載和處理依賴關系,yum指令會自動處理所有這些。同時,它提供了大量的軟件包選擇,滿足您的各種需求。如果想更好地管理軟件包,并節省時間和精力,不妨嘗試一下yum指令!
yum是什么
yum 是一種用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 發行版上安裝、更新和管理軟件包的命令行工具。它可以自動解決軟件包依賴關系,自動下載并安裝所需的軟件包以及它們的依賴項。使用 yum,可以輕松地安裝和升級軟件包,還可以搜索可用的軟件包。
yum常用指令梳理
要使用 yum,需要具有 root 用戶權限。以下是一些常用的 yum 命令:
- 搜索可用的軟件包:yum search search-term
- 安裝軟件包:yum install package-name
- 顯示已安裝的軟件包:yum list installed
- 移除已安裝的軟件包:yum remove package-name
- 更新可用軟件包列表:yum check-update
- 升級軟件包:yum update package-name
- 清理 Yum 軟件包管理器緩存:yum clean
yum常用指令使用詳解
yum search
yum search 是一個用于在 CentOS 系統中搜索可用軟件包的 yum 命令。它可以根據關鍵字或者正則表達式在軟件包名稱和說明中進行搜索,并返回所有匹配的軟件包列表。例如,要搜索包含 "JAVA" 關鍵字的軟件包,可以運行 :
yum search java
圖片
- 高級搜索:搜索出軟件包名稱是以"java"開頭的軟件包。例如,要搜索軟件包名稱是以java開頭的的軟件包,可以運行
yum search java | grep ^java*
圖片
yum install
yum install 命令是用于在 CentOS 系統中安裝指定軟件包的命令。以下是 yum install 命令的一些常見用法:
- 安裝單個軟件包:使用 yum install 命令后跟軟件包名稱,可以安裝指定的單個軟件包。例如,要安裝 Node.js,可以運行:
yum install nodejs.x86_64
圖片
- 安裝多個軟件包:可以在一條命令中同時安裝多個軟件包,只需將軟件包名稱以空格分隔列出即可。例如,要同時安裝 Node.js 和 npm,可以運行 yum install nodejs npm。
yum install java-1.8.0-openjdk.x86_64 nodejs.x86_64
圖片
yum list
yum list 命令用于在 CentOS 系統中列出 Yum 軟件包管理器中可用的軟件包。以下是 yum list 命令的一些常見用法:
- 列出所有可用的軟件包:運行 yum list 命令,結果列表包括已安裝的軟件包和可供安裝的軟件包。如果想對搜索結果進一步有針對性的搜索,可以運行yum list installed | grep ^java
yum list
yum list | grep ^java
圖片
- 列出已安裝的軟件包:使用 yum list installed 命令,將列出已在系統上安裝的所有軟件包及其版本。
#列出所有已經安裝的軟件包
yum list installed
#列出已經安裝的軟件包,軟件包名稱是以java開頭的
yum list installed | grep ^java
圖片
- 列出已安裝但不再可用的軟件包:使用 yum list extras 命令,將列出已在系統上安裝但不再可用的軟件包及其版本。
yum list extras
- 列出可更新的軟件包:通過運行 yum list updates 命令,將列出可用的軟件包更新。這些是已安裝的軟件包的新版本。
yum list updates
- 列出已安裝但有安全漏洞的軟件包:通過運行 yum list security 命令,將列出已安裝的但存在安全漏洞的軟件包及其版本。
yum list security
- 列出所有可用軟件包及其版本:通過運行 yum list security 命令,可以列出系統中所有可用的 軟件包及其版本信息,包括來自不同軟件源的版本,如運行yum list --showduplicates Nginx,可以列出所有可用的 Nginx 軟件包及其版本信息。
yum list --showduplicates nginx
圖片
yum check-update
yum check-update 命令用于在 CentOS 系統中檢查可用的軟件包更新,但不執行實際的更新操作。以下是 yum check-update 命令的一些常見用法:
- 檢查所有可用的軟件包更新:運行 yum check-update 命令,將列出所有可用的軟件包更新及其版本信息。這些是已安裝的軟件包的新版本。
yum check-update
- 檢查特定軟件包的更新:通過在 yum check-update 命令后跟軟件包名稱,可以檢查特定軟件包的可用更新。例如,要檢查名為 "java-1.8.0-openjdk.x86_64" 的軟件包是否有更新,可以運行如下指令:
yum check-update java-1.8.0-openjdk.x86_64
圖片
yum update
yum update 命令用于在 CentOS 系統中更新已安裝的軟件包到最新版本。以下是 yum update 命令的一些常見用法:
- 更新所有已安裝軟件包:運行 yum update 命令,將更新所有已安裝的軟件包到最新版本。
- 更新特定軟件包:通過在 yum update 命令后跟軟件包名稱,可以更新特定軟件包到最新版本。例如,要更新名為 " curl.x86_64" 的軟件包,可以運行 yum update curl.x86_64。
yum update curl.x86_64
圖片
yum remove
yum remove 命令用于在 CentOS 系統中移除已安裝的軟件包。以下是 yum remove 命令的一些常見用法:
- 移除特定軟件包:通過在 yum remove 命令后跟軟件包名稱,可以移除特定軟件包。例如,要移除名為 "java-1.8.0-openjdk.x86_64" 的軟件包,可以運行 yum remove java-1.8.0-openjdk.x86_64。
yum remove java-1.8.0-openjdk.x86_64
- 移除多個軟件包:通過在 yum remove 命令后跟多個軟件包名稱,以空格分隔,可以同時移除多個軟件包。例如,要移除 "httpd" 和 "MySQL" 兩個軟件包,可以運行 yum remove httpd mysql。
yum remove nodejs.x86_64 nginx.x86_64
- 自動刪除不再使用的依賴包:使用 yum autoremove 命令,將自動刪除不再被其他軟件包依賴的軟件包。這樣可以清理系統上不需要的依賴包。
yum autoremove
yum clean
yum clean 命令用于在 CentOS 系統中清理 yum 軟件包管理器的緩存和臨時文件。以下是 yum clean 命令的一些常見用法:
- 清理所有緩存:使用 yum clean all 命令,將清理所有 yum 緩存目錄中的軟件包數據和其他臨時文件。這會釋放磁盤空間并確保下次 yum 使用最新的軟件包信息。
- 清理軟件包緩存:通過運行 yum clean packages 命令,將清理 yum 緩存目錄中的軟件包數據。這樣可以釋放磁盤空間,并在下次執行 yum 命令時重新下載最新的軟件包。
總結
yum指令是一個用于在centost系統上安裝、更新、刪除軟件的一個非常方便的工具,如果選擇手動去官網下載軟件包,然后再上傳到系統里進行解壓安裝,是一個相當繁瑣的過程,有的時候還會出現缺省某些依賴而導致安裝失敗,而使用yum指令完全不存在這個問題,一個指令就可以解決軟件包及其依賴的安裝,這個方法雖然很方便,但是也有不好的地方,安裝文件、配置文件可能分散在不同的目錄下,如果不熟悉,會有一定困難,不過問題不大,可以使用find指令來檢索,或者在安裝的時候也有一些可選參數來設置安裝目錄,不過大部分人都比較喜歡使用默認的方式,究竟喜歡哪種方式,就看個人習慣了。就我個人而言,我以前喜歡手動安裝,后來我更喜歡自動安裝。