Как добавить файлы конфигурации при сборке дистрибутива Debian или при обновлении?

Как настроить deb-пакеты таким образом, чтобы файлы служб и конфигурации не менялись при вызове apt/apt-get upgrade? Менять ансамбль при обновлении нельзя, поэтому исключение из обновления требуют настроенные конфигурационные файлы. Нужен способ сохранения преднастроенных конфигураций при обновлении, без копирования их в /tmp. Пожалуйста, поделитесь опытом или информацией о директиве conffiles для дальнейшего изучения.
  • 22 июля 2024 г. 8:22
Ответы на вопрос 2
Для добавления файлов конфигурации при сборке дистрибутива Debian необходимо включить их в пакет, который вы создаете. В директории debian/ вашего исходного кода необходимо создать файлы с расширением .config или любое другое, указать в них нужные настройки и указать их добавление в пакет в файле debian/rules. 

Чтобы настроить deb-пакеты таким образом, чтобы файлы служб и конфигурации не менялись при обновлении, можно использовать директиву conffiles в файле debian/control вашего пакета. Директива conffiles позволяет указать список файлов, которые не должны изменяться при обновлении пакета. Все изменения в этих файлах будут считаться локальными и не будут затронуты при обновлении пакета через apt/apt-get.

Пример использования директивы conffiles:

```
Package: my-package
Version: 1.0
Maintainer: Your Name <[email protected]>
Architecture: all
Depends: some-dependency
Section: misc
Description: My package
 Conffiles:
  /etc/my-package/configfile
```

В данном примере файл /etc/my-package/configfile будет считаться конфигурационным файлом и не будет изменен при обновлении пакета.

Таким образом, использование директивы conffiles позволит сохранить преднастроенные конфигурации при обновлении пакетов в Debian без копирования их в /tmp.
Я уже очень давно таким не занимался, но все же отвечу - раскрыть один из "готовых" пакетов, например nginx, и посмотреть как все сделано.
Похожие вопросы