Пакеты
Работа с rpm-пакетами
Какой менеджер пакетов используется в настоящее время?
Dnf, являющийся, в свою очередь, форком Yum.
Могу ли я использовать Yum в Fedora?
Начиная с Fedora 24, yum присутствует в Fedora лишь как символическая ссылка на dnf, сохранённая для обратной совместимости.
База RPM оказалась повреждена. Как восстановить?
Для запуска пересборки базы данных RPM следует выполнить:
sudo rpm --rebuilddb
Настоятельно рекомендуется сделать резервную копию каталога /var/lib/rpm
перед этим действием.
Обновление пакетов
Обновление пакета с использованием DNF
Вы можете обновить только определенный пакет (скажем, systemd) и оставить все остальные пакеты в системе без изменений:
sudo dnf update systemd
Проверка наличия обновлений системы с помощью DNF.
Проверьте обновления для всех системных пакетов, установленных в системе:
dnf check-update
Обновление всех системных пакетов
Вы можете обновить всю систему, включая все установленные пакеты, с помощью следующих команд:
sudo dnf update
Или же:
sudo dnf upgrade
Обновление с принудительной проверкой метаданных:
sudo dnf update --refresh
ключ --refresh
установить метаданные, как истекшие перед запуском обновления
Синхронизация установленных пакетов со стабильной версией
Команда «dnf distro-sync» предоставит необходимые параметры для синхронизации всех установленных пакетов с самой последней стабильной версией, доступной из любого включенного репозитория. Если не выбран какой-то конкретный пакет, то синхронизируются все установленные пакеты:
sudo dnf distro-sync
Установка пакета с DNF
Чтобы установить пакет с именем nano, просто запустите приведенную ниже команду, она автоматически разрешит и установит все необходимые зависимости для пакета nano:
sudo dnf install nano
Установка пакетов из определенного репозитория
DNF позволяет установить любой конкретный пакет (скажем, phpmyadmin) из определённого репозитория (к примеру, epel) так же просто, как:
dnf --enablerepo=epel install phpmyadmin
Переустановка пакета
Команда «dnf reinstall nano» переустанавливает уже установленный пакет:
sudo dnf reinstall nano
Удаление пакетов
Удаление пакета
Чтобы удалить любой нежелательный пакет (например, nano), вы можете использовать опцию «remove» или «erase» вместе с командой dnf:
sudo dnf remove nano
Отакат версии пакета
Опция «downgrade» откатывает версию указанного пакета до предыдущей версии, если это возможно:
sudo dnf downgrade acpid
Пример вывода
Using metadata from Wed May 20 12:44:59 20152No match for available package: acpid-2.0.19-5.el7.x86_643Error: Nothing to do.
Удаление “осиротевших” пакетов
Те пакеты, которые были установлены исключительно для удовлетворения зависимостей, могут быть бесполезными, если они не используются другими приложениями. Чтобы удалить эти “осиротевшие” пакеты, выполните следующую команду:
sudo dnf autoremove
Удаление кэшированных пакетов
Много раз мы сталкивались с устаревшими заголовками и незавершенными транзакциями, что приводит к ошибке при выполнении dnf. Мы можем очистить все кэшированные пакеты и заголовки, содержащие информацию об удаленных пакетах, просто выполнив:
sudo dnf clean all
Получение информации по пакетам
Вывод списка всех доступных и установленных пакетов, используя DNF
Команда «dnf list» выведет список всех доступных пакетов из всех репозиториев и установленных пакетов в вашей системе Linux:
dnf list
Вывод списка всех установленных пакетов
В то время как команда «dnf list» показывает все доступные/установленные пакеты из всех репозиториев. Однако у вас есть возможность перечислить только установленные пакеты, используя опцию «list installed», как показано ниже:
dnf list installed
Вывод списка всех доступных пакетов
Аналогичным образом, опция «list available» выводит список всех пакетов, доступных для установки из всех включенных репозиториев:
dnf list available
Поиск пакета с использованием DNF
Если вы не знаете, какой пакет вы хотите установить, в такой ситуации вы можете использовать опцию «search» вместе с командой dnf для поиска пакета, который соответствует слову или строке поиска (к примеру – nano):
dnf search nano
Просмотр описание файл/субпакет, к какому пакету принадлежит файл, что он делает?
Опция dnf provides ищет имя пакета, к которому принадлежит определенный файл/подпакет. Например, если вы хотите найти к какому пакету принадлежит ‘/bin/bash‘ в вашей системе, выполните:
dnf provides /bin/bash
Просмотр деталей пакета
Предположим, что вы хотите узнать информацию о пакете до его установки в системе, вы можете использовать опцию «info» для получения подробной информации о пакете, как показано ниже:
dnf info nano
Работа с репозиториями
Вывод списка включенных репозиториев DNF
Опция «repolist» с командой dnf отобразит все включенные репозитории в вашей системе:
dnf repolist
Просмотр всех включенных и отключенных репозиториев DNF
Опция «repolist all» выведет все включенные/отключенные репозитории в вашей системе:
dnf repolist all
Работа с групповыми пакетами
Вывод всех групповых пакетов
Команда «dnf grouplist» выведет все доступные или установленные пакеты, если не упомянуто никаких опций, она выведет список всех известных групп:
dnf grouplist
Установка группы пакетов
Чтобы установить группу пакетов, связанных вместе, как групповой пакет (скажем, образовательное программное обеспечение) выполните следующую команду:
sudo dnf groupinstall 'Educational Software'
Обновление групповых пакетов
Давайте обновим групповой пакет, выполнив приведенную ниже команду:
sudo dnf groupupdate 'Educational Software'
Удаление групповых пакетов
Мы можем удалить групповой пакет:
sudo dnf groupremove 'Educational Software'
Использования команды dnf
1.Проверка версии DNF
Проверьте версию DNF, установленную в вашей Системе:
dnf --version
17. Получение справки по определенной команде DNF
Вы можете получить помощь по любой конкретной команде dnf (скажем, clean), просто выполнив приведенную ниже команду:
dnf help clean
18. Вывод всех команд и опции DNF
Чтобы получить справку по всем доступным командам и опциям dnf, просто введите:
dnf help
19. Просмотр истории DNF
Вы можете вызвать dnf history, чтобы посмотреть список уже выполненных команд dnf. Таким образом, вы можете быть в курсе того, что было установлено/удалено и также узнать в какой именно промежуток времени это было выполнено:
dnf history
Last updated