套件管理工具比效(debian - apt、gentoo - emerge、freebsd - prots)

火星人 @ 2014-03-23 , reply:0



比較一下現在市面上幾種套件管理工具(debian - apt , gentoo - emerge , freebsd - prots)

其它參考: APT用法、emerge用法
深入內容中有emerge, apt, ports的語法比較(也可以說是語法教學吧)

emerge -s packagename可以搜索阿,而且忽略大小寫,能夠模糊查找
emerge -p packagename可以輸出關聯包
emerge --nodeps packagename可以忽略關聯
emerge -C還可以卸載不記關聯,很方便

Gentoo/Debian/FreeBSD套件管理memo
以關鍵字搜尋軟體
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: apt-get install
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: dpkg -L
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




[火星人 via ] 套件管理工具比效(debian - apt、gentoo - emerge、freebsd - prots)已經有210次圍觀

http://www.coctec.com/docs/linux/show-post-120955.html