apt upgrade
由于 mongodb-org-server 的问题,我的 WSL崩溃了。
我使用带有 Ubuntu 20.04 的 WSL2。(在我最近升级 WSL 之前,带有 Ubuntu 18.04 的 WSL1 中也出现了同样的错误。)
以下是输出apt upgrade
:
[...]
Setting up mongodb-org-server (4.2.11) ...############################################################################################..............................]
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 mongodb-org-server (--configure):
installed mongodb-org-server package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of mongodb-org:
mongodb-org depends on mongodb-org-server; however:
Package mongodb-org-server is not configured yet.
dpkg: error processing package mongodb-org (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.1) ...
Errors were encountered while processing:
mongodb-org-server
mongodb-org
E: Sub-process /usr/bin/dpkg returned an error code (1)
借助这个线我发现错误来自文件/var/lib/dpkg/info/mongodb-org-server.postinst
,特别是来自
# Check for changes to the service file
systemctl daemon-reload
因为 systemd 在 WSL 中不可用。
我注释掉了那一行并现在apt upgrade
运行。
我的问题是:只需将其注释掉就可以了吗?或者这会引起问题吗?我是 Ubuntu 的新手,真的不知道我在那里做什么。
答案1
这只是一个安装后脚本,用于在安装后启动 mongod 守护程序服务。将其注释掉没什么坏处。但是,由于 WSL 没有 systemd,因此每次重启时都必须手动启动 mongod 服务。
答案2
我已经解决了这个问题升级 MongoDB4.2到6。
运行
sudo apt purge mongodb-org*
它解决问题trying to overwrite '/usr/bin/install_compass', which is also in package mongodb-org-tools 4.2.11
sudo apt install gnupg
curl mongodb.com/docs/v6.0/tutorial/install-mongodb-on-debian/#import-the-public-key-used-by-the-package-management…