今天在备份 rsync 时给我一个关于 dir($HOME.cache/doc/by-app) 的错误
我已经检查过了,我看到了这个
首先我去目录
cd $HOME.cache/doc$ cd by-app/
我做 ls 和..
ls
/bin/ls: error while loading shared libraries: libcap.so.2: cannot read file data: Error 21
我做cd..
cd ..
我控制目录树并创建命令文件来查看包含的内容
find by-app/
by-app/
by-app/libcap.so.2
find by-app/ |parallel file
by-app/: directory
by-app/libcap.so.2: directory
我想删除!
rm -vfr by-app/
rm: impossible to remove 'by-app/libcap.so.2': Operation not permitted
我以 root 身份执行此操作!
sudo rm -frv .cache/doc/by-app
Password:
rm: impossible to remove '.cache/doc/by-app': Permission denied
这是什么?
系统是Slackware64 15.0
答案1
该文件夹/挂载点由 xdg-desktop-portal 创建,这是 flatpak 用于访问其运行应用程序的沙箱之外的资源的工具:https://docs.flatpak.org/en/latest/desktop-integration.html#portals
没有它,您可能会破坏通过 flatpak 安装的任何内容。
答案2
找到解决方案。
一些应用程序安装带有保险丝的“门户”。
mount|grep fuse
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
gvfsd-fuse on /home/user/.cache/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
portal on /home/user/.cache/doc type fuse.portal (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
所以如果我想 rm 我首先要卸载
sudo umount /home/user/.cache/doc
find !$
find /home/user/.cache/doc
/home/user/.cache/doc
但我更喜欢首先调查哪个是门户,也许我会将其从备份中排除。