Отключаем авто-обновление в dnf под Fedora 22+

В данной статье мы подробно рассмотрим как отключить автоматическое обновление баз данных dnf, кэшей и пакетов в Fedora 22 и выше.

Введение

В последних релизах Fedora (начиная с 22) старый пакетный менеджер yum был заменён форком dnf, который имеет одну неприятную особенность — автоматическое обновление базы данных при наличии доступа в Интернет вне зависимости его скорости и типа соединения, что часто может привести к трате лишних средств у пользователей с оплатой по трафику (GPRS/3G).

Каждое обновление кэша пакетов обычно занимает от 10 до 50 МБ.

Отключаем автоматическое обновление кэшей

Автоматическое обновление кэша dnf реализовано в виде системного systemd сервиса dnf-makecache и systemd таймера, поэтому нужно отключить сначала сервис, затем таймер и обязательно запретить обновление кэша в главном файле конфигурации dnf.

Отключим сервис:

sudo systemctl disable dnf-makecache.service

Отключим таймер:

sudo systemctl disable dnf-makecache.timer

Теперь откроем файл /etc/dnf/dnf.conf в любом текстовом редакторе, например vim:

sudo vim /etc/dnf/dnf.conf

Пропишем в самом конце новую строку:

metadata_timer_sync=0

Сохраним изменения в файле. Теперь автоматическое обновление кэша будет полностью отключено. Стандартное ручное обновление посредством выполнения sudo dnf update продолжит работать как и раньше.

Отключаем автоматическое обновление пакетов

Автоматическое обновление пакетов в Fedora реализовано либо посредством самого dnf (пакет dnf-automatic), либо PackageKit и его пользовательских интерфейсов, индивидуальных для каждой среды (например Apper в KDE).

Соответственно, для отключения автоматического обновления потребуется удалить эти пакеты:

sudo dnf remove dnf-automatic PackageKit

Графические фронтенды для PackageKit вроде Apper будут удалены по зависимостям вместе с ним.