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

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

Пакетные менеджеры

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

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

 

 

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:

# yum install epel-release

 

Или же:

# yum install epel-release -y

 

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

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

# yum install dnf

 

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

 

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

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

# dnf --version

 

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

 

 

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

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

# dnf repolist

 

 

 

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

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

# dnf repolist all

 

List All Enabled/Disabled Repositories - 27 команд DNF (форк команды Yum) для управления пакетами RPM в Linux

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

 

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

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

# dnf list

 

List-All-Packages-using-DNF

 

 

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

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

# dnf list installed

 

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

 

 

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

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

# dnf list available

 

List-Available-Packages-using-DNF

 

 

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

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

# dnf search nano

 

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

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

 

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

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

# dnf provides /bin/bash

 

Find File Sub Package

 

 

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

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

# dnf info nano

 

Check Package Information with DNF

 

 

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

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

# dnf install nano

 

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

 

 

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

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

# dnf update systemd

 

Update a Specific Package

 

 

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

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

# dnf check-update

 

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

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

 

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

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

# dnf update

 

Или же:

# dnf upgrade

 

Update System

 

 

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

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

# dnf remove nano

 

Или же:

# dnf erase nano

 

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

 

 

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

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

# dnf autoremove

 

Remove Orphan Packages

 

 

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

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

# dnf clean all

 

Remove DNF Cache

 

 

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

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

# dnf help clean

 

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

 

 

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

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

# dnf help

 

Get Help on DNF Options

 

 

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

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

# dnf history

 

Check DNF History

 

 

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

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

# dnf grouplist

 

List All Group Packages

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

 

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

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

# dnf groupinstall 'Educational Software'

 

Install Group Packages

 

 

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

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

# dnf groupupdate 'Educational Software'

 

Update Group Package

 

 

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

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

# dnf groupremove 'Educational Software'

 

Remove Group Package

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

 

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

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

# dnf --enablerepo=epel install phpmyadmin

 

Install Package From Specific Repo

 

 

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

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

# dnf distro-sync

 

Synchronize Packages to Stable Version

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

 

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

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

# dnf reinstall nano

 

ReInstall Package

 

 

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

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

# dnf downgrade acpid

 

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

Using metadata from Wed May 20 12:44:59 2015
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.

 

Важное наблюдение: DNF не откатил версию пакета, как это должно было быть. Также сообщается об ошибке.

 

 

Итоги

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, подайте заявку или получите бесплатную консультацию.
Пакетные менеджеры

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

Linuxbrew-–-The-Homebrew-Package-Manager-for-Linux

Linuxbrew — диспетчер пакетов Homebrew для Linux

650
0
Linuxbrew — это клон homebrew, менеджер пакетов MacOS, для Linux, который позволяет пользователям устанавливать программное обеспечение в свой домашний каталог. Он…
How-to-Manage-Snaps-in-Linux-–-Part-2

Как управлять Snaps в Linux — часть 2

520
0
Это вторая статья в серии статей о Snaps в Linux. В ней рассказывается, как запускать снапшоты из интерфейса командной строки,…

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

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

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

Самое читаемое
Меню