Невозможно переместить в корзину файлы, которые находятся в каталогах, подключенных к привязке

На моем Ubuntu Budgie 19.10 у меня есть раздел ext4, смонтированный в / mnt / Data . Более того, я смонтировал каждую домашнюю папку с определенной папкой в ​​ / mnt / Data (используя bind , без символических ссылок). Ниже приведен файл fstab :

# /dev/sda3
UUID=xxxxx /mnt/Data auto nosuid,nodev,nofail,x-gvfs-show 0 0
# home folders
/mnt/Data/Desktop /home/<user>/Desktop none rw,bind 0 0
/mnt/Data/Documents /home/<user>/Documents none rw,bind 0 0
/mnt/Data/Download /home/<user>/Download none rw,bind 0 0
/mnt/Data/Pictures /home/<user>/Pictures none rw,bind 0 0
/mnt/Data/Music /home/<user>/Music none rw,bind 0 0
/mnt/Data/Video /home/<user>/Video none rw,bind 0 0

Однако, когда я пытаюсь удалить файл в одной из домашних папок (например, «Загрузить»), у меня появляется сообщение об ошибке «невозможно переместить файл в корзину. , вы хотите удалить его немедленно? "

Это результат ls -la / mnt / Data :

<user>@<user>-home:~$ ls -la /mnt/Data
drwxrwxr-x 12 <user> <user>   4096 gen 19 16:52 .
drwxr-xr-x  3 root   root     4096 ott 31  2017 ..
[...]
drwxrwxr-x  5 <user> <user>   4096 gen 26 19:05 Desktop
drwxrwxr-x  5 <user> <user>   4096 set 22 22:15 .Trash-1000

Мой вопрос: как мне переместить мои файлы в корзину? Я прочитал много вопросов по поводу правильного владения папкой, но мне не удалось решить эту проблему.

1
задан 26 January 2020 в 22:14

1 ответ

В моей текущей установке Ubuntu 20.04 LTS мне удалось обойти проблему, заменив смонтированные каталоги каталогами с символическими ссылками.

Например: rm -rf ~/Download && ln -s /mnt/Data/Download ~/Download

Однако, продолжая исследование этой проблемы, я обнаружил следующий ресурс: Ошибка 70831 — Bind mount не позволяет удалять файлы и каталоги .

Другими словами, функция rename(2) выдает ошибку EXDEV, когда ее параметры ввода/вывода oldpath и newpath находятся в разных точках монтирования:

  EXDEV  oldpath and newpath are not on the same mounted filesystem.
         (Linux permits a filesystem to be mounted at multiple points,
         but rename() does not work across different mount points, even
         if the same filesystem is mounted on both.)

Поэтому, как также указано в комментарии:

[...] это означает, что нельзя «нормально» использовать смонтированные привязкой каталоги, потому что нет возможности «выбросить» файлы из таких мест, и единственный способ удалить файлы — это безвозвратное удаление без какой-либо возможности восстановить такие данные. И нет особого смысла использовать каталоги, смонтированные при помощи привязки, из-за этого неясного поведения. [...]

0
ответ дан 20 October 2020 в 20:10

Другие вопросы по тегам:

Похожие вопросы: