Ubuntuలో పాత kernels తొలగించి /boot ఖాళీ చేయడం
`/boot` నిండితే `apt` ఏ packageనూ configure చేయదు. తొలగించడానికి సురక్షితమైన `linux-image` packages గుర్తించి, ప్రస్తుతం boot అయిన kernel ను ఉంచే విధానం తెలుసుకోండి.
పాత kernels తో /boot నిండిపోయినప్పుడు apt ఎందుకు పనిచేయడం ఆపుతుంది
Ubuntuలో ప్రతి kernel update /boot లోకి కొత్త files సముదాయాన్ని రాస్తుంది. మునుపటి files అలాగే మిగిలిపోతాయి. అందువల్ల చిన్న /boot partition నిండిపోతుంది. apt install ను పూర్తి చేయలేకపోతుంది. దీనికి పరిష్కారం రెండు దశల్లో ఉంటుంది. ఈ systemలో kernel packages ఏవో, ప్రస్తుతం boot అయిన kernel ఏదో ముందుగా గుర్తించాలి. తరువాత మిగిలిన వాటిని apt autoremove --purge తో తొలగించాలి.
క్రమం ముఖ్యమైనది. ప్రస్తుతం నడుస్తున్న kernel package ను తప్పనిసరిగా ఉంచాలి. అలాగే apt అసలు run కాని స్థితిలో system ఇప్పటికే ఉండవచ్చు. ముందుగా నిర్ధారణ చేయండి.
విఫలత వాస్తవంగా ఎలా కనిపిస్తుంది
ఒక 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 మాత్రమే కాకుండా ఖాళీ space కూడా అవసరం. 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 1Version string మీ system కు సంబంధించినదిగా ఉంటుంది. Compressor name /etc/initramfs-tools/initramfs.conf లోని COMPRESS= నుంచి వస్తుంది. అందువల్ల కొత్త 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 తో విఫలమవుతుంది. ఆ సమయంలో మీరు జోడిస్తున్న 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 అయితే మాత్రమే ఒక పంక్తిని చూపిస్తుంది. రెండవది ఎల్లప్పుడూ output ఇస్తుంది మరియు /boot ను వాస్తవంగా కలిగి ఉన్న filesystem పేరును చూపిస్తుంది. అవి / తో అదే filesystem పేరును చూపిస్తే, /boot root filesystem లోని సాధారణ directory మాత్రమే. అది స్వతంత్రంగా నిండిపోదు. మీ root filesystem నిండిపోయిందని అర్థం. పాత 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.pkgsuname -r ప్రస్తుతం memoryలో ఉన్న kernel యొక్క release string ను చూపిస్తుంది. ఆ string ను ఎక్కడైనా copy చేసుకోండి. మీరు తప్పనిసరిగా మార్చకూడని version ఇదే.
రెండవ file package reboot కోరినప్పుడు మాత్రమే ఉంటుంది. అందులోని linux-image line ద్వారా diskలో కొత్త kernel install అయిందని, కానీ ఉపయోగంలో లేదని తెలుస్తుంది. ఆ kernel install అయిన తర్వాత machine reboot కాలేదు. వీలైతే cleanup చేయడానికి ముందు reboot చేయండి. apt ప్రస్తుతం నడుస్తున్న kernel మరియు అత్యంత కొత్త kernel ను రక్షిస్తుంది. అందువల్ల పాత kernel నడుస్తున్న సమయంలో cleanup చేస్తే, అవసరమైన దానికంటే ఒక అదనపు version pinned గా మిగులుతుంది.
kernel packages జాబితాను చూపించి, వాటి స్థితులను చదవండి
dpkg --list | grep -E 'linux-(image|modules|headers|tools)' | awk '{print $1, $2}'మొదటి field dpkg state code. ii అంటే package install చేసి, configure చేశారు. iF అంటే package install అయింది కానీ half-configured స్థితిలో ఉంది. పై failed upgrade తర్వాత మిగిలేది ఇదే. rc అంటే package remove చేశారు, కానీ దాని configuration diskలో ఇంకా ఉంది. ఇది /bootలో ఎలాంటి స్థలాన్ని ఆక్రమించదు. దీన్ని purge చేయడం సురక్షితం.
రెండవ field package ఏ రకానికి చెందినదో తెలియజేస్తుంది. linux-image-6.8.0-64-generic వంటి version కలిగిన పేరు ఒక నిర్దిష్ట kernelను సూచిస్తుంది. linux-image-generic, linux-headers-generic లేదా linux-generic వంటి version లేని పేరు meta package. ఇందులో kernel ఉండదు. తాజా versioned kernelపై depend అవ్వడం దీని ఏకైక పని. అందువల్ల apt upgrade కొత్త kernelsను install చేస్తుంది. Meta packageను remove చేస్తే machineకు kernel updates అందడం ఆగిపోతుంది. ఆ తర్వాత దీనిపై ఎలాంటి warning కనిపించదు.
ఈ 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ను manualగా delete చేసిన తర్వాత మిగిలిన 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-kernelsAPT::NeverAutoRemove అనేది apt autoremove మార్చడానికి నిరాకరించే package name patterns జాబితా. APT::VersionedKernelPackages అనేది మొదటగా versioned kernel packagesగా apt పరిగణించే name prefixes జాబితా. /etc/apt/apt.conf.d/01autoremove-kernels ను రూపొందించే releasesలో, ప్రతి kernel package install సమయంలో /etc/kernel/postinst.d/apt-auto-removal ఆ fileను మళ్లీ రాస్తుంది. అందువల్ల దాన్ని చేతితో edit చేయడం వల్ల ప్రయోజనం ఉండదు: తదుపరి kernel install మీ మార్పును overwrite చేస్తుంది. ఆ file లేని releasesలో, apt అదే protectionను అంతర్గతంగా అమలు చేస్తుంది. ఏ సందర్భంలోనైనా, మీ boxలో అమల్లో ఉన్న rulesను apt-config dump చూపిస్తుంది. మీ releaseకు సరైన సమాధానం ఆ outputనే.
నిర్భయంగా అమలు చేయగల cleanup
sudo apt update
sudo apt autoremove --purge --dry-run--dry-run డిస్క్లో ఎలాంటి మార్పు చేయదు. నిజంగా అమలు చేస్తే తొలగించబడే అంశాలను మాత్రమే ఇది ముద్రిస్తుంది. ఆ జాబితాను చదవండి. రెండు విషయాలు కనిపిస్తే ఆపాలి. తొలగింపు జాబితాలో linux-generic లేదా linux-image-generic వంటి meta 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 కు మాత్రమే సూచనలు ఉండాలి.
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 automatic గా గుర్తించబడిన packages ను మాత్రమే తొలగిస్తుంది. అంటే, మరొక package కు dependency గా install చేసిన packages మాత్రమే తొలగిస్తుందని అర్థం. మీరు 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 ను ఉపయోగించి దాన్ని మళ్లీ automatic గా గుర్తించండి:
sudo apt-mark auto linux-image-6.8.0-40-generic linux-modules-6.8.0-40-generic
sudo apt autoremove --purge --dry-runmeta packages ను manual గా గుర్తించినట్టే ఉంచండి. అవి manual గా ఉండాలి, ఎందుకంటే మీరు కోరిన packages అవే.
ఉద్దేశపూర్వకంగా ఒక నిర్దిష్ట 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 ను ఎప్పుడూ ఎందుకు తొలగించకూడదు
ఇప్పటికే memory లో ఉన్న 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 తో ప్రారంభమవుతుంది. Machine network traffic ను అందిస్తూనే ఉంటుంది. అయినప్పటికీ అది ఇప్పటికే boot చేయలేని స్థితిలో ఉంటుంది. ప్రతిసారీ removal list తో uname -r ను సరిపోల్చండి.
/boot అంతా నిండిపోయి apt అసలు పనిచేయనప్పుడు
ఈ స్థితి కారణంగానే చాలామంది ఈ పేజీని వెతుక్కుంటూ వస్తారు. సగం మాత్రమే configure అయిన kernel package ను ముందుగా పూర్తి చేయడానికి apt autoremove కి dpkg అవసరం. ఆ దశ initramfs ను మళ్లీ నిర్మిస్తుంది. అయితే దానికి ఖాళీ లేని /boot లో స్థలం అవసరం. ఈ చక్రాన్ని ఒక్కసారి చేతితో ఆపండి.
uname -r
ls -1 /boot/initrd.img-*uname -r మీకు ఇచ్చిన string కాని version ఉన్న ఒక 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 భావించేలా ఇది చేస్తుంది. ఇప్పుడు initramfs కోసం స్థలం ఉన్నందున, విఫలమైన configuration ను apt --fix-broken install పూర్తి చేస్తుంది. ఆ తరువాత మీరు తొలగించిన file ఉన్న package ను, ఇతర పాత versions తో పాటు autoremove --purge తొలగిస్తుంది. దాంతో dpkg disk లో ఉన్నదానికి మళ్లీ అనుగుణంగా ఉంటుంది. వాస్తవంగా ఉన్న files ఆధారంగా update-grub menu ను మళ్లీ నిర్మిస్తుంది. rm మరియు update-grub మధ్య reboot చేయవద్దు. ఆ సమయంలో menu మీరు ఇప్పుడే తొలగించిన file ను సూచించే అవకాశం ఉంది. dpkg interrupted అయిందని చూపిస్తే, sudo dpkg --configure -a, apt --fix-broken install చేసిన repair నే చేస్తుంది.
dnf వ్యవస్థల్లో ఇదే పని
మీ VPS Fedora లేదా Rocky Linux వంటి RHEL rebuilds లో ఒకదానిపై నడుస్తుంటే, విధానం విరుద్ధంగా ఉంటుంది. Debian మరియు Ubuntu kernels ను apt autoremove నియమాలతో రక్షించి, cleanup ను మీరు లేదా unattended-upgrades ప్రారంభించేలా వదిలేస్తాయి. అయితే dnf installonly_limit అనే count ను అమలు చేస్తుంది. కొత్త kernel install చేయడం ఆ count ను మించగానే, అది పాత kernel ను స్వయంచాలకంగా తొలగిస్తుంది. ప్రస్తుతం అమలులో ఉన్న విలువను grep installonly_limit /etc/dnf/dnf.conf మరియు man 5 dnf.conf తో చూడండి. ఇప్పటికే ఉన్న backlog ను sudo dnf remove --oldinstallonly తో తొలగించండి. అక్కడ కూడా ప్రస్తుతం నడుస్తున్న kernel రక్షించబడుతుంది. ఈ రెండు package managers మధ్య విస్తృత command mapping కోసం dnf మరియు apt command సమానతలు చూడండి.
Stop it happening again
Cleanup that depends on you remembering will fail eventually, so put it in the thing that installs the kernels. Open /etc/apt/apt.conf.d/50unattended-upgrades and look for these keys, which the shipped file already contains as commented lines:
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";Uncomment them rather than appending a second copy at the end. In apt configuration the last assignment of a key wins, so a duplicate makes the file disagree with itself and hides which value is real. Check what the parser ended up with, and watch a run that changes nothing:
apt-config dump | grep -i 'Unattended-Upgrade::Remove'
sudo unattended-upgrade --dry-run --debug
sudo tail -n 40 /var/log/unattended-upgrades/unattended-upgrades.logThe log is the proof. It records each run, so an upgrade that failed for lack of space shows up there long before anyone notices the machine is behind on patches. The rest of that configuration is covered in automatic security updates on Ubuntu.
Before the next kernel lands there is one number to check, and it is the same pair of commands from the start of this guide:
df -h /boot
ls -lh /boot/initrd.img-$(uname -r)If Avail is not comfortably larger than that file, the next kernel will fail exactly as described above, so fix it now rather than during the upgrade. The check is worth a minute alongside your other disk health checks on a VPS. It matters most right before a release upgrade, because moving Ubuntu 24.04 to 26.04 installs a fresh kernel early in the process and do-release-upgrade will refuse to continue when /boot is short of space.
FAQ
Ubuntu పాత kernels ను తొలగించకుండా ఎందుకు ఉంచుతుంది?
Boot చేయడంలో విఫలమైన kernel ను ఎంచుకోవడానికి మీ వద్ద మరే ఇతర kernel ఉండదు. మునుపటి version ను ఉంచడం వల్ల తప్పు update ను provider rescue console కాకుండా GRUB menu నుంచే తిరిగి సరిచేయవచ్చు. అందువల్ల apt kernel packages లోని ఒక సమూహాన్ని automatic removal నుంచి రక్షిస్తుంది. మీరు ప్రస్తుతం నడుపుతున్న kernel ను ఇది ఎల్లప్పుడూ ఇందులో చేర్చుతుంది. మీ release రక్షించే ఖచ్చితమైన patterns ను చూడటానికి apt-config dump | grep -i neverautoremove ను అమలు చేయండి. Releases మధ్య ఈ policy మారింది.
Production server పై apt autoremove --purge ను అమలు చేయడం సురక్షితమేనా?
అవును. అయితే ముందుగా dry run ను చదవాలి. ఏదీ రాయకుండా 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 ను అమలు చేయండి. ఈ తరువాతి చర్యలు లేకుండా files ను తొలగిస్తే, files లేని packages ను dpkg నమోదు చేస్తుంది. Missing files ను సూచించే GRUB menu entries కూడా అలాగే మిగులుతాయి. మీరు చేసిన పొరపాటు జరిగిన వెంటనే కాకుండా, తదుపరి reboot సమయంలో machine విఫలమవుతుంది.