26 примеров команд DNF в Fedora / CentOS / RHEL

26 примеров команд DNF в Fedora / CentOS / RHEL

 

DNF или Dandified YUM — это форк пакетного менеджера YUM. Он был представлен в Fedora 18 и Fedora 22. Теперь он стал менеджером пакетов по умолчанию для обработки пакетов RPM в CentOS 8, RHEL 8 и Fedora.

DNF решает все проблемы, связанные с yum, такие как низкая производительность, высокое использование памяти, медленное разрешение зависимостей. DNF можно назвать следующей основной версией диспетчера пакетов YUM. На данный момент наиболее стабильной версией DNF является версия 2.6.3.

В этом руководстве мы обсудим команды DNF, используемые для управления пакетами. Эта статья послужит шпаргалкой по DNF. Итак, начнем …..

Команда DNF

Синтаксис использования команды DNF очень похож на использование YUM, поэтому вы найдете много общего между этими двумя командами.

Пример: 1) Список включенных репозиториев

Чтобы вывести список всех включенных репозиториев в системе, запустите

[ ~]$ sudo dnf repolist
[sudo] password for infoit:
repo id           repo name                                        status
*epel             Extra Packages for Enterprise Linux 7 - x86_64   11,989
*fedora           Fedora 26 - x86_64                               53,912
*updates           Fedora 26 - x86_64 - Updates                    9,405
virtualbox         Fedora 26 - x86_64 - VirtualBox                 10
[ ~]$

Пример: 2) Список всех репозиториев (как включенных, так и отключенных)

Если нам нужно увидеть все репозитории, которые включены или отключены, нам нужно запустить следующие

[ ~]$ sudo dnf repolist all

26 примеров команд DNF в Fedora

Пример: 3) Установка пакета

Как и yum, мы используем параметр install , за которым следует имя пакета с dnf для установки. Предположим, мы хотим установить пакет веб-сервера (httpd)

[ ~]$ sudo dnf install httpd

26 примеров команд DNF в Fedora

Пример: 4) Удаление пакета

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

[ ~]$ sudo dnf remove httpd
or
[ ~]$ sudo dnf erase httpd

Вывод приведенной выше команды будет примерно таким:

26 примеров команд DNF в Fedora

Пример: 5) Обновить пакет

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

Синтаксис: dnf update {pkg-name}

[ ~]$ sudo dnf update filezilla

Пример: 6) Проверить наличие полного обновления системы

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

[ ~]$ sudo dnf check-update

26 примеров команд DNF в Fedora

Пример: 7) Обновите все системные пакеты.

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

[ ~]$ sudo dnf upgrade

26 примеров команд DNF в Fedora

Пример: 8) Список всех групповых пакетов

Используйте следующее, чтобы перечислить все групповые пакеты

[ ~]$ sudo dnf grouplist
Last metadata expiration check: 1:40:19 ago on Tue 10 Oct 2017 10:08:39 AM IST.
Available Environment Groups:
   Fedora Custom Operating System
   Minimal Install
   Fedora Server Edition
   Fedora Workstation
   Fedora Cloud Server
   KDE Plasma Workspaces
   Xfce Desktop
   LXDE Desktop
   Hawaii Desktop
   LXQt Desktop
   Cinnamon Desktop
   MATE Desktop
   Sugar Desktop Environment
   Development and Creative Workstation
   Web Server
   Infrastructure Server
   Basic Desktop
Installed Groups:
   LibreOffice
Available Groups:
   3D Printing
   Administration Tools
   Ansible node
   Audio Production
…………………

Пример: 9) Установка групповых пакетов

Подобные пакеты сгруппированы вместе и могут быть установлены одной командой, а не отдельными командами. Чтобы установить группу, запустите

[ ~]$ sudo dnf groupinstall "Development Tools"

26 примеров команд DNF в Fedora

Пример: 10) Удаление групповых пакетов

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

Синтаксис:  dnf groupremove ‘имя_группы’

[ ~]$ sudo dnf groupremove "Development Tools"

Мы также можем использовать groupupdate для обновления групповых пакетов.

Пример: 11) Поиск пакетов

Чтобы найти конкретный пакет в репозиториях, выполните

Синтаксис: dnf search {package_name}

Предположим, я хочу найти пакет net-tools

[ ~]$ sudo dnf search net-tools
=========== Name Exactly Matched: net-tools =========
net-tools.x86_64 : Basic networking tools
[ ~]$

Пример: 12) Загрузить (не устанавливать) пакет

Могут быть сценарии, в которых нам нужно загрузить пакеты, но мы не хотим их устанавливать. Используйте следующую команду для загрузки пакета, такого как samba

Синтаксис: dnf download имя_пакета

[ ~]$ sudo dnf download samba
samba-4.6.8-0.fc26.x86_64.rpm          139 kB/s | 636 kB     00:04
[ ~]$

Пример: 13) Показать все доступные пакеты

Чтобы получить список всех доступных пакетов из репозиториев, откройте терминал и запустите под командой dnf

[ ~]$ dnf list available | more

26 примеров команд DNF в Fedora

Пример: 14) Показать только установленные пакеты

