Парсер репозиториев убунту(дебиан)

RSYNCSOURCE=rsync://ftp.corbina.net/ubuntu
BASEDIR=/tmp/ubuntu
mkdir -p ${BASEDIR}/dists/lucid/main/binary-i386/
mkdir -p ${BASEDIR}/dists/lucid/main/binary-amd64/
mkdir -p ${BASEDIR}/dists/lucid/multiverse/binary-i386/
mkdir -p ${BASEDIR}/dists/lucid/multiverse/binary-amd64/
mkdir -p ${BASEDIR}/dists/lucid/restricted/binary-i386/
mkdir -p ${BASEDIR}/dists/lucid/restricted/binary-amd64/
mkdir -p ${BASEDIR}/dists/lucid/universe/binary-i386/
mkdir -p ${BASEDIR}/dists/lucid/universe/binary-amd64/

if [ -f ${BASEDIR}/excluded.lst ]; then
rm ${BASEDIR}/excluded.lst
echo "Удалена предыдущая версии исключения пакетов"
fi
if [ -f ${BASEDIR}/includes.lst ]; then
rm ${BASEDIR}/includes.lst
echo "Удалена предыдущая версия списка пакетов"
fi
echo "Сбор информации о пакетах"
rsync -v --progress ${RSYNCSOURCE}/dists/lucid/main/binary-i386/Packages.bz2 ${BASEDIR}/dists/lucid/main/binary-i386/
rsync -v --progress ${RSYNCSOURCE}/dists/lucid/main/binary-amd64/Packages.bz2 ${BASEDIR}/dists/lucid/main/binary-amd64/
rsync -v --progress ${RSYNCSOURCE}/dists/lucid/multiverse/binary-i386/Packages.bz2 ${BASEDIR}/dists/lucid/multiverse/binary-i386/
rsync -v --progress ${RSYNCSOURCE}/dists/lucid/multiverse/binary-amd64/Packages.bz2 ${BASEDIR}/dists/lucid/multiverse/binary-amd64/
rsync -v --progress ${RSYNCSOURCE}/dists/lucid/restricted/binary-i386/Packages.bz2 ${BASEDIR}/dists/lucid/restricted/binary-i386/
rsync -v --progress ${RSYNCSOURCE}/dists/lucid/restricted/binary-amd64/Packages.bz2 ${BASEDIR}/dists/lucid/restricted/binary-amd64/
rsync -v --progress ${RSYNCSOURCE}/dists/lucid/universe/binary-i386/Packages.bz2 ${BASEDIR}/dists/lucid/universe/binary-i386/
rsync -v --progress ${RSYNCSOURCE}/dists/lucid/universe/binary-amd64/Packages.bz2 ${BASEDIR}/dists/lucid/universe/binary-amd64/
echo "Создание списка программного обеспечения"
bzcat ${BASEDIR}/dists/lucid/main/binary-i386/Packages.bz2 | grep "Filename:" | awk '{print $2}' >> ${BASEDIR}/includes.lst
bzcat ${BASEDIR}/dists/lucid/main/binary-amd64/Packages.bz2 | grep "Filename:" | awk '{print $2}' >> ${BASEDIR}/includes.lst
bzcat ${BASEDIR}/dists/lucid/multiverse/binary-i386/Packages.bz2 | grep "Filename:" | awk '{print $2}' >> ${BASEDIR}/includes.lst
bzcat ${BASEDIR}/dists/lucid/multiverse/binary-amd64/Packages.bz2 | grep "Filename:" | awk '{print $2}' >> ${BASEDIR}/includes.lst
bzcat ${BASEDIR}/dists/lucid/restricted/binary-i386/Packages.bz2 | grep "Filename:" | awk '{print $2}' >> ${BASEDIR}/includes.lst
bzcat ${BASEDIR}/dists/lucid/restricted/binary-amd64/Packages.bz2 | grep "Filename:" | awk '{print $2}' >> ${BASEDIR}/includes.lst
bzcat ${BASEDIR}/dists/lucid/universe/binary-i386/Packages.bz2 | grep "Filename:" | awk '{print $2}' >> ${BASEDIR}/includes.lst
bzcat ${BASEDIR}/dists/lucid/universe/binary-amd64/Packages.bz2 | grep "Filename:" | awk '{print $2}' >> ${BASEDIR}/includes.lst
echo "Создание списка исключений"
echo "*" > ${BASEDIR}/excluded.lst
echo "Синхронизация"
rsync --recursive --times --links --hard-links -v --progress --stats --compress --files-from="${BASEDIR}/includes.lst" ${RSYNCSOURCE}/ ${BASEDIR}

# --include-from "${BASEDIR}/includes.lst" --exclude-from "${BASEDIR}/excluded.lst" ${RSYNCSOURCE} ${BASEDIR}