3

ᇄÎflÌÛÚ¸ Á‡ „ÓËÁÓÌÚ ëéÑÖêÜÄçàÖ Сущность человечества заключается в постоянном прогрессе и движении впе- Notes ред. Нашим предкам было мало Африки, 4 Новости сообщества Open Source и они заселили все континенты, добрав- Interview шись даже до безжизненной Антарктиды. 12 Cотрудник NVIDIA рассказывает о производстве Linux-драйверов Кстати, не такой уж безжизненной. На- пример, там обитают любопытные созда- Success story ния — пингвины, чувствующие себя оди- 14 ПКиО им. Linux Как сделать из компьютера на базе Linux домашнюю мультимедиасистему наково хорошо и в воде, и на суше. В но- Hardware вейшей истории мы наблюдаем ту же 18 Приручение Linux за полчаса картину. Мы создали искусственную среду Установка дистрибутива Familiar на КПК iPAQ. Общие рекомендации обитания, окружили себя электронными Desktop устройствами, программами и операцион- 22 Первая миля ными системами. И, как всегда, нам хо- Особенности инсталляции и настройки Fedora Core 3 чется разнообразия, хочется расширить 30 Преодолевая преграды границы возможностей. Взаимодействие и синхронизация системы с устройствами Pocket PC Появившись на свет как программистская игрушка «just for fun», Linux притянула 34 Искать везде, искать всегда Обзор локальных поисковых систем к себе тех людей, которые во все времена стремятся заглянуть за горизонт. Как пра- 39 Музыкальная шкатулка Мультимедийные плееры для Linux вило, по их стопам потом идут и осталь- ные. Сегодня использование этой ОС на 42 Быть музыкантом домашнем компьютере стало вполне обы- Обработка композиций в музыкальном редакторе Audacity денным решением. Мультимедиа, игры, 46 Игры патриотов работа с офисными документами — все, Запуск новейших Windows-игр с помощью эмулятора Cedega что необходимо среднестатистическому 48 Праздник в подземном царстве пользователю, Linux дает. Первые впечатления от знакомства с GNOME 2.10, обзор обновлений среды Мы создали этот журнал, чтобы помочь Advanced вам ориентироваться в море программ 52 Что такое хорошо, или Немного об LVM и новых технологий, а также дать навыки Практический курс рационального управления дисковым пространством эффективной работы в этой системе. Мо- 56 ... а служба идет жет быть, не всех волнуют патентные про- Оригинальный способ организации резервного копирования данных блемы, администрирование компьютерных 58 Сердца бьются в унисон сетей, исследование исходных кодов ядра Основы работы Unison — пакета для синхронизации и сборка собственных RPM-пакетов, но 60 Маршрут — Интернет иногда мы будем говорить и на эти темы. Создание полноценного сетевого сервера на основе Linux Мы знаем, что найдутся люди, которым это будет интересно для расширения кру- 66 Под грифом «секретно» Построение надежного почтового сервера шаг за шагом гозора, а для кого-то, возможно, станет толчком к движению вперед. 74 Почтальон в стиле дзен Настройка консольного почтового клиента mutt Да, заметим, что как «эталон» и тестовый стенд для написания статей мы будем ис- 76 Мегабитный звездопад пользовать Fedora Core 3, руководствуясь Работа с системой авторизации и учета трафика Stargazer тем, что на сегодняшний день это лучший 80 Интерпретируй это из интернациональных дистрибутивов, пред- Знакомство с языком программирования Python назначенных для использования на дескто- 82 Сетевой колхоз пе. Еще в этом номере мы представляем вам Организация общего доступа к файлам в локальной сети LiveCD-дистрибутив Knoppix 3.7. С его по- FAQ мощью вы сможете без особого труда по- 90 Фактический материал знакомиться с интересным миром Linux. Review Надеемся, вам в нем понравится! 94 Обзор программ и сайтов Денис Михайлов, выпускающий редактор

1/2005 LINUX| CHIP 4 notes ÌÓ‚ÓÒÚË ÒÓÓ·˘ÂÒÚ‚‡ Open Source

Ç¢¸ ‚ Ò· èÓ‰‚ËÌÛÚ‡fl ͇ÚÓÚÂ͇ Диск, содержащий и музыку, и проиг- итоге AmaroK Live вряд ли можно на- В EMC был разработан поисковый про- рыватель для нее, — такой интересный звать полноценным дистрибутивом. граммный модуль для предлагаемых проект придумали разработчики аудио- Это проект, созданный для демонст- компанией систем архивации Centera — плеера amaroK. рации прекрасных Centera Seek. Это программное обеспе- AmaroK Live — возможностей чение реализует механизм оперативной это созданный одноименного му- индексации метаданных, сопровожда- на базе PCLinux зыкального про- ющих файлы, хранящиеся в Centera. OS LiveCD, игрывателя. Сре- Система архивации предназначена для самозагружаю- ди композиций, хранения данных, не подлежащих мо- щийся дистри- содержащихся на дификации, — медицинских снимков, бутив, который диске, есть песни изображений чеков и т. п. При сохра- включает соб- в исполнении нении в Centera каждому документу ственно сам Beastie Boys и присваиваются уникальный адрес и amaroK, а так- David Byrne, все справочные метаданные. Извлечение же музыкальные треки, выпущенные треки свободно распространяются для производится при помощи специальных по лицензии Creative Comons в рамках некоммерческого использования. сценариев или приложений, использую- инициативы Wired CD. В конечном amarok.kde.org щих API доступа к метаданным. Техно- логия Seek обеспечивает возможность извлечения данных из архивов при по- мощи ввода соответствующего запроса. äÓÌÒÚÛÍÚÓ ËÌÚÂÙÂÈÒÓ‚ Параллельно анонсирован полагающий- Компания Adobe, несмотря на внуши- позволяет управлять их положением ся на функции «Seek» модуль Centera тельную стоимость своей продукции, на рабочем столе. Adam автоматизирует Chargeback Reporter, который позволяет медленно, но верно сближается с дви- процесс модификации элементов интер- создавать отчеты по использованию ре- жением Open Source. Это подтверждает- фейса в соответствии с меняющимися сурсов Centera индивидуальными отде- ся в том числе и тем фактом, что гигант условиями. «Спросите любого инженера- лами предприятия. Для работы модулей графического программного обеспече- программиста, что он больше всего требуется сервер под управлением Red ния открыл доступ к исходному коду ненавидит делать, и почти каждый ска- Hat Linux Enterprise Server 3.0. некоторых компонентов коммерческой жет: «Заниматься построением пользо- www.networkworld.com продукции. Два открытых пакета — вательского интерфейса», — говорится Adam и Eve — применяются для созда- в обзоре от компании Adobe. Чтобы ния интерфейса управления приложе- упростить сложившуюся ситуацию, êÂÈÒ «ÉÓÎÛ·ÓÈ „Ë„‡ÌÚ» ниями. Это библиотеки, которые могут можно скачать бесплатные пакеты Компания Deutsche Bahn, управляющая использоваться другими пакетами. Eve Adobe на сайте компании. железными дорогами Германии, успешно облегчает создание диалоговых окон и opensource.adobe.com завершила перевод своей системы Lotus Notes на сервер IBM eServer zSeries 990 под управлением SuSE Linux Enterprise Server Version 8. Процесс перехода IТ- ï‡ÏÂÎÂÓÌ-ÒΉÓÔ˚Ú систем компании на новую платформу Программа для локального поиска граммы. Novell объявила себя первым будет осуществляться в несколько эта- за последнее время достаточно поставщиком Linux, включившим пов. Приложения масштаба предприятия сильно изменилась в лучшую сторону и, Beagle в свой дистрибутив. «SuSE Linux (такие как SAP R/3) будут переводиться как следствие, приобрела популярность. Pro стал первым дистрибутивом, содер- на Linux одновременно с другими ключе- Доказательством этому жащим Beagle — нова- выми приложениями. Информационные служит тот факт, что торский инструмент же системы для составления расписаний утилита вошла в но- локального поиска движения поездов уже переведены на вый дистрибутив Open Source, с по- Linux. Сегодня Lotus Notes обеспечивает SuSE Linux. Beagle мощью которого потребности Deutsche Bahn в почтовых существенно облег- можно найти все, что услугах и используется в качестве техно- чает пользователям по- хранится на жестком диске», — логической платформы более чем для иск разнообразных файлов включая до- говорится в заявлении Novell. 5,5 тыс. баз данных. кументы, e-mail, IM-переговоры и про- www..org/projects/beagle www.computerworld.com

CHIP| LINUX 1/2005 Ó·ÁÓ˚, ÚẨÂ̈ËË 5

Opera ‚ ‡θÌÓÏ ‚ÂÏÂÌË Ç˚Ë„˚¯Ì˚È ÒËÏ·ËÓÁ Компания LynuxWorks, официальным компактных потребительских устройств Novell анонсировала комплекс служб представителем которой в России яв- до крупных многопроцессорных ре- Open Enterprise Server, включающий ляется «РТСофт», подписала договор шений. До заключения соглашения в себя NetWare и SuSE Linux Enterprise с Opera Software. Согласно этому доку- LynuxWorks использовала браузер Opera Server и содержащий службы управления менту, встраиваемая операционная для демонстрации совместимости своего файлами печати, администрирования, система BlueCat Linux (разработка флагманского продукта (ОС реального коллективной работы и приложений. LynuxWorks) по желанию клиента будет времени Lynx OS) с Linux на уровне Как утверждают разработчики, платфор- поставляться в комплекте с браузером двоичного интерфейса прикладных про- ма «соединяет в себе все лучшее, что Opera. Согласно сообщению «РТСофт», грамм (Application Binary Interface, ABI). есть у Novell и Linux». Комплекс вошел BlueCat Linux используется в разнооб- Такая совместимость позволяет бинар- в стадию открытого бета-тестирования разных встраиваемых системах — от ным Linux-файлам выполняться под в декабре, и с тех пор его бета-версия Lynx OS без каких-либо изменений была загружена 7 тыс. раз. В состав и перекомпиляции. сервера входит набор основных сетевых www.rtsoft.ru служб, унифицированные, интегриро- ванные инструменты управления через Novell — iManager, Novell Storage Services, Novell Cluster Services, а также две операционные системы с полным комплектом кода. Цены на новый про- дукт, по словам представителей Novell, останутся такими же, как и на NetWare. www.novell.com

ÑÓÒÚÛÔÌ˚È ‡ÌÚËÒÔ‡Ï à„˚ — ‰‚Ë„‡ÚÂθ ÔÓ„ÂÒÒ‡ Компания Известная среди любителей развлече- ботчика. Одновременно с выпуском Roaring Penguin ний компания TransGaming объявила о Cedega 4.3 было опубликовано и оче- Software изме- выходе новой версии популярного эму- редное обновление к Point2Play — гра- нила схему ли- лятора Win32-приложений Cedega (ра- фической оболочке Cedega. В новой цензирования нее известного как WineX). В Cedega 4.3 версии появилась функция остановки антиспам-систе- Stilton добавлена поддержка нескольких всех игр, запущенных в Cedega 4.3 мы CanIt Anti- игр, в том числе Star Wars Battlefront, (и старших версиях), а также внесены Spam. Теперь ор- Star Wars Knights of the Old Republic II — исправления в код для корректного ганизации, насчитывающие не более The Sith Lords и Sid Meier's Pirates! Live отображения переведенных сообще- 50 электронных почтовых ящиков, the Life, SimCity 4. Кроме того, в новой ний в панели «System Test». смогут получить ее бесплатно. Таким версии существенно повышена скорость www.transgaming.com образом, небольшим предприятиям работы Half-life 2 и становится выгодно использовать имен- World of Warcraft, но эту систему. CanIt, серверное реше- а также разрешен ряд ние для систем под управлением Linux проблем, связанных или Unix, было создано в 2002 году. с предварительной Основными задачами этого ПО стали компоновкой (pre- сокращение времени, уходящего на linking), защитой борьбу со спамом, и предотвращение exec shield и т. п. потери нужных писем. Данный про- World of Warcraft те- граммный продукт достаточно быстро перь может работать обрел популярность и теперь стал в режиме OpenGL. активно использоваться на предприяти- Зарегистрированные ях, в университетах и правительствен- пользователи могут ных учреждениях по всему миру. загрузить новую вер- www.roaringpenguin.com сию с сайта разра-

1/2005 LINUX| CHIP 6 notes ÌÓ‚ÓÒÚË ÒÓÓ·˘ÂÒÚ‚‡ Open Source

Linux ·ÂÁ ÔÓ‚Ó‰Ó‚ éÒÚÓÓÊÌ˚ ¯‡„Ë Как сообщает сайт eWeek.com, компа- и DeviceScape будет продавать стеки В связи с недавними шагами компании ния Instant802 объявила о своем пере- Wi-Fi, а также комплекты для самостоя- Adobe в сторону сообщества Open Source именовании в DeviceScape и выпустила тельной разработки. «В настоящий мо- у многих возникают вопросы о дальней- на рынок UWP (Universal Wireless мент мы предлагаем более 20 удачных шем совместном развитии продукции Platform) 2.0, включающую поддержку моделей (designs) для широкого ряда Adobe и проектов с открытым исходным Linux и средства разработки на базе устройств, и в большинстве из них уста- кодом. В недавнем интервью, данном Eclipse. Ранее Instant802 предоставляла новлена Linux», — сказал президент компании Cnet News, Брюс Чизен, ис- услуги производителям беспроводных компании DeviceScape. полнительный директор Adobe Systems, устройств. Теперь акценты сместились, www.eWeek.com рассказал о видах компании на Linux: «Большинство наших серверных про- граммных продуктов корпоративного уровня будут работать поверх ОС Linux… Однако реальностью на сегодняшний день стало достаточно небольшое число корпораций, перешедших на Linux для настольных ПК. Поэтому мы прислуши- ваемся к нашим клиентам, пытаемся по- нять, собираются ли они мигрировать и когда. Мы видим, что многие компа- нии, традиционно использующие рабо- чие станции под управлением Unix для работы с видео, переходят на Linux. Также поступают и некоторые государ- ственные учреждения, но мы не видим большого числа наших традиционных клиентов, меняющих платформу. Таким çÓ‚˚È ÍÓÔÓ‡ÚË‚Ì˚È Òڇ̉‡Ú? образом, никакого определенного плана Компания Novell представила новый ного программного обеспечения, Novell на данный момент нет. Похоже, что проект — Open Source Hula. Это сервер- надеется на то, что и другие компании адаптация Linux больше относится к ное программное обеспечение для рабо- внесут свою лепту в разработку. «Novell бизнес-сообществу, а не к креативным ты с электронной почтой, календарями приглашает сообщество Open Source профессионалам». и списками контактов. По утверждению объединиться вокруг этого проекта», — news.com.com Джека Мессмана, главы компании говорит Мессман. Hula выпускается Novell, 200 тысяч строк кода Hula была под двумя лицензиями — LGPL и взята из Novell NetMail. Проект Hula Mozilla Public License. í‡ÈÌÓ ÓÍÌÓ ‚ ëÂÚ¸ нацелен на конкуренцию не только с www.novell.ru Как утверждают в Mozilla Foundation, веб- Microsoft Exchange браузер Firefox и клиент электронной и IBM Domino, но почты Mozilla Thunderbird приобрели до- и с родным продук- статочную популярность среди крупных том от Novell — предприятий, однако не все компании GroupWise. Правда, желают признать данный факт и портить Мессман отметил, отношения с Microsoft. Тристан Нито, пре- что Hula немного зидент Mozilla Europe, заявил, что он знает более проста. Novell некоторое количество компаний, в кото- вступила также в рых Firefox и Thunderbird установлены партнерство с на 100 000 рабочих местах: «Я знаком Netline Internet со многими, кто использует Firefox и Service, которая то- Thunderbird, но предпочитает об этом мол- же будет участво- чать, чтобы не увидеть в один прекрасный вать в проекте Hula. момент стремительно растущую цену ли- Следуя традициям цензии на Microsoft Office». движения свобод- uk.news.yahoo.com

CHIP| LINUX 1/2005 Ó·ÁÓ˚, ÚẨÂ̈ËË 7

IBM-ÒÂ‚Â˚ — ‚ χÒÒ˚! По сообщению журнала Computerworld, соре Power5 и оснащена оперативной компания IBM впервые за два года ре- памятью объемом 512 Мбайт. На сервер шила заняться укреплением своих пози- предустанавливается IBM AIX, Linux ций на рынке Unix-систем начального или сразу обе операционные системы — уровня. Ориентировочная стоимость в соответствующие виртуальные разде- нового сервера eServer p5 510 Express лы. Как отмечают в IBM, сервер прост в минимальной конфигурации будет со- в конфигурировании и рассчитан на то, ставлять в США около $4 тыс. Данная чтобы составить конкуренцию анало- система, адресуемая предприятиям ма- гичным системам, предлагаемым Sun лого и среднего бизнеса, выполнена на Microsystems и Hewlett-Packard. единственном 1,5-гигагерцевом процес- www.computerworld.com

óÛÊÓÈ ÒÂ‰Ë Ò‚ÓËı Разработчики Wine сообщили о том, что популярную среду разработки для Windows Visual C++ версии 6.0 можно запустить при помощи так называемого «неэмулятора». Из этого следует, что сам Wine можно компилировать при помощи Visual C++, но это не главное. Основное применение среда разработки найдет у тех, кто пишет программы для Windows, но в качестве рабочей операционной си- стемы использует Linux, потому что при наличии Visual C++ под Wine проблема компиляции исходного кода для разных операционных систем становится неак- туальной, и время, затрачиваемое на раз- работку приложений для другой плат- формы, значительно уменьшается. www.inehq.com

ò͇ÚÛÎ͇, ÔÓÎ̇fl ËÍÓÌÓÍ Экономия пространства на рабо- С помощью этой утилиты много- чем столе является проблемой численные иконки будут появлять- многих пользователей. Если вы ся на вашем экране только тогда, уверены, что для каждой использу- когда они действительно нужны. емой программы есть своя иконка, При запуске программа остается если вы не привыкли запускать невидимой до тех пор, пока курсор приложения с помощью соответст- не попадет в заданную при конфи- вующей утилиты или консоли, то гурации область экрана. При пе- рано или поздно весь рабочий стол ремещении курсора в указанную превратится в пеструю мозаику из область в ней появляется окно, иконок. Достаточно оригинальное содержащее иконки. Таким обра- решение проблемы свободного зом, все программы запускаются пространства предлагают разра- одним щелчком мыши. ботчики программы IconBox. www.elrodeo.de/velopment/iconbox

1/2005 LINUX| CHIP 8 notes ÌÓ‚ÓÒÚË ÒÓÓ·˘ÂÒÚ‚‡ Open Source

èÓÔÛÎflÌ˚È ÏË„‡ÌÚ èÓÚflÒÂÌË ÓÒÌÓ‚ С течением времени все больше круп- мая популярная программа для записи Фонд свободного программного обеспе- ных производителей программного лазерных дисков существует и для чения (Free Software Foundation) призы- обеспечения обращают внимание на Linux. Правда, любителей свободного вает к разработке открытой версии BIOS. пользователей Linux. Об этом говорит программного обеспечения несколько На сегодняшний день в большинстве тот факт, что многие известные про- огорчит тот факт, что NeroLinux не рас- случаев BIOS поставляется либо произво- граммы, созданные для работы в OС пространяется бесплатно: эту програм- дителями материнских плат, либо компа- Windows, портируются под Linux. Эта му можно получить только в качестве ниями, специализирующимися в этой об- обнадеживающая тенденция не обошла бонуса к Nero для Windows. ласти, например Phoenix. Таким образом, стороной и компанию Nero. Теперь са- www.nero.com именно изготовитель материнской платы решает, когда и как будет обновлено программное обеспечение BIOS и будет ли оно обновлено вообще. В свою оче- редь Фонд свободного программного обеспечения предпринял попытку со- здания собственной BIOS — бесплатной и свободно распространяемой. По словам Ричарда Столлмена, этот проект даст возможность пользователям осуществ- лять более полный контроль над BIOS. Несмотря на то что первые попытки со- здания свободной BIOS уже предприни- мались (например, LinuxBIOS), прези- дент Free Software Foundation считает, что этого недостаточно. «Некоторые настольные компьютеры уже могут ис- пользовать свободную BIOS, но я не слышал ни об одном ноутбуке, способ- ном на это», — говорит он. www.fsf.org RADÓÒÚ¸ ÔÓ„‡ÏÏËÒÚ‡ Согласно информации издательства «От- ÇÓÁ‚‡˘ÂÌË ÏÌÓ„ÓÎËÍÓ„Ó Netscape крытые системы», компания Interface, О возрождении браузера Netscape хо- успела претерпеть большое количество официальный партнер Gupta Technologies, дило достаточно много слухов. Нако- радикальных изменений. начала поставки на российский рынок нец они стали реальностью — America По сообщению одного из создателей универсального кросс-платформенного Online выпустила первую бета-версию Netscape, версия, выпущенная в нояб- средства для быстрой разработки прило- Netscape 8. Главной особенностью ре, существенно отличается от той, жений Gupta Team Developer 2005. Это ре- нового продукта AO является возмож- с которой пользователи могут ознако- шение предназначается для оперативного ность выбора движка для визуализа- миться уже сейчас. Также новая версия создания информационных систем (Rapid ции страницы — Gecko (Mozilla и почти идентична Firefox, однако имеет Application Development — RAD). С его по- Netscape, Firefox) или Trident, исполь- вдвое больший объем скачиваемого мощью разработчики могут использовать од- зуемого в Internet Explorer. Сначала файла и использует для рендеринга ни и те же фрагменты кода как в Windows-, планировалось, что бета-версия сайтов движок Internet Explorer. На так и Linux-приложениях. По словам Netscape выйдет в феврале, однако практике это означает более правиль- представителей Interface, Gupta Team разработчики вынуждены были пере- ное отображение веб-страниц, нежели Developer 2005 не только даст специалис- нести релиз из-за большого количест- в браузерах с движком Gekko. Netscape там преимущества RAD-разработки, но и ва ошибок, на исправление которых поддерживает скины, умеет читать поможет компаниям, традиционно ориен- понадобилось время. Альфа-версия RSS-новости и имеет средство авто- тированным на Windows, выйти на рынок была выпущена в ноябре прошлого заполнения форм. Linux-приложений. года, и за прошедшее время программа browser.netscape.com www.osp.ru

CHIP| LINUX 1/2005 Ó·ÁÓ˚, ÚẨÂ̈ËË 9

ëÂÚ‚‡fl ‡Î¸Ï‡-χÚÂ ÑËÒÚË·ÛÚË‚-Ò‡ÏÓÔËÒˆ Корпорация IBM предоставляет сту- Огромный список дистрибутивов Linux Далее можно работать с дистрибути- дентам заманчивую возможность найти пополнился весьма интересной и мно- вом в обычном режиме, а при выклю- работу, а компаниям — приобрести гообещающей новинкой. Puppy Linux — чении или перезагрузке компьютера талантливых молодых специалистов. это первый в мире LiveCD-дистрибутив все измененные файлы, содержащиеся Согласно планам компании, в третьем (он не требует установки на жесткий в домашней папке, будут сохраняться квартале этого года будет создана спе- диск, для работы достаточно одного на компакт-диск. Проект Puppy Linux циальная база данных, в которую зане- CD), позволяющий пользователям со- еще совсем молодой, нынешняя версия сут резюме студентов, активно участ- хранять данные на сам компакт-диск, дистрибутива — 1.0.0 Alpha, однако вующих в проектах Open Source. Прав- с которого работает система. Для этого благодаря оригинальной идее у него да, для того чтобы попасть в эту базу, достаточно записать Puppy Linux на есть все шансы завоевать большую необходимо обучаться в вузе, участву- многосессионный диск и вставить его в популярность. ющем в программе IBM Academic привод, обладающий функцией записи. www.goosee.com/puppy Initiative, и пройти сертификационные экзамены. Сведениями, содержащими- ся в базе, смогут воспользоваться сна- чала менеджеры IBM, а потом и бизнес- партнеры корпорации из США и других стран. Кроме того, студенты вузов — участников Academic Initiative смогут пройти дистанционное обучение тех- нологиям IBM/Linux. www.ibm.com/us çÓ‚˚È ÔÓfl‰ÓÍ Среди разработчиков ядра Linux идет активная дискуссия об изменении по- рядка нумерации версий ядра. Обычно все проекты Open Source развиваются параллельно по двум веткам: стабиль- ной — для пользователей и нестабиль- ной, на которой обкатываются новые технические решения и проводятся тес- ты — для разработчиков. Для обозначе- ния стабильных версий используются четные цифры, для нестабильной — не- четные. В случае с ядром Linux это 2.6.x Ä‚ÚÓËÚÂÚ̇fl ÒÂÚËÙË͇ˆËfl (стабильная) и 2.5.x (нестабильная). Первые в России сертифицированные местной образовательной деятельности Однако разработка версии 2.5.x была учебные курсы по продуктам и техноло- и ASPLinux и центр компьютерного обуче- прекращена почти два года назад, а но- гиям SuSE Linux будут проведены в учеб- ния «Специалист» при МГТУ им. Н. Э. Бау- вая нестабильная версия так и не была ном центре R-Style уже этим летом. мана. Теперь «Специалист» будет прово- выпущена, все изменения происходили Преподавать там будут инструкторы, сер- дить обучение по двум разработанным в ядре 2.6.x. По новой схеме помимо тифицированные по широко признанной совместно с ASPLinux учебным курсам, Linux 2.6.x будут выходить и дополни- международной системе Linux Professional предназначенным для подготовки специа- тельные релизы ядра — Linux 2.6.x.y, Institute Certification (LPIC). Пройдя спе- листов по ОС Linux с нуля до уровня про- в которые войдут патчи для конкретных циальную подготовку и экзамены, три фессионального администратора. В их версий. Сам Линус Торвальд, разра- штатных преподавателя центра получили основу тоже легли стандарты LPI. Курсы ботчик ядра Linux, продолжит работу статусы Junior Level Administration обеспечены авторизованными учебными над Linux 2.6.x, а поддержкой патчей (LPIC1) и Intermediate Level Admini- пособиями, а по окончании обучения слу- к 2.6.x.y займутся энтузиасты stration (LPIC2), а сам центр теперь имеет шатели будут сдавать экзамен на получе- сообщества Open Source. статус Novell Business Partner Training ние сертификата специалиста ASPLinux. linux.slashdot.org Provider (BPTP). Объявили о начале сов- www.osp.ru

1/2005 LINUX| CHIP 10 notes ÌÓ‚ÓÒÚË ÒÓÓ·˘ÂÒÚ‚‡ Open Source

ê‡θÌ˚ ӯ˷ÍË ëËÌıÓÌÌÓ ÒÓ ‚ÂÏÂÌÂÏ В известном мультимедиапроигрывате- RealPlayer 10 и RealOne Player для В течение достаточно долгого времени ле RealPlayer обнаружены критические Macintosh; RealPlayer 10 и Helix Player все устройства от компании PalmSource, ошибки, допускающие возможность ав- для Linux. Исправленные обновления предназначенные для синхронизации тозапуска вредоносного кода в системы проигрывателя доступны на сайте с компьютером, использовали патенто- под управлением Windows, Linux и Mac RealNetworks. Патч для RealPlayer ванное фирменное программное обес- OS X. Уязвимости выявлены в механиз- Enterprise можно скачать на сайте печение HotSync. Однако, согласно заяв- мах обработки WAV- и SMIL-файлов и service.real.com/help/faq/security/ лениям представителей PalmSource, связаны они с ошибками проверки гра- security022405.html. в ближайшем будущем вместо HotSync ничных значений. Атаку можно осуще- informationweek.com будет использоваться программа SyncML. ствить, убедив пользователя открыть со- Это приложение для синхронизации, держащий вредоносный код SMIL-файл в основе которого лежит принцип откры- или спровоцировав автоматическую тых стандартов. Таким образом, сторон- загрузку такого файла в RealPlayer ним производителям станет проще раз- с веб-страницы. В частности, это ста- рабатывать программное обеспечение нет возможным, если после установки для настольных и карманных ПК, избегая RealPlayer в Windows у плеера будут проблем с синхронизацией. Этот шаг сохранены настройки по умолчанию: компания PalmSource объясняет тем, что в этом случае Internet Explorer откроет в скором времени за основу Palm OS бу- SMIL-файлы без предупреждения. дет взята Linux. Срок выхода первой вер- Ошибки присутствуют в RealPlayer сии Palm OS на базе Linux пока неизвес- 10.5, RealPlayer 10, RealOne Player V2, тен, но решение об этом должно быть RealOne Player V1, RealPlayer 8 и принято до начала ежегодного мобиль- RealPlayer Enterprise для Windows; ного саммита PalmSource. www.palminfocenter.com ë·ÎËÊÂÌË ÓÙËÒÓ‚ ëÏÂ̇ ÔËÓËÚÂÚÓ‚ В августе этого года ожидается выпуск LinuxWorld, прошедшей в Бостоне. Организация Mozilla Foundation офици- офисного пакета программ StarOffice 8. StarOffice 8, так же как и предыдущие ально объявила о том, что больше не пла- На сегодняшний день этот известный версии, будет базироваться на нирует выпуск значительных обновлений продукт компании Sun выпущен на OpenOffice.org 2.0 и включать в себя к веб-браузеру Mozilla. Вместо этого все 11 языках. Для расширения числа по- такие полезные функции как «Macro основные силы разработчиков будут тенциальных покупателей интерфейс Migration Tool» (импорт макросов сконцентрированы на главных проектах: новой версии будет переведен еще на Microsoft Office). По словам Майкла браузере Firefox и почтовом клиенте пять языков, в том числе и на русский. Бэммера, директора по разработке Thunderbird. Это означает, что релиз Бета-версия офисной программы была программного обеспечения StarOffice, Mozilla Suite 1.8 (под кодовым названием представлена в феврале на выставке проект преследует три основные це- Seamonkey), включающий в себя браузер ли — простоту Mozilla и почтовый клиент, не состоится, использования, а ветка 1.7.x станет для Mozilla последней. снижение затрат Тем не менее совсем отказываться от нее на обучение новых разработчики не планируют — в ближай- пользователей и шее время выйдет версия 1.7.6, а сроки безболезненный завершения работы над проектом Mozilla переход с других и вовсе пока не определены. «Пробные офисных программ. альфа- и бета-релизы Seamonkey 1.8 Бета-версию ново- предполагали, что мы выпустим и фи- го пакета StarOffice нальную версию 1.8. Но это не входит уже сейчас можно в наши планы, — говорится в заявлении скачать на офици- Mozilla Foundation, — релизы 1.8 были альном сайте ком- предназначены только лишь для тести- пании Sun. рования нашего движка». www.sun.com www.mozilla.org

CHIP| LINUX 1/2005 Ó·ÁÓ˚, ÚẨÂ̈ËË 11

ëÂÚ‚‡fl ‰‡ÍÚËÎÓÒÍÓÔËfl В свете последних научных исследова- возможность отследить устройство ний анонимность в Интернете может в тот момент, когда оно подключается вскоре стать достоянием прошлого. Уче- к Интернету через другой узел доступа; ный из Калифорнийского университета подсчитать число устройств за трансля- Тадаеси Коно нашел способ дистанци- тором сетевых адресов, даже если они онной идентификации аппаратуры используют постоянные или случай- компьютера. В своей работе он пишет: ные IP-идентификаторы; дистанцион- «Сегодня существует ряд мощных техно- но проверить блок адресов на соот- логий дистанционного снятия «отпечат- ветствие виртуальным хостам. ков пальцев» системы, то есть определе- В отчете Коно подчеркивается, что для ния на расстоянии типа операционной снятия «отпечатков пальцев» не требу- системы, установленной на том или ется никаких изменений в иссле- ином подключенном к Интернету уст- дуемом устройстве и никакого ройстве. Мы дали этой идее дальнейшее участия с его стороны. Но- развитие и ввели понятие дистанцион- вая технология уже провере- ного снятия «отпечатков пальцев» аппа- на на многих операционных сис- ратуры… без участия самого исследуемо- темах, в том числе на Windows XP го устройства». Результат этой научной и 2000, Mac OS X Panther, Red Hat работы может иметь весьма далеко иду- и Debian Linux, FreeBSD, OpenBSD щие перспективы. Например, появится и даже Windows for Pocket PCs 2002.

å‡ÌÂÊ ‰Îfl éë ãËÌÛÒ íÓ‚‡Î¸‰Ò Ë Mac Новая версия Novell SuSE Linux альную машину, которую ОС считает ре- Линус Торвальдс перешел на Apple Professional 9.3 позволяет исполнять не- альным компьютером. На такой платфор- Macintosh. В почтовой рассылке сайта сколько копий операционной системы ме разработчики могут тестировать новое lkml.org он сообщил, что больше не ис- одновременно. Это возможно благодаря ПО, не рискуя вывести из строя основной пользует процессоры архитектуры x86. Xen — пакету Open Source, конкурирую- компьютер или потерять важные данные. Также во время обсуждения снижения щему с продуктами Microsoft и EMC Пока Xen достаточно сырой и не будет объема Linux-ядра он заметил, что пред- VMware и уже завоевавшему признание устанавливаться по умолчанию. лагаемый им для рассмотрения патч для крупных заказчиков. Xen создает вирту- www.novell.com платформы x86 совсем не был протести- рован. Журналисты ZDNet Australia были заинтригованы тем, что человек, кото- рый некогда помог совершить револю- цию в использовании Unix на платформе x86, теперь ушел на другую платформу. На вопрос, чем он сейчас пользуется, Ли- нус ответил: «Моей главной машиной сей- час является G5 (aka PowerPC 970), имею- щий два процессора по 2 ГГц. Физически это обычный Apple Mac, однако, естествен- но, на нем запускается ОС Linux, так что не думаю, что это можно называть Маком ;)». Причину такого шага Линус пояснил тем, что частично это произошло из-за его тяги к экспериментам, и, по его мнению, люди, тестирующие систему на платфор- ме x86, больше в нем не нуждаются, а частично — из-за того, что он бесплатно получил компьютер. www.zdnet.com

1/2005 LINUX| CHIP 12 interview ÍÓÏÔ‡ÌËfl ÑÛÊÂβ·ÌÓ ÊÂÎÂÁÓ

Подключение нового оборудования в Linux зачастую вызывает трудности у новичков. Но это ни в коей мере не относится к драйверам для видеоплат от NVIDIA. На протяжении последних нескольких лет они демонстрируют в Linux традиционную для Windows удобную установку. Нам стало любопытно, почему разработчики проявляют такой неподдельный интерес к сообществу пользователей Linux, и мы побеседовали с одним из ведущих сотрудников компании NVIDIA.

Представьтесь, пожалуйста. Какой пост вы занимаете в компа- в драйвер означало бы, что все эти отделы работают напрасно нии, что входит в ваши непосредственные обязанности? ради лишь небольшой выгоды наших покупателей. Меня зовут Эндрю Фир, я руковожу отделом маркетинга Тем не менее, если в только что выпущенном драйвере программных продуктов компании NVIDIA. Наш отдел за- обнаружено некоторое количество ошибок, способных по- нимается исследованием софтового рынка и анализом по- влиять на условия работы большинства пользователей, мы, требительского спроса. Благодаря этому новая продукция безусловно, будем упорно трудиться, чтобы предоставить им NVIDIA создается с учетом все возрастающих требований новый драйвер настолько быстро, насколько это возможно. пользователей, что несомненно повышает ее популярность В NVIDIA мы пытаемся сделать так, чтобы в каждом оче- и конкурентоспособность. редном релизе появлялось больше новых функций, улучша- лась производительность и стабильность наших продуктов. Практикует ли ваша компания выпуск обновленных версий драй- веров «для галочки» — просто, например, изменяя порядковый По вашему мнению, при работе с какой операционной системой номер версии, внося минимальные поправки в код и не добавляя драйверы видеоплат NVIDIA обеспечивают наибольшую произ- при этом никаких действительно важных функций? водительность и с чем это связано? Я бы сказал, как правило, нет. Фактически это не очень хорошая Я бы сказал, наши графические процессоры лучше всего ра- политика для любой компании, разрабатывающей программное ботают с приложениями, написанными под определенную обеспечение. Процесс выпуска продукта означает его детальный операционную систему или ее API. Каждая из двух главных просмотр многими подразделениями, в том числе разработчи- ОС имеет сильное ядро, внятные API для ускорения графики ками ПО, отделами проверки качества и оценки производитель- и оптимизированные приложения, так что в общем наши гра- ности, маркетинга и PR. Внесение несущественных изменений фические процессоры обладают одинаковой производитель-

CHIP| LINUX 1/2005 NVIDIA 13

ностью на каждой из платформ. Мы нашли этому подтвержде- поддержка нескольких процессоров, версия ядра, версия дис- ние, когда в числе прочего тестировали производительность трибутива и прочее. Установщик драйверов NVIDIA решает все Doom 3 и Unreal Tournament. это за вас, объединяя все опции в единый пакет. Менее чем за Более того, скажу, что наши последние драйверы ForceWare три шага вы получите полностью функционирующий драйвер обеспечивают самую высокую производительность, по данным и работающий Unreal Tournament! теста SPEC Viewperf8, c видеоплатами Quadro под Linux. Под Windows-платформу разработано несколько утилит для раз- Существуют ли какие-то точные сроки, в течение которых гона видеоплат через драйверы. Дают ли возможность такого раз- должны выходить драйверы с поддержкой новых видеоплат, гона Linux-драйверы, и есть ли какие-то другие способы тюнинга недавно появившихся на рынке? видеоплат, работающих под Linux? Когда кто-то из партнеров NVIDIA начинает поставлять видео- Забавно, что вы об этом спросили! Сейчас не существует спо- платы, основанные на наших чипах, мы всегда стараемся сделать соба это сделать, но у нас было много запросов насчет разгона, так, чтобы драйверы были доступны уже с момента начала их потому что это можно сделать на других платформах. Мы обя- выпуска. Часто производители уже получают драйверы за не- зательно добавим такую возможность в следующий большой сколько недель до того, как мы выкладываем их для скачивания в релиз драйвера ForceWare для Linux. Интернет. Это делается заранее специально для того, чтобы быть уверенными, что они смогут напечатать CD, разработать допол- Поддержка ОС Linux в продукции NVIDIA имеет достаточно нительные средства и выпустить продукт настолько идеально, давнюю историю. Вами движет коммерческий расчет, или вы насколько это возможно. Только после этого мы предоставляем идете навстречу пожеланиям многочисленных пользователей? обновление программного обеспечения на нашем веб-сайте, сов- Мы придаем большое значение поддержке всех платформ, на падающее по времени с запуском драйвера в обращение. которых работают пользователи. У нас уже есть победы в среде OEM и Customer Design на Linux, и мы продолжим поддерживать На протяжении нескольких лет все драйверы распространялись эту ОС до тех пор, пока она остается выбором наших покупате- в виде RPM-пакетов, сборки которых существовали для всех лей. Мы понимаем, что широкие массы пользователей хотят ви- популярных дистрибутивов. Что послужило для вас поводом деть в нашей продукции поддержку Linux, и их требования яв- отказаться от данной практики и приступить к разработке еди- ляются основой для дальнейшего продвижения приложений ного инсталляционного пакета, самостоятельно компилирую- NVIDIA под Linux. Так что ответ, конечно же: и то и другое. щего необходимые модули в процессе установки под каждый конкретный дистрибутив? Есть ли принципиальные различия в процессе разработки драй- Одна из самых частых жалоб, поступающих от наших OEM- веров для разных ОС? Для какой системы их проще писать? партнеров, конечных пользователей и прессы, всегда касалась то- Компания NVIDIA изобрела уникальный подход к созданию го, что Linux сложна в использовании и поэтому трудно заставить драйверов, который существует уже более 10 лет и охватывает бо- железо и программы работать на этой платформе. К тому же мы лее 250 продуктов. Это единая архитектура драйверов (Unified увидели, как стремительно растет число дистрибутивов Linux, и Driver Architecture — UDA), уже почти запатентованная разра- решили, что нужно найти способ внедрить наш софт в наиболь- ботка, позволяющая нам создавать драйверы, переносимые на шее их количество, и в результате создали два решения для Linux. разные операционные системы на 95%. Это означает, что новые Первым из них стала технология Linux Update (www.nvidia. функции, прирост производительности и стабильности могут рас- com/object/linux_update.html), стартовавшая более года на- пространяться на многие платформы и принести пользу всем на- зад. Она была призвана помочь пользователям своевременно шим покупателям. В марте мы выпустили релиз драйвера Force- узнавать о появлении новых драйверов и файлов, не требуя Ware одновременно для семи различных операционных систем! от них регулярного посещения нашего сайта. Программа ра- Это отличное доказательство преимущества применения UDA, ботает в фоновом режиме и автоматически проверяет обнов- значительно облегчающее поддержку наших пользователей. ления. Технология Linux Update сейчас интегрирована во все наши обновления для Linux — это 32- и 64-битная графика Сколько человек занимается написанием Linux-драйверов в ва- и семейство nForce. шей компании, и помогает ли сообщество Open Source в тестиро- Следующим решением является технология интегрирован- вании их предварительных версий? ного установщика, составляющего часть Linux Update. Инстал- Так как разработка драйверов у нас ведется с применением тех- лятор был создан в ответ на просьбы пользователей, которые нологии Unified Driver Architecture, многие сотни инженеров хотели, чтобы драйверы устройств устанавливались так же про- работают над кодом, использующимся в Linux. Сообщество сто, как и в Windows, и в то же время продолжали предоставлять Open Source — это отличный источник помощи для NVIDIA. максимальную гибкость распространения для разных дистри- Для примера: Linux Installer мы написали как Open Source. Вы бутивов. Если вы посмотрите на типичные требования к уста- можете скачать код и изменить его в соответствии со своими новке программ под Linux, то обнаружите там несколько уров- потребностями. Мы всегда пытаемся предоставить сообществу ней детализации настроек, с которыми нужно разобраться еще инструменты, нужные ему для того, чтобы эффективнее ис- до того, как вы начнете устанавливать драйвер: тип процессора, пользовать и внедрять железо NVIDIA на своих платформах. |

1/2005 LINUX| CHIP 14 success story ËÌÚÂÂÒÌÓ ¯ÂÌËÂ

Дмитрий Моисеев èäËé ËÏ. Linux

Для использования компьютера в качестве мультимедиацентра компания Microsoft создала отдельную операционную систему — Windows XP Media Center Edition. Между тем пользователи Linux могут сделать практически то же самое на базе любого дистрибутива.

Многие люди считают, что Linux — не мультимедийная плат- Все дело в том, что документация рассчитана на пользователя, форма. Это огромное заблуждение. На самом деле компьютер который достаточно неплохо разбирается в системе. под управлением этой операционной системы вполне может стать домашней мультимедиасистемой, использующей для | Установка необходимых программ | просмотра фотографий, фильмов и прослушивания музыки. Разработчики Freevo позаботились о пользователях боль- Все было бы отлично, если бы не ряд проблем. Во-первых, шинства дистрибутивов, так что она распространяется как в жена не дружит с компьютером, и банально включить фильм, RPM-пакетах, так и в портах Gentoo Linux, репозитории если меня нет дома, ей довольно трудно. Во-вторых, даже ес- Debian и SuSE Linux. Мы же рассмотрим установку на приме- ли я дома, компьютер может быть занят, а супруге хочется по- ре Fedora Core. Для корректной инсталляции программы на- смотреть видео или послушать музыку. В-третьих, при про- стоятельно рекомендуем использовать утилиты yum, так как смотре фильма для перемотки приходится вставать с дивана и по зависимостям Freevo требует достаточно большого количе- идти к компьютеру. ства пакетов. Добавим в базу данных yum репозитории с нуж- Сначала, купив инфракрасный приемник, я смог решить по- ными нам пакетами. Сделать это можно в файле /etc/yum.conf: следнюю проблему. Затем у меня закралась мысль: «А нельзя ли сделать красивые меню с выбором нужного фильма?» Сначала [freevo] думал заняться написанием программы для этого сам, так как name = Freevo RPM Repository for Fedora Core давно уже хотел подробно изучить библиотеку SDL. Но, как baseurl = http://freevo.sf.net/fedora гласит пословица, «все уже написано до нас», выяснилось, что gpgkey = http://freevo.sourceforge.net/fedora/tcwan_freevo_key.asc существует множество программ, которые уже сейчас предо- [dag] ставляют эту возможность. Выбор остановился на проекте name = Dag RPM Repository for Fedora Core Freevo, в число возможностей которого входит просмотр или baseurl = http://apt.sw.be/fedora/$releasever/en/$basearch/dag запись любых теле- и радиопередач и ознакомление с програм- [freshrpms] мой телетрансляций на неделю. При этом программа самостоя- name = Fedora Linux $releasever - $basearch - freshrpms тельно обновляется из Интернета, в то время как вы работаете. baseurl = http://ayo.freshrpms.net/fedora/linux/$releasever/ Помимо этого она позволяет выводить изображение на экран те- $basearch/freshrpms левизора, смотреть фильмы и слушать музыку практически лю- [updates] бых форматов и даже читать новости из Сети. Заинтересовались? name = Fedora Linux $releasever - $basearch - updates Тогда давайте перейдем непосредственно к сути рассказа. baseurl = http://ayo.freshrpms.net/fedora/linux/$releasever/ Многие функции я начал использовать не сразу. Но с течени- $basearch/updates ем времени и по мере апгрейда компьютера смог насладиться всеми возможностями Linux в качестве мультимедийного цент- Теперь осталось установить Freevo со всеми зависимостями: ра. На текущий момент я располагаю видеоплатой на чипе GeForce FX 5200. Благодаря ТВ-выходу она позволяет выводить yum install freevo изображение на экран телевизора. Имеются также ТВ/FM-тюнер на чипе brooktree878 и ИК-порт Tekram Irmate 210. Единствен- Для поддержки дистанционного управления установим ный недостаток Freevo — сложность настройки для новичков. библиотеки lirc и pylirc:

CHIP| LINUX 1/2005 ÏÛθÚËωˇˆÂÌÚ ̇ ·‡Á Linux 15

yum install lirc pylirc xmltv

Также рекомендуется поставить один из мультимедиапле- еров — MPlayer или XINE, для того чтобы иметь возможность просмотра видеофайлов и DVD, ну а xmltv понадобится для со- здания и работы с программой телепередач. | Настройка | Все основные настройки хранятся в файле /etc/freevo/free- vo.conf, пользовательская же конфигурация программы рас- полагается в вашем домашнем каталоге, в поддиректории ~/.freevo/local_conf.py. Конфигурационные файлы написаны на языке python и отлично документированы. Скопируем из директории /usr/share/freevo файл local_conf.py в ваш домаш- èË ‚ÓÒÔÓËÁ‚‰ÂÌËË ÍÓÏÔÓÁˈËÈ ÓÚÓ·‡Ê‡ÂÚÒfl Ó·ÎÓÊ͇ ‡Î¸·Óχ ний каталог ~/.freevo и отредактируем его с учетом ваших по- желаний. Всего в конфигурации содержится пять основных блоков. Рассмотрим их. ROM_DRIVES = [('/mnt/cdrom','/dev/cdrom','CD')]

| Основные настройки | | Настройка плагинов | Добавим в эту секцию строчку, которая сообщит Freevo путь Здесь можно удалить ненужные плагины. Например, если у вас к устройству CD-Rom: нет TВ-тюнера, можно убрать плагин для просмотра телепере- дач из главного меню программы: Расширение возможностей plugin.remove('tv') ç‡ÒÚÓÈ͇ ‰ÊÓÈÒÚË͇ ‰Îfl PlayStation Многие не знают, что к ком- После этого соберем ядро: | Настройка видео, аудио и изображения | пьютеру можно подсоединить В первую очередь добавим папки с фильмами, музыкой и фо- джойстик практически от лю- make modules modules_install тографиями: бой приставки, а модули для их поддержки есть в составе Если все прошло успешно, VIDEO_ITEMS = [ ('Фильмы','/mnt/media/film') ядра Linux. Почти все джой- пропишем новое ядро в за- AUDIO_ITEMS = [ ('Музыка','/mnt/muzik)] стики подключаются через па- грузчик, перезапустим сис- IMAGE_ITEMS = [('Фотографии','/mnt/media/foto')] раллельный порт. Схему рас- тему, после чего подгрузим пайки проводов можно найти нужные нам для функциони- | Настройки внешнего вида | в файле документации к ядру: рования устройства модули: В поставке c Freevo содержится несколько различных тем: /documentation/input/joy- Blurr, Info и Noia. Для выбора какой-то конкретной темы в фай- stick_parport.txt. Здесь описа- modprobe joydev ны схемы распайки для самых modprobe gamecon gc = 0,7 ле конфигурации необходимо набрать следующую строку: популярных джойстиков: Sony PlayStation, Sega Megadrive, После этого все программы — SKIN_XML_FILE = 'blurr' Super Nintendo, Dendy. Лично эмуляторы приставок будут мне достался джойстик от видеть ваш джойстик. Все темы хранятся в формате XML, а потому могут быть до- Sony PlayStation китайской статочно легко изменены. сборки всего за 60 рублей. Уже после десяти минут ра- Достойный аналог Freevo — | Настройки веб-сервера и сервера записи | боты паяльником я получил программа MythTV — разме- Для удаленного управления Freevo можно использовать веб- полноценный инструмент щена на www.mythtv.org интерфейс. Для этого понадобится включить нужный модуль и управления. Настройка ТВ/FM-тюнеров настроить параметры доступа: Следующий шаг — сборка не- под Linux — www.linuxlabs.biz/ обходимых модулей. Для это- articles/tvcard.html го в файле конфигурации яд- Проект LIRC — www.lirc.org plugin.activate('www') ра добавим строку: Скрипт, скачивающий список WWW_PORT = 10808 телепередач и конвертирую- WWW_USERS = { «test» : «password»} CONFIG_INPUT_JOYDEV = m щий его в формат, понятный CONFIG_INPUT_JOYSTICK = y xmltv — eugene.renice.org/ Чтобы вести запись передач по расписанию, можно заста- CONFIG_JOYSTICK_GAMECON = m onlytv.html вить работать демон Freevo в фоновом режиме. Для этого нуж- но написать только его адрес и порт:

1/2005 LINUX| CHIP 16 success story ËÌÚÂÂÒÌÓ ¯ÂÌËÂ

ïÓÚËÚ ÔÓÒÏÓÚÂÚ¸ ÙÓÚÓ„‡ÙËË óÚÓ Ë ÍÓ„‰‡ Á‡ÔËÒ˚‚‡Ú¸, ÏÓÊÌÓ ‚˚·‡Ú¸ à„˚ ÔÓÏÓ„ÛÚ ‡ÒÒ··ËÚ¸Òfl ÔÓÒΠËÁ ÓÚÔÛÒ͇? çÂÚ ÌË˜Â„Ó ÔӢ ‚ ÒÔËÒÍ ÚÂÎÂÔÂ‰‡˜ ÚÛ‰Ó‚Ó„Ó ‰Ìfl

TV_RECORD_SERVER_IP = 'localhost' Option "NoLogo" "True" TV_RECORD_SERVER_PORT = 18001 EndSection

| Настройка TВ-выхода | Section "Screen" #Параметры изображения Как я уже писал, в моей системе установлена видеоплата на базе Identifier "Screen1" чипа NVIDIA, оборудованная телевизионным выходом. Для того Device "Nvidia1" чтобы он заработал, необходимо установить фирменные драй- Monitor "TV" веры NVIDIA, которые по лицензионным соображениям в по- DefaultDepth 16 ставку дистрибутива не входят. После того как они будут установ- Subsection "Display" лены, потребуется произвести некоторую базовую настройку. Depth 24 Предположим, мы хотим, чтобы на телевизоре и мониторе ком- Modes "640x480" пьютера отображались совершенно разные картинки: например, EndSubSection на мониторе браузер с лентой новостей, а на телевизоре — фильм. EndSection Для этого добавим в файл /etc/X11/xorg.conf новые разделы: Теперь осталось только перегрузить X-сервер. После этого Section "ServerLayout" на экране телевизора должен появиться серый фон. Теперь Identifier "m0sia configured" для запуска Freevo на телевизоре напишем: Screen 0 "Screen0" Screen 1 "Screen1" DISPLAY = :0.1 freevo InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" | Настройка lirc | EndSection Для работы lirc нужно установить модули ядра и загрузить их:

Section "Monitor" # Настраиваем телевизор modprobe lirc_sir Identifier "TV" HorizSync 60 После этого вы должны научить lirc распознавать ваш VertRefresh 30-150 пульт. Для этого запустим lirc в режиме обучения: VendorName "Thomson" ModelName "Thomson TV" irrecord -d /dev/lirc0 /etc/lircd.conf EndSection После этого будем следовать указаниям программы, и она за- Section "Device" #Второе устройство для TВ-выхода пишет конфигурацию вашего пульта в файл /etc/lircd.conf. При Identifier "Nvidia1" желании для изменения назначения клавиш ее можно исправить. Driver "nvidia" Теперь нужно научить обращаться с пультом непосредствен- Screen 1 но Freevo. Для этого существует файл /etc/freevo/lircrc. Он име- BusID "PCI:1:0:0" ет следующий формат: BoardName "Asus GeForce FX 5200" Option "RenderAccel" begin Option "ConnectedMonitor" "TV" prog = freevo Option "TVOverScan" "0.692" button = <название клавиши в /etc/lircd.conf> Option "TVStandart" "NTSC-M" config = <действие> Option "TVOutFormat" "COMPOSITE" end

CHIP| LINUX 1/2005 ÏÛθÚËωˇˆÂÌÚ ̇ ·‡Á Linux 17

Например, для клавиши с названием «Down» будет выпол- Запустить сервер для записи передач можно следующей нено действие «Down»: командой:

begin freevo recordserver start prog = freevo button = Down Теперь у нас есть возможность выбора — какую передачу config = Down и когда записывать. Укажем, с какой видеоплатой будет рабо- end тать Freevo:

Действиями, которыми можно управлять с пульта, являются: TV_DRIVER = 'v4l2' «Up», «Down», «Left», «Right», «Play», «Stop», «Pause», «Exit», TV_DEVICE = '/dev/v4l/video0' «Select», «FFWD», «Rew», «VOL+», «VOL-», «Enter» и «Subtitle». TV_INPUT = 0 Думаю, объяснять, что делает та или иная функция, не надо, все TV_SETTINGS = '%s television %s %s' % (CONF.tv, ясно из ее названия. Остается только лишь добавить в файл CONF.chanlist, TV_DEVICE) local_conf.py строчку, указывающую его расположение: Все готово, теперь можно смотреть и записывать телепередачи. | LIRCRC = '/etc/freevo/lircrc' Дополнительная информация | Настройка TВ-тюнера и показа программ телепередач | èÓ·ÎÂÏ˚ Ë ÏÂÚÓ‰˚ Ëı ¯ÂÌËfl Для просмотра и записи телепередач с помощью Freevo мы Все сложности, с которыми программа-перекодировщик должны загрузить соответствующие вашему тюнеру модули я столкнулся, в основном сво- с графическим интерфейсом video4linux, входящие в состав ядра. Я не буду останавливаться дятся к проблемам с русским Unicode Rewriter. Ее можно на этом подробно, так как это выходит за рамки статьи. Чтобы языком. Пока не закончится найти по адресу: http://source- полный перевод большинства forge.net/projects/unicode- просмотр телепередач мог осуществляться, должен быть вклю- приложений на Unicode, мы rewrite. Чтобы Beep Media чен плагин tv, для этого добавим в local_conf.py строку: и дальше будем сталкиваться Player или XMMS вновь стали со множеством трудностей проигрывать файлы с переко- plugin.activate('tv') с кодировками. дированными тегами, необхо- димо запретить данным пле- Freevo предполагает показ программы телепередач, которая Проблема 1. Отсутствие ерам использовать ID3v2-теги. хранится в формате XMLTV. Для генерации данного списка русских шрифтов нужно использовать программу tv_grab из установленного па- Когда я запустил Freevo пер- Проблема 3. кета xmltv, но разработчики по какой-то причине не включили вый раз, то вместо русских Пункты меню по-русски Россию в список стран, для которых tv_grab может создать дан- слов увидел квадратики. При добавлении новых пунк- ный файл. Выхода из этой ситуации существует всего два: либо Решение нашлось очень быст- тов меню опять возникла про- написать файл в требуемом формате самостоятельно, либо, что ро. Достаточно заменить блема с кодировками. Как вы все установленные по умол- помните, я добавил в удобнее, использовать утилиту onlytv, написанную нашим со- чанию шрифты в папке local_conf.py строку: отечественником Евгением Морозовым. Скачаем последнюю /usr/share/freevo/fonts/ на версию утилиты, разархивируем ее и перейдем в каталог onlytv. шрифты, содержащие нужную VIDEO_ITEMS = [ ('Фильмы', Для получения нужного списка телепередач запустим програм- нам кодировку. Для тех кто '/mnt/save/film')] му конфигурации: использует локаль UTF-8, по- дойдут шрифты из Windows. Вместо ожидаемого «Филь- export PYTHONPATH = PathToPython Для кодировки KOI8-R можно мы» в меню я увидел квадра- ./GuiConfiguration.py взять шрифты отсюда: ты. После небольшого рас- ftp.vn.ua/pub/win/win- следования выяснилось, что После это скачаем необходимые нам программы: 3.x/fonts. ошибка кроется в модуле pygame, который использует ./tv_grab_ru.py > /tmp/TV.xml Проблема 2. Freevo. В этом модуле разра- Кодировка ID3-тегов ботчики вместо семейства Все мои MP3-композиции со- функции TTF_RenderUTF8 в Теперь добавим нужные передачи в local_conf.py: держали ID3-теги в кодиров- некоторых местах используют ке Windows-1251. Естествен- TTF_RenderText. Сам патч, а TV_CHANNELS = но, что названия песен при также уже исправленный па- [('1tv.ru','ОРТ',''),('rutv.ru','РТР',''),('ntv.ru','НТВ',''),('ctc- этом в Freevo не отобража- кет pygame вы можете скачать tv.ru','СТС','')] лись. Решает эту проблему с сайта ichip.ru.

1/2005 LINUX| CHIP 18 hardware ‚ÒÚÓÂÌÌ˚Â ÒËÒÚÂÏ˚

Денис Михайлов èËÛ˜ÂÌË Linux Á‡ ÔÓΘ‡Ò‡

До сих пор Linux не устанавливали лишь на стиральные машины, да и то, видимо, только пока. Но это крайности, а мы сегодня поговорим о вполне реальном, способном принести экономическую пользу, применении этой ОС как встраиваемой системы. Речь идет о КПК под управлением Linux.

У пользователей Linux всегда был один пунктик — уста- | Лучший выбор | навливать любимую операционную систему на все, что имеет На сегодняшний день наилучшей заменой Windows Mobile память и процессор. Причем практическая польза от этого является дистрибутив Familiar, основанный на Debian и постро- зачастую минимальна. Объяснить эту тенденцию можно, на- енный с помощью системы разработки OpenEmbedded. Послед- пример, тщеславием. Еще бы! Какой появляется замечатель- няя стабильная версия дистрибутива — 0.8.1 — поддерживает ный повод похвастаться успешным опытом перед другими КПК iPAQ серий h3600, h3700, h3800, h3900, h5400, h5500, а так- энтузиастами встроенных систем! Другим стимулом может же Siemens Simpad и Sharp Zaurus. Под этим подразумевается, стать стремление оценить возможности этой уникальной ОС. что система загружается на данных устройствах, работает сен- В этой статье мы поговорим об установке Linux на КПК iPAQ, сорный экран, заряжается батарея, но, к сожалению, не всегда которая в данном случае имеет вполне утилитарный резон. аппаратная часть работает стабильно. Мы пробовали ставить Конечно, на рынке существуют готовые комплексные реше- Linux на iPAQ 5550. И в целом все функционировало неплохо, за ния, например модель Sharp Zaurus. По цене же такие устрой- исключением Bluetooth. А вот судя по отзывам участников поч- ства сопоставимы с ноутбуками и, соответственно, намного товой конференции на handhelds.org/mailman/listinfo/familiar, дороже топовых моделей iPAQ. Однако и с меньшими затра- работа радио в этой модели наладонника достаточно часто вы- тами можно обзавестись устройством, обладающим беспро- зывает нарекания владельцев. Так что, если вы загорелись водной связью и массой других возможностей. идеей установить на свой КПК Familiar, прежде всего изучите

CHIP| LINUX 1/2005 ÛÒÚ‡Ìӂ͇ Linux ̇ iPAQ 19

информацию о релизе дистрибутива и уточните, в какой мере поддерживается ваше устройство. Впрочем, можно узнать это и эмпирическим путем, благо, что всегда есть возможность восстановить Windows Mobile. О процессе возврата к творе- нию Microsoft мы расскажем ниже, а пока давайте попробуем установить на мобильный компьютер Linux. | Opie vs. GPE | Первое, с чем необходимо определиться, — какую графиче- скую среду вы будете использовать. Familiar распространяется в двух вариантах: с графической оболочкой Opie, основанной на Qtopia, и GPE, основанной на GTK. По поводу преиму- ществ одной оболочки перед другой не утихают споры, подоб- ные тем, что были в свое время между поклонниками KDE и GNOME. Какую из них выбрать, в конечном итоге зависит от личных предпочтений. Приблизительно можно говорить о том, что целью создателей GPE было воспроизвести рабочую среду обычного компьютера на маленьком экране наладонни- ка. В ней больше предустановленных программ, чем в Opie: имеется браузер Minimo, просмотрщик графических файлов, система распознавания рукописного ввода, несколько логиче- ских игр и многое другое. На док-панель можно по желанию выносить иконки различных полезных аплетов, например бес- проводной связи и поворота экрана на 90°. Opie же наоборот придерживается концепции органайзера наподобие Palm и, на наш взгляд, имеет более привлекатель- ный интерфейс, который, вдобавок, можно изменять с помо- щью тем. В стандартной поставке с Familiar она аскетична по программному наполнению. Впрочем, дополнительных про- граммных пакетов для нее существует достаточно много, и ох- ватывают они достаточно широкий тематический диапазон — от игр и мультимедиа до текстовых редакторов и браузеров. Что Familiar ÔÓ‰‰ÂÊË‚‡ÂÚ ·Óθ¯ËÌÒÚ‚Ó Ì‡Î‡‰ÓÌÌËÍÓ‚ iPAQ. ç‡ ÙÓÚÓ понравилось в Opie, так это файловый менеджер, который поз- Á‡ÒÚ‡‚͇ „‡Ù˘ÂÒÍÓÈ Ò‰˚ Opie ̇ iPAQ h5550 воляет просматривать все дерево файловой системы и вообще довольно удобен. Итак, скачайте с сайта familiar.handhelds.org дистрибутив Familiar. Вас попросят выбрать релиз ОС (стабиль- оговорками. Затем скопируйте образ системы в файл ный или нестабильный), указать модель наладонника и графи- wince.gz. По каким-то причинам тестовый КПК во время ческий интерфейс. Кроме Opie и GPE можно скачать и версию этого процесса зависал. Если полоса прогресса не двигает- bootstrap — дистрибутив без поддержки экрана, больше инте- ся больше минуты, перезагрузите iPAQ и повторите проце- ресный разработчикам. Скачанный файл, имеющий формат дуру. Учтите, что файл образа системы может занимать око- TAR, включает архив загрузчика, программу для перепрошивки ло 40 Мбайт, так что заранее позаботьтесь, чтобы свободной ПЗУ, образ системы и файлы контрольных сумм. памяти было достаточно. Сохраненные резервные копии переместите на персональный компьютер. | Установка загрузчика | Теперь мы подошли к ответственному моменту — перепро- Процесс инсталляции довольно прост. Для начала необхо- шивке загрузчика. Удостоверьтесь, что батареи iPAQ заряже- димо перенести на КПК программу для прошивки загруз- ны и устройство подключено к внешнему источнику питания. чика BootBlaster и непосредственно загрузчик. Сделать это Выберите в меню пункт «Flash p Program» и в открывшемся можно различными способами: через ActiveSync, Synce, диалоговом окне укажите файл нового загрузчика (что-то на- карту памяти или FTP — как вам удобнее. Скопируйте фай- подобие bootldr.bin.gz). Во время перепрошивки, которая лы BootBlaster3900-2.6.exe и bootldr-pxa-2.21.12.bin (назва- длится около 15 секунд, не прерывайте программу и не тро- ние может немного отличаться). Теперь необходимо запус- гайте клавиши КПК. Напоследок проверьте, что загрузчик тить BootBlaster и выполнить несколько последовательных установился правильно (пункт меню «Verify»). Если выдается шагов. Во-первых, сохраните оригинальный загрузчик. сообщение, что загрузчик не установлен, ни в коем случае не Этот шаг можно и пропустить, так как Linux BootLoader то- выключайте и не перегружайте iPAQ. Вместо этого попробуй- же может загружать Windows Mobile, правда, с некоторыми те повторить предыдущую процедуру или восстановить ранее

1/2005 LINUX| CHIP 20 hardware ‚ÒÚÓÂÌÌ˚Â ÒËÒÚÂÏ˚

äÓ̈ÂÔˆËfl „‡Ù˘ÂÒÍÓÈ ë‰‡ GPE ÓÒÌÓ‚‡Ì‡ ̇ Ò‰˚ Opie ˜ÂÏ-ÚÓ ‰‚ËÊÍ GTK, ËÒÔÓθÁÛ- ̇ÔÓÏË̇ÂÚ Palm OS ÂÏÓÏ Ú‡ÍÊ ‚ GNOME

óÚÓ·˚ Ò͇˜‡Ú¸ ‰ËÒÚË·ÛÚË‚ Familiar, ÌÂÓ·ıÓ‰ËÏÓ ‚˚·‡Ú¸ ÏÓ‰Âθ ÛÒÚÓÈÒÚ‚‡ Ë „‡Ù˘ÂÒÍÛ˛ Ò‰Û

сохраненный загрузчик Windows Mobile. В случае удачной ус- Чтобы проверить, что связь с КПК есть, задайте в термина- тановки загрузчика можно приступать к инсталляции Linux. ле, например, команду «help». Если все в порядке, наберите:

| Установка Familiar | load root Для копирования образа Familiar существует несколько пу- тей. Более быстрый способ — использовать CF-карту памяти. Теперь, если вы работаете в HyperTerminal, выберите из меню Но поскольку загрузчик не поддерживает дисплей и карты «Отправить файл» («Send File») и укажите местоположение jffs2- расширения наладонников серий 51**, 54**, 55**, для загруз- файла. Протокол передачи данных должен называться Ymodem-G. ки дистрибутива в память КПК воспользуйтесь более универ- В minicom для совершения этих же действий нажмите после- сальным методом — последовательным портом и эмулятором довательность клавиш «Ctrl+A», «Z» и «S». В открывшемся ди- терминала. В Windows вы можете воспользоваться програм- алоговом окне также выберите нужный файл (чтобы зайти в мой HyperTerminal, в Linux — minicom. директорию, используйте клавишу «Space»). Если передача Удерживая клавишу джойстика, перезагрузите КПК. Для файла началась, можно смело идти пить чай, так как этот про- этого вам придется вытащить его из кредла. После короткого цесс занимает 20–30 минут в зависимости от размера дистри- вибросигнала отпустите джойстик, и на экране появится меню бутива. Затем вы должны увидеть примерно следующее: BootLoader. Но только не в нашем случае. Как уже было сказа- но, загрузчик не поддерживает дисплей моделей 55**, поэтому Erasing sector 00140000 действовать придется в буквальном смысле на ощупь. Нажми- Erasing sector 00180000 те левую нижнюю клавишу КПК (с изображением календаря), ... и iPAQ будет готов для связи по последовательному интерфей- addr: 00360000 data: 781590DB су. Используете ли вы HyperTerminal или minicom — неважно, addr: 00370000 data: 642637AE в обоих случаях необходимо настроить параметры COM-порта. Erasing sector 00FC0000 Консольная программа minicom имеет довольно причудливый интерфейс, поэтому рассмотрим ее подробнее. Чтобы запус- тить ее в режиме конфигурации, наберите:

minicom -s

После этого выберите в меню пункт «Serial Port Setup» и нажмите «Enter». Для изменения настроек воспользуйтесь клавишей «E». В появившемся окне выберите «I», чтобы вы- ставить скорость соединения 115 200 бод, затем «Q» («Data bits» — 8, «Parity» — None, «Stop Bits» — 1) и «Enter» для вы- BootBlaster ÔÓÏÓÊÂÚ ÖÒÎË ‚‡¯ iPAQ Ì ÒÂËË 5***, ÚÓ ‚˚ хода в предыдущее меню. Нажмите «F» и «G», чтобы отклю- ҉·ڸ ÂÁÂ‚ÌÛ˛ ۂˉËÚ ڇÍÛ˛ ÒËÏÔ‡Ú˘ÌÛ˛ Á‡ÒÚ‡‚ÍÛ чить программное и аппаратное управление потоком (flow ÍÓÔ˲ ÒËÒÚÂÏ˚ Á‡„ÛÁ˜Ë͇ control). Сохраните настройки и выходите из программы.

CHIP| LINUX 1/2005 ÛÒÚ‡Ìӂ͇ Linux ̇ iPAQ 21

ë ÔÂ‚Ó„Ó ‡Á‡ ‡ÁÓ·‡Ú¸Òfl ‚ ÏÂÌ˛ minicom ‰Ó‚ÓθÌÓ ÒÎÓÊÌÓ, Á‡- èÛÚ‚ӉËÚÂθ ÔÓ ÛÒÚ‡ÌÓ‚Í Linux ̇ äèä — Ò‡ÈÚ handhelds.org ÚÓ ÓÌ Ó·Î‡‰‡ÂÚ Ó˜Â̸ „Ë·ÍËÏË Ì‡ÒÚÓÈ͇ÏË

writing flash.. Размер получившегося файла root_image должен состав- addr: 00100000 data: E0021985 лять 33 030 144 байта. Теперь сожмите его: addr: 00110000 data: E3BAD617 ... gzip -9 root_image addr: 00600000 data: E0021985 addr: 00610000 data: FFFFFFFF Затем загрузите файл на КПК через терминал и по оконча- addr: 00620000 data: FFFFFFFF нии процесса введите: addr: 00630000 data: FFFFFFFF verifying ... formatting ... done. boot wince boot> Теперь надпись на КПК «Microsoft Windows Powered» снова Загрузчик стер содержимое флеш-памяти, записал в нее за- соответствует действительности. Если вы хотите восстановить груженный файл, проверил его и правильно разместил в памяти. и оригинальный загрузчик, наберите: Осталось только написать в ответ на приглашение командной строки «boot», и, если вы видите логотип с изображением пинг- load bootldr вина, можете поздравить себя с успешной установкой Linux. На- до заметить, что первая загрузка может продолжаться довольно После этого загрузите на КПК файл saved_bootldr.gz. долго из-за того, что должны сгенерироваться SSH-ключи. Однако не восстанавливайте загрузчик, пока не убедитесь, что iPAQ работает корректно. | | Восстановление Windows Mobile | Если по каким-либо причинам Linux на КПК вас не устроил или его установка была лишь экспериментом, вы можете вернуть iPAQ прежнее состояние. Надеемся, что вы сделали бэкап системы. Ес- ли нет, то снимки системы для некоторых моделей устройств мож- но взять на сайте handhelds.org/download/feeds/wince. Восстанов- ление системы похоже на описанную выше инсталляцию Linux, за исключением того, что файл образа системы необходимо предва- рительно подготовить (если вы скачали его с сайта, этого делать не надо). Итак, разархивируйте резервную копию системы. Пользо- ватели Windows могут использовать набор Unix-утилит, который выложен на сайте unxutils.sourceforge.net/UnxUtils.zip.

gunzip wince_image.gz

Вырежьте из него фрагмент, который нужно восстановить: èÓθÁÓ‚‡ÚÂÎË Windows ·ÂÁ ÚÛ‰‡ ‡Á·ÂÛÚÒfl Ò ˝ÏÛÎflÚÓÓÏ ÚÂÏË̇· HyperTerminal dd bs = 1k count = 32256 if = wince_image of = root_image

1/2005 LINUX| CHIP 22 desktop ÒËÒÚÂχ

Александр Куприн èÂ‚‡fl ÏËÎfl

Три или четыре года назад среди пользователей Linux была популярна фраза «А теперь доработать напильником», намекавшая на то, что практически все работает, требуется лишь немного настроить систему. Умение правильно работать таким «напильником» и тогда, и сегодня вызывает уважение, восхищение и зависть.

Что же изменилось за последнее время? Уменьшился размер са- шляпа, то есть в названии проекта отражены преемственность мого «напильника» — теперь среднестатистическому пользова- и прямая связь с его предшественником. телю нет необходимости глубоко знать принципы работы сис- темы, чтобы заставить ее делать то, что ему необходимо (если, | Установка | конечно, у этого самого пользователя среднестатистические за- Если вы не являетесь системным администратором, уста- просы). Однако в настройке операционной системы, как и лю- новка системы для вас будет явлением редким, но от этого не бом другом деле, есть свои тонкости и нюансы, знание которых менее ответственным. Существует несколько правил, при- сильно облегчает жизнь. Сегодня мы поговорим об особеннос- держиваться которых настоятельно рекомендуется при уста- тях установки и настройки дистрибутива Fedora Core 3. новке любой операционной системы. Первое и самое важное из них звучит примерно так: всегда делайте резервные копии | Краткая справка | данных. Никто и никогда не даст стопроцентной гарантии, Конечно, можно обойтись вообще без фактов, уже набивших что установка пройдет абсолютно гладко. Если установка оскомину многим, однако, чтобы у вас потом не возникало во- Fedora Core 3 (FC3) выполняется на персональном компью- просов, хотелось бы вкратце отметить следующее: тере, где инсталлирована другая операционная система, то о 3 Да, проект Fedora Core является наследником Red Hat Linux. выделении свободного дискового пространства желательно 3 Увы, Red Hat Inc. отказалась от развития и поддержки уни- позаботиться заранее. Anaconda (программа-инсталлятор версального дистрибутива Red Hat Linux и переключилась на FC3) не располагает инструментами, которые позволяют разработку продуктов, ориентированных на корпоративный изменять размеры разделов без потери данных. Если речь сектор. Однако, не желая терять возможности отладки и про- идет о том, чтобы установить Fedora Core 3 на ПК совместно верки новых решений, компания инициировала создание про- с Microsoft Windows, лучшим выходом станет использование екта Fedora Core и является его спонсором. программ типа Partition Magic, Acronis Partition Expert или 3 Нет, название проекта не имеет никакого отношения к твор- Paragon Partition Manager. Если вы планируете установить честву Корнея Ивановича Чуковского. Fedora значит фетровая FC3 на компьютер по соседству с еще одной операционной

CHIP| LINUX 1/2005 ÛÒÚ‡Ìӂ͇ Ë Ì‡ÒÚÓÈ͇ Fedora Core 3 23

ìÚËÎËÚ‡ ‰Îfl ÚÂÒÚËÓ‚‡ÌËfl ÓÔÂ‡ÚË‚ÌÓÈ Ô‡ÏflÚË memtest86

системой Linux, то в обязательном порядке используйте сред- ства переразметки, которые предлагаются в ней. Disk Druid — ۉӷ̇fl ÔÓ„‡Ïχ, ÌÓ Ó̇ Ì ÔÓÁ‚ÓÎflÂÚ ÏÂÌflÚ¸ ‡ÁÏÂ ‡Á‰ÂÎÓ‚ ·ÂÁ ÔÓÚÂË ‰‡ÌÌ˚ı | Параметры загрузки ядра | По умолчанию на этапе инсталляции поддержка файловых си- стем ReiserFS и XFS в Anaconda недоступна. Для их включения | Разметка диска | при загрузке ядра необходимо указать следующее: Один из самых ответственных моментов в процессе установки. Будем считать, что свободное место на диске под установку си- linux reiserfs xfs стемы уже выделено. Есть два пути разметки диска — ручной и автоматический. Рассмотрим оба. Linux здесь — название загружаемого ядра, всегда указыва- ется первым. Что еще интересного можно найти в параметрах | Ручная разметка диска | загрузки ядра? К примеру, ключ mem. Он позволяет ограни- Интерфейс программы Disk Druid не перегружен информаци- чить объем используемой оперативной памяти. Когда это мо- ей, поэтому потеряться в нем практически невозможно. Для жет быть необходимо? Во-первых, если ядро некорректно оп- того чтобы подготовить место для установки, необходимо со- ределяет объем ОЗУ, завышая его, и тем самым впоследствии здать минимум два раздела: один для файла подкачки (swap) и пытается обращаться к несуществующим участкам памяти, что один корневой раздел (/). Объем swap-раздела обычно выби- приводит к зависанию системы. Во-вторых, если часть опера- рают равным удвоенному объему оперативной памяти. Ми- тивной памяти «битая». В этом случае, чтобы использовать ра- нимальный размер корневого раздела при установке «Персо- ботоспособную часть ОЗУ, необходимо указать с параметром нальный компьютер» по умолчанию должен составлять около «mem» доступный объем оперативной памяти в мегабайтах: 3 Гбайт (2,5 Гбайт для программ и часть места для пользова- тельских каталогов). Будете ли вы выделять отдельные разделы linux mem = 196M для /tmp, /var, /usr, /home и прочего — зависит исключительно от вашего желания. Итак, когда же может возникнуть потреб- Если необходимо протестировать оперативную память, то ность в создании дополнительных разделов? можно указать ключ memtest86 (только его, без linux). Данная Причина первая. Например, вам приходится заниматься утилита занимает около 80 кбайт и может быть записана даже оцифровкой видео и работать с файлами большого объема. на дискету, используемую для тестирования оперативной памя- Естественно, для их хранения необходим отдельный раздел, ти персональных компьютеров: отформатированный под файловую систему, специализиру- ющуюся на хранении файлов большого размера. Для этого cp /boot/memtest-3.0.bin /dev/fd0 лучше всего подходит XFS. Правда, используя эту файловую систему, помните о том, что у нее есть один существенный | Региональные настройки | недостаток — она масштабируется только в большую сторону. С выбором языка все понятно и так, а вот раскладку клавиату- Поэтому если вам понадобится уменьшить размер такого ры рекомендуем выбирать Russian (Win). Связано это с тем, что раздела, то только с полной потерей данных, что в переводе большинство клавиатур персональных компьютеров, продаю- на общедоступный язык означает, что раздел необходимо щихся на территории России, используют так называемую удалить и создать заново. Windows-раскладку. Возможность выбора кодировки (KOI8-R, Причина вторая. Отдельные разделы можно монтировать со CP1251, ISO8859-5 и UTF-8) отсутствует, так как FC3 по умол- специальными опциями, усиливающими общую безопасность чанию использует Unicode. Мы выбрали тип установки «Пер- системы. К примеру, раздел /tmp имеет права 777, что позволя- сональный компьютер». ет любому пользователю и процессу создавать в нем файлы и

1/2005 LINUX| CHIP 24 desktop ÒËÒÚÂχ

ëÂÚ¸ ÏÓÊÌÓ Ì‡ÒÚÓËÚ¸ ‚Ó ‚ÂÏfl ËÌÒÚ‡ÎÎflˆËË ÒËÒÚÂÏ˚, ‡ ÏÓÊÌÓ Ç ·Óθ¯ËÌÒÚ‚Â ÒÎÛ˜‡Â‚ SELinux ÏÓÊÌÓ ÓÚÍβ˜ËÚ¸, ‡ ‚ÓÚ firewall ÓÚÎÓÊËÚ¸ ˝ÚÓÚ ÔÓˆÂÒÒ Ì‡ ÔÓÚÓÏ ÓÒÚ‡‚ËÚ¸ ‚Íβ˜ÂÌÌ˚Ï ·Û‰ÂÚ ÌÂÎ˯ÌËÏ

каталоги. Чтобы ограничить возможность создания файловых служб, так и системы в целом. Если журналы активно заполня- устройств, файлов с SUID-битом и не позволять запускать ис- ются и служба logrotate не будет успевать их чистить (выполнять полняемые файлы, раздел для временных файлов можно мон- ротацию журналов), то все свободное пространство тоже может тировать с ключами «noexec», «nodev», «nosuid». Плюс к этому оказаться занято файлами журналов. раздел, монтируемый к /tmp, можно запросто отформатировать Вот по этим причинам для наиболее критически опасных под нежурналируемую файловую систему EXT2. точек в файловой системе желательно выделять отдельные Причина третья. Дело в том, что размещение на общем разделы. Конечно, в первую очередь это важно для серверов разделе данных, которые активно модифицируются, и дан- и менее критично для рабочих станций. Но помнить и по- ных, имеющих непосредственное отношение к надежной нимать необходимость такого шага все равно необходимо. работе системы (утилиты, библиотеки и прочее), может при- В таблице приведен примерный список разделов и типы фай- вести в результате к сбою, и они будут потеряны. Такое, ко- ловых систем, которые можно создать. нечно, маловероятно, но полностью исключать подобный поворот событий нельзя, поэтому для каталога /var желатель- | Полуавтоматическая разметка диска | но создавать новый раздел. Чтобы облегчить работу, выберите пункт «Автоматическое Причина четвертая. Активное заполнение файлами отдель- разбиение», а затем параметры «Сохранить все разделы» ных каталогов может привести к полной или частичной нера- и «Просмотр созданных автоматически разделов». Это за- ботоспособности системы. Хотите пример? Пожалуйста. В сис- ставит Anaconda выполнить самостоятельно разметку и теме используется два раздела: swap и корневой. Подкаталог позволит вам в случае необходимости немного подправить /tmp хранит временные файлы и при этом активно использует- результаты ее работы. ся в процессе работы, например, Audacity. В какой-то момент На что здесь следует обратить внимание? Во-первых, про- все свободное пространство будет занято временными файла- грамма установки FC3 может использовать для хранения ми. Что в этом случае произойдет? Система выдаст сообщение корневого и swap-раздела LVM-раздел. Что такое LVM о том, что не хватает свободного места, при этом вы не сможе- (Logical Volume Manager)? Это менеджер логических томов — те сохранить редактируемые файлы. Пример второй: в подката- система управления дисковым пространством, абстрагирую- логе /var/log хранятся файлы журналов работы как отдельных щаяся от физических устройств. Она позволяет эффективно

Раздел, точка монтирования Тип ФС Примечание / ReiserFS или Ext3 Корневой раздел /tmp Ext2 Раздел для хранения временных файлов /var ReiserFS или Ext3 Раздел для хранения служебных файлов (базы данных, спулы печати и т. п.) /var/log ReiserFS или Ext3 Раздел для хранения журналов /usr ReiserFS или Ext3 Раздел для хранения пользовательских программ /home ReiserFS или Ext3 Раздел для домашних каталогов пользователей /video XFS Раздел для хранения файлов большого размера (видеоданные и т. п.)

CHIP| LINUX 1/2005 ÛÒÚ‡Ìӂ͇ Ë Ì‡ÒÚÓÈ͇ Fedora Core 3 25

Ç˚·‡Ú¸ ‚ÂÏÂÌÌÛ˛ ÁÓÌÛ ÏÓÊÌÓ ÔÓÒÚÓ Û͇Á‡‚ Ò‚Ó éÚ‚ÂÚÒÚ‚ÂÌ̇fl ˜‡ÒÚ¸ ÛÒÚ‡ÌÓ‚ÍË — ‚˚·Ó Ô‡ÍÂÚÓ‚. ÖÒÎË ‚˚ ÏÂÒÚÓÔÓÎÓÊÂÌË ̇ ͇Ú Ì ۂÂÂÌ˚, ‚˚·Ë‡ÈÚ «ìÒÚ‡ÌÓ‚ËÚ¸ ‚Ò»

использовать дисковое пространство и легко управлять им. 3 IP-адрес компьютера (192.168.0.102); У всех логических томов, созданных с помощью LVM, мож- 3 маска сети (255.255.255.0); но легко изменить размер, а их названия могут нести не- 3 имя компьютера (fc3.home.lg); сколько большую смысловую нагрузку в отличие от традици- 3 IP-адрес шлюза по умолчанию (192.168.0.1); онных /dev/sda, /dev/hda. 3 IP-адрес DNS-сервера (192.168.0.1). До недавнего времени было принято считать, что LVM при- Первые три параметра обязательны, IP-адрес шлюза по меняют только на серверах, но Fedora Core Team, судя по всему, умолчанию указывается в том случае, если локальная сеть под- решила изменить эту практику и использовать LVM и на рабо- ключена к Интернету либо другой локальной сети. В качестве чих станциях. Это вполне обоснованно, если приходится ис- IP-адреса DNS-сервера необходимо указать IP-адрес сервера пользовать при разметке не минимум, состоящий из двух раз- доменных имен, работающего в составе локальной сети, либо делов (корневой и swap), а больше — /home, /usr, /tmp, /var, IP-адрес DNS-сервера вашего провайдера. /var/log и т. д. В этом случае сказать точно, насколько активно будет заполняться дисковое пространство каждого из разделов, | Настройка параметров безопасности | невозможно, но благодаря тому что LVM располагает механиз- Нет смысла использовать SELinux на рабочих станциях, по- мом, позволяющим на лету изменять размеры разделов, мы по- этому отключите его. Что же касается настроек брандмауэра, лучаем возможность максимально эффективно использовать то рекомендуется оставить его включенным. Если вы плани- все доступное дисковое пространство. руете использовать SSH для удаленного администрирования Если уж вы решитесь использовать LVM, рекомендуем изме- своего компьютера, разрешите доступ по этому протоколу. нить названия группы и логических томов. VolGroup00 можно В настройках на этом этапе установки можно заблокировать для краткости назвать vg, а LogVol00, использующийся для хране- или разрешить доступ еще к двум наиболее распространен- ния корневого раздела, — root. Соответственно, LogVol01 назови- ным серверам — почтовому и веб-серверу. те swap. Тогда имена устройств, где размещаются соответствую- щие разделы, будут выглядеть так: /dev/vg/root и /dev/vg/swap. | Настройка используемых языков В любом случае, это более понятное написание, чем то, которое и часового пояса | предлагает система установки по умолчанию (/dev/VolGroup00/ Выбор дополнительного языка в системе — скорее вопрос LogVol00 и /dev/VolGroup00/LogVol01). производственной необходимости. Как минимум рекоменду- ется добавить использование английского и русского языков. | Настройка сетевого подключения | Выбор часового пояса можно осуществить, указав на карте Если на вашем ПК используется ethernet-подключение, наст- город, с которым ваш часовой пояс совпадает, или же просто ройка параметров локальной сети может быть выполнена двумя выбрав его из списка. способами. Путь первый, самый простой: если ваш компьютер входит в состав локальной сети, где уже работает DHCP-сервер | Пароль администратора (об этом можно узнать у системного администратора), то ниче- и выбор пакетов | го настраивать не надо, вы можете переходить к следующему Что касается выбора пароля администратора системы, поста- шагу. Путь второй, ручная настройка: в этом случае вам будет райтесь разбудить воображение, так как от того, насколько необходимо самостоятельно указать параметры подключения. криптостойкий пароль был выбран, зависит степень защищен- Для этого требуется знать следующее (в скобках даны примеры): ности системы. Если с этим у вас проблемы, рекомендуем в

1/2005 LINUX| CHIP 26 desktop ÒËÒÚÂχ

ç‡ÒÚÓflÚÂθÌÓ ÂÍÓÏẨÛÂÚÒfl ÒÓÁ‰‡Ú¸ ÔÓ ÏÂ̸¯ÂÈ ÏÂ ӉÌÓ„Ó X-ÒÂ‚Â ‡‚ÚÓχÚ˘ÂÒÍË ‚˚ÒÚ‡‚ÎflÂÚ Á‡ÌËÊÂÌÌ˚ ԇ‡ÏÂÚ˚ ÔÓθÁÓ‚‡ÚÂÎfl Ò Ó„‡Ì˘ÂÌÌ˚ÏË Ô‡‚‡ÏË ÏÓÌËÚÓ‡. èË ÔÂ‚ÓÈ Á‡„ÛÁÍ ˝ÚÓ ÏÓÊÌÓ ËÒÔ‡‚ËÚ¸

дальнейшем пользоваться утилитой apg, которая генерирует каталог (например, /usr/share/fonts/TTF) и скопируйте в него пароли самостоятельно. все необходимые шрифты. По умолчанию в FC3 используется графическая среда GNOME. Если вам более привычна работа в KDE или вы пред- | Сервис лишним не бывает | почитаете облегченный вариант оконного менеджера XFCE4, Перейдем к делам системным. Как и любой универсальный выберите из списка необходимое. Помните, что в любом случае дистрибутив, Fedora Core 3 ориентирован на широкий круг вы сможете установить все, что нужно, по окончании инсталля- пользователей, поэтому набор сервисов, которые в нем уста- ции. Теперь можно спокойно переходить к процессу установки. навливаются в конфигурации «Персональный компьютер», временами оказывается избыточным. Узнать, какие сервисы | Первый запуск | установлены в системе, можно двумя способами. Любители Если вы считаете, что установка и связанная с ней настройка графических решений могут воспользоваться системной ути- закончились, то вы ошибаетесь. При первой загрузке только литой «system -config-services» (пункт меню «Системные па- что установленной FC3 запускается сервис firstboot, который раметры p Настройка сервера p Службы»). Помимо этого предлагает вам указать точные время и дату, а также, если ваш можно воспользоваться консольной программой ntsysv. Од- компьютер имеет постоянное подключение к Интернету, па- нако, прежде чем переходить к отключению лишних серви- раметры NTP-сервера, с часами которого ваш компьютер бу- сов, необходимо учесть, что Linux имеет несколько уровней дет синхронизироваться. Кроме этого, если инсталлятор не- запуска. По умолчанию используется пятый (графический корректно определил тип монитора и разрешение экрана, вы вход в систему), а для того чтобы система автоматически за- можете уточнить эти параметры. Здесь же нужно ввести дан- гружалась в текстовом режиме, нужен третий уровень. При ные непривилегированного пользователя, под учетной запи- этом для каждого из уровней необходимо отдельно включать сью которого вы и будете работать в системе. или отключать соответствующие сервисы. Итак, давайте по- смотрим, для чего служит тот или иной сервис: | Установка шрифтов | 3 NetworkManager — демон, который пытается оптимизиро- Тех шрифтов, которые представлены в FC3, вполне достаточно вать скорость работы сетевых соединений. В настоящий мо- для работы с кириллицей. Единственное, чего здесь не хватает, мент не поддерживает статические IP-адреса, поэтому ис- на наш взгляд, — это шрифтов из проекта Microsoft Core Fonts пользовать его нецелесообразно. (corefonts.sf.net). В проекте представлены основные типы 3 acpid — демон, обрабатывающий ACPI-сообщения, приходя- шрифтов, используемых в офисной деятельности: Arial, Courier щие от ядра. Если вы хотите выключать компьютер с помощью New, Times New Roman. Плюс к ним Verdana (обратите внима- кнопки питания на корпусе, оставьте его включенным. ние, что Tahoma не распространяется в составе этого проекта), 3 anacron, crond — демоны, обеспечивающие выполнение зада- Impact, Webdings, Trebuchet, Comic и Georgia. ний (архивация и чистка журналов, индексирование списка Если вы используете KDE, для того чтобы установить имен файлов) в установленное вами время. TTF-шрифты, необходимо запустить «Центр управления 3 apmd — сервис, использующийся на ноутбуках для контроля KDE», выбрать пункты «Системное администрирование», а над уровнем заряда батарей. В том случае, если уровень опуска- затем «Установка шрифтов». Если вы хотите, чтобы шрифты ется ниже критического, сервис выключает компьютер. были доступны всем пользователям в системе, нажмите 3 atd — демон, позволяющий однократно выполнять задание. кнопку «Режим администратора». После этого выберите под- 3 cpuspeed — динамическое управление скоростью процессора.

CHIP| LINUX 1/2005 ÛÒÚ‡Ìӂ͇ Ë Ì‡ÒÚÓÈ͇ Fedora Core 3 27

3 ktalk — KDE-версия talk-сервера (если проводить аналоги с MS Windows 9x — WinPoPup) 3 kudzu — демон, конфигурирующий оборудование на этапе загрузки системы. 3 lisa — сервис, собирающий информацию о ресурсах сети Microsoft. 3 lm_sensors — служба, загружающая модули, использующи- еся для снятия показаний датчиков материнской платы (тем- пература, частота вращения). 3 mdmonitor — сервис, осуществляющий мониторинг и уп- равление программным RAID. 3 messagebus — демон, рассылающий широковещательные па- кеты о системных событиях. 3 microcode_ctl — чтение состояния микрокода процессора. Еще не поддерживается. ÖÒÎË ‚‡Ï ‚‡ÊÌÓ ÚÓ˜ÌÓ ‚ÂÏfl Ë ‚˚ ËÏÂÂÚ ÔÓÒÚÓflÌÌÓ 3 netdump – демон, использующийся для отладки системы. ÔÓ‰Íβ˜ÂÌËÂ Í àÌÚÂÌÂÚÛ, ‚Íβ˜ËÚ ÔÓÚÓÍÓÎ NTP В случае падения системы он отсылает oops-логи на сервер, указанный в настройках. 3 autofs — сервис, использующийся для автоматического 3 netfs — сервис, монтирующий сетевые файловые системы монтирования файловых систем по требованию. (NFS, SMB, Netware). 3 bluetooth — демон, использующийся для работы с blue- 3 netplugd — демон, использующийся для управления неста- tooth-устройствами. тическими сетевыми интерфейсами. 3 chargen, chargen-udp — внутренний сервис демона xinetd, ге- 3 network — сервис, настраивающий параметры сетевых под- нерирующий символы с определенным интервалом времени и ключений. посылающий его по сети. 3 nfs, nfslock — службы NFS-сервера. 3 cups — демон печати. 3 cups-config-daemon — демон для конфигурирования cups. Дополнительная информация 3 cups-lpd — внутренний сервис xinetd, позволяющий ис- пользовать протокол lpd для доступа к cups. Ç˚·Ó Ù‡ÈÎÓ‚ÓÈ ÒËÒÚÂÏ˚ 3 daytime, daytime-udp — сервисы xinetd, выдающие текущее Хотя по умолчанию при уста- хранения файла размером в системное время в формате «Wed Nov 13 22:30:27 EST 2002». новке FC3 доступны только несколько байт отводится блок 3 diskdump — сервис, позволяющий сохранить dump-файл в файловые системы EXT2 и файловой системы — 1, 2 или случае краха системы и инициализирующий diskdump-мо- EXT3, в настоящий момент 4 кбайт). Однако ReiserFS, дуль при следующей загрузке. Представляет интерес при от- можно без боязни использо- в отличие от EXT2 (и EXT3, ес- ладке системы (отключить). вать ReiserFS. У данной фай- ли у нее временно отключить 3 gpm — поддержка мыши в текстовой консоли. Многие жалу- ловой системы есть несколько возможность журналирова- преимуществ перед EXT2/EXT3 ния), не обладает механиз- ются, что при активном копировании в/из буфера в какой-то и один явный недостаток. мом, позволяющим восста- момент он «вешает» систему. Учитывая, что на рабочей станции Преимущества состоят в том, навливать удаленные файлы. обычный пользователь практически не работает с текстовой что ReiserFS ориентирована Впрочем, отсутствие или на- консолью, этот сервис рекомендуется отключить. в первую очередь на работу личие такой особенности не 3 gssftp — FTP-сервис, входящий в состав xinetd и использую- с большим количеством фай- является основанием для вы- щий авторизацию на Kerberos-сервере. лов малого объема. В некото- бора файловой системы. В пла- 3 echo, echo-udp — внутренние сервисы xinetd, используемые рых случаях производитель- не надежности хранения дан- для получения эхо-символов от системы. ность ReiserFS на порядок ных ReiserFS практически не 3 eklogin — сервис, применяющийся для удаленного доступа выше, чем у EXT3. Благодаря уступает EXT3, хотя она и имеет в систему и использующий авторизацию на Kerberos-сервере. специальным технологиям возможность работы в режи- 3 haldaemon — собирает информацию об оборудовании. удалось снять ряд искусствен- ме полного журналирования 3 iptables — сервис, выполняющий функции защитного экрана. ных ограничений на размеще- (то есть метаданных и дан- ние элементов файловой сис- ных), чем не могут похвастать- 3 irda — демон, поддерживающий работу с ИК-портом. темы. Например, в отдельном ся ни XFS, ни ReiserFS. Однако 3 irqbalance — демон, используемый на многопроцессорных каталоге могут находиться до по умолчанию журналируются системах для балансировки прерываний. 100 тысяч подкаталогов. Дис- только операции с метаданны- 3 isdn — сервис, обеспечивающий работу ISDN-устройств. ковое пространство, занимае- ми, что существенно повышает 3 klogin, kshell, krb5-telnet — серверы, входящие в состав мое файлом, точно соответст- скорость работы, но в то же xinetd, предоставляющие доступ к системе и использующие вует его размеру (в EXT3 для время снижает надежность. Kerberos-аутентификацию.

1/2005 LINUX| CHIP 28 desktop ÒËÒÚÂχ

ë ÔÓÏÓ˘¸˛ χÒÚÂ‡ ÛÒÚ‡ÌÓ‚ÍË ¯ËÙÚÓ‚ KDE ‚˚ ÏÓÊÂÚ åÂÌ˛ ̇ÒÚÓÈÍË „Ófl˜Ëı Í·‚˯. á‰ÂÒ¸ ÏÓÊÌÓ ÛÒÚ‡ÌÓ‚ËÚ¸ Á‡‰ÂÈÒÚ‚Ó‚‡Ú¸ ¯ËÙÚ˚ TrueType ÔË‚˚˜ÌÛ˛ ÍÓÏ·Ë̇ˆË˛ ÔÂÂÍβ˜ÂÌËfl ‡ÒÍ·‰ÍË

3 nscd — демон, выполняющий функции кеширования для та- 3 xinetd — суперсервер, отдельные службы которого уже были ких служб как LDAP, NIS, NIS+. описаны выше. 3 ntpd — NTP-сервер, использующийся для синхронизации 3 ypbind — служба, используемая для доступа к NIS-домену. времени. 3 yum — сервис, обновляющий пакеты в автоматическом режиме. 3 pcmcia — служба, обеспечивающая поддержку PCMCIA- Получился достаточно большой список. Конечно, можно оборудования. было ограничиться только списком сервисов и фразами «вклю- 3 portmap — сервис, использующийся, как правило, совместно чить» или «отключить», однако такой подход не объяснил бы, с NFS- или NIS-сервером. почему тот или иной сервис должен быть отключен. 3 psacct — служба учета процессов. 3 readahead, readahead_early — сервисы, позволяющие вы- | Управление пакетным хозяйством | полнять предварительную загрузку программ в оперативную Для полноценной работы вам, несомненно, потребуется уста- память. новить дополнительные приложения. Fedora Core, являясь де- 3 rhnsd — демон, выполняющий периодически подключения к тищем Red Hat, для управления пакетами использует RPM серверу Red Hat Network и проверяющий наличие обновлений. (Red Hat Package Manager). Стандартной графической надст- 3 rpcgssd, rpcidmapd, rpcsvcgssd — демоны, которые использу- ройкой, расширяющей возможности RPM, в этой ОС является ет NFS-клиент в случае подключения к серверу через прото- system-config-packages. Но, к сожалению, она не предоставляет кол NFSv4. механизм для поиска пакетов. Набор программ, который ре- 3 rsync — сервис, работающий под управлением xinetd и явля- шит эту проблему и сделает установку приложений более удоб- ющийся хорошим дополнением к FTP-серверу, позволяя вы- ной называется APT (Advanced Package Tools). полнять проверку контрольных сумм файлов. Для установки нам понадобится пакет apt4rpm для FC3. Взять 3 saslauthd — сервис, который обрабатывает запросы аутен- его можно по адресу: http://ftp.freshrpms.net/pub/freshrpms/fedo- тификации. ra/linux/3/apt/apt-0.5.15cnc6-1.1.fc3.fr.i386.rpm 3 sendmail — почтовый сервер. Для тех, кто не в курсе, установка rpm-пакетов вручную осу- 3 smartd — демон, выполняющий мониторинг жестких дисков, ществляется следующим образом: используя протокол S.M.A.R.T. 3 snmpd, snmptrapd — сервисы, использующие SNMP-протокол rpm -ivh apt-0.5.15cnc6-1.1.fc3.fr.i386.rpm для мониторинга и удаленного управления системой. 3 spamassassin — сервис, использующийся в комбинации с поч- Сделайте копию /etc/apt/sources.conf и отредактируйте файл товым сервером для удаления спама. /etc/apt/apt.conf, добавив в конце строки (ведь по умолчанию APT 3 sshd — сервер, используемый для безопасного удаленного ад- пытается монтировать компакт-диски в /mnt/cdrom) следующее: министрирования системы. 3 syslog — служба ведения системных журналов. Acquire::CDROM::Copy "true"; 3 vncserver — сервер, предоставляющий удаленный доступ к Acquire::CDROM::mount "/media/cdrom"; графической системе. 3 winbind — демон, использующийся для авторизации Samba- Создайте каталоги, где APT будет хранить кеш: пользователей. 3 xfs — сервер шрифтов. mkdir -p /var/state/apt/{apt,lists}

CHIP| LINUX 1/2005 ÛÒÚ‡Ìӂ͇ Ë Ì‡ÒÚÓÈ͇ Fedora Core 3 29

éÚÍβ˜Ë‚ ÌÂÌÛÊÌ˚ ÒÂ‚ËÒ˚, ÏÓÊÌÓ Á̇˜ËÚÂθÌÓ ÛÒÍÓËÚ¸ É‡Ù˘ÂÒÍËÈ ËÌÚÂÙÂÈÒ ‰Îfl APT — synaptic — Ô‰ÓÒÚ‡‚ÎflÂÚ Á‡„ÛÁÍÛ ÒËÒÚÂÏ˚ ‚ÓÁÏÓÊÌÓÒÚ¸ ËÒ͇ڸ Ô‡ÍÂÚ ÔÓ ËÏÂÌË Ë ÓÔËÒ‡Ì˲

Вставьте первый компакт-диск и смонтируйте его. Раньше Добавьте в /etc/apt/source.list следующую строку (добавляя для этого использовался каталог /mnt/cdrom, теперь, согласно строки, описывающие параметры доступа к компакт-дискам, новой версии LFS, — /media/cdrom (не забудьте, вам нужны не забудьте удалить или закомментировать при помощи симво- права администратора): ла «#» остальные строки, которые находятся в sources.list):

mount /media/cdrom rpm cdrom:[FC3_CD1]/ ../../../../../var/state/apt/apt FC3_CD1

Теперь создайте в этой папке символическую ссылку с име- Теперь смонтируйте следующий компакт-диск и повторите нем RPMS.FС3_CD1 (FС3_CD1 – это имя репозитория и для операции, начиная с создания символической ссылки. каждого компакт-диска оно будет свое): Все. APT готов к работе. Для тех, кто предпочитает графи- ческие интерфейсы, рекомендуем скачать synaptic, фронт- ln -s /media/cdrom/Fedora/RPMS/ енд для APT. Версию для FC3 можно взять по адресу: /var/state/apt/apt/RPMS.FС3_CD1 http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/3/synaptic/sy naptic-0.55.3-1.1.fc3.fr.i386.rpm Сгенерируйте индексы, это может занять несколько минут: В том случае, если у вас есть свободный доступ к Интернету, можно не возиться со сборкой индексов, а установить apt4rpm, genbasedir --bloat --flat /var/state/apt/apt FС3_CD1 скачать индексы из Сети (apt-get update) и наслаждаться воз- можностями APT. Кстати, по умолчанию в /etc/apt/sources.list Теперь необходимо перенести сформированные индексы указано одно из зеркал репозитория freshrpms.net: в кеш (да-да, вот такое «страшное» имя файла — именно то, что вам нужно): rpm http://ayo.freshrpms.net fedora/linux/3/i386 core updates freshrpms mv /var/state/apt/apt/base/release.FC3_CD1 /var/state/apt/lists/FC3%5fCD1_.._.._.._.._var_state_apt_apt_ Обратите внимание, что вы имеете доступ к основным паке- base_release.FC3%5fCD1 там FC3 (core), обновлениям (updates) и дополнительным паке- там, которые специально собраны для FC3 (freshrpms). Если вас Символы подчеркивания заменены на «%5f», а обратный не интересует последнее, можете исключить последний пара- слеш, в свою очередь, на символ подчеркивания. Если бы в метр, обновить список пакетов, apt-get update, и работать даль- имени каталога присутствовал пробел, то его пришлось бы ше, используя командную строку или графическую оболочку. заменить на «%20». Теперь необходимо добавить в /var/state/ apt/cdroms.list следующую строку: | Заключение | К сожалению, это не все, о чем хотелось бы вам рассказать, но, CD::eaa3a6aea1bd513cb06ce1246f19648a-2 "FC3_CD1"; увы, мы ограничены объемом статьи, а использовать в ней для краткости исключительно повелительное наклонение, значит В вашем случае буквенно-числовой идентификатор будет вызвать у вас еще больше вопросов. Все, что нам остается по- другим. Чтобы его определить, запустите утилиту apt-cdrom с желать: не бойтесь творить, пробовать, экспериментировать. ключом ident. Ведь это ваша система. Система, с которой вам работать. |

1/2005 LINUX| CHIP 30 desktop Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

Анатолий Лебедев èÂÓ‰Ó΂‡fl Ô„‡‰˚

Карманные компьютеры давно не являются признаком достатка. Их можно увидеть практически у любого человека и практически в любых местах: в метро, на улицах, в кафе.

Цена наиболее простых моделей уже преодолела отметку в $250 нем можно найти на домашней странице проекта по адресу и продолжает неуклонно снижаться. За указанную выше сумму http://synce.sourceforge.net/synce. На сайте доступна как сама вы получаете MP3/OGG-плеер, блокнот, ежедневник, книгу, и программа, так и вся необходимая документация. все это лишь небольшая часть возможностей данных устройств. Итак, приступим. Наиболее простой способ установить Безусловно, они не смогут стать полноценной заменой на- SynCE — скачать дистрибутив программы в формате RPM, по- стольному компьютеру или ноутбуку, однако, если вы решите сле чего установить его в систему следующей командой: использовать их как дополнение к основной машине, они мо- гут стать надежным подспорьем. rpm -Uvh synce-0.9.0-1.i386.rpm На данный момент существует довольно много производи- телей подобных устройств, однако лишь немногие из них Сразу после установки пакета вам понадобится сконфи- имеют какие-либо принципиальные отличия как в аппарат- гурировать интерфейс, через который компьютер будет об- ной, так и в программной части. Наибольшей популярностью щаться с КПК. SynCE не накладывает ограничений на ис- сейчас пользуются устройства на базе двух операционных си- пользуемые интерфейсы, так что вы можете выбрать любой стем: Palm OS производства компании PalmOne и Windows подходящий вам вариант работы: Mobile производства Microsoft. И если про взаимодействие между операционной системой Linux и устройствами на базе Кабель к последовательному порту Palm OS написано уже немало, то тема совместной работы Инфракрасный порт Linux и Windows Mobile раскрыта достаточно поверхностно. USB-кабель Это обусловлено двумя факторами: Bluetooth 3 КПК от PalmOne появились гораздо раньше своих конкурентов; Ethernet/WLAN 3 идеологически устройства от PalmOne гораздо ближе поль- зователям Linux. На сайте программы есть пошаговая инструкция по наст- Сегодня мы постараемся исправить это досадное обстоя- ройке каждого из представленных в данном списке пунктов. тельство и подробно рассмотрим такую популярную тему как Мы же остановимся на самом распространенном — подключе- взаимодействие устройств Pocket PC с ОС Linux. нии КПК через USB-кабель. Ядро дистрибутива Fedora Core уже содержит все необхо- | Установка и настройка SynCE | димые модули: поддержку USB и драйвер для работы с подоб- Уже достаточно давно на просторах Сети появился свободный ными устройствами. После подключения кредла и установки проект под названием SynCE, призванный обеспечить работу в него включенного устройства можно увидеть, как система устройств на базе Windows Mobile в Linux. Всю информацию о отреагировала на находку:

CHIP| LINUX 1/2005 ‡·ÓÚ‡ Ò Pocket PC ‚ ÓÔÂ‡ˆËÓÌÌÓÈ ÒËÒÚÂÏ Linux 31

VDCCM ÔÓ‰‰ÂÊË‚‡ÂÚ ÔÓ‰Íβ˜ÂÌË ·ÓΠ˜ÂÏ Ó‰ÌÓ„Ó ÛÒÚÓÈÒÚ‚‡ ꇷÓÚ‡ Ò Ù‡ÈÎÓ‚ÓÈ ÒËÒÚÂÏÓÈ äèä Ò ÔÓÏÓ˘¸˛ ·‡ÛÁÂ‡ Konqueror

dmesg ifconfig ppp0 kernel: hub.c: new USB device 00:14.2-2, assigned address 3 kernel: usb.c: USB device 3 (vend/prod 0x49f/0x3) is not claimed Она подскажет вам адрес, назначенный системой для данно- by any active driver. го соединения. После этого можно использовать все утилиты, kernel: usb.c: registered new driver serial входящие в комплект поставки SynCE: kernel: usbserial.c: USB Serial support registered for Generic kernel: usbserial.c: USB Serial Driver core v1.4 pcp — копирование файла kernel: ipaq.c: USB PocketPC PDA driver v0.5 pls — список содержимого директории kernel: usbserial.c: USB Serial support registered for PocketPC pmkdir — создание директории PDA pmv — перенос (переименование) kernel: usbserial.c: PocketPC PDA converter detected prm — удаление файла kernel: usbserial.c: PocketPC PDA converter now attached to prmdir — удаление пустой директории ttyUSB0 (or usb/tts/0 for devfs) prun — запуск программы pstatus — отображение статуса удаленного устройства Если вы видите похожие записи, значит все в порядке и synce-install — установка CAB-файла можно приступать к следующему шагу. Для успешного соеди- нения с КПК необходимо от имени того пользователя, с права- Большинство этих команд созвучно стандартным командам ми которого вы обычно работаете в системе, запустить утилиту для работы с файловой системой, поэтому они не должны вы- dccm. Она также имеет опции, но в общем случае достаточно звать у вас каких-либо серьезных затруднений. Единственное, просто ввести ее в консоли и нажать «Enter». После этого по- что здесь стоит отметить — все команды будут работать только требуется настроить само соединение с КПК, для этого нужно от того пользователя, который запустил утилиту dccm. Для того ввести в консоли следующую команду: чтобы прервать установленное ранее соединение, необходимо выполнить следующую команду: synce-serial-config synce-serial-abort Потом через пробел надо указать то устройство, с которым яд- ро проассоциировало ваш КПК. Эту информацию можно полу- Если вам не хочется выполнять все эти операции вручную, в чить из вывода команды dmesg, указанного выше. В нашем слу- разделе FAQ официального сайта можно найти скрипт, кото- чае оно имело название ttyUSB0. Теперь установим соединение: рый реализует все вышеописанное в автоматическом режиме. Для более продуктивной работы к SynCE можно добавить synce-serial-start несколько дополнительных приложений и библиотек, которые не являются необходимыми, но позволяют существенно упрос- Эту команду нужно давать от имени суперпользователя, так тить жизнь пользователю Pocket PC. как ее задача — поднять PPP-соединение, прав на создание ко- торого у обычного пользователя нет. Если все прошло успешно, | Orange | КПК сообщит об этом, издав звуковой сигнал и отобразив на Для того чтобы инсталлировать приложение для Pocket PC статусной панели иконку, символизирующую наличие соеди- вручную, инсталляционный CAB-файл копируется в дирек- нения. Теперь со стороны ПК можно дать команду: торию \Windows\AppMgr\Install, после чего на КПК запуска-

1/2005 LINUX| CHIP 32 desktop Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

äÓÔËÓ‚‡ÌËÂ Ë ÛÒÚ‡Ìӂ͇ ÔËÎÓÊÂÌËfl ‚ äèä éÒÛ˘ÂÒÚ‚ÎÂÌË ÒËÌıÓÌËÁ‡ˆËË äèä Ò Ì‡ÒÚÓθÌ˚Ï ÍÓÏÔ¸˛ÚÂÓÏ

ется утилита wceload.exe, предназначенная для непосредст- Если в ответ на эту команду вы увидели на экране фразу венной установки приложения. «Partnership creation succeeded», это означает, что все в поряд- К сожалению, большая часть приложений распространяется ке. Теперь создадим в multisync синхронизационную пару — разработчиками в виде исполняемых инсталляционных фай- Evolution и SynCE, после чего сможем произвести синхрони- лов, а не в виде CAB-архивов, что лишь создает дополнитель- зацию между ними. Также в проекте имеется специальный ные неудобства пользователям альтернативных операционных модуль gnome-vfs, который позволяет в среде GNOME рабо- систем. Orange — это комплект из утилиты и специализиро- тать с содержимым вашего КПК так же, как если бы это была ванной библиотеки, которые предназначены для извлечения обыкновенная папка. CAB-файлов из некоторых типов инсталляционных пакетов. Полный список поддерживаемых форматов можно найти на | SynCE-KDE | http://synce.sourceforge.net/synce/orange.php. После извлечения Для приверженцев графической среды KDE на сайте также CAB-файла из инсталляционного архива программу можно ус- имеется специальный проект, который состоит из трех основ- тановить описанным выше способом. ных модулей.

| Unshield | | RAPIP | Это еще одно средство для извлечения CAB-файлов из ар- Это сокращение от RAPI-Protocol — полнофункционального хивов InstallShield. К сожалению, данный формат не имеет интерфейса для KDE, призванного осуществлять взаимодейст- официального описания, однако энтузиастам удалось разо- вие с файловой системой КПК, в частности реализовывая воз- браться в его структуре и создать в результате столь полезную можность использования Drag&Drop. утилиту. По своим возможностям Orange и Unshield практи- чески идентичны. | RAKI | Расшифровать название этого модуля можно как «Remote- | Dynamite | Access-Kicker-applet». Как следует из его названия, это аплет Данная библиотека специально была создана для извлечения для панели задач KDE. Он ответственен за все дополнительные файлов, запакованных с помощью PKWARE. Dynamite ис- приложения, которые будут работать с вашим КПК в KDE. пользуется утилитой Orange. Этого набора средств должно быть достаточно не только | VDCCM | для базовых операций с КПК, но также и для настройки син- Альтернативная реализация dccm, но она полностью совмес- хронизации адресной книги между Pocket PC и почтовым тима с оригиналом, к тому же позволяет поддерживать связь клиентом Evolution. О том, как это можно реализовать, сей- более чем с одним КПК одновременно. Кроме того, данный час и пойдет речь. компонент ответствен за отчеты о подключении и отключе- Первое, что необходимо сделать — это установить пакет mul- нии КПК и используется модулем RAKI. tisync (его вы всегда можете найти по адресу www.multisync.org) Из дополнительных особенностей проекта стоит отме- и плагин для работы с Pocket PC. Затем понадобится установить тить такую программу как KCEMirror. Утилита дает вам партнерские отношения между вашим КПК и ПК. Для этого возможность управлять подключенным КПК непосредствен- введем в консоли команду: но с экрана ПК, используя мышь в качестве пера. Весьма удобное средство для описания программ для КПК и быстро- synce-partnership create го создания иллюстраций к ним. |

CHIP| LINUX 1/2005 34 desktop ÌÓ‚˚Â ÚÂıÌÓÎÓ„ËË

Александр Прокудин àÒ͇ڸ ‚ÂÁ‰Â, ËÒ͇ڸ ‚Ò„‰‡

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

Исторически сложилось так, что пользователи Linux и других | Принцип действия | Unix-подобных систем редко имеют дело с документами в би- Практически все умные поисковые системы работают оди- нарных форматах, если не считать музыки и видео. Вместо наково. Сначала запускается индексатор – программа, которая DOC – LaTeX, HTML или вообще TXT, вместо XLS — проходит по локальной или удаленной файловой системе и со- на основе XML и т. д. Кодировка у создаваемых файлов до не- бирает всю информацию о находящихся в ней данных, которая давних пор обычно совпадала с кодировкой системной локали, затем будет использоваться при поиске. Эта информация запи- вследствие чего процедура поиска любых нужных данных не сывается в базу данных, которая обычно сохраняется в бинар- вызывала затруднений — подходил любой поисковый меха- ном виде для экономии дискового пространства и ускорения низм, умеющий работать с текстом. Однако стоило Linux доступа к ней. После создания основного индекса с некоторой двинуться в сторону десктопа, как требования пользователей периодичностью, определяемой пользователем либо заданной тут же выросли. Теперь они хотят искать документы внутри в системном планировщике cron, запускается индексатор. архивов и по тегам музыкальных файлов, и чтобы все это Поскольку индексаторы имеют тенденцию отъедать массу происходило быстро и как можно более удобно. Кроме того, системных ресурсов, их обычно запускают в такое время суток, русскоязычному пользователю, который постоянно сталки- когда компьютер не используется. К примеру, в Fedora Core вается с проблемой дуализма кодировок (кто-то привык рабо- программа updatedb, составляющая индекс файлов на всем тать в CP1251, а кто-то — в KOI8-R), обычно хочется, чтобы по- жестком диске, автоматически запускается в двенадцать часов иск происходил в обеих кодировках. ночи. Непосредственно для поиска среди всех проиндексиро- С одной стороны, у нас есть повод позавидовать пользова- ванных данных используется другая программа — с текстовым, телям Windows и Mac OS X: ведь они обладают такими сред- графическим или веб-интерфейсом. ствами как и . С другой стороны, Но это устаревший подход к поиску данных. Существует решить поставленную задачу можно с помощью старых и более продвинутая концепция, используемая в новейших раз- новых наработок свободных систем. Для начала попробуем работках. Заключается она в том, что вместо индексатора, за- разобраться с тем, как устроены поисковые механизмы и по пускаемого по расписанию или же отдельному указанию каким принципам они работают. пользователя, в системе работает демон индексации. Одним

CHIP| LINUX 1/2005 ÎÓ͇θÌ˚ ÔÓËÒÍÓ‚˚ ÒËÒÚÂÏ˚ 35

Beagle ÓÒÛ˘ÂÒÚ‚ÎflÂÚ ÔÓËÒÍ Ì ÚÓθÍÓ ÔÓ ‰ËÂÍÚÓËflÏ, Swish-e Ô‰ÓÒÚ‡‚ÎflÂÚ ÔÓθÁÓ‚‡ÚÂβ Û‰Ó·Ì˚È ‚·-ËÌÚÂÙÂÈÒ, ÌÓ Ë ÔÓ ÔÓ˜ÚÓ‚ÓÈ ·‡ÁÂ, ‡ Ú‡ÍÊ ÍÂ¯Û ‚·-·‡ÛÁÂ‡ ÔË ÔÓÏÓ˘Ë ÍÓÚÓÓ„Ó ÓÒÛ˘ÂÒÚ‚ÎflÚ¸ ÔÓËÒÍ „Ó‡Á‰Ó ΄˜Â

из примеров, использующих данную разработку, является ло- ализованы уже авторами Beagle, причем модульно. Это значит, кальная поисковая система Beagle. что нужный фильтр к не поддерживаемому пока типу файлов можно дописать самому. Для взаимодействия с другими при- | Beagle | ложениями Beagle использует все более популярный сервер Эта многообещающую разработку IT-ресурс Ars Technica на- DBUS, прочитать о котором можно, к примеру, на сайте разра- звал самым ожидаемым продуктом 2005 года. После того как ботчиков: www.freedesktop.org/Software/dbus. разрабатывающая Beagle компания Ximian была выкуплена Собственно поиск производится из программы с графичес- Novell, проект получил значительную финансовую поддерж- ким интерфейсом под названием B.E.S.T, которое расшиф- ку и стал развиваться не в пример быстрее. Сейчас Beagle ровывается как Bleeding-Edge Search Tool. Надо сказать, что можно считать одним из ключевых программных продуктов расходы на содержание пары дизайнеров и специалистов по Novell, написанных в среде Mono — своеобразной альтерна- проектированию пользовательских интерфейсов весьма благо- тиве Microsoft .NET. творно сказались на облике программы. Результаты поиска вы- Beagle состоит из двух частей. Первой частью является спе- даются по релевантности, причем не сплошным текстом, циализированный демон beagled. Запустившись в первый раз, а приятными глазу блоками. Кроме того, все найденные файлы он проходит по системе и создает индекс — базу данных, в ко- можно прямо из B.E.S.T открыть в соответствующей програм- торой в сжатом виде хранится информация обо всех существу- ме, тут же ответить на письмо, а из найденного фрагмента раз- ющих файлах и их содержании. Создав первоначальный ин- говора в ICQ повторно выйти на собеседника. декс, демон прячется в засаду и ловит пробегающие мимо него Над сборкой программы придется немного потрудиться. сообщения ядра о появлении в системе новых файлов или из- Начнем с того, что inotify не входит в стандартную поставку менении уже существующих. За отправку этих сообщений от- ядер, поэтому вам надо либо устанавливать специально собран- вечает модуль ядра inotify. Поймав сообщение, демон произво- ное для вашего дистрибутива ядро (если такое есть), либо брать дит переиндексацию изменившегося файла. патч и собирать ядро самостоятельно. Признаюсь, за добрых Beagle понимает массу самых различных форматов: тексто- пять лет работы с Linux я ни разу не пересобрал ядро. Поленил- вые — DOC, XLS, PPT, SXW PDF, RTF; графические — JPG, ся и в этот раз, потому зашел на beaglewiki.org и обнаружил там PNG; музыкальные — MP3, OGG Vorbis, FLAC, MIDI, ссылку на уже собранное ядро для моего дистрибутива. Даль- Musepack, Monkey Audio; файлы с исходным текстом — C, нейшая процедура сборки потребует крепких нервов. Вам по- C++, C#, Java, Python; а также файлы Texinfo и LyX. Поми- надобятся следующие пакеты: -sharp, glade-sharp, gecko- мо этого, он может читать кеш-файлы RSS-агрегаторов Blam sharp, gnome-sharp, dbus-sharp, gconf-sharp, gmime-sharp и mono и liferead и историю переписки в интернет-пейджере Gaim. как минимум версии 1.0.4. Начиная с версии 0.0.6.1 Beagle тре- Beagled по своей сути является не чем иным, как популяр- бует еще и dbus версии 0.23.1 вместо CVS dbus. ным индексатором Lucene, портированным с Java на Mono. Но Когда все эти пакеты будут установлены, выведите справ- одним лишь портированием дело не ограничилось. Все пере- ку к сценарию конфигурации сборки ./configure --help и численные выше возможности по индексированию данных ре- прочитайте в ней информацию о приведенных в разделе

1/2005 LINUX| CHIP 36 desktop ÌÓ‚˚Â ÚÂıÌÓÎÓ„ËË

ë ÔÓÏÓ˘¸˛ ÒËÒÚÂÏ˚ Medusa ÏÓÊÌÓ ÓÒÛ˘ÂÒÚ‚ÎflÚ¸ ÔÓËÒÍ íÂÍÒÚÓ‚˚ ÍÓÌÒÓθÌ˚ ÛÚËÎËÚ˚ ÔÓ͇ ˜ÚÓ ÒÎ˯ÍÓÏ ‡ÌÓ ÔÓ ËÍÓÌÍ‡Ï Ù‡ÈÎÓ‚ ËÎË ‰ËÂÍÚÓËÈ ÒÔËÒ˚‚‡Ú¸ ÒÓ Ò˜ÂÚÓ‚

«Optional Features» ключах. Так, передав ./configure ключ Вместо «user» достаточно подставить свое имя пользователя –enable-epiphany-extension, вы разрешите сборку фильтра в системе, чтобы Swish-e смог проиндексировать все докумен- Beagle, который будет индексировать закешированные брау- ты с расширением HTML в вашем домашнем каталоге. Количе- зером Epiphany веб-страницы. Также в корневом каталоге с ство индексируемых программой каталогов можно произволь- исходными текстами Beagle расположен каталог mozilla- но увеличивать, добавляя туда, например, каталоги локальной extension, в котором находится расширение для браузера сети, монтируемые с параметрами -t nfs или -t smbfs. Теперь Firefox, позволяющее демону beagled на лету индексировать имея на руках готовый конфигурационный файл, запустим просматриваемые вами страницы. процесс индексирования документов:

| Swish-e | $ swish-e -c user-html.conf Проектов с общим названием Swish на самом деле два: Swish-e и Swish++, который, по сути, является тем же самым После создания индекса можно приступать к поиску: Swish-e, только немного переписанным одним из недоволь- ных пользователей оригинала. Непосредственно Swish-e ра- swish-e -f avp_html.index -w beagle ботает по следующему принципу: сначала все индексирует, # SWISH format: 2.4.3 потом спрашивает, что надо найти. При этом как для индек- # Search words: beagle сирования, так и для выполнения запросов используется # Removed stopwords: один и тот же бинарный файл. # Number of hits: 5 Если Beagle требовал терпения при сборке, то Swish предпо- # Search time: 0.001 seconds лагает наличие у пользователей практических познаний в язы- # Run time: 0.034 seconds ках сценариев, особенно Perl. Сама же сборка заключается в 1000 /home/avp/articles/search/beagle/msg00047.html "Beagle выполнении стандартной последовательности действий: ./con- roadmap." 18582 figure; make; sudo make install. 1000 /home/avp/Desktop/data/search/beagle/msg00047.html После установки нужно выбрать для хранения индекса та- "Beagle roadmap." 18582 кой каталог, доступ к которому будут иметь все пользователи 791 /home/avp/articles/search/beagle/msg00039.html "Beagle данного компьютера. Как вариант можно попросту создать в Networking" 5236 корневом каталоге директорию indeces (в которой будут на- 791 /home/avp/Desktop/data/search/beagle/msg00039.html ходиться конфигурационный файл swish.conf и файлы ин- "Beagle Networking" 5236 дексов), а затем разрешить читать и писать данные из нее 608 /home/avp/cvs/beagle/Tiles/template-mockup.html "Beagle всем пользователям. List" 3713 В самом простом варианте конфигурационный файл для данного поискового сервера выглядит примерно следующим Поиск из консоли даже при обращении к памяти вводив- образом: шихся команд не слишком удобен, поэтому стоит использо- вать входящие в комплект готовые сценарии на Perl, создаю- IndexDir /home/user щие привычную для пользователей веб-страницу, на которой IndexOnly .html можно вводить запрос и получать результат непосредственно IndexFile ./user_html.index в окне браузера.

CHIP| LINUX 1/2005 ÎÓ͇θÌ˚ ÔÓËÒÍÓ‚˚ ÒËÒÚÂÏ˚ 37

Ценность Swish-e заключается в том, что его возможности Графический клиент medusa-gui весьма удобен тем, что по индексированию при наличии опыта программирования критерии поиска можно уточнить при помощи сразу десятка можно легко расширять. Поскольку на вход индексатор при- параметров, из которых мы чуть подробнее остановимся на нимает либо HTML, либо TXT, можно написать сценарий для следующих двух: предварительного разбора документов вроде .DOC или .PDF в один из этих форматов. Фактически по нахождении файла с 3 Тип файла. Можно выбрать между приложением, тексто- заданной маской расширения, скажем *.pdf, Swish-e вызовет вым документом, музыкой, просто файлом или каталогом. сценарий для разбора этого файла в понятный ему формат, Medusa полагается на MIME-типы в GNOME, по которым и проиндексирует результат и сохранит его в своей базе данных. определяет, среди каких данных искать или не искать нужные Обилие приложений, позволяющих получать нужные данные документы. из бинарных файлов (например, тот же catdoc для чтения файлов .DOC и .XLS), в руках знакомого с программирова- 3 Эмблемы. По этому критерию видно, что графический кли- нием человека способно сделать Swish-e достойной заменой ент Medusa, как это и было задумано в начале разработчи- пресловутому Google Desktop. ками, ориентирован на использование в качестве дополнения к файловому менеджеру Nautilus. Поскольку в Nautilus фай- | Medusa | лам и каталогам присваивается эмблема — значок, несущий Medusa — система поиска, сильно завязанная на среде некую смысловую нагрузку, то при поиске можно выставить GNOME. Она состоит из индексатора, запускаемого командой логический переключатель: может искомый документ иметь medusa-indexd, с указанием URI корневого индексируемого ту или иную эмблему, или же наоборот, обязан ее не иметь. каталога в качестве аргумента, и графического приложения к Один из таких примеров вы можете видеть на приведенном поиску по созданному индексу. На сайте разработчиков данно- скриншоте на странице слева. го поисковика (http://members.cox.net/sinzui/medusa/) в каче- При необходимости (скажем, с целью использования в стве текущей версии указана 6.1, однако в дереве разработки сценариях или в процессе доступа с удаленного компьютера находится уже 6.3, и, пожалуй, стоит поработать именно с ней. по ssh) вместо msearch-gui можно воспользоваться его кон- Выкачать срез дерева разработки можно серией команд: сольным аналогом — msearch.

export | Текстовые средства | CVSROOT = :pserver:[email protected]:/cvs/gnome Несмотря на то что все больше пользователей отдают пред- cvs login почтение средствам поиска с графическим интерфейсом, консольные утилиты все-таки пока не стоит сбрасывать со В ответ на предложение ввести пароль просто нажмите ввод счетов, они еще играют серьезную роль при выполнении раз- и затем наберите команду: личных каждодневных задач.

cvs -z3 -d :pserver:[email protected]:/cvs/gnome | slocate | co medusa При помощи программы slocate поиск файлов происходит не по содержанию, а по названию. Понятно, что скорость при В дальнейшем для обновления среза будет достаточно захо- этом обратно пропорциональна удобству, поскольку в ин- дить в каталог medusa и давать команду: дексе, создаваемом программой updatedb, хранятся только имена файлов и их расположение. Slocate (secure locate) сей- cvs update -Pd час полностью заменила собой устаревшую locate. Разница состоит в том, что locate показывала пользователям место- Для сборки вам понадобятся средства разработки GNOME нахождение даже тех файлов, о существовании которых им и пакет gnome-common, содержащий сценарий gnome-auto- знать было не положено. В slocate же поведение программы gen.sh, без которого собрать что-либо из CVS для GNOME можно настраивать: для отключения безопасного режима просто не получится. После того как сценарий отработает, при индексировании достаточно передать updatedb ключ -l 0. можно уточнить параметры сборки запуском другого сцена- Если индексирование файлов по расписанию планируется рия с нужными ключами — ./configure . Скажем, если вас не запускать в рабочее время, стоит изменить значение аргу- устраивает, что по умолчанию Medusa установится в каталог мента команды «renice», указанного в файле /etc/cron.daily/ /usr/local, можно указать сценарию ключ -perfix = /правиль- slocate.cron, на меньший, поскольку по умолчанию сценарий ный_путь, например: -prefix = /opt. выглядит так: В текущей версии как индексатор, так и непосредственно гра- фический клиент запускаются с правами обычного пользовате- #!/bin/sh ля. Так безопаснее, хотя индексы можно создавать и с правами ./etc/updatedb.conf суперпользователя. Созданные индексные файлы по умолчанию renice +19 -p $$ >/dev/null 2>&1 хранятся в каталоге ~/.medusa домашней папки пользователя. /usr/bin/updated

1/2005 LINUX| CHIP 38 desktop ÌÓ‚˚Â ÚÂıÌÓÎÓ„ËË

Одного взгляда на него достаточно, чтобы понять, почему | grep | многие совсем отключают индексацию по расписанию. Значе- Программа grep (и ее варианты egrep и fgrep) обычно использу- ния «+5» будет вполне достаточно для того, чтобы комфортно ется для контекстного поиска с использованием регулярных работать в момент индексирования, которое бы при этом не выражений, но с ее помощью можно искать и файлы. Правда, длилось слишком долго. При поиске с помощью slocate можно стоит иметь в виду, что grep изначально не умеет читать архивы пользовать регулярные выражения. Например, по команде: и теги аудиофайлов. Однако и внутри бинарных данных grep может откопать по- slocate *search*.sxw лезную вам информацию. Более того, по умолчанию она все файлы принимает за бинарные (это поведение можно изменить, Результат может быть следующим: указав программе ключ -binary-files = text, после чего бинарные файлы будут рассматриваться как текстовые). Например, запус- /home/avp/articles/search/search_v2.sxw тив следующую команду, мы просим grep найти все файлы, в ко- /home/avp/articles/linux_search/linux_search_0.3.sxw торых встречается слово «Genesis» или «genesis», после чего от- сортировать их в алфавитном порядке командой «sort»: | find | Программа find также используется для поиска файлов по grep '[Gg]enesis' -r ./ | sort имени. Обычный запрос с использованием find выглядит сле- Бинарный файл ./Genesis/1970_Trespass/03 — Genesis — дующим образом: Angels.ogg совпадает Бинарный файл ./Genesis/1970_Trespass/04 — Genesis — find /home/fc3/ -name '*gnomeprint*.rpm' | sort Stagnation.ogg совпадает /home/fc3/cd2/Fedora/RPMS/libgnomeprint15-0.37- 10.i386.rpm Иногда очень удобно использовать grep благодаря способно- /home/fc3/cd4/Fedora/RPMS/libgnomeprintui22-devel-2.8.0- сти командной оболочки Linux перенаправлять вывод команд 1.i386.rpm в другие команды. Например, мы хотим найти все файлы в ди- ректории /root, содержащие в названии последовательность В данном случае мы просим отыскать внутри каталога символов «conf». Для этого введем следующую команду: /home/fc3 все файлы, имя которых попадает в маску *gnome- print*. Программу удобно использовать в паре с другими прило- ls /root | grep conf жениями. К примеру, немного преобразовав введенную выше строку, мы получим команду, по запуску которой все найденные Также можно использовать grep вместе с командой «find»: объекты с именем, попадающим в маску *gnomeprint*.rpm, будут автоматически устанавливаться в систему: vi $(find) / -print | grep fooname

sudo rpm -Uvh `find /home/fc3/ -name '*gnomeprint*.rpm'` Таким образом, «find» ищет все файлы и каталоги начиная с корня файловой системы, а затем передает результат на обработку Для find можно задать несколько дополнительных опций, grep, фильтрующей результат и оставляющей только те файлы, на- например ограничить поиск файлами с датой последнего до- звания которых содержат «fooname». Эти файлы открываются в ре- ступа или изменения. Так, ключом -amin n задается время в дакторе vi (если их несколько, то они открываются по очереди). минутах, прошедшее с последнего открытия искомого файла. Таким образом, все файлы внутри текущего каталога (вклю- | Делаем выводы | чая подкаталоги), открывавшиеся десять минут назад, будут Подводя итог, стоит отметить, что ускорение доступа к дан- выведены по команде: ным разработчики пробуют реализовать несколькими спосо- бами. Один из них заключается в использовании поиска с find . -amin 10 '*' предварительным индексированием, который был описан вы- ше. Второй способ — это создание надстройки над стандарт- Для отсчета дней удобнее всего будет воспользоваться ной файловой системой, которая хранит в специализирован- ключом -atime -n, где n – не что иное, как количество дней. ной базе данных информацию о метаданных имеющихся в ней Кроме того, find понимает разницу между обычным файлом, документов, что позволяет быстро находить документы по их каталогом и символической ссылкой. Этот критерий поиска описанию, а не по фактическому содержанию (причина ги- задается ключом -type, которому передается аргумент типа гантского размера большинства индексов) или местоположе- искомых данных. Например, по указанной ниже команде вы- нию. В мире свободного программного обеспечения такими водятся все символические ссылки по маске *win* внутри те- разработками являются GNOME Storage и DBFS. Вполне воз- кущего каталога: можно предположить, что два подхода рано или поздно со- льются в один, и тогда в мире наступит полное и окончатель- find . -type l '*win*' ное технологическое пресыщение. |

CHIP| LINUX 1/2005 desktop Ó·ÁÓ ÔÓ„‡ÏÏ ÏÛθÚËωËÈÌ˚ ÔÎÂÂ˚ ‰Îfl Linux 39

Анатолий Лебедев åÛÁ˚͇θ̇fl ¯Í‡ÚÛÎ͇

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

В настоящее время в Linux существует множество средств для зачастую они могут существенно облегчить работу, предо- работы с мультимедийным контентом самых различных ти- ставляя вам те возможности, которые по различным причи- пов. Более того, в отличие от продуктов, развивающихся по нам все еще не были реализованы в основной программе. законам рынка, тут меньше ограничений. Отчасти именно поэтому в Linux гораздо больше программ, умеющих воспро- | Видеоплееры | изводить сразу несколько форматов данных, а также сохра- Как мы уже сказали, первую группу составляют программы, нять потоки и получать цифровые копии с носителей, неже- позволяющие воспроизводить видеопотоки, сжатые в самых ли в пресловутых Windows-системах. По большому счету, все различных форматах. Честно сказать, таких решений в Linux мультимедийные плееры в Linux можно разделить на три ос- всего два — XINE и MPlayer. Обсуждение достоинств или не- новные категории. Их подклассы и образуют в итоге все раз- достатков этих двух программ зачастую скатывается до уже нообразие программ, которое мы можем наблюдать на этом всем поднадоевших религиозных войн. Чтобы нам не ввязы- направлении рынка. Первую категорию составляют програм- ваться в очередную баталию, воспарим над полем битвы и по- мы, нацеленные на воспроизведение файлов всех известных пробуем осмотреться на местности. форматов своими собственными силами, не обращающиеся за помощью ни к каким другим приложениям. Вторая катего- | MPlayer | рия включает в себя все те программы, которые умеют вос- MPlayer — видеоплеер, ориентированный на работу с большим производить только видеоданные, но используют при этом числом самых разнообразных аппаратных платформ. Критиче- библиотеки одного из приложений, входящих в первую кате- ские части кода специально оптимизированы для целого ряда горию. Третья группа состоит непосредственно из аудиоплее- процессоров. В связи с этим плеер прекрасно использует аппа- ров, которые могут использовать как свои собственные, так и ратные особенности целого ряда средств обработки потоков чужие наработки. И прежде чем мы перейдем непосредствен- видеоданных и практически не нагружает центральный про- но к обзору, ответим на один простой, но весьма важный для цессор системы при просмотре видеофильмов. Итог: при по- многих пользователей вопрос: для чего связываться с про- мощи MPlayer чуть ли не каждый современный домашний граммами, использующими для работы чужие модули? Ответ компьютер способен одновременно показывать десятки филь- на него, как мы уже сказали, действительно весьма прост — мов формата DivX в масштабе 1:1 и при этом не терять кадры,

1/2005 LINUX| CHIP 40 desktop Ó·ÁÓ ÔÓ„‡ÏÏ

MPlayer, ÔÓÏËÏÓ ÔӘ„Ó, ÛÏÂÂÚ ÔÓ͇Á˚‚‡Ú¸ Ë ÒÛ·ÚËÚ˚ àÌÚÂÙÂÈÒ XINE ̇ÔÓÏË̇ÂÚ Òڇ̉‡ÚÌ˚È DVD-ÔÓË„˚‚‡ÚÂθ

а система будет оставаться вполне работоспособной. Список число которых входят KMplayer, GTK 2 Player и множество дру- поддерживаемых плеером форматов достаточно внушитель- гих. KMplayer в KDE выглядит как плагин, позволяющий пря- ный: SVCD (Super Video CD), DVD, MPEG-1/2, RIFF, ASF, мо в окне браузера Konqueror и других приложений проигры- WMV, WMA, QT, MOV, MPEG-4, RealAudio, RealVideo, OGG, вать контент, который умеет играть MPlayer. VIVO, FLI, NuppelVideo, FILM, RoQ, PVA, Matroska, NSV, а также различные потоковые форматы данных — HTTP, RTP, | XINE | RTSP, MMS, MMST, MPST и SDP. Этот проект состоит из двух частей. Одна из них — видеопро- Основная ветвь разработки включает в себя простенький игрыватель, не уступающий по многим параметрам упомяну- графический интерфейс, однако при сборке программы с ба- тому выше MPlayer. Чтобы не тратить место на перечисление зовыми параметрами он отключен. Еще одна особенность поддерживаемых форматов, приведем ссылку на сайт произ- этого плеера заключается в основном способе распростране- водителя, где они подробно расписаны: http://xinehq.hu/index. ния — только через исходные тексты. Разработчики програм- php/features. Другая, не менее важная часть этого пакета, — мы уверены, что никогда не стоит лениться и брать кем-то качественно документированный API, позволяющий другим уже собранный пакет, так как есть немалый шанс потерять программам для своей работы использовать библиотеку дополнительную оптимизацию, которая достигается на этапе xinelib. Благодаря такому разделению труда создать програм- сборки и конфигурирования исходных текстов. му для работы с видео гораздо проще, что позитивно сказыва- Помимо своего основного предназначения, MPlayer также ется на других проектах, которые используют XINE. Из наи- выступает в роли донора для целого ряда схожих проектов, в более известных проектов такого рода стоит упомянуть плеер для графической среды GNOME под названием Totem. Пле- еры среды KDE также не брезгуют использованием биб- Домашний кинотеатр лиотеки xinelib. В качестве примера можно привести небе- MoviX зызвестный плеер Noaton. MoviX представляет собой значительно расширить ауди- Базовый графический интерфейс программы изначально специализированный дистри- торию домашнего кинотеатра. ориентирован на новичков, мало знакомых с программами бутив операционной системы Вся мультимедийная часть такого рода, так что, если вы хотите получить доступ к более Linux, предназначенный для дистрибутива построена на серьезным функциям приложения, необходимо выбрать в ме- загрузки с разных типов но- MPlayer, соответственно, все ню настроек раздел «Advanced». С его помощью вы избежите сителей, таких как CD-диски, богатство поддерживаемых необходимости задавать опции программы вручную при по- флеш-карты, а также множе- им форматов также находится мощи командной строки. ство других, плотно вошед- в вашем полном распоряже- ших в нашу жизнь устройств. нии. Приятной особенностью | Totem | Этот дистрибутив предназ- является поддержка различ- Как уже было сказано выше, для работы с видео Totem ис- начен для воспроизведения ных устройств дистанционно- пользует библиотеку xinelib и, соответственно, обладает самого разнообразного кон- го управления. Полный спи- практически той же функциональностью, что и XINE. Разни- тента: кино, музыка, фото. сок оборудования можно Кроме этого поддерживается найти на официальной стра- ца состоит лишь в пользовательском интерфейсе, который в вывод изображения через ви- нице проекта: http://movix. Totem чуть ли не полностью соответствует предложенному деовыход вашей видеоплаты sourceforge.net/Docs/MoviX/ разработчиками GNOME стандарту для любого пакета, вхо- на телевизор, что позволяет README.ru.html. дящего в состав их графической среды. Плеер достаточно прост в настройке, а его внешний вид не вызывает никаких

CHIP| LINUX 1/2005 ÏÛθÚËωËÈÌ˚ ÔÎÂÂ˚ ‰Îfl Linux 41

Rhytmbox ‚ Ò‚ÓÂÈ ‡·ÓÚ ËÒÔÓθÁÛÂÚ Ë‰ÂÓÎӄ˲ iTunes

XMMS ÒÓÁ‰‡‚‡ÎÒfl Í‡Í ÍÎÓÌ ËÁ‚ÂÒÚÌÓ„Ó ‚ÒÂÏ Winamp

лишних вопросов. Кроме того, в отличие от своего донора, Плеер поддерживает технологию сменных шкур, позволяющих Totem лучше работает с плейлистами. Как и большинство ему кардинально изменять внешний вид, причем, в частности, других программ для GNOME, Totem не поддерживает ника- и при помощи стилей от уже упомянутого Winamp. ких тем, кроме тех, что были созданы для GTK2. | Noaton | | Kaffeine | Универсальный плеер, также понимающий множество звуко- Kaffeine также использует библиотеку xinelib, но в отличие от вых форматов. Правда, так как Noaton — стандартный плеер прародителя обладает некоторыми дополнительными воз- для KDE, то и проигрывать он умеет лишь то, что позволяет можностями. К примеру, он может сохранять в локальный системная библиотека arts. В большинстве случаев при ис- файл проигрываемый в реальном времени видеопоток. Пол- пользовании KDE как основного решения для рабочего стола ная поддержка Drag&Drop, расширенная поддержка плейли- этой функциональности может оказаться вполне достаточно. стов, интеграция в KDE, а также специальный плагин для Весьма удобно реализовано управление плейлистами, под- Konqueror, позволяющий после установки Kaffeine просмат- держиваются сортировка и комбинирование композиций с ривать видео прямо в его окне, только добавляют ему попу- различных источников локального жесткого диска. При по- лярности среди пользователей среды KDE. мощи технологии сменных шкур плееру можно придать прак- Внешне программа выглядит так же, как и все прочие при- тически любой, даже самый необычный вид — например, ложения для KDE, вследствие чего весьма органично вписы- сделать его маленьким, похожим на Winamp, или же просто вается в общую рабочую среду. Дополнительные шкуры для аккуратно разместить в углу экрана. изменения внешнего вида на данный момент программой не поддерживаются. | Rythmbox | Этот плеер, в отличие от предыдущих, не имеет возможности | Аудиоплееры | изменять свой внешний вид и изначально сильно похож на Аудиоплееров в Linux абсолютное большинство. Достаточно iTunes — тот же список композиций, те же методы сортировки лишь зайти на какой-либо популярный ресурс, например из- по исполнителю и точно такое же абстрагирование от уровня вестный каждому пользователю http://freshmeat.net, и на- файловой системы. Минус программы заключается в том, что брать в строке поиска следующее: «audio player». После этого она не понимает ID-тегов в 8-битных кодировках, но может чи- на краткий миг у вас возникнет ощущение, что чуть ли не тать их в формате Unicode. Для проигрывания MP3-файлов не каждый программист, работающий в Linux, решил написать забудьте поставить пакеты . что-то свое для проигрывания звука. | Helix | | XMMS | Завершает обзор довольно новый проект под названием Helix, X MultiMedia System — изначально создавался как клон который появился на свет в результате недавнего открытия Winamp. Плеер позволяет играть музыку в большинстве самых компанией RealNetworks части исходных текстов своих про- распространенных звуковых форматов, а кроме того, может дуктов. Helix, к сожалению, пока что умеет работать только с использовать интерфейс для работы с плагинами, созданными открытыми форматами мультимедийных данных. Все закры- сторонними разработчиками. К сожалению, встроенная работа тые предлагается прослушать или посмотреть посредством бо- с плейлистами может показаться многим пользователям не лее старшей программы, которой, конечно же, является ком- совсем удобной на фоне других приложений, однако благодаря мерческий плеер RealPlayer. Что касается успехов или неудач распространенности XMMS существует большое количество данного проекта, об этом говорить рано — стоит посмотреть, внешних программ, позволяющих обойти этот недостаток. как он будет развиваться в дальнейшем. |

1/2005 LINUX| CHIP 42 desktop Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

Роксана Черноголова Å˚Ú¸ ÏÛÁ˚͇ÌÚÓÏ

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

Тем не менее времена меняются, и на данный момент в распо- в список горячих клавиш, которые при желании можно пере- ряжении пользователей Linux более 800 приложений для ра- назначить в настройках приложения. боты со звуком. Если же говорить о более узкой категории программ, а именно о музыкальных редакторах, то из всех | Форматы | этих проектов можно выделить лишь три достойных назы- Пусть Audacity не может похвастаться всеядностью форматов, ваться этим громких словом: ReZound, Rosegarden и Audacity. однако поддержка наиболее популярных здесь присутствует. Последний из них заинтересует тех пользователей, которые Речь идет о WAV, OGG Vorbis, AU, AIFF и MP3. Правда, для относительно недавно сменили операционную систему с работы с последним вам потребуется произвести некоторые Windows на Linux: по внешнему виду и расположению основ- дополнительные действия. Дело в том, что декодер этого фор- ных функций Audacity очень похож на популярный музыкаль- мата не может входить в состав программного обеспечения без ный редактор Cool Edit Pro. Кроме того, если вы сами себе специальной лицензии. Поэтому, если вы хотите осуществлять ритм, соло и бас, но не достигли во всех этих ипостасях необ- импорт и экспорт файлов формата MP3 в Audacity, вам понадо- ходимой виртуозности, Audacity поможет преодолеть первый бится дополнительная библиотека. При первом обращении к этап развития вашего таланта, а также скрыть многочислен- MP3-файлам программа предложит определить ее расположе- ные технические огрехи, неизбежные для новичков. ние. Обычно она находится здесь: /usr/lib/libmp3lame.so. Для хранения промежуточных записей лучше всего подойдет | Интерфейс: поверхностный осмотр | AUP — внутренний формат Audacity, не требующий экспорта Итак, запустим Audacity и посмотрим, какие возможности для композиции и способный сохранять существующий проект работы со звуком он может предложить. Большинство базо- именно в том виде, в котором вы его слышали в последний раз. вых функций, необходимых для создания и редактирования записей, находятся на панели инструментов или вызываются | Подготовка | клавишами быстрого доступа. Круглые кнопки служат для запи- Так как возможности любой программы гораздо удобнее изу- си, прослушивания, перехода к началу или концу трека. Обрати- чать в процессе работы, перейдем от слов к делу. Нашей пер- те внимание на всплывающие подсказки под кнопками, они час- вой задачей станет создание небольшой композиции, состоя- то содержат очень полезную информацию — например, о том, щей из нескольких дорожек. что если нажать на «Play» с клавишей «Shift», то трек будет проиг- Перед началом подобной работы всегда следует точно рываться в цикле. Правее находятся индикаторы громкости вхо- спланировать свои действия. В частности, что за чем мы бу- дящего и исходящего сигналов. Их внешний вид и шкалу, по ко- дем записывать. Обычно в первую очередь записываются торой измеряется уровень сигнала, можно отрегулировать при ударные инструменты, затем — бас-гитара, гитара, а послед- помощи ниспадающего меню. На этой же панели расположены ними — вокал и всевозможные сольные партии. Кстати, если часто используемые кнопки «Copy», «Paste», «Undo», «Redo» вы не уверены в том, что сможете создать партии для всех ис- и «Zoom». Если же вы привыкли работать при помощи клавиату- пользуемых в композиции инструментов самостоятельно, ры – пожалуйста, все основные функции программы вынесены можно воспользоваться готовыми записями — в Интернете

CHIP| LINUX 1/2005 Ó·‡·ÓÚ͇ ÍÓÏÔÓÁˈËÈ ‚ Á‚ÛÍÓ‚ÓÏ ‰‡ÍÚÓ Audacity 43

ÇÒ ·‡ÁÓ‚˚ ÙÛÌ͈ËË Ô‡ÍÂÚ‡ Audacity ‚˚ÌÂÒÂÌ˚ ̇ ÒÔˆˇÎËÁËÓ‚‡ÌÌÛ˛ Ô‡ÌÂθ éÔ‰ÂÎËÚ ̇˜‡ÎÓ ‚‡¯ÂÈ ÍÓÏÔÓÁˈËË Ç˚ÂʸÚ Ù‡„ÏÂÌÚ, ÒÓ‰Âʇ˘ËÈ ˜¸

их достаточно. К примеру, для этой статьи был использован трека два или три раза и определив, где заканчиваются слова трек, взятый с сайта http://jamtracks.narod.ru, который, по и начинается музыка, выделите нужный фрагмент мышью и сути, представляет собой минусовую запись, вполне подхо- удалите его нажатием клавиши «Delete». Есть, правда, другой дящую для экспериментов. В нем присутствуют ударные, бас- вариант, зачастую более правильный. Вместо того чтобы вы- гитара и ритм-гитара. Вам остается лишь добавить соло и — резать кусок, состоящий из звука и его временной составляю- при удачном сочетании желания и возможностей — вокал. щей, можно удалить только звук, для чего используется пункт Итак, откройте готовый шаблон. Это можно сделать при по- меню «Edit p Silence». Поначалу многим пользователям по- мощи двух пунктов меню: либо через стандартный для всех добная опция покажется бессмысленной, однако, как только программ пункт «File p Open», либо через «Project p Import вы начнете записывать трек, сможете довольно быстро оце- Audio» («Ctrl+I»). Если в момент открытия файла в Audacity не нить преимущество этого метода. Представьте себе процесс запущено никаких других проектов, разницы между этими дву- записи: вам надо нажать на определенную кнопку в окне про- мя функциями нет. Если же они открыты, то при помощи меню граммы, потом быстро переместить пальцы в нужную пози- «File p Open» вы создадите трек в другом окне как новый проект, цию на грифе гитары, потому что запись уже идет, и суметь а раздел меню «Project p Import Audio» осуществит импорт трека хотя бы приблизительно попасть в долю. Лишние две-три се- в ту композицию, которая в данный момент редактируется. кунды тишины в такой ситуации не помешают. Перед тем как Трек, который вы выбрали, начинается с речевого вступле- вы приступите к выделению части трека, обратите внимание ния. Так как эта часть записи вам не понадобится, первое, что на то, чтобы у вас был выбран инструмент «Selection». Если необходимо сделать, — это ее вырезать. Прослушав начало шаблон, который вы используете, недостаточно велик по времени, его можно сделать больше, выделив трек целиком Дополнительные возможности («Edit p Select p All» («Ctrl+A»), скопировав («Ctrl+C») и вставив («Ctrl+V») в конец нужной композиции). ùÚÓ Û‰Ó·ÌÓ. ó‡ÒÚ¸ ÔÂ‚‡fl Перед тем как начинать запись, необходимо проверить не- В Audacity есть некоторое ко- программы. Помимо инфор- которые настройки. Зайдите в меню «File p Preferences», от- личество инструментов, суще- мации о треке и выделенной кройте закладку «Audio I/O» и убедитесь, что в параметрах ственно облегчающих работу области, там иногда появля- Audacity правильно указаны устройство ввода/вывода (обычно над композицией. В первую ются подсказки, которые спо- это «dev/dsp») и режим записи «Stereo». В противном случае очередь это история измене- собны существенно сократить программа либо просто не запишет то, что вы играете, либо сде- ний, позволяющая отменять количество времени, требуе- лает это так, что вы не узнаете композицию. В той же закладке и повторять операции неогра- мого на освоение нового для ниченное количество раз. вас интерфейса. весьма полезно установить галочку напротив пункта «Play other В разделе «View» есть функ- В меню «Project» есть еще tracks while recording new one», чтобы в процессе записи иметь ция «Plot spectrum» — гиб- один пункт, помогающий ко- возможность слышать все остальные треки композиции. кий в настройках анализатор ординировать любой проект. частот, который помимо раз- Функция «Project p New Lable | Запись | личных типов отображения Track» поможет создать от- Итак, все готово для работы. Нажмите кнопку «Record» (или информации может перекон- дельную строку для заметок. клавишу «R») и начинайте играть. При этом проигрываться бу- вертировать результаты ана- При работе с большими ком- дет первый трек, а запись пойдет на второй. Не стоит удивлять- лиза в текстовый файл. позициями, включающими ся, если с первого раза у вас ничего не получится. В процессе Используя инструменты и вы- в себя немалое количество записи делается, пожалуй, больше дублей, чем в цифровой фо- деляя области, не забывайте дорожек, «Label Track» может тографии. Когда полученный результат вас удовлетворит, мож- иногда смотреть на строку со- оказаться единственной воз- но будет приступать к редактированию. стояния, которая находится в можностью не заблудиться нижней части основного окна в собственном творении. Для начала обратите внимание на область окна слева от до- рожек. С помощью содержащихся здесь функций можно вы-

1/2005 LINUX| CHIP 44 desktop Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

àÌÒÚÛÏÂÌÚ˚ ‰Îfl ‰‡ÍÚËÓ‚‡ÌËfl ‚˚- ·‡ÌÌÓÈ ÔÓθÁÓ‚‡ÚÂÎÂÏ ÍÓÏÔÓÁˈËË ë ÔÓÏÓ˘¸˛ ÙÛÌ͈ËË «Envelope» ÏÓÊÌÓ «Draw Tool» ÔÓÁ‚ÓÎflÂÚ ‚ ·ÛÍ‚‡Î¸ÌÓÏ Ë ÏÂÌ˛ ÛÔ‡‚ÎÂÌËfl Ò‚ÓÈÒÚ‚‡ÏË ÚÂ͇ ÓÚ‰‡ÍÚËÓ‚‡Ú¸ „ÓÏÍÓÒÚ¸ Á‚Û˜‡ÌËfl ÒÏ˚ÒΠ̇ËÒÓ‚‡Ú¸ ÌÛÊÌ˚È ‚‡Ï Á‚ÛÍ

ставить громкость и баланс для каждого канала, прослушать их те Audacity. Но, несмотря на все многообразие электронных по отдельности (при помощи опций «Solo» и «Mute») или же красок, не стоит забывать о том факте, что более органичный воспользоваться выпадающим меню, в котором присутствует звук получается в том случае, если вы используете эффекты ги- множество интересных функций — от вариантов отображения тарного процессора, а не музыкального редактора. Впрочем, трека до настроек опций «Sample rate» и «Sample format». Здесь если у вас нет процессора для гитары, то меню «Effects» — ваш также можно разделить или объединить ранее разделенный единственный шанс найти необычное звучание для компози- трек. Теперь вам понадобятся инструменты, находящиеся в ле- ции. Перед тем как вы приступите к изучению таких эффектов вом верхнем углу окна. Из всего представленного разнообразия как «BassBoost», «WahWah» и им подобных, вам стоит узнать, выберите функцию «Envelope», при помощи которой можно что ни один из них не станет работать до тех пор, пока не будет редактировать громкость звучания дорожек. Для того чтобы из- выделена какая-либо область в треке. менить ее, необходимо расставить точки над линиями, которые Для начала примените к полученной на этапе записи ком- появились сверху и снизу каждой из них. В случае если звук не- позиции плагины «Fade in» и «Fade out». В основном они ис- обходимо подстраивать более тонко, воспользуйтесь инстру- пользуются в начале и в конце композиции. Первый дает эф- ментом «Draw» — с его помощью звук можно буквально нари- фект постепенного возрастания звука, второй — убывания. совать. Правда, для этого потребуется увеличить изображение Выделите небольшой фрагмент трека. Желательно, чтобы это до такой степени, чтобы стало видно отдельные семплы, из ко- была законченная фраза. Теперь в меню выберите пункт торых, собственно, и состоит любая цифровая запись. «Effect p Fade In». Результат операции будет видно буквально Еще один весьма полезный инструмент – «Time Shift». Скорее невооруженным глазом. всего, вы уже заметили, как трудно бывает вступать вовремя вме- При помощи различных плагинов можно не только добить- сте с другой партией. При помощи данной опции вы довольно ся необычного звучания, но и изменить темп и тональность легко скроете частичное отсутствие чувства ритма, передвинув композиции. Для этого предусмотрены три функции — трек немного вперед или назад. Обратите внимание на то, что вне «Change Speed», «Change Tempo» и «Change Pitch». Первая со- зависимости от выделения «Time Shift» перемещает целиком здает эффект ускоренного или же замедленного проигрывания трек, а не только выделенную его часть. Наконец, последний ин- струмент этой группы – «Multi-Tool». Он объединяет возможно- Дополнительные возможности сти всех предыдущих инструментов и предполагает, что вы уже знакомы с интерфейсом Audacity и не запутаетесь во многих точ- ùÚÓ Û‰Ó·ÌÓ. ó‡ÒÚ¸ ‚ÚÓ‡fl ках и линиях, появляющихся при включении этого инструмента. Если вы собираетесь записы- обратить внимание на преду- вать композицию с нуля, не преждение разработчиков. | Раскрашиваем | используя чужие наработки и В документации написано Первое, на что мы обращаем пристальное внимание при зна- шаблоны, то первое, что будет буквально следующее: «Все комстве с любым редактором, графическим или музыкаль- необходимо сделать, — это функции, расположенные ни- ным, — это различные эффекты. В Audacity есть набор непло- воспользоваться пунктом меню же «Wite Noise», являются p хих решений, но он, к сожалению, серьезно ограничен. Тем не «Generate Click Track». Дан- плагинами VST, Ladspa или ная функция создает отдель- Nyquist. Ошибка в таком пла- менее, если вы не найдете в списке плагинов тот, что вам ну- ный трек, в котором записан гине поможет привести к не- жен, посетите веб-ресурс http://plugin.org.uk и воспользуйтесь метроном. В его настройках корректному завершению ра- дополнениями LADSPA — Linux Audio Developers Plugin API. можно указать темп, размер боты Audacity, так что перед Если же вы обладаете достаточным опытом программирова- и количество тактов. Однако, их использованием следует со- ния, можете попытаться создать свои собственные плагины, в используя эту функцию, стоит хранить имеющийся проект». которых применяется скриптовый язык, используемый в паке-

CHIP| LINUX 1/2005 Ó·‡·ÓÚ͇ ÍÓÏÔÓÁˈËÈ ‚ Á‚ÛÍÓ‚ÓÏ ‰‡ÍÚÓ Audacity 45

àÒÚÓËfl ÓÚÏÂÌ ‰‡ÂÚ ÔÓθÁÓ‚‡ÚÂβ ÇÒÚÓÂÌÌ˚È ËÌÒÚÛÏÂÌÚ «Plot spectrum» èÓÒÚÂÔÂÌÌÓ ̇‡ÒÚ‡ÌË Á‚Û͇ — ‚ÓÁÏÓÊÌÓÒÚ¸ ‚ÂÌÛÚ¸Òfl Ô‡ÍÚ˘ÂÒÍË ÒÏÓÊÂÚ Ô‰ÓÒÚ‡‚ËÚ¸ ‚Ò˛ ‚ÓÁÏÓÊÌÛ˛ ÂÁÛÎ¸Ú‡Ú ÔËÏÂÌÂÌËfl ˝ÙÙÂÍÚ‡ «Fade In» Í Î˛·ÓÏÛ ˝Ú‡ÔÛ ÔӉ·ÌÌÓÈ ËÏ ‡·ÓÚ˚ ËÌÙÓχˆË˛ Ó Á‚ÛÍ ÍÓÏÔÓÁˈËË

записи, то есть изменяет не только темп трека, но и высоту зву- | Последнее слово | чания. Вторая изменяет непосредственно темп, ну а третья иг- Рассказать в рамках журнальной статьи обо всех тонкостях и рает роль некоторого кападастра и явно предназначена для тех премудростях музыкального редактора, даже такого несложно- музыкантов, которые не играют в каких-либо других тонально- го как Audacity, вряд ли представляется возможным. Поэтому стях кроме E и A. Обратите внимание на тот факт, что у многих последнее, что нам хочется отметить из компонентов этой про- плагинов есть возможность предварительного просмотра или, граммы, — это система помощи. Во-первых, ее можно вызвать как в нашем случае, прослушивания. из самой программы, просто щелкнув по меню «Help p Online Теперь стоит рассказать об оригинальном применении пла- Help». Здесь присутствует достаточно подробное и более чем гина «Invert». С его помощью из некоторых (далеко не всех) доступное описание всех имеющихся в пакете функций, пунк- записей можно делать караоке. Представьте себе, что у вас тов меню и панелей инструментов. Правда, сам проект разви- есть стереотрек, в одном канале которого записаны инстру- вается несколько быстрее документации, поэтому некоторые менты и голос, а во втором — только голос. Задача — удалить его детали, появившиеся в последней версии, в ней могут быть вокал, создав минусовую запись. Для начала разделите имею- еще не описаны. Во-вторых, на сайте самих разработчиков, щуюся стереозапись. Для этого в выпадающем меню слева от расположенном по адресу http://audacity.sf.net, есть руковод- трека выберите пункт «Split Stereo Track», после чего выдели- ство пользователя, в котором содержится раздел о принципах те трек, содержащий вокал, и примените к нему плагин цифровой звукозаписи, объясняющий такие понятия как при- «Invert». Затем переведите оба этих трека в режим «Mono» при рода звука, семпл и т. п. Наконец, на том же сайте есть несколь- помощи все того же выпадающего меню. Обратите внимание ко примеров работы в Audacity с подробным описанием дейст- на то, что этот способ работает только в том случае, если оба вий, скриншотами и даже небольшими видеороликами. Более канала содержат идентичную запись голоса. наглядное пособие вообразить трудно. |

ÇÒÚÓÂÌ̇fl ÒËÒÚÂχ ÔÓÏÓ˘Ë ÒÏÓÊÂÚ ÓÚ‚ÂÚËÚ¸ ̇ ·Óθ¯Û˛ ˜‡ÒÚ¸ åÂÚÓÌÓÏ Ë ÚÂÍ ‰Îfl Á‡ÏÂÚÓÍ ÛÔÓ˘‡˛Ú ÔÓˆÂÒÒ Ó·‡·ÓÚÍË ‚ÓÔÓÒÓ‚, ‚ÓÁÌË͇˛˘Ëı Û Ì‡˜Ë̇˛˘Ëı ÔÓθÁÓ‚‡ÚÂÎÂÈ Audacity

1/2005 LINUX| CHIP 46 desktop ˝ÏÛÎflˆËfl

Александр Быков à„˚ Ô‡ÚËÓÚÓ‚

Cedega — пожалуй, наилучший пакет для запуска Windows-игр, использующих в работе библиотеки DirectX. Однако установить его — это только полдела. Главное — суметь после этого заставить его работать.

Желание потратить пару свободных часов в пятницу вечером Windows в Linux, не затрачивая при этом безумного количест- на какую-нибудь новую и широко разрекламированную игру ва памяти и процессорного времени — таким образом, как зачастую возникает у большинства людей, целую неделю за- будто они были написаны для этой ОС. Необходимо за- нятых рутинной офисной работой. Вся проблема здесь состо- метить, что проект-основатель на данный момент чувствует ит в том, что многие компании, разрабатывающие компью- себя весьма неплохо. Достаточно регулярно выходят новые терные игры, как правило, стараются создавать версии своих версии, и в них постоянно реализуются все новые и новые продуктов исключительно для Windows-систем, небезоснова- возможности. Что касается разработчиков пакета Cedega, то тельно считая чуть ли не весь рынок альтернативных опера- они уже достаточно давно стали отходить от основной, изна- ционных систем абсолютно бесперспективным для любых чально поддерживаемой политики, пытаясь понять, каким продуктов данного направления. В то же время держать на образом наиболее выгодно продать пользователю свой про- машине Windows только для того, чтобы иметь возможность дукт. Постепенно невнятная идея обрела форму, и Cedega (на раз в неделю сразиться с очередным соперником на одной из тот момент все еще WineX) нашла свое истинное предназна- трасс Need for Speed, — небольшой перебор. Ведь решить чение — запуск всех новейших игр, которые были разработа- проблему можно гораздо более простыми, а главное — деше- ны для платформы Windows. После этого началась работа над выми, способами: например, с помощью одной из многочис- оптимизацией кода, наращивание общей скорости програм- ленных программ-эмуляторов. Наиболее распространенной мы, ну и, конечно же, разработка собственных, но совмести- среди них является Cedega — коммерческий проект, ранее но- мых с оригиналом от Microsoft, версий драйверов DirectX, сивший имя WineX. которые были просто жизненно необходимы для достижения Основной код, равно как и сама идея, в соответствии с ко- поставленной цели. торой развивалась Cedega, с самого начала базировались на свободном проекте Wine. Его целью стало создание программы- эмулятора, способной без проблем запускать приложения для | Получение и установка | Итак, для начала нам требуется получить сам пакет. Сделать Дополнительные возможности это можно на сайте компании-разработчика по адресу: www.transgaming.com. Стоимость подписки на три месяца со- Ç˚Íβ˜ÂÌË Á‡˘ËÚ˚ ̇ Ó‰ËÌ Ò‡ÌÒ ставит около $15. После того как вы оформите персональную Если полное отключение за- можностью отключить защиту регистрацию, сразу же получите доступ на скачивание паке- щиты вас все же немного на- для указанного вами приложе- та, последняя версия которого занимает примерно 7 Мбайт. стораживает, то это вовсе не ния на время одного сеанса. Установить его в систему можно следующей командой: повод больше никогда не при- Тем более что сделать это го- трагиваться к любым пакетам раздо проще, нежели отклю- rpm –ivh <имя_пакета> наподобие Cedega и не играть чить всю защиту вашей систе- в игры. Все, что вам в этом мы целиком. Скомандуйте: случае надо сделать, — это | Отключение защиты Exec-Shield | просто воспользоваться воз- setarch i386 cedega Казалось бы, пакет установлен, и утилита Cedega также появи- лась в системе. Однако теперь при попытке просто взять и за-

CHIP| LINUX 1/2005 ‡·ÓÚ‡ Ò Ô‡ÍÂÚÓÏ Cedega 47

片‚ÌË ÒÂ¸ÂÁÌ˚ ÂÎËÁ˚ Ú‡ÍËı Ë„ Í‡Í Half-Life 2 Ë Need for Speed Underground 2 ÔÂÍ‡ÒÌÓ ‡·ÓÚ‡˛Ú ÔÓ‰ ÛÔ‡‚ÎÂÌËÂÏ Linux

пустить установку какой-либо игры вы получаете сообщение PRELINK_OPTS = -mR программы примерно следующего вида: на can't exec "file": error = 21 PRELINK_OPTS = "-m --no-exec-shield" Чтобы избавиться от пресловутой «error = 21», потребуется отключить систему защиты Exec-Shield, которая встроена в ОС Все, что теперь осталось сделать, это написать: и по умолчанию не позволяет запустить ни Cedega, ни любые другие подобные эмуляторы. Происходит же это по той причи- prelink -am --no-exec-shield не, что Cedega для работы использует небольшой хакерский прием, перехватывающий системные вызовы через стек. Для то- | Запуск игры | го чтобы все же дать программе возможность произвести уста- Если последняя команда отработала без ошибок, вставляйте новку, необходимо выполнить следующие команды. Откройте диск с игрой и начинайте ее установку. Как только процесс консоль и перейдите в режим суперпользователя: инсталляции будет завершен, запустите игру либо при помо- щи появившегося на рабочем столе ярлыка с ее названием, su – либо через команду «cedega»:

Затем скомандуйте системе: cedega <путь_к_файлу_игры>

prelink –ua После выполнения этого действия путь в страну развлече- ний можно считать открытым. Ведь о том, как играть в игры, Теперь откройте любым текстовым редактором файл никому из наших читателей рассказывать не надо. Во всяком /etc/sysconfig/prelink и измените в нем следующую строку: случае, мы всерьез на это надеемся. Удачи! |

ìÒÚ‡Ìӂ͇ ÌÓ‚Ó„Ó ÔËÎÓÊÂÌËfl ÔË éÚÍÓÈÚ ÚÂÍÒÚÓ‚˚È ‰‡ÍÚÓ Ë ËÁÏÂÌËÚ á‡ÔÛÒ͇ڸ ÛÒÚ‡ÌÓ‚ÎÂÌÌ˚ ÔËÎÓÊÂÌËfl ÔÓÏÓ˘Ë ÔÓ„‡ÏÏ˚-˝ÏÛÎflÚÓ‡ Cedega Ù‡ÈÎ prelink, Í‡Í ÔÓ͇Á‡ÌÓ Ì‡ ͇ÚËÌÍ ÏÓÊÌÓ Ë ˜ÂÂÁ ‡Ò¯ËÂÌË Point2Play

1/2005 LINUX| CHIP 48 desktop ÌÓ‚˚Â ÚÂıÌÓÎÓ„ËË

Александр Прокудин è‡Á‰ÌËÍ ‚ ÔÓ‰ÁÂÏÌÓÏ

GNOME уже давно перестал быть просто красивой игрушкой, уделом для людей, которым некуда ˆ‡ÒÚ‚Â девать ресурсы своих компьютеров. Сейчас он является средой, которая помогает пользователю взаимодействовать с системой более эффективно.

Рабочему окружению GNOME в борьбе за жизнь приходит- | Новые приложения | ся несладко, так как его атакуют сразу с трех направлений. Достаточно давно существующий проект SoundJuicer, он же С одной стороны весьма серьезно ему портит жизнь собствен- «Звуковыжималка» в русском переводе, предназначен для циф- ная медлительность, в которой его зачастую упрекают пользо- рового извлечения звуковых дорожек с компакт-дисков. Этой ватели. С другой стороны на него наступает KDE, имею- программе уже полтора года, но, к огромному сожалению ее щий большую армию агрессивно настроенных поклонников. поклонников, особого прогресса в разработке пока что совер- С третьей — более шустрый и удобный проект XFCE, автома- шенно не заметно. В релиз она попала, очевидно, из-за интег- тически оттягивающий на себя многочисленную группу поль- рации с приложением , которая на данный момент зователей, которым одновременно хочется работать в мощной проявляется исключительно в том, что из Rhythmbox можно и удобной среде, но которых по тем или иным причинам не напрямую вызвать «Звуковыжималку». При этом скопирован- устраивают первые два решения. Несмотря на это, среды KDE ные с музыкального диска дорожки автоматически добавляться и GNOME схожи в одном: они постепенно сочетают в себе са- в плеер не умеют и не будут. Так что для копирования личных мые популярные наработки, которые с завидной частотой записей предпочтительнее использовать либо утилиту grip, ко- рождаются и эволюционируют вокруг них. Благодаря этому торая обеспечивает полный контроль над всеми параметрами немаловажному фактору в каждом новом релизе GNOME мы цифрового извлечения, либо более простой, но удобный пакет можем наблюдать множество самых различных новых при- Goobox. Собственно, если уж какую программу и стоило вклю- ложений — удобных, красивых, протестированных и хорошо чать в итоговый релиз, то это именно Goobox, которая способ- зарекомендовавших себя среди наиболее активных пользова- на по максимуму использовать все возможности мультимедий- телей сообщества. Данное правило было безукоризненно вы- ной инфраструктуры GStreamer. Например, если вы вводили полнено и в недавно появившемся на свет окончательном ре- названия песен с музыкального диска, программа автоматиче- лизе GNOME 2.10, в который вошли такие приложения как ски это обнаружит, а если нет, то описание диска можно будет SoundJuicer, Totem, GnomeMeeting, а также множество других, задать через стандартный диалог. Помимо этого у Goobox есть гораздо менее заметных дополнительных модулей и систем- возможность запросить через Интернет и сохранить на диске ных утилит. Но давайте говорить обо всем по порядку. обложку компакт-диска.

CHIP| LINUX 1/2005 Á̇ÍÓÏÒÚ‚Ó Ò GNOME 2.10 49

àÒÔ‡‚ÎÂÌÌ˚ ‡ÔÎÂÚ˚ ÔÓÁ‚ÓÎfl˛Ú ËÒÔÓθÁÓ‚‡Ú¸ ÔÓÁ‡˜ÌÓÒÚ¸ Ô‡ÌÂÎË Á‡‰‡˜ ̇ ÔÓÎÌÛ˛ ÏÓ˘ÌÓÒÚ¸

Ç Ó·ÌÓ‚ÎÂÌÌÓÏ ÔÓ„‡ÏÏÌÓÏ ãÛ˜¯Â ¯ÂÌË ‰Îfl ÏËͯÂ ‚Ò ԇ‡ÏÂÚ˚ ÍÓÏ ÒÓÁ‰‡ÌËfl ÍÓÔËÈ ‡Û‰ËÓ‰ËÒÍÓ‚ „ÓÏÍÓÒÚË ‚˚Á˚‚‡˛ÚÒfl ÓÚ‰ÂθÌÓ

Totem — одна из графических оболочек к проигрывателю Во-первых, появилась возможность нормально работать в ав- XINE, которая альтернативно может собираться только с тономном режиме с данными, требующими синхронности. GStreamer. Пожалуй, это один из немногих проигрывателей, Теперь можно, отключившись от сервера Exchange или который не стал хуже от того, что не пытается прибегнуть к по- Groupwise, назначить совещание, добавить контакты и от- пыткам копировать свой облик с реальных плееров. По умолча- править почту, после чего при первом же выходе на связь все нию GNOME настроен на воспроизведение видео именно при созданные данные будут синхронизированы с теми, которые помощи Totem, так что, если вы установили в привод DVD хранятся на соответствующих серверах. Во-вторых, к собы- с фильмом, Totem сразу отобразит меню этого диска. Если та- тию в календаре теперь можно прицеплять файлы. То есть, кое поведение вас чем-то не устраивает, выберите пункт меню если во время встречи, которая была отмечена в календаре, «Приложения p Параметры p Сменные накопители» и в по- нужно иметь под рукой несколько важных документов, их явившемся окне снимите галочку с пункта «Воспроизводить можно просто «пришить к делу», а ближе к встрече извлечь, видео с DVD при вставке». распечатать или переслать, а не искать по всему жесткому GnomeMeeting — приложение, давно ставшее завсегдатаем диску. В-третьих, появились исключения для повторяющихся дистрибутивов и до недавних пор бывшее единственным сво- событий — полезная функция для тех, кому пришлось пропу- бодным клиентом для проведения видео- и аудиоконференций, стить очередной день рождения лучшего друга из-за свалив- поддерживающим протокол H.323, что давало возможность об- шейся как снег на голову командировки. щаться с пользователями Microsoft Netmeeting. Для получения Определенные изменения коснулись также панели задач и видеосигнала с вашей веб-камеры используется стандартный аплетов. Во-первых, из верхней панели убрано меню «Actions». интерфейс Video4Linux (V4L). У программы есть собственная Вместо него там теперь располагается меню «Places», аналогич- адресная книга, частично разделяемая с почтовым клиентом ное такому же в Nautilus, и меню «Desktop». Из «Places» можно Evolution, где в личных параметрах контакта можно указать перейти в сетевой или домашний каталог, метакаталог для за- URL для видеочата. Если у вас есть широкополосный канал в писи компакт-дисков или вызвать утилиту для поиска. Оттуда Интернет и пара знакомых с веб-камерами, которые еще не же можно перейти к закладкам, которые оставлены в общем знают, что такое Skype, можете убедиться, что GnomeMeeting для GTK-приложений диалоге открытия файлов. Достаточ- достойно справится с отведенной ему ролью. но ценное нововведение, потому что раньше надо было вы- зывать из меню Nautilus и уже оттуда добираться до нужного | | каталога. В меню «Desktop» перенесены контрольные панели Не одна тысяча пользователей купилась на видимую простоту «Preferences» и «Administration», а также команды «Log out», этого оконного менеджера и либо с проклятиями перешла на «Lock screen» и вызов справки GNOME. KDE, либо смирилась, либо вообще продолжила использовать Меню приложений в панели теперь также полностью соот- GNOME, но вместо Metacity — старый Sawfish. Остальных по- ветствует спецификациям проекта Freedesktop, а это еще од- радует то, что Metacity больше не делает активным окно, в ко- но подтверждение тому, что его не постигла участь заведомо тором вдруг произошло какое-то событие — загрузилась ваша мертворожденного проекта. Практическая ценность этого страница в браузере или приятель что-то написал по ICQ. Тем новшества заключается в том, что любое приложение, на- же, кто хочет получить от Metacity все, что только можно, сове- писанное хоть на Qt, хоть на GTK, может автоматически тую дополнительно поставить Devil's Pie (www.burtonini.com/ появиться в меню GNOME, если к нему прилагается стан- blog/computers/devilspie), при помощи которой можно, к при- дартное описание в файле вида «приложение.xml». Благодаря меру, научить Metacity автоматически открывать окна опреде- этому нововведению всем обходным маневрам вида «redhat- ленных приложений на тех или иных рабочих столах. menus» можно указать на дверь. На панели теперь появилась иконка мусорной корзины. | Изменения в приложениях | Использовать ее можно как из окна Nautilus, так и из Evolution, с недавних пор входящий в базовую поставку Gthumbs — достаточно подцепить надоевший файл и перета- GNOME, обзавелся несколькими полезными функциями. щить его в корзину. Также на панели теперь автоматически

1/2005 LINUX| CHIP 50 desktop ÌÓ‚˚Â ÚÂıÌÓÎÓ„ËË

àÁ ÌÓ‚Ó„Ó ÏÂÌ˛ GNOME ÏÓÊÌÓ ÓÚÔ‡- SoundJuicer ÔÓԇ· ‚ ÂÎËÁ ÚÓθÍÓ ç‡ Ô‡ÌÂÎË ËÌÒÚÛÏÂÌÚÓ‚ ÚÂÔÂ¸ ÔËÒÛÚÒÚ- ‚ËÚ¸Òfl ‚ β·Û˛ ÚÓ˜ÍÛ ‚‡¯ÂÈ ÒËÒÚÂÏ˚ ·Î‡„Ó‰‡fl ËÌÚ„‡ˆËË Ò Rhytmbox ‚ÛÂÚ ‡ÔÎÂÚ «äÓÁË̇»

появляются кнопки быстрого доступа к носителям вроде работчиком и имеет известные проблемы с безопасностью. флеш-карт или дисков CD-RW. Правда, появляются они в со- Что, в общем, тоже не такая большая проблема, поскольку вершенно непредсказуемом месте — там, где вы расположили существует как минимум один живой аналог плюс аплет для аплет. Трудно с уверенностью сказать, насколько может быть проверки почты на Gmail — известном почтовом сервисе, полезно данное новшество, поскольку самостоятельно на- грозящем в ближайшем будущем заменить собой POP/IMAP- значить кнопку для сворачивания всех приложений и откры- ящики очень и очень многих пользователей. тия рабочего стола, где находятся все иконки смонтирован- ных устройств, — дело десяти секунд. | Общая картина | Еще одно новшество, касающееся панелей, которое просто Ответ на самый главный вопрос — стал ли GNOME менее необходимо упомянуть, — улучшенная полупрозрачность ап- прожорливым, к сожалению, пока отрицательный. Пользо- летов. Как известно, некоторые аплеты раньше освобождали вателям по-прежнему предстоит с тоской наблюдать, как недостаточно пространства, из-за чего на прозрачной панели простейший аплет часов отъедает 20 Мбайт памяти. Опреде- появлялись неуклюжие белые пятна. Теперь можно без боязни ленную надежду вселяет то, что разработчики наконец-то переходить на полную прозрачность. официально признали существование такой проблемы и уже Разработчики GNOME неплохо поработали и над обликом объявили конкурс на лучшую «диету» для GNOME с совсем микшера: мало того что он стал более симпатичным, чем нешуточными денежными призами. раньше, теперь еще и по умолчанию показываются только ос- На моем компьютере GNOME поселился на постоянной новные регуляторы громкости, а остальные можно подклю- основе начиная с версии 2.4. За это время я успел плотно по- чить через диалог настройки. знакомиться еще с XFCE и даже KDE самых свежих версий. Как пользователя ноутбука меня заинтересовал новый аплет Должен признать, так как у XFCE не осталось и следа от под названием «CPU frequency scaling». Он не только умеет по- былой проворности и по прожорливости он скорее сравним с казывать текущую частоту работы процессора, но и позволяет современным GNOME, использовать его при явно большем быстро ее изменять в том случае, если вы не настраивали авто- количестве функций последнего не так уж и выгодно. матическое изменение частоты по одному из сценариев. Вспоминая первое неприятное впечатление от знакомства с Замечена и масса совсем мелких, но приятных изменений. GNOME 2.0 и глядя на более чем современный релиз Например, в текстовом редакторе исчезла весьма раз- GNOME 2.10 со всеми его сервисами, основанными на D-Bus, дражающая ошибка при проверке орфографии, из-за которой и поддержкой спецификаций Freedesktop, становится ясно, слово, еще не набранное до конца, уже помечалось как оши- что у GNOME, несмотря на прогнозы любителей пошуметь в бочное. Кроме того, менеджер архивов File Roller научился по- форумах, очень даже светлое будущее. И не столько потому, нимать защищенные паролем RAR-архивы. Теперь он предла- что за спиной всегда есть гиганты типа Novell и Sun, которые гает пользователю ввести пароль для их разархивации. вкладывают деньги в его развитие и совершенствование, а по- тому, что создается он людьми и для людей. | Что удалили | В GNOME 2.10 были удалены несколько аплетов. Немножко | Где взять | жаль прослуживший верой и правдой аплет для управле- Если вы еще не используете Linux или по каким-то причинам ния CD-проигрывателем. Вместо него теперь предлагается просто не хотите обновлять систему, можно скачать GNOME перейти на использование иконки GNOME CD Player, распо- LiveCD (www.gnome.org/start/2.10) и попытаться поработать с ложенной в области уведомлений. Также был убран аплет ним. GNOME 2.10 также уже появился в новой версии дистри- беспроводных соединений, поскольку его функции плавно пе- бутива Ubuntu Linux 5.04 Hoary Hedgehog. Любители острых реместились в аплет «Монитор сети», осуществляющий кон- ощущений могут также настроить свои yum, apt или urpmi в дис- троль сетевых соединений. За дело был наказан и стандартный трибутивах нестабильных веток разработки Fedora Core, Debian аплет проверки почты, который давно не поддерживается раз- и Mandrake и также получить свою пачку обновлений. |

CHIP| LINUX 1/2005 52 advanced Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

Вячеслав Калошин óÚÓ Ú‡ÍÓ ıÓÓ¯Ó, ËÎË çÂÏÌÓ„Ó Ó· LVM

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

В последнее время в мире компьютерных технологий стало по- | Начало работы | являться все больше и больше различных аббревиатур. Почти Итак, представим, что у нас есть Linux-машина, которая пре- для каждой комбинации букв придуманы невразумительные красно работает и не требует к себе пристального внимания. Но руководства, которые без применения исконно русских напит- вот ведь незадача: современные программные средства имеют ков читать практически невозможно. Примерно такая же ситу- тенденцию увеличивать размер файлов до неприличия. Одним ация сложилась и с LVM. Данная технология, позволяющая словом, на диске, присоединенном к /test, кончилось место: упростить жизнь при работе с дисками и разделами, оказалась незаслуженно отодвинутой в тень. Многие избегают ее ис- df -h | grep test пользования по причине того, что все существующие руковод- /dev/sda1 241M 239M 0 100% /test ства и прочая документация написаны слишком сухим язы- ком. Но этим материалом мы попытаемся переломить общее Самым первым порывом, который возникает у многих, бу- отчуждение и поделиться с вами удобствами LVM. дет мысль купить новый диск и поставить его на место старого. Или, что еще хуже, монтировать новый диск в один из катало- | Что же такое LVM | гов на старом и перенести часть данных туда. Если в первом В переводе с английского LVM (Logical Volume Management) случае ничего страшного в принципе не случится (за исключе- означает управление логическими томами. Многие из вас нием появления свободного диска, который тоже как-то надо сразу же зададутся вопросом: «А зачем мне еще одна система использовать), то во втором через некоторое время начнется управления логическими разделами? Мне и fdisk хватает. А на неразбериха с каталогами, обязательно завершающаяся тем, крайний случай есть parted». Однако все дело в том, что это что на обоих дисках суммарно окажется много места, а файлы не те логические разделы, к которым мы привыкли, а просто положить будет некуда. Давайте же поступим более разумно и еще один уровень между физическими дисками и файловой попытаемся рационально использовать все доступное нам дис- подсистемой. Примерно такой же, как и RAID. Только RAID ковое пространство. Мы намеренно опускаем здесь вопросы призван обеспечить большую сохранность данных, а LVM — отказоустойчивости, потому что это прерогатива RAID. удобство их размещения. Но количество преимуществ, кото- рые дает LVM, несоизмеримо больше, чем абстрактное паде- | Создание PV и VG | ние производительности, которое можно будет заметить Для начала приведем наглядный пример, иллюстрирующий только на синтетических тестах. принцип работы LVM. Представьте себе обычную стеклян- Чтобы не превращать статью в очередной пересказ документа- ную банку, в которую положили несколько ненадутых воз- ции, давайте сразу же попробуем оценить преимущества LVM на душных шариков. Мы можем надуть один шарик так, чтобы конкретной гипотетической системе. Во-первых, для этого не на- он стал занимать абсолютно все доступное пространство вну- до что-то куда-то переставлять или ломать в уже существующей три банки. А можем надуть два, чтобы они делили место по- системе. Во-вторых, сейчас во все современные дистрибутивы ровну. А можем и три, только нужно чуть сильнее надуть один встраивается поддержка LVM, чем мы и воспользуемся. из шариков, чтобы он был больше. Если перевести этот при-

CHIP| LINUX 1/2005 ÛÔ‡‚ÎÂÌË ‰ËÒÍÓ‚˚ÏË ÂÒÛÒ‡ÏË 53

мер в термины LVM, то банка — это Physical Volume, или PV. Total PE 244 В качестве PV может выступать что угодно, позволяющее за- Free PE 52 писывать данные. Шарики маскируются под термином Allocated PE 192 Logical Volume (LV), после чего на LV создаются файловые си- PV UUID 477bCS-EKut-Ql2b-OulY-F67k-uHJv-Vny5He стемы. Основное отличие PV от LV состоит в том, что у перо- вого невозможно поменять объем. То же самое, возвращаясь А далее шарик: к аналогии, — банку нельзя накачать. Есть еще один термин — Volume Group (VG). В нашей ба- lvdisplay test ночно-шариковой классификации он соответствует обычной Logical volume авоське, в которую можно положить сразу несколько банок. LV Name /dev/test/stor Но вернемся к компьютерам. У нас появился новый диск, и VG Name test мы непременно желаем воспользоваться им в полном объеме. LV UUID yaKBSz-lkLP-6AwM-JAvR-V7C7-omW4-mmAzJV А раз так, значит, никаких разделов создавать на нем не бу- LV Write Access read/write дем — все отдадим под LVM: LV Status available LV Size 768.00 MB pvcreate -v /dev/hde Current LE 192 Set up physical volume for "/dev/hde" with 2001504 available sectors Segments 1 Physical volume "/dev/hde" successfully created Allocation inherit Read ahead sectors 0 Итак, стеклянная банка возникла, и нам даже известен ее Block device 253:2 точный объем (1 Гбайт). Если у вас есть еще свободные дис- ки, их можно проинициализировать таким же образом. Но у Теперь нам все про них известно: и где размещаются, и как нас подобной возможности нет, поэтому давайте просто по- выглядят, и каков объем. Не будем останавливаться отдельно ложим банку в авоську и прицепим к авоське бирку с надпи- на каждом параметре, значения их всех весьма прозрачны. Не сью «test», чтобы не потерять: откладывая дело в долгий ящик, создадим в уже готовом раз- деле файловую систему: vgcreate test /dev/hde Volume group "test" successfully created mkfs.reiserfs /dev/test/stor

| Создание LV | Как вы увидите из вывода mkfs, такой элемент для системы Теперь приподнимем авоську и посмотрим, что у нас в итоге абсолютно ничем не отличается от обычного дискового уст- получилось. Или, говоря правильными словами, активизиру- ройства. Теперь создадим временную точку монтирования ем LV для нашей системы: для нового устройства, после чего скопируем все данные со старого диска на новый: vgchange -a y test 0 logical volume(s) in volume group "test" now active mkdir /newtest mount /dev/test/stor /newtest Cистема сообщила, что она видит все кроме шариков. Банка cd /test пуста. Давайте исправим этот недостаток: cp -R * /newtest cd lvcreate -L768 -nstor test umount /newtest Logical volume "stor" created Дождемся момента, когда /test никому не будет нужен, и В данном примере мы создали LV размером 768 Мбайт и да- перемонтируем каталог /test на новое устройство: ли ему название «stor» (поместили шарик в банку и чуть-чуть накачали). Давайте посмотрим более внимательно, что у нас umount /test получилось. Сначала изучим банку: mount /dev/test/stor /test rmdir /newtest pvdisplay /dev/hde Physical volume Посмотрим, что получилось: PV Name /dev/hde VG Name test mount | grep test && df -h | grep test PV Size 976.00 MB / not usable 0 /dev/mapper/test-stor on /test type reiserfs (rw) Allocatable yes /dev/mapper/test-stor PE Size (KByte) 4096 768M 269M 500M 35% /test

1/2005 LINUX| CHIP 54 advanced Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

| Увеличение LV | vgdisplay test | grep Free Вроде все так, как мы и предполагали. В каталоге /test появи- Free PE / Size 61 / 244.00 MB лось свободное место, что нам и требовалось получить. Но вот наличие ничем не занятого пространства на диске (диск 1 Гбайт, lvextend -L+244 /dev/test/stor а мы заняли 768 Мбайт) ничем не обосновано. Ведь изначально /dev/hde1: open failed: No such device or address в планировалось создать там еще один LV, но ситуация измени- Extending logical volume stor to 1.19 GB лась, и лишние 300 Мбайт остались свободными. Имея дело с Logical volume stor successfully resized обычными разделами, мы бы опять ломали голову, как и куда можно пристроить лишний объем. В случае же с LVM поступим resize_reiserfs -f /dev/test/stor немного иначе. Для начала выясним, сколько раз надо двинуть resize_reiserfs 3.6.18 (2003 www.namesys.com) поршнем насоса, чтобы шарик полностью заполнил банку: resize_reiserfs: On-line resizing finished successfully.

vgdisplay test | grep Free df -h | grep test Free PE / Size 52 / 208.00 MB /dev/mapper/test-stor 1.2G 269M 952M 22% /test Видно, что 208 Мбайт свободны. Теперь увеличиваем размер LV на это количество свободных мегабайт: | Уменьшение LV и замена одного из PV | Таким образом, мы объединили пространство двух дисков, не lvextend -L+208M /dev/test/stor растеряв в процессе ни одного мегабайта. Но, как нам всем Extending logical volume stor to 976.00 MB отлично известно, жизнь не стоит на месте и постоянно дви- Logical volume stor successfully resized жется вперед. Так же и в нашей ситуации: вдруг появляется большой и хороший жесткий диск, которым можно было бы Затем командуем файловой системе занять все свободное заменить один из уже используемых в системе. На роль жерт- место и наслаждаемся полученным результатом: вы нами был выбран /dev/sda. К сожалению, чтобы освободить диск, необходимо убрать resize_reiserfs -f /dev/test/stor с него LV (чтобы выкинуть банку, надо вынуть шарики из resize_reiserfs 3.6.18 (2003 www.namesys.com) нее). А ведь LV полностью занят файловой системой. Значит, resize_reiserfs: On-line resizing finished successfully. надо уменьшить объем раздела. К сожалению, такие опера- ции возможны только на несмонтированных файловых сис- df -h | grep test темах, да и то не на всех: /dev/mapper/test-stor 976M 269M 708M 28% /test umount /test

Как видите, мы смогли спокойно увеличить размер катало- resize_reiserfs -s-300M /dev/test/stor га, не прерывая работы программ и вообще ничего не трогая. resize_reiserfs: Resizing finished successfully. Правда, с EXT2/EXT3 пока что подобные трюки проводить ри- скованно, и разделы, использующие эту файловую систему, не- mount /dev/test/stor /test обходимо предварительно размонтировать. df -h|grep test | Создание нового PV и объединение /dev/mapper/test-stor двух PV в один VG | 920M 269M 652M 30% /test Мы поставили новый диск, смогли увеличить его доступный объем на лету, однако и старый диск вполне может еще послу- Размер раздела уменьшился. Теперь уменьшаем размер LV жить. Давайте попробуем задействовать и его объем. Создадим (выпускаем воздух из шариков). Лучше всего производить все на старом диске PV (достаем новую банку): манипуляции на отключенном разделе, но в крайнем случае можно сделать это и на лету. Только не забудьте создать ре- pvcreate /dev/sda зервную копию критически важных данных и проверить за- Physical volume "/dev/sda" successfully created пас энергии в аккумуляторах UPS:

Добавим PV в VG (кладем банку в авоську): lvreduce -L-300M /dev/test/stor WARNING: Reducing active and open logical volume to 920.00 MB vgextend test /dev/sda THIS MAY DESTROY YOUR DATA (filesystem etc.) Volume group "test" successfully extended Do you really want to reduce stor? [y/n]: y Reducing logical volume stor to 920.00 MB И дальше идем уже проверенным путем: Logical volume stor successfully resized

CHIP| LINUX 1/2005 ÛÔ‡‚ÎÂÌË ‰ËÒÍÓ‚˚ÏË ÂÒÛÒ‡ÏË 55

Теперь выводим диск из обращения (перекладываем шарики Found volume group "test" в другие банки и выкидываем ненужную): Removing temporary pvmove LV Writing out final volume group after pvmove vgreduce -v test /dev/sda Creating volume group backup "/etc/LVM/backup/test" Finding volume group "test" Using physical volume(s) on command line Теперь мы можем окончательно удалить диск из VG: Archiving volume group "test" metadata. Removing "/dev/sda" from volume group "test" vgreduce test /dev/hde Creating volume group backup "/etc/LVM/backup/test" Removed "/dev/hde" from volume group "test" Removed "/dev/sda" from volume group "test" Не правда ли, здорово? Наши данные сменили место жи- На самом деле все так легко получилось благодаря тому, что тельства три раза, и столько же раз изменялся размер раздела. никаких файлов на /dev/sda физически не оказалось. В реаль- И все это время (не считая того момента, когда мы уменьшали ной ситуации (которая описывается ниже) необходимо вос- раздел) они были доступны для использования. | пользоваться pvmove. Итак, еще раз проверяем, что все в по- рядке и диск больше ничем не занят: Дополнительные возможности

pvscan | grep sda ëÓÁ‰‡ÌË ÂÁÂ‚Ì˚ı ÍÓÔËÈ PV /dev/sda LVM2 [244.00 MB] Однако на этом возможности Теперь мы можем спокойно LVM не заканчиваются. Рас- создать (если ее еще нет) точ- Как и ожидалось, он полностью пустой. Вынимаем и заме- смотрим процесс создания ку монтирования и приступить резервных копий данных. няем его новым, повторяя уже описанные операции. Теперь же к выполнению резервного В современных системах копирования раздела, совер- мы перенесем на новый диск вообще все данные: очень редко можно найти шенно не опасаясь получить промежуток времени, удов- в итоговой копии не те файлы: pvcreate /dev/sda летворяющий двум условиям: Physical volume "/dev/sda" successfully created его должно хватить для про- mkdir /storbackup ведения резервного копиро- mount /dev/test/storbackup vgextend test /dev/sda вания, и к тому же резерви- /storbackup/ Volume group "test" successfully extended руемые файлы не должны изменяться. К примеру, на После этого давайте проверим, lvextend -L+2G /dev/test/stor веб-серверах такими «нехо- коснутся ли созданной копии рошими» являются файлы, раздела изменения на диске: Extending logical volume stor to 2.90 GB куда записываются данные Logical volume stor successfully resized о посещениях сайта. С помо- ls /storbackup/ щью LVM вполне можно уб- lost+found Photo У нас появилось много свободного места. Скомандуем пере- рать второе условие. нести все данные с /dev/hde на другие диски, входящие в VG: Для начала создадим специ- mkdir /test/testsnap альный LV, который зафик- pvmove -v /dev/hde сирует состояние нужного ls /storbackup/ Finding volume group "test" нам раздела, или, говоря lost+found Photo Archiving volume group "test" metadata. терминами LVM, создаст снапшот. Размер, который Очевидно, что тот раздел, Creating logical volume pvmove0 мы указываем при создании с которого происходит бэкап, Moving 244 extents of logical volume test/stor LV, будет использован для совершенно не изменился. Found volume group "test" записи изменений на разде- Как только резервное копи- Updating volume group metadata ле, которые происходят во рование будет выполнено, Creating volume group backup "/etc/LVM/backup/test" время резервного копирова- можно спокойно удалять LV Found volume group "test" ния. Если вдруг за время ре- со снапшотом: Loading test-pvmove0 зервного копирования размер Found volume group "test" изменений превысит задан- umount /storbackup/ ный, то наш раздел со снап- Loading test-stor шотом просто отключится: lvremove /dev/test/storbackup Checking progress every 15 seconds Do you really want to remove Found volume group "test" lvcreate -L1000M -s -nstorback- active logical volume "stor- Loading test-pvmove0 up /dev/test/stor backup"? [y/n]: y Found volume group "test" Logical volume "storbackup" Logical volume "storbackup" Found volume group "test" created successfully removed Loading test-stor

1/2005 LINUX| CHIP 56 advanced ÂÁÂ‚ÌÓ ÍÓÔËÓ‚‡ÌËÂ

Александр Быков ...‡ ÒÎÛÊ·‡ ˉÂÚ

Жизнь часто преподносит нам сюрпризы, и по большей части неприятные. Один из наиболее ярких примеров — потеря информации, пусть даже не рабочих проектов, а ваших личных данных. Тех, с которыми связаны различные, порой самые теплые воспоминания.

Предотвратить катастрофу достаточно легко — нужно просто ды. Вторая указывает скрипту перейти в ту директорию, ко- периодически создавать копии нужных данных и переносить торая содержит все создаваемые архивы, и если таковые в их на какой-либо внешний накопитель. Единственная про- ней уже имеются — удалить их. Если угодно, можно изме- блема здесь заключается в том, что использовать специализи- нить структуру скрипта таким образом, чтобы предыдущий рованные программы для бэкапа при столь скромных задачах архив удалялся только после успешного завершения про- не совсем уместно. В основном из-за того, что бесплатные цедуры создания нового. Третья строка данного скрипта средства, как правило, не обладают достаточной функцио- указывает программе tar создать архив с именем, содержа- нальностью, а платные, если и обладают, то стоят весьма щим текущую дату. Однако имя архива можно менять с по- ощутимых денег. Но мы нашли решение, позволяющее доста- мощью различных ключей команды «date», полный список точно легко и быстро выполнять поставленные задачи, оста- которых откроется в консоли после ввода команды «date -- ваясь при этом бесплатным. Приступим. help». Данный архив включает все содержимое директории /home/user/work, за исключением тех поддиректорий, кото- | Реализация | рые описаны в файле exclude.conf. Последняя строка скрип- Переходим к написанию нужного нам скрипта. Его задача — та вызывает консольную утилиту gzip и с ее помощью упако- создать в определенной нами директории архив данных (с на- вывает архив, который был получен на предыдущем этапе. званием, содержащим сегодняшнюю дату), который будет со- стоять из заранее заданных директорий. Если требуется | Автоматизация | исключить какой-либо подкаталог из указанного каталога, В завершение несколько автоматизируем запуск нашего скрип- просто пропишите полный путь до него в файле с говорящим та для создания резервной копии. Например, мы хотим запус- названием exclude.conf. Сам скрипт можно напечатать в лю- кать его ежедневно, в пять часов утра. Для этого удобнее будет бом текстовом редакторе. Содержание должно быть при- воспользоваться планировщиком cron и от имени пользовате- мерно следующим, но может варьироваться в зависимости от ля, работающего с системой, дать следующую команду: ваших потребностей: crontab -e #!/bin/sh cd /home/user/backup && rm -f ./*.tar.gz В появившемся окне впишем следующую строку: tar -vcf up'date +%F'.tar /home/user/work --exclude- from=./exclude.conf 02 5 * * * /home/al/backup/backup.sh gzip -9 ./up'date +%F'.tar Для сохранения файла введем последовательность: Файл исключений exclude.conf может выглядеть так: :qw /home/user/work/no Теперь вы сможете хранить все документы в домашнем ка- В первой строке указывается командный интерпретатор, талоге, где они будут регулярно сохраняться в надежном мес- который будет обрабатывать все наши дальнейшие коман- те, занимая при этом минимум ресурсов. |

CHIP| LINUX 1/2005 58 advanced cËÌıÓÌËÁ‡ˆËfl

Александр Быков ëÂ‰ˆ‡ ·¸˛ÚÒfl ‚ ÛÌËÒÓÌ

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

Рано или поздно проблема синхронизации файлов двуx ди- низм работы с профилями, позволяющий создавать, удалять и ректорий встает перед каждым пользователем. Вне зависимо- редактировать ранее созданные файлы сценариев. сти от того, что именно необходимо синхронизировать (папку с обновлениями или, к примеру, документы между рабочей и | Что такое Unison | домашней машиной на тот случай, если вы вдруг захотите по- После столь амбициозного вступления самое время понемно- работать в выходные), решений может быть несколько. Пер- гу перейти к описанию пакета и рассмотрению тех возможно- вое, что приходит в голову любому человеку, — не изобретать стей, которые он может предоставить пользователю. На сай- велосипед и просто за пару минут скопировать изменившиеся те автора, а также в обширной документации к программе файлы. Но такой способ хорош только в том случае, если ди- можно найти описание различных режимов работы. Так, на- ректория содержит три-четыре файла. А если их там 2056? Как пример, сюда входит простейшая функция создания зеркала раз для таких случаев была создана утилита rsync, позволяю- файлов одной директории в другую, а еще возможность син- щая получать зеркало удаленной директории, добавлять в нее хронизации, если так можно выразиться, в обе стороны. То уже изменившиеся файлы и удалять старые, замененные но- есть новые файлы из первой директории могут быть опозна- выми и потому ставшие более неактуальными. ны программой и скопированы во вторую, а из нее, соответ- Все бы ничего, но у rsync, помимо ее многочисленных плю- ственно, точно таким же образом в первую. Кроме того, здесь сов, связанных в основном с функциональной частью ути- предусмотрена возможность контроля версий копируемых литы, есть определенные минусы, заключающиеся в удобстве документов, что существенно облегчает задачу поиска изме- использования программы. Во-первых, не предусмотрено ни- нившихся файлов — программе достаточно лишь сравнить какого, пусть даже самого простого, графического интерфейса, текущее состояние директории с тем, какой она была на мо- что весьма серьезно усложняет знакомство с приложением всех мент предыдущего запуска. К тому же автор не забыл о такой начинающих пользователей. Во-вторых, rsync просто-напросто немаловажной характеристике подобных программ как алго- не поддерживает возможности использования заранее создан- ритм для снижения потребляемого трафика и возможность ных пользователем конфигураций, разве что только вы будете построения защищенных туннелей посредством протокола встраивать ее в определенный скрипт и вызывать команду со SSH. Правда, сам автор пакета не стал забивать себе голову всеми параметрами именно из него. Исправить ситуацию был изобретением того, что уже создано, а просто позаимствовал призван проект Unison, представляющий собой несколько пе- этот самый алгоритм у rsync. Может быть, оно и к лучшему. реработанную реализацию rsync, имеющий в своем активе как Ведь то, что сейчас имеет rsync, прошло через такое невооб- текстовый, так и довольно простой, но оттого не менее удоб- разимое число тестеров всего мира, что сделать что-то лучше, ный графический интерфейс, а кроме того — грамотный меха- чем-то, что на данный момент уже есть, достаточно сложно.

CHIP| LINUX 1/2005 ‡·ÓÚ‡ Ò ÔÓ„‡ÏÏÓÈ Unison 59

ì͇ÊÂÏ ËÒıÓ‰- ручному редактированию создаваемых программой профилей, ÌÛ˛ ‰ËÂÍÚÓ- найти которые можно в директории /.unison, располагающейся ˲ ‰Îfl ÒËÌ- в домашнем каталоге того пользователя, от имени которого ıÓÌËÁ‡ˆËË осуществлялся запуск программы. Для начала несколько изме- ним базовый файл конфигурации программы — default.prf:

# Unison preferences file backup = Name * maxbackups = 10 log = true logfile = /home/user/.unison/unison.log rshargs = -C

ì͇ÊÂÏ ÍÓ̘ÌÛ˛ ‰ËÂÍÚÓ˲ ‰Îfl ÒËÌıÓÌËÁ‡ˆËË В нем нужно определить имена создаваемых архивов, их максимальное количество, а также не забыть указать програм- ме, куда необходимо записывать все сообщения о возникаю- | Как работать с программой | щих на момент работы ошибках. В завершение настройки со- Для начала зайдем на официальную страницу разработчика, здадим профиль, в котором попросим программу осуществлять которая располагается по следующему адресу: www.cis.upenn. синхронизацию всех файлов из директории /home/user, поми- edu/~bcpierce/unison/download/stable/latest. Из всех пред- мо тех, что указаны в списках исключений, например: ставленных файлов нам понадобится только один — с именем unison.linux-gtkui. Скачаем его, а затем дадим команду: # Unison preferences file root = /home/user chmod +x ./unison.linux-gtkui root = ssh://server.ru/home/user2 ignore = Name *.mp3 Теперь можно запустить приложение: ignore = Path .unison include default ./unison.linux-gtkui Строками «ignore» определяются пути к директориям и мас- Создадим новый профиль. В появившемся окне введем ки файлов, которые программа синхронизировать не должна. путь к директории на локальной машине, которую мы хотим В нашем случае — коллекция музыки и папка с настройками синхронизировать. В следующем окне пропишем путь к пап- программы. Последней строкой указывается, применять ли к ке на удаленной машине, а также при необходимости укажем данному профилю параметры, указанные в файле настройки логин и пароль для доступа к ней. Теперь, чтобы осуществить default.prf, или же использовать установленные по умолчанию. синхронизацию между двумя указанными директориями, нам понадобится нажать на клавишу «Restart», которая за- | Выводы | фиксирует произошедшие в папках изменения, после чего Если вам захочется более подробно узнать о возможностях нажать «Go» для осуществления непосредственно синхрони- программы, а также синтаксисе профилей, вы можете найти зации новых или изменившихся данных. их в официальной справке: www.cis.upenn.edu/~bcpierce/unison/ Как видите, возможности по настройке программы через download/stable/latest/unison-manual.html. Документ содер- графический интерфейс весьма ограничены. Оно и понятно, жит не только общие правила работы, но и множество приме- ведь изначально программа планировалась для использования ров решения тех или иных повседневных задач. | исключительно в виде консольного приложения. Соответст- венно, чтобы настроить ее более тонко, нам надо обратиться к

èÂ‰ ̇˜‡ÎÓÏ ‡·ÓÚ˚ Ò ÔÓ„‡ÏÏÓÈ ÌÂÓ·ıÓ‰ËÏÓ ‚˚·‡Ú¸ ÚÓÚ ÔÓÙËθ, ÍÓÚÓ˚È ·˚ ‚˚ ıÓÚÂÎË ËÒÔÓθÁÓ‚‡Ú¸

èË ÔÓfl‚ÎÂÌËË ÌÓ‚˚ı Ù‡ÈÎÓ‚ ·Û‰ÂÚ ÔÓËÁ‚‰Â̇ ÒËÌıÓÌËÁ‡ˆËfl

1/2005 LINUX| CHIP 60 advanced Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

Максим Сухомлин å‡¯ÛÚ — àÌÚÂÌÂÚ

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

Linux – универсальная операционная система. На основе прак- DEVICE = имя физического сетевого устройства тически любого дистрибутива можно создать полноценный IPADDR = IP-адрес сетевой сервер. В этой статье мы рассмотрим построение мар- NETMASK = маска сети шрутизатора для небольшой сети на базе компьютера с уста- NETWORK = IP-адрес подсети новленным дистрибутивом Fedora Core 3. Сервер будет осу- BROADCAST = широковещательный IP-адрес ществлять передачу данных из внутренней сети в Интернет и с ONBOOT = будет ли интерфейс активным во время загрузки помощью NAT транслировать сетевые адреса. Для этого нам BOOTPROTO = переменная может принимать значения: потребуется компьютер с процессором не ниже Pentium MMX, «none» — не использовать протокол во время загрузки 64 Мбайт оперативной памяти, не менее 3 Гбайт дискового про- «bootp» — использовать протокол BOOTP странства, один или два адаптера передачи данных и, конечно, «dhcp» — использовать протокол DHCP доступ в Интернет. Адаптеры могут быть самыми различ- USERCTL = может принимать одно из значений: ными, начиная от стандартных сетевых плат и заканчивая ADSL- «yes» — любой пользователь может контролировать устройство модемами с интерфейсом USB. Для того чтобы маршрутизатор «no» — только root может контролировать устройство заработал, необходимо правильно указать все сетевые реквизиты, то есть прописать IP-адреса или настроить компьютер таким Базовые конфигурационные файлы сети: /etc/hostname, в ко- образом, чтобы он получил IP-адрес автоматически. тором хранится доменное имя вашего компьютера, например my.domain.ru, а также /etc/resolv.conf — файл, используемый ре- | Поднимаем сетевые интерфейсы | золвером для определения IP-адреса ресурса по его имени. Для настройки сетевых плат выберем в меню пункт «Приложе- Данный файл, как правило, выглядит следующим образом: ния p Система p Мастер подключения к Интернету» либо «Управление устройствами сети». Подразумевается, что ис- order bind,hosts — поиск имени сперва через DNS, а затем пользуемые сетевые платы поддерживаются системой. в файле /etc/hosts Выбрав пункт «Настроить», мы попадем в раздел, где отоб- «multi on» — у нас машины с несколькими сетевыми адресами ражаются обнаруженные сетевые интерфейсы. Отметив нуж- «nospoof on» — проверять подмену IP-адресов (IP spoofing) ный и нажав на кнопку «Изменить», перейдем непосредствен- но в меню настройки сетевых плат. Здесь задается IP-адрес, Теперь рассмотрим строение файла /etc/hostname: маска сети и адрес шлюза. То есть, настраивается статический маршрут, если подключение к другим сетям осуществляется search domain.ru через сетевую плату. Если же доступ происходит через модем, «nameserver» — любой IP-адрес, на котором настроен DNS сетевые реквизиты мы получим автоматически при подключе- и к которому есть доступ нии к удаленному хосту. Конфигурационный файл для каждого сетевого устройства Опция «order» применяется для определения порядка ис- находится в каталоге /etc/sysconfig/network-scripts и называет- пользования сервисов. В примере установлено, что вначале ре- ся ifcfg-eth0 — для первого интерфейса, ifcfg-eth1 — для второ- золвер обращается к DNS-серверу, а затем к файлу /etc/hosts. го и т. д. Если вы хотите модифицировать сетевые адреса вруч- Опция «multi» говорит, что компьютеры, описанные в файле ную или добавить еще одно устройство на новом интерфейсе, /etc/hosts, могут иметь не один адрес, а несколько (соответст- потребуется изменить некоторые строки в этих файлах: венно, и несколько сетевых интерфейсов). Например, шлюз

CHIP| LINUX 1/2005 ̇ÒÚÓÈ͇ χ¯ÛÚËÁ‡ÚÓ‡ 61

всегда имеет несколько адресов, и у него эта опция должна мы будем звонить, название учетной записи, логин и пароль для быть всегда установлена в положение «ON». Опция «nospoof» входа в Интернет или удаленную сеть. После ввода данных в сис- предписывает не разрешать подмену адресов. «IP spoofing» — тему будет добавлено устройство, обозначенное как «Modem». это способ атаки, при котором удаленный компьютер пред- В этом же меню выберем вкладку «Оборудование». Здесь мож- ставляется тем, чем он не является на самом деле. Теперь но произвести настройки модема: установить порт (для COM1 в включим возможность пересылки пакетов. Для этого отредак- Unix-системах принято обозначение ttyS0), выбрать тональный тируем файл /etc/sysconfig/network: или пульсовый набор номера, определить скорость порта (по умолчанию 115 200 кбит/с), громкость динамика и тип управле- FORWARD_IPV4 = yes ния потоком данных (по умолчанию — аппаратный). Все данные настройки модема можно изменить, зайдя в меню «Приложе- А также /etc/sysctl.conf: ния p Система p Управление устройствами сети». Выберите пункт «Изменить». На закладках этого диалогового окна можно net.ipv4.ip_forward = 1 настроить необходимые параметры модема. Укажите адрес сер- вера DNS и, если это необходимо, задайте для модема установку Чтобы изменения вступили в силу, необходимо перезагру- соединения сразу при включении компьютера. На вкладке зить сетевой сервис следующим образом: «Маршрут» можно добавить статический маршрут. Раздел меню «Провайдер» дает возможность изменить данные учетной записи /etc/rc.d/init.d/network restart (логин, пароль, номер телефона). В пункте «Дополнительно» на- страиваются свойства программы для дозвона. Просмотрим информацию о сетевых интерфейсах: | Первый звонок | ifconfig Дозвон можно осуществить несколькими способами. Самый lo Link encap:Local Loopback простой путь — сделать это через графический интерфейс. В ме- inet addr:127.0.0.1 Mask:255.0.0.0 ню «Настройка сети» нужно выделить необходимое устройство и inet6 addr: ::1/128 Scope:Host нажать кнопку «Активировать». Если модем настроен правильно, UP LOOPBACK RUNNING MTU:16436 Metric:1 то он сразу станет звонить по указанному номеру. Утилита, отве- RX packets:1667 errors:0 dropped:0 overruns:0 frame:0 чающая за дозвон, называется WvDial. Ее конфигурационный TX packets:1667 errors:0 dropped:0 overruns:0 carrier:0 файл — /etc/wvdial.conf. В нем уже записаны все настройки, кото- рые мы проделали через вышеописанные разделы меню. | Настройка модемного соединения | Второй вариант — использовать для дозвона демон pppd. Для подключения модема воспользуемся «Мастером подключе- Для этого потребуется немного отредактировать файл /etc/ppp/ ния к Интернету». Выберем подключение обычного модема. Си- options, поместив в него следующие строки: стема попробует самостоятельно определить устройство, после чего необходимо будет задать основные настройки: номер теле- modem фона (если вы звоните через офисную АТС, то перед номером не crtscts забудьте указать код выхода на городскую линию), по которому asyncmap 0

«å‡ÒÚÂ ÔÓ‰Íβ˜ÂÌËfl Í àÌÚÂÌÂÚÛ» ÔÓÏÓÊÂÚ ‚‡Ï ̇ÒÚÓËÚ¸ ç‡ÒÚÓÈ͇, ‡ÍÚË‚‡ˆËfl Ë ‰Â‡ÍÚË‚‡ˆËfl ÒÂÚ‚ÓÈ Ô·Ú˚, β·ÓÈ ÚËÔ ÒÓ‰ËÌÂÌËfl Ò ÔÓÏÓ˘¸˛ ÌÂÒÍÓθÍËı ÍÎËÍÓ‚ Ï˚¯¸˛ ÔÓËÁ‚Ó‰fl˘ËÂÒfl ‚ „‡Ù˘ÂÒÍÓÏ ÂÊËÏÂ

1/2005 LINUX| CHIP 62 advanced Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

ÖÒÎË ÔÓ‚‡È‰Â Ì Ò̇·Ê‡ÂÚ ÒÂÚ‚˚ÏË Ì‡ÒÚÓÈ͇ÏË ‡‚ÚÓχÚË- ÖÒÎË ‰ÓÁ‚ÓÌ ÔÓËÒıÓ‰ËÚ ˜ÂÂÁ ÓÙËÒÌÛ˛ Äíë, ‚ Â„Ó Ì‡ÒÚÓÈ͇ı ˜ÂÒÍË, ÌÂÓ·ıÓ‰ËÏÓ ÔÓÔËÒ‡Ú¸ ÒÚ‡Ú˘ÂÒÍËÈ IP-‡‰ÂÒ Ì‡‰Ó Û͇Á‡Ú¸ ÔÂÙËÍÒ ‚˚ıÓ‰‡ ̇ „ÓÓ‰ÒÍÛ˛ ÎËÌ˲

Команда для запуска pppd: те. На этом настройку доступа в Интернет через модем можно считать завершенной, однако давайте рассмотрим еще не- pppd ttyS0 57600 lock connect 'chat -V -f /etc/ppp/ISP1' сколько возможностей подключения к сети. defaultroute noipdefault debug nodetach | Настройка пакетного фильтра | Теперь мы создадим скрипт, в котором будут прописаны ос- Итак, тем или иным способом мы подключились к сети, мар- новные настройки с данными для программы chat (номер теле- шрутизация включена, теперь можно приступать к работе. фона, логин, пароль и т. д.), и назовем его /etc/ppp/ISP1: Но если вам предоставлен только один реальный IP-адрес для интерфейса, через который вы соединились с Интер- ABORT "ERROR" — напротив ABORT строка, получив кото- нетом, то о какой маршрутизации может идти речь? Решить рую, chat завершит работу эту проблему можно либо при помощи сервиса NAT, либо ABORT "NO DIALTONE" обычного прокси-сервера. Далее мы рассмотрим настройку TIMEOUT 5 с помощью обоих этих способов. «» «AT» — символы «» означают, что от модема ничего ждать На данный момент Fedora Core обладает мощным средством не стоит и нужно сразу посылать ему команду AT обработки сетевых данных — пакетным фильтром iptables. Но- «OK» «ATZ» — сбрасываем настройки модема мер версии программы на нашем компьютере был 1.2.11. «OK» «ATS7 = 120» — указываем модему, сколько времени Данный фильтр включен в ядро системы, поэтому пере- ждать соединения компилировать его не придется. С помощью iptables можно ABORT «BUSY» настроить трансляцию адресов, обеспечить безопасность ABORT «NO ANSWER» сервера со стороны Интернета, а также ограничить доступ к ABORT «NO CARRIER» машине из внутренней сети. Проверить версию и работу ABORT «Login Incorrect» фильтра можно командой: «OK» «ATDP(9)1234567» — номер телефона, по которому осуществляется дозвон iptables -V TIMEOUT 125 «CONNECT» «\c» — после получения строки «CONNECT» Сетевой пакет проходит через любой интерфейс (даже че- мы уменьшаем время ожидания до 30 секунд; строка «\c» го- рез работающий по умолчанию loopback), ядро проверяет ворит, что в модем посылать ничего не нужно и можно сразу этот пакет по определенным правилам: «ACCEPT» — позво- же приступить к проверке логина и пароля ляет пройти пакету, «DROP» — не позволяет, «REJECT» — па- TIMEOUT 30 кет отбрасывается. Кроме того, он может быть отправлен че- «login» «maksim» рез существующие цепочки правил. Для управления этими «password» «1234567» самыми правилами используется одноименная программа «}» «\c» — убираем с экрана ненужные символы iptables, которая устанавливается на всех системах по умолча- нию. Все правила обработки пакетов хранятся в памяти После дозвона мы можем проверить соединение, набрав ко- до перезагрузки системы. Чтобы сохранить выполненные са- манду ifconfig и посмотрев, есть ли в списке устройство «ppp0», мостоятельно настройки «iptables», необходимо записать их в или же просто отдав команду «ping» на любой хост в Интерне- файл, которым изначально является /etc/rc.d/rc.firewall. Ак-

CHIP| LINUX 1/2005 ̇ÒÚÓÈ͇ χ¯ÛÚËÁ‡ÚÓ‡ 63

тивация данного скрипта может выполняться как вручную, --sport так и добавляться в автозапуски системы. Не забудьте дать -s файлу права на выполнение: -d -i — только для INPUT chmod 744 /etc/rc.d/rc.firewall --icmp-type — для icmp

Обновленную таблицу iptables можно просмотреть в окне | Составление правил | терминала с помощью следующей команды: Теперь мы можем создать собственные правила, удовлетворяю- щие следующим условиям: iptables -L 3 Пакеты локального интерфейса будут выходить в сеть без ог- раничений. Существуют три основные цепочки правил. «INPUT» — для 3 Большинство входящих соединений (на основную часть пор- входящих пакетов, «OUTPUT» — для исходящих, «FOR- тов) будут закрыты. WARD» — для пакетов, проходящих через данную машину к 3 Порты, необходимые для работы FTP (21) и DNS (53). другой. Если пакет не удовлетворяет условиям цепочки Создадим файл rc.firewall и отредактируем его: («ACCEPT»), он попадает в следующую («REJECT»), а потом еще в одну («DROP»). Если же пакет не попал ни под одно из #!/bin/sh вышеописанных правил в определенной цепочке, он отбра- # Опишем интерфейс выхода в сеть (если модем — то ppp0; сывается или же останавливается в любом случае. Для того если сеть — то eth0) чтобы просмотреть существующие на данный момент цепоч- INET_IFACE = "eth0" ки, введем необходимую команду: # На всякий случай укажем полный путь к iptables IPTABLES = "/sbin/iptables" iptables -P # Включаем действия по умолчанию для стандартных цепочек правил Для создания новой цепочки понадобится команда: $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT iptables -N $IPTABLES -P FORWARD DROP # Удаляем все правила, если они есть Для добавления правила в цепочку введем строку: $IPTABLES -F $IPTABLES -X iptables -A -j # Создаем наши правила, для того чтобы обезопасить работу с сетью Также можно задать следующие условия: # Отбрасываем TCP с неправильными флагами $IPTABLES -N bad_tcp_packets -p # TCP, прошедшие основную проверку --dport $IPTABLES -N allowed

ÑÓÁ‚‡ÌË‚‡Ú¸Òfl ÏÓÊÌÓ Ò ÔÓÏÓ˘¸˛ ‚ÒÚÓÂÌÌ˚ı Ò‰ÒÚ‚ GNOME, Ç ‡Ò¯ËÂÌÌÓÏ ‰Ë‡Îӄ ̇ÒÚÓÂÍ ÏÓ‰Âχ ÏÓÊÌÓ ‚˚·‡Ú¸ ÏÂÚÓ‰ ÔÓÒÚÓ ‡ÍÚË‚ËÓ‚‡‚ ÛÒÚÓÈÒÚ‚Ó «Modem» ÒʇÚËfl, ‚‚ÂÒÚË ËÌˈˇÎËÁ‡ˆËÓÌÌÛ˛ ÒÚÓÍÛ Ë ÂÍ‚ËÁËÚ˚ ÔÓ‚‡È‰Â‡

1/2005 LINUX| CHIP 64 advanced Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

äÓχ̉̇fl ÒÚÓ͇ — Û‰Ó·ÌÓ Ò‰ÒÚ‚Ó ÔÓÒÏÓÚ‡ Ô‡‡ÏÂÚÓ‚ ç‡ÒÚÓËÚ¸ ADSL-ÏÓ‰ÂÏ Ò ÔÓÏÓ˘¸˛ ÔÓ¯‡„Ó‚Ó„Ó Ï‡ÒÚÂ‡ Ì˘ÛÚ¸ ÒÂÚ‚˚ı ËÌÚÂÙÂÈÒÓ‚ Ë ÚÂÒÚËÓ‚‡ÌËfl ÒÓ‰ËÌÂÌËfl Ì ÒÎÓÊÌÂÂ, ˜ÂÏ ÒÂÚÂ‚Û˛ Ô·ÚÛ

# Пакеты основных протоколов | NAT и masquerade | $IPTABLES -N tcp_packets Маскарад (masquerade) и трансляция адресов (NAT) в мире $IPTABLES -N udp_packets Linux не являются синонимами. Маскарад — замена адреса на- $IPTABLES -N icmp_packets шей машины на адрес сервера, выполняющего маскарадинг. #Разрешаем прохождение пакетов для локального интерфейса Трансляция адресов — замена адреса на любой указанный. Как $IPTABLES -A INPUT -i lo -j ACCEPT же работает маскарад? Наш пакет (например, на www.ru) про- $IPTABLES -A OUTPUT -o lo -j ACCEPT ходит через сервер, и в нем адрес источника меняется на адрес # Защищаемся от DOS- и SYN-атак сервера (123.123.123.123). Пакет приходит на www.ru, и хост от- $IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK вечает по адресу пакета (123.123.123.123). Так как наш сервер SYN,ACK -m state --state NEW -j DROP запомнил, что пакет для www.ru посылали мы, то он принимает # Пропускаем пакеты уже установленных соединений пакет и отдает его нашему компьютеру. Вот и все, пакет ушел и $IPTABLES -A allowed -p TCP --syn -j ACCEPT вернулся. Включим маскарад в iptables, это очень просто: $IPTABLES -A allowed -p TCP -m state --state ESTAB- LISHED,RELATED -j ACCEPT iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT # А все остальные из этой цепочки сбрасываем $IPTABLES -A allowed -j DROP Данной командой мы разрешили прохождение пакетов меж- # Здесь можно открыть некоторые порты, так как по умолча- ду сетевыми интерфейсами из локальной сети 192.168.1.0/24. нию мы закрыли все # Открываем 21-й порт для FTP iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed # Открываем 53-й порт для DNS Эта команда разрешает прохождение пакетов между сетевыми $IPTABLES -A udp_packets -p UDP -s 0/0 --sport 53 -j интерфейсами в локальную сеть 192.168.1.0/24. Таким образом, с ACCEPT помощью последней включим маскарад для сети 192.168.1.0/24. # Отбрасываем пакеты ICMP $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 3 -j iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 ACCEPT $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp- -j MASQUERADE type 11 -j ACCEPT $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 12 -j ACCEPT Теперь необходимо проверить, включена ли маршрутиза- # Далее для нашего же удобства проводим проверку по всем ция в ядре? протоколам отдельно $IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state -- cat /proc/sys/net/ipv4/ip_forward state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets Если на выходе получено значение «1», все в порядке. Если $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets «0» — нужно включить маршрутизацию следующей командой: $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets echo 1 >/proc/sys/net/ipv4/ip_forward

CHIP| LINUX 1/2005 ̇ÒÚÓÈ͇ χ¯ÛÚËÁ‡ÚÓ‡ 65

NAT работает так: наш пакет, отправленный на www.ru, прохо- --enable-useragent-log — включить запись сведений о браузере дит через сервер, и в нем адрес источника меняется на указанный. пользователя в лог Пакет приходит на www.ru, и хост отвечает по адресу в пакете --enable-err-language = lang — включить функцию вывода (123.123.123.123). Затем пакет приходит на наш сервер, и проис- ошибок на родном языке ходит обратная замена. NAT включается в iptables вот так: Далее компилируем и устанавливаем программу: iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT make && make install iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to-source 123.123.123.123 Теперь приступаем к непосредственной настройке сервера, отредактировав файл /usr/local/etc/squid.conf: Для облегчения работы с iptables написано несколько графи- ческих приложений, которые при наличии среды Xwindow помо- http_port 3128 — задаем порт (по умолчанию 3128). гают управлять пакетным фильтром. Firewall Builder позволяет cache_mem 20 MB — сколько оперативной памяти Squid управлять цепочками правил для различных пакетных фильтров, может забрать под свои нужды в том числе и для iptables. Найти ее можно здесь: fwbuilder.sf.net. cache_dir /usr/local/squid/cache 500 16 256 — указывает Squid, где сохранять кешируемые файлы, указывает отдать | Настройка Squid | под кеш 500 Мбайт и создать 16 и 256 каталогов 1-го и 2-го Вполне возможна ситуация, когда через роутер вам потребуется уровня соответственно. Не забудем также выставить права получить доступ только к веб-страницам. Причем доступ нужно пользователя, под именем которого у нас будет работать Squid организовывать на основе пользовательских прав, вплоть до того, cache_access_log /usr/local/squid/logs/access.log чтобы раздавать ограничения пользователям одного домена или cache_log /usr/local/squid/logs/cache.log определять доступность тех или иных сайтов. А если необходимо cache_store_log /usr/local/squid/logs/store.log получать статистику посещений веб-ресурсов? В таком случае acl net src 192.168.1.0/255.255.255.0 для этих и многих других целей прекрасно подойдет прокси- acl all src 0.0.0.0/0.0.0.0 сервер, например Squid. Некоторые функции программы необхо- acl net src 192.168.1.0/255.255.255.0 димо обозначить на этапе компиляции. Скачаем исходные текс- http_access allow net ты последней стабильной версии Squid с официального сайта http_access deny all разработчиков www.squid-cache.org и приступим к установке: Запускать Squid первый раз надо с параметром создания tar -zxvf squid-2.5.STABLE5.tar.gz кеша, используя ключ -z: cd ./squid-2.5.STABLE5 ./configure /usr/local/squid/bin/squid -z

При конфигурации полезно указать следующие опции: Теперь, после всех проделанных манипуляций, выход в Ин- тернет в нашей сети происходит через прозрачный прокси- --prefix = PREFIX — прописать нужный путь для установки сервер. Самое главное — не забыть указать Linux запускать --enable-delay-pools — ограничить полосы пропускания Squid при каждом перезапуске системы. |

íÂ, ÍÚÓ Ô‰ÔÓ˜ËÚ‡ÂÚ „‡Ù˘ÂÒÍÛ˛ Ó·ÓÎÓ˜ÍÛ, ÏÓ„ÛÚ Ì‡ÒÚ‡Ë‚‡Ú¸ ë ÔÓÏÓ˘¸˛ Ëϲ˘ÂÈ ‚·-ËÌÚÂÙÂÈÒ ÔÓ„‡ÏÏ˚ Bifrost ̇ÒÚ‡Ë- Ô‡‚Ë· ‰Îfl firewall Ò ÔÓÏÓ˘¸˛ ÔÓ„‡ÏÏ˚ Firewall Builder ‚‡Ú¸ ·‡Ì‰Ï‡Û˝ ÏÓÊÌÓ ‰‡Ê ۉ‡ÎÂÌÌÓ

1/2005 LINUX| CHIP 66 advanced Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

Вячеслав Калошин èÓ‰ „ËÙÓÏ «ÒÂÍÂÚÌÓ»

Вы хотите иметь собственный почтовый сервер и не хотите, чтобы вашу корреспонденцию могли читать посторонние? А, может быть, вам нужно точно знать подлинность личности отправителя? Помочь в решении этих вопросов, а также предоставить базис для дальнейшего развития почтового сервера способна связка программ Postfix и Courier-IMAP.

Данная статья обобщает опыт, полученный за время, прошед- Linux. Так же я старался соблюсти идеологию этих дистри- шее с написания предыдущих вариантов ISPMail-HOWTO. Уже бутивов, а это означает, что никаких программ, установ- сменилось много дистрибутивов, сменились программы, но ленных в обход системы управления пакетами RPM, здесь потребность в собственном почтовом сервере осталась. При описываться не будет. этом к нему предъявляются следующие требования: И последнее напоминание: в этой статье вы не найдете поша- 3 почтовые пользователи никак не должны пересекаться с сис- гового описания всех действий. Если я пишу «устанавливаем темными; MySQL», то подразумеваю, что нужно будет открыть терминал с 3 должна быть возможность легко сделать резервную копию правами суперпользователя и набрать следующие команды: всего сервера и быстро развернуть ее в другом месте; 3 все общение с сервером должно быть защищенным. yum install mysql chkconfig mysql on | Необходимые замечания | /etc/init.d/mysqld start В принципе, всем этим условиям удовлетворяют очень мно- гие связки программных продуктов, но я выбрал Postfix и Одновременно вы будете читать сообщения в лог-файлах на Courier-IMAP. Оба этих сервера очень легко масштабируются предмет всевозможных ошибок. Если что-либо будет отличать- и не содержат труднопонимаемых для администратора мест. ся от стандартной процедуры, я обязательно об этом упомяну. К тому же через пару месяцев не придется искать часами в Осталось сказать о конфигурации создаваемой системы и конфигурационных файлах какой-то параметр, который не- используемых именах. У меня есть домашний сервер под име- обходимо немного изменить. нем home.multik.org. К нему я подключаюсь, когда нахожусь Также давно стало безразлично, на какой именно систе- дома, он же обрабатывает небольшой сервисный трафик от раз- ме поднимать данный сервер. Совершенно без разницы, ных почтовых роботов. Сервер выходит в Интернет через не- будет это Gentoo, Fedora Core или FreeBSD. Благодаря подконтрольную мне сеть, где может находиться все — от хабов стандартизации максимум, что вам придется поменять, — до снифферов. Также в относительно «чистом» сегменте Ин- это пути к файлам. В данной статье я использовал Fedora тернета, на площадке у крупного провайдера, стоит другой мой Core 2 и 3 как наиболее распространенные дистрибутивы сервер с именем multik.org. И именно он отвечает за всю почту

CHIP| LINUX 1/2005 ÒÓÁ‰‡ÌË ÔÓ˜ÚÓ‚Ó„Ó ÒÂ‚Â‡ 67

домена multik.org. Я хочу настроить свою систему так, чтобы Первая, как легко догадаться, включает поддержку MySQL, никто из сети, в которой находится home.multik.org, не смог а вторая служит для предотвращения обновления Postfix прочитать мою почтовую переписку или украсть пароли. А в средствами дистрибутива. Иначе, как только команда под- других сетях, по большому счету, это никому и не нужно. держки Fedora выпустит новый релиз (который опять будет без поддержки SQL), он тут же затрет нашу версию. Собира- | Установка MySQL | ем (rpmbuild -ba postfix.spec) и устанавливаем Postfix. В про- Первое, что нам необходимо больше всего, — это MySQL. В нем бу- цессе установки придется удалить без проверки зависимостей дут храниться все данные о пользователях и их почтовых ящиках. (--nodeps) sendmail из-за множества завязанных на предо- После установки MySQL обычно я провожу следующие до- ставляемый им сервис программ. полнительные действия: На этом установка Postfix завершена, и можно плавно пере- 3 удаление анонимных пользователей ходить к настройке. Открываем файл /etc/postfix/main.cf и ре- дактируем следующие параметры: DELETE FROM mysql.user WHERE User = ''; myhostname = home.multik.org 3 смена пароля root mydomain = home.multik.org inet_interfaces = all UPDATE mysql.user SET Password = PASSWORD('newpwd') mydestination = $myhostname, localhost WHERE User = 'root'; mynetworks_style = host in_flow_delay = 1s 3 создание специального пользователя, с помощью которого smtpd_banner = $myhostname ESMTP $mail_name скрипт может удостовериться, что сервер работает В конце файла добавляем: grant USAGE on test.* to ping; strict_rfc821_envelopes = yes Теперь, чтобы на экран при запуске MySQL не сыпались broken_sasl_auth_clients = yes ошибки, меняем в /etc/init.d/mysqld строчку transport_maps = mysql:/etc/postfix/transport.cf virtual_mailbox_base = / RESPONSE = '/usr/bin/mysqladmin - virtual_uid_maps = mysql:/etc/postfix/ids.cf uUNKNOWN_MYSQL_USER ping 2>&1' virtual_gid_maps = mysql:/etc/postfix/gids.cf virtual_mailbox_maps = mysql:/etc/postfix/aliases.cf на virtual_maps = mysql:/etc/postfix/remote_aliases.cf relay_domains = $transport_maps RESPONSE = '/usr/bin/mysqladmin -uping ping 2>&1' smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,check_relay_domains Затем надо добавить в /etc/my.cnf одну строчку, которая раз- disable_vrfy_command = yes решает серверу отображаться только на указанных адресах. smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = home.multik.org [mysqld] smtpd_sasl_security_options = noanonymous bind-address = 127.0.0.1 smtpd_sasl_application_name = smtpd local_transport = virtual На этом минимально необходимая настройка сервера баз local_recipient_maps = $virtual_mailbox_maps данных завершена. Обо всем остальном вроде кластеров или smtpd_data_restrictions = reject_unauth_pipelining InnoDB неплохо рассказано в документации. Прошу обратить ваше внимание на то, что в параметре | Установка и первичная smtpd_recipient_restrictions нет абсолютно никаких упоми- настройка Postfix | наний о всевозможных RBL-списках. Дело в том, что лично К сожалению, тот вариант сборки Postfix, который присут- я совершенно не горю желанием отдавать управление ствует во всех версиях Fedora Core, не подходит по одной- своим почтовым трафиком различным неадекват- единственной причине — в нем нет поддержки SQL. Поэтому ным личностям, которые ведут эти списки. Против дейст- нужно забрать с ближайшего зеркала пакет SRPM и устано- вий спамеров на стороне почтового сервера отлично рабо- вить его. Запускаем любимый текстовый редактор и правим тают команды «in_flow_delay», «smtpd_data_restrictions», следующие две строчки в файле postfix.spec: «strict_rfc821_envelopes». Чтобы найти описание того, как они это делают, обратитесь к документации. %define MYSQL 1 Теперь нам необходимо создать какое-то количество до- Epoch: 3 полнительных конфигурационных файлов, в которых будет

1/2005 LINUX| CHIP 68 advanced Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

точно описано, где именно Postfix должен искать информа- 3 aliases.cf: цию о пользователях и доменах. Синтаксис этих файлов до- вольно прост, так что я оставлю их без комментариев. user = postfix 3 transport.cf: password = postfix dbname = mail user = postfix table = aliases password = postfix select_field = maildir dbname = mail where_field = alias table = transport hosts = localhost select_field = transport where_field = domain 3 remote_aliases.cf: hosts = localhost user = postfix 3 ids.cf: password = postfix dbname = mail user = postfix table = remote_aliases password = postfix select_field = rcpt dbname = mail where_field = alias table = aliases hosts = localhost select_field = id where_field = alias Вам необходимо будет заменить здесь и далее пароли на более hosts = localhost подходящие. Я же оставляю их в открытом виде для наглядности.

3 gids.cf: | Создание базы данных пользователей | Для начала создадим все необходимые таблицы в базе данных. user = postfix password = postfix create database mail; dbname = mail grant insert,select,delete,update on mail.* to postfix@localhost table = aliases identified by 'postfix'; use mail; select_field = gid create table transport (domain varchar(255) PRIMARY KEY, where_field = alias transport char(8)); hosts = localhost create table aliases (id int(6), gid int(6), alias varchar(255) PRI-

Настройка антивируса èÓ˜ÚÓ‚˚È ‰ÓÍÚÓ Согласитесь, было бы очень гих вариантов. Наиболее при- ной, более чем приемлемой на пути приема почты, и он неплохо, если бы наша поч- емлемыми, на наш взгляд, яв- для большинства российских передает демону все данные товая система могла еще и ляются следующие продукты: пользователей. на проверку. Демон возвра- защитить пользователей от 3 KAV (www.kav.ru); Программный комплекс Dr.Web щает статус проверенных дан- приходящих периодически 3 ClamAV (www.clamav.net); по проверке почты состоит из ных, после чего плагин при- почтовых вирусов. Как изве- 3 Dr.Web (www.antivir.ru); двух компонентов — антиви- нимает решение о том, как стно, абсолютное большинст- На чем именно остановить свой русного демона, который вы- ему лучше поступить с тем во всех известных вирусов выбор, решать вам. Мы пред- полняет процедуру проверки, или иным принятым письмом. составляют почтовые черви. почли высоконадежную и мно- а также специальной програм- Для развертывания всей систе- Соответственно, если мы при- гофункциональную систему мы, передающей данные ему на мы вам потребуется сначала кроем основной путь их рас- Dr.Web. Этот российский про- проверку. Демон устанавлива- установить демон: пространения, то сможем из- граммный продукт прекрасно ется на сервер и слушает выде- бавиться и от большей части работает на весьма перегру- ленный ему порт или Unix-сокет rpm -Uvh drweb-4.31.4- головной боли, связанной с женных почтовых системах (в зависимости от конфигура- glibc.2.3.i586.rpm этим «достижением науки и таких компаний как Yandex.ru ции). Сам плагин — небольшая техники». В качестве защиты или Mail.ru. Кроме того, дан- программа, умеющая общаться А затем развернуть пакет почтовой системы от вирусов ный пакет выгодно отличается как с демоном, так и с почто- с фильтром в корневую ди- можно избрать один из мно- от конкурентов невысокой це- вым сервером. Его помещают ректорию системы:

CHIP| LINUX 1/2005 ÒÓÁ‰‡ÌË ÔÓ˜ÚÓ‚Ó„Ó ÒÂ‚Â‡ 69

MARY KEY,maildir varchar(255),password varchar(128), info /etc/init.d/postfix start varchar(128)); newaliases create table remote_aliases (alias varchar(255) PRIMARY KEY, mail [email protected] rcpt varchar(255)); В лог-файлах вы должны наблюдать нечто похожее: Затем определим домены, обслуживаемые данным сервером: Mar 13 14:49:14 home postfix/pickup[12804]: 96BC718E74B: insert into transport values ('home.multik.org','virtual:'); uid = 0 from = Mar 13 14:49:14 home postfix/cleanup[12811]: 96BC718E74B: И заведем первого пользователя: message-id = <[email protected]> Mar 13 14:49:14 home postfix/qmgr[12805]: 96BC718E74B: insert into aliases values from = , size = 300, nrcpt = 1 (queue active) (1000,12,'[email protected]','/var/spool/vmail/home.mul- Mar 13 14:49:14 home postfix/virtual[12817]: 96BC718E74B: tik.org_multik/','password','[email protected] account'); to = , relay = virtual, delay = 0, status = sent (delivered to maildir) 1000 — это тот UID, который будет использоваться Postfix Mar 13 14:49:14 home postfix/qmgr[12805]: 96BC718E74B: при сохранении писем на диск. removed В заключение создадим каталог для хранения почты: Если все именно так, значит первоначальная настройка mkdir /var/spool/vmail закончена. Если же нет, то советую открыть браузер, отпра- chown nobody.mail /var/spool/vmail виться на сайт www.google.com и искать там способы решения chmod 777 /var/spool/vmail возникшей проблемы. Для получения более подробной ин- формации о производимых сервером Postfix операциях ре- Вам необходимо сменить права доступа к каталогу в соответ- комендую обратиться к параметру debug_peer_level, располо- ствии с принятой у вас политикой безопасности. В любом слу- женному в main.cf. чае Postfix при создании почтовых ящиков пользователей сам Теперь в MySQL прописываем необходимые синонимы: установит на них минимально необходимые права, так что на- рушения безопасности не произойдет в любом случае. mysql> insert into mail.remote_aliases values('[email protected] tik.org', '[email protected]'); | Первое письмо | Все предварительные настройки осуществлены. Теперь настал Для настройки «боевого» сервера очень рекомендую пропи- момент истины — запуск сервера и отправка первого письма: сать следующие синонимы, полезные для работы различных

tar xzvf drweb-postfix-4.31- В нашем случае значение #!/bin/bash тываются заголовки и не linux.tar.gz NN можно изменить на «-». /opt/drweb/update/update.pl проводится лечение. Прихо- Для того чтобы получить дят только лишь уведомле- Остается внести изменения наиболее актуальную на се- Затем сохраним изменения ния о том, что в таком-то в файл /etc/postfix/master.cf, годняшний день версию ан- и дадим команду: письме программой был об- добавив в него строку: тивирусной базы, потребует- наружен вирус. ся добавить в директорию chmod 777 filter unix - n n -- pipe /etc/cron.hourly специальный /etc/cron.hourly/drweb.update В общем-то, потратив совсем flags = R user = drweb argv = скрипт, отвечающий за регуляр- немного времени, можно по- /opt/drweb/drweb-postfix -f ные обновления. Для этого вы- Демонстрационная версия лучить высокотехнологичную ${sender} -- ${recipient} полним следующие действия: антивирусного пакета Dr.Web и очень удобную систему об- доступна для скачивания на работки почтовой корреспон- Также нужно заменить строку: $ touch drweb.update сайте www.antivir.ru/down- денции, которая будет обла- /etc/cron.hourly load, но, к сожалению, она дать всеми обязательными smtp inet n - n - - smtpd имеет ряд существенных для нее свойствами — на- на Далее в полученный файл ограничений. Например, не дежностью, удобством в ис- smtp inet n - n - NN smtpd -o drweb.update впишем следу- производится проверка на пользовании и простотой content_filter = filter:dummy ющие строки: вирусы в архивах, не обраба- в обслуживании.

1/2005 LINUX| CHIP 70 advanced Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

почтовых служб всех доменов, которые будет обслуживать полагающемуся на страницах ресурса FAQ, собираем ис- сервер: MAILER-DAEMON, postmaster, abuse, noc. ходные коды в RPM-пакет. Единственное, что необходи- Теперь можно настраивать авторизацию. мо поправить в spec-файле, — это зависимости от openldap Приводим все содержимое файла /usr/lib/sasl2/smtpd.conf и fam. Первое лично мне вовсе не нужно, а второе лучше к следующему виду: будет заменить на gamin. В общем, благодаря хорошей документации установка ни pwcheck_method: auxprop разу не вызвала у меня каких-либо затруднений. mech_list: PLAIN CRAM-MD5 DIGEST-MD5 LOGIN allowanonymouslogin: no Теперь переходим в каталог /etc/authlib/ и настраиваем сис- allowplaintext: no тему авторизации у Courier. sasl_auxprop_plugin: sql В файле authdaemonrc необходимо убрать из списка моду- sql_engine: mysql лей все кроме authmysql: sql_database: mail sql_user: postfix authmodulelist = "authmysql" sql_passwd: postfix sql_select: select password from aliases where alias = "%u@%r" А в файле authmysqlrc не забудьте прописать несколько важных переменных: Теперь, если попробовать отправить письмо, то в логах од- нозначно возникнет следующая ошибка: MYSQL_SERVER localhost MYSQL_USERNAME postfix SASL authentication problem: unable to open Berkeley db MYSQL_PASSWORD postfix /etc/sasldb2: No such file or directory MYSQL_SOCKET /var/lib/mysql/mysql.sock MYSQL_PORT 3306 Исправляем ее созданием фиктивного пользователя и по- MYSQL_OPT 0 следующим его удалением: MYSQL_DATABASE mail MYSQL_USER_TABLE aliases saslpasswd2 -c test MYSQL_CLEAR_PWFIELD password saslpasswd2 -d test DEFAULT_DOMAIN home.multik.org MYSQL_UID_FIELD id Теперь можно открыть любимый почтовый клиент и попы- MYSQL_GID_FIELD gid таться отправить письмо самому себе. Главное — не забыть MYSQL_LOGIN_FIELD alias при этом поставить галочки, указывающие на то, что почто- MYSQL_HOME_FIELD maildir вому серверу необходима авторизация. Если вы все сделаете MYSQL_MAILDIR_FIELD maildir правильно, почтовый клиент запросит у вас имя пользовате- MYSQL_NAME_FIELD info ля и пароль (в нашем случае это [email protected] и password соответственно), а затем отправит письмо. Внима- Далее переходим в каталог /usr/lib/courier-imap/etc и очень тельно поглядев на заголовки письма, вы должны увидеть там внимательно просматриваем все конфигурационные фай- примерно следующие строки: лы. Мне совершенно был не нужен протокол POP3, поэто- му в соответствующих местах я изменил приведенные ниже Received: from 192.168.1.118 (ppp83-237-195-35.pppoe.mtu- строчки следующим образом: net.ru [83.237.195.35]) by multik.org (Postfix) with ESMTP id 8259E8F80D4 POP3DSSLSTART = NO for ; Sun, 13 Mar 2005 04:05:12 -0800 POP3_STARTTLS = NO (PST) POP3DSTART = NO

Обратите внимание на присутствие ESMTP во второй Еще раз все проверяем и запускаем Сourier-IMAP. строке. Эти буквы означают, что сервер не просто так взял и передал письмо, а с определенным «понятием». К сожале- /etc/init.d/courier-imap restart нию, пока точного представления о его внутренней работе в данном случае получить невозможно. Но не отчаивайтесь, мы Но при попытке соединения почтового клиента с сервером это исправим чуть позже. в лог-файле у меня появилась вот такая ошибка:

| Установка и настройка сервера IMAP | Mar 13 16:06:11 home imapd: сonnection, ip = [::ffff:127.0.0.1] Теперь отправляемся на сайт www.courier-mta.org/imap, ска- Mar 13 16:06:11 home imapd: authdaemon: s_connect() failed: чиваем последнюю версию Courier-IMAP и, согласно рас- No such file or directory

CHIP| LINUX 1/2005 ÒÓÁ‰‡ÌË ÔÓ˜ÚÓ‚Ó„Ó ÒÂ‚Â‡ 71

После непродолжительного раздумья я решил, что сам по Описание этого процесса вы сможете найти в документации к себе authdaemon не запустится, выполнил команду «/etc/init.d/ программе openssl и на многочисленных тематических ресурсах. courier-authlib start» и снова попробовал подключиться, но уже Итак, с серверами мы разобрались, теперь подошла очередь с включенным выводом отладочной информации: почтового клиента:

Mar 13 16:39:14 home authdaemond: Authenticated: openssl genrsa -des3 -out multik-client.key 1024 sysusername = , sysuserid = 1000, sysgroupid = 12, openssl req -new -key multik-client.key -out multik- homedir = /var/spool/vmail/home.multik.org_multik/, client.csrEnter pass phrase for multik-client.key: address = [email protected], fullname = multik@ openssl x509 -req -in multik-client.csr -out multik-client.crt home.multik.org account, maildir = , quota = , -sha1 -CA multik-ca.crt -CAkey multik-ca.key -CAcreateserial options = -days 1825

Как видим, все прошло успешно, и сервер нашел все необхо- Единственное отличие от серверных сертификатов состоит димые ему данные. в том, что нам необходимо теперь привести все к поддержи- ваемому большинством программ формату PKCS12: | Система электронных подписей | На этом можно было бы, в принципе, и заканчивать статью, openssl pkcs12 -export -in multik-client.crt -inkey multik- если бы не третий пункт обозначенных в самом начале требо- client.key -name "Viacheslav Kaloshin cert" -out multik-client.p12 ваний. Его можно снять с повестки дня только одним спосо- бом — шифрованием и соответствующей авторизацией. Для Последний шаг в создании сертификатов — снятие паролей выполнения этой роли как нельзя лучше подходят техноло- с серверных сертификатов. Это необходимо для того, чтобы гии, описываемые буквами SSL и TLS. сервер не запрашивал постоянно пароль при каждом запуске или А для этих технологий нужны, в свою очередь, ключи перезагрузке. Необходимо будет позаботиться и о том, чтобы по- и сертификаты. Конечно, можно прилично заплатить той же лученные файлы не были доступны кому попало: компании VerySign и получить все готовое, как говорится, на блюдечке, но очень жалко денег. Поэтому попробуем сделать cp multik-server.key multik-server.key.orig самоподписанный сертификат, единый для всех сервисов, openssl rsa -in multik-server.key.orig -out multik-server.key предоставляемых сервером. cp home-multik-server.key home-multik-server.key.orig Начнем мы непосредственно с самого «центра сертифика- openssl rsa -in home-multik-server.key.orig -out home-multik- тов» и создадим все необходимое: server.key

openssl genrsa -des3 -out multik-ca.key 2048 В качестве финального аккорда положим файлы в какое-то openssl req -new -x509 -days 1825 -key multik-ca.key одно определенное место. Я, например, выбрал для этого ка- -out multik-ca.crt талоги сервера apache — /etc/httpd/conf/ssl.crt и ssl.key. Теперь добавляем в main.cf для обоих почтовых серверов После выполнения этих двух команд мы будем иметь в строки следующего содержания: multik-ca.crt сертификат со сроком действия на пять лет. Сле- дующим шагом станет создание сертификатов серверов и их smtpd_use_tls = yes подпись нашим удостоверяющим центром. smtpd_tls_auth_only = yes Сначала для multik.org: smtpd_tls_key_file = /etc/httpd/conf/ssl.key/home-multik-server.key smtpd_tls_cert_file = /etc/httpd/conf/ssl.crt/home-multik-server.crt openssl genrsa -des3 -out multik-server.key 1024 smtpd_tls_CAfile = /etc/httpd/conf/ssl.crt/multik-ca.crt openssl req -new -key multik-server.key -out multik-server.csr smtpd_tls_loglevel = 3 openssl x509 -req -in multik-server.csr -out multik-server.crt smtpd_tls_received_header = yes -sha1 -CA multik-ca.crt -CAkey multik-ca.key smtpd_tls_session_cache_timeout = 3600s -CAcreateserial -days 1825 tls_random_source = dev:/dev/urandom

Затем для home.multik.org: Перезагружаем Postfix, затем включаем в настройках почто- вого клиента использование TLS и пробуем отправить письмо. openssl genrsa -des3 -out home-multik-server.key 1024 В моем случае в лог-файле получилось следующее: openssl req -new -key home-multik-server.key -out home-multik-server.csr Mar 14 12:39:01 home postfix/smtpd[6851]: setting up TLS openssl x509 -req -in home-multik-server.csr connection from home.multik.org[127.0.0.1] -out home-multik-server.crt -sha1 -CA multik-ca.crt Mar 14 12:39:11 home postfix/smtpd[6851]: TLS connection -CAkey multik-ca.key -CAcreateserial -days 1825 established from home.multik.org[127.0.0.1]: TLSv1 with cipher

1/2005 LINUX| CHIP 72 advanced Ô‡ÍÚ˘ÂÒ͇fl ‡·ÓÚ‡

DHE-RSA-AES256-SHA (256/256 bits) postmap relay_clientcerts Mar 14 12:39:11 home postfix/smtpd[6851]: 8D9C918E772: postfix reload client = home.multik.org[127.0.0.1], sasl_method = CRAM-MD5, sasl_username = [email protected] Попробуем снова отправить письмо, внимательно просматри- вая лог-файл. У меня, к примеру, появились такие строчки: А в заголовках письма можно было прочитать строки вот такого содержания: Mar 14 12:50:48 home postfix/smtpd[6995]: Verified: subject_CN = Viacheslav Kaloshin, issuer = multik.org Received: from [127.0.0.1] (home.multik.org [127.0.0.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA А в заголовках письма было написано следующее: (256/256 bits)) (No client certificate requested) Received: from [127.0.0.1] (home.multik.org [127.0.0.1]) by home.multik.org (Postfix) with ESMTP id 8D9C918E772 (using TLSv1 with cipher DHE-RSA-AES256-SHA for ; Mon, 14 Mar 2005 (256/256 bits)) 12:39:11 +0300 (MSK) (Client CN "Viacheslav Kaloshin", Issuer "multik.org" (veri- fied OK)) В процессе передачи письма был установлен зашифро- by home.multik.org (Postfix) with ESMTP id 5D87E18E779 ванный с помощью TLS канал, но нам по-прежнему так и не for ; Mon, 14 Mar 2005 видно, кто же отправил сообщение. 12:50:48 +0300 (MSK) В принципе, такое поведение почтового сервера можно назвать правильным. Ни он, ни почтовый клиент ничего Связка «почтовый клиент — почтовый сервер» заработала. не знают про ключи пользователя. Поэтому следующий шаг Теперь, мало того что никто не сможет прочитать отправлен- необходимо посвятить исправлению этого недостатка. ное мною письмо по пути, так еще и во всех мыслимых местах Для этого импортируем наши сертификаты в почтовый останутся свидетельства, что это его отправил именно я. клиент. В Thunderbird это делается с помощью разделов Переходим к процессу получения писем. Сourier-IMAP предъ- меню «Options p Advanced p Certificates p Manage p являет немного другие требования к хранению открытых и лич- Certificates p Authorities» и нажатия кнопки «Import». Ана- ных частей ключа — их необходимо хранить в одном файле: логичным образом надо поступить со вкладкой «Your certifi- cates» и файлом multik-client.p12. cp home-multik-server.key /etc/cert/home-multik-server.pem Теперь пришло время скомандовать Postfix спрашивать у cat home-multik-server.crt >> /etc/cert/home-multik-server.pem клиентов, кто они такие: Указываем в imapd-ssl путь к этим файлам: smtpd_tls_loglevel = 1 smtpd_tls_ask_ccert = yes TLS_TRUSTCERTS = /etc/cert/trusted.crt relay_clientcerts = hash:/etc/postfix/relay_clientcerts TLS_CERTFILE = /etc/cert/home-multik-server.pem TLS_VERIFYPEER = PEER В файле relay_clientcerts должны находиться отпечатки кли- ентских сертификатов, которым данный сервер доверяет. Перезагружаем IMAP-сервер. При попытке соединения в ло- Отпечаток снимается следующей командой: гах появятся следующие строки:

openssl x509 -fingerprint -in multik-client.crt Mar 14 12:59:13 home imapd-ssl: couriertls: connect: error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFI- Нас интересует последняя строчка из показанного списка: CATE:no certificate returned

MD5 Это говорит о том, что соединение установилось, но сервер Fingerprint = 90:B6:12:52:57:D3:35:93:5D:85:91:4A:04:0F:DA:5B ничего не знает про сертификат клиента. Так добавим же его:

Добавляем в файл relay_clientcerts следующее: cat multik-client.crt > /etc/cert/trusted.crt

90:B6:12:52:57:D3:35:93:5D:85:91:4A:04:0F:DA:5B multik Снова попробуем соединиться, установив необходимые га- лочки в настройках почтового клиента. Самое главное теперь — Все, что написано после отпечатка, сервером никак не проверить, что клиент будет запрашивать шифрованное соеди- воспринимается, поэтому можно воспользоваться этим мес- нение TLS c портом 143, а не просто соединится через SSL по том для описания отпечатков. А теперь создадим хеш отпе- 465-му порту. Ведь Сourier напрямую никуда не пишет о пара- чатков и перезагрузим сервер: метрах соединения, поэтому приходится догадываться.

CHIP| LINUX 1/2005 ÒÓÁ‰‡ÌË ÔÓ˜ÚÓ‚Ó„Ó ÒÂ‚Â‡ 73

Если все прошло успешно, в логах появятся строки такого вида: Они командуют Postfix пытаться установить защищенное со- единение, используя указанные ключи. Отправляем письмо и Mar 14 15:22:33 home imapd-ssl: Connection, ip = [::ffff:127.0.0.1] смотрим в заголовки. У меня, к примеру, появилось следующее: Mar 14 15:22:33 home imapd-ssl: LOGIN, user = [email protected], ip = [::ffff:127.0.0.1], Received: from home.multik.org (unknown [195.166.171.193]) protocol = IMAP (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) Как видим, несмотря на то что соединение установлено че- (Client CN "home.multik.org", Issuer "multik.org" рез IMAP, в логах появляются сообщения об imap-ssl. Это и (verified OK)) есть косвенное свидетельство наличия шифрования в канале. by multik.org (Postfix) with ESMTP id B04E28F80D4 Если нужно более весомое доказательство, воспользуйтесь for ; Mon, 14 Mar 2005 04:53:02 любым сниффером и просмотрите трафик. Первой же после -0800 (PST) установки соединения должна стать команда «starttls». Received: from [127.0.0.1] (home.multik.org [127.0.0.1]) Технология TLS в IMAP не очень распространена, и с некото- (using TLSv1 with cipher DHE-RSA-AES256-SHA рыми версиями клиентов шифрации трафика может не полу- (256/256 bits)) читься, признаком чего станет появление в логах строк вида: (Client CN "Viacheslav Kaloshin", Issuer "multik.org" (veri- fied OK)) error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong by home.multik.org (Postfix) with ESMTP id 0326B18E77D version number for ; Mon, 14 Mar 2005 15:53:01 +0300 (MSK) Я так и не смог проследить тенденцию, но даже разные сборки одного и того же клиента могут вести себя совершен- Увидев нечто аналогичное у себя на мониторе, вы можете но по-разному, поэтому выяснить, какой клиент поддержива- быть уверены в том, что каждый шаг в процессе приема или ет TLS и IMAP, вы можете сами опытным путем. отправки писем на ваших почтовых серверах действительно контролируется только вами, и больше никем, что никакой | Шифрование канала | нехороший человек не вклинится и не прочитает вашу лич- между серверами | ную переписку и что все отправители корреспонденции явля- Последний шаг, который нам необходимо сделать, — это уста- ются именно теми персонами, за которых себя и выдают. новить зашифрованное соединение между двумя почтовыми серверами. Здесь мы пойдем уже по проторенной дорожке, так | Совершенству нет предела | как основные моменты были выяснены ранее. На этом создание почтовой системы можно считать завер- В конфигурационный файл home.multik.org добавим строки: шенным. Поставленные в самом начале статьи задачи мы с успехом выполнили: сервер исправно работает и может быть smtp_use_tls = yes в дальнейшем усовершенствован. smtp_tls_key_file = /etc/httpd/conf/ssl.key Например, самым логичным было бы добавить антивирус /home-multik-server.key (ClamAV, KAV или же Dr.Web, установка и настройка которо- smtp_tls_cert_file = /etc/httpd/conf/ssl.crt го вкратце описана выше в блоке «Почтовый доктор»), а так- /home-multik-server.crt же поддержку технологии защиты от спама SPF или smtp_tls_CAfile = /etc/httpd/conf/ssl.crt/multik-ca.crt SpamAssassin. Но это уже тема совсем другой статьи. |

Почтовый веб-интерфейс ÇÂÁ‰ÂÒÛ˘ËÈ e-mail Чтобы работа с почтой была установки весьма проста. Для получения более кра- mail.conf пункт «Alias» с бо- удобной на любом компьюте- В данном случае нам потре- сивого адреса имеется не- лее коротким именем, на- ре, можно настроить доступ буется выполнить команду: сколько способов. Первый — пример /mail. Все, теперь к почтовому серверу через создать виртуальный домен у нас есть полностью рабо- веб-интерфейс. Так как мы yum install squirrelmail вида mail.company.com. За тоспособный почтовый сер- выбрали основным почтовым поддержку такого адреса бу- вер с возможностью доступа протоколом IMAP, то для По умолчанию веб-интерфейс дет отвечать ваш сервер до- к нему через веб-интерфейс. организации веб-доступа для работы с почтой будет до- менных имен и веб-сервер Более подробную информа- лучше всего подойдет бес- ступен по адресу: Apache. Другой вариант — цию по настройке Squirrelmail платный программный пакет прописать в настройках можно получить на сайте Squirrelmail. Процедура его http:///webmail /etc/httpd/conf.d/squirrel- www.squirrelmail.org.

1/2005 LINUX| CHIP 74 advanced Ô‡ÍÚ˘ÂÒÍÓ ÛÍÓ‚Ó‰ÒÚ‚Ó

Анатолий Лебедев èӘڇθÓÌ ‚ ÒÚËΠ‰ÁÂÌ

В нише Linux-приложений для работы с электронной почтой все достаточно стабильно. Так, например, большинство людей используют почтовый клиент Evolution, который устанавливается в систему совместно с графической средой GNOME.

Однако на одном лишь Evolution свет клином не сошелся. Су- Mutt представляет собой многофункциональный почто- ществуют еще такие клиенты, о которых многие пользователи вый клиент, способный удовлетворить практически все ваши даже не слышали, а если и слышали, то считают их совершен- потребности по обработке почты. В числе поддерживаемых ным анахронизмом, приводя в пример тезис о том, что исполь- форматов почтовых ящиков присутствуют небезызвестные зование в наше время программ с текстовым интерфейсом, Mbox, MH и ММDF. Саму почту можно принимать как по про- мягко говоря, ничем не обосновано. Однако они не правы. токолу POP3, так и по IMAP. Изначально же программа про- бует прочитать ее из того файла, на который ссылается систем- | Зачем это нужно | ная переменная $MAIL. Представьте себе классическую ситуацию: вы находитесь дома, и вам срочно понадобилось воспользоваться корпоративной кор- | Настройка mutt | респонденцией, однако из внешней сети доступ к ней полностью Пожалуй, теперь настало время перейти к практике. Давайте закрыт. В таком случае для начала вам потребуется попасть в попробуем разобрать наиболее простой вариант, а именно офисную сеть. Если вы имеете доступ к роутеру, никакой серьез- чтение почты по протоколу IMAP. Один из плюсов работы ной проблемы эта задача не представляет. Все, что вам понадо- с данным протоколом заключается в том, что вся приходящая бится, — это воспользоваться системной утилитой SSH. на ваш адрес корреспонденция фильтруется непосредствен- Что же, вот вы и в офисной сети. Казалось бы, столь необ- но на сервере и там же сортируется по заранее указанным ходимая почта уже совсем рядом, достаточно лишь запустить папкам. Итак, чтобы научить mutt работать с почтой по дан- почтовый клиент… И вот тут вас ожидает большой сюрприз: ному протоколу, достаточно добавить всего одну строку в чтобы запустить какой-либо современный клиент, необходи- конфигурационный файл .muttrc, который обязательно дол- мо, чтобы на компьютере работал Х-сервер. Однако ни один жен располагаться в домашней директории пользователя системный администратор в трезвом уме не даст вам возмож- (/home/имя_пользователя): ности экспорта Х-сервера поверх протокола SSH, так как количество генерируемого при этом трафика превышает все set spoolfile = imap://mail.firma.ru/INBOX разумные пределы. Помочь выйти из этой ситуации смогут именно архаичные консольные клиенты, одним из предста- Теперь запустим mutt. Программа соединится с указанным в вителей которых и является программа mutt. Найти ее можно настройках сервером и попросит принять сертификат, выведя практически в любом дистрибутиве Linux, а также на офици- на экран его содержимое. После этого в нижней части програм- альном сайте проекта: www.mutt.org. мы вы увидите строку примерно следующего содержания:

CHIP| LINUX 1/2005 ‡·ÓÚ‡ Ò ÍÓÌÒÓθÌ˚Ï ÔÓ˜ÚÓ‚˚Ï ÍÎËÂÌÚÓÏ mutt 75

èÓÒÏÓÚ ‚ıÓ‰fl˘ÂÈ ÍÓÂÒÔÓ̉Â̈ËË êÂÊËÏ ˜ÚÂÌËfl ‚˚·‡ÌÌÓ„Ó ÒÓÓ·˘ÂÌËfl èËÒ¸ÏÓ ÔÓÎÌÓÒÚ¸˛ „ÓÚÓ‚Ó Í ÓÚÔ‡‚ÍÂ

(r)eject, accept (o)nce, (a)ccept always hdr_order Date: From: To: Cc: Subject:

Здесь можно просто нажать клавишу «А», после чего сертифи- Строка «set sort = threads» обозначает тип сортировки — по кат сохранится в специальном файле и будет проверяться при тредам; «color header» — различные цвета для выделения частей каждом новом соединении с почтовым сервером. Теперь осталось заголовков; «ignore *» — запретить отображение заголовков пи- лишь указать имя пользователя и пароль для вашей учетной запи- сем; «unignore From: To: Date: Subject:» — не применять выше- си на почтовом сервере. Чтобы каждый раз не вводить эти данные указанное правило к перечисленным заголовкам. Последний заново, добавим их в конфигурационный файл .muttrc: пункт — «hdr_order» — позволяет установить необходимый по- рядок отображения интересующих нас заголовков писем. set imap_user = name Навигация между письмами весьма проста: стрелки вверх set imap_pass = pass и вниз осуществляют переход к предыдущему и последую- set certificate_file = ~/.mutt/certificates щему письму соответственно. Клавиша «Enter» — чтение выбранного письма. Чтобы ответить на письмо, его нужно Последняя строка нужна для того, чтобы программа знала, выбрать в списке и нажать на клавишу «R». Программа пред- где хранить подтвержденные пользователем сертификаты. Не ложит изменить адресата и заголовок, спросит, вставить ли забудьте, что папка .mutt должна существовать в вашей домаш- в тело ответа исходное письмо, и запустит выбранный вами ней директории, иначе программа будет выдавать сообщение о текстовый редактор. Для выбора нужного редактора снова невозможности сохранения подтвержденного сертификата. обратимся к файлу .muttrc: Таким образом, мы минимально сконфигурировали mutt, чтобы иметь возможность читать почту по протоколу IMAP. set editor = «vim» Теперь можем переходить к различным настройкам отобра- жения писем, таким как выделение их цветом или сортиров- Таким образом, в качестве основного выбран редактор vim. ка по тредам. В качестве примера добавим в файл конфигура- При необходимости его всегда можно заменить на любой ции .muttrc следующие строки: другой, например mcedit. Пишем письмо, сохраняем файл (не меняя его местополо- set sort = threads жения) и выходим из редактора. Для выхода из vim необходимо color hdrdefault white black ввести следующую последовательность клавиш: color header brightyellow black «^date: *» color header brightyellow black «^from: *» Esc :wq Enter color header brightyellow black «^subject: *» color header brightyellow black «^to: *» Теперь у нас есть готовое к отправке письмо. Осталось лишь color header brightyellow black «^delivered-to: *» нажать клавишу «Y», и оно будет передано программе sendmail, color header brightyellow black «^cc: *» которая и выполнит оставшуюся часть работы. color header brightyellow black «^bcc: *» color header yellow black «^reply-to: *» | Послесловие | color header yellow black «^mail-followup-to: *» Как видите, все достаточно просто. Если у вас возникнут color header yellow black «^old-return-path: *» трудности с использованием этого клиента, не поленитесь и color header brightblue black «^x-mailer: *» загляните в руководство пользователя. В нем вы сможете най- color header brightblue black «^user-agent: *» ти множество самых разнообразных примеров, начиная от за- color header brightblue black «^x-operating-system: *» мены адреса отправителя при ответе на письма, пришедшие с color header red black «^x-mailing-list: *» определенного адреса, и заканчивая различными действиями color header red black «^in-reply-to: *» программы при нажатии на одни и те же клавиши в разных со- ignore * стояниях: просмотр списка полученных писем, списка почто- unignore From: To: Date: Subject: вых ящиков или чтение письма. |

1/2005 LINUX| CHIP 76 advanced ·ËÎÎËÌ„

Денис Михайлов, Константин Фадеев 儇·ËÚÌ˚È Á‚ÂÁ‰ÓÔ‡‰

Начинавшаяся с пары соединенных вместе компьютеров домашняя сеть выросла до нескольких десятков хостов. Появился доступ в Интернет, а с ним и новые проблемы. Как посчитать трафик так, чтобы никого не обидеть и самому не остаться в убытке? В решении этой проблемы могут помочь биллинговые системы.

Владельцам домашних сетей, предоставляющим пользова- томатизированную систему расчетов. Стоимость системы от- телям доступ в Интернет или к специализированным игро- носительно невелика — от $200 до $700, в зависимости от вым серверам, а также системным администраторам не- того, какую версию и какой тип лицензии планируется больших офисных сетей, имеющих ограниченный трафик, использовать. Впрочем, для некоторых частных лиц и такая рано или поздно приходится задумываться о том, как от- цена может оказаться слишком высокой. слеживать загруженность сети. И не только контролиро- Еще одна российская разработка, также заслуживающая вать, но и ограничивать, и тарифицировать трафик для внимания, — система учета LANBilling (www.lanbilling.ru). каждого хоста. Системы, позволяющие вести учет предо- Она имеет сопоставимую цену и даже урезанную версию, ставляемых клиенту услуг в каких-либо единицах измере- свободно распространяемую для ознакомительных целей. ния (в нашем случае — килобайтах, мегабайтах и так да- Мы же предлагаем вам обратить внимание на бесплатный лее), как раз и называются биллинговыми системами. продукт под названием Stargazer, который можно найти по адресу: http://stargazer.dp.ua. Его цель — решать задачи, воз- | Каждому по потребностям | никающие перед каждой молодой компанией, занимающейся В простейшем случае системы учета трафика могут быть со- предоставлением доступа к Сети. Итак, Stargazer представляет браны буквально «на коленке»: демон trafd, несколько скрип- собой систему авторизации и учета трафика. тов и база данных на MySQL — такие варианты допускаются. Однако по мере увеличения количества пользователей сети | Устройство и принцип действия | от системы требуется все большая гибкость — как в плане Название системы переводится как «астроном» и, видимо, на- предоставляемых ею возможностей, так и в плане настройки. мекает на то, что администратор с ее помощью может следить Вот тогда и приходится прибегать к услугам сторонних раз- за трафиком каждого пользователя так же скрупулезно, как работчиков. NetUP UTM (www.netup.ru) — один из самых из- и звездочет за каждым объектом небесной сферы. Stargazer вестных на российском рынке мощный комплекс средств, построена на основе технологии «клиент-сервер». Серверная включающий в себя не только биллинговый модуль, но и ав- часть программы работает под управлением Linux или FreeBSD

CHIP| LINUX 1/2005 ‡·ÓÚ‡ Ò ÒËÒÚÂÏÓÈ Stargazer 77

óÚÓ·˚ ÔÓθÁÓ‚‡Ú¸Òfl вам команды «make» и «make install». Что касается непосред- àÌÚÂÌÂÚÓÏ, ÍÎËÂÌÚÛ ственно модуля для авторизации, то он не требует установки — ÌÂÓ·ıÓ‰ËÏÓ ‚‚ÂÒÚË достаточно скачать файл с именем inetaccess.2.44.6.win.rar и ÎÓ„ËÌ Ë Ô‡Óθ раздать его пользователям сети. Запускается сервер с помощью файла /sbin/stargazer. В качестве ключа ему можно указать путь к директории с альтернативным конфигурационным файлом. | Настройка | ë ÔÓÏÓ˘¸˛ ÍÓÌÙË„Û‡ÚÓ‡ Настройки сервера Stargazer расположены в нескольких файлах: ÏÓÊÌÓ Î„ÍÓ Ì‡ÈÚË ‰‡ÌÌ˚ β·Ó„Ó ÔÓθÁÓ‚‡ÚÂÎfl /etc/stargazer/stargazer.conf /etc/stargazer/rules /etc/stargazer/OnConnect /etc/stargazer/OnDisconnect /etc/stargazer/OnUserAdd /etc/stargazer/OnUserDel /etc/stargazer/OnChange

и позволяет войти в систему клиентам — пользователям Windows. Для функционирования системы необходимо прописать Для авторизованных пользователей ведется подсчет трафика правила «iptables». Их настройка заслуживает отдельной ста- по определенным правилам и направлениям, которые зада- тьи, поэтому в данном случае будем считать, что брандмауэр ются администратором при помощи команды «iptables». По уже настроен. Остается только задать правила подсчета тра- достижении лимита или израсходовании клиентом средств фика в файле rules, глобальные настройки сервера в файле он отключается от Интернета. Система дает полный контроль stargazer.conf и пару скриптов — OnConnect и OnDisconnect. над учетными записями пользователей. Именно они открывают или закрывают пользователю Кроме логина, пароля и тарифного плана абонента в базе доступ в Интернет. Первый из них, OnConnect, исполняется данных может храниться дополнительная информация о его после авторизации клиента сервером и проверки состояния его адресе проживания, телефоне и прочие личные данные. Ну а лицевого счета. При положительном балансе содержащиеся при помощи модуля авторизатора клиент, в свою очередь, мо- в файле строки «iptables» динамически перестраивают бранд- жет оперативно получать информацию о состоянии баланса, мауэр, разрешая компьютеру с IP-адресом клиента доступ к количестве израсходованного трафика за выбранный отчет- запрашиваемым ресурсам. Аналогичным образом работает и ный период. Инсталляция и настройка системы предельно скрипт OnDisconnect, только запускается он в том случае, если просты. Вам даже не потребуется устанавливать MySQL и пи- пользователь отключился от сервера. При необходимости вы сать какие-либо скрипты. Ведь все учетные записи клиентов также можете настроить скрипты, запускающиеся при добавле- и данные по их трафику сохраняются сервером в отдельном нии или удалении пользователей, — OnUserAdd и OnUserDel каталоге в виде текстовых файлов. Конечно, MySQL позво- соответственно. Они бывают полезны для автоматизации, лит осуществлять более сложную выборку информации из ба- например, таких действий как создание почтового ящика поль- зы данных, однако система, используемая Stargazer, гораздо зователя. Действия могут быть и индивидуальными для каж- проще и нагляднее. дого пользователя. Для этого нужно создать данные скрипты в директории клиента /var/stargazer/users/username. К слову, | Установка | Расскажем вкратце об основных шагах и тонкостях инсталля- ции. Для установки скачайте с сайта программы, который мы указывали выше, архив all_in_one_2004_12_28.zip. В нем лежат два файла — sgconfig.1.55.7.win.exe и stargazer.2.011.7.6.src.tgz. Первый — обычный административный интерфейс для Win- dows, и подробно рассматривать его установку не имеет особого смысла. Второй файл и является собственно сервером. Раз- архивируйте его, однако перед тем как начинать установку, скачайте и установите дополнительную библиотеку libexpat (sourceforge.net/projects/expat). Последовательность действий при ее инсталляции обычная, необходимо только сообщить скрипту ./configure параметр --prefix = /usr, а далее ско- ÑÎfl ‡ÒÒ˚ÎÍË ÍÎËÂÌÚ‡Ï ÒÓÓ·˘ÂÌËÈ ‚ ̇ÒÚÓÈ͇ı ÍÓÌÙË„Û‡ÚÓ‡ мандовать «make» и «make install». Затем перейдите в директо- ÌÂÓ·ıÓ‰ËÏÓ Û͇Á‡Ú¸ ‡‰ÂÒ ÔÓ˜ÚÓ‚Ó„Ó ÒÂ‚Â‡ рию разархивированного Stargazer и выполните уже известные

1/2005 LINUX| CHIP 78 advanced ·ËÎÎËÌ„

Ç Î˛·ÓÈ ÏÓÏÂÌÚ ÔÂÒÓ̇θÌ˚ ‰‡ÌÌ˚ ÔÓθÁÓ‚‡ÚÂÎfl ÏÓÊÌÓ ËÁÏÂÌËÚ¸

í‡ËÙ˚ ̇ÒÚ‡Ë‚‡˛ÚÒfl ‰ÓÒÚ‡- ÚÓ˜ÌÓ „Ë·ÍÓ, ̇ÔËÏÂ ‚ Á‡‚Ë- ÒËÏÓÒÚË ÓÚ ‚ÂÏÂÌË ÒÛÚÓÍ

эти скрипты могут быть написаны на любом интерпретируе- управления всей системой, кнопки быстрого доступа к сервисам, мом языке и даже, если это так необходимо, представлять со- а также таблицу пользователей сети с описанием свойств каждого. бой исполняемые файлы, главное — чтобы они имели такое же имя, какое было задано по умолчанию. | Настройки конфигуратора | Файл настроек сервера stargazer.conf имеет текстовый Первоначальная настройка конфигуратора сводится к указа- формат и структуру «параметр–значение». Он снабжен внят- нию адреса сервера, его порта (по умолчанию — 5555), адреса ными комментариями, так что сложностей при его редакти- SMTP-сервера для отправки сообщений клиентам, длины ге- ровании у вас не возникнет. Отметим лишь только, что для нерируемого пароля для подключения конфигуратора к сер- удаленного доступа надо указать IP-адреса, с которых будет веру, а также интервала времени автоматического обновления разрешено администрировать систему. За это отвечает пара- информации о пользователях (минимум 5 секунд). Кроме то- метр AdminAllowFrom. Дополнительное удобство для пользова- го, на вкладке «Интерфейс» можно настроить внешний вид телей представляет параметр DirNameN, где N — номер направ- конфигуратора, указав отображение нужных колонок и их ления (от 0 до 9), по которому передается трафик. Значения ширину. Здесь же, если вы желаете использовать автомати- этого параметра определяют, каким образом будут отображать- ческую загрузку шаблона сообщений, который был задейст- ся названия направлений в клиентских авторизаторах и конфи- вован при последней рассылке, нужно отметить соответству- гураторе Stargazer. Те направления, для которых не заданы име- ющий пункт меню. При первом подключении к серверу вам на, не будут видны ни в конфигураторе, ни в авторизаторе. надо ввести логин — admin, пароль — 123456. Последний конфигурационный файл — rules — предназ- начен для описания правил подсчета трафика. Его структура | Управление пользователями | весьма проста. Каждая строка содержит протокол (TCP, UDP, Чтобы добавить нового пользователя, можно воспользоваться со- ICMP, TCP_UDP или ALL), адрес ресурса и направление тра- ответствующей кнопкой на панели задач. В открывшемся окне фика. Если входящие или исходящие данные клиента соответ- необходимо указать логин, пароль и IP-адрес клиентской машины. ствуют какому-либо правилу, трафик будет учитываться по со- Стоит отметить, что, если сеть функционирует с использованием ответствующему направлению. Всего в файле может быть до одиннадцати направлений, из которых последнее служит для предоставления неучитываемого трафика. Как видим, система очень проста в настройке, и для типич- ных случаев с минимальными изменениями подойдут уже гото- вые конфигурационные файлы. Теперь с помощью этих утилит администрирования можно заполнять клиентскую базу и вво- дить систему тарификации. | Приложения для администрирования и контроля трафика | Клиентская часть системы разделена на две половины, одна из которых представляет собой графический интерфейс для адми- нистрирования системы — конфигуратор, а другая предназначе- на для пользователей сети и является системой авторизации.

| Конфигуратор | ĉÏËÌËÒÚ‡ÚÓ ÏÓÊÂÚ ÔÓÒ·ڸ ÔËÒ¸ÏÓ Í‡Í ÍÓÌÍÂÚÌÓÏÛ Приложение создано для администраторов, работающих в ÍÎËÂÌÚÛ, Ú‡Í Ë ‚ÒÂÈ ÒÂÚË Windows. Интуитивно понятный интерфейс включает в себя панель

CHIP| LINUX 1/2005 ‡·ÓÚ‡ Ò ÒËÒÚÂÏÓÈ Stargazer 79

ç Á‡·Û‰¸Ú ӷÂÒÔ˜ËÚ¸ ÔÓθÁÓ‚‡ÚÂÎÂÈ ËÌÙÓχˆËÂÈ Ó· IP-‡‰ÂÒ ÒÂ‚Â‡ ÄθÚÂ̇ÚË‚Ì˚È ÒÔÓÒÓ· ÓÔӂ¢ÂÌËfl — ÚÂÍÒÚÓ‚˚ ÒÓÓ·˘ÂÌËfl. ì ÍÎËÂÌÚ‡ ‰ÓÎ- ëÚ‡ÚËÒÚË͇ Ú‡ÙË͇ ÔÓ Ì‡Ô‡‚ÎÂÌËflÏ ÔÓÏÓÊÂÚ ÊÂÌ ·˚Ú¸ Á‡ÔÛ˘ÂÌ ‡‚ÚÓËÁ‡ÚÓ ‡‰ÏËÌËÒÚ‡ÚÓÛ Ô‡‚ËθÌÓ Ó„‡ÌËÁÓ‚‡Ú¸ ÒÂÚ¸

динамического адреса, в поле «IP-адрес» нужно выставить звез- обычно в системном трее у пользователей Windows, и дает им дочку. При использовании только лишь статических адресов окте- возможность подключаться к Интернету. Кроме того, он ото- ты разделяются запятыми. Далее стоит внести пользовательские бражает объем скачанного трафика по разным направлениям, данные и указать тарифный план. Если система Stargazer стоит в количество оставшихся мегабайт или состояние счета. офисе и нет нужды учитывать скачанные пользователями мегабай- ты, можно выставить галочку «Всегда онлайн». В этом случае тра- | Настройки авторизатора | фик для данного IP-адреса учитываться не будет и, соответственно Для настройки доступа к сети в меню необходимо прописать на клиентской машине не надо будет запускать «Авторизатор». IP-адрес сервера и номер порта (по умолчанию — 5555). Здесь также можно настроить вид отображаемой информации. Среди | Управление тарифными планами | прочего в настройках авторизатора предусмотрены возможно- В зависимости от договоров с клиентами вы можете гибко по- сти по шифрованию пароля благодаря привязке к серийному дойти к организации тарифов. Для их создания в редакторе та- номеру вашего жесткого диска. рифных планов имеется обширный инструментарий. Здесь вы можете указать стоимость дневного и ночного трафика с жест- | Выводимая информация | ким разграничением по времени доступа, указать общий объем Получить доступ к сети можно указав логин и пароль, выданные трафика на одного клиента, а также выбрать принцип, по кото- вам администратором, и активировав подключение. В окне ста- рому будет производиться учет: входящий, исходящий, макси- тистики отобразится объем трафика скачанных вами данных по мальный из двух или суммарный трафик. доступным направлениям с учетом выбранного тарифного плана. Помимо основной функции модуль для авторизации также поз- | Сообщения пользователям | воляет получать сообщения от администратора локальной сети. Даже если клиентская база небольшая, будет уместно использо- вать централизованное информирование пользователей в случае | Дополнительные модули | необходимости. Для этой цели в конфигураторе имеется два спо- Базовый набор функций Stargazer способен удовлетворить соба: рассылка писем и отправка сообщений. Для рассылки пи- большинство потребностей небольшой компьютерной сети. сем предусмотрена возможность использования шаблонов. Вы Конечно, для более крупных организаций его возможностей также можете воспользоваться подстановками для автоматиче- будет уже не хватать. Так, у этого пакета учета трафика слабо- ской генерации писем. Отправка сообщений будет удобна для вато развиты средства отчетов, и, возможно, тарифные планы информирования людей, нерегулярно просматривающих почту. не являются достаточно гибкими . Но кое-что к его возможно- Все, что нужно для этого сделать, — набрать в программе необхо- стям можно добавить с помощью дополнительных платных димый текст, выбрать пользователя и отправить ему сообщение. модулей. Их на данный момент всего два. Модуль пользовательской статистики позволяет клиентам | Просмотр статистики | системы получить расширенную информацию о средствах, Для просмотра результатов учета трафика вы можете восполь- списанных за определенный период времени, узнать историю зоваться инструментом «Статистика», в окне которого отобра- пополнения счета, посмотреть расход трафика по IP-адресам и жается общее количество трафика по разным тарифам, проил- многое другое. Второй модуль привносит в Stargazer некоторые люстрированное круговой диаграммой. Возможен также выбор черты автоматизированной системы расчетов. Он будет поле- отображаемой информации в зависимости от варианта учета. зен в случае отсутствия постоянно действующего офиса или при довольно удаленном расположении разных концов сети от | Авторизация | основного здания. Этот модуль позволяет клиенту пополнять Как вы уже, скорее всего, догадались, на клиентской машине свой счет с помощью карточек наподобие оплаты мобильной необходимо установить еще один компонент — авторизатор. связи, а администратору предоставляет средства для создания Он представляет собой резидентную программу, висящую карточек разных номиналов, их учета и просмотра. |

1/2005 LINUX| CHIP 80 advanced flÁ˚ÍË ÔÓ„‡ÏÏËÓ‚‡ÌËfl

Григорий Бакунов àÌÚÂÔÂÚËÛÈ ˝ÚÓ

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

Неумолимые цифры статистики утверждают, что на сегодняш- программы на Python занимают значительно меньше места, ний день существует более четырех тысяч языков программи- хотя и требуют наличия установленного в системе интерпре- рования. Некоторые из них уже отжили свой век, другие же в татора. Синтаксис этого языка во многом похож на Java, но самом начале пути к популярности. Бывает и так, что язык уми- он более гибкий. Это позволяет использовать его не только рает только родившись. Без всяких сомнений, на самой верши- как средство традиционного объектно-ориентированного не языкового олимпа находятся C++ и Java. На этих языках на- программирования, но и обрабатывать с его помощью дан- писано более 80% современных программ. И если C++ более ные, как это делает, например, Lisp. востребован среди «низкоуровневых» программистов, таких как разработчики операционных систем и приложений, для кото- | Работа с интерпретатором | рых критична скорость исполнения, то Java прочно укоренилась Одной из самых важных особенностей Python является интер- в сфере бизнес-приложений. Однако оба этих языка — даже не активный интерпретатор. Запустить его достаточно просто. рубанки, а скорее большие многофункциональные станки, ис- Достаточно в текстовой консоли или эмуляторе терминала вы- пользование которых потребует огромных затрат на обучение. полнить команду «python». Сразу же после того как вы нажме- Именно поэтому существуют более простые языки программи- те «Enter», появится приглашение интерпретатора: рования, которые, соответственно, намного доступнее, но наде- лены меньшими возможностями. В их числе можно отметить python популярный среди программистов старшего поколения Perl, за- Python 2.3.4 (#1, Feb 2 2005, 12:11:53) воевавший признание среди веб-программистов PHP, а также [GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)] on linux2 Python, являющийся одним из самых легких в изучении. Type "help", "copyright", "credits" or "license" for more informa- tion. | Отличительные черты Python | >>> Язык программирования Python был задуман как своеобразная альтернатива языку Basic. Главной задачей при его разработке Бесспорно, с основами работы интерпретатора сможет разо- стало создание четкого, стройного и понятного языка для начи- браться даже ребенок. Для начала давайте посчитаем, сколько нающих. Один из ведущих разработчиков Python, Гвидо ван Рос- кубиков со стороной 10 см войдет в коробку размером 10х30х30: сум, собрав лучшие черты других языков, на их основе написал первую версию интерпретатора Python, которая развивается и со- >>> (30 * 30 * 10) / (10 * 10 * 10) вершенствуется до сих пор при посильной помощи группы энту- 9 зиастов. Строго говоря, Python относится к классическим языкам >>> программирования, и разобраться с ним будет достаточно просто каждому, кто хоть раз писал даже самую маленькую программу. Так можно поступать и с остальными математическими опера- В чем же главное отличие Python от традиционных языков, циями. Однако после каждого действия компьютер не сохраняет таких как вышеупомянутые C++ или Java? Python — интер- результат, а только выводит его на экран, что довольно неудобно претатор, а значит программа, написанная на этом языке, не при сложных вычислениях. В таких случаях программисты поме- требует предварительного процесса компиляции. Поэтому щают данные в специальные контейнеры — переменные.

CHIP| LINUX 1/2005 Á̇ÍÓÏÒÚ‚Ó Ò Python 81

Например, для того чтобы не запоминать, сколько кубиков деле оказывается достаточно простым: raw_input() ожидает от входит в коробку, поместим это число в переменную: пользователя ввода, а int указывает на то, что введенные данные должны быть целым числом. В девятой строке в переменную >>> v_korobke = (30 * 30 * 10) / (10 * 10 * 10) rezultat помещается разность между количеством кубиков «до» >>> v_korobke и «после». В строках 10–15 программа сообщает пользователю 9 результат вычислений. Далеко не всегда удобно, если результат только числовой, поэтому наша дружелюбная к пользовате- Теперь мы легко можем посчитать, сколько кубиков нахо- лю программа сообщает результаты тремя разными способами. дится и в шести коробках: В десятой строке происходит проверка на положительность результата, то есть доказывается, что при «втором» подсчете ку- >>> v_korobke * 6 биков стало меньше, следовательно, переменная rezultat больше 54 нуля. В строку 11 программа попадает только в случае положи- >>> тельного результата этой проверки. Если внимательно присмот- реться к тексту внутри кавычек строки 11, можно обратить вни- Если вы хотите сохранить последовательность действий, мание на странное сочетание «%d» — это знак подстановки. Сю- можно записать набранные строчки в файл. В этом случае един- да Python подставит значение переменной, указанной после сим- ственное отличие от интерпретатора состоит в том, что для вы- вола «%» за пределами кавычек. В нашем случае это переменная вода результатов необходимо воспользоваться командой «print»: rezultat. Строку 12 следует читать так: «если предыдущее условие не выполняется и переменная rezultat меньше нуля, то:». Таким #!/usr/bin/python образом, программа попадает в строку 13 только если результат v_korobke = (30 * 30 * 10) / (10 * 10 * 10) «торговли» отрицательный. Обратите внимание на символ «-» пе- print v_korobke * 6 ред переменной rezultat в строке 13. Этот символ инвертирует знак числа в переменной. Так как в переменной rezultat в данном Первая строка в этом файле служебная. Именно по ней опе- случае отрицательное число (например, -9), мы отбрасываем «-» рационная система определит, что для выполнения этой про- для удобства пользователя. Строка 14 отличается от строки 12 от- граммы необходимо запустить интерпретатор языка Python. сутствием условия, то есть следующая после нее строка выполня- До сих пор мы говорили об очень простых действиях. По- ется в том случае, если не верны предыдущие два утверждения. пробуем перейти к чему-нибудь более серьезному. Создадим Простейшая логика подсказывает нам, что это может быть толь- файл shop.py следующего содержания: ко в том случае, если в переменной rezultat находится число 0. Также следует обратить внимание на отступы в строках после 1. #!/usr/bin/python символов двоеточия. Это так называемые смысловые блоки. 2. v_korobke = (30 * 30 * 10) / (10 * 10 * 10) В других языках программирования смысловые блоки выделяют- 3. print "Сколько коробок было в магазине?" ся специальными ключевыми словами (например, begin и end в 4. korobok_bylo = int ( raw_input() ) языке Pascal или "{" и "}" в C++). Однако создатели Python реши- 5. kubikov_bylo = korobok_bylo * v_korobke ли, что такие отступы намного наглядней. Чтобы показать это на 6. print "Сколько коробок стало?" примере, немного расширим вывод результатов программы, если 7. korobok_stalo = int ( raw_input() ) значение переменной rezultat больше нуля. Между 11 и 12 стро- 8. kubikov_stalo = korobok_stalo * v_korobke ками вставим еще одну следующего содержания: 9. rezultat = kubikov_bylo — kubikov_stalo 10. if rezultat > 0 : 11.75 print "Продано %d процентов кубиков." %((1 — 11. print "Продано %d кубиков, хорошо торгуем" float (kubikov_stalo) / kubikov_bylo)*100) % rezultat 12. elif rezultat < 0 : Обратите внимание на слово «float» перед переменной 13. print "Стало больше на %d кубиков, плохо kubikov_stalo — оно подчеркивает, что обращаться с ней надо считаем." % (-rezultat) как с числом с плавающей точкой, то есть, возможно, содер- 14. else: жащим дробную часть. 15. print "Ничего не продали, выходной, однако" | Заключение | Разберем по порядку наиболее интересные строки. В третьей, Конечно же, данная статья рассматривает Python на самом при- к примеру, используется пока незнакомый вам вариант операто- митивном уровне. Возможности этого языка программирования ра print. До этого с его помощью мы печатали только цифры, те- намного шире. Он позволяет писать и полноценные пользова- перь же понятно, что оператором print можно вывести на экран и тельские приложения. Как нетрудно было убедиться, синтаксис произвольную строку, ограниченную кавычками. В четвертой самого языка, а также его использование очень просты и доступ- строке в переменную korobok_bylo вносится число коробок, ука- ны даже слабо подготовленному программисту, что немало спо- зываемое пользователем. Сложное с виду выражение на самом собствует быстрому росту его популярности. |

1/2005 LINUX| CHIP 82 advanced ‡·ÓÚ‡ ‚ ÒÂÚË

Александр Соловков ëÂÚ‚ÓÈ ÍÓÎıÓÁ

Рано или поздно у любого пользователя возникает необходимость поделиться своими файлами с другими клиентами локальной сети, обменяться накопленной информацией, организовать совместную работу над проектами. Можно, конечно, осуществить файловый обмен посредством Интернета и протокола FTP (и вы наверняка это уже делали). Но существуют гораздо более удобные способы. Итак, встречайте — NFS!

Сетевая файловая система (NFS — Network File System) обеспе- чается от них тем, что использует протокол типа «клиент- чивает совместное использование файлов в ОС Unix. В таких сервер», явно выделяя серверы, предоставляющие ресурсы в операционных системах как Windows или Mac OS есть собст- совместный доступ. Эти ресурсы, в свою очередь, могут быть венные механизмы, позволяющие подключенным к сети ком- смонтированы удаленными клиентами NFS. Таким образом, пьютерам обращаться к файлам на удаленных машинах так, как объем передаваемой по сети информации уменьшается за если бы они находились на их собственном диске. Система счет отсутствия многочисленных ненужных запросов и отве- NFS обеспечивает те же преимущества, а также ряд других воз- тов на них. Кроме того, сервер явно определяет, какие клиен- можностей, отсутствующих в аналогичных протоколах коллек- ты могут к нему подключаться, в зависимости от имени хоста тивной работы с данными. или IP-адреса. Еще одно полезное свойство системы NFS заключается в том, что она не зависит от широковещательной | Немного теории | рассылки в локальной сети, применяющейся для выявления ОС Windows использует для совместного доступа к файлам серверов. Поэтому ее можно использовать в Интернете точно протокол NetBIOS, а Mac OS — протокол AppleTalk. Оба этих таким же образом, как и в локальной сети. Помимо этого, протокола двухточечные: каждая система сообщает о своем NFS отслеживает целостность передаваемых данных, умень- присутствии в сети широковещательной рассылкой, и все шая вероятность их потери. машины могут динамически монтировать ресурсы друг друга, Для операционной системы Linux NFS — точно такая же предоставленные для общего доступа. Система NFS отли- файловая система, как и любая другая. Общий ресурс NFS вы

CHIP| LINUX 1/2005 Ó·˘ËÈ ‰ÓÒÚÛÔ Í Ù‡ÈÎ‡Ï 83

можете смонтировать по сети точно так же, как вы обычно делаете это с дискетой или разделом жесткого диска. Общие ресурсы могут даже автоматически монтироваться в случае обращения к ним, если, конечно, клиентская система наст- роена соответствующим для этого образом (об этом мы вам расскажем немного позже). Linux можно сконфигурировать для работы в качестве серве- ра, клиента NFS или того и другого одновременно. | Конфигурирование сервера NFS | Чтобы настроить Linux для работы в качестве сервера NFS, нужно включить одноименный сервис, например, через ути- литу ntsysv или в графическом режиме с помощью меню «Системные параметры p Настройка сервера p Службы». Убедитесь также, что запущен сервер portmap. Он необходим для функционирования системы NFS, поскольку NFS-серверу требуется механизм оповещения клиентов о том, к какому ÖÒÎË ‚˚ ıÓÚËÚÂ, ˜ÚÓ·˚ NFS-ÒÂ‚Â Á‡ÔÛÒ͇ÎÒfl ÔË ÒÚ‡Ú порту им подключаться. ÒËÒÚÂÏ˚, ËÒÔÓθÁÛÈÚ ÛÚËÎËÚÛ ntsysv После установки этих опций и перезагрузки Linux пре- доставит через NFS общие ресурсы, указанные в файле /etc/exports. В нем должны быть перечислены каталоги, кото- Чтобы получить список всех имеющихся общих ресурсов и рые необходимо выложить в общий доступ через NFS, а так- права доступа к ним, можно использовать команду «show- же имена пользователей и хосты, которые будут иметь право mount». Проверить, правильно ли настроен файл /etc/exports, доступа к ним. Если файл /etc/exports не существует или не- можно следующим образом: доступен для чтения в самом начале работы сети, система NFS просто-напросто не запустится. showmount -e Полный формат файла /etc/exports описывается на стра- Exports list on localhost: ницах специального справочного руководства «man exports». /usr Everyone Строка экспорта должна включать в себя одно или несколь- /home/lena 192.168.0.47 ко имен каталогов, которые экспортируются (то есть предо- /home/vasya 192.168.0.49 ставляются для общего доступа), опций экспорта и необя- / 192.168.0.1 зательного списка хостов (тех, что задаются IP-адресом, именем сети, сетевой группой или по имени), которым раз- | Конфигурирование клиента NFS | решается использовать соответствующие каталоги. Напри- Если вы собираетесь монтировать общие ресурсы NFS с дру- мер, приведенная ниже строка предоставляет в общий доступ гих серверов, то для начала необходимо сконфигурировать каталог /home и все его внутренние подкаталоги для любого вашу систему в качестве клиента. С технической точки зре- подключившегося хоста: ния это совсем необязательно — можно монтировать общий ресурс NFS примитивным способом, не прибегая к каким- /home -alldirs либо предварительным настройкам. Однако конфигуриро- вание системы в качестве клиента NFS предоставляет много Учтите, что опция -alldirs может быть указана только в том дополнительных возможностей и гарантирует обеспечение случае, если общий ресурс является точкой монтирования быстрой и надежной работы. физической файловой системы (например, /usr или /home). Иначе доступ к ресурсу предоставлен не будет. | Монтирование удаленных файловых Общий ресурс, доступ к которому (только для чтения) мо- систем | гут получить три указанных хоста, вы можете задать следую- Монтирование общего ресурса NFS выполняется с помощью щим образом: команды «mount». Как правило, этой команде передаются два аргумента — имя хоста и имя общего ресурса в виде комбини- /usr -ro -alldirs office.domain.ru managers.domain.ru рованной строки, а также локальная точка монтирования: 192.168.0.16 mount -t nfs office:/home /home2 После внесения изменений в файл /etc/exports необходимо перезапустить систему NFS. Для этого введите команду: При успешном монтировании на экран не выдается ника- ких сообщений. Проверить, успешно ли произошло монти- /etc/rc.d/init.d/nfs restart рование, можно командой «df»:

1/2005 LINUX| CHIP 84 advanced ‡·ÓÚ‡ ‚ ÒÂÚË

Настроить этот демон можно с помощью утилиты ntsysv или через пункт меню «Системные параметры p Настройка сервера p Службы». Демон можно также запустить вручную с помощью ниже приведенной команды:

amd -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map

Теперь при работающем демоне amd нужно перейти с по- мощью команды «cd» в каталог /host и просмотреть его со- держимое. Как видите, система выдает сообщение о том, что данный каталог пуст:

cd /host ls äÓχ̉‡ ‡Á‡·ÓÚ˜ËÍÓ‚ Ô‡ÍÂÚ‡ Samba #

Однако можно попытаться найти каталог по имени таким df образом, как будто бы там уже имеется директория, имя кото- Filesystem 1K-blocks Used Avail Capacity Mounted on рой совпадает с именем одного из серверов NFS в сети: /dev/hda1 992239 54353 858597 6% / /dev/hda2 26704179 4872963 19694882 20% /home ls office procfs 4 4 0 100% /proc # homes office:/home 9924475 1642343 7488174 18% /home2 В каталоге /host действительно появился office, а в нем — Файловая система будет оставаться смонтированной до тех подкаталог homes, содержащий то же самое, что и office:/homes. пор, пока не будет явно демонтирована с помощью команды Он только что автоматически подмонтировался в каталог /host «umount»: при первом же обращении к нему. Для еще большего удобства можно создать символическую umount /home2 ссылку на нужный каталог:

Как и в других типах файловых систем, здесь можно доба- ln -s /host/office/homes /home2 вить описание монтируемых ресурсов NFS в файл /etc/fstab, что впоследствии упростит сам процесс монтирования: С этого момента при переходе в каталог /home2 общий ре- сурс office:/homes будет монтироваться автоматически, и вы Device Mountpoint Fstype Options Dump Pass# получите доступ к нужным файлам. Неиспользуемый общий office:/home /home2 nfs rw,-T,-i,noauto 0 0 ресурс будет автоматически демонтирован. Можно создавать намного более сложные карты монтиро- При наличии такой записи можно смонтировать файловую вания для демона amd, задавая записи в файле /etc/amd.conf. систему NFS следующей простой командой: Подробные сведения о его формате и предоставляемых им возможностях можно найти на страницах справочного ру- mount /home2 ководства «man amd.conf».

Более подробную информацию об опциях монтирования | Взаимодействие с сетью Windows | вы можете получить в справочной системе с помощью ко- А что делать, если большинство пользователей вашей локаль- манды «man mount». ной сети работают на компьютерах под управлением опе- рационной системы Windows? Система NFS — отличное | Демон автоматического монтирования | решение проблемы совместного использования файлов Демон автоматического монтирования amd дает возмож- Unix-машинами, однако она мало распространена в боль- ность сделать работу с общими ресурсами NFS еще более шинстве пользовательских операционных систем. Windows простой и удобной. Он позволяет монтировать их (а на са- поддерживает ее только с помощью приложений сторонних мом деле и все типы файловых систем тоже) динамически производителей. Поэтому при включении компьютера под при переходе в необходимый каталог, не вводя при этом ни- управлением Linux в существующую сеть нужно выполнить каких соответствующих команд. несколько необходимых настроек, позволяющих операцион-

CHIP| LINUX 1/2005 Ó·˘ËÈ ‰ÓÒÚÛÔ Í Ù‡ÈÎ‡Ï 85

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

| Введение в систему Samba | Система Samba — это некоммерческий проект с открытым исходным кодом, который позволит вашей системе пользо- ваться всеми преимуществами совместного доступа к файлам Windows. Но SMB представляет собой нечто большее, чем просто протокол для обмена файлами. Например, он позво- ляет совместно использовать принтеры, последовательные äÓÌÙË„ÛËÓ‚‡Ú¸ ̇ÒÚÓÈÍË Samba ÏÓÊÌÓ Ë ˜ÂÂÁ ‚·- порты и даже такие абстрактные ресурсы как named pipes и ËÌÚÂÙÂÈÒ Ò ÔÓÏÓ˘¸˛ ÔÓ„‡ÏÏ˚ SWAT слоты для обмена сообщениями (mailslots). SMB использует протокол более низкого уровня — NetBIOS, разработанный Samba входит smbclient, предоставляющий помимо пользова- IBM в 1985 году, который, в свою очередь, может работать тельского интерфейса командной строки, схожего с FTP, еще на любом другом протоколе layer 3 — TCP/IP, SPX/IPX, и возможность печати на удаленных принтерах. Samba-сервер DECnet; или же на специально созданном для транспорта позволяет компьютеру с Linux подключаться к NT-домену в NetBIOS-пакетов в небольших сетях NetBEUI. В NetBIOS/ качестве клиента или контроллера домена (разумеется, под- SMB входят не только методы для работы с файлами, но держивается и работа без него), предоставлять Windows- и и средства обнаружения (browsing) SMB-серверов, что от- Unix-клиентам доступ к локальному принтеру, а также под- личает этот протокол ото всех остальных. Серверы с помо- держивать список серверов для своей рабочей группы. щью широковещательных пакетов анонсируют свое присут- Протокол не стоит использовать при наличии заметных ствие в сети, а также отвечают на запросы, поступающие задержек в сети (например, в случае, когда пакетам нужно от клиентов, что позволяет последним получать актуальные пройти через несколько маршрутизаторов). В целом SMB де- списки сетевого окружения. лает ограничение доступа к файлам на уровне ресурсов не- В SMB используются две модели защиты — на уровне ре- сколько проще, а множество настроек Samba-сервера и SWAT сурса (share level) и на уровне пользователя (user level). В пер- (веб-интерфейс для его конфигурирования, также входящий вом случае устанавливается пароль на ресурс (share) в целом, в пакет Samba) позволяют оптимально настроить сервер даже и при успешной аутентификации клиент получает права на начинающему администратору. доступ ко всем файлам, находящимся внутри. Во втором же случае в процессе установки сессии происходит аутен- | Установка и конфигурирование Samba | тификация пользователя, и ему выдается UID (универ- В самом простом случае запуска системы Samba необходимо сальный идентификатор пользователя), который впослед- только отредактировать файл smb.conf, изменив строку рабочей ствии будет применяться для определения различных прав группы в соответствии с именем рабочей группы или домена, в доступа на файловом уровне. который должна входить машина: При работе используются фиксированные «хорошо извест- ные» (well-known) TCP/UDP-порты (135, 137-139, 445), что workgroup = MY_WORKGROUP позволяет легко настроить брандмауэр для защиты от посто- ронних вторжений. Это особенно актуально, если вспомнить о Теперь при перезагрузке системы Samba будет запускаться регулярно обнаруживаемых уязвимостях в сетевых сервисах от автоматически. Microsoft. Защиты передаваемых данных не предусмотрено, за исключением шифрования пароля при аутентификации. | Интернет-SWAT | Для данного протокола характерны небольшие задержки при Основным файлом конфигурации системы Samba является работе с файловой системой, но при должной настройке серве- /usr/local/etc/smb.conf, в котором можно устанавливать десят- ра будет обеспечена высокая скорость передачи данных. Зна- ки различных параметров и задавать общие ресурсы. Каждая чительным преимуществом является поддержка различных ко- опция неплохо описана в комментариях в файле примера довых страниц, что позволяет клиентам, использующим Linux, smb.conf.default, однако с ходу разобраться в его содержимом понимать русские имена файлов на Windows-сервере, и наоборот. непросто: опций для установки там очень много (все они де- В Fedora Core 3 присутствует поддержка smbfs, позволяю- тально описаны на страницах справочного руководства man щая монтировать удаленные ресурсы SMB-сервера. В пакет smb.conf), и между ними есть масса тонких различий.

1/2005 LINUX| CHIP 86 advanced ‡·ÓÚ‡ ‚ ÒÂÚË

Существует также альтернативный метод формирования и манды «chown»). Работая с системой SWAT, регистрируйтесь настройки файла smb.conf. Речь идет о системе SWAT (Samba под именем smbowner, а не root. Не используйте это имя Web Administration Tools), который входит в состав портиро- пользователя для решения других задач на сервере, не давай- ванного пакета Samba и позволяет конфигурировать его через те ему никаких привилегий, запретите доступ к командному веб-браузер. В результате существенно упрощается работа с интерпретатору и не создавайте для него домашний каталог. файлом конфигурации, снижается вероятность появления в Поддержку SWAT можно включить добавлением в файл нем ошибок. Недостаток же этой системы, к сожалению, /etc/services следующей строки: присущ всем без исключения веб-приложениям — это су- щественная угроза безопасности. Система SWAT аутенти- swat 901/tcp фицирует клиентов с помощью базы данных пользователей системы Linux, хранящейся в каталоге /etc/master.passwd, и Затем впишите в файл /etc/xinetd.conf следующее: посылает эти данные по сети в нешифрованном виде, из-за чего они могут быть легко перехвачены злоумышленником. swat stream tcp nowait root /usr/local/sbin/swat swat Риск можно значительно снизить, воспользовавшись сле- дующими рекомендациями. И, наконец, перезапустите демон inetd: 3 Обращайтесь к системе SWAT только с локального хоста (localhost). Это предотвратит пересылку информации по сети. /etc/rc.d/init.d/xinitd restart 3 Работайте, пользуясь защитой брандмауэра, запрещающе- го передачу информации извне. Теперь вы можете обращаться к системе SWAT по адресу 3 По умолчанию файл smb.conf принадлежит суперпользо- http://localhost:901. Она запросит имя пользователя и пароль. вателю, поэтому браузер должен регистрироваться в системе SWAT позволяет изменять настройки предоставляемых для об- SWAT, передавая пароль пользователя root, который посыла- щего доступа ресурсов и принтеров, а также глобальные наст- ется по сети в явном виде вместе с каждым HTTP-запросом ройки Samba. Вы можете также узнавать текущее состояние сер- к SWAT. Никогда не делайте этого в сети, в которой потен- вера и управлять пользователями системы. циально может находиться злоумышленник. Если же вы предпочитаете делать все собственными рука- 3 Создайте фиктивного пользователя (например, smbowner) ми, можете внести изменения в файл конфигурации Samba и сделайте его владельцем файла smb.conf (с помощью ко- посредством прямого редактирования smb.conf.

История развития и разновидности NFS ëÂÚ¸ ËÁ ÏË‡ Unix В 1985 году компания Sun поддержку кеширования получения атрибутов всех требовалось, поэтому и защи- Microsystems выпустила пер- файлов NFS-сервера на файлов в каталоге с файлами та была реализована доста- вую версию сетевой файло- диске клиента. в количестве N потребова- точно примитивно. Она рабо- вой системы NFS (Network Время шло, требования лось бы число операций, тала только при том условии, File System). Изначально возрастали. Первое значи- равное N+1 ); что и сеть, и клиент, и сервер предназначенная для экспор- тельное изменение прото- 3 поддержка TCP-протокола, были защищены от хакерских тирования частей файловой кола NFS в основном было что положительно сказалось действий. NFS-запросы долж- системы с одного сервера на связано с необходимостью на загрузке маршрутизаторов ны были приходить с при- другой, она активно исполь- поддержки файлов размером и брандмауэров. вилегированных портов зовала протокол RPC для вза- свыше 2 Гбайт. В состав Все это привело к созданию 1–1024, которые не могли имодействия компонентов изменений вошли: сетевой файловой системы, быть использованы пользо- между собой, поддерживала 3 увеличение максимального которая стала настоящим вательскими приложениями совместный доступ к файлам, размера блока данных при чемпионом по производи- в Unix. Права доступа к фай- а также все их атрибуты, ис- операциях чтения/записи тельности практически в лю- лам определялись с помощью пользующиеся в системах до 32 кбайт (large block file бых операциях внутри ло- UID пользователя, передан- Unix, и являлась совершенно transfers); кальной сети. Основным не- ного клиентом серверу. прозрачной для пользователя. 3 поддержка отложенной за- достатком системы осталась Со временем серверы обза- Применение UDP-протокола писи (прежние стандарты тре- слабая защищенность. Ведь велись дополнительными вместо TCP уменьшило влия- бовали от сервера сбросить NFS создавалась для экспор- возможностями: ние сетевых задержек и тре- данные на диск или в NVRAM, та файловой системы с Unix- 3 root_squash и all_squash бовательность к ресурсам прежде чем отвечать на кли- хоста на Unix-хост внутри указывают серверу, что опе- слабых по нынешним меркам ентский запрос о записи); корпоративной сети. Сами рации, заявленные клиентом компьютеров того времени. 3 readdirplus — возврат атри- пользователи работали с ней как проводящиеся с UID = 0 В некоторых реализациях бутов файлов вместе с лис- как с частью файловой сис- (root_squash) или вообще NFS приобрела различные по- тингом каталога за одну опе- темы, и никаких клиентских с любым UID (all_squash), лезные дополнения, например рацию (в старых версиях для программ, как для FTP, не должны исполняться с при-

CHIP| LINUX 1/2005 Ó·˘ËÈ ‰ÓÒÚÛÔ Í Ù‡ÈÎ‡Ï 87

| Предоставление каталогов для общего доступа | ступ к домашнему каталогу для каждого пользователя, опре- Немало примеров конфигурирования каталогов общего до- деленного на сервере Samba: ступа можно найти в файле smb.conf.default. Чтобы задейст- вовать их, вы должны внести соответствующие изменения [homes] (сняв комментарии на нужных строках) в файл smb.conf, а за- comment = домашние каталоги тем перезапустить сервер Samba: browseable = no writeable = yes /etc/rc.d/init.d/smb restart Данный ресурс установлен как «непросматриваемый» Чтобы предоставить какой-либо каталог в общее пользова- (browseable = no), но если клиент подключается от имени ние, нужно определить его как общий ресурс: действительного пользователя, имеющего домашний каталог на сервере Samba, то [homes] появится в числе общедоступ- [public] ных ресурсов. При этом домашние каталоги других пользова- comment = общие файлы телей видны не будут. path = /usr/local/share/samba-public public = yes | Совместная печать | writeable = yes Как и [home], [printers] — это специальный общий ресурс, немно- printable = no го отличающийся от остальных. В Linux все принтеры, опреде- write list = @users ленные в файле /etc/printcap, доступны каждому пользователю. По умолчанию ресурс [printers] настроен следующим образом: При наличии таких строк клиент будет видеть в сетевом окружении ресурс public вашего компьютера. Однако, пока [printers] пользователь не будет аутентифицирован сервером и не comment = samba-принтер станет членом Unix-группы «users», файлы ресурса будут до- path = /var/spool/samba ступны ему только для чтения. browseable = no По умолчанию определяется и включается [homes] — спе- # Установите public = yes, чтобы разрешить печать циальный общий встроенный ресурс, обеспечивающий до- пользователю guest

вилегиями пользователя Для привязки сервисов NFS к ются Kerberos-аутентификация в каталоге /etc/exports). При nobody. Это позволяет легко определенным портам, чтобы и шифрование трафика. возможности создания изоли- организовывать анонимный облегчить процесс настройки Есть несколько NFS-клиентов рованного сегмента сети для readonly-доступ к несекретной брандмауэра, стоит взглянуть для Windows, большинство серверов можно получить об- информации (например, ви- на следующие страницы до- из которых распространяют- щий каталог /home. Можно деофайлам, музыке, доку- кументации: rpc.statd (ключ ся на коммерческой основе создать также бездисковые ментации, дистрибутивам, -o), rpc.mountd (ключ -p), (http://hummingbird.com/pro- рабочие станции (www.linux- /usr/share и т. д.); rpc.rquotad (ключ -p), ducts/nc/nfs/index.html?cks=y). center.ru/lib/networking/ 3 uid mapping позволяет орга- rpc.nfsd (ключ -p). Однако компания Microsoft nfs_root_minihowto.phtml; низовать трансляцию клиент- Существует несколько реали- не так давно сделала бесплат- www.remoteboot.ru/ru/remote ских UID в соответствующие заций NFS-серверов, поддер- ным свой Services For Unix boot/dskless.html). им UID на стороне сервера, живающих шифрование тра- v3.5 (www.microsoft.com/win- Немалый интерес представ- что полезно, например, когда фика. Это, например, sNFS dows/sfu), в состав которого ляет возможность примон- пользователи с одинаковыми (www.crufty.net/ftp/pub/sjg/ были включены и NFS-клиент, тировать часть файловой именами имеют различные help/sNFS.html). Кроме того, и NFS-сервер. системы сервера в chroot- UID на сервере и клиенте; при работе с NFS через TCP, На сегодня область примене- окружение какого-либо де- 3 insecure mounting и воз- как и практически в любой ния NFS не изменилась, и эта мона, работающего на том можность привязки RPC- другой сетевой файловой си- файловая система по-прежнему же самом сервере в readonly- сервисов к определенным стеме, трафик можно пере- является самым универсаль- режиме: в случае взлома портам отменяют обязатель- направить в предварительно ным методом обмена частя- это гарантирует отсутствие ное условие использования установленный между хостами ми файловой системы между троянов, например, в /usr. клиентом портов 1–1024. SSL-туннель (созданный, на- логически связанными сер- «Легкость» NFS в этом слу- Это избавляет многих адми- пример, с помощью openssl, верами. С ее помощью можно чае позволяет вам свести нистраторов, настраивающих SSH или stunnel (http:// раздавать дистрибутивы и к минимуму издержки мон- брандмауэры, от лишней www.stunnel.org). В NFSv4 обновления для серверов тирования удаленной фай- головной боли. (http://nfsv4.org) поддержива- (используя параметр all_squash ловой системы.

1/2005 LINUX| CHIP 88 advanced ‡·ÓÚ‡ ‚ ÒÂÚË

предоставляется или запрещается отдельно. Чтобы разрешить работу такому пользователю, раскомментируйте строку «guest account» в файле smb.conf следующим образом:

guest account = pcguest

Теперь необходимо добавить в систему учетную запись pcguest с помощью команды «adduser».

| Файловая система smbfs | Совместное использование файлов по протоколу SMB может быть двусторонним. Удаленные общие ресурсы SMB можно монтировать так же, как и любую другую файловую систему. Речь идет о файловой системе smbfs, доступной в портирован- ных приложениях каталога /usr/ports/net/smbfs. î‡ÈÎÓ‚˚È ÏẨÊÂ Nautilus ‰Â·ÂÚ Ì‡‚Ë„‡ˆË˛ ÔÓ ÒÂÚË Чтобы смонтировать SMB с помощью smbfs, используйте Windows ÔÓÒÚÓÈ Ë Û‰Ó·ÌÓÈ команду «mount_smbfs» вместе с несколькими простыми оп- циями. Например, -I задает имя хоста или IP-адрес, а два дру- guest ok = no гих аргумента – имя удаленного общего ресурса (в формате writeable = no //пользователь@<имя NETBIOS>/<имя ресурса>) и локаль- printable = yes ную точку монтирования. Например, для монтирования обще- го ресурса public с Windows-машины office в локальный каталог | Управление доступом | /mnt/public используется следующая команда: В системе Samba есть два популярных способа управления до- ступом — на уровне пользователей и на уровне общих ресурсов. mount -t smbfs -o username = somename, password = somepass Стандартное управление доступом происходит на уровне поль- //office/public /mnt/public зователей и задается командой «security» в файле smb.conf: По аналогии с предыдущими примерами можно добавить security = user общий ресурс SMB для гостевого доступа в файл /etc/fstab с по- мощью следующей строки: При таком управлении доступом клиент в начале соедине- ния предоставляет серверу имя пользователя и пароль. Если //guest@office/public /smb/public smbfs rw,noauto 0 0 сервер успешно идентифицирует клиента, ему открываются для доступа все общие ресурсы. Ресурс будет примонтирован при старте системы. При управлении доступом на уровне общих ресурсов клиент может подключаться к серверу Samba безо всякой аутентифика- | Окна в сеть | ции. Клиенту может быть отказано в доступе, только если его Есть еще более простой способ получить доступ к ресурсам IP-адрес не указан в файле smb.conf (в строке «hosts allow»). При Windows-сети — использование возможностей оболочек таком способе управления доступом клиент свободно может GNOME или KDE. Эти графические среды уже имеют встро- получить только те общие ресурсы, которые помечены параме- енный samba-клиент. Все, что остается сделать, — это набрать тром «public = yes», но домашние каталоги пользователей по- в адресной строке файлового менеджера следующее: прежнему будут защищены именем пользователя и паролем. Подробнее об организации защиты ресурсов общего ис- smb://имя_ресурса пользования вы можете прочесть в файлах раздела докумен- тации /usr/share/doc/samba. В появившемся окне нужно будет ввести имя пользователя и пароль. Если никаких ограничений на доступ к ресурсу нет, | Гостевой пользователь | имя пользователя должно быть guest. Файловый менеджер Доступ к некоторым службам Samba, в частности к службе Nautilus прекрасно отображает русские названия файлов и печати, имеет смысл предоставить любому пользователю, не- папок. Однако у такого способа есть и один недостаток, за- зависимо от аутентификации. Для этого нужно использовать ключающийся в том, что ресурс не монтируется непосредст- так называемую гостевую учетную запись для пользователя, венно в файловую систему Linux. которому необходим доступ только к одной конкретной Как видите, работать в Linux с сетевыми ресурсами очень службе. Назначение гостевых пользователей рекомендуется в легко. Простой метод настройки и наличие большого объема основном для серверов Samba, работающих с защитой на различной справочной информации помогут вам сделать си- уровне ресурсов, поскольку доступ гостя к каждому ресурсу стему еще более удобной в использовании. |

CHIP| LINUX 1/2005 90 FAQ ÓÚ‚ÂÚ˚ ̇ ‚ÓÔÓÒ˚ î‡ÍÚ˘ÂÒÍËÈ Ï‡ÚÂˇÎ

В любой, даже самой отточенной системе есть резерв для совершенствования. Этот раздел поможет вам сделать работу в Linux удобнее и продуктивнее, а возможно, здесь вы найдете решение какой-либо программной или аппаратной проблемы.

RPM # Лицензия, по которой распространя- # Полное описание программы. Обычно ется программа 4-5 строчек о том, что же Сборка пакета # Например, GPL, BSD и т. д. # представляет собой данная программа из исходных текстов У меня есть программа, дистрибутив ко- Group: %prep торой распространяется только в исход- # Группа, к которой можно отнести %setup -q ных текстах. Подскажите, каким образом программу # Эти две строки отвечают за распа- можно собрать из нее RPM-пакет? Хочется # Полный список групп можно просмот- ковку архива, указанного в разделе обеспечить ему единое управление приложе- реть в файле /usr/share/doc/rpm- # Source. Обычно они остаются ниями в системе. */GROUPS неизменными. Более подробно # об их значении можно прочитать Для начала вам придется написать spec- Source: http://url/%{name}- в книге «Maximum RPM» файл, указывающий, как именно надо со- %{version}.tar.gz бирать пакет. Общий формат такого файла # Источник получения программы %build выглядит примерно следующим образом: # Кроме того, этот же раздел использу- # Здесь указываются команды для сбор- ется для получения ки программы из исходных текстов # Шаблон с комментариями для подго- # имени файла архива с исходными # Не забывайте, что, согласно общему товки spec-файла текстами правилу LSB (Linux Standard Base), # Каждый тег снабжен комментарием, # (методом отсечения всего, что нахо- # все пользовательские программы из расположенным в следующей за ним дится до последнего символа «/») пакетов должны ставиться в каталог строке /usr или /opt URL: http://url Summary: Short Summary # Ссылка на домашнюю страницу %install # Краткое описание программы программы # Здесь должны быть команды, необ- в одну строку ходимые для установки программы в Requires: something > = version # каталог buildroot, который внутри фай- Name: ProgramName # Список зависимостей программы, ла спецификации удобнее всего # Название программы например # отмечать макросом %{buildroot} bash > = 2.0 Version: 0.0.0 %clean # Версия программы BuildRoot: %{_tmppath}/%{name}-root # Набор команд для очистки каталога # Точка сборки программы. Обычно она buildroot после сборки пакета Release: 0 именно такая # Наиболее красивым и правильным # Порядковый номер сборки пакета считается такой набор: %description [ %{buildroot} != «/» ] && rm -rf %{build- Copyright: License Full program description root}

CHIP| LINUX 1/2005 Ô‡ÍÚ˘ÂÒÍË ÒÓ‚ÂÚ˚ 91

%files с 1 на 0, чтобы yum не пыталась прове- Flash-анимации. Собственно, вопрос: что # Список файлов в получаемом пакете рять подписи пакетов при установке. На мне надо сделать, что бы они там появились? этом настройка завершена. Все, что вам %defattr(-,root,root) осталось теперь сделать, — это дать ко- Если мы правильно поняли вопрос, то # Права по умолчанию на эти файлы, манду на установку пакета: речь здесь идет не о том, что Linux не в формате умеет, а Firefox на веб-страницах не по- # «права, владелец, группа владельца». yum install <пакет> казывает Flash-ролики. Да, он дейст- В случае, если права на файл вительно их не показывает, причем по # уже установлены, вместо них исполь- APT банальной причине – в системе нет зуется знак «-» для этого специализированного плаги- Установка apt в Fedora Core на. Если он вам действительно необхо- После того как вы сформируете данный Все, конечно, замечательно, но мне совер- дим, просто скачайте его по адресу: файл, расположите пакет с исходными шенно не нравится yum. Подскажите, могу http://macromedia.rediris.es. Установить файлами в директории /usr/src/redhat/ ли я каким-то образом использовать в скачанный пакет можно стандартной SOURCES. После чего в директории со Fedora Core его аналог — apt? Или же это командой: spec-файлом скомандуйте: невозможно? rpm -ivh <пакет> rpmbuild -bb ./ Возможно, как известно, все. В частнос- ти, и использование apt в Fedora Core. Fedora Core Если процесс сборки пройдет успешно, Хотя данный пакет и не входит в базовую вы найдете готовый RPM-пакет в дирек- поставку операционной системы, его Установка тории /usr/src/redhat/RPMS. | всегда можно скачать в Сети по адресу: Windows-шрифтов http://download.fedora.us/fedora/fedo- Русские шрифты из поставки Fedora Core YUM ra/2/i386/RPMS.stable. Присутствующий выглядят достаточно неаккуратно. Могу здесь пакет для второй версии Fedora ли установить в систему шрифты из Создание репозитория совершенно нормально функционирует Windows? Или, возможно, где-то уже по- Что мне необходимо сделать, чтобы со- и в третьем релизе. | явились готовые пакеты со шрифтами? здать на домашней машине свой собствен- ный репозиторий пакетов и после этого Fedora Project Чтобы установить в Fedora Core шриф- иметь возможность работать с ним по- ты из Windows, нет никаких проблем. средством утилиты yum? Специализированные Для этого достаточно открыть файло- пакеты вый менеджер Nautilus и в строке ввода Порядок действий следующий. Для на- Насколько я помню, до того как проект прописать следующую строку : чала расположите все пакеты, которые Fedora перешел под крыло Red Hat и начал вы хотите иметь в репозитории, в одной выпускать одноименный дистрибутив, он fonts: директории. После этого перейдите в эту занимался лишь сборкой различных полезных самую директорию и дайте команду: пакетов, не входящих в официальный релиз После чего скопировать в открывшуюся дистрибутива Red Hat Linux. Так вот, папку необходимые шрифты. Если же ма- createrepo ./ можно ли где-то найти данные пакеты, со- шины с Windows у вас под рукой нет, и, со- бранные для последней версии Fedora Core? ответственно, шрифты взять негде, обра- Система начнет создавать файлы заго- тите внимание на проект corefonts.sf.net. ловков для пакетов. После того как Да, конечно. Несмотря на то что проект На его сайте можно обнаружить доста- выполнение данной процедуры будет Fedora теперь выпускает одноименный точно подробную инструкцию по сборке завершено, в файле /etc/yum.conf необ- дистрибутив, сборку специализированных пакета со шрифтами от Microsoft и его ходимо описать созданное хранилище. пакетов, не вошедших в релиз системы, последующей установке в вашу систему. | Например, вот так: прекращать никто даже не думал. Найти их можно здесь: http://download.fedora.red- [personal] hat.com/pub/fedora/linux/extras. | RPM name = Our files repository baseurl = file:///media/storage/repo Пересборка пакета Firefox Каким образом я могу получить из файла с Кроме того, в этом же файле необходимо расширением src.rpm готовый RPM-пакет? изменить значение строки: Просмотр Flash-анимации Ведь, если я правильно понимаю, в пакетах Насколько я заметил, в Linux по умолчанию src.rpm хранится еще и исходный текст gpgcheck = 1 отсутствуют средства для просмотра приложения?

1/2005 LINUX| CHIP 92 FAQ ÓÚ‚ÂÚ˚ ̇ ‚ÓÔÓÒ˚

Да, именно так. Но помимо этого там ìÒÚ‡Ìӂ͇ ÔÓ„‡ÏÏ linux acpi = off хранится еще и spec-файл, обеспечиваю- linux i8042.nomux щий процесс сборки. Так что все, что вам Проблема с установкой linux acpi = off apm = off необходимо сделать, — это в директории RPM-пакетов с пакетом дать команду: Находясь в Windows, я скачал программу Первые две строки зачастую помогают в виде RPM и перенес на Linux-машину. решить проблему с некоторыми CD- rpmbuild -rebuild <пакет> Однако при попытке ее установить ко- приводами. Ну а параметр i8042 будет манда rpm, не выдав никакого сообщения, полезен в том случае, если вдруг откажут Собранный пакет будет располагаться в вернула приглашение командной строки. клавиатура или мышь. | директории /usr/src/redhat/RPMS. | Что мне делать? åÓÌÚËÓ‚‡ÌË هÈÎÓ‚˚ı ÒËÒÚÂÏ î‡ÈÎÓ‚˚È ÏẨÊÂ Internet Explorer иногда замещает симво- лы в названии скачиваемых файлов ква- Поддержка NTFS Привычный вид Nautilus дратными скобками. Система RPM не Раньше я использовал ASPLinux, и в нем Как при переходе в новую папку заставить может установить такие файлы и прекра- можно было просматривать содержимое Nautilus отображать ее в том же окне? щает работу, не выводя сообщений об Windows-разделов. Перейдя на Fedora ошибке, так как эти символы являются Core, я обнаружил, что ядро не поддержи- По поводу этой концепции ведутся го- служебными для командной оболочки. вает NTFS. Как же мне подмонтировать рячие споры: одним людям она нравит- Чтобы все-таки установить пакет, нужно раздел с Windows? ся, другим – нет. Если вы относитесь переименовать файл командой «mv»: к последним, то можете вернуть фай- Из-за лицензионных ограничений раз- ловый менеджер в старый режим рабо- mv kernel-2\[1\].4.21-20.EL.i686.rpm работчики Fedora Core убрали поддержку ты — «Browser Mode». Для этого надо kernel-2.4.21-20.EL.i686.rpm файловой системы NTFS из этих дис- ввести следующую команду: трибутивов. Проект Linux-NTFS предо- Обратите внимание, квадратные скобки ставляет драйвер, решающий эту пробле- gconftool-2 --type bool --set /apps/nau- в названии файла отделены обратной му. Драйвер представляет собой модуль tilus/preferences/always_use_browser true косой. Для того чтобы точно ввести имя ядра и распространяется в виде RPM- файла, воспользуйтесь автодополнением пакета, так что его установка не должна Чтобы изменения вступили в силу, необ- (клавиша «Tab»). В качестве альтернати- вызвать сложностей. Скачайте с сайта ходимо перезапустить Nautilus. Вернуть вы можно заключить название файла в http://linux-ntfs.sourceforge.net пакет для его в прежнее состояние можно командой: одиночные кавычки: вашего дистрибутива и версии ядра, ко- торую можно узнать, задав команду: gconftool-2 --type bool --set /apps/nau- mv 'kernel-2[1].4.21-20.EL.i686.rpm' tilus/preferences/always_use_browser false kernel-2.4.21-20.EL.i686.rpm uname -r

é·‡Á˚ ‰ËÒÍÓ‚ ìÒÚ‡Ìӂ͇ éë Инсталляция пакета выполняется обыч- ным способом: Монтирование ISO-файла Зависание инсталлятора Я скачал из Интернета образ диска. Ска- Fedora Core rpm -ivh kernel-ntfs-version-cpu.rpm жите, можно ли как-то извлечь из него ин- Я не могу установить Fedora Core. Графи- формацию, не записывая образ болванку? ческий инсталлятор загружается, но в Затем следует загрузить модуль ядра: какой-то момент зависает, и установка Чтобы просмотреть содержимое образа прекращается. Что можно сделать в та- /sbin/modprobe ntfs диска, необходимо подмонтировать его в кой ситуации? качестве loopback-устройства: Допустим, Windows-раздел расположен Если вы испытываете затруднения при на устройстве /dev/hda1. В таком случае mount -o loop /path/filename.iso установке, первым делом прочитайте подключить его можно следующими ко- /mount/newiso «Release Notes» и убедитесь, что конфи- мандами: гурация вашей машины удовлетворяет Здесь /path/filename.iso – путь к ISO- требованиям ОС. Затем попробуйте запу- mkdir /mnt/windows файлу. Не забудьте только предваритель- стить инсталлятор с помощью одной из mount /dev/hda1 /mnt/windows -t ntfs -r но создать директорию /media/newiso, приведенных ниже команд: -o umask = 0222 куда будет подмонтирован образ: linux ide = nodma Помимо этого, поддержка NTFS также mkdir /mount/newiso linux allowcddma дает возможность загружать Windows при

CHIP| LINUX 1/2005 Ô‡ÍÚ˘ÂÒÍË ÒÓ‚ÂÚ˚ 93

помощи загрузчиков lilo или grub. Для плеера графической оболочки KDE, на- Если автоопределение не сработает или первого в файл /etc/lilo.conf необходимо пример, команда будет такой: сработает неверно (см. вывод dmesg), добавить строки: можно попробовать загрузить соответ- yum install kdemultimedia-extras ствующий модуль с указанием совмести- other = /dev/hda1 мой карты и тюнера. Тестировать лучше table = /dev/hda êÂÁÂ‚ÌÓ ÍÓÔËÓ‚‡ÌË при помощи modprobe: label = Windows Создание образа системы modprobe cx8800 card = 34 tuner = 38 Если вы используете grub, отредак- Можно ли создать образ операционной сис- тируйте файл /boot/grub/grub.conf. При темы и сохранить его на компакт-диске? Там же, где расположен файл CARDLIST, этом помните, что в grub устройства вы найдете файл Insmod-options, в кото- обозначаются hd0, hd1, и так далее. Конечно, можно, и это неплохой способ ром указаны дополнительные опции для Разделы нумеруются начиная с нуля. уменьшить время переустановки систе- загружаемых модулей. За более подроб- Таким образом, hda1 пишется в файле мы. В Windows для этого служит програм- ной информацией обращайтесь по адре- конфигурации как hd0,0: ма Norton Ghost от компании Symantec. су: linux.bytesex.org/ Ее аналогом в мире Linux может быть title Windows mkCDrec (http://mkcdrec.ota.be). Утили- ëËÒÚÂχ root (hd0,0) та создает образ загрузочного диска, makeactive включающий в себя несколько скрип- Оперативная память chainloader +1 тов и копию системы, которые могут Есть модуль оперативной памяти, но он ча- быть размещены как на нескольких стично «битый». Можно ли использовать åÛθÚËωˇ CD, так и на другом локальном жест- тот участок, который не поврежден и ком диске или даже сетевом (NFS). остается рабочим? Проигрывание MP3 MkCDrec поддерживает файловые сис- Почему я не могу слушать MP3-файлы при темы форматов EXT2, EXT3, MINIX, Да, можно. Есть два пути. Если по- помощи XMMS из поставки Fedora Core? JFS, XFS, Reiser FS, а также LVM и врежденные участки находятся ближе RAID. Можно даже делать «снимок» к концу, то можно, узнав об этом при Например, в США и некоторых дру- разделов MSDOS, FAT, VFAT и NTFS. помощи утилиты memtest86, указать гих странах за использование алго- Подробнее об инсталляции и работе с ядру при загрузке использовать часть ритма компрессии MP3 необходимо этой утилитой можно узнать из доку- памяти. Например, общий объем ОЗУ платить лицензионные отчисления. ментации на сайте программы. | составляет 256 Мбайт. Начиная с 190 Поэтому популярный мультимедий- Мбайт располагаются поврежденные ный плеер XMMS в составе Fedora åÛθÚËωˇ участки. Чтобы Linux использовала в Core изначально лишен возможности работе только первые 190 Мбайт, необ- проигрывать файлы данного формата. ТВ-тюнер ходимо добавить в загрузчик опцию Чтобы вернуть ему утраченную силу, Я затрудняюсь выбрать ТВ-тюнер, вдруг mem=189M. Значение лучше округ- отредактируем файл /etc/yum, доба- он не поддерживается Linux. Что вы мне лить до 4-х, 188. Пример для lilo.conf: вив в него строки: посоветуете? image = /boot/vmlinuz-up [livna-stable] Список поддерживаемых чипов и тю- label = linux-up name = Livna.org — Fedora Compatible неров можно найти в исходниках ядра root = /dev/hda4 Packages (stable) (Documentation/video4linux/bttv/CARD initrd = /boot/initrd-up.img baseurl = http://rpm.livna.org/fedora/ LIST) либо поискать в Интернете. В на- append = "mem = 188M" $releasever/$basearch/RPMS.stable стоящий момент поддерживаются все read-only http://livna.cat.pdx.edu/fedora/$relea- тюнеры, работающие на чипах 8x8, а sever/$basearch/RPMS.stable также еще и на двух новых — saa7134 и Пример для GRUB: gpgcheck = 1 cx88. Для настройки, как правило, до- статочно указать в файле /etc/mod- title linux-up Затем установим дополнение к плееру ules.conf одну строку, которая будет за- kernel (hd0,3)/boot/vmlinuz-up root = командой: гружать модуль, а тот, в свою очередь, /dev/hda4 vga = 788 mem = 188M по зависимостям в /lib/modules/вер- initrd (hd0,3)/boot/initrd-up.img yum install xmms-mp3 сия_ядра/modules.dep загрузит недо- стающие модули: Второй вариант — это использование Подобные плагины существуют и для патча к ядру badmem (badmem.source- других проигрывателей. Для штатного alias char-major-81 cx8800 forge.net/). |

1/2005 LINUX| CHIP 94 review cÓÙÚ-Ó·ÁÓ

функции работы со звуком: редактор Язык интерфейса: английский BEAST/BSE семплов, всевозможные фильтры, сред- Лицензия: GPL ства для редактирования потока звука, Сайт производителя: Вы когда-нибудь играли в кубики? Про- поддержка плагинов, в том числе и сов- http://beast.gtk.org грамма BEAST предоставляет такую воз- местимых с распространенным форматом можность, причем делать это можно, по- LADSPA (www.ladspa.org). строив цепочку обработки звука, подаю- Одна из главных частей BEAST называет- щегося на вашу звуковую плату. Каждый ся BSE (Bedevilled Sound Engine). Она кубик — это процессор эффектов. Соеди- представляет собой средство для про- няя выход одного кубика с входом друго- граммистов, помогающее в разработке го, эффекты объединяются и получаются новых фильтров и генераторов звука. новые. Многие из них имеют несколько BEAST базируется на библиотеках MAD входов и выходов, что позволяет беско- и Ogg/Vorbis, поэтому полученную ком- нечно комбинировать сочетания, созда- позицию можно сохранить в одном из вая абсолютно неповторимое звучание. наиболее удобных для вас форматов, Кроме того, в BEAST есть и все основные например MP3 или OGG Vorbis.

программа-каталогизатор, позволяю- Программа имеет несколько режимов ра- F-Spot щая управлять архивом изображений. боты. Например, в «Календаре» показы- F-Spot работает напрямую с фотокаме- ваются только фотографии, собранные Большинство пользователей с насторо- рами, предоставляет возможность опе- пользователем за определенный период женностью относится к новым техно- рировать фотоматериалами, изменять времени. А режим «Редактирование» поз- логиям. Первое, что чаще всего броса- их размер, яркость и контрастность. воляет проследить за всеми изменения- ется в глаза, — явная нестабильность ми, которые вы вносили в изображение. всех этих новинок. Приятным исклю- Стоит отметить также и то, что F-Spot чением из правила стал проект Mono находится на стадии активного разви- и некоторые продукты, основанные тия. Однако, несмотря на это, програм- на нем, в числе которых и F-Spot. ма весьма стабильна и работает именно Программ для просмотра изображений, так, как вам бы этого хотелось. подобных Gthump или GQview, очень и очень много, и F-Spot вроде бы достаточ- Язык интерфейса: английский но сильно похожа на них. Но стоит коп- Лицензия: GPL нуть чуть глубже, и понимаешь — назна- Сайт производителя: www.gnome.org/ чение этого продукта совсем другое. Это projects/f-spot

ражение картинок можно отключить, но Язык интерфейса: русский Liferea все равно получится долго. Чтобы избе- Лицензия: GPL жать всех этих неприятностей, существуют Сайт производителя: ttp://liferea. Вы когда-нибудь представляли себе объем клиенты для чтения RSS. Liferea является sourceforge.net информации, ежедневно появляющейся одним из самых удобных приложений в в Интернете? А скорость, с которой она об- этой категории. Внешне она очень похожа новляется? Если вы не являетесь привер- на почтовый клиент, но работает не с поч- женцем какого-либо новостного ресурса, той, а с новостями. Точно так же, как в уследить за многообразием событий весь- Evolution, клиенту указывается сервер, ма нелегко, и чем быстрее появляются но- с которого надо загружать RSS. Liferea под- вости, тем больше времени вы тратите на держивает большинство тегов RSS и авто- ознакомление с ними. Предположим, вас матическое обновление сообщений. Но- интересует информация, публикуемая пя- вость можно открыть в заранее указанном тью различными сайтами. Вы запускаете браузере или в самой Liferea. Есть возмож- браузер, открываете пять страниц и ждете, ность редактирования списка ресурсов пока загрузится все их содержимое. Отоб- для получения RSS и многое другое.

CHIP| LINUX 1/2005 cÓÙÚ-Ó·ÁÓ 95

Хорошо, когда у каждого CD есть короб- робку, он туда не возвращается, а пылит- ка, на которой написано, что это за диск ся где-нибудь в ящике стола. Впрочем, DiskSearch и откуда он взялся. Еще лучше, когда эта это случается далеко не всегда, поэтому информация продублирована на самом со временем у вас накапливается куча бе- его программе. DiskSearch читает назва- диске, потому что нередко, покинув ко- зымянных дисков с уймой самой разно- ния файлов и каталогов и создает файл образной информации. Как все это упо- в домашней папке пользователя, где хра- рядочить? Можно положить каждый диск нятся названия. Чтобы найти какой-либо в коробку и написать сверху список всех файл, достаточно написать честь его на- файлов, потратив на это целый день. звания в строке поиска, и программа вы- А можно воспользоваться специальной даст список всех дисков, где встречается программой, помогающей составить подобное сочетание символов. каталог всех файлов, содержащихся на дисках. При помощи DiskSearch процесс Язык интерфейса: английский упорядочивания информации становится Лицензия: GPL быстрым и простым. Нужно только напи- Сайт производителя: сать на каждом диске название и указать http://disksearch.sourceforge.net

Интернет-пространство диктует свои зако- зовать как часть подписи в письмах ны, и по ним приоритетной информацией или поместить на домашней страничке. Geek Code Wizard о человеке является то, чем он занимается, Но Geek Code довольно утомительно пи- в какой сфере работает, что любит или не сать. Он состоит из не связанных (на пер- и цифр. Поэтому, если вы еще не умеете любит. Так, если в реальном мире визит- вый взгляд) между собой значков, букв читать и писать Geek Code, воспользуйтесь ная карточка содержит информацию об специальной программой. Geek Code имени, точном месте работы и контактные Wizard очень проста в использовании. Вам телефоны, то в виртуальном вместо визит- нужно будет только отмечать соответству- ки надо предоставить развернутый рассказ ющие пункты в различных списках вопро- на тему «Кто я такой». Более 10 лет назад сов и ответов, а программа в ходе опроса была изобретена система компактной пе- сгенерирует код, отражающий все черты редачи подобной информации — Geek вашей многогранной личности. Code. Это универсальный код, который представляет собой набор зашифрованных Язык интерфейса: английский ответов на вопросы, описывающие отно- Лицензия: GPL шение к различным областям жизни. По- Сайт производителя: лученный набор символов можно исполь- www.geocities.com/kraker64/geekcodewizard

Все мы когда-нибудь сталкивались «diff», а она, в свою очередь, формиру- с обычной проблемой: видно, что два ет сложно читаемый файл, в котором файла отличаются, но вот чем кон- содержится список изменений. Но этот кретно? Опытные пользователи Unix способ подходит далеко не всем. ла в какой надо перенести кусок текс- используют для сравнения команду Meld — это удачная графическая сис- та. Интерфейс Meld интуитивно поня- тема, позволяющая заменить «diff». тен и не требует чтения документации, С помощью дружественного интерфей- хотя она, конечно, присутствует. Под- са она визуально показывает измене- держивается и принцип Drag&Drop, ния в файлах. Можно сравнивать также так что вы можете просто перетащить содержимое целых каталогов и репо- два файла из вашего файлового браузе- зиториев CVS и не только просмотреть ра прямо в окно «Meld». изменения в файлах, но и внести ис- правления из одного файла в другой. Язык интерфейса: английский Для этого в поле, где показываются Лицензия: GPL линии изменений, следует нажать на Сайт производителя: стрелку, указывающую, из какого фай- http://meld.sourceforge.net

Роксана Черноголова

1/2005 LINUX| CHIP 96 review Ó·ÁÓ Ò‡ÈÚÓ‚

www.zaurususergroup.org http://tuxmobil.org КПК и Linux åÓ·ËθÌ˚È ÔËÌ„‚ËÌ Портал для владельцев карманных Если вы решили установить Linux на ноут- янском языках. Есть и некоторое количест- компьютеров Sharp. Наиболее полез- бук, то массу полезной информации смо- во русскоязычных статей. Так, на сайте вы- ными будут ссылки на тематические жете найти на этом сайте, посвященном ложены HOWTO, освещающие вопросы под- форумы и HOWTO. Здесь также мож- взаимодействию открытых операционных ключения различных внешних CD-приводов, систем с мобильными устройствами. Впро- установки Debian и использования инфра- но скачать прикладные программы, чем, только переносными компьютерами красного порта. Что также немаловажно, ROM, патчи и исходные тексты ядер тематика этого ресурса не ограничивается. существует версия данного сайта в формате для различных моделей КПК. | Он также затрагивает вопросы синхрони- WAP, что позволяет работать с ним даже по- зации настольной машины с КПК, мобиль- средством мобильного телефона. www.linuxfocus.org ными телефонами, работу системы с музы- кальными и видеоплеерами, и, наконец, Фокус событий такими экзотическими устройствами как Журнал приверженцев Linux, выхо- сканеры BAR-кодов и GPS-приемники. дящий более чем на десяти языках. Навигация по сайту построена весьма удоб- Интернациональное сообщество ав- но. Вы можете искать нужную информацию торов этого ресурса затрагивает в как по типу устройства и марке произво- своих заметках самые различные те- дителя, так и по названию технологии: Bluetooth, Infra Red и т. д. Сайт по своей су- мы: обзоры конкретных программ и ти является каталогизатором, и абсолютное дистрибутивов ОС Linux, аналитиче- большинство ссылок с него ведут на различ- ские материалы, посвященные раз- ные внешние ресурсы — как правило, анг- витию открытых операционных сис- лоязычные, но среди них встречаются также тем и правовым вопросам. | материалы на испанском, немецком и италь-

http://samag.ru

Опыт профессионалов www.nixp.ru Журнал «Системный администра- тор» давно известен профессиона- íӘ͇ ÓÚÔ‡‚ÎÂÌËfl лам как надежный источник адек- Этому сайту не исполнилось еще и четы- ны и искушенным пользователям. Имеет- ватной информации. На этом сайте рех лет, однако он вполне может стать ся большой каталог программ, каждая из можно скачать наиболее интерес- отправной точкой путешествия по миру которых снабжена небольшим описанием ные статьи из уже вышедших номе- Linux. Заявленная цель проекта — помо- и ссылкой на сайт разработчика. ров журнала в формате DjVu. | гать всем начинающим пользователям Если вы заблудились среди множества од- свободных операционных систем, быть нотипных программ, рекомендуем загля- www.linuxdevices.com источником интересной и нужной инфор- нуть в раздел /bin/soft/vote (разделы сайта мации. И надо сказать, что задачу свою озаглавлены именно так, в стиле структу- Повсеместная ОС создатели сайта выполняют. Если раздел ры дерева каталогов Unix), где лучшие Linux можно установить на огромное «FAQ» в основном затрагивает вопросы, софтверные продукты выбирают непо- количество платформ: компьютеры интересные новичкам, то некоторые ма- средственно посетители ресурса. различных архитектур, MP3-плееры, териалы из раздела «Статьи» будут полез- Как правило, эти рейтинги довольно игровые консоли, смартфоны, КПК адекватны, хотя с оценкой KDE как луч- и даже наручные часы. Нашла она шего оконного менеджера можно и по- применение и в системах реального спорить. Надо сказать, что актуальность времени для промышленных ком- информации ресурса обеспечивается еще пьютеров. Этот сайт расскажет вам о и тем, что посетители сами могут добав- проектах портирования Linux, новых лять на сайт описания программ, новости устройствах под управлением этой и ссылки. Ежедневная рассылка сайта яв- ОС и дистрибутивах различного на- ляется неплохим источником последних значения. Если вам захочется сделать новостей из мира Open Source. В своей собственное embedded-решение, то категории она стала победителем конкур- ответы на возникшие вопросы вы са почтовых рассылок, проводимого ин- сможете найти на местном форуме. | формационным порталом Subscribe.ru.

CHIP| LINUX 1/2005 Ó·ÁÓ Ò‡ÈÚÓ‚ 97

www.opennet.ru é·ÏÂÌ ÓÔ˚ÚÓÏ Если вы в четвертый раз компилируете ядро, но не можете добиться работы нужного вам оборудования, испытываете затруднения с конфигурацией сервера Apache или не знаете, с какой стороны подойти к настройке фильтра пакетов, то именно здесь вы, скорее всего, найдете решение своей про- блемы. За долгое время существования этого ресурса на нем накопилась масса информации, которая будет достаточно полезна не только системным администраторам, но и обыч- ным пользователям. Статьи и советы, зачастую представ- ленные лишь в виде конкретных команд, логично разбиты по таким рубрикам как сетевые сервисы, общесистемные вопросы, русификация и тому подобным. Каждую статью можно обсудить в комментариях, которые могут иметь не- которую самостоятельную ценность и дадут дополнитель- ные знания по рассматриваемой тематике.

www.redhat.com/magazine äÓÔÓ‡ˆËfl — ÔÓθÁÓ‚‡ÚÂÎflÏ Чаще всего посвященные Linux сайты создаются группами энтузиас- тов, объединенными интересом к любимой операционной системе, или одиночками, которые горды тем, что они решили какую-либо проблему или написали полезный скрипт. Этот ресурс выделяется среди прочих своим корпоративным происхождением. Большинство статей сайта связаны c Fedora Core и Enterprise Linux. В материалах этого онлайнового журнала вы узнаете о планах развития этих сис- тем, подробностях всех последних релизов, а также сможете прочи- тать интервью с разработчиками многих популярных проектов. В каждом номере публикуются полезные советы и тонкости настрой- ки Linux. Кроме того, здесь можно задать вопрос и оперативно полу- чить на него ответ в читательском блоге. Пока с ежемесячной перио- дичностью было выпущено четыре номера журнала. В общем, если вам нужно интересное и информативное чтение и вы неплохо знаете английский язык, не оставляйте данный ресурс без внимания.

www.linuxcenter.ru www.linux.org.ru http://freshrpms.net Центр свободы Утреннее чтиво Пакеты первой свежести Интернет-магазин, продающий все, что Получать самую свежую информацию — Найти какой-либо пакет, не вошедший хоть как-то связано с Unix-системами: на- не это ли мечта каждого человека, живу- по лицензионным соображениям в дис- чиная от атрибутики и книг и заканчивая щего в современном мире? Данный ре- трибутив Fedora Core, теперь совсем не дистрибутивами самых различных реали- сурс, посвященный новостям из мира сложно. Зайдите на этот ресурс, выбери- заций ОС Linux и прикладными програм- свободных ОС, всегда держит руку, что те версию того дистрибутива ОС, пакет мами. Также на сайте есть «Энциклопедия называется, на пульсе. Для новичков бу- под который вы ищете, после чего выбе- Linux» — разбитый на рубрики каталог дет интересен раздел «Галерея», в котором рите его в списке и щелкните по ссылке ссылок на ресурсы об этой ОС. В разделе пользователи выкладывают скриншоты, «Download». Если же вы являетесь по- «Библиотека» можно найти множество иллюстрирующие интересные решения и клонником системы управления пакета- интересных статей, книг и руководств. | полезные применения Linux. | ми apt, то есть раздел и для вас. |

1/2005 LINUX| CHIP