Ilekroć próbuję zrobić cokolwiek z apt-get, czy to instaluje, usuwa, czyści, aktualizuje, aktualizuje, zawsze trafia mnie ten sam błąd.
ses@ses-VirtualBox:~/Downloads$ sudo apt-get install ssh
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
linux-headers-4.4.0-45 linux-headers-4.4.0-45-generic linux-image-4.4.0-45-generic linux-image-extra-4.4.0-45-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
ncurses-term openssh-server openssh-sftp-server ssh-import-id
Suggested packages:
ssh-askpass rssh molly-guard monkeysphere
The following packages will be REMOVED:
linux-image-extra-4.4.0-38-generic linux-image-extra-4.4.0-42-generic
The following NEW packages will be installed:
ncurses-term openssh-server openssh-sftp-server ssh ssh-import-id
0 upgraded, 5 newly installed, 2 to remove and 0 not upgraded.
10 not fully installed or removed.
Need to get 0 B/643 kB of archives.
After this operation, 320 MB disk space will be freed.
Do you want to continue? [Y/n] y
Preconfiguring packages ...
(Reading database ... 308434 files and directories currently installed.)
Removing linux-image-extra-4.4.0-38-generic (4.4.0-38.57) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: executing /etc/kernel/postinst.d/vboxadd 4.4.0-38-generic /boot/vmlinuz-4.4.0-38-generic
run-parts: failed to exec /etc/kernel/postinst.d/vboxadd: Exec format error
run-parts: /etc/kernel/postinst.d/vboxadd exited with return code 1
dpkg: error processing package linux-image-extra-4.4.0-38-generic (--remove):
subprocess installed post-removal script returned error exit status 1
Removing linux-image-extra-4.4.0-42-generic (4.4.0-42.62) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: executing /etc/kernel/postinst.d/vboxadd 4.4.0-42-generic /boot/vmlinuz-4.4.0-42-generic
run-parts: failed to exec /etc/kernel/postinst.d/vboxadd: Exec format error
run-parts: /etc/kernel/postinst.d/vboxadd exited with return code 1
dpkg: error processing package linux-image-extra-4.4.0-42-generic (--remove):
subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
linux-image-extra-4.4.0-38-generic
linux-image-extra-4.4.0-42-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Próbowałem wykonać następujące pytanie, ale bez powodzenia: Apt nie usuwa częściowo zainstalowanego jądra i nie może zainstalować żadnych innych pakietów
sprawdzanie pliku statusu dpkg Widzę, że oba pakiety są w połowie zainstalowane
Package: linux-image-extra-4.4.0-38-generic
Status: deinstall ok half-installed
Priority: optional
Section: kernel
Installed-Size: 158607
Maintainer: Ubuntu Kernel Team <[email protected]>
Architecture: amd64
Source: linux
Version: 4.4.0-38.57
Depends: linux-image-4.4.0-38-generic, crda | wireless-crda
Description: Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
This package contains the Linux kernel extra modules for version 4.4.0 on
64 bit x86 SMP.
.
Also includes the corresponding System.map file, the modules built by the
packager, and scripts that try to ensure that the system is not left in an
unbootable state after an update.
.
Supports Generic processors.
.
Geared toward desktop and server systems.
.
You likely do not want to install this package directly. Instead, install
the linux-generic meta-package, which will ensure that upgrades work
correctly, and that supporting packages are also installed.
** Edycje
po ręcznym usunięciu pakietów jądra zgodnie z instrukcjami user.dz paste.ubuntu.com/23487716
tymczasem podczas sudo apt-get install -f Ubuntu ostrzegł mnie o błędzie systemowym
sudo apt-get install -f
?run-parts: failed to exec /etc/kernel/postinst.d/vboxadd: Exec format error
.vboxadd
będzie uruchamiany za każdym razem, gdy dodasz lub usuniesz jądro, i będzie nadal przerywał instalację lub usuwanie za każdym razem.Exec format error
zwykle oznacza, że wspomniany plik wykonywalny został skompilowany dla niewłaściwej architektury. Jaka jest wydajnośćfile /etc/kernel/postinst.d/vboxadd
?sudo apt-get install ssh
próbuje usunąć te dodatkowe pakiety linux-image-extra.Odpowiedzi:
Uwaga: Jak skomentował ChaiT.Rex, tylko kroki 4 i 5 są wymagane do rozwiązania problemu.
Zostawiam udokumentowane kroki 1,2 i 3 dla każdego, kto może potrzebować ręcznie usunąć niektóre paczki. Ale najpierw spróbuj /ubuntu//a/490677/26246, który wygląda łatwiej.
Usuń je ręcznie, bądź ostrożny, jeśli wpisujesz poniższe polecenia,
rm -rf
jest to niebezpieczne polecenie, gdy jest uruchamiane jako root.Zmień ich status w pliku statusu dpkg.
Wykonaj kopię zapasową na wszelki wypadek
Znajdź powiązane wpisy (polecenie z oczekiwanym wynikiem, numer wiersza będzie inny):
Otwórz plik statusu do edycji i zmień status pakietu:
od:
do:
Ctrl+, oaby zapisać. Ctrl+, xaby wyjść.
Dokonaj tych samych zmian w programie Linux-image-extra-4.4.0-42-generic.
Ręcznie usuń także linux-image-4.4.0-38-generic i linux-image-4.4.0-42-generic
Tak samo jak poprzednio, edytuj ich status do
deinstall ok config-files
Usuń ten kłopotliwy plik virtualbox
Zaktualizuj status dpkg i menu grub
źródło
/etc/kernel/postinst.d/vboxadd
działa, to wszystko, co jest naprawdę potrzebne. Wszystko w tym katalogu jest uruchamiane za każdym razem, gdy jądro jest instalowane lub usuwane, a ten plikExec format error
przerywa usuwanie tych jąder za każdym razem.