Primi passi con NetBSD

Da Wiki di NetBSD Italia.

(Differenze fra le revisioni)
(vari ritocchi)
Riga 1: Riga 1:
''' Introduzione '''
''' Introduzione '''
-
In questo HOWTO si inizierà  con un installazione base di NetBSD/i386
+
In questo Howto si inizierà  con un installazione base di NetBSD/i386
passo-passo. Questo Howto è consigliato a tutti quelli che vogliono
passo-passo. Questo Howto è consigliato a tutti quelli che vogliono
iniziare ad usare questo OS o a quelli che hanno iniziato da poco.
iniziare ad usare questo OS o a quelli che hanno iniziato da poco.
Riga 17: Riga 17:
modo i messaggi di sysinst saranno in quella lingua che abbiamo
modo i messaggi di sysinst saranno in quella lingua che abbiamo
scelto.  La lingua che preferisco tra quelle è l'Inglese, seleziono
scelto.  La lingua che preferisco tra quelle è l'Inglese, seleziono
-
quindi l'opzione "a".
+
quindi l'opzione ''a''.
Ora ci chiede il tipo di tastiera, la tastiera che ho è italiana,
Ora ci chiede il tipo di tastiera, la tastiera che ho è italiana,
-
quindi seleziono l'opzione "j".
+
quindi seleziono l'opzione ''j''.
=== Tipo di installazione ===
=== Tipo di installazione ===
Ok, inizia l'installazione vera e propria... Abbiamo diverse
Ok, inizia l'installazione vera e propria... Abbiamo diverse
-
opzioni... Vogliamo installare NetBSD quindi selezioniamo "a"
+
opzioni... Vogliamo installare NetBSD quindi selezioniamo ''a''
(Install NetBSD to hard disk).
(Install NetBSD to hard disk).
-
Confermiamo la nostra scelta con un Sì (Yes).
+
Confermiamo la nostra scelta con un Sì (''Yes'').
=== Selezione del supporto dove installare NetBSD ===
=== Selezione del supporto dove installare NetBSD ===
Il messaggio che ci appare subito dopo sono gli hard disk che NetBSD
Il messaggio che ci appare subito dopo sono gli hard disk che NetBSD
-
trova, nel mio caso trova soltanto wd0 (ho soltanto un hard
+
trova, nel mio caso trova soltanto ''wd0'' (ho soltanto un hard
disk). Apro una piccola parentesi su come chiama gli hard disk NetBSD,
disk). Apro una piccola parentesi su come chiama gli hard disk NetBSD,
-
gli hard disk vengono chiamati di solito wdn dove n è un numero,
+
gli hard disk vengono chiamati di solito ''wdn'' dove ''n'' è un numero,
questo numero dipende dal canale e da master o slave se è un hard disk
questo numero dipende dal canale e da master o slave se è un hard disk
-
IDE. Quindi se abbiamo quattro hard disk wd0 sarà  il primary master,
+
IDE. Quindi se abbiamo quattro hard disk ''wd0'' sarà  il primary master,
-
wd1 sarà  il primary slave, wd2 secondary master ed infine wd3
+
''wd1'' sarà  il primary slave, ''wd2'' secondary master ed infine ''wd3''
-
secondary slave, è semplice.
+
secondary slave, è semplice.<br>
Ritornando all'installazione se si hanno più hard disk mi avrebbe
Ritornando all'installazione se si hanno più hard disk mi avrebbe
fatto scegliere in quale hard disk installare NetBSD.
fatto scegliere in quale hard disk installare NetBSD.
Premiamo quindi invio una volta selezionato l'hard disk.
Premiamo quindi invio una volta selezionato l'hard disk.
-
=== Selezionare il software (i distribution sets) ===
+
=== Selezionare il software (i ''distribution sets'') ===
-
Ora possiamo scegliere i distribution sets, sono tutti software più o
+
Ora possiamo scegliere i ''distribution sets'', sono tutti software più o
-
meno di vitale importanza, siccome siamo dei curiosi selezioniamo "b"
+
meno di vitale importanza, siccome siamo dei curiosi selezioniamo ''b''
-
(Custom installation) in modo tale da vedere tutti i sets.
+
(''Custom installation'') in modo tale da vedere tutti i ''sets''.
-
Da come si può vedere possiamo selezionare il tipo di kernel (a..g),
+
Da come si può vedere possiamo selezionare il tipo di ''kernel'' (''a..g''),
-
ed i vari sets (h..o). L'elaboratore in cui sto installando NetBSD non
+
ed i vari ''sets'' (''h..o''). L'elaboratore in cui sto installando NetBSD non
-
ha un ruolo ben preciso, sò soltanto che ci accederò via SSH, quindi
+
ha un ruolo ben preciso, sò soltanto che ci accederò via ''SSH'', quindi
-
niente X.
+
niente ''X''.
-
Selezioniamo quindi "o" (X11 sets), e poi "g" (Deselect all the above
+
Selezioniamo quindi ''o'' (''X11 sets''), e poi ''g'' (''Deselect all the above
-
sets). Quando abbiamo scelto tutti i vari sets che vogliamo possiamo
+
sets''). Quando abbiamo scelto tutti i vari ''sets'' che vogliamo possiamo
-
confermare il tutto selezionando "x" (Install selected sets).
+
confermare il tutto selezionando ''x'' (''Install selected sets'').
-
=== Impostazioni hard disk e partizionamento (fdisk e disklabel) ===
+
=== Impostazioni hard disk e partizionamento (<code>fdisk</code> e <code>disklabel</code>) ===
-
Una volta selezionati i sets ci chiede la geometria dell'hard disk che
+
Una volta selezionati i ''sets'' ci chiede la geometria dell'hard disk che
-
abbiamo selezionato all'inizio... Nella maggior parte dei casi il BIOS
+
abbiamo selezionato all'inizio... Nella maggior parte dei casi il ''BIOS''
ha ragione e quindi non dobbiamo modificare nulla, però questa domanda
ha ragione e quindi non dobbiamo modificare nulla, però questa domanda
-
è utile nei casi in cui il BIOS non ha ragione. Per i più curiosi i
+
è utile nei casi in cui il ''BIOS'' non ha ragione. Per i più curiosi i
-
vari valori cylinders/head/sectors sono di norma scritti
+
vari valori ''cylinders/head/sectors'' sono di norma scritti
-
sull'etichetta sopra l'hard disk.
+
sull'etichetta sopra l'hard disk.<br>
-
Selezionamo "a" (This is the correct geometry).
+
Selezionamo ''a'' (''This is the correct geometry'').
Ottimo, è arrivata l'ora di partizionare l'hard disk... Ci chiede
Ottimo, è arrivata l'ora di partizionare l'hard disk... Ci chiede
quindi se vogliamo usare l'intero disco o no. Ho appena acquistato
quindi se vogliamo usare l'intero disco o no. Ho appena acquistato
l'hard disk e voglio accertarmi che l'hard disk sia vergine, quindi
l'hard disk e voglio accertarmi che l'hard disk sia vergine, quindi
-
seleziono "a" (Edit the MBR partition table).
+
seleziono ''a'' (''Edit the MBR partition table'').<br>
Questa opzione è utilissima se in quell'hard disk ci sono anche altri
Questa opzione è utilissima se in quell'hard disk ci sono anche altri
OS e non vogliamo perderli.
OS e non vogliamo perderli.
Riga 76: Riga 76:
anche in NetBSD) dobbiamo fare soltanto una partizione. In sistemi come
anche in NetBSD) dobbiamo fare soltanto una partizione. In sistemi come
ad esempio GNU/Linux dobbiamo fare una partizione per ogni gerarchia,
ad esempio GNU/Linux dobbiamo fare una partizione per ogni gerarchia,
-
quindi per esempio / (root), swap, /home e così via.
+
quindi per esempio <code>/</code> (''root''), <code>swap</code>,
-
Nei *BSD ci sono gli slices (tradotto in italiano "fette", infatti
+
<code>/home</code> e così via.<br>
-
possiamo immaginare benissimo l'hard disk in cui installeremò NetBSD
+
Nei *BSD ci sono gli ''slices'' (tradotto in italiano "fette", infatti
 +
possiamo immaginare benissimo l'hard disk in cui installeremo NetBSD
proprio come una torta, con tante fette).
proprio come una torta, con tante fette).
-
Bene, selezioniamo quindi la partizione, io scelgo "a", infatti tutte
+
Bene, selezioniamo quindi la partizione, io scelgo ''a'', infatti tutte
-
sono "unused" (inutilizzate) come previsto.
+
sono ''unused'' (inutilizzate) come previsto.
-
Una volta selezionata la partizione ci dice il tipo (kind), dobbiamo
+
Una volta selezionata la partizione ci dice il tipo (''kind''), dobbiamo
-
installarci NetBSD quindi selezioniamo "c" (NetBSD). Ricordo che si
+
installarci NetBSD quindi selezioniamo ''c'' (''NetBSD''). Ricordo che si
-
può rimuovere la partizione selezionando "b" (Delete partition) sul
+
può rimuovere la partizione selezionando ''b'' (''Delete partition'') sul
-
tipo.
+
tipo.<br>
In automatico mi prende tutto lo spazio possibile. Seleziono anche
In automatico mi prende tutto lo spazio possibile. Seleziono anche
-
"install".
+
''install''.
Una volta fatto proseguiamo...
Una volta fatto proseguiamo...
-
Ora ci chiede se installare il bootcode e quindi sovrascrivere il MBR
+
Ora ci chiede se installare il bootcode e quindi sovrascrivere il ''MBR''
-
(Master Boot Record). Può essere fastidioso soltanto se abbiamo dei
+
(''Master Boot Record''). Può essere fastidioso soltanto se abbiamo dei
-
boot loader (ad esempio GRUB) e vogliamo utilizzarli anche per
+
boot loader (ad esempio <code>GRUB</code>) e vogliamo utilizzarli anche per
-
NetBSD. Io scelgo "a" (Yes).
+
NetBSD. Io scelgo ''a'' (''Yes'').
-
Abbiamo fatto la partizione... però ancora non ci sono gli slices, con
+
Abbiamo fatto la partizione... però ancora non ci sono gli ''slices'', con
-
disklabel creiamoli selezionando "a" (Set sizes of NetBSD partitions).
+
<code>disklabel</code> creiamoli selezionando ''a'' (''Set sizes of NetBSD partitions'').
-
Da come si può leggere un installazione completa senza X occupa almeno
+
Da come si può leggere un installazione completa senza ''X'' occupa almeno
-
288Mb, mentre con X almeno 338Mb (questa dimensione dipende dai vari
+
288Mb, mentre con ''X'' almeno 338Mb (questa dimensione dipende dai vari
sets che abbiamo selezionato in precedenza).
sets che abbiamo selezionato in precedenza).
-
Di default NetBSD fa una swap e poi una grossa root (/). Non ci sta
+
Di default NetBSD fa una ''swap'' e poi una grossa ''root'' (<code>/</code>). Non ci sta
bene tutto questo, quindi cambiamolo.
bene tutto questo, quindi cambiamolo.
-
Creo una /usr di circa 20Gb (sono molti!), una /var di 3Gb, per la
+
Creo una <code>/usr</code> di circa 20Gb (sono molti!), una <code>/var</code> di 3Gb, per la
-
root gli do 4Gb. Tutto il resto è per /home (quindi metto un bel "+").
+
<code>/</code> gli do 4Gb. Tutto il resto è per <code>/home</code> (quindi metto un bel "+").
Ci chiede di confermare se tutto va bene... Da questa richiesta si
Ci chiede di confermare se tutto va bene... Da questa richiesta si
-
possono vedere benissimo tutti gli slices, selezioniamo "x" (Partition
+
possono vedere benissimo tutti gli ''slices'', selezioniamo ''x'' (''Partition
-
sizes ok) una volta controllati tutti gli slices.
+
sizes ok'') una volta controllati tutti gli ''slices''.
 +
 
