URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 133342
[ Назад ]

Исходное сообщение
"Выпуск инструментария для поддержания локальных зеркал apt-mirror2 4"

Отправлено opennews , 08-Апр-24 12:00 
Опубликован выпуск инструментария apt-mirror2 4, предназначенного для организации работы локальных зеркал  apt-репозиториев дистрибутивов на базе Debian и Ubuntu. Apt-mirror2 может использоваться в качестве прозрачной замены вместо утилиты apt-mirror, которая...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=60938


Содержание

Сообщения в этом обсуждении
"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Golangdev , 08-Апр-24 12:00 
Есть ли что-то подобное для rpm ?

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Аноним , 08-Апр-24 12:08 
Наверно, должно что-то быть. Присоединяюсь к вопросу.

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Аноним , 08-Апр-24 14:10 
Хватает обычного rsync. Благо сама структура репозитория rpm не такая дрянная как в deb, где смешали всё в одну кучу.

Если выдел структуру тогоже Debian и Fedora, то сразу поймёшь...


"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Golangdev , 08-Апр-24 15:08 
спасибо

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Tigro , 08-Апр-24 17:42 
Хватает - это если есть rsync на зеркале. А при нынешних облаках есть только https, и даже листинга может не быть.

В общем в этих случаях dnf reposync.


"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено WE , 08-Апр-24 14:30 
rsync + createrepo

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Аноним , 08-Апр-24 15:42 
Сборка rpm пакетов и настройка своего репозитория: https://habr.com/ru/articles/354136/

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено anonymous , 09-Апр-24 02:06 
Artifactory

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Аноним , 09-Апр-24 02:54 
Если стоит задача установить что-то в "закрытом контуре", то можно скачать с зависимостями на имеющем выход в интернет компьютере необходимые пакеты такой командой:
dnf download --downloaddir=.  --resolve --arch x86_64 <пакет>
Или, если всё ещё используется yum: repotrack --arch=x86_64 --download_path=. <пакет>

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено knike , 15-Апр-24 22:50 
/usr/bin/reposync

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Аноним , 08-Апр-24 12:10 
> использование языка Python с библиотекой asyncio
> код оригинального apt-mirror был написан на Perl

И правильно. Сейчас найти не выжившего из ума перловика - та еще задача.
А питонистов как собак нерезаных.
И чтобы проект жил, перловку пришлось выкинуть((


"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено scriptkiddis , 08-Апр-24 12:22 
Надеюсь ты скоро перепишешь весь стек dpkg и dpkgutils для сборки пакетов и все утилиты около него (например schroot и тд)

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Аноним , 08-Апр-24 12:36 
Это как код на коболе его не перепишут его просто выкинут и напишут новые тулзы.

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено нах. , 08-Апр-24 13:03 
боюсь что да и ты этому не обрадуешься. Посмотри на список изменений и улучшизмов.
Безусловно вот "метрик прометеуса" очень не хватает для банальной копии зеркала deb'ов.

К счастью, debmirror пока работает.


"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Аноним , 08-Апр-24 12:33 
Зачем это всё когда уже 300 миллионов лет есть https://www.stablebuild.com/

"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Аноним , 08-Апр-24 14:00 
https://gitlab.com/apt-mirror2/apt-mirror2/-/blob/master/req...

Вот это да. Солидно(


"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено Аноним , 08-Апр-24 14:05 
Бегло посмотрел код этой поделки.

Одним словом - сверхинжиниринг.


"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено nE0sIghT , 08-Апр-24 19:17 
Прямых обязательных зависимостей 5 [1]:
- библиотека асинхронной работы с файлами (нет в Python)
- библиотека лимитирования asyncio
- 2 библиотеки асинхронной работы с HTTP (одна - для http2)
- библиотека асинхронной работы с FTP

В requirements.txt - все зависимости, включая опциональные, dev и вторичные

[1] https://gitlab.com/apt-mirror2/apt-mirror2/-/blob/master/pyp...


"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено PnD , 09-Апр-24 13:17 
Респект. Поставил хинт куда смотреть, по мере отсыхания функциональности старого apt-mirror.

* У apt-mirror, помимо захардкоженных нюансов работы с прокси, есть ещё один сюрприз.
Если на том конце дропают соединение, он делает вид что всё хорошо (нечего качать) и выходит без ошибки.
Тут, как минимум, вижу обработчик httpx.RemoteProtocolError. Есть надежда что по итогам будет ненулевой код возврата.


"Выпуск инструментария для поддержания локальных зеркал apt-m..."
Отправлено nE0sIghT , 10-Апр-24 09:11 
У apt-mirror на самом деле много больше сюрпризов. Им сделанное зеркало может сломаться во многих случаях:
1. На источнике рассинхронизированы InRelease и Release файлы
2. На источнике удалили InRelease или Release файл, а раньше они были уже зазеркалированы
3. Как ты написал - любой сетевой сбой не приводит к ошибке приложения, но приводит к сломанному зеркалу
4. Если в источнике убраны хеш суммы md5 - новые файлы пула качаться не будут.
5. Если в источнике нет архивированных метаданных, то он не зазеркалируется
6. Если файл пула был скачен не правильно, он не перекачается пока ты его не удалишь
7. Если не используешь недокументированную опцию _unlink - в 100% случаев получишь сломанное зеркало на время обновления
...