Настройка proxy для apt в Ubuntu

Сегодня установил себе виртуальную Ubuntu Server 10.04 LTS на VirtualBox. Настроил, чтобы она получила внутренний IP-адрес реальной сети и попытался обновить систему командой sudo apt-get upgrade. Но получил сообщение о том что Не удаётся соединиться с …. и далее перечень репозиториев. Причина была в непрописанном proxy-сервере для apt. Нужно было его просто указать в конфигурационных файлах. Конечно же из командной строки, так как установленный виртуальный сервер работает только в текстовом режиме.

В man apt.conf написано, что файлы конфигурация для apt лежат в каталоге /etc/apt/apt.conf.d/. Так же можно использовать главный конфигурационный файл /etc/apt/apt.conf. В том же man apt.conf есть ссылка на файл /usr/share/doc/apt/examples/configure-index.gz в котором содержаться все возможные опции которые можно задавать в конфигурационных файлах.

Вот отрывок из файла configure-index в котором описаны параметры, через которые можно указать proxy-сервер для apt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Acquire
{
  Queue-Mode "host";       // host|access
  Retries "0";
  Source-Symlinks "true";

  PDiffs "true";     // try to get the IndexFile diffs
  PDiffs::FileLimit "4"; // don't use diffs if we would need more than 4 diffs
  PDiffs::SizeLimit "50"; // don't use diffs if size of all patches excess
                          // 50% of the size of the original file

  // HTTP method configuration
  http
  {
    Proxy "http://127.0.0.1:3128";
    Proxy::http.us.debian.org "DIRECT";  // Specific per-host setting
    Timeout "120";
    Pipeline-Depth "5";
    AllowRedirect  "true";

    // Cache Control. Note these do not work with Squid 2.0.2
    No-Cache "false";
    Max-Age "86400";     // 1 Day age on index files
    No-Store "false";    // Prevent the cache from storing archives    
    Dl-Limit "7";        // 7Kb/sec maximum download rate
    User-Agent "Debian APT-HTTP/1.3";
  };
};

Убрав все лишнее, получим самую простую запись для proxy-сервера не требующего авторизации:

1
2
3
4
5
6
7
Acquire
{
  http
  {
    Proxy "http://127.0.0.1:3128";
  };
};

Вместо 127.0.0.1:3128 нужно установить реальные данные.

Создаем файл /etc/apt/apt.conf и пишем в нем полученную запись. Проверяем, что apt работает:

1
$ sudo apt-get update

Конструкцию в файле /etc/apt/apt.conf можно переписать и в другой аннотации - через двойное двоеточие:

1
Acquire::http::Proxy "http://127.0.0.1:3128";

Второй вариант более лаконичный, его я и оставил.

Статьи и новости схожей тематики:

Оставьте свой отзыв