Академический Документы
Профессиональный Документы
Культура Документы
Познакомьтесь с Wizpy!
MP3 с пингвином внутри
№ 11 (98)
Главное в мире Linux
Ноябрь 2007 № 11 (98)
48 трюков
KDE 4
JavaScript 2
Сетевая диагностика
трюков
MP3-плейер Wizpy
с Linux
LinuxWorld и LinuxLand
Брандмауэры
ОтKрывая KDE4
Самый ожидаемый рабочий
Penumbra: Overture
Гр-р-р-р-р!!!
Месяцок выдался тяжелый: то здесь, то там что-нибудь
отказывало, и чтобы выпустить пар, мы решили спросить у
команды LXF: «Что раздражает вас в Linux больше всего?»
Linux – в массы
Сегодня принято много говорить о росте популярности Linux
Эфрейн Эрнандес- Мэтт Нейлон Энди Ченнел среди простых пользователей. Уважаемые аналитические
Мендоса Оно мне надо – при Созерцание его рас- агентства приводят в поддержку этого тезиса столбцы цифр
Большинство хакеров установке программы цветания часто укра-
не слышало о гигиене – разбираться с RPM, шает мир, но я пред- и красивые графики. Я не претендую на столь высокий научный
в man’ы надо включить Apt, Autopackage, почел бы жить без
требование ежедневно Yum, Urpmi, dpkg, кулачных боев и рас-
уровень, но, тем не менее, хочу поделиться своими наблюдениями.
принимать душ. Portage, epm, klik …? прей. Так уж получилось, что последние четыре года я неизменно
присутствую на стенде LinuxCenter.Ru или Linux Format на выставке
SofTool: когда-то это был крошечный уголок в зоне 1С: Дистрибуция,
а ныне – отдельная экспозиция с собственным конференц-залом, но
не в этом суть. В далеком 2003 году основным вопросом посетителей,
увидевших слово «Linux», был: «Ой, а что это такое?». Бесплатные
Энди Хадсон Д-р Крис Браун Нейл Ботвик
Выбор – это прекрас- Open Source и Linux Поощрение ручной компакт-диски с Knoppix (тогда еще 3.2 RE) расходились, как горячие
но, но, имея столько недостает мощного настройки – это
разновидностей, Linux маркетингового толч- слишком серьезное
пирожки – каждый хотел взять себе Linux «на посмотреть».
зачастую конкурирует ка, чтобы занять искушение для нас, Что же мы наблюдаем спустя четыре года? Интонация сменилась с
не с Microsoft, а с достойное место в закоренелых копате-
самим собой. повседневной жизни. лей и настройщиков. удивленно-вопросительной на утвердительную («О, Linux! Как же,
знаем, встречали»), и хотя иногда она принимает формы «Да знаю
я этот Linux – пойдем отсюда, пока чего не вышло», гораздо чаще
приходится слышать: «Здравствуйте! Я ваш давний читатель» или «А
вот как мне настроить спутниковый Интернет в моей Mandriva?». Linux
перестал быть игрушкой и занял место рабочего инструмента – еще не
Рэйчел Проберт Дэвид Картрайт самого популярного, но уже не малоизвестного. LXF
Если написать “Linux” в Задержка между
девизе на вашей Xbox появлением устрой-
Live, она заблокирует- ства и Linux-драйвера Валентин Синицын Главный редактор info@linuxformat.ru
ся. Забавно, но с к нему. Она сокраща-
“Jesus” и “Bill Gates” – ется, но я все равно
тот же эффект... не люблю ждать!
Рабочий стол
Gnome можно улучшить ................................. 56 64 Studio 2.0
Украсьте свой рабочий стол удачным фоном и На прочной Debian-основе и с уймой про-
четкими шрифтами. грамм для работы с видео и звуком – это
первоклассный дистрибутив для произ-
водства медиа.
LXF DVD
Подпишись внутри!
на Linux Format Хотите узнать, что на нем?
См. с. 108
и сэкономь!
Спецрепортаж Обзоры
трюков
Isis PC ...................................... 12
Компактный, тихий, мощный, стильный ПК за
каких-то 400 баксов – может ли быть лучше?
Может: на нем работает Linux! Попробуйте это
чудо с Ubuntu внутри.
с Linux
Решайте проблемы, узнавайте хитрости и управляйте своей ОС ... с. 44
Новости
ГЛАВНЫЕ НОВОСТИ: Mandriva сертифицируется и внедряется Открытые лицензии от
Microsoft Прогресс на мобильном рынке Патентные разбирательства OpenOffice.org
на новый лад Череда свежих дистрибутивов
Время не ждет
В
сем хороши глобальные национальные про- ливая бюрократическая машина не привыкла быстро вательный дистрибутив только в 2009 году. Нетрудно
екты, но есть у них один серьезный недоста- работать. В результате в большинстве учебных заведе- догадаться, что до того времени можно не спеша
ток: все они реализуются ужасно медленно. ний по-прежнему используется нелегальное ПО, и это применить статью 146 УК РФ за незаконное использо-
Конечно, объективных причин тому – масса, но лег- при том, что прокурорская проверка может нагрянуть вание ПО практически ко всему преподавательскому
че от этого не становится, особенно в случаях, когда в любой день. Парадокс, но многие школы самостоя- составу российских учебных заведений, ожидающих
каждый день промедления грозит вполне реальными тельно закупают всевозможные академические набо- претворения в жизнь правительственных планов.
проблемами, которые, как подсказывает жизненный ры ПО, услужливо предлагаемые представителями На самом деле все не так грустно: определен-
опыт, настигают нас в самый неподходящий момент. компании Microsoft. Последняя же оказалась в наибо- ная свобода действий, предоставленная российским
Что, например, происходит сейчас с легализацией лее выгодном положении: сначала продать лицензии в образовательным учреждениям, позволяет уже сей-
школьного ПО. Правительство пообещало закупить на школы по индивидуальным заказам, затем получить из час отказаться от «гнета проприетарщины» и перейти
все учебные компьютеры лицензионное программное российского бюджета деньги за эти же лицензии пов- на использование Linux в своей работе. Более того –
обеспечение. Решение принято, ответственные назна- торно, но уже в рамках государственной программы по наиболее активные учебные заведения так и посту-
чены, но и по сей день школы не получили хоть что- централизованной закупке для российских образова- пают, самостоятельно переходя на свободное ПО.
нибудь из обещанного легального софта: неповорот- тельных учреждений лицензионного ПО – лучше прос- И подтверждений тому – масса. Например, недавно
то не придумаешь. прошедшие мастер-классы, организованные компа-
Впрочем, все тот же ниями LinuxCenter и Mandriva.ru для школ Пермского
проницательный чита- края, показали большую заинтересованность учителей
тель скажет, что для в переходе на использование Linux, а часть учебных
школ готовится и сво- заведений уже самостоятельно осуществляют заме-
бодное ПО на базе GNU/ ну дорогостоящего проприетарного ПО на свободные
Linux, которое и должно аналоги. Еще более значительные результаты демонс-
решить проблему зави- трирует Ханты-Мансийский автономный округ, где 27
симости от одного-един- школ Сургута и три ведущих ВУЗа региона к концу 2007
ственного поставщика. года полностью перейдут на использование операци-
Все верно, но не стоит онной системы Mandriva Linux. Столь массированное
забывать, что перевод внедрение свободного ПО стало возможным благодаря
школ на свободное ПО – тендеру, еще летом организованному Администрацией
это тоже государствен- Губернатора Ханты-Мансийского автономного
ная программа со всеми округа, в котором победу одержало Объединение
вытекающими. В луч- «Росинформресурс» Минпромэнерго России, пред-
шем случае, российские ложившее наиболее выгодные условия по поставкам
школы увидят специа- и техническому обслуживанию операционных систем
лизированный образо- Mandriva и прочего свободного ПО.
Проверка на доверие
Л
юбой грамотный потребитель зна- начале процесса сертификации операционной тать целый набор, состоящий из собственно
ет, что наличие сертификата гаран- системы Mandriva, озвученное на проходив- дистрибутива Mandriva Linux, пакета докумен-
тирует качество покупаемого това- шей в Сочи конференции «Информационная тации, подтверждающей наличие сертификата
ра. Не является исключением и программное безопасность: региональные аспекты», стало для данного программного продукта, Media
обеспечение: если обычные операционные радостной вестью как для пользователей дан- Kit и USB-ключ для получения сертифициро-
системы мы используем «как есть» без каких- ного дистрибутива, так и для всего российско- ванных обновлений. Также следует отметить,
либо гарантий, то при работе с конфиденци- го Linux-сообщества. что данное событие стало еще одной важ-
альными и секретными данными это недо- Примечательно, что проверку пройдет ной победой молодой компании Mandriva.Ru,
пустимо – для таких случаев программное целый набор из нескольких версий Mandriva являющейся филиалом всемирно известного
обеспечение должно пройти тщательную про- Linux: Mandriva PowerPack+, Corporate Desktop, разработчика Linux-дистрибутивов, ведь нали-
верку в соответствующих контролирующих Mandriva Corporate Server, Mandriva Flash. чие сертификата ФСТЭК России позволит опе-
органах. Если результат тестирования положи- Также стоит обратить внимание на тот факт, рационной системе Mandriva Linux на равных
тельный, то данное ПО получает зеленый свет что сертификация Mandriva Linux не будет конкурировать с другими участниками рынка
для установки и использования в различных привязана к конкретной аппаратной платфор- в сфере государственных поставок и тенде-
государственных организациях и ведомствах, ме, что позволит еще больше расширить сфе- ров на обеспечение российских министерств и
нередко оперирующих данными, не подле- ру применения данного ПО. После завершения ведомств качественным и современным про-
жащими широкой огласке. Именно поэтому процесса сертификации заинтересованные граммным обеспечением.
сообщение представителей ФСТЭК России о организации и предприятия будут приобре-
Правила,
рождающиеся Новости короткой строкой
Компания SCO Group, несколько лет пытавшейся через суд
Т
о, что модульность Linux-систем позво- вых устройств планируют использовать сво- Объявлен первый официальный релиз дистрибутива для
ляет применять их в самых нестандарт- бодные версии дистрибутивов GNU/Linux в работы с мультимедиа JAD 1.0, основанного на OpenSUSE.
ных устройствах, уже давно не является своих новых проектах, 16% намерены брать
новостью. Между тем, даже бурная фантазия для этих же целей платно распространяемый Руководство компании Novell решило полностью оплачи-
пользователей не может предугадать, в каком Linux, еще 12% отдали свое предпочтение вать работу Грега Кроа-Хартмана [Greg Kroah-Hartman],
аппаратном «жилище» в следующий раз мож- коммерческим ОС и лишь 1% опрошенных занимающегося разработкой Linux-драйверов, при этом освободив
но будет встретить «поселившийся» Linux. инженеров ответили, что будут использовать его от других обязанностей.
На этот раз сюрприз преподнесла компания собственные разработки. Правда, на данный
Компания Adobe выпустила первую альфа-версию пакета
ASUS, встроившая свободное ПО... прямо в момент цифры немного другие: 39% исполь-
Flex Builder для Linux, предназначенного для разработки
материнскую плату. В результате пользова- зуют коммерческие ОС, 29% базируются на
флэш-приложений.
тель, купивший компьютер с данной моделью свободных версиях Linux, 11% предпочитают
«материнки» под кодовым обозначением P5E3 платные дистрибутивы Linux, 7% используют Вышла новая версия дистрибутива OpenSUSE 10.3.
Deluxe, может даже не устанавливать на «пер- собственные разработки и 11% устройств не
соналку» операционную систему: при старте используют операционную систему как тако-
компьютера он может выбрать загрузку встро- вую. Таким образом, исследование агентс- По новым данным от компании Red Hat, дистрибутив Red
енной программной подсистемы Express Gate тва VDC предвещает значительные подвижки Hat Global Desktop выйдет в ноябре текущего года.
и получить в свое распоряжение незамысло- разработчиков в сторону именно свободных
Компания Mandriva выпустила очередную версию своего
ватый графический интерфейс с небольшим вариаций GNU/Linux в будущем, что, в общем,
дистрибутива под номером 2008.
набором популярных приложений, включаю- не удивительно: как говорится, если резуль-
щих браузер Firefox, интернет-телефон Skype тат одинаковый, то зачем платить больше? К Объявлен релиз семейства операционных систем Ubuntu,
и еще несколько полезных утилит. Таким слову, тенденции перемещения в сторону сво- Kubuntu, Xubuntu и Edubuntu.
образом, с первых минут пользования вновь бодного ПО наглядно демонстрируется на при-
Компанией LinuxCenter выпущен новый сборник свободного
приобретенной машиной владелец способен мере такого модного устройства, как Internet
и бесплатного ПО для среды Windows.
выполнять наиболее популярные задачи, свя- Tablet от компании Nokia: если первые версии
занные с работой в сети. N770 данного устройства содержали довольно Компания «КОРУС Консалтинг» создала новое подразделе-
На самом деле подобных неожиданностей много закрытых программных компонентов, ние, которое займется продвижением на рынок, внедрени-
в ближайшем будущем только прибавится: то новая модель N810, вышедшая в свет со ем и обслуживанием программных решений с открытым програм-
по данным опроса аналитического агентс- значительным опережением графика, практи- мным кодом.
тва Venture Development Corporation (VDC), чески полностью переведена на использова-
71% разработчиков нестандартных цифро- ние библиотек GTK+ 2.10.x.
Microsoft – тоже
Open Source Офисные
метаморфозы
В
се уже давно привыкли к тому, что в качестве альтернатив-
Е
ще пару лет назад данную новость посматривать в сторону Open Source в силу ной замены дорогостоящему пакету офисных приложений MS
многие посчитали бы первоапрельской явных плюсов, имеющихся у подобных прин- Office выступает свободный вариант – OpenOffice.org. На сегод-
шуткой. Но современный рынок ПО ципов разработки программного обеспечения. няшний день свободный офис дорос до версии 2.3.0, а совсем недавно
диктует новые правила и вот уже Linux-сооб- Одним из наиболее заметных «альтернатив- отметил свое семилетие: 13 октября 2000 года считается отправной
щество вновь обсуждает почти сенсацион- ных» проектов редмондского гиганта можно точкой жизни пакета офисного ПО, переданного сообществу компани-
ное сообщение: некоммерческая организа- назвать открытие кода .NET Framework, начав- ей Sun Microsystems. Между тем, в истории OpenOffice.org не все так
ция Open Source Initiative (OSI) одобрила две шееся в октябре текущего года. Если же попы- уж гладко: как и во многих других открытых проектах, востребованные,
лицензии, разработанные в Microsoft, и при- таться оценить тактику Microsoft и причины но, по мнению Sun, «несозревшие» патчи оказываются за бортом про-
своила им статус открытых. Не сказать, что- интереса данной компании к Open Source, то и гресса. Именно этот факт вынудил компанию Novell пойти на реши-
бы обсуждение представленных вариантов, здесь ничего особо сложного нет: открытое ПО тельный шаг: теперь она будет выпускать собственную версию пакета
начатое в августе текущего года, проходило завоевывает все большую долю рынка и, как офисных приложений на базе OpenOffice.org, дополненную новыми
гладко: в ходе дебатов Microsoft даже согла- любой грамотный рыночный игрок, Microsoft компонентами. На самом деле сборка офисного пакета, входящего по
силась поменять названия лицензий, но в не хочет без боя уступать позиции и планирует умолчанию в дистрибутивы SUSE Linux и OpenSUSE, всегда отлича-
результате большинством голосов OSI реши- активно конкурировать с другими компаниями лась от оригинальной (естественно – в лучшую сторону), но теперь в
ла, что Microsoft Public License (Ms-PL) (быв- и в данной сфере. Что ж, подобное решение Novell решили официально объявить о рождении нового проекта под
шая Microsoft Permissive License) и Microsoft можно только приветствовать, правда, пока названием Go-oo. Хоть и под другим предлогом, но о появлении еще
Reciprocal License (Ms-RL) (бывшая Microsoft неизвестна позиция по последним событиям одной версии свободного пакета офисных приложений под названием
Community License) отвечают всем десяти кри- со стороны Free Software Foundation и станут Symphony, объявила и компания IBM. На этот раз, воспользовавшись
териям лицензий Open Source и могут офици- ли данные лицензии Microsoft совместимыми исходным кодом OpenOffice.org, программисты «Голубого гиганта»
ально считаться таковыми. Впрочем, внима- со свободными лицензиями, ведь, как извест- подготовили его слегка урезанный вариант в виде набора, состоящего
тельный читатель скажет, что такой поворот но, «открытый» – это совсем не то же самое, из Lotus Symphony Documents (текстовый процессор), Lotus Symphony
событий был вполне предопределен: на самом что и «свободный». Spreadsheets (электронные таблицы) и Lotus Symphony Presentations
деле Microsoft уже давно стала с интересом (презентации).
В
ечный туман, трамваи, громыхающие ность документирования каждого шага. Хотя урок мобильных устройств. Возможно, удивляться тут
по покатым улицам, и зловещая тюрьма был предназначен для программистов на языках нечему, ибо соотношение цена/производитель-
Алькатрас – лишь немногое из того, чем высокого уровня, Лючифреди погрузил аудито- ность выглядит достаточно грустно по сравнению
славится Сан-Франциско; а вдобавок это город, где рию в глубины машинного кода, объяснив, как все с другими разработками. Тем не менее, это пока-
в конгресс-центре Moscone проходит конференция программы на процессорах седьмого поколения зывает популярность Linux для встраиваемых уст-
LinuxWorld. Команда LXF отправилась туда, чтобы (например, Pentium IV) спотыкаются на «узких ройств... Кстати, Motorola вновь сделала огромный
разузнать там последние новости, взять интервью местах» при получении данных из оперативной стенд, посвященный телефонам RAZR2, которые
у ключевых фигур мира Linux и встретиться с пос- памяти. работают под Linux. Новинок, возможно, было
тоянными читателями журнала. Кто был там и сто- Во вторник огромный выставочный зал открыл- поменьше, чем в прошлые годы, но все равно было
ял возле стенда LXF, было здорово повидать вас! ся для разработчиков Linux, IT-менеджеров и прос- на что посмотреть!
Мероприятие стартовало в понедельник 6 то пользователей. Присутствовали также и гиганты
августа фейерверком семинаров. Джошуа Бриндл компьютерной индустрии, в частности Dell и Intel; Где .orgии?
[Joshua Brindle], любезный аналитик по безопас- разработчики из Intel представили новую линейку Большая часть экспонатов была посвящена фир-
ности из Tresys Technology и фанат Gentoo, рас- компьютеров с Ubuntu для Европы (см. интервью мам-разработчикам Linux для предприятий, но сек-
сказал о работе по улучшению системы безопас- на стр. 52). ция “.org” представляла свободные проекты, такие
ности SELinux в его компании, заострив внимание Стенд Yahoo был самым популярным – бла- как Gnome, Gentoo и OpenSUSE. Даже ребята из
на огромном (и постоянно растущем) количестве годаря автомату для поп-корна и удобным дива- FreeBSD были там, демонстрируя самый последний
уровней сложности в современных дистрибутивах нам, на которых участники могли расположиться релиз ориентированного на настольный компью-
и на том, как они влияют на развитие SELinux. Он со своими ноутбуками. Стенд Novell выставил ряд тер PC-BSD. А стенд Debian отличился фишкой в
выделил 20 различных типов IPC (межпроцессных ноутбуков со SLED для проверки электронной поч- техно-стиле: экран с web-камеры, отраженный на
коммуникаций) в ядре Linux и в своем исследо- ты и web-серфинга. противоположной стене, показывал всех прохо-
вании установил, что современные дистрибутивы Palm демонстрировал свое новое устройство дящих мимо. В чем же был фокус? Изображение
«при загрузке совершают 100 000 обращений к Foleo под Linux. Этот микроноутбук уместил впе- формировалось из символов ASCII – так что вы
файлам» – несомненно, приятное открытие для чатляющий набор с 416-МГц ARM-процессором, видели себя составленным из букв и цифр на
разработчика политик SELinux... 384 MБ памяти (флэш и обычного ОЗУ) и бата- огромном дисплее.
реей на 5 часов работы в объеме не больше По ходу события мы встретились с рядом
Черная магия книги. Наше беглое знакомство с этой машиной главных игроков в мире Linux, поэтому следите за
Днем Федерико Лючифреди [Federico Lucifredi] выявило, что клавиатура Foleo размещена порази- полными интервью в будущих выпусках (в этом
из Novell провел урок «черной магии» по про- тельно удобно и более чем достаточна для напи- выпуске мы начали с Мэтта Домша и Джуди Чавес
филям производительности и оптимизации. То сания электронных писем и быстрого создания из Dell). Кроме того, см. раздел Журнал на нашем
и дело цитируя знаменитую максиму, что «пре- документов. DVD для общего видео с этого события, которое
ждевременная оптимизация – корень всех зол», Увы, после выставки мы узнали из новостей, заснял Майк «Спилберг» Сондерс. Вы как будто
он описал, какая это трудная и неблагодарная что Palm не планирует больше продавать эти сами находитесь там и задаете вопросы разработ-
работа – оптимизация кода, и подчеркнул важ- ноутбуки и пересматривает свою стратегию для чикам OpenSUSE! LXF
LXF Репортаж
LinuxLand-2007
В начале октября редакция Linux Format Россия посетила Москву, чтобы своими глазами увидеть,
как Open Source проникает в массы. Валентин Синицын пробует подытожить впечатления от
четырех дней, проведенных за стойкой...
П
ока английская команда LXF бороз- ров Aquarius с установленным Mandriva Linux
дила просторы воздушного океана 2007.1, проходили презентации и мастер-
над Атлантикой, мы совершили более классы по технологиям Linux и Open Source.
близкую, но не менее увлекательную поездку Слушатели могли воочию познакомиться с
в Москву, где в павильоне 69 Всероссийского открытыми технологиями и получить навыки
выставочного центра (ВВЦ) проходила выстав- работы в таких программах, как OpenOffice.
ка SofTool’2007 и ее сателлит – LinuxLand/ org. Однако, наибольшим успехом, несомнен-
SITOP-2007. В течение четырех дней – со 2 но, пользовались мастер-классы компании
по 5 октября – все желающие могли вживую Etersoft, посвященные запуску Windows-при-
познакомится с новинками мира Open Source, ложений в среде Linux. Несмотря на предва-
принять участие в мастер-классах и просто рительную регистрацию, мест в конференц-
пообщаться с единомышленниками. зале не хватало, чтобы вместить всех жела-
Среди экспонентов LinuxLand в этом году ющих, и многие посетители наблюдали за
были как старые, так и новые лица: ALT презентацией с... лестницы, под которой, по
Linux, Etersoft, Mandriva.Ru, НПО «Сеть»/MOPS счастливой случайности, и находился зал.
Linux (кстати, на выставке была официально По причине аншлага, выступления директо-
представлена новая версия этого дистрибути- ра Etersoft Виталия Липатова имели свойство
ва – 6.0), LinuxCenter.Ru, SunRadio.Ru, проект затягиваться; впрочем, на это никто не оби- категории: тех, кто пришел приобрести све-
«ТЫРНЕТ», учебный центр R-Style, UMI.CMS жался. Неизменным успехом у посетителей жий журнал или дистрибутив, тех, кто пришел
и, конечно, журнал Linux Format. Несколько пользовался и стенд Etersoft, расположенный задать вопрос или послушать мастер-класс и,
огорчало лишь отсутствие гигантов индуст- на «территории» Mandriva.ru – плазменный наконец, тех, кто пришел встретиться «в реа-
рии: IBM и Novell/SUSE, а также ASP Linux, экран с окном 1С:Предприятия и панелью ле». Исходя из этого, в общем-то не малень-
который, правда, был представлен стендом в Kicker привлекал внимание издалека. Правда, кая по своим размерам экспозиция постоян-
зоне 1С:Дистрибуции. проходя как-то раз мимо, мы обнаружили но напоминала гибрид ярмарочной площади,
Заявленной формой проведения LinuxLand еще и Konsole с открытой root-сессией, но call-центра и клуба по интересам (кстати,
была «выставка-конференция», поэтому вни- врожденное чувство такта не позволило нам пользуясь случаем: большое спасибо всем,
мание уделялось не только демонстрации, но совершить никаких противоправных действий кто заглянул повидаться с нами на стенд Linux
и обмену опытом. В течение всего времени в отношении демо-установки. Format, особенно тем, кто пришел не с пусты-
работы выставки в конференц-зале, обору- Вообще, посетителей LinuxLand в этом ми руками!). Мы повстречались со многими
дованном сетью из двух десятков компьюте- году можно было разбить на три основных интересными людьми и надеемся, что наше
Кстати
Пингвинов на SofTool’07 можно было встретить компании. Количество пользователей, одновре-
и за пределами «заповедника» LinuxLand. Так, менно работающих в системе, в ходе публично-
компания Ansoft, разработчик автоматизиро- го тестирования на выставке SofTool составило
ванных систем управления под торговой мар- более 1000 человек.
кой AVARDA, развернула на своем стенде комп- Подводя итоги мероприятия, исполнительный
лекс AVARDA.Emulator, имитирующий работу директор группы компаний Ansoft Георгий
системы AVARDA.RetailNetwork в розничной Меньков отметил: «Компания Ansoft вот уже
сети национального масштаба (головное отде- более пяти лет успешно осуществляет крупные
ление, 10 региональных офисов, 10 распреде- внедрения системы AVARDA, построенной на
лительных центров и более чем 550 магазинов базе СУБД Firebird и работающей под
различного формата) и представляющий собой управлением ОС Linux. Результаты, полученные
локальную сеть из 50 рабочих станций и 10 в ходе не имеющей аналогов публичной
серверов, полностью управляемых Scientific демонстрации работы крупнейшей компании,
Linux 4.4/5.0; в качестве СУБД использовалась показали способность информационных систем
открытая Firebird 2.0. На каждой рабочей стан- с открытым исходным кодом на равных
ции одновременно работало от 10 до 30 копий конкурировать с коммерческими продуктами,
приложений, задача которых состоит в выпол- как по качеству, так и по масштабам работы».
нении функций реальных сотрудников торговой
Обзоры
Новинки программного и аппаратного обеспечения в описании наших экспертов
Алексей Федорчук
Его слабости – mass
storage, разметка диска
и файловые системы. Сегодня мы рассматриваем...
12 Isis PC Wizpy с. 13
Возьмите одну часть мощного CPU, одну часть
Mandriva на Руси: Linux, две меры RAM и кучу дискового
второе нашествие пространства, перемешайте и подайте в
Бонапарта? сногсшибательном черном корпусе. Наши
комплименты шеф-повару!
истрибутив Mandriva издрев-
Isis – ПК с Ubuntu
Второй месяц подряд мы оцениваем компьютеры с предустановленным Linux. Сегодня речь
пойдет о машине высшего класса, с производительностью под стать внешности.
Н
есмотря на громкие заявления круп-
Вкратце… ных компаний типа Dell, компьютер
с предустановленным Linux по-пре-
Компактный жнему в диковинку. Хотя удобство такой
малошумный Linux вещи трудно переоценить. Многим из нас в
PC с предустанов- свое время довелось изрядно потрудиться,
ленным Ubuntu. чтобы подобрать рабочую аппаратную кон-
Альтернативы –
eSys PC, рассмот- фигурацию. Куда проще предоставить эту
ренный в прошлом работу специалистам, чтобы, купив новый
номере, или даже ПК, просто включить его в розетку и нажать
PC от самой Dell. кнопку питания. Именно такую услугу ока-
зывает британская компания EfficientPC –
системы на основе Ubuntu, собранные на
заказ с учетом индивидуальных требований
и готовые к работе. Один из настольных ПК
Наша Isis прислали на пробу и нам.
система
Даешь MythTV!
Процессор: AMD Isis смонтирован в корпусе Asus Pundit –
Athlon64 X2 Dual
небольшом (9,1 см х 37,5 см) матово-черном
Core 5000+
параллелепипеде, ласкающем взгляд. Наши
Память: 2 ГБ
фотографии просто не в силах отдать ему
Жесткий диск:
должное, но по сравнению с типовым дизай- Isis отличается фантастической элегантностью и невероятной расширяемостью, благодаря
500 ГБ
ном Dell это небо и земля. Isis не выглядит массе видов входных и выходных портов, скрытых под передней панелью.
DVD/RW: 16x
замарашкой рядом с элегантным LCD-теле-
PCI: Netgear
Wireless визором последней модели, а голубые све- слегка тормозной, но это заметно лишь в тории Universe и Multiverse. Следует, впрочем,
тодиоды на передней панели лишь усили- новейших видеоиграх. Добавьте TV-карту – помнить, что средний пользователь слабо
Цена: ‡398,90
(ок. $800) вают эффект. Правда, машина увесистая, и получите совершенный домашний медиа- знаком с Linux. Новичкам пригодился бы пер-
EfficientPC почти 6 кг. Внутри корпуса – процессор AMD центр. К нашему восторгу, EfficientPC делает сональный экран приветствия, позволяющий
просила нас Athlon 64 X2 5000+ и материнская плата с и это, предоставляя инсталляцию и настрой- создать учетную запись без углубления в
отметить, что интегрированной видеокартой Nvidia 6150, ку MythTV без дополнительной оплаты. меню администрирования Ubuntu. Не помеша-
данная 128 МБ разделяемой памяти, гигабитный ли бы и подсказки по решению элементарных
комплектация
может
Ethernet и аудио 5.1. А еще EfficientPC уста- Рассвет Ubuntu задач, вроде изменения разрешения экрана с
подешеветь уже новила в один из PCI-слотов беспровод- После включения машины загружается 32- помощью nvidia-settings. Но EfficientPC явно
к моменту ную G-карту Netgear, а на переднюю панель битная версия Ubuntu 7.04 (на этапе инсталля- решила умерить излишества. За этим малень-
выхода журнала. вынесена удобная комбинация кардридера, ции можно выбрать 64-битную), и нескольки- ким исключением, компьютер очень высоко-
портов FireWire/USB и оптического аудиора- ми секундами позже мы увидели стандартную го качества, а внимание к деталям настройки
зъема – разносторонняя и мощная оснастка картинку Feisty. Сразу же бросился в глаза Linux весьма отрадно. LXF
для столь небольшой коробочки. По нынеш- работающий Compiz. Получить «резиновые»
ним временам видеокарту можно счесть окна и эффекты затухания виртуальных рабо-
чих столов без всяких усилий – это здорово, к
тому же свидетельствует об установке пропри-
етарных драйверов Nvidia. На сайте EfficientPC
Вердикт
предусмотрительно упомянута возможность Isis Series Desktop
альтернативы с nv для адептов открытого Производитель: EfficientPC
ПО, и даже приведен список модулей ядра, Сайт: http://efficientpc.co.uk/
использованных различными системными Цена: от 211 (ок. $400)
компонентами при инсталляции. Функциональность 10/10
Установлены драйверы беспроводной Производительность 9/10
сети Atheros за счет ограниченных моду- Простота использования 9/10
лей ядра. Инсталлирован Java от Sun, а вот Цена 9/10
Adobe Flash понадобилось установить само- Зачем тратить время на поиски
стоятельно с помощью автоматического инс- совместимого оборудования? В высшей
таллятора Firefox – лишний довод в пользу степени рекомендуем.
TurboLinux Wizpy
Не спешите проверять обложку: вы читаете «правильный» журнал.
Грэм Моррисон действительно имеет в виду MP3-плейер.
О
н мал (84 х 42 х 12,2 мм) и легок;
Вкратце… нам прислали экземпляр глянцево-
черного цвета (ведь черный – это
MP3-плейер тоже цвет?). Есть вариант в белом. Девять
с возможностью кнопок украшают лицевую панель аппарата.
просмотра текстов На них есть даже значки, но практически недо-
и фильмов, при
ступные пониманию – мгновенно узнаваемая
подключении к PC
загружается черта японских изделий. Включите Wizpy, на
в TurboLinux. несколько секунд придержав нижнюю правую
Можно смастерить кнопку с иносказательным изображением – и
собственный в дело вступит OLED-дисплей. Он весьма ярок,
с помощью USB-
но режет глаза миганием.
брелка или LiveCD.
Махните плейером слева направо, и перед
глазами замелькает изображение на экране,
растягиваясь и искажаясь. В походах по фай-
ловой системе это не важно, но при просмотре
фильмов комфорта не добавляет. Но, в любом
случае, для фильмов плейер не предназна-
чен: 1,7-дюймовый экран маловат, разреше-
ние низкое, а количество цветов ограничено
256 000.
П
рофессиональных CAD-систем для
Вкратце… Linux немного. Любительских наброс-
ков CAD в среде открытого ПО хвата-
2D/3D ет, но большинство из них весьма примитивны
CAD-программа и созданы для решения сугубо специальных
для инженеров- задач (например, разводки печатных плат)
конструкторов. или, наоборот, слишком обобщены, без забот
См. также QCAD
для 2D- о глубине функциональности.
проектирования. Создатели VariCAD умудрились сочетать в
программе несложный интерфейс с мощным
инструментарием для создания практически
любого мыслимого проекта, хотя «заточе-
на» программа под конструирование меха-
низмов. VariCAD был первым Linux-прило-
жением, успешно применившим 3D-режим
проектирования, освоив который, начинаешь
недоумевать, зачем вообще нужно двумерное
черчение. Создав простой объект в 3D-режи-
ме, можно вертеть его во всех направлениях
с помощью Control-Shift и мыши. Добавить
новый объект совсем несложно: к вашим услу-
гам уйма «привязывающих к пространству» Богатый инструментарий VariCAD легко справляется с большинством конструкторских задач.
параметров – инструментов, способных найти
хоть середину отрезка, хоть центр круга.
Если нужны сложные расчёты, вас и тут 2D иль не 2D? отверстия и, естественно, воспользовавшись
ожидает мощная поддержка. Понадобился Завершив свою модель, нетрудно экспорти- командой Undo (Отменить), чтобы вернуться
стандартный подшипник, пружина, ролик ровать объёмное изображение в двумерную к исходному, вы обнаружите, что исчезло всё.
или балка с определенными спецификация- чертежную часть программы. Хотя многие Попытка сделать Redo (Повторить) ни к чему
ми – пожалуйста, программа не только под- предпочтут работу в 3D-режиме, на 2D отнюдь не приведёт – движок Undo/Redo реагирует
берёт нужный вариант, но и вычертит его. не поскупились; возможен и обратный про- только на изменения, которые реально про-
Приложение буквально ломится от подоб- цесс – обращение двумерных чертежей в 3D- изошли с моделью; в некоторых случаях такое
ных решений, сберегающих время и усилия. объекты. Конечно, 2D-режим не столь увле- может без малого взбесить.
Многие компоненты даже незачем и чертить: в кателен, но для многих видов проектирования Стоит ли обновляться? Если вам позарез
VariCAD имеется внушительный набор винтов, без него не обойтись. Если же вы хотите прос- нужно строить водопровод – возможно. Если
болтов, шайб и профилей по типоразмерам то набросать проект печатной платы, то эта же вы вовлечены в другой крупный проект с
ANSI и DIN, и выполнение работы становится работа как раз по плечу одной из свободных устоявшейся практикой – коней на перепра-
тривиальной задачей, а не тягучей рутиной, программ-альтернатив. ве лучше не менять; а вот новичка VariCAD не
характерной для прежних CAD-инструментов. Основная причина скачка в нумерации вер- разочарует точно. LXF
сий – введение функций обработки прово-
дов и труб, призванных упростить прокладку
коммуникаций на чертежах (в трёхмерном
Свойства навскидку режиме, естественно). Обе функции сходны,
с той разницей, что труба пустая, а провод
(само собой) нет. По сути, задача сводится к
Вердикт
построению простых цилиндров, только они VariCAD 2007 2.01
непрерывно следуют один за другим – провод Разработчик: VariCAD
или труба автоматически изгибается соглас- Сайт: www.varicad.com
но размерам: надо указать лишь исходную и Цена: $680
конечную точку, а о коленах программа забо- Функциональность 10/10
тится сама. Хотя применение этих функций Производительность 9/10
кое в чем ограничено, они фантастически сбе- Удобство использования 8/10
регают время. В программе исправлены неко- Цена 7/10
Провода и трубы Тяжёлое вооружение
В новом режиме моделирования Сберегите часы цифровой торые ошибки – в основном, в 3D-интерфейсе, Достойного соперника на Linux-
размещать на чертежах провода рутины – пусть программа который теперь более точно подстраивается к платформе что-то не видно.
и трубы гораздо проще и делает сложные вычисления различным видеокартам. К сожалению, часть
быстрее, чем раньше. сама. недостатков пока не изжита. Например, сде- Рейтинг 9/10
лав ошибку в размещении нескольких копий
LinuxMCE 0704
Cтрадаете по чему-то вроде AppleTV или Windows Media Center Edition для Linux? Не страдайте –
открытое ПО нисколько не хуже…
L
inux просто необходим единый медиа-
Вкратце… центр: любой средний дистрибутив бук-
вально замусорен медиа-приложени-
Активная ями. Пол Уэббер [Paul Webber] с группой
оболочка, верных помощников, надеется решить эту
доставляющая весь проблему с помощью LinuxMCE (Linux Media
цвет мультимедиа- Centre Edition). LinuxMCE – вязанка Linux-
ПО Linux прямо
в руки обычного мультимедиа-столпов уровня MythTV, Asterisk,
пользователя. VideoLAN и Xine, объединенных чем-то вроде
Убедитесь только, ядра (The Core). В феврале The Core отпоч-
что ваше ковалось от выпущенного по GPL исходно-
оборудование
го кода Pluto, коммерческого приложения
поддерживается.
для домашней автоматизации. Основательно
переработанный и отделенный от исходного
Linux-дистрибутива, LinuxMCE теперь выстро-
ен вокруг Kubuntu: версия 1.1 доступна либо
на 2-х CD, либо в DVD-варианте. Разница меж-
ду ними – в процессе установки. CD-версия
инсталлируется поверх свежеустановленного
Kubuntu 7.04, с сопутствующей настройкой
массы параметров, а DVD-вариант применяет
для инсталляции метод Quick Install, заодно
включает Kubuntu и храбро заявляет о 20-
минутной инсталляции нажатием трех кнопок. Эффекты OpenGL начиняют интерфейс пользователя чем-то очень похожим на изыски
Apple.
Quick Install
Мы загрузили Quick Install DVD с помощью контролировать простейшим пультом дистан- управления курсором. А вот на настройку
BitTorrent – не терпелось проверить, соответ- ционного управления. Десятью минутами поз- MythTV или Asterisk магии уже не хватило.
ствует ли действительности время инсталля- же стартует менеджер настройки LinuxMCE. Стабильно работать они будут лишь при мини-
ции. Разработчики не обманули, но необходи- Это одна из основных программ инсталляции: мальных запросах – вот почему мы установи-
мо соблюдать осторожность. Почти единствен- ее работа – загрузить серию обновлений и ли LinuxMCE на старую MythTV-машину. Но
ный вопрос, на который вы отвечаете во время запустить пользовательский интерфейс. мы считаем, что LinuxMCE обладает фантас-
инсталляции – это о диске, на который будет тическим потенциалом для развития, и если
установлен LinuxMCE. Выбранный диск будет Готово к действию долгожданная интеграция KDE 4 все-таки слу-
переразбит и переформатирован автомати- Затем пойдет долгий процесс настройки: чится – следующая версия может стать сверх-
чески: у вас не останется ни малейшего шан- LinuxMCE будет дотошно разузнавать о том, популярной. LXF
са. При двойной загрузке дважды подумайте что и где у вас инсталлировано. По сути, это
перед нажатием клавиши – секундой позже графически оформленная скриптовая обра-
Клиенты: настройте
все данные будут стерты. Спустя 10 минут ботка различных пакетов – например, мож-
сколько вам угодно
появляется AV-мастер. Девятишаговая проце- но настроить световую и звуковую системы
клиентов,
подключенных дура проста: необходимо ответить на элемен- сигнализации о неполадках. Однако располо-
к центральному
серверу, с помощью
тарные вопросы о графическом оборудовании
и о том, слышите ли вы определенный звук.
жение кнопок не очень удобно для навига-
ции, и не предусмотрена помощь в настрой-
Вердикт
web-интерфейса. Лишь один ответ трудно предугадать зара- ке аппаратуры. Периферия должна «просто LinuxMCE 0704
нее: это о способности оборудования поддер- работать» с LinuxMCE, поэтому предпочтение Разработчик: Пол Уэббер
живать OpenGL GUI, отдается USB-устройствам. Проделав необхо- Сайт: www.linuxmce.com
что для большинства димые шаги, вы наконец-то попадаете в поль- Цена: Бесплатно под GPL
современных уст- зовательский интерфейс. Навигация между Features 10/10
ройств определить кнопками основных функций, расположенны- Performance 8/10
непросто. Работа ми внизу экрана, осуществляется просто кур- Ease of use 7/10
пользователя огра- сором, и уж здесь-то все действует безупреч- Documentation 5/10
ничивается управ- но. OpenGL четко связывает функции между Не путать с волшебной палочкой!
лением курсором да собой. Выберите кнопку Movie (Фильмы), и Амбициозный Linux-проект
клавишей активации появится список всех совместимых файлов, с грандиозным потенциалом.
(Enter). Это означает, найденных в системе. Воспроизведение осу-
что пользовательский ществляется вашим любимым медиа-плей- Рейтинг 7/10
интерфейс можно ером, и тоже – простейшими средствами
Penumbra: Overture
Побродив в холодных лабиринтах, Грэм Моррисон обнаружил, что намек на неполное освещение в
названии игры [penumbra – полумрак, – прим. пер.] более чем оправдан.
П
режде всего, приносим свои
Вкратце… извинения за плохую контраст-
ность экранных снимков в статье.
Проблема в том, что в Penumbra: Overture
Приключенческая темно, а темнота плохо «ложится» на печать.
игра «от первого Как и страх, сообщник темноты: в Penumbra
лица» с элемента-
эффектно работают оба. Данный релиз дол-
ми решения задач
и увлекательным жен стать первым в трилогии, и именно
сюжетом. сюжет, а не «навороченная» графика или
Комбинация ста- спецэффекты, призваны вести игрока от
рых приключений одного эпизода к другому. История, как и
LucasArts, интерак-
графика, темная – наш герой Филип [Philip]
тивной фантастики
и Silent Hill. отправляется на поиски правды о смерти
своего отца, а заодно и секретов, оставлен-
ных им в потайном сейфе. Проникновенный
закадровый голос сопровождает повороты
сюжета и объясняет текущее положение дел
на фоне отличных иллюстраций. Но имейте
в виду, что все линии сюжета обрывают-
ся, едва Филип оказывается в Гренландии,
находит убежище в одной из заброшенных
шахт и обнаруживает, что он не единствен-
ный обитатель подземелья. Прекрасные иллюстрации помогают проникнуться атмосферой тревоги и напряжения,
сопутствующей игре, да и сами во многом создают эту атмосферу.
Развеем мрак
Penumbra: Overture – это 300 МБ загрузки, 1-ГГц процессор. В начале игры графика или жечь факел для дополнительного осве-
а еще для игры понадобится сравнительно хороша, с превосходной глубиной и бога- щения. В любом случае, освещено будет
нестарая видеокарта и по меньшей мере тыми текстурами. Но едва вы попадаете в лишь небольшое пространство прямо перед
шахту, способности графического движка вами. Освоившись, вы начинаете бродить и
становятся излишними. Из различных уров- бегать по шахте с тем же чувством трепета,
«Вес объекта влияет ней полумрака трудно соорудить достойное которое, наверно, испытывал Говард Картер
на силу разрушения, изображение, хотя есть несколько спосо- [Howard Carter], впервые осветив гробницу
бов слегка подсветить картинку. Учитесь Тутанхамона. Именно эта игра света и тени
вызванного его броском.» беречь заряд батареек в своем фонарике создает напряжение. Просто жуть берет,
Физ-з-зика
Но что же отличает эту игру от многих дру-
гих? Движение! К изумлению, в игровой
движок встроена полноценная ньютонов- Игра стартует при свете дня, но это единственная возможность оценить способности графического движка – чем
ская физическая модель. Поднять и пере- дальше, тем мрачнее и тревожнее становится все вокруг.
местить любой объект в поле игры можно
курсором. Щелкните левой на бутылке вис-
ки, лежащей на столе, чтобы поднять ее и захват, пока курсор попадет в правильную
взять в виртуальную руку. Приподнимите позицию. Сначала двигать ящики стола за
бутылку и отпустите левую кнопку мыши ручки очень весело, но если нужно по-быс-
– бутылка упадет на стол. Махните мышью трому обшарить целую комнату шкафов в
– и бутылка, пропорционально приложен- поисках последнего куска солонины, это
ной силе, полетит и разобьется о каменную скоро надоест. Вес объекта влияет также и
стену пещеры. Эффект хорошо отлажен, и на его маневренность, и на разрушитель-
определенно усиливает степень погруже- ность воздействия, которое он может ока-
ния в виртуальную реальность игры. То же зать на другие предметы – быстро научи-
свойство используется для решения голо- тесь, когда припрет.
воломок, поднятия крышек люков и пово-
рота дверных рукояток. Могут иметь место Ужасы
проблемы, так как графика не настолько Принимая во внимание цену, а также то, что
хороша, чтобы позволить уверенно контро- Linux-версия наступает на пятки Windows-
лировать ваши действия. Например, откры- игре (опережая неизбежный OS X-вари-
вая люк, придется сделать не один пробный ант), эта игра – замечательное дополне-
ние к игротеке линуксоида. Да, она далека Время выбирать между фонариком и факелом.
от совершенства, и временами приходится
забывать о логике, следуя поворотам сюже-
та и несколько монотонному способу реше-
ния проблем «взять то/положить сюда». Но
таинственная история и едва освещенные Вердикт
интерьеры будут как раз впору для многих
из нас, обитателей северного полушария. Penumbra: Overture
А еще игра жуткая. Передергивает от ужа- Разработчик: Frictional Games
Сайт: www.penumbra-overture.com
са, когда батарейки фонаря окончательно
Цена: $20
садятся, вы остаетесь в полной темноте, а
Функциональность 6/10
два желтых глаза уставились прямо на вас
Производительность 7/10
из глубины пещеры. Это не шедевр, но если Простота использования 7/10
нам удастся накликать повышенный спрос Цена 9/10
на первый эпизод, то, будем надеяться, это
Стоит большего, чем DVD-фильм
позволит разработчикам с полной уверен- за ту же цену; пример для издателей,
ностью приступать к работе над следующей сомневающихся в успехе Linux-версий.
частью. LXF
Сюжет временами хромает, но действие достаточно увлекательно и Рейтинг 8/10
глубоко, чтобы держать интригу и не снижать напряжение.
Оболочки брандмауэров
Излишне разъяснять важность обороны от интернет-вторжений. Крис Хауэллс подобрал
несколько программ, призванных нас защитить.
Б
рандмауэр – современный цифровой себя многие мелкие, но трудоемкие опера-
Наш аналог крепостного рва и подъемного ции. Такие оболочки бывают двух типов.
Функционал Сети имеют обыкновение
выбор моста: захватчики не пройдут, дру- Полностью графические решения позволяют
разрастаться, а инструмент должен пос-
певать за их ростом, обладая запасом
FireHOL с. 20 зей – милости просим. Это первая линия настроить брандмауэр выбором различных необходимых функций. Любая оболоч-
Firestarter с. 21 Интернет-обороны, и очень важно его уста- параметров в графическом интерфейсе. ка должна «уметь» не только состав-
Firewall Builder новить, независимо от масштабов вашей кре- Второй вид оболочек предоставляет вам лять элементарные правила iptables, но
с. 21 пости – крупная ли это сеть или одиночная самостоятельно описать брандмауэр с помо- и настраивать трансляцию адресов,
KMyFirewall
с. 19 рабочая станция. щью особого языка программирования, син- поддерживать маршрутизацию, под-
Guarddog с. 20 Следует признать, что постройка брандма- таксис которого несколько отличен от тра- считывать трафик и многое другое.
Shorewall с. 22 уэра на Linux – далеко не тривиальная зада- диционных команд iptables. После этого про-
ча. Обычно защиту настраивают при помощи грамма настройки брандмауэра конвертирует
инструмента командной строки iptables, при- написанные правила в конфигурацию iptables, IP-адресом (подробности см. http://www.ietf.
чем требуются немалые познания и понима- которую можно загружать и контролировать, org/rfc/rfc1918.txt). Вам может также понадо-
ние различных концепций, связанных с дан- как обычно. биться помощь в пробросе портов, шейпинге
ным вопросом, что достигается лишь чтением Подобные программы умеют составлять не и учете трафика.
изрядного количества документации. только простые правила iptables. Технология В общем, имеете ли вы дело со скром-
Хорошо, что существуют различные трансляции адресов (Network Address ным настольным ПК, или с обширной сетью –
оболочки, значительно упрощающие сбор- Translation, NAT) позволяет скрыть многочис- найдутся программы, призванные обеспечить
ку брандмауэров для Linux-машин, взяв на ленные частные IP-адреса за одним общим вашу безопасность.
KMyFirewall
Бесхитростное название прозрачно намекает на принадлежность KDE…
Б
удучи солидным приложением,
KMyFirewall предлагает пользовате-
лю два вида интерфейсов. Generic
Interface предоставляет сравнительно простой,
но не особо мощный интерфейс для iptables.
Зато Iptables Interface позволяет добраться
почти до любого параметра настройки бранд-
мауэра. Но пользоваться этим интерфейсом
ненамного проще, чем писать правила iptables,
так как необходимо все-таки иметь представ-
ление о сути вопроса.
Запустив KMyFirewall не как суперпользо-
ватель, вы тем не менее будете вынуждены
назвать его пароль, чтобы сделанные измене-
ния, требующие особых привилегий, вступили
в силу. Предоставляется много готовых образ-
цов, среди которых варианты для рабочей
станции, NAT-маршрутизатора и web-сервера.
Можно начать и с совершенно новой, чистой
конфигурации.
Нас с ходу расстроило стартовое заяв-
ление KMyFirewall о том, что наборы пра-
вил, составленные в предыдущих версиях,
работать не будут, «даже не пытайтесь». Это
обижает пользователей прежних версий и Можно настроить ведение журнала, хотя довольно скудного: записываются только отклоненные пакеты.
заставляет заподозрить, что будущие смены
версий тоже проигнорируют обратную сов-
местимость, и трудоемкий процесс придется идентичен самой iptables. Например, можно брандмауэра реализуется как отдельный
начинать с нуля. получить непосредственный доступ к любой модуль. Поэтому программу нетрудно преоб-
В Generic-режиме интерфейс пользова- из трех цепочек пакетных фильтров iptables: разовать, добавив новые модули. В докумен-
теля состоит из нескольких страниц с пара- INPUT, OUTPUT и FORWARD. Можно составить тации создание модулей описано подробно –
метрами настройки. Первая, Access Control собственные правила, установить политику по по сути, для этого достаточно составить XML-
(Управление доступом), позволяет указать умолчанию (например, предписать отклонять файл описания и немного потрудиться в C++
протоколы, по которым разрешены входящие все пакеты, кроме точно соответствующих для привязки к графическому интерфейсу.
и исходящие подключения. Вторая, Special установленным критериям отбора) и многое Документация добротна, хотя и без изысков.
Hosts (Особые хосты), дает возможность ука- другое. KMyFirewall не очень-то изменилась со
зать хосты, отношения с которыми оговари- К сожалению, мы нашли здесь ошибку: времен версии 1.0 2005 года. Обещана под-
ваются особо – например, серверы, контакт с установленные правила не появляются в спис- держка создания брандмауэров для других
которыми запрещен. ке, пока не выбран хотя бы один из пунктов в систем, включая pf в OpenBSD. Интересно
Управление пакетами Internet Control группе флажков Table. Ошибка простая и лег- было бы посмотреть.
Message Protocol (ICMP) возможно лишь до ко устраняемая, но пользователей такое пове-
некоторой степени, поэтому мы удивились, дение не радует.
увидев подпись под одним из параметров:
«Ограничив число ping-запросов, можно избе- Сохраняем настройки
жать DoS (Denial of Service)-атак». Да, до неко- Настройку брандмауэра можно сохранить,
торой степени защититься можно, но «избе- а затем загрузить в формате KMyFirewall
жать» – явное преувеличение. Generic Ruleset (.kmfgrs), а можно и экспорти- Вердикт
Трансляция настраивается на следующей ровать как обычный скрипт оболочки, где все
странице. Жалко, что KMyFirewall в режиме правила описаны с помощью команд iptables. KMyFirewall 1.0.1
Generic, похоже, не поддерживает проброс Предписать KMyFirewall перенести брандма- Сайт: http://kmyfirewall.sourceforge.net
портов. уэр на другую систему тоже несложно: про- Цена: Бесплатно под GPL
Нажав кнопку, можно предварительно про- грамма создает tar-архив (содержащий прави-
Отважная попытка, с двумя режимами
смотреть полученный брандмауэр. Это полез- ла в виде скрипта) и инсталляционный скрипт на выбор при брандмауэре любой
но для изучения механизма работы iptables. для копирования правил в указанное место сложности.
В Iptables Interface возможен доступ почти к целевой системы.
любому параметру настройки брандмауэра.
Интерфейс пользователя по сложности почти
В основе KMyFirewall лежит модульная
архитектура, и почти каждое правило для
Рейтинг 8/10
Ноябрь 2007 Linux Format 19
Сравнение Оболочки брандмауэров
FireHOL
Очевидно, «брандмауэр для людей»!
П
риложение реализовано как bash- Брандмауэром управляет служба, разме-
скрипт, который сам себя устанав- щаемая в большинстве дистрибутивов в ката-
ливает на целевую Linux-систему. логе /etc/init.d. Скрипт принимает ряд пара-
Брандмауэр формируется введением различ- метров, таких как start, для загрузки правил.
ных правил в файл конфигурации. Этот файл Параметр try загружает правила брандмауэра
также является bash-скриптом, что упрощает на 30 секунд, если не последует commit для
написание собственных правил. подтверждения; это удобно, если в процессе
Как и в Shorewall, прежде всего придется постройки брандмауэра для удаленной сис-
почитать документацию: программа не очень- темы сделана ошибка, способная привести к
то понятна интуитивно. Сайт FireHOL полон разрыву связи и невозможности устранения
Запуск FireHOL сравнительно прост: установить скрипт как сервис и
документов и примеров. Особенно полезно проблемы.
дать команду /etc/init.d/firehol.sh start.
Tutorial (Руководство), в котором дотошно Документация FireHOL написана прекрас-
описан каждый шаг процесса. но. Сайт программы несколько перегружен
Правила брандмауэра состоят из специфи- сообщениями типа “Added FireHOL_DROP_
каций сетевого интерфейса (например, eth0), ORPHAN_TCP_ACK_FIN for busy servers” с Вердикт
сопровождаемых ключевыми словами server минимальными комментариями.
FireHOL 1.256
или client. Подстановка server относит правило
к входящим подключениям, а client – к исходя- Сайт: http://firehol.sourceforge.net/
щим. Затем необходимо указать название про- Цена: Бесплатно под GPL
токола для брандмауэра. Заканчивается про- Легкими движениями руки построить
цесс указанием действия (например, accept). брандмауэр в FireHOL – одно
Законченное правило может выглядеть так:
«Выполненная в виде удовольствие.
server http accept (допустить входящие HTTP- bash-скрипта, программа
запросы). Кроме брандмауэра, FireHOL позво-
инсталлирует себя сама.» Рейтинг 7/10
ляет контролировать NAT и маршрутизацию.
Guarddog
Четвероногий друг подает лапу помощи…
И
нтерфейс еще одной программы мер, ограничению на подключения: можно
KDE – окно с четырьмя вкладками. задать число одновременных подключений
Правильно она работает только под за определенный период времени и настро-
суперпользователем. Guarddog совместим с ить многие другие параметры для управления
функциональностью брандмауэров, заложен- количеством регистрируемой информации.
ную в ядра 2.2, 2.4 и 2.6. Брандмауэр нетрудно экспортировать
В первой вкладке устанавливаются через вкладку Advanced: будет составлен bash-
зоны. Зона – это, по сути, IP-адрес или IP- скрипт с набором текущих правил. Это озна-
сеть, поэтому может состоять из одной или чает, что брандмауэр можно передать даже на Документация прекрасно написанная, подробная, снабженная
нескольких машин. Концепция зоны – клю- машину без Guarddog. В принципе, Guarddog множеством примеров, как лучше поступать в разных практических
чевая для программы; по умолчанию имеет- предназначен для работы на машине с дейс- ситуациях.
ся зона Интернет и Локальная зона. Можно твующим брандмауэром, поэтому правила
добавлять другие зоны, указывая их названия, можно корректировать прямо на месте. Вердикт
IP-адреса и сетевые маски. На последней вкладке, Port Reference (О
Во вкладке Protocol указывается трафик, портах), собраны сведения о портах с различ- Guarddog 2.6.0
допустимый в разных зонах, выбором флаж- ными номерами. Сайт: www.simonzone.com/software/
ков рядом с названиями протоколов в списке. guarddog/
Многие распространенные протоколы (напри- Цена: Бесплатно под GPL
мер, HTTP и FTP) «зашиты» в программу, и Сравнительно простая и
не надо запоминать детали связанных с ними нетребовательная к ресурсам программа.
служб. Определить новые протоколы можно «Совместим с Хороша для домашних пользователей, но
для крупной сети слабовата.
через вкладку Advanced (Дополнительно).
брандмауэрами ядер
Вкладка Logging (Регистрация) открывает
доступ ко всяким полезным функциям, напри-
2.2, 2.4 и 2.6.» Рейтинг 6/10
20 Linux Format Ноябрь 2007
Оболочки брандмауэров Сравнение
П
рограмма замечательно «легковес- Интернету, обычно включив NAT и запустив
ная», написана с использованием DHCP-сервер для автоматической настройки
Gnome-библиотек, а работать с ней других хостов, входящих в состав локальной
дозволено только суперпользователю. В глав- сети.
ном окне – три вкладки, панель инструмен- Пользоваться Firestarter несложно – панель
тов и строка меню. Первая вкладка, Status инструментов содержит контекстно-зависи-
(Состояние), выдает некоторые общие сведе- мые значки для управления основными фун-
ния о состоянии сетевого подключения (сколь- кциями программы. Например, во вкладке
ко переслано данных, включен ли брандмауэр Status есть кнопка Lock Firewall (Запереть
и т.п.). брандмауэр), останавливающая весь трафик
Во второй вкладке, Events (События), соб- целиком, а другой кнопкой (Start/Stop) мож-
раны сведения о подключениях, блокирован- но, соответственно, остановить или запустить
ных брандмауэром, а именно номер порта, защиту.
протокол и источник вторжения. Документация составлена неплохо, с
Вердикт
Наконец, во вкладке Policy (Политика) рисунками и примерами. Небольшая загвоз-
Firestarter 1.0.3
устанавливаются правила управления бранд- дка: при выборе пункта Help (Справка) про-
Сайт: www.fs-security.com
мауэром. По умолчанию входящие подключе- грамма пытается открыть сайт Firestarter в Цена: Бесплатно под GPL
ния блокируются. Входящий и исходящий тра- Mozilla – это никак не спасет, если сеть еще не
Очень простой и эффективный
фик можно контролировать, указывая номера подключена! Было бы гораздо полезнее пре-
брандмауэр для домашних, но не для
портов и IP-адреса. Перенаправление портов доставлять справочные материалы локально. производственных, целей.
настраивается здесь же.
Другой способ настройки Firestarter – «Настройка Firestarter – Рейтинг 6/10
режим мастера: процесс пошаговых ответов
на вопросы (например, о методе подключе- простой пошаговый
ния вашей локальной сети). Удобно, что здесь
же можно настроить разделяемый доступ к
процесс в режиме мастера.»
Firewall Builder
Кроссплатформенный полиглот.
Г
рафическая, кроссплатформенная, и HTTP, хотя эстеты могут определять соб-
пригодная для Windows, Mac OS X и ственные службы. Есть и пространное 116-
Linux, Firewall Builder – просто уни- страничное руководство в формате PDF, но,
версальная программа. Она способна состав- к сожалению, устаревшее, и примеры в нем
лять правила для многих типов брандмауэров, не соответствуют функциональности совре-
включая pf для OpenBSD, PIX-устройств Cisco менной версии программы. На сайте полно
и, конечно, Linux-iptables. «образцовых» брандмауэров, но нет доход-
Для управления брандмауэрами Firewall чивого разъяснения о том, как же они рабо- Нам понравилась возможность использования SNMP для получения
Builder использует концепцию объектов. тают. Позор. информации о системе, на которой планируется установка
Например, каждый хост рассматривается На наш взгляд, задумана программа брандмауэра.
как объект, которому можно присвоить сете- неплохо – тем обиднее видеть убогую реа-
вой интерфейс и IP-адрес (тоже объекты). лизацию. Приступить к использованию про- Вердикт
Объекты выделяются в «дереве» левой час- граммы было нелегко, поскольку она плохо
ти окна, а обрабатываются в правой час- понятна интуитивно, а документации недоста- Firewall Builder 2.1.1.3
ти. Добавляются объекты щелчком на под- ет четких инструкций о построении брандмау- Сайт: www.fwbuilder.org
Цена: Бесплатно под GPL
ходящем участке дерева и выбором New эра «с нуля».
(Создать) – конкретное название зависит от Мы искренне пытались полюбить
контекста. Расположение объекта можно Firewall Builder, но не смогли, из-за
путаного дизайна и устаревшей
изменить копированием/вставкой. «Программа универсальна: документации.
Firewall Builder снабжен значительным
умеет создавать правила для
количеством объектов, описывающих боль-
шинство известных протоколов вроде SMTP брандмауэров разных ОС.» Рейтинг 3/10
Ноябрь 2007 Linux Format 21
Сравнение Оболочки брандмауэров
Shorewall
Судя по аннотации программы, это «iptables, но куда проще».
К
онсольная программа Shorewall при- фейсом, и на сервере со множеством сетевых тить ввод через присвоение символического
меняется для создания скриптов карт и с многочисленными и разнообразны- имени устоявшемуся набору правил (напри-
iptables. Правила брандмауэра запи- ми подключениями. Shorewall настраивается мер, комбинации портов и привязанных к ним
сываются на особом языке настройки, что редактированием различных конфигурацион- протоколов).
несколько упрощает процесс их создания. ных файлов, хранящихся в директории /etc/ Shorewall поддерживает учет трафика.
Готовые правила Shorewall компилирует в shorewall. Важнйшие из них – /etc/shorewall/ Можно следить за числом пакетов, соответ-
скрипт, а затем загружает его с помощью сво- zones, где настраиваются зоны, /etc/shorewall/ ствующих правилам отбора, или за количе-
ей же облегченной версии. Поэтому, устанав- policy, где устанавливаются умолчания, и /etc/ ством данных в байтах. Это бывает полез-
ливая брандмауэры для нескольких систем, shorewall/rules, содержащий исключения из но: например, можно проследить количество
можно скомпилировать правила на одной из политики по умолчанию (например, разреше- информации, используемой каждым пользо-
них, а затем распространить на другие, при ния на доступ к нужным хостам). вателем сети в любой момент времени; или,
наличии на них инсталлированного Shorewall- Файлы-примеры входят в состав стан- предоставляя услуги хостинга, на основании
light [в системе, где уже установлен «полно- дартной инсталляции: можно просто скопиро- этих данных выставлять клиентам счета на
весный» Shorewall, облегченная версия не вать их в /etc/shorewall, а затем отредактиро- оплату.
нужна, – прим. ред.]. вать с учетом конфигурации конкретной сети. Мощная поддержка шейпинга трафика –
Если вы читаете этот номер журнала Настроив брандмауэр в /etc/shorewall, вы гото- полезное дополнение. Шейпинг позволяет
несколько месяцев спустя после публикации, вы к его компиляции в скрипт. Осуществляется установить приоритеты для различных видов
то версия на сопроводительном DVD, вероятно, это командой shorewall compile. По оконча- данных, что важно для более медленных
уже успела устареть: загрузите свежий RPM нии процесса остается лишь загрузить скрипт интернет-подключений (кабельный Интернет
или tar-архив с сайта программы. Shorewall брандмауэра. или ADSL). Можно установить приоритет
включается в состав многих дистрибутивов таких данных, как SSH (безопасное подклю-
Linux, но и те версии не из последних. Брандмауэр правил, ОК? чение) и VoIP (интернет-телефония) перед
Не прочитав руководства, за Shorewall Правила брандмауэра в /etc/shorewall/rules загрузками по FTP – для файла в 600 МБ
браться нечего: консольную программу и достаточно сложны, но неизменно включа- увеличение времени загрузки на несколько
графических участников теста не сравнить ют действие, источник, назначение, протокол, секунд несущественно, зато очень неприятно,
в наглядности и интуитивности. Правда, порт назначения, порт источника и первона- когда беседа «затыкается» из-за задержки с
Shorewall снабжена объемистой докумен- чальное назначение. Вот как может выглядеть ответами в течение телефонного разговора
тацией, включая FAQ и Quick Start guide простое, но полноценное правило: через Интернет.
(Руководство к быстрому старту). Примеров ACCEPT dmz net tcp smtp Программа может вести журнал для паке-
тоже много, причем широкий их диапазон Это все-таки проще, чем то же правило тов, у которых в правилах в качестве действия
охватывает и фильтрование пакетов для P2P- iptables в «непричесанном» виде: установлен параметр LOG. По умолчанию,
клиентов Kazaa, и инструкции по настройке iptables -A INPUT -p tcp --source 192.168.1.1 пакеты регистрируются с помощью системно-
Shorewall для виртуализованных Xen-систем. --dport 25 -i eth0 -j ACCEPT го журнала, syslog.
Высокое качество документации впечатляет. Написание правил брандмауэра несколь- Трансляция адресов и перенаправле-
Shorewall – чрезвычайно гибкая програм- ко упрощается применением таких функций ние портов для Shorewall тоже не пробле-
ма, ею можно пользоваться и на одиночном Shorewall, как действия (Actions) и макросы ма. NAT настраивается редактированием /etc/
компьютере с единственным сетевым интер- (Macro). Это немного разные способы сокра- shorewall/masq, а проброс портов – добав-
лением соответствующего правила в /etc/
Shorewall можно shorewall/rules. Shorewall может работать с
настроить так, что несколькими интернет-провайдерами для
HTTP-прокси вроде
повышения отказоустойчивости [и не толь-
Squid будет
ко, – прим. ред.].
прозрачен для
пользователей.
Вердикт
Shorewall 4.0.2
Сайт: www.shorewall.net
Цена: Бесплатно под GPL
Рейтинг 8/10
22 Linux Format Ноябрь 2007
Оболочки брандмауэров Сравнение
Оболочки брандмауэров
Вердикт
Shorewall 8/10
Н
е самая простая в обращении про- понадобиться функциональность, недоступ-
грамма, но работать с ней все-таки ная Generic-интерфейсу, но без сложности
куда проще, чем с iptables, чей син- Iptables Interface. Надеемся, что со временем
таксис запоминается с трудом. Мы нашли, разработчики KMyFirewall смогут изобрести
что Shorewall обладает выдающимся набором единый интерфейс, который вберет в себя
функций и способен контролировать почти лучшие качества обоих прежних.
любой параметр брандмауэра из подвластных
самой iptables. К тому же документация пре- Одному компьютеру
восходна и прекрасно написана. Программа И Shorewall, и KMyFirewall – превосходный
теряет очки только из-за своей сложности. выбор для защиты компьютерной сети. Но их
Одним из методов устранения этого недостат- мощь избыточна для единственной машины с
ка может стать режим мастера, когда весь одним сетевым интерфейсом (ноутбука или
процесс установки правил представляет собой рабочей станции).
ответы на вопросы о желаемом брандмауэре. Индивидуальным пользователям настоя-
Таким образом можно проделать львиную тельно рекомендуем обратиться к Firestarter.
долю работы по настройке, после чего оста- Пользователи, знакомые с Windows-прило-
нется лишь подправить полученную конфигу- жением ZoneAlarm, почувствуют себя почти
рацию с учетом всех тонкостей. как дома. Стандартная конфигурация содер-
На втором месте у нас KMyFirewall. Здесь жит все необходимые функции, типа бло-
есть упрощенный режим. Особенно нам понра- кирования входящих подключений, и при
вилась легкость, с которой KMyFirewall пере- желании функциональность можно расши-
ключается между отображением сгенериро- рить, написав собственные правила и даже
Документация Shorewall оказалась самой лучшей среди справочных
ванных правил и дружелюбным интерфейсом. настроив NAT для совместного использования систем всех участников теста.
Основной недостаток KMyFirewall – слабая Интернет-соединения.
документация. В чем-то два интерфейса про- Разочаровал Firewall Builder; а какой инте-
граммы не слишком удобны: например, может рес поначалу вызвала поддержка брандмау-
эров различных типов! На деле, программа
оказалась настолько сложной и интуитивно-
непонятной, что даже экспертам оказалось не
Ваше мнение под силу привести ее в действие, не помогла и
откровенно устаревшая документация. LXF
Ваша хата с краю, и до брандмауэра вам дела
нет? Пользуетесь ли вы брандмауэром вашего
дистрибутива, или таким, который не попали в
Сравнение? Сообщите о своем опыте на
letters@linuxformat.ru. А если есть проблемы
с настройкой вашего брандмауэра, черкните
пару строк на answers@linuxformat.ru. Выберите из двух интерфейсов KMyFirewall
подходящий для вашего уровня.
Таблица функций
Перенаправление Шейпинг Поддерживаемые
Приложение Версия Сайт Лицензия NAT Регистрация GUI
портов трафика брандмауэры
www.simonzone.com/
Guarddog 2.6.0 GPL iptables
software/guarddog/
http://kmyfirewall.
KMyFirewall 1.0.1 GPL iptables
sourceforge.net/
Shorewall 4.0.2 www.shorewall.net GPL iptables
Arch-ангел
ЛАДИСЛАВ БОДНАР
основатель, редактор,
начальник и сотрудник
DistroWatch.com.
Н П
емногие Linux-продукты надела- ри своем запуске в 2002, Arch Linux был
ли столько шума, как Knoppix Live скромным дистрибутивом, разработанным
CD при своем первом появлении преимущественно для продвинутых пользо-
в конце 2002 года. Он был не только одной вателей. Он был собран с нуля, имел ясный прямоли-
из первых ОС, способных запускаться пря- нейный дизайн и был скомпилирован для современ-
мо с CD, но также поставлялся с неверо- ных на тот момент процессоров. Наиболее очевидной
ятным автоматическим конфигурировани- особенностью, выделявшей Arch из толпы, был его
ем устройств и буквально творил чуде- продвинутый менеджер пакетов Pacman, который
са, вроде открытия защищенных паролем обеспечивал постоянные обновления установленных
документов Microsoft Word на компьютере программ. Некоторые говорили, что Arch – нечто
босса. В былые дни Knoppix выпускался среднее между Slackware и Gentoo: ясный и прямо-
довольно часто, чуть ли не два-три раза линейный, но мощный и настраиваемый. Многие
в месяц. пользователи сочли его прекрасным дистрибутивом
Увы, эти дни прошли. С тех пор, как Linux.
его идея привлекла внимание разработ- Вышеприведенное описание остается верным и Arch Linux трудно установить и настроить без
чиков дистрибутивов, варианты Knoppix сегодня. Хотя все больше и больше разработчиков понимания Linux хотя бы на среднем уровне, зато
не создавал только ленивый: иногда узко присоединяются к проекту, философия дистрибути- потом легко поддерживать в актуальном состоянии.
специализированные, но чаще обычную ва не изменилась; единственным проявлением стар-
настольную ОС общего назначения, осно- шинства в мире дистрибутивов Linux является расту-
ванную на одном из столпов мира дист- щий репозиторий легко устанавливаемых пакетов. Загрузив свежеустановленный Arch Linux, боль-
рибутивов. Кончилось тем, что эстафету Философия нигде не проявляется так, как в уста- шинство пользователей, скорее всего, начнут с про-
подхватили лидеры, и кроме основных новщике системы. В наше время, когда даже Debian верки возможностей менеджера пакетов Pacman.
установочных носителей начали предо- предоставляет метод «выбери-и-кликни» при переносе Pacman – это, естественно, утилита командной стро-
ставлять загрузочные Live-издания своих системы на жесткий диск, Arch Linux все еще исполь- ки, а значит, пользователи, запускающие его впервые,
продуктов. В результате важность Knoppix зует текстовый инсталлятор на основе curses, схожий должны будут прочесть man-страницы или отыскать
как LiveCD общего назначения за послед- с Slackware-вским. Более того, установщик рекомен- в сети учебник, чтобы воспользоваться некоторыми
ние несколько лет сошла на нет, и число дует развернуть только базовую систему, а остальные быстрыми подсказками. Если вы ищете при помощи
новых релизов снизилось до одного-двух приложения добавить потом. Ряд вопросов, связанных Google, используйте www.google.com/linux для отде-
в год. с оборудованием, гарантирует, что ненужные модули ления рационального зерна от плевел! Но Pacman не
Но не все новости плохи. Клаус Кноппер ядра не будут загружены, а дополнительная настройка труден в использовании – например, синхронизация
[Klaus Knopper], создатель Knoppix, недав- выполняется путем прямого редактирования хорошо локальной базы данных пакетов с официальными
но запустил проект Adriane, специализиро- комментированных файлов в /etc. репозитариями выполняется так: pacman -Sy, а уста-
ванный дистрибутив Linux, разработанный новка пакета (или набора пакетов) так: pacman -S имя_
для слепых и слабовидящих. Цель проек- «Нет!» стандартным опциям пакета. Имеются опции поиска и опроса пакетов, как
та – позволить людям с ограниченными Пользователи, потратившие время на изучение этих и во многих других продвинутых менеджерах, и всю
возможностями наслаждаться работой за файлов конфигурации, не только узнают многое обо систему можно обновить одной командой.
компьютером с доступом ко всем богат- всех важных настройках системы; они также сумеют Возможно, поэтому есть так много пользовате-
ствам World Wide Web через голосовой настроить систему точно по своей мерке. Здесь-то и лей, влюбленных в Arch. Комбинация непрерывно
интерфейс вместо экрана компьютера. становится очевидной мощь Arch Linux: другие дис- обновляющегося репозитория программ и мощный
Adriane пока еще в колыбели, но пер- трибутивы делают стандартный выбор для широко- менеджер пакетов гарантируют, что пользователи
вое воплощение этой идеи планируется к го диапазона пользователей, часто выражающийся Arch используют самую передовую систему Linux на
выходу в конце этого года. в чудовищно раздутом ядре и системе с балластом планете. Хотя это действительно дистрибутив не для
ladislav.bodnar@futurenet.co.uk ненужных расширений, а Arch Linux – не для каждого новичков, пользователи, обладающие достаточным
первого, но для конкретного пользователя, с огром- опытом и получающие удовольствие от надстройки
ным числом доступных опций; и крайне маловероят- операционной системы, сочтут Arch Linux практичес-
но, что любые две установленные системы Arch Linux ки безупречным компаньоном.
будут одинаковы. www.archlinux.org
И П
з основных дистрибутивов, осле появления специали-
OpenSUSE находится ближе зированных дистрибутивов
всех к очередному стабиль- Linux не многие инструменты
ному релизу. На момент написания были столь востребованы, как сред-
уже выпущено семь альфа-релизов ства разбиения дисков. Parted Magic,
и началось бета-тестирование; боль- мощный дистрибутив, разработанный
шая часть тяжелой работы над новы- лишь для этой задачи – прекрасный
ми функциями завершена [на момент пример растущего принятия пользова-
подготовки к печати русскоязычной телями программ с открытым кодом,
версии журнала, OpenSUSE 10.3 уже даже теми, кто пока не верит, что Linux
выпущен, – прим.ред.]. Теперь очередь OpenSUSE 10.3 представляет новое способен стать их основной операци- Parted Magic загружается в
исправления ошибок и стабилизации оформление и интуитивно понятную онной системой. При размере в 30 МБ собственный рабочий стол Xfce с
функцию установки программ. легким доступом к графическим
кода перед окончательным релизом и значительно больших возможностях,
дисковым утилитам.
версии 10.3 4 октября 2007 года. чем у многих дорогих коммерческих
Интересно, что проект в процес- утилит разбивки, он решительно опро-
се альфа-тестирования прошел через соединения могли просто инсталли- вергает заявления, что Linux не оказы- литой изготовления экранных снимков
смену главных фигур. Андреас Егер ровать базовую систему и добавлять вает положительного воздействия на и несколькими файлами справки, FAQ
[Andreas Jaeger], давний релиз-менед- приложения на пост-установочном эта- нашу компьютеризированную жизнь. и других материалов по Parted Magic
жер, в конце июля передал бразды пе. Комбинированный установочный и и TestDisk.
правления Стефану Кулову [Stephan LiveCD также разрабатывается, но не Исчерпывающий Кроме стандартного LiveCD, Parted
Kulow]. Кулов – разработчик KDE, при- будет завершен ко времени октябрь- инструментарий Magic также доступен в виде USB-
влекавшийся к созданию дистрибу- ского релиза. В отличие от GParted LiveCD, схожей образа, для компьютеров, позволя-
тивов Linux еще в дни его работы в Другая особенность, которую одоб- утилиты, которую мы представили в ющих загрузиться с USB-устройств.
Caldera OpenDesktop в 1999 г. Он так- рят многие начинающие пользова- LXF82, Parted Magic укомплектован не Продвинутым пользователям Linux
же отвечает за оптимизацию процесса тели – основанная на Web инфра- только последней версией Gparted, но документация предоставляет исчерпы-
загрузки OpenSUSE, который был не структура установки в один щелчок также содержит набор других полезных вающие инструкции о том, как доба-
самым быстрым в этой области, но на http://software.opensuse.org. Она дисковых утилит, включая файловый вить на Live-носитель дополнитель-
намного улучшен в версии 10.3. вносит много улучшений в менеджер менеджер (Thunar), утилиту тестиро- ные программы или использовать свои
Пользователей OpenSUSE также пакетов OpenSUSE, включая возмож- вания диска (TestDisk) и графическую настройки; доступны также такие мощ-
ожидает отдельный установочный CD ность легкого добавления сторонних программу создания ISO-образов (ISO ные дисковые утилиты командной стро-
с рабочими столами Gnome или KDE, репозиториев. Master). Они доступны на настраивае- ки, как dd, ddrescue или PartImage.
чтобы обладатели быстрого интернет- www.opensuse.org мой панели, наряду с терминалом, ути- http://partedmagic.com/
64-битный порт Slackware. Также доступен как LiveDVD с дополнительными 4 Sabyon 1,368
Bluewhite64 Linux
пакетами программ. www.bluewhite64.com
5 Fedora 1,065
Модификация Slackware с улучшенной безопасностью, защитой от срыва GCC-
NetSecL
стека и подобными функциями. http://netsecl.unixsol.org
6 Mint 1,055
7 Debian 914
Порт Slackware для основанных на PowerPC компьютеров Apple.
Slackintosh
http://workaround.ch 8 MEPIS 770
Другой 64-битный порт Slackware; к моменту написания еще не обновился. 9 Freespire 670
Slamd64 Linux
http://slamd64.com
10 DamnSmall Linux 668
Основанный на Slackware LiveCD с KDE; версия 6.0 все еще в серьезной
SLAX
разработке. www.slax.org
DistroWatch.com оценивает популярность дистрибутивов,
Дистрибутив, ориентированный на рабочий стол, с различными изданиями: основываясь на числе визитов на страницу каждого
VectorLinux
Standard, SOHO и Live. www.vectorlinux.com дистрибутива. Хотя оно не совпадает с реальным числом
Дистрибутив, ориентированный на рабочий стол, со множеством дружелюбных установок, но дает представление, какие дистрибутивы более
Zenwalk Linux
функций. www.zenwalk.org популярны за определенный промежуток времени. LXF
трюков
с Linux
Все мы любим свободное ПО, но иногда оно работает не
совсем так, как хотелось бы. Команда LXF объединила
усилия для определения главных проблем, с которыми люди
сталкиваются повседневно, и выработала для вас решение
этих проблем...
Досаднейшие проколы
с Linux: команда LXF
В
ы, небось, думаете, что уж раз мы из Linux-журнала, то часть советов и хитростей в этой статье обязана бедам, приклю-
являемся экспертами во всем, о чем пишем, никогда не чившимся с нами по ходу повседневного использования Linux, и
испытываем проблем с нашей любимой ОС и насквозь теперь мы делимся опытом с читателями. Ниже приведены самые
видим ответ, если что-то сбоит. Хоть нам и жаль рассе- досадные огорчения, испытанные нами при работе с Linux.
ивать столь лестные иллюзии, но они далеки от истины: большая
МАЙК СОНДЕРС
Однажды я переустановил дистрибутив, заранее
зарезервировав файл конфигурации X, чтобы
потом восстановить свои графические настройки.
Но у него таковых не оказалось: несмотря на то,
что это был тот же дистрибутив и та же версия X, X-сервер впал в исте-
рику и заявил «Не обнаружен экран». Хорошо, а где ж тогда светилось
это сообщение? Р-р-р. Вскоре после этого случая я перешел на
Slackware.
KDE
Добавление кнопки Закрыть ко вкладкам
Konqueror
У Firefox есть возможность добавить кнопку Close на каждую вклад-
ку; в Konqueror тоже, однако она вытесняет иконку web-сайта. Чтобы
получить лучшее от обоих миров – иконку сайта, которая превращается
в кнопку Close при наведении на нее мыши – загрузите ~/.kde/share/
config/konquerorrc в ваш любимый текстовый редактор, и добавьте к
секции, начинающейся с [FMSettings], следующие строки:
AddTabButton=false
CloseTabButton=false
HoverCloseButton=true
Командная строка
Предыстория команд
Очевидно, компьютеры обязаны упрощать жизнь, но они нам в новин-
ку – все еще попадаются люди, с упорством маньяка повторяющие
одну и ту же унылую последовательность команд вместо того, что-
бы мыслить более изящно, реально наслаждаясь всей мощью Bash.
Например, для повторяющегося запуска трех последних команд, прос-
то прокрутите до первой команды этой последовательности, придер-
жите клавишу Control и нажмите O столько раз, сколько надо. Каждый
раз при нажатии O будет выполняться одна команда из последователь-
ности, а дойдя до последней команды, Bash возвратится назад к первой
выбранной вами, и все повторится.
Заглушите звуки
Устали от того, что динамик вашего компьютера пищит, как взбе-
сившийся передатчик Морзе, при каждом неверном наборе? Научите
его тишине: выполните команду setterm -blength 0, и сигнал тревоги
заткнется, независимо от вида терминала, где вы работаете. Если вы
хотите сохранить это для любого запуска терминала, просто добавьте
эту команду в файл .bash_profile.
водить подстановку нескольких имен файлов путем помещения опций Сделайте поиск
внутрь фигурных скобок. Например, то, что выше достигалось тремя ваших файлов
строками, можно проделать так: быстрым
rm -rf /home/hudzilla/{work,projects,sandbox} и информативным
благодаря xargs!
Стильный locate
Всем нравится команда locate: при регулярной индексации нет более
быстрого способа найти файлы по определенному имени. Правда,
locate только выдает список имен файлов, что не совсем хорошо, если
вам нужно больше информации об этих файлах – например, сколько
места они занимают. Так почему бы не попробовать перенаправить
вывод от locate через ls? Например, это небольшое аккуратное выра-
жение в одну строку найдет файлы, соответствующие somefile, затем
направит их список на ls -lsh, и вы увидите как результаты соответ-
ствия, так и их объем в вашей системе:
locate somefile | xargs ls -lsh
Системное администрирование
Автоматическая установка ядра всяким проблемам – не в последнюю очередь, отсутствие какого бы
При компиляции собственного ядра нет необходимости в ручном копи- то ни было дефрагментатора диска под Linux! Но обычным источни-
ровании ядра и других файлов. Запуск make install после компиляции ком путаницы служит то, что Linux использует для переименования
ядра скопирует его в /boot, а также разместит там резервную копию mv вместо ren. Для нас, ветеранов Linux, это вполне естественно, ведь
конфигурации ядра. Что важнее, создадутся символические ссылки: очевидно, что перемещение файла – то же самое, что и переименова-
vmlinuz для вашего нового ядра и vmlinuz.old для старого. Если ваш ние. Вообще-то Linux имеет и собственную команду переименования,
загрузчик имеет точки входа в эти два ядра, вы всегда сможете и которая называется просто rename, но она сильно отличается от mv –
загрузить новое ядро, и откатиться к старому, даже не прикасаясь к работа rename состоит в массовом переименовании большого числа
файлам настройки Grub или Lilo. make install также при необходимости файлов на что-нибудь другое. Например, когда стандартом был PHP 3,
запустит Lilo. файлы PHP имели расширение .php3. Когда вышел PHP 4, все перешли
на простое старое расширение .php, так что приходилось переименовы-
Опускать нежелательные обновления вать все .php3 файлы на .php. Вот здесь и пригодится rename, напри-
Apt – система обновлений пакетов Debian – позволяет «закреплять» мер: rename .php3 .php *.php3.
пакеты, чтобы они не изменялись во время обновления других прило-
жений. Например, если вам нужна определенная версия GCC, установи- Руки прочь от моих файлов!
те ее обычным образом, затем загрузите Synaptic, выберите только что Unix-подобные системы, в том числе и Linux, имеют одну особенность,
установленное приложение и убедитесь, что в меню Package выставле- одновременно и досадную, и удачную: если удаляется файл, из которо-
но Lock Selection. Теперь никогда уже другие пакеты не смогут указы- го в это время кто-нибудь считывает, то этот файл не исчезает до тех
вать вам, какую версию установить! пор, пока чтение не закончится. Вы даже можете перезаписать файл, не
влияя на работу того, кто читает из него данные. Это хорошо в тех слу-
Быстрое переименование чаях, когда вам нужно изменить сайт, не прерывая работы Apache; но
Помните ваши первые дни с Linux или Unix, и все те проблемы, когда крайне раздражает, если вы хотите удалить файл, а в него вцепилось
все работало не так, как вы ожидали? Множество людей, перешедших много людей. Вот исправление, которого вы так ждете: команда fuser
с Windows на Linux, полагают, что могут использовать свои навыки в выдает список всех процессов, где открыты операции с вашим файлом,
DOS и просто применять их в командной строке, но это приводит ко и вы даже можете передать ключ -k, чтобы всех их убить. Затем спо-
койно удаляйте файл.
Команда tail
который можно посмотреть в отдельном терминале root при помощи Убиение пользователей
tail -f /var/log/messages Нет ничего хуже, чем когда осуществляемая вами Crack Attack неожи-
позволяет следить
Опция -f или --follow показывает сообщения по мере того, как они запи- данно застревает «на самом интересном месте» из-за какого-то жад-
за окончанием
журнальных файлов, сываются в журнал, и это можно использовать для любого файла жур- ного пользователя, что влез в систему и жрет ценное время CPU ради
чтобы видеть нала. Если полезная информация тонет в шуме, используйте grep для генерации какого-то там отчета или запроса к базе данных. Но дал нам
обновления по мере показа лишь тех сообщений, что относятся к вашему процессу: Господь команду skill, посылающую сигнал процессу, терминалу или
их появления. tail -f /var/log/messages | grep ssh пользователю и позволяющую root’у контролировать все, что пользо-
ватели делают. Нам всего симпатичнее skill -KILL -u degville, что озна-
чает «убить все программы Degville и выкинуть его из системы». Теперь
скорее к Crack Attack, и посвятите ей все ваше внимание...
Firefox
Копировать вкладки
Все знают, что Ctrl+T создает новую вкладку, но известно ли вам, что
Ctrl+Z автоматически устанавливает для новой вкладки тот же URL, что
был у старой? Это здорово при дублировании окон!
Профили Firefox
Некогда запуск любого приложения Mozilla дважды в одно время по умолчанию; но если вы, подобно нам, все равно норовите щелкнуть Специальный URL
вызывал дурацкое окно менеджера профилей, от которого было мало по изображению, чтобы оно увеличилось, заходите в about:config и about:config в Firefox
проку. Но в Firefox, имеющем тысячу и один параметр конфигурации поменяйте browser.enable_automatic_image_resizing на false. содержит все
и способном сильно улучшить личный комфорт в вашем браузере, мыслимые
конфигурационные
менеджер профилей реально полезен. Можно создать себе два про- Уволить кнопку Go опции!
филя: один – полный примочек, закладок, панелей инструментов и Отчаялись увеличить размер области окна Firefox? Тогда прикиньте:
расширений, для просмотра в полной роскоши, и другой – необре- часто ли вы пользуетесь маленькой зелененькой стрелкой ‘Go’ рядом
менительный для оперативной памяти, кэширующий по минимуму и с адресной строкой? Мы полагаем, что, скорее всего, никогда; вот и
загружающий чахлый и скупой Firefox; это замечательно удобно для ликвидируйте этого мелкого вредителя, установив true в browser.urlbar.
блиц-проверки почты и чтения новостей. Чтобы попасть в окно управ- hideGoButton.
ления профилями, просто запустите Firefox с ключом -profilemanager,
например mozilla-firefox -profilemanager. А если мне не повезет?
Когда вы вводите какой-нибудь текст в адресную строку и нажимаете
Enter, Firefox автоматически ищет и загружает через Google самый под-
ходящий сайт по принципу «Мне повезет!». Если вас это раздражает,
смените значение keyword.URL в about:config на то, что устроит вас
больше – чаще всего это http://www.google.com/search?q=, так как он
проводит Google-поиск текста и выдает обычную страницу с результа-
тами, а не хватается за первый попавшийся вариант.
Не уменьшать изображения
Есть еще одно свойство, вызывающее у кого любовь, у кого злобу: ког-
да Firefox открывает изображение с размером, не умещающимся в окне По умолчанию Firefox производит Google-поиск «Мне повезет!», но его можно поменять на
браузера, картинка автоматически масштабируется. Такова установка стандартный, отредактировав значение keyword.URL.
Рабочий стол
Выключение сенсорной панели одну из двух этих строк:
Не сталкивались ли вы с досадной ситуацией, когда случайное при- OnlyShowIn=KDE
косновение к сенсорной панели вашего ноутбука во время набора тек- для только-KDE-приложений; или
ста воспринималось как щелчок, и курсор отпрыгивал куда не надо? OnlyShowIn=GNOME
Уверены, что да – но это легко поправить! Отредактируйте ваш xorg. для только-Gnome-приложений.
conf под root, затем добавьте в раздел InputDevice вашей сенсорной
панели строку Быть в курсе, не будучи в сети
Option “SHMConfig” “on” Мы любим web-календарь от Evolution, ведь он изящен, быстр и
Теперь перейдите в System > Preferences > Sessions, щелкните на прост. Представьте же себе нашу боль, когда мы изредка перехо-
кнопку New под Startup Programs и добавьте следующую команду дим в оффлайн и наши календари вдруг пропадают. Но боль можно
Заставьте ярлыки syndaemon -i 1 -d. Перезагрузитесь, и теперь ваши настройки таковы, исцелить – в календаре щелкните правой кнопкой мыши, выберите
появляться только в что сенсорная панель работает обычным образом – кроме тех случаев, Properties, затем убедитесь, что флажок Copy Calendar Contents Locally
дозволенном им когда вы ненароком заденете ее при наборе! выставлен. Легко!
рабочем столе,
отредактировав
соответствующий
ПО Gnome – в Gnome, ПО KDE – в KDE
файл .desktop и Работать в Ubuntu здорово до тех пор, пока вы не попытаетесь устано-
добавив строку вить Kubuntu (или наоборот): ваша налаженная система меню затре-
ShowOnlyIn. щит по швам от десятков программ обоих рабочих столов, борющихся
между собой за приоритет. Не
отчаивайтесь: вы можете заста-
вить отдельные ярлыки возни-
кать только в Gnome или только
в KDE, а не в обоих. Для этого
зайдите под root и перейдите в
/usr/share/applications (для при-
ложений Gnome) или /usr/share/
applications/kde (для KDE). Затем
откройте файл ярлыка в тексто- Скопируйте данные календаря, чтобы он
вом редакторе и добавьте в конец работал, куда бы вы ни перешли.
Gnome
Добавить функции в Nautilus
Nautilus обладает удивительной мощью благодаря расширениям, но они nautilus-scripts. На сайте http://tinyurl.com/ype2eq [Ну мы-то с вами
не устанавливаются по умолчанию, а без них он пустоват. Тем не менее, знаем, что tinyurl.com – это лишь сервис, заменяющий чрезмерно
его нетрудно изменить, особенно если вы пользуетесь Ubuntu – просто длинные ссылки на короткие (tinyURL), и внутри скрывается нечто
стяните apt-get’ом расширения nautilus-gksu и Nautilus-open-terminal, вроде http://www.gnome-look.org/content/show.php/Nautilus+Scripts?cont
перезапустите Nautilus – и наслаждайтесь новыми функциями! ent=55445 , – прим.ред.] имеется огромный выбор скриптов – попро-
буйте и узнайте, какой подходит вам больше всего!
Изменить файловый менеджер
Nautilus нравится не всем. Если вы продвинутый пользователь или
не любитель тяжеловесов, или вам скоро надоедает легкая жизнь, то
полюбить Nautilus весьма сложно. К счастью, можно заставить Gnome
использовать другой файловый менеджер для ярлыков Places, распо-
ложенных в меню, поскольку каждый из них имеет собственный файл,
расположенный в /usr/share/applications. Например, если вы хоти-
те запустить другой файловый менеджер при щелчке Places > Home
Folder, откройте файл /usr/share/applications/nautilus-home.desktop и
измените строку Exec на браузер по своему выбору.
Блаженство gTweakUI
Gnome, как и большая часть приложений Apple, любит прятать
свои настройки, и требуются известные усилия, чтобы до них
добраться. Кричите «Ура»: gTweakUI открывает вам целый мир
опций, с которыми можно поиграть. Нам особо понравилась Use
home folder as desktop, означающая получение мгновенного досту-
па к файлам, минуя меню Places. Да там вообще раздолье для
деятельности – экспериментируйте!
Производительность
Избегать обращения к диску не сталкивались, поясним, что RAM-диск – это виртуальная файловая
Немногое в Linux раздражает нас больше, чем его привычка исполь- система; она целиком находится в памяти ПК, а значит, молниеносно
зовать файл подкачки, независимо от размера оперативной памяти записывает и читает все, что угодно. Сколько места выделять на RAM-
на вашей машине. Конечно, иногда это помогает – когда ваша систе- диск, определяется тем, велик ли у вас размер оперативной памяти и
ма сильно загружена и реально испытывает недостаток ресурсов – но насколько вы планируете использовать его – если у вас 1 ГБ ОЗУ, вы
вообще-то, если у вас 2 ГБ ОЗУ или больше, на этом можно сэконо- можете выделить 64 MБ под ramdisk; если у вас 2 ГБ, то, возможно,
мить немало времени. Чтобы Linux обращался к файлу подкачки поре- пожертвуете 256 MБ, а если вы счастливый обладатель 4 ГБ, то легко Для большей
производительности
же, отредактируйте файл /etc/sysctl.conf, отыскав (или создав) строку можете отдать под ваш ОЗУ-диск до 1 ГБ. Опишем, как установить диск
держите файлы
vm.swappiness. Если у вас преогромное ОЗУ и вы хотите минимизи- размером 64 MБ – при желании просто поменяйте значение 65536 на
в оперативной
ровать количество подкачек, производимых Linux, сделайте строку то, которое вас устроит: памяти, но помните:
такой: mkfs -t ext3 -q /dev/ram1 65536 если ваш компьютер
vm.swappiness=10 mkdir -p /ramdisk вдруг выключится,
mount /dev/ram1 /ramdisk -o defaults,rw им хана!
«Нет!» замусориванию
диска
Мы повторяем снова и снова, но люди, похо-
же, никогда не принимают наши слова всерь-
ез: хотите, чтобы ваши диски вырабатывали
свой полный потенциал – предусмотрите и
включите опцию noatime в /etc/fstab.
Дело в том, что при каждом чтении с
вашего диска (например, из файла) заод-
но производится и запись, чтобы сохранить
информацию, относящуюся к последнему
считыванию файла. Это процесс невероят-
но медленный, и можно достичь увеличения
скорости – обычно процентов на 10 – одним
очень простым трюком.
Переключитесь в root, откройте /etc/
fstab в любимом текстовом редакторе.
Отыщите корневую файловую систему и
убедитесь, что в своих установках она име-
ет defaults,noatime,data=writeback, затем
сохранитесь, перезагрузитесь и позвольте,
наконец, вашему бедному разогнанному PC
работать на полную катушку!
Супербыстрые временные
файлы
Помните старые времена с RAM-дисками? Но
и у Linux они тоже есть! Если вы сроду с ними
OpenOffice.org
Стили с клавиатуры Logo=1
Одно дело тратить время, подгоняя стили OpenOffice.org под ваши на:
потребности, а совсем другое – трудиться, применяя эти стили там, где Logo=0
они нужны! И, признаться, это мучительно: отрывать руки от клавиа- Теперь OOo станет загружаться побыстрее и будет занимать в это вре-
туры, наводить мышь на стиль, щелкать, затем продолжать набор; и мя меньше экранного пространства – вы победили!
странно было бы, если бы OOo не позволял иметь комбинацию клавиш
для стилей. Так вот, он и в самом деле позволяет применять комби- Помогите вдовам и сиротам
нацию клавиш, но для этого требуется немного творчества. Во-пер- Есть две вещи, от которых встают дыбом волосы журнальных корректо-
вых, задайте ваши стили такими, как вы хотите. Затем идите в Tools > ров: сироты со вдовами и орфографические ошибки. OK, таких вещей
Macros > Record Macro и щелкните по стилю, который собрались при- три: сироты со вдовами, ошибки, тексты, приходящие от авторов с
менить. Теперь щелкните мышью по плавающей кнопке Stop Recording опозданием, и безвкусные стили. А также... Ладно, их много чего бесит,
и сохраните ваш макрос как ApplyingStyleXYZ (помните, пробелы в име- но в контексте данного совета важнее всего сироты и вдовы! Сиротой
нах не допускаются!). Вы сейчас заставили OOo записать небольшую в издательском деле называется последнее слово абзаца, которое в
программу, применяющую конкретный стиль. одиночку вылезает на новую строку, а вдовой – часть предложения,
А теперь – фокус: щелкните Tools > Customize, выберите вкладку завершающего абзац, которая переходит на начало новой страницы.
Keyboard, прокрутите вниз список сочетаний клавиш, пока не встретите Оба они выглядят коряво, но вместо творческого применения перево-
тот, который вам понравился: например, Ctrl+Shift+A. В нижней час- дов строки вам следует дать Writer’у поработать за вас – перейдите в
ти окна, выберите OpenOffice.org Macros > User > Standard > Module1 Format > Paragraph > Text Flow,и убедитесь, что как Orphan Control, так
в списке Category; вы увидите, что имя вашего макроса появилось в и Widow Control включены.
списке функций. Выберите его, затем щелкните Modify – это припишет
выделенную макрофункцию выбранному сочетанию. Теперь по нажа-
тию Ctrl+Shift+A немедленно будет применяться ваш стиль.
Долой брендинг!
Утомились наблюдать заставку каждый раз при запуске програм-
Пусть OOo
мы OpenOffice.org? Что же, если вы сумеете найти файл конфигура-
позаботится
о вдовах и сиротах, ции OOo на вашем компьютере, можете отключить ее. Пользователи
а вы в это время Windows пусть ищут файл в каталоге установки OpenOffice.org, подка-
мечите жемчуг талог ‘program’ – ищите файл soffice.ini. Пользователям Linux следует
вашей мудрости искать файл sofficerc. Откройте его в текстовом редакторе, и поменяй-
перед свиньями... те строку:
MySQL
Процессы MySQL
Управление большим сервером – непростая задача, но здесь на
помощь приходят несколько простых утилит. Например, если некий
пользователь начинает глотать много процессорного времени на
MySQL, вы можете его пресечь, не влияя на остальную часть базы дан-
ных – ну, если вы системный администратор. Чтобы увидеть список
текущих подключений и того, что они делают, запустите запрос show
processlist;. При этом будут перечислены все действия на вашем серве-
ре в настоящий момент, а также ID процессов, так что вы сможете убить
отдельные из них. Например, если PID 50 делает что-то вам несимпа-
тичное, примените команду kill 50, и он будет мгновенно остановлен.
трюков с Linux
Ноябрь 2007 Linux Format 37
KDE 4
Дорога
в KDE 4
Годы трудов привели команду разработчиков KDE 4 к выпуску нового крупного релиза.
Грэм Моррисон рассмотрит функции, благодаря которым он стал таковым, равно как и те, что
отпали по дороге.
ак известно, KDE 4 планировался к выпуску довольно KDE 4, несомненно, представляет собой плод чрезвычайных уси-
долго. Фактически, несколько лет: статья «Будущее лий: на уровне кода изменилось все. И это очень важно, ведь если
Linux» из LXF59 еще в ноябре 2004 г. отмечала, что «4- цикл KDE 4 продлится столько же, сколько KDE 3, то на основе этих
я версия KDE обещает стать революционной благодаря библиотек и API люди будут создавать приложения еще добрых
массовым улучшениям движка KDE, Qt». Мы даже использовали лет десять – целый век для компьютеров. Но пользователи с ходу в
KDE 4 как тему LXF87/88 в январе 2007 г., хотя в обоих журналах восторг не придут. KDE 4 в этом начальном релизе – скорее каркас,
были вынуждены признать, что «неизбежность» релиза под воп- чем интегрированное окружение рабочего стола. Революция в про-
росом. Даже с учетом задержек, KDE 4 не вышел так скоро, как мы граммировании приведет и к пользовательской революции: когда на
все надеялись. Но в конце 2007 уже нельзя сомневаться, что релиз новую платформу портируют большинство основных приложений
неминуем. Установлена даже дата официального релиза — 20 дека- KDE, перемена будет разительной. Иными словами, обычному поль-
бря 2007 г. — и мы не видим причин для ее нарушения [KDE 4 будет зователю придется подождать, пока разработчики приспособятся к
представлен только 10 января 2008 года, – прим. перев.]. новой технологии. Это смахивает на ожидание второго эшелона игр,
За последние несколько месяцев вышли две бета-версии, и объ- реализующего потенциал новой консоли; надеемся, что ситуация с
ем программ, загруженных в репозитории исходных кодов, просто KDE 4 будет немного лучше, чем с запуском PlayStation 3...
феноменален. На ежегодной конференции KDE, на сей раз проходив-
шей в Глазго, были представлены текущие отчеты, экранные снимки Столпы мудрости
и новые функции. Похоже, что мы стоим на пороге очередной рево- Лучший способ получить представление о том, как работает процесс
люции рабочего стола KDE. Но те, кто ожидал получить от неминуе- создания KDE – а иногда как не работает – это сравнить программы
мого релиза нечто вроде «пиршества функций», будут разочарованы: двух последних ежегодных конференций KDE. Призрак KDE 4 мая-
это «нечто» вам в принципе уже знакомо, если вы смотрели любую из чит за обеими конференциями, но включаемые технологии и API, с
бета-версий. Даже один из основных разработчиков KDE признает, которым будут иметь дело разработчики, меняются. В Дублине на
что первый выпуск «четверки» предложит обычному пользователю конференции 2006 г. фигурировали Plasma, Phonon, Solid, Decibel,
не так уж много новшеств. «Версия 4.1 явно будет релизом рабочего Akonadi. Почти год спустя, в Глазго, конференция Akademy занима-
стола, за который ухватится больше пользователей, по сравнению с лась почти тем же, но с несколькими серьезными купюрами. Plasma
4.0», признался недавно в своем блоге Аарон Сиего [Aaron Siego]. исчезла полностью, как и Solid. И даже технологии, пережившие
Аннотация KDE 4
Вот что бывает, если прикреплять наглядный префикс ‘K’ ко всему.
Akonadi звуковой аппаратуры, заменив интерфейс на общий API WebKit
Предназначенный для упрощения обмена контактной высокого уровня. Он не предусматривает механизма Приносит на рабочий стол KDE HTML-рендеринг и
информацией между различными PIM-приложениями, воспроизведения, но передает данные о настройке соот- WWW-совместимость, которыми наслаждаются пользо-
Akonadi использует центральную базу данных, доступ- ветствующим фоновым процессам. ватели Apple в Safari. WebKit – возвращение KHTML-
ную через не зависящий от платформы протокол. движка рендеринга, после того как инженеры Apple
Главные цели для KDE – Kontact и KOffice, но мы наде- Plasma забрали его ответвление для использования в браузере
емся, что Akonadi распространится и на другие популяр- SuperKaramba без настольной эквилибристики. При Safari. Теперь в KDE снова будет первоклассный HTML-
ные приложения PIM. помощи Plasma виджеты можно встраивать прямо в движок.
рабочий стол и использовать для надставки упрощенно-
Decibel го рабочего стола любыми нужными вам функциями. По
Подобен Akonadi, но вместо PIM-данных, Decibel наце- внешности и функциональности это смесь Dashboard от
лен сделать то же самое с протоколами связи коммуни- Apple и Kicker от KDE.
кационного ПО. Это будет означать, что единственную
учетную запись станет возможно использовать для Sonnet
настройки утилит типа Skype и Kopete без ручного вме- Крутой движок, позволяющий распознавать языки и
шательства. проверять грамматику. Sonnet заменит устаревшую
систему Aspell из KDE 3 .*, которая последние пять лет
Solid хромает. К счастью, Sonnet уже работает значительно
Слой аппаратных абстракций [HAL] KDE 4 спроектирован, лучше, чем его прототип в последнем тестовом релизе
чтобы сделать настройку устройств типа адаптеров бес- KDE 4.
проводной сети легкой на всех компьютерах и приложе-
ниях. Это еще один случай «установи однажды, исполь- Strigi
зуй везде», но если он сделает настройку беспроводной Очередной-Инструмент-Поиска-на-Рабочем-Столе.
сети в Linux немного легче, мы будем счастливы. Однако его быстрота и гибкость сулят ему успех на
рабочем столе Linux. Для ускорения он использует нова-
Phonon торскую технику потоков данных для быстрого сохраняя В пререлизной сборке KDE – всего один виджет
Наконец-то заменит одряхлевший Arts. Применение вещей и допускает рекурсивный поиск – например, Plasma, но скоро их будет больше, чем
Phonon надеется решить старые проблемы с настройкой вложений в виде tar-файлов в письмах. в SuperKaramba.
девять месяцев между конференциями, в Глазго появились со слег- лучшие планы не работают и в коммерческом мире, как с Microsoft
ка смещенными акцентами. Презентация Decibel, например, шла под Vista или Apple OS X последней версии, и тем более не работают в
грифом «Что это такое и как его использовать» – непохоже на срез мире открытого ПО, где большинству разработчиков приходится
развития после месяцев напряженной работы. манкировать полным рабочим днем и семейными обязанностями
Базовые технологии 2006 года были вытеснены в 2007 другой во имя изменения мира. Возможно, как раз по этой причине многие
идеей – KDE Pillars [pillar – столб, англ.]. Этот сборник основных вещи выпали из генерального плана выпуска KDE 4. Некоторые из
разработок, сгруппированных в русле конференции 2007 г., содер- основных технологий, описанных в январском номере, пострадали
жащий презентации, которые любой с хотя бы половинным интере- от нехватки разработчиков, либо внимание переключилось на новые
сом к KDE 4 просто обязан изучить. Для внешнего мира Pillars – луч- технологии, занявшие их место.
ший показатель того, что именно группа разработки KDE 4 считает Важнейшее изменение – полная переработка поискового меха-
наиболее важным в следующей версии. К удивлению, в Pillars вошли низма. Не так давно мы говорили об ажиотаже вокруг проекта Tenor.
только две основные технологии из упомянутых на конференции Его расхваливали как поисковую систему, способную «утереть нос
2006 г. – Decibel и Akonadi. Остальные будут для большинства людей
в новинку, так как на Strigi, Flake, Sonnet и WebKit до этой конферен-
ции лишь изредка намекалось.
«На уровне кода изменилось все.
Самое интересное имя – Flake, хотя оно в большей степени свя- Новые API и библиотеки будут
зано с KOffice 2.0, чем с KDE 4.0. Это описание абстрактного уров-
ня для документации и форматирования, вводящего такие вещи, использоваться еще лет десять.»
как, например, цветовые пространства sRGB и CMYK, векторные
описания точек, функция загрузки и сохранения в ODF и встроен- всем». И даже термин «поиск» был недостаточно хорош для проекта
ные объекты в виде «фигур» в интегрированном офисном пакете Tenor, фактически являвшегося механизмом контекстуальных свя-
KDE. Sonnet, с другой стороны, это довольно тщательно сделанный зей. Но всего этого оказалось мало, чтобы дать должный импульс
модуль проверки орфографии или «сервис словаря» – качественно его развитию, и работа по Tenor тихо зачахла. Это обычная проблема
иного масштаба, чем ряд других технологий в KDE 4, с которыми любого рода разработки: реклама суперфункции, не подкрепленная
Sonnet роднят разве что высокие амбиции. Не довольствуясь ролью своевременным и осязаемым выпуском, всегда будет создавать
очередной библиотеки проверки орфографии, Sonnet намерен стать проблемы для всего проекта. К счастью для KDE 4, кончина Tenor
расширяемым, для удовлетворения потребностей в многоязыковой оказалась лучшим для него подарком, так как два новых проекта
поддержке, переводе и даже грамматической проверке: разработчи- моментально заняли опустевшее место, и на сей раз они работают.
ки KDE всегда славились предложением новых идей.
Поражает, как много изменилось за последние двенадцать меся- Strigi
цев. Этот период мог бы быть использован для шлифовки существу- Пользователи и разработчики KDE уже давно признали потенциал
ющих библиотек и роста над прежним уровнем разработки. Но даже мощного, обособленного, эффективного и проникающего поиско-
вого механизма. На языке современного рабочего окружения эти Но Strigi обещает быть другим, и, пожалуй, является лучшим кан-
термины сливаются в так называемый семантической рабочий стол: дидатом на эту работу, чем его идейный предок Kat. Основной разра-
возможность для различных документов и приложений сосущест- ботчик Strigi Йос ван ден Эвер [Jos van den Oever] грыз гранит ранних
вовать и говорить друг с другом конкретным и прозрачным спосо- поисковых систем, что вдохновило его написать свою собственную.
бом. Семантические столы сыграют ключевую роль в успехе KDE 4, Хотя на вид Strigi мало отличается от предшественника, но, похоже,
и значительную часть этой функциональности представляет встро- ему хватает силенок, чтобы стать еще одной новой поисковой систе-
енный поиск. Известно, что инструменты поиска в Linux – отнюдь не мой. Главный его козырь – производительность: обычно она оттал-
диковина. Нам есть из чего выбирать, включая прекрасный Beagle в кивала пользователей от принятия решения на переход к использо-
Gnome и мощную технологию поиска от ребят Google, которую мы ванию технологий поиска, а Strigi может похвастаться серьезным
рассматривали в LXF97. превосходством над аналогами. Превосходство достигнуто за счет
Двенадцать месяцев назад в KDE был Kat, но все изменилось с использования потоков данных вместо загрузки всего содержимого
внедрением еще одной новой технологии поиска, называемой Strigi файла, что не только снижает требования к используемой памяти до
(произносится «стриги», а происходит от латинского «strigi»: это минимума (вечные путы других инструментов поиска), но и делает
скребок, которым в римских банях удаляли грязь с кожи, предва- построение поискового индекса гораздо более управляемым.
рительно натершись маслом). Естественная реакция на это «Ой, нет,
пожалуйста, не надо нам нового поиска»: ведь мозговой центр KDE Nepomuk
известен привычкой формулировать великие идеи, оставляя за бор- Механизм контекстуальных связей из Tenor не был забыт. Есть
том такую «мелочь», как их осуществление. инструмент, идущий рука об руку с Strigi, который добавляет мета-
контент, необходимый поисковому движку для распознавания типа
данных. Он называется Nepomuk – возможно, лучшая в мире аббре-
виатура. Nepomuk – это ‘Networked Environment for Personalized,
Ontology-based Management of Unified Knowledge’ [Сетевое окруже-
ние для персонализированного, онтологически-ориентированного
управления унифицированными знаниями]; не бойтесь, нам тоже не
Konsole выжила по зубам это понять.
благодаря Nepomuk не является собственно KDE-проектом: это откры-
назревшей тый проект, финансируемый Европейским сообществом. С учетом
«прополке» меню бюджета в 11,5 миллиона евро, это серьезная заявка на стандар-
«Настройка». тизацию в данной области, которая только выиграет от всеобщего
Она даже получила пользования одинаковыми инструментами. KDE 4 станет первым
несколько новых крупным проектом, использовавшим Nepomuk: Strigi позаимствует
функций, его запасы и стандарты для своего индекса. Идея заключается в
с возможностью
нахождении связей между различными видами медиа-содержимого
разбиения на две
и построения контекстной структуры на базе этих связей. Допустим,
сессии
и с прозрачностью вы в чате обсуждаете с кем-нибудь ранее полученное вами письмо.
фона. Nepomuk сохранит ссылку c чата на электронную почту, а также
Dolphin
Сколько панелей настройки вам нужно
на самом деле?
Мишень постоянной критики рабочего стола главное окно на произвольное количество
KDE – угнетающее число его опций. частей. Разработчики Dolphin решили, что
Популярный пример – Konsole, эмулятор тер- большинство людей будет делить его надвое,
минала KDE: в его меню «Настройки» 15 пунк- и остановились на этом варианте. Вероятно,
тов, а подпунктов, ответвляющихся от основ- это правильный выбор, как и серьезное упро-
ного дерева, и того больше. Но подлинное щение меню конфигурации – в последней
воплощение рвения KDE к настраиваемости – версии было только четыре опции. Даже когда
приложение Konqueror: файловый менеджер/ вы открываете единственное окно настройки,
браузер/корзина и т.д. Проблема Konqueror не появляются только две панели, и варьируемых
в его несравненной мощи (многие из нас за параметров там не так уж много.
это его и любят), а в том, что среднему поль- Dolphin – полярная противоположность
зователю не нужны 95% предлагаемых опций. Konqueror, и в его настройках вряд ли кто-
И многие считали, что Konqueror не поддается нибудь заблудится. Он больше походит на
дрессировке. В итоге появился новый файло- Nautilus от Gnome, чем на родное приложение
вый менеджер, названный Dolphin, который KDE, хотя некоторые нововведения будут
взял на себя обязанности приложения по спорными. Наряду с более традиционными
умолчанию для KDE 4. значками и списками файлов, есть также Навигация по колонкам файлов в Dolphin является точной копией
Dolphin – попытка перенять лучшее из функция просмотра файлов с использованием той же функции в Finder от Apple: нажатие на папку открывает
Konqueror без превращения интерфейса поль- колонок, «содранная» с приложения Apple новую колонку справа. Вид пока немного неуклюжий, но со
зователя в нечто громоздкое или злоупотреб- Finder. Из того, что это Apple, еще не следует, временем он улучшится.
ления количеством параметров настройки. что это хорошо; данная функция кажется
Отвергнута, например, возможность делить неуместной на рабочем столе KDE.
Plasma
Наиболее предвкушаемая технология в KDE 4 – Plasma, всеобъем-
лющая функциональность для интеграции виджетов рабочего сто-
ла, т.е. «правильная» SuperKaramba. Но реализовать эту технологию
чрезвычайно трудно. Бета-версия KDE 4 не сумела выявить большую
часть ее потенциала; возможно, именно этот аспект KDE 4 больше
всего пострадал в плане скорости разработки. Несмотря на то, что
она уже завладела сердцами и умами пользователей KDE, развитие
Plasma страдает из-за того, что главный автор, Аарон Сиего, один из
самых занятых людей, какие нам встречались. Он не только участву-
ет почти во всех связанных с KDE конференциях на планете, но так-
же активно продвигает открытые решения. Взгляните, например, на
его презентацию в 2006 г. на TPOSCON (Транстихоокеанской конфе-
ренции по открытому ПО), озаглавленную «Как OSS облагораживает
общество», на Google Video.
Этот суматошный график нанес ущерб развитию Plasma, и зало-
женный в нее потенциал пока не раскрывается. В текущих бета-вер-
сиях KDE Plasma отважно заняла место по умолчанию на рабочем
столе, но обычный пользователь поимеет с этого только симпа-
тичные аналоговые часы – слабое оружие для революции. Мы все Dolphin использует Nepomuk для добавления контекстуальных данных в файлы, и вы
уверены, что Plasma еще покажет класс; посмотрите рассылки раз- можете их использовать для добавления рейтингов, тэгов или своих заметок. Strigi умеет
работчиков KDE, и вы увидите, что здесь не хватает только четкого осуществлять по ним поиск.
Что за штука…
JavaScript 2?
Половина web-сайтов успешно использует JavaScript – так стоит ли чинить то, что не ломалось?
Пол Хадсон объяснит, что к чему…
ОК, наконец-то я дождался темы, о которой еще JavaScript был создан для решения простых задач, и JavaScript 2, они удивляются: «Ничего себе, сколько
до начала ваших объяснений мне известно все! уже с трудом удерживает выстроенные вокруг него всего!», тогда как половина всех нововведений дав-
Правда? Стоит пожалеть деньги, выложенные за этот супер-сайты. но работает в JavaScript 1.7, просто они об этом не
номер журнала! Но, признаться, я несколько удивлен: знают. Другая проблема – столкновение множества
о JavaScript 2 знают пока лишь немногие. А разве недостаточно легкой модернизации самых разных точек зрения. Брендан Эйх [Brendan
– скажем, JavaScript 1.1, а не 2.0… Eich], технический директор Mozilla, который и создал
JavaScript 2? Я как-то не до конца вник. Облом! На самом-то деле, добрались уже до JavaScript 1.7! JavaScript десять лет назад, еще работая на Netscape,
И правда, о JavaScript 2 я пока ничего не слы- Чтобы соответствовать растущим запросам, новые назвал четыре самых распространенных совета, полу-
шал – прошу вас, продолжайте… функции добавляются непрерывно. ченных им от самых разных людей: «оставьте язык
Уже лучше! Я вижу, вы многое знаете о текущей вер- в покое», «пересмотрите его мощно, необратимо»,
сии JavaScript, да и немудрено: JavaScript нынче пов- Почему тогда столько внимания 2.0? Рано «чуть-чуть подправьте его (90 вариантов “чуть-
сюду. Забрались ли вы в Интернет через настольный или поздно, выход из серии 1.х на 2.0 стал чуть”)» и «не превращайте это в Java!».
компьютер или смартфон, работаете ли с XML-файла- бы просто логическим продолжением.
ми или SVG с поддержкой скриптов – вам не обойтись В общем, да. А еще такие значительные изменения Сделать два разных JavaScript – совсем непло-
без JavaScript. нумерации версий обычно знаменуют обратную несов- хая идея!
Не секрет, что свыше половины всех web-сайтов в местимость – скрипты прежних версий просто не смо- Допускаю, но аргументы в пользу унификации еще
той или иной степени используют JavaScript, а неко- гут работать на новой. Обычно имеется в виду вот что: убедительнее: JavaScript – одно из немногих понятий,
торые (Google Maps, например) целиком построены «если уж пришлось пойти на слом обратной совмес- однозначно воспринимаемых разными браузерами.
на нем! тимости – самое время внести и другие давно назрев- Да, совместимость несовершенна – например, подру-
шие изменения». А изменения назрели действительно жить Opera с Gmail удалось не сразу. В остальном же
радикальные: формальное определение классов вмес- способность JavaScript примирять самые разные брау-
зеры и платформы поразительна.
«JavaScript был создан для простых А если взять да и обновить все разом до
JavaScript 2?
задач, и уже с трудом удерживает Надежда есть – по крайней мере, с годами.
42 Linux
LinuxFormat
FormatNovember
Ноябрь 2007
JavaScript 2 Что за штука?
версии, и похоже на то, что все эти нововведения вой- самом деле оно 0,99999999 или 0.10000001. А значит, Получилось некоторая мешанина, но в итоге JavaScript
дут в финальный стандарт. С другой стороны, одна даже простая арифметика может вылиться в пробле- 2 обещает вобрать в себя лучшие черты других попу-
из целей – максимально упростить переход на JS2. му. Возьмем маленькую команду: alert((0.1+0.7)*10). лярных языков программирования.
Может быть, стоит более подробно остановиться на Это означает: «сложить 0,1 с 0,7, умножить результат
новшествах… на 10, затем показать это в окне сообщения». Вы ожи- Звучит так необычно… Не опасно ли внедрять
даете, что в окне выведется 8, а увидите 7.99999999. так много нового сразу?
Имеет смысл. Начните с пространств имен — Верно. Именно поэтому JavaScript 1.7 (поставляемый
хоть что-то знакомое… Но… но это же плохо! с Firefox 2.0) уже обладает многими из заявленных
Да, да, пространства имен и их близкие друзья-пакеты Во-во, полная фигня. свойств – например, let уже там, итераторы тоже.
есть в C++, Java, C# и Perl, и вполне могут однажды JavaScript 1.9, выпуск которого планируется совмес-
возникнуть в PHP. «Пространство имен» в термино- Э-э… как-то вы уж очень по-простому. тить с выходом Firefox 3.0, будет обладать еще боль-
логии программистов означает набор использованных Извините – инженерным разговорам свойствен- шим количеством нововведений. После этого переход
ключевых слов. Например, Scriptaculous API предо- на непринужденность. В общем, проблема неточности на JavaScript 2.0 уже не будет потрясением.
ставляет десятки эффектов и DOM-инструментарий будет решена введением десятичного типа.
для сборки. Если воспользоваться ими, да еще пароч- Надо полагать. Ой! Кажется… утюг! Я забыл
кой других API, то скоро проявятся конфликты между И будет строгая типизация данных? выключить утюг – скорее, дайте мне URL, мне
различными именами классов и функций, определен- Нет, не совсем. Но программисты получат воз- надо бежать!
ных разными API – гляди в оба, чтобы не ошибиться. можность строго определять некоторые типы данных, Давать-то пока нечего, JavaScript 2.0 настолько новое
Пространство имен позволяет сказать: «В этом скрип- а также сообщать, какой тип данных ожидается на понятие, что нет еще ни книг, ни учебников, ни howto и,
те под словом Effect я подразумеваю Scriptaculous возврате из функции. Все это похоже на “type hints” уж конечно, никаких примеров для загрузки. Сожалею!
Effect». в PHP. Эх, уже убежал… LXF
Улавливаете? Конечно, пространство имен касает-
ся лишь крупных сайтов с множеством разнообразных Стойте – для меня это уже слишком.
компонентов. Есть понятия попроще: JavaScript 2 будет Не могли бы вы объяснить в
способен различать объекты, массивы, функции, логи- общих чертах?
ческие переменные, целые числа, числа с плавающей ОК. JavaScript 2 взял итераторы
точкой, десятичные числа, строки, даты, регулярные и слайсинг от Python, пере-
выражения и ошибки. Версия 1.7 втиснула целые чис- грузку операторов от
ла, числа с плавающей точкой и десятичные числа в C++, ключевое сло-
упрощенный тип данных “number”, но в JavaScript 2 во let из Basic.
все будет иначе.
Apache, На DVD
но не httpd
Затрудняетесь назвать пять различий между Apache и web-сервером Apache?
Ничего страшного – Николай Байбородин объяснит, что к чему.
О
рганизация Apache Software Foundation поддерживает Некоторые проекты второго уровня становятся столь успешными,
и развивает большое количество проектов. При этом что переводятся в разряд приоритетных, то есть им присваивается ста-
отдельные проекты не равнозначны друг другу – есть тус TLP. Один из самых значимых факторов, позволяющих оценить тот
те, которым уделяется наибольшее внимание, есть и или иной проект, это его переход от статуса дочернего проекта к отде-
менее значимые. Для того, чтобы упорядочить многообразие про- льному самостоятельному проекту первого уровня. В качестве примера
ектов в соответствии с приоритетами сообщества, в Apache Software одного из таких проектов можно привести проект по созданию утилиты
Foundation используется многоуровневая структура организации про- автоматической сборки Ant (LXF92). Изначально Ant входил в проект
ектов. Это означает, что из всех направлений разработки програм- Geronimo, но со временем был переведен в группу проектов первого
много обеспечения выделяются основные, приоритетные, которые уровня. И это не единичный пример.
становятся проектами первого, или верхнего уровня (Top Level Стоит сказать, что не все проекты оказываются успешными.
Project, TLP). Каждый из проектов первого уровня может включать Некоторые, не сумевшие развиться от первоначальных замыслов в
в себя несколько проектов второго уровня. Проекты второго уровня полноценные работающие приложения, не собравшие вокруг себя
могут не иметь прямой и очевидной зависимости от родительско- сообщества заинтересованных разработчиков, или просто оказавшиеся
го проекта, то есть это не обязательно библиотека или компонент, бесперспективными, переводятся в статус закрытых.
используемый в родительском проекте. Главное, чтобы цели, постав- Список всех действующих и наиболее интересных из закрытых
ленные перед проектом второго уровня, при их достижении являлись проектов можно найти на главной странице web-сайта Apache Software
своеобразным шагом к достижению целей, поставленных перед про- Foundation (www.apache.org), где каждый проект представлен ссылкой,
ектом первого уровня. ведущей на его домашнюю страницу.
Jakarta
Web http://jakarta.apache.org/
Не случайно мы начинаем обзор проектов ASF с Apache Jakarta. Прежде нацелен на серверные технологии и Java Enterprise Edition.
всего, это один из старейших проектов, а также, наверное, один из Несмотря на большую значимость проекта Apache Jakarta, в послед-
самых амбиционных замыслов ASF. И в тоже время, возьму на себя нее время раздаются голоса о его последних днях в связи с раскрытием
смелость утверждать, что это самый неоднозначный проект. Ниже я компанией Sun исходных текстов Java. Однако следует помнить, что
постараюсь объяснить, в чем заключается его неоднозначность, а пока Sun открыла не весь код Java, что обусловлено определенными патент-
стоит также отметить, что Jakarta – проект верхнего уровня, и многие ными ограничениями. И, несмотря на заявления, что в ближайшем
другие проекты (в том числе Tomcat, Ant, и Struts), обладающие стату- будущем не останется закрытых модулей, все-таки еще нельзя считать
сом TLP, в прошлом были частью проекта Apache Jakarta. Некоторые официальную реализацию открытой на сто процентов, так что актуаль-
известные и заслужившие общественное признание проекты (напри- ность проекта Jakarta пока рано ставить под сомнение.
мер, Struts и Struts2) до сих пор являются проектами второго уровня, Но, с другой стороны, можно видеть, сколь решительные шаги Sun
входящими в состав Jakarta. предпринимает в плане перевода своих продуктов на открытые лицен-
Проект возник как ответ на нежелание компании Sun Microsystems зии. Это позволяет утверждать, что рано или поздно настанет момент,
открыть исходные коды платформы Java. Тогда и возникла идея созда- когда официальную реализацию Java можно будет назвать открытой без
ния свободной открытой реализации Java. Идея была встречена обще- каких-либо оговорок – тогда-то и встанет в полной мере вопрос об акту-
ственностью разработчиков с большим воодушевлением, и проект начал альности проекта Jakarta. Некоторые видят перспективу дальнейшего
быстро развиваться. Как известно, существуют три основные Java-плат- развития данного проекта в более эффективной реализации технологий
формы: Standard Edition (SE), Enterprise Edition и Mobile Edition. Jakarta Java EE, чем в официальной версии. Однако пока до этого еще далеко.
Harmony
Web http://harmony.apache.org/
Если Jakarta – это Java EE, то целью проекта Apache Harmony явля- На субъективный взгляд автора, такое дублирование кода ираз-
ется реализация Java Standard Edition (SE). Поскольку большин- работчиков привело к тому, что эффективность обоих реализаций
ство проектов ASF так или иначе связано с технологиями Java, платформы Java SE заметно уступает официальной реализации,
Harmony является базовым проектом, так как призван обеспечить что, учитывая стремление Sun сделать Java достоянием обще-
основную функциональность альтернативной реализации Java- ственности, ставит под вопрос актуальность обоих проектов.
машины. Учитывая важность проекта, в нем принимают участие Harmony – самый скандальный проект, долгое время служив-
многие крупные компании, в том числе Intel и IBM. Тем не менее, ший яблоком раздора между ASF и Sun Microsystems. Последний
среди тех, на кого проект возлагал большие надежды, есть и конфликт произошел в апреле 2007 года – по поводу лицензионных
проигнорировавшие данное начинание. Пожалуй, самый силь- ограничений со стороны Sun на инструментарий Java Compatibility
ный удар по проекту был нанесен со стороны сообщества GNU, Kit (JCT), необходимый для проверки различных реализаций Java
которое отказалось объединить свои усилия с разработчиками SE на соответствие принятому стандарту.
Harmony, осуществляя самостоятельную разработку собственной Harmony еще рано называть полноценной версией Java SE,
версии открытой реализации Java-платформы под названием GNU поскольку в настоящее время реализованы не все классы (заяв-
Classpath. Основу разногласия составило взаимное несоответствие ленные 99% не позволяют использовать Harmony в качестве пол-
лицензий GNU и Apache. ноценной платформы).
Geronimo
Web http://geronimo.apache.org/
Если Tomcat – это сервлет-контейнер, то Apache Geronimo – полноцен-
ный сервер приложений. На момент написания статьи был доступен
релиз 2.0-M6, который успешно прошел сертификацию на совмести-
мость с официальной спецификацией Sun Java EE 5.0. Существуют две
модификации данного сервера приложений, отличающиеся друг от
друга используемым сервлет-контейнером: в одной из модификаций
это Tomcat, а в другой – Jetty. Кроме того, существует еще и облегчен-
ная версия сервера – Little G, которая поддерживает не все возможнос-
ти Java EE 5.0.
Свидетельством успеха проекта Apache Geronimo является тот факт,
что именно его компания IBM выбрала в качестве платформы для
своего сервера приложений IBM WebSphere Community Edition. Надо
сказать, что IBM не только использует плоды трудов сообщества, но и
активно делится с ним своими разработками. Так, недавно IBM переда- Консоль
ла сообществу разработчиков Apache Geronimo технологию миграции администрирования
с коммерческой версии JBoss Application Server на сервер приложений Geronimo с web-
Geronimo. интерфейсом.
Знаете ли вы...
...что широко популярное средство для фильтрации спама SpamAssassin тоже
является проектом верхнего уровня ASF?
Эффективность SpamAssassin достигается благодаря комплексному
подходу к борьбе со спамом, который обеспечивается тремя ключевыми
компонентами – оценочным демоном, транспортным агентом и базой
шаблонов писем. В качестве же основной (но не единственной) техноло-
гии распознавания спама здесь используется Байесовская фильтрация.
Tomcat
Web http://tomcat.apache.org/
Один из тех проектов, которые всегда на слуху. Основное назначение из web-протоколов. В результате получается, что сервер приложений
Tomcat – это создание инфраструктуры, обеспечивающей выполнение должен быть «по совместительству» и web-сервером.
Java-сервлетов (LXF89) и страниц Java Server Pages или JSP (LXF90). Часто можно слышать, что Tomcat называют сервером приложе-
Как известно, сервлеты и JSP являются серверными Java-компонента- ний. Это не совсем верно, поскольку в рамках проекта разрабатывается
ми. Раз так, значит, должен быть сервер, способный работать с ними. только та его часть, которая обеспечивает обработку JSP и выполнение
Его называют сервером приложений. Поскольку основное предназна- сервлетов, а система, реализующая подобную функциональность без
чение серверных приложений заключается в обслуживании запросов HTTP-интерфейса, называется «сервлет-контейнером». Таким обра-
клиентов, а для взаимодействия с клиентскими системами использу- зом, Tomcat – это сервлет-контейнер. И только связку Tomcat с Apache
ются web-интерфейсы, то эти запросы должны поступать по одному httpd можно назвать сервером приложений.
Derby
Web http://db.apache.org/derby/
Проект Apache DB нацелен на развитие открытых технологий баз дан- ло двух мегабайт, включая JDBC-драйвер), что, в совокупности с кросс-
ных. Он достаточно обширен, поэтому для наиболее эффективного платформенностью, делает ее очень популярной среди разработчиков.
координирования его деятельности, Apache DB разделен на несколько В частности, поддерживаемый компанией Sun Microsystems сервер
дочерних проектов. Самым значимым из них является проект Derby. приложений с открытым исходным кодом GlassFish в качестве сервера
Это полноценная реляционная база данных с открытым исходным баз данных использует Derby.
кодом. Ее отличительной особенностью является то, что она целиком [В основе Derby лежит открытый исходный код СУБД Cloudscape,
написана на языке Java. Кроме того, Derby достаточно компактна (око- разработанной корпорацией IBM, – прим. ред.].
Struts
Web http://struts.apache.org/
И опять Java-технологии. Как видите, разработчики из сообщества В настоящее время ASF развивает две независимые ветки Struts –
Apache Software Foundation проявляют к ним очень большой интерес. 1.x и 2.x (WebWork 2). На момент написания статьи доступна версия
Какую же функциональность обеспечивает Struts? Это каркас, поз- 2.0.9, поддерживающая такие популярные в последнее время техноло-
воляющий создавать web-приложения, основанные на таком распро- гии, как SOAP, REST и AJAX.
страненном шаблоне проектирования, как Модель – Вид – Контроллер Кстати говоря, в прошлом Struts входил в состав проекта Jakarta,
(MVC). Кстати, будучи изначально ориентированным на Java-прило- однако в настоящее время это самостоятельный успешно развиваю-
жения, Struts, тем не менее, позволяет реализовать шаблон MVC и на щийся проект.
других языках программирования.
К сожалению, взаимная интеграция Struts и Java Server Faces – JSF
(наиболее популярной в последнее время технологии создания интер-
фейсов для web-приложений) пока оставляет желать лучшего. Но в то
же время динамика изменений обоих проектов в данном вопросе поз-
воляет смотреть в будущее с оптимизмом.
Название проекта, которое можно перевести как «опоры», «под-
порки», означает, что данный программный продукт обеспечивает
поддержку созданию профессиональных web-приложений. Еще мож-
но сказать, что это клей, связывающий отдельные Java-технологии в
законченный программный продукт.
ODE
Web http://ode.apache.org/
Apache ODE (Orchestration Director Engine – один из тех случаев, когда ODE. Данный проект относительно молод – статус TLP был ему присво-
смысл фразы понятен на интуитивном уровне, а ее перевод на русский ен 18 июля 2007 года.
язык представляет собой нетривиальную задачу) – это каркас, пред- В настоящее время наибольшее распространение получили две
назначенный для выполнения бизнес-процессов, описанных с помо- нотации BPEL: WS-BPEL 2.0 и BPEL4WS 1.1. ODE поддерживает их обе
щью WS-BPEL (Web Services – Business Process Execution Language), в полном объеме. Одной из особенностей ODE является поддержка
основанного на XML языка описания бизнес-процессов. Описанная с нескольких версий описаний бизнес-процессов с возможностью «горя-
помощью WS-BPEL логика бизнес-процесса может быть реализована чего» переключения между ними. Это делает ODE мощным инструмен-
в виде web-сервиса. Эта реализация предполагает наличие некоторого том моделирования и автоматизации бизнес-процессов в динамичной
инструмента, ее осуществляющего. В качестве такового и выступает и постоянно изменяющейся внешней среде современной экономики.
Ant
Web http://ant.apache.org/
В рамках проекта Apache Ant разрабатывается утилита автоматической Будучи написанным на языке Java, Ant является платформо-неза-
сборки программ из исходных текстов. Ant написан на языке Java. Для висимой утилитой. Для управления сборкой приложения используется
того, чтобы лучше понять назначение данной утилиты, можно обра- сценарий, выполненный в виде XML-файла. Для облегчения работы
титься к GNU make, так как Ant выполняет аналогичные функции, то программистов в Ant имеются шаблоны или интерфейсы для напи-
есть осуществляет сборку рабочей версии программного обеспечения сания заданий на языке Java. В настоящее время Ant содержит более
из отдельных компонентов (исходный код основных модулей, исполь- 150 task-интерфейсов.
зуемые библиотеки и так далее).
iBATIS
Web http://ibatis.apache.org/
Еще один проект, посвященный базам данных. iBATIS представляет
собой каркас, обеспечивающий их эффективное использование в про-
ектах Java и .NET. Он связывает объекты с хранимыми процедурами
или SQL-запросами с помощью XML дескрипторов. Три базовых поня-
тия, вокруг которых построен iBATIS – это объекты, SQL и XML.
iBATIS состоит из таких основных компонентов, как SQL Data
Mapper (обеспечивает простой и гибкий способ передачи данных меж-
ду приложениями Java и .NET) и Data Access Objects (абстрактный слой,
скрывающий детали реализации доступа к данным с помощью соб-
ственного простого API).
Текущая версия Apache iBATIS на момент написания статьи – 2.3.0.
По номеру версии программного продукта иногда можно судить о воз-
расте проекта. И действительно, iBATIS является зрелым не только в
смысле нумерации – в июле этого года ему исполнилось пять лет. Интерфейсы доступа к данным, предоставляемые iBatis.
MyFaces
Web http://myfaces.apache.org/
MyFaces относится к тем проектам, возникновение которых было обусловлено С технической стороны это один из наиболее сложных проектов. В связи с этим
политикой компании Sun в отношении Java-технологий. В то время как будущее он состоит из нескольких подпроектов, основными из которых являются MyFaces
некоторых проектов после открытия исходных кодов большей части платформ API и MyFaces Implementation.
Java SE, EE и ME находится под вопросом, некоторые проекты смогли обеспечить Кроме основного ядра проект MyFaces предусматривает создание расширений,
уровень функциональности, не только не уступающий, но и превосходящий офици- делающих функциональность MyFaces более богатой. Среди последних наиболь-
альные реализации Sun Microsystems. Одним из таких удачных решений является шее распространение получили Tomahawk, Tobago и Trinidad. На момент написания
MyFaces – альтернативная реализация спецификации Java Server Faces (JSF). статьи доступна версия MyFaces Core 1.2.0.
Axis
Web http://ws.apache.org/axis/
OpenEJB Maven
Web http://openejb.org/ Web http://maven.apache.org/
В рамках проекта OpenEJB сообщество разработчиков создает открытую реализа- Maven является одним из наиболее значимых проектов Apache Software Foundation,
цию контейнера Enterprise Java Beans (EJB) и сервера EJB. Разрабатываемый лег- получившим широкое распространение и признание крупнейших разработчиков
ковесный EJB-сервер обеспечивает как локальный, так и удаленный доступ к EJB- программного обеспечения. Его основное назначение – управление программным
объектам. Используя OpenEJB, можно разворачивать EJB компоненты в соответс- кодом, то есть то, без чего немыслим ни один крупный проект. В частности, Maven
твующем контейнере и оперативно управлять их поведением с помощью различных используется в GlassFish, насчитывающем более миллиона строк.
инструментов, включая традиционную командную строку. Излишне говорить, что все проекты, входящие в состав ASF, использу-
OpenEJB – один из самых молодых проектов ASF, вышедший из инкубатора в ют для управления своим кодом Maven и доступны через соответствующие
феврале 2007 года. Однако, несмотря на столь юный возраст проекта, на момент Maven-репозитории.
написания статьи уже была доступна версия OpenEJB 3.0, соответствующая специ- Вот неполный перечень основных возможностей Maven: автоматическое доку-
фикации JavaBeans 3.0. ментирование внесенных в проект изменений, поддержка взаимного пересечения
проектов, поддержка списков рассылки, поддержка списка зависимостей, докумен-
тирование Unit-тестов.
Итого
Ну, на сегодня, пожалуй, хватит. Конечно, мы рассмотрели не все проекты, находя- лее интересные проекты, находящиеся под патронажем Apache Software Foundation.
щиеся под патронажем Apache Software Foundation, а кое в чем были весьма повер- Однако если вас заинтересовал какой-либо из проектов, вы всегда можете полу-
хностны – всему виной конечная толщина журнала. Итак, мы рассмотрели наибо- чить по нему самую исчерпывающую информацию на домашней странице. LXF
А также...
ActiveMQ – менеджер сообщений, отвечающий стандарту JMS
(Java Messages Service).
Gump – инструмент отслеживания изменений в программных проектах Динамика популярности некоторых проектов по версии Google
и автоматизации регулярных сборок. Trends (голубой – Tomcat, красный – Ant, желтый – Jakarta,
OfBiz – система управления предприятием (ERP) с открытым исходным кодом. Включает зеленый – Geronimo, синий – Axis).
такие модули, как ERP, CRM, E-Commerce, SCM, MRP, CMMS/EAM.
Е
сли уж где и считают деньги, то в бизнесе. Так уж получа- Евгений М. Балдин, LXF: Чем занимается ваша компания?
ется, что в конкурентной экономике выживает самый при- Павел В. Филатов: Мы являемся Специализированным Оператором
способленный. И если бизнес начинает выбирать свободное Связи по предоставлению услуг сдачи отчетности хозяйствующи-
программное обеспечение для своих целей – значит, что-то ми субъектами в контролирующие органы (ФНС, ПФ, Росстат). Наша
в этом есть. деятельность строго ограничена рамками законодательства и лицензи-
Павел Валентинович Филатов – начальник отдела IT в ООО руется ФСБ и Министерством связи.
«Петрокрипт». Заинтересовался GNU/Linux в самом конце девянос- Компания работает в Республике Карелия, Мурманской и Псковской
тых годов. Узнал об «ОС для настоящих мужчин» (UNIX) когда начал областях и предоставляет сервис примерно 5 000 предприятий. Также
активно пользоваться Интернетом. Из чисто академического интереса мы распространяем и обслуживаем сертифицированные средства
(Павел имеет физико-техническое образование) решил установить и криптозащиты и системы электронного документооборота.
попробовать. С тех пор не только пробует, но и приспосабливает для
Начальник отдела. решения насущных задач. LXF: Сколько людей в ней работает? Какой процент из них непо-
средственно сталкивается в своей деятельности с открытыми
продуктами?
ПВФ: В нашей компании около 20 человек. С продуктами с откры-
тым исходным кодом в той или иной мере работают все сотрудники
компании.
Выработка
идеи: Dell
Новые компьютеры Dell потребительского
класса с установленным Linux –серьезный шаг
вперед в области настольных систем для сооб-
щества Open Source. Как возникла эта идея и с
какими сложностями сталкивается компания?
LXF: Если вы ограничитесь одним дистрибутивом, не повредит ли это продажам? LXF: Кто, по-вашему, является типичным покупателем ваших Linux-систем?
ДжЧ: Уже несколько лет на наших настольных ПК бизнес-уровня сертифициро- ДжЧ: Люди, приобретающие второй ПК. Они должны чувствовать себя комфортно.
ваны SLED и Novell Linux Desktop. А Ubuntu просто... просто уж очень много было Моему младшему сыну 13, и он даже не прикасался к Linux. Ему приходится созда-
крика: «Нам нужна заводская установка этого дистрибутива». Dell вовсе не против вать документы MS Word, электронные таблицы для школы и все такое. Его старший
всех остальных. А вот у вас какой дистрибутив? брат, который знает Windows, как свои пять пальцев, без проблем устанавливает
Ubuntu и пользуется им. Так что я считаю, что это – энтузиаст, пользователь с двумя
LXF: Да, верно, Ubuntu! Ну, модифицированная версия... Но некоторые весьма рьяно ПК, который отлично в них разбирается. Среднестатистические мама и папа, которые
ратуют за свой дистрибутив... обращаются в Best Buy [онлайн-магазин электроники, – прим. пер.] или Fry’s [сеть
МД: И снова все возвращается к нашей стратегии по поводу драйверов устройств. магазинов электроники со штаб-квартирой в Кремниевой Долине, – прим. пер.], или
Если драйверы переданы kernel.org, нам все равно, какой дистрибутив ставить. еще куда-то, им незачем бросаться на Linux, чтобы принимать электронную почту или
Хотите – используйте Fedora, или SLED, или Ubuntu, или Gentoo, это неважно, пото- создавать простые документы. Они уже слышали о нем – это уже не чуждо – но все
му что они все будут в [основном] ядре, и каждому дистрибутиву достанется своя же требуется время, чтобы начать чувствовать себя комфортно при работе с ним.
часть в свое время. И если что-то не работает сегодня, подождите пару недель, пока
не появится следующий пробный релиз вашего дистрибутива, познакомьтесь с ним LXF: Циники могли бы предположить, что некоторые покупают машину, выкашива-
и посмотрите – может быть, заработает. Так что мы выбрали для заводской уста- ют Linux и ставят вместо него Windows...
новки один дистрибутив, но он будет играть по всей доске. ДжЧ: И такое тоже бывает. У нас есть платформа ‘n Series’, там вообще нет опера-
ционной системы, ее могут купить те, кому никакая ОС не нужна.
LXF: Если смотреть вперед, это большое достижение для Linux в области настоль-
ных систем. Но не кажется ли вам, что имеются некие помехи – например, отсут- LXF: И когда же мы увидим в ваших рекламных проспектах «Dell рекомендует
ствие единого, унифицированного рабочего стола? Что является необходимым? Ubuntu Linux»? Строчку «рекомендует Windows XP» мы видели...
МД: Это же все – инструменты: компьютер – это инструмент, и операционная ДжЧ: Обычные деловые взаимоотношения. Я уверена, что как только мы сделаем
система – тоже инструмент. Если у кого-то есть проблемы, которые он не может что-то с Ubuntu, такая строчка тоже появится. Не вижу причин, почему бы этому не
решить с помощью Linux... ну, я даже не знаю, что это за проблемы, честно говоря! произойти. LXF
Учебники
Наши эксперты помогут вам с любым приложением Linux
В этом выпуске...
ЕВГЕНИЙ БАЛДИН
56 Подстройка Gnome 90 Справочник контрагентов
Начинал с Агатов. Когда- Многие из нас любят Gnome за простоту, Андрей Паскаль покажет, как создать
то даже знал, что такое но только Энди Ченнел знает, как много средствами Ананаса CRUD-приложение –
Робик. можно получить благодаря малым а заодно объяснит, что это такое.
подстройкам.
П
ортал Jamendo (http://www.jamendo.
эквивалентами. Пол Хадсон покажет, раскрыть его потенциал.
com/ru/), специализирующийся как.
на распространении музыки без 90 Perl плюс C++
авторских отчислений, недавно отрапортовал 62 KDE & DCOP Объединив Perl и C++, вы откроете для
о преодолении рубежа в 5000 доступных для Конечно, бородатые хакеры и изящное своих скриптов новые горизонты – а
искусство (если не считать таковым Вадим Лихота объяснит все детали этого
скачивания альбомов. Музыка, предоставля-
aalib) – вещи несовместные, но Дэвид процесса.
емая для прослушивания всем желающим, Фили намерен изменить это раз
доступна под различными лицензиями Creative и навсегда. 90 Чистим домашний DVD
Commons (http://www.creativecommons.org/). Нет, это вовсе не про уход за бытовой
Тех, кто ожидает найти там исходники 68 Чиним сеть техникой! Алексей Маслий улучшит
У вас проблемы с сетью, Google, любительскую DVD-запись «на месте»,
любой понравившейся мелодии, ожидает
соответственно, недоступен, и вы не затрагивая меню и компоновку диска.
разочарование. И дело даже не в неоднознач- чувствуете себя покинутыми? Д-р Крис
ности лицензий CC, за которую FSF их спра- Браун излечит вас от всех болезней
ведливо критикует, а в принципиальных раз- сразу!
личиях в общепринятой модели создания
программ и других объектов творчества.
72 Виртуализация
Джек Найт приглашает вас
Картины, книги, музыка – это, как правило, в увлекательное путешествие
продукты либо сугубо индивидуальные, либо в таинственный мир компьютеров,
созданные очень ограниченным кругом соав- которые не существуют – ведь они
торов и в дальнейшем фактически не меняю- полностью виртуальны.
Н
есложный подсчет показывает, что многие из нас дольше нить цвета панелей Gnome – это экранные элементы, обычно располо-
глядят на монитор своего компьютера, чем на супругов или женные вверху и внизу дисплея; они содержат часы, меню приложений,
отпрысков, поэтому стоит позаботиться, чтобы это зрелище ярлыки и т.д. Далее мы займемся их опциями, но для простого изме-
радовало глаз. Это и есть разумное объяснение тому, что люди по нения цвета панели просто щелкните на ней правой кнопкой мыши и
незнанию зовут «украшательством». Мы рассмотрим несколько спо- выберите Свойства. На вкладке Фон, выберите Заливка цветом, а затем
собов свести рабочий стол Gnome и приложения, сделав их приятнее используйте кнопки для выбора желаемого цвета панели. Вы можете
Наш на вид и легче в использовании. Настроим также хранитель экрана: даже сделать ее прозрачной, что полезно, если у вас действительно
эксперт пусть в перерывах напоминает вам, как выглядят члены вашей семьи. крутая фоновая картинка, или использовать фоновое изображение для
Энди Ченнел Работать мы будем с последней стабильной версией Ubuntu, но через
Энди делает свои
первые шаги в Linux стандартные инструменты Gnome, так что любой основанный на
уже шесть лет, Gnome дистрибутив даст тот же эффект. Начнем с крупных измене-
а технологиями ний, а потом углубимся в более тонкие настройки.
интересуется еще
со времен Dragon 32 Две другие основные настольные ОС, похоже, не горят желанием
позволить пользователям менять много параметров – Windows для
капитальных изменений обычно требует дорогих дополнений от тре-
тьих лиц, а OS X желает, чтобы ее любили такой, как она есть – зато
и Gnome, и KDE разрешают перестройку практически всех аспектов
рабочего стола. От обоев и иконок до оконных рамок, все можно
изменить для создания более индивидуального окружения. Пока,
однако, мы не собираемся рассматривать чудеса трехмерных рабочих
столов. Хоть они и апофеоз технологии, но выходят за рамки нашего
урока и, несмотря на последние улучшения инструментов настройки,
все еще не совсем подходят для новичка. Они также требуют серь-
езной вычислительной мощности, тогда как рассматриваемые здесь
опции персонализации можно применить на любом ПК, который Темные цвета экономят заряд батареи, а градиент разнообразит
потянет сам Gnome. картину без лишних затрат ресурсов процессора. Впрочем,
вертикальные градиенты выглядят бесполезными и уродскими.
Месяц назад Как упорядочить жизнь при помощи списка задач, Sunbird и Provider.
56 Linux Format Ноябрь 2007
Первые шаги Учебник
улучшить Gnome?
ний. Имеется несколько способов отображения фонового рисунка, и
следует поиграть с ним до получения удовлетворительного результата.
Если наше изображение имеет подходящее для монитора соотношение
сторон, но несколько большее разрешение, можно выбрать По центру,
тогда исчезнут черные границы сверху и снизу выбранного изображе-
ния. Выбрав На весь экран, мы сможем увидеть изображение целиком,
а опция Черепицей может быть использована для добавления в качест-
ве обоев небольших текстур.
Посмотрим на семью
Вышеописанным методом можно, конечно, выложить на рабочий стол
и фотографии из вашей личной коллекции, но лучший способ осве-
жить ваши воспоминания – хранитель экрана. Выгорание дисплея оста-
лось в далеком прошлом, и хранители экрана теперь скорее массируют
глазные яблоки, чем сберегают люминофор. А коли вам понадобился
массаж, то почему бы не применить в качестве масла собственную
Картинка из Firefox сохранится на вашем жестком диске по щелчку библиотеку изображений? К счастью, среди многих (ой, многих) хра-
правой кнопки мыши. нителей экрана для Gnome имеется один, под названием Директория
с изображениями, специально для этой цели. Поэтому выполните
самой панели. Каждая панель – независимый элемент, и для каждой Система > Параметры > Хранитель экрана и прокрутите список до
можно назначить свои цвета и параметры. Главное, не безумствуйте. требуемого пункта. Вполне возможно, что при выборе Директории с
Не столь просто изменить в Gnome цвет шрифтов на рабочем столе. изображениями ничего не произойдет; на то возможны две причины.
Всего удобнее использовать опции как по умолчанию: белый с черной Во-первых, в папке пока нет изображений; тогда их надо в нее доба-
тенью, темный фон или светлый фон с темной областью для иконок; вить. Во-вторых, вы могли импортировать фотографии с камеры или
тогда хоть будет видно, что вы делаете. из библиотеки согласно стандартным настройкам F-Spot, и ваш ката-
Если вы все-таки склоняетесь к графическим обоям – пусть это и лог с фотографиями называется Photos. Лобовой способ исправить
мило, но обычно они все равно упрятаны за окнами приложений, так это – войти в каталог /home/username, щелкнуть правой кнопкой мыши
что не перетрудитесь над их эффектностью. Если вы устали от набора на Photos, выбрать в меню Переименовать и дать новое имя Pictures.
изображений вашего дистрибутива, то других в сети миллионы, и мож- Правда, теперь F-Spot перестанет распознавать собственную библио-
но даже добавлять изображения самому, для придания большей инди- теку, и придется ее перестроить: все удалить, выбрать каталог Pictures
видуальности. Попробуем вытянуть с какого-нибудь сайта абстрактный для импорта (Правка > Параметры) и затем вновь все импортировать –
рисунок и добавить его в набор доступных изображений. Обои для да еще и повторить сделанное вами редактирование, поскольку это
рабочего стола широко предлагаются в Интернете (например, www. является частью базы данных F-Spot, а не Gnome.
desktopwallpapers.co.uk), и некоторые из них имеют рисунки, разрабо- Проще будет выбрать F-Spot Photos в списке хранителей экра-
танные для Gnome, KDE или просто Linux, специально для линуксоидов. на. Это не только снимет описанную выше проблему, но также даст
На данном уроке мы попробуем насладиться сайтом http://art.gnome. больше контроля над демонстрацией, поскольку вы сможете настро-
org, содержащим художественные работы и темы рабочего стола ить приложение на показ изображений только с определенными тэга-
Gnome. Соотношение сторон и разрешение вашего монитора не игра- ми. Например, если вы поклонник жвачных, можете открыть F-Spot,
ют большой роли при выборе изображения, но результат будет более
предсказуем, если их учесть. Кто не знает свои параметры, откройте
Система > Параметры и выберите параметр Разрешение экрана: диа-
логовое окно сообщит вам необходимые значения. Как обычно, первое
число означает горизонтальный размер, второе – вертикальный. У нас
элегантный широкий экран, и его разрешение 1280 х 800, а на обычном
мониторе будет где-то порядка 1024 x 768.
Итак, вернувшись на art.gnome.org, просмотрим имеющиеся изоб-
ражения в поисках чего-нибудь крутого. Найдя хорошее изображение,
щелкните на ссылке, чтобы увидеть полную версию, а затем, в Firefox,
щелкните правой кнопкой мыши и выберите Сохранить изображение
как... для загрузки изображения на рабочий стол или в папку с доку-
ментами. Firefox имеет опцию Установить как фоновый рисунок рабо-
чего стола, но обычно лучше (с точки зрения управления файлами)
загрузить желаемое изображение куда-то конкретно. После загрузки
файла вновь щелкните правой кнопкой мыши в пустом месте рабочего
стола, затем Свойства, в появившемся окне выберите пункт Добавить
обои и перейдите к местоположению ранее сохраненной картинки. При F-Spot предоставляет более гибкую настройку хранителя экрана: вы
желании, просто перетащите картинку в список доступных изображе- можете применить некую цензуру к отображаемому.
В вашем вкусе
За отображение шрифтов Linux в прошлом подвергался критике (иног-
да заслуженной), но оно меняется к лучшему, и мелкие реформы в
стандартных установках Gnome способны привести к резкому изме- Соблазнительно побезумствовать со шрифтами, но при определении
типа повседневного оформления удобство использования важнее.
нению удобочитаемости, особенно если вы работаете на ноутбуке или
с настольным ЖК-экраном. Для перехода к утилите настройки шриф-
тов, выберите Система > Параметры > Шрифт. Появляющийся диалог Лучшие окна
кажется сложным, но проще воспринимать его как две отдельные час- C годами система управления темами Gnome стала развитым и удоб-
ти. Верхняя определяет шрифты, отображаемые в различных областях ным инструментом. Найти ее можно в Система > Параметры > Тема.
рабочего стола, и выбор одной из длинных кнопок рядом, например, В главном разделе этого окна находится эскиз выбранной темы. Вы
со Шрифтом рабочего стола вызовет стандартное окно выбора шриф- можете загрузить множество тем с art.gnome.org – так же, как и обои –
та, где назначается тип шрифта и его размер для отображения текста и добавить их в вашу систему кнопкой Установить тему. Темы, загру-
на рабочем столе. Возможно, вас увлечет некий эзотерический шрифт, женные с art.gnome.org, обычно являются .tar.gz-файлами и интегри-
вроде рукописного или футуристского, и до поры до времени это пре- руются в систему без распаковки. Нередко они разделяются на темы
красно – пока вы через пару дней не решите отказаться от него ради Приложений и Окон. Первые влияют на способ отображения кнопок,
чего-то более разумного. Вычурные шрифты кажутся кратчайшим прогресс-индикаторы и другие отображаемые ОС виджеты, а вторые
путем к приданию индивидуальности рабочему столу, но заодно ухуд- изменяют границы, заголовки и кнопки самих окон. Некоторые темы
шают читаемость; так что не спешите на них набрасываться. охватывают оба аспекта, но вам, вероятно, захочется смешать и согла-
Вторая часть этого диалога отвечает за реальное отображение совать стили (дизайнеры Gnome, похоже, склоняются к ровной неброс-
шрифтов, и здесь выбор полностью субъективен; просто выберите кой эстетике, и стилевой разнобой не должен вас особо беспокоить).
опции, которые лучше выглядят на вашем экране и при которых вам Учтите, что темы Gnome могут использовать «движок тем», отлича-
комфортнее читать. Кнопка Подробнее... в этом разделе предостав- ющийся от установленного у вас (сверьтесь с описанием заинтересо-
ляет несколько дополнительных опций для тонкой подстройки вашего вавшей вас темы); в таком случае добавьте соответствующий движок
выбора, но ее вполне можно проигнорировать. при помощи Synaptic (Система > Администрирование > Менеджер паке-
Следует помнить, что некоторые приложения не используют стан- тов Synaptic, где найти указанный движок). Движок Murrine, например,
дартные шрифты рабочего стола, определенные здесь, и потребуют был навеян искусством венецианских стеклодувов, он делает рабочий
дополнительной работы для улучшения вида или гармонии с вашим стол чистым и ясным, тогда как движок Metacity более настраиваем и
выбором для рабочего стола. Например, можно изменить шриф- популярен, и для него доступно гораздо больше тем. Если вы сменили
ты, используемые для отображения web-страниц в Firefox, выбрав движок тем, не забудьте выйти и зайти вновь, чтобы увидеть результат
Правка > Настройки и просмотрев раздел Шрифты и цвета на вкладке изменений, хотя смена тем происходит автоматически.
Содержимое. Но на web-страницах или на рабочем столе, как следу- Кроме выбора темы, имеется еще множество других вещей, кото-
ет из результатов большинства исследований по читаемости экрана, рые вы можете сделать по-своему уникальными. Для начала выбери-
шрифты без засечек на концах (sans serif) лучше всех прочих, так что те в окне темы пункт Настроить; откроется новый диалог с четырьмя
для облегчения жизни остановитесь на одном из таких. вкладками. Слева направо:
Элементы управления изменяют виджеты рабочего стола.
Разработчики тем называют их темами приложений, так что поищите
их на art.gnome.org. Загруженные темы можно перенести в этот список,
и они автоматически поступят на рабочий стол, если вы не укажете
иное.
Цвета На этой вкладке до четырех настроек цвета, в зависимости от
используемого движка тем. Странно, что опция Выделенные элементы
здесь изменяет цвета панели-заголовка активного и неактивного окна.
Значки позволят изменить настольные значки глобально, и, как и
темы и границы окон (см. ниже), наборами иконок можно разжиться
в различных местах, включая art.gnome.org. Столь же легко сменить
лишь отдельные значки: щелкнув правой кнопкой мыши на любом из
них в диалоговом окне, выберите Свойства в контекстном меню и клик-
ните по кнопке значка в диалоговом окне. Затем вы можете перейти к
новому значку или изображению (лучший формат для этого – .png),
а потом нажать кнопку OK. Можно также увеличить или уменьшить
размер значка на рабочем столе, выбрав в меню правой кнопки пункт
Вы проводите массу времени за экраном; почему бы не украсить Растянуть значок, а затем воспользоваться маркерами, появившимися
его слайд-шоу ваших любимых фото? по углам значка, для изменения его размера.
Bash: Используем
Часть 3 Хотите почаще использовать командную строку, но не знаете, с чего начать?
Рэйчел Проберт расскажет, как сделать резервную копию с терминала.
омашний ли вы пользователь компьютера или администратор
командную строку
Скорая
Часть 2: Сжимаем архив помощь
При использовании
Полезно сжать несколько файлов в один: тогда они занимают меньше Опция -v в этой команде отвечает за подробный [verbose] вывод, утилит для сжатия
места на диске, и их можно быстрее загрузить из Интернета. Итак, в с указанием названия каждого файла и процента сжатия. Если мы данных имейте
чем же разница между архивом и сжатым файлом? выполним здесь же команду ls, то увидим, что файл work.tar превра- в виду, что
двоичные файлы
Архив – это набор файлов и каталогов, которые хранятся в одном тился в work.tar.gz и в самом деле значительно уменьшился по сравне-
практически
файле. Файл архива не сжат – он занимает на диске столько же мес- нию с несжатым архивом, созданным нами ранее. При необходимости не сжимаются,
та, сколько занимают все файлы и каталоги в этом архиве [а на самом распаковать архив tar можно использовать команду зато текстовые
деле даже чуть больше, – прим.ред.]. Сжатый файл – это набор файлов gunzip work.tar.gz уменьшаются
в объеме более чем
и каталогов, которые хранятся в одном файле, причем этот файл зани- Содержимое tar-архива предстанет перед вами в былой красе.
на 75 процентов.
мает на диске меньше места, чем файлы и каталоги внутри его. Если Существует несколько утилит для сжатия данных; выбор одной из
на диске мало места, можно сжать файлы, которые вы используете не них зависит от ваших предпочтений. Утилита bzip2 более новая, и часто
очень часто, или файлы, с которыми вы уже не работаете, но которые сжатые с ее помощью файлы меньше аналогов, сжатых gzip. Файлы,
хотите сохранить. Архив мы уже создали, а сейчас для экономии места сжатые bzip2, имеют расширение .bz2 и распаковываются точно так же,
на диске сожмем его. как и сжатые gzip, но вместо gunzip используется утилита bunzip2. Есть
Стандартная утилита для сжатия файлов в Linux называется gzip. еще утилиты zip, compress и lzop.
Сжатый с ее помощью файл получает расширение .gz. Давайте сожмем Примечание: пользователи Windows как правило не осознают разницы
полученный ранее файл work.tar с помощью следующей команды: между архивированием и сжатием, т.к. в этой ОС программа-архиватор
gzip -v work.tar обычно сразу и создает единый файл, и сжимает его.
И
меет ли место садомазохизм в мире компьютеров? Если да, имеется одно большое неудобство: львиная доля Posix работает с ука-
то вот он: я покажу вам, как заставить C# идти бок о бок с зателями.
Posix и выиграть. Да, Posix – этот дурно задуманный процесс «Указатели?» Так и слышу, как вы охнули. «Привет! Говорят 1980-е!
стандартизации, сбивающий с толку программистов, игнорируемый Они требуют обратно свой безумный, анахроничный, осложненный
конечными пользователями, и все же подпирающий Linux и другие переполнениями буфера доступ к памяти!» Именно так. Указатели –
Unix-подобные ОС. Posix – это набор системных вызовов, интерфей- это программные имена, описывающие конкретный участок памяти.
Наш сов и сигналов, определяющий, как мы, разработчики, взаимодейс- Например, переменная – указатель на строку содержит точный адрес
эксперт твуем с операционной системой. Действующий стандарт Posix весьма в памяти, где располагается строка текста. Понятно, что это прекрасно
Пол Хадсон обширен, но по сути мы должны заботиться только вот о чем: если вы для быстродействия, так как между программой и оборудованием нет
полагает, что Mono – пишете Posix-совместимый код, он должен работать в любой Posix- посредников, но ужасно с точки зрения безопасности, потому что про-
лучшая вещь со
времен мультфильма совместимой ОС. грамма имеет полную власть над вашим компьютером: даже крошеч-
Pinky and the Brain, Как ни странно, список совместимости включает Windows Vista, ная щелочка в безопасности может вылиться в захват системы. Теперь,
и сейчас точнее, большинство основанных на NT версий Windows, коль скоро когда вы знаете все о плюсах и минусах Posix, давайте нырнем в него
поддерживает два
проекта на основе они имеют установленными службы Services for Unix. Но с нашей точки и посмотрим, что тут можно сделать...
Mono на SourceForge. зрения важно то, что Linux, FreeBSD, OpenBSD и Syllable практически,
а AIX, HP-UX, Minix, OS X и Solaris – полностью поддерживают Posix. Базируемся на Stdlib
Короче, использование функциональности Posix может заставить вас Имеется три компонента для поддержки Unix в Mono: Mono.Posix,
рвать на себе волосы, но, по крайней мере, вы в хорошей компании! Mono.Unix и Mono.Unix.Native. Два последних отличаются лишь тем,
что Mono.Unix – это небольшая обертка для Mono.Unix.Native, но вы
Posix и вы можете использовать ту, где вам комфортнее.
Имеется два типа людей, в основном использующих Posix: конечные Начнем с простого: создадим новое решение под названием Monix,
пользователи и разработчики. Значит, практически все! Рассмотрим затем изменим его код Main.cs так:
каждый тип отдельно, начав с пользователя. Да, я помню свои слова, using Mono.Posix;
что конечный пользователь игнорирует Posix, но это не совсем верно – using Mono.Unix;
фактически, вы используете преимущества инструментов и интерфей- using Mono.Unix.Native;
сов Posix при каждом обращении к командной строке. Видите ли, Posix using System;
заправляет едва ли не всем, что даруют Unix-подобные операционные using System.Text;
системы – как работает ваша командная строка, есть ли инструменты namespace monix {
типа awk и компиляторов, как происходит взаимодействие программ class Monix {
через каналы. Пусть даже конечные пользователи ничего не знают и public static void Main(string[] args) {
Stdlib.system(“ls”); Скорая
} помощь
}
} Не пытайтесь
Этот простой код – основа для всех дальнейших: будем изме- проигнорировать
нять только строку Stdlib.system() да добавлять кое-какие кусочки. сигнал SIGKILL – все
Проверьте наличие Mono.Posix и добавьте ссылку на него в проект. В равно не удастся:
в противном
нашем первом методе мы воспользуемся классом Stdlib для вызова случае некоторые
system(). Класс Stdlib содержит, в основном, статические методы, то программы никогда
есть вам не нужно создавать объект Stdlib для вызова этих методов. не завершались бы!
Метод system() (следите за регистром s – он нижний: сейчас мы в
стране С!) исполняет любую команду на локальной машине, словно
он был введен в командной строке. Для нашего примера это означает
запуск ls, поэтому программа выведет список каталогов, как если бы
Ввод функции с последующей ( или ввод имени переменной
вы сами запустили «ls».
с последующей . приводит к выводу информации автозавершения:
После ввода Stdlib.system(, MonoDevelop должна вывести инфор- это ваш лучший друг при работе с функциями Unix.
мацию о параметрах метода system(), и вы увидите, что он принимает
строки C#. В этом месте разработчики Mono адаптировали библиотеку ставляя вам такие методы, как CanAccess(), но, что более важно, поз-
вызовов C для лучшей совместимости с программированием .NET – воляет создавать символьные ссылки на файл путем вызова функции
обычно, в терминах С, system() получает const char*, так что использо- CreateSymbolicLink(), примерно так:
вание строк более изящно! UnixFileInfo file = new UnixFileInfo(“file.txt”);
Этот переход существует лишь в некоторых методах. Например, file.CreateSymbolicLink(“filesym.txt”
printf() также дружественен к .NET, поэтому вы можете писать код создаст ссылку filesym.txt на file.txt, как если бы вы выполнили ln -s file.
вроде этого: txt filesym.txt в командной строке.
Stdlib.printf(“Hello, %s!\n”, “world”);
Stdlib.printf(string.Format(“Hello, {0}!\n”, “world”)); Звенит сигнал тревоги
С другой стороны, методы fopen(), fwrite() и fclose() для работы с Последний метод, который я хочу показать – signal(), он просто пока-
файлами требуют указателей. В C# указатели известны как IntPtr, пото- зывает, насколько хорошо интегрированы Mono и библиотека C: вы
му что это представление указателя в целочисленном типе данных. Эти можете попросить Linux вызвать метод C# при поступлении любого
IntPtr’ы могут восприниматься как данные с неизвестной структурой: сигнала. «Сигнал» в стране C – это то, что происходит, когда ОС пыта-
их нельзя прочесть без использования специфичных для этих данных ется по каким-то причинам прервать программу. Например, нажатие
методов. Например, файлы открываются так: Ctrl+C посылает программе SIGINT, что обычно приводит к выходу. А
IntPtr foo = Stdlib.fopen(“file.txt”, “w”); если вы не хотите, чтобы программа завершалась? Что ж, тогда пот-
Но вы не можете читать или записывать с этого файлового рудитесь сообщить C#, как поступать при получении SIGINT, и это Скорая
дескриптора без других методов Stdlib. foo IntPtr – всего лишь дескрип- делается при помощи метода signal(). Он принимает два параметра: помощь
тор данных, и сам по себе бесполезен. На самом деле, это даже небе- сигнал, который вы хотите перехватить, и имя функции, вызываемой
зопасно: любая память, присвоенная указателю, недоступна сборщику при получении сигнала. Используя system()
мусора Mono, и необходимо освобождать ее вручную, не то образуется Говоря о SIGINT – вот код, который необходимо ввести в программе, и аргументы,
утечка [memory leak]. Вы можете выполнить запись в этот файл, затем чтобы она не отвечала на Ctrl+C: переданные вашей
закрыть его так: Stdlib.signal(Mono.Unix.Native.Signum.SIGINT, HandleSigInt); функции, вы
можете за минуты
Stdlib.fwrite(Encoding.ASCII.GetBytes(“Hello, world!”), foo); HandleSigInt – новый метод, который необходимо создать за преде-
сколотить быструю
Stdlib.fclose(foo); лами Main(). Вот пример: оболочку. Начните
public static void HandleSigInt(int sig) { с пересылки всего
Развернем обертки Console.WriteLine(“А я против!\n”); переданного
в system() и
Как указывалось ранее, Mono предоставляет набор упрощенных обер- }
продвигайтесь
ток для базовых структур данных и системных вызовов Unix. Например, Теперь при нажатии Ctrl+C пользователь получит сообщение-отказ; далее, обрабатывая
любую информацию о пользователе можно прочесть, создав объект но это не остановит сигнал SIGKILL (посылаемый, когда кто-то выпол- аргументы и по
UnixUserInfo таким образом: няет kill -9 <ваш pid>). желанию добавляя
UnixUserInfo user = new UnixUserInfo(“paul”); Конечно, вы не сможете протестировать обработку вашей програм- собственную
функциональность.
Console.WriteLine(user.HomeDirectory); мой сигналов прерывания, пока не заставите ее работать бесконечно:
Класс UnixUserInfo читает информацию из /etc/passwd, и вы може- System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
те увидеть имя пользователя, информацию о группах, их командных На этом наш блиц-тур по интеграции Mono и Unix закончен.
оболочках и так далее. Подобные структуры существуют и для фай- Пожалуйста, не забывайте о потенциальных проблемах: утечки памя-
ловых систем – следующая строка кода выудит информацию о вашем ти – особенно в длительно работающих программах – могут вызвать
корневом каталоге: серьезные осложнения, а привычка работы с Mono способствует
UnixDriveInfo drive = new UnixDriveInfo(“/”); небрежному обращению с памятью. Применение родных функций Unix
Затем вы можете узнать объем свободного пространства на дис- делает миграцию с C на C# быстрой и простой, но в долгосрочной пер-
ке, прочитав drive.AvailableFreeSpace. Это число возвращается в бай- спективе лучше начать вытеснять функции C-эквивалентами, родными
тах, поэтому вы можете пожелать удобства ради преобразовать его в для .NET... LXF
гигабайты:
Console.WriteLine(drive.AvailableFreeSpace / 1024 / 1024 / 1024.0);
Последнее 1024 записано как 1024.0, потому что это заставит Mono
преобразовать конечный результат в число с плавающей точкой, а не в
целое – в противном случае результат не будет точным!
Иногда эти обертки имеют собственные методы, как в случае с
UnixFileInfo – она читает информацию о конкретных файлах, предо-
KDE: Галерея на
Маэстро Дэвид Фили покажет, как легко превратить ваш рабочий стол в картинную
галерею с помощью DCOP, Perl и шаманства с командной строкой.
$ mkdir ~/BackgroundArt
и скопируем туда какие-нибудь картинки (какие попались под руку).
Выберите из них пригодные для обоев рабочего стола. Это будет наш
запасник. Построив основную инфраструктуру, вы сможете более при-
дирчиво отобрать экспозицию вашей галереи.
В KDE можно воспользоваться вызовами DCOP для извлечения
текущего фонового изображения (см. учебник в LXF79 для введения
в DCOP). Но сперва определим, на каком рабочем столе мы находимся.
Вот вызов DCOP для этого:
$ dcop kwin KWinInterface currentDesktop
2
Вывод гласит, что в данный момент я на Рабочем столе 2. Вот и
чудненько: наличие нескольких рабочих столов прибавит нам разнооб-
разия в отображении обоев! Давайте теперь узнаем, какие обои уста-
новлены на активном рабочем столе:
$ dcop kdesktop KBackgroundIface currentWallpaper 2
/home/dave/BackgroundArt/Caravaggio-Emmaus.jpg
Имеем путь и имя файла фонового изображения. Если мы хотим
двигаться взад-вперед по списку изображений, надо где-то хранить
этот список, чтобы мы могли:
а) выяснить, где именно мы сейчас находимся в этом списке, и
б) перейти к следующему или предыдущему изображению, когда
захочется пользователю.
Создадим список изображений:
О
дно из величайших достижений Linux – даруемая им свобода: $ ls ~/BackgroundArt/* > ~/BackgroundArt/.index.txt
в частности, это свобода что-то переопределить, подправить Текстовому файлу дано имя, начинающееся с точки, чтобы он не
и настроить «как хочется», а не довольствоваться тем, «что отображал сам себя в выводе команды ls в процессе обновления при
дают». К примеру, я сейчас интересуюсь искусством, и хотел бы помес- добавке новых изображений. Для примера, вот мой собственный спи-
тить коллекцию картин старых мастеров на обои моего рабочего стола. сок:
Беда в том, что мне все быстро надоедает, поэтому нужен также прос- $ more ~/BackgroundArt/.index.txt
Наш той способ чередовать эти изображения; да и память у меня пресквер- /home/dave/BackgroundArt/Botticelli-Venus.jpg
эксперт ная, а надо как-то отличать моего Караваджо от моего Констебля. /home/dave/BackgroundArt/Caravaggio-David_goliath.jpg
Дэвид Фили Желаю иметь возможность вводить и просматривать примечания /home/dave/BackgroundArt/Caravaggio-Decapitation_of_john_the_
пользователь Linux ко всем картинам, чтобы над ними всплывали сообщения с подсказка- baptist.jpg
с 1998 года. Аудитор
по образованию, ми про имя художника, год написания и музей, где она находится, и, /home/dave/BackgroundArt/Caravaggio-Emmaus.jpg
в настоящее время он может быть, парой кратких заметок, благодаря которым я смогу при- /home/dave/BackgroundArt/Caravaggio-Judith_Beheading_Holofernes.
работает технологом
твориться, будто знаю, на что это я тут глазею, если меня вдруг станут jpg
в банковской отрасли.
Женат, живет расспрашивать. /home/dave/BackgroundArt/caravaggio-st_thomas.jpg
в Лондоне. В Linux и KDE такое вполне достижимо, если связать вместе раз- /home/dave/BackgroundArt/Tizian-Urbino_Venus.jpg
личные инструменты командной строки и скрипты: классическая кон- Чтобы выяснить позицию текущего файла в этом списке, можно
цепция Unix/Linux по объединению нескольких инструментов общего использовать команду grep. Применение флажка -n добавит номер
назначения в полезное приложение. Целью данной статьи является строки в вывод, показывающий позицию текущего изображения в
подготовка скрипта, управляющего нашей псевдоКартинной Галереей файле.
на фоне рабочего стола. Определим также несколько горячих клавиш, grep -n /home/dave/BackgroundArt/Caravaggio-Emmaus.jpg ~/
нажатия на которые обеспечат следующие действия: BackgroundArt/.index.txt
1 Смену обоев, перемещением вперед/назад по списку изображе- 4:/home/dave/BackgroundArt/Caravaggio-Emmaus.jpg
ний. Стало быть, текущее изображение находится в четвертой строке
2 Вывод всплывающей информации по конкретной картинке. нашего индексного файла. Давайте направим вывод в команду cut,
3 Добавление / редактирование / сохранение этой информации. чтобы возвращать только номер строки: остальное нам неинтерес-
4 Переключение между категориями изображений. но. Символ перенаправления – |, обычно он находится в верхнем
В большинстве случаев мы постараемся делать это прямо из регистре (т.е. получается при нажатом Shift) над клавишей Enter:
командной строки, а в завершение сведем все вместе в один скрипт. $ grep -n /home/dave/BackgroundArt/Caravaggio-Emmaus.jpg ~/
Итак, откройте командную строку терминала, и вперед, к созданию BackgroundArt/.index.txt | cut -d’:’ -f1
шедевра! Сперва создадим каталог для хранения изображений: 4
Теперь надо найти следующее (или предыдущее) изображение в изображения при выводе на экран получаются максимально возмож-
списке. Что ж, в зависимости от того, куда собираемся двигаться, впе- ными с сохранением исходных пропорций. Ваши требования могут
ред или назад, мы можем просто увеличить или уменьшить текущий быть иными, так что экспериментируйте с этими вариантами, чтобы
номер, а затем вытащить требуемую строку из файла с помощью хит- получить результат, оптимальный для ваших изображений.
роумной комбинации команд head и tail:
$ head -5 ~/BackgroundArt/.index.txt | tail -1 Вспомнить то время...
/home/dave/BackgroundArt/Caravaggio-Judith_Beheading_Holofernes.jpg Итак, мы обзавелись механизмом, позволяющим перемещаться
Когда мы примемся за скрипт, вы заметите, что не мешает предот- по списку изображений; но не забывайте, что нужен еще способ
вратить чрезмерное продвижение вперед или назад, чтобы не заско- вспомнить что-то, связанное с каждой картиной, которую мы видим.
чить за конец или до начала файла. В подобных случаях следует пере- Давайте добавим эту функцию. Во-первых, потребуется подката-
ходить на начало или конец файла – тогда нам нужно знать, сколько лог для хранения заметок к каждому изображению. Допустим, у
изображений в списке. Мы можем получить это число при помощи нас есть файл MonaLisa.jpg; давайте хранить заметки по его пово-
команды wc; перенаправив ее в cut, выделим необходимую информа- ду в файле MonaLisa.jpg.txt, и держать все файлы в одном месте,
цию (число строк). разместив их в подкаталоге info каталога BackgroundArt. Префикс
$ wc -l ~/BackgroundArt/.index.txt | cut -d ’ ‘ -f 1 «точка» опять-таки позволит .info не попадать в список изображе-
9 ний по команде ls.
Определив, какое изображение показывать следующим, установим $ mkdir ~/BackgroundArt/.info
его в качестве новых обоев с помощью вызова dcop: $ echo “Artist: Caravaggio, blah blah” > /home/dave/BackgroundArt/.info/
$ dcop kdesktop KBackgroundIface setWallpaper 2 /home/dave/ Caravaggio-Emmaus.jpg.txt
BackgroundArt/Caravaggio-Judith_Beheading_Holofernes.jpg 4 Для показа всплывающих сообщений над фоновыми картинками
Последний параметр – номер режима, описывающего, как посту- используем утилиту kdialog, имеющую пару приятных и полезных воз-
пить с изображением: уложить черепицей, растянуть и т.д. Здесь есть можностей – в частности, всплывающий «пузырь», который можно
насколько вариантов. По-моему, четвертый – поместить по центру с употребить для показа нашей заметки.
масштабированием – больше всего подходит для картин: размеры $ kdialog --passivepopup “Немного интересной информации” 60
Вы задаете параметры отображаемого текста, а также продол- ственно к выполнению действий, в зависимости от установленного
жительность его показа в секундах. Всплывающее сообщение будет флажка. Действия Info() и Edit() аналогичны – в обоих случаях скрипт
исчезать само, когда истечет время показа или когда пользователь получает имя файла, содержащего информацию о текущем изобра-
нажмет на него, поэтому задайте побольше времени, чтобы успеть его жении:
прочитать, скажем, секунд 60. Информацию в info-файлах, которую мы my $infofile = getInfoFile($currentImage);
хотим отобразить, раздобудет наш скрипт. Экранный снимок на преды- Подпрограмма getInfoFile использует регулярное выражение для
дущей странице показывает всплывающее окно в действии. манипулирования именем/расположением файла, чтобы найти место-
Но позвольте, откуда возьмутся заметки для всех наших картин – положение для соответствующего файла с информацией. Например,
ведь придется создавать множество текстовых файлов, сохранять их для файла изображения
в требуемом месте, да еще бдительно следить, чтобы не перепутать /home/dave/BackgroundArt/Caravaggio-Emmaus.jpg
их имена? Вовсе нет – еще немного скриптинга, и мы сможем ввести процедура вернет следующий путь к ассоциированному информаци-
примечания к картине через другое всплывающее окно, снова призвав онному файлу:
на помощь kdialog: /home/dave/BackgroundArt/.info/Caravaggio-Emmaus.jpg.txt
$ kdialog --textinputbox “Это заголовок” “Немного интересных фактов Процедура getInfoFile делает это с помощью регулярного выраже-
для ввода” ния
Мы можем отобразить диалоговое окно ввода. Если для данного $infofile =~ s#^(.*)/(.*)#$1/.info/$2.txt#;
изображения уже существуют какие-нибудь записи, их-то мы и пока- Определив имя infofile, процедуры readFile и writeFile позаботятся о
жем в окне, а скрипт позаботится о поиске этих записей и передаче чтении/записи содержимого по мере надобности. Регулярные выраже-
их в kdialog. ния являются мощными инструментами для выполнения поиска вхож-
Возвращаемое kdialog значение будет содержать (свежеотредак- дений строк в тексте и их замены. (Не берите в голову заботу о доско-
тированный) текст. Если не было изменений в поле редактирования, нальном понимании синтаксиса, если это для вас в новинку – введение
значит, возвращаемые данные будут те же, что и исходный текст. Наш в регулярные выражения требует отдельной статьи! Если у вас есть
скрипт следит за записью этих данных обратно в файл примечаний журнал LXF70, то там такая статья опубликована).
к изображению.
Горячие клавиши
А теперь все вместе Теперь скрипт у нас есть, но он не совсем удобен: приходится вводить
Мы вчерне описали работу отдельных команд. Давайте сведем коман- команду (с параметрами) для каждого изменения обоев или просмотра
ды в скрипт wallpaper. Все выполняемые действия мы будем делать с всплывающих сообщений. Лучше вместо этого использовать возмож-
помощью одного скрипта, передавая в него флажки, контролирующие ности KDE по привязке действий по вводу к горячим клавишам. Лично
выбор действия. Мне кажется уместным сперва определить перечень мне нравится использовать многоклавишные комбинации, чтобы груп-
этих действий и соответствующих флажков. пировать похожие действия. Поэтому Alt+B для меня будет означать
Скрипт будет вызываться следующим образом: группу операций над обоями, а Alt+B в сочетании с еще одной клави-
wallpaper < флажки опций > шей уже выполнят конкретное действие: например, Alt+B,N выведет
Вызов его без параметров по умолчанию обеспечивает переход следующее изображение, а Alt+B,P вернет нас к предыдущему.
на следующее изображение в галерее. <флажок опции> может быть В порядке иллюстрации создадим одну такую комбинацию. В
таким: Input Actions [Ввод] KDE (обычно расположенном в меню Regional
1 -p перейти к предыдущему изображению. and Accessibilty [Региональные настройки и специальные возмож-
2 -i показать всплывающее окно с информацией о текущем изоб- ности] в KDE Control Center [Центр управления KDE]), создайте новую
ражении. группу ‘Wallpaper Actions’. Нажмите на группу и создайте новое дей-
3 -e отобразить окно Редактировать для текущего изображения. ствие. Назовите его WallpaperNext, установите тип действия Action >
4 -h показать справку. Command(url) [Комбинация клавиш -> команда/URL]. Установите ком-
Скрипт целиком можно взять на DVD. Большая его часть соот- бинацию клавиш (многоклавишный режим) Alt+B,N, и параметры
ветствует нашему описанию. В основном мы использовали вызовы команды /home/dave/bin/wallpaper (или путь, где вы сохранили свой
внешних программ, захват вывода и стыковку частей, с небольши- скрипт). Нажмите ОК, и пробуйте. Нажатие Alt+B,N должно привести
ми вкраплениями логики там и сям. Чтобы избежать дублирования к замене текущих обоев следующим изображением вашей галереи.
отдельных кусков кода и придать скрипту подобие структуры, исполь- Если это действие работает нормально, двигаемся дальше и добавляем
зуются подпрограммы. остальные комбинации клавиш.
Применим полезный модуль Perl Getopt::Std для обработки пара-
метров, передаваемых в скрипт. В строке Примочки
getopts(‘pieh’, \my %opts); Итак, основная часть готова. Как еще улучшить наш скрипт? Ну, можно
мы перечисляем разрешенные флажки и сохраняем их значения в автоматизировать создание индексного файла, чтобы добавлять/уда-
переменной %opts для дальнейшего использования. лять изображения в каталоге и не думать о его ручном обновлении.
Установив некоторые первоначальные значения для текущего рабо- Добавим задание cron, чтобы это происходило раз в день:
чего стола, текущую фоновую картину и т.д., приступим к непосред- crontab -e
Это диалог
05 12 * * * ls /home/dave/BackgroundArt/* > /home/dave/ Другим дополнением может быть предложение пользовате- редактирования;
BackgroundArt/.index.txt лю диалога, в котором он мог бы выбрать изображение из спис- для изменения вида
Что еще? Мне нравится идея использования в качестве обоев праз- ка. Иначе в большой галерее надо будет много раз прокручивать вашего рабочего
дничных фотографий. Или плакатов фильмов, или снимков с телеско- изображения назад и вперед в поисках того или иного образа. стола можно
па Хаббла. Но надо ли все это помещать в единый список? Наоборот, (Подсказка: посмотрите опцию –combobox утилиты kdialog). Также использовать
лучше создать отдельные категории и переключаться между ними. можно случайным образом выбирать картину из галереи. Это мож- горячие клавиши
Этого можно добиться, приложив еще немного труда. Мы создадим но автоматизировать через cron и изменять фон ежедневно. LXF либо командную
строку.
отдельный каталог для каждой категории изображения. Сложность
только в определении, к какой категории принадлежит текущее изоб-
ражение. Для простоты, будем тупо просматривать наш индексный
файл, и если соответствия не найдется, то разместим изображение в
категории по умолчанию, допустим, Art. На DVD вы найдете расширен-
ную версию скрипта, с поддержкой категорий. Я добавил еще горячих
клавиш для переключения между категориями.
Диагностика:
Если сеть у вас захворала, зовите Доктора! Правда, домашних визитов к читателям
д-р Крис Браун не делает, но готов поделиться диагнозом…
Рис. 1. Обзор
последовательности
6. Прозванивается ли
7. Можете ли вы найти
1 Находит ли Linux сетевую карту?
удаленный сервер? Первый вопрос на этом этапе – видит ли Linux сетевые интерфейсы?
тестов. свой DNS-сервер?
Вы сможете ответить на него, просмотрев системные сообщения ядра,
которые выдавались во время загрузки. Для этого используется коман-
да dmesg:
2. Задан ли IP-адрес? # dmesg | grep eth
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
1. Находит ли Linux 4. Не блокирован ли e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection
сетевую карту? трафик брандмауэром?
e1000: eth0: e1000_watchdog: NIC Link is Up 10 Mbps Half Duplex
В качестве альтернативы попробуйте вывести список устройств на
шине с помощью команды lspci:
# lspci | grep Ethernet
01:01.0 Ethernet controller: Intel Corporation 82547EI
02:01.0 Ethernet controller: Intel Corporation 82540EM
Сообщения об ошибках на этой стадии говорят о неисправном или
несовместимом оборудовании.
5. Установлено ли ADSL-
2 Задан ли IP-адрес?
соединение? Если сетевая карта на месте, то следующий вопрос – задан ли IP-
3. Можете ли вы адрес? Простейшая команда для этого случая – ifconfig:
пропинговать свой # ifconfig eth0
маршрутизатор? eth0 Link encap:Ethernet HWaddr 00:0C:F1:96:A3:F7
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
З
а годы жизни я помог многим друзьям и знакомым освоиться inet6 addr: fe80::20c:f1ff:fe96:a3f7/64 Scope:Link
с компьютером, и в подходящих случаях обучал их Linux. При UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
этом, естественно, возникает нечто вроде родительской ответ- RX packets:306 errors:0 dropped:0 overruns:0 frame:0
ственности за развитие и взросление своих питомцев. Последний слу- TX packets:261 errors:0 dropped:0 overruns:0 carrier:0
чай был типичным. Друг позвонил мне со словами: «У меня не работает collisions:8 txqueuelen:10
сеть». Такое сообщение об ошибке не уступает классической фразе с RX bytes:43074 (42.0 KiB) TX bytes:34480 (33.6 KiB)
Наш борта Аполлона-13 «Хьюстон, у нас проблема», хотя и менее опасно Base address:0xac00 Memory:ff7e0000-ff800000
эксперт для жизни. К счастью, в Linux много сетевых утилит, которые помога- Здесь важна вторая строка, в которой можно увидеть IP-адрес:
ют выяснить, что именно не работает. (Чтобы не томить вас ожидани- 192.168.0.3. Если такой строки нет, то IP-адрес не задан. А если все же
Д-р Крис Браун
внештатный ем развязки, сразу скажу, что моего друга просто отключил провайдер, задан, подумайте, действителен ли он в вашей сети.
консультант по Linux потому что он забыл продлить контракт.) На практике я несколько раз сталкивался с ситуацией, когда сеть
со степенью доктора
наук по физике Итак, следуйте за мной: рассмотрим некоторые средства диагнос- переставала работать после того, как в нее ввели компьютер, случайно
элементарных частиц тики сетевых неисправностей в Linux и посмотрим, как с их помощью оказавшийся DHCP-сервером, настроенным на диапазон адресов, не
и обладатель получить ответ на вопрос «Что не так в моей сети?» соответствующих этой сети. При перезагрузке компьютер с шансами
сертификатов Novell
CLP и Red Hat RHCE. При любом поиске неисправностей прежде всего нужно понять и 50/50 получал или действительный IP-адрес от «настоящего» DHCP-
Он только что представить, в чем выражается правильная работа. Есть ли у компью- сервера, или ложный адрес от самозванца.
написал книгу по
тера статический IP-адрес, и если да, то какой? Пользуетесь ли вы Если в сетевом интерфейсе не задан IP-адрес, то проверьте, настро-
SUSE Linux для
O’Reilly. DHCP, и если да, то каков адрес DHCP-сервера и выделяемый диапазон ен ли автоматический запуск этого интерфейса при загрузке систе-
IP-адресов? Подключен ли широкополосный модем непосредственно к мы. Если да, то использует ли он DHCP или статический IP-адрес?
вашему компьютеру или у вас широкополосный маршрутизатор через Конкретные имена файлов, которые нужно просмотреть, зависят от
Ethernet или беспроводную сеть? дистрибутива. В Fedora и Red Hat это /etc/sysconfig/network-scripts/
На данном уроке мы будем использовать методику «снизу вверх»: ifcfg-eth*, в SUSE –/etc/sysconfig/network/ifcfg-eth*, а в Ubuntu – /etc/
начнем с самых низких уровней и постепенно переедем на более высо- network/interfaces. (Стандарты – отличная штука: ну не прелестны ли
кие. Примерная последовательность тестов, которые мы выполним, эти ничем не объяснимые расхождения?) Конечно, в каждом из дис-
показана на рис. 1 в начале этой статьи слева. Это хороший система- трибутивов есть графические утилиты, с помощью которых можно
тический подход для случая, если сеть не работала никогда. С другой посмотреть и отредактировать настройки, например, на рис. 2 показано
стороны, если вчера сеть работала отлично, чаще будет быстрее начать средство настройки сети в Fedora system-config-network.
сверху и двигаться вниз.
проблемы с сетью
Обычно инициализация интерфейса упрятана глубоко в загрузочные а неудачи – таким:
Скорая
скрипты, и взаимодействие с сервером DHCP разглядеть трудно; но его # ping -c 1 192.168.0.2 помощь
можно увидеть, непосредственно запустив скрипт ifup или dhclient. Эта PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
программа поддерживает диалог с DHCP-сервером и позволяет задать From 192.168.0.3 icmp_seq=1 Destination Host Unreachable
Изменили ли вы
параметры сети:
имя пользователя и
# dhclient --- 192.168.0.2 ping statistics --- пароль для доступа
Internet Systems Consortium DHCP Client V3.0.5-RedHatо 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms к настройкам
Copyright 2004-2006 Internet Systems Consortium. Сообщение «Узел недоступен» (Destination Host Unreachable) обыч- своего
широкополосного
All rights reserved. но значит, что целевой компьютер (здесь – 192.168.0.2) не подключен к
маршрутизатора,
For info, please visit http://www.isc.org/sw/dhcp/ сети или не работает и поэтому не может ответить на ARP-запрос MAC- когда настраивали
адреса с моего компьютера. Это также может означать, что ваш ком- его? Или они до
Listening on LPF/eth1/00:0e:0c:01:d3:a0 пьютер не находит маршрут доступа к локальной сети; чаще всего это сих пор “admin” и
Sending on LPF/eth1/00:0e:0c:01:d3:a0 бывает, когда ваш IP-адрес не входит в данную сеть. Возможны и более “admin”? Если так,
то знайте, что
Listening on LPF/eth0/00:0c:f1:96:a3:f7 сложные проблемы с маршрутизацией – впрочем, в домашней сети, где
многие атаки
Sending on LPF/eth0/00:0c:f1:96:a3:f7 маршрут (по умолчанию) только один, это маловероятно. Если в вашей основаны на знании
Sending on Socket/fallback сети нет других компьютеров, можно попробовать пропинговать марш- реквизитов,
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 7 рутизатор (Вы ведь знаете адрес своего маршрутизатора?). используемых по
умолчанию. Не
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 Если не получилось, то проблема носит местный характер. Если
пожалейте пары
DHCPOFFER from 192.168.0.1 сеть проводная, проверьте кабели. Зеленые светодиоды на сетевых минут и задайте
DHCPREQUEST on eth0 to 255.255.255.255 port 67 карточках должны гореть [некоторые сетевые карты имеют другой спо- более сильный
DHCPACK from 192.168.0.1 соб индикации подключения. В случае необходимости изучите инструк- пароль…
bound to 192.168.0.3 -- renewal in 125868 seconds. цию, – прим.ред.]. ПРЯМО СЕЙЧАС!
В данной системе два интерфейса, eth0 и eth1. Мы видим, что
IP-адрес интерфейса eth0 получен от DHCP-сервера 192.168.0.1. 4 Не блокирован ли трафик
Интерфейс eth1 пытался сделать то же самое (он передал команду брандмауэром?
DHCPDISCOVER), но не получил ответа. И неудивительно: этот интер- На некотором этапе нашего диагностирования полезно проверить, не
фейс не был ни к чему подключен. чересчур ли «закручивает гайки» ваш брандмауэр. Самый быстрый
и грубый способ это узнать – и его предпочитают многие системные
3 Пингуется ли маршрутизатор? администраторы, если надо торопиться – удалить все правила бранд-
Если IP-адрес задан корректно, пропингуйте (ping) другой компьютер в мауэра командой
сети. В случае удачи результат будет примерно таким: # iptables -F
# ping -c1 192.168.0.6 и посмотреть, изменится ли что-нибудь к лучшему. Если проблема
PING 192.168.0.6 (192.168.0.6) 56(84) bytes of data. исчезнет, то по крайней мере ясно, что ее причиной был брандмауэр.
64 bytes from 192.168.0.6: icmp_seq=1 ttl=64 time=0.468 ms Далее вам нужно перезагрузить компьютер (чтобы брандмауэр вновь
заработал) и думать дальше. Не соблазняйтесь идеей оставить бранд-
--- 192.168.0.6 ping statistics --- мауэр в отключке: это Плохая Идея!
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.468/0.468/0.468/0.000 ms 5 Установлено ли ADSL-соединение ?
Если с самим маршрутизатором все в порядке, пора расширить охват.
На маршрутизаторе должно быть еще несколько зеленых светодио-
дов (а если найти инструкцию к нему, то можно даже понять, что они
означают), и по ним можно определить, подключен ли ADSL-модем
маршрутизатора к провайдеру. У некоторых маршрутизаторов также
есть возможность задать настройки и определить статус соединения с
помощью web-приложения. На рис. 3 показан пример такого приложе-
ния. Нас интересуют статус соединения (Connection Status) и IP-адрес,
который провайдер назначил внешнему соединению. (Что это за адрес,
не столь важно; главное, чтоб он был!) Разорвите соединение и заново
установите его вручную, и попробуйте понять, на каком этапе возни-
кает ошибка. Если соединения не добиться, нужно проверить провод,
соединяющий маршрутизатор с телефонной линией (полезно подклю-
чить телефонную трубку, чтобы убедиться в наличии зуммера). Если
провод в порядке, остается позвонить в службу поддержки провайде-
ра. Приготовьте себе чашку кофе и вооружитесь интересной книжкой –
ждать своей очереди на линии можно очень долго!
Рис. 2. Средство настройки сети Fedora system-config-network.
Смотрим дальше
Вот другой пример. На клиентском компьютере установлен SUSE Linux
10.1. Проблема была в том, что каждый раз, когда браузер Konqueror
пытался соединиться с внешним сайтом (т.е. производил поиск
DNS-сервера), перед установкой соединения возникала 15-секундная
задержка. На рис. 5 в нижней части этой колонки показан результат
перехвата пакетов трафика Konqueror. Пакет 1 реализует стандартный
запрос DNS для адреса www.linuxformat.co.uk, а пакет 3 – ответ на этот
запрос, который приходит через 0.04 с от сервера DNS, встроенного в
мой маршрутизатор (192.168.0.1) с требуемым IP-адресом. Чудесно.
Проблема в том, что Konqueror также решил запросить IPv6-адрес для
этого сайта (запрос записи AAAA в пакете 2). Слава богу, маршрутиза- Рис. 5. Пример перехваченных пакетов для Konqueror.
тор игнорирует этот запрос, и через пять секунд Konqueror перенаправ-
ляет этот запрос к маршрутизатору (пакет 7) и ко внешнему серверу
DNS (пакет 6). Маршрутизатор все еще не отвечает, зато отвечает вне-
шний DNS-сервер (пакет 8): сообщает, что не может найти записи AAAA
для сайта linux.format.co.uk. Ну, теперь помаленьку проясняется...
Linux Format 93
DNS-ресолвер приписывает доменное имя по умолчанию .example.
У вас проблемы с сетью, нужно
com к адресу, который он пытается преобразовать (в результате полу-
администрировать ее более эффективно
чаем бессмыслицу www.linuxformat.co.uk.example.com) и начинает поиск
или вы просто хотите настроить сеть в
записей AAAA для этого адреса. Он тратит еще пять секунд, надеясь
Linux?
получить ответ от маршрутизатора, после чего еще раз пытается обра-
титься к внешнему серверу DNS (пакет 10). В конце концов занавес над Похоже, вам нужна помощь! К счастью, все
этой печальной историей опускается, и через пятнадцать секунд после это, и даже более того, освещено в
начала Konqueror создает соединение TCP/IP (пакеты с 17-го и далее), июньском номере, где также есть отличный
используя старый добрый адрес IPv4, с которого и начал. набор утилит администратора, которые
Оказалось, что это известная проблема, как свидетельствуют и резуль- помогут вам начать. Скорее заказывайте
таты поиска Google по фразе “Konqueror IPv6”. Решение простое: себе экземпляр – пока они не кончились!
отключите стек протоколов IPv6 в ядре, отредактировав файл /etc/
modprobe.conf, и перезагрузите систему. Это хороший пример исполь-
зования отслеживания пакетов для отладки, потому что другим спосо-
бом решить эту проблему трудно. Не нужно проводить детальный ана-
VirtualBox:
Запускайте приложения Microsoft под Linux в Ubuntu Feisty при помощи VirtualBox
от Innotek и Windows XP – Джек Найт здесь на коне…
Т
ребовалось ли вам когда-нибудь на вашей машине одно или описание найти легко. Зато приведу простой метод установки самого
несколько Windows-приложений для решения некоторой зада- VirtualBox.
чи? А может, у вас есть клиент, использующий Windows, и Лично я использую на этом уроке Ubuntu 7.04 (Feisty), но эти
вам надо работать с документами MS Project или запускать непо- инструкции должны отлично работать для dapper или edgy, при мел-
средственно Outlook для совместного использования их календарей ких изменениях (например, замене всех вхождений слова «feisty» по
MS Exchange? Один из выходов – двойная загрузка, другой – запуск смыслу). Они должны работать и в Kubuntu; правда, я еще не проде-
Наш Windows XP в качестве гостевой ОС на виртуальной машине (ВМ); но лывал мои операции в KDE, чтобы разобраться с отличиями. Машину,
эксперт есть действительно классное решение – угадайте, какое? Бесплатное, где запущен VirtualBox, я буду называть HOST [хост], а запущенные в
по крайней мере для большинства из нас! VirtualBox от Innotek – уди- нем системы – GUEST [гость]. Предполагается, что вы можете запус-
Джек Найт
Новый автор журнала, вительный продукт, и хотя я на самом деле не проверял его произ- кать командную оболочку и использовать редактор для изменения
он же технический водительность, навскидку кажется, что он значительно превосходит текстовых файлов. Прежде чем продолжить, познакомьтесь со врезкой
директор Open Source
Migrations Ltd www. и VMWare Workstation, и Server. Он располагает набором приятных Избавляемся от неприятностей.
osml.co.uk функций и возможностью организовать сетевой мост через беспро-
водной адаптер ноутбука (нечто прежде немыслимое в VMWare) – чем Настраиваем TAP-устройство
не продукт-конфетка? Нам нужно установить пакеты, а именно User Mode Linux Utilities и
Innotek применяет дуальную схему лицензирования – существуют Proxy Arp Routing Daemon. Для начала убедитесь, что подключен
открытая и закрытая двоичная версии VirtualBox (последняя бесплатна репозиторий universe: в строке-меню Gnome выберите Система >
для ознакомления или персонального использования). Более того, у Администрирование > Источники приложений, затем установите галоч-
Innonek весьма разумная политика лицензирования для малого биз- ку Свободное ПО, поддерживаемое сообществом (universe). Теперь
неса – по запросу о покупке коммерческих лицензий на две машины откройте терминал и введите:
я был любезно извещен, что это относится к категории «бесплатно»! sudo apt-get install uml-utilities parprouted
Уже в восторге? Ну, это только начало – а вот и убойный довод: при sudo chgrp vboxusers /dev/net/tun
помощи этой штуки можно запускать отдельные приложения Windows Теперь надо встроить TAP в сетевой адаптер хост-системы. Это
на рабочем столе Linux, и они появятся как обычные окна Gnome, KDE особенно полезно для ноутбуков с беспроводными интерфейсами,
(или другие) на вашем X-столе. Прибавьте сюда Beryl/Compiz, и получи- поскольку WLAN-адаптер обычно получает IP-адрес через DHCP, но гос-
те весьма впечатляющий инструмент. Качайте с www.virtualbox.org. тевая машина не может делать этого – как правило, несколько IP-адре-
Но как заставить все это работать? Что ж, понадобится кое-какая сов нельзя получить для того, что в сущности является клонированным
подгонка и на стороне Linux, и на стороне Windows – но результат сто- интерфейсом. К тому же если беспроводной интерфейс использует
ящий, по крайней мере, по моему скромному мнению. В этой статье защиту WPA, то появление интерфейса-клона, вероятно, заставит WAP
я проведу вас через настройку моста через беспроводной адапетрна (Wireless Access Point – точка беспроводного доступа) заподозрить, что
ноутбуке, а продолжу настройкой двух типичных приложений, зави- компьютер под атакой. Итак, сделаем вот что: выявим неиспользован-
сящих от Windows – MS Project и Outlook, чтобы под Ubuntu Feisty они ные подсети, выберем пару уникальных IP-адресов и присвоим один
выглядели как родные. TAP-устройству, а другой гостевой машине. Неважно, что они фиксиро-
ваны: адрес хост-машины будет динамическим, и они будут проходить
План действий через маскардинг. В итоге гостевая машина будет «просто работать»,
Вот что мы проделаем на следующих страницах: где бы вы ни получили WLAN-соединение для хоста.
Кое-что подправим для устранения неприятностей с USB и DVD. Проще всего создать скрипт для инициализации TAP-устройства и
Окно Wordpad, Создадим TAP-устройство на сетевом интерфейсе базовой машины поддержки конфигурации сети. Вот мой вариант:
интегрированное
(идеально для WLAN-интерфейса ноутбука). #!/bin/bash
в Ubuntu Feisty.
Установим персональную/пробную версию VirtualBox от Innotek. # Имя: tapctrl
Создадим ВМ для Windows XP и настроим ее на использование сете- # Использование: tapctrl start|stop
вого TAP-устройства. # Обеспечивает: tap для virtualbox во внешней сети, включая
Установим Windows XP (самые общие беспроводные
моменты). # Аннотация:
Настроим Windows XP со всеми тонкостя- # устанавливает tap-устройство для совместного использования
ми, для безупречной работы. интерфейса wifi с vbox
Настроим VirtualBox на работу без ручного # Описание: создает виртуальный tap-интерфейс, присваивает IP-
вмешательства и автоматический старт. адрес, настраивает iptables
Введем пункты меню для наших приложе- # для маскарадинга через устройство по умолчанию
ний-примеров. # и настраивает прокси arp с демоном parprouted для корректной
В детали установки гостевой ОС я вдаваться маршрутизации
не буду: если кто не знает, как это сделать, # Автор: Jack Knight
Windows в Ubuntu
# - Open Source Migrations Ltd, UK (http://www.osml.co.uk)
# Настраиваем переменные здесь:
DESC=”Virtualbox IP tap”
Избавляемся от неприятностей
PATH=/sbin:/bin:/usr/sbin:/usr/bin
TUNDEVICE=tap1 # Произвольно, но должно соответствовать Вот пара советов, которые вам, вероятно, приго- рите Администрирование, Пользователи и группы
устройству, указанному в сетевых настройках VirtualBox. дятся для разрешения некоторых типичных про- и нажмите кнопку Управление группами. Просто
LANDEVICE=eth1 # Исправьте, чтобы соответствовало вашему блем VirtualBox: отметьте пользователей, которым вы разрешите
сетевому устройству – может быть eth0, eth1 ath0, wlan1 и т. д. использовать VirtualBox, и нажмите OK.
IPADDR=172.16.254.254 # Произвольно, но убедитесь, что вы взяли Сменные USB-устройства не доступны
нечто из неиспользуемой подсети По умолчанию, права подсистемы udev не разре- Невозможно прожечь DVD
case “$1” in start|restart|force-reload) шают вам использовать сменные носители вроде Достаточно установить параметр, разрешающий
echo -n “Starting $DESC: “ брелков и т.п. из VirtualBox. Чтобы исправить это, запись/транзитную передачу DVD:
tunctl -t $TUNDEVICE -u $USER нужно изменить настройки USB, сделав их доступ- VBoxManage modifyvm “Guest_name” -
ip link set $TUNDEVICE up ными в гостевой системе. dvdpassthrough on
ip addr add $IPADDR dev $TUNDEVICE Надо всего лишь слегка переделать права, запус-
arp -Ds $IPADDR $TUNDEVICE pub тив в терминале следующую команду:
iptables -t nat -A POSTROUTING -o $LANDEVICE -j gksudo gedit /etc/udev/rules.d/40-permissions.
MASQUERADE rules
iptables -t nat -P POSTROUTING ACCEPT # Разрешаем Поищите строку с usb_device и измените ее так:
работу других интерфейсов # Отредактировано для подключения USB
echo 1 > /proc/sys/net/ipv4/ip_forward устройств в VirtualBox
echo 1 > /proc/sys/net/ipv4/conf/$TUNDEVICE/proxy_ arp # Исходная строка закомментирована
# SUBSYSTEM==”usb_device”, MODE=”0664”
parprouted $LANDEVICE $TUNDEVICE
SUBSYSTEM==”usb_device”, GROUP=”vboxusers”,
stop)
MODE=”0664”
echo -n “Stopping $DESC: “
Теперь убедимся, что все пользователи VirtualBox
Администрирование членов группы.
iptables --table nat -F входят в группу vboxusers. В меню Система выбе-
killall parprouted
ip link set $TUNDEVICE down ;;
*) Настройка виртуальной машины
N=/etc/init.d/$NAME На хост-ситеме Ubuntu нам понадобится механизм совместного исполь-
echo “Usage: $N start|stop” >&2 зования файлов мирами Linux и Windows. К счастью, VirtualBox имеет
exit 1 для этого встроенный механизм , так что Samba на хост-машине или
;; NFS на обеих сторонах можно не устанавливать. Учтите: совместного
esac использования вашего жесткого диска НЕ получится, пока вы не уста-
exit 0 новите Vbox GuestAdditions в гостевой системе! При создании общих
Этот код есть на DVD; если кому-то нужно, у меня также есть более папок гостевая система должна быть выключена.
проработанный скрипт, работающий со многими пользователями, вир- Общие папки работают только в версии 1.3.8; в версию 1.4.0 вкра-
туальными машинами и устройствами и не опубликованный здесь ради лась ошибка! Если у вас та самая версия, и вы не хотите возиться с
простоты. Не стесняйтесь обращаться за ним ко мне по электронной Samba ради совместного доступа, скачайте iso с www.virtualbox.de/
почте через мой web-сайт. download/1.3.8/VBoxGuestAdditions_1.3.8.iso.
Выключите ВМ, смените виртуальный cdrom на этот iso и переза-
Установка VirtualBox пустите гостевую систему. Установите VirtualBoxGuest Additions, и все Общие папки: вы
видите их со стороны
К сожалению, поскольку на момент написания VirtualBox еще не попал должно заработать. Пока что я не слыхал о неприятностях, связанных
хост-машины.
в основные репозитории Ubuntu, перед установкой пакета придется с «не той» версией гостевых дополнений. Это
добавить новый сторонний репозиторий от VirtualBox: должно вас временно выручить, до следую-
sudo sh -c ‘echo “# VirtualBox репозиторий для Ubuntu Feisty Fawn щей версии, где Innotek, скорее всего, испра-
вит эту ошибку.
deb http://www.virtualbox.org/debian feisty non-free” \ Для настройки на стороне хоста, с вы-
> /etc/apt/sources.list.d/feisty-virtualbox.list’ ключенной гостевой ОС, просто выберите
вашу ВМ в окне VirtualBox Manager и нажми-
wget http://www.virtualbox.org/debian/innotek.asc -O- | sudo apt-key add те Свойства, а затем Общие папки у нижнего
- края, как показано на экранном снимке спра-
ва, заполните два поля подходящими значе-
sudo apt-get update ниями и нажмите OK. Теперь запустите госте-
sudo apt-get -y install virtualbox вую ОС и, открыв окно DOS, введите:
net use E: \\vboxsvr\Shared_Folder
Настройка Windows XP
Следующие настройки в принципе могут работать и для других версий
Windows, не XP, но я не берусь этого утверждать, поскольку не успел
протестировать. Нам нужны такие настройки, чтобы наша установлен-
ная Windows выводила на экран только панель задач, но не рабочий Подключение дисков – сделайте это как в Windows. Убедитесь, что
стол. Для этого поковыряемся в реестре; но учтите, что в Windows все значения соответствуют именно вашей системе.
XP SP2 доступ к рассматриваемым настройкам ограничен, и обычный Работа в Windows с правами администратора столь же небезопасна,
пользователь не вправе изменять эту часть – поэтому сперва мы вре- как работа в Linux или Unix от имени суперпользователя, и если у вас
менно присвоим права администратора пользователю, который будет нет для нее серьезных причин, выйдите из системы и войдите как
использовать сессию Windows. администратор, превратите пользователя в обычного, и тогда мы смо-
Войдите как «Администратор» (или любой другой пользователь с жем завершить наши другие задачи.
достаточными правами), затем перейдите в нужное место посредством
Пуск > Настройки > Панель управления > Пользователи и щелкните на Настройка Windows на автоматический вход.
записи, которую хотите использовать для запуска Windows-программ. Нажмите кнопку Пуск, выберите Выполнить, введите в окне
Щелкните на Изменить тип учетной записи и установите переключатель control userpasswords2
в Администратор компьютера, затем обратитесь к кнопке Изменить тип и нажмите OK.
учетной записи. Теперь выйдите из-под администратора и войдите как Снимите галочку около Требовать ввод имени и пароля пользовате-
ваш пользователь, запустите regedit32 и найдите следующий ключ: ля и нажмите Применить.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ Появится окно с запросом: под каким пользователем и паролем вы
Policies\Explorer хотите осуществить автоматический вход. Просто введите ранее опре-
Нам необходимо создать новое значение DWORD с именем деленные имя и пароль пользователя.
NoDesktop и присвоить ему значение 1, чтобы Windows отображала
только приложение, которое мы хотим запустить, а не весь рабочий Установка Гостевых Дополнений VirtualBox.
стол. Для этого выберите Правка в главном меню, далее Создать и Выберите в главном меню окна вашей ВМ пункт Devices [Устройства],
Параметр DWORD и введите имя NoDesktop, затем нажмите Enter. Ключ затем щелкните на Install Guest Additions.
теперь должен быть выделен, поэтому нажмите вновь Enter, чтобы Отвечайте на вопросы установщика для завершения установки.
отредактировать его и установить его значение в 1. По завершении все Настройка фиксированного IP-адреса, используемого Windows.
должно выглядеть как на экранном снимке в конце этой колонки. Перейдите к Пуск > Настройка > Панель управления > Сетевые под-
Другой вариант – загрузка файла www.osml.eu/files/nodesktop.reg с ключения.
сервера Open Source Migrations Limited (используйте его на собствен- Выполните правый щелчок на Подключение к локальной сети и
ный страх и риск). Сохраните его на своем рабочем столе, затем просто выберите Свойства.
дважды щелкните на нем, подтвердите действие, и реестр соответству- Введите IP-адрес, соответствующую маску подсети, адрес шлюза
ющим образом изменится. по умолчанию и по крайней мере один DNS-сервер. Вы можете найти
Теперь вы, вероятно, захотите отнять права администратора у учет- ваш(и) DNS сервер(а), набрав в терминале хост-машины:
ной записи, повторив предыдущую процедуру в обратном порядке. cat /etc/resolv.conf
После слов nameserver указаны IP-адреса DNS-серверов. Шлюз по
умолчанию должен соответствовать определенному для вашего TAP-
интерфейса в /etc/tap.conf. Учтите: IP-адрес должен отличаться от IP
Virtual Box, прописанного в файле /etc/tap.conf. Я предлагаю устанав-
Включите VRDP,
установив флажок. Реестр Windows настроен на отключение рабочего стола Windows.
Создаем
ЧАСТЬ 2 Вариации «Hello, World!» набили оскомину – и Андрей Паскаль будет
стараться избежать надоевшего приветствия до последнего, а попутно создаст
бизнес-приложение, не написав ни строчки кода!
И
з чего состоит приложение Ананаса? Как начать работу над Для создания новой бизнес-схемы требуется указать (или создать
собственной бизнес-схемой? новую) группу в окне диалога выбора бизнес-схем и активировать
В стародавние времена хорошим педагогическим при- пункт Новая бизнес-схема меню Действия.
емом считалось дать в начале учебника пример программы, печатаю-
щей на экране приветствие «Hello, World!».
Времена меняются, требования растут, и вот уже новая педагоги-
ческая мода диктует необходимость демонстрировать в качестве при-
Наш мера первого приложения не просто команду вывода на экран, а целую
эксперт готовую программу по редактированию таблицы базы данных. Такая
программа должна уметь Создавать, Показывать, Изменять и Удалять
Андрей Паскаль данные в таблице БД, поэтому ее принято называть CRUD-приложени-
использует Linux ем, по первым буквам английских слов Create, Retrive, Update, Delete.
более семи лет и Так как Ананас – бизнес-платформа, то и наше первое CRUD-прило-
играет роль
жение будет редактировать данные о бизнес-партнерах, также называ-
координатора проекта
Ананас. Он также емых иногда контрагентами. Итак, сегодня мы разработаем CRUD-при-
знает ответ на ложение «Справочник контрагентов». Интересно заметить, что среда
популярный у всех разработки платформы Ананас позволяет создать CRUD-приложение
новичков вопрос:
без какого-либо написания кода, так что я даже не стал бы называть
«Какой дистрибутив
Linux мне выбрать?». такую деятельность программированием. Скорее это проектирование.
Для каждого контрагента в справочнике будет храниться следую-
щий упрощенный для нашего случая состав реквизитов: Открывшийся диалог позволяет задать параметры новой бизнес-
Наименование; схемы. Наиболее важными из них являются параметры доступа к базе
Почтовый адрес; данных на SQL-сервере и положение файла бизнес-схемы в файловой
Телефон; системе вашего компьютера. Если вы укажете несуществующую базу
E-Mail; данных или несуществующий файл бизнес-схемы, они будут созданы
Банк. Ананасом автоматически.
Разработка бизнес-схем ведется в среде разработки Дизайнер На Рис. 2 показан пример заполнения параметров настройки биз-
платформы Ананас (Рис. 1). После успешного запуска командой нес-схемы для случая использования MySQL в качестве сервера баз
[app@app ~]$ ananas-designer данных.
Дизайнер предложит выбрать бизнес-схему для работы из списка, Имя файла ресурса содержит ссылку на файл, в котором хранятся
точно так же, как предлагает выбрать бизнес-схему при запуске сам значения всех остальных полей этого диалога. Имеется возможность
Ананас. Однако, в отличие от Ананаса, Дизайнер предоставляет доступ выбора ранее созданного файла ресурса: для этого достаточно вызвать
к настройке и созданию/модификации структур данных, алгоритмов, а диалог выбора файла щелчком по кнопке, расположенной справа от
также печатных и экранных форм бизнес-схемы. поля с именем файла ресурса. При открытии файла ресурса значения
всех полей диалога будут заменены значениями из этого файла.
Заголовок базы данных предназначен для пользователя и отобра-
жается в списке доступных для выбора баз данных в диалоге Список
бизнес-схем, появляющемся при старте Дизайнера.
Имя базы данных содержит имя базы данных, используемое систе-
мой при доступе к серверу базы данных.
Тип сервера базы данных позволяет выбрать один из поддержива-
емых Ананасом серверов баз данных (MySQL, PostgreSQL или SQLite).
Разумеется, следует убедиться, что соответствующий выбираемому
вами типу сервер установлен и запущен, так как здесь вы указываете
лишь драйвер, который не будет работать, если не установлен соответ-
Рис. 1. ствующий сервер.
Среда разработки Адрес сервера базы данных – это адрес компьютера, на котором
платформы Ананас. установлен сервер выбранного выше типа. Разумеется, сервер баз
CRUD-приложение
(Рис. 3) нас в первую очередь будет интересовать раздел Справочники.
Определение справочника начинается с присвоения ему имени, кото-
рое в дальнейшем будет использовано в программировании биз-
нес-логики в процедурах на языке Ананас-Скрипт. В главном окне
Дизайнера щелкните правой клавишей мыши по разделу Справочники
и в появившемся меню выберите пункт Новый.
Элемент
справочника
Элемент справоч-
ника – одна из двух
составляющих
любого справочника
Рис. 2. Пример заполнения параметров настройки новой бизнес- Ананаса. Второй
схемы. составляющей
является Группа.
Группы служат
данных может работать как на том же самом компьютере, где вы уста-
для группировки
новили Ананас, так и на любом другом. Если сервер баз данных запу- элементов и органи-
щен локально, здесь следует указать значение localhost. В остальных зации вложенного
случаях следует узнать адрес сервера у системного администратора. В появившемся экранном диалоге закладка Общий позволяет хранения элементов
Адрес может быть задан как DNS-именем (например, myhost.com), так задать имя справочника и заполнить поле Описание. На данном эта- справочников в виде
древовидной струк-
и числовым значением (например, 127.0.0.1). пе в этом диалоге больше ничего изменять не требуется. Следует туры. Каждая группа
Порт сервера базы данных по умолчанию не содержит никакого закрыть его и перейти к определению реквизитов Справочника контра- может хранить в
значения. Его следует задавать лишь в тех случаях, когда используется гентов. Разумеется, среда разработки Ананас позволяет организовать себе другие группы
нестандартный порт, что случается достаточно редко. По этому вопро- древовидную структуру справочника. Однако, желающих изучить эту или элементы
справочника .
су следует консультироваться с системным администратором, выпол- тему я адресую к «Справочному руководству по Дизайнеру» Ананаса,
Элемент справоч-
нявшим установку сервера баз данных. Если вы выполняли установку а для нашего простого CRUD-приложения древовидная структура в ника предназначен
сервера баз данных самостоятельно и не меняли порт сервера баз дан- Справочнике контрагентов нам не нужна. исключительно для
ных, то поле Порт сервера базы данных следует оставить пустым. Как только вы закроете диалог, где было задано имя справочника, хранения реквизи-
Задав таким образом значения полей, следует нажать кнопку OK, а в дереве бизнес-схемы появится папка с именем Справочник конт- тов. Справочник,
не содержащий
затем выбрать только что определенную бизнес-схему и снова нажать рагентов, внутри которой видны папки Элемент, Группа, Формы. Для группы, а состоящий
OK. После получения подтверждения о локальном сохранении настро- определения первого реквизита справочника следует щелкнуть правой лишь из одних
ек (в каталоге ~/.ananas) откроется главное окно Дизайнера. кнопкой мыши по папке Элемент и выбрать пункт Новый появившего- элементов, принято
Наше CRUD-приложение предназначено для управления ся меню. В открывшимся диалоге необходимо задать такие свойства называть плоским.
Справочником контрагентов, поэтому в дереве бизнес-объектов реквизита, как Имя, Тип, Ширина (Рис. 4). Прочие свойства задавать
не обязательно, их назначение описано в «Справочном руководстве
по Дизайнеру». Закрыв диалог, следует повторить действия снова для
определения второго, третьего и т.д. реквизитов справочника.
Последний штрих
А теперь – сюрприз: немного кода все-таки потребуется. Дело в том,
что среда исполнения приложений Ананаса не знает, какой экранный
диалог нашей бизнес-схемы следует запускать сразу после старта,
ведь в нашем приложении могло бы быть несколько экранных форм.
Нужен какой-нибудь способ известить Ананас о том, что при старте
он должен открыть наш Справочник контрагентов. Для этого предус-
мотрена предопределенная функция на Ананас-Скрипте с названием
on_systemstart(). Если среда исполнения находит такую функцию в
глобальном модуле бизнес-схемы при старте, она будет автоматически
запущена на выполнение.
Доступ к глобальному модулю осуществляется через двойной щел-
чок по корню дерева бизнес-объектов в Дизайнере и выбор вкладки
Глобальный модуль появившегося диалога.
Вот код, который нужно туда записать.
function on_systemstart()
{
sys.Message(0,”Привет, Мир! :)”);
cat = new CatalogEditor(“Справочник контрагентов”);
cat.edit();
}
Да, да! Он все-таки напечатает «Привет, Мир!» :) в окне сообщений
(Рис. 9). LXF
Struts, великий
ЧАСТЬ 10 Компьютеры были придуманы, чтобы избавить человечество от рутины –
так зачем делать вручную то, что можно сгенерировать автоматически?
Александр Бабаев покажет, как Struts позволяет избежать монотонного
кодирования приложений J2EE.
В
ручную делать простые вещи хорошо: быстро, просто, понят- В качестве примера, создадим уже знакомую телефонную кни-
но. Но что делать, если нужно так же быстро и просто создать гу. Сперва каталог; в нем, как всегда, организуем подкаталоги для
нечто большое? Сайт-портал, например? Не тот портал, кото- исходных текстов, скомпилированного кода, библиотек и JSP-файлов.
рый Яндекс, а корпоративный – где интегрирована система хранения Получится что-то такое:
документов, информационная система, наша адресная книга?
В PHP в этом случае приходит на помощь CMS. Сладкие сло-
ва, которые обещают «в два клика» сделать вам все что угодно.
Маркетинг, конечно, страшная сила, но почему так много CMS на PHP,
и нет на Java1?
Возможно, просто потому что не нужно. Место CMS в Java занима-
ют разнообразные инструментарии разработчика, которые помогают
обходить сложные и рутинные работы. В результате можно небольши-
ми силами сделать систему, по сложности намного превосходящую то,
что можно сделать «вручную».
Месяц назад Мы немного отклонились от Web и узнали, как отправлять электронную почту.
и ужасный На DVD
Код примеров ста
Struts 1.3.8
тьи
Internet Server
ActionServlet
… Actions
… …
ActionServlet
Client
Как видно, схема здорово напоминает примененную нами при созда- <form-property name=”age” type=”java.lang.Integer”
нии адресной книги. Зачем тогда Struts? А затем, чтобы не писать много- initial=”20”/>
много однотипного кода, который повторяется из проекта в проект. <form-property name=”comment” type=”java.lang.String” initial=”No
Comment”/>
Конфигурационные файлы </form-bean>
Вначале научимся запускать Struts. Для этого нужно перенаправить все
запросы сервлету-обработчику и написать файл конфигурации. Вот <action-mappings>
простой дескриптор для простого Struts-приложения: <action path=”/add” name=”addForm” validate=”true” type=”ru.
<?xml version=”1.0” encoding=”UTF-8”?> linuxformat.actions.Add”>
<web-app> <forward name=”form” path=”/pages/Add.jsp”/>
<servlet> <forward name=”done” path=”/list.do”/>
<servlet-name>action</servlet-name> </action>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param> <action path=”/list” type=”ru.linuxformat.actions.ShowAll”>
<param-name>config</param-name> <forward name=”ok” path=”/pages/List.jsp”/>
<param-value>/WEB-INF/struts-config.xml</param-value> </action>
</init-param> </action-mappings>
</servlet>
<servlet-mapping> <message-resources parameter=”MessageResources”/>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern> <plug-in className=”org.apache.struts.validator.ValidatorPlugIn”>
</servlet-mapping> <set-property property=”pathnames” value=”/org/apache/struts/
</web-app> validator/validator-rules.xml,/WEB-INF/validation.xml”/>
Видно, что все запросы *.do передаются сервлету action, обрабаты- </plug-in>
ваемому классом ActionServlet. Это стандартный класс Struts, который </struts-config>
перенаправляет запросы в действия. Ему передается конфигурацион- В данном файле описана форма добавления контакта (form-bean),
ный файл struts-config.xml. Вот он: с использованием стандартного класса формы с поддержкой автома-
<?xml version=”1.0” encoding=”UTF-8” ?> тической проверки полей (DynaValidatorForm).
После этого описано, какие запросы в какие классы
<struts-config> перенаправляются.
<form-beans> <action path=”/list” type=”ru.linuxformat.actions.ShowAll”>
<form-bean name=”addForm” type=”org.apache.struts.validator. <forward name=”ok” path=”/pages/List.jsp”/>
DynaValidatorForm”> </action>
<form-property name=”name” type=”java.lang.String” В этом примере запрос /list.do пойдет в класс ShowAll. Forward
initial=”Name”/> используется внутри действия, чтобы упростить перенаправление
<form-property name=”phone” type=”java.lang.String” вывода. Дальше будет понятно, как.
initial=”1234567”/> После описания действий все становится совсем просто.
Описывается файл, откуда будут браться локализованные строки, и по коллекциям (списки, ассоциативные массивы и так далее). В данном
подключается модуль, который обеспечивает простую и мощную вали- случае мы итерируем по атрибуту запроса contacts, который мы поло-
дацию (проверку) форм. жили туда в действии.
Локализация
Последняя часть, пока не описанная – локализация. Сообщения хра-
нятся в так называемых properties-файлах, причем если property-
файл называется MessageResources, то, например, файл русской
локализации должен называться MessageResources_ru.properties,
а английской – MessageResources_en.properties. Если нужно уточ-
нить – например, английский язык, Америка – то получается так:
MessageResources_en_US.properties.
Структура файлов properties очень проста. Каждая строка (не пус-
тая и не комментарий) состоит из двух частей, разделенных знаком
равенства (=). Слева – ключ, справа – значение этого ключа.
Эти файлы нужно положить
в каталог src, и проконтролиро-
вать, чтобы они переписались
туда же, куда попадают class-
файлы. Плюс, для неанглийских
файлов, их нужно преобразовать
в ASCII-формат. Это делается ути-
литой native2ascii из поставки JDK.
Инструкции по пользованию утили-
той можно найти здесь: http://Java.
sun.com/Javase/6/docs/technotes/
tools/windows/native2ascii.html.
После этого можно исполь-
зовать в JSP вставки вида <bean:
message key=”AddressBook.add.
name”/>, вместо которых будет
вставлена локализованная строка,
соответствующая данному ключу (в
примере – AddressBook.add.name).
Что дальше?
Struts – великолепная библиотека,
позволяющая упростить разработ-
ку сложных приложений. Особенно
хорошо такого рода библиотеки под-
ходят для задач, в которых много
монотонной работы: больших форм,
большого количества простых дей-
ствий, необходимость проверки дан-
ных, вводимых в форму, локализация.
Также полезно, что используются
стандартные средства: JSP, Servlets,
да и сам Struts – самая распространен-
ная библиотека для такого рода работ.
В результате при приеме на работу,
например, знание именно Struts позво-
ляет набрать несколько дополнитель-
ных баллов.
Правда, еще больше баллов дает
знание EJB3. Но об этом мы пого-
ворим в следующей, заключительной
статье. LXF
Через месяц Вам в зернах или молотый? Мы завершим кофейную тематику разговором об Enterprise Java Beans.
wxWidgets:
ЧАСТЬ 1 Что объединяет Audacity, poEdit и FlameRobin? Все они работают на
нескольких платформах, используя wxWidgets – и вы тоже так сможете, если
прочтете учебник Андрея Боровского!
Ч
то такое wxWidgets? Для многих разработчиков это просто но немало программ, самой известной из которых является, пожалуй,
набор виджетов, занимающий на платформе Linux почетное тре- аудиоредактор Audacity (Рис. 1).
тье место после вечных соперников Qt и GTK, и не все знают, что
wxWidgets – это еще и история открытых графических интерфейсов.
Набор визуальных элементов управления wxWidget появился на свет в
1992 году, тогда же, когда и XFree86. Все началось с того, что сотруд-
нику Университета Эдинбурга Джулиану Смарту [Julian Smart] потребо-
валась кросс-платформенная библиотека для создания графических
интерфейсов на платформах Sun и PC. У университета не нашлось
средств на покупку кросс-платформенной библиотеки виджетов (да,
были и такие времена), и тогда Смарт поступил так, как и подобает
настоящему хакеру – он начал писать собственную библиотеку, кото-
рую назвал wxWindows. Проект бесплатной кросс-платформенной биб-
лиотеки быстро привлек внимание других программистов в универси-
тете, а вскоре – и за его пределами. Первая версия wxWindows подде-
рживала XView (набор виджетов, созданный Sun Microsystems) и MFC Рис. 1. Audacity – убийственное приложение на wxWidgets.
1.0. В 2003 году представители компании Microsoft обратили внимание
на wxWindows и вежливо попросили Дж. Смарта изменить название Список платформ, поддерживаемых wxWidgets, внушает уважение.
(слово “Windows” является зарегистрированной торговой маркой Вы можете использовать библиотеку вместе с GTK (Unix/Linux/MinGW),
Microsoft в Великобритании) [подобные просьбы высказывались и в Lesstif/Motif (Unix/Linux) X11 (Unix/Linux/MinGW), Win32 (Windows,
адрес закрытых проектов, в частности, Windows Commander, – прим. Windows CE), Carbon (Mac OS), Cocoa (Mac OS X, GNUstep), Protein
ред.]. Переговоры продолжались долго; в качестве ответной уступ- (Palm OS), PM (OS/2), MGL (Unix/DOS). Само это перечисление демонс-
ки американская компания предложила материальную компенсацию трирует важную особенность wxWidgets – «вертикальную» организа-
(полученные от Microsoft деньги было решено потратить на развитие цию набора виджетов. В отличие от Qt и GTK, которые ориентированы
проекта), и в августе 2004 года библиотека wxWindows была офици- на платформы, библиотека wxWidgets ориентирована на интерфейсы.
ально переименована в wxWidgets. Если какой-либо из поддерживаемых wxWidgets интерфейсов пере-
Почему же wxWidgets не стала предпочтительным выбором для носится на новую платформу, перенос wxWidgets на эту платфор-
Linux-программистов? Причина проста: в те далекие времена, когда му не должен представлять особых проблем. По традиции, версии
решалась судьба графических оболочек для Linux, wxWidgets (тог- wxWidgets для каждой платформы обозначаются добавлением пре-
да еще wxWindows) не поддерживала X11. На платформе Unix/Linux фикса wx к сокращенному названию платформы. Например, wxWidgets
wxWidgets использовала виджеты Motif/Lesstif, а позднее – GTK. для Windows обозначается как wxMSW, wxWidgets для GTK – как
Версия библиотеки, способная работать с X11 без посторонней помо- wxGTK, wxWidgets для X11 – как wxX11, и т. д. Еще одна интересная
щи, появилась только в 2002 году, когда территорию графических обо- возможность, связанная с многоплатформенностью wxWidgets – кросс-
лочек для Linux уже застолбили другие библиотеки. компиляция. На сайте проекта можно найти инструкции по компиляции
Библиотека wxWidgets распространяется на условиях wxWindows wxWidgets-программ для Windows из-под Linux.
License (которую должна заменить wxWidgets License, отличающаяся Выбирая между wxWidgets для GTK и wxWidgets для X11, следует
от первой только названием). По сути своей, wxWindows License – это помнить, что, несмотря на все усилия разработчиков, эти два набора
«смягченный вариант» LGPL, позволяющий распространять произ- визуальных компонентов все еще неравноценны. На сайтах некоторых
водные продукты wxWidgets в бинарной форме на ваших собствен- проектов, использующих wxWidgets, вы найдете указания, что проект
ных условиях без отчислений разработчикам wxWidgets. Фактически, компилируется с wxGTK, но не с wxX11. Объясняется это тем, что набор
лицензия wxWindows предоставляет разработчику больше возмож- виджетов wxUniversal, который использует wxX11, все еще не дотяги-
ностей, чем лицензия GTK+, которая обязывает разработчика распро- вает по функциональности до набора GTK, на котором основана wxGTK.
странять производные библиотеки на условиях LGPL, и лицензия Qt, Разработанный с нуля wxUniversal представляет собой сравнительно
которая требует платить за коммерческое использование библиотеки. недавнее добавление в wxWidgets. Этот набор виджетов предназначен,
Приложения, использующие wxWidgets, можно программировать не в перспективе, для тех платформ, у которых собственные наборы вид-
только на родном для этой библиотеки – C++, но и на других языках жетов отсутствуют (хотя вряд ли такую можно сейчас найти). Список
программирования (Java, Perl, Python). Существуют также интерфей- виджетов и функций, которые присутствуют в wxGTK и wxMSW, но
сы wxWidgets для Microsoft .NET и Mono. На основе wxWidgets созда- все еще не реализованы в wxX11, приведен на сайте проекта. В каче-
живая история
стве довода в пользу wxX11 можно указать то, что этот набор видже-
тов не нуждается в «прослойке» GTK и может работать в системе, где Как должны выглядеть ваши программы?
библиотека GTK не установлена или не настроена должным образом.
Окончательное решение при выборе между wxGTK и wxX11 следует Разработчиков кроссплатформенных наборов виджетов можно разделить на два лагеря: одни
принимать, исходя из требований создаваемого приложения (есть ли стремятся к тому, чтобы визуальные компоненты выглядели по возможности одинаково на всех
в wxX11 все необходимые виджеты) и параметров GTK в целевой сис- платформах (обычно это люди с твердыми убеждениями относительно того, каким должен быть
теме. При этом, в случае необходимости, базовую платформу можно правильный графический интерфейс). Наборы визуальных компонентов этого типа радуют глаз
будет сменить и на ходу (по крайней мере, переход с wxX11 на wxGTK единством фирменного стиля. Разработчики из другого лагеря настаивают на том, чтобы на каж-
не вызовет проблем). дой платформе внешний вид графических элементов управления максимально соответствовал
Помимо собственно визуальных компонентов, wxWidgets предо- тому, что принято на данной платформе. К достоинствам этого подхода относят то, что единооб-
ставляет в распоряжение программиста классы для работы с базами разие внешнего вида приложений упрощает, якобы, освоение новых программ. Лично я с этим
аргументом не согласен. На мой взгляд, кнопки в стиле Aqua нисколько не мешают освоению
данных (поддерживаются интерфейсы ODBC, XBase, SQLite), классы
Safari для Windows.
для работы с сокетами и популярными сетевыми протоколами, а также
Самое сложное в освоении новой программы – согласовать подход разработчиков к решению
специальные классы для работы с HTML. Есть у wxWidgets и собствен- поставленной задачи со своим собственным видением. Как бы там ни было, wxWidgets придер-
ные классы, реализующие распространенные структуры данных (спис- живается второго подхода, причем следует ему в гораздо большей степени, чем, скажем, Qt.
ки, очереди и т. п.), которые были введены в проект еще до появления Визуальные элементы wxWidgets не только выглядят на каждой платформе «как родные» (фак-
в С++ стандартной библиотеки шаблонов. Поскольку сейчас использо- тически, во многих случаях, классы wxWidgets – это просто обертки вокруг фирменных элемен-
вание шаблонов стандартной библиотеки представляется более целе- тов управления), но и используют специфические возможности каждой платформы. Например,
сообразным, вы можете сконфигурировать wxWidgets таким образом, на платформе Win32 wxWidgets поддерживает метафайлы, которые отсутствуют в GTK. Если вы
чтобы библиотека использовала STL, а не собственные реализации программируете интерфейсы с помощью wxWidgets, вы должны сами устанавливать баланс
этих структур данных. использования платформо-специфичных и кроссплатформенных возможностей библиотеки.
В wxWidgets реализованы сразу два способа определения обработ-
чиков событий. Более старый способ, разработанный под влиянием
MFC, основан на статических таблицах событий (event tables). Однако,
он не позволяет манипулировать обработчиками событий во время инструментами. Библиотека wxWidgets не является исключением из
выполнения программы. Второй (более новый) вариант основан на этого правила. Вспомогательных средств разработки для wxWidgets
использовании метода connect() и больше похож на динамический спо- существует немало, больше, пожалуй, чем для Qt и GTK, но при
соб определения обработчиков событий, используемый в Qt. близком знакомстве с этими средствами заядлый линуксоид может
испытать разочарование. Мы привыкли к тому, что базовые средства
Инструменты разработчика разработки для библиотек виджетов доступны нам на тех же услови-
Сегодня практически каждый набор виджетов сопровождается средс- ях, что и сами библиотеки, однако с wxWidgets дело обстоит иначе.
твами визуального программирования и другими вспомогательными Наиболее функциональные системы визуального программирования
Рис. 3. wxDesigner.
всякий случай). Скомпилировав wxWidgets, вы не только получае- В потомке класса wxApp нам требуется переопределить только
те новейшую версию библиотеки, но и более гибкие средства кон- один базовый метод – OnInit(). Этот виртуальный метод вызывается
фигурирования. Например, для этих статей я решил использовать базовым классом в самом начале работы программы и именно на него
wxX11, тогда как пакет wxWidgets из моего дистрибутива (OpenSUSE) возложена задача по созданию и отображению главного окна. Если
сконфигурирован для GTK+. Скрипт configure wxwidgets позволя- метод OnInit() возвращает значение false, выполнение программы
ет настраивать многие параметры библиотеки с помощью ключей. сразу же завершается. Если вам необходимо выполнить какие-либо
Например, для того, чтобы скомпилировать wxWidgets с поддерж- специальные действия в процессе завершения программы (например,
кой X11, командуем: высвободить занятые программой ресурсы), вы можете переопреде-
./configure --with-x11 лить метод OnExit() класса wxApp.
Ключ --enable-stl указывает, что вместо классов структур данных В методе OnInit() мы создаем объект класса-потомка wxFrame и
wxWidgets следует использовать контейнеры STL. Полное описание вызываем его метод Show(), для того чтобы окно, созданное этим объ-
ключей configure вы можете получить, как обычно, с помощью клю- ектом, стало видимым. В классе HWFrame мы переопределяем конс-
ча --help. труктор и деструктор класса wxFrame. Наша задача – добавить в окно
Знакомство с программированием в wxWidgets мы начнем, как wxFrame визуальный элемент со статическим текстом (метку) и вывес-
всегда, с простейшего приложения (файл hwapp.cpp): ти в нем текст приветствия. Рассмотрим сначала базовый конструктор
#include “wx/wx.h” wxFrame. Первый параметр конструктора – указатель на класс роди-
тельского окна. Мы передаем в этом параметре значение NULL, так как
class HWFrame: public wxFrame главное окно не имеет родителя. Во втором параметре конструктора
{ передается идентификатор окна. Идентификатор представляет собой
public: целое число, которое идентифицирует окно в процессе обработки
HWFrame() : wxFrame(NULL, wxID_ANY, “First wxWidgets сообщений. Все окна, использующие один и тот же цикл обработки
Application”) сообщений (например, главное окно и его дочерние виджеты), долж-
{ ны иметь уникальные идентификаторы (это не относится к некоторым
label = new wxStaticText(this, wxID_STATIC, “Hello World”); типам окон, не предназначенных для получения «персональных» сооб-
} щений). В программе hwApp мы не обрабатываем сообщения, поэтому
virtual ~HWFrame() нам все равно, какой будет идентификатор у главного окна программы.
{ В конструкторе wxFrame мы передаем константу wxID_ANY, которая
delete label; указывает, что конструктор может сам выбрать идентификатор для
} создаваемого окна (константой wxID_ANY можно пользоваться вся-
private: кий раз, когда идентификатор окна вас не интересует). В последнем
wxStaticText * label; задействованном нами параметре конструктора передается заголовок
}; создаваемого окна (у конструктора wxFrame есть и другие параметры,
для которых мы оставляем значения по умолчанию). В самом кон-
class HWApp: public wxApp структоре мы создаем объект label класса wxStaticText (метка). Первые
{ два параметра конструктора wxStaticText имеют тот же смысл, что и
virtual bool OnInit() первые параметры конструктора wxFrame. В третьем параметре мы
{ передаем строку текста для отображения. Обратите внимание, что в
HWFrame * myFrame = new HWFrame(); качестве идентификатора окна визуального элемента «метка» мы вос-
myFrame->Show(); пользовались константой wxID_STATIC. Этот идентификатор исполь-
return true; зуется при создании статических визуальных элементов, которые не
} обрабатывают пользовательский ввод.
};
IMPLEMENT_APP(HWApp);
Эта программа действительно очень проста. Она не обрабатывает
события, не содержит сложных элементов интерфейса; все, что она
делает – выводит надпись “Hello World” в главном окне. Тем не менее,
программа hwapp демонстрирует важнейшие особенности структуры
приложения wxWidgets. Объявления всех классов, функций и мак-
росов библиотеки виджетов становятся доступны нам в результате Рис. 4. Наша первая программа, пока что не Audacity.
включения в текст программы одного-единственного заголовочного
файла – wx/wx.h. В отличие от Qt и GTKmm, в wxWidgets, даже при Вот, собственно, и все (Рис. 4). Ах, да, вы, наверное, обратили вни-
написании простого приложения нам приходится объявлять сразу мание, что в программе не определена функция main(). Дело в том, что
два собственных класса. Класс HWApp, который является потомком разработчики wxWidgets избавили нас от хлопот по написанию главной
класса библиотечного wxApp, представляет собой главный класс функции программы. Все необходимые определения содержит макрос
приложения. Этот класс можно рассматривать как аналог класса IMPLEMENT_App(), которому мы передаем имя класса приложения в
QApplication в Qt, с той разницей, что в Qt нам редко приходится качестве параметра. Теперь программу можно скомпилировать, вос-
создавать собственный класс, производный от QApplication. Класс пользовавшись вспомогательной утилитой wx-config:
HWFrame, который происходит от класса wxFrame, реализует главное g++ hwApp.cpp `wx-config --libs` `wx-config --cxxflags` -o hwApp
окно нашей программы. Обратите внимание, что имена всех классов Трудно представить себе программу проще той, что мы написали.
wxWidgets начинаются с префикса wx, а имена методов классов – с В продолжении серии мы рассмотрим процесс создания «настоящего»
заглавной буквы. приложения – программы для записи разговоров Skype. LXF
Как работать
с классами С++ из Perl
Огорчены, что PerlQt застрял на версии 3.008?Не беспокойтесь – Вадим Лихота
расскажет, как решить подобную задачу своими силами. Если, конечно, хватит
терпения.
О
писаний того, как импортировать в Perl функции из С, доста- );
точно много, а вот информацию об использовании клас- Выделенные жирным строки необходимо добавить именно для
сов C++ я встречал в виде кратких описаний только в “XS того, чтобы Perl заработал с С++.
Cookbook” [1, 2] и небольшой статье [4]. Пример использования класса Кроме того, важно исправить файл QtCore.xs, который будет содер-
С++ в Perl’е из “XS Cookbook” в сокращенном варианте перекочевал в жать импортируемые в Perl функции:
perlxstut. Кроме того, на CPAN можно найти модули, импортирующие #ifdef __cplusplus
классы С++ и имеющие файлы импорта, которые можно использо- extern “C” {
вать в качестве примера, такие, как Boost-Graph, Lucene, Search-Xapian, #endif
Однако они не покрывают многих вариантов подключения классов. #include “EXTERN.h”
Чтобы не умножать сущности без надобности, т.е. не писать новых #include “perl.h”
классов, которые потом нигде не пригодятся, воспользуемся уже гото- #include “XSUB.h”
вой библиотекой QtCore из состава Qt4. Для удобства я буду приводить #ifdef __cplusplus
части заголовочных файлов этой библиотеки, но все примеры будут }
работоспособны при подключении реальной библиотеки. Кроме того, #endif
использование файла perlobject.map [3] позволит не писать заново Для наглядного примера создадим в этом файле класс, который
описание объектов. будет хранить, допустим, версию программы. Для этого добавим класс
после подключенных заголовочных файлов перед строкой MODULE =
Начальные данные для любого модуля QtCore PACKAGE = QtCore:
Начальные данные для любого модуля можно найти в уже упомянутой class QtCore {
статье [4], однако они столь ценны и необходимы для раскрытия темы, public:
что заслуживают отдельного рассмотрения. Скелет любого модуля QtCore(){ vers = 0.001; };
можно написать вручную, но легче и быстрее это делается командой ~QtCore(){};
h2xs -An имя_модуля. В результате будет создан каталог для модуля
с необходимыми файлами, содержимое которых детально описано double ver(){ return vers; };
в «Программировании на Perl» [5]. Дав команду h2xs -An QtCore, вы void setVer(double v){ vers = v; };
получите скелет модуля. В созданный каталог QtCore необходимо
скопировать perobject.map (названия всех файлов приводятся относи- private:
тельно каталога QtCore). Созданный файл Makefile.PL надо привести к double vers;
следующему виду: };
use 5.008; Работа с обычными функциями, конструктором и деструктором
use ExtUtils::MakeMaker; уже предусмотрена в Perl XS, поэтому после объявления модуля и
пакета можно использовать краткие объявления функций (также воз-
$CC = ‘g++’; можны комментарии в perl-стиле):
MODULE = QtCore PACKAGE = QtCore
WriteMakefile(
NAME => ‘QtCore’, =comment
VERSION_FROM => ‘lib/QtCore.pm’, явное указание использовать прототипы функций позволяет
PREREQ_PM => {}, # e.g., Module::Name => 1.1 избежать некоторых ошибок при передаче параметров в функции, но
($] >= 5.005 ? в тоже время не дает упростить использование этих функций.
(ABSTRACT_FROM => ‘lib/QtCore.pm’, Например, если функция получает два параметра, а ваши данные для
AUTHOR => ‘A. U. Thor <author@localdomain>’) : ()), нее хранятся в массиве @aa, то ее необходимо вызывать как
LIBS => [‘’], my_func($aa[0], $aa[1]).
DEFINE => ‘’, Тогда как при указании “PROTOTYPES: DISABLE” можно эту функцию
CC => $CC, вызвать как my_func(@aa).
LD => ‘$(CC)’, =cut
INC => ‘’,
# OBJECT => ‘$(O_FILES)’, PROTOTYPES: ENABLE
XSOPT => ‘-C++’,
TYPEMAPS => [‘perlobject.map’], =comment
QByteArray::_split(c)
char c 1;
CODE: Пересоберите пакет и протестируйте его (файл test/qbytearray.pl).
RETVAL = newAV(); Аналогичным способом массив превращается в шаблон QList. Для
QList<QByteArray> lba = THIS->split(c); примера приведем конструктор класса QStringList, получающий для
for ( int i = 0 ; i < lba.size() ; ++i ) { инициализации массив объектов QString. В файле QtCore/qstrinlist.h
QByteArray * ba = new QByteArray(); конструктор объявлен как
*ba = lba.at(i); inline QStringList(const QStringList &l) : QList<QString>(l) { }
SV * rv = newSV(0); В xs-файле для него необходимо создать класс QList<QString> и
sv_setref_pv( rv, “QtCore::QByteArray”, (void *)ba ); заполнить его объектами QString, полученными из массива. av являет-
av_push(RETVAL, rv); ся указателем на копию этого массива. Копия используется, поскольку
}; функция av_pop() удаляет из массива считанные элементы.
OUTPUT: QStringList *
RETVAL new3(CLASS, av)
CLEANUP: char * CLASS
SvREFCNT_dec( RETVAL ); AV * av
CODE:
... QList<QString> qls;
Иными словами, в описании _split создается анонимный массив, while ( av_len(av) > -1 ) {
указатель на который будет передан в программу. Затем вызывает- SV * rv = av_pop(av);
ся функция split класса на C++, которая возвращает список объектов QString * str = (QString *)SvIV((SV*)SvRV( rv ));
QByteArray. Этот список обходится в цикле, в котором по одному ука- qls << *str;
зателю на объект заносится в массив RETVAL. Поскольку массив при- }
нимает только тип данных SV*, то на каждой итерации цикла создается RETVAL = new QStringList(qls);
новая переменная. Затем в нее копируется ссылка на объект из спис- OUTPUT:
ка, приведенная к типу данных Perl функцией sv_setref_pv. Подробно RETVAL
работа с массивами в Perl XS описана в perlguts, а примеры использо-
вания массива со строками можно посмотреть в “XS Cookbook” [2]. Описание типа данных, отсутствующего
Следующий шаг состоит в добавлении в typemap нового класса в typemap.xs и perlobject.map
QByteArray * O_OBJECT В том случае, если нужно добавить новый тип данных, необходимо
и создании для этого класса модуля lib/QtCore/QByteArray.pm. Функция описать, как компилятору работать с ним, т.е. читать из него данные и
_split возвращает указатель на массив, однако в программе удобнее записывать. Данная тема описана в документации Perl, но для полноты
пользоваться обычным массивом. С этой целью напишем простейшую картины приведем пример, иллюстрирующий работу с отсутствующим
оболочку для этой функции. Кроме того, в Perl’e есть своя функция в С типом string. Для этого типа в typemap следует добавить:
split, поэтому ее надо переопределить в пакете, используя use subs. string STRING
package QtCore::QByteArray; Ниже в разделах INPUT и OUTPUT необходимо описать, как пере-
вести string из внутреннего типа данных Perl’а (переменная $arg) в C++
use 5.008; (переменная $var) и обратно.
use strict; INPUT
use warnings; STRING
use Carp qw/carp croak/; {
STRLEN len;
use QtCore; # bootstraps QtCore.xs const char * tmp = SvPV($arg, len);
QtCore::bootstrap_subpackage ‘QByteArray’; $var.assign(tmp, len);
}
use subs qw(split);
OUTPUT
sub split { STRING
croak(“split: нет разделителя\n”) unless $_[1]; sv_setpvn((SV*)$arg, (char *) ($var.data()), ($var.size()));
return @{ _split($_[0], $_[1]) }; Таким образом, в данной статье были рассмотрены все основные
} варианты использования C++ и Perl XS. За ее пределами остались
только прямое использование шаблонных классов (но, как было ука-
зано выше, использовать их нецелесообразно, т. к. STL покрывается
возможностями самого Perl’a) и использование lvalue-функций из
Литература классов С++ в Perl’e (когда разрабатывался Perl XS для 5-й версии,
lvalue изначально не был реализован и в самом Perl5, а более поздних
0 Документация Perl (perlxs, perlxstut, perlguts). описаний расширений Perl XS на данный момент, по моим сведениям,
1 Dean’s Extension-Building Cookbook in two parts. не существует). LXF
Part A: http://www.cpan.org/authors/Dean_Roehrich/CookBookA-19960430.tar.gz.
2 Dean’s Extension-Building Cookbook in two parts.
Part B: http://www.cpan.org/authors/Dean_Roehrich/CookBookB-19960430.tar.gz.
3 http://www.cpan.org/authors/Dean_Roehrich/perlobject.map-19960302.gz.
4 John Keiser. Gluing C++ And Perl Together. – 2001. – http://www.johnkeiser.com/perl-xs-c++.html.
5 Уолл Л., Кристиансен Т., Орвант Д. Программирование на Perl. – СПб.: Символ-плюс, 2005. –
1152 с.
6 http://search.cpan.org/~nwclark/perl-5.8.8/ext/XS/Typemap/Typemap.xs.
DVD: Долой
посторонние звуки!
Иногда безупречную во всех прочих отношениях любительскую запись портит фоновый шум
или подобная мелочь, оставленная без внимания при монтаже. К счастью, Алексей Маслий
знает, как подправить DVD, не нарушая его компоновки.
Н
едавно у моих родственников был юбилей, который они Audacity (http://audacity.sourceforge.net/) и QDVDAuthor (http://
засняли на цифровую камеру, а потом сделали DVD с меню qdvdauthor.sourceforge.net/). Все они входят в состав загружаемого
и видеоклипом по мотивам празднования. И все бы хоро- мультимедиа-дистрибутива Dynebolic, одну из версий которого мож-
шо, но в записи остался фоновой шум, местами очень сильный. И, но найти на диске LXF76, либо установить через менеджер пакетов
конечно, с просьбой очистить запись от шума они обратились ко вашего дистрибутива (я предпочитаю SUSE, а в нем необходимо
мне. К счастью, Linux позволяет решить эту задачу просто и эле- предварительно подключить репозиторий packman – http://packman.
гантно – и на следующих нескольких страницах мы разберемся, как links2linux.org/).
именно. Прежде чем браться за решение задачи, необходимо разобрать-
Для начала формализуем задачу. Имеется DVD-диск с записью, ся, в чем, собственно, заключается основная проблема. На самом
с которой нужно произвести некоторые действия: убрать шум, доба- деле этапы один и два я прошел за несколько часов (считая и вре-
вить комментарии, наложить субтитры на видеоряд и т.д., причем мя, потраченное на получение аудиодорожки и очистку ее от шума).
так, чтобы не испортить имеющееся на диске меню. Можно, конечно, Самая трудная задача – это вернуть очищенный звук на его место
поступить просто – скопировать видео, произвести с ним требуемые на DVD. Чтобы разобраться с ней, необходимо хорошо представлять
преобразования и сделать новый диск, но это проблема уже другого себе структуру диска DVD Video.
порядка сложности. Обычно на диске находятся два каталога: AUDIO_TS и VIDEO_TS.
Данная задача решается в три этапа. Во-первых, необходимо Интересующие нас файлы содержатся во втором из них. Все виде-
сохранить звуковую дорожку в отдельный файл в том формате, офайлы имеют расширение .VOB. Это обычные ролики в форма-
который понимает ваша программа обработки звука. Во-вторых, те MPEG-2, которые могут быть просмотрены с помощью любого
нужно произвести необходимые действия со звуковой дорожкой (в проигрывателя. Файлы с расширением .IFO и .BUP – служебные, в
нашем случае – убрать фоновый шум) или с видеорядом (но тогда них содержится информация о меню и временных сдвигах глав
длительность ролика не должна изменяться). Наконец, звуковую (chapter) – отдельных отрывков из видеопотока раздела. Раздел
дорожку следует записать обратно на DVD-диск. (title), в свою очередь, представляет собой видеопоток со своей
собственной временной шкалой. Меню видео-DVD содержится в
Рис. 1. Общий DVD изнутри трех файлах с расширениями .IFO, .BUP и .VOB, при этом каждый
вид программы Чтобы реализовать описанную выше идею, нам понадобятся три раздел может иметь собственное меню. Схема именования файлов
Avidemux2. основных программы. Это Avidemux2 (http://www.avidemux.org/), проста: VTS_xx_y.VOB, где хx – номер главы, у – порядковый номер
файла. у=0 соответствует файлу, содержащему меню главы, а все
видеофайлы с одинаковым значением х и у≥1 имеют общую вре-
менную шкалу.
Добываем звук
Приступая к первому шагу, необходимо определить, какой имен-
но раздел видео-DVD мы будем обрабатывать. Любительские DVD
обычно содержат только один раздел, но если вам попадется мате-
риал, содержащий два или более, лучше обрабатывать каждый
из них по отдельности. Выбрав необходимый раздел, скопируйте
все файлы VTS_x_y.VOB c у 1 (в моем случае это VTS_01_1.VOB
... VTS_01_4.VOB) на жесткий диск (и лучше в отдельный каталог).
Далее запустите программу Avidemux2 (Рис. 1). Откройте файл VTS_
01_1.VOB. Программа задает последовательно два важных вопроса:
«Выглядит как mpeg. Хотите индексировать?» и «Здесь несколько
mpeg-файлов, хотите объединить?». В обоих случаях следует отве-
тить «Да». В результате, спустя некоторое время, затрачиваемое на
индексирование и зависящее от скорости вашего компьютера, файл
будет открыт, причем не только первая его часть, но и весь времен-
ной поток. Теперь мы можем непосредственно заняться решением
первой проблемы – сохранить аудиодорожку. Программа Audacity,
Сведение
Настало время возвратиться к Avidemux. Выберите в меню пункт
Аудио > Главная дорожка > External PCM(WAV). После нажатия
Рис. 5. Так выглядит QDVDAuthor. Рис. 6. Окно очереди команд для создания DVD.
Ответы
Есть вопрос по Open Source? Пишите нам по адресу: answers@linuxformat.ru
О
Дело не в видеокарте: причиной ваших про- Отредактируйте файл меню Grub, чтобы всегда
блем с графикой может быть APIC (Advanced загружаться с noapic.
1 BIOS с «тараканами» Programmable Interrupt Controller [Расширен-
В
Я купил, как мне казалось, самый лучший ком- ный программируемый контроллер прерываний, – Но сначала проверьте наличие обновлений BIOS на
пьютер по соотношению цена-производитель- прим. пер.]), управляющий таймингами и прерывания- сайте изготовителя: вполне возможно, что ваша про-
ность, и продолжаю считать его таковым. Но ми для различных компонентов вашей материнской блема была решена в последней версии прошивки.
кое-что меня беспокоит. При включении компьютера и платы, включая контроллер дисков и разъемы видео- Если нет, придется переделать меню загрузки, чтобы
выборе загрузки Ubuntu из Grub, на экран выводится карт. Контроллеры ACPI довольно часто отходят от спе- всегда использовалась опция noapic. Ubuntu не вклю-
сообщение об ошибке MP-BIOS 8254 и каком-то цификаций: многие изготовители полагают, что если чает программу для настройки процесса загрузки, и
неподключенном таймере. Также почти все дистрибу- плата «работает в Windows», то стандартам следовать Вам придется править файл конфигурации вручную.
тивы с DVD журнала не запускаются без опции noapic не обязательно. Вы уже обнаружили, что надо добавить Нажмите Alt+F2 и наберите
в строке загрузки. При загрузке LXFDVD95 выводится noapic в параметры загрузки LiveCD, но необходимо sudo gedit /boot/grub/menu.lst
текст также делать это при загрузке с жесткого диска. Это откроет файл конфигурации меню загрузки в
текстовом редакторе. Большинство строк там начи-
наются с # – это комментарии, и их можно игнориро-
вать. Найдите первую строку, начинающуюся с title;
Наши эксперты это первый пункт меню загрузки. Вам нужно изме-
нить следующую строчку, начинающуюся с kernel,
Мы найдем эксперта на любой вопрос! Вы получите ответ на все: от проблем с установкой или модемом до добавив noapic в ее конец, обязательно через про-
сетевого администрирования; главное – спросить! бел после последнего слова в строке. Файл сохрани-
те. После перезагрузки сообщение об ошибке BIOS
Нейл Ботвик Майк Сондерс исчезнет, и 3D-графика станет стабильной. Видимо,
Как экс-владелец ISP и экс- Майк был одним из создателей
редактор дисков для нашего прототипа LXF – Linux Answers. Его будут и другие улучшения в работе, потому что
журнала, Нейл считает, что в специальности – программирование, «глючная» прошивка APIC способна вызывать раз-
Linux он от скуки на все руки. оконные менеджеры, скрипты ные проблемы, от снижения скорости доступа к дис-
инициализации и SNES.
кам до неверного хода часов. НБ
В
Пол – местный супер- В свободное от исчеркивания текстов Я уже использовал Linux в 1996–1997 годах
программист. Он cправится красными чернилами время Ник для запуска UNIX-приложений на ноутбуке,
со всеми вашими проблемами возится с Linux- графикой и 3D- так как Linux был бесплатным, а Sparcbook
по части web и баз данных. приложениями; он у нас отвечает за
стоил 10 000 фунтов. Позже я решил, что было бы
простые вопросы!
неплохо использовать его снова и установить его на
моем домашнем DELL XPS m1210. Порывшись в
Валентин Синицын Интернете, я нашел, что для моей машины идеален
В редкие свободные минуты Slackware 10, благополучно установил его и исполь-
главный редактор нашего журнала зовал Lilo для двойной загрузки Windows Vista и
обычно запускает mcedit, чтобы Linux.
отшлифовать какое-нибудь
К сожалению, я не смог заставить работать бес-
открытое приложение. Его любимая
тема – настольный Linux. проводную сетевую карту; точнее, я не знаю, как
это сделать. Я смотрел в Сети, находил там реше-
КУДА ПОСЫЛАТЬ ВОПРОСЫ: ния, но все они были на чуждом для меня языке. За
Пишите нам по адресу: answers@linuxformat.ru или спрашивайте на форуме: www.linuxforum.ru прошедшие десять лет я очень многое перезабыл
и чувствую себя полным «чайником». Моя беспро- Синхронизация ваших записей о финансах – это
водная карта: Intel PRO/Wireless 3945ABG Network другая тема. GnuCash может импортировать стан-
Connection. дартные учетные записи QIF, но не экспортировать
Грег [Greg] их. Зато KMyMoney (http://kmymoney2.sourceforge.net)
О
Существует официальный драйвер от Intel умеет делать и импорт, и экспорт, так что Вы сможете
для этой беспроводной карты, найти его импортировать файлы с вашего PDA и переносить их
можно здесь: http://ipw3945.sourceforge.net, назад после модификации. Те, кто не разбираются в
но он требует довольно свежего ядра для работы, бухгалтерском учете профессионально или не имеют
как минимум 2.6.13. Slackware 10 старше трех лет и опыта работы, вероятно, сочтут KMyMoney более лег-
значительно старше этого драйвера, и использует ким, чем GnuCash. KMyMoney – тоже KDE-приложе-
ядро версии 2.4. Для нормальной работы нового ние, оно должно присутствовать в любом из перечис-
аппаратного обеспечения Вам нужен дистрибутив – и ленных выше дистрибутивов. НВ
в частности, ядро – такой же новый, как оборудова- CSynCE и synce-kde позволяют вашему ПК с Linux и
ние. Если вы хотите держаться Slackware, то устано- PDA с Windows идти в ногу друг с другом с минимумом 4 Перезапись URL
В
вите новейшую версию 12.0: это первый релиз с яд- мороки. Пишу web-сайт со множеством PNG-изображе-
ром 2.6, которое необходимо вашей беспроводной ний – большинство из них использует прозрач-
карте, по умолчанию. Пакеты для использования ность. Он великолепно работает во всех послед-
вашей карты со Slackware 12 есть на сайте PPC, это важная для меня программа – предоставляет них версиях браузеров, но (как и ожидалось) не в IE6.
ftp://ftp.slackware.at/slackware-12.0/extra/intel-wlan- ли GnuCash похожие возможности? Чтобы исправить это, я создал GIF-версии для каждой
ipw3945. Герхард Штигер [Gerhard Stieger] картинки (а также таблицу стилей), загружаемые
О
Как альтернативу, можно установить любой дру- Синхронизацию Linux-приложений с устрой- вместо PNG, если пользователь использует IE6.
гой дистрибутив, в репозитории которого есть пакет ствами Windows Pocket PC позволяет произ- Я хочу сделать это с помощью mod_rewrite и
ipw3945. Неплохой выбор – Ubuntu c DVDLXF94, водить каркас SyncCE (www.synce.org/index. .htaccess, чтобы images/png/image1.png переписывал-
поскольку драйвер ipw3945 включен в установку по php/SynCE-Wiki); степень его дружелюбия к пользова- ся в images/gif/image1.gif. Вот мой файл .htaccess:
умолчанию и должен «просто работать». В Fedora 7 телю и качество зависят от приложения. Проще всего RewriteEngine On
с DVDLXF95 также имеется ipw3945, но перед его синхронизируются приложения пакета KDE PIM – KMail, RewriteCond %{HTTP_USER_AGENT} “MSIE 6”
установкой требуется добавить репозиторий ATrpms Kontact, KAddressBook и KOrganiser. Чтобы сделать это, RewriteRule /images/png/([A-Za-z0-9])+\.png$
в менеджер пакетов. Как добавить репозиторий, мож- необходимо установить пакет synce-kde, присутствую- /images/gif/$1+\.gif
но прочитать по адресу http://atrpms.net/install.html. щий во многих дистрибутивах, но не во всех устанавли- RewriteCond %{HTTP_USER_AGENT} “MSIE 6”
Этот сайт содержит отнюдь не одни беспроводные ваемый по умолчанию. После установки системы RewriteRule css/style.css css/iestyle.css
драйверы – там множество самых разнообразных запустите менеджер пакетов и установите synce-kde, Перезапись CSS работает четко, но картинки (PNG
пакетов – и заслуживает добавления в ваш список если он не помечен как установленный. После этого вы на GIF) не заменяются.
репозиториев. МС сможете синхронизировать свою почту и контакты. OnlyTheTony, с форумов
О
Однако это потребует запуска системы на базе Вы предложили хорошую идею использовать
3 Желание синхронности KDE, типа Mandriva, Kubuntu, PCLinuxOS или SUSE. Все mod_rewrite для смены URL. Сбой происхо-
В
Хочу перейти на Linux, но боюсь, что синхрони- они присутствуют на DVD-дисках LinuxFormat, но вы дит потому, что Вы используете + для объ-
зация Microsoft Outlook на моем PDA не будет также можете найти ссылки на них и на множество единения строк, а mod_rewrite работает с регулярными
работать. Еще у меня на PDA стоит Money for других дистрибутивов на www.distrowatch.com. выражениями, где + означает «одно или более повто-
рений», а не оператор конкатенации.
В регулярных выражениях не нужно соединять
строки: чтобы отметить неизменяемые части, исполь-
Коротко про… зуются скобки, а $1, $2... включат их в путь назначе-
ния, как у Вас и делается, и все является либо текстом,
В
У меня внешний жесткий диск, отформатиро-
Ныне MD5 также используется для проверки случай- Кроме того, можно создать файл MD5SUMS:
ванный в NTFS. Мне нужно произвести его
ного повреждения во время передачи. При загрузке ms5sum *.iso >MD5SUMS
дефрагментацию, но я не хочу потерять все
ISO-образа, скачайте заодно и файл MD5. Прежде чем SHA1-файлы работают по аналогичному принципу,
тратить время на запись файла на компакт-диск и но с несколько более высоким уровнем безопасности. данные на нем. Можно ли выполнить дефрагмента-
попытки с него загрузиться, проверьте, не был ли файл Синтаксис тот же, только используется программа цию NTFS из Linux? Я запускаю Ubuntu Feisty Fawn на
поврежден, командой: sha1sum. старом компьютере PC2800.
churst1, с форумов
О
Короткий ответ – нет, нельзя. Во-первых, дольше, чем простое копирование с диска. Вы можете
почему на этом диске NTFS? Если с него сделать это так:
загружают Windows, любые попытки выпол- tar czf ntfs.tar.gz /mnt/ntfs && umount /mnt/ntfs &&
нить дефрагментацию из-под Linux могут привести к mkntfs /dev/sda1 && mount /dev/sda1 /mnt/ntfs -t ntfs-
ее незагружаемости. Но если диск уже содержит 3g && tar xf ntfs.tar.gz -C /mnt/ntfs
Windows, то почему бы не провести дефрагментацию Если Вы используете NTFS только ради чтения из
из нее – Windows ведь не только для того, чтобы бало- Windows (а зачем она еще нужна?) и только с Вашим
ваться игрушками. Если же диск используется только компьютером, где стоит Windows, лучшим решением
для хранения данных, вы можете снизить фрагмента- будет переформатирование диска в ext2 и установ-
цию, скопировав все их с него, отформатировав диск ка драйвера ext2 с www.fs-driver.org в Windows. Это
и записав данные обратно. Это действие требует драй- снимет проблему фрагментации, и Вы получите луч-
вера файловой системы NTFS с полной поддержкой шее быстродействие в Linux. В вышеприведенных
записи, такой, как коммерческая Paragon NTFS for командах для этого надо заменить mkntfs на mke2fs
Linux, которую мы рассматривали в прошлом месяце, и удалить Puppy Linux уместил невероятное количество
программ на 100 МБ и идеален для маломощных
или NTFS-3G, включенная в репозиторий Ubuntu. -t ntfs-3g
компьютеров.
Также необходим пакет ntfsprogs, поэтому запустите из команды mount. НБ
Synaptic и инсталлируйте оба.
Теперь надо проделать небольшую работу по 6 Нужен легковес производительности. А в первую очередь нужен нетре-
В
открытию терминала, выбору директории, достаточно Я присматриваю ОС для AMD K6/200. Думал, бовательный оконный менеджер: среды Gnome и KDE
просторной для хранения содержимого NTFS-диска, и что NetBSD – лучший выбор, но максимум, чего к таковым не относятся. Гораздо лучше FluxBox, Xfce
запуску следующей команды: я добился в результате установки – это режим или IceWM. С учетом текстового процессора, Xfce был
tar cf ntfs.tar /mnt/ntfs && umount /mnt/ntfs && командной строки. XFree86 (не XOrg) требует отдель- бы лучшим выбором: он использует GTK, как и
mkntfs /dev/sda1 && mount /dev/sda1/mnt/ntfs -t ntfs- ной настройки. Я инвалид, и лишние усилия для меня AbiWord. Раз ресурсы у вас ограничены, выбирайте
3g && tar xf ntfs.tar -C /mnt/ntfs проблема. Существуют ли «простые» версии, наподо- набор приложений, использующих одни и те же биб-
Все это надо записать в одну строку. Мы сцепили бие PC-BSD или Desktop BSD – легких версий лиотеки, чтобы Ваша система работала более эффек-
вместе две долгоиграющих команды tar и mkntfs – это FreeBSD? тивно.
позволит Вам не быть сиделкой у компьютера, но каж- Пробовал DSL на машине P2/400 – ничего особен- Кстати о ресурсах: один из лучших способов уве-
дая следующая команда выполнится, только если пре- ного, но я открыл DSL-N. Там даже был настоящий личения производительности любой Linux-системы –
дыдущая отработает без ошибок (совершенно неза- тестовый процессор! Что будет с производительно- увеличение объема ОЗУ. Потратив немного фунтов/
чем переформатировать диск, если произойдет сбой стью, если установить Gnome или KDE на NetBSD или долларов/евро/песо на дополнительную память, вы
в копировании). Данный пример подразумевает, что DSL-N? Fedora Core с Gnome работает на P2/400 с жут- получите больший прирост скорости, чем при вложе-
Ваш диск – /dev/sda1 и смонтирован он в /mnt/NTFS. кими тормозами. нии тех же средств в более быстрый процессор.
Перед запуском команды убедитесь, что подставлены Гэри Причард [Gary Prichard] Есть целый набор дистрибутивов, предназначен-
О
правильные пути для Вашего компьютера. Процессор K6/200 по нынешним меркам ных для «слабых» систем: вы уже открыли для себя
Если у Вас мало места для хранения данных, може- очень медленный, поэтому необходим «лег- DSL и DSL-N, но советую также изучить Puppy Linux
те создать сжатый архив, но это продлится гораздо кий» дистрибутив для получения терпимой с www.puppylinux.org. DSL ограничен объемом ISO-
FISH
Не путайте с языком программирования FISh…
разбиения Konqueror на два окна, легко
сравнивать или переписывать локаль-
ную и удаленную копии директорий.
только для входа через учетную запись с
правами запуска базовых команд обо-
лочки. Эти сервисы не дают установить
полный вход в оболочку, и FISH не рабо-
Итак, я могу использовать это для тает, но есть альтернатива. SSHFS (http://
управления файлами в Konqueror или fuse.sourceforge.net/sshfs.html) – файло-
Тогда что это такое? user@, то будет использоваться текущее Midnight Commander? вая система FUSE, позволяющая монти-
Это сокращение от FIles (Файлов), пере- имя пользователя. Управление файлами – это еще не все. ровать себя на учетных записях с воз-
даваемых через протокол (оболочки) Любое приложение KDE, работающее с можностью только копировать файлы
SHell. Выходит, через FISH кто-то может файлами, может получать их через FISH. (scp или rsync), но требуется монтиро-
читать файлы на моем компьютере? Хотите отредактировать файл на вашем вать удаленную файловую систему, даже
Стоп, не так заумно. Что он делает? Нет, потому что используется SSH. Но, web-сервере на другом конце земного если вам нужно взять всего один файл.
Проще говоря, он дает доступ к файлам если вы не используете аутентификацию шара? Просто наберите
на удаленной машине только через SSH по ключу, необходимо установить пароль kate fish://me@my.server iffypagename.
(или RSH). На удаленной машине не на учетную запись. В обоих случаях, html
нужно никакого специального програм- доступ сможете получить только вы. для загрузки его в Kate, и при нажатии
много обеспечения, кроме SSH и стан- Save модифицированный файл отпра-
дартных команд оболочки. Ваш компью- Ну, ладно, но Midnight Commander вится обратно на сервер. Конечно, web-
тер должен иметь установленными FISH- малость устарел, верно? В смысле, это страницами вы не ограничены: столь же
программы для доступа к этим файлам. ведь консольная программа, а как удобно использовать это для редактиро-
насчет GUI? вания файлов конфигурации.
Где такое ПО можно взять? Если у вас KDE, откройте Konqueror (или
Скорее всего, оно у вас есть; наберите мини-консоль Alt+F2) и наберите Значит, можно использовать FISH для
cd /#sh:user@hostname/some/path fish://user@hostname/some/path управления файлами на службах уда- FISH можно использовать для
в Midnight Commander, и вы получите Используя магию kio_slaves, эта ленного резервирования, вроде Rsync. запуска графических программ
список содержимого /some/path на уда- команда загрузит удаленную директо- net или StrongSpace? сравнения файлов на удаленной
ленной машине. Если вы опустите часть рию в Konqueror. Благодаря свойству К сожалению, нет. FISH предусмотрен машине.
образа в 50 МБ, а Puppy Linux больше раза в два. Это но отсоединить кабели питания от неиспользуемых пьютер для резервных копий был включен всегда, ког-
означает, что он включает гораздо больше программ, устройств. После этого ваша система должна загру- да требуется их создать.
например, текстовый процессор AbiWord и сопутству- жаться. Затем добавьте модуль piix к образу, который
ющие офисные приложения, SeaMonkey (новое имя Ubuntu загружает при запуске, с помощью команд 9 Новый диск хромает
В
Mozilla) для Web и почты и много чего еще. Недостаток sudo echo piix >>/etc/initramfs-tools/modules Найдя, что мне необходим жесткий диск
Puppy в том, что процесс инсталляции на жесткий sudo update-initramfs -u побольше, я подключил новый диск как hdb,
диск очень запутан, так как он спроектирован как Теперь вам надо выключить компьютер, снова разбил его, как надо, скопировал файловые
LiveCD-система. Зато вы можете запускать его прямо подсоединить все устройства и перезапустить его. системы со старого диска (hda) и попытался загру-
с CD, используя жесткий диск только для хранения Данная ошибка замечена небольшим числом поль- зиться с нового диска. К сожалению, ничего не
данных и настроек. зователей Ubuntu, у которых подключено много уст- вышло.
Другая альтернатива – правда, потяжелее – это ройств. Сообщалось также, что если проблема во Я сделал копии разделов /, /boot, /usr, /home и
Zenwalk (www.zenwalk.org). Если объем Вашего ОЗУ флоппи-дисководе, ее можно обойти, оставив в нем некоторых других. Я также создал swap-раздел. /boot,
такой, какой обычно использовался на 200 МГц маши- дискету, но мы не смогли этого проверить, и в любом первый основной раздел, сделал загрузочным. Я cпи-
нах, когда они были в новинку, то его не хватит; случае, это не метод. НВ сал MBR, используя lilo -M /dev/hdb. Далее монтиро-
но Zenwalk дает больше функций, чем маленькие вал /boot и / разделы, редактируя новую копию /etc/
дистрибутивы. 8 Сервис резервирования lilo.conf, (теперь на /mnt/hdb5) и запускал lilo -C /hdb5/
В
Запуск любой ОС на K-6/200 – это всегда компро- Откликаясь на Сравнение «Онлайн-резервиро- etc/lilo.conf -b /dev/hdb1 – на вид вроде работало.
мисс между возможностями и производительностью, вание» (LXF94), расскажу о мелкой, но, наде- Когда я пытаюсь загрузиться с нового диска, я
но он вполне возможен; тем более, если увеличить юсь, решаемой проблеме. Я использую iBackup, прохожу через стадию загрузочного окна Lilo и вижу
ОЗУ. НБ потому что делаю резервное копирование с моего ПК сообщения, заканчивающиеся на
(Ubuntu) и компьютера жены с Windows. Она справля-
7 Работка для Ubuntu ется с резервным копированием без моей помощи. initrd finished
В
Пытаясь запустить или инсталлировать Ubuntu, Проблема в том, что в процессе резервирования Freeing unused kernel memory
я получаю следующее сообщение после появ- с моего компьютера, запускаемого cron, соединение Warning: Unable to open an input console
ления заставки: часто прерывается. Когда это происходит, создавае-
unable to access tty job control turned off мый stunnel рушится, уничтожая резервирование, и я После этого только нажатие на reset выводит ком-
и возвращаюсь в командную строку. Ubuntu явно получаю частично скопированные данные на iBackup- пьютер из ступора. У меня стоит “Mandrakelinux release
пытается обратиться к моему флоппи-дисководу, сервере. Есть ли способ восстановить все при обрыве 10.2 (Limited Edition 2005) for i586”.
потому что перед появлением сообщения об ошибке соединения или даже возобновить процесс после вос- Родни М. Бэйтс [Rodney M Bates]
О
он включается. становления связи без потери данных? Проблема не в загрузчике. Раз уж ядро
Дэвид Лоусон [David Lowson] Сервер iBackup не позволяет настраивать время загрузилось, значит, загрузчик свое дело
О
Похоже, что ошибка связана с ядром: не или дату для копируемых файлов, поэтому все файлы сделал. Такая ошибка показывает на отсут-
найдя загрузочный диск, оно ищет его на имеют дату и время копирования. Из-за этого я копи- ствие файла в /dev – возможно, в /dev/console. Хотя
всех подряд устройствах, прописанных в рую сжатые в tar файлы и теряю возможности rsync. динамические файловые системы dev, типа udev и ее
BIOS. Потому-то дисковод и начинает работать. Эта Это хороший повод переключиться на использова- предшественника devfs, создают записи устройств в
проблема не у Вас одного, и существует более чем ние Rsync.net, но мне надо копировать файлы также и /dev автоматически, некоторые из них нужны еще до
одно решение. с компьютера моей жены. С iBackup у нее свое соеди- запуска devfs/udev. Подозреваю, что вы пропустили
Первое заключается в загрузке с установочного нение и URL. содержимое /dev, копируя свой корневой раздел –
диска и правке fstab в установленной системе. Если Гуус [Guus] забыли включить его в команду копирования или
О
ваш корневой раздел находится на /dev/sda1, нужны Если Вы используете rsync, рестарт резерви- исключили «прочие» файловые системы при копиро-
следующие команды: рования не должен вызывать проблем, пото- вании (вы не пояснили, как именно копировали фай-
sudo -i му что rsync «поднимается» с того места, где ловые системы, но cp, rsync и tar имеют опции по
mount /dev/sda1 /mnt произошел сбой. Не исключено, что сервер устанавли- исключению других файловых систем).
gedit /mnt/etc/fstab вает время копирования как время создания файлов, Содержимое вашей исходной директории /dev
В fstab вы должны найти строчку, где монтируется потому что так указано в опциях rsync. Вам нужно теперь скрыто, потому что новая, динамическая /dev
корневой раздел, она выглядит примерно так: вызывать rsync с опцией --times для сохранения вре- была примонтирована поверх нее, но, как вы можете
# /dev/sda1 мени файлов. Опция --archive – комбинация несколь- видеть, все еще доступна.
UUID=71f72f22-0a14-45b7-9057-f7b0bd9d819c /ext3 ких опций резервирования, включая --times. Это сни- mkdir /mnt/tmp
defaults.... мет необходимость копирования tar-архивов на сервер mount --bind / /mnt/tmp
UUID (Universally Unique IDentifier [Универсальный и позволит копировать индивидуальные файлы в том позволит обратиться ко всему корневому разделу
Уникальный Идентификатор]) позволяет Ubuntu нахо- виде, в котором они хранятся на вашей машине, что через /mnt/tmp без других подмонтированных фай-
дить корневой раздел, даже если сменилась точка сильно упрощает перезапуск копирования. ловых систем. /mnt/tmp/home должен быть пуст, а
подключения устройства (например, при добавлении Я попробовал Rsync.net после чтения статьи (рань- /tmp/mnt/dev должен содержать файлы устройств.
нового диска), но здесь бывают проблемы. Смените ше у меня был Strongspace) и переключился на Скопируйте их в /dev на Вашем новом разделе, и
UUID=xyz на путь вашего устройства, и система сно- него полностью. Резервирование нескольких машин ошибка при загрузке исчезнет. Самый простой способ
ва начнет загружаться. Fstab в этом случае должен выполняется легко, если Вы можете более или менее убедиться, что новый корневой раздел содержит все
выглядеть так: свободно обращаться с имеющейся памятью – удоб- файлы со старого –
# /dev/sda1 но будет создать по директории на резервную копию rsync -a --delete /mnt/tmp/ /mnt/newroot/
/dev/sda1 / ext3 defaults.... каждой машины. Rsync.net использует SSH для рабо- ПХ
Другое решение более экстремальное, так что ты rsync, так что в stunnel нужды нет, и вы можете
используйте его только в случае провала трюка с fstab. применить Duplicity для шифрования данных. 10 Рота, подъем!
В
Вы должны открыть корпус вашего компьютера и Альтернативное решение – резервирование дан- Для Mac OS X и Windows существуют специаль-
отключить все лишние дисковые устройства, оставив ных на локальный диск и синхронизация их с удален- ные программы, которые позволяют организо-
только загрузочный диск и DVD, с которого выпол- ным сервером. Преимущество здесь в том, что Ваш вать включение компьютера по расписанию. А
нялась установка – но не забудьте сперва выключить первый шаг резервирования локален: это позволяет есть ли что-нибудь подобное в Linux?
компьютер! Дисковод также отключите – достаточ- быстро восстановить данные, но требует, чтобы ком- Анатолий Евдокимов
Загружаясь с DVD
О
С точки зрения BIOS, загруз-
В
Я хочу установить DVD с LXF94 ка с CD и DVD – одно и то
на старый ПК в двойную загруз- же: DVD распознается прос-
ку с Windows 98SE. Это 7-летний то как большой CD-ROM. Старые
Athlon 600 на материнской плате MSI дистрибутивы Linux использовали
со 128 МБ ОЗУ, двумя жесткими дис- загрузочную дискету для быстрого
ками и приводами DVD и CD-RW. Его старта установки с CD, поскольку
BIOS не имеет опции загрузки с DVD. в то время множество компьюте-
Загрузочная последовательность поз- ров не поддерживало загрузку с CD.
воляет мне использовать CD-ROM как Ваше поколение техники должно
первое устройство, и я спокойно могу поддерживать загрузку с оптичес-
ее изменить. На форумах мне совето- ких дисков – неважно, CD это или
вали установить сперва Windows, если DVD. Установив в BIOS загрузку с CD,
нужна двойная загрузка (а так и есть). Вы не должны иметь проблем. Но Для ПК, неспособных загружаться с DVD, попробуйте Smart Boot Manager.
Я использовал Partition Magic V5 для могут сказываться личные особен-
создания и FAT, и Linux-разделов. ности BIOS: некоторые старые BIOS Windows, вставьте чистую дискету те установщику Ubuntu использо-
По-моему, Linux использует дру- дают сбой, если подключено более в дисковод и выберите sbootmgr.dsk вать все свободное место на диске
гой формат файлов по сравнению с одного оптического привода. Если как исходный образ. Загрузившись с («свободное» в этом случае означает
FAT, но я пытался использовать загру- вы установили в BIOS загрузку с CD и этой дискеты, вы сможете загрузить «неразмеченное», а не место внутри
зочную дискету Windows для «уста- не можете загрузиться с DVD, попро- ваш DVD. размеченных разделов).
новки» или «инсталляции» с DVD, и буйте отсоединить кабель от вашего Различия в файловых системах Ваш компьютер может «тор-
неудачно. Будет ли это работать, если CD-RW, чтобы остался только один Windows и Linux в этом случае к мозить» также из-за памяти. 128
диск будет CD-ROM? Дискета Red Hat оптический привод. делу не относятся, так как все дан- МБ – очень мало по сегодняшним
6.1 позволила мне запустить CD Red В наше время использование ные поступают с DVD, имеющего стандартам: современный рабочий
Hat, но она требует именно CD Red Hat загрузочной дискеты для установки другую файловую систему (ту же, стол, вроде KDE в Kubuntu, будет
и не работает с DVD LXF94. С CD Red с CD или DVD – это уже экзотика, что у CD). Использование Windows- работать очень медленно. Версия
Hat CD все получилось, но я прервал но на всякий случай мы поместили инструментов для создания разде- Ubuntu на LXFDVD наряду с жадны-
установку, потому что предпочитаю одну на DVD. Smart Boot Manager в лов Linux способно порождать труд- ми до ресурсов Gnome и KDE вклю-
(K)ubuntu. Могу ли я сделать загру- каталоге Essential/SBM на DVD как ности. Посредством Partition Magic чает нетребовательный рабочий стол
зочную дискету с DVD-драйверами на раз и есть загрузочная дискета для удалите созданные Linux-разделы, Xfce, используемый в Xubuntu. НБ
ней для установки DVD LXF94? запуска с оптического или жесткого включая swap, и оставьте просто
Джон Паттерсон [John Patterson] диска. Запустите RAWWRITE.EXE в неразмеченное место. Затем вели-
О О
Самый простой способ организовать «подъ- установленное программно, и отдают предпочтение Научить Grub запускать загрузчик с CD
ем по распорядку» – это воспользоваться времени, указанному непосредственно через BIOS. несложно, но для решения этой задачи при-
функцией ACPI WakeUp, которой обладает Исходя из этого, рекомендуется отключить в BIOS дан- дется привлечь два других проекта: MEMDISK
большинство современных материнских плат. Linux ную функцию – обычно она называется как-то вроде (http://syslinux.zytor.com/memdisk.php) и Smart Boot
предоставляет к ней два интерфейса. Wake from RTC/Alarm. Иногда пробуждение по таймеру Manager (http://btmgr.sourceforge.net/about.html или
В ядрах старше 2.6.22 используется файл /proc/ автоматически отменяется, если после его установ- Главное/SBM на нашем DVD). MEMDISK является час-
acpi/alarm, в который можно записать дату в формате ки в аппаратные часы были внесены изменения – а тью SYSLINUX и должен быть доступен в вашем дист-
«ГГГГ-ММ-ДД ЧЧ:ММ:СС», например, это делают многие дистрибутивы при выключении. рибутиве в виде одноименного пакета. Разверните
echo “2007-10-18 23:30:00” >/proc/acpi/alarm Поищите команду hwclock в скриптах /etc/init.d, и если данный пакет и извлеките из него файл memdisk,
после чего можно выключать компьютер обычным она там встречается, обеспечьте, чтобы время пробуж- который следует скопировать в каталог /boot. Далее,
образом. Конечно, следует проследить, чтобы сис- дения устанавливалось после нее повторно. возьмите из каталога Главное/SBM на первой стороне
темный блок остался подключенным к электросети и Можно пойти другим путем и воспользоваться нашего DVD файл btmgr.floppy.bz2 – это образ загру-
выключатель на его блоке питания находился в поло- программой nvram-wakeup (http://http//sourceforge. зочной дискеты Smart Boot Manager. Нам потребуются
жении ON. net/projects/nvram-wakeup), изменяющей установки ее первые 18 КБ: откройте root-терминал и наберите
Ядра 2.6.22 и выше предоставляют новый интер- прямо в энергонезависимой памяти BIOS (отсюда dd if=btmgr.floppy of=/boot/sbm.bin bs=1k count=18
фейс через файл /sys/class/rtc/rtcX/wakealarm. Для и название). Поскольку формат хранения данных в Наконец, необходимо создать соответствующую
установки «будильника» в него следует записать памяти меняется от производителя к производителю, запись в меню Grub:
желаемый момент времени в виде числа секунд, это получится только на поддерживаемых програм- title Boot from CD
прошедших с начала эпохи (1 января 1970 года, мой материнских платах, зато будет работать, как kernel /boot/memdisk
00:00:00) – формате, столь любимом ветеранами Unix. часы. ВС initrd /boot/sbm.bin
Чтобы отменить пробуждение, достаточно записать ВС
в файл значение 0. Кроме того, необходимо удосто- 11 Grub, который загрузит всех
В
вериться, что аппаратные часы вашего компьютера Надоело каждый раз устанавливать в BIOS
настроены на UTC, иначе пробуждение произойдет не загрузку с CD, чтобы попробовать новый дист-
в то время. рибутив. Есть ли способ добавить соответству-
Несмотря на свою простоту, данный способ не ющую опцию в Grub?
лишен недостатков. Так, некоторые материнские пла- Иван Пуренко
ты отказываются принимать во внимание значение,
На этом раздел заканчивается, но наши эксперты не расходятся по домам до тех пор, пока не дойдут до сути
Большой вопрос общей проблемы.
12 Администратор через браузер чтобы скрипты запускались на сервере, а не на MySQL. Теперь перейдите на https://www.ваш.
В
У нас учетная запись web-хостинга, предо- вашей машине. сайт/phphmyadmindir/ – вы увидите список ваших
ставляющего Apache, PHP и MySQL. Мы Загрузите и распакуйте один из tar-архивов с баз данных. Выбор одной из них покажет входя-
имеем FTP-доступ для загрузки файлов, но сайта phpMyAdmin (они различаются только языком щие в нее таблицы. Отсюда можно просматривать,
не доступ к командам оболочки, из-за чего и методом сжатия). Традиционный метод конфигу- выполнять запросы и модифицировать ваши SQL-
настройка базы данных SQL и других вещей рирования phpMyAdmin – создать подходящий файл таблицы, как вам нравится. Если у вас PostgreSQL,
затруднительна. Нам нельзя устанавливать на config.inc.php, взяв за основу включенные примеры, а не MySQL, то существует аналогичная программа,
сервер дополнительное ПО. Мы могли бы поискать но есть также и скрипт установки, который запуска- phpPgAdm, доступная по адресу http://phppgadmin.
другое место с shell-доступом, но нам нравится та ется всего один раз после копирования файлов на sourceforge.net.
цена, которую мы здесь платим. Есть ли способ сервер. Прежде чем что-то делать, убедитесь, что это Не только SQL-базы можно администрировать
получить административный доступ через web- безопасно. Любой получивший доступ к директории через web-интерфейс. Webmin позволяет изменять
браузер, и что для этого надо сделать? phpMyAdmin может читать и изменять вашу базу все, что вообще разрешено менять на *nix-маши-
О
Хотя переход на хостинг, поддерживаю- данных, так что обезопасьте себя с помощью файла нах, не ограничиваясь серверами. В вашем случае
щий SSH-доступ, добавит гибкости, .htaccess (или другим способом), чтобы подключе- Webmin невыгоден потому, что должен быть уста-
существуют решения, привлекательные ние было возможно только с защищенной паролем новлен и запущен от имени root, поскольку исполь-
даже в случае отсутствия командной строки. учетной записи. По возможности, включите его на зует собственный встроенный сервер, отличающий-
Основное из них – phphMyAdmin (www.phpmyadmin. раздел вашего пространства хостинга, доступный ся от подобных Apache. Спросите об этом своего хос-
net). Как видно из имени, это программа адми- через HTTPS, ведь вы передаете пароль при запуске тинг-провайдера: может, он уже установил Webmin
нистрирования MySQL, написанная на PHP; она установочного скрипта. Создайте директорию config или его бедного родственника Usermin. Если нет, то
устанавливается как набор файлов в вашей учет- в директории phpmyadmin и скопируйте всю дирек- он может захотеть его установить: это будет выгод-
ной записи после настройки безопасности и кон- торию (включая .htaccess) на сервер хостинга. но всем заказчикам. Он также может установить для
фигурации. Многие web-хостинги предоставляют Зайдите на https://www.ваш.сайт/phpmyadmindir/ вас phpMyAdmin, и у вас не будет нужды тратить на
доступ к базам данных только с локальных IP, setup.php и заполните поля своего подключения к это свою дисковую квоту и трафик. НБ
LXF HotPicks
В ЭТОТ РАЗ ТОЛЬКО ДЛЯ ВАС: Rawstudio sdop
Atomic Tanks KBackup PartImage rlocate
Elastix
Kflickr
Krusader KardsGT
Ник Вейч
Чудо-математик, фанат Flickr и
иногда редактор LXF, Ник
рассылает из своего секретного
бункера летучих роботов-обезьян
на разведку интересных
приложений в поле свободного ПО.
Обработка изображений
Rawstudio
Версия 0.6 Сайт http://rawstudio.org/
R
awstudio мы уже рассматривали ранее, тов с форматом RAW или пакетной обработки
в LXF92; мы к ней вернулись, потому изображений в том виде, который вам больше
что здесь появилось несколько новых нравится.
функций. Для упустивших предыдущие пуб- Поскольку в RAW-изображениях, как пра-
ликации про эту программу, приведем некото- вило, 12 и более бит на канал, а у обычных
рые детали. Многие цифровые камеры – осо- «выходных» форматов 8 бит на канал, полу-
бенно более дорогие камеры SLR – позволяют чается неизбежная потеря качества при пере-
Rawstudio
получать изображения в т.н. «сыром» (raw) воде в JPEG, независимо от того, происходит и отметить нужные (выберите изображение
выполняет экспорт
формате, прямо с датчика. Обычно «сырые» это в камере или в Rawstudio – последняя дает и нажмите клавишу с цифрой), а затем пере-
не только в JPEG-
данные преобразуются в JPEG, но некоторые контроль над тем, какие биты отбрасывать файлы, но и в 16- ключиться на эту вкладку и заняться обработ-
камеры позволяют сохранять эти (довольно (можно также сохранять в других форматах). битные TIFF-файлы, кой. Обработка изображений требует време-
большие) файлы отдельно. Они более инфор- Запустите программу, выберите нужную чтобы сохранить всю ни, поэтому предусмотрен Пакетный режим
мативны, чем JPEG-файлы, и могут использо- папку, и все ваши файлы в RAW-формате информацию (Batch), и кстати, каждый снимок можно обра-
ваться для корректировки выдержки и других загрузятся как эскизы в верхнюю часть окна об изображении. ботать несколько раз по-разному.
эффектов. Многие пользователи также счита- Rawstudio. Вкладки внизу слева позволяют Новое в этой версии – улучшенная под-
ют, что компьютер переделывает RAW в JPEG выбрать группы фотографий, так что обыч- держка новых камер (благодаря dcraw) и дол-
лучше, чем фотоаппарат. ная схема работы – пройтись по всем фото гожданная коррекция посредством кривых.
Проблема RAW-формата в том, что у каж- В ней пока нет контроля каналов, но даже и
дой камеры он свой. Проект с открытым
кодом dcraw – отличное решение: он отсле-
«Разных RAW-форматов в таком виде это разительные обновления в
обработке изображений. Просто нажмите на
живает появление новых форматов. Rawstudio,
при его поддержке, предлагает богатый все-
много, и со всеми надо профиль кривой и поиграйте с кнопками, что-
бы добиться желаемых изменений.
возможными функциями GUI для эксперимен- как-то справляться… »
Шаг за шагом: Обработка RAW-файлов
Simple DocBook
Processor
Версия 0.03 (Default) Сайт http://sdop.freshmeat.net
Поищите в Google “sdop”, и, вероятно, получи- Другой недостаток – sdop не поддержива-
те в результатах поиска San Diego Organising ет полный спектр возможностей стандартного
Project, Society for Diabetes in Old People и дру- набора функций DocBook; но отсутствие боль-
гие (без сомнения) достойные внимания сооб- шинства этих опций не так уж мучительно для
щества. Вряд ли вы найдете Simple DocBook печати, и вы, вероятно, его даже не заметите.
Использовать sdop
Processor, если, конечно, не ищете его специ- В ограниченной функциональности легко
очень легко,
ально. Что, вообще говоря, плохо, поскольку найти и плюс – простоту применения:
да к тому же есть
он довольно-таки хорош. sdop -o output.ps docbookfile.xml man-страница...
Основная его цель – получение PostScript- решит за вас все ваши проблемы (хотя есть
страниц из XML DocBook-файлов. Ничего дополнительные опции для генерации сооб-
больше. Есть и другие программы для этого щений, предупреждений и т.д.).
преобразования, но sdop отличается от них Короче, если вы хотите создать красивый,
рядом ключевых моментов. хорошо отформатированный и готовый для
Во-первых, она делает только это – нет ни печати документ DocBook, sdop сэкономит
вывода в HTML, ни чего-либо еще; если это вас вам массу усилий.
не устраивает – ну, не судьба. Во-вторых, она
не нуждается во внешней схеме или DTD для
осуществления преобразования. Может, это и
«Простая, легкая и удобная
недостаток, но если вам нужен всего лишь быс-
трый и точный перевод в PostScript (из которо-
в использовании: DocBook
го несложно сделать PDF), то вы его получили. без мороки.»
Устройство PBX
Elastix
Версия 0.8.5 Сайт www.elastix.org
A
sterisk, если кто не в курсе, не так услуги: голосовые ящики, факсимильную
давно превратилась в своеобраз- передачу и вечно раздражающий, но ох-как-
ный феномен Open Source: она стала полезный IVR (интерактивный голосовой
платформой для разработки, управления и ответ). В прошлом такие системы имелись
внедрения телекоммуникационных приложе- только в корпоративной среде, а Elastix собрал
ний с открытым и закрытым кодом, работаю- все эти функции в открытом пакете.
щих на OpenBSD, FreeBSD, Mac OS X и Solaris; Как обычно, настройка такого программ
но «родной» Linux поддерживается лучше превышает уровень «простых смертных» – Настройте PBX- чая интеграцию SugarCRM) в сочетании с при-
всего. Asterisk – сервер, работающий со всеми как минимум, по части файла конфигурации. «приставку» и ятным интерфейсом. Мы не тестировали его в
вашими телефонными соединениями, марш- Стоит ли удивляться, что рынок сейчас навод- получите всю реальной бизнес-среде, но уверены, что вам
рутизацией их по сети на телефоны, на любое нен решениями, включающим такие функции, нужную информацию это удастся.
количество VoIP-провайдеров, на факсы и т.д. как администрирование через сеть, статисти- через web- ISO-образ с последними разработками
Хотя вполне возможно создать огромную ка звонков, устранение неполадок и т.п. Этим интерфейс. добавлен на DVD. Запишите его на компакт-
систему IP-телефонии, настроив Asterisk на занимаются разработчики Asterisk, и есть еще диск или установите на виртуальную машину
одном из ваших серверов, в последние годы по крайней мере два других популярных про- для тестирования. Но в случае проблем звони-
довольно активно производятся автономные екта. Elastix пока еще зелен, но несмотря на те, э-э, не нам...
«приставки» [appliance] по типу «все в одном». это, обеспечивает множество функций (вклю-
Запустите их, прогуляйтесь по сети до экрана
конфигурации – и готово дело.
Современные телефонные системы име-
«Elastix – финалист
ют много забот: во-первых, они соединяют
большое количество телефонов. Затем – пре-
премии SourceForge
доставляют нужные людям дополнительные Community 2007 г.»
Ноябрь 2007 Linux Format 103
Файловый менеджер
Hottest
Krusader
Версия 1.80.0 Сайт http://krusader.sourceforge.net/
Pick
Д
ля большинства людей работа на ком- Хотя Konqueror останется частью KDE 4, сле-
пьютере означает создание, редакти- дует задаться вопросом, сколько усилий будет
рование, копирование, перемещение потрачено на его файловый менеджер.
и обработку файлов. Если ваша работа обхо-
дится без этого, вам повезло, но 99% пользо- Вперед, Крестоносцы!
вателей компьютера обязаны этим занимать- Итак, после довольно долгой преамбулы – к
ся, и эффективность и удобство управления делу. Krusader – файловый менеджер, раз-
файлами для них – главное. Может, вы даже вернутый несколько в ином направлении.
не знаете, сколько времени тратите на про- Продвинутые пользователи, утверждают его
смотр файлов через дерево папок или на разработчики, хотят иметь как можно больше
поиск какого-то документа в папке, где их информации. Они в ней не теряются: она фак-
сотни. Но мы уверены, что много! тически помогает им. Те, кого бесит строка
Вдобавок, чтобы вы знали, на работу влия- статуса, показывающая размер оставшегося
ют «ползучие силы зла». Нет, речь не о зомби свободного места в данной папке, могут поис-
(хотя они тоже достали, правда?). Мы имеем в кать другую программу.
виду медленное, но неуклонное «торможение» Krusader имеет привычный двухпанель-
всего. KDE 4 намерен в качестве файл-менед- ный вид. В одной половине – исходный ката-
жера по умолчанию использовать Dolphin, лог, в другой – каталог назначения, хотя файлы,
одолживший немало функциональности у понятно, могут перемещаться в обоих направ- Хотите реально кой мыши на файле – и это не столько коли-
Nautilus. Оба приложения стараются сделать лениях. Как в Konqueror, вы можете сделать взять под контроль чество предлагаемых вариантов, сколько их
работу более простой и приятной, скрывая вкладки из этих панелей, но в Krusader они рас- свои файлы? качество: добавить ссылку на файл, например.
от пользователя пугающие своей непонятнос- полагаются внизу окна, а не вверху. В любом Откажитесь [Мигранты с Windows! Krusader – это «мест-
тью подробности. Этот подход заимствован у случае, можно запросто открыть кучу папок от красивых иконок ный Total Commander», его наиболее полный
Mac OS X, и справедливо будет отметить, что назначения и переключаться с одной на другую. в пользу Krusader... аналог; тем и хорош, – прим.ред.] Этот фай-
резон в нем есть. Но тех из нас, кто работал Вы, наверное, уже подумывали, а чем отли- ловый менеджер не для праздношатающихся.
еще в Midnight Commander или Directory Opus чается Krusader от Konqueror, особенно когда Krusader также воспроизводит установки меню
(на Amiga!), идея утраты функциональности последний – в режиме детального просмотра? пользовательских действий из Konqueror, и вам
и детализации особо не радует. Даже хуже. Ответ можно получить, кликнув правой кноп- не придется определять их заново.
Предопределенные функциональные кла-
виши (пользователь может сам добавить
новые) охватывают стандартные действия и
Исследуем интерфейс Krusader продублированы в виде кнопок в нижней
части окна. Программа обязана своей мощью
добавочным приложениям, типа krename, но
есть и некоторые встроенные удобства.
Менеджер устройств
Полезен для управления Настрой-Ка
съемными дисками и Ключ к этому изобилию функций – возмож-
накопителями. ность настройки: вы оставляете нужную вам
информацию и убираете лишнюю. Эксперты
Управление файлами по эргономике раньше критиковали KDE и
Запросто синхронизируйте две KDE-приложения за чрезмерное количество
папки. настроек. Безусловно, потребуется немало
времени, чтобы прокрутить все опции и воз-
можности, но также безусловно, что при мыс-
Режимы просмотра ли «Хм-мм, а хорошо бы...» вы, скорее всего,
Доступны только два режима – найдете уже готовый вариант. Настройка в
детальный и менее детальный! основном заключается в привязке соответ-
ствующих приложений. Как и следовало ожи-
дать, большинство из них уже предусмотрено;
Нажмите и настройте а если вы потом установите новый архиватор,
Вкладки находятся внизу
панелей.
достаточно прописать к нему путь.
Клавиатура не нужна Множество функций Новый диспетчер файлов, несомненно,
Используйте функциональные Мощные функции включены по требует времени, чтобы в нем освоиться, но
клавиши для частых умолчанию.
потом вы поймете, что Krusader стоит этих
операций.
усилий.
KardsGT
Версия 0.6.3 Сайт http://kardsgt.nongnu.org/
К
арточных игр для Linux полным- ренно выколачивать очки из воображаемых
полно, и на первый взгляд KardsGT соперников и выкрикивать в экран бранные
не покажется чем-то особенным. Тут слова, спалив своего козырного валета; но,
шесть разных игр на выбор: Cribbage, Hearts, возможно, это сугубо личное.
Euchre, Old Maid, Spades и War. Большинство Другая приятная возможность – сохране-
команды LXF заинтересовалось Cribbage: ние текущего состояния игры.
существует не так много хороших версий Проблемы в процессе сборки? Вы уста-
этой игры под Linux. Чем нехотя занимать- новили Qt4 и используете qmake из того же
ся остальными, лучше мы направим наши релиза (а значит, пытаетесь собрать игру с
усилия на нее. Qt4, что обречено на провал). Прерывание игры с последующим возобновлением – полезная
Главные ее особенности – отличный вид функция, если к вашему рабочему месту двинулся босс.
и всевозможные опции. Выберите из спис-
ка локальных игроков или присоединитесь
к сети для реального турнира (хотя, если
только вы не счастливый участник сети с
другими пользователями Linux, поиск игро-
ков через LAN потребует времени). Карты и
общий дизайн игрового поля привлекатель- «Достойно сделанная
нее, чем у многих других игр, даже при том,
что картинка иногда слегка дергается. Ни
игра Cribbage –
с чем не сравнимое удовольствие – разме- отличное развлечение.»
Worms-подобная игра
Atomic Tanks
Версия 2.5 Сайт http://atanks.sourceforge.net
И
гры в танки, громящие друг друга, вая на него и кликая мышью. В самой игре
зародились еще до того, как Майк выберите метод уничтожения, используя
сказал свои первые слова («обал- клавишу Tab. Посредством клавиш курсо-
денно клево», если вам интересно). Вам ра скорректируйте угол и ударную силу, а
может показаться, что это клон Worms, но пробел означает «пли!» Если вы не сооб-
по правде, такие игры существовали задолго разили, как другие игроки ухитряются в вас
до него. Кто знает, что было первым подлин- попадать – большинство ударов отражается
ным примером в этом стиле (пишите письма от краев экрана, делая возможными самые
на /dev/null@linuxformat.co.uk)? Так или ина- жуткие и изощренные выстрелы!
че, это одна из тех игр. Почему мы включили Atomic Tanks использует Allegro, который Простые игры возвращают нас к золотой 8-битной эре.
ее сюда? Да потому что она неплоха, и поя- у вас, вероятно, уже установлен. А если нет,
вилась ее новая версия. пора это сделать.
Хотя рельеф не слишком сложный, ваше
передвижение ограничено и видов оружия
не слишком много, очень даже стоит поиг-
рать против некоторых компьютерных про-
тивников, чтобы посмотреть, как они слу-
чайно попадают друг в друга. Бесконечно
«Новые цвета, новые команды,
веселые моменты!
Управление тоже довольно простое.
новая мультяшная гравитация…
Обзаведитесь оружием в магазине, указы- Как их не полюбить?»
KBackup
Версия 0.5.2 Сайт http://tinyurl.com/2jqson
П
ро резервное копирование мы зна- определенном месте – доступном с вашего ПК
ем, что а) его следует делать и б) мы, с Linux, включая возможность доступа через
вероятно, делаем его реже, чем сле- сеть. А хотите – переместите их во временный
довало бы. Если на ваших данных не зиж- каталог для записи на DVD (хотя это придется
дется само ваше существование, резервное делать вручную).
копирование всегда кажется лишней моро- Для регулярного резервного копирования
кой. Вы можете купить RAID-устройство или можете создать профиль, который будет хра-
изредка скидывать на DVD важную для вас нить настройки, такие, как целевая и исходная
информацию, но правда такова, что обычно папки: это удобно, если не забывать добавлять KBackup собственной несложной системы резервного
безопасность ваших данных пропорциональ- в свои профили вновь созданные каталоги. действительно прост, копирования.
на усилиям, приложенным к их сохранению. В KBackup есть очевидные ограниче- но не очень-то KBackup использует для создания архи-
Даже ваша новомодная железяка может стать ния. Можно заставить эту программу писать безопасен для вов tar или afio, и умеет даже сжимать файлы
объектом кражи или пожара. на съемный носитель, но чтобы делать это жизненно важных большого размера при помощи gzip. KBackup
Онлайн-сервисы резервного копирова- автоматически, придется создавать скрипт. документов! также поддерживает include и exclude для
ния – хороший вариант, так как ваши ценные Возможности программы расширяются за списков, и даже имеет возможность резервно-
данные хранятся удаленно, но они довольно счет способности использовать скрипты в го копирования в файл. Но самое убийствен-
дороги и трудоемки, если у вас много файлов, трех пунктах процесса резервирования, и ее ное то, что здесь нет режима Восстановить! В
которые необходимо регулярно резервиро- можно взять за основу для создания вашей момент, когда уже назрело резервное копиро-
вать (и этот процесс будет загружать сеть, ког- вание, вас не успевает обеспокоить мысль об
да вы захотите посмотреть футбольный матч их дальнейшем восстановлении!
с Мексикой по YouTube). Но все это не про «Поддерживает много
наш случай. KBackup – простая утилита с GUI-
интерфейсом, без лишних наворотов, которая
разных съемных устройств,
заархивирует нужные файлы и сохранит их в включая лентопротяжки.»
PartImage
Версия 0.5.2 Сайт http://tinyurl.com/2jqson
У
мение создавать точный образ раз- например, архивными файлами, MPEG, JPG-
дела полезно, очень полезно. Вдруг изображениями и т.п., вы не слишком сэконо-
вам понадобится установить одинако- мите), хотя сжатие немного продлевает общий
во настроенный Linux на дюжине машин, или процесс. Кроме того, программа сохраняет
сохранить резервные копии первозданной только реально использованные дисковые
инсталляции, или вы установили супер-новую блоки, что экономит место, но и требует пони-
программу, которая конфликтует со всеми мания файловой системы. При размещении резервного копирования второстепенных раз-
остальными, и нуждаетесь в чем-то надежном, Впрочем, PartImage поддерживает много резервных файлов делов, больший смысл имеет использова-
на что можно положиться в трудный момент. распространенных файловых систем, включая на сменных ние версии на Live-диске для создания так-
К счастью для пользователей Linux, ядро Linux, NTFS (тестируется), XFS, JFS, FAT16/32, носителях же и образа основных рабочих разделов.
твердит, что все на свете – файлы, и это впол- ReiserFS и другие. Необходимое время и пригодится Предусмотрена широкая поддержка для рабо-
не приложимо к устройствам и разделам. При объем свободного места зависят от обстоя- авторазбивка на ты по сети, и хотя множественной записи
соответствующие
желании скопировать раздел, наберите dd в тельств, хотя программа и пытается опреде- разделов нет, зато легко записать образы при
порции.
командной строке, и блок за блоком вам ско- лить их за вас. надежном сетевом подключении.
пируется все, что угодно. Хотя можно установить PartImage на
По существу, PartImage именно это и дела- локальном диске и использовать его для
ет. Но полный образ раздела занял бы столь-
ко же места, сколько и сам раздел, поэтому
PartImage добавляет несколько дополнитель-
ных функций, самая очевидная из которых –
«PartImage включен во
сжатие сохраненного образа. Поразительно,
насколько можно уменьшить файл (правда,
многие дистрибутивы Linux:
если ваш раздел полон сжатыми данными, обновите свой сегодня!»
106 Linux Format Ноябрь 2007
Поиск файлов
Также выпущены
rlocate
Версия 0.9 Сайт www.flickr.com/groups/kflickr
Новые и обновленные программы,
заслуживающие вашего внимания...
nagios 3.0b3 Последний бета-релиз
инструмента мониторинга сети для
чемпионов. www.nagios.org
М
ожете использовать для поиска Программа создает задержки при сохране-
Проста
файлов Beagle и тому подобное, нии файлов – вы вряд ли захотите установить
в использовании,
но многие поклонники командной ее на машину, на которой идет частая запись
но сложна при
строки по-прежнему полагаются на slocate. файлов. Кроме того, для запуска вы должны установке – читайте
Наберите locate и часть имени файла, кото- собрать модуль ядра. Сгодится любое ядро документацию!
рый хотите найти, и мигом получите ответ. серии 2.6; но будьте осторожны с системами Также несовместима
Это действует, потому что примерно раз в безопасности. с SELinux.
день cron индексирует все файлы в файловой
системе и сохраняет результат в базе данных,
обеспечивая быстрый поиск. Главным обра-
зом эта программа нужна, когда вы только
что установили новое программное обеспече- Nagios умеет определять
ние и хотите найти все установленные файлы; злоупотребления сетью.
но результаты поиска могут ничего не дать,
поскольку база данных еще не обновлена. Goggles Music Manager 0.8.2 Запросто
прокрутит и проиграет ваши аудиофайлы.
Можно обновить ее вручную, но если у вас http://code.google.com/p/gogglesmm
система вроде нашей в LXF, вы намаетесь
ждать, пока обновятся 800 ГБ файлов. Ksquirrel 0.7.1 Просмотр изображений
В отличие от slocate, rlocate использует и слайд-шоу с поддержкой более
для управления базой данных модуль ядра. 50 форматов файлов.
http://ksquirrel.sourceforge.net
Она отслеживает изменения в файловой сис-
теме по мере их возникновения и обновляет
Jlaunchpad 1.0.0 Запуск Java-
базу данных – поэтому нет нужды перестраи- приложений, экономящий время
вать ее, и все файлы легко найти. и ресурсы. http://jlaunchpad.sourceforge.net
Kflickr
www.tulip-software.org
О
дна из причин популярности Flickr – Kflickr теперь может автоматически извле-
богатство инструментов, разросшихся кать названия и примечания из тэгов EXIF,
на сайте благодаря мудрому решению встроенных в изображения, если ваша каме- Перетащит,
Flickr опубликовать открытый API. Существуют ра поддерживает эту функцию (или если вы прокомментирует,
многочисленные приложения для управления и добавили их при использовании других при- загрузит, даст пинка
загрузки фотографий. F-Spot и другие утилиты ложений для управления фотографиями). за перебор трафика.
управления изображениями имеют встроен- LXF Вот такой он, Flickr... Анализируй ЭТО!
ные возможности выгрузки во Flickr, но час-
то проще и легче иметь специализированный jython2.2 Скомпилируйте ваши Python-
приложения в байт-код Java и запустите на
загрузчик.
виртуальной машине JVM. http://jython.org
И неизменный фаворит здесь Kflickr (осве-
щался в HotPicks LXF93). На ранней стадии kalarm 1.4.14 В нужный момент выдает
его интерфейс страдал некоторой придурью, личные сообщения и напоминания.
но теперь стал полезным и многофункцио- www.astrojar.org.uk/kalarm
нальным, без лишних закидонов. Просто пере-
тащите файлы в главное окно, а затем, если Gambatte 0.1.0 Это приложение Qt/SDL
эмулирует Gameboy и Gameboy Advance.
хотите, пройдитесь по ним, добавляя тэги http://sourceforge.net/projects/gambatte
или меняя параметры безопасности. Kflickr
умеет управлять несколькими учетными запи- Tiny Tiny RSS 1.2.14 Крошечный новый
сями и даже добавлять фотографии в группы агрегатор, встроенный в web-страницу.
Flickr (хотя за раз можно загружать только http://tt-rss.spb.ru
одну группу). Эта программа нетребователь-
на к ресурсам и спокойно делает свое дело.
Единственный ее недостаток – насильствен-
ное автодополнение при добавлении тэгов.
Бесценная страсть
На LinuxWorld этого года в Сан-Франциско то спрашивают о компьютерной индустрии,
(см. отчет о выставке на стр. 8) меня поразила добавляя: «Разве она не испорчена алчностью,
пылкая страсть к программированию, види- ударами в спину и монополиями?» Да, иногда
мая даже сквозь корпоративный лоск. Даже мир коммерческих программ именно таков.
возле броских стендов Dell и Palm слышались Но в мир свободных программ вход свобод-
больше беседы программистов, чем марке- ный – он не требует вложений (кроме личного
тинговые обсуждения и рекламные слоганы. У времени) от желающих присоединиться.
людей появилась подлинная страсть к техно- Чтобы реализовать свою страсть, скажем,
логии вообще и к Linux в частности. к водному спорту, вам придется снарядить
Самой лучшей площадкой для проектов лодку и обзавестись всем необходимым обо-
свободного ПО на выставке стала секция ‘.org’; рудованием. Но чтобы попасть в мир Linux и
Майк Сондерс разработчики OpenSUSE, Debian, Gnome, Open Source, все, что вам надо – это ПК (сго-
любовно подбирает Gentoo и других проектов смогли погово- дится даже старичок, купленный за 100 фун-
содержимое диска Linux
рить о своих самых свежих продуктах и тов на eBay). Нулевая стоимость программ
Format, а также
поддерживает сайт вовлечь в этот разговор других. Было означает, что вы можете учиться, выполнять
www.linuxformat.co.uk.
www.linuxformat.co.uk отрадно понимать, что эти люди здесь, исследования и даже делать карьеру прак-
потому что любят свою работу, и им не тически без средств. И это – действительно
нужны крупные суммы денег, чтобы их нечто особенное.
присутствие заметили. В этом месяце у нас три отличных дистрибу-
В том-то и состоит одно из луч- тива, полезные инструменты и многое другое.
ших свойств свободного ПО. Меня час- mike.saunders@futurenet.co.uk
5 Разделы 6 Разбивка
Здесь вам дается вручную
выбор – отвести под Если вы создаете
64 Studio весь жест- разделы вручную,
кий диск (Guided) отведите не менее
или вручную разбить 10 ГБ на корневой
диск на разделы раздел (/) и 512 МБ
(Manual). Если у вас на раздел подкач-
двойная загрузка, ки.
выбирайте второе.
Дистрибутив Linux
64 Studio 2.0
В
озьмите прочный фундамент Debian, его работоспособность соответствуют ожида-
пристройте отличные программы для ниям, уместным для любого дистрибутива на
редактирования аудио и видео – и вы основе Debian с широким спектром программ,
получите 64 Studio; разработка велась для но именно подбор программ в дистрибутиве
64-битных машин, но 32-битная версия с придает ему целенаправленность.
нашего DVD работает на обеих архитектурах. Выбор пакетов 64 Studio отражает богатс-
Дистрибутив фокусируется на производстве тво существующих на данный момент откры-
медиаконтента, и в нем имеется несколь- тых средств для создания медиа: для графики
ко заплаток ядра для улучшения произво- имеется Blender, Cinepaint, GIMP, Inkscape, Dia
дительности в режиме реального времени, и Skencil; для звука – Ardour, FLAC, Hydrogen,
позволяющих, например, избежать пауз при LilyPond, Audacity и Rosegarden; да еще мно-
записи звука. Релиз 2.0 включает ядро 2.6.21 жество инструментов и утилит. 64 Studio так-
и X.org 7.1, с Gnome 2.16. И внешний вид, и же включает Firefox (ребрендинг IceWeasel),
Pidgin (бывший GAIM), Gnumeric и AbiWord.
Сроду не устанавливали Debian? Возможно,
текстовая программа установки 64 Studio
немного вас испугает. Следуйте подсказкам, загрузите ПК с LXF DVD и нажмите Enter По-вашему,
да сперва позаботьтесь о создании резервных в ответ на приглашение к загрузке Debian. стандартный
копий всех важных данных, тогда проблем Запустится программа установки, и начнется рабочий стол
не возникнет. Мы рекомендуем процессор не процесс копирования дистрибутива на ваш скучноват?
Установите Beryl и
менее 1 ГГц, 256 MБ ОЗУ и 20 ГБ свободного жесткий диск – следуйте нашим рекомендаци-
наслаждайтесь
места на диске для работы. (Для обработки ям, изложенным далее, для быстрого запуска.
красотами 3D-куба!
звука лучше иметь процессор побыстрее, а Посетите форумы на www.64studio.com, там
если вы занимаетесь графикой, то полезным вам помогут; кроме того, на этом сайте много
будет 512 MБ ОЗУ.) информации по дистрибутиву, включая под-
Ardour с аудиофайлом, панель управления Чтобы установить 64 Studio и продегус- робное руководство по установке и список
JACK – звуковым сервером, объединяющим тировать плоды медиа с открытым кодом, часто задаваемых вопросов.
приложения.
Дистрибутив Linux
Дистрибутив Linux
ПО и документация
Инструментарий безопасности
Б
езопасность – цель движущаяся. же ПК, введя nmap 127.0.0.1, но помните, что
Только вы подумали, что все у вас под в этом случае внешний сетевой брандмауэр не
контролем и защитой, как выявляется будет действовать.
новая уязвимость, и нужно спешно брать- Еще одна превосходная утилита – Sussen,
ся за предотвращение взлома своих машин. она сканирует машины на предмет известных
Конечно, в смысле безопасности Linux полу- уязвимостей. В отличие от Nmap, который,
чше, чем некоторые другие ОС – не будем проверив порты, бросает вас в одиночку разби-
говорить, какие – но это не значит, что пора раться с результатом, Sussen использует OVAL
почивать на лаврах. В ядре и в системных биб- (Open Vulnerability and Assessment Language –
лиотеках было-таки несколько досадных оши- Язык Обнаружения и Оценки Уязвимостей),
бок, которые в прошлом привели к несколь- чтобы сообщить о неблагонадежных програм-
ким взломам. мах. Если ваш почтовый сервер сильно уста-
Итак, что вы предпринимаете для безо- рел, и/или это «дырявый» релиз, Sussen сумеет
Следуйте советам наших статей и руководств по безопасности из
пасности системы? Очень важно следить за определить его и предупредить вас о том, что
предыдущих выпусков Linux Format, чтобы отогнать взломщиков
обновлениями, предоставляемыми произво- он просто напрашивается на взлом…
подальше.
дителем вашего дистрибутива; если вашим
программам уже несколько лет, есть шан- Обнаружение следов
сы появления новых заплаток. Кроме того, Какие бы меры вы ни предпринимали, втор- ем, как работает система паролей Linux, и как
при работе с сервером обязателен хороший жения в систему все же случаются, и нелиш- можно расширить ее, чтобы повысить безо-
брандмауэр. Большинство дистрибутивов в ним будет наличие детективными инструмен- пасность, и почему так важно отключать все
наши дни сводят количество открытых пор- тами, чтобы определять последствия. Linux ненужные сервисы, работающие на вашей
тов к минимуму – особенно на настольных дает здесь на выбор две отличные програм- машине.
ПК; но нелишне и убедиться, что вы ничего не мы: Aide и Tripwire; они обе отслеживают важ- Далее рассмотрены работа с Aide и
оставили распахнутым настежь. Сравнение нейшие файлы системы и сообщают о любых Tripwire, настройка брандмауэров в Linux с
на стр. 18 поможет вам сделать правиль- изменениях. Если, например, злодей проник на помощью командной строки и анализ инфор-
ный выбор в этой области; все интерфейсы ваш компьютер и подменил двоичный файл / мации, которую выдает Nmap. Благодаря этим
для брандмауэров, естественно, имеются на bin/login, чтобы отсылать пароли в сеть, Aide руководствам и программам ваша машина так
нашем диске. и Tripwire обнаружат это изменение и предуп- окрепнет, что (мы надеемся) взломщики дваж-
Однако в нашем разделе Безопасность редят вас о нем. Пусть это не идеал (умелые ды подумают, прежде чем с ней связываться!
есть кое-что поинтереснее: полный набор взломщики доберутся и до Aide или Tripwire!),
инструментов для сканирования и укрепления но все же (не)лишний уровень защиты.
вашей системы. Один из наиболее полезных – А на случай самого кошмарного – напри- И напоследок…
Nmap, сканер портов, который ищет открытые мер, взломщик добился, что ваша машина
порты на вашей машине. Пользоваться им перестала загружаться – нужно всегда иметь Ну не до такой же степени вы забаррикадировали свою
машину, чтобы это помешало вам поиграть! В этом
легко: просто введите nmap hostname (заме- под рукой копию INSERT. Это небольшой
месяце раздел Игры выставил отличный ассорти-
нив hostname на имя или IP-адрес маши- спасательный CD (60 MБ, чтобы уместиться
мент, начиная с классической стрелялки Alien Blaster.
ны, которую вы решили просканировать), и на мини-CD-R размером с визитку), наби- Кому по душе воспоминания об аркадах старой
он выдаст список доступных портов на этой тый инструментами безопасности и восста- школы, получит массу удовольствия!
машине. Можете даже просканировать свой новления, многие из которых составляют наш Любителям интеллектуальных игр поспокойнее пред-
детективный набор. Если ваша лагаем Amoebax, очаровательную головоломку на базе падающих
система пострадала от серьез- цветных блоков. Правда, на сей раз это не совсем блоки, а разновид-
ного взлома, или вы просто не ности амёб, которые, в силу мутации, пошли делиться, пока не запо-
хотите загружать ее в нормаль- лонят весь мир. А ваша задача – пресечь подобную микромегалома-
ном режиме, чтобы избежать нию, уничтожая их группами по четыре штуки.
И, наконец, DigiBand – первый имитатор гитары, который мы увиде-
худшего, берите Live-дистри-
ли в Linux. Возможно, вам уже встречались такие игры в аркадах
бутив INSERT и осматривайте
(вспомним Guitar Hero на PlayStation), и, хотя большинство из нас уме-
содержимое жесткого диска. ет играть только на клавишах, это отменное развлечение. LXF
На нашем DVD множест-
во других ценных программ:
познакомьтесь с Rootkit Hunter Японская тема
(RKH), John the Ripper (про- рулит.
граммой определения слабых Мы хоросё
играть время
паролей) и Wireshark (быв-
сейсяс – да!
ший Ethereal, анализатор сете-
вого трафика). Программами
диск не ограничивается: в раз-
деле Журнал/PDFs предлага-
ется подборка учебников по
Nmap обычно запускается на сканирование портов из безопасности из предыдущих
командной строки, но в нем есть и графическая оболочка. выпусков LXF. Мы объясня-
Информация
о диске
ВНИМАТЕЛЬНО ПРОЧТИТЕ ЭТО ПЕРЕД ТЕМ, КАК ИСПОЛЬЗОВАТЬ DVD-ДИСК !
ЧТО-ТО ПОТЕРЯЛИ?
Часто случается, что новые программы зависят от дру-
гих программных продуктов, которые могут не вхо-
дить в текущую версию вашего дистрибутива Linux.
Мы стараемся предоставить вам как можно
больше важных вспомогательных файлов. В боль-
шинстве случаев, последние версии библиотек и
другие пакеты мы включаем в каталог «Essentials»
(Главное) на прилагаемом диске. Поэтому, если в
вашей системе возникли проблемы с зависимостя-
ми, следует заглянуть именно туда.
ФОРМАТЫ ПАКЕТОВ
Мы стараемся включать как можно больше раз-
личных типов установочных пакетов: RPM, Deb или
любые другие. Просим вас принять во внимание,
что мы ограничены свободным пространством и
доступными бинарными выпусками программ. По
возможности, мы будем включать исходные тексты
для любого пакета, чтобы вы смогли собрать его
самостоятельно.
ДОКУМЕНТАЦИЯ
На диске вы сможете найти всю необходимую
информацию о том, как устанавливать и использо-
вать некоторые программы. Пожалуйста, не забы-
вайте, что большинство программ поставляются
вместе со своей документацией, поэтому дополни-
тельные материалы и файлы находятся в соответ-
ствующих директориях.
ЧТО ЭТО ЗА ФАЙЛЫ?
Если вы новичок в Linux, вас может смутить
изобилие различных файлов и расширений. Так как
мы стараемся собрать как можно больше вариантов
пакетов для обеспечения совместимости, в одном
каталоге часто находятся два или три файла для
различных версий Linux, различных архитектур,
исходные тексты и откомпилированные пакеты.
Чтобы определить, какой именно файл вам нужен,
необходимо обратить внимание на его имя или
расширение:
имя_программы-1.0.1.i386.rpm – вероятно, это
бинарный пакет RPM, предназначенный для работы
на системах x86;
имя_программы-1.0.1.i386.deb – такой же пакет, но
уже для Debian;
имя_программы-1.0.1.tar.gz – обычно это исходный
код;
имя_программы-1.0.1.tgz – тот же файл, что и выше
по списку: «tgz» - это сокращение от «tar.gz»;
имя_программы-1.0.1.tar.bz2 – тот же файл, но
сжатый bzip2 вместо обычного gzip;
имя_программы-1.0.1.src.rpm – также исходный код,
но поставляемый как RPM-пакет для упрощения
процесса установки;
имя_программы-1.0.1.i386.FC4.RPM – бинарный пакет
RPM для x86, предназначенный специально для
операционной системы Fedora Core 4;
имя_программы-1.0.1.ppc.Suse9.rpm – бинарный
пакет RPM, предназначенный специально для
операционной системы SUSE 9.x PPC;
имя_программы-devel-1.0.1.i386.rpm – версия для
разработчиков.
СОЗДАНИЕ УСТАНОВОЧНЫХ
ДИСКОВ ПРИ ПОМОЩИ
CDRECORD
Другая ОС?
Вам не обязательно использовать Linux для записи ком-
пакт-диска. Все необходимые файлы уже включены в
ISO-образ. Программы вроде cdrecord просто переносят
данные на чистую матрицу. Если у вас нет устройства
для записи дисков, можно найти того, у кого оно есть, и
записать диск на его компьютере. На нем может стоять
Windows, Mac OS X, AmigaOS, или любая другая ОС.
Содержание DVD
ЖУРНАЛ
Advanced ....................Код из учебника Hardcore Linux.
Apache ........................Проекты Apache
Software Foundation.
JavaEE ........................Код примеров статьи.
KDE Art .......................Код к учебнику
по украшению KDE.
LinuxWorld..................Видеоотчет о конференции.
PerlCpp .......................Код к учебнику Perl и C++.
PDFs ...........................Статьи по безопасности
из предыдущих выпусков LXF.
StarFighter ..................Вариант игры, создаваемой
в рубрике Игрострой.
РАБОЧИЙ СТОЛ
Calcoo.........................Научный калькулятор.
CellWriter ....................Распознавание
рукописного ввода.
Gimp ...........................Графический редактор (Linux-
эквивалент Adobe Photoshop).
GnuCash .....................Персональный
финансовый менеджер.
HomeBank...................Пакет для работы
с личными финансами.
KWave ........................Звуковой редактор для KDE.
РАЗРАБОТКА
GTK-server .................Потоковый интерфейс
к библиотекам Gtk.
Mono...........................Среда .NET с открытым кодом. GuYum: удобопонятная графическая оболочка для менеджера пакетов Yum от Fedora.
MonoDevelop ..............Интегрированная
среда разработки C#. HOTPICKS СИСТЕМА
Qt ............................Среда для разработки Atomic Tanks ..............Клон Scorched Earth GuYum ........................GUI для Yum.
приложений. Elastix .........................Программа PBX. Sakura ........................Эмулятор терминала.
TEA ............................Мощный текстовый редактор. KardsGT ......................Карточная игра. VirtualBox ...................Виртуальная машина
Kbackup ......................Инструмент резервирования (эмулятор ПК).
ДИСТРИБУТИВЫ для KDE.
64 Studio ....................Дистрибутив Linux для создания KFlickr .........................Загрузчик на Flickr для KDE. ГЛАВНОЕ
цифрового контента. Krusader .....................Файловый менеджер. ATI driver ....................Графический драйвер.
Ark Linux.....................Дружественный к новичкам Partimage ...................Создание файлов образа Bash............................Оболочка командной строки.
дистрибутив. разделов диска. Cairo ...........................Библиотека двумерной графики.
Linux Mint ...................Настольный дистрибутив Rawstudio ...................Конвертирование изображений. CheckInstall ................Программа создания
Linux на базе Ubuntu. rlocate.........................Улучшенный slocate. бинарных пакетов.
Edubuntu .....................Образовательный дистрибутив SDoP ...........................Простой процессор DocBook. Coreutils .....................Утилиты командной строки.
(сторона 2). Flash Player................Модуль расширения Adobe Flash.
ИНТЕРНЕТ GLib ............................Низкоуровневая библиотека.
ИГРЫ Firefox.........................Web-браузер. Glibc............................Библиотека GNU C.
Alien Blaster ...............Стрелялка. Pidgin..........................IM-клиент (бывший GAIM). Gtk ............................Инструментарий
Amoebax .....................Головоломка. WebIssues ..................Совместная работа пользовательского интерфейса.
Battle Tanks................Танковая 2D-аркада. через Интернет. HardInfo ......................Системная информация
DigiBand .....................Фанки гитара/ударные. и сравнительный анализ.
Tennix .........................Настольный теннис. БЕЗОПАСНОСТЬ Jigdo ...........................Создатель ISO-образов.
Aide ............................Система обнаружения вторжений. Kernel .........................Свежий релиз ядра Linux.
СПРАВКА Bastille ........................Система укрепления LibXML2 .....................XML-анализатор
Answers ......................Решенные проблемы Linux. дистрибутива. и набор инструментов.
LDP ............................Linux Documentation Project FireHOL .......................Настройка брандмауэра Iptables. Ncurses.......................Оконный инструментарий
RUTE ...........................Руководство по Firestarter ...................Графический интерфейс текстового режима.
администрированию Linux. брандмауэра. NVIDIA driver ..............Графический драйвер.
Firewall Builder ...........Мультиплатформенный Python.........................Язык программирования.
интерфейс брандмауэра. RAWRITE ....................Программа записи образов
Guarddog ....................Утилита настройки брандмауэра. на дискеты.
INSERT........................Дистрибутив Inside Security SBM ............................The Smart Boot Manager.
Rescue Toolkit SDL ............................Библиотека мультимедиа.
John the Ripper ..........Программа определения
слабых паролей.
KMyFirewall ................GUI брандмауэра для KDE.
Nmap ..........................Сканер портов.
RKH ............................The Rootkit Hunter.
Sentry Tools ...............Защита от сканирования портов.
Shorewall ....................Инструмент настройки Netfilter.
Sussen ........................Сканер безопасности.
Tripwire.......................Система определения вторжений
Wireshark ...................Анализатор сетевого трафика.
Сетевой мультиплейерный Армагеддон судного
дня с применением оружия в Battle Tanks.
Школа
Легкий путь к Web
Собственный web-сайт сегодня является таким же неотъемлемым атрибутом организации, как
телефон. Галина Пожарина расскажет, как создать его без лишних усилий.
П
о мнению экспертов фон- зования происходит в виде взаимодействия интернет-представи-
да «Общественное мне- тельств и образовательных учреждений. Основные виды такого
ние», к началу 2006 года взаимодействия:
число взрослой интернет-аудито- использование информационных ресурсов (просмотр, вос-
рии (старше 18 лет) в нашей стране произведение) учащимися, преподавателями, представителями
превысило 20 миллионов человек администрации;
(14% данной категории населения). использование коммуникационного потенциала Интернета
Однако, для сравнения, в Швеции (обмен информацией посредством электронной почты, интернет-
доля взрослых пользователей сети – телефонии, видео- и аудиоконференций, чатов и форумов);
74 %, в Соединенных Штатах – 59 %, Учреждения образования могут также выступать в качестве
в Канаде – 60 %, в Бельгии – 37 %, в заказчика и/или исполнителя услуг по созданию представительств.
Китае – 23 %, в Египте и Колумбии – Слово «контент» уже достаточно прочно вошло в русский язык,
19 %, в Турции – 17 %. В целом в стра- по крайней мере, в интернет-сообществе. Начало активного упот-
нах Европы, Северной Америки, в ребление этого понятия связано именно с интернет-технологиями.
Австралии и Японии почти 100 про- Слово «content» переводится с английского как «содержимое»,
центов населения знают о том, что «содержание», «значение», «смысл». Достаточно часто в контекс-
такое Интернет, в то время как от те интернет-технологий «content» переводят как «информационное
одной четверти до одной трети жите- наполнение». Контент можно определить как совокупность инфор-
лей России, Китая, Индии пока имеют мационных элементов (текст, графика, анимация, видео), отобра-
очень слабое представление о воз- жаемых на странице web-сайта. На самом деле, понятие «контент»
можностях этой глобальной инфор- можно трактовать более широко – это комплекс данных, которые
мационной сети. Вместе с тем, отмечается рост интернет-аудитории используются в работе интернет-систем и отображаются в том или
в регионах России. ином виде на страницах web-сайта.
Аудитория Интернет – это наиболее активная часть трудоспо- Появление интуитивно понятного тексто-графического интер-
собного населения России, ориентированная на развитие прогресса
и инноваций. В России – это еще и наиболее интеллектуальные, в
большинстве своем, представители общества. В основном, аудито-
рию российского сегмента Интернета составляют люди, сформиро-
вавшиеся профессионально и личностно, но было бы неправильно
исключить из процесса молодежную аудиторию, которая только
проходит интеллектуальное становление и вырабатывает жизнен-
ные критерии.
В области некоммерческого Интернета лидирующее положение
занимают образовательные ресурсы (так называемое интернет-
образование) и научные сообщества. Такое положение закономерно,
поскольку первоначально Интернет задумывался как академичес-
кая среда. Учитывая огромные территории России, развитие дис-
танционного обучения и внедрение Интернета в образовательный
процесс в нашей стране – одна из важных государственных задач.
Интеграция интернет-ресурсов в систему российского обра- Панель управления открытой CMS-системы Joomla.
Мастер-классы в Перми:
первый шаг
«У самовара» с Александром Поносовым
П
осле «триумфального шествия» по Сибири и Восточному взяла курс на внедрение открытого программного обеспечения (Open
Уралу пингвины наконец-то добрались и до Прикамья. Здесь Source).
их явно ждали. Основным докладчиком выступил представитель уральского фили-
Из новостей Пермского школьного портала. ала компании LinuxCenter.Ru Илья Николаевич Шпаньков. В своем
(автор А.Маткин) выступлении докладчик всесторонне охарактеризовал современное
21 сентября 2007 г. в Исследовательском центре развития системы открытое программное обеспечение и проблемы его использования в
образования г. Перми (ИЦРСО) состоялись мастер-классы по откры- России, а также рассказал о преимуществах и примерах применения
тому программному обеспечению (Open Source) и операционной сис- открытых технологий в сфере образования. Пермским педагогам были
теме Linux. Мероприятие было организовано компаниями компаниями продемонстрированы презентация и видеофильм. Затем участники
LinuxCenter.Ru, Mandriva.Ru совместно с журналом Linux Format, ИЦРСО мастер-класса были ознакомлены с ОС Linux (на примере дистрибутива
г. Перми при поддержке компании «Белов и Партнеры». В нем приня- Mandriva Linux 2007.1 Spring Edition).
ли участие представители 85 школ г. Перми (руководители школьных После небольшого перерыва учителя информатики и школьные
медиацентров, системные администраторы, учителя информатики). ИТ-специалисты перешли в компьютерный класс, где все желающие
К участникам мероприятия обратился директор школы села Сепыч смогли самостоятельно опробовать работу в операционной системе
Верещагинского района Пермского края Александр Михайлович Mandriva Linux, а также произвести ее установку на собственный ноут-
Поносов. бук в качестве второй ОС. Специалисты пермской компании «Белов и
Он напомнил о тех проблемах, с которыми ему пришлось столк- Партнеры» выступали в качестве консультантов и отвечали на много-
нуться зимой 2007 г., когда в его образовательном учреждении было численные вопросы участников мероприятия. Представители образова-
обнаружено «пиратское» программное обеспечение. Затем Александр тельных учреждений получили комплект CD-дисков с демонстрацион-
Михайлович рассказал о том, что после известных событий его школа ными версиями открытого программного обеспечения.
С
удя по всему, встречей остались довольны мероприятиях. Тем не менее, для более объективной Павел Фролов, директор компании
все участники мастер-класса. В ходе анке- оценки результатов я попросил поделиться впечатле- LinuxCenter
тирования большинство педагогов дали ему ниями и организаторов мероприятия, и тех, кому оно Цель подобных мастер-классов одна – показать поль-
оценку «отлично» и «очень хорошо» и отметили, что предназначалось. зователям, в данном случае педагогам, что Linux не
в дальнейшем хотели бы участвовать в подобных страшный. Она достигнута. Скажу больше: мастер-
класс в Перми – одно из самых успешных меропри-
ятий года. После него Пермь забурлила и закипела,
пошло множество обращений по поводу приобре-
тения дистрибутивов Linux; в основном заказывают
Mandriva и Red Hat. В общем, «народ» увидел и готов
внедрять. Сейчас главное – не останавливаться, а дви-
гаться прежним курсом.
цена Linux, что немаловажно для образовательного Виталий Белов, директор ООО «Белов
учреждения. и партнеры», г. Пермь
Но все же полный переход школ на Linux в бли- Хоть мы и коммерческая организация, интерес у нас
жайшее время невозможен. Вся школьная программа был совсем не меркантильный. Мы прекрасно пони-
по информатике построена на изучении ОС Windows и маем, что бюджет есть бюджет, нам, собственно, от
ее приложений. него ничего не светит. Нашу задачу я понимаю так:
Необходимо искать «золотую середину»! информировать педагогов об альтернативе проприе-
тарному ПО, показать, что есть жизнь без «винды».
Андрей Маткин, заместитель Когда я организовывал этот мастер-класс, то
директора ИЦРСО предполагал, что будет определенный интерес к дан-
Радует, что удалось обозначить точки дальнейше- ной теме, но чтобы ТАКОЙ – ни разу. Честно говоря,
го взаимодействия. Мы договорились открыть на я даже немного сомневался, что зал будет заполнен.
Пермском городском школьном портале соответству- Предполагал, что придут, как обычно, энтузиасты
ющий раздел форума, в котором все учителя смо- этого дела, но я сильно ошибся, и это к лучшему.
Илья Шпаньков, директор гут задавать свои вопросы на тему свободного ПО, а Руководители и преподаватели реально интересуются
LinuxCenter-Урал, г. Екатеринбург отвечать им будут технические специалисты компа- альтернативным программным обеспечением. И это
Цель, если кратко – рассказать, что такое свободное ний «Белов и партнеры», Mandriva.Ru и LinuxCenter. заметно по тому, сколько они ноутбуков принесли для
ПО, «с чем его едят», дать попробовать. Рассказать Ru. В свою очередь, компания «Белов и партнеры» в установки Linux как второй ОС. То есть, они не просто
учителям, что свободные программы – более под- лице директора Виталия Белова пообещала оказывать для галочки отсиделись, а подошли к этому вопро-
ходящий вариант для образования, чем привычные школам всестороннюю посильную помощь в вопросах су серьезно и с пониманием. Я думал, что мой опыт
закрытые, при их использовании нет пределов для освоения свободного ПО. внедрения на коммерческие предприятия будет слабо
образования и самообразования. Учителя и школь- интересовать образовательные учреждения. Ан нет!
ники могут в полной мере погрузиться в глубины Владимир Кречетов, студент 2 курса Живой интерес вызвал рассказ об одном реальном
предмета. ПГПУ, факультет информатики и внедрении, с приведенными цифрами экономии на
Цель достигнута в полной мере. И даже сверх экономики ПО. Вопросами засыпали. Я был приятно удивлен.
того, что планировалось. Поразила заинтересован- Учусь на дневном отделении и второй год работаю в Уже после мастер-класса ко мне в офис поступи-
ность педагогов и работников системы образования школе (которую закончил в 2006 году) лаборантом ло множество звонков с разными вопросами и пред-
в свободном ПО. Активная аудитория, масса вопро- ЭВТ. Этим летом у нас ушел учитель информатики ложениями. Видимо, мимо внимания это событие не
сов, причем, в основном практической направлен- (на более высокооплачиваемую работу), и идти боль- прошло и вызвало определенный резонанс. Хочется
ности. Учителя идут впереди властей, сами задумы- ше некому было, техник тоже не мог, вот я и пошел, надеяться, что этот резонанс не выродится в пустой
ваются о будущем, не ждут указки сверху. У многих взяв с собой школьный ноутбук и имея свой интерес звук. Очень хочется.
уже есть опыт работы с Linux и определенный багаж к изучению ОС.
знаний. Про ОС Linux я слышал очень давно, но лично От автора
Понравилась сама организация. Все вовремя, встречаться с ней мне не приходилось, пока не купил Повторю за Виталием: «Очень хочется!»
никаких задержек, затяжек. Обычно приходят 30– ноутбук с установленной на него какой-то версией. Хочется, чтобы не покрылись пылью в углу кабине-
40% приглашенных, а здесь из 150 школ больше Потыкавшись около 2-х часов принял решение срочно та информатики диски с Open Source-софтом.
90 человек. снести и поставить Windows. Чтобы наши педагоги могли спокойно работать без
Также порадовало, что были не только учителя С тех пор прошел не один год, и в один прекрас- оглядки на прокуратуру.
информатики, но и директора школ, заместители, ный солнечный день захотелось перемен. Vista тре- Чтобы состоялись все предварительные соглаше-
руководители школьных медиацентров. Это гово- бует очень много ресурсов (которых у меня нет), и ния о сотрудничестве, достигнутые в ходе проведения
рит о том, что проблема школьного программного тут я вспомнил, что существует такая ОС, как Linux мастер-классов.
обеспечения волнует не только собственно препода- (хотя ставить на свой компьютер что-то непонятное не Чтобы предполагаемое участие в эксперименте
вательский, но и руководящий состав школ. Отсюда очень-то и хотелось, ведь компьютер нужен мне как по внедрению СПО пермские школы встретили во
вывод: образовательные учреждения Пермского воздух). В университете нам читали обзорные лекции всеоружии.
края морально уже готовы к внедрению свободного по ОС, а в этом году даже ввели новый спецпредмет Хочется...
ПО, осталось решить только некоторые технические «ОС Linux». Практики ждал с нетерпением… Но для этого придется приложить еще немало
вопросы. Визуально стало как-то более похоже на Windows, усилий. Чтобы пройти дорогу в тысячу миль, надо
хотя есть некоторые характерные черты, которые, сделать первый шаг. И не остановиться. LXF
Анжелика Мухина, заместитель я думаю, можно настроить под себя, но кто пустит
директора школы по User’а ползать в системных настройках? В этом вся
информатизации прелесть несокрушимости Unix-подобных ОС.
Первое, что впечатлило – большое количество После всего, что было сказано на семинаре, у
заинтересованных лиц, прибывших на семинар. меня сложилось такое впечатление,
Программа семинара была разбита на два этапа: что мы рассмотрели только ОДНУ
теоретическое и практическое знакомство с Linux. сторону медали, а про вторую забы-
Сначала, присутствующие, и я в том числе, вели себя ли. Я имею в виду, что как-то повер-
настороженно. Все новое поначалу вызывает сомне- хностно было рассмотрена проблема
ние. Неизвестность и слухи о несовершенстве Linux драйверов. Единственное, что я услы-
были развеяны представителями Линуксцентра. шал, это, если на ПК стоит Windows,
Слушатели «оживились» и стали задавать интере- то при установке Mandriva она берет
сующие вопросы. их из среды Windows [видимо, речь
Во время практической работы в среде Linux ста- идет об ndiswrapper, – прим. ред.]. А
ло понятно, что работа с данным программным обес- как быть, если на ПК не установлен
печением не требует кардинально новых навыков. Windows? Да и вообще, драйвера под
Интерфейс во многом схож с ОС Windows, поэтому Unix-подобные ОС не на каждом углу
полностью переучиваться не придется. Подкупает и валяются и не для всех устройств.
А
спирант радиофизического факультета затем стал помогать другим, начал писать документа- моя деятельность в продвижении идей Open Source
Томского государственного университета цию. Примерно в то же время я познакомился с основ- неизбежно переросла проект «Slackware Linux в
Денис Александрович Шергин (binstream@ ным составом TLUG (Tomsk Linux User Group). Начиная Томске».
binstream.net) является действующим активистом с 2001 года я стал активно использовать Linux в рабо- При поддержке единомышленников из томской
томской группы пользователей GNU/Linux. Для это- те, работая системным администратором факультета. LUG в 2005–2006 гг. мне удалось провести пилот-
го интервью его рекомендовал зам. директора по ИТ ную серию Open Source-семинаров для системных
Регионального центра развития образования Томской LXF: С чего началась ваша публичная деятельность администраторов и программистов. Всего получи-
области Виктор Дмитриевич Корнеев (korneev@ по продвижению GNU/Linux? лось 14 докладов в ходе 7 семинаров. Материалы
education.tomsk.ru). В вопросах распространения ДАШ: Постепенно количество подшефных серве- некоторых из них опубликованы в виде статей на
открытого программного обеспечения важно понять ров росло, у меня возникла идея создать локальное сайте http://slackware.tomsk.ru/seminars/. В резуль-
не только технические решения, но и причины, кото- зеркало с обновлениями Slackware, так как до этого тате томское Open Source-сообщество поняло, что
рые побуждают людей идти по этому пути. в Томске очень нерегулярно появлялись обновле- можно проводить более масштабные мероприя-
ния открытого ПО. В результате появился ресурс тия, а не просто непринужденные «линуксовки».
Евгений М. Балдин, LXF: Как вы познакомились http://slackware.tomsk.ru. Постепенно вокруг проекта Появилась заинтересованность именно в конструк-
с GNU/Linux? собралась команда людей, помогающих в меру сил тивном обмене опытом. Очень порадовал тот факт,
ДАШ Александрович Шергин: Впервые я уста- и способностей – кто-то трафиком, кто-то публика- что на эти семинары приходили люди, ранее не
новил Linux в 1998 году, это был Red Hat 4.2, взятый у цией новостей и своих оригинальных материалов, знакомые с миром Open Source. Вообще, тема ока-
друга. В 2000 году мне в руки попал диск со Slackware остальные поддерживают новичков в форуме. Всем залась востребованной, ко мне часто обращались
7.1, и это стало поворотной точкой – мне очень пон- им огромное спасибо за активное участие в «S.T.R. незнакомые люди и спрашивали, когда будут следу-
равился этот отличный, логичный дистрибутив, и я team». Однако Slackware – достаточно маргиналь- ющие семинары.
использую его до сих пор. Постепенно разбирался сам, ный дистрибутив (как бы я его ни любил), поэтому
Внимание,
книга!
В издательстве «БИНОМ»
готовится к выпуску книга
Г. Пожариной и А. Поносова
LXF: Помогают ли чем-нибудь сообщество пользова- ДАШ: Есть, но все держится на конкретных личностях Издание адресовано
телей GNU/Linux? «продвинутых» учителей, по своей инициативе произ- работникам сферы
ДАШ: Да, конечно, но можно делать намного больше. водящих такие переходы. В Томске уже есть несколько
В основном я вижу готовность установить любимый школ, где больше года используется GNU/Linux в ком-
образования –
дистрибутив в ближайшей школе, про вопросы под- пьютерных классах, например, «Эврика-развитие» и руководителям
держки и обучения очень мало кто задумывается. педагогический колледж. Двойная установка (Linux и образовательных
Проблема диалога сообщества пользователей GNU/ Windows одновременно) тоже достаточно популярны.
Linux и преподавателей заключается еще и в том, что Однако массовым это явление назвать никак нельзя, и
учреждений, методистам,
это слишком разные миры, каждый со своей мане- держится это все на конкретных людях. C их уходом из преподавателям.
рой общения и правилами. Пожилые учителя неуютно системы образования (а такие специалисты востребо-
себя чувствуют в «тусовке» молодых IT-шников, где ваны в других, намного лучше оплачиваемых сферах),
Книга поможет тем, кто
все разговаривают на сленге и достаточно агрессивно созданная ими система с большой долей вероятности
относятся к задающим много глупых вопросов нович- распадется. собирается внедрять
кам. Таким образом, вне поля их внимания остается в своих школах, колледжах
множество профильных интернет-ресурсов, которые LXF: Чего не хватает для полноценного и относитель- и вузах открытые продукты
могли бы принести пользу. но безболезненного перехода на GNU/Linux школам и
В частности, для решения этой проблемы плани- сообществу? и технологии .
руется создание «информационного портала о сво- ДАШ: По большому счету – грамотных специалистов,
бодном ПО», который, по сути, будет дублировать уже вовлеченных в процесс. Причем не только технических
существующие интернет-ресурсы (причем в первое специалистов, но и учителей, использующих передо-
время наверняка будет содержать очень мало полез- вые педагогические практики, и руководителей, кото-
ной информации), но зато будет оформлен «правиль- рые смогут принять верные стратегические решения.
ным» языком. Остальное – дело техники. Следите за информацией
LXF: Участвуют ли в этом процессе коммерческие LXF: Что бы вы пожелали или посоветовали бы сооб-
в нашем журнале и на сайте
фирмы или все делается на добровольной основе? ществу пользователей GNU/Linux?
ДАШ: Пока что идет период тендеров, реальной ДАШ: Не забывайте, что развернуть системы GNU/ www.linuxcenter.ru
деятельности коммерческих фирм еще не видно. Linux – это всего лишь малая часть работы. Основная
Разумеется, на одном энтузиазме такой масштабный задача – поддержка и обучение.
проект не воплотить в жизнь, но я пока что скептичес- В целом – сил нам всем
ки настроен по поводу эффективности работы ком- и настойчивости, эта
мерческих компаний без практического опыта в этом дорога будет длин-
Обратная связь
направлении. Несмотря на это, есть ряд российских
компаний, ориентированных на GNU/Linux-технологии,
ной. LXF
У вас есть своя история успеха
и вы готовы поделиться ею
Внимание,
которые готовы подключиться к процессу.
И •Г •Р • О • С •Т •Р • О •Й
Все о разработке компьютерных игр с использованием
свободного программного обеспечения
АНДРЕЙ ПРАХОВ
Участник нескольких
игровых проектов,
Стрелялка
за выходные
представитель СМИ
и начальник
www.linuxmedia.ru
И
грострой – дело нелегкое и
П
весьма-весьма затратное. ризнаюсь сразу – это самый странный урок из Мы поместим на игровое поле крошечный кораблик,
Понятно, почему маститые всех, что вас ожидают. Я, конечно, постараюсь храбро «выносящий» с экрана полчища врагов (будут
разработчики игр не горят желанием скрасить его различными интересными отступ- ли ужасные БОССы и различные типы оружия – зави-
ваять свои шедевры под открытый и лениями, но уж ничего не поделаешь – в нем вы начнете сит от вас), реализуем многоплановый параллаксный
свободный Linux. Ну никак не окупится учиться с конца. В качестве положительного момента скроллинг, эффекты прозрачности и другие интересные
разработка, ну не та идеология у поль- отмечу, что изложенных в нем сведений должно хватить вещи. Подобный тип игр малораспространен на плат-
зователей открытых систем! И получает- для того, чтобы начать писать компьютерные игры для форме Linux, так давайте разберем по шагам все момен-
ся, что основная надежда игроков оста- Linux и, таким образом, значительно увеличить их число ты, которые требуются для создания игры и, следуя им,
ется лишь на своих же «свободных» в нашей любимой ОС. Мы будем использовать язык C/ напишем новую!
разработчиков. Конечно, радует появ- C++, но, чтобы следовать курсу, вам потребуются только
ление таких проектов, как AstroMenace базовые знания. Приготовим рабочее место
или игровой LiveDVD от linux-games.net. Основной игровой библиотекой в Linux, пожалуй, Взгляните на врезку Что нам потребуется? и убедитесь,
Честь и хвала людям, занимающимся следует назвать SDL. Скажу больше – написав игру с что указанные в ней компоненты присутствуют и гото-
этим делом почти на чистом энтузиаз- использованием SDL, вы без каких-либо изменений вы к работе. Я специально не стал упоминать популяр-
ме. Да вот уровень у них, мягко говоря, сможете откомпилировать ее для Linux, Windows, Mac ные IDE типа KDevelop – при всем своем удобстве они
не дотягивает до желанной истинными OS X, Amiga Pegasos и даже наладонников, а возмож- достаточно громоздки и скрывают суть происходящих
геймерами хардкорной планки. Вот и ностей библиотеки хватило для портирования Heroes процессов. Для компиляции нашего кода потребуется
ждут игроки у моря погоды, в надеж- of Might and Magic 3. Я не сомневаюсь, что ваши планы написать лишь крошечный make-файл (назовите его
де, что разработчики игр «одумаются». более грандиозны, но SDL способна реализовать и их. В Makefile).
Однако давайте вспомним, какие масш- крайнем случае (для повышения быстродействия и ско- TARGET = ingame.run
табные проекты были осуществлены на ростных операций масштабирования, вращения и про- CFLAGS= `sdl-config --cflags`
этом самом энтузиазме, столь нелюби- зрачности) всегда можно подключить OpenGL. LIBS = `sdl-config --libs` -lSDL_ttf -lSDL_mixer
мом некоторыми несознательными эле- При всех достоинствах SDL – это конструктор, поз- CC=g++
ментами ИТ-мира. Думается, создание воляющий собрать действительно удобный инструмент.
и поддержка какого-либо дистрибутива Например, вместо следующего кода, выводящего спрайт
отнюдь не легче, чем работа над серь- на экран стандартными средствами SDL –
езным игровым проектом. Так, может, SDL_Rect shadow; Что нам потребуется?
объединение светлых голов по известной shadow.x=(Sint16)x;
схеме Open Source и приведет к долго- shadow.y=(Sint16)y; GNU/Linux – свободная, бесплатная (другими словами –
жданному результату? SDL_SetColorKey(img,SDL_SRCCOLORKEY,SDL_ доступная любому человеку) операционная система и
«Москва не сразу строилась…» – это MapRGB(img->format,255,0,255)); обладающие теми же преимуществами средства разра-
известно всем и каждому. Попробуйте SDL_BlitSurface(img,0,screen,&shadow); ботки, входящие в состав любого популярного дистрибу-
свои силы в самом маленьком, крошеч- мне кажется более логичным написать: тива, а также текстовый редактор (Kate, vi, mcedit – по
вкусу). Помимо этого, необходимы библиотеки (в том
ном проекте. Еще никто не говорил, что sprite(номер, x, y);
числе и версии для разработчиков с суффиксом «devel»)
офисные игры – это зло. А «Игрострой» Если вам тоже импонирует эта мысль, читайте даль-
SDL (для графики), SDL_mixer (для звука) и SDL_ttf (для
всецело вам в этом поможет. ше – мы доведем SDL именно до такой степени. При вывода сообщений) – их можно установить через менед-
info@linuxmedia.ru этом исходный код ваших игр едва ли превысит 20–30 жер пакетов вашей системы.
КБ и будет кристально понятным даже новичкам.
x=250; С назначением переменных UP (вверх), DOWN Третий этап – битва с БОССом. В роли «вели-
y=650; (вниз) и FIRE (огонь) вы теперь можете разобраться кого и ужасного» будет выступать Гигантский
... самостоятельно. корабль-матка.
sprite(1,x,y); Конец. Враг разгромлен, но одна шлюпка
все будет работать, как раньше. Ключ на старт! выскользнула за пределы оцепления и скрылась в
Итак, с выводом одной картинки мы разобра- Чтобы находящийся на экране неподвижный корабль звездных просторах. Продолжение следует?
лись. Программирование игр – не жонглирование, начал движение, в программу необходимо добавить Конечно, вы вольны придумать свою сюжетную
и обращаться с несколькими спрайтами ненамного всего две строчки. Вот так: линию, но главное здесь – увидеть примерную струк-
сложнее: screen(500, 700); туру игры. И могу вас заверить – если все сделать
screen(800,600); loadsprite(1, “ship.bmp”); грамотно, то играть будет весьма увлекательно. А что
loadsprite(1,”luna.png”); x=250; самое важное в космических стрелялках? Конечно же,
loadsprite(2,”ship.png”); y=650; красивые взрывы, поэтому на красочных эффектах
loadsprite(3,”fire.png”); while (GAME) тоже экономить не стоит.
while (GAME) { Все это здорово, но мы упустили одну маленькую
{ sprite(1,x,y); деталь. Чтобы создать по-настоящему высококласс-
sprite(1, 150 , 0); ную игру, необходимо придумать изюминку, свой-
sprite(3, 250 , 300); if (LEFT) {x=x-2;} ственную только ей. Поэтому сидите и думайте, изред-
sprite(2, 350 , 500); if (RIGHT) {x=x+2;} ка поглядывая в зеркало. Как только размер головы
fx(); станет чуть больше перезревшего арбуза – бегите к
} fx(); друзьям и продолжайте мозговой штурм. И тогда...
} Не забывайте и о факторе внезапности, а так
Чем больше будет изменение координаты, тем же физических законах. Где-то на полпути к Луне
быстрее будет перемещаться корабль по экрану. И кораблю может повстречаться метеоритный поток.
наооборот, если приращение координаты установить Некоторые метеориты будут настолько велики, что
равным 0,1 или 0,01, ваш скоростной истребитель окажутся способны своим импульсом изменить
будет ползти, как старый имперский сухогруз. направление движения истребителя. Но именно в этом
астероидном поле устроили засаду мириады вражес-
Что дальше? ких перехватчиков – земному пилоту придется ой как
Прошло каких-то несколько минут, а вы уже имеете не сладко! Однако всему этому придется подождать
работающую демо-версию новой игры. Есть что пока- до следующего выпуска «Игростроя»... LXF
зать друзьям, поэтому самое время решительно ска-
зать: «Стоп!». Все должно развиваться по плану.
Начнем с уже озвученной фабулы. Мы управляем
небольшим космическим истребителем. Цель: уничто-
Полученный в результате успешной компиляции жить враждебных пришельцев, основавших цитадель
экран уже худо-бедно напоминает игровое поле, так на Обратной стороне Луны. Соответственно, до этой
что, пожалуй, пришла пора рассказать о нем попод- самой Луны необходимо добраться, поэтому игровой
робнее. Думаю, вы уже в курсе, что в нашу Солнечную процесс целесообразно разделить на 3 этапа:
систему ворвались ужасные инопланетные захват- Первый – добраться до Луны через открытый
чики. Враг обосновался возле Луны, и ваша цель космос. Этому, очевидно, будут мешать вражеские
теперь – добраться до естественного спутника Земли, перехватчики.
чтобы уничтожить вражеское гнездо. Второй этап происходит над Лунной поверхностью.
Уверен, вы придумали бы более привлекательную Это повод реализовать фантастический многоплано-
фабулу. Если же нет, то зовите скорее к компьюте- вый паралаксный скролинг! Нашими врагами будут
ру друзей и знакомых, всех, кто способен сочинять все те же истребители, а также пушки, вмонтирован-
интересные истории, рисовать, писать музыку и пла- ные в скалы.
нировать уровни – скажите им, что вместе вы може-
те защитить целую Вселенную, стать популярными
в мире Linux и многое другое. Ну разве оно того не
стоит?
Предопределенные переменные
Для управления кораблем у нас есть следующие
В ingame.h определен целый ряд переменных, которые с большой вероятностью понадобятся вам при разработке
замечательные переменные, также определенные в
своей игры.
ingame.h:
Следует отметить, что движок работает с числами с плавающей точкой. Это значит, что мы можем перемещать
LEFT Принимает значение 1, если нажата клави-
спрайт не только на целое число пикселей (скажем, 1), но и на дробное – например 0.02. Это дает возможность
ша «стрелка влево», и 0, если она отпущена, так что выводить очень медленно перемещающиеся спрайты (например, далекие облака).
выражение Список предопределенных переменных:
if (LEFT) {x=x-1;} x , y Координаты спрайта первого игрока (тип float)
примененное в нужном месте кода программы, сдви- x2, y2 Координаты спрайта второго игрока (тип float)
нет наш истребитель влево на один пиксель. LEFT, RIGHT, UP, DOWN Флаг, равный 1, если нажата клавиша «стрелка влево/вправо/вверх/вниз» или «огонь»
RIGHT По аналогии с LEFT, принимает значение 1, (пробел), соответственно, и 0 в противном случае
если нажата клавиша «стрелка вправо», и 0 – в про- GAME Флаг, сбрасываемый в 0, если пользователь нажал клавишу Escape
тивном случае.
Низвести
cкрижали с Гор
П
рипозднившись, после года разработки, GNU General Public этой лицензией, от упомянутых угроз. Изменение в лицензии, подверг-
Джереми License версия три (GPLv3) наконец-то вышла в свет. нувшееся самой яростной критике – это раздел анти-DRM, номер шесть
Эллисон Неофициально признанная конституцией движения Свободного новой лицензии. Разработчики ядра Linux были настолько против этого
ПО, GPL – наиболее широко используемая свободная лицензия: процен- раздела, что до сих пор придерживаются GPLv2 – это, безусловно, их пра-
Джереми – веду-
щий разработчик тов семьдесят свободно распространяемых программ выходят под ней. во. Однако создается впечатление, что суть проблемы затерялась в под-
команды Samba, На новое творение уже нацелились критики, в основном из числа тех нятом шуме. Суть в том, что GPLv3 вовсе не запрещает DRM, и не ставит
сейчас работает в
Google, в Сан-Хосе, индивидуумов и компаний, кто не участвовал в ее подготовке. Хотя коли- ее вне закона. Просто вы не можете использовать код GPLv3 или компо-
Калифорния. чество крупных корпораций, принявших участие в процессе создания новаться с ним для создания подобной системы. Как и всегда, компании
GPLv3, достойно удивления. могут совершенно свободно создать собственный проприетарный DRM-
В 1991 г., когда RMS (Ричард Столлмен [Richard Stallman], автор GPL код и попытаться усложнить задачу копирования цифровой информации
и основатель FSF – Free Software Foundation) выпустил вторую версию (удачи!), используя плоды собственного труда. Они просто не должны
GPL, лишь немногие энтузиасты «Свободного ПО» озаботились ее про- использовать для этих целей существующий код GPLv3. Мне это кажется
чтением и пониманием. Спустя шестнадцать лет выход третьей версии совершенно справедливым. Я не хочу, чтобы хоть какая-то часть моего
прокомментирован непосредственно компанией Microsoft, а в ее созда- кода использовалась в системе DRM, но при этом я не собираюсь ограни-
нии активно участвовали юристы IBM. Да, времена меняются. чивать кого бы то ни было в погоне за этой несбыточной мечтой.
Но кое-что осталось неизменным – это сам RMS. Да, он постарел, и
расплатой за хакерские подвиги, некогда его прославившие, стал кисте- Я выпускаю код под GPLv3
вой туннельный синдром, но его взгляды на свободу ни на йоту не изме- Мои взгляды на патентные соглашения уже, наверное, хорошо известны.
нились. Если вы хотите понять GPL, вам надо понять RMS. Бородатый, В двух словах – я против. Они пытаются выделить класс привилегирован-
словно ветхозаветный пророк, RMS обладает неким нравственным ком- ных пользователей, «осененных благодатью» и защищенных от судеб-
пасом, указывающим абсолютно точное направление: его стрелка всег- ных преследований благодаря тому, что они заплатили определенным
да повернута к свободе. поставщикам за получение их кода. Это – не свобода, это предоставление
У RMS всегда было очень четкое представление о том, каким он хочет слуге права выбора, который хозяева уже сделали за него. Главная идея
видеть мир программного обеспечения, и GPL он создавал именно с этой сообщества разработчиков и пользователей GPL – в отсутствии приви-
целью. Для занятых в индустрии проприетарного ПО оно звучит пугаю- легированного положения. Никто никого не использует: налицо истин-
ще: в сущности, их выбор рода деятельности признается безнравствен- ное сообщество идей. Патентные соглашения – это попытка разделять и
ным, вплоть до уголовного преследования. Лично мне по пути с RMS властвовать, чтобы вынудить людей платить дистрибьюторам, даже не
только до этого момента – не нужно признавать незаконным выбор дру- участвовавшим в создании кода. Эти поставщики намеренно изолируют
гих. Я слишком боюсь тех, кто находит безнравственным и достойным себя от сообщества, но при этом хотят взимать со всех нас пошлину. Для
законодательного запрещения мой выбор. Но что касается остальных меня это – самое важное изменение в GPLv3. Даже не будь в ней всех
его взглядов, относительно создания массивной экосистемы программ остальных изменений, кроме этого положения, все равно я бы выпускал
под GPL, свободно распространяемых среди пользователей и програм- все свои программы под GPLv3, чтобы сохранить ровное и широкое поле
мистов, я полностью за! деятельности, необходимое для процветания сообщества разработчиков
Для понимания использования GPL и создания сообщества и пользователей.
Свободного ПО необходимо осознать, что самая важная часть – слово Благодаря нововведениям, GPLv3 являет собой скромный эволюци-
«сообщество». Это подобно клубу, где членство зависит от того, принима- онный шаг вперед. Она демонстрирует, что RMS и FSF можно доверять в
ете ли вы дух лицензии, которую используют все члены – GPL. Заметьте, я деле защиты свободы программного обеспечения GPL для разработчи-
говорю «дух», а не «букву» лицензии. Причина здесь в том, что код, созда- ков и пользователей. Лет через десять, когда возникнет необходимость
ваемый членами сообщества, обладает невероятной ценностью. Создание в создании четвертой версии GPL по причине возникновения пока что
ядра Linux было однажды оценено в 600 миллионов долларов. На заре неведомых угроз, я рассчитываю увидеть ту же самую критику в адрес
Samba, проекта, в котором я работаю, коммерческий конкурент предлагал лицензии и ее разработки от тех же самых людей. «Проект версии четыре
за обладание правами 40 миллионов долларов. Ему отказали. При столь чересчур экстремален, – скажут они, – в отличие от логичной и понятной
высокой ценности кода, рассматриваемого как «находящийся в свобод- всем версии три, которой мы пользуемся сегодня».
ном доступе», для тех, кто тянет к нему руки, большим соблазном было Не обращайте внимания на истерию. Все эти критики ошибаются
бы попытаться найти такую лазейку, чтобы уничтожить этот дух лицен- насчет GPLv3, и я ожидаю, что множество программ станет доступно
зии, как бы придерживаясь (или даже перетолковывая) ее букву, чтобы под этой лицензией. Мечта RMS об огромной экосистеме Свободного
только получить коммерческое преимущество. ПО GPL, которое все мы можем использовать на благо наших работода-
GPL второй версии устарела. Компании, пытающиеся воспользо- телей и наших сообществ, может стать реальностью, если не отвлекать-
ваться лицензией, столкнулись в этой связи с техническими проблема- ся от главного приза. Если вы цените работу Free Software Foundation,
ми с оборудованием, а также с тем, что они считают дырой в патентной пожалуйста, окажите им финансовую поддержку. Пусть это будет всего-
защите, гарантированной GPLv2, и цель у всего этого – ниспроверже- навсего $1.05, помочь может даже скромная лепта.
ние самой идеи равенства прав на код для каждого. Я говорю о Защите Как говорится в веселом фильме «Отряд Америка: Всемирная поли-
Цифровых Прав [DRM], которая «запирает» оборудование, и о патент- ция» [Team America: World Police – мультфильм от создателей «Саус
ных соглашениях Microsoft. Парка», вышедший на экраны в 2004 году, – прим. пер.]: «Свободы нету
Третья версия GPL разработана как раз для решения этих проблем – дармовой, и плата не мала. Коль ты не вложишь бакс-другой… кто вло-
и для того, чтобы защитить «равные права для всех», гарантированные жится тогда?» LXF
Reviews Xxx
Как принять
Заместитель генерального директора
Софья Виниченко
Генеральный директор
Павел Фролов
УЧРЕДИТЕЛИ
частные лица
ИЗДАТЕЛИ
участие?
Станислав Медведев, Виктор Федосеев, Павел Фролов
Подготовка материалов
Ладислав Боднар [Ladislav Bodnar], Нейл Ботвик [Neil Bothwick], д-р Крис Браун [Dr.
Chris Brown], Энди Ченнел [Andy Channelle], Крис Хауэллз [Chris
Сделай сам!
Howells], Энди Хадсон [Andy Hudson], Рэйчел Проберт [Rachel Probert], Джек Найт
[Jack Knight], David Feeley [Дэвид Фили], Евгений Балдин, Александр Бабаев, Николай
10 проектов, которые могут потрясти ваш мир: трехмерные
Байбородин, Андрей Боровский, Вадим Лихота, Алексей Маслий, Андрей Паскаль,
Галина Пожарина, Александр Поносов, Андрей Прахов, Александр Супрунов, Алексей
фотографии, запуск Linux с USB-брелка, свой собственный
Федорчук, Илья Шпаньков
Художественные ассистенты: Ник Кокс [Nick Cox], Дэвид Диас [David Dyas], Дэмиан
медиа-сервер или дистрибутив на базе Fedora - мы расскажем
МакГи [Damian McGee]
Фотографии: Джена Камбо [Jena Cumbo], iStock Photo
обо всем этом, а также многом другом.
Иллюстрации: Пол Блечфорд [Paul Blachford], Крис Винн [Chris Winn]
КОНТАКТНАЯ ИНФОРМАЦИЯ
UK: Linux Format, 30 Monmouth Street, Bath BA1 2BW
Tel 01225 442244 Email: linuxformat@futurenet.co.uk
РОССИЯ:
D-Bus для разработчика
Санкт-Петербург (редакция): ул. Гончарная, 23, офис 54, телефон: (812) 717-00-37
Представительство в Москве:
Без этой технологии немыслим современный открытый
пр.Мира, 161, телефон +7(495) 799-18-63, +7(495)136-88-45
Email: info@linuxformat.ru, Web: www.linuxformat.ru
рабочий стол - узнайте, как использовать ее, прямо сейчас!
Авторские права: Статьи, переведенные из английского издания Linux Format, являются
собственностью или лицензией Future Publishing Ltd (Future plc group company). Все права
зарегистрированы. Никакая часть данного журнала не может быть повторно опубликована без
письменного разрешения издателя.
Все письма, независимо от способа отправки, считаются предназначенными для публикации,
если иное не указано явно. Редакция оставляет за собой право корректировать присланные
письма и другие материалы. Редакция Linux Format получает неэксклюзивное право на
публикацию и лицензирование всех присланных материалов, если не было оговорено иное.
Linux Format стремится оставлять уведомление об авторских правах всюду, где это возможно.
Свяжитесь с нами, если мы не упомянули вас как автора предложенных вами материалов и мы
постараемся исправить эту ошибку. Редакция Linux Format не несет ответственности за опечатки. Интервью
Интервью: эксклюзивно
для LXF
Все присланные материалы могут быть помещены на CD или DVD-диски, поставляемые вместе с
журналом, если не было оговорено иное.
Ограничение ответственности: используйте все советы на свой страх и риск. Ни при каких условиях
редакция Linux Format не несет ответственность за повреждения или ущерб, нанесенные вашему
компьютеру и переферии вследствие использования тех или иных советов.
За содержание рекламных материалов редакция ответственности не несет.
Linux-зарегистрированная торговая марка Линуса Торвальдса (Linus Torvalds). Название «GNU/
Linux» заменяется на «Linux» в целях сокращения. Остальные торговые марки являются Точки зрения посетителей и участников LinuxWorld в
собственностью их законных владельцев.
Linux Format является торговой маркой Future Publishing Ltd (Future plc group company).
За информацией о журналах, издаваемых Future plc group company, обращайтесь
Сан-Франциско.
http://www.futureplc.com