Warum wird GNOME durch das Entfernen von Iceweasel zerstört?

Warum wird GNOME durch das Entfernen von Iceweasel zerstört?

Ich habe eine ältere Debian 7-VM zum Testen. Ich versuche, die Größe des VM-Footprints zu reduzieren, da ich fast keinen Platz mehr habe. Ich wollte Iceweasel entfernen, da ich es nicht wirklich verwende und normalerweise mit auskomme wget. Als ich es ausführte, Aptwurde mir mitgeteilt, dass auch GNOME entfernt wird:

$ sudo apt-get remove iceweasel*
...

The following packages were automatically installed and are no longer required:
  hyphen-en-us libfs6 task-desktop x11-apps x11-session-utils x11-xfs-utils
  xinit xorg
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  icedove iceowl-extension
Suggested packages:
  apparmor calendar-google-provider
The following packages will be REMOVED:
  gnome gnome-core iceweasel task-gnome-desktop
The following NEW packages will be installed:
  icedove iceowl-extension
0 upgraded, 2 newly installed, 4 to remove and 0 not upgraded.
Need to get 44.7 MB of archives.
After this operation, 100 MB of additional disk space will be used.
...

Warum wird GNOME durch das Entfernen von Iceweasel zerstört?


Nach dem Entfernen von Iceweasel und anschließendem Durchführen eines autocleanAnd- autoremovePasses wurde dies angezeigt. Ich bin ziemlich sicher, dass diese VM unbrauchbar geworden ist.

The following packages will be REMOVED:
  aisleriot ant ant-optional argyll at-spi2-core baobab browser-plugin-gnash
  ca-certificates-java caribou caribou-antler cheese dconf-tools default-jre
  default-jre-headless empathy empathy-common espeak-data file-roller finger
  fonts-cantarell fonts-opensymbol fonts-sil-gentium fonts-sil-gentium-basic
  gcalctool gdebi gdm3 gedit gedit-common gedit-plugins gir1.2-atspi-2.0
  gir1.2-gdata-0.0 gir1.2-gnomekeyring-1.0 gir1.2-goa-1.0 gir1.2-gtop-2.0
  gir1.2-gucharmap-2.90 gir1.2-javascriptcoregtk-3.0 gir1.2-rb-3.0
  gir1.2-tracker-0.14 gir1.2-webkit-3.0 gir1.2-wnck-3.0 glchess glines gnash
  gnash-common gnect gnibbles gnobots2 gnome-backgrounds gnome-color-manager
  gnome-dictionary gnome-disk-utility gnome-documents gnome-font-viewer
  gnome-games gnome-games-data gnome-games-extra-data gnome-icon-theme-extras
  gnome-mag gnome-nettool gnome-orca gnome-packagekit gnome-packagekit-data
  gnome-screenshot gnome-shell-extensions gnome-sudoku gnome-system-log
  gnome-tweak-tool gnome-video-effects gnomine gnotravex gnotski gnuchess
  gnuchess-book grilo-plugins-0.1 gtali gucharmap guile-2.0-libs
  hamster-applet hyphen-en-us iagno icedtea-6-jre-cacao icedtea-6-jre-jamvm
  icedtea-netx icedtea-netx-common inkscape iputils-tracepath java-common
  libapache-pom-java libatk-adaptor libatk-adaptor-data libatk-bridge2.0-0
  libatk-wrapper-java libatk-wrapper-java-jni libatspi1.0-0 libatspi2.0-0
  libavahi-gobject0 libavahi-ui-gtk3-0 libblas3gf
  libboost-program-options1.49.0 libboost-thread1.49.0 libcaribou-gtk-module
  libcaribou-gtk3-module libcmis-0.2-0 libcolamd2.7.1 libcolorblind0
  libcommons-beanutils-java libcommons-collections3-java
  libcommons-compress-java libcommons-digester-java libcommons-logging-java
  libcommons-parent-java libdb-java libdb-je-java libdb5.1-java
  libdb5.1-java-jni libdee-1.0-4 libdiscid0 libdmapsharing-3.0-2 libdotconf1.0
  libespeak1 libexttextcat-data libexttextcat0 libfs6 libgail-common
  libgdict-1.0-6 libgdict-common libgdu-gtk0 libgeocode-glib0 libgexiv2-1
  libgnome-mag2 libgpod-common libgpod4 libgraphite2-2.0.0 libgrilo-0.1-0
  libgtk-vnc-2.0-0 libgupnp-av-1.0-2 libgupnp-dlna-1.0-2 libgvnc-1.0-0
  libhsqldb-java libhyphen0 libicc2 libicu4j-java libimdi0 libjaxp1.3-java
  libjline-java libjtidy-java liblinear-tools liblinear1 liblouis-data
  liblouis2 liblucene2-java libmagick++5 libminiupnpc5 libmtp-common
  libmtp-runtime libmtp9 libmythes-1.2-0 libnatpmp1 libplot2c2 libpstoedit0c2a
  libraw5 libregexp-java libreoffice libreoffice-base libreoffice-base-core
  libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw
  libreoffice-emailmerge libreoffice-evolution libreoffice-filter-binfilter
  libreoffice-filter-mobiledev libreoffice-gnome libreoffice-gtk
  libreoffice-help-en-us libreoffice-impress libreoffice-java-common
  libreoffice-math libreoffice-report-builder-bin libreoffice-style-galaxy
  libreoffice-style-tango libreoffice-writer librhythmbox-core6 libsctp1
  libservlet2.5-java libsofia-sip-ua-glib3 libsofia-sip-ua0 libsonic0
  libspeechd2 libstlport4.6ldbl libsvm-tools libtelepathy-farstream2
  libunique-3.0-0 libvisio-0.0-0 libwnck-common libwnck22 libwpd-0.9-9
  libwpg-0.2-2 libwps-0.2-2 libxalan2-java libxerces2-java
  libxml-commons-external-java libxml-commons-resolver1.1-java libxss1
  libxz-java lightsoff lksctp-tools lp-solve mahjongg media-player-info
  minissdpd mobile-broadband-provider-info mythes-en-us network-manager-gnome
  nmap openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib openjdk-7-jre
  openjdk-7-jre-headless p7zip-full perlmagick pstoedit python-brlapi
  python-louis python-mako python-markupsafe python-pyatspi python-pyatspi2
  python-speechd python-uno python-wnck python-zeitgeist quadrapassel rdesktop
  rhythmbox rhythmbox-data rhythmbox-plugin-cdrecorder rhythmbox-plugins rygel
  rygel-playbin rygel-preferences rygel-tracker seahorse shotwell
  shotwell-common simple-scan sound-juicer sound-theme-freedesktop
  speech-dispatcher swell-foop task-desktop telepathy-gabble telepathy-idle
  telepathy-logger telepathy-rakia telepathy-salut transmission-common
  transmission-gtk ttf-liberation ttf-sil-gentium-basic tzdata-java uno-libs3
  unoconv ure vinagre vino x11-apps x11-session-utils x11-xfs-utils xbrlapi
  xdg-user-dirs-gtk xfonts-mathml xinit xorg xul-ext-adblock-plus
  zeitgeist-core
0 upgraded, 0 newly installed, 278 to remove and 0 not upgraded.

Antwort1

Wie andere bereits erklärt haben, sind die Desktop-Metapakete – wie task-desktopodergnome-core— installieren Sie heutzutage einen Webbrowser (naja, eigentlich schon seit ziemlich langer Zeit). Sie erwarten vielleicht, gnome-coreEpiphany zu installieren oder es zumindest als Alternative zu Iceweasel zuzulassen, aberaus Sicherheitsgründen nicht. In der gnome-coreBeschreibung wird die Browserabhängigkeit erwähnt:

Dies sind die Kernkomponenten der GNOME-Desktopumgebung, einem intuitiven und attraktiven Desktop.

