É tudo sobre mitigação de risco; Se make
fizer algo destrutivo, você poderá perder todos os dados modificáveis (ou deletáveis) pelo usuário que os executou. Portanto, você executa make
como um usuário simples para limitar o escopo aos arquivos desse usuário e executa make install
as root
, porque é necessário instalar o /usr/local
normalmente.
Observe que, no exemplo fornecido, não é necessário criar program
as root
; faça o download do seu tarball para o seu diretório pessoal ou algum outro diretório no qual você possa escrever, extraia, configure e construa como um usuário simples:
$ wget ...
$ tar xf program...tar.gz
$ cd program...
$ ./configure --prefix=/usr/local
$ make
Geralmente /usr/local
é o prefixo padrão para que possa ser omitido.
Se você quiser maximizar a segurança, use um usuário dedicado para criar software (para não perder seus próprios arquivos se algo der errado) e, é claro, leia o sistema de compilação, pelo menos. make -n
pode ajudar: ele mostrará o que seria feito sem realmente fazer nada. Você também pode criar um usuário ou grupo especial com acesso de gravação a /usr/local
e usá-lo ao executar make install
.