Gentoo Linux risposte a domande frequenti

Contenuti:

1.Domande sulle caratteristiche

Per iniziare 

Facciamo notare che le risposte a molte di queste domande si trovano nella documentazione ufficiale di Gentoo. Questa è semplicemente una lista delle domande che vengono poste più frequentemente. Si prega di leggere la documentazione e/o le pagine di manuale per ottenere una maggiore comprensione di come funzionano Gentoo e GNU/Linux, e per avere le risposte alle domande che non si trovano in questa guida.

Installazione 

Amministrazione dei pacchetti 

Utilizzo 

Manutenzione 

Sviluppo 

Risorse 

2.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, pre-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.

3.Installazione

Si nota una certa instabilità 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 -O2 -march=<your_arch>.

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

Usare passwd per cambiare la password dell'utente attualmente in uso. Come utente root è possibile cambiare la password di qualsiasi utente usando il comando passwd username. Per conoscere ulteriori opzioni, usare il comando man passwd.

Come aggiungere un utente 

Il comando adduser username aggiungerà un utente chiamato "username". Comunque, questo metodo non darà all'utente molti dei privilegi che si desidera, per questo è preferibile il seguente comando:

Esempio 1: Usare useradd

# useradd -m -G users,audio,wheel username

Questo comando creerà un utente chiamato "username", L'opzione audio aggiungerà l'utente al gruppo audio dandogli la possibilità di usare le periferiche collegate al suono, L'opzione wheel aggiungerà l'utente al gruppo wheel permettendogli di eseguire il comando su per ottenere i privilegi dell'utente root.

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:

Esempio 2: Aggiungere un utente al gruppo wheel

# gpasswd -a username wheel
			

Come disabilitare devfs 

Gentoo può funzionare correttamente col supporto nel kernel di devfs, udev o una /dev statica. Con l'avvento della serie stabile 2.6 del kernel su molte architetture, viene raccomandato udev. Si raccomanda la lettura della Guida a udev per informazioni su come configurare udev.

Se si vuole usare una /dev statica, impostare RC_DEVICES="static" in /etc/conf.d/rc.

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 -uDN 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 e nei pacchetti precompilati. Si legga la Guida all'aggiornamento per maggiori informazioni sui profili e sul ruolo che rivestono nell'aggiornamento.

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:

Esempio 3: Riconfigurazione del kernel

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 && make 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 

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

Esempio 4: /etc/make.conf

HTTP_PROXY="http://username:password@yourproxybox.org:portnumber"
FTP_PROXY="ftp://username:password@yourproxybox.org:portnumber"
RSYNC_PROXY="rsync://username:password@yourproxybox.server:portnumber"

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 CD 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.

