[Comm] длина имени файла в локали utf8 (ext3)
Владимир Гусев
=?iso-8859-1?q?vova1971_=CE=C1_narod=2Eru?=
Пн Мар 19 00:30:34 MSK 2007
On Sun, 18 Mar 2007 23:33:30 +0300, Sergey Vlasov <vsu на altlinux.ru> wrote:
> On Sun, Mar 18, 2007 at 10:38:38PM +0300, Владимир Гусев wrote:
>> Сейчас занимаюсь переконвертацией из pdf в djvu с промежуточным
>> конвертированием в ps. Файлы ps получаются здоровенные, так если размер
>> такого файла превышает 2.1 гб, высвечивается след. сообщение:
>>
>> [vova на vova pdf]$ pdf2ps Astronomiya_s_binoklem_1903.pdf
>> Astronomiya_s_binoklem_1903.ps
>> Превышен лимит размера файла
>>
>> при этом:
>>
>> [vova на vova pdf]$ ls -h -s
>> итого 2,6G
>> [..]
>> 78M Astronomiya_s_binoklem_1903.pdf
>> 2,1G Astronomiya_s_binoklem_1903.ps
>> ^^^^^
>>
>> Немного оффтоп, но касается ограничений ext3.. И как это обходить?
>
> Это ограничение не ext3, а pdf2ps (точнее, gs, который фактически
> выполняет всю работу). 32-разрядные программы не могут работать с
> файлами больше 2 ГБ без принятия специальных мер (например, один из
> вариантов - собирать с опцией -D_FILE_OFFSET_BITS=64, но при этом
> программа должна быть написана с учётом того, что позиция в файле
> может быть 64-разрядным числом, не помещающимся в переменную типа int
> или long - т.е., нельзя просто добавить эту опцию без проверки кода на
> правильное использование нужных типов).
>
> Можно попробовать такой вариант:
>
> pdf2ps file.pdf - >file.ps
>
> В этом случае файл будет открывать shell, что позволит обойти
> проблему (флаг O_LARGEFILE устанавливается в момент открытия). Если
> по каким-то причинам такой вариант тоже не сработает, можно добавить
> промежуточный pipe:
>
> pdf2ps file.pdf - | cat >file.ps
Огромное спасибо за разъяснения и помощь, помогло. Хорошо бы это в FAQ
добавить.
--
С уважением, Владимир Гусев
Подробная информация о списке рассылки community