Почему / etc / fstab не использует XML или JSON?

Это больше похоже на общий вопрос о Linux / программировании, но я некоторое время программировал, и я привык использовать такой формат, как XML или JSON . на любой файл, который используется в целях конфигурации.

Будучи новичком в Linux, я понял, что в первом конфигурационном файле, который я наткнулся (/etc/fstab), используется какой-то формат таблицы. Так почему бы не XML или JSON?

22
задан 18 March 2014 в 04:44

3 ответа

/etc/fstab значительно старше, чем XML и JSON, и поскольку довольно много программ использует, это изменяющий его формат был бы кошмар.

Помимо этого /etc/fstab потребности, которые будут проанализированы прежде, существуют функциональная система, поскольку она используется для монтирования всех существенных файловых систем. Следовательно формат /etc/fstab должен быть максимально простым, поскольку синтаксический анализатор не должен зависеть ни от кого внешнего, освобождает.

Парсинг XML является довольно трудным, и Вы действительно хотите избежать его, если Вы не можете передать на внешнем, освобождает. JSON является немного легче, но все еще довольно трудным.

семантика /etc/fstab довольно проста, они не включают древовидных структур данных или любого другого необычного материала. Все, в чем Вы нуждаетесь, является записями, состоящими из шести значений.

Whitepace-разделенные значения достаточно хороши для этого, и их легко проанализировать, даже если все, что Вы имеете, является стандартом C, освобождает.

, Таким образом, нет только никакой причины использовать JSON, XML или что-то подобное.

0
ответ дан 18 March 2014 в 04:44

Необходимо действительно считать Eric Raymond Искусство Программирования Unix когда-то. Вы, кажется, делаете предположение, что разработчики Unix использовали бы XML для /etc/fstab, если бы они знали об этом. Наоборот, хотя XML конкретно не был изобретен, они вполне знали о его подобных предшественниках, и сознательно отклонил их для конфигурационных файлов как /etc/fstab.

Заключение в кавычки от его подраздел на XML:

XML хорошо подходит для сложных форматов данных (вид вещей, для которых олдскульная традиция Unix использовала бы RFC-822-like формат строки файла конфигурации), хотя излишество для более простых. Это особенно подходит для форматов, которым вложили комплекс или рекурсивную структуру вида, который метаформат RFC 822 не обрабатывает хорошо.

и дальше вниз:

наиболее серьезная проблема с XML состоит в том, что он не играет хорошо с традиционными инструментами Unix. Для программного обеспечения, которое хочет считать формат XML, нужен синтаксический анализатор XML; это означает большие, сложные программы. Кроме того, XML является самостоятельно довольно большим; может быть трудно видеть данные среди всей разметки.

философия Unix должна сделать конфигурацию легко scriptable и человекочитаемой по мере возможности. Необходимо быть в состоянии обработать файлы конфигурации с инструментами как awk, grep, sed, TR, и сократить, и легко проанализировать их в языках сценариев без больших библиотек. Это - огромная причина позади успеха Unix и не должно быть недооценено.

, Хотя Eric Raymond хвалит XML за его способность обработать "форматы, которым вложили комплекс или рекурсивную структуру", /etc/fstab, конечно, не имеет никакой потребности в тех, и поэтому самый простой возможный формат файла был выбран для него.

Поэтому, хотя XML, конечно, имеет свое использование, Вы могли бы хотеть полагать, что некоторые самые умные программисты на планете, которые вели поле, возможно, знали то, что они делали. Возможно, XML является не всегда лучшим пригодным для Ваших собственных конфигурационных файлов.

0
ответ дан 18 March 2014 в 04:44

Главная причина, в которой я могу думать теперь:

0
ответ дан 18 March 2014 в 04:44

Другие вопросы по тегам:

Похожие вопросы: