проблема mdadm на дисках btrfs

Ответ Горо будет работать, но следует отметить, что подстановка команды удаляет завершающие символы новой строки, как указано в стандарте POSIX . Таким образом, это может быть нежелательно, когда вы хотите фактически перебрать все символы, даже не -печатные. Другая проблема заключается в том, что стиль цикла C -используется в bash и ksh93, но не в стандарте (, также известном как POSIX -, совместимый)/bin/sh. Форма расширения параметра ${variable:index:offset}также является типом башизма и не специфицируется определениями расширения параметра POSIX (, хотя и поддерживается ksh93иzsh).

Тем не менее, есть способ перебирать все символы в файле переносимым и гораздо более практичным способом . Это использоватьawk:

# all characters on the same line
$ awk '{for(i=1;i<=length;i++){ printf "%c",substr($0,i,1); system("sleep 1");}; print}' input.txt

# all characters on separate lines
$ awk '{for(i=1;i<=length;i++){ print substr($0, i, 1); system("sleep 1"); }}' input.txt

С помощью этой команды substr()и system()оба указываются в POSIX awk и фактически перебирают все символы.

0
12.12.2020, 14:42
1 ответ

mdadm --createне пытается смонтировать MD-массив, он создает новый, поэтому любая файловая система, которая была на sdcи sddдо этого, была уничтожена.

Если у вас были btrfs с btrfs RAID (a не btrfs поверх MD RAID )на дисках ранее, метаданные btrfs были заменены метаданными MD, и поскольку вы создали RAID 1, он выполнил первоначальную повторную синхронизацию, уничтожив даже больше данных, сохраненных там.

Возможно, вам удастся сохранить некоторые данные с помощью btrfs restore (, но это крайне маловероятно )или с помощью таких инструментов восстановления данных, как photorec и testdisk .

0
18.03.2021, 22:43

Теги

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