Ogni volta che provo a fare qualcosa con apt-get, sia che si tratti di installare, rimuovere, eliminare, aggiornare, aggiornare, vengo sempre colpito dallo stesso errore.
[email protected]:~/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)
Ho provato a seguire questa domanda ma senza fortuna:
Apt non riesce a rimuovere il kernel parzialmente installato e non può installare altri pacchetti
controllando il file di stato dpkg vedo che entrambi i pacchetti sono installati a metà
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.
**Modifiche
Correlati:Ubuntu - Come disabilitare `apt-daily.service` sull'immagine della VM cloud di Ubuntu?
dopo aver rimosso manualmente i pacchetti del kernel secondo le istruzioni di user.dz
paste.ubuntu.com/23487716
nel frattempo durante sudo apt-get install -f Ubuntu mi ha avvisato di un errore di sistema
Risposta accettata:
Nota: Come ChaiT.Rex ha commentato di seguito, sono necessari solo i passaggi 4 e 5 per risolvere il problema.
Lascio i passaggi 1,2 e 3 documentati per chiunque abbia bisogno di rimuovere manualmente alcuni pacchetti. Ma prova prima questo https://askubuntu.com/a/490677/26246 che sembra più semplice.
-
Rimuovili manualmente, attenzione se stai ridigitando i seguenti comandi
rm -rf
è un comando pericoloso quando viene eseguito come root.sudo rm -rf /lib/modules/4.4.0-38-generic /lib/modules/4.4.0-42-generic sudo rm -rf /usr/share/doc/linux-image-extra-4.4.0-38-generic /usr/share/doc/linux-image-extra-4.4.0-42-generic sudo rm /var/lib/dpkg/info/linux-image-extra-4.4.0-38-generic* /var/lib/dpkg/info/linux-image-extra-4.4.0-42-generic*
-
Cambia il loro stato nel file di stato dpkg.
Fai il backup per ogni evenienza
sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.backup0
Trova le voci correlate (comando con output previsto, il numero di riga sarà diverso):
~$ grep -n -e "linux-image-extra-4.4.0-38-generic" -e "linux-image-extra-4.4.0-42-generic" /var/lib/dpkg/status 18488:Package: linux-image-extra-4.4.0-42-generic 77123:Package: linux-image-extra-4.4.0-38-generic
Apri il file di stato per modificare e cambiare lo stato del pacchetto:
sudo nano +18488 /var/lib/dpkg/status
da:
Package: linux-image-extra-4.4.0-38-generic Status: install ok installed
a:
Package: linux-image-extra-4.4.0-38-generic Status: deinstall ok config-files
Ctrl +o salvare. Ctrl +x per uscire.
Apporta le stesse modifiche a linux-image-extra-4.4.0-42-generic .
-
Rimuovi manualmente linux-image-4.4.0-38-generic e anche linux-image-4.4.0-42-generic
sudo rm -f *4.4.0-38-generic *4.4.0-42-generic sudo rm -rf /usr/share/doc/linux-image-4.4.0-38-generic /usr/share/doc/linux-image-4.4.0-42-generic
Come prima, modifica il loro stato in
deinstall ok config-files
$ grep -n -e "Package: linux-image-4.4.0-38-generic" -e "Package: linux-image-4.4.0-42-generic" /var/lib/dpkg/status 61217:Package: linux-image-4.4.0-38-generic 98051:Package: linux-image-4.4.0-42-generic
-
Rimuovi quel fastidioso file virtualbox
sudo rm /etc/kernel/postinst.d/vboxadd
-
Aggiorna lo stato di dpkg e il menu di grub
sudo dpkg --audit sudo apt-get install -f sudo update-grub