Создание локального репозитория Debian

07 Апреля 2007 19:44 ::: Просмотров 14383 ::: Комментариев 2

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

Для осуществления мечты нужен sudo apt-get install apt-mirror. Поразмыслив, для репозитория (и других могущих появится одиночных пакетов) выделил отдельный раздел (назвал просто - arhif) размером 20 Гб, в нем создал папку repo. Правим конфиг apt-mirror`a - /etc/apt/mirror.list, где указываем для моего случая:

set mirror_path /arhif/repo/
set defaultarch i386
set _tilde 0
deb http://debian.bashtel.ru/apt-cacher/ftp.debian.org/ etch main contrib
clean http://debian.bashtel.ru/apt-cacher/ftp.debian.org/

Сие действие нужно проводить внимательно, ибо я долго не мог понять, почему в репо копится много старых пакетов, а apt-mirror упорно сообщает что удалять нечего.

После первого запуска apt-mirror создал структуру папок, аналогичных натуральному :) репозиторию, и радостно сообщил, что качать осталось 12Гб с копейками. Это меня не обрадовало, поэтому, применив дедуктивный метод, сделал следующее - скопировал содержимое папок pool с трех имеющихся у меня дисков Debian Etch в соотвествующее место своего архива. Запускаем еще раз apt-mirror и видим, что качать нужно всего-то 800 метров с копейками. Настраиваем Synaptic или sources.list на наш локальный репозиторий, и радуемся быстрому обновлению и установке новых пакетов.

Этот способ безупречно работает уже месяц. Еженедельный размер обновлений составил около 600Мб. Единственный минус - после очередного apt-get upgrade перестал запускаться мой любимый браузер Опера, ругаясь на libjvm.so, libawt.so и Segmentation Fault (любимая ошибка линукс? часто мне встречается). Приходится печально юзать Iceweasel. Но это мелочи жизни по сравнению с проделанной работой и радужными перспективами. Для примера - на работе в порыве душевной слабости и с лучшими намерениями разрешил двум серверам (Windows 2003) обновляться из инета. Результат - регулярное падение в синий экран смерти, хотя до этого с год все работало без особых проблем.

Собственно, может быть для дома все это и не нужно, но я втайне надеюсь, что мой репозиторий может пригодится еще кому-нибудь. Не у всех есть интернет. И интересно, сколько весит репозиторий Ubuntu? :)

Возврат к списку