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

56

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

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

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

задан lapots 17.02.2013 в 13:24
источник

6 ответов

87

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

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

APT configuration file method

This method uses the apt.conf file which is found in your /etc/apt/ directory. This method is useful if you only want apt-get (and not other applications) to use a http-proxy permanently.

On some installations there will be no apt-conf file set up. Edit apt-conf file (or create a new one if you have no one yet) using the editor of your choice.

sudo nano /etc/apt/apt.conf

Add this line to your /etc/apt/apt.conf file (substitute your details for yourproxyaddress and proxyport).

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

Save the apt.conf file.

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

"http://yourproxyaddress:proxyport";

с:

"http://username:[email protected]:proxyport";

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

    
ответ дан laurent 17.02.2013 в 14:08
источник
18

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

Acquire::http::proxy "http://lgn:[email protected]:8080/";
Acquire::https::proxy "http://lgn:[email protected]:8080/";
    
ответ дан Dennis Kaarsemaker 17.02.2013 в 13:31
12

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

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

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

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

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

export http_proxy=http://DOMAIN\USERNAME:[email protected]:PORT/
export ftp_proxy=http://DOMAIN\USERNAME:[email protected]:PORT/

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

Настроить в bashrc

$ nano /etc/bash.bashrc
export http_proxy=http://DOMAIN\USERNAME:[email protected]:PORT/
export ftp_proxy=http://DOMAIN\USERNAME:[email protected]:PORT/

Настроить в /etc/environment

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

Настроить с помощью GUI

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

Сеть - > Сетевой прокси - > Настроить - > Примените систему в целом.

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

Для apt.

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

$ nano /etc/apt/apt.conf
Acquire::http::Proxy "http://USERNAME:[email protected]:PORT";
Acquire::https::Proxy "https://USERNAME:[email protected]:PORT";

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

    
ответ дан matrixisreal 30.05.2017 в 05:50
2

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

sudo -E add-apt-repository ppa:xxxxx

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

    
ответ дан Frank Qiu 20.06.2017 в 18:32
1

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

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

export http_proxy=http://DOMAIN\USERNAME:[email protected]:PORT/
export https_proxy=$http_proxy
export 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

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

    
ответ дан muluman88 20.09.2018 в 11:14
0

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

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

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

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

$ sudo apt-get install squid3

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

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

http_access allow local_net
acl local_net src 192.168.1.0/255.255.255.0

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

    
ответ дан Neo 02.06.2016 в 05:51