Как создать автономные пакеты из репозитория Ubuntu

Можно ли создать автономные пакеты deb путем слияния зависимостей без ручной перепаковки .??

Я посмотрел на этот вопрос , но на самом деле он не отвечает на то, что я пытаюсь достичь выше.

если возможно, как это сделать?

обновление 1

Нет доступных инструментов (?) Так что насчет создания нового пакета deb, содержащего все пакеты, которые будут копироваться зависимости кеша и выполнения основного пакета. Возможно ли это?

обновление 2

Вышеуказанный метод представляется невозможным, поскольку dpkg не может обрабатывать более одной операции одновременно. Некоторые сценарии могут сделать это

обновление 3

этот инструмент очень полезен, но в настоящее время он не поддерживает oneric и, более того, все еще ждет более универсального инструмент

Заранее спасибо

6
задан 13 April 2017 в 15:23

7 ответов

Используйте создателя супер деба. Вы можете сделать отдельные пакеты для Ubuntu 11.04. Для более подробной информации посетите официальный сайт. http://hacktolive.org/wiki/SuperDeb_Creator

0
ответ дан 13 April 2017 в 15:23

Нет. Если вам нужен один пакет без зависимостей, вам нужно будет упаковать его самостоятельно.

Чтобы понять, как работают пакеты, вы можете прочитать руководство по пакетированию Debian .

0
ответ дан 13 April 2017 в 15:23

Если бы я собирался иметь взлом в этом, то я сделал бы следующее:

  • Загрузите и извлеките все пакеты
  • Сохраните копию основного пакета папки DEBIAN, поместите другие в одну сторону
  • Изменитесь DEBIAN/control файл так
    • Перечислите каждый пакет, который Вы обеспечиваете в Provides строка
    • Добавить Conflicts записи для пакетов Вы заменяете
    • Удалите зависимости из Dependencies строка
  • Изменитесь postinst и preinst, prerm и postrm сценарии так Ваша новая копия обрабатывают вещи для всех пакетов. Это не просто, потому что необходимо будет понять то, что каждый пакет делает на каждом шаге.
  • Перепакет, которого все это создает резервную копию снова, таким образом, у Вас есть все файлы и новые файлы DEBIAN.

В конце Вас нужно оставить с чем-то, что можно установить, но это не является большим. Вы оказываетесь перед необходимостью вручную повторять те шаги любое время, один из исходных пакетов получает обновление.

Системы, которые сохраняют их исходные упаковочные системы, намного лучше. Вы даже лучше просто поставили бы отдельный debs вокруг. Это займет меньше времени и будет более устойчивым.

3
ответ дан 13 April 2017 в 15:23

если у них нет «хороших» подключений, но все же есть, вы можете поделиться каталогом files / var / cache / apt / archives, который будет использоваться вместо повторной загрузки файла.

Этот метод не решает проблему синхронизации индекса репозитория.

0
ответ дан 13 April 2017 в 15:23

Если все эти вещи уже находятся в архиве Ubuntu, то все, что Вы действительно хотите, является meta пакетом, который вызывает их установку, правильно?

Действительно просто необходимо создать почти пустой пакет с dh_make. Скажите этому о желании единственного двоичного файла и собственного пакета. В пустом каталоге:

dh_make --native --indep --packagename --defaultless your-thing

Затем отредактируйте debian/control, и в двоичном разделе пакета (второй) Добавляют все пакеты, которые Вы хотите установленный на Том, чтобы зависеть: раздел, разделенный запятыми.

Затем создайте пакет с

debuild binary

Если требуется загрузить его на PPA на Панели запуска, таким образом, другие могут легко получить его:

dch --release --distribution oneiric
debuild -S

Конечно, изменитесь сновещательный на то, для чего Вы хотите упаковать это. Затем в каталоге выше Вас должен иметь

your-thing_1.0_source.changes

После создания PPA, просто делают

dput ppa:yourusername/ppaname your-thin_1.0_source.changes

И затем кто-либо, кто устанавливает тот пакет, также загрузит и установит все другие биты, зависевшие от.

3
ответ дан 13 April 2017 в 15:23

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

0
ответ дан 13 April 2017 в 15:23

Отказ от ответственности: я не пробовал это, это просто мой набросок решения.

Возможно, вы можете загрузить все зависимости в каталог, превратить его в репозиторий debian, создать ISO-образ репозитория и затем распространить ISO.

Затем вы должны смонтировать ISO-образ как устройство обратной связи и дать команду apt использовать смонтированный каталог в качестве источника пакетов - точно так же, как вы можете использовать установочный диск Ubuntu в качестве хранилища.

Хотя это выглядит как огромная работа, но вы получите один распространяемый файл, содержащий все зависимости, без необходимости переупаковывать файлы deb.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: