星期四, 五月 05, 2005

套件管理工具比較

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

其它參考: APT 用法emerge 用法

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

以下轉載自: 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 <package>
Debian:
apt-get install <package>
FreeBSD: portupgrade <package>


察看升級全系統會動到哪些套件:
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 <package>
Debian:
dpkg -L <package>
FreeBSD: pkg_info -L <package>


查詢有沒有裝這個關鍵字的套件
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

相關標籤

this is comment icon 原來還有portinstall這指令啊... [回覆]

剛man了一下…還真的有portinstall這個指令
不過感覺上絕大多數人還是用make install

因為portinstall要先裝了portupgrade後才會有 :)

Comment by Blueshine (05/08/2005 14:34)

this is comment icon 回 原來還有portinstall這指令啊... [回覆]

這個我也沒用過說, 但是對於剛入門 Freebsd 來說,
要找如何將全部套件升級確實是一個痛說.
有這個應該會比較方便點吧~

Comment by Tsung (05/13/2005 09:16)

this is comment icon @@受益良多 [回覆]

感謝^^ 受益良多
請問可以轉錄您的文章嗎?

Comment by zgod (09/14/2006 04:00)

this is comment icon 回 zgod [回覆]

您只要標註一下從哪邊轉錄的就好囉~ 其它都隨意唷~ :)

Comment by Tsung (09/14/2006 10:00)
Add this page to del.icio.us Add this page to Yahoo Taiwan's bookmark Add this page to MyShare

發表迴響

標題

內容 (限制 1000 字)

暱稱

電子郵件

個人網頁


 authimage


PS: 若無法留言, 請先確認是否有打開 JavaScript, 造成您的困擾, 實在萬分對不起 Orz...(如果無法留言, 勞煩可以發信給我好嗎? 謝謝.)
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~