Respostas:
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 em make install
vez de sudo 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>