При обработке были обнаружены ошибки: ec2-instance-connect

#windows #amazon-ec2 #windows-subsystem-for-linux

#Windows #amazon-ec2 #windows-subsystem-for-linux

Вопрос:

Я пытался установить docker на свой WSL, и он постоянно выдает ошибку

Я пробовал sudo apt-get remove ec2-instance-connect , и он выдает эту ошибку:

 Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  ec2-instance-connect
0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
1 not fully installed or removed.
After this operation, 57.3 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 64032 files and directories currently installed.)
Removing ec2-instance-connect (1.1.12 dfsg1-0ubuntu3) ...
Deleted system user ec2-instance-connect
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
dpkg: error processing package ec2-instance-connect (--remove):
 installed ec2-instance-connect package post-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
 ec2-instance-connect
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)
  

Это не позволяет мне запускать upgrade или install какие-либо новые пакеты.

Кто-нибудь может мне здесь помочь?

Ответ №1:

Я только что столкнулся с кем-то еще с почти такой же проблемой в стеке Unix и Linux. При поиске ответа я только что нашел этот (неотвеченный) вопрос. Я опубликовал там ответ, но я повторю соответствующие части этого вопроса на случай, если кто-нибудь еще столкнется с ним.

ec2-instance-connect оказывается, это довольно проблематичный пакет, если он установлен ошибочно на WSL. Обычно его следует устанавливать только в Ubuntu при запуске в экземпляре Amazon / AWS EC2.

У него есть как сценарий после установки, так и после удаления, которые предполагают Systemd, который недоступен в WSL. Насколько я могу судить, поскольку postinstall никогда не завершается успешно, он пытается запускаться каждый раз, когда вы выполняете много других apt команд.

Чтобы избавиться от этого (и остановить ошибки), этого недостаточно sudo apt purge ec2-instance-connect , потому что ошибки после удаления все равно завершатся ошибкой (и пакет останется). Вам необходимо:

 sudo rm /var/lib/dpkg/info/ec2-instance-connect.postrm
sudo apt purge ec2-instance-connect
sudo deluser --system --quiet ec2-instance-connect
  

apt после этого должно снова работать должным образом, но, пожалуйста, ознакомьтесь с ответом на Unix amp; Linux Stack, приведенным выше, для обсуждения других вопросов, которые необходимо проверить, которые, возможно, потребуется очистить.