Capitolo 5. Operazioni successive

Sommario
5.1. dmesg
5.2. Montare il cdrom
5.3. Montare il floppy
5.4. Accedere a una partizione MS-DOS/Windows
5.5. Aggiungere un nuovo utente
5.6. Shadow password
5.7. Localizzazione
5.8. Arresto/riavvio del sistema

Il primo boot è ormai storia passata e la configurazione di base del sistema è completa. In questa sezione vengono descritte, più o meno in ordine sparso, alcune operazioni comuni e alcuni comandi utili.

5.1. dmesg

Durante l'avvio del sistema il kernel scrive a video una lunga serie di messaggi relativi alle operazioni eseguite e alle periferiche riconosciute. Questi messaggi sono fondamentali sia per diagnosticare eventuali problemi sia per determinare i nomi dei dispositivi associati alle periferiche. Il comando dmesg ripropone i messaggi visualizzati dal kernel durante l'avvio del sistema, consentendo di controllarli con tutta calma. In particolare, quando si chiede assistenza su una delle mailing list di NetBSD perché qualche periferica non funziona a dovere conviene sempre accludere al messaggio l'output di dmesg (o almeno la parte relativa alla periferica in questione).

# dmesg | more    

Se qualcosa sul sistema non funziona come dovrebbe e decidete di ricorrere all'aiuto di una delle mailing list di NetBSD, ricordatevi di accludere al vostro messaggio l'output di dmesg rilevante per il vostro problema. Queste informazioni saranno d'aiuto agli altri per diagnosticare il vostro problema.

5.2. Montare il cdrom

Una delle domande che ricorre più frequentemente sulle mailing list è "come si fa a montare il CD-ROM?": i nuovi utenti sono di solito sorpresi dal fatto che il programma di installazione riconosce e utilizza il lettore di CD ma dopo il riavvio il sistema sembra essersene "dimenticato". Vediamo ora la procedura da adottare. Il device corrispondente al CDROM si può ricavare con il già citato comando dmesg. Supponiamo, per esempio, che dmesg visualizzi queste informazioni:

# dmesg | grep ^cd
cd0 at atapibus0 drive 1: <ASUS CD-S400/A, , V2.1H> type 5 cdrom removable    

In questo caso si potrà montare il cdrom con

# mkdir /mnt/cdrom
# mount -t cd9660 -o ro /dev/cd0a /mnt/cdrom
    

Per evitare di ripetere questi comandi ogni volta, conviene inserire una riga in /etc/fstab.

/dev/cd0a /mnt/cdrom cd9660 ro,noauto 0 0    

A questo punto, senza bisogno di riavviare, per montare il cdrom basta dare il comando

# mount /mnt/cdrom    

Se il cdrom è montato non è possibile espellerlo manualmente (cioè premendo il pulsante sul lettore): bisogna prima dare il comando

# umount /mnt/cdrom    

In alternativa si può espellerlo via software (anche se è montato) con il comando

# eject cd0    

5.3. Montare il floppy

Per usare il floppy si può utilizzare un meccanismo simile a quello del CD-ROM. Per prima cosa si crea il punto di mount, per esempio:

# mkdir /mnt/floppy    

Per leggere e scrivere un floppy in formato MSDOS si può ora dare il comando:

# mount -t msdos /dev/fd0a /mnt/floppy    

Se si usano molto i floppy in formato MSDOS, il mio suggerimento è di installare il package "mtools" che accede direttamente al floppy (ma anche a una partizione DOS) in modo molto comodo.

5.4. Accedere a una partizione MS-DOS/Windows

Se NetBSD condivide il disco fisso con MS-DOS o con Windows è possibile rendere visibili le relative partizioni modificando la disklabel. La prima cosa da fare è determinare la geometria della partizione DOS, per esempio con il comando fdisk.

# fdisk wd0
NetBSD disklabel disk geometry:
cylinders: 6232 heads: 16 sectors/track: 63 (1008 sectors/cylinder)
...
Partition table:
0: sysid 6 (Primary 'big' DOS, 16-bit FAT (> 32MB))
    start 63, size 2088516 (1019 MB), flag 0x80
        beg: cylinder    0, head   1, sector  1
        end: cylinder  259, head   0, sector  4
1: sysid 169 (NetBSD)
    start 2088579, size 4193277 (2047 MB), flag 0x0
        beg: cylinder  259, head   0, sector  4
        end: cylinder  779, head   0, sector  1
2: <UNUSED>
3: <UNUSED>    

L'esame dell'output di fdisk mostra che la partizione DOS inizia al settore 63 e ha dimensione 2088516. La partizione NetBSD inizia al settore 2088579 (si noti che 2088579 = 2088516 + 63). Questi dati servono per modificare la disklabel BSD, usando l'editor specificato dalla variabile di ambiente $EDITOR. È necessario aggiungere una riga alla disklabel specificando i dati della partizione MS-DOS appena ricavati e usando la prima lettera libera come identificativo della partizione.

