Gestió d'arxius - GNU/Linux vs. Windows
Una de les primeres dificultats amb les quals es troben els usuaris novençans de Linux (per la seva gran diferència amb els sistemes operatius Windows) és la navegació pel sistema d'arxius o fitxers en Linux. On està la Unitat C, el lector de CD-Rom D, la grabadora de DVD? On estan els programes, els meus arxius personals, les fonts del sistema?, No existeix EL MEU PC?
Un sistema operatiu inspirat en Unix
Linux és un sistema operatiu de codi obert que hereta i comparteix, en gran mesura, molts dels conceptes dels sistemes UNIX. Quan Linus Torvals es va proposar crear un sistema operatiu per cobrir les seves pròpies necessitats, va prendre com a base MINIX, que és una versió lliure i reduïda d'UNIX. Per tant, moltes de les convencions de disseny que hi ha darrere d'Unix també estan en Linux, i són fonamentals per entendre els aspectes bàsics del sistema.
El sistema operatiu Unix està orientat bàsicament a la interfície de línia d'ordres, i aquesta filosofia ha arribat fins a Linux. Per tant, la interfície gràfica d'usuari amb les seves finestres, icones i menús es crea sobre una interfície bàsica de línia d'ordres. Això significa que el sistema d'arxius de Linux està estructurat de manera que es pugui treballar amb ell de forma còmoda des de la línia d'ordres, des d'una consola o terminal, per exemple.
En els sistemes Windows cada dispositiu (incloent les particions) té assignada una lletra. D'aquesta manera la primera partició del disc dur és C:, la disquetera és A:, etc. Això fa que cada cop que vols accedir a un dispositiu diferent hagis de tornar a “El meu PC”, endevinar quina lletra ha posat el sistema al teu dispositiu (perquè ja t'has acostumat a això, però pensa… existeix alguna cosa menys descriptivo que una lletra?). En els últims anys assistim a un desenvolupament de dispositius que complica encara més aquesta circumstància: discos durs externs, memòries flash USB portàtils, etc. Si utilitzes varis d'aquests dispositius al mateix temps, l'embolic que tens en el teu equip amb totes les lletres que Windows els assigna és encara major. Si canvies d'equip, hauràs de tornar a comprovar quina lletra ha assignat el nou ordinador al teu dispositiu i així successivament.
En canvi, Linux utilitza una organització d'informació molt més adient i coherent. En GNU/Linux tot són fitxers, és a dir, qualsevol element present en el sistema és tractat com un fitxer, i quan escrivim tot és tot: des dels arxius de dades, fins a particions dels discos passant pel ratolí, el microprocessador, el disc dur, la memòria o la targeta de so, fins i tot els directoris també són arxius. Per GNU/Linux tot, inclòs el maquinari, són fitxers de text en els quals es pot llegir i/o escriure informació.
Una estructura jeràrquica de fitxers
Aquests fitxers estan organitzats en el que es coneix com un SISTEMA DE FITXERS en una única estructura jeràrquica.
Comprova-ho: Vés-te al menú d'Ubuntu Llocs i fes clic sobre l'entrada Equipo:

En la nova finestra que apareix en pantalla observa el panell lateral que mostra els diferents llocs del teu equip: just en la part superior d'aquest panell lateral localitzaràs un petit botó que et permetrà canviar entre la barra de botons i de text (el primer, et mostra botons per indicar-te el directori concret que tens seleccionat; el segon, la ruta de text -similar a sistemes windows).

Fes clic en Sistema d'arxius del panell lateral i prem sobre aquest botó per canviar a la manera de text de la ruta d'arxius. Ara Nautilus et mostra l'arbre complet de directoris. En la barra de títol de la finestra veuràs el símbol / indicant que estàs en l'arrel de l'arbre.
En GNU/Linux aquesta és l'única arrel, de la qual penja tot. A partir d'ella, l'estructura es va descomponent en subdirectoris (un directori o subdirectori és equivalent al que en sistemes Windows es diu carpeta, perquè ho entenguis).