Ci chiede ora il nome dell'hard disk... Possiamo lasciare benissimo
Ci chiede ora il nome dell'hard disk... Possiamo lasciare benissimo
quello di default (di solito corrisponde al nome dell'hard disk vero e
quello di default (di solito corrisponde al nome dell'hard disk vero e
proprio, anche questa informazione dovrebbe trovarsi sull'etichetta
proprio, anche questa informazione dovrebbe trovarsi sull'etichetta
dell'hard disk).
dell'hard disk).
 +
Può sembrare strano ma ancora non abbiamo scritto (e quindi eliminato nulla) se si hanno dati
Può sembrare strano ma ancora non abbiamo scritto (e quindi eliminato nulla) se si hanno dati
-
importanti è questo il momento giusto per abbandonare sysinst per i
+
importanti è questo il momento giusto per abbandonare <code>Sysinst<code> per i
-
più sbadati altrimenti "b" (Yes).
+
più sbadati, altrimenti ''b'' (''Yes'').
-
Con newfs ci crea tutti i vari slices, dobbiamo solo attendere qualche
+
Con <code>newfs</code> ci crea tutti i vari ''slices'', dobbiamo solo attendere qualche
secondo.
secondo.
=== Ultime impostazioni ===
=== Ultime impostazioni ===
 +
'''FIXME''': Ottimo, scegliamo ''a'' (''Use the BIOS console'') perché vogliamo
 +
usare tastiera e monitor (''bootblocks'').
-
'''FIXME''': Ottimo, scegliamo "a" (Use the BIOS console) perchè vogliamo
+
<code>Sysinst</code> ora ci chiede in che modo deve stampare i messaggi
-
usare tastiera e monitor. (bootblocks)
+
dell'installazione dei distribution sets. Lasciamo benissimo ''a''
-
 
+
(''Progress bar'').<br>
-
Sysinst ora ci chiede in che modo deve stampare i messaggi
+
Ora selezioniamo il supporto in cui prendere i ''sets'', il CD-ROM va
-
dell'installazione dei distribution sets. Lasciamo benissimo "a"
+
benissimo, quindi selezioniamo ''a'' (''CD-ROM / DVD''). Anche la directory
-
(Progress bar).
+
-
Ora selezioniamo il supporto in cui prendere i sets, il CD-ROM va
+
-
benissimo, quindi selezioniamo "a" (CD-ROM / DVD). Anche la directory
+
di default dobrebbe andare bene, quindi confermiamo.
di default dobrebbe andare bene, quindi confermiamo.
-
Ora vediamo questa "progress bar" e la percentuale del set che può
+
Ora vediamo questa ''progress bar'' e la percentuale del ''set'' che può
-
essere letto in alto (il set è qualche cosa del tipo <set>.tgz dove
+
essere letto in alto (il ''set'' è qualche cosa del tipo ''<set>.tgz'' dove
-
l'estensione ".tgz" sta per tar gzipped).
+
l'estensione ''.tgz'' sta per ''tar gzipped'').
-
La procedura di installazione dei sets è completata (cavolo, ci sono
+
La procedura di installazione dei ''sets'' è completata (cavolo, ci sono
-
voluti solo 2-3 minuti! :-)), confermiamo con un bel Return.
+
voluti solo 2-3 minuti! :-)), confermiamo con un bel ''Return''.
 +
 
 +
Benissimo, ora possiamo selezionare il ''timezone'', di solito la data sul
 +
''BIOS'' deve essere impostata su ''UTC''. Stiamo in Italia, quindi
 +
selezioniamo ''Europe/Rome'' (ci sono anche ''San Marino'' e ''Vaticano'').
-
Benissimo, ora possiamo selezionare il timezone, di solito la data sul
+
Ormai è arrivato il momento dei vari setting, si inizia con il
-
BIOS deve essere impostata su UTC. Stiamo in Italia, quindi
+
''password cipher'', la maggior parte delle distro GNU/Linux usa ''MD5'',
-
selezioniamo "Europe/Rome" (ci sono anche San Marino e Vaticano).
+
OpenBSD (e forsi altri OS) dovrebbero usare ''Blowfish'', io scelgo ''c''
 +
(''Blowfish 2^7 round'').
-
Ormai è arrivato il momendo dei vari setting, si inizia con il
+
Vogliamo una password di root, selezioniamo quindi ''a'' (''Yes'') e  
-
password cipher, la maggior parte delle distro GNU/Linux usa MD5,
+
-
OpenBSD (e forsi altri OS) dovrebbero usare Blowfish, io scelgo "c"
+
-
(Blowfish 2^7 round).
+
-
Vogliamo una password di root, selezioniamo quindi "a" (Yes) e  
+
scegliamoci una bella password.  Ora ci chiede la shell che dovrà  
scegliamoci una bella password.  Ora ci chiede la shell che dovrà  
-
usare il superutente "root". Scelgo ksh (Korn Shell) perchè tra sh  
+
usare il superutente root. Scelgo <code>ksh</code> (''Korn Shell'') perchè tra <code>sh</code>
-
e csh è la mia preferita (volendo possiamo anche installare BASH, zsh  
+
e <code>csh</code> è la mia preferita (volendo possiamo anche installare <code>bash</code>, <code>zsh</code>
e molte altre shell in un secondo momento).
e molte altre shell in un secondo momento).
=== Installazione completata e riavvio ===
=== Installazione completata e riavvio ===
-
Ok, ora l'installazione è finita... Come ci consiglia sysinst al
+
Ok, ora l'installazione è finita... Come ci consiglia <code>sysinst</code> al
-
prossimo boot dobbiamo leggerci il manpage afterboot(8) con un bel
+
prossimo boot dobbiamo leggerci il manpage <code>afterboot(8)</code> con un bel
-
"man afterboot" ed editare rc.conf per finire a configurare i vari
+
<code>man afterboot</code> ed editare <code>rc.conf</code> per finire a configurare i vari
-
demoni da avviare o disattivare (l'rc.conf è piuttosto minimale
+
demoni da avviare o disattivare (l'<code>rc.conf</code> è piuttosto minimale
inizialmente, quindi i demoni avviati di default sono pochi).
inizialmente, quindi i demoni avviati di default sono pochi).
-
Ok, ora ci accoglie di nuovo la schermata iniziale... Selezioniamo "d"
+
Ok, ora ci accoglie di nuovo la schermata iniziale... Selezioniamo ''d''
-
(Reboot the computer) per riavviare il nostro elaboratore.
+
(''Reboot the computer'') per riavviare il nostro elaboratore.
== Configurazione e altro ==
== Configurazione e altro ==
Riga 164: Riga 167:
NetBSD partirà  correttamente (speriamo :-P). Si può notare che i
NetBSD partirà  correttamente (speriamo :-P). Si può notare che i
-
messaggi del kernel sono tutti verdi, questi messaggi possono essere
+
messaggi del ''kernel'' sono tutti verdi, questi messaggi possono essere
-
anche letti con dmesg(8). Il tool dmesg(8) è utilissimo, infatti è
+
anche letti con <code>dmesg(8)</code>. Il tool <code>dmesg(8)</code> è utilissimo, infatti è
anche consigliabile che al primo boot facciamo un breve esame di
anche consigliabile che al primo boot facciamo un breve esame di
quest'output in modo da osservare se NetBSD ha trovato correttamente
quest'output in modo da osservare se NetBSD ha trovato correttamente
Riga 182: Riga 185:
Questa è la schermata di login, abbiamo a disposizione 4 terminali
Questa è la schermata di login, abbiamo a disposizione 4 terminali
-
virtuali accessibili con la combinazione dei tasti C-M-Fn (C sta per
+
virtuali accessibili con la combinazione dei tasti ''C-M-Fn'' (''C'' sta per
-
Control, M sta per Alt ed Fn per... F1, F2, F3, F4). Gli user che
+
''Control'', ''M'' sta per ''Alt'' ed ''Fn'' per... ''F1'', ''F2'', ''F3'', ''F4''). Gli user che
-
hanno già  usato un sistema operativo Unix-like troveranno questo
+
hanno già  usato un sistema operativo ''Unix-like'' troveranno questo
ambiente familiare, questo vale anche per gli user che non hanno mai
ambiente familiare, questo vale anche per gli user che non hanno mai
-
usato un OS Unix-like, basta soltanto ambientarsi. Esploriamo i vari
+
usato un OS ''Unix-like'', basta soltanto ambientarsi. Esploriamo i vari
terminali premendo questa combinazione dei tasti, per esempio se
terminali premendo questa combinazione dei tasti, per esempio se
-
premiamo C-M-F3, possiamo vedere:
+
premiamo ''C-M-F3'', possiamo vedere:
<pre>
<pre>
NetBSD/i386 (brucaliffo) (ttyE2)
NetBSD/i386 (brucaliffo) (ttyE2)
Riga 196: Riga 199:
Da come si può osservare la schermata è quasi uguale,
Da come si può osservare la schermata è quasi uguale,
-
cambia ttyE2, infatti ogni terminale ha un nome, ed ogni terminale può
+
cambia ''ttyE2'', infatti ogni terminale ha un nome, ed ogni terminale può
essere di diverso tipo, per ora non ci interessa il tipo, dico
essere di diverso tipo, per ora non ci interessa il tipo, dico
-
soltanto che di default dovremmo avere un vt100 su console e vt220 su
+
soltanto che di default dovremmo avere un ''vt100'' su ''console'' e ''vt220'' su
-
ttyE1, ttyE2, ttyE3.
+
''ttyE1'', ''ttyE2'', ''ttyE3''.
-
NetBSD (come qualsiasi altro OS Unix-like che si rispetti) è
+
NetBSD (come qualsiasi altro OS ''Unix-like'' che si rispetti) è
multiutente, cioè ad un PC possono accedere più utenti e può avere più
multiutente, cioè ad un PC possono accedere più utenti e può avere più
utenti. Come abbiamo visto inizialmente possiamo loggarci soltanto con
utenti. Come abbiamo visto inizialmente possiamo loggarci soltanto con
Riga 210: Riga 213:
Per questo è da incoscienti usarlo per fare le operazioni di tutti i
Per questo è da incoscienti usarlo per fare le operazioni di tutti i
giorni, come per esempio navigare in internet, leggere news, mandare
giorni, come per esempio navigare in internet, leggere news, mandare
-
mail o giocare semplicemente a tetris o rogue.<br>
+
mail o giocare semplicemente a <code>tetris</code> o <code>rogue</code>.<br>
L'utente root va quindi usato con moderazione, fare tutto da root è un
L'utente root va quindi usato con moderazione, fare tutto da root è un
male.<br>
male.<br>
-
Logghiamoci da root, scriviamo root, premiamo invio e scriviamo la
+
Logghiamoci da root, scriviamo <code>root</code>, premiamo ''Return'' e scriviamo la
nostra password di root (che non verrà visualizzata su schermo) e
nostra password di root (che non verrà visualizzata su schermo) e
-
confermiamola sempre con il tasto invio.<br>
+
confermiamola sempre con il tasto ''Return''.<br>
<pre>
<pre>
login: root
login: root
Riga 237: Riga 240:
Abbiamo quindi appreso che ogni comando si conforma con invio. Alla
Abbiamo quindi appreso che ogni comando si conforma con invio. Alla
fine dell'installazione sysinst ci ha consigliato di leggere il man
fine dell'installazione sysinst ci ha consigliato di leggere il man
-
page afterboot(8), facciamolo subito:
+
page <code>afterboot(8)</code>, facciamolo subito:
<pre>
<pre>
brucaliffo# man afterboot
brucaliffo# man afterboot
</pre>
</pre>
-
Il comando man(1) è utilissimo per ogni user e sysadmin, infatti
+
Il comando <code>man(1)</code> è utilissimo per ogni user e sysadmin, infatti
-
grazie a man possiamo leggere manuali in linea di tutto il software
+
grazie a <code>man</code> possiamo leggere manuali in linea di tutto il software
installato. I man pages esistono anche per il software aggiuntivo
installato. I man pages esistono anche per il software aggiuntivo
quindi di norma ogni software ha il suo/sui man page/s.<br>
quindi di norma ogni software ha il suo/sui man page/s.<br>
-
Il man page afterboot che stiamo leggendo è un semplice file di testo
+
Il man page <code>afterboot</code> che stiamo leggendo è un semplice file di testo
-
e lo vediamo grazie ad un pager chiamato less, possiamo spostarci su e
+
e lo vediamo grazie ad un ''pager'' chiamato <code>less</code>, possiamo spostarci su e
-
giù con le frecce o "k" e "j".<br>
+
giù con le frecce o ''k'' e ''j''.<br>
-
Una volta letto il man page si può uscire premendo il tasto "q".
+
Una volta letto il man page si può uscire premendo il tasto ''q''.
Ora abbiamo di nuovo la nostra cara shell.
Ora abbiamo di nuovo la nostra cara shell.
Riga 255: Riga 258:
sono state rilevate correttamente, non arrabbiatevi se la periferica
sono state rilevate correttamente, non arrabbiatevi se la periferica
non è riconosciuta, probabilmente si può risolvere ricompilando il
non è riconosciuta, probabilmente si può risolvere ricompilando il
-
kernel abilitando il supporto per quella determinata scheda/periferica.
+
''kernel'' abilitando il supporto per quella determinata scheda/periferica.
-
Esaminiamo quindi l'output di dmesg:
+
Esaminiamo quindi l'output di <code>dmesg</code>:
<pre>
<pre>
brucaliffo# dmesg
brucaliffo# dmesg
</pre>
</pre>
-
Cosa non riuscite a leggere quello che c'è in alto ma leggete soltanto
+
Cosa, non riuscite a leggere quello che c'è in alto ma leggete soltanto
-
le ultime 24 righe? Non vi preoccupate, esistono i pager e le pipe
+
le ultime 24 righe? Non vi preoccupate, esistono i ''pager'' e le ''pipe''
(non quelle che si fumano :-)) per risolvere questo problema:
(non quelle che si fumano :-)) per risolvere questo problema:
<pre>
<pre>
Riga 268: Riga 271:
</pre>
</pre>
-
Benissimo, ora possiamo vedere e muoverci sull'output di dmesg come se
+
Benissimo, ora possiamo vedere e muoverci sull'output di <code>dmesg</code> come se
-
stessimo leggendo un man page, infatti usiamo lo stesso pager (less) e
+
stessimo leggendo un man page, infatti usiamo lo stesso ''pager'' (<code>less</code>) e
l'approccio è quindi uguale.
l'approccio è quindi uguale.
Non trovate che è piuttosto noioso esaminare l'output in questo modo?
Non trovate che è piuttosto noioso esaminare l'output in questo modo?
-
Sì, lo è, greppiamolo quindi! grep è un tool GNU che serve per cercare
+
Sì, lo è, greppiamolo quindi! <code>grep<code> è un tool GNU che serve per cercare
-
una determinata stringa o meglio regular expression, tutto ciò che
+
una determinata stringa o meglio ''regular expression'', tutto ciò che
-
combacia grep ce lo stampa a video.<br>
+
combacia <code>grep<code> ce lo stampa a video.<br>
Proviamolo subito esaminando le varie periferiche,
Proviamolo subito esaminando le varie periferiche,
* scheda di rete:
* scheda di rete:
Riga 305: Riga 308:
Ottimo, tutto l'hardware è stato rilevato correttamente.
Ottimo, tutto l'hardware è stato rilevato correttamente.
-
L'opzione "-i" che abbiamo dato a grep significa "ignore-case" quindi
+
L'opzione ''-i'' che abbiamo dato a <code>grep</code> significa ''ignore-case'' quindi
-
ignora maiuscole e minuscole. Di default infatti grep rispetta
+
ignora maiuscole e minuscole. Di default infatti <code>grep</code> rispetta
-
maiuscole e minuscole (case-sensitive).
+
maiuscole e minuscole (''case-sensitive'').
-
L'opzione "-E" serve per le regexp (regular expression), infatti
+
L'opzione ''-E'' serve per le ''regexp'' (''regular expression''), infatti
-
quella tra doppi apici è una regexp, il "coppo" (^) significa che
+
quella tra doppi apici è una ''regexp'', il "coppo" (''^'') significa che
quello che cerchiamo deve stare all'inizio della riga, lo spazio
quello che cerchiamo deve stare all'inizio della riga, lo spazio
-
invece significa che dopo wd0 che si deve trovare all'inizio della
+
invece significa che dopo ''wd0'' che si deve trovare all'inizio della
riga ci deve essere uno spazio. Non vi preoccupate se non avete capito
riga ci deve essere uno spazio. Non vi preoccupate se non avete capito
-
questa regexp, sono un po' ostiche all'inizio, per maggiori
+
questa ''regexp'', sono un po' ostiche all'inizio, per maggiori
-
informazioni digitate un bel "info grep".
+
informazioni digitate un bel <code>info grep</code>.
-
Per leggere documentazione infatti non esiste soltanto man, man di
+
Per leggere documentazione infatti non esiste soltanto <code>man<code>; <code>man</code> di
solito è piuttosto scarno, descrive le varie opzioni del programma, ne
solito è piuttosto scarno, descrive le varie opzioni del programma, ne
-
dà una breve descrizione ma nulla in più. Con info(1) infatti possiamo
+
dà una breve descrizione ma nulla in più. Con <code>info(1)</code> infatti possiamo
-
leggere tutta la documentazione nel formato Info (vedere texinfo(5) se
+
leggere tutta la documentazione nel formato ''Info'' (vedere <code>texinfo(5)</code> se
-
si è ancora più curiosi). Anche usare info non è difficile, però lo
+
si è ancora più curiosi). Anche usare <code>info</code> non è difficile, però lo
proveremo dopo quando ci siamo fatti uno user.
proveremo dopo quando ci siamo fatti uno user.
=== Nuovo utente ===
=== Nuovo utente ===
-
Non aspettiamo allora e creiamo subito uno user! (Sostituire <shell>
+
Non aspettiamo allora e creiamo subito uno user! (Sostituire ''<shell>''
-
con una shell, per esempio /bin/ksh, <"Nome e Cognome" dell'utente>
+
con una shell, per esempio <code>/bin/ksh</code>, ''<"Nome e Cognome" dell'utente>''
-
con il vostro Nome e Cognome, <utente> con il nuovo nome dell'utente,
+
con il vostro Nome e Cognome, ''<utente>'' con il nuovo nome dell'utente,
-
per esempio leot, o claudio, o quello che volete.
+
per esempio ''leot'', o ''claudio'', o quello che volete.
<pre>
<pre>
brucaliffo#
brucaliffo#
Riga 341: Riga 344:
Descrivo un brevemente questi due comandi utilissimi che di norma
Descrivo un brevemente questi due comandi utilissimi che di norma
vanno fatti subito dopo ogni installazione di NetBSD. Allora il
vanno fatti subito dopo ogni installazione di NetBSD. Allora il
-
comando passwd(1) (passwd non password!) si commenta da solo, cambia la password di quell'utente dato
+
comando <code>passwd(1)</code> (<code>passwd</code> non password!) si commenta da solo, cambia la password di quell'utente dato
come argomento (omettendo l'argomento cambia la password del nostro
come argomento (omettendo l'argomento cambia la password del nostro
utente, in questo caso l'utente root).
utente, in questo caso l'utente root).
-
Per quanto riguarda useradd(8) crea l'utente.
+
Per quanto riguarda <code>useradd(8)</code> crea l'utente.
-
L'opzione "-m" sta per "creami una /home"; la /home è
+
L'opzione ''-m'' sta per ''creami una <code>/home</code>''; la <code>/home</code> è
la directory in cui stanno tutti i file di quell'utente e quindi tutti
la directory in cui stanno tutti i file di quell'utente e quindi tutti
i vari documenti, le varie configurazione che riguardano quell'utente.
i vari documenti, le varie configurazione che riguardano quell'utente.
E' la directory (cartella) personale dell'user, vedremo più tardi
E' la directory (cartella) personale dell'user, vedremo più tardi
-
come manipolare file e cartelle. L'opzione "-G" invece significa
+
come manipolare file e cartelle. L'opzione ''-G'' invece significa
-
"aggiungi questo utente a questo/questi gruppo/gruppi", sotto Unix
+
''aggiungi questo utente a questo/questi gruppo/gruppi'', sotto Unix
infatti esistono i gruppi, un file ha sempre un propietario (l'utente)
infatti esistono i gruppi, un file ha sempre un propietario (l'utente)
-
ed un gruppo (gruppo). In NetBSD il gruppo di default per tutti gli
+
ed un gruppo. In NetBSD il gruppo di default per tutti gli
-
utenti si chiama "users". Possiamo ad esempio permettere a tutti
+
utenti si chiama ''users''. Possiamo ad esempio permettere a tutti
-
gli utenti del gruppo users di vedere un nostro file solo in lettura.<br>
+
gli utenti del gruppo ''users'' di vedere un nostro file solo in lettura.<br>
-
Il gruppo "wheel" invece esiste in tutti i sistemi *BSD, è molto
+
Il gruppo ''wheel'' invece esiste in tutti i sistemi *BSD, è molto
-
utile, infatti certi software, come ad esempio su(1) (tool che serve
+
utile, infatti certi software, come ad esempio <code>su(1)</code> (tool che serve
per cambiare utente, lo vedremo in seguito) non possono essere
per cambiare utente, lo vedremo in seguito) non possono essere
-
eseguiti se non si fa parte del gruppo "wheel". L'opzione "-s" è il
+
eseguiti se non si fa parte del gruppo ''wheel''. L'opzione ''-s'' è il
tipo di shell di quell'utente, le shell installate di default sono
tipo di shell di quell'utente, le shell installate di default sono
-
ksh, sh e csh, quindi queste sono sempre valide. Se installate si
+
<code>ksh</code>, <code>sh</code> e <code>csh</code>, quindi queste sono sempre valide. Se installate si
possono impostare anche altre shell, ce ne sono moltissime.<br>
possono impostare anche altre shell, ce ne sono moltissime.<br>
-
L'opzione "-c" è il commento per quell'utente, di norma Nome e
+
L'opzione ''-c'' è il commento per quell'utente, di norma Nome e
Cognome, può far comodo ad alcuni software ma di certo non è
Cognome, può far comodo ad alcuni software ma di certo non è
indispensabile, omettetelo tranquillamente se non avete voglia di
indispensabile, omettetelo tranquillamente se non avete voglia di
Riga 371: Riga 374:
=== Primo login con il nuovo utente ===
=== Primo login con il nuovo utente ===
Ok, ora abbiamo un utente, lasciamo la shell root così come è e
Ok, ora abbiamo un utente, lasciamo la shell root così come è e
-
spostiamoci in un altro terminale con C-M-F2 (Control + Alt + F2),
+
spostiamoci in un altro terminale con ''C-M-F2'' (''Control + Alt + F2''),
facciamo la stessa procedura che abbiamo fatto con l'utente root.
facciamo la stessa procedura che abbiamo fatto con l'utente root.
quindi:
quindi:
Riga 394: Riga 397:
Benissimo, siamo riusciti a loggarci con successo, spostiamoci ora sul
Benissimo, siamo riusciti a loggarci con successo, spostiamoci ora sul
-
primo terminale (C-M-F1) per fare il logout dell'utente root:
+
primo terminale (''C-M-F1'') per fare il logout dell'utente root:
<pre>
<pre>
brucaliffo# exit
brucaliffo# exit
</pre>
</pre>
-
Con exit abbiamo fatto il logout, un ottima alternativa ad exit
+
Con <code>exit</code> abbiamo fatto il logout, un ottima alternativa ad <code>exit</code>
-
leggermente più rapida in ksh è C-d (Ctrl + d).
+
leggermente più rapida in <code>ksh</code> è ''C-d'' (''Ctrl + d'').
Siccome non siamo sicuri che ci siamo loggati con il nostro utente
Siccome non siamo sicuri che ci siamo loggati con il nostro utente
-
vogliamo una conferma con who(1):
+
vogliamo una conferma con <code>who(1)</code>:
<pre>
<pre>
leot@brucaliffo$ who am i
leot@brucaliffo$ who am i
Riga 410: Riga 413:
Possiamo anche vedere tutti gli utenti loggati semplicemente con un
Possiamo anche vedere tutti gli utenti loggati semplicemente con un
-
"who", in questo caso abbiamo root loggato sul primo terminale e leot
+
<code>who</code>, in questo caso abbiamo root loggato sul primo terminale e leot
loggato sul quarto terminale:
loggato sul quarto terminale:
<pre>
<pre>
Riga 418: Riga 421:
</pre>
</pre>
-
Un altro comando simile a who(1) ma non uguale è w(1):
+
Un altro comando simile a <code>who(1)</code> ma non uguale è <code>w(1)</code>:
<pre>
<pre>
leot@brucaliffo$ w
leot@brucaliffo$ w
Riga 426: Riga 429:
leot    ttyp0  192.168.1.4      2:10PM    1 emacs
leot    ttyp0  192.168.1.4      2:10PM    1 emacs
</pre>
</pre>
-
Da come si può osservare con w(1) possiamo anche vedere quello che sta
+
 
 +
Da come si può osservare con <code>w(1)</code> possiamo anche vedere quello che sta
facendo l'utente, nell'esempio l'utente leot (che sta sulla macchina
facendo l'utente, nell'esempio l'utente leot (che sta sulla macchina
-
fisicamente) sta sul primo terminale e sta eseguendo "w", il secondo
+
fisicamente) sta sul primo terminale e sta eseguendo <code>w</code>, il secondo
utente è sempre leot, solo che proviene da bianconiglio (192.168.1.4)
utente è sempre leot, solo che proviene da bianconiglio (192.168.1.4)
-
e sta eseguendo "emacs".
+
e sta eseguendo <code>emacs</code>.
Sappiamo le basi, giusto per un login e logout, impariamo ora a
Sappiamo le basi, giusto per un login e logout, impariamo ora a
manipolare file e directory.<br>
manipolare file e directory.<br>
-
Creiamo una directory, il comando per creare una directory è mkdir(1),
+
Creiamo una directory, il comando per creare una directory è <code>mkdir(1)</code>,
per vedere invece il contenuto di una directory esiste il comando
per vedere invece il contenuto di una directory esiste il comando
-
ls(1), invece per capire il percorso in cui siamo posizionati il tool
+
<code>ls(1)</code>, invece per capire il percorso in cui siamo posizionati il tool
-
di cui abbiamo bisogno è pwd(1):
+
di cui abbiamo bisogno è <code>pwd(1)</code>:
<pre>
<pre>
leot@brucaliffo$ mkdir data
leot@brucaliffo$ mkdir data
Riga 482: Riga 486:
Possiamo vedere che non è difficile spostarsi tra le directory, può
Possiamo vedere che non è difficile spostarsi tra le directory, può
-
essere utilissimo l'uso del tasto TAB che autocompleta le directory e
+
essere utilissimo l'uso del tasto ''TAB'' che autocompleta le directory e
-
volendo anche i programmi in certe shell. ksh supporta
+
volendo anche i programmi in certe shell. <code>ksh</code> supporta
l'autocompletamento.
l'autocompletamento.
Impariamo ora a rimuovere le directory che avevamo creato, il comando
Impariamo ora a rimuovere le directory che avevamo creato, il comando
-
per rimuovere una cartella vuota si chiama rmdir(1):
+
per rimuovere una cartella vuota si chiama <code>rmdir(1)</code>:
<pre>
<pre>
leot@brucaliffo$ cd $HOME/data
leot@brucaliffo$ cd $HOME/data
Riga 500: Riga 504:
Le cartelle fanno molto comodo per tenere ordinati i nostri file, ma
Le cartelle fanno molto comodo per tenere ordinati i nostri file, ma
dobbiamo imparare a modificare i file, magari file di testo. I tool
dobbiamo imparare a modificare i file, magari file di testo. I tool
-
che ci servono sono diversi, prima di tutto touch(1) per creare un
+
che ci servono sono diversi, prima di tutto <code>touch(1)</code> per creare un
-
file vuoto, cat(1) che serve per stampare l'output di un file, vi(1)
+
file vuoto, <code>cat(1)</code> che serve per stampare l'output di un file, <code>vi(1)</code>
l'editor installato di default su NetBSD, un editor quindi da
l'editor installato di default su NetBSD, un editor quindi da
conoscere, almeno le basi, non voglio aggiungere molto su Vi perché
conoscere, almeno le basi, non voglio aggiungere molto su Vi perché
-
su [[Guida di NetBSD]] c'è un ottima sezione sull'editor Vi e
+
su [[Guida di NetBSD]] c'è un ottima sezione sull'editor <code>Vi</code> e
-
sull'editing di base di Vi. Se vi colpisce Vi, consiglio di provare
+
sull'editing di base di <code>Vi</code>. Se vi colpisce <code>Vi</code>, consiglio di provare
-
nVi e Vim, sono dei cloni di Vi con diverse funzionalità (Vi è un
+
<code>nVi</code> e <code>Vim</code>, sono dei cloni di <code>Vi</code>
-
editor di base minimale ma ha molte funzioni, nVi e Vim hanno varie
+
con diverse funzionalità (<code>Vi</code> è un
-
caratteristiche e sono ancora più potenti dell'editor Vi). Un altro
+
editor di base minimale ma ha molte funzioni, <code>nVi</code> e <code>Vim</code> hanno varie
-
editor sicuramente da provare è GNU Emacs scritto da Richard Stallman
+
caratteristiche e sono ancora più potenti dell'editor <code>Vi</code>). Un altro
-
(rms continua ancora con lo sviluppo di Emacs ma ci sono un sacco di
+
editor sicuramente da provare è <code>GNU Emacs</code> scritto da Richard Stallman
 +
(rms continua ancora con lo sviluppo di <code>Emacs</code> ma ci sono un sacco di
contributi da parte di altri developer e user).
contributi da parte di altri developer e user).
-
Altro tool utile che ci serve oltre all'editor Vi è file(1) che serve a
+
Altro tool utile che ci serve oltre all'editor <code>Vi</code> è <code>file(1)</code> che serve a
determinare il tipo di file (per esempio un file di testo o anche un
determinare il tipo di file (per esempio un file di testo o anche un
video, un immagine...).<br>
video, un immagine...).<br>
-
Un altro tool simile a cat(1) che useremo sarà head(1) che stampa le
+
Un altro tool simile a <code>cat(1)</code> che useremo sarà <code>head(1)</code> che stampa le
-
prime righe di un file, simile a tail(1) che invece stampa le righe
+
prime righe di un file, simile a <code>tail(1)</code> che invece stampa le righe
partendo dalla fine.<br>
partendo dalla fine.<br>
-
Useremo anche echo(1) per scrivere del testo.
+
Useremo anche <code>echo(1)</code> per scrivere del testo.
<pre>
<pre>
leot@brucaliffo$ touch dmesgfile.txt
leot@brucaliffo$ touch dmesgfile.txt
Riga 548: Riga 553:
</pre>
</pre>
L'esempio qui sopra è piuttosto semplice, l'unica cosa un po' strana è
L'esempio qui sopra è piuttosto semplice, l'unica cosa un po' strana è
-
">" che serve per dirigere l'output su quel file. Abbiamo usato anche
+
''>'' che serve per dirigere l'output su quel file. Abbiamo usato anche
-
">>", cioè append, proprio per appendere del testo (infatti quando
+
''>>'', cioè ''append'', proprio per appendere del testo (infatti quando
-
abbiamo fatto il "dmesg > file" quello che avevamo precedentemente
+
abbiamo fatto il <code>dmesg > file</code> quello che avevamo precedentemente
-
scritto è stato sovrascritto, con l'append invece se il file esiste lo
+
scritto è stato sovrascritto, con l'''append'' invece se il file esiste lo
"appende" alla fine).
"appende" alla fine).
'''TODO''': continuare, i tool di base sono quasi finiti, si inizia a fare
'''TODO''': continuare, i tool di base sono quasi finiti, si inizia a fare
-
sul serio editando varie conf (in particolare rc.conf), e altri tool
+
sul serio editando varie conf (in particolare <code>rc.conf</code>), e altri tool
un po' più seri.
un po' più seri.
[[Categoria:Howto]]
[[Categoria:Howto]]

Versione delle 15:31, 29 lug 2007

Introduzione

In questo Howto si inizierà con un installazione base di NetBSD/i386 passo-passo. Questo Howto è consigliato a tutti quelli che vogliono iniziare ad usare questo OS o a quelli che hanno iniziato da poco. Per ampliare le conoscenze di NetBSD và sicuramente letto Guida di NetBSD. Nella prima parte cercherò di descrivere l'installazione (può quindi essere letto durante l'installazione). Nella seconda parte parlerò invece delle configurazioni base e di altre azioni utili per l'user NetBSD.


Indice

Installazione

Boot iniziale, selezione lingua e mappatura tastiera

Una volta partito il boot selezioniamo la lingua preferita, in questo modo i messaggi di sysinst saranno in quella lingua che abbiamo scelto. La lingua che preferisco tra quelle è l'Inglese, seleziono quindi l'opzione a.

Ora ci chiede il tipo di tastiera, la tastiera che ho è italiana, quindi seleziono l'opzione j.

Tipo di installazione

Ok, inizia l'installazione vera e propria... Abbiamo diverse opzioni... Vogliamo installare NetBSD quindi selezioniamo a (Install NetBSD to hard disk). Confermiamo la nostra scelta con un Sì (Yes).

Selezione del supporto dove installare NetBSD

Il messaggio che ci appare subito dopo sono gli hard disk che NetBSD trova, nel mio caso trova soltanto wd0 (ho soltanto un hard disk). Apro una piccola parentesi su come chiama gli hard disk NetBSD, gli hard disk vengono chiamati di solito wdn dove n è un numero, questo numero dipende dal canale e da master o slave se è un hard disk IDE. Quindi se abbiamo quattro hard disk wd0 sarà il primary master, wd1 sarà il primary slave, wd2 secondary master ed infine wd3 secondary slave, è semplice.
Ritornando all'installazione se si hanno più hard disk mi avrebbe fatto scegliere in quale hard disk installare NetBSD. Premiamo quindi invio una volta selezionato l'hard disk.

Selezionare il software (i distribution sets)

Ora possiamo scegliere i distribution sets, sono tutti software più o meno di vitale importanza, siccome siamo dei curiosi selezioniamo b (Custom installation) in modo tale da vedere tutti i sets. Da come si può vedere possiamo selezionare il tipo di kernel (a..g), ed i vari sets (h..o). L'elaboratore in cui sto installando NetBSD non ha un ruolo ben preciso, sò soltanto che ci accederò via SSH, quindi niente X. Selezioniamo quindi o (X11 sets), e poi g (Deselect all the above sets). Quando abbiamo scelto tutti i vari sets che vogliamo possiamo confermare il tutto selezionando x (Install selected sets).

Impostazioni hard disk e partizionamento (fdisk e disklabel)

Una volta selezionati i sets ci chiede la geometria dell'hard disk che abbiamo selezionato all'inizio... Nella maggior parte dei casi il BIOS ha ragione e quindi non dobbiamo modificare nulla, però questa domanda è utile nei casi in cui il BIOS non ha ragione. Per i più curiosi i vari valori cylinders/head/sectors sono di norma scritti sull'etichetta sopra l'hard disk.
Selezionamo a (This is the correct geometry).

Ottimo, è arrivata l'ora di partizionare l'hard disk... Ci chiede quindi se vogliamo usare l'intero disco o no. Ho appena acquistato l'hard disk e voglio accertarmi che l'hard disk sia vergine, quindi seleziono a (Edit the MBR partition table).
Questa opzione è utilissima se in quell'hard disk ci sono anche altri OS e non vogliamo perderli. Apro anche qui una parentesi che interesserà a tutti gli user provenienti da OS quali GNU/Linux, Windows o altri. Nei *BSD (e quindi anche in NetBSD) dobbiamo fare soltanto una partizione. In sistemi come ad esempio GNU/Linux dobbiamo fare una partizione per ogni gerarchia, quindi per esempio / (root), swap, /home e così via.
Nei *BSD ci sono gli slices (tradotto in italiano "fette", infatti possiamo immaginare benissimo l'hard disk in cui installeremo NetBSD proprio come una torta, con tante fette). Bene, selezioniamo quindi la partizione, io scelgo a, infatti tutte sono unused (inutilizzate) come previsto. Una volta selezionata la partizione ci dice il tipo (kind), dobbiamo installarci NetBSD quindi selezioniamo c (NetBSD). Ricordo che si può rimuovere la partizione selezionando b (Delete partition) sul tipo.
In automatico mi prende tutto lo spazio possibile. Seleziono anche install. Una volta fatto proseguiamo...

Ora ci chiede se installare il bootcode e quindi sovrascrivere il MBR (Master Boot Record). Può essere fastidioso soltanto se abbiamo dei boot loader (ad esempio GRUB) e vogliamo utilizzarli anche per NetBSD. Io scelgo a (Yes). Abbiamo fatto la partizione... però ancora non ci sono gli slices, con disklabel creiamoli selezionando a (Set sizes of NetBSD partitions).

Da come si può leggere un installazione completa senza X occupa almeno 288Mb, mentre con X almeno 338Mb (questa dimensione dipende dai vari sets che abbiamo selezionato in precedenza). Di default NetBSD fa una swap e poi una grossa root (/). Non ci sta bene tutto questo, quindi cambiamolo. Creo una /usr di circa 20Gb (sono molti!), una /var di 3Gb, per la / gli do 4Gb. Tutto il resto è per /home (quindi metto un bel "+"). Ci chiede di confermare se tutto va bene... Da questa richiesta si possono vedere benissimo tutti gli slices, selezioniamo x (Partition sizes ok) una volta controllati tutti gli slices.

Ci chiede ora il nome dell'hard disk... Possiamo lasciare benissimo quello di default (di solito corrisponde al nome dell'hard disk vero e proprio, anche questa informazione dovrebbe trovarsi sull'etichetta dell'hard disk).

Può sembrare strano ma ancora non abbiamo scritto (e quindi eliminato nulla) se si hanno dati importanti è questo il momento giusto per abbandonare Sysinst<code> per i più sbadati, altrimenti b (Yes). Con <code>newfs ci crea tutti i vari slices, dobbiamo solo attendere qualche secondo.

Ultime impostazioni

FIXME: Ottimo, scegliamo a (Use the BIOS console) perché vogliamo usare tastiera e monitor (bootblocks).

Sysinst ora ci chiede in che modo deve stampare i messaggi dell'installazione dei distribution sets. Lasciamo benissimo a (Progress bar).
Ora selezioniamo il supporto in cui prendere i sets, il CD-ROM va benissimo, quindi selezioniamo a (CD-ROM / DVD). Anche la directory di default dobrebbe andare bene, quindi confermiamo. Ora vediamo questa progress bar e la percentuale del set che può essere letto in alto (il set è qualche cosa del tipo <set>.tgz dove l'estensione .tgz sta per tar gzipped). La procedura di installazione dei sets è completata (cavolo, ci sono voluti solo 2-3 minuti! :-)), confermiamo con un bel Return.

Benissimo, ora possiamo selezionare il timezone, di solito la data sul BIOS deve essere impostata su UTC. Stiamo in Italia, quindi selezioniamo Europe/Rome (ci sono anche San Marino e Vaticano).

Ormai è arrivato il momento dei vari setting, si inizia con il password cipher, la maggior parte delle distro GNU/Linux usa MD5, OpenBSD (e forsi altri OS) dovrebbero usare Blowfish, io scelgo c (Blowfish 2^7 round).

Vogliamo una password di root, selezioniamo quindi a (Yes) e scegliamoci una bella password. Ora ci chiede la shell che dovrà usare il superutente root. Scelgo ksh (Korn Shell) perchè tra sh e csh è la mia preferita (volendo possiamo anche installare bash, zsh e molte altre shell in un secondo momento).

Installazione completata e riavvio

Ok, ora l'installazione è finita... Come ci consiglia sysinst al prossimo boot dobbiamo leggerci il manpage afterboot(8) con un bel man afterboot ed editare rc.conf per finire a configurare i vari demoni da avviare o disattivare (l'rc.conf è piuttosto minimale inizialmente, quindi i demoni avviati di default sono pochi).

Ok, ora ci accoglie di nuovo la schermata iniziale... Selezioniamo d (Reboot the computer) per riavviare il nostro elaboratore.

Configurazione e altro

Primo boot e primo login

NetBSD partirà correttamente (speriamo :-P). Si può notare che i messaggi del kernel sono tutti verdi, questi messaggi possono essere anche letti con dmesg(8). Il tool dmesg(8) è utilissimo, infatti è anche consigliabile che al primo boot facciamo un breve esame di quest'output in modo da osservare se NetBSD ha trovato correttamente le varie periferiche, quindi siamo interessati alla scheda di rete nel PC, nel mio caso una Realtek 8139, al controller SATA PCI Adaptec (basato su chipset Silicon Image), all'hard disk SATA e volendo anche alla scheda video e scheda audio. Una volta finito il boot dobbiamo vedere qualche cosa del genere:

Tue Jul 24 10:29:21 CEST 2007

NetBSD/i386 (brucaliffo) (conole)

login: _

Questa è la schermata di login, abbiamo a disposizione 4 terminali virtuali accessibili con la combinazione dei tasti C-M-Fn (C sta per Control, M sta per Alt ed Fn per... F1, F2, F3, F4). Gli user che hanno già usato un sistema operativo Unix-like troveranno questo ambiente familiare, questo vale anche per gli user che non hanno mai usato un OS Unix-like, basta soltanto ambientarsi. Esploriamo i vari terminali premendo questa combinazione dei tasti, per esempio se premiamo C-M-F3, possiamo vedere:

NetBSD/i386 (brucaliffo) (ttyE2)

login: _

Da come si può osservare la schermata è quasi uguale, cambia ttyE2, infatti ogni terminale ha un nome, ed ogni terminale può essere di diverso tipo, per ora non ci interessa il tipo, dico soltanto che di default dovremmo avere un vt100 su console e vt220 su ttyE1, ttyE2, ttyE3.

NetBSD (come qualsiasi altro OS Unix-like che si rispetti) è multiutente, cioè ad un PC possono accedere più utenti e può avere più utenti. Come abbiamo visto inizialmente possiamo loggarci soltanto con il superutente root. Si chiama proprio superutente perché l'utente root può fare qualunque cosa, per esempio eseguire tutti i programmi, accedere a tutte le directory e così via. L'utente root non ha limiti.
Per questo è da incoscienti usarlo per fare le operazioni di tutti i giorni, come per esempio navigare in internet, leggere news, mandare mail o giocare semplicemente a tetris o rogue.
L'utente root va quindi usato con moderazione, fare tutto da root è un male.
Logghiamoci da root, scriviamo root, premiamo Return e scriviamo la nostra password di root (che non verrà visualizzata su schermo) e confermiamola sempre con il tasto Return.

login: root
Password:
Jul 24 11:02:02 brucaliffo login: ROOT LOGIN (root) ON conosole
Last login: Tue Jul 24 08:20:47 2007 on conosole
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California. All rights reserved.

NetBSD 3.1 (LEOT) #0: Mon Jul 23 15:08:50 CEST 2007

Welcome to NetBSD!

Terminal type is wsvt25.
We recommend creating a non-root account and using su(1) for root access.
brucaliffo# _

Abbiamo quindi appreso che ogni comando si conforma con invio. Alla fine dell'installazione sysinst ci ha consigliato di leggere il man page afterboot(8), facciamolo subito:

brucaliffo# man afterboot

Il comando man(1) è utilissimo per ogni user e sysadmin, infatti grazie a man possiamo leggere manuali in linea di tutto il software installato. I man pages esistono anche per il software aggiuntivo quindi di norma ogni software ha il suo/sui man page/s.
Il man page afterboot che stiamo leggendo è un semplice file di testo e lo vediamo grazie ad un pager chiamato less, possiamo spostarci su e giù con le frecce o k e j.
Una volta letto il man page si può uscire premendo il tasto q. Ora abbiamo di nuovo la nostra cara shell.

Come detto all'inizio vogliamo accertarci che tutte le periferiche sono state rilevate correttamente, non arrabbiatevi se la periferica non è riconosciuta, probabilmente si può risolvere ricompilando il kernel abilitando il supporto per quella determinata scheda/periferica. Esaminiamo quindi l'output di dmesg:

brucaliffo# dmesg

Cosa, non riuscite a leggere quello che c'è in alto ma leggete soltanto le ultime 24 righe? Non vi preoccupate, esistono i pager e le pipe (non quelle che si fumano :-)) per risolvere questo problema:

brucaliffo# dmesg | less

Benissimo, ora possiamo vedere e muoverci sull'output di dmesg come se stessimo leggendo un man page, infatti usiamo lo stesso pager (less) e l'approccio è quindi uguale.

Non trovate che è piuttosto noioso esaminare l'output in questo modo? Sì, lo è, greppiamolo quindi! grep<code> è un tool GNU che serve per cercare una determinata stringa o meglio regular expression, tutto ciò che combacia <code>grep<code> ce lo stampa a video.
Proviamolo subito esaminando le varie periferiche,

  • scheda di rete:
brucaliffo# dmesg | grep -i realtek
rtk0 at pci0 dev 16 function 0: Realtek 8139 10/100BaseTX
  • controller SATA PCI:
brucaliffo# dmesg | grep -i adaptec
satalink0: Adaptec AAR-1210SA serial ATA RAID controller (rev. 0x02)
  • scheda video:
brucaliffo# dmesg | grep -i nvidia
vga1 at pci1 dev 0 function 0: NVIDIA RIVA TNT (rev. 0x04)
  • scheda audio:
brucaliffo# dmesg | grep -i ensoniq
eap0 at pci0 dev 18 function 0: Ensoniq AudioPCI (rev. 0x01)
  • hard disk:
brucaliffo# dmesg | grep -E "^wd0 "
wd0 at atabus2 drive 0: <MAXTOR STM3160211AS>

Ottimo, tutto l'hardware è stato rilevato correttamente.

L'opzione -i che abbiamo dato a <code>grep significa ignore-case quindi ignora maiuscole e minuscole. Di default infatti grep rispetta maiuscole e minuscole (case-sensitive).

L'opzione -E serve per le regexp (regular expression), infatti quella tra doppi apici è una regexp, il "coppo" (^) significa che quello che cerchiamo deve stare all'inizio della riga, lo spazio invece significa che dopo wd0 che si deve trovare all'inizio della riga ci deve essere uno spazio. Non vi preoccupate se non avete capito questa regexp, sono un po' ostiche all'inizio, per maggiori informazioni digitate un bel info grep.

Per leggere documentazione infatti non esiste soltanto man<code>; <code>man di solito è piuttosto scarno, descrive le varie opzioni del programma, ne dà una breve descrizione ma nulla in più. Con info(1) infatti possiamo leggere tutta la documentazione nel formato Info (vedere texinfo(5) se si è ancora più curiosi). Anche usare info non è difficile, però lo proveremo dopo quando ci siamo fatti uno user.

Nuovo utente

Non aspettiamo allora e creiamo subito uno user! (Sostituire <shell> con una shell, per esempio /bin/ksh, <"Nome e Cognome" dell'utente> con il vostro Nome e Cognome, <utente> con il nuovo nome dell'utente, per esempio leot, o claudio, o quello che volete.

brucaliffo#
useradd -m -G wheel -s <shell> -c <"Nome e Cognome" dell'utente> <utente>

Scegliamo ora una buona password per quest'utente con:

brucaliffo# passwd <utente>

Descrivo un brevemente questi due comandi utilissimi che di norma vanno fatti subito dopo ogni installazione di NetBSD. Allora il comando passwd(1) (passwd non password!) si commenta da solo, cambia la password di quell'utente dato come argomento (omettendo l'argomento cambia la password del nostro utente, in questo caso l'utente root).

Per quanto riguarda useradd(8) crea l'utente. L'opzione -m sta per creami una /home; la /home è la directory in cui stanno tutti i file di quell'utente e quindi tutti i vari documenti, le varie configurazione che riguardano quell'utente. E' la directory (cartella) personale dell'user, vedremo più tardi come manipolare file e cartelle. L'opzione -G invece significa aggiungi questo utente a questo/questi gruppo/gruppi, sotto Unix infatti esistono i gruppi, un file ha sempre un propietario (l'utente) ed un gruppo. In NetBSD il gruppo di default per tutti gli utenti si chiama users. Possiamo ad esempio permettere a tutti gli utenti del gruppo users di vedere un nostro file solo in lettura.
Il gruppo wheel invece esiste in tutti i sistemi *BSD, è molto utile, infatti certi software, come ad esempio su(1) (tool che serve per cambiare utente, lo vedremo in seguito) non possono essere eseguiti se non si fa parte del gruppo wheel. L'opzione -s è il tipo di shell di quell'utente, le shell installate di default sono ksh, sh e csh, quindi queste sono sempre valide. Se installate si possono impostare anche altre shell, ce ne sono moltissime.
L'opzione -c è il commento per quell'utente, di norma Nome e Cognome, può far comodo ad alcuni software ma di certo non è indispensabile, omettetelo tranquillamente se non avete voglia di commentare quello user. L'ultimo argomento ed anche il più importante è il nome dell'utente.

Primo login con il nuovo utente

Ok, ora abbiamo un utente, lasciamo la shell root così come è e spostiamoci in un altro terminale con C-M-F2 (Control + Alt + F2), facciamo la stessa procedura che abbiamo fatto con l'utente root. quindi:

NetBSD/i386 (brucaliffo) (ttyE1)

login: leot
Password:
Last login: Tue Jul 24 10:48:57 2007 on ttyE2
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California. All rights reserved.

NetBSD 3.1 (LEOT) #0: Mon Jul 23 15:08:50 CEST 2007

Welcome to NetBSD!

Terminal type is wsvt25.
leot@brucaliffo$ _

Benissimo, siamo riusciti a loggarci con successo, spostiamoci ora sul primo terminale (C-M-F1) per fare il logout dell'utente root:

brucaliffo# exit

Con exit abbiamo fatto il logout, un ottima alternativa ad exit leggermente più rapida in ksh è C-d (Ctrl + d).

Siccome non siamo sicuri che ci siamo loggati con il nostro utente vogliamo una conferma con who(1):

leot@brucaliffo$ who am i
leot     ttyE1    Jul 24 12:48

Possiamo anche vedere tutti gli utenti loggati semplicemente con un who, in questo caso abbiamo root loggato sul primo terminale e leot loggato sul quarto terminale:

leot@brucaliffo$ who
root     console  Jul 24 13:00
leot     ttyE3    Jul 24 12:51

Un altro comando simile a who(1) ma non uguale è w(1):

leot@brucaliffo$ w
 2:11PM  up 15 mins, 2 users, load avarages: 0.47, 0.24, 0.17
USER     TTY     FROM              LOGIN@  IDLE WHAT
leot     console -                 1:59PM     0 w
leot     ttyp0   192.168.1.4       2:10PM     1 emacs

Da come si può osservare con w(1) possiamo anche vedere quello che sta facendo l'utente, nell'esempio l'utente leot (che sta sulla macchina fisicamente) sta sul primo terminale e sta eseguendo w, il secondo utente è sempre leot, solo che proviene da bianconiglio (192.168.1.4) e sta eseguendo emacs.

Sappiamo le basi, giusto per un login e logout, impariamo ora a manipolare file e directory.
Creiamo una directory, il comando per creare una directory è mkdir(1), per vedere invece il contenuto di una directory esiste il comando ls(1), invece per capire il percorso in cui siamo posizionati il tool di cui abbiamo bisogno è pwd(1):

leot@brucaliffo$ mkdir data
leot@brucaliffo$ ls
data
leot@brucaliffo$ pwd
/home/leot

Impariamo ora a muoverci tra le cartelle:

leot@brucaliffo$ cd data
leot@brucaliffo$ pwd
/home/leot/data
leot@brucaliffo$ cd .
leot@brucaliffo$ pwd
/home/leot/data
leot@brucaliffo$ mkdir documenti && mkdir work && mkdir documenti/personali
leot@brucaliffo$ ls
documenti work
leot@brucaliffo$ ls ..
data
leot@brucaliffo$ cd ..
leot@brucaliffo$ ls
data
leot@brucaliffo$ cd data/documenti
leot@brucaliffo$ ls
personali
leot@brucaliffo$ cd ../..
leot@brucaliffo$ ls
data
leot@brucaliffo$ pwd
/home/leot
leot@brucaliffo$ cd ..
leot@brucaliffo$ ls
leot
leot@brucaliffo$ cd /
leot@brucaliffo$ pwd
/
leot@brucaliffo$ cd
leot@brucaliffo$ pwd
/home/leot

Possiamo vedere che non è difficile spostarsi tra le directory, può essere utilissimo l'uso del tasto TAB che autocompleta le directory e volendo anche i programmi in certe shell. ksh supporta l'autocompletamento.

Impariamo ora a rimuovere le directory che avevamo creato, il comando per rimuovere una cartella vuota si chiama rmdir(1):

leot@brucaliffo$ cd $HOME/data
leot@brucaliffo$ ls -1
documenti
work
leot@brucaliffo$ rmdir work
leot@brucaliffo$ ls
documenti

Le cartelle fanno molto comodo per tenere ordinati i nostri file, ma dobbiamo imparare a modificare i file, magari file di testo. I tool che ci servono sono diversi, prima di tutto touch(1) per creare un file vuoto, cat(1) che serve per stampare l'output di un file, vi(1) l'editor installato di default su NetBSD, un editor quindi da conoscere, almeno le basi, non voglio aggiungere molto su Vi perché su Guida di NetBSD c'è un ottima sezione sull'editor Vi e sull'editing di base di Vi. Se vi colpisce Vi, consiglio di provare nVi e Vim, sono dei cloni di Vi con diverse funzionalità (Vi è un editor di base minimale ma ha molte funzioni, nVi e Vim hanno varie caratteristiche e sono ancora più potenti dell'editor Vi). Un altro editor sicuramente da provare è GNU Emacs scritto da Richard Stallman (rms continua ancora con lo sviluppo di Emacs ma ci sono un sacco di contributi da parte di altri developer e user).

Altro tool utile che ci serve oltre all'editor Vi è file(1) che serve a determinare il tipo di file (per esempio un file di testo o anche un video, un immagine...).
Un altro tool simile a cat(1) che useremo sarà head(1) che stampa le prime righe di un file, simile a tail(1) che invece stampa le righe partendo dalla fine.
Useremo anche echo(1) per scrivere del testo.

leot@brucaliffo$ touch dmesgfile.txt
leot@brucaliffo$ ls
dmesgfile.txt
leot@brucaliffo$ file dmesgfile.txt
dmesgfile.txt: empty
leot@brucaliffo$ vi dmesgfile.txt

(premiamo ora "i" per andare in modalità inserimento)

Of course it runs NetBSD.

(premiamo ora "ESC" per uscire dalla modalità inserimento)
(scriviamo :wq per salvare (w) e uscire (q))

leot@brucaliffo$ cat dmesgfile.txt
Of course it runs NetBSD.
leot@brucaliffo$ dmesg > dmesgfile.txt
leot@brucaliffo$ head -n 1 dmesgfile.txt
NetBSD 3.1 (LEOT) #0: Mon Jul 23 15:08:50 CEST 2007
leot@brucaliffo$ echo "NetBSD/toaster: we wish the toaster to be happy too."
NetBSD/toaster: we wish the toaster to be happy too.
leot@brucaliffo$ echo "NetBSD/toaster: we wish the toaster to be happy too." >> dmesgfile.txt
leot@brucaliffo$ tail -n 2 dmesgfile.txt
wsdisplay0: screen 4 added (80x25, vt100 emulation)
NetBSD/toaster: we wish the toaster to be happy too.

L'esempio qui sopra è piuttosto semplice, l'unica cosa un po' strana è > che serve per dirigere l'output su quel file. Abbiamo usato anche >>, cioè append, proprio per appendere del testo (infatti quando abbiamo fatto il dmesg > file quello che avevamo precedentemente scritto è stato sovrascritto, con l'append invece se il file esiste lo "appende" alla fine).

TODO: continuare, i tool di base sono quasi finiti, si inizia a fare sul serio editando varie conf (in particolare rc.conf), e altri tool un po' più seri.

Strumenti personali