Maintain our Gentoo: differenze tra le versioni

Da EigenWiki.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 16: Riga 16:
Una cosa molto comoda sono gli alias ovvero l'assegnare ad una parola un comando usato di frequente che magari ha molti parametri o che è difficile da ricordare. Per esempio per eseguire un update globale del sisteme:
Una cosa molto comoda sono gli alias ovvero l'assegnare ad una parola un comando usato di frequente che magari ha molti parametri o che è difficile da ricordare. Per esempio per eseguire un update globale del sisteme:


  alias fullupdate='emerge -avq --sync && layman -S && emerge -avq --complete-graph --update --deep --with-bdeps=y --newuse world \
  alias fullupdate='emerge -vq --sync && layman -S && emerge -avq --complete-graph --update --deep --with-bdeps=y --newuse world \
                         && python-updater -- --verbose --quiet'
                         && python-updater -- --verbose --quiet'
Se la macchina venisse riavviata mentre state facendo un aggiornamento, i seguenti comandi possono essere utili per capire a che punto fosse arrivato:
qlop -l
per vedere quali aggiornamenti ha fatto,
equery changes <pacchetto>
per i changelog se te li sei persi,
equery check <pacchetto>
se vuoi controllare l'integrità dei file,
eread
per la lista dei messaggi dei pacchetti, dipende da come è configurato, o ti da un file di tutto insieme o un log per pacchetto.


Volete evitare di ripartire con la scelta dei moduli da includere nel kernel ogni volta che lo aggiornate?
Volete evitare di ripartire con la scelta dei moduli da includere nel kernel ogni volta che lo aggiornate?

Versione delle 17:58, 30 nov 2013

Ed ecco la pagina più attesa: tips & tricks per gestire i nostri server, dagli accorgimenti quasi stupidi alle procedure per salvare tempo ed evitare di commettere stupidaggini.

Sui nostri server gira Gentoo: sistema ottimizzato per la macchina e quindi più performante. Di solito sui nostri server usiamo questi pacchetti:

  • virtual/ssh client e server SSH per la gestione remota delle macchine
  • net-misc/babeld::eigenlay routing a layer 3
  • net-misc/batman-adv::eigenlay routing a layer 2
  • app-misc/tmux terminal multiplexer
  • net-analyzer/jnettop visualizza le connessioni attive ordinandole secondo vari parametri tra cui la banda usata
  • net-analyzer/iptraf-ng visualizza le connessioni attive e diversi tipi di statistiche sul traffico di rete
  • sys-apps/mlocate indicizza i file e permette di cercarli rapidamente sull'indice
  • net-dns/ddclient dynamic dns client

Astuzie Varie

Una cosa molto comoda sono gli alias ovvero l'assegnare ad una parola un comando usato di frequente che magari ha molti parametri o che è difficile da ricordare. Per esempio per eseguire un update globale del sisteme:

alias fullupdate='emerge -vq --sync && layman -S && emerge -avq --complete-graph --update --deep --with-bdeps=y --newuse world \
                        && python-updater -- --verbose --quiet'

Se la macchina venisse riavviata mentre state facendo un aggiornamento, i seguenti comandi possono essere utili per capire a che punto fosse arrivato:

qlop -l

per vedere quali aggiornamenti ha fatto,

equery changes <pacchetto>

per i changelog se te li sei persi,

equery check <pacchetto>

se vuoi controllare l'integrità dei file,

eread

per la lista dei messaggi dei pacchetti, dipende da come è configurato, o ti da un file di tutto insieme o un log per pacchetto.


Volete evitare di ripartire con la scelta dei moduli da includere nel kernel ogni volta che lo aggiornate?

Supponiamo di avere kernel 1 e kernel 2, ovviamente kernel 2 è il più recente e deve essere configurato.

Da shell:

eselect kernel list
eselect kernel  set 2
cd /usr/src/linux
cp ../kernel1/.config .
make oldconfig

Quest'ultimo comando ci dirà cosa è cambiato dal vecchio kernel al nuovo senza dover controllare ogni singola voce.

Per evitare di perdere le configurazioni del kernel prima di modificare una config copiala in /usr/src

cp /usr/src/kernel.x/.config /usr/src/make-old-config

Così se qualcosa va storto oppure un

emerge --depclean

elimina i sorgenti si può fixare velocemente

Per macchine LXC

Logs

syslog-ng ha una configurazione di default che manda i log a una console fisica inesistente. Per sistemare questo bisogna editare

/etc/syslog-ng/syslog-ng.conf

in modo che:

  • tutte le righe che si riferiscono a "kernsrc" siano commentate
  • tutte le righe che si riferiscono a console_all non scrivano su /dev/tty12 (che non esiste) ma magari su un altro file. /var/log/messages è una buona scelta in quanto è un file di log generico, ed è già gestito da logrotate.

Aggiornare il sistema

La maggior parte dei server utilizzati da eigenLab sono server recuperati da trashware ed utilizzano Gentoo/Linux come sistema operativo. Gentoo non è una distribuzione Linux pensata per essere semplice da usare (come potrebbero essere Ubuntu, Mint e OpenSuse) bensì è una distribuzione pensata per essere estremamente personalizzabile e per sfruttare appieno tutte le potenzialità dell'hardware in uso. L'installazione di Gentoo non è banale ma lo diventa seguendo una lunga guida.

Qui riportiamo solo i comandi per aggiornare un sistema Gentoo, escludendo il caso in cui si aggiorni anche il kernel:

   emerge --sync;
   emerge -avq --update --deep --newuse --complete-graph=y --with-bdeps=y world;
   emerge --depclean;
   revdep-rebuild;
   python-updater;
   dispatch-conf;

Per semplificare l'installazione di alcuni pacchetti che frequentemente servono sui nostri server abbiamo creato un overlay per Gentoo.