┐─ تحليل الملف ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ┌
│ المطور : ريد هات
│ الفئة : تنفيذي
│ نوع MIME : application/x-rpm
│ بايتات : EDABEEDB
┘ ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── └
ما هو ملف RPM؟
RPM (Red Hat Package Manager) هو صيغة الحزم الافتراضية لعائلة توزيعات لينكس المبنية على Red Hat، وهي ثاني أكبر عائلة لينكس بعد Debian. تشمل: Red Hat Enterprise Linux (RHEL) وFedora وCentOS Stream وRocky Linux وAlmaLinux وopenSUSE وAmazon Linux وOracle Linux.
ملف RPM يحتوي على أرشيف cpio (الملفات الفعلية للبرنامج) مع ترويسة قوية تحتوي على: اسم الحزمة وإصدارها وبنيتها (architecture) وتبعياتها ورقم MD5/SHA256 لتحقق السلامة وتوقيع GPG للمصادقة. البايتات السحرية ED AB EE DB تُميّز RPM بسهولة.
كيفية فتح ملفات RPM
- dnf (Fedora/RHEL الحديثة) —
sudo dnf install package.rpmمع حل التبعيات - rpm —
sudo rpm -ivh package.rpmللتثبيت المباشر - yum (RHEL/CentOS القديمة) —
sudo yum localinstall package.rpm - zypper (openSUSE) —
sudo zypper install package.rpm - 7-Zip (ويندوز) — استخراج المحتوى للفحص دون تثبيت
- rpm2cpio — استخراج الملفات من RPM بدون تثبيت
المواصفات التقنية
| الخاصية | القيمة |
|---|---|
| البايتات السحرية | ED AB EE DB |
| نوع MIME | application/x-rpm |
| الصيغة الداخلية | ترويسة RPM + أرشيف CPIO |
| الضغط | gzip، bzip2، xz، zstd (حسب الإصدار) |
| البيانات الوصفية | الاسم، الإصدار، البنية، التبعيات، توقيع GPG |
| مديرو الحزم | rpm (أساسي)، dnf، yum، zypper |
| معيار التوقيع | GPG (GNU Privacy Guard) |
الاستخدامات الشائعة
- لينكس المؤسسي: RHEL هو أكثر توزيعات لينكس المؤسسية في مراكز البيانات والبنك التجاري
- سطح مكتب Fedora: تثبيت التطبيقات اليومية عبر
dnf install - تحديثات أمنية: مستودعات dnf تُوزّع تصحيحات الأمان كـ RPM محدّثة
- بناء الحزم المخصصة: المطورون يُبنون RPM لتوزيع تطبيقاتهم على بيئات RHEL
- Amazon Linux: خوادم AWS بـ Amazon Linux 2 تستخدم RPM عبر yum/dnf
أوامر RPM الأساسية
# تثبيت حزمة RPM محلية
sudo rpm -ivh package.rpm
# تثبيت مع حل التبعيات (Fedora/RHEL)
sudo dnf install ./package.rpm
# عرض معلومات الحزمة قبل التثبيت
rpm -qip package.rpm
# عرض قائمة الملفات داخل الحزمة
rpm -qlp package.rpm
# التحقق من توقيع GPG
rpm --checksig package.rpm
# إزالة حزمة مثبتة
sudo dnf remove package-name
# البحث في قاعدة بيانات RPM المثبتة
rpm -qa | grep firefox
# استخراج ملفات RPM بدون تثبيت
rpm2cpio package.rpm | cpio -idmv
بناء حزمة RPM
# تثبيت أدوات البناء
sudo dnf install rpm-build rpmdevtools
# إنشاء هيكل مجلد البناء
rpmdev-setuptree
# ملف المواصفات (myapp.spec) المبسط
cat > ~/rpmbuild/SPECS/myapp.spec << 'EOF'
Name: myapp
Version: 1.0
Release: 1%{?dist}
Summary: وصف التطبيق
License: MIT
%description
وصف تفصيلي للتطبيق.
%install
mkdir -p %{buildroot}/usr/bin
install -m 755 myapp %{buildroot}/usr/bin/
%files
/usr/bin/myapp
EOF
# بناء الحزمة
rpmbuild -ba ~/rpmbuild/SPECS/myapp.spec
RPM مقابل DEB
| الميزة | RPM | DEB |
|---|---|---|
| التوزيعات | Red Hat، Fedora، SUSE | Debian، Ubuntu، Mint |
| مدير الحزم العالي | dnf/yum | apt |
| مدير الحزم الأساسي | rpm | dpkg |
| التحقق GPG | ✅ مدمج | ✅ مدعوم |
| حصة السوق المؤسسي | ✅ أعلى (RHEL) | Ubuntu Server |