包管理介紹(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 #顯示輸入歷史