可能重复:
如何创建一个自动安装其他包的元包?
我想使用 Frescobaldi(Lilypond 的编辑器),但是官方 repos 中的 lilypond 打包版本(2.12.3;lilypond 就像 TeX 用于记分表)有点旧,因为我想使用一些全新的功能。所以我只是克隆了他们的 git repo 并从那里安装它。
现在我的问题是,我怎样才能告诉 apt,我手动满足了对 lilypond 的依赖,这样它就不会尝试安装另一个副本?
可能重复:
如何创建一个自动安装其他包的元包?
我想使用 Frescobaldi(Lilypond 的编辑器),但是官方 repos 中的 lilypond 打包版本(2.12.3;lilypond 就像 TeX 用于记分表)有点旧,因为我想使用一些全新的功能。所以我只是克隆了他们的 git repo 并从那里安装它。
现在我的问题是,我怎样才能告诉 apt,我手动满足了对 lilypond 的依赖,这样它就不会尝试安装另一个副本?
对于您实际提供依赖项的位置,我将使用它
checkinstall
来进行安装。checkinstall
基本上替换make install
并生成一个适当的 .deb 包,然后安装它。这不仅允许您以更好的方式删除或升级软件包(当时机成熟时),它还满足了来自其他应用程序的依赖关系。另一种方法是编写一个不提供任何文件但声称提供您想要的任何东西的小虚拟包。我能看到的最简单的方法是使用一个名为
equivs
:第三种方法很简单,但可能有害:只需从标准存储库安装它,然后将其文件替换为您生成的文件。锁定软件包的版本,使其不会升级。这有可能出错,所以只有在你不能
checkinstall
或以其他方式首先伪造包裹时才这样做。您应该使用
dhmake
orsudo check install
代替sudo make install
. 这样你就可以创建一个后来 lilypond 版本的 deb(检查安装也会安装 deb)^^。如果您仍然有源文件(以及编译后的目标文件/制作文件等),您仍然可以这样做而无需再次下载。