Ручное скачивание rpm-пакетов

Ответить
Mad AlexX
Сообщения: 61
Зарегистрирован: 16 окт 2014, 14:49
Operating system: Rosa, OpenSuse

Ручное скачивание rpm-пакетов

Сообщение Mad AlexX » 19 авг 2022, 10:31

Постоянный доступ к интернету - это очень удобно, но не во всех случаях возможно. Например, возникла необходимость установить докер на Rosa-12.2 не имеющей выхода в интернет. Предполагаю, что пакеты можно найти в подкаталогах http://mirror.rosalab.ru/rosa/rosa2021.1/repository/, полный список которых перечислен в файлах в /etc/yum.repos.d

Скачал и переслал на компьютер с росой http://mirror.rosalab.ru/rosa/rosa2021. ... x86_64.rpm. При установке он запросил ещё несколько пакетов:

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

rpm -Uvh docker-20.10.17-1-rosa2021.1.x86_64.rpm
ошибка: Неудовлетворенные зависимости:
        containerd нужен для docker-1:20.10.17-1.x86_64
        crun нужен для docker-1:20.10.17-1.x86_64
        nftables нужен для docker-1:20.10.17-1.x86_64
Скачиваю от туда же
  • containerd-1.6.4-1-rosa2021.1.x86_64.rpm
  • crun-1.4.2-1-rosa2021.1.x86_64.rpm
  • nftables-1.0.3-1-rosa2021.1.x86_64.rpm
Но теперь при установке запрашиваются другие пакеты, которые уже непонятно как найти:

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

rpm -Uvh *.rpm
ошибка: Неудовлетворенные зависимости:
        libyajl.so.2()(64bit) нужен для crun-1.4.2-1.x86_64
        libnftables.so.1()(64bit) нужен для nftables-1.0.3-1.x86_64
        libnftables.so.1(LIBNFTABLES_1)(64bit) нужен для nftables-1.0.3-1.x86_64
        libnftables.so.1(LIBNFTABLES_2)(64bit) нужен для nftables-1.0.3-1.x86_64
        libnftables.so.1(LIBNFTABLES_3)(64bit) нужен для nftables-1.0.3-1.x86_64
Есть какой-то способ скачать все зависимости для последующей offline-установки?

va9(2)
Сообщения: 796
Зарегистрирован: 20 окт 2015, 08:06
Operating system: RF.KDE5.2021.1.x86_64

Ручное скачивание rpm-пакетов

Сообщение va9(2) » 19 авг 2022, 11:03

Mad AlexX писал(а):
19 авг 2022, 10:31
Есть какой-то способ скачать все зависимости для последующей offline-установки?
Этот можно попробовать:

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

$ sudo dnf install --downloadonly --downloaddir ~/pkgs package
Mad AlexX писал(а):
19 авг 2022, 10:31
при установке запрашиваются другие пакеты, которые уже непонятно как найти:

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

$ dnf provides libyajl.so.2
libyajl2-2.1.0-1.i686 : Yet Another JSON Library

Репозиторий        : mirror-rosa-i686-main
Совпадения с:
Предоставьте    : libyajl.so.2


$ dnf provides libnftables.so.1
libnftables1-1.0.3-1.i686 : Netfilter Tables userspace utillites

Репозиторий        : mirror-rosa-i686-main
Совпадения с:
Предоставьте    : libnftables.so.1
$ - команда должна быть выполнена от имени непривилегированного пользователя,
# - команда должна быть выполнена от имени суперпользователя.

nickm
Сообщения: 313
Зарегистрирован: 31 май 2016, 07:08
Operating system: ROSA Fresh 2023.1

Ручное скачивание rpm-пакетов

Сообщение nickm » 19 авг 2022, 11:59

va9(2) писал(а):
19 авг 2022, 11:03
$ dnf provides libyajl.so.2
libyajl2-2.1.0-1.i686 : Yet Another JSON Library

Репозиторий : mirror-rosa-i686-main
Совпадения с:
Предоставьте : libyajl.so.2
Только следует не забывать, что 64-разрядные библиотеки, это lib64:

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

$ dnf repoquery -l lib64nftables1
Последняя проверка окончания срока действия метаданных: 2:34:57 назад, Пт 19 авг 2022 11:22:28.
/usr/lib64/libnftables.so.1
/usr/lib64/libnftables.so.1.1.0

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

