Перейти к содержимому
VDS · Операционные системы

AlmaLinux и CentOS Stream: dnf вместо apt

Как переводить инструкции для Debian на семейство RHEL: соответствие команд и пакетов, firewalld вместо ufw, SELinux и репозиторий EPEL.

Обновлено 23 августа 2026 г.

AlmaLinux 9 и 10 и CentOS Stream 9 устроены иначе, чем Debian и Ubuntu. Разберём то, обо что спотыкаются чаще всего.

Соответствие команд

Debian / UbuntuAlmaLinux / CentOS Stream
apt update && apt upgradednf upgrade
apt install пакетdnf install пакет
apt remove пакетdnf remove пакет
apt search строкаdnf search строка
apt list --installeddnf list installed
ufwfirewall-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

Если сомневаетесь, стоит ли брать это семейство вообще — см. какую систему выбрать. Сменить систему можно переустановкой, но с полной потерей данных.