Проблема с установкой SDK в Ubuntu 14.04 LTS
Я сталкиваюсь с проблемой при установке dotnet SDK на сервер развертывания во время развертывания с использованием сценариев оболочки. Шаги, которые я выполнил:
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
sudo apt-get update
Я знаю, что у меня нет привилегий root, поэтому я не могу sudo
Команда в скрипте buildpack. Пожалуйста, дайте мне знать, как достичь этого другими способами. Быстрый ответ будет оценен.
1 ответ
Sudo требуется, если вы хотите использовать систему упаковки apt, это никак не обойти. Вам нужно быть только в группе sudoers, чтобы иметь права суперпользователя через sudo в настройках по умолчанию.
Частичный обходной путь - настроить sudo, чтобы позволить sudo использовать только команду apt-get, но это небезопасно и может работать не полностью.
Вы можете запросить учетную запись, которая будет использоваться только для установки, тогда она не будет использоваться для запуска служб или сценариев, это будет несколько менее рискованным для администратора, но может быть более защищенным из-за его особой направленности.
Этот самый простой обходной путь здесь заключается в использовании docker или виртуальной машины (при условии, что ее подсистема уже установлена, поскольку для этого потребуется sudo) для создания фрагмента, который вы можете администрировать без root. Здесь есть руководство для докера - https://www.microsoft.com/net/core
В конечном итоге вы будете бороться за то, чтобы эта работа работала без рута, так что просто зайдите в систему или получите другой пакет.
Основное правило в мире Unix заключается в том, что вы должны работать с правами суперпользователя для обслуживания данных на порте с номером меньше 1024, это не позволит вам обслуживать большинство стандартных портов.