之前的照片放在sayya的ftp上,現在似乎主機有問題,所以照片另外擺,還請朋友們另外點圖出來,造成不便還請原諒
簡介
Debian 3.0 Woody release同時,除了原本的 dselect 之外,增加了另外一個前端程式:aptitude。
官方建議尚未使用 dselect 或是想要找尋 apt的前端程式的使用者們,可以考慮以 aptitude 來管理 dpkg package system,以下是擷取官方網站的說明:
* 在 woody 的發行準備過程中,我們的開發人員發展出了許多 apt 的前端介面,以取代已經有相當歷史,也常常遭到批評,但仍然廣為使用的 dselect。對這方面有興趣的使用者應該研究 aptitude 這個套件。
* http://www.debian.org/releases/stable/i ... zh-tw.html
不錯吧,連官方文件都是如此建議,aptitude到底有多大的神奇呢?筆者倒是可以分享一下小心得。
記得很久以前,不小心重灌 Debian...(因為硬碟損毀...),在安裝好 base system 之後,來到了console下,這個時候我無法用WWW來找尋該安裝那些套件,甚至不知道套件名稱,所以無法用 apt-get install 來安裝軟體。
這時候,我就執行 aptitude,選一選我要的package,然後按"g",讓aptitude準備開始下載安裝,整個選取過程不到十分鐘,為什麼呢?因為 aptitude 的好處在於:
1. easy to search package instead of typing lots of words
2. package grouping
3. easy to install/hold/purge/remove/upgrade/downgrade package
4. i18n package grouping
透過上述的功能,讓我無須辛苦的打字,辛苦的想package的名稱,通通在一個視窗進行 install/upgrade,聽起來很迷人吧,接下來一起欣賞 aptitude 的功能吧...
介面
先來看一下 aptitude 的畫面。
http://chuany.net/gallery/album26/C8_3_aptitude_main?full=1
解釋一下這六個項目:
1. New Packages:update list 後所增加的套件
2. Installed Package:系統已安裝的
3. Not Installed Package:尚未安裝的
4. Obsolete and Locally Created Package:非 apt port 所安裝的package,通常為自己建立的deb居多
5. Virtual Packages:這邊的package本身不存在,通常是為了套件相依性而產生,也可以下拉看看該package的版本,比如kernel-image-2.4,往下拉就會看到更多不同版本,比如686/k6/k7等。
6. Tasks:類似tasksel,以不同需求分類package,比如一般桌面使用,我們可以在 End-User 這個區域找到方便使用的軟體
套件狀態
1. h:Hold,保留
2. d:Remove,移除
3. p:Purge,同移除,但會將設定檔也刪除
4. B:Broken,表示該套件與其他套件的相依性出錯
5. i:Install,安裝
6. r:Reinstall,重新安裝
7. u:Upgrade,該套件有新的版本可供升級
功能鍵說明
在使用 aptitude 之前,一些操作的指令與模式需要先熟悉,以下列出的是常用的按鍵組合:
1. +:安裝
2. -:移除
3. _:同移除,但會將設定檔也刪掉
4. =:保留套件不被升級
5. L:重新安裝
6. u:同 apt-get update
7. g:執行 apt-get install
8. d:找出packages與此套件的相依性:suggest/recommanded/depends
9. r:找出套件 depends on 的package
10. enter:顯示套件資訊
11. /:收尋套件
12. \:收尋結果的上一步
13. ?:help視窗
上面最有爭議的大概就是 r / d 這兩個用法了,舉個例子來說明會比較清楚一點,我們就拿xserver-xfree86吧。
這是按下 "r" 的結果:
http://chuany.net/gallery/album26/C8_3_aptitude_1
游標停在 x-window-system-core這一個package上,在此套件上一行寫著 Depends,這代表什麼呢?這表示 x-window-system-core 是 depends on xserver-xfree86,要安裝 x-window-system-core 的話,就會安裝 xserver-xfree86以符合相依性,但對 xserver-xfree86 這個套件來說,有無安裝 x-window-system-core 並不影響。
如果事先已經安裝了 x-window-system-core,且在這個視窗我們進行移除 xserver-xfree86的話,就會發現 x-window-system-core 會有 "B"(broken)的狀態,見下圖:
http://chuany.net/gallery/album26/C8_3_aptitude_1_B
這是按下 "d" 的結果:
http://chuany.net/gallery/album26/C8_3_aptitude_2
游標停在 xserver-common 的地方,上兩行寫著 Depends,這又是代表什麼呢?表示說 xserver-xfree86 depends on xserver-common的意思,如果將 xserver-common移除,那 xserver-xfree86就會出現 "B"(Broken),見下圖:
http://chuany.net/gallery/album26/C8_3_aptitude_2_B
以上這些指令與狀態表皆可在aptitude的help中看到。
心得
通常安裝package最怕的就是出現 broken 訊息時,往往只是看到一個 apt-get 的訊息,移除了一個之後,發現又出現下一個,這時,我建議是透過 aptitude,然後利用 r/d 來找出是那個 package 出了問題,會是比較方便且快速的辦法。
別小看 aptitude 這些功能,其實aptitude還可以"downgrade",只要將source.list中加入舊版的資訊,在aptitude中就可以安裝特定的版本,如果遇到 dependency 的麻煩,就善用上面所說的技巧,找出最穩當的方式來操作,相信會比貿然"降級",而發現系統掛掉來的有保障多了。
對套件管理而言,aptitude幫助我們更清楚了解套件的情況,善用這些功能是可以方便整理套件的窩,希望大家喜歡...