PDA

View Full Version : Deframmentazione e info su fstab


Mighty83
09-01-2007, 07:01
Prendendo spunto da un thread che ho letto ieri sera volevo far una domanda...

Dunque si sa che il file system di linux riesce a gestire meglio il problema della frammentazione rispetto all'NTFS o, peggio ancora, alla FAT (16/32). E' anche vero però che non esiste niente di perfetto e quindi penso che il problema della frammentazione esista anche per i file system di Linux. Ora volevo sapere se esiste un programma che controlli l'hd e il suo livello di frammentazione, un po' come facevo 6 mesi fa quando lanciavo diskeeper :D Al momento ho due partizioni: la root in ext3 e la zona dati in reiserFS.... :fagiano:

Veniamo ora all'info su fstab :fagiano:
Nel file /etc/fstab ho questa riga:

/dev/hda2 /media/hda2 reiserfs rw,auto,user,sync,noatime,notail 0 1

avevo letto in giro che sostituendo l'ultimo 1 con 0 si avevano tempi di boot ridotti, però nessuno mi aveva spiegato cosa fosse quell'"1" :stordita: ... Quindi prima di creare casini o peggio di aver una partizione corrotta chiedo a voi :p

Grazie ;)

Mighty83
09-01-2007, 07:04
Una piccola aggiunta sempre riguardante fstab... Per il montaggio della penna usb su sda1 ho

/dev/sda1 /media/sda1 vfat defaults,utf8,umask=007,gid=46 0 1

Se aggiungo "user" dopo default mi viene montata senza che debba esser root? :fagiano:

Mighty83
17-01-2007, 07:49
Nessuno che mi sa dire niente? :stordita:

PiloZ
17-01-2007, 11:07
trovi entrambe le risposte sul man di fstab e di mount :(
Il sesto campo, (fs_passno), è usato dal programma fsck(8) per determinare l’ordine nel quale deve essere fatta la verifica dei
file system in fase di reboot. Il root file system dovrebbe essere specificato con un fs_passno pari a 1, gli altri file system
dovrebbero avere un fs_passno pari a 2. File system nello stesso disco saranno verificati in sequenza, ma file system su diversi
dischi saranno verificati assieme per sfruttare il parallelismo disponibile nell’hardware. Se il sesto campo non è presente o
zero, sarà restituito zero e fsck supporrà che il file system non ha bisogno di alcuna verifica.
l'ultima cifra "1" ( pass ) serve per definire un ordine di check delle diverse partizioni.

/dev/hda2 /media/hda2 reiserfs rw,auto,user,sync,noatime,notail 0 1

ora vediamo se te lo spiego a parole mie cosa cambia:
nel tuo caso la partizione "/dev/hda2" con pass a "1" avrà una priorità maggiore rispetto a quelle aventi pass == 2.
di default se non vado errando l'autocheck delle partizioni all'avvio viene fatto ogni 21 montature o ogni 180 giorni (è possibile modificare tale direttive tramite tune2fs). Quando il sistema arriva a questa soglia e il sistema richiama fsck per un controllo del disco andrà ad escludere dall'analisi tutte le partizioni che hanno pass == 0, mentre tra quelle che hanno 1 o 2 darà priorità a quelle con 1, analizzate queste passerà a quelle con pass == 2.
Un uso inteligente è quello di impostare pass a 1 sulla root "/", impostare a 2 tutte le altre partizioni che usi ogni giorni ed per finire lasciare a 0 swap ed eventuali altre partizioni che non monti mai :)

credo che la mia spiegazione non sia servita a niente!
riguardo al montaggio della penna usb, leggiti 2 righe di man perchè la cosa è ancora più chiara rispetto al pass:
user Permette ad un utente normale di montare il file system. Questa opzione implica anche le opzioni noexec, nosuid, e
nodev (finché ciò non sia cambiato dal superuser usando, ad esempio, la seguente riga di opzioni:
user,exec,dev,suid).
ora prova a richiederti perchè forse nessuno ti rispondeva e magari capirai il motivo :p
Ciao ;)

PiloZ
17-01-2007, 14:44
Ciao Massimiliano :)
scusa per il mio "maestrino" di prima ma il mio intento era quello non di mettermi in mostra ma solo quello di spronare le persone che non leggono a fallo documentandosi :)
Esiste un programma in grado di controllare lo stato del disco (o di una sua partizione)?dopo aver smontato la/e partizione/i di cui bisogna fare il controllo è possibile effettuare un test d'integrità delle partizioni aventi in /etc/fstab pass impostato a 1 o 2 tramite il comando:
$ fsck -C -V -R -A -a /dev/hdX sostituendo ad X la lettera usata dal sistema per vedere il disco interessato.
qualora non conosci la lettera puoi scoprirla usando il comando:
$ dmesg|grep hd

se il disco è serial e non parallel ATA linux vede i dischi come scsi dunque al posto di hd dovrai usare sd

al normale avvio il controllo delle singole partizioni viene invece fatto con le seguenti opzioni:
$ fsck -a -C0 /dev/hdXY
sostituendo sempre ad X la lettera usata dal sistema per vedere il disco interessato e ad Y il numero della partizione.

La percentuale segnalata come "non-contiguous" nel messaggio che appare in output quando viene eseguito il check periodico al boot o quando usi manualmente fsck rappresenterà lo stato di frammentazione di un filesystem

Riguardo il quesito sulla frammentazione? (interessa anche me)...Per via del fatto che il filesystem di Linux tende a deframmentarsi da solo con il suo utilizzo, non c'è bisogno di una utility apposita e questo spiega il fatto che probabilmente non esiste software per la deframmentazione del disco.
Provando ad effettuare delle ricerche su google troverai solo argomentazioni sul perchè non necessita di deframmentazione e difficilmente sarà indicato un software che cerchi (con questo non ti sto dando la garanzia che non esista SW).
Personalmente non sono interessato neanche minimamente al defrag sotto linux in quanto la partizione che contiene la mia distribuzione è in piedi da 3 anni con una percentuale di spazio non contiguo inferiore al 5%, il mio intento è dunque quello di non proccuparti e di dimenticarti della deframmentazione sotto linux.

Ciao :flower:

Mighty83
17-01-2007, 22:22
ora vediamo se te lo spiego a parole mie cosa cambia:
[CUT]
credo che la mia spiegazione non sia servita a niente!


Invece è servita a farmi capire :stordita: Ammetto di non averci capito molto dal man :fagiano:

riguardo al montaggio della penna usb, leggiti 2 righe di man perchè la cosa è ancora più chiara rispetto al pass:
user Permette ad un utente normale di montare il file system. Questa opzione implica anche le opzioni noexec, nosuid, e
nodev (finché ciò non sia cambiato dal superuser usando, ad esempio, la seguente riga di opzioni:
user,exec,dev,suid).
ora prova a richiederti perchè forse nessuno ti rispondeva e magari capirai il motivo :p
Ciao ;)

In questo invece proprio non c'ho pensato di leggere il man :stordita:
Anche perchè avevo fatto una ricerca una volta su internet dove era spiegato il tutto ma non son più riuscito a trovare niente :mc:

Comunque grazie mille per tutto! Anche per il discorso deframmentazione :flower: