1

My Debian wants me to invoke apt-get autoremove

There are a lot of packages was installed automatically:

 apache2.2-bin baobab binfmt-support bluez cheese cheese-common cli-common
  dasher dasher-data dmz-cursor-theme dnsmasq-base ekiga empathy
  empathy-common eog epiphany-extensions espeak espeak-data evolution-exchange
  file-roller freedesktop-sound-theme freeglut3 gcalctool
  gconf-defaults-service gconf-editor gdebi gdebi-core gedit gedit-common
  gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
  geoclue-yahoo gnome-accessibility-themes gnome-backgrounds gnome-bluetooth
  gnome-cards-data gnome-disk-utility gnome-games gnome-games-data
  gnome-games-extra-data gnome-mag gnome-nettool gnome-office gnome-orca
  gnome-screensaver gnome-screenshot gnome-search-tool gnome-session-canberra
  gnome-system-log gnome-system-tools gnome-themes gnome-themes-extras
  gnome-themes-more gnome-user-share gnuchess gnuchess-book gok
  gstreamer0.10-nice gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
  gtk2-engines-smooth gucharmap guile-1.8-libs gvfs-bin hamster-applet
  libapache2-mod-dnssd libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libart2.0-cil libavahi-ui0 libbrlapi0.5 libcap-ng0
  libchamplain-0.4-0 libchamplain-gtk-0.4-0 libcheese-gtk18
  libclutter-gtk-0.10-0 libcolorblind0 libcryptui0 libdiscid0 libelf1
  libepc-1.0-2 libepc-common libepc-ui-1.0-2 libespeak1
  libfreerdp-plugins-standard libfreerdp0 libgail-gnome-module libgalago3
  libgconf2.0-cil libgdata-common libgdata7 libgdu-gtk0 libgee2 libgeoclue0
  libgexiv2-0 libglade2.0-cil libglib2.0-cil libgmime2.4-cil
  libgnome-bluetooth7 libgnome-mag2 libgnome-speech7 libgnome-vfs2.0-cil
  libgnome2.24-cil libgnomepanel2.24-cil libgpod-common libgpod4
  libgssdp-1.0-2 libgstfarsight0.10-0 libgtk2.0-cil libgtksourceview2.0-0
  libgtksourceview2.0-common libgupnp-1.0-3 libgupnp-igd-1.0-3 liblouis-data
  liblouis2 libmono-addins-gui0.2-cil libmono-addins0.2-cil
  libmono-cairo2.0-cil libmono-corlib2.0-cil libmono-i18n-west2.0-cil
  libmono-posix2.0-cil libmono-security2.0-cil libmono-sharpzip2.84-cil
  libmono-system2.0-cil libmusicbrainz3-6 libndesk-dbus-glib1.0-cil
  libndesk-dbus1.0-cil libnet1 libnice0 libnl1 libnm-glib-vpn1 libnm-glib2
  libnm-util1 libopal3.6.8 libopenobex1 libpcap0.8 libpcsclite1 libportaudio2
  libpt2.6.7 librpm1 librpmio1 libspeexdsp1 libsrtp0 libssh-4
  libtelepathy-farsight0 libtelepathy-glib0 libtidy-0.99-0 liferea
  liferea-data media-player-info mesa-utils mobile-broadband-provider-info
  modemmanager mono-2.0-gac mono-gac mono-runtime mousetweaks nautilus-sendto
  nautilus-sendto-empathy network-manager network-manager-gnome
  obex-data-server obexd-client pkg-config ppp python-axiom
  python-beautifulsoup python-brlapi python-bugbuddy python-clientform
  python-coherence python-configobj python-crypto python-epsilon
  python-evolution python-feedparser python-gdata python-gdbm python-gtkglext1
  python-gtksourceview2 python-httplib2 python-louie python-louis python-mako
  python-markupsafe python-mechanize python-nevow python-opengl python-pyasn1
  python-pyatspi python-pysqlite2 python-rdflib python-tagpy
  python-twisted-conch python-utidylib python-webkit remmina
  remmina-plugin-data remmina-plugin-rdp remmina-plugin-vnc rhythmbox
  rhythmbox-plugin-cdrecorder rhythmbox-plugins rpm-common rpm2cpio seahorse
  seahorse-plugins shotwell simple-scan software-center sound-juicer tcl
  tcl8.4 tcptraceroute telepathy-gabble telepathy-mission-control-5
  telepathy-salut tomboy totem totem-coherence totem-common totem-mozilla
  totem-plugins transmission-common transmission-gtk update-manager-core
  update-manager-gnome update-notifier update-notifier-common usb-modeswitch
  usb-modeswitch-data vino wpasupplicant xdg-user-dirs xdg-user-dirs-gtk

I ask you, are there some packages, that are necessary and why Debian suddenly decided them as unused?

EEAA
  • 109,363
  • 18
  • 175
  • 245
atomAltera
  • 189
  • 1
  • 2
  • 7

2 Answers2

2

It is possible some of those packages are required. Auto-remove is all about how the packages got installed.

Lets assume you had used one or more big meta package that had dependencies that required many other packages to get installed. When you remove that big meta-package all the packages that were automatically included will be be considered to no longer be required.

You may need them installed on your system, or maybe not. You will have to evaluate the list of packages yourself. A large number of those packages all have to do with a GUI desktop environment which you wouldn't be running on a server. Assuming you are planning on removing the GUI, then a large majority of those packages can actually be removed.

But you also have a few things in that list that are not exclusively needed by the GUI like the PPP stuff, and the Apache related packages. Those you may need to keep.

What you may need to do is simply go review the purpose of each package and then remove them one by one. Or if you have a good backup of your system, then you could just remove everything, and restore the packages and any configuration if that is required.

Zoredache
  • 130,897
  • 41
  • 276
  • 420
  • Package A requires package B. Package A is considered popular so is included by default. So package B has to be there. You write a program that needs package B. But your program is not a package so package management does not know about your need for package B. You discover that package A is something you don't need. So you remove package A. Would you like for package B to be removed now that nothing known to the package management system needs it? – Skaperen Sep 07 '12 at 23:33
  • I think this looks like debian bug or package broken dependencies. Are there other ways to resolve this problem? I think so: for example I have A and B packages and B depends from A? Then I install package C that depends from A. If then I remove B package, package A will be marked as unused? – atomAltera Sep 08 '12 at 07:10
0

What type of system is this and what is its use?

How you proceed depends much on how you use the system and how critical downtime is.

If this is a personal machine, I'd log the packages being removed, absent libraries (but including development libraries which you may have added for build support), and commit the action including the autoremoval. Note that serverfault is not for discussion of personal machines (see poweruser for that), but for production hosts and workstations.

If there's a given package from that list that you find you need, add it back.

In the event that there's some packaging conflict resulting in this request, it's generally easier to resolve these with fewer rather than more packages on your system.

If this is a production server of any stripe, I'd replicate its configuration elsewhere (on a virtual machine if necessary), and sort out what does and doesn't have to be there, and follow proper upgrade procedures. Though I'd also ask what you're doing with rythmbox on a production server.