6

So I want to remove (more exactly purge) some packages like gnome-games from Debian 6. As already expected and know by research Aptitude also wants to remove in example the meta-package gnome, as without the gnome-games the gnome package is not fully installed. No problem with that. But now the difference comes: Aptitude also wants to remove a ton of other important packages! How can I just avoid that? I cannot understand what in example network-manager has to do with gnome-games. Unmarking gnome-games as manually installed does not make a difference.

However, this is my console dump:

root@testing:/home/branch# aptitude purge gnome-games
The following packages will be REMOVED:  
gnome-games{p} 
0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 2,490 kB will be freed.
The following packages have unmet dependencies:
gnome: Depends: gnome-games (>= 1:2.30) but it is not going to be installed.
The following actions will resolve these dependencies:

Remove the following packages:
1)     gnome                       

Accept this solution? [Y/n/q/?] Y
The following packages will be REMOVED:
aptdaemon{u} binfmt-support{u} cli-common{u} dnsmasq-base{u} epiphany-extensions{u}
evolution-exchange{u} gdebi{u} gdebi-core{u} gedit-plugins{u} gnome{a}
gnome-codec-install{u} gnome-games{p} gnome-office{u} gnome-themes-extras{u}
gnome-themes-more{u} gtk2-engines-smooth{u} libart2.0-cil{u} libgconf2.0-cil{u} 
libgee2{u} libgexiv2-0{u} libglade2.0-cil{u} libglib2.0-cil{u} libgmime2.4-cil{u} 
libgnome-vfs2.0-cil{u} libgnome2.24-cil{u} libgnomepanel2.24-cil{u} libgpod-common{u}
libgpod4{u} libgtk2.0-cil{u} libmono-addins-gui0.2-cil{u} libmono-addins0.2-cil{u}
libmono-cairo2.0-cil{u} libmono-corlib2.0-cil{u} libmono-i18n-west2.0-cil{u}
libmono-posix2.0-cil{u} libmono-security2.0-cil{u} libmono-sharpzip2.84-cil{u}
libmono-system2.0-cil{u} libmtp8{u} libndesk-dbus-glib1.0-cil{u} libndesk-dbus1.0-cil{u}
libnm-glib-vpn1{u} libpcsclite1{u} liferea{u} liferea-data{u} media-player-info{u}
mobile-broadband-provider-info{u} modemmanager{u} mono-2.0-gac{u} mono-gac{u}
mono-runtime{u} network-manager{u} network-manager-gnome{u} ppp{u} python-aptdaemon{u}
python-aptdaemon-gtk{u} python-mako{u} python-markupsafe{u} python-vte{u}
python-webkit{u} rhythmbox{u} rhythmbox-plugin-cdrecorder{u} rhythmbox-plugins{u}
shotwell{u} simple-scan{u} software-center{u} tcl{u} tcl8.4{u} tomboy{u} totem-mozilla{u}
transmission-common{u} transmission-gtk{u} update-manager-core{u} update-manager-gnome{u}
update-notifier{u} update-notifier-common{u} usb-modeswitch{u} usb-modeswitch-data{u}
wpasupplicant{u}
0 packages upgraded, 0 newly installed, 79 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 143 MB will be freed.
Do you want to continue? [Y/n/?] n
Abort.

Edit: Aptitude wants to remove all the packages as it assumes they are unused after removing the gnome metapackage. But that definitely is not the case. How to tell aptitude that it simply keeps those packages? It does not give any other option.

3

It appears that all of those were automatically installed as dependencies of the gnome metapackage. As you said, the gnome metapackage is incomplete without the gnome-games package, so it must be removed. That renders all the packages listed unused and so aptitude wants to remove them. There may be a way to remove gnome without removing its unused dependencies, but a quick search didn't show one and I suspect that it would try to uninstall them every time you removed something else. Your best bet is probably to figure out which of those packages you explicitly want and mark them manually installed, then let it uninstall the remainder if they're still unneeded.

  • 1
    is right, what you could try is using aptitude's GUI to remove gnome and, in the preview (after one g), deselect the parts you want to keep from the list of packages-to-be-removed (i.e. remove the A from ipA by pressing M). You can always press Ctrl+t and select something like Forget planned actions when you got stuck or decide to start over. – sr_ Feb 27 '12 at 8:28
  • Thank you both for the hints. Now I solved the matter in the way, that I did some copy-pasta. I simply copied the long list of packages aptitude wanted to remove and marked those as manually installed. Then I purged the gnome-games package and only the gnome metapackage has been removed. Though I do not think that this is the most elegant way to do it. – Peter Feb 27 '12 at 8:44
  • That last key is meant to be m, not M; see also this answer. (edit ok, fine.) – sr_ Feb 27 '12 at 8:46
7

For Debian and spinoffs, after you login to Gnome hit CtrlAltF1 and get to a console window.

Login as root OR yourself then sudo su (different distros get stupid about root, sudo and su).

Type apt-get remove gnome-games without quotes and press Enter- it will say its getting rid of gnome and gnome-games - choose Yes or OK - it will mark them all for removal.

Then type apt-get install gnome-core and choose Yes to install it will mark gnome-core to stay and show you all the game apps that are no longer in use and can be auto removed.

Then type apt-get autoremove and you should see all the game data about to be blasted out and your ready to go - no baloney, no removing entire gnome etc.

apt-get clean or apt-get autoclean can get you some disk space from cached install files.

https://help.ubuntu.com/community/AptGet/Howto

0

By default, aptitude looks for and uninstalls dependencies, which is USUALLY exactly what you want to do. The comprehensive gnome-games package apparently has various games that include these diverse dependencies.

HOWEVER, the dpkg -r command does NOT look for dependencies; it just removes precisely what you tell it to. In many cases that would be a bad thing (as it could potentially leave your system unstable), but in this instance, instability would be unlikely and it may be the best solution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.