這篇文章是LFCA系列的第7部分,在這一部分中,您將熟悉Linux系統中管理軟體套件的一般系統管理命令。
作為系統管理員,您將負責管理軟體套件。這包括在系統上安裝、升級和刪除或卸載套件。
Linux系統中有兩種類型的套件:
- 二進制套件:這些包含配置文件、可執行文件、man頁面等文檔。對於Debian,二進制套件的擴展名為.deb。對於紅帽,二進制套件具有.rpm的擴展名。二進制套件使用Debian實用工具dpkg進行解壓縮-對於.deb二進制文件和rpm二進制套件,我們稍後將看到。
- 源代碼套件:源代碼套件是一個壓縮文件,其中包含應用程序的源代碼、套件的簡要描述以及構建應用程序的說明。
不同的Linux發行版都有自己的包管理器,在這裡,我們將看看兩個Linux家族:Debian和Red Hat。
Debian包管理
Debian提供APT(高級包管理器)作為前端包管理解決方案。這是一個功能強大的命令行工具,它與核心庫一起工作,允許您從系統下載、安裝、更新和刪除包。
在Debian/Ubuntu系統中安裝包
如果您來自Windows環境,您會習慣於從軟件供應商那裡下載.exe
包,並使用安裝嚮導在系統上運行它。
在Linux中,安裝應用程序的方式有很大不同。軟件包是使用包管理器從在線存儲庫下載和安裝的。存儲庫列表在/etc/apt/sources.list文件和/etc/sources.list.d目錄中定義。
在基於Debian的發行版上,APT包管理器用於從在線存儲庫下載和安裝包。它不僅安裝包,還安裝包所需的依賴項
始終建議在安裝任何套件之前更新/etc/apt/sources.list文件中的存儲庫。要完成此操作,請運行以下命令:
$ sudo apt update
要安裝軟件包,請使用以下語法:
$ sudo apt install package_name
例如,要安裝Apache網頁伺服器,請運行以下命令:
$ sudo apt install apache2

在安裝之前搜索套件
要搜索存儲庫中套件的可用性,請使用以下語法:
$ apt search package_name
例如,要搜索名為neofetch的套件的可用性,請運行以下命令:
$ apt search neofetch

顯示套件信息
要顯示有關套件的更多信息,請使用apt 命令如下。
$ apt show package_name
例如,要顯示有關neofetch套件的更多信息,請運行:
$ apt show neofetch

在Ubuntu中升級套件
要升級系統上安裝的套件,請運行以下命令:
$ sudo apt upgrade
在Ubuntu中移除套件
要移除軟件包,例如apache2,請運行以下命令:
$ sudo apt remove apache2
要與配置文件一起移除套件,請使用顯示的淨化選項。
$ sudo apt purge apache2
Dpkg 套件管理員
基於Debian的Linux發行版也提供了dpkg包管理器。這是一個低階的包管理器,用於處理在安裝過程中不需要任何依賴關係的二進制包。如果dpkg檢測到二進制包文件需要依賴關係,它會報告缺失的依賴關係並停止。
要從.deb文件安裝包,請按照以下方式使用dpkg命令:
$ sudo dpkg -i package.deb
例如,要從其Debian文件安裝AnyDesk包,執行:
$ sudo dpkg -i anydesk_6.1.0-1_amd64.deb OR $ sudo dpkg --unpack anydesk_6.1.0-1_amd64.deb

要檢查包是否已安裝,運行命令:
$ sudo dpkg -l anydesk

要刪除包,使用-r
選項如下所示:
$ sudo dpkg -r anydesk

要連同所有配置文件一起刪除包,使用-P
選項以清除與包相關的所有文件。
$ sudo dpkg -P anydesk
YUM / DNF和RPM包管理
現代的RedHat Linux發行版,如RHEL、CentOS 8以及Fedora 21及後續版本,使用DNF(Dandified YUM),這是現已不推薦使用的YUM包管理器的升級版,YUM是早期Red Hat Linux發行版如RedHat和CentOS 7的事實上的包管理器。
就像APT一樣,DNF或YUM包管理器用於從線上倉庫安裝包。
在CentOS中安裝軟件包
要安裝一個包,使用以下語法:
$ sudo dnf install package-name OR $ sudo yum install package-name (For older versions)
例如,要安裝Apache httpd包,運行命令:
$ sudo dnf install httpd OR $ sudo yum install httpd
搜索軟件包
您還可以按照以下方式從倉庫中搜索包的可用性:
$ sudo dnf search mariadb
更新軟件包
要將所有包更新到最新版本,執行:
$ sudo dnf update OR $ sudo yum update
刪除軟件包
要刪除一個包,運行:
$ sudo dnf remove package_name OR $ sudo yum remove package_name
例如,要刪除httpd包,運行
$ sudo dnf remove httpd OR $ sudo yum remove httpd
RPM包管理器
rpm套件管理器是另一個開源套件管理工具,用於處理紅帽Linux發行版上的.rpm二進制套件。就像APT套件管理器一樣,rpm管理二進制套件。
安裝軟件套件
使用.rpm
文件安裝應用程序,請使用以下語法:
$ sudo rpm -i package_name
例如,要從所示的.rpm
文件安裝AnyDesk應用程序,請運行以下命令:
$ sudo rpm -i anydesk-6.1.0-1.el8.x86_64.rpm
要驗證或檢查系統上軟件應用程序的存在,請使用以下語法:
$ sudo rpm -q package_name
例如,要檢查是否已安裝Anydesk,請運行以下命令:
$ sudo rpm -q anydesk

要查詢所有當前軟件套件,請使用以下命令:
$ sudo rpm -qa

刪除軟件套件
使用rpm命令卸載套件,請使用以下語法:
$ sudo rpm -e package_name
例如:
$ sudo rpm -e anydesk
結論
apt、dpkg、rpm、dnf和yum命令是方便的命令行工具,可幫助您在Linux系統上安裝、更新和刪除軟件套件。
Source:
https://www.tecmint.com/manage-software-packages-in-linux/