Umake - permissão negada ao instalar o diretório home externo (mesmo como root)

1

Estou tentando instalar o firefox-dev usando umake. Por padrão, o caminho de instalação do umake é ~/.local/share/ ; Prefiro que estivesse em /usr/local/ ou /opt/ .

O problema parece ser umake (ou melhor, o script os.py que ele executa) não tem permissão para criar arquivos / diretórios - isso acontece mesmo quando estou executando como um usuário administrador elevado usando sudo , ou Eu mudei para o usuário root usando sudo -i .

Veja um exemplo do erro relevante:

    os.makedirs(self.install_path, exist_ok=True)
  File "/usr/lib/python3.5/os.py", line 231, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/opt/umake'

Existe alguma maneira de instalar binários usando umake fora dos diretórios / home /?

Edit: Nada incomum no comando executado - sudo umake web firefox-dev . Não importa onde eu corro.

Quanto aos caminhos de instalação (inseridos no prompt durante as tentativas de instalação), tentei novamente todas as opções de caminhos absolutos declarados explicitamente (incluindo a criação da dirtree eu mesmo, que acaba enviando as mensagens de erro para a criação de arquivos ) estar no diretório de destino e usar './'.

Não tenho absolutamente nenhum problema em fazer qualquer coisa como root, mas essas permissões não parecem ser herdadas pelo (s) script (s) de instalação do Python.

    
por chrBrd 07.12.2016 / 06:01

1 resposta

1

Ok, acontece que este é um ( problema muito antigo) com o Ubuntu Make.

Existem algumas soluções alternativas sugeridas por um dos desenvolvedores no link acima.

Primeira (preferida) solução:

sudo -s
unset SUDO_UID
unset SUDO_GID

Em seguida, execute umake para instalar seu aplicativo normalmente - agora você deve poder instalar em qualquer diretório que desejar. Funciona sem falhas.

A segunda opção é criar a pasta de instalação desejada antecipadamente e definir permissões para o diretório de instalação para que possa ser gravada por usuários não-root, mas eu tive problemas usando isso com alguns aplicativos, mesmo quando as permissões foram aplicadas recursivamente e umake foi executado usando sudo . Eu ficaria com o primeiro método.

    
por chrBrd 08.12.2016 / 12:27