无法安装 apt 错误

无法安装 apt 错误

我目前正在尝试在我的 Ubuntu 20.04 WSL 上mysql-server安装。sudo apt install mysql-server但是,进入Y安装后,我遇到了以下错误:

Setting up ec2-instance-connect (1.1.12+dfsg1-0ubuntu3.20.04.1) ...
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
sshd override added, restarting daemon
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 (--configure):
 installed ec2-instance-connect package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 ec2-instance-connect

apt运行其他或apt-get命令时也会出现此输出。我该如何修复这个错误(使用 Linux 是非常新的)。

答案1

知道它是从哪里来ec2-instance-connect的吗?看起来它在您尝试安装 MySQL Server 之前就已经安装了,而且除了在 Amazon EC2 上运行的 Ubuntu 实例之外,它不应该存在于任何其他东西上。

你可能之前的尝试中已经正确安装了 MySQL Server,但现在每次运行该包时apt都会尝试配置该包。ec2-instance-connect

答案应该很简单——删除ec2-instance-connect包装。不幸的是,该包的删除后脚本假定 Systemd 可用,但它不在 WSL 下。

所以你需要:

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

apt此后应该可以再次正常工作。

虽然您可能没有sshd在 WSL 下使用(这很麻烦,甚至不需要远程连接,除非在极少数情况下),您可能还想扫描您的/etc/ssh/sshd_config.在某些情况下,软件包安装似乎也会对该文件进行修改,但我还没有完全理解它,无法判断它们可能是什么。

它是可能的由于删除后脚本尝试运行deb-systemd-helper purge ec2-instance-connect(但不能),因此还有一些其他问题仍然存在。但我不确定它想做什么。把残渣留在周围可能是无害的。

相关内容