mv
так не работает. Вам понадобится другой инструмент, например переименовать
или mmv
. Обратите внимание, что существует две версии переименования
.
И, конечно же, оболочка может это сделать (с помощью mv
):
for file in *.download; do
fbasename="${file%.download}"
if [ -e "${fbasename}.html" ]; then
echo "${fbasename}.html exists; skipping."
echo "${fbasename}.html exists; skipping." >>rename.log
continue
else
echo mv -- "$file" "${fbasename}.html"
fi
done
Удалите echo
после тестирования.
Способ mmv
:
mmv -n '*.download' '#1.html'
-n
предотвращает выполнение и показывает, что будет сделано.
Вы упомянули, что эта файловая система используется на очень старых машинах. Если файловая система изначально была создана с помощью очень старого инструмента mke2fs
, который не поддерживал функцию файловой системы resize_inode
для резервирования некоторого пространства метаданных для расширения строки -файловой системы, возможно, что ваш второй запуск с e2fsck
версия 1.14.1 просто добавила его автоматически.
Если я правильно помню, такое распределение совершенно безопасно для старых систем, которые его не понимают, но оно гарантирует, что некоторые важные структуры метаданных могут расширяться без серьезной -реорганизации, если файловая система когда-либо будет расширена.
Вы можете убедиться в этом, запустив tune2fs -l
в файловой системе вашего USB-накопителя и в одной из файловых систем ext2 ваших старых машин и сравнив результаты. Вы можете сделать это, даже если файловые системы смонтированы. Если выходные данные для вашего USB-накопителя содержат ключевое слово resize_inode
в строке Filesystem features:
, а локальные файловые системы ext2 на ваших старых машинах не имеют этого ключевого слова, то наиболее вероятным объяснением является то, что ваш e2fsck -pfv
просто взял возможность сделать это крошечное выделение в надежде, что это может помочь избежать простоев в будущем.
Чтобы дополнить полезный вклад в мой вопрос, я провел собственное исследование. Поскольку часть результатов может представлять некоторый общий интерес, я суммирую их в этом ответе -.
Пожалуйста, обратите внимание :В соответствии с вопросом, все нижеследующее относится к e2fsck
версии 1.41.1 и относится к файловым системам Ext2 без журнала.Но общие термины также в некоторой степени применимы к современным версиям как программы, так и файловой системы.
Начнем с заголовков — обоснования ниже:
Запустить e2fsck
в локали C, например так:
LC_ALL=C e2fsck...
Таким образом, вы получаете сообщения на английском языке, что облегчает поиск конкретной помощи в сети.
Будьте осторожны с параметром -y
. :Он будет автоматически отвечать "да" на все подсказки e2fsck
. И это не всегда будут вопросы типа «Исправить эту ошибку?», есть также вопросы с сутью «Удалить затронутый файл?».
Тот факт, что e2fsck
внес некоторые изменения в файловую систему и вышел со статусом 1 (или 3 ), не означает, что были ошибки файловой системы (повреждения ).
e2fsck
ручкиSIGINT
(Ctrl -C ). Но я бы не стал прибегать к этому. (Личное мнение.)
Следующие пункты посвящены информации , которую вы получаете отe2fsck
:
Если вы хотите знать, какие ошибки, вероятно, содержит ваша файловая система и что e2fsck
делает с этим, не используйте параметр -p
(preen ).
Интерактивный запуск e2fsck
(, то есть запуск без параметров -n
, -p
, -a
, -y
), выводит больше сообщений об обнаруженных ошибках, чем только чтение -(-n
)или предварительная обработка(-p
)бежит делать. -a
— это просто псевдоним -p
. От прогонов «да»(-y
)вы получаете в основном ту же информацию, что и от интерактивного прогона.
Хотя вариант -n
довольно близок, он не дает точной пробной версии интерактивного варианта.
Если вы не используете опцию -f
, есть вероятность, что e2fsck
принудительно выполнит проверку самостоятельно. При этом он дает дополнительную информацию для обоснования своего решения. Пример:
... primary superblock features different from backup, check forced.
Если вы не хотите пропустить это, начните без опции -f
,использовать его только во второй попытке, если e2fsck
отказывается от проверки, потому что файловая система выглядит чистой.
Не забудьте посмотреть код выхода e2fsck
, чтобы получить полную картину:echo $?
.
Интерактивный:Без использования опций -n
, -p
, -a
и -y
, e2fsck
выполняет интерактивную проверку файловой системы. Это означает, что он будет спрашивать вас на каждом шагу, что делать. Это дает вам максимальный контроль над процессом.
Предостережение :В зависимости от размера и состояния файловой системы это может довольно быстро стать утомительным. :Представьте, что вам нужно подтверждать исправление индекса за индексом. Такие сеансы могут длиться часами или даже хуже.
Кроме того, все может стать действительно пугающим, если вопросы будут развиваться в направлении, с которым вы не знакомы.
Прерывание:Если интерактивная проверка выходит из-под контроля таким образом, было бы неплохо знать, что e2fsck
обрабатываетSIGINT
(Ctrl -C ).
На самом деле есть обнадеживающие отчеты, например от MadHatter и от Криса . Но, как уже было сказано, я постараюсь избегайте таких прерываний.
Причина проста. :Проверка файловой системы — сложный процесс, исправление повреждений должно выполняться последовательным и последовательным образом, а обработка прерываний еще больше усложняет задачу. Как и любое сложное программное обеспечение, обработчики сигналов могут содержать ошибки. См., например, этот пост Андреаса Дилгера. Так зачем рисковать? Конечно, могут быть веские причины, но вес сам.
Только для чтения -:Если вы мало что знаете о состоянии работоспособности файловой системы, которую нужно проверить, рекомендуется сначала использовать e2fsck
с параметром -n
. Как мы увидим ниже, это не дает точного пробного прогона, но дает хорошее представление о том, чего можно ожидать от интерактивного прогона.
Очистка:e2fsck
очищает файловую систему, если используется опция -p
. man-страница e2fsck (8)звучит многообещающе:
This option will cause e2fsck to automatically fix any filesystem problems that can be safely fixed without human intervention.
Но это также означает, что он исправит только некоторые ошибки файловой системы. Из исходных текстов e2fsck
видно, что запуск -p
останавливается, как только обнаруживает ошибку, которую он не может безопасно обработать, оставляя все остальное последующим запускам, которые делают больше, чем просто чистку.
Кроме того, как сказано выше, -p
даст меньше информации об ошибках и их исправлениях.
Да:Запуск e2fsck
с опцией -y
дает тот же результат, что и интерактивный прогон, на все вопросы которого был дан ответ «да». О подводных камнях такого подхода уже говорилось выше.
Ожидайте:Как я узнал из этого раздела " Ext2fs Undelete of Directory Structures mini -HOWTO ", можно автоматически отвечать на вопросы e2fsck с помощью более тонкая детализация с помощью программы Expect . Там используется следующий скрипт-оболочка для e2fsck
:
#!/usr/bin/expect -f
set timeout -1
spawn /sbin/e2fsck -f $argv
expect {
"Clear<y>? " { send "n" ; exp_continue }
"<y>? " { send "y" ; exp_continue }
}
На все вопросы, в которых используется подсказка «Очистить?», будет автоматически отображаться «n», а на все остальные — «y». Обратитесь к документации Expect за подробностями. См. этот вопрос от Wrothgarr для другого примера использования expect for e2fsck
.
Для уточнения :Я не рекомендую слепо использовать эти скрипты. Они просто упоминаются здесь в «образовательных целях».
Для тех, кто хочет воспользоваться этой идеей и адаптировать ее к своим потребностям. :В начале e2fsck
исходного файла e2fsck/problem.c определен массив prompt
для хранения всех всего 20 подсказок, которые использует e2fsck
. Некоторые из них используются только внутрь. Подробнее о взаимосвязи между подсказками и ошибками файловой системы следует ниже.
Диалог:Для большинства ошибок, обнаруженных в файловой системе, e2fsck
обращается к функции fix_problem
, которая определена в файле e2fsck/problem.c. Эта функция ведет диалог с пользователем в соответствии с конкретной ошибкой в зависимости от заданных опций e2fsck
.
Для этого fix_problem
ищет текущий код ошибки в массиве problem_table
, определенном ранее в том же файле e2fsck/problem.c. В этом массиве каждому коду ошибки присваивается шаблон сообщения об ошибке, приглашение задать пользователю вопрос о проблеме и битовая маска, управляющая деталями обработки ошибок. (Для некоторых ошибок есть также ссылка на дополнительный код ошибки, называемый «после кода», чей диалог выполняется впоследствии. Но это не имеет значения для нас.)
В этой битовой маске иногда используются два флага, которые важны для нашего вопроса:PR_PREEN_NOMSG
и PR_NO_NOMSG
. Когда они установлены, они подавляют сообщение об ошибке для запусков -p
и -n
соответственно. Таким образом, они определяют ошибки, для которых вы получите больше информации в интерактивном прогоне или прогоне -y
.
Определение problem_table
указывает 292 кода ошибки, из которых 23 помечены PR_PREEN_NOMSG
и только 1 помечен PR_NO_NOMSG
. Ни один из них не несет оба флага, PR_PREEN_NOMSG
и PR_NO_NOMSG
.
Еще один интересный флаг —PR_PREEN_OK
:Ошибки, содержащие этот флаг, могут быть безопасно обработаны с помощью preen(-p
run ). Существуют и другие ошибки, о которых позаботится preen, см. «особые случаи» ниже, но это большинство из них. 82 ошибки в массиве problem_table
помечены как PR_PREEN_OK
.
Запуск:Для сборки Linux e2fsck
версии 1.41.1 выполнение начинается с функции main
в файле e2fsck/unix.c.
Pass 0:После инициализации и проверки журнала, что не относится к данному вопросу, в файловой системе выполняются некоторые фундаментальные проверки и очистки.Это также рассматривается как проход 0. Большая часть этого выполняется функцией check_super_block
в исходном файле e2fsck/super.c.
Несмотря на название, эта функция не только заботится о суперблоке, но и проверяет дескрипторы группы блоков. При этом он суммирует количество свободных блоков и свободных инодов для каждой группы блоков и сравнивает результат с глобальными значениями в суперблоке.
Что произойдет, если эти значения не совпадают, зависит от e2fsck
параметров командной строки. :При запуске -n
файловая система считается недействительной, и полная проверка выполняется позже. Во всех остальных случаях (-p
, -y
, интерактивном запуске )общее количество в суперблоке автоматически обновляется, не вызывая полной проверки. На самом деле, если последние запуски не находят дополнительных ошибок, они сообщают о том, что файловая система чистая, несмотря на это молчаливое исправление.
Функция check_super_block
также выполняет другие действия, такие как проверка индексного дескриптора изменения размера, очистка бесхозных индексных дескрипторов, выполнение некоторой уборки в журнале, но это не кажется важным для нашего вопроса.
Пропустить:Если полная проверка файловой системы еще не принудительно выполнена с помощью параметра -f
, e2fsck
я решаю принудительно выполнить полную проверку самостоятельно. Широко известными критериями этого являются количество монтирований с момента последней проверки, отсутствие чистого размонтирования, уже известные ошибки файлов и т.д.
Но есть еще один критерий, который он применял, но только если опция -n
не использовалась :Различия между суперблоком и его резервными копиями в отношении следующих величин:
Включены функции файловой системы, кроме large_file
, dir_nlink
, extent
,
общее количество блоков,
общее количество инодов,
UUID файловой системы.
Причина исключения некоторых функций файловой системы из этого критерия заключается в том, что ядро может устанавливать такие функции на лету по мере необходимости.и делает это только в суперблоке, но не в резервных копиях. Для исключенных функций такие различия не считаются достаточно важными, чтобы требовать полной проверки. Напротив, функция ext_attr
также может динамически устанавливаться ядром, но в этом случае обновление резервных копий имеет решающее значение, поэтому эта функция не является исключением.
Если e2fsck
решает принудительно выполнить полную проверку самим ts, он печатает сообщение, объясняющее неудобства. Если это происходит из-за одного из именованных различий между суперблоком и его резервными копиями, сообщение читается как:
... primary superblock features different from backup, check forced.
Обратите внимание, что термин «функции» в сообщении имеет более широкое значение, чем чисто «функции файловой системы». :Он также охватывает, например, общее количество блоков. См. также этот пост Эрика Сандина и этот Теодора Цо по этому поводу.
В любом случае, вы никогда не увидите это сообщение при -n
прогоне, потому что, как было сказано выше, резервные копии суперблоков в этом случае не учитываются.
Если полная проверка не принудительна ни с помощью -f
, ни с помощью e2fsck
, проверка пропускается(e2fsck
в словаре ). В этом случае e2fsck
сообщает о файловой системе как о чистых завершениях со статусом 0. Это также верно, если на проходе 0 были некоторые исправления, например, исправление общего количества свободных блоков в суперблоке.
Проходы с 1 по 6.:При полной проверке e2fsck
выполняет не менее пяти полных проходов по файловой системе, каждый из которых имеет свой фокус. Они выполняются функциями с e2fsck_pass1
по e2fsck_pass5
, которые определены в исходных файлах с e2fsck/pass1.c по e2fsck/pass5.c соответственно.
Могут быть дополнительные проходы, дополняющие проход 1, если это необходимо для обработки особых повреждений файловой системы. Они обозначены как pass 1B to pass 1D, а соответствующие функции с pass1b
по pass1d
определены в e2fsck/pass1b.c.
Перефразирование каталогов,который является частью прохода 3 и выполняется функцией e2fsck_rehash_directories
в файле e2fsck/rehash.c, считается проходом 3А.
Кроме того, существует код ошибки PR_6_RECREATE_JOURNAL
, который используется, когда журнал необходимо создать заново. Очевидно, считается, что это отдельный проход :проход 6. Он выполняется в функции main
.
Большинство ошибок, определенных в массиве problem_table
, проверяются на этих проходах. Для каждой ошибки можно увидеть номер прохода, которому она подвергается, из названия ее кода ошибки :. Номер следует за первым подчеркиванием в имени кода. Так, например, ошибка PR_1_TOO_MANY_BAD_BLOCKS
обрабатывается на первом проходе, а PR_3A_OPTIMIZE_DIR_ERR
обрабатывается на третьем проходе.
Для этого вопроса особенно интересно, что общее количество свободных блоков и свободных инодов снова проверяется в начале прохода 5. :За исключением быстрой проверки на проходе 0, где только соответствующие значения из дескрипторы группы блоков были суммированы, на этот раз счетчики вычисляются на основе данных, тщательно собранных e2fsck
в ходе прохождения всей файловой системы, где роли каждого блока и каждого индексного дескриптора анализировались индивидуально. Это делается функциями check_block_bitmaps
и check_inode_bitmaps
, которые определены в файле e2fsck/pass5.c.
Различия результирующих значений по сравнению со значениями в суперблоке обрабатываются как ошибки PR_5_FREE_BLOCK_COUNT
и PR_5_FREE_INODE_COUNT
. Кстати, эти ошибки помечены PR_PREEN_NOMSG
, поэтому они не сообщаются явно при очистке(-p
).
Особые случаи:Существуют исправления, которые e2fsck
могут выполняться в файловой системе без вызова fix_problem
или обращения к каталогу ошибок в problem_table
. Эти исправления выполняются только при отсутствии опции -n
и без уведомления в выводе, но, возможно, в статусе выхода.Я нашел три из них в источниках:
Коррекция общего количества свободных блоков и количества свободных инодов в суперблоке во время прохода 0 (без-n
). Это уже обсуждалось выше.
Во время прохода 1 последнее бесхозное поле в суперблоке автоматически очищается, если установлено (без-n
).
Если значение счетчика ссылок, хранящееся в индексном узле проиндексированного каталога, указывает на то, что ранее оно превышало верхний предел, а текущее истинное число оказывается ниже этого предела, значение в индексном узле автоматически корректируется при проходе. 4 (без-n
).
Статус выхода:Для полной (принудительной )проверки код выхода определяется функцией main
после прохождения проверки в ходе анализа ее результата :проверка не была отменена на полпути, статус выхода будет нулевым тогда и только тогда, когда до сих пор не было изменений в файловой системе.
Последний штрих:Если проверка не была отменена на полпути, функция main
сбрасывает счетчик монтирования в суперблоке и обновляет временную метку, чтобы e2fsck
мог сообщить в будущих запусках, когда будет завершена следующая полная проверка. быть вынужденным. Это делается во время очистки после определения статуса выхода, поэтому это изменение не влияет на статус.
Обработчик сигналов:В функции PRS
, которая вызывается main
, обе определены в e2fsck/unix.c, e2fsck
порождают обработчики сигналов для SIGINT
, SIGTERM
, SIGUSR1
, и SIGUSR2
. Последние два могут использоваться для переключения информации о ходе выполнения, как описано в справочной странице e2fsck (8).
Первые, очевидно, обрабатываются, чтобы разрешить безопасные прерывания и завершение e2fsck
.
Пытаясь воспроизвести поведение e2fsck
, показанное в вопросе, я настроил тестовую файловую систему Ext2,заполнил его фиктивными файлами до 10% от его емкости и использовал шестнадцатеричный редактор для внесения некоторых искусственных ошибок. Затем эта файловая система была проверена теми же командами, что и в вопросе, чтобы сравнить выходные данные и статусы выхода e2fsck
.
При последнем запуске вопроса количество использованных блоков изменилось. e2fsck
вычисляет это значение очевидным образом из количества свободных блоков и общего количества блоков. Вот почему я выбрал эти величины в качестве объекта искусственных ошибок.
Количество свободных блоков в суперблоке:Структура данных суперблока очень подробно описана в этом документе . (Актуальную версию этого документа, описывающую файловую систему Ext4, можно найти здесь . )Исходя из этого, я использовал шестнадцатеричный редактор, чтобы уменьшить количество свободных блоков в суперблоке на 2.
Эта искусственная ошибка была обнаруженаe2fsck -nv
(без -f
), которая громко пожаловалась, принудительно выполнила полную проверку и вышла со статусом выхода 4.
Кроме того, принудительное чтение -только выполнение(-nfv
)сообщило об этой ошибке и завершилось со статусом 4.
Последующий -pv
запуск (без-f
)обнаружил, что файловая система чиста, и не дал никакого уведомления об ошибке. Однако она исправила ошибку и вывела количество использованных блоков на основе скорректированных значений, но завершилась со статусом 0.
После повторного появления той же ошибки принудительный предварительный запуск(-pfv
)также не сообщал об ошибке, но исправил ее, выйдя со статусом 1.
Такое поведение e2fsck
хорошо понятно из того, что было получено из источников, указанных выше.
Это означает, что это должна была быть другая ошибка, которая привела к результатам проверки, описанным в вопросе :. В противном случае, это было бы сообщено при прогоне только для чтения -и исправлено первым (непринужденный )прихорашиваться,так что последний запуск нашел бы чистую файловую систему.
Общее количество блоков в суперблоке:Используя шестнадцатеричный редактор, я уменьшил общее количество блоков в суперблоке на 2.
Это не было обнаружено -nv
запуском (без -f
), который сообщил о том, что файловая система чиста, и завершился со статусом 0.
При принудительной проверке(-nfv
)было обнаружено несколько ошибок — неправильные в некотором смысле:e2fsck
серьезно относились к измененному общему количеству блоков и, как следствие, обнаружили неправильное количество свободных блоков в последней группе блоков и в суперблоке. Кроме того, было обнаружено, что заполнение в конце растрового изображения блока не задано. Статус выхода был 4.
Последующая предварительная обработка(-pv
без-f
)вызвала полную проверку из-за различий между суперблоком и его резервными копиями. По ходу были исправлены все "неправильные" ошибки, обнаруженные ранее при принудительном чтении -only run. Однако он сообщил только о «неправильной» )ошибке (в заполнении растрового изображения, не давая никакого уведомления о подсчете свободных блоков. Наконец он вышел со статусом 1.
После повторного появления той же ошибки принудительная очистка(-pfv
)сделала по существу то же самое, за исключением того, что она не сообщила о разнице между суперблоком и его резервными копиями, которая ранее была указана как причина принудительной проверки.
Также такое поведение e2fsck
можно понять из обсуждения источников выше. Однако это отличалось от того, что описано в вопросе. Так что, должно быть, это была другая ошибка.
Количество свободных блоков в резервной копии:Номера блоков резервных копий суперблоков можно найти с помощью
LC_ALL=C dumpe2fs <device> | grep -i superblock
Однако количество свободных блоков в первой резервной копии суперблока полностью игнорируется e2fsck
. На самом деле кажется, что это значение отличается от значения в основном суперблоке даже в действительно чистой файловой системе. И действительно, если подумать,постоянное синхронизирование этого значения во всех резервных копиях потребовало бы огромных накладных расходов. Так что я предполагаю, что там это вообще не имеет значения.
Общее количество блоков в резервной копии:Снова используя шестнадцатеричный редактор, я уменьшил общее количество блоков в первой резервной копии суперблока на 2.
Эта искусственная ошибка была полностью проигнорирована e2fsck
в режиме чтения -только:-nv
и -nfv
.
Предварительный запуск(-pv
без-f
)принудительной полной проверки с сообщением
... primary superblock features different from backup, check forced.
В ходе работы он исправил ошибку без дальнейших связанных сообщений и вышел со статусом 1.
После повторного появления той же ошибки принудительное очищение(-pfv
)сделало то же самое, но без уведомления об ошибке.
Опять же, такое поведение можно понять из приведенного выше обсуждения источников; и это отличается от того, что наблюдалось в вопросе.
Кроме того, невынужденные e2fsck
запуски, описанные в вопросе, и последующие проверки, описанные в обновлении 1, показали одинаковое общее количество блоков. Таким образом, это значение не изменилось ни в одном из этих запусков и, следовательно, не могло быть предметом разыскиваемой ошибки.
Короче :№
Для каждого отдельного прогона, описанного в вопросе, я обнаружил возможные ошибки, приводящие к наблюдаемому поведению e2fsck
. Но я не нашел ни одной ошибки, вызывающей такое поведение всех прогонов в последовательности.
Все ошибки в problem_table
исключены, потому что о них сообщалось либо при выполнении -nfv
, либо при выполнении -pfv
, либо при обоих.
Принимая во внимание «особые случаи» выше, неправильное количество свободных блоков или свободных индексных дескрипторов было бы сообщено только для чтения -. Это был не тот случай.
Другие «особые случаи» не привели бы к изменению количества используемых блоков, которое наблюдалось в последнем прогоне.
Но ведь e2fsck
— сложная программа, так что, скорее всего, я что-то недосмотрел.
С учетом этих результатов кажется, что следующий рабочий процесс можно использовать для безопасной проверки несмонтированной файловой системы Ext2 с неизвестным состоянием работоспособности, избегая при этом неприятных сюрпризов в интерактивной части и получая максимум информации от e2fsck
.
Предполагается исправное оборудование! Если, в частности, диск не заслуживает доверия в этом отношении, безоговорочно начните с шага 3 (сделайте резервную копию файловой системы ), продолжая остальные шаги в указанном порядке:
Выполнить -nv
прогон:
LC_ALL=C e2fsck -nv <device>; echo $?
Если e2fsck
пропускает полную проверку, сообщая о том, что файловая система чиста, принудительно повторите шаг 1 с помощью -f
.
В зависимости от обнаруженных повреждений создайте резервную копию файловой системы с помощью dd
. Это позволяет восстановить текущее состояние, если что-то пойдет не так на следующих шагах.
Если в соответствии с результатами прогонов только для чтения -это кажется возможным, выполните интерактивную проверку с помощью
LC_ALL=C e2fsck -v <device>; echo $?
форсируя его с помощью -f
, если необходимо, чтобы получить полную проверку.
Что делать, если интерактивный запуск невозможен, зависит от результатов, полученных на данный момент.
dumpe2fs:Программу dumpe2fs
можно использовать для определения того, какие функции включены в файловой системе.
Это также работает для неизвестных функций. В этом случае dumpe2fs
использует общие имена признаков, которые однозначно идентифицируют соответствующие биты в полях признаков суперблока.Например, FEATURE_R16
соответствует 16-му биту (, считая от 0 )в поле совместимых только для чтения -функций суперблока. Точно так же FEATURE_I31
соответствует старшему биту поля несовместимых признаков.
Если установлена функция compression
, dumpe2fs
необходимо запустить с опцией -f
.
Однако версия 1.41.1 этой программы кажется немного ошибочной, поскольку она аварийно завершает работу с исключением с плавающей запятой при некоторых комбинациях включенных и отключенных функций, например. для включенного 64bit
и отключенного journal_dev
.
debugfs:Команда show_super_stats
из debugfs
дает аналогичный вывод dumpe2fs
в отношении включенных функций файловой системы. Также эта программа сообщает о неизвестных функциях.
Версия 1.41.1 этой программы тоже содержит ошибки. :Команда show_super_stats
аварийно завершает работу с ошибкой сегментации, если включены compression
или journal_dev
. Подобно dumpe2fs
, вся программа debugfs
завершается с ошибкой с плавающей запятой, если функция 64bit
включена, а journal_dev
отключена.
tune2fs:Если включены только известные функции файловой системы, они могут быть перечислены как часть вывода tune2fs -l
. Однако эта программа отказывается запускаться, если включена какая-либо неизвестная функция файловой системы, даже если используется опция -f
.