В проекте Fedora есть объявлено , что менеджер пакетов «yum» будет заменен на «Dandified Yum» (dnf). Работа над менеджером пакетов dnf началась еще в январе 2012 года, когда он был ответвлен от yum. Он был доступен для экспериментального использования в Fedora 18, и сейчас ведется работа над тем, чтобы сделать его менеджером пакетов по умолчанию для Fedora 22.
Многие дистрибутивы Linux (например, Red Hat Enterprise Linux, CentOS и Fedora Core) используют формат Red Hat Package Manager (RPM) для распространения программных файлов, документации и других ресурсов приложений. Это похоже на сжатый архив, который может выполнять сценарии до и после установки, а также может указывать различные биты метаданных, включая список пакетов, которые необходимо предварительно установить.
Пакеты RPM не будут установлены, пока не будут установлены все необходимые пакеты. Чтобы устранить эти зависимости, Fedora и другие дистрибутивы, используйте Yellowdog Updater (Modified) или «yum» для автоматического выполнения анализа зависимостей и установки необходимых пакетов, а также любых пакетов, на которые они, в свою очередь, полагаются. yum также может автоматически выполнять обновления системы, включая необходимый анализ зависимостей, а также удалять пакеты.
Являясь ответвлением yum, dnf является менеджером репозитория, но он использует libsolv для решения зависимостей и библиотеку hawkey для предоставления упрощенных API-интерфейсов C и Python. Чтобы установить «dnf» в Fedora (версии 18 или новее), выполните от имени пользователя root следующую команду:
sudo yum install dnf
dnf работает очень похоже на yum (намеренно). Чтобы установить пакет типа «nano», вы должны использовать (от имени пользователя root):
dnf install nano
Для поиска пакета используйте подкоманду «поиск»:
dnf search nano
Чтобы обновить все установленные на данный момент пакеты до последней доступной версии, используйте:
dnf upgrade
Стоит отметить, что в dnf вызов «dnf update
» аналогичен команде «dnf upgrade
». Это немного отличается от yum, где «yum upgrade
» было псевдонимом «yum --obsoletes update
».
Чтобы удалить пакет из вашей системы, используйте подкоманду «remove» в dnf:
dnf remove nano
Во время процессов установки и удаления будут созданы временные файлы. Чтобы убедиться, что эти файлы будут удалены, когда они больше не нужны, используйте подкоманду «clean»:
dnf clean all
Команда «clean all
» заставит dnf удалить файлы кэша, созданные на основе метаданных репозитория, удалить локальные файлы cookie, удалить любые метаданные репозитория кэша и все кэшированные пакеты из системы. Если вы хотите удалить только один тип временных файлов, а не все, используйте «dbcache
», «expire-cache
», «24». s>» или «packages
» вместо «все».
Например, чтобы удалить кэшированные пакеты из системы, используйте:
dnf clean packages
Если вам нужно узнать, откуда взялся определенный файл, вы можете использовать подкоманду «предоставляет»:
dnf provides /usr/bin/less
Вывод показывает, что двоичный файл «less», найденный в «/usr/bin», взят из соответствующего пакета «less».
Чтобы узнать дополнительную информацию о пакете, в dnf есть подкоманда «info», которая отображает описание и некоторую сводную информацию о запрошенном пакете. Например, чтобы узнать больше о пакете «less», используйте:
dnf info less
Fedora 22, скорее всего, выйдет где-то в середине 2015 года. А пока можете смело ознакомиться с командой dnf. Если у вас возникли проблемы с каким-либо из приведенных выше примеров, воспользуйтесь разделом комментариев ниже, и мы посмотрим, сможем ли мы вам помочь.