目前市面上大部分的Linux distro都是根基於Red Hat及Debian這兩大廠牌的改裝(SuSE是一個異類)。所以在套件管理上,Red Hat的RPM與Debian的DPKG就成為Linux套件管理上的兩大標準。php
這邊也不討論類Unix做業系統在套件管理(軟體的安裝,移除,查詢)上所持的哲學與通常人經常使用的MS Windows系列有很大的不一樣而衍生出的困難了,直接就這兩個套件管理工具列出比較以利查詢。html
如下整理列表來自Jamyy's Weblog:前端
安裝linux
目的 rpm 用法 dpkg 用法 安裝指定套件 rpm -i pkgfile.rpm dpkg -i pkgfile.deb
查詢web
目的 rpm 用法 dpkg 用法 顯示全部已安裝的套件名稱 rpm -qa dpkg -l (小寫 L) 顯示套件包含的全部檔案 rpm -ql softwarename (小寫 L) dpkg -L softwarename 顯示特定檔案所屬套件名稱 rpm -qf /path/to/file dpkg -S /path/to/file 查詢套件檔案資訊 rpm -qip pkgfile.rpm (顯示套件資訊)
rpm -qlp pkgfile.rpm (小寫 L, 顯示套件內全部檔案)dpkg -I pkgfile.deb (大寫 I )
dpkg -c pkgfile.deb顯示指定套件是否安裝 rpm -q softwarename (只顯示套件名稱)
rpm -qi softwarename (顯示套件資訊)dpkg -l softwarename (小寫 L, 只列出簡潔資訊)
dpkg -s softwarename (顯示詳細資訊)
dpkg -p softwarename (顯示詳細資訊)
移除ide
目的 rpm 用法 dpkg 用法 移除指定套件 rpm -e softwarename dpkg -r softwarename (會留下套件設定檔)
dpkg -P softwarename (徹底移除)
在 Debian 使用 alien 處理 RPM 套件工具
alien 可處理 .deb、.rpm、.slp、.tgz 等檔案格式, 進行轉檔或安裝.
於 Debian 安裝非 Debian 套件時, 可以使用 alien 進行安裝.
安裝 alien 套件: apt-get install alienui
在 Debian 安裝 RPM 套件: alien -i quota-3.12-7.i386.rpmurl
製做成 deb 的套件格式: alien -d quota-3.12-7.i386.rpmspa
製做成 rpm 的套件格式: alien -r quota_3.12-6_i386.deb
APT與YUM
雖然RPM與DPKG有效的解決的軟體的安裝,移除與查詢的需求,可是在Linux上的套件管理還有一個很大的問題必須解決,就是各軟體間的相依性(dependency)。RPM與DPKG只能作到檢查相依性,在安裝或移除時告知相依性的不滿足,皆下來就須要使用者自行去找出所需的套件來安裝。這樣的確是有點不方便,所以產生了前端工具軟體 - APT及YUM。
APT
Debian開發,目前也有porting到其餘版本,要在Red Hat系的Fedora或CentOS使用也是能夠的。
使用方法:
編輯 /etc/apt/sources.list,設定所選用的版本,如stable,testing,unstable及套件來源站臺或裝置。檔案詳細設定請參考:瞭解 Debian 系統的哲學
基本指令:
apt-setup 設定/etc/apt/souces.list apt-get update 軟體資料庫同步 apt-get install softwarename1 [softwarename2.....] 安裝軟體 apt-get remove softwarename1 [softwarename2...] 移除軟體(保留設定檔) apt-get --purge remove softwarename1 [softwarename2...] 移除軟體(不保留設定檔) apt-cache search softwarename 列出全部sofrwarename的套件 apt-upgrade [softwarename1softwarename2...] 更新套件,不指定套件名則更新全部可更新的套件 apt-get clean(autoclean) 刪除系統暫存的deb(autoclean只會將比目前系統舊版的套件刪除) apt-get dist-upgrade 轉換系統的版本(需在/etc/apt/sources.list指定stable,testing或unstable)
YUM
YUM(Yellow dog Updater, Modified )是Yellow Dog Linux開發的。Yellow Dog Linux本來是一套徹底源於Red Hat但運做於先前使用IBM PPC平臺的MAC機器,本來以為這個版本已經消失,沒想到最新消息是他們推出了在Sony PS3上面運做的版本。CentOS及Fedora的基本預設安裝中即將YUM列入其內。若是沒記錯,要在Debian上使用YUM也是能夠的。
使用方法:
編輯 /etc/yum.conf 檔案詳細設定請參考:簡易 APT/YUM 伺服器設定 註1
基本指令: (若是 yum 在工做過程中須要使用者回應,可加上 -y參數直接回答 yes )
yum install softwarename1 [softwarename2.....] 安裝套件 yum update [softwarename1softwarename2...] 更新套件,不指定套件名則更新全部可更新的套件 yum list 列出目前在 yum server 上面有的套件 yum info 類似 rpm -qi yum clean 移除下載到本機的 packages 或 headers yum remove softwarename1 [softwarename2.....] 移除已經安裝的套件
註1:Red Hat近年來致力於將一個設定檔切割成不少小設定檔。以yum.conf為例,Red Hat將其分割成xxx.repo檔放置在/etc/yum.repos.d這個目錄下。並在yum.conf檔裡增長一行註解: PUT YOUR REPOS HERE OR IN separate files named file.repo in /etc/yum.repos.d。個人可視喜愛決定。
參考文件:
鳥哥的 Linux 與 ADSL 私房菜:簡易 APT/YUM 伺服器設定
Debian 無痛起步法:瞭解 Debian 系統的哲學
Jamyy's Weblog:rpm vs. dpkg 經常使用參數對照