Точки монтирования в /etc/fstab в системе Debian для зашифрованного раздела

perl -aF'\t' -lpe '$_.= "\t". ($. == 1 ? @F+1 : grep $_, @F[6..$#F])' data.set

Поскольку нам нужно добавить еще одно поле в конец строки, мы используем оператор .=для текущей записи $_. Для частного случая 1-й записи мы просто добавляем выражение @F+1, которое интерпретируется в скалярном контексте как означающее текущее количество полей плюс 1.

Для записей заголовка, отличных от -, выражение grep $_, @F[6..$#F]означает итерацию по 7-му элементу до последнего элемента @Fмассива (, который вырезается из записи с помощью разделителя полей табуляции, указанного через вариант -F'\t'. В скалярном контексте он возвращает количество раз, когда условие, в нашем случае, одиночное $_, означает ненулевые элементы в срезе 7-й... до последнего элемента.


Результат

#1 2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20
1  10024 10395 41 K  +  2  1  1  12 14 5  0  0  3  1  3  6  2  11
1  10679 10795 51 P  +  2  1  1  15 14 3  0  0  2  1  2  3  1  11
1
31.10.2019, 18:41
1 ответ

С этими абсолютными путями к устройствам все в порядке, так как их имена стабильны и предписываются первыми полями в строках /etc/crypttab. На самом деле, они являются символическими ссылками на пронумерованные (, поэтому нестабильные )имена узлов устройства сопоставления устройств. Если /etc/crypttabссылается на их исходные устройства (во вторых полях )по стабильным именам или UUID, вы защищены от непредсказуемого порядка устройств.

4
27.01.2020, 23:22

Теги

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