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.

8k_of_power
fonte
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.

Benn
fonte
... 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.

Cfreak
fonte
2

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

./configure && make && sudo make install
Mark Byers
fonte
2

Opção número 3:

./configure

make

sudo make install
Justin Niessner
fonte
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.

Ben Jackson
fonte
2

Em vez de sudo make install, você deve usar o sudo checkinstall

Dessa forma, o programa instalado é reconhecido pelo gerenciamento de pacotes e você pode removê-lo novamente, caso não precise mais dele.

https://help.ubuntu.com/community/CheckInstall

user54114
fonte