Linux Format forums Forum Index Linux Format forums
Help, discussion, magazine feedback and more
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Inexplicable dependencies?

 
Post new topic   Reply to topic    Linux Format forums Forum Index -> Discussion
View previous topic :: View next topic  
Author Message
Rhakios
Moderator


Joined: Thu Apr 07, 2005 12:18 am
Posts: 7627
Location: Midlands, UK

PostPosted: Mon Sep 05, 2011 5:39 pm    Post subject: Inexplicable dependencies? Reply with quote

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:

...
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:

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. Rolling Eyes
_________________
Bye, Rhakios
Back to top
View user's profile Send private message
roseway
LXF regular


Joined: Thu Jan 18, 2007 2:27 pm
Posts: 446

PostPosted: Mon Sep 05, 2011 7:00 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
Rhakios
Moderator


Joined: Thu Apr 07, 2005 12:18 am
Posts: 7627
Location: Midlands, UK

PostPosted: Mon Sep 05, 2011 7:52 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
roseway
LXF regular


Joined: Thu Jan 18, 2007 2:27 pm
Posts: 446

PostPosted: Tue Sep 06, 2011 7:38 am    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
Rhakios
Moderator


Joined: Thu Apr 07, 2005 12:18 am
Posts: 7627
Location: Midlands, UK

PostPosted: Tue Sep 06, 2011 8:07 am    Post subject: Reply with quote

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:

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
Back to top
View user's profile Send private message
roseway
LXF regular


Joined: Thu Jan 18, 2007 2:27 pm
Posts: 446

PostPosted: Tue Sep 06, 2011 1:37 pm    Post subject: Reply with quote

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:
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
Back to top
View user's profile Send private message
Rhakios
Moderator


Joined: Thu Apr 07, 2005 12:18 am
Posts: 7627
Location: Midlands, UK

PostPosted: Tue Sep 06, 2011 2:33 pm    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
Dutch_Master
LXF regular


Joined: Tue Mar 27, 2007 2:49 am
Posts: 2431

PostPosted: Tue Sep 06, 2011 8:07 pm    Post subject: Reply with quote

Exactly. Welcome to Debian... Rolling Eyes 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 or Very Mad
Back to top
View user's profile Send private message
roseway
LXF regular


Joined: Thu Jan 18, 2007 2:27 pm
Posts: 446

PostPosted: Wed Sep 07, 2011 7:03 am    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
pastychomper



Joined: Wed Apr 07, 2010 11:54 am
Posts: 52

PostPosted: Wed Sep 07, 2011 10:03 am    Post subject: Reply with quote

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 Evil


On a completely unrelated note, why is it called uninstallation and not outstallation?
Back to top
View user's profile Send private message
ollie
Moderator


Joined: Mon Jul 25, 2005 12:26 pm
Posts: 2749
Location: Bathurst NSW Australia

PostPosted: Fri Sep 09, 2011 12:42 am    Post subject: Reply with quote

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


... or unstallation? Laughing
Back to top
View user's profile Send private message
View previous topic :: View next topic  
Display posts from previous:   
Post new topic   Reply to topic    Linux Format forums Forum Index -> Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Linux Format forums topic RSS feed 


Powered by phpBB © 2001, 2005 phpBB Group


Copyright 2011 Future Publishing, all rights reserved.


Web hosting by UKFast