
Preciso compilar algum software na minha máquina Fedora. Qual é o melhor lugar para colocá-lo para não interferir no software empacotado?
Responder1
Regra prática, pelo menos em sistemas com sabor Debian:
/usr/local
para coisas que abrangem "todo o sistema" - ou seja,/usr/local
tende a estar no padrão de uma distribuição$PATH
e segue uma hierarquia de diretórios UNIX padrão com/usr/local/bin
,/usr/local/lib
, etc./opt
para coisas que você não confia para fazer em todo o sistema, com prefixos por aplicativo - ou seja/opt/firefox-3.6.8
,/opt/mono-2.6.7
, e assim por diante. As coisas aqui requerem um gerenciamento mais cuidadoso, mas também têm menos probabilidade de quebrar seu sistema – e são mais fáceis de remover, pois você simplesmente exclui a pasta e ela desaparece.
Responder2
Se você realmente não quer que isso interfira, não o coloque em nenhum lugar do seu arquivo $PATH
.
Se você quiser $PATH
, pelo menos certifique-se de não instalar no /usr/local
. Descobri que muitos softwares aparecem lá, mesmo que sejam instalados pela distribuição no /usr
.
Minha maneira favorita de instalar software compilado personalizado está em meu $HOME
diretório. Dessa forma, você não precisa usar sudo
para nada e fica muito bem separado do resto do sistema. Por exemplo:
mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install
E se quiser, você pode adicionar /home/username/stage/bin
ao seu arquivo $PATH
.
Responder3
FHS diz para colocar em /usr/localonde as distribuições não deveriam tocá-lo. /usr/local/bin
para os binários /usr/local/src
da fonte e /usr/local/lib
das bibliotecas. Veja oEspecificação FHSpara mais informações
Responder4
Coloque-os para /usr/local/src
.
O que faço é extrair a fonte neste diretório. Isso criará um caminho como
/usr/local/src/postgresql-8.3.7
Então eu crio um link simbólico para ele:
/usr/local/src # ln -s postgresql-8.3.7 postgresql
Faça toda a sua construção em /usr/local/src/postgresql
.
Fazer as coisas dessa maneira ajuda quando você precisa alternar entre versões e documentos sobre qual versão você está usando.