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 package | dnf install package |
apt remove package | dnf remove package |
apt search string | dnf search string |
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
إذا لم تكن متأكدًا مما إذا كنت ستختار هذه العائلة أصلًا، فراجع أي نظام تشغيل تختار. يمكنك تغيير نظام التشغيل عبر إعادة التثبيت، لكن مع فقدان كامل للبيانات.