Windows в Linux » Google » OOo » Mono Главное в мире Linux LXF DVD Жизнь рядом с Windows Запускайте Windows-приложения в Linux и наоборот: кросс-платформенная нирвана начинается здесь – на с. 40 FREE! Офис от Google: время выйти в Сеть? с. 48 Web-чертеж Изучите тэг canvas и рисуйте с JavaScript с. 78 Безопасность Производительность Поддержка Ассортимент пакетов Сообщество Как выступит ваш любимый вариант Linux? Конкурс дистрибутивов Июль 2007 № 7 (94) Wireshark Анализ сетевого трафика – для пользы и для забавы! с. 70 Станете ли вы рисковать своим делом и строить бизнес исключительно на Open Source? Андреас Типальдос из Xandros – бизнесмен от Linux 8 Гб отборных дистрибутивов! Плюс: Opera 9.2, Blender, Ответы, Thunderbird и многое другое! Июль 2007 Linux Format 1 Команда LXF снова с вами! В этом месяце они тестировали лучшие дистрибутивы Linux, поэтому мы спросили: каков из себя идеальный дистрибутив, который никогда не был выпущен? К Вашим услугам... Именно так назывался спецрепортаж этого номера до тех пор, пока не прошел через добрые руки литературного редактора. Быть может, в этом действительно что-то есть? Конкурс (в особенности конкурс красоты) — это, конечно, не всегда дружеские посиделки (случается, даже бритвы в туфли соперницам подкладывают), но по крайней мере, мероприятие, не агрессивное по своей природе: претенденты просто показывают себя с лучшей стороны, а жюри выставляет оценки. В среде пользователей Linux, однако, зачастую применяется иной подход к определению победителя: думаю, с «религиозными войнами» встречался каждый, кто хоть раз заходил на форум Open Source-тематики. Зачастую весь спор строится на переинчивании аргументов соперника: «А Mandriva лучше, потому что ее можно настраивать из графики. — GUI для настройки? Да я за это...». Приятно, конечно, что такой разговор можно продолжать до бесконечности (этим он напоминает старую игру в «физиков и лириков», которая заканчивается, когда «мама позовет ужинать»), но ведь можно поразить оппонента не словом, а делом. Ругаете Slackware за отсутствие приложений и поддержки чего-то интересного, но при этом соглашаетесь, что это простой и быстрый дистрибутив? Соберите необходимые пакеты и отправьте на LinuxPackages.net. Недолюбливаете OpenSUSE за излишний вес? Присоединяйтесь к проекту OpenSUSE SLICK (сейчас, кстати, самое время это сделать). Тогда и разговор станет более предметным, и пользы для сообщества будет больше. LXF Валентин Синицын Главный редактор info@linuxformat.ru Как с нами связаться Письма для публикации: letters@linuxformat.ru Подписка и предыдущие номера: subscribe@linuxformat.ru Техническая поддержка: answers@linuxformat.ru Проблемы с дисками: disks@linuxformat.ru Общие вопросы: info@linuxformat.ru Web-сайт: www.linuxformat.ru Адрес редакции: Россия, Санкт-Петербург, ул. Гончарная, 23, офис 54. Телефон редакции: (812) 717-00-37. Дополнительная информация на стр.128 Приветствие Главное в мире Linux Дистрибутивы на ринге Пол Хадсон GNU/X11/Gnome/OOo/Vim/Gimp/Mono/Evolution/Linux – понравится всем, кроме отдела марке-тинга. Грэм Моррисон У Limerix не будет пингвина Надоел он им хуже хинина. Зато будет червяк (Может, автор – рыбак?), Хоть и странная выйдет картина. Майк Сондерс Snookbuntu. Разновидность Ubuntu, где щелчок мышью звучит как удар шаром о борт, а единственное запущенное прило-жение – Foobilliard. Ладислав Боднар Slackware 1.0 (1993). С ядром 0.99pl11-alpha и 24 дискета-ми первосортного ПО, компьютерная революция уверенно двинулась по наме-ченному пути. Ребекка Смолли Встраиваемый дист-рибутив, который работал бы на моем калькуляторе. Это единственное элект-ронное устройство, с которым я чувствую себя комфортно. Эфрейн Эрнандес-Мендоса Дистрибутив, пока-зывающий при стар-те видеозапись голов, забитых сбор-ной Мексики на Кубке Мира – всех четырех часов. Нейл Ботвик RTFM Linux: дистри-бутив, находящий ответы на любой вопрос и читающий документацию, пока вы заняты своими делами. Энди Хадсон Дистрибутив «на замену Windows»: сохраняющий все внешние признаки этой ОС, но имею-щий ядро Linux внутри. Энди Ченнел Хочу постмодер-нистский дистрибу-тив, рефлексивно оспаривающий все поползновения на тезис «Правды нет». Миссия журнала • Пропаганда свободного ПО в России • Продвижение решений с открытым кодом в бизнес-сообществе • Поддержка российского Open Source сообщества • Организация трибуны для разработчиков свободного ПО • Обратная связь между разработчиками и потребителями ПО 2 Linux Format Июль 2007 Кросс-платформенная нирвана Спецрепортаж из двух частей: взгляните на свою ОС в новом свете Подсказка: это не E? C и не D… с. 30 Что за штука... c. 40 Весь номер – прямо как на ладони: приятного чтения! Содержание Учебники Система Обмен файлами ..............................................62 Как обеспечить доступ к нужным файлам из любой точки мира посредством FTP или сетевых хранилищ — руководство для начинающих. Calc Макрос, загружающий данные ......................66 Пара строк кода для OpenOffice.org может сохранить для вас массу времени: макрос сам загрузит котировки в Calc и отобразит их в виде графика. Wireshark Следим за сетью ............................................70 Используйте пакетный анализатор в своей собственной сети и узнайте, насколько беззащитны ваши данные — первыми. Mono Используем многопоточность ....................... 74 Узнайте, как создать потоки и запустить приложение Mono на нескольких процессорных ядрах. Попутно мы взломаем хэш SHA1. canvas Графическое web-приложение ......................78 Используйте новый HTML-тэг и превратите превратите web-страницу в холст виртуального художника. GTK+ Буфер обмена и VFS .......................................82 Познакомимся с продвинутыми технологиями GNOME и расширим возможности нашего текстового редактора. Java EE Команды и фабрики .......................................86 Два новых паттерна, которые помогут сделать ваши Java-приложения более гибкими. LaTeX Программирование .........................................90 Создайте новые команды или переопределите уже существующие, а затем заверните это в пакет и отправьте на CTAN. Электронные подписи Практикум ........................................................94 Защитите свои данные от подделки – используйте цифровые сертификаты в популярных открытых приложениях. Cinelerra Путь аниматора ...............................................98 В Cinelerra можно монтировать не только документалистику — и чтобы доказать это, мы создадим небольшой мультфильм. Защита информации OpenVPN за 10 минут ...................................101 Wireshark показал, что ваши пароли доступны самому завалящему крекеру? Так осложните ему жизнь — работайте через VPN! «Станете ли вы рисковать своим делом и строить бизнес исключительно на Open Source?» LXF ИНТЕРВЬЮ Андреас Типальдос c. 26 LXFHotPicks Лучшие новинки открытого ПО на планете ..................................112 LXF DVD94 Да! Ubuntu 7.04 есть на нашем диске. Если коричневый — не ваш цвет, попробуйте три других дистрибутива. Майк вам покажет ........................ 118 Когда этот мир вам надоест, сотворите себе новый. Июль 2007 № 7 (94) Ubuntu Де-факто стандарт для домашних пользо-вателей, отличающийся от стандартной версии настолько, насколько это возмож-но – мы добавили сотни дополнительных пакетов. Счастливые пользователи! Mandriva 2007 Spring Ищете легкий путь в мир Linux? Этот дист-рибутив полон прекрасных программ и великолепных графических конфигурато-ров. Debian 4.0 Крепкий, рафинированный, надежный дис-трибутив – идеальный выбор для рабочих станций и серверов опытных пользовате-лей. SimplyMepis Один из самых привлекательных Live-дист-рибутивов, хороший способ проверить Linux-совместимость вашего нового ПК.Июль 2007 Linux Format 3 Обзоры Dofus .........................................12 Мы не пытаемся вас обидеть: Dofus — это всего лишь имя многопользовательской ролевой игры. Попробуйте сами! HP Laser Jet 2700n...................14 Мы сравнили работу бюджетного «лазерника» в Linux и Windows. Mandriva 2007 Spring ...............15 Некогда рисковый дистрибутив: возвращается ли он на острие атаки? EnergyXT 2 ...............................16 Пришло время освободить музыку от бремени треков и фейдеров? Cedega 6 ...................................17 Oblivion наконец-то доступен для Linux — ура бравым парням из TransGaming! Сравнение: онлайн-резервирование FilesAnywhere ...........................19 Flipdrive .....................................19 IBackup ......................................20 IceBackup ..................................21 XDrive ........................................21 Rsync.net ...................................22 Обзор новой Linux-версии Dofus, выпущенной для английского рынка. LXF DVD внутри! с. 125 Постоянные рубрики Спецрепортаж Подпишись на Linux Format и сэкономь! Windows в Wine .............................. 40 Запустите в Linux программы, к которым вы привыкли. FOSS за пределами Linux .............. 44 Свободное ПО на проприетарных платформах. Решения Google ............................. 48 Заставим офисный пакет работать через web. nginx – мал да удал ....................... 52 Отечественный web-сервер: чем же вам не угодил Apache? Сияй, безумный бриллиант! .......... 54 Превратите свой Intel Core 2 Duo в ZX Spectrum или Amiga! А также... Конкурс дистрибутивов Кто выйдет из этой битвы победителем? c. 32 OpenGL не дает погонять на пингвинах? Гони на стр. 104! Содержание Новости ...............................04 DistroWatch .........................24 Ладислав Боднар изучает клоны Red Hat, мультимедийную разновидность Ubuntu и Fedora 7 без Core. Интервью LXF .....................26 Как Андреас Типальдос собирается конкурировать с Red Hat и Novell. Что за штука... ...................30 Языки программирования достигли невиданных алфавитных высот – встречайте E! Ответы ..............................104 В этом месяце: удаляем Windows, ограничиваем Интернет-доступ для детей, работаем удаленно и сортируем музыку. Школа LXF ........................126 Международная Олимпиада по информатике мигрирует на Linux. Через месяц .....................128 Что ждет нас в августе?4 Linux Format Июль 2007 Новости ГЛАВНЫЕ НОВОСТИ: Mandriva приходит в Россию GPL3 Microsoft в каждый дом FOSS от ЮНЕСКО И снова об ODF Linux-мобилизация Новости начиная от начального знакомства с Linux-сис-темами, и заканчивая сетевым администриро-ванием. Стоит также отметить, что все курсы сертифицированы независимой организацией LPI (Linux Professional Institute) и не имеют жесткой привязки к конкретному дистрибу-тиву Linux, что позволяет значительно расши-рить число желающих получить соответству-ющие навыки. Подобные шаги разработчика Linux-дист-рибутивов с мировым именем также говорят о том, что сегодня российский рынок ПО ста-новится одним из наиболее перспективных для продвижения свободного программного обеспечения и немалую роль в этом сыгра-ла борьба российских правоохранительных органов с распространением нелицензионного ПО, а также повышение компанией Microsoft цен на свои программные продукты в России. До последнего времени потребности россий-ского рынка в операционных системах Linux обеспечивались в основном двумя российско-украинскими фирмами – AltLinux и ASPLinux. Теперь у них появился достаточно сильный конкурент, способный значительно потеснить позиции вышеназванных компаний. Впрочем, в большей степени компания Mandriva наце-лена на пользователей Windows-систем, не желающих или не имеющих возможности переходить на новые дорогостоящие и весь-ма требовательные к аппаратным средствам разработки редмондского гиганта, поэтому можно достаточно уверенно прогнозировать уменьшение числа приверженцев проприе-тарного ПО и рост аудитории Linux-пользо-вателей, при этом активные маркетинговые действия французско-бразильско-российской Последние дни весны станут для рос-сийского Linux-сообщества памятной датой – 28 мая компания Mandriva открыла в Санкт-Петербурге свое представи-тельство и центр разработки. Таким образом, в создании одного из самых популярных в мире дистрибутивов теперь будут принимать участие не только французские и бразильские разработчики, но и российские программисты. Стоит отметить, что новый филиал пришел в Россию не с пустыми руками: одновременно с официальным объявлением о новом предста-вительстве широкой публике были предложе-ны и специализированные версии дистрибу-тивов Mandriva 2007 Spring, адаптированные для использования в Российской Федерации. Отличие от оригинальной версии заключает-ся в использовании таких компонентов, как OpenOffice.org в сборке «Инфра-ресурса», а также пакета библиотек отечественной компа-нии Etersoft, позволяющих выполнять в среде Linux такие популярные на российских пред-приятиях приложения, как 1С:Предприятие 7.7-8.1, Инфо-Бухгалтер 8.X, Гарант F1 и Гарант F1 Турбо, Консультант+ 3200/3300, Кодекс 5.2, ABBY FineReader 7.0-8.0, ABBY Lingvo 9.0, КОМПАС 2D и другие. Двумя неделями позже был анонсирован продукт Mandriva Corporate Desktop 4.0, ориентированный на применение в бизнесе. Примечательно, что серьезность намере-ний компании Mandriva в России подтверж-дает и наличие учебных центров, располо-женных пока в Москве и Санкт-Петербурге, а в будущем планируемых к открытию и в других крупных российских городах. Спектр программ обучения охватывает все уровни, Mandriva получает прописку в России Кстати 9 июня 2007 года специалисты Mandriva.Ru провели в городе Ханты-Мансийске мастер класс по технологиям Linux, который начальным этапом продвижения свободного ПО на территорию Ханты-Мансийского автономного округа – Югры. Семинар встретил восторженные отклики представителей бизнеса и государственных структур из Ханты-Мансийска, Сургута, Нижневартовска и других городов Уральского федерального округа. По его результатам было принято решение об открытии центра компетенции Linux в Ханты-Мансийске, а со временем — и в других городах. компании могут косвенно помочь и отечест-венным разработчикам, не обладающим ана-логичными финансовыми возможностями. mandriva.ruИюль 2007 Linux Format 5 Новости ли последней при каждом удобном случае не забывают призывать остальных разработчи-ков свободного ПО платить за используемые патенты. Как это сделали другие, «правиль-ные» компании. Другая острая тема, поднятая Столлмэном в свей статье, касается так называемой TiVo-изации, названной так в честь компании TiVo, использующей свободное ПО в своих решени-ях. Выход новой версии GPL и перевод под ее защиту свободных разработок позволит пред-отвратить использование свободного кода совместно с программами, обеспечивающими защиту DRM (Digital Restrictions Management) от взлома. Через несколько дней после публи-кации статьи Ричарда Столлмана представи-тели TiVo сообщили прессе, что выход GPL v3 может поставить под угрозу весь бизнес ком-пании, одним из основных компонентов кото-рого и является защита DRM. Но на самом деле ее участь выглядит не так пессимис-тично, как будущее Novell. В данный момент бизнес-модель последней оказалась в полной зависимости от действий Microsoft: если гига-нту индустрии не захочется далее продолжать совместный бизнес с Linux-компанией в связи с неприятием GPL v3, то Novell потеряет прак-В последний день весны был опубли-кован заключительный, четвертый по счету черновик текста лицензии GPL v3. До выхода окончательной редакции остались считанные недели и события, хоть как-то связанные с обновлением открытой лицензии, показали, что ее релиз может зна-чительно изменить позиции различных компа-ний на рынке. Прежде всего, Ричард Столлмэн [Richard Stallman] опубликовал статью, в кото-рой постарался еще раз пояснить основные пункты новой редакции GPL и убедить разра-ботчиков использовать именно этот вариант для своих свободных программ. В частности, особое внимание он уделил пунктам, каса-ющимся предотвращения в будущем заклю-чения договоров, аналогичных соглашению между Microsoft и Novell. Как оказалось, его внимание к данной проблеме было отнюдь не чрезмерным: за последнее время аналогичные договоры заключили с редмондским гигантом такие известные на Западе поставщики Linux, как Xandros и Linspire. Обе компании пос-пешили успокоить окружающих, что данное сотрудничество совсем не означает признания нарушения Linux-разработчиками каких-либо патентов Microsoft, но при этом представите-Кто боится GPL v3тически все – в данный момент все основные продажи компании осуществляются благода-ря заключенному договору. Впрочем, Novell слишком сильный игрок, чтобы просто сидеть и ждать своей участи. Желая заранее раз и навсегда исключить возможные проблемы, связанные с патента-ми, как для себя, так и для других компаний, Novell совместно с фондом Electronic Frontier Foundation приступили к подготовке рефор-мирования патентной системы, ставящей в последнее время все больше преград на пути научно-технического прогресса. Среди основ-ных целей нового союза – активное лоббиро-вание интересов национальных и международ-ных организаций, занимающихся разработкой и принятием законов, позволяющих добить-ся значительных изменений существующей патентной системы. Особое внимание компании соби-раются уделить взаимо-действию с участниками World Intellectual Property Organization (WIPO). gplv3.fsf.org Не успел еще затихнуть скан-дал, связанный с предложениями Министерства информационных тех-нологий и связи по обеспечению российских школ лицензионным ПО, как на повестке дня вновь подробности уже другого проекта, орга-низованного ведомством Леонида Реймана. Речь идет о целевой программе «Компьютер – в каждый дом», стартовавшей 19 сентября 2006 года. Основная цель проекта – обеспе-чение компьютерной техникой жителей рос-сийской глубинки, оторванных от цифровых оазисов современных мегаполисов. Подобные целевые программы можно только приветс-твовать, но очень серьезные вопросы вызы-вает сама организация данного благого начи-нания. Дело в том, что среди организаторов проекта выступают не только госучреждения в лице Мининформсвязи и Федерального госу-дарственного унитарного предприятия «Почта России», но и московские представительства таких сугубо коммерческих компаний, как Microsoft и Intel. По российскому антимоно-Проект другой, вопросы те же польному законодательству гранты на реали-зацию любых национальных проектов должны распределяться на конкурсной основе и про-ект «Компьютер – в каждый дом» не являет-ся исключением: запланировано несколько конкурсных мероприятий, которые должны выявить наиболее достойных кандидатов на роль поставщиков компьютерной техники или банковских организаций, предоставляющих кредиты на расходы в рамках проекта. И все бы ничего, но в технических спецификациях на компьютерную технику, поставляемую в сельские районы, фигурирует исключительно продукция компаний-организаторов: на долю Intel выпадает обеспечение процессорами, а Microsoft берет на себя программную часть проекта. Таким образом, данные компании получают монопольное право на распростра-нение своих коммерческих продуктов в рамках российской национальной программы. Данный факт стал причиной заявления о нарушении антимонопольного законодатель-ства российским Министерством информаци-онных технологий и связи, поданного одним из руководителей Коми-республиканской правозащитной комиссии (КПК) «Мемориал» Эрнестом Мезаком в общественную прием-ную Федеральной антимонопольной службы (ФАС). Впрочем, решение подобной пробле-мы вряд ли будет простым: если антимоно-польный комитет признает подобный способ участия коммерческих компаний в реализации национальных проектов незаконным, то вся программа окажется на грани срыва в связи с потерей половины организаторов, а если оставить компаниям Microsoft и Intel прежние организаторские «должности», то вряд ли можно будет рассчитывать на то, что они не будут препятствовать продвижению продук-ции компаний-конкурентов. В любом случае, в будущем российским чиновникам придет-ся более тщательно подходить к разработке национальных программ, чтобы не позволять отдельным коммерческим компаниям полу-чать необоснованные преимущества перед другими участниками рынка.6 Linux Format Июль 2007 Новости В последнее время тема перевода правительс-твенных организаций на использование откры-того стандарта OpenDocument стала одной из наиболее популярных. Многие европейские органи-зации принимают соответствующие постановления и осуществляют переход на ODF; не меньшее внимание уделяется данному вопросу и в сенатах многих амери-канских штатов. Между тем, американские народные избранники довольно осторожно подходят к приня-тию подобных законов, не желая принимать скоро-палительных решений: как минимум в пяти штатах, включающих Калифорнию, Флориду, Техас, Орегон и Коннектикут, законопроекты о переходе на ODF были отклонены сенаторами. Причин тому несколько. Во-первых, инициативные группы, выдвигавшие подоб-ные законопроекты, проявили явную поспешность, предложив сенаторам принять открытый формат в качестве стандарта для официального документообо-рота без каких-либо предварительных исследований. Естественно, осторожные ко всяким переменам пар-ламентарии не рискнули слепо принимать на веру доводы инициаторов законопроектов. Вторая причина афишируется меньше, но не исключено, что именно она является более весомой: в приватных беседах некоторые сенаторы признались, что опасаются «сан-ODF: «штатная» ситуация кций» компании Microsoft, активно препятствующей продвижению открытых стандартов в правительствен-ные структуры. Причина подобного упорства тоже ясна: уже давно пакет офисных приложений MS Office является довольно ощутимым источником доходов редмондского гиганта, а переход государственных учреждений на открытый формат документов позво-лит данным многочисленным организациям внедрить альтернативные офисные пакеты, включая главного конкурента MS Office – свободный пакет офисных при-ложений OpenOffice.org. Впрочем, руководитель основанного в Вашингтоне ODF Alliance Марино Маркич [Marino Marcich] не уны-вает и говорит, что битва за ODF только начинается. Несмотря на неудачи в ряде штатов, законопроекты о переходе на ODF продолжают выдвигаться на рас-смотрение. В частности, демократы штата Нью-Йорк приступили к продвижению открытых стандартов в государственных учреждениях, но, глядя на примеры соседей, решили не торопиться, а начать с предложе-ний провести исследование возможности и целесооб-разности перехода на ODF. Не исключено, что подоб-ный поэтапный процесс продвижения открытых стан-дартов в штате Нью-Йорк окажется более успешным и подаст пример сенаторам других штатов. МОО ВПП ЮНЕСКО «Информация для всех» представил проект сборника прикладных программ «Свободное ПО для образования, науки и культуры», разработанный в рамках одно-именного проекта. Публикация ориентиро-вочного списка приложений осуществлена в целях получения от будущих пользователей и сторонних экспертов различных корректи-ровок и пожеланий, которые позволят под-готовить действительно полезный комплект свободных программ, предназначенных для работы в среде Windows. Следует отметить, что первый сборник свободного ПО в рам-ках данного проекта был выпущен еще в марте 2007 года силами LinuxCenter и завое-вал достаточно высокую популярность среди пользователей. Как и положено любому сво-Выбираем свободное ПО вместе бодному программному обеспечению, сбор-ник «Open Software CD для Windows Spring Edition» распространяется за символическую плату, покрывающую стоимость носителя и пересылки, а также доступен для свободной загрузки с FTP-сервера проекта. Новый вариант CD будет отличаться от своего предшественника. Помимо свободно-го ПО, распространяющегося исключительно по лицензии GPL или смежным лицензиям, в новый набор войдут и бесплатные програм-мные продукты, в том числе выпускаемые коммерческими производителями, напри-мер Adobe Systems Incorporated. Подобный шаг объясняется желанием авторов проекта расширить функциональность входящего в сборник ПО. Как и первый вариант, новый сборник будет предназначен для распростра-нения среди российских учреждений сферы образования, науки и культуры, бюджетных и некоммерческих организаций, не обладающих достаточными средствами для приобретения дорогостоящих коммерческих программ. Образованный еще в 2005 году альянс Linux Phone Standards (LiPS) Forum, объединивший усилия таких известных компаний, как France Telecom, Telecom Italia, MontaVista Software, PalmSource (позднее переименованная в Access Inc) и многих других, опубликовал первые спецификации для Linux-раз-работчиков, нацеленных на мобильный рынок. В документе даются рекомендации по созданию интерфейса, адресной книги, функций голосового набора, использованию API ввода текста, а также неко-торых сервисных функций и наборов виджетов. Стоит отметить, что, несмотря на активную работу в мобильной сфере норвежс-кой компании Trolltech, участники данного альянса отдают боль-шее предпочтение проекту GNOME, в связи с чем практически все рекомендации базируются на использовании средств разработки GTK. Объяснение данному факту очень простое: многие участни-ки Форума используют GNOME в качестве базового ПО. К таким компаниям относятся, например, Purple Labs, Access и Open-Plug. Следующий выпуск спецификаций Форума будет нацелен на такие функции, как обмен мгновенными сообщениями и возможность изменения интерфейса пользователем или оператором сотовой связи. Третий набор спецификаций, выход которого намечен на конец текущего года, позволит разработчикам мобильных приложе-ний более оптимально использовать различные аппаратные ресур-сы телефонных трубок. Linux-мобилизацияИюль 2007 Linux Format 7 Новости 30-31 мая в Москве, в комплек-се «Форум Холл» состоялся Interop Moscow 2007 – Конгресс и Выставка корпоративных информационных технологий. Иван Зорин побывал на про-ходившем в его рамках втором Open Source Forum’е и готов поделиться своими впечатле-ниями с читателями LXF. Форум был открыт докладом Брайана Белендорфа [Brian Behlendorf], одного из осно-вателей проекта Apache, озаглавленным: «Ten Things you might not know about Open Source» [«Десять вещей, которых вы могли не знать про Open Source»]. В начале своего выступле-ния Брайан напомнил присутствующим, что Open Source – это не только всем известные программы и приложения: существует свы-ше 100 тысяч разработок, каждая из которых занимает свою нишу. Далее было отмечено, что открытое ПО предшествовало проприетарному, так как еще мейнфреймы продавались в комплекте с исходными кодами программ, расположенны-ми на магнитных лентах; компания-покупатель могла беспрепятственно модифицировать уже установленное ПО под свои нужды. Потому идея свободного ПО, предложенная Фондом свободного программного обеспечения в 1985 году, была по своей сути не новой. Затем г-н Белендорф напомнил несколько фактов об Apache. Проект был запущен в 1995 году и преследовал две цели. Первая, прагма-тическая – сконцентрировать усилия разра-ботчиков; вторая, идеалистическая – сохра-нить HTTP как открытый стандарт. Основатели проекта были обеспокоены тем, что компании, владеющие как рынком серверов, так и рынком браузеров, начнут определять свои собствен-ные технологии и спецификации. Но, несмот-Open Source Forum@Interop Moscow 2007 ря на все эти опасения, вскоре после запуска Apache стал основным web-сервером и до сих пор удерживает пальму первенства. В своем докладе Белендорф упомянул и другой известный открытый проект – BioPerl, который является свободной альтернативой исследованиям коммерческого консорциу-ма Celera. Celera был основан как проект по расшифровке последовательностей генома человека. Все результаты исследований и все расшифрованные геномы патентуются кон-сорциумом, чтобы впоследствии можно было контролировать доходы от применения этих знаний. Однако, независимо от этого, Джим Кент [Jim Kent], докторант из университета Санта Круз в Калифорнии, написал на языке Perl порядка десяти тысяч строк кода, которые представляют собой набор функций для рабо-ты с геномами и их последующей расшифров-ки. Получившийся проект и получил название BioPerl. Сегодня он может использоваться как самодостаточное приложение, а также вклю-чаться сторонними разработчиками в свои про-граммы в качестве внешнего инструментария. Во время доклада была также упомянута рас-пространяемая по лицензии Creative Commons книга Карла Фогеля [Karl Fogel] «Создавая про-граммное обеспечение с открытым исходным кодом» [Producing Open Source Software], кото-рая посвящена не столько технической, сколь-ко социальной и психологической проблемам открытой разработки. Книгу можно найти по адресу: http://producingoss.com/. «Open Source нужна ваша помощь». Этой теме была посвящена заключительная часть доклада Брайана Белендорфа. Чем вы може-те помочь? Попробуйте использовать свобод-ные приложения, такие как Firefox, Thunderbird, OpenOffice.org, не отказываясь от Windows или LXF Репортаж Завершен конкурс на лучшую статью об OpenOffice.org Подведены итоги конкурса на лучшую статью о пакете OpenOffice.org, проводимого при поддержке журнала Linux Format (см. LXF89). 1 июня 2007 года, в соответствии с положением о конкурсе компетентная комиссия определила победителей: в номинации «Офисные технологии» победила статья «Сложная разметка и хитрости в OpenOffice.org Math», автор Смирнов Д. В. в номинации «Тесты, сравнения, обзоры» победила статья «Сравнение OpenOffice.Draw (StarDraw) с Visio», автор Елисеев А. А. в номинации «Учим работать с OpenOffice.org» победила статья «Лабораторные работы в OpenOffice. org», автор Емельянов Э. В. в номинации «История одного проекта» победила статья «Семь дней на пути к Ru.OpenOffice.org», автор под псевдонимом Opener в номинации «Об этом уже писали» победила статья Сольвейг Хогленд (Solveig Haugland) «Использование стилей в OpenOffice.org», авторы перевода под псевдонимами John Lynx, George Yves. Победителей ждут призы: Годовая подписка на журнал «LinuxFormat»; Премии в размере 10000 рублей, из призового фонда журнала «Linux Format» и компании «Инфра-Ресурс». Годовая подписка на журналы «Мир ПК», «Открытые системы» или еженедельник Computerworld по желанию победителя. Более подробную информацию можно найти на официальном сайте конкурса: http://i-rs.ru/article/articleview/540/1/30/От души поздравляем победителей!8 Linux Format Июль 2007 Новости Mac OS X – они доступны и для этих систем (см. стр. 40). Загрузите LiveCD-дистрибутив. Принимайте участие в дискуссиях на фору-мах, посвященным поддержке того или иного проекта – задавайте вопросы, если возникают трудности; помогайте остальным, если знаете ответы на вопросы, с которыми они сталки-ваются. Находите ошибки и сообщайте о них разработчикам. Носители языка могут оказать неоценимую помощь по переводу и локализа-ции программ, при этом совсем не обязательно обладать навыками программиста. После доклада состоялась дискуссия с участниками Open Source Forum: Брайаном Белендорфом, Луи Суаре-Потом [Louis Suarez-Potts] из OpenOffice.org и Эриком Оллмэном [Eric Allman] из Sendmail, Inc., которые отвеча-ли на вопросы зала. Ведущим этого меропри-ятия был Дмитрий Дмитриев (Линукс Инк), от которого для «затравки» и последовал первый вопрос: вынуждены ли открытые проекты веч-но догонять более успешные проприетарные продукты? Луи ответил, что не согласен с этим утверждением. По его мнению, открытые про-екты всегда были источником инноваций и свежих идей. В качестве примера он привел возможность экспорта документов в формат PDF – функцию, которая была доступна с пер-вых версий OpenOffice.org и которую Microsoft добавляет в свой офисный пакет только сей-час. Затронув вопрос о лицензиях на открытое ПО, Луи отметил, что GPL3, на его взгляд, имеет ряд ощутимых плюсов по сравнению со второй версией, так как охватывает патенты, что очень важно для мира Open Source. «Иски против открытых проектов со сто-роны Microsoft – коммерческое самоубийс-тво», – таким был ответ Брайна на вопрос по поводу обвинений Microsoft в адрес разработ-чиков ядра Linux и его пользователей в том, что открытый код нарушает патенты редмондского гиганта. И пояснил: «Тогда им придется пока-зать свои исходные тексты, на что они не пой-дут ни за что на свете». Закончив отвечать на вопросы, «звез-ды Open Source» освободили трибуну для выполнения следующей части програм-мы форума – дискуссии о плюсах и мину-сах открытого ПО. Состав ее участников был таким: Александр Давыдов (NAUMEN), Алексей Смирнов и Алексей Новодворский (ALT Linux), Владимир Мамыкин и Владислав Шершульский (Microsoft), Андрей Федоров (Digital Design); ведущим данного мероприятия был Дмитрий Шурупов (журнал «Системный Администратор», портал www.nixp.ru). Владислав Шершульский отметил, что открытость хороша не везде, и есть такие про-екты, в которых делегирование прав на доступ к исходному коду просто необходимо. Владимир Мамыкин назвал отчасти мифом и то, что открытые проекты более безопасны. В качестве примера он привел ядро Linux: с ростом попу-лярности в нем якобы находятся все новые и новые «дыры»; на сегодняшний день это уже порядка трехсот уязвимостей. Также Владимир отметил, что Microsoft, в случае требований со стороны государства, может предоставить пос-леднему к исходным текстам своих продуктов и операционных систем в доверительном окру-жении с целью их ревизии на предмет наличия каких-либо вредоносных «закладок». Алексей Новодворский изящно парировал некоторые из этих утверждений. Когда приво-дят подобные цифры, сказал он, навряд ли они являются объективными и отражают реальную суть; с другой стороны, можно сравнить нали-чие уязвимостей, в том числе, критических, в двух web-браузерах – открытом Firefox и про-приетарном Internet Explorer. По всем показа-телям, как объективным, так и субъективным, сравнение будет явно не в пользу последнего. «Насколько мы, граждане, можем доверять таким процедурам?»,– задал вопрос Алексей в ответ на упоминание Владиславом возможнос-ти проведения ревизий проприетарного кода. «Действительно ли это будет независимая экс-пертиза, а не экспертиза, проводимая фикси-рованной фирмой, назначенной государством для контроля?» Владимир Мамыкин затронул также эконо-мическую составляющую Open Source, в кото-рой основную прибыль составляют дополни-тельные услуги и поддержка. Было отмечено, что, несмотря на динамичное развитие Open Source в нашей стране, действительно круп-ных открытых проектов национального масш-таба как таковых нет. Алексей Новодворский же отметил отсутствие качественных отечест-венных специалистов в области операционных систем; так, ни на одной международной кон-ференции за последние годы не было ни одно-го доклада по данной тематике, представлен-ного российскими разработчиками. Как мож-но получить специалистов по операционным системам, обучая людей программированию, и при этом не имея доступа к исходным кодам приложений и самих ОС? В западных техничес-ких вузах на дисциплинах, связанных с ком-пьютерными науками, обучение студентов проводится на открытых про-граммах и операционных системах; и после обучения, обладая высокой квалификацией, многие из них становится лучшими разработчиками Microsoft. Было также отмечено, что открытые проекты бессмертны – а в случае с проприетарным ПО, если исчезает производитель, исчезает и его продукция. Алексей Смирнов отметил роль важную патентов в мире Open Source. Когда патентное право только зарождалось, считаетон, его целью было поддержать инновации и развитие изобретений, а сегодня для мира открытого ПО патенты являются своеобразным сдерживаю-щим механизмом. В заключительной части своего слова Алексей отме-тил отсутствие методических пособий для школ, которые были бы при-менимы к открытым приложениям. Возможно, с их появлением внедре-ние открытых разработок в образовательный процесс пойдет быстрее. Подводя итог мероприятию в целом, было приятно наблюдать, что в последнее время российскому Open Source-сообществу уделяют вни-мание мировые лидеры этого движения, которые осознают перспекти-вы развития программного обеспечения с открытым исходным кодом у нас в стране. С другой стороны, судьба и проблемы OpenSource в России не безразличны и отечественным компаниям и деятелям, что также не может не радовать. Официально выпущена операционная система Fedora 7, впервые представленная в виде настольной и серверной версий, а также подготовленная в виде двух LiveCD, использующих в качестве графической среды KDE и GNOME. Фонд Mozilla выделил в качестве гранта на дальнейшее раз-витие $100 тыс. проекту свободного ТВ-плейера Democracy. Компания TurboLinux объявила о начале продаж управляе-мого Linux мини-компьютера Wizpy в США, Великобритании, Австралии, Индии и Сингапуре. Проект OpenSUSE приступил к разработке дополнительного CD “The openSUSE EDU-CD” (или “The SLEducator”), предна-значенного для образовательных учреждений. Компания Innotek объявила о выходе новой версии VirtualBox (1.4.0), первой свободной профессиональной виртуальной машины, распространяющейся под двойной лицен-зией (GPL/закрытая). Проект live.linuX-gamers.net объявил о выходе основанной на Slackware тестовой версии lg-live Live-DVD 0.9.2, в состав которой вошло пятнадцать наиболее популярных трехмерных игр для среды Linux: Enemy Territory, Torcs, True Combat: Elite, Warsow, World of Padman и другие, при этом оригинальные драйверы от nVIDIA и ATI также представлены на диске и устанавливаются во время загрузки системы. Российская компания Etersoft объявила о выходе новой версии специализированных библиотек WINE@Etersoft 1.0.7, обладающей улучшенной поддержкой отечественных Windows-приложений. Вышла очередная версия свободного пакета офисных при-ложений OpenOffice.org 2.2.1, а почти одновременно рос-сийская компания Инфра-ресурс подготовила собственную сборку OpenOffice.org 2.2.1 Pro, адаптированную к работе в российских условиях. Компания Microsoft объявила о повышении цен на свои про-граммные продукты, распространяемые в России, в среднем на 25%. Новости короткой строкойИюль 2007 Linux Format 9 Новости дукты Microsoft. В большинстве случаев они являются «пиратскими», также школьники не получают разностороннего освоения IТ, владения различными ОС: в частности, многие преподаватели информатики в российских школах не имеют адекватного представления о возмож-ностях открытых продуктов. Вместе с тем уже сейчас существуют про-граммные решения на основе Open Source, которые могут быть приме-нены в учебно-образовательных программах. Сам Александр Поносов, являвшийся, по сути, «гвоздем» круглого стола в «Росбалте», отме-тил, что хотя в условиях консервативной школьной среды переход на альтернативные операционные системы затрудняется, однако при соответствующем желании особых сложностей в освоении, например, Linux, возникать не должно. У него самого при чрезвычайно высокой занятости освоение новой системы заняло не больше месяца. По мнению аналитиков, в России достаточно низкий уровень осве-домленности о свободном ПО, а доступность дешевого пиратского «софта» не оставляет никаких препятствий к тому, чтобы пользовате-ли устанавливали на свои ПК продукты Microsoft. Что касается школ, то анализ Мининформсвязи показал: до 75% персональных компьютеров работают на нелицензионном общесистемном и прикладном програм-мном обеспечении. При этом общее число используемых в настоящее время персональных компьютеров составляет порядка 675 тыс. штук. Такой уровень пиратства, к тому же в системе образования, т.е. в госу-дарственных учреждениях, сегодня становится существенным пре-пятствием для вступления России в ВТО, одним из условий которого является соблюдение прав на интеллектуальную собственность. Напомним, что недавно Мининформсвязи выступило с инициа-тивой, направленной на легализацию ПО, используемого в школах. Ведомством был сформирован базовый перечень общесистемного и прикладного ПО для закупки и установки на школьные персональ-Мультиплатформенный школьник XXI века? LXF Репортаж На каком программном обеспечении будут учиться следующие поколения россиян? Что ждет рос-сийскую школу в связи с усилением борьбы с пиратством? Что такое «свободное ПО»? Эти вопро-сы обсуждали в «Росбалте» учителя, чиновники и разработчики. 4 июня 2007 г. в пресс-центре инфор-мационного агентства «Росбалт» про-шел круглый стол «Городское педа-гогическое собрание – за свободное ПО в школах». Мероприятие было организовано ИА «Росбалт» и недавно созданной IT-струк-турой – компанией «iTREND». В дискуссии приняли участие представи-тели городской администрации, федеральной законодательной власти, педагоги, разработ-чики ПО, эксперты. В последнее время все чаще ведутся раз-говоры о необходимости создания и внед-рения в России современной отечественной операционной системы (ОС). Перспективами российской ОС заинтересовались уже не толь-ко сами разработчики, но и госструктуры, законодатели, представители бизнеса, шко-лы и вузы. Для последних создание доступ-ной по цене и при этом абсолютно легальной системы будет означать решение проблемы обучения современным информационным технологиям. Пока создание российской ОС является реальной, но отдаленной перспекти-вой, школам приходится решать эту проблему самостоятельно. Активизация процесса подключения школьных компьютеров к Интернету, отсут-ствие отечественной свободной оперативной системы, недостаточность законодательного регулирования в этой сфере, – все это ста-вит перед властями много вопросов, подчер-кнула в ходе работы круглого стола депутат Госдумы Валентина Иванова. По ее мнению, случай с директором Сепычской средней шко-лы Верещагинского района Пермского края Александром Поносовым, который был при-влечен к суду за использование нелицен-зионного программного обеспечения (ПО), говорит о том, что времени на решение этих вопросов немного. Иванова отметила, что Всероссийское педагогическое собрание, сопредседате-лем-координатором которого она является, выступило в защиту Поносова, обратившись в Генпрокуратуру. Педагог уже полтора года доказывает свою невиновность в судах, и в подобной ситуации может оказаться не толь-ко любой учитель, но и люди других профес-сий, имеющие дело с программным обеспече-нием, отметила Иванова. Как правило, в российских школах «по умолчанию» используют программные про-Ася Власова, ИА «Росбалт»10 Linux Format Июль 2007 Новости ные компьютеры. Кроме Microsoft, в него вошли программные продукты «Лаборатории Касперского», «Доктор Веб», Adobe и Corel. Стоимость такого пакета для одного ПК соста-вил бы 787 руб. в год. В мае этого года Министерство финансов отказалось выделить средства из федерального бюджета на реа-лизацию этой программы. Специалисты уве-рены, что при закупке прикладных программ для школ важно требовать многоплатформен-ности, то есть возможности использования ПО хотя бы под двумя ОС – Linux и Windows, – чтобы избежать зависимости от монополь-ного поставщика. О том, что после проведения специальных информационно-обучающих семинаров ряд петербургский школ выразили заинтересован-ность в переходе на Linux, сообщил ведущий специалист комитета по образованию прави-тельства Санкт-Петербурга Игорь Базлов. По его словам, осенью на базе этих школ будет создана экспериментальная площадка, где будет внедряться Linux. Если опыт даст положительные результаты, комитет будет рекомендовать Linux для внедрения во всех школах, отметил Базлов. Все участники дискуссии были едины во мнении о том, что учащиеся и учителя долж-ны иметь альтернативные способы изучения IT-технологий, овладевать знаниями о разных программных продуктах и операционных сис-темах, что практически не реализовано на дан-ный момент. Одной из главных проблем соб-равшиеся отметили низкую осведомленность самих преподавателей. Александр Поносов отметил, что он сам до января 2007 г., когда против него был возбуждено уголовное дело об использовании нелегального ПО в школе, не знал о существовании Linux – наиболее популярной свободной ОС. В настоящее время «дело Поносова» пока еще не закрыто (14 июня должно состо-ятся очередное заседание суда) и даже имеет любопытное развитие: в конце мая автономная некоммер-ческая организация общественный центр «Равенство» (Пермский край) направила в Генпрокуратуру России заявление с требованием привлечь к уголовной ответственности про-курора Верещагинского района Александра Троянова. Как сообщил «Интерфакс», работники прокура-туры Верещагинского района в ходе расследования уголовного дела в отношении директора Сепычевской средней школы Александра Поносова, обвиняемого в исполь-зовании контрафактных программ Microsoft, сами использовали нели-цензионное программное обеспече-ние. Сам Александр Поносов отме-тил, что планирует «сражаться до последнего», а активную поддерж-ку надеется получить от обществен-ности, разработчиков и депутатов ГД РФ, которые, впрочем, уже немало помог-ли учителю. Валентина Иванова подтверди-ла готовность и дальше отстаивать права Поносова в непростом и прецедентном для России деле. По мнению Галины Пожариной, изучение открытого ПО в школах будет воcпринято уче-никами с большим интересом, как все новое, а также будет способствовать использованию свободного легального софта и в домашних условиях, что крайне важно для разносторон-него образования школьников. Даже в том случае, если школа имеет лицензионное ПО от Microsoft, необходимо устанавливать на школьных компьютерах Linux как вторую опе-рационную систему и давать ученикам полное представление о современном мире ПО. Павел Житнюк отметил наличие большо-го количества свободных программных про-дуктов образовательного характера, которые могут быть использованы на уроках алгеб-ры, геометрии, астрономии, физики и т.д., а также программы для начальной школы. Сейчас только порядка 5% госучреждений в России использует легальное ПО, а повсе-местное распространение коммерческих про-дуктов нескольких или даже одной компании наносит ущерб как отечественной IT-отрас-ли, так и информационной безопасности всего государства. Существующие «мифы» о трудностях использования Linux уже дав-но развеяны: на данный момент эта система представляет полноценную альтернативу про-дуктам Microsoft (простая установка, удобный графический интерфейс, удобные офисные приложения, огромное количество приклад-ных программ, более низкая цена лицензии и техподдержки, отсутствие компьютерных вирусов, открытость кода и возможность гиб-кой модификации под задачи пользователя, совместимость с Windows-файлами, и пр.). Леонид Сомс привел такие цифры: эко-номия для одной школы при использовании открытых продуктов может составить около 800 тысяч рублей. К началу учебного года компания «Линукс-Инк» планирует сделать подарок всем петербургским школам: предо-ставить лицензионный дистрибутив, адапти-рованный компанией – Scientific Linux. Однако этот же эксперт отметил, что ситу-ация не столь уж безоблачна. Процесс внед-рения в организациях, в частности, в школах, свободного программного обеспечения дли-телен и сопряжен с рядом проблем. Одна из важнейших – инертность преподавательско-го сообщества, выраженная в затрудненном переходе от привычных образовательных про-грамм к новым. Другая проблема заключается в низкой совместимости Linux и Windows в плане администрирования. «Обучать на Linux, а администрировать на Windows – это нон-сенс», – полагает Сомс. В этом с ним согласен директор ГОУ школа N369 Красносельского района Санкт-Петербурга Константин Тхостов. Он отметил: «Если пользователь, как физическое лицо, сам решает, какой операционной системой пользоваться, то юридическое лицо, такое как школа, работает в системе Горзаказа, с раз-личными комитетами администрации, в част-ности, Комитетом финансов. С переходом на Linux эта работа будет затруднена». Вместе с тем Тхостов полагает, что переход к 1 сентяб-ря на Linux был бы лучшим подарком школь-никам ко Дню знаний. Игорь Базлов, в свою очередь, отметил, что Петербург в области IT всегда немного опережает остальные регионы России. Сейчас почти по всех учреждениях города так или иначе используются свободные программные продукты и OpenOffice.org. Однако для даль-нейшего развития в этом направлении требу-ется поддержка из Москвы. Июль 2007 Linux Format 11 3D modelling tool Reviews Linux – это серьезно? EnergyXT c. 16 Cedega c. 17 С полдюжины лет назад один редактор одного компьютерного издания, отметив, что линуксои-ды только и делают, что ругают Microsoft, добавил: всерьез можно будет относиться к Linux’у только тогда, когда, наоборот, Microsoft начнет его ругать. Этот знаменательный момент наступил. Сначала появились аналитические обзоры сравнительной оценки совокупной стои-мости владения Windows-и Linux-плат-формами, потом их результаты (разумеет-ся, благоприятные для Microsoft – ведь кто девушку ужинает, тот ее и танцует, не так ли?) перекочевали на рекламные полосы компьютерных (и даже не очень компью-терных) журналов. И, наконец, апофеоз маркетингового гения самой великой мар-кетинговой компании: рекламная акция под названием «продам Linux-сервер». Не знаю, на кого это рассчитывали в мировом масштабе, но на Руси реак-ция на нее была однозначно юмористи-ческая. Российское представительство Microsoft завалили предложениями этот самый Linux-сервер купить. А его сотруд-никам, бедолагам, пришлось отвечать на эти запросы на полном серьезе, в резуль-тате чего реклама эта постепенно исчез-ла. А может быть, просто раскупили весь наличный запас Linux-серверов? Так что настало время относиться к Linux вполне серьезно. alv@posix.ru Новинки программного и аппаратного обеспечения в описании наших экспертов Алексей Федорчук Свою первую (и последнюю) программу написал еще на Алголе Сегодня мы рассматриваем... 12 Dofus Великолепная многопользовательская ролевая игра, но компенсирует ли мультяшный закос бедноту речи? Отправляйтесь с нами в деревню Amakna – попробуем разобраться вместе. 14 HP LaserJet 2700n Прежде чем садиться за этот материал, Пол Хадсон напечатал толстую стопку цветных мячей. И теперь он способен оценить производительность этого Linux-совместимого принтера, как никто другой. 15 Mandriva Spring На смену инновациям пришла стабильность — способен ли теперь истинно французский дистрибутив противопоставить je ne sais quoi прелестям Fedora и Ubuntu? 16 EnergyXT 2 Автор этой модульной рабочий станции воплотил мечту о создании ее Linux-версии. Суперсинтезаторы, мультиэффекты и многое другое – смотрите сами! 17 Cedega 6 Существует всего одна причина, по которой мы решили рассмотреть этот релиз, и она выражается одним словом – Oblivion. Хотите узнать, как соотносятся скорости работы игры в Linux и в Windows? EnergyXT предлагает эластичное растяжение времени и другие запредельные музыкальные эффекты. Обзоры НАШ ВЕРДИКТ: пояснение Все попавшие в обзор продукты оцениваются по одиннадцати-бальной шкале (10 – высшая оценка, 0 – низ-шая). Как правило, мы оцениваем функциональ-ность, производитель-ность, простоту исполь-зования и цену, а для бесплатных программ учитывается документа-ция. Кроме того, мы всег-да выставляем общую оценку, демонстрирующую наше отно-шение к продукту. Выдающиеся решения могут получить престижную награду «Top Stuff». Номинантами стано-вятся лучшие из лучших – прос-то высокой оцен-ки здесь недоста-точно. Рассматривая свободное ПО, мы обычно указываем предпочтитель-ный дистрибутив. Иногда это озна-чает компиляцию из исходных текстов, но, если разработчики рекомендуют Autopackage, мы следуем этому совету. Функциональность 10/10 Производительность 9/10 Простота использования 9/10 Документация 9/10 Google Earth Если весь мир – сцена, то Google Earth – театр. Простая в использовании, захватывающая и ободряюще практичная программа. Рейтинг 9/10 Вердикт Разработчик: Google Сайт: http://earth.google.com Цена: Бесплатно по закрытой лицензии – Новая коллекция Кейт Мосс весьма неплоха, не так ли? — Как ты сказал: Кейт кто?12 Linux Format Июль 2007 Обзоры Ролевая игра Ролевая онлайн-игра для множества игроков на основе Flash. Реальных альтернатив нет, но среди других Linux-совместимых RPG Second Life находится ближе Вкратце… Приятно встретить в Dofus древнейшие профессии. Перед вами мастерица по изготовлению луков, предлагающая свои услуги за деньги. В остальном языковые навыки игры плоховаты. Неиграющие персонажи Персонажи с восклица-тельным знаком над головой наставят вас на путь истинный. Исследуeм интерфейс Dofus Аватары Персонаж, представляю-щий вас, вы выбираете сами. Все, что персонаж говорит, всплывает в пузыре над его головой. Значки Доступ к вашему арсеналу, дневнику миссии, картам и заклинаниям. Компас При поиске цели можно обратиться к удобному маленькому компасу. Цифры в сердце указывают уровень здоровья. кузенов. Выпущенная в сентябре 2005 г., на сегодняшний день игра поддерживается поч-ти трехмиллионным сообществом любителей во всем мире. Британский вариант – это воз-можность для Ankama, компании-разработ-Ах, эти юношеские дни, проведенные за ролевыми играми! Если в вось-мидесятых вам было 10–15 лет, вы, наверное, помните HeroQuest, фантастическую пошаговую ролевую игру (RPG), захватившую тогда всю Британию. В ней вы могли стать одним из четырех персонажей, предпринимав-ших походы для поиска сокровищ или уничто-жения неких злых сил. Что было здорово в той игре – миссия средней продолжительности занимала около часа, поэтому за обеденный перерыв можно было еще и поесть. Спустя 20 лет ролевые игры существен-но углубились в виртуальный мир. Гиганты уровня World of Warcraft и Star Wars: Galaxies стали местом, где игроманы всего мира реа-лизуют свои ролевые фантазии. В этих мирах полно миссий, от тусовки с инопланетянами в забегаловке до линчевания гоблинов. Успех общеизвестной Second Life окончательно убе-дил несколько очень крупных компаний в необходимости присутствия в виртуальном пространстве. Однако во все упомянутые игры не так-то просто «сыграть по-быстрому», когда у вас мало времени. Зато в Dofus легко можно нырять и выныривать обратно, когда захочет-ся. Dofus – это RPG французской разработки, весьма популярная среди наших галльских чика Dofus, протестировать некоторые новые функции перед потенциальной конвертацией игры в другие локали [русской среди них пока нет, – прим. ред.]. А что же сама игра? Dofus предпочла псев-дореалистичную графику World of Warcraft и Star Wars: Galaxies тотальной Flash-анима-ции. Ankama позиционирует Dofus как почти интерактивный мультфильм. Использование Flash означает, что качество графики не зави-сит от размеров окна, и это определенно придает игре гладкую мультяшную прият-ность. Читатели, знакомые с историями про Астерикса и Обеликса, найдут Dofus порази-тельно знакомым с графической точки зре-ния. Здесь даже есть персонаж по имени Догматикс! Статистикс Сюжет простой: вы ищете приключений в провинции Amakna. Ваша цель – найти шесть Dofus’ов, или Драконовых яиц, они наде-лят вас неограниченной властью. Но способ добиться цели зависит только от вас: мож-но входить и выходить из игры в пределах пятиминутных кусочков, а можно слоняться там часами, исследуя каждую пядь предо-ставленного виртуального мира. Удобно, что Dofus предлагает новичкам пробный режим под названием Incarnum, в котором можно потренироваться перед полным погружени-ем в игру. Захватив боевой топор, Энди Хадсон отправляется искать приключений в новом мире. Хотите последовать за ним? DofusИюль 2007 Linux Format 13 Ролевая игра Обзоры Dofus предоставляет социальный опыт, но можно безоглядно вступить в игру и поло-житься на удачу. Помните, что для истреб-ления самых опасных врагов необходи-мо объединять усилия с другими игроками. Самое страшное, что может встретиться вам в Incarnum – это Gobball War Chief (Главный военный вождь), Dofus-версия волка в овечь-ей шкуре. Не позволяйте их пушистой наруж-ности усыпить вашу бдительность: они больно кусаются! Поправочки-с Но есть некоторые вещи, умаляющие досто-инства Dofus. Самое очевидное – тексты, используемые в игре. Хотя игра объявлена специально предназначенной для британского рынка, тексты страдают ошибками перево-да – очевидными кальками с французского. Если вы когда-нибудь пользовались прило-жениями, переведенными с других языков, то вам, без сомнения, знаком тот квази-анг-лийский, который получается в результате. Ankama открыта для игроков, присылающих поправки – а может быть, им стоит обратить внимание на Launchpad от Canonical, чтобы быстро найти подходящий перевод. Другой недостаток – отсутствие у графики всякой глубины: вместо того, чтобы подни-маться и спускаться по лестнице, персонаж просто перемещается по сетке, что может приводить к нереальным ситуациям, когда он просто зависает над землей. Но все это мелочи. Игровое пространство обширно, а разработчики обещают нам все Dofus не похож на большинство современ-ных игр тем, что здесь нет свободного разви-тия сюжета. Поле игры состоит из множества экранов, наводящих на мысль о графичес-ком эквиваленте старых текстовых игр (North, West и т.п.). Чтобы указать выходы, существующие на данном экране, Dofus использует маленькие значки, напоминающие компас: щелкните на любом из них, и ваш персонаж перейдет с данного экрана на другой, в зависимости от направления стрелки компаса. К несчас-тью, эти значки трудновато разглядеть из-за неудачного выбора цветов, сливающегося с фоновым рисунком. Чтобы найти подобную штучку, иногда бывает необходимо потратить несколько минут. Понятно, что создатели игры не хотели делать эти значки броскими, но ясность все же должна иметь преимущество перед желанием соблюдать цветовую схему. Взаимодействовать с другими игроками через чат очень удобно. Если вы находитесь в Incarnum, можно воспользоваться функцией Incarnum и разослать свое сообщение всем игрокам, глобально. Однако по умолчанию чат ограничен персонажами, находящимися в пределах видимости, и вместо текста в окне чата высказывания персонажей всплывают как пузыри у них над головами. Это неудоб-но, когда несколько человек пытаются раз-говаривать одновременно, так как теряется последовательность разговора; приходится все равно обращаться к чату, и пузыри оста-ются не у дел. В игре присутствует много неиграющих персонажей (NPC), которым можно задавать вопросы и получать ответы на них. Если над головой одного из таких персонажей – зеле-ный восклицательный знак, то это обычно означает, что он хочет вам что-то сказать или, чаще, подсказать какое-либо действие. Внутри Incarnum это может быть предложени-ем набрать воды для нимф, попросить мате-рию, из которой кто-нибудь сделает флаг, и даже умереть, чтобы посмотреть на жизнь с другой стороны! Это делается, конечно, для того, чтобы облегчить игру, и нужно провести немало времени в Incarnum, прежде чем осме-литься войти в город Astrub. новые приключения в будущем. Самое глав-ное, доступ к Dofus можно получить бесплат-но, хотя количество серверов для этого огра-ничено. Но даже стоимость годовой подписки для полного доступа в 60 большинству игро-ков не покажется чрезмерной. Итак, можем мы рекомендовать Dofus или нет? Зависит от ваших ожиданий. Если вам больше нравится полное погружение, то оста-вайтесь лучше с Second Life или World of Warcraft. Но новичкам в ролевых играх, несом-ненно, стоит попробовать Dofus. Независимо от уровня игровой квалификации, вы всту-пите в живое игровое сообщество и получите захватывающий сюжет, с которыми в ближай-шие несколько месяцев уж точно не соскучи-тесь. LXF Сюжет 8/10 Графика 6/10 Продолжительность 10/10 Цена 10/10 Dofus Приятная игра, нам она очень нравит-ся – но есть еще, над чем поработать. Рейтинг 8/10 Вердикт Разработчик: Ankama Сайт: www.dofus.com Цена: 60 за годовую подписку, возможны варианты. Вдали появился Дарт Вейдер (угрожающая черная фигура в кружке), правда, на сей раз без своего лазерного меча. Пора одеться и вооружиться! Хотя игра и основана на Flash, но и у нее есть минимальные и реко-мендуемые системные требования. Непонятно, почему обделили пользователей PowerPC Mac, указав лишь требования к PC. Dofus без запинки работал на нашем компьютере с 2.8-ГГц Pentium 4, гигабай-том ОЗУ и широкополосным подключением, используя Ubuntu 7.04 и Flash-модуль, добытый в репозитории Multiverse. Системные требования Минимальные требования: Pentium III 700МГц 128MБ ОЗУ 56K модем Рекомендуется: Pentium III 1ГГц 256MБ ОЗУ Широкополосное подключение14 Linux Format Июль 2007 Обзоры Принтер Вкратце… Функциональность 8/10 Производительность 9/10 Простота использования 9/10 Цена 7/10 HP LaserJet 2700n Безупречная машина. При умеренной цене на картриджи могла бы выйти в мировые лидеры. Рейтинг 8/10 Вердикт Производитель: HP Сайт: www.hp.com Цена: $700 без НДС Вы просили побольше об устройствах? Получайте: Пол Хадсон исследует новейший цветной лазерный принтер бюджетного класса… HP LaserJet 2700n web-сервер, позволяющий настроить качество печати, параметры бумаги и параметры сети. Так как экран на устройстве слишком мелкий и читать на нем трудно, web-интерфейс – более удоб-ный способ навигации в массе доступных параметров. Чистая победа Нужна скорость? 20 черно-белых и 15 цветных стра-ниц в минуту вас вполне устроят. Оборотная сторона такой скорострельности – неимоверная быстрота, с которой расходуется тонер: расходы на замену карт-риджей придется подсчиты-вать чуть ли не по окончании настройки. И здесь вас ожи-дает шок: каждый из четырех картриджей обойдется при-мерно в $150. Да, да, полная замена будет стоить столько же, сколько сам принтер. Будем справедливы, те же накладные расходы понесут и пользователи Windows. Но вернемся к самому интересному: будет ли отличаться качество печати на Linux по сравнению с Windows и OS X? Мы распе-чатали несколько пробных страниц с текстом и фото и раздали их всем окружающим на «дегустацию». И что в итоге? Большинство не смогло заметить разницу. Печать обычного текста под Linux столь же безупречна, как в других ОС. Мы заметили некоторое ухудшение каче-ства при печати изображений. Но даже это спорно, так как причиной могли быть недо-статки ПО: F-Spot и Gimp хороши, но… все-таки не Photoshop. Кроме того, различия были настолько малозаметны, что никто их не обра-щал на них внимания до тех пор, пока мы сами не ткнули пальцем в легкое искажение мелкой детали одной из тестовых страниц. HP достигла такого качества, поместив добрую часть кода своего драйвера в ядро Linux, а также вложив прогрессивные техно-логии цветной печати в само устройство, отче-го выиграли все. Именно для этого в принтер встроен процессор 300 MГц, а при большой нагрузке на печать мы рекомендовали бы установить 64 MБ ОЗУ. Та часть драйвера, которую HP не смогла открыть, видимо, не оказала существенного влияния на результат. LaserJet 2700n можно приобрести за $560 без НДС [в РФ – в районе $700, – прим.ред.], Интересно, одинаково ли один и тот же принтер работает под Linux и под Windows? По уверениям HP, ее драйверы принтеров содержат код, раскрыть который компания не может, поэтому разум-но было бы предположить, что в Linux прин-тер будет работать хуже, чем на Windows или OS X. А вот и нет: LaserJet 2700n, новей-ший цветной лазерный принтер HP бюджет-ного класса, печатает почти идентично на любой предложенной платформе. Более того, настроить его под Linux гораздо проще. Как все современные принтеры, LaserJet 2700n «понимает» Ethernet и USB. Это уже зву-чит обнадеживающе для Linux-пользователей: ведь, как и многие другие устройства, принте-ры, подключенные к Ethernet, «просто работа-ют», не требуя для себя особых драйверов. Дело упрощается еще и тем, что для HP есть особая панель инструментов, предуста-новленная в Ubuntu, которая просканировала нашу сеть на предмет наличия принтеров, нашла LaserJet и автоматически организо-вала его взаимодействие со всеми наши-ми программами (Fedora тоже сработала без запинки). Панель автоматически считывает уровни тонеров в каждом картридже и напоминает номер модели, чтобы при снижении уровня можно было заранее заказать замену. Да, на Windows все эти инструменты тоже есть, но их установка занимает около 10 минут и требует копирования на винчестер около 100 MБ дан-ных. За это время мы распечатали несколько десятков пробных страниц на Linux! Еще одна тонкая штучка – доступ к систе-ме управления принтером через встроенный и это безумно мало, с учетом скорости и каче-ства работы устройства. Картриджи дороги, но зато получается превосходный текст и высо-кокачественные изображения (пусть не струй-ного качества), а настроить принтер может даже ребенок. LXF Цветной лазерный принтер, не разрушающий семейный бюджет до покупки картриджей. Можно сравнить с любым хорошим струйным принтером. «За $600 хотелось бы чего-то покруче LCD-дисплея как у калькулятора и четырех крошечных навигационных кнопок». Майк считает… Пробные страницы на Linux вышли не хуже, чем под Windows и OS X. Были бы только картриджи подешевле… Инструментальная панель HP разыскала устройство и автоматически настроила его. Для более тонкой настройки пользуйтесь web-интерфейсом.Июль 2007 Linux Format 15 Дистрибутив Linux Обзоры Вкратце… Функциональность 8/10 Производительность 8/10 Простота использования 8/10 Документация 8/10 Mandriva 2007 Spring Free Крепкий дистрибутив с несколькими реальными новшествами, но сделать предстоит еще очень многое. Рейтинг 8/10 Разработчик: Mandriva Сайт: www.mandriva.com Цена: Бесплатно под GPL Вердикт Metisse способен вскружить голову, но что стоит за внешним блеском? Интересуется Ник Вейч. Mandriva 2007 Spring Freeтать без проблем, для бесплатной же версии необходимые драйверы придется, как всегда, загружать самому. Приятная новинка – Drakvirt, менеджер ПО виртуализации. В отличие от соперников, он умеет настраивать разные решения, включая VirtualBox и VMware, хотя для серьезной рабо-ты Xen от Red Hat все же его превосходит. Остальное – не столько инновация, сколь-ко коммерциализация. Интеграция ПО для телефонных переговоров Wengo – это хоро-шо, но только для тех, кто согласен оплачи-вать счет Wengo. Для любого дистрибутива жизненно важ-ны повседневные задачи: можно ли правильно настроить свое оборудование, инсталлировать ПО и добиться реальной продуктивности? Mandriva использует Urpmi для управления пакетами. Это прекрасный инструмент для выбора ПО в процессе инсталляции, но он несовершенен. Существуют проблемы с уста-новкой в качестве обязательных даже таких зависимостей, которые всего лишь желатель-ны. Каталог Urpmi стремительно устаревает, как и актуальные репозитории, что приводит к проблемам при загрузке нового ПО – это особенно заметно в первые несколько недель после выхода версии. Некогда, желая получить новей-шее ПО, да такое, чтоб работало (чаще, чем нет), все обращались к Mandrake. Пока другие дистрибутивы дожи-дались стабильности ПО и всесторонней про-верки обновленных ядер, команда Mandrake много работала над включением в дистрибу-тив последних новинок, твердо веря в то, что их можно заставить функционировать. Теперь это лишь воспоминания. Такие дистрибутивы, как Fedora и Ubuntu, обрели известность бла-годаря удобству и грамотному подбору ПО, в то время как версии Mandriva постепенно утратили былой задор и остроту. Сможет ли 2007 Spring Free исправить положение? К сожалению, нет, хотя без новинок не обошлось и на этот раз. Прыжок вперед Гвоздь программы – Metisse, собственное изобретение Mandriva для трехмерных рабо-чих столов. Надо сказать, Metisse – это не просто украшение, а попытка усовершенство-вать продуктивность работы. Здесь приме-няется несколько новых функций, включая девять виртуальных рабочих столов, способ-ных действовать, как один большой экран. Но вот в пользе вращающихся окон и прочих при-бамбасов мы не совсем уверены. Наиболее заметная проблема версии Free – то, что широко разрекламированные преиму-щества Mandriva в действительности не так легко получить. Возьмем Metisse. Сведения о нем появляются уже на этапе инсталляции. Есть даже специальный сеанс настройки X для работы с ним (или для доводки Beryl/Compiz). А потом оказывается, что работать с Metisse может не всякая видеокарта, и похоже, что для свободной версии выбор ограничивается чипсетами Intel. Предельно ясно, почему не включены драйверы Nvidia (иначе версия не была бы свободной), но выяснять, «почему оно не работает», предоставляется самому пользователю. Вариант Powerpack, в котором драйверы Nvidia присутствуют, должен рабо-Отчаянный смельчак легко может загру-зить пакеты Cooker для Mandriva, где всегда есть новейшие версии ПО. По крайней мере, были. Падающая популярность Mandriva при-водит к тому, что количество новых пакетов постоянно сокращается. Но Mandriva еще повоюет. Очевидно, что умы, стоящие за ним, умеют делать хорошие дистрибутивы. Чтобы получить превосходный, нужно только чуть поднажать. LXF Передовой дистрибутив для рабочего стола – см. подробности на стр. 32! «Приятная новинка – Drakvirt, менеджер ПО виртуализации.» Все гладко и удобно, но нет прежнего напора. Неужели так – лучше? На DVD16 Linux Format Июль 2007 Обзоры Пакет обработки цифрового звука Вкратце… Функциональность 9/10 Производительность 9/10 Простота использования 7/10 Документация 9/10 EnergyXT 2 Использует эффекты реального време-ни и синтезаторы в той же манере, какой годами наслаждались пользователи Windows и OS X. Рейтинг 9/10 Вердикт Разработчик: XT Software Сайт: www.energy-xt.com Цена: 39 Изучаем интерфейс EnergyXT «Открывает целый мир возможностей, и вы от него никогда не откажетесь.» Освободите музыку из плена треков и фейдеров. Грэм Моррисон рассматривает программу, создающую мелодию прямо на экране. EnergyXT 2Live, чем к Ardour: данные каждой дорожки можно редактировать прямо из окна аранжи-ровки, не надо открывать всякий раз новое окно. Это делает работу интуитивно понятной, а интерфейс удобным. Например, во время создания дорожки ударных можно добавлять каждый удар одним щелчком, а громкость регулировать, поднимая и опуская ползунок. На дорожке MIDI можно визуально отобра-жать ноты и данные контроллера в одном окне, можно даже нажимать на клавиши вир-туальной клавиатуры, чтобы воспроизводить ноты в реальном времени. При необходимости более тонкого контроля, двойной щелчок на области данных откроет окно точного редак-тирования расположения и продолжитель-ности нот. Творческое конструирование Главное достоинство EnergyXT – унаследован-ный от предшественницы модульный принцип строения. Переключившись с окна аранжи-ровки (под названием Sequencer) на окно графиков (Comps), вы увидите графичес-кое представление своей настройки. Каждая дорожка – модуль со входом и выводами для аудио и MIDI-данных. Виртуальные кабе-ли соединяют модули друг с другом и с сек-венсором, но эту раскладку нетрудно изме-нить по своему вкусу. В EnergyXT встроено три модуля: секвенсор, используемый в окне аранжировки, модуль эффектов и синтеза-Сначала EnergyXT была перво-классным инструментом для MS Windows. С ее помощью можно было собрать коллекцию программных син-тезаторов и аудиоэффектов в единственном окне, используя вывод одного процесса в качестве входа для другого, как это делается в модульном синтезаторе. Полученные тво-рения можно было затем использовать как источники звука для программ звукозаписи или даже самой EnergyXT, свободу творчества ограничивала лишь производительность про-цессора. EnergyXT принесла своему автору, Йоргену Аазе [Jоrgen Aase], большой успех, а он уже планировал необычное продолжение: поддержку Linux. И вот перед нами специальная Linux-версия EnergyXT 2 – правда, она выглядит несколько пугающе. Основное окно выглядит примерно так же, как окно аранжировки в большинстве подобных программ, от свобод-ной Ardour до индустриального лидера Ableton Live. Дорожки аудио, ударных и MIDI-данных располагаются друг над другом, а данные дорожек блоками уходят вправо. А вот и то, что приближает EnergyXT 2 скорее к Ableton тор/сэмплер. Синтезатор хорош, его можно редактировать в реальном времени, меняя тембр звучания от резких отрывистых звуков до теплых, похожих на аналоговые, всплесков. С помощью модуля эффектов звуки обогаща-ются прерываниями, реверберацией, фазовы-ми и хоровыми эффектами. Кому этого мало, может загрузить множество других эффектов и синтезаторных модулей, полученных пере-компиляцией под Linux модулей Windows VST. Особенно привлекательна коллекция ‘MDA’ Пола Келлета [Paul Kellet], содержащая широ-кий диапазон аудиоэффектов и пару замеча-тельных синтезаторов. Существует обратная зависимость между гибкостью программы и простотой ее исполь-зования, поэтому работать с приложениями такой модульности всегда сложно. Просто стянув все модули в окно аранжировки, вы обманете себя мыслью о том, что это всего лишь обыкновенная музыкальная программа. Но одно лишь нажатие кнопки Comps откроет вам целый мир возможностей, от которого вы никогда не откажетесь ради обычного ввода ноты за нотой. Может быть, вы и не закончите свою симфонию, зато получите массу удо-вольствия в процессе творчества. LXF Конфигурацию виртуальных подключений всей оснастки можно свободно менять. Модульный музыкальный комплекс с эффектами реального времени и программными синтезаторами. См. также: Ardour или LMMS. Синтезатор реального времени В EnergyXT встроен свой программируе-мый синтезатор. Запас эффектов Звуки можно украсить различными аудиоэффектами. Редактор ударных Удары добавляются простыми щелчками на дорожке ударных. Матричное окно Чтобы точнее управлять редактированием, откройте новое окно. Синтезатор JX10… …нет, все-таки загрузка инструмен-тов по выбору – это здорово. Управление данными Можно редактировать кривые громкости и другие управляющие данные. Сэмплер Каждый удар барабана имеет собственный сэмпл. Матричный редактор Ноты можно добавлять и редактировать в главном окне.Июль 2007 Linux Format 17 Эмулятор Обзоры Вкратце... Последние двенадцать месяцев Грэм Моррисон страдал по Oblivion. Благодаря новой версии Cedega он, кажется, получит новую игрушку. Cedega 6 название и нажав Play. Защиту от копирова-ния Cedega берет на себя, используя техноло-гию, лицензированную производителем (одна из причин того, что Cedega не свободна), и через несколько секунд появляется панель настройки Oblivion. Даже на выверенном ПК с Windows для окончательной настройки игры понадобятся некоторые усилия. В игре При низком разрешении 800х600 и среднем уровне качества, Oblivion выдавал в сред-нем 29 кадров в секунду. При том, что наша видеокарта на сегодня не самая мощная (см. Начинка нашего PC, вверху справа), это сов-сем не плохо. Увеличение разрешения до 1280х760 и включение одного эффекта Bloom уменьшило число кадров в секунду лишь на 10. В общем, игра идет, как полагается, кроме наиболее интенсивных боевых сцен, хотя нам так и не удалось заставить работать в Cedega рендеринг высшего качества HDR. Но вот интересный вопрос: с какой скоростью игра идет на Windows? Мы установили Windows и Oblivion на тот же компьютер, запустили с теми же настройками и обнаружили, что на Windows скорость увеличилась почти на 40%: до 48 кадров в секунду. Видеокарты недешевы. Если вам удалось добыть серьезное устройство, необходимое для новейших игр уровня Oblivion, то вы не станете мириться со снижением производи-тельности, как бы ни была хороша Cedega. Восемнадцать месяцев назад мы рас-сматривали 5-ю версию Cedega. Благородный труд TransGaming по переносу Windows-игр на Linux увенчался 6-й версией. Нумерация у версий Cedega необыч-ная. Программа непрерывно развивается, а пользователи покупают подписку на услуги, что позволяет им не только постоянно полу-чать обновленные версии, но и голосовать за игры, поддержку которых они хотели бы получить. Нельзя купить версию 6, продается лишь подписка. Если TransGaming увеличивает номер вер-сии, это значит, что достигнута некая важная веха в развитии программы. Вехой для вер-сии 6 стала Oblivion, популярнейшая игра от Bethesda Softworks, вышедшая в прошлом апреле. Важной вехой Oblivion сделала не популярность, а тот факт, что это одна из кра-сивейших и требовательных к ресурсам игр. Она заставляет попотеть даже консоли Xbox 360 и PS3, что уж говорить о нашем скромном Linux-компьютере. Но чтобы извлечь что-нибудь из Cedega, Linux-компьютер должен быть не таким уж скромным. Без хорошей видеокарты от Nvidia не обойтись. Версия 6 заявляет об улучшении поддержки ATI, но, если честно, мы не реко-мендуем пользоваться ею, пока не появится нормальный драйвер от ATI/AMD. Инсталлятор программы небольшой – основные файлы загружаются им с сайта TransGaming автома-тически. Двоичные пакеты имеются для любо-го крупного дистрибутива, включая Red Hat, Fedora, Mandriva, Debian и Ubuntu, проблем этот способ инсталляции не вызывает. Установка Windows-игр сводится к простому нажатию непомерно огромной кнопки Install в менеджере игр Cedega, выборе профиля игры из выпадаю-щего меню, вставке CD/DVD в привод и нажа-тию Continue (Продолжить). Прежде чем начать магические процедуры установки, Cedega нахо-дит инсталляционный файл на диске. На нашем тестовом компьютере инстал-ляция Oblivion заняла почти полчаса – рез-кий контраст с восе-мью минутами для Windows, подор-вавший нашу веру в производительность игры. Не было про-блем с инсталляци-ей – и на том спаси-бо. Любую игру из коллекции можно запустить, выделив ее Но для нерегулярного Linux-игрока Cedega – единственная возможность запустить клас-сную игру вроде Oblivion. Уже то, что она вообще работает – поразительное достиже-ние. LXF Подробнее о кроссплатформенной магии см. стр. 40. Играйте в Windows-игры под Linux. В данной версии добавлена поддержка Battlefield 2142, World of Warcraft и Madden 07. См. также: Crossover Linux от CodeWeaver. Чтобы создать эту чудную графику, TransGaming ввела поддержку Shader Model 2.0. Запуск игры в окне не влияет на производительность, а вот от Beryl – эффект негативный. AMD Athlon 64 X2 5000+ (Cedega использует только одно ядро) 1Гб ОЗУ Nvidia 7600GS 256Мб ОЗУ (PCIe) Наш ПК Функциональность 9/10 Производительность 7/10 Простота использования 8/10 Документация 9/10 Cedega 6 Технически впечатляет, неплохо для эпизодического использования, но требу-ет мощного оборудования. Рейтинг 8/10 Вердикт Разработчик: TransGaming Сайт: www.transgaming.com Цена: $5 в месяц (минимальная подписка – три месяца)Paul Blachford 18 Linux Format Июль 2007 Наш выбор Каждый месяц мы сравниваем тонны ПО – а вы можете отдыхать! Сравнение FilesAnywhere c. 19 FlipDrive c. 19 IBackup c. 20 IceBackup c. 21 Rsync.net c. 22 XDrive c. 21 Про наш тест... Тестирование первоначально проводилось на Kubuntu 7.04 Feisty Fawn, с использова-нием Mozilla Firefox (v2.0.0.3) и Konqueror (v3.5.6) из KDE. Версия Java была 1.4.2. Важно было учесть, много ли предоставля-ется пространства для хранилища и какие протоколы передачи данных доступны, так как большее их число дает больше гибкос-ти. Мы также хотели узнать расценки на тот или иной сервис, и существуют ли «побо-ры» сверх абонентской платы. Безопасность любой резервной копии – ключевой вопрос. В идеале данные должны шифроваться перед передачей, но скорость сервиса тоже важна: мы использовали быс-трую (8 Mбит в прямом канале и 1 Mбит в обратном) ADSL-линию, чтобы увидеть, насколько приемлемы скорости. Известно, каким обременительным считают резерви-рование многие пользователи и админист-раторы, поэтому регистрировались просто-та в использовании и качество документа-ции. Наконец, мы учитывали кросс-плат-форменную совместимость сервиса: хоро-шо ли он работает с Linux, и есть ли ориен-тированная на Linux документация. Резервирование данных – будь то фотки, привезенные из отпуска тетей Дженни, или платежные ведо-мости предприятия – важнейшая обязанность, которой часто пренебрегают. При этом оправдываются затратами, слож-ностями и предположением, что потеря дан-ных – весьма маловероятное событие, которое уж с вами-то никогда не случится. Однако люди разумные, вроде читателей Linux Format, как минимум планируют запус-тить регулярную процедуру резервирования, а то и прикидывают: не использовать ли онлайн-резервирование для усовершенство-вания этой операции? Большинство читате-лей, попавших на наши страницы, знают, что данные при онлайн-резервировании переда-ются через Интернет на систему хранения провайдера, а не на локально присоединенные физические носители вроде компакт-дисков, внешних жестких дисков или магнитных лент. Тогда вам уже не надо беспокоиться об утрате резервных копий из-за кражи или пожа-ра, и вы сможете употребить свои ресурсы на другие важные дела. Сюда входит регулярная проверка (вправду ли сохранены те данные, которые вы считаете сохраненными) и пла-нирование операций восстановления данных, если немыслимое событие произойдет. В слу-чае беды следует просто переустановить ОС, получить доступ к онлайн-службе резервиро-вания и восстановить ваши данные. Что предлагается? Онлайн-резервирование обычно предлагает три вида методов сохранения и восстановле-ния данных. Во-первых, имеется web-интер-фейс, когда отдельные файлы загружаются с помощью HTTP, а множественные файлы/каталоги – с использованием Java-апплета. Второй метод использует программу-клиента, запущенную на вашем компьютере. Лучшие клиенты предлагают всяческие встроенные функции: например, включение задачи резер-вирования в расписание или опцию использо-вания нескольких наборов файлов для выпол-нения разных задач резервирования. Ну и в-третьих, часто можно обратиться к службе, используя FTP, WebDav или rsync. FTP-клиенты существуют почти для каждой платформы, да и найти подходящие клиен-ты для WebDav или rsync также не соста-вит труда. Это – идеальный способ осущест-влять резервирование в кросс-платформен-ном окружении. Надеемся, что один из сервисов, пред-ставленных здесь, подойдет для вас или для вашей организации. Что ж, поглядим! Горя желанием избавиться от своих 8-дюймовых дискет, Крис Хауэллс оглядел сервисы, позволяющие сохранять данные по сети. Онлайн-резервирование Июль 2007 Linux Format 19 Онлайн-резервирование Сравнение FilesAnywhere – базирующаяся в США служба, предлагающая разнообразные протоколы передачи данных, равно как и проприетарные Windows-приложения. Как водится для сервисов, базирующихся в США, оплата принимается в американских долларах, и проживающие за пределами США при обра-щении в службу поддержки могут столкнуться с проблемой часовых поясов, поскольку офи-сы FilesAnywhere открыты только в дневное время США. Было приятно увидеть Java-апплет для SFTP, то есть вам не надо покидать браузер, чтобы насладиться безопасными FTP-загруз-ками. Апплет работал неплохо, хотя имел раздражающую привычку открывать окошко для каждого переданного файла, вмешива-ясь во все, что бы мы ни делали. Вместо него можно использовать командную строку SFTP-клиента, что придает определенную степень гибкости. Отличный web-интерфейс дает доступ к файлам через браузер. Он имеет много функций и хорошо оформлен, а Java-опция загрузки означает, что вы можете загружать и целые каталоги, и отдельные файлы, исполь-зуя HTTP. Нам понравилась функция Media Gallery, делающая миниатюры изображений для FilesAnywhere беглого просмотра перед скачиванием. Впечатляет также функция Zip And Download, автоматически сжимающая весь каталог в zip-файл для скачивания: очень удобно, и должно ускорить загрузку. Существует множество способов совмес-тного пользования файлами: FileShare посы-лает по электронной почте ссылку на файл для скачивания, GroupShare позволяет раз-делять файлы с другими пользователями FilesAnywhere, и можно даже создать DropBox, чтобы получать файлы от других людей. Но это еще не все. WebFolders предлага-ют получить доступ к службе через протокол WebDav, и имеется функция Mobile Access, объявленная совместимой с мобильными телефонами BlackBerry и Windows. Функция WebDav превосходно работала в Konqueror с одноименным KIO slave. Пользоваться ею несложно, и служба оформлена на уровне, с большим выбором доступных протоколов. Так как же мы оценим FilesAnywhere? По боль-шому счету, мы ожидаем, что она привлечет Вам правда нужны ваши файлы везде? Web-интерфейс упрощает загрузку и управление файлами: для загрузки нескольких файлов используется интерфейс Java. FlipDrive позиционируется скорее как система совместного использования файлов, а не решение для резервиро-вания. Например, можно загрузить большие файлы для общего доступа вместо рассылки по e-mail с риском того, что прикрепленный файл повесит почтовый сервер адресата. FlipDrive использует систему загрузки фай-лов, основанную на web-браузере. Интерфейс дает возможность создавать каталоги, загру-жать новые файлы и, естественно, скачивать ваши файлы. Есть еще и удобная функция поиска по имени файла. Загружать файлы мож-но двумя методами. Первый – простой метод на базе HTTP, а второй – система ‘Power Upload’, использующая Java-апплет. Этот апплет позво-ляет загружать сразу несколько файлов и ката-логов. Оба способа предоставляют сведения по количеству переданных данных и времени, оставшемуся до окончания операции. Система справки эффектна: это видеопо-собие, сделанное на Macromedia Flash. Есть FlipDrive также функция фотогалереи, хотя она показа-лась нам не такой интуитивной, как остальной сайт; и, похоже, нельзя добавить в галерею уже загруженные фото. Совместно использовать файлы с тре-тьими лицами легко, при этом уведомление посылается на электронную почту получате-ля. Файл можно скачать пять раз за 24 часа – не особенно щедро. Наряду с совместным использованием файлов и резервировани-ем, сайт FlipDrive предлагает и другие сер-висы, а именно календарь и адресную книгу. Интуитивный и хорошо оформленный, кален-дарь также имеет функцию извещения по электронной почте; это удобно, если вы посто-янно забываете о чьем-нибудь дне рождения. Щеколда-защелка, другая служба резервирования. FilesAnywhere Впечатляющий сервис со множеством элегантных свойств; браво. Рейтинг 8/10 FilesAnywhere Сайт: www.filesanywhere.com Цена: От $3.95 в месяц Вердикт FlipDrive Хорошо оформленное приложение, с хорошим базовым сервисом совместного использования файлов и резервирования. Рейтинг 8/10 FlipDrive Сайт: www.flipdrive.com Цена: От $4.95 в месяц Вердикт FlipDrive предлагает фотогалереи, к которым можно дать открытый доступ. «FilesAnywhere дает отличный доступ к файлам из браузера.» «FlipDrive – система и общего доступа к файлам, и резервирования.» продвинутых личностей: документация вся на месте, но в ней мало пошаговых инструкций, а без них некоторым не обойтись.20 Linux Format Июль 2007 Сравнение Онлайн-резервирование IBackup – это сервис от Pro Softnet Corporation из Калифорнии. Он предлагает три вида учетных записей. План Economy включает только хранение и имеет самую низ-кую цену, план Enhanced – продукт средней категории, а план Workgroup предлагает боль-шую часть функций по самой высокой цене. Некоторые возможности, стандартные для плана Workgroup, в учетных записях Economy и Enhanced доступны как необязательные дополнения. Наше первое впечатление было очень пози-тивным: всеобъемлющий диапазон предлагае-мых протоколов – просто блеск! Регистрация, однако, разочаровала нас приглашением ска-чать приложения для резервирования IBackup для Microsoft Windows, тогда как наш браузер был Mozilla Firefox под Linux. Вернувшись на главную страницу, мы смог-ли задействовать основной сервис IBackup, состоящий из простой системы загрузки фай-лов через web. Сервис работает адекватно, но по-настоящему подходит только тем, у кого есть несколько файлов, не нуждающихся в особо частом резервировании. Интерфейс довольно интуитивен и обеспечивает нор-мальные средства управления файлами, такие как переименование и перемещение. Облом с папками Если вам нужно сделать резервную копию большого числа файлов, вас порадует, что можно резервировать папки целиком, исполь-зуя WebDav-подобную систему. После ввода имени пользователя и пароля мы получили ошибку HTTP 403 ‘Permission denied’. Мы было не сильно огорчились, поскольку пре-дыдущая страница предупреждала, что перед использованием этой функции следует уста-новить расширение Openwebfolder для Firefox. Но увы, оно не помогло. Затем мы перешли на Konqueror, где есть хорошая встроенная поддержка WebDav. Это также не дало результата, IBackup выдавал сообщение ‘Browser not supported’. Для пользователей Windows IBackup пред-лагает функцию сетевого диска под назва-нием IDrive – увесистое 10-МБ приложение. Оно позволяет обращаться к сервису как к обычному диску под Windows. Мы надеялись, что эта функция основана на SMB-протоколе, обычно используемом в сетевых дисках под Windows – он хорошо поддерживается в Linux; и просчитались. Мы проглядели весь сайт, чтобы поболь-ше узнать о совместимости с Linux. К нашему удивлению, оказалось, что поддерживается rsync – довольно умный протокол, стара-IBackupющийся минимизировать количество пере-даваемых данных; неплохое решение при резервировании сотен мегабайт ежедневно. Он порадовал нас отличной работой. IBackup позволяет запускать rsync через Stunnel, ради шифрования данных. Совместное использование файлов Чтобы дать другим доступ к вашим данным, предлагаются различные функции. Есть функ-ция Private Share, позволяющая вам совмест-но использовать файлы с другим пользовате-лем IBackup. Вдобавок функция Sub-Account открывает файлы для третьих лиц, что, одна-ко, требует дополнительной платы $5 в месяц за каждый Sub-Account. Поскольку третьим лицам дается возможность изменять файлы, предусмотрена блокировка: изменения, сде-ланные третьей стороной, не перезаписыва-ются изменениями, сделанными другой тре-тьей стороной. Одна уникальная возможность нас заин-триговала. Она касается выполнения перво-начальной резервной копии, с использова-нием внешнего жесткого диска или серве-ра, который затем переправляется в IBackup и вносится в систему хранения компании. Последующие резервирования, производи-мые приложениями Windows, Mac OS X или rsync, передают только те данные, что были изменены. IBackup также предлагает проприетарное Windows-приложение для создания резер-вных копий. Оно полнофункционально, и Нет, это не очередной продукт Apple... IBackup Хороший диапазон протоколов, но сервис не так отполирован, как остальные. Рейтинг 7/10 Сайт: www.ibackup.com Цена: От $9.95 в месяц Вердикт Web-интерфейс IBackup толково разработан. включает массу интересных деталей: напри-мер, экономит трафик и время путем пере-дачи только изменившейся части файлов. Программа-клиент также дает специальную поддержку для резервирования баз данных Microsoft Exchange и Microsoft SQL Server. А раз уж имеется клиент для Mac OS X, было бы очень приятно увидеть в будущем клиента и для Linux. IBackup хранит свои данные на серве-рах, находящихся в США. В общем, на нас произвела сильное впечатление техническая сторона сервиса IBackup, но способ его пре-доставления впечатляет куда меньше: он вряд ли подойдет технически неопытным пользо-вателям. Хотелось бы, чтобы информация о функциях, доступных для учетной записи, была ясно изложена на сайте – например, что-бы узнать о возможности доступа к серверам Ibackup через rsync, нам пришлось порыться в документации.Июль 2007 Linux Format 21 Онлайн-резервирование Сравнение На весьма профессионально выгля-дящем сайте IceBackup специально оговорено, что их сервис поддержи-вает все дистрибутивы Linux. Впечатляет сам набор поддерживаемых операционных сис-тем, включающий Windows, Mac OS X, Solaris и Novell NetWare. Сначала нам показалось странным, что размер клиента для Linux такой большой, при-мерно 30 МБ. Он содержит как консольную версию, так и версию для X11. Мы честно следовали всем (довольно скверным) инструкциям, но нам, тем не менее, не удалось разрешить странную ошибку Java, якобы связанную с файлом, не включенным в дистрибутив. Провозившись с этой пробле-мой несколько часов, мы пришли к выводу, что совместимость IceBackup с Linux не так хороша, как обещано. Тогда мы перешли к консольной версии. Следуя опять-таки неадекватным инструкциям, мы не сумели исправить ошибку ‘Configuration File NOT Created’. К сожалению, других сооб-щений не поступило – а было бы весьма инте-ресно узнать, почему же все-таки не создался файл конфигурации. Клиент для Windows поживает существен-но лучше: он набит функциями, осуществляю-щими различные настройки резервирования IceBackupи планирование таковых; зато он не отоб-ражает скорость передачи данных, так что очень сложно оценить процент завершения и понять, сколько еще осталось ждать, а это раздражает. Впечатляет то, что клиент позволяет непо-средственно подключаться к серверам MySQL и Oracle для их резервирования – это сущест-венно упрощает задачу создания резервных копий серверов баз данных, поскольку нет необходимости проводить собственное резер-вирование при помощи Cron и mysqldump. Отчеты о состоянии, где перечисляются каталоги, помещенные в резервную копию, приходят по электронной почте, независимо от успешного либо неудачного завершения операция. Это приятная деталь, но опять раз-дражает отсутствие информации о том, сколь-ко времени длилось резервирование, и какие скорости передачи при этом достигались. Клиент довольно прост в использовании, но явно нацелен на тех, кому нужно серьезное решение для резервирования. Из-за сложнос-Выручит ли вас это ледяное решение? Клиент IceBackup для Windows создает log-файл, и вы можете узнать, что происходит. Если вы возжелаете попользовать-ся XDrive, придется завести учетную запись AOL. Ясно, насколько сильно ориентирован на США этот сервис: требует-ся вводить телефонный номер и почтовый индекс в формате США, а где ж их взять, коли у вас их нет. XDrive щедро дарит 5 ГБ для бесплатного хранения, а 50 ГБ стоят всего $9.95. Халява – это святое, и XDrive – единственный подоб-ный сервис, предлагающий бесплатно значи-тельное место для хранения. После входа на сайт вам предоставляется меню Launchpad, предлагающее выбор: либо открыть виртуаль-ный жесткий диск, либо запустить Xdrive-шоу. Последнее – это новаторский метод созда-ния слайд-шоу из рисунков и музыки, иде-ально работающий с Firefox – он основан на Macromedia Flash. Загрузка файлов может осуществляться двумя способами. Первый, Basic, использует простую HTTP-передачу. Он прилично работа-ет для отдельных файлов, и даже предостав-XDrive ляет информацию о ходе загрузки. Второй метод называется Accelerator Plus; он пре-доставляет хорошие скорости – наша ADSL-загрузка добралась до 100 Kб/сек. Главный его козырь – способность загружать целые каталоги за один раз. После загрузки фай-лов XDrive работает весьма интеллектуаль-но, обеспечивая предпросмотр для больших рисунков. Также имеется функция поиска. Интересна обнаруженная нами функ-ция закладок, где можно хранить Закладки/Избранное web-браузера. В настоящий момент, однако, поддерживается только импортирова-ние закладок Internet Explorer. Сервис корректно работал с Firefox, а вот Konqueror, к сожалению, отказал в защищен-ном входе. Это не драйв, это XDrive. IceBackup Продукт для Linux и техническая поддержка сильно разочаровывают. Рейтинг 3/10 Сайт: www.icebackup.net Цена: От $14 в месяцВердикт XDrive Реализовано несколько очень удобных домашним пользователям функций. Рейтинг 7/10 Сайт: www.xdrive.com Цена: бесплатен в базовом варианте Вердикт Accelerator Plus обеспечивает высокую скорость загрузки. «Полный список поддерживаемых ОС впечатляет.» «XDrive щедро дарит 5 ГБ на бесплатное хранение.» ти используемых концепций планирования и файловых наборов, для новичков это непод-ходящий выбор.22 Linux Format Июль 2007 Сравнение Онлайн-резервирование Освоим жаргон rsync – утилита для эффективного обме-на данных между сайтами. Важно, что пере-сылаются только различия между разными версиями файла, и если файл был изменен совсем немного, то следующее резервиро-вание выполняется гораздо быстрее. SSH обозначает Secure SHell, удаленную систему доступа, широко используемую при администрировании Unix-серверов. В отличие от раннего Telnet, данные здесь шифруются. SFTP – SSH-протокол передачи файлов, который работает путем туннелирования данных передаваемых файлов через SSH-соединение, обеспечивая невозможность перехвата файлов. SCP (Secure Copy Protocol) – другой спо-соб передачи файлов через SSH-соединение. Строгий сайт сразу переходит к тех-ническим деталям – на фоне назой-ливо-рекламных сайтов конкурентов это бодрит – и мы были мгновенно очарова-ны предложениями сервиса Rsync.net. Столь же приятно смотрится документ об усло-виях обслуживания, написанный для людей без юридической практики: безо всякой там неудобочитаемой зауми, которой часто зло-употребляют подобные документы. Rsync.net имеет три центра данных: два в США, один в Швейцарии. В этом году так-же планируется расшириться в Индию и на Тихоокеанское побережье. Есть даже опция выбора центра данных, где бы вы хотели хра-нить ваши файлы – европейцы, скорее всего, предпочтут Швейцарию, чтобы снизить время ожидания. Другая интересная функция – «гео-дублированная файловая система», которая автоматически воспроизводит данные на дру-гом месте. Это снижает вероятность причине-ния вреда вашим данным стихийными бед-ствиями типа наводнений. Rsync.net не снабжает программами для доступа к сервису, но рекомендует пользовать-ся решениями третьих фирм. Следовательно, вашим вкусам угодят в любом случае, будь вы поклонником хоть консольных FTP-клиентов, хоть графических клиентов rsync. Rsync.net нацелен скорее на опытных поль-зователей Unix, чем на желающих просто сохранить пару-тройку файлов, и предлагает ряд протоколов, большая часть которых под-Rsync.net держивает шифрование. Проще всех – ста-рый добрый FTP и WebDav. Для продвинутых пользователей предлагается множество про-токолов туннелирования посредством SSH, включая rsync, SFTP и SCP. Для тех, кто хочет поиграть со следующим поколением интер-нет-адресации, имеется IPv6. Друзья администратора Rsync.net предлагает несколько приятных функций, включая возможность отобра-жать учетную запись WebDav как диск под Windows, то есть служба будет выглядеть под Windows просто как новое имя диска в дереве. Пользователи Unix могут с помощью SSHFS создавать виртуальную файловую систему. Поясним, что SSHFS передает данные по про-токолу SSH, а выглядит как обычная локально примонтированная файловая система. Для настройки SSHFS под Linux и FreeBSD име-ются инструкции. Не забыта и OS X для Apple Mac: даны инструкции по настройке Finder для обеспечения прямого доступа к сервису через рабочий стол OS X. Для создания резервных копий компания рекомендует утилиту под названием Duplicity (http://duplicity.nongnu.org). Duplicity применя-ет GNU Privacy Guard, GnuPG, для шифрования данных с использованием Pretty Good Privacy (PGP). Для эффективного управления переда-чами сжатых резервных копий служит librsync, при этом гарантировано, что при последую-щих актах резервирования будут передаваться только изменения файлов. Как и следовало ожидать, Rsync.net дает хорошие инструкции по использованию ути-литы rsync под Windows, Mac и Linux, приводя прямые примеры требуемых настроек. Даны также ссылки на подходящие версии rsync для Windows и OS X. Еще нам понравились обещания, касающиеся поддержки – она будет осуществляться инженерами, а не техника-Предлагая больше, чем просто rsync. rsync.net Отличный сервис, адресованный опытным пользователям и профессионалам. Рейтинг 8/10 Сайт: www.rsync.net Цена: От $1.60 в месяц Вердикт «SSHFS представляет Rsync. net как виртуальную файловую систему.» Размеры файлов и данные об использовании учетной записи можно узнать через SSH. ми поддержки первого уровня, способными разве что читать по бумажке. Каждый, кому хоть раз приходилось тратить время на теле-фонные разговоры с технической поддерж-кой, без сомнения, ощутит признательность. Документация на сайте тоже весьма обшир-ная, хотя и нацелена на технически грамотных людей. Помимо технической части, Rsync.net пред-лагает различные денежные премии за улуч-шение кодов сообществом – в частности, кода Duplicity, выпущенной под GPL. Также приятно видеть, что имеются скидки на пользование этим сервисом для разработчиков открытых приложений. В целом, качество Rsync.net произвело на нас отличное впечатление: это гибкая систе-ма, которой можно пользоваться из целиком открытой среды. Нельзя сказать, что Rsync.net отличается простотой: сервис – не для нович-ков, но это простительно, поскольку не они основные потребители Rsync.net. Rsync – просто инструмент для регулярного резервного копирования серверов. Июль 2007 Linux Format 23 Онлайн-резервирование Сравнение Обратная Пользуетесь ли вы онлайновыми службами резервирования? Нам будет интересно узнать, какого типа онлайновую систему вы используете, и почему. Поделитесь вашим мнением и опытом на letters@linuxformat.ru. Службы онлайн-резервирования Rsync.net 8/10 Вердиктфактор, который следует принять во внимание при выборе сервиса онлайн-резервирования – объем передаваемых данных. Rsync.net явно указывает, что объем прак-тически не ограничен, а два других сервиса, XDrive и FlipDrive, придерживаются политики «честного использования». По правде сказать, нас обеспокоила та часть пользовательского соглашения XDrive и FlipDrive, которая, не оговаривая точных зна-чений лимита, грозит прекращением обслужи-вания за использование «значительно боль-ших объемов, чем остальные потребители сервиса». Две службы понравились нам значитель-но больше остальных. Первой стал Rsync.net, отличающийся серьезным подходом, что вно-сит приятное разнообразие. Мы считаем, что это отличное решение в финансовом плане – хранение 1 ТБ стоит $640 в месяц при неогра-ниченных передачах данных – хотя он потерял очки из-за сложности в использовании. Также приятно видеть систему загрузки, основанную на web, и кое-какую документацию, ориенти-рованную на менее опытных пользователей. Второй оказался FilesAnywhere. Им лег-ко пользоваться, и он хорошо документиро-ван – то самое, что нужно менее опытному пользователю. Мы также обнаружили, что FilesAnywhere предлагает отличные возмож-Мы рассмотрели несколько серви-сов резервирования, которые четко направлены на две разных катего-рии: тем, кто просто хочет изредка сбрасывать куда-нибудь несколько файлов, возможно, для совместного использования с другими, и тем, кому нужно регулярно резервировать большие объемы данных. Если вы входите в первую категорию, можете положиться на сервисы, предостав-ляемые XDrive, FlipDrive и FilesAnywhere. Пользователей, желающих сохранять боль-шие массивы данных на более регулярной основе, заинтересуют сервисы от IBackup, Rsync.net и IceBackup. Наряду с требуемым объемом дискового пространства для хранения, еще один важный Поддержка и сервис Rsync.net впечатляют с любой стороны. Можете выбрать, где хранить ваши данные: в США или в Европе. Сервис Доступное пространство Цена HTTP WebDav FTP rsync Проприетарный клиент Работа с Konqueror Работа с Firefox Совместное использование файлов Фото-галерея Скорость Стоимость передачи данных Files Anywhere 5ГБ-500ГБ 100 MБ $4/месяц, 50 ГБ $70/месяц Только Windows Плохо Хорошо Хорошо Не указано FlipDrive 25MБ-100ГБ 25 MБ $5/месяц, 100 ГБ $20/месяц Плохо Хорошо Отлично Политика честного исполь-зования IBackup 5ГБ-300ГБ 5 ГБ $10/месяц, 300 ГБ $300/месяц Хорошо Хорошо Отлично Не указано IceBackup 500MБ-100ГБ+ 500 MБ $14/месяц, 100 ГБ $280/месяц + $50 за установку Windows/Linux/OS X Не работает Не работает Хорошо Не указано Rsync.net 1ГБ-1TБ+ 1 ГБ $1.6 /месяц, 1000 ГБ $640/месяц Не работает Не работает Отлично Без ограничений XDrive 5ГБ-50ГБ 5 ГБ бесплатно, 50 ГБ $10/месяц Только Windows Плохо Приемлемо Хорошо Политика честного исполь-зования ности для совместного использования файлов с другими пользователями и хороший выбор протоколов. Цены повыше, чем у других сер-висов, но вполне приемлемы. Если цена для вас – главная забота, рекомендуем обратиться к куда более дешевому FlipDrive. Весьма неутешителен тот факт, что нема-ло онлайн-сервисов, протестированных нами, на практике оказались несовместимыми с Linux из-за использования проприетарных Windows-клиентов. Однако в будущем следу-ет присмотреться к сервису Mozy (www.mozy. com), чьи создатели обещают родной Linux-клиент уже в этом году. LXF FilesAnywhere хорошо выполняет операции с различными типами файлов, создавая миниатюры для рисунков. Таблица характеристик24 Linux Format Июль 2007 Помните ли вы, как устанавливали Linux в первый раз? Вы вставля-ли дискету и перезагружались, затем вводили таинственные команды для разбиения диска на разделы, установки ядра и приложений и настройки загруз-чика. После этого часами настраивали Х Window, модем, звуковую карту, прин-тер... Если вам везло и ваши устройства были дружелюбны к Linux, то, потратив все выходные, вы получали пригодную к использованию систему. К 2007 г. многое изменилось. Ведь каждый дистрибутив Linux теперь предла-гает простой установщик в стиле «щелкай и выбирай», с практически идеальным определением устройств и рабочим сто-лом с тысячами приложений. Обретенное удобство привлекло много новых пользо-вателей, ранее сторонившихся не в меру технической системы. Что же дальше? Успех небольшого чис-ла малых дистрибутивов (вроде Linux Mint, Sabayon Linux и PCLinuxOS) говорит о том, что новичкам нужны три вещи: преднастро-енные современные видеокарты и драйве-ра беспроводных сетей, модули браузеров, позволяющие без проблем воспроизво-дить популярные сетевые медиа-форматы, и поддержка несвободных аудио-и видео-форматов, вроде MP3. Держимся за принцип? Из основных дистрибутивов Linux, только Ubuntu и Mandriva расценивают это как важные вещи. Остальные продолжают (в той или иной мере) придерживаться «пра-вильного» подхода, не поступаясь принци-пами свободного ПО. Хотя это и заслужи-вает уважения, но в битве за рынок – по крайней мере для домашнего пользовате-ля – эти дистрибутивы теряют шансы пере-манить в Linux побольше людей. ladislav.bodnar@futurenet.co.uk Когда Red Hat прекратила выпуск сво-бодно доступного Red Hat Linux, раз-ветвив его на Fedora Core и Red Hat Enterprise Linux, многие были разгневаны. «Нам не нужна поддержка!» – восклицали одни, обсуждая дороговизну корпоративного решения. «Fedora недостаточна хороша!» – жаловались другие на новый непротестиро-ванный дистрибутив с малым временем жиз-ни. В 2003 г., когда Red Hat была самым попу-лярным Linux-дистрибутивом в мире, многие были не готовы к такому шагу компании из Северной Каролины. К счастью, причиной недовольства была ОС с открытым кодом, а не лицензируе-мый, патентованный проприетарный про-дукт. Первым, кто извлек из этого выгоду, был Джон Моррис [John Morris], систем-ный администратор публичной библиотеки в Дериддере, США. Библиотека не могла запла-тить за лицензию за корпоративное решение Red Hat с поддержкой для каждого рабочего места, поэтому Моррис пересобрал исходные тексты, свободно доступ-ные на сервере Red Hat, и выпустил свой продукт под именем White Box Enterprise Linux. За ним последовали схожие проекты. Работа была не очень сложной; она включала удаление всех упоми-наний о товарных знаках Red Hat, компиляцию исход-ного кода в двоичные пакеты и размещение результа-тов на загрузочном носителе для простой установки. Приобретая известность, эти клоны RHEL различались по уровню коммерциализации и изменениям, но имели одну общую черту: они предлагали минимум пять лет обновлений безопасности и исправлений, как и «насто-ящий» Red Hat Enterprise Linux. Сглаживание углов Эти проекты были спорными. Хотя перекомпиляция исходного кода Red Hat не была противозаконной, некоторым было трудно принять факт, что любой вла-делец компилятора мог легко создать ОС, в разработку которой были вложены тысячи человеко-часов Red Hat. Проекты-клоны отвечали, что они просто предоставля-ют сервис для малого бизнеса, которому не по карману Red Hat Enterprise Linux. Сама Red Hat не жаловалась, утверждая, что ее настоящая ценность – техническая поддержка, а не сам продукт, но юристы компании заставили часть этих проектов удалить любые ссылки на Red Hat с официальных web-сайтов. С годами некоторые из родившихся проектов вос-пользовались доступностью исходного кода для про-дажи своих клонов Red Hat с недорогой поддержкой. Позднее, Oracle, гигант баз данных, сделала большую заявку на этом рынке, объявив о доступности «улучшен-ного» клона RHEL с программой поддержки под назва-нием Oracle Unbreakable Linux. Однако наиболее популярным среди клонов RHEL остается проект CentOS. Это полностью свободный дис-трибутив сообщества с довольно быстрыми обновле-ниями безопасности для все трех его поддерживаемых версий. В настоящее время CentOS также предлагается некоторыми лидерами web-хостинга как альтернатива продуктам Red Hat уровня предприятия, и он также был одним из первых проектов, успешно пересобравших последний релиз RHEL 5 в CentOS 5.0. Не будучи прием-лемым для компаний с сотнями сложных компьютерных систем, CentOS и подобные клоны могут помочь малому бизнесу, нуждающемуся в стабильной ОС с долгосроч-ными обновлениями безопасности. www.centos.org Как и его знаменитый предок, CentOS предоставляет несколько собственных инструментов администрирования сервера. Ежемесячная сводка новостей дистрибутивов Linux Distrowatch CentOS 5.0 Лидер среди ОС, перекомпилированных из переком-пиляций Red Hat Enterprise Linux. Топ-клон ЛАДИСЛАВ БОДНАР основатель, начальник, редактор и сотрудник DistroWatch.com. Дружелюбие LinuxИюль 2007 Linux Format 25 Distrowatch К ло ны RHEL Освежающе классный Linux Mint – один из сюрпри-зов 2007 года. Проект затевался просто как web-сайт для нович-ков Linux, но его основатель, Клеман Лефевр [Clement Lefebvre], скоро определил общую жалобу тех, кто пер-вый раз попробовал Linux: отсутствие поддержки популярных медиаформа-тов в большинстве дистрибутивов. В результате он задался целью перера-ботки Ubuntu в дистрибутив, который включал бы все стандартные медиа-кодеки. Позднее он добавил дополни-тельный глянец, типа собственных тем, поддержки стандартных беспроводных сетевых карт и полезных модулей рас-ширения для браузеров. Linux Mint моментально стал хитом. Последняя версия, ‘Bianca’, осно-вана на Ubuntu 6.10. Подобно Ubuntu, она поставляется в виде LiveCD с воз-можностью установки на жесткий диск и предпочитает Gnome, но на этом сходство заканчивается. Собственный набор приложений содержит несколько занятных элементов, вроде медиа-про-игрывателя Amarok (KDE-приложение), тогда как другие приложения, типа OpenOffice.org, представлены более свежими, чем в Ubuntu, версиями. Но более всего притягивает новых пользователей в Linux Mint поддержка MP3-музыки, зашифрованных DVD и Fedora без Core Fedora 7 В этом тяжеловесном дистрибутиве больше приложений и LiveCD с возможностью установки. В соответствии со старой систе-мой нумерации версий Red Hat, эта версия ее свободного дис-трибутива должна была быть версией «точка-ноль». В отличие от своего пред-шественника, стабилизационного рели-за, предполагавшего формирование прочной основы для Red Hat Enterprise Linux 5, Fedora 7 неприкрыто экспери-ментальна. Просматривая информацию о выпуске, более чем ясно видишь, что как только RHEL 5 вышел в свет, команда разработчиков Fedora получи-ла больше свободы для воплощения эксцентричных идей и эксперименталь-ных функций в новом продукте. Даже беглый взгляд на сервер загрузок Fedora говорит о масштабе изменений, представленных в Fedora 7. Старые каталоги ‘core’ и ‘extras’ сли-ты в огромный репозиторий из более чем 7000 программных пакетов. Он содержит последнее ядро 2.6.20, пос-ледний релиз X.org 7.2, три современ-ных графических окружения (Gnome 2.18, KDE 3.5.6 и Xfce 4.4), стреми-тельно набирающие популярность тех-нологии трехмерного рабочего стола Beryl и Compiz, последний OpenOffice. org 2.2, виртуализацию Xen и стан-дартный набор настольных, сервер-ных, мультимедийных приложений и средств разработки. Другая важная функция – офици-альный LiveCD, способный также слу-жить и установочным диском. LiveCD поставляется в Gnome-и KDE-вариан-тах, и содержит установщик Anaconda. Пользователям со скоростным интер-нет-соединением несомненно понра-вится эта опция; вместо загрузки боль-ших образов DVD, они могут просто вставить LiveCD и установить дополни-тельные пакеты из сети. Fedora 7 содержит несколько более тонких улучшений, вроде ускорен-ных загрузки и установки пакетов, но больше всего, несомненно, запомнят-ся великое объединение программных пакетов и удаление из имени пристав-ки «Core». www.fedoraproject.org другого популярного медиа-контента «из коробки». Браузер Firefox также содержит длинный список дополне-ний, таких как Flash, Java, QuickTime, RealPlayer и Windows Media Player. Утилита под названием MintConfig поможет с установкой драйверов бес-проводной сети, монтированием раз-делов или настройкой управления питанием. MintDesktop проведет миг-рантов с Windows через другие голо-воломные задачи. Linux Mint [mint – «мята», англ. ] – освежающее явление на сцене дистри-бутивов. Если вы новичок в Linux или у вас есть друзья или родственники, которые не очень-то ладят с компью-терами, то Linux Mint может быть пре-красной OC для старта. www.linuxmint.com У Linux Mint милый рабочий стол, с улучшенным меню «Старт». Впечатляющий дизайн предназначен для привлечения большего числа настольных пользователей. Хит-парад дистрибутивов Кроме CentOS, варианты Red Hat Enterprise Linux предлагают несколько других проектов. Большинство из этих дистрибутивов доступны для свободной загрузки, хотя некоторые из начи-нающих, ради выгодного бизнеса, предлагают установочные диски и обновления безопасности за небольшую ежемесячную плату. Ниже в таб-лице приведен полный список дистрибутивов, специализирующихся в пересборке RHEL. На момент написания, только CentOS и StartCom выпустили версии, основанные на RHEL 5, но остальные, похоже, уже готовы к этому. 1 Ubuntu 2,912 2 SUSE 2,065 3 PCLinuxOS 1,522 4 Fedora 1,497 5 SimplyMepis 1,232 6 Debian GNU/Linux 1,107 7 Mandriva 995 8 Sabayon Linux 906 9 Damn Small Linux 801 10 Mint 752 DistroWatch.com определяет популярность дистрибутивов, основываясь на числе визитов на страницу каждого дистрибутива. Хотя это не дает представление о действительном числе установок, но показывает, какие дистрибутивы более востребованы за данный промежуток времени. 10 самых посещаемых страниц на DistroWatch.com с 4 апреля по 3 мая 2007 г. (среднее число визитов в день) Дистрибутив Linux Mint 2.2 Кодовое имя Bianca, мультимедиа-вари-ант Ubuntu, который «просто работает». Число визитов CentOS Чистая пересборка RHEL без значительных улучшений; проект свободного сообщества. StartCom Enterprise Linux Предоставляет чистую пересборку и мультимедийное издание; бесплатен. Scientific Linux Пересборка RHEL, дополненная научными и другими приложениями. Lineox Полукоммерческий проект, основанный в Финляндии (www.lineox.net); чистая пересборка; очень быстрые обновления. Pie Box Enterprise Linux Коммерческий проект, базирующийся в Великобритании (www.piebox.org); предлагает медиа и обновления за небольшую месячную плату. Oracle Enterprise Linux Пересборка CentOS с различными улучшениями; предлагает дешевую поддержку (www.oracle.com/technologies/linux). Fermi Linux Пересобранный Scientific Linux, усиленный дополнительными функциями безопасности; бесплатный. White Box Enterprise Linux Чистая пересборка RHEL; первый созданный клон RHEL; бесплатный. X/OS Linux Голландский проект; чистая пересборка RHEL; бесплатный. Black Orion Enterprise Linux Коммерческий проект Linux (www.blackorion.com); чистая пересборка RHEL. Дистрибутив Описание26 Linux Format Июль 2007 Интервью Андреас Типальдос Photography: Jena Cumbo «Где-то будет лучше сервер Novell, где-то – Red Hat, а где-то – Windows. Каждый потребитель выбирает то, что подходит его бизнесу.» О СМЕШАННЫХ СЕТЯХИюль 2007 Linux Format 27 Андреас Типальдос Интервью Нечистые мысли Вы, вероятно, знаете Xandros как фирму, которая в 2001 г. купила Corel Linux, основанный на Debian. Фактически, ее инженеры по-прежнему создают настольный дистрибутив, собирающий немало похвал за свое исключительное друже-любие. Сама же Xandros критикуется за невнимание к сооб-ществу и закрытость кода некоторых программ. Но недавно глава компании Xandros, Андреас Типальдос, привел ее в корпоративные воды, начав производство серверных и бизнес-дистрибутивов, а так-же инструментов для администраторов, работавших Windows. Типальдос, ветеран технологии и инвестор, основавший Ximian и CodeWeavers, не оправдывается за то, что ориентируется на пользователя и концентрирует внимание на интуитивном гра-фическом интерфейсе, «к великому огорчению аcов командной строки», как говорит он. Возможно, это не соответствует вашему представлению о чистоте свободного ПО, но Типальдос отстаивает ту точку зрения, что подобный прагматичный подход – луч-ший способ перехода на Linux. Ник Вейч встретился с ним, чтобы узнать больше. Linux Format: У вас есть какие-либо выводы по поводу сделки между Novell и Microsoft? Андреас Типальдос: Я думаю, частично они заключаются в том, что Microsoft не в восторге от Linux, это очевидно. С другой стороны, они касаются минимизации урона. Если вы – пользователь… LXF: Полагаю, им известно, что практически все их клиенты на рынке серверов пользуются тем или иным Linux. AT: Видите ли, я прошел весь путь проприетарных платформ, когда были Wang, DEC, Data General, IBM Series 1, а затем мы перешли на открытые системы – Unix и Linux – и даже на другие платформы в прочих областях, например, в базах дан-ных. И я считаю, что реальность такова: никто не сумеет заставить пользователя принять стандарт. У Goldman Sachs и других моих клиентов, в центрах обработки данных используется Red Hat, а для идентификации – Active Directory, и это факт. Мне говорят: «Знаете, они должны работать вместе: вам не удастся заставить нас ограничиться чем-то одним». Так что я думаю, частью [этого союза] является то, что Microsoft осознает или принимает тот факт, что Linux никуда не денется. LXF: Вот интересно: вопрос интеллектуальной собственности (ИС) висит над Linux. Наступит ли день, когда он исчезнет? AT: Я мыслю реалистично: по мере того, как время идет, и Linux понемногу превра-щается в стандарт, кто будет его отменять? То же случилось и с Windows: спустя Интервью Андреас Типальдос считает, что не все пред-приятия хотят или могут ограничиться чистым Linux. Если Linux – как и его фирма, Xandros – хочет преуспеть, сказал он Linux Format, при-дется признать, что наш мир – это мир сме-шанных платформ.28 Linux Format Июль 2007 Интервью Андреас Типальдос какое-то время она стала стандартом, несмотря на все эти проблемы с монополиз-мом и прочим. И никуда ее не деть, иначе рухнет мировая экономика. Чем дальше, тем более спорным становится этот вопрос. И есть еще один момент: предположим, что вы – Microsoft. Вы предъявите иск Goldman Sachs, чтобы они прекратили пользоваться Linux из-за проблемы с ИС? Вы бы выиграли битву, но проиграли войну. Я думаю, большая опасность исходит от SCO и иже с ними. LXF: Потому что им больше терять нечего? AT: Именно. Не представляю, чтобы Microsoft предъявила иск крупным клиентам, хотя они и пытаются выиграть PR-битву за ИС. Потому что, как вы сказали, им есть, что терять: в конце концов, потребитель обидится. Реальность такова, что это – гетерогенный мир, мир смешанных платформ, у потребителя свои заботы, и всякий, кто не принимает их в расчет, наносит вред самому себе. Война проприетарного и открытого, кото-рая длится уже тридцать-сорок лет, научила нас этому. Где сегодня DEC? Где сегодня Wang? Где Data General? Этого не произойдет. Где-то лучше использовать сервер Novell, где-то – сервер Red Hat, где-то, возможно, все еще подходит Sun, а где-то – Windows. Каждый потребитель выбирает то, что нужно его бизнесу. И вы не можете попро-сить их что-то порушить. LXF: По-вашему, Xandros отличается от Novell или Red Hat философией? AT: Я думаю, то ценное, что предлагаем мы, разработчики дистрибутивов, заключа-ется в нашем вкладе в сообщество – улучшении продукта, или участии в его разра-ботке – и в обеспечении добавленной стоимости [эх] поверх всех усилий сообще-ства, чтобы этот продукт, эта платформа быстро прижилась в реальном мире. Наша точка зрения заключается в признании двух простых истин: а) мир гете-рогенен, б) не стоит тратить время на то, чтобы соединять или интегрировать что-то – все должно быть в духе «Plug and Play». Вы не можете заявить: «Ну, ладно, берите Linux, но вам понадобятся пятеро инженеров, чтобы его установить, и еще трое, чтобы сообразить, что делать, если завтра система откажет». Если у вас есть администраторы, привыкшие к Windows, вам придется использовать их. Так что наша основная философия – это сосуществование, взаимодействие, интеграция и использование имеющихся умений и навыков. Возьмем рынок малого и среднего бизнеса (SMB). Это в первую очередь рынок Windows Server. Почему так? А потому, что большинство поставщиков решений имеет больший навык работы в Windows, чем в Linux. Они не могут позволить себе сертифицироваться у Red Hat или найти инженеров с сертификатом Red Hat, пре-жде чем продать сервер за $500. Они не могут прийти к своему клиенту и сказать: «Кстати, вам будет нужен навык работы в Linux или администраторы с опытом работы в Linux». Это сокращает долю Linux на данном рынке. Вы можете исполь-зовать Linux в центре обработки данных в Goldman Sachs или в Citigroup, или еще где-нибудь, но там зачастую он просто приходит на смену Unix – и поэтому уже есть необходимые навыки. На самом деле, если Xandros и нам подобные хотят способствовать развитию Linux, надо не просто улучшать открытый код, а в первую очередь – создать инстру-менты. Если у меня есть программисты, которые будут делать патчи к ядру, разве это более ценно, чем создание неких инструментов, [таких, чтобы] вдруг весь мир смог использовать Linux? LXF: Это зависит от того, что делают ваши патчи к ядру! AT: Я считаю, что мы должны заниматься и тем, и другим. Дело ведь не в том, что-бы просто брать открытый код, упаковывать и отдавать кому-то. LXF: Сколько у вас разработчиков? AT: По-моему, у нас почти 60 человек в США, несколько в Европе, и около 15 в Индии. LXF: И Xandros явно больше не является просто компанией по разработке настольных дистрибутивов? AT: Нет, нам удалось усовершенствовать то, чего мы добились в этой области и создать сервер-ный продукт для рынка SMB [Xandros Server], с которым может работать администратор Windows. Например, если у вас есть небольшая компания, и вам надо изменить один сервис на своем сервере – допус-тим, брандмауэр – вам (в отличие от инженера) незачем знать, что если вы внесе-те это изменение, то надо поправить что-то и в этом месте, и в том месте, и еще в десяти местах, чтобы все заработало. А если вы – инженер и сделали изменение в одном месте, вдруг вам звонит жена и говорит: «У нас ребенок заболел, приезжай домой»? Надо срочно встать и ехать, а пока вы вносили изменение здесь, все в целом вышло из строя. LXF: Вы считаете, что основной барьер, который мешает людям принять Linux – их страх, что у них нет нужных знаний и умений? AT: Конечно. Но я думаю, что для рабочих столов тот факт, что некоторые упро-щают использование своего продукта, делают его более «Plug and Play», означает, что пользователю не придется учиться чему-то новому – больше нет командной строки и т.п. Это также означает, что создатели приложений могут сказать: «Я могу выпустить свой продукт под Linux, потому что сейчас стали покупать больше машин с Linux», что само по себе в какой-то степени подталкивает производителей ПК к тому, чтобы поразмыслить над этим. Но на самом деле, это Уловка-22 [название романа Джозефа Хеллера, используемое для обозначения ситуации, не имеющей решения, – прим. пер.], проблема курицы и яйца. На предприятии, или в сфере SMB, я считаю, переходу будет способствовать создание инструментов, которые позволят снизить стоимость управления. Я не хочу запоминать пять вещей, без которых ничего не заработает. Нужно взять кусок там, кусок сям? Нет уж, упростите это для меня. Предоставьте мне это в интуитив-но понятном виде, простом и ориентированном на бизнес. Я не желаю знать, что там внутри. LXF: Вам просто нужна маленькая симпатичная панель управления, чтобы вы мог-ли видеть, например, Email – да, мне это нужно; Sharing – да, частично нам это пона-добится; и кнопку «Все Исправить», на случай неполадок. AT: Верно. Вы хотите сказать: «Запихайте все в черный ящик и позвольте мне заняться управлением в целом, невзирая на то, на каком сервере это находится». Это и есть реальный мир. Вот этого вы и хотите, будучи пользователем, в противо-положность мне, который говорит вам, что для управления разными серверами надо помнить об определенных инструментах. Вот в чем заключается наша идея: есть одна-единственная панелька. Этот «черный ящик» превращается в движок, и затем может работать на Novell, Windows, Linux или даже в браузере, и соединяться с вашими инструментами управления [Типальдос подразумевает Xandros BridgeWays, кросс-платформенный набор инструментов системного администратора]. LXF: Могу ли я задать вам один вопрос об этом? Что произойдет, если на ваш сервер Red Hat установить исправление безопасности, которое изменит работу BridgeWays? Как тогда оно будет работать? «Мы не можем пойти и заняться тем же, чем занимаются все подряд.» О СТРАТЕГИИ XANDROSИюль 2007 Linux Format 29 Андреас Типальдос Интервью AT: Ну, как бы вы поступили на данный момент? Вы бы отправились на сайт Red Hat Network, взяли оттуда заплатку и распространили ее. И вам бы следовало пом-нить, что в другом отделе у вас стоит Novell, а в третьем – Xandros, а еще некоторые работают в Windows. Почему бы не обладать одной консолью – вроде капитанского мостика – и говорить с него: «Отправляйтесь на Red Hat, возьмите патч и отправь-те его на серверы Red Hat; затем идите на Novell, получите патч и отправьте его на серверы Novell; и то же самое для Windows»? Иными словами – заставьте работать ПО, не занимайтесь этим вручную. LXF: Да, я понимаю. AT: Мы полагаем, что наш вклад в развитие Linux таков: люди хотят, чтобы мы облегчили их жизнь. Они хотят, чтобы у них был выбор, но только не ценой ослож-нений. Если им сказать: «Вот, у вас есть выбор, но теперь вам придется освоить еще одно руководство», они вам ответят: «Знаете что? Я лучше останусь при сво-ем. Лучше я обновлю мой Windows PC до Vista вместо того, чтобы учиться чему-то новому». LXF: По вашему мнению, в Linux на данный момент слишком большой выбор из-за большого количества дистрибутивов? Не стал бы мир проще, если бы имелись только SUSE, Red Hat... AT: Думаю, эволюция нас научила тому, что в некий момент происходит уничтоже-ние и консолидация. Сейчас IBM и HP и другие проталкивают исключительно Red Hat и Novell. Очень трудно становиться третьим выбором. LXF: Однако же HP сейчас поддерживает еще и Debian. AT: Правильно. Я думаю, что, если у вас на самом деле появится то, что я описал раньше [философия laissez-faire Типальдоса («пусть делают как знают»), – прим. пер.], вы сможете позволить себе такой выбор. Круг сужается потому, что никто не может позволить себе слишком широкий выбор. Сколько раз вы приходили в мага-зин и говорили: «Жаль, что у вас не 2 продукта, а 22? Надо узнавать обо всех фун-кциях и свойствах, сравнивать… просто скажите мне, что делать». Так что я думаю, выбор будет ограничен, если на самом деле ценой, которую вам придется заплатить за этот выбор, будет сложность. Наш подход, как мы полагаем, заключается в поддержке большего выбора. Но, в конце концов, для многих компаний станет трудно выжить, если они не смогут поддерживать солидных исследований и разработок. Я хочу сказать, что никто не сравнится своим богатством с Red Hat или Novell. У большинства дистрибутивов нет солидных ресурсов. В нашем случае, на исследования и разработку ушло $60 млн. Но многие ли могут себе позволить потратить 60 млн.? Чтобы и дальше наращи-вать свою ценность, требуется много денег, и вы не можете позволить себе быть, как все. Я думаю, это все приведет ко все большей консолидации и уменьшению выбора. По-моему, это также приведет ко все большей концентрации на повышении качества и дополнительных возможностях. LXF: Что вы думаете об Ubuntu сейчас, когда у них появилась LTS-версия с долго-срочной поддержкой, которая в большей степени ориентирована на рынок серве-ров, чем рабочих столов? AT: Ясно, что Ubuntu стал феноменом, и это хорошо для нашей индустрии. Но в конечном итоге все опять сводится к основному вопросу: если вы – глава отдела продаж в крупном инвестиционном банке в Лондоне или Нью-Йорке, станете ли вы рисковать своей работой, или своими клиентами, и строить бизнес только на Open Source потому, что вашим технарям больше нравится Ubuntu, чем OpenSUSE или Red Hat? Я думаю, что в конце концов все хотят стабильности, им нужна добавлен-ная ценность на OSS, поэтому... LXF: Однако же, в какой-то степени эта проблема изначально присутствовала и у SUSE и у Red Hat. Если бы вы работали в крупном банке, стали бы вы рисковать своей работой, выбирая какой-то там Linux со всякой ерундой, в то время, как все вокруг… AT: Тут есть разница. Red Hat были первыми на рынке, у них был миллиард долла-ров в банке, и они могли использовать эти свои ресурсы. За всем этим стояла фир-ма. Если вы возглавляли некую инфраструктуру в Deutsche Bank, вы могли позво-нить Мэтту Зулику [Matt Szulik, глава Red Hat], и если ему требовалось прислать вам целую армию инженеров, он их присылал. А теперь наоборот, представьте, что некто сообщает вам, что скачал OpenSUSE, Xandros или Ubuntu, и теперь вся ваша важнейшая система торговли теперь работает на нём. Вы говорите: «Минуточку, а если ты завтра уйдешь, что тогда будет? У меня останутся те, кто работает в Windows – к кому мне обращаться?» LXF: Ubuntu определенно много сделал для рабочих столов. AT: Конечно. Debian по-прежнему остается самой успешной платформой, и, воз-можно, Ubuntu подталкивает Debian к тому, чтобы заявить: «Ладно, пусть будут более регулярные обновления, и т.п.» Но для меня… Если я скажу вам «Cisco», что вы подумаете? Cisco – это фирма, которая была создана поверх открытой систе-мы – TCP/IP. Но вы думаете о дополнительных функциях и качестве. Или возьмите Oracle. Это фирма, созданная благодаря документу о реляционных базах данных, опубликованному IBM 30 лет назад. Но ценность Oracle не в том, сколько изменений они внесли в фундаментальную концепцию реляционных БД. Вот почему, в конеч-ном итоге, наш подход заключается в том, чтобы содействовать переходу на Linux посредством дополнительных возможностей и качества, которые упрощают внед-рение. Мы не можем пойти и заняться тем же, что делают все подряд. В Red Hat делали это, в Novell делали это, Ubuntu делает это сейчас – «Вот вам Open Source, и мы даем вам договор на поддержку». И у вас есть Oracle. LXF: Да, мне очень интересно, как сыграет Unbreakable Linux от Oracle. Скажите мне, как вы думаете, где будет Xandros в это же время в следующем году? AT: Мы надеемся увидеть плоды своих воззрений: увеличить долю Linux в SMB-сфере и затем – улучшить интероперабельность в корпоративной среде. На данный момент мы работаем в Европе, и мы расширяемся: мы уже работаем в Латинской Америке. Мы хотим, чтобы на нас смотрели не просто как на фирму, делающую настольные решения, но как на фирму, которая [распространяет] свои достижения на сервера, на уровень управления, на уровень приложений. Точно также Microsoft начинала с рабочих столов, а превратилась в компанию серверов и приложений. Я хочу, чтобы о нас думали так: «Red Hat, Novell… Xandros». Это основная проблема позиционирования, проблема имиджа, но во-вторых, мы хотим, чтобы люди смогли увидеть, как организации работают с нашими продуктами. И я верю, что если так и будет, мы внесем свою лепту, выравнивая поле рынка таким образом, чтобы люди не боялись, что у них появятся сложности, если они перейдут на Linux. Так что мы несем Linux туда, где его раньше не было. Это как Starship Enterprise… LXF30 Linux Format Июль 2007 Что за штука… E E 0.9.1b на DVD Значит, вы не шутили, говоря об этом в про-шлом номере? Ничуть. В LXF93 мы рассматривали D, созданный на замену C и C++. Теперь мы говорим о E. Язык на замену D? А я-то думал, что D – это новый язык! Вы правы, D и в самом деле новый язык – но E совсем не предназначен для его замены. D способен заменить C потому, что похож на него лингвистически и тоже компилируется в высокоэффективный машинный код. Язык E, напротив, интерпретируемый (во всяком слу-чае, пока), вдобавок он совершенно не похож на C по стилю программирования – фактически, это странная смесь Java и Python. Предупреждая ваши вопросы: нет, тот E, о котором мы с вами говорим, не имеет ничего общего с языком программирования E, некогда быв-шим основным на Amiga. На другой напрашивающий-ся вопрос: да, нам бы тоже хотелось, чтобы создатели языков программирования были чуть более изобрета-тельны в выборе названий! Хорошо, хорошо. Но чем же E отличается от остальных языков программирования? E предназначен для безопасного распределенного про-граммирования, и это его козырь: единственная про-грамма может работать на многих машинах. А разве этого не было раньше? Пока мы тут разговариваем, мой SETI@Home занят поиском внеземных цивилизаций… На языках Java и C++ распределенное программиро-вание реализовывалось индивидуально каждым про-граммистом. В E распределенное программирование – это стандарт, потому что объекты… Опять эти объекты! Объясните мне, наконец, почему все современные языки программиро-вания – объектно-ориентированные? Хорошо, давайте остановимся на этом. Да, E – объект-вы это делаете, я тут же отдаю вам LXF90, и все довольны. Теперь вооб-разите следующий код: someobject->doStuff(). В большинстве языков программирования (включая E) программа не будет продолжена до тех пор, пока someobject не выполнит свой метод doStuff(). В E это называется прямым вызовом функции. Но в E есть и другой способ, под названием «отложенный вызов», то есть вызов, не блокирующий работу программы. Ого, а это еще что? Давайте вернемся немного назад. Так вот, someobject->doStuff() исполняется немедлен-но, вынуждая остальную часть программы ждать. Отложенные вызовы, которые выглядят примерно так: someobject<-doStuff(), не требуют мгновенного исполнения. Фактически, вы говорите: «someobject, когда будет возможность, пожалуйста, выполните doStuff()». В результате программа, сделавшая этот вызов, беспрепятственно продолжает свою работу. Ага! Проблема налицо: что произойдет, когда doStuff() вернет нужное значение? Извиняюсь, создатели E тоже об этом подумали! Если вы попытаетесь воспользоваться результатом, воз-вращенным doStuff(), во время выполнения непря-мого запроса, то фактически получите обещание, что нужное значение будет (при необходимости) вычис-лено. Обещание не будет выполнено до тех пор, пока doStuff() не будет реально вызвана и не возвратит нуж-ное значение, а до тех пор у вас будет лишь его «заго-товка». Но зато обещание гарантирует, что вы получите нужное значение в будущем, а пока работа программы будет продолжена так, словно оно уже известно. Как-то в голове не укладывается. Бесспорно, уяснить это непросто. Вспомните пример с журналом – мы просим LXF91, но, посколь-ку некий человек не хочет отдавать его сразу, вместо журнала мы получаем обещание. Для нас оно в пер-спективе равносильно LXF91, и мы смело отдаем это-му человеку свой LXF90. Как только это произойдет, обещанное воплотится в реальный LXF91. Ладно, поверю вам на слово, что все это рабо-тает. Расскажите еще что-нибудь про E – только попроще, пожалуйста! но-ориентированный язык. Фактически, он более объ-ектно-ориентированный, чем другие языки програм-мирования, потому что все в E подчинено OOП. Сейчас завою… Да ладно, это я так, про себя. Итак, E предна-значен для OOП, и не напрасно: именно объекты при-дают ему вычислительную мощь. Например, объект 1 работает на компьютере 1, а объект 2 на компьютере 2. Если объект 1 вызывает метод объекта 2, то E автома-тически формирует запрос, отправляет сообщение по сети и возвращает результат обратно. E-программист даже не обязан знать, где находятся объекты – на его машине или на чужих: E берет все это на себя. [фырканье] Хм, еще того не легче: а как же безопасность? Создатели E позаботились об этом заранее – все сетевые сообщения шифруются и недоступны посторонним. Ладно, объекты, может, и не столь ужасны. Зато я уверен, что обмен сетевыми сообщениями абсолютно всегда приводит к взаимным блокировкам и зависанию. На самом деле это не так – у E нет таких проблем. Ой ли? А вы уверены, что мы говорим об одном и том же? Конечно, уверен: взаимная блокировка возникает, скажем, тогда, когда у меня есть LXF90, а мне нужен LXF91; у вас же, наоборот, есть LXF91, а вам нужен LXF90. Никто из нас не хочет отдавать свой номер, не получив чужого – вот вам и тупик. Ну что, на одном языке мы с вами говорим? Вроде да. И как E это удается? Магия! Точнее, колдовство под названием «обе-щания», позволяющее мне пообещать отдать вам свой LXF90, если вы отдадите мне LXF91. Как только Это действительно язык программирования нового образца, или просто продол-жение алфавитной линии C и D? Пол Хадсон все объяснит… Что за E? штука… «E имеет все средства управления, обычные для других языков, но некоторые операторы доработаны для удобства восприятия.»E Что за штука… Июль 2007 Linux Format 31 Обе версии свободны? Конечно – под Mozilla Public License. Круто. Пару слов напоследок? Если вы хотите узнать об этой теме подробнее, можете посетить такие сайты: www.erights.org – офи-циальная страница, www.skyhunter.com/marcs/ewalnut. html – бесплатный онлайн-учебник по E, и www.combex. com/tech/edesk.htm – домашняя страница CapDesk, рабочей среды, полностью написанной на E, чтобы доказать высокий уровень его безопасности. Спасибо. Итак, через месяц говорим об F? Поживем – увидим… LXF PHP. Например, если необходимо, чтобы функция обрабатывала только числа, можно указать это прямо: все входящие данные будут конвертироваться в этот формат. Если конверсия невыполнима, E выбрасывает исключение. Если кто-нибудь – только не я – захочет попро-бовать E, как это можно сделать? Лучшая версия E построена на основе Java, что имеет два основных достоинства. Во-первых, она может рабо-тать везде, где есть Java, то есть на Linux, Windows, OS X, мобильных телефонах – да где угодно. Во-вторых, вы получаете функциональность Java простым импор-том библиотек. Это означает, что в E можно пользо-ваться Swing, если захочется – до тех пор, пока вы не поймете, что используемые вами классы Java ничего не получают от распределенной мощи E. Но я ненавижу Java! Не беспокойтесь: вам и вашим друзьям – Java-ненавистникам будет приятно узнать, что существует версия E на Common Lisp, которая действует примерно так же – минус поддержка Java, конечно! Как вам вот это: в нем остались все средства управ-ления, к которым вы привыкли в других языках про-граммирования, например if, try, catch, finally, while и for. Но некоторые операторы для удобства восприятия несколько доработаны. Например, чтобы избежать путаницы между = и = =, E перенял подход Pascal и использует := для присваивания, а = = для сравне-ния (сам по себе знак = больше не применяется). E, в основном, обходится без переменных с типом (string, integer и т.п.), так как подразумевается автоматичес-кое преобразование типов. Например, если добавить к строке число, то E конвертирует число в отдельную строку, а затем объединит обе строки. А разве языки без типов не усложняют программирование? Это распространенная точка зрения, и, во избежание проблем, E снабжает программиста «предохраните-лями» типов, напоминающими признаки классов в 32 Linux Format Июль 2007 Супертест. Дистрибутивы FREE! FREE! Linux предлагает целый калашный ряд дистрибутивов, подхо-дящих к любому ПК – этот выбор есть часть прелести Open Source. Однако, при таком богатстве (по оценкам – не менее 400 видов) как избежать неправильного выбора? Фактически дистрибутивы Linux сильно отличаются своим подхо-дом к безопасности, размером, производительностью, совместимос-тью с аппаратным обеспечением и десятком других ключевых фак-торов, которые волнуют людей. Тем не менее люди часто выбирают дистрибутив из-за более яркой темы рабочего стола или из-за номера, большего на 0.1 – то есть по совершенно неуместной причи-не. Нет, мы, конечно, не хотим сказать, что уродливый рабочий стол лучше приятного, но что если у перво-го чаще выпускаются заплатки по безопасности, он вдвое быстрее загружается, правильно определяет ваше оборудование или имеет гораздо большее сооб-щество? Существует множество вещей, не учитываемых в номере версии, но они-то и определяют разницу между хорошим дистрибутивом и великолепным дистрибутивом. На следующих восьми страницах мы сравним восемь лучших дис-трибутивов и проверим, как они соотносятся по безопасности, про-изводительности, совместимости, доступности приложений и сооб-ществу, чтобы вы смогли найти идеальный дистрибутив для ваших целей. Конечно, у каждого свои представления о «лучшем дистрибу-тиве», так что мы выбрали восемь дистрибутивов, самых популярных на момент написания статьи: Debian, Fedora, Mandriva, PCLinuxOS, Sabayon, Slackware, OpenSUSE и Ubuntu. Некоторые остались за бор-том: SimplyMepis и Linspire были отброшены из-за близости с Ubuntu; Gentoo – из-за того, что его ответвление, Sabayon, похоже, превзошел его в популярности; а дистрибутивы для предприятий отсеяны, потому что это все-таки иная категория. Чтобы помочь усмотреть различия между дистрибутивами, мы собрали 16 тестов, охватывающих широкий предметный диапазон. Например, сколько портов открыто по умолчанию? Как быстро запус-кается OpenOffice.org? Велико ли сообщество у дистрибутива? Все это размещено под следующими заголовками: безопасность, совмес-тимость с оборудованием, производительность, сообщество и выбор пакетов, и вы сможете увидеть, как каждый дистрибутив соотносится с остальными и, надеемся, найти то, что вам нужно. Заметим: при любом сравнении дистрибутивов, какому-то придется быть последним. Если таковым оказался ваш любимый дистрибутив (мы не будем делать поб-лажек), утешьтесь тем, что даже последний из восьми все-таки попал в лучшие 2% дистрибутивов Linux! Если заглянуть за номера версий, то каковы реальные различия между лучшими на сегодняшний день дистрибутивами? Пол Хадсон, Грэм Моррисон и Ник Вейч найдут для вас идеальный Linux... КОНКУРС дистрибутивов При любом анализе дистрибутива следует обозначить, что именно исследовалось. Мы тестировали: Debian 4.0, Fedora Core 6, Mandriva 2007, PCLinuxOS 2007 TR4, Sabayon 3.3, Slackware 11, SUSE 10.2 и Ubuntu 7.04. Все они устанавливались на одно и то же оборудование, с использованием опций по умолчанию. Контроль версийИюль 2007 Linux Format 33 Дистрибутивы. Супертест «Команда Fedora распознала проблему, упущенную всеми остальными.» Безопасность Правда ли, что Linux неуязвим? Неправда. Некоторые дистрибутивы даже не имеют брандмауэра... Прошли те времена, когда Linux был операционной системой типа «поставил-и-забыл», которая – если вы следили за обновлениями – была в основном защищена от негодяев. Вероятно, ключ к защищен-ности Linux в том, что его традиционно устанавливали пользователи более высокого полета. Менее опытных пользователей отпугивали странные установщики, ад RPM, несовместимость с Windows и нехват-ка простых в использовании утилит настройки. То есть под Linux в большинстве своем работали люди с техническим опытом, а не те, кто дважды щелкает по файлу ILOVEYOU.vbs. Но ситуация меняется: хотя мы и не собираемся повторять заез-женную фразу «этот год будет годом Linux для настольных систем!», несомненно, сейчас пользователи настольных компьютеров переходят на Linux чаще, чем когда-либо. В результате системы безопасности Linux проверяются по полной программе. Хорошо ли защищен Вася Новичков от опасностей со стороны Интернета? Чтобы определить это, мы учли следующее: Как быстро выходят заплатки по безопасности для данного дистрибутива? Сколько интернет-портов открыто в стандартной конфигурации? Позволяет ли дистрибутив легко настроить брандмауэр, если тако-вой имеется? Какое дополнительное ПО по безопасности входит в дистрибутив? Можно подумать, что результаты будут близки друг к другу, пос-кольку все дистрибутивы основаны на одних и тех же базовых при-ложениях. Но это не так: мы проверили одну конкретную уязвимость (CVE-2006-1861) и обнаружили, что разница в выходе заплаток соста-вила шокирующие 55 дней. Самый быстрый, Ubuntu, имел доступную заплатку через 13 дней, а самому медленному, Slackware, потребова-лось 68. Хуже того, похоже, что PCLinuxOS даже не выпускает бюл-летени по безопасности, то есть вы никогда не узнаете, где слабые места вашей системы. Fedora – единственный поставщик, у которого есть оправдание медленной реакции, поскольку при исправлении этой проблемы команда распознала другую, которую упустили все осталь-ные, и другим поставщикам позже пришлось выпускать заплатку для CVE-2006-3467. Что касается брандмауэров, мы считаем недопустимым, что мно-гие дистрибутивы поставляются без активизированного брандмауэра. Slackware – наихуд-ший из них, так как прославился не только отсутствием брандмау-эра, но и тем, что име-ет целых пять портов, открытых всему миру. Ubuntu также страдает отсутствием брандмауэра, но у него хотя бы нет открытых портов, то есть риск атаки минимизирован. На другом краю шкалы расположились Fedora, SUSE и Mandriva, при этом дистрибути-вы заперты так крепко, что машина при сканировании кажется завис-шей. Fedora возглавляет список, поскольку при выключении брандмау-эра сервисов остается всего ничего, тогда как SUSE и Mandriva оставля-ют X11 открытым. Заметим: мы не рекомендуем отключать брандмауэр для ваших личных целей! Безопасность: итоги 1 SUSE 2 Mandriva 3 Fedora 4 Ubuntu 5 Debian 6 PCLinuxOS 7 Sabayon 8 Slackware Число дней между сообщением об ошибке (19 мая 2006 г.) и выпуском заплатки поставщиком. Скорость исправления ошибок UbuntuDebian MandrivaSUSE SabayonFedora SlackwarePCLinuxOS Число портов, открытых в стандартной установке дистрибутива. Результат сканирования портов FedoraSUSE MandrivaUbuntuDebian PCLinuxOSSabayon Slackware Простота настройки 1 SUSE 2 Fedora 3 Mandriva 4 PCLinuxOS 5 Ubuntu 6 Debian 7 Sabayon 8 Slackware Дней Открытых портов 8 июня 10 июня 12 июня 27 июня 9 июля 18 июля 26 июля (данных нет) Показывает, легко ли настроить брандмауэр через графическое приложение.Mandriva, как всегда, щеголяет классными утилитами настройки оборудования. 34 Linux Format Июль 2007 Супертест. Дистрибутивы об к яет тр оборудования. т ро оборудования Mandriva, как всегда, щеголя классными утилитами наст б кят оборудования ndriva, егда ndriva, егда щ литами , щ ассными литами ссными ndr FREE! FREE! Совместимость с оборудованием Вопрос на миллион. Какой дистрибутив cработается с вашим оборудованием? Большинство дистрибутивов Linux лезут из кожи вон, чтобы поддержи-вать как можно больше устройств, и ситуация сейчас намного лучше, чем раньше. Но, к сожалению, все еще бывает и так, что единственный способ проверить работоспособность чего-нибудь – это его попробо-вать. И даже если вам удалось заставить ваше устройство работать в вашей системе, нет гарантии, что оно заработает у другого. Природа Linux такова, что все можно заставить работать почти на всем, а число возможных сочетаний оборудования практически бесконечно. По этой причине мы не могли взять и протестировать каждую мыс-лимую аппаратную комбинацию. Результаты были бы интересными, но они не сказали бы вам, заработает ли ваш новый USB-что-то-там на самом свежем дистрибутиве. Вместо этого мы сосредоточились на ядре Linux как на сердце каждой системы. Именно в ядре содержит-ся большая часть драйверов, требу-ющихся для работы оборудования. Подавляющая часть драйверов реа-лизуется как модули ядра, при этом каждый модуль обслуживает одно устройство. Подсчет числа модулей, входящих в дистрибутив – хороший способ оценить спектр поддержи-ваемого оборудования. Аналогично, глубина может оцениваться по вер-сии ядра. Чем новее ядро, тем более вероятно, что оно содержит обнов-ленные драйверы, исправленный код и улучшенную поддержку новых устройств. У каждого дистрибутива свой подход к включению драйверов. Например, Fedora всегда была осторожна в этом вопросе, ибо драй-веры способны нарушить стабильность. Если устройство работает под этим дистрибутивом, у вас будет меньше проблем, чем в Ubuntu, который шлет все предосторожности лесом и включает поддержку на 50% больше устройств (если сравнивать последние версии). Подход Ubuntu хорош для любителей новизны, но он утрачивает прелесть, если вам требуется, чтобы машина работала 12 месяцев подряд без перезагрузки. Однако модули ядра – еще не вся сказка. Многие дистрибутивы для предприятий имеют свою собственную базу данных по совмести-мости, чтобы помочь бизнесу принять обоснованные решения насчет оборудования, перед тем как вставлять установочные диски. Fedora, SUSE и Mandriva публикуют списки официально поддерживаемого оборудования, обязанного работать с данным дистрибутивом. Жаль, что Linux-сертификация оборудования не стала стандартом. Но теперь, когда можно купить компьютеры Dell с предустановленным Ubuntu, существует стандартная аппаратная платформа, на которую можно опереться, и совместимость все время растет. Что нам действительно нужно от производителей оборудования, так это чтобы они обратили внимание на Linux и открыли свою интеллектуальную собственность и аппаратные спецификации для разработчиков, которые желают писать драйверы. Это ведь не только поможет повысить продажи, но и значи-тельно упростит нам жизнь. Количество модулей ядра для устройств в стандартной поставке. Драйверы-модули Ubuntu PCLinuxOSSUSEDebian MandrivaSabayonFedora Slackware Количество официально поддерживаемых архитектур CPU (x86, Itanium и пр.) Поддержка платформ Ubuntu PCLinuxOSSUSEDebian MandrivaSabayonFedora Slackware Версия ядра 1 Ubuntu ...........................2.6.20.15 2 Sabayon........................2.6.20.3 3 Debian ...........................2.6.18.4 4 PCLinuxOS ...................2.6.18.4 5 SUSE ..............................2.6.18.2 6 Fedora ...........................2.6.18.1 7 Mandriva ......................2.6.17.13 8 Slackware ....................2.4.33.3 Оборудование: итоги 1 Ubuntu 2 Debian 3 SUSE 4 PCLinuxOS 5 Sabayon 6 Fedora 7 Mandriva 8 Slackware Текущий итог 1 SUSE ________ 2 Ubuntu ________ 2 3 Debian ________ 2 4 Mandriva ______ 2 5 Fedora ________ 2 6 PCLinuxOS ____ 7 Sabayon ______ 8 Slackware _____ Версия ядра Linux, включенного как стандартное. Число платформ Тысяч модулейИюль 2007 Linux Format 35 Дистрибутивы. Супертест Почему Red Hat 7.2 спокойно работала при 64 MБ памяти на Pentium первого поколения, а Fedora Core 6 еле ползет на всем, что хуже, чем 1.8-ГГц Pentium 4 с 256 MБ оперативки? Сравнение, правда, не совсем справедливое: хотя они запускают одни и те же основные програм-мы и одинаково хороши для тех же задач, FC6 и другие современ-ные дистрибутивы делают сильный упор на хороший внешний вид и применение последних технологий, экономящих время. Beagle – хоть и полезен – означает загрузку Mono для работы с .NET; GTK 2 – хоть и красив – подразумевает отображение виджетов с использованием Cairo для красивых сглаженных линий. Потом, конечно, есть еще и Compiz... Но каждый дистрибутив работает с этими компонентами по-своему. Некоторые, например, Fedora и SUSE, похоже, включают их все, а затем бросают все силы на борьбу с перерасходом ресурсов. Другие, такие как PCLinuxOS и Slackware, приняли более зкономный подход: началь-ная конфигурация делается легковесной, но позволяет вам добавлять другие функции самостоятельно. Для проверки производительности мы учли 4 фактора: как долго устанавливается каждый дистрибутив (вплоть до первого приглаше-ния входа в систему), сколько времени занимает загрузка (опять-таки, до появления экрана входа), насколько быстро выполняется холодная загрузка OpenOffice.org (то есть непосредственно после перезагрузки), и сколько свободной оперативной памяти имеется в системе сразу пос-ле перезагрузки (измерялось с помощью free -m). Мы обнаружили заметные различия в производительности. Три теста на скорость показали, что самые быстрые дистрибутивы работают почти в 2 раза быстрее, чем самые медленные, а самый жадный до памяти дис-трибутив съедает ее на 120 МБ больше, чем самый неприхотливый, даже при отсутствии запущенных пользовательских приложений. Все это показывает, что правильным выбором дистрибутива мож-но добиться многого, независимо от имеющегося оборудования. Наши тесты проводились на двухядерном Intel Core 2 Duo с тактовой частотой 2 ГГц и 1024 MБ ОЗУ, со свежими версиями каждого дистрибутива. В итоге обнаружено, что PCLinuxOS 2007 лидирует по общей произво-дительности: время установки менее семи минут весьма эффектно, особенно если учесть, что стандартные программы типа OOo включены в поставку. PCLinuxOS занял первое место и по количеству свободной оперативной памяти: ему удалось переплюнуть даже супер-умеренный Slackware, что было для нас большим сюрпризом. Будучи ближай-шей родней PCLinuxOS, Mandriva также хорошо показала себя, имея наименьшее время загрузки. На другом конце шкалы расположились Sabayon и Fedora, с одинако-во плохими результатами всех наших тестов. SUSE – почти на дне табли-цы – хотя бы быстрее загружает раз запущенные приложения, что изви-няет его за тягучую установку и полусонную загрузку. А вот по части пот-ребления оперативной памяти Fedora просто распоясалась: чтобы просто добраться до рабочего стола Gnome, потребовалось 202 MБ из 1 ГБ ОЗУ, и это объясняет, почему 512 MБ – трезвая рекомендация для Core 6. Время установки PCLinuxOSUbuntuDebian MandrivaSlackwareFedoraSUSE Sabayon Время загрузки MandrivaDebian PCLinuxOSSlackwareUbuntuFedoraSUSE Sabayon Производительность: итоги Текущий итог 1 Ubuntu _______ 1 2 SUSE ________ 1 3 Mandriva _____ 1 4 PCLinuxOS ____ 2 5 Debian _______ 2 6 Fedora _______ 1 7 Sabayon ______ 8 Slackware _____ Производительность Параметры компиляции, версии ядра, конфигурация жесткого диска и прочее – все это влияет на работу дистрибутива. 1 PCLinuxOS 2 Mandriva 3 Ubuntu 4 Slackware 5 Debian 6 SUSE 7 Fedora 8 Sabayon Минуты Секунды Запуск OOo SUSE MandrivaPCLinuxOSUbuntu SlackwareSabayonFedoraDebian Время, требуемое для уста-новки по умолчанию с исполь-зованием рекомен-дуемых опций. Время, про-ходящее от приглаше-ния Grub до графичес-кого экрана входа в систему. Время первого запуска OpenOffice. org («холодный старт»). Секунды Свободная память PCLinuxOSSlackwareUbuntu MandrivaDebianSUSE SabayonFedora МБ Сколько памяти, в МБ, остается свободной после запуска.36 Linux Format Июль 2007 Супертест. Дистрибутивы FREE! FREE! «Это не строгая наука, но она близка к правде.» Сообщество Одному всего не сделать – лучшие дистрибутивы имеют больше пользователей, больше поддержки и всякого такого. Большое значение в Linux придается понятию сообщества: коопера-ция и прочие прелести. Но в нашем тесте мы все это проигнориру-ем. Мы просто хотим узнать, что сообщество может сделать для вас. Процветание сообщества означает, что вашей ОС уделяется много вни-мания со стороны поставщиков и web-провайдеров; сообщество может служить источником советов и подмоги в беде и снабжать вас свежими интересностями из мира Open Source. Расчет силы сообщества, с любой степенью точности, – слож-ная задача, поскольку способ измерения отсутствует. Для наших целей мы рискнули выдумывать формулу, способную дать ответ: Сообщественность = Популярность * Поддержка * Активность. Примерно так. Теперь, зная формулу, остается лишь определить значения соответствующих величин. Чуете, в чем проблема? Но кое-что померить можно. Допустим, популярность: Distrowatch.com на своем сайте подсчитывает количество посещений домашних страниц про-ектов. Есть также статистика на сайте www.linuxformat.co.uk и данные от проекта LinuxCounter. Годится не вся статистика: например, Linux Counter (http://i18n.counter.li.org) не имеет данных о двух членах нашего списка. Так что мы привели все значения к диапазону от 0 до 100 и усреднили по чис-лу источников данных для тех дистрибу-тивов, у которых более одного источника. Фактически это означает, что часть чисел «надежнее» других, но также и то, что для большинства проектов ни один источник данных не является слишком определяющим. Самый популярный дистрибутив определен; а как тогда изме-рить поддержку? Она имеет две формы: взаимопомощь, которую мы измерили по анализу трафика на разных форумах, и официальная поддержка – время, затраченное на выпуск обновлений и прочего. Наконец, мы учли возможность платной поддержки. Существуют кон-сультанты, предлагающие поддержку практически любой версии Linux, но мы должны отдать должное дистрибутивам, которые обеспечива-ют свою собственную платную службу поддержки. Неудивительно, что дистрибутивы с «большим именем» с корпоративной поддержкой хорошо котируются в этой категории. Например, Mandriva имеет очень хорошо развитое «клубное» сообщество (требующее, однако, подпис-ки); у Fedora есть обширная Вики. По части активности, мы измерили такие вещи, как объем сопро-вождаемых пакетов (то есть contrib’ов или RPM’ов от третьих лиц), доступность пакетов для ключевых приложений и прочее. Результаты довольно интересны по нескольким причинам. Наш способ подсчета очков не дает преимущества более новым дистрибу-тивам (таким, как Ubuntu и PCLinuxOS), которые имеют больше теку-щих откликов, но которым недостает предыстории таких старых проек-тов, как Slackware и Debian. В общем, в этой категории он не является строго научным, но, вероятно, настолько близок к нему, насколько возможно. Сообщество: итоги 1 Ubuntu 2 SUSE 3 Debian 4 Fedora 5 Mandriva 6 Slackware 7 PCLinuxOS 8 Sabayon Текущий итог 1 Ubuntu ________ 2 SUSE _________ 3 Debian ________ 2 4 Mandriva ______ 1 5 PCLinuxOS ____ 1 6 Fedora ________ 7 Slackware _____ 8 Sabayon ______ 1 Текущий итог UbuntuDebianSUSEFedora SlackwarePCLinuxOSMandrivaSabayon Поддержка SUSE SlackwareUbuntu MandrivaFedoraDebian PCLinuxOSSabayon Очков Очков Активность Debian MandrivaUbuntuFedoraSUSE PCLinuxOSSlackware Sabayon Нормирована на 100, усреднена по множеству источников. Очков Нормирована на 100, усреднена по множеству источников. Нормирована на 100, усреднена по множеству источников.Можете не любить Yast, но его утилита управления пакетами дает кучу информации по программам, доступным в SUSE. Июль 2007 Linux Format 37 Дистрибутивы. Супертест FREE! FREE! Эта категория довольно сложна для оценки, поскольку одни люди предпочитают «тощие-и-легкие» дистрибутивы, где можно устано-вить приложения по мере надобности, другим же нравятся системы, напичканные возможностями, чтобы менеджер пакетов и запускать не пришлось. Наш взгляд на это таков, что дисковое пространство сей-час фактически бесплатно – если у вас есть жесткий диск по крайней мере на 40 ГБ (это на данный момент доступно практически всем), вы сможете установить сколь душе угодно приложений, не задумываясь о расходе места, так что чем больше пакетов – тем лучше. Если же вы намерены использовать Linux на старой машине или хотите хранить множество больших файлов (видео, музыки или фото), тогда о диско-вом пространстве стоит побеспокоиться. Среди тестовых дистрибутивов при стандартной установке меньше всех места на диске занял PCLinuxOS, чей совокупный программный вес составляет чуть меньше 2 ГБ. На другом конце шкалы – Sabayon с почти 9 ГБ приложений, устанавливаемых по умолчанию (чем и объ-ясняется длительность инсталляции этого дистрибутива). Конечно, это стандартная установка, во время которой мы щелкали OK или Next, всякий раз соглашаясь на рекомендуемую опцию. Некоторым важен размер собственно установки, но для нас глав-ным было узнать, много ли приложений можно достать, пользуясь менеджером пакетов дистрибутива. И снова налицо широкий разброс: Slackware сполз на последнее место с жалкими 544 доступными паке-тами (это число можно повысить до 1 351, если включить неофици-альные пакеты с www.linuxpackages. net), а Debian научил всех жить, обес-печив по умолчанию 18 059 пакетов. Ubuntu имеет такой же охват, но офи-циально поддерживается только его треть. С точки зрения подбора паке-тов единственный сюрприз преподнес Slackware, использующий злополуч-ный пакет KOffice вместо OpenOffice. org – такой выбор только в нем и сделан. Наконец, многих интересует еще один фактор: как часто они смо-гут получать новые приложения; и для его оценки мы подсчитали чис-ло выпусков каждого дистрибутива (стабильных и не очень) с 1 января 2006 г. Debian ожидаемо оказался в конце этого списка, а победителем, к изумлению, стал SUSE – во многом благодаря его новой политике присвоения двузначных номеров релиз-кандидатам, не говоря уже об альфа-и бета-версиях. Если вы фанат инноваций, этот супербыстрый цикл обновлений идеально подойдет вам. Всем остальным он просто поможет убедиться, что перед финальной версией исправлено столько ошибок, сколько возможно. Размер установки по умолчанию PCLinuxOSDebianUbuntu MandrivaFedoraSUSE SlackwareSabayon Доступные пакеты DebianFedora PCLinuxOSUbuntu*SUSE MandrivaSabayon Slackware Приложения: итоги Текущий итог 1 Ubuntu ________ 2 SUSE _________ 3 Debian ________ 4 PCLinuxOS ____ 1 5 Mandriva ______ 1 6 Fedora ________ 7 Slackware _____ 8 Sabayon ______ Выбор приложений Компиляция собственного приложения – штука медленная и подверженная ошибкам, так что выбор дистрибутива, способного делать это за вас – важен... 1 Ubuntu 2 PCLinuxOS 2 Debian 4 Fedora 4 SUSE 6 Mandriva 7 Sabayon 8 Slackware Объем, ГБ Тысяч пакетов Частота обновлений SUSE UbuntuSabayonMandrivaFedora PCLinuxOSDebian Slackware Столько дискового пространс-тва (в ГБ) занимает стандартная установка. Столько пакетов программ доступно из коробки. Столько выпусков дистрибути-ва сделано с 1 января 2006. Количество релизов * Указаны только официально поддерживаемые. Дополнительные пакеты доступны в репозиториях Debian.38 Linux Format Июль 2007 Супертест. Дистрибутивы Сводная статистика Сильные и слабые стороны каждого дистрибутива и расширенная таблица характеристик, чтобы дать пищу вашему уму... Debian Fedora Mandriva PCLinuxOS Sabayon Slackware SUSE Ubuntu Б C По Вп Пр Безопасность )Б) Сообщество (С) Поддержка оборудования (По) Выбор приложений (Вп) Производительность (Пр) Б C По Вп Пр Б C По Вп Пр Se C По Вп Пр Б C По Вп Пр Б C По Вп Пр Б C По Вп Пр Se C По Вп Пр Легенда: *Указаны только официально поддерживаемые. Дополнительные пакеты доступны в репозиториях Debian.. Debian Fedora Mandriva PCLinuxOS Sabayon Slackware SUSE Ubuntu Версия 4 Core 6 2007 Spring 2007 TR4 3.3 11 10.2 7.04 Дата выхода 8/4/07 24/10/06 10/4/07 26/4/07 16/3/07 2/10/06 8/12/06 13/4/07 Сайт www.debian.org fedoraproject.org www.mandriva. com http://www. pclinuxos.com/www. sabayonlinux.org www.slackware. com www.novell.com/linux/www.ubuntu. com/Стандартный рабочий стол Gnome Gnome KDE KDE KDE KDE Gnome/KDE Gnome Производных 124 51 12 0 0 46 4 24 Архитектур 12 3 2 1 2 1 3 3 Управление пакетами apt Yum/RPM urpmi/RPM apt Portage Tarball Yast/RPM Synaptic/apt Размер (ГБ) 2.12 2.58 2.39 1.95 8.94 3.28 3.23 2.31 Пакетов (устанав-ливаемых) 18,059 6,427 4,392 6,237 1,908 544 5,108 5,132* Ядро 2.6.18.4 2.6.18.1 2.6.17.13 2.6.18.4 2.6.20.3 2.4.33.3 2.6.18.2 2.6.20.15 X.org 7.1 7.1 7.2 7.1 7.2 6.9.0 7.2 7.2 GTK 2.8.20 2.10.4 2.10.11 2.10.6 2.10.7 2.8.20 2.10.6 2.10.11 KDE 3.5.5 3.5.4 3.5.6 3.5.6 3.5.6 3.5.4 3.5.5 3.5.6 Важнейшая статистика для восьми тестированных дистрибутивовИюль 2007 Linux Format 39 Дистрибутивы. Супертест Запускайте ваш почтовый клиент и готовьте убийственные тирады: у нас есть победитель, и имя ему – Ubuntu. Но, надеемся, вы поняли смысл наших диаграмм и таблиц – и то, как мы пришли к этому заклю-чению: Ubuntu не только лидировал в трех тестах из пяти, но и попал в верхнюю часть двух оставшихся таблиц, что и гарантировало ему побе-ду. Бедняга Sabayon, с другой стороны, стал последним или почти пос-ледним в нескольких группах – это показывает, что следует приложить больше усилий, чтобы помочь ему догнать самые лучшие дистрибути-вы, представленные здесь. На диаграммах слева хорошо видно, что у каждого дистрибути-ва есть по крайней мере одна слабая сторона – даже Ubuntu уступил Fedora и SUSE в безопасности, и это позор, потому что пользователям Ubuntu, безусловно, нужен хороший брандмауэр. У SUSE главная про-блема – производительность: следует поработать, чтобы уменьшить потребление памяти. Если бы SUSE не ухитрялся выпускать два дист-рибутива каждые три месяца, он занял бы более низкое место в про-граммной категории и, несомненно, уступил бы в финальной таблице второе место Debian. Конечно, если кто-нибудь другой задался бы целью оценить эти дистрибутивы, он, наверное, выбрал бы иные тесты и пришел бы к немного другим итогам. Мы же представили здесь данные, которые могут помочь вам принять свое собственное решение. Надеемся, вы его уже сделали. Что вам нравится в вашем дистрибутиве больше всего? Не убедили ли мы вас подумать о замене? И что следовало бы учесть, а мы этого не сделали? Присоединяйтесь к нашей дискуссии на www.linuxformat.co.uk/distrochat и дайте нам знать! LXF Итоги Один дистрибутив явно правит, но кое-кто дышит ему в спину... Финальный итог 1 Ubuntu 2 SUSE 3 Debian 4 PCLinuxOS 5 Mandriva 6 Fedora 7 Slackware 8 Sabayon1 3 2 Лауреаты конкурса дистрибутивов40 Linux Format Июль 2007 Neil Bartlett При всех достоинствах Linux и всем многообразии созда-ваемых для него программ приходится признать, что для разработки ПО платформа Windows остается более предпочтительной. И хотя разработчики Open Source тру-дятся не покладая рук, чтобы предоставить нам свободную альтер-нативу популярным программам Windows (в виде Firefox, OpenOffice. org и Scribus), в некоторых случаях полноценного эквивалента просто нет. Linux-версий нет как для крупных программ (Photoshop и Microsoft Office), так и для тысяч мелких. Впрочем, выход есть. Это Wine. Сегодня речь пойдет не о напитках [Wine (англ.) – «вино», – прим. перев.], хотя после бутылки-другой, принятой за один вечер, тоже может показаться, что вы играете в Quake 8 на Atari ST [популярная в 1985–1990 годах модель настольного ком-пьютера с процессором Motorola, – прим. перев.] в своем домике на Венере. Мы поговорим об одной программе, с помощью которой дру-гие программы, написанные для Windows, можно запускать в Linux. В традиционном для Unix стиле аббревиатура Wine расшифровыва-ется рекурсивно: «Wine – Это Не Эмулятор» (‘Wine Is Not an Emulator’). Но разве Wine не эмулирует Windows? Нет. На самом деле, эмуляторы воссоздают работу устройства или программы полностью, а Wine лишь предоставляет «слой совместимос-Windows в Wine Никак не можете расстаться с любимым Windows-приложением? Вам поможет Wine. О нем-то и расскажет Майк Сондерс в первой из двух статей о достижении кросс-платформенной нирваны. ти» между Linux и программами Windows. Когда приложение Windows говорит: «Я хочу открыть файл», Wine перехватывает это сообщение и преобразует его в системный вызов, понятный ядру Linux. Это означает, что для запуска программ Windows вам не потребуется ни установлен-ной Windows, ни виртуальной машины типа VMware или Qemu. Хотя Wine разрабатывается с 1993 года (www.winehq.org), его состо-яние далеко от совершенства: некоторые программы Windows работа-ют безукоризненно, другие – с небольшими проблемами, а третьи – не запускаются вовсе. Казалось бы, после десяти лет разработки любая программа должна работать идеально, однако в случае с Wine есть два всегда актуальных препятствия: 1 Недокументированные возможности Windows Wine воссоздает в Linux программный интерфейс приложения (API) Windows, но посколь-ку многие системные вызовы в Windows недостаточно описаны в доку-ментации или совсем не документированы, разработчикам Wine прихо-дится воспроизводить их функционал самостоятельно. 2 Новые версии Windows В далеком 1993 году разработчикам нуж-но было обеспечивать совместимость с Windows 3.1. Через несколько лет им было нужно эмулировать API Windows 95. Каждый раз, когда полная совместимость с текущей версией Windows почти достигнута, выходит новая версия, и все начинается сначала... Wine 0.9.40 WineTools 0.9jo-III На DVDКросс-платформенная нирвана: Wine Июль 2007 Linux Format 41 Таким образом, лучшее, что вы можете сделать – это установить Wine и попробовать запустить некоторые Windows-приложения в Linux с его помощью. Вы увидите, что одни программы работают прекрасно, другие – нет, но если обновлять Wine регулярно (новый релиз выхо-дит чуть ли каждую неделю), то результат не заставит себя ждать. На следующих страницах мы рассмотрим инсталляцию Wine и попробуем запустить некоторые программы. Установка Как мы уже говорили, Wine – это программа, которая предоставляет «слой совместимости» для запуска приложений Windows в Linux. На самом деле, это программа и набор библиотек, эмулирующих библио-теки DLL в Windows. К счастью, ее установка очень проста. Правильнее всего использовать менеджер пакетов вашего дистрибутива; установи-те все пакеты, найденные по запросу ‘Wine’ (обычно это wine, winelib и/или winetools). Если вы не знаете что делать или версия Wine ниже 0.9.1, возьмите последнюю версию программы из раздела Система на второй стороне нашего DVD. Например, если вы используете Ubuntu, скопируйте файлы .deb с нашего DVD в свой домашний каталог и выполните команду sudo dpkg -i *.deb Система запросит пароль пользователя, затем Wine будет установ-лен. Если ваш дистрибутив использует RPM, скопируйте файлы .rpm в свой домашний каталог и выполните команды su rpm -ivh *.rpm По запросу системы введите пароль пользователя root, и програм-ма будет установлена. Еще одним вариантом является сборка Wine из исходных текстов. Предварительно убедитесь в том, что в систе-ме установлены компилятор GCC и пакеты разработки для X-сервера. Скопируйте файл wine-0.9.39.tar.bz2 из раздела Система/Wine нашего DVD в свой домашний каталог и выполните команды tar xfvj wine-0.9.40.tar.bz2 cd wine-0.9.40/./configure make depend && make Если во время выполнения команды ./configure появились сообще-ния о неразрешенных зависимостях, установите недостающие инстру-менты разработчика с помощью менеджера пакетов. Например, если появилось сообщение об отсутствии заголовочных файлов X-сервера (Can’t find the X development headers), поищите пакеты вроде ‘xorg’ или ‘x11’ и установите те из них, названия которых заканчиваются на ‘-dev’ или ‘-devel’. После этого снова выполните команду ./configure. Используйте команду sudo bash (в Ubuntu) или su (в других дист-рибутивах) для начала сеанса работы под пользователем root, затем выполните команду make install Программа Wine и ее библиотеки будут установлены в каталог /usr/local. Поздравляю – все готово! Если вы добавили Wine с помощью менеджера пакетов, он может оказаться в каталоге /usr, но вам не сле-дует об этом беспокоиться. Как это работает Теперь давайте протестируем свежую версию Wine, запустив какое-нибудь простое приложение. На второй стороне нашего диска в раз-деле Система/Wine вы найдете файл notepad-install.exe. Скопируйте его в свой домашний каталог и введите в окне терминала следующую команду wine notepad-install.exe На экране промелькнут несколько строк отладочного текста, затем появится окно установщика Notepad++. Это текстовый редактор для Windows, возможности которого не идут ни в какое сравнение с Notepad от Microsoft. Кроме того, его маленький размер в данном слу-чае имеет значение. Итак, программа для Windows идеально работает Microsoft Office. Microsoft Office 2000 работа-ет отлично, с Office XP есть некоторые пробле-мы, а о поддержке Office 2007 сейчас даже не думают. Word XP работает отлично, хотя и медленно. Internet Explorer. Даже не думайте об исполь-зовании седьмой версии браузера, если не знаете, как с помощью Wine убедить установ-щик в том, что он запущен на подлинной сис-теме Windows. Версию 6.0 можно использо-вать для тестирования создаваемого вами web-сайта. Adobe Dreamweaver. Восьмая версия, один из последних релизов Dreamweaver, работает вполне прилично, хотя операции копирования и вставки могут вызвать ошибки. Чтобы уста-новить Dreamweaver, может потребоваться несколько попыток. Adobe Photoshop. При работе с версиями 7 и CS (8) проблем почти нет. В версии CS2 иногда возникают ошибки с расширениями и клави-шами быстрого доступа. Quicken. Хотя в версии 2002 года не очень хороши шрифты и есть проблемы с печатью, в целом пакет работает стабильно по сравнению с другими релизами. Apple iTunes. Не стоит пробовать версию 7.0. Версии 4.9 и 6.x вполне работоспособны, хотя есть проблемы с передачей файлов и воспро-изведением треков. Сейчас поддержка iTunes оставляет желать лучшего. Half-Life 2. Работает очень хорошо, хотя число кадров в секунду ниже, чем в Windows, и есть проблемы с графикой. Вообще говоря, лучше использовать более старые версии программ, потому что свежие релизы могут работать с кучей ошибок или не запуститься совсем. Поддержка игр, использующих DirectX, постоянно улучшается, поэтому если программе хотя бы года три, никаких проблем, скорее всего не будет. Вот список наиболее популярных приложений, совместимых с Wine: Что можно запускать? Когда-то для этого требовались часы упорной работы, а сейчас мы можем запускать известные программы с помощью нескольких команд. Проверим Wine: Notepad++ запускается, значит, Wine успешно установлен, и можно пробовать другие приложения..Кросс-платформенная нирвана: Wine 42 Linux Format Июль 2007 в Linux! Как вы уже поняли, для запуска программы Windows в Linux используется команда wine . После завершения установщика запустится редактор Notepad++. С его помощью мы постараемся понять, как работает Wine. Начнем с открытия файла (пункт меню File > Open). Нетрудно заметить, что Wine отображает папку My Documents на домашний каталог пользователя, а диск Z: – на корень файловой системы (/). Но куда указывает диск C:? При первом запуске Wine создает в вашем домашнем каталоге папку .wine. В ней располагаются файлы реестра, в которых хранятся настройки программ, и подкаталог drive_c. Он и выступает в роли дис-ка C: для приложений Windows, запускаемых с помощью Wine. Здесь же располагаются файлы установленных нами программ. Так, в drive_c можно обнаружить каталог Program Files, а в нем – папку Notepad++, в которой находятся файлы только что установленного текстового редактора. Итак, диск Z: указывает на дерево файловой системы Linux, и мы можем обращаться к файлам ОС Linux из программ Windows, а диск C: – на каталог, который содержит файлы установленных программ (это подкаталог drive_c каталога .wine в домашнем каталоге пользова-теля). Если вы захотите запустить Notepad++ снова, используйте коман-ду wine следующим образом: wine .wine/drive_c/Program\ Files/Notepad++/notepad++.exe То же самое относится и к другим программам. После установки приложения найдите его исполняемый файл в папке .wine/drive_c. Затем вы сможете запустить программу. Для этих целей можно также приспособить ярлык на рабочем столе. Если на компьютере установле-на Windows, можно зайти в ее каталог (он обычно находится в дирек-тории /media или /mnt) и попробовать «на зуб» стандартные программы. Например, для запуска классической игры Солитер используется команда [/media/hda2 надо заме-нить на точку монтирования в вашей системе, – прим. ред.] wine /media/hda2/windows/system32/sol.exe Пример: Photoshop Вам уже хочется запустить свои любимые приложения? Но, как мы уже говорили, некоторые программы работают отлично, а другие – с большим трудом. Поэтому остается только пробовать, скрестив пальцы. База данных прило-жений Wine (http://appdb.winehq.org) содержит список из сотен поддерживаемых программ, для каждой из которых указана «совместимость». Там вы сможете найти необхо-димую программу. Самые популярные программы описаны во врезке «Что можно запускать?» на стр. 41. Сейчас мы установим Adobe Photoshop 7. Конечно, это не самая последняя версия известного графического редактора, но она очень хорошо работает в Wine. Скопируем установочные файлы с дистрибу-тивного диска в папку Photoshop в домашнем каталоге. Запустим тер-минал и выполним следующие команды cd Photoshop wine Setup.exe Появится окно инсталлятора, который проведет нас через все эта-пы установки. Он скопирует файлы Photoshop в виртуальную папку Windows .wine/drive_c и добавит информацию о нем в файлы реестра (они также расположены в папке .wine). Как только инсталлятор завер-шит работу, мы сможем запустить Photoshop командой wine .wine/drive_c/Program\ Files/Adobe/Photoshop\ 7.0/photoshop.exe Вот и все! Photoshop работает в Linux. И очень неплохо: некоторые диалоги долго открываются, и окно с инструментами появляется сразу на всех виртуальных рабочих столах, но в остальном – очень удобно. Однако мы можем сделать еще кое-что... Советы по настройке Закройте все запущенные в Wine программы и введите winecfg в окне терминала. Появится окно Windows-программы, позволяющей зада-вать различные настройки Wine, повышающие совместимость и произ-водительность. Мы изучили советы других пользователей по оптими-зации запуска Photoshop 7 (их можно найти на странице http://appdb. winehq.org) и хотим поместить все панели инструментов Photoshop в одно рабочее пространство. Для этого выберем вкладку Графика (Graphics), затем Эмулировать виртуальный рабочий стол (Emulate A Virtual Desktop) и установим его разрешение в 1024 x 768. Запустим Photoshop снова, и voil – он в отдельном окне! Мы боль-ше не увидим следов его панелей инструментов после переключения рабочего стола. Попробуйте запустить другие программы, и вы оцените все удобство Winecfg – раньше на правку конфигурационных файлов приходилось тратить кучу времени, а сейчас практически все настройки можно изменять с помощью графического интерфейса. На вкладке Приложения (Applications) можно даже изменить версию Windows, которую эмулирует Wine (например, установить Windows 98 вместо 2000). Эта возможность особенно полезна при запуске старых программ. Вот как выглядит оптимальный способ запуска приложений Windows с помощью Wine: найти рекомендации по запуску этого приложения в базе данных на сайте, посмотреть на результаты тестов для этого при-ложения и изменить необходимые настройки в Winecfg до установки Существуют также коммерческие версии Wine, которые используют ту же кодовую базу, но добавляют удобства – в них вам не придется открывать командную строку, чтобы запустить Windows-программу. В отличие от свободного Wine, эти решения фокусируются на поддерж-ке вполне определенного набора приложений, зато достигают лучшей совместимости с ними. CrossOver Linux от CodeWeavers (www. codeweavers.com) – это модификация Wine, оптимизированная для запуска популярных программ, среди которых Office 2003/XP, iTunes и Lotus Notes. Он также поддерживает расширения браузера, в том числе проигрыва-тели форматов QuickTime и Windows Media. Разработчики CrossOver концентрируют свои усилия на улучшенной (по сравнению с Wine) поддержке этих программ. Если вы пользуе-тесь только ими, то CrossOver Linux за $40 – прекрасная альтернатива полноценной копии Windows. Хотя CrossOver поддерживает и некоторые игры, «хардкорным геймерам» гораздо лучше подойдет Cedega (www.transgaming.com). Эта программа, ранее известная как WineX, пред-назначена для запуска игр, в том числе World of Warcraft, Oblivion, Civ IV и многих других (полный список можно посмотреть на сайте программы). Мы уже рассказывали о Cedega в этом меся-це и в предыдущих обзорах, и ее производи-тельность произвела на нас впечатление – часто невозможно понять, запущена игра в эмуляторе или в настоящей Windows. На момент написания статьи годовая подписка на Cedega стоила $60, и с учетом ее высоких темпов развития, это почти даром. CrossOver и Cedega Хотя при работе с WineTools иногда возникают проблемы, с их помощью установить и запустить известные программы очень просто.Кросс-платформенная нирвана: Wine Июль 2007 Linux Format 43 или запуска программы. Если установить программу не получается и на компьютере установлены две операционные системы, можно попро-бовать запустить ее прямо с раздела, на котором установлена Windows (мы проделали это с Солитером). Раздел Windows обычно смонтирован в папке /mnt или /media. Итак, давайте вспомним основные моменты: для запуска програм-мы используется команда wine , файлы виртуальной Windows хранятся в папке .wine/drive_c в домашнем каталоге пользо-вателя, а для настройки параметров запуска программ в соответствии с описанием программы в базе данных Wine нужно ввести команду winecfg. Для запуска установленной программы можно не пользовать-ся командной строкой. Достаточно создать ярлык для исполняемого файла программы, который находится в папке .wine/drive_c, и пропи-сать в нем команду для запуска программы в Wine, например: wine /home/username/.wine/drive_c/myprog.exe Небольшой совет: если после установки новой программы Wine перестает нормально работать, удалите папку .wine в своем домаш-нем каталоге. Она будет создан снова при следующем запуске Wine. Конечно, все остальные программы придется переустанавливать, но это полезно знать на случай, если ваш Wine «прикажет долго жить». Установка с WineTools Хотя установка программы из окна терминала – дело нехитрое, WineTools (www.von-thadden.de/Joachim/WineTools) использует для это-го графический интерфейс, управляемый с помощью меню. Скопируйте архив winetools-0.9jo-III.tar.gz из раздела Система/WineTools на второй стороне нашего DVD на жесткий диск и введите в окне терминала сле-дующие команды: tar xfvz winetools-0.9jo-III.tar.gz cd winetools-0.9jo-III Начните сеанс работы с правами пользователя root с помощью команды sudo bash (Ubuntu) или su (в других дистрибутивах), затем введите ./install. После этого введите exit для окончания сеанса root. Введите wt, и на экране появится первое диалоговое окно установщи-ка. Выберите базовую установку (Base Setup), затем обновите каталог .wine (Update An Old Fake Windows Drive). После этого на экране появит-ся окно базовой установки (Base Setup). В этом окне нужно щелкнуть главное меню (Main Menu). В режиме установки протестированного ПО (Install Tested Software) можно добавлять различные приложения, которые будут загружены из Интернета или взяты с CD/DVD-диска. Например, если выбрать Acrobat Reader в меню Player, WineTools загрузит инсталлятор этой программы, покажет все зависимости и запустит установщик. Обратите внимание, что в некоторых случаях WineTools потребуется установка DCOM98 и Internet Explorer необходимой версии, это можно сделать в меню базовой установки (Base Setup). И это тот случай, ког-да совместное использование Wine и WineTools может вызвать про-блемы – так наш компьютер завис при установке DCOM98, но будем надеяться, что в будущих версиях Wine и/или WineTools эта проблема будет решена. Несмотря на некоторые шероховатости, многие про-граммы отлично работают, кроме того, WineTools избавляет нас от необходимости поиска нужного .exe-файла при загрузке программы из Интернета. Будущее Wine А что же Microsoft? Компания пока не сделала официальное заявле-ние о проекте Wine, но службы Windows Update и Windows Genuine Advantage уже проверяют системный реестр на наличие ключей Wine и блокируют все обновления системы в слу-чае их обнаружения. Для большинства из нас это не пробле-ма – отдельные программы Windows гораздо важнее послед-ней версии дефрагментатора диска. Тем не менее, это говорит о том, что Microsoft очень внимательно следит за развитием Wine. Многообещающим проектом из мира Wine является Wine-Doors (www.wine-doors.org), программа для Gnome, которая рас-ширяет функционал WineTools и еще больше упрощает установку программ Windows в Wine. На момент написания статьи не было даже версии 0.1, и исходный код был доступен только через SVN, но первый релиз может появиться очень скоро. Следите за информацией на сайте проекта. Между тем, разработчики Wine прокладывают дорогу к версии 1.0. Мы ждали ее многие годы, но с выпуском Windows Vista момент выпуска снова может быть ото-двинут. Впрочем, в сохранении номера 1.0 для пол-ноценной работающей версии нет ничего зазорного. Расскажите нам о том, как вы установили Wine – наши форумы www.linuxforum.ru открыты для обмена поло-жительными эмоциями, помощи, если что-то не получается, и других вопросов по запуску разных программ Windows в Wine. Удачи! LXF С помощью Wine можно запускать как серьезные программы, так и игры, например, Half-Life 2. Winecfg позволяет настроить Wine без утомительного ручного редактирования конфигурационных файлов.44 Linux Format Июль 2007 FOSS вне Linux Neil Bartlett FOSS за пределами Linux Игнорировать существование альтернативных операционных систем все еще трудновато. Но даже в бесплодной пустыне закрытой ОС встречаются оазисы, где цветет свободное ПО. За ними наблюдает Грэм Моррисон. них производителей поддерживать программы, которые мы использу-ем в Linux. Если бы браузер Mozilla Firefox не снискал популярности, у многих сайтов до сих пор были бы проблемы с совместимостью, а формат OpenDocument не был бы одобрен как стандарт ISO. Ну, а поль-зователи старинной OS/2 от IBM не смогли бы запускать передовые приложения из мира открытого ПО, например, Scribus. Разрабатываем свободно Самое большое преимущество открытого ПО для закрытых платформ в том, что даже если вы не выбираете, в какой операционной системе работать (например, в офисе или в кафе), вы можете воспользовать-ся теми же программами, что и дома. Для многих проектов доступны версии, скомпилированные под другие ОС, и, что удивительно, неко-торые программы работают в Windows или OS X гораздо лучше, чем в Linux. Многие приложения проще установить и выполнить их обнов-ление. Однако именно Linux предоставляет разработчикам плодород-ную почву, на которой всходят ростки многих открытых проектов. Это сочетание средств разработки, сообщества и желания предоставить свободную альтернативу другой ОС движет вперед весь процесс разви-тия открытого ПО. Оно также вынуждает крупные компании, такие как Apple и Microsoft, пересмотреть свое отношение к Open Source, что не может не радовать. Для всех программ, кроме Ardour и Seashore, существуют версии под Windows и Mac. Ardour 0.99.3 Audacity 1.2.6 Inkscape 0.45.1 Blender 2.43 Gimp 2.2.x Scribus 1.3.3.x Seashore 0.1.9 Между двумя группами сторонников открытого про-граммного обеспечения уже давно ведется дискуссия, в основе которой один вопрос: доступность свободно-го ПО на закрытых платформах способствует разви-тию Open Source или сдерживает его? Некоторые, в их числе Ричард Столлмен, считают, что возможность запуска свободного и открытого ПО (Free and Open Source Software, FOSS) в таких операционных системах, как Microsoft Windows и Apple OS X, уменьшает число желающих попробовать Linux. Другие полагают, что доступность свободного ПО для закрытых систем дает шанс позна-комиться с ним и тем, у кого иначе не было бы такой возможности. Это положительно сказывается на качестве проектов с открытым исход-ным кодом и их разнообразии. Хороший пример здесь – Inkscape. Для этой программы доступны двоичные сборки, скомпилированные для Windows, OS X и Linux, а девиз «Рисуй свободно» (Draw Freely) на сайте программы и в окне «О программе» говорит сам за себя. К счастью, свобода заразительна. За последние годы некоторые свободные и бесплатные приложения для Windows и OS X стали неза-менимыми для многих. Хотя люди и не вникают в идеологию, стоящую за бесплатными офисными пакетами, первоклассными web-браузера-ми или сетевыми стеками Samba, большее число пользователей озна-чает лучшее тестирование, б льшую известность и заставляет сторон-на DVDИюль 2007 Linux Format 45 FOSS вне Linux После установки Windows многие из нас первым делом загружают свежую версию Firefox. Windows-редакция браузера функционально аналогична Linux-версии, и после ее загрузки и установки вы можете пользоваться Firefox точно так же, как делали это в Linux. По соображе-ниям безопасности Firefox более предпочтителен, чем браузер, постав-ляемый с Windows по умолчанию. Кроме того, он содержит средства блокировки всплывающих окон и нежелательных апплетов. Одним из наиболее важных расширений Firefox, которое позволяет синхронизировать закладки, историю и даже cookies между нескольки-ми установленными копиями браузера, является Google Browser Sync. Доступны версии для Windows, OS X и Linux. Все данные пользователя связываются с его учетной записью в Google и хранятся на web-серве-ре. Мы бы не стали доверять генератору прибыли Google историю всей своей жизни в сети – но ограничившись только закладками, вы получи-те весьма полезный инструмент, особенно если на подбор информации были потрачены годы. Вторая программа, которую необходимо установить в Windows – это OpenOffice.org. Подобно Firefox, этот набор офисных приложений вполне привычен и работает в Windows точно так же, как и в Linux. Это прекрасная альтернатива другим офисным пакетам, которые сто-ят больших денег. Поскольку Firefox и OpenOffice.org основаны на кроссплатформен-ных библиотеках, их проще всего запустить в Windows. С другими при-ложениями, основанными на различных технологиях Linux, начинаются сложности. Одним из наиболее известных примеров является GIMP, прекрасный графический редактор. GIMP в Windows GIMP использует библиотеку GTK 2, которая настолько глубоко инте-грировалась в рабочий стол Linux, что сама стала им. Многие функци-ональные возможности GNOME реализуются именно GTK. К счастью, библиотека портирована как под Microsoft Windows, так и под Apple OS X. Она необходима для работы GIMP на этих системах. В разных операционных системах библиотека GTK используется по-разному. В Windows GTK «встроена» в приложение и обычно устанав-ливается в виде библиотеки DLL в каталог программы. Следовательно, FOSS в Windows 3 Загружаем GNOME Выберите из списка необходимые пакеты и нажмите кнопку Далее (Next). Cygwin загрузит около 1 ГБ файлов, затем на рабочем столе будет создан ярлык для запуска GNOME. 2 Определяем список пакетов Выберите ближайший репозиторий с пакетами Cygwin. Дополнительные репозитории для сборок GNOME и KDE можно указать вручную. После этого программа установки загрузит список пакетов. 1 Устанавливаем Cygwin Cygwin транслирует системные вызовы POSIX в Windows и, таким образом, создает окружение для работы Linux-программ. Начнем с загрузки и запуска исполняемого файла Cygwin. к библиотеке невозможен общий доступ, но нет и конфликта версий, когда различ-ные приложения требуют GTK разных версий. Установщик GIMP от Джерни Симончича [Jernej Simoncic] содержит библиотеку GTK 2 для Windows (5,5 МБ) и испол-няемые файлы GIMP (2 МБ). Установка GTK и GIMP производится из единого exe-файла, загрузить который можно с сайта SourceForge. Иногда может потребоваться установка одного или несколь-ких дополнительных пакетов. Например, вместе со Scribus, лучшей настольной издательской системы с открытым исходным кодом, потребуется установить Ghostscript для импорта и печати в форматы PostScript и EPS. Инсталлятор автоматически загрузит необходимый файл и распакует его в каталог программы. После этого Scribus будет работать точно так же, как и в Linux. Для работы Windows-версии Pidgin, программы, ранее известной как Gaim, тоже необходим GTK. Кстати, библиотека Pidgin использует-ся и другой известной [свободной, – прим. ред.] программой обмена сообщений Windows – Miranda. Еще два полезных приложения – аудио-редактор Audacity и векторный графический редактор Inkscape – также очень популярны и имеют мало конкурентов. Дополнительно можно загрузить VST Enabler – компонент Audacity, который позволяет использовать в программе любой из сотен свобод-но распространяемых звуковых эффектов VST. Это большое преимущество по сравнению с версией для Linux. Между тем, разработчики Inkscape заявили, что они хотят сделать Inkscape доступным всем пользовате-лям – независимо от платфор-мы – и вкладывают большие усилия в унификацию пользо-вательского интерфейса. Шаг за шагом: Запускаем GNOME в Windows Многие открытые приложения устанавливаются в Windows одним щелчком мыши. От Firefox и OpenOffice.org до X11 и GNU Make.46 Linux Format Июль 2007 FOSS вне Linux Запишите портированные версии этих открытых программ на USB-брелок – и будете чувствовать себя в Windows и OS X, как дома: Работать с открытым ПО в Microsoft Windows более или менее прос-то. Свободные приложения загружаются и устанавливаются точно так же, как и обычные программы, и пользователь привыкает к ним, просто освоив новый интерфейс. В Apple OS X все обстоит несколько по-другому. OS X – изящная операционная система, которая использует очень строгий и тщательно проработанный подход к интерфейсу пользовате-ля. Хотя GNOME и стремится копировать его, современным открытым программам очень не хватает изящества и продуманности дизайна приложений OS X. Но забудем на мгновение об эстетической стороне вопроса, ведь OS X – это максимально близкий аналог Linux, который можно купить за деньги. Больше X, чем X11 Поскольку Apple OS X является Unix-подобной операционной системой, эта платформа отлично подходит для запуска открытого ПО. OS X вклю-чает бесплатный инструментарий разработчика, и Apple даже исполь-зует свободные компоненты в ключевых областях своей системы. Мы говорим о сетевом стеке Samba, web-сервере Apache и KHTML. Однако из-за различий между OS X и Linux ситуация на Mac’ах несколько усложняется. Многие открытые приложения, включая те, что используют GTK, требуют X11-совместимой графической подсисте-мы. В Linux этот слой реализуется X-сервером, и мы рассматриваем X Window System как данность. А в OS X используется собственный дви-жок для отрисовки графики. Тем не менее, вы можете установить X-сервер и тут. Необходимые архивы можно загрузить с web-сайта Apple или найти на дисках, которые поставлялись вместе с вашим Intel Mac. Процесс займет продолжительное время, поскольку OS X должна пройти все этапы процедуры установки. Если вам повезло инсталли-ровать OS X «с нуля», сразу же выберите X-сервер наряду с другими пакетами. Если же вы тяготеете к продуктам сообщества, попробуйте XDarwin, базирующийся на исходном коде XFree86. Совместимость с X11 высоко ценится разработчиками – изменения в исходном коде программ, необходимые для их компиляции под X-сервер в Apple OS X, незначительны, а функциональные возможности приложений точно такие же, как и в Linux. Наберите man startx в окне терминала, и вы поймете, что мы имеем в виду. Inkscape и Scribus Благодаря тому, что приложения портируются достаточно просто, в OS X вы сможете пользоваться б льшим количеством открытых про-грамм, чем в Windows. GIMP и Inkscape являются достаточно крупными проектами, и для каждого из них есть сборки и установочные пакеты для OS X. С другой стороны, Scribus предъявляет особые требования – ему нужен процессор PowerPC, а производительность на компьюте-рах Intel будет гораздо ниже, потому что на них будет использоваться встроенный в OS X эмулятор PowerPC Rosetta. Несмотря на это, портированные в OS X приложения, которые используют X-сервер, ведут себя «как положено». Они даже выглядят как приложения OS X, за исключением одной детали: для работы с буфером обмена, копирования, вставки и других операций использу-ются другие сочетания клавиш (например, Ctrl+X вместо Apple+X для команды «вырезать»). Кроме того, теряется интеграция приложений с рабочим столом, поскольку сами приложения не знают, в какой операционной системе они выполняются. Например, вы не сможе-те перетащить файлы на палитру инструментов GIMP, как в Linux или Windows – вам придется воспользоваться маленьким значком в док-панели. Многие приложения используют достаточно простой графический интерфейс, и для них не нужен X-сервер. Эти программы «просто будут работать». Среди них VLC – пожалуй, самый универсальный проигры-ватель мультимедиа, и два лучших виртуальных планетария: Stellarium Кроссплатформенный Gimp http://gimp-win.sourceforge.net Blender www.blender.org Inkscape www.inkscape.org Scribus www.inkscape.org VLC www.videolan.org Audacity http://audacity.sourceforge.net Firefox и Thunderbird www.mozilla.com OpenOffice.org www.openoffice.org Если бы свободные астрономические программы, такие как Celestia, были платными, их вряд ли ожидал бы большой успех. FOSS в OS X Версии Inkscape для OS X необходим X-сервер. От Celestia и Stellarium до Fink и Macports.Июль 2007 Linux Format 47 FOSS вне Linux Звуковой редактор Ardour использует версию Jack из OS X. и Celestia. Эти приложения безупречно работают в OS X и Windows и являются хорошей рекламой для Open Source. Благодаря тому, что Trolltech выпустила версию библиотеки Qt под лицензией GPL, в OS X доступны все возможности MythTV – программы, разработка кото-рой под Windows потребовала бы нечеловеческих усилий из-за стро-гих правил использования библиотек, конфигурационных файлов и каталогов, применяемых в Windows. Trolltech смогла в максимальной степени использовать схожесть Linux и OS X, чтобы упростить процесс сборки приложения из оригинального исходного кода. X-терапия Для некоторых разработчиков дополнительный слой, который появля-ется в OS X с установкой X-сервера, стал дополнительной проблемой. В результате появились проекты, реализующие версии открытых прило-жений, «родные» для OS X. Самый известный из них, NeoOffice, пред-ставляет собой OS X-редакцию OpenOffice.org. Сразу после выхода оче-редного релиза OpenOffice все «внутренности» программы «переносят-ся» в приложение OS X. Так, NeoOffice располагает панель меню вверху экрана, а также использует шрифты и драйвера принтера из OS X. Для запуска NeoOffice не нужен X-сервер. Однако версия NeoOffice всегда отстает на одну или две от текущей версии OpenOffice.org, например, актуальный релиз NeoOffice – 2.1 beta. Разработчики Seashore пытаются снять зависимость от X-сервера у другого популярного открытого приложения. За этим непривлекатель-ным названием скрывается проект, реализующий «родную» для OS X версию GIMP. В отличие от NeoOffice, в Seashore не стараются пере-нести в проект каждую новую возможность своего открытого собрата. Например, в нем нельзя управлять рендерингом шрифтов. Но наиболее важные функции (палитры слоев и кистей, а также фильтры, которые нам так нравятся в GIMP) сохранены. Некоторые приложения работают в OS X значительно лучше, чем в Linux. Среди них Ardour, уникальный многодорожечный звуковой редактор. Для работы Ardour необходимы X11 и аудиосервер Jack. Версия Jack для OS X устанавливается одним пакетом, так что эта про-цедура здесь в тысячу раз проще, чем в Linux. И поскольку все Mac’и используют один и тот же Core Audio API, Jack безо всяких потерь внед-ряется в звуковую подсистему. Пользоваться одним из самых мощных из свободно распространяемых звуковых редакторов в OS X гораздо проще. Надеемся, что это сделает и его установку в Linux еще проще. Для достижения лучшей совместимости и большего выбора сво-бодных программ в OS X существуют два проекта, которые позволяют портировать приложения Linux и запускать их без особых усилий. Это Fink и Macports. Оба они организуют в OS X Linux-подобную среду раз-работки и используют менеджер пакетов для установки приложений и исходных текстов в Linux-подобное рабочее пространство. Fink даже устанавливает утилиту управления пакетами apt-get, которая работает точно так же, как и в Debian (Macports использует для тех же целей команду port). В результате вы максимально приближаетесь к работе в Linux на компьютере Mac без необходимости использовать двойную загрузку или виртуальную машину. Этот вариант вполне жизнеспосо-бен, если по каким-то причинам вы вынуждены работать в OS X. С правильно сконфигурированной средой разработки вы сможете загружать свежие версии приложений и компилировать их совместно с библиотеками Fink. Таким образом, вы сможете запускать приложения, которые не были портированы под OS X, например, GnuCash. LXF 3 Запускаем и готово! После установки приложение можно запустить из окна терминала. В нашем примере, для этого используется команда nethack. 2 Выбираем метод установки Каждый из выбранных пакетов может быть установлен либо в виде двоичного файла, либо собран из исходных текстов. Зависимые пакеты будут загружены из репозиториев в Интернете и установлены автоматически. 1 Находим программу Fink включает менеджер пакетов с графическим интерфейсом, наподобие Synaptic. Он позволяет обновлять установленные пакеты и добавлять новые путем выбора их из списка или поиска файлов. Шаг за шагом: Установка Nethack с помощью Fink На дешевом Mac Mini можно пользоваться MythTV – идеальной программой для просмотра ТВ. Компилировать ее не придется.48 Linux Format Июль 2007 Пусть Google поработает Давным-давно, на заре развития web, Марк Андрессен [Marc Andressen] сделал громкое заявление о том, что Netscape превратит MS Windows в «набор слабо отлаженных драй-веров устройств». Подразумевалось, что браузер освобо-дит нас от тирании операционной системы. Что ж, возможно, все полу-чилось не вдруг, но по крайней мере рассвет этого дня уже заметен, благодаря последним web-приложениям и самому примечательному из них – Google Docs & Spreadsheets. Эти инструменты Google не являются свободными, и их код не открыт, но Google интенсивно использует свободное ПО и вносит большой вклад в такие проекты, как Mozilla, Wine и OpenOffice.org. Вдобавок мини-пакет Docs & Spreadsheets представляет самую круп-ную установку инструментов, совместимых с форматом файлов OOo. Тем самым база для ODT, формата сравнительно скромно представлен-ного офисного пакета, расширилась за счет инструментария одного из самых влиятельных создателей программного обеспечения на планете. Если вы привязаны к ООо, но считаете небесполезным иметь доступ к мобильным офисным инструментам через такой сервис, как Google, узнайте на следующих страницах, какие из ваших любимых функций поддерживаются. Docs & Spreadsheets принадлежат к относительно новой категории ПО, зависящей от Ajax, чье полное название (Asynchronous JavaScript and XML) напоминает о том, что это – хитроумное использование JavaScript. JavaScript, конечно же, встроенная в браузер технология: код загружается вместе с web-страницей и исполняется локально. Исторически, проблема JavaScript – совместимость между разны-ми браузерами: код, работающий в Netscape, мог отказать в Internet Explorer, и наоборот. Создание кросс-браузерного JavaScript сейчас стало намного проще, но все же лучше оставайтесь с Firefox. Да, мы в курсе, что Opera и Konqueror почти полностью совместимы с ним, одна-ко, к несчастью, это то же самое, что быть почти беременной. Если вы попробуете использовать инструменты Google в Konqueror или Opera, то получите предупреждение, что попробовать-то можно, но поддерж-ка, вероятно, не сработает. Мыслить по-новому Интерфейс Web-Ajax имеет наследственные ограничения – и Google даже не пытался сквозь них пробиться. Но считать web-инструмента-рий Google соперником Microsoft Office – все равно, что считать теле-видение соперником радио: это просто совершенно иной подход. Почти наверняка роль полновесных приложений для рабочих столов будет продолжать расти. Например, электронная почта, основанная на web, в основном используется частными лицами, поскольку корпорации неохотно отдают e-mail на откуп другим компаниям по соображениям конфиденциальности и безопасности. Но преимущества web-инстру-ментов сделают их незаменимыми для громадного количества людей. Одно из ключевых свойств, стимулирующих их использование – легкость и простота взаимодействия и публикации документов в Web. Для большинства людей смысл создания таблиц и документов состоит в том, чтобы показать их другим людям, ради комментариев и взаимо-действия с ними. В наши дни эта задача из тяжкой поденщины превра-тилась в пару щелчков по клавишам. В будущем люди будут оглядываться на цикл «Print, Post, Return» с тем же изумлением, с каким инопланетяне Cadbury Smash наблюдали за процессом чистки картошки и превращения ее в пюре. Основанная на web публикация – главная альтернатива традиционному подходу. Пока что налицо существенные ограничения на действия, которые можно производить с содержимым, но в какой-то мере эта пробле-ма будет решена благодаря широкополосному доступу и грамотному программированию. Инструменты на базе web, может, и низки по своим функциям, зато высоки по минимализму; а уж по части совместной работы им просто нет равных, утверждает Маркус Грин. Пусть Google поработаетИюль 2007 Linux Format 49 Пусть Google поработает Ассортимент инструментов Google оказывается больше и больше вся-кий раз, когда вы обращаетесь к нему: в нем появились календарь, сетевой фотоальбом Picasa и Gmail, но сейчас нас интересуют офисные приложения, начиная с модуля таблиц. С помощью Google Spreadsheets вы можете загружать документы или создавать их на лету через web-интерфейс. Система распознает файлы Calc от OpenOffice.org и MS Excel и пытается сохранить их структуру. Мы говорим «пытается», поскольку некоторые функции теряются, а некоторые реализованы лишь частично. Сохраняется самое основное из тривиальной таблицы: тип шрифта – жирный, курсив, подчеркивание; простейшие формулы, такие, как сложение и арифметические и основные функции. Однако поддержка чуть более сложных функций уже нуждается в заплатках. Google Spreadsheets не поддерживает макросы (VBA), условное форматирование или именованные диапазоны, и обладает неполной функциональностью для графиков, позволяющей создавать таковые в модуле страницы, но, похоже, лишающей готовых графиков под-гружаемые таблицы. Ограничения на графики – солидный недостаток, ибо визуальное представление данных является невероятно ценным инструментом, помогающим лучше понять их смысл. Excel и OpenOffice.org поддерживают весьма полезную функцию, именуемую условным форматированием, с помощью которой, напри-мер, можно выделить все отрицательные величины красным цветом. Увы, при загрузке в модуль таблицы Google условное форматирова-ние теряется. Возможно, неким признаком незрелости программы является отсутствие поддержки создания именованных групп ячеек. Если работаешь с чем-то большим, нежели тривиальная таблица, име-нованные группы делают формулы куда понятнее. А именно, вместо использования адресов ячеек можно обозначить их диапазон удобо-читаемым ярлыком. Вместо формулы =SUM(C10:C12) назовите группу ячеек C10:C12 именем наподобие houserent («квартплата») и измени-те формулу на =SUM(houserent). В Google Spreadsheets именованные группы создавать нельзя, но если вы загрузите таблицу из Excel или OpenOffice.org, имена сохранятся, и использующие их формулы про-должают работать. Где мое автозаполнение? Автозаполнение означает, что вы можете ввести величины из некой серии в две ячейки, а затем перетащить в другие ячейки, и они будут заполняться автоматически, используя последовательность. Например, в Excel или OOo, введя в одну ячейку ‘Jan’ (янв), а в следующую – ‘Feb’ (фев), вы можете перейти в соседние ячейки, и они будут заполняться так: ‘Mar’ (март), ’Apr’ (апр), ‘May’ (май) и т.д. Это работает для несколь-ких видов последовательностей, например, дней недели или цифр. Модуль таблиц Google не поддерживает этот вид автозаполнения. Чтобы вчерне решить этот вопрос, вам, возможно, придется открыть модуль Calc в OpenOffice.org, сгенерировать автозаполнение ряда вели-чин, а затем вставить их в таблицу Google. Google Spreadsheets поддерживает сортировку данных в одной колонке, но не поддерживает фильтров. В стандартных электронных таблицах фильтры позволяют легко находить данные. Обычно их используют для поиска данных по одному критерию – «показать всех клиентов, в колонке адреса которых стоит Йорк» – но самые современ-ные таблицы позволяют легко создавать достаточно сложные запро-сы, типа «показать всех клиентов с фамилией Смит, проживающих в Йорке или Лидсе». Это значительный пробел в наборе инструментов, который скорехонько заметят даже те, кто пользуется таблицами лишь эпизодически. Недавно добавленная функция создания диаграмм пока что довольно ограниченна. Сохраняются ли в этом онлайн-приложении графики и форматирование? Google Spreadsheets Зачем нужны тэги? Оба инструмента Google обладают одной любопытной особенностью: в них нет сохранения документов в структуре каталогов – в наше время все делается через тэги. Тэги – это сейчас горячая новость, потому что они используются на сайтах социальных сетей для общения, и они замечательно удобны как способ организации документов. Это отлич-но: иерархическая организация документов – не священная корова; на самом деле, она создает немалые ограничения, поскольку файл может находиться только в одной директории, а ведь его, возможно, нужно отнести более чем к одной категории. Используя тэги, можно припи-сать файлу более одного понятия. Например, данная статья может иметь тэги Статьи, Техническая информация и Linux. Вставка формулы в таблицу из списка функций. Бизнес для зевак Хотя блокировка всплывающих окон в наших браузерах и защищает нас, пользователей Linux, от онлайн-рекламы, стоит помнить, что Google занимается рекламой, и перед ним стоит цель, чтобы как можно больше глаз увидело его страницы. Подобно интерфейсу ‘lo-fi’ его офисных инструментов, чисто текс-товая реклама Google создана, чтобы быть эффективной, но ненавязчивой. В данный момент инструменты Docs & Spreadsheets не содержат никакой рекламы – в отличие от системы Gmail. Возможно, реклама появится в будущем, а может, Google считает, что эти инструменты и сами способны привлечь поль-зователей, чтоб они и дальше выбирали про-граммы Google. Многие пользователи прохо-дят через учетную запись Gmail, чтобы попасть в Docs & Spreadsheets, и пока они находятся в системе Gmail, их глаза упираются в несколь-ко тактичных рекламных объявлений Google, а счетчик впечатлений от Google вновь накручи-вает обороты.50 Linux Format Июль 2007 Пусть Google поработает Часть пакета Google под названием Docs уходит корнями во Writely, старый текстовый редактор для web. Google поглотил создателя Writely, Upstartle, весной 2006, и следующей осенью выпустил Docs вместе со Spreadsheets. Подобно модулю Spreadsheets, Google Docs – минима-листский продукт: он не годится для работы с большими документами или для издательского дела. Ну, по крайней мере, в интерфейсе вы не запутаетесь. Он позволяет просто ввести текст, произвести минималь-ное форматирование и проверку орфографии и сохранить его, да еще можно вставить таблицы и ссылки. Эта программа включает исполь-зование стандартных уровней заголовков – с первого по третий, но не позволяет создавать стили, настраиваемые пользователем. Немалое преимущество – то, что ваша работа всегда у вас под рукой. Данная статья была создана и отредактирована с помощью Google Docs, и доступ к ней был получен с трех разных машин в разных местах и из Linux, и из Windows – в Google Docs отсутствует проблема совместимости формата файлов. А еще здесь до смешного просто раз-делять доступ к документу. Если вы нажмете на Collaborate, ваши дру-зья и коллеги получат возможность просматривать документ и вносить в него изменения, а вы потом увидите все внесенные ими изменения, до последнего бита, и решите, стоит ли их сохранять. Вам не придет-ся возиться с флэш-картами, дискетами и прочими устройствами для переноса данных. Модуль Google Docs ограничивает размер файла до 500 Кб, чего, вероятно, достаточно для большинства людей и большин-ства целей. Чтобы вы яснее представили себе, сколько это, сообщаем, что документ, содержащий 50 000 слов и несколько рисунков, занима-ет приблизительно 1000 Кб. Функция проверки орфографии работает отлично. Более ранние версии придерживались стандарта американского английского (US English), но, похоже, это уже исправили. Есть также функция, позво-ляющая добавлять слова в ваш личный словарь. При запуске проверки орфографии слова подчеркиваются, а если нажать на подчеркнутое слово, появится контекстное меню со списком вариантов правописания или функцией добавления в словарь. Это явно лучший интерфейс, чем отдельная обработка слов, подобная OpenOffice.org или MS Word. Проверка грамматики отсутствует, но есть функции предпросмот-ра и печати, и вы можете сохранить свой документ в формате PDF или ODT-формате OpenOffice.org. Будь вы пользователем Windows MS Office, одна лишь функция создания файлов в формате PDF стала бы отличной причиной помчаться за учетной записью. Помогите! На каждой странице Docs & Spreadsheets есть ссылка на файл подсказ-ки, но, честно говоря, эта подсказка не слишком хороша. Так, напри-мер, подсказка по формулам выдает следующую информацию: «Google Docs & Spreadsheets поддерживает свыше 200 функций формул (например,. «=sum(A1:A10)»), что позволяет вам импортиро-вать и производить довольно сложные расчеты в своей таблице. Для доступа к общим функциям перейдите на вкладку «Формулы» или нажмите на ссылку «more», чтобы просмотреть полный список поддер-живаемых функций и легко вставить их в редактируемую ячейку». Инструментам Docs & Spreadsheets не хватает документации от тре-тьих лиц, и мы подозреваем, что потенциальные авторы жаждут погля-деть, как пойдут дела у продукта, прежде чем приняться за книги. Вот пример форматирования текстового документа. Интересно, использовал бы это Керуак, чтобы в наши дни написать «В дороге» [Д.Керуак – писатель-легенда «спонтанной прозы», – прим. пер.]? Google Docs Использование меню тэгов в модуле Documents. Меню File для модуля Documents. Как приступить к работе Чтобы использовать Docs & Spreadsheets, вам нужно создать учетную запись в Google. Она даст вам доступ к сервисам Google, а прямая ссылка — это http://docs.google.com. Если вы уже являетесь пользователем Gmail, вам просто надо кликнуть по ссылке на Docs & Spreadsheets в стандартном почтовом интер-фейсе. Бесплатный вариант пользователя даст вам 2 ГБ пространства, а для текстовых доку-ментов это огромный объем. Если вы его пре-высите, Google предложит объем 10 ГБ Premier Edition за $50 в год. См. www.google.com/a/help/intl/en/admins/editions_spe.html.Июль 2007 Linux Format 51 Пусть Google поработает Google – не монополист рынка приложений на базе web: среди его конкурентов – офисный пакет Zoho (www.zoho.com) и ThinkFree (www. thinkfree.com). Вообще-то, если сравнивать только по функциям, эти продукты еще и круче инструментов Google. В отличие от Google, Zoho не жалуется, если вы пытаетесь зайти в программу через Opera под Linux или Konqueror. Но, к сожалению, и работать нормально в любом из перечисленных браузеров она не будет. Пакет Zoho включает приложение для создания презентаций и мно-жество инструментов помельче, а также текстовый редактор и редак-тор таблиц (хотя Google недавно объявил о добавлении к своим серви-сам программы для создания презентаций на базе web). Интерфейс у модулей Zoho намного более лощеный, чем у инструментов Google, и реализует больше функций, которых как-то ждешь от программы для рабочих столов. Модули копируют интерфейс отдельных приложений: например, кнопки текстового редактора напоминают кнопки в Excel или OOo. Вкладки в редакторе таблиц имеют скошенные края, и в нем есть панель ввода формул. Инструменты Zoho немного напоминают ком-поненты Office 97, тогда как инструменты Google выглядят так, словно создавались для текстового интерфейса. Мы подозреваем, что за красивость инструментов Zoho нужно рас-плачиваться временем, требуемым на их закачку, однако с учетом каче-ства соединения современного Интернета это не должно стать чересчур дорогой ценой. Таблицы Zoho обладают функцией автозаполнения, которая работает точно так же, как и подобная функция в MS Office и OOo. Более важно, что таблицы Zoho поддерживают неплохую часть графической функциональности стандартных электронных таблиц. Можете выбрать область данных с помощью мыши и нажать на кнопку создания графика, и запустится соответствующий мастер. Апплеты – ваши друзья Инструменты ThinkFree интересны тем, что они выходят в двух верси-ях. Одна – это набор инструментов HTML/Ajax, работающий таким же образом, как Zoho и Google Docs, а другая называется «Java-апплет». Если вы скрипнули зубами при мысли о Java-апплетах, не торопитесь делать выводы – это не те апплеты, с которыми мучился ваш дедуш-ка. Использование Java позволяет создавать намного более сложные и тонкие приложения и интерфейсы, чем HTML/Ajax. Инструменты ThinkFree больше остальных соответствуют интерфейсу оффлайновых приложений, однако цена, которую приходится платить за загрузку кода апплета – это производительность. Ни Zoho, ни ThinkFree даже не пытаются предложить пользовате-лям свободу, присущую свободному ПО или лицензиям GPL или BSD. Google дает доступ к некоторым исходным инструментам в своих сис-темах, но не предлагает ничего такого, чтобы каждый мог настроить дубликат этой системы. Просто чтоб придраться Конечно же, во всех упомянутых нами инструментах есть недостатки и ограничения. Но на самом деле, это уже просто придирки. С тем же успехом можно пожаловаться на то, что вместе с купленным телевизо-ром не доставили даму, продающую в фойе кинотеатра мороженое во время антракта, или что размер изображения не достигает 30 футов в высоту. Это, конечно, прискорбно, но пренебрежимо по сравнению с тем, что теперь вы можете развлекаться, рассевшись у себя дома, а для просмотра фильма не надо платить за билет. Ценность web-приложений будет расти, поскольку они предлагают такое потрясающее удобство, как распределенный и универсальный доступ. Возможно, недостаток лоска у инструментов Google компенси-руется связанным с ними брэндом. Для пользователей Linux, доволь-ствующихся Firefox, эти инструменты предлагают весьма солидные преимущества. LXF Как видите, пользовательский интерфейс ThinkFree более утончен, чем его эквивалент в Google. Есть и корпоративная версия. Вас не привлекают инструменты Google? Познакомьтесь с другими онлайн-решениями. Альтернативы Мнение от OpenOffice.org Майкл Микс [Michael Meeks] – глава группы OpenOffice.org в Novell. Беспокоит ли его рост популярности инструментов Web 2.0? «В то время, как коли-чество и возможности офисных онлайн-при-ложений Web 2.0 про-должает увеличивать-ся, остаются как минимум несколько проблем, скрывающихся за фасадом – напри-мер, редактирование текста: многие из «текс-товых редакторов» – это просто обертка на HTML, что очень сильно затрудняет редакти-рование мощного WYSIWYG-документа. Сложность представляют и серьезные вычис-ления, и экранный рендеринг. При всем при том вполне очевидно, что они весьма привлекательны для множества мел-ких задач, и что, так же как с wiki, я думаю, эти парни проглотят задачи редактирования/обра-ботки более простых документов. Что интерес-но, некоторые из них используют за сценой OpenOffice.org для конверсии документа, так что на каком-то этапе ООо будет усовершен-ствован благодаря этому. В частности, они должны извлекать пользу из постоянно про-должающейся работы Novell над OpenXML и взаимодействия с форматами Microsoft вооб-ще. Но все же, по-моему, маловероятно, что web-приложения как-то повредят открытому ПО. К тому времени, как они станут популяр-ными, люди уже сами смогут писать собствен-ные web-приложения, что – в настоящий момент – кажется вполне реальным, в отличие от возможности переписать ООо.» Тех, кого огорчает отсутствие инструмента для создания презентаций от Google, может заинтересовать модуль ZohoShow.52 Linux Format Июль 2007 Web-сервер Web-сервера бывают разные – получше, похуже или вовсе предназначенные для решения нескольких типов задач. Выбрать web-сервер, полностью соответствующий имен-но вашим нуждам, просто необходимо: от этого во многом зависит, насколько хорошо – эффективно и удобно для пользователей – будет функционировать ваш web-ресурс. Соответственно, правильный выбор и поддержка web-сервера – известная «головная боль» почти всех администраторов в мире. В заголовок данной статьи вынесено назва-ние продукта, который мы будем рассматривать; наверное, однознач-но назвать его «мечтой администратора» – некоторое преувеличение. Но, без сомнения, Nginx – неплохой выбор для попытки приблизиться к главному желанию сисадмина почти любого ресурса: стабильно и эффективно работающему web-серверу. Кое-что о Nginx Прежде чем говорить об этой разработке, давайте разберемся, что же такое Nginx и какова его история. Nginx – HTTP-сервер (и одновременно – почтовый прокси-сервер, но об этом позже). Сразу же уясните для себя важную деталь: Nginx не является стандартным web-сервером в том смысле, в каком боль-шинство читателей могут его воспринять, т.е. Nginx не может служить функциональной заменой, например, Apache или IIS. В сущности, Apache и Nginx находятся «по разные стороны баррикад». Здесь умес-тно вспомнить модель «front-end/back-end»: соответственно, Apache будет относиться к back-end, а Nginx – к front-end. Данные продукты предназначены для выполнения задач различных типов – это очень важно. Почему мы говорим исключительно об Apache? Да потому, что Nginx работает только под Unix/Linux системами. Теперь об истории проекта. Nginx начал разрабатываться Игорем Сысоевым (одним из администраторов Rambler’а) весной 2002 года. Проект стал использоваться на различных серверах (в частности, в том же Rambler’е) задолго до официального релиза, состоявшегося 4 октября 2004 года, и до своего обнародования Nginx уже прошел серьезное тестирование. По данным, собранным и организованным Алексеем Тутубалиным, в марте 2006 года щелчок по «Черному квад-рату» (http://www.rukv.ru) приводил к отклику Nginx в 9,8%, а в мар-те 2007 – уже в 22,7% случаев (речь идет о виртуальных серверах). Помимо Rambler’а, стоит упомянуть о Mamba и Peterhost, на чьих сер-верах также функционирует Nginx. Когда пригодится Nginx? В чем преимущества использования модели «front-end/back-end»? Основное – значительно б льшая эффективность работы, чем в других – стандартных и привычных – схемах использования того же Apache; но отнюдь не во всех. Прежде всего необходимо учесть, что использование обсуждаемой модели будет уместно только применительно к серверам с высокой нагрузкой, оправдывающей использование подобного рода средств. Под «высокой нагрузкой» следует понимать количество http-запросов, превышающее 10–12 в секунду. Соответственно, если такой нагрузки на сервер нет, то лучше не строить работу сервера по принципу «frontenndback-end»; это решение может привести и к некоторому замедле-нию работы (хотя и довольно незначительному): ведь Nginx – допол-нительный «пропускной пункт» на пути к back-end’у и к увеличению потребления памяти и т.д. Не стоит использовать Nginx там, где в нем нет нужды, чтобы не винить в неудобствах и неувязках продукт и его разработчика. Что умеет Nginx? Итак, какие возможности предоставляет данный продукт? Nginx – это и HTTP-сервер, и почтовый прокси-сервер. Поэтому рассматриваемые возможности оправданно разбить на категории согласно двум фун-кциональным направлениям Nginx. Начнем с HTTP-сервера, в числе функций которого: Обслуживание статических запросов. Конкретнее, это «передача» пользователю статических html-страниц, графических изображений и прочего контента. Второе – обслуживание запросов на индексные фай-лы. Данная функциональность реализуется модулем ngx_http_index_ module: он обслуживает запросы, оканчивающихся слэшем (“/”). Новая серия! Ультрабыстрый открытый web-сервер – отечественная разработка ЧАСТЬ 1 Интернет немыслим без web-сервера. 60-70 процентов узлов Сети обслуживаются Apache, а как живут оставшиеся 20-30 процентов? Валерия Комиссарова знает ответ. Наш эксперт Валерия Комиссарова Эксперт Cnews, дипломированный администратор и разработчик решений на C#, Валерия с интересом следит за развитием Unix и умеет по достоинству оценить существующие для него решения. Nginx:Июль 2007 Linux Format 53 Web-сервер Автоматическое создание списка файлов; это задача модуля ngx_ http_autoindex_module, который выполняет автоматическое создание листинга каталога. Запрос попадает к модулю в том случае, если у компонента ngx_http_index_module возникли проблемы с поиском индексного файла. Ускоренное проксирование без кэширования, выполняемое моду-лем ngx_http_proxy_module. Он обладает большим количеством дирек-тив, с помощью которых можно настроить параметры процесса. В сле-дующий раз мы рассмотрим этот вопрос более подробно. Особого внимания заслуживают функции/модули, касающиеся обеспечения отказоустойчивости виртуального сервера и распре-деления нагрузки. Данная функциональность связана с модулем ngx_http_upstream. Предусмотрена еще и поддержка SSL. Что же касается «почтовой» функциональности, то здесь имеются возможности для нормальной работы с IMAP, POP3, SMTP, а также SSL. Среди поддерживаемых методов аутентификации: LOGIN для IMAP, USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5 у POP3, и AUTH LOGIN PLAIN CRAM-MD5 у SMTP. Чего Nginx «не умеет» и вряд ли будет «уметь»? Судя по «настрою» разработчика, о .htaccess придется забыть. Не стоит надеяться и на поддержку CGI. Что осталось добавить? Возможность обновления исполняемого файла Nginx и его настроек без остановки процесса обслуживания клиентов; высокая модульность. Среди приятных «мелочей» – быстрая ротация журналов, ведение отладочного журнала, и перенаправление ошибок (например, 404). Почему Nginx так быстро работает? А теперь давайте посмотрим, почему Nginx (как и сама модель «frontenndback-end») работает быстро и эффективно (Nginx действительно быстр, это не «слухи»). Можно поставить вопрос и так: почему разде-ление обязанностей между Apache/Nginx обеспечивает большее быст-родействие, чем в схеме работы без последнего? Почему – если сравнивать работу Apache без Nginx и в связке с Nginx в ситуации со статическим контентом – второй вариант быстрее (иногда это заметно больше, иногда меньше, но чувствуется всегда)? Рассмотрим, что такое модель prefork(ed), используемая в Apache 1.3. Мы имеем один главный процесс, который при получении входящих запросов создает требуемые дочерние процессы с помощью fork (). Такой подход традиционен, и в то же время является одним из худших по производительности/эффективности. Почему? Происходит серь-езный перерасход системных ресурсов (думаю, не нужно объяснять сущность работы fork()). И бороться с тем, что множество дочерних процессов (число которых, понятное дело, растет с числом запросов) стремительно поглощает системную память, негативно влияет на про-изводительность и в разы снижает удобство работы с ресурсом, очень трудно. Что же нам предложит Nginx? FSM! Аббревиатура расшифро-вывается как Finite State Machine – автоматы с конечным числом состо-яний, иначе – КА (конечные автоматы). Несмотря на ряд ограничений, в ситуации с Nginx FSM полностью себя оправдывает. FSM – довольно сложная вычислительная модель; ей посвящен не один толстый книж-ный том; ну, а мы просто посмотрим, что еще используется в отноше-нии скорости в Nginx, и к какому результату, заметно отличающемуся от prefork(ed)-модели, это все приводит. Nginx использует kqueue (на системах Free/Net/Open BSD и Mac OS X) – механизм оповещения определенного процесса о конкретных событиях, произошедших в ядре ОС. Применение kqueue, в частности, позволяет избавиться от большого количества «лишних» вызовов некоторых функций. Также используются epoll и rtsig (в ОС Linux), sendfile (для Linux, FreeBSD, Solaris). На примере kqueue очевидно направление этих функций. Главное – результат: радикальное умень-шение количества «съедаемой» памяти, увеличение быстродействия и т.д., со всеми вытекающими последствиями. Эффективность модели «front-end/back-end» напрямую следует из осуществления значительного снижения воздействия негативных сто-рон prefork(ed) Apache. Разделение труда между front-end и back-end дает радикальное уменьшение числа переключений контекста и коли-чества потребляемой памяти. На самом деле возможностей у Nginx намного больше, чем здесь описано. Говорить о них можно если и не бесконечно, то достаточно долго. Но задача данной статьи – рассказать, насколько многообразен и качественен этот web-сервер; детальному рассмотрению процесса установки и настройки Nginx будет посвящена следующая статья. LXF мечта сисадмина Через месяц Мы установим Nginx и научимся настраивать его в ряде типовых ситуаций.54 Linux Format Июль 2007 ЭмуляцияСквозь время За последние десятилетия в мире создавалось много уникальных ком-пьютерных систем. В туманном Альбионе за домашним компьютером Клайва Синклера выстраивались огромные очереди жаждущих запо-лучить в дом электронного помощника стоимостью менее 100 фунтов (что в 1982 году, как и сейчас, примерно равнялось $200), имеющего цветное изображение и ввод команд BASIC одним нажатием клавиши. Покупателей не пугали ни низкое качество сборки компьютеров, ни ошибки, обнаруженные в уже проданных экземплярах, ни даже недо-деланное ПЗУ этой машины. И их можно было понять: за 99,95 фунтов купить полноценный цветной чудо-компьютер, в то время как другие модели стоили от 400 – чем не находка? За покупкой, правда, надо было идти не в компьютерный магазин, а в книжный. А толпы фанатов Apple II (представлявшей собой уже готовое устройство, а не набор Apple I типа «собери-сам») боготворили свою машину, созданную двумя Стивами (Возняком и Джобсом) – и было за что. Во времена, когда домашние компьютеры делали первые шаги, Apple II позволяла выполнять даже такие фантастические вещи, как самостоятельную оцифровку звука. Чуть позднее (в 1984 году), первые обладатели легендарного Макинтоша гордились графическим интерфейсом этой машины – даже несмотря на то, что экран, встроенный в компьютер, был совсем небольшим (конечно, по сравнению с диагональю современных мони-торов) и черно-белым. Впрочем, и внутри Apple разработкой Macintosh занимались элитные сотрудники (большей частью – пришедшие из проекта Lisa); тех же, кто продолжал работать над приносящей основ-ную прибыль Apple II, Джобс считал неудачниками (но это уже другая история). И, конечно, первая игра для Макинтош – Alice – была по-настоящему хороша. В том же 1984 году в Нью-Йорке был продемонстрирован прото-тип машины, повергший в шок невероятной мощью даже видавших виды журналистов: сверхбыстрая графика, потрясающий звук, много-задачная операционная система, манипулятор «мышь» и 4096 цветов на экране. Конечно же, это была Amiga. Мультимедиа в 1984 году! У вас и сегодня может отвалиться челюсть при виде живого видео со стерео-звуком, легко демонстрируемого с 880-килобайтной дискетки на пол-ный экран машины с процессором в 7 МГц. Плавно и без тормозов. Неугомонный Синклер представил общественности новый компью-тер Sinclair QL – призванный затмить 32-битной мощью медленные IBM PC. Именно его, замечу, в свое время приобрел Линус, соблазнившись теми самыми 32 битами. Позже он купил себе IBM PC и подарил нам Linux. И это было только начало. Сегодня, в отличие от тех времен, когда мир полнился гениальны-ми идеями о создании новых домашних компьютеров, все значительно скучнее: максимум, из чего можно выбирать – это x86 или... или... x86. Последний оплот альтернативности для домашнего пользователя – Mac – пал под натиском Intel-совместимости в 2005 году. Ну, мы расстраиваться не будем. Во-первых, Linux – сам по себе вещь весьма увлекательная, конструктор для взрослых: можно вечно собирать и разбирать. А во-вторых, все те замечательные машины, что некогда имели армии фанатов, теперь доступны посредством эмуля-ции. Разве могли бы вы мечтать о двадцати, а то и тридцати уникаль-ных компьютерных системах прямо в вашей комнате? Речь идет об эмуляторах – специальных программах, виртуаль-но воссоздающих легендарные компьютерные системы. Превратить ваш мега-супер-компьютер в старый добрый ZX Spectrum или Commodore 64 – да нет проблем! Только не рвите на себе волосы – процесс обратим, в отличие от лысины. Где вы, бравые пилоты Elite с BBC? У вас есть еще один шанс испы-тать судьбу, сражаясь у далеких звезд, заправляя под завязку топливные баки от раскаленных светил или кроша астероиды в погоне за удачей. И не только пилоты. Миллионы людей, переживавших приключе-ния юной Занции в Кирандии, Джеймса Понда или Сквола – все мы снова можем вернуться в этот чудесный мир благодаря эмуляции. Все, что для этого нужно – Linux и эмуляторы. В Linux работают десятки тысяч игр. Александр Супрунов проложит вам путь к ним. Дополнительная информация Конфигурация тестовой машины: Процессор: AMD Sempron 3000+ (1600 МГц) ОЗУ: 512 MБ DDR PC-3200 Видеокарта: 128 MБ GeForce 5200 Сияй, безумный бриллиант! FUSE 0.8.0.1 E-UAE 0.8.29 ZSNES 1.51 PCSX2 0.93 MAME и SDLMAME 0.116 DOSBox 0.70на DVD ЭмуляцияИюль 2007 Linux Format 55 Эмуляция Совет Альтернативой FUSE может стать запуск одного из Windows-эмуляторов (рекомендуем отечественный ZXMak – http://zxmak.narod.ru/) в WINE. Если у вас достаточно мощный процессор, можете запустить в DOSBox классический эмулятор Шалаева. ZX Spectrum Эмулятор: FUSE Сайт: fuse-emulator.sourceforge.net В мире существует чрезвычайно большое количество фанов ZX Spectrum. Несмотря на весьма скромные, я бы даже сказал, чрез-мерно ограниченные технические параметры компьютера, игры с этой платформы по-прежнему вызывают живой интерес, бесконечно скачи-ваются из сети Интернет и покупаются на CD-дисках. Все дело в том, что они, в отличие от современных высокобюджетных коммерческих блокбастеров, имеют совершенно непередаваемую атмосферу. Положа руку на сердце, скажите, неужели в играх с абсолютной свободой действий в пределах 48 Кб, типа Elite, вам на самом деле будет важна графическая составляющая? Заметьте, когда к вашему потрепанному кораблю с трех направлений подбираются сговорившие-ся космические пираты, нещадно поливающие обшивку смертоносны-ми лучами, а защитные экраны сдаются один за другим, в голове бьет-ся только одна мысль: «Ох, дотянуть бы до станции типа Кореолис». Или, например, где вы встретите игру, в которой путешественник во времени (Уинтроп) попав из ХХ века в XXV, не желает возвращаться назад, даже несмотря на то, что в его теле в 20 веке сейчас находится человек из 25 столетия. Ваша задача – в течении 30 минут успеть убе-дить путешественника, что мир будущего не столь уж прекрасен, как видится ему. Да! Когда в арсенале лишь крохотный объем памяти домашнего ком-пьютера, программисты способны на чудеса при создании новых игр. Ну, что же, возможно я вас убедил попробовать пару хитов из звездной копилки ZX Spectrum. А возможно, вас убеждать и не надо было. Так или ина-че, для того, чтобы превратить ваш современный компьютер в медленного неповоротливого монстра нам понадо-биться хороший эмулятор. На эту роль больше всего, на мой взгляд, подходит Free Unix Spectrum Emulator – FUSE. Он предоставляет такой же комфорт работы с воссозданной ретросистемой, как и лучшие представители эмуляторов из мира Windows и способен работать как одна из следующих моделей: Spectrum 16K/48K/128K/+2/+2A/+3/+3e/SE, Timex TC2048/TC2068, Pentagon 128 и Scorpion ZS 256. FUSE поддерживает загрузку запакованных файлов, воспроиз-водит звук через OSS (Open Sound System) и эмулирует основные органы управления: джойстики Kempston, Sinaclair и Cursor. Для сборки FUSE из исходников потребу-ется несколько библиотек: libgcrypt, libpng, libxml2 и zlib, которые, вероятно, уже есть в вашей системе. На этапе настройки (./configure) можно включить поддержку фрей-мбуфера, SDL, SVGAlib или GTK. FUSE легко пользоваться, в чем можно убедиться, взглянув на снимки экрана. Основные настройки расположились на вкладках File, Options, Machine, Media, Help. Обратите внимание, что любому пункту меню можно назначить горячие клавиши, просто нажав их в тот момент, когда курсор находится на интересу-ющем пункте. Вкладка Help содержит картинку с раскладкой клавиатуры ZX Spectrum. Не забывайте, что в этом компьютере набор команд производится не посим-вольно, а нажатием одной или нескольких клавиш. Например, чтобы напечатать слово LOAD достаточно нажать клавишу J. На вкладке File доступна одна из самых используемых опций: Open. Как следует из названия, она позволяет открыть образ игры в эмулиру-емой машине. Здесь же вы сможете сохранить снимок экрана или сде-лать снимок памяти, который позволит вам начать игру в следующий раз с того же места. Во вкладке Options скомпонованы основные настройки – полное раздолье для любителей все подстраивать под себя. Переназначайте клавиши, изменяйте ПЗУ машины, скорость эмулируемого компьютера (разгоните ZX Spectrum!) и многое другое. Во вкладке Machine можете изменить модель. Если вы захотите запустить модели +3 и +3е, то вам понадобиться еще одна специфичес-кая библиотека – lib765, которая доступна по адресу: http://www.seasip. demon.co.uk/Unix/LibDsk/. Общая инструкция по работе с эмулятором может выглядеть так: во вкладке File выберите пункт Open и щелкните на интересующем вас образе (поддерживаются .Z80 – снимки памяти или .TAP – образы аудиокассет). Затем играйте и наслаждайтесь! Alien8 – звезды, космос, роботы – что может быть увлекательнее.56 Linux Format Июль 2007 ЭмуляцияCommodore AMIGA Эмулятор: E-UAE Сайт: www.rcdrummond.net/uae Прототип компьютера Amiga был впервые продемонстрирован на выставке Consumer Electronics Show 4 января 1984 года в Нью-Йорке, в Линкольн-центре. В качестве демонстрации по экрану летал белый шар в красную клетку, с грохотом ударяясь о края экрана («Bouncing Ball»). Мнение присутствующих, после технологического шока, свелось к тому, что наступила новая компьютерная эра. В продажу уникальный компьютер попал в 1985 году и благода-ря фантастической мощи использовался многими исключительно для игр. В его основе лежал центральный процессор Motorola 68000 7 МГц, но это была исключительно быстрая машина, обладающая многозадачной операционной системой AmigaOS с революционной библиотекой Intuition, ориентированной на работу с манипулятором типа «мышь». Секрет этой мощи крылся в уникальных специали-зированных чипах Agnus, Portia и Daphne, использовавшихся для вывода графики, звука, управления портами и экраном. Они поз-волили в 1985 году легко выполнять на несравенно более дешевой Commodore AMIGA ту же работу, что и на компьютерах стоимостью 50 000 долларов. AMIGA стала активно использоваться для созда-ния видео-эффектов в ультрамощных блокбастерах Терминатор 2, Джеймс Бонд, Вавилон 5 и других. Причем в Вавилоне 5, благодаря мощи объединенных компьютеров Amiga, впервые удалось на экране отобразить более 100 космических кораблей – на тот момент совер-шенно невиданное зрелище! А теперь немного сухих технических данных. Commodore AMIGA способна отображать до 4096 цветов (режим HAM – Hold and Modify), демонстрировать живое видео на полный экран, проигрывать многоканальный звук (в формате MOD), выво-дить одновременно на экран окна в разном разрешении и просто убивать наповал многозадачностью, ориентированной на применение в настольных системах. На этом компьютере очень много высоко-классных красивых игр (достаточно назвать Lion Heart, Brian The Lion, Stardust) и уникальных программ (Deluxe Paint, Lightwave 3D, Directory Opus), которые постоянно пытаются воссоздать на современных систе-мах, но пока безрезультатно (пример: замена Directory Opus 4 – файло-вый менеджер Gentoo). Все эти скины для проигрывателей, перетаскивание контента на иконку программы для запуска и многое другое уже давным-давно было на Amiga. Аудио воспроизводилось без участия центрального процессора, видео – аналогично, поэтому пользователи Amiga всегда работали под фоновую музыку. Всего при создании Amiga было реали-зовано более 50 ноу-хау, позже запатентованных. Все модели Amiga можно глобально разделить на два поко-ления машин. Первое – на чипсетах OCS (Original Custom Chip)/ECS (Extended Custom Chip) – это A1000/2000/3000/500/500+/600. Второе – на революционном чипсете AGA (ранее AA), где были сняты ограничения на количество цветов, серьезно увеличена скорость – A4000/A1200/A5000 и т.д. Модели A1000/2000/3000/4000 были профессиональными маши-нами в корпусах настольного типа с возможностью расширения. Модели A500/500+/600/1200 умещались в клавиатуре и предоставля-ли ту же мощь за значительно меньшие деньги. Присутствовали также и возможности расширения, хотя и не в таком объеме, как у профес-сиональных вариантов. Большое распространение на платформе Amiga получили акселера-торы, увеличивающие мощность домашней Amiga в 5, 10 и даже 50 (!) раз. В нашей стране хитом был Blizard 68030 50 МГц благодаря невы-сокой цене и отличному быстродействию. Ввиду высокой сложности платформы, на сегодня существует всего два основных эмулятора Commodore AMIGA: xfellow и UAE. Я же рекомендую E-UAE, основанный на UAE. Он имеет совершенно фантастическую совместимость с легендарной машиной и способен изменять настройки в процессе работы. Эмуляция потребует обра-за ПЗУ Amiga – kickstart. Для игр, созданных для первых чипсетов OCS или ECS, часто достаточно kickstart v1.3, для ECS-основанных игр – kickstart v2.0, а для AGA-игр – kickstart v3.0. Следует отметить, что зачастую ECS и AGA-версии одной игры существенно различают-ся – дабы показать пользователю все прелести AGA-чипсета. Самые первые игры для Amiga – в основном, примитивные пор-ты с ATARI ST не раскрывали возможностей супермашины. А вот с конца 80-х – начала 90-х графика просто поражает: посмотрите на SuperStardust и Kid Chaos. Хочу добавить, что я был счастливым обладателем Commodore AMIGA 600HD (выпуска 1992 года) – чему безмерно рад, так как сей факт внес в мою жизнь громадное количество положительных эмоций. E-UAE обладает великолепным графическим интерфейсом, поэтому настроить его не составит труда. Только обратите внимание: эмулятор стоит на паузе, и для начала его работы надо кнопку паузы отжать. Привожу несколько стандартных конфигураций для настройки популярных машин. Конфигурация 1 (AMIGA 600): Chip Mem: 2 МБ (расширенная на 1 МБ для уменьшения количества подгрузок) Slow Mem: нет Fast Mem: нет Kickstart ROM: Kickstart v.2.0 (версия 37175) CPU Model: 68000 (Accuracy: normal /Speed: Approximate 7 Mhz) Chipset Model: ECS Sprite Collisions: Full Пренебрежение этим пунктом может повысить скорость эмуляции, но в таких играх, как Deluxe Galaga, вы обнаружите, что пули перестали причинять врагам повреждения, а призы не подбираются. Обратите внимание, что включение галочки Immediate Blits может Июль 2007 Linux Format 57 Эмуляция нарушить некоторые эффекты в играх (например, в Elfmania перестают низвергаться водопады). Sound: Stereo (Accurate, 16 bit) В настоящей Amiga звук 8-битный. На более мощных моделях с AGA-чипсетом пользователи стали использовать драйвер AHI, позво-ляющий получить 12-битный звук, но поверьте, и при 8 битах «амиж-ный» стереозвук великолепен и просто завораживает своим каче-ством, приятным тембром и своеобразной «хрипотцой» на высоких частотах. Звук на Amiga – как вино с хорошей выдержкой: пьянит с первого глотка. Управление: выбирайте – Numeric pad или джойстик (если есть). Конфигурация 2 (AMIGA 1200): Chip Mem: 4 МБ (по умолчанию продавалась с 2 МБ на борту, но добавление еще 2 МБ увеличивало скорость A1200 в 2 раза!) Slow Mem: нет Fast Mem: 8 Kickstart ROM: Kickstart v3.0 (A1200) rev 39.106 (512k) CPU Model: 68020 Chipset Model: AGA Sprite Collisions: Full Sound: Stereo (Accurate, 16 bit) Почти все игры на Amiga рассчитаны на использование джойстика (без него на настоящей Amiga играть не получится). Я первое время использовал джойстик от ZX Spectrum, но спустя некоторое время переделал геймпад от SEGA Megadrive. Если вы выбрали Numeric pad, клавишами управления будут: 8 – вверх, 2 – вниз, 4 – влево, 6 – вправо, 5 – огонь. Дополнительными клавишами могут быть: Space (использование бонусов в Brian the Lion), 0 (Ins), Shift (совместно со стрелками влево-вправо – смена оружия) и другие. Общий принцип управления таков: Без нажатой клавиши «огонь» – движение и прыжки. Нажатие клавиши «огонь» и любой другой – новое действие. Могу сказать, что такое управление действительно удобно (на джойсти-ке) – оценить правоту слов можно, поиграв в знаменитую «амижную» драку Body Blows. Качество графики на Amiga изумляет и завораживает. Я использо-вал и использую очень много различных игровых систем, но если и в 2007 году я в тридцатый раз прохожу Stardust или Banshee, то, вероят-но, в этом действительно что-то есть. SUPER NINTENDO Эмулятор: ZSNES Сайт: www.zsnes.com Если бы Фусадзиро Ямаучи {Fusajiro Yamauchi] не играл в карты, не было бы Super Nintendo. Забыл добавить – «в 1889 году». А если уж быть совсем точным – не начни он продавать игральные карты, вырезанные из коры тутового дерева, не основал бы и компанию Nintendo Koppai. Как вы знаете, эволюция сделала из обезьяны человека. Так и компания по продаже карт превратилась в мегамонстра электронных развлечений Nintendo Co. Ltd. Нас же интересует продукция этой ком-пании, а точнее, SNES. Игровая приставка Super Nintendo была задумана как убийца SEGA Megadrive/Genesis. И убийца был создан – правда, довольно странный. SNES поступила в продажу, когда MD существовала уже около трех лет – для приставки весьма солидный возраст. Чем же должна была блеснуть новая система, чтобы не осрамиться перед старичком? Безусловно, 256-цветной графикой и потрясающим звуком. К сожалению, SNES обладала крайне слабым центральным про-цессором – всего 3,58 МГц. Из-за такого досадного ограничения на приставке очень много красивых, задумчивых игр, а вот боевики, где врагов укладывают пачками в вагоны и на экране сверкают десятки взрывов, увы, можно по пальцам пересчитать. Из за чего захочется поиграть под Linux в SNES-овские игры? О-о-о! Один SuperMetroid чего стоит – превосходная научно-фантастическая похлебка с путешествиями на чужие планеты. А ведь есть еще Final Fantasy 5, Chrono Trigger, Flinstones, Final Fight 2 и другие шедевры. Нам здорово повезло: для Linux существует лучший эмулятор этой консоли – ZSNES. ZSNES – открытый эмулятор Super Nintendo Entertainment System, написанный на ассемблере, C и C++. Его создает достойная команда программистов – zsKnight, _Demo_, pagefault, Nach и lheubt. Эмулятор великолепен: он справляется почти со всеми игра-ми для SNES, включая уникальную Star Ocean, и уверенно движется к 100% совместимости. Пока еще не доведена до совершенства эмуляция специальных чипов, встраиваемых в некоторые картриджи, чтобы удивить игроков видеоэффектами и объемной графикой. Но даже такой известный чип, как SuperFX, воспроизведен на 90%. Это означает, что вероятность най-ти «ром» с игрой, который был бы не по зубам ZSNES, крайне мала. Если вы все же жаждете увидеть это своими глазами – в качестве примера приведу Batman returns. Но, разумеется, игры, созданные для использования совместно со спецчипами, более требовательны к ресурсам вашего компьютера. В среднем, необходима машина с процессором частотой от 500 МГц (при использовании X) или 266 МГц (без X), 64 МБ ОЗУ. Также очень жела-тельна 3D-видеокарта. ZSNES может использовать (по вашему желанию) билинейную фильтрацию, позволяя насладиться гладкой (без пикселизации) кар-тинкой и фантастической плавностью. Эмулятор обладает превосходным интуитивно понятным графичес-ким интерфейсом и может работать как в окне, так и в полноэкранном режиме. Из интересных дополнений отмечу возможность наполнить задний план эффектами вроде снега или кругов на воде. Иными словами, несколько тысяч превосходных игр ждут не дож-дутся возможности украсить экран вашей Linux-машины и украсть у вас пару тысяч часов свободного времени.58 Linux Format Июль 2007 ЭмуляцияДля сборки ZSNES из исходных кодов понадобится установить ассемблер nasm. После запуска ZSNES вы увидите окно с надписью, приглашаю-щей нажать клавишу Space. Далее выберите пункт GAME –> LOAD и в открывшемся диалоге выбора файлов выделите «ром» с игрой. Я запустил великолепный платформер The Flinstones. После запуска игры первым делом подстройте эмулятор. Нажмите ESCAPE и выберите меню CONFIG. Здесь нас больше всего интересует пункт VIDEO. Он открывает окно с двумя вкладками – MODES и FILTERS. В MODES можно выбрать разрешение окна и режим (полноэкранный /оконный). В FILTERS для борьбы с пикселями отметьте пункт BILINEAR FILTER – это превосходный вариант получить изображение игры, схо-жее с тем, что можно наблюдать на телевизоре с подключенной насто-ящей SNES. Если вам покажется, что музыкальное сопровождение в играх звучит недостаточно хорошо, это можно легко исправить в меню CONFIG –> SOUND: изменяйте частоту дискретизации [sampling rate] вплоть до 48 000 Гц, добавляйте surround – в общем, делайте, что душа пожелает. Стандартное управление (по умолчанию это курсорные клавиши и Z/X/S/A/D/C) изменяется в меню CONFIG –> INPUT – настройте клавиши «под себя», а лучше подключите геймпад! Дополнительные клавиши, используемые эмулятором: F1 – быстрое меню к основным опциям. F2 – сохранить игру. F3 – выбрать другой слот для сохранения (от 0 до 9). F4 – загрузить ранее сохраненную игру. P – пауза. И вот теперь, после Putty Squad, Rock‘n’Roll Racing, Final Fantasy, Alien 3, Prince of Persia, Tetris Attack… у вас все еще хватает наглости говорить, что под Linux нечем заняться серьезному человеку? Ну что же, тогда держитесь! SONY PLAYSTATION 2 Эмулятор: PCSX2 Сайт: www.pcsx2.net Если вы думали, что под эмуляторами можно играть только в ретро-игры, то, мои дорогие, вы жестоко ошибались. Хотите попробовать игры с SONY Playstation 2 на вашем Linux? Тогда – за дело! На момент написания статьи для нас вышла специальная новейшая версия PCSX2 0.93 c обновленными модулями дополнений (plugins). Пользователи Windows могут только молча завидовать, так как для них пока един-ственный вариант – довольствоваться старой версией. 0.93 – эксклю-зив, выпущенный специально для Linux. PCSX2 – это эмулятор, позволяющий реально играть в Playstation 2-игры на PC уже сегодня. Это – событие. Обратите внимание, с какой помпой в этом году был выпущен для PC-совместимых компьюте-ров порт Resident Evil 4 – и вот игра работает на PCSX2! Как и Final Fantasy X! И Tekken 4! Для нормальной полноскоростной эмуляции компьютера Amiga с 7-MГц процессором требовался Pentium 150 MГц при использовании эмулятора xfellow или 800 MГц с UAE, поэтому, надеюсь, вы понимае-те, какой компьютер нужен для эмуляции 300+ MГц монстра. Пугаться особо не стоит, но очень рекомендуются процессоры с двумя ядрами (например, Pentium D 925 или Core 2 Duo). Также для работы PCSX2 (а точнее, видеомодуля ZeroGS KOSMOS OpenGL 0.96.2) вам потребуется специфическая библиотека libCG.so. Взять готовый RPM-пакет с ней можно на сайте NVIDIA. Эмулятор использует для своей работы систему дополнительных модулей, отвечающих за поддержку различных устройств – вероят-но, это лучший способ совершенствовать эмуляцию консоли. Отсюда вытекает, что если вы не удовлетворены работой какого-либо устрой-ства, то попробуйте другой модуль. Перед началом игры лучше снять образ с игрового диска. Для этого отлично подойдет модуль EFP Iso CDDVD Driver 0.60. Выбрав его, ука-жите в настройках, что хотите снять образ, и наберитесь терпения: это достаточно долгий процесс. Альтернативный вариант: воспользуйтесь стандартным K3b. Кроме того, обратите внимание на имя вашего DVD-устройства (внимание: игры с PS2 поставляются на DVD-дисках) – не исключено, что оно отличается от указанного в настройках. Обычно это /dev/hdc, но его можно точно определить, профильтровав вывод команды dmesg (dmesg | grep hd). Ваша видеокарта должна поддерживать 3D-ускорение (проверьте его наличие: glxinfo | grep direct). И, наконец, любителям Beryl (к коим отношусь и я) рекомендую на время работы эмулятора отключить трехмерный рабочий стол во избе-жание падения производительности. После всего вышесказанного могу только добавить, что проект PCSX2 находится в разработке уже 4 года, и с каждым выпуском количество играбельных шедевров увеличивается. PCSX2 выпускает-ся по лицензии GPL, то есть все факторы для весеннего оптимизма присутствуют. Ну что же, бежим за охапкой дисков от PS2 и устанавливаем в привод! Перед покупкой не мешает ознакомиться со списком совмес-тимости игр на сайте PCSX2.net. А Final Fantasy X или Devil May Cry 3 хватайте, не раздумывая. Если какой-то файл пока не работает – не расстраивайтесь, а наберитесь терпения. Думаю, через год накопится уже внушительная подборка игр, нормально работающих в PCSX2. Совет Длиннющие ролики в RPG-играх можно быстро прокрутить увеличив скорость эмуляции удержанием клавиши “~”. Совет Для корректной работы Final Fantasy X необходимо применить fix нажатием клавиши F9.Июль 2007 Linux Format 59 Эмуляция MS DOS /IBM PC Эмулятор: DOSBox Сайт: dosbox.sourceforge.net Ах, эти прежние деньки. Медленные компьютеры. Comanche Overkill, Flashback, Jill of the Jungle... DOSBox предлагает вернуть их, благодаря отличной эмуляции старых IBM PC. Под ним у меня запустилось больше игр, чем на настоящем 386SX 40МГц, но вам понадобится мощный компьютер. Если на столе анти-квариат в духе Pentium III–500, то можно рассчитывать на приемлемую скорость работы программ, написанных для 286-х машин (Prehistorik 2, Flashback: тоже неплохо). Реально, желательно иметь 2000 МГц. После запуска DOSBox на экране появится знакомый «черный экран» с приглашением z:\> внизу. Это виртуальный диск, созданный самим «досбоксом». Его содер-жимое можно просмотреть, дав команду dir (не мучайте ls). Нам же интересно увидеть свои данные из домашней директории (например, из папки games). Для этого выполните команду: mount c /home/пользователь/games Появится виртуальный диск С:, включающий содержимое games. Перейдем на него: с: Содержимое, как мы уже знаем, можно просмотреть командой dir. Я, к примеру, увидел у себя каталог Gods с игрой Gods и зашел в него командой cd Gods (автодополнение по TAB работает!), а затем запустил исполняемый файл, напечатав: gods.exe. Просто? На самом деле проще было зайти в папку в вашем любимом файло-вом менеджере GNOME/KDE и щелкнуть на исполняемом файле, зара-нее ассоциировав его с DOSBox, но... Что если это CD-версия игры? Если для игры необходим CD-ROM, дайте команду (при условии, что физический привод имеет точку монтирования /media/cdrom): mount d /media/cdrom -t cdrom Не сработает – попробуйте такой вариант: mount d /media/cdrom -t cdrom -usecd 0 Но с DOSBox можно использовать и обычные ISO-образы. Не знаю, насколько это правильный путь, но всегда их снимал командой: cat /dev/hdc >/home/user/disk.iso и проблем не имел. Монтирование ISO в DOSBox также не вызывает труда: imgmount d /home/user/myiso.iso -t iso В эмуляторе используются горячие клавиши: Alt+Enter – переход в полноэкранный режим и обратно; CTRL+F4 – смена подключенных ISO-образов; CTRL+F5 – сделать снимок экрана; CTRL+F6 – старт/стоп записи звука в файл WAV; CTRL+F7 – уменьшить количество пропускаемых кадров; CTRL+F8 – увеличить количество пропускаемых кадров; CTRL+F9 – выход из эмулятора; CTRL+F10 – включение мыши, если она автоматически не подключилась; CTRL+F11 – замедлить эмуляцию; CTRL+F12 – ускорить эмуляцию. Для любителей покопаться в настройках есть файл dosbox.conf. В нем можно изменить многие параметры – в том числе объем памяти и качество звука. В принципе, стоит также включить использование OpenGL для борьбы с пикселизацией и получения гладкой картинки. Надеюсь, после прочтения этого небольшого руководства вы смо-жете играть в любимые DOS’овские игры под Linux. Есть очень много отличных игр, те же Jill of The Jungle или Jazz Jack Rabbit, аналогов которым нет на других системах. Сияй, безумный бриллиант Завершая этот краткий экскурс, я хотел бы сказать, что коснулся лишь верхушки гигантского айсберга под названием «Эмуляция». Заметьте, мы пока даже не произнесли имена таких мегасистем, как SONY Playstation, Nintendo 64, NeoGeo, ATARI Jaguar 64, ATARI ST, X68000, PC98 и даже существовавшей 32-битной приставки виртуальной реаль-ности Virtual Boy, ощутить объемность игр с которой можно и сегодня. Но об этом и многом другом – в следующий раз. А пока, надеюсь, вы прониклись идеей, что эмуляция – это еще одна грань, заставляющая безумно сиять бриллиант GNU/Linux. LXF Аркадные автоматы Эмулятор: MAME Сайт: www.mame.net Если вы соскучились по хорошей стрелялке, где от вас требуется толь-ко давить на курок, а шедевры типа Hunt for Red October или Tyrian дав-но пройдены и пылятся в глубине шкафа – обратите внимание на игры с аркадных автоматов. Эти совершенно потрясающие устройства с невероятной мощью были нацелены на брутальное удержание игрока возле себя путем овладения его разумом через игры. Впрочем, мы это уже видели в фильме «Последний звездный боец», и если после прохождения всех уровней нагрянут инопланетяне – я вас предупреждал. И снова пользователям свободных ОС здорово повезло. В нашем арсенале есть совершенно фантастический эмулятор гигантского количества игровых автоматов – MAME. Его разработкой занимают-ся, как водится, гениальные программисты. Релизы выходят один за другим: добавляются новые игры, улучшается эмуляция и скорость работы трехмерных игр. Можно даже сказать, что MAME – самый потрясающий эмуляционный проект в истории. К сожалению, графического интерфейса MAME не предоставляет, но можно воспользоваться одной из оболочек. Кстати об оболоч-ках: свою совместимость с XMAME заявляют многие, но разработ-ка последнего практически заморожена. Активно развивается порт SDLMAME, его-то и имеет смысл установить к себе в систему. Я собирал версию 0.112 из исходных текстов. Получившийся дво-ичный файл файл назывался mamepm. Чтобы запустить игру, доста-точно набрать: mamepm /путь к игре/игра. Если в системе установлен Beryl, то разумнее задействовать мощь 3D-видеокарты для отображения игр и увеличить размер окна (менять размер окна можно прямо в запущенной игре). Строка ниже запускает игру Armed Formation – ураганную косми-ческую стрелялку: ./mamepm /путь к игре/armedf.zip -video opengl -window -maximize Для игры в полный экран: ./mamepm /путь к игре/armedf.zip -video opengl Количество поддерживаемых МАМЕ игр приближается к пяти тыся-чам, и это реальные шедевры игростроения. Аркадные версии Contra, Final Fight, Mortal Kombat просто обязаны быть пройдены. Думаю, я помог вам найти способ скоротать ближайшие выходные. Полезные ссылки: www.zophar.net старейший эмуляционный сайт. linuxemu.retrofaction. com эмуляционный Linux-сайт. www.mameworld.net MAME-ресурс. www.pbernert.com/– сайт с модулями для PCSX2. developer.nvidia. com/object/cgtoollkit15#downloads библиотека Cg для ZSNES.Июль 2007 Linux Format 61 3D modelling tool Reviews 62 Файлообменник Нет, это не очередной материал в пику RIAA – Энди Ченнел расскажет о легальном обмене файлами с помощью FTP и сетевых сервисов. 66 Макрос OOo Если вы устали смотреть на колонки цифр, Марк Бэйн покажет, как упростить себе жизнь с помощью OOo. Откиньтесь на спинку кресла и наслаждайтесь! В этом выпуске... 70 Сетевая безопасность с Wireshark Почти ничего из того, что вы передаете по сети, не шифруется – так что ваши пароли может подсмотреть кто угодно. Грэм Моррисон покажет, как успеть раньше хакеров. 74 Взламываем SHA1 Метод грубой силы – путь истинных мачо. Пол Хадсон сделает из вас настоящих C#-программистов, черт побери! 78 JavaScript: живописный Web Не умеете программировать, но хотите прославиться на всю Сеть? Дэн Фрост подскажет крутую технологию с минимумом кодирования. 82 Настоящий GNOME Андрей Боровский расскажет о буфере обмена, VFS и других вещах, отличающих игрушечные программы от настоящих. 86 Команды и фабрики Заводы – рабочим, фабрики – классам! Антон Черноусов сделает Адресную книгу вдвое гибче, применив всего два новых паттерна. 90 Программирование для LaTeX Не нравятся стандартные команды LaTeX? Определите свои – Евгений Балдин проведет вас по всему пути – от счетчика до пакета на CTAN. 94 Тренируем электронную подпись Довольно теории! Узнайте, как использовать электронную подпись в стандартных Linux-приложениях: прочтите очередной учебник Андрея Боровского! 98 Путь аниматора История игрушек тесно переплетается с историей Debian, а на что повлияет ваш мультфильм? Петр Семилетов расскажет о монтаже анимации в Cinelerra. 101 OpenVPN за 10 минут Любите делать все из командной строки? Валентин Яценко научит как создавать VPN-соединения и защищать свои данные от злоумышленников. Наши эксперты помогут вам с любым приложением Linux Учебники Совет месяца: Настольные жесты Третья стадия? ЕВГЕНИЙ БАЛДИН Начинал с Агатов. Когда-то даже знал, что такое Робик. В мае-месяце случилось неверо-ятное. Дело даже не в том, что ведомство Германа Грефа в лице его зама Андрея Шаронова раскритикова-ло безумный план закупки программного обеспечения для школ и рекомендовало обратить внимание на открытые програм-мы вообще и на GNU/Linux в частности, а Министерство финансов прислушалось. Работа у Минэкономразвития такая – счи-тать деньги, а Министерства финансов – их не давать. Удивительно, что даже и возра-зить этому никто ничего внятно не смог и, надеюсь, не сможет. Дело отнюдь не в отсутствии лоббистов – этого добра было хоть отбавляй. Но уж больно беспечно эти лоббисты себя вели – по-хозяйски. Само существование свободного программного обеспечения показало, что пресловутой монополии-то и нет. Конечно, везде стоит, как правило, сами знаете что, но никого не могут обязать и дальше сидеть на этой «игле». Альтернатива есть! Однако само позиционирование как альтернативы – это, к сожалению, недо-статочное условие для развития свобод-ного сообщества. Нужны адепты в хоро-шем смысле этого слова. Чтобы появились тысячи, следует для начала «напрячься» для единиц. То есть – опять в школу. Оглянитесь вокруг и, если у вас есть родс-твенники в образовательных учреждениях, помогите им на этом пути. Кстати, родс-твенники среди учителей не обязатель-ны – ученики тоже годятся. И если первых может и не быть, то вторых вполне можно завести. E.M.Baldin@inp.nsk.su Он похлопал Бога Солнца по плечу. – Эй, солнышко! Когда бог обернулся, Ом сломал рог изобилия об его голову. Терри Пратчетт. Мелкие боги. Почти все Советы месяца так или иначе связаны с командной строкой. Все потому, что это универсальный инструмент, включенный во все дистрибутивы Linux, одинаково полезный как для профи, так и для новичков. Это не значит, что мы в LXF проводим свои дни в Bash – как и многие пользователи, мы предпочтем хороший GUI вводу пары-тройки команд. Просто Советы для графи-ческих инструментов писать сложнее – существует мно-жество способов решения одной и той же задачи, и каждый предпочитает что-то свое. Но если и есть какая-то одна функция какой-то одной среды, которую неза-служенно забывают, то это панель Действия ввода в Центре Управления KDE. Она не бросается в глаза и вы, вероятно, никогда на ней не останавливались. Однако, десять минут, потраченные на знакомство с предлагае-мыми опциями, могут изменить ваш рабочий стол. Первое, что можно сделать с помощью Действий ввода – это назначить соответствие между жестами мышью и клавиатурными комбинациями. Представьте: легкий взмах курсором – и вы перемещаетесь между просмотренными web-страницами. А поскольку Konqueror – это не только браузер, но и файловый менеджер, вы можете применить данный подход и к локальной файловой системе. Чтобы воплотить вышесказанное в жизнь, откройте панель Действия ввода – она находится в категории Региональные настройки Центра управления KDE. Выберите из списка действий Росчерки Konqueror и убе-дитесь, что флажок Выключено не установлен. Затем укажите требуемое действие (Вперед/Назад – хороший кандидат для первой попытки) и перейдите на вкладку Росчерки. Здесь необходимо изобразить мышью фигу-ру, соответствующую действию, при этом правую кнопку нужно держать зажатой. По нашему мнение прочерк слева направо хорошо подходит для функции Вперед, а справа налево – для Назад. Повторите каждый жест три раза, и постарайтесь, чтобы вышло похоже. Наконец, нажмите Применить и наслаждайтесь!62 Linux Format Июль 2007 Учебник Первые шаги Часть 1: Совместное использование по FTP Что вам нужно? Файлы. Когда они вам нужны? Сейчас! Энди Чeннел покажет вам, как добраться до них из любого места... Первые шаги Советы для тех, кто только начинает знакомиться с Linux Месяц назад Мы осветили темные углы и секреты файловой системы Linux. Как и многие системы передачи информации, FTP основан на техно-логии клиент-сервер. Это означает, что в любой транзакции участвуют два элемента: сервер (приложение, запущенное на удаленное машине) и клиент (приложение, запущенное на локальном компьютере). Мы соединяем последний с первым, чтобы посылать и принимать дан-ные. Поскольку более вероятно, что мы будет больше времени тра-тить на доступ к файлам, чем на предоставление доступа, то сначала рассмотрим клиент. При помощи этого ПО вы можете подключаться к удаленному серверу и работать с файлами так (в соответствии с пра-вами доступа к серверу), как будто они находятся у вас на локальной машине. Для Linux имеется множество клиентов, как графических, так и для командной строки. Мы, неизбежно, заинтересованы в графичес-ких клиентах, наиболее яркие примеры которых – GFTP, IglooFTP, KFTPGrabber и Konqueror. На нашем уроке я использую Ubuntu, но эти приложения доступны для многих популярных дистрибутивов. Вы вполне можете установить подходящий клиент при помощи вашего обычного менеджера пакетов. Именно так я выбрал GFTP (просто пото-му, что это наиболее популярный клиент для Ubuntu), но процесс не зависит от того, какой пакет вы решили установить. В Ubuntu выполните Приложения > Добавить/Удалить и просмотри-те страницу Интернет в поисках соответствующих программ. Выберите их, щелкнув на флажке, рядом с ними, щелкните на кнопках Применить и OK и подождите, пока приложение загрузится и установится. По завершении вы сможете найти приложение в меню Приложения > Интернет. Запустите его. Большинство FTP-клиентов в главном окне имеют две панели, плюс стандартную панель инструментов. В GFTP левая панель отображает локальную файловую систему, а правая – удаленную файловую систе-В вашем дистрибутиве должно быть много FTP-клиентов.. Вы, поди, думаете: да ладно, не расскажет же он нам, как бес-платно загрузить полные версии Spiritualized или Шрэк Третий? И вы правы. Фраза «совместное использование файлов» имеет столь же безупречную репутацию, как Тони Сопрано, но мы говорим не о совместном использовании файлов в духе Kazaa или Gnutella, а о том, что называется «личное удаленное использование файлов». То есть получение доступа к вашим собственным файлам из любой точ-ки мира. Урок состоит из двух частей. В первой рассматривается то, что называется File Transfer Protocol (FTP), как со стороны сервера, так и клиента, а во второй, более короткой, мы рассмотрим кое-какие методы хранения файлов и документов в сети, чтобы не настраивать каждый раз ПК, а то и держать его дома постоянно включенным, для возможности доступа к вашей информации в дороге. Оба этих подхода к личному удаленному использованию файлов полезны. Один хорош, когда у вас много файлов, которые должны быть постоянно под рукой, а другой выгоден, когда ваши нужды не требуют много места – хотя, используя данные методы, вы можете хранить в сети до 1 ГБ – но вы предпочитаете упрощать себе жизнь. Оба подхода имеют свои плюсы и минусы, если вы хотите использовать свои файлы совместно с друзья-ми и коллегами (коль скоро у вас есть права на раздачу этих файлов), и я упомяну их по ходу рассказа. Система: Файлы Наш эксперт Энди Ченнел Энди делает свои первые шаги в Linux уже шесть лет, а технологиями интересуется еще со времен Dragon 32Июль 2007 Linux Format 63 Первые шаги Учебник Исследуем интерфейс GFTP На DVD GFTP 2.0.18 в общем доступе 1 Параметры соединения Здесь вы настраиваете сервер, к которому подключаетесь. В данном примере я соединяюсь с FTP-сайтом Gimp, чтобы установить послед-нюю версию. Здесь размещены (слева направо): кнопка Соединение/Отключение, адрес сервера, номер порта (обычно здесь стоит 21), имя пользователя и пароль, а также выпадающий список для определения протокола соединения. Наконец, у правого края находится кнопка для полной остановки любой активности. 2 Локальная файловая система Это работает так же, как и файл-менеджер вроде Nautilus или Konqueror. Вы можете, если хотите, копировать и вставлять файлы внутри этой системы обычным способом. 3 Кнопки Разместить [Push] и Скачать [Pull] Если протащить и бросить слишком трудно, то выделите файл, кото-рый хотите передать в локальную или удаленную файловую систему, а затем нажмите соответствующую кнопку для его размещения на серве-ре или загрузки в вашу файловую систему. 4 Удаленная файловая система Это файловая система сервера, к которому вы подключились. Хотя она выглядит точно так же, как и локальная, ваши возможности изменять что-либо ограничены правами, которые определяет администратор. Так, например, для FTP-сервера Gimp мы свободно можем скачивать файлы с сервера, но не можем что-либо разместить на нем и не можем изменять саму структуру файловой системы. 5 Панель активности В основном, это журнал всех действий, выполняемых клиентом. Это то место, куда следует посмотреть в первую очередь при возникновении проблем, и он также полезен, если вы хотите точно знать, что вы, соб-ственно, делаете. 1 2 3 4 5 му (если вы соединены с удаленным сервером). В этих панелях можно перемещаться так же, как и в обычном менеджере файлов. Например, дважды щелкните на каталоге, чтобы просмотреть его содержимое; чтобы вернуться назад к дереву, дважды щелкните на двух точках (..) в верхней части окна. Хотя эти окна отображают разные вещи, между ними можно перетаскивать файлы: так, в верхней врезке (на которой показан GFTP, соединенный с FTP-сервером Gimp), я могу перенести последнюю версию Gimp (или любой другой файл) напрямую в любой каталог моей локальной файловой системы точно так же, как с одного диска на другой. На самом деле, именно это я и делаю, только вмес-то путешествия по шлейфам в моем ПК, файлы перемещаются в сети Интернет. FTP-клиент во многом схож с web-браузером. Вы вводите адреса и просматриваете документы, только они не отформатированы для отоб-ражения, как это сделано на web-страницах. GFTP даже имеет функцию закладок, которые вы можете использовать, чтобы вернуться к часто посещаемым сайтам (например, на ваше персональное место для раз-деляемых файлов), не вводя каждый раз все детали. Размещение файлов Установив и настроив клиент, разберем другую сторону, то есть сервер. Поскольку Linux заслужил свою репутацию на обслуживании файлов, то вы можете ожидать большого числа доступных FTP-серверов, и будете правы. Однако вместо выбора одного из стандартных пакетов типа PureFTP или GProFTPd я собираюсь обратиться к небольшому приложению под названием CrossFTP (www.crossftp.com). В отличие от стандартных FTP-серверов в Linux, это приложение изначально разра-батывалось как графическое, поэтому имеет очень приятную оболочку, используемую для настройки и управления. К тому же CrossFTP явля-ется полностью кроссплатформенным, поскольку разрабатывается на Java и выпускается по открытой лицензии Apache. CrossFTP устанавливается прямо с web-сайта проекта, и, если ему позволить, размещает ярлык на рабочем столе. Дважды щелкните на нем для запуска графического интерфейса. После этого ныряйте в приложение и жмите кнопку Запустить сервер [Start Server] – и если у вас Windows, он, вероятно, заработает. Однако Linux больше заботит-ся о безопасности и резервирует порты с малыми номерами (то есть те, через которые к вам могут подключиться другие компьютеры) для пользователя root [это не совсем так: подключение возможно к любому порту, но только приложениям, работающим от имени root, дозволено использовать порты с номерами меньше 1024 – а именно в этот диа-пазон попадают стандартные порты большинства популярных служб, в частности, FTP, – прим. ред. ]. Как я уже говорил, FTP обычно соеди-няется по порту 21, и вы должны быть суперпользователем, чтобы запустить сервер с этими настройками. Дабы не заниматься ерундой, намного проще выбрать порт соединения с большим номером, напри-мер, 8021. Чтобы сделать это, нажмите кнопку Настройка [Configure] в главном окне и введите ‘8021’ в строке Порт [Port]. Для закрытия окна настроек нажмите OK, а затем попытайтесь вновь нажать Запустить сервер [Start Server]. Получилось!64 Linux Format Июль 2007 Учебник Первые шаги У CrossFTP простой интерфейс, и он работает в любой ОС, способной выполнять Java. GFTP (клиент) успешно подсоединился к CrossFTP (сервер), и общая папка стала доступной. Неважно, аппаратный у вас брандмауэр или программный – вы не сможете подключиться, пока не настроите все правильно. Если вы храните документы в сети или открыли доступ к ним на вашем ПК из сети, чрезвычайно важно иметь сильный пароль в виде комбинации букв и цифр, желательно не составляющей словарное слово. Можете также предусмотреть и шифрование. Скорая помощь решен всем (Anyone), то есть разрешить подключение по этому пор-ту, минуя брандмауэр. Схожую процедуру необходимо проделать и с аппаратным брандмауэром, но для этого следует обратиться к прила-гаемой документации. Например, в моем маршрутизаторе Linksys нуж-но указать номер порта, намеченного к открытию, а затем определить компьютер в сети (по IP-адресу), к которому следует перенаправлять эти подключения. Другая область, на подробное обсуждение которой в данной статье нет места – это динамический DNS. Большинство интернет-провайде-ров предоставляют IP-адрес – это уникальный адрес для вашего ком-пьютера – на основе общего пользования, так что адрес 82.167.55.03 сегодня у вас, а завтра перейдет к другим клиентам. Это изрядно затрудняет подключение к вашему частному серверу. Выходов здесь два. Первый – запросить у провайдера статический IP-адрес; но про-вайдер может за это дополнительно подоить ваш кошелек. Второй, более дешевый способ – использовать динамический DNS, подписав-шись на службу динамической пересылки IP-адреса, типа No IP (www. noip.com). Вам предоставят приложение, которое будет запускаться при каждой загрузке, записывать текущий IP-адрес и отсылать его серверу имен. Вторая часть этой службы предоставляет вам доменное имя (что-то типа bob-smith.hopto.org), связанное с информацией, присылаемой на сервер первой программной частью. Теперь вы сможете исполь-зовать ваш FTP-клиент для входа на ftp.bob-smith.hopto.org, а служба автоматически перенаправит вас к верному IP-адресу, и вы доберетесь до своих файлов. Следующий этап – добавление одного или нескольких пользова-телей и назначение им паролей и домашних каталогов. FTP-серверы обычно запирают пользователей «в песочнице», чтобы они не могли получить доступ к внешним каталогам, в частности, настройкам серве-ра. К тому же, добавляя имена пользователей и пароли, мы повышаем шансы защитить наши файлы от чересчур любопытных. В левой части окна CrossFTP выберите вкладку Пользователи [Users]. Создадим одного пользователя на базе основного пользовате-ля этой локальной машины, а внутри его каталога /home – каталог спе-циально для разделяемых файлов. Для начала запустите ваш обычный менеджер файлов, перейдите в /home/username и создайте каталог с именем вроде /share. Теперь вернитесь в CrossFTP и введите имя поль-зователя и пароль, да посильнее, поскольку каталог может быть досту-пен из Интернета. Прямо под строкой Корневой каталог [Root Directory] находится кнопка Обзор [Browse]. Щелкните на ней, а затем через окно выбора файлов перейдите к желаемому каталогу. Нажмите кноп-ку Разрешить [Enabled], чтобы сделать его активным, затем, если вы собираетесь изменять файлы в каталоге удаленно, установите опцию Права на запись [Write Permission]. Можно, конечно, оставить эту опцию не установленной, если вы собираетесь при удаленном досту-пе только читать файлы или создаете открытый каталог для работы коллег или широких масс. Введя все что полагается, нажмите кнопку Сохранить [Save], и на этом все. Вы готовы к подключению. Собрать все вместе Для тестирования, создадим локальное соединение. Во-первых, возь-мите пару файлов и поместите их в ваш каталог /share. Теперь запус-тите установленный и настроенный ранее FTP-клиент (GFTP). Добавьте следующие параметры: Host: localhost, Port: 8021, User: имя пользова-теля в соответствии с произведенными настройками, Password: пароль. Теперь нажмите кнопку Соединение [Connect], и – с Богом... Слева вы должны увидеть всю свою файловую систему, а справа – содержимое каталога /share. Хотя мы и подключились локально, процесс удаленного подключе-ния практически таков же, за исключением нескольких принципиаль-ных отличий и чуть большей сложности. Эти сложности обусловлены двумя вещами: безопасностью и принципом работы Интернета. Во-первых, следует настроить ваш брандмауэр, разрешив подключение к порту 8021. Как это сделать, зависит от того, программный ли у вас брандмауэр или он является частью маршрутизатора. В Firestarter, популярном брандмауэре для Linux, вам необходимо произвести изме-нения внутренней политики, путем Добавления (Add) Новой службы (New service) и указания, что это FTP, номер порта 8021 и доступ раз-Июль 2007 Linux Format 65 Первые шаги Учебник Через месяц Научимся создавать классные меню для ваших DVD. Хочу предупредить... Сетевые хранилища – это здорово, но всегда существует шанс, что компа-ния, поддерживающая сервис, прогорит или откажет в бесплатных услугах. Вот несколько правил, которые стоит соблюдать, чтобы не остаться у раз-битого корыта. 1 Выберите авторитетный сервис. Например, Google или Yahoo! весьма стабильны. Если вы должны работать с новичком, посетите форум компа-нии и посмотрите отзывы других. 2 Рассматривайте это как кратковременное хранилище. Размещайте доку-менты, которые могут понадобиться вам для конкретного задания, и регу-лярно выполняйте оффлайн-резервирование. 3 Постарайтесь объединить оба описанных метода. Используйте защищен-ные разделы платного web-хостинга для хранения данных в сети и работай-те с ними при помощи FTP-клиента. 4 Подумайте о платных службах. Иногда вы действительно получаете что-Ваш ящик [box] имеет несколько функций стандартного файл-то очень нужное за свои деньги. менеджера – у всех бывают скрытые таланты. Часть 2: Использование сетевых сервисов Для быстрой загрузки ваших файлов весьма полезно держать Java-апплеты в активном состоянии. Если вы часто обращаетесь к файлам с вашего домашнего ПК, то FTP – хорошее решение; но если вам изредка необходим доступ к нескольким документам, то они могут быть скормлены какому-нибудь сетевому хранилищу, и тогда будут доступны с любого ПК. Сетевые хранилища существуют уже десятилетия, но лишь недавно хранение и трафик настолько подешевели, что это стало реальным вариантом. Более того, Web 2.0 как таковой означает, что вы сможете получить доступ к вашим документам и даже редактировать их, не покидая уютного Firefox. Нечего и говорить, что такой тип сервиса предполагает наличие широ-кополосного доступа в Интернет – передача файлов при помощи старого доброго dial-up, похоже, будет весьма утомительной. Важно также не забывать о безопасности, то есть обеспечить разумные имя пользователя и пароль и не размещать важную информацию вроде финансовых доку-ментов или компрометирующих изображений (вас и секретарши) в Сети. Я выбрал для использования www.box.net по ряду причин: у него есть несколько интересных функций кроме обычного хранения; похоже, он переживет следующий крах дот-комов; и он бесплатен (о других опциях см. наше Сравнение на стр. 18). Первым делом посетите сайт и заре-гистрируйтесь. Сервис предлагает 1-ГБ хранилище бесплатно, с ограниче-нием на размер индивидуальных файлов в 10 МБ и общий месячный тра-фик в 10 ГБ. Вы платите за расширение хранилища и снятие ограничений на трафик, за возможность открывать дочерние учетные записи и отмену ограничения скорости; однако бесплатный сервис вполне сгодится боль-шинству пользователей – включая нас. После регистрации и входа, вы будете перенаправлены к «ящику» [‘box’] с именем MyFiles, в котором вам и следует хранить свои файлы. Очевидно. Внутри этого пространства вы можете выполнять обычные для файл-менеджера операции: создание и удаление каталогов и файлов, их переименование, перемещение и поиск. Давайте добавим несколько файлов. Имеется несколько способов сделать это. Первый и простейший – щелкнуть на ссылке Upload New Files [Выгрузить новые файлы], что предоставит вам на выбор два варианта. Первый – щелкнуть на кнопке Add [Добавить], это приведет к выводу стандартного окна выбора файла. Вы можете пометить несколько фай-лов подряд (то есть стоящих в списке один под другим), щелкнув на пер-вом файле, или выбрать разрозненные файлы, используя клавишу Ctrl и мышь, и затем вновь щелкнуть на кнопке Выбрать [Select] для загрузки их в ваш «ящик». Более интересная опция – выбор Drag-n-Drop в диало-говом окне. При этом запускается небольшой Java-апплет, который вы можете сохранить в активном состоянии на вашем рабочем столе, что позволит вам просто перекидывать файлы прямо в его окно. Нажмите кнопку Добавить [Add], и они будут загружены автоматически. Оба этих способа загружают файлы в каталог, для которого они были применены. Есть еще и третий способ, который хорош, если вы в дороге: отошли-те файл по почте на адрес upload@box.net из-под вашей учетной записи, и он будет добавлен в папку Upload From Email [Выгружено по e-mail]. Позднее, при следующем входе, вы сможете переместить его в соответ-ствующее место. Сервис Box.net оснащен несколькими весьма интересными опциями совместного использования файлов зарегистрированными пользовате-лями и случайными посетителями, и начал вводить полезные функции редактирования, которые позволяют, например, открыть текстовый доку-мент в текстовом online-процессоре Zoho Writer и затем сохранить его в вашем ящике. Какой же метод лучше: FTP или сеть? Полностью настроенный FTP-сервер не только обеспечивает больший контроль над вашими данными с точки зрения безопасности, но также заставляет лучше понять, как взаи-модействуют ваша ОС и окружающий мир. Сетевые хранилища обеспечи-вают быстрый результат и, возможно, за ними будущее, когда вся «теку-щая работа» переберется в сетевые репозитории. Независимо от вашего конечного выбора – а может, вы выберете ком-бинированный вариант – вы получите приятное ощущение того, что ваши важные документы находятся на расстоянии одного щелчка. LXF66 Linux Format Июль 2007 Учебник Автоматизируем Openoffice.org Calc: Макрос для Автоматизируем Openoffice.org Пишем полезные макросы для таблиц Перелопатили все биржевые котировки, только чтоб убедиться: BMW вам уже не купить? Марк Бэйн упростит вам жизнь... Взглянув на экран котировок, вы увидите ссылку Скачать Данные [Download Data]. По ней мы добудем URL самих данных: http://download. finance.yahoo.com/d/quotes.csv?s=MSF.L&f=sl1d1t1c1ohgv&e=.csv. А зачем нам URL? Затем, что теперь можно в любой момент набрать его в браузере. Времени тут экономится немного, но главное – начать. На следующем шаге мы сэкономим гораздо больше времени. Если вы нажмете на Скачать Данные или напечатаете URL, Calc загрузит CVS-файл в мастер импорта. С его помощью вы можете указать раз-делители данных в файле OpenOffice.org (в нашем случае это, очевид-но, будут запятые), а затем OOo поместит каждое поле в свой столбец. Пока ничего нового – вы, возможно, проделывали такое уже сотни раз. Но вместо ручного ввода лучше написать макрос. Первый макрос Вы уже поняли, что можно получить котировки акций, написав сим-вол, представляющий фирму, как часть URL в вашем браузере, а затем загрузить их как CSV-файл в OOo Calc через мастер импорта. Теперь, прежде чем писать макрос для импорта, проанализируем импортируе-мые данные. Заметьте, что поля, которые скачиваются, определяются параметром ‘f’ в URL. Поэкспериментировав с ними, вы поймете, как работает каждое из них, но сейчас нам нужны только три: ‘s’, название фирмы, ‘l1’, последняя цена продажи, и ‘d1’, последняя дата сделки. Таким образом, наш URL превращается в http://download.finance.yahoo. com/d/quotes.csv?s=MSF.L&f=sl1d1&e=.csv, его мы и будем использо-вать в макросе. ОК, пора писать макрос. Откройте OpenOffice.org (неважно, какое приложение – сгодится Calc или Writer), затем нажмите Tool > Macros > Organize Macros > OpenOffice.org Basic. Здесь есть список языков на выбор (Basic, Python, BeanShell или JavaScript), но нам сейчас нужен Basic. Появится диалоговое окно, в нем надо нажать на кноп-ку Organizer. Откроется другой диалог, со вкладкой Module; выберите пункт Standard. Вы, небось, уже недоумеваете: да зачем вообще? – а дело-то простое. Standard – библиотека; в библиотеках хранятся моду-ли; в модулях хранятся макросы. Дошло? Тогда жмите на New, чтобы создать свой собственный модуль в библиотеке Standard. Нажав на New, вы увидите, что OOo предложит имя вашему моду-лю: ‘Module1’. Не используйте его. Довольно нудно работать с модуля-ми, названными Module1, Module2, Module3, и так до бесконечности. Лучше дать модулю значимое имя – например, свой я назвал ‘lxf94’ (угадайте, почему). В новом модуле нажмите Edit, и OOo откроет экран редактирования Basic – именно тут мы и создадим макрос. Тут вы обнаружите, что OpenOffice.org уже создал для вас макрос Надеюсь, ваши акции поживают лучше, чем мои – если нет, вам остается только ронять слезы в пиво. Но не падайте духом! Здесь в Linux Format мы, может, и не улучшим ваши навыки по прогнозированию котировок, зато вы с ходу будете видеть, насколь-ко плохи ваши дела. Поможет, конечно же, OpenOffice.org. На нашем уроке мы сперва рассмотрим, как загрузить финансовую статистику с сайта прямо в таблицу Calc; затем – как по этим данным построить график; а в завер-шение научимся все это делать автоматически. Фактически, вы сумеете это делать, даже не открывая OOo (кроме как для просмотра результа-тов). Вообще-то, говоря, что вам не придется открывать OpenOffice.org, я имею в виду, что нужно будет написать пару макросов – но затем вы и вправду сможете обрабатывать данные без открытия OOo. В любом случае, перво-наперво найдем финансовую статистику. У вас могут быть свои источники – ну, а мы воспользуемся финансовым порталом Yahoo Finance. Если вам безразличны финансовые сводки, не спешите захлопнуть страницу: навыки, полученные здесь, применимы и к другим источникам данных. Однако для целей нашего урока, алч-ность – это хорошо! Получаем данные Вы найдете Yahoo Finance по адресу http://finance.yahoo.com, им довольно легко пользоваться – там есть окошко, содержащее слова Enter Symbol(s) [Введите Символ(ы)] и кнопка с названием Get Quotes [Получить котировки]. Все, что вам надо сделать, это ввести символ компании, в которой вы заинтересованы; Yahoo Finance предоставляет ссылку, которая даст вам этот символ. Например, символ Microsoft на Лондонской фондовой бирже – MSFL. Как только вы введете этот сим-вол и нажмете Получить Котировки, вы увидите самые последние дан-ные о фирме. А сейчас начнется самое интересное: скачаем их! Скачайте с Yahoo Finance в таблицу OpenOffice.org котировки акций в виде CSV-файла. Марк Бэйн Свою первую программу Марк написал еще для ZX81. Он много лет работает с Unix и Oracle, а также читает лекции и пишет книги. Наш экспертИюль 2007 Linux Format 67 Автоматизируем Openoffice.org Учебник Код примеров статьи На DVD чтения данных На этом уроке мы использовали текущие котировки акций, но ничто не мешает исследовать исторические данные для каждой фирмы. Скорая помощь с именем Main. Предупреждаю: не путайте его с Main, знакомым вам по другим языкам программирования. Здесь это просто пустой макрос, чтобы OpenOffice.org было с чем работать, когда вы нажмете кнопку запуска (на ней изображены угол страницы и стрелка, указывающая вниз). На самом деле OOo запустит первый же макрос, который найдет в модуле. Например, если поместить Main1 выше Main, то он и будет запущен. Вооруженные этими знаниями, мы готовы писать макрос (помести-те этот код после процедуры Main): Function open_csv_file (url as String) as Object Dim oProperty(0) as New com.sun.star.beans.PropertyValue oProperty(0).Name = “FilterOptions” oProperty(0).Value = “44” open_csv_file = starDeskTop.loadComponentFromUrl(url, “_ blank”, 0, oProperty()) End Sub Созданная функция загружает любой CSV-файл без всякого масте-ра импорта, используя свойство FilterOptions при установке его значе-ния в 44. Почему 44? Потому что 44 – это код ASCII для… верно, для запятой. А зачем здесь функция? Затем, что open_csv_file создает объ-ект – сам документ – а нам потребуется к нему доступ из кода. Если вы теперь попробуете запустить код, то ничего не произойдет – потому что Main пока ничего не содержит. Заставим его поработать: Sub Main Dim oDoc as Object oDoc = open_csv_file _ (“http://download.finance.yahoo.com/d/quotes. csv?s=MSF.L&f=sd1l1&e=.csv”) End Sub Теперь при нажатии на кнопку запуска произойдет следующее: после пары секунд ожидания (в зависимости от скорости соедине-ния) появится файл Calc, содержащий последние цены на акции для Microsoft на Лондонской фондовой бирже. Уже неплохо, но вы явно думаете «Не проделывать же это для каждой из моих акций – хорошо бы отобразить сразу весь мой портфель.» Отлично, этим и займемся. Макрос для групповухи Мы уже видели, как легко автоматизировать загрузку данных по одной фирме. Чтобы сделать тоже самое для их группы, надо просто раз-житься новым символом и добавить его в URL. Например, если нас интересует Novell, добавим символ NOVL; наш URL станет таким: http://download.finance.yahoo.com/d/quotes.csv?s=MSF.L&s=NOVL&f=sd1l1&e=. csv. Ради этой новой информации модифицируем наш код. Начнем с добавки новой процедуры – она упростит нам жизнь: Sub download_stock_price(companySymbols) Dim oDoc as Object Dim cSymbols as String, oUrl as String cSymbols = join(companySymbols, “&s=”) oUrl = “http://download.finance.yahoo.com/d/quotes.csv?s=” _ & cSymbols & “&f=sl1d1&e=.csv” oDoc = open_csv_file(oUrl) End Sub Вы заметите, что новый макрос принимает companySymbols как параметр – это будет массив, содержащий список кодов фирм. Процедура соединяет все символы в единую строку (с &s= между каждым символом), а затем создает правильный URL для заготовлен-ной нами функции open_csv_file. После создания нового макроса изме-ним процедуру Main, чтобы она принимала массив фирм: Sub Main download_stock_price(array(“MSF.L”,”NOVL”)) End Sub Когда на этот раз вы нажмете кнопку запуска, то увидите файл Calc, содержащий детали всех фирм, указанных в списке – и, конечно, можете добавить столько символов фирм, сколько душе угодно. Сохраняем файл Следующий этап автоматизации – сохранение файла на жесткий диск. Чтобы это сделать, опять напишем макрос: Sub save_file_as_ods(doc as Object, directory as String, prefix as String) Dim oUrl as String oUrl = convertToUrl(directory & “/” & prefix & “.ods”) doc.storeAsUrl(oUrl,Array()) End Sub Здесь следует обратить внимание на пару моментов: во-первых, на функцию convertToUrl. При открытии и закрытии файлов макросу тре-буется имя файла в определенном формате – и convertToUrl делает для вас это преобразование. Во-вторых, вы увидите, что наравне с ка-Без макроса вам придется проходить через мастер импорта Calc. Используем crontab Если вы новичок в crontab, то поля и звездочки могут вас озадачить. Однако порядок полей довольно прост: 1 Минуты (0–59) 2 Часы (0–23) 3 Число (1–31) 4 Месяц (1–12) 5 День недели (0–6, где 0 означает воскресенье) 6 Запускаемая команда Звездочка означает «запускать в любом случае» – так, * в третьем поле означает «запускать каждый день месяца». Вы также можете использовать комбинации чисел в полях: 1,3,10–20 (снова в 3-м поле) будет означать «запускать по первым и третьим числам и каждый день с 10-го по 20-е».68 Linux Format Июль 2007 Учебник Автоматизируем Openoffice.org талогом и префиксом файла (то есть именем файла без расширения ‘.ods’) процедуре также передается doc. Это имя объекта, созданного с помощью функции open_csv_file. Далее вам надо немного изменить функцию download_stock_price. Добавьте следующую строку в конец процедуры: save_file_as_ods(oDoc, “/tmp”, “test_lxf94”) На этот раз, запустив Main, вы увидите, что ваш документ переиме-нован в test_lxf94, а если вы заглянете в каталог /tmp, то найдете файл test_lxf94.ods, который (если его открыть) покажет свежескачанные данные. В командную строку! В начале этой статьи я говорил, что все это можно делать, не открывая OpenOffice.org (кроме как для просмотра результата). Давайте выясним, как этого достичь. Узнав, как автоматически открывать и сохранять наш файл, вы сумеете это сделать и без отображения результатов. Начнем с добавления строки кода в конец макроса download_stock_price: oDoc.close(true) Она всего-навсего закрывает документ. Если вы запустите Main, то увидите, что документ откроется и сразу же закроется. Зачем мы нача-ли с этого? Да просто чтобы удостовериться, что у нас не останется никаких сессий в фоновом режиме, когда мы приступим к изменениям, которые спрячут наш документ. Вы уже знаете, как открыть CSV-документ, не используя мастер импорта, установкой соответствующих свойств, и, по-моему, нетрудно сообразить, что открытие документа в невидимом режиме происходит точно так же. Итак, назад к функции open_csv_file. Сначала переопре-делим свойства, намеченные для использования: Dim oProperty(1) as New com.sun.star.beans.PropertyValue Затем укажем детали для нового свойства: oProperty(1).Name = “Hidden” oProperty(1).Value = True Проделав изменения в коде, нажмите на кнопку запуска... и опять ничего. Не пугайтесь. Проверьте: bainm@aeneas:~> ls -l /tmp/test_lxf94.ods -rw-r--r--1 bainm users 6455 2007-04-23 09:00 /tmp/test_lxf94.ods Теперь запустите макрос и снова проверьте. Вы увидите, что файл действительно изменился: bainm@aeneas:~> ls -l /tmp/test_lxf94.ods -rw-r--r--1 bainm users 6454 2007-04-23 09:01 /tmp/test_lxf94.ods Это значит, что вы можете запускать процессы незримо, но (в настоящий момент) надо держать OpenOffice.org открытым, чтобы запускать макрос. А надо ли? Нет! Закройте все экземпляры OOo и наберите в командной строке: scalc -headless “macro:///Standard.lxf94.Main” Абсолютно ничего не произойдет – вы даже не увидите экрана OpenOffice.org. Однако если вы запустите ls -l и посмотрите на файл, то заметите перемены. Для завершения процедуры автоматизации, создадим задачу Cron: тогда уже не придется беспокоиться о запуске макроса. Например, пос-тавим задание Cron на запуск каждый день в 8:45, и в 9 утра к вашему приходу уже будет новый файл. Чтобы это сделать, откройте команд-ную строку. Наберите crontab -e, а затем: 45 8 * * * scalc -headless “macro:///Standard.lxf94.Main” Далее нажмите Control-D, чтобы сохранить файл Cron. И все – загрузка ваших котировок полностью автоматизирована. Представляем графики Каждый знает, что «лучше один раз увидеть»… это же касается и гра-фиков. Не знаю, как насчет вас, но я понимаю графики лучше, чем голые цифры – а у нас пока что есть только цифры. Давайте преоб-разуем данные. Вы ведь умеете создавать график в OpenOffice.org, правда? Просто выбираете ячейки, которые хотите использовать в качестве диапазона, нажимаете на Insert Chart и следуете инструкциям – нет ничего проще. Но разве это не утомительно? Я думаю, вы согласитесь, что это еще один кандидат на автоматизацию. Очевидно, не помешает создать про-цедуру для рисования графика, но прежде чем это сделать, немного изменим исходный код. Для начала, мы не будем закрывать документ в процедуре download_stock_price: REM oDoc.close(true) Затем перестанем прятать документ в open_csv_file: oProperty(1).Name = “Hidden” oProperty(1).Value = False Это значит, что мы можем разрабатывать новый код, не открывая сохраненный файл, чтобы увидеть эффект. Но тогда по окончании не забудьте включить функции закрытия документа и скрытия отображе-ния. Если вас это устраивает, создайте новую процедуру: Sub insert_chart (doc as Object, cTitle as String) End Sub а затем вставьте новую строку в download_stock_price: insert_chart (oDoc, “My Shares”) Вам надо поместить ее до выражения save_file_as_ods. Теперь подумаем о том, какой код добавить в новую процедуру. Если вам случалось вручную создавать график по скачанным дан-ным, то вы уже поняли, что есть проблема: ключ не имеет говорящего имени (он просто пишет Столбец B). Это, конечно, потому, что ключ появляется из строки-шапки – но в нашем случае это тоже данные. Чтобы это исправить, напишем макрос для вставки заголовка: Sub insert_chart (doc as Object, cTitle as String ) Dim oSheet as Object, oCell as Object oSheet = doc.Sheets(0) oSheet.getRows.insertByIndex(0,1) oCell = oSheet.getCellByPosition(1,0) oCell.String = “Share Value” End Sub Объясняю, что здесь происходит: мы выбираем первый лист табли-цы, затем вставляем новую строку, а затем устанавливаем содержимое B1 в Share Value. Если вы запустите Main и затем вручную создадите график, то уви-дите, что столбец значений будет назван Share value. Начало хорошее; теперь пусть макрос создает график сам. Первое, что необходимо выявить макросу, это количество используемых данных: r = 1 На нашем уроке мы отключали Скрытый режим, но если вы собираетесь делать это довольно часто, то можете поменять код, чтобы сделать этот аргумент необязательным: Function open_csv_file (url as String, Optional show_form as Boolean) as Object Dim oProperty(1) as New com.sun.star.beans.PropertyValue if ismissing(show_form) then show_form = False end if oProperty(0).Name = “FilterOptions” oProperty(0).Value = “44” oProperty(1).Name = “Hidden” if (show_form) then oProperty(1).Value = False else oProperty(1).Value = True end if open_csv_file = starDeskTop.loadComponentFromUrl(url, “_ blank”, 0, oProperty()) End Function Только помните, что по умолчанию документ останется невидимым, а если вы захотите его все же узреть, просто измените код в open_csv_file на oDoc = open_csv_file(oUrl, True) Необязательный ввод Можно быстро добраться до Органайзера, нажав на Tools > Macros > Organize Dialogs, а затем перейдя на вкладку Module. Скорая помощьИюль 2007 Linux Format 69 Автоматизируем Openoffice.org Учебник oCell = oSheet.getCellByPosition(0,r) while oCell.String <> “” r = r + 1 oCell = oSheet.getCellByPosition(0,r) wend С помощью этой информации определим диапазон данных в таблице: Dim oRange as Object Dim oRangeAddress as Object oRange = oSheet.getCellRangeByPosition(0,0,1,r – 1) oRangeAddress = oRange.getRangeAddress Теперь мы можем определить данные по x и y в объекте CellRangeAddress: Dim oCellRangeAddress(1) as New com.sun.star.table. CellRangeAddress ‘Set X axis oCellRangeAddress(0).Sheet = oRangeAddress.Sheet oCellRangeAddress(0).startColumn = oRangeAddress. endColumn oCellRangeAddress(0).endColumn = oRangeAddress.endColumn oCellRangeAddress(0).startRow = oRangeAddress.startRow oCellRangeAddress(0).endRow = oRangeAddress.endRow ‘Set Y axis oCellRangeAddress(1).Sheet = oRangeAddress.Sheet oCellRangeAddress(1).startColumn = oRangeAddress. startColumn oCellRangeAddress(1).endColumn = oRangeAddress. startColumn oCellRangeAddress(1).startRow = oRangeAddress.startRow oCellRangeAddress(1).endRow = oRangeAddress.endRow Следующий шаг – определение области для графика. Вы обнару-жите, что размер по умолчанию довольно мал, так что сделаем его побольше: Dim oRect as New com.sun.star.awt.Rectangle oRect.Width= 20000 oRect.Height = 10000 Прямо сейчас мы можем написать код, рисующий график: Dim oCharts as Object oCharts = oSheet.Charts oCharts.addNewByName(cTitle, oRect, oCellRangeAddress(),TRUE,TRUE) Вы можете запустить макрос, если хотите – и появится график. Однако работа еще не кончена: например, хорошо бы написать назва-ние графика и обозначить оси X и Y… Dim oChart as Object oChart = oCharts.getByName(cTitle).embeddedObject oChart.HasMainTitle = True oChart.Title.String = cTitle oChart.diagram.HasXAxisTitle = True oChart.diagram.XAxisTitle.String = “Company Symbol” oChart.diagram.HasYAxisTitle = True oChart.diagram.YAxisTitle.String = “Closing Value” Теперь у вас есть полностью автоматизированная система для ска-чивания котировок ваших акций и создания по ним диаграммы. Все, что вам осталось сделать, это включить автоматическое закрытие и скрытие экрана... а на следующее утро встать, выпить кофе и посмот-реть на результаты усердной работы. «Погодите!» – слышу я ваш крик, «Мне не нравится диаграмма из столбиков – желаю, чтоб данные отображались в виде пончика; как насчет этого?» Да легко, хоть и не столь очевидно. Мы использовали тип графика по умолчанию, а чтобы использовать любой другой тип, укажите oChart.diagram = oChart.createInstance(“com.sun.star.chart. DonutDiagram”) Вот полный список доступных типов графиков: AreaDiagram, BarDiagram (по умолчанию), DonutDiagram, LineDiagram, NetDiagram, PieDiagram, StackableDiagram, StockDiagram и XYDiagram. Теперь можете вытворять что угодно. Можете загрузить CSV-файл прямо в Calc, можете создать любой график по данным, и все это – автоматически, без ввода данных. На данном уроке мы занимались Yahoo Finance, так как он свободно доступен и использует CSV-формат. Вы можете, конечно, использовать любой CSV-файл, то есть любой источник данных, при условии, что они загружаются в OpenOffice.org – например, приложить этот метод к базам данных. Но если вы примени-те эти приемы на деле для анализа ваших котировок и урвете крупный куш, уж не забудьте, кто научил вас уму-разуму! LXF С минимумом усилий создан красивый график, показывающий, как скверно живется вашим акциям. Победа!70 Linux Format Июль 2007 Учебник Анализ пакетов Грэм Моррисон Разработчик свободных программ, фанат KDE и энтузиаст электронной музыки. Он обсуждал синтезаторы не с одним ведущим членом сообщества FOSS. Наш эксперт Часть 1: Перехват данных анализатор. Такие приложения захватывают необработанные биты и байты потока данных, пока они передаются по вашей сети, и анализи-руют их для определения используемого сетевого протокола. Затем вы можете «пройти по следу» сетевого соединения и отследить пути вза-имодействия между клиентом и сервером. На этом уроке я собираюсь открыть вам глаза, чтобы вы поня-ли, насколько в действительности доступны в сети ваши данные. Используя анализатор, мы захватим стандартные пакеты, пересылае-мые, когда вы пользуетесь клиентом мгновенных сообщений Gaim для общения с друзьями; затем выделим текст сообщений и убедимся, что он действительно открыт для просмотра всем желающим. Будет полез-но хоть чуть-чуть понимать, как работает сеть, но экспертом быть не обязательно. На самом деле, просмотр сетевых пакетов и точный ана-лиз того, что передается по проводам и в эфире вокруг вас – превос-ходный способ обучения. Самый популярный анализатор для Linux – инструмент под назва-нием Wireshark, но более вероятно, что вы слышали об инструменте под названием Ethereal. На самом деле Wireshark – это и есть Ethereal, а имя поменялось после того, как главный разработчик, Джеральд Комбс [Gerald Combs], сменил работодателя. Его бывшая компания имела права на имя Ethereal, но не на код приложения, выпущенный под лицензией GPL. Поэтому все, что Комбс должен был сделать после ухода – это настроить новый репозиторий Subversion для своей соб-ственной версии исходного кода и придумать новое имя. В июне 2006 г. Ethereal превратился в Wireshark. Для перехвата пакетов вашей сети Wireshark использует системную библиотеку под названием libpcap. Если вы используете какой-то экзо-тический сетевой протокол, не поддерживаемый libpcap, то Wireshark также не сможет ничего выяснить. Но тем, кто использует специали-зированные сетевые протоколы, которые даже libpcap не понимает, вряд ли понадобится наш урок. Теперь, когда вы знаете всю подоплеку, давайте начнем. Wireshark: Ловите Анализ пакетов Узнайте из первых рук, как легко шпионить в сети Исследуя вашу сеть, можно добыть массу полезной информации. Грэм Моррисон применит пакетный анализатор, чтобы продемонстрировать беззащитность ваших данных. Не нужно быть специалистом по сетям, чтобы интересоваться их мониторингом. Столь же необязательно родиться крутым хакером. Ясное представление о процессах, происходящих в вашей сети, способствует её максимальной защищенности. Оно даже может подвигнуть вас на полезные действия. Но для понимания этих процессов, вы должны достаточно близко познакомиться с пакетами, пересылаемыми в вашей сети, чтобы видеть их в упор. Для этой работы есть только один инструмент, и он известен как «сниффер» [«обнюхиватель», ищейка, англ.] пакетов или сетевой Важнейшее решение при сетевом анализе – где запускать сниффер. Для личных экспериментов лучше всего сделать это на вашей соб-ственной машине. Если же вы хотите анализировать реальный мир данных вашей сети, запустите Wireshark на сервере. Это означает, что любой клиент (не только ваша машина), использующий сервер для передачи данных «в» и «из» Интернет(а), будет виден приложению захвата пакетов. Но ввиду неэтичности этого занятия, нужны веские основания для подобных действий. После выбора машины для работы настает момент установки Wireshark посредством менеджера пакетов. Сниффер включен во мно-жество дистрибутивов по умолчанию и является самодостаточным приложением, использующим GUI для выполнения всех задач – в отли-чие от многих других инструментов системного администрирования. Хотя вам, может быть, стоит поискать ‘Ethereal’: системы вроде Ubuntu используют это старое имя для обеспечения совместимости пакетов. Wireshark требует запуска с привилегиями системного администра-тора – что обычно означает запуск приложения от имени root. Если вы беспокоитесь о проблемах безопасности, связанных с запуском такого низкоуровневого инструмента на критичном для системы сервере (чего вы не должны делать в любом случае), хорошим компромиссом может быть запустить Wireshark на краткое время, для захвата достаточного количества сетевых данных, и использовать приложение на пользова-тельском уровне для их анализа. Можно захватывать данные с любого установленного сетевого устройства, включая беспроводные и Ethernet-карты.Июль 2007 Linux Format 71 Анализ пакетов Учебник На DVD Wireshark 0.99.5 (в каталоге Ethereal) данные в сети моих контактов. Есть и другие вещи, которые стоит попробовать, от просмотра нескольких защищенных и не защищенных сайтов (попро-буйте купить что-либо в сети!) до передачи/приема электронной почты. Но помните: все, что вы делаете, будет захвачено Wireshark. Когда вы сочтете, что накопили достаточно данных для анализа, просто остано-вите ведение журнала. После этого Wireshark загрузит данные в глав-ное окно. Надзор за устройствами Вы можете запустить Wireshark из командной строки, набрав wireshark. Через пару мгновений появится его GTK 2-интерфейс. На данный момент он больше похож на шестнадцатеричный/двоичный редактор, чем на инструмент анализа сети, просто потому, что пока не содержит данных. Получение данных для приложения – следующий шаг. Щелкните на первой иконке панели инструментов или выберите Интерфейсы [Interfaces] в меню Захват [Capture]. В открывшемся окне будет приведен список всех имеющихся сетевых устройств. В нем также начнется вывод числа пакетов, проходящих через каждое устройство. Этот список полностью зависит от конфигурации вашей системы. Если ваша машина использует беспроводное подключение к сети, вы, веро-ятно, увидите устройства wifi0 или ath0; если проводное, то скорее всего они будут озаглавлены eth0 или, для второй карты, eth1. Другие стан-дартные устройства – slip0 и ppp0 для соединений по последовательной линии, используемой в dialup-сетях (помните такие?) [помним, помним. ppp0 – частый гость на компьютерах современных домашних пользова-телей, использующих для доступа к провайдеру протоколы PPTP или PPPoE, а также услуги сотовых сетей GPRS/CDMA, – прим. ред.] Вы также увидите еще два устройства. Одно из них будет обозначе-но как lo, это стандартное кольцевое устройство, реализованное в ядре Linux для тестирования: оно соответствует локальной машине. Другое обозначено как anу – это мета-устройство, используемое Wireshark для объединения всех сетевых подключений к машине. Оно пригодится, если вам необходимо захватывать все, а объем генерируемых данных может оказаться не поддающимся обработке. Намного легче начать с порта, который, как вы точно знаете, используется определенными протокола-ми, и только потом перейти к захвату данных с других интерфейсов. Захват без разбора Щелчок на кнопке Подготовка [Prepare] рядом с интересующим вас уст-ройством позволит вам произвести тонкую настройку процесса сбора данных. Большинство опций можно оставить как есть, но пару из них вы, вероятно, захотите изменить. Наиболее важный параметр обозна-чен как Захват пакетов без разбора [Capture Packets In Promiscuous Mode]. Во включенном состоянии он позволяет Wireshark перехваты-вать и сохранять каждый отдельный байт сетевого пакета на самом нижнем уровне. Вне этого режима важная информация о пересылке может быть упущена. Но может ли ваша система работать в нем или нет, зависит от имеющегося драйвера Ethernet, хотя большинство уст-ройств этот режим поддерживают. Другой важный параметр на этой странице назван Обновлять список пакетов в реальном времени [Update List Of Packets In Real Time]. Вероятно, вам не следует пользоваться им при первых попытках применения Wireshark, но он очень полезен при быстром анализе. По своей сути он позволяет вам пощупать и просе-ять сетевые данные без предварительного их захвата – ценно, если вы хотите заметить некоторую специфическую активность в сети. Внимание, эксперимент! Удовлетворившись настройками для выбранных вами устройств, нажмите или кнопку Старт [Start] на странице настройки, или кнопку Захват [Capture] в списке интерфейсов. После этого Wireshark запи-шет каждый байт данных, прошедший через ваше сетевое устройство. Чтобы повысить ценность этого упражнения, не мешает сделать через ваше сетевое соединение что-нибудь интересное. Лично я запустил клиента мгновенных сообщений Gaim и начал разговор с одним из Не захватывайте слишком много данных. Помните: Wireshark сохраняет все. Если вы загружаете файл в 10 ГБ, Wireshark захватит и его. Скорая помощь Тактика защиты от вторжений Простые электронные письма, мгновенные сооб-щения, путешествие в Web, VNC, IRC, Telnet. Эти протоколы передают данные в простом тексто-вом формате, и данные легко прочтет любой, кто может запустить Wireshark в вашей сети и потра-тить время на сбор сотен передаваемых пакетов. Вот почему персональные данные, вроде деталей банковского счета и информации о кредитных картах, и даже ваше имя и адрес на самом деле не должны пересылаться через незащищенное интернет-соединение. По этой причине и возникло множество шиф-рованных интернет-протоколов. Наиболее общим примером является HTTPS, безопасная версия протокола передачи гипертекста (HTTP), он используется везде: от интернет-банков до сете-вых магазинов. То же делает VPN, обеспечивая туннель для удаленной сети через незащищен-ный уровень (Интернет) к локальному компьюте-ру – подробности см. на стр. 101 или в LXF93. Любой взломавший соединение увидит разве что зашифрованные пакеты VPN, и не сможет узнать что-либо без взлома ключа шифрования. А это уже совсем другая тема. Советы по поддержанию безопасности Всегда используйте HTTPS для передачи важ-ной информации через Web. Используйте SSH для удаленных соединений, желательно с авторизацией по ключу. Туннелируйте незащищенные протоколы, вроде VNC, через ваше SSH-соединение. Переключитесь на протокол с шифрованием для отсылки и приема почты. Находясь в режиме захвата без разбора, ваше сетевое устройство «ловит» все пакеты, независимо от адреса отправителя и получателя. Мессенджеры типа Gaim посылают сообщения как простой текст, и любой владелец инструмента типа Wireshark может их читать.72 Linux Format Июль 2007 Учебник Анализ пакетов Часть 2: Анализ данных Сетевые данные – это двоичные данные; вы вряд ли что-либо поймете, загрузив их в текстовый редактор. Сила Wireshark в его способности декодировать информационные поля, содержащиеся в захваченных двоичных данных. Путем поиска определенных шаблонов в данных, Wireshark может точно определить тип используемого протокола, а по нему извлечь необходимую дополнительную информацию. Главное окно данных в Wireshark (см. ниже) показывает разборку содержимого каждого пакета сетевых данных, которые Wireshark уме-ет распознавать. Первый левый столбец – порядковый номер пакета, в соответствии с его получением. Рядом находится время получения пакета. Справа от времени расположены IP-адреса отправителя и получателя, найденные в пакете – откуда пакет послан и куда направ-ляется. Столбец Протокол [Protocol] отображает аббревиатуру найден-ного протокола для пакета, а в последнем столбце выводится ценная информация, извлеченная благодаря тому, что Wireshark распознал протокол, и какие данные в пакете наиболее полезны. Фильтр свирепствует Вся эта информация весьма объемна. Для работы с ней Wireshark имеет отличный фильтр, основанный на простом синтаксисе, для уменьшения путаницы на экране; он действительно выделяет пакеты, достойные интереса. Вы можете ввести фильтр напрямую в область поиска над списком пакетов, но для начала проще нажать кнопку Фильтр [Filter] слева от этого поля: здесь имеется несколько стан-дартных примеров фильтров, наряду с полезным мастером созда-ния и сохранения собственных. Поэкспериментируйте с примерами. Набрав, допустим, ip.addr = = 192.168.0.1, вы получите список только тех пакетов, отправителем или получателем которых является адрес 192.168.0.1 (полезно, если вы хотите проверить отдельного клиента в вашей сети). ip.addr – это поле фильтра, и вы увидите полный спи-сок 44 185 возможных вариантов, поддерживаемых Wireshark, нажав Справка > Поддерживаемые протоколы [Help > Supported Protocols] и выбрав вкладку Отобразить поля фильтра [Display Filter Fields]. Но пока мы ограничимся одним протоколом, а именно, исполь-зуемым MSN Messenger для связи с клиентами. Обычно Wireshark определяет используемые протоколы путем поиска по номеру порта в информации пакета, и вы можете увидеть список 820 распознавае-мых протоколов, открыв Справка > Поддерживаемые протоколы [Help > Supported Protocols]. Тот, который нас интересует, обозначен как MSNMS – MSN Messenger Service. Можно отфильтровать список паке-тов по этому протоколу, набрав в фильтре msnms. Вы заметите, что поле фильтра окрашивается красным, когда невозможно выполнить фильтр, и зеленым, когда основные ключевые слова распознаны. Введите msnms и нажмите Применить [Apply]; список пакетов обно-вится, чтобы показать саму MSN-сессию, записанную в пакетах (для обзора выполняемого процесса, см. врезку «Шаг за шагом»). Щелчок на заголовке поля Номер пакета [Packet Number] отсортирует пакеты в порядке их получения, облегчив рассмотрение потока соединения. Первым делом в глаза бросается то, что сама передача представляет собой обмен данных между вашим локальным клиентом и различ-Список пакетов Каждый захваченный пакет будет помещен в этот список, вместе с IP-адресами отправителя и получателя. Изучаем интерфейс Wireshark Фильтр данных Используйте любой из сотен поддерживаемых протоколов для тонкой настройки вашего списка пакетов. Информация Wireshark строит предположения о типе информации. Редактор выражений Используйте мини-программирование для поиска конкретных деталей в ваших данных. Список заголовков Общая информация об используемом протоколе для каждого пакета отображается здесь. Данные пакета Декодированное содержимое пакета отображается в этой панели. Вы можете сохранить захваченные Wireshark’ом данные для дальнейшего анализа. Это полезно, когда вы хотите проследить проблемы сети или в дальнейшем ссылаться на полученные данные. Скорая помощьИюль 2007 Linux Format 73 Анализ пакетов Учебник ными MSN-серверами. Вы можете заметить это по перепрыгиванию вашего IP-адреса из поля Отправитель [Source] в поле Получатель [Destination], поскольку пакеты пересылаются и принимаются между двумя машинами. Вы также можете увидеть ход транзакции. Сперва пакеты содер-жат очень мало информации: первые два просто проверяют версию MSN-протокола, используемую обеими машинами. Первый важный пакет в наших захваченных данных – это третий. Он высылается нашим клиентом и содержит передачу инициализации для MSN-соединения. В него включено имя пользователя, а для большинства MSN-записей это просто адрес на Hotmail. Хорошо уже и то, что не показывается пароль. Это потому, что большинство соединений для аутентифика-ции MSN Messenger по умолчанию используют протокол с шифрова-нием – HTTPS, и эти данные не прочесть как обычный текст. Если же вы используете обычную HTTP-аутентификацию, то ваш пароль будет как на ладони. Послание в бутылке Успешное соединение сопровождается сообщением сервера USR OK, это примерно 15-й пакет в нашей подопытной сессии. Вот где начи-наются интересные вещи. Список контактов, появляющийся в нашем клиенте сообщений, хранится на MSN-сервере. Это означает, что для отображения в Gaim его нужно переслать вашему клиенту с сервера. Вполне очевидно, что пакеты, посылаемые сервером за сообщением USR OK, будут почти целиком набиты электронными адресами – неве-роятно ценный ресурс для любого злоумышленника. Все, что ему сле-дует сделать, это часок позаписывать данные в интернет-кафе, и он получит тысячи электронных адресов для своих целей. Мало того: он также сможет кое-что сообразить о связи между адресами, что значи-тельно облегчит успех методов социальной инженерии. После заполнения списка контактов, следующее действие, которое вы увидите в журнале, это открытие разговора с одним из них. Дамп данных Wireshark ясно покажет, что оно произошло, поскольку MSN сервер посылает сообщение RINGING, почти как телефон. Двумя паке-тами позднее контакт ответит сообщением JOI. Это говорит о том, что удаленный клиент сообщений присоединился к нашему локальному клиенту для беседы. Сразу после этого мы получаем пакет, содержа-щий строку X-MMS-IM-Format. Это часть протокола MSN Messenger, помещаемая в начале каждого сообщения, пересылаемого между двумя клиентами. Согласно спецификации протокола MSN Messenger, тело сообщения следует далее в простом текстовом формате – да так оно и есть. Сразу же после заголовка идет частное содержание сообщения. Просмотр ваших интимных разговоров вне контекста и в доступном виде, естественно, заставит вас задуматься о последствиях использования общественных сетей для обмена мгновенными сооб-щениями. Таким способом вы можете захватить целые беседы, и если вы воспользуетесь захватом пакетов вместе со взломанной точкой беспроводного доступа, то сможете незаметно войти в курс дел всех своих соседей. Надеюсь, весь этот процесс напугал вас достаточно, чтобы вклю-чить наконец для своей точки доступа WPA-шифрование (вы же знае-те, что WEP небезопасен, так ведь?) и, может быть, даже использовать зашифрованные каналы связи при необходимости пользования откры-той сетью. Однако анализ пакетов – штука захватывающая, а иногда и необходимая для проверки совместимости версий в таких протоколах, как Samba. LXF Конечный результат проекта – умение подслушивать IM-беседы: горький опыт, способный заставить вас усилить безопасность. Можно просмотреть заголовок каждого захваченного пакета, сдвигая вниз разделитель панелей над списком пакетов. Шаг за шагом: Следим за интернет-беседой 1 Определим сессию В журнальном интерфейсе Wireshark, найдите точку, где клиент и сервер начинают обмен пакетами. 2 Найдем подключение клиента Следуйте по списку пакетов обмена, пока не найдете пакет, содержащий сигнал ‘JOI’. 3 Проглядим пакеты сообщений Выполните правый щелчок на этом пакете и выберите Follow TCP stream, чтобы увидеть текст беседы.74 Linux Format Июль 2007 Учебник Mono-Мания Месяц назад Ради практики в ООП мы создали клон Civilization. Mono: Работаем Mono-Мания Программирование на современной платформе для новичков Два ядра позволяют сделать больше – по крайней мере, так уверяет отдел маркетинга Intel. Проверим это вместе с Полом Хадсоном. процесса работают «потоки», которые представляют собой отдельные задачи внутри программы, способные работать параллельно с другими задачами. Однако даже самый красивый и изящный в мире код на C#, содержащий только один поток, использует всего четверть от четы-рехъядерной мощи. На нашем уроке вы изучите, как создавать потоки в Mono, для запуска приложения одновременно на нескольких ядрах. Чтобы сде-лать тему более захватывающей, создадим «взломщика» хэшей SHA1. SHA1 – это алгоритм хэширования, спроектированный для создания 40-символьной уникальной последовательности битов из входного текста. Хэши обычно используются для проверки целостности информации – если вы скачаете 4-ГБ образ DVD, у которого искажен 1 КБ информа-ции, то полученный хэш SHA1 будет совершенно отличаться от исход-ного. SHA1 и другие функции часто используются для хранения паро-лей, так как исходное значение пароля по хэшу не восстановить – хотя можно генерировать SHA1-ключи для всех возможных строк, чтобы увидеть совпадения. Но сначала займемся чем-нибудь попроще. Попасть в квадрат Первым нашим проектом этого урока будет возведение в квадрат 1000 чисел. Мы начали с такого примера, потому что его очень лег-ко распараллелить: не требуется обмена данных между потоками. Создайте новое консольное C# приложение в MonoDevelop, назовите его Hackaday и поместите следующую строчку вверху его cs-файла: using System.Threading; Магическая строка using позволит нам использовать потоки. Нам также потребуется 4 переменных: одна будет отслеживать, сколько чисел надо создавать, другая будет отвечать за количество потоков, третья установит, сколько чисел генерировать на поток, а четвертая будет хранить генератор случайных чисел. Без первых трех перемен-ных на самом деле можно обойтись, записав их как константы, но потом с ними уже не поиграешь! Итак, добавьте четыре переменных до определения метода static void Main(): static int NumsToGenerate = 1000; static int NumThreads = 4; static int NumsPerThread; static Random Rand = new Random(); Начинается настоящее дело: создание потоков. Каждый созданный поток будет выполнять метод, который определим мы. Метод может быть каким угодно, принимать любые параметры и даже вызывать другие методы. Но пока будем проще: пусть каждый поток пробегает в цикле от 0 до NumPerThread, генерирует число от 1 до 1000, затем возводит в квадрат и выдает результат. Вот этот метод: static void DoFunk() { for (int i = 0; i < NumsPerThread; ++i) { int num = Rand.Next(1, 1000); Console.WriteLine(“Thread #{0} says: {1} squared is {2}”, Thread.CurrentThread.Name, num, num * num); Дивлюсь я на мою жену. Я при переходе улицы с трудом успе-ваю поглядеть в обе стороны, а она способна гладить, гово-рить по телефону и смотреть телевизор одновременно. Она правда думает обо всем сразу, или ее мозг мгновенно переключается с задачи на задачу? Долгое время компьютеры были ограничены только последним вариантом. На вашей системе Linux одновременно работает около 100 программ. Вам видны лишь некоторые из них, вроде X или Nautilus, но есть еще и другие – апплет громкости, syslogd, Metacity, D-BUS, Cron и так далее. Большую часть времени они бездействуют в фоновом режиме, но когда два или более вступают в дело одновременно, ваш процессор начинает ими жонглировать. Обычный стандартный про-цессор без включенного Hyperthreading может выполнять только один процесс в заданный момент времени. Чтобы избежать подвисания при запуске OpenOffice, каждый про-цесс получает период времени – доли секунды, обычно менее 100 мс – на выполнение кода. По истечении этого времени процесс приостанав-ливается, и свой квант времени получает другая программа. Если квант равен 100 мс, то за секунду успевают поработать десять различных программ; человеку за этим не уследить, и ему кажется, что все они работают одновременно. Так продолжалось много лет; но на новых двух-и многоядерных чипах от AMD и Intel или любой старой SMP-системе с двумя физи-ческими одноядерными процессорами все по-другому. Эти устройства могут действительно исполнять множество процессов сразу, благода-ря наличию нескольких чипов: двухъядерный чип может выполнять два процесса одновременно, а четырехъядерный – четыре. Внутри Пол Хадсон полагает, что Mono – лучшая вещь со времен мультфильма Pinky and the Brain, и сейчас поддерживает два проекта на основе Mono на SourceForge. Наш экспертИюль 2007 Linux Format 75 Mono-Мания Учебник с потоками Вот так параллельность! Мы здесь обсуждаем так называемые «ошеломляюще параллельные» алгоритмы, которые хорошо распределяются по процессорам, так как каждая операция абсолютно не зависит от остальных. Как легко представить, не много задач попадает в эту категорию: физика частиц – да, фракталы – да, и несколько других классов. А вот со сжатием видео уже не все просто, потому что большинство кодеков кодируют изменения с предыдущего кадра, и вы не можете сжать кадр до того, как был обработан предыдущий. Использование ключевых кадров смягчает проблему, но есть задачи – в основном криптография, поблочное шифрование с обратной связью – которые нипочем не распараллелить. И все-таки не беспокойтесь, если ваше приложение не может быть распараллелено на 100%. Если вы создали шахматную программу, которая выполняет в одном потоке все, кроме ИИ компьютера, который в фоновом потоке будет искать наилучший ход, это уже неплохо. } } DoFunk() – не очень конкретное имя, но так как мы будем исполь-зовать его во многих программах, сойдет и оно! Основная идея в том, что каждый их четырех потоков будет прокручивать 250 случайных чисел и выдавать квадрат каждого из них. Каждый поток будет ссы-латься сам на себя с помощью Thread.CurrentThread, и в этом случае мы считываем Name – строку, назначаемую каждому потоку для упро-щения отладки. Синтаксис {0}, {1}, {2} – просто быстрый способ написать сложные вызовы WriteLine() за один раз: Mono автоматически подставляет пара-метры, то есть замещает {0} на Thread.CurrentThread.Name, {1} на num, {2} на результат num*num. Остается только метод Main(), которому надо вычислить, сколько чисел должен обработать каждый поток, затем создать потоки и запус-тить их. При создании каждого потока в его конструктор передается имя метода, который мы хотим запустить. Вы все поймете, взглянув на код – вот он: static void Main(string[] args) { NumsPerThread = NumsToGenerate /NumThreads; for (int i = 0; i < NumThreads; ++i) { Thread thread = new Thread(DoFunk); thread.Name = Convert.ToString(i); thread.Start(); } } Итак, считая от 0 до 4, создадим поток и велим ему запустить метод DoFunk(), а назовем его по номеру итерации, на которой он создается. Хотя все потоки будут созданы, ни один их них не запустится до тех пор, пока не будет вызван метод thread.Start(), после которого они начнут выполнять методы DoFunk(). Нажмите F5, чтобы собрать и запустить программу, и увидите вихрь чисел в окне вывода результатов. Разделяй и… разделяй Вы заметите четыре важных момента в работе программы: 1 Каждый поток имеет доступ к генератору случайных чисел Rand и NumThreads, потому что они помечены как ‘static’, то есть каждый поток может читать и писать их. 2 Каждый поток создает собственные случайные числа. Это пото-му, что переменная num объявлена локально в каждом потоке, поэтому у них есть по копии этой переменной, чтобы ей управлять. 3 При выводе программы вы заметите, что потоки не выводят каждый по строке, типа 012301230123. Более вероятно, что сначала поток 0 напечатает десять строк, затем поток 1 напечатает 10 строк, и так далее, то есть 0000000000111111111122222222223333333333. 4 Программа hackaday.exe ждет, пока все потоки не закончат свою работу. Пункт 1 показывает, что потоки могут иметь общие переменные. В этом разница между процессами и потоками: порождаемые про-цессы независимы, а потоки разделяют большинство своих данных. Исключения составляют переменные, объявленные локально, как, например, num. Пункт 3 иллюстрирует то, что говорилось о квантах времени выше: каждый поток получает свой квант и исчерпывает его, чтобы передать работу следующему потоку. Пункт 4 возник потому, что по умолчанию .NET создает не фоно-вые (foreground) потоки и не позволит завершить программу, пока они не отработают. Фоновые потоки, напротив, автоматически закан-чивают работу, когда завершается родитель-ский процесс. Попробуйте перед thread.Start() набрать thread.isBackground=true; затем пере-запустите программу. На этот раз програм-ма завершится быстрее: создав все потоки, Main() завершится, и потоки автоматически ликвидируются. Сконцентрируемся на пункте 1, так как вопрос разделения данных – один из самых сложных. На техноязе то, чем мы занимаемся, называется потокобезопасность, и означает, что ваше приложение не сломается, если два потока попытаются сделать одно и то же в один момент. Что если два потока вдвоем примутся читать статическую переменную? Чтение переменных менее проблемно, но тоже небезо-пасно: легко нарваться на «состояние гонки» [race condition]. Не буду объяснять, что это такое, сейчас: из кода все станет ясно. Для начала попробуем безопасным образом писать в переменные из потока. Наш старый код генерировал случайные числа для возведе-ния в квадрат, но сейчас мы собираемся создать список из целых чисел (об этом см. LXF92), и каждый поток будет считывать первый элемент из списка, удалять его и затем возводить в квадрат. Нам не нужна ситуация, когда все четыре потока прочитают первый элемент, затем поток 0 удалит его, поток 1 примется удалять следующий элемент, поток 2 – еще один, а поток 3 – еще один, и выйдет, что мы сосчитали квадрат для первого числа 4 раза, уничтожили 2-й, 3-й и 4-й элементы, сосчитали квадрат для 5-го элемента… и так далее. C# позволяет легко разрешить эту проблему с помощью выраже-ния lock, отмечающего критические секции кода. Внутри критического блока в заданный момент времени может находится только один поток. Любой другой поток, дойдя до lock-секции, будет ждать, пока первый поток не выйдет из нее. Отсюда следует, что нам надо блокировать любые общие переменные, прежде чем изменять их, чтобы предотвра-тить двойные изменения. «Вот это и называется гонкой: потоки стараются опередить друг друга, и результат непредсказуем» Mono 1.2.3.1 MonoDevelop 0.13 Код примеров статьи На DVD76 Linux Format Июль 2007 Учебник Mono-Мания Блокировка потоков Так как мы будем использовать коллекцию List, надо добавить новое выражение в секцию using: using System.Collections.Generic; Удалите все ранее определенные переменные и вставьте следующее: static List Numbers = new List(); Метод Main() должен подготовить 2000 чисел для Списка. Так как мы удалили все переменные, число потоков будет зашито в програм-му в виде константы. Вот новый код Main(): public static void Main(string[] args) { for (int i = 0; i < 2000; ++i) { Numbers.Add(i); } for (int i = 0; i < 4; ++i) { Thread thread = new Thread(DoFunk); thread.Name = Convert.ToString(i); thread.Start(); } } Серьезная работа возложена на метод DoFunk(): ему надо выта-щить число из списка и возвести его в квадрат, блокировав при этом список Numbers, чтоб не вмешались другие потоки. Вот как выглядит код DoFunk(): while (Numbers.Count > 0) { lock (Numbers) { int Num = Numbers[0]; Numbers.RemoveAt(0); Console.WriteLine(“Thread #{0} says: {1} squared is {2}”, Thread.CurrentThread.Name, Num, Num * Num); } } Цикл будет выполняться, пока в Numbers остаются числа. Но первым делом надо заблокировать список – lock(Numbers). Первый поток, который доберется до этого кода, обнаружит, что Numbers свободен, и заблокирует его. Другие потоки обнаружат, что Numbers заблокирован первым потоком, и не пойдут дальше, пока первый поток не снимет блокировку. Первый поток прочтет первое число, удалит его из списка, возведет в квадрат и выведет на экран, затем, достигнув конца блока lock, освободит Numbers. Второй поток обна-ружит, что Numbers свободен, заблокирует его, выполнит свою рабо-ту, и так далее. Попробуйте запустить и посмотреть, что случится. Все выглядит замечательно до тех пор, пока вы не дойдете до кон-ца, когда вы увидите следующее: Unhandled Exception: System.ArgumentOutOfRangeException: Argument is out of range. Parameter name: index at System.Collections.Generic.List`1[System.Int32].get_Item (Int32) [0x00000] at hackaday.MainClass.DoFunk () [0x00000] at (wrapper delegate-invoke) System.MulticastDelegate:invoke_ void () Китайская грамота, да? Что ж, так нам пытаются сообщить, что возникло «состояние гонки». То есть два потока (или более) парал-лельно пытаются достичь одного результата, и мы из-за непред-сказуемой работы планировщика виртуальной машины получаем неожиданные результаты. Взгляните на код – в частности, на метод DoFunk(). Проблема находится в строке int Num = Numbers[0] – там, где вызывается внутренний метод Mono get_item(). Посмотрим, что здесь может вызвать проблему. Нашли? Если нет, давайте я покажу, что происходит в случае двух потоков исполнения: 1 Поток 1: Numbers > 0. 2 Поток 1: Numbers свободен. Блокируем его. 3 Поток 2: Numbers > 0. 4 Поток 2: Numbers блокирован. Ждем. 5 Поток 1: Взять первое число, удалить, возвести в квадрат и вывести на экран. 6 Поток 1: разблокировать Numbers. 7 Поток 2: Numbers свободен. Блокировать его. 8 Поток 1: Numbers > 0. 9 Поток 1: Numbers блокирован. Ждем. 10 Поток 2: Взять первое число, удалить, возвести в квадрат и вывести на экран. 11 Поток 2: Разблокировать Numbers. ... и так далее. Но в конечном счете произойдет следующее: 1 Поток 1: Numbers свободен. Блокируем его. 2 Поток 2: Numbers > 0. 3 Поток 2: Numbers блокирован. Ждем. 4 Поток 1: Взять первое число, удалить, возвести в квадрат и вывести на экран. 5 Поток 1: Разблокировать Numbers. 6 Поток 2: Numbers свободен. Блокируем его. 7 Поток 1: Numbers не больше 0. Закончили. 8 Поток 2: Взять первое число... БАЦ! В этой последовательности, Numbers начинает с ровно одним оставшимся элементом, и поток 1 его блокирует. В то же время поток 2 проверяет Numbers на наличие элементов, и его ждет успех – так как Numbers все еще содержит число. Но заблокировать Numbers он не может, поэтому ждет. Поток 1 продолжает работу, удаляет пер-вый элемент и возводит его в квадрат, затем разблокирует Numbers. Поток 2 теперь блокирует Numbers, думая, что там еще остались числа, и пытается считать оттуда, затем отбрасывается исключе-ние ‘System.ArgumentOutOfRangeException’, так как Numbers[0] не существует. Если запустить программу несколько тысяч раз, обнаружится, что она не всегда завершается аварийно. Полный произвол: поток 1 может заблокировать Numbers и удалить последнее значение до того, как поток 2 сможет прочитать оставшееся число элементов. Вот почему это зовется ситуацией гонки: потоки забегают один за другой, и между проверкой значения и его использованием может случиться все что угодно. Решение проблемы состоит в том, чтобы проверить значение Numbers сразу после получения блокировки, чтобы учесть случай отсутствия чисел. Добавьте следующую строку сразу после вызова lock: if (Numbers.Count == 0) break; Теперь запуск программы увенчается успехом, так как мы устра-нили ситуацию гонки. В белых перчатках Пришла пора для главного проекта месяца: взлома SHA1 методом грубой силы. Породим 26 потоков (по одному на каждую букву алфа-вита), затем заставим их считать SHA1-хэш для всех возможных слов, начинающихся с этой буквы. Программа прочтет из командной строки максимальный размер слова и хэш SHA1, и остановится, как только Ваше домашнее задание Вы заметили, что я предоставил вам отнюдь не оптимальный алгоритм для взлома SHA1, и не случайно: это Linux Format, а не Black Hat Format. Однако для вас будет интересным упражнением проверка времени, которого потребует ваша атака на SHA1. Три совета начинающим: 1 Ширина охвата (‘a’,’aa’,’ab’,’ac’) лучше, чем глубина (‘a’,’aa’,’aaaa’,’aaab’). 2 Изменение одной строки может сократить поиск 5-символьного слова с 22 секунд до 0.4 секунды. 3 Много потоков может навредить производительности – разве что у вас куча процессоров. 4 Постоянное выделение переменных – пустая трата времени. Достигнув хороших результатов, поместите свой код на форум Linux Format, чтобы другие смогли оценить вашу работу (www.linuxforum.ru). Дерзайте! Имя потоку дается только один раз, поэтому сразу выберите что-то значимое. Скорая помощьИюль 2007 Linux Format 77 Mono-Мания Учебник Через месяц Упростим доступ к базе: скрестим SQL и C#. найдет слово, соответствующее хэшу. Максимальный размер слова будет использоваться для ограничения пробных входов: например, если максимум установить на 4, то поток проверит сначала ‘aa’, ‘aaa’, ‘aaaa’, ‘aaab’, ‘aaac’... ‘aaay’, ‘aaaz’, ‘aaba’ и так далее до ‘azzz’. Здесь не хватит места для всей программы, потому что она зани-мает около 90 строк (вы найдете ее на диске). Но прежде чем браться за дело, обсудим несколько важных моментов: 1 Программа ожидает на входе 2 параметра: максимальный размер создаваемого слова и хэш, которому оно должно соответствовать. Если параметры не предоставлены, программа завершается. Заметим, что метод DoFunk() – точнее, любой метод, который поток выполняет при своем запуске – должен не иметь параметров, либо принимать только один параметр. Если надо передать несколько параметров, следует создать класс, содержащий все необходимые данные, а затем передать объект этого класса в поток. 2 Main() создает 26 потоков, по одному на каждую букву алфавита. Это делается следующим образом: буква ‘a’ преобразуется к целому значению в кодировке ASCII, затем добавляется число i и опять пре-образуется в букву. I находится в диапазоне от 0 до 25, что дает нам ‘a’,’b’,’c’ и т.д. Затем оно передается в thread.Start(). 3 Созданные потоки помещаются в список с незатейливым именем Threads. 4 Причина, по которой мы отслеживаем потоки – мы хотим, чтобы программа дождалась всех потоков, а потом уж продолжила свою работу. Для этого и метод thread.Join(): он ждет завершения потока. 5 Это, в свою очередь, сделано ради подсчета, сколько времени потребуется для завершения работы всех потоков. Если мы не сдела-ем Join() для каждого потока, Main() продолжит выполнение и спута-ет нам хронометраж. 6 Подсчет хэша SHA1() на .NET – штука мучительная, и я решил эту проблему, написав вам в помощь небольшой метод. Чтобы посчитать SHA1-хэш любого слова, просто отправьте ее в метод Sha1(). Откинув все это в сторону, вы увидите, что метод DoFunk() порази-тельно мал. На самом деле он только принимает параметр (начальную букву), а затем вызывает другой метод. Но обратите внимание на то, как он принимает параметр типа object, затем преобразует его (char) в символ. Это неизбежность в .NET, но ее легко обойти. DoFunk() вызывает NextLetter(), передает ей начальную букву и номер 2. Второй параметр – это уровень, то есть размер слова. Если мы велим программе искать слова максимальной длины 6, то цикл пойдет, обнаружит, что уровень (2) меньше или равен максиму-му (6) и войдет в цикл от 0 до 25, а затем перезапустит себя. Вот как будет выглядеть поток вычислений после вызова NextLetter(“a”,2): if (2 <= 6) { for each alphabet letter { string = “a” + letter; hash = Sha1(string); if (hash is what we’re looking for) { print happy message } else { print sad message } NextLetter(string, 3); } О да, рекурсивная функция может здорово надсадить мозги, но самый простой способ понять ее работу – рассовать повсюду выво-ды сообщений Console.WriteLine(), чтобы проследить внутреннюю логику. Если вы поняли, как генерируются входные слова, дальше все просто. Программа использует потоки, и так как потоков 26, она будет плавно рассредотачиваться при добавлении процессоров – даже четырехъядерную машинку обеспечит работой под завязку! Вы може-те видеть результат на экранном снимке внизу. Заметьте, как другие 24 потока выводят сообщения, найдя соответствие. Это в чистом виде гонка. Короче, многопоточность не так уж сложна – по крайней мере, если вы разобрались с блокировками, гонками, присоединениями и фоновыми потоками. Верно? Согласны? LXF Наш готовый проект считает SHA1-ключи для всевозможных комбинаций букв и ищет соответствие. Обратите внимание, как 24 других потока выводят сообщения, когда таковое найдено. Представляем SHA2 SHA1 – не особенно сильный алгоритм хэширования, и он уже не рекомендуется экспертами по безопасности. Однако С# предлагает поддержку для более мощных хэш-функций, включая семейство SHA2 с невероятно сильным SHA512. Конечно, имейте в виду, что наша «лобовая атака» годится только для паролей, так как у большинства пользователей пароли короче 8 символов. На попытку найти совпадение для более длинного сообщения, например, электронного письма, потребовались бы годы. Помните, что блокировки заставляют потоки простаивать, так как только один поток может находиться в критической секции. Чем меньше блокировок, тем быстрее будет работать ваш код. Скорая помощь78 Linux Format Июль 2007 Учебник Hardcore Linux Ден Фрост Дэн работает в Брайтоне техническим директором 3ev, агентства по разработке web-приложений. Он работал на проекте CMS TYPO3, а в настоящий момент занимается CMS-приложением ‘Involve’ для 3ev. Наш эксперт те – это пустая область с границей, так как наш код устанавливает тэг canvas, но ничего другого не делает: просто обозначает пустой холст на странице. Самое интересное начинается в JavaScript. JS используется для рисования линий, кривых, областей и изображений на объекте canvas. Чтобы создать две линии, добавьте это в только что созданный файл и обновите страницу в Firefox: Давайте разберемся. Сначала мы получаем HTML-элемент (или узел) по id ‘canvas’. Затем из элемента canvas мы получаем контекст-ный объект, его мы рассмотрим далее. Объект используется для соб-ственно рисования. Вот и все, что необходимо для применения тэга canvas: HTML-тэг и немного JavaScript. Вся ваша разработка может вестись с помощью Firefox и тестироваться вне сервера, так как логика и рисование нахо-дится на стороне клиента. Но что мы можем? Чтобы подстрекнуть свое воображение, гляньте на панель Dashboard от Apple (сайт www.apple. com/macosx/features/dashboard). Кроме того, всплывает масса мелких примеров: от реализации Paint (CanvasPaint) до восхитительных игр вро-де Blobsallad (http://blobsallad.se) и Canvascope (www.abrahamjoffe.com. au/ben/canvascape). Программировать с помощью canvas совсем не сложно – мой при-мер это доказывает. Но если вам неохота писать тысячи строк лапше-образного кода для отрисовки сложного извива ДНК, поможет объек-тная модель. Наша следующая задача – поместить функциональность canvas в очень простой (50 строк) модуль, для упрощения управления фигурами. Расширяем холст Спецификация на canvas определяет множество функций для рисо-вания простых фигур и линий, вроде прямоугольников, дуг и кривых второго порядка, которые можно комбинировать для создания более сложных, изощренных фигур. По мере того, как я буду описывать раз-личные функции и возможности тэга, копируйте их в ранее созданный файл, чтобы понять смысл функций и как их использовать. Фактически мы рисуем не на объекте canvas, а на его 2D-контексте. Чтобы получить контекст canvas, мы используем функцию getContext. Контекст – это объект, содержащий функции для рисования линий, блоков цветных изображений и так далее. Линии он называет штриха-ми [stroke], а цветовые блоки – заливкой [fill]: Canvas: Холст Hardcore Linux Проверьте себя как продвинутого пользователя Новый HTML-элемент canvas позволяет программировать графику в браузере. Дэн Фрост покажет вам, как использовать этот мощный тэг. Рисование графики на web-страницах обычно отдавалось на откуп Flash или библиотекам на стороне сервера. Больше тако-му не бывать! Забудьте зависть и удовлетворите свои амбиции стать художником – по крайней мере в Firefox и Opera, благодаря тэгу