όχι της φωτιάς, του Ubuntu :police:
Τρέχοντας την εντολή:
dpkg -l | grep linux-headers
μου επιστρέφει μόνο τον πιο πρόσφατο πυρήνα του Linux:
ii linux-headers-2.6.32-28 2.6.32-28.55 Header files related to Linux kernel version
ii linux-headers-2.6.32-28-generic 2.6.32-28.55 Linux kernel headers for version 2.6.32 on x
ii linux-headers-generic 2.6.32.28.32 Generic Linux kernel headers
Όταν όμως ξεκινάει ο υπολογιστής, στο μενού του grub εμφανίζονται πολλές επιλογές πυρήνα. Μάλιστα, αν τρέξω το
sudo update-grub
μου λέει ότι βρέθηκαν τα κάτωθι kernel images τα οποία φυσικά προσθέτει στο αρχικό μενού:
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-28-generic
Found initrd image: /boot/initrd.img-2.6.32-28-generic
Found linux image: /boot/vmlinuz-2.6.32-27-generic
Found initrd image: /boot/initrd.img-2.6.32-27-generic
Found linux image: /boot/vmlinuz-2.6.32-26-generic
Found initrd image: /boot/initrd.img-2.6.32-26-generic
Found linux image: /boot/vmlinuz-2.6.32-25-generic
Found initrd image: /boot/initrd.img-2.6.32-25-generic
Found linux image: /boot/vmlinuz-2.6.32-24-generic
Found initrd image: /boot/initrd.img-2.6.32-24-generic
Found memtest86+ image: /boot/memtest86+.bin
done
Υποτίθεται ότι α) έχω κάνει sudo apt-get autoremove καθώς και β) χειροκίνητη κατάργηση παλιότερων πυρήνων με sudo apt-get remove και τον πυρήνα που θέλω να καταργήσω. Ακόμα κι αν ανοίξω το γραφικό περιβάλλον Synaptic δε βλέπω εγκατεστημένους άλλους πυρήνες εκτός απ' τον πιο πρόσφατο.
Που λοιπόν, βρίσκει το grub τα images των παλιότερων πυρήνων και τα προσθέτει στο αρχικό μενού εκκίνησης και πώς τα καταργώ και απ' το μενού και απ' τον δίσκο ώστε να μην πιάνουν χώρο;
Είτε από την προσθαφαίρεση προγραμμάτων, είτε με την παρακάτω εντολή φεύγουν οι παλιοί headers:
sudo apt-get purge --auto-remove
Οι παλιοί headers χρησιμεύουν όταν κάνουμε compile. Δεν είναι και τόσο σημαντικοί, και έτσι αφαιρούνται σχετικά αυτοματοποιημένα.
Οι kernels όμως δεν είναι οι headers αλλά τα images:
$ dpkg -l 'linux-image-2*' | grep ^ii
ii linux-image-2.6.32-28-generic-pae 2.6.32-28.55 Linux kernel image for version 2.6.32 on x86
ii linux-image-2.6.35-23-generic 2.6.35-23.41~lucid1 Linux kernel image for version 2.6.35 on x86/x86_6
Τα images δεν αφαιρούνται αυτόματα, γιατί μπορεί ο καινούργιος kernel να έχει προβλήματα με το υλικό μας, οπότε να χρειαστούμε τον παλιό.
Έτσι αφαίρεσή τους γίνεται χειρωνακτικά, είτε από το Synaptic είτε με εντολές του στυλ
sudo apt-get purge --auto-remove linux-image-2.6.32-27-generic
Ο boot manager (grub) ενημερώνεται αυτόματα, δεν χρειάζεται να κάνετε κάτι.
Άλκη τα έκανα όπως λες, αλλά ... έχουν παραμείνει στο μενού εκκίνησης παλιές καταχωρήσεις οι οποίες ΔΕΝ αντιστοιχούν πουθενά (σφάλμα ότι δεν υπάρχουν).
Μόνο μια είναι σωστή και ενεργή (η τελευταία ενημέρωση πυρήνα)
Πώς πρέπει να σβηστούν οι λάθος καταχωρήσεις;
ΥΓ Πολύ ξεπερασμένο το μενού εκκίνησης grub με απλό text ...
Πωπω πού το ξέθαψες αυτό το περσινό μήνυμα;?! :)
Δώσε τις παρακάτω εντολές, και ανέβασε εδώ το αποτέλεσμα:
dpkg -l 'linux-*' | grep ^ii
ls -l /boot
sudo update-grub
cat /boot/grub/grub.cfg
Το "ξέθαψα" μέσω συνδέσμων από παλιότερη ερώτησή μου
Επισυνάπτω σε text όλα τα αποτελέσματα
Το menu.lst που έχεις εκεί είναι από τον παλιό grub, πριν από την 10.04. Δώσε λίγο:
dpkg -l '*grub*' | grep ^ii
...και αν δεν έχεις πια τον παλιό grub εγκατεστημένο, δεν χρειάζεσαι πια το menu.lst του, μπορείς να το σβήσεις.
Μου εμφανίζει:
ii grub-common 1.98-1ubuntu13 GRand Unified Bootloader, version 2 (common
ii grub-pc 1.98-1ubuntu13 GRand Unified Bootloader, version 2 (PC/BIOS
Τελικά αφαίρεσα τους παλιούς headers μέσα από τη διαχείριση λογισμικού ... οι παραπάνω εντολές που είχα δώσει δεν έκαναν κάτι.
Οι headers δεν εμφανίζονται στο μενού του grub όμως, αυτό δεν είπες ότι ήταν το πρόβλημα;
Εμφανίζονταν μέχρι που τους εσβησα χειροκίνητα από τη διαχείριση λογισμικού. Με εντολές κονσόλας που έδωσα δεν έκανε τίποτα
Ψάχνοντας το ίδιο θέμα παλιότερα, είχα βρει το παρακάτω πολύ απλό στην εφαρμογή βιντεάκι και έτσι είχα αφαιρέσει όλους τους παλιούς πυρήνες (και από το grub):
http://www.youtube.com/watch?v=9FYW2nGv4gs
Τα sch-scripts πια έχουν επιλογή για αφαίρεση των παλιών πυρήνων στο μενού τους, οπότε δεν χρειάζεται να το κάνετε χειρωνακτικά.
Επειδή δεν μπορώ να το βρω, μήπως είναι σε ubuntu 12 μόνο; Είμαι ακόμα στο 10...
Ναι, είναι μόνο στα sch-scripts της 12.04, αλλά αν κάποιος θέλει μπορεί να το βάλει και στην 10.04 ως εξής:
sudo wget 'http://bazaar.launchpad.net/~ts.sch.gr/sch-scripts/trunk/download/head:/purgekernels-20120701055942-g8nij7sw8go5ken2-1/purge-kernels' -O /usr/local/sbin/purge-kernels
sudo chmod +x /usr/local/sbin/purge-kernels
# Και μετά εκτέλεση με:
sudo purge-kernels