我正在尝试创建一个*.deb
-Package 来安装我编写的程序。它由三个可执行文件组成,它们散列位于同一子目录中。例子:
.../myprogram/
|
+- Program A
+- Program B
+- Program C
我以为我可以将它们存储在/usr/share/...
但是 lintian 给出了一个错误。所以我读到,/usr/share/...
依赖于 arch 的对象不能有一席之地。但还有什么地方呢?可执行文件必须分组在“自己的”子文件夹中。
当我查看例如时,/usr/bin/
没有程序的子文件夹。
答案1
Debian 二进制包不应包含/opt
.根据 FHS,这仅适用于本地安装的软件包。这会是由林天标记。这样做会让你被 Debian 自动拒绝,假设它已经通过了你的赞助商。官方档案中没有包包含/opt
.将用户级可执行文件放在顶层/usr/bin
是正确的。为什么要将可执行文件放在子目录中?无论如何,/usr/bin
为可执行文件创建子目录将不起作用,因为该子目录不会位于路径中。
另一种方法是使用符号链接到/usr/bin
文件系统中其他位置,通常为/usr/lib
、/etc/alternatives
或/usr/share
。然而,我认为大多数时候正确的做法是/usr/bin
直接放入这些可执行文件。
答案2
你有几种可能性:
/opt
代表可选,您可以将它们放在特定文件夹中,但默认情况下它不会填充路径,然后在中创建符号链接/usr/bin
可以允许您从/opt
..deb
如果您使用文件,这似乎不是一个有效的选项- 你也可以毫不在意地把它们放进去
/usr/bin
,不要把它们放在特定的文件夹中