Jump to content

ntfs-3g-utils - набор утилит для работы с файловой системой NTFS.


Recommended Posts

 

Установка и настройка ntfs-3g-utils

 

ntfs-3g - драйвер NTFS с открытым исходным кодом, который разрабатывается компанией Tuxera. В Linux OS данный пакет устанавливается отдельно, путем ввода в консоли команды:

sudo apt install ntfs-3g

В состав данного пакета входит утилита ntfsfix, которая позволяет проверить раздел фс NTFS на ошибки в Linux системах. Например, у Вас подключен к роутеру Keenetic накопитель с двумя фс EXT4 \ NTFS - на EXT4 установлен opkg Entware, на NTFS файловое хранилище, установлен прошивочный Transmission, DLNA. Выключили свет, размонтирование разделов прошло некорректно и далее при загрузке фс NTFS получаем записи в логе:

[E] [May 21 11:21:45] ndm: FileSystem::Native: failed to mount "FLS" drive: filesystem is dirty, please perform a chkdsk maintenance of this drive on your Windows computer.
[E] [May 21 11:21:45] ndm: FileSystem::Ext: failed to mount a dirty partition.

в которой сказано, что нужно подключить диск к клиенту с Windows OS и сделать chkdsk раздела. В WebUI при этом будет сказано, что раздел "Требует проверки":

2018-05-22-screen_7.png

Чтобы этого не делать, достаточно установить пакет из репозитория Entware под названием ntfs-3g-utils, в который входят утилиты:

/ # opkg info ntfs-3g-utils 
Package: ntfs-3g-utils
Version: 2017.3.23-1-fuseext
Depends: libc, libssp, librt, libpthread, ntfs-3g, libgcrypt, libuuid
Status: install user installed
Section: utils
Architecture: mipsel-3.4
MD5Sum: 1804405a96cc22bc989a89d0fc6791dc
Size: 356141
Filename: ntfs-3g-utils_2017.3.23-1-fuseext_mipsel-3.4.ipk
Description: Suite of NTFS utilities for doing neat things with NTFS.
 Contains:
 - mkntfs - Create an NTFS filesystem.
 - ntfscat - Dump a file's content to the standard output.
 - ntfsclone - Efficiently clone, backup, restore or rescue NTFS.
 - ntfscluster - Locate the files which use the given sectors or clusters.
 - ntfscmp - Compare two NTFS filesystems and tell the differences.
 - ntfscp - Copy a file to an NTFS volume.
 - ntfssecaudit - Display ownership and permissions, check consistency
 - ntfsfix - Check and fix some common errors, clear the LogFile.
 - ntfsinfo - Show information about NTFS or one of the files or directories within it.
 - ntfslabel - Show, or set, an NTFS filesystem's volume label.
 - ntfsls - List information about files in a directory residing on an NTFS.
 - ntfsresize - Resize NTFS without losing data.
 - ntfsundelete - Recover deleted files from NTFS.
 - ntfsusermap - Define mapping of Windows accounts to Linux logins
Installed-Time: 1526913822

Далее рассмотрим работу утилиты по исправлению ошибок файловой системы NTFS:

- ntfsfix - Check and fix some common errors, clear the LogFile.

Приступим к установке.

Версия из репозитория ntfs-3g-utils_2017.3.23-1:

http://bin.entware.net/mipselsf-k3.4/ntfs-3g-utils_2017.3.23-1-fuseext_mipsel-3.4.ipk

Подготовка:

1. Создаем раздел EXT4 на жестком диске - Использование файловой системы EXT4 на USB-накопителях.

2. Установка и настройка Entware - в данной теме.

Работоспособность проверена с:

Keenetic Giga KN-1010, прошивка draft 2.12.A.6.0-2 от 19.05.2018, раздел на HDD EXT4.

Обновляемся:

/ # opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/keendev

Устанавливаем пакет ntfs-3g-utils:

