1. 程式人生 > >包管理介紹(DPKG,APT,RPM,YUM,DNF)

包管理介紹(DPKG,APT,RPM,YUM,DNF)

linux作業系統下載軟體的方式與Windows有很大不同。軟體通常都是存放在儲存庫中,並通過包的形式進行分發。處理包的工作被稱為包管理。
比較常見的包管理工具有DPKG,APT,RPM,YUM,DNF等。熟悉Linux包管理操作可以讓你更方便的使用linux系統。

首先說一下debian一系的。
debian 及其衍生版,如 Ubuntu的包格式是 .deb。在本地系統中可以使用 DPKG程式來安裝單個的 deb 檔案,還可以通過一些命令直接從軟體倉庫中下載。但是需要手工解決軟體包的依賴關係。很多時候安裝一個軟體需要安裝1個或者多個其他軟體,手動解決時,很複雜。APT個是一個 dpkg 包管理系統的前端工具,它是一個非常受歡迎的、自由而強大的,有用的命令列包管理器系統。不需要自己解決安裝包之間的依賴關係,比dpkg更方便。在基於 Debian 的 Linux 發行版中,有各種工具可以與 APT 進行互動,以方便使用者安裝、刪除和管理的軟體包。apt-get 便是其中一款廣受歡迎的命令列工具,然而在Ubuntu16釋出後又引入了新的命令列工具apt(和上面的APT包管理系統不一樣)apt可以看作是apt-get的加強版,是apt-get,apt-cache,apt-config三種的集合,除此之外apt還具有其他的優點如顯示進度條等。

dpkg常用的命令有

dpkg -i package.deb     #安裝包
dpkg -r package         #刪除包
dpkg -l package         #顯示該包的版本
dpkg -l                 #列出當前已安裝的

apt常用的命令有

apt install     package          #安裝包      
apt remove      package          #解除安裝安裝包
apt autoremove                   #檢測並清除無用的安裝包
apt update&upgrade    package
#更新所有安裝包

另外就是Red Hat一系的,CentOS、Fedora 和其它 Red Hat 家族成員使用 rpm檔案。rpm軟體包形式的管理雖然方便但仍需要自己解決依賴關係。YUM是rpm的前端程式,主要目的是設計用來自動解決rpm的依賴關係, yum倉庫用來存放所有的現有的.rpm包,當使用yum安裝一個rpm包時,需要依賴關係,會自動在倉庫中查詢依賴軟體並安裝。倉庫可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、統一的網路倉庫。

常用的rpm命令有

rpm -ivh    package.rpm      #安裝軟體包
rpm -Uvh    package
.rpm #升級軟體包 rpm -e package.rpm #解除安裝軟體包 rpm -qpi package.rpm #查詢軟體包的資訊

常用的YUM命令

yum info        package     #檢視軟體包資訊
yum install     package     #安裝軟體
yum remove      package     #解除安裝軟體
yum check-update            #檢查是否有可更新的軟體包

在Fedora中又開始採用一種新的DNF包管理,是新一代的yum,欲以代替yum。DNF包管理器克服了YUM包管理器的一些瓶頸,提升了包括使用者體驗,記憶體佔用,依賴分析,執行速度等多方面的內容。DNF使用 RPM, libsolv 和 hawkey 庫進行包管理操作。在Fedora22中代替了yum。 DNF 並未預設安裝在 RHEL 或 CentOS 7系統中,.要想安裝 DNF ,您必須先安裝並啟用 epel-release 依賴。
在系統中執行以下命令:

yum install epel-release

yum install dnf

常用的DNF命令:

dnf info            package     #檢視軟體包資訊
dnf install         package     #安裝軟體
dnf remove/erase    package     #解除安裝軟體
dnf check-update                #檢查是否有可更新的軟體包
dnf autoremove                  #刪除無用的軟體包
dnf history                     #顯示輸入歷史