# Gegenbefehl für emerge

## CBarcley

Ich habe einen Apache Webserver installiert, brauche ihn aber jetzt nicht mehr und wollte fragen, ob ich ihn irgendwie wieder deinstallieren kann.

Gibt es einen Befehl unmerge oder so?

lg

Calvin

----------

## Martini

Hallo

Na klar. Das ist ja das Prinzip von emerge und Portage

emerge unmerge Paketname

oder

emerge -C Paketname

Steht alles 100pro in der Doku. Wirst sehen, daß das sehr gut funktioniert.

Ich finde deshalb Gentoo so geil. Mit Portage und den ebuilds kann man wirklich sehr viel machen und man ist immer aktuell oder auch nicht, jenachdem wie man das haben möchte.

Martini

----------

## CBarcley

danke

hat funktioniert

lg

Calvin

----------

## Hagbard Celine

Wo wir gerade bei dem Thema sind, zu emerge -C habe ich da doch noch eine Frage:

Mir scheint, daß emerge -C keine Prüfung von Abhängigkeiten macht. Ich habe mal emerge -Cp für den XServer gemacht und es hieß das wäre okay, er würde ihn alleine deinstallieren. Keine Beschwerde, daß da ein paar Dutzend andere Programme von abhängig sind...

Habe ich da eine Option übersehen oder kann emerge das nicht? Die Informationen sind doch in der portage Datenbank vorhanden...

hc

----------

## dertobi123

Hallo,

Abhängigkeiten werden beim deinstallieren nicht berücksichtigt.

Beim Bauen von (größeren) Paketen kannst du dir aber die Ausgabe von emerge -p foo in eine Datei schreiben und anhand der dann deinstallieren was du nicht mehr brauchst. Ist natürlich mit etwas Arbeit verbunden ...

Gruß Tobias

----------

## nikai

Abhängigkeiten kann man sich z.B. mit "qpkg -q" (app-admin/gentoolkit) ansehen.

----------

## dertobi123

Hallo,

ein "qpkg -q kde" zum Beispiel wirft mir für meinen Geschmank zuviel Zeugs um die Ohren; zum einen Kram den ich mit Sicherheit nicht installiert habe und zum anderen auch noch sämtliche verfügbaren Versionen.

"qpkg -q kde" listet nicht die real existierenden Abhängigkeiten auf, sondern _alles_ was von kde abhängen _könnte_. Das führt zu einer ziemlichen Unübersichtlichkeit, für mich unbrauchbar.

Gruß Tobias

----------

## nikai

 *dertobi123 wrote:*   

> ein "qpkg -q kde" zum Beispiel wirft mir für meinen Geschmank zuviel Zeugs um die Ohren

 

Hm, is so besser?  :Wink: 

```
qpkg kde -q -I
```

----------

## dertobi123

Hallo,

So siehts direkt schon viel geschmeidiger aus; ich meine mich aber erinnern zu können, dass z.B. arts nicht nur Abhängigkeiten zu kde hat. Sprich: Ich unmerge arts, das nächste emerge world wills dann aber wieder bauen ...

Gruß Tobias

----------

## Hagbard Celine

 *nikai wrote:*   

