Зеркалирование OpenBSD: всё своё ношу с собой

Проблемы с интернетом, ядерная война, нежелание долго ждать загрузки... да мало ли причин, которые могут разделить вас с зеркалом OpenBSD. Или вы собираетесь отправиться в джунгли Амзаонки, и мало ли что может там понадобиться, чего вы заранее не предусмотрели.

Лучше бродить по миру с полным архивом OpenBSD на HDD.

Зеркалирование базовой системы.

Любая установленная OpenBSD является установщиком OpenBSD той же версии - для этого в предложении boot> достаточно ввести bsd.rd

В процессе установки вас спросят об источнике установки. Для установки с hdd надо выбрать (d)isk и указать путь к файлам.

Какие файлы нужны? Для базовой установки достаточно зазеркалировать все файлы с http(ftp,rsync)://mirror.yandex.ru/openbsd/6.1/amd64(i386)/, кроме install61.iso и install61.fs - это займёт примерно 250 мб на архитектуру. Если место позволяет, можно зазеркалировать и .iso с .fs, это займёт ещё по 500 мб на архитектуру (это образы для CD и для флешки).

Полное зеркалирование с помощью wget (wget надо предварительно установить), для обоих архитектур IBM PC, потребует примерно 1.5 гб диска

mkdir -p /6.1/i386
cd /6.1/i386
wget -c -r -np -nd http://mirror.yandex.ru/openbsd/6.1/i386/
rm index.html

mkdir -p /6.1/amd64
cd /6.1/amd64
wget -c -r -np -nd http://mirror.yandex.ru/openbsd/6.1/amd64/
rm index.html

Зеркалирование прошивок (firmware).

Уже установленная система может потребовать некоторые прошивки для работы. Они скачиваются при первом запуске, но если интернет недоступен, их можно скачать заранее (13 мб на всё). Затем их можно просто установить пакетным менеджером.

mkdir -p /6.1/fw
cd /6.1/fw
wget -c -r -np -nd http://firmware.openbsd.org/firmware/6.1/
wget http://firmware.openbsd.org/firmware/6.1/SHA256
rm index.html

Установка всех прошивок: pkg_add /6.1/fw/*.tgz

Зеркалирование пакетов.

Полный архив пакетов OpenBSD 6.1 занимает 36-37 гб для архитектуры. При этом некоторые пакеты, типа файла данных ufoai, urbanterror, speeddreams, flghtgear занимают 1-2 гб каждый: в случае экономии места, если вам не нужны эти игры, их можно просто не скачивать.

Полное зеркалирование с помощью wget (wget надо предварительно установить), для обоих архитектур IBM PC, потребует примерно 75 гб диска

mkdir -p /6.1/packages/i386
cd /6.1/packages/i386
wget -c -r -np -nd http://mirror.yandex.ru/openbsd/6.1/packages/i386/
rm index.html

mkdir -p /6.1/packages/amd64
cd /6.1/packages/amd64
wget -c -r -np -nd http://mirror.yandex.ru/openbsd/6.1/packages/amd64/
rm index.html

Установку можно проводить прямо из соответствующих каталогов. При этом, если у вас уже прописан источник в PKG_PATH или installurl, следует писать название пакета (не обязательно полное имя файла), начиная с пути:

cd /6.1/packages/amd64
pkg_add ./wesnoth

либо

pkg_add /6.1/packages/amd64/wesnoth

Зеркалирование distfiles.

Пакеты получаются из портов с помощью исходников. Дерево исходных кодов приложений и есть это самое distfiles. Зачем могут понадобиться исходные коды? Например:

Полный архив исходных кодов для OpenBSD 6.1 занимает примерно 35 гб.

Для его зеркалирования надо сначала получить порты для OpenBSD 6.1, затем запустить dpb -F число (число после -F это количество потоков для одновременной загрузки):

cd /usr
cvs -d anoncvs@anoncvs.spacehopper.org:/cvs get -rOPENBSD_6_1 -P src
cd ports/infrastructure/bin
./dpb -F 3

Зеркалирование www-сайта

Иногда может потребоваться информация с веб-сайта openbsd.org. Но что делать, если он недоступен в сети? Взять с собой!

cd /var/www/htdocs
cvs -d anoncvs@anoncvs.spacehopper.org:/cvs get -P www

Можно получить копию за любой день за всю двадцатислишнимлетнюю историю проекта. Например, cvs get -D '1 jan 1998' www даст вам копию веб сайта на 1 января 1998 года.

Зеркалирование cvs

Вся история проекта OpenBSD: исходные коды, порты, веб-сайт можно также сохранить на жёсткий диск, чтобы делать cvs-запросы не к интернету, а к локальному репозиторию. Это займёт ещё примерно 10 гб. Для этого служит пакет cvsync, подробности и примеры здесь: openbsd.org/cvsync.html