Страницы

пятница, 2 мая 2014 г.

Perpetum reposita. Автономная Ubuntu

В связи со складывающейся ситуацией в российском сегменте сети Интернет, было принято решение сохранить (отзеркалировать) некоторые ресурсы сети, составляющие большую ценность, в силу накопленного человеческого труда, вложенного в их создание.

Вечное хранение репозитория Ubuntu

Ubuntu без доступа к хранилищу пакетов (репозиторию) - это не Ubuntu.

Встроенное средство apt-mirror позволяет создать "зеркало" точную копию репозитория Ubuntu на домашнем компьютере, для автономного использования в качестве источника пакетов.

Основной конфигурационный файл apt-mirror: /etc/apt/mirror.list
Формат сходен с sources.list.

Для 64-битной ubuntu, надо также скачивать и пакеты архитектуры i386, потому что без них, не обходиться.

Под автономный репозиторий пакетов у меня выделен раздел: /mnt/repository

Примерное содержимое:

# сервер: redbox
# дата: 16 апреля 2014 года
#
############# config ##################
#
set base_path    /mnt/repository
#
 set mirror_path  $base_path/mirror
 set skel_path    $base_path/skel
 set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb http://ru.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb http://ru.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb http://ru.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb http://ru.archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb http://ru.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse




deb-src http://ru.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb-src http://ru.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb-src http://ru.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse
#deb-src http://ru.archive.ubuntu.com/ubuntu trusty-proposed main restricted universe multiverse
#deb-src http://ru.archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse



# Пакеты архитектуры i386 нужны

deb-i386 http://ru.archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
deb-i386 http://ru.archive.ubuntu.com/ubuntu trusty-security main restricted universe multiverse
deb-i386 http://ru.archive.ubuntu.com/ubuntu trusty-updates main restricted universe multiverse



# Стоит ли эти репозитории качать?
#deb http://archive.canonical.com/ubuntu trusty partner
#deb-src http://archive.canonical.com/ubuntu trusty partner
#deb http://extras.ubuntu.com/ubuntu trusty main
#deb-src http://extras.ubuntu.com/ubuntu trusty main

clean http://ru.archive.ubuntu.com/ubuntu



Для ежедневного обновления (проверки) используется системное расписание cron.
Конфигурация системного расписания, в части apt-mirror находится в файле: /etc/cron.d/apt-mirror

Там такая запись:

0 13    * * *    apt-mirror    /usr/bin/apt-mirror > /mnt/repository/cron.log

Выполняется всё от имени пользователя apt-mirror.
И папкам репозитория надо присвоить владельца  apt-mirror

$ sudo chown -R apt-mirror:apt-mirror /mnt/repository/{mirror,skel,var}

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

Можно с пользователем apt-mirror и не связываться, тогда просто запуск надо выполнять от пользователя root.

Сейчас, я склоняюсь к мысли выделить отдельно репозиторий исходных кодов и исполняемых пакетов. Для этого два-три-четыре файла mirror.list надо создать.
Это вызвано тем, что такие (~60GB) объёмы сложно записывать на BDRE.
В расписании появиться, нужное количество строк и данные будут разнесены и станут более удобными для использования, т.к. иногда исходные коды не очень нужны. Хотя...


※※※

Использование локального  репозитория


При недоступности Интернета, это позволяет сохранять работоспособность операционной системы Ubuntu, достаточно долгое время.
Для использования локального репозитория, надо переформатировать файл источников: /etc/apt/sources.list

Ссылка на локальный репозиторий в файле /etc/apt/sources.list выглядит где-то так (взято с автономной ubuntu, где том хранения репозитория носит название reconditorium): 

deb file:///mnt/reconditorium/mirror/ru.archive.ubuntu.com/ubuntu trusty main
deb file:///mnt/reconditorium/mirror/ru.archive.ubuntu.com/ubuntu trusty restricted
deb file:///mnt/reconditorium/mirror/ru.archive.ubuntu.com/ubuntu trusty universe
deb file:///mnt/reconditorium/mirror/ru.archive.ubuntu.com/ubuntu trusty multiverse


И так для каждого репозитория, trusty, trusty-security, trusty-updates и т.п.
Строк будет много, для наглядности.
Надо заметить 3 символа /, а также, "mirror/ru.archive.ubuntu.com/" - это потому, что зеркалировалось российское зеркало.

Объем полного репозитория trusty около ~120GB.

После переключения на локальный репозиторий, можно сделать:
$ sudo rm /var/lib/apt/lists/* -vf
$ sudo apt-get update


※※※

Выводы


1. Похоже зеркалировать надо и Debian.
2. Похоже нужны емкие диски.
3. Разбиение репозитория на куски, позволяет гибко, по мере необходимости подключать и отключать внешние диски с пакетами программ и исходных кодов, да и зеркалирование выполнять ночью, а не днём и пореже.


※※※

Ресурсы


1. Ubuntu. http://help.ubuntu.ru/wiki/apt-mirror


※※※

Комментариев нет: