LINUX.ORG.RU

Полезное вспомогательное п/о: debdelta


0

0

На прошлой неделе в unstable ветку был включён экспериментальный набор инструментов debdelta, который (сюрприз) позволяет генерировать дельты для пакетов Дебиана.

В комплект входят следующие утилиты:

1. debdelta - используется для генерирования "дельт"
2. debpatch - утилита для обновления старого пакета при помощи "дельты"
3. debdeltas - генерирует "дельты" для нескольких пакетов сразу
4. debdelta-upgrade - утилита для скачивания "дельт" и генерирования пакетов, пригодных для установки, например, при помощи "apt-get upgrade"; пакеты скачиваются и "патчатся" одновременно

Автором является Andrea Mennucci. Предварительная статистика: Andrea сгенерировал "дельты" для трёх веток Дебиана, в результате 40% дельт оказались как минимум вдвое меньше оригинала. Что неудивительно, особый выигрыш наблюдается для пакетов с документацией.

Подробнее на английском можно прочесть здесь: http://tonelli.sns.it/pub/mennucc1/de...
Пакет для Debian unstable: http://packages.debian.org/unstable/d...

anonymous

Проверено: Shaman007 ()

Re: Полезное вспомогательное п/о: debdelta

Надеюсь, оно будет работать как надо. Было бы неплохо, если бы такая штука появилась в Ubuntu (я думаю, они это быстро прикрутят).

kaktyc ★★★★ ()

Re: Полезное вспомогательное п/о: debdelta

Надо было Шаттлворту сказать вчера. А то он вечно не в курсе "новостей" :)

AP ★★★★★ ()

Re: Полезное вспомогательное п/о: debdelta

Теперь использование gentoo окончательно потеряло смысл.

Midael ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от Midael

Re: Полезное вспомогательное п/о: debdelta

Не для всех. Очень удобно иметь под рукой исходники: что-то подправить, добавить патчи и пересобрать. У меня к тому же distfiles для Gentoo и Gentoo/kFreeBSD используются вместе. Какая-никакая, но экономия.

kaktyc ★★★★ ()

Re: Полезное вспомогательное п/о: debdelta

ага эту бы новость вчера

а вот интересно, не начали ли делать поддержку торрента? а то про это тоже вчера говорили

я был удивлён, что ещё никто не брался до сих пор

bepcyc ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от bepcyc

Re: Полезное вспомогательное п/о: debdelta

> а вот интересно, не начали ли делать поддержку торрента?

Для отдельных пакетов овчинка выделки не стоит. А для релизов (а скорее всего и срезов) торрент используется.

Loh ★★ ()

Re: Полезное вспомогательное п/о: debdelta

Эх, блин. Не прошло и 3 года....

sabonez ★☆☆☆ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от Midael

Re: Полезное вспомогательное п/о: debdelta

>Теперь использование gentoo окончательно потеряло смысл.

40% дельт вдвое меньше оригинала - это даже не смешно. Аналогичные решения на Gentoo дают до 90% экономии трафика... Если б только в этом ещё заинтересованные толстые сервера были :)

KRoN73 ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от serzh

Re: Полезное вспомогательное п/о: debdelta

Пакет патчится во временной директории. После воссоздания и проверки контрольной суммы и размера, патч удаляется. Остаются старый и новый пакет. Но можно указать принудительное удаление старого пакета.

kaktyc ★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от serzh

Re: Полезное вспомогательное п/о: debdelta

>А оно формирует новый пакет или потом так и хранится старый пакет + патч?

delta downloading and delta patching is done in parallel (патч накладывается по ходу закачки)

to KRoN73:

бесспорно, diff для текстового файла будет меньше diff'а бинарика (и тут с src-based дистрибутивом тягаться бессмыссленно), но всё же сэкономить хотя бы половину траффика не так уж и плохо, не так ли?

to sabonez (arvydaz?):

лучше поздно, чем никогда :)

anonymous ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от serzh

Re: Полезное вспомогательное п/о: debdelta

>А оно формирует новый пакет или потом так и хранится старый пакет + патч?

Если ты про deltup Gentoo, то оно делает новый пакет, патч убивается, и опционально убивается старый пакет. Т.е. либо останется только новый пакет, либо старый плюс новый (а от совсем застарелых при таком подходе можно по eclean-dist) избавиться.

KRoN73 ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от anonymous

Re: Полезное вспомогательное п/о: debdelta

>но всё же сэкономить хотя бы половину траффика не так уж и плохо, не так ли?

