# Server gentoo

## Gherry75

Ciao a tutti,

ho postato anche nella sezione inglese, ma magari riesco ad avere qualche risposta anche qua  :Smile: 

Questa la mia situazione in poche parole:

un nuovo cliente ha un server Gentoo (macchina in produzione e online 24/24) e la persona che lo seguiva prima, chiamarlo sistemista mi pare un po' tanto, lo ha mollato.

La macchina non e' stata aggiornata da almeno 2-3 anni e il software raid e' degradato perche' uno dei dischi sta morendo.

Purtroppo non essendo aggiornata, non posso neanche installare smartmontools per vedere i parametri degli hdd,

in quanto emerge mi da errore (per ora sono andato di #lshw e #lspci e log vari per capirci qualcosa)

!!! Your current profile is deprecated and not supported anymore.

!!! Use eselect profile to update your profile.

!!! Please upgrade to the following profile if possible:

        default/linux/x86/13.0

Francamente, vista la situazione, penso sia piu' furbo e veloce installare un Gentoo aggiornato da zero, piuttosto che

aggiornare tutto il sistema, tutti i servizi e tutte le applicazioni sperando poi che funzioni tutto 'out of the box'.

Il problema e' che, ovviamente, prima di fare una cosa del genere, voglio fare un backup di tutto quello che c'e' sulla macchina. Ma non posso installare nulla, neppure un programma di backup, visto che il profilo non e' aggiornato.

Cosa fare? Sono aperto a qualsiasi suggerimento, ultima spiaggia fare un #dd di ognuna delle partizioni su uno (o due) dischi esterni che monterei al volo.

Cosa ne pensate? Mi piacerebbe avere un parere da qualche esperto di gentoo, io lo uso raramente e magari c'e' qualche procedura per voi banale a cui non ho pensato.

ciao

----------

## loxdegio

Ora, premettiamo che non sono un esperto, ma visto che hai problemi ad installare qualunque cosa ci sono due vie:

- eselect profile {list | set} per selezionare un profilo "server" aggiornato, come consigliato da emerge (anche se lui ti consiglia di usare un profilo generico, mentre per un server ti consiglierei un profilo hardened) e ritentare le operazioni di aggiornamento

- usare rsync (strumento potentissimo per il backup dei dati, già integrato perché è lo stesso che usa portage per aggiornare l'albero), di cui penso ci sia un completissimo manuale esplicativo (man rsync), per fare un backup su drive esterni.

Spero di essere stato d'aiuto  :Very Happy: 

Sono in gentoo da poco più di un mesetto quindi le mie conoscenze sono alquanto limitate, ma prima di installarlo ho letto tanta di quella documentazione che i libri dell'università in confronto sono letture piacevoli  :Razz: 

----------

## sabayonino

ciao

un backup/copia dei dati è sempre consigliato

il profilo utilizzato è vecchio e non più supportato , lo stesso emerge ti consiglia di cambiarlo

una installazione ex-novo è l'ultima spiaggia , ma se hai già tutto configurato perchè rifare tutto da capo ?

controlla il profilo in uso :

```
# eselect profile list
```

o eventualmente controlla il vecchio link dove punta : (è un collegamento ...)

```
# ls /etc -lh | grep make.profile
```

fai lo switch allo stesso  profilo se esiste ancora ma relativo alla versione 13.0 (se non ricordo male qualche anno fa c'era un profilo "server")

attualmente ci sono i profili :

```
eselect profile list

Available profile symlink targets:

  [1]   default/linux/amd64/13.0

  [2]   default/linux/amd64/13.0/selinux

  [3]   default/linux/amd64/13.0/desktop *

  [4]   default/linux/amd64/13.0/desktop/gnome

  [5]   default/linux/amd64/13.0/desktop/gnome/systemd

  [6]   default/linux/amd64/13.0/desktop/kde

  [7]   default/linux/amd64/13.0/desktop/kde/systemd

  [8]   default/linux/amd64/13.0/developer

  [9]   default/linux/amd64/13.0/no-multilib

  [10]  default/linux/amd64/13.0/x32

  [11]  hardened/linux/amd64

  [12]  hardened/linux/amd64/selinux

  [13]  hardened/linux/amd64/no-multilib

  [14]  hardened/linux/amd64/no-multilib/selinux

  [15]  hardened/linux/amd64/x32

  [16]  hardened/linux/uclibc/amd64

```

se non sei su un profilo "hardened" non ti consiglio di switcharlo ... la configurazione è ostica.

se il vecchio profilo non è più presente potrei suggerirti di tenere un profilo generico (default/linux/amd64/13.0  o x86)

e poi aggiornare con :

```
# emerge -uDNa --with-bdeps=y @system
```

```
# emerge -uDNa --with-bdeps=y @world
```

PS : potresti cominciare prima di questi comandi con la ricompilazione della toolchain se vuoi : (facoltativo)

```
# bash /usr/portage/scripts/bootstrap.sh
```

segui le istruzioni che portage di suggerisce (eventualmente posta gli errori in caso di compilaazioni non riuscite)

nel caso (sicuro) che ti suggerisca di aggiornare dei file di configurazione con etc-update , scarta tutte le modifiche (-9) se non vuoi perdere le configurazioni

----------

## djinnZ

 *Gherry75 wrote:*   

> La macchina non e' stata aggiornata da almeno 2-3 anni e il software raid e' degradato perche' uno dei dischi sta morendo.

 quindi è inutile che provi ad aggiornare. Non ci puoi fare più nulla e non cambiare il profilo o finisci di incasinarlo. Se puoi ripristina la directory di portage e rimettilo nello stato originale da cvs. O non ti funzionerà più nulla bene. *Gherry75 wrote:*   

> !!! Your current profile is deprecated and not supported anymore.

 come sopra. Tra modifiche al kernel ed a udev, senza ignorare la toolchain che è cambiata nelle sue dipendenze è pazzesco pensare di aggiornare un sistema in simili condizioni. *Gherry75 wrote:*   

> installare un Gentoo aggiornato da zero, piuttosto che aggiornare tutto il sistema, tutti i servizi e tutte le applicazioni sperando poi che funzioni tutto

 nel subforum risorse ci sono tre miei post specifici sull'argomento.

L'unico approccio possibile è prendere codesto sistema, farne una copia su disco esterno tramite rsync o tar (devo ancora capire a cosa dovrebbero servire codesti strumenti di backup tanto decantati se non ad accontentare i coglioncini con farraginosi frontend grafici all windozziana, su una macchina singola ovviamente), azzerare /var/db/pkg, sovrascriverci i binari di uno stage3 direttamente e ricompilarlo ex novo con FEATURES="-collision-protect -preserve-libs -protect-owned". Poi con i pacchetti binari (quelli creati con quickpkg), sempre secondo il mio apposito suggerimento, potresti aggiornare il sistema originale.

Non vedo particolari problemi ma non ci ho mai provato, cercavo cavie, infatti.

Lo switch dal profilo hardened a "normale" o viceversa è un'operazione idiota e di dubbia riuscita su sistemi completi.

Si può anche fare ma sempre rifacendosi alle (contro)indicazioni sullo switch della toolchain tramite pacchetti binari.

Verifica bene prima.

[OT]Davvero geniale metter su un raid senza installare gli strumenti per la manutenzione. Ma non è che possa trattarsi del medesimo imbecille di cui a questo post?[/OT]

----------

## sabayonino

@Djdiniz ... abbiam capito che i sistemi di backup "alla windows" non ti incantano,  comunque si è liberi di utilizzare quel che più aggrada   :Razz: 

tornando al problema :

RAID e disco degradato ... è un software raid ? se utilizza mdraid , con mdadm si può gestire il recovery del disco anche a caldo (mirror 1 spero ! )

se è un raid hardware  , dovrebbe gestirlo in automatico il controller stesso (sempre a caldo)

per l'aggiornamento , lo avevo fatto 3-4 anni (o qualcosa in più) fa su un server gentoo con quattro cose in croce (LAMP et varie cosucce) tutto da remoto (quei server preconfenzionati forniti dagli hosting...)aggiornando un profilo 2006 (ma all'epoca c'era quello"server" se non ricordo male ) ho sudato sette camice solo con mysql   :Shocked:   ... ma alla fine ne sono venuto fuori.

ma se non prova non puoi dire "è impossibile" ...

tra l'alternativa di reisntallare (alla winzoz ? ) ...almeno  provare magari va anche bene ! mal che vada si arrende e reinstalla (alla winzoz !!)

se poi il problema è di tempo e produttività è un altro discorso...

----------

## djinnZ

Non è la prima volta che rispondi con assurdità.

Per questa ragione lascio ai moderatori la valutazione sul tuo comportamento che è ai limiti del sabotaggio.

Ed abbandono il tono ilare mio solito.

Non puoi aggiornare un sistema dopo tanto tempo, tanto più se non è pienamente funzionante, mantenendo la toolchain originale.

Se vuoi giocare e perder tempo con un sistema bloccato e baloccarti in inutili smanettamenti dietro a blocchi, dipendenze circolari e pacchetti che hanno cambiato nome etc. puoi provarci, ma se vuoi procedere correttamente l'unica strada è la ricostruzione totale.

Ma la ricompilazione totale non la si fa lanciando emerge --sync ; emerge -eNDu @world. Questo è semplicemente sbagliato.

C'è un metodo preciso, non univoco, che passa per i pacchetti binari, ragione per cui è a disposizione tinderbox, per avere a disposizione i pacchetti binari dello stage3 e poter fare simili operazioni.

Non è questione di possibilità ma di metodo palesemente errato. Farlo su una macchina in produzione ed attiva 24/24 è pazzesco, se non garantisce il pieno funzionamento è un suicidio.

Finirà certamente con un sistema irrimediabilmente bloccato e con l'installazione di una diversa distribuzione (e sospetto seriamente che questo sia l'obiettivo delle tue castronerie).

La toolchain di hardened/selinux è separata rispetto all'albero normale ed ha un proprio profilo non per capriccio o per semplicità. Non si può passare dall'una all'altra.

O meglio lo dovresti fare passando per un doppio emerge -e @system seguito da un emerge -e @world, senza considerare le difficoltà per il quasi certo downgrade del gcc e della libc e la gestione degli attributi.

Veramente da imbecilli se c'è il modo di farlo una sola volta (ed ho accennato come fare, se proprio hai limato molti file di configurazione e non vuoi ripetere il lavoro).

I file di configurazione di diversi pacchetti sono cambiati (nel senso che le variabili interne sono cambiate) o sono stati spostati per cui non puoi conservarli alla cieca come hai suggerito ma è necessario andare a vedere cosa è cambiato tra una versione e l'altra. Non puoi ignorare le variazioni altrimenti blocchi il sistema.

Questi sono gravi errori.

Quanto all'idea di perder tempo a recuperare un sistema implementato da un cane che installa un raid in produzione senza smartmon... sarà certamente pieno di castronerie.

Si fa prima a ricostruirlo e rimpiazzarlo "a freddo" tramite binari ed una live (un fermo macchina nei termini di un'oretta, nell'ipotesi più disastrosa).

@Gherry75: rsync, tar, cpio e bzip sono "di serie" su gentoo. Devono essere presenti per forza, se non ci sono, come credo di capire, sicuramente non puoi aggiornare, dovresti prima installare i binari perché neppure emerge funziona.

Teoricamente se sono stati rimossi intenzionalmente, dovrebbe risultare dai log di emerge, ci sarebbero gli estremi di un'ipotesi penale oltre all'azione civile certa.

----------

## sabayonino

 *djinnZ wrote:*   

> Non è la prima volta che rispondi con assurdità.
> 
> Per questa ragione lascio ai moderatori la valutazione sul tuo comportamento che è ai limiti del sabotaggio.
> 
> 

 

Scusi Sua Maestà.Farò penitenza all'angolo del bar.

 *djinnZ wrote:*   

> 
> 
>    LinkNon vedo particolari problemi ma non ci ho mai provato, cercavo cavie, infatti.

 

quindi vai per casualità ?  se va và... ... non è sabotaggio questo ?

 *djinnZ wrote:*   

> 
> 
> Non puoi aggiornare un sistema dopo tanto tempo, tanto più se non è pienamente funzionante, mantenendo la toolchain originale.
> 
> 

 

Ho riportato una mia esperienza simile  ed i problemi non sono stati gravosi e nessun disservizio "eterno"

 *djinnZ wrote:*   

> 
> 
> Ma la ricompilazione totale non la si fa lanciando emerge --sync ; emerge -eNDu @world. Questo è semplicemente sbagliato.
> 
> 

 

Infatti ho elencato altri due codici (bootstrap compreso e che utilizzo tutto'ora senza problemi)

 *djinnZ wrote:*   

> 
> 
> Non è questione di possibilità ma di metodo palesemente errato. Farlo su una macchina in produzione ed attiva 24/24 è pazzesco, se non garantisce il pieno funzionamento è un suicidio.
> 
> 

 

Lo stesso valutava ad una installazione ex-novo (quindi con un down sistematico della macchina ...)

 *djinnZ wrote:*   

> 
> 
> (e sospetto seriamente che questo sia l'obiettivo delle tue castronerie)
> 
> 

 

sarà la stanchezza di una giornata pesante ...ma questa non l'ho capita

 *djinnZ wrote:*   

> 
> 
> La toolchain di hardened/selinux è separata rispetto all'albero normale ed ha un proprio profilo non per capriccio o per semplicità. Non si può passare dall'una all'altra.
> 
> 

 

Infatti non mi sembra proprio di averlo suggerito !

 *djinnZ wrote:*   

> 
> 
> I file di configurazione di diversi pacchetti sono cambiati (nel senso che le variabili interne sono cambiate) o sono stati spostati per cui non puoi conservarli alla cieca come hai suggerito ma è necessario andare a vedere cosa è cambiato tra una versione e l'altra. Non puoi ignorare le variazioni altrimenti blocchi il sistema.
> 
> 

 

Ammetto che non ho riflettuto bene su questo.

 *djinnZ wrote:*   

> 
> 
> Questi sono gravi errori.
> 
> 

 

Devo tornare all'angolo del bar ?

 *djinnZ wrote:*   

> 
> 
> Quanto all'idea di perder tempo a recuperare un sistema implementato da un cane che installa un raid in produzione senza smartmon... sarà certamente pieno di castronerie.
> 
> Si fa prima a ricostruirlo e rimpiazzarlo "a freddo" tramite binari ed una live (un fermo macchina nei termini di un'oretta, nell'ipotesi più disastrosa).
> ...

 

tutti cani e porci e coglioncini ... (lo sarò anch'io .. me ne farò una ragione). 

Mr. perfection.

[chiudo]

----------

## ago

 *Gherry75 wrote:*   

> la persona che lo seguiva prima, chiamarlo sistemista mi pare un po' tanto

 

Non so se tu sia un sistemista, ma se non riesci a cambiare il profilo dovresti meditare anziché crtiticare.

Se non ti sai muovere bene su gentoo, fai una copia di tutto e reinstalla da capo.

Per quanto riguarda gli altri, non è la prima volta che si da un consiglio del tipo: "se va va, altrimenti ci hai provato". Io suggerisco di evitare di rispondere ai post se non si sa spiegare bene una cosa o se non si conosce la soluzione.

Evitiamo di proseguire la discussione(lato insulti), grazie.

----------

## djinnZ

Tanto per chiudere la discussione chiarisco che le procedure da me indicate le ho già impiegate con successo in passato (quindi sono verificate ma non abbastanza), sia per recuperare una installazione rovinata (filesystem corrotto con file troncati) che una installazione datata (un anno).

Sono certo che funzionano ma le verifiche le ho condotte solo su sistemi da me impostati e possedendo adeguata competenza non ho problemi ad aggiungere eventuali piccole correzioni in corso d'opera.

L'impatto che possono avere nelle mani di un inesperto non lo ho verificato e non mi sono mai trovato a dover aggiornare sistemi più vecchi di un anno.

Poiché tutto ciò che funziona ma non è stato adeguatamente provato (non verificato) è definito sperimentale nel mondo dell'open source tale è per me il ricorso ai pacchetti binari per il ripristino o la ricostruzione totale.

Se fossimo in ambito ufficiale ed avessi creato un vero e proprio script per il recupero andrebbe marcato come ~arch non mascherato, per capirci, e comunque avrebbe richiesto una messa a punto in base alla specifica installazione su cui interviene.

Solo per ribadire, a giovamento di chi dovesse imbattersi in questo thread per risolvere problemi simili, che dopo un paio d'anni una gentoo non la si può aggiornare semplicemente lanciando emerge ma occorre riflettere bene su cosa è cambiato (il problema me lo sono posto la prima volta quando il riassetto delle librerie di base bloccava tar durante l'aggiornamento) e decidere tra le alternative (si potrebbe anche pensare ad una ricostruzione che si fermi al solo @system e poi procedere smanettando alla buona per @world) una precisa strategia. Meglio perdere un'ora a pianificare che due giorni a compilare inutilmente per poi dover realmente ripartire da zero.

Mi permetto di far notare che non sono stato capace, su una distribuzione binaria "blasonata", di ottenere un valido aggiornamento dopo due anni, il sistema semplicemente è rimasto inutilizzabile ed ho dovuto reistallare e riconfigurare da zero, su gentoo è solo una cosa un tantino complicata ma risolvibile.

----------

## ago

http://blog.siphos.be/2013/12/upgrading-old-gentoo-installations/

----------

## djinnZ

 :Shocked:  Supponendo che hai una installazione del 2006 (come in questo caso in discussioni) ti becchi di certo l'upgrade del gcc, il blocco per udev ed il relativo cambio di impostazioni del kernel, il cambio di versione del python, l'introduzione del python 3 e non ricordo quante altre rogne compilando completamente almeno 14 volte? Nnelle capaci mani di un niubbo?

Non mi è mai parsa una soluzione attuabile ma solo un modo complicato per farsi del male.

Anche se è l'unico approccio che funziona senza necessità di farsi una installazione separata a parte ed usare una live per il ripristino come la mia.

Oltre al problema ovvio del dover scaricare i pacchetti con i sorgenti (che non tutti i mirror hanno quindi finisci sempre in timeout).

Non mi chiedere quali non sono riuscito a scaricare a suo tempo perché veramente non lo ricordo.

----------

