El sistema d’arxius

Una de les coses que em va tornar més boig al començar en el món del Linux va ser l’estructura del sistema d’arxius. Estava acostumat al sistema que havía vist desde petit: el MS-DOS, i posteriorment el Windows. Per mi era tot molt llògic i coherent, que cada unitat tingués una lletra, la a representava la disquetera, la c el disc dur principal, on tenies el sistema… Ademés estava acostumat a que al ficar un disquet, o un cd, ja es pogués accedir a ell.

Amb Linux tot això va canviar. Era una cosa totalment nova, no sabia on era la disquetera, el lector de cdrom, la unitat c… No hi havia unitats, tot eren carpetes, i el seu inici estava a /. És una de les primeres coses en la que es fixa la gent, i una de les que fa més ràbia. Jo em tornava boig, quan anava a instalar programes no sabia on era la carpeta del programa (evidentment, instalar programes va ser una autèntica utopia fins que vaig comprendre de què anava… però això és una altra història i haurà de ser explicada en una altra ocasió :). Per exemple, volia instalar el mplayer: on era la seva carpeta?

A els sistemes com Windows, cada programa te la seva carpeta, on desa els seus arxius, la seva documentació, les seves llibreries… Als Unix, tots els arxius tenen el seu lloc: els documents van a /usr/share/doc, els manuals a /usr/share/man, els binaris a /usr/bin… Tots estan mesclats, sembla un embolic al principi, però un cop t’acostumes en veus les ventatges.

Una de les altres coses que torna boig al principi és la forma com els Unix tracten els dispositius del sistema (gravadora, disc dur, camara digital, pantalla…): cada dispositiu te un arxiu, un punt d’accés al sistema d’arxius, que està a /dev. La gravadora ide serà (per exemple) /dev/hdc, la conexió a internet es realitza a través de /dev/ppp, el ratolí és /dev/psaux, o /dev/mouse…

Una de les coses més importants és que per accedir a un medi d’emmagatzematge (partició del disc, disquet, camara digital…) abans l’has de “muntar”, o sigui, fer que el sistema d’arxius sàpiga que ho tens alli. Pots montar-ho en la carpeta que vulguis, però els estàndards ens diuen que cada cosa te el seu lloc.

Posem per cas que tens 4 particions al disc dur. A l’instalar Linux decideixes que una d’elles serà la partició arrel /, que l’altra farà de partició d’arranc (/boot), on hi han els arxius responsables de la càrrega del sistema, que a l’altra hi tindràs els directoris home (com els Mis Documentos dels Windows) i en l’altra un espai d’emmagatzematge de les coses que et baixes. Al iniciar-se el sistema, aquest llegeix l’arxiu /etc/fstab per saber on montar cada partició.

Bàsicament, el sistema consisteix en això:

       / -- El directori root
       /bin       Binaris de comandes esencials pel sistema
       /boot      Arxius estatics del gestor d'arranc (per ex, grub o lilo)
       /dev       Arxius dels dispositius (monitor, ratolí, targeta de so...)
       /etc       Arxius de configuració del sistema
       /lib       Llibreries esencials pel sistema i mòduls (drivers)
       /mnt       Punt de muntatge, per montar un dispositiu temporalment
       /opt       Programes opcionals
       /sbin      Binaris esencials d'us exclusiu de l'administrador
       /tmp       Arxius temporals
       /usr       Gerarquia secundaria (no essencial per el sistema)
       /var       Dades variables

/usr és la segona gerarquia, dintre del /usr hi tenim un altre directori bin, lib… Aqui es posen els programes que no son esencials per l’inici i administració de la màquina, de manera que si el /usr el tens en una partició, no fa falta que estigui montada per administrar-lo (que no és esencial). A /bin tenim binaris esencials, però que també poden fer servir els usuaris normals, en canvi a /sbin hi han comandes esencials que no poden fer servir els usuaris normals.

La idea és que només amb la gerarquia de primer nivell es pugui arrancar la màquina i executar tasques de manteniment, i que a la segona gerarquia (/usr) hi hagin la resta de programes i llibreries.

Dintre de /usr hi ha una tercera gerarquia, /usr/local, que és on s’instalen els programes que compiles tu mateix, que et baixes d’internet i que no venen amb la distribució que fas servir, de manera que la distribució sempre te els arxius que ha de tenir, i al local instal·les lo que et vingui de gust, sense por de carregar-te res, ja que es pot eliminar.

Gracies als punts de muntatge, per exemple, podem tindre diversos ordinadors conectats en xarxa, i tenir muntat el /usr/local, el /tmp, o qualsevol altre a través d’un sistema de xarxa (nfs, smb, … ) i el sistema d’arxius ni es dona compte.

Això no és més que una petita introducció, per anar fent boca i orientar una mica. Per aquells que vulguin aprofundir i comprendre completament el sistema d’arxius, que és una de les bases per moure’s amb comoditat en un sistema unix, pot mirar les següents direccions: versió 2.2 de l’estàndard, en anglès, i versió 1.2 (una mica antiga) de l’estàndard, en castellà.

Apa!

Autor: mengor

This entry was posted in Linux. Bookmark the permalink.

2 Responses to El sistema d’arxius

  1. utopic says:

    Bona introducció, si senyor.

    Un apunt, compartir el /usr/local per nfs, si has compilat per k7 i ho exportes a un P-II pots tenir problemes… millor compartir binaris precompilats, com els dels paquets de les distruibucions.

    En cuant a instal·lar programes, hi ha un artícle aqui mateix, “Formas de instalar un programa en Linux”, a la secció de “mes populars” aqui a la dreta.

    — Utopic

    In a world without walls,
    who needs gates and windows?

    http://www.gnu.org

  2. Anonymous says:

    Fa uns dies que estic probant el supermount, de moment va fantàstic, es posar el cd, anar al directori on es monta fer un ls i veure com es munta tot solet, donar-li al boto de treure el cd sense tenir ni de fer el umount ni el eject, ni tan sols cal sortir del directori del cd o del konqueror. Jo que sempre estic treient i posat dvds m’ha anat de conya i ni tan sols ha donat cap problema al moment de grabar cds o dvds.

Leave a Reply