المتطلبات
قبل النشر باستخدام Rediacc، تأكد من أن محطة عملك والخوادم البعيدة تستوفي المتطلبات التالية.
محطة العمل (مستوى التحكم)
يعمل سطر أوامر rdc على محطة عملك وينسّق الخوادم البعيدة عبر SSH.
| المنصة | الحد الأدنى للإصدار | ملاحظات |
|---|---|---|
| macOS | 12 (Monterey)+ | يدعم معالجات Intel و Apple Silicon |
| Linux (x86_64) | أي توزيعة حديثة | glibc 2.31+ (Ubuntu 20.04+, Debian 11+, Fedora 34+) |
| Windows | 10+ | دعم أصلي عبر مُثبِّت PowerShell |
متطلبات إضافية:
- زوج مفاتيح SSH (مثل
~/.ssh/id_ed25519أو~/.ssh/id_rsa) - وصول شبكي إلى خوادمك البعيدة على منفذ SSH (الافتراضي: 22)
الخادم البعيد (مستوى البيانات)
يعمل ملف renet التنفيذي على الخوادم البعيدة بصلاحيات الجذر. يدير صور الأقراص المشفرة وعمليات Docker المعزولة وتنسيق الخدمات.
إذا لم تكن متأكدًا من الأداة المناسبة، راجع rdc vs renet. باختصار: استخدم rdc للعمليات العادية، واستخدم renet مباشرةً فقط للمهام المتقدمة على الخادم البعيد.
أنظمة التشغيل المدعومة
تشغّل الخوادم البعيدة ملف renet التنفيذي وتستضيف عمليات Docker المشفرة والمعزولة لكل مستودع. تخضع التوزيعات الخمس التالية للاختبار في مصفوفة Bridge Workers في CI مع كل طلب سحب، وهي الوحيدة المدعومة رسميًا:
| نظام التشغيل | الإصدار | النواة الافتراضية | ملاحظات |
|---|---|---|---|
| Ubuntu | 24.04 LTS | 6.8 | موصى به. AppArmor مفعّل افتراضيًا. |
| Debian | 13 (Trixie) | 6.12 | يعمل أيضًا مع Debian 12 (الحد الأدنى للنواة 6.1). |
| Fedora | 43 | 6.12 | SELinux في وضع التطبيق افتراضيًا. |
| openSUSE Leap | 16.0 | 6.4+ | AppArmor مفعّل افتراضيًا. |
| Oracle Linux | 10 | UEK 7+ | يستخدم UEK الذي يحتفظ بوحدة btrfs. SELinux في وضع التطبيق افتراضيًا. راجع “لماذا UEK؟” أدناه. |
جميع الصفوف من نوع x86_64. يتم بناء arm64 لكن لا يُختبر باستمرار لكل نظام تشغيل خادم؛ افتح مشكلة إذا كنت بحاجة إليه على توزيعة معينة. قد تعمل توزيعات Linux الأخرى التي تدعم systemd وDocker وcryptsetup، لكنها غير مدعومة رسميًا وقد تتعطل عند الترقيات دون إشعار.
لماذا UEK؟ (ولماذا Rocky 10 / RHEL 10 الأصلي غير مدعوم)
يتطلب المحرك الخلفي للتخزين المشفر في Rediacc وحدة نواة btrfs المدمجة. نواة RHEL 10 الأصلية لا تتضمنها: يفشل modprobe btrfs بالرسالة “Module btrfs not found”، ولا يُرجع dnf search btrfs أي نتيجة. يرث كل من Rocky Linux 10 وAlmaLinux 10 نفس النواة ولا يمكنهما بالتالي العمل كخوادم Rediacc.
يستخدم Oracle Linux 10 افتراضيًا نواة المؤسسة غير القابلة للكسر (UEK) التي تحتفظ ببناء btrfs. وهذا هو الهدف الوحيد المتوافق مع RHEL في القائمة المدعومة. إذا كان يجب عليك تشغيل خادم من عائلة RHEL، فاستخدم Oracle Linux 10 مع UEK. (المرجع الأساسي لهذا القرار موجود في .github/workflows/ct-tests.yml بوصفه مصفوفة CI Bridge Workers.)
للاستخدام على محطة العمل فقط (أهداف تثبيت CLI)
يتثبّت rdc CLI بنجاح أيضًا على Alpine 3.19+ (APK مع طبقة التوافق gcompat، تُثبَّت تلقائيًا) وArch Linux (نسخة متجددة، عبر pacman). هذه مسارات تثبيت على جانب العميل فقط (راجع التثبيت) وغير مدعومة كأهداف لخادم renet.
سياسات الأمان حسب نظام التشغيل
يعمل عميل Docker لكل مستودع والحاويات نفسها بـتسميات الحاويات الافتراضية على جميع الأنظمة المدعومة. لا يُثبّت rdc config machine setup سياسات SELinux مخصصة أو ملفات تعريف AppArmor. السلوك حسب نظام التشغيل:
- Ubuntu 24.04، openSUSE Leap 16.0: AppArmor مفعّل افتراضيًا. يُطبَّق ملف التعريف الافتراضي docker-container؛ لا يلزم أي إعداد إضافي.
- Fedora 43، Oracle Linux 10: يعمل SELinux في وضع التطبيق. يُسمّي عميل Docker لكل مستودع الحاويات بسياق
container_tالقياسي. لا تلزم أي سياسة SELinux مخصصة. - CRIU (نقاط التفتيش والاستعادة) هو الحالة الوحيدة التي تتجاوز ملف تعريف AppArmor باستخدام
apparmor=unconfined، إذ لم يستقر دعم AppArmor في CRIU upstream بعد. راجع ملاحظات CRIU في قواعد Rediacc.
إذا فشلت خطوة إعداد بسبب رفض SELinux AVC أو AppArmor، راجع استكشاف الأخطاء قسم “مشكلات الإعداد الخاصة بالتوزيعة”.
متطلبات الخادم المسبقة
- حساب مستخدم بصلاحيات
sudo(يُنصح بـ sudo بدون كلمة مرور) - مفتاحك العام لـ SSH مُضاف إلى
~/.ssh/authorized_keys - مساحة قرص فارغة لا تقل عن 20 جيجابايت (أكثر حسب أحمال العمل)
- اتصال بالإنترنت لسحب صور Docker (أو سجل خاص)
يُثبَّت تلقائياً
يقوم أمر rdc config machine setup بتثبيت ما يلي على الخادم البعيد:
- Docker و containerd (بيئة تشغيل الحاويات)
- cryptsetup (تشفير أقراص LUKS)
- ملف renet التنفيذي (يُرفع عبر SFTP)
لا تحتاج إلى تثبيت هذه يدوياً.
الأجهزة الافتراضية المحلية (اختياري)
إذا أردت اختبار عمليات النشر محليًا باستخدام rdc ops، فإن محطة عملك تحتاج إلى دعم المحاكاة الافتراضية: KVM على Linux أو QEMU على macOS. راجع دليل الأجهزة الافتراضية التجريبية للاطلاع على خطوات الإعداد وتفاصيل المنصة.