формат записей в /etc/fstab предусматривает помимо прочего указание кодировки языка.
Что конкретно эта кодировка делает, если ее задать кириллической?
Пользовать кириллические названия файлов? Или иметь файлы с кириллицей?
Но за это вроде отвечает locale?
И что будет, если кодировка (скажем, русская) протиовречит настройкам локали (английской)?
/etc/fstab - назначение кодировки языка
Он её предусматривает только для "чужих" типов, где это было предусмотрено изначально. Здесь же имена файлов - это просто последовательность байтов, которые вообще никак не интерпретируются (за исключением 0 и 0x2f)
формат записей в /etc/fstab предусматривает помимо прочего указание кодировки языка.
Это не совсем так, точнее -- совсем не так.
Дело в том, что формат записей в /etc/fstab предусматривает 6 полей (колонок).
4-е поле (fs_mntopts) содержит параметры монтирования файловой системы в виде разделенного запятыми списка без пробелов. Часть параметров обрабатывается самой утилитой mount, а остальное передается драйверу файловой системы, указанному в 3-м поле (fs_vfstype).
Так вот, среди общих параметров нет параметров, управляющих кодировками, эта часть относится не к формату /etc/fstab, а к параметрам конкретного драйвера ФС.
По поводу второй половины вопроса про "что будет".
Вот смотрите, раздел FAT. Русские короткие имена лежат в cp866.
Смотрим man mount на предмет "Mount options for fat", видим
codepage=value
Sets the codepage for converting to shortname characters on FAT and VFAT filesystems. By default, codepage 437 is used.
iocharset=value
Character set to use for converting between 8 bit characters and 16 bit Unicode characters. The default is iso8859-1. Long filenames are stored on disk in Unicode format.
Что на великом и могучем примерно:
codepage=value
Задает кодовую страницу для преобразования символов коротких имен файловых систем FAT и VFAT. По умолчанию используется кодовая страница 437.
iocharset=value
Кодировка для преобразования между 8-битными символами и 16-битными символами Юникода. По умолчанию iso-8859-1. Длинные имена хранятся на диске в Юникоде.
Следовательно, если не укажете явно эти параметры, драйвер будет работать как если бы ему указали: codepage=437,iocharset=iso-8859-1.
Что при этом будет?
Для коротких имен: положите рядом таблицы 437 и 866 кодовой страниц, русские буквы из 866, совпавшие с буквами 437, станут в Юникоде буквами из 437 страницы. Например, буква "А" станет "Ç", "Б" -- "ü" и т.д.
Для длинных имен: аналогично с iso-8859-1 и iso-8859-5, если правильно путаю.
Для драйвера ntfs-3g картина будет иная -- если его параметры выставлены неверно, то файлов с русскими именами просто не будет видно.
спасибо