Dieses Metapaket hängt von einem grundlegenden Satz an Programmen ab, darunter ein Dateimanager, ein Bildbetrachter, ein Webbrowser, ein Videoplayer und andere Tools.

Es enthält die offiziellen „Kern“-Module des GNOME-Desktops.

Es gibt also zwei Gründe, warum es von Iceweasel abhängt:

  • es wird als abhängig von einem Webbrowser definiert;
  • Der einzige sinnvolle Browser für den GNOME-Desktop ist Iceweasel, da Epiphany nicht über genügend Sicherheitsunterstützung verfügt und Chromium sich nicht richtig in den Desktop integrieren lässt.

Früher gab es eine alternative Abhängigkeit von gnome-www-browser, aber das war2011 entfernt(soweit ich weiß, ohne Erklärung). Es wäre vielleicht sinnvoll, die Betreuer zu bitten, es erneut einzuführen, aber es würde Ihnen bei der Installation gnome-coreohne Browser nicht helfen.

Die Mechanismen, die dazu führen, dass GNOME entfernt wird, wenn Sie Iceweasel entfernen, sind relativ unkompliziert. Wenn Sie GNOME auffordern, apt-getetwas zu tun, versucht es wirklich, es zu tun – wenn Sie also ein Paket entfernen, wird alles entfernt, was davon abhängt (nachdem Sie dazu aufgefordert wurden).gnome-corehängt davon ab iceweasel, undgnomehängt davon ab gnome-core, also

apt-get remove iceweasel

entfernt auch gnome-coreund gnome.

Das Entfernen dieser Metapakete führt dazu, dass alle Pakete, von denen sie abhängen, zu Kandidaten für die Entfernung mit werden autoremove, da das Verpackungssystem sie nun als unnötig erachtet (kein als nicht automatisch installiert markiertes Paket hängt von ihnen ab). Das Verpackungssystem geht davon aus, dass der Benutzer diese Pakete, die als explizit installiert markiert sind, wirklich haben möchte, und alles andere nur installiert wird, um diese Pakete zu unterstützen. Wenn also irgendetwas gnomeoder entfernt gnome-core, wird es beim nächsten Ausführen apt-get autoremovevon berücksichtigen, dass viele der installierten Pakete unnötig sind...

Es gibt einige Problemumgehungen:

  • gnome-corewenn Sie die Installation ohne Iceweasel beibehalten möchten , verwenden Sieequivsoderapt-holepunch(Letzteres ist in diesem Fall viel einfacher zu verwenden, dankeJosua!) um ein gefälschtes iceweaselPaket zu erstellen und das zusammen mit zu installieren gnome-core;

  • gehen Sie alle Pakete durch, diegnomeUndgnome-coreabhängig sind, entscheiden Sie, welche davon Sie verwenden möchten und/oder benötigen (z.B gdm3, gnome-session, nautilus...) und markieren Sie diese mit

      apt-mark manual ...
    

    oder mithilfe aptitudeder GUI von (was viel einfacher ist).

Auf jeden Fall kann man nichtbrechenIhre VM, indem Sie Pakete entfernen, es sei denn, Sie beginnen mit dem Entfernen wichtiger Pakete (und apt-getwerden sich lautstark beschweren, bevor Sie dies tun dürfen) oder des Kernels. Möglicherweise müssen Sie sich bei einer Textkonsole anmelden, aber Sie können die Dinge von dort genauso gut beheben wie von einem X-Terminalemulator aus.

Antwort2

Aufgaben werden bei der Installation ausgewählt ( tasksel), und es gibt keine separate Aufgabe für „Webbrowser“ … Theoretisch könnte sie desktopspezifisch sein, wie in den Tagen von KDE3. Die Leute erwarten, dass der Standarddesktop einen Webbrowser enthält, wenn nicht aus anderen Gründen, um Hilfe auf ihrem neuen System zu erhalten :). Daher enthält die Desktop-Aufgabe einen Standard-Webbrowser, QED.

