По поводу вашего вопроса 3. :
Попробуйте добавить собственные определения в /etc/magic
. Он будет использоваться вместе с предварительно скомпилированным файлом magic.mgc
.
Если это не работает, проверьте с помощью
file --version
В моей системе Ubuntu 16.04 он сообщает:
файл-5.25 магический файл из /etc/magic:/usr/share/misc/magic
Таким образом, он использует как текстовый файл /etc/magic
, так и предварительно скомпилированный файл /usr/share/misc/magic.mgc
См. функцию parse_fs_type
в mke2fs.c
:
-t
), используйте это mke3fs
, используйте «ext3»; mke4fs
, используйте «ext4»; mkfs.
, используйте суффикс; /etc/mke2fs.conf
, если таковое имеется; Результирующая текстовая строка используется для поиска определения файловой системы в /etc/mke2fs.conf
(, за исключением «ext2», который обрабатывается внутри ).
Таким образом, ваш mkmk
будет использовать тип файловой системы ext2.
-t
безоговорочно устанавливает тип файловой системы, и с этой опцией единственным эффектом любого имени программы является изменение того, какое имя программы выводится в диагностических сообщениях во время работы программы. mke3fs
в качестве базового имени будет создана файловая система ext3
,с журналом, как если бы был указан -j
. mke4fs
в качестве базового имени будет создана файловая система ext4
. mkfs.
, оставшиеся символы будут использоваться в качестве типа файловой системы безоговорочно. Если базовое имя также оказывается mkfs.ext3
, журнал создается так, как если бы было указано -j
. mke2fs
, беря тип файловой системы из файла конфигурации и меняя его с ext2 на ext3, если указана опция -j
. Большую часть этого можно найти в руководствах mke2fs
и mke2fs.conf
. См. объяснение fs _типа в последнем и раздел Описание в первом. Единственная часть, которая отсутствует в руководствах, это то, что нераспознанное имя эффективно mke2fs
.