PDA

Visualizza la versione completa : df -h non lo capisco


alkat
20-12-2004, 22:25
caio,
non capisco cosa significhi l'output di df -h:


# df -h
Filesystem Dimens. Usati Disp. Uso% Montato su
/dev/hda7 5,7G 2,8G 2,9G 50% /
tmpfs 92M 4,0K 92M 1% /dev/shm
/dev/hda5 7,9G 5,8G 2,2G 73% /mnt/hda5
/dev 5,7G 2,8G 2,9G 50% /.dev
none 5,0M 3,2M 1,9M 63% /dev

cosa sono /dev, tmpfs e none?

.a.

gianiaz
21-12-2004, 08:31
di preciso non so spiegartelo.
Però partendo dal presupposto che per linux tutto viene visto come fosse un file, potrei azzardare che il tmpfs è un file system temporaneo per il quale viene allocata una determinata quantità di memoria, che viene listata da "df" perchè per il sistema operativo tutto viene visto come un file su disco.

:fagiano:

alkat
21-12-2004, 09:38
ok, però i due che capisco meno sono /dev e none: mi sono comparsi per la prima volta su questa debian su reiserfs - su tutte le altre distro non li avevo mai visti. :confused:

Ikitt
21-12-2004, 10:03
Originariamente inviato da alkat
caio,
non capisco cosa significhi l'output di df -h:


# df -h
Filesystem Dimens. Usati Disp. Uso% Montato su
/dev/hda7 5,7G 2,8G 2,9G 50% /
tmpfs 92M 4,0K 92M 1% /dev/shm
/dev/hda5 7,9G 5,8G 2,2G 73% /mnt/hda5
/dev 5,7G 2,8G 2,9G 50% /.dev
none 5,0M 3,2M 1,9M 63% /dev

cosa sono /dev, tmpfs e none?


Dunque, vediamo:
tmpfs e` il filesystem temporaneo in ram che usa attualmente linux. In questo contesto, pero`, si dovrebbe piuttosto trattare della "pseudo-device" associata al punto di mount, utile quando si monta un filesystem nodev

Cerco di spiegarmi meglio (ovviamente potrei io stesso non aver capito alcune cose, correzioni gradite):
i filesystem sotto linux si possono dividere in due categorie: residenti su device o meno. Quelli non residenti su device hanno un "nodev" associato in /proc/filesystems e, sostanzialmente, non hanno un'immagine su device (appunto).
Per ricostruire la struttura del filesystem, cioe`, il kernel non deve leggere da uno specifico device come, per dire, hda7 in questo caso; ma, come nel caso ad es. di proc (che infatti e` marcato nodev), lo costruisce da strutture dati interne al kernel medesimo o altro.

Chiarita questa distinzione, si nota pero` che il comando mount funziona cosi`:


mount [-fnrsvw] [-t vfstype] [-o options] device dir

(e fstab ha lo stesso formato, ovviamente)
Ovvero montare un filesystem, occorre specificare la device di riferimento. E che si mette per un filesystem nodev?
Sostanzialmente... Quel che ci pare :)
La scelte piu` comuni sono, appunto 'none', o proc per procfs, o dev per devfs... Esempio:



# cat /proc/filesystems
[...]
nodev ramfs
[...]
# mount -t ramfs none /mnt/image/
# mount
[...]
none on /mnt/image type ramfs (rw)
[...]
# umount /mnt/image/
# mount -t ramfs ramtest /mnt/image/
# mount
[...]
ramtest on /mnt/image type ramfs (rw)
[...]


A che puo` servire tutto 'sto giochino? Per esempio se si sta montando due volte in posti diversi un filesystem nodev, per distinguerli anche in base al device e non solo al mount point.

Questo spiega, o dovrebbe spiegare, anche il "none" nella prima colonna per /dev: scommetto che usi udev :D
In questo caso il tipo effettivo del filesystem e` tmpfs, e anche questo e` classificato nodev.

Infine l'ultima cosa, il /dev in prima colonna: dovrebbe trattarsi di un binding (vedi man mount, opzione --bind), usato ancora da udev per i suoi fini. Sparpagliata da qualche parte tra la doc e la configurazione di udev dovrebbe esserne segnalato l'uso e, eventualmente, come rimuoverlo.

HTH

PS: reiserfs non credo c'entri molto in tutto questo :stordita:

alkat
21-12-2004, 10:46
grazie, mi sa che me lo devo rileggere per capirci qualcosa, ma è colpa della mia buia ignoranza...

:ciauz:

chaosd
21-12-2004, 13:56
man df

Ilmalcom
21-12-2004, 14:40
Originariamente inviato da chaosd
man df
Puoi essere così gentile da spiegare a cosa serve quella man page in questo caso? :stordita: :stordita:

alkat
21-12-2004, 14:45
Originariamente inviato da Ilmalcom
Puoi essere così gentile da spiegare a cosa serve quella man page in questo caso? :stordita: :stordita:

volevo rispondere più o meno allo stesso modo, ma già che l'hai fatto tu...

.a.

Mutato
21-12-2004, 17:24
Beh... l'altro giorno hai installato resolvconf.

fai ls -l /dev/shm

:D

Ikitt
21-12-2004, 17:26
Originariamente inviato da Mutato
Beh... l'altro giorno hai installato resolvconf.
fai ls -l /dev/shm

Lui forse, io no di sicuro e ho le stesse voci in mount :confused:

Loading