/ # opkg install ntfs-3g-utils
Installing ntfs-3g-utils (2017.3.23-1-fuseext) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/ntfs-3g-utils_2017.3.23-1-fuseext_mipsel-3.4.ipk
Installing ntfs-3g (2017.3.23-1-fuseext) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/ntfs-3g_2017.3.23-1-fuseext_mipsel-3.4.ipk
Configuring ntfs-3g.
Configuring ntfs-3g-utils.

Проверяем доступность утилиты ntfsfix:

/ # ntfsfix -h
ntfsfix v2017.3.23 (libntfs-3g)

Usage: ntfsfix [options] device
    Attempt to fix an NTFS partition.

    -b, --clear-bad-sectors Clear the bad sector list
    -d, --clear-dirty       Clear the volume dirty flag
    -h, --help              Display this help
    -n, --no-action         Do not write anything
    -V, --version           Display version information

For example: ntfsfix /dev/hda6

Developers' email address: ntfs-3g-devel@lists.sf.net
News, support and information:  http://tuxera.com
/ # ntfsfix -V
ntfsfix v2017.3.23

Attempt to fix an NTFS partition.

Copyright (c) 2000-2006 Anton Altaparmakov
Copyright (c) 2002-2006 Szabolcs Szakacsits
Copyright (c) 2007      Yura Pakhuchiy
Copyright (c) 2011-2015 Jean-Pierre Andre

This program is free software, released under the GNU General Public License
and you are welcome to redistribute it under certain conditions.  It comes with
ABSOLUTELY NO WARRANTY; for details read the GNU General Public License to be
found in the file "COPYING" distributed with this program, or online at:
http://www.gnu.org/copyleft/gpl.html

Developers' email address: ntfs-3g-devel@lists.sf.net
News, support and information:  http://tuxera.com

Проверяем доступность разделов:

/ # mount | grep sd
/dev/sdb1 on /tmp/mnt/OPKG type ext4 (rw,relatime,stripe=8191,data=ordered)
/dev/sdb1 on /opt type ext4 (rw,relatime,stripe=8191,data=ordered)
/dev/sdb2 on /tmp/mnt/FLS type tntfs (rw,relatime,uid=0,gid=0,umask=022,nls=utf8,min_prealloc_size=64k,max_prealloc_size=32763900,readahead=4M,perm,user_xattr,case_sensitive,fail_safe,hidden=show,dotfile=show,protected_system=ignore,errors=continue,mft_zone_multiplier=1)

Выбираем нужный NTFS раздел для проверки:

/dev/sdb2 on /tmp/mnt/FLS type tntfs

Отмонтируем раздел NTFS:

/ # umount /dev/sdb2

Проверяем раздел NTFS на ошибки:

/ # ntfsfix -b -d /dev/sdb2
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
Going to un-mark the bad clusters ($BadClus)... No bad clusters...OK
NTFS partition /dev/sdb2 was processed successfully.

Будут выполнены команды:

-b, --clear-bad-sectors Clear the bad sector list
-d, --clear-dirty Clear the volume dirty flag

После монтируем раздел обратно:

/ # mount /dev/sdb2 /tmp/mnt/FLS

Проверяем, что раздел примонтирован:

/ # mount | grep sd
/dev/sdb1 on /tmp/mnt/OPKG type ext4 (rw,relatime,stripe=8191,data=ordered)
/dev/sdb1 on /opt type ext4 (rw,relatime,stripe=8191,data=ordered)
/dev/sdb2 on /tmp/mnt/FLS type tntfs (rw,relatime,uid=0,gid=0,umask=022,nls=utf8,min_prealloc_size=64k,max_prealloc_size=32763900,readahead=4M,perm,user_xattr,case_sensitive,fail_safe,hidden=show,dotfile=show,protected_system=ignore,errors=continue,mft_zone_multiplier=1)

Далее проверяем show log NDMS:

