Есть у меня в хозяйстве админа один помощник, которому не находилось время сказать спасибо. Речь идёт об кэширующем сервисе для пакетов - apt-cacher-ng.
NG в имени - это Next Generation. Был такой предшественник apt-cacher, который требовал apache и тонну еще зависимостей. Apt-cacher-ng в этом плане молодчина. Нетребовательный сервис, который экономит админам время. Официально он экономит трафик, так как если у вас парк серверов под управлением Debian, Ubuntu, OpenSUSE, Fedora Core, Arch Linux, то первый сервер, как ледокол, вытащит кучу нехилых пакетов, а остальные сервера получат львиную долю пакетов из кэша. Но лично я хотел бы сказать спасибо именно за сэкономленное время. Чёрт с ним с трафиком. Без apt-cacher-ng смотреть на одно и тоже качаемое из официальных репозиториев в Интернете - удовольствия мало.
Естественно, что эффективность apt-cacher-ng возрастает с количеством однотипных серверов. Вот даю что есть у меня на дату написания статьи. Прошу заметить, что здесь статистика только по получению списков доступного софта из официальных репозиториев. На указанный период у меня не было серьёзных обновлений серверов и поэтому цифры такие "скромные".
Period | Cache efficiency | |||||||
---|---|---|---|---|---|---|---|---|
Requests | Data | |||||||
Hits | Misses | Total | Hits | Misses | Total | |||
2016-11-05 08:52 - 2016-11-06 08:52 | 644 (28.89%) | 1585 (71.11%) | 2229 | 53.21 MiB (74.55%) | 18.16 MiB (25.45%) | 71.38 MiB | ||
2016-11-04 08:52 - 2016-11-05 08:52 | 987 (42.16%) | 1354 (57.84%) | 2341 | 48.72 MiB (66.33%) | 24.73 MiB (33.67%) | 73.45 MiB | ||
2016-11-03 08:52 - 2016-11-04 08:52 | 554 (23.85%) | 1769 (76.15%) | 2323 | 61.39 MiB (54.77%) | 50.69 MiB (45.23%) | 112.07 MiB | ||
2016-11-02 08:52 - 2016-11-03 08:52 | 890 (39.24%) | 1378 (60.76%) | 2268 | 56.89 MiB (69.30%) | 25.20 MiB (30.70%) | 82.09 MiB | ||
2016-11-01 08:52 - 2016-11-02 08:52 | 575 (24.77%) | 1746 (75.23%) | 2321 | 58.72 MiB (68.57%) | 26.92 MiB (31.43%) | 85.63 MiB | ||
2016-10-31 08:52 - 2016-11-01 08:52 | 631 (28.53%) | 1581 (71.47%) | 2212 | 27.74 MiB (65.03%) | 14.92 MiB (34.97%) | 42.66 MiB | ||
2016-10-30 08:52 - 2016-10-31 08:52 | 781 (35.79%) | 1401 (64.21%) | 2182 | 48.56 MiB (78.22%) | 13.52 MiB (21.78%) | 62.08 MiB |
Как говорится - мелочь, а приятно.
Детали рассусо́ливать не буду, так как сервис реально прост. Дам лишь пару советов. Сервис apt-cacher-ng работает отлично и с дефолтными настройками в /etc/apt-cacher-ng/acng.conf, просто запомните порт по умолчанию 3142.
Как указать клиентам использовать сервис? Есть 2 способа и каждый удобен в своём случае:
Acquire::http::proxy "http://_IP_адрес_сервера_apt_cacher_ng:3142"; Acquire::ftp::proxy "http://_IP_адрес_сервера_apt_cacher_ng:3142";
Данный способ отлично подходит серверам, которые в консоли обновляются администратором вручную или через инструменты оркестровки типа puppet.
У клиентов в /etc/apt/sources.list меняем строки вида
deb http://ru.archive.ubuntu.com/ubuntu/ xenial main restricted
на
deb http://IP_адрес_apt-cacher-ng:3142/ru.archive.ubuntu.com/ubuntu/ xenial main restricted
Второй способ выручил в ситуации когда репозиторий доступен только по HTTPS и по умолчанию вы получите отлуп. Параметр PassThroughPattern: .* в /etc/apt-cacher-ng/acng.conf вас выручит, но сделает большую дыру в вашей системе, так как через такой прокси можно не только пакеты deb качать, но и не плохо так сёрфить в Интернете с помощью браузера. Можно уточнить параметр PassThroughPattern и не делать с помощью регулярного выражения .* в системе дыру, но есть способ проще и элегантнее. Репозиторий, доступный через HTTPS, можно указать вот так
deb http://IP_адрес_apt-cacher-ng:3142/HTTPS///artifacts.elastic.co/packages/6.x/apt stable main
Рекомендую также не стрелять себе в ногу - не обновляйте сервер с apt-cacher-ng через себя самого. Данный сервер должен обновляться напрямую через Интернет.
За долгий срок работы с apt-cacher-ng сталкивался с тем, что обновляться через него не получалось. Просто зайдите браузером на веб-страницу по адресу http://_IP_адрес_сервера_apt_cacher_ng:3142 и нажмите по очереди кнопки Delete unreferenced и Delete damaged.
Если до сего момента не использовали apt-cacher-ng, то при наличии даже пары машин, рекомендую приглядеться к нему и начать спасать свои нервы при установке или обновлении софта.
Дата последней правки: 2023-12-28 15:21:29