# [emerge]-recompilation totale...

## sebbb

Bonsoir,

J'aurai voulu savoir comment faire une recompilation de tous les paquets installés ???

Est-il possible de faire :

```
emerge unmerge games/*
```

pour supprimer tous les jeux par exemple ?

Merci :)

----------

## Doudou

 *sebbb wrote:*   

> Bonsoir,
> 
> J'aurai voulu savoir comment faire une recompilation de tous les paquets installés ???
> 
> 

 

```
emerge -e world
```

 il me semble.

 *sebbb wrote:*   

> 
> 
> Est-il possible de faire :
> 
> ```
> ...

 

Ca je ne sais pas!  :Smile: 

----------

## sebbb

La bonne syntaxe :

```
emerge unmerge games-*/* -p
```

Voila :)

Par contre pour le -e je ne comprends pas le sortie :

Il marque tout en 'N' alors qu'ils sont tous installés... pourquoi ne sont-ils pas notés 'R' ???

----------

## Niko

D'apres ce que j'ai compris l'option -e signifie 'empty tree' ... donc portage fait comme si rien n'etait installé ( d'où les N a la place des R ) ... ca implique que si tu re-emerge avec cette option, il réinstallera toutes ( c'est à dire TOUTES ) les dépendances, considérant que l'arborescence de portage est vide ...

Cela peut être utile dans certains cas ( a definir ) ... a toi de voir si c'est réellement ce que tu cherches ...

Si ta question porte effectivement sur tous les paquets installés ( c'est à dire TOUS, y compris ceux du bootstrap ), c'est une solution, sinon, si c'est juste pour une partie précise de l'arbre portage ( par ex. games/* ) je ne sais pas.

Niko

----------

## Stanislas

Hop ... Si tu le fais je suis iintéressé. Au début j'avais pas fait gaffe que mon CFLAGS n'était pas défnini sur Athlon-xp et beaucoup de mes packages ne sont pas compilés avec cette option.

Je me suis toujours dit qu'une recompilation totale serait bien mais j'admet ne pas avoir osé ... Y a t'il des risques ?

----------

## sebbb

A part un sucide du CPU devant le tache a accomplir, je pense pas....

----------

## Yann

Avant de te lancer dans un "emerge --emptytree", fais attention à certains packages qui vont bloquer en te demandant d'agir interactivement (certains jeux comme Marbleblast-demo qui te demande d'accepter la licence) et d'autres qui ont absolument besoin d'une variable d'environnement que tu n'aurais pas déclarée (heu... openoffice qui demande que l'on toppe LINGUAS si je me souviens bien).

Pour les premiers, je les ai viré de world avant de lancer l'emerge. Pas trés propre mais bon, efficace!

Ca serait dommage que tu lance ca le matin et que tu revienne le soir ou deux jours aprés pour voir que ca s'est arrêté en plein quart!!! (perso, ca fait une semaine que j'essaye de tout recompiler comme ça).

----------

## sebbb

ok, merci pour cet avertissement :)

----------

## Stanislas

Je vais voir, je vais peut-être lancer ça pendant les vacances et surveiller par connexion SSH ... Par contre quelqu'un sait comment faire pour voir les messages que vas me mettre l'emerge lancé sur une console, sur une connexion ssh (donc une autre console ...) ???

----------

## bestel

Il faut que tu lances ta commande avec nohup

```
nohup emerge -e world &
```

Ca te créera un fichier nohup.txt dans ton repertoire en cours. Ensuite tu peux te déloguer et revenir plus tard. Tous les messages de l'emerge seront envoyé dans nohup.txt et si tu veux regardé ce qui s'est passé tu peux l'éditer. Si tu veux seulement regarder ce qu'il est en train de faire, tu peux seulement lancer un petit :

```
tail -f nohup.txt
```

voilà, voilà  :Smile: 

----------

## Arno

Si le emerge -e s'arrête pour une raison ou pour une autre, on peut le faire repartir là où il s'était arrêté avec 

```
emerge -e --resume
```

 et si la raison de l'arrêt est un package qui ne compile pas, on peut faire repartir en "skipant" le package en question avec 

```
emerge -e --resume --skipfirst
```

----------

## Yann

Yeba!!! Cool Arno, tu m'enlève une grosse épine du pied! Forcément, avec mes "emerge --resume" sans --emptytree, il me trouvait rien à faire je comprenais pas (fatigué moâ)   :Confused: 

----------

## TGL

 *sebbb wrote:*   

> La bonne syntaxe :
> 
> ```
> emerge unmerge games-*/* -p
> ```
> ...

 

Oui et non... Si je ne m'abuse, ça n'est pas vraiment un syntaxe supportée par emerge. Je pense que si ça a marché, c'est que tu étais dans /usr/portage, et que ton shell s'est chargé de l'expansion des étoiles (laissant celle de l'univers aux bons soins des physiciens). C'est ceci dit un bon truc que j'utilise aussi de temps en temps (par exemple "emerge -p media-plugins/*xmms*" pour voir les plugins xmms à installer, des trucs comme ça), mais qui ne marche malheureusement plus dans certaines situations depuis que les fichiers "timestamp.x" sont venus pourir le listing de ces répertoires. Mais pourquoi (trois fois, au moins) ne se sont-ils appellés plutôt ".timestamp" ?

----------

## Stanislas

cool, merci ...

Bon ben je pense que ma machine vas tourner quelques jours pendant que je pars en vacances  :Smile: 

----------

## Garko

 *Stanislas wrote:*   

> Je vais voir, je vais peut-être lancer ça pendant les vacances et surveiller par connexion SSH ... Par contre quelqu'un sait comment faire pour voir les messages que vas me mettre l'emerge lancé sur une console, sur une connexion ssh (donc une autre console ...) ???

 

Il est aussi possible d'utiliser "screen" :

```
*  app-misc/screen

      Latest version available: 4.0.1-r1

      Latest version installed: 4.0.1-r1

      Size of downloaded files: 817 kB

      Homepage:    http://www.guckes.net/screen/

      Description: Screen is a full-screen window manager that multiplexes a physical terminal between several processes
```

tu lance emerge avec :

```
# screen -L emerge -e world
```

"CTRL + A, CTRL + D" afin de sortire de screen

Puis pour récupérer le terminal tu fait (par exemple) :

```
# ps awx | grep screen

 4092 ?        S      0:00 [screen]

# scren -r 4092
```

----------

## bestel

Oui, screen c'est vraiment très bien aussi, ca permet de faire comme nohup, mais ca gère les interfaces graphique. Mais à mon avis, pour un emerge simple il est préferable d'utiliser nohup qui est moins lourd.

----------

## Garko

Oui, enfin si tu a un logiciel qui te demande de répondre (dans le cadre d'une licence par exempe) et que tu l'a laissé dans le "world", avec screen tu pourra lui répondre. A moins que quelque chose m'ai échapé dans l'utilisation de nohup.

C'est la raison pour laquel je préfaire utiliser screen quand je lance un emerge sur des machines distantes.

----------

## dyurne

merci, pour cette option de emerge que je ne connaissais pas ( eh non j'ai pas lui la page man en entiere   :Embarassed:   ), je compte bientot changer de processeur et refaire mon install complétement ça me branchais pas trop.

----------

