# extra Partition für den Portage Tree. Wie groß?

## pablo_supertux

Hi

ich habe gerade meine Platte neu partitioniert und meine backups eingespielt, alles läuft wunderbar. Dieses Mal habe ich eine Partition für /usr/portage erstellt, sie ist 1 GB groß. Ist das zu wenig? Da ich den portage tree nicht gesichert habe, lade ich ihn mir wieder mit emerge --sync runter. Aber mir fliegen ab bestimmten Zeitpunkt Fehler um die Ohren, so Sachen wie No file or directory found oder no sapce left on device. df -h zeigt aber, dass es 50% der Partition noch frei ist.

Ich hab mir dann einen snapshot heruntergeladen und da kommen dieselben bzw. ähnliche Fehler.

Auf /export (eine andere Partition) habe ich über 40 GB frei, also habe ich die make.conf geändert und nur zum Testzwecke mein PORTDIR auf /export/portage geändert und wenn ich emerge --sync ausführe, kommen keine Fehler   :Rolling Eyes:  alles wie immer. Wie kann denn das sein? Wie groß sollte meine Portage Tree Partition sein?

----------

## pawlak

pawlak ~ # du -sh /usr/portage/

500M    /usr/portage/

Wobei das eigentlich schon viel ist... scheinbar ziemlich fragmentiert. Mit 1GB solltest du eigentlich locker auskommen. Nur /usr/portage/distfiles musst du natürlich auslagern. Formatier die Partition einfach nochmal, oder versuch ein andres Dateisystem aus (reiser > ext in diesem Fall).

----------

## platinumviper

 *pablo_supertux wrote:*   

> df -h zeigt aber, dass es 50% der Partition noch frei ist.

 Neben der Menge an freiem Speicher spielt auch die Anzahl der freien Inodes eine Rolle, was zeigt "df -i" an? Die Bytes pro Inode kannst Du beim Formatieren mit dem Parameter -i festlegen.

Für den reinen Portage-Tree reicht ein GB, aber bedenke, dass unter /usr/portage/distfiles normalerweise die Source-Files liegen, wenn Du das nicht in /etc/make.conf geändert oder $DISTDIR mit NFS von sonstwo gemountet hast wird es nicht reichen.

platinumviper

----------

## platinumviper

 *pawlak wrote:*   

> pawlak ~ # du -sh /usr/portage/
> 
> 500M    /usr/portage/
> 
> Wobei das eigentlich schon viel ist... 

 

Bei mir mit $DISTFILES (auf einem Server für mehrere Architekturen):

```
du -sh /usr/portage/

8.7G    /usr/portage/
```

ohne $DISTFILES:

```
du -shx /usr/portage/

588M    /usr/portage/
```

platinumviper

----------

## pablo_supertux

Danke für die Antworten. Dass distfiles viel Platz brauchen ist mir klar, ich hatte bereits das DISTDIR an der make.conf angepasst.

Also, df -h sagt

```

/dev/hda5             940M  522M  371M  59% /usr/portage

```

deswegen hat es mich gewundert, weil mein Tree (ohne distfiles) immer bei 350 bis 400 MB groß war.

df -i sagt aber

```

/dev/hda5             122368  122368       0  100% /usr/portage

```

wie kommt denn das zustande?

 *Quote:*   

> 
> 
> Die Bytes pro Inode kannst Du beim Formatieren mit dem Parameter -i festlegen.
> 
> 

 

ich benutze ext3, welchen Wert wäre vernünftig?

Ich wollte kein reiserfs benutzen, denn ich hatte in der Vergangenheit eher schlchte Erfahrung mit reiserfs gemacht. Am Anafng super schnell aber nach einiger Zeit wurden meine Partitionen immer langsamer und langsamer, deswegen stieg ich wieder auf ext3 um, wo ich diese Probleme nicht habe.

----------

## platinumviper

 *pablo_supertux wrote:*   

> df -i sagt aber
> 
> ```
> 
> /dev/hda5             122368  122368       0  100% /usr/portage
> ...

 

Viele kleine Dateien in einem relativ stark verzweigten Verzeichnisbaum (Verzeichnisse benötigen mehrere Inodes). Probier's mal mit 1024 Bytes pro Inode, den Wert hab ich immer für /var/spool/news benutzt als NNTP-Server die Postings noch in einzelnen Dateien speicherten. Idealerweise sollten "df -i" und "df" ungefähr den gleichen Wert bei "Use%" anzeigen.

platinumviper

----------

## STiGMaTa_ch

Angeregt durch den Thread habe ich bei mir auch mal wieder nachgeschaut wie es um die freien Inodes steht. Kann mir jemand folgendes Erklären?

```
labrador ~ # df -h /mels

Filesystem            Size  Used Avail Use% Mounted on

/dev/hda5             2.0G  353M  1.6G  18% /mels

labrador ~ # df -i /mels

Filesystem            Inodes   IUsed   IFree IUse% Mounted on

/dev/hda5                  0       0       0    -  /mels

labrador ~ # mount|grep "/mels"

/dev/hda5 on /mels type reiserfs (rw,noatime)
```

Warum werden keine verwendeten und freien Inodes dargestellt? Liegt das an reiserfs?

Lieber Gruss

STiGMaTa

----------

## schachti

ReiserFS speichert die Daten in B+ Bäumen und legt die benötigten Inodes bei Bedarf dynamisch an - ext2 und ext3 legen eine feste Anzahl Inodes beim Erstellen des Dateisystems an.

Wenn man vorhat, sehr sehr viele Dateien in einem ext2/ext3 Dateisystem zu speichern, bietet sich beim Aufruf von mke2fs die Option -T news an.

----------

## toskala

und wo stopfste deine distfiles hin?

löschste die jedesmal?

```
2.0G    /usr/portage/
```

mal abgesehen davon, was soll das helfen eine eigene partition für den portage-tree?

----------

## schachti

Naja, sinnvoll kann das durchaus sein. Zum Beispiel, weil man dann ein Dateisystem wie ReiserFS wählen kann, das die vielen kleinen Dateien (immerhin deutlich über 100.000 Stück) effizient verwaltet, ohne dieses Dateisystem gleich für die komplette / Partition verwenden zu müssen. Oder weil Backups der / Partition, die man mit partimage macht, dann nicht so groß werden. Oder weil man auf der / Partition nicht mehr genug Platz hat. Oder weil man einfach mal rumspielen und ausprobieren will.   :Wink: 

----------

## pablo_supertux

@schachti: du sprichst mir aus der Seele.

Danke für die Antworten, ich kann aber gar nicht testen, weil ich immer noch an der Uni hänge  :Smile: 

----------

## think4urs11

 *toskala wrote:*   

> und wo stopfste deine distfiles hin?
> 
> löschste die jedesmal?

 

Ist doch nicht in Stein gemeißelt das die in /usr/portage/distfiles liegen müssen ($DISTDIR).

----------

