首頁>Linux>source
說明

說明示例:

  1. 我將建立 my-app 来自来源。
  2. 它需要一些依赖性.用 apt-get install foo bar baz安裝它们 .
  3. 構建應用程式。
  4. 安裝另一个軟體包( hello.deb )依赖 foo .
  5. 删除 my-app 一段時間後,删除整个源檔案夹。
  6. 删除 my-app的依赖項 .

但是,在第6步中,您不能簡單地發佈 apt-get remove foo bar baz 對於依赖項,因為 hello.deb 仍然需要 foo 包,所以只有 barbaz 包應删除。

建議

為了解決此問题,可以建立一个偽包来宣告 foo的依赖性 , barbaz 我们可以簡單地安裝這个虛擬軟體包.稍後,我们可以通過卸載此虛擬程式包来安全地卸載所有這些依赖項.包裝器指令碼將動態構建此類軟體包並安裝:

$ apt-get-named install foo bar baz
Intention: for-myapp
問题

這種方法對這个問题有用吗? 是否有针對此問题的已實施解決方案? 我们如何為此目的建立一个虛擬程式包?

最新回復
  • 5月前
    1 #

    尚無現成的工具可提供此功能,因為Debian的普遍期望是有人会打包 my-app ,這將是真正的軟體包,確保只要 my-app依赖項都保持可用 已安裝(独立於 hello )。

    在這種情况下,有两種工具可以派上用场.我怀疑与您最相關的是 equivs ,它提供了一種建立具有依赖關係的虛擬包的快速方法; 有關详细資訊,請參见建立仅具有依赖項的.deb程式包.另一个工具是 mk-build-deps ,用於生成反映另一个程式包的構建依赖關係的虛擬程式包,並且在略有不同的情况下很有用:目標是使给定程式包的構建依赖關係可作為一个整體进行管理.有關详细資訊,請參见dpkg-checkbuilddeps檢測到的自動安裝未满足的構建依赖項。

  • guixsd:在Guix系統上啟用Thunar的卷管理
  • 在zSH中,如何取消設置任意關聯陣列元素?