# disklabel -e wd0
...
#        size   offset     fstype  [fsize bsize  cpg]
...
  e:  3450624  2831232    4.2BSD    1024  8192    16   # (Cyl.  2808* - 6231)
  f:  2088516       63    MSDOS

Le partizioni da "a" a "e" erano occupate e, pertanto, è l'identificativo scelto per la riga è stato "f". I campi "size" e "offset" sono stati riempiti con i dati trovati prima. Ora si crea il punto di mount, per esempio:

# mkdir /msdos    

e infine si aggiunge la riga seguente a /etc/fstab

/dev/wd0f /msdos msdos rw,noauto 1 3    

Per accedere alla partizione MS-DOS basta dare il comando:

# mount /msdos    

Con il metodo appena descritto si possono leggere partizioni FAT e FAT32. Se si vuole che la partizione MS-DOS venga montata automaticamente all'avvio, basta eliminare l'opzione "noauto", in questo modo:

/dev/wd0f /msdos msdos rw 1 3    

5.5. Aggiungere un nuovo utente

La gestione degli utenti e dei gruppi si effettua tramite i programmi useradd(8) e groupadd(8). Per esempio, per aggiungere un nuovo utente carlo, assegnandolo a un gruppo con il suo stesso nome, creiamo dapprima il gruppo con:

# groupadd carlo    

poi creiamo il nuovo utente:

# useradd -G wheel -g carlo -m -s /bin/ksh carlo    

Con un solo comando abbiamo fatto parecchie operazioni in un colpo solo:

In questo esempio abbiamo manualmente scelto la shell ksh, però i valori di default utilizzati da useradd possono essere configurati: vedere la pagina di manuale useradd(8). Il comando

# useradd -D      
mostra i valori di default correnti.

Il comando:

# useradd -D -s /bin/ksh      
imposta ksh come shell di default del comando useradd.

Nota: lo strumento da utilizzare per aggiungere o modificare gli utenti manualmente è vipw, che consente di modificare in modo sicuro il file delle password.

5.6. Shadow password

Le shadow password sono il default per NetBSD, e non possono essere disabilitate: tutte le password di /etc/passwd contengono un '*'; le password crittografate sono contenute in un file separato, /etc/master.passwd, che può essere letto solo da root. Quando si lancia vipw per editare il file delle password, il programma apre una copia di /etc/master.passwd; quando si esce, vipw controlla la validità della copia, genera /etc/passwd e installa il nuovo /etc/master.passwd. Infine esegue pwd_mkdb che crea i file /etc/pwd.db e /etc/spwd.db, che sono dei database equivalenti a /etc/passwd e /etc/master.passwd e consentono un accesso più veloce.

La conseguenza di tutto ciò è che le shadow password sono gestite in modo automatico (trasparente, per usare un termine che va di moda oggi) da NetBSD: finchè si usa vipw per editare il file delle password non è necessario alcun cambiamento alle procedure standard di amministrazione di sistema.

È importante ricordare che l'amministrazione degli account deve sempre essere effettuata usando vipw (oppure chfn, chsh, chpass, passwd): non bisogna mai modificare direttamente /etc/master.passwd.

5.7. Localizzazione

La localizzazione è un settore in cui NetBSD è purtroppo ancora piuttosto debole; il supporto è ancora carente anche se sarà colmato nelle prossime release, visto che il codice necessario è già presente nella versione current. Nel frattempo ci si deve un po' arrangiare. Per gli utenti europei, la prima cosa da fare è procurarsi il tarball locale.tgz dal sito di NetBSD e installarlo con i comandi:

# cd /
# gunzip < /path/to/locale.tgz | tar xvf -

Successivamente aggiungere le istruzioni seguenti ai file globali di configurazione della shell (per esempio /etc/profile):

LANG=it
export LANG
LC_CTYPE=it_IT.ISO8859-1
# Per avere il simbolo dell'euro
# LC_CTYPE=it_IT.ISO8859-15 
export LC_CTYPE

Queste impostazioni consentono di utilizzare le lettere accentate e di avere i menu in italiano in alcuni programmi (per esempio mutt).

5.8. Arresto/riavvio del sistema

Il comando da usare è shutdown. Per esempio:

# shutdown -h now
# shutdown -r now
    

In alternativa si possono usare i comandi:

# halt
# reboot
    

halt/reboot e shutdown non sono sinonimi: quest'ultimo è molto più sofisticato, consente di programmare la chiusura del sistema, di notificare gli utenti, ecc. Per i dettagli consultare le rispettive pagine di manuale.