一文了解什么是 Linux 上的包依賴
如果你是 Linux 愛好者,應該聽說過 Linux 中的包依賴項并很想知道它們究竟是什么。依賴關系可能看起來很混亂,但是 Linux 中有一些工具可以確保您安裝的每個程序都具有它需要的所有組件。
現在讓我們了解 Linux 依賴項及其對 Linux 包管理的影響。
Linux 程序是由軟件構建塊組成的
Linux 依賴項只是程序需要運行的東西。這是因為 Linux 開發人員傾向于以模塊化的方式編寫程序。這可以追溯到從較小的組件構建程序的“Unix 哲學”。
依賴項通常是共享庫。它們可能用于訪問數據庫、使用網絡協議或在屏幕上繪制圖形元素。雖然專有程序也使用共享庫,但在 Linux 世界中這樣做更容易,因為它們通常也是開源的。
依賴項也可以是完整的程序。Linux 世界中的一種常見模式是為現有命令行程序構建 GUI 前端。
使用共享庫使開發更容易,因為開發人員不必在每次要創建新應用程序時都想出新的方法來做事。
包管理器如何使安裝 Linux 軟件更容易
您可以從開源程序的網站下載源代碼并嘗試自己編譯,但您經常會看到缺少某些內容的錯誤。這是因為這些項目不包含任何與其程序的依賴關系。他們假設您已經安裝了它們或者愿意安裝它們。
這在最初的 Unix 時代運行良好,它在小型機和大型機上運行,并有專門的管理人員,但當 Linux 開始在 PC 上流行時,舊的方法對于可能沒有太多管理人員的用戶來說很難管理。
Linux 發行版開始包含包管理工具,用于跟蹤依賴項、通過互聯網下載它們、安裝它們,并在新版本發布時保持更新。
Flatpak 和 Snap 是通過將依賴項與應用程序一起發布來管理依賴項的最新嘗試。這樣,依賴項和應用程序可以更好地保持同步。開發人員可以更好地控制應用程序到達用戶時的行為方式。
如何在 Linux 上查看包依賴關系
Linux 發行包網站可以顯示任何包依賴項。您也可以使用包管理器查看包具有哪些依賴項。
在 Debian 或 Ubuntu 上,使用 APT:
在 Arch 上,使用帶 -Si 選項的 pacman。“依賴于”部分將顯示依賴關系。
在 Red Hat 系列的 Linux 發行版上,使用 DNF:
現在你應該了解 Linux 包依賴
依賴關系在 Linux 上并不那么神秘。它們展示了 Linux 程序是如何由較小的組件構建的。包管理器通過跟蹤包使安裝軟件的工作變得更容易。
還可以查看包具有哪些依賴項。它們也是為什么在安裝新程序時應該更新包管理器的原因。