Pelo que entendi, quando você cria um pacote foo localizado em /usr/local/src
você não precisa ser root. No entanto, quando extraio o pacote e tento executar o script de compilação, ele falha porque não possui permissões para criar novos arquivos em /usr/local/src/foo
:
$ pwd
/usr/local/src
$ ls -ld .
drwxrwsr-x 5 root staff 4096 May 16 20:36 .
$ ls -l foo.tar.gz
-rw-r--r-- 1 root staff 206574 May 16 20:35 foo.tar.gz
$ sudo tar xf foo.tar.gz
$ ls -ld foo
drwxr-sr-x 7 root staff 4096 May 16 20:36 foo/
Qual é a maneira correta de resolver esse problema? Devo me adicionar à equipe do grupo e correr sudo chmod g+w foo
?
A extração do arquivo como root cria uma hierarquia de diretórios de propriedade da raiz, na qual você não pode criar arquivos.
Sugiro adicionar-se ao
staff
grupo para que você possa extrair as fontes sem arquivossudo
.Ou, que é o que eu faria pessoalmente, construir o software em outro lugar, por exemplo, em um subdiretório de
$HOME
. Isso deve ser possível ao construir virtualmente qualquer software.