Newsgroup: it.comp.os.linux.iniziare
Titolo: Fsck automatico per gli USB

Ho un hd esterno USB con 4 partizioni tutte con ext2, in fstab le
ho messe cosi':
LABEL=esterno_1  /mnt/u1  ext2  nodev,nosuid,noexec,noauto  0 2
LABEL=esterno_2  /mnt/u2  ext2  nodev,nosuid,noexec,noauto  0 2
LABEL=esterno_3  /mnt/u3  ext2  nodev,nosuid,noexec,noauto  0 2
LABEL=esterno_4  /mnt/u4  ext2  nodev,nosuid,noexec,noauto  0 2
 
pero' mi tocca dare a mano "e2fsck -vp /dev/sdd1" ogni tanto e prima
che me lo dica mount, altrimenti ci mette moltissimo a ceccarlo.
C'e' modo di farlo fare in automatica, come quando in fstab non c'e'
la direttiva "noauto"?
 
-- 
bye, Yoda
 


Il campo 6 di fstab serve solo al boot.
 
Puoi provare con uno script periodico che esegua:
 
#  fsck -M -R -A -a
 
Il comando fa il check su tutti i filesystem non montati ( -M ) escluso 
il root fs ( -R ) presenti nella fstab ( -A ) e se sono dischi diversi 
tenta di esegurli in parallelo.  Se vi sono errori tenta il di 
correggerli automaticamente ( -a ).
 
Il man di fsck suggerisce di aggiungere l'opzione 'nofail' alle opzioni 
di mount se il disco può anche non esistere.
 
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >

 di mount se il disco può anche non esistere.
 
Grazie delle info, mi son fatto lo script (ci ho messo un contatore).
 
Ho anche dato la riga di comando tua, e' comodissima perche' li fa senza
bisogno di darne 4, ho aggiunto il -v ma non capisco una cosa: quando lo
fa all'avvio, fa queste due cose ben diverse
1. ci mette molto e molto di piu', anziche' essere istantaneo;
2. mostra (ma non per tutti i dischi) la barra progressiva.
 
Allora l'ho ridato aggiungendo "-C 0", ma e' come se non ce l'avessi
messo. Boh! ne sai qualcosa? m'interessava molto la percentuale dei
non-contiguous ciao
 
-- 
Yoda
 

 non-contiguous ciao
 
Visto che il parametro -C dovrebbe gestire la progress-bar fra le varie 
istanze di fsck non è il caso di usare lo stdin (descrittore 0).  Prova 
con -C 1 (stdout) o -C 2 (stderr).  Il man di e2fsck dà una descrizione 
diversa di -C ma se usi il comando che ti ho suggerito -C 0 dovrebbe 
essere consumato da fsck e non passato a e2fsck.
 
Se vuoi messaggi completi devi forzare l'fsck completo usando -f ma non 
so quale sia il risultato se conduce i check in parallelo su più dischi. 
Forse occorre aggiungere anche -s per serializzarli.


 la direttiva "noauto"?
 
In udev, puoi scrivere una regola che non appena viene intercettata la
label che ti interessa fai partire un fsck
 
Enrico

 Forse occorre aggiungere anche -s per serializzarli.
 
No figurati! ci sta moltissimo, me l'ha fatto una volta che ho
scollegato l'usb senza smontare.
Comunque col contatore che ho messo va benissimo, a 27 volte mi blocca
il mount, l'unica cosa che mi secca e' che non ho i contiguous ciao
 
-- 
Yoda
 

 label che ti interessa fai partire un fsck
 
Lo conosco pochissimo udev e avrei timore di sbagliare, ho messo un
contatore come m'ha suggerito Giovanni e per il check non ho piu'
problemi. Mi resta inspiegabile invece il perche', dato a mano, e'
letteralmente istantaneo.. voglio dire: secondo me non cecca proprio
niente, scrive solo qualcosa per permettere il mount.
Inoltre non mi da' i non-contiguous, ai quali ci tengo molto ciao
 
-- 
Yoda