Linux软件包管理基本操作入门
| 導(dǎo)讀 | 大多數(shù)現(xiàn)代類 Unix 操作系統(tǒng)都提供了一個集中的軟件包管理機制,以幫助用戶搜索、安裝和管理軟件。而軟件通常以「包」的形式存儲在倉庫「repository」中,對軟件包的使用和管理被稱為包管理。而 Linux 包的基本組成部分通常有:共享庫、應(yīng)用程序、服務(wù)和文檔。 |
包管理通常不僅限于軟件的一次性安裝,還包括了對已安裝軟件包進行升級的工具。「包倉庫」有助于確保代碼已經(jīng)在你使用的系統(tǒng)上進行了審核,并由軟件開發(fā)者或包維護者進行管理。
在配置 Linux 服務(wù)器或開發(fā)環(huán)境時,通常都不僅限于使用官方源。相較于現(xiàn)如今軟件版本快速更新迭代而言,雖然官方源所使用的穩(wěn)定版軟件包很可能已過時,但對于系統(tǒng)管理員和開發(fā)人員來說,掌握常見?Linux 包管理基本操作還是一項必備的常用技能。
本文將介紹常用 Linux 發(fā)行版對:搜索、安裝和升級等包管理方面的基本方式和快速參考,可以幫助你快速了解不同 Linux 包管理基本操作與技巧。
軟件包管理系統(tǒng):簡要介紹
大多數(shù)包管理系統(tǒng)是建立在包文件上的集合,包文件通常包含編譯好的二進制文件和其它資源組成的:軟件、安裝腳本、元數(shù)據(jù)及其所需的依賴列表。
雖然大多數(shù)流行的 Linux 發(fā)行版在包管理工具、方式和形式都大同小異,但卻還是有平臺差異:
| Debian | .deb | apt, apt-cache、apt-get、dpkg |
| Ubuntu | .deb | apt、apt-cache、apt-get、dpkg |
| CentOS | .rpm | yum |
| Fedora | .rpm | dnf |
Debian 及其衍生產(chǎn)品如:Ubuntu、Linux Mint 和 Raspbian 的包格式為.deb文件,APT 是最常見包操作命令,可:搜索庫、安裝包及其依賴和管理升級。而要直接安裝現(xiàn)成.deb包時需要使用dpkg命令。
CentOS、Fedora 及 Red Hat 系列 Linux 使用RPM包文件,并使用yum命令管理包文件及與軟件庫交互。
在最新的 Fedora 版本中,yum命令已被dnf取代進行包管理。
更新本地包數(shù)據(jù)庫列表
大多數(shù) Linux 都使用本地數(shù)據(jù)庫來存儲遠程可用的包倉庫列表,所以在安裝或升級包之前最好更新一下這個數(shù)據(jù)庫。
| Debian / Ubuntu | sudo?apt-get update |
| CentOS | yum check-update |
| Fedora | dnf check-update |
升級已安裝的包
在沒有包管理方式時,要升級并保持 Linux 已裝軟件處在最新版本是一個巨大的工程,管理員和用戶不得不手動跟蹤上游軟件版本變化及安全警告。在有了包管理系統(tǒng)之后,只需幾條命令便可保持軟件最新。
| Debian / Ubuntu | sudo apt-get upgrade | 僅升級已安裝的軟件包 |
| ? | sudo apt-get dist-upgrade | 可添加或刪除程序包,以滿足新的依賴。 |
| CentOS | sudo yum update | ? |
| Fedora | sudo dnf upgrade | ? |
查找/搜索軟件包
大多數(shù) Linux 桌面版本都提供用戶可搜索和安裝軟包的界面,這是找尋和安裝軟件的最佳方法。但對于追求效率和服務(wù)器管理員來說,使用命令行工具查找/搜索軟件包才是正途。
| Debian / Ubuntu | apt-cache search 搜索內(nèi)容 | ? |
| CentOS | yum search 搜索內(nèi)容 | ? |
| ? | yum search all 搜索內(nèi)容 | 搜索所有內(nèi)容,包括包描述。 |
| Fedora | dnf search 搜索內(nèi)容 | ? |
| ? | dnf search all 搜索內(nèi)容 | 搜索所有內(nèi)容,包括包描述。 |
查看某個軟件包信息
在決定安裝哪個包之前,我們往往都需要查看該軟件包的詳細說明。包的說明文件中通常包括:包名、版本號及依賴列表等元數(shù)據(jù),可以使用如下命令來查看。
| Debian / Ubuntu | apt-cache show 包名 | 顯示有關(guān)軟件包的本地緩存信息 |
| ? | dpkg -s 包名 | 顯示包的當前安裝狀態(tài) |
| CentOS | yum info 包名 | ? |
| ? | yum deplist 包名 | 列出包的以來 |
| Fedora | dnf info 包名 | ? |
| ? | dnf repoquery –requires 包名 | 列出包的以來 |
從軟件倉庫安裝包
一旦我們知道某個軟件包的名稱之后,便可以使用如下命令從軟件倉庫安裝包。
| Debian / Ubuntu | sudo apt-get install 包名 | ? |
| ? | sudo apt-get install 包1 包2 … | 安裝所有列出的包 |
| ? | sudo apt-get install -y 包名 | 無需提示直接安裝 |
| CentOS | sudo yum install 包名 | ? |
| ? | sudo yum install 包1 包2 … | 安裝所有列出的包 |
| ? | sudo yum install -y 包名 | 無需提示直接安裝 |
| Fedora | sudo dnf install 包名 | ? |
| ? | sudo dnf install 包1 包2 … | 安裝所有列出的包 |
| ? | sudo dnf install -y 包名 | 無需提示直接安裝 |
從本地文件系統(tǒng)直接安裝包
很多時候,我們在進行測試或從某個地方直接拿到軟件包之后需要從本地文件系統(tǒng)直接安裝包。Debian 及衍生系統(tǒng)可以使用?dpkg?進行安裝,CentOS 和 Fedora 系統(tǒng)使用 yum 和?dnf?命令進行安裝。
| Debian / Ubuntu | sudo dpkg -i 包名.deb | ? |
| ? | sudo apt-get install -y gdebi&& sudo gdebi 包名.deb | 使用gdebi檢索缺少的依賴關(guān)系 |
| CentOS | sudo yum install 包名.rpm | ? |
| Fedora | sudo dnf install 包名.rpm | ? |
移除已安裝的包
由于包管理器知道哪些文件是由哪個包提供的,所以在卸載不需要的軟件包之后通常可以獲得一個干凈的系統(tǒng)。
| Debian / Ubuntu | sudo apt-get remove 包名 | ? |
| ? | sudo apt-get autoremove | 自動移除已知不需要的包 |
| CentOS | sudo yum remove 包名 | ? |
| Fedora | sudo dnf erase 包 名 | ? |
好了,本文算是對常見的 Linux 發(fā)行版包管理基本操作進行了介紹,以幫助新手更快入門及大家在切換 Linux 發(fā)行版時更快上手。
本文轉(zhuǎn)載自:http://www.linuxprobe.com/linux-basic-manage/
免費提供最新Linux技術(shù)教程書籍,為開源技術(shù)愛好者努力做得更多更好:http://www.linuxprobe.com/
轉(zhuǎn)載于:https://blog.51cto.com/linux130/1769829
總結(jié)
以上是生活随笔為你收集整理的Linux软件包管理基本操作入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python -scikit
- 下一篇: Redis key 相关命令