可能重复:
“安装”应用程序,将文件夹放在哪里?
你好,
我应该将不需要安装的应用程序(从存档中提取)放在哪里?
例如
- 基于java的程序
- 可执行脚本
有两种变体:
- 对于所有用户
- 一位用户
有时存档本身包含目录,如lib
或bin
。
例如,像ArgoUML这样的应用程序
我要把所有的应用程序都放进去/usr/local/appname
吗?
可能重复:
“安装”应用程序,将文件夹放在哪里?
你好,
我应该将不需要安装的应用程序(从存档中提取)放在哪里?
例如
有两种变体:
有时存档本身包含目录,如lib
或bin
。
例如,像ArgoUML这样的应用程序
我要把所有的应用程序都放进去/usr/local/appname
吗?
我在~/bin中保存了越来越多的自己的程序(几乎所有独立的 shell 和 Python 脚本)。(有些实际上是指向其他地方的脚本的符号链接。)
我同样使用 ~/site 安装在我的 $HOME 中的程序(通常通过“./configure --prefix=$HOME/site; make; make install”);也就是说,它们仅适用于单个用户。这些应用程序使用传统的 bin、lib 等目录(~/site/bin、~/site/lib 等)。
系统范围的程序需要安装在 /usr/local/ 中。因此,如果您有一个可执行文件,您可以将它放在 /usr/local/bin 中。如果档案有自己的 bin、lib 等,则这些文件位于 /usr/local/bin、/usr/local/lib 等中。
传统的方法是将应用程序“混合”在一起,所有命令都在 bin 中,所有库在 lib 中,等等。卸载起来很痛苦,但不需要对 $PATH、联机帮助页、共享资源等进行进一步设置。如果你想要一个完全独立的应用程序,你可以将它作为 /opt/appname 放在 /opt 中。您需要将 /opt/appname/bin 配置为在 $PATH 中(或指定执行它的完整路径)。
对于所有这些不使用配置命令的选项,程序需要已经知道如何找到它的库(通常通过链接器 RPATH 设置,但还有其他方法)。如果程序还不能这样做,我通常不会尝试修改它;并且当然不会向大多数用户推荐它。
我建议将您下载并自己运行的任何内容放在
/opt
目录中。例如我的 Eclipse 版本。我现在将其提取出来,然后/opt/eclipse
创建一个符号链接并以这种方式在我的系统中引用它。它允许我更改版本,并且我的所有程序都保持最新状态,并且在我更新时不会对路径进行混乱的重写。祝你好运
如何创建符号链接:
ln -s linkname /path/to/link