SSD Nodes Learn Hosting plans →
మార్గదర్శకాలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-30

Ubuntuలో పాత kernels తొలగించి /boot స్థలం ఖాళీ చేయడం

పాత linux-image packages వల్ల /boot నిండితే apt ఏ packageనూ configure చేయదు. సురక్షితంగా తొలగించగల kernels గుర్తించి, ప్రస్తుతం boot అయిన kernel‌ను ఉంచే విధానం తెలుసుకోండి.

పాత kernels వల్ల /boot నిండిపోయినప్పుడు apt పనిచేయడం ఎందుకు ఆగిపోతుంది

Ubuntuలో ప్రతి kernel update కొత్త files సమూహాన్ని /boot లో రాస్తుంది. మునుపటి files ను అక్కడే ఉంచుతుంది. అందువల్ల చిన్న /boot partition నిండిపోతుంది. apt install ను పూర్తి చేయలేకపోతుంది. దీని పరిష్కారం రెండు దశల్లో ఉంటుంది. ఈ systemలో kernel packages ఏవో, ప్రస్తుతం boot అయిన kernel ఏదో ముందుగా గుర్తించాలి. తరువాత మిగిలిన వాటిని apt autoremove --purge తో తొలగించాలి.

క్రమం ముఖ్యమైనది. ప్రస్తుతం నడుస్తున్న kernel package ను తప్పనిసరిగా ఉంచాలి. ఈ system ఇప్పటికే apt అసలు పనిచేయలేని స్థితిలో ఉండవచ్చు. ముందుగా diagnosis చేయండి.

విఫలత వాస్తవంగా ఎలా కనిపిస్తుంది

ఒక kernel version రెండు పెద్ద files ను /boot లో install చేస్తుంది: compressed kernel (vmlinuz-<version>) మరియు initramfs (initial RAM filesystem, initrd.img-<version>; నిజమైన root ను mount చేయడానికి ముందు kernel unpack చేసే చిన్న archive). Install సమయంలో initramfs మీ machine పై build అవుతుంది. అందుకే install కు download bandwidth మాత్రమే కాకుండా free space కూడా అవసరం. స్థలం పూర్తిగా నిండితే build విఫలమవుతుంది. దాంతో package install కూడా విఫలమవుతుంది.

update-initramfs: Generating /boot/initrd.img-6.8.0-64-generic
gzip: stdout: No space left on device
E: mkinitramfs failure gzip 1
update-initramfs: failed for /boot/initrd.img-6.8.0-64-generic with 1.
dpkg: error processing package linux-image-6.8.0-64-generic (--configure):
 installed linux-image-6.8.0-64-generic package post-installation script subprocess returned error exit status 1

Version string మీ machine కు సంబంధించినదిగా ఉంటుంది. Compressor name /etc/initramfs-tools/initramfs.conf లోని COMPRESS= నుంచి వస్తుంది. అందువల్ల recent image లో zstd అని, పాత image లో gzip అని పేరు ఉండవచ్చు. ఈ సమస్యను గుర్తించే రెండు lines No space left on device మరియు దాని కింద ఉన్న dpkg: error processing package line.

దాని తరువాత package half-configured స్థితిలో ఉంటుంది. ప్రతి తర్వాతి apt run దానిని మళ్లీ configure చేయడానికి ప్రయత్నిస్తుంది. అదే విధంగా విఫలమై, చివరికి E: Sub-process /usr/bin/dpkg returned an error code (1) తో ముగుస్తుంది. Disk space సమస్యకన్నా ముఖ్యమైన ప్రభావం ఇదే: unattended-upgrades తన timer ప్రకారం run అయి అదే error ను ఎదుర్కొని ఆగిపోతుంది. Server సక్రమంగా ఉన్నట్లు కనిపిస్తుంది. కానీ security patches వర్తింపజేయడం నిశ్శబ్దంగా ఆగిపోతుంది. మీరు సంబంధం లేని ఏదైనా install చేయడానికి ప్రయత్నించినా అదే line తో విఫలమవుతుంది. ఆ సమయంలో మీరు install చేస్తున్న package పైనే కారణం పడుతుంది. అందుకే Ubuntu లో విఫలమయ్యే Tailscale install ను ముందుగా apt error గా చదవడం ఉపయోగకరం. మీరు ఇక్కడికి చేరకముందే apt update విఫలమైతే, అది వేరే సమస్య. సాధారణంగా అది deb822 sources migration తర్వాత ఏర్పడిన duplicate entry వల్ల వస్తుంది.

/boot ప్రత్యేక partition కాదో తనిఖీ చేయండి

ఏదైనా తొలగించే ముందు, మీరు నిజంగా ఏ స్థలాన్ని ఖాళీ చేస్తున్నారో తెలుసుకోండి.

findmnt /boot
findmnt -T /boot
df -h /boot /

మొదటి command, /boot దాని స్వంత mount point అయితే మాత్రమే ఒక పంక్తిని చూపిస్తుంది. రెండవది ఎల్లప్పుడూ ఫలితాన్ని చూపించి, /boot ను వాస్తవంగా కలిగి ఉన్న filesystem పేరును చూపిస్తుంది. రెండూ / కు సంబంధించిన అదే filesystem పేరును చూపిస్తే, /boot root filesystem లోని ఒక directory మాత్రమే. అది స్వతంత్రంగా full కాలేదు. మీ root filesystem full అయింది. పాత kernels అనేక కారణాల్లో ఒకటి మాత్రమే. అటువంటి సందర్భంలో sudo apt clean, /var/cache/apt/archives కింద download చేసిన .deb files ను ఖాళీ చేస్తుంది, కాబట్టి కొంత స్థలం లభిస్తుంది. నిజమైన /boot partition ఉన్న machine లో apt clean అక్కడ ఎలాంటి స్థలాన్నీ ఖాళీ చేయదు. కారణం cache వేరే filesystem లో ఉంటుంది.

ఇప్పుడు మీరు ఆధారంగా ఉపయోగించాల్సిన సంఖ్యను తెలుసుకోండి.

df -h /boot
ls -lh /boot/vmlinuz-$(uname -r) /boot/initrd.img-$(uname -r)

Avail column ను ఆ రెండు files పరిమాణాలతో పోల్చండి. initrd పెద్దది. తదుపరి kernel update కు దాదాపు అదే పరిమాణంలో మరో జంటకు స్థలం అవసరం. కాబట్టి Avail ప్రస్తుత initrd కంటే చిన్నగా ఉంటే, తదుపరి update ఇప్పటికే విఫలమవుతుంది.

మీరు ప్రస్తుతం నడుపుతున్న kernel ను గుర్తించండి

uname -r
cat /var/run/reboot-required.pkgs

uname -r ప్రస్తుతం memory లో ఉన్న kernel యొక్క release string ను చూపిస్తుంది. ఆ string ను ఎక్కడైనా copy చేసుకోండి. మీరు తప్పనిసరిగా మార్చకూడని version ఇదే.

రెండవ file ఉండటం అంటే ఏదో package reboot చేయమని కోరిందని అర్థం. అందులోని linux-image line, disk పై కొత్త kernel install అయిందని, కానీ అది ఉపయోగంలో లేదని సూచిస్తుంది. ఎందుకంటే అది install అయిన తర్వాత machine reboot కాలేదు. సాధ్యమైతే clean చేయడానికి ముందు reboot చేయండి. apt ప్రస్తుతం నడుస్తున్న kernel మరియు అత్యంత కొత్త kernel ను రక్షిస్తుంది. అందువల్ల పాత kernel నడుస్తున్న సమయంలో clean చేస్తే, అవసరమైన దానికంటే ఒక అదనపు version pinned గా మిగులుతుంది.

కెర్నల్ ప్యాకేజీలను జాబితా చేసి వాటి స్థితులను చూడండి

dpkg --list | grep -E 'linux-(image|modules|headers|tools)' | awk '{print $1, $2}'

మొదటి ఫీల్డ్ dpkg స్థితి కోడ్‌ను చూపిస్తుంది. ii అంటే ఇన్‌స్టాల్ చేసి, కాన్ఫిగర్ చేసినట్లు. iF అంటే ఇన్‌స్టాల్ చేసినప్పటికీ పూర్తిగా కాన్ఫిగర్ కాలేదని అర్థం. పై విఫలమైన upgrade తర్వాత మిగిలేది ఇదే. rc అంటే ప్యాకేజీ తొలగించబడింది, కానీ దాని configuration డిస్క్‌లో ఇంకా ఉంది. ఇది /boot లో స్థలాన్ని ఉపయోగించదు, కాబట్టి దీన్ని purge చేయడం సురక్షితం.

రెండవ ఫీల్డ్ ప్యాకేజీ ఏ రకానికి చెందిందో చూపిస్తుంది. linux-image-6.8.0-64-generic వంటి version కలిగిన పేరు ఒక నిర్దిష్ట కెర్నెల్‌ను సూచిస్తుంది. linux-image-generic, linux-headers-generic లేదా linux-generic వంటి version లేని పేరు meta package. ఇందులో కెర్నెల్ ఉండదు. దీని పూర్తి పని తాజా version కలిగిన కెర్నెల్‌పై ఆధారపడటం. అందువల్ల apt upgrade కొత్త కెర్నెల్‌లను స్వయంచాలకంగా తీసుకువస్తుంది. Meta package ను తొలగిస్తే, యంత్రానికి కెర్నెల్ updates అందడం ఆగిపోతుంది. ఆ తర్వాత దీనిపై ఎలాంటి హెచ్చరిక కనిపించదు.

ఈ families ను ఇలా విభజించవచ్చు. linux-image-* లో /boot లోని compressed kernel ఉంటుంది. linux-modules-* మరియు linux-modules-extra-* లో /lib/modules కింద ఉన్న drivers ఉంటాయి. linux-headers-* లో /usr/src కింద build headers ఉంటాయి. అందువల్ల headers ను purge చేస్తే root filesystem లోని స్థలం ఖాళీ అవుతుంది; /boot లోని స్థలం కాదు. మీ సమస్య /boot partition నిండిపోవడం అయితే, మీరు image packages ను పరిశీలించాలి.

ls -1 /boot/vmlinuz-*
ls -1 /lib/modules/

ఈ రెండు listings ఒకదానితో మరొకటి, అలాగే dpkg --list output తోనూ సరిపోవాలి. /lib/modules లో matching installed package లేని directory ఉంటే, ఎవరైనా files ను చేతితో తొలగించిన తర్వాత మిగిలిన leftover అని అర్థం.

apt ఏ kernelలను ఉంచాలో ఎలా నిర్ణయిస్తుంది

apt autoremove రక్షితమైనదిగా భావించే kernelను తొలగించదు. ప్రస్తుతం మీరు అమలు చేస్తున్న kernel కూడా రక్షిత సముదాయంలో ఉంటుంది. Ubuntu releases మధ్య retention policy మారింది. అందువల్ల ఎక్కడైనా రాసి ఉన్న సంఖ్యను నమ్మకుండా, మీ స్వంత machineలోని విధానాన్ని పరిశీలించండి.

apt-config dump | grep -i -e neverautoremove -e versionedkernel
ls -l /etc/apt/apt.conf.d/01autoremove /etc/apt/apt.conf.d/01autoremove-kernels

APT::NeverAutoRemove అనేది apt autoremove తాకకుండా వదిలే package name patterns జాబితా. APT::VersionedKernelPackages అనేది apt ముందుగా versioned kernel packagesగా పరిగణించే name prefixes జాబితా. /etc/apt/apt.conf.d/01autoremove-kernels ను రూపొందించే releasesలో, ప్రతి kernel package install సమయంలో /etc/kernel/postinst.d/apt-auto-removal ఆ fileను తిరిగి రాస్తుంది. అందువల్ల దాన్ని చేతితో సవరించడం వల్ల ప్రయోజనం ఉండదు: తదుపరి kernel install మీ మార్పును తిరిగి భర్తీ చేస్తుంది. ఆ file లేని releasesలో apt అదే protectionను అంతర్గతంగా అమలు చేస్తుంది. ఏ సందర్భంలోనైనా, మీ boxలో అమల్లో ఉన్న rulesను apt-config dump చూపిస్తుంది. మీ releaseకు సరైన సమాధానం ఆ outputనే.

సురక్షితంగా అమలు చేయగల cleanup

sudo apt update
sudo apt autoremove --purge --dry-run

--dry-run disk పై ఎలాంటి మార్పు చేయదు. నిజమైన run తొలగించే అంశాలను ఖచ్చితంగా ముద్రిస్తుంది. ఆ జాబితాను చదవండి. రెండు అంశాలు కనిపిస్తే ఆపాలి. తొలగింపు జాబితాలో linux-generic లేదా linux-image-generic వంటి meta package ఉంటే, దానిని ఏదో ఒక package automatic గా గుర్తించింది అని అర్థం. దాన్ని తొలగిస్తే kernel updates ఆగిపోతాయి. తొలగింపు జాబితాలో uname -r నుంచి వచ్చిన string ఉంటే, ప్రస్తుతం నడుస్తున్న kernel రక్షించబడలేదని అర్థం. ఇది జరగకూడదు. ముందుకు వెళ్లే ముందు కారణాన్ని పరిశీలించాలి.

జాబితా సరిగ్గా ఉంటే, దాన్ని నిజంగా అమలు చేయండి.

sudo apt autoremove --purge
df -h /boot

--purge భాగం package తో పాటు మిగిలిన configuration ను కూడా తొలగిస్తుంది. ఇది కొద్దిగా అదనపు స్థలాన్ని మాత్రమే ఖాళీ చేస్తుంది. అలాగే dpkg --list లో పేరుకుపోయే rc lines ను నివారిస్తుంది. దాంతో తదుపరి audit ను సులభంగా చదవవచ్చు.

తర్వాత boot menu మళ్లీ నిర్మించబడిందో నిర్ధారించండి. Kernel package ను తొలగించినప్పుడు update-grub స్వయంచాలకంగా అమలవుతుంది. అందువల్ల menu లో ఇంకా ఉన్న files కు మాత్రమే references ఉండాలి.

sudo grep -o 'vmlinuz-[^ ]*' /boot/grub/grub.cfg | sort -u
ls -1 /boot/vmlinuz-*

మొదటి output లో ఉన్న ప్రతి version రెండవ output లో కూడా ఉండాలి. ఇప్పటికే తొలగించిన file కు చూపించే menu entry ఉంటే, పనిచేస్తున్న server GRUB prompt వద్ద ఆగిపోవచ్చు. ఇది kernel update తర్వాత boot కాకుండా పోయే VPS కు దారితీసే ఒక కారణం. ఇక్కడ దీన్ని నివారించడం, rescue console నుంచి తర్వాత సరిచేయడం కంటే చాలా సులభం.

apt autoremove కొన్నిసార్లు ఏదీ ఎందుకు తొలగించదు

apt autoremove స్వయంచాలకంగా గుర్తించిన ప్యాకేజీలను మాత్రమే తొలగిస్తుంది. అంటే, మరొక ప్యాకేజీకి dependencyగా install చేసిన ప్యాకేజీలను మాత్రమే తొలగిస్తుంది. మీరు apt install linux-image-6.8.0-40-generic తో స్వయంగా install చేసిన kernel manualగా గుర్తించబడుతుంది. అది ఎంత పాతదైనా autoremove దాన్ని ఎప్పటికీ తొలగించదు.

apt-mark showmanual | grep -E '^linux-'

ఆ outputలోని version ఉన్న ప్రతి kernel autoremoveకి కనిపించదు. మీ స్వంత listingలో ఉన్న version stringsను ఉపయోగించి, దాన్ని తిరిగి ఇవ్వండి:

sudo apt-mark auto linux-image-6.8.0-40-generic linux-modules-6.8.0-40-generic
sudo apt autoremove --purge --dry-run

meta packagesను manualగా గుర్తించినట్టే ఉంచండి. అవి manualగా ఉండాలి, ఎందుకంటే మీరు కోరింది అవే.

ఉద్దేశపూర్వకంగా ఒక నిర్దిష్ట kernel ను తొలగించడం

కొన్నిసార్లు policy అనుమతించే సమయం వరకు వేచి ఉండకుండా, ఒక నిర్దిష్ట version ను వెంటనే తొలగించాలి. image package పేరును ఇవ్వండి; మిగిలిన చర్యలను apt స్వయంగా నిర్ణయిస్తుంది.

sudo apt purge linux-image-6.8.0-40-generic

ఏ చర్య చేయకముందే apt తొలగింపు జాబితాను చూపిస్తుంది. ఎందుకంటే linux-modules-extra-* image package పై ఆధారపడి ఉంటుంది, కాబట్టి అదే transaction లో దానిని కూడా తొలగించాలి. చూపించిన జాబితానే మీ అసలు safety check. మీరు తొలగించాలనుకున్న version తో పాటు meta package కూడా తొలగించబడుతోందా అనేది ఇక్కడ గుర్తించవచ్చు. జాబితాలో అనూహ్యమైనది ఏదైనా ఉంటే n అని సమాధానం ఇవ్వండి. తరువాత, ఇక అవసరం లేని module మరియు header packages ను సేకరించడానికి sudo apt autoremove --purge అమలు చేయండి.

మీరు నడుస్తున్న kernel ను ఎప్పుడూ ఎందుకు తొలగించకూడదు

మెమరీలో ఇప్పటికే ఉన్న kernel ఫైళ్లు తొలగించిన తర్వాత కూడా నడుస్తూనే ఉంటుంది. అందువల్ల మొదట్లో ఏదీ విఫలమైనట్లు కనిపించదు. విఫలమయ్యేది kernel ఇంకా load చేయని ప్రతిదీ. linux-modules-$(uname -r) ను purge చేయడం వల్ల /lib/modules/$(uname -r)/ తొలగిపోతుంది. అందువల్ల తరువాత module load విఫలమవుతుంది:

modprobe: FATAL: Module nf_tables not found in directory /lib/modules/6.8.0-64-generic

ఆ దశ నుంచి firewall reload విఫలమవుతుంది. Boot అయినప్పటి నుంచి ఈ kernel తాకని filesystem type ను mount చేయడమూ విఫలమవుతుంది. ఇదే సమయంలో /boot/vmlinuz-$(uname -r) తొలగిపోయి ఉంటుంది. అందువల్ల boot menu మీరు ప్రస్తుతం నడుపుతున్న kernel ను చూపించదు. తదుపరి reboot వేరే kernel కు చేరుతుంది. యంత్రం network traffic ను అందిస్తూనే ఉంటుంది, కానీ ఇప్పటికే boot చేయలేని స్థితిలో ఉంటుంది. ప్రతిసారీ uname -r ను removal list తో సరిపోల్చి తనిఖీ చేయండి.

/boot చాలా నిండిపోయి, apt అసలు నడవనప్పుడు

ఈ స్థితి కారణంగానే చాలామంది ఈ పేజీ కోసం వెతుకుతారు. సగం configure అయిన kernel package ను ముందుగా పూర్తి చేయడానికి apt autoremove కి dpkg అవసరం. ఆ దశ initramfs ను మళ్లీ నిర్మిస్తుంది. అయితే ఏ స్థలమూ లేని /boot లో దానికి స్థలం కావాలి. ఈ చక్రాన్ని ఒక్కసారి చేతితో ఆపండి.

uname -r
ls -1 /boot/initrd.img-*

uname -r చూపించిన version string కాకుండా ఉన్న ఒక initrd ను ఎంచుకుని, ఆ ఒక్క file ను తొలగించండి.

sudo rm /boot/initrd.img-6.8.0-40-generic
sudo apt --fix-broken install
sudo apt autoremove --purge
sudo update-grub

ప్రతి line కు ఒక కారణం ఉంది. rm ఉద్దేశపూర్వక మినహాయింపు. దాని వల్ల file వాస్తవంగా లేకపోయినా dpkg అది ఉన్నట్లు నమ్ముతుంది. స్థలం లభించినందున విఫలమైన configuration ను apt --fix-broken install పూర్తి చేస్తుంది. మీరు తొలగించిన file ఉన్న package ను, ఇతర పాత versions తో పాటు autoremove --purge తొలగిస్తుంది. దీనివల్ల dpkg disk లోని వాస్తవ స్థితికి మళ్లీ సరిపోతుంది. వాస్తవంగా ఉన్న files ఆధారంగా menu ను update-grub మళ్లీ నిర్మిస్తుంది. rm మరియు update-grub మధ్య reboot చేయవద్దు. ఆ సమయంలో menu మీరు ఇప్పుడే తొలగించిన file ను సూచించే అవకాశం ఉంది. dpkg interrupted అని చూపిస్తే, sudo dpkg --configure -a కూడా apt --fix-broken install చేసిన repair నే చేస్తుంది.

dnf వ్యవస్థల్లో ఇదే పని

మీ VPS Fedora లేదా Rocky Linux వంటి RHEL rebuildలలో ఏదైనా నడుపుతుంటే, విధానం దీనికి విరుద్ధంగా ఉంటుంది. Debian మరియు Ubuntu kernels ను apt autoremove నియమాలతో రక్షించి, cleanup ను మీరు లేదా unattended-upgrades ప్రారంభించేలా వదిలేస్తాయి. కానీ dnf అనేది installonly_limit అనే count ను అమలు చేస్తుంది. కొత్త kernel install చేయడం ఆ పరిమితిని మించిన వెంటనే, ఇది పాత kernel ను స్వయంచాలకంగా తొలగిస్తుంది. ప్రస్తుతం అమల్లో ఉన్న విలువను grep installonly_limit /etc/dnf/dnf.conf మరియు man 5 dnf.conf తో చూడండి. ఇప్పటికే ఉన్న backlog ను sudo dnf remove --oldinstallonly తో తొలగించండి. అక్కడ కూడా ప్రస్తుతం నడుస్తున్న kernel రక్షించబడుతుంది. ఈ రెండు package managerల మధ్య విస్తృత సమానత కోసం dnf మరియు apt command equivalents చూడండి.

ఇది మళ్లీ జరగకుండా చూడండి

మీరు గుర్తుంచుకుని చేసే cleanup చివరికి తప్పిపోతుంది. అందువల్ల దాన్ని kernels ను install చేసే ప్రక్రియలోనే చేర్చండి. /etc/apt/apt.conf.d/50unattended-upgrades ను తెరిచి, ఈ keys కోసం చూడండి. Shipped file లో ఇవి commented lines గా ఇప్పటికే ఉంటాయి:

Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";

చివరలో రెండో copy ను append చేయకుండా, వీటిని uncomment చేయండి. apt configuration లో ఒక key కి చివరగా ఇచ్చిన assignment అమలవుతుంది. అందువల్ల duplicate ఉంటే file లో పరస్పర విరుద్ధమైన విలువలు ఏర్పడి, నిజంగా ఏ విలువ అమల్లో ఉందో గుర్తించడం కష్టమవుతుంది. Parser చివరకు ఏ configuration ను తీసుకుందో తనిఖీ చేసి, ఏ మార్పూ చేయని run ను monitor చేయండి:

apt-config dump | grep -i 'Unattended-Upgrade::Remove'
sudo unattended-upgrade --dry-run --debug
sudo tail -n 40 /var/log/unattended-upgrades/unattended-upgrades.log

Log దీనికి ఆధారం. ప్రతి run ను ఇది నమోదు చేస్తుంది. అందువల్ల స్థలం లేక upgrade విఫలమైతే, machine patches లో వెనుకబడిందని ఎవరైనా గమనించేలోపే ఆ విషయం log లో కనిపిస్తుంది. ఆ configuration లోని మిగతా భాగం Ubuntuలో automatic security updates లో వివరించబడింది.

తదుపరి kernel వచ్చే ముందు ఒక సంఖ్యను తనిఖీ చేయాలి. ఇది ఈ guide ప్రారంభంలో ఉన్న అదే రెండు commands:

df -h /boot
ls -lh /boot/initrd.img-$(uname -r)