[I] May 21 16:55:06 ndm: FileSystem::Ext: ntfs "7783495649C29371:": filesystem initialized.
[I] May 21 16:55:06 ndm: kernel: tntfs info (device sda2, pid 30728): ntfs_fill_super(): fail_safe is enabled.
[I] May 21 16:55:06 ndm: kernel: tntfs info (device sda2, pid 30728): load_system_files(): NTFS volume name 'FLS', version 3.1 (cluster_size 4096, PAGE_SIZE 4096).
[I] May 21 16:55:06 ndm: FileSystem::Repository: "7783495649C29371:" registered.

2018-05-21-screen_7.png.c86db029b9ba07b9279e7c6c691e95fc.png

как видим, раздел загрузился без ошибок и можно продолжать работу.

  • Thanks 5
  • Upvote 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 8 months later...

@ndm @Le ecureuil Добавить бы данную фичу в прошивку с управлением в вэб. Точно была бы не лишней. А то бывает ошибки на подключенном диске на каком нибудь удаленном роутере возникают, а устранить их рядом компа нет. Вот и мучаешься потом. То,что она в OPKG есть это конечно гуд. Но диски подключены у многих, а с OPKG разберутся не все.

Edited by T@rkus
  • Upvote 4
Link to comment
Share on other sites

5 часов назад, T@rkus сказал:

@ndm @Le ecureuil Добавить бы данную фичу в прошивку с управлением в вэб. Точно была бы не лишней. А то бывает ошибки на подключенном диске на каком нибудь удаленном роутере возникают, а устранить их рядом компа нет. Вот и мучаешься потом. То,что она в OPKG есть это конечно гуд. Но диски подключены у многих, а с OPKG разберутся не все.

Не хватит ОЗУ на устройствах с 64 мб чтобы проверить 2тб диск. Уже сто раз муссировалось.

  • Thanks 1
Link to comment
Share on other sites

18 минут назад, Le ecureuil сказал:

Не хватит ОЗУ на устройствах с 64 мб чтобы проверить 2тб диск. Уже сто раз муссировалось.

Так с 64 мб из KN с USB всего KN-1210 (Keenetic 4G III) и то он вроде диски не поддерживает.  Omni II из старых только если. Я посмотрел на всех новых других КN с USB минимум 128. На Extra II тоже 128.

Edited by T@rkus
  • Upvote 1
Link to comment
Share on other sites

Выходит, что частично реализовалась моя хотелка 2016 года (которая, впрочем и находится сейчас в реализованных), не смотря на то, что там многие (в том числе многоуважаемый @Le ecureuil) указывали на не реальность всего этого.

Дефрагментация, соглашусь, была чрезмерной хотелкой для роутера. Признаю.

Link to comment
Share on other sites

1 час назад, ankar84 сказал:

Выходит, что частично реализовалась моя хотелка 2016 года (которая, впрочем и находится сейчас в реализованных), не смотря на то, что там многие (в том числе многоуважаемый @Le ecureuil) указывали на не реальность всего этого.

Дефрагментация, соглашусь, была чрезмерной хотелкой для роутера. Признаю.

Конечно нереально.

1. Сколько времени будет занимать проверка 2Тб диска по USB2.0?

2. Кто-то проверял как на устройствах с 128 Мб ОЗУ себя ведет эта проверка с тем же диском в 2 Тб на котором десяток миллионов файлов?

3. Кто даст гарантии корректной работы этой утилиты? Все же проверка ФС даже на торрентопомойке это крайне ответственная операция. Именно потому в ядро 3.4 мы не переносим ФС из более новых ядер - сломать элементарно, чинить почти невозможно.

Потому да, для мелких применений оно пойдет, но мы для вас специально сделали opkg: то, что делать стандартным функционалом полноценно неразумно или невозможно, вы можете попробовать сделать сами.

  • Upvote 3
Link to comment
Share on other sites

  • 3 months later...

@TheBB @zyxmon @enpa Утилита перестала устанавливаться. Пробовал на KN-1010 и Giga II прошивка 2.15.C.4.0-1. Устанавливаю Entware, обновляю, далее opkg install ntfs-3g-utils. Еще пару неделю назад все устанавливалось прекрасно.

 

