# emerge --update --deep world

## adam_z

tempo addietro ho installato:

GENTOO da CD senza rete 2005.0

ATI DRIVER (secondo le istruzioni di allora)

KDE (dal package CD)

Ora volevo aggiornare il tutto e ho fatto

```
emerge --sync

emerge --update --world
```

Ho fatto bene oppure no?

Cosa mi ritrovo quando ha finito di EMERGERE? (devo riconfigurare il kernel?)

GRAZIE IN ANTICIPO 

----------

## codadilupo

ehehe, e come facciamo  a saperlo  :Wink:  ?

Probabile che ci sara' un nuovo kernel, e molti pacchetti aggiornati. MA quali puoi saperlo solo tu  :Wink: 

La mia personale opinione:

emerge -pvt world ---> controlli le USE e decidi se ti van bene

emerge -f world  ---> scarichi i  pacchetti

emerge world  ---> installi

Ovviamente, se vuoi un aggiornamento 'forte', allora sarà:

emerge -uDpvt world

emerge -uDf world

emerge -uD world

Coda

----------

## fedeliallalinea

Se c'e' un nuovo kernel portage si preoccupa solo di scaricare i sorgenti (quindi non tocca nulla della configurazione attuale), sarai poi te a decidere se compilare la nuova versione o tenere la vecchia.

----------

## adam_z

 *fedeliallalinea wrote:*   

> Se c'e' un nuovo kernel portage si preoccupa solo di scaricare i sorgenti (quindi non tocca nulla della configurazione attuale), sarai poi te a decidere se compilare la nuova versione o tenere la vecchia.

 

Quindi quando ha finito di "emergere" ha scaricato solo i sorgenti e poi se voglio il nuovo KERNEL (il mio prima era il 2.6.11-r3) devo fare:

```
cd /usr/src/linux

make menuconfig

(mi apre il menù dove scelgo le opzioni)

cp arch/i386/boot/bzImage /boot/kernel-2.6.11-gentoo-r3

```

Ho capito bene?

----------

## fedeliallalinea

I passi giusti sono

```
# cd /usr/src/linux

make menuconfig

(mi apre il menù dove scelgo le opzioni)

# make && make modules_install

# cp arch/i386/boot/bzImage /boot/kernel-2.6.11-gentoo-r3 
```

poi maguari metti una nuova entry nel grub.conf cosi se non funziona hai il vecchio kernel funzionante

----------

## adam_z

io uso LILO:

per mettere una nuova entry (come mi hai consigliato) faccio così:

- uso un nuovo nome invece di kernel-2.6.11-gentoo-r3 (ad es. kernel-aggiornato) => cp arch/i386/boot/bzImage /boot/kernel-aggiornato

- in lilo aggiungo una voce uguale a quella con kernel-2.6.11-gentoo-r3 cambiano il nome con quello nuvo (ad ex. kernel-aggiornato).

E' corretto?

PS: scusami se ti sto tempestando di domande e dubbi, ma ho una sfiga dietro l'altra e spero che aggiornando tutto mi funzioni il supporto ALSA (o come modulo o come built-in o con gli alsa-driver).

----------

## fedeliallalinea

 *adam_z wrote:*   

> E' corretto?

 

Si ma ricordati solo 2 cose:

1) se hai la /boot in una partzione separata prima del cp ricordati di montarla 

```
# mount /boot

# cp arch/i386/boot/bzImage /boot/kernel-2.6.11-gentoo-r3
```

2) Una volta fatto il cp lancia il comando

```
# lilo
```

Con questo dovrebbe essere tutto

----------

## adam_z

```
# mount /boot
```

prima del

```
# cp arch/i386/boot/bzImage /boot/kernel-aggiornato
```

a cosa serve?

Essendo già dentro linux la partizione con boot è già montata.

----------

## Lestaat

 *adam_z wrote:*   

> 
> 
> ```
> # mount /boot
> ```
> ...

 

Non è scontato che sia montata.

E' montata se l'hai montata in precedenza a mano o qualche script o l'opzione auto di fstab è attiva per quella partizione.

La lettura del kernal e dell'eventuale init avviene a disco smontato

----------

## fedeliallalinea

 *adam_z wrote:*   

> a cosa serve?
> 
> Essendo già dentro linux la partizione con boot è già montata.

 

