我有一些软件即将发布(小学项目),我想知道在unix机器上安装软件的最佳实践是什么。
我最初通过/usr/local/bin链接我的项目,但是最近我通过附加到特定用户的.bashrc文件来安装它,特殊情况是,如果用户是根用户,它会附加到全局路径,而不是用户特定的路径。
这给我带来了一些简单的功能添加,因为我可以通过添加到安装用户的.bashrc文件夹中的一个变量快速链接到其他资源。
然而,我开始怀疑这一决定。
要追加到路径,还是不追加到路径中,这就是问题所在。无论是更高贵的符号链接在/usr/local/bin,还是拿起武器,并附加到一个不断增长的路径变量。
更多信息:
它是一个带有TCL前端的C++后端。还有一个java存档(在我职业生涯的早期创建),TCL前端启动了它。除此之外,还有一个TCL前端的扩展,它用自己的TCL解释器处理另一个程序。我需要向程序提供带有解释器的bwidget tcl包。因此,提供bwidget包和启动jar文件需要有一个链接到的位置。此外,我需要让用户更容易,因为他们主要是化学用户,不太熟悉unix,而且可能在mac上。
该平台需要在Mac或Unix上工作。
理想情况下,我希望用户能够用一个命令启动TCL脚本,而不是让他们记住位置。
这是以前关闭的源代码项目,现在是开源的,我们希望用户能够轻松地编译和安装该程序。
我正在使用make创建一个安装选项。
发布于 2011-03-31 16:01:38
不要将符号链接到/usr/local/bin或与路径混淆。尤其是后者。只需编写一个安装程序,将东西安装到指定的位置。检查类似的,最好是著名的程序,看看它是如何工作的.如果你能提供你的计划的更多细节,我们可以提供一些具体的建议,如果你想要的话。
而且,没有人从零开始编写安装程序。人们通常会使用一些程序,比如Make、Cmake、scon等等。如果你想要使用,有些语言会有专门的安装软件,比如python的distutils。
发布于 2011-03-31 17:48:13
我看到了一些包(通常是在发行版的包存储库中找不到的东西),它们将自己安装到/opt中,并将.desktop文件添加到~/Desktop和~/..local/share/应用程序中来启动它们。
发布于 2011-04-01 04:06:54
有两项备选建议:
/etc/profile.d/myprogram.sh中删除一个文件,例如包含PATH=$PATH:/opt/myprogram。PATH=...行附加到/etc/environment但是我认为将您的程序安装到/opt/myprogram中并在/usr/local/bin中安装一个脚本来启动它可能是次要的问题。
https://unix.stackexchange.com/questions/10381
复制相似问题