Rpmbuild большие пакеты

1786
Ark

Я собираю очень большие (4GB +) пакеты на rpm 4.8.0.

Какие вещи я должен остерегаться? Я получаю сообщение об ошибке "Плохая магия", если объем пакета превышает 2 ГБ.

0

1 ответ на вопрос

1
vonbrand

Согласно этому обсуждению, предел будет 4 ГБ, даже если размеры представлены в 64 битах. Но RPM основан cpio(5), и этот формат ограничен 4 ГБ. В примечаниях к выпуску rpm-4.6.0 утверждается, что «размер больше 2 ГБ» и «файлы большего размера».

В любом случае, я бы предложил разделить этого монстра на управляемые кусочки. Скажи по пользователю / разработка / время выполнения или около того. Если вы включаете библиотеки, особенно сторонние библиотеки, просто не делайте этого . Я помню обсуждение LWN об этом некоторое время назад, но не могу найти его сейчас. Краткая версия: используйте системные библиотеки / пакеты, они будут обновляться быстро, а ваша собственная версия - нет. Используйте работу других, не переделывайте колесо.

Мне удалось уменьшить размер пакета до 3,1 ГБ, и я делю все большие файлы на более мелкие файлы размером 512 МБ [с split]. Все еще вижу плохую магическую ошибку. Проблема заключается в том, что файл дампа одного объекта вызывает большой размер пакета. Я использую системные библиотеки по большей части. [и NumPy]. :) Извините, если я звучу наивно, но я новичок в упаковке. Хотя я думаю, что я мог бы увидеть несколько альтернатив, которые я мог бы попробовать ... спасибо за предложение. Кроме того, насколько я понимаю, cpio позволяет нам указать формат архива с -H, есть ли способ указать rpmbuild указать формат архивирования? Ark 11 лет назад 0
[Под размером пакета я подразумеваю общий размер всех файлов, которые входят в пакет] Ark 11 лет назад 0
Нет, `rpm` использует формат` cpio (5) `. Какие "любые большие файлы" у ypu есть, что дает вам этот огромный RPM? Разве вы не можете просто сделать набор пакетов и создать пакет сбора, который требует их всех? Или они взаимозависимы, чтобы установить все необходимое? vonbrand 11 лет назад 0
Ох ... я вижу ... и под большим файлом я имел в виду numpy.ndarray, который генерируется в результате классификации [стохастический градиент]. Я думаю, я могу сделать набор пакетов. Это только начальный прогон, конечно позже, я постараюсь уменьшить размер или, если это невозможно, увидеть лучшие альтернативы. Спасибо, я думаю, это будет работать. Ark 11 лет назад 0
Имеет ли смысл упаковывать _generated_ файлы? Может быть, сказать пользователю, что "вы можете найти примеры файлов на том или ином сайте"? Если это так, есть ли какая-то структура в файле, которую можно использовать для ее компактного представления? Доставить его сжатым, возможно, после сортировки или что-то в этом роде? vonbrand 11 лет назад 0
В моем случае имеет смысл упаковать сгенерированные файлы, я сериализовал структуру и выгрузил только необходимые части, чтобы впоследствии я мог заново создать объект. Я использовал сжатие как внешнее, так и на объекте, не получило существенных изменений. Я пытаюсь ограничить объем данных, которые он хранит, не жертвуя точностью, которая находится в процессе тестирования. Ark 11 лет назад 0
[Из-за ограничений ресурса я не могу разместить его как сервис :(] Ark 11 лет назад 0

Похожие вопросы