# 完全用 GNU/Linux 工作
### 04. 套件管理 (Package Management)
有了網路我們就可以開始安裝套件,但要怎麼安裝套件也是門大學問,而且在不同的 [GNU/Linux 發行版本 (Distribution)](http://zh.wikipedia.org/wiki/Linux%E5%8F%91%E8%A1%8C%E7%89%88) 中所使用的[套件管理系統 (Package Management System)](http://en.wikipedia.org/wiki/Package_management_system) 也不同。Debian 血統上常用的有 dpkg, apt 和 aptitude,Red Hat 血統上常用的有 rpm 和 yum。(圖形界面中也有不少套件管理員可使用,在此凍仁就不多加贅述)。
這些指令與前文 ([03. 網路設定](#)) 提到的套件庫 (package reopsiroty) 一詞是息息相關的,我們只需在本機下達安裝某套件的指令,它即會從網路上的套件庫下載並安裝套件;但前題是必須知道正確的套件名稱才行!其套件管理不外乎就是在做套件的**搜尋**、**安裝**、**升級**跟**移除**。
![2013-09-21-pms.png](https://box.kancloud.cn/2015-08-18_55d2bba76b99b.png "2013-09-21-pms.png")
▲ Debian/Ubuntu, CentOS/RHEL 上常見套件管理指令。
### 舉例說明
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>
~~~
1.
安裝。
~~~
# 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>
~~~
1.
升級。
~~~
# 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>
~~~
1.
移除。
~~~
# 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>
~~~
話說套件管理的指令也不算少,凍仁強烈建議大家使用 aptitude 及 yum 來管理套件,其最棒的是它們會自行處理套件間的相依性,可減輕不少負擔。至於參數的部份,請先牢記 search, install, update, upgrade 和 remove。相信到這裡我們已可完成大部份的事情了。
### 資料來源
- [Linux上的套件管理 (rpm, dpkg, yum, apt) | 八拉八拉在 blah blah ...](http://blog.roodo.com/schonrosemary/archives/4362693.html)
- [apt 用法教學 - Tsung's Blog](http://blog.longwin.com.tw/2005/05/use_apt/)
- [APT 的 clean 與 autoclean 差異 - Tsung's Blog](http://blog.longwin.com.tw/2012/05/apt-clean-autoclean-diff-2012/)
- [RPM 與 SRPM 軟體管理員 | 鳥哥的 Linux 私房菜](http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php)
- [Dpkg 常用指令操作快速参考 — LinuxTOY](http://linuxtoy.org/archives/dpkg_reference.html)
- [Official Repositories (正體中文) - ArchWiki](https://wiki.archlinux.org/index.php/Official_Repositories_(%E6%AD%A3%E9%AB%94%E4%B8%AD%E6%96%87)
- 介紹
- 前言
- 建立開機媒體 (隨身碟、光碟)
- 網路設定
- 套件管理
- 套件庫及鏡像站
- 安裝驅動程式
- 簡易的防火牆 - UFW & GUFW
- 電源管理 - PowerTOP
- Hacking Bash
- Shell Scripts
- Hacking Vim
- Vim 套件管理 - NeoBundle
- Pentadactyl
- 色碼擷取器 - Gpick vs Gcolor2
- 文字界面的字典 sdcv
- 於 Vim 裡使用 sdcv
- 商業版的 Wine - CrossOver
- 藉由 CrossOver 安裝 Microsoft Office 2007
- 虛擬機器 - VMware Player 5
- 增進 SSH 使用效率 - ssh_config
- 遠端桌面軟體 - Remmina
- 密碼管理員 - FPM2
- 密碼管理員 - FPM2Droid
- 視窗管理及工作區 (上)
- 視窗管理及工作區 (下)
- 使用 Clonezilla 打造不死的作業系統
- Ubuntu 系統版本升級
- 使用 Live CD 修復 Debian/Ubuntu 系統
- 檢測硬碟 SMART 健康狀態
- 銷毀資料 - Shred
- 附录
- 將 Markdown 文件轉成 HTML