Skip to content
VDS · 운영 체제

AlmaLinux와 CentOS Stream: apt 대신 dnf

Debian 지침을 RHEL 계열에 맞게 적용하는 방법: 명령어와 패키지 대응, ufw 대신 firewalld, SELinux, EPEL 저장소를 다뤄요.

업데이트 2026년 8월 23일

AlmaLinux 9, 10과 CentOS Stream 9은 Debian, Ubuntu와 다르게 동작해요. 사람들이 가장 자주 헷갈리는 부분을 짚어볼게요.

명령어 대응표

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
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/apache2/가 아니라 /etc/httpd/에 있어요.
  • nginx에는 sites-available, sites-enabled 디렉터리가 없어요. 설정 파일은 /etc/nginx/conf.d/*.conf에 넣어요.
  • 웹 서버 사용자는 www-data가 아니라 nginx 또는 apache예요. chown을 쓸 때 중요해요.

게스트 에이전트

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

이 계열을 아예 쓸지 고민된다면 어떤 OS를 선택할지를 참고하세요. 재설치로 OS를 바꿀 수 있지만 데이터가 완전히 사라져요.