Зачем parted требуется указывать тип файловой системы при создании раздела и чем его действие отличается от действия такой утилиты, как mkfs.ext4?

Думаю, я понял ваши ожидания.

awk 'NR==FNR{s[$1]++;next}
     (s[$1]>1){ printf("%2d. %s\n",FNR,$0)
}' infile infile
 1.  A  another_column ...
 3.  C ... 
 4.  C ...
 5.  D ...
 7.  A ...
 9.  D ...
10.  D ...

Если вы не хотите, чтобы в результате отображался номер записи, используйте следующую команду:

awk 'NR==FNR{s[$1]++;next} (s[$1]>1)' infile infile
 A  another_column ...
 C ... 
 C ...
 D ...
 A ...
 D ...
 D ...
1
08.11.2019, 01:14
2 ответа

Раздел может иметь тип . Тип раздела — это подсказка, например, «этот раздел предназначен для выполнения определенной функции». Многие типы разделов связаны с определенными файловыми -системами, хотя эта связь не всегда является строгой или однозначной. Вы можете ожидать, что раздел типа 0x07 будет иметь совместимую с Microsoft файловую систему -(, например. FAT, NTFS или exFAT )и 0x83, чтобы иметь собственную файловую систему Linux -(, например. доб2/3/4 ).

Создание файловой -системы действительно является совершенно независимым и ортогональным шагом (вы можете поставить любую файловую -систему куда хотите — только не ждите, что все заработает «из коробки» ).

partedопределяет раздел как «часть всего диска». На самом деле не нужно знать тип раздела (, параметр является необязательным ). Однако при использовании автоматическое -определение файловой системы -и в дальнейшем автоматическое монтирование -могут работать неправильно, если тип раздела не соответствует файловой системе -.

Раздел — это строго линейный участок памяти. mkfs.ext4и его варианты создают файловые -системы, поэтому у вас может быть фактическое дерево каталогов, в котором вы можете удобно хранить именованные файлы.

8
27.01.2020, 23:22

mkfs.somethingсоздает файловую систему на уже существующем разделе. В вашем случае это:

  • ищет первый раздел диска/dev/sda
  • создает на нем новую файловую систему типа файловая система ext4
  • дает ему ярлыкdatapartition

Но :Ничто из этого не сработает, если

  • раздел не существует
  • он существует, но для типа раздела задан тип, который нельзя использовать для файловой системы тип ext4. Тип раздела «сообщает» системе, какие типы файловой системы()можно использовать на разделе. Установка типа раздела не создает файловую систему, она только сообщает, что некоторые типы файловых систем возможны. Например, тип раздела 0x83 предназначен для типов файловых систем ext2, ext3, ext4, btrfs,..., но не для fat, ntfs,...

Причина, по которой вы сначала запускаете parted, заключается в том, что вы хотите выполнить работу, которую не выполнил mkfs.ext4. В вашем случае он создает раздел на /dev/sdaи устанавливает тип на что-то, что поддерживает ext4. Теперь у вас есть все необходимое для запускаmkfs.ext4

Вы могли заметить, что у partedбыло много вариантов. В вашем случае эти параметры сообщают parted, чтобы убедиться, что таблица разделов настроена для оптимального расположения на диске, что раздел должен заполнять весь диск и должен быть первичным, а не логическим разделом. Причины такого выбора - совсем другой вопрос. Совершенно нормально делать другие выборы, но сделанные выборы действительно являются «разумными» вариантами для многих случаев использования

.
-1
27.01.2020, 23:22

Теги

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