On 14 February 2018 at 21:32, Kyle <k...@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.
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.