О текстовом конфигурировании

Студент Линус Торвальдс писал свою операционную систему Linux в одиночку. Поэтому использовал самую простую систему текстовых конфигурационных файлов. Это просто, понятно, легко и быстро. Программа читает текстовый файл с параметрами, с помощью которых меняет своё поведение и результаты.

Но удобство разработки стало проблемой для пользователей.

У меня по русскому языку была тройка. Я пишу с ошибками. При чём эти ошибки я не считают ошибками. При проверке собственного текста, часть ошибок я обнаруживаю и исправляют, а другую оставляю. Искренне думая, что ошибок нет.

Для меня настройка сервера с текстовым режимом конфигурационных файлов опредёленная проблема. Например. Я решил обезопасить свой сервер от постоянных попыток подобрать пароль доступа к root по ssh, поэтому просто отключил парольную защиту и перешел на авторизацию через RSA ключ. Еще решил поиграться с параметрами PermitRootLogin. Следом пропало окно доступа к серверу на стадии выбора параметров загрузки. Я испугался и решил отменить эти параметры и вернуть как было.

Оказалось, что демон sshd упал.

В логах я нашел проблему: line 38: Bad configuration option: PermitRootLogin

Вместо PermitRootLogin yes,
я написал PermitRootLoging yes.

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

Ну, представьте себе, что началась война, но психология не изменилась, так и продолжают мыслить категориями капитализма. Кто хорошо поработал, будет на танке ездить, остальные пойдут на врага босяком. В начале расправятся с босыми бойцами, потом уничтожат войнов на танках. Жадность и эгоизм мешают победе на войне. Значит всё наоборот.

Одни создают танк, а другие пользуются чужими результатами труда.

Казалось бы, не справедливость, но такова война. Те, кто создают танк не могут поехать на нём на фронт. Им нужно улучшать его, доводить до совершенства, заниматься множеством других задач. Чтобы следующие бойцы шли в атаку на более быстрых, более мощных боевых машинах и не только.

Linux писали гении, но воевать с ними будут герои, которые пишут с ошибками. И если жизнь и здоровье наших бойцов будут зависеть от ошибки в букву, это будет страшно. Бойцы погибают, войны погибают. Кругом взрывы, ужасы, поражения. Все кругом ругаются, злятся. И в обстановке катастрофического стресса в рекордно сжатые сроки герою нужно снова и снова проверять логи, выводы, отчёты, чтобы найти одну букву, из-за которой демон не работает, обрекая на смерть и поражения. Казалось бы, мелочь, казалось бы, я сам виноват. Но я потратил на это время, а на войне это время будет означать человеческие жизни и поражения.

Мы не призываем к чрезмерным сложностям. Идея текстовых конфигурационных файлов прекрасна своей простотой и удобством. Чувство легкости и прозрачности должно остаться. Но нужна простая и надежная система настройки, нужна отказоустойчивость.

Нужно, чтобы каждый сервис мог проверять свои конфигурационные файлы на предмет орфографичических, синтакситических и логических ошибок. Если я меняю конфигурацию, я хочу проверить написанное до того, как я расслаблюсь, пойду домой, забуду. Может получится, что о падении демона и сервиса, я узнаю, когда будут далеко от сервера или возможности получить доступ к нему.

Нужно, чтобы каждый сервис мог вернуть свои изначальные заводские настройки. А изменение конфигураций должно сохранять в отдельные файлы, чтобы можно было различать рабочие и стабильные версии, от вызывающих сбои.


Совестливое Социалистическое НогНинское Общественное Объединение "ШАМБАЛА"