Questa Wiki ha “nessuna modifica” o “nessun registro” fatto negli ultimi 45 giorni, quindi è segnata come “inattivo”. Se vuoi evitare che la Wiki venga a essere “chiusa”, per favore comincia a mostrare segni di attività qui. Se non ci sono segni di questa Wiki utilizzata nei seguenti 15 giorni, questa Wiki potrebbe essere chiusa per la nostra Politica di dormienza. Questa Wiki potrà essere eleggibile per adozione da un altro utente. Se non adottata entro 135 giorni da adesso questa Wiki potrà essere “cancellata”. Per favore si sicuro di famigliarizzare con la Politica di dormienza. Se sei un burocrate, puoi andare a Special:ManageWiki e sbloccare “inattivo” tu stesso. Se hai altre domande o dubbi, prego non esitare a contattare Bacheca dei Stewards.

Gentoo/aggiornamento

Da LILIS.

Per manutenere correttamente un sistema gentoo ed effettuarne gli aggiornamenti la prima cosa da fare è aggiornare gli ebuild ed i profili[1] contenuti nell'albero del portage con:

emerge --sync

al termine bisogna seguire eventuali istruzioni che appariranno a video, ad esempio potrebbe venir suggerito di aggiornare il portage stesso con:

emerge portage

Aggiornamento completo del sistema

Operazione 'pesante' ed a volte 'pericolosa', da effettuarsi raramente quando possiamo permetterci 'eventualmente' di non poter usare il PC in modo completo per qualche ora:

emerge -DuN --with-bdeps=y world
  • il flag -u indica a portage di verificare la disponibilità di aggiornamenti per tutti i pacchetti registrati nel file world
  • il flag -D indica di verificare anche la disponibilità di aggiornamenti per le dipendenze utilizzate dai pacchetti registrati nel file world
  • il flag -N indica di verificare quali pacchetti installati hanno bisogno di essere ricompilati perchè sono cambiate le use flag
  • --with-bdeps=y indica a portage di aggiornare anche speciali dipendenze utilizzate solo nella fase di configurazione/compilazione

Aggiornamento di un singolo pacchetto

Otteniamo la lista dei pacchetti aggiornabili con:

emerge -DuNpv world

scegliamo quale aggiornare e poi procediamo con:

emerge -Du nomepacchetto

Dipendenze inverse

Durante l'aggiornamento di una libreria ad una nuova versione è necessario ricompilare anche i pacchetti che la utilizzano (si parla in questo caso di dipendenze inverse). Portage si è evoluto nel tempo ed oggi mantiene una copia della libreria fin quando i pacchetti dipendenti non vengono riemersi. Questa condizione è segnalata da emerge e si può risolvere con il comando:

emerge @preserved.rebuild

in ogni caso il pacchetto gentoolkit mette a disposizione il comando:

revdep-rebuild

che consente di verificare manualmente (e riemergere) pacchetti non funzionanti a causa dell'aggiornamento di una dipendenza.

Perl-Cleaner

Il comando:

perl-cleaner all

consente di manutenere facilmente i moduli del perl. Vi consiglio di lanciarlo dopo aver effettuato un aggiornamento completo del sistema.

python-updater

Il comando:

python-updater

va utilizzato dopo un aggiornamento del python per aggiornare tutti i suoi sottomoduli alla nuova versione. Come per perl-cleaner conviene lanciarlo dopo un aggiornamento completo.

Aggiornamento del kernel

Emerge aggiorna anche i sorgenti del kernel e li distribuisce in una sottocartella di /usr/src. Il kernel corrente viene indicato attraverso un link simbolico. Per aggiornare il kernel vero e proprio (il file binario) bisogna dunque far puntare il link al nuovo kernel, operazione che possiamo fare manualmente oppure tramite il comando:

eselect kernel list

seguito da

eselect kernel set nuovokernel

successivamente conviene ricopiare il file di configurazione:

cd /usr/src
cp linux-vecchiaversione/.config linux

e poi ricompilare il kernel con il comando:

genkernel all

diviene necessario poi riemergere tutti i moduli forniti da pacchetti esterni, usando il comando:

emerge @module-rebuild

infine bisogna rigenerare il file di configurazione del grub:

grub2-mkconfig -o /boot/grub/grub.cfg

e riavviare il sistema!

Riemersione totale del sistema

Si tratta di un'operazione LENTISSIMA e si attiva con:

emerge -e world

il flag -e sta per 'empty', significa dunque emersione a vuoto, di *tutti* i pacchetti installati nel sistema comprese le dipendenze vengono ricompilati. E'un opportunità che si applica in casi estremi o particolari ad esempio:

  • se viene aggiornato il compilatore, si può desiderare che *tutto* il sistema sia ricompilato per usufruire di caratteristiche avanzate introdotte con la nuova versione, aumentando verosimilmente la velocità dei programmi o diminuendo l'occupazione della memoria
  • malfunzionamenti dei programmi non gestiti correttamente dall'albero delle dipendenze
  • cambio delle CFLAGS e riapplicazione a tutti i pacchetti
  • etc.

in alcuni casi è consigliabile riemergere tutto il sistema due volte, per essere sicuri che i pacchetti siano stati costruiti a loro volta da pacchetti aggiornati.

In taluni casi può capitare che l'emersione a vuoto di world non va a buon fine perchè il core del sistema è compromesso, in tal caso si può tentare con:

emerge -e system

e poi due volte

emerge -e world

Problemi

In caso le operazioni di emerge dovessero fallire prova a consultare la pagina di TroubleShooting.

  1. sono presenti anche altri file di configurazione che non trattiamo in questa fase