我正在开发一个小型跨平台应用程序,我需要一些关于如何在Linux中安装它的建议。我在Windows中使用InnoSetup,在OSX中使用应用程序包,但我不知道如何在Linux中安装我的应用程序,是否有Linux的开源安装程序创建者?
感谢。
答案 0 :(得分:18)
# the user will install like so:
./configure --with-stuff
make # if package is from source
make install
您还可以在RedHat或CentOS上提供分发特定的安装程序,例如RPM,或者为Debian,Ubuntu提供deb,尽管一旦您通过Autotools对Makefile进行了分配,这些都是轻而易举的。
# the user will install like so:
yum install your-package-1.0.rpm # on redhat or
apt-get install your-package-1.0.deb # on debian
Autotools也被称为“GNU构建系统”,第一眼看上去有点吓人,新用户在遇到古老的m4宏系统等问题时感到困惑。合。但是 nota bene 这是大多数人这样做的方式,一旦掌握了它就很容易。
答案 1 :(得分:2)
如果可能,选择不需要安装程序,而是使用简单的提取并运行方法。这将允许用户将文件放在他们想要的任何地方并运行它。
但是,您还有其他选择,例如:
答案 2 :(得分:2)
看看InstallJammer。您可以为Windows和Linux安装程序编写单个项目,Mac支持即将推出。
答案 3 :(得分:1)
写一个非常强大的makefile!或使用CMake
答案 4 :(得分:1)
当你必须在各种发行版上安装二进制包时,我开始编写unistall。
它试图做一些事情:
apt-get install libncurses5-dev
,如果使用RHEL / Fedora / CentOS,则会yum install libncurses-devel
我放弃了回购,因为它充满了有用的内容,但我很快放弃了关于Linux发行版install sheild
类型程序的想法。您会发现为.deb,.rpm和(可能)slackware .tgz格式生成可安装包更好,更好。
可以使用checkinstall之类的工具将其集成到您的构建系统中。注意,根据Debian和其他人提出的严格的lint指南,checkinstall生成的软件包并不总是完美的,但是这些软件包工作正常。
您可以为用户提供的最佳安装体验是允许他们使用本机包管理器安装(和更新)您的软件。