Синхронизация дист-файлов. [SOLVED]
Добрый день.
Для друга, живущего в регионе и имеющий не скоростной канал енета, 3-4 раза в месяц привожу синхронизированные зеркала дист-файлов на винте.
Он, как и я, так же использует оверлеи.
Известно, что дист-файлы из оверлея, не всегда есть (а чаще нет) в официальном зеркале.
Написал небольшой скрипт, который fetch-ит файлы из ебилдов.
Одно неудобство, к примеру фетчишь sabayon/app-office/openoffice/openoffice-3.1.1-r2.ebuild
emerge проверяет все зависимости.
Затем когда фетчишь следующую версию, emerge опять проверяет все зависимости по ebuild-у.
А это очень удлиняет процесс.
Может кто-то знает более грамотное решение?
Скрипт прикладываю:
#!/bin/bash.
    echo "начало синхронизации всех портежей"
    if [ -e /mnt/big_WD/Linux/overlay ]
     then echo "проверка требуемых каталогов портежей завершена успешно"
        echo "начало синхронизации всех портежей"
        cd /etc
        ln -nsf /etc/make.conf_~x86 make.conf
        cd /pub/Linux/overlay/portage_layman
#       for d in calculate callisto enlightenment lcd-filtering rion rostov sabayon sunrise.
        for d in callisto desktop-effects enlightenment sabayon sunrise rion rostov zugaina
        do
        echo /pub/Linux/overlay/portage_layman/$d
        cd /pub/Linux/overlay/portage_layman/$d
        for i in *
        do
            for j in $i/*
            do
                for eb in $j/*.ebuild
                do
#                       ACCEPT_KEYWORDS="~x86 ~amd64" emerge -f $eb.
                    emerge -f $eb
                done
            done
        done
    done
    fi
    cd /etc
    ln -nsf /etc/make.conf_work make.conf
- Для комментирования войдите или зарегистрируйтесь


ebuild $eb fetch
ebuild $eb fetch, должен скачать SRC_URI, но без зависимостей.
Спасибо, помогло :)
Спасибо, помогло :)
Реально ли необходимы все
Реально ли необходимы все версии, или достаточно актуальных?
Может быть и более компактный вариант устроит? Получение стабильной и топовой версии всех пакетов, известных eix.
EMERGE="emerge -f --nodep";\ for i in `eix -c --nocolor |\ sed "s/^[^ ]* //;s/ .*$//;/^[0-9]*$/d;/\"/d"` ; \ do \ $EMERGE $i && \ ACCEPT_KEYWORDS="fixme:~arch" $EMERGE $i ;\ doneemacs — отличная операционка которой не хватает только хорошего текстового редактора.
спасибо, надо попробовать
спасибо, надо попробовать Ваше решение.
Получилось, с Вашей помощью и
Получилось, с Вашей помощью и идеей, сделать так:
#!/bin/bash
d=`date +%Y%m%d%H%M`
echo "начало синхронизации всех портежей"
if [ -e /mnt/big_WD/Linux/overlay ]
then echo "проверка требуемых каталогов портежей завершена успешно"
echo "начало синхронизации всех портежей"
cd /pub/Linux/overlay/portage_layman
for d in callisto desktop-effects enlightenment sabayon sunrise rion rostov zugaina
do
cd /pub/Linux/overlay/portage_layman/$d
for i in $( find /pub/Linux/overlay/portage_layman/$d -type f -name '*.ebuild' | grep -v 'KEYWORDS="-*' )
do
ebuild $i fetch
done
done
fi