Onde o prefixo de instalação é definido?

0

Eu vejo que meus programas são instalados em usr/local/bin e que eu posso mudar isso se eu fizer ./configure --prefix=/usr/ na compilação.

Onde o prefixo padrão é especificado? Onde posso alterar o padrão? É possível alterar a instalação padrão para /usr/bin/ para o meu programa apenas em vez de alterar o padrão para o usuário?

    
por Niklas Rosencrantz 16.08.2017 / 07:42

1 resposta

4

A instalação de aplicativos construídos localmente com o prefixo /usr é uma péssima idéia, pois os arquivos instalados podem facilmente sobrescrever os arquivos instalados pelos gerenciadores de pacotes. Posteriormente, isso poderá causar problemas se os gerenciadores de pacotes ficarem confusos quando as somas de verificação de arquivos não corresponderem mais ou quando houver incompatibilidades entre executáveis e bibliotecas.

/usr/local é o local correto para instalar software compilado localmente na maioria dos sistemas, embora /opt possa ser mais seguro (a maioria dos Units BSD usa /usr/local para softwares de terceiros).

Eu definitivamente não recomendaria tentar alterar o prefixo padrão.

Dito isto, é definido no arquivo general.m4 na distribuição autoconf como a variável as_default_prefix . No meu sistema OpenBSD, esse arquivo reside em /usr/local/share/autoconf-2.69/autoconf . Este diretório pode estar localizado em outro lugar, se você estiver no Linux ou usar outra versão do autoconf .

Essa variável teria que ser alterada na distribuição autoconf e qualquer script configure teria que ser gerado novamente (como essa variável é inserida no script configure por autoconf quando é criada).

Uma maneira mais fácil seria criar um arquivo config.site , conforme descrito em a documentação autoconf e defina o valor de prefix .

Mais uma vez, mudar isso com certeza levaria a se atirar no pé mais adiante.

Veja também: Padrão de hierarquia do sistema de arquivos .

    
por 16.08.2017 / 08:20