Sie sollten Eric Raymonds The Art of Unix Programming unbedingt einmal lesen . Sie scheinen davon auszugehen, dass die Unix-Designer XML verwendet hätten, /etc/fstab
wenn sie davon gewusst hätten. Im Gegenteil, obwohl XML hatte speziell nicht erfunden worden, waren sie ganz bewusst seine ähnlichen Vorgänger und absichtlich abgelehnt sie für Konfigurationsdateien wie /etc/fstab
.
Zitat aus seinem Unterabschnitt über XML :
XML eignet sich gut für komplexe Datenformate (die Art von Dingen, für die die Unix-Tradition der alten Schule ein RFC-822-ähnliches Zeilengruppenformat verwenden würde), wenn auch für einfachere überflüssig. Es ist besonders für Formate geeignet, die eine komplexe verschachtelte oder rekursive Struktur aufweisen, wie sie das RFC 822-Metaformat nicht gut verarbeitet.
und weiter unten:
Das schwerwiegendste Problem bei XML ist, dass es mit herkömmlichen Unix-Tools nicht gut funktioniert. Software, die ein XML-Format lesen möchte, benötigt einen XML-Parser. Dies bedeutet sperrige, komplizierte Programme. Außerdem ist XML selbst ziemlich umfangreich. Es kann schwierig sein, die Daten im gesamten Markup zu sehen.
Die Unix-Philosophie besteht darin, die Konfiguration, wo immer dies möglich ist, leicht skript- und lesbar zu machen. Sie sollten in der Lage sein, Konfigurationsdateien mit Tools wie awk, grep, sed, tr und cut zu verarbeiten und sie in Skriptsprachen ohne umfangreiche Bibliotheken zu analysieren. Dies ist ein großer Grund für den Erfolg von Unix und sollte nicht unterschätzt werden.
Obwohl Eric Raymond XML für seine Fähigkeit lobt, "Formate zu verarbeiten, die eine komplexe verschachtelte oder rekursive Struktur aufweisen", werden diese /etc/fstab
sicherlich nicht benötigt, weshalb das einfachste mögliche Dateiformat dafür gewählt wurde.
Obwohl XML sicherlich seine Verwendung hat, sollten Sie in Betracht ziehen, dass einige der intelligentesten Programmierer der Welt, die Pionierarbeit geleistet haben, vielleicht gewusst haben, was sie taten. Möglicherweise ist XML nicht immer für Ihre eigenen Konfigurationsdateien geeignet.
/usr/lib/libxml.so
und/usr
auf einer separaten Partition hätten? Um das/etc/fstab
System zu analysieren , müsste/usrz in order to load
libxml, but to do so it would have to parse
/ etc / fstab` gemountet werden, um zu wissen, welches Dateisystem gemountet werden soll. Um dies zu vermeiden, müsste der XML-Parser wahrscheinlich Teil des Kernels sein, was nicht nach einer fantastischen Idee klingt.