# [portage] partition / full

## Biloute

Je viens de faire un emerge world qui ne peut aboutir car je me retrouve avec une partition completement remplie

Je me retrouve avec un répertoire /var qui pèse pas moins de 3GO   :Shocked: 

En cherchant un peu j'ai

```
# du /var/tmp/portage/www-client/firefox-8.0/work/mozilla-release/

1866540   /var/tmp/portage/www-client/firefox-8.0/work/mozilla-release/
```

----------

## guilc

Bah si tu n'as aucun emerge en cours, rm -rf /var/tmp/portage/*. Dans ce repertoir, il n'y a que les fichiers temporairement pendant la compilation.

En temps normal, il est vidé. Mais si tu as un paquet qui compile pas, ça peut laisser des traces !

----------

## Biloute

C'est ce que j'ai fait mais c'est firefox qui m'inquiéte. Est-ce qu'il faut avoir 3GO de libre pour avoir firefox 8

----------

## idiway

 *Biloute wrote:*   

> C'est ce que j'ai fait mais c'est firefox qui m'inquiéte. Est-ce qu'il faut avoir 3GO de libre pour avoir firefox 8

 

Oui.

Si ta partition est trop petite, tu as certainement une autre partition qui dispose de plus de place (Ex : /home souvent monté sur une partition de bonne taille).

Dans ce cas, tu peux vider le dossier portage dans /var/tmp comme te l'a indiqué guilc. Mais tu risques de retomber sur le même probleme en relançant l'emerge. Il faut sortir le répertoire tmp de ta partition le temps de terminer les installations :

```
mv /var/tmp /home/tmp

ln -s /home/tmp /var/tmp 
```

Maintenant, l'emerge risque d'être un peu plus long car on travaille sur deux partitions différentes, mais tu n'auras plus de problème d'espace disque. Dès que ton système sera propre (emerge world, revdep-rebuild), il serait bon de revenir à la situation normale 

```
rm /var/tmp

mv /home/tmp /var/tmp
```

puis gagner de la place sur cette partition en regardant notamment du coté d'eclean (faire un man eclean)

```
eclean -p --distfiles
```

 et si aucun problème n'est détecté, relancer sans le -p.

----------

## bas25

ou à la place de faire des liens, utiliser dans le fichier make.conf

PORTAGE_TMPDIR="/pleindeplaceici" cf http://www.gentoo-quebec.org/wiki/index.php/OldGentooWiki:Make.conf#PORTAGE_TMPDIR

----------

## guilc

Accessoirement, pour t'ôter le doute : firefox ne prends pas 3Go, c'est juste pendant la compilation. De même que libreoffice demande 9Go pour compiler, mais le paquet installé fait ensuite dans les 250Mo "seulement"

----------

## ghoti

Petit truc rapide pour faire face à ce genre de situation : monter temporairement une partition plus grosse sur /var/tmp/portage (éventuellement avec l'option "-bind" si elle est déjà montée ailleurs)

Après l'emerge "gourmand", il suffit alors de démonter /var/tmp/portage pour retrouver l'environnement "normal".

De cette manière, pas besoin de toucher au make.conf ou de de faire des moves hazardeux

----------

## bas25

Et pourquoi pas automatiser le choix du répertoire avec un truc du genre : (cf http://en.gentoo-wiki.com/wiki/Intel_C%2B%2B_Compiler)

/etc/portage/bashrc :

 [ -r ${ROOT}/etc/portage/package.big ] || return 0

 while read -a target; do

  if [ "${target}" = "${CATEGORY}/${PN}" ]; then

    export PORTAGE_TMPDIR="/pleindeplaceici"

    break

  fi

 done < ${ROOT}/etc/portage/package.big

ou bien sûr à la place du export un : mount /dev/sdx9 /var/tmp/portage

/etc/portage/package.big :

www-client/firefox

app-office/libreoffice

----------

## xaviermiller

Hello,

Une autre solution est de configurer ce répertoire par paquet via /etc/portage/package.env

J'ai vu récemment une astuce du genre dans la section anglophone

----------

## bas25

C'est vrai, on trouve ça dans le "man" de portage :   /etc/portage/env/              package-specific bashrc files

c'est pas mal expliqué sur le wiki officiel http://wiki.gentoo.org/wiki//etc/portage/env

et a priori une autre possibilité https://forums.gentoo.org/viewtopic-t-479073.html

----------

## Poussin

histoire d'éviter l'explosion de /var, si tu ne le fais pas, utilise logrotate (ça prend de la place les logs....)

Et suivant comment tu l'utilises, /var (et je ne parle même pas de /var/tmp/) peut potentiellement être assez gros -> par défaut, les bases de données, le contenu web, tout ça, ça se case là-bas

----------

## StinGer_Uesugi

Et sinon, LVM aussi, c'est super pratique pour ce genre de chose : besoin de place ici mais y en a là. Pas de problème : hop hop hop resize et bim, v'là de la place au bon endroit.  :Wink: 

----------

## ultrabug

Perso j'ai créé le fichier /etc/cron.d/eclean avec ça pour nettoyer régulièrement et automatiquement mes distfiles/pkgs. Change l'heure pour une à laquelle ta machine est susceptible de tourner bien entendu.

```
# Global variables

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

0  1  * * *     root    eclean-dist -d

0  1  * * *     root    eclean-pkg -d

```

Petite cerise sur le gâteau, si tu as un ssmtp/postfix de config tu recevras un rapport par mail (si alias root -> toi dans mon cas) de ce qui a été nettoyé  :Smile: 

----------