No existeixen, per tant, lletres d'unitat per a diferents dispositius com ocorre en sistemes Windows, tot (disquet, memòria USB, CD-Rom, etc.) penja d'aquí, d'aquesta única arrel.
Per exemple /home/maria/imatges/clic30_logo.png
mostra la ruta completa del fitxer d'imatge clic30_logo.png, que es troba en el directori imatges, que està en el subdirectori maria del directori home, que al seu torn està en el directori arrel.
Aquesta estructura de directoris no difereix massa del que ja coneixes en Windows. Per exemple C:Els meus DocumentsLes meves imatgesfoto.jpg indica la ruta del fitxer foto.jpg que es troba en la carpeta Les meves imatges que es localitza dins dels meus Documents que aquesta en l'arrel de la unitat C. Si a això li afegeixes que Windows XP és un sistema multiusuario i que per localitzar la carpeta de cada usuari, has d'acudir al MEU PC - C - Documents and Settings - carpeta personal del teu usuari - Els meus Documents… per ventura no et sembla ara que Linux és encara més senzill d'entendre?
En GNU/Linux no trobaràs Unitats de disc
En Linux no existeix la unitat C, D o I:. Els discos es nomenen de diferent manera a com es realitza en Windows. S'utilitza una terminologia molt més lògica. Per exemple: Els discos durs comencen amb la lletra hd (sd si el nostre disc és SATA) seguit d'una lletra i un numero. La lletra indica el nombre del disc dur i el dígit ens indica el nombre de la partició. Així tenim hda1 = primera partició del primer disc dur o hdb3 = tercera partició del segon disc dur.
Per exemple:
- El primer disc dur és /dev/hda
- El segon disc dur és /dev/hdb
- Si el disc té diverses particions: les particions del primer disc dur (/dev/hda) seran /dev/hda1, /dev/hda2…
Aquestes últimes són equivalents al que en Windows es diu C:, D:…
GNU/Linux utilitza un diferent separador de directoris
Ja t'hem indicat una altra diferència subtil però important a l'hora d'establir la ruta d'un determinat arxiu: el separador de directoris. En els sistemes Windows s'utilitza la barra invertida (backslash) per separar directoris, mentre que en Linux s'utilitza la barra simple / (slash). Per exemple, una adreça de Windows podria ser
C:windowssystem
Mentre que una de Linux seria alguna cosa de l'estil de
/usr/bin
No és que Linux vagi contra l'estàndard, sinó que utilitza el mateix separador d'Unix, que es porta usant des de molts anys abans que aparegués Windows.
Els noms de fitxers i directoris són sensibles a majúscules
Per complicar una mica més les coses, al contrari que en Windows, els arxius i directoris de GNU/Linux són sensibles a majúscules. Això vol dir que els directoris documents, DOCUMENTS o Documents tenen noms diferents i poden penjar ambdós del mateix directori. Hauràs de, doncs, estar molt atent a com nomenes els fitxers i directoris perquè el sistema no es confongui!
A més, no existeix, com en Windows, un format estàndard per als seus noms. Pots posar tots els caràcters que vulguis a l'hora de nomenar-los i no necessiten d'una extensió, ja que el tipus d'arxiu està especificat en les seves propietats.
Molts directoris de Linux són enllaços a uns altres
El sistema d'arxius de Linux permet crear enllaços entre els fitxers, que com el seu propi nom indiquen, la qual cosa fan és “assenyalar” a altres arxius.
Aquests arxius especials anomenats enllaços es poden classificar en dos tipus:
- ENLLAÇOS SIMBÒLICS. La forma més senzilla de comprendre'ls és comparant-los amb els accessos directes de Windows. Estan vinculats amb un arxiu, contenen el camí que condueix cap a ell, són fitxers que apunten a un altre fitxer o directori. Si aquest arxiu desapareix del sistema, l'enllaç simbòlic seguirà existint, però la ruta que té fixada no portarà a cap part.
- ENLLAÇOS DURS. Igual que els anteriors, estan vinculats a un altre arxiu. Però, en aquest cas, per al sistema operatiu es tracta, a tots els efectes, del mateix arxiu. Aquest tipus d'enllaç no consumeix més espai addicional que el que pugui representar el nou nom que li donem a les dades i només és vàlid per a arxius que estan en el mateix sistema de fitxers. En aquest cas, és impossible eliminar un arxiu mentre existeixi algun enllaç dur vinculat a ell.
Entenent l'estructura del disc
Després d'instal·lar Ubuntu i obrir Nautilus, observaràs que existeixen moltes carpetes diferents. Això no seria cap problema per a un usuari novençà si l'estructura de directoris d'aquest Sistema Operatiu fos igual a la de Windows, però no és així. Intentarem explicar-te, encara que no amb massa detall, aquelles carpetes amb les quals vas a topar-te més sovint, les carpetes que, en principi, van a resultar més importants per a tu. Et recomanem encaridament que no modifiquis el seu contingut llevat que estiguis completament segur del que fas i que disposis d'instruccions molt precises, ja que podries arribar a fer que el sistema no funcionés bé i fins i tot que ni arrenqués.
La teva carpeta personal: el directori /home
Fes clic damunt de la icona Carpeta personal situat en la part superior de la finestra. En fer-ho Nautilus et mostra el contingut de la teva carpeta personal (pots comparar aquest directori amb l'archiconocida carpeta Els meus Documents de Windows). Ubuntu et permet accedir a aquest mateix lloc des del menú Llocs, entrada Personal o des de l'accés que pots localitzar en l'Escriptori. Es troba perfectament organitzada en subdirectoris que et permetran guardar els teus arxius: Documents, Imatges, Música, etc. A més, alguns programes generen aquí les seves pròpies carpetes per gestionar la informació personal que treballis amb ells. Per exemple, observa en la següent captura de pantalla el directori PicasaDocuments, creat pel programa Picasa.

Cada usuari del teu ordinador posseeix la seva pròpia carpeta personal i ell és l'únic que disposa de permisos per copiar i esborrar arxius en ella (amb excepció, naturalment, de l'usuari root, és a dir, de l'administrador del sistema, que pot accedir a tots els arxius i carpetes de l'equip). Hi ha, per tant, una carpeta personal per cada usuari que usa la màquina i aquesta carpeta porta el mateix nom que l'usuari. En el meu cas, el meu usuari és edisue, així que la meva carpeta personal és /home/edisue.
Observa la carpeta Escriptori, que es troba en el seu interior: precisament aquí està el contingut de l'Escriptori d'Ubuntu amb les icones presents en ell.
Pots crear noves carpetes en la teva carpeta personal per gestionar la informació de la mateix manera que ho fas en Windows: prem amb el botó dret del ratolí sobre un punt lliure de la finestra i en el menú contextual emergent fes clic sobre l'entrada Crear una carpeta. A continuació tecleja el nom que desitgis per a ella.
L'administrador de dispositius: el directori /mitjana
Est és un altre dels directoris essencials del sistema que has de conèixer més àmpliament. Aquí es troben totes les unitats físiques que tenim muntades: discos durs, unitats de CD i DVD, memòries flash… Abans de poder accedir als arxius d'un CD o DVD, d'un disc dur extern o d'una memòria USB cal “muntar” la unitat dins d'aquesta carpeta.

