[File Manager] 本地目录挂载bug
Tofloor
poster avatar
135******75
deepin
2024-03-22 11:14
Author

我为什么要用到本地目录挂载功能,可见前贴 https://bbs.deepin.org/post/269652 ,可以认为论坛网友给出了解决我问题的方案,但 deepin 的文件管理器存在bug,下面说明如何产生该问题(即我的操作),最后提出改进建议。

  • 在非系统分区 /media/sjg/DATA3 下创建目录 home_sjg_Downloads 和 home_sjg_go,再存放文件 ubuntu18.04安装vmware15.5参考urls.txt

image.png

  • 将 /home/sjg/go 下的所有内容移动到上述 home_sjg_go 目录下,将 /home/sjg/Downloads 下所有内容全部移动到上述 home_sjg_Downloads 目录下 (实际无法 mv,只能 cp 后 rm,当然本质一样)

  • 软链接上述 home_sjg_go 目录到 /home/sjg/go 软链接文件

  • 在 /etc/fstab 添加以下条目 (相当于 sudo mount --bind /home/sjg/Downloads /media/sjg/DATA3/home_sjg_Downloads

    /media/sjg/DATA3/home_sjg_Downloads /home/sjg/Downloads none bind 0 0

  • 文件管理器点击“下载”,看到 /media/sjg/DATA3/home_sjg_Downloads 的东西,没有问题。点击“主目录”,再点击“go”,跳转显示 /media/sjg/DATA3/home_sjg_go 内容也没有问题。点击文件管理器中分区 /media/sjg/DATA3(下图中无论哪个红框,名字被我改过),神奇的是跳转到了“下载”,不显示分区内容。要想直接看到那个txt文件也是不可能的。

    image.png

    image.png

  • 要看到分区下所有内容,需要点击软链接文件 /home/sjg/go,到 /media/sjg/DATA3/home_sjg_go 下后再点分区根

image.png

image.png

建议:

1、文件管理器修复上述bug (终端看到的没有问题)

2、deepin 操作系统提供类似 windows 的把 “下载”、“文档”、“视频” 之类目录重定向转移的功能

Reply Favorite View the author
All Replies
HualetWang
deepin
2024-03-22 11:28
#1
第一个应该是bug,第二个用 xdg-update-user-dirs那套应该可以支持
Reply View the author
babyfengfjx
Super Moderator
CQA
2024-03-22 11:29
#2

这个够详细,我们先跟踪一下该问题。

Reply View the author
嘘...
deepin
2024-03-22 11:56
#3

提供下 udisksctl dump > ~/Desktop/udisks.log 日志我瞅瞅。

Reply View the author
嘘...
deepin
2024-03-22 12:09
#4

cat /etc/mtab 看下你执行的 bind 挂载,我这边复现了,执行了 mount --bind 之后,/media/XX/ZZ/Downloads 目录所在的分区被直接挂载到了 /home/XX/Downloads 目录下。

image.png

Reply View the author
Merlin
Super Moderator
Product Manager
2024-03-22 13:17
#5

测试已经走了问题单,需要内核查看定位具体原因。

Reply View the author
xuqi
deepin testing team
2024-03-22 14:06
#6
  • 感谢反馈的问题~该问题已提单反馈给研发人员进行分析定位 ~~
Reply View the author
135******75
deepin
2024-03-22 14:13
#7
嘘...

cat /etc/mtab 看下你执行的 bind 挂载,我这边复现了,执行了 mount --bind 之后,/media/XX/ZZ/Downloads 目录所在的分区被直接挂载到了 /home/XX/Downloads 目录下。

image.png

是的,查看 /etc/mtab 发现以下2行:

/dev/nvme0n1p6 /media/sjg/DATA3 ext4 rw,relatime 0 0
/dev/nvme0n1p6 /home/sjg/Downloads ext4 rw,relatime 0 0

说明实际挂载结果是把分区挂载上去了。

我对 Linux 底层的东西了解不多,只是觉得按这个结果看似乎内核有关问题,但终端中的表现行为又是正常的。

不过好在问题可以复现,总能按图索骥的。

Reply View the author
嘘...
deepin
2024-03-22 14:55
#8
It has been deleted!
嘘...
deepin
2024-03-22 14:57
#9
135******75

是的,查看 /etc/mtab 发现以下2行:

/dev/nvme0n1p6 /media/sjg/DATA3 ext4 rw,relatime 0 0
/dev/nvme0n1p6 /home/sjg/Downloads ext4 rw,relatime 0 0

说明实际挂载结果是把分区挂载上去了。

我对 Linux 底层的东西了解不多,只是觉得按这个结果看似乎内核有关问题,但终端中的表现行为又是正常的。

不过好在问题可以复现,总能按图索骥的。

应该不是内核问题,内核应该是正常行为,只是应用处理单设备多挂载点的时候,挂载点的选取策略需要调整下。

其他发行版也是这样,bind 挂载也是实际挂载了设备。

文管后边应该会更新。

Reply View the author