Что делает & ldquo; new & rdquo; означает & ddqo; dpkg --force-confnew & rdquo ;?

Недавно мне была поставлена ​​задача сохранения & amp; портирование на Trusty собственного пакета .deb, который перезаписывает (используя --force-overwrite) конфигурационные файлы из других пакетов с настраиваемыми версиями, после чего запускается apt-get install -f -y, чтобы установить кучу связанных пакетов, перечисленных как зависимости, некоторые из которых являются законные владельцы этих файлов конфигурации (храните свои комментарии и крики от ужаса). Обратите внимание, что этот пакет отмечает файлы конфигурации как файлы конфигурации, а не как обычные файлы.

В процессе попытки очистить вещи я обнаружил, что если apt-get передано -o Dpkg::Options::="--force-confold", тогда config файлы из нашего пользовательского пакета будут перезаписаны версиями зависимостей, а если -o Dpkg::Options::="--force-confnew" будет использоваться, файлы нашего пакета останутся в конце.

Однако в man-странице dpkg указано:

confnew: Если изменен conffile и версия в пакете изменилась, всегда устанавливайте новую версию без запроса, если не указано --force-confdef, и в этом случае предпочтительным является действие по умолчанию. confold: Если изменен conffile и версия в пакете изменилась, всегда сохраняйте старую версию без запроса, если не указано значение --force-confdef, и в этом случае предпочтительным является действие по умолчанию.

Поскольку «новая версия» установлена ​​во время сохранения «старой версии», это, по-видимому, означает, что «новая версия» всегда является той, которая установлена ​​в тот момент, и таким образом проходит -o Dpkg::Options::="--force-confnew" - apt-get должны заставить файлы конфигурации зависимостей перезаписывать те, которые наш пакет установил раньше. Почему это не так? Является ли фактическое значение «новой версии» на самом деле основано на временных отметках (что могло бы вызвать дополнительные вопросы)? Является ли это ошибкой в ​​документации и / или реализации dpkg? Является ли это просто волосатым краевым случаем, вызванным двумя пакетами, претендующими на те же конфигурационные файлы, что разработчики dpkg считали, что никто никогда не будет настолько безумным, чтобы споткнуться? Что?

1
задан 6 February 2015 в 02:45

0 ответов

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

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