Как получить текущую версию пакета в сценарии postinst и preinst файла deb?

Я создаю пакет debian, который отбрасывает некоторые операции с базой данных, выполненные в скрипте postinst пакета, если установлена ​​его предыдущая версия. Я погуглил и нашел его для RPM , но не смог найти для Debian.

Мне интересно, есть ли эквивалентная переменная или что-то из %pre[un] или %post[un] для Debian?

2
задан 11 December 2018 в 08:43

1 ответ

В соответствии с Руководством по политике Debian скрипт postinst вызывается со старым номером версии в качестве второго аргумента:

postinst configure most-recently-configured-version

Так что в вашем postinst вам просто нужно проверить этот аргумент .

А для preinst :

  1. Запустите предустановку нового пакета:

    Если пакет обновляется , позвоните:

    new-preinst upgrade old-version
    

    [...]

    В противном случае, если в пакете было установлено несколько файлов конфигурации из предыдущей версии (т. е. он находится в состоянии «Файлы конфигурации») ):

    new-preinst install old-version
    

    [...]

    В противном случае (т. Е. Пакет был полностью очищен):

    new-preinst install
    
1
ответ дан 11 December 2018 в 08:43

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

Похожие вопросы: