Страница 1 из 5

Размер 7z архива под Linux и Windows

СообщениеДобавлено: 27 июл 2011, 16:48
zed
При подготовке сборок SAS (упакованных в 7z архивы) cтолкнулся с интересным моментом: под линуксом размер полученного архива выходит на 1,5Мб больше чем под виндой! В обоих осях используется 7z 9.20 (консольный вариант) и одна и тажа команда (выполняется из папки которую пакуем):
Код: Выделить всё
7za a -t7z -mx=9 -ms=4G -m0=LZMA2:d=6M:fb=64 "../SASPlanet.7z" -r * -x!".*"

В итоге, для одних и тех же файлов получаем:
win.gif

lin.gif

Кто-нибудь может объяснить такое поведение?

Да, и ещё один момент: под линуксом довольно ограничены ресурсы: CPU 1ГГц, RAM 256Mb, своп отключён. По этой причине, в параметрах архиватора указан размер словаря 6Mb (LZMA2:d=6M:fb=64). Хотя, пробовал на виртуальной машине давать 512Мб и 1Гб - результат тот же...

P.S. До кучи - справка по 7z 9.20 на русском: http://gora.7zsfx.info/7-ziphelpru/7-Zi ... ru_9.20.7z

P.P.S. Я уже близок к тому, что ночные сборки будут выкладываться отдельным архивом и по постоянной ссылке, а не через репы. Но поскольку эти самые сборки собираются под линуксом, то получается архив вместо 3,7 аж 5,2 Мб :(

Re: Размер 7z архива под Linux и Windows

СообщениеДобавлено: 27 июл 2011, 18:24
zed
Нашел заветную строчку:
Код: Выделить всё
7za a -t7z -mx=9 -ms=4G -m0=BCJ2 -m1=lzma2:d=6m:mf=bt4:fb=273 -m2=lzma2:d=1m -m3=lzma2:d=1m -mb0:1 -mb0s1:2 -mb0s2:3 -mmt=1 "../SASPlanet.7z" -r * -xr!".*"

Что под виндой, что под линем - архив получается менее 4Мб.

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

Re: Размер 7z архива под Linux и Windows

СообщениеДобавлено: 27 июл 2011, 18:53
Tolik
zed писал(а):Нашел заветную строчку:
Код: Выделить всё
7za a -t7z -mx=9 -ms=4G -m0=BCJ2 -m1=lzma2:d=6m:mf=bt4:fb=273 -m2=lzma2:d=1m -m3=lzma2:d=1m -mb0:1 -mb0s1:2 -mb0s2:3 -mmt=1 "../SASPlanet.7z" -r * -xr!".*"

Ох, ёп...
Я б ни за что до такой строчки не додумался :D
А сколько МБ получится, если вообще всё по умолчанию?

P.S. А почему не через репозиторий? Слишком много места занимает?
А вдруг кому-нибудь понадобится старая ночная сборка?
Хотя пока не понадобилась: как правило, и последняя работает хорошо.

Re: Размер 7z архива под Linux и Windows

СообщениеДобавлено: 27 июл 2011, 19:16
zed
Tolik писал(а):А сколько МБ получится, если вообще всё по умолчанию?

Под виндой - на 200Кб больше, а под линуксом падает с ошибкой "ERROR: Can't allocate required memory!" (это при 256Мб ОЗУ).

Tolik писал(а):А почему не через репозиторий? Слишком много места занимает?

Да пухнет он што ненормальный. Т.е. периодически с ним придётся что-то делать (сносить/создавать заново), чтобы избавиться от мёртвого груза, а это всё лишние манипуляции. Поэтому в долгосрочной перспективе лучше делать аплоад архива, что собственно изначально и планировалось, но тогда я чутка споткнулся с аплоадом на bitbucket, потому и сделал через репы. Сейчас ситуация прояснилась, осталось допилить чтобы работало под линуксом и сделаю заливку архивов.

Re: Размер 7z архива под Linux и Windows

СообщениеДобавлено: 27 июл 2011, 19:25
ncux
заранее извиняюсь за то что влез, возможно с неуместным вопросом. но размеры "подсоса" пакетов тоже не очень радуют. (ещё и секьюрное соединение не очень "радует").
есть ли возможность "поработать" на diff-ах?. т.е. подкачка только "разностных обновлений"? (имелось ввиду - отдача с репо только измененных данных). возможно объем траффика был бы менее "толстым". вроде hg позволяет.

ЗЫ. с другой стороны, хорошо что проект живет и обновления есть. ;)

Re: Размер 7z архива под Linux и Windows

СообщениеДобавлено: 27 июл 2011, 19:47
zed
ncux писал(а):вроде hg позволяет

Походу с бинарными данными такое или не прокатывает или прокатывает, но очень слабо. В среднем, два коммита ночных сборок увеличивает репозиторий на ~3-4Мб (в коммите изменяются 2 экзешника суммарным размером ~10Мб). На текущий момент репозиторий весит почти 160Мб. Ночные сборки коммитятся туда чуть более 2-х месяцев (19 мая был первый коммит) и за это время сделано 47 коммитов.
Изначальный размер репозитория я не "засёк", но было что-то в районе 30-40Мб.

Re: Размер 7z архива под Linux и Windows

СообщениеДобавлено: 28 июл 2011, 07:19
Parasite
zed писал(а):поскольку эти самые сборки собираются под линуксом, то получается архив вместо 3,7 аж 5,2 Мб :(

А в чем цимес сборки именно под линухом? :)

Re: Размер 7z архива под Linux и Windows

СообщениеДобавлено: 28 июл 2011, 10:16
zed
В том, что только под ним и есть возможность собирать их в автоматическом режиме по ночам. Если бы у меня там была винда - проблем бы раза в 2 было меньше.

Re: Размер 7z архива под Linux и Windows

СообщениеДобавлено: 28 июл 2011, 10:25
Tolik
А можно совсем старые ночные сборки периодически удалять из репозитория?

Re: Размер 7z архива под Linux и Windows

СообщениеДобавлено: 28 июл 2011, 10:40
Parasite
Tolik писал(а):А можно совсем старые ночные сборки периодически удалять из репозитория?

По идее ее там вообще ОДНУ держать надо - ту, которая .current...

zed писал(а):В том, что только под ним и есть возможность собирать их в автоматическом режиме по ночам.

О. А в соседней теме меня весьма многословно и с грамматическими ашипкамэ убеждали, что никсы - это говно каких мало. :)
Чтобы в линухе появилась винда - можно поставить вмварь (для линуха) и в него - винду. Если же нужны только виндявые проги (без самой винды) - то wine+прога.