Se non si è sicuri, utilizzare un file CD/stage "inferiore", per esempio uno per i686 o anche uno per x86 generico (o l'equivalente alla vostra architettura). Questo darà la certezza che il sistema funzionerà anche se non sarà veloce come con l'uso di ottimizzazioni.

Se si sta partendo da uno Stage 1, si noti che esistono molte più opzioni di quelle usate da Gentoo per costruire gli stage binari. Si legga la guida a gcc per la configurazione di -march.

Dopo il riavvio non è presente la connessione alla rete 

Controllare se la scheda di rete viene riconosciuta dal kernel eseguendo ifconfig -a e guardando se esistono eth0 o wlan0 ( per schede wireless). Potrebbe essere necessario caricare il modulo del kernel specifico per riconoscere la scheda di rete. Se questo è il caso, assicurarsi che questi moduli del kernel siano listati in /etc/modules.autoload.d/kernel-2.6 (o kernel-2.4 se si sta ancora usando un kernel 2.4).

Se non si è incluso il supporto per la scheda di rete nel kernel in uso, occorrerà riconfigurare il kernel.

Se la scheda di rete viene riconosciuta dal kernel e si è configurata la rete per l'uso del DHCP, ci si potrebbe essere dimenticati di eseguire un emerge dhcpcd. Riavviare con il CD di installazione per installare dhcpcd.

Informazioni su come usare il CD di installazione per correggere errori nel sistema si trovano qui.

Il boot a Windows da GRUB o LILO mostra solo uno schermo nero.  

Questo è un problema conosciuto. Windows rifiuta di avviarso quando non è installato nel disco rigido primario e mostra una schermata nera. Per evitare questo problema, occorre "ingannare" Windows facendogli credere di essere installato nel disco primario con un piccolo trucco nella configurazione del bootloader. Si noti che nell'esempio seguente, Gentoo è installata in hda (disco primario) e Windows in hdb (disco secondario). Modificare la propria configurazione secondo le proprie necessità.

Esempio 5: Esempio di una voce dual boot per Windows in grub.conf

	
 	 title Windows XP	
 	      map (hd1) (hd0)	
 	      map (hd0) (hd1)	
 	      rootnoverify (hd1,0)	
 	      chainloader +1	
 	 

Esempio 6: Esempio di una voce dual boot per Windows in lilo.conf

	
 	 other=/dev/hdb1	
 	      label=WindowsXP	
 	      table=/dev/hdb	
 	      map-drive = 0x80	
 	      to = 0x81	
 	      map-drive = 0x81	
 	      to = 0x80	
 	 

Questo farà credere a Windows di essere installato nel disco primario e lo avvierà senza problemi. Maggiori informazioni possono essere trovate nella documentazione di GRUB e in man lilo.conf, a seconda del bootloader in uso.

Come installare Gentoo usando il tarball Stage1 o Stage2  

Il manuale di Gentoo descrive solo l'installazione di Gentoo usando il tarball Stage3. Comunque, Gentoo fornisce anche i tarball per Stage1 e Stage2 anche se sono stati pensati per lo sviluppo (il team Release Engineering parte da uno stage1 per ottenere lo stage3) e quindi non dovrebbero essere utilizzati dagli utenti. Il tarball dello Stage3 può essere utilizzato in modo ottimale per fare il bootstrap del sistema avendo una connessione ad Internet funzionante.

Durante l'operazione di bootstrap viene costruita la toolchain (la libreria C ed il compilatore) per il sistema e viene eseguita dopo che sono stati installati tutti i pacchetti che formano il core (NdT. cuore) del sistema. Per far partire il boorstrap del sistema, eseguire un'installazione Stage3. Prima di iniziare a seguire i passi del capitolo Configurazione del kernel, modificare lo script bootstrap.sh per adattarlo ai propri scopi ed eseguirlo:

Esempio 7: Fare il bootstrap del sistema

	
 	 # cd /usr/portage/scripts	
 	 # vi bootstrap.sh	
 	 	
 	 # ./bootstrap.sh	
 	 

Quindi, ricompilare tutti i pacchetti che costituiscono il core del sistema con la nuova toolchain. E' necessario ricompilarli dato che il tarball Stage3 li fornisce già precompilati:

Esempio 8: Ricompilare i pacchetti core del sistema

 	 # emerge -e system	
 	 

E' ora possibile continuare con i passi descritti nella Configurazione del kernel. Non sarà possibile usare i pacchetti precompilati GRP.

4.Amministrazione dei Pacchetti

Formato dei pacchetti 

I pacchetti non vengono "memorizzati" come entità indipendenti. Gentoo, invece, fornisce un set di script che possono risolvere dipendenze, scaricare codice sorgente e compilare una versione del pacchetto per soddisfare le necessità dell'utente. Generalmente si costruiscono pacchetti binari solo per le release e gli snapshot. L'Ebuild HowTo fornisce i dettagli sul contenuto di uno script ebuild.

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.) Questi possono essere usati per installare una versione funzionante del pacchetto (non completemante ottimizzato) in modo veloce ed efficiente.

E' possibile creare RPMs (Redhat package manager files) usando il portage di Gentoo, ma non è ancora possibile usare RPMs esistenti per installare pacchetti.

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

E' possibile ma non è banale e quindi non è raccomandato. Dato che il metodo per farlo richiede una buona comprensione del portage e dei suoi comandi, si raccomanda invece di modificare l'ebuild per fare ciò che si vuole e porlo nel portage overlay (esiste per questo). Questo è il metodo milgiore per manutenere e riutilizzare facilmente dei pacchetti. Leggere l'Ebuild HowTo per maggiori informazioni.

