Skip to content
VDS · Systèmes d'exploitation

AlmaLinux et CentOS Stream : dnf au lieu d'apt

Comment adapter les instructions Debian à la famille RHEL : équivalents de commandes et de paquets, firewalld au lieu d'ufw, SELinux et le dépôt EPEL.

Mis à jour le 23 août 2026

AlmaLinux 9 et 10 ainsi que CentOS Stream 9 fonctionnent différemment de Debian et Ubuntu. Passons en revue les points sur lesquels les utilisateurs trébuchent le plus souvent.

Équivalences des commandes

Debian / UbuntuAlmaLinux / CentOS Stream
apt update && apt upgradednf upgrade
apt install packagednf install package
apt remove packagednf remove package
apt search stringdnf search string
apt list --installeddnf list installed
ufwfirewall-cmd
groupe sudogroupe wheel
/etc/apt/sources.list/etc/yum.repos.d/

Les noms des paquets diffèrent également : apache2 devient httpd, nginx reste identique, mysql-server devient mariadb-server, python3-pip reste python3-pip, mais dnsutils s'appelle bind-utils.

Premiers pas

dnf upgrade -y
dnf install -y curl nano git htop tar policycoreutils-python-utils
timedatectl set-timezone Europe/Moscow
hostnamectl set-hostname my-vds

Un utilisateur disposant des droits d'administration :

adduser artem
passwd artem
usermod -aG wheel artem

Le dépôt EPEL

De nombreux paquets familiers ne se trouvent pas dans les dépôts de base — ils sont dans EPEL :

dnf install -y epel-release
dnf upgrade -y
dnf install -y btop fail2ban

Pare-feu

Au lieu de ufw, c'est firewalld qui est utilisé :

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

Sans --permanent, la règle disparaîtra après un redémarrage, et sans --reload, elle ne s'appliquera pas immédiatement. Les deux parties sont nécessaires.

SELinux

La principale source de pannes mystérieuses : les permissions de fichiers sont correctes, le service tourne, mais l'accès est refusé. Pour vérifier le mode :

getenforce

Cas fréquents et solutions :

setsebool -P httpd_can_network_connect 1
semanage port -a -t http_port_t -p tcp 8080
restorecon -Rv /var/www

La première autorise le serveur web à établir des connexions sortantes (nécessaire lors d'un proxy vers une application), la deuxième autorise l'écoute sur un port non standard, et la troisième corrige les étiquettes de fichiers après une copie depuis le répertoire d'un tiers.

Vous pouvez voir ce qui se passe réellement ici :

ausearch -m avc -ts recent

Il n'est pas nécessaire de désactiver SELinux entièrement : presque toujours, l'une des trois techniques ci-dessus suffit.

Ce qui diffère également

  • Le serveur web Apache s'appelle httpd, et ses configurations se trouvent dans /etc/httpd/, et non dans /etc/apache2/.
  • nginx ne dispose pas des répertoires sites-available et sites-enabled — les configurations vont dans /etc/nginx/conf.d/*.conf.
  • L'utilisateur du serveur web est nginx ou apache, et non www-data. Cela a son importance avec chown.

Agent invité

dnf install -y qemu-guest-agent
systemctl enable --now qemu-guest-agent

Si vous n'êtes pas sûr de vouloir opter pour cette famille, consultez quel OS choisir. Vous pouvez changer d'OS avec une réinstallation, mais avec une perte totale de données.