Inexplicable dependencies?

Discussion topics, Linux related - not requests for help

Moderators: ChrisThornett, LXF moderators

Inexplicable dependencies?

Postby Rhakios » Mon Sep 05, 2011 4:39 pm

I have just been updating my Debian Squeeze box and noticed that it wanted to update apache2.2-bin. I can't think of any reason why I need apache on that box, it's not used as an http server, so I go to remove it...

Code: Select all
...
The following packages will be REMOVED:
  apache2.2-bin gnome gnome-desktop-environment gnome-user-share libapache2-mod-dnssd
0 upgraded, 0 newly installed, 5 to remove and 2 not upgraded.
...


What?! Why on Earth is Gnome in any way dependent on Apache, or vice versa? It seems to me that it might have something to do with user sharing? But really, my Ubuntu box doesn't need Apache installed in any way.
I might point out that Debian also suggests this little list should be removed using apt-get autoremove...

Code: Select all
The following packages were automatically installed and are no longer required:
  libmono-addins-gui0.2-cil mono-2.0-gac geoclue-localnet mesa-utils geoclue tomboy ekiga python-opengl
  libmtp8 libnm-glib-vpn1 gcalctool telepathy-salut gnuchess-book gnome-nettool gnome-games-extra-data
  libgnomepanel2.24-cil libglade2.0-cil baobab libtelepathy-glib0 python-mako pkg-config
  mobile-broadband-provider-info libglib2.0-cil obex-data-server libsrtp0 tcptraceroute gucharmap
  network-manager libdiscid0 gnome-games cheese gdebi evolution-exchange libgconf2.0-cil gnome-bluetooth
  libaprutil1-dbd-sqlite3 python-aptdaemon-gtk update-manager-core gnome-codec-install python-aptdaemon
  gnome-cards-data liferea-data cli-common gnome-themes-more rhythmbox libgstfarsight0.10-0
  gnome-screenshot libnm-util1 xdg-user-dirs-gtk libgexiv2-0 gnome-office update-manager-gnome
  cheese-common python-gtkglext1 libpcap0.8 libart2.0-cil epiphany-extensions libapr1
  update-notifier-common seahorse remmina-plugin-rdp empathy gdebi-core libaprutil1-ldap gvfs-bin
  update-notifier libgnome2.24-cil libndesk-dbus1.0-cil seahorse-plugins libgpod4 libgeoclue0
  remmina-plugin-vnc xdg-user-dirs libmono-cairo2.0-cil nautilus-sendto-empathy gedit-plugins
  libtelepathy-farsight0 network-manager-gnome libgnome-bluetooth7 gconf-defaults-service guile-1.8-libs
  shotwell dnsmasq-base gnome-themes-extras libgmime2.4-cil software-center libopal3.6.8
  libmono-i18n-west2.0-cil libgssdp-1.0-2 libcryptui0 simple-scan libmono-addins0.2-cil
  remmina-plugin-data python-markupsafe libgee2 python-webkit libmono-posix2.0-cil
  rhythmbox-plugin-cdrecorder libmono-security2.0-cil gtk2-engines-smooth gnome-backgrounds obexd-client
  gnome-search-tool libgtk2.0-cil geoclue-manual mono-gac python-vte libnm-glib2
  libfreerdp-plugins-standard geoclue-hostip vino aptdaemon usb-modeswitch-data gnome-games-data
  media-player-info telepathy-mission-control-5 ppp libclutter-gtk-0.10-0 tcl telepathy-gabble
  libmono-sharpzip2.84-cil usb-modeswitch libmono-corlib2.0-cil libgpod-common rhythmbox-plugins
  libchamplain-0.4-0 tcl8.4 libchamplain-gtk-0.4-0 gstreamer0.10-nice python-bugbuddy mono-runtime
  liferea libpt2.6.7 libgupnp-1.0-3 libcheese-gtk18 python-evolution libndesk-dbus-glib1.0-cil
  gconf-editor gnome-system-tools hamster-applet gnuchess libfreerdp0 libnice0 binfmt-support libssh-4
  libgnome-vfs2.0-cil transmission-common libaprutil1 geoclue-yahoo libnet1 gstreamer0.10-tools
  freeglut3 modemmanager totem-mozilla libgupnp-igd-1.0-3 libmono-system2.0-cil gnome-system-log
  libopenobex1 libspeexdsp1 nautilus-sendto transmission-gtk remmina empathy-common sound-juicer
  libmusicbrainz3-6
Use 'apt-get autoremove' to remove them.


Very likely. :roll:
Bye, Rhakios
User avatar
Rhakios
Moderator
 
Posts: 7634
Joined: Wed Apr 06, 2005 11:18 pm
Location: Midlands, UK

Postby roseway » Mon Sep 05, 2011 6:00 pm

The packages gnome and gnome-desktop-environment are metapackages, i.e. packages containing no code but just a list of dependencies. They are used by Debian to simplify the installation of a related group of packages. You can safely remove them with no effect on your system. I don't know why Apache is a dependency of gnome, but you can certainly uninstall it with no issues.

I'm not sure about that long autoremove list, but if you type

aptitude keep-all

it should deal with that situation.
Eric
roseway
LXF regular
 
Posts: 450
Joined: Thu Jan 18, 2007 2:27 pm

Postby Rhakios » Mon Sep 05, 2011 6:52 pm

From what I've read, I suspect Apache is needed for gnome-user-share, then this is listed by one of the metapackages. But still, I don't see why uninstalling metapackages should render the other packages as unrequired, that seems arse-about-face to me. It obviously isn't essential to do it this way as Ubuntu 10.04 doesn't.
Bye, Rhakios
User avatar
Rhakios
Moderator
 
Posts: 7634
Joined: Wed Apr 06, 2005 11:18 pm
Location: Midlands, UK

Postby roseway » Tue Sep 06, 2011 6:38 am

Yes, Apache is a dependency of gnome-user-share.

Presumably the autoremove list is in effect all the dependencies of the two metapackages which are being deleted. It might be argued that Debian's apt-get is being quite smart in offering to treat the metapackages this way.

Two suggestions:

1. Install synaptic and use that for package installation and removal. Its defaults are more benign in instances like this - you can delete a metapackage without any alarms.

2. Use aptitude instead of apt-get. Squeeze was released at the time when Debian was in a bit of a changeover state, but now with Testing, aptitude has become the preferred package management utility. Its algorithms are a bit different and rather more subtle.
Eric
roseway
LXF regular
 
Posts: 450
Joined: Thu Jan 18, 2007 2:27 pm

Postby Rhakios » Tue Sep 06, 2011 7:07 am

Aptitude will have to be it, as I usually do maintenance by logging in from the machine I happen to be sitting at. I see it's already installed. Hmmm man pages.

Urk! Needs more work:

Code: Select all
root@aglaia:/home/rhakios# aptitude remove apache2.2-bin
The following packages will be REMOVED: 
  apache2.2-bin
0 packages upgraded, 0 newly installed, 1 to remove and 1 not upgraded.
Need to get 0 B of archives. After unpacking 3,469 kB will be freed.
The following packages have unmet dependencies:
  gnome-user-share: Depends: apache2.2-bin but it is not going to be installed.
  libapache2-mod-dnssd: Depends: apache2.2-bin but it is not going to be installed.
The following actions will resolve these dependencies:

     Remove the following packages:
1)     gnome                       
2)     gnome-desktop-environment   
3)     gnome-user-share           
4)     libapache2-mod-dnssd       



