20

我正在创建一个小的 deb 包来安装一些文件。其中一些将位于 /usr/lib/mypackage/ 中,我想创建一个从 /usr/lib/mypackage/mybin 到 /usr/bin/mybin 的符号链接

对于 /usr/lib/mypackage 文件夹,我使用 mypackage.install 并将文件复制到那里。这似乎工作正常。

但是,为了创建我的符号链接,我知道我需要在其中使用 debian 规则文件,但我不确定如何继续,这是我需要添加的行,应该在哪里添加以及如何添加?谢谢

ln -s /usr/lib/mypackage/mybin /usr/bin/mybin
4

1 回答 1

28

最好的方法是使用dh_linkdebhelper 套件的一部分。有关man dh_link其操作的详细信息,请参阅。从中可以看出,您可能希望在名为 的文件中包含以下内容debian/$mypackage.links

/usr/lib/mypackage/mybin  /usr/bin/mybin

如果还没有,你应该把它dh_link放在哪里debian/rules,取决于你如何制作你的包裹。如果您使用的是 Debhelper,那么您debian/rules可能已经dh_link处理好了(尽管如果您使用的是经典的 Debhelper,那么该dh_link行可能会被注释掉,您需要取消注释)。使用新式 Debhelper ( dh) 或 CDBS-plus-debhelper ( include /usr/share/cdbs/1/rules/debhelper.mk) 也算在内;他们会照顾dh_link你。

但是,如果您不使用 Debhelper,并且不想开始,那么dh_link可能不是一个选择。在这种情况下,您只需要确保您遵守有关该主题的 Debian 政策(这意味着您的符号链接应该是相对的,而不是绝对的)。您可能希望在您debian/rulesbuild目标中创建链接。例子:

build:
    # ... other stuff ...
    mkdir -p debian/$mypackage/usr/bin
    ln -s ../lib/mypackage/mybin debian/$mypackage/usr/bin/mybin
于 2012-05-08T15:50:16.653 回答