From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 X-Quarantine-ID: X-Virus-Scanned: amavisd-new at nsrz.ru Message-ID: <49DB0244.1000504@nsrz.ru> Date: Tue, 07 Apr 2009 11:35:32 +0400 From: AShen Organization: =?KOI8-R?Q?=EF=E1=EF_=EE=F3=F2=FA?= User-Agent: Thunderbird 2.0.0.18 (X11/20090322) MIME-Version: 1.0 To: ALT Linux Community general discussions References: <49DAF8BC.2030000@rambler.ru> In-Reply-To: <49DAF8BC.2030000@rambler.ru> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Comm] =?koi8-r?b?88nOyNLPzsnawcPJ0SDJINzLz87PzcnRINTSwcbJy8E=?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ashen@nsrz.ru, ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2009 07:37:02 -0000 Archived-At: List-Archive: List-Post: alisher пишет: > Здравствуйте. Получил я локальную копию пятого бранча, спасибо > Назарову Денису. И хочу теперь синхронизировать, но не целиком, потому > как трафик ограниченный и инет только на работе, а обновлять домашний. > Так вот, можно ли получить от apt список rpm, которые установлены на > моем компьютере? А потом уже только эти пакеты обновлять. 1) создать свой локальный репозитарий. как сделать сказано здесь: http://freesource.info/wiki/DmitriyKruglikov/Repository?v=f2g&search=repo 2) а вот для того, что б подтянуть из инета пакеты, которые установленны в системе, но отсуствуют в кэше apt'а, я мспользую такой скрипт: cat autodownloadcache #!/bin/sh #Очищаем кэш от устаревших файлов пакетов #apt-get autoclean #обновляем БД по пакетам #apt-get update #получаем список установленных в систему пакетов rm -f /tmp/installrpm rpm -qa --qf='%{NAME}\n' | sort > /tmp/installrpm #получаем список имеющих в кэше файлов пакетов в виде "только имена пакетов" rm -f /tmp/presentfiles cd /var/cache/apt/archives ls * | sort > /tmp/presentfiles rm -f /tmp/presentrpm cat /tmp/presentfiles | while read FILEPKG; do rpm -qp $FILEPKG --queryformat "%{NAME}\n" >> /tmp/presentrpm done comm -23 /tmp/installrpm /tmp/presentrpm > /tmp/dwrpm #докачиваем отсутствующие в кэше файлы установленных пакетов cat /tmp/dwrpm | while read PKG; do apt-get reinstall -d -y $PKG done #EOF Да скрипт отрабатывает достаточно долго. Из-за вызова apt'а для каждого пакета отдельно. Если нашему apt'у передать на вход зараз весь список пакетов, то ему сносит голову: слишком длинная строка входных параметров (примерно так, в вольном изложеии). Вот по сему надёжней передавать apt'у отдельно имя каждого пакета. Обчыно данный скрипт я запускаю на ночь, а придя утром, получаю в кэше apt'а наличие всех файлов установленных у меня пакетов. Ну а дальше 1).