# Passare da testing a stable

## Kernel78

Ok, per farmi perdonare della mia latitanza da moderatore cercherò di farmi perdonare con una piccola guida.

Poniamo che in un eccesso di folle entusiasmo e senza sapere bene cosa si faceva al momento dell'installazione abbiamo erroneamente installato tutto il sistema in testing invece che in stable (errori di gioventù che possono capitare ma che rischiano di rovinare la nostra distro). Non sempre la reinstallazione è un'opzione ma non esiste un metodo per tornare ad avere un sistema stabile ... oppure esiste ???

Certo che esiste  :Wink: 

La cosa è straordinariamente facile anche se non risulta immediata.

L'unico prerequisito è usare /etc/portage/packege.keywords come una directory e non come un singolo file (rende il tutto molto più comodo).

Basta lanciare il seguente script (sostituite ~amd64 con la keyword del vostro sistema di testing)

```
for i in $(eix --installed-testing --format '<fullinstalled>' | grep / | grep -v '\[')

do

  echo =$i ~amd64

done > /etc/portage/package.keywords/quarantine
```

e modificare il file /etc/make.conf sostituendo la keyword testing con quella stable.

Al momento il sistema rimarrà invariato ma con il passare del tempo non verranno più installate altre versioni testing ma gli aggiornamenti avverranno solo per versioni stabili.

Ovviamente servirà del tempo ma è di sicuro la soluzione più banale al problema.

/EDIT: fatta una modifica per gestire la presenza di overlay

----------

## riverdragon

Molto bello!

Però c'è un bachetto che va sistemato a mano: in fondo al file compare *Quote:*   

> =[1] ~x86
> 
> ="gnome" ~x86
> 
> =/usr/local/portage/layman/gnome ~x86
> ...

 Ovvero, layman rovina il risultato.

----------

## Kernel78

 *riverdragon wrote:*   

> Molto bello!
> 
> Però c'è un bachetto che va sistemato a mano: in fondo al file compare *Quote:*   =[1] ~x86
> 
> ="gnome" ~x86
> ...

 

uff ...

dovrò fare una mini guida che spieghi come togliere layman mai usato layman in vita mia (cit.)

se mi posti l'output di 

```
eix --installed-testing --format '<fullinstalled>'
```

 vedo di provvedere  :Wink: 

----------

## riverdragon

Ecco qui!

```
x11-themes/gnome-themes-2.28.1

x11-wm/compiz-fusion-0.8.4

x11-wm/compiz-0.8.4-r2

x11-wm/metacity-2.28.0

[1] "gnome" /usr/local/portage/layman/gnome

[2] "local" /usr/local/portage

 

Found 205 matches.
```

/EDIT: scusa ma ho riportato qui un pezzo visto che detesto l'uso di servizi esterni. Kernel78

----------

## Zizo

Noto che con eix-0.20, attualmente stabile, l'opzione " --format '<fullinstalled>' " non viene più riconosciuta.

Penso si possa ottenere lo stesso risultato con:

```
for i in $(eix --installed-testing --pure-packages --format '<installedversions:NAMEVERSION>')

do

  echo "=${i}"

done > "/etc/portage/package.keywords/quarantine"
```

Naturalmente "/etc/portage/package.keywords" deve esistere ed essere una cartella.

----------

