сборка локального репозитория

Автор Евгения, 16 марта 2020, 20:55:57

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Евгения

Очень прошу помощи.
Собираю с помощью reprepro локальный репозиторий пакетов debian:
(/home/builduser/ - домашняя директория
  /home/builduser/reprepro/ - директория с локальным репозиторием)

1. удаляю существующие schroot и apt-cacher-ng:

sudo рм -рф /etc/schroot/chroot.d/buster-amd64-sbuild-* /etc/sbuild/chroot/buster-amd64-sbuild*
sudo рм -рф /srv/chroot/buster-amd64-sbuild
sudo apt-get purge -y apt-cacher-ng

2. устанавливаю apt-cacher-ng, формирую корневую директорию chroot, затем собираю любой пакет (sl в данном случае):
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -q apt-cacher-ng
sudo sbuild-createchroot buster /srv/chroot/buster-amd64-sbuild http://localhost:3142/ftp.us.debian.org/debian

sudo sbuild-adduser builduser
sbuild -d buster-amd64-sbuild --host=mips sl

3. настраиваю локальный репозиторий:

REPO=/home/builduser/reprepro
sudo apt-get install -y reprepro
sudo рм -рф ${REPO}
mkdir -p ${REPO}/conf

4. установливаю параметры дистрибутива в файле distributions:

cat > ${REPO}/conf/distributions <<EOF
Codename: buster
Suite: stable
Version: 10.0
Origin: Debian
Label: Debian 10.0
Description: Debian Stable Repository
Architectures: mips amd64
Components: main
DebIndices: Packages Release . .gz .bz2
DscIndices: Sources Release . .gz .bz2
Contents: . .gz .bz2
UDebComponents: main
EOF

5. формирую локальный репозиторий по указанной директории:

reprepro -b ${REPO} export
reprepro -b ${REPO} createsymlinks
sudo apt-get install -y apache2
cd /etc/apache2/conf-available

Создать в данной директории конфигурационный файл myconf.conf со следующим содержимым:

<Directory /home/builduser/reprepro>
                 Options Indexes FollowSymLinks
                AllowOverride None
               Require all granted
</Directory>

Alias "/debian" "/home/builduser/reprepro"

Далее:
sudo a2enconf myconf.conf
sudo service apache2 restart
find /var/cache/apt-cacher-ng/debrep -iname '*deb' -print -exec reprepro -b ${REPO} includedeb buster {} ';'

Подключаю локальный репозиторий в sources.list: deb [trusted=yes] file:///home/builduser/reprepro/ buster main
Затем, чтобы сформировать образ корневой файловой системы, как описано в   https://habr.com/en/post/278159/ выполняю:

cd /home/builduser/
sudo debootstrap --foreign --no-check-gpg --arch=mips buster debian-buster-mips file:///home/builduser/reprepro

После этого в директории  debian-buster-mips находятся пакеты, но их гораздо меньше, чем для внешнего репозитория:

sudo debootstrap --foreign --no-check-gpg --arch=mips buster debian-buster-mips2 http://deb.debian.org/debian/

Пыталась подменить Release файлы внутреннего репозитория файлами из внешнего, не помогает.  В чём может быть дело, почему теряются пакеты? (не могу из-за этой проблемы выполнить вторую стадию сборки файловой системы из   https://habr.com/en/post/278159/)


пользуемся тегами! ogost

sidbar

Если пакеты отсутствуют в локальном репозитории, то почему вы удивляетесь что теряются?
Devuan GNU/Linux

Евгения

Но как мне отследить на каком этапе список пакетов ограничивается? Мне нужно, чтобы был аналог внешнего репозитория с достаточным количеством пакетов.

Евгения

#3
У меня даже пакета bash там нет:

builduser@buildhost:~/debian-buster-mips/bin$ ls
debconf               debconf-copydb          debconf-show        select-editor     sensible-pager
debconf-apt-progress  debconf-escape          deb-systemd-helper  sensible-browser
debconf-communicate   debconf-set-selections  deb-systemd-invoke  sensible-editor

ferum

Цитата: Евгения от 16 марта 2020, 20:55:574. установливаю параметры дистрибутива в файле distributions:


Architectures: mips amd64

Так задумано ?
Русские дебианщики против цифрового слабоумия !

Евгения

Да, а что не так? В файле внешнего репозитория http://deb.debian.org/debian/dists/buster/Release указано

Architectures: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x


Евгения

Пожалуйста, подскажите, куда мне двинуться дальше... В ~/debian-buster-mips/debootstrap.log содержится запись об ошибке:

mknod: /home/builduser/debian-buster-mips/dev/null: No such file or directory

не понимаю как поправить, возможно часть пакетов теряется как раз из-за этого.

ferum

Евгения,  Трудно сразу врубиться в тему  но mknod: /home/builduser/debian-buster-mips/dev/null: No such file or directory
По ходу у вас там виртуальная файловая система, а вы её смонтировали?
Ошибка 2 нет пробела перед ftp
sudo sbuild-createchroot buster /srv/chroot/buster-amd64-sbuild http://localhost:3142/ftp.us.debian.org/debian
Ошибка 3 sudo service apache2 restart
sudo systemctl apache2.service
З.Ы. не используйте доперестроечный хабр, есть официальные маны.
Русские дебианщики против цифрового слабоумия !

Евгения

Я создаю локальный репозиторий на выделенной  виртуальной машине, захожу по ssh.

Евгения

В строке

sudo sbuild-createchroot buster /srv/chroot/buster-amd64-sbuild http://localhost:3142/ftp.us.debian.org/debian

не нужен пробел перед ftp, это один адрес: http://localhost:3142/ftp.us.debian.org/debian