LinuxForum.Fans
Тема

Монтирование ntfs

Автор: w03zd8rc 14 сообщений 6852 просмотров
#111718

Монтирование в fstab6

text
/dev/sda1       /mnt/media      ntfs-3g auto,umask=0,locale=ru_RU.koi8r,rw      0       0

Все папки видятся, просматриваются и изменяются хорошо (даже которые по-русски написаны), кроме одной, при попытке просмотра этой папки выдает следующее:

text
ls: чтение каталога /mnt/media/films/: Неверный или неполный мультибайтный или широкий знак

В чем проблема?
При смене локали монтирования, например, на utf8, папку просматривать и изменять можно, но собственно кирилица отображается некоректно.
Подскажите в чем проблема и каким макароми можно вылечить?

#111720

Я обычно, когда ntfs монтирую, указываю iocharset, а locale опускаю. Например,
[console]
mount -t ntfs-3g -o rw,iocharset=utf8 /dev/sda1 /mnt/media
[/console]

#111732

ntfs-3g не имеет параметра iocharset, или же просто оно у меня не работает. Смонтировалось с кодировкой по умолчанию, кракозябрами латиница. Естественно, к папке доступ появился также, как и если locale поставить utf8. А система норм у нтфс кирилицу видит только при кодировке koi8r

#111734
w03zd8rc написал:
ntfs-3g не имеет параметра iocharset

Прошу прощения, действительно попутал.

Виндовый chkdsk пробовали?

#111738
w03zd8rc написал:
Неверный или неполный мультибайтный или широкий знак

в UTF-8 каждый символ имеет длинну не 1, а от одного до пяти байтов. При этом многие комбинации не задействованы. Windows их тупо не показывает, а Linux режет с такими сообщениями. Дело в том, что именно эти кривые буквы помогают злоумышленнику протащить вредоносный код сквозь фильтры.

Метод лечения:

в консоли...

[console]
# узнаём номер inode
doc@dt:~/tests$ ls -li z*
279188 -rw-r--r-- 1 doc users 0 2010-12-29 18:47 z\321z
# теперь ищем файл по заданному номеру (279188), и даём ему второе, человеческое имя (ZZZ)
# можно просто переименовать
doc@dt:~/tests$ find . -inum 279188 -exec ln '{}' ZZZ \;
# теперь у файла 2 имени. Одно из них нормальное.
doc@dt:~/tests$ ls -li [zZ]*
279188 -rw-r--r-- 2 doc users 0 2010-12-29 18:47 ZZZ
279188 -rw-r--r-- 2 doc users 0 2010-12-29 18:47 z\321z
[/console]

PS: чем смотрим-то? у меня Thunar такие файлы и так обрабатывает.

#111739
Mita* написал:
Виндовый chkdsk пробовали?

да и так можно. в Linux допустимы любые байты в имени (кроме / и nul). Это глюк смотрелки.

#111756

drBatty, попробовал как Вы сказали:
[console]w03zd8rc:/mnt/media# ls -li
9840 drwxrwxrwx 1 root root 40960 Ноя 16 12:05 films

w03zd8rc:/mnt/media# find . -inum 9840 -exec ln -s '{}' film \;

w03zd8rc:/mnt/media# find . -inum 9840 -exec mv '{}' film \;
find: `./films': Нет такого файла или каталога
[/console]

Ссылка создается, но также не содержит ничего. Переименование каталога происходит, но внутри ничего нет (никаких изменений)

В винде еще не пробовал, ща попробую отпишусь

#111817

Для ntfs вместо iocharset используется nls.

Пётр.

#111854

Для ntfs вместо iocharset используется nls.

не помогло

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

#111879

в-общем, все оказалось куда проще. В папке этой оказался файл с "неправильным" символом в названии. С удалением этого файла пришлось потрудится, но помогло. Странно что раньше эта проблема не появилась (файл не трогали уже больше года)

#111887
w03zd8rc написал:
в-общем, все оказалось куда проще. В папке этой оказался файл с "неправильным" символом в названии. С удалением этого файла пришлось потрудится, но помогло. Странно что раньше эта проблема не появилась (файл не трогали уже больше года)

дык я вам и пытался рассказать, как получить доступ к этому файлу. Имена файлов хранятся в каталогах, и потому , как-же как содержимое файлов, могут изменятся непредсказуемо. Особенно, если их год никто не трогает. Создание жёсткой ссылки нужно в том случае, если вы хотите прочитать файл, это более надёжно, чем переименование.

#111970

drBatty, мое подозрение то было именно на название папки (вдруг какой символ в название папки закрался и не отображался)

Может кому и пригодится в дальнейшем: я поставил копирование папки в винде через far (если места нехватает - можно и перенос), и какой файл он не смог прочитать - в том и была проблема. В лине смонтировал в кодировке utf8 раздел и удалил файл. После смонтировал в нормальной кодировке - папка открылась.

#111992
w03zd8rc написал:
мое подозрение то было именно на название папки (вдруг какой символ в название папки закрался и не отображался)

так не бывает.

#112374

Используй disk manager.Самый простой выриант

text
apt-get install disk manager
Войдите или зарегистрируйтесь, чтобы ответить.