Я хочу сделать свой собственный пакет Debian, который содержит некоторый файл конфигурации по умолчанию. Я не хочу, чтобы этот файл был переписан после обновления с помощью dpkg -i
.
Как можно решить мою проблему?
Можно создать файл, названный debian/conffiles
, и перечислить файлы в нем. Это заставит dpkg
проверять файл на изменения прежде, чем перезаписать его. От политики Debian :
Для каждого файла это проверяет, чтобы видеть, совпадает ли версия файла, включенного в пакет, с тем, который был включен в последнюю версию пакета (тот, который обновляется от); это также сравнивает версию, в настоящее время устанавливаемую в системе с той, поставленной с последней версией.
, Если ни пользователь, ни специалист по обслуживанию пакета не изменили файл, он оставлен в покое. Если один или другой изменил их версию, то измененная версия предпочтена - т.е. если пользователь отредактирует их файл, но специалист по обслуживанию пакета не поставляет различную версию, изменения пользователя останутся, тихо, но если специалист по обслуживанию поставит новую версию, и пользователь не отредактировал его, то новая версия будет установлена (с информативным сообщением). Если и изменить их версию пользователю предлагают о проблеме и должен разрешить сами различия.
, Если Вы действительно никогда не хотите dpkg
коснуться файла снова, другой подход должен просто создать файл в postinst
сценарий на первой установке и ничего не делает на обновлениях. Просто не забудьте также создавать соответствие postrm
сценарий, который удалит файл на чистке.