Всякий раз, когда я пытаюсь что-то сделать с помощью apt-get, будь то установка, удаление, очистка, обновление, обновление, я всегда сталкиваюсь с одной и той же ошибкой.
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)
Я попытался ответить на этот вопрос, но безуспешно : Apt не может удалить частично установленное ядро и не может установить другие пакеты
проверяя файл состояния dpkg, я вижу, что оба пакета установлены наполовину
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.
** Редактирует
после удаления пакетов ядра вручную в соответствии с инструкциями user.dz paste.ubuntu.com/23487716
тем временем во время sudo apt-get install -f Ubuntu предупредила меня о системной ошибке
sudo apt-get install -f
?run-parts: failed to exec /etc/kernel/postinst.d/vboxadd: Exec format error
.vboxadd
будет запускаться каждый раз, когда вы добавляете или удаляете ядро, и будет продолжать прерывать установку или удаление каждый раз.Exec format error
обычно означает, что упомянутый исполняемый файл был скомпилирован для неправильной архитектуры. Какой выходfile /etc/kernel/postinst.d/vboxadd
?sudo apt-get install ssh
пытается удалить эти пакеты linux-image-extra?Ответы:
Примечание. Как прокомментировал ChaiT.Rex ниже, для решения проблемы требуются только шаги 4 и 5.
Я оставляю шаги 1,2 и 3 документированными для тех, кому может потребоваться удалить некоторые пакеты вручную. Но попробуйте сначала этот /ubuntu//a/490677/26246, который выглядит проще.
Удалите их вручную, будьте осторожны, если повторный ввод приведенных ниже команд
rm -rf
является опасной командой при запуске от имени пользователя root.Измените их статус в файле статуса dpkg.
Сделайте резервную копию на всякий случай
Найдите соответствующие записи (команда с ожидаемым выводом, номер строки будет другим):
Откройте файл статуса для редактирования и измените статус пакета:
из:
чтобы:
Ctrl+ oчтобы сохранить. Ctrl+ xдля выхода.
Сделайте те же изменения в linux-image-extra-4.4.0-42-generic.
Удалите вручную linux-image-4.4.0-38-generic и linux-image-4.4.0-42-generic
То же, что и прежде, измените их статус на
deinstall ok config-files
Удалите этот проблемный файл virtualbox
Обновить статус dpkg и меню grub
источник
/etc/kernel/postinst.d/vboxadd
работает, это все, что действительно нужно. Все в этом каталоге запускается каждый раз, когда ядро устанавливается или удаляется, и этот файлExec format error
каждый раз прерывает удаление этих ядер.