Как создать пакет 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
как файл конфигурации.