4 notes ÌÓ‚ÓÒÚË ÒÓÓ·˘ÂÒÚ‚‡ Open Source
Linux-χ¯Ë̇ ÒÎÂ‰Û˛˘Â„Ó ÔÓÍÓÎÂÌËfl åÂÊ‰Û ‰‚ÛÏfl Ò‰‡ÏË Silicon Graphics готовится к демонстрации она сохранила свою приверженность мо- В отличие от ситуации в Китае сооб- новой высокопроизводительной системы дульности. Видимо, Silicon Graphics окон- щество в Европе может оказывать вли- Altix 4000, вобравшей в себя мощь 512 чательно отказалась от использования яние даже на принятие решений гиган- процессоров Itanium и операционной сис- собственных MIPS-процессоров и ОС Irix. тами в мире Linux. После сообщения о темы с ядром Linux (Novell SUSE Linux Сегодня большую часть (75%) списка сворачивании поддержки KDE в SUSE Enterprise Server 9 или Red Hat Enterprise пятисот самых мощных в мире компью- Linux Enterprise Server и Novell Linux Linux Advanced теров составляют Desktop в пользу GNOME (предпола- Server 4), как и ны- машины под управ- галось, что отныне поддержкой KDE нешняя Altix 3000. лением Linux. будет ведать исключительно проект В отличие от пред- Silicon Graphics openSUSE) сервисная служба Novell шественницы но- удалось занять чет- испытала беспрецедентное давление вая машина содер- вертую позицию с со стороны пользователей и разработ- жит 128 Тбайт па- системой SGI Altix чиков. Под напором писем компания мяти, превосходя 3700, используемой была вынуждена отказаться от по- ее по этому параме- NASA. Компания IBM спешного решения и опять повернуть- тру на 24 Тбайт. пока не сдает лиди- ся на 180°, чтобы успокоить клиентов. Предыдущая раз- рующих позиций: Некоторые аналитики считают, что работка имела блоковую серверную на самой вершине расположился eServer структуру по восемь процессоров со свя- Blue Gene Solution ее производства. занной памятью, теперь Altix исполнена www.news.com в традициях blade-серверов, но при этом www.top500.org
Linux ‚ äËÚ‡Â: ÔÓ„ÌÓÁËÛÂÏÓÂ Ë ÌÂÓÊˉ‡ÌÌÓ Будущее программной индустрии Китая — ские правила не являются неким аму- Linux. Выбор уже сделан, но именно он летом для отечественных производи- определил и новую проблему для Подне- телей — хорошим примером может бесной. SUSE от Novell, завоевавший служить и успех Novell, и даже продви- лидирующие позиции на внутреннем жение Microsoft в отдельно взятой про- рынке, а также успешное продвижение винции Синьхуа. Red Hat, с одной стороны, сталкивает Однако не все так гладко. Главной про- гигантов с интересами китайских разра- блемой, сдерживающей развитие Linux ботчиков, а с другой — является мощ- в Китае, как всегда оказывается законо- ным стимулом для развития последних. дательство, регулирующее взаимоотно- Когда в конце прошлого года первые шения иностранных представителей со первое решение Novell можно хоть шаги на новом рынке стала осваивать своими собственными, что теперь вы- как-то объяснить владением Ximian Red Hat, специалисты подчеркивали, зывает серьезные опасения за будущее с 2003 года и давним замахом на более что, прежде чем добиться успеха, ей Linux у последних более, чем у первых. плотную интеграцию GNOME со свои- необходимо будет проделать долгий путь Сможет ли индустрия, уже пережившая ми коммерческими дистрибутивами. к пониманию Китайских правил, в ко- стремительный взлет, избежать губитель- Как разъясняют эти маневры в Novell, торых индивидуальные превосходства ного периода застоя, зависит от того, компания продолжает спонсировать смешаны с политической властью и взвесит ли государство все преимущества оба проекта и будет включать в дистри- личными связями. нынешней политики и дивиденды с от- бутивы все новейшие разработки в об- Собственно китайские Linux-компании каза от излишней опеки. История пока- ласти Open Desktop, но все же отдает имеют солидную государственную под- зательна еще и тем, что ни какое-либо формальное предпочтение GNOME. держку: символ Linux-индустрии Китая сообщество, ни коммерческие гиганты Именно эта интегрированная среда Red Flag Software — со стороны Акаде- не имеют в своем распоряжении совер- устанавливается в готовящихся дис- мии наук Китая, а Turbolinux — со сто- шенных механизмов, гарантирующих трибутивах по умолчанию, если поль- роны правительства Шанхая. Орбита беспрепятственное распространение зователь не указывает в процессе интересов этих компаний недосягаема идеи «невзирая на границы». инсталляции другой вариант. для посторонних, тем не менее Китай- www.business.newsforge.com www.novell.com/prblogs
CHIP| LINUX 4/2005 Ó·ÁÓ˚, ÒÓ·˚ÚËfl 5
Nessus ÓÚ͇Á˚‚‡ÂÚÒfl ÓÚ GPL äÓÓÚÍÓÈ ÒÚÓÍÓÈ из труда Tenable Network Security кроме Fedora Project, спонсируемый Red Hat, самой Tenable. Коммерческая поддержка открывает тестирование пятого по счету Nessus 3 обойдется в $1200 в год за один дистрибутива. Тестовый релиз включает обслуживаемый сканер. Приоткрыта за- модульный XOrg, ядро 2.6.15-rc1-git3, веса тайны и над самим Nessus 3. Ожи- компилятор GCC 4.0.2, последние интег- даемая скорость работы сканера при рированные среды GNOME 2.12 и KDE анализе серверов Windows поднимется 3.4.92, слепок Xen 3.0 для i386, улучшен- в пять раз и, по самым оптимистичным ную открытую версию Java и значитель- прогнозам, составит 17 крат, что будет ные изменения в установщике. Окон- достигнуто благодаря новому, полностью чательный релиз Fedora Core 5 должен переписанному «сердцу» сканера. состояться 27 февраля 2006 года. Между тем Nessus 2 по-прежнему остает- www.redhat.com ся свободным. В версии 2.2.6 исправле- Еще не вышедший третий большой релиз ны обнаруженные на сегодняшний день одного из самых популярных открытых ошибки, проведены дополнительные решений для автоматизации проверки и манипуляции с NASL и включен улучшен- обнаружения уязвимостей и брешей в за- ный сканер Nessus TCP — пользователям щите системы Nessus и без того привлек Nessus 2.2 настоятельно рекомендуется бы к себе внимание, но после заявления произвести обновления. группы разработчиков Tenable Network Вокруг Nessus складываются не только Security о переходе на закрытый код ре- негативные, но и вполне благоприятные зонанс последовал нешуточный. Соосно- отношения специалистов. С небольшой ватель Tenable Network Security Рон Гула поддержкой от Tenable Network Security The GNU Image Manipulation Program, бо- дал обстоятельное интервью Security группа разработчиков Intevation GmbH лее известный как GIMP, отметил свое Focus, где, объясняя причины отказа от представила первого кандидата в релиз десятилетие. Первый исторический анонс открытой модели разработки, сослался 1.0.0 — NessusClient с графическим ин- Питера Маттиса был сделан 21 ноября на требования клиентов и коммерческие терфейсом под X11/GTK, возможностями 1995 года следующими словами: «GIMP интересы проекта, подчеркивая, что одновременного запуска нескольких за- разработан с целью предоставления инту- «свобода» значит очень много для раз- дач, поддержкой сохранения отчетов итивного графического интерфейса к раз- ных стран, при разных дворах и в бизне- в PDF, HTML, XML и другими полезными нообразным операциям редактирования се, и Nessus 3 останется свободным — функциями. изображений». Первая версия, увидевшая кроме той части, где до сих пор кому www.nessus.org свет, имела номер 0.54. угодно можно было извлекать выгоду www.securityfocus.com www.gimp.org
Проект Mozilla.ru стал лауреатом Премии Рунета 2005, учрежденной Федеральным Open Source Í‡Í ÒӈˇÎËÁÏ агентством по печати и массовым Шей Агасси, исполнительный директор Билла Гейтса, в начале года назвавшего коммуникациям, заняв первое SAP, подверг критике движение Open разработчиков свободного ПО коммуни- место в народном голосова- Source, заявив, что оно не способствует стами. Тенденция налицо — всего за год нии, которое продолжалось росту новых идей, необходимых для раз- сообщество регрессировало до социализ- в течение 100 дней. Mozilla.ru вития общества: «Мы все говорим о том, ма. Что скажут в следующем году? выражает глубокую призна- насколько хороша Linux, но если вы Слова Агасси можно было бы пропустить тельность всем, кто проявил взглянете на самый инновационный мимо ушей, как и речи других противни- внимание к этому проекту: десктоп, то увидите, что Vista от Microsoft ков, если не принимать во внимание «Это наша общая победа, она копирует не Linux, а Apple. Социализм влияние, которое имеет SAP на новую стала возможна благодаря на- в интеллектуальной собственности (IP) — организацию ESA (European Software шей сплоченности, преданно- худшее из всего, что может случиться Association). Именно она пытается орга- сти общему делу». в любом информационном обществе... низовать противодействие переходу ев- В «народную десятку» попал и Если у нас нет путей для защиты IP, то ропейских организаций и публичных русскоязычный ресурс энцик- нет и смысла инвестировать в нее». Таким администраций на открытые решения. лопедии ru.wikipedia.org. образом, Агасси последовал примеру www.news.zdnet.co.uk www.premiaruneta.ru
4/2005 LINUX| CHIP 6 notes ÌÓ‚ÓÒÚË ÒÓÓ·˘ÂÒÚ‚‡ Open Source
çÓ‚Ó Á‚Û˜‡ÌË «Äθڇ» водитель отмечает, что в очередном дис- трибутиве пользователи смогут опробо- вать новую программу установки, по- знакомиться с системой настройки ALT Linux Control Center, основанной на модульной безопасной платформе Alterator, уже знакомой тем, кто исполь- зовал ALT Linux Sisyphus. Дистрибутив содержит новую стабильную версию ядра Linux 2.6.12, графическую систему XOrg 6.8.2, интегрированную среду KDE и массу приложений, необхо- димых домашнему компьютеру. ALT Linux 3.0 Compact доступен на одном CD или DVD в коробке с печатным руко- водством — в обоих случаях с купоном, дающим право на получение технической поддержки. Рекомендуемые системные требования укладываются в процессор совместимой с Pentium III архитектуры с тактовой частотой не ниже 1 ГГц, объем Самый ожидаемый отечественный дис- компьютера, в том числе программы для оперативной памяти — от 256 Мбайт. трибутив ALT Linux 3.0 Compact готов работы в Интернете, офисные приложе- ALT Linux уже демонстрировала свою к встрече со своими пользователями. ния, утилиты для просмотра и прослуши- продукцию на выставках «Цифровой «ALT Linux 3.0 Compact — простая и вания мультимедийной информации. мир-2005» и ИТО-2005, где также была удобная операционная система для В Compact реализована поддержка ши- предоставлена возможность ознакомить- повседневной работы, основанная на рокого спектра современного оборудова- ся и с самозагружающимся дистрибути- последних разработках компании ALT ния, в том числе процессоров, материн- вом ALT Linux 3.0 TravelCD, не требую- Linux. В дистрибутив включено все не- ских плат, видеоускорителей, принтеров, щим установки на жесткий диск. обходимое пользователю домашнего цифровых камер, сканеров и т. д.» Произ- www.altlinux.ru è‰ԇÁ‰Ì˘̇fl ‡ÚÔÓ‰„ÓÚӂ͇ Перед новогодними праздниками спамеры начинают готовить плацдарм для своих рассылок, создавая новые зомби-сети. В частности, в ноябре Trend Micro обнару- жила три модификации Linux-червя под названием Lupper. Он случайным образом генерирует IP-адрес и пытается атаковать его как уязвимый веб-сервер. Первая мо- дификация содержала троянский компо- нент, с помощью которого злоумышленник мог управлять компьютером через откры- тые порты 7111 и 7222. Два других вари- анта уже использовали стандартный для зомби механизм реверсивных команд, ког- да захваченный компьютер сам обращает- ся по указанному захватчиком адресу. www.osp.ru
CHIP| LINUX 4/2005 Ó·ÁÓ˚, ÒÓ·˚ÚËfl 7
ì˜ËÚ¸Òfl ÌËÍÓ„‰‡ Ì ÔÓÁ‰ÌÓ äÓÓÚÍÓÈ ÒÚÓÍÓÈ Лучшим подтверждением этому изречению человеко-машинному взаимодействию С++ свергнут с неофициального трона является существование Интернет-универ- и социальным вопросам. Открытость короля SourceForge. Вершину занял Java. ситета информационных технологий — предлагаемой модели обучения объяс- Матс Генринсон опубликовал результаты проекта дистанционного образования, няется тем, что «любые, даже самые подсчета количества проектов, ведомых первого в России учебного заведения, сокровенные знания рано или поздно на разных языках, которые разделили в котором такой вид обучения доступен будут доступны в Сети». первую шестерку следующим образом: любому, так как получать его можно бес- Интернет-университет информационных 1. Java — 16 738 проектов; платно. Суетливый и нервный ритм подго- технологий — это частная организация, 2. C++ — 16 731 проект; товки к зачетам и экзаменам? Забудьте. Те- которая ставит следующие цели: 3. C — 15 934 проекта; перь вы сами решаете, когда готовы отчи- 3 финансирование разработок учебных 4. PHP — 12 175 проектов; таться о приобретенных курсов по тематике инфор- 5. Perl — 6209 проектов; знаниях, к тому же вы мационно-коммуникацион- 6. Python — 4542 проекта. вольны выбирать не- ных технологий; www.jroller.com сколько курсов сразу — 3 координация учебно- было бы по силам. «Это методической деятельности По единодушному, но не простому мне- только начало. Возмож- предприятий компьютер- нию экспертов ZDNet, лучшим десктопом но, название нашего ной индустрии по созданию для малого бизнеса признан Ubuntu Linux проекта покажется вам учебных курсов по ИКТ; 5.10. На «операционный стол» вместе с нескромным, но мы на 3 обеспечение профессор- ним попали Mandriva Linux 2006, Novell самом деле ставим своей ско-преподавательских ка- Linux Desktop 9, Red Hat Desktop 4 и SUSE целью создание универ- дров вузов и библиотек Linux 10. В оценку входили такие крите- ситета информационных учебниками и методически- рии как соединение почтового клиента технологий», — обраща- ми материалами; с сервером Microsoft Exchange, печать на ется к посетителям ре- 3 содействие органам госу- сетевом принтере и установка службы сурса один из авторов проекта Анатолий дарственной власти в области развития об- обмена мгновенными сообщениями. Шкред. Интернет-университет предлагает разовательных программ, связанным с ин- reviews.zdnet.co.uk слушателям открытые курсы по архитек- формационными технологиями. туре ЭВМ, информационной безопасности, Признание INTUIT.ru пришло незамедли- ASPLinux совместно с фирмой 1C прове- интернет- и сетевым технологиям, опера- тельно, и проект стал лауреатом Нацио- ла акцию по снижению цен на коробоч- ционным системам (Solaris, Linux, Unix), нальной премии Российской Федерации ные версии дистрибутива ASPLinux 10. базам данных, разработке приложений за вклад в развитие российского Интерне- Начиная с 7 ноября коробка с самым (объектно-ориентированное программи- та в номинации «Наука и образование». полным вариантом дистрибутива — рование и программирование в стандар- У вас есть желание? Возможность уже ASPLinux v10 Deluxe — стоит 999 руб- те POSIX), системам программирования предоставлена. лей, а коробку с вариантом ASPLinux (C, C++, Java, Pascal, PHP и другим) и даже www.intuit.ru v10 Standard можно приобрести за 499 рублей, при этом для всех версий техническая поддержка осталась в пре- делах прежнего объема. В случае отсут- ìÊÂÒÚÓ˜ÂÌË „·ÏÂÌÚ‡ ствия дистрибутива в магазинах по но- Линус Торвальдс пригрозил разработчи- что так хорошо в теории, а на практике вым ценам его можно купить на сайтах кам, что вносимые в последнюю минуту многое зависит еще и от тех, кто подго- www.softkey.ru изменения со следующей версии ядра им тавливает им работу таким образом, что www.asplinux.ru рассматриваться не будут, а их авторам уложиться в короткое временное окно он от души посмеется в лицо. Последняя сложно. В ответ Торвальдс рекомендует версия 2.6.14 постоянно откладывалась надавить на таких помощников и в по- и вышла лишь спустя месяц после наме- добных случаях вообще останавливать ченного срока именно из-за ошибок, со- их работу, давая тем самым себе возмож- держащихся в коде, предоставленном в ность подавать материалы в срок. самый последний момент. Комментарии «Люди постоянно жалуются, что я ста- разработчиков, как водится, разделились. новлюсь слишком мягким. Только не Одни остались довольны жестким регла- сейчас», — отметил Торвальдс. ментом работы, другие посетовали на то, news.zdnet.co.uk
4/2005 LINUX| CHIP 8 notes ÌÓ‚ÓÒÚË ÒÓÓ·˘ÂÒÚ‚‡ Open Source
ÅÂÎÓÛÒÒËfl ˉÂÚ ÔÓ ä‡‰Ó‚‡fl ÔÓÎËÚË͇: ÍÚÓ, ÓÚÍÛ‰‡, ÔÓ˜ÂÏÛ? святил себя проекту Lulu.com на новом ÍËÚ‡ÈÒÍÓÏÛ ÔÛÚË? независимом публикационном сетевом Китай обладает самой совершенной в ми- рынке, а ведь именно Янг был в 1993 году ре системой цензуры в Интернете, что сооснователем компании. само по себе неудивительно для страны, В ноябре из SUSE ушел Хьюберт Ман- где даже доступ к информации считается тель, один из основателей SUSE Linux. сферой государственных интересов. Главной причиной он назвал расхожде- «Великий Китайский firewall» включает ния с диктуемым направлением разви- в себя аппаратные средства контроля до- тия и разочарованием в нынешних идеях ступа граждан к содержимому Сети за счет компании, не соответствующих тем, что фильтрации трафика — по сообщениям в SUSE разделяли 13 лет. Ранее, в мае, различных информационных ресурсов, компанию покинул Ричард Зейбт, быв- именно к ним проявили интерес белорус- ший президент SUSE Linux. ские власти. Подробности в настоящее Не обходится без потрясений и в корпо- время неизвестны — возможно, ситуация рации Microsoft. Дон Ганье, один из ве- прояснится после декабрьского визита дущих разработчиков Microsoft Office, за- руководства Белоруссии в Китай, однако явил об отказе от дальнейшей работы в тревога остается... Уходящий год принес немало сюрпризов пользу своего увлечения автогонками, www.gazeta.pl в отношении кадровых перемен. В июне что было воспринято руководством как www.securitylab.ru стоявший у истоков Gentoo Даниель Роб- невосполнимая потеря. Единственным бинс перешел на работу в корпорацию утешением стал только тот факт, что Microsoft, оставив все имеющиеся у себя Ганье не переходит на работу в Google. права на логотипы, сценарии ebuild и Кроме него Microsoft к концу следующе- другую интеллектуальную собственность, го года покинет крестный отец Windows прочно связанную со своим детищем, ор- Джим Олчин. Больше не работают в ганизации Gentoo Foundation, а на новом корпорации Уорд Каннингем, изобрета- месте стал оказывать «помощь в понима- тель Wiki, а также Хади Партови, изве- нии Open Source и проектов сообщества». стный своим участием в «браузерных Октябрь отозвался отказом Боба Янга от войнах» в конце 90-х и инициативами места в правлении Red Hat, который по- портала MSN.
ãÛ˜¯Â ÏÂ̸¯Â, ‰‡ ÎÛ˜¯Â Одним из главных доводов, который вывод lspci или dmesg). Наконец, что де- предъявляют пользователи, не спешащие лать в том случае, если с вашим оборудо- Å˚Ú¸ ÎË Â‰ËÌÓÏÛ переходить с Windows на Linux, является ванием не справилась и Windows? Конеч- поддержка различного оборудования опе- но, это большая редкость, однако если Òڇ̉‡ÚÛ Linux-mobile? рационной системой от Microsoft. Дескать, это все же случилось, будьте уверены, что PalmSource и Orange от France Telecom зачем менять среду обитания, когда в ней Microsoft сможет помочь вам — за $129 в объявляют о начале совместной работы работают все устройства, и подвергать час. В столь экстремальном случае в Linux по стандартизации интерфейса Linux для себя риску возникновения проблем в с горящей под ногами землей вы можете сотовой связи. В случае успеха союзники новой операционной системе? Аргумент обратиться за поддержкой и поиском ре- предполагают оказать существенное вли- серьезный, бесспорно, но не столь од- шения проблемы в LKML (Linux Kernel яние на рынок и составить конкуренцию нозначный. Во-первых, на стороне Linux Mailing List). Наконец, есть простой мо- Microsoft и Symbian. В том же направле- полная прозрачность в отношении того, мент, почему-то упущенный автором мате- нии работают FSM Labs с Motorola и как работает драйвер какого-либо устрой- риала на pcburn.com, который всего-то MontaVista Software — с одной стороны, ства, а также то, каким образом он создан. и заключается в том, чтобы справиться и Open Source Development Lab (OSDL) Во-вторых, Linux имеет множество встро- о поддержке своего оборудования на до- с собственным проектом Consumer енных методов тестирования некорректно машней странице того дистрибутива, ко- Electronics Linux Forum — с другой. настроенного оборудования и его монито- торый вас заинтересовал. www.news.com ринга (достаточно взглянуть хотя бы на www.pcburn.com
CHIP| LINUX 4/2005 Ó·ÁÓ˚, ÒÓ·˚ÚËfl 9
íË ËÁÏÂÂÌËfl ̇ ‡·Ó˜ÂÏ ÒÚÓΠщие. Во-первых, разработчики не ставят перед собой заоблачных целей, даже пре- достерегают от соблазна назвать результа- ты их работы рабочим столом в 3D. Бук- вально: вы видите не то, что вы видите, это только основанная на X оконная сис- тема с принципиально новыми возможно- стями управления, поддерживающая все мыслимые в пределах трех осей координат манипуляции. Авторы не предлагают но- вого десктопа, скорее это инструмент для создания новых типов окружения рабо- чего стола. В технических подробностях Metisse представляет собой совокупность инструментария nucleo, Xserver, Tight VNC и оконного менеджера FVWM, снова ока- завшегося замечательной платформой для воплощения самых смелых идей (вспом- ните Symphony, fvwm-crystal). Предвари- тельная версия системы доступна для скачивания, а совсем скоро ожидается Принесет ли наступающий год 3D на x86-платформах, среда разработки ПО выход новой, уже продемонстрированной рабочий стол пользователя, покажет, ко- включает еще и поддержку Windows. на прошедшем в конце октября Восемнад- нечно, время. Прогнозы — дело небла- Проект открыт для свежих идей: авторы цатом симпозиуме по программированию годарное. А вот на вопрос, можно ли уже считают, что доступ всего сообщества и технологиям пользовательского интер- сегодня присмотреться к чему-нибудь к исходным текстам проекта — лучший фейса UIST 2005 в Сиэтле. Сегодня разра- эдакому, отвечаем утвердительно. спутник на пути к открытию «волную- ботчики имеют Xmetisse — сервер Metisse Project Looking Glass — открытая плат- щих и грандиозных возможностей». для приложений X Window, Xmetisse-config форма для исследования инновацион- Open Croquet — www.opencroquet.org. Этот и/или Xmetisse.pc (для pkg-config), по- ного трехмерного пользовательского открытый проект, как и Looking Glass, не дробное описание протокола Metisse и интерфейса (ttp://lg3d-core.dev.java.net) ограничивается просто 3D, а добавляет к Текущая версия — 0.7.1, доступен и са- нему перспективные возможности совме- мозагружающийся дистрибутив LG3D стной работы сразу нескольких пользова- LiveCD в версии 2.3. Платформа основа- телей в одном телеметрическом простран- на на технологии Java, открыта и берет стве, что увеличивает его «сетевой вес». начало в недрах Sun Microsystems. Дис- Архитектура синхронизации гарантирует трибутив поддерживает запуск и работу немедленное отражение всех действий даже немодифицированных приложений разных пользователей в трехмерном окру- в трехмерном окружении. Существую- жении. Здесь разработчики сосредоточи- щая в настоящее время интеграция при- ли внимание и на взаимодействии в режи- ложений поддерживает Linux и Solaris на ме реального времени. Графическая база Croquet — OpenGL, сращенный со скрип- товым языком. В основе Croquet лежит фундаментальная идея разработки доста- точно гибкой среды, в которой можно без труда и серьезных временных затрат набор скриптов, облегчающих запуск и воплотить любое представление о графи- настройку Xmetisse (геометрия, глубина ческом интерфейсе. «Пределы этой систе- и пр.). Возможно, невзрачный на снимке, мы равны пределам воображения», — Metisse поразит ваше воображение, пред- утверждают ее авторы. став воочию, а с настройкой внешнего Metisse (http://insitu.lri.fr/metisse) — про- вида FVWM справится любой пытливый ект не менее интересный, чем предыду- пользователь. Сергей Мороз
4/2005 LINUX| CHIP 10 success story ÍÓÏÏÛÌË͇ˆËË
Алексей Хураскин ÇÓÓÚ‡ ‚ ëÂÚ¸
Где бы мы ни находились, всегда хочется быть в курсе последних событий и знать прогноз погоды на следующий день. Владельцы смартфонов решают этот вопрос просто: в их телефонах есть браузер, который может просматривать любые веб-страницы с помощью GPRS. Обладателям телефонов более простых моделей приходится искать другие пути.
Первое, что приходит в голову, — воспользоваться WAP, благо цессорами и широкими каналами связи, но всего этого у теле- его поддержка есть почти в каждом телефоне. Однако после фонов нет. По той же причине для телефонов не подходит недели использования от этого решения хочется отказаться: HTML. Его гибкость и сложность World Wide Web Consortium тарификация поминутная, скорость соединения не превыша- (www.w3c.org) принес в жертву строгости и простоте, разработав ет 9600 бит/с, а цены и вовсе кусаются. Зачастую минута свя- новый язык разметки — WML (Wireless Markup Language). зи стоит столько же, сколько минута общения с абонентами Именно таким шлюзом нам дает пользоваться оператор, городской сети. Тут уж не до вдумчивого чтения! когда требует плату за услугу GPRS+WAP. Обычно в руководст- Вместо этого некоторые операторы советуют пользоваться вах по настройке телефона его обозначают предельно просто и услугой GPRS+WAP. Предложение разумное, но при анализе ясно — «IP-адрес». Давайте настроим шлюз, обеспечив практи- расценок выясняется, что провайдеры постарались сделать чески бесплатный доступ к WAP-ресурсам! Ведь даже при ак- их такими, что выгода для абонента выглядит очень сомни- тивном ежедневном просмотре новостей, чтении анекдотов и тельной. В результате он вынужден платить гораздо больше, прогнозов погоды тратится не более 1 Мбайт трафика в месяц. чем если бы пользовался смартфоном и обычным браузером, оплачивая трафик GPRS. Чтобы понять, почему это происхо- | Установка и настройка шлюза | дит, и попытаться устранить несправедливость, надо разо- Нам понадобится специально предназначенная для этого про- браться в основах работы GPRS+WAP. грамма kannel (www.kannel.org). Последняя версия на момент написания статьи — 1.4.0. Далее приведена последовательность | Как работает WAP? | действий для ASPLinux 10, но их можно с легкостью распрост- WAP (Wireless Application Protocol) — протокол передачи данных ранить и на любой другой дистрибутив. Создадим нового поль- по беспроводным сетям с очень ограниченной пропускной спо- зователя kannel. В дальнейшем будем работать от его имени. собностью. Однако в отличие от HTTP или FTP он не доставляет Скачаем и распакуем исходные тексты: содержимое сайтов напрямую с сервера на телефон, а требует $ mkdir /usr/arc/kannel && cd /usr/arc/kannel промежуточное звено — WAP-шлюз (в английской терминоло- $ wget -c http://kannel.org/download/1.4.0/gateway-1.4.0.tar.bz2 гии — WAP-Gate). Мини-браузер на телефоне использует шлюз в $ tar -jxvf gateway-1.4.0.tar.bz2 качестве посредника при обращении к сайтам. При этом шлюз $ cd gateway-1.4.0 обменивается данными с телефоном по протоколу WAP, а с сай- Запустим скрипт ./configure со следующими параметрами: том — по HTTP. Это обусловлено техническими причинами: 3 --disable-docs — отключить файлы документации. Опыт по- HTTP был изначально создан для компьютеров с мощными про- казывает, что при сборке документации установится большое
CHIP| LINUX 4/2005 ÛÒÚ‡Ìӂ͇ Ë Ì‡ÒÚÓÈ͇ WAP-¯Î˛Á‡ 11
количество дополнительных пакетов, значительно превышаю- box-allow-ip = "*" щих по объему уже готовые файлы, которые можно получить на udp-allow-ip = "*" сайте производителя. # имя файла для записи логов 3 --enable-localtime — отмечать в логах локальное время, а не log-file = "/tmp/kannel.log" по Гринвичу. # числами от 0 до 5 будут регистрироваться все события, 3 --disable-sms — отключить возможность отправки SMS. Для # уровень которых не ниже установленного работы этой опции потребуется доступ к SMS-центру операто- # рекомендуется поставить 0 на этапе настройки, ра, которого у нас в данный момент нет. 4 – при использовании Теперь соберем и установим исполняемые файлы в каталог log-level = 0 /usr/arc/kannel/bin/: # имя файла для регистрации сообщений о доступе к серверу $ make access-log = "/tmp/kannel.access.log" $ sudo make bindir = /usr/arc/kannel/bin install # интерфейс, который будет «слушать» kannel Синтаксис конфигурационного файла очень прост и чем- # укажите здесь внешний IP-адрес сервера, на который будут то напоминает файл конфигурации Samba. Весь файл разбит приходить запросы на три части, которые относятся к разным компонентам kan- # формат такой же, как у параметра "box-allow-ip" nel: bearerbox (основной компонент шлюза), wapbox (компо- wdp-interface-name = "111.111.111.111" нент, отвечающий за поддержку WAP) и smsbox (модуль под- # группа wapbox держки транспорта SMS). Его мы использовать не будем, по- group = wapbox этому соответствующую секцию оставим пустой. Каждая bearerbox-host = localhost часть начинается со слова group. Команда a = b присваивает log-file = "/tmp/kannel.wap.log" переменной a значение b, а если b строкового типа, значение Здесь надо сделать несколько довольно важных замечаний. следует заключить в кавычки. Строки-комментарии начина- Kannel, как было сказано, состоит в нашем случае из двух мо- ются со знака «#». Создадим пустой файл /usr/arc/ kannel/kan- дулей — bearerbox и wapbox. К одному имеющемуся wapbox nel.conf следующего содержания: может быть подключено несколько bearerbox. Например, для # Основная группа того чтобы распределить нагрузку на серверную машину, мож- group = core но разместить bearerbox на одном сервере, а wapbox — на трех # порт и пароль для управления kannel других. Директива bearerbox-host в группе wapbox указывает, admin-port = 13000 на каком конкретном сервере работает wapbox и к какому из admin-password = password1 них следует подключаться. # порт, к которому будут подключаться wapbox Настало время проверить, все ли мы правильно сделали. За- wapbox-port = 13002 пустим bearerbox и wapbox с максимальным уровнем отладки в # пароль для просмотра статуса шлюза разных терминальных окнах: status-password = password2 $ /usr/local/sbin/bearerbox -v 0 /usr/arc/kannel/gateway- # список разрешенных хостов для доступа к шлюзу 1.4.0/kannel.conf # адреса отделяются друг от друга точкой с запятой, «*» озна- $ /usr/local/sbin/wapbox -v 0 /usr/arc/kannel/gateway- чает любой адрес 1.4.0/kannel.conf
åÓ·ËθÌÓ ÛÒÚÓÈÒÚ‚Ó äÓÌÚÂÌÚ-Ò‚Â
WAP-¯Î˛Á
ëÚÂÍ ÔÓÚÓÍÓ· WAP èÓÚÓÍÓÎ HTTP
ç ԇ‚‰‡ ÎË Û‰Ó·ÌÓ ‚Ò„‰‡ ËÏÂÚ¸ ÔÓ‰ Û- èË̈ËÔˇθ̇fl ÒıÂχ ‡·ÓÚ˚ c ÔÓÚÓÍÓÎÓÏ WAP ˜ÂÂÁ ¯Î˛Á ÍÓÈ ÔÓÒΉÌË ÌÓ‚ÓÒÚË Ë Ò‚Ó‰ÍË ÔÓ„Ó‰˚?
4/2005 LINUX| CHIP 12 success story ÍÓÏÏÛÌË͇ˆËË
Внимательно просмотрите вывод этих команд. Должны по- сервиса в случае его краха. К сожалению, это нужный аргумент. явиться сообщения только типов INFO и DEBUG. Если вы види- Бывает, wapbox «падает» даже от сканирования портов с помо- те сообщения ERROR или тем более PANIC, то постарайтесь най- щью nmap. Трехсекундная пауза между запуском bearerbox и ти причину. Это могло произойти, например, если вы неправиль- wapbox необходима, чтобы bearerbox успел проинициализиро- но указали адрес интерфейса в переменной wdp-interface-name. ваться, перед тем как wapbox начнет к нему подключаться. Для проверки работоспособности всей связки в целом используется эмулятор WAP-клиента fakewap, входящий в со- | Настройка телефона | став kannel. В третьем терминальном окне перейдите в ка- Для работы со свеженастроенным шлюзом надо подходящим талог с исходными текстами kannel и запустите следующую образом подготовить телефон. Подробное руководство вы мо- команду (вместо значения 111.111.111.111 впишите адрес сер- жете найти на сайте своего оператора и выставить все настрой- вера, на котором работает wapbox): ки согласно его рекомендациям. Изменить нужно лишь один $ test/fakewap -g 111.111.111.111 wap.rbc.ru параметр — в одних аппаратах он называется «IP-адрес», в дру- Если вы видите надпись «fakewap complete» — шлюз работает! гих — «шлюз». Сделайте его равным IP-адресу сервера, на кото- Создадим простой скрипт для запуска шлюза следующего ром установлена kannel. Теперь выберите GPRS как предпочти- содержания. Если вы хотите, чтобы шлюз запускался при стар- тельный способ соединения. Телефон готов к работе! те системы, добавьте путь к скрипту в конец файла /etc/rc.local: # !/bin/bash | Последний нюанс | sudo -u kannel /usr/local/sbin/bearerbox -v 5 -d -P Итак, теперь у вас есть полнофункциональная замена WAP- /usr/arc/kannel/gateway-1.4.0/kannel.conf шлюзу оператора. Она не требует денег, ее работа зависит только sleep 3 от вас, что, согласитесь, немаловажно. Особо следует отметить, sudo -u kannel /usr/local/sbin/wapbox -v 5 -d -P /usr/arc/kan- что использование этого шлюза абсолютно законно и не нару- nel/gateway-1.4.0/kannel.conf шает условий контракта. Однако в качестве меры предосторож- Как вы, наверное, заметили, добавилось два параметра. Па- ности не стоит публиковать его IP-адрес, потому что заблокиро- раметр -d запускает сервисы в виде демонов. Второй, дополни- вать доступ к нему со стороны оператора очень просто (но на тельный, параметр -P обеспечивает автоматический перезапуск функциональности сервера это, конечно, не скажется). |
Дополнительные услуги óËÚ‡ÂÏ ÔÓ˜ÚÛ Пользователи сервиса Mail.ru в ней папку mail и распакуй- вскоре обнаружат возмож- те туда файлы из папки ность чтения и отправки элек- wapreader следующего архи- тронной почты через WAP- ва: http://citkit.dl.source- интерфейс. Но что делать, forge.net/sourceforge/wap- если администратор сервера, reader/wapreader-1.1.tar.bz2. на котором располагается ваш Установите модуль php-imap почтовый ящик, не озаботил- для поддержки протокола ся настройкой подобной IMAP в PHP: службы? Сделать это самим! # yum install apache php-imap è˯ÂÏ ÔËÒ¸ÏÓ: ÔÓ͇ ·ÂÁ ÚÂÎÂÙÓ̇ Для этого понадобится почто- Опять же будем считать ад- вый клиент с WAP-интерфей- ресом сервера, например, страничку http://111.111. заходе на сервер, добавьте сом wapreader. Его можно 111.111.111.111. Введите 111.111/mail/test.php. Там в закладки телефона ссылку скачать с сайта http://wap- следующий адрес в строке вы обнаружите более по- следующего вида: reader.dp.ua/ru/about. Он вашего браузера (на компью- дробное описание найден- http://111.111.111.111/ может работать по прото- тере): http://111.111.111. ных ошибок. mail/wapreader.php?
CHIP| LINUX 4/2005 ÒËÒÚÂχ ÛÔ‡‚ÎÂÌËfl ·ËÁÌÂÒÓÏ Á‡‡·‡Ú˚‚‡ÂÏ ‰Â̸„Ë Ì‡ ‰ÓÏÛ 13
Даниил Шидловский ùÎÂÍÚÓÌÌ˚È ÛÔ‡‚ÎÂ̈
Проблема поиска постоянного или дополнительного заработка с помощью разработки свободного программного обеспечения легко решаема при наличии опыта, знаний и умения небанально мыслить.
Радость от совместной жизни с любимой девушкой длилась не- Используя личный опыт и несколько замечательных про- долго. Остро встал финансовый вопрос. А если учесть, что я ле- дуктов с открытым исходным кодом, вы сможете запустить нивый, к тому же еще и разгильдяй, не способный работать прекрасный сервис практически не выходя из дома. Да, боль- в команде, то проблема представлялась очень даже серьезной. шинство клиентов привозят мне деньги прямо домой. Ценят. Между прочим, мое трудоустройство на постоянную (даже вы- Вот неполный список необходимых в работе продуктов: Linux, сокооплачиваемую) работу не устраивает и мою девушку тоже. Python, Roundup, Postgresql, Mtacs, Freemind. Кроме денег она требует постоянного внимания. В раздумьях о заработке я отправился на книжный рынок и | Что необходимо разработчику? | купил издание из серии «Бедный папа, богатый папа». Одна Внутреннее содержание проекта должно отвечать нескольким мысль меня очень заинтересовала: чтобы стать обеспеченным — критериям. Как оказалось, примерно следующим: лучше получать $100 в месяц и почти ничего не делать, чем 3 очень простое (лень, знаете ли); $5000, вкалывая от зари до зари. Потому что $100 пассивного 3 распространенное; дохода позволят найти следующую сотню. А потом еще. И еще. 3 на Python; 3 с открытыми исходными кодами; | Подготовка | 3 созданное профессионалами, желательно для себя. Дальше я поведаю вам о том, как моей мечте удалось вопло- Внешний облик должен иметь веб-интерфейс (но очень титься в реальность. Мы вместе пройдем весь путь от поисков, быстрый). Проект должен работать на небольшом сервере на робких экспериментов и закончим решением тех проблем, с основе недорогой машины под управлением, естественно, которыми я столкнулся при коммерческой эксплуатации про- Linux. И еще обязательно нужно использовать MySQL с воз- дукта, получившего название «Докотека». можностью перехода на Postgresql. Итак, начнем с конца. Нужны деньги. Не очень большие, но В ходе поисков оптимального решения я перебрал несколько систематически. У кого есть деньги? У больших компаний. Имея проектов. Перечислю их, вкратце упомянув плюсы и минусы. определенный опыт делового общения, я сразу отказался от этой 3 Roundup (roundup.sourceforge.net). Собственно, понравилось идеи. Ведь там сплошная политика. А я далеко не Лебедев. все: дизайн, документация, исходный код. Стабильное развитие. Другой вариант — обычные пользователи. Тоже мимо кассы. Тот, 3 Zope2 (www.zope.org). Cреда с непростой системой безопасно- кто настраивал компьютеры частным лицам, меня поймет. Работы сти и требовательна к ресурсам. Использую для веб-разработок. очень много, денег — кот наплакал. Остановился на следующем вы- 3 Zope3 (www.zope.org). Не потянул. Отладка ZCML (это больше, боре: мои клиенты — владельцы небольшого бизнеса. Зарегистри- чем конфигурационный файл) показалась для меня сущим адом. ровав предприятие, я сам легко и непринужденно попал в этот круг. 3 Quixote (www.mems-exchange.com). Хорошо. В связке с И сразу остро почувствовал необходимость в инструменте управле- SQLObject пишется очень легко. Но захотелось чего-нибудь ния информацией. И теперь он у меня есть — «Докотека». нового (для меня) и более распространенного.
4/2005 LINUX| CHIP 14 success story ÒËÒÚÂχ ÛÔ‡‚ÎÂÌËfl ·ËÁÌÂÒÓÏ
3 Tiny erp (www.tinyerp.org). Сильный продукт. Обнаружил $ roundup-admin initialise его, когда «Докотека» уже была на полпути к клиенту. Уверен, $ roundup-server classic=/home/myhome/trackers/classic что еще вернусь к нему. И можно запускать roundup. Остановился на Roundup по той причине, что этот продукт А затем открывать любимый Firefox на http://localhost: используют профессионалы, к тому же он позволяет менять 8080/classic. схему данных прямо на лету. А это для меня самое важное, Получился баг-трекинг, полностью готовый к работе. Уже ведь вначале я не имел представления о том, какие структуры локализованный! Очень хорошо. Но этого мало. Распечатал буду задействовать. Кроме того, Roundup автоматически ве- customising.html, client.py и поехал на неделю на дачу (компью- дет журнал операций, работает с dbm, MySQL, Postrgresql, тер не брал). Изучал до просветления. Стал думать над интер- SQLite на выбор. Данными можно управлять из командной фейсом. Не нашел лучшего решения, чем дерево и список. строки, через Интернет или SMTP. Roundup замечательно работает со списками из коробки. А вот с деревом не все так просто. Может, есть варианты получше? | Задачи, решаемые «Докотекой» | Случайно наткнулся на продвинутую модель дерева — Какие же задачи должна уметь решать система? Руководителю MindMap. Дальше MindMap я буду называть ментальной кар- бизнеса от нее требуется следующее: той; подробнее о ней можно узнать на сайте www.mindmap.ru 3 централизованное хранилище файлов с доступом через Нашел свободный продукт для работы с ментальными кар- Глобальную сеть; тами — Freemind (http://freemind.sourceforge.net). На скриншо- 3 отчет о том, кто какую работу выполнил и сколько времени те вы можете видеть пример его работы. это заняло; Потом написал скрипт на Python, который генерирует XML, 3 быстрый доступ к нужному файлу; на основе которого Freemind строит ментальную карту. 3 резервное копирование всей информации; Жаль только, что для отображения ментальной карты в бра- 3 обмен сообщениями. узере приходится использовать java plugin. И тут удача улыб- нулась мне. По адресу http://cvs.sourceforge.net/viewcvs.py/ free- | Разработка | mind/flash я нашел исходники к SWF-файлу (Macromedia Flash, Ну что, поехали? Для начала я поднял Linux на стареньком если кто не знает), который отлично отображает ментальную Celeron 500. Затем скачал и установил следующие компоненты: карту в Flash plugin для браузера. 3 Python (интерпретатор языка программирования); И что самое главное, этот visorFreemind.swf создан с помо- 3 MySQL (движок базы данных); щью свободного компилятора (подробнее о нем вы можете уз- 3 MySQLdb (модуль Python для работы с MySQL); нать на сайте www.mtasc.org). Какая чудесная находка! 3 Roundup (bug tracking). Видение того, каким должен быть интерфейс, пришло ко Затем установил администраторский модуль roundup, на- мне во сне: слева — ментальная карта, причем у каждого брав в командной строке: пользователя своя; справа — фрейм для отображения данных. $ roundup-admin install При нажатии на узел слева или справа открывается форма для При установке выбрал шаблон (template) classic и MySQL в ввода данных или список. качестве backend: Проснувшись, сразу же сел за компьютер. Помедитировал $ emacs /trackers/classic/config.ini над исходниками visorFreemind.swf и внес два небольших изме- Здесь я редактирую переменные. Самые важные из них — нения. В файле Main.as убрал строку System.useCodepage = true, web, domain, host. Теперь необходимо указать пароль админис- а в Node.as во всех вызовах getUrl добавил еще один параметр — тратора и каталог с трекером:
ÇÓÚ ˜ÚÓ ÔÓÎÛ˜ËÎÓÒ¸ Û ÏÂÌfl...... ‡ ˝ÚÓ ÔËÏ ̇ Ò‡ÈÚ ‡Á‡·ÓÚ˜ËÍÓ‚ Freemind
CHIP| LINUX 4/2005 Á‡‡·‡Ú˚‚‡ÂÏ ‰Â̸„Ë Ì‡ ‰ÓÏÛ 15 right_frame, чтобы ссылки открывались в правом фрейме (да, А теперь поговорим о шаблонах, благодаря которым мы вы- да, я помню, что фреймы использовать не рекомендуется, но водим формы для ввода данных и показываем списки. Кстати, ничего лучше конструкции с тегом
4/2005 LINUX| CHIP 16 desktop ‰ËÒÚË·ÛÚË‚˚ ë‚Ó·Ó‰Û Александр Кузьменков, Сергей Супрунов ı‡ÏÂÎÂÓÌÛ
Похоже, очередная версия SUSE Linux, финальный релиз которой не так давно вышел в свет, станет новой вехой в истории этого дистрибутива. Дело в том, что компания Novell (нынешний владелец SUSE Linux AG) приняла решение открыть для сообщества Open Source разработку SUSE Linux, так что теперь каждый пользователь может внести свою лепту в создание любимого дистрибутива.
Ранее никакой самодеятельности не допускалось, разработку ски сразу после выхода десятого релиза была анонсирована вела сравнительно небольшая команда людей. Кроме того, ISO- альфа-версия 10.1, которую можно загрузить по тому же адресу. образы очередного релиза дистрибутива выкладывались только Выход финальной версии 10.1 намечен на март-апрель 2006 го- после того, как его коробочная версия поступала в продажу. да, а пока можно смело качать SUSE 10. Похоже, что Novell решила пойти по стопам компании Red Сразу хочется предупредить, что качать придется много: для Hat, основавшей в свое время проект Fedora, который занимает- полноценной установки SUSE Linux 10 потребуется загрузить ся выпуском одноименного дистрибутива, используемого для образы всех пяти дисков. Впрочем, при сегодняшних ценах на тестирования новинок и сборки собственного решения для кор- трафик это не так много. Кроме того, SUSE Linux 10 уже по- поративных заказчиков — Red Hat Enterprise Linux. явился во многих российских и украинских интернет-магазинах, SUSE Linux 10 OSS — это первый релиз SUSE Linux, выпущен- занимающихся продажей дистрибутивов Linux и BSD, где вы ный в рамках проекта openSUSE, и именно на его основе Novell бу- сможете приобрести его по символической цене. дет разрабатывать новую версию Novell Linux Desktop, рассчитан- ного на корпоративный рынок. Трудно предсказать, станет ли сам | Дружелюбный YaST | дистрибутив от этого более качественным, однако популярность Инсталляционная программа в SUSE Linux (YaST) всегда была од- SUSE после выхода последней версии значительно возросла. Есть ной из лучших в своем классе, а по своей простоте и логичности с мнение, что в openSUSE компания Novell будет обкатывать и тес- ней смог бы сравниться разве что установщик Mandriva/Mandrake. тировать различные технологические новинки и самые свежие вер- При этом YaST не кажется чем-то ущербным или примитивным, сии ПО, прежде чем включать их в Novell Linux Desktop. Что ж, су- как, например, инсталляторы Linspire и Xandros, которые не обла- дя по наличию в SUSE 10 таких вещей как Xen (новая технология дают гибкостью YaST. В процессе установки вам всего лишь при- виртуализации, которую уже заочно назвали «убийцей виртуаль- дется ответить на пару-тройку несложных вопросов. ных машин») и Novell AppAmror (которая, по идее, должна защи- Уже с момента запуска установочного диска заметно, что раз- щать от эксплоитов), с этим мнением можно согласиться. работчики SUSE Linux попытались скрыть линуксовое нутро по- Что же получает обычный пользователь? А ему достается дальше от глаз пользователя — сообщений ядра вы не увидите, свободный дистрибутив SUSE с самыми свежими версиями вместо них вам придется смотреть на красивую полосу загрузки. программного обеспечения, ISO-образы которого можно за- Сам YaST выглядит очень неплохо (спасибо Trolltech за отлич- грузить с сайта www.opensuse.org/download. Кстати, практиче- ную тему для виджетов в Qt), хотя грузится очень неторопливо, в
CHIP| LINUX 4/2005 Open Source SUSE 17
Ç˚·Ó flÁ˚͇ ‚ ËÌÒÚ‡ÎÎflÚÓ Ç˚·Ó Ô‡ÍÂÚÓ‚ Ë ÛÒÚ‡ÌÂÌË ÔÓ·ÎÂÏ Ò Á‡‚ËÒËÏÓÒÚflÏË
отличие от инсталлятора Mandriva, который тоже написан с помо- Если не обращать внимание на перевод, YaST — почти щью Qt. На первом этапе вам предложат выбрать язык — приятно, совершенство. Существуют два режима установки — для что среди чешского и монгольского присутствует русский (его да- новичков и экспертов, причем между режимами можно пе- же отнесли к европейским). Только вот кодировку выбрать невоз- реключаться в ходе установки: например, разметку диска можно — по умолчанию для всех языков в SUSE Linux использует- проделать в режиме эксперта, а все остальное — в режиме но- ся UTF-8. Что касается самого YaST, то на русский он переведен вичка. Если у вас не запускается графический вариант YaST, очень плохо, и если, начиная установку, вы еще сможете разглядеть систему можно установить из командной строки в псевдогра- русские слова, то ближе к ее завершению найти в интерфейсе YaST фическом интерфейсе YaST. хоть один кириллический символ будет уже очень сложно. Такое На моем ноутбуке (Compaq M700) YaST корректно распоз- ощущение, что русский перевод интерфейса установщика не ре- нал все устройства и даже справился с настройкой капризного дактировался с версии 8.2. На мой взгляд, лучше вообще вырезать PCMCIA Wi-Fi-адаптера D-Link DWL-D630 Rev. C (до сих пор русский интерфейс YaST, чем включать такой. Будем надеяться, ни один инсталлятор вот так, с ходу, его не признавал). что среди отечественных пользователей SUSE Linux найдется кто- В ходе установки вас спросят, в какой графической среде вы нибудь, кто не поленится переработать перевод YaST. будете работать — KDE или GNOME. К сожалению, других вариантов не будет предложено — несмотря на то, что в дис- Любопытные факты трибутиве присутствуют и blackbox, и icewm, и даже fvwm. От этого выбора зависит набор программного обеспечения в стан- àÁ ËÒÚÓËË ‰ËÒÚË·ÛÚË‚‡ дартном варианте установки. Невероятно, но факт: пер- рел значительную популяр- После того как пакеты с первого инсталляционного диска вые версии дистрибутива ность в Германии и странах будут установлены, YaST выполнит перезагрузку, после кото- SUSE Linux были основаны Западной Европы. рой установка будет продолжена (сам YaST будет работать уже с на... Slackware! Да, неболь- Вскоре S.u.S.E был переиме- жесткого диска). шая немецкая фирма S.u.S.E. нован в SUSE, а в 2003-м Стоит отметить удобную утилиту разметки диска, позволяю- (сокращение от «Software компания SUSE Linux AG бы- щую изменять размеры разделов без потери информации, при- und System Entwicklung») ла куплена Novell, имеющей чем она работает даже с NTFS-разделами! первоначально специализи- планы по разработке собст- В целом YaST великолепно справляется со своей задачей, ровалась на консультациях венного дистрибутива для по Unix, а также выпуске пе- корпоративного рынка. при грамотной установке никакой доработки или ручного ре- чатной документации по По данным www.distrowatch. дактирования конфигурационных файлов не потребуется. Да- этой системе. В 1994 году com, SUSE уже третий год же недоработанная русификация не портит общей картины. компания издала диск с не- входит в десятку самых много измененной версией популярных дистрибутивов | SUSE — пользователю | Slackware Linux, который Linux в мире. Причем сей- Если у вас не самый мощный по сегодняшним меркам ком- был назван S.u.S.E. Linux час он находится на третьей пьютер, то во время первоначальной загрузки вы успеете вы- 1.0. Первый же собствен- позиции, уступая лишь пить чашку кофе, а может, даже две. Причина такой нетороп- ный дистрибутив был выпу- амбициозному новичку ливости в слишком большом количестве служб, загружаемых щен только в 1996 году, им Ubuntu Linux и сверхпопу- стал S.u.S.E. Linux 4.2, ко- лярному в нашей стране по умолчанию. Например, демон печати (cups) стартует даже торый уже тогда он приоб- Mandriva/Mandrake. в том случае, если на этапе установки принтер обнаружен не был. К счастью, автоматический запуск всех ненужных сер-
4/2005 LINUX| CHIP 18 desktop ‰ËÒÚË·ÛÚË‚˚
OpenOffice.org 2.0 Ò ÛÒÒÍËÏ ÏÓ‰ÛÎÂÏ — ÔflÏÓ ËÁ ÍÓÓ·ÍË! ÑÎfl ÔÓÒÏÓÚ‡ SMB-ÂÒÛÒÓ‚ ÌË͇ÍÓÈ Ì‡ÒÚÓÈÍË Ì ÔÓÚ·ӂ‡ÎÓÒ¸
висов можно отключить в конфигураторе YaST2 («System p стемный конфигуратор YaST2, в котором можно настроить все — от System Services (Runlevel)»). загрузчика GRUB до соединения с Интернетом, от NFS-сервера до Набор пользовательского программного обеспечения до- параметров Bluetooth. Установка и обновление программного обес- вольно стандартный: KDE 3.4.2, GNOME 2.12, Mozilla Firefox, печения тоже производится с помощью YaST2. По количеству Kopete, Gaim... Все это есть практически в каждом дистрибути- функций YaST2 опережает даже Mandriva Control Center! Но за- ве. А вот что хотелось бы отметить, так это OpenOffice.org 2.0 гвоздка в том, что Mandriva Control Center практически полностью сборки фирмы Novell, который выглядит как обычное KDE- переведен на русский язык, а вот уровень русификации конфигура- приложение (сборка с Qt), а не как бедный родственник с ин- тора YaST2 даже хуже, чем у инсталляционной программы. терфейсом наподобие Windows 98. Приятно удивило наличие русского модуля для OpenOffice.org с проверкой орфографии и | SUSE — разработчику | расстановкой переносов, который устанавливается автомати- SUSE Linux 10 содержит последнюю экспериментальную вер- чески, если во время инсталляции вы выбрали русский язык. сию GCC — 4.0.2, причем более ранних версий в дистрибутиве Кроме OpenOffice.org в дистрибутиве есть KOffice, GNOME нет, поэтому GCC 3.4.3, например, придется скачивать отдель- Office (Abiword, Gnumeric, GIMP), а также коммерческие паке- но. Не очень хороший шаг со стороны разработчиков, все же ты Textmaker и Planmaker от SoftMaker Software GMBH. четвертая версия GCC еще слишком далека от идеала. Кроме Кстати, если в качестве графического окружения в ходе уста- традиционных Perl, Python, Ruby и Tcl в SUSE включен Clisp. новки вы выбрали KDE, то все GTK-программы будут исполь- Есть и Java, причем как компилятор из пакета GCC (gcj), так зовать текущие цветовую схему и стиль KDE (это реализовано и официальная версия от Sun, а вот Eclipse в дистрибутиве отсут- с помощью GTK Qt engine). Жаль, что Qt/KDE-программы так ствует, что по меньшей мере странно, особенно если учесть по- и не научились «маскироваться» под GTK. пулярность этой IDE. Среду разработки для Python — Eric3 — Никаких проблем с воспроизведением MP3 обнаружено не почему-то тоже обделили вниманием (хорошо, что про Kdevelop было: и в AmaroK, и в RealPlayer 10 включены MP3-модули, при- и Glade не забыли). Отсутствует и FreePascal. чем по умолчанию используется движок Helix (который можно сменить на xine-lib). А вот для нормального просмотра DVD Взгляд IBM на Linux нужно будет скачать и установить пакет libdvdcss, так как xine в SUSE Linux 10 поставляется с ограниченным набором кодеков. èÓ‰ ÔËÒÏÓÚÓÏ «ÉÓÎÛ·Ó„Ó „Ë„‡ÌÚ‡» Популярный норвежский браузер Opera тоже вошел в состав Как известно, корпорация держку всего многообразия SUSE 10, но устанавливать его не рекомендуется: в дистрибути- IBM в последнее время уде- имеющихся дистрибутивов. ве присутствует версия 8.02, из которой еще не вырезан баннер ляет очень большое внима- Политика компании нацеле- (в бесплатной 8.50 его уже нет), поэтому лучше скачать свежий ние движению Open Source на на сотрудничество с двумя релиз с сайта www.opera.com/download. и, в частности, операцион- ведущими разработчиками, Хотелось бы высказать претензии к разработчикам по по- ной системе Linux. Значи- которыми считаются Red Hat тельное число собственных и Novell. Такое признание со воду локализации в UTF-8, да не за что: русские шрифты в ко- продуктов компании поддер- стороны «Голубого гиганта» мандной строке выглядят вполне адекватно, да и Midnight живает как Windows, так и еще раз подтверждает лиди- Commander, у которого всегда были проблемы с UTF-8, с по- Linux. Однако в IBM не счи- рующие позиции дистрибу- мощью патчей заставили уважать Unicode. тают целесообразным обес- тивов Novell, в том числе и Как вы думаете, за что неопытные пользователи так любят SUSE печивать полноценную под- SUSE, на рынке Linux-систем. Linux? Верно, за потрясающий и практически всеобъемлющий си-
CHIP| LINUX 4/2005 Open Source SUSE 19
éÚ ‚ÁÓ‡ ÔÓËÒÍÓ‚Ë͇ Beagle Ì ÛÍÓÂÚÒfl ÌË Ó‰ËÌ ‰ÓÍÛÏÂÌÚ êÛÒÒÍËÈ ÒÎÓ‚‡Ì˚È Á‡Ô‡Ò Û YaST ‚ÂҸχ Ì‚ÂÎËÍ...
Зато в релизе удалось обнаружить экспериментальную вер- Ни обещанного Qt4, ни PHP5 в дистрибутиве нет. Думается, сию пакета Gambas (очень своеобразной реализации языка, первый не включили лишь потому, что спектр приложений, на- подобного Visual Basic), содержащую IDE с визуальным ди- писанных с помощью этой библиотеки, пока ограничивается зайнером форм, интерпретатор и отладчик. Зачем нужно бы- лишь учебными примерами из комплекта самого Qt4. Вообще, ло включать в дистрибутив нестабильную версию 1.9.13 (ко- подбор пакетов для разработки выглядит довольно интересно и торая постоянно «падала»), нам до сих пор не понятно, тем своей контрастностью наводит на тягостные раздумья. более что доступен стабильный релиз 1.0.x. Очень удивило наличие множества пакетов для mono: тут | Прочие повадки хамелеона | есть и mono-web (реализация ASP.NET), и mono-basic (runtime- В эту версию SUSE наконец-то был включен apt4rpm — попу- библиотека VB.NET), и monodevelop, и даже mono-winforms лярный среди пользователей Debian/Ubuntu менеджер пакетов, (пока еще очень сырая реализация Windows Forms). При этом адаптированный для работы с RPM. Вообще-то, apt для SUSE самих программ, написанных для Mono и не относящихся к существовал еще с версии 8.2, но его приходилось докачивать и разработке, в дистрибутиве целых пять: beagle, blam, f-spot, устанавливать отдельно. Первичная адаптация apt-get к RPM- banshee и tomboy. Странно, не правда ли? Такое ощущение, дистрибутивам была проведена компанией Connectiva (ныне что разработчики хотели превратить SUSE в испытательный Connectiva входит в состав Mandriva). Странно, что в SUSE не полигон: кто сможет на этом писать — тому приз. включили какой-нибудь графический интерфейс для apt, на- Порадовало, что все GTK-программы собраны с библиоте- пример тот же Synaptic. кой GTK 2.8, которая для отрисовки виджетов использует Кроме apt в дистрибутиве обнаружился yum, который изна- векторный графический движок Cairo. чально разрабатывался как аналог apt-get для основанных на RPM дистрибутивов. Впрочем, с появлением apt4rpm надобность Технологии в нем вроде как отпала, но разработчики, видимо, решили оста- вить выбор пользователям. Стоит ли говорить, что одновремен- KDE vs GNOME ная работа с yum и apt-get чревата непредсказуемыми последстви- Эти два мощнейших оконных из компании нескольких ве- ями вроде интересных глюков в самых неожиданных местах? менеджера издавна ведут дущих разработчиков из ста- Очень порадовал широкий выбор разнообразных шрифтов — борьбу за господство на ра- рой команды SUSE). Тем не от популярного консольного terminus до Bitstream Vera от бочих столах пользователей. менее право последнего го- Судя по опросам, время от лоса по-прежнему остается Bitstream Inc. Есть даже такая экзотика как tv-fonts, рассчитан- времени проводимым на за пользователем, и полно- ный на использование в роли OSD-шрифта в ТВ-приложениях. различных форумах, KDE все ценная поддержка обоих ме- Неприятно удивило практически полное отсутствие науч- же пользуется большей по- неджеров неизменно вклю- ных пакетов, таких как maxima и octave (gnuplot все же нашел- пулярностью, по крайней ме- чается практически в любой ся), что непростительно для дистрибутива, занимающего пять ре у российских пользовате- дистрибутив Linux. Кстати, в компакт-дисков. Впрочем, это лишний раз подтвердило, что лей. Однако компания Novell SUSE 10.0 выбор графичес- «русские физики выбирают Slackware». в своих дистрибутивах SUSE кого менеджера — пожалуй, При вставке компакт-диска в CD-ROM или флеш-диска в Linux Enterprise Server и единственный пункт инстал- USB-порт устройства монтируются автоматически в каталог Novell Linux Desktop по ляции, где разработчики во- умолчанию стала предлагать обще не предлагают ничего /media, причем не важно, работаете вы в KDE, GNOME, GNOME (что привело к уходу по умолчанию. WindowMaker или вообще в режиме командной строки: спасибо специалистам SUSE за грамотно настроенные udev и subfs.
4/2005 LINUX| CHIP 20 desktop ‰ËÒÚË·ÛÚË‚˚
ç‡ÒÚÓÈÍÛ SUSEfirewall2 ÏÓÊÌÓ ‚˚ÔÓÎÌËÚ¸ Í‡Í ˜ÂÂÁ YaST, Ú‡Í éÚ΢̇fl ‰ÓÍÛÏÂÌÚ‡ˆËfl, ÌÓ ÚÓθÍÓ Ì‡ ‡Ì„ÎËÈÒÍÓÏ flÁ˚ÍÂ Ë Â‰‡ÍÚËÛfl ÍÓÌÙË„Û‡ˆËÓÌÌ˚È Ù‡ÈÎ язык. Благодаря поддержке большинства (в том числе и нестан- Кстати, выполнять umount для размонтирования CD/DVD и дартных) устройств это идеальный дистрибутив для установки USB-носителей не обязательно. Для USB-носителей по умолча- на современный ноутбук. Почему на современный? Да потому нию задается синхронный режим (sync). В этом режиме данные что SUSE довольно жаден до ресурсов: комфортно работать в на диск записываются сразу же, а при асинхронном режиме не- нем можно лишь в том случае, если на вашем компьютере уста- большие файлы обычно сохраняются в виртуальной памяти и новлено не менее 512 Мбайт оперативной памяти. Да, за удоб- записываются на диск при его размонтировании. Обычно асин- ство надо платить, и немало. Я же, посмотрев на свой старень- хронный режим имеет смысл устанавливать для дискет и флеш- кий ноутбук и на то, как SUSE 10 работает на нем, вздохнув, дисков, то есть устройств, имеющих ограниченное количество вернулся к любимому Slackware. циклов записи. Но, видимо, разработчики SUSE Linux готовы В принципе SUSE можно было бы рекомендовать пользовате- пожертвовать всем ради удобства пользователя — еще бы, его лям, переходящим с Windows на Linux, если бы не полное отсут- время дороже всего. Поэтому ни в коем случае не редактируйте ствие русскоязычной документации и, что еще хуже, адекватно документы в SUSE Linux прямо с USB-диска, лучше скопируй- русифицированного YaST2. Надеюсь, в следующей версии ситуа- те их сначала на винчестер! ция изменится в лучшую сторону (может быть, именно вы пере- ведете интерфейс YaST2). Если не обращать внимание на YaST2, | Заключение | то в целом русификация выполнена довольно хорошо (пореко- Пора подводить итоги. Что можно сказать о новой версии мендуйте SUSE Linux 10 противникам перехода на UTF-8). SUSE? Качественный дистрибутив, не требующий абсолютно Словом, если у вас достаточно мощный компьютер и вы це- никакой доработки, все очень удобно и логично, хорошо по- ните удобство во всем — обязательно установите SUSE Linux 10, дойдет для начинающего пользователя, знающего английский скорее всего, он станет вашей основной рабочей системой. |
Технические тонкости ç‡ÒÚÓÈ͇ «ËÍÒÓ‚» Обратите внимание на пред- вается». Если у вас приклю- ма 1024х768 при частоте об- вам укажет значение пара- ложенные настройки графи- чится такая же беда, проде- новления 60 Гц: метра «DefaultDepth». ческой платы и при необходи- лайте следующее: $ gtf 1024 768 60 3 Сохраните изменения мости измените их — иногда 3 Переключитесь в текстовую Modeline “1024x768_60.0” в файле xorg.conf. инсталлятор ошибается, вы- консоль, нажав клавиши 64.11 1024 1080 1184 1344 3 Вернитесь в графическую ставляя завышенные парамет- «Ctrl+Alt+F1». 768 769 772 795 -HSync консоль («Ctrl+Alt+F7») и на- ры. Например, для монитора 3 Введите логин (root) и па- +Vsync жмите «Ctrl+Alt+Backspace» Samsung SyncMaster 152s (ко- роль, указанные во время 3 Полученную строку впиши- для перезапуска X-сервера с торый определился инсталля- инсталляции. те в файл /etc/X11/xorg.conf новыми параметрами. тором как SyncMaster 4s) было 3 С помощью утилиты gtf оп- в секцию «Modes» (там уже После этого вы сможете вой- выбрано завышенное разре- ределите строку параметров будут строки «Modeline» для ти в систему, введя логин и шение 1280х1024 при частоте для поддерживаемого вашим других режимов). пароль созданного ранее 85 Гц, и после перезагрузки монитором режима. В следу- 3 В этом же файле задайте пользователя (если не был пришлось созерцать на экране ющем примере возвращается новый режим в секции выбран режим автоматиче- надпись «Режим не поддержи- строка «Modeline» для режи- «Screen». Нужную подсекцию ского входа в систему).
CHIP| LINUX 4/2005 desktop ‰ËÒÚË·ÛÚË‚˚ Ó·ÁÓ Ubuntu 5.10 21
Роман Химов ÉÛχÌÌÓÒÚ¸ ‰Îfl ‚ÒÂı
Меньше чем за год с момента своего появления этот дистрибутив не просто смог завоевать заслуженную популярность пользователей, но и вытеснил с первого места рейтинга DistroWatch прочно до того времени обосновавшегося там Mandriva. Как ему это удалось и что в нем особенного?
Ubuntu появился на свет стараниями нашего дорогого (во всех держит все необходимое для базовой работы. Правда, есть смыслах) космонавта Марка Шаттлворта. Марк очень неравно- также и DVD-версия, в которой значительно больше полез- душен к Open Source, и, имея на руках несколько десятков мил- ных приложений. Но при наличии хорошего подключения к лионов долларов и желание потратить их на что-нибудь хорошее, Сети это не играет решающей роли. он решил создать Ubuntu. Тем более что, по его мнению, индус- Ubuntu также гарантирует пользователям свободу (в класси- трия ПО нынче имеет склонность к развитию Open Source, а зна- ческом определении Free Software Foundation), что задеклариро- чит из благотворительности может выйти неплохое дело. вано в его манифесте, по духу напоминающем лицензию GPL. Сказано — сделано, была основана компания Canonical Li- Кстати, само слово «ubuntu» пришло из одного африканского mited, в качестве основы взят Debian, и пошло дело. Конечно, наречия и означает «гуманность», «человечность по отношению в реальности все было не так просто, но Марку действитель- к другим». Поэтому направленность на конечного пользователя но удалось очень быстро развить проект и добиться призна- и обеспечение максимальных удобств — не просто одна из задач ния Ubuntu как одного из интереснейших дистрибутивов. дистрибутива, а фактически его сущность. Что же интересного предлагает Ubuntu? Регулярные рели- зы (раз в полгода), GNOME, живое воплощение принципа | Установка | «Just works», нацеленность на пользователя, свободу и... бес- Возможно, некоторых читателей спугнет малозначительный платность. Это, пожалуй, одно из самых интересных свойств, на самом деле факт того, что инсталлятор в Ubuntu — тексто- поскольку продукт не просто можно скачать с какого-нибудь вый. То есть в действительности он псевдографический, но FTP-сервера, но и заказать CD с дистрибутивом, который это уже детали. Однако, даже если вы привыкли к чему-либо вам бесплатно доставят в любую точку земного шара. Заман- в стиле Fedora Core, Mandriva или SUSE, не пугайтесь! На са- чивое предложение, не так ли? мом деле с текстовыми инсталляторами зачастую удается уп- Наверное, это и стало одним из ключевых моментов, по- равляться еще быстрее и эффективнее, чем с графическими. способствовавших популярности Ubuntu. Ведь, для того что- Да и, если прикинуть, из более чем трех сотен существующих бы его опробовать, не нужен хороший/бесплатный канал для дистрибутивов GNU/Linux абсолютное большинство все- доступа в Интернет, не надо ничего скачивать/прожигать, до- таки устанавливается с помощью текстовых инсталляторов. статочно просто оформить заказ на сайте. Так что сомнения прочь: это ничуть не препятствие. Кстати, дистрибутив действительно занимает всего лишь Хочется отметить, что инсталлятор Ubuntu на самом де- один-единственный CD. Конечно, по подборке софта он не ле до безобразия прост. Он даже говорит по-русски. После может тягаться с многодисковыми дистрибутивами, но со- настройки языка, клавиатуры, сети и разделов (здесь будьте
4/2005 LINUX| CHIP 22 desktop ‰ËÒÚË·ÛÚË‚˚
çÓ‚˚È ÍÓÍÚÂÈθ Kubuntu — KDE+Ubuntu ŇÛÁ Firefox ÔË‚ÂÚÒÚ‚ÛÂÚ ‚‡Ò ̇ ˜ËÒÚÓÏ ÛÒÒÍÓÏ flÁ˚ÍÂ
аккуратнее — по умолчанию Ubuntu предлагает использо- определить на моем ноутбуке видеоплату и работать с ней. вать весь винчестер по своему усмотрению) он сразу пере- Как правило, приходится копировать один и тот же прове- ходит к копированию пакетов на винчестер. Что интересно, ренный временем конфигурационный файл X. Ubuntu все он же мне предложил скачать дополнительные пакеты для смог сделать сам, за что его нельзя не похвалить. поддержки русского языка, которых на диске нет (единст- венная накладка — это предложение было отображено на | Великий и ужасный root | английском). С этим я согласился, однако реальное скачи- Если кто-то думает, что я пропустил что-то важное, он оши- вание и установка этих пакетов откладываются до переза- бается. Вначале мне тоже так показалось, поскольку никто грузки в свежую систему. не спрашивал пароль для root, однако на самом деле это не Еще мне понравился выбор часового пояса, который сразу столь необходимо в Ubuntu. В этом дистрибутиве нет поль- привел к разделу «Europe/Kaliningrad», а пункт «Europe/Moscow» зователя root. Но первый создаваемый пользователь может шел уже следующей строчкой. Мелочь, но такая догадливость ин- выполнять административные задачи, для которых, правда, сталлятора весьма приятна. Затем создается новый пользователь. от него потребуется ввести еще раз свой собственный па- И, возможно, стоит предупредить тех, кто не собирается роль. Все это работает через sudo, схема очень похожа на ставить загрузчик GRUB из Ubuntu, а хочет сконфигуриро- Mac OS. Однако при желании можно получить консоль с вать уже имеющийся: помимо ядра /vmlinuz не забудьте про- правами root, используя команду sudo -s (или запуская гра- писать initrd /initrd.img. фические терминалы от имени пользователя root). Можно На этом первая часть установки заканчивается, и мы подхо- даже завести нормального root, если вам совсем без него дим к первой загрузке в новую систему. плохо — воспользуйтесь sudo passwd root. | Первая загрузка | Здесь система сразу начинает ставить пакеты (на первом эта- пе она просто их копирует с диска), и видны мелкие недора- ботки: русский язык не отображается, в левом верхнем углу красуется кучка квадратиков и слово «Ubuntu». Причем это становится еще менее привлекательным, когда показывается диалог настройки разрешения экрана для X. Но все интуи- тивно понятно, а больше ни на какие вопросы вам отвечать не придется. Также из досадных мелочей: во время этого про- цесса на экран периодически вываливались сообщения ядра о разных модулях, но вреда от этого никакого нет. Ближе к окончанию процесса установки пакетов были ска- чаны и установлены пакеты для поддержки русского языка. Скачивание пяти необходимых пакетов заняло менее 10 ми- нут при скорости 256 кбит/с, то есть что-то около 20 Мбайт. Сразу после этого передо мной предстал экран логина. Разре- èÓÒΠÔËÒÓ‰ËÌÂÌËfl Ùί-‰‡È‚ ‡‚ÚÓχÚ˘ÂÒÍË ÏÓÌÚËÛÂÚÒfl, шение — 1024x768, все работает, как и заказывали. Отмечаю Ë Â„Ó ÒÓ‰ÂÊËÏÓ ÔÓ͇Á˚‚‡ÂÚÒfl ‚ Nautilus это, поскольку не каждый дистрибутив способен нормально
CHIP| LINUX 4/2005 Ó·ÁÓ Ubuntu 5.10 23
ìÒÚ‡Ìӂ͇ MPlayer ËÁ Synaptic èÓË„˚‚‡ÌË ‡Û‰ËÓÙ‡ÈÎÓ‚ ÔflÏÓ Ò Ùί-‰‡È‚‡
| Настольная среда | стремится обеспечивать с ними бинарную совместимость. Итак, заходим. Вот он, GNOME, давно не виделись. Надо отме- Ubuntu использует хитрую систему с несколькими репозитори- тить, что на самом деле я давно свыкся с KDE и не представляю ями пакетов, официально поддерживается не очень большое их себе без него комфортной жизни в графической среде, но тем количество, однако в рамках сообщества представлены практи- интереснее изучать конкурирующие предложения. GNOME за- чески все пакеты Debian, а это более 16 000 свободных про- грузился очень быстро и далее работал столь же бодро, что очень грамм. По умолчанию пакетный менеджер настроен на исполь- приятно (вообще, в плане скорости работы Ubuntu оставляет зование именно официально поддерживаемого репозитория, и самые лучшие впечатления). Стиль оформления Ubuntu по для получения всех вкусностей на блюдечке с голубой каемоч- умолчанию довольно интересный, главное его свойство — это, кой стоит сразу же включить использование репозитория паке- пожалуй, ненавязчивость. Как показала статистика, почему-то тов, поддерживаемого сообществом (Community Maintained подобное оформление очень нравится девушкам. Packages). Где? Конечно же, в Synaptic — знакомому пользова- Сразу после логина меня уведомили о доступности обновле- телям Debian графическому инструменту управления пакетами. ний, и я воспользовался этим, для того чтобы немного обновить Можно также пользоваться консольным apt-get, тоже компоненты системы. Из приятного тут же обнаружилась пол- известным пользователям Debian и нынче доступным в разных ноценная поддержка тачпадов Synaptics, хотя по умолчанию вариациях для управления пакетами RPM, но консоль мы оста- почему-то не настроена горизонтальная прокрутка. Звук работа- вим джигитам — Synaptic слишком удобен, чтобы его игнори- ет (используется ESD и GStreamer поверх ALSA), звуковая схема ровать. В нем я сразу поставил cryptsetup (а он доступен в виде довольно оригинальная, с явными африканскими мотивами. пакета в репозитории сообщества), чтобы получить доступ к внешним винчестерам, а также решил попытать счастья с | Медиатест | totem-xine, который сразу же приказал удалить установленный Теперь пройдемся по звуку. Вставляем USB-флеш — Ubuntu ве- по умолчанию totem-gstreamer. дет себя как надо, HAL и D-Bus настроены на связку с GNOME, флеш-драйв тут же появляется на рабочем столе в ви- | Медиатест 2 | де накопителя, и открывается Nautilus, отображающий файлы. И что вы думаете? После этого Totem начал свободно воспроиз- В памяти флеш-накопителя хранится специально подобранная водить DVD! Правда, с диском Pink Floyd проблема так и не ре- коллекция музыкальных файлов в разных форматах. Сухой ос- шилась, но это уже не его вина. таток — FLAC, MP3 и WMA сдались, проиграть я смог только Однако как быть с музыкой? Да очень просто! Забываем про лишь OGG. Это очень странно, поскольку плагины FLAC для существование Totem и RhytmBox, ставим MPlayer (все доступ- GStreamer есть, и он был просто обязан проигрываться! но в Synaptic, все само скачается и установится). На этом ме- Совсем нехорошо получилось с DVD: Totem упрямо отказывал- дийные проблемы заканчиваются, поскольку MPlayer играет ся проигрывать их, а отличнейший диск Pink Floyd «The Wall» уже почти все, что существует в цифровом виде (ценой наличия не- сам GNOME отказался воспринимать как видео, предложив на не- скольких несвободных бинарных библиотек). го что-нибудь записать. Медиатест должен быть пройден и, навер- ное, нам не хватает каких-то программ. Что у нас с пакетами? | hibernate | Увидев среди пунктов выключения компьютера возможность ис- | Пакеты | пользования hibernate, я не мог ее не опробовать, поскольку знал, Ubuntu, что вполне естественно, использует пакеты формата что на испытуемом железе с ним случаются проблемы. Однако Debian, но, в отличие от его многочисленных потомков, не мне удалось усыпить и пробудить компьютер как положено, даже
4/2005 LINUX| CHIP 24 desktop ‰ËÒÚË·ÛÚË‚˚
Nautilus Ô‰·„‡ÂÚ Á‡ÔËÒ‡Ú¸ ‰ËÒÍ, ÌÓ Ì ‚Ò„‰‡ ÍÓÂÍÚÌÓ àÌÚÂÙÂÈÒ OpenOffice.org Ú‡ÍÊ ÛÒËÙˈËÓ‚‡Ì
с подключенным флеш-драйвом. Suspend, он же hibernate — на | Приложения | сегодня все еще экспериментальная возможность, поскольку она Исходя из основной рабочей среды в виде GNOME, приложе- требует четкого и слаженного взаимодействия аппаратуры и ПО. ния в базовом диске также подобраны соответствующие: Разработчики Ubuntu смогли довести ее до рабочего состояния на Firefox в качестве основного браузера, Evolution в качестве поч- дешевеньком ноутбуке, что бесспорно заслуживает уважения. тового клиента, Gaim в качестве IM-клиента, графический ре- дактор GIMP и т. д. | Русский язык | Естественное, в отличие от родителя (Debian), здесь ис- Это особенно приятный момент в рассказе об Ubuntu. Хотя и пользуются самые свежие версии всех программ. Обычно это потребовалось скачивать дополнительные пакеты, но ре- приветствуется для домашнего/настольного применения, но зультат того стоил: без каких-либо ухищрений в системе сра- в случае серверов у вас могут быть свои соображения насчет зу же и полноценно начинают работать русскоязычный ввод стабильности. Хотя, какими бы ни были эти соображения, (в «иксах» он переключается с помощью «Alt+Shift»), а также поддержка дистрибутива в течение 18 месяцев вам обеспече- русскоязычная локализация. Система полностью (за редки- на. В том числе и коммерческая. ми исключениями) говорит на родном языке, и это очень Кстати, если вы думаете, что Synaptic — единственное гра- приятно. Да, кстати, как и все современные дистрибутивы, фическое средство управления пакетами в Ubuntu, то ошибае- Ubuntu использует по умолчанию локаль UTF-8. тесь. В меню GNOME Ubuntu есть простой пункт «Add applica- tions» (недоработка со стороны переводчиков). Воспользуйтесь Семейство Ubuntu им, и вы увидите альтернативу Synaptic, которая не будет мо- рочить вам голову пакетами, а покажет определенные прило- å‡ÒÚ Ô‚ÓÔÎÓ˘ÂÌËÈ жения на своих конкретных местах в меню GNOME. Какие-то На самом деле Ubuntu — не на дисках пакетах и некоторых из них уже есть, а какие-то можно установить, просто поста- только цельный дистрибу- настройках по умолчанию. вив галочку (соответственно, для удаления галочку надо тив, но и семейство дистри- Лично мне, конечно, особен- снять). Все зависимости, все необходимое для выбранного бутивов, использующих его но приятно отметить Kubuntu. приложения установится автоматически! в качестве основы. Первым Если вы привыкли работать Стоит сказать и о менее позитивных вещах. Некоторые стал Kubuntu, как можно до- в KDE, возможно, стоит гадаться, предлагающий в обратить внимание именно пользователи и обозреватели отмечают нестабильность поведе- качестве основной настоль- на него. Мною был опробо- ния Nautilus, который попросту любит падать (а совсем злые ной среды KDE. Затем подтя- ван LiveCD, и, несмотря на языки утверждают, что это общее свойство GNOME). Но за все нулся Edubuntu, а теперь некоторые шероховатости, время тестирования ничего подобного не произошло (хотя в и ImpiLinux (дистрибутив в целом у меня остались от Debian такое случалось не раз). Может быть, это связано с уста- с прицелом на африканских него приятные впечатления. новленными обновлениями, в любом случае к стабильности пользователей) также начал Edubuntu содержит дополни- работы Ubuntu нареканий не возникло. использовать Ubuntu в каче- тельные пакеты, касающиеся В целом же рабочая среда в Ubuntu приятная и, это стоит от- стве основы. Аналогично и образовательного примене- метить еще раз, очень быстрая. Если что-то и стоит подправить, MoLinux, только он разраба- ния (в частности, быстрой тывается в Испании. Отличия организации учебного клас- так это шрифты: моноширинный шрифт по умолчанию выгля- между дистрибутивами за- са), и это довольно специ- дит не очень адекватно, для латиницы он смотрится нормально, ключаются в поставляемых фичная вещь. но для кириллицы уже совсем нехорошо. Но это легко изменить в разделе «Система p Параметры p Шрифты». В остальном, не-
CHIP| LINUX 4/2005 Ó·ÁÓ Ubuntu 5.10 25
èÓÎÛ˜‡ÂÏ ËÌÙÓχˆË˛ Ó ‰ÓÒÚÛÔÌ˚ı Ó·ÌÓ‚ÎÂÌËflı Ò ÔÓÏÓ˘¸˛ èËÒÓ‰ËÌÂÌÌ˚ Bluetooth-ÛÒÚÓÈÒÚ‚‡ Ë ÓÍÌÓ ÛÒÚ‡ÌÓ‚ÍË Ì·Óθ¯Ó„Ó ‡ÔÎÂÚ‡ Ë Û‰‡ÎÂÌËfl ÔÓ„‡ÏÏ
смотря на отсутствие разнообразия настроек, надо признать, Изучение структуры и взаимодействия сообщества, и просто что GNOME в Ubuntu вполне пригоден к использованию и наблюдение за его работой и развитием гипнотизирует! Не чрезвычайно прост в освоении. проникнуться этим невозможно, не влюбиться после этого в Ubuntu очень сложно. И только одно может остановить вас на пу- | Разработчику | ти знакомства с этим своеобразным миром — языковой барьер. Ubuntu, как и полагается полноценному дистрибутиву Однако есть и наше, российское, сообщество пользователей GNU/Linux, имеет в своем составе все необходимое для разра- (www.ubuntu.ru) — не столь многочисленное, но тоже вполне дру- ботчиков. Правда, на инсталляционный CD всего не уместишь, желюбное и имеющее в активе достаточно обширный и хороший поэтому некоторые инструменты придется скачивать отдельно. форум, где решаются в том числе и переводческие проблемы. Однако инструменты разработчика — также одна из инте- Есть также русскоязычный IRC-канал и почтовая конференция. ресных тем в разговоре об Ubuntu, поскольку Canonical спон- сирует разработку системы контроля версий Bazaar, а Марк | Развитие | Шаттлворт заявляет о необходимости более тесного взаимо- Ubuntu развивается очень стремительно, следующий релиз вый- действия разработчиков и сообществ. Поэтому Ubuntu работа- дет уже в апреле! Ожидается, что в нем значительно улучшится ет также над улучшением эффективности взаимодействия со- поддержка Bluetooth (в GNOME действительно маловато соот- здателей свободного ПО. Помимо систем контроля версий это ветствующих утилит), произойдет очень много изменений в об- затрагивает баг-трекеры и сервисы для переводчиков. ласти работы с устройствами на раннем этапе загрузки системы, Уже хотя бы поэтому (а также благодаря наличию свежайше- а также будет произведено множество других доработок. го набора инструментов) разработчику может быть интересно Но особое внимание стоит обратить на релиз 6.10, который начать знакомство с Ubuntu, но и это не все, что он может пред- должен выйти в октябре 2006 года. Марк Шаттлворт уже по- ложить. Как насчет вознаграждений за работу над свободным обещал дать достойный ответ выходу Windows Vista (которая ПО? Да, в Ubuntu есть и такое: выбирайте работу по вкусу, это появится позднее). И, судя по сумасшедшему взлету попу- хороший способ попрактиковаться и познакомиться как с са- лярности Ubuntu, это не просто слова. мим софтом, так и с его разработчиками. | Резюме | | Сообщество | Ubuntu — интереснейший дистрибутив и еще более интерес- На вопрос «Чем же так хорош Ubuntu?» многие иностранные ное сообщество разработчиков и пользователей. В его активе пользователи закатывают глаза и с придыханием произносят: прекрасная поддержка аппаратуры и качественная локализа- «О, да это же community!» И это действительно так, Ubuntu су- ция (но, напомню, требующая немного интернет-трафика), мел собрать вокруг себя крепкое сообщество пользователей. дружное сообщество и четкое видение собственного разви- Иногда кажется, что, даже если бы Ubuntu мало чем отли- тия. Ubuntu идеально подходит на роль первого дистрибутива чался от других дистрибутивов с технической точки зрения, для неподготовленного пользователя, но может с успехом ис- его все равно можно было бы четко определить по сообщест- пользоваться и специалистом (особенно если он имел дело с ву. Ubuntu просто окружает дух взаимопомощи и общения: к Debian). В любом случае, если вы находитесь в поиске ново- вашим услугам форумы, блоги разработчиков, почтовые рас- го/первого дистрибутива, обратите на него (или Kubuntu, или сылки и конференции, IRC, wiki-сайты, различные ресурсы Edubuntu — по вкусу) внимание — может быть, это именно любителей Ubuntu и многое другое. то, что вам нужно. |
4/2005 LINUX| CHIP 26 desktop ̇ ÒÎÛʷ ̇ÛÍË
Роман Мамедов чÏÓ‚ÓÈ ÒÛÔÂÍÓÏÔ¸˛ÚÂ
Знаете ли вы, какой процесс из запущенных сейчас на вашем компьютере самый красивый? А самый вежливый? Вопрос неожиданный. Но именно так — «красивый», «вежливый» — можно перевести термин nice, которым обозначается показатель приоритета запущенного процесса в Linux. На моем, а также на компьютерах сотен тысяч людей по всему миру «самыми вежливыми» процессами — имеющими наибольшее значение nice (а значит самый низкий приоритет) — являются программы распределенных вычислений, использующие все свободное время вверенного им компьютера во благо науки.
Большую часть времени своего пребывания во включенном Обычной работе (или игре) на компьютере это абсолютно не состоянии среднестатический современный компьютер мешает — используются только моменты бездействия. просто простаивает, ожидая ввода данных пользователем. И, конечно же, говорить мы будем только о тех проектах, Для многогигагерцевых процессоров время между нажатия- участие в которых доступно пользователям Linux. ми клавиш при печати, пока пользователь читает с экрана какой-нибудь текст или ненадолго отошел от компьютера, — | С чего все началось | целая вечность. Можно сказать, что история массовых распределенных вычисле- Но, к счастью, такая громадная вычислительная мощь — ний через Интернет началась с проекта distributed.net. Самый по- миллиарды операций в секунду, помноженные на сотни милли- пулярный из его подпроектов — RC5 — занимается взломом заши- онов компьютеров — недолго оставалась невостребованной. фрованных одноименным криптоалгоритмом сообщений и обязан В наши дни каждый желающий занять свободное время своего своим существованием компании RSA Data Security, которая вре- компьютера чем-нибудь полезным вполне может сделать это, мя от времени с целью продемонстрировать надежность разраба- присоединившись к одному из проектов распределенных вы- тываемых ею алгоритмов шифрования устраивает публичные кон- числений. Сами распределенные вычисления (далее РВ) — это способ выполнения каких-либо расчетов путем их разделения èÒ‚‰ÓÍÓÌÒÓθ- между множеством компьютеров. Ì˚È ÍÎËÂÌÚ В этой статье речь пойдет о проектах РВ, работающих через distributed.net Интернет и задействующих компьютеры обычных пользовате- ÔÓ‰ Windows. лей (с их ведома, разумеется) для выполнения разного рода èÓÒÚÓ, ÌÂÔË- сложных научных расчетов. Участвуя в подобных проектах, ÚflÁ‡ÚÂθÌÓ, ÌÓ можно помочь исследовать строение белков и генетических Û‰Ó·ÌÓ структур, найти лекарство от рака и СПИДа или даже посодействовать в поиске сигналов внеземных цивилизаций.
CHIP| LINUX 4/2005 ‡ÒÔ‰ÂÎÂÌÌ˚ ‚˚˜ËÒÎÂÌËfl ‚ Linux 27
Ç ÔÓËÒ͇ı ÔÓ‰Ó·Ì˚ı ‡ÌÓχÎËÈ Ì‡ „‡ÙË- Ç ‰‡ÌÌÓÏ ÒÎÛ˜‡Â Ï˚ Á‡ÒÂÍÎË ‚ÒÂ„Ó Î˯¸ Ä Á‰ÂÒ¸ — ÔÓÏÂıË ÓÚ ËÌÚÂÙÂÂ̈ËË Í ه̇Ú˚ ÔÓÂÍÚ‡ ÔÓÒËÊË‚‡ÎË Á‡ ÏÓ- ÔÓÌËÊÂÌË ˜Û‚ÒÚ‚ËÚÂθÌÓÒÚË ÔËÂÏÌË͇ Ò Ì‡ÁÂÏÌ˚ÏË ËÒÚÓ˜ÌË͇ÏË ËÎË ÌËÚÓ‡ÏË ‰Ó΄Ë ˜‡Ò˚ ̇ ÓÔÓÌÓÈ ˜‡ÒÚÓÚ 1420 åɈ ÒÔÛÚÌË͇ÏË. ïÓÚfl, ÍÚÓ Á̇ÂÚ...
курсы по взлому зашифрованных ими сообщений с призами в работке. Поэтому, чтобы не отказывать в регистрации или бло- несколько тысяч долларов. Участники проекта distributed.net уже ках данных новым участникам, проекту пришлось начать рас- выигрывали такие конкурсы, успешно подобрав ключ к зашиф- сылать одну и ту же, уже обработанную, информацию по много рованным алгоритмами RC5-56 и RC5-64 сообщениям. В данное раз. По сведениям независимого сайта статистики (www.roving- время идет соревнование по взлому RC5-72, однако, по некото- mouse.com/setiathome), избыточность «классической» версии рым оценкам, из-за возросшей по сравнению с прежними про- SETI@home достигала фантастических величин в 50–100 крат. ектами длины ключа получения результата, даже с учетом посто- янного роста доступных проекту вычислительных мощностей, | Куда идем? | придется ждать несколько тысяч лет. Способ использования «лишних» вычислительных мощнос- Хотя distributed.net существует очень давно, пределом его тей, заключающийся в повторном обсчете информации либо мечтаний до сих пор является внимание энтузиастов, либо ин- в искусственном и не приносящем особой пользы усложне- тересующихся распределенными вычислениями как таковыми, нии обработки одних и тех же данных, не понравился нико- либо криптографией и математикой. А первым проектом, полу- му, включая самих авторов SETI@home. Гораздо логичнее чившим по-настоящему широкую известность и популярность было бы, если бы проект, у которого на момент обращения среди обычных пользователей, стал, несомненно, SETI@home. компьютера участника за новой порцией данных обсчиты- Его руководители предложили всем желающим принять учас- вать было бы особо нечего, смог вместо повторной отправки тие в поиске сигналов внеземной цивилизации. Принцип рабо- «старой», уже обработанной, порции честно заявить: «Рабо- ты прост: радиотелескоп обсерватории в Аресибо постоянно ты сейчас нет, зайдите позже». А клиентская программа уча- записывает космический шум, ленты с ним пересылаются в стника смогла бы этот ответ понять и переключиться на «штаб-квартиру» SETI@home в Беркли, где специальные серве- помощь какому-нибудь другому проекту — тому, которому ры (сплиттеры) нарезают данные на мелкие кусочки и рассыла- дополнительные ресурсы в этот конкретный момент време- ют компьютерам участников для обработки. ни действительно необходимы. Данный подход и был реали- Однако высокая популярность — в проекте зарегистрировано зован авторами SETI@home в их новой платформе для рас- более 4 млн ПК – обернулась для SETI@home и головной болью. пределенных вычислений, получившей название BOINC. Дело в том, что рост доступных проекту вычислительных мощно- стей шел гораздо быстрее, чем увеличение поступающих с теле- Технические тонкости скопа данных для анализа и способностей сплиттеров по их пере- çÂÓ·ıÓ‰ËÏ˚ هÈÎ˚ Детали Самым большим среди рос- рый не обновлялся аж с мая сыпи закачиваемых проек- месяца (возможно, даже àÌ„Ë·ËÚÓ ‰Îfl ‚˚˜ËÒÎÂÌËÈ том Rosetta@home файлов 2002 года) и не собирается, Помимо рассылки одних и торых, с точки зрения воз- является собственно расчет- будем надеяться, слишком тех же данных для борьбы можности ими что-то обнару- ный модуль Rosetta — около часто обновляться и в даль- с «избытком» вычислитель- жить эти алгоритмы являлись 7 Мбайт. Очевидно, что его нейшем. Такое поведение ной мощности существует и довольно-таки бесполезными. загрузка потребуется лишь довольно характерно для рас- другой способ. Руководители При этом рост вычислитель- при первоначальном подклю- пределенных проектов: ска- проекта SETI@home внесли ной мощности продолжался, чении к проекту, ну и при чанные при первоначальном в третью версию клиентско- и вскоре проект достиг пока- выходе его более новых вер- подключении файлы в даль- го ПО новые, гораздо более зателей избыточности, не- сий. Вторым по размеру яв- нейшем подвергаются по- тщательные и медленные многим уступающим тем, что ляется 6-мегабайтный файл вторному использованию на- алгоритмы анализа блоков существовали еще до выхода с загадочным названием столько часто, насколько это данных. Но, по мнению неко- «замедленной» версии. bbdep02.May.sortlib.gz, кото- является возможным.
4/2005 LINUX| CHIP 28 desktop ̇ ÒÎÛʷ ̇ÛÍË
óÚÓ·˚ ÔËÒÓ‰ËÌËÚ¸Òfl Í ‚˚˜ËÒÎÂÌËflÏ, á‡Â„ËÒÚËÓ‚‡Ú¸ ÌÓ‚˚È ‡Í͇ÛÌÚ ÚÂÔ¸ äÓÏÔ¸˛Ú „ÓÚÓ‚ ÚÛ‰ËÚ¸Òfl ‚Ó ·Î‡„Ó Ì‡ÛÍË! ÔÂʉ ‚ÒÂ„Ó ÌÂÓ·ıÓ‰ËÏÓ Û͇Á‡Ú¸ URL ÏÓÊÌÓ Ë ËÁ Ò‡ÏÓ„Ó ÍÎËÂÌÚ‡ — ‡Ì ˝ÚÓ „·‚ÌÓÈ ÒÚ‡Ìˈ˚ ÔÓÂÍÚ‡ ÔËıÓ‰ËÎÓÒ¸ ‰Â·ڸ ˜ÂÂÁ Ò‡ÈÚ
| BOINC | | http://boinc.berkeley.edu | Berkeley Open Infrastructure for Internet Computing (BOINC) — это весьма успешная и уже очень популярная как среди авторов, так и среди участников вычислительная платформа, задача которой — унификация общих по функциональности éÍÌÓ BOINC Manager ÒÓ‰ÂÊËÚ ËÌÙÓχˆË˛ Ó Ì‡Á̇˜ÂÌÌ˚ı модулей клиентского и серверного ПО различных проектов. ‰‡ÌÌÓÏÛ ÍÓÏÔ¸˛ÚÂÛ Á‡‰‡ÌËflı Разработчикам распределенных научных проектов, ученым — специалистам в области биологии, медицины, криптографии и постепенно улучшать используемые в Rosetta физическую прочих наук — она пришлась по вкусу благодаря тому, что при модель и алгоритмы поиска. А помочь им в этом должны ре- ее использовании им больше не нужно было разбираться с зультаты исследований Rosetta@home. такими скучными и бесконечно далекими от области их Для участия в проекте нам прежде всего понадобится базо- исследований вещами как организация системы регистрации вый клиент BOINC. Скачиваем с сайта http://boinc.berkeley.edu пользователей, разработка системы статистики, отладка файл с самой свежей версией — на момент написания статьи взаимодействия клиентского и серверного ПО и т. д. Все уже это boinc_5.2.7_i686-pc-linux-gnu размером 3,4 Мбайт — и запу- готово — придумано, написано и отлажено авторами BOINC. скаем. Дистрибутив создает в текущем каталоге подкаталог Остается брать и пользоваться. Предлагается использовать BOINC, куда и распаковывается все свое содержимое, после любое ПО BOINC — от клиентского модуля до серверных PHP- чего сообщает, что для запуска консольной версии BOINC сле- скриптов — в исходниках, под лицензией GNU GPL, а дует использовать скрипт run_client, а для запуска версии с гра- разобраться во всем этом поможет доступная на сайте BOINC фическим интерфейсом — run_manager. Кроме того, он пропи- подробнейшая документация по созданию на основе этой сывает в этих скриптах полный путь к созданному подкаталогу, платформы собственного проекта РВ с нуля. так что при необходимости куда-либо его переместить нужно это учесть и соответствующим образом их подправить. Загру- | Rosetta@home | жаем графическую версию BOINC. Поскольку этот первый за- | http://boinc.bakerlab.org/rosetta | Итак, пора перейти от теории к практике. Рассмотрим процесс Технические тонкости присоединения к работающему на платформе BOINC проекту на примере запущенного недавно Rosetta@home. éÒÓ·ÂÌÌÓÒÚË ‡‚ÚÓËÁ‡ˆËË Это научное исследование, проводимое одной из лаборато- Стоит отметить, что схема ав- корректно ее обнаруживает, и рий Вашингтонского университета, результатами которого торизации по e-mail и паролю вместо поля с вводом пароля должны стать новые методы (алгоритмы), помогающие с высо- для BOINC относительно нова. появляется поле для Account кой точностью заниматься моделированием, предсказанием и Ранее в основанных на нем Key). Существенным ее недо- дизайном белков. Наличие проверенных алгоритмов модели- проектах использовалась ав- статком является отсутствие рования поможет исследователям разрабатывать лекарства торизация по секретному возможности зарегистриро- для лечения различных болезней, вызываемых нарушениями Account Key, выступавшему вать новый аккаунт прямо из одновременно в роли и уни- клиента: необходимо зайти структуры белка. Своим названием проект обязан лежащему кального идентификатора, и на сайт проекта, зарегистри- в основе его клиентского ПО модулю Rosetta, который был пароля на изменение инфор- роваться там, дождаться элек- изначально создан для предсказания трехмерной структуры мации. Кое-где такая схема тронного письма с заветным белка из его аминокислотной последовательности. Со време- используется и по сей день Account Key и только после нем в Rosetta появились функции дизайна и предсказания (в этом случае клиент BOINC этого подключаться к проекту. белковых комплексов. Авторы проекта надеются продолжить
CHIP| LINUX 4/2005 ‡ÒÔ‰ÂÎÂÌÌ˚ ‚˚˜ËÒÎÂÌËfl ‚ Linux 29
Climate Prediction ÔÓ͇Á˚‚‡ÂÚ Ó·Î‡˜ÌÓÒÚ¸...... ÚÂÏÔ‡ÚÛÛ...... Ë ‚·ÊÌÓÒÚ¸
пуск, нам будет предложено указать адрес главной страницы ванных мною BOINC-проектов графику под Linux на текущий проекта, к которому мы желаем присоединиться. момент показывает только Einstein@home. Однако в скором вре- В следующем окне мастера нужно либо указать e-mail и па- мени ситуация наверняка изменится: последняя новость на сай- роль к уже созданному в проекте аккаунту, либо зарегистриро- те Rosetta@home сообщает о начавшемся тестировании новой вать новый (в этом случае пароль придется ввести дважды). версии скринсейвера (то есть версии расчетного модуля с полно- После создания нового аккаунта BOINC предложит задать ценной графической частью, наверное, и под Linux тоже). От его параметры, открыв в браузере раздел настроек на сайте других проектов тоже логично ожидать выпуска в скором буду- проекта. Впрочем, сделать это можно и позже, просто зайдя на щем Linux-версий с поддержкой визуализации расчетов, ведь в сайте проекта в раздел «Your Account» и написав выбранные большинстве случаев она написана под OpenGL, который пор- при регистрации адрес почты и пароль. Там же указывается тируется между платформами довольно просто. выделяемое под проекты BOINC место на диске, устанавлива- Но что-то мы отвлеклись. Возвращаемся к клиенту BOINC и ется режим работы клиента (допустим, можно сделать, чтобы видим, что закачка расчетных модулей Rosetta уже завершилась он работал только в определенные часы), настраивается отоб- и проект начал расчеты. Теперь можно свернуть окно BOINC ражаемая графика (если она есть) и т. д. Во всех проектах Manager и заняться своими делами. Rosetta, равно как и любой BOINC есть не только «личный зачет», в котором участники другой современный проект распределенных вычислений, дру- выстраиваются в порядке количества набранных ими за обра- гим запущенным на компьютере программам никогда не поме- ботку блоков данных очков, но и командный, где соревнуются шает. Чтобы удостовериться, можно открыть top и увидеть, что образованные ими команды. Поэтому там же, в разделе наст- процесс rosetta_4.79, хотя и занимает 98% CPU, при этом име- роек аккаунта, есть возможность либо присоединиться к одной ет самый низкий из возможных приоритетов, а значит, как из команд (например, к «Russia», объединяющей российских только процессор становится нужен любой другой программе, участников проекта), либо создать свою. Rosetta тут же в нужном объеме его освобождает. Вернемся к подключаемому нами проекту. Сразу после Чтобы воспользоваться основным преимуществом BOINC — присоединения можно открыть закладку «Transfers» и уви- динамическим переключением между проектами, — нужно деть, что BOINC уже вовсю занялся закачкой модулей, необ- ходимых для участия в Rosetta@home и занимающих около Визуализация в Linux 17 Мбайт. Важно отметить, что подобный объем трафика до- вольно-таки не типичен для проектов РВ. Обычно совокуп- ÇÂÏÂÌÌ˚ Ì‰ÓÒÚ‡ÚÍË ный размер всех скачиваемых даже во время первоначально- К сожалению, Linux-версии носится к LHC@home, Climate многих расчетных модулей ос- Prediction и SETI@home и го присоединения к какому-либо проекту файлов в разы нованных на BOINC проектов связано не только и, навер- меньше этого значения, а если он посвящен криптографии не предоставляют пока ника- ное, даже не столько с по- или математике, вовсе практически равен нулю. кой возможности визуально ниженным вниманием к На закладке «Work» уже отображается процесс обработки оценить процесс расчета Linux-версиям со стороны текущего блока данных (пока нулевой — состояние «Down- (покрутить модель молекулы, авторов, сколько с совсем loading»), затраченное на его обработку время и так называе- узнать погоду на виртуальном недавним переходом BOINC мый дедлайн, то есть финальная дата, до которой нужно обя- глобусе Земли, полюбовать- со старой, четвертой, на но- зательно посчитать этот блок и вернуть результат, иначе его ся на пики графика с кос- вую — пятую версию плат- отправят на обработку кому-нибудь другому. мическим шумом). В общем формы. По сообщениям уча- случае Windows-версия про- стников, в четвертой версии К сожалению, каких-либо возможностей визуально оценить екта имеет красивую визу- BOINC графику показывали процесс моделирования (например, своими глазами увидеть со- ализацию, а в Linux кноп- гораздо больше проектов, здаваемую модель белка) Rosetta@home в данное время не предо- ка BOINC-менеджера «Show а в пятой кое-где ее нет да- ставляет. Относится это не только к данному проекту, но и к graphics» отключена. Это от- же под Windows. большинству других, имеющих версии под Linux. Среди опробо-
4/2005 LINUX| CHIP 30 desktop ̇ ÒÎÛʷ ̇ÛÍË
íÓ˜ÍË — ˝ÚÓ Á‚ÂÁ‰˚, ‡ ÔÓÎÓÒ‡ ÔÓÔÂÂÍ ÒÙÂ˚ — åΘÌ˚È ÔÛÚ¸ ÇˉÌ˚ ‰‚‡ ËÁ ÚÂı χÍÂÓ‚, ÒËÏ‚ÓÎËÁËÛ˛˘Ëı ÔÓÁˈËË ÁÂÌËÚÓ‚ ‰Îfl Òӷˇ˛˘Ëı ËÌÙÓχˆË˛ ÔË·ÓÓ‚ присоединиться еще хотя бы к одному проекту, а лучше к не- скольким. Не знаю, кому как, но, по-моему, участвовать од- мировала меня о том, что проект climateprediction.net за- новременно в нескольких проектах гораздо интереснее, чем в казал получение файлов общим объемом аж в 44 Мбайт! каком-то одном, тем более что ничего сложного в этом нет: Поэтому, если вам трафик дорог как память, возможно, сто- процесс подключения у всех идентичен описанному на при- ит от участия в этом проекте отказаться. Справедливости ра- мере Rosetta@home. ди стоит сказать, что единожды закачанный блок данных «Climate Prediction» будет считаться очень долго — как ми- | Climate Prediction | нимум месяц, и это на довольно быстром компьютере, при- | www.climateprediction.net | чем работающем в круглосуточном режиме. А при расчете Проект Climate Prediction, как следует из его названия, занима- последующих блоков скачивать большую часть уже полу- ется моделированием и предсказанием климата на Земле. Уп- ченных данных повторно не требуется. рощенно можно сказать, что результатом работы проекта дол- Скриншоты приводятся из Windows-версии этого клиента; жен стать «прогноз погоды» на 50 лет вперед. Его руководители Linux-графика, когда она появится (по слухам, для некото- хотят определить, насколько точны существующие методы дол- рых типов расчетных блоков она уже доступна), вряд ли будет говременного предсказания погоды и насколько сильно на их сильно отличаться. точность влияют погрешности в исходных данных. Работающий на платформе BOINC вычислительный модуль | Einstein@home | проекта занимается моделированием долгосрочных изменений | http://einstein.phys.uwm.edu | климата Земли. Все участвующие компьютеры получают не- Проект Einstein@home занимается составлением для всего неба много разные входные данные, поэтому итог работы каждого атласа излучаемых звездами-пульсарами гравитационных по- из них будет уникальным. Руководители проекта выберут среди лей. Такой атлас должен помочь в проверке гипотезы Эйнштей- полученных результатов наиболее точно отражающие происхо- на, предсказывающей теоретическую возможность существо- дившее до 2000 года и сделают вывод о наиболее вероятных из- вания гравитационных волн, возникающих при столкновениях менениях, ожидающих нас в будущем. черных дыр и взрывах звезд. Пока никому из ученых обнару- Этот проект является, несомненно, рекордсменом по ко- жить эти волны не удалось. личеству скачиваемых при подключении данных. Сразу по- Данные для анализа будут поступать из Лазерной интерферо- сле присоединения BOINC-закладка «Transfers» проинфор- метрической гравитационно-волновой обсерватории (LIGO). Рабочая часть задействованной в проекте обсерватории LIGO Цитата состоит из двух точнейшим образом установленных зеркал и путешествующего между ними луча лазера. При наличии Ñ˝È‚ îÂÈÏ Ó Climate Prediction волн в гравитационном поле путь лазера чуть-чуть отклоня- «Мы хотим исследовать не- тов, проверить все возмож- ется, что позволяет ученым замечать и измерять эти волны. большие изменения в общей ные варианты. То есть сде- Большее расстояние между зеркалами означает большую чув- модели, — говорит коорди- лать то, что заняло бы у су- ствительность интерферометра, поэтому зеркала LIGO уста- натор проекта, доктор Дэйв перкомпьютера несколько новлены расстоянии четырех километров друг от друга. Это Фрейм из Оксфордского уни- тысяч лет. Но, решая это верситета. — Единственный как распределенную задачу, позволяет фиксировать изменения положения луча лазера способ сделать это — провес- мы сможем сделать все го- вплоть до одной стомиллионной диаметра атома водорода. ти очень много эксперимен- раздо быстрее». Этот проект, как упоминалось выше, на сегодняшний мо- мент является единственным, имеющим полноценное отоб-
CHIP| LINUX 4/2005 ‡ÒÔ‰ÂÎÂÌÌ˚ ‚˚˜ËÒÎÂÌËfl ‚ Linux 31
ÇÌÂ¯Ì˛˛ ÒÚÛÍÚÛÛ ·ÂÎ͇ ÔӢ ‚ÒÂ„Ó ÇÚÓÓÈ ÂÊËÏ ÔÓÁ‚ÓÎflÂÚ ÎÛ˜¯Â ‡ÒÒÏÓÚ- àÒÒΉÛÂÏ˚ ÒÚÛÍÚÛ˚ ˜‡ÒÚÓ ·˚‚‡˛Ú ÓˆÂÌËÚ¸ ‚ ÂÊËÏ fpd ÔÓ ÛÏÓΘ‡Ì˲ ÂÚ¸ Â„Ó ‚ÌÛÚÂÌÌË ҂flÁË ‚ÂҸχ ÒÎÓÊÌ˚ÏË
ражение визуализации расчетов как под Windows, так и под платы, и даже разрабатывается версия, задействующая спе- Linux. Русский перевод описания того, что означают различ- циальную плату-ускоритель PCI. ные элементы этой визуализации, можно найти по адресу На сайте http://folding.stanford.edu под Linux предлагается http://distributed.ru/?einstein.starsphere. только консольная, без всякой графики, версия клиента. Одна- ко для Folding@home существует несколько очень красивых | Folding@home | сторонних программ для визуализации расчетов (работающих в | http://folding.stanford.edu | том числе и под Linux), например fpd (http://home.comcast.net/ Можно сколько угодно говорить о текущем глобальном пере- ~wxdude2/rph/fah.html). ходе на BOINC, однако существуют как участники, так и раз- работчики РВ, которым BOINC по разным причинам либо не | Другие проекты | нравится, либо просто не приносит, по их мнению, никакой К сожалению, в рамках статьи невозможно описать и половины пользы по сравнению с «традиционной» архитектурой проек- всех работающих на BOINC проектов, не говоря уже о гораздо та. Особенно в том случае, если последняя уже давно запуще- более многочисленных, имеющих «традиционную» архитектуру. на и успешно функционирует. Если тема распределенных вычислений вас заинтересовала, Среди таких проектов наиболее примечательным является но описанного здесь показалось недостаточно, советую посе- Folding@home. Его разработчики сразу же после появления тить официальный сайт BOINC (http://boinc.berkeley.edu), на BOINC заявили, что никаких преимуществ от перехода на эту котором перечислены все проекты, использующие в работе эту платформу они не видят, а когда увидят — просто создадут до- платформу. Например, стоит зайти на сайт http://distributed.ru, полнительную BOINC-версию своего клиента, оставив на- где можно найти русскоязычные описания наиболее популяр- равне с ней и первоначальную. Кстати, на данный момент ных проектов, новости о них и довольно активный форум; и, BOINC-версия клиента этого проекта все-таки уже существу- конечно же, монструозный ресурс http://distributedcomputing. ет и проходит бета-тестирование. info, где есть краткие описания, наверное, всех проектов — Цель Folding@home — получение более точного представле- функционирующих сейчас, когда-либо существовавших, а так- ния о болезнях, вызываемых дефектными белками. Изучаются же еще только планируемых к запуску. белки, имеющие отношение к болезни Альцгеймера, Паркин- В общем, присоединяйтесь! | сона, диабету типа II, коровьему бешенству и рассеянному склерозу. Поняв, почему возникают дефекты в белках одного Сущность Rosetta типа, ученые смогут выяснить, каким образом это происходит и с другими белками. Все желающие имеют свободный доступ é ‡Ò˜ÂÚÌÓÏ fl‰Â к результатам. На сайте выкладываются все публикации, роли- Ядро Rosetta — это физичес- комплекса «белок-белок» ки смоделированных процессов и т. п. кая модель макромолекуляр- (при расчете стыковки бел- ных взаимодействий и алго- ков), а также поиска амино- Клиент состоит из двух частей — оболочки и расчетного ритмов поиска структуры с кислотной последовательнос- ядра. Некоторые из расчетных ядер оптимизированы под рас- наименьшей энергией для за- ти с наименьшей энергией для ширенные наборы инструкций — SSE и 3DNow! либо SSE2. данной аминокислотной по- заданной белковой структуры Но руководители проекта на этом останавливаться не соби- следовательности (при пред- или комплекса «белок-белок» раются. Исследуется возможность создания версии клиента, сказании структуры белка), (при дизайне белков). использующей для расчетов графический процессор видео-
4/2005 LINUX| CHIP 32 desktop ÏÛθÚËωˇ
Юрий Меркулов äÓÒÏÂÚÓÎÓ„Ëfl Ë ÔÓ͇Á ÏÓ‰
Приятно и полезно идти в ногу с техническим прогрессом, иметь хотя бы беглое представление о том, что творится в мире хай-тека. Сегодня многие уже работают в Интернете, используя ADSL-подключение, а огромное количество семей сохраняют на память торжественные события с помощью цифрового фотоаппарата.
Ценность цифрового фотоаппарата резко возрастает, если подсоединении фотоаппарата к ПК с помощью шнура с разъ- уметь грамотно распоряжаться полученными снимками. Какие емом mini-USB камера автоматически монтируется в опре- основные нужды у простых фотолюбителей? деленный каталог — свой для каждого дистрибутива. После Первым этапом всегда является собственно процесс съем- этого фотографии можно переписать с помощью любого ки. Условия не всегда могут быть подходящими, да и не все файлового менеджера. Исключение составляют модели фир- мы фотографы от бога. мы Canon. Для работы с камерами в Windows требуется уста- Полученные фотографии желательно сохранять на компью- новка специального программного обеспечения. На дисках, тере, чтобы вдоволь налюбоваться полученным материалом. поставляемых вместе с продукцией Canon, программного Но не всегда снимки радуют глаз, поэтому очень часто прихо- обеспечения для Linux нет. Однако все проблемы решает при- дится прибегать к инструментам, улучшающим их качество. По обретение недорогого карт-ридера, который определяется в мере накопления изображений на жестком диске все больше Linux как USB-устройство и автоматически монтируется. возникает необходимость грамотной их сортировки с целью дальнейшего быстрого поиска любимых кадров. | В розовых очках | Красивыми фотографиями всегда хочется поделиться с В популярных дистрибутивах Linux можно найти немало про- друзьями, а самые прекрасные экземпляры так и просятся грамм для просмотра изображений, например Kuickshow из напоказ всему свету. KDE или gThumb из GNOME. Многие из них имеют в своем Мы с вами работаем в Linux — системе, изначально пред- составе средства для каталогизации изображений на жестком назначенной совсем для других, не связанных с цифровым диске. Программы могут создавать свои базы данных, которые фото, нужд. Но прелесть открытого программного обеспече- расширяют возможности навигации по базе изображений и ния заключается в том, что разработчикам интересно писать добавляют некоторые сервисные функции. Однако подобный наиболее востребованные пользователями программы. Свято подход к проблеме имеет отрицательные стороны. Авторы место пусто не бывает, поэтому все запросы обладателя циф- каждой программы по-своему видят пути, упрощающие нам рового фотоаппарата реализованы и в открытой ОС. жизнь, и, создав базу в одной программе, вы не сможете рабо- тать с ней в другой. Стандартизация — малознакомое слово | Первая стыковка | для авторов баз данных. Единственным «стандартом» остается Ядро Linux имеет драйверы практически ко всем устройствам грамотное хранение файлов на жестком диске. Если не ленить- с USB-интерфейсом. Поддерживается стандарт USB 2.0. При ся и вписывать в названия папок, например, даты съемок и те-
CHIP| LINUX 4/2005 ˆËÙÓ‚‡fl ÙÓÚÓ„‡ÙËfl 33
gThumb: ÔËıÓ- ‡¯Ë‚‡ÂÏÒfl Ó‰ÌËÏ ˘ÂΘÍÓÏ Ï˚¯Ë
ÇÒfl ÙÓÚÓÒÂÒÒËfl ‚ Ó‰ÌÓÏ ÓÍÌ gThumb
мы текущих коллекций, то в дальнейшем найти нужные фото- и в данном вопросе дает о себе знать: лучше использовать несколь- графии будет не так уж и сложно. ко специализированных программ, чем одну универсальную. GIMP — единственный серьезный программный продукт | Цифровой мейкап | для манипуляции с изображениями в Linux, однако в этом Практически ни одна утилита для просмотра не имеет даже базо- нет ничего страшного. GIMP — мощный и в то же время до- вых инструментов редактирования изображений. Единственная вольно простой в освоении инструмент. С другой стороны, «гляделка», в которой можно выполнять простейшие манипуля- стоит отметить, что отсутствие в GIMP некоторых инстру- ции, улучшающие качество изображения, — это gThumb. Инст- ментов «для чайников» заставляет выполнять некоторые про- румент «Enchance» пытается автоматически подобрать оптималь- стейшие операции через последовательность других функ- ные параметры яркости/контрастности и цветового баланса. ций. Например, если в ACDSee и Photoshop красные зрачки С помощью остальных функций вы можете попробовать вручную глаз убираются практически одним щелчком мыши, то в поиграть с инструментарием, используемым на начальном этапе GIMP необходимо вручную выделять область зрачка и вы- обработки цифровых изображений. ключать красный цветовой канал в этой области. Широкий простор открывается для творческой мысли, если об- Но не будем говорить о грустном, лучше сразу перейдем к ратиться к графическому редактору GIMP. Как ни крути, а unix way работе с нашими фотографиями. При первом взгляде на фо- то сразу бросаются в глаза зернистость и нарушение цветово- Технические детали го баланса, если при съемке использовался параметр ISO 400 и выше. Для устранения шумов и зернистости используется 儇ÔËÍÒÂÎË vs ÙÓÚÓ·Ûχ„‡ специальный фильтр «Гауссово размывание», который вызы- При печати бумажных фото- расчеты (не менее 120 пик- вается из меню «Фильтры» и подменю «Размывание». При графий используется разре- селей на 1 см) показывают этом немного понижается общая четкость изображения, но шение 300 dpi. Несложные следующую картину: запас в этой области для печати 10x15 см у современных фо- Количество мегапикселей Максимальный размер фото- тоаппаратов просто огромен. Вы также можете сначала выде- фотоаппарата графии без потери качества, лить часть изображения с помощью группы инструментов получаемый при печати, см выделения (произвольное, связанных областей и по цвету) и 2 10х15 лишь затем понизить уровень шума. При таком подходе мож- 3 13х18 но «разгладить» кожу на портрете, сохранив при этом макси- 4 13х18 с небольшим запасом мальную четкость изображения на участках волос и одежды. 5 15х20 Частичное нарушение цветового баланса исправляется с по- 7 Формат А4 9 Формат А4 с небольшим запасом мощью функции «Цветовой баланс», вызываемой из меню «Ин- струменты» и подменю «Инструменты цвета». Обратите внима- ние, что с помощью GIMP вы можете менять цветовую гамму Как видите, рекламные за- ме того, не стоит забывать, раздельно в трех диапазонах яркости — тенях, полутонах и бли- явления о том, что, напри- что наши фотоаппараты ках. Очень часто при съемках на улице в солнечный день небо мер, 7-мегапиксельными (99% — «мыльницы», камерами можно делать 1% — «зеркалки») делают получается не голубым, а белым из-за неточной передачи ярко- снимки размера А3, — не снимки с качеством ниже сти на предельных значениях. С помощью точной коррекции более чем пустой звук. Кро- допустимого предела. цвета вы можете добавить голубой оттенок тому интервалу ярко- сти, в котором оказалось небо. Точно так же можно делать воду
4/2005 LINUX| CHIP 34 desktop ÏÛθÚËωˇ
ɇÙ˘ÂÒÍËÈ ËÒıÓ‰ÌËÍ ÇÓÚ ˜ÚÓ ‰Â·ÂÚ Ò Î˛‰¸ÏË GIMP!
синей в грязных водоемах, убирать красноту на лицах со сним- ков, сделанных дешевыми аппаратами Canon со вспышкой. Если ваш снимок получился засвеченным, в некоторых мес- тах яркость такая, что все сливается в единый белый фон, то это уже ничем не исправить. Слишком темные снимки, напротив, поддаются исправлению. Для корректировки яркости снимков å˚ ÔÓÒÚÓ ÓÚÂÊÂÏ ÌÂÌÛÊÌÓ воспользуйтесь мощным инструментом «Уровни» («Инстру- менты p Инструменты цвета»), с помощью которого вы сможе- Инструменты цвета»). Играя насыщенностью отдельных цве- те не только установить нужные параметры яркости для сним- тов, можно подчеркивать конкретные детали. Например, ка, но и окончательно выправить цветовой баланс. уменьшение насыщенности желтого и зеленого цветов делает Обратите внимание на три пипетки, расположенные спра- крону деревьев полностью обесцвеченной. В результате можно ва от кнопки «Авто». Выбор черной и белой точек позволяет получить цветной портрет на черно-белом фоне. скорректировать изображение так, чтобы равномерно задей- Помимо общих улучшений качества снимков вы можете ствовать на снимке весь диапазон яркости. Выбор серой точ- подчеркнуть отдельные детали. Ведь GIMP — это не просто ме- ки позволяет равномерно построить всю цветовую гамму без неджер изображений, а полноценный графический редактор. перекосов в сторону того или иного канала. Если вас не уст- Вы можете, например, наносить произвольный макияж на раивает работа автоматики, добро пожаловать в ручную женские портреты. GIMP поддерживает слои. Создайте новый правку графиков. Вы можете плавно регулировать пороговые слой. Нанесите на щеки румяна, вокруг глаз тени. Это делается значения каналов и общей яркости с помощью черных и бе- с помощью обычного карандаша. Теперь фильтром «Гауссово лых треугольников, а также корректировать гамму с помо- размывание» очень сильно размажьте слой. Вместо резких ка- щью серого ползунка. рандашных штрихов должны получиться цветные пятна. Играя На женских портретах очень красиво смотрится эффект с прозрачностью слоя, добейтесь нужного эффекта. Важно, мягкого света, который можно создавать с помощью одно- чтобы косметика не была слишком яркой, но была заметна. именного фильтра, вызываемого из подменю «Имитация». Брови и ресницы рисуются черным карандашом, тонкими ли- В реальной жизни подобный эффект можно получить, если ниями и размазываются не очень сильно. Немного сложнее перед вспышкой поставить листок глянцевого картона, кото- нанести помаду на губы. Для этого цветным карандашом обве- рый отразит свет на потолок. В результате модель не будет за- дите контур губ, немного размажьте результат, добавьте про- свечена прямым ярким светом, а попадет под таинственную зрачность по вкусу. После этого выделите контур губ и внутри власть рассеянного отражения. При этом исчезнут резкие те- выделения увеличьте цветовую насыщенность. Можно также ни, зрачки глаз никогда не получатся красными, композиция изменить тон. Даже невзрачная девушка становится писаной приобретет объем и некий шарм. красавицей, если над ней поработать в GIMP. И, наконец, окончательные штрихи наносятся на снимок с помощью инструмента «Тон-насыщенность» («Инструменты p | Веб-дефиле | Рано или поздно возникает желание показать фотографии дру- Любопытные факты зьям, а также выставить некоторые свои работы на всеобщее обозрение. Самый простой способ поделиться фотографией с å‡Úˈ‡ ‚ „ÓÎÓ‚Â другом — это послать ее по электронной почте. Известно, что строение гла- шей сетчаткой. Ученые Но если требуется показать снимки всему миру, а их количе- за человека имеет одну осо- подсчитали среднее ство неприлично велико, то электронная переписка оказывает- бенность — мы видим чет- «разрешение» сетчатки ся бессильна под напором ваших требований. кое изображение по центру, глаза. Зрение здорового Более эффективным способом обмена фотографиями явля- но даже небольшое откло- человека в среднем экви- ется создание галерей в Интернете. Однако на этом тернистом нение взгляда резко ухуд- валентно 4-мегапиксельной шает восприятие мира на- камере. пути поджидает немало проблем. Перед вами встает выбор: ли- бо размещать свои фотографии, используя специальные сете-
CHIP| LINUX 4/2005 ˆËÙÓ‚‡fl ÙÓÚÓ„‡ÙËfl 35
ëÎÓË ÏÓ„ÛÚ ‚˚Á‚‡Ú¸ ÛÏfl̈ ̇ ˘Â͇ı
вые сервисы, либо создавать галереи самостоятельно. Сайты, ñ‚ÂÚ‡ β·flÚ «Å‡Î‡ÌÒ» предлагающие услуги по размещению галерей, накладывают большие ограничения. Во-первых, максимальный размер не избежать финансовых затрат. Использование платного хо- файла с изображением не может превышать фиксированного стинга подобно таблетке аспирина снимает вечную головную значения, которое ставит в тупик даже плоды труда старых боль, мучающую вас из-за необходимости постоянно идти на 2-мегапиксельных камер. Принудительное сжатие файлов компромисс. Не стоит пугаться слова «платный» после вос- также не дает желаемого результата, так как резко снижается поминаний о каком-нибудь баннере, где значится цифра по- качество изображений. Во-вторых, на многих сайтах устанав- рядка $100 в месяц. ливается ограничение на размер изображения в пикселях, что Довольно большое количество провайдеров бесплатно ставит крест на обмене качественными фотографиями. Ог- предоставляет собственные серверы для хостинга клиентов. ромное количество рекламы на подобных сайтах подобно по- На это стоит обратить внимание в первую очередь. Если та- роховому заряду сжигает трафик, за который вы платите свои кой услуги у вашего провайдера нет, наберите в поисковой кровные деньги. А картинки ведь не отключить (это ведь са- строке Google запрос «платный хостинг» и убедитесь в том, мый действенный способ снижения трафика) — вот в чем и что за $2-3 в месяц можно получить практически не ограни- юмор, и трагедия ситуации! ченную по объему галерею в Интернете. C другой стороны, многим пользователям и не нужно боль- Доступ к ресурсам хостинга осуществляется по протоколу шего. Не требующая особых усилий возможность создания га- FTP. Наберите в Krusader (или другой имеющейся у вас про- лерей из небольших фотографий устраивает многих. Тем более грамме) адрес вашего хостинга и, словно у себя на локальном веб-сервисы позволяют вам создавать небольшие описания к диске, клавишей «F5» выгрузите вашу галерею в Интернет. своим фотографиям, а другие пользователи сервиса могут ос- Мир цифрового фото разнообразен и крайне интересен. тавлять свои комментарии напротив ваших фото. Примеры Процесс съемки на цифровую камеру, обработка снимков на популярных сервисов: gallery.aquareal.ru, www.photosight.ru, компьютере, публикация в Сети — все это становится доступ- foto.mail.ru и другие. ным широкому кругу пользователей. Мировое сообщество Но нам, пользователям Linux, не привыкать решать вопросы разработчиков открытого программного обеспечения, к счас- самостоятельно и достигать целей своим трудом. Одна из наи- тью, не упускает из вида этот факт, предоставляя нам с вами более простых программ для создания галерей — это gThumb. удобный набор инструментов в рамках популярной операци- Выделите фотографии, из которых хотите создать галерею, а за- онной системы Linux. | тем в меню «Инструменты» выберите пункт «Создать интернет- Альтернатива альбом». Вы можете произвольно сортировать изображения, менять стилевое оформление будущего альбома. Когда альбом ëÔ‡Ò‡ÚÂθÌ˚È ÍÛ„ будет создан, его нужно разместить в Сети. А как же быть людям, под- рею в gThumb размером в Для размещения собственных галерей (и любой другой ин- ключающимся к Интернету с несколько гигабайт, запи- формации) в Сети нужен хостинг. Компании, предоставляю- помощью dialup-модемов? шите ее на DVD с помощью щие бесплатный хостинг, накладывают ограничения на мак- Если выйти за рамки пере- k3b и пошлите по почте бан- симальный объем файла и общий объем будущего альбома. дачи информации через Ин- деролью. И это будет намно- Списки наиболее популярных компаний в этой области мож- тернет, то можно найти и го быстрее и дешевле, чем но найти по адресу internethosting.ru. другие способы обмена фо- загружать фотографии, ис- Но если вы собираетесь поделиться с миром очень боль- тографиями. Создайте гале- пользуя канал 56 кбит/с. шой коллекцией качественных фотографий, то в этом случае
4/2005 LINUX| CHIP 36 desktop ÏÛθÚËωˇ
Антон Борисов ꇉËÓ ·Û‰Û˘Â„Ó?
Даже тем, кто знаком с английским языком, сложно с первого раза понять, что же означает новый термин — podcasting. С одной стороны, слог «pod» напоминает об аудиоплеерах производства компании Apple — iPod. С другой стороны, слог «casting» наверняка имеет что-то общее с вещанием — broad- casting. Что же связывает между собой Apple iPod и вещание?
Чтобы не ломать понапрасну голову над термином podcasting, ленной передачи какой-либо интернет-радиостанции ведется в обратимся к онлайн-библиотеке Wikipedia [1]. И вот что вы- ночное время (просто расположена она на другом конце света). ясняется: «Podcasting — это метод распространения аудио- и Можно оставить компьютер включенным на ночь и записать видеопрограмм через Интернет, позволяющий пользователям нужную трансляцию. А можно просто выделить эту передачу — подписываться на определенные файлы (известные также как ссылка будет передана программе загрузки, и через некоторое потоки — «feeds»), а затем прослушивать и просматривать ска- время эта передача окажется у вас в руках (естественно, она долж- чанный материал в любое удобное время. Поток обычно пред- на быть записана в виде отдельного звукового файла, а у вас ставляет собой звуковой файл в формате MP3». должно быть установлено программное обеспечение, управляю- Вот так, сухо и незатейливо, написано в энциклопедии. Но что щее RSS-подпиской). же на самом деле является подкастингом и чем это понятие ка- Что касается содержимого передач, здесь уже вовсю проявля- чественно отличается от того, что предоставляют потоковые ется фантазия тех, кто составляет звуковой ряд, а составить его интернет-радиостанции? может любой человек, у которого под рукой есть микрофон, про- Подкастинг — это запись аудиофайлов и размещение их на грамма для записи звука и соединение с Сетью. В принципе, каком-либо веб-сервере, с которого пользователь забирает RSS- обычного цифрового диктофона тоже вполне достаточно. Глав- рассылки [2]. Таким образом, как только файл попадает на сер- ное — передать созданный файл на какой-либо подкаст-сервер, вер, он автоматически появляется в поле зрения пользователя и публикация готова. Здесь уже ни о какой фильтрации и цензу- посредством RSS-агрегации. В первую очередь это удобно само- ре говорить не приходится: если вам интересно слушать — вы му пользователю — представим, например, что вещание опреде- слушаете. Если неинтересно, то никто вас не заставляет скачи- вать тонны мегабайт ненужных вам данных. Кто же слушает подкасты? В общем-то, это те пользователи, которые создают свои страницы в Live Journal, различного рода блогах и ведут, скажем так, «дневники». И, конечно же, это ра- диостанции, точнее ведущие радиостанций. Если к блоггерам все уже привыкли и ничего принципиально нового в этой сфере уже нет, то подкастеры — явление сравнительно новое. Впрочем, сам термин podcasting появился достаточно недавно, широко о нем начали говорить в 2004 году. Родоначальник этого термина, а также отец-основатель принципа подкаст-вещания — Адам Карри. Когда-то он был ведущим MTV, а сейчас ударился в сферу подкастинга. Название отчасти связано с тем, что у Карри был плеер iPod, на который можно было загружать файлы и слу- шать их в любое удобное время. Хотя, чтобы слушать подкаст- вещание, вовсе необязательно иметь iPod, как, впрочем, и какой- ä‡ÒÌ˚Ï ‚˚‰ÂÎÂÌÓ ‡ÒÔÓÎÓÊÂÌË ‡‰ÂÒ‡ XML-هȷ Ò ÔӉ͇ÒÚÓÏ либо другой MP3-плеер. Обыкновенной ПЭВМ со звуковой платой вполне достаточно.
CHIP| LINUX 4/2005 ÚÂıÌÓÎÓ„ËË podcasting 37
çÂÓ·ıÓ‰ËÏ˚ ÂÍ‚ËÁËÚ˚ ‰Îfl ÎÂÌÚ˚ Á‡ÔÓÎÌÂÌ˚
ÑÓ·‡‚ÎÂÌË ÎÂÌÚ˚ ‚ jPodder
| Виртуальные радиоприемники | | Сам себе радиоведущий | Для получения информации о подкаст-листах необходимо сде- С помощью чего получать RSS-ленты, вы теперь знаете. А что лать так, чтобы плеер мог получать RSS-рассылки. На данный требуется для того, чтобы создать свой собственный подкаст? момент имеются следующие клиенты, которые могут работать Будем считать, что из аппаратных решений у вас только ПЭВМ и с подкаст-записями: микрофон. А также операционная система и желание что-либо 3 amaroK — приложение для воспроизведения аудиофайлов [7]; записать — будь то мысли или сказка на ночь. 3 BPConf — подкаст-загрузчик для KDE; Понадобится пакет Audacity (для избавления от ненужных шу- 3 gPodder — еще один загручик подкаст-рассылок, написанный мов и нормализации уровня звука), а также lame (для оцифров- на Python и GTK [8]; ки). Как правило, Audacity уже поставляется с поддержкой 3 Juice (ранее носивший имя iPodder) — самый первый извест- библиотеки libmp3, поэтому сохранять файл MP3 можно непо- ный подкаст-загрузчик [9]; средственно из программы. Следует помнить, что одна минута в 3 jPodder — также одна из самых первых программ для получе- формате MP3 joint-stereo имеет объем примерно 1 Мбайт. ния подкаст-информации (написана на Java) [10]. Сказать, что Audacity — сложная для понимания програм- Я решил остановиться именно на jPodder благодаря его ма, нельзя. Несколько кнопок — «Старт», «Стоп», «Пауза», «За- Java-происхождению, а также отчасти из-за того, что на мо- пись» — вот практически и весь необходимый ассортимент функ- мент написания этой статьи он был доступен для платформ ций для начинающего подкастера. Способы снижения шума и Windows и Mac, а для GNU/Linux находился в стадии перера- удаления ненужных фрагментов постигаются почти мгновенно. ботки кода. Сохраняем файл в формате MP3, и половина дела сделана. Оста- Клиент jPodder-1.0RC2 достаточно крупный, около 10 Мбайт, лось оформить теги для RSS-ленты и сохранить файл на сервере, и представляет собой инсталляционное приложение (пусть вас принимающем подкасты. не смущает расширение .JAR). Следует только указать директо- Информация для RSS-лент хранится в формате XML, поэтому рию, в которую его следует установить, и дело в шляпе. предлагаю посмотреть, как грамотно составлять файл: Первым делом я поспешил на сайт BBC и решил послушать подкасты двух ведущих — Криса Моэлса и Криса Эванса.
4/2005 LINUX| CHIP 38 desktop ÏÛθÚËωˇ
ëË„Ì‡Î Ò ÏËÍÓÙÓ̇ ÒÎ˯ÍÓÏ Ò··˚È, ÔÓ˝ÚÓÏÛ ÔˉÂÚÒfl ÌÂÏÌÓ„Ó Ò ÌËÏ ÔÓ‡·ÓÚ‡Ú¸
Источники информации
[1] http://en.wikipedia.org/wiki/Podcasting [11] www.castpodder.net [2] http://en.wikipedia.org/wiki/RSS_(file_format).html [12] www.linuxforums.org/Linux%20RSS%20Feeds.html [3] http://blogs.law.harvard.edu/tech/rss [13] http://radio.blogware.com/blog/_archives/2005/5/24/ [4] http://en.wikipedia.org/wiki/Really_Simple_Syndication.html 882450.html - Proposed standard for podcast ID3 tags [5] http://en.wikipedia.org/wiki/List_of_news_aggregators.html [14] http://audacity.sourceforge.net [6] www.petefreitag.com/item/465.cfm Howto Create an RSS 2.0 Feed [15] www.easypodcast.com/ - a cross-platform GUI tool for easy [7] http://amarok.kde.org/content/view/58/66 podcast publication [8] www.perli.net/projekte/gpodder [16] www.podcastingnews.com/Podcasting_Software.html [9] http://ipodder.sourceforge.net/index.php [17] http://applications.linux.com/print.pl?sid=05/03/01/ [10] http://jpodder.com 155208 - Podcasting from Linux
CHIP| LINUX 4/2005 desktop ËÌÚÂÙÂÈÒ˚ ÔÓθÁÓ‚‡ÚÂÎfl ÓÍÓÌÌ˚È ÏẨʠIon 39
Евгений Зобнин àÓÌËÁ‡ˆËfl ÍÓÌÒÓÎË
Долгое время местом моего обитания была обычная Linux-консоль с запущенной программой GNU/Screen. Все бы было хорошо, не возникни потребность в графическом браузере, чтении книг в популярном ныне формате djvu и других графических приложениях. И приходилось метаться между консолью и «иксами», так как ни один из оконных менеджеров не позволял достичь той эффективности работы, какая предоставлялась той самой Screen. Так и не наступил бы покой, если бы на глаза мне не попался менеджер окон Ion.
| Почему Ion? | щая из себя, исчезает вовсе. Стоит заметить, что не все поль- Что же такое Ion и чем он так привлек мое внимание? Дело в зователи Ion предпочитают подобный стиль расположения том, что его разработчики отказались от привычной концеп- фреймов. Многие обычно используют всего один фрейм, за- ции оконного окружения, придуманной еще компанией нимающий всю рабочую площадь. Xerox и благополучно взятой на вооружение Apple, Microsoft Управление фреймами и табами происходит полностью с и 99% менеджеров окон. Вместо нее в Ion используется уже клавиатуры, поэтому немного освоившийся с сочетаниями известная, но не заслужившая должного внимания модель клавиш пользователь сможет решать многие задачи букваль- фреймов и табов (закладок). Фрейм в данном случае пред- но за доли секунды, не прибегая к помощи меню и иконок. ставляет собой область экрана (или весь экран), внутри кото- Плюс ко всему Ion позволяет изменить практически все пара- рой может быть запущено несколько приложений-клиентов. метры, разместить запуск часто используемых приложений Переключение между ними происходит при помощи табов на клавиатурные комбинации, обладает модульной архитек- (напоминающих по функциональности табы веб-браузеров). турой, поддерживает dockapp (из WindowMaker и AfterStep), Понятие окна в данном случае отсутствует вообще, но можно может быть расширен за счет простого скриптового языка сказать, что окно всегда занимает весь фрейм целиком. lua, использует скины и содержит в себе еще множество дру- Таким образом, рабочее пространство разбивается на не- гих возможностей. Просуммировав все вышесказанное, мы сколько неперекрывающихся областей, а проблема с перета- получаем идеальный рабочий стол для людей, ценящих свое скиванием и изменением размеров окон, зачастую выводя- время, а не красоту интуитивно понятного интерфейса.
4/2005 LINUX| CHIP 40 desktop ËÌÚÂÙÂÈÒ˚ ÔÓθÁÓ‚‡ÚÂÎfl
| Инсталляция | По умолчанию Ion запускается с одним-единственным На данный момент существуют две текущие версии про- фреймом, растянутым во весь экран. Его верхняя строка со- граммы: стабильная вторая и разрабатываемая третья. Меж- держит имена табов, за переключение между которыми от- ду собой они не совместимы, поэтому конфигурационные вечают комбинации «Alt+K N» (следующий таб), «Alt+K P» файлы от третьей версии не будут работать во второй, и на- (предыдущий таб) или «Alt+K X», где X — номер таба. Вни- оборот. Помимо этого новая версия содержит в себе множе- зу — строка состояния, которую отрисовывает модуль status- ство полезных функциональных дополнений и улучшений. bar (мы еще займемся его настройкой). Аналог кнопки «За- По своему опыту могу сказать, что она уже достаточно ста- крыть окно», присутствующей в заголовке окна обычного бильна и вполне подходит для повседневного использова- оконного менеджера, — комбинация «Alt+C». К функцио- ния. Поэтому дальнейшее повествование будет посвящено нальным клавишам («F1–F12») привязаны различные по- именно Ion 3. Взять его исходные коды можно с официаль- лезные действия, например: «F1» — просмотр man-страниц, ной страницы http://modeemi.cs.tut.fi/~tuomov/ion. Там же «F2» — запуск xterm, «F3» — запуск выбранного приложе- расположен архив с документаций, размер которого, что ния. По клавише «F12» доступно основное меню, из которо- показательно, больше самой программы. Установка весьма го можно запустить программы, выбрать стиль оформления тривиальна (./configure && make && make install), но требу- или выйти из X Window. ет наличия интерпретатора lua (www.lua.org). Для тех, кто не А как же хваленый принцип разделения рабочего простран- в курсе, lua — это простой объектно-ориентированный ин- ства на области? И правда, по умолчанию у нас на экране при- терпретируемый язык программирования, созданный спе- сутствует всего один фрейм, но достаточно нажать «Alt+S», эк- циально для встраивания в другие приложения. Помимо ран разделится по горизонтали на две области — и в нашем рас- Ion он используется в текстовом веб-браузере ELinks и дру- поряжении уже два фрейма; еще одно нажатие комбинации — и гих менее популярных приложениях. три. Переключение между ними — «Alt+P» (выше) и «Alt+N» (ниже). Вертикальное разбиение экрана — «Alt+K S», переклю- | Первое знакомство | чение — «Alt+Tab» (вправо), «Alt+K Tab» (влево). Постойте, но По окончании установки выходим из X Window, копируем симметричные фреймы — это же совсем неудобно. Для включе- файл ~/.xinitrc в укромное местечко и выполняем команду ния режима изменения размера фрейма нажимаем «Alt+R», а echo "exec ion3" > ~/.xinitrc. Эти действия направлены на то, затем — клавиши направления для увеличения размера или те чтобы научить команду startx загружать Ion вместо предыду- же самые, но в связке с «Shift» для уменьшения. Да, уничтожает щего оконного менеджера. фрейм комбинация «Alt+K X». Не забудьте сохранить сессию После весьма непродолжительного процесса загрузки Ion («F12 p Session p Save») перед выходом из X Window, чтобы при встретит нас приветственным сообщением и предложит прочи- следующем запуске Ion положение всех фреймов не изменилось. тать man-страницу. От чтения документации отказываться не Вполне естественно, что Ion поддерживает популярную советую, так как стандартная настройка горячих клавиш край- концепцию множества рабочих столов. Вот только эта тема не запутанна и не поддается интуитивному освоению (в следу- не так проста, потому что здесь предлагается на выбор аж че- ющем разделе мы это исправим). тыре вида рабочих столов: После ознакомления с документацией можно начинать 3 WIonWS — стандартный рабочий стол, исповедующий кон- работу. Для тех, кто не привык читать мануалы или не смог цепцию табов и фреймов. Именно он используется по умолча- разобраться с терминологией, освещу основные моменты. нию и определяет облик оконного менеджера.
íË ÙÂÈχ, ‚ ͇ʉÓÏ ÔÓ Ó‰ÌÓÏÛ ÍÎËÂÌÚÛ èÓÎÌӽ͇ÌÌ˚È ÙÂÈÏ Ò ÚÂÏfl ÍÎËÂÌÚ‡ÏË: mc, mutt Ë snownews
CHIP| LINUX 4/2005 ÓÍÓÌÌ˚È ÏẨʠIon 41
3 WPaneWS — еще один схожий подход к организации рабоче- В Интернете доступны скрипты, отображающие зарядку ба- го пространства. В этом случае экран разделен на несколько об- тарей ноутбука, состояние сетевого интерфейса, название ластей фиксированного размера. Каждая область предназначе- композиции, проигрываемой XMMS, и т. д. По умолчанию в на для запуска определенного типа приложений. Например, строке отображаются время, общая загруженность системы и dockapp будет автоматически помещен в область небольших количество писем в ящике. размеров, где ему и место, а веб-браузер — в основную. Причем Так как по своей сути статусная строка — это всего лишь размеры и количество областей, а также алгоритм размещения строка, она не может отрисовывать графики, индикаторы и приложений полностью настраиваемы. Рекомендую поэкспе- прочую графическую информацию. Эту проблему можно по- риментировать, очень занятно. бороть, используя так называемый dock. Он хорошо знаком 3 WFloatWS — специальный рабочий стол, как это ни парадок- пользователям WindowMaker, AfterStep и Fluxbox (правда в сально, со стандартным оконным интерфейсом, хотя и не ли- этом оконном менеджере он называется Slit). Dock представ- шенный табов и фреймов. Предназначен для запуска много- ляет собой небольшое окошко (обычно не имеющее рамок) и оконных приложений, таких как GIMP и ImageMagic, управ- позволяет разместить в своем пространстве несколько dock- ляться с которыми при помощи табов очень проблематично. app — приложений с размером окна примерно 64x64, которые 3 Рабочим столом может стать одна-единственная программа! как раз и занимаются отрисовкой различных графиков (за- Для этого используйте комбинацию клавиш «Alt+Enter». груженность процессора, количество памяти, объем дисково- Чтобы получить доступ к новому рабочему столу, следует его го пространства и т. д.). Знаменитый Gkrellm тоже может создать, нажав «F9», а затем указать имя и тип. Переключение стать dockapp, если в настройках поставить галочку напротив между столами — «Alt+X», где X — порядковый номер. Так как опции «Установить тип окна dock или panel». Модуль dock в потребность в создании рабочего стола WIonWS возникает ча- Ion размещает dock в определенном углу экрана так, чтобы он ще, чем других типов, в стандартной настройке комбинация перекрывал все фреймы, независимо от выбранного типа ра- «Alt+F9» привязана к функции создания рабочего стола по бочего стола. Чтобы dock не мешал работать в других прило- умолчанию. Уничтожается рабочий стол, как и все остальное в жениях, его можно спрятать, нажав «Alt+D». Ion, при помощи незамысловатой комбинации «Alt+C». Конечно же, клавиатура — не единственное средство управ- | Настройка | ления. Мышь вполне корректно и предсказуемо работает и Повсюду в Ion можно обнаружить следы языка lua, и даже все позволяет перемещаться между табами и вызывать различные настроечные файлы являются lua-скриптами и содержат мно- контекстные меню кликом правой клавиши. Причем мышь жество вызовов процедур, объявлений функций и коммента- полностью поддается процессу настройки. С другой стороны, риев. Обычному пользователю, привыкшему к графическим она все-таки остается дополнительным средством управления конфигураторам, такой способ настройки может показаться и полезна разве что на рабочем столе типа WFloatWS. безумно сложным и неоправданным. На самом деле lua — Как уже было сказано, в нижней части рабочего стола на- очень простой язык, позволяющий без особого труда добавить ходится строка статуса. Она очень похожа на аналогичную программе уникальной функциональности. строку консольного Screen и предназначена для отображения Для начала предлагаю скопировать рабочую конфигурацию различной динамически меняющейся информации. Теорети- из каталога /usr/local/etc/ion3 (каталог может быть иной, если чески модуль statusbar, отвечающий за отображение этой во время установки был указан другой префикс) в ~/.ion3. Глав- строки, можно запрограммировать на показ чего угодно. ный конфигурационный файл носит имя cfg_ion.lua и включа-
ꇷӘËÈ ÒÚÓÎ ‚ ÒÚËΠMatrix Gkrellm ÌÂÔÎÓıÓ ‚ÔËÒ˚‚‡ÂÚÒfl ‚ ‡·Ó˜Â ÔÓÒÚ‡ÌÒÚ‚Ó Ion
4/2005 LINUX| CHIP 42 desktop ËÌÚÂÙÂÈÒ˚ ÔÓθÁÓ‚‡ÚÂÎfl
臂ËÏ cfg_bindings.lua ‚ Vim åÂÌ˛ Ion
ет в себя основные установки, а также загрузку других полезных Начнем, как и было обещано, с настройки горячих кла- модулей и скриптов (функция dopath()). Каждый модуль вы- виш. Для этого предусмотрен скрипт cfg_bindings.lua. Боль- полняет определенный набор функций и, соответственно, име- шинство привязок клавиш задается именно в нем, хотя никто ет собственный конфигурационный файл. не запрещает делать это в любом другом скрипте, главное — загрузить его из cfg_ion.lua. Процесс конфигурации привязок Наработки сообщества осуществляется посредством вызова функции defbindings() (на самом деле это метод класса ioncore, но в этом и всех по- ÉÓÚÓ‚˚ ‡Ò¯ËÂÌËfl следующих случаях мы опустим ненужные подробности) с В мире Open Source уже дав- 3 enumerate.lua — пронуме- двумя аргументами: контекст и блок вызова функции kpress(). но и успешно работает не- ровывает табы, упрощая на- Предусмотрено четыре контекста. писаный закон: «Перед тем вигацию. 3 WScreen — комбинации работают везде. как начать что-то создавать 3 exec_show.lua — велико- 3 WMplex — комбинации работают во всех фреймах и рабочих самому, узнай, не создали лепный скрипт, позволяю- столах. ли это до тебя». К Ion он щий просматривать вывод 3 WFrame — комбинации работают во всех фреймах. То есть тоже применим: существу- shell-команд во всплываю- везде кроме «голого» рабочего стола типа WFloatWS и рабочего ет репозиторий скриптов- щем окне Ion. стола в виде одного приложения. расширений, в который 3 rss_feed.lua — встраивает 3 WMoveresMode — комбинации доступны в режиме измене- следует заглядывать, перед в Ion настоящий просмотр- тем как писать скрипты са- щик RSS-новостей. ния размера и перемещения. мостоятельно. Вот список 3 schedule.lua — позволяет Типичный вызов defbindings() выглядит примерно так: самых, на мой взгляд, ин- запрограммировать вывод defbindings("WScreen", { тересных представителей произвольного сообщения в kpress(MOD1.."F9", "ioncore.create_ws(_)"), этого репозитория: определенное время; эдакий }) 3 cfg_dock.lua — конфигу- будильник. Подобная запись означает, что нужно привязать комби- рационный файл для dock 3 emacs-bindings.lua — кла- нацию «Alt+F9» к функции создания нового рабочего стола. с расширенными возмож- виатурные комбинации в MOD1 содержит строку «Alt+», а оператор «..» складывает ностями управления. Те- стиле редактора Emacs. две строки (в данном случае — «Alt+» и «F9»). Не пугайтесь, перь dock можно перемес- 3 statusd_netmon.lua — мо- тить в любую часть экрана нитор сетевой активности если ничего не поняли, скрипт cfg_bindings.lua уже содержит при помощи клавиатурных для строки состояния. все необходимые для вызова функции, остается только из- комбинаций. 3 statusd_laptopstatus.lua — менить стандартные комбинации на свои собственные. 3 ctrl_statusbar.lua — кон- показывает температуру, Хорошей идеей будет изменить комбинации «Alt+X» (пере- фигуратор для строки состо- зарядку батарей и скорость ключение между столами) на «Alt+FX», предварительно яния. Представляет собой процессора в строке состоя- закомментировав (в lua комментарий — «--») все строки, меню, вызываемое правым ния. Работает с ACPI. привязывающие «Alt+FX» к другим функциям. Освободив- кликом мыши. 3 statusd_xmms.lua и sta- шиеся «Alt+X» можно запрограммировать на переключение 3 document_menus.lua — tusd_mpd.lua — показывает между табами, что гораздо удобнее, чем «Alt+K X». Также перемещение по файловой название композиции, проиг- системе с использованием рываемой в данный момент можно прописать следующие строки: иерархии меню. плеером XMMS или mpd. -- Execute a command submap(MOD1.."E", {
CHIP| LINUX 4/2005 ÓÍÓÌÌ˚È ÏẨʠIon 43
defmenu("appmenu", { menuentry("xterm", "ioncore.exec_on(_, 'xterm')"), }) Здесь мы при помощи функции defmenu() создаем основ- ное меню (оно всегда носит имя mainmenu) и добавляем в не- го подменю appmenu с именем programs. Далее по описанной выше схеме создается подменю appmenu, которое будет со- держать пункт xterm, запускающий одноименную программу. Вот и все, за подсказками обращайтесь к содержимому ори- гинального скрипта. Статусная строка конфигурируется в файле cfg_statusbar.lua, и только в нем. Содержимое строки задается в переменной tem- plate в виде текста и специальных слов. Рассмотрим пример: template="[ %date || load: %load || mail: %mail_new/%mail_total ]" í‡Í ‚˚„Îfl‰ËÚ scratchpad ‚ Ion 3 Специальные слова %date, %load, %mail_new и %mail_total при выводе будут заменены на показания соответствующего kpress("T", "ioncore.exec_on(_, 'xterm')"), счетчика, все остальное пойдет на экран в неизменном виде. kpress("M", "ioncore.exec_on(_, ':mc')"), Все четыре перечисленных счетчика являются встроенными. kpress("E", "ioncore.exec_on(_, ':elinks')"), Чтобы создать свой счетчик, нужно написать специальный }) скрипт с именем «statusd_имя.lua», поместить в каталог ~/.ion3 Теперь по комбинации «Alt+E T» будет запускаться и вставить его название в переменную template (не забыв ука- xterm, по «Alt+E M» — mc и т. д., можете добавить строки зать знак %). Написание такого скрипта я рассматривать не бу- для запуска нужных вам программ. Кстати, знак «:» перед ду, так как это требует описания синтаксиса lua. командой указывает на то, что ее следует запускать в новом Ну и напоследок внесем несколько косметических измене- терминале. Как видите, функция submap позволяет созда- ний. Заглянем в файл cfg_dock.lua и изменим позицию dock. вать многоуровневые комбинации, благодаря чему мы по- Для этого запишем в переменную pos одно из четырех значе- лучаем огромное разнообразие оных. Например, клавиа- ний: tl (верхний левый угол), tr (верхний правый угол), турные комбинации можно использовать для управления bl (нижний левый угол) и br (нижний правый угол). Также по- аудиоплеером, запуска сетевых функций (подключение, от- лезно изменить направление роста (с какой стороны будет ключение, SSH и т. д.), выдвижения лотка CD-ROM, мон- добавляться новый dockapp), присвоив переменной grow тирования файловых систем и многого другого. значение left, right, up или down. В Ion 3 есть интересный мо- Теперь создадим свое меню (то, которое вызывается по дуль scratchpad, отключенный по умолчанию. Scratchpad — «F12»). Для этого опять же предусмотрен особый скрипт это не зависимый от рабочих столов фрейм размером cfg_menus.lua, в него мы и впишем нужные нам строки. 640x480, появляющийся в центре экрана после нажатия ком- Чтобы понять, как выглядит меню в исходном (на языке бинации клавиш «Alt+Пробел». Его удобно использовать lua) виде, рассмотрим следующий пример: для запуска аудиоплеера, словаря и других приложений, кото- defmenu("mainmenu", { рые не должны присутствовать на экране постоянно. Что- submenu("programs", "appmenu"), бы активировать этот модуль, раскомментируйте строку }) dopath("mod_sp") в скрипте cfg_ion.lua. |
Дополнительная информация ꇷÓÚ‡ Ò ‰Ë‡ÎÓ„Ó‚˚ÏË Ë Û‚Â‰ÓÏÎfl˛˘ËÏË ÓÍ̇ÏË Может быть, у кого-то из чи- блемой программисты спра- тателей возник вопрос: как вились, придумав интерес- í‡Í ‚˚„·‰ËÚ ÍÓÌÙË- Ion поступает с диалоговыми ное решение. По опреде- „Û‡ÚÓ ·‡ÛÁ‡ и уведомляющими окошка- ленным признакам Ion рас- Opera ‚ Ion ми? Ведь если такие окна познает окна такого типа, будут открываться в новом уменьшает их размеры до табе, то идея «каждой про- одной трети экрана и отрисо- грамме по табу» пойдет коту вывает прямо поверх сущест- под хвост, а работать в таком вующей картинки. Таким об- оконном менеджере станет разом, диалоговое окно как невыносимо. Но и с этой про- бы вливается в основное.
4/2005 LINUX| CHIP 44 desktop ‡Á‚ΘÂÌËfl
Петр Семилетов íÇ-ÔËÒÚ‡‚͇ ̇ ÏÓÌËÚÓ Этот обзор посвящен эмуляторам устаревших игровых консолей, классическим культовым ТВ-приставкам NES, SEGA Genesis/Mega Drive и Super Nintendo. Впрочем, называть их раритетами нельзя — они до сих пор присутствуют на отечественном рынке и пользуются спросом, будучи дешевле современных и невероятно мощных PlayStation 2 и Xbox, не конкурируя с чем-либо, а просто заполняя нишу недорогих игровых консолей.
Но вот беда — картриджи с играми к таким приставкам стоят В этом обзоре основное внимание уделено тем из них, которые довольно дорого. Да и не купишь все, не найдешь. Но если пой- я использую сам, потому что считаю их лучшими по следую- ти в Сеть и поискать, то можно найти так называемые ROM — щим параметрам: простота установки, поддержка максималь- файлы с образами, снятыми с картриджей. То есть сами игры ного количества игр и возможность играть с помощью геймпа- либо их сборники. Разумеется, чтобы запустить ROM и играть в да или джойстика. Ну и, конечно же, немаловажное значение игры, нужен эмулятор соответствующей приставки. Сразу от- играет наличие дополнительных функций, таких как сохране- мечу, что существуют законные и незаконные ROM, а также со- ние/загрузка в несколько слотов и скорость рендеринга. Об ос- зданные энтузиастами. Кроме того, есть ROM коммерческих тальных эмуляторах я тоже расскажу, однако мимоходом, под- игр, в том числе и очень старые, которые компании-издатели черкнув лишь их слабые и сильные стороны. до сих пор не отдали народу задаром. Недавно появилось поня- тие «vaporware», когда старые игры списывают, переводят в ста- | NES | тус бесплатных, свободно распространяемых. Начнем с эмуляторов консоли NES. Некоторые читатели, воз- Обычно сайты с ROM коммерческих игр держатся на плаву можно, недоумевают — что это за NES такая? Сокращение NES от силы несколько недель. В России, впрочем, есть и рекордс- расшифровывается как Nintendo Entertainment System. У нас она мены. Я не буду рассказывать, где можно взять образы. Ищу- известна благодаря клону — Dendy. Возможно, подобные устрой- щий да обрящет. Ведь эмулятор — это как компьютер. На нем ства до сих пор пылятся у многих на антресолях. Кроме Dendy на можно запускать пиратский софт и легальный. С помощью рынке были и остаются китайские клоны NES вроде Zhilitong. программ для создания ROM вы можете создать копии соб- В народе NES называют «Денди» либо просто «восьмибиткой». ственных игр (при наличии необходимого для этого железа), Самый популярный эмулятор NES для Linux — это, конечно переведя их с картриджей в ROM, и играть уже на эмуляторе. же, TuxNES (http://tuxnes.sourceforge.net). Последняя его версия Существуют ROM с разными графическими и звуковыми демо- вышла в 2001 году. Впрочем, это не должно огорчать: бытует мне- версиями, а также прикладные программы для консоли NES. ние, что эмуляторы, как хорошее вино, — чем старее, тем лучше. Тут уже все совершенно легально. Подробную информацию На первый взгляд TuxNES не впечатляет. Маленькое можно получить, например, на сайте http://nesdev.parodius.com. окошко, геймпада не видно, разве что ресурсы процессора Эмуляторов в Linux достаточно много. Нас интересуют эму- поедаются довольно умеренно. Но оказывается, у эмулятора ляторы приставок NES, SEGA Genesis и Super Nintendo (SNES). очень много параметров, передаваемых через командную
CHIP| LINUX 4/2005 Ó·ÁÓ ˝ÏÛÎflÚÓÓ‚ ÍÓÌÒÓÎÂÈ 45
строку. Не так много, как в MPlayer, но все-таки достаточно. Если у вас нет джойстика или его поддержка не критична, Например, не видит TuxNES джойпада. А мы зададим ему оп- то Fceu полностью удовлетворит ваши потребности в эмуля- цию --js1=/dev/js, и все заработает. ции NES. А как насчет SEGA? Игровое окно маленькое? Его можно увеличить командой: tuxnes -E <имя файла с игрой>. Можно выбрать и рендерер по | SEGA | вкусу, запустив эмулятор следующим образом: Под именем SEGA у нас подразумевают обычно 16-битное дети- tuxnes -r=<значение> ще корпорации SEGA, которое называлось Mega Drive (в Япо- Здесь значение может быть одним из следующих: x11, diff нии и Европе) и Genesis (в США). К концу девяностых годов или old (старый рендерер). прошлого столетия на игровом рынке более чем 90% принадле- TuxNES умеет делать скриншоты (клавиши «S», «F7», жало NES. Восьмибитная приставка от SEGA — Master System, — «PrintScreen»). Цифровые клавиши от 0 до 8 управляют скоро- будучи технически более развитой, чем NES, не смогла победить стью эмуляции, а не, как это иногда бывает, слотами сохране- конкурента. Превзойти NES можно было лишь благодаря техни- ния? Увы. В TuxNES сохранения нет. ческому прорыву. Отмечу, что годом ранее в продаже уже появи- По поводу совместимости с играми замечу, что удивительная лась 16-битная приставка компании NEC — PC Engine, но тем- Battle Toads работает. А раз нормально можно играть в такую пы ее продаж были довольно низкими. И вот выходит SEGA продвинутую игру, то остальные тоже наверняка будут работать. Mega Drive. Тогда она стоила $200. Мало кто знает, что в нее Даже King's Quest V. Не пойдут только самые передовые игры, встроен эмулятор Master System, а некоторые картриджи к Mega вышедшие в середине 90-х годов вроде Aladdin, или «перефор- Drive — на самом деле игры Master System, адаптированные под матированные» (Lion King, портированная с 16 бит). И придет- новый разъем картриджа. Центральный процессор в Mega Drive — ся обратить взор на другой эмулятор. Им будет, вероятно, Fceu 16-битный Motorola 68000 (около 8 МГц, частота варьируется в (www.icewalkers.com/Linux/Software/58270/FCE-Ultra.html). зависимости от версии консоли для PAL или NTSC), а для обра- Легендарный Fceu... Если бы не его нелюбовь к геймпаду ботки звука использовался старый добрый восьмибитный Zilog (хотя, по идее, он должен работать), я бы все время использо- Z80, работавший на частоте около 4 МГц. Этот же Z80 рабо- вал для эмуляции NES именно его. Чем же именно он так хо- тал как основной процессор в режиме эмуляции Master System. рош? А рендеринг через OpenGL не хотите ли? А поддержку Хотя какая тут эмуляция — скорее это натуральный режим рабо- всех игр, какие только можно себе представить? Все это есть. ты. В конце девяностых и начале нынешнего века Mega Drive Полноэкранный режим? Да, в отличие от TuxNES. Сохране- прочно делила отечественный рынок с NES. SNES (Super ние, загрузка состояния игры — к вашим услугам. Nintendo), о которой еще пойдет речь ниже, не снискала в
4/2005 LINUX| CHIP 46 desktop ‡Á‚ΘÂÌËfl
России такой народной любви (одна из причин — пираты созда- блокирована. Насколько я помню, в Windows-версии анало- вали в основном клоны NES и Mega Drive). гичный пункт меню работает. Для эмуляции Mega Drive первым делом советую попробо- В эмуляторе очень хорошо реализована система сохране- вать Gens. На официальном сайте программы (www.gens.ws) ния — по десять слотов сохранения/загрузки на каждую игру. вы не обнаружите версию для Linux. Исходник многоплат- За всеми этими действиями закреплены горячие клавиши. форменной версии можно отыскать на http://sourceforge.net/ Более того, формат сохранения совместим с такими эмулято- projects/gens. В нем содержится версия Gens 2.12-rc3. Справед- рами Mega Drive как DGen и Genecyst. ливости ради отмечу, что стоит поискать исходник этой версии Одной из изюминок Gens является возможность настраи- отдельно, поскольку скомпилировать его будет проще, нежели вать клавиши управления — делается это в окне «Controller аналогичную версию из «многоплатформенного» дистрибутива. Setting», которое вызывается через пункт меню «Option p В последнем случае могут возникнуть проблемы с версией Joypads». Кроме обычной клавиатуры поддерживается и гейм- Autotools (это программы-скрипты automake, autoconf и другие). пад. В меню «Option» находятся еще две полезные функции И собрать исходник можно будет только заменив используемые «Load config» и «Save config As» — для загрузки и сохранения в нем файлы вроде depcomp, config, config.sub и им подобные на альтернативных файлов конфигурации, разные варианты кото- эти же файлы из вашего дистрибутива Linux (достаточно сделать рых зачастую бывает удобно хранить для различных игр. В фай- на них ссылки). Возиться с этим захочет не каждый, однако я со- ле конфигурации сохраняются и настройки клавиш/геймпада. брал свою версию именно так. При наличии навыков это займет Прочие замечания. В плане совместимости с играми — я лишь три минуты на установку. не встречал еще такие ROM, которые бы не запускались в Gens считается одним из лучших эмуляторов Mega Drive Gens. В играх «с батарейками» работают обыкновенные, пре- под Windows. Справедливо это мнение и применительно к дусмотренные в таких играх, сохранение и загрузка. версии для Linux. Графический движок Gens завязан на биб- Gens имеет обыкновение потреблять в полноэкранном ре- лиотеке SDL, а интерфейс создан на основе GTK+ 2.4 (или жиме почти все ресурсы процессора, какой бы он ни был ча- выше). При запуске на рабочем столе отдельно отображается стоты. При установленной Karamba/SuperKaramba играть окно с игрой и отдельно — узкое GTK-окошко с полоской в Gens практически невозможно — прерывается звук. Из-за меню. Эмулятор может работать и в полноэкранном режиме этого я удалил со своего компьютера SuperKaramba. (переключается комбинацией клавиш «Alt+Enter»). Мог ли я заменить Gens на какой-нибудь другой эмулятор? Графика в эмуляторе на высшем уровне. Есть окно подстрой- Давайте посмотрим. ки яркости и контраста. Там же можно включить режим, при ко- тором игры работают в режиме градаций серого цвета — вероят- но, для любителей вспомнить молодость, когда не все телевизоры поддерживали видеостандарт PAL и приходилось играть на цвет- ном телевизоре в черно-белые игры. Присутствует функция вер- тикальной синхронизации, а также некая «Stretch» (растяги- вание). Как действует последняя, осталось для меня тайной. Можно выбрать один из целой дюжины рендеров, что, впрочем, повлияет только на оконный режим. В полноэкранном использу- ется только один рендерер — Double. С помощью комбинации клавиш «Shift+Backspace» создается скриншот текущего кадра. Gens прекрасно эмулирует и звук, и музыку. Кстати, для музы- ки эмуляторам Mega Drive приходится эмулировать два чипсета — YM2612 от Yamaha и SN76489 от Texas Instruments. Последний используется в озвучке игр к Master System. В меню «Sound» я нашел пункт «Start WAV dump» — для вывода звука во внешний WAV-файл, однако эта опция за-
CHIP| LINUX 4/2005 Ó·ÁÓ ˝ÏÛÎflÚÓÓ‚ ÍÓÌÒÓÎÂÈ 47
Есть такая программа DGen (www.pknet.com/~joe/dgen- ченный файл воспроизводился на большинстве плееров, надо sdl.html). Разработка ее остановлена. Графического интер- зайти в меню «Emulation p Options» и на вкладке «Logging» в фейса нет. Запускается из командной строки. Настраивается секции «AVI output settings» в списке форматов выбрать значе- через нее же, а еще посредством файла конфигурации. В ру- ние «RGB» (с MJPEG-сжатием наблюдаются проблемы). ководстве к нему очень смутно описано, как настраивать Всем этот эмулятор хорош, да нет у него в SDL-версии пол- геймпад. А без ручной настройки работают только крестови- ноэкранного режима. Последнее обновление Generator было на и основные клавиши, но не кнопка «Start». Вместо нее проведено в мае 2003 года. В то же время Gens является са- приходится нажимать «Enter». мым свежим работающим эмулятором Mega Drive для DGen оснащен механизмом сохранения/загрузки (клавиши Linux — его последний релиз вышел зимой 2005 года. «F2» и «F3») опять-таки в слоты, а также возможностью запи- си и воспроизведения демороликов в свой формат. | Super Nintendo | Звук в DGen, на мой взгляд, более качественный, чем в SNES — Super Nintendo Entertainment System. Вживую я никог- Gens, потому что 16-битный. А еще DGen поддерживает рен- да не играл на SNES. Этот 16-битный конкурент SEGA Mega деринг через OpenGL. Drive превосходил последнюю по техническим характеристи- Теперь о недостатках DGen. На моей машине (Athlon XP кам, однако обогнал ее в популярности только на островах 2600) DGen независимо от режима рендеринга потреблял Японии. Остальной мир предпочел Mega Drive. около 99% ресурсов процессора. Лично меня в DGen не уст- Лучший эмулятор SNES всех времен и народов, а также всех раивает разве что сложность в настройке управления. платформ — ZSNES (www.zsnes.com). Программа активно разра- И последний в обзоре эмулятор Mega Drive — Generator батывается, причем и Linux-порт никто не пускает на самотек. (www.squish.net/generator/). Я скачал версию Generator 0.35.gtk. Графический интерфейс в ZSNES реализован на оригиналь- Для пользовательского интерфейса в ней применен старый ном движке и работает внутри окна, в котором запущен эмуля- GTK+ версии 1, а для графики — вездесущая SDL. Кроме то- тор. Доступен этот интерфейс и в полноэкранном режиме. го, Generator можно компилировать под SVGAlib и Allegro. В ZSNES можно выбрать один из нескольких рендереров, Приятный эмулятор — правильно срабатывает кнопка «Start» что позволяет использовать эмулятор как на относительно ма- на моем геймпаде, ресурсы процессора потребляются умеренно. ломощных компьютерах, так и на «навороченных» машинах. Работает даже функция записи видео и звука в AVI! Чтобы полу- Каждому по потребностям. Можно настроить видеорежим, причем кроме обычных доступны также и OpenGL-варианты — Любопытные факты оконные и полноэкранные. Богат ZSNES и звуковыми наст- ройками — в меню можно найти разные виды интерполяции, àÁ ËÒÚÓËË NES фильтры и включение режима «Surround». На японском рынке NES по- SEGA Genesis/Mega Drive, Поддерживаются сохранение и загрузка состояния игры. явилась в 1983 году под на- ставшей королевой консо- В процессе работы эмулятор загружает процессор примерно на званием Famicom (Nintendo лей к началу 90-х годов. 99%, снижая нагрузку только в режиме паузы. ZSNES довольно Family Computer). Два года Между тем японское подраз- стабилен — только однажды он у меня «вылетел», на самом от- спустя компания Nintendo деление Nintendo продол- ветственном моменте в Donkey Kong. Хотя, возможно, дело бы- выпустила американскую жало выпускать NES вплоть ло в проблемах с OpenGL на моем компьютере. версию консоли, уже под до 2003 года, а производст- именем NES. В течение почти во было свернуто по причи- десятилетия она была лиде- не нехватки нужных элек- | Вступая в игру | Как видим, в Linux можно подобрать эмулятор практически ром продаж среди игровых тронных компонентов. Впро- консолей, и лишь в 1988 го- чем, это не мешает другим для любой консоли — хотя для Windows эмуляторов все-таки ду эре NES был положен ко- компаниям выпускать клоны больше. Но играть есть на чем и, главное, во что. А некоммер- нец с приходом 16-битной NES по сей день. ческие ROM для всех игровых консолей можно найти на сай- те www.pdroms.de/index.php. |
4/2005 LINUX| CHIP 48 desktop ÔÓÎÂÁÌ˚Â ‰ÓÔÓÎÌÂÌËfl
Алексей Русаков è‡ÌÂθ Ë Â ӷËÚ‡ÚÂÎË В этой статье вы узнаете о нескольких представителях сословия аплетов. Это скромные по размеру программы с узкой функциональностью, место обитания которых — панель оконного менеджера.
Многие дистрибутивы Linux вносят лишь незначительные изме- | Кручу-верчу... | нения в исходное расположение панелей GNOME. Стандартная Горизонтальное пространство на современном (с разрешением для GNOME конфигурация — пара панелей, которая появляется 1024х768 и более) экране дешевле, чем вертикальное. Другими при первом запуске GNOME. Сверху — меню и несколько кно- словами, добавить хотя бы строчку к экрану хочется чаще и силь- пок запуска приложений, снизу — панель задач и переключатель нее, нежели вертикальную полоску. Согласитесь, читать длинные рабочих столов, а где-нибудь — часы, индикатор раскладок, об- строки не так уж удобно, зато от дополнительной строчки на эк- ласть уведомлений. Многие любители «приборных панелей» с ране хуже явно не станет. В этом разделе я расскажу о том, какие кучей индикаторов сразу устанавливают Gkrellm как стандарт де- элементы можно разместить на вертикальной панели и что с ней факто для GTK-монитора ресурсов и прочего. Между тем панель можно сделать для общей пользы. GNOME можно расположить как горизонтально, так и верти- Начнем со строки меню. Если вы наберетесь смелости и пере- кально, и есть полезные аплеты, позволяющие ей составить кон- тащите ее на вертикальную панель, то обнаружите, что строка ме- куренцию Gkrellm, если у него не слишком сложная конфигура- ню разворачивается вертикально. В GNOME 2.12.1 тот же фокус ция (конечно, возможности этого монитора оставляют далеко можно проделать и с часами. Правда, на одной и той же верти- позади аплеты GNOME, однако не всем это изобилие нужно). кальной панели часы и строка меню будут направлены строго в противоположные стороны. Хочется верить, что в следующих ç‡ ‚ÂÚË͇θÌÓÈ Ô‡ÌÂÎË версиях это будет исправлено. Так или иначе, мы видим, что есть Ò‚ÂıÛ ‚ÌËÁ: mini-commander, возможность освободить место, занимаемое верхней панелью, bookmarks, ÒÔËÒÓÍ ÓÍÓÌ. перенеся все ее содержимое на боковую панель. á‰ÂÒ¸ Ê ‚ˉÌ˚ ¢ ‰‚ Вместо верхней панели можно попробовать перенести вбок ‚ÂÚË͇θÌ˚ ԇÌÂÎË: нижнюю. Здесь нас больше всего интересует аплет списка окон. ̇ ΂ÓÈ — ‡ÔÎÂÚ charpick Направление текста в этом аплете на вертикальной панели ос- (͇ÒÒ‡ ÒËÏ‚ÓÎÓ‚), тается горизонтальным. Но если сделать панель шире (макси- ̇ Ô‡‚ÓÈ — teatime (˜‡ÈÌ˚È мально допустимая ширина панели — 120 точек, для наших целей Ú‡ÈÏÂ) хватит и 100), этого будет достаточно, чтобы идентифицировать окна. В результате мы получаем большие кнопки окон (больше, чем мы могли позволить себе, когда панель была внизу), по ко- торым гораздо проще попасть. Очевидно, это не бесплатно, все- таки мы отрезали довольно широкую вертикальную полосу от ра- бочего стола. В данном случае интересна идея, а дальше каждый пусть выберет то, что ему удобнее. А теперь — краткий рассказ о нескольких полезных аплетах для панели GNOME.
CHIP| LINUX 4/2005 ‡ÔÎÂÚ˚ ‰Îfl GNOME 49
ëÔËÒÓÍ ÒÓÚÓ‚ ˜‡fl, ‰Îfl Í‡Ê‰Ó„Ó — Ò‚Ó ‚ÂÏfl Á‡‚‡Ë‚‡ÌËfl åÓÈ ÒÔËÒÓÍ ÔÓ‰ÒÚ‡ÌÓ‚ÓÍ ‚ mini-commander
| Таймеры | Самое приятное состоит в том, что такие магические строчки В KDE с давних пор имеется программа KTea, помогающая за- можно создавать самостоятельно. Правда, для этого понадо- варивать чай. Программа простая: лежит себе значок в области бятся знания, которым в средних школах пока не учат. В пара- уведомления (известной в народе как системный трей) и по кли- метрах аплета есть отдельная вкладка под названием «Макрос» ку мыши начинает отмерять время, необходимое для завари- (макрос там на самом деле не один — это огрех перевода) со вания чая. Для GNOME 2 подобные программы появились списком выполняющихся подстановок. Так вот, в первой ко- сравнительно недавно. На сегодняшний день для заваривания лонке находится не просто строка, а регулярное выражение. чая (и вообще для замера промежутков времени) можно вос- Благодаря регулярным выражениям подстановки в mini-com- пользоваться одним из двух аплетов — teatime и timer. mander обладают потрясающей гибкостью и мощью, но, как и в Аплет teatime, как следует из названия, является прямым кон- случае с любым солидным инструментом, требуют умелого об- курентом KTea. На панели он выглядит как чашка или кружка, из ращения. Если вы еще не знаете регулярных выражений, по- контекстного меню можно выбрать нужный сорт чая, после чего тратьте пару часов на освоение хотя бы азов. Вы никогда не по- таймер будет автоматически запускаться. Последний выбранный жалеете об этом. Очень рекомендую прочитать хотя бы первую чай можно заварить еще раз кликом левой кнопки мыши по ап- главу книги Фридла «Регулярные выражения». лету. Когда время заваривания истечет, на экране появится чашка с надписью «Ваш чай готов». Все просто и понятно. | bookmarks | Второй аплет называется timer и тоже полностью соответ- Это очень простой и удобный аплет, который предоставляет до- ствует своему названию, претендуя на некоторую универсаль- ступ к закладкам основного браузера прямо из панели GNOME. ность по сравнению с teatime. Оформлен он более строго и по- Поддерживаются Galeon, Epiphany, Mozilla и Firefox. Ничего осо- казывает оставшееся время не в виде графики, а цифрами, что бенного, просто меню закладок. Вызывать редактор закладок по- бывает очень полезно. К сожалению, окно с предупреждени- ка нельзя, пользоваться «умными» закладками вы тоже не сможе- ем об истечении времени отображается только на том рабочем те. Но основную свою функцию этот аплет выполняет исправно. столе, который был текущим на момент окончания; об этом В Интернете он находится по адресу: http://browserbookapp. окошке легко забыть, если в это время вы переключились на sourceforge.net; там же можно посмотреть на еще один очень ин- другой рабочий стол. тересный аплет, который, возможно, будет включен в GNOME В Глобальной сети аплет teatime можно найти по адресу 2.14, — deskbar, строка поиска, вынесенная на панель GNOME. http://teatime.sourceforge.net; аплет timer располагается на сайте http://timerapplet.sourceforge.net. | hardware-monitor | Другое название этого же аплета — «Сенсоры». Аплет Sensors | mini-commander | в природе тоже есть, но не имеет ничего общего с hardware- Хотя этот аплет входит в стандартный набор аплетов GNOME, monitor. Последний гораздо более функционален. я бы хотел на нем остановиться подробнее, его возможности C его помощью вы можете следить за данными сенсоров заслуживают внимания. (как температуры, так и скорости вентиляторов), загрузкой Диапазон средств для выполнения команд, набранных от ру- процессора, использованием диска и памяти, сетевыми ин- ки, простирается от спартанского диалогового окна «Запустить терфейсами. Все это можно отображать как в виде текста, так программу» до «навороченной» оболочки вроде zsh, работающей и графиков, причем их стиль может быть разным, и на одном в терминальном окне. Аплет mini-commander находится где-то графике можно показывать несколько параметров, сливая посередине. На первый взгляд он мало чем отличается от диало- цвета (поддерживается прозрачность). Дополнительным до- га «Запустить программу», который вписан в панель. Но если, стоинством hardware-monitor является то, что, сколько бы например, набрать в строке аплета что-нибудь начинающееся аплетов вы ни положили на панель, обслуживать их будет с «http://», запустится браузер с адресом, который вы набрали. всего один процесс, а он потребляет крайне мало процессор- А если набрать «g:», а следом... угадали — все, что после двоето- ного времени, как и полагается монитору. Страница аплета: чия, будет использовано для поиска в Google. www.cs.aau.dk/~olau/hardware-monitor. |
4/2005 LINUX| CHIP 50 CD cÓ‰ÂʇÌË Chip Special Linux CD ëÓ‰ÂʇÌË ЗИМА/2005
OpenOffice.org 2.0 На сегодняшний день для Linux сущест- 3 Base — программа для управления 2.0, полностью русифицированный вует только один офисный пакет, спо- базами данных, аналог MS Access. специалистами фирмы «ИнфраРесурс» собный составить конкуренцию продукту OpenOffice.org полностью поддержи- при участии компании ALT Linux. Microsoft Qffice. Этим пакетом является вает форматы документов MS Office http://openoffice.org OpenOffice.org от компании Sun Micro- (DOC, XLS и т. д.). systems. Распространяется он бесплатно В версии 2.0 по- по лицензии LGPL. В состав этого явилась поддержка продукта входят следующие программы: формата OASIS 3 Writer — инструмент для создания и Open Document, редактирования текстовых документов, принятого в каче- аналог MS World; стве стандарта эле- 3 Calc — программа для работы с элек- ктронных докумен- тронными таблицами, аналог MS Excel; тов уже во многих 3 Impress — утилита для создания пре- странах мира. На зентаций, аналог MS PowerPoint; диске, прилагаю- 3 Math — неплохое средство для по- щемся к этому строения всевозможных формул; номеру журнала, 3 Draw — простой инструмент для вы найдете дистри- рисования примитивной графики; бутив OpenOffice WINE 0.9.1 Beta
WINE (WINE Is Not an Emulator — ными вниманием. Под WINE «WINE не является эмулято- можно запустить такие популяр- ром») — это проект по созданию ные игры как Diablo 2 и World альтернативной реализации of Warcraft. Входящий в пакет Win32 API для Unix-систем. набор утилит WineTools помо- WINE позволяет запускать и с жет легко настроить программу. комфортом работать во многих Совсем недавно, после 12 лет раз- Windows-приложениях, включая работки, проект получил статус MS Office, Adobe Photoshop, beta. Чем не повод включить Dreamweaver MX и IE 6. Любите- WINE в состав нашего диска? ли игр тоже не остались обделен- http://winehq.com
CHIP| LINUX 4/2005 cÓ‰ÂʇÌË Chip Special Linux CD 51
Liferea 1.0 rc3 Downloader for X 2.5.6 Freeciv 2.0.7
Каждый день мы просматриваем десятки Эту пошаговую стратегическую игру сайтов, чтобы прочитать свежие новости. можно смело назвать копией знамени- Обычно это занимает довольно много той Colonization от Microprose. Пусть у времени, и не всегда мы находим нечто Freeciv не столь выдающаяся графика, интересное для себя. С появлением но- зато качество игрового процесса на вы- востных лент этот процесс стал гораздо соте. Вам отводится роль правителя од- проще и удобнее, а как следствие — и ной из ста цивилизаций. Цель — полу- быстрее. Liferea — программа для чтения чить господство над миром. В вашем новостных лент. Она совместима практи- подчинении будут находиться около чески со всеми существующими на сего- 50 разновидностей войск — от обычной дняшний день стандартами трансляции, Менеджеров загрузок для Linux сущест- пехоты до ракет с ядерными боеголовка- поддерживает фильтрацию, поиск, сжа- вует не так много, в основном это графи- ми. Играть можно либо по Сети на офи- тие лент и подкастинг. Радует и то, что ческие реализации консольных fetch, wget циальным сервере pubserver.freeciv.org, Liferea умеет прятаться в системный трей и curl. Среди них внимания, безусловно, либо создать свой собственный. и напоминает о появлении свежих ново- заслуживает программа Максима Коше- www.freeciv.org стей с помощью всплывающего окошка. лева — Downloader for X. Этот менеджер http://liferea.sourceforge.net поддерживает докачку данных, закачку по расписанию, лимитирование скорости и очереди файлов, а также их многопо- точную загрузку. Присутствует поиск по крупным российским и международ- ным FTP-серверам. Но все же программа имеет недостаток — неумение сворачи- ваться в системный трей. Надеемся, в следующих версиях этот недочет обяза- тельно будет устранен. www.krasu.ru/soft/chuchelo Beep Media Player 0.9.7 Qalculate! 0.9.0
Все знают музыкальный проигрыватель Программа, необходимая любому сту- XMMS. Отличная программа, но есть в денту, уважающему себя и свое время. ней и недостатки: неудобные настройки, Qalculate! — это мощный калькулятор, проблемы с русификацией, к тому же ин- который поддерживает GNOME и KDE, терфейс написан на GTK первой версии. имеет богатый набор различных функ- Сообщество Open Source ответило на ций из алгебры, тригонометрии, логики, это появлением программы Beep Media статистики, теории чисел. Поддержива- Player. BMP — это тот же XMMS, но на- ются операции с векторами, логариф- писанный с нуля и уже с использованием мирование. Рассчитываются скорость, GTK2, что решило многие проблемы — площадь, энергия и т. д. Калькулятор в частности, с русификацией. Более удоб- ведет историю вычислений, строит гра- ными стали и настройки. Beep Media фики функций; к вашим услугам даже Player полностью совместим со скинами периодическая таблица химических эле- и плагинами для XMMS, а также со ски- ментов Менделеева. Кроме того, в состав нами и настройками эквалайзера плеера Qalculate! входит конвертер валют с воз- Winamp. Программа воспроизводит все можностью об- популярные на сегодняшний день фор- новления курса маты (MP3, WAV, OGG) — естественно, по Интернету, при наличии соответствующих плаги- а также конвер- нов — и имеет эквалайзер с возможно- тер величин стью как ручной, так и автоматической (размерностей). подстройки звучания. http://qalculate. www.sosdg.org/~larne/w/BMP_Homepage sourceforge.net
4/2005 LINUX| CHIP 52 CD cÓ‰ÂʇÌË Chip Special Linux CD ZoneMinder 1.21.4 Beagle 0.1.1 distcc 2.18.3
Пользоваться консольными командами Distcc — это программа, организующая locate и find не всегда удобно. Но теперь параллельную распределенную компи- решение есть! Под крылом GNOME ляцию исходных кодов языков C, C++, Foundation вырос проект Beagle — про- Objective C и Objective C++ между ком- грамма поиска по локальной файловой пьютерами сети. системе. Beagle индексирует картинки, Использование distcc значительно со- музыку, веб-страницы, историю посеще- кращает время компиляции. Установка ния браузеров, почту, тексты, изображе- же программы по-детски проста; distcc Пакет программ для создания системы ния, PDF, DOC, аудиофайлы, логи мес- не требует ни каких-либо предустанов- видеонаблюдения на базе операционной сенджеров и другое. Поисковик обраба- ленных библиотек, ни синхронизации системы Linux. Программа реагирует на тывает базу и выводит результаты поиска системных часов и даже не зависит от движение, тут же занося событие в отчет в виде списка со всеми подробностями о типа установленной операционной си- (отсылает на FTP или отправляет e-mail). найденных документах. Можно устано- стемы (поддерживаются: GNU/Linux, ZoneMinder работает при помощи интер- вить дополнительный плагин для Firefox. FreeBSD, NetBSD, Darwin, Solaris, HP- фейса Video4Linux и поддерживает веб- http://beagle-project.org UX, IRIX, Cygwin и BSD/OS) и модели камеры с интерфейсом USB, cетевые IP- процессора. В комплекте с distcc по- камеры, а также камеры, подключенные ставляется небольшая программа distc- через BTTV-карты. Программа обладает cmon, позволяющая наблюдать за про- простым HTML-интерфейсом, благодаря цессом компиляции вашего кода на которому можно осуществлять монито- всех подключенных компьютерах. ринг с экрана обычного смартфона или Distccmon работает как в графическом КПК. Для работы ZoneMinder требуется режиме, так и в текстовом. Программа MySQL и PHP, а также веб-сервер, на- особенно удобна при работе в дистри- пример Apache. Способы применения бутивах, требующих частой компиля- данной программы зависят только от ции исходных кодов (Gentoo, вашего воображения. Наблюдайте за Slackware, Linux From Scratch). родственниками и соседями, за дачей и http://distcc.samba.org офисом, но не забывайте об уважении к праву других на личную жизнь. www.zoneminder.com Список программ Desktop О диске Beagle 0.1.1, Dia 0.95, Ion 3-20051029, OpenOffice.org 2.0, WindowMaker 0.92.0 ìÒÚ‡Ìӂ͇ ÔÓ„‡ÏÏ Мультимедиа Beep Media Player 0.9.7, GQRadio 1.9.2, Программы на диске представлены в немногим сложнее загрузки RPM- Graveman 0.3.12-4, Streamtuner 0.99.99, двух вариантах — исходные коды для пакетов, но она позволит вам полно- ZoneMinder 1.21.4 последующего самостоятельного их стью контролировать процесс установ- Интернет компилирования и RPM-пакеты для ки программы. Downloader for X 2.5.6, Firestarter 1.0.3, дистрибутива Fedora Core 4 Linux. Набираем в консоли: Licq 1.3.2, Liferea 1.0 rc3, Links 2.1 pre18, # tar -jxvf <имя_архива.tar.bz2> # для X-Chat 2.6.0 RPM-пакеты bz2 архива или Разработка Мы выкладываем пакеты именно для # tar -zxvf <имя_архива.tar.gz> # для gz Advanced Bash-Scripting HOWTO, distcc 2.18.3, Fedora Core, так как они являются более архива NVU 1.0, RPM Builder plugin for Anjuta 0.1.3 унифицированными и подходят для # cd <папка_с_программой> всех дистрибутивов, базирующихся на # ./configure && make Система ATI Proprietary Linux Driver 8.18.8, Linux RPM. Установить пакет очень просто, Затем, получив права суперпользовате- Kernel 2.6.14, Nmap 3.93, NVIDIA nForce достаточно в консоли с правами супер- ля (root), завершаем установку коман- Driver 1.0-0306, NVIDIA Display Driver 1.0- пользователя (root) набрать: дой make install. 7676, Torsmo 0.18, WINE 0.9.1 beta rpm -ivh <имя_пакета> В папке /lib диска вы найдете биб- лиотеки, необходимые для работы Игры BilliardGL 1.75, Freeciv 2.0.7, Gens 2.12, Исходные коды всех представленных программ — SuperTux 0.1.3, ZSNES 1.42 Предназначены они для тех, кто пользу- они рекомендованы к установке ется такими дистрибутивами как Gentoo и присутствуют в виде RPM-пакетов Бонус Aewan 1.0.01, Qalculate! 0.9.0 и Slackware. Инсталляция из исходников и исходных кодов.
CHIP| LINUX 4/2005 desktop ‰ËÒÚË·ÛÚË‚˚ Ó·ÁÓ VectorLinux 5.1 53
Сергей Яремчук ÇÂÍÚÓ ÒÍÓÓÒÚË
По быстродействию с этой ракетой можно сравнить разве что Gentoo stage3. На ее фоне большинство дистрибутивов, ориентированных на конечного пользователя, выглядит медленно ползущими черепахами. Итак, знакомьтесь — VectorLinux!
В последнее время наметилась устойчивая тенденция — появля- чувствует на самом современном ПК. Во второй половине ются версии дистрибутивов, направленные на конкретную це- лета 2005 года был анонсирован релиз 5.1 этого дистрибутива. левую аудиторию. Многодисковые программные продукты в О нем мы и расскажем вам более подробно. некоторых случаях оказываются лишними. Например, если пользователь просто желает познакомиться с новой системой, | Семейство VectorLinux | достаточно и LiveCD. Аналогично, если необходима система для В настоящее время VectorLinux доступен в нескольких вариан- использования на флеш-драйве, то, скорее всего, он предпочтет тах, каждый из которых предназначен для специфических це- специализированный дистрибутив, нежели будет пытаться вмес- лей. Базовым является VectorLinux Download (или Standart) тить в него Mandriva. C другой стороны, на сервере совсем не Edition. Его размер составляет всего 350 Мбайт, при этом он со- нужны графические оболочки и различные проигрыватели муль- держит минимально необходимую среду, включая легкие окон- тимедиа. К тому же очень жесткие требования к защите серверов ные менеджеры, мультимедиа, почтовые приложения и прочие на домашнем компьютере будут скорее мешать, так как пользова- необходимые программы. Главный девиз — скорость и лег- телю в первую очередь важны удобство и простота. Поэтому по- кость! Deluxe Edition включает также диск объемом 350 Мбайт явление направленных на конечного пользователя дистрибути- с дополнительным софтом (в том числе KDE, GNOME, вов — вполне закономерное развитие событий. OpenOffice) и брошюру, в которой содержится информация Популярные производители настольных версий Linux — об установке. Эта версия предназначена больше для опытных SUSE, Mandriva, Fedora — пытаются разместить все прило- пользователей. Самый популярный вариант — VectorLinux жения на трех-пяти дисках, и пользователю при установке SOHO (Small Office/Home Office), — как видно из названия, со- приходится долго выбирать из длинного списка то, что ему здан для использования в настольных компьютерах. И поэтому действительно нужно. Создатели канадского дистрибутива он включает все необходимые приложения — KDE, OpenOffice, VectorLinux (www.vectorlinux.com) хотели сделать его про- Java, GIMP, Xsane, CUPS, финансовые утилиты и прочее. Глав- стым, небольшим и позволить конечному пользователю ре- ная задача версии SOHO — создать удобную рабочую среду с шать самому, что будет входить в его операционную систему. хорошей интеграцией приложений, работающую быстро, про- По их мнению, установка должна быть максимально простой, стую в установке и не занимающую много места. Последнее поэтому они решили ограничиться одним-единственным реализуется за счет тщательного отбора утилит, в которых наи- диском, на котором поместилась полноценная рабочая среда большая функциональность сочетается с удобством и умень- со всеми необходимыми библиотеками и приложениями. шением количества дублирующих приложений. VectorLinux основан на популярном дистрибутиве Плюс ко всему есть два неофициальных дистрибутива. Не- Slackware, который всегда отличался устойчивостью в работе, стабильной веткой Dynamite Edition пользуются в основном но пользователи, особенно начинающие, не очень его любят разработчики — здесь отрабатываются нововведения, которые, из-за сложности. А в VectorLinux дружелюбность как раз и возможно, появятся в следующих релизах VectorLinux. И вполне стала основной задачей разработчиков. Кстати, дистрибутив вероятно, он является самым дружелюбным из всех Slackware- способен нормально работать на компьютере с объемом опе- дистрибутивов на сегодняшний день. ративной памяти всего 32 Мбайт. Он лоялен к старому обору- Еще существует VectorLinux GX, предназначенный для школ дованию, поддержка которого по умолчанию уже не включа- и поэтому содержащий специфические приложения для обуче- ется в некоторые современные дистрибутивы, и отлично себя ния, которые обычно не включаются в состав дистрибутивов.
4/2005 LINUX| CHIP 54 desktop ‰ËÒÚË·ÛÚË‚˚
èÓˆÂÒÒ ÛÒÚ‡ÌÓ‚ÍË ÍÓÌÒÓÎË Ì ÏÂÌ ۉӷÂÌ, ˜ÂÏ „‡Ù˘Â- VASM — ÏÓ˘ÌÓ Ò‰ÒÚ‚Ó Ì‡ÒÚÓÈÍË ÒËÒÚÂÏ˚ Ò „‡Ù˘ÂÒÍËÏ ÒÍËÈ ËÌÚÂÙÂÈÒ ‰Û„Ëı ‰ËÒÚË·ÛÚË‚Ó‚ Ë ÚÂÍÒÚÓ‚˚Ï ËÌÚÂÙÂÈÒÓÏ
Не так давно проект обзавелся более-менее понятной доку- | Первая загрузка | ментацией (доступной в том числе и на диске, правда, на анг- Система грузится достаточно быстро по сравнению с Mandriva лийском языке), позволяющей разобраться с особенностями или SUSE. Не зря VectorLinux называют Slackware на ракетном работы. Единственный недостаток VectorLinux, который в на- топливе, он по праву считается самым быстрым дистрибути- ших условиях является критичным, — полное отсутствие лока- вом. Теперь наступает этап постинсталляционной настройки, лизации: в системе доступен только английский интерфейс. в процессе которой необходимо указать, куда устанавливать Русификацией придется заниматься самостоятельно, уста- загрузчик, а также настроить X.Org-6.8.2, временной пояс, навливая необходимые пакеты Slackware. сеть, звук, задать пароль root и создать дополнительных поль- зователей. При выборе графического режима сразу же загру- | Инсталляция | жается X Window. Можно все настроить сразу, но лучше это Устанавливать VectorLinux можно несколькими способами, в сделать позднее — загрузившись и воспользовавшись утили- том числе и используя скачанный ISO-образ, без записи его той VASM (Vector Linux System Menu). на диск. Начинающие пользователи не очень любят Slackware Оборудование определилось нормально. Это в принципе из-за отсутствия графической программы-инсталлятора. можно считать визитной карточкой дистрибутива, корректно В VectorLinux процесс установки также проходит в консоли, но работающего в том числе и на старых машинах. Автору посто- создатели проделали хорошую работу и упростили то, что упро- янно не везло в VectorLinux с мышью. В версии 3.2, которая стить, казалось, уже невозможно. Единственный момент, кото- стояла на ноутбуке почти год, внешняя USB-мышь исправно рый может напугать неопытного пользователя, — подготовка определилась, а тачпад пришлось настраивать, вручную изме- разделов для установки, но, немного почитав документацию, няя параметр «Protocol» в конфигурационном файле «иксов» с можно справиться и с этим. Для создания разделов используют- IMPS/2 на PS/2. В версии 5.0 после загрузки не работали уже ся GNUParted (в пункте меню «Resize») и cfdisk, но теперь в хо- оба устройства позиционирования курсора. В этот раз все обо- де установки позволено выбрать две точки монтирования (кор- шлось без проблем. Не советуем сейчас выбирать русскую рас- невой каталог и /home), которые можно отформатировать под кладку клавиатуры для X Window, иначе после перезагрузки, reiserfs, ext2 или ext3. Все входящие в состав дистрибутива при- которая последует по окончании настройки, вы не попаде- ложения после установки занимают 950 Мбайт. Кстати, в более те в систему, потому что не сможете изменить раскладку. ранних версиях установка заключалась в распаковке архива на Все это лучше будет сделать потом, вручную подправив файл раздел диска, и единственное действие, которое необходимо /etc/X11/xorg.conf. Новые USB-устройства монтируются авто- было совершить пользователю, — это создать его при помощи матически, по крайней мере цифровая камера, флеш-накопи- cfdisk, отформатировать под необходимую файловую систему тель и Bluetooth-донгл были распознаны без проблем. Для и указать на него программе. Если что-то не выходит, то, вы- владельцев ноутбуков нелишней окажется поддержка PCM- брав соответствующий пункт меню, можно выйти в оболочку CIA и APM в ядре 2.6.12, будут работать также SATA и SCSI. (причем это будет полноценная оболочка с mc и прочими удобствами), где будут доступны fdisk и другие утилиты форма- | Работа в VectorLinux | тирования и проверки указанных выше файловых систем. Из После перезагрузки пользователя встретит несколько меню можно легко восстановить и загрузчик, для чего доста- видоизмененный xdm с пляшущими пингвинами. Для работы точно просто выбрать нужный пункт. доступны Xfce, Fluxbox и IceWM. В версии Deluxe вы найдете После копирования файлов установка, собственно, закан- KDE 3.4.1 и Freerock GNOME 2.10.2. Интересно, что IceWM чивается, и система предлагает извлечь диск и перезагрузить- можно загрузить, так сказать, в чистом виде, а можно и с вклю- ся. Весь процесс на компьютере с процессором 1,1 Гц занима- ченным ROX-Filer (http://rox.sourceforge.net), который суще- ет в общей сложности 25 минут. ственно расширит возможности IceWM, добавляя, например,
CHIP| LINUX 4/2005 Ó·ÁÓ VectorLinux 5.1 55
иконки на рабочий стол. Обычно у пользователей возникает Но теперь, по задумке разработчиков, задача по управлению проблема при монтировании/размонтировании сменных но- пакетами возложена на утилиту Gslapt, которая базируется на сителей. В VectorLinux работа с такими устройствами реализо- slapt-get. Ранее Gslapt вызывала некоторые сомнения, так как вана на должном уровне, а при помощи контекстного меню, не очень дружила с зависимостями и, не признавая sudo, за- вызываемого правой кнопкой мыши, можно всегда отмонти- пускалась, только когда пользователь регистрировался в сис- ровать устройство даже в том случае, когда оно занято. Успеш- теме как root. C VLAPT, который был в версии дистрибутива но получается проделать это и с CD-ROM. 5.0, таких проблем не случалось. Также в меню файлового ме- Кроме стандартных утилит для настройки имеется и свой неджера Midnight Commander имеются дополнительные конек — VASM, который появился в VectorLinux еще в версии пункты, позволяющие установить, распаковать и деисталлиро- 2.0 и постоянно модернизировался с учетом предложений вать пакеты. Причем работа с RPM-, DEB- и TGZ-пакетами пользователей. А начиная с версии 3.2 SOHO, VASM получил реализована так, чтобы пользователь вообще не задумывался графический интерфейс (ранее он был доступен только из кон- о какой-либо разнице между ними. соли), позже некоторые пункты стали доступны в виде отдель- Поставляемые по умолчанию в дистрибутиве утилиты дейст- ных команд. При вызове проверяется значение переменной вительно охватывают весь спектр потребностей среднестатисти- $DISPLAY, и в зависимости о того, в каком режиме (консоль ческого пользователя. Браузером по умолчанию является Firefox или X Window) его запускают, используется соответствующий 1.0.4, но в наличии есть и Dillo, как альтернативу можно исполь- интерфейс. VASM позволяет отключить, определить и автома- зовать Konqueror. С Firefox все-таки возникли проблемы, так тически настроить новое оборудование, берет на себя менедж- как не все плагины устанавливались, и его пришлось сразу же мент пользователей (добавление, удаление, изменение пароля, обновлять. Для работы (если, конечно, можно назвать это рабо- быстрые команды /sbin/vuser, /sbin/vuseradd, /sbin/vuserdel и той) в IRC в состав включены Gaim 1.3.0 и Xchat. Документы /sbin/vpasswd), конфигурацию X Window, уровень запуска сис- Word открываются в Abiword 2.2.5, музыка и фильмы — в XMMS темы, задает сервисы, запускаемые при загрузке, настраивает 1.2.10, MPlayer 1.0pre6a. Ну и, конечно же, не обошлось без сеть, принтеры, межсетевой экран, устанавливает загрузчик, про- GIMP 2.2.1, Xview и Gqview. А OpenOffice, а также Flash, Acrobat изводит резервное копирование файлов и т. д. Некоторые функ- Reader, vim, Apache, MySQL, Emacs, Samba, Screen и многие ции настройки, предоставляемые скриптом, доступны только другие полезные приложения присутствуют в версии Deluxe. пользователю root, а часть параметров (настройка X-сервера, об- Серьезное внимание уделяется защите. В состав дистрибутива наружение нового оборудования) работает только в консоли. входит система обнаружения атак portsentry, openssl и openssh. Как видите, разработчики собрали в одной простой утилите все Не имеет смысла перечислять все пакеты — заметим только, возможные настройки, с которыми обычно приходится иметь что в VectorLinux нет десятка текстовых редакторов, проигрыва- дело пользователю. Хотя работа с ним не всегда интуитивна и телей и почтовых клиентов. Пользователю предоставлен необ- иногда приходится экспериментировать, все же VASM неплохо ходимый, но удобный в работе минимум. справляется с задачей базовой настройки системы. Пора подвести итоги. Дистрибутив создан с любовью. Не- Естественно, никуда не делись fdisk, pppsetup, wvdial, gkdi- сомненно, VectorLinux придется по вкусу пользователю с не- al, GuardDog (настройка межсетевого экрана) и прочие ути- которым уровнем подготовки и, возможно, новичку, которо- литы, предназначенные для настройки отдельных парамет- го не испугает отсутствие графической программы установки, ров и сервисов системы. а также постинсталляционная возня с локализацией. К тому Установку приложений можно производить и при помощи же дополнительным преимуществом VectorLinux можно счи- традиционных утилит от Slackware вроде installpkg и upgradepkg. тать возможность работы на устаревшем оборудовании. |
àÁfl˘Ì˚È ‰ÂÒÍÚÓÔ VectorLinux ÔÓÒΠÁ‡„ÛÁÍË ã„͇fl ÛÒÚ‡Ìӂ͇ Ô‡ÍÂÚÓ‚ ˜ÂÂÁ Gslapt
4/2005 LINUX| CHIP 56 advanced ÒËÒÚÂχ
Роман Химов InitNG — ̇˜ÌË Ò̇˜‡Î‡
С InitNG мне довелось познакомиться еще в версии 0.06 — одной из первых публично доступных. Тогда новость о нем облетела все ленты. И я не удержался от того, чтобы не поэкспериментировать. И не зря: тогда я впервые увидел, что замученный жизнью Celeron 480 со 128 Мбайт памяти, оснащенный к тому же множеством сервисов, может запускать пингвина в полет быстрее, чем это делает стоящий рядышком Athlon 1700+ с 256 Мбайт.
Правда, с той версией пришлось изрядно повозиться, по- гочисленных пользовательских дистрибутивов GNU/Linux. скольку стабильно она работать никак не хотела и периодиче- Время загрузки явилось основным катализатором исследова- ски норовила отказаться то от загрузки kdm, а то и других ний в этой области, а InitNG стал одним из результатов этого сервисов. Тем не менее старый добрый шаманский бубен ме- трудоемкого процесса. ня выручил, и эта версия простояла на том самом компьюте- Естественно, проект не представляет интереса для сер- ре очень долго, периодически выдавая сбои, но в целом обес- веров, поскольку в этой области машины не должны вы- печивая достаточный уровень надежности работы. ключаться и перезагружаться вообще, а уж если и придется, Да, InitNG все еще является экспериментальным софтом, то минута-другая погоды не делает. InitNG, равно как и поэтому накладки в процессе его использовании весьма веро- многие из последних довольно значительных изменений в ятны. Позже я заменил старую версию на InitNG 0.3.x, побо- GNU/Linux, предназначен для настольных машин простых ролся с новыми глюками и отметил чуть более стабильное по- пользователей, которые не любят долго сидеть перед монито- ведение системы. Однако по-настоящему беспроблемной ром в ожидании окончания процесса загрузки. Правда, пока стала только лишь последняя ветка InitNG версий 0.4.x. он не используется как стандарт ни в одном дистрибутиве. Пользователям придется разминать пальчики в консоли и по- | Init | знавать таинства конфигурации своих систем. Что же такое InitNG и что он призван заменить? InitNG явля- ется альтернативой Init, который однозначно наличествует в | Проблемы Init | вашем дистрибутиве, каким бы он ни был. Init — процесс но- В чем же проблема старого Init, почему ему потребовалась мер один в системе, именно ему ядро передает управление замена? Он плохо дружит с параллельным запуском серви- после инициализации, и именно он запускает все, что вы от не- сов, это факт. Весь процесс загрузки должен быть расписан го хотите на этапе загрузки. К тому же Init является предком в скриптах строго последовательно. Это плохо, так как любого процесса, запущенного в вашей системе. большинство сервисов на самом деле не зависят друг от Так сложилось, что эта область свободных систем практиче- друга, но при этом они не могут запускаться параллельно ски не развивалась. В GNU использовался аналог — SysVinit, из-за ограничений Init. и всем жилось, в общем-то, хорошо. Ровно до тех пор, пока Как правило, все запускаемые сервисы что-то считывают с не обнаружилось, что Windows XP загружается быстрее мно- диска, а это всегда происходит очень медленно. Во время та-
CHIP| LINUX 4/2005 ÛÒÍÓÂÌË Á‡ÔÛÒ͇ Linux 57
ɇÙËÍË Á‡„ÛÁÍË, ÔÓÎÛ˜ÂÌÌ˚ ‚ bootchartd. InitNG ӷӄ̇ΠInit ÔÓ˜ÚË ‚ ‰‚‡ ‡Á‡
кого ввода/вывода процессор мог бы уделить внимание дру- | Установка и дистрибутивы | гому сервису, но старый Init этому не способствует. Анало- Надо признать, что наиболее комфортно InitNG чувствует се- гично происходит и с coldplug, который задает работу ядру по бя в той среде, где он и вырос, а именно в Gentoo. Еще в общению с устройствами, а это тоже весьма длительная опе- очень ранних версиях для него был доступен ebuild, который рация, и хорошо бы в эти миллисекунды простоя занять про- теперь также входит в основной репозиторий Gentoo. Поэто- цессор чем-нибудь другим, не менее полезным. му все, что от вас здесь потребуется, — это ввести emerge init- ng, а portage сделает все самостоятельно. Хотя минимальная | Новации InitNG | конфигурация, наверное, все-таки потребуется. InitNG решает описанную проблему путем параллельного запу- Обладателям других дистрибутивов придется засучить ру- ска всех не зависимых друг от друга сервисов, что способствует кава. Пользователям Debian и его многочисленных отпрыс- равномерной загрузке процессора и периферии, в результате ков (в том числе и Ubuntu) здесь повезло несколько больше, все сервисы вместе успевают загрузиться значительно быстрее. поскольку для этих систем существует специальный пакет InitNG ладно скроен и имеет модульную архитектуру, хотя Debian (http://alioth.debian.org/projects/pkg-initng), который это больше интересно программистам, которые захотят его рас- упрощает процесс установки. ширить. Параллельность же запуска обеспечивается правиль- Остальным же придется производить сборку своими ру- ной системой скриптов, в которой порядок их выполнения рас- ками из исходников (http://initng.thinktux.net), что на самом считывается на основе реальных зависимостей сервисов. деле не так уж и плохо. InitNG имеет достаточно умный Надо отметить, что существующая сегодня система загрузки Makefile, который пытается догадаться, какой дистрибутив у в Gentoo имеет схожую структуру (основывается на зависимо- вас установлен (соответственно подстраивая скрипты запуска стях) и даже позволяет параллельно запускать сервисы, однако сервисов) и что за сервисы стартуют по умолчанию (соответ- старый Init ограничивает эти возможности, и реальный при- ственно составляя список запуска у себя). рост скорости загрузки от этого весьма невелик. Новый InitNG Отмечу, что все тесты и примеры конфигураций основаны полностью лишен подобных недостатков. на InitNG версии 0.4.4. Проект очень бурно развивается, по-
4/2005 LINUX| CHIP 58 advanced ÒËÒÚÂχ
этому, возможно, к моменту выхода журнала некоторая ин- формация будет уже не совсем точной. После установки необходимо добавить еще один пункт в ме- ню загрузки вашей системы и в нем прописать ядру параметр init=/sbin/initng. В GRUB он напрямую помещается в конец строки «kernel (..)/...», а в LILO это означает добавление строч- ки 'append = «init=/sbin/initng»' в желаемый пункт. Не стоит по- ка что делать эту конфигурацию загружаемой по умолчанию. Далее необходимо попробовать перезагрузиться с InitNG и приготовиться к работе в чистом консольном режиме — ставлю пять к одному, что с первого раза X и [kgx]dm у вас не запустят- ся. Равно как и многие другие сервисы. Не нужно бояться этих проблем — хотя вывод об ошибках может быть и пугающим, навредить системе вы вряд ли сможете, незапускающийся сер- вис не означает разрушенной конфигурации, достаточно пере- загрузиться со старым Init — и все будет в порядке. | Притирка и доводка | К огромному сожалению, каждый дистрибутив считает чуть ли ни своим долгом использовать собственные загрузочные скрипты, а также расположение и формат конфигурацион- ных файлов, скрипты-помощники и прочее. Но к этому можно отнестись с большим энтузиазмом — настраивая InitNG, вы лучше узнаете свою систему, а любители LFS çÂÛ‰‡˜ÌÓ ‡ÒÔÓÎÓÊÂÌË Ò‚ËÒÓ‚. åÌÓ„Ë ËÁ ÌËı ʉÛÚ (Linux from Scratch) уже могут примерять InitNG к своим ‡Á¯ÂÌËfl ÍÓÌÙÎËÍÚÓ‚ системам в качестве единственного Init. В конечном счете на это вряд ли уйдет так много времени (все зависит от ва- ших навыков работы с консолью). придется познакомиться с инструментом ngc (New Generation Итак, пробуем перезагрузиться с InitNG. Если у вас все за- Init Control), который входит в состав InitNG. Он позволяет работало, знайте — вы редкий везунчик. Скорее же всего, вы полностью управлять процессом загрузки с InitNG. В нашем увидите, что система загрузилась не полностью, и вывод случае потребуется ngc -s, который покажет статус загружен- InitNG запнулся на уровне 70–80% загрузки, при этом первая ных сервисов/демонов. консоль совершенно непригодна к использованию, а «ик- Скорее всего, в выводе будет обнаружено несколько сер- сы»... о них на время вообще лучше забыть. висов, ожидающих разрешения зависимостей (START_DEP_ Вспоминаем о существовании других терминалов и смело FAILED), а также один или два, которые не сумели запустить- нажимаем «Alt+F2». По умолчанию InitNG запускает agetty ся (FAIL_STARTING). Ваша задача — избавиться от «плохих» на шести терминалах, но первый из них запускается только сервисов и демонов. в случае абсолютно успешной загрузки стандартного уровня Ненужные сервисы можно просто удалить из рассмотре- исполнения. Заходите сразу как root и не стесняйтесь. ния с помощью ng-update del service/badservice, а проще, на Основная задача на данном этапе — выявить сервис или мой взгляд, сразу перейти к прямой правке конфигураци- демон, который помешал полноценной загрузке. Для этого онных файлов InitNG. Загрузочные скрипты и настройки InitNG располагаются в /etc/initng. Там же вы обнаружите Необходимая настройка несколько файлов *.runlevel, *.i и каталогов с файлами *.i. Файлы *.runlevel описывают уровни исполнения InitNG, çÓ‚˚ ‰ÂÏÓÌ˚ вы можете загрузить любой из них, передав ядру в качестве К сожалению или к счас- ве примера самописный параметра необходимый уровень в виде runlevel=level. Фай- тью, но в составе InitNG мо- скрипт запуска pure-ftpd: лы *.i описывают конкретные сервисы и демоны, запускае- жет и не оказаться скрипта daemon daemon/pure-ftpd { мые InitNG, а в каталоги они просто логически группиру- запуска используемого ва- need = system/initial sys- ются для удобства. ми демона. Однако теперь tem/mountfs system/host- Таким образом, вы сразу можете перейти к правке фай- вы уже гуру в области его name net/lo конфигурации, поэтому, ду- require_network лов system.runlevel или default.runlevel (нетрудно догадаться, маю, у вас не возникнет daemon = /usr/sbin/pure- что именно этот уровень запускается по умолчанию, однако проблем с добавлением но- ftpd он зависит от параметра system) с целью удаления сервисов вых скриптов. Вот в качест- } и демонов, которые дали сбои. В этих файлах используется простейший список, одна строка — один сервис.
CHIP| LINUX 4/2005 ÛÒÍÓÂÌË Á‡ÔÛÒ͇ Linux 59
# } } Каждый сервис объявляется как «service имя_сервиса», и все его описание заключается в фигурные скобки. Оно состоит из ключевых слов и их параметров. Самое главное, что должно быть у сервиса, — это start и/или stop. Посмотрите на различия между закомментированным фор- матом (а комментарии по традиции начинаются с «#») и рабо- чим (аналогично отличаются system/local.i и system/ntpdate.i): в них представлены два разных способа задания действий. Первый использует ключевые слова start и start_args. Команда, выполняемая InitNG при запуске такого сервиса, формируется напрямую из них и тут же вызывается. В данном примере это /sbin/swapon -a. Второй способ задания действий значительно более гиб- кий, поскольку все, что заключается в блоке start{} (или stop{}), является обычным shell-скриптом — со всеми вытека- ющими последствиями. Но такой метод работает медленнее (и именно поэтому в system/swap был закомментирован), так как для его запуска InitNG приходится разворачивать отдель- ный процесс интерпретатора командной строки и отдавать ему скрипт. Для простых сервисов, потребности которых мож- 臂ËθÌÓ ÔÓ‰Ó·‡Ì̇fl ˆÂÔӘ͇ Ò‚ËÒÓ‚ — ‚Ò Á‡ÔÛÒÚËÎÓÒ¸ но описать в первом формате, он явно менее предпочтителен. Простейший сервис может состоять только из одного блока Однако какая же польза от InitNG, если мы вырежем все start и будет успешно работать, однако сервисы могут зависеть запускаемые сервисы и демоны? Они нам все-таки нужны, от других сервисов, и мы переходим к наиболее интересной ча- поэтому пора познакомиться с файлами *.i, описывающими сти InitNG — работе с зависимостями. все, что стартует при помощи InitNG. Стоит отметить, что се- годня также имеется возможность использовать XML для | Зависимости | описания сервисов, но это сложнее и не так наглядно, как ис- В простейшем виде используется ключевое слово need, в пользование формата *.i. Оставим XML заботливым дистри- котором через пробелы вписывается все, что требуется за- бьюторам, которые добавят к ним красивые графические на- пустить, до того как будет запущен описываемый сервис. стройки; кто-нибудь из них, возможно, решится в следующем В примере с system/swap это system/initial и system/mountroot; году сделать InitNG основным для своего дистрибутива. действительно, все сервисы зависят от успешного заверше- ния работы скрипта начальной инициализации системы, и | Сервисы | Чем отличаются сервисы от демонов? Все очень просто, Дополнительная информация демоны — стандартные и привычные всем sshd или mysqld — запускаются и функционируют в течение всего времени рабо- èÓÎÂÁÌ˚ ‚ÓÁÏÓÊÌÓÒÚË ngc ты системы. Сервисы же, в терминологии InitNG, являются После того как вы, наде- ваются, расширяются и сущностью, запускаемой единожды на этапе загрузки или вы- юсь, разрешите все пробле- изменяются, поскольку грузки системы. Примеры — coldplug или настройка часов; мы, связанные с настрой- InitNG — все еще очень все это выполняется один раз при загрузке, настраивает то, кой InitNG, стоит поближе молодой продукт. что надо, и завершается. познакомиться с инстру- Также сразу же стоит за- Примеры очень простых сервисов можно также увидеть в ментом ngc. Продолжив это помнить ngc -u и ngc -d, system/local.i, system/ntpdate.i и system/swap.i. Рассмотрим знакомство, например, с которые соответственно синтаксис на примере system/swap.i: ngc -O. Эта нехитрая коман- запускают и останавливают service system/swap { да расскажет вам все об оп- сервисы и демоны, переда- циях, которые можно ис- ваемые следующим пара- need = system/initial system/mountroot пользовать в описаниях метром. Полезен и ngc -r, start = /sbin/swapon сервисов и демонов, по- позволяющий сервисы пе- start_args = -a скольку на самом деле их резапускать. Остальное уже # start { несколько больше, чем бы- не так интересно, но при # #!/bin/bash ло упомянуто ранее. Более желании доступно для # /sbin/swapon -a того, они постоянно разви- изучения по ngc -h. # exit $?
4/2005 LINUX| CHIP 60 advanced ÒËÒÚÂχ
почти всем необходимо иметь возможность записывать ин- А можно найти и альтернативные способы. Пускай демон формацию в корневой раздел. возвращает управление InitNG, но мы можем отслежи- Важно, что описываемые в need зависимости являются кри- вать его состояние через файл pid. Для этого и предназ- тическими для сервиса, и без удовлетворения всех зависимос- начена опция pid_file. Пример ее использования есть в dae- тей InitNG даже не будет пытаться запускать сервис. mon/vixie-cron; он возвращает управление в любом случае, Несколько другой подход представляет использование но благодаря pid-файлу InitNG может убедиться в том, что ключевого слова use. Описанные с его помощью зависимости он жив-здоров. позволяют задавать порядок запуска сервисов/демонов, если Все это позволяет обеспечить надежность функционирова- они описаны в заданном уровне запуска. То есть, в отличие ния демонов. В случае их внезапной смерти по тем или иным от need, если вы не собираетесь запускать нечто из списка use, причинам они будут перезапущены (без необходимости все будет в порядке. применения дополнительных решений вроде daemontools). Од- Например, в daemon/apache2 среди use числятся daemon/ нако, чтобы обеспечить подобную функциональность, стоит sshd и daemon/mysql. Это значит, что если вы запускаете на прописать в параметрах демона «respawn=yes», так как стан- своей машине sshd, то apache2 будет запущен после него. дартное поведение от версии к версии здесь менялось (в версии Однако если вы не запускаете sshd, то apache2 будет успешно 0.4.4 по умолчанию перезапуск отключен). запущен и без него. Аналогично и с демоном mysql. | Прочее | | Дополнительные возможности | Осталось только упомянуть возможность использования шабло- Одной из интересных зависимостей, вынесенной даже в отдель- нов имен, а также то, что имена файлов не обязаны совпадать с ное ключевое слово, является также require_network. Как можно именами сервисов (хотя это удобно). Прекрасным примером догадаться из названия, она используется теми сервисами и де- последнего является файл net/net.i, где описаны net/lo и net/*, монами, которые нуждаются в сетевом подключении. Локаль- имеющие разные зависимости и последствия (network_provider ное сетевое подключение lo эту зависимость не удовлетворяет. в net/* как раз и удовлетворяет зависимость require_network). Помимо этого также доступен env, в формате env = Шаблоны здесь позволяют единообразно работать с сетевыми VAR=something можно передавать переменные окружения подключениями любого вида; запускаемое в данный момент под- вызываемым сервисам и демонам. Таких определений может ключение передается в переменной ${NAME}. быть несколько для одного сервиса (соответственно, будут заданы несколько переменных окружения). Это и отличает | Настройка | env от других описателей. Всей этой информации должно с лихвой хватить для осознан- Также можно задавать nice, suid и sgid — соответственно ного изменения настроечных файлов InitNG, что в конечном приоритет, пользователь и группа, от имени которых будет счете приведет вас к желаемому результату. запущен процесс. На закуску имеются stdout и stderr, с по- В деле исправления настроек в первую очередь стоит об- мощью которых можно перенаправлять стандартные пото- ратить внимание на параметры, с которыми запускаются те ки ввода и вывода ошибок. или иные демоны/сервисы — убедиться в том, что запуска- ются именно те бинарники и что они лежат там, где предпо- | Демоны | лагает это InitNG. Он действительно здорово подстраивает- Что касается различий сервисов и демонов, последние имеют до- ся под окружающую обстановку (если не верите, сравните полнительные возможности и несколько иной формат задания содержимое файлов *.ii и *.i каталога initfiles в дереве исход- процессов. С одной стороны, их можно описывать с помощью ников InitNG после сборки), но всему есть свои пределы, и start{} и stop{} (в качестве примера смотрите daemon/ openvpn), но иногда он может ошибаться. InitNG имеет гораздо более интересные возможности. Например, созданный на SUSE 9.1, использованной в каче- Существует ключевое слово daemon — опять-таки в раз- стве тестовой площадки, скрипт daemon/apache2 планировал ных форматах. Пример использования короткого формата вызвать /usr/sbin/apache2 -D PHP5 -k start, в то время как PHP5 можно подсмотреть в daemon/apache2: как видите, сущест- на этой системе не стоит, а файл /usr/sbin/apache2 вообще вует и daemon_args для передачи параметров демону. При- отсутствует. Вместо этого в SuSE 9.1 есть /usr/sbin/apache2ctl, мер формата daemon{} — в daemon/acpid. которому необходимо передать единственный параметр start. Необходимо пояснить, что InitNG не просто запускает Однако и этого маловато — pid-файл для Apache 2 в SUSE 9.1 демоны, он за ними еще и приглядывает. По умолчанию виден как /var/run/httpd2.pid, а не /var/run/apache2.pid. После считается, что если демон возвращает управление (стан- этих тривиальных изменений Apache стал запускаться без дартное поведение, например, sshd), значит он так или ина- каких-либо проблем. че был убит, а стало быть, InitNG попытается перезапустить А вот на примере mysqld уже можно рассмотреть тви- его. Именно поэтому в скриптах для запуска демонов стоит кинг скриптов InitNG. Скрипт по умолчанию запускал использовать exec (как в примере с acpid). /usr/bin/mysqld_safe и зависел от сетевого подключения Но можно поступить иначе. Для sshd, например, можно (require_network), однако mysqld_safe всего лишь обеспечи- использовать параметр -D, и тогда все будет в порядке. вает поддержку mysqld в запущенном состоянии и логиро-
CHIP| LINUX 4/2005 ÛÒÍÓÂÌË Á‡ÔÛÒ͇ Linux 61
вание некоторой информации. Последнее вам может быть запуска всего, что нужно вашей системе (вы же работали на просто не нужно, а первое вполне может сделать сам ней до этого, не так ли?). Пользуйтесь ими как ценными ис- InitNG. Поэтому можно смело вписать «daemon=/usr точниками информации. /sbin/mysqld», а в daemon_args прописать все желаемые Хочется отметить, что на сегодня у InitNG есть еще одно параметры, после чего добавить respawn=yes и убрать огромнейшее преимущество перед стандартным init с любым require_network, если вы используете этот сервер только с стилем загрузки — он очень прост, и у вас есть прекрасная локальной машины. MySQL после этого прекрасно запус- возможность проделать персональную конфигурацию с ми- кается и работает, а killall mysqld продемонстрирует живу- нимумом усилий, которая будет очень быстро запускаться и честь сервера — InitNG его моментально перезапустит. За- поддерживать работу необходимых вам демонов. мечу, что в отличие от mysqld_safe эта связка значительно Как видите, ничего сверхсложного. надежнее, поскольку первый можно просто убить, а вот если убить Init, будет слишком заметно. | И о результатах | По поводу «иксов» надо заметить, что основные проблемы Так ради чего же боролись? Предлагаю взглянуть на краси- с ними сводятся к загрузке модулей. Необходимо убедиться в вейшие графики загрузки, полученные с помощью том, что к моменту запуска [gkx]dm у вас будет загружено все, bootchartd (www.bootchart.org). Результат очевиден — время что касается устройств ввода/вывода. Например, драйвер гра- загрузки уменьшилось практически вдвое. При этом еще фического планшета вместе с evdev или, не дай бог, проприе- остался резерв для оптимизации, поскольку из скриптов тарный драйвер NVIDIA. Если с этим возникают какие-то можно убрать как минимум все специфичные для Gentoo проблемы, можно прописать принудительную последова- проверки и настройки (если, конечно, вы не используете тельную загрузку необходимых модулей в отдельный (или су- именно Gentoo), а также вообще обойтись без использова- ществующий, хотя это не лучший вариант) сервис, от которо- ния некоторых конфигурационных файлов, вписав желае- го будет зависеть запуск [gkx]dm. мое прямо в скрипты. Все это потребует от вас определенных знаний о своей си- Полезно будет прогнать на своей машине bootchartd и стеме и ее настройках, используемых демонах, утилитах, выявить узкие места, которые тормозят загрузку системы, скриптах и, соответственно, их настройках. Отличный под- после чего заняться их устранением. Как говаривал Ричард сказчик — /etc/init.d, где расположены «эталонные» скрипты Столлмен, «счастливого хака!» |
Самостоятельная работа ֢ ·˚ÒÚÂÂ? Чтобы добиться еще более ну, поскольку bootchart счи- кающихся при старте, их за- мые ФС и избавьте себя от высокой скорости загрузки, тает окончанием загрузки вершения ждут все. mountroot. можно переписать скрипты полноценный графический 3 Трезво оценивайте, дейст- 3 Не стесняйтесь изучать InitNG для своей конфигура- логин. Кстати, bootchart в та- вительно ли сервис не может скрипты-обертки для запуска ции. Если это дополнить пере- кой конфигурации уже тоже жить без сети. разных сервисов и скрипты на- компиляцией ядра и отказом начинает мешать сервисам, 3 Разберитесь, нужно ли ему стройки сети вашего дистрибу- от coldplug (все ведь уже в и сам успевает запустить мо- дожидаться, когда смонтиру- тива. Затем подумайте, нужно ядре?), то можно сократить ниторинг процессора/диска ются все файловые системы ли вам все это, и не проще ли время загрузки еще в полтора- только тогда, когда половина кроме корневой. написать их самим для своей два раза — взгляните на еще дела уже сделана. 3 Перейдите на журналируе- системы и конфигурации? одну картину загрузки систе- Также становится очевидным мы. Машина по-прежнему та то, что дальнейшее сокраще- ɇÙËÍ же, сервисы по-прежнему ние времени зависит в пер- ÓÔÚËÏËÁËÓ‚‡ÌÌÓÈ те же, однако время — уже вую очередь от винчестера и Á‡„ÛÁÍË всего лишь 18 секунд! файловой системы, посколь- Надо отметить, что за чертой ку узким местом становится двадцати секунд результаты ввод/вывод — он нужен всем загрузок довольно сильно стартующим демонам, и па- варьируются (минимум, раллельный запуск здесь мо- которого удавалось достичь жет даже мешать. на тестовой машине — С чего начать хакинг скриптов 17 секунд). Например, за- InitNG? В первую очередь об державшийся ответ сервера этом расскажет bootchartd, но на DHCP-запрос может запро- вот некоторые общие реко- сто изменить время загрузки мендации: на несколько секунд, причем 3 Начните с оптимизации са- еще вопрос — в какую сторо- мых первых скриптов, запус-
4/2005 LINUX| CHIP 62 advanced ·ÂÁÓÔ‡ÒÌÓÒÚ¸
Денис Колисниченко ç‡ ÒڇʠÒËÒÚÂÏ˚ В прошлом выпуске журнала рассказывалось о системах управления доступом в общем, а кроме того, была подробно рассмотрена одна из самых популярных систем — Grsecurity. В этот раз мы поговорим о не менее интересном программном продукте, который называется LIDS (Linux Intrusion Detection System).
Изначально LIDS задумывалась как простая система обнаруже- 2.6.7.tar.gz ния вторжения, но с годами благодаря усилиям разработчиков ей # tar -zxvf lids-2.2.0rc3-2.6.7.tar.gz удалось вырасти в комплексный механизм обеспечения безопас- # cd linux-2.6.7 ности Linux-машины. Сейчас можно с уверенностью заявить, что # patch -p1 < /usr/src/lids-2.2.0rc3-2.6.7/lids-2.2.0rc3- LIDS уже достигла уровня Grsecurity, а в кое в чем даже превзош- 2.6.7.patch ла ее. Преимуществом второй версии LIDS является поддержка После этого можно приступать к конфигурации ядра. LIDS LSM (загружаемых модулей безопасности), которой не было в требует включить поддержку алгоритма SHA256. Соответству- предыдущих версиях, и это обстоятельство делало установку сис- ющую опцию можно найти в меню «Cryptography Options/ темы и работу с ней весьма затруднительным мероприятием. Cryptography API». Опции конфигурации LIDS находятся в разделе «Security Options». Желательно отключить SELinux и | Установка | Capabilities. LIDS реализована как патч ядра и набор пользовательских Рассмотрим опции LIDS: утилит, загрузить которые можно с сайта, расположенного по Attempt Not to Flood Logs (CONFIG_LIDS_NO_LOOD_LOG). адресу www.lids.org/download.html. В отличие от других проек- Данная опция ограничивает частоту протоколирования иден- тов, патчи которых подходят только к какой-либо конкретной тичных сообщений. версии ядра, патчи LIDS подходят для всех версий 2.4.x и 2.6.x, Allow Switching the LFS and States (CONFIG_LIDS_ поэтому данная система способна работать с любым ядром. ALLOW_SWITCH). LFS (LIDS-free session, о ней мы пого- ворим чуть позже) позволяет администратору выполнять ко- | Конфигурирование ядра | манды без каких-либо ограничений со стороны LIDS. Это до- Распакуйте архив с LIDS, перейдите в каталог ядра и примени- вольно полезно, но может стать источником для атаки вашей те следующий патч: системы. Рекомендуем активировать эту опцию на первые не- # cd /usr/src сколько дней — пока вы экспериментируете с LIDS, а потом, # wget http://www.lids.org/download/v2.6/2.6.7/lids-2.2.0rc3- когда все будет настроено, можно ее спокойно отключить.
CHIP| LINUX 4/2005 ÒËÒÚÂχ LIDS 63
Allow Switch Off the Linux Free Session (CONFIG_LIDS_ нистратору работать в системе как обычно, без выключения ос- ALLOW_LFS). Позволяет отключить LIDS во время выполне- новной системы безопасности, ведь когда LIDS включена, ог- ния системы. Так безопаснее. раничения накладываются даже на пользователя root. Однако Restrict Mode Switching to Special Terminals (CONFIG_ LFS потенциально опасна: если злоумышленнику удастся за- LIDS_RESTRICT_MODE_SWITCH). Позволяет задавать тер- владеть доступом к ней, то он получит полный контроль над миналы, с которых разрешается LFS. Они делятся на три клас- системой — вплоть до отключения LIDS. са: консоль (console), последовательная консоль (serial console) Доступ к LFS регулируется установленным ранее паролем. До- и PTY. Третий — наиболее опасный, поскольку дает возмож- полнительно при конфигурации ядра можно указать терминалы, ность злоумышленнику удаленно запустить LFS. Выберите с которых доступ к LFS будет открыт (очень хорошее решение). только первый класс, позволяющий запускать LFS лишь поль- Главное назначение LFS — разрешить администратору ре- зователям, физически работающим с машиной. дактировать файлы в каталоге /etc/lids, который недоступен во время работы LIDS даже пользователю root. В этом каталоге | lidstools | находятся следующие файлы: После компиляции ядра можно установить пакет lidstools. Сце- 3 lids.cap — ограниченный набор возможностей; нарию ./configure необходимо явно передать каталог ядра: 3 lids.conf — ACL (будет рассмотрен позже); $ tar -zvxf lidstools-2.2.5 3 lids.pw — пароль администратора LIDS; $ cd lidstools-2.2.5rc1.tar.gz 3 lids.ini — начальные конфигурационные значения. $ ./configure KERNEL_DIR=/usr/src/linux-2.6.7 $ make | lidsadm | $ su Администрирование LIDS выполняется программой lidsadm. # make install Рассмотрим подробнее ее опции: При установке программы (make install) вас попросят ввести 3 -P — зашифровать пароль LIDS, например lidsadm -P mypass- пароль для администрирования LIDS — он не должен совпа- word; дать с паролем root! 3 -S — изменить аспект защиты LIDS; Чтобы использовать новое ядро, нужно перезагрузить систе- 3 -I — «опечатать» ядро; для этой опции не нужен пароль; му. Если необходимо отключить LIDS, перед загрузкой систе- 3 -V — просмотр состояния системы; мы передайте ядру параметры security=0. 3 -h — вывести краткую справку; 3 -v — вывести версию lidsadm. | Администрирование LIDS | Опция -S используется вместе с одним из следующих фла- Поскольку конфигурирование ядра мы уже рассмотрели, зай- гов, предваряемых либо знаком «+» — включить, либо «-» — мемся конфигурированием пользовательского уровня. Как и выключить: Grsecurity, LIDS позволяет определить, каким образом файлы 3 LIDS_GLOBAL — включить/выключить LIDS глобально; и процессы будут взаимодействовать между собой в системе. 3 RELOAD_CONF — перезагрузить файл lids.conf и обновить Кроме этого LIDS имеет две очень полезные функции — LFS список защищенных инодов (об этом мы поговорим чуть позже); и «опечатывание» ядра (sealing the kernel). 3 LIDS — включить/выключить LIDS локально, то есть создать Загружаемые модули очень полезны, так как позволяют до- LFS, которая будет применена только к текущей оболочке; бавлять код во время выполнения ядра без его перекомпиля- 3 ACL_DISCOVERY — используется для отладки; когда вклю- ции. С другой стороны, злоумышленник может добавить в ядро чена, нарушения правил не запрещаются; свои собственные модули, а для нас это очень нежелательно. 3 SHUTDOWN — переключается в состояние shutwodn. Конечно, самое лучшее — включить весь необходимый код в Например, чтобы войти в LFS, выполните нижеприведен- состав ядра и вообще отключить поддержку загружаемых моду- ную команду: лей, но вряд ли это решение окажется для вас удобным. # lidsadm -S — -LIDS LIDS предлагает концепцию «опечатывания» ядра. Если яд- Чтобы выключить защиту LIDS, проделайте следующее: ро «опечатано», никто не может загрузить или выгрузить мо- # lidsadm -S — -LIDS_GLOBAL дуль. Сделать это можно с помощью команды lidsadm -I. Ее не- обходимо поместить в сценарии загрузки системы, только при | ACL файлов и возможностей | этом убедитесь, чтобы еще до начала выполнения этой коман- ACL используется для управления доступом к различным объек- ды все необходимые модули были уже загружены. «Опечатыва- там, например файлам или ресурсам (но в отличие от Grsecurity ние» ядра также предусматривает некоторые ограничения на- в LIDS нет ролей). В системе LIDS есть ACL двух типов: ACL бора возможностей, но об этом мы поговорим чуть позже. файлов (контролирует доступ к файлам и каталогам) и ACL воз- можностей (регулирует возможности исполнимых файлов). | LFS (LIDS-free Sessions) — сессии без LIDS | | ACL файлов | LFS — это всего лишь оболочка, на выполнение команд кото- LIDS определяет четыре режима для объектов: рой не накладываются ограничения LIDS, что позволяет адми- 3 DENY. Доступ к файлу запрещен. При обращении к нему
4/2005 LINUX| CHIP 64 advanced ·ÂÁÓÔ‡ÒÌÓÒÚ¸
приложения (например, ls или cat) будет получено сообщение об ошибке «No such file or directory (ENOET)» — «Нет такого файла или каталога». Внешне это будет выглядеть так, как буд- то файла вообще не существует. 3 READ. Объект может быть открыт в режиме «только для чте- ния», запись запрещена. 3 APPEND. Объект может быть открыт для чтения или добавле- ния информации. Данный режим удобно использовать для файлов журналов. 3 WRITE. Чтение и запись не ограничены. LIDS не защищает этот файл. Данные режимы могут быть заданы как для файла, так и для этого существует утилита lidsconf. Но прежде чем мы перейдем каталога. Если режим используется для каталога, то он будет к ее рассмотрению, все-таки необходимо понять, что означают примерен ко всем файлам, входящим в этот каталог. все эти числа: В LIDS ACL описывается следующим образом: 0:0::1:0:1114128:834:/sbin:0-0 <Тип ACL> <субъект> <объект> <доступ> <наследование> 0:0::1:0:1933326:834:/bin:0-0 Тип ACL определяет, на какой стадии работы будет контро- ... лироваться доступ к системе. Доступно четыре типа: ACL системы LIDS содержит номера инодов вместо имен 3 BOOT. Доступ будет контролироваться на стадии загрузки. файлов — например, если мы установим режим APPEND для 3 POSTBOOT. После загрузки. /var/log/messages, LIDS сохранит в ACL номер инода этого фай- 3 SHUTDOWN. При разгрузке системы. ла. Это позволит более жестко контролировать доступ к файлу, 3 null. Контроль доступа вне зависимости от стадии работы. ведь имя ничего не означает, главное — инод: можно удалить Обычно тип ACL просто не указывается (null) — это делается файл с именем /var/log/messages и заново создать файл с тем же для постоянного контроля, а первые три типа используются для именем. При этом имя не изменится, а инод — да. ослабления определенных ограничений. Субъект — это приложение, которому предоставляется до- | lidsconf | ступ (режимы доступа описаны выше) к объекту — файлу или Начиная со второй версии для администрирования и конфи- каталогу. Последнее поле, <наследование>, определяет, будет гурирования LIDS используются две разные утилиты. Утили- ли ACL наследоваться дочерними процессами или нет, и мо- ту администрирования — lidsadm — мы уже рассмотрели. Ос- жет принимать значения 0, 1 и -1. талось исследовать утилиту конфигурирования — lidsconf. Объект и субъект тесно связаны друг с другом. Например, Ниже приведены ее наиболее важные опции: субъекту /usr/bin/sshd (демону SSH) требуется доступ к объекту 3 -A, --add. Добавить запись. /var/run/sshd.pid. Вы определяете доступ, например WRITE. Но 3 -C,--check. Проверить существующие записи. вы должны понимать, что данное правило определяет доступ 3 -D, --delete. Удалить запись. только данного субъекта к конкретному объекту, оно никак не 3 -Z, --zero. Удалить все записи. относится к другим субъектам. Если же поле <субъект> пусто 3 -U, --update. Обновить /dev и номера инодов. (то есть субъект не указан), то данный режим доступа применя- 3 -L, --list. Вывести все записи. ется к объекту для любого субъекта (то есть любого процесса). Следующий пример показывает ACL по умолчанию, кото- Многие приложения (особенно shell-сценарии) во время вы- рый поставляется вместе lidstools-2.2.5rc1 (для удобства мы до- полнения вызывают другие программы, и это обязательно нуж- бавили в листинг номера строк): но учитывать при разработке ACL. По умолчанию наследование # lidsconf -L выключено, и дочерние процессы не наследуют режимы досту- Subject ACCESS inherit Object па, определенные для родительского процесса. Такой режим ра------боты может стать настоящей головной болью для администрато- 1) Any file READONLY: 0 /sbin ра — ему придется устанавливать режим доступа для каждого 2) Any file READONLY: 0 /bin процесса, вызываемого сценарием. Наследование можно вклю- 3) Any fileREADONLY: 0 /boot чить, установив значение 1 в поле <наследование>: это так на- 4) Any fileREADONLY: 0 /lib зываемый нерекурсивный режим наследования, то есть режим 5) Any fileREADONLY: 0 /usr доступа будет унаследован только дочерним процессом. Если же 6) Any file READONLY: 0 /etc вы хотите, чтобы режим доступа был унаследован не только до- 7) Any file DENY: 0 /etc/lids черним процессом, но и всеми его потомками, установите рекур- 8) Any file DENY: 0 /etc/shadow сивный режим — значение -1 для поля <наследование>. 9) Any file APPEND: 0 /var/log ACL хранятся в файле /etc/lids/lisd.conf. Открыв его, вы 10) Any file WRITE: 0 /var/log/wtmp увидите, что правила записаны в непонятном для человека ви- 11) /bin/loginREADONLY: 0 /etc/shadow де. Но вам не нужно редактировать этот файл вручную — для 12) /bin/loginGRANT: 0 CAP_SETUID
CHIP| LINUX 4/2005 ÒËÒÚÂχ LIDS 65
13 )/usr/sbin/sshd GRANT: 0 CAP_NET_ADMIN | |-httpd) 14) /bin/login GRANT: 0 CAP_GETID | |-httpd) Если несколько правил применимы к одному объекту, бу- | |-httpd) дет использовано самое последнее из них. Лучше всего это |-(keventd) можно продемонстрировать на примере каталога /etc, который |-(khubd) указан в правилах 6, 7, 8 и 11. Сначала /etc объявляется как |-(kjournald) READONLY (только чтение), затем объекты /etc/lids и |-klogd) -x /etc/shadow делаются невидимыми (DENY). Поскольку субъ- В случае с CAP_INIT_KILL демон определяется как процесс, ект не указан (Any file — «любой файл»), то ограничение приме- исходящий непосредственно от Init (PID Init всегда равен 1). няется к любому процессу. А в строке 11 READONLY доступ к К сожалению, это недостаток. Поскольку демон не может по- файлу /etc/shadow предоставляется только субъекту /bin/login. лучать сигналы, администратор не сумеет ни остановить Для добавления новых записей используется опция -A про- (SIGKILL), ни перезагрузить процесс (SIGHUP). Ко всему про- граммы lidsconf: чему, некоторые процессы, например Apache, которые «обща- lidsconf -A [тип ACL] [-s субъект] -o объект [-t с-по] ются» со своими «родственниками» с помощью сигналов, не [-i уровень] -j действие смогут нормально работать. Если же вы хотите использовать Как видите, обязательными в этом случае являются только CAP_INIT_KILL, первая проблема может быть решена с по- опции A, o и j: мощью LFS — отсюда разрешено отправлять процессам сигна- lidsconf -A -o /etc/hosts.conf -j READ лы. А вот для решения второй проблемы вы должны вклю- Все опции нам понятны, кроме разве что [-t с-по]. Она позво- чить CAP_INIT_KILL для определенного процесса, например ляет установить время действия правила, которое обычно указы- Apache. По-другому тут никак нельзя. вается в формате ЧЧММ-ЧЧММ. Например, чтобы правило LIDS немного модифицирует возможность CAP_BIND_ действовало с 8:00 по 19:35, используйте следующую опцию: NET_SERVICE. Обычно она включается для процесса, которо- -t 0800-1935. му нужно «привязаться» к привилегированному порту (с номе- Для удаления записи используется синтаксис: ром 0-1024). Но LIDS расширяет ее синтаксис, позволяя указы- lidsconf -D [тип ACL] [-s субъект] [-o объект] вать порт или диапазон портов, к которым разрешена привязка Мы можем указать субъект и/или объект — будут удалены процесса. Например, для Apache раньше разрешалась привязка все совпадающие правила. Можно также обозначить и тип к любому привилегированному порту, а теперь мы можем четко ACL, например POSTBOOT. указать, к каким именно портам разрешается привязываться этому сервису — 80 и 443. | Возможности | В предыдущем ACL, наверное, вы заметили действие GRANT, | Ограниченный набор возможностей | предоставляющее возможность CAP_SETUID, а именно их мы Это список возможностей, доступных (но необязательно уста- до этого и не рассматривали, поэтому самое время приступить. новленных) процессу в системе. Если какая-то из них не зна- LIDS предоставляет расширенное использование возмож- чится в данном списке, ее нельзя назначать процессу. Соответ- ностей (модуль возможностей capability security module должен ственно, для каждого процесса можно определить свои списки быть отключен в ядре). Кроме стандартных возможностей возможностей. Linux система LIDS предлагает две собственные: Конфигурация LIDS по умолчанию (/etc/lids.cap) разрешает 3 CAP_HIDDEN. Процессы с данной установленной возмож- все возможности, за исключением следующих: ностью не будут отображаться в /proc, что позволит скрыть 3 CAP_SETPCAP. Возможность устанавливать возможности процесс от программ ps, lsof и top; другого процесса. 3 CAP_INIT_KILL. Если эта возможность выключена для де- 3 CAP_SYS_MODULE. Возможность загружать и выгружать мона, то он не будет получать KILL-сигналы. модули ядра. CAP_HIDDEN не гарантирует, что процесс будет полностью 3 CAP_SYS_RAWIO. Возможность прямого ввода/вывода, то невидимым: например, сетевой демон можно обнаружить с по- есть доступа к файлам /dev/port, /dev/mem, /dev/kmem, а также мощью netstat или сканера портов, а также по наличию файла прямого доступа к дискам (например, /de/hda). /var/run/название.pid. 3 CAP_KILL_PROTECTED. Возможность «убивать» защищен- А теперь перейдем к CAP_INIT_KILL. Рассмотрим дерево ные процессы. процессов с помощью pstree: Помните, что X Window требует возможности $ pstree -a CAP_SYS_RAWIO. Если вам нужна эта система, установите init) данную возможность для исполнимого файла X. |-atd) |-(bdflush) | Установка и модификация |-crond) возможностей | |-httpd) Установка возможностей производится с помощью все той же | |-httpd) утилиты lidsconf. Синтаксис добавления возможности — тот
4/2005 LINUX| CHIP 66 advanced ·ÂÁÓÔ‡ÒÌÓÒÚ¸
же, что и в случае добавления правила для файла, только для Наиболее важными файлами в каталоге /etc являются pass- разрешения этой возможности используется действие GRANT. wd/passwd- и shadow/shadow-: вы должны запретить всем Добавим возможность запуска X Window: субъектам доступ к shadow/shadow- (DENY), за исключением lidsconf -A -s /usr/X11/bin/X -o CAP_SYS_RAWIO -j GRANT субъектов /bin/login, su и /usr/sbin/sshd — им полагается до- В этом случае нужно конкретно указывать субъект прави- ступ READONLY. ла — процесс, которому разрешается та или иная возмож- Но мы еще не учли утилиту /usr/bin/passwd. Ей нужен ность. В вышеприведенном примере мы предоставляем воз- WRITE-доступ к файлу /etc/shadow, чтобы пользователь имел можность прямого ввода/вывода CAP_SYS_RAWIO процессу возможность изменить свой пароль. Когда он сделает это, /usr/X11/bin/X. файл /etc/shadow будет создан заново, а не просто модифици- А теперь разрешим веб-серверу Apache привязываться к не- руется. В результате изменится инод файла, а поскольку LIDS привилегированному порту: привязывается к инодам, то после его изменения она уже lidsconf -A -s /usr/sbin/httpd -o CAP_BIND_NET_SERVICE -j не будет защищать файл — ведь нового инода в «базе дан- GRANT ных» LIDS не существует. Кроме того, нужно предоставить Более безопасным будет вариант разрешения привязки программе passwd WRITE-доступ ко всему каталогу /etc, по- Apache к портам 80 и 443. Синтаксис возможности не предусма- скольку запись файла — это изменение каталога. Если на ме- тривает задание единичных портов, а только диапазонов, поэто- сте passwd будет эксплоит злоумышленника, он сможет полу- му мы будем использовать нулевые диапазоны 80-80 и 443-443: чить доступ ко всем файлам в каталоге /etc. lidsconf -A -s /usr/sbin/httpd -o CAP_BIND_NET_SERVICE К сожалению, не существует простого способа решения 80-80,443-443 -j GRANT этой проблемы: вы или должны использовать альтернативную Также рекомендуем установить для Apache возможность схему аутентификации, например LDAP, чтобы запретить CAP_INIT_KILL, чтобы он мог «общаться» со своими потом- пользователям изменять свои пароли, или открыть WRITE- ками (но Apache — это только пример, не забывайте и о других доступ к /etc. Существует, правда, еще один способ, самый бе- сервисах, которые используют подобную форму IPC!): зопасный, но очень неудобный для администратора. Вы за- lidsconf -A -s /usr/sbin/apache -o CAP_INIT_KILL -j GRANT прещаете WRITE-доступ к /etc, а для того чтобы изменить свой пароль, пользователь должен будет обратиться непосред- | Реализация LIDS | ственно к вам. Вы сможете изменить его пароль в LFS-сессии, Теперь, когда мы знаем, как работает LIDS, и знакомы с ее ос- а заодно и проверите его на «стойкость». Такой вариант при- новными опциями, можно приступать к ее практической реа- емлем, если пользователей у вас немного — до 10 человек. лизации в нашей системе. Учитывая то, что пароли они меняют не слишком часто, раз- Помните, что разработка ACL для всей системы — очень труд- дражать это вас особо не будет. А вот если пользователей 200... ная и объемная задача, поэтому мы рекомендуем вам создать Если обеспечение полной защиты каталога /etc для вас shell-сценарий, содержащий вызовы lidsconf. Первой командой слишком сложно, нужно обеспечить хотя бы защиту ключе- будет являться lidsconf -Z — эта директива удаляет все ранее существующие ACL. Данный сценарий нужно поместить в Предыстория технологии /etc/lids – это сделает его не видимым за пределами LFS-сессии. åÓ‰ÛÎË Á‡˘ËÚ˚ (LSM) | Защита системных программ | Все начиналось с разработки будет рассматриваться бо- Какие же системные файлы и каталоги требуют защиты LIDS? различных систем управле- лее обширная система бе- Защищать нужно содержимое /bin, /sbin, /lib, /usr/bin, /usr/lib и ния доступом, которые реа- зопасности. Так появился /usr/sbin. В эти каталоги производится установка программно- лизовывались в виде патчей проект LSM (Linux Security ядра Linux. Но в результате Modules). Его цель — предо- го обеспечения, и, если мы сделаем их доступными только для из-за отсутствия централи- ставить разработчикам сис- чтения (READONLY), злоумышленник не сможет записывать зованной координации по- тем защиты общий (единый) троянские версии системных программ. Также не забудьте за- лучилось, что каждый про- интерфейс для реализации щитить каталоги /usr/local/bin и /usr/local/lib, если придержи- ект защиты имел свой патч проектов, основанных на яд- ваетесь стратегии установки программ в /usr/local. Конечно, для ядра, часто несовмести- ре. Это позволит уменьшить при установке новой программы защита этих каталогов может мый с другими патчами. зависимость от ядра, кроме создать некоторые неудобства для администратора, но поверь- В прошлом Линус Торвальдс того, не нужно будет его те, это стоит того. категорически отвергал все перекомпилировать, как в /etc и /etc/shadow эти патчи, но в 2001 году случае с патчами. Все LSM- в ответ на технологию модули используют стан- Конфигурационные файлы — это другая область защиты. SELinux, представленную дартный интерфейс для вза- Подавляющее большинство файлов в этом каталоге требует до- NSA (Агентство националь- имодействия с ядром, кото- ступ «только для чтения», поэтому можно сначала установить ной безопасности) на Linux рый не будет изменяться с для всего каталога режим READONLY, а затем разрешить до- Kernel Summit, он заявил, выходом следующего релиза ступ в режиме WRITE к каким-то отдельным файлам — гло- что для включения в ядро (не версии) ядра. бально или для определенных субъектов.
CHIP| LINUX 4/2005 ÒËÒÚÂχ LIDS 67
частей. Первая часть содержит общий набор правил, предо- ставляющих базовый доступ, — она подойдет не только для DNS-сервера, но и других приложений, запущенных в систе- ме Linux. Во второй части будут описаны специфические для DNS-сервера правила, ограничивающие доступ к файлам, а также определяющие его возможности. Как было отмечено ранее, набор правил мы представим в виде shell-сценария, со- держащего серию команд lidsconf. Сперва нужно сделать системные исполнимые файлы и биб- лиотеки доступными только для чтения. Обойти это ограниче- ние можно только в LFS-оболочке. Итак, нам нужно защитить вых файлов. Наиболее важными являются каталоги /etc/rc.d каталоги /bin, /sbin, /usr и /opt: и /etc/rc.d/init.d. /sbin/lidsconf -A -o /bin -j READONLY Теперь перейдем к файлу /etc/lids/lids.cap. Как уже было от- /sbin/lidsconf -A -o /sbin -j READONLY мечено, следующие возможности должны быть запрещены: /sbin/lidsconf -A -o /usr -j READONLY 3 CAP_SYS_RAWIO. Возможность прямого ввода/вывода, то /sbin/lidsconf -A -o /opt -j READONLY есть доступа к файлам /dev/port, /dev/mem, /dev/kmem, а также Мы не определили субъект, поэтому указанные объекты будут прямого доступа к дискам (например, /de/hda). доступны только для чтения всем процессам в системе. Не забы- 3 CAP_SYS_PTRACE. Возможность трассировки системных вайте, что ACL наследуется, то есть доступ READONLY получат вызовов, производимых процессом. также и все подкаталоги данных каталогов. Также следует 3 CAP_SETPCAP. Возможность устанавливать возможности помнить, что наследование не распространяется на подмон- другого процесса. тированные файловые системы. Например, если к /usr/local 3 CAP_KILL_PROTECTED. Возможность «убивать» защищен- подмонтирован другой раздел, то правила, примененные к ные процессы. /usr, не будут распространяться на файлы и каталоги, находя- 3 CAP_SYS_MODULE. Возможность загружать и выгружать щиеся на другом разделе. модули ядра. Кроме этих каталогов нам нужно защитить также /etc и /boot. Единственное приложение, которое требует первую возмож- Однако, как было отмечено ранее, предоставление доступа ность, — это X11. Для всех остальных приложений все эти воз- READONLY к каталогу /etc довольно проблематично, поэтому можности должны быть отключены. мы сконцентрируемся на защите его ключевых файлов, ведь на- ибольший интерес для злоумышленника представляют именно | Определение требуемого доступа | они. Например, /etc/exports определяет экспортируемые файло- Как определить, к каким файлам и каталогам нужно обращаться вые системы, а изменив файл /etc/resolv.conf, он может перена- тому или иному приложению? Отслеживать системные вызовы править запросы нашего резолвера на свой DNS-сервер, кото- open(), chdir(), mkdir() и другие — дело неблагодарное, но вам все рый будет выдавать неправильную информацию. же нужно будет через это пройти. Немного облегчить задачу поз- /sbin/lidsconf -A -o /boot -j READONLY воляет LIDS-FAQ, расположенный по адресу www.lids.org/fids- /sbin/lidsconf -A -o /etc/HOSTNAME -j READONLY faaq/lids-faq.html. Там вы найдете ACL для таких приложений как /sbin/lidsconf -A -o /etc/apache -j READONLY login, su, MySQL, BIND, OpenSSH, Apache и других. /sbin/lidsconf -A -o /cron.daily -j READONLY При самостоятельной разработке ACL для приложения, ко- /sbin/lidsconf -A -o /cron.hourly -j READONLY торое вы не встретите в LIDS-FAQ, последовательность дейст- /sbin/lidsconf -A -o /cron.weekly -j READONLY вий приблизительно следующая: /sbin/lidsconf -A -o /exports -j READONLY 3 Проверьте, к каким файлам и каталогам необходим доступ /sbin/lidsconf -A -o /hosts -j READONLY для этого приложения. Это можно сделать с помощью ptrace. /sbin/lidsconf -A -o /hosts.allow -j READONLY Какие файлы конфигурации использует программа? Будет ли /sbin/lidsconf -A -o /hosts.deny -j READONLY она записывать что-то в /var/run? /sbin/lidsconf -A -o /hosts.equiv -j READONLY 3 Нужно ли приложению привязываться к привилегированно- /sbin/lidsconf -A -o /identd.conf -j READONLY му порту? Если да, то для него нужно включить возможность /sbin/lidsconf -A -o /ld.so.conf -j READONLY CAP_BIND_NET_SERVICE, указав необходимые порты. /sbin/lidsconf -A -o /login.access -j READONLY Проверить ACL просто: запустите приложение при вклю- /sbin/lidsconf -A -o /login.defs -j READONLY ченной защите LIDS. Если что-то пойдет не так, в /var/log/ /sbin/lidsconf -A -o /logrotate.conf -j READONLY messages появится соответствующее сообщение LIDS. /sbin/lidsconf -A -o /mail -j READONLY /sbin/lidsconf -A -o /modules.conf -j READONLY | Пример ACL для DNS-сервера | /sbin/lidsconf -A -o /named.conf -j READONLY Давайте рассмотрим пример ACL, позволяющий DNS-серверу /sbin/lidsconf -A -o /networks -j READONLY работать на нашей машине. Этот ACL будет состоять из двух /sbin/lidsconf -A -o /ntp.conf -j READONLY
4/2005 LINUX| CHIP 68 advanced ·ÂÁÓÔ‡ÒÌÓÒÚ¸
/sbin/lidsconf -A -o /resolv.conf -j READONLY программу strace, которая отобразит все системные вызовы, а /sbin/lidsconf -A -o /rc.d -j READONLY вместе с ними и внешние файлы. Опция -f не позволяет прило- /sbin/lidsconf -A -o /services -j READONLY жению перейти в фон: /sbin/lidsconf -A -o /shells -j READONLY # strace -f -o named_trace named /sbin/lidsconf -A -o /ssh -j READONLY Вывод программы named будет записан в файл named_trace. /sbin/lidsconf -A -o /sudoers -j READONLY Демон named должен поработать несколько часов, после этого /sbin/lidsconf -A -o /sudoers.conf -j READONLY завершите процесс (named, а не strace!) и проанализируйте /sbin/lidsconf -A -o /etc/ -j READONLY файл named_trace: В зависимости от установленных в системе пакетов, возмож- # cat named_trace | grep open но, придется добавить и другие файлы в этот список. Мы же Данная команда выведет все вызовы open() — вы увидите не описали наиболее критичные из них. только файлы, задействованные приложением, но и режимы, в Также не нужно забывать про файлы журналов, которые нахо- которых они используются. На основании этого списка мы мо- дятся в каталоге /var/log. Для большинства из них можно устано- жем составить следующий список правил LIDS: вить режим APPEND, для некоторых — WRITE, но только для /sbin/lidsconf -A -s /usr/sbin/named -o / -j DENY субъектов login, init и halt возможны лишь следующие режимы: /sbin/lidsconf -A -s /usr/sbin/named -o /usr/lib -j READ /sbin/lidsconf -A -o /var/log -j APPEND /sbin/lidsconf -A -s /usr/sbin/named -o / lib -j READ /sbin/lidsconf -A -s /bin/login -o /var/log/wtmp -j WRITE /sbin/lidsconf -A -s /usr/sbin/named -o /usr/share/locale -j READ /sbin/lidsconf -A -s /bin/login -o /var/log/lastlog -j WRITE /sbin/lidsconf -A -s /usr/sbin/named -o /etc/ld.so.preload -j READ /sbin/lidsconf -A -s /sbin/init -o /var/log/wtmp -j WRITE /sbin/lidsconf -A -s /usr/sbin/named -o /etc/ld.so.cache -j READ /sbin/lidsconf -A -s /sbin/init -o /var/log/lastlog -j WRITE /sbin/lidsconf -A -s /usr/sbin/named -o /etc/localtime -j READ /sbin/lidsconf -A -s /sbin/halt -o /var/log/wtmp -j WRITE /sbin/lidsconf -A -s /usr/sbin/named -o /etc/rndc.key -j READ /sbin/lidsconf -A -s /sbin/halt -o /var/log/lastlog -j WRITE /sbin/lidsconf -A -s /usr/sbin/named -o /var/log -j APPEND Благодаря этим ограничениям злоумышленник, получив- /sbin/lidsconf -A -s /usr/sbin/named -o /dev/random -j READ ший root-доступ, не будет способен отредактировать эти Данный перечень несколько упрощен, поскольку named файлы, чтобы скрыть свое присутствие. Недостаток этого использует много библиотек в /usr/lib и /lib, но проще пре- метода заключается в том, что утилита logrotate не сможет доставить READ-доступ к этим каталогам, чем прописывать больше функционировать, но всему есть своя цена. Теперь за отдельно каждую библиотеку. «уборку» журналов отвечаете лично вы — администратор. Теперь пришла очередь установки возможностей. Прежде Чтобы logrotate работала, ей нужно предоставить WRITE- всего, разрешим named привязываться к порту 53: доступ ко всему каталогу /var/log, но мы не рекомендуем /sbin/lidsconf -s /usr/sbin/named -o CAP_NET_BIND_SER- этого делать, поскольку злоумышленник может начать запу- VICE 53-53 -j GRANT скать logrotate много раз подряд — до тех пор, пока из жур- При запуске named с опцией -u <имя пользователя> он сни- нала не будут удалены следы его присутствия. Отключите жает свои привилегии до уровня обычного пользователя, ука- logrotate и «почистите» журналы вручную. Во многих систе- занного с помощью опции u. Поэтому нужно разрешить ему мах logrotate вызывается демоном cron — чтобы этого не про- производить вызовы SUID и SGID: исходило, нужно удалить файл /etc/cron.daily/logrotate или /sbin/lidsconf -s /usr/sbin/named -o CAP_SETUID 53-53 закомментировать его содержимое. -j GRANT Теперь вернемся к правилам. Нам нужно определить, как /sbin/lidsconf -s /usr/sbin/named -o CAP_SETGID 53-53 named взаимодействует с системой; мы должны предугадать все -j GRANT файлы, доступ к которым понадобится приложению, а также Если BIND запускается в chroot-окружении, нужно устано- определить возможности этого самого приложения. Сперва за- вить возможность CAP_SYS_CHROOT: претим доступ ко всей файловой системе: /sbin/lidsconf -s /usr/sbin/named -o CAP_SYS_CHROOT /sbin/lidsconf -A -s /usr/sbin/named -o / -j DENY -j GRANT BIND должен получить доступ к файлу конфигурации Как и Apache, BIND может иметь несколько потомков, ко- (/etc/named.conf), а также файлам зоны (каталог /var/named): торым понадобится доступ ко всем файлам и возможностям, /sbin/lidsconf -A -s /usr/sbin/named -o /etc/named.conf -j READ описанным ранее, поэтому для переноса возможностей другим /sbin/lidsconf -A -s /usr/sbin/named -o /var/named -j READ процессам нужно разрешить CAP_SYETPCAP: Как и любой другой демон, named записывает свой PID в /sbin/lidsconf -s /usr/sbin/named -o CAP_SYETPCAP файл, расположенный в каталоге /var/run. Обычно он называ- -j GRANT ется /var/run/named.pid. Мы должны разрешить приложению Настало время протестировать созданный ACL. Запустите создавать файл с таким именем: named и следите за системными журналами — в них вы найде- /sbin/lidsconf -A -s /usr/sbin/named -o /var/run/named.pid -j WRITE те сообщения об ошибках, если что-то вдруг пойдет не так. На данный момент мы позаботились обо всех файлах, кото- В завершение нужно сказать, что если у вас возникли про- рые нужны демону named. Теперь нужно определить, какие ему блемы с тем или иным сервисом, посетите сайт www.lids.org — понадобятся библиотеки. Для этого мы будем использовать там вы найдете множество готовых ACL для разных сервисов. |
CHIP| LINUX 4/2005 advanced ·ÂÁÓÔ‡ÒÌÓÒÚ¸ ÛÒڇ̇‚ÎË‚‡ÂÏ NIDS Snort 69
Сергей Яремчук Ä„ÂÌÚ ÒËÒÚÂÏÌÓÈ ·ÂÁÓÔ‡ÒÌÓÒÚË По данным институтов, занимающихся безопасностью (например, CERT, www.cert.org), число инцидентов в Интернете постоянно растет. Действительно, данные с описаниями взломов, а также готовые программы и эксплоиты сегодня найти довольно просто. Поэтому даже неопытный пользователь может вообразить себя хакером и попробовать в действии весь доступный арсенал.
Для обнаружения атак в состав Unix-систем включается целый Intrusion Detection System — NIDS) и «индивидуальные» сис- ряд полезных приложений, имеющих определенные задачи и темы host-based. Первые контролируют проходящий сетевой нацеленных на конкретный класс атак. Здесь и межсетевые эк- трафик, а вторые, анализируя данные на конкретном узле, пы- раны, закрывающие ненужные порты, и антивирусные про- таются обнаружить злонамеренные действия. В последнее вре- граммы, осуществляющие поиск вирусов, и сетевые сканеры, мя начали быстро развиваться так называемые гибридные IDS, и сканеры безопасности, определяющие уязвимые участки се- сочетающие в себе возможности обоих типов – сетевых и узло- ти, которые могут быть использованы злоумышленником для вых. Есть еще и Application Based IDS, выявляющие атаки, на- атаки. Пассивные атаки, цель которых — сбор информации правленные на конкретные приложения. По типу определения без воздействия на работающие службы вроде перехвата тра- атак системы IDS делятся на сигнатурные, работа которых по- фика, определяются программами-антиснифферами (AntiSniff, добно антивирусам заключается в поиске заранее известных Sentinel). Средства контроля целостности файловых систем признаков атаки, и системы, реагирующие на аномалии в кон- (Tripwire, AIDE) и обнаружения закладок (chkrootkit, rkdet) тролируемой системе или сети. Имеются и подклассифика- позволяют безошибочно определить несанкционированное из- ции, например статистические и адаптивные системы, строящие менение важных системных файлов или установку suid/guid на профиль защищаемой среды по разным правилам. Кроме того, пользовательские приложения. Всех программ не перечесть. сегодня быстрыми темпами развиваются Intrusion Prevention Особое место в этом списке занимают IDS (Intrusion Detection System, способные не только обнаруживать, но и останавливать Systems) – системы обнаружения атак и вторжений. атаки. Каждый тип подобных систем имеет свои достоинства и Системы IDS, в свою очередь, также подразделяются на недостатки, о них мы говорить не будем, классификация же классы. Например, сетевые системы обнаружения атак (Network приведена для того, чтобы была понятна сложность этой задачи,
4/2005 LINUX| CHIP 70 advanced ·ÂÁÓÔ‡ÒÌÓÒÚ¸
а также показано конкретное место в общей системе обнаруже- ÅÓΠ100 Ú˚Òfl˜ ÔÓθ- ния телекоммуникационных атак, которое занимает NIDS Snort ÁÓ‚‡ÚÂÎÂÈ, ·ÓΠ‰‚Ûı (www.snort.org). Еще одно отступление, которое необходимо ÏËÎÎËÓÌÓ‚ Á‡„ÛÁÓÍ сделать: дословно IDS переводится как «система обнаружения вторжений», поэтому в литературе чаще всего используется именно этот термин, что, в принципе, не всегда правильно. На- пример, система IDS может обнаружить неудачную атаку, кото- рая не привела к вторжению, поэтому более логичным будет использование термина «система обнаружения атак» — СОА.
| Возможности Snort | ность не только выявлять, но и останавливать предпринятую Первые упоминания о СОА относятся к 1980 году, а именно к атаку, перестраивая правила iptables. И теперь Snort можно по публикации Джона Андерсона «Computer Security Threat праву назвать полноценной системой предотвращения атак. Monitoring and Surveillance». Но активно развиваться это на- Сегодня Snort может работать в четырех режимах: правление стало гораздо позже, в 90-х годах прошлого столетия. 3 как пакетный сниффер, который подобно tcpdump, также ис- О Snort впервые заговорили в 1998 году, когда ее основатель пользуя libpcap, отлавливает пакеты в сети и выводит на экран Мартин Роеш решил создать некие правила, которые могли информацию о них; бы логично описывать информацию перехваченных сетевых 3 как регистратор пакетов, записывающий данные на диск; пакетов в созданном им пакетном сниффере. Snort очень быст- 3 как комплексная перестраиваемая система обнаружения атак, ро учился обнаружению атак, а Мартин постоянно совершен- анализирующая сетевой трафик, следуя правилам, и выполня- ствовал свой продукт, привлекая все большее количество сто- ющая на их основе определенные действия; ронников. Постепенно Snort обретал способность работать 3 как система предотвращения атак, получающая вместо libpcap с фрагментированными пакетами, учился обрабатывать TCP- пакеты из iptables, способная отвергать или пропускать пакеты, заголовки, SLIP- и PPP-пакеты, правила становились несколь- основываясь на специфических правилах. ко неудобными в написании, но зато выигрывали по части чи- Всю собранную информацию детектор Snort позволяет сохра- таемости, росло количество операционных систем, в которых нить в файлах журналов различных форматов (обычные ASCII, можно было запустить Snort, появлялись препроцессоры. текстовые файлы или так называемые бинарные, совместимые с Итак, Snort является сетевой системой обнаружения атак с от- tcpdump). Кроме того, для удобства анализа всю собранную ин- крытым исходным кодом, способной выполнить в реальном вре- формацию можно занести в базу данных: Postgresql, MySQL, MS мени анализ IP-пакетов, передаваемых на контролируемых SQL Server, Oracle или unixODBC. Хотя, в принципе, можно ис- интерфейсах, с целью обнаружения атак или попыток поиска пользовать любую другую базу данных, не представленную в уязвимостей. Snort обнаруживает атаки, комбинируя два мето- этом списке, но тогда таблицы придется формировать вручную. да — сигнатурный и анализ протоколов. Для описания событий, Часто в литературе Snort называют легкой IDS, подразумевая, которые могут считаться злонамеренными или аномальными, что она предназначена для работы в сетях с небольшой нагруз- используются гибкий язык правил и модульная система анализа. кой. Это утверждение несколько устарело, учитывая хотя бы то, Кстати, сегодня существует два типа правил: официальные сер- что сегодня даже домашние сети могут быть построены на гига- тифицированные и строго протестированные Sourcefire VRT битных адаптерах, которые называть легкими язык уже не пово- Certified Rules, распространяющиеся по лицензии VRT Certified рачивается. Система, построенная на датчиках Snort, способна Rules License Agreement, ограничивающей их коммерческое ис- собирать и обрабатывать информацию с нескольких сетевых ло- пользование. Эти правила доступны в двух вариантах — для заре- каций. Все в дело в производительности компьютеров, исполь- гистрированных и незарегистрированных пользователей. Реги- зуемых в качестве сенсоров. Для того чтобы улучшить произво- страция абсолютно бесплатна. Все изменения в первую очередь дительность, разделяя быструю работу IDS по захвату пакетов распространяются по подписчикам (subscription release с буквой и относительно медленную по занесению информации, необ- s в названии пакета), затем становятся доступными для заре- ходимо использовать Barnyard, который доступен на странице гистрированных пользователей (без буквы s). Те же, кто не заре- закачки проекта Snort. В этом случае Snort создает двоичный гистрировался, довольствуются статистическими правилами, выходной, так называемый «унифицированный» формат, с кото- обновляемыми только к выходу очередного релиза Snort и, есте- рым в дальнейшем и работает Barnyard. ственно, отстающими от жизни (они имеют префикс pr в назва- нии). Например, на момент написания статьи (середина ноября) | Установка Snort | эти правила датировались июлем 2005 года. Второй тип правил На момент написания статьи актуальной была версия 2.4.3. В ка- называется Community Rules. Они созданы добровольцами, но честве варианта можно использовать последний снимок snort- еще не прошли проверку и распространяются под лицензией snapshots-CURRENT.tar.gz. Хотелось бы отметить, что подката- GPL. Решать, использовать их или нет, вам. лог contrib, содержащий различные дополнения к Snort, начиная Но это еще не все. Начиная с версии 2.3.0 RC1, в Snort вклю- с версии 2.2.0 пустует. Скрипты для создания баз данных пере- чен код проекта Snort-inline, тем самым он получил возмож- местились в подкаталог schemas, а скрипты для создания RPM-
CHIP| LINUX 4/2005 ÛÒڇ̇‚ÎË‚‡ÂÏ NIDS Snort 71
пакетов — в одноименный подкаталог. Остальные же расшире- Сюда мы будем складывать все конфигурационные файлы ния можно найти на странице www.snort.org/dl/contrib. Все самое и правила. важное сказано, теперь можно начинать установку. Для выпол- # mkdir /var/log/snort нения большинства операций потребуются права root. А здесь будет вестись журнал работы. Распаковываем архив: Теперь в каталог /etc/snort копируем все, что лежит в подка- $ tar –xzvf snort-snapshots-CURRENT.tar.gz талоге etc дистрибутива. $ cd HEAD # cp –R /home/sergej/work/HEAD/etc/* /etc/snort/ Внутри вы не найдете привычного конфигурационного Далее распаковываем файл правил и помещаем их в скрипта, его необходимо создать: /etc/snort/rules. В принципе, место для них можно выбрать лю- $ ./autojunk.sh бое, но так удобнее, к тому же это считается традиционным: Теперь конфигурируем. В самом простом случае скрипту ни- # tar –xzvf snortrules-snapshot-CURRENT.tar.gz каких параметров передавать не надо. Если же необходимо ис- # mv rules /etc/snort пользовать базу данных, то, например, для MySQL добавляем Рассмотрим одно правило, для того чтобы стало ясно, как опцию --with-mysql, для включения режима остановки атак до- они пишутся. Например, одно-единственное правило в файле бавляем --enable-inline. Остальные опции можно просмотреть с virus.rules содержит такую запись: помощью -help: alert tcp $HOME_NET any -> $EXTERNAL_NET 25 $ ./configure --with-mysql (msg:"VIRUS OUTBOUND bad file attachment"; flow:to_serv- Так как Snort является, по своей сути, сниффером, перехва- er,established; content:"Content-Disposition|3A|"; nocase; тывающим пакеты, то для компиляции требуется библиотека pcre:"/filename\s*=\s*.*?\.(?=[abcdehijlmnoprsvwx])(a(d[ep]|s[ libpcap, которая обычно идет вместе с tcpdump. Поэтому, если dfx])|c([ho]m|li|md|pp)|d(iz|ll|ot)|e(m[fl]|xe)|h(lp|sq|ta)|jse?|m(d[abe во время конфигурирования вы получили такую ошибку: w]|s[ip])|p(p[st]|if|[lm]|ot)|r(eg|tf)|s(cr|[hy]s|wf)|v(b[es]?|cf|xd)|w(m ERROR! Libpcap header not found, go get it from [dfsz]|p[dmsz]|s[cfh])|xl[tw]|bat|ini|lnk|nws|ocx)[\x27\x22\n\r\s]/ www.tcpdump.org/ or use the --with-libpcap-* iR"; classtype:suspicious-filename-detect; sid:721; rev:8;) options, if you have it installed in an unusual place Несмотря на довольно внушительный вид, правило очень про- Необходимо зайти на сайт www.tcpdump.org, скачать и затем ус- стое, и если разобрать его по частям, то все становится на свои тановить библиотеку libpcap. Или другой пример. При конфигу- места. Первая строка говорит о том, что все сообщения по прото- рировании с опцией --enable-inline я получил следующую ошибку: колу TCP, направленные из домашней сети с любого порта во checking "for libnet.h version 1.0.x"... /sw/include внешнюю сеть на порт 25 (что говорит о почтовых сообщениях), ./configure: line 1: dnet-config: command not found имеющие в своем составе присоединенный файл с определенны- ./configure: line 1: dnet-config: command not found ми расширениями, определяются как подозрительные. Директи- checking dnet.h usability... no ва alert указывает на действия, которые должен производить Snort checking dnet.h presence... no при обнаружении пакета, попадающего под это правило. По checking for dnet.h... no умолчанию имеется пять действий: alert, log, pass, activate и dynam- ERROR! Libdnet header not found, go get it from ic. Кроме того, в режиме inline доступны еще три — drop, reject и http://libdnet.sourceforge.net or use the --with-dnet-* sdrop. В некоторых случаях в состав правила включены коммента- options, if you have it installed in an unusual place рии (reference), позволяющие найти более подробную информа- В принципе, в подсказке написано, что необходима библио- цию об уязвимости на специальных ресурсах. В нашем же случае тека libnet, но в этом случае я знал, что она у меня есть. Поэто- таких указателей нет, так как это правило можно отнести к общим, му я просто нашел, где лежит нужный заголовочный файл: но в самом файле содержится подробное объяснение. Правило # find /usr -name libnet.h может быть односторонним (->) и двусторонним (< >), когда на- И добавил при конфигурировании параметр --with-dnet- правление движения пакета роли не играет. Также в правиле мо- includes=/usr/include/. жет использоваться директива priority, указывающая на приоритет. Также при установке в режиме inline вам обязательно потребу- При появлении событий с определенным приоритетом они могут ется наличие заголовочных файлов iptables. Если конфигуратор быть обработаны сторонними утилитами, такими как swatch не может их найти, то, для того чтобы преодолеть эту проблему (Simple Watcher) или syslog-ng (syslog-next generation), и выполнять (если не помогают вышеописанные методы), необходимо ска- какие-либо действия, например отправлять e-mail. чать и распаковать исходные тексты iptables (www.iptables.org) и в образовавшемся каталоге ввести команду make install-devel. | Файл конфигурации snort.conf | Когда конфигурация завершится без ошибок, нужно ввести И последний шаг, который осталось сделать, — отредактиро- традиционные make и make install и приступить к настройке. вать конфигурационный файл /etc/snort/snort.conf. В дистри- бутиве уже имеется готовый шаблон, поэтому с нуля его писать | Настройка Snort | не придется. В файле используются переменные, в том числе Не знаю, с чем это связано, но все каталоги, необходимые для встречающиеся и в правилах. Это довольно удобно — при сме- работы Snort, до сих пор приходится создавать вручную. не какого-либо параметра не придется его переписывать не- # mkdir /etc/snort сколько раз. Кроме того, некоторые опции вынесены во внеш-
4/2005 LINUX| CHIP 72 advanced ·ÂÁÓÔ‡ÒÌÓÒÚ¸
ние файлы, которые подключаются директивой include с име- цессоры направлены на определение аномалий в работе оп- нем файла. Все параметры щедро снабжены комментариями, ределенных сервисов. Так, X-Link2State предназначен для которые традиционно начинаются со знака решетки. Для удоб- определения уязвимости в Microsoft Exchange Server, ства восприятия файл разбит на пять частей: HTTPInspect изучает аномалии в HTTP-трафике. 3 установка переменных сети; В третьей секции «Configure output plugins», как уже говори- 3 настройка препроцессоров; лось, настраиваются выходные параметры. В общем случае 3 настройка вывода информации; строка параметров имеет такой вид: 3 установка дополнительных директив; output
CHIP| LINUX 4/2005 ÛÒڇ̇‚ÎË‚‡ÂÏ NIDS Snort 73
В конце секции с помощью директивы include подключаем DISCARD: 0 (0.000%) файл classification.config, содержащий описание классифика- Action Stats: ций и приоритетов атак, а также файл reference.config, содержа- ALERTS: 0 щий URL для сообщений об обнаруженных уязвимостях. LOGGED: 0 И, наконец, в конце файла вы найдете секцию «Customize PASSED: 0 your rule set», в которой необходимо убрать комментарии, ука- Если в системе один интерфейс, то программа сама разбе- зывающие на файлы с правилами: рется, с чем ей работать. В противном случае его требуется ука- include $RULE_PATH/local.rules зать при помощи -i: include $RULE_PATH/bad-traffic.rules # snort –vd -i eth0 include $RULE_PATH/exploit.rules Можно указать на конкретную информацию, которую тре- include $RULE_PATH/scan.rules буется захватить. Например, устанавливаем в качестве домаш- include $RULE_PATH/finger.rules ней сети 192.168.1.0 и захватываем пакеты с узла 192.168.1.1: …. # snort -h 192.168.1.0/24 -d -v host 192.168.1.1 # include $RULE_PATH/multimedia.rules Для регистрации пакетов в общем случае указываем каталог, # include $RULE_PATH/p2p.rules в который надо записывать информацию: include $RULE_PATH/experimental.rules # snort -l ./log Названия правил говорят сами за себя. Оставьте то, что дей- Если на выходе требуется файл формата tcpdump, то добав- ствительно нужно (если сомневаетесь, лучше включите все). ляем параметр -b. По умолчанию файл local.rules пуст, в него заносит свои прави- И, наконец, работа в режиме обнаружения атак. Так как ла сам пользователь. В качестве варианта можно создать от- файл snort.conf уже создан, то поступаем просто: дельный файл, вынести в него необходимые параметры и под- # snort -c /etc/snort/snort.conf ключить с помощью директивы include. Для тестирования набираем ping -s 65507. После чего, если выбран соответствующий режим ведения журнала, в каталоге | Запуск Snort | /var/log/snort появится файл с предупреждением о потенциаль- После того как все готово, можно запускать Snort. Для работы в но зловредном пакете: режиме сниффера Snort запускается с флагом -v. При этом на [**] [1:499:3] ICMP Large ICMP Packet [**] экран будут выводиться заголовки пакетов. Если же вы хотите [Classification: Potentially Bad Traffic] [Priority: 2] видеть и данные, используйте команду: 15/11-18:21:2.1131991802 192.168.0.1 -> 192.168.0.20 # snort –vd ICMP TTL:255 TOS:0x0 ID:18479 IpLen:20 DgmLen:63028 *** interface device lookup found: eth0 Type:0 Code:0 ID:512 Seq:19456 ECHO REPLY Running in packet dump mode [Xref => arachnids 246] Initializing Network Interface eth0 При более всестороннем тестировании СОА следует исполь- --== Initializing Snort ==-- зовать специальные утилиты вроде IDSwakeup (www.hsc.fr/ Initializing Output Plugins! ressources/outils/idswakeup/download). Decoding Ethernet on interface eth0 Для автоматического запуска Snort при загрузке системы --== Initialization Complete ==-- необходимо использовать скрипт snortd, который находится ,,_ -*> Snort! <*- в подкаталоге RPM-дистрибутива. Копируем его в /etc/rc.d/ o" )~ Version current (Build 29) init.d/ и даем команду: '''' By Martin Roesch & The Snort Team: # chkconfig snortd on http://www.snort.org/team.html Snort создан для того, чтобы выполнять одну задачу — опре- (C) Copyright 1998-2005 Sourcefire Inc., et al. деление атак, и выполняет он ее хорошо. Анализ файлов жур- 11/14-18:06:25.638963 192.168.0.1:2291 -> 192.168.0.20:114 налов отдан на откуп сторонним разработчикам. Некоторые TCP TTL:128 TOS:0x0 ID:17112 IpLen:20 DgmLen:48 DF утилиты, предназначенные для этих целей, вы найдете на сай- ***S* Seq: 0x3AB82ED6 Ack: 0x0 Win: 0x4000 TcpLen: 28 те проекта. Например, при помощи Perl-скрипта SnortALog TCP Options (4) => MSS: 1460 NOP NOP SackOK (http://jeremy.chartier.free.fr/snortalog) можно отобрать необхо- 11/14-18:06:25.639014 192.168.0.20:114 -> 192.168.0.1:2291 димую информацию и вывести ее в удобочитаемом виде. Вот TCP TTL:64 TOS:0x0 ID:2523 IpLen:20 DgmLen:40 DF так можно вывести топ-лист атак, сгруппированный по време- ***A*R** Seq: 0x0 Ack: 0x3AB82E ни, и отослать его по почте: Snort received 1714 packets # cat /var/log/snort/snort.log.1131990681 | ./snortalog.pl Analyzed: 1157(67.503%) -hour_attack | /usr/sbin/sendmail -f admin@domain.com Dropped: 557(32.497%) Несмотря на то что описано уже многое, за кадром осталось Breakdown by protocol: еще немало вопросов, таких как работа с базой данных и авто- TCP: 451 (26.313%) матическое обновление правил. Почти ничего не сказано о ICMP: 71 (4.142%) средствах анализа собранной информации. Обо всем этом мы ETHLOOP: 0 (0.000%) поговорим в следующий раз. |
4/2005 LINUX| CHIP 74 advanced Linux ‰Îfl ÓÚ‚ÂÚÒÚ‚ÂÌÌ˚ı Á‡‰‡˜
Константин Лепихов èÓÎÌ˚È realtime
В наше время большинство домашних компьютеров применяется совсем не в бытовых целях — уже стало обычным делом производить дома оцифровку видео или музыки в реальном масштабе времени (realtime), а не идти для этого в специализированную студию.
Это стало возможным в связи с увеличением вычислительных очень любят всевозможные «ядроделатели», например nitro мощностей современных компьютеров и возможностей новых sources или CKO patchset. Патчи -ck позволяют добиться боль- версий ОС. Например, ядро Linux версии 2.6 уже имеет под- шей «отзывчивости» ядра при работе со значительными объе- держку так называемого soft-realtime, то есть работы в режиме мами вычислений, передаче данных или активной деятель- вытесняющего, или приоритетного (preemptive), планиро- ности системы ввода/вывода. вания, что помогает достичь хороших результатов при обслу- Их отличительные особенности: живании большого количества процессов или во время вы- 3 Полностью изменена работа планировщика ядра, теперь полнения активных дисковых операций. Под результатами можно более гибко регулировать, что и как планировать и с ка- подразумеваются такие характеристики как отклик (response) ким приоритетом. ядра на какой-либо системный вызов или задержка (latency) в 3 Добавлен новый вид планирования — Batch (idle) scheduling, его работе, связанная с нагрузкой или реализацией алгоритма. позволяющий перепланировать процессы таким образом, что Более того, существует ряд патчей, которые позволяют ядру они выполняются только во время простоя (idle) системы. Это работать в режиме так называемого hard-realtime, то есть с га- очень удобно для таких задач как компиляция или длительных рантированным откликом системы при любой загрузке. Для операций наподобие apt-get dist-upgrade. Грубо говоря, процесс простоты восприятия будем называть soft-realtime «легким» real- выполняется «в фоне», не мешая другим. time, а hard — «тяжелым». И пусть вас не пугает частота 3 Добавлен новый вид планировщика — SCHED_ISO, позво- употребления слова «патч» — ведь на них держится вся POSIX/ ляющий добиться soft-realtime, то есть возможностей работы Unix-система, а мы говорим здесь о его сердце, то есть ядре. приложения, приближенных к realtime (на самом деле там вве- дено ограничение на загрузку процессора в режиме realtime). | «Легкий» realtime | Этот планировщик доступен не только привилегированным | Патчи от Con Kolivas | процессам, но и обычным (non-root) приложениям. Это наиболее популярные патчи, которые используются боль- 3 Интересная вещь — swap prefetch. Вместо бездумного сбрасы- шинством дистрибутивов (как минимум это Debian, Gentoo, вания страниц памяти в swap создает связанный список того, SUSE, Fedora, ALT Linux) в своих как бы realtime-ядрах. Еще их что уходит в файл подкачки, и, если система находится в состо-
CHIP| LINUX 4/2005 ÏÓ‰ËÙË͇ˆËË fl‰‡ 75
янии простоя, возвращает эти страницы в память в обратном К тому же, перенеся все запросы на прерывание в отдельные порядке. Главная идея такого поведения — если программа не нити исполнения, решили еще одну проблему: теперь не воз- использовалась долгое время и была переведена в swap, то вам никает тупиковых ситуаций, связанных с прерываниями. не придется ждать ее долгого пробуждения с диска. К сожалению, не обошлось без ложки дегтя. Теперь надо пересмотреть весь код ядра, где используются блокировки, и | Патчи от MontaVista | проверить его работоспособность (если что-то не работает, Один из первых патчей, превращающих ядро действительно вернуть семафоры и spinlock на место). К тому же не все ком- в realtime-preemptive (то есть с вытесняющей многозадачно- поненты ядра должны быть вытесняющими — например, стью, приближенной к realtime). Он разработан Sven-Thorsten сложно представить себе вытесняемый планировщик ядра. Dietrich на базе патча, написанного Инго Молнером (о нем Но разработчики MontaVista дали хороший старт всем проек- мы расскажем чуть позже). Главная идея — запросы на преры- там soft-realtime, доказав, что ядро Linux вполне можно сде- вание помещаются в отдельные нити исполнения (threads), лать таким, каким нужно. которые борются за процессор наравне с основными процес- сами. Как только такое прерывание добивается своей цели, | Патчи от Инго Молнера | его нить исполнения становится вытесняющей, то есть может Успех MontaVista заинтересовал Инго Молнера, одного из из- быть вытеснена другим процессом, с большим приоритетом, вестных «ядерных хакеров». История гласит, что он пропал на или по истечении времени занятия ресурса, что позволяет об- два дня и потом выложил свою реализацию, названную впос- служить больше прерываний, чем при обычном монопольном ледствии voluntary preemption, а затем realtime preemption. блокировании/разблокировании ядра. Инго согласился с основной идеей патча от MontaVista, но с Основная причина всех задержек в ядре — это критические некоторыми изменениями: секции в коде, защищенные механизмами блокирования 3 PMutex не применялся. Вместо него Инго использовал су- (spinlocks). Поэтому рождается резонный вопрос: а почему не ществующий механизм семафоров в ядре. Как он сам говорил сделать и эти секции вытесняющими? Для ядер 2.4 уже есть впоследствии, объясняя свое решение, семафоры работают на реализация — это PMutex, разработанный группой исследова- всех архитектурах, а PMutex — только на x86. Было бы здоро- телей из Мюнхенского университета, который и был взят за во реализовать наследование приоритетов через семафоры, основу для ядра 2.6. Конечно, сразу же появились проблемы тогда это будет доступно и решениям на базе семафоров, и ре- реализации — в версии PMutex был применен простейший шениям, переписанным из spinlock. Однако в реализации vol- механизм наследования приоритетов: как только процесс ус- untary preemption этого так и не было сделано. танавливал флаг блокировки (mutex), его приоритет увеличи- 3 Вместо переписывания кода на новый механизм блокиров- вался, и он мог быстрее выполнить свою задачу и освободить ки был предложен интересный вариант — функции блоки- mutex. Вместе с другими улучшениями это позволяло избе- ровки не изменялись, менялась только модель их поведения: жать многих проблем с искажением приоритетов при вытес- теперь они могли быть обычными блокировками, или «хит- няющем планировании. В версии от MontaVista был применен рыми» семафорами. другой подход — все существующие механизмы блокирования 3 Инго выяснил, что довольно много блокировок должны были заменены на новые флаги блокировки (этот механизм использовать старый механизм, а не новые «полиморфные» был похож на существующую реализацию семафоров в ядре). блокировки. В его патче сохранилось около 90 «старых» бло- То есть все критические секции в ядре стали вытесняющими. кировок (в версии MontaVista — 30), но благодаря «полимор-
Проект RTnetwork ëÂÚ‚ÓÈ realtime RTnetwork (www.rtnet.org) — это попытка решить проблемы за- Интеграция RTnetwork с FireWire держек и коллизий в сети Ethernet при передаче данных с помо- FireWire, также известная как IEEE-1397, — это высокопро- щью сетевого стека, специально разработанного для условий изводительная последовательная шина для соединения строгого реального времени. Отличительные особенности: разобщенных (heterogeneous) устройств. Предназначенная 3 реализация Open Source, основанная на открытых протоколах в основном для передачи данных в бытовой электронике и стандартах; (например, высокоскоростная передача видеоданных), 3 используется свой сетевой стек, отличный от стандартной реа- она может быть с успехом применена в промышленных или лизации TCP/IP, интегрирован в инфраструктуру ядра Linux; научных целях. Поддержка RTnetwork для FireWire под ОС 3 используется Ethernet как транспортная технология; Linux во многом повторяет реализацию RTnetwork для се- 3 используется TDMA (Time Division Multiple Access) — улучшен- тевого стека. Общение FireWire стека и ядра RTnetwork реа- ный протокол для контроля передачи данных; лизовано через Ethernet-эмуляцию, то есть передаваемые 3 используется специализированный заголовок для TDMA- пакеты преобразуются в Ethernet-пакеты для RTnetwork передачи — RTmac; и FireWire-пакеты для стека FireWire. 3 реализовано как расширение для RTAI (Real-Time Application Таким образом, FireWire работает так же, как и все осталь- Interface). ные Ethernet-устройства в RTnetwork.
4/2005 LINUX| CHIP 76 advanced Linux ‰Îfl ÓÚ‚ÂÚÒÚ‚ÂÌÌ˚ı Á‡‰‡˜
фичности» нового блокирования его патч получился гораздо ближенным к требованиям hard-realtime. RTAI/fusion может меньше, чем у MontaVista. работать в двух режимах: Конечно, работа над патчем продолжается (и очень бурно — 3 «Усиленный» — гарантирует более низкие задержки, но са- Инго выпускает по одной новой версии патча в неделю). Не ма программа должна зависеть только от возможностей, пре- все пока гладко, но надеемся, что все у него получится, а патч доставляемых API RTAI. Некоторое количество системных все-таки войдет в основное ядро Linux. вызовов ядра Linux реализуется RTAI, но не все. 3 Когда выполняемый процесс запрашивает системный вы- | «Тяжелый» realtime | зов, который не может быть реализован в «усиленном» режи- Теперь перейдем к проектам, цель которых — сделать из ме, то система переводится в следующий режим, называемый Linux настоящее realtime-ядро. «Интересно, чем их не устра- «защищенным». Он похож на реализации от MontaVista или ивают, например, RT-патчи?» — спросите вы. А вот чем: все Инго Молнера, то есть доступны все вызовы ядра, но задерж- реализации soft-realtime не дают заданных (или детерми- ки тоже выше. «Защищенный» режим запрещает все запросы нированных) параметров задержек, они лишь помогают их на прерывание во время выполнения realtime-задачи, что мо- снизить. Realtime-система с негарантированными задержка- жет также увеличивать задержки. ми, конечно, может сводить звуковые дорожки, но вот уп- Процессы могут выполняться как в «усиленном», так и в равлять атомной электростанцией, быть бортовой системой «защищенном» режиме — все зависит он требований этих истребителя-перехватчика или просто супербыстрым IRC- процессов и реализации данных требований в RTAI. спамботом — вряд ли. И вообще, настоящий realtime должен начинаться с отклика в несколько микросекунд. Существует | Перспективы | пара проектов, которые реализуют hard-realtime на ядре Как правило, в заключение подобных обзоров пишут о том, ког- Linux. Это RTLinux и RTAI/fusion. да тот или иной патч появится в основном ядре Linux, но пока ни один из описанных патчей (за исключением, может быть, моди- | RTLinux | фикаций -ck) не был принят большинством разработчиков ядра. Можно назвать этот проект паршивой овцой среди стада Open Основные проблемы — это стабильность, которая может постра- Source — реализация закрыта патентом на ПО. Основная идея дать, и объем кода, который надо переписать. Возможно, все эти RTLinux (и суть патента) — все аппаратное обеспечение функ- инициативы станут хорошим катализатором для открытия ветки ционирует под управлением маленького realtime-ядра, а само 2.7, а может, и нет, так как на проверку этих патчей и их дальней- ядро Linux вместе с его процессами и задачами является лишь шее улучшение и развитие необходимо время. | одним из низкоприоритетных процессов realtime-ядра. С мик- роядром можно общаться через специальный модуль, имею- Дополнительная информация щий ограниченный набор команд. Для общения микроядра с прикладным ПО существуют так называемые каналы связи ëÒ˚ÎÍË ÔÓ ÚÂÏÂ микроядра и ядра Linux. Таким образом, realtime-микроядро Цикл заметок о realtime-возможностях Linux на LWN: 3 http://lwn.net/Articles/106016; контролирует все аппаратное обеспечение, и можно гаранти- 3 http://lwn.net/Articles/106010; ровать работу в реальном времени всей системы в целом. 3 http://lwn.net/Articles/129511; 3 http://lwn.net/Articles/108216; | RTAI/fusion | 3 http://lwn.net/Articles/96494; Разработчики из RTAI сначала хотели пойти по пути RTLinux — 3 http://lwn.net/Articles/105866; то есть изолировать основное ядро и ядро Linux друг от дру- 3 http://lwn.net/Articles/129211. га, но потом решение изменилось в сторону ядра Adeos. Это некое «суперядро», в котором realtime-ядро и классическая Подборка патчей от Con Kolivas для ядра 2.6: 3 Linux выполняются как обычные процессы, что позволяем им http://members.optusnet.com.au/ckolivas/kernel. свободно общаться между собой. То есть, мы используем мно- Подборка патчей от Con Kolivas для ядра 2.4: жество вариантов связи между системами, чтобы realtime- 3 www.plumlocosoft.com/kernel. компонент ответил первым на запросы оборудования, что является более гибким решением, нежели подход RTLinux. Linux + PMutex для ядра 2.4: К сожалению, ядерный модуль для доступа к realtime-компо- 3 http://inf3-www.informatik.unibw- нентам ядра все равно необходим, что усложняет реализацию muenchen.de/research/linux/mutex; пользовательского ПО. 3 http://inf3-www.informatik.unibw- Для решения этих проблем Филипп Джером, один из раз- muenchen.de/research/linux/hannover/automation_conf04.pdf. работчиков ядра Adeos, предложил свою реализацию, назван- RTAI/fusion/Xenomai: ную RTAI/Fusion (впоследствии Xenomai). Она позволила 3 www.rtai.org; применять обычные приложения Linux, использующие стан- 3 http://snail.fsffrance.org/www.xenomai.org; дартные вызовы ядра, но при этом время отклика (response 3 www.rtnet.org. time) этих приложений было гарантированным, то есть при-
CHIP| LINUX 4/2005 ÍÓχ̉̇fl Ó·ÓÎӘ͇ ÍÓÌÙË„ÛËÓ‚‡ÌËÂ Ë ÔÓ„‡ÏÏËÓ‚‡ÌË ‚ zsh 77
Степан Заступов Z‡‚ˉÌ˚È ÍÓÌÍÛÂÌÚ bash
Наверное, каждый пользователь под понятием shell подразумевает именно bash. Не спорю, эта командная оболочка действительно не такая плохая, иначе ее не стали бы использовать по умолчанию в большинстве Linux- дистрибутивов. Однако, будь она действительно идеальна, не существовало бы альтернативных программных продуктов. Я не говорю про csh/tcsh, так как у него совершенно другой путь развития, и он уже стал привычной оболочкой для многих BSD-администраторов. Но зачем использовать то, что установлено по умолчанию, если есть альтернатива? Имя ей — zsh!
Zsh — пожалуй, самая «навороченная» и динамично развива- его можно улучшить с помощью bash-complition, но, дочитав ющаяся оболочка. От аналогичных продуктов ее отличают статью до конца, вы убедитесь, что zsh оставляет всех далеко гибкая конфигурация, удобные алиасы, модульная структура позади. Стоит ли говорить, что zsh заменил мне все файловые и самая лучшая система автоматического дополнения. Вы менеджеры — как графические (вроде Krusader), так и пре- можете сказать, что у bash есть и алиасы, и автодополнение, словутый mc? Думаю, начинать лучше постепенно, с первых строчек конфигурации. | Приглашение | Главный конфигурационный файл .zshrc должен храниться в вашем домашнем каталоге. Есть также файлы .zlogin и .zlo- gout, которые выполняются во время входа и выхода из сис- темы соответственно. Так как многие системные переменные, установленные поставщиком дистрибутива, находятся в файле /etc/profile, его можно запустить с помощью команды source /etc/profile. Как уже замечалось, zsh имеет модульную структуру, и нуж- ные модули также следует загрузить: autoload -U compinit èÂÂÏ¢‡ÂÏÒfl ÔÓ ‚‡Ë‡ÌÚ‡Ï ‰ÓÔÓÎÌÂÌËÈ compinit autoload -U incremental-complete-word
4/2005 LINUX| CHIP 78 advanced ÍÓχ̉̇fl Ó·ÓÎӘ͇
bash Ë Ì ÒÌËÎËÒ¸ Ú‡ÍË PS1
zle -N incremental-complete-word | История | autoload -U insert-files Нет, в этой рубрике вы не найдете рассказ о том, как созда- zle -N insert-files вался zsh. Речь пойдет о настройке истории команд. autoload -U predict-on Определить файл истории можно следующим образом: zle -N predict-on HISTFILE=~/.zhistory Теперь можно приступать к настройке PS1. Вообще, в zsh Число команд, сохраняемых в HISTFILE: традиционно принято использовать переменную PROMPT, SAVEHIST=5000 но PS1 тоже будет работать. Число команд сохраняемых в сеансе: Вот основные переменные, которые могут быть использо- HISTSIZE=5000 ваны в PROMPT: Лично мне этих значений хватает, а вот историю нужно 3 %{\e[1;32m%} — цветовой блок; код цвета — как и у bash, в еще включить: данном случае зеленый; setopt APPEND_HISTORY 3 %M — полное имя хоста машины; Меня не удовлетворяют повторяющиеся команды, лишние 3 %m — имя хоста без домена; пробелы и пустые строки в истории. Эта проблема устраняет- 3 %n — имя пользователя; ся следующим образом: 3 %~ — текущая директория; setopt HIST_IGNORE_ALL_DUPS 3 %T — текущее время в 24-часовом формате. setopt HIST_IGNORE_SPACE Если вам этого мало (а так, скорее всего, и есть), посмот- setopt HIST_REDUCE_BLANKS рите документацию. Стоит обратить внимание на то, что у zsh может быть так называемый «двусторонний» PROMPT! У ме- | Алиасы | ня, к примеру, с левой стороны отображается текущая дирек- Обычными алиасами никого не удивишь, тем не менее тория, а с правой — время: приведу пару примеров: PROMPT=$'%{\e[1;32m%}[%{\e[1;34m%}%~%{\e[1;32m% alias mkisofs='mkisofs -J -joliet-long -l -max-iso9660-file- }] %{\e[1;31m%}%#%{\e[0m%} ' names' RPROMPT=$'%{\e[1;32m%}[%{\e[1;33m%}%T%{\e[1;32m alias cdrecord='cdrecord -v -dev=1,0,0' %}]%{\e[0m%}' Теперь самое интересное. В любом файловом менеджере Все это, конечно, замечательно, но большинство пользо- можно привязать программу к расширению или MIME-типу. вателей почти всегда работают в графической среде, и было Из-за этого многие пользуются слабеньким mc или же очень бы не плохо отображать некоторую информацию в заголовке «тяжелыми» (в плане используемых ресурсов) Konqueror и окна терминала. К примеру, помимо пути вы можете захотеть Nautilus и не хотят попробовать что-то другое. Но zsh тоже наблюдать текущую команду, выполняемую в терминале. Нет умеет назначать алиасы по расширению: проблем! В zsh присутствуют две специальные функции: вы- alias -s {avi,mpeg,mpg,mov,m2v}=mplayer полняющаяся перед каждой командой precmd, а также preexec, alias -s {odt,doc,sxw,rtf}=openoffice.org которая будет вызвана после выполнения команды. Ими мы alias -s {ogg,mp3,wav,wma}=beep-media-player как раз и воспользуемся: alias -s pdf=xpdf precmd() Все, теперь bash точно начинает сдавать позиции. А вот { для браузеров разработчики написали отдельный модуль: [[ -t 1 ]] || return autoload -U pick-web-browser case $TERM in alias -s {html,htm}=pick-web-browser *xterm*|rxvt|(dt|k|E)term*) print -Pn Скрипт поддерживают такие браузеры как Opera, "\e]2;[%~] :: %l\a" Konqueror, Lynx, Mozilla и другие. Думаю, вы сами при жела- ;; нии сможете найти этот скрипт и заменить Mozilla на люби- esac мый Firefox. } preexec() { | Дополнение | [[ -t 1 ]] || return Теперь перейдем к самому интересному. Ни один shell не име- case $TERM in ет такой сильной поддержки автодополнений, как zsh. *xterm*|rxvt|(dt|k|E)term*) print -Pn Стандартные функции, заключающиеся в дополнении имен "\e]2;<$1> [%~] :: %l\a" директорий и команд, есть у всех, а как насчет опций опреде- ;; ленной программы? esac Bash имеет такую возможность, но только за счет установ- } ки пакета bash-complition, который будет достаточно сильно
CHIP| LINUX 4/2005 ÍÓÌÙË„ÛËÓ‚‡ÌËÂ Ë ÔÓ„‡ÏÏËÓ‚‡ÌË ‚ zsh 79
ëË„Ì‡Î Ò ÏËÍÓÙÓ̇ ÒÎ˯ÍÓÏ Ò··˚È, ÔÓ˝ÚÓÏÛ ÔˉÂÚÒfl ä‡Í ÌË ÍÛÚË, ˜ÚÓ·˚ ‚ÓÒÔÓθÁÓ‚‡Ú¸Òfl ‚ÒÂÈ ÏÓ˘¸˛ zsh, ÌÂÏÌÓ„Ó Ò ÌËÏ ÔÓ‡·ÓÚ‡Ú¸ ÔˉÂÚÒfl ˜ËÚ‡Ú¸ ‰ÓÍÛÏÂÌÚ‡ˆË˛
тормозить саму оболочку. Zsh уже «из коробки» может допол- Или же отключить их сортировку: нять команды и директории, опции огромного количества zstyle ':completion:*:processes' sort false программ и сразу представлять все это в виде меню! Я уже не Если хочется перейти в другую директорию, находящуюся, к говорю про гибкость настройки системы дополнений и ско- примеру, в предыдущей, то наличие в вариантах текущей дирек- рость, с которой работает сама оболочка, несмотря на потря- тории нежелательно: сающую функциональность. Как всегда не забываем подгру- zstyle ':completion:*:cd:*' ignore-parents parent pwd зить некоторые необходимые модули: А вот таким образом можно ограничить число ошибок на каж- zmodload -a zsh/stat stat дый символ дерева дополнений до одной: zmodload -a zsh/zpty zpty zstyle -e ':completion:*:approximate:*' max-errors 'reply=( $(( zmodload -a zsh/zprof zprof ($#PREFIX+$#SUFFIX)/3 )) numeric )' zmodload -ap zsh/mapfile mapfile Для повышения скорости работы пользователя лучше от- А теперь можно смело переходить к непосредственной на- ключить различие регистров: стройке системы дополнений. Чтобы определить опции нуж- zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' ной функциональности, необходимо вызвать функцию zstyle Можно и игнорировать внутренние функции дополнений: с указанием подсистемы и ее параметрами. zstyle ':completion:*:functions' ignored-patterns '_*' Скучно смотреть на монохромную консоль, в то время как Как я уже говорил, можно включить меню выбора вариан- команда ls, например, может подсвечивать все объекты фай- тов дополнения. К примеру, вы хотите открыть один из не- ловой системы разными цветами. Этого можно добиться и с скольких файлов, а они на русском языке — лень переключать помощью zsh — благодаря опции list-colors, которая прини- раскладку. Просто пишете команду (к примеру, vim), затем мает тот же синтаксис указания цветов, что и GNU ls. Следо- пробел, два раза нажимаете кнопку «Tab» — и можете переме- вательно, можно использовать переменную $LS_COLORS: щаться по вариантам (в данном случае — файлам) клавишами zstyle ':completion:*:default' list-colors '${LS_COLORS}' стрелок или с помощью той же «Tab» и выбирать их! Вот не- Но так как я работаю во FreeBSD, а установленная там ути- сколько строк, которые позволяют все это проделать: лита ls использует другой синтаксис, пришлось непосредст- zstyle ':completion:*' menu select=long-list select=0 венно указать цвета: zstyle ':completion:*' old-menu false zstyle ':completion:*:default' list-colors zstyle ':completion:*' original true 'no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;3 zstyle ':completion:*' substitute 1 5:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;31:' zstyle ':completion:*' use-compctl true Далее выберем некоторые опции, которые будут использо- zstyle ':completion:*' verbose true ваться по умолчанию: zstyle ':completion:*' word true zstyle ':completion:*' completer _complete _list _oldlist _ expand _ignored _match _correct _approximate _prefix | Напоследок | zstyle ':completion:*' insert-unambiguous true Возможно, у вас возникнут проблемы с распознаванием кла- zstyle ':completion:*' add-space true виш. Это решается простым переназначением клавиш в zsh. Дополнения есть и к командам kill и killall. Они идут под Почитайте по этому поводу документацию. общей подсистемой processes. К примеру, можно указать ко- Надеюсь, теперь у вас не осталось сомнений в том, что манду для получения списка процессов: лучше оболочки, чем zsh, попросту не существует, что не обя- zstyle ':completion:*:processes' command 'ps -xuf' зательно использовать файловые менеджеры для удобства ра- zstyle ':completion:*:processes-names' command 'ps xho command' боты, а стремление к аскетизму может привести к удобству. |
4/2005 LINUX| CHIP 80 advanced ‡‰ÏËÌËÒÚËÓ‚‡ÌËÂ
Сергей Яремчук Apache & Co
Сегодня разработчику приложений, использующих веб-технологии, необходимо разбираться в настройках Apache, MySQL, PHP, Perl и прочих продуктов ничуть не хуже системного администратора. При этом время, которое обычно тратится на поиск, закачку и установку, могло бы быть использовано более рационально.
Вообще-то, сегодня практически во всех дистрибутивах из Интернета в случае индивидуальной установки. Этого уда- GNU/Linux уже имеются необходимые для работы компо- лось достичь за счет изъятия некоторых редко используемых ненты. В большинстве случаев они готовы к использованию компонентов (все они вынесены в модули расширений), а сразу после установки. Разработчику остается только доус- также компрессии. тановить недостающие приложения или модули. То есть, фак- Еще одной особенностью является эмулятор sendmail, позво- тически мы возвращаемся к самому началу, не говоря уже о ляющий «отправлять» письма. Кроме того, существует дискетная необходимости периодического обновления всех компонен- версия «Денвера». Для разработчиков, использующих Windows, тов; да и некоторые модули требуют перекомпиляции Apache. предназначен и AppServ. В отличие от остальных он не содержит Но если разработчик использует Windows, то ему вообще при- Perl, но интересен дополнительными модулями, среди которых дется собирать всю систему с нуля, попутно разбираясь в деб- phpBB, Zend Optimizer, Mambo, Drupal и другие. А вот XAMPP рях конфигурационных файлов и опций настроек. К тому же выделяется среди них не только большим количеством компо- эти файлы придется редактировать вручную, что очень непри- нентов, входящих в базовый состав (правда, и размер поэтому до- вычно пользователям данной системы. стигает 40 Мбайт). Здесь присутствуют Apache, MySQL, PHP, Естественно, эта проблема не осталась незамеченной, и в Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, настоящее время известно несколько проектов, задачей кото- libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, рых является упаковка всех необходимых элементов в единый ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, Turck модуль, который может быть легко установлен, обновлен и MMCache, SQLite и IMAP C-Client. В будущем планируется до- также без проблем удален, если в нем уже не будет необходи- бавить Java 2 SDK и Tomcat. Представьте, что бы было, если бы мости. Среди таких проектов наибольшей популярностью все это пришлось устанавливать самостоятельно. пользуются «Денвер» (www.dklab.ru), AppServ (www.appserv- XAMPP очень просто обновлять, и самое главное — имеются network.com) и XAMPP (www.apachefriends.org). Каждый из версии для различных систем. На сегодняшний день их четыре: них, казалось бы, похож на остальные, и в первую очередь — 3 для Linux (разработчиками тестировались версии под SUSE, основой, которой во всех этих проектах является связка Red Hat, Mandrake и Debian, автор делал это также под Apache+PHP+MySQL. Но дополнительно кроме базового ASPLinux, ALT Linux, VectorLinux); набора приложений каждый из этих проектов предлагает 3 для Windows 98, NT, 2000, 2003 и XP; расширения, позволяющие нарастить возможности и настро- 3 бета-версия для Solaris SPARC; ить систему под индивидуальные потребности веб-мастера. 3 бета-версия для Mac OS X. Если приглядеться повнимательнее, можно увидеть и от- Распространяется XAMPP по лицензии GNU GPL, хотя при личия. Так, «Денвер» предназначен для разработки сайтов коммерческом использовании стоит обратить внимание на ли- в Windows, но с расчетом на то, что в дальнейшем в каче- цензии отдельных продуктов, входящих в комплект. стве системы будет использоваться Unix. Интересно, что ба- Как уже говорилось, установка XAMPP довольно проста. зовый набор компонентов в «Денвере», имеющий размер Для Windows она традиционна и заключается в распаковке всего 3 Мбайт, включает в себя около 30 Мбайт приложений, архива и запуске исполняемого файла. В случае установки в которые пользователю пришлось бы самостоятельно качать Linux также особых трудностей не возникает.
CHIP| LINUX 4/2005 ̇ÒÚÓÈ͇ XAMPP 81
Скачиваем архив, распаковываем его: # tar xvfz xampp-linux-1.4.13.tar.gz -C /opt Вот и все. Теперь можно запускать (требуются привилегии root). # /opt/lampp/lampp start Starting XAMPP for Linux 1.4.13... XAMPP: Starting Apache with SSL (and PHP4)... XAMPP: Starting MySQL... XAMPP: Starting ProFTPD... XAMPP for Linux started. Интересно, что в составе XAMPP имеется PHP версий 4 и 5. Та, что нужна, активируется командой php с указанием номера. # /opt/lampp/lampp php5 XAMPP: Activate PHP 5.0.4... XAMPP: XAMPP-Apache is not running. XAMPP: Starting Apache with SSL (and PHP5)... èÓ ÛÏÓΘ‡Ì˲ ‚Ò ÍÓÏÔÓÌÂÌÚ˚, ‚ıÓ‰fl˘Ë ‚ ÒÓÒÚ‡‚ XAMPP, XAMPP: Starting MySQL... ËÏÂ˛Ú ÌËÁÍËÈ ÛÓ‚Â̸ ·ÂÁÓÔ‡ÒÌÓÒÚË XAMPP: Starting ProFTPD... XAMPP for Linux started. Как уже говорилось, XAMPP можно обновлять. Это позво- Какая версия сейчас активирована, можно узнать при помо- ляет не скачивать заново весь пакет, к тому же все настройки и щи phpinfo(), либо введя следующую команду: рабочие файлы будут сохранены. Для обновления необходимо # /opt/lampp/lampp phpstatus скачать пакет, который называется xampp-linux-upgrade, и рас- Если нет необходимости в старте всех сервисов, можно запу- паковать его (место распаковки значения не имеет): скать их поодиночке: $ tar xvfz xampp-linux-upgrade-1.4.13.tar.gz # /opt/lampp/lampp startapache Теперь дадим команду на обновление: Для запуска с поддержкой SSL это будет выглядеть так: $ su # /opt/lampp/lampp startssl # xampp-upgrade/start Набираем в браузере http://localhost (или https://localhost — при Вот и все. Начиная с версии 1.4.2 XAMPP позволяет созда- запуске с поддержкой SSL) и смотрим на результат работы. вать резервные копии. Для этого воспользуйтесь командой Здесь можно ознакомиться со статистикой работы, компонента- backup (или backup mysql_password): ми, входящими в состав XAMPP, получить доступ к инструмен- # /opt/lampp/lampp backup там управления и сбора статистики PhpMyAdmin, webalizer и Backing up databases... phpSQLiteAdmin, увидеть результат работы демонстрационных Backing up configuration, log and htdocs files... примеров. По умолчанию для операций с базами данных, FTP и Calculating checksums... прочей информацией XAMPP не использует пароли, а это небе- Building final backup file... зопасно. Администратор MySQL не имеет пароля, и к демону Backup finished. можно получить доступ через сеть. Также доступен из сети Take care of /opt/lampp/backup/xampp-backup-22-09-05.sh PhpMyAdmin, а ProFTPD для пользователя nobody требует па- Файл /opt/lampp/backup/xampp-backup-22-09-05.sh содер- роль lampp. Если вам предстоит работать через Интернет, обяза- жит теперь резервные данные. Запустив следующий скрипт на тельно используйте команду security и установите пароли, иначе компьютере с той же версией XAMPP, вы получите точную ко- ваш компьютер рискует стать легкой мишенью для сетевых ван- пию сохраненной рабочей среды: далов. Установленный таким образом пароль применяется для # sh xampp-backup-22-09-05.sh доступа к тестовой странице, имя пользователя — lampp. Checking integrity of files... Для сохранения настроек, файлов данных и журналов исполь- Restoring configuration, log and htdocs files... зуется команда backup. Среди дополнений на странице проек- Checking versions... та имеется только Development package, содержащий инстру- Installed: XAMPP 1.4.13 менты, позволяющие скомпилировать недостающие компоненты Backup from: XAMPP 1.4.13 самостоятельно. Готовые дополнения можно найти на сайте Restoring MySQL databases... http://addons.xampp.org. Там хорошо организован поиск по груп- Restoring MySQL user databases... пам (Apache, MySQL, PHP, Perl Mailserver, Misc) и версиям XAMPP. Backup complete. Have fun! Если необходим автоматический запуск XAMPP при за- You may need to restart XAMPP to complete the restore. грузке системы, создайте символическую ссылку на исполь- После восстановления требуется перезапустить XAMPP. зуемый уровень запуска: Кстати, для его удаления достаточно избавиться от каталога: # egrep initdefault /etc/inittab # rm -rf /opt/lampp id:5:initdefault: Теперь, когда имеется готовая к работе среда, можно смело # ln -s /opt/lampp/lampp /etc/rc5.d/S99lampp приступать к созданию приложений. |
4/2005 LINUX| CHIP 82 hardware ÒËÒÚÂχ
Вячеслав Худяков é‰ÌÓÈ Î‚ÓÈ. äÌÓÔÍÓÈ
Комфорт — дело техники. В том числе и той, с которой вы работаете каждый день. И если в Windows приходится пользоваться тем, что есть, то в Linux никто не мешает нам настроить систему под себя. Не стоит даже говорить о том, что работа с клавиатурой для настоящего юниксоида — это как «Отче наш» для выпускника воскресной школы. А уж если на этой клавиатуре есть дополнительные кнопки, то просто грех ими не воспользоваться.
Рабочий кабинет заполняли звуки «Лунной сонаты». Неожи- и xmmsctrl — если мы хотим задействовать управление плеером данно раздался звонок телефона, и я потянулся к трубке, нажав XMMS. Все описанные манипуляции производились на маши- на клавиатуре компьютера кнопку «Mute». Звонил начальник. не с дистрибутивом Mandrake Linux и установленным KDE, хо- Минут через двадцать, утерев пот со лба и отпив из кружки ос- тя могут применяться к любому дистрибутиву с другим окон- тывший к тому моменту чай, я облокотился на спинку кресла, ным менеджером. поиграл в воздухе ручкой с фирменной символикой корпорации и, еще раз нажав на клавиатуре «Mute», а потом и «Volume up», | Настройка, часть первая. X Window | клавишами «Prev», «Next» выбрал саундтрек к «Матрице» и Для начала запускаем в console от имени root программу xev. принялся выполнять скромную работу системного администра- Перед нами появляется окошко «Event Tester» с квадратом вну- тора — вершить судьбы пользователей и править IT-миром. три. Помещаем курсор мыши внутрь него и последовательно Мультимедийные клавиатуры для персональных компьюте- нажимаем мультимедиаклавиши. В результате в окне термина- ров и мультимедиакнопки на них получили широкое распрост- ла отображаются следующие события, соответствующие нажа- ранение относительно недавно. Но если под Windows они, как тию на определенную кнопку: правило, выполняют свою роль довольно исправно, то на KeyPress event, serial 30, synthetic NO, window 0x3e00001, Linux-десктопах часто смотрят на нас с немым укором. А меж- root 0x48, subw 0x0, time 11616554, (170,-16), root:(173,34), ду тем им можно назначить массу полезных функций: перелис- state 0x0, keycode 160 (keysym 0xffd0, F19), same_screen YES, тывать терминалы в консоли кнопками «Windows», управлять, XLookupString gives 0 bytes: вызывать различные приложения (браузеры, почтовые клиен- XmbLookupString gives 0 bytes: ты). Достаточно лишь произвести необходимые настройки. XFilterEvent returns: False Итак, для сегодняшнего эксперимента нам понадобит- KeyRelease event, serial 30, synthetic NO, window 0x3e00001, ся следующее: любая клавиатура с мультимедиаклавишами; root 0x48, subw 0x0, time 11616673, (170,-16), root:(173,34), программы showkey, setkeycodes, loadkeys (они входят в пакет state 0x0, keycode 160 (keysym 0xffd0, F19), same_screen YES, console-tools большинства дистрибутивов), xev, а также ermixer XLookupString gives 0 bytes:
CHIP| LINUX 4/2005 ÏÛθÚËωËÈÌ˚ Í·‚ˇÚÛ˚ 83
Из всей полезной информации, которая тут имеется, нас Для их подключения запускаем от имени root showkeys -s и интересует значение keycode. Как видим, для данной мульти- последовательно нажимаем клавиши, которые будут выпол- медиакнопки это 160. Для активации этой клавиши необходимо нять перелистывание консолей. Сначала левую, потом правую: в скрипт автозапуска KDE добавить ее маппинг на некую вирту- # showkey -s альную клавишу. Помещаем в ~/.kde/Autostart/скрипт keys.sh: 0xe0 0x20 xmodmap -e 'keycode 160 = F19' 0xe0 0xa0 Таким образом, «медийную» кнопку мы превратили в вир- 0xe0 0x6f туальную клавишу «F19». Аналогичным образом активируем 0xe0 0xef все оставшиеся кнопки. Теперь для реализации какого-либо Основная сложность состоит в том, что рассматриваемые действия с их помощью достаточно запустить Центр управ- дополнительные клавиши при нажатии генерируют не сканко- ления KDE и настроить в нем привязку действий. Для ды, как обычно, а последовательность сканкодов, начинающу- настройки громкости мы используем утилиту ermixer, запус- юся с e0. Первая последовательность кодов, так называемый кая ее со следующими параметрами для уменьшения и увели- Make Code, отвечает за нажатие клавиши. Вторая последова- чения звука соответственно: тельность, Break Code, — за ее отпускание. ermixer vol -1 Для того чтобы внести в раскладку клавиатуры, загружаемую ermixer vol +1 программой loadkeys, какую-либо клавишу, надо знать ее key- Плеером XMMS можно управлять с помощью утилиты code — число от 0 до 127, характеризующее только эту клавишу. xmmsctrl, настроив мультимедиаклавиши на переключение Утилита setkeycodes как раз связывает некоторую заданную по- треков и управление воспроизведением: следовательность сканкодов с указанным keycode. Итак, в xmmsctrl next скрипте инициализации клавиатуры (в моей системе это xmmsctrl prev /etc/init.d/keytable) я написал две строчки: xmmsctrl play setkeycodes e020 113 xmmsctrl stop setkeycodes e06f 112 В данном случае e020 – это последовательность, сгенериро- | Настройка, часть вторая. Консоль | ванная при нажатии на левую клавишу переключения консоли, Как известно, при работе в консоли Linux в текстовом ре- e06f — на правую, как видно из листинга showkey. жиме пользователю доступны шесть терминальных сеан- Затем необходимо добавить в раскладку клавиатуры для сов, переключаемых кнопками «Alt+F1… F6». Для больше- консоли (обычно она находится в /usr/share/keymaps) две го удобства я предлагаю назначить их переключение на не строчки, которые активируют возможность перемещаться по используемые в консоли клавиши. Для клавиатур с кнопка- консолям вправо-влево: ми вызова стартового и контекстного меню Windows такая keycode 112 = Incr_Console возможность изначально предусмотрена в любом Linux- keycode 113 = Decr_Console дистрибутиве. Но, скажем, на ноутбуках от IBM кнопки Как видим, нет ничего особо сложного в том, чтобы заставить Windows отсутствуют, однако их роль с успехом могут сыг- «лишние» кнопки на клавиатуре работать на вас. И единожды рать другие клавиши. настроив их, вы сэкономите массу времени в дальнейшем. |
«èË‚flÊËÚ» Í ÏÛθÚËωËÈÌ˚Ï Í·‚˯‡Ï Ò‡Ï˚ β·ËÏ˚ ÔÓ„‡ÏÏ˚ Ë ÍÓχ̉˚, Ë ‚˚ Ò˝ÍÓÌÓÏËÚ χÒÒÛ ‚ÂÏÂÌË
4/2005 LINUX| CHIP 84 hardware ÒËÒÚÂχ
Александр Кузьменков ç‚ˉËÏ˚ ҂flÁË
Под Linux работает практически любой Wi-Fi-адаптер. Так что можно выбирать самое доступное по цене решение (конечно же, из устройств класса 802.11g, потому что во многих магазинах еще продаются адаптеры устаревшего стандарта 802.11b). Но готовьтесь к тому, что не все они заработают автоматически — возможно, придется приложить некоторые дополнительные усилия.
Вообще-то, дела с поддержкой Wi-Fi-оборудования в Linux об- Со списком протестированных (и работающих) адаптеров стоят довольно странно. Даже в самом свежем ядре поддержка можно ознакомиться на сайте http://ndiswrapper.source- беспроводных сетевых карт довольно слабая: хорошо работают forge.net/mediawiki/index.php/List. Если нужной модели в лишь адаптеры на чипах Aviator/Raytheon, Intersil HFA384, списке не оказалось, не отчаивайтесь — скорее всего, она зара- Intersil Prism GT, Amtel at76c50x, Cisco Aironet 34x/35x/4500/4800 ботает, и вы сами сможете добавить ее в этот перечень. и Planet WL3501. Причем, как показала практика, при покупке узнать чип, на котором создан адаптер, практически невозмож- | Установка | но. Тем более что производители беспроводного оборудования Прежде чем бросаться в бой, выпейте чашечку кофе и заод- имеют дурную привычку выпускать одну и ту же модель на раз- но посмотрите — быть может, ndiswrapper уже есть в вашем ных чипах. Так, например, популярный PCMCIA Wi-Fi-адаптер дистрибутиве? Если так, то вам повезло: переходите сразу к D-Link DWL-G650+ выпускался в трех различных вариантах: на следующему разделу. чипах ACX100, ACX111 (Rev. A1) и TI1130 (Rev. B). Естественно, Для установки ndiswrapper потребуются компилятор GCC и никаких упоминаний о том, к какой ревизии принадлежит ваша утилита GNU make. Обратите внимание, что ndiswrapper может карта, на коробке вы не обнаружите. работать только на новых ядрах (версий выше 2.4.26 и 2.6.6). Если Заставить нормально работать свободный драйвер, как у вас более старое ядро, рекомендую обновить систему. оказалось, не так уж и просто, однако в большинстве случаев Также потребуются исходные тексты вашего ядра, причем этого и не нужно. их желательно брать из дистрибутива, так как практически Существует одно универсальное решение, о котором я и хо- каждый дистрибутив обладает своим ядром с собственным тел бы рассказать, – это ndiswrapper. набором патчей. Версию ядра можно узнать с помощью ко- манды uname -r. | Приручаем Wi-Fi-адаптеры | После установки исходных текстов ядра убедитесь, что ката- Ndiswrapper — это модуль к ядру Linux, позволяющий исполь- лог /lib/modules/<версия_вашего_ядра>/build является ссыл- зовать NDIS-драйвер для беспроводных сетевых карт, написан- кой на директорию с исходными текстами: ный для Windows 2000/XP/2003. Да, с ndiswrapper можно заста- # ls -l /lib вить работать практически любой Wi-Fi-адаптер и без проблем lrwxrwxrwx 1 root root 21 2005-11-14 16:56 /lib/mod- использовать WEP-шифрование. ules/2.6.12/build -> /usr/src/linux-2.6.12
CHIP| LINUX 4/2005 ̇ÒÚÓÈ͇ Wi-Fi-‡‰‡ÔÚ‡ 85
d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ndiswrapper co ndiswrapper Теперь попробуйте скомпилировать его: # cd ndiswrapper-1.5 # make distclean # make && make install Если компиляция не удастся и выскочит какая-нибудь ошибка, проверьте, включена ли в ядре поддержка PCI, USB и PCMCIA. Если нет, вам придется пересобирать ядро. | Установка Windows-драйвера | Во-первых, давайте удостоверимся, что система видит ваш Wi-Fi-адаптер. Для этого необходимо изучить вывод команды lspci (если у вас PCI- или PCMCIA-адаптер) или lsusb (при Wi-Fi-‡‰‡ÔÚ D-Link DWL-G520+ наличии USB-карты): # lspci Если нет, то следует поправить ссылку, иначе ndiswrapper 00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX — просто не скомпилируется: 82443BX/ZX/DX Host bridge (rev 03) # ln -sf /usr/src/linux-<версия_ядра> /lib/modules/ 00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX — <версия_ядра>/build 82443BX/ZX/DX AGP bridge (rev 03) Теперь загрузите архив со свежей версией исходных текстов 00:04.0 CardBus bridge: Texas Instruments PCI1450 (rev 03) ndiswrapper (http://sourceforge.net/projects/ndiswrapper) и распа- 00:04.1 CardBus bridge: Texas Instruments PCI1450 (rev 03) куйте его куда-нибудь, например в каталог /usr/src: 00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA # cd /usr/src/ (rev 02) # tar zxvf ndiswrapper-1.5.tar.gz 00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB Если вы используете самое свежее ядро, имеет смысл загру- PIIX4 IDE (rev 01) зить последнюю версию ndiswrapper с cvs: 00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB # cd /usr/src PIIX4 USB (rev 01) # cvs -z3 - 00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03) Дополнительная информация 00:08.0 Multimedia audio controller: ESS Technology ES1978 Maestro 2E (rev 10) ɇÙ˘ÂÒÍË ۉӷÒÚ‚‡ 00:09.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 09) Конечно, пользоваться кон- Если вас по каким-то причинам сольными wireless-tools не не устраивает KwifiManager, 00:09.1 Serial controller: Agere Systems LT WinModem очень удобно, особенно ес- взгляните на WiFi Scanner — 01:00.0 VGA compatible controller: ATI Technologies Inc Rage ли вы привыкли работать ее интерфейс выполнен сред- Mobility P/M AGP 2x (rev 64) в удобном графическом ок- ствами псевдографики. 02:00.0 Ethernet controller: Atheros Communications, Inc.: ружении и в консоль заходи- Однако самой функциональ- Unknown device 001a (rev 01) те редко. В этом случае мож- ной программой для Wi-Fi Обратите внимание на последнюю строку — Linux догада- но порекомендовать отлич- является популярная Kismet лась, что это сетевая карта, а вот драйвера к ней подобрать не ную альтернативу — утилиту (www.kismetwireless.net). смогла, о чем говорит сообщение «Unknown device». Запомни- KwifiManager (www.kde.org), Кроме поиска и сканирова- те номер устройства (02:00.0). Теперь давайте определим его с недавних пор входя- ния сетей она умеет перехва- щую в состав KDE (пакет тывать незашифрованный PCI-идентификатор. Для этого выполните команду lspci -n: kdenetwork). Эта программа трафик и имеет механизм # lspci -n умеет отображать уровень обнаружения атак. Вся эта 00:00.0 Class 0600: 8086:7190 (rev 03) сигнала в системном трее мощь скрыта в непримет- 00:01.0 Class 0604: 8086:7191 (rev 03) KDE/GNOME, что очень удоб- ном консольном интерфейсе, 00:04.0 Class 0607: 104c:ac1b (rev 03) но. Есть опция звукового однако для Kismet написа- 00:04.1 Class 0607: 104c:ac1b (rev 03) оповещения (при нахожде- но множество графических 00:07.0 Class 0680: 8086:7110 (rev 02) нии сети программа запи- фронтендов — как для 00:07.1 Class 0101: 8086:7111 (rev 01) щит) — полезная функция, GTK (http://gkismet.sour- 00:07.2 Class 0c03: 8086:7112 (rev 01) пригодится для любителей ceforge.net), так и для погулять с ноутбуком возле Qt (http://sourceforge.net/ 00:07.3 Class 0680: 8086:7113 (rev 03) какого-нибудь посольства. projects/kismet-qte). 00:08.0 Class 0401: 125d:1978 (rev 10) 00:09.0 Class 0200: 8086:1229 (rev 09)
4/2005 LINUX| CHIP 86 hardware ÒËÒÚÂχ
На всякий случай проверьте сообщения ядра: # dmesg wlan0: ndiswrapper ethernet device 00:11:95:bf:21:cb using driver neta3ab, 168C:001A.5.conf wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK Все в порядке, появился новый сетевой интерфейс (в это время на самой карте должен замигать индикатор «Link»). Для работы с Wi-Fi-адаптерами написан пакет wireless-tools, который на данный момент есть в каждом дистрибутиве. В него входят утилиты iwconfig, iwlist, iwconfig, iwspy. Для просмотра подробной информации о сетевом интерфейсе выполните следующую команду: # iwconfig wlan0 wlan0 IEEE 802.11b ESSID:"" Nickname:"random" Mode:Managed Frequency:2.412 GHz Access Point: ÑÎfl β·ËÚÂÎÂÈ „‡Ù˘ÂÒÍËı ÙÓÌÚẨӂ ÒÛ˘ÂÒÚ‚ÛÂÚ KwifiManager 00:00:00:00:00:00 Bit Rate=54 Mb/s 00:09.1 Class 0700: 11c1:0445 Encryption key:off 01:00.0 Class 0300: 1002:4c4d (rev 64) Power Management:off 02:00.0 Class 0200: 168c:001a (rev 01) Link Quality:0 Signal level:0 Noise level:0 Идентификатор находится в третьей колонке, для нашей кар- Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 ты (02:00.0) это 168c:001a. Зачем это нужно? Как я уже говорил, Tx excessive retries:0 Invalid misc:0 Missed beacon:0 очень часто под одним и тем же именем производитель выпуска- Для поиска точек доступа воспользуйтесь утилитой iwlist: ет совершенно разные адаптеры на разных чипах (и, конечно же, # iwlist wlan0 scan они работают с различными драйверами). Безошибочно опреде- wlan0 Scan Completed: лить модель можно только с помощью PCI-идентификатора. Cell 01 –Address: 00:02:71:50:EF:DD Теперь попробуйте поискать идентификатор вашего ESSID: «Yandex.wifi» устройства в списке поддерживаемых адаптеров на сайте Mode: Master http://ndiswrapper.sourceforge.net/mediawiki/index.php/List. Encryption key: Off В нашем случае можно утверждать, что 168c:001a — это Channel: 1 D-Link DWL-G630 rev. C на чипе Atheros. Там же можно полу- Quality: 81/92 Signal Level: чить ссылку на рабочий Windows-драйвер, который был про- 150/154 тестирован в связке с ndiswrapper. Видно, что iwlist нашла одну сеть со свободным доступом Перепишите все файлы Windows-драйвера (inf, sys, cat и dll) на (Encryption key: Off). Давайте попробуем подключиться к ней: жесткий диск в отдельную директорию. И попробуйте установить: # iwconfig wlan0 essid 'Yandex.wifi' # cd win2kxp-driver # dhclient wlan0 # ndiswrapper -i driver.inf Все, теперь можно спокойно сидеть в кафе и не спеша, потя- После этого ndiswrapper создаст конфигурационные файлы гивая кофе, запускать любимый Firefox (а заодно и Wget). | для вашей карты в каталоге /etc/ndiswrapper. Убедимся, что драйвер установлен успешно: Дополнительная информация # ndiswrapper -l Installed ndis drivers: èÓÎÂÁÌ˚ ÒÒ˚ÎÍË neta3abdriver present, hardware present 3 www.linux-wlan.com — ры для карт на основе чи- Как видите, все в порядке. Строка «neta3ab driver present» гово- открытые драйверы для пов acx100. рит о том, что драйвер net3ab установлен, а «hardware present» — карт на чипе Prism/2. 3http://ipw2100.source- что соответствующее устройство найдено. Если вместо этого вы 3 http://sourceforge.net forge.net — открытые увидите сообщение вроде «Cannot locate lspci. Unable to see if projects/madwifi — откры- драйверы для карт, встро- hardware is present» — значит у вас не установлен пакет pciutils. тые драйверы для карт на енных в ноутбуки на плат- чипе Ateros. форме Intel Centrino. 3 | Испытание | 3 http://prism54.org — от- www.linux-wlan.org/docs/ крытые драйверы для карт wlan_adapters.html.gz — Ну что ж, теперь можно проверить работу драйвера, но перед на чипе Prism54. постоянно обновляе- этим обновите конфигурацию модулей ядра: 3 http://acx100.sourcefor- мый список моделей # depmod -a ge.net — открытые драйве- Wi-Fi-адаптеров и чипов. # modprobe ndiswrapper
CHIP| LINUX 4/2005 Ï˚ÒÎË 87
Владимир Царьков Free Software Ë Open Source: ‡ÁÌ˚ ÒÎÓ‚‡ — ‡ÁÌ˚ ˉÂË
Свободное программное обеспечение, как его ни разные идеи [1]. Задачей данной статьи является назови, дает нам одинаковую свободу. Но нельзя анализ различий между движениями Free Software забывать о том, что разные слова выражают и Open Source.
Официальные определения терминов Free Software и Open Термин Open Source не только не может быть полноценной Source достаточно схожи. Я подчеркиваю слово «офици- заменой термина Free Software [8], он еще и создает дополни- альные», поскольку люди часто склонны выводить свои соб- тельную путаницу вокруг своего использования (его гораздо ственные определения этих понятий, из-за чего возникает сложнее объяснить): пример про разницу между свободой слова путаница. Рекомендую читателям ознакомиться с официаль- и бесплатным пивом уже не подходит. В статье «Мода на Open ными определениями [2][3][4]. Source» [9] Юрий Лушня утверждает, что Ричард Столлмен яв- Термин Free Software может быть воспринят двояко: как ляется «пионером движения Open Source», а также приписыва- «программное обеспечение, которое распространяется бес- ет хакерам из MIT авторство идеи Open Source. Оба эти утверж- платно» или «которое дает пользователю определенные сво- дения ошибочны. Ричард Столлмен не раз высказывался о том, боды». Именно такие значения вкладывает в этот термин что именно этический аспект должен быть решающими при вы- Ричард Столлмен [5], начинатель Free Software movement, боре той или иной программы для использования [1][2][10][11], движения за свободу программного обеспечения. Несмотря а Стивен Леви посвятил целую книгу вопросам хакерской этики на то что определение термина Open Source, опубликован- [12]. Представители Open Source Iniciative [6], в свою очередь, ное Open Source Initiative (OSI) [6], схоже с определением открыто говорят о том, что ими движет исключительно прагма- Free Software от Free Software Foundation [7], они несут в се- тизм [13]. Следует отметить и тот факт, что термин Open Source бе разные идеи. Open Source — это методология разработки, появился 3 февраля 1998 года [13], и по этой причине его недо- Free Software — общественное движение. Для Open Source пустимо использовать при описании событий, предшествую- movement проприетарные программы — неудачное техниче- щих указанной дате. ское решение, для Free Software movement — социальная Движения Free Software и Open Source не являются врагами проблема, решением которой является использование сво- друг друга, они вполне могут сотрудничать. Благодаря действиям бодного программного обеспечения. Open Source Iniciative количество людей, использующих свобод- Разговоры о свободе, этических принципах, ответственнос- ное программное обеспечение, стремительно растет. Такие люди ти наряду с удобством использования заставляют людей заду- получают свободу, которую они должны ценить, чтобы не поте- мываться о тех вещах, которые им проще игнорировать. Термин рять. Именно поэтому нужно больше и громче говорить об эти- Open Source (в нем нет ни слова о свободе и этике) гораздо ческих аспектах использования свободных программ [1][10][11]. больше нравится бизнесменам. Но это не значит, что от этого [1] www.gnu.org/philosophy/free-software-for-freedom.html «молчания» выигрывает общество. Многие люди сегодня пере- [2] www.gnu.org/philosophy/free-sw.html ходят на использование свободного программного обеспече- [3] www.opensource.org/docs/osd.pdf ния из чисто прагматических соображений. Но привлечение [4] www.opensource.org/docs/def_print.php пользователей — это лишь часть задачи, которая должна стоять [5] www.stallman.org перед разработчиками свободных программ. Рано или поздно [6] www.opensource.org человеку предложат снова начать использовать проприетарные [7] www.fsf.org программы, которые будут более совершенными с технической [8] www.gnu.org/philosophy/words-to-avoid.html точки зрения. И почему он должен отвергать это предложение? [9] www.linuxrsp.ru/artic/opensource.html Только в том случае, если человек ценит свободу, которую дает [10] www.audio-video.gnu.org/audio/rms-speech-curitiba.ogg ему свободное программное обеспечение, он сможет сказать: [11] www.gnu.org/philosophy/pragmatic.html «Я отказываюсь использовать проприетарные программы!» [12] Steven Levy, Hackers: Heroes of the Computer Revolution, Именно по этой причине мы должны говорить об этических ас- Doubleday: New York, 1984 пектах использования Free Software. [13] www.opensource.org/docs/history.php
4/2005 LINUX| CHIP 88 practice Ô‡ÍÚ˘ÂÒÍË ÒÓ‚ÂÚ˚ ëÂÍÂÚ˚ ÒËÒÚÂÏ˚Денис Колисниченко
Очередная десятка советов от Дениса Колисниченко охватывает широкий диапазон тем — от настройки оборудования (ОЗУ и модемов) до тонкостей тюнинга системы.
ÉÓfl˜Ë Í·‚Ë¯Ë щей виртуальной консоли), которые не После этого в системе остаются только отвечают на «Ctrl+C», и их нельзя завер- ядро, Init и текущая консоль. После это- «SysRq», или Что делать шить обычным образом. Та же клавиатур- го можно запустить заново все сервисы во время аварии? ная комбинация помогает и в тех случаях, (Init 3 или Init 5). Linux считается одной из самых надежных когда система X Window зависла и не реаги- операционных систем, но иногда и она рует даже на нажатие «Ctrl+Alt+Backspace». Alt+SysRq+I (kIll) дает сбои. Все мы знаем о двух волшебных Конечно, можно воспользоваться сочета- Эта комбинация аналогична «Alt+Sys- комбинациях клавиш – «Ctrl+Alt+Del» и нием «Ctrl+Alt+Del», но далеко не всегда Rq+E», но посылает всем процессами «Ctrl+Alt+Backspace». Первая использует- хочется полностью перезагружать систему. (кроме Init) сигнал SIGKILL. Сигналы ся для перезагрузки системы, а вторая — Данная комбинация клавиш полезна не SIGTERM и SIGKILL различаются сле- для перезапуска X Window. только для снятия зависших процессов. дующим образом: получив SIGTERM, Что же делать, если система все-таки Ее можно использовать, если какой-то программа должна сохранить данные зависла? Сразу нужно оговориться, что злоумышленник установил в вашей си- (если, конечно, программист предусмот- тут все зависит от «степени зависания»: стеме программу, эмулирующую работу рел реакцию на этот сигнал) и завершить может случиться так, что она не будет процесса login. Она выводит обычное работу; сигнал SIGKILL моментально реагировать на внешние сигналы (в том приглашение (вы его не отличите «убивает» программу — сохранить дан- числе и нажатия клавиш) — в этом слу- от приглашения стандартного login), ные она уже не сможет. чае уже ничем кроме «Reset» не помо- получает от вас пароль, записывает его жешь. Но шанс сохранить данные в слу- в специальный файл, а потом выдает Alt+SysRq+S (Sync) чае сбоя все же существует. Об этом сей- сообщения о том, что вы ввели невер- Это сочетание клавиш заставляет яд- час мы и поговорим. ный пароль, и передает управление ро выполнить синхронизацию буферов Обратите внимание на клавишу «Print- оригинальной программе login. Вы даже ввода/вывода, то есть сбросить содер- Screen». Сверху написано «PrtScr», а вни- ничего можете и не заподозрить — по- жимое дисковых буферов на диск. зу – «SysRq». Нажав «Alt+PrtScr» и одну думаешь, наверное, на самом деле не- Очень полезная комбинация клавиш, из буквенных клавиш, вы произведете правильный пароль. После нажатия помогающая сохранить ваши данные. некоторые действия, которые могут ока- этой комбинации клавиш происходит Ведь, если вы сохранили данные в своей заться спасительными в случае аварий- завершение всех процессов, кроме ори- программе, это еще не означает, что они ных ситуаций. Возможные комбинации с гинального login. Все программы, кото- были физически записаны на диск. клавишей «SysRq» вы найдете в тексто- рые маскируются под login, будут также Синхронизация буферов — это не мгно- вом файле sysrq.txt (обычно он находится завершены. Данную комбинацию кла- венная процедура. После нажатия этих в каталоге /usr/src/linux/Documentation/ виш еще называют SAK (Secure Access клавиш вам нужно немного подождать, systq.txt). Мы рассмотрим лишь самые Key). Подробнее о ней вы сможете про- пока на консоли не появится сообще- полезные из них. читать в файле /usr/src/linux/documen- ние «Emergency Sync.... OK». tation/SAK.txt Если же вывод на консоль невозможен, Alt+SysRq+K просто подождите около пяти секунд. Бу- Нажав эту комбинацию клавиш, вы Alt+SysRq+E (tErm) дем надеяться, что система выполнила сможете «убить» все зависшие процессы Данная комбинация посылает всем про- синхронизацию буферов (хотя, повто- (точнее, процессы, запущенные в теку- цессам (кроме Init) сигнал SIGTERM. рюсь, все зависит от «степени зависания»).
CHIP| LINUX 4/2005 Ô‡ÍÚ˘ÂÒÍË ÒÓ‚ÂÚ˚ 89
Alt+SysRq+U (Umount) лена еще и Windows. Какая именно — не :e ++enc=cp1251 Данная комбинация используется для важно. Ведь все версии этой системы ис- Вместо cp1251 можно указать другую размонтирования всех смонтированных пользуют кодировку Win-1251. кодировку, например cp866 или UTF-8. файловых систем, а это занимает больше А что делать, если нужно отредактиро- Для сохранения файла в нужной коди- времени, чем синхронизация, поэтому вать текстовый файл, созданный в ровке введите команду: ждать нужно минимум пять секунд (а то Windows? С документами MS Office все :w ++enc=<кодировка> и больше) — до появления сообщения ясно: их полностью (ну или почти пол- «Emergency Umounting… OK». ностью) поддерживает пакет OpenOffice. í˛ÌËÌ„ ÒËÒÚÂÏ˚ Но если оно так и не появилось, возмож- Сейчас мы поговорим о просмотре и ре- ны два варианта: дактировании «инопланетных» файлов. Мониторинг 3 файловые системы все-таки размонти- Начнем с просмотра. Предположим, что В составе KDE есть свой собственный рованы, вывод на консоль невозможен; у нас есть файл в кодировке Win-1251. системный монитор, но использовать 3 файловые системы не размонтирова- Хотя не так уж и важно, cp1251 это или его не хочется по двум причинам: ны, поскольку система вообще ни на cp866. Главное, что мы не можем про- 3 он довольно громоздкий и занимает что не реагирует. смотреть его обычным способом, требу- много места на экране; Перед тем как воспользоваться этой ком- ется перекодировка. Для этого использу- 3 не хочется, чтобы было «как у всех». бинацией, нужно нажать предыдущую ется команда iconv: Если вам важно, чтобы системный мо- («Alt+SysRq+S») с целью синхронизации iconv -f <исходная кодировка> -t <ре- нитор был компактным и гибким в наст- буферов ввода/вывода и только после это- зультирующая кодировка> <исходный ройке и к тому же не похожим на тот, что го размонтировать файловые системы. файл> есть у соседа, установите пакет gkrellm. В общем, при зависании системы наи- Вот примеры использования этой ко- Он отвечает всем вышеперечисленным более верной будет следующая последо- манды (наш файл называется report.txt): требованиям, к тому же поддерживает вательность действий. iconv -f cp1251 -t koi8-r report.txt | less различные графические схемы, что не- 3 Нажать «Alt+SysRq+E (или K)». Ес- iconv -f cp1251 -t koi8-r report.txt > маловажно для домашнего пользователя. ли ничего не помогло и система по- report-koi8.txt В стандартной редакции Gkrellm умеет прежнему висит, тогда переходим к В первом случае мы перекодируем файл показывать часы, загрузку процессора, следующему пункту. и передаем программе less, которая вы- сети, обращения к диску, сенсоры 3 Нажать «Alt+SysRq+S» и подождать водит его на консоль. Можно обойтись и (lm_sensors) и многое другое. Кроме то- пять секунд. без нее, но если файл большой, то вряд го, в Интернете можно найти огромное 3 Нажать «Alt+SysRq+U». Подождать ли мы успеем его прочитать. количество плагинов, например анало- 5–10 секунд (в зависимости от количест- Во втором случае мы перекодируем файл говые часы, индикатор погоды и т. д. ва смонтированных файловых систем). и результат перекодирования записыва- Согласитесь, интересно из всего этого 3 Нажать «Reset». ем в report-koi8.txt, который можно будет множества собрать свой собственный использовать обычным образом. Alt+SysRq+B (reBoot) Кроме кодировки cp1251 вы также може- Используется для мгновенной переза- те использовать KOI8-R, cp866 и UTF-8. грузки. До применения этой комбина- Теперь поговорим о редактировании. ции желательно нажать «Alt+SysRq+S» и Вообще-то, лучше всего перекодировать «Alt+SysRq+U» (соответственно, подо- файл в KOI8-R и редактировать его как ждать 2-5 и 5-10 секунд). Стоит отметить, обычно, но можно сразу делать это с по- что эффект от комбинации «Alt+SysRq+B» мощью редакторов, поддерживающих не- ëËÒÚÂÏÌ˚È ÏÓÌËÚÓ KDE практически эквивалентен «Reset». сколько кодировок, например kwrite, kate, mc и vim. С первыми двумя все очень про- Alt+SysRq+O (pOwer off) сто — из меню выбираем нужную коди- ëڇ̉‡ÚÌ˚È ‚ˉ ÔÓ„‡ÏÏ˚ Мгновенно выключает питание, не раз- ровку, и все. В mc нужно зайти в меню Gkrellm монтируя файловые системы. Ясно, что до «Настройки p Биты символов» и в по- этого нужно воспользоваться комбинаци- явившемся окне выбрать системную ко- ями «Alt+SysRq+S» и «Alt+SysRq+U». | дировку. В режиме просмотра/редакти- 臇ÏÂÚ˚ рования файла для выбора кодировки „‡ÙËÍÓ‚ äÓ‰ËÓ‚ÍË нажмите «Ctrl+T». Заданная кодировка Gkrellm сохранится и будет использоваться при Win-1251 и KOI8-R последующем редактировании — до тех Скорее всего, Linux на вашей домашней пор, пока вы не выберете другую. машине — не единственная операцион- В vim для перекодирования файла вве- ная система. Как минимум у вас установ- дите команду:
4/2005 LINUX| CHIP 90 practice Ô‡ÍÚ˘ÂÒÍË ÒÓ‚ÂÚ˚
системный монитор, подобного кото- Если Gkrellm вам не понравился, мо- рому не будет ни у кого. жете использовать программу KSim Скорее всего, пакет gkrellm будет присут- (команда и пакет ksim), которая обычно ствовать в вашем дистрибутиве. Обычно входит в состав KDE. | этот системный монитор не значится по умолчанию, поэтому его нужно устано- é·ÓÛ‰Ó‚‡ÌË вить самостоятельно. Рекомендую также пакет gkrellm-devel — он понадобится при Модемы и Linux сборке дополнительных плагинов. Теперь мы поговорим о том, как выбрать ç‡ÒÚÓÈ͇ Ô‡‡ÏÂÚÓ‚ CPU Вы еще не установили Gkrellm? Значит, модем для своего компьютера и как заста- сейчас самое время это сделать. вить работать win-модем под Linux. Моде- В данном варианте программа информи- мы бывают внутренними и внешними. рует о следующих параметрах системы: Чем они отличаются, думаю, говорить не 3 загрузка процессора (ЦПУ); нужно. Большинство внутренних уст- 3 количество запущенных процессов и ройств — это так называемые win-модемы. зарегистрированных пользователей; Для тех, кто не в курсе, отмечу, что win- 3 нагрузка на дисковую систему ввода/ модемы (их еще называют програм- вывода; мными, или «софтовыми»), в отличие 3 состояние сетевых интерфейсов lo и аппаратных, не могут работать без соот- ppp0; ветствующего программного обеспече- ç‡ÒÚÓÈ͇ ÓÚÓ·‡ÊÂÌËfl ÔÓˆÂÒÒÓ‚ 3 состояние физической памяти и сво- ния. Так уж сложилось, что поставщики пинга; этих устройств выпускают драйверы толь- 3 количество писем в почтовом ящике. ко для Windows. Аппаратный модем может Нажав клавишу «F1», вы сможете наст- работать в любой операционной системе роить программу и ее датчики на свой без драйвера в качестве AT-совместимого вкус. Утилита использует темы интер- устройства (AT — это набор стандартных фейса, благодаря которым вы можете из- команд модема, а не компьютер от IBM). менить ее внешний вид. Если в вашей Никогда не покупайте win-модем. Да, вы системе не установлено ни одной темы сэкономите немного денег, но в итоге на- кроме стандартной, загляните на сайт мучаетесь и все-таки приобретете обыч- www.muhri.net. Загрузив тему, распакуйте ный внешний модем, к тому же стоит он ÑÎfl ͇ÍÓ„Ó ÒÂÚÂ‚Ó„Ó ËÌÚÂÙÂÈÒ‡ ее в каталог ~/.gkrellm2/themes (~ — ваш сейчас совсем недорого — около $30–40, домашний каталог). а меньше чем за $80 можно купить ÔÓÒÚÓËÚ¸ „‡ÙËÍ Á‡„ÛÁÍË? Также в Интернете можно найти огром- ZyXEL OMNI. Модемы ZyXEL необхо- ное количество плагинов. димы в том случае, если качество вашей 3 aLLtraXClock и GkrellAclock — отобра- линии связи оставляет желать лучшего. жают аналоговые часы. Если же линия более или менее нормаль- 3 GkrellWeather — показывает погоду в ная, то и 30-долларовый GVC будет рабо- вашем регионе. тать отлично. Не смейтесь, я использую 3 GkrellShoot — позволяет сделать сни- дома GVC F2000 и не жалуюсь. При по- мок экрана одним нажатием кнопки. купке внешнего модема старайтесь выби- 3 GkrellMLaunch — добавляет в окно мо- рать классику — обычный COM- (RS- нитора кнопки для вызова пользователь- 232C), а не USB-модем. Дело в том, что CÓÒÚÓflÌË éáì Ë Ù‡È· ÔӉ͇˜ÍË ских программ. первый подключается к компьютеру че- 3 gkrellm xkb — отображает раскладку рез последовательный порт, а второй — клавиатуры. через шину USB. Если вы планируете ис- 3 GkrellMMS — плагин управления пользовать модем в Linux, то первый плеером XMMS. вариант предпочтительнее. Я не гово- 3 Volume — регулятор громкости. рю, что у Linux особые проблемы с После сборки плагина поместите его USB-модемами, просто COM-модем на- (файл .so) в каталог ~/.gkrellm2/plugins, а строить легче, а работать он будет одина- затем в настройках Gkrellm в разделе ково в любом дистрибутиве — что в ста- «Внешние», включите плагин. После ром Red Hat 5, что в новом Mandriva 2005. Ç̯ÌËÈ ‚ˉ Gkrellm ÏÓÊÌÓ Ì‡ÒÚÓËÚ¸ этого там должен появиться отдельный В общем, с модемом определились. Те- пункт для настроек плагина. перь подключаем его к компьютеру (если
CHIP| LINUX 4/2005 Ô‡ÍÚ˘ÂÒÍË ÒÓ‚ÂÚ˚ 91
у вас COM-модем, то сначала желатель- Скорее всего, в вашем дистрибутиве есть с чипом Lucent. Во всех остальных ситуа- но выключить компьютер) и включаем какая-либо программа — конфигуратор циях этот совет не поможет. компьютер. Загружаем Linux. Система модема. Если вы обладатель аппаратного Итак, заходим на сайт http://heby.de/ltmo- сама определит устройство, хотя для нас COM-модема, можете ее не использовать: dem. Там есть уже откомпилированные это не столь важно, если мы используем все, что она сделает, это создаст ссыл- модули для Lucent Apollo и Mars. ARM- аппаратный внешний модем. Для его ку /dev/modem на один из файлов уст- модемы этим драйвером не поддержива- нормальной работы нам нужно толь- ройств — /dev/ttyS0 или /dev/ttyS1. ются. Скачиваем откомпилированный ко знать, к какому порту он подклю- Для настройки соединения с Интерне- модуль. Кстати, модули доступны для чен — COM1 (/dev/ttyS0) или COM2 том проще всего сразу использовать про- следующих дистрибутивов: (/dev/ttyS1). Если у вас только один грамму kppp. Описывать ее полностью я 3 Debian GNU/Linux; последовательный порт, то это будет не стану — работать с ней не сложнее, 3 Gentoo; COM1 (/dev/ttyS0), другого не дано. чем со стандартным дозвонщиком 3 Red Hat Linux; Windows. Остановимся только на неко- 3 Fedora Core; торых интересных моментах. Запустите 3 Mandrake Linux; kppp и нажмите кнопку «Настроить». 3 SUSE Linux; На закладке «Устройство» необходимо 3 Conectiva Linux. ввести имя устройства /dev/ttyS0 (или Если вашего дистрибутива нет в списке /dev/ttyS1) и его скорость. Помните, если (или же откомпилированный модуль вы установите значение, превышающее почему-то не устанавливается в систе- максимальную скорость вашего модема, ме), нужно скачать пакет с исходным ко- ÇıÓ‰ ‚ ÔÓ„‡ÏÏÛ kppp то быстрее работать от этого он не будет! дом. Последняя версия модуля (драйве- Теперь перейдите на страничку «Мо- ра для модема) на момент написания дем» в окне «Параметры KPPP» и уста- этих строк — 8.30a3. Пока она находится новите следующее: на стадии тестирования, но у нас нет вы- 3 «Дожидаться сигнала в линии перед бора: стабильная версия 8.2x не поддер- набором номера» — обычно данный па- живает ядро 2.6. раметр включен по умолчанию, но если Если вы скачали архив с исходным ко- у вас старенькая АТС и сигнал очень дом, установить модуль очень просто, слаб, модем даже не будет пытаться на- но перед этим убедитесь, что у вас уста- бирать номер. Поэтому в случае слабого новлены заголовочные файлы ядра и сигнала можно отключить этот пара- компилятор GCC. Для установки моду- метр — модем наберет хотя бы номер. ля распакуйте архив с исходным кодом 3 «Ожидание при занятой линии» – 0 се- в /usr/src/ltmod и запустите сценарий кунд, нет смысла ждать. build_module. Затем, если модуль, ко- 3 «Громкость динамика» – это, как уже нечно, успешно откомпилировался, за- kppp ÔÓÏÓÊÂÚ Ì‡ÒÚÓËÚ¸ ‚Ò ԇ‡ÏÂÚ˚ говорилось, на любителя. пустите сценарий ltinst2 для установки ÏÓ‰Âχ ‚ Û‰Ó·ÌÓÏ „‡Ù˘ÂÒÍÓÏ ‚ˉ Теперь нажимаем кнопку «Команды мо- модуля (копирования его в каталог с дема» и в появившемся окне ищем пункт модулями), а после этого — сценарий «Строка набора номера». Его нужно из- autoload, который «пропишет» только менить следующим образом: что откомпилированный модуль в файл 3 ATDP – если у вас импульсная АТС; /etc/modules.conf. В результате выполне- 3 ATDT – если у вас тоновая АТС. ния этих команд модуль скопируется в Все остальные параметры можно оста- каталог /lib/modules/`uname -r`/ltmodem/. вить без изменения (во всяком случае В документ etc/modules.conf нужно до- пока). Теперь самое время создать со- бавить следующие строки: единение и опробовать новый модем. | alias char-major-62 lt_serial alias /dev/ttyLT0 lt_serial é·ÓÛ‰Ó‚‡ÌË alias /dev/modem lt_serial Кроме того, необходимо обновить спи- Win-модемы сок зависимостей (команда depmod -a) и Если вы все-таки не вняли предыдущему создать устройство /dev/ttyLT0: совету и приобрели win-модем (или он # mknod /dev/ttyLT0 c 62 64 çÂÍÓÚÓ˚ AT-ÍÓχ̉˚ ÏÓÊÌÓ Á‡‰‡Ú¸ уже давно был установлен в вашем ком- # ln -s /dev/ttyLT0 /dev/modem ‚ „‡Ù˘ÂÒÍÓÏ ÂÊËÏ пьютере), сейчас мы попытаемся его на- В kppp в качестве устройства нужно ука- строить. Но только в том случае, если он зать /dev/modem (можно напрямую —
4/2005 LINUX| CHIP 92 practice Ô‡ÍÚ˘ÂÒÍË ÒÓ‚ÂÚ˚
/dev/ttyLT0), а дальше все как обычно. ntpdate сервер_времени > /dev/null Если ваш модем будет плохо распозна- 2>&1 вать сигнал «занято», то установите сле- Не забудьте сразу сделать сценарий ис- дующую строку инициализации моде- полнимым: ма — «AT+GCI=B8». | # chmod +x time-sync (мы предполага- ем, что этот сценарий называется ç‡ÒÚÓÈ͇ ÒËÒÚÂÏ˚ именно так) éÍÌÓ ÔË‚ÂÚÒÚ‚Ëfl QVideoGen Сверим часы ç‡ÒÚÓÈ͇ ÒËÒÚÂÏ˚ Как вы уже догадались, ниже речь пойдет о синхронизации часов компьютера с Нестандартные сервером времени. Для этого мы будем видеорежимы использовать протокол NTP (Network Преимущество подобных видеорежи- Time Protocol). Принцип синхронизации мов в том, что они позволяют задать заключается в следующем: NTP-клиент нестандартное разрешение, увеличить (программа ntpdate) подключается к частоту обновления монитора и про- серверу времени, получает от него точ- вести прочие эксперименты с видео- ное значение часов, минут и секунд адаптером и монитором. Сразу хочу ᇉ‡ÂÏ ˜‡ÒÚÓÚÛ ‡Á‚ÂÚÍË ÏÓÌËÚÓ‡ и устанавливает системное время в со- отметить, что для некоторых моделей Ë Ó·˙ÂÏ éáì ‚Ë‰ÂÓ‡‰‡ÔÚ‡ ответствии с полученными данными. мониторов и видеоадаптеров делать Программу ntpdate можно скачать с это весьма нежелательно, поэтому все сайта www.ntp.org. операции вы будете проводить на свой Для синхронизации времени выполните страх и риск. команду (от имени пользователя root): Итак, начнем. В файле XF86Config # ntpdate <сервер_имен> (или XF86Config-4) прописывается Список общедоступных серверов имен вся информация о видеоподсистеме, находится на сайте www.eecis.udel.edu/ в том числе и режим монитора. Он за- ~mills/ntp/servers.html. дается специальной строкой (в англо- Ясно, что вам не хочется каждый день язычной литературе строка, описы- вводить эту команду вручную. Поэто- вающая режим монитора в файле ǂ‰ËÚ ‡Á¯ÂÌËÂ Ë ÒÓÓÚÌÓ¯ÂÌË му для автоматической синхронизации XF86Config, называется Modeline) ÒÚÓÓÌ ‰Îfl ‚‡¯Â„Ó ÏÓÌËÚÓ‡ времени поместите команду синхрони- следующего формата: зации в расписания. Например, для Modeline
CHIP| LINUX 4/2005 Ô‡ÍÚ˘ÂÒÍË ÒÓ‚ÂÚ˚ 93
нитора, а именно максимальные размер Данную команду желательно добавить в Если вы следили за мыслью, то у вас памяти и частоту для видеоадаптера и сценарий загрузки, иначе вам придется возник запрос: «А зачем настраивать ке- максимальные частоты развертки для вводить ее каждый раз при загрузке и пе- ширующий DNS-сервер, если резолвер монитора. После этого введите нужное резагрузке системы. | также кеширует DNS-ответы?» А затем, разрешение и нажмите «Add» для до- что кеширующий DNS-сервер сохраня- бавления режима в список. При нажа- é·ÓÛ‰Ó‚‡ÌË ет DNS-ответы при перезагрузке систе- тии кнопки «Finish» будет создан текс- мы, а резолвер — нет. товый файл, содержащий «Modelines» Установка еще одного Традиционно в качестве кеширующего для всех видеорежимов, которые вы модуля памяти DNS-сервера даже на домашней ма- добавили в список. Вам осталось толь- Вы установили дополнительный модуль шине использовался BIND (named). ко скопировать эти строки в ваш файл памяти, но система не видит его, напри- Но сейчас мы поговорим о более лег- XF86Config (или XF86Config-4). мер, вместо 512 Мбайт по-прежнему ис- ком в настройке кеширующем сервере После редактирования XF86Config нуж- пользуются только 256. Причина в том, pdnsd. Да, у него нет и половины но перезагрузить графическую систему что некоторые дистрибутивы при уста- функций BIND, но ведь они вам и не X Window. Для этого нажмите комби- новке в конфигурацию загрузчика добав- нужны. Ваша задача — настроить ке- нацию клавиш «Ctrl+Alt+Backspace». ляют параметр ядра MEM=
4/2005 LINUX| CHIP 94 review cÓÙÚ-Ó·ÁÓ
глубиной 32 бита на канал. Успеху схожей с Film Gimp, но отличающейся CinePaint CinePaint можно позавидовать: такие по исполнению и масштабам. студии как Rhythm & Hues, Computer Язык интерфейса: русский Есть такие приложения, которые еще Cafe, Amalgamated Pixels, Sony Pictures Домашняя страница: cinepaint.source- до выхода версии 1.0 снискали и ува- Imageworks, DreamWorks и многие дру- forge.net жительное отношение, и повышенное гие не обошлись без него при создании внимание, демонстрирующие своим «Гарри Поттера», обеих частей «Ма- существованием преимущества откры- ленького Стюарта», «Планеты обезь- той модели разработки ПО. В их числе, ян», «Лиги выдающихся джентльме- без сомнения, и CinePaint — проект, нов», «Последнего самурая» и других объединяющий открытые ресурсы ки- фильмов. Кого после этого остановит ноиндустрии, университетских кругов скромный номер 0.20 текущей версии? и сообщества Open Source. CinePaint Проект CinePaint не ограничивается находит себя главным образом в тща- созданием одного редактора — объяв- тельной обработке изображений, в осо- лено о готовящемся к 31 декабря выхо- бенности цвета, поддерживая работу с де архитектуры Glasgow, во многом
Вышла новая версия UFRaw — программы снимки, сделан- программы для обработки ные в формате RAW, можно UFRaw 0.6 RAW-снимков из цифровых подвергнуть предваритель- камер. Релиз основан на ной обработке — скорректи- зицию, применить готовые 3 автоматически применя- DCRaw v7.84. При помощи ровать баланс белого, экспо- кривые коррекции тона и ется встроенная пользова- экспортировать результат в тельская кривая, если TIFF или JPEG со встраиванием камера настроена для ее EXIF-данных. Программа умеет использования; работать как модуль GIMP, но 3 поддерживаются прямо- при этом расчеты происходят угольные пиксели D1X; в 8-битном режиме. В новой 3 добавлена поддержка версии программы: EXIF для libtiff 3.7.4; 3 включена AHD-интерполя- 3 исправлены некоторые ция (Adaptive Homogenity- ошибки. Directed Interpolation); Язык интерфейса: 3 добавлена основная кривая, английский эмулирующая поведение кри- Домашняя страница: вой коррекции тона Nikon; http://ufraw.sourceforge.net
cdrdao Ë GCDMaster
cdrdao — незаменимый помощник в код ISRC, отметки индексации и т. д. тех случаях, когда возникает необходи- Стало хорошей традицией вместе с выхо- мость записи дисков в режиме DAO, или дом очередной версии cdrdao выпускать «диска за раз», основанном на описании и обновленный GNOME CD Master — записываемого содержания в текстовом графический интерфейс, упрощающий файле (так называемый TOC-файл). процесс импорта файлов MP3 и WAV, С помощью приложения пользователь обеспечивающий удобство при создании получает контроль за продолжитель- собственного аудиопроекта и последую- ностью пауз между треками (pre-gaps) щей его записи на CD, копировании с вплоть до их полного исключения, а CD на CD или раздел жесткого диска. также такими данными субканалов как Язык интерфейса: английский нумерация каталогов, флаги 2/4-каналов, Домашняя страница: cdrdao.sourceforge.net
CHIP| LINUX 4/2005 cÓÙÚ-Ó·ÁÓ 95
CleanSpeech — расширение возможнос- Audacity 1.2.4 Ë 1.3.0 тей Audacity для автоматической обра- ботки голосовых записей. Вышли две новые версии свободного зву- Во-вторых, новая панель внизу для точ- И пятая новая функция — загрузка фай- кового редактора Audacity. Версия 1.2.4 ного выбора области по хронометражу, лов на FTP-сервер прямо из Audacity. относится к старой ветке и содержит в ос- при помощи которой также легче опре- Язык интерфейса: русский новном исправления найденных ошибок. деляется текущая позиция во времени. Домашняя страница: Добавлена обычная для других приложе- В-третьих, пересмотрен интерфейс до- http://audacity.sf.net ний возможность открыть недавно откры- рожки для заме- вавшиеся файлы. Кроме того, программа ток. Теперь гораз- теперь использует Vorbis 1.1. до легче менять В 1.3.0, напротив, масса новшеств. По- границы выделе- мимо мелких удобств вроде быстрого ния для каждой сворачивания и разворачивания дорожек заметки. по вертикали появились очень полезные Четвертое нема- функции, которые, впрочем, еще будут ловажное новше- совершенствоваться. Во-первых, это ство — возмож- долгожданные множественные обла- ность пакетной сти (clips) внутри дорожек и сопутству- обработки файлов, ющие функции разделения и объеди- реализованная как нения областей. часть проекта
Всерьез или в шутку пишет работы с ней пользователю не vshnu Стив Кинцлер о своей рабо- нужно владеть этим языком. те, что «это название взыва- Установка vshnu не займет также обзор основных ее до- шения для bash: ет к индийскому богу Вишнe, много времени, она не требует стоинств. Для поддержки под- export TERM=xterm-color хранителю вселенной и вос- компиляции, и вместе со ска- свечивания различных типов eval $(dircolors) становителю дхармы», но чанным архивом к вам попадут файлов графической оболочке или для tcsh: сам vshnu берет начало от подробные инструкции по ее достаточно, чтобы это делала setenv TERM xterm-color известного еще в 80-е годы настройке и использованию, а ваша командная оболочка. Пе- eval `dircolors` проекта vsh, а nu — не ред первым запуском vshnu Итак, пользователь получает что иное, как игра слов настоятельно рекомендуется дополнительный графический «nu — new». проверить окружение оболоч- режим в строке терминала и В отличие от GNU Midnight ки (с помощью env или print- интерпретатор Perl. Commander, или просто mc, эта env). В случае некорректной Язык интерфейса: английский графическая оболочка полно- установки TERM и LS_COLORS Домашняя страница: cs.indi- стью исполнена на Perl, но для могут помочь следующие ре- ana.edu/~kinzler/vshnu
всегда, исправлено много ошибок, забот- GIMP 2.3.5 ливо добавленных в код ранее. Язык интерфейса: русский По очередной нестабильной версии граммы и повторной загрузкой данных, Домашняя страница: www.gimp.org GIMP видно, что работа ведется практи- оптимизацией SIOX (алгоритм выделе- чески во всех возможных направлениях. ния объекта на переднем плане). В категорию «Упростители жизни» В категории «На страже сохранности можно отнести прилипание к контуру цвета» одно небольшое, но приятное и быстрый доступ к редактору горячих новшество — чтение/сохранение ICC- клавиш через меню «Правка». профиля в файлах формата PNG. Категория «Хранители нервов» попол- Для пишущих собственные модули эф- нилась оптимизацией отмены/повтора фектов добавлен доступ к еще большему действий, «ускоренной загрузкой про- количеству внутренних функций. Как
Сергей Мороз, Александр Прокудин
4/2005 LINUX| CHIP 96 review ÍÌË„Ë ÔÓ ÚÂÏÂ
Когда ваша деятельность напрямую зависит от исправной работы Гло- ᇢËÚ‡ ̇ ‚˚ÒÓÍÓÏ ÛÓ‚Ì бальной сети, какие проблемы вста- ют наиболее остро? Скорее всего, Сразу хочется предупредить, что это не банальное пособие по это ненадежность сетевой безопас- настройке готового брандмауэра, здесь представлена важней- ности. В последнее время темпы шая информация для создания и оптимизации своего собствен- развития компьютерных техноло- ного программного продукта. гий сделали этот вопрос одним из Издание интересно тем, что отвечает на многие вопросы, основных в сетевой индустрии, и выходящие за пределы программирования и управления си- от его качественного решения за- стемой безопасности. Можно привести в пример рекоменда- висит комфортная работа огром- ции по решению проблем с взаимодействием брандмауэра ного числа людей. Как защитить свой и локальной сетью или основы создания архитектуры с двумя компьютер? Как создать безопасный сервер? Как лучше кон- брандмауэрами. Эти «хитрости» позволяют преодолеть мно- тролировать сетевое подключение? На эти и многие другие жество трудностей, которые могут возникнуть при внедрении вопросы призвана ответить эта книга. в работу firewall. Материалы такого плана встречаются в по- Одним из наиболее современных способов защиты компью- добной литературе не так часто, и это выгодно отличает дан- тера является использование брандмауэра. Для того чтобы ное издание от конкурентов. максимально полно раскрыть вопросы организации качест- Несмотря на все достоинства книги, нельзя сказать, что она иде- венного брандмауэра под Linux, разработчикам пришлось альна во всех отношениях. Некоторых может оттолкнуть слож- рассмотреть практически все аспекты работы Сети. Допол- ность преподнесенного материала. Для полноценного понима- нительная информация позволяет читателям лучше понять ния текста необходимо обладать довольно большим багажом принципы создания и функционирования систем электронной знаний. Одним из недостатков является отсутствие твердого пе- безопасности. На суд читателей авторы предлагают четыре реплета, ведь книга явно не предназначена для одноразового главы. Первая освещает общие понятия функционирования чтения. Шрифт небольшого кегля не очень удобен для восприя- брандмауэра. Во второй подробно разбирается работа с паке- тия (это издержка небольших габаритов книги). тами данных и даются основные рекомендации по усилению Если не смотреть на мелкие недочеты, изданию можно по- безопасности системы. Третья посвящена продвинутым спо- ставить положительную оценку. Большой объем материала, собам защиты. Четвертая часть является фактически блоком расширение стандартной базовой информации о системе за- дополнительной информации, которая поможет закрепить щиты, невысокая цена — все эти факторы должны стать оп- усвоенные знания после прочтения этой книги. В этой главе ределяющими при покупке. вы найдете примеры брандмауэров и ссылки на популярные Митчелл Марк, Оулдем Джеффри, Самьюэл Алекс. Брандмауэры интернет-ресурсы. в Linux. — М.: Вильямс/New Riders Publishing, 2004. — 288 с.
Пожалуй, в мире разработ- чиков прикладных программ ꇷÓÚ‡ Ò QT ‚ ÔËχı под Unix мало кто не слышал о кросс-платформенной биб- ходчиво и со знанием Вторая часть описывает важные ас- лиотеке от норвежской ком- дела рассказать об пекты применения Qt на практике — пании Trolltech для разработ- эффективных при- компоновку и создание собственных ки графического интерфейса емах работы с библи- виджетов, работу с графикой, потока- Qt. С ее помощью можно со- отекой и средствами ми и сетью, использование баз дан- здавать интерфейсы практи- разработки Qt? ных и документов XML, а также рас- чески любой сложности на Книга состоит из двух частей. сматривает вопросы интернациона- платформах Linux/Unix, Mac OS X и Первая рассчитана на новичков и зани- лизации приложений. Windows. На базе Qt было создано мно- мает приблизительно четверть книги. Все описываемые в книге технологии жество популярных приложений, в том В ней, следуя от простого к сложному, и приемы сопровождаются примерами. числе и популярная среда KDE. авторы на реальном примере создания Книга настоятельно рекомендуется как Теперь, с появлением этой книги пользо- приложения электронной таблицы зна- начинающим, так и опытным разработ- ватели получили отличное руководство комят читателя с технологией сигналов чикам графических интерфейсов. по созданию приложений с использова- и слотов, разработкой интерфейса с по- Бланшет Жасмин, Саммерфилд Марк. нием Qt. Ее авторы являются сотрудника- мощью визуальных средств и вручную, Qt3: программирование GUI на C++. — ми Trolltech, и кто, как ни они, может до- а также с использованием виджетов. М.: КУДИЦ-ОБРАЗ, 2005. — 448 с.
CHIP| LINUX 4/2005 Ó·ÁÓ ÌÓ‚ËÌÓÍ 97
менном ПО для работы со звуком. ëÓθÙ‰ÊËÓ ‰Îfl Linux Кроме того, приводится фрагмент вступительного урока по Lilypond — Эту книгу стоит рассматривать как свое- часть описанных в книге приложений средству нотной разметки, при помо- го рода «пробный шар». До сих пор изда- в современных дистрибутивах заработа- щи которого можно получать качест- ний по мультимедийному свободному ет только после применения большого венно сверстанные нотные партитуры. софту в России и сопредельных государ- шершавого напильника. Да, на смену Рассказано об основных редакторах ствах не выходило. Так что на это изда- описанным программам пришли новые, аудиофайлов (Sweep, Audacity, Re- ние разом легла большая ответственность куда более совершенные продукты. Zound), синтезаторе ZynAddsubFX, за то, воспримет ли массовый читатель И все же достаточно актуальными мож- а также Pure Data — единственной по- GNU/Linux как достойную платформу но считать несколько глав. Во-первых, ка визуальной среде обработки звука для звукоизвлечения или же решит по- информация о трекерных форматах и и графики, имеющей собственное рус- дождать до лучших времен. программах для создания трекерной скоязычное сообщество, пишущее к Автор очень удачно подошел к изложе- музыки интересна и сегодня. Просто ней документацию на родном языке. нию материала. Описание каждой про- в то время этот способ сочинительства Достаточно обстоятельно в дополни- граммы начинается с краткого резюме, был в моде наравне с другими, а сейчас тельной главе рассматривается об- вслед за которым идет перечисление ос- для одних он моден как своего рода щепризнанный флагман свободного новных принципов работы программы, «винтаж», а для других, даже спустя не- звукового софта — программа для ее концепции, если хотите. Только по- которое время, он остался единственно многоканальной записи и сведения под сле этого рассматриваются практичес- правильным и любимым. названием Ardour (http://ardour.org). кие аспекты использования программы: По-прежнему ценна информация о К сожалению, при снятии скриншотов настройка, примеры и т. д. Таким обра- мощном звуковом редакторе Snd, ко- с современного ПО переводчик не на- зом, читатель не чувствует себя внезап- торый с тех пор практически не изме- помнил читателям, что многие про- но выброшенным в море консольных нился. Вводная информация по версии граммы уже переведены на русский команд без спасательного круга. Csound для Linux тоже весьма актуаль- язык. Очень порадовало качество пе- В оригинале книга носит название на, поскольку новая, пятая, версия ревода. Так получилось, что я хорошо «Linux Music & Sound, How To install, этого знаменитого синтезатора, в кото- знаком с манерой изложения автора. Configure and Use Linux Audio Software» ром произошла масса корректировок, Дейв – человек, несомненно, увлечен- («Музыка и звук в Linux. Как устано- официально пока не вышла и все еще ный, с очень живым характером и ред- вить, настроить и использовать звуковой не очень стабильна. Не помешает по- ким ныне умением писать не только софт для Linux»), что гораздо точнее читать главу о программах для работы интересно, но еще и по делу, без фак- русской версии отражает ее содержание. с нотными записями. При этом стоит тических ошибок. Очевидно, что пе- Могу только предполагать, какими со- помнить,что интерфейс нотного редак- реводчику местами приходилось очень ображениями руководствовались пе- тора и MIDI-секвенсора Rosegarden несладко с образной письменной ре- реводчик и издательство, но читатель (www.rosegardenmusic.com) заметно по- чью Филлипса, но свою задачу он вы- может оказаться в недоумении от не- хорошел, а вместо mup обычно исполь- полнил: скучать при чтении книги уж соответствия названия содержанию. зуется Lilypond. Словом, мысленно де- точно не придется. Дело в том, что пять лет назад, когда лайте поправку на пять лет вперед, и В справочную часть издания вошли глос- была написана и издана первая версия все будет нормально. сарий, список ПО на приложенном дис- «Звуковой студии», программы работали Издательство приложило все усилия к ке, весьма толковая библиография и, что по большей части сами по себе и друг с тому, чтобы не дать изданию морально немаловажно, предметный указатель. другом никак не стыковались. Это было устареть, добавив 16-ю главу. Она пост- Очень надеюсь, что новое, серьезно достаточно «дикое» время, когда труд- роена по тому же принципу, переработанное издание, ожи- но было всерьез говорить об удобном и что и оригинальный текст, и даемое к выходу на функционально богатом софте для рабо- старания переводчика, напи- английском языке ты со звуком в GNU/Linux. Программ савшего ее, несомненно, за- весной, будет так же для серьезной студийной работы тогда, служивают похвалы. В ней качественно переведе- по сути, не было. раскрыто несколько тем. но на русский язык и Обладает ли в таком случае книга хоть Начинается она с рассказа выпущено в стенах того какой-то практической ценностью? От- о звуковом сервере JACK с же издательства. вет, как ни странно, положительный. малой задержкой отклика Филлипс Дейв. Звуковая Разумеется, вместо звуковой подсисте- (low latency), а позднее в студия в Linux. Руковод- мы OSS сейчас однозначно рекоменду- ней повествуется об ис- ство профессионала. — ется использовать ALSA. Бесспорно, пользующем JACK совре- М.: DiaSoft, 2005. — 448 с. Вячеслав Лыков, Александр Прокудин, Андрей Черепанов
4/2005 LINUX| CHIP