четверг, 9 апреля 2009 г.

Руководство по миграции на Linux для региональных администраций (Часть III. Планирование пилотной миграции)

Планирование пилотной миграции

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

Данная глава содержит следующие разделы:

  • Разд. 6.1 Изучение паттернов использования компьютеров

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

  • Разд. 6.2 Обеспечение функциональной преемственности

    О том, что понимается под термином «функциональная преемственность», и какие существуют способы ее обеспечения в процессе миграции

  • Разд. 6.3 Человеческий фактор

    Как правильно спланировать работу с персоналом в переходный период

  • Разд. 6.4 Вопросы переобучения

    Как минимизировать расходы и сократить время на переобучение конечных пользователей

6.1 Изучение паттернов использования компьютеров


Одной из важнейших задач планирования пилотной миграции является анализ текущей информационной среды, нацеленный на выделение паттернов использования компьютеров конечными пользователями. Благодаря такому анализу у вас появится список паттернов, которые будет необходимо реализовать. Так вы сможете эффективно разделить общую задачу на простые составляющие. Хорошим способом сбора информации о паттернах является опрос конечных пользователей. Пример методики подобного опроса приведен в Разд. 7.1.

6.1.1 Разделение рабочих мест на функциональные группы


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

Опишем каждую из групп подробнее:


Рис. 6.1: Пример разбиения рабочих мест в соответствии с ролью работника
Рис. 6.1: Пример разбиения рабочих мест в соответствии с ролью работника

Рабочее место с фиксированными функциями


Пользователи такой рабочей станции запускают только фиксированный и ограниченный набор приложений. Приложения могут быть настроены на выполнение специфических функций. Примерами могут служить кассовый терминал или киоск-терминал.

Техническая рабочая станция


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

Рабочая станция делопроизводителя


Рабочее место сотрудников, существенным моментом в работе которых является обмен данными. Здесь необходимы доступ к локальной сети, доступ к интернету, возможность обмена электронными сообщениями. Примерами могут служить рабочее место сотрудника справочной службы, рабочее место по приему заказов, диспетчера или сотрудника отдела логистики.

Базовый офис


Рабочее место сотрудника, занимающегося организацией бизнес-процесса. Здесь могут быть установлены специфические приложения, предназначенные для планирования и управления ресурсами предприятия, управления взаимоотношениями с клиентами и т.п. Требуется доступ к локальной сети, доступ к интернету, возможность обмена электронными сообщениями, в том числе непосредственный обмен сообщениями и электронная почта с вложениями. Требуется простой офисный пакет, позволяющий создавать и просматривать текстовые документы и электронные таблицы в основном внутреннего пользования. Требуется возможность создавать документы в переносимых форматах, например, PDF, RTF или HTML. Примерами таких рабочих мест могут быть рабочее место банковского служащего или администратора офиса небольшого предприятия.

Стандартный офис


Рабочее место, на котором решается широкий круг задач: от приложений, обеспечивающих бизнес-процесс, аналогичных приложениям для базового офиса, до создания сложных документов типа презентаций или оригинал-макетов публикаций. Для такого рабочего места характерно интенсивное использование локальной сети и файлов общего доступа. Здесь должны быть установлены средства личного делового планирования, обмена информацией вплоть до видеоконференций. Доступ в интернет должен допускать широкое использование мультимедийных средств. Примерами таких рабочих мест могут быть рабочее место руководителя проекта, маркетолога, финансового менеджера, руководителя крупного и среднего бизнеса.

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

6.1.2 Описание профилей рабочих мест

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

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

6.1.3 Опрос конечных пользователей

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

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

6.2 Обеспечение функциональной преемственности

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

6.2.1 Приложения, работающие на обеих платформах

Для некоторых приложений, родной средой исполнения для которых является Linux, существуют версии, работающие под Windows. Использование таких приложений позволяет минимизировать проблемы переходного периода и обойтись без переучивания персонала. Вполне можно постепенно заменить ряд приложений на их функциональные аналоги, работающие также и под Linux, до того, как будет заменена операционная система.

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

Затем, после проведения миграции операционной системы, ситуация повторится, только в этом случае среда станет новой, а приложение останется старым, уже знакомым, поэтому освоиться с нововведениями будет проще.

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


Таблица 6.1: Примеры приложений, работающих на обеих платформах
Приложение под WindowsLinux-ориентированный функциональный аналог
Microsoft Outlook, Outlook ExpressMozilla, Mozilla Thunderbird, Evolution
Microsoft WordOpenOffice.org Writer
Microsoft Excel® OpenOffice.org Calc
Microsoft PowerpointOpenOffice.org Impress
Jasc Paint Shop Pro, Adobe PhotoshopThe GIMP
Messenger-Client (MSN®, Yahoo, ICQ, AIM)GAIM
IBM Lotus Sametime® 7.5Исходно программа для Windows, поддерживается Linux
IBM Lotus Notes 7.xИсходно программа для Windows, поддерживается Linux

Сетевые ресурсы, связанные с проектами:

Замечание IBM Lotus Sametime и IBM Lotus Notes будут поддерживать родные версии и для Windows, и для Linux, начиная с версий IBM Lotus Sametime 7.5 и IBM Lotus Notes 7.x.

6.2.2 Функциональные эквиваленты служебных приложений

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

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


Таблица 6.2: Функциональные аналоги служебных программ
Файловые менеджеры (такие как Windows Explorer)Konqueror (KDE), Nautilus (GNOME)
Архиваторы (такие как WinZip)Karchiver (KDE), Ark (KDE), FileRoller (GNOME)
Средства просмотра файлов (такие как Adobe Reader)Konqueror (KDE), KView (KDE), Nautilus (GNOME), Evince (GNOME), Adobe Reader for Linux
Мультимедиа проигрыватели (такие как Windows Media® Player)xmms, xine, RealPlayer, totem, amaroK (KDE), JuK (KDE), Rhythmbox (GNOME), Banshee (GNOME)

6.2.3 Веб-приложения

К сожалению, не для всех необходимых приложений можно найти близкие по функциям или переносимые варианты. Приложения для ERP (планирование и управление ресурсами предприятия), CRM (управление взаимоотношениями с клиентами) или средства для организации совместной работы, как правило, имеют Толстую клиентскую часть и не имеют кросс-платформенных вариантов, работающих и под Windows, и под Linux. Как мы можем видеть, производители промышленного ПО не пытаются решить эту проблему путем создания отдельных клиентов для каждой операционной системы, они переходят на использование клиентов, работающих посредством веб-броузеров, ориентируясь на платформо-независимые броузеры.

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

Хорошим примером подобного подхода является пакет Domino Web Access, ранее известный как iNotes. До версии 6.5 iNotes работал только с Internet Explorer и поэтому был доступен только под управлением Windows. Более поздние версии работают с броузером Mozilla, благодаря чему приложение стало кросс-платформенным. Продукты компании SAP являются еще одним примером подобного подхода. Они обеспечивают полнофункциональную клиентскую часть на основе веб-интерфейса и написанных на Java Толстых клиентов, работающих с платформо-независимыми броузерами.

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

6.2.4 Сервер-ориентированная обработка данных

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

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

Можно использовать Windows Terminal Server или Citrix Metaframe, выбирая для них те клиенты, которые работают одновременно и под Windows, и под Linux. Для доступа к собственному терминальному серверу MS Windows из-под Linux можно использовать rdesktop, клиент с открытым кодом, использующий протокол RDP (remote desktop protocol). Найти этот весьма полезный инструмент вы можете по адресу:

http://sourceforge.net/projects/rdesktop/

Citrix поставляет вместе с пакетом MetaFrame Suite ICA клиенты для ряда операционных систем, включая ICA Client для Linux.

Использование такого подхода позволяет переместить многие приложения на серверную сторону, соответственно, процесс миграции будет включать процедуру перехода от Толстых клиентов к Тонким. Наиболее продуктивным подобный переход будет для рабочих мест, соответствующих паттернам «Фиксированные функции» и «Рабочая станция делопроизводителя», Рис. 6.1 содержит их описание.

Новый подход к сервер-ориентированной обработке данных использован фирмой NoMachine при создании сервера NX. Использование этого сервера значительно снижает сетевой трафик как при работе с X-Window, так и при использовании RDP. Сервер NX выпущен под лицензией GPL, и в ближайшее время ожидается появление реализаций клиентов для различных платформ. Дополнительную информацию по NX можно найти на веб-странице по адресу:

http://en.wikipedia.org/wiki/NX_technology

http://www.nomachine.com

6.3 Человеческий фактор

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

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

Рис. 6.2 демонстрирует один из вариантов изменения отношения персонала к миграции.


Рис. 6.2: Кривая изменения отношения персонала к миграции
Рис. 6.2: Кривая изменения отношения персонала к миграции

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

Эти проблемы могут быть наиболее актуальны при работе с персоналом службы технической поддержки и сопровождения. Дело в том, что персонал ИТ-отдела может воспринять решение руководства о переключении на другую операционную систему как неудовлетворительную оценку своей текущей деятельности. Кроме того, могут сыграть отрицательную роль опасения, связанные с отсутствием опыта работы в новой системе. Согласитесь, будет непросто убедить системного администратора Windows в том, что переход на Linux-клиенты — это хорошая стратегия. Необходимо прежде убедить его в том, что в таком переходе нет ничего личного, и что организация готова затратить на его переподготовку достаточные средства.

Таким образом, прежде чем начинать миграцию, необходимо сосредоточить внимание на двух важных аспектах:

  • Разработка плана взаимодействия
  • Выделение группы, наиболее подходящей для пилотной миграции

6.4 Вопросы переобучения

В процессе миграции во многих случаях нельзя обойтись без переобучения персонала. Любые курсы переобучения требуют значительных расходов, во-первых, сами по себе, во-вторых, за счет отрыва персонала от основной работы. В этом разделе мы рассмотрим вопросы переобучения и пути сокращения расходов на переобучение.

6.4.1 Кросс-платформенные приложения помогут отделить переобучение от миграции

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

6.4.2 Сохраняем визуальный интерфейс

Еще один подход, позволяющий облегчить переход на новую систему и, соответственно, минимизировать затраты на переобучение персонала, состоит в том, чтобы максимально сохранить визуальный интерфейс пользовательских приложений и рабочего стола. Вполне можно так настроить Gnome или KDE, что различия в визуальном интерфейсе рабочего стола и в способе запуска приложений по сравнению с рабочим столом Windows Desktop будут минимальными. Существует множество соответствующих свободно распространяемых профилей, которые можно загрузить и донастроить для своих нужд.

Примеры таких профилей можно найти на страницах:

http://www.kde-look.org

http://art.gnome.org

6.4.3 Привычные действия

При настройке интерфейса полезно обратить внимание на то, что в разных системах приемы выполнения некоторых простых действий могут отличаться. Например, в Windows окна открываются двойным щелчком мыши, а в Linux — одинарным. Хорошей идеей будет перенастроить эту функцию для пользователей, привыкших к Windows.

6.4.4 Файловая система: сохранить структуру подкаталогов

Пользователи Windows привыкли к тому, что на верхнем уровне иерархической файловой системы находятся точки монтирования разделов, такие как C:\, D:\ и т.д. В Linux применяются несколько иные соглашения об организации файловой системы. Общепринятые точки монтирования в файловых системах под Linux включают /usr, /home и т.п. После миграции у конечных пользователей могут возникнуть трудности с поиском файлов в новой файловой системе. Чтобы облегчить пользователям процесс перехода к новой иерархии, имеет смысл перенести все содержимое пользовательского каталога My Documents в каталог с таким же названием в домашнем каталоге пользователя /home/user в системе Linux. В каталоге /home/user/My Documents следует сохранить существовавшую в Windows структуру подкаталогов и их содержимое.

6.4.5 До миграции: просто попробуем поработать с Linux

В мире Linux существует такая полезная вещь, как «живой» дистрибутив. Живым дистрибутивом называют загружаемую с компакт-диска операционную систему, которая может работать без установки на жесткий диск. Одним из наиболее популярных живых дистрибутивов является Knoppix, информацию о котором можно найти по адресу:

http://www.knoppix.com

Что такое живой дистрибутив? Приведем описание со страницы Knoppix:

KNOPPIX представляет собой загрузочный компакт-диск, содержащий набор программного обеспечения GNU/Linux, инструменты для автоматического распознавания аппаратных средств, поддержку большого числа видеокарт и звуковых карт, SCSI и USB устройств и другой периферии. KNOPPIX можно использовать для демонстрации возможностей Linux, как средство обучения, в качестве мощной «аварийной дискеты» или как платформу для запуска демо-версий коммерческого программного обеспечения. Нет необходимости устанавливать что-либо на жесткий диск, примерно 2 ГБ данных находятся на CD в сжатом виде, при этом разархивирование происходит оперативно во время исполнения.

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

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

Теперь пора спуститься с неба на землю и обсудить технические детали процесса перехода от Windows-клиента к Linux-клиенту.

Эта глава содержит следующие разделы:

  • Разд. 7.1 Изучение имеющейся информационной среды
  • Разд. 7.2 Взаимодействие с имеющимися сетевыми службами
  • Разд. 7.3 Стандартизация рабочего стола
  • Разд. 7.4 Планирование миграции приложений
  • Разд. 7.5 Планирование управления Linux-клиентом
  • Разд. 7.6 Сравнение процедуры миграции настольных машин и ноутбуков
  • Разд. 7.7 Приложения, не допускающие переноса под Linux
  • Разд. 7.8 Развертывание новых клиентов
  • Разд. 7.9 Выявление неисправностей и техническая поддержка после миграции

7.1 Изучение имеющейся информационной среды

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

ИТ-инфраструктура включает, помимо рабочих станций, множество других компонент, таких как серверы печати и файл-серверы, серверы баз данных, службы поддержки каталогов, серверы приложений (как локальные, так и удаленные) вплоть до мейнфреймов, к которым рабочие станции получают доступ через веб-интерфейс или посредством API. Некоторые вопросы, связанные с функционированием сети, более подробно будут рассмотрены в Разд. 7.2.

Поскольку мы рассматриваем миграцию рабочих станций конечных пользователей, для нас наибольшее значение будут иметь две области ИТ-инфраструктуры:

  • Взаимодействие между людьми: изучение паттернов использования компьютеров
  • Техническая сторона: свойства самих настольных систем, специальные устройства, внешние требования, связанные с интеграцией

7.1.1 Оценка общей ситуации

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

Вопросы, которые полезно задать для уточнения общей ситуации:

  • Каковы тактические задачи миграции?
  • Каковы критерии успеха при решении каждой из этих задач?
  • Каковы финансовые аспекты миграции (бюджет, ожидаемый доход от вложений, оценка потребностей и т.п.)
  • Каковы стратегические цели миграции? Как миграция вписывается в общую стратегию развития ИТ-структуры предприятия?

7.1.2 Инвентаризация оборудования

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

В идеальном варианте подобное описание должно делаться автоматически, регулярно. Это позволит иметь историю обновлений оборудования и осуществить единовременный прогон при составлении описания перед миграцией. Технология eGather и Asset Depot, предлагаемые фирмой IBM, могут помочь в этом деле. Их подробное описание содержится в документе IBM Redpaper Using Asset Depot for Inventory Management, который можно найти интернете по адресу:

http://www.redbooks.ibm.com/abstracts/redp3763.html?Open

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

  • Какое оборудование используется (производитель, тип, модель)? Если в результате возникает большой, неупорядоченный список, то стоит подумать об объединении части пунктов по какому-либо признаку, который может зависеть от используемой платформы.
  • Стандартизовано ли оборудование? Если все машины имеют один и тот же тип, то обеспечение поддержки периферии и переустановка дистрибутивов значительно упрощаются, как в текущей ситуации, так и при переходе на Linux.
  • Какие внешние устройства локально подключены к каждому компьютеру, учитывая только те, которые реально используются? Этот список должен включать все принтеры, сканеры, специальные типы клавиатур, необходимые для делового обмена данными и т.п. Он не должен включать оборудование, установленное просто для забавы или потому, что пользователь является важной персоной, и на его столе из-за этого должно стоять что-нибудь особенное.
  • Было ли включено требование поддержки Linux в заявку при покупке оборудования?
  • Все ли аппаратные средства, установленные на рабочем месте, реально используются в работе? Например, на компьютере может быть установлена звуковая карта, но при этом не установлен драйвер для управления ею, так как на данном рабочем месте не предусмотрено использование звука. В таком случае при установке другой операционной системы поддержка звуковой карты также не потребуется.

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

http://www-306.ibm.com/pc/support/site.wss/MIGR-48NT8D.html

В Табл. 7.1 приведен пример списка, получившегося в результате инвентаризации клиентского оборудования. В графе «Периферия» приводится список всех подключенных периферийных устройств, как то: принтеры, сканеры, цифровые фотокамеры, USB-устройства и т.д.


Таблица 7.1: Пример инвентаризационного списка клиентского оборудования
МодельТипRAM в ГБДиск в ГБВсегоПериферия
2373MU4T40280120
23668AU ТЗО 1 60 42
2366MU1 ТЗО 1 48 1023
2366MU9 ТЗО 0.5 48 311
26473U5 T23 1 48 278
26476RUT230.5 30 67
26478EUT2213044
264757U T21 0.5 241
2682MU3 R40 1 48 99

7.1.3 Инвентаризация программного обеспечения

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

Вот список ключевых вопросов:

  • Каков набор приложений, поставленных внешними продавцами или производителями ПО? В результате ответа на этот вопрос должен возникнуть список приложений, включающий производителя, текущую версию продукта и приложенные к нему патчи.
  • Каков набор приложений, разработанных внутри компании? В результате ответа на этот вопрос должен возникнуть список приложений, разработанных и поддерживаемых непосредственно техническими службами компании.
  • Каков набор приложений, требующих доступа к внешним данным? В результате ответа на этот вопрос должен возникнуть список приложений, которые обращаются к файловым серверам, серверам приложений, веб-серверам, базам данных, мэйнфреймам и другим внешним ресурсам. Подробнее см. Разд. 7.4.
  • Определены ли группы пользователей? Чем характеризуется каждая группа? По какому признаку сгруппированы пользователи? Группирование может быть сделано по месту работы, то есть отделу, где работает сотрудник, используемым приложениям, типу выполняемых обязанностей или уровню ответственности.
  • Каков набор приложений, отвечающих за безопасность, и каковы правила регуляции доступа на данном рабочем месте? В этот список должны попасть антивирусные программы, средства идентификации пользователя и блокировки экрана, должно быть указано, включен ли брандмауэр, и открыт ли доступ к портам, а также перечислены правила установки, сопровождения и обновления приложений, применения патчей к компонентам операционной системы и установленным приложениям.

7.1.4 Описание форматов данных и их взаимозависимостей

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

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

В эту категорию приложений попадают некоторые почтовые клиенты (например, Lotus Notes) или офисные пакеты (Lotus Smartsuite или Microsoft Office). В процессе сбора информации о текущем положении дел не стоит обсуждать технические детали миграции, следует просто учесть, какие из подобных приложений используются.

Вот приблизительный список вопросов, которые следует задать:

  • Используется ли Microsoft Office? Если да, то какие компоненты и как часто?
  • Используются ли макросы в Microsoft Office? Если да, то какие типы макросов и как часто?
  • Используется ли Microsoft Outlook? Если да, то какие компоненты и как часто?
  • Используется ли Lotus Smartsuite? Если да, то какие компоненты и как часто?
  • Используется ли Lotus Notes? Если да, то какие компоненты и как часто?
  • Используется ли Microsoft Project? Если да, то какие компоненты и как часто?
  • Используется ли Visual Basic для автоматизации действий внутри отдельных приложений или при обмене данными между приложениями?
  • Есть ли обмен файлами с внешними организациями? Если да, то как часто и каковы форматы файлов обмена?

Получив ответы на эти вопросы, вы не только узнаете, какие клиенты используются конечными пользователями, но и поймете, какие продукты лежат в основании информационной инфраструктуры. Например, если в качестве клиента используется Microsoft Outlook, то роль сервера, скорее всего, играет Microsoft Exchange, если клиентом является Lotus Notes, то на сервере, видимо, установлено Lotus Domino. В обоих случаях при планировании миграции клиентских машин нужно принимать во внимание то обстоятельство, что на серверной стороне установлены подобные продукты.

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

7.1.5 Описание сетевой инфраструктуры

При описании сетевой инфраструктуры следует обратить внимание на следующие моменты:
  • Каков тип сетевой инфраструктуры, к которой подключены клиенты?
  • Какова топология сети? Следует описать архитектуру сети, включая все виды локальных и удаленных соединений, пропускную способность различных участков и преобразования протоколов.
  • Какие типы протоколов установлены и сконфигурированы на машинах клиентов с целью обеспечения доступа к различным компонентам сетевой инфраструктуры.
  • Какие серверы функционируют в сети и какие сервисы обеспечивает каждый из них? В результате ответа на этот вопрос должен возникнуть список серверов, как физических, так и логических, и сервисов, которые каждый из них предоставляет клиентам. К сервисам в этом контексте относятся доступ к файлам, печати, DHCP, к веб-данным, приложениям и т.п.
  • К каким базам данных должен быть обеспечен доступ и каким образом? Соответственно, должен возникнуть список всех серверов баз данных и типов доступа к ним, таких как собственные клиенты (например, клиент DB2® UDB от IBM), доступ посредством API (например, именованные каналы), очереди сообщений (например, Websphere MQ от IBM) и приложений, обеспечивающих доступ (например, SAP-клиент).
  • Используется ли доступ к мэйнфреймам с данного рабочего места и если да, то каким образом? Доступ к мэйнфреймам различного типа может быть обеспечен как специфическими клиентами (например, Personal Communications), так и через веб-интерфейс (например, Host on Demand или Host Publisher) или подключение через соответствующие API (например, HLLAPI).

7.1.6 Описание функций конечных пользователей

Точное понимание роли и функций конечных пользователей очень важно при планировании замены операционной системы на рабочих станциях. Можно сказать даже, что это — ключевой фактор успеха миграции. Если конечные пользователи в курсе предстоящих перемен, если они представляют себе, как они будут работать в новом программном окружении, и, особенно, если удается активно вовлечь их в планирование миграции и выработку решений, количество возможных организационных неувязок и технических проблем при миграции резко снижается.
Таблица 7.2: Выбор средств для системы X-Window
Используемое приложение#Функциональный аналог под Linux
IBM Personal Communications7Существует Linux-версия
Intel PRO Ethernet Adapter and Software7Существует Linux-версия
Internet Explorer 7 Mozilla
Visual Basic 5.0 7?
AT&T Network Client 6 Существует Linux-версия
Sametime Client v3.0 6 IBM Community Tools
Lotus Notes 6.0.2 5 Lotus iNotes
Lotus SmartSuite — English 5 OpenOffice
Microsoft Office XP Standard 5 OpenOffice
Adobe Acrobat 5.0 3 Существует Linux-версия
DVDExpress 3 Xine
EasySync Pro 3 Evolution with Pilot-Link
RealOne Player 3 Существует Linux-версия
Shockwave 3 Существует Linux-версия
Windows Media Player 7.1 3 Xine
ADSM v3.1.0.7 2 TSM
Microsoft Visio Viewer 2002 2 Terminal Server
Adaptec DirectCD 1 xcdroast
Adaptec Easy CD Creator 4 1 xcdroast
Adaptec UDF Reade 1 xcdroast
Adobe Acrobat 6.0 Standard 1 Существует Linux-версия
Adobe Photoshop® 7.0 1 gimp
Citrix ICA Client 1 Citrix под Linux
Java 2 Runtime Environment, SE v1.4.2_041 Существует Linux-версия
Macromedia Shockwave Player 1 Существует Linux-версия
Microsoft .NET Framework (English) 1 Mono
Microsoft Office 2000 Standard 1 OpenOffice
Nero 6 Ultra Edition 1 xcdroast
NeroVision Express 2 1 xcdroast
Netscape 6 (6.2.3) 1 Mozilla
Norton Speed Disk 7.0 for Windows NT 1 defrag
WinZip 8.0 1 Zip
Yahoo! Messenger 1 Существует Linux-версия

Вот примерный список вопросов, которые полезно задать:

  • Каковы основные функции, выполняемые данным пользователем или группой пользователей?
  • Существует ли распределение пользователей «по ролям»? Если существует, то каково определение каждой роли?
  • Существуют ли и для каких групп пользователей набор правил, в соответствии с которыми они должны действовать?
  • Существуют ли исключения из этих правил и какие?
  • Существуют ли специфические пользовательские настройки, которые необходимо перенести в новую систему (например, список ссылок для броузера или фоновые изображения)?
  • Требуют ли текущие приложения для своей работы плагинов или cookies?
  • Участвуют ли пользователи в выборе программных средств и если участвуют, то как?
  • Есть ли у пользователей возможность самостоятельно устанавливать программное обеспечение, размещенное в общем хранилище?
  • Существует ли определенная процедура запроса, установки и удаления программного обеспечения?
  • Как часто пользователи обращаются в службу технической поддержки, и каковы стандартные параметры предоставления помощи, такие как время отклика, реакция на повторяющиеся запросы, уровень поддержки и т.д.
  • Каков уровень подготовки конечных пользователей, имея в виду базовые функции операционной системы?
  • Каков уровень подготовки конечных пользователей, использующих более сложные средства, например, офисные приложения?
  • Каков уровень подготовки конечных пользователей, работающих с бизнес-приложениями?
  • Какие типы внешних устройств (локальных и удаленных) непосредственно используются на данном рабочем месте?

7.2 Взаимодействие с имеющимися сетевыми службами

Этот раздел посвящен вопросам интеграции Linux-клиента в существующую сетевую инфраструктуру. Естественно, мы рассматриваем тот случай, когда сетевая инфраструктура базируется главным образом на продуктах Microsoft Windows.

7.2.1 Различные типы сетевого окружения

Редко можно столкнуться с ситуацией, когда клиент является первой машиной, переходящей под управление Linux, если мы имеем дело с сетью, состоящей из множества машин, работающих под управлением другой операционной системы. Как правило, миграция начинается с серверов того или иного уровня. В подобных случаях надо описывать инкорпорацию Linux-клиента в сеть, в которой на серверах запущена Samba под управлением Linux. Это сравнительно простая ситуация, но мы в этой книге описываем сценарии миграции именно клиентских машин, поэтому будем рассматривать редкий и более сложный случай, будем считать, что в сети большинство серверов работают не под управлением Linux.

В процессе миграции Linux-клиент может оказаться в следующих вариантах сетевого окружения:

  • Домен NT4 с Microsoft Windows NT4 PDC (и, возможно, BDC)
  • Домен Active Directory с серверами Microsoft Windows 200x AD
  • Домен NT4 с Linux/Samba PDC и BDC
  • Другие домены, не базирующиеся на продуктах Microsoft Windows

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

Итак, сосредоточимся на двух первых типах окружения (то есть, на чисто Windows-окружении), на это есть по крайней мере две причины:

  • Довольно много доменов соответствуют этой модели
  • Количество документов, описывающих подключение Linux-клиента к домену Samba и так огромно.

Подсказка Если существует план перевода домена на Samba или AD, следует принять это во внимание, планируя миграцию клиентов. Не стоит дважды переделывать одно и то же.

Samba является самым распространенным инструментом интеграции Linux-клиента в сети Windows. Изначально Samba была UNIX-приложением. Samba обеспечивает обмен данными в сети на основе протокола SMB (Server Message Block). Операционная система Microsoft Windows использует тот же протокол для обеспечения доступа к разделяемым файлам и принтерам. Благодаря этому Linux-клиент, на котором запущены компоненты Samba, интегрируется без каких-либо проблем в домен Windows и получает доступ к общим файлам, службам печати, просмотру сетевых каталогов и т.п.

Примеры использования и настройки Samba можно найти в Гл. 11. Здесь мы только сформулировали технические вопросы, которые следует принять во внимание, планируя миграцию.

7.2.2 Аутентификация в домене Windows

В этом разделе мы будем рассматривать технические вопросы, связанные с аутентификацией Linux-клиента в домене Windows, в этом случае пользователи входят в Linux под учетными записями, которые хранятся на PDC.

Аутентификация Linux-клиента в домене Windows нужна по нескольким причинам:

  • Linux-клиент должен иметь доступ к сетевым ресурсам, требующим авторизации (сетевые файл-серверы, принтеры и т.п.)
  • Пользователям не нужен будет дополнительный пароль для входа в сеть, они будут пользоваться одной комбинацией «имя/пароль»
  • Администратору надо будет управлять только одним набором свойств пользователей

Планируя аутентификацию Linux-клиентов в Windows-домене, надо рассмотреть следующие вопросы:

  • Для каждого ли клиента будет создан отдельный вход в Windows-домен, или можно использовать утилиту winbind с целью унификации стартового окружения? (Вы можете настроить winbind так, что вход пользователя в Linux-клиент будет автоматически вызывать авторизацию в Windows-домене. В результате этого Linux-клиент становится полноправным членом Windows-домена.)
  • Утилита winbind требует аккуратной настойки, есть некоторые особенности, связанные с разделителями.
  • Будем ли мы входить в домен NT4 или в домен Active Directory? В последнем случае требуется также использование Kerberos.

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

Используя winbind надо выбрать разумный winbind-разделитель, а именно, символ, который будет отделять имя домена от имени пользователя, поскольку при использовании winbind к учетной записи добавляется еще наименование домена. Например, пользователь Administrator в домене AD6380 под Linux будет иметь имя AD6380+Administrator, в этом случае в качестве winbind-разделителя выбран знак плюс. Следует проверить, не вызовет ли каких-либо проблем в работе приложений появление знака плюс (+) в имени пользователя. Выбор знака плюс в качестве разделителя является лучшим вариантом в большинстве случаев.

Подсказка Как следует протестируйте winbind и winbind-разделитель, убедитесь в правильности настроек до того, как начинать миграцию.

Если аутентификация происходит в домене Active Directory, то кроме Samba должен быть настроен также и Kerberos.

Итак, аутентификацию Linux-клиента в домен Windows обеспечит следующий набор приложений: Samba, Kerberos и winbind.

7.2.3 Использование средств домена для совместного доступа к файлам

Поскольку мы рассматриваем присоединение Linux-клиента к домену Windows и можем предполагать, что значительная часть клиентских машин все еще работает под управлением Windows, то наиболее разумным способом обеспечить совместный доступ в файлам будет использование средств Windows.

Монтирование общих каталогов на Linux-клиентах с использованием smbmount или mount -t cifs обеспечивает пользователям других файловых систем свободный доступ к ресурсам. Однако, если ресурс открыт не для всех, то для доступа к нему потребуется имя пользователя и пароль, аналогично тому, как это происходит под Windows. Если ресурс монтируется вручную, то в этом нет проблемы, имя и пароль надо просто ввести. Однако, заметим что:

  • Монтирование ресурсов вручную с использованием команды mount может быть неудобно для пользователей. Работая под Windows они привыкли, что все ресурсы монтируются автоматически при входе пользователя в систему.
  • Монтирование ресурсов вручную вовсе не является обязательным, существуют пути автоматизировать процедуру и выполнить монтирование при входе в систему, подобно тому, как это делается под Windows. Автоматическое монтирование SMB-разделов можно организовать, включив соответствующие строки в файл /etc/fstab.

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

Существует PAM-модуль (Pluggable Authentication Module) pam mount, который обеспечивает автоматическое монтирование при регистрации. Включая этот модуль в планы миграции, помните, что он еще недостаточно хорошо проработан. Однако других средств автоматического подключения общих ресурсов пока не существует.

Выделите дополнительное время, чтобы всесторонне протестировать работу модуля pam mount на Linux-клиентах, намеченных к миграции. Если все будет работать хорошо, автоматическое монтирование общих ресурсов значительно облегчит вам жизнь.

Подсказка Тщательно протестируйте работу модуля pam_mount, запланируйте время на эту работу.

7.2.3.1 Домашние каталоги и разделяемые ресурсы

При планировании миграции встает вопрос о том, где разместить домашние каталоги пользователей. Весьма соблазнительной кажется возможность создать домашние каталоги в общедоступном разделе, работающем под управлением Windows. Это позволит сделать клиентов более «тонкими».

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

Однако, следует соблюдать осторожность. Некоторые графические системы (главным образом, KDE) создают символьные ссылки или сокеты в домашнем каталоге пользователя. Между тем, одним из известных недостатков файловых систем SMB, работающих под управлением Samba, является невозможность создавать символьные ссылки и сокеты в рамках этих файловых систем. Это означает, что приложения KDE не смогут корректно работать при удаленном монтировании домашних каталогов на ресурсах SMB.

Подсказка Использование разделяемых ресурсов для домашних каталогов требует тщательного планирования и тестирования.

7.2.4 Использование сетевых принтеров

Конечно, вполне возможно подключить дополнительные принтеры локально к Linux-клиентам. Однако, это может вызвать неудобства и дополнительные организационные сложности в том случае, если ранее использовались сетевые принтеры. Практически все дистрибутивы Linux сейчас включают систему печати CUPS (Common Unix Printing System), позволяющую при условии, что на клиентской машине установлена Samba, организовать печать на доступные по сети принтеры.

Если планируется, что Linux-клиент будет использовать CUPS для выхода на сетевые принтеры, подключенные внутри Windows-домена, полезно будет рассмотреть следующие вопросы:

  • Корректно ли взаимодействуют CUPS и Samba?
  • Требует ли доступ к принтеру авторизации? Если да, то пароль должен быть доступен.
  • Каковы преимущества использования сервера печати по сравнению с прямой печатью через сетевой интерфейс?
  • Поддерживаются ли системой CUPS ваши модели принтеров?

7.2.4.1 Взаимодействие CUPS и Samba

В большинстве дистрибутивов Linux CUPS и Samba взаимодействуют без каких-либо проблем. Тем не менее, это необходимо проверить и, соответственно, при планировании отвести время на проверку.

Наиболее важный момент такой проверки — убедиться, что в CUPS включена поддержка Samba. Информацию о том, как это проверить, можно найти в Разд. 11.7.

7.2.4.2 Принтеры и аутентификация

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

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

7.2.4.3 Принт-сервер или прямая печать?

Существуют два способа использования сетевого принтера: печать через специальный сервер печати или прямая печать через сетевой интерфейс (если такая возможность существует). Если большинство клиентов в домене печатают посредством специального сервера, то лучше будет настроить и Linux-клиент на печать через сервер печати.

Печать через принт-сервер дает известные преимущества:

  • Печать однотипна. Нет разницы между Windows-печатью и Linux-печатью.
  • Упрощается администрирование. В том случае, если требуется отключить или заменить принтер, все изменения делаются только на сервере печати и не затрагивают клиентских машин.

7.2.4.4 Поддерживает ли CUPS модель/драйвер вашего принтера?

Дистрибутивы Linux могут существенно различаться по списку поддерживаемых принтеров и драйверов. Следует убедиться, что все нужные модели принтеров поддерживаются выбранным дистрибутивом.

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

7.2.5 DHCP и DNS-конфигурация

В большинстве случаев DHCP и DNS домена Windows будут работать безо всяких проблем и с Linux-клиентом. Оба протокола надо один раз правильно настроить, после чего они будут работать, не создавая никаких сложностей для пользователей.

Однако следует соблюдать некоторую осторожность при совместном использовании DHCP и X11. Linux-клиент обычно принимает имя хоста от DHCP. Если X11 стартует до этого, и пользователь зарегистрирован в системе, при запуске графических приложений могут возникнуть проблемы с Xauth.

Подсказка Убедитесь, что имя хоста от DHCP принято Linux-клиентом до старта X11, или используйте графический вход в систему.

7.2.6 Доступ через прокси-сервер

Протокол, который используется для выхода в сеть через прокси-сервер, не зависит от операционной системы. Для того чтобы договорится с прокси-сервером под Windows, достаточно установить корректные параметры веб-броузера.

Таким образом, доступ в сеть с Linux-клиента через прокси-сервер — это простейшая задача в процессе миграции.

7.3 Стандартизация рабочего стола

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

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

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

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

7.3.1 Дистрибутивы Linux

Поскольку сама ОС Linux и основная часть сопутствующих программ являются программами с открытым кодом, практически любая организация может собрать и выпустить в свет свой дистрибутив. Существуют сотни дистрибутивов, каждый из них занимает свою нишу. Некоторые создавались с целью упростить установку и использование Linux для неподготовленных пользователей, другие были ориентированы на промышленное использование, существуют специальные дистрибутивы для тех, кому важна максимальная свобода в перенастройке системы. В этом издании мы уделяем внимание главным образом двум дистрибутивам: Red Hat Enterprise Linux и Novell Linux Desktop (который базируется на SUSE Linux фирмы Novell).

При выборе дистрибутива имеет смысл принять во внимание следующие факторы:

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

7.3.2 Менеджеры рабочего стола Linux

Существует множество средств управления графическим рабочим столом под Linux (см. также Разд. 8.2.4), но наиболее распространенные дистрибутивы в качестве основного средства управления рабочим столом используют KDE и GNOME, оба эти менеджера предоставляют пользователям полнофункциональное рабочее окружение. Они содержат не только графический инструментарий и средства управления окнами, но и средства работы с иконками, меню панели, включают такие приложения как броузеры, средства записи компакт-дисков и стандартные офисные программы. Для этих графических сред написано множество дополнительных программ, таких как полноценные офисные пакеты, мультимедиа проигрыватели, средства просмотра и редакторы изображений, универсальные почтовые клиенты и средства работы в группе. Все приложения, написанные для каждой из этих сред, имеют сходный внешний вид и используют общие глобальные настройки. Однако настройки, сделанные для одного рабочего стола, не окажут влияния на приложения, ориентированные на другой рабочий стол. Например, если выбрать определенную цветовую гамму для GNOME, то GNOME-ориентированный почтовый клиент Evolution будет использовать эту гамму, а KDE-ориентированный клиент Kontact — нет. Поэтому при выборе программного обеспечения предпочтение отдается обычно средствам, ориентированным на основной рабочий стол.

Замечание Приложения, написанные для KDE, будут работать в среде GNOME и наоборот, но их внешний вид и поведение могут не соответствовать текущему окружению рабочего стола.

Тесты показывают, что современные менеджеры рабочего стола, такие как GNOME или KDE, нисколько не уступают в простоте освоения и использования рабочему столу Windows. Пользователи, которые раньше не имели опыта работы с интерфейсом Windows, легко осваиваются с рабочим столом под управлением Linux. Тем пользователям, которые долго работали с графическим окружением Windows, приходится потратить некоторое время на ознакомление с новыми возможностями, но обычно переобучение происходит достаточно быстро. Полезную информацию об удобстве и простоте использования графических средств Linux можно найти в сети по адресам:

http://www.betterdesktop.org

http://www.openusability.org

Большая работа в различных областях была проделана для достижения простоты в использовании и универсальности рабочего окружения:

  • Специальные возможности (средства для работы за компьютером для слепых или людей с ограниченными физическими возможностями)
    • экранная лупа
    • экранная клавиатура
    • клавиатуры с расширенными возможностями
    • программы чтения с экрана
    • Брайль-мониторы
    • программы генерации речи из текста
    • системы распознавания речи
  • Стандарты для разработчиков приложений
  • Интернационализация (поддержка UTF-8, Pango)

7.3.2.1 Менеджер рабочего стола KDE

Менеджер рабочего стола KDE (http://www.kde.org) обеспечивает клиентам, работающим под управлением Linux и других UNIX-подобных операционных систем, все функции по обслуживанию рабочего стола и запуску приложений в стиле, близком к Windows. KDE написан на основе кросс-платформенного инструментария Qt фирмы Trolltech, с использованием компонентной модели KParts и механизмов DCOP IPC/RCP, которые будут обсуждаться в Прил. C.

Используя KDE можно располагать на рабочем столе иконки и папки, запускать приложения с панели инструментов KDE, на панель можно вывести дополнительные апплеты (время, состояние батареи или статус сетевого соединения и т.п.). Полезным средством для дополнительной настройки KDE является SuperKaramba:

http://netdragon.sourceforge.net

Дополнительную информацию о KDE можно найти в сети по адресу:

http://www.kde-apps.org

В базовый набор приложений KDE входят:

  • Электронная записная книжка Kontact с программами-календарями Kolab или eGroupware.
  • Офисный пакет KOffice (включает KWord, KSpread, KPresenter, Kivio, Karbon, KChart)
  • Приложение для записи на CD/DVD K3b
  • Приложение для редактирования цифровых фотографий Digikam
  • Настольная издательская система Scribus
  • Веб-броузер и файловый менеджер Konqueror

Замечание В веб-броузере Safari фирмы Apple используется рендеринг-процессор KHTML.

7.3.2.2 Менеджер рабочего стола GNOME

GNOME — это менеджер рабочего стола с открытым кодом (http://www.gnome.org), разработанный с использованием GUI-инструментария GTK+, в соответствии со стандартами CORBA (ORBit2). GNOME является стандартным менеджером для дистрибутивов фирмы Red Hat, он также используется некоторыми производителями UNIX-систем, например, корпорацией SunTM . Подробную информацию о приложениях GNOME вы найдете в сети по адресу:

http://www.gnomefiles.org

Ниже приведен список наиболее распространенных приложений GNOME:

  • Текстовый процессор AbiWord
  • Редактор электронных таблиц Gnumeric
  • Клиент электронной почты и программа-календарь Evolution
  • Ekiga VOIP и Video Conferencing Too (ранее известный как GnomeMeeting, см.: http://www.gnomemeeting.org
  • GNUCash
  • GTKam (GUI для gphoto2)
  • Inkscape редактор для работы с векторной графикой
  • Файловый менеджер Nautilus

GNOME, подобно KDE, позволяет располагать на рабочем столе иконки и папки. Приложения можно запускать с панели GNOME. Также на панель можно вывести дополнительные GNOME-апплеты (время, состояние батареи или статус сетевого соединения, выбор виртуального рабочего стола и т.п.). Множество опций и дополнительных мини-приложений, десклетов (desklets), предоставляет пакет GDesklets. См.

http://gdesklets.org

http://en.wikipedia.org/wiki/GDesklets

7.3.3 Внешний вид и функциональность

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

7.3.3.1 Иконки на рабочем столе

На стандартном рабочем столе расположены иконки наиболее часто используемых приложений. Этот набор можно пополнить или изменить. Может потребоваться, чтобы логотип компании и другие графические элементы, соответствующие бренду, были частью стандартизованного рабочего стола. Например, вы можете заменить иконку почтового клиента, если она не соответствует цветовой гамме рабочего стола или вставить фирменный логотип вместо стандартной кнопки запуска главного меню (аналог Windows Start Menu).

Следует помнить, что растровые изображения могут искажаться при изменении разрешающей способности экрана, и поэтому их используют все реже. KDE и GNOME обеспечивают достаточно хорошую поддержку векторной графики (SVG) во всех текущих дистрибутивах. При разработке векторных логотипов и других графических элементов для рабочего стола следует придерживаться стандартов W3, которые можно найти, например, на странице http://www.w3.org/Graphics/SVG/. Векторная графика выглядит лучше, чем растровая, легко масштабируется, стандартные векторные форматы адекватно отображаются всеми веб-броузерами. Вследствие этого SVG-форматы становятся постепенно стандартными для оформления рабочего стола в Linux.

Программы для работы с векторной графикой:

7.3.3.2 Темы рабочего стола

Графические элементы и логотипы представляют собой только часть того, что называют темой рабочего стола. Для большинства пользователей кажутся удобными стандартные темы, предоставляемые производителями дистрибутивов (например, Industrial дистрибутива Novell Linux Desktop, BlueCurve от Red Hat или Plastik для КDE).

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

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

Некоторые приложения имеют свои собственные подсистемы поддержки тем, например, Mozilla или OpenOffice.org. Есть еще один момент, который надо принять во внимание при выборе темы рабочего стола. Если запускать приложения менеджера GNOME на рабочем столе под управлением KDE, то такие приложения будут использовать настройки темы GNOME, а не настройки темы KDE. Если есть необходимость в запуске таких приложений, то имеет смысл выбрать тему, которая реализована для обоих рабочих столов. Например, стандартная тема BlueCurve фирмы Red Hat реализована в вариантах и для KDE, и для GNOME. Также есть тема Firefox, соответствующая теме Industrial, стандартной для рабочего стола дистрибутивов Novell Linux Desktop. Найти ее можно на странице:

http://primates.ximian.com/~glesage/stuff/firefox/

Пользователи, привыкшие работать в Windows, могут использовать темы Windows XP для рабочих столов под управлением KDE или GNOME, привычный вид экрана поможет быстрее освоиться с другими изменениями.

7.3.3.3 Дизайн меню приложений

Еще одним аспектом стандартизации рабочего стола является выработка разумной структуры и состава меню приложений. Если речь идет о промышленном использовании компьютера, нет смысла давать пользователю на выбор несколько приложений, выполняющих одну и ту же функцию. Фирма Novell в дистрибутиве SUSE Linux
Рис. 7.1: Диалог выбора темы рабочего стола в GNOME
Рис. 7.1: Диалог выбора темы рабочего стола в GNOME

Enterprise Desktop 10 пошла еще дальше и ограничила состав главного меню несколькими пунктами, связанными с основными приложениями, и дополнительно оставила еще несколько точек входа для выполнения некоторых часто повторяющихся действий. Пример экрана со стандартной структурой меню SLED 10 можно видеть ниже.

В некоторых случаях может потребоваться еще больше ограничить выбор возможностей запуска приложений, более того, иногда надо закрыть возможность для пользователя изменять настройки рабочего стола (например, добавлять или изменять апплеты на рабочем столе, добавлять новые кнопки запуска в меню приложений, изменять изображения, расположенные на экране и т.п). Для управления окружением в KDE существует удобный инструмент KDE kiosk. Первоначально он был спроектирован для формирования безопасного рабочего окружения киоск-терминалов, однако с его помощью удобно вводить и более мягкие ограничения для рабочего стола промышленного настольного компьютера. Возможности этого инструмента будут обсуждаться ниже в Разд. 9.1.

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

В том случае, если используются оба менеджера, и GNOME, и KDE, предпочтительно бывает унифицировать внешний вид рабочего стола и ограничения на запуск приложений. Это не простая задача, так как до сих пор у GNOME и KDE используются конфигурационные файлы различных форматов. Однако сейчас оба менеджера, KDE версии 3.3 и GNOME версии 2.12, начали поддерживать стандарт структуры меню приложений Desktop Menu Specification, разработанный группой freedesktop.org. Описание этого стандарта можно найти в сети по адресу:

http://standards.freedesktop.org/menu-spec/latest


Рис. 7.2: Упрощенное, ориентированное на решение конкретных задач меню (дистрибутив SUSE Linux Enterprise Desktop 10)
Рис. 7.2: Упрощенное, ориентированное на решение конкретных задач меню (дистрибутив SUSE Linux Enterprise Desktop 10)

7.3.4 Ограничения для пользователей


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

В дистрибутивах Linux доступ пользователей к возможностям программного и аппаратного обеспечения определяется принадлежностью пользователя к той или иной группе. Например, может существовать группа audio для тех пользователей, которым разрешен доступ к звуковой карте, и группа games, при этом запуск всех установленных в данной системе игр будет разрешен только для пользователей, относящихся к этой группе.

7.3.5 Выбор приложений

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

7.3.6 Файловые системы и разделы

Далее, в Разд. 8.2.6 подробнее обсуждаются типы файловых систем, используемые в Linux и варианты их физического размещения. В процессе создания базового рабочего окружения надо определить список разделов, которые будут принадлежать стандартной конфигурации. Также должны быть стандартизированы точки монтирования сетевых разделов, кроме прочего, это облегчит и техническую поддержку в дальнейшем. Чтобы новые названия разделов, появившиеся на иконках каталогов, не смущали пользователей, привыкших к однобуквенным обозначениям дисков под Windows, добавьте эти буквы в скобках после имен разделов.

Вам нужно решить, будете ли вы использовать списки прав доступа (ACL) или стандартные для Linux уровни доступа на основе ограничений файловой системы. В большинстве случаев достаточны стандартные средства определения прав доступа. Если все же требуется использование ACL, надо убедиться, что все инструменты, обеспечивающие безопасность в системе, поддерживают ACL.

7.4 Планирование миграции приложений

Для каждого приложения, допускающего миграцию под Linux, необходимо определить способ перевода на новую платформу. Существует несколько возможных сценариев миграции. Например:
  • Кросс-платформенные приложения: те приложения, которые работают как под Microsoft Windows, так и под Linux. Эта тема уже обсуждалась в Разд. 6.2.1. Кросс-платформенные приложения существенно упрощают процесс миграции, их следует использовать везде, где это возможно.
  • Функциональные аналоги: приложения, обеспечивающие сходную функциональность и импорт данных из форматов Windows-приложений. Например, пакет OpenOffice.org обеспечивает ту же функциональность, что Microsoft Office, и умеет импортировать файлы соответствующего формата. В Разд. 6.2.2 рассматривались функциональные аналоги для архиваторов, файловых навигаторов, мультимедийных средств и т.п.
  • Сервер-ориентированные приложения: этот подход может быть полезен для приложений, не имеющих функциональных аналогов в Linux. В этом случае функциональную часть работы приложения стараются перенести на тот или иной вид сервера, а на клиентской машине оставляют только ту часть, которая необходима для обеспечения удаленного доступа и интерфейса пользователя. Такой подход обсуждался в Разд. 6.2.4.
  • Эквивалентное приложение, работающее через веб-интерфейс: заменить имеющееся платформо-зависимое приложение на приложение, имеющее кросс-платформенный веб-интерфейс. См. Разд. 6.2.3.

7.4.1 Возвращение к архитектуре клиент/сервер

При планировании миграции приложений на Linux могут возникнуть весьма серьезные причины для возвращения к технологии обработки данных типа клиент/сервер для некоторых приложений. Зачастую оказывается рациональным перейти от локального приложения к приложению, работающему через веб-сервисы, независимо от смены операционной системы. Тем более при планировании миграции надо обратить внимание на такую возможность.

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

7.4.2 Разделение клиентов «по весу» — Тонкий, Стройный и Толстый

Может быть главным сдвигом при переходе от одной операционной системы на клиентских машинах (Windows) к другой (Linux) является изменение структуры распределения «веса» рабочих станций, которые используются в организации.

Для того чтобы сделать дальнейшее обсуждение более конкретным, выделим три логических типа клиентов на рабочих станциях:

  • Тонкий (Thin): всегда подключен к сети, нет собственных установленных локально приложений, кроме тех, которые обеспечивают интерфейс пользователя; таким приложением может быть веб-броузер или другой подобный сервис.
  • Стройный (Slim): как правило, подключен к сети; некоторые приложения запускаются локально, установлены (если необходимо) средства синхронизации с сервером; могут быть установлены оригинальные клиент/сервер приложения.
  • Толстый (Fat): как правило, работает автономно; большинство используемых приложений установлено и запускаются локально.

На рисунке ниже показано различие в схемах расположения логических частей приложений на клиентской и серверной частях для различных «по весу» клиентов в системе клиент/сервер.


Рис. 7.3: Расположение логических частей приложений для различных типов клиентов
Рис. 7.3: Расположение логических частей приложений для различных типов клиентов

7.4.3 Системные решения для Linux

Следует заметить, что в последнее время независимые производители ПО заметно активизировались в деле разработки приложений для Linux-клиентов, список ПО, работающего под Linux, растет с каждым днем.

Многие производители разрабатывают версии своих продуктов, работающие под Linux, другие переходят на веб-ориентированные модели, реализация которых базируется на Java, клиенты таких приложений работают под Linux без каких-либо проблем, при условии, что в них не использованы какие-либо специфические возможности, например, ActiveX.

Практически каждый день появляются новые приложения под Linux, как общего назначения, так и специализированные. Если бы мы попытались привести здесь даже частичный список, это заняло бы слишком много места. Для тех, кто интересуется этим вопросом, укажем полезный интернет-ресурс, страничку IBM, содержащую список приложений, работающих под Linux:

http://www.ibm.com/linux/solutions

7.5 Планирование управления Linux-клиентом

В этом разделе обсуждаются некоторые методы эффективного управления Linux-клиентом. Если корпоративная сеть содержит около 20 клиентов, то уже в таком случае индивидуальная установка и администрирование каждого клиента становятся непрактичными. Дополнительным преимуществом Linux является возможность удаленного доступа для администрирования клиента посредством соединения через ssh, telnet или xterm.

Здесь обсуждаются вопросы администрирования уже установленного Linux-клиента, возникающие после миграции. Мы не будем обсуждать вопросы установки или удаления Linux-клиентов. Вопросы текущего администрирования системы являются существенным при планировании миграции, так как их изучение позволяет избежать проблем при управлении клиентами после миграции.

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

Подсказка Процедуры ежедневного администрирования достаточно важны при планировании миграции. Тщательное рассмотрение вопросов управления Linux-клиентом позволяет избежать сложностей и коллизий после окончания процесса миграции.

7.5.1 Обновления и изменения операционной системы

Производители дистрибутивов и сообщество разработчиков программного обеспечения с открытым кодом постоянно вводят в использование обновленные версии программных продуктов и «заплатки», исправляющие обнаруженные в процессе эксплуатации ошибки. И с точки зрения увеличения производительности, и с точки зрения безопасности системы необходимо вносить соответствующие изменения в ОС на клиентских машинах. Методы управления процессом обновления включают в себя:
  • Автоматизированное обновление ОС и наложение патчей
  • Процедуры, помогающие облегчить процесс обновления ОС для конечного пользователя
  • Принудительный ввод критических обновлений ОС или патчей в случае необходимости

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

Если принята стратегия обновления силами конечных пользователей, то они становятся активной частью процесса. При таком подходе к регулярному обновлению патчи обыкновенно выкладываются в общедоступный каталог корпоративной сети, а конечные пользователи получают уведомление о том, что они должны скачать и установить их. Такая стратегия может привести к ситуации, когда у части пользователей все обновления будут установлены, а у другой части — нет.

При обоих вариантах поддержания ОС в актуальном состоянии должен работать механизм принудительной установки критических обновлений и патчей. Как правило, для этого администратор запускает централизовано некоторый скрипт, в котором содержится информация обо всех клиентских машинах, на которых надо выполнить обновление. Если принята схема автоматического обновления, то аварийные действия обычно состоят в том, что обновление происходит немедленно, а не по обычному расписанию (например, раз в неделю). Либо скрипт должен содержать средства запуска процесса скачивания и установки. Как правило, необходимость в немедленной установке критических обновлений возникает по соображениям поддержания безопасности системы.

Стандартный дистрибутив Linux состоит из множества частей, эти части обновляются независимо друг от друга. Это означает, что каждая клиентская машина может иметь состояние ОС, отличное от состояния другой машины. Под Windows ситуация другая, там изменения происходят скачкообразно, множество изменений и патчей собираются вместе и выпускаются в форме сервис-пака, их можно применить только одновременно. Для того чтобы эффективно управлять большим числом Linux-клиентов, важно поддерживать их всех на одном уровне, иметь на всех машинах одинаковые версии ОС. Поэтому автоматизированная процедура обновления предпочтительнее того варианта, когда за часть работ несут ответственность конечные пользователи.

Большинство дистрибутивов Linux содержат в себе средства автоматизированного обновления. Например:

  • В дистрибутив Red Hat включены инструменты Red Hat Network (up2date); подробнее см. Разд. 7.5.7.1
  • В дистрибутиве Suse есть YoU (YaST online Update) см.: http://www.novell.com/coolsolutions/feature/11823.html
  • В дистрибутив Novell включен ZENworks Linux Management; см. Разд. 7.5.7.2

Из автоматизированных средств обновления ОС с открытым кодом следует упомянуть приложения yum и apt.

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

7.5.2 Обновление приложений

Приложения, установленные на клиентских машинах, могут быть частью дистрибутива, тогда их обновление можно осуществлять теми же средствами, какими обновляется сама ОС и которые обсуждались в предыдущем разделе.

Есть несколько подходов к процедуре обновления для тех приложений, которые не являются частью дистрибутива, а именно:

  • Использовать скрипт, который скачивает обновленные файлы программ и конфигурации с определенного сервера в сети.
  • ПО независимых производителей часто включает в себя программу или скрипт, обеспечивающие процедуру обновления.
  • Можно создать пакет, который будет обновляться под управлением apt или yum.
  • Если изменения существенные, а клиент тонкий, то разумным подходом будет полностью заменить его на новую версию.

На ранних стадиях при тестировании и пилотной миграции большинство изменений в ПО, как правило, вносится вручную. Однако по мере возрастания количества Linux-клиентов такой подход перестает оправдывать себя, и возникает необходимость включить процедуры автоматизации обновления ПО.

Подсказка Планируйте создание механизмов автоматизированного обновления ПО на ранних стадиях тестирования Linux-клиента или во время пилотной миграции.

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

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

7.5.3 Удаленное управление клиентами

Linux-клиент допускает удаленное управление без установки какого-либо дополнительного программного обеспечения. Администратор может открыть сессию, используя один из стандартных механизмов, например, ssh или telnet. Это позволяет администратору проанализировать и исправить все ошибочные ситуации на клиентской машине удаленно, за исключением тех случаев, когда проблемы касаются работы сети, поскольку тогда удаленный доступ может стать невозможным. Администратор может также удаленно запускать скрипт, который будет заниматься мониторингом и собирать данные о состоянии клиентских машин.

Мониторинг клиентских машин позволяет предупредить возникновение проблем, вместо того чтобы заниматься их устранением тогда, когда пользователи уже не могут работать. Обычно отслеживают состояние жестких дисков, памяти, параметры использования CPU и даже работу некоторых приложений. Существуют как коммерческие инструменты для мониторинга, например, IBM Tivoli Software, так и инструменты с открытым кодом, например, Nagios и Big Brother.

7.5.4 Процедура добавления или замены клиентов

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

При замене ОС на клиентской машине надо иметь в виду следующее:

  • В случае замены толстого клиента персональные данные должны быть переданы со старого замененяемого клиента или восстановлены из резервной копии.
  • Конфигурационные файлы должны быть скопированы.
  • Убедитесь, что сохранение старого имени системы не будет приводить к дополнительным ненужным проблемам.
  • Если же вы переименовали систему, убедитесь, что старое имя убрано из всех конфигурационных файлов на серверной стороне.

Важно Если используется winbind, то не забудьте при замене ОС скопировать idmap-файл старого клиента, это необходимо, чтобы сохранить существенную информацию об uid/gid пользователя.

В дистрибутивах Red Hat winbind использует следующий idmap-файл: /var/cache/samba/winbindd_idmap.tdb

В дистрибутивах Novell/SuSE winbind использует следующий idmap-файл: /var/lib/samba/winbindd_idmap.tdb

7.5.5 Резервные копии клиентских рабочих мест

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

Если на клиентской машине установлены локальные приложения или сохраняются некоторые данные, то необходимо организовать бэкап. Общепринятым вариантом резервного копирования в конфигурации клиент-сервер является установка на клиентской машине ПО, которое регулярно сохраняет копии локальных данных рабочей станции на специальном бэкап-сервере. Как правило, данные такого сервера дополнительно копируются на статический носитель, например, на магнитную ленту. Примером подобного ПО для Linux может служить IBM Tivoli Storage Manager.

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

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

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

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

7.5.6 Антивирусные мероприятия

Защиту от заражения вирусами следует включать сразу, как только Linux-клиент запущен в работу. Не надо успокаивать себя тем, что пока известно очень небольшое число Linux-вирусов. По мере распространения рабочих станций под Linux их число может возрасти.

Необходимо ввести три наиболее важных способа защиты от вирусов и червей:

  • фильтр, выявляющий вирусы в почтовых сообщениях, установленный на почтовом сервере;
  • регулярное сканирование рабочих станций на наличие вирусов;
  • брандмауэр, препятствующий проникновению вирусов на клиентские машины по локальной сети.

Существует несколько фильтров для почтовых серверов, как коммерческих, так и основанных на открытых кодах.

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

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

Подсказка Планируйте включение антивирусной защиты Linux-клиентов на ранних стадиях миграции. Не успокаивайте себя тем, что пока не известно по-настоящему опасных Linux-вирусов. Они могут появиться.

7.5.7 Службы администрирования в промышленных дистрибутивах

В этом разделе мы рассмотрим, как с помощью встроенных интегрированных сред управления системой осуществляется администрирование в дистрибутивах Red Hat Enterprise Desktop и SUSE Linux Enterprise Desktop.

7.5.7.1 Администрирование в дистрибутиве Red Hat Desktop

Дистрибутив Red Hat Desktop базируется на Red Hat Enterprise Linux. Как и во всех продуктах этой линейки, в этом дистрибутиве для администрирования и обновления версий применяется механизм RHN (Red Hat Network).

Red Hat предлагает три варианта конфигурации соединения с RHN: Хостинг, Прокси, Саттелит (Hosted, Proxy, Satellite). Обычно доступ к обновлениям происходит непосредственно, клиент связывается с одним из RHN серверов Red Hat. Такой вариант называется Хостинг. В дистрибутив включена возможность установки RHN прокси сервера или RHN сателлит сервера локально. RHN прокси сервер кеширует обмен между RHN серверами Red Hat и клиентскими машинами в локальной сети, использование RHN сателлит сервера позволяет иметь локальную копию RHN сервера Red Hat.

Варианты Прокси и Сателлит полезны в том случае, если число рабочих станций в сети достаточно велико, и получение обновлений непосредственно с серверов Red Hat существенно увеличивает трафик. Эти варианты хороши также и тем, что повышают безопасность системы за счет уменьшения времени соединения с Интернетом. Дополнительным преимуществом варианта Сателлит является то, что клиенты в локальной сети могут получать обновления независимо от наличия в текущий момент связи с Интернетом.

Инструментом для обновления версий и наложения «заплаток» в RHN является up2date. Для уведомления пользователей о появлении обновлений или патчей используется специальная утилита оповещения об обновлениях в RHN (RHN alert notification tool). Процесс обновления версий может быть автоматизирован.

Использовать RHN можно с тремя типами модулей:

  • Update
  • Management
  • Provisioning

Выбор того или иного модуля определяет уровень сервиса, который вы будете получать от RHN. Модуль Update дает базовые возможности в области управления клиентом:

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

Модуль Management дает все возможности модуля Update плюс дополнительные возможности управления процессом:

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

Модуль Provisioning особенно полезен в том случае, если сеть RHN используется для создания новых клиентов. В дополнение ко всем возможностям модулей Management и Update вы получаете:

  • Bare metal provisioning — инструмент для автоматической установки операционной системы, пакетов и ключей активации. Использует механизм kickstart.
  • Existing state provisioning — инструмент, позволяющей настроить текущую систему в соответствии с параметрами, которые заданы системой-шаблоном.
  • Функциональность, которая позволяет отменить все внесенные изменения и вернуться к предыдущему состоянию системы.
  • Настройка конфигурации может быть соединена с процессом установки системы процедурой kickstart.
  • Установки и настройка приложений, представленных в виде пакетов RPM.
  • Специальное средство для записи конфигураций для установок типа kickstart.

Все эти опции доступны для варианта связи Хостинг. Если же используется конфигурация Прокси или Сателлит, то добавляются еще и пользовательские каналы, интегрированные сетевые установки и многое другое.

Сеть RHN позволяет также организовать автоматическое управление RHD-клиентами. В конфигурации Хостинг управление ограничено свойствами операционной системы и пакетами, включенными в дистрибутив. Другие конфигурации позволяют создать пользовательские каналы, при помощи которых можно управлять приложениями независимых производителей.

Дополнительную информацию о RHN можно найти в сети по адресу:
http://www.redhat.com/software/rhn
а также в издании Linux Client Migration Cookbook, Practical Planning and Implementation Guide for Migrating to Desktop Linux:
http://www.redbooks.ibm.com/redpieces/abstracts/sg246380.html

7.5.7.2 Администрирование в дистрибутиве Novell Linux Desktop

Предпочтительным методом обновления настольной машины, работающей под управлением Novell Linux Desktop, является Novell ZENworks Linux Management. ZENworks Linux Management базируется на Red Carpet Enterprise.

ZENworks представляет собой централизованную систему, посредством которой клиентские машины могут конфигурироваться и откуда они получают свои обновления и патчи. Она располагается за брандмауэром организации и может получать данные для обновления из большого числа внешних источников, включая серверы Red Carpet, серверы обновлений YaST Update и даже от Red Hat Network.

Клиенты подключаются к ZENworks посредством протокола HHTP и получают обновления или патчи при помощи программы rug или red-carpet. Администрирование сервера ZENworks производится либо из командной строки, либо с использованием веб-интерфейса.

Ключ активации, который задается при подключении нового клиента, определяет, какие администраторы будут иметь доступ к клиенту, какие каналы будут доступны и к каким группам будет относиться клиент.

ZENworks Linux Management включает в себя следующие средства:

  • Улучшенный ACL — работа с ключами активации. Позволяет ассоциировать администраторов, каналы, группы и типы извещений с ключом активации.
  • Контроль отложенных обновлений — администратор может видеть, у каких клиентов отложено обновление версий и насколько важные обновления пропущены.
  • Группирование пакетов — программные пакеты можно объединять в группы. Для таких групп поддерживается контроль версий и проверка зависимостей, как для обычного пакета.
  • Создание групп «на случай» — администратор может создавать временные группы всегда, когда ему это нужно, например, можно создать группу для всех машин, на которых еще не закончен некоторый процесс обновления версий.
  • Улучшенная система транзакций — можно добавлять скрипты для запуска немедленно или в будущем, есть возможность выполнить откат от изменений, сделанных тем или иным скриптом.
  • Установка прав доступа для пользователей — конфигурационные файлы клиентских машин можно контролировать с сервера.
  • Тестовый запуск транзакции на серверной стороне — можно протестировать подготовленную транзакцию для проверки удовлетворения зависимостей на серверной стороне, не затрагивая работу клиента.
  • Сопоставление клиентов — инструмент, который позволяет сравнить состояние двух или более клиентских машин.
  • Возможность выбора базы для хранения данных — поддерживается PostgreSQL и Oracle.
  • Кеш-сервер — сервер, который собирает последние обновления программного обеспечения с нескольких подсетей.
  • Улучшенный инструмент для работы с зеркальными серверами — позволяет генерировать группы пакетов, используя описания, предоставляемые зеркалированными серверами.

При создании новых клиентов имеются дополнительные возможности:

  • Поддержка нескольких серверов — клиент может быть ассоциирован с несколькими серверами ZENworks Linux Management.
  • Возможность отката к прежней версии — процедура может быть запущена как локально, так и с серверной стороны.
  • Расширенная информация о системе — клиент посылает на сервер информацию об аппаратных средствах, программном обеспечении и системной конфигурации.

Дополнительную информацию о Zenworks Linux Management можно найти в сети по адресу:
http://www.novell.com/products/zenworks/linuxmanagement/
а также в издании Linux Client Migration Cookbook, Practical Planning and Implementation Guide for Migrating to Desktop Linux:
http://www.redbooks.ibm.com/redpieces/abstracts/sg246380.html

7.6 Сравнение процедуры миграции настольных машин и ноутбуков

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

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

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

7.6.1 Аппаратные средства

Обсуждая поддержку аппаратных средств в Linux, следует прежде всего отметить, что она значительно расширилась в последние годы. Многие производители оборудования, наблюдая распространение использования Linux как на домашних, так и на офисных машинах, стали снабжать свои устройства драйверами, обеспечивающими их работу под Linux. К сожалению, сделано еще далеко не все, особенно много пробелов в части поддержки аппаратных средств беспроводного доступа к сети, есть также специфические устройства типа Win-модемов или GDI-принтеров. Несколько проектов находятся в разработке, среди них можно упомянуть Wlan-драйвер для чипсета Intel CentrinoTM . Проблему как правило представляют прошитые в ПЗУ программы и файлы, код которых закрыт, в результате чего разработчикам свободного ПО приходится заниматься обратным проектированием интерфейса устройства, чтобы добиться его работоспособности под Linux.

Подобные разработки приводят даже к идеям типа проекта ndiswrapper, применение которого дает возможность загрузки драйверов Windows ndis с целью использования сетевых карт под Linux. Ndis — это API Windows для драйверов сетевых карт, а ndiswrapper позволяет использовать тот же API и обращаться к драйверам, как к модулям ядра Linux. Адрес этого проекта в сети:

http://ndiswrapper.sourceforge.net

Следует оценить целесообразность использования имеющихся аппаратных средств на стадии планирования миграции (см. Разд. 7.1.2). Возможно, устаревшее оборудование потребует очень больших усилий для того, чтобы заставить его работать в новых условиях, и будет целесообразно заметить его на новое, совместимое с Linux.

Это правило особенно применимо при выборе модели ПК. Практически все крупные производители ПК обеспечивают выбор моделей, полностью совместимых с Linux. Информацию о совместимости компьютеров, производимых IBM, можно найти в сети по адресу:

http://www.ibm.com/pc/support/site.wss/MIGR-48NT8D.html

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

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

Следует обратить особое внимание на поддержку функций управления энергопотреблением мобильного компьютера. Что касается стандартов APM и ACPI, то надо отметить, что под Linux для них остаются еще нерешенные вопросы. ACPI поддерживается начиная с ядра версии 2.6, и большинство функций этого стандарта может быть использовано, но в связи с тем, что существует большое число различных компонент, некоторые проблемы все еще остаются. Для использования моды «standby» в ноутбуке, например, более стабильным вариантом является использование APM.

Таким образом, становится ясно, что следует уделить самое пристальное внимание аппаратным средствам при планировании миграции, особенно это касается ноутбуков. Мы настоятельно рекомендуем убедиться, что все устройства, включенные в ноутбук, будут работать под Linux. Возможно, потребуется дополнительная работа для того, чтобы в итоге получить подходящий дистрибутив, в котором поддерживаются все ваши аппаратные средства.

7.6.2 Периферийные устройства

Еще в процессе инвентаризации оборудования вы могли обнаружить, что многие рабочие места оснащены не только настольными машинами, но и различными видами периферийных устройств. Примерами таких устройств могут быть:
  • Локальные принтеры
  • Серверы печати
  • Сканеры
  • Плоттеры
  • Цифровые фотокамеры
  • Устройства для чтения/записи карт памяти

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

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

Информацию о проектах разработки программного обеспечения с открытым кодом для периферии можно найти на страницах в сети по следующим адресам:

7.6.3 Соединение с интернетом

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

Что же касается подключения к интернету, то если речь идет о стандартном варианте с использованием сетевых карт Ethernet, то проблем тоже нет. Практически все популярные Ethernet-карты поддерживаются Linux. С беспроводной связью дело обстоит сложнее. Многие сетевые карты для беспроводной связи, которые появились вначале, были ориентированны на сегмент рынка, называемый SOHO (от Small Office/Home Office), то есть на домашние компьютеры и компьютеры для небольшого офиса. В тот момент в этом сегменте было мало Linux-машин, и производители решили сэкономить, не включая драйверы для Linux. Хорошей тактикой при выборе подобных карт будет обратиться к изделиям более крупных и надежных производителей, например, компания Cisco предлагает Linux-драйверы для всех своих беспроводных сетевых карт.

Соединение с интернетом посредством DSL или кабельного модема не представляет сложность, поскольку эти устройства работают через сетевой интерфейс Ethernet. IP-соединение посредством этих устройств устанавливается без проблем при помощи протоколов PPP или PPPoE. Провайдеры услуг для кабельных модемов обычно предоставляют IP-адрес посредством DHCP.

С модемным сеансовым типом соединения иногда могут возникнуть проблемы. Существуют так называемые win-модемы, особенно они распространены в бюджетных ноутбуках. Эти модемы используют ресурсы операционной системы для эмуляции аппаратных действий, что удешевляет сам прибор, но зато такой модем требует специфического программного обеспечения для своей работы. Для некоторых win-модемов существуют драйверы под Linux. Актуальную информацию на эту тему можно найти в сети по адресу

http://linmodems.org

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

7.6.4 Работа в автономном режиме

В этом разделе мы обсудим некоторые аспекты работы ноутбука в автономном режиме.

7.6.4.1 Автономная работа почтового клиента

Существует несколько полноценных почтовых клиентов для настольных машин (например, Microsoft Outlook, IBM Lotus Notes и т.д.), которые обеспечивают возможность офлайновой работы с почтой. Планируя миграцию для пользователей ноутбуков, следует учитывать это. Выбор правильного почтового клиента на замену Windows-клиенту представляет собой, возможно, наиболее существенное решение при определении миграционной модели. Необходимость обеспечить аналогичную или, по крайней мере, приемлемую функциональность при работе в офлайновом режиме и является причиной того, что миграция ноутбуков является одной из самых сложных задач при планировании миграции клиентских машин под Linux.

Существуют почтовые программы, работающие под Linux, которые обеспечивают офлайновый режим работы с почтой, например, Mozilla Thunderbird. Thunderbird поддерживает оба почтовых протокола, и POP, и IMAP. Узнать подробнее про Thunderbird можно в сети по адресу:

http://www.mozilla.org

Хотя Thunderbird и может работать офлайновом режиме, но он не обеспечивает тех функций, которые берут на себя почтовые клиенты под Windows, такие как Microsoft Exchange/Outlook и IBM Lotus Domino/Notes, а именно — ведение календаря и составление деловых расписаний. В качестве одного из вариантов решения этой проблемы мы намерены в Гл. 10 продемонстрировать применение Novell Exchange Connector в сочетании с почтовым клиентом Novell Evolution.

7.6.4.2 Доступ к файлам в автономном режиме

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

Например, Microsoft предоставляет специальные процедуры автоматической синхронизации между серверами и мобильными клиентами. Один из методов синхронизации использует специальную папку Briefcase, в этой папке пользователь должен держать те файлы, которые он хочет синхронизировать. Другой метод появился с выходом Windows 2000, куда была встроена новая функция, называемая offline files. Этот механизм позволяет синхронизировать содержимое целых каталогов, пользователь может работать с ними автономно, все изменения будут автоматически переданы на сервер при включении компьютера в корпоративную сеть.

В Linux нет прямых аналогов синхронизирующих механизмов типа сервер-клиент, встроенных прямо в операционную систему. Задачу синхронизации данных между клиентом и сервером при автономной работе клиента решают различные пакеты, поставляемые независимыми производителями. Например, Novell предлагает инструмент для синхронизации и совместной работы над файлами iFolder. Для iFolder существует два сервера, один из которых основан на открытых кодах, а другой является коммерческим. Подробную информацию можно найти по адресу:

http://www.novell.com/products/ifolder

Еще один способ решения задачи синхронизации — использование протокола rsync. Эта утилита представляет собой мощное средство синхронизации с открытым кодом, rsync обладает гибкой настройкой и позволяет синхронизировать данные целых каталогов на локальной машине и серверной стороне. Благодаря использованию механизма контрольных сумм пересылаются только различающиеся части файлов, что существенно снижает трафик и дает возможность эффективно работать даже по медленным каналам связи. Страница rsync находится по адресу:

http://samba.anu.edu.au/rsync

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

7.7 Приложения, не допускающие переноса под Linux

В этом разделе мы рассмотрим проблемы, связанные с приложениями, для которых нет возможности прямого запуска под Linux. Мы предложим альтернативные варианты запуска таких приложений с Linux-клиента.

Мы исходим из предположения, что число приложений, не допускающих переноса на Linux невелико, и что с ними работает незначительная часть конечных пользователей. В противном случае переход на Linux-клиенты может оказаться нецелесообразным.

7.7.1 Что мешает переносу приложений под Linux

Мы называем приложение недопускающим переноса в том случае, если для него верно одно (или несколько) из следующих утверждений:
  • Не существует версии этого приложения или функционального аналога, работающего под Linux.
  • Портировать приложение под Linux невозможно.
  • Лицензионные соглашения делают перенос приложения под Linux невозможным или очень дорогим.

Если приложение было спроектировано таким образом, что оно не допускает миграции, есть несколько путей для продолжения его использования после перехода на Linux-клиент:

  • Возможно, приложение может работать на Windows-сервере, и к нему можно организовать доступ с Linux-клиента, используя такие механизмы, как Terminal Server, Citrix Metaframe, NoMachine NX и т.п.
  • Проверьте, возможно ли, с точки зрения стоимости мероприятия, запускать виртуальную Windows-машину VMware на рабочих станциях тех клиентов, которым требуется использование Windows-приложений.
  • В том случае, если Windows-приложение запускается сравнительно редко, разумно установить на клиентской машине обе операционные системы и организовать возможность альтернативной загрузки.
  • Можно оставить несколько машин работать под Windows, и собрать на этих машинах все приложения, не допускающие миграции, для совместного использования теми сотрудниками, которым они необходимы.

7.7.2 Использование Terminal Server, Citrix Metaframe или NoMachine NX

Если приложение может быть запущено на сервере, и к нему возможен терминальный доступ, то хорошим выходом из положения будет использование Terminal Server, Citrix Metaframe или NoMachine NX. Для того чтобы приложение допускало перенос на центральный сервер, должны выполняться некоторые условия:
  • Приложение должно уметь работать в многопользовательском режиме. Из этого условия вытекает несколько требований, среди них:
    • пользовательские настройки должны храниться в нескольких местах;
    • несколько пользователей должны иметь возможность запускать приложение одновременно.
  • Лицензия на приложение допускает его использование в многопользовательском режиме.
  • Ресурсы, которыми пользуется приложение, должны быть разделяемыми.

Для всех трех указанных вариантов доступа, Terminal Server, Citrix Metaframe и NoMachine NX, существуют Linux-клиенты. Клиент для Terminal Server, rdesktop, представляет собой программу с открытым кодом. Клиент Citrix доступен в том случае, если вы приобретаете пакет Metaframe. Компания NoMachine выпустила клиент NX под лицензией GPL.

7.7.3 Использование VMware

Использование VMware (или другого приложения под Linux с аналогичными функциями) дает возможность создавать виртуальное Windows-окружение для работы тех пользовательских программ, которые нельзя перенести под Linux или на центральный сервер, работающий под Windows.

Виртуальная машина представляет собой полный функциональный аналог Windows-машины, и на ней можно повторить в точности то окружение, которое существовало на Windows-клиенте до миграции. В том числе, виртуальная машина входит в локальную сеть с теми же установками, с которыми она входила, будучи Windows-клиентом. При этом для создания соединения должен быть использован бриджинг (bridging) или NAT.

У такого варианта решения проблемы есть несколько недостатков:

  • Для виртуальной машины требуется полная лицензия Windows.
  • VMware тоже требует лицензии, что приводит к дополнительным расходам.
  • Работа VMware на клиентской машине требует администрирования, то есть, дополнительного расхода времени персонала.
  • Требуются дополнительные аппаратные ресурсы, а именно, дополнительная оперативная память и дисковое пространство.
  • Требуется дополнительная работа с конечными пользователями.

Для того чтобы определить, стоит ли использовать такой вариант запуска немигрируемых приложений, надо оценить количество возможных пользователей виртуальных Windows-машин и стоимость других вариантов решения проблемы.

7.7.4 Использование возможности альтернативной загрузки

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

В этом варианте решения проблемы есть следующие недостатки:

  • Для загрузки Windows требуется полная лицензия Windows.
  • Работа двух операционных систем на одной машине требует дополнительного администрирования, то есть, дополнительного расхода времени персонала.
  • При использовании двух операционных систем возникают некоторые дополнительные сложности, среди них:
    • Будет неясно, какой клиент запущен на машине: Windows-клиент или Linux-клиент, возможно следует назначить им разные сетевые имена и IP-адреса.
    • Конечные пользователи не смогут быстро переключаться между различными задачами, для обеспечения работы двух файловых систем придется организовать отдельные разделы.
  • У конечных пользователей может быть негативное отношение к необходимости перезагружать машину в процессе работы.

Вариант альтернативной загрузки имеет некоторые преимущества пред использованием виртуальной машины. Во-первых, не требуется покупать лицензию VMware, и это приводит к сокращению расходов. Не требуется дополнительной оперативной памяти, и ресурсы CPU используются не столь интенсивно, так как одновременно работает только одна операционная система, но дополнительное дисковое пространство требуется по-прежнему. Также как и в случае VMware, надо стремиться к минимизации количества клиентов, пользующихся вариантом альтернативной загрузки. Под Windows должно работать только то, что не может работать иначе, чем под Windows.

7.7.5 Что делать, если ни один из вариантов не подходит

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

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

Наиболее экономически выгодным решением будет оставить несколько машин работать под Windows и собрать на этих машинах все приложения, которые не допускают миграции. Такие машины по необходимости будут работать в однопользовательском режиме, так как для тех приложений, которые допускают многопользовательский режим, более разумным будет использование центрального сервера под Windows, как это было описано выше в Разд. 7.7.2. С централизованными клиентами можно работать удаленно, доступ к ним может быть организован с помощью такого инструмента как VNC, который работает с протоколом SSL (Secure Socket Layer). VNC обеспечивает нормальную работу приложения при том, что монитор, клавиатура и мышь подключены к удаленной машине, на которой запущен Linux-клиент. Использование протокола SSL гарантирует безопасную передачу данных.

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

7.8 Развертывание новых клиентов

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

Вот некоторые вопросы, которые надо решить, прежде чем приступать к развертыванию новых клиентов:

  • Каков будет метод развертывания новых клиентов: установка с использованием готового образа системы и пост-инсталляционных скриптов или автоматизированная установка с дистрибутива с использованием таких как методов как kickstart, принятый в дистрибутивах фирмы Red Hat или autoyast, принятый в дистрибутивах фирмы Novell?
  • Какова будет технология обновления клиентского ПО?
  • Как будут поддерживаться персональные настройки: централизованно или на каждой машине отдельно?

7.8.1 Метод развертывания новых клиентов

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

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

Можно принять один из двух методов автоматизированного развертывания большого числа новых клиентов:

  • Развертывание, основанное на применении готового образа диска или раздела.
  • Использование включенной в дистрибутив процедуры автоматизированной установки ОС.

7.8.1.1 Метод установки на базе готового образа

Образ диска или устройства для установки можно создать с помощью такого инструмента как partimag (версия с открытым кодом популярного инструмента Symantec Ghost), информацию о нем можно найти по адресу:

http://sourceforge.net/projects/partimage/

Если принят метод установки с готового образа, то не приходится заботиться о включении в RPM-пакеты всех специфических для данной конфигурации настроек. С другой стороны, персональные настройки и уникальные свойства той или иной рабочей станции должны быть установлены с помощью специальных скриптов после установки ОС.

7.8.1.2 Метод автоматической установки с дистрибутива

Некоторые дистрибутивы включают метод автоматизированной установки ОС, из такой процедуры исключены все интерактивные моменты. В дистрибутивы фирмы Red Hat включена процедура «быстрого старта», kickstart. Если используется эта процедура, то поведение программы установки ОС, anaconda, контролируется не пользователем, а данными, которые заранее были сохранены в специальном файле. В дистрибутивах фирмы Novell есть приложение autoyast с аналогичными функциями. Оба эти метода установки основаны на применении пакетов в формате RPM, дополнительные, «домашние» разработки могут быть включены в них именно в этом формате, могут быть добавлены также и пост-инсталляционные скрипты.

Если используется метод автоматической установки с дистрибутива (основанный на применении RPM-пакетов), все дополнительные приложения и конфигурационная информация должны быть организованы в форме пакетов. Во-первых, надо убедиться, что это возможно, во-вторых, учесть, что формирование пакетов потребует дополнительного времени.

7.8.2 Технология обновления клиентского ПО

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

Промышленные дистрибутивы обычно включают специальные инструменты для поддержки обновления пользовательского ПО.

7.8.3 Персональные настройки новых клиентов

После установки ОС на новых рабочих станциях необходима общесистемная настройка и персонализация. Это может быть сделано с помощью пост-инсталляционных скриптов и включать в себя:
  • Имя машины
  • IP адрес
  • Удаленные файловые системы, монтируемые на этой рабочей станции
  • Принтеры
  • Специфические приложения

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

Механизм firstboot представляет собой комбинацию, во-первых, программы, которая стартует при первой загрузке системы и позволяет ввести учетную запись пользователя, задать дату и время, иногда дополнительные данные, и, во-вторых, специального файла, который создается после окончания работы программы и препятствует ее повторному запуску. Удобство этого механизма состоит в том, что для его использования не требуется входа в систему и учетная запись пользователя создается только после окончания его работы.

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

Существует ряд инструментов, которые позволяют автоматизировать перенос персональных настроек, которые были сделаны на клиентской машине под Windows, в новое окружение, под Linux. В этом разделе мы не будем говорить о них подробно, упомянем только один хорошо известный инструмент — пакет Versora Progression Desktop, информацию о котором можно найти в издании Linux Client Migration Cookbook, Practical Planning and Implementation Guide for Migrating to Desktop Linux:

http://www.redbooks.ibm.com/redpieces/abstracts/sg246380.html

7.9 Выявление неисправностей и техническая поддержка после миграции

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

Проблемы могут быть не только технического плана. Привычные действия Windows-пользователя отличаются от тех, которые являются обычными под Linux.

При администрировании Linux-клиента используются методы, отличные от методов управления Windows-клиентом. То есть технический персонал также должен приспособиться к новым методам выявления и устранения неисправностей Linux-клиента. Первый и нелегкий шаг на этом пути — не перезагружать компьютер при возникновении малейшей проблемы, как это обычно делается с Windows-клиентом.

7.9.1 Каких сложностей следует ожидать

Главным средством предотвращения постмиграционных проблем является соответствующая подготовка конечных пользователей. Следует проявить внимание к пользователям и осторожность при их переходе к работе на Linux-клиентах.

Главные изменения для конечных пользователей при миграции на Linux-клиент будут следующие:

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

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

7.9.2 Как справляться с неожиданными сложностями

Даже при условии, что конечные пользователи подготовлены к переходу на работу с новым клиентом, у них могут возникнуть определенные проблемы. Технический персонал и администраторы сети должны быть подготовлены к решению таких проблем.

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

Вообще говоря, решение проблем, возникающих в Windows, начинается со следующих действий:

  • Перезагрузить систему
  • Просмотреть протоколы
  • Проверить драйверы оборудования и установить наиболее свежую версию из доступных

В отличие от монолита Windows, Linux состоит из большого числа во многом независимых модулей, следствием этого является очень большое число лог-файлов, в которых надо ориентироваться. Поэтому методика разрешения возникающих проблем будет следующая:

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

Технический персонал, работавший с Windows-клиентами, привык к тому, что половина проблем разрешается просто перезагрузкой системы. При работе с Linux-клиентом это не так. Как правило, просто перезагрузка системы ничего не дает, необходимо разобраться, в чем причина возникшей проблемы, и устранить ее.

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

7.9.3 Когда обращаться в службу поддержки производителя ПО

В службу поддержки поставщика дистрибутива или программного обеспечения следует обращаться, прежде всего, тогда, когда вы убедились, что проблема возникает из-за ошибки в работе ПО, или в том случае, когда программа работает не так, как должна работать согласно спецификации или руководству пользователя. Если проблема не связана напрямую с той частью операционной системы, за которую отвечает производитель дистрибутива или приложения, то решение можно попытаться найти, обратившись к ресурсам сообщества OSS.

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

В этом разделе мы подробно рассмотрим набор программного обеспечения, входящего в операционную систему Linux, от нижних уровней до самых верхних, остановимся на том, что отличает Linux от других ОС, поговорим о свободном ПО и его отличиях от ПО с открытым кодом, дадим определение дистрибутива и обсудим важность стандартизации. Раздел состоит из двух частей:

  • Разд. 8.1 Что такое Linux?
    Рассматриваются различия между ПО с открытым кодом и свободным ПО, обсуждаются дистрибутивы и стандарты.
  • Разд. 8.2 Технические отличия
    Обсуждаются компоненты операционной системы Linux на всех уровнях, особое внимание уделяется отличиям Linux от других операционных систем.

8.1 Что такое Linux?

Автором операционной системы Linux является Линус Торвальдс. Сразу следует оговорить две вещи. Во-первых, Торвальдс является автором ядра Linux, во-вторых, в разработке с самого начала принимала участие группа программистов. В 1991 году Торвальдс разработал UNIX-подобное ядро с открытым кодом, присвоил версии номер 0.02 и поместил код ядра в сети. Вокруг этого проекта возникла группа, совместные разработки программистов продолжались, и в 1994 году на свет появилось ядро версии 1.0. Этот момент можно считать началом существования операционной системы Linux.

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

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

Как ядро Linux, так и значительная часть ассоциированного с ядром программного обеспечения, распространяется под лицензией GPL (GNU General Public License), таким образом исходные коды Linux доступны каждому. Полный текст и информацию о GPL можно найти в сети по адресу:

http://www.linux.org/info/gnu.html

Информация о Free Software Foundation и проекте GNU можно найти в сети по адресу:

http://www.fsf.org

8.1.1 Свободное программное обеспечение и программное обеспечение с открытым кодом

Критическое значение для создания и развития ОС Linux имели два течения в области разработки программного обеспечения:
  • движение за свободное распространение программного обеспечение (точное определение свободного ПО можно найти по адресу: http://gnu.open-mirror.com/philosophy/free-sw.html)
  • движение разработчиков программного обеспечения с открытым исходным кодом (точное определение с ПО с открытым кодом можно найти по адресу: http://en.wikipedia.org/wiki/Open_source)

С точки зрения стороннего наблюдателя разница между двумя этими движениями кажется несущественной, однако каждому, кто занят разработками программного обеспечения, ясно, что это совершенно разные вещи. Движение за свободное распространение ПО — это социальное движение, декларацией которого является свободный, бесплатный доступ и использование ПО, особенно инструментального. Но всякому, кто знаком с предметом, ясно, что программа не может быть по-настоящему свободной, если ее исходные коды недоступны Можно сказать, что понятие «ПО с открытым кодом» шире, чем понятие «свободное ПО». С другой стороны, если программа относится к ПО с открытым кодом, то это вовсе не значит, что она является свободной. Распространение ее может быть ограничено терминами той или иной лицензии и, вообще говоря, она может распространяться за плату. Движение разработчиков ПО с открытым исходным кодом — это техническое движение, декларацией которого являются определенные принципы в разработке ПО.

Тому, кто интересуется различиям между свободным ПО и ПО с открытым исходным кодом, мы советовали бы прочесть очень интересное эссе:

Live and let License, Joe Barr, linuxworld.com, published 5/23/2001 http://www.itworld.com/AppDev/350/LWD010523vcontrol4/

В рамках этих двух движений возникло большое число групп или сообществ разработчиков ПО, именно усилиями этих сообществ и достигнута та прозрачность и открытость, которые являются главными достоинствами Linux и которые можно видеть на всех его уровнях: от системного ядра до прикладных программ. Эти достоинства — не просто техническое отличие, они являются следствием той свободы, которая была заложена в основание Linux.

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

8.1.2 Дистрибутивы

Существуют сотни дистрибутивов Linux (вместо «Linux-дистрибутив» иногда используется сленговое «Linux-distro»), одни используются в конкретном регионе, другие распространены по всему миру. Дистрибутивом называют комплект, состоящий из ядра ОС, а также необходимых утилит и приложений вместе с процедурой установки этого комплекта. Некоторые дистрибутивы имеют специфический набор программного обеспечения, а некоторые предназначены для определенных видов аппаратных средств.

Среди наиболее известных дистрибутив можно назвать Red Hat, Novell SUSE, Debian, Gentoo и Mandriva. Как правило, организации, которые занимаются распространением дистрибутивов, обеспечивают также и различные формы поддержки пользователей.

Большинство современных дистрибутивов Linux предоставляют следующие возможности:

  • Работа в 32-х и 64-х битовых архитектурах
  • Многозадачность
  • Поддержка многопользовательского режима и групп пользователей
  • Необходимые средства для работы в сети
  • Защита памяти
  • Поддержка кластеров, включая выравнивание нагрузки и обработку сбоев
  • Динамическая перенастройка
  • Поддержка архитектуры SMP

Рис. 8.1: Компоненты дистрибутива
Рис. 8.1: Компоненты дистрибутива

8.1.3 Стандарты

В последние годы масса усилий вкладывается в проекты стандартизации ядра Linux и его подсистем высокого уровня. Такие организации как FSG(Free Standards Group), FreeDesktop.org и OSDL (Open Source Development Labs) начали работать над многими проектами в этой области. В рамках этих проектов используются и расширяются уже существующие стандарты, такие как POSIX, Single UNIX Specification, XML, DOM, CORBA и многие другие. Вот некоторые примеры таких проектов:
  • File system Hierarchy Standard (FHS)
  • Linux Standard Base (http://www.linuxbase.org)
  • Проект интернационализации (OpenI18N)
  • Проект стандартизации печати (OpenPrinting)
  • Специальные возможности
  • Работа с кластерами (Open Cluster Framework)
  • Data Center Linux
  • Carrier Grade Linux

Замечание He так давно был разработан и опубликован стандарт LSB версии 3.1. Подробности о LSB можно найти в Разд. 4.7.

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

С точки зрения стандартизации Linux для настольных машин прогрессирует достаточно быстро. Вот примеры наиболее существенных областей, где ведется разработка:

  • Новые расширения и разбиение на модули X-сервера
  • Cairo (система векторной графики) с возможностью вывода в X Window, OpenGL и Postscript/PDF
  • HAL (прослойка для прозрачной поддержки различных аппаратных средств)
  • GStreamer (потоковый мультимедийный пакет)
  • D-BUS (канальная система обмена сообщениями )

8.2 Технические отличия

В этом разделе будут обсуждаться некоторые технические отличия в структуре и функциях тех версий ОС Windows и ОС Linux, которые ориентированны на настольные компьютеры.

Linux-клиент в общем является более динамично развивающейся системой, он имеет модульную структуру, его легко настраивать. ОС Linux состоит из ядра и окружающих ядро компонент. Некоторые возможности, которые есть также и в Windows, под Linux реализованы иначе. Тем читателям, которые привыкли работать в Windows-окружении, некоторые термины этого раздела могут быть незнакомы. Обратитесь к Прил. A.

Рассмотрим, из каких компонент состоит ОС Linux (см. также Рис. 8.2).

Ядро Linux


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

Устройства


Устройство — это элемент внутри операционной системы, который обеспечивает взаимодействие с аппаратными средствами. Драйвер устройства — это программа, которая трансформирует обращения ОС в физические действия аппаратного обеспечения.

Модули


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

Уровень приложений (пользовательское пространство)


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

8.2.1 Процесс загрузки ядра

Главным отличием ОС Linux от ОС Windows является надежность. Linux обычно работает стабильно и не требует перезагрузок. В этом разделе мы рассмотрим в подробностях процедуру начальной загрузка ядра ОС Linux.
Рис. 8.2: Операционная система Linux
Рис. 8.2: Операционная система Linux

Процесс начальной загрузки ядра включает следующие этапы:

  1. Инициализация процессора, доступны нижние адреса памяти, BIOS стартует загрузчик ОС (например, GRUB, LILO)
  2. Загрузчик загружает initrd и ядро операционной системы в оперативную память, bzImage самораспаковывается в /boot
  3. Загрузчик формирует параметры для запуска ядра (например, место расположения initrd) и передает управление ядру
  4. Ядро распаковывает initrd и монтирует его как корневую файловую систему
  5. Внутри initrd запускается исполняемый файл linuxrc. Файл linuxrc может быть любым допустимым исполняемым файлом, и initrd должен обеспечить выполнение этого файла (например, если linuxrc является скриптом оболочки, то в каталоге /bin должен быть соответствующий процессор обработки скрипта)
  6. Программа linuxrc загружает модули, необходимые для монтирования реальной корневой файловой системы
  7. Монтируется реальная корневая файловая система, initrd перемонтируется в /initrd
  8. Стартует процесс init, ему присваивается PID 1, init — это единственный процесс, запускаемый непосредственно ядром, остальные процессы являются процессами-потомками по отношению к init

Следует сделать некоторые пояснения по поводу термина initrd. Это файл, который в сжатом виде содержит образ загрузочного RAM-диска, отсюда и происходит его название (initial RAM disk). После распаковки этот файл используется как временная корневая файловая система, которая дает возможность ядру системы выполнить стартовые операции. Временная корневая файловая система должна содержать все модули и драйверы, необходимые для монтирования реальной корневой файловой системы, например, если реальная корневая файловая система имеет тип ext3 и расположена на SCSI-диске, то initrd должен содержать модули для поддержки ext3 и SCSI.

8.2.2 Внешние взаимодействия, файлы и сервисы

Внешние взаимодействия в Linux осуществляются посредством сокетов. Сокет — это псевдо-файл, в который можно писать или из которого можно читать. Это соответствует операции получения или отправки данных для коммуникационных процессов. Например, коммуникация по сети между двумя Linux-системами построена на основе двух пар сокетов с каждой стороны, каждый сокет при этом связан с IP-адресом и портом, через который осуществляется взаимодействие.

Все внешние устройства в Linux также представлены для ОС в виде файлов, обычно эти файлы расположены в каталоге /dev. Запись данных в этот файл соответствует записи на аппаратное устройство. За трансформацию данных, записанных в файл устройства, в физическое действие аппаратного обеспечения отвечает драйвер устройства.

Как упоминалось выше в Разд. 8.1.3, файловая система Linux построена в соответствии с FHS (Filesystem Hierarchy Standard). Большинство дистрибутивов Linux придерживаются стандартной структуры основных каталогов, ниже можно видеть общепринятый вариант такой структуры


Таблица 8.1: Стандартная структура каталогов (FHS)
КаталогОписаниеЗамечания
/ Корневой каталог файловой системы Все остальные каталоги и файловые системы являются подкаталогами корневого каталога
/binИсполняемые файлы основных командТакие команды как sh, ls и т.д.
/bootСтатические файлы загрузчика ОСИногда представляет собой отдельную файловую систему
/dev Файлы устройств
/etcСистемные конфигурационные файлыСостав каталога зависит от дистрибутива
/libОбщие библиотеки и модули ядра
/mediaТочка монтирования для временно подключаемых медиа-устройствЧасто бывает подкаталогом /mnt
/mntТочка монтирования для временно подключаемых файловых систем
/opt Программы приложений
/sbin Исполняемые файлы системных команд
/srv Данные для сервисов
/tmp Временные файлы
/usrГоловной каталог для вторичной иерархииСодержит дерево подкаталогов, структура которого также регулируется FHS
/var Основные переменные файлы Файлы протоколов, PID, кэш-файлы и т.д.

Более подробное описание FHS можно найти в сети по адресу: http://www.pathname.com/fhs

Существенным отличием от ОС Windows является отсутствие наименования жестких дисков буквами. Это отличие надо принимать во внимание, поскольку конечные пользователи привыкли, что символу С: \, например, соответствует системный диск ОС Windows, на диске D: \ расположены пользовательские данные, а E: означает CD-ROM.

8.2.3 Многопользовательский режим

Работа с пользователями и группами в Linux построена во многом так же, как в UNIX. Это значит, что многопользовательский режим работы был заложен в ОС Linux с самого начала ее проектирования. В этом Linux существенно отличается от ОС Windows, которая была изначально рассчитана на работу одного пользователя и стала многопользовательской только пройдя долгий путь развития. Поскольку поддержка многопользовательского режима стала позднейшей надстройкой в ОС Windows для настольных компьютеров, то там она реализована далеко не так надежно, как в ОС Linux.

Чтобы уточнить разницу в подходах рассмотрим подробнее следующие вопросы:

  • Могут ли несколько пользователей запускать процессы одновременно?
  • Могут ли несколько пользователей открыть свою сессию на компьютере одновременно?
  • Может ли быть установлено приложение, допускающее одновременное использование несколькими пользователями?
  • Как устанавливаются полномочия для различных пользователей?

8.2.3.1 Могут ли несколько пользователей запускать процессы одновременно?

Систему можно считать по-настоящему многопользовательской в том случае, если она позволяет нескольким пользователям запускать процессы одновременно. В Linux такая возможность заложена в основание операционной системы, поскольку ряд системных процессов запускается только от имени суперпользователя. Формально, число одновременно работающих пользователей под Linux не ограничено, их число может быть лимитировано настройками системы.

Под Windows несколько пользователей могут запускать процессы одновременно в рамках Windows Terminal Server.

8.2.3.2 Могут ли несколько пользователей открыть свою сессию на компьютере одновременно?

Для обеих операционных систем ответом на этот вопрос будет «да», несколько пользователей могут войти в систему одновременно.

Если речь идет об использовании консоли с графическим дисплеем, то для Windows это возможно при использовании Windows Terminal Server и Remote Desktop Protocol (RDP). Под Linux возможно открыть сессию клиента для Х-сервера на удаленном компьютере. Для рабочей станции под Linux есть также возможность переключения между консолями, которые открыты локально, с одним комплектом KVM (keyboard-video-mouse).

8.2.3.3 Может ли быть установлено приложение, допускающее одновременное использование несколькими пользователями?

И в этом случае для обеих операционных систем ответом на вопрос будет «да». Разница состоит, главным образом в том, как поддерживаются персональные данные и настройки, связанные с приложением.

В ОС Linux приложения обычно создают файлы настроек в домашнем каталоге пользователя, эти файлы имеют точку в качестве первого символа имени и поэтому называются «dot-files». Иногда место для хранения данных задается переменными окружения, заданными для каждого пользователя.

Изначально настройки для приложений в Windows хранились в системном регистре, который был один на всю систему, так как система была однопользовательской. Большинство современных версий ОС Windows поддерживают пользовательские настройки другим способом, файлы хранятся, главным образом, в папке «Documents and Settings», но старый подход до сих пор создает известные проблемы.

8.2.3.4 Как устанавливаются полномочия для различных пользователей?

Сразу оговоримся, что в момент написания этой книги нам ничего не было известно о том, какая система разграничения полномочий будет принята в версии Vista ОС Windows.

В ОС Linux существует один выделенный пользователь, он называется «суперпользователь» или «root». Многие системные процессы низкого уровня запускаются только от имени суперпользователя. Примером такого процесса может служить процесс начальной загрузки системы, init (всегда с PID 1). Суперпользователя нельзя переименовать, поэтому в каждой системе может быть только один суперпользователь, хотя часть его полномочий может быть делегирована другому пользователю.

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

Можно сказать, что Linux — это система с одним управляющим, а Windows — система с «семью няньками».

8.2.4 Графическое окружение и текстовый режим

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

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

Структура приложений графического окружения Linux также модульная, то есть, существует возможность независимо стартовать, останавливать и заменять его компоненты. В отличие от классической ситуации в Windows Linux оставляет возможность выбора средств обеспечения графического интерфейса на всех уровнях. Ниже в Табл. 8.2 представлены варианты решений на различных уровнях пользовательского интерфейса.


Таблица 8.2: Уровни системы X Window
УровеньВыбор
Менеджер дисплеяXDM, GDM, KDM, Entrance
X Window-сервер XFree86, X.org
Диспетчеры оконFVWM, IceWM, WindowMaker, Metacity, KWin, Enlightenment
Инструментарий GUIOpenMotif, GTK+, Qt, wxWidgets, FLTK, FOX, Swing, SWT, EFL
Графическое окружение рабочего столаKDE, GNOME, GNUStep, XFCE, ROX, Looking Glass, Metisse

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

Замечание Возможность в общем случае выбрать менеджера рабочего стола (например, KDE или GNOME) есть наглядная демонстрация модульности и гибкости Linux, которые отличают эту ОС от ОС Windows.

Система X Window по своей сути является системой типа клиент-сервер. Однако способ взаимодействия в ней сервера и клиента на первый взгляд кажется противоречащим интуиции. Та часть, которая запускается локально на рабочей станции, называется X Сервер, а запускаемое удаленно приложение, которое больше похоже на традиционный сервер, называется X-клиент. Ниже на Рис. 8.3 схематически показана архитектура системы X Window. X-сервер контролирует поведение дисплея и пары мышь-клавиатура. X-клиенты, в нашем примере это программы Xterm и Xclock, могут быть запущены либо на локальной машине (компьютер A), либо на удаленной машине (компьютер B) и взаимодействуют с X-сервером посредством сокетов.


Рис. 8.3: Схема архитектуры системы X Window
Рис. 8.3: Схема архитектуры системы X Window

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

Диспетчер окон (http://xwinman.org) — это клиентская программа системы X Window, которая обеспечивает X-клиентам возможность манипулировать окнами: позиционировать, передвигать, изменять размер. Диспетчер также выводит заголовок окна, рамки, обеспечивает работу бегунков и других сопутствующих элементов, следит за фокусом и обрабатывает события, передаваемые от устройств ввода. Существует возможность протестировать работу диспетчера окон и оконного интерфейса. Для этого с помощью Xnest запускают вложенный X-сервер (который в такой ситуации является одновременно и X-клиентом):


Пример 8.2.1: Запуск вложенного X-сервера с помощью Xnest
Xnest -fp ‘xset -q | grep fonts‘ : 1 &
xterm -display :1 &

На основе базовых библиотек X11 было разработано множество инструментов, облегчающих программирование графического пользовательского интерфейса GUI. Эти библиотеки позволяют разрабатывать темы рабочего стола и дополнительные библиотеки, обеспечивающие однотипный внешний вид и функциональность различных приложений. Кроме того, существуют и интегрированные среды разработки IDE (Integrated Development Environment), которые позволяют сделать процесс создания графического интерфейса еще более технологичным, например:

  • KDevelop/QTDesigner для KDE/Qt
  • Anjuta/Glade для GNOME/GTK+
  • MonoDevelop для Mono/C#
  • Eclipse или NetBeans для Java Swing/SWT

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

  • Электронная почта и средства делового планирования
  • Непосредственный обмен сообщениями
  • Работа с изображениями
  • Создание, просмотр и редактирование документов
  • Сканирование
  • Чтение и запись CD/DVD.

Все эти приложения имеют однородный по функциям и внешнему виду интерфейс, широкие возможности настройки и взаимодействия, включая функциональность «drag and drop», управление сессиями и виртуальными рабочими столами.

Менеджеры рабочего стола KDE и GNOME (вместе с соответствующим инструментарием Qt и GTK+) постепенно становятся стандартными для большинства разработчиков графических приложений под Linux. Некоторые традиционные поставщики UNIX также начинают их использовать.

8.2.5 Системные уровни выполнения

ОС Linux имеет возможность загружаться с различными уровнями выполнения. Системный уровень выполнения является конфигурационной опцией, которая определяет, какие процессы будут выполняться при загрузке системы для каждого уровня. Некоторый аналог уровней выполнения Linux представляет собой загрузка в безопасном режиме под Windows. Разница состоит в том, что уровни запуска позволяют управлять системой более избирательно и что поведение системы на каждом уровне можно гибко настраивать. Существует возможность загрузиться с одним из 11 системных уровней, для их обозначения используются цифры от 0 до 9 и литера S, однако широко используются только уровни 1,2,3 и 5. Уровень 0 зарезервирован для остановки системы, а уровень 6 — для перезагрузки. Уровень выполнения S — это специальный уровень, он используется скриптами до того, как начат запуск процессов «обычного» уровня выполнения. Общеупотребительные уровни выполнения и соответствующие им режимы можно видеть в таблице ниже.
Таблица 8.3: Уровни выполнения и соответствующие режимы
Уровень выполнения Режим
1 Однопользовательский режим
2Многопользовательский текстовый режим без поддержки сетевых соединений
3Многопользовательский текстовый режим с поддержкой сетевых соединений
5Многопользовательский режим с поддержкой сетевых соединений и запуском графического окружения

Конфигурация основных уровней запуска записана в файле /etc/inittab, суперпользователь может переключить уровень выполнения системы командой init.

8.2.6 Диски, разделы и файловые системы

В отличие от ОС Windows в ОС Linux не принято считать каждый отдельный диск узлом верхнего уровня в иерархии файловой системы. В Linux существует единственная точка верхнего уровня, каталог с именем «/», все остальные устройства монтируются в его подкаталоги. Например, CD-ROM монтируется как /mnt/cdrom (или как /media/cdrom в некоторых дистрибутивах). Оба вида организации файловой структуры имеют свои достоинства и недостатки. В Windows сразу можно видеть, какой файл физически расположен на каком устройстве. В Linux структура скорее логическая, не ориентированная на конкретную конфигурацию аппаратных средств, например, каталог /home может быть на том же диске, что и системная точка монтирования (/), а может быть и на другом диске, для пользователя при этом не будет никакой разницы.

В Windows сетевые устройства монтируются также, как и диски. В Linux другие файловые системы, в том числе сетевые (например, NFS или SMB) монтируются в подкаталоги текущей файловой системы (см. Прим. 8.2.2).

Например, существует возможность разместить домашний каталог пользователя на сетевом устройстве, такой вариант будет напоминать использование роуминг-профиля в Windows.


Пример 8.2.2: Монтирование Samba-каталога
smbmount //itsont05/data /mnt/itsont05_data

Linux может работать с большим числом файловых систем, таких как ext2, ext3, ReiserFS, XFS и JFS. Каждая из низ имеет свои достоинства, в некоторых случаях использование той или иной системы может вызвать сложности, но все они поддерживаются ОС. Основной файловой системой для дистрибутивов Red Hat является ext3, а в Novell Linux Desktop используется ReiserFS. Обе этих системы являются системами журналируемого типа, то есть поддерживают специальный журнал (log), в который записываются последние изменения, это позволяет без проблем восстановить файловую систему в случае того или иного сбоя. Файловые системы, с которыми работает Linux, имеют встроенные средства предупреждения фрагментации диска. Даже в том случае, если диск оказывается фрагментирован, это не оказывает большого влияние на скорость дисковых операций.

Linux также поддерживает и FAT, файловую систему, использующуюся в DOS и Windows. Файловая система NTFS, котороя появилась вместе с Windows NT, поддерживается только в режиме чтения. Существуют драйверы, которые позволяют писать на NTFS, но они работают не очень надежно.

8.2.7 Виртуальная память

Обе операционные системы как Windows, так и Linux, имеют систему работы с виртуальной памятью, но способы поддержки виртуальной памяти у них различны. Впрочем, изменения бывают даже в различных версиях одной ОС.

Основное различие между Linux и Windows состоит в подходе к вопросу, когда начинать использование виртуальной памяти. Linux начинает перемещать данные в область свопинга только тогда, когда исчерпана вся оперативная память. Обратное перемещение возникает в том случае, если выгруженная страница требуется активному процессу. Большой объем свопинга снижает производительность системы, особенно тогда, когда перемещение происходит в обоих направлениях. Активный свопинг может быть следствием недостатка оперативной памяти, некорректно установленных параметров ядра, отвечающих за работу с виртуальной памятью, или, возможно, неправильно выбранным размером страницы для свопинга. В Windows принята система превентивного свопинга, то есть, использования виртуальной памяти до того, как исчерпана вся физическая оперативная память. Это ускоряет освобождение оперативной памяти тогда, когда она требуется активному процессу, но увеличивает частоту выгрузки и объем перемещаемых данных.

Другим существенным отличием является то, что в Windows используется своп-файл, а в Linux — своп-раздел, хотя и своп-файлы также могут использоваться. В Windows системный диск C: обычно содержит файл pagef ile . sys, который используется для размещения данных, выгруженных из оперативной памяти. Его размер ограничен только размерами жесткого диска и вследствие этого файл может быть сильно фрагментирован, что замедляет работу операционной системы. В Linux во время установки системы для свопинга создается специальный раздел. Этот раздел не используется в основной работе ОС и зарезервирован только для размещения страниц основной памяти, поэтому он не может быть фрагментирован. С другой стороны, размер раздела определяется при первичной разметке диска и для того, чтобы увеличить область свопинга, требуется переразмечать диск.

Подсказка Если на машине установлены обе операционные системы, то, с целью повышения эффективности использования дискового пространства, имеет смысл настроить конфигурацию виртуальной памяти в Windows и Linux так, чтобы использовался один и тот же раздел. Информацию о том, как это сделать, можно найти в сети по адресу:

http://www.tldp.org/HOWTO/Swap-Space.html

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

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

8.2.8 Ссылки

В отличие от ОС Windows ОС Linux поддерживает ссылки на файлы (или каталоги) на уровне файловой системы. Вообще говоря, файловая система NTFS также имеет механизм поддержки ссылок, но Microsoft Windows не использует его. Существуют два типа ссылок: жесткие ссылки и символьные ссылки.

Символьная ссылка (иногда их называют «симлинки» от symlinks) представляет собой просто специальный файл, единственным содержанием которого является строка, которая содержит указатель на реальный файл (или каталог), при этом символьная ссылка может указывать на объект, расположенный на другом разделе. Символьная ссылка напоминает краткие имена Windows. Сходство между ними еще и то, что при удалении файла символьные ссылки на него не удаляются, но они перестают работать.

Для того, чтобы понять, что такое жесткая ссылка в Linux, надо уяснить себе, что операционная система работает не с известными нам именами, а с идентификаторами фалов inode, в которых записана вся необходимая ОС информация о расположении, размере и свойствах файла. Имена фалов являются только указателями на inode, они введены потому, что человеку было бы сложно узнавать файл по системному идентификатору. Жесткая ссылка — это просто еще один указатель на тот же inode. Жесткие ссылки имеют ограничения: нельзя создать ссылку в каталоге, который сам находится в другой файловой системе, нельзя создать ссылку на каталог, во избежание возникновения циклов в файловой системе. Если существует несколько жестких ссылок, то есть указателей на inode, то удаление одной их них никак не повлияет на существование файла, но после удаления последней жесткой ссылки файл будет удален из файловой системы.

8.2.9 Замена ядра

В отличие от Windows, которая представляет собой монолит, Linux построен по модульному принципу, вообще говоря, ядро его тоже представляет собой некоторый модуль. Вы можете установить на своей машине несколько ядер (хотя только одно из них будет работать в каждый момент времени). Например, устанавливая систему с дистрибутива, вы установили то ядро, которое в нем содержалось, но это ядро не поддерживает новое аппаратное обеспечение или специфическое устройство. Вы нашли свежую версию ядра, в которой нужное вам устройство поддерживается. Для того, чтобы проверить работоспособность оборудования с новым ядром, можно установить его дополнительно к старому и использовать опцию выбора загружаемой системы в загрузчике (GRUB, lilo и т.п.).

Следует иметь в виду, что в стандартных конфигурациях некоторых дистрибутивов возможность выбора системы для загрузки отключена. Например, дистрибутив Novell/SuSE настроен так, загружается только одно ядро, то, которое было установлено в системе последним. Это естественный подход, поскольку большинству пользователей никогда не приходится заниматься заменой ядра своей ОС. Для того, чтобы иметь возможность загружать различные версии ОС, необходимо изменить настройки загрузчика GRUB. Дополнительную информацию о системных загрузчиках и о том, как организовать возможность загрузки нескольких ядер, можно найти в сети по адресам:

http://www.gnu.org/software/grub/

http://en.wikipedia.org/ wiki/GNU_GRUB

http://www.tldp.org/HOWTO/Multiboot-with-GRUB.html

8.2.10 Драйверы устройств и поддержка аппаратного обеспечения

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

Сейчас ситуация меняется. Все больше производителей аппаратных средств предоставляют исходные коды своих драйверов, соответственно, устройства могут быть использованы в любой ОС, независимо от версии.

Однако надо иметь в виду, что некоторое оборудование может не иметь драйвера под Linux. Если такое оборудование распространено широко, то скорое появление драйвера под Linux весьма вероятно, поскольку сеть пользователей и разработчиков ПО для Linux все время расширяется, и драйверы возникают благодаря усилиям сообщества разработчиков ПО с открытым исходным кодом.

8.2.11 Поддержка шрифтов

Как уже упоминалось выше, ОС Windows может работать только в графическом режиме, и драйвер дисплея интегрирован в систему, то же можно сказать и о поддержке шрифтов. В Windows используется множество шрифтов, некоторые из них имеют копирайт фирмы Microsoft.

В ОС Linux дисплеем управляет система X Window. Текущая версия системы X Window имеет отдельный шрифтовой сервер. Шрифтовой сервер может использоваться не только X Window, но и другими приложениями. Для Linux существует широкий набор шрифтов, как свободно распространяемых, так и тех, которые можно получить за плату. В состав дистрибутивов Novell Linux Desktop и Red Hat Desktop входят некоторые лицензионные шрифты.

8.2.12 Поддержка 64-разрядных и многоядерных процессоров

До недавнего времени поддержка 64-разрядных процессоров редко включалась в ОС для настольных машин. Сейчас уже не только 64-разрядные, но и многоядерные процессоры все более широко используются в рабочих станциях.

Поддержка многоядерных процессоров и в Linux, и в Windows, организована также как и поддержка нескольких CPU, в итоге работа операционной системы происходит с набором логических CPU.

Надо отметить, что в Linux поддержка 64-разрядных процессоров появилась гораздо раньше, чем в Windows, например, он давно работал на 64-разрядном процессоре архитектуры IBM Power.

Переходя на 64-разрядную версию ОС, надо помнить, что не все 32-разрядные приложения гладко перенесут этот переход, поскольку они могут требовать для своей работы 32-разрядных системных библиотек. Использование драйверов устройств для 32-разрядной системы может также привести к возникновению проблем в 64-разрядной ОС.


Комментариев нет:

Отправить комментарий