Создание и настройка локального репозитория в Ubuntu


В школе, где я работаю, 12 компьютеров. На всех установлена Ubutnu 10.04. Возникает масса проблем при установке нового программного обеспечения или обновлений. Дело даже не в том, что жалко траффик, он бесплатный. Просто доступ к сети организован по каналу, с пропускной способностью всего 128 кбит/с. И при установке сразу на несколько ПК возникает проблемы скачивания новых пакетов. Мучался я мучался и решил обзавестить своим локальным репозиторием. Но весь репозиторий Ubuntu выкачать практически невозможно, он огромен. Тем более с нашей скоростью.)) Поэтому я решил сразу, что репозиторий будет состоять только из тех пакетов, которые действительно необходимы. Прочитав несколько статей я выбрал для себя apt-cacher. Чем он хорош? Да тем, что он кеширует в отдельной папке только те пакеты, которые были востребованы, хотя бы единожды. Ну обо всем попорядку:

 

1. Сразу скажу, что для работы этого пакета (демона) необходим установленный apache (web сервер). Если он не установлен, то устанавливаем:

sudo apt-get install apache2

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

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

sudo apt-get install apt-cacher

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

cd / - переход в корневой каталог;
sudo mkdir rep - здесь создаем каталог с именем rep;
sudo chown www-data:www-data /rep - выставляем права доступа этому каталогу на запись;

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

sudo nano /etc/apt-cacher/apt-cacher.conf - открытие конфигурационного файла;
Ниже представлен конфиг настроенного у меня apt-cacher:
cache_dir=/rep #директория которую мы создали и в котрой будет храниться кэш.
admin_email=root@localhost # электронная почта администратора :)
daemon_port=9999 #порт на котором будет висеть наш apt-cacher
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 #папка в которой будут храниться логи доступа к 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/ ;
#Самый интересный параметр. Настройка зеркал обновления, т.е. Откуда будут браться пакеты и
обновления.

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

Читать также  Русификация qutIM, установка смайлов и звуков от QIP
 sudo nano /etc/default/apt-cacher
и исправляем там AUTOSTART=0 на AUTOSTART=1

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

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

7. Если все прошло гладко, то мы сможем это пронаблюдать это на странице http://localhost:9999/ там должна появится информация о нашем сервере.

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

sudo nano /etc/apt/sources.list
В этом конфигурационном файле, нам необходимо закоментировать символом # все строчки и добавить
новую:
deb http://localhost:9999/ubuntu lucid multiverse restricted main universe
Где localhost это сервер, на котором установлен и запущен этот демон. А lucid - кодовое имя
операционной системы.

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

+ There are no comments

Add yours