Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #132, ДЕКАБРЬ 2009 г.

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


Наверняка тебе, как и мне, часто приходилось слышать мнение, что Linux — самая быстроразвивающаяся ОС в мире. А так как в конце года принято подводить итоги, то предлагаю оценить темпы развития Linux (а также других основных OpenSource-проектов) за год и постараться заглянуть в грядущее, гадая на roadmap’ах.

Уходящий год оказался богат не только на интересные релизы, но и на круглые даты. В сентябре проекту GNU стукнуло 25 лет, в августе ядро Linux достигло совершеннолетия, и в том же месяце Unix праздновал свой очередной юбилей — 40 лет.

Ядра — чистый изумруд

Основная часть любой операционной системы — это ядро. За прошедший год ветка 2.6 ядра Linux пережила 3 релиза (2.6.29, 2.6.30 и 2.6.31). И переживет еще один в декабре (2.6.32), если все пойдет по плану.

Суммарно в версиях 2.6.29 — 2.6.31 к ядру добавили около трех миллионов строк кода, изменения затронули практически все подсистемы ядра. Количество нововведений плохо соотносится с размером статьи, поэтому опишу лишь основные и, на мой взгляд, интересные:

1. Технология KMS (kernel mode setting), позволяющая менять видеорежимы средствами ядра. Поддерживаются видеокарты от Intel, ATI/AMD вплоть до hd4xxx/r700 (только с открытыми дровами) и nVidia (только с дровами nouveau). Кроме того, что технология — великое благо для разработчиков ядра и X11, она дает плюсы и простым пользователям: позволяет запускать X11 не от рута, обеспечивает более плавное переключение между пользовательскими аккаунтами и между X11 и виртуальными терминалами.

2. Новые файловые системы: • Btrfs — разработанная с нуля ФС, по своим функциональным возможностям близкая к ZFS: снапшоты, компрессия, динамическая дефрагментация, журналирование и т.д. Последняя на данный момент версия данной ФС — 0.19 — явно указывает на то, что пока использовать ее стоит только в целях тестирования.

• Squashfs — ФС, обеспечивающая очень высокое сжатие данных, но предоставляющая доступ в режиме «только для чтения». Основные области применения — всевозможные LiveCD и встраиваемые устройства. И хотя в этих областях ФС уже успешно используется пару лет, в основную ветку ядра она была включена только в версии 2.6.29.

• NILFS2 — устойчивая к сбоям журнально-структурированная ФС. Данные хранит в подобной логам структуре, поддерживает версионность: позволяет при смонтированной в режиме «чтение-запись» ФС смонтировать любое из ее предыдущих состояний в режиме «только для чтения».

• POHMELFS — несмотря на шуточное название, это довольно серьезная высокопроизводительная сетевая ФС, в перспективе более быстрый и функциональный аналог NFS.

• devtmpfs (или Devfs 2.0) — виртуальная файловая система /dev теперь создается в ОЗУ через tmpfs, что позволяет получить к ней доступ еще до монтирования корня.

3. Поддержка новых протоколов:

• WiMAX.

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

• RDS (Reliable Datagram Sockets) — протокол предназначен для высокоскоростного обмена данными между узлами в кластере.

• IEEE 802.15.4 — протокол описывает низкоскоростную (до 250 Кбит/с) беспроводную сеть и предназначен для общения между собой всевозможных датчиков.

• USB 3.0 — новая версия старого доброго USB, увеличивающая теоретическую пропускную способность до 4,8 Гбит/с. Версия 2.6.32 ядра станет самой революционной версией за последние пару лет, как минимум — ведь в эту версию войдет код от Microsoft :).

Откуда дровишки?

Не все дрова для Linux содержатся в ядре, некоторые производители выпускают свои закрытые (проприетарные) версии. Самый распространенный пример — дрова для видеокарт от известных производителей: AMD и nVidia.

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

Итак, прогресс дров Catalyst от AMD за этот год:

• Полная поддержка OpenGL 3.0.

• Частичная поддержка RandR 1.3.

• Поддержка Hybrid CrossFire — технологии, позволяющей объединить мощность нескольких неидентичных GPU (например, встроенной и внешней).

• Поддержка Multiview — технологии, позволяющей использовать несколько дисплеев на нескольких видеокартах.

В 2009 году nVidia выпускала дрова в трех ветках: 180.х, 185.х и 190.х. В основном, в changelog’ах встречались багфиксы и добавление поддержки новых GPU/ядер/X.org. Ключевые изменения в дровах nVidia за год:

• Полная поддержка OpenGL 3.2.

• Множественные улучшения в технологии VDPAU, позволяющей возложить на GPU нагрузку по декодированию видео.

Но главным трендом уходящего года, связанным с GPU, стала, несомненно, технология OpenCL. OpenCL — реализация техники GPGPU, позволяет перекладывать на GPU вычисления, которые обычно производятся CPU. Стандарт OpenCL был разработан в качестве замены аналогичных решений от производителей видеокарт (nVidia CUDA, AMD Stream), поэтому написанная с использованием OpenCL прога будет работать на видеокарте любого производителя, драйвера которой поддерживают OpenCL. Даешь стандартизацию!

Ближе к пользователю

Весь уходящий год не только кернел-хакеры работали, не покладая рук. Разработчикам более приближенных к пользователю приложений тоже есть, чем гордиться. Взять, например, окружения рабочего стола. За 2009 год девелоперами самых больших «противоборствующих» лагерей было выпущено по 2 мажорных релиза.

Основные новшества Gnome 2.26 и Gnome 2.28:

• Поддержка аутентификации с помощью сканера отпечатков пальцев.
• Упрощена настройка многомониторных конфигураций.
• Значительно расширены возможности стандартного модуля Bluetooth.
• Прога для записи дисков Brasero вошла в состав Gnome.
• Evolution стал на шаг ближе к MS Outlook: теперь он понимает PST и умеет общаться с MS Exchange 2007.
• Регулятор громкости интегрирован с модным PulseAudio.
• Множество улучшений в Totem: наконец-то он научился воспроизводить видео с места последней остановки.

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

Точно будут использоваться две ключевые технологии:

• Gnome Shell — рабочее окружение, предоставляющее новый способ запуска приложений, управления окнами и доступа к документам. Словами это описать сложно, лучше один раз увидеть: http://live.gnome.org/GnomeShell/Screencasts.

• Gnome Zeitgeist — технология, которая регистрирует действия пользователя (созданные в процессе работы файлы, посещенные сайты, почтовые и IM сообщения) и сохраняет их в хронологическом порядке. Это позволяет не только быстро просмотреть историю, но и легко найти любой созданный файл.

Также известно, что Gnome 3 будет использовать новую версию библиотеки Gtk+ 3. Релиз KDE4 не все поклонники этой графической среды восприняли с энтузиазмом (Линус настолько расстроился, что перешел на Gnome :)).

И было, отчего расстроиться: релиз 4.0 сложно назвать стабильным, тянет разве что на альфаверсию. К тому же, сломали совместимость со старыми приложениями. Не упали духом, пожалуй, только разработчики: они продолжили упорно устранять баги и добавлять новые фичи.
Результатом года кропотливого труда стали релизы 4.2 и 4.3 (а также минорные релизы 4.2.14.2.4 и 4.3.1-4.3.3). Основные нововведения:

• Интегрирование PowerDevil — мощного средства управления питанием.
• Интегрирование PolicyKit — системы для более гибкого управления привилегиями.
• Улучшения в интерфейсе Plasma: новая система уведомлений, новая тема Air, возможность группировки приложений на панели задач, автоскрытие панели и многое другое.
• В Kwin добавлены новые эффекты и переработан интерфейс в сторону упрощения настройки.
• Возможность запускать команды под учетной записью другого пользователя.
• Несколько десятков новых плазмоидов.
• Новый, более гибкий, системный трей. Следующий релиз (4.4) намечен на январь 2010. Он принесет следующие улучшения:
• Будет базироваться на Qt 4.6.
• KaddressBook будет полностью переписан — обзаведется новым интерфейсом и интеграцией с Akonadi (хранилище данных для записных книжек, органайзеров, будильников и других PIM-приложений).
• Интерфейс Plasma будет оптимизирован для экранов нетбуков.
• KAuth — средство, предоставляющее единое API для аутентификации. Пока в качестве backend’а может быть использован только PolicyKit.

В целом, у KDE есть все шансы вернуть доверие Линуса :).

Холодная война браузеров

Не знаю, как для тебя, но для меня браузер — один из основных рабочих инструментов. Уходящий год в мире браузеров был богат на события и релизы. Новичок — Google Chrome — обзавелся тремя релизами и отхватил около 4% рынка браузеров (если верить статистике statcounter.com). Очень популярная у наших соотечественников Opera в прошедшем году получила релиз за номером 10. Основные изменения:

• Новая версия движка Presto, значительно ускоряющего отрисовку страниц. К тому же, теперь Opera полностью проходит ACID3 (тест поддержки браузером Web-стандартов).
• Проверка орфографии для 51 языка.
• Технология Opera Turbo — запрошенная клиентом страница предварительно сжимается на сервере Opera. Меньше трафика и выше скорость!

Самый популярный открытый браузер — Firefox дорос до нового релиза 3.5. И должен дорасти до 3.6 к концу года. Основные нововведения в версиях 3.5 и 3.6:

• Поддержка некоторых тегов формата HTML5, самые интересные из которых: audio и video. Теперь встроить звуки или клип в страничку очень просто. Есть встроенная поддержка кодеков Ogg Vorbis и Ogg Theora. Видео может проигрываться в полноэкранном режиме.
• Режим приватного просмотра, в котором не ведется никакая история.
• Поддержка определения местоположения. Firefox может сообщать сайту твое приблизительное местоположение (пользуясь сервисом Google Location Services).
• Поддержка определения ориентации с помощью акселерометров.
• Проект Personas — поддержка урезанных тем, не нуждающихся в перезагрузке для применения.
• Поддержка формата Web Open Font Format (WOFF) для распространения шрифтов OpenType, Open Font Format или TrueType в сжатом виде.
• Страница about:support, содержащая информацию о версии, установленных плагинах и основных параметрах конфигурации. Firefox 3.7 должен выйти в первой половине 2010. Об изменениях известно пока немного:
• Несколько измененный внешний вид: использование одинаковых кнопок вперед/назад на всех платформах, удаление визуального разделителя между панелями.
• Поддержка WebGL — технологии, позволяющей получать доступ к функциям OpenGL через HTML5 canvas tag и JavaScript. На мой взгляд, Firefox — самый успешный OpenSource-проект для пользователя. Посуди сам: за всю историю существования Firefox его скачали более миллиарда раз, в день релиза версии 3.0 ее скачали более 8 миллионов человек (о чем даже записано в книге рекордов Гиннеса); с сентября 2009 года Firefox 3.5 — самый популярный браузер в Европе (по версии statcounter.com).

Openoffice

Второе место в рейтинге OpenSource-проектов для пользователя по праву принадлежит офисному пакету OpenOffice. В 2009 году увидели свет версии 3.0.1, 3.1 и 3.1.1. В середине декабря ждем еще 3.2.

Основные изменения версий 3.0.1-3.2:

• Существенное увеличение производительности.
• Увеличение размера личного словаря до 30 000 слов.
• Усовершенствование функции комментариев к тексту, теперь поддерживается функция диалога.
• Поддержка метаданных формата ODF 1.2.
• Поддержка Opentype/CFF шрифтов.
• Начальная поддержка «умных» шрифтов Graphite.
• Улучшенный импорт OOXML. Возможность экспорта в OOXML.

У проекта есть достаточно подробный roadmap, из которого можно узнать, что версия 3.3 выйдет в конце мая 2010, 3.4 — в ноябре 2010. Планируемые изменения:

• Удаление поддержки старых форматов StarOffice (*.sdw, *.sdc, *.sdd) (в версии 3.4).
• Интеграция первых достижений проекта Renaissance (проект по изменению внешнего вида OpenOffice).
• Импорт SVG.
• Возможность сравнивать таблицы при сравнении документов.

В конце уходящего года разработчики представили новый проект OOo4kids — упрощенную версию OpenOffice для детей. Из «взрослого» OpenOffice был убран некоторый функционал, в связи с чем возросла производительность. К тому же, немного изменен интерфейс: меньше кнопок на верхней панели, и добавлена боковая панель. Пакет пока еще не имеет русского интерфейса.

Виртуализация

Вот уже несколько лет технология виртуализации развивается стремительными темпами, область ее применения все ширится и ширится. Главным направлением развития виртуализации в уходящем году была 3D-акселерация в гостевой системе.Сначала давай взглянем на список изменений в VMware Workstation 7:

