Page 1 of 1

Passare da testing a stable

Posted: Thu Feb 04, 2010 10:59 am
by 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)

Code: Select all

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

Posted: Thu Feb 04, 2010 12:11 pm
by riverdragon
Molto bello!
Però c'è un bachetto che va sistemato a mano: in fondo al file compare
=[1] ~x86
="gnome" ~x86
=/usr/local/portage/layman/gnome ~x86
=[2] ~x86
="local" ~x86
=/usr/local/portage ~x86
Ovvero, layman rovina il risultato.

Posted: Thu Feb 04, 2010 1:36 pm
by Kernel78
riverdragon wrote:Molto bello!
Però c'è un bachetto che va sistemato a mano: in fondo al file compare
=[1] ~x86
="gnome" ~x86
=/usr/local/portage/layman/gnome ~x86
=[2] ~x86
="local" ~x86
=/usr/local/portage ~x86
Ovvero, layman rovina il risultato.
uff ...
dovrò fare una mini guida che spieghi come togliere layman mai usato layman in vita mia (cit.)

se mi posti l'output di

Code: Select all

eix --installed-testing --format '<fullinstalled>'
vedo di provvedere :wink:

Posted: Sun Feb 07, 2010 2:59 pm
by riverdragon
Ecco qui!

Code: Select all

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

Posted: Wed Aug 18, 2010 7:19 pm
by 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:

Code: Select all

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.