Создание локального репозитория в Ubuntu 10.04 LTS server

Настройка производилась на компьютере с Ubuntu 10.04 LTS server, для работы этого демона необходим установленный apache. Если он не установлен, то устанавливаем:

sudo apt-get install apache2

После установки настраивать ничего не нужно.

Теперь устанавливаем сам apt-cacher:

sudo apt-get install apt-cacher

Создадим директорию, где будет хранится наш будущий репозиторий:

sudo mkdir /home/rep
sudo chown www-data:www-data /home/rep

Переходим к настройке нашего репозитория:

sudo nano /etc/apt-cacher/apt-cacher.conf

Ниже представлен конфиг настроенного у меня apt-cacher:


cache_dir=/home/rep #директория в котрой будет храниться кэш.
admin_email=root@localhost # электронная почта админа
daemon_port=9999 #порт apt-cacher'a
group=www-data #группа под которой будет запускаться наш apt-cacher
user=www-data #юзер под которой будет запускаться наш apt-cacher

allowed_hosts=* #хосты доступ с которых разрешен на наш сервер
denied_hosts= #соответственно запрещен.

generate_reports=1 # раз в сутки будут генерироваться отчеты об использовании
apt-cacher`a(1-генерить, 0 - нет)

clean_cache=0 #Очистка кэша раз в сутки,
offline_mode=0 #Если 0, то с apt-cacher будет брать пакеты с офф. сервера, если 1, то раздавать только то что у него в кэше
logdir=/var/log/apt-cacher #папка c логами apt-cacher`а
expire_hours=0 # apt-cacher может работать в двух режимах. В первом режиме сервер будет сравнивать expire_hours со временем последнего обновления пакета, и если оно становится меньше, то на зеркале обновление для этого пакета, Во-втором режиме сервер будет сравнивать напрямую с офф.сервером.
http_proxy= #адрес вашего прокси-сервера(если он у вас есть)
use_proxy=1 #Использовать(1) или нет(0) прокси.
http_proxy_auth= #Авторизация на прокси(формат: user:password)
use_proxy_auth= # Использовать ли авторизацию? (1-да, 0-нет)
limit=0 #Ограничитель скорости. 0 — нет ограничений. 250K — 250кбит/с, 2m — 2мбит/с
debug=0 #Уровень отладки. 0 — маленький лог файл, 1 — большой.
path_map = ubuntu archive.ubuntu.com/ubuntu ; canonical archive.canonical.com/ubuntu ; medibuntu packages.medibuntu.org/ ; notesalexp.org/debian/lucid/ ; archive.getdeb.net/ubuntu ; webmin download.webmin.com/download/ ; mirror.yandex.ru/ubuntu ; notesalexp.org/debian/lucid ;
#Самый интересный параметр. Настройка зеркал обновления, т.е. откуда будут браться пакеты и обновления.

Настраиваем автозапуск apt-cacher:

sudo nano /etc/default/apt-cacher

и исправляем там AUTOSTART=0 на AUTOSTART=1
Запускаем наш установленный демон:

sudo /etc/init.d/apt-cacher start

Ругнился:
Starting Apt-Cacher: apt-cacher/usr/sbin/apt-cacher: No cache_dir directory!

Не буду вдаваться в подробности, это криво собранный пакет, поэтому запускаем скрипт командой:

/usr/share/apt-cacher/install.pl

Запускаем наш установленный демон:

sudo /etc/init.d/apt-cacher start

Запустился теперь по адресу http://server_name:9999/ должна появится информация о нашем сервере.

Необходимо добавить наш сервер во все списки репозиториев, на всех клиентских машинах:

sudo nano /etc/apt/sources.list

В этом конфигурационном файле, нам необходимо закоментировать символом # все строчки и добавить записи:

deb http://server_ip:9999/archive.ubuntu.com/ubuntu lucid multiverse restricted main
deb http://server_ip:9999/archive.canonical.com/ubuntu lucid partner
deb http://server_ip:9999/archive.canonical.com/ubuntu lucid-updates partner
deb http://server_ip:9999/archive.canonical.com/ubuntu lucid-security partner
deb http://server_ip:9999/packages.medibuntu.org lucid free non-free
deb http://server_ip:9999/mirror.yandex.ru/ubuntu/ lucid main restricted
deb http://server_ip:9999/mirror.yandex.ru/ubuntu/ lucid-updates main restricted
deb http://server_ip:9999/mirror.yandex.ru/ubuntu/ lucid-updates universe
deb http://server_ip:9999/mirror.yandex.ru/ubuntu/ lucid-updates multiverse
deb http://server_ip:9999/notesalexp.org/debian/lucid/ lucid main contrib non-free

Если ругнется на ключи NO_PUBKEY 2EBC26B60C5A2783
то:

sudo apt-get install medibuntu-keyring && sudo apt-get update

Если ругнется на ключи NO_PUBKEY 2EBC26B60C5A2783
то:

wget -O - http://notesalexp.org/debian/alexp_key.asc | apt-key add -

Где server_name - это сервер, на котором установлен и запущен этот демон. А lucid - кодовое имя
операционной системы.
После добавления нашего репозитория можно установить какой либо пакет с одной машины, а потом убедиться в том, что мы все сделали правильно, установить этот же пакет с другой машины. При правильной настройке и установке мы должны увидить моментальную установку на второй машине.

Оцените блог: 
Средняя: 2.9 (132 оценки)