sudo -E env PATH = $ PATH

Судя по $, вы пытаетесь выполнить установку от имени обычного пользователя (т.е. не root). Если это так, то это, скорее всего, ваша проблема, поскольку дерево /usr/share/ в большинстве операционных систем Linux может быть записано только пользователем root. Программное обеспечение, которое вы пытаетесь установить, вероятно, хочет, чтобы у вас были права root для выполнения установки.

1
14.06.2017, 20:59
1 ответ

В этом контексте envвыводит переменные среды, используя пользовательское значение PATH, которое интерполируется оболочкой перед запуском sudoи передается через sudoв списке аргументов. Учитывая, что -Eдолжен сохранять настройку окружения**, параметр PATHчерез аргументы того, что sudoдолжен проходить через окружение, кажется излишним, хотя с sudo ... env PATH="$PATH" cmd ... можно гарантировать, что cmd ... запускается с определенной настройкой PATHбез каких-либо возможных искажений от судо.

** Какие средства сохранения будут различаться в зависимости от выпуска sudo , учитывая, что sudoпо состоянию на 2016 год или около того сохраняет первую переменную среды любых дубликатов по сравнению с bashи другие программы, использующие конечные значения любых повторяющихся переменных среды.

1
27.01.2020, 23:45

Теги

Похожие вопросы