گنو/لینوکس

چگونه هسته های قدیمی را در اوبونتو ۱۶٫۰۴ حذف کنیم؟

نوشته شده توسط اروند طباطبایی

در سیستم‌هایی که با محدودیت حجم رو به رو هستند یا از LVM استفاده شده یا اینکه رمزگذاری شده‌اند، برای جلوگیری از پر شدن پارتیشن /boot معمولاً نیاز دارید که هسته های قدیمی سیستم عامل را پاک کنید.

حذف هسته های قدیمی کار ساده‌ای است. این کار را هم به صورت دستی می‌توان انجام داد و هم اینکه سیستم را طوری تنظیم کرد که این کار را به طور اتوماتیک انجام دهد.

برای شروع ترمینال را از لانچر یا با کلید های Ctrl + Alt +T باز و مراحل زیر را دنبال کنید:

حذف هسته هایی که خودکار نصب شده اند:

۱- برای حذف هسته هایی که هنگام به روزرسانی سیستم عامل خودکار نصب شده‌اند، دستور زیر را اجرا کنید:

این دستور از شما خواهد خواست تا پسورد خود را وارد کنید تا هسته های قدیمی و هر پکیجی که دیگر در سیستم مورد نیاز نیست را حذف کند.

sudo-apt-autoremove-purge

۲- برای فعال سازی حذف خودکار هسته های قدیمی مراحل زیر را دنبال کنید:

اگر پکیج منیجر سیستم عامل دچار تداخل شده باشد، فعال کردن حذف خودکار هسته ممکن است باعث بروز مشکلاتی شود: لینک

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

فایل کانفیگ پکیج منیجر را با دستور زیر باز کنید (ابتدا gksu را با دستور sudo apt install gksu نصب کنید) :

بعد از باز کردن فایل خط زیر را با حذف دو اسلش ابتدایی خط از حالت توضیح در آورده و مقدار false آن را به true تبدیل کنید:

پس در نهایت چنین چیزی خواهیم داشت:

gksudo-gedit-unattended-upgrades

حذف هسته های قدیمی به صورت دستی:

اگر هسته ی خود را از Kernel PPA نصب کرده‌اید یا آن را با پچ ها آپدیت کرده اید، اسکریپت purge-old-kernels می‌تواند بهترین و ساده‌ترین روش برای حذف هسته ی قدیمی باشد

۱- این اسکریپت در پکیجی به نام byobu نگهداری می‌شود، پس اول باید آن را نصب کنیم:

۲- سپس برای حذف هسته ی قدیمی اسکریپت را اجرا می کنیم:

حذف هسته های قدیمی با DPKG

اگر پارتیشن /boot در هنگام آپگرید یا نصب پکیج ها پر شده، یا اینکه apt (اسکریپت بالا از apt استفاده می کند) به علت وجود ناسازگاری در وابستگی‌ها نمی‌تواند پکیجی را حذف کند، می‌توانید به صورت دستی پکیج ها را پیدا و با DPKG حذف کنید:

۱- برای اینکه از ورژن هسته ی فعلی خود آگاه شوید دستور زیر را اجرا کنید:

۲- دستور زیر لیستی شامل کرنل های موجود را می دهد، البته به جز کرنلی که در حال حاضر سیستم با آن بوت شده است.

نمونه‌ای از خروجی:

در خروجی بالا سه نوع وضعیت وجود دارد:

rc: این وضعیت یعنی این مورد حذف شده است

ii: این وضعیت یعنی این ورژن نصب شده و می‌تواند حذف شود

iU: این مورد را حذف نکنید! معنای آن این است که این مورد نصب نشده ولی در لیست انتظار APT برای نصب قرار دارد.

۳- هسته های قدیمی با وضعیت ii را می‌توانید حذف کنید. در مثال بالا ای مورد linux-image-4.4.0-18-generic است:

اگر دستور بالا با شکست مواجه شد پکیج های وابسته به آن را که در خروجی قبل دیده می‌شود را با این دستور حذف کنید:

همچنین فایل‌های هدر مربوطه را حذف کنید(اگر دستور با شکست مواجه شد نگران نشوید):

در نهایت ممکن است به علت تغییراتی که در سیستم اعمال کردیم ناسازگاری هایی بین پکیج ها به وجود آمده باشد، دستور زیر را برای رفع ناسازگاری ها اجرا کنید:

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

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

اروند طباطبایی

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

تبادل نظر و رفع عیب با ثبت دیدگاه