Apt
為 APT 打包應用程序是否涉及指向應用程序使用 APT 公用依賴項?
我最近了解到,基於 Debian 的發行版本質上具有一組固定的公共依賴項和庫,任何通過包管理器安裝的應用程序都需要使用這些依賴項和庫。
將其與 Windows 進行對比,我認為每個應用程序通常都提供自己的依賴項 - 因此 Windows 作業系統安裝將多次安裝相同依賴項/庫的實例,並且每個應用程序都需要在其上管理這些依賴項的更新自己的。
我知道一些開發人員開發他們的軟體是為了與 APT 包管理器兼容,但我想肯定有很多應用程序開發人員以“Windows”方式創建了軟體。
所以我的問題是,如果上游開發人員創建他們的軟體的目的是分髮帶有捆綁依賴項的大型單體安裝,那麼 APT 包維護人員是否需要重寫原始碼,以便軟體使用公共依賴項集合而不是本地依賴?
如果是這樣,這是否經常發生,這是包維護者的主要任務嗎?
所以我的問題是,如果上游開發人員創建他們的軟體的目的是分髮帶有捆綁依賴項的大型單體安裝,那麼 APT 包維護人員是否需要重寫原始碼,以便軟體使用公共依賴項集合而不是本地依賴?
不一定,只要整體安裝不與現有庫或文件名衝突。也就是說,如果系統已經有一個
/lib/foobar
(版本 12),並且單體包需要並捆綁foobar
v.9,則該單體包不能foobar
使用 filename 儲存其 v.9/lib/foobar
,因為該路徑名已被採用 - 但它可以使用/lib/foobar_v9
,或者也許.../monolithic_app_dir/lib/foobar
。如果是這樣,這是否經常發生,這是包維護者的主要任務嗎?
是的,防止並且如果需要整理各種級別的依賴地獄是包維護者所做的大部分工作。