Gentoo Linux risposte a domande frequenti Daniel Robbins Colin Morey John P. Davis Eric Stockbridge Stoyan Zhekov Carl Anderson Jorge Paulo Sven Vermeulen Benny Chuang Enrico Morelli Queste FAQ sono una collezione di domande e risposte estratte dalla mailing list gentoo-dev e dal canale IRC. Se avete altre domande (o risposte!) da aggiungere, contattate l'autore o un membro del gruppo documentazione. 2.15 16 Aprile 2005 Domande sulle caratteristiche
Per iniziare
  • Qual è la pronuncia Gentoo, e cosa significa?
  • Cosa rende Gentoo differente?
Installazione
  • Il sistema sembra instabile usando ottimizzazioni come "-O9 -ffast-math -fomit-frame-pointer".
  • Come cambiare la password di root (e di fatto per ogni altro utente)
  • Come aggiungere un utente
  • Come può un utente diventare (su [switch user]) root
  • Come disabilitare devfs
  • Aggiornare Gentoo da una release ad un'altra senza reinstallare
  • Il kernel non si avvia in modo appropriato
  • Cosa fare se il proxy richiede un'autenticazione
  • Come masterizzare un file ISO
  • Quale CD/Stage usare per la propria CPU
Amministrazione dei pacchetti
  • Qual è il formato dei pacchetti
  • Eseguire autonomamente il passo ./configure nella compilazione di un pacchetto
  • Cosa fare se rsync non funziona
  • Usare emerge da una rete protetta da un firewall
  • Eseguire rsync da un altro sistema operativo
  • Per connessioni lente: scaricare i sorgenti e aggiungerli in seguito al sistema
  • I sorgenti .tar.gz del software installato rimangono in /usr/portage/distfiles usando spazio prezioso. E' sicuro cancellare questi files?
  • Cosa c'è in /var/tmp/portage. E' sicuro cancellare i file e le directory in /var/tmp/portage?
Utilizzo
  • OpenSSH permette il login solo come utente root.
  • Applicazioni X partono solo come utente root.
  • Configurare un International Keyboard Layout.
  • La risoluzione dei nomi (DNS) funziona solo per l'utente root.
  • Usare crontab con un utente non root.
  • Come avere numlock attivo ad ogni avvio del computer.
  • Come avere il terminale pulito dopo ogni operazione di logout
  • Non si riescono ad eseguire applicazioni X come root dopo un comado su.
Manutenzione
  • Come risolvere un problema di corruzione su filesystem ReiserFS.
  • Metalogd non scrive i log in tempo reale.
Sviluppo
  • Come riportare un bug.
  • Quanto spesso cambiano le release.
  • Come aggiungere una domanda o una risposta a queste FAQ.
  • Lo speaker del computer suona come impazzito durante la compilazione di Mozilla. Come disabilitare i beep da console.
Risorse
  • Dove trovare maggiori informazioni su Gentoo Linux.
  • Come acquistare un CD di Gentoo Linux.
  • Una replica ad un post nella mailing list di Gentoo, viene inviata all'autore originale e non a tutta la lista.
  • Non ho trovato una risposta alla mia domanda.
Per iniziare
Significato di Gentoo e pronuncia

Gentoo è un piccolo e veloce pinguino, la pronuncia è "gen-too" (la "g" in "gentoo" è morbida come in "gentile"). Il nome scientifico del pinguino è Pygoscelis papua, e il nome Gentoo gli è stato dato dagli abitanti delle Isole Falkland (Isole Malvinas).

Cosa rende Gentoo differente

Gentoo usa un sistema di porting BSD-like chiamato Portage. Il Portage è un sistema per la gestione di pacchetti software che permette una grande flessibilità per l'installazione e la manutenzione di un sistema Gentoo. Fornisce inoltre, il supporto per opzioni da utilizzare in fase di compilazione dei pacchetti attraverso flag USE, dipendenze condizionali, "false" installazioni, installazioni sicure (attraverso sandboxing) e disinstallazione di software, profili di sistema, protezione dei file di configurazione e diverse altre caratteristiche.

