I have a Apt configuration file at /etc/apt/apt.conf.d/99recommends-and-suggests, containing:
APT::Install-Recommends "true";
APT::Install-Suggests "false";
APT::AutoRemove::RecommendsImportant "true";
APT::AutoRemove::SuggestsImportant "false";
For example, apt-cache depends inxi shows:
inxi
Depends: pciutils
Depends: procps
Depends: <perl:any>
perl
Recommends: dmidecode
Recommends: dnsutils
bind9-dnsutils
Recommends: file
|Recommends: iproute2
Recommends: net-tools
Recommends: kmod
Recommends: lm-sensors
Recommends: mesa-utils
|Recommends: sudo
sudo-ldap
Recommends: doas
opendoas
Recommends: tree
Recommends: usbutils
Recommends: x11-utils
Recommends: x11-xserver-utils
Suggests: libxml-dumper-perl
|Suggests: wget
|Suggests: curl
Suggests: libhttp-tiny-perl
perl
The above output indicates the package inxi depends on the "recommended" iproute2 package, but net-tools can also replace it.
apt-cache depends --installed inxi after apt install -y inxi:
inxi
Depends: pciutils
Depends: procps
Recommends: dmidecode
Recommends: file
|Recommends: iproute2
Recommends: kmod
Recommends: lm-sensors
Recommends: mesa-utils
|Recommends: sudo
sudo-ldap
Recommends: tree
Recommends: usbutils
Recommends: x11-utils
Recommends: x11-xserver-utils
|Suggests: wget
|Suggests: curl
This shows that apt has selected to install iproute2 instead of net-tools, as auto-installed package.
At this stage, if I do:
apt install -y net-tools && apt-mark auto net-tools
apt autoremove will not remove net-tools as it is the dependency for inxi, even if iproute2 is present.
For this kind of problems, is there a way to autoremove the redundant, auto-installed dependencies (for Depends, Recommends, and Suggests)?