Когда я пытаюсь установить программное обеспечение с помощью Ubuntu Software Center, я получаю:
Failed to download repository information
Check Your Internet connection
Когда я пытаюсь сделать apt-get install something
, я получаю:
407 Proxy Authentication Required
Я использую прокси-сервер, который требует имя пользователя и пароль. Я установил свой системный прокси-сервер вручную, подключив необходимые номера в сетевой прокси-сервер и применив его в масштабе всей системы. Я полагаю, что проблема сейчас заключается в подключении моего имени пользователя и пароля.
Когда я использую ИНТЕРНЕТ через Mozilla, он запрашивает у меня имя пользователя и пароль.
Чтобы ваш apt-get работал, вы должны отредактировать файл конфигурации apt:
sudo -H gedit /etc/apt/apt.conf
И добавить Acquire :: http :: Прокси "http: // username: password @ proxyhost: port /";
Следует строго соблюдать синтаксис, показанный выше.
Эта конфигурация может завершиться ошибкой, если в вашем имени пользователя или пароле есть '@'. Вы также можете добавить конфигурацию прокси для других протоколов, таких как FTP.
Обновление:Если в вашем имени пользователя или пароле есть '@', вы можете заменить его на% 40
Пример: Если ваш пароль @ 123
, введите его как % 40123
.
Для других символов см. Процентное кодирование
Я думаю, что это руководство должно вам помочь.
Щелкните вкладку «Сеть», выберите параметр «Ручная настройка прокси» и введите свой прокси-сервер, сведения о порте. Если у вас есть имя пользователя и пароль, щелкните при аутентификации, чтобы ввести эти данные, нажмите ОК
(из http://www.ubuntugeek.com/how-to-configure-ubuntu-desktop-to-use-your-proxy-server.html ])
Чтобы вызывать его для всех программ, запускаемых в оболочке, я бы посоветовал вам либо добавить его в свой /etc/bash.bashrc
, используя gksudo gedit /etc/bash.bashrc
, чтобы применить его в масштабе всей системы для всех сеансов bash или в вашем пользовательском пространстве ~ / .bashrc
.
Что касается Synaptic, в Preferences
под ] Сеть
, похоже, вы можете настроить аутентификацию для своих прокси. Однако, похоже, это характерно для Synaptic.
Сначала установите параметры прокси с помощью мастера использования Linux вручную и примените настройки для всей системы, как в этом окне мастера.
Добавьте среду прокси. Это всего лишь пример настроек ...
Откройте командную строку и отредактируйте файл apt.conf:
sudo vi /etc/apt/apt.conf
Уже есть 4 строки кода, начинающиеся с Получите ключевое слово, отредактируйте его следующим образом:
Acquire::http::Proxy "http://username:password@proxyhost:port/";
Acquire::https::Proxy "https://username:password@proxyhost:port/";
Acquire::ftp::Proxy "ftp://username:password@proxyhost:port/";
Примечание
Если ваш пароль содержит специальные символы, такие как @, $ ,! (например, Пароль: P @ ssword), затем замените специальные символы их эквивалентами в шестнадцатеричном коде с префиксом%, например:
Acquire::http::Proxy "http://username:p%40ssword@proxyhost:port/";
@ ==>% 40
$ ==>% 24
! ==>% 21
Хорошей альтернативой является использование Synaptic Package Manager , где вы можете указать независимые от системы настройки прокси, а также сохранить имя пользователя и пароль.
Однако этот не изменяет прокси для Центра программного обеспечения.
Если вы находитесь за корпоративным прокси, на котором выполняется проверка подлинности NTLM, вы можете использовать CNTLM:
$ sudo apt-get install cntlm
$ sudo vi /etc/cntlm.conf
Измените настройки по умолчанию (домен, имя пользователя, пароль и прокси). Затем перезапустите службу:
$ sudo /etc/init.d/cntlm restart
Теперь вы можете использовать localhost: 3128
(порт CNTLM по умолчанию) в качестве общесистемного прокси для Ubuntu.
Проверьте http: //cntlm.sourceforge. net / для документов.
Если ваше имя пользователя разделено пробелом, используйте:
export http_proxy='http://Pankaj Kumar Pandit:ABCD@192.168.1.1:3128/'
Если ваше имя пользователя не разделено пробелом, используйте:
export http_proxy=http://Pankaj_Kumar_Pandit:ABCD@192.168.1.1:3128/
Разница заключается в добавлении открытия и закрытия '
.
Я создал сценарий python для установки настроек прокси в Ubuntu
Предположим, что вам нужно заменить следующие настройки в соответствующих местах
Я сделал видео, которое проведет вас через все этапы:
https://www.youtube.com/watch?v= eBtzKa-dvJg
Шаги подробно описаны здесь:
Загрузите скрипт setproxy.py
Допустим, вы сохранили setproxy.py
в папке Загрузки
папка
Общая команда:
sudo python setproxy.py proxy_address proxy_port proxy_username proxy_password
Для нашего примера
172.16.26.214 king
3128
12139] queen
В случае простого прокси Без аутентификации команда выглядит так:
172.16.26.214
3128
Если у вас python 3
и выше запускайте с использованием python2.7
поэтому команды будут выглядеть как
172.16.26.214
3128
172.16.26.214
3128
король
queen
В последних версиях Ubuntu вы можете использовать Системные настройки> Сеть> Сетевой прокси, и когда вы нажимаете «применить к системе»
, настройки прокси изменяются в разных местах. , по крайней мере, включая файл /etc/apt/sources.list
, ОДНАКО ...
Он не имеет никакого механизма для запроса аутентификации. Понятия не имею, почему эту часть еще никто не сделал, но из-за этого, если вам нужна аутентификация, вам также нужно указать свой пароль и имя пользователя в этом формате:
username:password@proxy.address
Если ваш пароль или имя пользователя содержат какие-либо специальные символы в нем, включая @
или #
или !
или что-то еще, вам, вероятно, придется использовать HTML-код символа для любого из этих специальных символов . См. Эту страницу, чтобы узнать, как это сделать: http://www.obkb.com/dcljr/charstxt.html
Я также столкнулся с той же проблемой. Тогда я узнал о CNTLM. Теперь это работает очень хорошо. Посмотрите, как настроить CNTLM здесь.
Вы также можете попробовать следующие команды.
Для http соединения - экспортируйте:
http_proxy="http://username:password@proxy_server_address:port_no"
Для https соединения - экспортируйте:
https_proxy="https://username:password@proxy_server_address:port_no"
И также для ftp и других соединений.
В В моем случае я сохранил apt.conf
, созданный на основе ответа jaseem , в домашний каталог вместо / etc / apt
и указал -c
в команде apt.
$ sudo apt -c=~/my-apt.conf update
Вы также можете указать путь к файлу конфигурации в переменной среды APT_CONFIG
.
$ export APT_CONFIG=~/my-apt.conf
$ sudo apt update