27 команд DNF (форк команды Yum) для управления пакетами RPM в Linux

27 команд DNF (форк команды Yum) для управления пакетами RPM в Linux

27 команд DNF (форк команды Yum) для управления пакетами RPM в Linux. DNF (Dandified YUM) — диспетчер пакетов следующего поколения в дистрибутивах на основе RPM. Впервые он был представлен в Fedora 18 и заменил утилиту YUM в выпуске Fedora 22.

 

DNF нацелен на устранение узких мест YUM, а именно:

  • проблем с производительностью,
  • проблем с использованием памяти,
  • проблем с разрешениями зависимостей,
  • проблем со скоростью работы и многими другими факторами.

 

DNF осуществляет управление пакетами, используя библиотеки RPM, libsolv и hawkey. Хотя он не входит в состав CentOS и RHEL 7, вы можете использовать как yum,так и dnf.

Последняя стабильная версия DNF4.2.11 (на момент написания статьи). Она (и все предыдущие версии DNF) в основном написаны на Python и выпущены под лицензией GPL v2.

 

Установка DNF

DNF недоступен в репозитории по умолчанию RHEL/CentOS 7. Однако Fedora 22 поставляется с DNF, предустановленным официально.

Чтобы установить DNF в системах RHEL/CentOS, вам необходимо сначала установить и включить репозиторий epel-release:

 

Или же:

 

Хотя использование ‘-y‘ с yum неэтично, так как рекомендуется смотреть, что устанавливается в вашей системе. Однако, если это для вас не столь важно, вы можете использовать «-y» с yum для автоматической установки всех зависимостей без вмешательства пользователя.

Затем установите пакет DNF с помощью команды yum из репозитория epel-release:

 

После успешной установки dnf пришло время показать вам «27 практических примеров использования команд dnf с примерами», которые помогут вам легко и эффективно управлять пакетами в дистрибутиве на основе RPM.

 

1. Проверка версии DNF

Проверьте версию DNF, установленную в вашей Системе:

 

dnf

 

 

2. Вывод списка включенных репозиториев DNF

Опция «repolist» с командой dnf отобразит все включенные репозитории в вашей системе:

 

 

 

3. Просмотр всех включенных и отключенных репозиториев DNF

Опция «repolist all» выведет все включенные/отключенные репозитории в вашей системе:

 

 

4. Вывод списка всех доступных и установленных пакетов, используя DNF

Команда «dnf list» выведет список всех доступных пакетов из всех репозиториев и установленных пакетов в вашей системе Linux:

 

 

5. Вывод списка всех установленных пакетов

В то время как команда «dnf list» показывает все доступные/установленные пакеты из всех репозиториев. Однако у вас есть возможность перечислить только установленные пакеты, используя опцию «list installed», как показано ниже:

 

 

6. Вывод списка всех доступных пакетов

Аналогичным образом, опция «list available» выводит список всех пакетов, доступных для установки из всех включенных репозиториев:

 

 

7. Поиск пакета с использованием DNF

Если вы не знаете, какой пакет вы хотите установить, в такой ситуации вы можете использовать опцию «search» вместе с командой dnf для поиска пакета, который соответствует слову или строке поиска (к примеру — nano):

 

 

8. Просмотр описание файл/субпакет, к какому пакету принадлежит файл, что он делает?

Опция dnf provides ищет имя пакета, к которому принадлежит определенный файл/подпакет. Например, если вы хотите найти к какому пакету принадлежит ‘/bin/bash‘ в вашей системе, выполните:

 

 

 

9. Просмотр деталей пакета

Предположим, что вы хотите узнать информацию о пакете до его установки в системе, вы можете использовать опцию «info» для получения подробной информации о пакете, как показано ниже:

 

 

 

10. Установка пакета с DNF

Чтобы установить пакет с именем nano, просто запустите приведенную ниже команду, она автоматически разрешит и установит все необходимые зависимости для пакета nano:

 

 

 

11. Обновление пакета с использованием DNF

Вы можете обновить только определенный пакет (скажем, systemd) и оставить все остальные пакеты в системе без изменений:

 

 

 

12. Проверка наличия обновлений системы с помощью DNF.

Проверьте обновления для всех системных пакетов, установленных в системе:

 