Con Gentoo è possibile costruire un intero sistema dai sorgenti usando ottimizzazioni predefinite. L'utente ha inoltre il controllo completo su quali pacchetti installare e quali no. Gentoo fornisce anche numerose scelte sul tipo di installazione così da far avere il sistema che più soddisfa le esigenze dell'utente. Ecco perché Gentoo è chiamata meta distribuzione.

Gentoo ha un attivo e rapido sviluppo. Non solo gli ebuild (il formato dei pacchetti di Gentoo) ma anche l'intera distribuzione viene migliorata e aggiornata molto rapidamente. Patch per i pacchetti sono velocemente integrate nell'albero principale, la documentazione è aggiornata su base giornaliera, nuove caratteristiche sono aggiunte frequentemente al portage, le release si succedono velocemente.

Installazione
Tutto è realmente instabile usando ottimizzazioni come "-O9 -ffast-math -fomit-frame-pointer".

L'uso di ottimizzazioni maggiori di -O3 non devono essere usate, dato che non sono supportate dalla versione corrente di gcc. Ottimizzazioni molto aggressive causano qualche volta, l'indirizzamento del codice assembler in punti dove non farà più la stessa cosa.

Prima di riportare un bug, compilare usando CFLAGS posto a -march=<your_arch> -O2.

Come cambiare la password di root (e di fatto ad ogni altro utente)

Usare passwd per cambiare la password dell'utente attualmente in uso. Per conoscere opzioni extra e settaggi, usare il comando man passwd una volta completata l'installazione.

Come aggiungere un utente

Il comando adduser gentoo aggiungerà un utente chiamato gentoo. Il passo seguente sarà di dare al neo utente la password usando passwd

Invece di adduser è possibile usare anche il seguente comando:

# useradd gentoo -m -G users,audio,wheel -s /bin/bash gentoo

Questo comando creerà l'utente gentoo, dandogli la possibilità di usare le periferiche collegate al suono (/dev/sound/*), permettendogli di diventare root (usando il comando su) in quanto facente parte del gruppo wheel e assegnandogli come shell la /bin/bash.

E' possibile anche installare superadduser usando emerge superadduser e quindi digitare superadduser gentoo per aggiungere un utente chiamato gentoo. Basta seguire le istruzioni date da superadduser.

Come può un utente diventare root

Per ragioni di sicurezza, gli utenti possono diventare (o usare il comando su) root solo facendo parte del gruppo wheel. Per aggiungere uno username al gruppo wheel eseguite il seguente comando come root:

# gpasswd -a username wheel
			
Come disabilitare devfs

Per usare Gentoo col "vecchio stile" dell'approccio /dev, disabilitare devfs passando il parametro gentoo=nodevfs al kernel. Se d'altra parte, si vuole usare udev (solo per kernel sella serie 2.6), si può disabilitare devfs passando l'opzione devfs=nomount al kernel. Si raccomanda la lettura della udev guide.

Aggiornare Gentoo da una release ad un'altra senza reinstallare

Di fatto non ci sono differenze tra le varie release dopo l'installazione. Gentoo 1.4 e successive sono basate sulle glibc-2.3.x. Per questo eseguendo il comando emerge --sync; emerge -u world, si allineerà rapidamente l'intero sistema all'ultima release di Gentoo. La vera differenza tra le varie release stà solo nella fase di installazione.

Si possono trovare maggiori informazioni sulla Gentoo Upgrading Guide.

Il kernel non si avvia in modo appropriato

Non è necessario rifare ogni passo dell'installazione, ma solo quelli associati al kernel. Supponiamo si aver installato Gentoo in /dev/hda1 (/boot) e /dev/hda3 (/) con /dev/hda2 come swap space:

