Product SiteDocumentation Site

3.2. طريقة الهجرة

حتى نضمن استمرار عمل الخدمات، يجب التخطيط لهجرة كل حاسوب وتنفيذ العملية وفقاً للخطة. هذا المبدأ صحيح مهما كان نظام التشغيل المستخدم.

3.2.1. تفقد الخدمات وتحديدها

على الرغم من بساطة هذا الخطوة، إلا أنها أساسية. يعلم مدير النظم الجاد حقاً الأدوار الرئيسية لكل واحد من المخدمات، لكن هذه الأدوار قد تتغير، وأحياناً قد يُثبِّت المستخدمون المتقدمون بعض الخدمات ”الشاردة“ (wild services). تسمح لك معرفة وجود هذه الخدمات على أن تقرر ماذا ستفعل فيها على الأقل، بدلاً من حذفها اعتباطياً.
لذلك كان من الحكمة إعلام مستخدميك بالمشروع قبل تهجير المخدم. قد يفيدك تثبيت أشهر البرمجيات الحرة التي سيعملون عليها بعد هجرتهم إلى دبيان على حواسيبهم المكتبية قبل الهجرة لإشراكهم في المشروع؛ لعل Libre Office ومجموعة برمجيات موزيلا أفضل الأمثلة هنا.

3.2.1.1. الشبكة والعمليات