13. Обновление всех системных пакетов

Вы можете обновить всю систему, включая все установленные пакеты, с помощью следующих команд:

 

Или же:

 

 

 

14. Удаление пакета

Чтобы удалить любой нежелательный пакет (например, nano), вы можете использовать опцию «remove» или «erase» вместе с командой dnf:

 

Или же:

 

 

 

15. Удаление «осиротевших» пакетов

Те пакеты, которые были установлены исключительно для удовлетворения зависимостей, могут быть бесполезными, если они не используются другими приложениями. Чтобы удалить эти «осиротевшие» пакеты, выполните следующую команду:

 

 

16. Удаление кэшированных пакетов

Много раз мы сталкивались с устаревшими заголовками и незавершенными транзакциями, что приводит к ошибке при выполнении dnf. Мы можем очистить все кэшированные пакеты и заголовки, содержащие информацию об удаленных пакетах, просто выполнив:

 

 

17. Получение справки по определенной команде DNF

Вы можете получить помощь по любой конкретной команде dnf (скажем, clean), просто выполнив приведенную ниже команду:

 

 

18. Вывод всех команд и опции DNF

Чтобы получить справку по всем доступным командам и опциям dnf, просто введите:

 

 

19. Просмотр истории DNF

Вы можете вызвать dnf history, чтобы посмотреть список уже выполненных команд dnf. Таким образом, вы можете быть в курсе того, что было установлено/удалено и также узнать в какой именно промежуток времени это было выполнено:

 

 

20. Вывод всех групповых пакетов

Команда «dnf grouplist» выведет все доступные или установленные пакеты, если не упомянуто никаких опций, она выведет список всех известных групп:

 

21. Установка группы пакетов

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

 

 

22. Обновление групповых пакетов

Давайте обновим групповой пакет, выполнив приведенную ниже команду:

 

 

23. Удаление групповых пакетов

Мы можем удалить групповой пакет:

 

24. Установка пакетов из определенного репозитория

DNF позволяет установить любой конкретный пакет (скажем, phpmyadmin) из определённого репозитория (к примеру, epel) так же просто, как:

 

 

25. Синхронизация установленных пакетов со стабильной версией

Команда «dnf distro-sync» предоставит необходимые параметры для синхронизации всех установленных пакетов с самой последней стабильной версией, доступной из любого включенного репозитория. Если не выбран какой-то конкретный пакет, то синхронизируются все установленные пакеты:

 

26. Переустановка пакета

Команда «dnf reinstall nano» переустанавливает уже установленный пакет:

 

 

27. Откат версии пакета

Опция «downgrade» откатывает версию указанного пакета до предыдущей версии, если это возможно:

 

Пример вывода

 

 

Итоги

DNF является хорошим заменителем диспетчера пакетов YUM. Он имеет тенденцию выполнять большую часть обработки автоматически, что, как я полагаю, не приветствуется многими опытными системными администраторами Linux. В качестве примера:

  • —skip-broken не распознается DNF и альтернативы нет.
  • Нет ничего похожего на команду «resoldep», однако вы можете запустить dnf provides.
  • Не существует команды «deplist» для поиска зависимости пакета.
  • Вы исключаете репо, то есть исключение применяется ко всем операциям, в отличие от yum, которое исключает эти репо только во время установки, обновлений и т.д.

 

Некоторые пользователи Linux не довольны тем, как движется Linux Ecosystem. Сначала Systemd удалил init system v, и теперь DNF будет заменять YUM сначала в Fedora 22, а затем и в RHEL и CentOS.

 

Что вы думаете? Вся экосистема Linux не ценит своих пользователей и движется против их воли??

 

Это все на данный момент. Пожалуйста, дайте нам знать ваши мысли в комментариях ниже. \

 

 

Спасибо за уделенное время на прочтение статьи о 27 командах DNF (форк команды Yum) для управления пакетами RPM в Linux!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Больше похожих постов

1 комментарий. Оставить новый

  • Привет. Помоги пожалуйста. Есть в DNF команда которая позволяет перестроить битые пакеты? Вроде в APT это dpkg —configure -a, а в DNF не могу найти.
    Спс большое.

    Ответить

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню