SSid
1
В первую очередь эта проблема касается людей, подключенных к Интернету через провайдеров мобильной связи.
В самом деле: свежий снимок 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
Данный способ не требует “ручного” вмешательства в дерево, требует скачивание полного архива портажей только один раз, потом обновляет только дифы и был описан в старой доке по кальке. Можно ее найти по словам “экономия трафика” 
SSid
3
Согласен
Более того, можно ещё проще: eix про дельты знает, eix-sync -W равносильно emerge-delta-webrsync. Но…
…ИМХО достаточно 1 раз на одном компьютере потратить трафик
как вам цена по 7 рублей за мегабайт в большинстве тарифов сотовых операторов? Есть конечно тарифные опции и безлимитные тарифы, но как даже там обстоят дела со скоростью и стабильностью связи?
Есть ещё различные организации мелких размеров, где на узкий канал подключены десяток компьютеров.
…далее можно создать архивы /usr/portage… и просто разархивировать
А может проще разархивировать уже созданный архив portage-latest.tar.bz2 ?
Кроме того emerge-delta-webrsync выкачивает разницу не за весь период существования цивилизации, срок дельт по моему месяц, если пропустили - все заново.
P.S. Человек раздобыл диск с Calculate 11, установил систему. Какой из двух предложенных вариантов для него окажется предпочтительней для обновления portage с диска до свежего состояния? 
В любом случае один раз придется скачать ~40Мб, emerge-delta-webrsync скачает первый раз сам, потому как нету в инсталлере архива с деревом, потом обновления дерева ~150Кб на каждый день. Если обновлять дерево 1 раз в месяц…
Если у человека такой дорогой трафик, то ему обновлять дерево нет смысла, потому как обновить систему он все равно не сможет. А если есть доступ к “халяве” тогда побоку как обновляться, я на безлимитке не думаю о размере обновлений.
Для организацие есть возможность поднять свой, локальный сервер обновлений и держать все там.
wet
5
А почему бы не использовать emerge-delta-webrsync? трафик естественно существенно меньше.
ИМХО достаточно 1 раз на одном компьютере потратить трафик. далее можно создать архивы /usr/portage
и /var/lib/layman
и просто разархивировать на других компьютерах.
Если у человека такой дорогой трафик, то ему обновлять дерево нет смысла
вот именно. узнать-узнает, что вышла новая версия, а качать всё-равно не будет), уже лучше тогда говорить про гоняние лишних байтов…
можно было бы еще обновлять не полностью портаж а только то что используется…
Родион Дорошкевич писал(а):
Если у человека такой дорогой трафик, то ему обновлять дерево нет смысла, потому как обновить систему он все равно не сможет. А если есть доступ к “халяве” тогда побоку как обновляться, я на безлимитке не думаю о размере обновлений.
У меня, например, похожая ситуация. Но, меня есть возможность скачивать все обновления на работе, приносить их домой, заливать в нужное место, ну а далее emerge.
Правда, было бы здорово иметь возможность генерировать на домашнем Linux список пакетов, которые нужно скачать, а на работе этот список подавать некому скрипту, который сам бы и выкачивал эти пакеты. А дома бы я уже всё это по нужным местам распределял и запускал обновление системы.
@Александр Ерёменко:
посмортрите пожалуйста, кажется есть уже решение для вас:
http://unixadmins.su/index.php?topic=429.0
была схожая ситуация, у меня был доступ к папке distfiles на проксике в локалке
mavriq
9
Правда, было бы здорово иметь возможность генерировать на домашнем Linux список пакетов, которые нужно скачать, а на работе этот список подавать некому скрипту, который сам бы и выкачивал эти пакеты. А дома бы я уже всё это по нужным местам распределял и запускал обновление системы.
emerge -pvf
На одной строке ссылки на один файл, но с разных серверов из GENTOO_MIRRORS
А что бы не распаковывать архив с портежем на каждом компе, можно папку расшарить по NFS и примонтировать на машину в ее папку с портежами.