Maneira correta de construir a partir de fontes

12

Estou logado como usuário comum. 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.

    
por 8k_of_power 29.10.2010 / 20:25

6 respostas

15

Sua terceira versão está correta, ./configure && make && sudo make install . Make and configure pode ser feito como um usuário normal, já que você não está tentando gravar arquivos em um diretório do sistema, make install frequentemente tentará copiar os binários para / usr / bin ou / bin que requer acesso root para gravar. / p>     

por 29.10.2010 / 20:29
4

Você precisa da última versão:

./configure && make && sudo make install

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

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

    
por 29.10.2010 / 20:30
2

Você deve usar os menores privilégios que funcionam. Isso geralmente é:

./configure && make && sudo make install
    
por 29.10.2010 / 20:28
2

Opção número 3:

./configure

make

sudo make install
    
por 29.10.2010 / 20:28
2

O & & são analisados pelo seu shell original. Colocar um sudo na frente afeta apenas o configure. A última opção faz mais sentido, porque irá configurar e compilar como um usuário regular e, em seguida, instalar os resultados para todos usarem.

Uma ressalva é que alguns scripts de configuração detectarão que estão sendo executados como usuários não-root e criarão makefiles que serão instalados em $ HOME ou similar. Nesse caso, você também desejaria 'sudo ./configure'. Se você executar o configure ou o make como root, terá o incômodo de alguns arquivos de propriedade da raiz no diretório do usuário regular.

    
por 29.10.2010 / 20:30
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.

link

    
por 31.10.2010 / 19:44