Perché rimuovere Iceweasel nuke GNOME?


19

Ho un vecchio Debian 7 VM per i test. Sto cercando di ridurre le dimensioni del footprint della VM perché sto esaurendo lo spazio. Volevo rimuovere Iceweasel dal momento che non lo uso davvero, e di solito riesco a cavarmela wget. Quando ho corso mi ha Aptdetto che stava rimuovendo anche GNOME:

$ 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.
...

Perché rimuovere Iceweasel nuke GNOME?


Dopo aver rimosso Iceweasel e averlo fatto autocleane autoremovesuperato, questo è stato presentato. Sono abbastanza sicuro che questa VM sia stata resa inutile.

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.

Vedi askubuntu.com/questions/5636/… per i comandi che ti aiuteranno in questo.
phk,

Grazie PHK. Aptmi dice le dipendenze. Sono interessante sapere perché esistono le dipendenze. Dubito aptitudeche mi dirà perché esiste una dipendenza.

1
Oh OK, ma se per esempio fosse una dipendenza diretta di diciamo debian-desktop(so che questo è Debian e non Ubuntu ma solo per ragioni di discussione) tra gli altri browser, allora ti direbbe che qualcuno pensava che un browser web fosse essenziale per un desktop grafico.
phk,

(e il trucco in quel caso, è che devi scendere di un livello, selezionare le dipendenze di task-gnome-desktop che desideri effettivamente e apt-markquelle installate manualmente prima di rimuovere task-gnome-desktop). Se usi Debian da un po 'di tempo, è possibile che ciò sia sorprendente perché originariamente Debian non utilizzava questi singoli metapacchetti per implementare i loro "compiti".
sourcejedi

1
Forse è perché il *? Ho distrutto il mio gnomo con apt-get remove wine*prima.
Rio, 6

Risposte:


23

Come altri hanno spiegato, i meta-pacchetti desktop - come task-desktopo gnome-core- installano un browser web al giorno d'oggi (beh, in realtà per un tempo piuttosto lungo). Potresti aspettarti gnome-coredi installare Epiphany, o almeno permetterlo come alternativa a Iceweasel, ma non per motivi di sicurezza . La gnome-coredescrizione menziona la dipendenza del browser:

Questi sono i componenti principali dell'ambiente desktop GNOME, un desktop intuitivo e attraente.

Questo metapacchetto dipende da una serie di programmi di base, tra cui un file manager, un visualizzatore di immagini, un browser Web, un lettore video e altri strumenti.

Contiene i moduli "core" ufficiali del desktop GNOME.

Quindi i motivi che dipendono da Iceweasel sono duplici:

  • è definito come dipendente da un browser web;
  • l'unico browser ragionevole da cui dipendere per il desktop GNOME è Iceweasel, perché Epiphany non ha abbastanza supporto per la sicurezza e Chromium non si integra correttamente nel desktop.

C'era una dipendenza alternativa gnome-www-browser, ma quella è stata rimossa nel 2011 (senza spiegazioni per quanto posso dire). Potrebbe valere la pena chiedere ai manutentori di reintrodurlo, ma non sarebbe utile per l'installazione gnome-coresenza un browser.

I meccanismi che portano alla rimozione di GNOME se si rimuove Iceweasel sono relativamente diretti. Quando chiedi apt-getdi fare qualcosa, si cerca davvero di farlo - quindi rimuovere un pacchetto rimuove tutto ciò che dipende da esso (dopo averlo chiesto). gnome-coredipende iceweasele gnomedipende da gnome-corecosì

apt-get remove iceweasel

rimuove anche gnome-coree gnome.

La rimozione di questi meta-pacchetti fa sì che tutti i pacchetti da cui dipendono diventino candidati per la rimozione autoremove, poiché il sistema di confezionamento ora li considera non necessari (nessun pacchetto contrassegnato come non installato automaticamente dipende da essi). Il sistema di packaging considera che l'utente vuole davvero quei pacchetti che sono contrassegnati come installati esplicitamente, e qualsiasi altra cosa è installata solo per supportare quei pacchetti. Quindi, se qualcosa viene rimosso gnomeo gnome-core, la prossima volta apt-get autoremoveche eseguirai, considererà che molti dei pacchetti installati non sono necessari ...

Esistono un paio di soluzioni alternative:

  • se vuoi rimanere gnome-coreinstallato senza Iceweasel, usa equivso apt-holepunch(quest'ultimo è molto più facile da usare in questo caso, grazie a Joshua !) per creare un iceweaselpacchetto falso e installarlo insieme a gnome-core;
  • passare attraverso tutti i pacchetti che gnomee gnome-coredipendono, decidere quale di essi che si desidera utilizzare e / o necessità ( ad esempio gdm3 , gnome-session, nautilus...), e Mark utilizzando

    apt-mark manual ...
    

    o usando aptitudela GUI (che sarà molto più semplice).

In ogni caso non è possibile interrompere la VM rimuovendo i pacchetti a meno che non si inizi a rimuovere i pacchetti essenziali (e apt-getsi lamenterà ad alta voce prima di lasciarlo fare) o al kernel. Potresti finire per accedere a una console di testo, ma puoi risolvere le cose da lì come pure da un emulatore di terminale X.


Bella risposta! Mi chiedo, di cosa tratta gnome-www-browserallora il pacchetto "virtuale"?
phk,

2
@phk Questa è un'ottima domanda, la dipendenza alternativa è gnome-www-browserstata rimossa nel 2011, ma è ancora fornita da Chromium, Epiphany, Iceweasel e Firefox ... (E lo usa ancora Cinnamon.)
Stephen Kitt,

1
Per inciso, ecco qualcosa che fa il lavoro di escludere un pacchetto dalla dipendenza senza che build-env dipenda da equivs: mail-archive.com/debian-bugs-dist@lists.debian.org/msg900702/…
Joshua

Grazie Stefano. Non intendo dividere i peli, po ' perché è una dipendenza? Per quanto riguarda "è definito come dipendente da un browser Web" , non riesco a capire perché esiste la dipendenza. Questa è davvero la mia domanda. Dispiace per la confusione.

Inoltre, hai ragione su "... non puoi interrompere la tua VM rimuovendo [questi particolari] pacchetti" . Dopo un riavvio, ho ottenuto una schermata di accesso non GUI e sono stato in grado di accedere a SSH nella casella. Sono contento del Terminal / Command Line, quindi chiaramente non è rotto o inutile per me. Altri potrebbero aver bisogno di un desktop, tuttavia. Non vorrei che mia madre o mio padre cercassero di usare la macchina.

2

Le attività vengono selezionate al momento dell'installazione ( tasksel) e non esiste un'attività distinta per il "browser web" ... In teoria potrebbe essere specifica del desktop, come nei giorni di KDE3. Le persone si aspettano che il desktop predefinito includa un browser Web, se non altro per ottenere aiuto sul loro nuovo sistema :). Pertanto l'attività desktop include un browser Web predefinito, QED.

