Ubuntu

apt錯誤未安裝

  • August 8, 2021

我目前正在嘗試在我的 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 時非常新)。

知道從哪裡來的ec2-instance-connect嗎?看起來它在您嘗試安裝 MySQL 伺服器之前就已經安裝好了,除了在 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但我不確定那試圖做什麼。把雜物留在身邊可能是無害的。

引用自:https://unix.stackexchange.com/questions/663668