Avviare dal LiveCD e aspettare il prompt
Quindi montare tutte le partizioni:
# mount /dev/hda3 /mnt/gentoo
# mount /dev/hda1 /mnt/gentoo/boot
# swapon /dev/hda2
# mount -t proc none /mnt/gentoo/proc
Fare il chroot e configurare il kernel
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
# cd /usr/src/linux
# make menuconfig
Ora (de)selezioniamo quello che (de)selezionato in modo errato al

tentativo precedente. Uscire salvando la configurazione corrente
e ricompilare il kernel:
# make dep && make bzImage modules modules_install
Copiare il nuovo bzImage sovrascrivendo la versione precedente:
# cp arch/i386/boot/bzImage /boot
Se usate LILO, rieseguire lilo -- gli utenti GRUB dovrebbe saltare questo passo:
# /sbin/lilo
Uscire dal chroot e riavviare.
# exit
# umount /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
# reboot
    

Se d'altra parte il problema è legato alla configurazione del bootloader, seguire gli stessi passi, ma invece di configurare/compilare il kernel occorre riconfigurare il bootloader (la ricompilazione non è necessaria).

Il proxy richiede un'autenticazione

Usando wget, usare la seguente sintassi per l'autenticazione:

# wget --proxy-user=username --proxy-passwd=password <url>

Per automatizzare il procedimento, occorre definirlo in /etc/make.conf:

FETCHCOMMAND="wget --proxy-user=username --proxy-passwd=password \

 -t 5 --passive-ftp -P \${DISTDIR} \${URI}"

 RESUMECOMMAND="/usr/bin/wget --proxy-user=username --proxy-passwd=password \
  	                -c -t 5 --passive-ftp -P \${DISTDIR} \${URI}"

Per riuscire ad usare rsync con un proxy, configurare la variabile ambiente RSYNC_PROXY come segue:

  	 RSYNC_PROXY="username:password@proxy-server:port"
  	 
Come masterizzare un file ISO

Sarà necessario masterizzare il file nella cosiddetta modalità raw. Questo significa che non si dovrebbe mettere il file sul CD, ma interpretare il file come un intero CD.

Ci sono molti strumenti per masterizzare CD e coprirli tutti diventerebbe un problema infinito. Per cui verrano esaminati alcuni degli strumenti più popolari.

  • Usando EasyCD Creator selezionare File, Record CD from CD image e cambiare Files of type in ISO image file. Collocare il file ISO e cliccare su Open. Al termine, cliccare su Start recording per masterizzare l'immagine ISO.
  • Usando Nero Burning ROM, cancellare il wizard che appare automaticamente e selezionare Burn Image dal menu File. Selezionare l'immagine da masterizzare e cliccare su Open. Al termine cliccare sul pulsante Burn e l'immagine verrà scritta sul CD.
  • Usando cdrecord, digitare semplicemente cdrecord dev=/dev/hdc (sostituire a /dev/hdc il percorso della periferica che identifica il masterizzatore) seguito dal percorso del file ISO.
  • Usando K3B, selezionare Tools > CD > Burn Image. Al termine collocate il file ISO all'interno dell'area 'Image to Burn' e cliccare su Start.
  • Usando Mac OS X Panther, lanciare Disk Utility da Applications/Utilities, selezionare Open dal menu Images, selezionare l'immagine montata nella finestra principale e selezionare Burn nel menu Images.
  • Usando Mac OS X Jaguar, lanciare Disk Copy da Applications/Utilities, selezionare Burn Image dal menu File, selezionare la ISO e cliccare il pulsante Burn.
Quale CD/Stage usare per la propria CPU

Prima di tutto occorre conoscere la CPU in uso. Supponiamo sia un Pentium-M. Ci sarà bisogno di sapere che CPU è, le istruzioni corrette, la compatibilità. Per questo, consultare il sito web del produttore della CPU, o Google.

Per il Pentium-M, si scopre che è un Pentium-3 con istruzioni SSE, il che lo rende compatibile con le istruzioni del Pentium-4. Così, per Pentium-M si potranno scegliere i CD/Stage per il Pentium-4.

