gpt4 book ai didi

ubuntu - 分发适用于 Ubuntu/Debian 的应用程序以使用尚不支持的软件包进行离线安装

转载 作者:行者123 更新时间:2023-12-04 06:51:08 24 4
gpt4 key购买 nike

在为 Ubuntu/Debian 部署我们的应用程序时,我们面临两个挑战:

1.离线安装

我们的许多用户(比如说 50%)需要离线安装。他们将拥有零互联网连接。因此,我们需要在安装 CD/DVD 上包含所有可能的依赖项(运行时/第三方库等)。看起来 APT-on-CD 可能是这里的解决方案,但我阅读的文档并不完全清楚。

2. 尚未支持的软件包版本

“官方” Ubuntu 存储库尚不支持某些依赖项。例如,软件中心提供了特定库的 4.2 版,但我的应用程序需要 4.4 版——这是一个稳定版本,只是不在官方存储库包中。 (Debian 的稳定发行版更落后,仍然是第 3 版。)

  • 然后我应该首先为这些创建我自己的 .deb 包,还是只是将库安装在像 /usr/lib/myapp 这样的地方? ?
  • 如果我创建自己的 .deb,我应该给它(可能)与官方包相同的名称吗?也就是说,我预计这些软件包中的许多(如果不是全部)将在将来的某个时间正式提供。因此,理想情况下,安装过程(在线情况下)将首先查看库的官方存储库,但如有必要,可以回退到 CD/DVD。这是可能的,还是我只是通过包装命名完全不同的东西并让它永久并排存在?

  • 处理这些安装挑战的最佳实践是什么?

    最佳答案

    1)如果您在某种媒体上有软件包,则无需使用apt,只需简单的 dpkg -i/where/your/media/is/mounted/*.deb 就足以安装东西?

    2)替代您的发行版尚不支持的运输软件包,但要使您的客户发行版与他们拥有的任何软件兼容,以重新打包这些依赖项。通过添加前缀来更改软件包的名称,并更改安装目录,例如/opt/prefix/而不是/usr

    使用 -rpath 标志编译您的应用程序,该标志指向您提供所需库的位置(afaik debian 规则不允许使用 rpath),或者让您的应用程序仅从在启动实际应用程序之前设置正确 LD_LIBRARY_PATH 的 shellscript 启动。

    关于ubuntu - 分发适用于 Ubuntu/Debian 的应用程序以使用尚不支持的软件包进行离线安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3118435/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com