La base de dades MIME
La base de dades MIME és una col·lecció de fitxers que serveix per:
- El conjunt de tipus MIME coneguts
- El mètode per a determinar el tipus MIME d'un fitxer
- Metainformació relacionada a un tipus MIME, com ara una descripció llegible per persones a utilitzar quan es mostrin fitxers d'aquest tipus.
- 5.2.1. Ubicació
- 5.2.2. Continguts
- 5.2.3. Refresc de la base de dades MIME
5.2.1. Ubicació
Com administrador, el pas més important i bàsic per a entendre el sistema MIME és aprendre les ubicacions on s'emmagatzemen aquests fitxers. Atès que l'Especificació d'informació MIME compartida XDG fou creada pel X Desktop Group, també utilitza l'Especificació de base de directori XDG. És molt recomanable que us familiaritzeu amb aquesta especificació, ja que també és important per altres tasques d'administració del sistema, com ara editar els menús. Més avall es proporciona un breu resum de les ubicacions dels directoris de l'especificació MIME.
La base de dades MIME es crea a partir del conjunt de fitxers ubicats en els directoris $XDG_DATA_HOME/mime i $XDG_DATA_DIRS/mime. Si aquestes variables d'entorn no estan definides, llavors s'utilitzen els valors predeterminats ~/.local/share i /usr/local/share:/usr/share, respectivament. Com es pot veure des del valor predeterminat per $XDG_DATA_DIRS, cada variable d'entorn és una llista de directoris separada per dos punts. La base de dades de l'usuari a $XDG_DATA_HOME/mime té preferència sobre la base de dades del sistema a $XDG_DATA_DIRS/mime quan es troben conflictes de definicions. De forma similar a l'Especificació d'informació MIME compartida XDG, ens referirem a aquest conjunt de directoris com a <MIME> en la resta d'aquest document.
Per exemple, assumint els camins predeterminats per a les variables d'entorn, “Load <MIME>/text/plain.xml” significa carregar els fitxers següents:
- ~/.local/share/mime/text/plain.xml
- /usr/local/share/mime/text/plain.xml
- /usr/share/mime/text/plain.xml
5.2.2. Continguts
La llista següent de directoris i fitxers es troba dins de la base de dades MIME juntament amb breus descripcions:
- <MIME>/packages/
-
Aquest directori conté un número de fitxers XML, cadascun dels quals descriu una col·lecció de tipus MIME. Per defecte, el fitxer freedesktop.org.xml s'instal·la en el directori /usr/share/mime/packages. Aquest fitxer conté tots els tipus MIME predeterminats que són àmpliament utilitzats i reconeguts.
Les aplicacions que proporcionen informació sobre tipus MIME nous han d'instal·lar aquí només un fitxer XML. Depenent del prefix on l'aplicació estigui instal·lada, es crearà el fitxer en el subdirectori /mime/package d'un dels directoris de $XDG_DATA_HOME:$XDG_DATA_DIRS. Per exemple, una aplicació instal·lada a /usr/bin hauria d'instal·lar un fitxer font XML nou en el directori /usr/share/mime/packages. Per a obtenir més informació sobre els fitxers XML en el directori packages, vegeu la Secció 5.3 ― Els fitxers font XML.
- <MIME>/MEDI/SUBTIPUS.xml
-
Aquests directoris i fitxers els genera de manera automàtica l'aplicació update-mime-database a partir de la col·lecció de fitxers font XML en el subdirectori <MIME>/packages/. Per exemple, per cada element mime-type en el fitxer /usr/share/mime/packages/freedesktop.org.xml, es crea un directori a /usr/share/mime/ amb el tipus de medi del tipus MIME. També es crea un fitxer XML en aquest directori amb l'identificador de subtipus d'aquest tipus MIME. El contingut del fitxer XML creat inclou comentaris (i traduccions d'aquests), designacions de subclasses i àlies.
Exemple 5-1 Exemple: el fitxer /usr/share/mime/text/plain.xmlAquest fitxer es genera amb l'aplicació update-mime-database, utilitzant el fitxer font XML predeterminat freedesktop.org.xml.<?xml version='1.0' encoding='utf-8'?> <mime-type xmlns="http://www.freedesktop.org/standards/shared-mime-info" type="text/plain"> <!--Created automatically by update-mime-database. DO NOT EDIT!--> <comment>plain text document</comment> <!-- possibly more translations --> <comment xml:lang="ca">document de text pla</comment> <comment xml:lang="eu">testu soileko dokumentua</comment> <comment xml:lang="fi">perustekstiasiakirja</comment> <comment xml:lang="fr">document plein texte</comment> <!-- possibly more translations --> </mime-type>
- <MIME>/globs
-
Conté una línia amb un tipus MIME i un patró global, separats per dos punts. Els fitxers que coincideixin amb el patró global es resoldran amb el tipus MIME especificat abans dels dos punts. Hi ha regles especials sobre com els noms dels fitxers coincideixen amb el patró global. Per a obtenir més detalls vegeu l'Especificació d'informació MIME compartida XDG.
Aquest fitxer també es genera amb l'aplicació update-mime-database, utilitzant el fitxer font XML predeterminat freedesktop.org.xml.
- <MIME>/magic
-
Un fitxer binari que conté informació sobre com resoldre els tipus MIME “ensumant” el contingut del fitxer. Generalment això és un joc d'una o més regles com ara la “comprovació de la cadena %PDF- en el desplaçament de byte 0 en el fitxer. Si es troba, s'assignarà aquest al tipus de MIME application/pdf”.
Aquest fitxer també es genera amb l'aplicació update-mime-database.
- <MIME>/XMLnamespaces
-
Conté un mapejat dels espais de noms dels tipus MIME. Cada línia conté tres camps, l'espai de noms, el nom local i el tipus MIME. Cada camp està separat per un espai. Si el nom local està buit, llavors hi ha dos espais entre l'espai de noms i el tipus MIME.
Aquest fitxer també es genera amb l'aplicació update-mime-database.
- <MIME>/aliases
-
Conté una llista d'àlies per a cada tipus MIME. Un àlies simplement és un tipus MIME que a vegades es coneix com un altre tipus. Per cada línia en aquest fitxer hi ha dos camps: el primer camp és el nom àlies i el segon camp és el tipus MIME. Els camps estan separats per un espai.
Aquest fitxer també es genera amb l'aplicació update-mime-database.
- <MIME>/subclasses
-
Conté una llista de subclasses de tipus MIME i el seu tipus MIME “pare”. De l'Especificació d'informació MIME compartida XDG:
El format d'aquest fitxer és similar al fitxer aliases. Cada línia conte dos camps, on el primer camp és la subclasse del tipus MIME i el segon camp és el tipus MIME pare. Cada camp està separat per un espai.Un tipus és una subclasse d'un altre tipus si alguna instància del primer tipus també és una instància del segon. Per exemple, tots els fitxers image/svg també són fitxers text/xml, text/plain i application/octet-stream. Les subclasses existeixen pel format, més que per la categoria de les dades (per exemple, no hi ha una classe «full de càlcul genèric» que heretin tots els fulls de càlcul).
Aquest fitxer també es genera amb l'aplicació update-mime-database.
5.2.3. Refresc de la base de dades MIME
Entendre com refrescar la base de dades MIME és important per als administradors que vulguin afegir tipus MIME nous al sistema o modificar la informació sobre un tipus MIME. L'aplicació update-mime-database s'encarrega d'això.
Per exemple, si una aplicació instal·la informació sobre un tipus MIME nou a /usr/share/mime/packages/diff.xml, llavors s'ha de cridar update-mime-database amb el paràmetre /usr/share/mime.
# update-mime-database /usr/share/mime *** * Updating MIME database in /usr/share/mime... ***
La base de dades MIME es refresca escanejant tots els fitxer font XML en el directori <MIME>/packages.