捆绑“.sh”脚本以从任何 Linux 发行版启动另一个在线“.sh”脚本的最佳实践?

捆绑“.sh”脚本以从任何 Linux 发行版启动另一个在线“.sh”脚本的最佳实践?

我创建了一个依赖于 Chromium 的 Java 应用程序。它需要跨平台,以便所有主要的 Linux 发行版都可以使用。

我有一个非常好的install-chromium-deps.sh脚本可以做到这一点。

但问题是,由于库、铬更新等原因,脚本经常发生变化。因此,我的install-chromium-deps.sh安装程序脚本确实需要.sh从受信任的在线位置获取另一个脚本并运行它。这样,当发生更改时,我可以更新安装程序脚本的在线版本,而不必在.sh每次发生微小更改时向客户发送更新的文件。

是否有某种行业标准方法可以在所有 Linux 平台上实现此目的?

答案1

最简单的方法是发布您的代码以及一组经过良好测试的说明和要求,并让最终用户处理它。

最正确的方法是提供一个具有正确配置的依赖项的包,并让发行版的包管理系统来处理这一切。当然,这意味着您需要确定您支持的发行版的内容和方式,并且对于您支持的每个发行版,您的工作量将呈指数级增长,并且会乘以您尝试更新核心软件的频率。分发。

我会看一下您的构建和安装过程,看看可以消除多少内容。打包越容易,人们就越有可能想要维护 Debian、RedHat、Gentoo 或任何其他发行版的软件包。

相关内容