# [TIP] arrêter et reprendre un emerge sans douleur

## fb99

Je viens de lire cette astuce sur le forum italien et elle est vraiment géniale, donc je vous l'a fait partager. voilà le lien au cas où [TIP][PORTAGE] Stoppare e riprendere un emerge senza dolore!

En fait il s'agit "d'hiberner"(-->mette en attente) une compilation et de la reprendre exactement là ou elle en était sans rien perdre. Choses très utiles pour les machines ou si vous avez absoluement besoin de votre cpu à 100 % tout de suite .....

Voilà comme ça marche en pratique:

```
#emerge <ce_que_vous_voulez>
```

ensuite pour hiperner le processus un ch'ti 

```
CTRL+Z
```

et pour le reprendre il vous suffit d'entrer 

```
#fg
```

Si vous ne me croyez pas, testez-le vous verrez bien.

enjoy   :Wink: 

 Attention, j'ai oublié de préciser que ça doit être effectué dans le même terminal[/color

[EDIT] : cela fonctionne avec n'importe quel emerge ( même avec emerge --sync, ..), et en principe avec n'importe quel processus.

----------

## bong

 *fb99 wrote:*   

> cela fonctionne avec n'importe quel emerge ( même avec emerge --sync, ..), et en principe avec n'importe quel processus.

 

En effet, c'est une fonction basique du shell...

Mais je ne vois pas vraiment le rapport avec l'"hibernation" et le cassage d'oreille. Ca voudrait dire que tu met ton processus en pause pour ensuite passer en veille prolongee? Si c'est ca, tu devrais le preciser.

----------

## fb99

non les termes étaient mal appropriés. dsl !!

Je sais, enfin je l'ai découvert, que c'est une fonction basique du shell tout comme bg. Mais je trouvais sympa de le relever; les solutions les plus simples étant parfois les meilleurs --> sur linux on a de magnifique outil de base que l'on met si peu à contribution   :Crying or Very sad:  .

Donc voilà, trouvant l'astuce utile et sympas, bien que basique je me suis permit de la mettre ici, cependant si vous trouvez qu'il est trop basique pour avoir sa place ici je le vire.

----------

## bong

Non non, laisse ça là, ça coute rien   :Wink: 

C'est vrai qu'il y a plein de petites fonctions de ce genre.

----------

## geekounet

Lors d'une pause au milieu du emerge sync, tu risques pas de perdre ta connexion au serveur si tu "pause" trop longtemps ?

----------

## titoucha

Ben moi je ne la connaissait pas   :Shocked:  elle est vraiment bien cette astuce

----------

## El_Goretto

Ya peut être moyen de compléter avec les astuces propres à portage (dont je connais vaguement l'existence) pour reprendre un compilation qu'on a vraiment arrêtée (en se gamélant dans le ctrl-z par exemple  :Smile: )

----------

## yoyo

Pour compléter le tips, j'exhume un vieux post avec plein de fautes d'orthographe (âmes sensibles s'abstenir   :Wink:   ) listant quelques raccourcis utiles sous bash.

Enjoy !

----------

## Leander256

 *El_Goretto wrote:*   

> Ya peut être moyen de compléter avec les astuces propres à portage (dont je connais vaguement l'existence) pour reprendre un compilation qu'on a vraiment arrêtée (en se gamélant dans le ctrl-z par exemple )

 

La réponse se trouve dans le post qu'a exhumé yoyo (et que je viens de retrouver de mon côté), mais un peu plus haut, là où TGL explique comment faire avec la commande ebuild. Reste à savoir si ça marche toujours (ça devrait) et si certains ebuilds posent toujours problème.

----------

## ghoti

 *Leander256 wrote:*   

> Reste à savoir si ça marche toujours (ça devrait) et si certains ebuilds posent toujours problème.

 

La technique exposée est de "singer" la commande emerge : en gros, un "emerge" n'est ni plus ni moins qu'une série de commandes "ebuild". Le fichier *.ebuild lui-même vise surtout à définir les particularités d'une application précise.

Donc, je dirais : tant que portage existera sous sa forme actuelle, la technique sera toujours valable.

Par contre, il y aura toujours des packages à problèmes : essentiellement ceux dont la compilation n'est pas "restartable".

A mon avis, vu qu'un emerge essaye d'automatiser une procédure qu'on devrait normalement faire manuellement (décharger-compiler-installer), il devrait toujours être possible de bidouiller mais la difficulté de la bidouille est essentiellement variable en fonction de l'application à installer

/me comment est-ce que je peux pondre des trucs aussi imbuvables ?  :Sad: 

----------

## truc

suite à la discution ici et un post que je cherchais, voici un auter tip qui peut vraiment faire gagner du temps:

thread initial

merci à kimchi_sg  :Wink: 

 *kimchi_sg wrote:*   

> OK, since the OP seems to have emerged autoconf right after the emerge -e system failure, this will not be helpful to him. But in case anyone else with similar compile failures looks here and they have not emerged autoconf yet, this advice will save them a lot of time.
> 
> Copy /var/cache/edb/mtimedb to a safe location. I prefer root's home directory for this. 
> 
> ```
> ...

 

----------

## hackensolo

 *fb99 wrote:*   

> Je viens de lire cette astuce sur le forum italien et elle est vraiment géniale, donc je vous l'a fait partager. voilà le lien au cas où [TIP][PORTAGE] Stoppare e riprendere un emerge senza dolore!
> 
> En fait il s'agit "d'hiberner"(-->mette en attente) une compilation et de la reprendre exactement là ou elle en était sans rien perdre. Choses très utiles pour les machines ou si vous avez absoluement besoin de votre cpu à 100 % tout de suite .....
> 
> Voilà comme ça marche en pratique:
> ...

 

Chez moi ça fonctionne et merci pour l'astuce...mais ce qui serait intéressant c'est de mettre en pause une compilation sur la console ssh et la reprendre sur la console du pc physique sur lequel on était connecté en ssh.

----------

## guitou

Bonjour.

 *Quote:*   

>  Chez moi ça fonctionne et merci pour l'astuce...mais ce qui serait intéressant c'est de mettre en pause une compilation sur la console ssh et la reprendre sur la console du pc physique sur lequel on était connecté en ssh.

 

C'est possible aussi, avec la commande screen (ou tmux aussi, et sans doute d'autres encore, comme nohup).

++

Gi)

----------

## Tanki

 *guitou wrote:*   

> Bonjour.
> 
>  *Quote:*    Chez moi ça fonctionne et merci pour l'astuce...mais ce qui serait intéressant c'est de mettre en pause une compilation sur la console ssh et la reprendre sur la console du pc physique sur lequel on était connecté en ssh. 
> 
> C'est possible aussi, avec la commande screen (ou tmux aussi, et sans doute d'autres encore, comme nohup).
> ...

 

y'a une commande qui permet de faire migrer un processus d'un terminal à un autre, le problème c'est que j'ai oublié le nom

c'est dommage car il est bien pratique

je m'en servais quand j'avais des instabilité de X pour faire migrer mes mises à jour vers tty1

je vais faire une recherche et je viendrai éditer mon poste

EDIT : et voilà j'ai trouvé, il s'agit de reptyr

----------

