Linux軟件包管理的基本操作入門

大多數現代類 Unix 的操作系統都提供了一個集中的軟件包管理機制,以幫助用戶搜索、安裝和管理軟件。而軟件通常以“包”的形式存儲在倉庫“repository”中,對軟件包的使用和管理被稱爲包管理。而 Linux 包的基本組成部分通常有:共享庫、應用程序、服務和文檔。下面跟yjbys小編一起來看看最新的Linux系統安裝包軟件的安裝管理!

Linux軟件包管理的基本操作入門

本文將介紹常用 Linux 發行版在搜索、安裝和升級等包管理方面的基本方式和快速參考,可以幫助你快速瞭解不同 Linux 包管理的基本操作與技巧。

包管理通常不僅限於軟件的一次性安裝,還包括了對已安裝軟件包進行升級的工具。“包倉庫”有助於確保代碼已經在你使用的系統上進行了審覈,並由軟件開發者或包維護者進行管理。

在配置 Linux 服務器或者開發環境時,通常都不僅限於使用官方源。相較於現如今軟件版本快速更新迭代而言,雖然官方源所使用的穩定版軟件包很可能已過時,但對於系統管理員和開發人員來說,掌握常見 Linux 包管理基本操作還是一項必備的常用技能

  軟件包管理系統:簡要介紹

大多數包管理系統是建立在包文件上的集合,包文件通常包含編譯好的二進制文件和其它資源組成的:軟件、安裝腳本、元數據及其所需的依賴列表。

雖然大多數流行的 Linux 發行版在包管理工具、方式和形式都大同小異,但卻還是有平臺差異:

系統格式工具
Debianapt, apt-cache、apt-get、dpkg
Ubuntuapt、apt-cache、apt-get、dpkg
CentOSyum
Fedoradnf

Debian 及其衍生產品如:Ubuntu、Linux Mint 和 Raspbian 的.包格式爲文件,APT 是最常見包操作命令,可是搜索庫、安裝包及其依賴和管理升級。而要直接安裝現成包時,需要使用dpkg命令。

CentOS、Fedora 及 Red Hat 系列 Linux 使用RPM包文件,並使用yum命令管理包文件及與軟件庫交互。

在最新的 Fedora 版本中,yum命令已被dnf取代進行包管理。

  更新本地包數據庫列表

大多數 Linux 都使用本地數據庫來存儲遠程可用的包倉庫列表,所以在安裝或者升級包之前,最好更新一下這個數據庫。

系統命令
Debian / Ubuntusudo apt-get update
CentOSyum check-update
Fedoradnf check-update

  升級已安裝的包

在沒有包管理方式時,要升級並保持 Linux 已裝軟件處在最新版本是一個巨大的工程,管理員和用戶不得不手動跟蹤上游軟件版本變化及安全警告。在有了包管理系統之後,只需幾條命令便可保持軟件最新。

系統命令備註
Debian / Ubuntusudo apt-get upgrade僅升級已安裝的軟件包
sudo apt-get dist-upgrade可添加或刪除程序包,以滿足新的依賴。
CentOSsudo yum update
Fedorasudo dnf upgrade

  查找/搜索軟件包

大多數 Linux 桌面版本都提供用戶可搜索和安裝軟包的界面,這是找尋和安裝軟件的最佳方法。但對於追求效率和服務器管理員來說,使用命令行工具查找/搜索軟件包纔是正途。

系統命令備註
Debian / Ubuntuapt-cache search 搜索內容
CentOSyum search 搜索內容
yum search all 搜索內容搜索所有內容,包括包描述。
Fedoradnf search 搜索內容
dnf search all 搜索內容搜索所有內容,包括包描述。

  查看某個軟件包信息

在決定安裝哪個包之前,我們往往都需要查看該軟件包的詳細說明。包的說明文件中,通常包括:包名、版本號及依賴列表等元數據,可以使用如下命令來查看。

系統命令備註
Debian / Ubuntuapt-cache show 包名顯示有關軟件包的本地緩存信息
dpkg -s 包名顯示包的當前安裝狀態
CentOSyum info 包名
yum deplist 包名列出包的以來
Fedoradnf info 包名
dnf repoquery –requires 包名列出包的以來

  從軟件倉庫安裝包

一旦我們知道某個軟件包的名稱之後,便可以使用如下命令從軟件倉庫安裝包。

系統命令備註
Debian / Ubuntusudo apt-get install 包名
sudo apt-get install 包1 包2 …安裝所有列出的包
sudo apt-get install -y 包名無需提示直接安裝
CentOSsudo yum install 包名
sudo yum install 包1 包2 …安裝所有列出的包
sudo yum install -y 包名無需提示直接安裝
Fedorasudo dnf install 包名
sudo dnf install 包1 包2 …安裝所有列出的包
sudo dnf install -y 包名無需提示直接安裝

  從本地文件系統直接安裝包

很多時候,我們在進行測試或者從某個地方直接拿到軟件包之後需要從本地文件系統直接安裝包。Debian 及衍生系統可以使用 dpkg 進行安裝,CentOS 和 Fedora 系統使用 yum 和 dnf 命令進行安裝。

系統命令備註
Debian / Ubuntusudo dpkg -i 包名
sudo apt-get install -y gdebi&& sudo gdebi 包名使用gdebi檢索缺少的依賴關係
CentOSsudo yum install 包名
Fedorasudo dnf install 包名

  移除已安裝的包

由於包管理器知道哪些文件是由哪個包提供的,所以在卸載不需要的軟件包之後,通常可以獲得一個乾淨的系統。

系統命令備註
Debian / Ubuntusudo apt-get remove 包名
sudo apt-get autoremove自動移除已知不需要的包
CentOSsudo yum remove 包名
Fedorasudo dnf erase 包名

好了,本文算是對常見的 Linux 發行版包管理基本操作進行了介紹,以幫助新手更快入門及大家在切換 Linux 發行版時更快上手