On 14 February 2018 at 21:32, Kyle <kyle@free2.ml> wrote:
Maarten de Vries ALIANDIKA: # pacman -Rs $(pacman -Qqdt)
Unfortunately this will break my system. It's trying to remove git for one thing, which is definitely something I need. Not to mention that I installed git explicitly, so pacman definitely shouldn't be removing it. I can see a whole lot of other explicitly installed packages as well as packages that are installed as build dependencies that would also be removed using this method, which is unacceptable at least on my system.
This should not be the case. The -d flag to pacman -Q restricts the output to packages installed as dependency. The -t option restricts it to packages that are no longer needed by any other package. If that command removes a package, pacman thinks it's an unneeded dependency. So my guess is that either you had a typo, or the packages are currently indeed in pacman's local database as installed as dependency. Check the output of pacman -Qi for the packages that you think are marked as explicitly installed (in particular "Install Reason" near the bottom). Now, considering that this should work (if it does not there are other problems), I think occasionally doing this manually is fine. Heck, if you must, put it on a cronjob. But it will probably break your system from time to time because it may turn out you were actually using packages that happened to be installed as a dependency. That on it's own is enough reason for me not to make pacman do it automatically. Regardless of who is lazy and who is stupid or not. P.S. The -s flag to pacman -R is just there so you get rid of packages that will be unneeded dependencies after the removal in one go. I actually kinda like leaving it off an running the command multiple times to see how often I have to run it before everything is gone. Everybody needs a hobby.