DNF — Новый менеджер зависимостей.

Установка, настройка, эксплуатация.

Модератор: ROOT

DNF — Новый менеджер зависимостей.

Сообщение ROOT » 19 ноя 2018, 18:20

Оглавление


Темы
 Добавление репозиториев 
 Удаление репозитория 
 Дополнительные инструменты и плагины DNF 
 Краткий справочник по командам DNF 
 Обновление GPG-ключей для репозитория 
Дополнительные материалы
YUM — Старый менеджер зависимостей
RPM — Package Manager


DNF — это новый менеджер зависимостей программного обеспечения, зародившийся как форк Yum 3.4, призванный стать «Yum следующего поколения» и использующий Hawkey/libsolv в качестве бренда.

 Добавление репозиториев 
В рамках проекта Russian Fedora ведётся репозиторий, который подразделяется на три части:
  • branding – пакеты, уже существующие в Fedora Everything, которые нужны для смены бренда c Fedora на RFRemix. Так как мы используем пакеты из различных сторонних репозиториев, то смена бренда является необходимым требованием;
  • fixes – пакеты, уже существующие в Fedora Everything. В данном репозитории содержатся либо более новые версии пакетов, либо исправления ошибок;
  • free – пакеты со свободными лицензиями, которых нет в Fedora Everything;
  • nonfree – пакеты с несвободными лицензиями, а также пакеты зависящие от других пакетов с несвободными лицензиями или находящихся в nonfree ветке RPM Fusion (например, faac).
Внимание!
  • Обновление из репозитория Fixes меняет начертание шрифтов и исправляет некоторые проблемы, например, отображение кириллицы в некоторых музыкальных проигрывателях.
  • Обновление из репозитория Branding превращает Fedora в RFRemix.
Если вы не хотите этого делать, то не следует подключать эти репозитории

Структура репозитория идентична RPM Fusion. Также для многих программ потребуется подключить репозиторий RPM Fusion).

Для подключения репозитория необходимо выполнить следующие команды:
Подключение Free и Nonfree
Код: выделить все
dnf install --nogpgcheck http://mirror.yandex.ru/fedora/russianfedora/russianfedora/free/fedora/russianfedora-free-release-stable.noarch.rpm http://mirror.yandex.ru/fedora/russianfedora/russianfedora/nonfree/fedora/russianfedora-nonfree-release-stable.noarch.rpm

Подключение Fixes
Код: выделить все
dnf install --nogpgcheck http://mirror.yandex.ru/fedora/russianfedora/russianfedora/fixes/fedora/russianfedora-fixes-release-stable.noarch.rpm

Подключение Branding
Код: выделить все
dnf install --nogpgcheck http://mirror.yandex.ru/fedora/russianfedora/russianfedora/branding/fedora/russianfedora-branding-release-stable.noarch.rpm
Лучше ужасный конец, чем ужас без конца!


Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Аватар пользователя
ROOT
Администратор
 
Сообщений: 423
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Сообщение ROOT » 09 апр 2022, 13:37



 Удаление репозитория??? 
Удаляем ключ ненужного репозитория (например remi)
Код: выделить все
rm -f /etc/pki/rpm-gpg/RPM-GPG-KEY-remi

переходим в каталог в конфигурационными файлами репозиториев
Код: выделить все
cd /etc/yum.repos.d/

Находим всё что связано с ненужным нам репозиторием remi
Удаляем конфигурацию ненужного репозитория
Код: выделить все
rm remi*

Чистим КЭШ
Код: выделить все
dnf clean all

создаём КЭШ заново
Код: выделить все
dnf makecache
Лучше ужасный конец, чем ужас без конца!


Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Аватар пользователя
ROOT
Администратор
 
Сообщений: 423
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Сообщение ROOT » 09 апр 2022, 13:38



 Дополнительные инструменты и плагины DNF 
