Не скажу какими правдами и неправдами, но появился у меня на жестком диске срез Dedian. А это в нашем, забытом инетом городке большое событие. Так вот. Срез для AMD64 и i386 архитектур занял 113 гектар. Да и плюс ко всему добрый друг залил туда кроме Etch и Lenny заодно Sid и Sarge, которые мне в принципе не нужны. И вот начались мучения: место ушло много, знакомым-друзьям тоже отдавать всю свалку нет никакого резона. Поэтому сделал хитрый ход конём (не пинайте за извращённость мышления): 1. Поднял Апач 2. Сделал папку с репозитарием localhost 3. Дал добрую команду:
| Цитата | debmirror /home/veresk/Debian --host=localhost/apache2-default --root=/ --method=http --progress --dist=etch,lenny --section=main,contrib,non-free --arch=i386,amd64 --ignore-release-gpg > /home/veresk/mirror.log
|
Комп задумался не слабо, но через пару часов слил мне в папку /home/veresk/Debian нужные куски репозитория весом ~65 гектар. Осталась собственно мелочь: сделать правильные Packages-файлы (они почему-то не были созданы сами). Ну этим-то я нагрузил пару скриптов: Первый install
| Цитата | #/bin/bash #MAKE INSTALL DIREKTORIES
install -d dists/etch/main/binary-i386 install -d dists/etch/main/binary-amd64 install -d dists/etch/main/source
install -d dists/etch/contrib/binary-i386 install -d dists/etch/contrib/binary-amd64 install -d dists/etch/contrib/source
install -d dists/etch/non-free/binary-i386 install -d dists/etch/non-free/binary-amd64 install -d dists/etch/non-free/source
install -d dists/lenny/main/binary-i386 install -d dists/lenny/main/binary-amd64 install -d dists/lenny/main/source
install -d dists/lenny/contrib/binary-i386 install -d dists/lenny/contrib/binary-amd64 install -d dists/lenny/contrib/source
install -d dists/lenny/non-free/binary-i386 install -d dists/lenny/non-free/binary-amd64 install -d dists/lenny/non-free/source
|
И второй собствено собирать должен и архивировать:
| Цитата | #/bin/bash
#MAKE INDEX FILES apt-ftparchive packages pool/contrib/ > dists/etch/contrib/binary-i386/Packages apt-ftparchive packages pool/contrib/ > dists/etch/contrib/binary-amd64/Packages apt-ftparchive packages pool/contrib/ > dists/etch/contrib/source/Packages
apt-ftparchive packages pool/main/ > dists/etch/main/binary-i386/Packages apt-ftparchive packages pool/main/ > dists/etch/main/binary-amd64/Packages apt-ftparchive packages pool/main/ > dists/etch/main/source/Packages
apt-ftparchive packages pool/non-free/ > dists/etch/non-free/binary-i386/Packages apt-ftparchive packages pool/non-free/ > dists/etch/non-free/binary-amd64/Packages apt-ftparchive packages pool/non-free/ > dists/etch/non-free/source/Packages
apt-ftparchive packages pool/contrib/ > dists/lenny/contrib/binary-i386/Packages apt-ftparchive packages pool/contrib/ > dists/lenny/contrib/binary-amd64/Packages apt-ftparchive packages pool/contrib/ > dists/lenny/contrib/source/Packages
apt-ftparchive packages pool/main/ > dists/lenny/main/binary-i386/Packages apt-ftparchive packages pool/main/ > dists/lenny/main/binary-amd64/Packages apt-ftparchive packages pool/main/ > dists/lenny/main/source/Packages
apt-ftparchive packages pool/non-free/ > dists/lenny/non-free/binary-i386/Packages apt-ftparchive packages pool/non-free/ > dists/lenny/non-free/binary-amd64/Packages apt-ftparchive packages pool/non-free/ > dists/lenny/non-free/source/Packages
#compress gzip > dists/etch/contrib/binary-i386/Packages.gz < dists/etch/contrib/binary-i386/Packages gzip > dists/etch/contrib/binary-amd64/Packages.gz < dists/etch/contrib/binary-amd64/Packages gzip > dists/etch/contrib/source/Packages.gz < dists/etch/contrib/source/Packages
gzip > dists/etch/main/binary-i386/Packages.gz < dists/etch/main/binary-i386/Packages gzip > dists/etch/main/binary-amd64/Packages.gz < dists/etch/main/binary-amd64/Packages gzip > dists/etch/main/source/Packages.gz < dists/etch/main/source/Packages
gzip > dists/etch/non-free/binary-i386/Packages.gz < dists/etch/non-free/binary-i386/Packages gzip > dists/etch/non-free/binary-amd64/Packages.gz < dists/etch/non-free/binary-amd64/Packages gzip > dists/etch/non-free/source/Packages.gz < dists/etch/non-free/source/Packages
gzip > dists/lenny/contrib/binary-i386/Packages.gz < dists/lenny/contrib/binary-i386/Packages gzip > dists/lenny/contrib/binary-amd64/Packages.gz < dists/lenny/contrib/binary-amd64/Packages gzip > dists/lenny/contrib/source/Packages.gz < dists/lenny/contrib/source/Packages
gzip > dists/lenny/main/binary-i386/Packages.gz < dists/lenny/main/binary-i386/Packages gzip > dists/lenny/main/binary-amd64/Packages.gz < dists/lenny/main/binary-amd64/Packages gzip > dists/lenny/main/source/Packages.gz < dists/lenny/main/source/Packages
gzip > dists/lenny/non-free/binary-i386/Packages.gz < dists/lenny/non-free/binary-i386/Packages gzip > dists/lenny/non-free/binary-amd64/Packages.gz < dists/lenny/non-free/binary-amd64/Packages gzip > dists/lenny/non-free/source/Packages.gz < dists/lenny/non-free/source/Packages
|
И вроде бы оставалось только добавить строку deb file:/home/veresk/Arhive/Debian/ etch contrib main non-free в соурс-лист и зажить счастливой жизнью. Репозитарий Lenny я оставил для на потом, попробовать на соседней машине. Но тут-то как раз меня и ждал облом великий: при попытке первой же установки из свежеиспечёного репозитария у меня обновилась практически вся система. А этого быть не должно, ибо ставил я ее из исходного "полного" репозитария. В общем и целом, я так понял, что скриптик собрал только новые пакеты (иначе говоря Lenny), а нужный мне Etch проигнорировал как устаревший. И распихал Packages-файлы одинаковые и в Lenny и в Etch. В тяжких раздумьях встретил Новый год. Да еще каждый раз стал выпадать запрос про неподписанные пакеты при использовании APT-GET INSTALL. Что и где я не так накурил манов? Как теперь мне это всё поправить? Самое плохое, что исходный репозитарий я всё-таки грохнул, не подумав... :-(
ЗЫ. Структура зеркала у меня как и на официальном сайте Debian: директория pool разбита на contrib, main, non-free а потом уже в поддиректориях пакеты, все кучей: etch, lenny, amd64, i386. Ну а Packages-файлы в соответствующих дирах папки dists |