[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 160.   Memoria di massa: preparazione e controllo

I sistemi Unix gestiscono sempre un solo file system globale. Questo può essere anche composto da più file system di dimensioni inferiori, uno principale (radice) e gli altri secondari, collegati fra loro in modo da formare un'unica struttura.

La tabella 160.1 elenca i programmi e i file a cui si accenna in questo capitolo.

Tabella 160.1. Riepilogo dei programmi e dei file per la gestione dei dischi e dei file system.

Nome Descrizione
fdformat Inizializzazione a basso livello dei dischetti.
superformat Inizializzazione a basso livello dei dischetti.
badblocks Controllo dell'integrità di un disco o di una partizione.
fdisk Creazione e modifica delle partizioni.
cfdisk Creazione e modifica delle partizioni (programma più amichevole).
sfdisk Creazione e modifica delle partizioni in modo non interattivo.
mke2fs,
mkfs.ext2,
mkfs.ext3
Creazione di un file system Second-extended Ext2 o Ext3.
mkdosfs,
mkfs.msdos
Creazione di un file system Dos-FAT.
mkfs programma frontale per l'utilizzo dei programmi di creazione dei file system.
disktype Fornisce informazioni sulla struttura di un disco: le sue partizioni, il file system, il sistema di avvio.
gpart Ricostruisce la suddivisione in partizioni di un disco.
e2fsck,
fsck.ext2,
fsck.ext3
Controllo di un file system Second-extended Ext2 o Ext3.
dosfsck,
fsck.msdos
Controllo di un file system Dos-FAT.
fsck Programma frontale di controllo dei file system.
mkntfs,
mkfs.ntfs
Crea un file system NTFS.
ntfsresize Modifica la dimensione di un file system NTFS.
doschk Verifica la compatibilità dei nomi di file e directory da copiare in un file system con possibilità limitate.

160.1   Preparazione dei file system

Prima di poter utilizzare un file system, occorre costruirlo. Quando si parla di dischi si distinguono tre fasi fondamentali:

  1. l'inizializzazione a basso livello;

  2. l'eventuale suddivisione in partizioni;

  3. la creazione della struttura iniziale del tipo di file system che si intende utilizzare.

L'inizializzazione a basso livello è spesso compito di programmi residenti nel firmware (o nel BIOS se si preferisce il termine), a eccezione dei dischi rimovibili. In questo ultimo caso, a parte i dischetti, si deve quasi sempre utilizzare quanto fornito insieme alle unità di memorizzazione, anche se si tratta di programmi fatti per altri sistemi operativi.

Per l'inizializzazione a basso livello dei dischetti si può utilizzare fdformat, per la suddivisione in partizioni dei dischi più grandi si può utilizzare fdisk (o cfdisk), per creare i vari file system si devono utilizzare programmi diversi a seconda del tipo di file system.

Tutte queste operazioni vengono svolte facendo riferimento ai file di dispositivo relativi. Di conseguenza, possono essere compiute solo dagli utenti che hanno i permessi di accesso in lettura e scrittura per questi file. Generalmente, solo l'utente root può intervenire in questo modo.

160.1.1   Utilizzo di «fdformat»

Il programma fdformat (1) esegue un'inizializzazione a basso livello di un dischetto. Il nome del file di dispositivo indica l'unità a dischetti in cui si vuole compiere l'operazione e anche il formato che si vuole ottenere. Per questo motivo è meglio evitare di utilizzare semplicemente nomi di dispositivo generici come /dev/fd0 e /dev/fd1. Molto probabilmente si utilizzano maggiormente i formati relativi a /dev/fd0u1440 e /dev/fd1u1440 che si riferiscono al formato da 1 440 Kibyte dei dischetti da 3,5 pollici.

Vale la pena di ricordare che i nomi di dispositivo relativi ai dischetti possono cambiare leggermente da una distribuzione GNU/Linux a un'altra. A volte, il formato dei dischetti da 1 440 Kibyte corrisponde al file /dev/fd0H1440.

fdformat [-n] dispositivo

L'opzione -n serve a saltare la fase di controllo successiva all'inizializzazione: in generale è meglio non utilizzarla in modo da verificare la riuscita dell'inizializzazione.

Se si vuole consentire agli utenti comuni di compiere questa operazione occorre regolare i permessi dei file di dispositivo dei dischetti in modo da permettere loro l'accesso in lettura e scrittura.

Segue la descrizione di alcuni esempi.

160.1.2   Utilizzo di «superformat»

Il programma superformat (2) è alternativo a fdformat, rispetto al quale permette di definire molti dettagli in più che riguardano l'inizializzazione dei dischetti. In generale, si possono ignorare tutte queste caratteristiche speciali, utilizzando superformat con la sola indicazione del file di dispositivo del dischetto da inizializzare: è sufficiente fare riferimento al dispositivo generico, senza le informazioni sulla capacità dello stesso. Alla fine dell'inizializzazione a basso livello, superformat utilizza mformat per inserire nel dischetto un file system Dos-FAT, che se non serve può essere semplicemente ignorato.

superformat [opzioni] dispositivo [descrizione_del_supporto]

Prima di eseguire l'inizializzazione, superformat controlla le caratteristiche dell'unità a dischetti. È possibile predisporre il file /etc/driveprm con una direttiva che viene suggerita dallo stesso programma mentre è in funzione, per evitare che venga ripetuto questo controllo. Se si interviene in questo modo, occorre ricordare di eliminare la direttiva quando si cambia unità a dischetti, o quando si cambia l'unità di controllo. In generale, non è il caso di preoccuparsi di questo file, a meno che l'inizializzazione dei dischetti sia un'attività frequente.

Questo valore potrebbe essere influenzato anche dalle variazioni climatiche, pertanto è meglio non predisporre il file /etc/driveprm, nonostante la perdita di tempo iniziale.

Le opzioni di superformat sono utili soprattutto quando si vuole inizializzare un dischetto utilizzando un formato insolito, ma in tal caso conviene leggere la pagina di manuale relativa: superformat(1). Comunque, vale la pena di ricordare che con l'opzione -f, o --noverify, si esclude qualunque controllo sul risultato dell'inizializzazione.

L'esempio seguente inizializza un dischetto nell'unità corrispondente al file di dispositivo /dev/fd0, utilizzando il formato standard massimo per quel tipo di unità:

superformat /dev/fd0[Invio]

160.1.3   Utilizzo di «badblocks»

Il programma badblocks (3) è in grado di verificare l'integrità di un disco o di una partizione. Il controllo è fatto a basso livello senza considerare la struttura del file system.

badblocks [opzioni] dispositivo dimensione_in_blocchi [blocco_iniziale] 

Normalmente i programmi di inizializzazione, sia a basso livello che a livello superiore, sono in grado di fare questo controllo da soli. Per questo badblocks viene usato raramente.

Il tipo di controllo può essere in lettura oppure anche in scrittura. È evidente che, se si specifica attraverso le opzioni l'intenzione di effettuare un controllo in scrittura, i dati contenuti nel disco o nella partizione sono perduti.

Tabella 160.2. Alcune opzioni.

Opzione Descrizione
-b dimensione_dei_blocchi
Permette di definire la dimensione dei blocchi espressa in byte. Il valore predefinito è 1 024.
-w
Esegue una prova di scrittura controllando successivamente l'esito. Questa opzione deve essere usata con prudenza dal momento che, così facendo, si cancellano i dati del disco o della partizione da controllare.

L'esempio seguente esegue il controllo del dischetto, in sola lettura, per tutta la sua estensione: 1 440 blocchi di 1 Kibyte. Trattandosi di un controllo in sola lettura, badblocks può essere eseguito da un utente comune (sempre che tali utenti abbiano i permessi di lettura per il dispositivo che si va a leggere).

badblocks /dev/fd0u1440 1440[Invio]

160.1.4   Utilizzo di «fdisk»

Il programma fdisk (4) permette la modifica della tabella delle partizioni di un disco che possa essere organizzato in questo modo. Il nome del file di dispositivo fa riferimento all'intero disco, quindi si possono utilizzare nomi come /dev/hda, /dev/hdb, /dev/hdc,... /dev/sda, /dev/sdb,... a seconda che si tratti di dischi ATA o SCSI.

fdisk [opzioni] [dispositivo]

Una volta avviato fdisk, si interagisce con questo attraverso comandi composti da una sola lettera. In particolare, la lettera m richiama l'elenco dei comandi disponibili.

[m]

Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatiblity flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   p   print the partition table
   q   quit without saving changes
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Quando viene creata una nuova partizione, questa viene definita automaticamente del tipo Linux-nativa, ma in certi casi può essere necessario modificare il tipo di partizione creato attraverso il comando t. Ogni tipo di partizione ha un codice (espresso in esadecimale) che può essere conosciuto anche attraverso fdisk stesso, durante il suo funzionamento.

[t]

...

 0  Vuoto           1c  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid 
 1  FAT12           1e  Hidden W95 FAT1 75  PC/IX           be  Solaris boot    
 2  XENIX root      24  NEC DOS         80  Vecchio Minix   c1  DRDOS/sec (FAT- 
 3  XENIX usr       39  Plan 9          81  Minix / vecchio c4  DRDOS/sec (FAT- 
 4  FAT16 <32M      3c  Recupero Partit 82  Linux swap      c6  DRDOS/sec (FAT- 
 5  Esteso          40  Venix 80286     83  Linux           c7  Syrinx          
 6  FAT16           41  PPC PReP Boot   84  C nascosto OS/2 da  Non-FS data     
 7  HPFS/NTFS       42  SFS             85  Linux esteso    db  CP/M / CTOS / . 
 8  AIX             4d  QNX4.x          86  set volume NTFS de  Dell Utility    
 9  AIX avviabile   4e  QNX4.x 2a parti 87  set volume NTFS df  BootIt          
 a  OS/2 Boot Manag 4f  QNX4.x 3rd part 8e  Linux LVM       e1  accesso DOS     
 b  W95 FAT32       50  OnTrack DM      93  Amoeba          e3  DOS R/O         
 c  W95 FAT32 (LBA) 51  OnTrack DM6 Aux 94  Amoeba BBT      e4   SpeedStor      
 e  W95 FAT16 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs         
 f  W95 Ext'd (LBA) 53  OnTrack DM6 Aux a0  Ibernazione IBM ee  EFI GPT         
10  OPUS            54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/ 
11  FAT12 nascosto  55   EZ-Drive       a6  OpenBSD         f0  Linux/PA-RISC b 
12  Diagnostica Com 56  Golden Bow      a7  NeXTSTEP        f1   SpeedStor      
14  FAT16 nascosto  5c  Priam Edisk     a8  Darwin UFS      f4   SpeedStor      
16  FAT16 nascosto  61   SpeedStor      a9  NetBSD          f2  DOS secondario  
17  HPFS/NTFS nasco 63  GNU HURD o SysV ab  Darwin boot     fd  Autorilevamento 
18  AST SmartSleep  64  Novell Netware  b7  BSDI fs         fe  LANstep         
1b  Hidden W95 FAT3 65  Novell Netware  b8  BSDI swap       ff  BBT             

Le modifiche alla tabella delle partizioni vengono registrate solo nel momento in cui si termina l'esecuzione del programma con il comando w. Se fdisk segnala qualche tipo di errore in questo momento, potrebbe essere necessario riavviare il sistema prima di utilizzare il disco su cui sono state apportate le modifiche.

[w]

Il funzionamento di fdisk è già descritto nel capitolo 45.

Tabella 160.5. Alcune opzioni.

Opzione Descrizione
-l
Emette l'elenco delle partizioni esistenti nelle unità ATA e SCSI. Non inizia alcuna attività interattiva.
La lettera «l» sta per list.
-s partizione
Utilizzando questa opzione seguita dal nome del file di dispositivo che fa riferimento a una partizione (/dev/hda1, /dev/hda2, ecc.) si ottiene la sua dimensione. Questa informazione è importante nel momento in cui si vuole creare al suo interno un file system e il programma utilizzato non è in grado di determinarla da solo.
La lettera «s» sta per size.

160.1.5   Utilizzo di «cfdisk»

Il programma cfdisk (5) serve a modificare la suddivisione in partizioni di un disco che possa essere organizzato in questo modo. Si tratta di un programma che svolge le stesse funzioni di fdisk offrendo un sistema di interazione meno spartano.

cfdisk [opzioni] [dispositivo]

Dal momento che richiede delle librerie particolari per la gestione dello schermo (ncurses), è poco indicato il suo utilizzo in presenza di sistemi estremamente ridotti o di emergenza. Ciò significa che il programma fdisk tradizionale non può essere abbandonato per adottare esclusivamente cfdisk.

Il funzionamento di fdisk è già descritto nel capitolo 45.

160.1.6   Utilizzo di «sfdisk»

Il programma sfdisk (6) consente la modifica delle partizioni in modo non interattivo, pertanto è utile in particolare per la realizzazione di script.

sfdisk [opzioni] dispositivo
sfdisk -s [partizione]
sfdisk dispositivo < file_di_comandi

L'utilizzo normale di questo programma di servizio prevede la preparazione di un file contenente le istruzioni sulle partizioni da creare all'interno di un disco specificato espressamente. Anche se è prevista una sintassi apposita per queste istruzioni, può essere conveniente l'utilizzo di quanto ottenuto da un'interrogazione con lo stesso sfdisk, come viene mostrato in seguito. Prima di arrivare a vedere in che modo si possono definire le partizioni, conviene prendere confidenza con l'uso di sfdisk, attraverso delle operazioni non distruttive; pertanto si comincia subito con alcuni esempi.

Un esempio del rapporto che si ottiene con l'opzione -d potrebbe essere quello del listato seguente:

# partition table of /dev/hda
unit: sectors

/dev/hda1 : start=       63, size=  612801, Id= 6
/dev/hda2 : start=   612864, size= 2721600, Id= 5, bootable
/dev/hda3 : start=        0, size=       0, Id= 0
/dev/hda4 : start=        0, size=       0, Id= 0
/dev/hda5 : start=   612927, size=   20097, Id=83
/dev/hda6 : start=   633087, size=  205569, Id=82
/dev/hda7 : start=   838719, size= 2495745, Id=83

Con questo sistema, se si dispone di una serie di elaboratori con gli stessi dischi fissi che si vogliono suddividere nello stesso modo, è facile utilizzare sfdisk per copiare la struttura di uno negli altri. Se si sa quello che si fa, si può modificare uno di questi file prima di darlo in pasto a sfdisk.

Il programma sfdisk permette anche di utilizzare una sintassi differente e più approssimativa per definire le partizioni che si vogliono creare. Tuttavia, per questo conviene leggere la documentazione originale, che dovrebbe essere accessibile attraverso la pagina di manuale sfdisk(8).

Tabella 160.7. Alcune opzioni.

Opzione Descrizione
-s
--show-size
Mostra la dimensione di una partizione.
-l
--list
Mostra l'elenco delle partizioni di un disco.
-d
--dump
Scarica le informazioni sulle partizioni di un disco. Quello che si ottiene può essere riutilizzato per rigenerare la stessa struttura, utilizzandolo come file di comandi per sfdisk.
-V
--verify
Verifica se le partizioni sembrano organizzate correttamente.

160.1.7   Salvataggio e recupero delle informazioni sulle partizioni principali

Un disco suddiviso in partizioni secondo il modello originario dei sistemi Dos, che prevede quattro partizioni primarie, contiene tali informazioni all'interno del primo settore, noto con il nome «MBR». È molto semplice salvare tale suddivisione, anche senza servirsi di programmi specifici (come potrebbe essere sfdisk), purché il proprio interesse sia limitato alle sole partizioni principali. Per salvare il settore MBR si procede così:

dd if=file_di_dispositivo of=file_da_creare bs=512 count=1

In questo modo, il file di dispositivo deve essere quello del disco intero, dal quale si vuole leggere il primo settore di 512 byte; il file da creare è quel file nel quale si vuole salvare l'informazione.

Nel caso dovesse essere necessario recuperare la tabella delle partizioni, se si copia tale e quale il file salvato in precedenza nel primo settore, si sovrascrive anche il codice di avvio; se questo va bene, basta procedere così:

dd if=file_mbr of=file_di_dispositivo

Se invece si vuole copiare soltanto la tabella di partizione, senza sovrascrivere il codice di avvio, il comando diventa più articolato:

dd if=file_mbr of=file_di_dispositivo bs=1 count=64 skip=446 seek=446

Naturalmente, un errore nella scrittura del comando di recupero, sia nei valori, sia nell'indicazione corretta del file di dispositivo di destinazione, è irreversibile.

160.1.8   Sistemazione delle partizioni Dos-FAT

Quando si predispongono partizioni Dos, può essere opportuno ripulire il primo settore (i primi 512 byte) della partizione, per evitare dei problemi con i programmi come FORMAT.EXE, i quali potrebbero leggerlo prima di iniziare il loro lavoro, restando confusi nel caso ci fossero lì dei dati casuali. Come si intuisce, il problema non esiste se il file system Dos-FAT viene generato attraverso strumenti di GNU/Linux, ma se si realizza uno script che deve costruire automaticamente una serie di partizioni, tra cui anche di tipo Dos, forse è il caso di provvedere a ripulire il primo settore di ogni partizione del genere.

Supponendo di avere definito la partizione /dev/hda1 per il Dos, si dovrebbe agire nel modo seguente:

dd if=/dev/zero of=/dev/hda1 bs=512 count=1[Invio]

Si intuisce che anche solo un piccolo sbaglio, in un'operazione del genere, comporta la cancellazione di dati in modo irreversibile.

160.1.9   Utilizzo di «mke2fs», «mkfs.ext2» e «mkfs.ext3»

Il programma mke2fs (7) permette di creare un file system di tipo Ext2 o Ext3 in un'unità di memorizzazione. Questa viene indicata nel modo consueto, attraverso il nome del file di dispositivo corrispondente (/dev/...).

mke2fs [opzioni] dispositivo [dimensione_in_blocchi]
mkfs.ext2 [opzioni] dispositivo [dimensione_in_blocchi]
mkfs.ext3 [opzioni] dispositivo [dimensione_in_blocchi]

La dimensione è espressa in blocchi. Se questo valore non viene specificato, mke2fs cerca di determinarlo da solo, ma non sempre il valore risulta corretto, quindi conviene fornire questa indicazione.

Vedere mke2fs(8).

Tabella 160.8. Alcune opzioni.

Opzione Descrizione
-j
Richiede espressamente di generare un file system con le estensioni Ext3.
La lettera «j» sta per journal.
-b dimensione_del_blocco
Permette di definire la dimensione dei blocchi, espressa in byte.
La lettera «b» sta per block.
-c
Prima di creare il file system controlla i blocchi in modo da isolare quelli difettosi. Il controllo viene eseguito in sola lettura.
La lettera «c» sta per check.
-i byte_per_inode
Definisce il rapporto byte/inode. mke2fs crea un inode a ogni intervallo stabilito espresso in byte. Il valore predefinito è di 4 Kibyte (4 096 byte) e non può essere inferiore a 1 Kibyte (1 024 byte).
La lettera «i» sta per inode.
-q
Esegue l'operazione senza emettere informazioni di alcun tipo, in modo da poter essere utilizzato agevolmente all'interno di script.
La lettera «q» sta per quiet.
-S
Scrive solo il superblocco e il descrittore di gruppo. Ciò può essere utile se, sia il superblocco principale, sia quelli di riserva, sono rovinati e si intende tentare, come ultima risorsa, un recupero dei dati. In questo modo, la tabella degli inode e altre informazioni non vengono modificate. Subito dopo è necessario utilizzare il programma e2fsck (160.2.2), ma non c'è alcuna garanzia che il recupero funzioni.
La lettera «S» sta per superblock.

160.1.10   Utilizzo di «mkdosfs» e «mkfs.msdos»

Il programma mkdosfs (8) permette di creare un file system Dos-FAT. Può essere usato per tutti i tipi di unità a disco, compresi i dischetti.

mkdosfs [opzioni] dispositivo [dimensione_in_blocchi]
mkfs.msdos [opzioni] dispositivo [dimensione_in_blocchi]

Vedere mkdosfs(8).

Tabella 160.9. Alcune opzioni.

Opzione Descrizione
-c
Prima di creare il file system controlla i blocchi in modo da isolare quelli difettosi. Il controllo viene eseguito in sola lettura.
La lettera «c» sta per check.
-i numero_id
Permette di specificare il numero di identificazione. Si tratta di un numero a 32 bit, rappresentato in esadecimale (precisamente si tratta di otto cifre esadecimali), che diversamente verrebbe determinato in base alla data.
La lettera «i» sta per id (identity).
-I
Quando si utilizzano dischi paragonabili a dischi fissi, con questa opzione è consentito inizializzare un disco intero che non sia diviso in partizioni.
-C
Consente di creare e inizializzare un file-immagine. Quando si utilizza questa opzione è indispensabile fornire la dimensione in blocchi alla fine della riga di comando.
La lettera «C» sta per create.

L'esempio seguente crea un file system Dos-FAT nel dischetto inserito nella prima unità, dopo aver controllato la sua superficie e determinando automaticamente la dimensione in blocchi:

mkdosfs -c /dev/fd0[Invio]

160.1.11   Utilizzo di «mkfs»

Il programma mkfs (9) serve a rendere uniforme l'utilizzo degli altri programmi specifici per la creazione dei vari tipi di file system. In questi casi si può parlare anche di programma frontale oppure si usa il termine inglese front-end.

mkfs [-t tipo_di_file_system] [opzioni_specifiche] dispositivo [dimensione_in_blocchi]

L'opzione -t serve per specificare il tipo di file system da creare, in questo modo mkfs sa a quale programma deve rivolgersi. Le opzioni specifiche dipendono dal tipo di file system, ovvero dal programma che si prende cura effettivamente dell'inizializzazione.

Segue la descrizione di alcuni esempi.

160.2   Controllo dei file system

I dati contenuti all'interno di un file system sono organizzati in una struttura articolata e delicata. A volte, specie se succedono incidenti, conviene controllare questa struttura attraverso un programma che si occupa di risistemare le cose.

Tutte queste operazioni vengono svolte facendo riferimento ai file di dispositivo relativi. Di conseguenza, possono essere compiute solo dagli utenti che hanno i permessi di accesso necessari al tipo di operazione da compiere.

160.2.1   Utilizzo di «disktype»

Il programma disktype (10) permette di individuare facilmente le caratteristiche di un disco, comprese le partizioni presenti ed eventualmente il tipo di file system contenuto. Si utilizza senza opzioni:

disktype file...

I file da indicare come argomento di disktype possono essere file di dispositivo, oppure file-immagine di un qualche disco. Vengono mostrati alcuni esempi molto semplici, che dovrebbero rendere l'idea delle informazioni che si possono ottenere con questo programma:

disktype /dev/hdb[Invio]

--- /dev/hdb
Block device, size 76.34 GiB (81964302336 bytes)
GRUB boot code, compat version 3.2, boot drive 0xff
DOS partition map
Partition 1: 8.066 GiB (8661187584 bytes, 16916382 sectors from 63)
  Type 0x82 (Linux swap / Solaris)
  Linux swap, version 2, subversion 1, 4 KiB pages, little-endian
    Swap size 8.066 GiB (8661176320 bytes, 2114545 pages of 4 KiB)
Partition 2: 13.04 GiB (13999426560 bytes, 27342630 sectors from 16916445)
  Type 0x83 (Linux)
  Ext3 file system
    UUID 6137A3BD-D45C-46ED-ACF2-668046292FEC (DCE, v4)
    Volume size 13.04 GiB (13999423488 bytes, 3417828 blocks of 4 KiB)
Partition 3: 21.10 GiB (22652421120 bytes, 44243010 sectors from 44259075)
  Type 0x83 (Linux)
  Ext3 file system
    UUID 316F72A3-3501-4260-A438-8873608E4CC4 (DCE, v4)
    Volume size 21.10 GiB (22652420096 bytes, 5530376 blocks of 4 KiB)
Partition 4: 34.13 GiB (36643622400 bytes, 71569575 sectors from 88502085)
  Type 0x83 (Linux)
  Ext3 file system
    UUID CFDEA76D-72E4-4775-81C8-2860FBAB2037 (DCE, v4)
    Volume size 34.13 GiB (36641439744 bytes, 8945664 blocks of 4 KiB)

disktype /dev/sr0[Invio]

--- /dev/sr0
Block device, size 158.2 MiB (165918720 bytes)
CD-ROM, 1 track, CDDB disk ID 02043801
Track 1: Data track, 158.2 MiB (165918720 bytes)
  ISO9660 file system
    Volume name "nanoLinux II"
    Application "nanoLinux II"
    Data size 158.2 MiB (165918720 bytes, 81015 blocks of 2 KiB)
    El Torito boot record, catalog at 79733
      Bootable non-emulated image, starts at 79736, preloads 2 KiB

160.2.2   Utilizzo di «e2fsck», «fsck.ext2» e «fsck.ext3»

Il programma e2fsck (11) permette di eseguire un controllo in un file system di tipo Ext2 e Ext3, applicando le correzioni ritenute necessarie. In generale, è opportuno che il file system da controllare non sia innestato, o almeno, se è innestato, è necessario che sia accessibile in sola lettura.

e2fsck [opzioni] dispositivo
fsck.ext2 [opzioni] dispositivo
fsck.ext3 [opzioni] dispositivo

Vedere e2fsck(8).

Tabella 160.12. Alcune opzioni.

Opzione Descrizione
-c
Avvia a sua volta il programma badblocks in modo da ricercare e segnare eventuali blocchi difettosi.
La lettera «c» sta per check.
-f
Forza il controllo anche se il file system sembra in ordine (un file system che sembra non contenere errori viene definito «pulito»: clean).
La lettera «f» sta per force.
-F
Prima di procedere, fa in modo di scaricare la memoria cache del file system su cui si vuole intervenire.
La lettera «F» sta per flush.
-n
Esegue il controllo in sola lettura, rispondendo automaticamente n (no), a tutte le domande che potrebbero essere fatte.
-p
Ripara automaticamente il file system senza fare alcuna domanda.
La lettera «p» sta per preen.
-y
Risponde automaticamente y (yes), a tutte le domande che potrebbero essere fatte, in modo da permetterne l'utilizzo non interattivo attraverso uno script.

Il valore restituito da e2fsck è il risultato della somma delle condizioni seguenti:

160.2.3   Utilizzo di «dosfsck» e «fsck.msdos»

Il programma dosfsck (12) permette di eseguire il controllo di un file system di tipo Dos-FAT e di applicare le correzioni ritenute necessarie. In generale, è opportuno che il file system da controllare non sia innestato.(13)

dosfsck [opzioni] dispositivo
fsck.msdos [opzioni] dispositivo

Per conoscere maggiori dettagli conviene consultare dosfsck(8).

Tabella 160.13. Alcune opzioni.

Opzione Descrizione
-a
Esegue automaticamente la riparazione del file system. Se esiste più di una possibilità per eseguire una correzione, viene scelta la meno distruttiva.
La lettera «a» sta per automatic.
-r
Esegue la riparazione del file system in modo interattivo, richiedendo all'utente la scelta sul tipo di correzione da attuare quando esiste più di una scelta.
La lettera «r» sta per repair.
-t
Marca i cluster illeggibili come difettosi.
La lettera «t» sta per tag.

Il valore restituito da dosfsck viene descritto nell'elenco seguente.

160.2.4   Utilizzo di «fsck»

Il programma fsck rende uniforme l'utilizzo dei programmi specifici per il controllo e la correzione dei vari tipi di file system. Si tratta di un programma frontale.

fsck  [opzioni] [-t tipo_di_fs] [opzioni_specifiche] dispositivo...

L'opzione -t serve per specificare il tipo di file system da analizzare, in questo modo fsck sa a quale programma deve rivolgersi. Le opzioni specifiche dipendono dal tipo di file system, ovvero dal programma che si prende cura effettivamente dell'operazione.

Vedere fsck(8).

160.3   Gestione di file system NTFS

Allo stato attuale, la gestione di un file system NTFS attraverso un sistema GNU/Linux è ancora incompleta. Pertanto, si usano strumenti particolari per accedere a questo tipo di file system. Data la diffusione del file system NTFS e, di conseguenza, la necessità frequente di convivere con questo, vale la pena di conoscere cosa si può fare concretamente attraverso un sistema GNU/Linux.

Il pacchetto di programmi NTFSprogs,(14) raccoglie una serie di strumenti per l'accesso ai file system NTFS (senza che questo sia stato innestato). L'utilizzo di alcuni di questi programmi viene descritto brevemente nella tabella 160.14.

Tabella 160.14. Strumenti di NTFSprogs.

Modello sintattico Descrizione
mkntfs [opzioni] dispositivo [n_settori]
mkfs.ntfs [opzioni] dispositivo [n_settori]
Crea un file system NTFS nel disco o nella partizione corrispondente al file di dispositivo specificato.
ntfsresize [opzioni] --info dispositivo
ntfsresize [opzioni] --size dimensione dispositivo
Verifica o modifica la dimensione della partizione; il valore della dimensione è espresso in byte.

160.4   Compatibilità dei nomi tra un file system e l'altro

Un problema comune quando si vogliono copiare dati in un file system diverso da quello solito, consiste nel verificare se ci possono essere problemi con i nomi usati per i file e le directory. Un programma molto semplice permette di verificare la compatibilità dei nomi con un file system di tipo Dos-FAT (con nomi «8.3») e SYSV (al massimo di 14 caratteri):

doschk nome_file...
echo nome_file... | doschk

Per comprendere il funzionamento di doschk (15) è sufficiente un esempio:

ls | doschk[Invio]

The following files are not valid DOS file names:
home.html.bak - too many dots
hw-mb-pci-msi-ms5169-1998-legenda.pnm.gz - too many dots
prova.fig.bak - too many dots

The following resolve to the same DOS file names:
HOME.HTM       : home.html
                 home.html.bak
MAIL           : Mail
                 mail
PROVA.FIG      : prova.fig
                 prova.fig.bak

The following file names are too long for SysV:
blick-electric : blick-electric.gif
contratti-inte : contratti-internet
hw-mb-pci-msi- : hw-mb-pci-msi-ms5169-1998-legenda.pnm.gz

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) util-linux: fdformat   GNU GPL

2) Linux floppy utilities   GNU GPL

3) E2fsprogs   GNU GPL

4) util-linux: fdisk   GNU GPL

5) util-linux: cfdisk   GNU GPL

6) util-linux: sfdisk   GNU GPL

7) E2fsprogs   GNU GPL

8) Mkdosfs   GNU GPL

9) util-linux: mkfs   GNU GPL

10) Disktype   software libero con licenza speciale

11) E2fsprogs   GNU GPL

12) Dosfsck   GNU GPL

13) dosfsck non è un programma che viene installato in modo predefinito dalle distribuzioni, per cui, nella maggior parte dei casi occorre provvedere direttamente per questo.

14) NTFSprogs   GNU GPL

15) Doschk   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome memoria_di_massa_preparazione_e_controllo.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!