Se non si è sicuri, scegliere un CD/Stage più "grossolano", per esempio i686 o anche generico.

Amministrazione dei Pacchetti
Formato dei pacchetti

I pacchetti sono nel portage tree come ebuild autobuild scripts (script autocompilabili); Gentoo è primariamente una distribuzione ports-based, il che significa che vengono provveduti scripts (.ebuild files) e uno speciale sistema (Portage) attraverso cui costruire le applicazioni dai sorgenti. Generalmente vengono rilasciati pacchetti precompilati solo per release e snapshot. Il Development HOWTO spiega il contenuto di uno script ebuild in dettaglio. Per complete release ISO, viene creata un'intera suite di pacchetti in formato binario .tbz2 (compatibile con tar.bz2 con meta-informazioni attaccate alla fine del file.)

Eseguire autonomamente il passo ./configure nella compilazione di un pacchetto

Il metodo esposto funzionerà solo per ebuild semplici (per esempio dove basta eseguire ./configure e make && make install). Accertarsi di guardare l'ebuild per vedere come Gentoo lo avrebbe usato per l'installazione.

Prima esegure l'unpack dell'ebuild: ebuild /usr/portage/<category>/<package>/<ebuild> unpack.

Quindi andare in /var/tmp/portage/<package>-<version>/work. In questa directory troverete tutti i sorgenti del pacchetto. Eseguire quindi tutti i passi per configurare e compilare il pacchetto.

Terminata la compilazione, eseguire touch /var/tmp/portage/<package>-<version>/.compiled per far credere al Portage di aver configurato e compilato il pacchetto. Terminare il processo con ebuild /usr/portage/<category>/<package>/<ebuild> merge.

Cosa fare se rsync non funziona

Se siete all'interno di un'area protetta da un firewall che non permette di utilizzare rsync, si può usare emerge-webrsync che scaricherà ed installerà un'istantanea del Portage attraverso una normale connessione HTTP. emerge-webrsync usa wget per scaricare, in modo tale da supportare completamente il proxy.

~# emerge-webrsync
Usare emerge in una rete protetta da un firewall

Occorre modificare le impostazioni di PROXY in /etc/make.conf. Se non funziona ancora, editare /etc/wget/wgetrc e modificare appropriatamente http_proxy e ftp_proxy.

Eseguire rsync da un altro sistema operativo

C'è un programma chiamato unison che gira sia sotto UNIX che sotto Win32, E' disponibile su http://www.cis.upenn.edu/~bcpierce/unison/.

Per connessioni lente: scaricare i sorgenti e aggiungerli in seguito al sistema

Eseguire emerge --pretend package in modo da vedere quali programmi devono essere installati. Per avere la lista dei sorgenti per questi pacchetti ed il sito dai quali scaricarli, usare emerge -fp package. Scaricare i sorgenti e metterli su un supporto qualsiasi. Copiare quindi i sorgenti in /usr/portage/distfiles ed eseguire emerge package.

I sorgenti .tar.gz del software installato rimangono in /usr/portage/distfiles usando spazio prezioso. E' sicuro cancellare questi files?

Si', potete sicuramente cancellare questi files. Ma se usate una connessione lenta, come un modem, potete voler tenere l'archivio se possibile; spesso alcuni ebuild sono rilasciati per la stessa versione di un software specifico. Se avete cancellato l'archivio e aggiornato il software esso dovrà essere scaricato nuovamente da internet.

Cosa c'è in /var/tmp/portage E' sicuro cancellare i file e le directory in /var/tmp/portage?

Dusante la compilazione, Gentoo salva i sorgenti del pacchetto in /var/tmp/portage. Non ci sono problemi a cancellare tutto il contenuto di questa directory.

Utilizzo
OpenSSH permette il login solo come utente root

Questo è molto probabilemtente è causato dal fatto che il vostro user non ha una shell valida. Controllate la riga riguardante il vostro user in /etc/passwd e accertatevi che finisca con /bin/bash (o qualsiasi altra shell). Se non è cosi', dovete specificare una shell per il vostro user. Questo puo' essere fatto usando il comando usermod, in questo modo:

# usermod -s /bin/bash user
Applicazioni X vengono eseguite solo come root.

La directory /tmp ha permessi sbagliati (occorre definire lo stiky bit). Digitare il seguente comando come root:

# chmod 1777 /tmp
Configurare un layout internazionale per la tastiera

Modoficare la variabile KEYMAP in /etc/rc.conf. Quindi riavviare il computer o far ripartire lo script keymaps come segue: /etc/init.d/keymaps restart.

La risoluzione dei nomi in DNS funziona solo per root.

Il file /etc/resolv.conf ha diritti sbagliati; cambiare i permessi come segue:

# chmod 0644 /etc/resolv.conf
Usare crontab con un utente non root

Aggiungere l'utente al gruppo cron.

Avere il numlock attivo ad ogni riavvio

Facendo il login in modalità grafica, o volendo che numlock sia attivato alla digitazione di startx, eseguire emerge numlockx e aggiungere /usr/X11R6/bin/numlockx in /etc/X11/xinit/xinitrc (per startx) o /etc/X11/Sessions/ (per qualsiasi login manager grafico), come ad esempio /etc/X11/Sessions/Gnome per il GDM.

Gli utenti di GNOME 2.6 noteranno comunque che quanto detto sopra non funziona. Essi dovranno invece far partire il tool gnome-session-properties. In cima alla finestra, selezionare Startup Programs e cliccare sul bottone Add. Inserire l'ubicazopne del tool numlockx (per esempio /usr/X11R6/bin/numlockx) ed uscire dal programma.

Lavorando da linea di comando, occorre solo eseguire rc-update add numlock default e numlock sarà attivato al prossimo riavvio.

Avere il terminale pulito ad ogni logout

Per avere il terminale pulito, aggiungere clear a ~/.bash_logout del vostro username.

$ echo clear >> ~/.bash_logout

Per rendere la modifica disponibile ad ogni nuovo utente, eseguire lo stesso comando per /etc/skel/.bash_logout:

# echo clear >> /etc/skel/.bash_logout
Non si riescono ad eseguire applicazioni come root dopo un comando su.

Questo problema sembra presentarsi con login grafici. Utenti che usano X partendo da startx non hanno questo problema. Il problema è un bug nelle PAM di Gentoo. La soluzione è comunque semplice, basta aggiungere la seguente linea a /etc/profile.

  	 export XAUTHORITY="${HOME}/.Xauthority"
  	 
Manutenzione
Come risolvere un problema di corruzione su filesystem ReiserFS

Se la partizione ReiserFS è corrotta, provare a fare il boot dal CD di installazione di Gentoo Linux ed eseguire reiserfsck --rebuild-tree sul filesystem corrotto. Questo dovrebbe rendere nuovamente consistente il filesystem, anche se è possibile la perdita di qualche file o directory a causa della corruzione.

Metalogd non scrive i log in tempo reale

Metalog scrive l'output su disco in blocchi, per cui i messaggi non sono registrati immediatamente nei log di sistema. Durante i test di un daemon, questo comportamento che predilige la performance non è di grande aiuto. Per ovviare a questo comportamento, inviare a metalog un segnale USR1 per disabilitare temporaneamente il buffering dei messaggi (il che significa che tail -f /var/log/everything/current funzionerà in tempo reale come ci si aspetta) e un segnale USR2 per ripristinare il normale comportamento di metalog. Per disabilitare permanentemente il buffering, modificare le opzioni di metalog in /etc/conf.d/metalog da METALOG_OPTS="-B" a METALOG_OPTS="-B -s".

Per disabilitare il buffering:
# killall -USR1 metalog
Per riabilitare il buffering:
# killall -USR2 metalog
Sviluppo
Come segnalare un bug

Per bugs all'interno di uno specifico programma, contattare direttamente l'autore dello stesso. Altrimenti usare il Bugzilla bug tracker all'indirizzo http://bugs.gentoo.org. Potete anche venire a trovarci in #gentoo sul network IRC Freenode.

Quanto spesso cambiano le release

L'annuncio di nuove release viene fatto sulla mailing-list gentoo-announce. In realtà i pacchetti stessi vengono aggiornati non appena il principale autore ha rilasciato nuovo codice. Per sapere quando saranno disponibili nuove relase controllare la pagina Release Engineering Project.

Come aggungere una domanda o una risposta a questa FAQ

Sottomettere un nuovo bug su http://bugs.gentoo.org a aggiungeterlo al prodotto "Docs-user", componente "Gentoo Linux FAQ".

Lo speaker del computer suona come impazzito durante la compilazione di Mozilla. Come disabilitare i beep da console

I beep della console possono essere disabilitati usando setterm, come segue:

# setterm -blength 0
				

Per disabilitare i suoni ad ogni riavvio inserire il suddetto comando nel file /etc/conf.d/local.start. Comunque questo disabilita il suono solo per il terminale corrente. Per disabilitare il suono di tutti i terminali, filtrare l'output del comando sul terminale desiderato, come segue:

# setterm -blength 0 > /dev/vc/1
				

Sostituire a /dev/vc/1 il terminale su cui disabilitare i suoni.

Risorse
Dove trovare maggiori informazioni su Gentoo Linux

La documentazione ufficiale di Gentoo può essere trovata su http://www.gentoo.org; mentre informazioni generali su Linux si possono trovare su http://www.tldp.org.

Come acquistare un CD di Gentoo Linux

I LiveCD per tutte le architetture supportate sono disponibili su Gentoo Store. Comprando un CD dallo store darete anche un supporto al nostro sviluppo. Per questo, se possibile, considerate l'acquisto dal nostro store :-)

Potete anche trovare una lista di rivenditori dei CD sulla pagina Get Gentoo!

Una replica ad un post nella mailing list di Gentoo, viene inviata all'autore originale e non a tutta la lista

Gli amministratori della mailing list hanno deciso di andare contro l'alterazione degli headers per avere risposte che vanno sulla mailing list. Ci sono varie ragioni per questo. Per esempio, se un iscritto ha una casella di posta piena, l'intera lista riceverà notifica di questo ogni volta che qualcosa viene inviato alla lista.

Molti client di posta hanno la funzione "reply to all". Questo assicura che la replica verrà inviata alla mailing list e al mittente originale. Molti utenti di client di posta testuali conoscono il metodo da usare, altrimenti in Pine c'è un'opzione "reply to group". C'è un documento non ufficiale che spiega come settare Mutt in modo da replicare alla lista su forums.gentoo.org.

Ad alcuni membri della lista non piace questo metodo, ma è stato discusso ampiamente quando sorse il problema, con argomentazioni da entrambe le parti. Comunque gli amministratori della lista hanno deciso di mantenere questa strada. Discussioni sulla mailing list hanno qualche volta avuto spiegazioni cortesi e altre volte commenti piuttosto bruschi sul controllo degli archivi. Comunque gli amministratori sono dispiaciuti dell'inconveniente che questo può portare ad alcuni utenti, ma al presente è preferibile ad altre alternative per alcune ragioni, molte delle quali sono spiegate qui.

Non ho trovato risposta alla mia domanda

Un buon inizio è navigare tra i vari documenti presenti sul sito, oltre alle mailing list di Gentoo Linux delle quali c'è una lista su Google. Per ricercare all'interno delle Gentoo list, digitando solo "lists.gentoo.org qualcosa" per ' ricercare "qualcosa" all'interno delle mailing list di Gentoo. Se tutto questo non vi dà la risposta, venite a trovarci sul nostro canale irc #gentoo su irc.freenode.net.