LINUX.ORG.RU
ФорумAdmin

Длинные имена файлов


0

0

Всем привет переношу файлопомойку с винды на линукс. Столкнулся с проблемой «очень длинных имён файлов». Похоже, счёт идет не на символы, а на байты (гугление это подтверждает). Внимание, вопрос: мне таки придётся использовать винду или есть какое-то решение этой проблемы? (усекновение имени - не решение в данной ситуации)


Ответ на: комментарий от tempuser002

Поправочка: 127 русских букв, закодированных в UTF8.

UTF8 - однобайтовая кодировка, так что ASCII в UTF8 = ASCII :)

tempuser002
()

ФС те, которые поддерживаются CentOS 5.4 - то есть ext2/3, ext4 без mkfs.ext4, xfs на положении ext4.

127 букв - внезапно оказалось мало. Есть у пользователей такие имена файлов:

«Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)»

Усекновение - не вариант. На винде такое имя файла обрабатвается корректно

hc
() автор топика

$ echo «Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)» | wc -c

308

Вот

hc
() автор топика
Ответ на: комментарий от hc

$ touch «Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)»

$ ls Котов*
Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)

Вроде создался файл. ext3.

AS ★★★★★
()
Ответ на: комментарий от hc

Если очень нужно, то можно поставить однобайтную локаль. Хотя да, не решение.

x3al ★★★★★
()
Ответ на: комментарий от AS

хм...

megabaks@localhost ~ $ touch "Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)"
touch: невозможно выполнить touch для «Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)»: Слишком длинное имя файла
у кого-то из нас перацкий линукс ^_^ ext3

megabaks ★★★★
()
Ответ на: комментарий от megabaks
localhost / # touch "Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)"
touch: невозможно выполнить touch для «Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)»: Слишком длинное имя файла

reiserfs

megabaks ★★★★
()
Ответ на: комментарий от megabaks
localhost boot # touch "Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)"
touch: невозможно выполнить touch для «Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)»: Слишком длинное имя файла

ext2

megabaks ★★★★
()
Ответ на: комментарий от megabaks

> у кого-то из нас перацкий линукс ^_^ ext3

А, это у меня, как x3al заметил, кодировка однобайтная.

$ echo «Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)» | wc -c
167

AS ★★★★★
()
Ответ на: комментарий от AS
.-(~)---------------------------------------------------------(gotf@persephone)-
`--> touch "Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)"
touch: cannot touch `Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)': File name too long

Хотя, если верить педивикии, ограничений в XFS (равно, как и ext*) нету.

GotF ★★★★★
()
Ответ на: комментарий от GotF

Т.е. ограничений нет в самой ФС, но они могут устанавливаться драйвером.

GotF ★★★★★
()
Ответ на: комментарий от megabaks

А ведь проблема, если на имя файла что-то завязано... значит, если переделать никак, то Win. Вообще, как-то криво реализация UTF сделана, получается. Не зря оно мне доверия не внушает всё ещё...

AS ★★★★★
()
Ответ на: комментарий от megabaks

Слишком длинное имя файла

Не пойму, как вы это делаете? Я и в /tmp такой touch делал, и во вложенной директории (длина пути 58 символов). Везде файл спокойно создавался...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от AS

Quote:

Вообще, как-то криво реализация UTF сделана, получается.

Глупости =) Просто все символы, кроме ASCII и ещё каких-то до 255-го кодируются одним байтом, а остальные уже двумя.

GotF ★★★★★
()

в локали cp1251 создаётся с таким именем, ext2

sprutos ★★★
()
Ответ на: комментарий от tempuser002

Мдя, печально. Зато не придётся думать, куда iSCSI присобачить в диплом :)

Всем спасибо

hc
() автор топика
Ответ на: комментарий от GotF

> Просто все символы, кроме ASCII и ещё каких-то до 255-го кодируются одним байтом, а остальные уже двумя.

Не в этом кривость. Обеспечивать надо было совместимость по длинне с NTFS. Или превосходить.

AS ★★★★★
()
Ответ на: комментарий от Eddy_Em

>Не пойму, как вы это делаете?
обыкновенно! локаль какая? у меня UTF-8
echo «Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)» | wc -c
308
сколько у вас?

megabaks ★★★★
()
Ответ на: комментарий от megabaks
echo "Котов АН Моделирование дорожного движения на многополосной магистрали при помощи двумерного вероятностного клеточного автомата с тремя состояниями, 2008 (диссертация)" | wc -c
167

Вот вам еще одно преимущество восьмибитной локали ;)

На юникод переходить ближайшие 10 лет не собираюсь (думаю, у нас и ближайшие 20 лет никто на него не перейдет - слишком много софта под КОИ-8 написано, а переделывать из-за чьей-то дурной прихоти его под другую локаль никто не будет).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> Вот вам еще одно преимущество восьмибитной локали

скорее косяк ФС ext3/4 - опять ктото решил байтик сэкономить

x905 ★★★★★
()
Ответ на: комментарий от Eddy_Em

> слишком много софта под КОИ-8 написано

Строго говоря, такой софт давно стоило перевести на i18n...

AS ★★★★★
()
Ответ на: комментарий от AS

такой софт давно стоило перевести на i18n...

Нет смысла, если он используется только нами, и, грубо говоря, «прибит» к уникальному железу.

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.