گاهی اوقات در سیستم لینوکس مشکلاتی به وجود میآید که عملکرد آن را مختلف میکند. در این جا برای رفع اشکال نیاز دارید تا برخی دستورالعملها را پیاده کنید. بسته به اینکه باگ سیستم دقیقا چه چیزی بوده، راه حل خاص خود را نیاز دارد. این در حالی است که در اغلب موارد برای مشکلات سادهای مانند کند شدن سیستم، اختلال در عملکرد و موارد مشابه ریبوت کردن یا بازراهاندازی راهحل موثری است. در این مقاله هم ما قصد داریم تا روشهای ریبوت کردن لینوکس (process by which a running computer system is restarted) را به شما آموزش دهیم.
آشنایی با لینوکس
سیستمعامل، نرم افزاری بوده که مستقیما سخت افزار و منابع سیستم مانند CPU و حافظه را مدیریت میکند. سیستمعامل بین سخت افزارها و برنامههای کامپیوتر قرار میگیرد و به عنوان یک رابط عمل میکند. لینوکس یک سیستمعامل متن باز (Operating System) است، یعنی کدهای آن در دسترس همه افراد قرار دارد تا بتوانند تغییرات دلخواه را روی آن انجام دهند.
برای درک بهتر یک موتور خودرو را تصور کنید. یک موتور به تنهایی هم میتواند کار کند اما وقتی به گیربکس، میل لنگ و چرخها متصل شود به یک خودروی کاربردی تبدیل خواهد شد. لینوکس هم مشابه موتور خودرو است. هسته اصلی آن درست مانند موتور خودرو بوده که منابع سخت افزاری و نرم افزارها به طور مستقیم با آن مرتبط هستند.
به چه عملی ریبوت کردن (Restart کردن سیستم Linux ) میگویند؟
ریبوت کردن به راه اندازی مجدد کامپیوتر گفته میشود که همان ری استارت کردن سیستم است. گاهی اوقات ریبوت کردن برای به روز رسانی سیستم عامل، راه اندازی مجدد درایرورها یا بخشهای سخت افزاری انجام میشود. در این حالت سیستم شما در لحظه خاموش و مجدد روشن میشود. این کار باعث میشود رم خالی شده و سیستمعامل مجدد لود شود.
هیچ سیستم عاملی بدون اشکال نیست. لینوکس هم مانند هر سیستم عامل دیگری ممکن است در یک لحظه دچار مشکل شود. یکی از راههای رفع مشکل این است که آن را ریبوت کنید. با Restart کردن سیستم Linux میتوانید باگ سیستم را رفع کرده تا عملکرد آن از سر گرفته شود. بازراهاندازی دو حالت سرد و گرم دارد که لازم است با آنها آشنا باشید. در ریبوت سرد شما سیستم را یک بار به طور کامل خاموش و مجدد روشن میکنید. این در حالی است که در ریبوت گرم بدون اینکه سیستم شات دان شود، تنها سیستمعامل بارگذاری میشود.
مزایا و معایب reboot کردن سیستم Linux
دلیل اینکه گاهی نیاز به ریبوت کردن سیستم دارید این است که با نصب یک نرم افزار یا یک بهروز رسانی سیستم دچار مشکل میشود. اغلب این گونه است که سیستم در اتصال به اینترنت مشکل داشته یا پاسخ دستگاه به دستورهای شما کند است. در این صورت تمام برنامههای باز را بسته، کامپیوتر را خاموش و روشن میکنیم. در این صورت هر کدی که به صورت نادرستی در حال اجرا بوده از اول شروع به کار میکند.
مزایای ریبوت کردن
برخی اتفاقات در طول Restart کردن سیستم Linux رخ میدهند که باعث ریست شدن برخی فعالیتها داخل سیستمعامل میشود. در ادامه مزایای ریبوت کردن را با هم مرور میکنیم.
- حافظه پاک میشود: در طی روزها برنامههای مختلفی را باز و بسته میکنید. این فرآیندها در پس زمینه اجرا میشوند و همه آنها بخشی از RAM را درگیر میکنند. وقتی RAM خیلی درگیر میشود، عملکرد دستگاه هم کاهش پیدا میکند. بنابراین برای هر کار سادهای لازم است تا مدت زمان زیادی صبر کنید. ریبوت کردن حافظه را پاک میکند تا همه کارهایی که در حال اجرا بوده موقتا متوقف شده و سرعت افزایش پیدا کند.
- مانع از نشت حافظه میشود: یکی دیگر از مشکلات مربوط به حافظه این است که حتی وقتی برنامهای را میبندید، به درستی بسته نشود. این کار باعث میشود تا با اینکه دیگر نرم افزار باز نیست اما بخشی از حافظه را درگیر کند. به این موضوع نشت حافظه میگویند که باعث طولانی شدن هر فرآیندی در کامپیوتر میشود.
- اشکالات نرم افزار را تصحیح میکند: آیا برایتان پیش آمده که هنگام استفاده از یک نرم افزار متوجه شوید که مثل همیشه کار نمیکند؟ چنین مشکلاتی به راحتی با ریبوت کردن سیستم حل شده و هر نگرانی را از بین میبرند.
- سرعت عملکرد را افزایش میدهد: اگر رایانه شما کند کار میکند، راه اندازی مجدد میتواند سرعت آن را افزایش دهد. ریبوت کردن به کامپیوتر کمک میکند تا اگر مشکلی وجود داشته رفع کند تا سرعت مجدد زیاد شود. ترکیبی از مواردی مانند پاک کردن فایلها و تمیز کردن RAM نیز کمک میکند تا این مشکلات که اغلب به نام Computer cobwebs شناخته میشوند، کم شود.
معایب ریبوت کردن
همه ما حتی شده یک بار هم هنگ کردن سیستم را تجربه کردهایم، اما راه حل آن جز راه اندازی مجدد یا همان Restart کردن سیستم Linux نیست. برخلاف تصور افراد تازه کار، ری استارت کردن اصلا کار ترسناکی نبوده و اتفاقا باعث میشود تا سیستم عملکرد خود را از سر بگیرد.
با این حال همیشه این نگرانی وجود دارد که آیا reboot کردن سیستم Linux باعث آسیب دائمی به سیستم میشود یا خیر. ریبوت کردن به صورت نرم افزاری تقریبا میتوان گفت که هیچ نکته منفی ندارد مگر اینکه در زمان اشتباهی این کار را انجام دهید. تنها دو مورد وجود دارد که ممکن است باعث مشکل شود:
- هنگام ارتقا سیستم عامل خود، ریبوت نرم افزاری را آغاز میکنید اما به طور تصادفی دستگاه خود را در میانه به روز رسانی خاموش میکنید. این موضوع باعث میشود تا یک شوک لحظهای به سیستم وارد شده و دستگاه آسیب ببیند.
- ناخودآگاه بدافزاری را نصب میکنید روی سیستم که باعث آسیب به آن میشود. با ریبوت کردن، این بدافزار فعال شده و بعد از راه اندازی مجدد سیستم، اجرا میشود.
هر دوی این موارد برای جلوگیری نیاز به دقت شما دارند، وگرنه ریبوت کردن تقریبا هیچ آسیبی به سیستم شما نمیزند. اگر سیستم شما بعد از ریبوت کردن با مشکل بهم ریختگی ساعت و تاریخ روبهرو شد میتوانید با مطالعه مطلب" رفع مشکل بهم خوردن زمان لینوکس بعد از ریبوت" آن را حل کنید.
چگونه لینوکس را ریبوت کنیم؟
سیستمعامل لینوکس این قابلیت را دارد تا مدتهای زیادی، هفتهها و سالها، بدون بازراهاندازی به کار خود ادامه دهد. این قابلیت به لطف وجود پیشرفتهایی، مانند kpatch و kgraph، وجود داشته و صنایع و سازمانها از این مزیت به نحو احسنت استفاده میکنند. از طرف دیگر اینکار برای کاربران دسکتاپ قابل تحمل نبوده و نمیتوانند این فاصله زیاد بین راه اندازیهای مجدد را تحمل کنند.
البته ریبوت کردن کاربران دسکتاپ به صورت روزانه نیست، اما اکثر آنها حداقل هفتهای یکبار اینکار را انجام میدهند. همانطور که گفته شد، در بسیاری از مواقع دلیل خوبی برای ریبوت کردن سیستم وجود دارد و از طرفی مزایای اینکار شما را به انجام اینکار مایل میکند. در هر صورت برای سیستمهایی که نیاز زیادی به راه اندازی مجدد ندارند، لینوکس آپشنهای زیادی داشته تا بتوان مدت بیشتری از آن استفاده کرد.
reboot کردن سیستم Linux به واسطه رابط گرافیکی
اولین و سادهترین راه برای ریبوت کردن لینوکس برای کاربران دسکتاپ این است که بدون توجه به نوع سیستم عامل operating system آن، از طریق دکمه پاور در رابط گرافیکی، اقدام به راه اندازی مجدد کنند. معمولا این دکمه را میتوان در قسمتهای مختلف سیستم پیدا کرد. با این دکمه میتوانید سیستم را ریبوت کرده و یا خاموش کنید.
در دسکتاپ گروم، این گزینه در نوار دسکتاپ وجود دارد. همچنین این گزینه در منوی Activities نیز وجود دارد. در دسکتاپ KDE گزینه ریبوت کردن در منوی Applications موجود است. البته در دسکتاپ KDE یک راه دیگری وجود دارد و آن اینکه روی صفحه کلیک راست کرده و گزینه Leave را انتخاب کنید. با اینکار پنجره جدیدی باز شده و گزینه راه اندازی مجدد در همان جا قرار دارد.
به صورت یک قاعده کلی، دسکتاپهای مختلف دارای ویژگیها و ظاهرهای متفاوتی هستند، اما ایده اصلی برای ریبوت کردن آنها یکسان است. با استفاده از موس و بدون نیاز به کدنویسی، دکمه پاور را پیدا کرده و سیستم را ریبوت میکنید. حال ممکن است گزینههای راه اندازی مجدد و خاموش کردن هر دو موجود بوده یا تنها یکی از آنها وجود داشته باشد. اما نتیجه کار فرقی ندارد. شما به نحوی قرار است فرآیندهای سیستم را متوقف کنید و دادهها ذخیره شده، فایلهای موقت پاک شده و سپس دادهها با درایوهای سیستم همگام سازی میشوند.
reboot کردن سیستم Linux با دکمه فیزیکی
تمام سیستمهای کامپیوتری و لپ تاپها دارای دکمه فیزیکی پاور بوده و یک راه سریع و راحت برای خاموش کردن دوباره سیستم، نگه داشتن همین دکمه است. اگر این دکمه را بزنید، دسکتاپ لینوکس شما احتمالا یک منوی چند گزینهای نمایش میدهد که در آن میتوانید مواردی مانند خاموش کردن یا راه اندازی مجدد سیستم را انتخاب کنید. این گزینه توسط یک ویژگی به نام ACPI با کامپیوتر شما ارتباط برقرار میکند.
ACPI ها بسیار مهم هستند، اما به طور کلی گزینههای زیادی در اختیار کاربر قرار نمیدهد. برای تغییر در تنظیمات این بخش، کافیست به قسمت تنظیمات سیستم خود بروید. برای اینکار در دسکتاپ گنوم، به نوار دسکتاپ مراجعه کرده و وارد Activities میشوید. گزینه Settings را انتخاب کرده و در نهایت گزینه Power را بر میگزینیم. حال در بخش Suspend & Power میتوانید آن دسته از کارهایی که میخواهید با فشردن دکمه پاور انجام شوند را انتخاب کنید.
این تنظیمات در دسکتاپهای مختلف به یک شکل است. به طور مثال در دسکتاپ KDE کافیست به بخش Power Management رفته و در قسمت System Settings مواردی که برای مدیریت دکمه پاور نیاز دارید را انتخاب کنید. با انجام این تنظیمات، هربار که دکمه فیزیکی پاور را نگه دارید، تمام گزینههایی که انتخاب کردهاید برای شما نمایش داده میشود.
با توجه به مدل لپ تاپ شما، نوع فشار دادن دکمه نیز میتواند در نتیجه تفاوت ایجاد کند. مثلا یک فشار کوتاه، چند فشار پشت هم یا نگه داشتن طولانیتر. البته این موضوع را در نظر داشته باشید که نگه داشتن این دکمه به مدت طولانی ممکن است باعث خاموش شدن سیستم به صورت ناگهانی شود.
استفاده از دستور systemctl
اگر از آن دست کاربرانی هستید که بیشتر وقت خود را در قسمت ترمینال لینوکس میگذرانید، احتمالا بیشتر مایل باشید که به کمک یک دستور خاص، ریبوت کردن را انجام دهید. به طور کلی خاموش کردن یا راه اندازی مجدد از جمله فرآیندهای init system هستند. در اکثر توابع جدیدتر لینوکس، init system برای ریبوت کردن یا خاموش کردن از طریق systemctl امکان پذیر است.
دستور systemctl دارای گزینههای متعددی است که مهمترین آن شامل توقف سیستم، که منجربه متوقف کردن فعالیت دیسک شده اما برق دستگاه را قطع نمیکند، راه اندازی مجدد، فعالیت دیسک متوقف شده و سیگنال تنظیم مجدد را به مادربرد میفرستد، و خاموش کردن، فعالیت دیسک متوقف شده و برق نیز قطع میشود، است. برای ریبوت کردن لینوکس با این روش، به شکل زیر عمل کنید.
$ sudo systemctl start reboot.target
استفاده از دستور shutdown
دستوراتی مخصوص متوقف کردن یک سیستم وجود دارد. برای مثال دستور shutdown میتواند دستگاه شما را به طور کامل خاموش کند اما چند گزینه دیگر نیز وجود دارد که میتوانید به کمک آنها کنترل دقیقی روی این عملیات داشته باشید. این دستور به یک برنامه زمانی نیاز دارد تا بر حسب دقیقه بداند چه زمانی باید اجرا شود. برای راه اندازی مجدد بلافاصله، باید –r flag اضافه کنید.
$ sudo shutdown -r now
برای خاموش کردن فوری:
$ sudo shutdown -P now
یا اینکه میتوانید از دستور poweroff استفاده کنید:
$ poweroff
برای ریبوت شدن پس از 10 دقیقه:
$ sudo shutdown -r 10
استفاده از دستور shutdown یک راه بسیارامن برای خاموش کردن یا ریبوت کردن رایانه شما است. این دستور به درایوهای شما این فرصت را میدهد تا با داشتن زمان کافی، همگام سازی را انجام داده و فرآیندها را پایان دهد. در صورتی که از این دستور استفاده کنید، سیستم از قبول دیتاهای جدید در 5 دقیقه نهایی قبل از خاموش شدن جلوگیری میکند. این قابلیت برای سیستمهایی که چندین کاربر دارد، بسیار کاربردی است.
استفاده از دستور reboot
دستور reboot به خودی خود یک مسیر میانبر است تا سیستم زودتر ریبوت شود. در واقع این دستور همان کدی است که در قسمت shutdown نوشته شده و به شکل زیر تایپ میشود.
shutdown -r now
از طریق ترمینال لینوکس، این دستور سادهترین و سریعترین روش برای راه اندازی مجدد سیستم است.
$ sudo reboot
اگر سیستم شما در یک حالتی قرار گرفته است که به شما اجازه خاموش شدن نمیدهد، تنها راه این است که از –force flag استفاده کنید. این گزینه برای سیستم شما خوب نیست و میتواند شک زیادی به برنامههای در حال اجرا وارد کند. اما اگر هیچ راه دیگری وجود نداشته باشد، و سیستم از دستور shutdown شما پیروی نمیکند، مجبور خواهید شد برای خاموش کردن سیستم از این دستور استفاده کنید.
سخن پایانی
حالا که با ریبوت کردن لینوکس و مزایا و معایب آن آشنا شدید، دفعه بعدی که مشکلی برای سیستم به وجود آمد نگران نشوید. دلیل آن هم این است که در سیستمهای نرم افزاری همیشه راهی برای حل مشکلات وجود دارد. اغلب این مشکلات ساده و روتین هم با ریاستارت کردن سیستم حل و فصل میشود.
سوالات متداول
- ریبوت کردن چیست؟
ریبوت کردن به راه اندازی مجدد یک سیستم گفته میشود که سادهترین روش آن خاموش و روشن کردن کامپیوتر است.
- آیا ریبوت کردن لینوکس کار درستی است؟
ریبوت کردن لینوکس یا هر سیستم عامل (operating system) دیگری باعث اشکال زدایی در آن میشود. بنابراین اگر به درستی انجام شود، نه تنها مشکلی نداشته که مفید هم است.
- چند راه برای reboot کردن سیستم Linux وجود دارد؟
سه راه برای ریبوت کردن لینوکس وجود دارد؛
- دستی سیستم را خاموش و روشن کنید.
- با کد زدن این دستور را به سیستم بدهید.
- با استفاده از رابط گرافیکی سیستم را ریبوت کنید.