Perché rimuovere gnome-core non rimuove tutte le sue dipendenze?


9

Ho installato il gnome-corepacchetto su Ubuntu (versione minima per l'osso beagle) ed era quasi 600mb. Tuttavia, quando provo a disinstallarlo usando

sudo apt-get autoremove gnome-core 

Rimuove solo 49 MB. Qualche idea, come rimuovere l'intero 600 MB?

Risposte:


15

gnome-core è un meta pacchetto e il caso con meta pacchetti è -

Tirano i pacchetti per l'installazione, ma rimuoverli non rimuoverà tutti i pacchetti estratti .

Quindi, a meno che tu non abbia copiato i nomi dei pacchetti installati da gnome-core, è praticamente impossibile rimuovere tutti i 600 MB.

Ma puoi ottenere i nomi dei pacchetti estratti dal comando

apt-cache depends gnome-core 

e prova a rimuovere i pacchetti uno per uno. Si dovrebbe sempre verificare se sta rimuovendo tutti i pacchetti necessari.

Oppure puoi ottenere l'elenco dei pacchetti in modo più utile in questo modo:

apt-cache depends gnome-core | cut -f 2 -d ':'  | tr '\n' ' '

Questo elencherà tutte le dipendenze del pacchetto gnome-core, ignorando il nome del pacchetto <>solo nei segni.

Come faccio a sapere se un pacchetto di sistema viene rimosso?

Quando vedi che molto spazio viene liberato dal comando, (più di 600 MB) , dovresti sapere che stai rimuovendo più di quanto hai installato. apt-getti farà sapere quanto spazio verrà liberato, prima di rimuovere come con un messaggio come questo

After this operation, 384 kB disk space will be freed.

E quando provi a rimuovere il pacchetto di sistema essenziale, apt-getti mostrerà un messaggio di avviso.

Raccomandazione: ti suggerisco di ottenere un elenco di pacchetti dal primo comando e provare a rimuoverli uno per uno. È più sicuro. Se viene visualizzato un avviso, saltare la rimozione di quel pacchetto. Vedo che la maggior parte dei pacchetti in gnome-core sono correlati alla GUI, immagino che rimuovere quei pacchetti non danneggi il tuo sistema (se non vuoi una GUI) .

Spero che sia di aiuto!


Alcune note sulla rimozione dei pacchetti

Come vengono disinstallati i pacchetti estratti quando si rimuove il pacchetto principale?

Quando si installa un pacchetto e quel pacchetto dipende da alcuni altri pacchetti, anche i pacchetti di dipendenza vengono installati e contrassegnati come automatici . Ciò significa che il sistema Apt li contrassegna come installati automaticamente come dipendenza di un altro pacchetto . Aiuta il sistema Apt a riconoscere i pacchetti non necessari.

Quando si disinstalla il pacchetto principale, i pacchetti estratti vengono anche contrassegnati come pacchetti obsoleti o non necessari nel sistema. Puoi rimuoverli fornendo l' autoremoveopzione a apt-get. (aptitude li rimuove automaticamente con il pacchetto principale) .

Un'eccezione a questa regola è che se in seguito si installa un altro pacchetto che dipende anche dai pacchetti pull, i pacchetti pull non verranno contrassegnati come obsoleti quando si rimuove il primo pacchetto master.

Esempio: è stato installato un pacchetto Xche dipende dal pacchetto Y. Una volta installato X, Yviene anche installato e contrassegnato come auto. Se non si installa un altro pacchetto da Zcui dipende anche Y, la rimozione Xrenderà Yl'utilità e il sistema Apt lo renderà obsoleto e sarà possibile rimuoverlo con l' autoremoveopzione.

Ma se installi un pacchetto Zdopo il Xquale dipende anche Y, la rimozione Xnon segna solo Ycome pacchetto obsoleto e non puoi rimuoverlo con l' autoremoveopzione

Ma nota che se si rimuove il pacchetto Ydopo l'installazione X, rimuoverà il pacchetto Ycompreso X, perché Xnon può stare senza Ye si voleva rimuovere Y, questo significa che si voleva anche da rimuovere X. Apt rimuoverà Xautomaticamente quando si rimuove a Ydifferenza della marcatura obsoleta alla successiva rimozione per autoremoveopzione.

Prova esempi: il ubuntu-desktop pacchetto è un meta pacchetto. È stato usato per installare il desktop Ubuntu standard. Prova a rimuoverlo, verrà rimosso solo quel pacchetto.

Prova anche a installare il lubuntu-desktoppacchetto (potresti non voler installare questo, perché è un download di grandi dimensioni) . Ma, quando provi a rimuoverlo, lubuntu-desktopverrà rimosso solo il piccolo pacchetto .

Apt gestisce i meta pacchetti in modo diverso

I meta-pacchetti come gnome-core, ubuntu-limited-extra sono anche chiamati pacchetti virtuali. Si chiamano così, poiché sono fondamentalmente pacchetti vuoti, estraggono altri pacchetti dipendendo da loro. Ad esempio, ubuntu-restrizioni-extra dipende (in 12.04) dai seguenti pacchetti:

ubuntu-restricted-addons
ttf-mscorefonts-installer
unrar
gstreamer0.10-plugins-bad-multiverse
libavcodec-extra-53

Dove, ubuntu-limited-addons stesso è un altro meta pacchetto. Poiché i meta-pacchetti vengono utilizzati solo per il pull dei pacchetti, l'installazione non contrassegna i pacchetti pull come automatici , ma vengono contrassegnati come installati manualmente. Il risultato? La rimozione del solo meta pacchetto principale non renderà obsoleti i pacchetti estratti e non è possibile rimuoverli per autoremoveopzione. Ecco perché è necessario rimuovere manualmente ogni pacchetto pull dei meta-pacchetti.

Esempio: hai installato un meta-pacchetto Xche dipende da pacchetti Ye Z. Una volta installato, i pacchetti Ye Znon vengono contrassegnati come automatici (installati automaticamente come dipendenza di un altro pacchetto) , ma contrassegnati come installati manualmente. In un secondo momento, quando si desidera rimuovere X, Xviene rimosso solo il pacchetto virtuale . Entrambi, Ye Z, rimangono nel sistema e non è possibile disinstallarli con l' autoremoveopzione.


È piuttosto ingombrante. Ma immagino sia l'unica via d'uscita, giusto?
Sviluppatore Android

Sei sicuro che apt-cache dependssarà utile qui? Penso che il modo suggerito da Tijybba sia più adatto allo scopo.

@Sab Per quanto ne so, Sì.
Anwar,

@ vasa1 Il problema è che sto eseguendo un beagle bone e non ho praticamente nessuna interfaccia grafica, anche sull'uso del visualizzatore vnc
Sviluppatore Android

@Sab Ho aggiunto un altro comando per ottenere l'elenco in una riga.
Anwar,

2

L'installazione di gnome-core , porta molti pacchetti e dipendenze, poiché è un metapacchetto.

Uno dei modi è quello di rimuoverlo manualmente, ma dovresti sapere quali pacchetti devono essere rimossi senza causare errori post-effetti.

L'elenco dei pacchetti inclusi è elencato qui Pacchetto: gnome-core (1: 3.0 + 6ubuntu3) [universo]

Vai a Synaptic manager (installalo se non presente) , fai clic su Origine dalle selezioni in basso a sinistra , fai riferimento all'immagine

inserisci qui la descrizione dell'immagine

Seleziona il pacchetto per la rimozione, facendo riferimento al link sopra.

Attenzione se non sai quali pacchetti rimuovere, quindi Non seguire questo metodo. Questi possono causare errori di dipendenza .


2

Introduzione:

Per rimuovere completamente i programmi utilizzando la riga di comando, sono disponibili le seguenti opzioni;

Rimuovi e configura i file, ma non le dipendenze usando apt-get

sudo apt-get --purge remove <Package Name>

Rimuovere le dipendenze non utilizzate e configurare i file usando apt-get

sudo apt-get --purge autoremove

Quando GNOME è installato in Ubuntu 12.04, installa diversi pacchetti e librerie richiesti oltre ad alcuni pacchetti opzionali. Non tutti questi pacchetti e librerie vengono disinstallati quando si disinstalla GNOME. Diversi pacchetti (come epiphany-browser e gnuchess) non vengono disinstallati. Disinstallazione rapida

Questo non è raccomandato perché rimuoverà tutti i pacchetti normalmente installati con GNOME. Ciò può includere pacchetti precedentemente installati (come epifania-browser o gnuchess) o pacchetti precedentemente installati da altre applicazioni.

Nota: questo comando di disinstallazione presuppone che GNOME sia stato installato su un nuovo Ubuntu 12.04. 1

Premi Ctrl+ Alt+ Tsulla tastiera per aprire Terminale. Quando si apre, esegui il comando seguente. (è molto lungo e una sola riga)

sudo apt-get purge --auto-remove alacarte bogofilter bogofilter-bdb bogofilter-common browser-plugin-gnash cheese  cheese-common cups-pk-helper dconf-tools desktop-base ekiga epiphany-browser  epiphany-browser-data epiphany-extensions evolution evolution-common  evolution-plugins evolution-webcal fonts-cantarell gdebi gdebi-core gdm  gedit-plugins gimp gimp-data gir1.2-accountsservice-1.0 gir1.2-caribou-1.0  gir1.2-clutter-1.0 gir1.2-cogl-1.0 gir1.2-coglpango-1.0 gir1.2-folks-0.6  gir1.2-gdesktopenums-3.0 gir1.2-gee-1.0 gir1.2-gjsdbus-1.0 gir1.2-gkbd-3.0  gir1.2-gucharmap-2.90 gir1.2-json-1.0 gir1.2-mutter-3.0  gir1.2-networkmanager-1.0 gir1.2-panelapplet-4.0 gir1.2-polkit-1.0  gir1.2-telepathyglib-0.12 gir1.2-telepathylogger-0.2 gir1.2-upowerglib-1.0  gir1.2-xkl-1.0 gjs glchess glines gnash gnash-common gnect gnibbles gnobots2  gnome gnome-applets gnome-applets-data gnome-backgrounds gnome-contacts  gnome-core gnome-dictionary gnome-games gnome-games-extra-data  gnome-icon-theme-extras gnome-icon-theme-full gnome-js-common gnome-panel  gnome-panel-data gnome-session-fallback gnome-shell gnome-shell-common  gnome-themes-standard gnome-video-effects gnotravex gnotski gnuchess  gnuchess-book gtali hamster-applet iagno imagemagick imagemagick-common  indicator-applet-complete inkscape libbabl-0.0-0 libblas3gf libbonobo2-0  libbonobo2-common libbonoboui2-0 libbonoboui2-common libboost-iostreams1.46.1  libboost-program-options1.46.1 libboost-signals1.46.1 libboost-thread1.46.1  libcapi20-3 libcaribou-common libcaribou0 libcdt4 libcheese-gtk21 libcheese3  libclutter-1.0-0 libclutter-1.0-common libclutter-gst-1.0-0 libclutter-gtk-1.0-0  libclutter-imcontext-0.1-0 libcluttergesture-0.0.2-0 libcogl-common  libcogl-pango0 libcogl9 libept1.4.12 libevolution libgc1c2 libgdict-1.0-6  libgdict-common libgegl-0.0-0 libgfortran3 libgimp2.0 libgjs0c libglade2-0  libgnome2-0 libgnomecanvas2-0 libgnomecanvas2-common libgnomeui-0  libgnomeui-common libgnomevfs2-extra libgraph4 libgsl0ldbl libgtkhtml-4.0-0  libgtkhtml-4.0-common libgtkhtml-editor-4.0-0 libgtkmm-2.4-1c2a libgvc5  libilmbase6 liblapack3gf liblqr-1-0 libmagick++4 libmagickcore4  libmagickcore4-extra libmagickwand4 libmozjs185-1.0 libmusicbrainz4-3 libmutter0  libmx-1.0-2 libnetpbm10 libodbc1 libopal3.10.2 libopenexr6 libpanel-applet--0  libpathplan4 libpst4 libpt2.10.2 libseed-gtk3-0 libwmf-bin liferea liferea-data  lightsoff menu menu-xdg mutter-common netpbm notification-daemon odbcinst  odbcinst1debian2 perlmagick python-gmenu python-gnome2 python-lxml python-numpy  python-pyorbit python-uniconvertor quadrapassel sound-juicer swell-foop synaptic  unixodbc

Un modo migliore su come rimuovere completamente un pacchetto

1) Aprire il file di registro aptitude (/var/log/apt/history.log).

2) Individua i file installati.

3) Rimuovere i file usando 1

sudo apt-get remove --auto-remove <file names>

1 fonte: come disinstallare / rimuovere completamente GNOME

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.