Devo usar “sudo” antes de “make install”?

5

Estou instalando o mais recente FFmpeg de este guia:

Em alguns lugares, sugere a realização de make install sem sudo, aqui está um exemplo de vários:

cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-openclcd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$PATH:$HOME/bin" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-opencl
PATH="$PATH:$HOME/bin" make
make install
make distclean

Devo estar usando sudo make install ?

Minha intenção é disponibilizar os pacotes para todos os usuários, incluindo o Apache / PHP.

    
por dotancohen 15.09.2014 / 09:48

5 respostas

8

No seu caso, você não precisa fazer um sudo make install , pois instalará a biblioteca no seu $HOME . Você configurou a construção para usar um prefixo e um bindir para instalá-la em seu $HOME .

Para tornar o pacote disponível para outros programas, seria melhor escolher diretórios fora do seu $HOME . Então você precisará fazer o make install usando sudo .

    
por Uwe Plonus 15.09.2014 / 09:52
4

Depende de onde o seu pacote será instalado.

Durante a instalação, você precisa inserir sudo se estiver executando a instalação nos diretórios do sistema, como /usr . Você é necessário para inserir isso porque você não tem permissão de gravação nesse diretório. Uma instalação local não exigirá sudo antes de make install

    
por g_p 15.09.2014 / 10:06
4

Como um adendo, considere usar o checkinstall para gerar um pacote gerenciado e, em seguida, instalá-lo com o dpkg ou outra ferramenta apt. Para instalar o software a partir do código-fonte, isso pode aliviar muitas dores de cabeça quando chega a hora de atualizar, remover ou resolver problemas.

    
por orbatos 15.09.2014 / 10:35
2

O guia que você está seguindo presume que você deseja instalar o ffmpeg em ~/bin/ em seu diretório HOME. Isso tem a vantagem de não precisar de sudo para instalação, mas não poderemos usar o ffmpeg em todo o sistema de todos os usuários.

Além disso, esse caminho não existe em uma instalação padrão do Ubuntu, onde o software de todo o sistema deve ir para /opt . Veja Qual é o melhor local para instalar aplicativos de usuário? .

Caso precisemos ter acesso ao ffmpeg de todos os usuários, devemos usar um caminho de instalação fora de nossa Página inicial para make install . Isso, é claro, requer sudo para instalação. Veja também Guia de Compilação do FFmpeg .

    
por Takkat 15.09.2014 / 10:22
0

Se você está em dúvida, quase certamente a resposta é que você não deve usar o sudo.

Sempre que você tentar sudo make install , expõe seu sistema a possíveis bugs, como root.

Eu sou um administrador de sistemas e regularmente preciso configurar softwares para terceiros; a menos que haja algo que é verdadeiramente aspecto do sistema (como um módulo do kernel), a maior parte do software é instalada e vive feliz no espaço do usuário, mesmo quando compartilhada por muitos, empregando ./configure --prefix

fi. > 1000 componentes de software visíveis aqui são todos configurados sob um único usuário comum: link

Exemplo:

  • CUDA é um ambiente de desenvolvimento de GPU fornecido pela nVidia; que está instalado sem sudo
  • nVidia drivers de GPU , porém, precisam de acesso de nível mais baixo e, portanto, são feitos via sudo / root
por fgeorgatos 15.09.2014 / 23:41