You are not logged in.

#1 2016-06-26 07:19:53

ivanmlerner
Member
From: São Paulo
Registered: 2016-03-30
Posts: 36

Dependency management

Hello all, I am looking for a file manager and was trying konqueror, but the embedded terminal wouldn't work, so I installed konsole to see if, with the default terminal for konqueror, it would work.
The weird part begins here, I saw that there was a cyclic dependency as warned by pacman, but I lost the terminal output, so I tried to find out what this cyclic dependency was by uninstalling konsole and reinstalling it. While doing this, I realized that the number of packages that was being uninstalled was way smaller than the number of packages I was required to install as dependencies for konsole in the first place, so I removed every package that pacman.log said it had installed when installing konsole, and the total size of the removed packages matched the total size of the installed ones. To install it I had to use around 107MB but when uninstalling it the first way only 30MB would be cleared. Only two packages were optional dependencies for other packages in the computer, so that does not explain the difference. I used "sudo pacman -Rns xxxxxxxxx" to try to remove konsole the first way.

Now my questions are:
Why does this happen? (uninstalling leaves some packages)
How do I find and remove those packages when uninstalling a program?

Thanks

EDIT: Same thing happens for nautilus when uninstalling. It leaves many packages pacman.log says it installed when installing nautilus, and removes only a few.

Last edited by ivanmlerner (2016-06-26 08:02:48)

Offline

#2 2016-06-26 08:54:10

GSF1200S
Member
Registered: 2008-12-24
Posts: 474

Re: Dependency management

ivanmlerner wrote:

Hello all, I am looking for a file manager and was trying konqueror, but the embedded terminal wouldn't work, so I installed konsole to see if, with the default terminal for konqueror, it would work.
The weird part begins here, I saw that there was a cyclic dependency as warned by pacman, but I lost the terminal output, so I tried to find out what this cyclic dependency was by uninstalling konsole and reinstalling it. While doing this, I realized that the number of packages that was being uninstalled was way smaller than the number of packages I was required to install as dependencies for konsole in the first place, so I removed every package that pacman.log said it had installed when installing konsole, and the total size of the removed packages matched the total size of the installed ones. To install it I had to use around 107MB but when uninstalling it the first way only 30MB would be cleared. Only two packages were optional dependencies for other packages in the computer, so that does not explain the difference. I used "sudo pacman -Rns xxxxxxxxx" to try to remove konsole the first way.

Now my questions are:
Why does this happen? (uninstalling leaves some packages)
How do I find and remove those packages when uninstalling a program?

Thanks

EDIT: Same thing happens for nautilus when uninstalling. It leaves many packages pacman.log says it installed when installing nautilus, and removes only a few.

Running

pacman -R packagename

only removes the package. You need to use -Rs and (carefully) even -Rcs options to remove packages and their dependencies. You can also use -Qdt to list orphaned packages that were not explicitly installed nor are required as a dependency of another application.

Please see: https://wiki.archlinux.org/index.php/pa … g_packages

I highly suggest reading all of that wiki carefully and actually trying some of the commands (especially the Query ones) to get comfortable with pacman. Sooner or later, you will need to do some changes or surgery (bug due to upstream package, a change in personal preference for a package to offer a service [like changing from Chromium to Firefox or dnsmasq to pdnsd etc], and you need to be comfortable with pacman for such operations. Good luck smile

Last edited by GSF1200S (2016-06-26 08:54:59)

Offline

#3 2016-06-26 09:01:56

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,390
Website

Re: Dependency management

There is an issue in pacman where if it has a dependency loop, using -Rs will not remove all dependencies.  This is fixed in the developmental version.

Online

Board footer

Powered by FluxBB