Можно ли создать автономные пакеты deb путем слияния зависимостей без ручной перепаковки .??
Я посмотрел на этот вопрос , но на самом деле он не отвечает на то, что я пытаюсь достичь выше.
если возможно, как это сделать?
обновление 1
Нет доступных инструментов (?) Так что насчет создания нового пакета deb, содержащего все пакеты, которые будут копироваться зависимости кеша и выполнения основного пакета. Возможно ли это?
обновление 2
Вышеуказанный метод представляется невозможным, поскольку dpkg не может обрабатывать более одной операции одновременно. Некоторые сценарии могут сделать это
обновление 3
этот инструмент очень полезен, но в настоящее время он не поддерживает oneric и, более того, все еще ждет более универсального инструмент
Заранее спасибо
Используйте создателя супер деба. Вы можете сделать отдельные пакеты для Ubuntu 11.04. Для более подробной информации посетите официальный сайт. http://hacktolive.org/wiki/SuperDeb_Creator
Нет. Если вам нужен один пакет без зависимостей, вам нужно будет упаковать его самостоятельно.
Чтобы понять, как работают пакеты, вы можете прочитать руководство по пакетированию Debian .
Если бы я собирался иметь взлом в этом, то я сделал бы следующее:
DEBIAN/control
файл так Provides
строкаConflicts
записи для пакетов Вы заменяетеDependencies
строкаpostinst
и preinst
, prerm
и postrm
сценарии так Ваша новая копия обрабатывают вещи для всех пакетов. Это не просто, потому что необходимо будет понять то, что каждый пакет делает на каждом шаге.В конце Вас нужно оставить с чем-то, что можно установить, но это не является большим. Вы оказываетесь перед необходимостью вручную повторять те шаги любое время, один из исходных пакетов получает обновление.
Системы, которые сохраняют их исходные упаковочные системы, намного лучше. Вы даже лучше просто поставили бы отдельный debs вокруг. Это займет меньше времени и будет более устойчивым.
если у них нет «хороших» подключений, но все же есть, вы можете поделиться каталогом files / var / cache / apt / archives, который будет использоваться вместо повторной загрузки файла.
Этот метод не решает проблему синхронизации индекса репозитория.
Если все эти вещи уже находятся в архиве 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
И затем кто-либо, кто устанавливает тот пакет, также загрузит и установит все другие биты, зависевшие от.
Конечно, это возможно, но я не знаю ни одного инструмента, который сделает это за вас. Таким образом, ручная переупаковка - путь.
Отказ от ответственности: я не пробовал это, это просто мой набросок решения.
Возможно, вы можете загрузить все зависимости в каталог, превратить его в репозиторий debian, создать ISO-образ репозитория и затем распространить ISO.
Затем вы должны смонтировать ISO-образ как устройство обратной связи и дать команду apt использовать смонтированный каталог в качестве источника пакетов - точно так же, как вы можете использовать установочный диск Ubuntu в качестве хранилища.
Хотя это выглядит как огромная работа, но вы получите один распространяемый файл, содержащий все зависимости, без необходимости переупаковывать файлы deb.