Почему не скачиваются пакеты из локального репозитория?

Knoppix

Модераторы: Warderer, Модераторы разделов

Аватара пользователя
жучара
Сообщения: 507
ОС: астралинукс

Почему не скачиваются пакеты из локального репозитория?

Сообщение жучара »

Друзья! Я сделал пакет heh лишь бы был. Исходники и *.deb файл пихаю в репозиторий.

Репозиторий делал так (с помощью команды reprepro)
https://wiki.debian.org/ru/CreateLocalRepo

Вот так я делал пакет:

Shell

mkdir heh-1
tar -czf heh-1.tar.gz heh-1
cd heh-1
debmake
#Тут в debian/control вместо "Section: unknown" пишем "Section: main"
sed -i "/^Section: unknown$/s/.*.*/Section: main/" debian/control
cd ..
dpkg-source -b heh-1
cd heh-1
fakeroot debian/rules binary
cd ..
Без ошибок вроде.

Потом вот так пихаю пакет в репозиторий:

Shell

reprepro -b ~/repoz includedeb mydist heh_1-1_amd64.deb
reprepro -b ~/repoz includedsc mydist heh_1-1.dsc
Вроде без ошибок.

Собсно скачивание исходников:

Shell

$ apt-get source -d heh
Чтение списков пакетов… Готово
Необходимо получить 0 б/5 090 б архивов исходного кода.
ВНИМАНИЕ: Следующие пакеты невозможно аутентифицировать!
heh
E: Некоторые пакеты невозможно аутентифицировать
$ ls
*.deb файл тоже не скачивается:

Shell

$ sudo apt-get install -d heh
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
НОВЫЕ пакеты, которые будут установлены:
heh
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 0 B/1 530 B архивов.
После данной операции, объём занятого дискового пространства возрастёт на 9 216 B.
ВНИМАНИЕ: Следующие пакеты невозможно аутентифицировать!
heh
Установить эти пакеты без проверки? [д/Н] д
Пол:1 file:/home/user/repoz mydist/main amd64 heh amd64 1-1 [1 530 B]
Указан режим «только скачивание», и скачивание завершено
$
$
$ ls /var/cache/apt/archives | grep heh
$
Если информации мало, готов тык скыть уточнить. Астралинукс Орёл 2.12 Спасибо, кто откликнется.
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4408
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Почему не скачиваются пакеты из локального репозитория?

Сообщение Rootlexx »

sources.list не показали.

Ну смотрите: вы можете либо подписать репозиторий своим ключом, либо добавить [trusted=yes] для данного репозитория, чтобы пропустить для него проверку подлинности.
*.deb файл тоже не скачивается
Скорее всего, потому что он локальный, и потому в этом нет необходимости:
Необходимо скачать 0 B/1 530 B архивов.
Спасибо сказали:

Аватара пользователя
жучара
Сообщения: 507
ОС: астралинукс

Re: Почему не скачиваются пакеты из локального репозитория?

Сообщение жучара »

Rootlexx мне нужно, чтобы я мог закидывать пакеты в репозиторий и чтобы в отношении их я мог выполнять команды apt-get source -d heh и sudo apt-get install -d heh

Тогда я сделал локальный сервер сайт короче, чё-то сделал:
https://losst.ru/ustanovka-lamp-ubuntu-16-04

И запускаю его: sudo systemctl start apache2. Вот где находится папка repoz репозитория

Shell

$ cat /etc/apt/sources.list
deb http://localhost/repoz/ myorel main
deb-src http://localhost/repoz/ myorel main
$
Теперь скачивается только *.deb файл:

Shell

$ ls /var/cache/apt/archives/heh_1-1_amd64.deb
ls: невозможно получить доступ к '/var/cache/apt/archives/heh_1-1_amd64.deb': Нет такого файла или каталога
$
$
$ sudo apt-get install -d heh
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
astra-nochmodx-module-4.15.3-1-generic astra-nochmodx-module-4.15.3-1-hardened easypaint libcmis-0.5-5v5 libmicrodns0 qslider
Для их удаления используйте «sudo apt autoremove».
НОВЫЕ пакеты, которые будут установлены:
heh
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 2 138 Б архивов.
После данной операции, объём занятого дискового пространства возрастёт на 10,2 kB.
ВНИМАНИЕ: Следующие пакеты невозможно аутентифицировать!
heh
Установить эти пакеты без проверки? [д/Н] д
Пол:1 http://localhost/repoz myorel/main amd64 heh amd64 1-1 [2 138 B]
Получено 2 138 Б за 0с (0 Б/c)
Указан режим «только скачивание», и скачивание завершено
$
$ ls -l /var/cache/apt/archives/heh_1-1_amd64.deb
-rw-r--r-- 1 root root 2138 май 14 14:04 /var/cache/apt/archives/heh_1-1_amd64.deb
$
А сырцы всё равно не скачиваются:

Shell

$ apt-get source -d heh
Чтение списков пакетов… Готово
Необходимо получить 8 613 б архивов исходного кода.
ВНИМАНИЕ: Следующие пакеты невозможно аутентифицировать!
heh
E: Некоторые пакеты невозможно аутентифицировать
$
$ ls
$
Offtopic
На счёт trusted=yes я не понял, это необходимо для скачивания, или это просто чтобы предупреждающая надпись не мельтешила? Просто у меня не получается trusted=yes воткнуть, куда надо, sources.list не распознаётся корректно, поэтому если trusted=yes не необходимо, тогда пока пропустим это дело.
Вот дерево репозитория, видно, что сырцы там присутствуют:
дерево репозитория
tree repoz/
repoz/
├── conf
│   └── distributions
├── db
│   ├── checksums.db
│   ├── contents.cache.db
│   ├── packages.db
│   ├── references.db
│   ├── release.caches.db
│   └── version
├── dists
│   ├── myorel
│   │   ├── Contents-amd64 -> main/Contents-amd64
│   │   ├── Contents-amd64.bz2 -> main/Contents-amd64.bz2
│   │   ├── Contents-amd64.gz -> main/Contents-amd64.gz
│   │   ├── main
│   │   │   ├── binary-amd64
│   │   │   │   ├── Packages
│   │   │   │   ├── Packages.bz2
│   │   │   │   ├── Packages.gz
│   │   │   │   └── Release
│   │   │   ├── Contents-amd64
│   │   │   ├── Contents-amd64.bz2
│   │   │   ├── Contents-amd64.gz
│   │   │   └── source
│   │   │   ├── Release
│   │   │   ├── Sources
│   │   │   ├── Sources.bz2
│   │   │   └── Sources.gz
│   │   └── Release
│   └── stable -> myorel
└── pool
└── main
└── h
└── heh
├── heh_1-1_amd64.deb
├── heh_1-1.debian.tar.xz
├── heh_1-1.dsc
└── heh_1.orig.tar.gz

12 directories, 26 files
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4408
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Почему не скачиваются пакеты из локального репозитория?

Сообщение Rootlexx »

жучара писал(а):
14.05.2020 13:23
На счёт trusted=yes я не понял, это необходимо для скачивания, или это просто чтобы предупреждающая надпись не мельтешила? Просто у меня не получается trusted=yes воткнуть, куда надо, sources.list не распознаётся корректно
Это необходимо для пропуска аутентификации пакетов. Если без этого не скачивается - очевидно, необходимо.

Код: Выделить всё

deb [trusted=yes] http://localhost/repoz/ myorel main
deb-src [trusted=yes] http://localhost/repoz/ myorel main
Спасибо сказали:

Аватара пользователя
жучара
Сообщения: 507
ОС: астралинукс

Re: Почему не скачиваются пакеты из локального репозитория?

Сообщение жучара »

Rootlexx, я также делал, только без квадратных скобок. Значит, нужно делать так:
Rootlexx писал:
14.05.2020 13:33
deb [trusted=yes] http://localhost/repoz/ myorel main
deb-src [trusted=yes] http://localhost/repoz/ myorel main
1) Если репозиторий будет просто папка, тогда *.deb всё равно не скачивается (а скачиваются только сырцы)
2) А если использовать локальный сервер (localhost), то всё скачивается. Значит, нужно использовать localhost. Казалось бы.

Но дело в том, что я делаю
debootstrap orel $1 http://mirror.yandex.ru/astra/stable/orel/repository я не знаю как это назвать, ось в оси, что ли. Потом захожу туда и там работаю.
sudo chroot foo

А там этот то ли сайт то ли сервер не запускается:

Shell

$ sudo systemctl start apache2
Failed to connect to bus: Нет такого файла или каталога
Установка dbus-user-session (зачем-то) не помогает.

То есть теперь либо добивать чтобы запустился этот то ли сайт, то ли сервер, либо извращаться в другом направлении, добиваясь чтобы скачивался *.deb, когда репозиторий- просто папка. Куда идти- не знаю.
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4408
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Почему не скачиваются пакеты из локального репозитория?

Сообщение Rootlexx »

жучара писал(а):
14.05.2020 14:48
1) Если репозиторий будет просто папка, тогда *.deb всё равно не скачивается (а скачиваются только сырцы)
Потому что исходники скачиваются в текущий каталог, а двоичные пакеты - в кеш, в чём нет необходимости, если репозиторий чисто локальный.
жучара писал(а):
14.05.2020 14:48
sudo chroot foo
То, что вы сделали, - простейший контейнер.

Устанавливать их лучше в /var/lib/machines/<имя>. Тогда, установив пакет systemd-container, можно установить пароль root в контейнере: sudo systemd-nspawn -M <имя> passwd - и в дальнейшем запускать его так: sudo systemd-nspawn -bM <имя>. Там уже всё будет работать.
Спасибо сказали:

Аватара пользователя
жучара
Сообщения: 507
ОС: астралинукс

Re: Почему не скачиваются пакеты из локального репозитория?

Сообщение жучара »

Rootlexx, вы знаете, я далёк от всего этого. К сожалению, запуском сервисов в chroot придётся интересоваться специальным образом. Потом.

Пока же решение такое. Подытожим:
1) находимся в chroot. Хрен его знает, что это такое но мы в нём находимся.
2) содержание /etc/apt/sources.list
deb [trusted=yes] http://localhost/repoz/ myorel main
deb-src [trusted=yes] http://localhost/repoz/ myorel main
3) Самое главное. Несколько лёгких пассов руками:

Shell

$ ls
$ repoz
$ python3 -m http.server --cgi
Serving HTTP on 0.0.0.0 port 8000 ...
Теперь скачивание и сырцов и *.deb файла проходит на ура. Такие дела.
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 2983
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Почему не скачиваются пакеты из локального репозитория?

Сообщение Hephaestus »

жучара писал(а):
14.05.2020 22:07
1) находимся в chroot. Хрен его знает, что это такое
Название chroot происходит от change root, в буквальном переводе - "смена корня".
Я полагаю, Вы знакомы со структурой каталогов в linux-системах.
Вспомните, в ОС дерево каталогов идет от "корня" (корневого каталога), обозначаемого символом '/'.
Находясь где-то во вложенном каталоге, можно "подняться на уровень выше вверх", перейдя тем самым в родительский каталог. Продолжая подниматься таким образом, мы рано или поздно окажемся в корневом каталоге. Это самый верхний уровень, выше некуда. И корень в системе ровно один.
Так вот, "сменив корень" мы тем самым попадаем как бы в "другую" систему, поскольку выше корня у нас ничего нет.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
жучара
Сообщения: 507
ОС: астралинукс

Re: Почему не скачиваются пакеты из локального репозитория?

Сообщение жучара »

В дополнение к этому своему сообщению
Re: Почему не скачиваются пакеты из локального репозитория?

Хочу сказать, что моя задача решается и без запуска сервера, то есть проще. Последняя загвоздка, напомню, была в том, что не скачивался *.deb файл. Теперь скачивается.

Shell

$ cat /etc/apt/sources.list
deb [trusted=yes] http://localhost/repoz/ myorel main
deb-src [trusted=yes] http://localhost/repoz/ myorel main
$
Так, а *.deb файл нужно скачивать так apt-get download <имя пакета>

Строго говоря, изначально задача была другая, выполнить команду sudo apt-get install -d <имя пакета>, я почему-то думал, что она оптимальна, чтобы скачать *.deb пакет. Но потом глянул на эту свою тему
Как скачать пакет, но не устанавливать его?

И понял, что нужно использовать apt-get download <имя пакета>
Я просто читаю маны.
Спасибо сказали:

Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4408
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Почему не скачиваются пакеты из локального репозитория?

Сообщение Rootlexx »

Это разные команды. apt download скачивает лишь сам пакет, в то время как apt -d install - также и недостающие зависимости.
Спасибо сказали: