apt-get install: Add --fix-broken to commandline

apt-get install suggests it wants to be called with -f to clean up
some mess left behind from a previous install. Adding -f in the hope
add it to the install options by default. OTOH, it wants to be called
that without arguments, not sure if always passing it along is a good
idea.

The man page says:

    -f, --fix-broken

   Fix; attempt to correct a system with broken dependencies in
   place. This option, when used with install/remove, can omit any
   packages to permit APT to deduce a likely solution. If packages
   are specified, these have to completely correct the problem. The
   option is sometimes necessary when running APT for the first time;
   APT itself does not allow broken package dependencies to exist on
   a system. It is possible that a system's dependency structure can
   be so corrupt as to require manual intervention (which usually
   means using dpkg --remove to eliminate some of the offending
   packages). Use of this option together with -m may produce an
   error in some situations. Configuration Item:
   APT::Get::Fix-Broken.

Also turn the short options -yq into long options --yes --quiet for
more obvious debugging if something goes awry.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-02-15 11:16:27 +00:00
commit bdb6ae69b3

View file

@ -12,7 +12,7 @@ class Base(BackendCmd):
cmd = ['/usr/bin/apt-get'] cmd = ['/usr/bin/apt-get']
mod_env = None mod_env = None
if not self.interactive: if not self.interactive:
cmd.extend(['-yq']) cmd.extend(['-yes', '--quiet', '--fix-broken'])
mod_env = { 'DEBIAN_FRONTEND': 'noninteractive' } mod_env = { 'DEBIAN_FRONTEND': 'noninteractive' }
cmd.extend(args) cmd.extend(args)
return await self._sudo(cmd, mod_env=mod_env) return await self._sudo(cmd, mod_env=mod_env)