Вы должны действительно прочитать Эрика Реймонда Искусство программирования Unix - то. Похоже, вы предполагаете, что разработчики Unix использовали бы XML, /etc/fstab
если бы знали об этом. Напротив, хотя XML специально не был изобретен, они были в курсе его аналогичных предшественников и намеренно отклонили их для файлов конфигурации, таких как /etc/fstab
.
Цитата из его подраздела по XML :
XML хорошо подходит для сложных форматов данных (таких вещей, для которых традиционная Unix-традиция использовала бы формат RFC-822-подобной строфы), хотя и излишня для более простых. Это особенно подходит для форматов, которые имеют сложную вложенную или рекурсивную структуру такого рода, с которой метаформат RFC 822 плохо справляется.
и дальше вниз:
Самая серьезная проблема с XML заключается в том, что он не очень хорошо работает с традиционными инструментами Unix. Программное обеспечение, которое хочет читать формат XML, нуждается в анализаторе XML; это означает громоздкие, сложные программы. Кроме того, XML сам по себе довольно громоздкий; может быть трудно увидеть данные среди всей разметки.
Философия Unix состоит в том, чтобы сделать конфигурацию легко написанной на скрипте и удобной для чтения человеком, где это возможно. Вы должны иметь возможность обрабатывать файлы конфигурации с помощью таких инструментов, как awk, grep, sed, tr и cut, и легко анализировать их на языках сценариев без громоздких библиотек. Это огромная причина успеха Unix, и ее нельзя недооценивать.
Хотя Эрик Рэймонд хвалит XML за его способность обрабатывать «форматы, которые имеют сложную вложенную или рекурсивную структуру», /etc/fstab
конечно, в них нет необходимости, и поэтому для него был выбран самый простой из возможных форматов файлов.
Поэтому, хотя XML, безусловно, имеет свое применение, вы можете подумать, что некоторые из самых умных программистов на планете, которые первыми открыли поле, могли знать, что они делают. Возможно, XML не всегда лучше всего подходит для ваших собственных файлов конфигурации.
/usr/lib/libxml.so
и/usr
на отдельном разделе? Для разбора/etc/fstab
системы потребуется смонтировать/usrz in order to load
libxml, but to do so it would have to parse
/ etc / fstab`, чтобы узнать, какую файловую систему нужно смонтировать. Чтобы избежать этого, вероятно, XML-парсер должен быть частью ядра, что не звучит как фантастическая идея.