Я поддерживаю несколько больших пакетов, которые мы используем внутренне и запускающийся со следующего выпуска, я хотел бы разделить пакеты в меньшие пакеты. Эти пакеты уже установлены во многих машинах через наш пользовательский способный репозиторий, и я не уверен, чем процедура обновления была бы для тех, у кого уже есть это большие установленные пакеты.
Проиллюстрировать проблему:
packageX
текущий большой пакет, установленный во многих машинах
Я хотел бы разделить его на:
Я предполагаю, что разумная вещь сделать состояла бы в том, чтобы создать виртуальный названный пакет packageX
это инкапсулирует все новые пакеты, которые звучат о праве?
Как я могу удостовериться что apt-get update && apt-get upgrade
не повредил бы вещи для пользователей?
Спасибо.
Да, создание packageX
виртуального пакета, который зависит от других, является обычным способом справиться с этим.
Таким образом, у всех, у кого установлено packageX
, будут все packageX-*
пакеты после обновления. Кроме того, он позволяет легко установить весь комплект packageX для тех, кто этого хочет.
В зависимости от вашего программного обеспечения, возможно, стоит подумать о создании дополнительных виртуальных пакетов, которые зависят от часто используемых подмножеств пакета packageX- * `, чтобы упростить установку этих подмножеств.
packageX
следует Depends: packageX-foo, packageX-bar, packageX-baz
. Это гарантирует, что обновления автоматически подберут каждый новый пакет. packageX-component
должен: Breaks: packageX (<< V)
, а также Replaces: packageX (<< V)
, где V
- новая версия. Это гарантирует, что менеджер пакетов знает, что файлы в новых пакетах компонентов конфликтуют с файлами в старом монолитном пакете.