Должен выполнить "sudo su" и затем сделать apt-get update/upgrade/install, предварительное sudo не работает [дубликат]

На этот вопрос уже есть ответ здесь:

Чтобы команды apt-get update/upgrade/install работали, я добавил информацию о прокси в файл /etc/environment. Например:

http_proxy="http://proxy-chain.acmewidgets.com:8080/"   
https_proxy="https://proxy-chain.acmewidgets.com:8080/"    
ftp_proxy="ftp://proxy-chain.acmewidgets.com:8080/"    
socks_proxy="socks://proxy-chain.acmewidgets.com:8080/"

Затем, и это важно для моей установки (не уверен почему - это мой вопрос), я должен войти в режим суперпользователя, чтобы заставить apt-get работать. Как я уже сказал, я не уверен почему, но простое предварение вышеупомянутых команд apt-get командой sudo не работает для меня. Например, когда я выполняю sudo apt-get update, окно терминала зависает следующим образом:

somedude@ACME-WIDGETS-03:~$ sudo apt-get update

0% [Connecting to us.archive.ubuntu.com (91.189.91.13)] [Connecting to security

Что работает, так это ввод sudo su в командной строке, а затем выполнение команд apt-get БЕЗ предварения sudo. Мне приходится делать это, даже если я работаю в терминале суперпользователя (открываю его, выполнив sudo gnome-terminal). Пока я не выполню команду sudo su, настройки прокси в /etc/environment не видны. Я проверил это, выполнив echo $http_proxy до и после su; до: ничего не появилось, после: появилось то, что было установлено в /etc/environment.

Это не большая проблема, потому что я могу получать свои обновления и делать свои установки; но идея Ubuntu состоит в том, чтобы использовать sudo, чтобы вы случайно не нанесли вред, находясь в режиме суперпользователя. Так что же происходит, как вы думаете? Спасибо.

0
задан 20 August 2014 в 11:22

1 ответ

Это ожидаемое поведение - sudo сброс среда по умолчанию. Запуск корневой оболочки с sudo su является одним обходным решением. Можно также изменить sudo поведение (см. связанную страницу).

1
ответ дан 5 August 2019 в 08:47

Другие вопросы по тегам:

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