Però… què és això de muntar?. Muntar és agafar un directori buit i dir-li a Ubuntu que posi aquí tots els arxius que hi hagi en el CD Rom, DVD, llapis USB… Ubuntu, per defecte, crea directoris buits en /mitjana i va muntant aquí qualsevol dispositiu que trobi perquè puguis accedir als seus arxius:
Dins dels directoris cdrom està el contingut del meu CD. Dins de Dades està el contingut de la partició FAT32 Dades del meu disc dur, partició que utilitzo per guardar arxius personals i poder utilitzar-los tant en Windows XP o en Ubuntu, en WindowsWP es troba tot el contingut de la partició NTFS en la qual tinc instal·lat Windows XP.

Què succeeix quan connectes un nou dispositiu com un disc dur extern, una clau USB o una càmera digital a Ubuntu?. Apareix automaicamente una icona nova en l'Escriptori i una entrada nova en l'arbre de directoris perquè tinguis accés al seu contingut. Ara bé, la qual cosa realment ha fet Ubuntu és crear directoris específics en /mitjana i ha muntat aquí tot el que hi ha en el seu interior. Per exemple, observa que, en el meu cas, ha muntat un directori LACIE que es correspon amb un disc dur extern USB de dita marca o un directori DISK que correspon a una memòria flash.

Igual que els dispositius es munten, es poden desmuntar. Tal vegada necessitis fer-ho perquè vols canviar-ho de directori o perquè vas a desenchufarlo (en el cas dels USB). És convenient desmuntar els dispositius abans de desconnectar-los, si no poden quedar fitxers corruptes. Aquesta acció equival al que en Windows XP és “Retirar maquinari amb seguretat”. Per desmuntar un dispositiu fes clic dret sobre l'accés al mateix que trobaràs en l'Escriptori o bé en una finestra de Nautilus i fes clic a Desmuntar el volum. Utilitza aquest procediment sempre per desconnectar els teus dispositius USB.
I si no està aquest accés en l'Escriptori o no trobes el de Nautilus, doncs no t'apuris, trobaràs tots els dispositius en el menú Llocs en l'entrada Equipo.

Les carpetes més importants de GNU/Linux
/ (directori arrel). Ja saps que / és el directori arrel i que d'aquí pengen tots els directoris del sistema. Observa que en aquest directori arrel no podràs crear cap carpeta nova, no tens permisos per fer-ho (ja et parlarem dels permisos d'arxius i carpetes en un posterior article).
Dins d'aquest directori arrel trobaràs diversos subdirectoris importants, t'indiquem alguns d'ells:
/bin. Conté els arxius binarios essencials per al sistema, que han d'estar disponibles per a tots els usuaris, és a dir, que poden ser utilitzats tant pels usuaris com per l'administrador del sistema o root. Aquí es localitzen els programes que poden llançar tots els usuaris del sistema. No sol incloure carpetes.

/boot. Aquest directori conté tot el necessari perquè Linux pugui arrencar. Conté tots el que s'utilitza abans que s'executi el kernel, a més d'aquest o als diferents kernels que tinguem, encara que aquests també poden trobar-se en el directori arrel /. Aquí trobaràs la carpeta grub (gestor d'arrencada d'Ubuntu).

/dev. Est és el directori dels dispositius físics de la nostra màquina (tot el nostre maquinari). Conté un arxiu per cada dispositiu que el Kernel de Linux és capaç de suportar. Recorda de GNU/Linux tracta tots els dispositius com si fossin arxius, fins i tot el maquinari. Així, la disquetera és el fitxer /dev/fd0; el disc dur, si està connectat com a mestre a l'IDE primària, serà hda, i si fos l'esclau del secundari, seria hdd; la targeta de xarxa, eth0, etc.
/etc. Conté tots els arxius de configuració locals, és a dir, de l'ordinador on s'està executant el sistema. És un dels directoris essencials de Linux, necessari per a la inicialització del sistema i imprescindible a l'hora de realitzar còpies de seguretat. Alguns dels fitxers que es guarden en ell són els següents:
- Passwd. Conté tots els usuaris del sistema i les seves contrasenyes.
- Inittab, configuració d'init, programa essencial del sistema
- Bashrc, arxiu de configuració del shell
També té subdirectoris per als programes que necessiten una gran quantitat d'arxius de configuració propis, com la carpeta X11 on se situen els fitxers del sistema X Window.
/lib. Conté aquelles imatges de les llibreries compartides que es necessiten per arrencar el sistema i executar els comandos i mòduls essencials del sistema. Conté per tant, les biblioteques necessàries perquè s'executin els programes que tenim en /bin i /sbin.
/mnt. Conté els punts de muntatge dels sistemes d'arxius temporals. Avui dia aquest directori està en desús i es conserva per raons històriques.
/opt. Aquí es localitzen arxius d'aplicacions i paquets de grandària considerable no necessaris per al sistema. Pots utilitzar-ho per instal·lar aplicacions que no vénen en els repositoris, per exemple, o aquelles que compilamos manualment.
/proc. Sistema d'arxius virtual on s'emmagatzema i obté la informació sobre la memòria, els processos i el kernel. No hauríem de modificar el contingut d'aquest directori.
/root. Tradicionalment el directori on s'emmagatzemen les dades del compte de l'usuari root.
/sbin. Juntament amb els arxius emmagatzemats en /bin, aquest directori conté els binarios essencials per arrencar el sistema. Qualsevol cosa que s'executa després que el directori /usr s'ha muntat correctament, hauria d'estar en /usr/sbin. Aquí trobaràs els programes que només pot llançar el superusuario. Els programes que es localitzen en aquest directori poden ser invocats directament posant el seu nom en una consola o Terminal, si t'autentificas com a administrador o root.
/tmp. Arxius temporals del sistema. El contingut d'aquest directori sol ser esborrat en cada arrencada o a intervals relativament freqüents. Per tant, la informació emmagatzemada aquí no romandrà massa temps en el disc.
/usr. En aquest directori es troba, després de l'arrel /, la major secció del sistema d'arxius. És el directori principal d'emmagatzematge de les aplicacions. Aquí es troba la gran majoria dels arxius existents en un sistema Linux: els executables de programes d'ús general per a tots els usuaris, la documentació, gairebé la totalitat dels comandos d'usuari, jocs, llibreries. Els arxius que es guarden en ell no han de fer falta per arrencar el sistema, ni per al seu manteniment. Normalment es troba en una partició diferent a la resta del sistema. Donat la seva grandària, disposa de la seva pròpia estructura jeràrquica d'arxius.

