LFCA:如何在 Linux 中管理軟體套件 – 第 7 部分

這篇文章是LFCA系列的第7部分,在這一部分中,您將熟悉Linux系統中管理軟體套件的一般系統管理命令。

作為系統管理員,您將負責管理軟體套件。這包括在系統上安裝、升級和刪除或卸載套件。

Linux系統中有兩種類型的套件:

  • 二進制套件:這些包含配置文件、可執行文件、man頁面等文檔。對於Debian,二進制套件的擴展名為.deb。對於紅帽,二進制套件具有.rpm的擴展名。二進制套件使用Debian實用工具dpkg進行解壓縮-對於.deb二進制文件和rpm二進制套件,我們稍後將看到。
  • 源代碼套件:源代碼套件是一個壓縮文件,其中包含應用程序的源代碼、套件的簡要描述以及構建應用程序的說明。

不同的Linux發行版都有自己的包管理器,在這裡,我們將看看兩個Linux家族:DebianRed 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
Install Apache in Ubuntu

在安裝之前搜索套件

要搜索存儲庫中套件的可用性,請使用以下語法:

$ apt search package_name

例如,要搜索名為neofetch的套件的可用性,請運行以下命令:

$ apt search neofetch
Search for Package in Ubuntu

顯示套件信息

要顯示有關套件的更多信息,請使用apt 命令如下。

$ apt show package_name

例如,要顯示有關neofetch套件的更多信息,請運行:

$ apt show neofetch
Check Package Info in Ubuntu

在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
Install a Package in Ubuntu

要檢查包是否已安裝,運行命令:

$ sudo dpkg -l anydesk
Verify Package in Ubuntu

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

$ sudo dpkg -r anydesk
Remove Package in Ubuntu

要連同所有配置文件一起刪除包,使用-P選項以清除與包相關的所有文件。

$ sudo dpkg -P anydesk

YUM / DNF和RPM包管理

現代的RedHat Linux發行版,如RHELCentOS 8以及Fedora 21及後續版本,使用DNF(Dandified YUM),這是現已不推薦使用的YUM包管理器的升級版,YUM是早期Red Hat Linux發行版如RedHat和CentOS 7的事實上的包管理器。

就像APT一樣,DNFYUM包管理器用於從線上倉庫安裝包。

在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
Verify Package Installation

要查詢所有當前軟件套件,請使用以下命令:

$ sudo rpm -qa
Query Software Packages

刪除軟件套件

使用rpm命令卸載套件,請使用以下語法:

$ sudo rpm -e package_name

例如:

$ sudo rpm -e anydesk
結論

aptdpkgrpmdnfyum命令是方便的命令行工具,可幫助您在Linux系統上安裝、更新和刪除軟件套件。

Source:
https://www.tecmint.com/manage-software-packages-in-linux/