خانه » چگونه فضا را در پارتیشن boot در لینوکس اوبونتو خالی کنیم؟
آموزش لینوکس

چگونه فضا را در پارتیشن boot در لینوکس اوبونتو خالی کنیم؟

با اخطاری مبنی بر اینکه پارتیشن بوت فضایی ندارد روبرو شده‌‍اید؟ من در اینجا چند راه به شما معرفی می کنم که می توانید فضای پارتیشن بوت را در لینوکس اوبونتو خالی کنید.

روز گذشته، اخطاری دریافت کردم که پارتیشن بوت تقریباً پر است یا فضایی باقی نمانده است. بله، من یک پارتیشن بوت جداگانه دارم، فکر می کنم این روزها افراد زیادی این کار را نمی کنند.

به همین دلیل تصمیم گرفتم در مورد مراحلی که برای آزاد کردن مقداری فضا در پارتیشن boot دنبال کردم بنویسم.

فضا را در پارتیشن boot در اوبونتو آزاد کنید (اگر فضای پارتیشن بوت شما تمام شده باشد)

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

روش 1: استفاده از apt autoremove

برای انجام این کار لازم نیست متخصص باشید، این فقط یک دستور است و به منظور آزاد کردن فضا در پارتیشن boot، هسته های استفاده نشده را حذف خواهد کرد.

تنها کاری که باید انجام دهید این است که در ترمینال تایپ کنی

sudo apt autoremove

این نه‌تنها هسته‌های استفاده‌نشده را حذف می‌کند، بلکه از وابستگی‌هایی که توسط هیچ‌یک از ابزارهای نصب‌شده مورد نیاز نیست را هم پاک می‌کند.

هنگامی که فرمان را وارد کردید، لیست مواردی که حذف می شوند نمایش می‌دهد و کافی است عمل را تأیید کنید. اگر کنجکاو هستید، می‌توانید آن را با دقت مرور کنید و ببینید در واقع چه چیزهایی را حذف می‌شوند.

در اینجا چگونه به نظر می‌رسد:

برای ادامه باید Y را فشار دهید.

شایان ذکر است که این روش تنها در صورتی کار می کند که فضای کمی باقی مانده باشد و اخطار دریافت کنید. اما، اگر پارتیشن boot شما پر باشد، ممکن است APT کار نکند.

در روش بعدی، دو روش مختلف را ارائه می‌کنم که از طریق آنها می‌توانید هسته‌های قدیمی را حذف کنید تا فضا را با استفاده از رابط کاربری گرافیکی و همچنین ترمینال آزاد کنید.

روش 2: هسته استفاده نشده را به صورت دستی حذف کنید (اگر apt autoremove کار نکرد)

قبل از اینکه بخواهید هسته‌های قدیمی‌تر را برای آزاد کردن فضا حذف کنید، باید هسته فعال فعلی را شناسایی کنید و مطمئن شوید که آن را حذف نمی‌کنید.

برای بررسی نسخه هسته خود ، دستور زیر را در ترمینال وارد کنید:

uname -r

دستور uname معمولاً برای دریافت اطلاعات سیستم لینوکس استفاده می شود . در اینجا، این دستور هسته فعلی لینوکس مورد استفاده را نشان می‌دهد. 

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

هشدار!
در هنگام حذف کرنل ها بیشتر مراقب باشید. فقط هسته های قدیمی را شناسایی و حذف کنید، نه هسته فعلی که استفاده می کنید. در غیر این صورت سیستم خراب خواهید داشت.

استفاده از ابزار رابط کاربری گرافیکی برای حذف هسته‌های قدیمی لینوکس

برای شروع می توانید از Synaptic Package Manager یا ابزاری مانند Stacer استفاده کنید. شخصاً وقتی با یک پارتیشن پر boot مواجه می‌شود که با دستور apt نمی‌توانم فایل‌های هسته اضافی را پاک کنم، از Stacer برای خلاص شدن از شر آنهااستفاده می‌‌کنم. بنابراین، اجازه دهید به هم ببینیم چگونه باید از این روش استفاده کرد.

