我已经创建了一个自己的Linux应用程序,我将及时通过即将推出的互联网服务向大众发布。
我的问题是......我应该如何打包二进制文件?我最初的想法是简单地为用户编写一个bash脚本来运行:
sudo wget -nv -O https://some-server/install-script.sh -P /tmp/ && sudo /tmp/install-script.sh
下载将二进制文件放在/ opt / software-name / binary-name中的二进制文件,并写入systemd服务文件,创建配置文件等。
客户端计算机上的成品应包含二进制文件,配置文件和systemd服务文件。
我猜这可以用更专业(更容易?)的方式来完成?我当然希望为最终用户提供尽可能简单的功能。我不需要帮助创建一个这样做的bash文件(我可以自己做)但我需要帮助理解分发软件时的最佳做法,特别是考虑到我希望它能够工作的交叉分布
提前感谢任何建议!
答案 0 :(得分:0)
最专业的方法是为Debian或者像RedHat这样的发行版创建deb和rpm包。
要创建Linux软件包,请使用dpkg-buildpackage或rpmbuild工具。它们都需要描述包构建和安装过程的控制文件。
使用CMake / CPack工具可以统一和简化Deb / RPM包构建过程。
创建包文件后,您可以将它们放入服务器上的apt / yum存储库中。这样的存储库只是具有简单索引文件的正确目录结构,并且在RPM文件的情况下可以使用createrepo
命令轻松创建。如果最终用户可以使用存储库,则可以致电apt install packagename
或yum install packagename
进行安装。