Product SiteDocumentation Site

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

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

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

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

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

The nmap tool (in the package with the same name) will quickly identify Internet services hosted by a network connected machine without even requiring to log in to it. Simply call the following command on another machine connected to the same network:
$ 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 أيضاً لأداء هذه المهام، ولو أن عملها ليس آلياً بالكامل.
A glance at the /etc/apt/sources.list file (and /etc/apt/sources.list.d/ directory) will show where the installed Debian packages likely came from. If many unknown sources appear, the administrator may choose to completely reinstall the computer's system to ensure optimal compatibility with the software provided by Debian.
الملف 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. تثبيت الخدمات المختارة وإعدادها

Once Debian is installed, we must install and configure one by one all of the services that this computer must host. The new configuration must take into consideration the prior one in order to ensure a smooth transition. All the information collected in the first two steps will be useful to successfully complete this part.
تثبيت الخدمات المختارة

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

Prior to jumping into this exercise with both feet, it is strongly recommended that you read the remainder of this book. After that you will have a more precise understanding of how to configure the expected services.