opkg install ntfs-3g-utils 

Installing ntfs-3g-utils (2017.3.23-2-fuseext) to root... 
Downloading http://bin.entware.net/mipselsf-k3.4/ntfs-3g-utils_2017.3.23-2-fuseext_mipsel-3.4.ipk 
opkg: allocatestack.c:530: allocate_stack: Assertion `size != 0' failed. 
Aborted 

Edited by T@rkus
  • Thanks 1
Link to comment
Share on other sites

~ # opkg install ntfs-3g-utils
Installing ntfs-3g-utils (2017.3.23-2-fuseext) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/ntfs-3g-utils_2017.3.23-2-fuseext_mipsel-3.4.ipk
Installing libfuse (2.9.7-2) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libfuse_2.9.7-2_mipsel-3.4.ipk
Installing ntfs-3g (2017.3.23-2-fuseext) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/ntfs-3g_2017.3.23-2-fuseext_mipsel-3.4.ipk
Installing libgpg-error (1.36-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libgpg-error_1.36-1_mipsel-3.4.ipk
Installing libgcrypt (1.8.4-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libgcrypt_1.8.4-1_mipsel-3.4.ipk
Configuring libfuse.
Configuring ntfs-3g.
Configuring libgpg-error.
Configuring libgcrypt.
Configuring ntfs-3g-utils.

ЧЯДН? Пакеты вчера обновились. Попробуйте еще раз.

Link to comment
Share on other sites

22 минуты назад, zyxmon сказал:

~ # opkg install ntfs-3g-utils
Installing ntfs-3g-utils (2017.3.23-2-fuseext) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/ntfs-3g-utils_2017.3.23-2-fuseext_mipsel-3.4.ipk
Installing libfuse (2.9.7-2) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libfuse_2.9.7-2_mipsel-3.4.ipk
Installing ntfs-3g (2017.3.23-2-fuseext) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/ntfs-3g_2017.3.23-2-fuseext_mipsel-3.4.ipk
Installing libgpg-error (1.36-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libgpg-error_1.36-1_mipsel-3.4.ipk
Installing libgcrypt (1.8.4-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libgcrypt_1.8.4-1_mipsel-3.4.ipk
Configuring libfuse.
Configuring ntfs-3g.
Configuring libgpg-error.
Configuring libgcrypt.
Configuring ntfs-3g-utils.

ЧЯДН? Пакеты вчера обновились. Попробуйте еще раз.

По прежнему не устанавливается ни на KN-1010 ни на Giga II. Обе флешки отформатированны в NTFS это может влиять?

Edited by T@rkus
Link to comment
Share on other sites

4 минуты назад, zyxmon сказал:

@T@rkus проблема локализовна и решена. Можно переустановить entware поверх имеющейся версии. Другое решение есть в группе телеграм.

Сегодня ночью заново скачал дистрибутив с Entware и установил. Утилита установилась на обоих устройствах. Спасибо.

Link to comment
Share on other sites

  • 1 year later...

Что делать в случае если после команды

~ # umount /dev/sda1
umount: can't unmount /tmp/mnt/01D635D03DB7BE50: Device or resource busy

Link to comment
Share on other sites

  • 4 months later...

А как проверять диск, если он не виден в системе и SSH под root не работает, пока диск не проверишь из под Windows? :)

Есть другой способ установки opkg на другой раздел?

Link to comment
Share on other sites

2 часа назад, MuadDiib сказал:

Есть другой способ установки opkg на другой раздел?

Превратит раздел в "реаниматор", накидать нужных утилит, напр., "mc"  - для удобства, какой-нибудь текстовый редактор  (конфиги подправить), описанный здесь пакет и/или др. пакеты для работы с ФС, архиватор(ы) - для создания резервной копии или упаковки "нажитого непосильным трудом", ...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...