# [Système] Revenir en stable (résolu)

## lefoid

Salut tout le monde

Après un essai non transformé pour passer en unstable (ACCEPT_KEYWORDS="~amd64"),

j'ai voulu revenir en stable !

Mais là, rien n'y fait; j'ai tenté :

```
emerge --sync && emerge -uDN world
```

aussi :

```
emerge -e system && emerge -e world
```

encore :

```
emerge --depclean && revdep-rebuild
```

Seulement, voila, un nombre conséquent de paquets refuse de compiler (problème

de dépendances la plupart du temps).

Ne trouvant plus de solutions à mon problème, je souhaiterais avoir votre aide pour savoir

comment je peux me retrouver avec un système à nouveau stable.

Je peux utiliser Xfce mais pas Gnome ou Kde (il manque certaines choses sous Xfce, comme

les panels par exemple, mais rien de rédhibitoire !).

Merci par avance.

.....

Il dit, mais un peu tard, qu'on ne l'y reprendrait plus.

Jean de la F.

----------

## sd44

as tu essayer des coup de revdep-rebuild avec tes emerge ?

----------

## loopx

J'ai repassé mon portable en stable, j'ai juste vire le ACCEPT_KEYWORDS et ai refait une mise à jour (downgrade)... ca à l'air de fonctionner à moitier: config kde morte => il pète un plomb de temps en temps...

----------

## lefoid

 *Quote:*   

> sd44 : as tu essayer des coup de revdep-rebuild avec tes emerge ?

 

Oui, et rien n'y fait   :Confused: 

 *Quote:*   

> loopx: j'ai juste vire le ACCEPT_KEYWORDS et ai refait une mise à jour

 

J'ai fait pareil, mais hélas, pas glop, pas glop   :Wink: 

Bref, là, ça me saoule un peu ... Quelle idée saugrenue de passer en unstable !   :Very Happy: 

----------

## sd44

oui mais parfois revdep-rebuild plante et il faut lancer que quelques paquet a la fois pour avancer au coup par coup, je crois qu'il y a une commande genre :

OPTIONS

       -X | --package-names

              emerge the best packages available, not neccessarily the exact version of the installed package

ça peut aider

----------

## bouleetbil

Salut

Une solution que j'ai adopté pour un ordi en ~x86 à repasser en stable :

Tu remets arch="amd64" dans ton /etc/make.conf

puis tu lances ce script

```

#!/bin/bash

mv /etc/portage/package.keywords /etc/portage/package.keywords.sauve

find /var/db/pkg/ -mindepth 2 -maxdepth 2 -printf "=%P\n " >> /etc/portage/package.keywords

```

Cela marque tout tes paquets dans ton /etc/portage/package.keywords

Puis au bout de quelques mises à jour tu serras repassé en stable sans douleurs.

D'accord c'est pas immédiat mais plutôt sur.(enfin je pense)

----------

## lefoid

 *Quote:*   

> sd44 : oui mais parfois revdep-rebuild plante et il faut lancer que quelques paquet a la fois pour avancer au coup par coup, je crois qu'il y a une commande genre :
> 
> OPTIONS
> 
> -X | --package-names 

 

J'ai essayé ça aussi, mais plus de 180 paquets à remettre d'aplomb, c'est pas de la tarte   :Smile: 

Si ça peut aider à montrer dans quel état se trouve mon système, je n'ai plus

java d'installé malgré un nouvel emerge de java, jdk, etc ...

```
java-config-2
```

m'indique :

 *Quote:*   

> * Checking generation_1_system_vm ...
> 
> Traceback (most recent call last):
> 
>   File "/usr/bin/java-config-1", line 14, in ?
> ...

 

Il semble qu'en passant en ~amd64, python soit passé de 2.4 à 2.5, gcc soit passé à une version supérieure,

et le problème, c'est que revenir en arrière est "très" difficile.(enfin, pas pour gcc).

J'ai fait une GROSSE ânerie en faisant un :

```
emerge -C python
```

Si, si, j'ai osé   :Embarassed: 

Du coup, j'ai dû faire un :

```
tar xvfj python-2.4.tar.bz2
```

suivi d'un :

```
ln -s /usr/local/bin/python2.4 /usr/bin/python
```

pour que ça fonctionne à nouveau.

J'ai l'impression que de nombreuses librairies ne sont pas downgradées et empêche les

mises à jour correctes.

----------

## lefoid

bouleetbil: merci pour ce script, et je m'en vais essayer ça tout de suite.

Question à 2 sesterces : comment je vais savoir que les paquets (environ 900)

sont repassés en stable ?

----------

## bouleetbil

tu peux pas   :Laughing:  (en tout cas je sais pas faire)

d'ici quelques temps tu tentes de faire du ménage dans ton /etc/portage/package.keywords

----------

## loopx

Heu, le stable, c'est juste des packets avec une version inférieur à la toute dernière ... Perso, je laisse portage faire ca popote, il downgradera ce qu'il faut ... Le reste (ce qui est succeptible de passer à travers les mailles du filet) sera mis à jour quand une version plus récente et disponible en stable arrivera ...   :Cool: 

Un ptit moyen simple pour savoir si ca a fonctioné: 

- tu lance un emerge -uDNpv world et tu regarde le nombre de packet...

- tu relance la meme commande, mais avec ACCEPT_KEYWORDS="~arch" et tu regarde si il veut upgrader plus de 300 packets   :Laughing: 

----------

## lefoid

Je viens d'essayer le script : ça attaque fort, impossible de mettre à jour quoique ce soit !

En gros, plantage de compil dès les premiers paquets (après un emerge --sync).

