Vadim Vatlin wrote:
> Здравствуйте.
>
> Есть желание создать пакет который будет изменять/перезаписывать
> конфигурационный файл другого пакета.
>
> Как это лучше сделать? Есть ли подводные камни? 
>
>   
Можно dpkg-divert использовать:

В .preinst пакета (mypackage в данном случае):

# Divert configuration files
if [ install = "$1"  -o upgrade = "$1" ]; then
    # procps
    dpkg-divert --package mypackage --add --rename \
        --divert /etc/diverted/sysctl.conf /etc/sysctl.conf
fi

В .postrm пакета:

# Remove diversions of configuration files
if [ purge = "$1"  ]; then
    # procps
    dpkg-divert --package mypackage --remove --rename \
        --divert /etc/diverted/sysctl.conf /etc/sysctl.conf
fi

Ну и собственно конфигурационный файл кладёшь в свой пакет (в случае
выше - /etc/sysctl.conf в mypackage).

Но divert не очень хорошо работает с конфигурационными файлами. Мы это
использовали для чего-то вроде легковесного кастомизированного
дистрибутива (ставится базовый Debian, поверх ставятся наши пакеты),
были какие-то грабельки. Какие - точно не помню. В целом работало.

-- 
WBR,
Ivan S. Dubrov

Attachment: signature.asc
Description: OpenPGP digital signature

Ответить