Переносные репозитории linux'а


Дата: 18 сентября 2010


Самоучитель создания портативной локальной версии репозиториев популярных дистрибутивов.




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

Итак, приступим для начала к репозиториям Ubuntu:

1)sudo apt-get install apt-mirror (утилита, которая упрощает жизнь)
2)Переходим к конфигурации apt-mirror
sudo gedit /etc/apt/mirror.list
находим строку set base_path и указываем на предпочитаемый нами путь, например /media/rep/mirrors/ubuntu
3)запускаем apt-mirror
sudo apt-mirror
Все, процесс пошел, придется долго ждать окончания, так что обычно ставлю на ночь.
P.S. автообновления делаются через crontab (читайте man crontab).

Теперь очередь дошла до Fedora:

1)Нам понадобится программа createrepo, поэтому
# yum install createrepo
2)Создаем папку, например, /media/rep/mirrors/fedora
3)Теперь используем известный rsync
# rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/13/Everything/i386/os/Packages/ /media/rep/mirrors/fedora
(для поиска более подходящего для вас зеркала зайдите сюда, найдите зеркало, поддерживающее rsync)
4)После завершения загрузки пакетов, запустите createrepo
createrepo /media/rep/mirrors/fedora

Для того, чтобы наш дистрибутив обращался за установкой и обновлениями к нашему репозиторию, ставим apache, или любой другой web-server

1)yum install apache
sudo apt-get install apache
2)Переходим к созданию символьных линков, например,
ln -s /media/rep/mirrors/fedora /var/www/distro/
3)Осталось заставить update managers использовать именно наш репозиторий.

Для Ubuntu:
sudo gedit /etc/apt/sources.list
и добавляем строчки с нашими данными
deb http://localhost/var/www/ubuntu/ lucid universe
deb http://localhost/var/www/ubuntu/ lucid main restricted
deb http://localhost/var/www/ubuntu/ lucid multiverse


Для Fedora:
# gedit /etc/yum.conf
и после абзаца
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d


Добавляем:
[updates-local]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=http://localhost/yum/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=0


Вот и все, теперь у нас есть постоянный переносной репозиторий!

//xenos88

Комментарии:
Автор: zp,   дата: 19 сентября 2010   01:57:56
Блин, как же все сложно. Как хорошо, что у меня Suse - пару кликов "хвостатой" и все добавлено. Yast - лучший:)))
Автор: аноним,   дата: 19 сентября 2010   09:05:49
Только глючит непомерно, как и сама сузя
Автор: аноним,   дата: 19 сентября 2010   09:06:17
Сложно только у тебя в голове, а так все логично и просто
Автор: andrey,   дата: 19 сентября 2010   10:19:21
не обязательно ставить апач для этого дела. Можно задать урл вида "file:///path/to/repo"
(три слеша обязательны)
Автор: Имя,   дата: 19 сентября 2010   12:53:32
Обещали улучшица же. А сами гоните идиотизм про апач.
+1 andrey
Автор: xenos88,   дата: 19 сентября 2010   13:36:32
@Имя "ставим apache, или любой другой web-server"-таким образом доступ к серверу будет у всей подсети!
И чем вас Apache не устраивает?
Автор: andrey,   дата: 20 сентября 2010   11:11:33
to xenos88
А нафига мне качать с чьего-то локального репозитария? У него доступность 24х7? Из всего интернета? Пакеты не модифицированные? Или пару бекдоров закинули?
Автор: xenos88,   дата: 20 сентября 2010   15:13:24
2Andrey,читац внимательно вступление статьи!!! а про file;/// заколебешься ставить на кажды файл, так как ни yum, ни synaptic и другие менеджеры не поддерживают этого!
Автор: Andrey,   дата: 24 сентября 2010   07:08:44
Извините, но это "тушите свет"!
file: как и http: и ftp: являются стандартными URI.
Мне кажется synaptic/aptitude/apt используют один список репозитариев. Я не прав?
Я поднимал зеркало для redhat и ubuntu и всегда использовал file:///
Посмотри man 5 yum и ищи параметр baseurl.
Если уж указали на недочёт, то надо сказать спасибо, а не пытаться выкрутиться.

"Ставить на каждый файл" - этого я не понял.
Автор: xenos88,   дата: 26 сентября 2010   02:33:46
2Andrey, надоест добавлять каждый файл и высчитывать dependency вручную ;)
Автор: Andrey,   дата: 27 сентября 2010   06:44:03
Похоже мы не понимаем друг друга :)
Надо всего лишь исправить список репозитариев в системе и написать 'file:///' вместо 'http://'.
Автор: xenos88,   дата: 27 сентября 2010   14:12:49
2Andrey, все, уловил, спасибо за исправление. Че-то заработался в последнее время)))




 
Добавить комментарий:
Имя: *
e-mail:
Комментарий: *
Введите число 31: *


Архив статей:
Май 2017
Март 2017
Апрель 2016
Март 2016
Октябрь 2013
Сентябрь 2013
Май 2013
Март 2013
Ноябрь 2012
Июль 2012
Июнь 2012
Апрель 2012
Март 2012
Февраль 2012
Апрель 2011
Март 2011
Февраль 2011
Январь 2011
Декабрь 2010
Ноябрь 2010
Октябрь 2010
Сентябрь 2010
Август 2010
Июль 2010
Июнь 2010
Май 2010
Апрель 2010
Март 2010

Случайные:
IMAX: технический обзор «маркетингового» киноформата

Книги о Linux - Часть 6 "UNIX" (12 книг)

Узнаём текущую частоту процессора в Linux

Подключаемся к чату Gmail через Jabber

K3b vs NeroLinux 4 или чем писать CD,DVD,Blu-ray в linux

Книги о Linux - Часть 1 "Большие справочники на обширные темы" (6 книг)





Коллеги:    все
 Linux для всех

Наши баннеры:
linuxnow.ru
linuxnow.ru
Установить баннер