gpt4 book ai didi

linux - linux安装软件时在bin中添加软件bin还是只在bin中添加可执行文件的软链接(soft link)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:44:12 26 4
gpt4 key购买 nike

我不是 linux 服务器的 root,
所以我选择在我的$HOME/local/bin中安装软件,我已经将$HOME/local/bin目录添加到PATH环境变量中,写在我的.bashrc

有些软件是这样安装的,比如:

tar xvzf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure --prefix=$HOME/local
make
make install
cd ..

所以它会直接安装在我的$HOME/local/bin

但是对于某些软件,下载后如sbt-1.2.1.zip(基于java),解压后,只显示一个文件夹sbt,它包含三折bin conf lib,在其bin中,包含一个名为sbtjava9-rt-export.jar sbt的可执行文件-launch-lib.bash sbt-launch.jar sbt.bat.

这里我想知道:

  • 我应该将这个可执行文件 sbt 软链接(soft link)到我的 $HOME/local/bin 下,然后获取我的 .bashrc?
    或者,解压后,在我的.bashrc中添加一行 export PATH="downloadpath/sbt/bin:$PATH"?
    由于只有一个可执行文件 downloadpath/sbt/bin,所以我不确定添加整个 bin fold 路径是否正确,如果软件的 bin fold 包含可执行文件(一个或多个),我认为这种情况直接在.bashrc中加上它的bin比较方便,但即便如此,我也不确定它是否正确?

  • 我对安装软件不熟悉,现在我通常知道方法但不是为什么。这里我展示两种方式(更多方式这里就不展示了)安装,可执行文件总是写在bin或src?但一些软件没有 bin 只有 src 但里面没有可执行文件...

  • Slurm 也可以使用模块来安装软件,conda 也可以使用其他方式,但我想确认我提到的这些传统方式(那两个)仍然可以在 slurm 或 conda 上使用?

但是,任何建议,哪怕是一个方面的提醒,都将不胜感激!

最佳答案

对于预编译软件,或者一般而言,不提供配置脚本或 (C)make 文件的软件,最好将它们留在目标目录中并调整 *PATH ( PATH 到二进制文件,还有 LD_LIBRARY_PATHLIBRARY_PATH 到库,CPATH 到包含文件和 MANPATH 到手册页)环境变量。

原因是软件可能被配置为读取具有硬编码路径的文件,相对于可执行文件的位置,例如库等。

在您的情况下,您可能还需要将 CLASSPATH 环境变量设置为包含 jar 文件的目录。

为了简化软件安装,您可以使用 easybuild 等工具这可以提供帮助,甚至可以创建用户模块,就像系统管理员安装的系统模块一样。

关于linux - linux安装软件时在bin中添加软件bin还是只在bin中添加可执行文件的软链接(soft link)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52210711/

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