LINUX.ORG.RU
ФорумTalks

Неужели windows превосходит linux...

 


1

2

...пусть даже в такой мелочи как максимальный размер имени файла?

ну вот посудите сами в ntfs максимальная длинна имени файла 255 16-битовых слов а в любой файловой системе православно верной ОС не превышает 255 самых обычных байт. И это системное ограничение именно ядра linux, а точнее его VFS подсистемы.

А осознал я это после того, как случилось следующее, решил я тут скачать один торент, но некоторые файлы из него отказывались качаться ссылаясь на слишком длинное имя файла. Не беда, подумал я, сейчас создадим файлик, форматнём во что нибудь более продвинутое, подмонтируем и натравим Transmission... ан нет, нет такой православно верной ФС для которой бы максимальное имя файла превышало эти заветные 255 байт, я так думаю и драйвер ntfs тоже не в силах выйти за это ограничение.

★★★

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

Ага, а можно передавать в другой кодировке, что линукс и делает, если сменить локаль. И это никак не решает проблему, затронутую в топике.

а разве линукс должен решать эту проблему? Какое дело юзеру до внутреннего представления? Если какому-то приложению нужно хранить имена файлов в виде строк из тыщи иероглифов, то эти иероглифы можно сохранить например в xattr, а вместо имени использовать md5 иероглифов.

Не вижу проблемы. Костыли(если они нужны приложению) нужно встраивать в приложение, а не в ядро.

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

Мне всё равно как хранить, главное, чтобы это не зависело от локали и ограничение было на число _символов_, а не байт.

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

Какое дело юзеру до внутреннего представления?

Вот именно, а в линуксе юзер должен знать что-то про внутреннее представление и использовать костыли-утилиты для конвертации имен файлов.

Reset ★★★★★
()
Ответ на: комментарий от i-rinat

wiki вещяет следующее для ReiserFS - Максимальная длина имени файла 4032 байт, limited to 255 by Linux VFS

но это всё опять же до тех пор пока, кто нить не пропатчил в нужных местах.

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

Конечно, по сравнению с передовыми технологиями линукса, NT 5.1 — новейшая ОС.

ты уже поставил свой маздай на f2fs?

iconv тоже костыль?

конечно.

Примеры?

любая, написанная на MSVC или на Delphi лет пяти и старше, и многие которые младше. Да, быдлокод, но среди «МНОЖЕСТВА ПРОГРАММ, которых НЕТ в никсах» они составляют 99%. Да и этот твой 1% в никсах нафиг не нужен, ибо у нас существуют намного более мощные аналоги (например вместо Notepad++ можешь юзать vim/emacs, которые на три порядка круче).

Потому что кроме ведра и полтора недоDE за 20 лет в линуксах ничего и нет.

а _тебе_ ещё что-то нужно? Да ты даже sed'ом пользоваться не умеешь, о чём с тобой говорить?

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

wiki вещяет следующее для ReiserFS - Максимальная длина имени файла 4032 байт, limited to 255 by Linux VFS

Устаревшая информация; ограничения в 255 байт в VFS нет (не знаю, было ли). У reiserfs ограничение в коде, в одном дефайне. Поменял, пересобрал — и вот уже ограничение не 255 байт, а 2000.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от Reset

Мне всё равно как хранить, главное, чтобы это не зависело от локали и ограничение было на число _символов_, а не байт.

храни в xattr

drBatty ★★
()

в ntfs максимальная длинна имени файла 255 16-битовых слов а в любой файловой системе православно верной ОС не превышает 255 самых обычных байт.

ты ведь понимаешь, что 16-битное слово это просто два «самых обычных» байта?

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

Вот именно, а в линуксе юзер должен знать что-то про внутреннее представление и использовать костыли-утилиты для конвертации имен файлов.

в венде тоже должен. ИЧСХ не только внутреннее представление своей семёрки, а представление ВСЕХ прошлых, включая MS-DOS. Не веришь? ну создай в своей уютной папку «con».

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

