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 |
|