Установка и настройка OPKG-пакета e2fsprogs для проверки USB-накопителя с файловой системой EXT2/3/4

e2fsprogs — набор служебных утилит с открытым исходным кодом для работы с файловыми системами EXT2EXT3 и EXT4. Утилиты предназначены для проверки целостности файловых систем, поиска и исправления ошибок, изменения настроек, форматирования.  

В состав данного пакета входит утилита e2fsckкоторая позволяет проверить раздел жесткого диска с файловой системой EXT2, EXT3 и EXT4 на ошибки в Linux-системах.

Если при загрузке роутера в журнале появилась запись вида:

[W] Dec 15 02:27:50 ndm: kernel: EXT4-fs (sdb3): warning: maximal mount count reached, running e2fsck is recommended 

Это значит, что драйвер EXT4-fs сообщает о максимальном количестве монтирований/подключений раздела sdb3 в системе.

При помощи утилиты tune2fs можно проверить максимальное количество монтирования раздела и сколько раз он уже был смонтирован:

/ # tune2fs -l /dev/sdb3 | grep -E 'Mount|Maximum'
Mount count:              8
Maximum mount count:      30


В файловых системах EXT2, EXT3 и EXT4 имеется параметр max-mount-count и если его превысить, в логе будем видеть выше описанное предупреждение.

Чтобы сбросить количество монтирований, убрать предупреждение при загрузке раздела при помощи утилиты e2fsck, необходимо будет установить пакет с утилитами e2fsprogs.

1. Предварительно нужно подготовить внешний USB-накопитель и установить на него систему пакетов репозитория Entware. Как это сделать, подробно показано в инструкции "Установка системы пакетов репозитория Entware на USB-накопитель".

2. Установите пакет e2fsprogs.

Для этого выполните команду opkg install e2fsprogs:

