# Gentoo ausmisten

## invis-eo

Hallo zusammen

Ich betreibe nun schon seit über einem Jahr ein Gentoo system. Nun möchte ich mal das System ausmisten und alle Programm welche nicht mehr gebraucht wurden die letzten paar monate löschen. Gibt es irgendein Tool, welches mir zeigt, was ich alles deinstallieren darf?

z.b. hab ich mal fluxbox für ein paar tests geemerged. nun könnte fluxbox deinstallieren nur weis ich die nahmen aller libraris, welche dazu geemerged wurden nicht mehr.

Ich möchte mal mein system wieder auf das reduzieren, was ich auch noch benötige und all das, was nie benutzt wird wegschaffen. Gibts da was komfortables oder eben nicht?

Danke!

----------

## tacki

1. use-flags überprüfen und rausnehmen was du nicht brauchst

2. emerge unmerge fluxbox

3. emerge -p declean

4. (liste überprüfen!)

5. emerge depclean

das schafft dir wenigstens fluxbox + nicht benötigte programm-abhängigkeiten vom hals. deinstallieren-weil-lange-nicht-benutzt gibts nicht afaik

----------

## Decker

Ich weiß, es wurde schon viel drüber diskutiert...aber jetzt muss es endlich raus:

Software unter Gentoo sauber und vollständig zu entfernen, ohne Abhängigkeiten zu brechen ist ein Horror.  :Mad:   Das kann jede andere Distribution besser. Nicht nur dass ich beim Installieren ewig warten darf (mach ich ja gern und freiwillig, ist ja auch Gentoo-Prinzip),...ich muss auch noch viel Zeit ins Entfernen stecken (bäh..)

Daher überleg ich mir gleich zweimal, ob ich etwas installieren soll   :Wink: 

----------

## tacki

na, da übertreibst du aber etwas... wo ist das problem bei emerge unmerge xxx ? wie kann das löschen von dateien so lange dauern?

----------

## Decker

 *tacki wrote:*   

> 1. use-flags überprüfen und rausnehmen was du nicht brauchst
> 
> 2. emerge unmerge fluxbox
> 
> 3. emerge -p declean
> ...

 

Hier ist das Problem. Das müsste nach 2. alles automatisch gehen. Ich will nicht selber nachsehen, ob ich was brauche, sondern es soll anhand der USE-Flags und der anderen Softwarepakete-Abhängigkeiten ermittelt werden, und alles nicht benötigte entfernt werden. Immerhin weiß doch jedes ebuild was es braucht.

----------

## MALON3

Da muss ich zustimmen, emerge unmerge funktioniert zwar einwandfrei bei mir und auch schnell...aber das mit den abhänigkeiten rückwärts aufzulösen(emerge -depclean) funzt zumindest bei mir nicht gut...leider

Aber ein blick in /var/log/emerge sollte da auch abhilfe schaffen...

gruß malon3

----------

## tacki

ok, dann hab ich das mit unmergen falsch verstanden  :Smile: 

hast recht, im grunde sollte er das auch alleine schaffen. das portage-feature soll aber bald kommen (ist schon ewig in planung/arbeit wenn ich es mir genau überlege)

----------

## spitzwegerich

Ich bin mit der momentanen Situation auch nicht richtig zufrieden:

Etliche Pakete habe ich bewusst mit veränderten Flags compiliert: Manche Sachen mit ACCEPT_KEYWORDS="~x86", manches mit anderen use-flags.

Aber portage merkt sich diese temporären Änderungen für spezielle Pakete leider nicht, wodurch dann bei emerge -u world oder emerge depclean unerwünschte Ergebnisse rauskommen, weil er wieder alles mit den standard-flags aus der make.conf übersetzt.

Ich hoffe dass mal jemand in Portage die Möglichkeit einbaut, für einzelne Pakete geänderte Flags zu benutzen.

----------

## Qubax

mein kleine lösung:

ich will program xy test.

schau mit 

```
emerge -pu xy
```

, was er dazu braucht und schreib mir die abhängigkeiten in ein datei 

```
 echo "xy-> a, b, c" >> dependences
```

ich bin nicht sonderlich experimentierfreudig, und mehr wie 3 abhängigkeiten sind es eigentlich auch nie. das verkraft ich noch an zusätzlichem aufwand.

----------

## sirro

https://bugs.gentoo.org/show_bug.cgi?id=33877

sehr hilreiches Tool um in /usr/portage/distfiles und /usr/portage/packages aufzuräumen und nur das zu löschen was auch wirklich nichtmehr gebraucht wird...

----------

## tacki

das löscht natürlich nur die distfiles, deinstalliert aber keine programme

----------

## m707

 *spitzwegerich wrote:*   

> 
> 
> Etliche Pakete habe ich bewusst mit veränderten Flags compiliert: Manche Sachen mit ACCEPT_KEYWORDS="~x86", manches mit anderen use-flags.
> 
> 

 

Wenn Du portage > 2.0.50 hast dann verwende /etc/portage/package.use und package.keywords dazu. Siehe man portage.

----------

## invis-eo

Vielen Dank für eure Antworten. Ich wollte damit eigentlich nicht eine Grundsatzdiskusion anfangen, aber anscheinend gibt es ja kein entsprechendes Tool dafür.

