当我安装 Web 浏览器时,apt-get 会尝试删除所有 xserver-xorg 包

当我安装 Web 浏览器时,apt-get 会尝试删除所有 xserver-xorg 包

当我尝试使用 apt-get 安装 uzbl(一个极简的网络浏览器)时,apt 会尝试删除很多这些包不可能与 uzbl 包有任何关系 - 因为它只是一个网络浏览器。

[ ~/downloads ] % sudo apt-get install uzbl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  bluez-gnome libswfdec-0.6-90 libpopt-dev libplist1 evolution-common mesa-utils libgnomekbd2 libtracker-client-0.8-0 gnome-utils-common libepc-ui-1.0-1 libepc-ui-1.0-2 libtalloc1 libcdio10 geoclue libglib-perl libwildmidi1
  ekiga python-opengl liborc-0.4-0 python-gst0.10 libzbar0 libio-compress-zlib-perl gcalctool libcompress-raw-zlib-perl libarchive1 libpth20 python-gnome2 gnome-nettool libflite1 gnome-media libepc-1.0-1 libepc-1.0-2
  libgtk-vnc-1.0-0 python-pexpect nautilus libgksu1.2-0 python-notify xfonts-scalable baobab libtelepathy-glib0 libsensors3 usbmuxd gstreamer0.10-plugins-ugly python-beaker genisoimage gnome-settings-daemon obex-data-server
  djvulibre-desktop librdf0 libsrtp0 libbrasero-media0 brasero-common libsoundtouch1c2 libgda3-common gucharmap zenity libgksuui1.0-1 libdiscid0 gnome-games hplip-cups cheese upower libaprutil1-dbd-sqlite3 libgnome-media0
  app-install-data gnome-power-manager gnome-cards-data check gnome-screensaver libgtksourceview1.0-0 rhythmbox libburn4 w3c-dtd-xhtml gnome-screenshot python-gdata alacarte gedit gnome-menus python-gtksourceview2
  gnome-session-common gtk2-engines-pixbuf libtdb1 system-config-printer dvd+rw-tools apache2.2-bin libio-compress-base-perl cheese-common xserver-common python-gtkglext1 libdca0 libapm1 epiphany-extensions
  python-sqlalchemy libpt-1.10.10-plugins-alsa libupower-glib1 gnome-themes update-notifier-common libtrackerclient0 metacity-common seahorse libggzmod4 libgnome2-perl libxml-twig-perl libtotem-plparser10 libslv2-9
  libusb-1.0-0 libtotem-plparser17 python-pyorbit totem-common libaprutil1-ldap python-gconf libass4 gvfs-bin vinagre swfdec-gnome libedata-cal1.2-6 libdevkit-power-gobject1 libpt-1.10.10 libsysfs-dev libdirectfb-extra
  gnome-media-common seahorse-plugins nautilus-data librasqal2 bluez libgnome-menu2 libgeoclue0 libgalago3 system-tools-backends libpciaccess0 liblqr-1-0 libgnome-bluetooth7 gconf-defaults-service libdirectfb-dev
  libpolkit-gtk-1-0 libeel2-data python-gtkmozembed xkb-data python-gtkhtml2 xfonts-75dpi python-beautifulsoup libgnomekbd-common p7zip gedit-common gnome-utils gnome-themes-extras libopal3.6.8 libdmx1 libschroedinger-1.0-0
  libdirectfb-1.2-9 libgssdp-1.0-2 libcryptui0 libgdu-gtk0 finger gdm-themes libnet-dbus-perl arj python-webkit libenca0 gnome-about gnome-volume-manager libexempi3 libcdio-cdda0 gtk2-engines libgnomeprint2.2-data
  libgtksourceview2.0-common python-imaging libkpathsea4 libgnomekbdui2 eog gdm xfonts-base libgtksourceview2.0-0 libslab0 gnome-dictionary capplets-data libgnome2-vfs-perl gnome-disk-utility python-glade2 gnome-backgrounds
  python-eggtrayicon python-sip4 obexd-client python-xdg gnome-spell gnome-search-tool libvpx0 python-vte libggz2 libgtk2-perl gnome-session-bin python-xapian libjpeg62-dev libgme0 libgmime-2.4-2 libunique-1.0-0
  python-feedparser wodim libgtksourceview-common vino gnome-system-monitor libcanberra-gtk0 libimobiledevice1 python-gnupginterface libbluetooth3 gnome-games-data media-player-info telepathy-mission-control-5
  libapache2-mod-dnssd rcs python2.6-dev libeel2-2.20 libclutter-gtk-0.10-0 libmagickcore3 libopal-2.2 totem-gstreamer libgnome-window-settings1 libdvdread4 xfonts-100dpi cdrdao libgdata7 libgnomevfs2-bin libdrm-radeon1
  libchamplain-0.4-0 keyboard-configuration libchamplain-gtk-0.4-0 libepc-common libkate1 gstreamer0.10-nice libcdaudio1 libmimic0 libmozjs1d libmpeg3-dev libcap-ng0 libusbmuxd1 python-bugbuddy libpt2.6.7

答案1

当您尝试安装一个包含大量依赖项的软件包时,会发生这种情况,其中一个依赖项与您已安装的软件包冲突。存储库中可能有冲突软件包的较新版本。

当您指示apt-get安装某个软件包时,它会尝试通过尽可能少的更改使您的系统处于包含该软件包的状态。通常,这意味着安装软件包及其依赖项;也可能意味着删除冲突的软件包。

apt-get upgrade由于您正在跟踪 Debian 测试,因此您应该能够同时安装几乎所有软件包(对于允许存在未满足的依赖关系的不稳定系统,情况并非如此)。最简单的方法通常是在安装新软件包之前或安装新软件包时更新系统apt-get dist-upgrade

您也可以尝试使用aptitude而不是。它在解决冲突方面更智能,所以有时它会在炸弹爆炸apt-get时只做您想做的事情;还可以让您在解决冲突的几种方法之间进行选择。apt-getaptitude

相关内容