可能重复:
正在“安装”应用程序,文件夹应该放在哪里?
你好,
我应该把不需要安装的应用程序(从档案中提取)放在哪里?
例如
- 基于 Java 的程序
- 可执行脚本
有两种变体:
- 对于所有用户
- 对于一个用户
有时档案本身包含诸如lib
或 之类的目录bin
。
例如,ArgoUML
我要把所有应用程序都放进去/usr/local/appname
吗?
答案1
我将自己的程序(几乎都是独立的 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(或指定执行它的完整路径)。
对于所有这些不使用 configure 命令的选项,程序需要已经知道如何找到其库(通常通过链接器 RPATH 设置,但也有其他方法)。如果程序无法做到这一点,我通常不会尝试修改程序;当然也不会向大多数用户推荐它。
答案2
我建议将您自己下载并运行的任何内容放在/opt
目录中。例如,使用我的 eclipse 构建。我/opt/eclipse
现在将其提取出来,创建一个符号链接并以此方式在我的系统中引用它。它允许我更改版本,并且我的所有程序都保持最新,并且在更新时不会出现路径混乱的重写。
祝你好运
如何创建符号链接:
ln -s linkname /path/to/link