Pertanyaan Paket kernel yang rusak Ubuntu 16.04 tidak mengizinkan saya menginstal atau menghapus apa pun dengan apt-get


Setiap kali saya mencoba melakukan apa pun dengan apt-get apakah menginstal, menghapus, membersihkan, memperbarui, meningkatkan, saya selalu terkena kesalahan yang sama.

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)

Saya mencoba mengikuti pertanyaan ini tetapi tidak berhasil: Apt gagal untuk menghapus sebagian kernel yang terinstal dan tidak dapat menginstal paket lain

memeriksa file status dpkg Saya melihat bahwa kedua paket setengah terinstal

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 <kernel-team@lists.ubuntu.com>
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.

** Editan

setelah menghapus paket kernel secara manual per instruksi user.dz paste.ubuntu.com/23487716

sementara selama sudo apt-get install -f Ubuntu mengingatkan saya tentang kesalahan sistem enter image description here


10
2017-11-16 13:33


asal


Apa yang terjadi saat Anda berlari sudo apt-get install -f? - negusp
Saya mendapatkan masalah yang sama - dses
Apakah Anda baru-baru ini menginstal VirtualBox? Masalahnya adalah garisnya run-parts: failed to exec /etc/kernel/postinst.d/vboxadd: Exec format error. vboxadd akan dijalankan setiap kali Anda menambahkan atau menghapus kernel, dan akan terus mengganggu instalasi atau penghapusan setiap saat. Exec format error biasanya berarti bahwa executable yang disebutkan telah dikompilasi untuk arsitektur yang salah. Apa output dari file /etc/kernel/postinst.d/vboxadd? - Chai T. Rex
/etc/kernel/postinst.d/vboxadd: kosong - dses
kenapa ya sudo apt-get install ssh mencoba untuk menghapus paket-paket linux-image-extra itu. - jarno


Jawaban:


catatan: Seperti ChaiT.Rex berkomentar di bawah ini, hanya langkah 4 & 5 yang diperlukan untuk memperbaiki masalah.

Saya meninggalkan langkah 1,2 & 3 yang didokumentasikan untuk siapa saja yang mungkin perlu menghapus beberapa paket secara manual. Tapi coba dulu ini https://askubuntu.com/a/490677/26246 yang terlihat lebih mudah.

  1. Hapus secara manual, hati-hati jika Anda mengetik ulang perintah di bawah ini rm -rf adalah perintah berbahaya saat dijalankan sebagai root.


10
2017-11-16 14:43



Ok saya berhasil menginstal dan menghapus paket setelah mengikuti instruksi Anda. Namun saya mendapatkan kesalahan berikut yang tercantum di atas setelah menjalankan sudo apt-get install -f - dses
@dings, memperbarui jawaban saya, bisa memulainya dari langkah pertama. - user.dz
jadi sekali lagi mengikuti langkah-langkah Anda memungkinkan saya untuk menggunakan apt normal. Hanya ada masalah bahwa saya sekarang mendapatkan kesalahan paket kernel tambahan dan Ubuntu menampilkan kesalahan sistem selama "menginstal apt -f" seperti yang ditampilkan di bagian pengeditan dari pertanyaan. - dses
@ user.dz Saya pikir itu, jika menghapus /etc/kernel/postinst.d/vboxadd tidak berfungsi, itulah yang benar-benar dibutuhkan. Segala sesuatu di direktori itu dijalankan setiap kali kernel diinstal atau dihapus, dan file itu memiliki file Exec format error menyela penghapusan kernel tersebut setiap waktu. - Chai T. Rex
@ ChaiT.Rex, Anda benar, saya tidak memperhatikan itu pada awalnya. - user.dz