Maildir

Från Wikipedia

Maildir är ett format för e-brevlådor som uppfanns av Daniel J. Bernstein och introducerades första gången i hans e-postserver qmail. Ett klassiskt problem med brevlådorna är att de typiskt måste vara samtidigt åtkomliga av både den programvara som sköter nya leveranser och den programvara som användaren använder för att läsa meddelanden, och ibland också över nätverk. Då uppstår problem med låsning av filer och kataloger för att undvika att flera processer är inne och ändrar samtidigt. Låsning och modifiering av befintliga filer är knepigt, prestandasänkande och kan orsaka korrupta filer i händelse av till exempel krascher och strömavbrott.

Maildir löser dessa problem genom att ha tre olika kataloger för varje brevlåda; cur, new och tmp. Varje e-brev lagras i en egen fil. Ett nytt e-brev börjar i tmp och har ett namn som garanterat är unikt på såväl den aktuella datorn som på andra, och när e-brevet har skrivits färdigt flyttas det till new (flytten är atomär). Lästa e-brev flyttas av till exempel användarens MUA till cur, och borttagning av e-brev sker givetvis genom att den aktuella filen tas bort.

Fördelen med Maildir är alltså att det är mycket robust och fungerar bra över nätverk (typiskt via NFS), samt att förändringar i brevlådorna kan göras snabba eftersom hela brevlådorna inte behöver skrivas om (en egenskap som delas med MH-formatet). Nackdelen är att de många filerna ger sämre prestanda vid läsning av brevlådor jämfört med en traditionell brevlådefil i Mbox-format där breven ligger sekventiellt i en och samma fil. För system med riktigt många e-brev kan även förbrukningen av inoder bli för hög.

Förutom qmail har till exempel Exim, mutt, Postfix, procmail och Courier MTA stöd för Maildir-brevlådor.

Ett problem med Maildir är att det är svårare att hålla reda på hur mycket lagringsutrymme en brevlåda kräver. Med Mbox är detta enkelt eftersom endast en fil används, men om man försöker hålla reda på en hel katalog blir det lätt kapplöpningar. Ett försök att lösa detta är Maildir++ som utvecklats att folket bakom Courier-IMAP.

Se även[redigera | redigera wikitext]

Externa länkar[redigera | redigera wikitext]