exelens 13.05.2010 21:54
Я рекомендую — Экономим трафик — delta обновления в ArchLinux
Всё таки нашелся для ArchLinux репозитарий предоставляющий возможности xdelta, т.е. позволяющего не тянуть обновленный пакет целиком, а тянуть только разницу между текущим установленным и обновленным сделанную с помощью xdelta. В pacman такая возможность присутствует уже очень давно, однако репозитариев с такой возможностью лично мне было не видно... И вот свершилось чудо — я наткнулся на сею репу!Подготавливаемся
Ставим xdelta3
1 |
|
Редактируем /etc/pacman.conf, раскомментируя строку UseDelta тем самым включая использование дельт.
И добавляем в самый верх mirrorlist (/etc/pacman.d/mirrorlist) строку
1 |
|
Как вы уже заметили адрес дельта-репозитария для pacman это archdelta.net
Ложка дегтя
Радоваться конечно рано, особенно пользователям x86_64 ибо репозитарий только для i686.
Так же с текущей версией xdelta3 3.0y имеются проблемы, так что если у вас с этой версией тоже возникают какие-то проблемы, то ставим предыдущую версию
1 |
|
и заносим xdelta3 в IgnorePkg до лучших времен...
Радуемся
Экономия трафика достаточно ощутима (да что там, в некоторых случаях она просто-таки огромна), так что рекомендую.
goblinyara 13.05.2010 22:20 #
+ 1 -
хех... глазами пробежал - чувствую, что где-то это уже видел, потом только заметил, что это пост-ссылка на muhas'а блог=)
я думал что здесь это будет не интересно, видимо я ошибался...
да и как-то постеснялся в довесок к этому свой бложик "пиарить"...
да и как-то постеснялся в довесок к этому свой бложик "пиарить"...
Тебе то... Стесняться =)))
ыыы..
Тыж не ламер рерайтер того, что в зарубежных планетах пролетает...
Пости плиз сюда тоже.
ыыы..
Тыж не ламер рерайтер того, что в зарубежных планетах пролетает...
Пости плиз сюда тоже.
стеснение скорее из-за того что обвинят в пиаре своего бложика через welinux... хотя то что кажется будет интересным здеся я кроспощу (либо в блог отсюда свою запись. либо с блога сюда)
нечего стесняться, я с твоего бложика полезных вещей почерпнул несколько, а наткнулся случайно, когда от нечего делать лазил в друзьях сайта... так что лучше попиарь немного =)
Хотел написать, что muhas уже это писал, но потом увидел, что это ссылка на его блог :)
А вообще, я экономлю траффик более радикально - дома интернет по 3G, и очень дорогой. Поэтому на работу я таскаю винт и делаю себе зеркало арча :)
Вот скрипт, взятый с вики и немножко изменённый
А вообще, я экономлю траффик более радикально - дома интернет по 3G, и очень дорогой. Поэтому на работу я таскаю винт и делаю себе зеркало арча :)
Вот скрипт, взятый с вики и немножко изменённый
#!/bin/bash
#
# The script to sync a local mirror of the Arch Linux repositories and ISOs
#
# Copyright (C) 2007 Woody Gilk <[email protected]>
# Modifications by Dale Blount <[email protected]>
# and Roman Kyrylych <[email protected]>
# Licensed under the GNU GPL (version 2)
# Filesystem locations for the sync operations
SYNC_HOME="/tmp/a/archlinux/official"
SYNC_LOGS="$SYNC_HOME/logs"
SYNC_FILES="$SYNC_HOME"
SYNC_LOCK="$SYNC_HOME/mirrorsync.lck"
# Select which repositories to sync
# Valid options are: core, extra, testing, community, iso
# Leave empty to sync a complete mirror
SYNC_REPO=(core extra community)
#SYNC_REPO=()
# Set the rsync server to use
# Only official public mirrors are allowed to use rsync.archlinux.org
# SYNC_SERVER=rsync.archlinux.org::ftp
SYNC_SERVER=distro.ibiblio.org::distros/archlinux
# Set the format of the log file name
# This example will output something like this: sync_20070201-8.log
LOG_FILE="pkgsync_$(date +%Y%m%d-%H).log"
# Do not edit the following lines, they protect the sync from running more than
# one instance at a time
if < ! -d $SYNC_HOME >; then
echo "$SYNC_HOME does not exist, please create it, then run this script again."
exit 1
fi
< -f $SYNC_LOCK > && exit 1
touch "$SYNC_LOCK"
# End of non-editable lines
# Create the log file and insert a timestamp
touch "$SYNC_LOGS/$LOG_FILE"
echo "=============================================" >> "$SYNC_LOGS/$LOG_FILE"
echo ">> Starting sync on $(date --rfc-3339=seconds)" >> "$SYNC_LOGS/$LOG_FILE"
echo ">> ---" >> "$SYNC_LOGS/$LOG_FILE"
if < -z $SYNC_REPO >; then
# Sync a complete mirror
rsync -rtlvHh --delete-after --size-only --exclude='os/x86_64' --progress --delay-updates --safe-links $SYNC_SERVER "$SYNC_FILES" #>> "$SYNC_LOGS/$LOG_FILE"
# Create $repo.lastsync file with timestamp like "2007-05-02 03:41:08+03:00"
# which may be useful for users to know when the mirror was last updated
date --rfc-3339=seconds > "$SYNC_FILES/$repo.lastsync"
else
# Sync each of the repositories set in $SYNC_REPO
for repo in ${SYNC_REPO<@>}; do
repo=$(echo $repo | tr <:upper:> <:lower:>)
echo ">> Syncing $repo to $SYNC_FILES/$repo" >> "$SYNC_LOGS/$LOG_FILE"
# If you only want to mirror i686 packages, you can add
# " --exclude=os/x86_64" after "--delete-after"
#
# If you only want to mirror x86_64 packages, use "--exclude=os/i686"
# If you want both i686 and x86_64, leave the following line as it is
#
rsync -rtlvhH --size-only --progress --delete-after --exclude='os/x86_64' --delay-updates $SYNC_SERVER/$repo "$SYNC_FILES" #>> "$SYNC_LOGS/$LOG_FILE"
# Create $repo.lastsync file with timestamp like "2007-05-02 03:41:08+03:00"
# which may be useful for users to know when the repository was last updated
date --rfc-3339=seconds > "$SYNC_FILES/$repo.lastsync"
# Sleep 5 seconds after each repository to avoid too many concurrent connections
# to rsync server if the TCP connection does not close in a timely manner
sleep 5
done
fi
# Insert another timestamp and close the log file
echo ">> ---" >> "$SYNC_LOGS/$LOG_FILE"
echo ">> Finished sync on $(date --rfc-3339=seconds)" >> "$SYNC_LOGS/$LOG_FILE"
echo "=============================================" >> "$SYNC_LOGS/$LOG_FILE"
echo "" >> "$SYNC_LOGS/$LOG_FILE"
# Remove the lock file and exit
rm -f "$SYNC_LOCK"
exit 0
ЗЫ: А что на pastebin убрали возможность вставки на другой ресурв в виде HTML?
а при апдейте полностью обновляешь локальное зеркало? =)
шучу. сам при необходимости делаю заркало что бы лежало - ну и зеркалом можно поделиться с тем у кого инет голимый...
шучу. сам при необходимости делаю заркало что бы лежало - ну и зеркалом можно поделиться с тем у кого инет голимый...
Аналогино. На рабочем шлюзе, по крону обновляется зеркало репы арча. Оттуда и забираю домой.
Прикольно, а каковы пробле мы то? Система не свалиться с таких приколов? =)))
с чего вдруг? обычные апдейты, только хитрозадоформируется архив с пакетом(на основе предыдущих), неудачно сформируется ты пакет и не поставишь =)
а недоформированный архив это битый архив ;) его тоже не поставишь ибо не распакуешь