Running sudo apt-get -f install
powiedział, że The link /vmlinuz.old is a damaged link
i:
you may need to re-run your boot loader[grub]
Oto pełna wydajność:
user@chrubuntu:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
user@chrubuntu:~$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 270 MB disk space will be freed.
Do you want to continue? [Y/n] y
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en
en",
LC_ALL = (unset),
LC_TIME = "en",
LC_MONETARY = "en",
LC_ADDRESS = "en",
LC_TELEPHONE = "en",
LC_NAME = "en",
LC_MEASUREMENT = "en",
LC_IDENTIFICATION = "en",
LC_NUMERIC = "en",
LC_PAPER = "en",
LANG = (unset)
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 232120 files and directories currently installed.)
Removing linux-headers-3.13.0-32-generic (3.13.0-32.57) ...
Removing linux-headers-3.13.0-32 (3.13.0-32.57) ...
Removing linux-image-extra-3.13.0-32-generic (3.13.0-32.57) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-32-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
The link /initrd.img.old is a damaged link
Removing symbolic link initrd.img.old
you may need to re-run your boot loader[grub]
Removing linux-image-3.13.0-32-generic (3.13.0-32.57) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-32-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old
you may need to re-run your boot loader[grub]
user@chrubuntu:~$
Jak ponownie uruchomić moduł ładujący?
apt-get autoremove
, ale jak mówi Eliah Kagan w swojej odpowiedzi, grub wydaje się działać dobrze przy ponownym uruchomieniu.Odpowiedzi:
Zgodnie z odpowiedzią na Womble do Uszkodzone / vmlinuz i /initrd.img dowiązania symboliczne po Kernel odinstalować (na Server Fault ), nie musisz nic robić w tej sytuacji, gdy program rozruchowy GRUB jest / Grub2-który jest tutaj.
W przypadku niektórych innych programów ładujących (przynajmniej LILO ) najwyraźniej czasami konieczne było ręczne uruchomienie konfiguracji programu ładującego.
Jeśli nie trzeba powiedzieć GRUB w celu sprawdzenia istniejących jąder i aktualizować swoją konfigurację, bieganie
sudo update-grub
to zrobić. I nie ma nic złego w tym. Ale w tym przypadku nie powinno to być konieczne.źródło
sudo update-grub
nie powinien wyrządzać żadnej szkody.update-grub
zamiastgrub-update
którego jest logiczne, i nieokreślenie poprawki (polecenia), która działa w 99,99% przypadków.Błąd jest nieco dziwny w przypadku gruba.
Kiedy apt instaluje nową wersję jądra, przenosi / vmlinuz i /initrd.img do /vmlinuz.old i /initrd.img.old (które następnie nadal wskazują na aktualnie aktywne jądro. Ponownie zwróć uwagę na rozszerzenie .old, który różni się od historii podanej w „Uszkodzonych linkach po odinstalowaniu jądra”) i tworzy dwa nowe pliki / vmlinuz /initrd.img.
Kiedy uruchomisz
apt-get autoremove
(komunikaty nie były generowane przezapt-get -f install
), usuwa to wcześniej aktywne jądro (zrestartowałeś się po tej instalacji, przed uruchomieniem autorove, prawda?), Co powoduje, że linki są nieprawidłowe.Po usunięciu samego jądra autorove sam wywołuje update-grub:
W związku z tym:
Tak więc autorove robi:
Nie ma się o co martwić :-)
Pozdrowienia.
źródło
/vmlinuz
&&/initrd.img
połączone z obszarem jądra (zwykle / boot). Jak zauważa odpowiedź - „uszkodzony link” plików „.old” nie ma się czym martwić.$ sudo update-grub
A jeśli chcesz usunąć / wyczyścić stare pakiety, możesz to zrobić
$ dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
źródło