Я думаю, что Вы ищете dpkg-divert
.
Из документов: 11.8 Как я переопределяю файл, установленный пакетом, так, чтобы другая версия могла использоваться вместо этого?.
выборка из документов
Предположим системный администратор или локальный пользователь хотят использовать "локальную для входа в систему" программу, а не программу "вход в систему", обеспеченный пакетом входа в систему Debian.
Не делайте:
Перезапись
/bin/login
сlogin-local
.Система управления пакета не будет знать об этом изменении и просто перезапишет Ваше пользовательское
/bin/login
каждый раз, когдаlogin
(или любой пакет, который обеспечивает/bin/login
) установлен или обновлен.Скорее сделайте
Выполнитесь:
$ sudo dpkg-divert --divert /bin/login.debian /bin/login
для порождения всех дальнейших установок Debian
login
пакет для записи файла/bin/login
кому:/bin/login.debian
вместо этого.Затем выполнитесь:
$ sudo cp login-local /bin/login
перемещать Вашу собственную локально созданную программу в место.
Выполненный
dpkg-divert --list
видеть, какие диверсии в настоящее время активны в Вашей системе.Подробная информация предоставлена в странице руководства
dpkg-divert(8)
.
Я определил бы, какой пакет исходный Постфикс init сценарий имел независимо, и отклоните просто этот файл со своей измененной версией.
Все файлы под /etc
классифицированы как “conffiles” (политикой Debian, она указана в пакете, не встроенном к dpkg). Подсказки Dpkg, изменил ли к перезаписям каждый conffile на обновлении. Сценарии Init не являются никаким исключением.
Если Вы не хотите быть предложенными, или если Вам нужно это на файле в пакете, который не является conffile, можно использовать диверсию.
dpkg-divert --add --local --rename --divert /etc/init/postfix.debian /etc/init/postfix