Aquests són alguns dels seus directoris més importants:
- /usr/bin. Aquí es troben tots els executables dels programes que no són necessaris en l'administració i manteniment del sistema, és a dir, la majoria dels programes d'ús general. Si has realitzat la instal·lació d'alguna aplicació i, per algun motiu, no s'ha creat una entrada en el menú Aplicacions sempre podràs localitzar-ho en aquest directori i utilitzar la ruta al mateix per crear una nova entrada en el menú manualment. Ja practicaràs aquesta opció en un article posterior de “Amb l'ordinador a costes” dedicat a la gestió del menú Aplicacions.
- /usr/games. Aquí es troben tots els executables dels jocs instal·lats en el menú Aplicacions, Jocs.
- /usr/include. Aquí és on es troben tots els arxius d'ús general per a la seva inclusió en la compilació de programes en els llenguatges C i C++. Són fitxers amb extensió .h molt utilitzats pels programadors.
- /usr/lib. Conté llibreries necessàries per als nostres programes i paquets.
- /usr/local. Aquest directori és utilitzat per l'administrador del sistema quan instal·la programari mitjançant compilacions, en comptes d'instal·lar amb el gestor de paquets del sistema Synaptic. Aquí és on hauries de copiar els arxius d'aquestes aplicacions que instal·lis.
- /usr/sbin. Aquest directori conté les llibreries necessàries pels binarios uitlizados exclusivament per l'administrador del sistema, que no pertanyin a la categoria d'essencials. Conté els programes d'administració del sistema.
- /usr/share. Informació independent d'Arquitectura, com pot ser la documentació de programes i els populars HOW-TO (documents pràctiques sobr ús i configuració).
- /usr/src. Aquí s'emmagatzemen les fonts de Kernel, per a la seva posterior compilació, és a dir, els codis fonts dels nostres programes.
- /usr/X11R6. Conté binarios i llibreries perquè funcioni la interfície gràfic (X Window) de Linux. X Window no és més que el sistema de finestres.
/var. Conté arxius amb informació variable, arxius que es modifiquen durant l'ús normal del sistema però que han de quedar tal com estaven en tornar a arrencar Linux. Depenent de les aplicacions instal·lades, ens trobarem amb diferents subcarpetas.

Directoris típics que pengen de /var són els referents al correu del sistema, cua d'impressió, informació de bases de dades, els logs del sistema (/var/log) i pàgines Web. Atenció, vés amb compte aquest directori no és com el tmp de Windows, no hauràs d'esborrar ni modificar el contingut d'aquest directori.
Llistat d'arxius coneguts
Et vam mostrar una petita llista de certs arxius que, per algun motiu o un altre, has de conèixer doncs són arxius essencials a l'hora de realitzar alguns canvis en el sistema per instal·lar aplicacions, configurar l'entorn gràfic, controlar usuaris o configurar l'arrencada del sistema.
/etc/apt/sources.list
Aquest arxiu configura la llista de repositoris, és a dir, els llocs concrets als quals Ubuntu acudirà a l'hora d'Afegir aplicacions. Pots modificar aquest arxiu afegint nous repositoris per aconseguir noves aplicacions o paquets d'aplicacions no suportades oficialment per Ubuntu.
/etc/X11/xorg.conf
Aquest arxiu defineix i configura l'entorn gràfic a carregar (pantalla, ratolí, targeta gràfica, teclat).
/etc/fstab
Aquest arxiu configura l'accés als diferents sistemes d'arxius que hi ha en el nostre sistema. Conté informació sobre els dispositius que es muntaran automàticament durant l'arrencada del sistema.
/etc/passwd
Aquest arxiu controla l'ús d'usuaris, en contrasenyes, amb permisos i grups que pertanyen a cada usuari, arxiu molt important si un vol tenir un usuari root més que el ja conegut root.
/etc/readahead/boot i /etc/readahead/desktop
Aquests arxius contenen la llista de rutes de tots els arxius que es van a carregar en la memòria caché durant l'Inici del sistema.
/etc/network/interfícies
Aquest arxiu conté les dades de configuració de la xarxa.
/boot/grub/menu.lst
Aquest arxiu conté la configuració de GRUB (gestor d'arrencada).
És cert que aquesta informació resulta un tant “avorrida”, però, encara que Ubuntu és potser la distribució GNU/Linux més amigable amb usuaris novells (fins ara totes les tasques que hem realitzat s'han fet des del seu entorn gràfic, no hem ni necessitat ni utilitzat la consola o Terminal, no hem escrit mandats de text o ordres de comandos) i la més “similar” al que ja coneixes en Windows, és necessari que coneguis les entranyes d'Ubuntu, com gestiona els arxius, fitxers i directoris, com estableix permisos a diferents arxius, usuaris i grups, o com és possible accedir a diferents accions del sistema a través de la cónsola o Terminal per convertir-te en un usuari més experimentat i així solucionar les possibles dificultats que puguin anar sorgint en el teu dia a dia amb Ubuntu.
Descàrrega o imprimeix l'arxiu amb aquesta informació:
Tutorial 8: sistema de fitxers. Format PDF.