nixp.ru v3.0

23 октября 2017,
понедельник,
05:41:45 MSK

DevOps с компанией «Флант»
cyb3rpunk написал 28 ноября 2005 года в 17:16 (265 просмотров) Ведет себя как мужчина; открыл 17 тем в форуме, оставил 201 комментарий на сайте.

Я, конечно, понимаю, что это избитая тема, но все же…

В общем в фстабе у меня вот что:

/dev/hdd /media/cdrecorder auto ro,users,noexes,iocharset=koi8-r 0 0

Дистр — третья федора

Проблема:

на дисках, записанных в винде, при монтировании в именах русских файлов сами знаете что. На дисках, писаных в Линуксе, все путем.

P.S.: если монтировать так: mount -o iocharset=koi8-r /dev/hda /media/cdrecorder то все нормально, но неохота так постоянно…

Genie
/dev/hdd /media/cdrecorder auto ro,users,<font color=«red»>noexes</font>,iocharset=koi8-r 0 0

после выделенного оно, однако, обламывается, и далее опции не смотрит.

так что — внииииииимательнее читаем man mount около опций монтирования файловой системы iso9660.

Sasha2

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

Суть заключается в том, ну Вы сами знаете, что выражение koi8r можно написать и как koi8-r и как KOI8R и так далее.

Хотелось бы, чтобы знающие люди подсказали, имеет это какое-нибудь значение или же нет.

Genie
Хотелось бы, чтобы знающие люди подсказали, имеет это какое-нибудь значение или же нет.

как названо в ядре — так и указывать.

единственно правильное — koi8-r (именно так называется nls)

Sasha2

Я задаю этот вопрос не только применительно к fstab

Вот, например, есть у меня файл /etc.locales.build такого содержания

# This file names the list of locales to be built when glibc is installed.

# The format is /, where is a locale from the

# /usr/share/i18n/locales directory, and is name of one of the files

# in /usr/share/i18n/charmaps/. All blank lines and lines starting with # are

# ignored. Here is an example:

# en_US/ISO-8859-1

en_US/ISO-8859-1

en_US.UTF-8/UTF-8

ru_RU/KOI8-R

И в соответствующем каталоге указан именно файл KOI8-R (именно так).

А вот вывод команды locale

localhost sasha # locale -a | grep ru_RU

ru_RU

ru_RU.koi8r

ru_RU.utf8

Вот меня и смущает то, что в одном месте это koi пишется одним образом, а в другом другим.

Ну черт побери, неужели нельзя даже в такой простой вещи добиться унификации.

Genie

а зачем ты смешиваешь понятия локали и кодировки имён? :)

локаль можно назвать как угодно.

привязать к ней кодировку — тоже.

Sasha2

Да я ничего не хочу смешивать.

Я хочу, чтобы было правильно.

Но вот Вы сами уважаемый Genie, заметили (цитирую: зачем ты смешиваешь).

А смешивал бы я, если бы везде все было названо одним, например koi8-r?

Можно ли было бы даже такой вопрос задать?

Я думаю, что тогда, хочешь не хочешь, а не смешаешь, а сделаешь все правильно.

Genie

locale, charmap и nls — в сумме вполне логичное и гармоничное решение…

cyb3rpunk

2 Genie

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

А насчет вопроса Саши, так я с ним солидарен. ИМХО, ведь действительно проще запомнить одно написание, чем кучу, а новичкам это вообще создает дополнительную сложность :)

fly4life
cyb3rpunk
А насчет вопроса Саши, так я с ним солидарен. ИМХО, ведь действительно проще запомнить одно написание, чем кучу, а новичкам это вообще создает дополнительную сложность :)

Угу, вот и запоминают «новички» одинаково написанное как одинаковые сущности. И путаются впоследствии, что есть что. Яркое доказательство этому — данный тред ;)

ИМХО, дистрибутивостроителям надо сознательно давать разные названия локали и соответствующей кодировке.

cyb3rpunk

fly4life, это тоже верно, но все же если бы везде названия были одинаковы, то было бы лучше :)

Atrix

попробуй впехтерь еще codepage=866

может помогет

fly4life
Atrix
попробуй впехтерь еще codepage=866

может помогет

CD-ROM’ная файловая система iso9660 (да и udf туда же) не знает опции 'codepage’.

Sasha2

Для fly4life

Тогда уж, если быть откровенно честным до конца, чтобы по-разному они назывались везде. А то в одном дистре одна сущность так, в другом эта же сущность уже по другому. Бардак везде и во всем. Пусть кодировка везде например называется koi8r, а локаль KOI8R. Никто ж не против, главное, не одинаково, а унифицировано. Вот что я имел в виду.

Genie

кодировка традиционно называется koi8-r.

nls для fs — koi8-r.

вот с charset у locale — это уже путаница. в SuSE, если мне склерож не изменяет, ru_RU.KOI8R. а вот в Debian — ru_RU.KOI8-R (что несколько более понятно).

[впрочем, должен заметить, что никто не запрещает создать ru_RU.MYOWN, настроить для оной то же самое koi8-r и пересобрать систему с поддержкой оной локали, .po там всякие...]

впрочем, koi8-r это ещё не так всё сложно.. вот для cp1251 повеселее бывает.