![`df` 命令在 /run/user/1000/doc/ 文件夹上引发错误](https://linux22.com/image/1171853/%60df%60%20%E5%91%BD%E4%BB%A4%E5%9C%A8%20%2Frun%2Fuser%2F1000%2Fdoc%2F%20%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%8A%E5%BC%95%E5%8F%91%E9%94%99%E8%AF%AF.png)
当我回顾我的日常生活时logwatch
报告,我df
今天早上注意到了一个新的错误。我注意到列表顶部有一个不寻常的错误df
。
$ df (when run manually from my own account)
df: /run/user/1000/doc: Operation not permitted
或者
(when run via root in the daily logwatch report)
df: /root/.cache/doc: Operation not permitted
该doc
目录出现在根/root/.cache/
文件夹(我已将其删除)和我自己的用户帐户/run/user/1000/
文件夹中(或登录后的任何 /run/user/* 目录中)。
我怎样才能找出导致df
此错误的原因?
更新#1:
请注意,当我这样做时ls -al /run/user/1000
,我得到了以下内容,需要注意的是doc
目录的日期很奇怪。这个目录可能来自哪里?
drwx------ 13 xxxxxxxxxxx xxxxxxxxxxx 380 Apr 16 10:07 .
drwxr-xr-x 4 root root 80 Apr 16 09:56 ..
srw-rw-rw- 1 xxxxxxxxxxx xxxxxxxxxxx 0 Apr 16 09:56 bus
drwx------ 3 xxxxxxxxxxx xxxxxxxxxxx 60 Apr 16 09:56 dbus-1
drwx------ 2 xxxxxxxxxxx xxxxxxxxxxx 60 Apr 16 10:14 dconf
dr-x------ 2 xxxxxxxxxxx xxxxxxxxxxx 0 Dec 31 1969 doc
drwx--x--x 2 xxxxxxxxxxx xxxxxxxxxxx 60 Apr 16 09:56 gdm
prw-rw-r-- 1 xxxxxxxxxxx xxxxxxxxxxx 0 Apr 16 09:56 gnome-session-leader-fifo
drwx------ 3 xxxxxxxxxxx xxxxxxxxxxx 60 Apr 16 09:56 gnome-shell
drwx------ 2 xxxxxxxxxxx xxxxxxxxxxx 140 Apr 16 09:56 gnupg
dr-x------ 2 xxxxxxxxxxx xxxxxxxxxxx 0 Apr 16 10:06 gvfs
drwx------ 2 xxxxxxxxxxx xxxxxxxxxxx 40 Apr 16 09:56 gvfs-burn
-rw------- 1 xxxxxxxxxxx xxxxxxxxxxx 1046 Apr 16 10:06 ICEauthority
drwx------ 2 xxxxxxxxxxx xxxxxxxxxxx 100 Apr 16 10:06 keyring
srw-rw-rw- 1 xxxxxxxxxxx xxxxxxxxxxx 0 Apr 16 09:56 pk-debconf-socket
drwx------ 2 xxxxxxxxxxx xxxxxxxxxxx 80 Apr 16 09:59 pulse
srw-rw-rw- 1 xxxxxxxxxxx xxxxxxxxxxx 0 Apr 16 09:56 snapd-session-agent.socket
drwxr-xr-x 3 xxxxxxxxxxx xxxxxxxxxxx 100 Apr 16 09:56 systemd
-rw------- 1 xxxxxxxxxxx xxxxxxxxxxx 0 Apr 16 09:57 update-notifier.pid
更新 #2:
有趣的是,我有第二台笔记本电脑,它与我的主笔记本电脑一模一样,并且 /run/user/1000/doc/ 目录也在那里,具有相同的奇怪日期,但df
在那里运行良好而没有错误。
在我的主笔记本电脑上,如果我运行sudo df
则不会出现任何错误。
两台笔记本电脑均运行 19.10,具有相同的 -46 内核和相同的 8.30 版本df
。
更新 #3:
20.04 中问题仍然存在。
更新 #4:
20.10 中问题仍然存在。
答案1
在我的计算机上,不需要任何这些服务,我没有安装 flatpak,但可以通过执行sudo apt remove xdg-desktop-portal
并重新启动来解决问题。或者systemctl --user stop xdg-document-portal.service
无需重新启动。
答案2
据我所知这是一个 flatpak 错误,请参阅:
$ systemctl --user status xdg-document-portal.service
● xdg-document-portal.service - flatpak document portal service
Loaded: loaded (/usr/lib/systemd/user/xdg-document-portal.service; static; vendor preset: disabled)
Active: active (running) since Thu 2020-06-04 11:44:00 IDT; 13min ago
Main PID: 19879 (xdg-document-po)
Tasks: 7 (limit: 16579)
Memory: 2.7M
CPU: 20ms
CGroup: /user.slice/user-1000.slice/[email protected]/xdg-document-portal.service
├─19879 /usr/libexec/xdg-document-portal
└─19887 fusermount -o rw,nosuid,nodev,fsname=portal,auto_unmount,subtype=portal -- /run/user/1000/doc
$ df -h > /dev/null
df: /run/user/1000/doc: Operation not permitted
$ systemctl --user stop xdg-document-portal.service
$ df -h > /dev/null
$
因此 flatpak fusermounts 允许将文件导出到沙盒应用程序: Flatpak 命令参考 - Flatpak 文档
答案3
答案4
这被认为是 gnulib 中的一个错误,已在这次提交(2021 年 6 月)。参考讨论:
- https://lists.gnu.org/archive/html/bug-gnulib/2021-02/msg00053.html
- https://bugzilla.redhat.com/show_bug.cgi?id=1913358
- https://bugs.launchpad.net/ubuntu/+source/xdg-desktop-portal/+bug/1905623
编辑:正如评论中所说布劳尔,此“修复”不影响df -a
,并且显式df /run/user/1000/doc
有相同的问题。修复实际上应该在 xdg-desktop-portal 中。错误报告:https://github.com/flatpak/xdg-desktop-portal/issues/553