Skip to content
VDS · Sistemas operacionais

AlmaLinux e CentOS Stream: dnf em vez de apt

Como adaptar as instruções de Debian para a família RHEL: equivalentes de comandos e pacotes, firewalld em vez de ufw, SELinux e o repositório EPEL.

Atualizado em 23 de agosto de 2026

AlmaLinux 9 e 10 e CentOS Stream 9 funcionam de forma diferente do Debian e do Ubuntu. Vamos ver os pontos em que as pessoas tropeçam com mais frequência.

Equivalentes de comandos

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
grupo sudogrupo wheel
/etc/apt/sources.list/etc/yum.repos.d/

Os nomes dos pacotes também mudam: apache2 aqui é httpd, nginx continua igual, mysql-server é mariadb-server, python3-pip é python3-pip, mas dnsutils se chama bind-utils.

Primeiros passos

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

Um usuário com direitos de administrador:

adduser artem
passwd artem
usermod -aG wheel artem

O repositório EPEL

Muitos pacotes conhecidos não estão nos repositórios base — eles ficam no EPEL:

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

Firewall

Em vez do ufw, aqui se usa o 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

Sem --permanent, a regra desaparece depois de reiniciar, e sem --reload, ela não é aplicada agora. Você precisa das duas partes.

SELinux

A principal fonte de falhas misteriosas: as permissões de arquivo estão corretas, o serviço está rodando, mas não há acesso. Para verificar o modo:

getenforce

Casos comuns e soluções:

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

O primeiro permite que o servidor web faça conexões de saída (necessário ao fazer proxy para uma aplicação), o segundo permite escutar em uma porta não padrão, e o terceiro corrige os rótulos de arquivo depois de copiar do diretório de outra pessoa.

Você pode ver o que está acontecendo de fato aqui:

ausearch -m avc -ts recent

Você não precisa desativar o SELinux por completo: quase sempre, uma das três técnicas acima é suficiente.

O que mais é diferente

  • O servidor web Apache se chama httpd, e suas configurações ficam em /etc/httpd/, não em /etc/apache2/.
  • O nginx não tem os diretórios sites-available e sites-enabled — as configurações vão em /etc/nginx/conf.d/*.conf.
  • O usuário do servidor web é nginx ou apache, não www-data. Isso importa com o chown.

Guest agent

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

Se você não tem certeza se deve escolher essa família, veja qual sistema operacional escolher. Você pode trocar o sistema operacional com uma reinstalação, mas com perda total dos dados.