Por que alguns pacotes usam 'make install' enquanto outros usam 'sudo make install'

8

Eu instalei recentemente o codificador LAME no meu servidor para converter wav em mp3 e isso funcionou com ./configure; make; make install .

Eu então tentei instalar o codificador OGG e isso requer './configure, make, sudo make install' - o que eu não posso fazer, já que eu não tenho um VPS (e eu em vez de pagar US $ 15 por mês por uma VPN apenas para instalar um codec).

Eu sou novo em tudo isso, e eu entendo que o sudo lhe dá permissões - mas eu tenho tentado descobrir por que exatamente alguns make install s requerem acesso sudo e outros não. Ainda não encontrei a resposta.

    
por alexbooots 02.11.2011 / 02:25

3 respostas

7

Geralmente eu tento executá-lo sem sudo de qualquer maneira - às vezes funciona. Às vezes, os criadores de pacotes acham que sudo é obrigatório, eles o usam devido a sua preferência ou optam por instalar coisas em áreas que não são do usuário do sistema. Às vezes isso é necessário, mas muitas vezes não é.

O outro motivo comum que vejo para o uso de sudo está em postagens de blogs de terceiros que explicam como instalar o software e, em vez de ir além, explicar como instalá-lo sem sudo privileges , eles dizem para você usar sudo porque a pessoa que está escrevendo o post simplesmente usa sudo para tudo, o que não é realmente uma boa idéia.

Teoricamente, a única razão pela qual um pacote deve exigir sudo é se ele precisa (ou decide) instalar-se em / modificar áreas do sistema que só podem ser modificadas via acesso de administrador.

De modo geral, cada vez menos pacotes ainda fazem isso, já que a necessidade de instalar algum software sem o sudo access está aumentando.

    
por 02.11.2011 / 02:27
6

Depende se você está instalando para você ou para todos os usuários. (Principalmente. Algumas coisas, como módulos do kernel, exigirão acesso root, independentemente de quem usará os recursos finais.)

A maioria dos programas que fornecem um script ./configure também aceita --prefix=~/bin ou --prefix=~/Local/ , para que você possa instalá-lo em seu diretório pessoal. Nem todos os programas fornecem ./configure , mas a maioria fornece algum mecanismo no Makefile que permite configurar o destino da instalação.

Então: suas bibliotecas / programas para você ou para todos os usuários em seu sistema?

    
por 02.11.2011 / 02:29
0

Tudo se resume a ler / gravar / executar permissões de arquivos principalmente. Sudo não tem direitos restritos.

Pense em uma conta de administrador no Windows, em vez de uma conta de usuário ou convidado com direitos restritos. Mesma coisa. Espero que isso ajude!

    
por 02.11.2011 / 02:30