Как установить dnf ubuntu
DNF — Утилита управления пакетами нового поколения для дистрибутивов на основе RPM
DNF была создана на замену утилиты управления пакетами «YUM» в дистрибутивах на основе Red Hat, а именно RHEL, CentOS и Fedora и т. д., то есть всех тех, которые используют менеджер пакетов RPM.
YUM (сокращение от Yellowdog Updater, Modified) — это бесплатная утилита с открытым исходным кодом на основе командной строки, выпущенная под лицензией GNU General Public License и в основном написанная на языке программирования Python. YUM был разработан для управления и обновления RedHat Linux в Университете Дьюка, позже он получил широкое признание и стал менеджером пакетов RedHat Enterprise Linux, Fedora, CentOS и других дистрибутивов Linux на основе RPM. Его часто называют «Your Package Manager» («вашим менеджером пакетов»), что неофициально часто используют профессионалы Linux.
Идея заменить Yum на DNF
Алеш Козумплик, разработчик проекта DNF, является сотрудником RedHat. Он говорит:
«Впервые в 2009 году, работая над «Anaconda» — установщиком системы, он получил представление о работе с Linux. Он хотел работать над совершенно другим проектом, который позволил бы ему изучить инструмент для работы с пакетами в Fedora».
Недостатки Yum, которые привели к основанию DNF:
Алеш Козумплик говорит, что у него нет другого выбора, кроме как разветвить YUM и разработать DNF. Сопровождающий пакета YUM не был готов реализовать эти изменения. YUM имеет около 59000 LOC, тогда как DNF имеет 29000 LOC (строк кода).
DNF впервые показала своё присутствие в Fedora 18. Fedora 20 была первым дистрибутивом Linux, который предлагал пользователям использовать функциональность DNF вместо YUM.
Расположение файла конфигурации dnf по умолчанию: /etc/dnf/dnf.conf.
1. Как проверить версию DNF
Чтобы проверить версию DNF, установленную в вашей системе, выполните команду:
2. Список включённых репозиториев DNF
Параметр «repolist» с помощью команды dnf отобразит все включённые репозитории в вашей системе.
3. Как вывести все включённые и отключённые репозитории DNF
Параметр «repolist all» распечатает все включённые и отключённые репозитории в вашей системе.
4. Как вывести все доступные и установленные пакеты с помощью DNF
Команда «dnf list» выведет список всех доступных пакетов из всех репозиториев и установленных пакетов в вашей системе Linux.
5. Как узнать все установленные пакеты с помощью DNF
А команда «dnf list» показывает все доступные/установленные пакеты из всех репозиториев. Однако у вас есть возможность вывести список только установленных пакетов с помощью опции «list installed», как показано ниже.
6. Как узнать все доступные пакеты с помощью DNF
Точно так же опция «list available» отобразит все пакеты, доступные для установки из всех включённых репозиториев.
7. Как найти пакет с помощью DNF
Если вы не знаете точное имя пакета, который вы хотите установить, в такой ситуации вы можете использовать опцию «search» с командой dnf для поиска пакета, который соответствует слову или строке (скажем, nano).
8. Как узнать, какому пакету принадлежит файл?
Параметр dnf «provides» находит имя пакета, который содержит конкретный файл или подпакет. Например, если вы хотите узнать, какой пакет в вашей системе создал файл /bin/bash:
9. Как получить подробную информацию о пакете с помощью DNF
Предположим, вы хотите узнать информацию о пакете перед его установкой в систему. Вы можете использовать переключатель «info», чтобы получить подробную информацию о пакете (например, nano), как показано ниже.
10. Как установить пакет с DNF
Чтобы установить пакет, просто запустите приведённую ниже команду, она автоматически разрешит и установит все необходимые зависимости для указанного пакета:
11. Как обновить пакет с помощью DNF
Вы можете обновить только определённый пакет (например, systemd) и оставить всё остальное в системе нетронутым.
12. Как проверить наличие обновлений системы с помощью DNF
Чтобы проверить обновления для всех пакетов программ, установленных в системе, выполните следующую команду
13. Как обновить все системные пакеты программ с помощью DNF
Вы можете обновить всю систему, включая все установленные пакеты, с помощью следующих команд.
14. Как удалить пакет с помощью DNF
Чтобы удалить или стереть любой нежелательный пакет (например, nano), вы можете использовать переключатель «remove» или «erase» с командой dnf, примеры команд:
15. Как удалить ненужные пакеты с помощью DNF
Те пакеты, которые были установлены для удовлетворения зависимости, могут оказаться бесполезными, если не будут использоваться другими приложениями. Чтобы удалить эти сиротские пакеты, выполните следующую команду.
16. Как удалить кэшированные пакеты с помощью DNF
Часто мы сталкиваемся с устаревшими заголовками и незавершёнными транзакциями, что приводит к ошибке при выполнении dnf. Мы можем очистить все кэшированные пакеты и заголовки, содержащие информацию об удалённых пакетах, просто выполнив:
17. Как получить справку по конкретной команде DNF
Вы можете получить помощь по любой конкретной команде dnf (скажем, clean), просто выполнив приведённую ниже команду.
18. Как узнать все команды и параметры DNF
Чтобы вывести справку по всем доступным командам и параметрам dnf, просто введите:
19. Как посмотреть историю команд DNF
Вы можете вызвать историю dnf, чтобы просмотреть список уже выполненных команд dnf. Следующей командой вы можете узнать, что было установлено/удалено, для каждого действия будет присутствовать отметка времени.
20. Как вывести все групповые пакеты
Команда «dnf grouplist» распечатает все доступные или установленные пакеты, если ничего не упомянуто (не названа имя группы), отобразятся все известные группы.
21. Как установить групповой пакет с помощью DNF
Чтобы установить группу пакетов, объединённых вместе в виде группового пакета (скажем, Сетевые серверы), выполните следующую команду:
22. Обновление группового пакета
Давайте обновим групповой пакет (скажем, Сетевые серверы), выполнив следующую команду.
23. Удаление группового пакета
Мы можем удалить групповой пакет (скажем, Сетевые серверы) следующим образом:
24. Как установить пакет из определённого репозитория
DNF позволяет установить любой конкретный пакет (скажем, phpmyadmin) из репозитория (epel) для этого достаточно выполнить следующую команду:
25. Синхронизация установленных пакетов со стабильной версией
Команда «dnf distro-syncc» предоставит необходимые параметры для синхронизации всех установленных пакетов с самой последней стабильной версией, доступной из любого включённого репозитория. Если пакет не выбран, все установленные пакеты синхронизируются.
26. Как переустановить пакет
Команда «dnf переустановить nano» переустановит уже установленный пакет (скажем, nano).
27. Понижение версии пакета
Параметр «downgrade» понижает версию указанного пакета (скажем, acpid) до более низкой версии, если это возможно.
DATAENGINER
Добрый день, дорогие читатели моего блога! В современном мире менеджер пакетов DNF получает все большее распространение, и как вам наверное известно уже, менеджер DNF внедрен в последнюю 8 версию CentOS/RHEL, а это значит, что теперь работая системным администратором вы будете сталкиваться с данным менеджером пакетов все чаще. Поэтому давайте рассмотрим основные команды менеджера DNF.
Установка пакетов
Для установки в DNF мы используем опцию ‘install’, за которой следует имя пакета.
$ sudo dnf install package
Удаление пакета
Чтобы удалить пакет, мы можем использовать опцию « delete » или « erase»,
$ sudo dnf delete package
$ sudo dnf erase package
Обновление Пакета
Чтобы обновить только один пакет в системе, выполните следующую команду:
$ sudo dnf update package
Полное обновление системы
Чтобы проверить доступные обновления для всех системных пакетов, мы можем запустить следующее:
$ sudo dnf check-update
Все системные пакеты Обновление
Когда все пакеты, установленные на сервере, должны быть обновлены, мы можем использовать,
$ sudo dnf upgrade
Список включенных репозиториев
Чтобы проверить все репозитории, которые в данный момент включены в системе, мы будем использовать
$ sudo dnf repolist
Перечислите все репозитории
Чтобы получить список всех репозиториев, независимо от того, включены они или отключены, используйте следующую команду:
$ sudo dnf repolist all
Включить репозиторий для установки
Чтобы установить пакет из определенного репозитория, нам нужно сначала включить репо. Мы можем сделать это с помощью следующей команды:
$ sudo dnf –enablerepo = repo-name install package
Список всех групповых пакетов
Чтобы получить список всех групповых пакетов, доступных для системы, выполните следующую команду
$ sudo dnf grouplist
Установка групповых пакетов
Это похоже на установку одного пакета, но мы заменили опцию ‘install’ на ‘groupinstall’,
$ sudo dnf groupinstall ‘group_name’
Удаление групповых пакетов
Чтобы удалить полную группу пакетов из системы, выполните следующую команду dnf:
$ sudo groupremove ‘group_name’
Мы также можем использовать ‘groupupdate’ для обновления групповых пакетов.
Переустановите пакет
Если пакет требует переустановки, используйте следующую команду:
$ sudo dnf reinstall package
Обновление до определенной версии
Если требуется обновить до определенной версии, мы можем использовать следующую команду,
$ sudo dnf upgrade-to package_version
Список всех доступных пакетов
Чтобы получить список всех доступных пакетов из репозиториев, откройте терминал и запустите
$ sudo dnf list available
Список установленных пакетов
Чтобы получить список всех установленных пакетов в системе, используйте следующую команду:
$ sudo dnf list installed
Список всех установленных и доступных пакетов
Чтобы распечатать список всех установленных и доступных пакетов, используйте следующую команду
$ sudo dnf list
Поиск пакетов
Чтобы найти определенный пакет из репозиториев, выполните
$ sudo dnf search package
Скачать только пакет
Чтобы загрузить только доступный пакет (и не устанавливать его), выполните следующую команду:
$ sudo dnf download package
Проверка имени пакета, чтобы получить необходимую функциональность
Чтобы получить имя пакета для команды, мы можем использовать опцию ‘ provides’, сопровождаемую именем команды, или также мы можем использовать имя файла вместо имени команды,
$ sudo dnf provides funtionality_name
$ sudo dnf provides /file_path
Например,
$ sudo dnf provides httpd
$ sudo dnf provides /etc/httpd/conf/httpd.conf
Проверьте информацию о пакете
Чтобы получить все подробности о пакете, используйте следующую команду:
sudo dnf info package
Проверьте историю DNF
Чтобы получить список всей истории DNF, т. Е. Установки / удаления / обновления всех пакетов и т. Д., Выполните следующую команду:
$ sudo dnf history
Затем вы получите список всех операций, выполненных с DNF, вместе с номером. Чтобы получить полную информацию о конкретной операции DNF, запустите
$ sudo dnf history info 13
Синхронизировать все пакеты с последними стабильными выпусками
Чтобы синхронизировать пакет с последней стабильной версией,
Чтобы синхронизировать все пакеты с последней стабильной версией, используйте
$ sudo dnf distro-sync
Перечислить все опции для команды DNF
Чтобы получить список всех доступных параметров, которые можно использовать с DNF, запустите
Как установить dnf ubuntu
Команда dnf предназначена для работы с одноименной утилитой, которая используется для управлении пакетами программного обеспечения в дистрибутивах RHEL, CentOS, а также Fedora Workstation (в первых двух дистрибутивах она пока не используется по умолчанию). Данная утилита пришла на смену широко известной утилите yum из-за проблем с производительностью и потреблением памяти последней. На сегодняшний день утилита dnf обладает всеми возможностями утилиты yum и является ее полноценной заменой, менее требовательной к ресурсам системы.
Вы можете использовать dnf для установки и удаления пакетов программного обеспечения из вашей системы (группами или по одному), а также обновления системных списков пакетов программного обеспечения из подключенных на данный момент репозиториев.
Базовый синтаксис команды выглядит следующим образом:
# dnf [параметры] [команда] имена-пакетов-или-групп
Утилита поддерживает большое количество команд и параметров. Чаще всего используются такие параметры, как параметр —skip-broken, позволяющий пропускать пакеты с проблемами зависимостей, параметр —allowerasing, позволяющий удалять пакеты для разрешения зависимостей, параметр —cacheonly (или -C), позволяющий использовать кэшированные метаданные без их обновления, параметры —assumeyes (или -y) и —assumeno, позволяющие автоматически отвечать утвердительно или отрицательно на все вопросы утилиты, параметры —enablerepo и —disablerepo, позволяющие активировать и деактивировать указанный репозиторий, а также параметр —exclude (или -x), позволяющий исключить из рассмотрения пакет с указанным именем. Основными командами являются:
Команда | Назначение |
install | Установка пакета с заданным именем |
reinstall | Переустановка пакета с заданным именем |
Удаление пакета с заданным именем | |
autoremove | Удаление осиротевших пакетов |
info | Получение информации о пакете с заданным именем |
provides | Получение имени пакета, в котором имеется файл с заданным именем |
search | Поиск пакетов с заданным словом в имени |
list | Вывод имен всех доступных и установленных пакетов |
list installed | Вывод списка всех установленных пакетов |
list available | Вывод списка всех доступных пакетов |
repolist | Вывод списка подключенных репозиториев |
repolist all | Вывод списка всех репозиториев |
clean all | Удаление всех метаданных |
history | Вывод истории использования dnf |
groupunstall | Установка всех пакетов из группы с заданным именем |
groupupdate | Обновление всех пакетов из группы с заданным именем |
groupremove | Удаление всех пакетов из группы с заданным именем |
grouplist | Вывод имен всех существующих групп пакетов |
Автоматическая загрузка обновлений
В дистрибутиве Fedora Workstation dnf используется также для автоматической загрузки обновлений системы. Если вам не нужна эта функция (например, вы привыкли устанавливать обновления вручную или используете сетевое соединение с ограничением по трафику), вы можете деактивировать ее следующим образом.
В первую очередь следует деактивировать соответствующие службу и таймер systemd:
# systemctl disable dnf-makecache.service
# systemctl disable dnf-makecache.timer
Далее нужно отключить механизм автоматической загрузки обновлений на уровне службы packagekitd:
$ gsettings set org.gnome.software download-updates false
После этого система не будет самостоятельно проверять наличие, загружать и предлагать устанавливать обновления. Не стоит отключать данный механизм без весомых оснований!
Примеры использования
Установка пакета программного обеспечения
Для установки пакета программного обеспечения достаточно просто использовать команду install:
Удаление пакета программного обеспечения
Удаление пакета программного обеспечения осуществляется с помощью команды remove:
Поиск пакета программного обеспечения
Поиск пакета программного обеспечения осуществляется с помощью команды search. Также вместе с ней может использоваться параметр -C для отказа от обновления метаданных:
Обновление пакетов программного обеспечения
Для установки всех обновлений системы достаточно использовать команду update:
Основы управления пакетами: apt, yum, dnf, pkg
Самые современные Unix-подобные операционные системы предлагают централизованные механизмы для поиска и установки пакетов. Программное обеспечение, как правило, распространяется в виде пакетов, которые хранятся в репозиториях. Пакеты содержат основные компоненты операционной системы, а также общие библиотеки, приложения, услуги и документацию.
Система управления пакетами, помимо установки программного обеспечения, предоставляет множество других функций и инструментов для модернизации уже установленных пакетов. Репозитории пакетов гарантируют, что код прошел необходимую проверку для использования в системе, и что установленные версии программного обеспечения были одобрены разработчиками.
При настойке сервера или окружения разработки лучше искать пакеты в официальных репозиториях. Пакеты в стабильной версии дистрибутива могут оказаться устаревшими, особенно если программное обеспечение быстро обновляется.
Управление пакетами является жизненно важным навыком для системных администраторов и разработчиков.
Это руководство охватывает основы управления пакетами: поиск, установку и обновление пакетов для различных дистрибутивов.
Системы управления пакетами: краткий обзор
Большинство систем управления пакетами строятся на наборах файлов пакетов. Файл пакета – это, как правило, архив, который содержит скомпилированные бинарные файлы, скрипты установки и другие ресурсы, составляющие программу. Также пакеты содержат ценные метаданные, в том числе их зависимости (список пакетов, необходимых для запуска программы).
Системой бинарных файлов FreeBSD управляет команда pkg. Кроме того, FreeBSD предоставляет коллекцию портов, локальную структуру каталогов и инструментов, которые позволяют извлекать, компилировать и устанавливать пакеты из исходного кода с помощью make-файлов. Обычно удобнее пользоваться менеджером pkg, но иногда предварительно скомпилированные пакеты недоступны.
Обновление списка пакетов
Большинство систем содержит локальную базу данных пакетов, доступных в удаленных репозиториях. Перед установкой или обновлением пакета рекомендуется обновить эту базу данных. Частичным исключением из этого шаблона являются yum и DNF, которые проверяют наличие обновлений пакетов перед выполнением некоторых операций.
Операционная система | Команда |
Debian / Ubuntu | sudo apt-get update |
CentOS | yum check-update |
Fedora | dnf check-update |
FreeBSD Packages | sudo pkg update |
FreeBSD Ports | sudo portsnap fetch update |
Обновление установленных пакетов
Поддержка установленного программного обеспечения в актуальном состоянии без помощи системы управления пакетами – довольно трудоёмкое задание. Вам придется самостоятельно отслеживать обновления пакетов и извещения безопасности для сотен разных пакетов. Конечно, пакетный менеджер не решит всех проблем, которые могут возникнуть при обновлении программного обеспечения, но он поможет поддерживать большинство компонентов системы в актуальном состоянии при помощи всего нескольких команд.
В системе FreeBSD обновление установленных портов может потребовать ручной настройки. Прежде чем обновлять portmaster, рекомендуется ознакомиться с /usr/ports/UPDATING.
Поиск пакетов
Большинство дистрибутивов предоставляет графический или управляемый в режиме меню интерфейс для наборов пакетов. Он позволяет просматривать категории и искать новое программное обеспечение. Однако чаще всего самым быстрым и самым эффективным способом поиска пакетов является поиск с помощью инструментов командной строки.
Информация о пакетах
Принимая решение, как пакет установить, обратитесь за помощью к подробному описанию пакетов. Этот удобочитаемый текст часто содержит полезные метаданные: номера версий, список зависимостей и т.п.
Установка пакетов из репозиториев
Зная имя необходимого пакета, его можно очень быстро установить при помощи одной команды. Также в одной команде можно перечислить все пакеты, которые нужно установить.
Установка пакета из локальной файловой системы
Иногда разработчики или поставщики предлагают пакетные файлы для скачивания, даже если приложение официально не упаковано для данной операционной системы.
Как правило, такие пакеты можно загрузить при помощи веб-браузера или утилиты curl в командной строке. После загрузки пакета его можно установить с помощью одной команды.
В Debian-подобных системах индивидуальными файлами пакетов управляет dpkg. Если пакет имеет зависимости, которых не установлены в системе, gdebi может загрузить их из официального репозитория.
В системах CentOS и Fedora для установки отдельных файлов и обработки необходимых зависимостей используется yum и dnf.
Удаление пакетов
Менеджер пакетов знает, какие именно файлы предоставляет каждый конкретный пакет, потому с его помощью можно легко удалить все ненужные программы.
Система | Команда |
Debian / Ubuntu | sudo apt-get remove package |
sudo apt-get autoremove | |
CentOS | sudo yum remove package |
Fedora | sudo dnf erase package |
FreeBSD (пакеты) | sudo pkg delete package |
sudo pkg autoremove | |
FreeBSD (порты) | sudo pkg delete package |
cd /usr/ports/path_to_port && make deinstall |
Получение справки
Кроме веб-документации системы Unix предоставляют удобный справочник, в котором можно найти информацию о большинстве команд оболочки. Чтобы открыть мануал, введите:
В справочнике можно перемещаться при помощи кнопок со стрелками. Нажмите /, чтобы искать по тексту страницы, и q, чтобы выйти.
Система | Команда | Примечания |
Debian / Ubuntu | man apt-get | Обновление локальной базы данных пакетов и работа с пакетами. |
man apt-cache | Запрос локальной базы данных пакетов. | |
man dpkg | Управление индивидуальными файлами пакетов и запрос установленных пакетов. | |
CentOS | man yum | |
Fedora | man dnf | |
FreeBSD пакеты | man pkg | Управление предварительно скомпилированными файлами пакетов. |
FreeBSD порты | man ports | Управление коллекцией портов. |
Дополнительные ссылки
Данное руководство знакомит с основами управления пакетами в Unix-подобных системах. Более подробную информацию по этой довольно сложной теме можно найти по следующим ссылкам: