Quanto segue spiega come spostare gradualmente Sabayon dall'albero di test all'albero stabile di portage.

Sabayon. Molto bello. Tuttavia, è un po 'inquietante che si basi tutto sull'albero di test di portage.

In make.conf, c'è una riga:ACCEPT_KEYWORDS=~amd64

L'ultima parte potrebbe leggere ~ x86 se sei su una piattaforma a 32 bit. In Gentoo speak un pacchetto è "mascherato" nel portage tree (il repository del software) fino a quando non ha completato il test. La parola chiave ~ x86 o ~ amd64 identifica i pacchetti come in fase di test. Una volta completato il test, la parola chiave cambia in "x86". Cioè, senza la tilde.

La riga sopra sta essenzialmente dicendo che ogni volta che installi un pacchetto, dovrebbe installare l'ultima versione di test.

Ciò può portare a problemi, poiché i pacchetti in testing non sono stati testati per vedere se sono pronti per il rilascio - che non sono stati sottoposti a QA per funzionare con tutto il resto che potresti aver installato.

Quindi rimuovi la riga da make.conf giusto? Sbagliato. Le dipendenze che i pacchetti hanno l'uno sull'altro sono troppo complesse perché questo funzioni. Un'altra strategia potrebbe essere quella di elaborare gruppi di pacchetti che funzionano insieme e riportarli in modalità stabile utilizzando/etc/portage/package.keywords and /etc/portage/package.mask

Dimenticalo. Portage è la rete aggrovigliata che tessiamo.

Il seguente approccio funziona in base a questo principio: accetti di avere attualmente un sacco di pacchetti di test installati, ma sembra che tutto funzioni. Quindi approfitta del fatto che molte persone stanno offrendo volontariamente il loro tempo per assicurarsi che questi pacchetti siano adatti per il rilascio, o riparandoli in modo che siano. Quindi se potessi dire "Ok, nessun pacchetto può essere aggiornato da ora in poi fino a quando non si trovano nell'albero dei rilasci".

Quindi guarda questo:equery -i list | sed 's/(.*)/\>\=$1 -~amd64 amd64/' > packages

Questo comando otterrà un elenco di tutti i pacchetti attualmente installati, aggiungerà un ">" all'inizio di ogni riga e aggiungerà "- ~ amd64 amd64 ″ alla fine di ogni riga e li invierà tutti in un file chiamato" packages "

Quindi, se il pacchetto fosse questo: media-video/vlc-0.8.6-r1
Ora assomiglia a questo:>media-video/vlc-0.8.6-r1 -~amd64 amd64

Se questa riga venisse inserita /etc/portage/package.keywords, sarebbe dire "rimuovi la maschera" ~ amd64 "da questo pacchetto e aggiungi la maschera di rilascio, se il numero di versione è maggiore di quello mostrato. In altre parole, non installare più versioni di prova per questo pacchetto.

Quindi, se il file che hai generato viene aggiunto alla fine di / etc / portage / keywords, qualsiasi aggiornamento a questi pacchetti non verrà installato a meno che non si trovi nell'albero dei rilasci. Quindi ora, tutto ciò che devi fare è aspettare fino a quando non ci sono abbastanza pacchetti in una versione che sei sicuro di poter rimuovere la riga ACCEPT_KEYWORDS da make.conf.

Notare che per il file sopra, la prima riga del file "packages" non sarà valida. Rimuovi la prima riga. Puoi aggiungere il file a package.keywords con (come root):cat packages >> /etc/portage/package.keywords

Nota che questa non è una soluzione per incendio e dimentica. È probabile che ci siano modifiche alle dipendenze che devi apportare mentre procedi, e dovrai inserire una riga in package.keywords per ogni nuovo pacchetto che installi, ma questo almeno impedirà a "emerge world" di assicurarsi che il tuo sistema sia mai stabile.



Giovedì, Agosto 23, 2007

« Indietro