# Automatisches Löschen von /var/tmp/portage/ nach Emerge-Vers

## Finswimmer

Hi,

ich habe 2GB RAM für mein /var/tmp/ belegt. Das klappt super (bis auf gcc und openoffice), aber auch nur dann, wenn alle Pakete sauber durchlaufen.

Abgebrochene Pakete blockieren sinnlos /var/tmp/portage/.

Ich habe keine Option gefunden, die das bereinigt.

Kennt Ihr eine?

Danke

Tobi

----------

## mv

Da --keep-going verhältnismäßig jung ist, hat vermutlich noch niemand bemerkt, dass man so ein FEATURE jetzt brauchen könnte.

----------

## Finswimmer

Ich hab mal nen Wish-Bugreport erstellt: 

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

Wer voten mag, kann das gerne tun  :Wink: 

Finswimmer

----------

## firefly

nur als Anmerkung: Mit paludis könnte man das feature als hook implementieren  :Wink: 

----------

## slick

Als simpler Workaround könnte man einen alias erstellen, der auf ein Script zeigt welches das eigentliche emerge aufruft.

Ungetestet, ungefähr so:

/bin/emerge_remove.sh

```
#!/bin/bash

/bin/emerge $@

rm -rf /var/tmp/portage
```

~/.bashrc

```
alias emerge="/bin/emerge_remove.sh"

```

Besonders toll ist das Script aber nicht, denn wird emerge ein zweites mal aufgerufen während gerade ein merge läuft, killt es womöglich dem aktiven die Sourcen weg. Könnte man über ein lockfile recht leicht verhindern können.

Alternativ kann man im Script /var/tmp/portage on-demand als Ramdisk mounten. Aber ähnliches Problem.

http://www.gentoo-wiki.info/TIP_Speeding_up_portage_with_tmpfs#Script

----------

## toralf

 *slick wrote:*   

> Alternativ kann man im Script /var/tmp/portage on-demand als Ramdisk mounten....
> 
> http://www.gentoo-wiki.info/TIP_Speeding_up_portage_with_tmpfs#Script

 Anstatt eines Skripts : ich habe seit einigen Wochen diese Zeile in /etc/fstab : 

```
none            /var/tmp/portage        tmpfs   auto,nr_inodes=1M,size=2G 0 0
```

und bin vollauf zufrieden damit, da ich eh' alle paar Tage boote.

----------

## schachti

Es ist doch ganz egal, ob /var/tmp auf einer Festplatte oder in einer Ramdisk liegt - nach einem fehlgeschlagenen emerge-Vorgang muss man in beiden Fällen manuell die Reste beseitigen.

----------

## disi

Aber das sollte auf jeden Fall optional sein. Hin und wieder habe ich ebuilds die nicht funktionieren, da gehe ich dann schonmal da rein und versuche es manuell zu "./configuren" und zu "maken"   :Exclamation: 

//edit: so sieht das ja schon gut aus, kommt dann wohl irgendwann...

 *Bug#: 287950 wrote:*   

> In svn r14518 I've added a --fail-clean[=n] option for emerge, so you can set
> 
> --fail-clean in make.conf EMERGE_DEFAULT_OPTS and use --fail-clean=n to
> 
> temporarily disable it from the command line.

 

----------

## mv

 *slick wrote:*   

> Als simpler Workaround könnte man einen alias erstellen, der auf ein Script zeigt welches das eigentliche emerge aufruft.

 

Das nutzt Dir bei --keep-going (um das es ja wohl hauptsächlich geht - zumindest ist das der einzige Grund, weshalb man eine automatische Lösung bräuchte) gar nichts weil portage dazwischen nicht beendet wird.

----------