> 
> 
> Hm, is so besser? 
> 
> ```
> ...

 

Danke für den Tipp, werde ich also bei Bedarf auch noch qpkg installieren, obwohl ich mich eigentlich für epm entschieden habe. Irgendwie fand ich die rpm Kommandos immer sehr intuitiv und leistungsfähig... aber Abhängigkeiten kann epm wohl nicht.

Nur irgendwie schade. Ein Grund mich von Debian zu verabschieden war, daß es zuviele Frontends für bestimmte Arbeiten mit Paketen gab... dselect, apt-get, apt-cache, apt-setup, dpkg.

Aber portage ist ja noch mitten in der Entwicklung, da kann man ja hoffen, daß dieses Feature für emerge noch kommen wird.

hc

----------

## spitzwegerich

 *Quote:*   

> ich meine mich aber erinnern zu können, dass z.B. arts nicht nur Abhängigkeiten zu kde hat. Sprich: Ich unmerge arts, das nächste emerge world wills dann aber wieder bauen ...

 

vielleicht solltest du arts aus der USE variable rausnehmen.

----------

## dertobi123

Hallo,

Wie oben geschrieben: Ich schreibe das aus der Erinnerung. Kann sein das arts in den globalen USE Flags drin war, kann aber auch nicht sein. 

Ich hatte nur kde als Beispiel gewählt, das eine Latte an Abgängigkeiten mit sich zieht und deren Auflösung durch "qpkg -q -I" zumindest für meinen Geschmack suboptimal ist.

Gruß Tobias

----------

## Niko_K

 *dertobi123 wrote:*   

> Hallo,
> 
> Wie oben geschrieben: Ich schreibe das aus der Erinnerung. Kann sein das arts in den globalen USE Flags drin war, kann aber auch nicht sein. 
> 
> Ich hatte nur kde als Beispiel gewählt, das eine Latte an Abgängigkeiten mit sich zieht und deren Auflösung durch "qpkg -q -I" zumindest für meinen Geschmack suboptimal ist.
> ...

 

Ich glaube ich verstehe, was du meinst.

Du wirst wohl oder übel dann auch noch ein qpkg -q arts machen müssen, um die Abhängigkeiten von arts zu erfahren.

Ich persönlich habe keine schlechten Erfahrungen mit folgendem gemacht:

 *Quote:*   

> emerge -p --depclean

 

... und dann noch mal alles mit qpkg überprüfen. Leider werden dabei auch  "falsche" Pakete gelistet und auch qpkg findet, wenn ich mich recht erinnere, nicht alles (zumindest musste ich dass dann beim nächsten emerge -pu --deep world wieder installieren)

Ist zwar mit ein bisserl arbeit verbunden, aber im Moment geht's wohl nicht anders (ich habe zwar vor ein einfaches Tool zum "aufräumen" von Gentoo zu proggen, aber im Moment habe ich noch nicht so viel Erfahrung mit proggen unter Linux (ich muss da noch irgendwie mit portage kooperieren, ich will das mit den Abhängigkeiten nicht nochmal proggen müssen - wäre unsinnig, ...)

Niko

----------

## toskala

abhängigkeiten beim unmergen wären imho auch eher ungeschickt, sonst geht des gefrickel wie beim rpm gebastel los

- ich installier was, da kommen die abhängigkeiten mit

- ich deinstallier was, nerjo, dann isses halt weck, mussich mit leben

ich seh das eher unkritisch

----------

## tacki

apropos depclean

ich hab schon ein wenig damit rumexperimentiert und einmal wollte der mir grub deinstallieren   :Shocked:   :Question:   naja, es wird ja deutlich genug darauf hingewiesen dass depclean nur mit vorsicht zu geniesen ist.

----------

## Hagbard Celine

 *toskala wrote:*   

> 
> 
> - ich deinstallier was, nerjo, dann isses halt weck, mussich mit leben
> 
> 

 

Ich würde halt schon gerne vorher wissen, welche Pakete nach der Deinstallation des einen Pakets nicht mehr funktionieren werden. Sonst deinstalliere ich das Paket und bemerke vielleicht erst viel später, daß ein anderes Paket nicht mehr funktioniert. Und ob ich dann noch daran denke, dass ich da vor einiger Zeit mal etwas deinstalliert habe und es daran liegen könnte...

Den Hinweis von rpm, "Wenn Du Paket A deinstallierst, dann werden die Pakete B und C nicht mehr funktionieren." halte ich nicht für 'gefrickel'.  :Wink: 

hc

----------

## dertobi123

Hallo,

halten wir fest: Alle Möglichkeiten beim deinstallieren eines Programms auch die Abhängigkeiten wieder loszuwerden sind a) keine 100% Lösungen, b) auch eine Kombination mehrerer Lösungen führt nicht zwangsläufig zum Ziel und c) besteht ständig die Gefahr eines inkonsistenten Systems.

Diskussionsvorschlag / Lösungsansatz?

Datenbank mit der die Abhängigkeiten sämtlicher _installierter_ ebuilds aufgelöst werden, z.B. in der Form "Name des ebuild" "Abhängigkeit 1" "Abhängigkeit 2" usw. Ebuilds die nur in _einem_ Abhängigkeitsverhältnis stehen werden beim deinstallieren dessen mit gelöscht.

Gruß Tobias

----------

## gfc

 *dertobi123 wrote:*   

> Hallo,
> 
> Diskussionsvorschlag / Lösungsansatz?
> 
> Datenbank mit der die Abhängigkeiten sämtlicher _installierter_ ebuilds aufgelöst werden, z.B. in der Form "Name des ebuild" "Abhängigkeit 1" "Abhängigkeit 2" usw. Ebuilds die nur in _einem_ Abhängigkeitsverhältnis stehen werden beim deinstallieren dessen mit gelöscht.
> ...

 

bei 2000-3000 ebuilds (hab sie ned gezählt) dürfte das eine grosse Datenbank werden.. und wie verwirklichen? wo soll die Datenbank seinim Netz oder @gentoopc?

----------

## toskala

na ne datenbank in der alles drinnesteht is eher schwierig, weil das "alles" immer in abhängigkeit deiner use flags is.

was aber funktionieren könnte wäre n simples textfile das emerge schreibt wo es reinschreibt welche depencies es für den merge von, meinetwegen, apache erzeugt.

wennst dann irnkwas davon unmergest dann schaut der emerge in der liste der files nach und sacht "packet a,b,c hatten das mal als abhängigkeit, wirst schon sehen was du davon hast"

wär so mein vorschlag zur güte

----------

## dertobi123

Hallo,

In die Datenbank (vielleicht würde ja ein simples Textfile reichen?) müsste ja nur für jedes _installierte_ ebuild die Abhängigkeiten eingetragen werden, aber nicht nur die bei der Installation mitgebauten, sondern _alle_ (sind ja als depend / rdepend in den ebuilds aufgelistet). Die Datenbank / Das File müsste schon auf dem lokalen PC sein, da ja nur die Abhängigkeiten wirklich installierter, und nicht aller verfügbaren ebuilds aufgelöst werden müssen.

 *Quote:*   

> was aber funktionieren könnte wäre n simples textfile das emerge schreibt wo es reinschreibt welche depencies es für den merge von, meinetwegen, apache erzeugt. 

 

Sowas ähnliches hatte ich ja schon vorgeschlagen, da werden dann aber auch nur die Abhängigkeiten angezeigt, die beim emerge noch _nicht_ auf dem System installiert sind. Ausserdem wäre das ablegen der Abhängigkeiten in zig verschiedenen Files letzendlich auch wieder eine unübersichtliche Sache deren Ergebnis wiederum ein inkonsistentes System sein _könnte_.

Es müsste doch ein Textfile in der Form

```
Paketname:Abhängigkeit1:Abhängigkeit2:usw
```

reichen. Wenn du dann emerge unmerge foo sagst, würde emerge die Datei nach foo durchsuchen und alle Pakete bei denen foo die _einzige_ Abhängigkeit wäre diese a) aus der Datei löschen und b) auch unmergen; ist foo nur eine von mehreren Abhängigkeiten wird diese aus dem File gelöscht.

Hört sich doch eigentlich ganz simpel an, also: Wo ist der Haken?

Gruß Tobias

----------

## Genone

Stichworte wären z.B. world file, virtuals oder SLOTs. Solche Sachen hören sich immer recht einfach an, aber warum ist depclean wohl etwas buggy ? Absicht ist das wohl kaum   :Confused: 

----------

