Сразу к делу: чтобы установить нужный софт в Red OS, используйте команду dnf install [имя_пакета]. Не размышляйте – просто действуйте. Иначе окажетесь перед терминалом, в котором ничего не работает.
Список доступных репозиториев проверяется командой dnf repolist. Если список пустой – ищите ошибку в /etc/yum.repos.d/. Репозиторий может быть подключён, но закомментирован. А может – указывать на несуществующий URL. Да, и такое бывает.
Хотите узнать, откуда установлен конкретный компонент? Вбейте dnf info [имя_пакета]. Там вся подноготная: версия, архитектура, источник. Не верите глазам – переспросите у rpm -qi.
Важно! Никогда не используйте
dnf updateбез понимания, что за ним стоит. Обновления могут потянуть за собой изменения, которые сломают половину окружения. Особенно на серверах.
Удаление? Только dnf remove [имя_пакета]. Но будьте готовы к сюрпризам: может зацепить зависимости. Проверяйте список перед подтверждением. Нажали Y на автомате – сами виноваты.
Чистка кеша: dnf clean all. Делать надо регулярно. Иначе место на диске испаряется незаметно. Смотрите в /var/cache/dnf, если не верите.
Добавление стороннего источника – отдельная история. Создайте файл в /etc/yum.repos.d/ с правильной структурой. Ошибка в одном символе – и система слепа. Пример:
[custom-repo]
name=Custom Software Repo
baseurl=http://example.com/repo/
enabled=1
gpgcheck=0
Помните: Подключение непроверенного источника – как игра с огнём в пороховом складе. Подписи, контрольные суммы, тестовый стенд – обязательны.
Автообновления? Да, есть. Но включайте только после настройки /etc/dnf/automatic.conf. Либо получаете кучу сюрпризов ночью. Либо спокойствие.
Сравнение версий: dnf versionlock. Без этого на корпоративных рабочих станциях – ни шагу. Заблокировали версию – живёте спокойно. Обновили случайно – чините руками.
Red OS любит стабильность. DNF – инструмент, а не волшебная палочка. Работайте с ним аккуратно. Ошибки не прощает.
Содержание статьи
Установка и удаление программ с помощью DNF
Сначала – без лишней романтики: чтобы поставить приложение, нужно знать его точное имя. Без фантазий. Команда:
dnf install имя_пакета
Например:
dnf install htop
Проверка перед запуском не помешает. Добавляем опцию --assumeno, чтобы увидеть, что будет установлено:
dnf install htop --assumeno
Да, он покажет зависимости. Не обманывайтесь простотой. Иногда тянет пол-мира. Особенно в Red OS, где даже графические оболочки могут зависеть от ничего не подозревающего мелкого утилита.
Удаление – с тем же подходом:
dnf remove имя_пакета
Пример:
dnf remove htop
Не торопитесь нажимать Y. Сначала – --assumeno:
dnf remove htop --assumeno
Иначе удалите больше, чем хотели. В Red OS удаление может снести компоненты, которые незримо держат на себе половину интерфейса. И будет больно. Очень.
Важно! Никогда не запускайте удаление без предварительного просмотра зависимостей. Проверка – ваш щит.
Очистка от мусора после удаления:
dnf autoremove
Но и тут – осторожно. Автоматическая зачистка порой слишком самоуверенна.
Если нужен конкретный файл, но не знаете, в каком он пакете:
dnf provides */имя_файла
Пример:
dnf provides */netstat
Red OS не прощает легкомыслия. Тут всё должно быть под контролем. Ручное управление – единственный путь. Никаких магических кнопок. Только команды. Только хардкор.
Внимание! Перед массовой установкой сначала проверьте доступность всех источников. Проблемы с зеркалами в Red OS случаются чаще, чем хочется.
И последнее. Обновление конкретного приложения:
dnf upgrade имя_пакета
Не всей системы. Только то, что нужно. Операционная среда требует точности. Как скальпель. Не топор.
Работа с репозиториями DNF в Red OS
Отключайте всё лишнее. Ненужные источники обновлений – дыры в контроле. Проверить список доступных можно так:
dnf repolist all
Не доверяйте включённым по умолчанию. Что включено – смотрите:
dnf repolist enabled
Отключить определённый источник:
dnf config-manager --set-disabled имя_репозитория
Включить обратно:
dnf config-manager --set-enabled имя_репозитория
Не работает зеркало? Подмените адрес в /etc/yum.repos.d/. Используйте внутреннее зеркало или настроенный прокси. Пример фрагмента файла:
[baseos]
name=BaseOS
baseurl=http://локальный_сервер/redos/BaseOS
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redos
Подключаете собственный источник? Создайте файл:
/etc/yum.repos.d/my.repo
И пропишите содержимое:
[myrepo]
name=МойРепозиторий
baseurl=http://my-server/repos/$releasever/$basearch/
enabled=1
gpgcheck=0
Важно помнить: неверный baseurl – 404 и зависание при установках. Проверяйте руками через curl или wget.
Временно использовать конкретный источник без включения:
dnf --enablerepo=имя_репозитория install имя_пакета
Нужно обновление только из конкретного места? Пишите жёстко:
dnf --disablerepo="*" --enablerepo="myrepo" update
Хотите приоритет? Настройте priority= внутри секции. Меньше – выше приоритет.
Внимание! Репозитории с приоритетом 1 перебивают всё. Не злоупотребляйте. Это прямой путь к зависимостям из ада.
Проверка GPG? Всегда. Кроме стендовых машин. В продуктиве только с ключом. Ключ можно добавить так:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redos
Резюме? Хаос начинается с бездействия. Редактируйте вручную, чистите автообновления, держите зеркала под рукой. Не ждите пока всё развалится – готовьтесь заранее.
Поиск, обновление и откат пакетов через DNF
Ищешь конкретное ПО? Используй:
dnf search имя
dnf search имя | grep -i нужное
Нужно узнать, установлен ли конкретный компонент?
dnf list installed | grep имя
Еще точнее – так:
rpm -q имя
Следующий шаг – обновление. Без вариантов, сначала:
dnf check-update
Если список пуст – обновлений нет. Иначе:
dnf upgrade
Обновляется всё. Хочешь точечно? Пример:
dnf upgrade nano
Важно!
Не обновляй ядро без необходимости. Версия ядра в Red OS фиксирована под сертификацию. Улетишь за грань поддержки.
Теперь – откат. Самое опасное и нужное. Для возврата к предыдущей версии:
dnf downgrade имя
Например:
dnf downgrade httpd
Если хочешь увидеть историю транзакций – выручит:
dnf history
Нужен конкретный ID? Посмотрел – нашёл. Теперь откат всей операции:
dnf history rollback ID
Внимание! Не всегда безопасно. Откат может повредить зависимости, особенно после обновлений с изменением ABI.
Для удаления свежей версии и возврата вручную:
dnf remove имя && dnf install имя-версия
Пример:
dnf install vim-enhanced-8.0.1763-15.el8
Нет нужной версии в репозиториях? Ищи через:
dnf --showduplicates list имя
Только не забывай: ручная установка старья – всегда риск. Особенно в проде. Лучше не трогать, чем чинить потом.
Важно помнить:
Откат ядра, glibc и systemd может привести к нерабочей системе. Всегда тестируй сначала на стенде, а уже потом в бой.
Работаешь на сервере? Думай, прежде чем обновлять. Проверяй зависимости. Логируй действия. Страховка – резервная копия.
Хочешь автообновление – настрой таймер:
systemctl enable --now dnf-automatic.timer
Конфигурация в /etc/dnf/automatic.conf. Но включай только если понимаешь риски.
Поиск, апдейт, откат – три лезвия одной бритвы. Не режься. Работай точно.

