Я пытаюсь установить firefox-dev с помощью umake. По умолчанию путь установки umake ~/.local/share/
; Я быть бы, это было в /usr/local/
или /opt/
.
Проблема, кажется, umake (или, скорее os.py скрипт, который это запускает) не наличие разрешения создать файлы/каталоги - это происходит, даже когда я работаю, поскольку администраторский пользователь поднял использование sudo
, или я переключился на пользователя root, использующего sudo -i
.
Вот пример соответствующей ошибки:
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'
Там какой-либо путь состоит в том, чтобы установить двоичные файлы с помощью umake за пределами/home/каталогов?
Править: Ничто необычное в выполненной команде - sudo umake web firefox-dev
. Не имеет значения, куда я выполняю его.
Что касается путей установки (ввел в подсказку во время попыток установки), я еще раз попробовал все опции от явно заявленных полных путей (включая создание dirtree сам, который в конечном счете и неудивительно просто продвигает сообщения об ошибках назад к созданию файла) к тому, чтобы быть в целевом dir и использующий '. / '.
У меня нет абсолютно никаких проблем при выполнении чего-либо как корня самого, но те полномочия, кажется, не наследованы сценарием (сценариями) установки Python.
Хорошо, оказывается, что это (довольно давнее) , выпуск с Ubuntu Делает.
существует несколько обходных решений, предложенных одним из devs в вышеупомянутой ссылке.
Первое (предпочтительное) решение:
sudo -s
unset SUDO_UID
unset SUDO_GID
Затем работает umake
для устанавливания приложения как нормального - необходимо теперь смочь установить на любом каталоге, который Вы хотите. Работы безупречно.
вторая опция состоит в том, чтобы создать желаемую папку установки заранее и установить полномочия для каталога установки, таким образом, это может быть записано некорневыми пользователями, но я испытал проблемы с помощью этого с некоторыми приложениями, даже когда полномочия были применены рекурсивно, и umake
выполнялся с помощью sudo
. Я придерживался бы первого метода.