Dec
01
Чего не хватает UNIX? | 1 December 2008, 21:29

Вокруг так много пишут о том что *nix – это круто, что иногда становится откровенно тошно, когда каждый ламер поставив гуёвый линукс начинает говорить как это все прикольно. До первой серьезной проблемы. Распространение компюьтеров привело к распространению линукса, но вот вопрос – сколько реальных пользователей вышло? А немного.

Начнем с того, что же есть у юникса(под словом “юникс” тут я понимаю большинство *nix-систем) . А вот что: Гибкость. Именно это дает ему возможность распространяться на самые удвиительные устройства: плееры, ip-камеры, роутеры, телефоны… Унифицированная структура папок и программ, делает такике системы похожие одну на другую и освоив одну – можно быстро подружиться с другой. Это как одна компания, в которую ты придя в первый раз не знаешь почти никого, а потом постепенно узнаешь всех. ;)
И где-то сбоку стоит стандарт Posix, позволяющий программистам писать переносимые программы. А появление таких вещей как automake, autoconf, configure, cmake сделало процесс сборки программ под разные архитектуры – простым.

Девиз KISS оказался вполне подходящим – служебные мини-программы, простые скрипты.
Скриптовый язык, простой и одновременно очень мощный породил целый пласт программ – это и установщики, и прикладные приложения, и демоны. А привязка того же python-а к гуишным либам – привело к появлению несложных прикладных гуи-приложений. Это открыло широкие возможности – ведь не все хотят и могут освоить такой традиционный язык для создания гуи как С++. ;) А скриптовые языки просты и доступны каждому. Так появляются кроссплатформенные приложения для юниксов…

POSIX… как много в этом слове… это и потоки pthreads и pipe и очереди сообщений, создание процессов, упрваление памятью, реальное время… Может он неидеален, но он ЕСТЬ. И в этом его сила. Уже сейчас следуя ему можно писать кроссплатформенные приложения.
Однако, чтобы человек начал писать даже простые программы его нужно заинтересовать ;) А на сегодняшний день юникс отпугивает и это его минус.
Он отпугивает потенциальных программистов, которые не являются настолько энтузиастами чтобы копаться в настройках системы самостоятельно. Откуда все это идет? Все банально просто – на сегодняшний день нету УНИВЕРСАЛЬНОГО настройщика для системных параметров для различных дистрибутивов. Чем-то подобным стал Webmin, но он решает немного другие задачи, нежели я имею ввиду.Результатом отсутствия такого простого инструмента является зазубривание где и что искать в каждом дистрибутиве поотдельности. Так и пухнет голова – в одном Yast, в другом HardDrake, в третьем Sysinstall, а в четвертом ваще ничего нетути… Это рушит саму идею универсальности юникса как семейства дружественных ОС. Самое удивительное что при этом имеется отличный пример как нужно делать подобные системы настройки – это ядро Linux. В помощь при сборке сделаны и гуи-конфигуратор и конфигуратор на ncurses, а можно вручную редактировать файлы! ;) Вот именно это и нужно сделать.

Собрать наработки воедино и сделать нечто, способное управлять:

  1. Драйверами – по сути модулями ядра, их запуском с нужными парамтерами. По сути нужна БД с кратким описание опций драйвера, возможности выбора драйвера к любому найденному устройству.
  2. Все тот же Xorg. Нужна явная возможность настраивать его параметры, ВСЕ(!), через конфигуратор. Да, существует консольная прога для настройки, но она же неудобна когда нужно настроить только один параметр. А также – стандартные конфиги для клав, мышей, планшетов, трекболов – они есть, их нужно просто собрать воедино.
  3. Стандартные конфиг-файлы, вроде настроек alsa должны иметь возможность конфигурироваться легко и непринужденно, их распололожение также можно настроить, хотя простой поиск по дереву каталогов /etc делается на раз-два.
  4. Udev и hal. Необходимо нормальное управление ими, так как сейчас чёрт ногу сломит написать простое правило для переключения раскладок клавы.
  5. Настройка загрузчика Lilo, GRUB, etc.

Все эти пункты практически универсальны для любого дистрибутива, разве что часть файлов может быть расположена в разных местах каталога /etc, но это легко обойти поиском или ручным заданием путей. ВСЁ! И этого уже было бы достаточно для радикального улучшения управления ОС Юникс. Webmin пошел по правильному пути, но ведь он во многом отвечает за приложения, старт сервисов, а не за настройки драйверов и системы. Его недостаток – все-таки нужен гуи, можно, конечно, воспользоваться текстовым браузером, но неудобно. А настройки должны быть удобны по максимуму.

Самое удивительное, что всё это по частям уже давно есть, и почему-то никто не сподобился собрать это один раз во что-то реальное. Хотя работы-то тут на 1-2 месяца двум-трем людям, и уже будет колоссальный результат.

Кто-то скажет что это не нужно тем, кто уже все умеет в юниксе и будет неправ. Гуру, которые могут сами поставить по кускам генту тоже иногда лениво править xorg – потому как на это тратиться ценное время. А отсутствие возможности централизованного управления отпугивает потенциальных пользователей и кто скажет “они не нужны” – тот неправ. Нужны. Все пользователи нужны и важны. Со временем эти люди научатся,и кому-нить не будет нужен конфигуратор, но сейчас понятный и низкоуровневый инструмент для управления системой поможет преодолеть первоначальный страх перед консолью и незнакомой ОС. А пока мы будем видеть на форумах возгласы “а как это сделать в Убунту?”, “а у меня Сусе и тут не работает”… Так быть не должно. LSB Сделало совё дело и это хорошо, но этого недостаточно.
Возникакет вопрос, почему же никто до сих пор не сделал универсальный конфигуратор? Может это кому-то выгодно или кому-то лень? Деньги? Да, возможно, Красной шапке пришлось бы заплатить программерам за пару месяцев работы – но ведь это принесло бы и им пользу в долгосрочной перспективе! Потому что привело бы к ним новых полозователей. Неужели эти несколько тысяч долларов настолько важны, что их готовы зажать компании?

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

Когда мы говорим “чего не хватает Юникс?” мы всегда стараемся искать поверхностные причины – производители не поддерживают, пользователей мало, сложно… А кто-нить реально задумывался как сделать юникс проще, но не тупее? Да сделали красивый гуи, да свиду стало проще – но людям не на чем учиться. А ведь именно неглупый пользователь и есть гордость юникса, так ё-моё – почему бы не помочь простому человеку стать им? Но не ставя его перед выбором “будь гуру или вали отсюдова”, а постепенно, объясняя ему все на каждом шагу подробно, ОБУЧАЯ его.
Сравните, что пишет emerge в gentoo после устанвоки например mysql – там описано даже что надо делать дальше чтобы заюзать базу данных. А что rpm? Во. Вот и видно к чему надо стремиться. ;)

Так может, товарищи юниксоиды, будем стремиться сделать Юникс действительно дружелюбным, а? А не только собирать очередную генту попивая пиво ;)

кросспост из ЖЖ: http://kariy-eyes.livejournal.com/43862.html

1 December 2008, 21:29  
Рубрика: html-марание, journal  |  
Метки:   |  

Листинги патчей ;)


Хотите пропатчить? ;)

Вы должны быть залогинены что бы оставить патч.


  karina ©
2007-2010