Accept this solution? [Y/n/q/?] Y
The following packages will be REMOVED:
  apache2.2-bin aptdaemon{u} baobab{u} binfmt-support{u} cheese{u} cheese-common{u} cli-common{u}
  dnsmasq-base{u} ekiga{u} empathy{u} empathy-common{u} epiphany-extensions{u} evolution-exchange{u}
  freeglut3{u} gcalctool{u} gconf-defaults-service{u} gconf-editor{u} gdebi{u} gdebi-core{u}
  gedit-plugins{u} geoclue{u} geoclue-hostip{u} geoclue-localnet{u} geoclue-manual{u}
  geoclue-yahoo{u} gnome{a} gnome-backgrounds{u} gnome-bluetooth{u} gnome-cards-data{u}
  gnome-codec-install{u} gnome-desktop-environment{a} gnome-games{u} gnome-games-data{u}
  gnome-games-extra-data{u} gnome-nettool{u} gnome-office{u} gnome-screenshot{u} gnome-search-tool{u}
  gnome-system-log{u} gnome-system-tools{u} gnome-themes-extras{u} gnome-themes-more{u}
  gnome-user-share{a} gnuchess{u} gnuchess-book{u} gstreamer0.10-nice{u} gstreamer0.10-tools{u}
  gtk2-engines-smooth{u} gucharmap{u} guile-1.8-libs{u} gvfs-bin{u} hamster-applet{u}
  libapache2-mod-dnssd{a} libapr1{u} libaprutil1{u} libaprutil1-dbd-sqlite3{u} libaprutil1-ldap{u}
  libart2.0-cil{u} libchamplain-0.4-0{u} libchamplain-gtk-0.4-0{u} libcheese-gtk18{u}
  libclutter-gtk-0.10-0{u} libcryptui0{u} libdiscid0{u} libfreerdp-plugins-standard{u} libfreerdp0{u}
  libgconf2.0-cil{u} libgee2{u} libgeoclue0{u} libgexiv2-0{u} libglade2.0-cil{u} libglib2.0-cil{u}
  libgmime2.4-cil{u} libgnome-bluetooth7{u} libgnome-vfs2.0-cil{u} libgnome2.24-cil{u}
  libgnomepanel2.24-cil{u} libgpod-common{u} libgpod4{u} libgssdp-1.0-2{u} libgstfarsight0.10-0{u}
  libgtk2.0-cil{u} libgupnp-1.0-3{u} libgupnp-igd-1.0-3{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} libmusicbrainz3-6{u}
  libndesk-dbus-glib1.0-cil{u} libndesk-dbus1.0-cil{u} libnet1{u} libnice0{u} libnm-glib-vpn1{u}
  libnm-glib2{u} libnm-util1{u} libopal3.6.8{u} libopenobex1{u} libpcap0.8{u} libpt2.6.7{u}
  libspeexdsp1{u} libsrtp0{u} libssh-4{u} libtelepathy-farsight0{u} libtelepathy-glib0{u} liferea{u}
  liferea-data{u} media-player-info{u} mesa-utils{u} mobile-broadband-provider-info{u}
  modemmanager{u} mono-2.0-gac{u} mono-gac{u} mono-runtime{u} nautilus-sendto{u}
  nautilus-sendto-empathy{u} network-manager{u} network-manager-gnome{u} obex-data-server{u}
  obexd-client{u} pkg-config{u} ppp{u} python-aptdaemon{u} python-aptdaemon-gtk{u} python-bugbuddy{u}
  python-evolution{u} python-gtkglext1{u} python-mako{u} python-markupsafe{u} python-opengl{u}
  python-vte{u} python-webkit{u} remmina{u} remmina-plugin-data{u} remmina-plugin-rdp{u}
  remmina-plugin-vnc{u} rhythmbox{u} rhythmbox-plugin-cdrecorder{u} rhythmbox-plugins{u} seahorse{u}
  seahorse-plugins{u} shotwell{u} simple-scan{u} software-center{u} sound-juicer{u} tcl{u} tcl8.4{u}
  tcptraceroute{u} telepathy-gabble{u} telepathy-mission-control-5{u} telepathy-salut{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} vino{u} xdg-user-dirs{u} xdg-user-dirs-gtk{u}
