Локальный репозиторий на DVD

У меня репы от полностью установленной системы занимают менее 2 гигов. Если качать все без разбора – 16-гиговая флешка, стоит она где-то 1200 рупий.
Говорила мама: "RTFM, сынок!"
vadik
Слейте потом все содержимое на жестий и пропишите пути в pacman.conf, в чем проблема?

да никто же не говорит что записать на диск невозможно _для_переноса_данных_, мы тут с ним впились - как не копировать, т.е. записал диски, а при запросе - нужный вставил, оно от туда слило.

У меня идеи были, но как-то за ненадобностью все время отпадали, основная сводилась - данные разбиваются по объему, генерится небольшая текстовая база: репа, файл, диск. На первый диск ложатся все метаданные репов (repo.db.tar.gz которая). Там же на первый диск ложится пакетик со скриптом-враппером, типа pacman-cd. На диск в корень помимо самих данных записывается файлик с номером диска, номером релиза (дабы путаницы не было). Ну и все как бы это сводится воедино.

Скоро возможно будут проблемы с интернетом дома, так что вполне возможно таки реализую такую схему.
systemd должен умереть.
Особо этим вопросом не занимался, но на убунтовском форуме нашел такое решение, кажется именно наш случай. Возможно его и получиться как-то приспособить под арч.
Доброго всем времени суток. Очередной вопрос про локальный репозиторий:

Есть внешний винт, на нем есть:
/
./core
../os
…/i686
./extra
../os
…/i686
./communty
../os
…/i686

делаю так:

#mount /dev/sdc1 /mnt/usb
#vim pacman.conf
[core]
Server = file:///mnt/usb/core/os/i686
[extra]
Server = file:///mnt/usb/extra/os/i686
[community]
Server = file:///mnt/usb/community/os/i686

#pacman -Sy
выполняется без проблем. core, extra, community обновляет из указанных репозиториев

#pacman -Su
не дает выполнить, ссылаясь на недоступность пакетов

#pacman -S sudo
то же самое, ссылается на недоступность пакетов в хранилище

#pacman -U /mnt/usb/core/os/i686/sudo-1.8.0-4-i686.pkg.tar.xz/sudo-1.8.0-4-i686.pkg.tar.xz
выполняет без проблем

суть проблемы:
есть сервер без доступа в интернет. хотелось бы его обновить до актуального состояния с внешнего носителя. как правильно это выполнить? repo-add создает файлы базы данных пакетов, но пакеты не обрабатывает, ссылаясь на невозможность распаковать пакет. что я делаю не так?

заранее спасибо.
Создаете индексы пакетов
cd /mnt/usb/core/os/i686
repo-add /mnt/usb/core/os/i686/core.db.tar.gz /mnt/usb/core/os/i686/*.pkg.tar.*
для остальных репозиториев по такой же схеме.
Затем
pacman -Syu
Пердложат обновить пакман. Соглашаетесь. После обновления пакмана
pacman-db-upgrade
pacman -Syu
Естественно все должно быть смонтировано заранее.
не получается таким образом создать файл БД. то есть файл то создается, но пакеты туда не добавляются. repo-add возвращает следующий вывод:

==> ERROR: File '/mnt/usb/core/os/i686/zlib-1.2.5-3-i686.pkg.tar.xz' not found.
==> Creating updated database file '/mnt/usb/core/os/i686/core.db.tar.gz'

хотя
# ls zlib*
zlib-1.2.5-3-i686.pkg.tar.xz

и так на все пакеты в директории.
Так, описывайте подробнее и с выводами команд - что, где и в какой последовательности делаете (начиная с момента монтирования усб).
ОК.

Скачал с ftp://mirror.yandex.ru/archlinux/ ветки /core /extra и /community, залил их на внешний винт.

Монтирую диск:

#ntfs-3g /dev/sdc1 /mnt/usb

перехожу туда, где хочу *.tar.db.gz создать:

#cd /mnt/usb/core/os/i686
#pwd
/mnt/usb/core/os/i686
#repo-add /mnt/usb/core/os/i686/core.db.tar.gz /mnt/usb/core/os/i686/*.pkg.tar.*

затем вываливается куча алертов. две последние строки привожу, остальные приводить смысла нет, т.к. они выглядят одинаково:

==> ERROR: File '/mnt/usb/core/os/i686/zlib-1.2.5-3-i686.pkg.tar.xz' not found.
==> Creating updated database file '/mnt/usb/core/os/i686/core.db.tar.gz'

хотя все перечисленные пакеты в папке пристуствуют и принудительно через pacman -U устанавливаются.
но обнаруживается какая-то проблема с архиватором, т.к.

# pacman -U wget-1.12-5-i686.pkg.tar.xz
loading package data...
error: error while reading package wget-1.12-5-i686.pkg.tar.xz: Unrecognized archive format
error: 'wget-1.12-5-i686.pkg.tar.xz': libarchive error

устанавливается только так:

# pacman -U wget-1.12-5-i686.pkg.tar.xz/wget-1.12-5-i686.pkg.tar.xz
loading package data...
checking dependencies...
(1/1) checking for file conflicts                   [#####################] 100%
(1/1) upgrading wget                                [#####################] 100%
#
Внешний носитель флэшка? Запись на нее доступна? После создания индекса пакетов (repo-add) в соответствующих папках появляются файлы core.db.tar.gz, extra.db.tar.gz и т.д.? Перед установкой пакетов pacman -Syy, pacman -Syu делали? Почему
pacman -U wget-1.12-5-i686.pkg.tar.xz/wget-1.12-5-i686.pkg.tar.xz
а не
pacman -U wget-1.12-5-i686.pkg.tar.xz
??
Почему
pacman -U wget-1.12-5-i686.pkg.tar.xz/wget-1.12-5-i686.pkg.tar.xz

как на ftp://mirror.yandex.ru/archlinux/core/os/i686 лежало, так и скачал. как-то иначе нужно?

pacman -Sy делал. pacman -Syu не дает сделать, ссылаясь на недоступность пакетов.
 
Зарегистрироваться или войдите чтобы оставить сообщение.