Как запустить «sudo apt-get update» через прокси в командной строке?

65

В моем офисе я хочу обновить и загрузить через (wget), и здесь они используют прокси?

Как я могу это сделать с помощью командной строки?

    
задан Renjith G 15.10.2010 в 13:07
источник

7 ответов

77

В некоторых версиях sudo настроен таким образом, что все переменные среды все очищаются при запуске команды. Чтобы сохранить значение для Ссылка и исправить это, вам нужно отредактировать / etc / sudoers, запустите:

visudo

Затем найдите строку, которая гласит:

Defaults env_reset 

и добавить после него:

Defaults env_keep = "http_proxy ftp_proxy" 

Вещи начнут работать как ожидалось.

Благодаря kdogksu на форумах Ubuntu для поиска решения для этого.

Чтобы не только исправить apt-get, но и графические X11 utils, например, synaptic, mintintall, ...), следующая строка в /etc/sudoers должна выполнить задание:

Defaults env_keep = "http_proxy https_proxy ftp_proxy DISPLAY XAUTHORITY"
    
ответ дан paulo.albuquerque 29.12.2010 в 20:21
33

Используйте это.

[email protected]:~$ cat /etc/apt/apt.conf
Acquire::http::Proxy "http://Username:[email protected]:8080";

Это то, что я использую. Прекрасно работает.

Apt также позволяет размещать отдельные настройки в файлах под /etc/apt/apt.conf.d/ , так что это имеет тот же эффект, что и выше, но может быть проще поддерживать, если у вас есть другие строки в файле .conf :

[email protected]:~$ cat /etc/apt/apt.conf.d/05proxy
Acquire::http::Proxy "http://Username:[email protected]:8080";
    
ответ дан John Cartwright 18.03.2013 в 05:24
10
export http_proxy=http://proxyusername:[email protected]:proxyport
sudo apt-get update

Экспортировать не нужно sudo ing, и если ваш прокси анонимный, просто отпустите proxyusername:[email protected] .

    
ответ дан Oli 15.10.2010 в 13:19
9

То, что сработало для меня, было:

sudo http_proxy=http://yourserver apt-get update

Это немного странно, потому что просто экспорт http_proxy, а затем запуск sudo echo $ http_proxy послушно распечатал экспортированное значение

    
ответ дан Sam 07.04.2011 в 09:05
3

Ubuntu невероятно враждебна аутентификации доверенных лиц. Я использую ноутбук Ubuntu на работе, и количество разломов невероятно.

Synaptic, Apt, Firefox, Chromium и т. д. используют разные методы для указания прокси-сервера, и нет надежного указания учетных данных.

Некоторые ошибки по теме: Ссылка

Ссылка

Ссылка

Ссылка

Предложение Оли использовать экспорт является единственным смутно безопасным способом сделать это. Иногда также возможно «подталкивать» поддержку прокси-сервера, если прокси-сервер использует вторичную аутентификацию для минимизации нагрузки на основные серверы аутентификации (скажем, в Active Directory). Здесь первое прокси-соединение аутентифицируется прокси-сервером против AD, а затем для заданного периода времени (обычно 5 минут) все остальные подключения являются «доверенными» для того, чтобы быть этим пользователем. Таким образом, вы можете открывать firefox, просматривать интернет (где угодно будет), а затем попробовать свою утилиту (wget, synaptic, whatever), указав прокси, но оставьте пустое имя пользователя.

Ubuntu, как правило, враждебна любой корпоративной среде просто потому, что позволяет легко считывать пароли. Seahorse - главный виновник, но Network Manager также шокирует - подключитесь к любой аутентифицированной сети PEAP, и вы только что сохранили свой пароль в апплете, чтобы кто-нибудь мог видеть, кто может взять ваш ноутбук. По-видимому, совместное использование ноутбуков считается святотатством на суше Linux, поскольку разработчики Seahorse отвергли требования о ненадежности. После этого у меня не было сердца, чтобы связаться с разработчиками сетевого менеджера.

    
ответ дан Scaine 29.12.2010 в 21:24
3

Вы пытались отредактировать /etc/apt/apt.conf ? Я использую это, чтобы использовать apt за нашим корпоративным прокси.

Acquire::http::proxy "http://user:[email protected]:port/";

Я считаю, что apt использует это значение, если только $ http_proxy не определено в вашей среде оболочки (т. е. $ http_proxy имеет приоритет).

    
ответ дан Jon Brett 15.10.2010 в 15:32
1

Если это временная конфигурация , вы можете попробовать следующее: sudo bash -c 'http_proxy="http: // < proxy_host >: < proxy_port > /" apt-get update'

Вам это нужно, потому что для «root» учетной записи должна быть определена переменная среды. Выполнение и экспорт ранее не должны работать.

Для постоянной конфигурации вам нужно будет изменить системный файл. Это уже описано в следующем ответе о Как проверить Сетевой прокси действительно применяется? .

    
ответ дан Huygens 15.10.2010 в 13:21