Answers:
尽管已经接受了一个答案,但内联更好地传达了这一过程:
有一个Debian软件包equivs
,它可以创建虚拟软件包。通过运行安装sudo apt-get install -y equivs
安装后,您可以使用以下命令生成模板“控制”文件:(equivs-control postfix
替换postfix
为包名)。在我的情况下,我可能会使用其他包名称,例如postfix-custom
或其他名称,但要满足我的自定义程序包或Provides
的安装依赖性postfix
(再次替换postfix
所需的任何程序包。
模板控制文件生成后,通常会删除很多注释掉的语句(以开头的语句#
)。我想特别保留的一条Provides:
语句是,我的软件包可以提供我要伪造的其他软件包所提供的功能,例如,Provides: postfix
告诉Debian / Ubuntu依赖性解析机制,无论我的软件包是什么名称,再次提供与目标软件包相同的功能postfix
。这使我可以独立于目标程序包命名程序包,以避免混淆。Erlang Factory用他们的东西来做到这一点,例如esl-erlang
providers erlang
。
最后,一旦创建了模板控制文件,您就可以使用它equivs-build
来生成伪造的包,例如equivs-build /path/to/generated/control/file
。
花费几秒钟来构建软件包,然后您可以运行 sudo dpkg -i my_package_name*.deb
对于高级用户,如果您的模板控制文件具有Requires:
依赖项行,则可能要使用工具gdebi
来安装您的软件包以及它声明为依赖项的各种软件包。