Tranne la nostra domanda i commenti sono sbagliati. task-gnome-desktop non richiede iceweasel. Lo raccomanda solo.

(La risposta più votata indica che esiste una relazione indiretta che lo richiede. A prima vista, potrebbe esserci spazio per migliorare questa struttura di dipendenza. Penso che comunque sia valido quanto segue.)

Ti sei perso qualcosa di molto importante.

I seguenti pacchetti sono stati installati automaticamente e non sono più necessari: hyphen-en-us libfs6 task-desktop

Si scopre (dopo aver rimosso iceweasel?) Non sono stati installati pacchetti che dipendevano o raccomandavano task-desktop. Né è stato contrassegnato come installato manualmente. Quindi, ovviamente, lo apt-get autoremoverimuove.

Punto interrogativo perché guardando il database dei pacchetti Debian, non vedo da cosa dipenda o raccomandi iceweasel task-desktop. Potrebbe essere già stato rimovibile automaticamente.

Fare attenzione quando si utilizza la rimozione automatica. Se la rimozione automatica indica che l'intero desktop è considerato non necessario, quindi annullarlo e contrassegnare il desktop come installato manualmente ( apt-mark).

VM non è inutile; puoi accedere alla console ed eseguire apt-get install task-gnome-desktop. Se non si desidera un pacchetto consigliatocome iceweasel, puoi provare a usare apt-get install task-gnome-desktop iceweasel-.

È anche possibile deselezionare le dipendenze consigliate utilizzando synaptic(GUI) o aptitude(TUI). (Nota che aptitude si rimuove automaticamente per impostazione predefinita, mentre synaptic ha un elenco di pacchetti non più necessari che puoi trovare da qualche parte). Purtroppo, al giorno d'oggi il sinaptic di IME può essere piuttosto goffo e indolente se provi a fare questo genere di cose. Vedi /ubuntu/622031/how-do-i-exclude-specific-packages-from-installation-with-apt-get


2

Non dovresti davvero usare * regex per rimuovere le cose - e lo so per esperienza. L'uso di * cancella ogni pacchetto con un nome contenente "iceweasel". Se si desidera eliminare iceweasel, rimuovere il pacchetto iceweasel (senza asterisco) ed eliminare il contenuto della cartella iceweasel. Non ho idea di quale sia il pacchetto offensivo "iceweasel", potrebbe esserci una dipendenza inversa hyphen-en-us libfs6 task-desktop x11-apps x11-session-utils x11-xfs-utils xinit xorg. Qualcuno di quelli. Una rapida occhiata e movimento automatico xorg/ x11da solo spezzerebbe il 99% delle * Nix GUI. Per scoprire quali pacchetti iceweasel hai eliminato fare grep iceweasel /var/log/apt/history.loge cercare le righe che iniziano "Remove:"sotto Commandline: apt-get remove iceweasel* Se sei ancora curioso pubblica i risultati e io (o qualcun altro) possiamo capire esattamente i problemi di dipendenza. :)

Un problema di dipendenza come questo è ovviamente illogico e la sua esistenza è un errore da parte delle persone che hanno creato i metadati per i tuoi .deb. Vorrei capire il problema esatto prima di presentare una segnalazione di bug. Da qui la mia risposta sopra. : D


Grazie Trudgemank. Sono più interessato al perché esiste la dipendenza; non quale sia la dipendenza.

Non dovrebbe esistere. La sua esistenza è un errore da parte delle persone che hanno creato i metadati per i tuoi .deb, che non sono perfetti. Ci sono conseguenze che non prevedono.
trudgemank,

Devi aver eliminato un pacchetto "iceweasel" che non fa parte del metapacchetto iceweasel. Forse uno installato di default.
trudgemank,

Trudgemank - Se rispondi alla domanda che ho posto nella tua risposta anziché nei commenti, sarei felice di accettare la risposta. Per completezza, ecco la risposta che ritengo corretta: "... [è] un errore da parte delle persone che hanno creato i metadati per i tuoi .deb" . Mi dispiace spaccare i capelli; quello era davvero l'oggetto di interesse per me. Con le informazioni in mano, posso andare a presentare una segnalazione di bug.

Va bene, fintanto che ho aiutato non ho bisogno dell'affermazione ufficiale. Ma non hai il particolare problema di dipendenza, dovresti davvero se vuoi presentare una segnalazione di bug.
trudgemank,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.