Maneira correta de construir a partir de fontes


12

Estou logado como usuário regular. Devo usar:

./configure && make && make install

ou

sudo ./configure && sudo make && sudo make install

ou

./configure && make && sudo make install

ao instalar pacotes.

E alguém poderia explicar as diferenças.

Eu quero que todos os usuários possam usá-lo.


Ainda melhor ... unix.stackexchange.com
mxmissile

1
Você deve instalar o software a partir de repositórios ubuntu ou PPAs. Se você encontrou algo que ainda não foi empacotado, considere iniciar seu próprio PPA. Dessa forma, você manterá seu sistema limpo, fornecerá pacotes para outras pessoas também e, como bônus gratuito, eventualmente obterá mais testadores.
vtest

Respostas:


15

Sua terceira versão está correta ./configure && make && sudo make install,. Criar e configurar pode ser feito como um usuário normal, pois você não está tentando gravar arquivos em um diretório do sistema; make installgeralmente tenta copiar os binários em / usr / bin ou / bin, o que requer acesso root para gravação.


... e que não devem ser gravados porque seu conteúdo é gerenciado pelo gerenciamento de pacotes.
Reinierpost

2
Você pode até criar um usuário local, emitir um chown -R local /usr/locale instalar software usando, sudo local make installpara que você seja avisado quando um pacote gravar em algum lugar que não seja por baixo /usr/local(o que pode atrapalhar o gerenciamento de pacotes).
Reinierpost

Se o pacote for construído de acordo com os padrões de codificação gnu, um 'configure && make && sudo make install' será instalado apenas em / usr / local, e não em / usr / bin ou / bin.
William Pursell

4

Você precisa da última versão:

./configure && make && sudo make install

Configure e make pode acontecer na sua pasta local, mas você precisará de permissões de root para instalar. Esse comando realiza isso.

Verifique se o aplicativo que você está instalando ainda não está no gerenciador de pacotes. Geralmente, é muito mais fácil usar o software pré-compilado para o seu sistema do que tentar encontrar todas as dependências para compilar algo.


2

Você deve usar o mínimo de privilégios que funcionar. Isso geralmente é:

./configure && make && sudo make install


2

Os && são analisados ​​pelo seu shell original. Colocar um sudo na frente afeta apenas a configuração. A última opção faz mais sentido, porque irá configurar e compilar como um usuário comum e, em seguida, instalar os resultados para que todos possam usar.

Uma ressalva é que alguns scripts de configuração detectam que eles estão sendo executados como usuários não-root e criam makefiles que são instalados no $ HOME ou similar. Nesse caso, você deseja 'sudo ./configure' também. Se você executar o configure ou make como root, terá o aborrecimento de alguns arquivos pertencentes à raiz em seu diretório de usuários regulares.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.