Linux Debian包控制文件问题

Linux Debian包控制文件问题,linux,debian,debian-based,Linux,Debian,Debian Based,我正在尝试为Java应用程序创建一个Debian包 在我的包中有一个可执行的.jar文件,一个运行这个jar文件的脚本和一个用于fmod的.so文件。 我读过 在控制文件中有一个“Depends”字段,它基本上描述了安装我的应用程序所需安装的软件包。我的问题是,我如何找到我的申请需要哪些软件包?我按照教程中的说明使用了一个.so文件,得到了以下结果: $ dpkg -S libfmodex64-4.28.09.so dpkg: *libfmodex64-4.28.09.so* not foun

我正在尝试为Java应用程序创建一个Debian包

在我的包中有一个可执行的
.jar
文件,一个运行这个jar文件的脚本和一个用于fmod的
.so
文件。 我读过

在控制文件中有一个“Depends”字段,它基本上描述了安装我的应用程序所需安装的软件包。我的问题是,我如何找到我的申请需要哪些软件包?我按照教程中的说明使用了一个.so文件,得到了以下结果:

$ dpkg -S libfmodex64-4.28.09.so 
dpkg: *libfmodex64-4.28.09.so* not found.

此外,我的应用程序需要安装Java1.5才能运行。如何在我的debian软件包中指定这一点?

我强烈建议您从debian软件包基础结构中的源代码构建软件包。如果您在中使用Ant类,一切都会自动处理


如果您坚持只组装二进制
。deb
比您的文档中描述的方法要简单得多。

我强烈建议您从Debian打包基础结构中的源代码构建包。如果您在中使用Ant类,一切都会自动处理


如果您坚持只汇编二进制
。deb
比文档中描述的方法要简单得多。

您需要获得库的规范名称:

apt缓存搜索libname

注意包装末尾的术语。您不希望在控制文件中指定特定的版本,只希望指定适合您的应用程序的库的最早版本

然后,您将使用
canonical_libname>=major.minor
,这让系统决定您是否拥有(或可以更新)支持您的应用程序的库版本。如果您及时地对其进行刻划,即指定当前库的完整版本,您将在将来中断


例如,如果指定
libfoo-1.2.34
和Debian ship的未来版本
libfoo-2.3.45
,您的软件包将不会安装,因为它认为您的libfoo版本不兼容。

您需要获取库的规范名称:

apt缓存搜索libname

注意包装末尾的术语。您不希望在控制文件中指定特定的版本,只希望指定适合您的应用程序的库的最早版本

然后,您将使用
canonical_libname>=major.minor
,这让系统决定您是否拥有(或可以更新)支持您的应用程序的库版本。如果您及时地对其进行刻划,即指定当前库的完整版本,您将在将来中断


例如,如果指定
libfoo-1.2.34
和Debian ship的未来版本
libfoo-2.3.45
,您的软件包将不会安装,因为它认为您的libfoo版本不兼容。

apt cache
,而不是
apt cache
@ephemient-谢谢,修复了它。
apt cache
,不
apt cache
@ephemient-谢谢,修复了它。你好,ephemient,谢谢你的回复。这正是我需要的。实际上,我以后需要将所有内容集成到ant中。。那么,有没有一个很好的关于将Ant与CDB集成的教程呢。。谢谢你的回复。这正是我需要的。实际上,我以后需要将所有内容集成到ant中。。那么,有没有一个很好的关于将Ant与CDB集成的教程呢。。谢谢