Как установить пакеты с помощью apt-get в системе, подключенной через прокси?

49

У меня есть система Ubuntu 11.10, подключенная через прокси к Интернету, и я хотел бы установить пакеты через apt-get. Когда я пытаюсь сделать это, я получаю это сообщение об ошибке:

sudo apt-get install libboost-program-options-dev
[...]
Err http://gb.archive.ubuntu.com/ubuntu/ oneiric/main libboost1.46-dev i386 1.46.1-5ubuntu2
407  Proxy Authentication Required

Есть идеи?

719016
источник
есть ли у них какие-либо бесплатные данные прокси, чтобы я мог подключиться и загрузить некоторые пакеты из моего офиса.
Джейсон Юстус

Ответы:

74

Этот метод работал для меня ..... просто попробуйте ...

проверьте файл /etc/apt/apt.conf

Содержание было,

Acquire::http::proxy "http://<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<proxy>:<port>/";
Acquire::https::proxy "https://<proxy>:<port>/";

Это было причиной, по которой вы могли связаться с прокси, но не смогли пройти через него, так как нет информации о пароле имени пользователя. Так что просто вставьте эту информацию в нее ..

Acquire::http::proxy "http://<username>:<password>@<proxy>:<port>/";
Acquire::ftp::proxy "ftp://<username>:<password>@<proxy>:<port>/";
Acquire::https::proxy "https://<username>:<password>@<proxy>:<port>/";

сохраните файл и все готово ...


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

Винит Менон
источник
1
<br> Что если в имени пользователя есть символ @. <br> Например, если имя пользователя является полным адресом электронной почты?
1
@Hunger, см. Этот cyberciti.biz/faq/… .
Вине Менон
2
если вы делаете это утром, не забудьте удалить шевроны
ldgorman
Acquire :: socks :: proxy "socks5: // сервер: порт";
Крис Руф
46

Чтобы настроить временный прокси-сервер, установите http_proxyпеременную среды. Если прокси-сервер подключен proxy.example.comк порту 8080и вам необходимо пройти аутентификацию с использованием имени пользователя userи пароля pass, выполните:

sudo http_proxy='http://user:pass@proxy.example.com:8080/' apt-get install package-name

Чтобы установить такой прокси постоянно, создайте /etc/apt/apt.conf.d/30proxyсодержащий:

Acquire::http::Proxy "http://user:pass@proxy.example.com:8080/";

Изменения сразу видны при следующем запуске apt.

Lekensteyn
источник
2
Это все еще не работает, та же ошибка. Я должен упомянуть, что мой прокси настроен глобальноApplications -> System Tools -> System Settings -> Network Proxy -> Apply system Wide
719016
У меня работает прокси-соединение (протестировано с netcat и Squid). Какой прокси-сервер используется? Некоторые прокси могут нуждаться в других методах аутентификации.
Лекенштейн
+1 временный обходной путь был более подходящим ответом для меня!
Вим
1
@Lekensteyn: почему вы выбрали префикс «30»? Теперь я определяю порядок синтаксического анализа, но: существует ли соглашение о 30 для прокси?
jgomo3
1
@ jgomo3 Я, вероятно, посмотрел другие файлы (или README в этом каталоге, если он существует?), а затем выбрал значение случайным образом. Файлы читаются в алфавитном порядке.
Лекенштейн
2

Альтернативой является использование диспетчера пакетов Synaptics, который в своих настройках устанавливает прокси-сервер, к которому вы хотите подключиться. Вы можете найти конфигурацию, используя этот путь: Настройки -> Настройки -> Сеть

heiko81
источник