/ # opkg install e2fsprogs
Installing e2fsprogs (1.44.3-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/e2fsprogs_1.44.3-1_mipsel-3.4.ipk
Installing libuuid (2.32.1-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libuuid_2.32.1-1_mipsel-3.4.ipk
Installing libext2fs (1.44.3-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libext2fs_1.44.3-1_mipsel-3.4.ipk
Installing libblkid (2.32.1-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libblkid_2.32.1-1_mipsel-3.4.ipk
Installing libss (1.44.3-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libss_1.44.3-1_mipsel-3.4.ipk
Installing libcomerr (1.44.3-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libcomerr_1.44.3-1_mipsel-3.4.ipk
Configuring libuuid.
Configuring libblkid.
Configuring libcomerr.
Configuring libss.
Configuring libext2fs.
Configuring e2fsprogs.


3. Проверим доступность утилиты e2fsck и ее опций:

/ # e2fsck -h
e2fsck: invalid option -- 'h'
Usage: e2fsck [-panyrcdfktvDFV] [-b superblock] [-B blocksize]
                [-l|-L bad_blocks_file] [-C fd] [-j external_journal]
                [-E extended-options] [-z undo_file] device

Emergency help:
 -p                   Automatic repair (no questions)
 -n                   Make no changes to the filesystem
 -y                   Assume "yes" to all questions
 -c                   Check for bad blocks and add them to the badblock list
 -f                   Force checking even if filesystem is marked clean
 -v                   Be verbose
 -b superblock        Use alternative superblock
 -B blocksize         Force blocksize when looking for superblock
 -j external_journal  Set location of the external journal
 -l bad_blocks_file   Add to badblocks list
 -L bad_blocks_file   Set badblocks list
 -z undo_file         Create an undo file


4. Переходим к проверке, сбросу количества монтирований раздела жесткого диска с файловой системой EXT2/3/4. 

Для начала проверим доступность всех разделов жесткого диска:

/ # mount | grep sd
/dev/sdc1 on /tmp/mnt/f7bf5f53-ff93-d401-30ae-5f53ff93d401 type ext4 (rw,relatime,data=ordered)
/dev/sdc1 on /opt type ext4 (rw,relatime,data=ordered)
/dev/sdb1 on /tmp/mnt/01D477A2F4778D70 type tntfs (rw,nosuid,noexec,noatime,uid=0,gid=1000,umask=02,allow_utime=0020,nls=utf8,min_prealloc_size=64k,max_prealloc_size=869092348,readahead=4M,perm,user_xattr,case_insensitive,fail_safe,hidden=show,dotfile=show,protected_system=ignore,errors=continue,mft_zone_multiplier=1)
/dev/sdb3 on /tmp/mnt/274659ce-3efd-0f7a-3de7-ab72ca4628b9 type ext4 (rw,nosuid,noexec,noatime,data=ordered)
/dev/sda1 on /tmp/mnt/01D44C003E14AB80 type tntfs (rw,nosuid,noexec,noatime,uid=0,gid=1000,umask=02,allow_utime=0020,nls=utf8,min_prealloc_size=64k,max_prealloc_size=117219324,readahead=4M,perm,user_xattr,case_insensitive,fail_safe,hidden=show,dotfile=show,protected_system=ignore,errors=continue,mft_zone_multiplier=1)


5. Выбираем нужный раздел жесткого диска с файловой системой EXT2/3/4, который упоминается в журнале [W] Dec 15 02:27:50 ndm: kernel: EXT4-fs (sdb3): warning: maximal mount count reached, running e2fsck is recommended и отмонтируем его:

/ # umount /dev/sdb3


6. Проверяем отмонтированный раздел жесткого диска с файловой системой EXT2/3/4 на ошибки и делаем сброс количество монтирований раздела:

/ # e2fsck -y /dev/sdb3
e2fsck 1.44.3 (10-July-2018)
EXT4: ignoring check interval, broken_system_clock set
EXT4: clean, 1142/13221888 files, 2499351/26420736 blocks


Команду выполняем с однобуквенным ключом (опцией) '-y Assume "yes" to all questions', которая позволяет выполнить все необходимые действия с разделом в автоматическом режиме.

7. После проверки монтируем раздел с файловой системой EXT2/3/4 обратно:

/ # mount /dev/sdb3 /tmp/mnt/274659ce-3efd-0f7a-3de7-ab72ca4628b9

 

NOTE: Важно! Обязательно указываем точку монтирования. В нашем примере это mount /dev/sdb2 /tmp/mnt/274659ce-3efd-0f7a-3de7-ab72ca4628b9
У вас точка монтирования будет другой.

8. Проверяем, корректно ли примонтировался раздел:

/ # mount | grep sd
/dev/sdc1 on /tmp/mnt/f7bf5f53-ff93-d401-30ae-5f53ff93d401 type ext4 (rw,relatime,data=ordered)
/dev/sdc1 on /opt type ext4 (rw,relatime,data=ordered)
/dev/sdb1 on /tmp/mnt/01D477A2F4778D70 type tntfs (rw,nosuid,noexec,noatime,uid=0,gid=1000,umask=02,allow_utime=0020,nls=utf8,min_prealloc_size=64k,max_prealloc_size=869092348,readahead=4M,perm,user_xattr,case_insensitive,fail_safe,hidden=show,dotfile=show,protected_system=ignore,errors=continue,mft_zone_multiplier=1)
/dev/sda1 on /tmp/mnt/01D44C003E14AB80 type tntfs (rw,nosuid,noexec,noatime,uid=0,gid=1000,umask=02,allow_utime=0020,nls=utf8,min_prealloc_size=64k,max_prealloc_size=117219324,readahead=4M,perm,user_xattr,case_insensitive,fail_safe,hidden=show,dotfile=show,protected_system=ignore,errors=continue,mft_zone_multiplier=1)
/dev/sdb3 on /tmp/mnt/274659ce-3efd-0f7a-3de7-ab72ca4628b9 type ext4 (rw,relatime,data=ordered)


9. Можете перезагрузить роутер, чтобы убедиться в отсутствие предупреждения при загрузке в журнале.

NOTE: Важно! Поддержка пакета осуществляется в теме форума разработчиков — e2fsprogs - набор служебных утилит для работы с файловыми системами ext2/3/4.

 

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 3 из 3

Еще есть вопросы? Отправить запрос

Комментарии

Комментариев: 2
  • Может быть лучше установку OPKG вынести в отдельную статью, а сюда вставить ссылку на нее? Больно много проматывать :)

    0
    Действия с комментариями Постоянная ссылка
  • Алексей, спасибо за предложение. Мы подумаем как упростить инструкцию.

    0
    Действия с комментариями Постоянная ссылка

Войдите в службу, чтобы оставить комментарий.