-- Leo's gemini proxy
-- Connecting to tilde.team:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini; lang=en
רמי
SUBJECT: DNF: Настройка конфигурации; работа с пакетами, группами, репозиториями
AUTHOR: Rami Rosenfeld
DATE: 12/09/22; upd. 07/10/23; 29/04/24
TIME: 15.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, selinux, firewalld, dnf, rpm
В совокупности с ядром, DNF - "сердце" операционной системы; инсталляционная утилита с гибкими и удобными возможностями работы с RPM-пакетами, поэтому я настоятельно рекомендую настроить ее сразу после установки (но до первого обновления) ОС.
Настройка конфигурационного файла DNF
nano /etc/dnf/dnf.conf
[main]
gpgcheck=1
installonly_limit=2
clean_requirements_on_remove=True
best=True
skip_if_unavailable=True
fastestmirror=1
metadata_timer_sync=0
max_parallel_downloads=8
excludepkgs=package_name_1,package_name_2
proxy=http://127.0.0.1:8118
где:
- gpgcheck - обязательная проверка цифровых подписей к устанавливаемым пакетам (не отключайте!);
- installonly_limit - лимит одновременных инсталляций ядра ОС (не понижайте меньше 2!);
- clean_requirements_on_remove - удаление неиспользуемых зависимостей при удалении пакета;
- best - выбор лучшей (самой свежей) версии пакета;
- skip_if_unavailable - пропуск пакета в случае его недоступности;
- fastestmirror - определение и автовыбор самого быстрого зеркала всех репозиториев;
- metadata_timer_sync - отключение таймера генерирования кэша dnf;
- max_parallel_downloads - количество одновременных закачек;
- excludepkgs - блокирование обновления отдельных пакетов, например: "firefox,thunderbird"; закомментируйте, если не требуется;
- proxy - обновление пакетов и репозиториев через прокси-сервер; закомментируйте, если не требуется. Для обратной совместимости используйте значение "none" вместо пустого значения (поля).
ВАЖНО: Опция "deltarpm=True" (скачивание только обновленных частей отдельного пакета) - удалена, начиная с Fedora 40, поэтому НЕ добавляйте ее в конфигурацию.
Изменение репозиториев-источников
Об изменении доменной зоны, в которой находятся "зеркала" серверов обновления ОС и ПО, см. отдельный материал:
Обновление ОС, всего предустановленного ПО и зависимостей к ним
dnf upgrade
Примечание: опция update является устаревшей, но работает.
Управление репозиториями из локальных и удаленных источников (в т.ч. RPM Fusion и Copr)
Добавление репозиториев:
dnf config-manager --add-repo /etc/yum.repos.d/repository_name.repo
dnf config-manager --add-repo https://site.name/repository_name.repo
Активация/деактивация репозитория:
dnf config-manager --set-enabled repository_name
dnf config-manager --set-disabled repository_name
Подключение репозиториев RPM Fusion (free/nonfree) для любых версий Fedora:
dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Активация/деактивация отдельного проекта из репозитория Copr для любых версий Fedora:
dnf copr enable user/project
dnf copr disable user/project
Получение информации (в т.ч. расширенной) об установленных репозиториях:
dnf repolist
dnf repolist -v
Управление пакетами и группами пакетов
Поиск пакета (с маской):
dnf search *package_name*
Получение информации о пакете:
dnf info package_name
Установка пакета(-ов) из репозитория:
dnf install package_name_1 package_name_2
Установка .rpm-пакета(-ов) из локального или удаленного местонахождения:
dnf install ~/package_name_1.rpm package_name_2.rpm
dnf install ~/*.rpm
dnf install https://site.name/package_name.rpm
Обновление отдельного пакета:
dnf upgrade package_name
Просмотр списка доступных групп пакетов:
dnf group list
Получение расширенной информации о составе группы:
dnf group info 'group_name'
Установка объединенной группы пакетов:
dnf group install 'group_name'
dnf install '@group_name'
Понижение версии установленного пакета:
dnf downgrade package_name
Удаление пакета(-ов):
dnf remove package_name_1 package_name_2
Удаление группы:
dnf group remove 'group_name'
dnf remove @'group_name'
Полная очистка данных, связанных с работой DNF:
dnf clean all
Примечание: это аналог последовательного выполнения команд dnf clean dbcache, dnf clean expire-cache, dnf clean metadata, dnf clean packages; команда полностью безопасна.
История операций и сессий DNF
Просмотр истории работы DNF:
dnf history
Просмотр информации об отдельном этапе (сессии) работы DNF:
dnf history info 20
Подробнее см.:
🄯 Rami Rosenfeld, 2022. GNU FDL 1.3.
-- Response ended
-- Page fetched on Mon Jun 3 00:27:10 2024