Сторонникам Linux часто предъявляются претензии, что при разговоре о преимуществах Linux они перечисляют недостатки Windows. Но зачастую это бывает неизбежно, поскольку все познается в сравнении, а большинство пользователей компьютеров сейчас знакомы только с Windows. Итак, что же дает Linux?
Командная строка.
В MS-DOS и Windows командная строка неудобна в использовании, что внушает отвращение к ней пользователям, а язык командных файлов сравнительно беден. В Unix пользовательский интерфейс командной строки приближен к совершенству, в комплекте с системой идет множество полезных утилит, которые можно использовать с командной строки, а скрипты позволяют автоматизировать множество задач. Работа с командной строки намного эффективнее, чем работа на мышке. Несомненно, нужно помнить команды, ключи и другие параметры команд, но основные команды очень быстро запоминается, а по другим можно заглянуть в справочник. Многим пользователям на самом деле нужно всего несколько команд. А для тех пользователей, которые не хотят или не могут запомнить команды, системный администратор может настроить Linux так, чтобы для этих пользователей все нужные им программы запускались автоматически. Работа в командной строке не сложнее графического интерфейса Windows, просто она другая. Может быть она менее наглядна, но профессионалам она позволяет работать намного более эффективно. Даже графический интерфейс Unix - X Window System (Иксы) не предполагает отказа от командной строки и никогда ей не противопоставлялся, как в Windows. Многие графические приложения могут управляться с командной строки, сочетая преимущества обоих методов.
Под Linux существуют и программы типа Norton-a - Midnight Commander.
"Понятность" системы.
Linux кажется "черным ящиком" только поначалу. С опытом приходит понимание системы. Профессионалам часто бывает достаточно одного взгляда на ранее не встречавшуюся им проблему для того, чтобы успешно разрешить ее. Это происходит оттого, что известны принципы работы системы, ее "генеральная линия". Можно ткнуть пальцем в любой файл в любом каталоге и, при желании, узнать, зачем он нужен и почему находится именно в этом каталоге. По крайней мере, как правило, бывает сразу понятно к какой программе этот файл относится. Это понимание дает возможность избавляться от ненужных файлов без боязни, что это сделает систему или какое-либо приложение неработоспособным. Можно оставить только необходимые для какого-то конкретного приложения файлы и запускать Linux с одной дискеты или использовать эту систему во встраиваемых приложениях.
Linux предоставляет развитые возможности для диагностики проблем, такие как лог-файлы, утилита strace и встроенные во многие программы средства отладки. Эти же средства позволяют составить представление о том, как работает та или иная программа, даже если нет желания или возможности изучать ее исходные тексты.
Систематизация файлов тоже помогает разбираться в файловой системе. Например, все программы, которые предназначены для запуска пользователем находятся в каталоге bin, все конфигурационные файлы в etc, а библиотеки в lib.
Все настройки программ находятся в простых текстовых файлах, которые можно редактировать любым текстовым редактором. Формат настроечных файлов, как правило, описан в документации или в самом конфигурационном файле при помощи комментариев. Почти всегда можно оставить свои комментарии на заметку. Стандартный текстовый формат конфигурационных и системных файлов упрощает процедуры резервного копирования и клонирования системы.
Удаленное управление.
Linux имеет очень развитые средства удаленного управления. Причем управлять машиной под управлением Linux можно с любой другой системы, где есть программа эмулятор терминала (в отличие, например, от Windows ХР). Если машина подключена в Интернет, то управлять ей можно практически с любой другой машины, также подключенной в Интернет, быстрое подключение не требуется. Удаленное управление рабочими станциями сокращает затраты на администрирование сети, поскольку системному администратору не нужно даже вставать со стула для того, чтобы, например, поставить какое-либо программное обеспечение на все рабочие станции с Linux. Графическая среда поддерживает отображение графики на другой машине и даже запуск разных приложений с разных систем с отображением их на одном экране. При этом приложения сохраняют возможность взаимодействовать между собой (например, имеют общий буфер обмена).
Работа в системе под пользователем с ограниченными правами позволяет предотвратить повреждение системы при неаккуратных действиях пользователя, а отсутствие доступа на запись к системным каталогам не приносит неудобств.
Стабильность.
Возможность обновления системных библиотек, загрузки и выгрузки драйверов устройств, обновление практически любых программ на ходу позволяют месяцами обходиться без перезагрузки системы, а следовательно и без прерывания функционирования сервисов и работы пользователей. Перезагрузка Linux требуется только в случае upgrade машины или обновления ядра.
В Linux, как и во всем созданном людьми, иногда проявляются ошибки, но они крайне редко приводят с серьезному сбою системы и, благодаря доступности исходных текстов, довольно быстро исправляются. Это же относится и к проблемам безопасности, которые часто исправляются в течение нескольких часов после их обнаружения.
Гибкая файловая система.
Файловая система Linux предусматривает такие средства, как точки монтирования, символьные и жесткие ссылки. Это позволяет эффективно распределять место на диске и решать проблемы, когда какая-либо программа требует файл в определенном каталоге, а он на самом деле в системе находится в другом месте.
Разработка драйверов устройств для Linux пока отстает от Windows. Она затрудняется тем, что драйверы под Linux пишутся самими пользователями оборудования, вместо фирм-производителей. Поддерживаются только самые популярные устройства. Для написания драйвера под Linux от производителей требуется открыть детали интерфейса с их оборудованием (не внутреннего устройства!). Многие производители считают, что это может привести к разглашению их ноу-хау и нанести ущерб их бизнесу. Разработка бинарных (без исходных текстов) драйверов для Linux затруднена, поскольку модули ядра, в виде которых обычно распространяются драйверы, не предназначены для переносимости между разными версиями Linux, а новые версии выходят очень часто.
Разработчики популярного коммерческого ПО пока не торопятся портировать свои приложения под Linux. Они ожидают момента, когда Linux наберет "критическую массу", т.е. пока расходы на портирование не станут меньше доходов от продажи продукта пользователям Linux. Но, в то же время, многие пользователи не спешат переходить на Linux, поскольку под ним нет привычного им программного обеспечения. Но во-первых Linux быстро набирает "массу", а во-вторых в конце концов конкуренция на рынке ПО делает свое дело: производители ПО опасаются, что пользователи могут, не дожидаясь завершения портирования их продукта под Linux, перейти на продукт конкурирующей фирмы.
Linux разрабатывается интернациональной командой и их языком общения является английский. Вся документация также создается на этом языке. Только небольшая часть этой документации переведена на русский язык, что создает трудности для пользователей, не читающих по-английски. Система слишком сложна, чтобы в ней можно было разобраться без документации, а найти что-то на русском языке на тему бывает очень трудно.
Различия между дистрибутивами Linux создает трудности при поддержке. Стандартизация необходима, но дистрибутивы различаются и будут различаться программами установки, процедурами установки ПО. К тому же производители ПО нередко тестируют свои продукты только на одном дистрибутиве Linux - на самом распространенном. Дистрибутивы, конечно, все совместимы между собой (это все Linux!), но иногда бывают трудности, связанные с тем, что различаются версии библиотек, ядра, процедура начальной загрузки, а иногда даже пути к каким-либо ключевым файлам. Все эти проблемы решаемые, но лучше бы их не было.
Linux совершенствуется с каждой новой версией. С появлением Linux 2.x операционная система с открытым исходным текстом не только приобрела поддержку независимых разработчиков (в том числе таких крупных, как Corel и IBM), но в ряде случаев приближается и даже превосходит высокоуровневую ОС Windows XP 4.0, в таких областях, как масштабируемость, совместимость с 64-разрядными процессорами и многопроцессорные вычисления. Для работы Linux требуются значительно более скромные аппаратные средства, чем для Win XP; старый Pentium/166 превосходно справляется с задачей, можно использовать даже медленный ЦП 386. Более того, вероятность работы Linux без перезапусков в течение недель и даже месяцев значительно выше, чем у Win XP. Общепризнано, что интерфейс Windows XP более дружествен пользователю, но обладателям Linux нравится глубина контроля, которую они имеют над своей ОС.
В противоположность этому, графический интерфейс Linux не встроен в ядро cсоответственно, операционную систему можно загрузить в режиме командной строки, не подключая GUI. Это одно из важнейших преимуществ Linux, позволяющее запускать ее на компьютерах с минимальной конфигурацией. Например, компьютер со 100 Мгц. процессором Pentuim и 32 Мбайт оперативной памяти может отлично работать под Linux в качестве DNS- или Web-сервера.
2.2 Аналитическое сравнение преимуществ и недостатков операционных систем
Важным достоинством операционной системы без GUI является ее повышенная надежность, связанная с меньшим числом работающих компонентов, каждый из которых может стать причиной сбоя. Например, Windows XP не загрузится по вине плохо написанного графического драйвера монитора, что в принципе невозможно в конфигурации Linux без GUI.