Archlinux repo freeze: 2011-10
Сделан очередной срез репозиториев арча. На этот раз - без битых ссылок. Индексы пересозданы, старые доступны в поддиректории ".oldindex".
Команды:
cd /path/to/arch/repo
mkdir _archive/2011-10
cp -r -t "_archive/2011-10/" core/ community/ extra/ pool/ arch-games/ aur-local{/,-custom/} _abs/
fdupes -r -1 "." | while read files
> do
> SRC=$(echo "$files" | cut "-d " -f 1)
> DST=$(echo "$files" | cut "-d " -f 2)
> ln -f "$SRC" "$DST"
> done
find -L . -type l # ищем битые ссылки
# докачиваем недостающее
ls -1 -d */ | tr -d "/" | while read repo
> do
> [ "$repo" == "pool" ] && continue
> pushd "$repo/os/i686/" || continue
> rm -rf ".oldindex/"
> mkdir ".oldindex/"
> mv $repo.* ".oldindex/"
> repo-add -d -f -q "$repo.db.tar.gz" *.pkg.tar.?z
> popd
> done
TODO: В следующий раз сделать сразу создание хардлинков. Долго.