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 с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

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

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

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

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

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