open source magazine #27

13

Click here to load reader

Upload: internaut

Post on 12-Nov-2014

129 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Open Source Magazine #27

�№27, �� июня 2008

Электронное приложение «Open Source»

Качество Open Source-кода выросло на 16%Компания Coverity, специализирующая-ся на анализе исходного кода програм-мных продуктов, опубликовала результа-ты своего очередного исследования, пос-вященного Open Source-проектам, – Open Source Report 2008. В отчете представле-ны результаты анализа качества исходно-го кода, написанного на языках програм-мирования C, C++ и Java. Данные отче-ты спонсируются Министерством нацио-нальной безопасности США (Department of Homeland Security), поддерживаются Стэнфордским университетом и являют-ся частью американского государственно-го проекта Open Source Hardening Project. Для отчета были использованы данные, которые собирались более двух лет в рам-ках инициативы Coverity Scan.

Статистика по проанализированному коду такова: всего было просмотрено 55 миллионов строк кода из 250 Open Source-проектов, проведено 14238 анализов, что породило 10 миллиардов строк проанали-зированного кода. Итоги исследования показывают общий рост качества кода Open Source-проектов на 16 процентов.

Появился альтернативный DNS-сервер с открытым кодомСтало известно о публичном релизе но-вого DNS-сервера с открытым кодом – Unbound 1.0. Unbound, созданный усилия-ми NLnet Labs, VeriSign, Nominet и Kirei, яв-ляется рекурсивным, кэширующим DNS-сервером, соответствующим стандартам. Он позиционируется как высокопроизво-дительная альтернатива наиболее рас-пространенному решению в этой области – BIND. Unbound – это единственная (кроме BIND) Open Source-реализация DNS-сер-вера, поддерживающая стандарт DNSSEC. Поддержкой DNS-сервера Unbound будет заниматься некоммерческая голландская организация NLnet Labs.

«Мы выпустили программное обеспе-чение под лицензией BSD, которая позво-ляет использовать его в других продуктах без значительных ограничений, – заявил Олаф Колкман (Olaf Kolkman), директор NLnet Labs. – Надеемся, что публикация нашего ПО в свободный доступ будет спо-собствовать использованию DNSSEC».

Обнародована статистика использования устаревшего Linux-ядра 2.4Уилли Тэрро (Willy Tarreau), занимающийся поддержкой ветки 2.4 ядра Linux, провел

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

Около половины пользователей Linux-ядра 2.4 применяют его на серверах обще-го назначения и регулярно обновляют. Ос-новные причины такого использования – слабый интерес к новым возможностям (появившимся в 2.6) и недостаток време-ни, а в некоторых случаях – неудачная по-пытка перехода на 2.6 на ранних этапах. 20% пользователей работают с Linux 2.4 на серверах со специфичными приложе-ниями, где важнейшим фактором являет-ся надежность.

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

Около 5% применений Linux 2.4 при-ходится на старые лаптопы, КПК и тон-кие клиенты, которые уже не нуждаются в обновлениях. И последние 5% – на де-сктопы и, например, станции мониторин-га, которые не обновляются, потому что «просто работают».

Проект FreeBSD перешел на Subversion взамен CVSIvan Voras со ссылкой cvs commit от 1 июня объявил о том, что проект разработки сво-бодной операционной системы FreeBSD перешел на систему управления версиями Subversion вместо устаревшей CVS.

CVS-хранилище исходного кода FreeBSD – одно из старейших и крупней-ших: его история насчитывает около 12 лет и около 180 тысяч commit (что в среднем составляет более 41 в день). Ветвь послед-него релиза, RELENG_7, содержит более 42 тысяч файлов (482 Мб).

Тема перехода с CVS на Subversion (SVN) активно обсуждалась на DevSummit, проходившем в рамках конференции BSDCan 2008.

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

Новости мира Open SourceКолонка главного редактора

«Open Source»электронное приложение к журналу«Системный администратор»№27, 11 июня 2008 г.

РЕДАКЦИЯИсполнительный директорВладимир ПоложевецГлавный редакторДмитрий ШуруповВерстка и оформлениеВладимир ЛукинСайт электронного приложения:http://osa.samag.ruЗа содержание статьи ответственность несет автор. Все права на опубликован-ные материалы защищены.

Тема, поднятая в редак-торской колонке преды-дущего выпуска, то есть непосредственно сама эта рубрика, насколько ее вообще можно та-ковой назвать, поро-дила интересную сово-

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

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

И напоследок краткое обращение к потенциальным авторам. На странице http://osa.samag.ru/todo не только посто-янно обновляются примеры тем для ста-тей, но теперь представлены и возмож-ные новые рубрики для «Open Source». Проявляйте активность – пишите!

Главный редакторДмитрий Шурупов

([email protected])

Page 2: Open Source Magazine #27

2 №27, �� июня 2008

Электронное приложение «Open Source»ков в том, что от этой системы пора от-казываться.

Mozilla мигрирует на Mercurial вместо CVSНовостной сайт Mozilla объявил о том, что миграция с системы управления версия-ми CVS на Mercurial подошла к заверша-ющей стадии.

Теперь разработчики могут вносить свои изменения в исходный код в mozilla-central – новое дерево Mozilla, управляе-мое Mercurial. Впрочем, рекомендуется, чтобы в течение первых нескольких дней разработчики перед внесением измене-ний в mozilla-central получали одобрение у управляющих во избежание непред-виденных проблем. Сообщается, что но-вый репозитарий mozilla-central на ба-зе Mercurial предназначен только для ко-да Firefox, XULRunner, Gecko. Остальные проекты Mozilla (Thunderbird, Calendar, SeaMonkey...) вольны самостоятельно ре-шать, какую систему контроля версий они будут использовать, и если они тоже вы-берут Mercurial, то для них будут созданы новые репозитории.

Австрийская Вена вынуждена использовать Vista наряду с GNU/LinuxНа этой неделе городской совет Вены, столицы Австрии, принял решение пере-настроить 720 компьютеров с GNU/Linux, используемых в городских центрах днев-ной медицинской помощи для детей, для возможности запуска там альтерна-тивной операционной системы – Microsoft Windows Vista.

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

На инициативу будет потрачено око-ло 105 тысяч евро. Это вызвало обеспо-коенность у Марии Ринглер (Marie Ringler) из Партии зеленых Вены: «Даже части этих средств было бы достаточно, что-бы ускорить адаптацию этого тестиру-ющего ПО для Firefox компанией-разра-ботчиком».

По мнению Ринглер, этот случай лишь доказывает, что Вена отходит от сво-их инициатив по использованию Open Source. В качестве другого подтвержде-ния приводится февральское решение городского совета Вены о покупке новых лицензий от Microsoft на 7,6 миллиона ев-ро. Впрочем, другой член городского со-вета, представляющий партию социал-де-мократов (Social Democratic Party), счита-ет, что эти обвинения необоснованны: «Вена использовала программное обес-печение с открытым кодом на протяже-нии 20 последних лет и будет продолжать это делать».

Acer делает серьезную ставку на GNU/LinuxТайваньский компьютерный производи-тель Acer объявил о намерении серьез-но использовать в своих продуктах Linux и программное обеспечение с открытым кодом (Open Source).

Acer уже продвигает Linux для сво-

их дешевых ультрапортативных компью-теров (netbook), первый из которых был представлен в начале июня, а теперь ру-ководство объявило о том, что будет ус-танавливать Linux и на лаптопы.

Как пояснил Джанпьеро Морбел-ло (Gianpiero Morbello), вице-президент по маркетингу и бренду Acer, намере-ние активнее продвигать и использо-вать Linux вызвано самой корпорацией Microsoft: «Мы смещаемся в сторону Linux из-за Microsoft. Microsoft очень сильна, и это будет трудно, но мы будем усердно работать над развитием Linux-рынка».

В Acer видят два основных преиму-щества Linux: функционирование и це-на. Предустановленный Linux-дистри-бутив будет запускаться за 15 секунд по сравнению с минутами, которые ухо-дят на старт Windows, а время работы уст-ройства от батареи увеличится с 5 до 7 ча-сов. А разница в цене, достигаемая пу-тем предварительной установки на ком-пьютеры Linux вместо Windows, позволит Acer сделать более выгодные предложе-ния на рынке недорогих устройств.

Финансовую выгоду Linux пояснил Дэ-вид Драммонд (David Drummond), управля-ющий директор в британском отделении Acer: «Операционная система от Microsoft обычно стоит порядка 50 фунтов стерлин-гов за штуку. Для ПК стоимостью в 1000 фунтов это несущественно, но для ком-пьютера ценой в 200 фунтов это очень важный фактор».

Дмитрий Шурупов,по материалам www.nixp.ru

([email protected])

Привет, Fedora 9! Обзор дистрибутива

Выпуск девятого релиза популярно-го Linux-дистрибутива Fedora (http://www.fedoraproject.org) планировал-

ся еще на конец апреля, но из-за задер-жек с локализацией дата выхода была перенесена. И вот 13 мая на всех зерка-лах и BitTorrent-сетях появилась долго-жданная Fedora 9 под кодовым названи-ем Sulphur, что в переводе на русский язык означает «сера».

Что нам пообещали разработчики?Каждый новый релиз Fedora всегда раду-ет свежими наработками в сфере свобод-ного программного обеспечения, и Sulphur здесь впереди планеты всей. Среди клю-

чевых заявленных новшеств в дистри-бутиве: Новая версия ядра системы – Linux

2.6.25. Система инициализации Upstart при-

шла на смену классической SysVinit. Ее основное отличие от SysVinit за-ключается в том, что она может вы-числять зависимости между серви-сами и, основываясь на этих данных, запускать некоторые сервисы парал-лельно, что положительно сказывает-ся на времени загрузки системы. Под-робнее можно прочесть на официаль-ном сайте (http://upstart.ubuntu.com).

PackageKit – независимое от дист-рибутива решение для управления

пакетами, у которого имеется гото-вый бэкенд для консольного пакетно-го менеджера yum. Теперь PackageKit является основной системой управ-ления программным обеспечени-ем в Fedora 9. Подробнее о нем мож-но прочитать, например, в моем бло-ге (http://eveel.blogspot.com/2008/06/packagekit.html).

GNOME 2.22 – последняя версия попу-лярной графической среды, содержа-щая множество исправлений и улуч-шений. В частности, подверглась из-менениям ее архитектура: теперь для доступа к ресурсам используются GIO и GVFS (вместо старой GNOME VFS).

KDE 4.0.2 – наконец-то в Fedora вклю-чена новая ветка KDE. KDE 4 разрабо-тана на основе библиотеки Qt 4 и раду-ет многочисленными нововведениями. (Прим. ред.: Подробный обзор KDE 4.0 можно найти в «Open Source» 021.)

Page 3: Open Source Magazine #27

�№27, �� июня 2008

Электронное приложение «Open Source»

В-третьих, по ряду непонятных причин, приложения, обращающиеся напрямую к ALSA, выдают «потрескивающие» басы, что неприятно сказывается на звуке (на-пример, драм-машина Hydrogen).

Следующая проблема обнаружена в том, что Firefox 3.0 beta 5 просто отказал-ся запускаться: что-то сломалось при об-новлении с Fedora 8. Впрочем, в новых ин-сталляциях Fedora браузер Firefox рабо-тает нормально. Заявленная поддержка Adobe Flash не так уж хороша. Следует помнить, что swfdec – это свободный Flash-плеер, имеющий определенные проблемы с поддержкой этого формата.

PackageKit, несмотря на запрет про-верки обновлений, все равно постоянно

Улучшенный NetworkManager – ути-лита для настройки и управления се-тевыми подключениями – получила расширение функциональности в ви-де лучшей интеграции с мобильными устройствами.

Firefox 3 – в поставку Sulphur вхо-дит Firefox 3.0 beta 5, последняя вер-сия на момент выхода дистрибутива. Для «беты» он работает весьма не-плохо.

Наконец-то поддержка технологии Flash доступна «из коробки» бла-годаря подключению бэкенда swfdec к фреймворку GStreamer.

TeXLive – замена старому, неподде-рживаемому пакету TeX, содержит как новые стили оформления, так и исправления многих ошибок.

Perl 5.10 – первый существенный ре-лиз интерпретатора языка Perl за пос-ледние несколько лет.

Множество улучшений в установ-щике Anaconda, который теперь уме-ет менять размеры разделов ext2, ext3 и NTFS, определять устройства средс-твами HAL и udev, а самое главное – появилась возможность сетевой ус-тановки системы.

Полный список изменений можно най-ти в документе «Release Notes» (http://docs.fedoraproject.org/release-notes/f9).

И что мы получили?При обновлении системы c Fedora 8 на Fedora 9 меня порадовал тот факт, что пришлось только вставить установочный диск и сделать пару щелчков мыши. Ос-тальное установщик Anaconda сделал сам, без моего вмешательства.

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

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

Во-вторых, на момент выхода дистри-бутива сервер Xorg 1.5 находился в состо-янии предварительного релиза, поэтому проприетарные драйверы от NVIDIA и ATI не работают. К счастью, 28 мая NVIDIA выпустила новую версию драйверов, уже совместимых с Xorg 1.5, поэтому сейчас с ними проблем нет.

желает обновиться и из-за этого посто-янно блокирует процесс yum.

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

Внешний вид Fedora 9 после установки

Установщик Anaconda строит дерево зависимостей пакетов

Page 4: Open Source Magazine #27

� №27, �� июня 2008

Электронное приложение «Open Source»обновления установщика (см. https://fedoraproject.org/wiki/Ru_RU/Releases/9/InstallationFailed).

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

Учитывая стремление разработчи-ков Fedora Project сделать использова-ние дистрибутива законным во всем ми-

ре, из стандартной поставки традици-онно исключена поддержка MP3 и DivX, но это совсем не страшно: проблема ре-шается подключением репозитариев livna (http://rpm.livna.org), tigro (http://www.tigro.info), adobe (http://linuxdownload.adobe.com/linux/i386) и установкой соответству-ющих пакетов.

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

уже исправлена: видеодрайверы NVIDIA уже работают, а ATI скоро подоспеет, про-блема с инсталляцией решена, а вместо swfdec можно установить официальный Flash Player от Adobe.

Сама система работает весьма быст-ро, а замечаний к ее стабильности у ме-ня нет. Желаю вам успехов при работе с Fedora 9!

Дмитрий Усталов([email protected])

FOSS Review 003Lybniz Версия: 1.3.2. Лицензия: BSD. Размер: 70 Кб (tar.gz). Сайт: http://lybniz2.sourceforge.net.

Маленькая, но очень полезная каж-дому студенту программка. Lybniz стро-ит графики различных математических функций, совмещая в одной рабочей об-ласти до трех разных графиков. Послед-ние будут выделены разными цветами, также доступны параметры координат-ной сетки и увеличение. А еще програм-ма по заданному числовому значению аргумента сумеет посчитать значение функции. Но радость была бы неполной без возможности экспорта графика в фор-мат PNG. Lybniz написана на языке Python, а интерфейс программы – на PyGtk.

Incollector Версия: 1.1. Лицензия: GPL. Размер: 300 Кб (tar.gz). Сайт: http://incollector.devnull.pl.

Мы часто даже не задумываемся, как много мелкой информации нам прихо-дится хранить в персональных компью-терах. Incollector – программа, предназна-ченная для хранения и организации раз-личной небольшой информации, будь то заметки, цитаты, онлайн-беседы, слова, ссылки, исходный код программ или се-рийные номера. Данные можно сортиро-вать по каталогам, присваивать им мет-ки и оценку. У Incollector красивый интер-фейс на базе Gtk# (Mono), программа уме-ет сворачиваться в системный трей, при-чем поиск и добавление записей может осуществляться прямо оттуда.

Parcellite Версия: 0.7. Лицензия: GPL.

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

Размер: 113 Кб (tar.gz). Сайт: http://code.google.com/p/xyhthyx.

Incollector

Lybniz

Page 5: Open Source Magazine #27

�№27, �� июня 2008

Электронное приложение «Open Source»

Parcellite

GNOME, появился хороший заместитель – Parcellite. Такого рода программы позво-ляют обращаться к предыдущим вставкам в буфер обмена, а не только к последней. Программа удобная в обращении, быст-рая и легкая, а главное – совсем не зави-сит от GNOME.

GNOME Commander Версия: 1.2.6. Лицензия: GPL. Размер: 2.2 Мб (tar.bz2). Сайт: http://www.nongnu.org/gcmd.

Двухпанельные файловые менеджеры (так называемые ортодоксальные) очень удобны для работы с файлами. У пользо-вателей Windows есть Total Commander, у KDE – Krusader. Но как быть с GNOME? Для этой среды есть Gnome Commander – двухпанельный файловый менеджер, ре-ализующий весь необходимый набор опе-раций над файлами, включая работу с ар-хивами, поиск, массовое переименование, отправку файлов (E-mail, IM, Bluetooth), удаленные соединения (FTP и Samba). Программе может быть оснащена и дру-гими возможностями с помощью допол-нительно подгружаемых модулей. Интер-фейс GNOME Commander поддается тон-кой настройке и интуитивно понятен поль-зователю. Нельзя не отметить хорошую интеграцию непосредственно с библио-теками и приложениями GNOME.

Figaro's Password Manager 2 Версия: 0.71. Лицензия: GPL. Размер: 184 Кб (tar.bz2). Сайт: http://als.regnet.cz/fpm2.

Во всем многообразии электронных и онлайн-сервисов запомнить пароли к каждому из них – задача не из легких, а иметь один пароль ко всему – по мень-шей мере довольно небезопасно. На по-мощь приходит специальная программа – Figaro's Password Manager 2 (FPM2). Это легкий менеджер паролей, написанный на Gtk2. Для безопасного шифрования паролей используется алгоритм blowfish. Записи можно разделять по категориям, а имя пользователя и пароль вставлять

GNOME Commander

Figaro's Password Manager 2

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

Роман Комков([email protected])

Обзор грядущего релиза Firefox 3Вот и подходит к концу полуторагодовая работа над новой, третьей по счету, вер-

сией межплатформенного веб-браузе-ра Mozilla Firefox. Это второй по популяр-

ности браузер в мире, и его доля посте-пенно растет.

Ожидать релиз стоит к концу это-го месяца – в так называемый День за-качки (Download Day), который пока не объявлен (http://www.spreadfirefox.com/ru/worldrecord). Он примечателен тем, что пользователи со всего мира будут пы-

Page 6: Open Source Magazine #27

� №27, �� июня 2008

Электронное приложение «Open Source»

Результаты теста Acid 2: слева – Firefox 2; посередине – Firefox 3, справа – эталон

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

Итак, новая версия браузера от Mozilla основывается на HTML-движке Gecko вер-сии 1.9 (http://wiki.mozilla.org/Gecko_1.9_Roadmap), который, по словам разработ-чиков, содержит более 14 тысяч исправ-лений, включая изменения, направлен-ные на увеличение производительнос-ти и стабильности, поправки в обработ-ке кода. Соответственно, и браузер дол-жен стать быстрее, стабильнее, надежнее. Разработчики также уверяют, что находя-щееся «под капотом» очень многое может предложить создателям веб-сайтов и раз-работчикам дополнений для Firefox.

Что же нового для пользователя пред-лагает Mozilla на этот раз?

Проблемы безопасностиСреди улучшений, направленных на по-вышение безопасности, стоит выде-лить встроенные средства борьбы с раз-личными вредоносными программа-ми. Firefox предупреждает об опаснос-ти, когда вы попадаете на сайт из «чер-ного списка», который устанавливает ви-русы, шпионское ПО, трояны и др. Поми-мо этого, браузер передает антивирусу информацию о том, что скачивается ис-полняемый файл (впрочем, ни ClamAV в Kubuntu, ни avast! в Windows XP не про-явили дополнительной активности). Эти-ми мерами снижается вероятность того, что файл, который был скачан, окажется опасным для ОС.

Что же касается кроссплатформен-ных улучшений в безопасности, то были исправлены ошибки, возникающие при удалении пользовательских данных. По-мимо этого, теперь закладки, история ак-тивности, cookies и настройки хранятся в защищенном формате, который должен спасти от кражи даже в случае краха сис-темы. К сожалению, разъяснений по по-воду «защищенного формата» Mozilla не дала, а при использовании профиля в разных версиях Firefox ни в Windows XP, ни в Kubuntu проблем не возникло. Изме-нилась система запоминания паролей: те-перь вы можете сохранять их после того,

как успешно пройдет авторизация и на-чнет загружаться нужная страница.

ИнтерфейсТема оформления третьей версии исполь-зует иконки GTK+, что сделало Firefox «роднее» для пользователей графичес-кой среды GNOME. А вот Windows-версия стала более похожей на Internet Explorer 7. Кнопки в веб-формах и выпадающие ме-ню стали более сглаженными, менее уг-ловатыми. С отрисовкой дела тоже улуч-шились: огрехов в Windows не замече-но, но в Kubuntu есть проблемы, которые я отнес на счет версии. Так, например, кнопка с выпадающим списком всех отк-рытых вкладок не отрисовывалась, пока не наведешь на нее курсор. (Прим. ред.: В Firefox 3 RC1 для Ubuntu подобных проб-лем замечено не было.)

Адресная строка в Firefox 3 представ-ляет особый интерес. Иконка с левой сто-роны обзавелась функционалом: пос-ле нажатия на нее всплывает окно с ин-формацией о SSL-сертификате. А с помо-щью «звездочки» в правой части адрес-ной строки можно легко добавить стра-ницу в закладки. Повторное нажатие от-кроет окно свойств вновь созданной за-кладки с возможностью редактирования. Что касается ввода адреса, то и тут есть изменения: ввод стал более интерактив-ным, браузер запоминает не только ад-реса, но и заголовки посещенных сайтов, позволяя осуществлять по ним быстрый поиск при вводе URL.

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

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

ки закачки, присущие менеджерам загру-зок. Еще одной приятной особенностью стало появление в правой части строки состояния статуса закачек. И последнее: заработали «горячие» клавиши при вклю-ченной русской раскладке в Kubuntu.

ПроизводительностьТеперь о производительности: время «хо-лодного» старта, равно как и «теплого» (повторный запуск программы без пе-резагрузки ОС, когда часть информа-ции находится в оперативной памяти), в Kubuntu не изменилось, а в Windows XP оно, по личным ощущениям, сокра-тилось на доли секунды. В RC2, по сло-вам разработчиков, было снижено коли-чество используемой оперативной памя-ти и последующая ее утечка, что потре-бовало немалых усилий. Переключение вкладок, прокрутка – все работает быс-трее; особенно это заметно при больших объемах текста. Теперь Firefox работа-ет с множеством вкладок без каких-ли-бо проблем (вторая версия испытывала с этим трудности).

Отдельным пунктом повышения про-изводительности у разработчиков зна-чится улучшенная поддержка AJAX-при-ложений, в том числе и от Google. Пере-пробовав несколько приложений для ра-боты в on-line, включая Gmail, я с этим ско-рее соглашусь. Однако о двойном или да-же тройном приросте производительнос-ти (по сравнению с Firefox 2), как гласит «What's new» (http://www.mozilla.com/en-US/firefox/3.0/whatsnew), речи не идет.

ДополненияКак я уже сообщал выше, Firefox при стар-те проверяет дополнения на совмести-мость, а затем на наличие обновлений. При возможности они обновляются сразу, как это было еще во второй версии. Ста-рые, небезопасные дополнения, которые содержат ошибки, Firefox блокирует. Так-же он не дает обновлять с неизвестных ис-точников уже установленные. Установка же упростилась за счет появления новой возможности – дополнения теперь уста-навливаются и из менеджера дополнений. Причем по умолчанию некоторые там уже рекомендуются, а остальные можно по-добрать с помощью поиска: либо по на-званию, либо по описанию. К сожалению, около 60% дополнений, используемых мною каждый день, работать отказались. В их числе – Google Toolbar и ImgLikeOpera. Впрочем, к выходу финальной версии си-туация должна улучшиться.

СтабильностьПод конец, пару слов о стабильности. Ни-

Page 7: Open Source Magazine #27

7№27, �� июня 2008

Электронное приложение «Open Source»

каких нареканий нет: все отлажено, сбо-ев или вылетов не было, никаких зависа-ний за все время работы. И это несмотря на то, что RC2 позиционируется как неста-бильная версия. (Прим. ред.: Лично у ме-ня на amd64 при использовании Firefox 3 Beta5 наблюдались регулярные «паде-ния» при работе с Gmail, которые пропа-ли с выходом RC1.)

чительное мнение таково: Firefox 3 готов к использованию – с поправкой на работо-способность дополнений. Ведь расширя-емость – это именно то, чем Firefox в свое время прославился. Миллионы пользова-телей, и я в их числе, ждут Download Day.

Никита Лялин([email protected])

РезюмеИтак, продолжительная работа явно не пропала даром: браузер стал заметно стабильнее, безопаснее и быстрее. Ра-ботать с ним по-прежнему удобно и даже удобнее, чем было раньше. Приоритет-ные задачи, которые ставили перед со-бой разработчики, выполнены. Остался не менее важный этап – отладка. Мое заклю-

iGoogle в Firefox 3

xmonad: функциональный оконный менеджер

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

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

Многим это надоедает настолько, что они просто распахивают окна на весь эк-ран и переключаются между ними, но да-же такая задача, как распахивание каж-

стабильный, быстрый, лёгкий и прос-той;

написан на чисто функциональном языке Haskell;

возможность работы без использова-ния мыши;

поддержка Xinerama (многоэкранные конфигурации);

поддержка плавающих окон, вкладок (табов) и декораций;

интеграция со средами GNOME и KDE; индивидуальные компоновки окон

на каждом рабочем столе; огромная и постоянно растущая биб-

лиотека расширений; развёрнутая и подробная документа-

ция; большая и активная команда разра-

ботчиков, дружелюбное сообщество.

xmonad состоит из двух частей: собст-венно ядро xmonad (которое может быть использовано как минималистский окон-ный менеджер) и постоянно растущая

дого нового окна, требует дополнитель-ных телодвижений. Если какое-то дейст-вие приходится выполнять множество раз, хороший программист стремится его ав-томатизировать. Так возникли современ-ные «тайловые» (от англ. tile – «черепи-ца», «плитка») оконные менеджеры, ко-торые берут на себя всю рутинную рабо-ту по управлению окнами. В каждый мо-мент окна занимают весь экран, не пере-крываясь и не оставляя зазоров.

Как раз об одном из таких оконных ме-неджеров мы собираемся рассказать. Имя ему – xmonad (читается «икс-монад», офи-циальный сайт – http://www.xmonad.org). Конечно, это не единственный тайловый оконный менеджер, но комбинация следу-ющих характеристик и возможностей де-лают его уникальным:

Page 8: Open Source Magazine #27

8 №27, �� июня 2008

Электронное приложение «Open Source»

Оконный менеджер xmonad

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

В xmonad установлены высокие стан-дарты по отношению к качеству кода и до-кументации. Каждая функция содержит четкое описание, а все расширения со-провождаются примерами использова-ния. Перед тем как какой-либо патч пос-тупит в репозиторий, он автоматичес-ки проверяется на наличие ошибок ком-пиляции. Учитывая сильную статичес-кую типизацию Haskell, это само по се-бе с большой вероятностью гарантирует, что код правильный. Кроме того, функции из ядра xmonad автоматически тестиру-ются с помощью QuickCheck – более 100 различных инвариантов функций прове-ряются на случайным образом сгенери-рованных тестовых данных. Это обеспе-чивает высокую надёжность xmonad, так что пользователь не рискует, даже рабо-тая с нестабильной версией из репози-тория darcs.

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

Интеграция со средой GNOME – http://haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome.

Интеграция со средой KDE – http://haskell.org/haskellwiki/Xmonad/Using_xmonad_in_KDE.

Использование трея. Например, можно использовать stalonetray (http://stalonetray.sourceforge.net)

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

Композитные расширения – http://haske l l .o rg / haske l lw i k i / Xmonad /Frequently_asked_questions#How_do_I_use_compositing_with_xmonad.3F.

Установка «обоев» (фона рабоче-го стола). Для этого можно использо-вать любую программу, которая умеет выставлять фон корневого окна (root window), например, qiv или feh.

Использование urgencyHook (http://www.xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Hooks-UrgencyHook.html) для задания определённого действия оконного менеджера в ответ на то, что окно «хочет привлечь вни-мание пользователя». Это может быть полезным для отслеживания уведом-лений различных программ.

Вообще, не стоит забывать, что в раз-деле часто задаваемых вопросов (http://haskell.org/haskellwiki/Xmonad/Frequently_asked_questions) вы сможете найти не только вопросы, но и ответы на них.

УстановкаСегодня многие операционные системы предлагают xmonad в виде готовых па-кетов.

Среди систем, которые дру жат с xmonad, числятся OpenBSD/NetBSD/FreeBSD, Gentoo, Debian, Ubuntu, Arch, Fedora, Slackware и другие. Обратите вни-мание, что для полноценной конфигура-ции необходимо установить GHC (компи-лятор Haskell) даже в том случае, когда сам xmonad распространяется в бинар-ном виде.

Если для вашей системы xmonad не упакован, есть отличный повод соб-рать его из исходников. Подробные инс-трукции приведены на сайте (http://xmonad.org/intro.html).

В этом случае, как и при сборке многих других программ, будет стоять выбор: со-бирать последний релиз (сейчас это вер-сия 0.7, а версия 0.8 вот-вот выйдет) или разрабатываемую версию из darcs-репо-зитория (darcs – распределённая система контроля версий, используемая для раз-работки xmonad).

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

Page 9: Open Source Magazine #27

�№27, �� июня 2008

Электронное приложение «Open Source»Ещё один важный шаг – установка

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

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

Для этого необходимо предваритель-но установить программу haddock.

В случае использования стабильного релиза документацию по нему можно най-ти в Сети (http://xmonad.org/xmonad-docs).

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

Если запуск X-сервера осуществляет-ся из консоли с помощью команды startx или аналогичной, достаточно в $HOME/.xinitrc заменить вызов оконного менедже-ра на xmonad (с указанием полного пути к программе, если это необходимо). Если же используется менеджер дисплея (XDM/GDM/KDM/...), аналогичные изменения на-до внести в файл $HOME/.xsession (ес-ли такого нет, то достаточно создать его и вписать туда xmonad). Создатели паке-та могли позаботиться о том, чтобы в ме-ню KDM или GDM появился тип сессии xmonad, но мы рекомендуем использовать файл запуска .xsession, для чего надо вы-ставить в GDM/KDM тип сессии Default.

Поскольку xmonad ориентирован на работу с клавиатурой, полезно ознако-миться с основными сочетаниями клавиш (о том, как их можно изменить, см. ниже). Их перечень доступен в man xmonad (или по адресу http://xmonad.org/manpage.html). Основные из них: Alt+Shift+Return – запуск терминала; Alt+Shift+C – закрытие текущего ок-

на; Alt+J и Alt+K – переключение между

окнами; Alt+Shift+Q – выход из xmonad.

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

Вся конфигурация xmonad произ-водится в конфигурационном файле $HOME/.xmonad/xmonad.hs. XMonad ис-

путать большие и маленькие буквы нель-зя. Кроме того, как и в языке Python, от-ступы и переводы строк играют опреде-ленную роль. Поэтому для уменьшения количества ошибок рекомендуется всег-да использовать пробелы вместо табуля-ций. Если у вас возникли проблемы, не стесняйтесь зайти в IRC на #xmonad (в се-ти Freenode) и попросить помощи.

Теперь – об основных частях конфигу-рационного файла. Если не считать ком-ментарии, конфигурационный файл начи-нается с объявлений import. Каждое такое объявление должно располагаться в нача-ле строки и говорить компилятору о необ-ходимости подключить соответствующий модуль. Объявление:

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

Следующей важной частью xmonad.hs является строчка:

Поскольку xmonad.hs является про-граммой, это объявление указывает, что при её запуске надо исполнить функцию xmonad (которая и отвечает за управление окнами) с аргументом defaults – структу-рой данных, содержащей все настройки, такие как сочетания клавиш, компоновки окон и прочие.

Вот как выглядит определение defaults:

Многоэкранная конфигурация

поведует принцип «создай свой оконный менеджер сам» не только в переносном смысле (предлагая возможность гибкой настройки), но и в прямом – конфигура-ционный файл представляет собой про-грамму на языке Haskell. Будучи скомпи-лированной, эта программа и будет ва-шим менеджером окон, а пакеты xmonad и xmonad-contrib, которые вы установи-ли, – это по сути библиотеки, которые де-лают создание своего оконного менедже-ра практически тривиальным.

Тем не менее даже если вы первый раз слышите о языке Haskell, не стоит пугать-ся – о вас разработчики xmonad думают в первую очередь! Декларативность язы-ка и широкие синтаксические возможнос-ти делают Haskell отличным языком для описания конфигурации, в чём мы и пред-лагаем убедиться.

Нет никакой необходимости начинать с нуля. Вашему вниманию предлагается тщательно документированный образец xmonad.hs (http://haskell.org/haskellwiki/Xmonad/Config_archive/Template_Config.hs) (если вы устанавливали xmonad из исходников, то этот же самый файл мож-но найти в директории с исходниками по адресу man/xmonad.hs). Кроме того, на wiki-странице http://haskell.org/haskellwiki/Xmonad/Config_archive можно найти десят-ки конфигурационных файлов от пользо-вателей xmonad.

Дадим минимум знаний о синтаксисе Haskell, который понадобится для написа-ния конфигураций. Блочные комментарии заключаются между последовательностя-ми «{-» и «-}» (фигурные скобки и дефис), а однострочные начинаются с "--" (два де-фиса). Язык – регистрозависимый, то есть

runhaskell Setup.lhs haddock

import XMonad

main = xmonad defaults

Page 10: Open Source Magazine #27

�0 №27, �� июня 2008

Электронное приложение «Open Source»

Здесь использована стандартная форма записи структур данных в Haskell. Слева от знака «=» стоят названия парамет-ров, а справа – значения.

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

почтительного терминала (например, «xterm»). focusFollowsMouse – отвечает за то, будет ли фокус ввода

перемещаться, если вы перемещаете указатель мыши. borderWidth, normalBorderColor и focusedBorderColor – от-

носятся к рамке, которая рисуется вокруг каждого окна.

modMask, numlockMask, keys и mouseBindings – относят-ся к сочетаниям клавиш и будут объяснены ниже.

workspaces – список строк, которые будут идентифициро-вать рабочие столы. По умолчанию они просто пронумеро-ваны от 1 до 9. Можно выделять рабочие столы под отдель-ные задачи. Например, ["irc", "mail", "www", "work"].

layoutHook – содержит настройки компоновок окон. manageHook позволяет производить определённые действия при открытии нового окна. logHook поможет сделать строку статуса. startupHook может выполнять действия при старте xmonad. К этим параметрам мы ещё вернёмся.

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

Иван Веселов([email protected])

Роман Чепляка([email protected])

defaults = defaultConfig { terminal = myTerminal, focusFollowsMouse = myFocusFollowsMouse, borderWidth = myBorderWidth, modMask = myModMask, numlockMask = myNumlockMask, workspaces = myWorkspaces, normalBorderColor = myNormalBorderColor, focusedBorderColor = myFocusedBorderColor, keys = myKeys, mouseBindings = myMouseBindings, layoutHook = myLayout, manageHook = myManageHook, logHook = myLogHook, startupHook = myStartupHook }

Защищаем себя средствами GnuPGПредисловиеВ последнее время очень остро стоит про-блема сохранения конфиденциальности информации. Особенно в Интернете, где риск перехвата секретных данных весьма высок. В этой статье будет представле-но описание работы пакета GnuPG (GNU Privacy Guard, GPG) (http://www.gnupg.org) вкупе с несколькими примерами приме-нения.

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

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

Особенности GnuPGОсновные технические особенности GnuPG таковы: полноценная альтернатива PGP; не использует патентованные алгорит-

мы; распространяется под лицензией GPL; п о л н а я р е а л и з а ц и я O p e n P G P

(RFC4880); расшифровывание и аутентифика-

ция сообщений, созданных с помо-щью PGP 5, 6 и 7;

поддержка электронной подписи с по-мощью алгоритмов ElGamal, DSA, RSA и хеш-функций MD5, SHA-1, RIPE-MD-160 и TIGER;

работа с асимметричным шифрова-нием ElGamal и RSA (длина ключа от 1024 до 4096 бит);

поддержка блочных алгоритмов сим-метричного шифрования AES, 3DES, Blowfish, Twofish, CAST5, а также IDEA с помощью модуля;

лёгкая реализация новых алгорит-мов с помощью дополнительных мо-дулей;

многоязыковая поддержка (в том чис-ле и русского);

on-line-система помощи; поддержка просроченных ключей

и подписей;

встроенная поддержка HKP-серверов ключей.

Как уже было отмечено, GnuPG был разработан в соответствии со стандар-том OpenPGP, а это значит, что подпи-си и зашифрованные данные, создан-ные другими программами, совместимы-ми с OpenPGP, будут работать с GnuPG. Использование различных криптогра-фических алгоритмов, таких как симмет-ричные шифры, шифрование с открытым ключом и смешанные алгоритмы, позво-ляет надёжно защищать секретные дан-ные и передавать их. Длины ключа в 1024 или 2048 бит достаточно, чтобы не бес-покоиться о взломе зашифрованной ин-формации.

GnuPG (http://www.gnupg.org) – исклю-чительно консольная программа, но уже сейчас существует несколько графичес-ких оболочек для неё: Seahorse (http://www.gnome.org/projects/seahorse) и GPG-Crypter (http://gpg-crypter.sourceforge.net – которые упрощают работу с программой посредством интуитивно понятного гра-фического интерфейса.

Работа с GnuPGПервое взаимодействие с пакетом GnuPG начинается с генерирования ключей:

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

$ gpg --gen-key

Page 11: Open Source Magazine #27

��№27, �� июня 2008

Электронное приложение «Open Source»обязательно постоянно передавать ваш публичный ключ лично. Можно восполь-зоваться несколькими способами: раз-местить у себя на домашней странице, на портале, в котором есть поле для пуб-личного ключа, либо воспользоваться бо-лее централизованной базой – копилкой ключей, из которой достать ваш ключ бу-дет всегда удобно.

Чтобы использовать сертификат, нуж-но просто импортировать его в базу, как и любой открытый ключ:

а затем отправить на сервер:

где $KEY – D ключа, который будет от-правлен.

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

где $FILE – файл ключа или keyring («связ-ка», несколько ключей в одном файле).

После этого командой:

где $KEY – ID ключа респондента, нужно подписать желаемый ключ. При подписы-вании к нему добавляется ваш публичный ключ для того, чтобы ваши сообщения/

письма могли идентифицировать другие. Затем нужно отправить подписанный ва-ми ключ его владельцу:

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

Можно сделать то же самое в ви-де ASCII-текста, который легко размес-тить в Сети:

где $KEY – ID ключа владельца.Теперь владелец должен импортиро-

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

Иногда может потребоваться хра-нить ваши ключи (публичные или приват-ные) на каком-либо носителе (например, на USB flash). Для этого нужно экспорти-ровать ключ, что можно сделать как в би-нарном виде:

Так и в текстовом (ASCII armor):

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

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

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

У каждого из них есть срок исполь-зования (так же, как и у кредитных карт). Хорошим тоном является установка сро-ка использования для подключей 1-2 го-да. GnuPG ведёт собственную базу, кото-рая находится в файле ~/.gnupg/pubring.gpg. Туда и заносятся открытые (публич-ные) ключи ваших респондентов.

С помощью команды:

можно просмотреть все ключи, нахо-дящиеся в базе. Будет выведен список ключей, показывающий их статус (pub – публичный, sub – второстепенный), дли-ну и метод шифрования, дату создания и, главное, уникальный идентификатор (ID), представляющий собой 8-значное 16-ричное число.

Для основного ключа можно (и нужно) создать отзывающий сертификат:

где $KEY – ID основного ключа.Отзывающий сертификат нужен для

уничтожения ключа. Это может потребо-ваться, например, если ключ будет укра-ден или утерян. Даже если ключевая фра-за очень надёжна, стоит заранее, еще на этапе создания ключа, подумать о воз-можности его уничтожения в будущем. После создания сертификата его содер-жимое будет выведено в stdout. Его нужно сохранить в надёжном месте (желатель-но на другом носителе или вообще в пе-чатном виде), т.к. любой, завладевший этим сертификатом, может сделать ключ недействительным и удалить его из базы данных сервера открытых ключей (тогда никто не сможет получить ваш ключ). Та-кие базы данных хранят публичные клю-чи совершенно свободно. Это сделано для удобства обмена ключами: вам не- GPG-Crypter

$ gpg --list-keys

$ gpg --gen-revoke $KEY

$ gpg --import revoke-certificate.asc

$ gpg --send-keys $KEY

$ gpg --import $FILE

$ gpg --export $KEY > userkey.gpg

$ gpg -a --export $KEY > userkey.asc

$ gpg --sign-key $KEY $ gpg --export $KEY > mykey.gpg

$ gpg -a --export $KEY > mykey.asc

Page 12: Open Source Magazine #27

�2 №27, �� июня 2008

Электронное приложение «Open Source»В обоих случаях $KEY – это ID вашего

ключа. Вместо «-a» можно также исполь-зовать «--armor».

В итоге для работы с документами до-ступны следующие команды: подписать документ (гарантирует, что

документ «от вас»), к нему просто до-бавляется ваша электронная подпись;

зашифровать документ (производит-ся шифровка выбранным алгоритмом всего документа);

подписать и зашифровать документ (сочетает в себе эти действия).

Вне зависимости от типа файла (как было показано выше с ключом) можно по-лучить подпись или зашифрованное со-общение как в бинарном, так и в тексто-вом виде. Например, есть файл библиоте-ки – он двоичный. Шифруем и подписыва-ем его, а на выходе получаем текстовый файл. После расшифровки файл приходит в своё оригинальное состояние. Это мож-но использовать для хранения различных файлов в таблицах реляционных баз дан-ных: в таком случае, несмотря на различ-ные типы файлов, после зашифровки все они будут представлять набор символов в виде строк ASCII.

Можно создавать так называемые прозрачные подписи (в которых будет не-зашифрованное содержимое документа + ваша цифровая подпись):

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

А подписи, находящиеся в отдельных файлах в бинарном виде (будет создан файл подписи $DOC.sig), создаются ко-мандами:

В текстовом (ASCII armor) виде (будет создан файл подписи $DOC.asc):

Такие подписи (в последних двух при-мерах) должны распространяться вместе с подписываемым документом.

Любой ключ также можно отредакти-ровать командой «--edit-key». Это позво-лит изменить некоторые параметры клю-ча: степень достоверности, если это чужой публичный ключ, секретную фразу, если это ваш приватный ключ, и другое.

Что касается степени достоверности, то в GnuPG существует 5 уровней: 1. I don't know or won't say – я ничего

не знаю о владельце этого ключа или не хочу говорить об этом;

2. I do NOT trust – я не доверяю этому человеку;

3. I trust marginally – я знаю этого че-ловека и доверяю ему, но не уверен, что ключ принадлежит ему;

4. I trust fully – я знаю этого человека и лично убедился в том, что ключ при-надлежит ему;

5. I trust ultimately – я знаю этого че-ловека, у меня есть доступ к его сек-ретному ключу.

GnuPG и Open SourceGnuPG существует практически в каждом дистрибутиве GNU/Linux, является обя-зательным пакетом в OpenBSD, NetBSD, FreeBSD и других свободных операцион-ных системах.

Множество Open Source-приложений поддерживают GnuPG посредством раз-личных модулей.

Например, gpgme (библиотека, являю-щаяся неким посредником между GnuPG и программами) используется следующи-ми приложениями: Почтовые клиенты Evolution (вхо-

дит в состав GNOME) и Sylpheed (http://sylpheed.sraoss.jp/en), а с по-мощью расширения Enigmail GnuPG работает в почтовом клиенте Mozilla Thunderbird.

Jabber-клиенты Gajim (http://www.gajim.org) и Psi (http://psi-im.org).

KDE PI M (Pe rsona l I n fo rmat ion Management).

У упомянутой библиотеки gpgme есть и модули для скриптовых языков. На-пример: pygpgme (http://launchpad.net/pygpgme)

для Python; Crypt_GPG (http://pear.php.net/package/

Crypt_GPG) для PHP; Crypt::GpgME (http://search.cpan.org/

dist/Crypt-GpgME) для Perl.

В последнее время всё больше проек-тов используют GnuPG для подписывания файлов с целью дальнейшей проверки их целостности (вместо использования хе-шей MD5, SHA1, SHA256, SHA512). Поэтому помимо архивов (особенно в Open Source-среде) на сайтах обычно лежат GPG-под-писи в бинарном или ASCII-видах.

Один из основанных на исходниках (так называемых source-based) Linux-дис-трибутивов использует GnuPG как основ-ной инструмент проверки целостности файлов в системе управления програм-мным обеспечением – Source Mage GNU/Linux (http://www.sourcemage.org).

Бинарные дистрибутивы Linux также зачастую используют пакеты, подписан-ные GnuPG. Например, в случае с пакета-ми DEB – это Debian GNU/Linux и Ubuntu, а с RPM – Red Hat, Fedora, Mandriva и мно-гие-многие другие.

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

Влад Глаголев([email protected])

$ gpg --clearsign $DOC

$ gpg --detach-sign $DOC

$ gpg -a --detach-sign $DOC

Page 13: Open Source Magazine #27

��№27, �� июня 2008

Электронное приложение «Open Source»

Российская Федерация Подписной индекс: годовой – 20780,

полугодовой – 81655 Каталог агентства «Роспечать» Подписной индекс: годовой – 88099,

полугодовой – 87836 Объединенный каталог «Пресса Рос-

сии» Адресный каталог «Подписка за ра-

бочим столом» Адресный каталог «Библиотечный

каталог» Альтернативные подписные агентства: агентство «Интер-Почта» (495) 500-00-60, курьерская доставка

по Москве агентство «Вся Пресса» (495) 787-34-47 агентство «Курьер-Прессервис» агентство «ООО Урал-Пресс» (343) 375-62-74 Подписка On-line http://www.arzi.ru http://www.gazety.ru http://www.presscafe.ru

СНГВ странах СНГ подписка принимается в почтовых отделениях по националь-ным каталогам или по списку номенкла-туры «АРЗИ»: Азербайджан – по объединенному

каталогу российских изданий через предприятие по распространению пе-чати «Гасид» (370102, г. Баку, ул. Джа-вадхана, 21)

Казахстан – по каталогу «Российс-кая пресса» через ОАО «Казпочта» и ЗАО «Евразия пресс»

Беларусь – по каталогу изданий стран СНГ через РГО «Белпочта» (220050, г. Минск, пр-т Ф. Скорины, 10)

Узбекистан – по каталогу «Davriy nashrlar», российские издания через агентство по распространению печа-ти «Davriy nashrlar» (7000029, г. Таш-кент, пл. Мустакиллик, 5/3, офис 33)

Армения – по списку номенклатуры «АРЗИ» через ГЗАО «Армпечать» (375005, г. Ереван, пл. Сасунци Давида, д. 2) и ЗАО «Контакт-Мамул» (375002, г. Ереван, ул. Сарьяна, 22)

Грузия – по списку номенклату-ры «АРЗИ» через АО «Сакпресса» (380019, г. Тбилиси, ул. Хошарауль-ская, 29) и АО «Мацне» (380060, г. Тби-лиси, пр-т Гамсахурдия, 42)

Молдавия – по каталогу через ГП «Пошта Молдовей» (МД-2012, г. Кишинев, бул. Штефан чел Маре, 134)

по списку через ГУП «Почта При-днестровья» (МD-3300, г. Тирасполь, ул. Ленина, 17)

по прайс-листу через ООО агентство «Editil Periodice» (МД-2012, г. Киши-нев, бул. Штефан чел Маре, 134)

Подписка для Украины:Киевский главпочтамтПодписное агентство «KSS»Телефон/факс (044)464-0220

Подписка на журнал«Системный администратор»

Подписные индексы:

20780*

81655**

по каталогу агентства «Роспечать»

88099*

87836**

по каталогу агентства«Пресса России»

Стоимость подписки через редакцию:

900* руб.за 6 номеров

1800* руб.за 12 номеров

* годовой** полугодовой