解决 WSL1 Ubuntu 24.04 更新失败
问题
wsl1
的 Ubuntu 24.04
执行:
sudo apt update
sudo apt upgrade -y
更新过程安装失败, 提示错误:
Setting up systemd (xxxx-xxx)...
Failed to take /etc/passwd lock: Invalid argument
dpkg: error processing package systemd (--configure):
installed systemd package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of systemd-timesyncd:
systemd-timesyncd depends on systemd; however:
Package systemd is nont configured yet.
dpkg: error processing package systemd-timesyncd (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of udev:
udev depens on systemd | systemd-standalone-sysusers | systemd-sysusers; however:
Package systemd is not configured yet.
Package systemd-standalone-sysuers is not installed.
Package systemd-sysusers is not installed.
Package systemd which provides systemd-sysusers is not configured yet.
大概意思是 systemd-sysusers
没有配置, 导致安装失败
解决方法
根据 https://github.com/microsoft/WSL/issues/10397#issuecomment-1780132430 的解决方法, 将 systemd-sysusers
改成 echo
命令
cd /bin && sudo mv -f systemd-sysusers{,.org} && sudo ln -s echo systemd-sysusers && cd -
再次执行更新命令就正常了:
sudo apt update
sudo apt upgrade -y