У меня недавно была странная проблема, когда я устанавливал zsh
(apt-get install zsh
), но он не устанавливал конфигурационные файлы - в частности /etc/zsh/zshenv
и друзей.
После некоторого времени и усилий мне удалось отследить эту запись в журнале:
deferred_configure '/etc/zsh/zshenv' (= '/etc/zsh/zshenv')useredited = 1 distedited = 0 what = 202
И это объяснение:
Удаление файла считается «редактированием», потому что для многих файлов конфигурации отсутствие файла имеет смысл.
Теперь, как это происходит, я удалил /etc/zsh
и т.д. / каталог ЗШ, так что это все имеет смысл - за исключением того, что я также сделал apt-get remove zsh
!!
Итак, учитывая, что я удалил zsh, когда я пришел, чтобы переустановить его, почему он удивился отсутствию файлов конфигурации? Они не будут присутствовать в новой системе, то есть без установленной zsh, так как он узнал, что они были там ранее?
И как мне это остановить?
Я знаю, что могу передать --force-confmiss
, но дело не в этом. Действительно, я не верю, что это может быть сделано при использовании apt-get
в любом случае.
Я не хочу менять способ установки программ. Вместо этого я хочу знать, как dpkg определяет, что файлы, которые он не ожидал существовать в первую очередь, были удалены пользователем. В чем разница между файлом, который был удален, и файлом, который никогда не существовал? Это как-то связано с apt-get --purge
?