Локальный репозитарий
Модератор: Модераторы разделов
-
- Бывший модератор
- Сообщения: 2062
- Статус: No Place for RTFM Here…
- ОС: Mac OS X
Локальный репозитарий
Вобщем, есть система прошедшая кучу обновлений и, соответственно, нежелание выкачивать обновления из инета на другой машине. Читал доки на Wiki дистрибутива и форуме BBS. Решений так и не нашёл. В мане есть только создание локального репозитария используя собранные пакеты из портов. Моей же целью является, грубо говоря, сделать файл myrepo.db.tar.gz имея при этом всё необходимое в /var/cache/pacman/pkg и /var/lib/pacman. Пробовал банально ложить в архив содержимое /var/lib/pacman/local - результатов не дало. Кто сталкивался, подскажите.
-
- Сообщения: 844
- Статус: ARCH'еноид
- ОС: Arch Linux current
Re: Локальный репозитарий
Код: Выделить всё
If you have a directory with a lot of packages (current/extra/testing/selfbuild/etc) and you want to include them into one repository.
(I needed to rebuild install CD to put everything I need for a custom installation on a computer without internet connection). You can generate current.db.tar.gz from that directory by using a small script (not very elegant but works)
Пойдет??
Тогда здесь: http://wiki.archlinux.org/index.php/Custom...ABS_and_gensync
А еще можно обновлять по локалке: http://wiki.archlinux.org/index.php/Howto_...ia_Home_Network
-
- Бывший модератор
- Сообщения: 2062
- Статус: No Place for RTFM Here…
- ОС: Mac OS X
Re: Локальный репозитарий
Код: Выделить всё
You can generate current.db.tar.gz from that directory by using a small script
Пытался использовать я скрипты с этого WiKi. Они не работают. А так как они написаны на пёрле и питоне разобраться в чём там дело не смог. gensync же используется когда есть PKGBUILD для пакетов. То есть собирал ты из портов кучу софта и вдруг возникла необходимость закинуть это всё на болванку в виде custom репозитария. И ещё, я уже говорил:
(CnupT @ Aug 14 2006, в 23:03) писал(а):Читал доки на Wiki дистрибутива и форуме BBS.
У меня же ситуация такая что есть только:
(CnupT @ Aug 14 2006, в 23:03) писал(а):/var/cache/pacman/pkg и /var/lib/pacman
Нужно сгенерировать *.db.tar.gz. И всё. Вопрос только в том как это сделать. Смотрел содержимое db файлов других репозитариев и ничего особенного там не видел. Просто архив папок, которые распаковываются в /var/lib/pacman. Почему же тогда не помогает архивирование /var/lib/pacman/local в файл *.db.tar.gz... не знаю.
-
- Сообщения: 729
- Статус: Самовлюблённый сноб
- ОС: archlinux i686-current
Re: Локальный репозитарий
Я использовал скрипт на Перле, всё работает. На двух машинах. А что пишет? Файл должен находиться в /tmp. Скрипт желательно положить так, чтобы он и директория с пакетами лежали в одной директории (надеюсь, понятно объяснил).
-
- Сообщения: 729
- Статус: Самовлюблённый сноб
- ОС: archlinux i686-current
Re: Локальный репозитарий
Кстати, имя файла должно совпадать с указанным в pacman.conf репозиторием. Может, в этом проблема?
-
- Бывший модератор
- Сообщения: 2062
- Статус: No Place for RTFM Here…
- ОС: Mac OS X
Re: Локальный репозитарий
(cheer @ Aug 16 2006, в 13:32) писал(а):Кстати, имя файла должно совпадать с указанным в pacman.conf репозиторием.
Каким ещё репозитарием? Пакеты ставились со всех репозитариев. Пример: pacman -S _пакет_, качается пакет и летит в директорию /var/cache/pacman/pkg, инфа о пакете копируется из папки /var/lib/pacman/_имя_репозитария_ в /var/lib/pacman/local, затем пакет распаковывается, гробо говоря. Схема примерно такая. О каком име репозитария тогда Вы говорите?
Далее, пытаюсь сделать всё по Вашей схеме:
1.Создал скрипт с именем "local"
2.Копирую в директорию /tmp.
3.Копирую в директорию /tmp каталог с пакетами, находящийся в /var/cache/pacman/pkg.
4.Запускаю скрипт:
Код: Выделить всё
[cnupt@linux ~]$ ./local
Usage: create_pkgdb <DIR>
[cnupt@linux ~]$
Вывод. Судя по всему скрипт не знает что папка pkg это и есть датабаза которую надо генерировать. Вопрос - какие манипуляции надо делать в скрипте?
-
- Сообщения: 729
- Статус: Самовлюблённый сноб
- ОС: archlinux i686-current
Re: Локальный репозитарий
Так написано же - так понятнее? В результате будет сгенерирован custom.db.tar.gz, а для установки пакетов в pacman.conf должна быть строчка типа такой:
То есть в вашем примере надо запустить скрипт так (если скрипт и каталог pkg лежат в /tmp):Потом можно перенести куда угодно весь локальный репозиторий, главное - скопировать в каталог с пакетами файл /tmp/pkgdb/custom.db.tar.gz и написать вышеуказанные строчки в pacman.conf
Код: Выделить всё
./local <DIR_NAME>
Код: Выделить всё
[custom]
Server = file:///home/arch/packages
То есть в вашем примере надо запустить скрипт так (если скрипт и каталог pkg лежат в /tmp):
Код: Выделить всё
./local pkg
-
- Бывший модератор
- Сообщения: 2062
- Статус: No Place for RTFM Here…
- ОС: Mac OS X