LINUX.ORG.RU
ФорумMobile

Synaptic для Android (для скачивания DEB'ов оптом)

 , ,


0

1

Есть ли какая-то утилита для Android-девайсов, которая позволяет скачивать DEB'ы из указанных репозитариев вместе со всеми зависимостями? (что-то вроде порта «apt» или же «Synaptic Package Manager»)

1) скачивание необходимых пакетов на Android-девайс

2) копирование скачаных пакетов с Android -девайса на ПК для последующей offline-install (сам ПК подключить к интернету нет возможности)

Задача:

To download the multimedia codecs into an installable archive:

  • Boot from the Linux Mint ISO on a computer which is connected to the Internet
  • Open a terminal and type «apt download mint-meta-codecs» (without the quotes)
  • This creates a «mint-meta-codecs.tgz» archive

https://www.linuxmint.com/rel_sarah_cinnamon.php

P.S: http://forum.ubuntu.ru/index.php?topic=198389.0

★★★★★

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

Не знаю, есть ли. Но такое приложение/скрипт несложно написать самому. Ведь deb-файл - это не что иное, как ar-архив. Распаковываешь его ar'ом, там лежат ещё несколько файлов, в т. ч. control.tar.gz (или tar.xz, tar.bz2, просто tar). Распаковываешь и его tar'ом с использованием нужного декомпрессора. А там есть текстовый файл control с множеством строчек, в т. ч. со строчками, начинающимися со слов Depends:, Recommends: и Suggests:. Они-то тебе и нужны. Depends необходимы для работы, Recommends можно отключить, а Suggests часто вообще не нужны, обычно это разные финтифлюшки. Парсишь эти строки (или часть из них, как минимум Depends) и выкачиваешь зависимости, и так далее. Выкачивать можно wget'ом или curl'ом. Разумеется, уже выкаченные зависимости повторно выкачивать не надо: это тоже надо учесть в скрипте.

Только проблема в том, что твой андроид не знает, что уже установлено в Debian/Mint/Ubuntu. А значит при закачке любого kde-пакета, например, каждый раз будет тянуться весь kde. Либо тебе придётся хранить на андроиде всё это барахло.

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

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

И кстати: комп нельзя подключить к Сети по каким-то соображениям конфиденциальности или просто потому, что на нём нет сетки? Потому что если 2-ое, то, имхо, тот же андроид можно использовать как модем.

aureliano15 ★★
()

Не правильный подход к задаче. Создаешь файл со ссылками на все пакеты с зависимостями на ПК, затем стравливаешь его качалке под ведро. А так конечно можешь usb tethering настроить, если wi-fi в компьютере нет.

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

Там будет скрипт с ссылками на deb-файлы вроде этого:

cat mc
#!/bin/sh
wget -c http://deb.debian.org/debian/pool/main/m/mc/mc-data_4.8.18-1_all.deb
wget -c http://deb.debian.org/debian/pool/main/m/mc/mc_4.8.18-1_amd64.deb
Его нужно скормить какому нибудь менеджеру закачек. Какие есть под Android я не в курсе.

pxrdsg
()
Ответ на: комментарий от atsym
Ответ на: комментарий от aureliano15

Это я понял. Вопрос в том может ли данная утилита «скачивать пакеты оптом»?

Возможно ли её допилить для работы с репозитариями для Ubuntu/Linux Mint?

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

Так это же только смотрелка. Поиск пакетов, просмотр их зависимостей.

pxrdsg
()

На андроид тебе нужен только wget какой-нибудь.
Вот для арча простейшая инструкция для оффлайновых обновлений, нужно просто сгенерировать pkglist, выкачать его на чём-то с инетом и поставить пакеты.
https://wiki.archlinux.org/index.php/Offline_installation_of_packages_(Русский)
Для дебиана по аналогии делается, замени командами для своего пакетного менеджера.

fehhner ★★★★★
()

Вот ктати тул для синаптика, который генерирует sh скрипт для скачивания пакетов: https://help.ubuntu.com/community/Synaptic/PackageDownloadScript. На андроид тебе понадобится только Busybox (в составе которого wget) и терминал (например, Termux), чтобы запустить скрипт. Нуи опционально Hackers Keyboard, т.к. на стандартной клавиатуре обычно включен Т9 и её неудобно использовать в терминале.
Единственное, думаю предварительно по аналогии с предложенным в арче, тебе стоит сначала выкачать базы данных пакетов и заменить обновлёнными в синаптике, чтобы он знал заодно, что обновлять. Ну там всего несколько файлов и как скачать их, думаю, разберёшься.

fehhner ★★★★★
()

В 00-е я делал так. Устанавливал Ubuntu, скачивал список пакетов с помощью GPRS, отключал интернет, пытался что-нибудь установить. В сообщении об ошибке были перечислены прямые ссылки. «Найти и заменить», сообщение перед ссылкой менял на пустоту, сообщение после - на знак переноса строки. Получался текстовый файл со ссылками. С ним я шёл в интернет-кафе и скармливал файл Download Manager-у.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от atsym

Вопрос в том может ли данная утилита «скачивать пакеты оптом»?

Этого я не скажу. Если верить уже ответившим комментаторам, то нет.

А к их ответам добавлю ссылку на howto по структуре debian-репозиториев: https://l10n-russian.alioth.debian.org/repository-howto.ru.html .

aureliano15 ★★
()

копирование скачаных пакетов с Android -девайса на ПК для последующей offline-install (сам ПК подключить к интернету нет возможности)

Андроид же можно использовать как usb сетевушку?

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