FileSystem -
El Sistema de Fixters-
Bases
teòriques
Quan
estem usant 'Microsoft Windows' o 'Linux', hem d'haver formatat
una partició abans de poder-hi guardar qualsevol informació
en ella, és a dir, que aquesta acció de formatat ha proporcionat
al disc la possibilitat d'albergar-hi informació estructurada.
Quan
formatem estem escrivint una informació especial per a aquelles
particions on vulguem guardar qualsevol tipus de dades. En Linux
aquesta
informació és anomenada filesystem.
El
filesystem organitza l'espai
disponible permetent la creació de directoris i l'assignació
de noms als diferents arxius per tal de poder emmagatzemar tota la
informació
de manera ordenada i jerarquitzada.
Cada
CD-ROM i disquet ha
de tenir un filesystem. El filesystem del CD-ROM s'escriu quan aquest
és
creat; el filesystem d'un disquet es reescriu cada vegada que l'haguem
de formatar.
El
Microsoft W95/98 et permet
formatar una partició amb dues possibilitats: FAT (16) o FAT32.
Linux, en canvi, suporta un ampli ventall de tipus de filesystem. Així,
per exemple, tenim el tipus ext2 que és usat per les
particions
natives de Linux (per tant el més important), el tipus msdos usat
per les particions FAT (i disquets), el filesystem iso9660 que
és
usat pels CD-ROM.
Linux
també pot proveir
del tipus de filesystem vfat que usen les particions FAT32 de
Microsoft
W9x. Linux també està preparat per suportar filesystems de
Windows NT (NTFS) encara que el suport d'escriptura en aquest
tipus
de partició no és tant estable.
Tot i
que és tema
d'un altre capítol d'aquest mòdul, un exemple que clarifica
els suports de Linux a aquest ventall de filesystem, és el de poder
llegir fitxers de tipus MS-DOS d'un disquet muntant la unitat de floppy
disk especificant-li simplement de quin tipus es tracta, és a dir,
si el disquet ha estat formatat sota MS-DOS indicant al 'mount' el
tipus
( -t msdos ) ja podrem llegir tots els fitxers que conté aquell
disquet.
A
continuació us mostrem
els filesystem més comuns :
Filesystem |
Descripció |
coherent |
Filesystem
compatible amb
l'usat per 'UNIX Coherent' |
ext |
Antecessor
del ext2. És
suportat per compatibilitat |
ext2 |
El
filesystem estàndard
de Linux |
hpfs |
Filesystem
compatible amb
l'usat per l'OS/2 d'IBM |
iso9660 |
Filesystem
estàndard usat
pels CD-ROM |
minix |
Antic
filesystem de Linux,
usat encara ocasionalment en disquets |
msdos |
Filesystem
compatible amb
filesystem FAT de Microsoft, usat per MS-DOS i Windows |
nfs |
Filesystem
compatible amb
el File System Network de SUN |
ntfs |
Filesystem
compatible amb
el que fa servir Microsoft Windows NT (NTFS) |
sysv |
Filesystem
compatible amb
l'usat per AT&T en el seu UNIX System V |
vfat |
Filesystem
compatible amb
el filesystem FAT32 de Microsoft usat per Windows9x |
xenix |
Filesystem
compatible amb
l'usat per Xenix |
Podem
resumir que tota l'estructura
de fitxers i directoris està sota filesystem i que aquest es pot
definir com una estructura que inclou un directori arrel (/) i un
conjunt
de directoris i fitxers que resideixen sota ell.
Dins
d'aquesta informació
de filesystem hi trobem quatre parts fonamentals:
- Bloc
d'Arrencada: conté
un petit programa que s'encarrega de cercar el Sistema Operatiu i
carregar-lo
en memòria
- Super-Bloc:
descriu l'estat
del Filesystem aportant informació a nivell de
- Nom
del Filesystem
- Grandària
en blocs d'aquest
- Quantitat
de blocs per a I-Nodes
- Llista
de I-Nodes lliures
- Taula
de I-Nodes: serà
la definició de tots i cadascun dels directoris i fitxers del File
System. Hi ha un I-Node per a cada un dels fitxers i directoris, que en
cas d'estar assignats tindran una descripció dels permisos, grandària...
- Blocs
de Dades: configura
tots i cadascuna de les dades dels fitxers i directoris
El
Super-Bloc i la Taula de
I-Nodes estan permanentment en memòria, per tant si apaguem l'ordinador
de manera incorrecte, la Taula de I-Nodes pot ser que no estigui
gravada
al disc dur i podríem perdre la informació d'aquesta.
Hi ha
'dimonis' que s'encarreguen
de gravar la informació de la Taula en disc.
La
comanda sync s'encarrega
de fer la còpia al disc i shutdown (que és un script)
la inclou en el procés d'apagada del sistema.
L'arbre
de directoris
Els
directoris d'un sistema
Linux està organitzat jeràrquicament. A diferència de l'MS-DOS
que ens dóna unes jerarquies separades per a cada partició,
Linux estructura una única jerarquia que inclou cada una de les
particions del sistema. Una altra diferència visible és que
Linux al capdamunt trobem el directori arrel (del qual penja tot el
sistema)
expressat amb una barra ( / ) a diferència de la contrabarra
( \ ) que fa servir MS-DOS per designar el seu directori arrel.
Quan
s'entra a treballar
en Linux (login) ens situem automàticament en un directori que anomenem
home
directory. Existeix un per a cada usuari vàlid (donat
d'alta) del sistema i és on crea els seus arxius personals separats
dels arxius personals d'altres usuaris.
Un
altre concepte a conèixer
és el de directori de treball (current working directory-
CWD) que és on es treballa correntment. Quan entres a treballar
en Linux el teu 'home directory' coincideix amb el directori de
treball.
De totes maneres amb el comandament cd que veurem més endavant
pots canviar a voluntat el teu directori de treball.
A
continuació detallem
l'esquema de l'arbre de directoris de Linux:
Per
detallar una mica el
que alberguen o poden albergar aquests directoris us en fem cinc
cèntims perquè us situeu sota un punt de vista coherent a l'hora
de treballar o buscar certa informació.
/ :
directori arrel
bin :
programes comuns
binaris (executables)
dev :
arxius de dispositiu
etc
: arxius de configuració
home
: directoris
'home' dels diferents usuaris
lib :
llibreries
compartides
lost+found
: arxius
danyats per diferents accions poden ser recuperats aquí
misc
: arxius miscel·lanis
mnt
: punt de muntatge
de filesystems
proc
: directoris
i arxius que informen de l'estatus del sistema
root
: 'directori
home' de l'usuari root (administrador)
sbin :
programes
d'administració del sistema
tmp
: arxius temporals
var
: arxius de 'log',
de cues i altres arxius dinàmics
I
dins de usr :
X11
: enllaços
X11R6
: gràfic
X
bin
: programes comuns
doc
: documentació
etc :
arxius de configuració
games
: jocs
include
: arxius
de C
info
: documentació
'online'
lib
: llibreries
compartides
local
: altres aplicacions
man
: pàgines
de manual
sbin
: programes
d'administració del sistema
share
: informació
compartida
src
: codi origen
A
trets generals és
important conèixer la possibilitat de mobilitat dins de l'arbre
de directoris amb el que anomenem camins absoluts i camins
relatius.
Per
incidir en aquest aspecte
imaginem un reduït hipotètic arbre de fitxers com aquest:
Si us
fixeu a l'esquema
anterior existeixen dos directoris 'D70' com a subdirectoris de
'mcguri'
i de 'jbort'.
La
definició del camí
(pathname) es pot fer per dues vies:
- per
camí absolut: és la traça d'arribada a un
directori concret partint del
directori arrel (/).
En el
nostre cas si volguéssim
arribar per camí absolut al directori D70 de mcguri hauriem de partir
del directori arrel indicant les entrades a directoris d'estadis
inferiors
separant per la barra (/). Per exemple: cd /home/mcguri/D70
- per
camí relatiu: és eficaç quan un directori es troba molt allunyat
del
directori arrel per un llarg camí de subdirectoris.
En
aquest cas el punt de
partida serà el directori de treball en el qual ens trobem. Si en
aquell moment ens trobéssim a /home i volguéssim anar al directori D70
de jbort només ens caldria fer cd jbort/D70 (fixeu-vos que
no hem posat /jbort ja que aniria a buscar-lo sota l'arrel i com podeu
veure en l'esquema anterior no penja directament d'allà).
En
un altre aspecte si el
que volem és passar d'un directori a un altre de nivells
propers, hem de tenir clars dos noms 'especials' de directori:
- El
signe de punt ( . ) que com
a nom és equivalent al directori de treball actual, i
- Els
dos punts ( .. ) que fan
pujar un nivell a l'arbre de directoris a partir del qual estigui
treballant
en aquell moment
És a
dir, si el
que volem és passar de jbort (directori actual de treball)
al D70 d'mcguri ho podem fer de la següent manera:
cd
../mcguri/D70
Del
D70 de jbort al D70 de
mcguri així:
cd
../../mcguri/D70
Per
acabar el capítol
del Sistema de Fitxers us exposem alguns fitxers importants de Linux
sense
afegir-hi cap aplicació extra (com poden ser l'Squid o el Webmin
que més endavant en els mòduls corresponents ja analitzarem
en base als seus fitxers de configuració).
Arxius |
Descripció |
/boot/module-info |
Informació
dels mòduls
per al kernel de Linux |
/boot/System.map |
Mapa
del kernel Linux |
/boot/vmlinuz |
És
el propi kernel
de Linux |
/etc/X11/XF86Config |
Arxiu
de configuració
de l'entorn gràfic ( X ) |
/etc/at.allow |
Usuaris
permesos d'usar
la comanda 'at' |
/etc/at.deny |
Usuaris
denegats per a usar
la comanda 'at' |
/etc/auto.misc |
Arxiu
del mapa d'automuntatgte |
/etc/bashrc |
Conté
diverses funcions
del shell 'bash' |
/etc/conf.modules |
Opcions
de càrrega
de mòduls del kernel |
/etc/fstab |
Filesystems
muntats i disponibles
per muntar |
/etc/group |
Informació
diversa
dels grups |
/etc/hosts |
Mapa
de les IP amb els noms
de màquina com a àlies |
/etc/hosts.allow |
Màquines
que se les
permet l'accés als serveis d'Internet |
/etc/hosts.deny |
Màquines
que se les
prohibeix l'accés als serveis d'Internet |
/etc/httpd/access.conf |
Arxiu
de configuració
del servidor web en quant a accessos |
/etc/httpd/httpd.conf |
Opcions
de configuració
del dimoni de web |
/etc/httpd/srm.conf |
Organització
i format
de documents del servidor web |
/etc/inetd.conf |
Configuració
dels
controls d'accés a Internet i serveis de comunicació com
ftp, telnet, ssh, rlogin.... |
/etc/inittab |
Configurat
pel dimoni init
amb control d'execució de processos |
/etc/issue |
Informació
de la
versió i distribució del kernel Linux |
/etc/lilo.conf |
Arxiu
de configuració
del LInux LOader |
/etc/mtab |
Filesystems
muntats |
/etc/passwd |
Informació
diversa
dels diferents usuaris |
/etc/profile |
Entorn
per defecte per als
usuaris del shell BASH |
/etc/rc.d |
Directori
on es troben els
arxius-scripts de sistema i d'arrencada i parada dels diferents
processos |
/etc/shadow |
Informació
de seguretat
dels diferents usuaris |
/etc/smb.conf |
Configuració
del
dimoni de Samba (connectivitat entre màquines UNIX-Windows) |
/etc/smbpasswd |
Informació
sobre
els usuaris de Samba |
/etc/smbusers |
Mapejat
dels usuaris de
Samba |
/var/log/cron |
Log
de l'activitat del cron
(planificador de tasques) |
/var/log/httpd/access_log |
Log
dels accessos del web-server |
/var/log/httpd/error_log |
Llistat
d'errors del web-server |
/var/log/messages |
Log
general del Sistema |
|