Dieser Apt-get-Austausch verwirrt mich (auf einer 64-Bit-CPU):
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
Beim Ausführen des Befehls entsteht folgende Ausgabe:
$ sudo apt-get install libgirepository-1.0-1:i386
Following packages have been installed and are no longer necessary:
app-install-data-partner cdrdao fonts-lao fonts-thai-tlwg fonts-tlwg-garuda
fonts-tlwg-kinnari fonts-tlwg-loma fonts-tlwg-mono fonts-tlwg-norasi
fonts-tlwg-purisa fonts-tlwg-sawasdee fonts-tlwg-typewriter
fonts-tlwg-typist fonts-tlwg-typo fonts-tlwg-umpush fonts-tlwg-waree
foomatic-db-compressed-ppds gir1.2-dbusmenu-glib-0.4
gir1.2-javascriptcoregtk-3.0 gnome-icon-theme gnome-icon-theme-symbolic
gstreamer1.0-clutter humanity-icon-theme indicator-application kdesudo
kubuntu-notification-helper libao-common libao4 libappindicator1
libappindicator3-1 libcairo-script-interpreter2 libcairo2-dev
libclutter-1.0-0 libclutter-1.0-common libclutter-gst-2.0-0
libclutter-gtk-1.0-0 libcogl-common libcogl-pango15 libcogl15
libdbusmenu-gtk3-4 libfontconfig1-dev libfreetype6-dev libgmime-2.6-0
libharfbuzz-dev libharfbuzz-gobject0 libindicator3-7 libindicator7
libjson-glib-1.0-0 libjson-glib-1.0-common libnautilus-extension1a
libpeas-common libperl4-corelibs-perl libpixman-1-dev libpng12-dev
libtotem-plparser18 libxcb-shm0-dev libxcomposite-dev libxft-dev
libzeitgeist-2.0-0 printer-driver-min12xxw python-defer python3-pykde4
syslinux-legacy ubuntu-extras-keyring ubuntu-release-upgrader-qt
x11proto-composite-dev
...
Following packages will be REMOVED:
aptdaemon apturl-kde gir1.2-atk-1.0 gir1.2-dee-1.0 gir1.2-freedesktop
gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0 gir1.2-gst-plugins-base-0.10
gir1.2-gstreamer-0.10 gir1.2-gtk-2.0 gir1.2-gtk-3.0 gir1.2-pango-1.0
gir1.2-peas-1.0 gir1.2-soup-2.4 gir1.2-totem-1.0 gir1.2-totem-plparser-1.0
gir1.2-udisks-2.0 gir1.2-unity-5.0 gir1.2-vte-2.90 gir1.2-webkit-3.0
kubuntu-desktop libatk1.0-dev libgdk-pixbuf2.0-dev libgirepository-1.0-1
libgtk2.0-dev libgtkglext1-dev libmuonprivate2 libpango1.0-dev
libpangox-1.0-dev libpeas-1.0-0 libtotem0 muon muon-discover muon-notifier
muon-updater python-appindicator python-aptdaemon
python-aptdaemon.gtk3widgets python-gi python-gi-cairo python-gobject
python-gst0.10 python-indicate python3-aptdaemon
python3-aptdaemon.gtk3widgets python3-gi software-properties-common
software-properties-gtk software-properties-kde totem totem-mozilla
totem-plugins ubuntu-release-upgrader-gtk update-manager update-notifier
usb-creator-common
Following NEW packages will be installed:
libgirepository-1.0-1:i386
Ich habe zwei Fragen.
- Warum glaubt apt-get, dass es so viele Pakete entfernen sollte? Ich habe ihm überhaupt nicht gesagt, dass es Totem entfernen soll.
- Wenn das nächste Mal eine wirklich seltsame
apt-get
Situation wie die oben beschriebene auftritt, wie kann ich dann selbst herausfinden, warum sich apt-get scheinbar so seltsam verhält?
Antwort1
Zunächst sollten Sie wissen, dass dies keine seltsame Aktion ist. Es ist völlig richtig und Sie haben irgendwie um diese Aktion gebeten!!
Warum passiert das?
Sie möchten installieren libgirepository-1.0-1:i386
, haben aber bereits diese
libgirepository-1.0-1
64-Bit-Version. Deshalb fordert Sie das System hier auf, die 64-Bit-Version durch diese 32-Bit-Version zu ersetzen.
Dieses Ersetzen hat einige Konsequenzen. Wenn Sie sich für das Ersetzen entscheiden, bedeutet dies, dass das System stattdessen die 32-Bit-Version löscht libgirepository-1.0-1
und installiert. Wenn dieses Bibliothekspaket gelöscht wird, löscht das System daher auch andere davon abhängige Anwendungen, da diese Anwendungen nicht mehr verfügbar sind, wenn diese Bibliothek entfernt wird.
Zum Beispiel, warum Totem entfernt wird, schauen wir uns die Totem-Abhängigkeiten an
$ apt-cache rdepends totem
totem
Reverse Depends:
totem:i386
totem:i386
libtotem0:i386
libtotem-dev:i386
gnome-settings-daemon:i386
totem-plugins-extra
ubuntu-desktop
totem-plugins
totem-mozilla
totem-dbg
totem
|nautilus
libtotem0
libtotem-dev
gnome-settings-daemon
totem:i386
totem:i386
libtotem0:i386
libtotem-dev:i386
gnome-settings-daemon:i386
ubuntustudio-desktop
ubuntu-sugar-remix
|tunapie
totem-plugins-extra
totem-plugins-dvb-daemon
totem-plugin-arte
totem-plugin-arte
streamtuner2
remuco-totem
gnome-core
ezgo-multimedia
bombono-dvd
ubuntu-desktop
totem-plugins
totem-mozilla
totem-dbg
totem
|nautilus
libtotem0
libtotem-dev
gnome-settings-daemon
Wie Sie oben sehen, ist Totem von libtotem0
und vielen anderen Paketen abhängig. Nehmen wir jedoch dieses Paket als Beispiel. Wenn Sie jetzt die Abhängigkeiten überprüfen, libgirepository-1.0-1
werden Ihnen auch und viele andere angezeigt libtotem0
. Um das Beispiel zu erklären: Wenn Sie das löschen libgirepository-1.0-1
und die 32-Bit-Version installieren möchten, müssen Sie das entfernen, libtotem0
um auch die 32-Bit-Version zu installieren und mit 32 Bit kompatibel zu sein, libgirepository-1.0-1
und Sie werden Totem entfernen (auch wenn Sie es nicht so meinen).
Hoffe, dass jetzt alles klar ist