AlmaLinux и CentOS Stream: dnf вместо apt
Как переводить инструкции для Debian на семейство RHEL: соответствие команд и пакетов, firewalld вместо ufw, SELinux и репозиторий EPEL.
Обновлено 23 августа 2026 г.
AlmaLinux 9 и 10 и CentOS Stream 9 устроены иначе, чем Debian и Ubuntu. Разберём то, обо что спотыкаются чаще всего.
Соответствие команд
| Debian / Ubuntu | AlmaLinux / CentOS Stream |
|---|---|
apt update && apt upgrade | dnf upgrade |
apt install пакет | dnf install пакет |
apt remove пакет | dnf remove пакет |
apt search строка | dnf search строка |
apt list --installed | dnf list installed |
ufw | firewall-cmd |
группа sudo | группа wheel |
/etc/apt/sources.list | /etc/yum.repos.d/ |
Имена пакетов тоже расходятся: apache2 здесь httpd, nginx совпадает, mysql-server — mariadb-server, python3-pip — python3-pip, но dnsutils называется bind-utils.
Первые шаги
dnf upgrade -y
dnf install -y curl nano git htop tar policycoreutils-python-utils
timedatectl set-timezone Europe/Moscow
hostnamectl set-hostname my-vds
Пользователь с правами администратора:
adduser artem
passwd artem
usermod -aG wheel artem
Репозиторий EPEL
Многих привычных пакетов в базовых репозиториях нет — они в EPEL:
dnf install -y epel-release
dnf upgrade -y
dnf install -y btop fail2ban
Брандмауэр
Вместо ufw здесь firewalld:
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --list-all
Без
--permanentправило исчезнет после перезагрузки, а без--reloadне применится сейчас. Нужны обе части.
SELinux
Главный источник загадочных отказов: права на файл верные, служба запущена, а доступа нет. Проверить режим:
getenforce
Типовые случаи и решения:
setsebool -P httpd_can_network_connect 1
semanage port -a -t http_port_t -p tcp 8080
restorecon -Rv /var/www
Первое разрешает веб-серверу ходить наружу (нужно при проксировании на приложение), второе разрешает слушать нестандартный порт, третье чинит метки файлов после копирования из чужого каталога.
Что происходит на самом деле, видно здесь:
ausearch -m avc -ts recent
Отключать SELinux целиком не нужно: почти всегда достаточно одного из трёх приёмов выше.
Что ещё отличается
- Веб-сервер Apache называется
httpd, его конфиги лежат в/etc/httpd/, а не в/etc/apache2/. - У nginx нет каталогов
sites-availableиsites-enabled— конфиги кладут в/etc/nginx/conf.d/*.conf. - Пользователь веб-сервера —
nginxилиapache, а неwww-data. Это важно приchown.
Гостевой агент
dnf install -y qemu-guest-agent
systemctl enable --now qemu-guest-agent
Если сомневаетесь, стоит ли брать это семейство вообще — см. какую систему выбрать. Сменить систему можно переустановкой, но с полной потерей данных.