Перейти к содержимому

Dnf makecache service что это

  • автор:

Отключаем авто-обновление в 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 будут удалены по зависимостям вместе с ним.

Dnf makecache service что это

Команда dnf предназначена для работы с одноименной утилитой, которая используется для управлении пакетами программного обеспечения в дистрибутивах RHEL, CentOS, а также Fedora Workstation (в первых двух дистрибутивах она пока не используется по умолчанию). Данная утилита пришла на смену широко известной утилите yum из-за проблем с производительностью и потреблением памяти последней. На сегодняшний день утилита dnf обладает всеми возможностями утилиты yum и является ее полноценной заменой, менее требовательной к ресурсам системы.

Вы можете использовать dnf для установки и удаления пакетов программного обеспечения из вашей системы (группами или по одному), а также обновления системных списков пакетов программного обеспечения из подключенных на данный момент репозиториев.

Базовый синтаксис команды выглядит следующим образом:

# dnf [параметры] [команда] имена-пакетов-или-групп

Утилита поддерживает большое количество команд и параметров. Чаще всего используются такие параметры, как параметр —skip-broken, позволяющий пропускать пакеты с проблемами зависимостей, параметр —allowerasing, позволяющий удалять пакеты для разрешения зависимостей, параметр —cacheonly (или -C), позволяющий использовать кэшированные метаданные без их обновления, параметры —assumeyes (или -y) и —assumeno, позволяющие автоматически отвечать утвердительно или отрицательно на все вопросы утилиты, параметры —enablerepo и —disablerepo, позволяющие активировать и деактивировать указанный репозиторий, а также параметр —exclude (или -x), позволяющий исключить из рассмотрения пакет с указанным именем. Основными командами являются:

Автоматическая загрузка обновлений

В дистрибутиве Fedora Workstation dnf используется также для автоматической загрузки обновлений системы. Если вам не нужна эта функция (например, вы привыкли устанавливать обновления вручную или используете сетевое соединение с ограничением по трафику), вы можете деактивировать ее следующим образом.

В первую очередь следует деактивировать соответствующие службу и таймер systemd:

# systemctl disable dnf-makecache.service
# systemctl disable dnf-makecache.timer

Далее нужно отключить механизм автоматической загрузки обновлений на уровне службы packagekitd:

$ gsettings set org.gnome.software download-updates false

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

Примеры использования

Установка пакета программного обеспечения

Для установки пакета программного обеспечения достаточно просто использовать команду install:

# dnf install midori Последняя проверка окончания срока действия метаданных: 1:17:29 назад, Пн 31 июл 2017 17:36:45. Зависимости разрешены. ================================================================================ Пакет Архитектура Версия Репозиторий Размер ================================================================================ Установка: midori x86_64 0.5.12-0.2.fc26 fedora 1.3 M Результат транзакции ================================================================================ Установка 1 Пакет Объем загрузки: 1.3 M Объем изменений: 6.2 M Продолжить? [д/Н]: y Загрузка пакетов: midori-0.5.12-0.2.fc26.x86_64.rpm 621 kB/s | 1.3 MB 00:02 -------------------------------------------------------------------------------- Общий размер 277 kB/s | 1.3 MB 00:04 Проверка транзакции Проверка транзакции успешно завершена. Идет проверка транзакции Тест транзакции проведен успешно Выполнение транзакции Подготовка : 1/1 Установка : midori-0.5.12-0.2.fc26.x86_64 1/1 Запуск скриплета: midori-0.5.12-0.2.fc26.x86_64 1/1 Проверка : midori-0.5.12-0.2.fc26.x86_64 1/1 Установлено: midori.x86_64 0.5.12-0.2.fc26 Выполнено!
Удаление пакета программного обеспечения

Удаление пакета программного обеспечения осуществляется с помощью команды remove:

# dnf remove midori Зависимости разрешены. ================================================================================ Пакет Архитектура Версия Репозиторий Размер ================================================================================ Удаление: midori x86_64 0.5.12-0.2.fc26 @fedora 6.2 M Результат транзакции ================================================================================ Удаление 1 Пакет Освобожденное место: 6.2 M Продолжить? [д/Н]: y Проверка транзакции Проверка транзакции успешно завершена. Идет проверка транзакции Тест транзакции проведен успешно Выполнение транзакции Подготовка : 1/1 Удаление : midori-0.5.12-0.2.fc26.x86_64 1/1 Запуск скриплета: midori-0.5.12-0.2.fc26.x86_64 1/1 Проверка : midori-0.5.12-0.2.fc26.x86_64 1/1 Удален: midori.x86_64 0.5.12-0.2.fc26 Выполнено!
Поиск пакета программного обеспечения

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

# dnf -C search midori Последняя проверка окончания срока действия метаданных: 1:09:54 назад, Пн 31 июл 2017 17:36:45. ========================= Имя Exactly Matched: midori ========================== midori.x86_64 : A lightweight GTK+ web browser midori.i686 : A lightweight GTK+ web browser
Обновление пакетов программного обеспечения

Для установки всех обновлений системы достаточно использовать команду update:

