Я, к сожалению, воспользовался советами ответов здесь, которые либо неправильны, либо касательны.
После небольшого рытья я понял, что рассматриваемый модуль (proxy_fcgi) на самом деле является частью бионического apache2 -bin package
, поэтому все, что было необходимо, было:
a2enmod proxy_fcgi
Чтобы понять, как работают пакеты, вы можете прочитать руководство по упаковке debian.
Если все эти вещи уже находятся в архиве Ubuntu, то все, что вам действительно нужно, это мета-пакет, который вызывает их установку, правильно?
Вам просто нужно создать почти пустой пакет с dh_make , Скажите, что вам нужен один двоичный файл и собственный пакет. В пустом каталоге:
dh_make --native --indep --packagename --defaultless your-thing
Затем отредактируйте debian / control и в разделе двоичного пакета (второй). Добавьте все пакеты, которые вы хотите установить, в раздел Depends:, разделенные запятыми. [ ! d2]
Затем создайте пакет с помощью
debuild binary
Если вы хотите загрузить его в PPA на Launchpad, чтобы другие могли легко получить его:
dch --release --distribution oneiric
debuild -S
] Конечно, измените oneiric на все, что вы хотите упаковать. Затем в каталоге выше вы должны иметь
your-thing_1.0_source.changes
После того, как вы создали PPA, просто сделайте
dput ppa:yourusername/ppaname your-thin_1.0_source.changes
. И тогда любой, кто установит этот пакет, также загрузит и установит все из других бит зависит от
Если бы у меня возникла проблема с этим, я бы сделал следующее:
Загрузите и извлеките все пакеты Сохраните копию основного пакета папки DEBIAN, поместите остальные в один side Измените файл DEBIAN/control, поэтому перечислите каждый пакет, который вы предоставляете в строке Provides. Добавьте записи Conflicts для заменяемых вами пакетов. Удалите зависимости из строки Dependencies. Измените postinst и preinst. ], prerm и postrm, чтобы ваша новая копия обрабатывала вещи для всех пакетов. Это не просто, потому что вам нужно понять, что каждый пакет делает на каждом шаге. Повторно упакуйте все это снова, так что у вас есть все файлы и новые файлы DEBIAN.В конце вам нужно оставить что-то, что вы можете установить, но это не здорово. Вам придется вручную повторять эти шаги в любое время, когда один из исходных пакетов получает обновление.
Системы, которые хранят свои исходные системы упаковки, намного лучше. Вы бы даже лучше разошлись обо всём. Это займет меньше времени и будет более надежным.
Конечно, это возможно, но я не знаю никаких инструментов, которые сделают это для вас. Итак, ручная переупаковка - это путь.
Отказ от ответственности: я не пробовал это, это всего лишь мой эскиз решения.
Возможно, вы можете загрузить все зависимости в каталог, внести его в репозиторий debian, создать ISO-образ репозитория, а затем распространить ISO.
Затем вы могли бы установить ISO как loopback-устройство и дать указание использовать смонтированный каталог как источник пакетов - так же, как вы можете использовать установочный диск Ubuntu в качестве репозитория.
Похоже, что это ужасная работа, но вы получите один распространяемый файл, содержащий все зависимости, не требуя переупаковки файлов deb.
, если у них нет «хорошей» возможности подключения, но все же некоторые из них, вы можете поделиться файлом / var / cache / apt / archive, который будет использоваться вместо повторной загрузки файла.
Этот метод не решает проблему синхронизации индекса репозитория.