Содержание


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

Часть V. Приложения

Comments

В этом приложении даются объяснения некоторых основных понятий...

А.1 Что все это значит?

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

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

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

A.2 Наиболее распространенные термины Linux

Account Name (Регистрационное имя пользователя) То же, что и Login ID, User ID (ID пользователя) или User Name (Имя пользователя). Это имя, которое присваивается пользователю в системе Linux. Различные пользователи могут быть зарегистрированы в системе с уникальными именами, со своими уровнями доступа (правами). После установки Linux регистрационные имена пользователей назначаются Суперпользователем (Superuser), называемым также пользователем root.

ACPI — Advanced Configuration and Power Interface (Усовершенствованный интерфейс конфигурирования системы и управления энергопитанием) ACPI обеспечивает функциональность управления энергопитанием на x86 платформах.

ALSA — Advanced Linux Sound Architecture (Усовершенствованная звуковая архитектура Linux) Система доступа к звуковым картам и другим аудио-устройствам под Linux. ALSA включает в себя поддержку для наиболее популярных аудио-чипов и адаптеров. ALSA заменила OSS в большинстве дистрибутивов. См. также «OSS».

АРМ — Advanced Power Management (Усовершенствованные средства управления питанием) Промышленный стандарт, позволяющий системному процессору и различным компонентам переходить в энергосберегающий режим, включая режим приостановки, спящий режим и режим выключения. Программное обеспечение APM особенно важно для мобильных устройств, поскольку позволяет сохранять заряд батарей.

Archive (Архив) Один большой файл, содержащий несколько других, обычно сжатых для сохранения места на диске. Чаще всего архив создается, чтобы облегчить передачу данных на другой компьютер. Известные форматы архивов — arj, tar и zip.

ARJ Известная программа для сжатия и архивирования файлов, доступная в Linux, Windows и других операционных системах. Файлы, сжатые ею, обычно имеют расширение .arj или .ar.

Awk — Aho, Weinberger, and Kernighan Язык программирования, полезный своей возможностью использовать регулярные выражения, обычно применяется для восстановления и преобразования данных. GNU версия этой программы называется Gawk.

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

Bash — Bourne Again Shell Улучшенная версия Bourne Shell. См. также «Korn Shell».

BDF Fonts (Шрифты BDF) Ряд растровых шрифтов для системы X Window. См. также «PostScript Fonts». См. также «TrueType Fonts».

Bin Каталог, в котором находятся исполняемые программы, главным образом, бинарные файлы.

Binaries (Бинарники) Исходный код, который был скомпилирован в исполняемую программу. В мире Linux есть программное обеспечение, которое распространяется только в исходном коде, есть такое, которое включает в себя и исходники, и бинарники и есть программное обеспечение, распространяемое только в бинарном формате.

Boot Disk (Загрузочный диск) Диск (дискета или CD), на котором записана часть операционной системы (такой как Linux), достаточная для того чтобы загрузить компьютер и запустить некоторые необходимые программы из командной строки. Это может понадобиться, если система по какой-либо причине стала неспособной загружаться сама. Кроме всего прочего, загрузочный диск можно использовать для деления диска на разделы и его форматирования, восстановления Master Boot Record (главной загрузочной записи) или копирования определенных файлов.

Bootloader (Загрузчик) Приложение, которое управляет начальным запуском компьютера. Загрузчики устанавливают начальное окружение и затем передают процесс загрузки выбранной операционной системе. См. также «GRUB». См. также «LILO».

Bot Сокращение от Robot (Робот). Программа, разработанная для поиска информации в Интернете при минимальном участии человека.

Bourne Shell Известная оболочка командной строки с большим количеством преимуществ по сравнению с командной строкой в DOS. См. также «Bash». См. также «Korn Shell».

BSD UNIX (Berkeley Software Distribution UNIX) Дистрибутив UNIX из университета Калифорнии в Беркли. См. также «FreeBSD».

Bzip2 Более новая программа для сжатия файлов в Linux, обеспечивающая меньший размер файлов, чем Gzip. Расширение файлов обычно .bz2.

CGI — Common Gateway Interface (Общий шлюзовой интерфейс) Используется веб-серверами для обмена данными между сценариями или приложениями, а затем передачи данных веб-странице или броузеру. CGI сценарии обычно создаются на языке Perl могут генерировать динамическое содержимое веб-страницы (включая корзины заказов в электронной коммерции, форумы и анкеты).

CHS — Cylinder/Head/Sector (Цилиндр/Головка/Сектор) Информация о диске, которая требуется FDISK в процессе создания разделов.

Client (Клиент) Механизм, который запрашивает услуги (e-mail, например) у сервера. Cluster (Кластер) Сеть из рабочих станций (PC или других) с Linux. (См. также Beowulf.)

COLA Сокращение, которым можно ссылаться на Интернет-конференцию comp.os.linux.announce, где публикуются материалы, связанные с Linux.

Command Line Interface — CLI (Интерфейс командной строки) Текстовая сессия, полноэкранная или в виде окна, где пользователь запускает программы, набирая соответствующие команды с параметрами или без них. CLI показывает выходные данные операционной системы или программы и выдает приглашение командной строки для дальнейшего ввода пользователем данных.

Command Prompt (Приглашение командной строки) Термин DOS, Windows и OS/2@, которым называют часть командной строки, куда пользователь вводит команды. См. также «Shell Prompt».

Compile (Компилировать) Переводить исходный код программы в исполняемый.

Compiled Language (Транслируемый язык) Язык, который требует программу-компилятор, чтобы преобразовать исходный код в исполняемую программу в двоичном коде, понятную компьютеру. Программу достаточно скомпилировать один раз и впоследствии запускать на выполнение уже из полученного би-нарника. Транслируемые языки и программы обычно быстрее, чем интерпретируемые или псевдокоды (p-code), но требуют дополнительного шага, компиляции, прежде чем приложение сможет быть запущено. Примеры транслируемых языков: C и C++, COBOL, FORTRAN.

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

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

Cron Демон Linux, который выполняет определенные задания в назначенное время или интервал времени.

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

Desktop (Рабочий стол) Пользовательский интерфейс операционной системы, выполненный в виде офисного стола с различными предметами на нем. Вместо настоящих телефонных аппаратов, ламп и лотков для документов на рабочем столе операционной системы располагаются иконки различных программ и данных, окна, панели задач и тому подобное. В Linux доступно несколько различных окружений рабочего стола, включая KDE и GNOME, которые пользователь может установить. См. также «GUI». См. также «Window Manager». См. также «X Window System».

Device Driver (Драйвер устройства) Программа, которая служит посредником между операционной системой и устройством (например, портами, дисководами, мониторами или принтерами). Она показывает операционной системе, какие возможности имеет устройство и переводит команды операционной системы в инструкции, понятные устройству.

Distribution (Дистрибутив) Предоставляемый пользователю комплект ядра Linux с различными пользовательскими интерфейсами, утилитами, драйверами и другим программным обеспечением. Обычно его можно бесплатно скачать или приобрести за умеренную плату комплект CD. Наиболее распространенные дистрибутивы — Red Hat, SUSE и Debian. Иногда дистрибутив называют «distro».

Dpkg — Debian Package Manager (Менеджер пакетов Debian) Встроенный в Debian Linux, но совместимый с другими дистрибутивами инструментарий для получения и установки пакетов через Интернет. Он создает файлы с расширением .deb. Похож на RPM.

Emacs — Editing with MACroS (Редактирование с помощью MACroS) Популярный текстовый редактор, обычно используется как консольное приложение. См. также «Vi».

Enlightenment («Просвещение») Один из нескольких пользовательских интерфейсов (менеджеров окон). Более подробно можно изучить на сайте http://www.enlightenment.org. См. также «GNOME». См. также «KDE». См. также «X Window System».

Environment variable (Переменная окружения) Переменная, которая используется в скриптах или консольных командах, ссылается на различные установки окружения. Часто встречающаяся переменная окружения $HOME, например, указывает на домашний каталог данного пользователя.

Executable bit (Бит исполнения) Часть файла, которая определяет, может ли файл быть выполнен непосредственно. Файлы без исполняемого бита считаются файлами данных. Обратите внимание, что обычно бывает возможно выполнить файл без такого бита, если использовать вспомогательное приложение. (Например, команда perl ./noexec.pl запустит приложение noexec.pl, даже если исполняемый бит в нем не установлен.)

File Extension (Расширение файла) Завершающие символы названия файла, расположенные после точки (.). Расширение файла обычно характеризует его тип. В отличие от Windows, в Linux исполняемые файлы обычно не имеют расширения.

File System (Файловая система) Набор программ, которые сообщают операционной системе как получить доступ и интерпретировать содержимое дисковода или лентопротяжного устройства или другого носителя информации. Распространенные файловые системы — FAT и NTFS в Windows и ext3 и ReiserFS в Linux.

Filter (Фильтр) Программа, которая считывает данные (из файла, вывода программы или из ввода командной строки), обрабатывает их в соответствии с заранее определенными условиями (например, сортирует в алфавитном порядке) и выводит обработанные данные. Некоторые фильтры включают в себя Awk, Grep, Sed и Sort.

Finger Команда Linux, которая предоставляет информацию о пользователях, зарегистрировавшихся в системе.

Foreground Process (Приоритетный процесс) В многозадачной операционной системе, такой как Linux, приоритетный процесс — это программа, с которой пользователь взаимодействует в данный момент (например, вводит данные). Разные программы могут становиться приоритетными в те моменты, когда пользователь переключается на них. В окружении с множеством окон, расположенных на разных уровнях, это соответствует самому верхнему окну.

FreeBSD — Free Berkeley Software Distribution Операционная система, которая, как и Linux, включает в себя множество GNU программ и позволяет использовать многие пакеты, аналогичные пакетам Linux. Однако некоторые функции ядра осуществляются здесь по-другому. См. также «BSD UNIX».

Fsck — File System Check (Проверка файловой системы) Команда для сканирования диска на наличие ошибок и по возможности исправления этих ошибок. Похожа на ScanDisk в Windows.

FTP — File Transfer Protocol (Протокол передачи файлов) Метод передачи файлов с и на другие компьютеры, зачастую являющиеся репозиториями программного обеспечения.

GCC — GNU C Compiler (GNU компилятор языка C) Высококачественный компилятор языка C, распространяемый под GPL.

GIMP — GNU Image Manipulation Program (GNU программа работы с изображениями) Популярный графический редактор в Linux.

GNOME — GNU Network Object Model Environment (Сетевая объектная среда GNU) Один из нескольких пользовательских интерфейсов (менеджеров окон) для Linux, построенный с помощью GTK+. Подробнее о GNOME читайте на сайте http://www.gnome.org.

При вербальном общении G не немой звук, как в слове Guh-Nome. См. также «Enlightenment». См. также «KDE». См. также «X Window System».

GNU Project — GNU is Not Unix (Проект GNU — GNU не есть Unix) Попытка Фонда Свободного ПО (Free Software Foundation — FSF) Массачусетского Института Технологии (Massachusetts Institute of Technology — MIT) разрабатывать и продвигать альтернативные запатентованным UNIX проекты. Программное обеспечение GNU попадает под лицензию GPL.

GNU/Linux То же самое, что Linux. Названо так, потому что многие компоненты, входящие в состав дистрибутива Linux, являются программами GNU.

GPL — GNU General Public License (Общая открытая лицензия GNU) Часто используемое лицензионное соглашение, регулирующее использование и распространение. Любая производная работы, выполненной под GPL, должна также выполняться под этой или похожей лицензией. Это относится к приложениям, которые взаимодействуют с библиотекой GPL. Копию соглашения GPL можно найти на странице http://www.gnu.org/copyleft/gpl.html.

Grep — Global Regular Expression© and Print Программа, которая ищет в файлах образец текста и выводит все строки, содержащие заданный образец.

GRUB — G Ran d Unified Bootloader Утилита управления загрузкой операционной системы. GRUB предоставляет графическое меню для выбора загружаемой операционной системы. GRUB заменил LILO во многих дистрибутивах. См. также «LILO».

GTK+ — GIMP ToolKit Мощная, быстрая, свободно распространяемая графическая библиотека для системы X Window в Linux, которую программисты используют для создания кнопок, меню и других графических объектов. При устном общении ее называют GTK. См. также «GNOME». См. также «Motif». См. также «Qt».

GUI — Graphical User Interface (Графический пользовательский интерфейс) Коллекция иконок, окон и других экранных графических изображений, позволяющих пользователю взаимодействовать с операционной системой. См. также «Desktop». См. также «Window Manager».

Gzip — GNU zip Используемая в Linux программа сжатия файла. Последние версии создают файлы с расширением .gz. (расширение .z или .Z показывает, что использовалась более старая версия Gzip.) Сжатие используется, чтобы уменьшить размер файла, тем самым сохраняется место на диске и уменьшается время передачи файла. (Когда Gzip используется вместе с Tar, результирующий файл имеет расширение .tgz, .tar.gz или .tar.Z.)

Hard Link (Жесткая ссылка) Жесткая ссылка — это связь между названием файла и его копией. При создании жесткой ссылки никакие данные не копируются, создается новый вход (новое имя) к исходному файлу. При удалении исходного файла жесткая ссылка, указывающая на него, остается. Жесткие ссылки могут указывать только на файлы внутри текущего разделе. См. также «Symbolic link».

Home Directory (Домашний каталог) Каталог, в который пользователь попадает сразу после входа в систему и в котором хранится большинство (если не все) его файлов. Обычно находится в подкаталоге домашнего каталога /home. Иногда на него можно ссылаться с помощью переменной окружения $HOME, которая указывает на домашний каталог данного пользователя. Также на него указывает специальный символ командного интерпретатора ~.

HTML — Hyper Text Markup Language (Язык разметки гипертекста) Стандартный язык разметки для проектирования веб-страниц. Теги разметки или команды форматирования позволяют разработчику вебстраниц выделять текст, определять расположение графики, создавать ссылки и т.д.

HTTP — Hyper Text Transport Protocol (Протокол передачи гипертекста) Набор указаний, созданный для запроса и отправки веб-страниц, основанных на применении языка разметки HTML.

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

Interpreted Language (Интерпретируемый язык) В отличие от транслируемой программы, которая один раз с помощью компилятора преобразуется из исходного кода в исполняемый файл, интерпретируемая программа преобразуется в бинарник «на лету» при каждом запуске программой-интерпретатором. Интерпретируемые языки (и, соответственно, написанные на них программы) обычно медленнее, чем транслируемые и p-code и в целом имеют ограниченные права доступа к низкоуровневым функциям операционной системы или прямого доступа к аппаратным ресурсам. С другой стороны, они часто включаются в операционную систему и обычно более просты для программирования, чем транслируемые языки. Примерами интерпретируемых языков могут служить BASIC, Perl, Python и REXX/Object REXX.

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

Хотя Java может быть компилирована в собственный код, обычно она транслируется в байткод, который затем интерпретируется. См. также «JIT».

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

JavaScript Межплатформный язык сценариев WWW, в какой-то мере имеющий отношение к Java. Он может использоваться как язык сценариев на стороне сервера, как язык, встроенный в HTML, обрабатываемый сервером, и как встроенный язык для броузеров.

JDK™ — Java Development Kit (Комплект разработчика для Java) Набор средств программирования на Java от компаний Sun, IBM или других, доступный в Linux и других операционных системах.

JFS — Journaled/Journaling File System (Журналируемая файловая система) Файловая система, в которую встроены возможности восстановления данных. Изменения в содержании, прежде чем вступить в силу, записываются в журнал (log-файл), поэтому если содержание повредится (например, из-за отключения питания в момент записи), его можно будет восстановить из журнала вместе с изменениями.

JIT Compiler (Компилятор JIT) Компилятор для интерпретируемых языков, позволяющий на лету автоматически компилировать программы в родной машинный язык для более быстрого представления программы. JIT расшифровывается как Just-In-Time — точно в срок.

Journaling (Журналирование) То же, что регистрация (logging). Запись информации в журнал (log-файл), как метод отслеживания изменений.

JVM™ — Java Virtual Machine (Виртуальная машина Java) Окружение Java, необходимое для запуска программ, написанных на Java, включающее в себя интерпретатор Java. Для каждой уникальной операционной системы (таких как Linux и Windows) требуется своя JVM, но любая JVM может запускать одну и ту же версию программы на Java.

KDE — K Desktop Environment Один из нескольких пользовательских интерфейсов (менеджеров окон) в Linux, собранный с помощью Qt. Более подробно о KDE можно узнать на сайте: http://www.kde.org. См. также «Enlightenment». См. также «GNOME». См. также «X Window System».

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

Korn Shell Улучшенная версия Bourne Shell, которая включает в себя мощную поддержку скриптов и редактирование командной строки. Поддерживает множество скриптов, написанных на Bourne Shell. См. также «Bash».

LGPL — Lesser GPL (Малая GPL) Вариант GPL, который обычно относится к программным библиотекам. Любое приложение может взаимодействовать с библиотекой или приложением, попадающими под LGPL, но любая производная библиотека должна попадать под LGPL или подобную ей лицензию. Копию лицензионного соглашения GPL можно найти на сайте: http://www.gnu.org/copyleft/lesser.html.

LILO — LInux LOader Утилита управления загрузкой раздела, способная загружать операционные системы. LILO создана не только для загрузки Linux. В большинстве дистрибутивов LILO заменено на GRUB. См. также «GRUB».

Link (Ссылка) Связь названия с файлом или каталогом. См. также «Symbolic link». См. также «Hard Link».

Linux UNIX-подобная операционная система с открытым кодом, изначально созданная Линусом Торвальдсом. Термин «Linux» на самом деле относится только к ядру операционной системы. Несколько сот человек внесло свой вклад в разработку ядра Linux. Оставшаяся часть дистрибутива Linux состоит из различных утилит, драйверов, приложений, пользовательского интерфейса и других программ, которые, в принципе, могут быть скомпилированы и запущены на других UNIX системах.

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

Lynx Известный неграфический (текстовый) веб-броузер.

Macro (Макрос) Набор инструкций, хранящийся в исполняемой форме. Макросы бывают специфичны для конкретных приложений (такие как электронная таблица или текстовый процессор, которые делают определенные шаги внутри данной программы) либо «общего назначения» (например, макрос клавиатуры, который вставляет ID пользователя, при нажатии на клавиатуре комбинации Ctrl-U).

Man Команда Linux, вызывающая страницы справочного руководства.

MBR — Master Boot Record (Главная загрузочная запись) Первый физический сектор на загружаемом диске. Место, которое системный BIOS проверяет, чтобы определить какой из разделов является загрузочным (активным) и загрузить с него операционную систему при первоначальном включении компьютера.

Mesa Реализация OpenGL (Open Graphics Library — Открытая графическая библиотека) API (Application Programming Interface — Интерфейс программирования приложений). Mesa предоставляет стандартные правила и набор технических средств для написания 2D и 3D графического программного обеспечения с аппаратной поддержкой.

MIME — Multipurpose Internet Mail Exchange (Многоцелевые расширения почтовой службы в Интернете) Протокол передачи информации, который позволяет включать в текстовые сообщения электронной почты нетекстовые данные (например, графику, видео или аудио).

Motif Графическая библиотека в Linux, разработанная Фондом открытого программного обеспечения (Software Foundation — OSF), используемая программистами при создании кнопок, меню и других графических объектов для системы X Window. См. также «GTK+». См. также «Qt».

Mount (Монтировать) Сопоставлять диск файловой системе. Жесткими дисками, CD и дискетами можно пользоваться только после того, как они были подмонтированы. Извлекать диск из дисковода можно, как правило, после его отмонтирования. В большинстве современных дистрибутивов диски монтируются и отмонтируются автоматически. Также возможно подмонтировать образы дисков (такие как ISO-файлы), сетевые устройства и даже ссылки на другие части файловой системы.

Mount Point (Точка монтирования) Место в файловой системе, куда подмонтирован раздел жесткого диска, сменный носитель или какой-либо другой ресурс.

Multitasking (Многозадачность) Способность операционной системы выполнять более одной программы или задания одновременно. В невытесняющей многозадачной ОС подобной Windows 98 одно приложение должно освободить ресурсы по требованию, чтобы другое смогло использовать их. В вытесняющих многозадачных ОС, таких как Linux, Windows NT-подобных или OS/2, ресурсы освобождаются по запросу операционной системы по времени либо по приоритету так, что приложение не может захватить ресурсы, когда они нужны другой программе. См. также «Multithreading». См. также «Time-sharing».

Multithreading (Многопотоковость) Способность операционной системы одновременно запускать программы, которые были разделены на компоненты или потоки. Многопотоковость, при правильной организации, предлагает лучшее использование процессоров и других системных ресурсов. Текстовый процессор может удачно использовать многопотоковость, если будет проверять грамматику в приоритетном режиме и в это же время в фоновом сохранять на диск и печатать документ. См. также «Thread».

NFS — Network File System (Сетевая файловая система) Файловая система, которая дает доступ к файлам по сети или Интернету.

Newbie (Новичок) Некто, малознакомый с Интернетом, компьютерами вообще или Linux в частности (например, «Linux newbie»).

Object-Oriented (Объектно-ориентированный) Методология разработки программного обеспечения, которая предлагает программисту использовать уже написанные программные модули (компоненты), вместо того чтобы требовать от разработчика каждый раз писать свой программный код. Использование стандартных компонентов уменьшает время разработки (потому что написание и тестирование этих компонентов уже было проведено другими программистами) и улучшает стандартный вид и функции программ, использующих одни и те же модули.

OO См. «Object-Oriented».

Open Source (Открытый исходник) Несколько неясный термин, относящийся к программному обеспечению, которое выпускается вместе со своим исходным кодом. Факт присутствия исходного кода еще не означает, что пользователи могут изменять и распространять его. Этот термин иногда подменяют выражением «Свободное ПО», хотя это не всегда одно и то же. См. также «Public Domain». См. также «Shareware».

OSS — Open Sound System (Открытая звуковая система) Драйвер для доступа к звуковым картам и другим аудио-устройствам под Linux. Он «вырос» из Linux Sound Driver и поддерживает наиболее известные аудио-чипы и адаптеры. В большинстве дистрибутивов OSS заменен на ALSA. См. также «ALSA».

OSS — Open Source Software (ПО с открытым исходным кодом) См. «Open Source».

Owner (Владелец) Пользователь с привилегированными правами доступа к файлу; обычно тот, кто этот файл и создал.

P-code (Pseudo-code) Language (П-код, псевдокод) Род интерпретируемого языка. Псевдокод по способу исполнения программ на нем написанных представляет из себя что-то вроде гибрида транслируемых и интерпретируемых языков. Как и в интерпретируемых языках, программы на псевдокоде переводятся в бинарный вид автоматически при запуске. Однако, в отличие от того, как это происходит при использовании транслируемых языков, исполняемый бинарный файл хранится в псевдокоде. Вдобавок, в отличие от интерпретируемого языка, программу не надо переводить в бинарник при каждом запуске. После того как она первый раз конвертируется в исполняемый псевдокод, при каждом дополнительном выполнении используется именно он, если только в начальной программе не были внесены изменения. Псевдокод (и программы, написанные на нем) обычно медленнее, чем транслируемые языки и программы, но быстрее, чем интерпретируемые. Кроме того, как правило, имеет права доступа к некоторым низкоуровневым функциям операционной системы, хотя не имеет прямого доступа к аппаратным средствам. Такие языки обычно встроены в операционные системы и некоторые из них проще транслируемых. Примерами псевдокода могут служить Java, Python и REXX/Object REXX.

РАМ — Pluggable Authentication Modules (Подключаемый модуль аутентификации) Сменный модуль идентификации пользователя для системы безопасности, который позволяет писать программы, не используя информацию о том, какая схема аутентификации будет использоваться. Благодаря этому, со временем, при замене одного модуля другим не придется переписывать программы.

Panel (Панель) В Linux так называют то, что соответствует Панели задач (Taskbar) в Windows.

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

PCF fonts (Шрифты PCF) Множество растровых шрифтов для использования в системе X Window.

PDF (Portable Document Format) files (Файлы PDF) Бинарные файлы, которые создаются с помощью программы Adobe Acrobat или других программ, способных формировать этот формат на выходе. Используются для создания платформно-независимых документов, которые можно просматривать с помощью Acrobat Reader или других программ, включая веб-броузеры с подключенным Acrobat Reader.

Perl — Practical Extraction and Report Language (Язык Perl) Широко известный язык программирования. Часто используется на веб-серверах Linux для создания CGI-скриптов.

Permission (Право доступа) Полномочие читать и писать в файлы и каталоги и выполнять программы. Различные уровни доступа назначаются Суперпользователем отдельным файлам, каталогам либо пользователю (User ID). Права доступа указываются одной из двух форм сокращенной записи. При этом права доступа разбиты на три группы: первая — доступ для владельца файла, вторая — доступ для группы и третья — доступ для всех пользователей. В первой форме сокращения записи используется аббревиатура прав доступа, тогда rwx означает read (читать) write (писать) и execute (выполнять). Более общая форма сокращения записи использует для обозначения прав доступа числа. Число соответствует сумме прав доступа, считается, что read (читать) равно четырем, write (писать) — двум и execute (выполнять) — одному. К примеру, права доступа к файлу, владелец которого может читать и писать в него, группа только читать, а все остальные вообще не имеют доступа к нему, будут записаны как 640.

PGP — Pretty Good Privacy Высокосекретная, использующая схему с открытыми ключами программа шифрования данных в Linux и других операционных системах.

Pipe (Канал) См. «|».

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

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

POSIX — Portable Operating System Interface for uniX (Интерфейс переносимой операционной системы для uniX) Набор стандартов программного интерфейса, который регулирует как написать исходный код приложения, чтобы оно было переносимо между операционными системами. POSIX базируется на UNIX и служит основой для спецификации X/Open, созданной компанией The Open Group.

PostScript Язык описания страниц, разработанный фирмой Adobe Systems, который сообщает принтеру, как отображать текст и графику на печатаемой странице.

PostScript Fonts (Шрифты PostScript) Огромное множество шрифтов, которые можно использовать в OS/2, Microsoft Windows и системе X Window.

Файлы шрифтов могут иметь расширения .afm, .pfa и .pfb. Иногда эти шрифты называют шрифты AdobeType 1 или шрифты ATM (Adobe Type Manager — менеджер шрифтов Adobe). Обычно для шрифтов PostScript требуется PostScript принтер.

Process (Процесс) Исполняемая программа. См. также «Multitasking». См. также «Multithreading».

Public Domain (Общедоступное ПО) Программное обеспечение, которое может быть использовано и изменено любым человеком в любых целях, его даже можно включать и распространять в составе коммерческого ПО. Общедоступное ПО не защищено никакими авторскими правами. См. также «Open Source». См. также «Shareware».

Public Key Encryption (Шифрование с открытым ключом) Метод шифрования данных, в котором используется пара ключей: открытый и секретный. Данные, зашифрованные с открытым ключом, можно расшифровать только с помощью секретного и наоборот. Обычно открытый ключ сообщается и может быть использован для расшифровки данных, переданных владельцем секретного ключа, а секретный ключ используется в качестве подписи.

Python (Питон) Объектно-ориентированный язык программирования, псевдокод.

Qt Мощная, быстрая графическая библиотека с открытым кодом для системы X Window в Linux, используется программистами для создания кнопок, меню и других графических объектов. В разговоре произносится так же как и слово «cute» («кьют», привлекательный). См. также «GTK+». См. также «KDE».

Queue (Очередь) Список задач, ожидающих исполнения, например, «очередь печати» («the print queue»).

RAID — Redundant Array of Independent/Inexpensive Disks/Devices (Избыточный массив независимых/недорогих дисков/устройств) Метод обеспечения избыточности данных, улучшенной работы и быстрого восстановления их при сбоях в работе диска путем разделения или дублирования данных на несколько дисков. Часто используемые типы RAID — это RAID 0 (Data Striping, расщепление данных), RAID 1 (Disk Mirroring, зеркалирование диска) и RAID 5 (Striping with Distributed Parity, расщепление с распределенным контролем по четности). Конфигурации RAID обычно требуют, чтобы диски были идентичны (одинаковой емкости и даже бренда и модели). Массивы RAID воспринимаются операционной системой, как одно устройство.

RC File (Файл RC) Файл сценария, содержащий стартовые инструкции для программы (приложения или даже операционной системы). Файл, который должен автоматически выполняться, когда начинает загружаться операционная система, содержит список инструкций (команд или других сценариев), которые надо выполнить.

RCS — Revision Control System (Система контроля изменений) Набор программ, который контролирует разделяемый доступ к файлам в группе и отслеживает изменения в тексте файла. Обычно используется для обслуживания программирования исходных кодов модулей.

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

Root User (Пользователь root) ID пользователя, которому разрешено выполнять задачи всех системных уровней. См. также «Superuser».

Root Window (Корневое окно) Основная сессия, в которой запущен рабочий стол Linux.

RPM — RPM Package Manager (Менеджер пакетов RPM) Инструментарий для получения и установки пакетов (в том числе через Интернет, включен в некоторые дистрибутивы Linux. Он создает файлы с расширением .rpm. Похож на Dpkg.

Script (Сценарий или скрипт) Набор команд, хранящихся в файле. Используется для автоматического, повторяющегося исполнения процессов. См. также «RC File».

SCP — Secure Copy (Безопасное копирование) Метод для безопасного копирования файлов между локальной и удаленной машиной. SCP использует SSH как backend. См. также «SSH».

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

Shareware (Условно-бесплатное ПО) Вид коммерческого программного обеспечения, в котором предлагается «испытать прежде чем купить». Если заказчик продолжает пользоваться продуктом после короткого испытательного периода, его просят заплатить определенную, обычно номинальную, плату. См. также «Open Source». См. также «Public Domain».

Shell (Командная оболочка) Текстовое окно, в котором содержится интерфейс командной строки операционной системы.

Shell Prompt (Приглашение оболочки командной строки) Область командной строки, куда пользователь вводит данные. Приглашение командной строки в DOS выглядит как символ «Больше» (>), а в Linux обычно как «Процент» ( %), «Доллар» ($) или какой-нибудь другой в зависимости от того, какая командная оболочка используется. См. также «Command Prompt».

Shell Script (Shell-скрипт) Сценарий, разработанный для автоматического выполнения при запуске командной оболочки.

Slash (Косая черта) Название символа /. Используется в указании пути к файлу, в отличие от обратной косой линии (\), принятой в операционных системах DOS, Windows и OS/2.

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

Spool — Simultaneous Peripheral Operation On-Line (Одновременные операции с периферийным оборудованием в реальном времени) Отправлять данные программе, которая копит информацию, для более позднего использования, например, очередь печати (print spooler).

SQL — Structured Query Language (Язык структурированных запросов) Язык, который используется для того, чтобы управлять записями и полями (рядами и колонками) в реляционных базах данных. Иногда произносится как «сиквел» («sequel»).

SSH — Secure Shell Безопасный протокол, позволяющий входить на удаленную машину. Многие протоколы могут быть «туннелированы» в SSH, так что обмен между двумя машинами будет происходить через SSH (в зашифрованном виде), а не в открытую по сети.

String (Строка) Последовательность символов, как в «строке поиска».

Superuser (Суперпользователь) Обычно синоним для пользователя root.

Swap (Подкачивать) Временно перемещать данные (программы или файлы данных) из оперативной памяти в память диска (swap out, откачивать) или обратно (swap in, подкачивать), чтобы могло обрабатываться больше программ и данных, чем может позволить размер физической памяти. Это явление также называют виртуальной памятью.

Swap Space (Область подкачки, область свопинга) Место на диске, где временно хранятся подкачиваемые данные. Linux использует для области подкачки специальный раздел диска вместо файла подкачки.

Symbolic link (Символьная ссылка) Ссылка на файл или каталог. В английском иногда сокращают до «symlink». Если файл удаляется, символьная ссылка на него перестает работать. См. также «Hard Link».

Sync (Синхронизировать) Загружать весь ожидающий ввод/вывод данных на диск.

Syslog Linux System Logger (системный регистратор Linux), где хранятся все сообщения или ошибки системы.

Tag (Тег) Команда языка разметки, такого как HTML, предписывающая отображать информацию в определенном виде, например, по центру страницы, полужирным шрифтом или с использованием определенного шрифта.

Tar — Tape ARchive (Архив на магнитных лентах) Входящая в состав Linux программа компоновки файлов, которая собирает несколько файлов в один для облегчения его дальнейшего архивирования. Изначально она была разработана для создания резервных копий на магнитных лентах, но сегодня может использоваться на любом другом носителе информации. Сама по себе она создает файлы с расширением .tar, а вместе с программой сжатия данных Gzip — .tgz, .tar.gz или .tar.Z.

Tarball Файл, создаваемый утилитой Tar, в котором содержится один и более других, архивированных и, возможно, сжатых, файлов.

ТеХ Известная программа форматирования текстов, использующая макросы. Является основой программ LaTeX и teTeX.

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

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

TFTP — Trivial File Transfer Protocol (Тривиальный протокол передачи файлов) Упрощенная версия FTP — без аутентификации и многих других основных возможностей FTP.

Thread (Поток) Небольшая часть программы, которая действует как независимое подмножество большой программы. Многопотоковая программа может работать гораздо быстрее монолитной или однопотоковой, так как разные задачи в ней выполняются одновременно. Кроме того, потоки внутри одного приложения могут разделять ресурсы и передавать данные друг другу.

Time-sharing (Разделение времени) Метод организации доступа к процессору многих пользователей путем выделения для каждого из них части процессорных ресурсов на какой-то сегмент времени. См. также «Multitasking».

Torvalds, Linus (Торвальдс, Линус) Создал ядро Linux в 1991, является держателем авторских прав на Linux и в настоящее время остается координатором проекта развития Linux.

Touch Команда, которая меняет дату и время создания (или последнего изменения) файла, не затрагивая его содержимое. Если файла с заданным названием не существует, то будет создан пустой файл.

TrueType Fonts (Шрифты TrueType) Большое множество шрифтов, которые, в отличие от шрифтов PostScript не зависят от принтера. См. также «BDF Fonts». См. также «PostScript Fonts».

Tux (Тукс) Имя вымышленного пингвина — талисмана Linux.

Umount Команда для отмонтирования раздела жесткого диска, сменного носителя информации или других ресурсов. См. также «Mount».

UNIX UNIX начинался как собственная операционная система корпорации Bell Laboratories, разработанная ею в 1960-х. Со временем появилось множество несовместимых друг с другом коммерческих версий от компаний Apple (Mac OS X), Digital (Digital UNIX), Hewlett-Packard (HPUX), IBM (AIX®), NeXT (NeXTSTEP) и других.

UUCP Набор программ и протоколов, которые стали основой для международной сети UNIX-компьютеров. Расшифровывается как UNIX to UNIX Copy Program (Протокол связи UNIX-машин).

Vi Известный текстовый редактор, который обычно используется как консольное приложение. Существует более новая версия Vim. См. также «Emacs».

Virtual Desktop (Виртуальный рабочий стол) Метод, благодаря которому рабочее пространство пользователя расширяется за пределы экрана компьютера. Рабочий стол можно прокручивать влево и вправо, вверх и вниз, как будто за стеклом экрана расположен большего размера рабочий стол, и передвигая его, можно увидеть не поместившиеся иконки, окна и другие объекты. В качестве альтернативы, как это сделано в KDE, могут быть доступны несколько кнопок, по каждой из которых показывается область рабочего стола со своими объектами, по размеру равная реальному экрану монитора.

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

Virtual Memory (Виртуальная память) Процесс использования части дискового пространства в качестве временного хранилища памяти. Синоним Swap.

Widget (Виджет) Программный объект графического пользовательского интерфейса (такой как кнопка, полоса прокрутки, флажок) в системе X Window. См. также «X Window System».

Window Manager (Менеджер окон) Графический пользовательский интерфейс (GUI), который работает в системе X Window и дает пользователю доступ к окнам, иконкам, панелям управления и другим объектам рабочего стола. См. также «Desktop».

Working Directory (Рабочий каталог) Другое название для текущего каталога или каталога, в котором пользователь работает в настоящий момент времени.

Workspace (Рабочая область) Другое название для корневого окна (Root Window) или рабочего стола (Desktop).

Wrapper Программа, которая используется для запуска другой программы.

X Window System (Система X Window) Графическое окружение с многооконным интерфейсом для UNIX. Основная программа, необходимая многим пользовательским интерфейсам. См. также «Desktop». См. также «Window Manager».

X11 11-ая версия системы X Window.

XDM — X Display Manager (X менеджер экранов) Пользовательский дружественный внешний интерфейс входа в систему X Window.

XML — eXtensible Markup Language (Расширяемый язык разметки) Мощный новый язык разметки для оформления данных; похож на HTML, но позволяет программистам самим определять теги разметки и команды форматирования.

Zip Известная форма сжатия и архивирования файлов, доступная в разных операционных системах, включая Windows и Linux. Включает в себя программы PKZip/PKUnzip и Zip/Unzip. Файлы, созданные такими программами имеют расширение .zip.

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

ls -a > output.txt

См. также «>>». См. также «|».

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

ls -а >> output.txt

Повторный вызов этой команды продолжит запись в конец файла. См. также «>». См. также «|».

| Символ «канал» (на типовой 101-клавишной клавиатуре символ Shift-Backslash, расположенный над клавишей Enter); обычно используется, чтобы направить результат действия одной программы на вход другой. Например, чтобы найти в результате предыдущей команды слово «mcopy», используется следующая команда:

history | grep mcopy

См. также «>>». См. также «>».

/ См. «Slash».

~ См. «Home Directory».

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

B.1 Персональные данные пользователя в Windows

Набор персональных данных пользователя в Windows называют профилем (profile). В Windows 2000 и Windows ХР данные пользовательского профиля хранятся в каталоге:

c:\Documents and Settings\username

В Windows NT все собрано в каталог:

c:\winnt\profiles\username

В Windows эти каталоги используются для хранения различных видов индивидуальных данных, например, пользовательских документов, настроек и данных, относящихся к приложениям, временных файлов, файлов «предпочтений» и т.д. Имя каталога, как правило, соответствует имени пользователя, но может содержать и другие детали, например, имя компьютера или домена. Такие каталоги возникают в том случае, если создается новый пользователь, но с таким именем, которое уже существует на компьютере, для интеграции в домен. Такая практика приводит к тому, что на одном компьютере может быть несколько различных пользователей с одинаковым именем, но разными «добавками» к имени, например, может быть пользователь username.localdomainname и username.localcomputername. Этих пользователей надо различать.

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

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

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

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

B.2 Персональные данные пользователя в Linux

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

В файле /etc/profile содержатся общесистемные настройки и информация о программах, которые запускаются во время авторизации. Настройки конкретного пользователя, которые расширяют или замещают системные, как правило, находятся в домашнем каталоге пользователя, который определен в переменной $HOME. Стандартным домашним каталогом для всех дистрибутивов Linux является

/home/username

Имя файла с настройками может быть различным в различных дистрибутивах. Например, в Red Hat Enterprise Linux локальный профиль хранится в файле .bash_profile (Bourne Again SHell), а в SuSE Linux используется файл .profile.

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

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

Способы хранения и поддержания персональных данных пользователя, касающихся настройки рабочего окружения, зависят от выбора менеджера рабочего стола. Ниже мы рассмотрим способы хранения персональных данных в двух наиболее популярных менеджерах: KDE и GNOME. Вопросы, которые мы будем обсуждать, уже частично рассматривались в Разд. 7.3.

B.3 Персональные настройки для рабочего стола под управлением KDE

Настройки KDE базируются на персональных данных пользователя, которые хранятся в подкаталоге домашнего каталога пользователя

/home/username/Desktop

Этот каталог содержит иконки и ссылки на каталоги, которые представлены на рабочем столе.

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

  • kdeglobals
  • kdesktoprc
  • kickerrc

В дистрибутиве Red Hat эти файлы хранятся в каталоге /usr/share/config. В других дистрибутивах место расположения их может быть другим. Эти файлы содержат персональные настройки, которые приписываются каждому новому пользователю. Таким образом, все изменения, сделанные в этих файлах, будут унаследованы вновь создаваемыми пользователями. Некоторые моменты, связанные с управлением этими файлами, уже обсуждались в Разд. 9.1.

B.4 Персональные настройки для рабочего стола под управлением GNOME

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

/home/username/.gnome-desktop

Работа с иконками в GNOME организована так же как и в KDE. То есть, информация о них хранится в простых текстовых файлах в формате ASCII, в них же определяется поведение приложения, связанного с иконкой. Новые файлы иконок могут быть сохранены пользователем в каталоге /home/<user>/Desktop.

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

/etc/gconf/gconf.xml.defaults/desktop/gnome/

Каждому виду настроек соответствует свой подкаталог, ниже приведен пример структуры каталога настройки:

/etc/gconf/gconf.xml.defaults/desktop/gnome/accessibility 
/etc/gconf/gconf.xml.defaults/desktop/gnome/applications 
/etc/gconf/gconf.xml.defaults/desktop/gnome/background 
/etc/gconf/gconf.xml.defaults/desktop/gnome/file_views 
/etc/gconf/gconf.xml.defaults/desktop/gnome/font_rendering 
/etc/gconf/gconf.xml.defaults/desktop/gnome/interface 
/etc/gconf/gconf.xml.defaults/desktop/gnome/peripherals 
/etc/gconf/gconf.xml.defaults/desktop/gnome/sound 
/etc/gconf/gconf.xml.defaults/desktop/gnome/thumbnailers 
/etc/gconf/gconf.xml.defaults/desktop/gnome/url-handlers

Внутри каждого их этих каталогов должен находиться файл с именем %gconf.xml.

Для внесения изменений в XML-файлы настроек GNOME применяется инструмент gconftool-2, который вызывается из командной строки.

Для актуализации настроек используется демон gconfd-2, этот демон оповещает обо всех внесенных в настройки изменениях те приложения и утилиты GNOME Desktop, которые используют эти настройки, а также оповещает об изменениях другие инструментальные программы менеджера GNOME. Для каждого пользователя GNOME запускается свой экземпляр демона.

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

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

C.1 Языки, ориентированные на создание скриптов

Существует несколько языков программирования, ориентированных на создание скриптов и доступных под Linux, среди них Perl, Python, Ruby, ECMAScript и Tcl. Они разрабатывались для UNIX/Linux-подобных систем, но постепенно распространились и были перенесены под другие операционные системы, такие как Windows и Mac OS X. Основной язык скриптов системы Windows, Visual Basic, не имеет прямого аналога в Linux, однако и для Linux существуют проекты, аналогичные проекту Windows Visual Basic for Applications (VBA). Некоторые из них будут упоминаться ниже. Например, существует коммерческий продукт REALbasic и свободная разработка StarBasic, см.:

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

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

http://www.thefreecountry.com/compilers/basic.shtml

http://documentation.openoffice.org/HOW_TO/various_topics/VbaStarBasicXref.pdf

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

C.1.1 Язык сценариев и командный интерпретатор

Традиционный способ управления системой под Linux (как и под UNIX) состоит в использовании сценариев (или скриптов), обрабатываемых командными интерпретаторами. Примерами интерпретаторов могут служить bash, ksh, tcsh. Скрипты Linux в некоторой степени подобны . bat-файлам Windows, но командные интерпретаторы обладают значительно большими возможностями. Скрипты используются при начальной загрузке системы (загрузочные скрипты можно найти в /etc/init. d), а также в качестве специальной оболочки для запуска более сложных приложений, таких как Mozilla или OpenOffice.org. Общую информацию о командах оболочки и их интерпретаторах можно найти по адресам:

C.1.2 Perl

Perl (Practical Extraction and Report Language) — это один из самых мощных и гибких языков программирования, ориентированных на создание скриптов. Первоначально он проектировался и разрабатывался как язык обработки текстов, но постепенно стал использоваться и для других задач. Существует огромное число модулей, написанных на Perl, их можно найти на сайте CPAN (Comprehensive Perl Archive Network) по адресу http://www.cpan.org. Энтузиасты этого языка любят его за то, что на нем легко программировать, вокруг программирования на Perl возникла философия «TMTOWTDI» («There's More Than One Way To Do It»). Многие, однако, считают, что Perl не подходит для решения значительных по объему задач, поскольку тексты на Perl трудно читать и сопровождать.

C.1.3 Python

Python — современный объектно-ориентированный язык. Он достаточно мощный и обладает ясным, хорошо читаемым синтаксисом. Благодаря большому объему встроенных библиотек, обеспечивает абстрагирование для многих платформо-ориентированных функций, таких как доступ к файлам и обработка потоков. Есть много библиотек для графических приложений, таких как PyGTK, PyQt, wxPython и даже средства для работы с Mac OS X и Microsoft Foundation Classes (MFC). Модули, использующие эти библиотеки, могут быть написаны на Python, C или C++. На Python могут быть также написаны и большие самостоятельные приложения, но, главным образом, он используется как вспомогательный язык, для расширения возможностей приложений, например, на нем пишут плагины.

Red Hat интенсивно использует Python во время процедуры установки системы с дистрибутива и в некоторых других случаях. На Python написан такой инструмент распознавания аппаратного обеспечения как kudzu, который используется также и в Debian-дистрибутиве Knoppix. Для определения характеристик аппаратного обеспечения можно просто выполнить команду kudzu—probe, но Python позволяет администратору системы написать более элегантные скрипты для распознавания определенных видов оборудования, пример такого скрипта приведен ниже.

Пример C.1.1: Диагностика аппаратного обеспечения с использованием kudzu и Python
#!/usr/bin/env python 

import kudzu

print kudzu.probe(kudzu.CLASS_SOCKET, kudzu.BUS_PCI, kudzu.PROBE_ALL) 
print kudzu.probe(kudzu.CLASS_NETWORK,kudzu.BUS_PCI, kudzu.PROBE_ALL)

devices = kudzu.probe(kudzu.CLASS_UNSPEC, kudzu.BUS_UNSPEC, kudzu.PROBE_ALL) 
for dev in devices: print dev

C.1.4 Встроенные языки

Большинство языков, ориентированных на разработку скриптов, позволяют писать простые графические приложения или апплеты рабочего стола, существуют скриптовые оболочки для библиотек GTK+, Qt и wxWidgets и даже для KDE/GNOME API. Некоторые приложения имеют собственные встроенные языки главным образом для того, чтобы дать возможность пользователю запрограммировать какие-то специфические действия. В некоторых случаях в качестве встроенных используются общие языки. Например, Perl и Python используются в Gnumeric и в GIMP, JavaScript и XUL используются в Mozilla и связанных с Mozilla приложениях (таких как Firefox и Thunderbird), Star Basic используется в OpenOffice.org.

C.1.4.1 Qt Script

Фирма Trolltech выпустила специальный инструмент QSA (Qt Script for Applications), который обеспечивает поддержку сценариев в приложениях, написанных на С+ + . QSA включает интерпретатор для ECMAScript (стандартизованный вариант JavaScript). Программы, написанные с использованием Qt Script, имеют полный доступ к интерфейсу прикладного программирования (API) Qt. Подробнее о QSA можно прочесть на странице Trolltech:

http://www.trolltech.com/products/qsa/

QSA играет ту же роль, что и VBA для Windows-приложений, его очень легко использовать любому, кто знаком с Qt. QSA распространяется под коммерческой лицензией для платформ Linux, Windows и Mac. Кроме того, QSA можно получить под лицензией GNU GPL для разработок с открытым кодом.

C.1.4.2 KJSEmbed

Подобный подход реализован в инструменте KJSEmbed, который предоставляет удобную оболочку для KDE-интерпретатора ECMAScript (kjs). Эта библиотека обеспечивает связывание между Qt/KDE-приложениями и KJE с использованием протокола DCOP. KJSEmbed распространяется под лицензией LGPL, полную документацию и сам инструмент можно найти в сети по адресам:

http://xmelegance.org/kjsembed

http://www.sourcextreme.com/presentations/KJSEmbed/

Пример C.1.2: Простой HTML броузер с использованием KJSEmbed
#!/usr/bin/env kjscmd

var url = 'http://www.kde.org/'; 
if (application.args.length) 
   url = application.args[0];
   
var mw = new KMainWindow(); 
var box = new QHBox(mw); 
mw.setCentralWidget(box);

var view = Factory.createROPart("text/html", box, "view"); 
view.connect(view.child(0),
             'openURLRequest(const KURL&,const KParts::URLArgs&)',
             'openURL(const KURL&)' ) 
view.openURL(url);

mw.resize(650, 500); 
mw.show() 
application.exec();

C.1.5 Kommander

Создатели Quanta+, популярного HTML-редактора для KDE, разработали новый инструмент, который называется Kommander. Этот инструмент позволяет разрабатывать диалоги и виджеты для KDE, используя программу kmdr-editor (изначально основывавшийся на Qt Designer), и затем выполнять их с помощью программы kmdr-executor. Kommander использует описание GUI-элементов в формате XML и встроенные DCOP-скрипты, скрипты могут быть написаны на любом языке, который имеет поддержку этого протокола (Bash, Python, Perl, Java или JavaScript). Kommander позволяет писать диалоги для KDE с непосредственным использованием механизмов DCOP. Эта возможность неоднократно использована внутри Quanta+. Ниже на Рис. C.1 Показан пример интегрированной DCOP-разработки с помощью программы kmdr-editor. Более подробную информацию о Kommander можно найти в сети по адресам:

http://kommander.kdewebdev.org

http://quanta.kdewebdev.org

Рис. C.1: Интегрированная DCOP-разработка с помощью Kommander
Рис. C.1: Интегрированная DCOP-разработка с помощью Kommander
Рис. C.1: Интегрированная DCOP-разработка с помощью Kommander

C.2 Обмен данными между процессами

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

Разработчики приложений для GNOME поначалу использовали ORBit2 (оптимизированный вариант CORBA), но затем перешли на D-BUS.

Для KDE стандартным протоколом обмена данными между процессами является DCOP. Он базируется на протоколе ICE (Inter Client Exchange) и использует сокеты вместо удаленных вызовов. Этот протокол первоначально являлся вариантом CORBA, но затем был полностью переделан под нужды взаимодействия процессов рабочего окружения, поскольку скорость обработки в рамках CORBA была слишком низкой. DCOP можно применять также и для работы с KDE-приложениями на рабочем столе под управлением GNOME. Ниже мы рассматриваем этот продукт более подробно.

C.2.1 DCOP

Когда вы открываете свою сессию под KDE, то по команде startkde запускается программа kdeinit, эта программа стартует другие приложения, такие как dcopserver и KDE-демон kded, которые отвечают за управление системной конфигурацией и кэширование (объединение этих функций сокращенно называют syscoca), за поддержку обмена данными между процессами и многое другое. Если вы хотите узнать подробнее, как они работают, и какие переменные окружения и конфигурационные файлы влияют на их работу, прочтите руководство по KDE для системного администратора, которое можно найти в сети по адресу:

http://www.kde.org/areas/sysadmin/

Вы можете анализировать рабочее окружение и выполнять вызовы DCOP при помощи инструмента командной строки dcop, или из его графической оболочки kdcop, или с помощью DCOP-вызовов из таких языков как Perl, Python, Ruby, Java. Синтаксис командной строки dcop следующий:

dcop [ application [object [function [arg1] [arg2] [arg3] ... ] ] ]

C.2.2 Автоматизация рабочего стола с применением DCOP

Для того чтобы начать работать с DCOP, просто выполните команду dcop, проверьте ее вывод и перенаправьте его другому процессу. Ниже, в Прим. C.2.1 показано, как это работает. Сначала мы получаем список всех приложений, зарегистрированных на DCOP-сервере (некоторые из них включают ID, например, процесс консоли имеет ID равный 366), затем открываем новую консольную сессию и показываем имя первой сессии. После этого выводится список всех учетных записей электронной почты, проверяется наличие почты, производится сжатие почтовых папок и открывается окно для создания нового сообщения, при этом используются некоторые предустановленные значения.

Пример C.2.1: Работа с DCOP
% dcop
konsole-366
kmail

...
% dcop konsole-366 konsole newSession 
% dcop konsole-366 session-1 sessionName 
% dcop kmail KMailIface accounts

% dcop kmail default checkMail 
% dcop kmail default compactAllFolders
% dcop kmail default openComposer info@kde.org "" "" "Subject" "DCOP \ 
   Rocks" 0

Следующий пример посвящен работе с броузером. Мы открываем сессию Konqueror с предпочтительным URL, затем открывается еще одно окно броузера с двумя закладками и предустановленными URL. Затем Konqueror переводится в полноэкранный режим, что может быть полезно для презентаций и работе в режиме Kiosk. В последней строке мы переходим на виртуальный рабочий стол номер 2, используя публичный интерфейс менеджера окон KDE kwin.

Пример C.2.2: Еще один пример работы с DCOP
% dcop
konqueror-21209
kwin
...
% dcop konqueror-21209 konqueror-mainwindow#1 openURL \
   http://www.ibm.com/linux
% dcop konqueror-21209 default openBrowserWindow http://www.kde.org 
% dcop konqueror-21692 konqueror-mainwindow#2 newTab \
   http://www.linux.com
% dcop ‘dcop konqueror-21209 konqueror-mainwindow#1 action fullscreen' \ 
   activate
% dcop kwin default setCurrentDesktop 2

DCOP обладает богатыми возможностями, его можно использовать даже в комбинации с XML-RPC (XML Remote Procedure Calls) посредством моста XML-RPC — DCOP. Используя стандартные меры обеспечения безопасности UNIX при работе с ICE-сокетами, можно быть уверенным в том, что ни один пользователь не сможет вмешаться в работу DCOP-сессии другого пользователя.

На этапе планирования миграции, проводя инвентаризацию программного обеспечения, вы могли обнаружить, что среди используемого ПО есть приложения, которые не могут работать под Linux. К таким приложениям, например, относятся все программы, написанные с использованием Microsoft Visual Basic.

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

Обширное руководство по планированию и выполнению переноса приложений можно найти в сети на странице фирмы Novell:

http://developer.novell.com/wiki/index.php/Porting_and_Migration

D.1 GTK+

GTK+ представляет собой кросс-платформенный инструментарий для разработки графических приложений, GTK+ используется такими программами как The GIMP и GAIM и менеджером рабочего стола GNOME. Он написан на языке C, обращения к нему можно писать не только на С, но и на C+ + , Python, Perl и других языках программирования. GTK+ распространяется под лицензией LGPL, его можно использовать как в разработках с открытым кодом, так и в коммерческих продуктах. Подробную информацию о GTK+ можно найти в сети по адресу:

http://www.gtk.org

D.2 Qt

Qt также является набором кросс-платформенных графических инструментов, этот инструментарий разработан фирмой Trolltech. Qt используется менеджером рабочего стола KDE и связанными с ним приложениями. Qt написан на языке C++, обращения к нему можно писать также и на C, Python, Ruby и других языках программирования. Qt имеет две лицензии — GPL и коммерческую лицензию, таким образом его можно бесплатно использовать в разработках с открытым кодом, но для коммерческого использования необходимо приобрести лицензию у фирмы Trolltech. Подробную информацию о Qt можно найти в сети по адресу:

http://www.trolltech.com

D.3 REALBasic

Продукт компании REAL Software Inc., REALBasic разработан как кросс-платформенное средство разработки, обеспечивающее эффективный путь переноса приложений, написанных с использованием Visual Basic, на платформу Linux. Подробное описание процесса переноса приложений с использованием REALBasic можно найти на страницах технической документации фирмы REAL Software Inc. в сети по адресу:

http://www.realbasic.com/vb

D.4 wxWidgets

wxWidgets (ранее известная как wxWindows) — это кросс-платформенная библиотека инструментов с открытым исходным кодом для построения графического интерфейса пользователя (GUI). wxWidgets позволяет собирать приложения для Win32, Mac OS X, GDK+, X11 и других систем. Библиотека написана на C+ + , но может подключаться ко множеству других распространённых языков, таких, как Python (wxPython), Smalltalk (wxSqueak), Perl и Java. wxWidgets распространяется под лицензией wxWidgets License, и может быть бесплатно использована как в разработках с открытым кодом, так и в коммерческих приложениях. Подробную информацию о wxWidgets можно найти в сети по адресам:

http://www.wxwidgets.org

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

На страницах фирмы IBM можно познакомиться с двумя детальными руководствами по использованию этого инструмента:

Looking through wxWindows: An introduction to the portable C++ and Python GUI toolkit: http://www-106.ibm.com/developerworks/library/l-wxwin.html

Porting MFC Applications to Linux: A step-by-step guide to using wxWindows: http://www-106.ibm.com/developerworks/linux/library/l-mfc

D.5 Mono и .NET Framework

Mono — проект по созданию полноценной реализации платформы .NET фирмы Microsoft на базе свободного программного обеспечения. Mono базируется на спецификациях ECMA для двух языков программирования: языка платформы .NET CIL (Common Intermediate Language) и языка C#. Большинство стандартных библиотек платформы .NET реализовано в рамках Mono. Однако в версии Mono 1.1 возможности графической библиотеки WinForms, которая используется большинством приложений платформы .NET, поддерживаются только частично. Работы по полной реализации библиотеки WinForms ведутся довольно энергично, ожидается, что полная поддержка будет включена в версии 1.2. Mono также включает поддержку GTK#, графического инструментария, который работает как под Linux, так и под Windows.

Mono включает компилятор языка C#, а также могут выполняться модули, написанные на языках Visual Basic.NET, IronPython, Nemerle и Boo. Языки, которые работают в среде CLR (Common Language Runtime) имеют доступ ко всем ресурсам платформы и могут гладко взаимодействовать с другими языками даже в рамках одного приложения.

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

http://www.go-mono.com

Руководство для тех, кто хочет научиться переносить приложения, написанные для платформы .Net, под Mono, можно найти по адресу:

http://developer.novell.com/wiki/index.php/Porting_and_Migration

Е.1 Базовое программное обеспечение

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

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

  1. Linux
  2. BSD-подобные ОС (FreeBSD, NetBSD, OpenBSD)
  3. OpenSolaris
  4. Darwin

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

Стандартом де факто в качестве базового набора системных утилит, отвечающих промышленному стандарту POSIX, является набор программ проекта GNU, используемых практически во всех свободных UNIX-подобных системах.

E.2 Сообщества разработчиков

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

  • Linux kernel
  • BSD-подобные ОС (FreeBSD, NetBSD, OpenBSD)
  • GNU
  • X-Window
  • GNOME
  • KDE

Наиболее известные ресурсы, на которых ведутся OpenSource проекты и аккумулируются сведения о них:

Наиболее известные информационные ресурсы, на которых публикуются новости, связанные с проектами OpenSource:

E.3 Дистрибутивы

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

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

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

  • Slackware: старейший дистрибутив из сохранившихся на сегодняшний день, послуживший базой для создания многих современных дистрибутивов. Главным недостатком является архаичность организации, в первую очередь подсистемы обслуживания программных пакетов, что не позволяет поддерживать большие программно-аппаратные комплексы.
  • Debian: наиболее распространенный дистрибутив из этого разряда. На нем базируется большое число вторичных программных проектов, таких как KNOPPIX, Ubuntu и др. Главным недостатком является большой промежуток между официальными релизами, занимающий зачастую несколько лет. В условиях быстро меняющегося в мире Open Source технологического ландшафта этот недостаток может иметь критическое значение.
  • Gentoo: один из самых молодых и динамично развивающихся проектов. Ориентирован на оптимизацию программных пакетов путем их непосредственной сборки на рабочей машине. Очень удобен для целей оперативного слежения за текущим состоянием программных продуктов, входящих в дистрибутив, но для использования в организационной структуре, критичной к стабильности работы, не рекомендуется.
  • Fedora Core: программный проект по созданию свободного экспериментального дистрибутива для разработчиков, поддерживаемый сообществом разработчиков и спонсируемый компанией Red Hat. Многие из решений, отработанных на этой тестовой платформе, инкорпорируются впоследствии в продукты Red Hat Enterprise Linux. По пути создания таких же экспериментальных дистрибутивов пошли и другие поставщики программных продуктов, такие как Novell (Open Suse), Sun Microsystems (Open Solaris).

Коммерческие дистрибутивы представляют из себя продукты так называемого Enterprise уровня, предназначенные для работы в сферах, где устойчивость работы является основным требованием. Для таких дистрибутивов гарантируется поддержка производителя в течении 3-5 лет после выпуска очередной версии. Главными недостатками являются высокая стоимость приобретения данных продуктов и зависимость от коммерческой и технологической политики конкретного коммерческого производителя.

Наиболее известные коммерческие производители диcтрибутивов:

  • Red Hat: наиболее старый из них, безусловный технологический лидер. Компания разработала систему пакетов RPM, ставшую на сегодняшний день стандартом для производителей коммерческих дистрибутивов. Основной продукт на сегодняшний день — это линейка дистрибутивов Red Hat Enterprise Linux, все исходные пакеты из состава дистрибутива и обновлений доступны для свободного использования. Это породило ряд проектов по пересборке этих пакетов и созданию свободно-распространяемых дистрибутивов Enterprise уровня: Scientific Linux, White Box, CentOS, TAO и др.
  • Novell (Suse)
  • Mandriva

В последнее время намечается отчетливая тенденция по созданию региональных дистрибутивов, лучше отвечающих местным культурным и технологическим реалиям, например Asianux (Китай, Япония, Южная Корея).

В России хорошо известны дистрибутивы отечественных разработчиков, таких как Alt Linux, ASP Linux, Линукс Инк и др.

E.4 Репозитории

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

Примеры репозиториев, связанных с конкретными дистрибутивами:

  • Debian
  • Gentoo
  • Fedora
  • Sisyphus (Alt Linux) и др.

Репозитории, содержащие наборы пакетов под различные дистрибутивы:

  1. Dag Wieers — http://dag.wieers.com/home-made/apt
  2. ATrpms (Axel Thimm) — http://atrpms.net
  3. Dries Verachtert — http://dries.ulyssis.org/rpm
  4. Linux Ink Cyrillic Edition — ftp://ftp.linux-ink.ru

E.5 Портальные технологии

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

Исторически самыми первыми системами, предоставляющими сайты с динамическим формированием WEB-страниц, были специализированные системы, написанные на различных языках программирования (C, Perl, Python, LISP и др.) и работающие через CGI-интерфейс готовых WEB-серверов или же сами предоставляющие HTTP-сервис. Некоторые из таких систем предоставляют вполне достаточную для своей области применения функциональность и продолжают развиваться и по сей день.

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

Наиболее распространенными средами для создания таких систем порталов с возможностью управления содержимым сайта, так называемыми Content Management System (CMS), на настоящий момент являются среды, созданные на основе технологий PHP, Java и Zope.

Е.5.1 РНР

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

http://www.opensourcecms.com/

Наиболее популярные Open Source проекты, использующие данные технологии:

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

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

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

E.5.2 Java

Обзор и обсуждение портальных решений на базе технологий Java можно найти на сайте:

http://java-source.net/open-source/content-managment-systems

Наиболее популярные Open Source проекты, использующие данные технологии:

Данная технология является промышленным стандартом в сфере разработки ПО, поддерживается мировыми лидерами ИТ-индустрии: IBM, Sun Microsystems, Microsoft, BEA и др. и позволяет взаимодействовать с программными средами, созданными согласно спецификации J2EE. Данный подход позволяет строить большие масштабируемые решения.

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

Данная платформа обычно позиционируется как средство для создания инфраструктурных составляющих в ИТ-проектах для решения крупных задач.

E.5.3 Zope

Обзор и обсуждение портальных решений на базе технологий Zope можно найти на сайте Zope:

http://www.zope.org/

Наиболее популярные Open Source проекты, использующие данные технологии:

Наибольшее развитие и распространение получила технология Plone. Данная технология является полностью открытой, имеет низкий порог вхождения, но в то же время обладает развитой внутренней технологической инфраструктурой, позволяющей строить большие масштабируемые программные решения. Для данной технологической платформы наработано большое количество дополнительных программных продуктов, позволяющих быстро наращивать базовую функциональность до требуемого уровня. Решения, построенные на базе продуктов Python, Zope, Plone, с одной стороны, имеют низкий порог вхождения и позволяют работать с ними пользователям, не имеющим специальной подготовки, с другой стороны, имеют достаточно мощные программные механизмы, позволяющие быстро создавать информационные порталы, реализующие сложные программные модели. Технология Zope Enterprise Objects (ZEO) позволяет создавать сайты, обслуживающие большое количество запросов к ним путем распределения этих запросов по узлам кластера с балансировкой нагрузки.

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

E.5.3.1 Python

Python — это свободный интерпретируемый объектно-ориентированный расширяемый встраиваемый язык программирования сверхвысокого уровня.

Распространяется на условиях лицензии Python license: http://www.python.org/psf/license/

Сайт проекта: http://www.python.org/

E.5.3.2 Zope

Zope — это объектно-ориентированная платформа, сервер приложений, предназначенный для создания динамических web-приложений и интерактивных сайтов.

Распространяется на условиях лицензии Zope Public License: http://www.zope.org/Resources/License/

Сайт проекта: http://www.zope.org/

E.5.3.3 Plone

Plone — профессиональная система управления сайтами (CMS) на основе лицензий с открытым исходным кодом. Plone работает на сервере приложений Zope, в основе которого лежит объектно-ориентированная база данных ZODB. Весь комплекс написан на широко распространенном языке программирования Python. И все компоненты доступны под лицензиями с открытым исходным кодом.

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

Распространяется на условиях лицензии GNU General Public License: http://www.gnu.org/copyleft/gpl.html

Сайт проекта: http://www.plone.org/

E.6 ГИС

E.6.1 PostGIS

PostGIS является расширением для объектно-ориентированного сервера реляционных баз данных PostgreSQL http://www.postgresql. com/

PostGIS добавляет поддержку геоинформационных типов данных для сервера PostgreSQL, который после этого может выступать в качестве spatial backend'а базы данных для ГИС, подобно системе ArcSDE компании ESRI или расширению Spatial СУБД Oracle. PostGIS следует спецификации OpenGIS:

http://www.opengis.org/

и «Simple Features Specification for SQL»:

http://www.opengis.org/docs/99-049.pdf

Распространяется на условиях лицензии GNU General Public License: http://www.gnu.org/copyleft/gpl.html

Сайт проекта: http://postgis.refractions.net/

E.6.2 MapServer

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

Имеет программные интерфейсы для PHP, Python, Perl, Ruby, Java, и C#.

Имеет возможность работы с различными растровыми и векторными форматами данных:

Распространяется на условиях лицензии MapServer License: http://mapserver.gis.umn.edu/License

Сайт проекта: http://mapserver.gis.umn.edu/

E.6.3 GDAL/OGR

GDAL — библиотека для работы с растровыми географическими форматами файлов данных. Как библиотека, GDAL предоставляет вызывающему приложению единую обобщённую модель данных для всех поддерживаемых форматов файлов данных. В состав GDAL входит C++ open source библиотека OGR (http://gdal.maptools.org/ogr), предоставляющая сходные возможности для работы с векторными данными, включая форматы ESRI Shapefiles, S-57, SDTS, PostGIS, Oracle Spatial, Mapinfo mid/mif и TAB.

Распространяется на условиях лицензии X/MIT: http://gdal.maptools.org/faq.html#license

Сайт проекта: http://gdal.maptools.org/

В данном разделе будут рассмотрен ряд примеров реализации отдельных модулей ИТ-инфраструктуры на базе ПО с открытым кодом. Материалы раздела основываются на результатах ряда проектов, выполнявшихся компанией «ОАО Линукс Инк»: http://www.linux-ink.ru.

F.1 Специализированный дистрибутив

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

  • управлять наборами программных пакетов, включаемыми в дистрибутив, и их группами;
  • управлять поведением инсталлятора и программой начального конфигурирования системы;
  • настраивать начальный загрузчик системы, см. Рис. F.1;
  • задавать стандартные варианты оформления и механизмы поведения системы, см. Рис. F.2;
  • задавать стандартные пользовательские профили системы, см. Разд. F.4.

Для каждого специализированного дистрибутива могут быть предусмотрены специальные механизмы развертывания, сопровождения и поддержки (см. Разд. F.7), а также репозитории ПО.

F.2 Модель ЦОД

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

Простейший прототип ЦОД может быть реализован на трех серверах. На первом сервере установлена ОС Scientific Linux 4.1, на втором — Windows 2000 Server. Третий сервер является резервным для первых двух серверов и может работать как под управлением ОС Linux, так и под управлением ОС Windows. Указанные системы также могут выполняться в среде виртуальных машин, что облегчает задачи развертывания, восстановления при сбойных ситуациях и помогает снизить лицензионные выплаты за коммерческое ПО.

Сервер 1, работая с ОС Linux, выполняет следующие задачи:

  1. Сервис авторизации.
  2. Система электронного документооборота.
  3. Информационный портал.
  4. Файловый сервис.
  5. Сервис печати.
Рис. F.1: Экран начальной загрузки специализированного дистрибутива
Рис. F.1: Экран начальной загрузки специализированного дистрибутива
Рис. F.1: Экран начальной загрузки специализированного дистрибутива

Сервер 2 под управлением ОС Windows предназначен для выполнения следующих задач:

  1. Терминальный сервер для работы с унаследованным программным обеспечением.
  2. Файловый сервис.
  3. Сервис печати.

Сервер 3 является резервным для первого и второго узла. Он может работать как под управлением ОС Linux, так и под управлением ОС Windows, и выполнять задачи, возложенные на любой из первых двух серверов, в случае их отказа. Дисковые устройства основных серверов и резервного сервера объединены в программный RAID 1 через интерфейс iSCSI, что обеспечивает сохранность данных. На Рис. F.4 представлена схема опытного образца ЦОД.

F.3 Прототип РОП

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

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

  1. работа с офисными документами различных типов (текстовыми, электронными таблицами, презентациями и т.п.);
  2. обеспечение доступа в интернет и интранет (браузер веб-страниц, электронная почта и т.п.);
  3. запуск и работа с приложениями и ресурсами;
  4. запуск и работа с унаследованными DOS и Windows приложениями.

Данный комплекс позволяет полноценно работать в среде Интернет/Интранет, предоставляет возможность работать с файлами в формате Microsoft Office и запускать на исполнение унаследованные приложения. Активные элементы, предназначенные для запуска унаследованных приложений, работающих в среде Microsoft Windows Termnail Server (см. Разд. F.2), могут быть интегрированы в окружение рабочего стола пользователя и запускаются в отдельных окнах, при этом возможность доступа к остальному Windows-окружению может быть заблокирована. Таким образом, возможна изоляция Windows-среды исполнения в специальной зоне сети и блокировка потенциально возможных брешей для вирусных атак (Интернет, электронная почта, офисные документы и т.д.), spyware и «программных закладок». При этом функциональные возможности всего комплекса в целом и удобство пользования пользовательским окружением не снижаются.

Рис. F.2: Экран входа в систему специализированного дистрибутива
Рис. F.2: Экран входа в систему специализированного дистрибутива
Рис. F.2: Экран входа в систему специализированного дистрибутива

Общий вывод по результатам демонстрации представленного программного обеспечения РОП:

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

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

  1. все предлагаемые программные компоненты обладают нулевой стоимостью лицензий на использование;
  2. в составе предлагаемых решений имеются развитые средства управления (в том числе удаленного) программными компонентами, развернутыми на рабочих станциях;
  3. возможные варианты модели вычислений позволяют оптимально распределять вычислительную нагрузку между рабочими станциями и серверами, входящими в Опытный образец Центра обработки данных;
  4. используемая операционная система Linux обеспечивает высокую степень информационной безопасности и надежности;
  5. обслуживание рабочих станций, работающих под управлением операционной системы Linux, может выполняться удаленно, в том числе, с использованием низкоскоростных каналов связи.
Рис. F.3: Модель ЦОД
Рис. F.3: Модель ЦОД
Рис. F.3: Модель ЦОД

F.4 Специализированные РОП

На базе ОС Linux возможно построение специализированных программных интерфейсов, настроенных только на выполнение задач работника администрации или внешнего посетителя. Доступ к информационным ресурсам (информационно-правовая база, интеграция с внутренним порталом документооборота) и унаследованным приложениям (Lotus Notes, ГИС Microstation) осуществляется через элементы, интегрированные в окружение рабочего стола, см. Рис. F.5. Возможно создание минимальных пользовательских окружений, где запускается единственное полноэкранное приложение, например веб-броузер. При этом пользователь не имеет возможности даже переместить его или поменять его размеры, выход из приложения автоматически ведет к выходу из пользовательской сессии.

F.5 Интеграционные порталы

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

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

  • Информационный интернет-портал, см. Разд. F.5.2
  • СЭД, см. Разд. F.5.3
  • Поисково-аналитический ресурс, см. Разд. F.5.4
  • Портал службы поддержки, см. Разд. F.7.2
Рис. F.4: Прототип РОП
Рис. F.4: Прототип РОП
Рис. F.4: Прототип РОП

F.5.1 Общая архитектура системы

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

В описываемых реализациях был использован набор технологий Python, Zope, Plone. Такое решение позволяет:

  • поддерживать работу нескольких порталов на одном физическом сервере;
  • строить достаточно гибкую портальную систему с возможностью распределения нагрузки по нескольким узлам через организацию балансирующих кластеров;
  • получать доступ к объектам, содержащимся в портале, из внешних программ, запускаемых с удаленных компьютеров, например, через интерфейс XML-RPC, доступный практически для всех программных сред, см. http://www.xmlrpc.org.

F.5.2 Информационный интернет-портал

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

  • освещение деятельности местных Администрации и Думы путем размещения в нем не только нормативных актов и документов Администрации города и Думы, но и иной официальной информации, как постоянно обновляющейся, так и стабильной (например, история, памятники культуры и достопримечательности и т.п.) и предоставления возможности всем пользователям интернет ознакомиться с этой информацией в удобной для них форме;
  • осуществление обратной связи путем предоставления возможности послать письмо (заявление, обращение и т.д.) в Администрацию по электронной почте, при этом обязательным условиям для отправителя письма должно быть сообщение своих данных (фамилии, имени, адреса).
Рис. F.5: Специализированное РОП
Рис. F.5: Специализированное РОП
Рис. F.5: Специализированное РОП

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

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

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

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

В режиме редактирования документов возможно использование WYSIWYG-средств редактирования текстовых полей, наподобие Microsoft Word, см. Рис. F.6. При необходимости из WYSIWYG-режима можно переключиться в непосредственное редактирование HTML-кода страницы.

В ходе размещения материалов в портале действует система разграничения прав доступа и поддерживается система обеспечения прохождения рабочего цикла документа (workflow). Основные виды пользователей:

  • анонимные
  • авторизованные
  • администратор портала
Рис. F.6: Редактирование документа
Рис. F.6: Редактирование документа
Рис. F.6: Редактирование документа

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

  • корреспонденту — размещение и редактирование документа
  • редактору — разрешение на публикацию документа, отмена публикации, отправка документа на доработку

Стандартный набор ролей и workflow может быть изменен администратором портала через веб-интерфейс.

F.5.3 СЭД

Для Центра Информационного обеспечения и услуг был создан прототип системы управления документооборотом.

Система управления документооборотом поддерживает процессы:

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

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

Процесс подготовки и публикации правовых актов включает следующие стадии:

  • разработку проекта документа;
  • согласование проекта документа;
  • утверждение проекта документа;
  • регистрацию документа;
  • опубликование документа.

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

F.5.4 Сопряжение интеграционного портала и РОП

Данный программный комплекс был разработан в рамках научно-исследовательской программы Министерства Экономического Развития и Торговли «Концепция создания распределенного гетерогенного информационного пространства». Главной целью работ было создание интегрированной информационно-поисковой системы, предоставляющей доступ к широкому набору ресурсов:

  • Портал системы управления проектами (МЭРТ) http://projects.economy.gov.ru — HTTP-доступ;
  • ИПС «Законодательство России» (ФСО Спецсвязь России) — HTTP-доступ, MySQL;
  • Портал электронной библиотеки с возможностью хранения и поиска в массиве полнотекстовых документов (Линукс Инк) - HTTP-доступ, XML-RPC;
  • Поисковый библиотечный портал, дающий возможность формирования распределенных поисковых запросов по всем библиотечным ресурсам членов консорциума АРБИ КОН (порядка 200 библиотек) — HTTP-доступ, Z39.50
  • Портал «Электронная Земля» (ВИНИТИ) — HTTP-доступ, SRU.

В качестве базового решения была выбрана технологическая платформа Plone. Для нее были созданы следующие программные модули:

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

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

  • FireFox — стандартный доступ через веб-интерфейс с возможностями поиска (универсального полнотекстового и специализированного для данного типа информационного источника с учетом метаданных), отображение данных (метаданные и полнотекстовые документы, представленные в различных форматах) и их редактирование (для авторизованных пользователей);
  • OpenOffice.org — формирование поискового запроса в интеграционный портал и автоматическая генерация аналитической подборки материалов, соответствующих данному запросу;
  • GNOME Desktop — включение в рабочий стол пользователя активного элемента (desklet'а), осуществляющего постоянный мониторинг состояния информационных ресурсов по заданному в конфигурации поисковому запросу к порталу.
Рис. F.7: Взаимодействие различных элементов пользовательского окружения (Firefox, GNOME Desktop, OpenOffice.org) с порталом
Рис. F.7: Взаимодействие различных элементов пользовательского окружения (Firefox, GNOME Desktop, OpenOffice.org) с порталом
Рис. F.7: Взаимодействие различных элементов пользовательского окружения (Firefox, GNOME Desktop, OpenOffice.org) с порталом

F.6 ГИС

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

F.6.1 Общая архитектура системы

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

В результате проведенного анализа существующих программных проектов были выбраны следующие программные продукты:

  • система хранения — PostGIS;
  • модули для сопряжения геоинформационных данных с общим информационным пространством портала через WEB-интерфейс — MapServer;
  • программы для конвертации существующих данных — GDAL/OGR.

F.6.2 Результаты

Нам был предоставлен набор тестовых данных в виде файлов формата «ESRI Shapefile» и «MapInfo TAB». В тестовый набор были включены данные по расположению водных ресурсов, лесонасаждений, районов, кварталов и домов.

Были выполнены следующие работы:

  1. Были осуществлен подбор требуемого программного обеспечения и предварительная сборка и установка программных пакетов на дистрибутив Scientific Linux 4x.
  2. При помощи программных модулей ogr2ogr, входящих в программный пакет gdal, на языке программирования Python был создан конвертор для импортирования предоставленных тестовых данных в базу данных PostgreSQL с расширением PostGIS. Для реализации возможности отслеживания изменений в массиве картографических данных с течением времени были включены функции timetravel PostgreSQL.
  3. Было осуществлено конфигурирование MapServer'а и привязка слоёв к соответствующим запросам к базе данных.

Результатом работ явился полный перенос предоставленных данных и создание WEB-интерфейса для их отображения.

Рис. F.8: Веб-интерфейс для доступа к картографической информации (ГИС)
Рис. F.8: Веб-интерфейс для доступа к картографической информации (ГИС)
Рис. F.8: Веб-интерфейс для доступа к картографической информации (ГИС)

F.7 Автоматизация службы поддержки и сопровождения

F.7.1 Развертывание и тестирование ПО

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

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

F.7.1.1 Клиентская часть

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

F.7.1.2 Серверная часть

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

  1. DHCP-сервер для динамического выделения IP-адресов клиентским машинам;
  2. PXE-сервер для обеспечения возможности удаленной загрузки, например, бездисковых рабочих станций, работающих в режиме «тонкий клиент»;
  3. Файловый сервер с поддержкой протокола NFS.

F.7.2 Портал службы поддержки и сопровождения

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

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

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

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

Возможно создание территориально-распределенной сети центров поддержки, включающей в себя:

  • региональные центры обслуживания;
  • централизованную систему обслуживания заявок (Service Desk).

Процедура обслуживания предполагает:

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

F.7.2.1 Клиентская часть

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

F.7.2.2 Серверная часть

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

Рис. F.9: Портал службы технической поддержки
Рис. F.9: Портал службы технической поддержки
Рис. F.9: Портал службы технической поддержки

Ресурсы для скачивания


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux
ArticleID=227005
ArticleTitle=Руководство по миграции на Linux для региональных администраций
publish-date=052007