Як відключити журнал файлової системи ext4 в linux
Відео: LPIC 104.3 Монтування і демонтування файлових систем
Існує велике різноманіття файлових систем, створених в різний час для правильного функціонування в середовищах різних операційних систем. У Windows - це FAT32, NTFS, exFAT, а в С основними вважаються Ext2, Ext3 і Ext4. Журнальованою ФС, як відомо, дозволяють без участі користувача здійснювати ведення журналу, в якому зберігається список змін розділів жорсткого диска, що певним чином допомагає підтримувати цілісність файлової структури в періоди збоїв її роботи.
Відео: Розуміння файлової системи в Linux, ч.2
Однак, цей функціонал свого часу розроблявся під стандартні жорсткі диски (HDD) і саме по відношенню до них він дуже корисний, тоді як для SSD і SD-карт ситуація зворотна - журнал роботи їм швидше нашкодить, адже мало того, що вони мають обмежену кількість циклів перезапису, так ще і виходить даунгрейд в продуктивності. Саме тому, вирішивши створити на знімному пристрої розділ з файловою системою без обмежень на розмір файлу (в розумних межах), слід скористатися можливістю відключити журнал. Далі мова піде саме про те, як це зробити в Linux з картою пам`яті, згодом використовуваної Android-пристроєм.
Перш ніж відключити журнал, давайте проведемо порівняльний аналіз Linux-ФС, які з успіхом застосовуються і в ОС Android:
Ext2 - друга розширена файлова система, яка прийшла на заміну оригінальної в 1993-му році. Вона розроблена з метою усунути наявні в першій версії обмеження (максимальний розмір файлу збільшений до 2-х терабайт, а загальний розмір розділу - до 32-х терабайт) і не містить функції журналювання.
Ext3 - третя розширена, представлена в 2001-му році. Дана ФС оснащена 3-ма типами журналювання - journal, ordered і writeback, при цьому в ній збережені попередні максимальні показники величини файлу і розділу, а також присутня можливість перетворення за схемою Ext2 -gt; Ext3 безпосередньо без резервного копіювання та відновлення.
Ext4 - четверта розширена, з`явилася в 2008-му році. У ній "максимум для файлу" збільшений до 16-ти терабайт, що виділяється простору - до 1-го ексабайта, а папка може містити максимум 64000 субдіректоріі (в Ext3 - 32000). Крім цього було впроваджено кілька нових технологій, що підвищують продуктивність і надійність в порівнянні з попередньою ревізією. В Ext4 з`явилася можливість вимкнути функцію ведення журналу, в чому, власне, і суть цієї статті.
Взагалі для знімних USB-дисків та інших пристроїв, що запам`ятовують без "крутяться механізмів", рекомендується використовувати Ext2, так як журнал в ній відсутній, а основних її переваг (див. Опис) вистачить, як то кажуть, "з головою". Сучасні версії Android також мають підтримку exFAT від Microsoft - в ній усунуто обмеження в 4 гігабайти на один файл. Однак, ці файлові системи мають певні недоліки в порівнянні з Ext4, які проявляються в більш низьку продуктивність (Ext2) і меншою сумісності (exFAT).
Тому краще створити на зовнішньому накопичувачі Ext4-розділ і відключити журнал в ньому за допомогою терміналу Linux:
mkfs.ext4 / dev / sda5
, де "/ dev / sda5" - Ваша флешка або карта SD-
Відео: Монтування дискових розділів в Linux командою mount
tune2fs -o journal_data_writeback / dev / sda5
переводимо журнал в режим writeback-
tune2fs -O ^ has_journal / dev / sda5
видалить відповідну опцію-
e2fsck -f / dev / sda5
виконає перевірку диска-
dumpe2fs / dev / sda5 | more
перевірить активні властивості ФС (в Filesystem features не повинно бути has_journal).
Перераховані вище команди потрібно виконувати з правами адміністратора! На початковому етапі (створення ФС) можна застосувати Gparted, тоді результат буде відображатися в наочному графічному вигляді. При установці розділу Ext4 на MicroSD для використання в середовищі Android рекомендується залишити першим FAT32-розділ, а Ext4 визначити другим, як первинний.