Introduction
使用Linux的新手,除了一開始的門檻(要搞清楚一堆指令)以外,比較麻煩的應該就是套件管理系統了吧,這地方會有點複雜,因為除了你要知道什麼功能要安裝哪個套件以外,還會牽扯到許多的相依性問題。
這篇文章要來了解一下Debian-based的Ububut下的套件管理系統,底下先整理幾個相關的套件簡單說明:
後端系統
- APT:全名是Advanced Packaging Tool,也就是套件管理系統的後端。
Console工具
- dpkg:檔案安裝系統,不會去管你的檔案相依性。
- apt:除了上面的後端APT系統以外,後來又出了一個叫做apt的前端軟體。
- apt-get:套件管理系統的前端,會去幫你注意到相依關係的套件。
- add-apt-repository:使用這個套件可以幫你管理你的repo資訊。
- auto-apt:這套工具可以幫你處理掉套件相依性的問題。
- update-alternatives:於相似的套件,不同版本之間幫你管理你的套件切換。
- apt-key: 這個軟體是用來管理APT的key,而這些key主要是拿來認證套件用的。
- wajig:基於dpkg/APT系統上的簡單套件管理軟體,包含了『apt-get』,『dpkg』,『apt-cache』和其他相關工具的整合。
- dselect:一系列apt-get script的集合包裝,有更多的功能性。
- rmadison : 用來線上查詢套件的Debian archive database。
GUI工具
- aptitude:有GUI的apt-get。
- synaptic:APT的GTK+ GUI,使用在debian和其分支們,不只可以用在deb』,而且也可以用在『rpm』。
下圖是宏觀:
一開始先來看一下整個大架構:
- 從將遠端資料庫資料寫入sources.list。
- 使用者下指令要安裝某個軟體,所以到sources.list去檢查遠方資料庫資料。
- 取得遠方資料庫資料。
- 套件管理軟體下載相對應檔案和相依檔案到/var/cache/apt/archives資料夾。
- 安裝套件到相對應資料夾,/usr/bin和/usr/sbin只是在表達軟體安裝的資料夾,但是根據不一樣的軟體,所安裝的資料夾也會不一樣,像是也許還會有manual檔等等。
而 dpkg是跟其他系統分開的,就是你從網路下載到這個deb檔,然後用dpkg就可以安裝到相對應的資料夾,並沒有被系統管理。
Todo:
預計加入:
- 修改宏觀圖
- 預計加入apt-secure
- 預計加入pkg-config
- 加入trouble-shooting