Powinieneś naprawdę kiedyś przeczytać The Art of Unix Programming Erica Raymonda . Wydaje się, że przyjmujesz założenie, że projektanci Uniksa użyliby XML, /etc/fstab
gdyby o tym wiedzieli. Wręcz przeciwnie, chociaż XML nie został specjalnie wynaleziony, byli dość świadomi jego podobnych poprzedników i celowo odrzucili je dla plików konfiguracyjnych takich jak /etc/fstab
.
Cytując z jego podrozdziału na temat XML :
XML jest dobrze dostosowany do złożonych formatów danych (takich, w których oldschoolowa tradycja uniksowa używałaby formatu zwrotki podobnego do RFC-822), choć przesada w przypadku prostszych. Jest to szczególnie odpowiednie w przypadku formatów, które mają złożoną zagnieżdżoną lub rekurencyjną strukturę, której metaformat RFC 822 nie radzi sobie dobrze.
i dalej:
Najpoważniejszym problemem związanym z XML jest to, że nie działa on dobrze z tradycyjnymi narzędziami uniksowymi. Oprogramowanie, które chce czytać format XML, wymaga parsera XML; oznacza to nieporęczne, skomplikowane programy. Również sam XML jest dość nieporęczny; może być trudno zobaczyć dane pośród wszystkich znaczników.
Filozofia Uniksa polega na tym, aby konfiguracja była łatwa do pisania skryptami i czytelna dla człowieka, tam gdzie to możliwe. Powinieneś być w stanie przetwarzać pliki konfiguracyjne za pomocą narzędzi takich jak awk, grep, sed, tr i cut, a także łatwo parsować je w językach skryptowych bez dużych bibliotek. Jest to ogromny powód sukcesu Uniksa i nie należy go lekceważyć.
Chociaż Eric Raymond chwali XML za jego zdolność do obsługi „formatów o złożonej strukturze zagnieżdżonej lub rekurencyjnej”, z /etc/fstab
pewnością nie ma takiej potrzeby, dlatego wybrano dla niego najprostszy możliwy format pliku.
Więc chociaż XML na pewno ma swoje zastosowania, możesz rozważyć, że niektórzy z najmądrzejszych programistów na świecie, którzy byli pionierami w tej dziedzinie, mogli wiedzieć, co robią. Być może XML nie zawsze najlepiej pasuje do twoich własnych plików konfiguracyjnych.
/usr/lib/libxml.so
i/usr
na osobnej partycji? W celu parsowania/etc/fstab
system musiałby zamontować/usrz in order to load
libxml, but to do so it would have to parse
/ etc / fstab` w celu ustalenia, który system plików należy zamontować. Aby tego uniknąć, parser XML prawdopodobnie musiałby być częścią jądra, co nie brzmi jak fantastyczny pomysł.