Как использовать «apt-get» через «Http-proxy», как это?


20

Я пытаюсь использовать apt-getкоманду в сети, которая использует прокси, например:

Мы используем 10.114.7.7 на порту 80 в качестве Http-прокси, и после этого появляется окно аутентификации с запросом имени пользователя и пароля.

Наше имя пользователя / домен выглядит следующим образом: username@urmia.ac.ir

Мне интересно, как я могу использовать http_proxy=http://User:Pass@Proxyserver:Portв этой ситуации !? Я также пробовал оба, 10.114.7.7 и urmia.ac.ir в качестве прокси-сервера, но безрезультатно!

Ответы:


35

Чтобы использовать apt-get через прокси, либо создайте файл с /etc/apt/apt.conf.d/именем proxy или что-то, что вы узнаете, либо создайте (если он не существует) /etc/apt/apt.confи вставьте следующую строку:

Acquire::http::Proxy "http://username:password@proxy.server:port/";

Просто замените имя пользователя и пароль вашими данными для входа и замените proxy.server: port на правильный адрес (в вашем случае, 10.114.7.7:80), чтобы ваша строка получилась примерно так:

Acquire::http::Proxy "http://username:password@10.114.7.7:80";

Если вам необходимо использовать @символ в вашем имени пользователя, вам придется экранировать его с помощью обратной косой черты ( username@urmia.ac.ir)

Хотя экранирование символов с помощью обратной реакции не работает (например, \@в exportи wget), специальные символы могут быть экранированы с помощью URL-кодировки. Например, username:my@pass@server.com:portстановится username:my%40pass@server.com:port. См. Этот список символов в кодировке URL для получения дополнительной информации.


Предложенное решение для добавления прокси-записи в / etc / apt сработало для меня, но я отмечаю, что если ваш прокси-сервер кэширует учетные данные, вы можете избежать встраивания своих учетных данных в файл конфигурации, просто аутентифицируясь через прокси-сервер в другом процессе ( например, веб-браузер в Windows), до запуска команд apt в вашей оболочке bash. Сделав это, я смог указать запись прокси внутри / etc / apt как « сервер: порт » вместо « имя пользователя: пароль @ сервер: порт ».
Питер Санза

6

Кроме того, вы можете разместить следующее в /etc/apt/apt.conf

Acquire::http::Proxy "http://proxy.server.port:8080";

8080 - это номер порта, и я думаю, что это стандарт.

Не забудьте про кавычки или точку с запятой.


4

Это должно решить вашу проблему:

export http_proxy=http://username:password@10.114.7.7:80/

EXPORT HTTP_proxy=http://username:password@10.114.7.7:80/работать в Bash приводит к EXPORT: command not found.
Дэвид Фёрстер

И экспорт и http в нижнем регистре. Bash чувствителен к регистру. Иначе это должно работать. По крайней мере, это работает на меня в течение двух лет.
s3lph

6
работает для скручиваемости, но не для apt.
FGM
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.