It is a real pity. Now that Whonix's functionality is split into multiple packages, which made Whonix's source code much simpler to grasp, we still cannot tell users who wish to remove certain functionality to simply uninstall the package. Each package still needs a mechanism to disable its functionality while being enabled.
For example, a common use case were users wish to tunnel all their traffic through something... ( https://www.whonix.org/wiki/Features#VPN_.2F_Tunnel_support )
uwt ( https://github.com/Whonix/uwt ) is a common source of confusion. ( https://github.com/Whonix/Whonix/issues/242 )
We cannot simply tell users to remove it. Unfortunately, it's not all that simple. There are side effects.
sudo apt-get purge uwt
They would see something like this.
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
anon-banned-packages anon-iceweasel-warning gpl-sources-download knetattach-hide power-savings-disable-in-vms poweroff-passwordless rads scurl shared-folder-help swap-file-creator swappiness-lowest tor-ctrl
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
anon-shared-packages-recommended* uwt* whonix-shared-packages-recommended*
0 upgraded, 0 newly installed, 3 to remove and 2 not upgraded.
After this operation, 152 kB disk space will be freed.
Do you want to continue [Y/n]?
Whonix inherits a limitation of Debian's package management. (No idea if other distributions have a solution for this.) Unfortunately, there is no middle ground between Depends: and Recommends: that could be used for meta packages.
Documentation on how users could work around such issues has been added:
Also more verbose technical information on the issue:
Please check if these explanations make sense. I would be happy to clarify any questions you might have. Maybe you have an idea how to solve this mess, but I am not positive there is a solution here. Seems a limitation by Debian and it would require some kind middle ground between Depends: and Recommends: in debian/control.