libgirepository-1.0-1:i386을 설치하면 이상해집니다.

libgirepository-1.0-1:i386을 설치하면 이상해집니다.

이 apt-get 교환은 나를 당황하게 만듭니다(64비트 CPU에서).

$ lsb_release -a                                                                                                                                                                       
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:        14.04
Codename:       trusty

명령을 실행하면 다음과 같은 출력이 발생합니다.

$ 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   

내 질문은 두 가지입니다.

  1. apt-get은 왜 그렇게 많은 패키지를 제거해야 한다고 생각합니까? 토템을 제거하라고는 전혀 말하지 않았습니다.
  2. 다음에 apt-get위와 같은 정말 이상한 상황이 발생하면, apt-get이 왜 그렇게 이상하게 행동하는지 스스로 알아낼 수 있습니까?

답변1

먼저 이것이 이상한 행동이 아니라는 것을 알아야 합니다. 이것은 전적으로 옳고 이 행동을 요청하는 방법이 무엇인지!!

그렇다면 왜 이런 일이 발생합니까?

을(를 ) 설치하고 싶지만 libgirepository-1.0-1:i386이미 64비트 버전이 있으므로 libgirepository-1.0-1시스템에서는 64비트를 32비트로 교체하라는 메시지를 표시합니다.

이 대체에는 몇 가지 결과가 있습니다. 이를 대체하기로 선택하면 시스템이 libgirepository-1.0-1대신 32비트를 삭제하고 설치한다는 의미이므로 이 lib 패키지가 삭제되면 해당 애플리케이션을 더 이상 사용할 수 없으므로 시스템은 이에 의존하는 다른 애플리케이션을 삭제하게 됩니다. 이 라이브러리가 제거되면.

예를 들어 토템이 제거되는 이유는 토템 종속성을 살펴보겠습니다.

$ 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

위에서 볼 수 있듯이 토템은 libtotem0다른 많은 패키지에 의존하지만 이 패키지를 예로 들어 보겠습니다. 이제 해당 패키지의 종속성을 확인하면 다른 많은 패키지 libgirepository-1.0-1도 표시되므로 libtotem0예제를 설명하기 위해 삭제 libgirepository-1.0-1하고 설치하려는 경우 32비트인 경우 32 libtotem0비트와 호환되도록 하려면 32비트를 설치하려면 을 제거해야 하며 libgirepository-1.0-1토템을 제거할 예정입니다(의심하지 않더라도).

이제 상황이 명확해지길 바라요

관련 정보