Экономим трафик с помощью apt-cacher-ng

У меня дома есть три компьютера, на каждый из которых установлена операционная система Ubuntu 13.04. Каждый раз, когда выходят обновления пакетов, каждый компьютер должен загружать пакеты напрямую с ближайшего зеркала и устанавливать их. Это не было проблемой, если бы у меня было очень быстрое соединение с Интернетом и небольшое количество установленных пакетов. Но у меня установлены тонны пакетов и имеется лишь достаточно медленное соединение с сетью. Мне нужен был способ, чтобы каждый пакет загружался бы лишь один раз, и я нашёл его — встречайте apt-cacher-ng.

После установки эта утилита будет кешировать все загружаемые пакеты и доставлять их на другие машины в сети, которые настроены на их использование. Никакая из моих машин не работает всё время, поэтому мне нужен был способ сделать кеш доступным в любое время для любого компьютера. Поэтому я дополнительно использую Raspberry Pi.

Настраиваем

Настроить сервер предельно просто. Я подключился к своему Pi SSH и выполнил следующую команду:

sudo apt-get install apt-cacher-ng

На этом всё для сервера. Теперь, на каждой клиентской машине вам нужно будет создать файл под названием /etc/apt/apt.conf.d/02proxy и вставить в него следующее содержимое (вы можете сделать это, открыв терминал и выполнив команду gksu gedit /etc/apt/apt.conf.d/02proxy):

Acquire::http { Proxy «http://192.168.0.1:3142»; };

Учтите, что в этой строчке вам нужно будет изменить IP-адрес на тот, на котором работает ваш сервер с утилитой apt-cacher-ng.

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