Usare emerge in una rete protetta da un firewall 

Leggere le domande relative a proxy, rsync e scaricare i file sorgente manualmente.

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. Leggere la sezione proxy di questo documento per informazioni su come scaricare i file sorgente e gli snapshot del portage attraverso un proxy.

Esempio 9: Usare emerge-webrsync

~# emerge-webrsync

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. Questo è, comunque, un processo noioso.

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

La cancellazione di questi file non avrà un impatto negativo sulle performance. Comunque, potrebbe essere saggio mantenere le versioni più recenti dei file; 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. Ci sono programmi sviluppati da utenti per ripulire tutto eccetto le versioni più recenti dei file sorgente. Si noti che questi programmi, sebben funzionanti, non sono mantenuti ufficialmente. L'uso è a proprio rischio e pericolo.

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. Questi file e directory vengono di solito rimossi dopo un merge avvenuto con successo, ma qualche volta questo può non accadere. Non ci sono problemi a cancellare tutti il contenuto di questa directory se emerge non è in esecuzione. Solo per sicurezza, eseguire sempre pgrep emerge prima di cancellare questa directory.

5.Utilizzo

Configurare un layout internazionale per la tastiera 

Modificare la variabile KEYMAP in /etc/conf.d/keymaps. Quindi riavviare il computer o far ripartire lo script keymaps per far sì che la console funzioni correttamente anche con caratteri estesi si potrebbe aver bisogno di configurare le variabili CONSOLETRANSLATION e CONSOLEFONT in /etc/conf.d/consolefont (per maggiori informazioni su come impostare il sistema per adattarlo alla propria lingua, si veda la Gentoo Localization Guide). Quindi riavviare il computer o far ripartire gli sript keymaps e consolefont come segue:

Esempio 10: Riavviare keymaps


# /etc/init.d/keymaps restart
# /etc/init.d/consolefont restart
                    

La risoluzione dei nomi in DNS funziona solo per root. 

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

Esempio 11: Cambiare i permessi di /etc/resolv.conf

# 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 

Lavorando da linea di comando, occorre solo eseguire rc-update add numlock default && /etc/init.d/numlock start.

Ogni ambiente grafico fornisce strumenti differenti per queste operazioni, controllare la sezione di aiuto o i manuali online per un'eventuale assistenza.

Avere il terminale pulito ad ogni logout 

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

Esempio 12: Ripulire il terminale durante il logout

$ echo clear >> ~/.bash_logout

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

Esempio 13: Pulire il terminale di ogni nuovo utente al 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.

Esempio 14: Export XAUTHORITY

  	 export XAUTHORITY="${HOME}/.Xauthority"
  	 

6.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 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.

7.Sviluppo

Come segnalare un bug 

Usare il Bugzilla bug tracker all'indirizzo http://bugs.gentoo.org, se non si è sicuri che il problema si un bug, potete visitare #gentoo sul network IRC Freenode.

Quanto spesso cambiano le release 

I pacchetti di Gentoo vengono aggiornati velocemente dopo che l'autore principale rilascia nuovo codice. Come per il rilascio di nuovi stage/profili/ISO, controllare la pagina Release Engineering Project. L'annuncio di nuove release viene fatto sulla mailing-list gentoo-announce. Leggere la domanda sull'aggiornamento per maggiori informazioni.

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:

Esempio 15: Uso di setterm

# 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:

Esempio 16: Usare setterm (bis)

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

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

8.Risorse

Dove trovare maggiori informazioni su Gentoo Linux 

La documentazione ufficiale di Gentoo può essere trovata su http://www.gentoo.org/doc/it.

Come acquistare un CD di Gentoo Linux 

I CD di installazione 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!

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.



Ultimo aggiorn.:
16 Gennaio 2006
Daniel Robbins
Autore

Colin Morey
Revisione

John P. Davis
Redazione

Eric Stockbridge
Redazione

Stoyan Zhekov
Redazione

Carl Anderson
Redazione

Jorge Paulo
Redazione

Sven Vermeulen
Redazione

Benny Chuang
Redazione

Jonathan Smith
Redazione

Enrico Morelli
Traduzione

Sommario:  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.
- 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.