Linux軟體包管理的基本操作入門
【引自Winclient的部落格】大多數現代類 Unix 的作業系統都提供了一個集中的軟體包管理機制,以幫助使用者搜尋、安裝和管理軟體。而軟體通常以“包”的形式儲存在倉庫“repository”中,對軟體包的使用和管理被稱為包管理。而 Linux 包的基本組成部分通常有:共享庫、應用程式、服務和文件。
包管理通常不僅限於軟體的一次性安裝,還包括了對已安裝軟體包進行升級的工具。“包倉庫”有助於確保程式碼已經在你使用的系統上進行了稽核,並由軟體開發者或包維護者進行管理。
在配置 Linux 伺服器或者開發環境時,通常都不僅限於使用官方源。相較於現如今軟體版本快速更新迭代而言,雖然官方源所使用的穩定版軟體包很可能已過時,但對於系統管理員和開發人員來說,掌握常見 Linux 包管理基本操作還是一項必備的常用技能。
本文將介紹常用 Linux 發行版在搜尋、安裝和升級等包管理方面的基本方式和快速參考,可以幫助你快速瞭解不同 Linux 包管理的基本操作與技巧。
軟體包管理系統:簡要介紹
大多數包管理系統是建立在包檔案上的集合,包檔案通常包含編譯好的二進位制檔案和其它資源組成的:軟體、安裝指令碼、後設資料及其所需的依賴列表。
雖然大多數流行的 Linux 發行版在包管理工具、方式和形式都大同小異,但卻還是有平臺差異:
系統 | 格式 | 工具 |
---|---|---|
Debian | .deb | apt, apt-cache、apt-get、dpkg |
Ubuntu | .deb | apt、apt-cache、apt-get、dpkg |
CentOS | .rpm | yum |
Fedora | .rpm | dnf |
Debian 及其衍生產品如:Ubuntu、Linux Mint 和 Raspbian 的包格式為.deb檔案,APT 是最常見包操作命令,可是搜尋庫、安裝包及其依賴和管理升級。而要直接安裝現成.deb包時,需要使用dpkg命令。
CentOS、Fedora 及 Red Hat 系列 Linux 使用RPM包檔案,並使用yum命令管理包檔案及與軟體庫互動。
在最新的 Fedora 版本中,yum命令已被dnf取代進行包管理。
更新本地包資料庫列表
大多數 Linux 都使用本地資料庫來儲存遠端可用的包倉庫列表,所以在安裝或者升級包之前,最好更新一下這個資料庫。
系統 | 命令 |
---|---|
Debian / Ubuntu | sudo apt-get update |
CentOS | yum check-update |
Fedora | dnf check-update |
升級已安裝的包
在沒有包管理方式時,要升級並保持 Linux 已裝軟體處在最新版本是一個巨大的工程,管理員和使用者不得不手動跟蹤上游軟體版本變化及安全警告。在有了包管理系統之後,只需幾條命令便可保持軟體最新。
系統 | 命令 | 備註 |
---|---|---|
Debian / Ubuntu | sudo apt-get upgrade | 僅升級已安裝的軟體包 |
sudo apt-get dist-upgrade | 可新增或刪除程式包,以滿足新的依賴。 | |
CentOS | sudo yum update | |
Fedora | sudo dnf upgrade |
查詢/搜尋軟體包
大多數 Linux 桌面版本都提供使用者可搜尋和安裝軟包的介面,這是找尋和安裝軟體的最佳方法。但對於追求效率和伺服器管理員來說,使用命令列工具查詢/搜尋軟體包才是正途。
系統 | 命令 | 備註 |
---|---|---|
Debian / Ubuntu | apt-cache search 搜尋內容 | |
CentOS | yum search 搜尋內容 | |
yum search all 搜尋內容 | 搜尋所有內容,包括包描述。 | |
Fedora | dnf search 搜尋內容 | |
dnf search all 搜尋內容 | 搜尋所有內容,包括包描述。 |
檢視某個軟體包資訊
在決定安裝哪個包之前,我們往往都需要檢視該軟體包的詳細說明。包的說明檔案中,通常包括:包名、版本號及依賴列表等後設資料,可以使用如下命令來檢視。
系統 | 命令 | 備註 |
---|---|---|
Debian / Ubuntu | apt-cache show 包名 | 顯示有關軟體包的本地快取資訊 |
dpkg -s 包名 | 顯示包的當前安裝狀態 | |
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 包名 | 無需提示直接安裝 |
從本地檔案系統直接安裝包
很多時候,我們在進行測試或者從某個地方直接拿到軟體包之後需要從本地檔案系統直接安裝包。Debian 及衍生系統可以使用 dpkg 進行安裝,CentOS 和 Fedora 系統使用 yum和 dnf 命令進行安裝。
系統 | 命令 | 備註 |
---|---|---|
Debian / Ubuntu | sudo dpkg -i 包名.deb | |
sudo apt-get install -y gdebi&& sudo gdebi 包名.deb | 使用gdebi檢索缺少的依賴關係 | |
CentOS | sudo yum install 包名.rpm | |
Fedora | sudo dnf install 包名.rpm |
移除已安裝的包
由於包管理器知道哪些檔案是由哪個包提供的,所以在解除安裝不需要的軟體包之後,通常可以獲得一個乾淨的系統。
系統 | 命令 | 備註 |
---|---|---|
Debian / Ubuntu | sudo apt-get remove 包名 | |
sudo apt-get autoremove | 自動移除已知不需要的包 | |
CentOS | sudo yum remove 包名 | |
Fedora | sudo dnf erase 包名 |
好了,本文算是對常見的 Linux 發行版包管理基本操作進行了介紹,以幫助新手更快入門及大家在切換 Linux 發行版時更快上手。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9034054/viewspace-2063974/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 的 軟體包的管理Linux
- 『學了就忘』Linux軟體包管理 — 41、RPM包的基本使用Linux
- 『學了就忘』Linux軟體包管理 — 42、對RPM軟體包的查詢操作Linux
- Ubuntu 16.04 LTS軟體包管理基本操作Ubuntu
- nodejs 入門基本操作NodeJS
- Linux軟體管理之RPM包1Linux
- 查詢佔用記憶體前3名程式如何操作?linux基本入門記憶體Linux
- 『學了就忘』Linux軟體包管理 — 40、Linux系統軟體包介紹Linux
- Docker 入門(Mac環境)-part 1 入門基本操作DockerMac
- npm入門(二)—package(包)的管理NPMPackage
- 大資料 第一天 linux入門 及基本操作指令大資料Linux
- 對RPM軟體包的查詢操作
- 【Linux】apt軟體管理和遠端登入LinuxAPT
- linux基本操作Linux
- Docker 從入門到精通(一)基本操作Docker
- 將 DEB 軟體包轉換成 Arch Linux 軟體包Linux
- LINUX下磁碟管理的基本流程與相關操作命令Linux
- Linux指令入門-磁碟管理Linux
- Linux 軟體包管理Linux
- Linux軟體包管理Linux
- MySQL入門系列:資料庫和表的基本操作MySql資料庫
- Linux系統的基本操作Linux
- 安裝的 Linux 軟體包有多少?Linux
- Linux軟體包與預期的不符Linux
- Linux基本操作命令Linux
- Linux基本操作指令Linux
- Linux 基本操作命令Linux
- Linux基本操作——1Linux
- Kali Linux搜尋軟體包Linux
- Redis管理基本操作Redis
- Linux指令入門-檔案管理Linux
- Linux RPM 軟體包管理Linux
- Linux軟體包管理概述Linux
- 【Linux入門】Shell基本運算子的分類有哪些?Linux
- linux下使用yum upgrade軟體包Linux
- linux操作之軟體安裝(一)Linux
- Linux 運維工程師面試真題-3-Linux 磁碟及軟體管理操作Linux運維工程師面試
- linux的yum軟體包管理器Linux
- 『學了就忘』Linux軟體包管理 — 47、Linux原始碼包的安裝和解除安裝Linux原始碼