Подготовим директорий, куда будем складывать файлы:
$ mkdir ubuntu
Установим пакет для скачивания файлов и создания локального зеркала Ubuntu:
$ sudo apt-get install debmirror
Создадим скрипт mirror.sh для запуска стого пакета и скачивания дистрибутивов и наборов пакетов, в которых нуждаемся:
#!/bin/bash -x
/usr/bin/debmirror –nosource -m –passive –host=ru.archive.ubuntu.com \
–root=ubuntu –method=http –progress \
–dist=hardy,hardy-security,hardy-updates,hardy-backports \
–ignore-release-gpg –section=main,restricted,multiverse,universe \
–arch=i386,amd64 ubuntu8_04/
Пояснения к опциям для любопытных:
–nosource - игнорировать исходники, только bin
-m - проверить контрольные суммы md5
–passive - закачка в пассивном режиме (этого требуют некоторые прокси)
–host=ru.archive.ubuntu.com - откуда качаем
–root=ubuntu - каталог на сервере, будем качать все, что в него вложено
–method=ftp - метод закачки, варианты: ftp|hftp|http|rsync (если Вы качаете через M$ ISA, то, боюсь, что Вам подойдет только http.
rsync подойдет для последующих обновлений репозитория, только тогда опцию root надо будет записать так: –root=:ubuntu
–dist=hardy,hardy-security,hardy-updates,hardy-backports - наборы пакетов по их назначению (как они лежат на сервере в каталоге ubuntu)
–ignore-release-gpg - не обращать внимания на gpg-ключи (если мы доверяем серверу)
–section=main,restricted,multiverse,universe - секции наборов пакетов
–arch=i386,amd64 - архитектура нашего компа (можно ограничиться чем-то одним)
ubuntu_8.04/ - каталог, куда мы все это сложим (мне почему-то пришлось прописать полный путь!)
ПРИМЕЧАНИЕ. для работы через прокси (подобного Squid) может понадобиться опция:
–proxy=http://user:pass@url:port/
Делаем этот скрипт исполнимым:
$ chmod +x mirror.sh
Запускаем его:
$ sudo ./mirror
И спокойно идем ложиться спать… В зимнюю спячку.
На третьи сутки у меня скрипт отработал.
Все это время он грузил мой анлим на 120%
(без шуток - проверено iptraf!) и после себя оставил 23 гига в каталоге ~/ubuntu
в котором будут каталоги .temp dists pool и project
Первый и последний - это каталоги, служебные для debmirror, а в dists и pool будут размещены индексы пакетов и сами пакеты - соответственно.
(для любопытных сообщу по секрету, что .temp - это временный dists, а project - хранит файл с именем моего компа и временем последней закачки).
Комментариев нет:
Отправить комментарий