# Debian 系列相關的套件管理工具


## dpkg

最底層工具，代表 Debian pkg，只負責安裝單一個檔案，發現沒有相依套件的時候，什麼時候都不會做。

## apt

高解管理工具，負責像是把相依套件安裝完成。

## apt-get

apt 的前身，事實上，apt合併了apt-get 跟 apt-cache，apt-get 是 command-line utility，跟 apt 使用同樣的 apt library。

但 apt 沒有完全合併所有 apt-get 的函數，所以你有時候還是會用到 apt-get。並且通常時候 apt command 並且快且容易記憶。

## PPA

這是 Ubuntu 特有的個人套件庫機制。雖然技術上與 Debian 相容，但因為兩者底層函式庫（如 libc）版本往往不一致，強行在 Debian 使用 PPA 是製造「科學怪人系統」的最快途徑。

## Flatpak

目前 Linux 桌面界最受歡迎的格式。軟體會在一個隔離的沙盒（Sandbox）中執行，內建所有需要的函式庫，因此不會與系統本身的軟體產生衝突。

## Snap

由 Canonical（Ubuntu 的母公司）主導的技術。與 Flatpak 類似，但在伺服器端工具與物聯網（IoT）領域應用較廣。

## Reference

* [軟體套件管理系統](https://zh.wikipedia.org/zh-tw/%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F)
* [Ubuntu 套件管理(apt vs apt-get vs dpkg)https://medium.com/@cozy-kola/ubuntu-%E5%AE%89%E8%A3%9D-pkg-%E7%9B%B8%E9%97%9C-apt-vs-apt-get-vs-dpkg-c8d8c4f5687c](https://medium.com/@cozy-kola/ubuntu-%E5%AE%89%E8%A3%9D-pkg-%E7%9B%B8%E9%97%9C-apt-vs-apt-get-vs-dpkg-c8d8c4f5687c)

