روش برای بوت سریع لینوکس
لینوکس به ندرت نیاز به راهاندازی مجدد (reboot) دارد اما وقتی ریبوت میشود به آهستگی، راهاندازی (boot) میشود. برای تسریع این روند راههایی وجود دارد.
لینوکس به ندرت نیاز به راهاندازی مجدد (reboot) دارد اما وقتی ریبوت میشود به آهستگی، راهاندازی (boot) میشود. برای تسریع این روند راههایی وجود دارد. بعضی از این روشها متفاوت نیستند و بعضی دیگر مناسب کاربران سرور و کاربران دسکتاپ هستند.
با هم نگاهی به این روشها خواهیم داشت.
توجه داشته باشید که هرجا به دسترسی روت در پوسته خط فرمان نیاز بود باید دستورsu - را تایپ سپس رمز عبور روت را وارد کنید.
۱) غیرفعال کردن سرویسهای غیرضروری
با توجه به کاربرد استفاده سیستمتان، به بسیاری از سرویسها نیازی نخواهد بود. آیا لینوکس را فقط برای دسکتاپ میخواهید؟ در این صورت نیازی به فرستادن نامه الکترونیکی، httpd و خیلی از سرویسهای دیگر نخواهید داشت. اگر سرور شما فقط یک وب سرور است میتوانید خیلی از سرویسها را کاهش دهید. برای انجام این کار، میتوانید از طریق منو Administration و زیر منو services نگاهی به سرویسها بیاندازید. فقط کافی است که سرویسهایی که نمیخواهید شروع به کار کنند را از حالت انتخاب خارج کنید (deselect).
۲) غیرفعال کردن ماجولهای کرنل غیرضروری
اگر دسکتاپ شما به Ethernet متصل است در این صورت نیازی به داشتن یک ماجول کرنل بیسیم بارگذاری شده (loaded) نخواهید داشت. این وظیفه (task) اندکی متفاوتتر است و به دوباره کامپایل کردن (recompile) کرنل نیاز خواهد داشت که کار آسانی نیست. برای تحقق این امر به منابع کرنل نیاز دارید. در این صورت مراحل استاندارد کامپایل کرنل را دنبال کنید. در این مرحله به سراغ ماجولها میروید و آنها را غیرفعال میکنید.
بهترین راه برای پی بردن به اینکه چه ماجولهای کرنلی نصب شده، این است که Bootchart را نصب کنید. با نصب این ابزار نه تنها لیست خوبی از ماجولها را در اختیار دارید بلکه به صورت گرافیکی به شما توضیح میدهد که چه اتفاقاتی در طول بوت سیستم روی خواهد داد. برای مثال، سیستمعامل شما در چند ثانیه راهاندازی میشود و در طی راهاندازی چه سرویسهایی به کار میافتند. میتوانید در ترمینال با دسترسی روت، فرمان زیر را وارد کنید:
chkconfig --list | grep ۳ : on
متوجه میشوید چه ماجولهایی در حال بارگذاری هستند و شما به آنها نیازی ندارید و میتوانید در مدت recompile کرنل آنها را remove کنید. در این مدت کم، کرنل را مطابق Architecture کامپایل کنید.
۳) از یک window manager سبکتر به جای Gnome یا KDE استفاده کنید
من از یک مدیر پنجره کوچکتر استفاده میکنم زیرا این نوع مدیر پنجره، زمان بوت گرافیکی را کاهش میدهد. به جای اینکه ۳۰ تا ۶۰ ثانیه منتظر راهاندازی Gnome یا KDE باشید میتوانید از XFCE برای بوت استفاده کنید؟ این window managerها نه فقط زمان بوت را کاهش میدهند بلکه در حافظه نیز صرفهجویی میکنند.
۴) استفاده از یک لاگین متنی به جای یک لاگین گرافیکی
بیشتر سیستمهای لینوکسی به جای راهاندازی از طریق run level ۵ (محیط گرافیکی) با run level ۳ (محیط متنی) راهاندازی میشوند. در run level ۳ شما در محیط لاگین بر مبنای متن (logintext based) متوقف خواهید شد. در این حالت باید نام کاربری و رمز عبور خود را به ترتیب وارد و در صورتی که به محیط گرافیکی نیاز داشتید کافی است از دستور startx استفاده کنید.
در صورتی که بخواهید run level را تغییر دهید ابتدا ترمینال خود را باز سپس با دسترسی روت فرمان زیر را تایپ کنید:
#vi /etc/inittab
در صفحهای که باز میشود دنبال خطی مانند id:۵:init default بگردید. کافی است ابتدا با دکمههای حرکتی روی عدد ۵ قرار بگیرید سپس دکمه i را فشار دهید. پس از آن دکمه delete را بزنید و به جای عدد ۵ عدد ۳ را تایپ کنید. سپس دکمه escapeکیبرد را فشار دهید و برای save و خروج از فایل کافی است تایپ کنید:
:wq
اکنون در صورت Restart سیستم شما به صورت متنی لاگین میشوید. برای تغییر Run Level یک روش سادهتر نیز وجود دارد و آن اینکه موقع بالا آمدن سیستم زمانی که ثانیه شمار صفحه گراب به صورت معکوس در حرکت است یکی از دکمههای حرکتی کیبورد را فشار دهید. ممکن است با این حرکت خطی مثل خط زیر دیده شود:
kernel /vmlinuz-۲.۶.۹-۱.۶۶۷ ro root=LABEL=/ acpi=on rhgb quiet کافی است که عدد runlevel موردنظر را به انتهای خط اضافه کنید و enter را بزنید.
۵) استفاده از یک توزیع (distribution) سبکتر
به جای راهاندازی فدورای سنگینوزن، چرا Gentoo، Arch یا Puppy Linux را انتخاب نمیکنید؟ از بزرگترین توزیعها، OpenSuSE ادعای سریعترین بوت را دارد.
۶) استفاده از Open Bios
اگر به اندازه کافی زیرک باشید، برای ارتقای میانافزار PC خود، ممکن است مهاجرت به بایوس اپنسورس را در نظر بگیرید. در واقع میانافزار (firmware) اپنسورس به لینوکس اجازه مقداردهی اولیه سختافزار هنگام بوت شدن را میدهد. علاوه بر آن، بسیاری از بایوسهای اپنسورس میتوانند بر مبنای نیاز مشخص ماشینتان تنظیم شوند. اگر جرأت تجربه این مسیر را ندارید حداقل در قسمت Boot Sequence بایوس خود را در صورت نبود درایو فلاپی، غیرفعال کنید و در قسمت تعیین اولویت بوت، راهانداز مستقیم را در هارددرایو قرار دهید. برای گرفتن اطلاعات بیشتر در خصوص پروژه openbios میتوانید به وبسایت این پروژه در آدرس
http://openbios.info/Welcome_to_OpenBIOS مراجعه کنید.
۷) پرهیز از dhcp
اگر روی یک شبکه خانگی یا یک شبکه تجاری کوچک کار میکنید IP address استاتیک را به کار گیرید. این روش ماشین شما را از فرا خواندن dhcp server برای گرفتن IP address حفظ میکند. مطمئن شوید که تنظیمات را در مسیر etc/resolv.conf به منظور برگرداندن آدرسهایDNS server انجام میدهید.
۸) از hotplug خلاص شو
Hotplug سیستمی است که به شما اجازه متصل کردن یک دستگاه جدید و استفاده سریع از آن را بدون نیاز به خاموش یا Restart کردن سیستم میدهد. اگر میدانید که سرور شما به این سیستم نیاز ندارد، حذفش کنید. با این کار زمان بوت را کاهش میدهید. روی بسیاری از سیستمها، مصرف hotplug بیشتر از زمان بوت است. حذف این سیستم بستگی به توزیعی دارد که استفاده میکنید.
توجه داشته باشید که udev در بیشتر بخشها جانشین hotplug شده است اما اگر از یک توزیع قدیمی استفاده میکنید این دستور به کار میرود.
۹) initng را امتحان کن
سیستم initng به عنوان یک جایگزین برای سیستم sysvinit خدمت میکند و متعهد میشود که در کاهش زمان بوت سیستمعاملهای یونیکس، مانند UNIX-like مؤثر باشد. اگر میخواهید که سیستم initng را در عمل ببینید، میتوانید از Pingwinek livecd (دیسک زنده پینگ وینک) استفاده کنید.
sysvinit شامل یک گروه از فرآیندهاست که وظایف ابتدایی سیستم را کنترل میکند. شامل برنامه init -اولین برنامه شروع شده توسط کرنل لینوکس وقتی که سیستم بوت میشود- است. سپس init، startup را کنترل میکند و راه میاندازد و تمام برنامههای دیگر را shutdown میکند. Initng جایگزین ابزار sysvinit شده است.
۱۰) دبیان را هک کن
اگر از توزیع دبیان بهره میبرید، یک هک کوچک وجود دارد که میتوانید از آن برای سوئیچ به اسکریپتهای startup برای اجرای parallel استفاده کنید. اگر نگاهی به اسکریپت /etc/init.d/rc بیاندازید حدود خط بیست و چهارم با عبارتی مانند CONCURRENCY=none مواجه میشوید. این عبارت را به CONCURRENCY=shell تغییر دهید. با این هک شما شاهد کاهش زمان بوت سیستم خواهید بود.
هکهای بیشتر و بهتری در این مورد وجود دارد اما خوبی هک مذکور این است که تمام موارد را تحت پوشش قرار میدهد. خبر خوب برای شما دوستان این است که شما پیش از این لینوکس را اجرا کردید بنابراین ریبوت کمتری خواهید داشت.