我正在尝试更新我们的安装程序,以便用户只需双击文件即可轻松安装所有依赖项和我们的软件。这是一套应用程序,将部署在干净的Ubuntu 8.04安装上。我已经调查了制作.deb文件,但列出依赖项不起作用,因为没有可用的Internet访问。并且,任何设置本地apt存储库的脚本仍然需要从命令行运行。有没有办法将deb文件放在deb文件中?
我知道很多公司都发布了chmod + x的shell脚本,然后执行。这是不可接受的。这是不可能的,这是荒谬的;特别是考虑到分布和架构是固定的。
答案 0 :(得分:4)
如果您完全相信它每次都会安装在同一系统上,您可以自己查找软件包依赖项列表,从Ubuntu repos中获取它们,并将它们与您的软件打包在一起。您必须明确您的软件是针对特定版本的,可能需要处理维护版本等问题。
您还可以使用脚本轻松安装。至于你关于使脚本可执行的抱怨,好吧,我不知道你是如何运送你的产品,但是因为你说它正在某个没有互联网访问的地方,我认为它将从某种媒体中复制。如果您在将该脚本放在该媒体上时使该脚本可执行,那么您就完成了。
如果您想使用包执行此操作,则可以创建包含包存储库的CD。你可以通过谷歌找到关于此的各种信息。对于初学者来说,试试这个 - 这是一个用于执行此操作的GUI。 http://aptoncd.sourceforge.net/
答案 1 :(得分:0)
在这段时间之后,我找到了一个令人满意的答案:一个makeself自解压可执行文件,它使用sudo启动安装脚本。用户可以从终端运行它(在修改它之后),也可以双击它并告诉它从提示符“运行”。
答案 2 :(得分:-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
希望澄清部分内容。如果你需要细节我可以进一步研究,我已经为自己制作了一些deb包(我经常使用的脚本等)
问候