loopx : je ne comprends pas trop ce que tu veux dire   :Confused: 

----------

## loopx

Ben, tu était en instable... donc avec le ~arch => si tu list les mise à jour alors que tu es passé en instable, tu devrais avoir plein de mise à jour a effectuer

ex: packet_test

arch => packet_test-1.0

~arch => packet_arch-1.3

tu étais en instable => 1.3

tu passe en stable => 1.0

donc, si tu fais un tit emerge --pretend et que tu essaye de faire un update avec le keyword ~arch, tu verra qu'il DOIT faire plein de mise à jour, sinon c'est que tu n'es pas passé de instable => stable ...

----------

## bouleetbil

Comment sa gros plantage ?

----------

## lefoid

A'y est, ai compris !

Eh, pas stoupido , pas stoupido ...   :Laughing: 

----------

## lefoid

Ben, une fois les paquets copiés dans /etc/portage/package.keywords,

j'ai lancé :

```
emerge -uDN world
```

et j'ai eu droit a un message me disant que le paquet à compiler était

masqué.

Gros plantage était sans doute exagéré   :Wink: 

----------

## bouleetbil

alors en fait tu dois être à moitié en amd64 et ~amd64 d'après ce que j'ai compris.

Donc perso je me remettrais en ~amd64 afin d'avoir un système stable  :Laughing:   puis après avoir je fige le système en amd64 avec le script.

----------

## loopx

Ah uh ... j'ai oublié de préciser que j'ai retirer tout les unmask etc ... de portage ... (maintenant bon, pour gnome, aucune idée ... kde powaaaa   :Cool:  )

----------

## lefoid

Bon, j'ai remis ACCEPT_KEYWORDS="~amd64" ... je me demande encore si c'est une bonne idée !

```
emerge -uDNp world
```

me donne (outre quelques centaines de paquets) :

 *Quote:*   

> [blocks B     ] x11-drivers/ati-drivers (is blocking x11-base/xorg-server-1.4-r2)
> 
> [blocks B     ] <media-libs/openexr-1.5.0 (is blocking media-libs/ilmbase-1.0.1)
> 
> [blocks B     ] <dev-libs/boost-1.34.0 (is blocking dev-util/boost-build-1.34.1)
> ...

 

En temps normal, ça ne me pose pas trop de problème, un --unmerge des 5 paquets bloquants, 

et je les installe à nouveau à l'issue. Mais là, c'est ce que j'avais fait la dernière fois,

et je n'avais pas été convaincu. Bref, je ne sais pas trop quoi faire ...

La nuit porte conseil , je verrai ça demain   :Smile: 

----------

## sd44

ca me parait presque evident tes plantages, remettre tout d'aplomb en sens inverse ...

essaye plutot de l'avoir a l'usure, quand revdep-rebuild te propose sa ligne : emerge --oneshot ... ou un truc du genre, prend cette ligne (ou plutot ces lignes) et enleve au fur et a mesure les paquet qui plante, tu les remettra plus tard, c'est un peu fastidieu mais ça + emerge - uDa world tu finira par en venir a bout

bonne chance et surtout bonne nuit   :Very Happy: 

----------

## bouleetbil

Salut

J'ai oublié de te préciser que ton ancien /etc/portage/package.keywords a été renommé en /etc/portage/package.keywords.sauve par le script. Il faut donc le restaurer avant.

----------

## lefoid

Bon premier problème résolu (java) grâce à ce lien : 

http://dewarim.de/wms/error/java_config

La nuit porte bien conseil, cool   :Very Happy: 

EDIT : je pense même que l'installation de python "from source"

est la cause de mes soucis (il s'installe dans /usr/local/ et est

appelé avant le bon python (pas très clair ça !!)).

Je retente un :

```
emerge -e system && emerge -e world
```

A dans 3 jours   :Wink: 

----------

## synss

Il est trop tard pour vous mais pour revenir en stable, l'option de bouleetbil est la seule qui ne soit pas équivalente à arracher le disque dur de l'ordinateur et le lancer contre un mur. À savoir, mettre tous les paquets installés dans package.keyword et attendre que le temps fasse son oeuvre.

Vous avez sans aucuns doutes sérieusement flingué vos instal'. À votre place, je ferais une sauvegarde de /etc et de /home et je réinstallerais. C'est sans doute le seul moyen de retrouver un peu de stabilité. Mais sans doute que vous avez fait une sauvegarde avant de passer en ~ARCH  :Wink: 

En fait, pour downgrader, il est possible (mais toujours pas recommandé) de ne mettre que les paquets de system dans package.keyword et de laisser portage downgrader tout le reste.

Mais changer ~x86 vers x86 et emerge world a simplement flingué votre toolchain (je sais pas comment on dit ça en français) gcc, glibc, etc. et le reste.

----------

## yoyo

Encore une fois après la bataille, mais en re-parcourant le sous-forums Documentations, Astuces et Scripts, je suis tombé sur ce fil : [SCRIPT] Passer de la branche test a la branche stable.

Comme quoi, il sert ce sous-forum !!!  :Rolling Eyes: 

Enjoy !

----------

## lefoid

Merci à tous pour votre aide. Je suis arrivé à un résultat "intermédiaire", à savoir

que, je suis sous gnome et qu'un :

```
emerge -uDN world
```

ne me donne plus que superkaramba en mise à jour.

Bon, il refuse de compiler, mais je ne désespère pas de voir tout rentrer dans

l'ordre à l'occasion d'une upgrade de kde !

Sinon, tout le reste donne l'impression d'être revenu comme avant   :Confused: 

Merci donc à tous.

----------