dnf-utils – это набор инструментов для работы с репозиториями и RPM-пакетами. Установка:
Код: выделить все
dnf install dnf-utils

  • dnf-plugin-ovl.noarch : DNF plugin to work around overlayfs issues
  • dnf-plugins-core.noarch : Core Plugins for DNF
  • dnf-plugin-spacewalk.noarch : DNF plugin for Spacewalk
  • python3-dnf-plugins-core.noarch : Core Plugins for DNF
  • python3-dnf-plugin-local.noarch : Local Plugin for DNF
  • python3-dnf-plugin-leaves.noarch : Leaves Plugin for DNF
  • python3-dnf-plugin-tracer.noarch : Tracer Plugin for DNF
  • python3-dnf-plugin-rpmconf.noarch : RpmConf Plugin for DNF
  • python3-dnf-plugin-snapper.noarch : Snapper Plugin for DNF
  • python3-dnf-plugin-torproxy.noarch : Tor Proxy Plugin for DNF
  • python3-dnf-plugin-kickstart.noarch : Kickstart Plugin for DNF
  • python3-dnf-plugin-show-leaves.noarch : Show-leaves Plugin for DNF
  • python3-dnf-plugin-versionlock.noarch : Version Lock Plugin for DNF
  • dnf-plugin-subscription-manager.x86_64 : Subscription Manager plugins for DNF
  • python3-dnf-plugin-system-upgrade.noarch : System Upgrade Plugin for DNF
  • python3-dnf-plugins-extras-common.noarch : Common files for Extras Plugins for
Лучше ужасный конец, чем ужас без конца!


Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Аватар пользователя
ROOT
Администратор
 
Сообщений: 423
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Сообщение ROOT » 09 апр 2022, 13:38



 Краткий справочник по командам DNF 
Обновление пакетов
dnf check-updateкэширование списка доступных приложений на удаленных репозиториях
dnf updateобновить все пакеты до последней версий
dnf update packageобновить пакет package до последней версии
dnf groupupdate groupnameобновление приложений из группы groupname
Инсталляция пакетов
dnf install packageустановка пакета package
dnf groupinstall groupnameустановка приложений из группы groupname
dnf --releasever=32 install packageустановка пакета package от конкретного релиза
dnf reinstall packageпереустановка пакета package
Списки пакетов и файлов
dnf list updatesсписок пакетов для обновления
dnf list recentсписок пакетов, добавленные за последние 7 дней в любой из подключенных репозиториев
dnf list installedсписок установленных пакетов
dnf list packageсписок установленных в системе пакетов совпадающих с указанным
dnf list extrasсписок пакетов, установленных с неофициальных репозиториев RHN (Red Hat Network)
dnf repository-packages inttf-kernel listсписок всех пакетов в конкретном репозитории
dnf deplist packageсписок зависимостей для пакета package
dnf grouplistсписок групп приложений
dnf repoquery --qf "%{name}" --userinstalledВыводит список пакетов установленных пользователем (с зависимостями)
dnf repoquery --list wget.i386список файлов, установленных пакетом wget.i386 (для работы repoquery нужен пакет dnf-utils)
Удаление пакетов
dnf remove packageудаление пакета package
dnf groupremove groupnameудаление всех приложений, принадлежащих группе groupname
Вывод информации о пакетах
dnf groupinfo groupnameинформация о группе groupname
dnf info packageинформация о пакете package
Чистка кэша DNF
dnf clean dbcacheУдаляет файлы кэша, сгенерированные из метаданных репозитория. Это заставит DNF регенерировать файлы кэша в следующий раз, когда он запустится.
dnf clean expire-cacheПомечает метаданные репозитория как просроченные. DNF повторно проверит кеш для каждого репозитория при следующем использовании
dnf clean metadataУдаляет метаданные репозитория. Это файлы, которые DNF использует для определения удаленной доступности пакетов. Использование этой опции заставит DNF загрузить все метаданные при следующем запуске
dnf clean packagesУдаляет все кэшированые пакеты из системы
dnf clean allДелает все вышеперечисленное.
Обновление системы
dnf system-upgrade rebootЗапуск процесса обновления системы
dnf system-upgrade cleanЧистка кэшированных метаданных и транзакции
Прочие команды
dnf search packageпоиск пакета package
dnf repolistсписок репозиториев
dnf --showduplicates list wgetУдобно находить дубликаты указанного пакета по репозиториям
dnf whatprovides `which file`определение пакета, которому принадлежит файл file

Рассмотрим на примере skype как отменить транзакцию. Сначала определяем номер транзакции, а затем отменяем её.
Код: выделить все
dnf history list all | grep skypeforlinux
dnf history undo 87

Возможные значения поля "Действия" из таблицы выводимой командой history
ДействиеСокращениеОписание
DowngradeDПо меньшей мере один пакет был понижен до более старой версии.
EraseEКак минимум один пакет удален.
InstallIКак минимум один пакет был установлен
ObsoletingOКак минимум один пакет был помечен как устаревший.
ReinstallRКак минимум один пакет был переустановлен.
UpdateUПо крайней мере, один пакет обновлен до новой версии.
Лучше ужасный конец, чем ужас без конца!


Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Аватар пользователя
ROOT
Администратор
 
Сообщений: 423
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Сообщение ROOT » 09 мар 2024, 08:52

 Обновление GPG-ключей для репозитория 
При обновлении программного обеспечения может возникнуть ситуация когда у вас в кэше RPM, используемом DNF, есть устаревший ключ, срок действия которого истек, и который имеет тот же идентификатор ключа и отпечаток пальца, что и новый ключ. Поэтому ваша система считает, что у нее уже есть запрошенный ключ, даже если срок действия его копии истек. Вот пример такой ситуации:
Код: выделить все
error: Verifying a signature using certificate D56311E5FF3B6F39D5A16ABE18DF3741CDFFDE29 (philandro Software GmbH <info@philandro.com>):
  1. Certificiate 18DF3741CDFFDE29 invalid: certificate is not alive
      because: The primary key is not live
      because: Expired on 2023-12-17T17:32:46Z
  2. Key 18DF3741CDFFDE29 invalid: key is not alive
      because: The primary key is not live
      because: Expired on 2023-12-17T17:32:46Z
error: Verifying a signature using certificate D56311E5FF3B6F39D5A16ABE18DF3741CDFFDE29 (philandro Software GmbH <info@philandro.com>):
  1. Certificiate 18DF3741CDFFDE29 invalid: certificate is not alive
      because: The primary key is not live
      because: Expired on 2023-12-17T17:32:46Z
  2. Key 18DF3741CDFFDE29 invalid: key is not alive
      because: The primary key is not live
      because: Expired on 2023-12-17T17:32:46Z
AnyDesk Fedora - stable                                                                 3.1 kB/s | 1.7 kB     00:00
GPG ключ https://keys.anydesk.com/repos/RPM-GPG-KEY (0xCDFFDE29) уже установлен
GPG ключи, перечисленные для репозитория «AnyDesk Fedora - stable», уже установлены, но они не являются правильными для этого пакета.
Проверьте, правильно ли настроены URL ключей для этого репозитория.. Сбойный пакет: anydesk-6.3.1-1.el7.x86_64
 Ключи GPG настроены как: https://keys.anydesk.com/repos/RPM-GPG-KEY
Ошибка: СБОЙ проверки GPG

В этом случае потребуются ряд действий для удаления просроченного ключа из кэше. Копируем последние восемь знаков проблемного ключа для облегчения поиска необходимого значения в списке идентификаторов GPG-ключей:
Код: выделить все
rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' | grep "CDFFDE29"
gpg-pubkey-cdffde29-5a38cbae    philandro Software GmbH <info@philandro.com> public key

После чего удаляем найденный GPG-ключ
Код: выделить все
rpm -e gpg-pubkey-cdffde29-5a38cbae

При повторной попытке обновить программное обеспечение будет предложено импортировать новый GPG-ключ.
Лучше ужасный конец, чем ужас без конца!


Для желающих поддержать
Карта SB: 5469 4009 6510 2267
Аватар пользователя
ROOT
Администратор
 
Сообщений: 423
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный


Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron