Permanently Deleted

  • unperson [he/him]
    ·
    edit-2
    3 years ago
    REMOVE OPTIONS (APPLY TO -R)
           -c, --cascade
               Remove all target packages, as well as all packages that depend on
               one or more target packages. This operation is recursive and must
               be used with care, since it can remove many potentially needed
               packages.
    
           -s, --recursive
               Remove each target specified including all of their dependencies,
               provided that (A) they are not required by other packages; and (B)
               they were not explicitly installed by the user. This operation is
               recursive and analogous to a backwards --sync operation, and it
               helps keep a clean system without orphans. If you want to omit
               condition (B), pass this option twice.
    

    Just use -Rsc.

      • unperson [he/him]
        ·
        3 years ago

        🤔 now you mention it you should not have orphans if you always use -Rs either, the only difference should be that without -c pacman will fail when removing a package would break another package.

          • unperson [he/him]
            ·
            3 years ago

            The Debian and Fedora package managers are like -Rc, they remove dependencies instead of failing. Whether that's good or bad is up to you; I always use -c because it's easier to read a list and type yes than it is to type all the dependencies.

            -s goes "forwards" in the dependency chain (like --autoremove) and -c goes "backwards" (like other package managers).

            I'm not sure if this helps at all, but let's say there's a package zizek that depends on marx and lacan, lacan depends on freud. You are interested in classical and contemporary psychoanalisis so you do pacman -S freud zizek. It installs zizek and freud explicitly and lacan and marx as a dependencies, then you decide you don't have time for Lacan and:

            • pacman -R lacan will fail because zizek depends on lacan.

            • pacman -R lacan zizek will delete those two and leave marx and freud alone.

            • pacman -Rs lacan will also fail because zizek depends on lacan.

            • pacman -Rs lacan zizek will additionally delete marx because it was installed as a dependency.

            • pacman -Rss lacan zizek will additionally delete marx and freud, skipping the condition (B) of the manual.

            • pacman -Rc lacan will additionally delete zizek instead of erroring out, but it will leave freud and marx. This is what i.e. apt remove does.

            • pacman -Rsc lacan will delete lacan, zizek, and marx.

            • pacman -Rssc lacan will delete lacan, zizek, marx and freud.