Sin*_*olo 44 permissions motd windows-subsystem-for-linux 22.04
我使用 WSL 在 Windows 11 上安装了 Ubuntu 22.04。然后,我使用 WSL 命令 ( --export/ --import) 将其移动到另一个磁盘上。
移动它后,默认用户是 root,所以我在 中添加了以下几行/etc/wsl.conf:
[user]
default=numa
Run Code Online (Sandbox Code Playgroud)
现在,在我启动 Ubuntu 时每天显示一次的消息中(我认为是 MOTD),我可以看到以下消息:
[/etc/update-motd.d/50-landscape-sysinfo: 17: cannot create /var/lib/landscape/landscape-sysinfo.cache: Permission denied]
Run Code Online (Sandbox Code Playgroud)
虽然看起来没什么坏处,但我想知道如何才能避免这种情况。
Not*_*1ds 67
简短回答:
两种选择:
受到推崇的:
sudo apt remove landscape-common
sudo apt autoremove # Optionally, but recommended so that you can
confirm the problem is gone after restarting
rm ~/.motd_shown
Run Code Online (Sandbox Code Playgroud)
退出并重新启动 Ubuntu/WSL,错误应该不再出现。
或者,如果您按照此答案启用 Systemd ,则也不应该出现该错误。但是,我不建议仅仅为了抑制此错误消息而启用 Systemd。如果您不需要它用于其他目的,那么这是很大的开销。
更多详情:
别担心 - 这与您移动发行版无关。WSL 上的所有22.04 安装都存在该问题。有趣的是,我从来没有注意到这一点,直到你指出——这表明了我对 MOTD 的关注程度:-/。
这是在Github 问题的底部报告的,但它与该特定问题无关 (该问题之前已修复,并将继续修复)。
这里的问题是 WSL 的 Ubuntu 发行版基于 Ubuntu Server,其中包括对Landscape的支持,这是一项管理服务器的功能。
当然,这确实不适用于 WSL,并且可能(我在这里猜测,但稍后我会尝试确认)无论如何都需要 Systemd 支持,而WSL 没有。我有一种感觉,有一个 Systemd 单元设置了未在 WSL 上运行的 Landscape 目录;因此出现错误。
使用上面的命令删除这个包是安全的,并且错误将不再出现。