Product SiteDocumentation Site

3.2. چگونگی مهاجرت

به منظور تضمین ادامه این خدمات، مهاجرت هر رایانه باید با برنامه‌ریزی و زمان‌بندی طبق طرح اصلی باشد. این اصول اولیه در مورد هر سیستم عاملی صدق می‌کند.

3.2.1. نظرسنجی و شناسایی خدمات

این گام با اینکه ساده به نظر می‌رسد، اما ضروری است. یک مدیر سیستم جدی نقش تمام سرورهای تحت کنترلش را می‌داند، اما این نقش‌ها می‌توانند تغییر یابند و گاهی اوقات کاربران باتجربه ممکن است خدمات “عجیب و غریب” را اضافه کنند. اطلاع از وجود این خدمات به شما اجازه تصمیم‌گیری می‌دهد تا اینکه به طور اتفاقی همه را پاک کنید.
به همین منظور، بهتر است که کاربران خود را قبل از مهاجرت آگاه سازید. برای مشارکت آن‌ها در پروژه، نصب اکثر برنامه‌های آزاد روی میزکارشان قبل از مهاجرت کار خوبی بنظر می‌رسد، برنامه‌هایی که بعداً با آن‌ها سر و کار خواهند داشت پس از مهاجرت به دبیان؛ بهترین نمونه‌ها عبارتند از لیبره آفیس و مجموعه موزیلا.

3.2.1.1. شبکه و فرآیندها

ابزار nmap (در بسته‌ای با همین نام) به سرعت سرویس‌ها اینترنتی موجود در یک شبکه توسط ماشین‌های مختلف را شناسایی می‌کند بدون آنکه نیاز باشد به این ماشین‌ها وارد شویم. تنها کافی است دستور زیر را روی ماشین دیگری از همان شبکه اجرا کنید:
$ nmap mirwiz
Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-06 14:41 CEST
Nmap scan report for mirwiz (192.168.1.104)
Host is up (0.00062s latency).
Not shown: 992 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
5666/tcp open  nrpe
9999/tcp open  abyss

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
اگر سرور یک ماشین یونیکس باشد که حساب‌کاربری شل در اختیار کاربرانش می‌گذارد، شناسایی اینکه فرآیندها در پیش‌زمینه در غیاب مالکشان اجرا می‌شوند، امر جالبی است. دستور ps auxw فهرستی از تمام فرآیندها به همراه هویت کاربرشان ارائه می‌دهد. با بررسی اطلاعات خروجی با دستور who، که فهرستی از کاربران وارد شده را نمایش می‌دهد، شناسایی سرورها و برنامه‌هایی که بدون نام در پیش‌زمینه اجرا شده‌اند، ممکن می‌شود. نگاهی بر crontabs (جدولی که رویدادهای خودکار را در بازه‌ای از زمان برای کاربر اجرا می‌کند) معمولاً اطلاعات جالبی در شیوه استفاده از سرور در اختیار می‌گذارد (توضیح کامل cron در قسمت 9.7, “زمان‌بندی وظیفه‌ها با cron و atd موجود است).
در هر صورت، پشتیبان‌گیری از سرور امری ضروری است: این عملیات امکان بازیابی اطلاعات سرور پس از یک گزارش بروز مشکل در عملیات مهاجرت را فراهم می‌سازد.

3.2.2. پشتیبان‌گیری از فایل‌های پیکربندی

منطقی است که از فایل‌های پیکربندی سرویس موجود که قصد جایگزین کردن آن با سرویس جدیدی را داریم، پشتیبان تهیه کنیم. حداقل می‌توان یک کپی از تمام فایل‌های پیکربندی برای هر سرویس را تهیه کرد.
برای ماشین‌های یونیکس، فایل‌های پیکربندی معمولاً در مسیر /etc/ قرار دارند، اما ممکن است در یک زیرمجموعه از /usr/local/ نیز قرار بگیرند. این مورد از برنامه‌هایی که مستقیماً از سورس کامپایل می‌شوند صدق می‌کند، جدای از بسته‌های موجود. در بعضی موارد، ممکن است این فایل‌ها را در /opt/ نیز پیدا کنید.
برای سرویس‌هایی که با مدیریت داده سروکار دارند (مانند پایگاه‌داده‌ها)، به شدت توصیه می‌شود که تمام داده موجود در یک قالب استاندارد که توسط نرم‌افزار جدید خوانده خواهد شد، خروجی گرفته شود. چنین قالبی معمولاً به صورت متنی و مستندسازی شده است؛ برای نمونه، ممکن است یک فایل SQL از پایگاه‌داده یا یک فایل 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. سازگاری سیستم عامل با معماری

سیستم عاملمعماری(ها)
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 RTarmel, armhf, arm64
Windows Vista / Windows 7-8-10i386, amd64

3.2.5. نصب و پیکربندی سرویس‌های انتخاب شده

زمانی که دبیان نصب می‌شود، باید تک به تک تمام سرویس‌هایی که این رایانه از آن‌ها میزبانی می‌کند را نصب و پیکربندی کنیم. پیکربندی جدید باید بر اساس نیازهای موجود در پیکربندی سابق صورت گیرد تا فرآیند مهاجرت آسان‌تر دنبال شود. تمام اطلاعاتی که در گام‌های قبل جمع‌آوری گردیده‌اند برای ببا موفقیت اجرا کردن این قسمت، کاربردی خواهند بود.
نصب سرویس‌های انتخاب شده

شكل 3.3. نصب سرویس‌های انتخاب شده

قبل از ورود به این تمرین، به شدت توصیه می‌شود که باقی کتاب را بخوانید. پس از مطالعه آن است که می‌توانید به درک درستی از چگونگی پیکربندی سرویس‌های مورد نیاز دست یابید.