我自己编译的软件应该放在哪里?

我自己编译的软件应该放在哪里?

我需要在我的 Fedora 机器上编译一些软件。最好把它放在哪里,以免干扰打包的软件?

答案1

经验法则,至少在 Debian 风格的系统上:

  • /usr/local对于“系统范围”的内容,即/usr/local往往位于发行版的默认目录中$PATH,并遵循标准 UNIX 目录层次结构/usr/local/bin,如/usr/local/lib、 等。

  • /opt对于您不信任在系统范围内制作的内容,使用每个应用程序的前缀 - 即/opt/firefox-3.6.8/opt/mono-2.6.7,等等。这里的东西需要更仔细的管理,但也不太可能破坏您的系统,并且更容易删除,因为您只需删除该文件夹,它就会消失。

答案2

如果您真的不想让它干扰,请不要将其放在您的$PATH.

如果您想要它$PATH,至少确保不要安装到/usr/local.我发现很多软件即使是由发行版安装到/usr.

我最喜欢的安装自定义编译软件的方式是在我的$HOME目录中。这样您就不必使用sudo任何东西,并且它可以很好地与系统的其他部分分开。例如:

mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install

如果您愿意,您可以将其添加/home/username/stage/bin到您的$PATH.

答案3

FHS 说把它放在 /usr/local发行版不应该触及它的地方。 对于源和库的/usr/local/bin二进制文件。请参阅/usr/local/src/usr/local/libFHS规格了解更多信息

答案4

把它们放到/usr/local/src.

我所做的就是提取该目录中的源代码。它将创建一条类似的路径

/usr/local/src/postgresql-8.3.7

然后我创建一个指向它的符号链接:

/usr/local/src # ln -s  postgresql-8.3.7 postgresql

做你所有的建筑/usr/local/src/postgresql

当您需要在版本之间切换并记录您正在使用的版本时,这种方式会有所帮助。

相关内容