8

我正在尝试更新我们的安装程序,以便用户可以简单地双击文件并轻松安装所有依赖项和我们的软件。这是一套应用程序,将部署在干净的Ubuntu 8.04 (Hardy Heron) 安装上。我研究过制作一个.deb文件,但列出依赖项不起作用,因为没有任何可用的 Internet 访问。而且,任何设置本地APT存储库的脚本仍然需要从命令行运行。有没有办法将.deb文件放入.deb文件中?

我知道很多公司都提供 shell 脚本,你必须chmod +x,然后执行。这是不可接受的。这是不可能的,这很荒谬。特别是考虑到分布和架构是固定的。

4

3 回答 3

4

如果您完全确信它每次都会安装在同一个系统上,您可以自己找到软件包依赖项列表,从 Ubuntu 存储库中获取它们,然后将它们与您的软件打包在一起。您只需要清楚您的软件是针对特定版本的,可能会处理诸如跟上维护版本之类的事情。

您还可以使用脚本轻松安装。至于您对使脚本可执行的抱怨,好吧,我不知道您是如何运送您的产品的,但是既然您说它会在没有互联网访问的地方出现,我认为它会从某种媒体中复制而来。如果您将脚本放在该媒体上时使其可执行,那么您就完成了。

如果您想使用包来执行此操作,您可以创建一个包含包存储库的CD-ROM 。您可以通过 Google 搜索找到有关这方面的各种信息。对于初学者来说,试试这个——它是一个图形用户界面。http://aptoncd.sourceforge.net/

于 2009-07-28T20:00:15.510 回答
0

使用 sudo 启动安装脚本的makeself自解压可执行文件将起作用。

用户可以从终端运行它(在 chmod 之后),也可以双击它并从提示中告诉它“运行”。

于 2009-10-07T19:38:33.783 回答
-1

可以将 deb 文件放入 deb 文件中。您唯一需要做的就是配置适当的脚本。

.deb 文件包括:

  • 1x control.tar.gz:包含文件“control”(描述包)和可选文件,如“postinst”(提取后立即执行的脚本)。您可能还包括其他文件,Google 搜索应提供有关可用脚本的信息。

  • 1x data.tar.gz:包含一些根文件系统结构,其中包含需要(重新)放置的文件/文件夹。此外,您可以在上述脚本中配置行为。

  • 1x debian-binary:据我所知,这只是文件中的版本号。我不知道这到底是什么意思;请记住,在大多数情况下,这是 2.0。

因此,您现在可以将 .deb 文件放入数据包中。这些由您的脚本提取...并使用以下方式安装:

# dpkg -i yourpackage1.deb yourpackage2.deb
于 2009-07-28T19:52:32.780 回答