Gibt es denn ein programmiertechnisches Problem, warum man nicht überprüfen kann, ob die dazu installierten ebuilds nicht auch entfernt werden dürfen?

Irgendwo steht ja geschriben, was ein programm alles benötigt. Irgendwo ist ja sicherlich auch eine Liste vorhanden, was alles installiert ist. Nun könnte man ja ein Skript oder Programm machen, was überprüft, welche Programme für das zu deinstallierende Tool benötigt werden und dann abcheckt, ob die Sourcen auch noch von einem anderen Tool gebraucht werden. Anschliessend kann all das, was gefunden wurde und von niemandem mehr gebraucht wird ungemerged werden.

Was ist daran die Schwierigkeit? Ich kenn mich einfach zu wenig mit gentoo aus und programmiere auch eher selten, aber das sollte doch machbar sein, oder etwa nicht?

----------

## wulfkuhn

Hm, es kommt aber vor, dass Programmierer Abhängigkeiten vergessen.

Das fällt dann beim Kompilieren nicht auf wenn man die Abhängigkeit ohnehin schon istalliert hat, wenn's dann aber ans Deinstallieren geht, kann es schnell passieren, dass etwas gelöscht wird weil doch noch ein anderes Programm benötigt.

----------

## spitzwegerich

 *m707 wrote:*   

>  *spitzwegerich wrote:*   
> 
> Etliche Pakete habe ich bewusst mit veränderten Flags compiliert: Manche Sachen mit ACCEPT_KEYWORDS="~x86", manches mit anderen use-flags.
> 
>  
> ...

 

Cool!! Von dieser Neuerung hab ich irgendwie nichts mitbekommen. Danke für den Hinweis.

Ich bin grad am überlegen ob es sinnvoll wäre, portage hier automatisch Einträge vornehmen zu lassen (z.B. nach einem ACCEPT_KEYWORDS="~x86" emerge <irgendwas> automatisch den entsprechenden Eintrag in package.keywords eintragen zu lassen.).

Wahrscheinlich kommt es dadurch aber öfter zu ungewollten Einträgen als es einem lieb ist, vor allem wenn man gelegentlich etwas herumexperimentiert oder öfter an den globalen use-flags rumschraubt.

----------

## Bullitt

 *m707 wrote:*   

> 
> 
> Wenn Du portage > 2.0.50 hast dann verwende /etc/portage/package.use und package.keywords dazu. Siehe man portage.

 

warum existiert /etc/portage/xy bei mir nicht obwohl ich portage 2.0.50-r1 drauf hab ? !

----------

## sirro

 *Bullitt wrote:*   

> warum existiert /etc/portage/xy bei mir nicht obwohl ich portage 2.0.50-r1 drauf hab ? !

 

Das ist nicht per default da.

```
mkdir /etc/portage

vi/nano /etc/portage/xy
```

und schon ist man dabei. Für Syntax siehe "man portage".

----------

## Mr.Big

Zu neuen Funktionen in Portage ab 2.0.50 siehe auch hier:

http://gentoo.de/main/de/portage-2.0.50.xml

J.

----------

## musv

So, jetzt will ich auch noch meinen Senf dazugeben.

Also erstmal: Finger weg von: emerge -depclean

Außer du weißt ganz genau, was du damit anrichten willst. Emerge depclean überprüft die USE-Flags, und schmeißt dann wirklich alles runter, was nach den USE-Flags nicht in das System gehört.

Beispiel: Ich hab bei mir in den USE-Flags stehen "-kde -gnome", weil ich beide nicht haben will als Windowmanager. Allerdings verwende ich gdm als Login-Manager. Ein emerge depclean würde u.a. gnadenlos alle gnome-base-Pakete runterschmeißen. Rat mal, was dann nicht mehr funktioniert. 

Folge: Du kannst mind. die Hälfte Deines Systems neu installieren, wenn emerge depclean machst. Und mit der Fehlersuche, wo welche Library fehlt, würde ich nicht anfangen wollen. 

Gentoo hat für sowas keine Funktion vorgesehen. Und wenn wir mal ehrlich sind. Wozu braucht man sowas auch? Ich achte z.B. vorher drauf, daß mir keine KDE-Bibliothek auf den Rechner kommt. Damit hab ich das schonmal von vornherein ausgegrenzt, daß ich nicht jedes Sch..-Paket installier. Aber grob betrachtet, stören die Pakete doch nicht. Falls ein Konkurrenzkonflikt auftritt, meldet sich das System beim emergen schon. Und soviel Festplattenspeicher nehmen die Libraries auch nicht weg. Außerdem ist das nicht wie bei Windoof, wo sich das System von selbst zumüllt und damit automatisch langsamer macht. Die Libraries werden nur dann geladen, wenn sie gebraucht werden. Sowas wie 'ne Registry, die immer länger wird, gibts bei Linux gottseidank nicht. 

Falls du doppelte Pakete mit verschiedenen Versionen loswerden willst, kannst du das mit:

emerge -pP machen. Allerdings wär ich da auch vorsichtig. Z.B. von der gtk wird sowohl Version 1.2.x als auch Version 2.x benötigt. 

Gruß

Sven

----------

