8種常用包管理有:1、DPKG,Debian系的包管理系統;2、apt,Debian、Ubuntu上的包管理系統;3、apt-cache,一個apt軟體包管理工具;4、RPM,紅帽系的包管理系統;5、yum,一個解決包依賴關係而存在的軟體包管理器;6、DNF,新一代的rpm軟體包管理器;7、pkg,FreeBSD預設使用的包管理器;8、Pacman,Arch系的包管理系統。
本教學操作環境:linux7.3系統、Dell G3電腦。
大多數現代的類 Unix 作業系統都提供了一種中心化的機制用來搜尋和安裝軟體。軟體通常都是存放在儲存庫中,並通過包的形式進行分發。處理包的工作被稱為包管理。包提供了作業系統的基本元件,以及共用的庫、應用程式、服務和檔案。
包管理系統除了安裝軟體外,它還提供了工具來更新已經安裝的包。包儲存庫有助於確保你的系統中使用的程式碼是經過審查的,並且軟體的安裝版本已經得到了開發人員和包維護人員的認可。
大多數包系統都是圍繞包檔案的集合構建的。包檔案通常是一個存檔檔案,它包含已編譯的二進位制檔案和軟體的其他資源,以及安裝指令碼。包檔案同時也包含有價值的後設資料,包括它們的依賴項,以及安裝和執行它們所需的其他包的列表。
雖然這些包管理系統的功能和優點大致相同,但打包格式和工具卻因平臺而異:
作業系統 | 格式 | 工具 |
---|---|---|
Debian | .deb | apt , apt-cache ,, dpkg |
Ubuntu | .deb | apt , apt-cache ,, dpkg |
CentOS | .rpm | yum |
Fedora | .rpm | dnf |
FreeBSD | Ports, .txz | pkg |
1、DPKG
dpkg是Debian系的包管理系統,包字尾名是.deb。
dpkg 是 linux 系統下用來安裝、建立和管理軟體包的工具。 其安裝的軟體包一般是下載到原生的軟體包,拓展名是deb。
格式 : dpkg 引數 package.deb
(初學者容易忘記打空格,在命令和引數以及引數和軟體包中間要打空格,否則linux會無法識別)
dpkg -i
dpkg -i 是 linux 系統下用來安裝軟體包的命令。
格式 : /home/使用者名稱/桌面(desktop)/ # dpkg -i package.deb (此時,安裝包被放在桌面上,也可以放到其他資料夾中,在所在資料夾中開啟終端或者# dpkg -i /絕對路徑/package.deb )
dpkg -r
dpkg -r 是 linux 系統下用來解除安裝軟體包的命令。 我推薦和dpkg -l 命令結合使用,因為解除安裝軟體的名字不一定和安裝時安裝包的名字一樣。
格式 : # dpkg -r package (解除安裝時可以在任意路徑)
使用 dpkg -l 命令找到需要解除安裝的軟體,將軟體名複製(不要將軟體版本一起復制),複製的軟體名替換格式裡的package
dpkg -P
dpkg -P 是 linux 系統下用來解除安裝軟體包的同時刪除其組態檔的命令。 如果想要完全將軟體包解除安裝乾淨最好使用這個命令。我就碰到過沒解除安裝乾淨導致安裝後一版本的軟體時無法安裝成功的問題。
格式 : # dpkg -P package (使用方式可以參考dpkg -r)
dpkg -l
dpkg -l 是 linux 系統下用檢視列出當前已安裝的軟體包的命令。
格式 : # dpkg -l 就可以看到所有已安裝的軟體包
如果要看某個特定的軟體,比如我在公司裡安裝的軟體帶有gongsi的關鍵字
可以使用 # dpkg -l grep | gongsi 就可以看到帶gongsi關鍵詞的安裝包,其中 | 是豎槓不是字母l。
2、apt
apt是Advanced Package Tool的簡寫,是工作於Debian, Ubuntu等相關linux發行版上的軟體包管理系統。apt在類Unix作業系統上提供如自動檢索、設定和安裝軟體包等功能來簡化軟體的管理。
apt, apt-get, apt-cache這幾個命令使用library來處理軟體包。apt實際上可以看作dpkg的前端,並且比以往的dselect對使用者更加友好。
apt整合了apt-get和apt-cache——這兩個命令功能很多但一般往往用不到,因此apt保留了常用和重要的功能。
常用命令:
# 從軟體源同步最新的軟體資訊並快取到本地 apt update # 安裝指定的包,並同時安裝其依賴的其他包。 apt install [package] # 更新軟體版本 apt upgrade # 查詢軟體,沒有新增引數就是展示所有的軟體包,加關鍵字就是搜尋指定的包 apt list zlib* # 列出已經安裝的軟體版本 apt list --installed # 關鍵字搜尋軟體的名稱和描述 apt search zlib* # 解除安裝包,但是組態檔還是會儲存著 apt remove [package] # 解除安裝包,並刪除組態檔 apt purge [package] # 解除安裝因安裝軟體自動安裝的依賴 apt autoremove # 刪除所有已下載的軟體包 apt clean # 類似clean,但刪除的是過期的包(即已不能下載或者是無用的包) apt autoclean
3、apt-cache
apt-cache是linux下的一個apt軟體包管理工具,它可查詢apt的二進位制軟體包快取檔案。APT包管理的大多數資訊查詢功能都可以由apt-cache命令實現,通過apt-cache命令配合不同的子命令和引數的使用,可以實現查詢,顯示軟體包資訊及包依賴關係等功能.
常用命令:
apt-cache show package_name #顯示指定軟體包的資訊,包括版本號,安裝狀態和包依賴關係等. apt-cache search package_name #搜尋軟體包,可以按關鍵字查詢軟體包,通常用於查詢的關鍵字會使用軟體包的名字或軟體包的一部分. apt-cache showpkg package_name #顯示軟體包的依賴關係資訊. apt-cache stats #顯示當前系統所使用的資料來源的統計資訊,使用者可以使用該命令檢視資料來源的相關統計資訊. apt-cache policy package_name #顯示軟體包的安裝狀態和版本資訊. apt-cache depends package_name #顯示指定軟體包所依賴的軟體包。當使用者需要了解某個軟體包依賴於其他哪些包時,可以使用apt-cache depends來查詢包依賴關係. apt-cache rdepends package_name #查詢指定軟體包的反向依賴關係,即那些其他的軟體包需要依賴你所指定的軟體包做為安裝和執行的必須條件. apt-cache dump #顯示快取中的每個軟體包的簡要描述資訊. apt-cache unmet #顯示不符合一致性的依賴關係.
4、RPM
RPM是紅帽系的包管理系統,包字尾名是.rpm。
RPM是Red-Hat Package Manager(RPM軟體包管理器)的縮寫,這一檔案格式名稱雖然打上了RedHat的標誌,但是其原始設計理念是開放式的,現在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分發版本都有采用,可以算是公認的行業標準了。一種用於網際網路下載包的打包及安裝工具,它包含在某些Linux分發版中。它生成具有.RPM擴充套件名的檔案。與Dpkg類似。
簡而言之,就是linux中的軟體包。
rpm包構成
【1】軟體名
【2】版本
【3】適用系統
【4】系統架構
【5】適用rpm體系軟體
rpm相關命令及引數
可以使用rpm命令對rpm包軟體進行相關處理
5、yum
yum,全稱「Yellow dog Updater, Modified」,是一個專門為了解決包的依賴關係而存在的軟體包管理器。就好像 Windows 系統上可以通過 360 軟體管家實現軟體的一鍵安裝、升級和解除安裝,Linux 系統也提供有這樣的工具,就是 yum。
可以這麼說,yum 是改進型的 RPM 軟體管理器,它很好的解決了 RPM 所面臨的軟體包依賴問題。yum 在伺服器端存有所有的 RPM 包,並將各個包之間的依賴關係記錄在檔案中,當管理員使用 yum 安裝 RPM 包時,yum 會先從伺服器端下載包的依賴性檔案,通過分析此檔案從伺服器端一次性下載所有相關的 RPM 包並進行安裝。
yum 軟體可以用 rpm 命令安裝,安裝之前可以通過如下命令檢視 yum 是否已安裝:
# rpm -qa | grep yum yum-metadata-parser-1.1.2-16.el6.i686 yum-3.2.29-30.el6.centos.noarch yum-utils-1.1.30-14.el6.noarch yum-plugin-fastestmirror-1.1.30-14.el6.noarch yum-plugin-security-1.1.30-14.el6.noarch
可以看到,系統上已經安裝了 yum。
yum基於 RPM 包管理,能夠從指定的伺服器自動下載 RPM 包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum 提供了查詢、安裝、刪除某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記。
yum 語法
yum [options] [command] [package ...]
options:可選,選項包括-h(幫助),-y(當安裝過程提示選擇全部為 "yes"),-q(不顯示安裝的過程)等等。
command:要進行的操作。
package:安裝的包名。
yum常用命令
1. 列出所有可更新的軟體清單命令:yum check-update
2. 更新所有軟體命令:yum update
3. 僅安裝指定的軟體命令:yum install <package_name>
4. 僅更新指定的軟體命令:yum update <package_name>
5. 列出所有可安裝的軟體清單命令:yum list
6. 刪除軟體包命令:yum remove <package_name>
7. 查詢軟體包命令:yum search <keyword>
8. 清除快取命令:
yum clean packages: 清除快取目錄下的軟體包
yum clean headers: 清除快取目錄下的 headers
yum clean oldheaders: 清除快取目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除快取目錄下的軟體包及舊的 headers
6、DNF
DNF 是新一代的rpm軟體包管理器。他首先出現在 Fedora 18 這個發行版中。而最近,它取代了yum,正式成為 Fedora 22 的包管理器。
DNF包管理器克服了YUM包管理器的一些瓶頸,提升了包括使用者體驗,記憶體佔用,依賴分析,執行速度等多方面的內容。DNF使用 RPM, libsolv 和 hawkey 庫進行包管理操作。儘管它沒有預裝在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同時使用 DNF 。
安裝 DNF 包管理器
DNF 並未預設安裝在 RHEL 或 CentOS 7系統中,但是 Fedora 22 已經預設使用 DNF .
1、為了安裝 DNF ,您必須先安裝並啟用 epel-release 依賴。
在系統中執行以下命令:
# yum install epel-release
或者
# yum install epel-release -y
其實這裡並沒有強制使用」-y」的理由,相反的,在不使用」-y」的情況下,使用者可以在安裝過程中檢視到底有哪些東西被安裝進了系統。但對於沒有這個需求的使用者,您可以在 YUM 中使用」-y」引數來自動安裝所有東西。
2、使用 epel-release 依賴中的 YUM 命令來安裝 DNF 包。在系統中執行以下命令:
# yum install dnf
然後, DNF 包管理器就被成功的安裝到你的系統中了。接下來,是時候開始我們的教學了!在這個教學中,您將會學到27個用於 DNF 包管理器的命令。使用這些命令,你可以方便有效的管理您系統中的 RPM 軟體包。現在,讓我們開始學習 DNF 包管理器的27條常用命令吧!
7、pkg
FreeBSD預設使用的包管理器。
8、Pacman
Pacman是Arch系的包管理系統,新版本包字尾名是.pkg.tar.zst,之前的版本是.pkg.tar.xz。
相關推薦:《Linux視訊教學》
以上就是linux有幾種包管理的詳細內容,更多請關注TW511.COM其它相關文章!