Außer dass unsere Fragekommentare falsch sind. task-gnome-desktop erfordert Iceweasel nicht. Es empfiehlt es nur.

(Die am meisten hochgevotete Antwort weist darauf hin, dass es eine indirekte Beziehung gibt, dietuterfordern. Auf den ersten Blick könnte es in dieser Abhängigkeitsstruktur durchaus Raum für Verbesserungen geben. IchdenkenFolgendes ist jedoch weiterhin gültig.)

Sie haben etwas sehr Wichtiges verpasst.

Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt: hyphen-en-us libfs6 task-desktop

Es stellte sich heraus (nach dem Entfernen von iceweasel?), dass Sie keine Pakete installiert hatten, die entweder von abhingen oder empfohlen wurden task-desktop. Es war auch nicht als manuell installiert markiert. Also wird es natürlich apt-get autoremoveentfernt.

Fragezeichen, weil ich beim Betrachten der Debian-Paketdatenbank nicht sehe, wie iceweasel davon abhängt oder es empfiehlt task-desktop. Es könnte bereits automatisch entfernbar gewesen sein.

Gehen Sie bei der Verwendung der automatischen Entfernung vorsichtig vor. Wenn die automatische Entfernung anzeigt, dass Ihr gesamter Desktop als unnötig erachtet wird, brechen Sie die Funktion ab und markieren Sie Ihren Desktop als manuell installiert ( apt-mark).

VM ist nicht nutzlos; Sie können sich bei der Konsole anmelden und ausführen apt-get install task-gnome-desktop. Wenn Sie kein empfohlenes Paket möchtenwie Eiswiesel, können Sie versuchen, zu verwenden apt-get install task-gnome-desktop iceweasel-.

Es ist auch möglich, empfohlene Abhängigkeiten mithilfe von synaptic(GUI) oder aptitude(TUI) zu entfernen. (Beachten Sie, dass Aptitude standardmäßig automatisch entfernt, während Synaptic eine Liste nicht mehr benötigter Pakete hat, die Sie irgendwo finden können.) Leider kann IME Synaptic heutzutage ziemlich klobig und langsam sein, wenn Sie versuchen, solche Dinge zu tun. Siehehttps://askubuntu.com/questions/622031/wie-schließe-ich-bestimmte-pakete-von-der-installation-mit-apt-get-aus

Antwort3

DuWirklichsollte keine *-Regexes verwenden, um Dinge zu entfernen – und das weiß ich aus Erfahrung. Die Verwendung von * löscht jedes Paket mit einem Namen, der „iceweasel“ enthält. Wenn Sie iceweasel löschen möchten, entfernen Sie das iceweasel-Paket (ohne Sternchen) und löschen Sie den Inhalt des iceweasel-Ordners. Ich habe keine Ahnung, was das fehlerhafte „iceweasel“-Paket ist, es könnte jede umgekehrte Abhängigkeit von sein hyphen-en-us libfs6 task-desktop x11-apps x11-session-utils x11-xfs-utils xinit xorg. Irgendeine davon. Ein kurzer Blick und das automatische Entfernen von xorg/ x11allein würde 99 % der *Nix-GUIs kaputt machen. Um herauszufinden, welche iceweasel-Pakete Sie gelöscht haben, grep iceweasel /var/log/apt/history.logsuchen Sie "Remove:"unter dem nach Zeilen, die mit beginnen Commandline: apt-get remove iceweasel* . Wenn Sie immer noch neugierig sind, posten Sie die Ergebnisse und ich (oder jemand anderes) kann die genauen Abhängigkeitsprobleme herausfinden. :)

Ein Abhängigkeitsproblem wie dieses ist natürlich unlogisch und seine Existenz ist ein Fehler der Leute, die die Metadaten für Ihre .deb-Dateien erstellt haben. Ich würde jedoch das genaue Problem herausfinden, bevor ich einen Fehlerbericht einreiche. Daher meine Antwort oben. :D

verwandte Informationen