• Поддержка 3D (OpenGL 2.1 и Shader Model 3.0) в гостевых ОС Microsoft.
• Виртуальная печать позволяет без установки принтеров печатать на все принтеры хостовой ОС — принтеры добавляются в гостевую ОС автоматически.
• Возможность обновления VMware Tools через интернет.
• Возможность создания снимков виртуальной машины по расписанию.
• Шифрование и защита паролем виртуальных машин.
• Возможность поставить на паузу виртуальную машину.
• Добавлена поддержка режима совместимости в Windows 7.

Основной конкурент WMware Workstation на десктопе — Sun VirtualBox. Несмотря на непонятную судьбу компании-разработчика (поглотит ее Oracle Corporation или нет), данный продукт виртуализации активно развивался (в 2009 году зарелизились версии 2.20, 3.0.0-3.0.10). Основные новшества:

• Импорт и экспорт виртуальных машин в формат OVF (Open Virtualization Format).
• VT-x/AMD-V включены по умолчанию.
• Поддержка USB на хосте OpenSolaris.
• Аппаратное ускорение OpenGL 3D для хостов Linux и Solaris.
• Эмуляция до 32-х виртуальных CPU.
• Возможность аппаратного ускорения Direct3D на Windows-госте.
• Добавлена поддержка режима совместимости в Windows 7.
• Появился порт VirtualBox на FreeBSD.

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

• Поддержка KVM.
• Для компиляции больше не требуется GCC 3.x.
• Эмуляция BSD userspace.
• Эмуляция Intel e1000, Nokia N-series tablet, OMAP2.
• PCI hotplug.
• Поддержка псевдонимов для виртуальных машин.
• Возможность задать последовательность загрузки.
• Поддержка блочных устройств через http.

Широко использующаяся на серверах система виртуализации Xen перенесла одно крупное обновление — была выпущена версия 3.4.0 со следующими изменениями:

• Усовершенствован проброс устройств, особый акцент сделан на устройства для рабочих станций.
• Значительные улучшения, касающиеся надежности и отказоустойчивости.
• Усовершенствован интерфейс Viridian (Hyper-V).
• Управление питанием. Новые алгоритмы разделения процессорного ресурса, позволяющие использовать энергию более экономно.

Утилиты для пентестинга

Наши любимые инструменты для пентестинга тоже порадовали интересными мажорными релизами. Например, зарелизился Nmap 5 со следующими изменениями:

• В комплект программ, поставляемых с nmap, добавлена утилита ncat — улучшенная версия nc, умеющая работать не только с TCP, но и с UDP, и обладающая еще целым рядом интересных возможностей.
• Также в комплект добавлена программа ndiff, позволяющая сравнивать различные результаты сканирования. Ndiff очень удобно использовать для автоматического периодического сканирования сети.
• Увеличена скорость сканирования портов. В частности, был обновлен список TCP-портов, сканируемых по умолчанию. Сейчас в нем 1715 портов. А в режиме быстрого сканирования (nmap -F) теперь сканируются не 1300 портов, как раньше, а только 100 наиболее часто используемых.
• Появилась возможность сканировать с указанием фиксированного числа пакетов в секунду.
• В два раза увеличена база сигнатур операционных систем.

Теперь она содержит 2003 записи. Также была увеличена база сигнатур приложений — с 4558 до 5512 записей.

• Значительно улучшена работа NSE (Nmap Scripting Engine), расширения, позволяющего использовать простые скрипты для автоматизации различных действий с Nmap.

Число скриптов в комплекте увеличено (теперь их 59), добавлены скрипты для симулирования атак, осуществления различных проверок на наличие уязвимостей, подбора паролей через SNMP и POP3 и т.д.

Знаменитый снифер Wireshark в этом году сначала обновился до версии 1.2.0, а затем и до версии 1.2.3:

• Расширен список поддерживаемых ОС; теперь там присутствуют Mac OS X и Windows 7 (в том числе, 64-разрядная).
• Автодополнение при вводе фильтров.
• Добавлена поддержка разрешения DNS-имен с помощью библиотеки c-ares.
• Добавлена поддержка разбора многих новых протоколов, а также форматов файлов с перехваченными пакетами.
• Поиск в базе данных GeoIP и интеграция OpenStreetMap с GeoIP.
• Улучшен вывод на печать в формате Postscript.
• Поддержка Pcap-ng — нового формата файлов для хранения перехваченных пакетов.
• Поддержка получения информации о процессах через IPFIX.
• Последний используемый профиль конфигурации отныне сохраняется.
• Настройки протоколов можно изменить из контекстного меню пакета.
• Поддержка сравнения IP-пакетов.
• Capinfo теперь показывает среднюю скорость прохождения пакетов.

Известный снифер сетей 802.11 Kismet порадовал нас новым релизом 2009-06-R1:

• Полностью переписанное ядро Kismet-Newcore.
• Новый пользовательский интерфейс.
• Новые опции для фильтрации.
• Может частично выполнять функции IDS.
• Новая архитектура с поддержкой плагинов.
• Автоопределение используемого драйвера и каналов прослушиваемого устройства.

Местные реалии

Одним из главных вопросов при миграции обычного офиса с винды на линукс была корректность работы небезызвестной бухгалтерской программы от «1С». Сервер уже давно и успешно работает под линуксом, а вот с клиентом сложнее. Да, после плясок с бубном можно было заставить его работать в обычном wine, но стабильность работы никто не гарантировал. Можно было купить wine@ etersoft, гарантированно поддерживающий клиент, но ключевое слово «купить» и стоимость сетевых версий не каждому руководству по нраву, особенно в кризисные времена. Но вдруг свершилось чудо! «1С» выпустила новую версию платформы «1С: Предприятие 8.2», с поддержкой линукса клиентом. Правда, пока только веб-клиентом (и только через Firefox), но это уже не может не радовать.

Еще один класс приложений, работа которых в линуксе просто необходима при миграции некоторых предприятий — всевозможные CAD-системы. В wine корректно работают далеко не все приложения этого класса, а уж нормальные нэйтивные можно пересчитать по пальцам одной руки. Но в конце уходящего года показался свет в конце тоннеля — компания etersoft выпустила специальную версию своего wine, заточенную под работу CAD-систем — wine@etersoft CAD. На момент написания статьи программа находилась в стадии beta-тестирования и поддерживала только Компас 3D 10. В планах поддержка AutoCAD 2008, Компас 3D 9, Компас График, BricksCAD и Plantracer.

Прекрасное далеко, или что год грядущий нам готовит

Кроме описанного выше, в грядущем году можно ждать GIMP 2.8 и Thunderbird 3. Назвать дату выхода «убийцы фотошопа» сложно даже приблизительно, так как разработчики, видимо, не очень любят составлять roadmap’ы и давать обещания :). Из нововведений стоит отметить:

• Дальнейшая интеграция GEGL (GEneric Graphics Library, библиотека для обработки изображений).
• Долгожданный однооконный интерфейс (опционально).
• Улучшение инструмента «Текст». Отныне текст вводится прямо на холсте, а не в отдельном маленьком окне.
• Каталогизация ресурсов — к любой кисти, текстуре или градиенту можно будет добавить метку, по которой потом удобно осуществлять поиск.
• Поддержка простых векторных слоев.
• В числовых полях ввода теперь можно использовать арифметические выражения.

Популярный почтовый клиент в начале следующего года дорастет до версии 3. Изменения:

• Движок от Firefox 3.5 (Gecko 1.9.1), благодаря чему поддерживаются все функции огнелиса 3.5 (теги audio, video и прочее).
• Система вкладок, как в Firefox. При выходе из программы запоминаются текущие открытые вкладки.
• Новая поисковая система — теперь все сообщения индексируются. Поиск по индексу работает очень быстро.
• Новый мастер настройки учетных записей.
• «Умные» папки — при наличии нескольких учетных записей можно использовать для них общие папки.
• Предпросмотр нескольких сообщений.
• Упрощенная работа с контактами.
• Новый менеджер расширений.
• Менеджер активности — ведет лог внутренних событий проги.

Заключение

Исходя из описанных нововведений, рискну предположить, что год 2010 станет годом линукса на десктопе. Хотя… где-то я это уже слышал :).

Links

Roadmap’ы известных проектов:

• http://live.gnome.org/Schedule
• http://en.wikipedia.org/wiki/KDE_4#Release_schedule
• https://wiki.mozilla.org/Firefox/Roadmap
• http://wiki.services.openoffice.org/wiki/Features

Содержание