放置应用程序文件的最佳位置

tak*_*hin 0 filesystem directory

可能重复:
“正在安装”应用程序,将文件夹放在哪里?

你好,

我应该把不需要安装的应用程序(从存档中提取)放在哪里?

例如

  1. 基于java的程序
  2. 可执行脚本

有两种变体:

  • 对于所有用户
  • 对于一位用户

有时存档本身包含目录,如libbin

例如,像ArgoUML这样的应用程序

我要把所有的应用程序都放进去/usr/local/appname吗?

小智 5

我在~/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 中作为 /opt/appname。您需要将 /opt/appname/bin 配置为在 $PATH 中(或指定执行它的完整路径)。

对于所有这些不使用配置命令的选项,程序需要已经知道如何找到它的库(通常通过链接器 RPATH 设置,但还有其他方法)。如果程序不能这样做,我通常不会尝试修改它;并且肯定不会向大多数用户推荐它。