On Tue, 2016-11-29 at 19:18 +0100, Simon Richter wrote: > Hi, > > On 29.11.2016 17:58, Svante Signell wrote: > > > After upgrading to sid the conffiles don't seem to be installed any longer? > > Examples are bash, passwd, basefiles and libpam-runtime. Especially the last > > one cost me a day debugging to find out why logins crashed. What is causing > > this, do I have some settings disabling conffiles? Or is this all due to the > > merge of /usr? If so, how to revert that change until it is stable! > The usual rule applies: if dpkg thinks the conffile has been > deliberately deleted, it will not install a new version on top. The > question is how that happened.
The probable cause was a hardware error om my SSD disk. Subsequent disk checking wiped out several files, among them the important conffiles. > It would be great if you could archive /var/lib/dpkg prior to repairing > your system, so in case the dpkg maintainers want to look at it, they at > least have half a chance of getting to the root of the problem. I have saved it if somebody is interested. However, the save was after I could start and log in to the computer again. > To force reinstallation of configuration files, invoke dpkg with the > "--force-confmiss" option when installing. This will only restore > missing configuration files, but not overwrite changed ones. If some > configuration files were damaged, you can use "--force-confnew" to > unpack all configuration files; your old files can be found with a > ".dpkg-old" suffix then. A problem with essential and important packages is that you can only reinstall them. So apt-get install --reinstall or dpkg -i <path_to_deb> only reinstalls the package, not the conffiles. Now I know how to get the conffiles back, but tracing which packages has them is hard: Any ideas? Anyway, I think the default behaviour of dpkg is wrong: If you have intentionally or by accident removed some conffiles, they should be installed by default with a reinstall. I'll file a serious bug on dpkg for it. Thanks!