$ dnf repoquery -l lib64yajl2
Последняя проверка окончания срока действия метаданных: 2:36:09 назад, Пт 19 авг 2022 11:22:28.
/usr/lib64/libyajl.so.2
/usr/lib64/libyajl.so.2.1.0

Mad AlexX
Сообщения: 61
Зарегистрирован: 16 окт 2014, 14:49
Operating system: Rosa, OpenSuse

Ручное скачивание rpm-пакетов

Сообщение Mad AlexX » 19 авг 2022, 16:03

Спасибо. Как-то не заметил параметр --downloadonly для dnf. В OpenSuse всё время пользовался "zypper install --download-only", чтобы переносить установочные пакеты на сервер не имеющий выход в интернет.
Также понял, почему не нашёл библиотеки - я их без lib64 в начале имени искал.

И с помощью докера на компьютере имеющем выход в интернет применил такой способ:
docker run -it -v ${PWD}/data:/data rosalab/rosa2021.1 /bin/bash
и дальше, зайдя в контейнер, выполнял уже команду которую написал va9(2):
dnf install --downloadonly --downloaddir /data nginx

Только хотелось бы знать, https://hub.docker.com/r/rosalab/rosa2021.1 - это официальный докер образ Росы? Весной уже спрашивал про докер-образ https://forum.rosalinux.ru/viewtopic.php?f=58&t=10532, но тогда никто не ответил.

Аватара пользователя
algri14
Сообщения: 240
Зарегистрирован: 24 янв 2020, 16:47
Operating system: Mageia 8x86_64-KDE:
ROSA.FRESH.PLASMA5.12.3.x86_64
Откуда: г.Воронеж

Ручное скачивание rpm-пакетов

Сообщение algri14 » 19 авг 2022, 19:00

Mad AlexX, вообще-то можно скачать полностью всё репо к себе на жёсткий диск с помощью filezilla , не знаю как Роса, а репозитории Mageia-3 (сейчас уже 8-я) весили более 60Гб, с хорошим инетом качал всю ночь.

Survolog
Сообщения: 367
Зарегистрирован: 30 авг 2016, 22:30
Operating system: ROSA Fresh
Писать в Телеграм или ВК.

Ручное скачивание rpm-пакетов

Сообщение Survolog » 20 авг 2022, 11:01

Можно ещё так:

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

$ dnf rq --whatprovides "libyajl.so.2()(64bit)"
...
lib64yajl2-0:2.1.0-1.x86_64
Кавычки нужны против скобок.
По-моему, наиболее точный способ.

dnf reposync - скачивание репозитория.

Аватара пользователя
VictorR2007
Сообщения: 7251
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

Ручное скачивание rpm-пакетов

Сообщение VictorR2007 » 20 авг 2022, 12:00

Mad AlexX писал(а):
19 авг 2022, 10:31
Есть какой-то способ скачать все зависимости для последующей offline-установки?
Ну можно сделать локальное зеркало.
Приложу скрипт для создания зеркала.
После запуска командой
sh rosa_mirror_script_x86_64.sh
в домашнем каталоге будет создан каталог mirror с локальным зеркалом.
Вложения
rosa_mirror_script_x86_64.tar.gz
(8.89 КБ) 114 скачиваний

Mad AlexX
Сообщения: 61
Зарегистрирован: 16 окт 2014, 14:49
Operating system: Rosa, OpenSuse

Ручное скачивание rpm-пакетов

Сообщение Mad AlexX » 03 сен 2022, 11:25

Чтобы сделать зеркало всего репозитория места нет. И когда надоело каждый раз в браузере переходить по каталогам репозитория, то тоже написал скрипт, который составляет список файлов опубликованных в веб-репозитории. Заложил в скрипт не только репозиторий Росы, но и нескольких других линуксов. Запущенный без параметров, скрипт покажет список дистрибутивов, которые он понимает. Один из них нужно указать как параметр командной строки - тогда в текущем каталоге создастся файл со списоком rpm- или deb-файлов соответствующего репозитория.
repo-scrapper.zip
(2.42 КБ) 106 скачиваний

Ответить

Вернуться в «Общие вопросы по РОСЕ»