Goodvin писал(а): ↑18.08.2008 16:37
Ваша способность подменять теплое на кислое и выдавать желаемое за действительное уже известна всем и проявлена во всей красе.
На этот случай в русском языке есть поговорка "От дурной головы и рукам покоя нет".
Не понимаете как оно работает - не лезьте ломать то, что работает.
А сломали по собственному неумению, так не ищите виноватых и не перекладывайте с больной головы на здоровую.
Проблема тут не в конфиге, а в человеке.
С таким же успехом миллионы ламеров ежечасно ломают настроенные системы, пользуясь сплошь только GUI.
Я лично зарабатываю деньги в том числе и на восстановлении того, что такие ламеры, не понимающие как и зачем у них работает компьютер, ломают и гробят собственную работу.
Я бесконечно рад, что Вы зарабатываете деньги таким благородным делом, как спасение заблудших миллионов ламеров.
Но вот по поводу подмены теплого на кислое Вы не правы.
Удивительно, но за всю эту тему Вы ещё ни разу не упомянули про незабвенный учебник.
Может быть потому, что как раз с логикой выходят нескладушки НЕ В ВАШУ пользу???
Вот пост, в котором написано, что в случае ошибки (заметьте - не указано КАКОЙ ОШИБКИ - это может быть что угодно, в том числе банальная опечатка) в plain text конфиге "будет сразу видно", а вот в GUI - нет:
drBatty писал(а): ↑16.08.2008 13:49
вот ещё прикол:
предположим я ошибся в конфиге
это будет сразу видно. причём видно в каком и где:
Код: Выделить всё
# proftpd
- processing configuration directory '/etc/proftpd.d'
- Fatal: unknown configuration directive 'гы' on line 144 of '/etc/proftpd.conf'
а вот что скажет мне ГУИ:

А теперь, внимание, вопрос:
Что мне делать?
Надо говорить, что это неверно?
Но т.к. во-первых, я знаю, что последует дальше, во-вторых,
drBatty привёл вывод программы и не вежливо было бы делать просто заявления, то я сразу привёл пример того, как при использовании plain text конфига никаких сообщений об ошибках нет. Ни сразу, ни потом.
Т.е. "будет сразу видно" ни коим образом нельзя отнести к преимуществам plain text конфигов.
Всё в полном соответствии с так любимой Вами логикой.
В ответ как раз Вы и другие сторонники plain text конфигов начинают подменять тёплое на кислое и заявлять, что нефиг совать руки куда не понимаешь, хотя речь шла об ошибке. Или Вы намекаете, что у Вас над головой давно нимб светится?
watashiwa_daredeska писал(а): ↑18.08.2008 16:56
Извините, я предполагал более вменяемого собеседника. man 5 passwd как раз и позволяет не знать назубок формат /etc/passwd.
Это, конечно.
Но тогда, получается, что Вы просто-напросто подтверждаете мои слова о том, что при использовании текстовых конфигов надо тратить время на поиски и чтение документации.
В GUI открыли - написали имя, пароль, выбрали группы и т.д. - всё аккуратненько подписано - нажали ОК - всё. Для того чтобы проделать эту операцию надо только знать, как до этого самого модуля YaST добраться.
В случае текстового конфига vi /etc/passwd, смотрим. Комментариев нет. Ну имя пользователя/пароль, допустим, ещё можно догадаться просто глядя в содержимое. А вот потом в каком порядке GID/UID или UID/GID? Надо либо твёрдо это знать, либо лезть в документацию. Т.е. всё как я и говорил с самого начала.

Ну вот видите... Не то что какие-то параметры - правильное название воспроизвести и то затруднительно

useradd вообще-то.
На самом деле пример АБСОЛЮТНО мимо кассы. Ибо useradd это программа, а запуск программы - это НЕ правка plain text конфига в текстовом редакторе. Несогласны?
watashiwa_daredeska писал(а): ↑18.08.2008 16:56
А теперь скажите, в SuSE система построена на взаимодействии
одних программ с другими через GUI? Или все-таки GUI -- это лишь пришлепка сбоку?
Естественно "GUI -- это лишь пришлепка сбоку". Точно также, как и текстовые конфиги. Или Вы хотите сказать, что система построена на взаимодействии текстовых конфигов между собой?
watashiwa_daredeska писал(а): ↑18.08.2008 16:56
В данном случае мне видно, в каком конфиге ошибка и примерно видно, где. А вот несколькими постами выше (про настройку KDE) мне нифига не видно, почему не работает переключение раскладок.
Я точно также привёл пример где "нифига не видно", где ошибка. Более того - init вообще эту ситуацию за ошибку не считает, хотя runlevel 8 в текущей конфигурации Линукс систем не имеет смысла.
См. также выше.
watashiwa_daredeska писал(а): ↑18.08.2008 16:56
Знаете, я в GUI бывало ошибался так, что мало не покажется. Только вот проблема, если я правил этот inittab руками, то это самое сообщение мне понятно, а если накосячил в GUI -- то это китайская грамота.
Ещё раз спрашиваю: почему на основании некоторого количества GUI (к тому же не самого "прямого") Вы делаете вывод о том, что ВСЕ GUI такие?
Вы ни разу не видели программ с GUI, где даже логи показываются в специальном окошечке???
watashiwa_daredeska писал(а): ↑18.08.2008 16:56
Не понял. в *nix-системах shell тоже может каждое приложение вызвать.
Может. Только это будет стороннее самостоятельное приложение. И для управления другими приложениями может использовать только какие-либо механизмы, предоставленные этими самыми приложениями. Попробуйте из шелла подвигать окошко в KDE.
REXX же глобален. Любое приложение (если оно, конечно, не извернулось адским образом и вообще не использовало никаких системных примитивов) получает некий базовый комплект возможностей по управлению от рождения. Плюс к этому может само добавить некоторое подмножество функций для управления собой. И никаких "эта программа использует Lisp, а эта - Python, как их, блин, скрестить-то, я ж только shell знаю???"
watashiwa_daredeska писал(а): ↑18.08.2008 16:56
Кроме того, разбор конфигов может быть прост до неприличия: 1) Не парсим никаких конфигов вообще, все настройки читаем из переменных среды, программу заворачиваем в shell-скрипт, который source'ит /etc/program.conf и ~/.programrc (пример такого подхода: firefox)
Забивать память неприлично. Особенно неприлично - когда сама программа не запущена, а данные в памяти валяются.
watashiwa_daredeska писал(а): ↑18.08.2008 16:56
2) Во многих языках уже полно готовых средств для работы с конфигами (properties в java, ConfigFile в python, куча сторонних библиотек для C/C++ и т.п.), я что-то не припомню, чтобы мне
потребовалось написать парсер конфига.
Если всё так прекрасно, то почему в одних конфигах разделитель двоеточие, в других запятая, в третьих пробел, в четвертых ещё что-нибудь? Потому что кто-то себе придумал, что "все библиотеки для работы с конфигами лажа полная, напишу-ка свою"? Так, собственно, это не сильно отличается от описанной ситуации.