Теперь, если нам нужен только список установленных пакетов в системе, мы можем получить его, выполнив следующую команду:

[ ~]$ dnf list installed

26 примеров команд DNF в Fedora

Пример: 15) Показать все установленные и доступные пакеты

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

[ ~]$ dnf list

26 примеров команд DNF в Fedora

Пример: 16) Включить репо для установки

Чтобы использовать конкретный репозиторий для установки пакета, запустите

[ ~]$ sudo dnf install --enablerepo=epel mysql
Extra Packages for Enterprise Linux 7 - x86_64     3.9 MB/s |  13 MB  00:03
Dependencies resolved.
================================================================================
 Package                 Arch       Version           Repository        Size
=================================================================================
Installing:
 mariadb                 x86_64      3:10.1.26-2.fc26    updates         6.4 M
Installing dependencies:
 mariadb-common          x86_64      3:10.1.26-2.fc26    updates         100 k
 mariadb-config          x86_64      3:10.1.26-2.fc26    updates         33 k
 mariadb-libs            x86_64      3:10.1.26-2.fc26    updates         663 k
Transaction Summary
=================================================================================
Total download size: 7.2 M
Installed size: 44 M
Is this ok [y/N]: y

Пример: 17) Проверьте, какой пакет предоставляет требуемую функцию.

Если мы хотим знать, какой пакет отвечает за получение определенной функциональности, например, нам нужно знать имя пакета, связанного с ‘crontab’ или с какой-либо другой командой, то мы можем использовать опцию dnf command ‘ provides ‘ следующим образом ,

[ ~]$ sudo dnf provides crontab
cronie-1.5.1-5.fc26.x86_64 : Cron daemon for executing programs at set times
Repo        : @System
cronie-1.5.1-5.fc26.x86_64 : Cron daemon for executing programs at set times
Repo        : fedora
[ ~]$

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

[]$ sudo dnf provides /var/www/html

Пример: 18) Просмотр информации о пакете

Чтобы получить подробную информацию о конкретном пакете, выполните

[~]$ dnf info cronie
Installed Packages
Name         : cronie
Version      : 1.5.1
Release      : 5.fc26
Arch         : x86_64
Size         : 236 k
Source       : cronie-1.5.1-5.fc26.src.rpm
Repo         : @System
From repo    : anaconda
Summary      : Cron daemon for executing programs at set times
URL          : https://fedorahosted.org/cronie
License      : MIT and BSD and ISC and GPLv2+
Description  : Cronie contains the standard UNIX daemon crond that runs /
specified programs at
             : scheduled times and related tools. It is a fork of the / 
original vixie-cron and
             : has security and configuration enhancements like the /
ability to use pam and
             : SELinux.
[ ~]$

Пример: 19) Создание кеша

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

[ ~]$ sudo time dnf makecache
Last metadata expiration check: 0:04:41 ago on Thu 12 Oct 2017 09:53:00 AM IST.
Metadata cache created.
0.86user 0.12system 0:01.04elapsed 95%CPU (0avgtext+0avgdata 106872maxresident)k
0inputs+1192outputs (0major+39606minor)pagefaults 0swaps
[~]$

Пример: 20) Удалить кеш

Чтобы удалить все кэшированные данные dnf, выполните следующие команды

[~]$ sudo dnf clean all
34 files removed
[~]$

Пример: 21) Проверить историю транзакций

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

[~]$ sudo dnf history

26 примеров команд DNF в Fedora

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

[~]$ sudo dnf history info 5

26 примеров команд DNF в Fedora

Журналы, связанные с установкой, удалением или обновлениями, хранятся в файле журнала /var/log/dnf.log. Используя команду dnf history, мы также можем откатить обновления системы.

Пример: 22) Удаление сиротских пакетов

Сиротские пакеты — это те пакеты, которые когда-то были установлены для удовлетворения зависимости для какого-то другого пакета, но теперь не требуются. Чтобы удалить такие пакеты, запустите

[ ~]$ sudo dnf autoremove

26 примеров команд DNF в Fedora

Пример: 23) Синхронизируйте все пакеты с последними стабильными выпусками

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

[ ~]$ sudo dnf distro-sync

26 примеров команд DNF в Fedora

Если нам нужно синхронизировать только один пакет, укажите это package_name в конце, иначе все пакеты будут синхронизированы.

Пример: 24) Переустановите пакет

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

[~]$ sudo dnf reinstall postfix
Dependencies resolved.
===========================================================================
 Package         Arch        Version            Repository      Size
===========================================================================
Reinstalling:
 postfix         x86_64       2:3.2.2-1.fc26    fedora           1.4 M
Transaction Summary
===========================================================================
Total download size: 1.4 M
Is this ok [y/N]: y

Пример: 25) Обновление до определенной версии

С DNF также возможно обновить пакет rpm до определенной версии, для этого выполните следующую команду:

[ ~]$ sudo dnf upgrade-to httpd-2.4.27-3.fc26

Пример: 26) Получить список всех команд и опций DNF

Чтобы получить список всех доступных опций, которые можно использовать с DNF, запустите

[ ~]$ dnf help

26 примеров команд DNF в Fedora

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