gentoo a differenza di altre distro se fai una partizione di boot separata quando ha finito di usarla (lettura dell'immagine del kernel) la smonta automaticamente.

----------

## .:chrome:.

 *fedeliallalinea wrote:*   

>  *adam_z wrote:*   a cosa serve?
> 
> Essendo già dentro linux la partizione con boot è già montata. 
> 
> gentoo a differenza di altre distro se fai una partizione di boot separata quando ha finito di usarla (lettura dell'immagine del kernel) la smonta automaticamente.

 

beh... adesso... mi pare un po' azzardata come dichiarazione.

sembra che gentoo faccia sempre così. dipende solo da quello che metti in fstab. è una scelta dell'utente, non della distribuzione

----------

## adam_z

e la devo montare ogni volta prima che faccio "cp arch/i386... /boot/kernel" oppure solo in questo caso perchè è un secondo kernel (che poi andrò a configurare in lilo).

Perchè sul manuale io non l'ho vista questa istruzione.

----------

## .:chrome:.

 *adam_z wrote:*   

> e la devo montare ogni volta prima che faccio "cp arch/i386... /boot/kernel" oppure solo in questo caso perchè è un secondo kernel (che poi andrò a configurare in lilo).
> 
> Perchè sul manuale io non l'ho vista questa istruzione.

 

basta che editi fstab per montare automaticamente il device

man fstab

----------

## fedeliallalinea

 *k.gothmog wrote:*   

> beh... adesso... mi pare un po' azzardata come dichiarazione.

 

Se... vabbe e' sempre riferito a qualcuno che segue la guida (quindi tenendo il piu possibile i codici che danno)

----------

## luna80

 *fedeliallalinea wrote:*   

> I passi giusti sono
> 
> ```
> # cd /usr/src/linux
> 
> ...

 

prima di fare il make menuconfig però devi fare puntare /usr/src/linux alla dir del nuovo kernel...

se poi magari ti copi il veccho .config ti risparmi un pò di possibili problemi

in fin dei conti:

```

#cd /usr/src/

#cp linux/.config <dir_nuovo_kernel>

#rm linux

#ln -sf <dir_nuovo_kernel> linux

#cd linux

#make oldconfig

...

```

io di solito faccio così...

----------

## Kernel78

Io ho attivato la USE symlink così non devo ricordarmi di modificare il link simbolico ogni volta.

----------

## adam_z

Ho fatto:

```
emerge --update --deep world
```

Ha cominciato ad emergere 176 pacchetti

a un certo punto  ho trovato questo messaggio:

 *Quote:*   

> grep: /usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5/libstdc++.la: No such file or directory
> 
> /bin/sed: can't read /usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5/libstdc++.la: No such file or directory
> 
> libtool: link: `/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5/libstdc++.la' is not a valid libtool archive
> ...

 

Allora ho fatto:

```
# emerge kdelibs
```

 ma dà lo stesso errore. Cosa sgnifica?

come faccio a finire l'aggiornamento?

 [RISOLTO]

Soluzione (nel mio caso): basta creare un link simbolico nella dir "/usr/lib/gcc-lib/" chiamato "i386-pc-linux-gnu" che punti a "/usr/lib/gcc-lib/i686-pc-linux-gnu". (Poi io dentro alla dir "/usr/lib/gcc-lib/i686-pc-linux-gnu" avevo una dir "3.3.5" mentre l'aggiornamento andava a cercare nella die "3.3.6" => altro link simbolico e tutto è andato a buon fine).Last edited by adam_z on Thu Feb 16, 2006 11:21 am; edited 1 time in total

----------

## fedeliallalinea

Nouvo problema nuovo thread

EDIT: fai una ricerca con " is not a valid libtool archive " ci sono moltissimi thread al riguardo

----------

## Cazzantonio

io alla lista dei comandi per aggiornare aggiungerei anche:

```
cd /root

rm revdep* -rf

revdep-rebuild -p
```

guardi la lista e vedi se ci sono pacchetti da riemergere per ricostruire le dipendenze (ignora gli eventuali pacchetti binari... quelli con "*-bin")

se ci sono pacchetti da riemergere dai

```
revdep-rebuild
```

Una volta fatto questo si controllano se ci sono pacchetti inutili con 

```
unclepine -u -v
```

ed eventualmente si procede alla rimozione

(unclepine lo trovi tra i tools qui nel forum)

----------

## adam_z

Ora ho due kernel:

2.6.11-r3

2.6.15-r1

Come faccio a eliminare il kernel 2.6.11-r3 dato che l'altro va OK!

Oltre ad eliminare la entry in LILO cosa devo cancellare o fare?

GRAZIE

----------

## .:chrome:.

ma perché non leggi i manuali?

se si installa tutto con emerge, potresti iniziare a leggere man emerge

hai idea di quanto sia antipatico leggere domande a cui si può rispondere solo facendo un copia & incolla sei manuali?

----------

## Cazzantonio

è una faq... vai a leggerti le faq... sono lì per quello

----------

## fedeliallalinea

 *adam_z wrote:*   

> Come faccio a eliminare il kernel 2.6.11-r3 dato che l'altro va OK!

 

Hanno ragione k.gothmog e Cazzantonio ma per questa volta ti aggevolo la soluzione visto che sei "nuovo"

```
# emerge -C =gentoo-sources-2.6.11-r3
```

se poi hai messo il vanilla devi solo cambiare gentoo-sources con quello che hai installato

----------

## Luca89

C'è anche una opzione "-P aka --prune" che può essere utile:

```
# emerge -P gentoo-sources
```

Ti elimina tutte le versioni di gentoo-sources tranne la più recente.

EDIT: la -P è maiuscola

----------

## adam_z

Quindi, da quello che ho capito, anche il kernel viene considerato come un qualunque pacchetto e per eliminarlo, lo si fa come per qualunque altro pacchetto con # emerge --unmerge kernel-2.6.11-r3.

A parte le opzioni speciali come "-p -aka -prune". o altre ancora.

----------

## gutter

 *adam_z wrote:*   

> Quindi, da quello che ho capito, anche il kernel viene considerato come un qualunque pacchetto
> 
> 

 

Esattamente.

----------

## adam_z

correggo la mia ultima domanda: come si fa a eliminare una versione del kernel?

facendo  # emerge --update --deep world mi ha aggiornato il kernel (gentoo-sources) eliminando le versioni precedenti.

Però quando sono andato a fare il # make menuconfig ho salvato il link /usr/src/linux in /usr/src/linux-old e si è aggiunta altr dir con la versione aggiornata del kernel (/usr/src/kernel-old e /usr/src/kernel-new).

Ecco la domanda è questa posso cancellare il link /usr/src/linux-old e la dir /usr/src/kernel-old senza fare danni?

----------

## bender86

 *adam_z wrote:*   

> Quindi, da quello che ho capito, anche il kernel viene considerato come un qualunque pacchetto e per eliminarlo, lo si fa come per qualunque altro pacchetto con # emerge --unmerge kernel-2.6.11-r3.
> 
> A parte le opzioni speciali come "-p -aka -prune". o altre ancora.

 

In realtà lo elimina dall'elenco dei pacchetti installati. Credo cancelli anche un po' di files, ma la directory /usr/src/linux-X.Y.Z rimane, con dentro almeno i file temporanei e di configurazione. Dopo aver eliminato il pacchetto ***-sources, dovresti anche cancellare questa dir.

----------

## Luca89

 *bender86 wrote:*   

> In realtà lo elimina dall'elenco dei pacchetti installati. Credo cancelli anche un po' di files, ma la directory /usr/src/linux-X.Y.Z rimane, con dentro almeno i file temporanei e di configurazione. Dopo aver eliminato il pacchetto ***-sources, dovresti anche cancellare questa dir.

 

Esatto, portage elimina tutti i file che esso aveva precedentemente installato ma i files temporanei generati da make per la compilazione del kernel rimangono e devono poi essere rimossi a mano, non a caso mi sono fatto un tool che fa tutti lui.

----------

## adam_z

oltr cancellare la dir /usr/src/kernel-vecchio (con tutti i file contenuti) c'è altro da cancellare o il sistema è "pulito"?

Altra cosa: puoi postare il tool che ti sei fatto, così per curiosità.

GRAZIE

----------

## lavish

 *adam_z wrote:*   

> oltr cancellare la dir /usr/src/kernel-vecchio (con tutti i file contenuti) c'è altro da cancellare o il sistema è "pulito"?

 

```
/lib/modules/<versione_vecchio_kernel>
```

e i files di cui pensi di non aver più bisogno in /boot

----------

## Luca89

 *adam_z wrote:*   

> Altra cosa: puoi postare il tool che ti sei fatto, così per curiosità.

 

L'ho postato nella sezione della documentazione, eccolo qui. Oltre a cancellare le directory in /usr/src cancella anche quelle nominate da lavish: /lib/modules/versione_kernel_vecchi e le vecchie immagini in /boot.

----------

