套件管理工具比較


比較一下現在市面上幾種套件管理工具

(debian - apt , gentoo - emerge , freebsd - prots)


深入內容中有 emerge, apt, ports 的語法比較(也可以說是語法教學吧)



以關鍵字搜尋軟體

Gentoo: emerge -s

輸出會有這個 pkg 的簡介 , 關鍵字都可以用正規表示式

Debian: apt-cache search

FreeBSD: make search name= 或

ports_glob -- need portupgrade

安裝軟體

Gentoo: emerge

Debian: apt-get install

FreeBSD: portinstall

移除軟體

Gentoo: emerge unmerge

Debian: apt-get remove

FreeBSD: pkg_deinstall

升級單一軟體

Gentoo: emerge -u

Debian: ?

FreeBSD: portupgrade

察看升級全系統會動到哪些套件:

Gentoo: emerge -puDv world

Debian: apt-get -u dist-upgrade

FreeBSD: portupgrade -arnv

升級全系統

Gentoo: emerge -u --deep world

Debian: apt-get dist-upgrade

FreeBSD: make world ; portupgrade -ar

查詢系統裝了哪些軟體

Gentoo: emerge -pe world 或 qpkg -I -v

Debian: dpkg --get-selections

FreeBSD: pkg_info

查詢某檔案屬於哪個軟體

Gentoo: qpkg -f

(need gentoolkit)

Debian: dpkg -S

FreeBSD: pkg_info -W

查詢某個套件安裝了什麼檔案

Gentoo: qpkg -l

Debian: ?

FreeBSD: pkg_info -L

查詢有沒有裝這個關鍵字的套件

Gentoo: qpkg -I | grep (qpkg再加上 -v 看版本號碼)

Debian: dpkg -qa | grep

FreeBSD: pkg_info | grep

找哪些 pkg "簡介" 裡含有你要找的關鍵字:

Gentoo: emerge -S <關鍵字>

輸出方式和前者一樣, 關鍵字都可以用正規表示式

Debian: apt-cache search

FreeBSD: make search key=

不管相依性強制移除某套件

Gentoo: emerge -C

Debian:

FreeBSD: pkg_delete -f

全系統重新編譯

Gentoo: emerge -e world

Debian: ?

FreeBSD: make world ; portupgrade -arf

========

補充:

qpkg -f

ps: emerge gentoolkit first.

--

gentoo 裡:

查詢某個套件安裝了什麼檔案:

qpkg -l

查詢有沒有裝這個關鍵字的套件:

qpkg -I (再加上 -v 看版本號碼)

不管相依性強制移除某套件:

emerge -C

--

仔細看一下 man emerge

要找一個 pkg 的 "名稱":

emerge -s <關鍵字>

輸出會有這個 pkg 的簡介

找哪些 pkg "簡介" 裡含有你要找的關鍵字:

emerge -S <關鍵字>

輸出方式和前者一樣

更厲害的是上面的關鍵字都可以用正規表示式!!

--

emerge -f (fetchonly)

好處在於當你emerge 兩個package以上的時候,可以先把source給抓回來,不過需要再emerge

emerge -p (pretend)

看要裝些什麼東西,

小弟認為這兩個指令對撥接使用者很重要,尤其 -f .一來可以大略知道下載時間,二來可以隨時中斷,然後在續傳(感謝偉大的wget)

--

升級單一軟體

Gentoo: emerge -u

Debian: apt-get install

FreeBSD: portupgrade

查詢某個套件安裝了什麼檔案

Gentoo: qpkg -l

credit to paar@gentoo.org.tw

Debian: dpkg -L

FreeBSD: pkg_info -L

全系統重新編譯

Gentoo: emerge -e world

Debian: apt-get update;apt-get upgrade

FreeBSD: make world ; portupgrade -arf