Bei pacman sind folgende Optionen interessant:
-s, --recursive
For each target specified, remove it and all its dependencies, provided that
(A) they are not required by other packages; and (B) they were not explicitly
installed by the user. This option is analagous to a backwards --sync opera-
tion.
-e, --orphans
List all packages that were explicitly installed (ie, not pulled in as a
dependency by other packages) and are not required by any other packages.
Ich habe mal kurz ein paar Szenarien durchgespielt und geschaut, was er bei welcher Option löschen möchte:
[root@satellite test]# pacman -Rcs kdebase
Targets: kdewebdev tidyhtml qtcurve tiblit knifty kdevelop graphviz tk kdesdk
kdenetwork perl-io-socket-ssl perl-net-ssleay rdesktop openslp
kdeartwork kdeaddons kdegames kdemultimedia tunepimp kdepim libmal
gnokii pilot-link gpgme gnupg kde-i18n-de kdebase pmount sysfsutils
libxdamage damageproto libxcomposite compositeproto libraw1394
lm_sensors eject
Do you want to remove these packages? [Y/n] n
[root@satellite test]# pacman -Rc kdebase
Targets: kdewebdev qtcurve tiblit knifty kdevelop kdesdk kdenetwork kdeartwork
kdeaddons kdepim kde-i18n-de kdebase
Do you want to remove these packages? [Y/n] n
[root@satellite test]# pacman -R kdebase
error: this will break the following dependencies:
kdebase: is required by kde-i18n-de
kdebase: is required by kdeaddons
kdebase: is required by kdeartwork
kdebase: is required by kdenetwork
kdebase: is required by kdepim
kdebase: is required by kdevelop
kdebase: is required by knifty
kdebase: is required by tiblit
kdebase: is required by qtcurve