当我启动 Ubuntu 终端时出现此错误: 。每次启动终端时,sed: couldn't open temporary file /etc/update-manager/sed2l1b5x: Permission denied
文件都是随机的。sed2l1b5x
我找到的所有答案似乎都与我的问题不符。我该如何解决这个问题?
答案1
我最终通过将终端中使用的配置文件的命令行参数更改为来摆脱该消息
C:\WINDOWS\system32\wsl.exe -d <profile>
例如
C:\WINDOWS\system32\wsl.exe -d Ubuntu
调查
根据@Eduardos 的回答,我试图找出在启动过程中何时通过将echo
命令插入到由 bash 调用的文件中来触发此文件。 sed 访问错误甚至在/etc/profile
执行之前就出现了。
该文件/etc/wsl.conf
不包含任何相关更改。
在将终端中的 wsl 配置文件与默认配置文件进行比较后,我认识到我的配置文件用作Ubuntu.exe
命令行参数,而默认配置文件具有C:\WINDOWS\system32\wsl.exe -d Ubuntu
答案2
在 rg 根系统之后我发现了这个文件:
/var/lib/dpgk/info/ubuntu-release-upgrader-core.preinst
其中有以下一行:
if dpkg --compare-versions "$2" lt 1:0.189 && [ -f /etc/update-manager/release-upgrades ]; then
sed -i -s 's/^prompt=/Prompt=/' /etc/update-manager/release-upgrades
fi
运行 sed 部分,我可以确认每次打开新终端时都会运行此文件,因为我今天也开始遇到这个问题。不过,仍然不确定是什么引发了这个问题以及如何解决它。
答案3
答案4
这出现在我的 ubuntu wsl 上。我无奈的做法是在两个目录中给出 777......
/etc/update-manager/
/var/log/
在此之后,重新启动,烦人的消息就消失了。不确定给这两个目录 777 是否不好...但因为是本地开发 ubuntu...嗯