предлагаешь сменить один нестандарт на другой нестандарт? Обоснования?

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

ты уже поставил свой маздай на f2fs?

Нет. А зачем?

конечно.

Почему же его тогда так любят линуксоиды и чем он лучше виндового chcp?

Delphi лет пяти и старше

Дельфопроблемы, нет? Кстати, там (в Delphi) есть свой костыль для обхода этой проблемы.

среди «МНОЖЕСТВА ПРОГРАММ, которых НЕТ в никсах» они составляют 99%

4.2. У меня всё работает, проблемы видел только в других пользователей в неизвестно откуда взятых инсталляторах от неизвестного васи.

Да и этот твой 1% в никсах нафиг не нужен

Этот 1% — кроссплатформенный софт, который есть и под никсами. Wait, OH SHI~

вместо Notepad++ можешь юзать vim/emacs

Упаси боже. Разве что педали с USB куплю.

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

Мне всё равно как хранить, главное, чтобы это не зависело от локали и ограничение было на число _символов_, а не байт.

Мир не идеален :) Попробуй создать файл с двумястами http://www.fileformat.info/info/unicode/char/1d11e/index.htm в имени.

i-rinat ★★★★★
()
Ответ на: комментарий от wintrolls

ты уже поставил свой маздай на f2fs?

Нет. А зачем?

что-бы флешка дольше жила, очевидно же! И что-бы работало быстрее с флешки.

Зачем на флешку ставить? А что-бы можно было в любой момент вынуть, и положить в карман ВСЮ систему.

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

Поменял, пересобрал — и вот уже ограничение не 255 байт, а 2000.

зачем?

Чтобы ограничение было 2000 байт, а не 255.

i-rinat ★★★★★
()
Ответ на: комментарий от drBatty

что-бы флешка дольше жила, очевидно же! И что-бы работало быстрее с флешки.

Зачем с флешки? С винта по SATA2 всяко быстрее.

А что-бы можно было в любой момент вынуть, и положить в карман ВСЮ систему.

Неуловимый Джо?

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

подскажи скрипт на баше, попробую

i=1; n="x"; while touch $n 2> /dev/null; do n="x$n"; i=$(($i + 1)); done; echo $i

в двух местах «x» замени на 𝄞 или любой другой символ вне BMP.

i-rinat ★★★★★
()
Ответ на: комментарий от wintrolls

Почему же его тогда так любят линуксоиды

потому-что они в недавнем прошлом маздайщики. Вот и любят.

и чем он лучше виндового chcp?

ничем по сути.

Дельфопроблемы, нет?

да. Но кто виноват, что НУЖНЫЙ софт именно на дельфи? Был-бы он OpenSource, можно было-бы хоть в слаку ставить.

Кстати, там (в Delphi) есть свой костыль для обхода этой проблемы.

я знаю. А быдлокодер, что писал НУЖНУЮ программу не знал.

4.2. У меня всё работает

ЧТО у тебя работает, кроме хрома? Хром и у меня в слаке работает, это не пруф.

проблемы видел только в других пользователей в неизвестно откуда взятых инсталляторах от неизвестного васи.

думаешь, юзеры от хорошей жизни это ставят? Была-бы нормальная прога, поставили-бы её. Видать — нету нормальных.

drBatty ★★
()
Ответ на: комментарий от i-rinat
i=1; n="𝄞"; while touch $n 2> /dev/null; do n="𝄞$n"; i=$(($i + 1)); done; echo $i
128

спасибо

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

Но кто виноват, что НУЖНЫЙ софт именно на дельфи? Был-бы он OpenSource, можно было-бы хоть в слаку ставить.

а чо, софт на дельфи не может быть opensource?

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

Зачем с флешки? С винта по SATA2 всяко быстрее.

в моём нетбуке нет SATA. Есть только IDE. Но прикручивать изолентой к нему 3.5 диск я не желаю.

А что-бы можно было в любой момент вынуть, и положить в карман ВСЮ систему.

Неуловимый Джо?

не имеет отношения. Я же молчу, что у тебя глаз красный, ИЧСХ только левый.

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

во-первых, это не так, во-вторых, главное, что представление не зависит от локали и ограничение на число символов, а не байт

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

во-первых, это не так,

так, ибо ASCII там идёт половинками символов.

главное, что представление не зависит от локали и ограничение на число символов, а не байт

делить на ноль нельзя.

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

зачем? Лучше ты почитай про Lazarus.

не уходи от вопроса.

софт на дельфи (любом другом языке) не может быть opensource?

если есть программа на дельфи под gpl, которая не работает у тебя в шлаке - она не opensource?

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

ознакомься с понятием opensource, пожалуйста

зачем? Лучше ты почитай про Lazarus.

не уходи от вопроса.

не нашёл вопроса.

если есть программа на дельфи под gpl, которая не работает у тебя в шлаке - она не opensource?

нет. Я не смог или не захотел её исправить. Но я скорее её исправлю, чем поставлю твой маздай.

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

так, ибо ASCII там идёт половинками символов.

ЩИТО?

Reset ★★★★★
()
Ответ на: комментарий от i-rinat

дяяя... холиварчик получился поболее прошлогоднего который я в своё время пропустил. Ограничение на VFS всё равно имеется, хоть и чуток побольше (unsigned int). Тогда почему всем так нравится это число 255?

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

чуток побольше (unsigned int)

Сделать имя размером в четыре гига — это надо постараться.

i-rinat ★★★★★
()
Ответ на: комментарий от drBatty

Ты просто прицепился к команде chcp которая никак не влияет на длину файла, а лишь указывает кодировку батника для правильного отображения кириллицы, ее можно и не указывать, а написать батник сразу в OEM-кодировке или запускать cmd.exe c системной (русская cp1251) или использовать в названиях латиницу, не «УМВР», а «WORKSFORME»

терминал в маздае до сих пор работает в DOS-кодировке.

По умолчанию. На самом деле:

  > dir /b c:\Windows\System32\c_*.nls | find /c /v ""
113                                                   
Он нужен в основном для автоматизации действий, что бы не переименовывать, например, как ты любишь писать, Over9000 файлов ручками.

Ну и кроме того не на одном cmd.exe мир держится. Ты в своем bash'е так не сделаешь:

 0064 > 2gb+1
2147483649

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

Ты в своем bash'е так не сделаешь:

ответят «не нужно», как обычно.

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

А так тоже уже умеет?

А зачем нужна нецелочисленная арифметика в системных скриптах ? Можно пример рабочий ?

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

Да мало ли, например посчитать курс рубля или вывести информацию об использовании диска в процентах, или просто узнать сколько процентов составляет от 666 127:

 0136 > '{0:f}%' -f (127/6.66)
19,07%                                 

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

И зачем, в этом случае, нужна какая-то Windows ?

А зачем линукс? Если все работает. Я за компом не зарабатываю, на работе у меня только телефон и водитель, ничего не пишу. Я не вижу смысла тратить нервы и время.

А откуда, простите, gnu ? :-)

Могу и без gnu. Но получится чуть длинее.

 0158 > gci | ? { $_.lastwritetime -le ((get-date).adddays(-3)) }

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

например посчитать курс рубля

Зачем это в системных скриптах ?

или вывести информацию об использовании диска в процентах,

Зачем тут доли процента ?

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

Зачем это в системных скриптах ?

А какая разница системные или нет? Скрипты же не только системные. Или у тебя нет никакой необходимости что-то делать в своем юзерспейсе?

Зачем тут доли процента ?

Наглядней, чем несколько разрядов байт, будешь начальству отправлять красивые отчеты, они похвалят и будут тебя ставить в пример =)) Тебе же видней, а я просто придумал пример.

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