Не спорю :) Но проблема тут может вылезти совсем с другой стороны. При всех достоинствах deltup в Gentoo, система сейчас практически неработоспособная. Реально дельтится дай Бог процентов 10 пакетов, да ещё задолбаешься в очереди стоять. Ибо сервер только один, не смотря на наличие скриптов под организацию своего deltup-сервера, энтузиастов не находится...

KRoN73 ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от KRoN73

Re: Полезное вспомогательное п/о: debdelta

Для ~x86 ветки шансов таки больше заполучить заветный dtu-файл. Видимо связано с тем, что хозяин сервера использует именно ее.

kaktyc ★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от anonymous

Re: Полезное вспомогательное п/о: debdelta

>теперь буду покупать DVD Debian Stable и обновляться с помощью debdelta

В смысле, обновления безопасности? Или Sarge -> Etch/Sid? Во втором случае, по-моему, дешевле и проще приобрести текущий срез на dvd.

anonymous ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от anonymous

Re: Полезное вспомогательное п/о: debdelta

для обновления Etch > Etch, но до меня доходят DVD только через месяц, а я впрочем слежу за десятком deb пакетов и тестирую их.

anonymous ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от anonymous

Re: Полезное вспомогательное п/о: debdelta

надо бы сделать "Debdelta with 7Zip compression" + "Deb-torrent" - получилась бы максимальная экономия трафика на dial-up

anonymous ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от KRoN73

Re: Полезное вспомогательное п/о: debdelta

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

> ... не смотря на наличие скриптов под организацию своего
> deltup-сервера
Я что-то пропустил? Можно ссылочку на наличиствующие скрипты?

iNode ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от iNode

Re: Полезное вспомогательное п/о: debdelta

>Я что-то пропустил? Можно ссылочку на наличиствующие скрипты?

Было целое обсуждение здесь в Talks, на gentoo.ru, на forums.gentoo.org, но в итоге так ни к чему и не пришли.

http://slader.org.ru/dserver-0.20.zip

kaktyc ★★★★ ()

Re: Полезное вспомогательное п/о: debdelta

да, наеврное переход на LZMA (7z) даст почти такие же результаты без требований к дисковому пространству

shafff ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от anonymous

Re: Полезное вспомогательное п/о: debdelta

Про YAD я знаю - о нём и писал, единственное что аббревиатуру написал по смыслу, а не по официальному названию (Yet Another Deltup-server - сократил как YADs).

> Статус проекта > > Пока что проект существует на бумаге, аспекты реализации (как, > например, структура SQL-таблиц) еще призрачны и туманы. Если вы хотите > помочь молодому проекту, смело пишите лидеру проекта, невзирая на его > протесты и жалобы на спам :).

А спрашивал я про рабочие реализации.

iNode ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от kaktyc

Re: Полезное вспомогательное п/о: debdelta, беседы о deltup

Это тоже видел, но всё равно спасибо.
Только на полноценный вариант эти скрипты не тянут,
хотя для "личного использования" может быть и подойдут.
Однако, речь шла о публичных серверах, т.е. уровня "официального" deltup
сервера. От появления такого сервера выиграли бы не только Gentoo-шники, но и пользователи других source-based дистрибутивов (привет *BSD).
Пожелаем удачи разработчикам YAD.

p.s. по тексту новости - рад за пользователей Debian-а, а то до сих пор им приходилось тем же самым deltup-сервером пользоваться, повышая его и так немаленькую нагрузку :)

iNode ()

Re: Полезное вспомогательное п/о: debdelta

Хорошая новость.. ;-)

MiracleMan ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от kaktyc

Re: Полезное вспомогательное п/о: debdelta

> Надеюсь, оно будет работать как надо. Было бы неплохо, если бы такая
> штука появилась в Ubuntu (я думаю, они это быстро прикрутят).

как минимум deltup for ubuntu финансируется в рамках SoC :)

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

Tester ★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от anonymous

Re: Полезное вспомогательное п/о: debdelta

> теперь буду покупать DVD Debian Stable и обновляться с помощью debdelta

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

askh ★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от askh

Re: Полезное вспомогательное п/о: debdelta

Угу, меньше... И что теперь, все пакеты из исходников пересобирать? И сколько времени это займет? Например, КДЕ пересобрать? Нафиг-нафиг, я уж лучше новый .deb воткну без лишнего гиморроя :))) Тем более, с такой полезной тулзой

dpkg ★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от Midael

Re: Полезное вспомогательное п/о: debdelta

>Теперь использование gentoo окончательно потеряло смысл

отнюдь. у меня gentoo скомпилен без глупых зависимостей, по минимуму. Места на диске - по минимуму. Глупых зависимостей нет. USE флаги минимальные. Каждый софт собираю отдельно с специфичными флагами.

noch ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от noch

Re: Полезное вспомогательное п/о: debdelta

Можно я пофлеймю?

>у меня gentoo скомпилен без глупых зависимостей,

Представим себе один бинарный пакет на 100 кб, зависящий от 10 пакетов по 1МЬ каждый. Беспантово.

Теперь возьмём другой бинарный пакет на 100кб, зависящий от 10 пакетов по 1МБ каждый. Беспантово? Не совсем, ведь 9 и 10 этих пакетов входят в зависимости первого пакета и => они уже установлены.

Теперь возьмём --/--/--/--/. Все зависимости этого пакета уже установлены. Достаточно просто скачать 100 кб пакет. Все счастливы.

Так что проблема с зависимостями сильно раздута.

>Места на диске - по минимуму.

Сколько? Просто интересуюсь, что ты считаешь минумумом.

И, кстати, ещё вопрос, что занимает больше места: зависимости или хидеры, для компиляции пакетов. Опять же бинарник сильно меньше исходника. Сравни хотя бы размер образа ядра и тарбола с исходниками. Далее, я делал cache compiler 2Gb, для ускорения компиляции. В эти 2 гига легко влезли бы все, даже самые идиотские, зависимости, и ещё полтора гига места бы осталось.

Кроме того, kdebase скачивается один раз, а вот компилировать пакеты нужно постоянно. В результате обновление генты занимает на порядки больше времени чем обновление дебиана.

>Каждый софт собираю отдельно с специфичными флагами.

????????????

Тебе заняться больше нечем?

ugoday ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от ugoday

Re: Полезное вспомогательное п/о: debdelta

>Кроме того, kdebase скачивается один раз, а вот компилировать пакеты нужно постоянно.

Мсье абсолютно не в теме.

Или у Вас kde 3.5.3 работает с kdelibs 3.4.2?

KRoN73 ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от dpkg

Re: Полезное вспомогательное п/о: debdelta

>И сколько времени это займет? Например, КДЕ пересобрать?

Не знаю. Обычно я утром просыпаюсь - у меня новый KDE стоит.

KRoN73 ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от ugoday

Re: Полезное вспомогательное п/о: debdelta

>А некоторые на ночь компьютеры выключают.

Ну, в таком случае предкомпилёное, наверное, выгоднее.

Но у меня машина всё равно по ночам торренты тянет :)

KRoN73 ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от ugoday

Re: Полезное вспомогательное п/о: debdelta

>а вот компилировать пакеты нужно постоянно.

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

...

Я тут недавно был в одной конторке, где Gentoo в марте прошлого года ставил. Поскольку оно за внешним firefall, то и не обновлялось всё это время. Ничего, больше года без единого затыка отработала :D Соответственно, и не обновлялась...

KRoN73 ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от KRoN73

Re: Полезное вспомогательное п/о: debdelta

А вот представь себе, что мне понадобится какая-нибудь _новая_ программа. А она тянет за собой новый qt, а он хочет собираться новым gcc. И вся эта байда будет собираться пол-дня. Единственный способ избавиться от этого --- делать emerge --sync; emerge world по утрам, либо использовать бинарный дистрибутив.

ugoday ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от ugoday

Re: Полезное вспомогательное п/о: debdelta

>А вот представь себе, что мне понадобится какая-нибудь _новая_ программа. А она тянет за собой новый qt, а он хочет собираться новым gcc.

Ты определённо что-то путаешь. Ибо это как раз проблема бинарных дистров. Если новая программа собрана только на работу с новыми либами, придётся обновлять все эти либы.

При сборке же из сорцов, 99% программ могут пользоваться теми версиями, что есть в системе. Ибо они конфигурятся при сборке, а не при компиляции у дистроклепателя.

А если какая-то новая программа принципиально не совсестима со старой либой, то она точно также несовместима будет и в бинарнике. И тоже потребует обновления.

KRoN73 ★★★★★ ()
Ответ на: Re: Полезное вспомогательное п/о: debdelta от KRoN73

Re: Полезное вспомогательное п/о: debdelta

>Ибо это как раз проблема бинарных дистров.

У бинарных дистров нет такой проблемы вообще. qt за 3 минуты скачается и за 3 секунды установится. (*)

>новыми либами

либы старые, но вышла новая микроверсия этих либ (что случается довольно часто) и приходится их перекомпилировать.

>И тоже потребует обновления.

Да, но в бинарных дистрах обновления не являются проблемой. см утверждене (*)

З.Ы. А ещё бывает, что ебилды не собираются.

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