Монтирование раздела Luks

Если все, что вы хотите сделать, это подавить предупреждающее сообщение от ls, тогда самым простым -перенаправлением будет перенаправление stderrна /dev/null, например.:

Files=$(2>/dev/null ls -1 *.csv | wc -l)

Обратите внимание, что перенаправление stderrподавляет все ошибки, возникающие в результате этой команды, включая ошибки, которые могут не быть связаны с отсутствием файлов *.csvв каталоге.

Лучшим решением для подсчета файлов может быть использование findвместо ls, например.:

find. -maxdepth 1 -name "*.csv" | wc -l

Фактически, вы можете также использовать findдля выполнения удаления:

find. -maxdepth 1 -name "*.csv" -delete

Я также заметил, что вы использовали флаг -rс rm, что выглядит непреднамеренно, поскольку вы выполняете плоский поиск, используя ls, за которым следует рекурсивное удаление с помощью rm.

Честно говоря, я не уверен, что есть смысл писать скрипт для этой задачи. Какие преимущества дает этот скрипт по сравнению с простым запуском команд напрямую? Другими словами, что здесь не так:

# Check for files
ls *.csv

# Delete the files
rm *.csv

Почему запуск вашего скрипта лучше, чем запуск этих команд? Похоже, вы просто добавляете накладные расходы и заменяете одно сообщение об ошибке другим.

1
24.12.2019, 19:27
2 ответа

Судя по изображению, раздел представляет собой физический том. Это подтверждается pvscan.

lvsперечисляет два логических тома, один из которых является разделом подкачки (LV swap _1 ), кажется, а другой — реальной файловой системой (LV root ). Это соответствующий, который должен быть установлен

mount -o ro /dev/mapper/ubuntu--vg-root /mnt/img5

Когда устройства отсутствуют,vgscan --mknodes

--mknodes
Also checks the LVM special files in /dev that are needed for active LVs and creates any missing ones and removes unused ones.

илиvgmknodesмогут быть полезны

vgmknodes checks the LVM device nodes in /dev that are needed for active LVs and creates any that are missing and removes unused ones.

2
27.01.2020, 23:40

В этом конкретном случае том LUKS содержит физический том диспетчера логических томов (, отсюда и ошибка LVM2_member, которую вы получили при попытке монтирования ).

Выходы

# pvscan
  PV /dev/mapper/img5   VG ubuntu-vg       lvm2 [232.16 GiB / 0    free]

и

# vgs
  VG        #PV #LV #SN Attr   VSize   VFree
  ubuntu-vg   1   2   0 wz--n- 232.16g    0 

оба указывают, что том LUKS содержит (полностью )группу томов ubuntu-vg, которая содержит логические тома

$ sudo lvs
  LV     VG        Attr       LSize    Pool Origin Data%  Meta%  Move Log  Cpy%Sync Convert
  root   ubuntu-vg -wi-a----- <231.21g                                                    
  swap_1 ubuntu-vg -wi-a-----  980.00m   

Вы можете смонтировать файловую систему под rootс помощью команды

sudo mount /dev/ubuntu-vg/root /mnt/img5
0
27.01.2020, 23:40

Теги

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