# dnf update Последняя проверка окончания срока действия метаданных: 1:24:50 назад, Пн 31 июл 2017 17:36:45. Зависимости разрешены. Отсутствуют действия для выполнения Выполнено!

�� Различия между пакетными менеджерами YUM и DNF

В этой статье мы хотим обсудить, чем отличаются менеджеры пакетов YUM (YellowDog Updater Modified) и DNF (Dandified Yum) (Yum vs DNF).

На данном этапе мы хотим показать вам точное значение этих пакетных менеджеров.

Что такое YUM?

YUM расшифровывается как YellowDog Updater Modified.

Это менеджер пакетов, который можно использовать для следующих процессов управления в Linux-системе на базе RedHat:

  • Установка программных пакетов
  • Обновление программных пакетов
  • Удаление программных пакетов

Что такое DNF?

DNF расшифровывается как Dandified Yum.

Это обновленная версия Yum, которая работает так же, как и Yum.

Он используется для процессов управления.

В чем различия между менеджерами пакетов YUM и DNF?

Через некоторое время менеджер пакетов YUM столкнулся с некоторыми проблемами, такими как:

  • Низкая производительность
  • повышенное потребление памяти
  • Замедление процесса разрешения зависимостей

Поэтому было принято решение о замене Yum на менеджер пакетов DNF в системах Centos 8, AlmaLinux 8 и некоторых системах Linux на базе RedHat.

Для разрешения зависимостей DNF использует “libsolv”, который разработан и поддерживается компанией SUSE для повышения производительности.

Она написана на языках C, C++ и Python.

YUM использует публичный API для разрешения зависимостей. и этот API не полностью документирован. и он написан только на Python.

Здесь задается вопрос, почему вместо устранения проблем был создан новый инструмент.

Почему был создан DNF ?

Было объяснено, что исправление проблем невозможно технически.

Кроме того, команда YUM не готова принять изменения.

Основная проблема заключается в том, что для Yum существует 56 тыс. строк, а для DNF – только 29 тыс. строк, так что исправить это не представляется возможным.

Тем не менее, Yum по-прежнему работает в RedHat Enterprise Linux 6/7 (RHEL), CentOS 6/7 и OEL 6/7.

Он также используется для Centos 8 и Almalinux 8, но вместо YUM рекомендуется использовать менеджер пакетов DNF.

Рассмотрим еще некоторые различия между DNF и YUM.

YUM или DNF

DNF (Dandified yum) Yum (YellowDog Updater Modified)
1 DNF поддерживает различные расширения YUM поддерживает только расширения на базе Python
2 В DNF API хорошо документирован, поэтому легко создавать новые функции В YUM очень сложно создавать новые функции, поскольку API не документирован должным образом
3 DNF использует меньше памяти при синхронизации метаданных хранилищ YUM использует избыточную память при синхронизации метаданных репозиториев
4 dnf update и dnf upgrade равнозначны но в yum все по-другому
5 Зависимости от установки пакета не обновляются в DNF Компания Yum предложила вариант такого поведения
6 Пакеты ядра не защищены dnf с помощью Yum можно удалить все пакеты ядра, включая тот, который запускается
7 При удалении пакета dnf автоматически удаляет все зависимые пакеты, не установленные пользователем в явном виде YUM этого не делал
8 Если включенный репозиторий не отвечает, dnf пропустит его и продолжит операцию с доступными репозиториями Если репозиторий недоступен, YUM немедленно прекращает работу
9 Все показатели хороши с точки зрения использования памяти и разрешения зависимостей метаданных хранилища в DNF В yum Общая производительность низкая по многим показателям
10 По умолчанию через десять минут после загрузки системы обновления сконфигурированных репозиториев проверяются программой dnf ежечасно.
Этим действием управляет блок системного таймера с именем “/usr/lib/systemd/system/dnf-makecache.timer”
Тоже касаемо yum

Примеры команд менеджера пакетов DNF и Yum

Начнем с одной из первых задач, которую многие выполняют после установки нового дистрибутива Linux, – загрузки обновлений системы.

Загрузка обновлений системы

Чтобы установить обновления системы с помощью DNF, выполните следующую команду:

sudo dnf update -y или sudo dnf upgrade -y

Чтобы установить обновления системы с помощью YUM, выполните следующую команду:

sudo yum update -y

sudo предоставляет вам административный доступ к системе.

Без него команда не выполнится с сообщением об ошибке из-за отсутствия прав.

Команда update загружает метаданные о пакетах из доступных источников программного обеспечения, чтобы компьютер знал, какие версии запрашивать.

Поиск пакета

На данном этапе, если вы хотите найти программу с именем “package”, просто введите:

sudo dnf search package
sudo yum search package
Установка программного обеспечения

Как и при выполнении поиска, команда установки программы с помощью YUM или DNF аналогична.

sudo dnf install package или sudo yum install package

Одним из преимуществ DNF и Yum является возможность установки RPM, загруженных вручную из Интернета.

Для этого используется та же команда install, но вместо имени пакета указывается полный путь к RPM.

