«apt-get» не работает с Proxy

Для команды

sudo apt-get update

я получаю следующую ошибку:

W: Failed to fetch http://ch.archive.ubuntu.com/ubuntu/dists/maverick-updates/multiverse/binary-i386/Packages.gz  
407  Proxy Authentication Required (The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )

Я запускаю Ubuntu 10.10, установленный в Windows XP с помощью VirtualBox. Для подключения к Интернету я использую прокси-сервер с аутентификацией. Я попытался использовать инструмент gnome-network-proxy для установки параметров прокси-сервера в системе.

После этого /etc/environment был обновлен переменной http_proxy с форматом http://my_proxy:port/, не было данных аутентификации.

Я проверил это с помощью Firefox. Браузер спросил меня о логине и пароле, и все работает нормально. К сожалению, это не так для apt-get. Я также пытался сделать так, как описано здесь. К сожалению, это не сработает.

Может быть как-то связано с тем, что прокси находится в домене Windows, любые идеи?

Мое прокси-имя - это http-прокси. Есть ли здесь специальный символ?

1
задан 13 April 2017 в 15:24

10 ответов

Для моей корпоративной сети я получил имя моего прокси-сервера в формате:

http://[username]:[password]@[proxy-webaddress]:[port]

. Для нашей сети Windows наше имя пользователя имеет формат:

[domain]\[username]
[d2 ] Например:

http://mywindowsdomain\fossfreedom:password@askubuntu-proxy.com:8080

Это было добавлено к следующему NEW-файлу (по умолчанию он не существует):

gksudo gedit /etc/apt/apt.conf.d/01proxy

Добавлен следующий текст:

Acquire::http::Proxy "http://mywindowsdomain\fossfreedom:password@askubuntu-proxy.com:8080";

Если вы используете анонимный прокси-сервер, вам не нужны ваши учетные данные:

Acquire::http::Proxy "http://askubuntu-proxy.com:8080";

Сохраните файл, а затем проверьте, все ли в порядке:

[ f7]
47
ответ дан 25 May 2018 в 23:15
  • 1
    Тем, кто прочитает это позже: Это похоже на взломать неподготовленный глаз, но это невероятно простой способ заставить корпоративный прокси подчиниться. – macduff 27 June 2012 в 00:55
  • 2
    Это прекрасно работает. Если вы ранее не установили /etc/apt/apt.conf с плохой линией Acquire. Я сделал именно это, и все, что мне нужно было сделать, это вернуться и удалить эту строку. – Skip Huffman 17 August 2012 в 18:44
  • 3
    На Ubuntu 12.10 мне пришлось скопировать изменения, сделанные в /etc/apt/apt.conf.d/01proxy, в /etc/apt/apt.conf, прежде чем он сработает. – Stephen Niedzielski 27 March 2013 в 01:18
  • 4
    даже с этими изменениями я не мог заставить это работать для меня с 12.04 ... но мне удалось заставить это работать, используя и настраивая ntlmaps и указывая файл apt.conf на промежуточный прокси-сервер там. – monkut 2 May 2013 в 12:54
  • 5
    The program 'gksudo' is currently not installed. You can install it by typing: sudo apt-get install gksu (который, конечно же, не будет работать без настройки прокси-сервера ...) К счастью, sudo работает отлично. – T.E.D. 30 December 2015 в 21:04

Я обнаружил, что USERNAME и PASSWORD, введенные в апплет «Сетевой прокси», не сохраняются в файле apt.conf, вы должны вручную добавить имя пользователя и пароль в файле /etc/apt/apt.conf.

Апплет «Сетевой прокси» хранит только имя хоста и порт.

Основной синтаксис:

Acquire::http::proxy "http://User:Password@host:port/";

Acquire::ftp::proxy "ftp://User:Password@host:port/";

Acquire::https::proxy "https://User:Password@host:port/";

Если вы используете имена и пароль для Windows следуйте этому совету:

User = Domain/Username

(пользователи Windows используют / not \)

Если вы используете сильный / сложный пароль Windows со специальными символами, вы должны использовать URL-адрес кодирование значений, например, «@» в пароле будет «% 40».

11
ответ дан 25 May 2018 в 23:15
  • 1
    (пользователи Windows используют / нет) Итак, вот почему я застрял :) Спасибо! – GaiusSensei 19 May 2012 в 10:35

Попробуйте установить http_proxy на http: // user: pass @ proxyserver: port /

edit: Если настройка http_proxy не работает, попробуйте отредактировать apt.conf. В Ubuntu apt.conf фрагментирован в каталоге /etc/apt/apt.conf.d/. В этом каталоге отредактируйте /etc/apt/apt.conf.d/01ubuntu:

APT {
    Acquire {
        http {
            Proxy "http://user:password@server:port";
        };
    };
};

или попробуйте установить его с помощью Synaptic: Настройки -> Настройки -> Сеть И затем установите параметры прокси-сервера в «Конфигурация ручного прокси-сервера ».

8
ответ дан 25 May 2018 в 23:15
  • 1
    Вы имеете в виду файл / etc / environment? – tommyk 28 January 2011 в 16:46
  • 2
    Yest, он установит эту переменную глобально. – Casual Coder 28 January 2011 в 22:02
  • 3
    Как кодировать двоеточие как часть пароля? – k0pernikus 19 December 2011 в 15:34
  • 4
    / etc / environment не работает с apt-get (или, по крайней мере, требует перезагрузки;), изменение apt.conf имеет немедленный эффект – Danubian Sailor 22 May 2012 в 18:56
  • 5
    Я могу подтвердить настройку «Ручная настройка прокси» и "Применить ширину системы" в сети работает с apt-get. – Will Sheppard 10 March 2014 в 20:41

Я за прокси-сервером MS ISA, и я использую прокси-сервер аутентификации Cntlm; в apt.conf у меня 4 строки; Я где-то читал, что последняя строка должна быть пустой, но я не уверен в этом. Он отлично работает:

Acquire::http::proxy "http://127.0.0.1:3128/";
Acquire::ftp::proxy "ftp://127.0.0.1:3128/";
Acquire::https::proxy "https://127.0.0.1:3128/";
3
ответ дан 25 May 2018 в 23:15
Откройте терминал и добавьте следующие строки в /etc/apt/apt.conf.
gksu gedit /etc/apt/apt.conf
Добавьте эти две строки:
Acquire::http::Proxy "http://user:pass@proxy-host:port/";
Acquire::ftp::Proxy "http://user:pass@proxy-host:port/";
Сохранить и выйти. Теперь apt-get update и должен работать за прокси, но вы заметите, что все еще что-то не работает, то есть команда add-apt-repository. Чтобы добавить репозиторий за прокси, введите следующие команды:
# export https_proxy="http://192.168.1.5:8080"
# sed -i 's/"keyserver.ubuntu.com"/"hkp://keyserver.ubuntu.com:80"/' /usr/share`/pyshared/softwareproperties/ppa.py`
Теперь вы можете добавлять репозитории в Lucid и Natty, используя LANG = C add-apt-repository. Пример: root @ ubuntu: ~ # LANG = C add-apt -repository ppa: motumedia / mplayer-daily

Через Unixmen

2
ответ дан 25 May 2018 в 23:15

Как применить apt-get обновление или установить в Ubuntu? Я был за прокси-сервером и после установки Ubuntu я не мог обновить или установить что-либо с помощью команды apt-get. После поиска я обнаружил, что пакет apt был изменен, теперь в каталоге / etc / apt больше нет apt.conf.

Что я сделал для решения этой проблемы, так это следующее:

Откройте терминал и файл

sudo -H gedit /etc/bash.bashrc

и добавьте в нижней части файла эти две строки:

#proxy 
export http_proxy=http://user:password@host:port/
export ftp_proxy=http://user:pass@host:port/

Теперь сохраните и выйдите, теперь вы сможете обновлять, обновлять или устанавливать пакеты в Ubuntu

2
ответ дан 25 May 2018 в 23:15
  • 1
    Я добавил экспорт, как вы предложили. Это все еще не работает. Теперь у меня появилось другое сообщение об ошибке «Не удалось подключиться к extras.ubuntu.com:80 (91.189.88.33). - подключить (110: время ожидания подключения) ". & Lt; & шир GT; Странно то, что когда я вхожу в те же настройки прокси в настройках Firefox, я могу просматривать веб-страницы. – tommyk 28 January 2011 в 17:58
  • 2
    @tommyk вы можете опубликовать свой /etc/apt/sources.list и обновить свой вопрос здесь или попытаться удалить extras.ubuntu.com из вашего /etc/apt/sources.list и выполнить apt-get update – hhlp 28 January 2011 в 18:16
  • 3
    Я заменил мой sources.list по умолчанию на веб-странице ubuntu. Я по-прежнему получаю ту же ошибку для каждого репозитория, указанного в этом файле. – tommyk 28 January 2011 в 19:09

С прокси-сервером BlueCoat для меня должен был выглядеть формат файла apt.conf:

Acquire::http::proxy "http://Domain%5cUserID:Password@proxy.name.whatever:80/";
Acquire::ftp::proxy "ftp://Domain%5cUserID:Password@proxy.name.whatever:80/";
Acquire::https::proxy "https://Domain%5cUserID:Password@proxy.name.whatever:80/";

^ ^ ^ ^ Пустая строка после третьей строки прокси, не вводите эту строку , ^ ^ ^ ^

1
ответ дан 25 May 2018 в 23:15
Запустите Synaptic (перейдите в System -> Administration -> Synaptic в Gnome 2 или введите «synaptic» в Dash in Unity). В строке меню нажмите «Настройки», а затем «Настройки». Когда появится окно «Настройки», щелкните вкладку «Сеть». Выберите переключатель «Ручная настройка прокси» и введите свою прокси-информацию. Чтобы применить данные аутентификации, нажмите кнопку «Идентификация» и введите имя пользователя и пароль. Нажмите «ОК», чтобы закрыть окно «HTTP Authentication». Нажмите «ОК», чтобы закрыть окно «Настройки». Нажмите кнопку «Обновить», чтобы обновить списки пакетов.

Обратите внимание, что это изменение настроек также повлияет на диспетчер обновлений.

0
ответ дан 25 May 2018 в 23:15

Это работает для меня !!

(добавление прокси вручную из графического интерфейса через системные настройки-> сеть и т. д. должно работать). Но если нет, и вы экспортируете переменную env из терминала :

export http_proxy=http://<your proxy url>:<proxy port>

и снова для https:

export https_proxy= <usually the same as the http>

Этот работает для меня !! Чтобы запустить sudo apt-get install или sudo apt-get update вы должны запустить:

sudo -E <command>

«-E» использует переменные пользовательской среды для корневого (sudo), если на то есть только что экспортированный http_proxy / https_proxy.

Надеюсь, это поможет :)

0
ответ дан 25 May 2018 в 23:15

Это однострочное решение работало для меня:

sudo env http_proxy=http://<ip>:<port> apt-get update
0
ответ дан 25 May 2018 в 23:15

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

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