Как создать пакет Debian, используя "lims-build", который можно "обновить", если он уже установлен?

Я создал .deb использование пакета equivs-build командование и обеспечение необходимым control, preinst, postinstи т.д. Я заметил, что version также может быть упомянуто в control файл. Теперь я хочу создать .deb пакет с обновленным исходным кодом, и я хочу, чтобы пользователь мог обновить пакет, если он уже установлен (и имеет предыдущую версию, конечно), так как я не буду изменять conf связанные файлы и т. д. Один из способов, который я могу придумать, - это написать скрипт, который сначала проверит установленную версию и примет соответствующие меры (т. е. если установлен, просто обновит исходный код, перенастроит базу данных и т. д., а если нет) установите пакет используя dpkg -i <package-name>). Мне было интересно, если есть способ добиться с помощью dpkg только (что-то вроде dpkg upgrade <package-name>) который будет обрабатывать установку или обновление по мере необходимости.

1 ответ

Решение

Команда, которую вы ищете, действительно dpkg -i, Это установит, если не установлено, и обновит, если уже установлено. dpkg не изменяет измененные пользователем файлы конфигурации. Он спросит вас, что делать с такими случаями (сохранить изменения, отменить изменения и т. Д.), И всегда сохранит резервную копию того, что вы отбрасываете (новый файл конфигурации, предоставленный пакетом, или старый файл, измененный пользователем).). Любой файл, установленный пакетом в /etc/ считается dpkg как файл конфигурации.

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