ابتدا باید «Stacer» را راه نصب کنید و سپس همانطور که در تصویر زیر نشان داده شده است به بخش پاک کننده بسته بروید.

در ” image” جستجو کنید و تصاویر هسته های لینوکس را پیدا خواهید کرد. شما فقط باید نسخه های قدیمی هسته را حذف کنید. دقت کنید image هسته فعلی خود را حذف نکنید.

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

به همین ترتیب، کافی است «header» را در لیست بسته‌ها جستجو کنید و موارد قدیمی را مانند شکل زیر حذف کنید.

هشدار، شما نباید “linux-headers-generic” را حذف کنید . فقط روی آنهایی تمرکز کنید که شماره نسخه همراه خود دارند.

و تمام، و apt دوباره کار می کند و با موفقیت مقداری فضا را از پارتیشن boot خود آزاد کرده اید. به طور مشابه، می توانید این کار را با استفاده از هر مدیر بسته دیگری که با آن راحت هستید انجام دهید.

استفاده از خط فرمان برای حذف هسته‌های قدیمی

اینبا می‌خواهیم همین کار را با استفاده از ترمینال انجام دهیم. بنابراین، اگر گزینه‌ای برای استفاده از رابط کاربری گرافیکی ندارید (اگر یک ماشین/سرور از راه دور است) یا اگر با ترمینال راحت هستید، می توانید مراحل زیر را دنبال کنید.

ابتدا تمام هسته های نصب شده خود را با استفاده از دستور زیر لیست کنید:

ls -l /boot

باید چیزی شبیه این باشد:

مواردی که به‌عنوان «old» ذکر شده‌اند یا آن‌هایی که با نسخه هسته فعلی شما مطابقت ندارند، هسته‌های استفاده نشده‌ای هستند که می‌توانید آن‌ها را حذف کنید.

اکنون می‌توانید از دستور rm برای حذف هسته‌های خاص از پارتیشن بوت با استفاده از دستور زیر استفاده کنید (یک دستور برای هر کدام):

sudo rm /boot/vmlinuz-5.4.0-7634-generic

حتماً نسخه سیستم خود را بررسی کنید – ممکن است برای سیستم شما متفاوت باشد.

اگر تعداد زیادی کرنل استفاده نشده دارید، این کار به زمان نیاز دارد.  شما همچنین می توانید با استفاده از دستور زیر از شر چندین هسته خلاص شوید:

sudo rm /boot/*-5.4.0-{7634}-*

برای روشن شدن موضوع، باید آخرین قسمت/کد نسخه‌های کرنل را که با کاما از هم جدا شده‌اند بنویسید تا همه آن‌ها را به یکباره حذف کنید.

فرض کنید من دو هسته قدیمی 5.4.0-7634-generic و 5.4.0-7624 دارم، دستور به این صورت خواهد بود:

sudo rm /boot/*-5.4.0-{7634,7624}-*

اگر نمی‌خواهید نسخه هسته قدیمی را در منوی بوت grub ببینید، می‌توانید به سادگی grub را با استفاده از دستور زیر به‌روزرسانی کنید:

sudo update-grub

امیدوارم این مطلب برای شما مفید باشد. اگر راه دیگری هم می‌شناسید، آنرا در بخش نظرات با من در میان بگذارید.

مهدی منصوری

من مهدی منصوری و کارشناس حوزه نرم افزار و امنیت اطلاعات هستم. کارشناسی ارشد خودم را در رشته امنیت اطلاعات از دانشگاه مالک اشتر تهران گرفتم. هم اکنون در زمینه DevOPS مشغول هستم. و در زمان های ممکن در این سایت و چند سایت دیگه مطلب می گذارم

درباره نویسنده

مهدی منصوری

من مهدی منصوری و کارشناس حوزه نرم افزار و امنیت اطلاعات هستم. کارشناسی ارشد خودم را در رشته امنیت اطلاعات از دانشگاه مالک اشتر تهران گرفتم.
هم اکنون در زمینه DevOPS مشغول هستم. و در زمان های ممکن در این سایت و چند سایت دیگه مطلب می گذارم

افزودن نظر

برای ارسال نظرات خود اینجا را کلیک کنید