0 packages upgraded, 0 newly installed, 170 to remove and 1 not upgraded.
Need to get 0 B of archives. After unpacking 371 MB will be freed.
Do you want to continue? [Y/n/?]


I think that's an "n" then.
Bye, Rhakios
User avatar
Rhakios
Moderator
 
Posts: 7634
Joined: Wed Apr 06, 2005 11:18 pm
Location: Midlands, UK

Postby roseway » Tue Sep 06, 2011 12:37 pm

I'm beginning to think that this could be something to do with the way the gnome metapackages are constructed then. I use Debian Testing with KDE, so it's not directly comparable to your situation, but I can remove metapackages with none of the problems you've seen.

Code: Select all
root@chaffinch:/home/eric# aptitude remove kde-standard
The following packages will be REMOVED: 
  kde-standard
0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 41.0 kB will be freed.
(Reading database ... 178745 files and directories currently installed.)
Removing kde-standard ...
                                         
root@chaffinch:/home/eric#



As an afterthought, perhaps you might try removing the metapackages one at a time first:

aptitude remove gnome-desktop-environment

aptitude remove gnome

...
Eric
roseway
LXF regular
 
Posts: 450
Joined: Thu Jan 18, 2007 2:27 pm

Postby Rhakios » Tue Sep 06, 2011 1:33 pm

Indeed, I think they've got the dependencies running both ways. I'll spare you the verbose output, but if I try to remove gnome-desktop-environment, then it says it'll need to remove gnome as well, and if I remove gnome then pretty much everything else gets called too. Ho hum.
Looks like I'll be leaving Apache in place, httpd isn't running, so it's not really doing anything worse than wasting a few megabytes of disk space. Still, it's slightly annoying.
Bye, Rhakios
User avatar
Rhakios
Moderator
 
Posts: 7634
Joined: Wed Apr 06, 2005 11:18 pm
Location: Midlands, UK

Postby Dutch_Master » Tue Sep 06, 2011 7:07 pm

Exactly. Welcome to Debian... :roll: I have the same issue, but with the library responsible for blacking out the screen. If you try to remove it, Gnome is pretty much Gone&NO-MorE... :evil:
Dutch_Master
LXF regular
 
Posts: 2460
Joined: Tue Mar 27, 2007 1:49 am

Postby roseway » Wed Sep 07, 2011 6:03 am

I can honestly say that in well over four years of using Debian on several different systems I've never experienced this issue. I often have occasion to remove metapackages, and it works just like I mentioned above. The only explanation I have, improbable though it may sound, is that the gnome metapackages are built so as to deliver this two-way dependency issue, but the KDE metapackages aren't.
Eric
roseway
LXF regular
 
Posts: 450
Joined: Thu Jan 18, 2007 2:27 pm

Postby pastychomper » Wed Sep 07, 2011 9:03 am

roseway wrote:The only explanation I have, improbable though it may sound, is that the gnome metapackages are built so as to deliver this two-way dependency issue, but the KDE metapackages aren't.


It's a deliberate feature of Gnome, designed to make uninstallation sufficiently painful that you won't even try to delete Mono when another package sneaks it in through the back door. :twisted:


On a completely unrelated note, why is it called uninstallation and not outstallation?
pastychomper
 
Posts: 53
Joined: Wed Apr 07, 2010 10:54 am

Postby ollie » Thu Sep 08, 2011 11:42 pm

pastychomper wrote:On a completely unrelated note, why is it called uninstallation and not outstallation?


... or unstallation? :lol:
User avatar
ollie
Moderator
 
Posts: 2749
Joined: Mon Jul 25, 2005 11:26 am
Location: Bathurst NSW Australia


Return to Discussion

Who is online

Users browsing this forum: No registered users and 1 guest