Настроить прокси-сервер для APT?

Мне нужно настроить прокси-сервер. Там не было apt.conf файл в etc/apt/ итак, я создал его с помощью nano.

Но я не понимаю, что мне нужно там написать. Я написал http_proxy = http://lgn:pwd@192.168.1.254:8080/ там, а затем перезапустился networking. Но когда я пытаюсь apt-get update - это не работает.

На самом деле я не понимаю, на каком порту и ip я должен писать apt.conf файл(там был пример с 192.168.1.254 ис и 8080 порт, поэтому я решил их использовать).

Чтобы использовать прокси-сервер, вам нужен прокси-сервер. IP-адрес и порт должны быть с этого прокси-сервера. Логин и pwd должны быть вашим пользователем и паролем на прокси-сервере (если прокси-сервер требует входа в систему).

От help.ubuntu.com сайт:

Метод файла конфигурации APT

Этот метод использует файл apt.conf, который находится в вашем каталоге /etc/apt/. Этот метод полезен, если вы хотите, чтобы apt-get (а не другие приложения) постоянно использовал http-прокси.

При некоторых установках не будет настроен файл apt-conf. Отредактируйте файл apt-conf (или создайте новый, если у вас его еще нет), используя редактор по вашему выбору.

sudo nano /etc/apt/apt.conf

Добавьте эту строку в свой файл /etc/apt/apt.conf (замените свои данные на yourproxyaddress и proxyport).

Acquire::http::Proxy "http://yourproxyaddress:proxyport";

Сохраните файл apt.conf.

Если вашему прокси-серверу требуется логин/пароль, замените:

"http://yourproxyaddress:proxyport";

с:

"http://username:password@yourproxyaddress:proxyport";

используя имя пользователя и пароль от прокси-сервера.

Это более общий ответ вместе с apt config.

Поскольку существует множество мест для настройки параметров прокси-сервера, поначалу это может привести к путанице. Позвольте мне обобщить некоторые моменты и предложить несколько хороших практик.

Для консольных программ

Пример: wget, git и почти каждое консольное приложение, которое подключается к Интернету.

Если по какой-то причине вы хотите настраивать прокси-сервер каждый раз, когда выполняете свои команды, то установите переменные среды используя следующие команды.

export http_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/export ftp_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/

В противном случае, если вы хотите использовать одни и те же настройки каждый раз для всех пользователей, используйте их.

Настройка в bashrc

$ nano /etc/bash.bashrcexport http_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/export ftp_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/

Настройка в /etc/environment

$ nano /etc/environmenthttps_proxy="http://myproxy.server.com:8080/" ftp_proxy="http://myproxy.server.com:8080/" ...

Настройка с помощью графического интерфейса

Откройте настройки сети и установите свой общесистемный сетевой прокси-сервер.

>>>Сеть - Сетевой прокси-сервер - Настройка - Применение в масштабах всей системы.

Но это может оказаться бесполезным, если у вас есть проверка подлинности для прокси-сервера.

Для apt.

Вам нужно выполнить некоторую дополнительную работу для apt, так как, кстати, apt не подчиняется переменным среды,

$ nano /etc/apt/apt.confAcquire::http::Proxy "http://USERNAME:PASSWORD@SERVER:PORT";Acquire::https::Proxy "https://USERNAME:PASSWORD@SERVER:PORT";

Для всего, что выходит за рамки этой области, должна быть возможность настроить параметры прокси-сервера в самом приложении. Если нет, то мне очень жаль ;)

Должно сработать что-то вроде следующего:

Acquire::http::proxy "http://lgn:pwd@192.168.1.254:8080/";Acquire::https::proxy "http://lgn:pwd@192.168.1.254:8080/";

Что вы можете сделать, так это также попытаться запустить команду с помощью sudo -E, который примет настройки среды. Кажется, это работает для меня, когда я пытаюсь обновить, добавить-apt-repository и установить.Пример:

sudo -E add-apt-repository ppa:xxxxx

Согласно @David Foerster, это работает только для ручного взаимодействия с использованием оболочки, но не будет работать с автоматизированными задачами и службами, вызывающими Apt без взаимодействия с пользователем.

Если вам нужно использовать apt за прокси-сервером, вероятно, для всего остального также требуется конфигурация прокси-сервера.Мне нравится управлять настройками моего прокси-сервера в одном месте, которое было бы переменной среды.

Для этого я создаю /etc/profiles.d/99-proxy.sh, который содержит необходимые настройки прокси-сервера (как описано larent):

export http_proxy=http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/export https_proxy=$http_proxyexport ftps_proxy=$http_proxy

таким образом, все пользователи на этом компьютере имеют доступ к прокси-серверу. (не забывай chmod a+x)

Когда вы используете apt или apt-get в качестве пользователя, этот пользователь может использовать sudo.Как описал Фрэнк Цю, sudo не передает переменные среды.Для этого вы можете добавить

Defaults env_keep += "http_proxy https_proxy ftp_proxy"

чтобы (например)

/etc/sudoers.d/00-environment 

или непосредственно в

/etc/sudoers

файл. Таким образом, вам нужно управлять настройками прокси-сервера только в одном месте.

Первоначальный вопрос может быть направлен в неправильном направлении. Я полагаю, вы хотите настроить прокси-сервер в Linux?

Ну, это совершенно не то же самое, что желание использовать существующий прокси-сервер из среды Linux.

Если ваш вопрос является первым, то используйте любые сторонние сервисы для настройки прокси-сервера в Linux. Примером может служить кальмар.

Простые команды для установки squid:

$ sudo apt-get install squid3

Затем отредактируйте конфигурацию, чтобы разрешить локальную сеть (в данном случае ваш собственный компьютер). $ sudo vi /etc/squid3/squid.conf

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

http_access allow local_netacl local_net src 192.168.1.0/255.255.255.0

Предполагая, что ваш IP-адрес для компьютера Linux находится в блоке 192.168.1/24.

Есть изменение в настройках прокси-сервера, чтобы получить работу в корпоративном прокси-сервере в ubuntu. GitHub - navinas33/docker_ubuntu это работает…