Несколько экземпляров модуля

Вероятно, это осталось от исторического поведения в dpkg . В настоящее время удаление обрабатывается в remove.c, а каталоги удаляются только в том случае, если они пустые, а текущий пакет (удаляемый) единственный, кто их использует (это определено в help.c, в dir_is_used_by_others() и dir_is_used_by_pkg()).

Глядя на пакет cron, можно заметить, что в 2004 году в качестве исправления ошибки #217760 были введены патроны, возможно, что в то время dpkg проверял вещи не так тщательно, как сейчас, таким образом, что если бы удаление пакета привело к тому, что каталог стал бы пустым, то этот каталог был бы также удален. Поэтому cron устанавливал /etc/cron.d, но внутри этого каталога не было файла; потом другой пакет бросал туда файл, и удаление этого пакета приводило к удалению файла, а также каталога (так как после этого каталог становился пустым). Это сломало cron, так что, чтобы избежать ошибки, был добавлен плейсхолдер.

2
04.12.2017, 14:44
0 ответов

Теги

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