Gentoo Linux risposte a domande frequenti
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 |
# mount /dev/hda3 /mnt/gentoo
# mount /dev/hda1 /mnt/gentoo/boot
# swapon /dev/hda2
# mount -t proc none /mnt/gentoo/proc
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
# cd /usr/src/linux
# make menuconfig
# make && make modules_install
# cp arch/i386/boot/bzImage /boot
# /sbin/lilo
# 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.
|