the*_*ive 141 compiling fhs software-installation directory-structure package-management
我需要在我的 Fedora 机器上编译一些软件。把它放在哪里以免干扰打包软件的最佳位置?
dir*_*hex 97
经验法则,至少在 Debian 风格的系统上:
/usr/local对于东西,这是“全系统” -即/usr/local往往是在发行版的默认$PATH,并遵循与标准UNIX目录层次结构/usr/local/bin,/usr/local/lib等等。
/opt对于您不信任在系统范围内使用每个应用程序前缀的内容 - 即/opt/firefox-3.6.8,,/opt/mono-2.6.7等等。这里的东西需要更仔细的管理,但也不太可能破坏你的系统——而且更容易删除,因为你只需删除文件夹,它就消失了。
San*_*ndy 51
如果你真的不希望它干扰,不要把它放在你的$PATH.
如果你想要它$PATH,至少确保不要安装到/usr/local. 我发现即使发行版将许多软件安装到/usr.
我最喜欢的安装自定义编译软件的方法是在我的$HOME目录中。这样你就不必使用sudo任何东西,而且它与系统的其余部分很好地分开。例如:
mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install
Run Code Online (Sandbox Code Playgroud)
如果你愿意,你可以添加/home/username/stage/bin到你的$PATH.
xen*_*ide 22
FHS 说把它放在 /usr/local分发版不应该接触它的地方。 /usr/local/bin对于/usr/local/src源和/usr/local/lib库的二进制文件。有关更多信息,请参阅FHS 规范
Sco*_*ton 10
大多数时候,我喜欢将自己编译的东西放在/opt. 这是一个伪标准的地方。您也可以考虑/usr/local,但我更喜欢将我的东西 100% 隔离。
把它们放到/usr/local/src.
我所做的是提取此目录中的源代码。它将创建一条路径,如
/usr/local/src/postgresql-8.3.7
Run Code Online (Sandbox Code Playgroud)
然后我创建一个符号链接到它:
/usr/local/src # ln -s postgresql-8.3.7 postgresql
Run Code Online (Sandbox Code Playgroud)
在/usr/local/src/postgresql.
当您需要在版本和文档之间弹出您正在使用的版本时,以这种方式进行操作会有所帮助。
这提醒我,我需要更频繁地使用checkinstall!这样我就照常做
./configure
make
Run Code Online (Sandbox Code Playgroud)
其次是
sudo checkinstall
Run Code Online (Sandbox Code Playgroud)
创建一个.deb文件...
| 归档时间: |
|
| 查看次数: |
48761 次 |
| 最近记录: |