تتعرف الأداة nmap (في الحزمة ذات الاسم نفسه) سريعاً على خدمات الإنترنت التي تستضيفها الأجهزة المتصلة بالشبكة دون الحاجة للدخول إلى تلك الأجهزة حتى. فقط استدع الأمر التالي على جهاز آخر متصل بالشبكة نفسها:
$ nmap mirwiz
Starting Nmap 6.47 ( http://nmap.org ) at 2015-03-24 11:34 CET
Nmap scan report for mirwiz (192.168.1.104)
Host is up (0.0037s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
إذا كان المخدم يعمل بنظام يونكس ويقدم حسابات shell لمستخدميه، فمن المهم تحديد إمكانية السماح بتنفيذ العمليات في الخلفية في حال غياب مالكيها. يعرض الأمر ps auxw لائحة بجميع العمليات مع هوية المستخدمين الذي شغلوها. ومع مقارنة هذه المعلومات مع خرج الأمر who، الذي يعطي قائمة بالمستخدمين المسجلين دخولهم إلى الجهاز، يمكن التعرف على الخدمات الشاردة أو غير المصرح عنها أو البرامج التي تعمل في الخلفية. يمكن الحصول على معلومات إضافية غالباً بالإطلاع على crontabs (الجداول التي تسرد الأعمال الآلية التي يجدولها المستخدمون) تفيد في معرفة الوظائف التي يلبيها هذا المخدم (هناك شرح كامل لخدمة cron في قسم 9.7, “جدولة المهام باستخدام cron وatd).
في جمع الحالات، من الضروري أخذ نسخة احتياطية عن مخدماتك: فهذا يسمح باستعادة المعلومات في وقت لاحق، عندما يشتكي المستخدمون من مشاكل معينة نتجت عن الهجرة.

3.2.2. النسخ الاحتياطي للإعدادات

من الحكمة الاحتفاظ بإعدادات كل خدمة تكتشفها حتى تستطيع تثبيت ما يقابلها على المخدم بعد التغيير. أضعف الإيمان أن تأخذ نسخة احتياطية عن ملفات الضبط.
بالنسبة لأجهزة يونكس، تكون ملفات الضبط عادة في المجلد /etc/، لكنها قد تُخزَّن أيضاً في مجلد فرعي في /usr/local/. هذه هي حال البرامج التي ثبتت من الكود المصدري، بدلاً من تثبيتها من حزمة. في بعض الحالات، قد تجد بعض هذه الملفات في /opt/.
بالنسبة لخدمات إدارة البيانات (مثل قواعد البيانات)، أفضل حل هو تصدير البيانات إلى صيغة قياسية يستطيع البرنامج الجديد استيرادها بسهولة. تكون هذه الصيغ نصية عادة ولها توثيق يشرحها؛ قد تكون SQL dump مثلاً بالنسبة لقواعد البيانات، أو ملف LDIF بالنسبة لمخدمات LDAP.
النسخ الاحتياطي لقواعد البيانات

شكل 3.2. النسخ الاحتياطي لقواعد البيانات

برمجيات المخدمات مختلفة، ومن المستحيل شرح جميع الحالات الموجودة بالتفصيل. قارن بين وثائق البرامج الحالية والبرامج الجديدة حتى تتعرف على الأجزاء القابلة للتصدير (وبالتالي، قابلة للاستيراد ثانية) والأجزاء التي تحتاج معالجة يدوية. ستوضح لك قراءة هذا الكتاب طريق إعداد البرامج الرئيسية في مخدمات لينكس.

3.2.3. السيطرة على مخدم دبيان سابق

يمكننا تحليل جهاز يعمل مسبقاً بنظام دبيان حتى نتمكن من السيطرة عليه بشكل فعال.
أول الملفات التي سنتحقق منها هو /etc/debian_version، الذي يحوي عادة رقم إصدار نسخة دبيان المُثبَّتة (هذا الملف جزء من الحزمة base-files). إذا حوى الملف codename/sid، فهذا يعني أن النظام قد حُدِّث باستخدام حزم من إحدى التوزيعات التطويرية (سواء الاختبارية أو غير المستقرة).
يفحص البرنامج apt-show-versions (من حزمة دبيان ذات الاسم نفسه) قائمة الحزم المُثبّتة ويتعرف على النسخ المتوفرة. يمكن استخدام aptitude أيضاً لأداء هذه المهام، ولو أن عملها ليس آلياً بالكامل.
بنظرة سريعة على الملف /etc/apt/sources.list (والمجلد /etc/apt/sources.list.d/) سنعرف أماكن ورود حزم دبيان إلى النظام. إذا ظهرت مصادر عديدة غير معروفة، فقد يختار مدير النظام إعادة تثبيت نظام التشغيل على الحاسوب بالكامل لضمان التوافق التام مع البرمجيات التي يوفرها دبيان.
الملف sources.list مؤشر جيد عادة: يحتفظ معظم مديري النظم بقائمة مصادر APT التي استُخدِمَت من قبل، حتى لو في التعليقات. لكن عليك ألا تنسى أن المصادر التي استخدمت في الماضي قد تحذف، كما يحتمل أن بعض الحزم العشوائية المسحوبة من الإنترنت قد ثُبِّتت يدوياً (باستخدام الأمر dpkg). في هذه الحالة، سيضللك الجهاز وستظن أنه دبيان ”قياسي“. لذلك يجب أن تنتبه إلى أي إشارة تدل على وجود حزم خارجية (ظهور ملفات deb في مجلدات غير عادية، أرقام إصدار الحزم لها لواحق خاصة تُبيِّن أن منشأها من خارج مشروع دبيان، مثل ubuntu أو lmde، الخ).
وبالمثل، من المفيد تحليل محتويات المجلد /usr/local/، الذي يفترض أن يحوي البرامج المترجمة والمُثبَّتة يدوياً. معرفة البرمجيات المُثبّتة بهذه الطريقة مفيد جداً، لأن هذا يطرح أسئلة عن سبب عدم استخدام حزم دبيان الموافقة، إذا كانت هذه الحزم متوفرة.

3.2.4. تثبيت دبيان

بعد أن نعرف كل المعلومات المطلوبة من المخدم الحالي، يمكننا إيقاف عمله والبدء بتثبيت دبيان عليه.
يجب أن نعرف معمارية الجهاز حتى نختار النسخة المناسبة له. إذا كان الجهاز حاسوباً شخصياً جديداً نوعاً ما، فالغالب أن يكون amd64 (الحواسيب الشخصية القديمة كانت i386 عادة). في الحالات الأخرى، يمكننا تضييق الاحتمالات حسب نظام التشغيل المستخدم سابقاً.
جدول 3.1 ليس شاملاً، لكنه قد يساعدك. في جميع الحالات، الوثائق الأصلية للحاسوب هي أكثر مصدر موثوق لمعرفة هذه المعلومات.

جدول 3.1. تقابل نظم التشغيل مع المعماريات

نظام التشغيلالمعماريات
DEC Unix (OSF/1)‎alpha, mipsel
HP Unixia64, hppa
IBM AIXpowerpc
Irixmips
OS Xamd64, powerpc, i386
z/OS, MVSs390x, s390
Solaris, SunOSsparc, i386, m68k
Ultrixmips
VMSalpha
Windows 95/98/MEi386
Windows NT/2000i386, alpha, ia64, mipsel
Windows XP / Windows Server 2008i386, amd64, ia64
Windows Vista / Windows 7 / Windows 8i386, amd64

3.2.5. تثبيت الخدمات المختارة وإعدادها

بعد تثبيت دبيان، علينا تثبيت وإعداد كل خدمة من الخدمات التي يجب أن يستضيفها هذ الحاسوب. يجب أن يأخذ الإعداد الجديد الإعدادات السابقة بعين الاعتبار حتى نضمن الانتقال السلس. ستفيدنا كل المعلومات التي جمعناها في الخطوتين الأوليتين لإكمال هذه المرحلة بنجاح.
تثبيت الخدمات المختارة

شكل 3.3. تثبيت الخدمات المختارة

قبل الغوص في هذه العملية بقدميك الاثنتين، نحن ننصحك بشدة بإكمال قراءة هذا الكتاب. بعد ذلك ستفهم طريقة إعداد الخدمات المطلوبة بشكل أدق.