Avail ఆ file కంటే తగినంతగా ఎక్కువగా లేకపోతే, తదుపరి kernel పైన వివరించిన విధంగానే విఫలమవుతుంది. అందువల్ల upgrade సమయంలో కాకుండా ఇప్పుడే దాన్ని సరిచేయండి. మీ ఇతర VPSలో disk health checks తో పాటు ఈ తనిఖీకి ఒక నిమిషం కేటాయించడం ప్రయోజనకరం. Release upgrade కు ముందు ఇది ముఖ్యంగా అవసరం. ఎందుకంటే Ubuntu 24.04 ను 26.04కు మార్చడం ప్రక్రియ ప్రారంభంలోనే కొత్త kernel ను install చేస్తుంది. /boot కు తగినంత స్థలం లేకపోతే do-release-upgrade కొనసాగడానికి నిరాకరిస్తుంది. మీ LTS server కు ఇంకా ఆ upgrade అందుబాటులో లేకపోతే, అది లోపం వల్ల కాదు; సమయం ఇంకా రాలేదు. Ubuntu, LTS to LTS upgrades ను 26.04.1 point release విడుదలయ్యే వరకు నిలిపివేస్తుంది. అందువల్ల ముందుగా /boot ను సరిచేసుకోవడానికి మీకు స్పష్టమైన సమయం ఉంటుంది.

FAQ

Ubuntu పాత kernels ను ఎందుకు తొలగించకుండా ఉంచుతుంది?

Boot విఫలమైన kernel ఉంటే, ఎంచుకోవడానికి మీ వద్ద మరే ఇతర kernel ఉండదు. మునుపటి version ను ఉంచడం వల్ల, చెడు update నుంచి provider rescue console కాకుండా GRUB menu ద్వారా తిరిగి కోలుకోవచ్చు. apt ఆటోమేటిక్ removal నుంచి కొన్ని kernel packages ను రక్షిస్తుంది. మీరు ప్రస్తుతం నడుపుతున్న kernel package కూడా ఎల్లప్పుడూ అందులో ఉంటుంది. మీ release రక్షించే ఖచ్చితమైన patterns ను చూడటానికి apt-config dump | grep -i neverautoremove ను నడపండి. Releases మధ్య policy మారి ఉండవచ్చు.

Production server పై apt autoremove --purge ను నడపడం సురక్షితమేనా?

అవును. అయితే ముందుగా dry run ఫలితాన్ని చదవాలి. ఏదీ write చేయని sudo apt autoremove --purge --dry-run ను నడిపి, ముద్రిత జాబితాను పరిశీలించండి. అందులో linux-generic లేదా linux-image-generic వంటి meta package ఉంటే ఆపండి. వాటిలో ఒకదాన్ని తొలగిస్తే భవిష్యత్ kernel updates ఆగిపోతాయి. uname -r ముద్రించే version string అందులో ఉంటే కూడా ఆపండి. ఈ రెండింటిలో ఏదీ లేకపోతే, తొలగించబడేవి పాత kernels మరియు orphaned dependencies.

apt autoremove ఏదీ తొలగించలేదు, ఇంకా /boot నిండే ఉంది. ఇప్పుడు ఏమి చేయాలి?

పాత kernels manual గా mark అయి ఉండే అవకాశం చాలా ఎక్కువ. autoremove automatic గా mark చేసిన packages ను మాత్రమే పరిశీలిస్తుంది. apt-mark showmanual | grep -E '^linux-' ను నడపండి. అక్కడ కనిపించే versioned kernel ఏదో సమయంలో చేతితో install చేయబడింది. దాన్ని sudo apt-mark auto linux-image-<version> తో automatic గా mark చేసి dry run ను మళ్లీ నడపండి. లేదా ఆ ఒక్క version ను sudo apt purge linux-image-<version> తో నేరుగా purge చేయండి.

/boot నుంచి files ను చేతితో తొలగించవచ్చా?

/boot అంతగా నిండిపోయి, విఫలమైన kernel package ను apt configure చేయలేని పరిస్థితిలో మాత్రమే, ఉద్దేశపూర్వకంగా ఒక్కసారి చేయవచ్చు. uname -r output లో కనిపించని version కు చెందిన ఒక్క initrd.img-<version> file ను తొలగించండి. తరువాత వెంటనే sudo apt --fix-broken install, sudo apt autoremove --purge మరియు sudo update-grub ను నడపండి. ఈ తదుపరి steps లేకుండా files ను తొలగిస్తే, files లేని packages ను dpkg నమోదు చేస్తుంది. అలాగే GRUB menu entries కనిపించని files వైపు చూపుతూనే ఉంటాయి. దాని ఫలితంగా పొరపాటు చేసిన వెంటనే కాకుండా తదుపరి reboot సమయంలో machine విఫలమవుతుంది.