sudo dnf install /path/to/package.rpm или sudo yum install /path/to/package.rpm
Деинсталляция программ

Чтобы удалить программу с помощью DNF, выполните команду:

sudo dnf remove package

Для автоматического удаления ненужных зависимостей используйте:

sudo dnf autoremove

Кроме того, его можно использовать для приготовления YUM.

Наиболее распространенные полезные команды DNF и Yum

Команды Yum и DNF Пояснения
1 dnf install package-name
или
yum install package-name
Установка программного пакета
2 dnf upgrade package-name
или
yum upgrade package-name
Обновление или модернизация программного пакета
3 dnf search package-name
или
yum search package-name
Он ищет нужный пакет в репозитарии пакетов
4 dnf remove package-name
или
yum remove package-name
Удаление нужного пакета
5 dnf info package-name
или
yum info package-name
Он предоставляет информацию о желаемом пакете
6 dnf list installed
или
yum list | less
Он выдает список установленных пакетов

Заключение

В этой статье мы попытались объяснить различия между YUM и DNF.

И почему лучше использовать DNF вместо YUM.

Кроме того, вы узнаете о наиболее полезных командах из них.

unixforum.org

разумеется, Vascom, и процессор слабый и железо в целом слабое и дряхлое, кто бы сомневался.

Собственная рецептура «убыстрения» федорки на домашнем компе:

sudo systemctl disable avahi-daemon.service sudo systemctl disable abrt-oops.service sudo systemctl disable abrt-xorg.service sudo systemctl disable abrtd.service sudo systemctl disable ModemManager.service sudo systemctl disable cups.service sudo systemctl disable rpcbind.socket

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

Несмотря на всевозможные возражения, стоны и маты, очень рекомендую даже вот так:

sudo dnf remove *abrt*

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

Спасибо сказали:
Vascom Сообщения: 1699 ОС: Fedora 32

Re: Как уменьшить время загрузки системы?

Сообщение Vascom » 18.03.2017 06:44

Да за что же ты меня так не возлюбил? Я у тебя жену увёл?
Прямо спросить про процессор у топик стартера нельзя.

Тем более из первого сообщения явно видно, что тормозит именно шифрование, а не abrt.

Спасибо сказали:
aleksejsmir Сообщения: 155 Контактная информация:

Re: Как уменьшить время загрузки системы?

Сообщение aleksejsmir » 18.03.2017 12:19

18.03.2017 06:44
Тем более из первого сообщения явно видно, что тормозит именно шифрование, а не abrt.

Что «тем более»? и данное обстоятельство — «тормозит шифрование» — косвенно указывает на слабое железо?

Да шучу я, расслабься. Там же смайлик. К тому ж сложно предположить что столь завзятый линуксмен способен хоть у кого- то увести жену; жены у вас — ваша работа и любимая операционная система. Как сказал мне однажды твой коллега в порыве откровенности: «да я же ее люблю, Федору!» — век эту фразу не забуду, долго ржал.

Скорее тогда уж состояние жесткого диска проверить, smartctl. нередко работаю и с криптованными LVM/LUKS разделами, и с eCryptFS, причем далеко не на самом космическом железе — не прослеживается здесь ни малейшей корреляции, уверяю тебя.

Спасибо сказали:
fedoraponynewfag Сообщения: 12 ОС: Fedora

Re: Как уменьшить время загрузки системы?

При загрузке с live-cd, правда другое окружение и нет LUKS.

[liveuser@localhost-live ~]$ systemd-analyze blame 2.781s firewalld.service 2.585s dev-mapper-live\x2drw.device 2.471s systemd-udev-settle.service 2.267s livesys.service 1.477s accounts-daemon.service 982ms ModemManager.service 755ms systemd-logind.service 747ms gssproxy.service 645ms avahi-daemon.service 630ms proc-fs-nfsd.mount 612ms systemd-vconsole-setup.service 610ms lvm2-monitor.service 511ms systemd-tmpfiles-setup-dev.service 459ms rsyslog.service 448ms udisks2.service 431ms abrtd.service 428ms polkit.service 368ms upower.service 356ms fedora-readonly.service 285ms NetworkManager.service 282ms systemd-journald.service 278ms plymouth-start.service 272ms auditd.service

Что у меня есть сейчас.

$ systemd-analyze blame 10.462s firewalld.service 9.612s systemd-cryptsetup@luks\ 7.595s lvm2-monitor.service 6.690s systemd-udev-settle.service 6.487s dev-mapper-fedora\x2droot.device 5.435s abrtd.service 4.990s accounts-daemon.service 3.404s iio-sensor-proxy.service 3.256s systemd-journald.service 2.864s chronyd.service 2.848s systemd-journal-flush.service 2.724s lm_sensors.service 2.610s ModemManager.service 2.581s lvm2-pvscan@253:0.service 2.225s proc-fs-nfsd.mount 2.119s polkit.service 1.950s rsyslog.service 1.945s gssproxy.service 1.350s geoclue.service 1.295s systemd-tmpfiles-setup-dev.service 1.270s systemd-logind.service 1.266s fedora-readonly.service 1.219s abrt-ccpp.service

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *