LINUX.ORG.RU

Скачивание из .deb-пепозитория

 , ,


0

1

Такая вот задача
1. Есть не-debian-утый дистр
2. Есть ссылка на софт типа «deb http://repo.vendor.com/debian/ wheezy main»
3. Есть имя пакета собственно «progname»

Собственно вопрос: как мне достать оттуда результирующий файл progname-четотам.deb учитывая пункт 1(т.е. не имея под руками APT)? Фактически в розыске алгоритм работы команды «apt-get update && apt-get download pkgname».
Из исходников apt-get стало очевидно чуть менее чем ничего. wget или руками сходить на адрес репозитория - получаю 403. Просить у владельцев прямую ссылку - две недели назад попросил, до сих пор жду ответа.

★★★★

Последнее исправление: FeyFre (всего исправлений: 1)

wget или руками сходить на адрес репозитория - получаю 403.

Это ненормально. Два варианта, либо ты руками ходишь куда то не туда соответственно покажи как именно ты это делаешь. Либо они фиильтруют запросы и надо посмотреть что там apt передает, например с помощью wireshark.

antares0 ★★★★
()

Сначала качаешь http://repo.vendor.com/debian/dists/wheezy/Release. Это не обязательно, но там будет список всех списков.

Потом качаешь http://repo.vendor.com/debian/dists/wheezy/main/binary-amd64/Packages.gz. По идее там должны быть файлы Packages, Packages.gz, Packages.bz2, но иногда некоторых не хватает, так что перебери при необходимости. Вместо amd64 ещё подставь all и скачай Packages оттуда тоже. 32-битная x86 в Debian называется i386.

Дальше ищешь в Packages нужные пакеты в строчках начинающихся с «Package: ». В том же блоке будет строка «Filename: », там путь относительно http://repo.vendor.com/debian.

А ещё есть debmirror, который скачает копию репозитория, сделав всё за тебя.

i-rinat ★★★★★
()
Ответ на: комментарий от antares0

Это ненормально

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

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Спасибо, попробуем.

Копию репозитория мне не нужно. Это одноразовая акция при начальной установке системы которую я хочу автоматизировать: нужно таким образом скачать пяток пакетов, конвертнуть их в местный формат(уже умею) и установить.

ЗЫ: вот почему пиндосы на пиндосских форумах мне вот так в лоб не могли ответить, а посылали то до админов репозитория, то поднимать виртуалку с бубунтой для скачки, то ещё бог знает куда?
ЗЗЫ: а debmirror сам то лежит только в репозитории(сужу по быстрому гуглению, возможно не прав), так что сказка о курице и яйце ;)

FeyFre ★★★★
() автор топика
Ответ на: комментарий от i-rinat

Это нормально.

Совершенно верно. Дебиан/Убунту в виртуалке спокойно себе скачивают и устанавливают нужные вещи.

FeyFre ★★★★
() автор топика
Ответ на: комментарий от i-rinat

Как-то подозрительно яндексовске зеркало отличается от описанного Вами алгоритма поиска. Это оно мне просто не всё генерирует и апт всё найдет как нужно, или это зеркало не предназначено для работы с апт-ом?

FeyFre ★★★★
() автор топика
Ответ на: комментарий от FeyFre

Как-то подозрительно яндексовске зеркало отличается от описанного Вами алгоритма поиска.

Нет, не отличаются, там всё так же. В официальных зеркалах сами пакеты лежат в pool/, разложенные поддиректории по первым буквам. У яндекса полная копия.

Вот здесь Packages лежат: http://mirror.yandex.ru/debian/dists/wheezy/main/binary-amd64/

А вот здесь сами пакеты: http://mirror.yandex.ru/debian/pool/main/ , там смешаны все выпуски.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от FeyFre

Дебиан/Убунту в виртуалке спокойно себе скачивают и устанавливают нужные вещи.

Почему просто не скопировать пакет с вируталки?

annulen ★★★★★
()
Ответ на: комментарий от annulen

Почему просто не скопировать пакет с вируталки?

Потому что когда возникает такой вопрос, полностью он звучит так: «как мне в скрипте развёртывания проекта скачивать последнюю версию пакета из репозитория?» Скриптовать создание виртуалки, скачивание пакета там и вытаскивание его наружу — это уже слишком. Проще понять, как устроен репозиторий.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Оно так, только я бы на своём месте триста раз подумал бы стоит ли серьезно использовать поделие, бинарники которого выпускают исключительно под убунту(под дебиан из всего продукта построили 20%)/о исходниках ни чичирк, причем гвоздями прибито к питону(конфигурация которого не совпадает с конфигурацией установленного в системе, а значит нужно подшаманивать ещё и со всем питоновским зоопраком) нафиг там ненужному, ну и прочие тараканы...

FeyFre ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.