Am 31.12.2024 15:08 schrieb Michael Stone <mst...@debian.org>:
On Mon, Dec 30, 2024 at 08:38:17PM +0000, Nikolaus Rath wrote:
>If a system crashed while dpkg was installing a package, then my
>assumption has always been that it's possible that at least this package
>is corrupted.
>
>You seem to be saying that dpkg needs to make sure that the package is
>installed correctly even when this happens. Is that right?
dpkg tries really hard to make sure the system is *still functional*
when this happens. If you skip the syncs you may end up with a system
where (for example) libc6 is effectively gone and the system won't boot
back up.
If the intention is to make as sure as possible to keep a system in a bootable state, wouldn't it make sense to either mark packages as boot-essential and only give those the sync-heavy treatment (or alternatively allow packages to be marked as not needed for booting and skip most of the syncs on them)?
It feels wrong to me to justify such a heavy performance penalty this way if only a relatively small subset of dpkg status files and core packages are actually needed to have a bootable system.
Apart from the problem that the syncs are often completely useless in virtual machines.
Kind regards,
Sven