Обновление portage при наличии медленного, либо дорогого интернета

В первую очередь эта проблема касается людей, подключенных к Интернету через провайдеров мобильной связи.
В самом деле: свежий снимок portage, скачанный в виде архива например отсюда, занимает около 40 Мб, в то время как трафик требуемый для обновления может составлять около 200 Мб (обновляемся же не часто, интернет медленный и дорогой). Проблема усугубляется если в наличии несколько компьютеров.
Итак, список действий поэтапно:
# Скачиваем свежий снимок portage.
# Полностью удаляем старую папку /usr/portage, разархивируем на его место скачанный снимок portage. Естественно перед удалением /usr/portage настойчиво рекомендуется проверить целостность скачанного архива.
# Обновление кэша portage: emerge --metadata.
# Синхронизация оверлея: layman -S (затрата трафика на это минимальная), так же его можно скачать по ссылке http://git.calculate.ru/?p=dev/overlay.git;a=snapshot;h=HEAD;sf=tgz
# Обновление кэша eix: eix-update.

Этапы 2 и 4 - только с правами суперпользователя
При необходимости повторяем на следующем компьютере.

emerge-delta-webrsync && layman -S && eix-update
Данный способ не требует “ручного” вмешательства в дерево, требует скачивание полного архива портажей только один раз, потом обновляет только дифы и был описан в старой доке по кальке. Можно ее найти по словам “экономия трафика” :slight_smile:

Согласен
Более того, можно ещё проще: eix про дельты знает, eix-sync -W равносильно emerge-delta-webrsync. Но…

…ИМХО достаточно 1 раз на одном компьютере потратить трафик

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

…далее можно создать архивы /usr/portage… и просто разархивировать

А может проще разархивировать уже созданный архив portage-latest.tar.bz2 ?

Кроме того emerge-delta-webrsync выкачивает разницу не за весь период существования цивилизации, срок дельт по моему месяц, если пропустили - все заново.

P.S. Человек раздобыл диск с Calculate 11, установил систему. Какой из двух предложенных вариантов для него окажется предпочтительней для обновления portage с диска до свежего состояния? :wink:

В любом случае один раз придется скачать ~40Мб, emerge-delta-webrsync скачает первый раз сам, потому как нету в инсталлере архива с деревом, потом обновления дерева ~150Кб на каждый день. Если обновлять дерево 1 раз в месяц…
Если у человека такой дорогой трафик, то ему обновлять дерево нет смысла, потому как обновить систему он все равно не сможет. А если есть доступ к “халяве” тогда побоку как обновляться, я на безлимитке не думаю о размере обновлений.
Для организацие есть возможность поднять свой, локальный сервер обновлений и держать все там.

А почему бы не использовать emerge-delta-webrsync? трафик естественно существенно меньше.

ИМХО достаточно 1 раз на одном компьютере потратить трафик. далее можно создать архивы /usr/portage и /var/lib/layman и просто разархивировать на других компьютерах.

Если у человека такой дорогой трафик, то ему обновлять дерево нет смысла

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

можно было бы еще обновлять не полностью портаж а только то что используется…

Родион Дорошкевич писал(а):

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

У меня, например, похожая ситуация. Но, меня есть возможность скачивать все обновления на работе, приносить их домой, заливать в нужное место, ну а далее emerge.
Правда, было бы здорово иметь возможность генерировать на домашнем Linux список пакетов, которые нужно скачать, а на работе этот список подавать некому скрипту, который сам бы и выкачивал эти пакеты. А дома бы я уже всё это по нужным местам распределял и запускал обновление системы.

@Александр Ерёменко:
посмортрите пожалуйста, кажется есть уже решение для вас:
http://unixadmins.su/index.php?topic=429.0

была схожая ситуация, у меня был доступ к папке distfiles на проксике в локалке

Правда, было бы здорово иметь возможность генерировать на домашнем Linux список пакетов, которые нужно скачать, а на работе этот список подавать некому скрипту, который сам бы и выкачивал эти пакеты. А дома бы я уже всё это по нужным местам распределял и запускал обновление системы.

emerge -pvf
На одной строке ссылки на один файл, но с разных серверов из GENTOO_MIRRORS

А что бы не распаковывать архив с портежем на каждом компе, можно папку расшарить по NFS и примонтировать на машину в ее папку с портежами.