umount несколько точек монтирования в соответствии с тем же каталогом

Моя система имеет USB, SD-карту и соединенный SSD. Я смонтировал все устройства USB (/dev/sdb1), SSD (/dev/sda1) и SD-карта (/dev/mmcblk1p1) под/mnt. Там какой-либо путь состоит в том, чтобы размонтировать все устройства, подключенные в/mnt?

(Я могу сделать это путем выполнения grep к выводу lsblk/df/mount и размонтирования человека один, но я ищу другое легкое решение ИЛИ путем выполнения 3 раза umount/mnt),

Обновление 2

Вот вывод lsblk (несколько точек монтирования)

lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda            8:0    0 232.9G  0 disk 
└─sda1         8:1    0 232.9G  0 part /mnt
sdb            8:16   1  14.7G  0 disk 
└─sdb1         8:17   1  14.7G  0 part /mnt

и после выполнения рекурсивного umount

sudo umount --recursive /mnt
lsblk
NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT 
sda            8:0    0 232.9G  0 disk
└─sda1         8:1    0 232.9G  0 part /mnt
sdb            8:16   1  14.7G  0 disk
└─sdb1         8:17   1  14.7G  0 part
0
задан 8 February 2019 в 07:22

4 ответа

Попытка с ленивым размонтированием:

sudo umount -l /mnt
0
ответ дан 26 October 2019 в 08:05

-A, --all-targets Размонтировать все точки монтирования в текущем пространстве имен для указанного файловая система. Файловая система может быть указана одной из точек монтирования или имя устройства (или UUID и т. д.). Когда этот параметр используется вместе с --recursive, тогда все вложенные монтирования в файловой системе рекурсивно размонтирован. Этот параметр поддерживается только в системах, где /etc/mtab — это символическая ссылка на /proc/mounts.

Может быть, вы этого хотите? От man 8 umount

1
ответ дан 9 May 2020 в 02:19

Вы можете размонтировать само устройство, разрешены подстановочные знаки.

umount /dev/sda1 /dev/sdb? /dev/sdc*
0
ответ дан 9 May 2020 в 03:51

Этот однострочный код работает я:

while [[ $(findmnt /mnt) != "" ]]; do sudo umount /mnt; done

Объяснение:

Если команда findmnt /mnt выдает непустой вывод, значит что-то монтируется в /mnt. Тест проверяет, пуст ли вывод или нет, и если вывод не пуст, мы запускаем umount /mnt один раз. Если findmnt /mnt выдает пустой вывод, значит, ничего больше не монтируется под /mnt и все готово.

Если вы работаете как root, вы можете удалить sudo из строки. Если вы работаете как обычный пользователь, вам потребуется sudo для команды umount, но пароль нужно будет ввести только один раз.

1
ответ дан 9 May 2020 в 07:12

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

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