[完全用 GNU/Linux 工作] 04. 套件管理
有了網路我們就可以開始安裝套件,但要怎麼安裝套件也是門大學問,而且在不同的 GNU/Linux 發行版本 (Distribution) 中所使用的套件管理系統 (Package Management System) 也不同。Debian 血統上常用的有 dpkg, apt 和 aptitude,Red Hat 血統上常用的有 rpm 和 yum。(圖形界面中也有不少套件管理員可使用,在此凍仁就不多加贅述)。
▲ Debian/Ubuntu, CentOS/RHEL 上常見套件管理指令。
這些指令與前文提到的套件庫 (package reopsiroty) 一詞是息息相關的,我們只需在本機下達安裝某套件的指令,它即會從網路上的套件庫下載並安裝套件;但前題是必須知道正確的套件名稱才行!其套件管理不外乎就是在做套件的搜尋、安裝、升級跟移除。
1. 搜尋 (毋需管理者權限)。
2. 安裝。
3. 升級。
4. 移除。
5. 版本查詢。
6. 從已安裝的套件中搜尋檔案。
話說套件管理的指令也不算少,凍仁強烈建議大家使用 aptitude 及 yum 來管理套件,其最棒的是它們會自行處理套件間的相依性,可減輕不少負擔。至於參數的部份,請先牢記 search, install, update, upgrade 和 remove。相信到這裡我們已可完成大部份的事情了。
作業系統 | Debian/Ubuntu | CentOS/RHEL | ||||
---|---|---|---|---|---|---|
套件管理系統 | dpkg | aptitude | apt | rpm | yum | |
apt-get | apt-cache | |||||
列出所有的套件 | -l | -qa | list | |||
搜尋 | -l | grep | search | search | -qa | grep | search | |
檢看詳細資訊 | -I | show | show | -qi | info | |
安裝 | -i | install | install | -ivh | install | |
更新套件庫 | update | update | ||||
升級 | upgrade | upgrade | -Uvh | update | ||
移除 | -r | remove | remove | -e | remove | |
移除 (含設定檔) | -P | purge | purge | |||
清除已下載的套件 | clean | clean | clean |
這些指令與前文提到的套件庫 (package reopsiroty) 一詞是息息相關的,我們只需在本機下達安裝某套件的指令,它即會從網路上的套件庫下載並安裝套件;但前題是必須知道正確的套件名稱才行!其套件管理不外乎就是在做套件的搜尋、安裝、升級跟移除。
舉例說明
1. 搜尋 (毋需管理者權限)。
# Debian/Ubuntu
$ aptitude search <package_name>
$ apt-cache search <package_name>
$ dpkg -l | grep <package_name>
# CentOS/RHEL
$ yum search <package_name>
$ rpm -qa | grep <package_name>
2. 安裝。
# Debian/Ubuntu
$ sudo aptitude install <package_name>
$ sudo apt-get install <package_name>
$ sudo dpkg -i <package_name>
# CentOS/RHEL
$ sudo yum install <package_name>
$ sudo rpm -ivh <package_name>
3. 升級。
# Debian/Ubuntu
$ sudo aptitude upgrade <package_name>
$ sudo apt-get upgrade <package_name>
# CentOS/RHEL
$ sudo yum update <package_name>
$ sudo rpm -Uvh <package_name>
4. 移除。
# Debian/Ubuntu
$ sudo aptitude remove <package_name>
$ sudo apt-get remove <package_name>
$ sudo dpkg -r <package_name>
# CentOS/RHEL
$ sudo yum remove <package_name>
$ sudo rpm -e <package_name>
5. 版本查詢。
# Debian/Ubuntu
$ dpkg-query -W <package_name>
# CentOS/RHEL
$ rpm -q <package_name>
6. 從已安裝的套件中搜尋檔案。
# Debian/Ubuntu
$ dpkg -S <package_name>
$ apt-file search filename <package_name>
# CentOS/RHEL
$ rpm -qf <package_name>
$ yum whatprovides '*target/filename' <package_name>
話說套件管理的指令也不算少,凍仁強烈建議大家使用 aptitude 及 yum 來管理套件,其最棒的是它們會自行處理套件間的相依性,可減輕不少負擔。至於參數的部份,請先牢記 search, install, update, upgrade 和 remove。相信到這裡我們已可完成大部份的事情了。
本文已同步發於 iT 邦幫忙。
站內連結:
★完全用 GNU/Linux 工作
相關連結:
★Debian 套件管理 | LLoyd Huang Hand Book
資料來源:
★Linux上的套件管理 (rpm, dpkg, yum, apt) | 八拉八拉在 blah blah ...
★apt 用法教學 - Tsung's Blog
★APT 的 clean 與 autoclean 差異 - Tsung's Blog
★RPM 與 SRPM 軟體管理員 | 鳥哥的 Linux 私房菜
★Dpkg 常用指令操作快速参考 — LinuxTOY
★Official Repositories (正體中文) - ArchWiki
關連一下 Jason 大大的新文章。
回覆刪除> [經驗分享] APT 與 YUM 常用指令對照筆記 | 節省工具箱 Jason Tools
> - https://blog.jason.tools/2020/07/apt-yum-note.html