Às vezes, encontro problemas com o uso, o make install
que gera um permission denied
erro ao gravar em algumas pastas. Então, instintivamente, eu uso sudo make install
. Isso introduzirá problemas adicionais?
Estou usando o Debian Etch.
fonte
Às vezes, encontro problemas com o uso, o make install
que gera um permission denied
erro ao gravar em algumas pastas. Então, instintivamente, eu uso sudo make install
. Isso introduzirá problemas adicionais?
Estou usando o Debian Etch.
Evite fazer instalações locais nos diretórios do sistema. Os diretórios do sistema, por exemplo /usr
, são reservados para o sistema de gerenciamento de pacotes. Por definição, se você estiver fazendo make install
isso significa que está fazendo uma instalação local e se precisar fazer sudo make install
isso significa que não tem permissão para onde quer que esteja escrevendo.
Portanto, se você estiver recebendo erros de permissão make install
, verifique e veja se você está tentando instalar nos diretórios do sistema e, em /usr/local
vez disso , instale ou similar. /usr/local
é reservado para instalações locais. Você pode precisar dar permissão para escrever /usr/local
, mas isso geralmente é feito com facilidade. No Debian, isso pode ser feito adicionando-se ao staff
grupo. Melhor ainda, encontre ou crie um pacote binário e instale-o. Dessa forma, você pode acompanhar facilmente os pacotes instalados e obter os outros benefícios do gerenciamento de pacotes.
Observe que, inversamente, o sistema de gerenciamento de pacotes não é instalado no /usr/local
FHS. Veja a Seção 9.1 do Manual de Políticas Debian - Hierarquia do sistema de arquivos para uma visão geral.
Aqui está um resumo básico dos comandos:
Como o comando sudo executa o comando que você passa como root, significa que o comando make possui privilégios de superusuário. Isso significa que se o makefile for malicioso ou se algum dos scripts que ele chamar for malicioso, poderá comprometer o sistema.
Em resumo, se você não confia no software, não o instale. Se você confia no software, a execução como root não deve prejudicar nada.
Nota:
sudo make install
é o mesmo que su; make install
na maioria dos casos.
Como foi respondido acima,
sudo make install
permite instalar os arquivos em diretórios que, de outra forma, são somente leitura para você como usuário.O problema que posso prever é que, posteriormente, você poderá desinstalar ou atualizar o programa. Se você ainda tiver a árvore de diretórios do código-fonte
make uninstall
, o A desinstalará o programa, mas se, como muitos outros usuários comuns, você tiver excluído a árvore de diretórios do código-fonte, ficará sem sorte. E como você não instalou o programa usando um sistema de gerenciamento de pacotes, também poderá não conseguir desinstalar o programa dessa maneira.A melhor maneira de instalar esses programas pode ser instalá-los no diretório inicial. Passe a opção
--prefix=/home/<user>/<some>/<directory>
para./configure
. Isso permitirá que você use emmake install
vez desudo make install
uma vez que/home/<user>/<some>/<directory>
é gravável por você. A desinstalação também é fácil -rm -rf /home/<user>/<some>/<directory>
fonte