Вы находитесь на странице: 1из 116

HOSTING

Mandriva Enterprise Server 5.1  с. 13

LXF132
ВАШ БЕСПЛАТНЫЙ DVD
Linux-
системы

NEXT LEVEL

LXF Июнь 2010


Новая жизнь с Unity,
Dreamlinux, Sitaz и Absolute
А также: PC-BSD 8
FlightGear Open Clip Art

Главное в мире Linux PC-BSD 8


Легкий путь в мир FreeBSD с. 9
Июнь 2010  № 6 (132)

Виртуализация
Пробуй

Zsh
Межсетевые экраны
любой! 32

PC-BSD 8
Сделайте шесть простых шагов к Linux- страницы
виртуализации, и тестируйте новые учебников
на любой

Ubuntu и демократия
дистрибутивы, не рискуя старыми с. 22 вкус!
Все цены указаны без учета НДС и регулируются условиями предоставления услуги компанией Hetzner Online AG.

Оснастим Firefox
Наша подборка лучших

Расширения Firefox
дополнений к web-браузеру с. 60
HETZNER DEDICATED HETZNER DEDICATED HETZNER DEDICATED
EQ 4 EQ 8 EQ 9 FlightGear 2.0
Цены могут быть изменены. Все права защищены соответствующими производителями.

ROOT SERVER ROOT SERVER ROOT SERVER

Intel Core i7-920 Quad-


® ™

core с поддержкой техно-


Intel Core i7-920 Quad-
® ™

core с поддержкой техно-


Intel Core i7-975 Quad-
® ™

core с поддержкой техно-


Садитесь за штурвал и запускайте
логии Hyper-Threading логии Hyper-Threading логии Hyper-Threading ВСУ в свободном авиасимуляторе с. 11
ARM

8 GB DDR3 RAM 24 GB DDR3 RAM 12 GB DDR3 RAM Hosting Next Level (Хостинг нового уровня)
2 × 750 GB SATA-II 2 × 1500 GB SATA-II 3 × 1500 GB SATA-II означает, что компания Hetzner Online готова
HDD (Software-RAID 1) HDD (Software-RAID 1) HDD (Software-RAID 5)
Настоящая безопасность
Libferris

Операционная система Операционная система Операционная система предоставить вам самые мощные решения для
Linux Linux Linux хостинга выделенных серверов из имеющихся
Windows Server
от 550 руб. в месяц
Windows Server
от 550 руб. в месяц
Windows Server
от 550 руб. в месяц сегодня на рынке. Наши предложения были Установите на ненужный ПК дистрибутив-
брандмауэр и держите сеть под замком с. 16
FlightGear

Неограниченный трафик1 Неограниченный трафик1 Неограниченный трафик1 разработаны, чтобы предоставить вам более
Восстановление системы Восстановление системы Восстановление системы высокую скорость и чрезвычайно стабильную
Установка из образов Установка из образов Установка из образов
100 GB пространства для 100 GB пространства для 100 GB пространства для сетевую инфраструктуру на базе наших
резервных копий резервных копий резервных копий собствен
собственных дата-центров в Герма-
Когда другие уважают нашу Плюс!
Google Cal

Без минимального Без минимального Без минимального нии. Б


Благодаря лучшим ценам и
контракта контракта контракта
непр
непревзойденной поддержке, мы
работу, мы растем в их сознании ARM: чем он лучше Atom?
Стоимость установки Стоимость установки Стоимость установки
5900 рублей 5900 рублей 5900 рублей прев
превосходим ожидания клиентов
как хорошие граждане CrossOver 9: Windows в Linux
Джоно Бэкон о правах человека с. 30
1900
рублей в месяц
3300
рублей в месяц
3900
рублей в месяц
по в
всему миру. Zsh: оболочка для тех, кому мало Bash
Подписной индекс в каталоге агентства «Роспечать»  20882

1 Трафик предоставляется бесплатно. При превышении порога 5000 GB/месяц скорость соединения будет ограничена 10 MBit/s.
Стоимость аренды постоянного канала с пропускной способностью 100 MBit/s составляет 290 рублей за каждый дополнительный TB.
www.hetzner.info POV-Ray OOo Base Google Calendar
Подписной индекс в каталоге «Пресса России»  87974
Подписной индекс в каталоге «Почта России»  16572

info@hetzner.com
2 Как новый клиент, вы можете сэкономить 340 рублей на первом платеже за любой из рекламируемых здесь продуктов.
Просто используйте код ваучера 071106 при совершении заказа. Предложение действительно до 21 июля 2010 года.
Классический Создавать базы Получайте уведомления
трассировщик данных под силу о землетрясениях
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Intel, эмблема Intel, Intel Core и Core Inside являются товарными знаками Intel Corporation в США и других странах.

лучей с. 64 каждому с. 72 в виде SMS с. 76


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
 Приветствие

Что мы делаем
Мы поддерживаем открытое сообщество,
предоставляя источник информации и площадку
для обмена мнениями.
Мы помогаем всем читателям получить от Linux максимум
пользы, публикуя статьи в разделе «Учебники»: здесь каждый
найдет что-то по своему вкусу.
Мы выпускаем весь код, появляющийся на страницах
раздела «Учебники», по лицензии GNU GPLv3.
Мы стремимся предоставлять точные, актуальные
и непредвзятые сведения обо всем, что касается Linux
и свободного ПО.

Кто мы
В этом ме­ся­це мы рас­кры­ва­ем для вас бо­гат­ст­во воз­мож­но­стей
обо­лоч­ки Zsh, и ре­ши­ли спро­сить у ко­ман­ды: че­го не­дос­та­ет
Bash, де-фак­то стан­дар­ту в Linux?

Виртуальная реальность
По мо­им скром­ным под­сче­там, на мо­мент напи­сания этих строк
на DistroWatch бы­ло за­ре­ги­ст­ри­ро­ва­но 311 ди­ст­ри­бу­ти­вов. Мо­жет быть,
их чуть боль­ше (или чуть мень­ше), но об­щая кар­ти­на на­ли­цо: раз­но­вид­
Нейл Бот­вик
но­стей Linux в при­ро­де мно­го. Это от­части объ­яс­ня­ет, по­че­му сво­бо­да вы­бо­ра
Грэм Мор­ри­сон Майк Сон­дерс
Ре­жи­ма де­жур­ных Управ­ления на есте­ Как фа­нат Gentoo, при­менитель­но к сво­бод­но­му ПО пе­рио­ди­че­ски пре­вра­ща­ет­ся в про­бле­му вы­бо­
шу­ток. Вклю­чае­те – ствен­ном язы­ке, я люб­лю нечи­тае­мые ра, и по­че­му Ubuntu с его под­хо­дом «мы все ре­шим за вас – занимай­тесь сво­им
и вме­сто команд ав­то­ как в ки­но. Ку­да cd коман­ды. rh3kf@jt09+
ма­ти­че­ски под­став­ля­ до «АКТИВИРОВАТЬ вме­сто echo – пусть де­лом» при­шел­ся по ду­ше столь мно­гим.
ет­ся rm -rf /. КАТАЛОГ КОД 4»! но­вич­ки ма­ют­ся! Ра­зу­ме­ет­ся, «мно­гим» не зна­чит «всем» – и в ми­ре есть нема­ло лю­дей, пред­
по­чи­таю­щих сде­лать свой вы­бор са­мо­стоя­тель­но, да­же ес­ли речь идет о столь
про­заи­че­ской ве­щи, как опе­ра­ци­он­ная систе­ма. Как быть им – ведь да­же ес­ли
от­бро­сить из этих трех­сот с лишним спе­циа­ли­зи­ро­ван­ные и ре­гио­наль­ные ди­ст­
ри­бу­ти­вы, а так­же кло­ны Ubuntu, от­ли­чаю­щие­ся лишь эк­ран­ной за­став­кой, чис­
ло кан­ди­да­тов все рав­но оста­ет­ся вну­ши­тель­ным?
Лет де­сять на­зад мы по­ре­ко­мен­до­ва­ли бы вам вы­де­лить на диске спе­ци­
Эф­ра­ин Эн­д­рю Гре­го­ри Эн­ди Ченнел аль­ный тесто­вый раз­дел (и пе­рио­ди­че­ски иметь про­бле­мы с за­тер­тым за­груз­
Эр­нан­дес-Мен­до­са Исто­рия команд – это Ре­жи­ма ко­тэ. «До­ро­
Функ­ции управ­ления кру­то, а как на­счет гой, ты сде­лал бэ­кап?
чи­ком). Лет пять на­зад – поль­зо­вать­ся LiveCD и ми­рить­ся с ма­лой ско­ро­стью
од­ной толь­ко мы­шью: пред­ска­зания команд Со­жми фай­ло, со­жми ра­бо­ты (а так­же ав­то­ма­ти­че­ски по­те­рять систе­мы, рас­про­стра­няе­мые толь­ко
с кноп­ка­ми, ме­ню на осно­ве то­го, что фай­ло <...>!». Да, в фор­ме уста­но­воч­ных об­ра­зов). Се­го­дня же мы по­со­ве­т у­ем взять вир­т у­а ль­ную
и раз­ны­ми кра­си­вы­ми я со­би­ра­юсь сде­лать? я люб­лю де­мо­ти­ва­
кар­тин­ка­ми. то­ры. ма­ши­ну – и зна­ко­мить­ся фак­ти­че­ски с чем угод­но, без риска, без су­ще­ствен­ных
ог­раничений по ско­ро­сти и поч­ти что на на­стоя­щем обо­ру­до­вании.
Конеч­но, вир­т уа­ли­за­ция – то­же не па­на­цея. Она ед­ва ли по­мо­жет, ес­ли вы при­
ме­няе­те Linux в основ­ном для ре­сур­со­ем­ких за­дач, вро­де 3D-мо­де­ли­ро­вания или
об­ра­бот­ки ви­део, и вряд ли даст от­вет на во­прос: «А ка­кой ди­ст­ри­бу­тив луч­ше
сра­бо­та­ет­ся с мо­им но­вым но­у т­бу­ком?». По­дой­дет ли она вам? У ме­ня есть толь­
Эн­ди Хад­сон Ник Вейч ко один от­вет: про­буй­те, бла­го здесь ва­ри­ан­тов уже не так мно­го.
Дэ­вид Кар­трайт
Тре­на­же­ра кла­виа­ Рас­цвет­ки при­гла­ По­мощника,
ту­ры, конеч­но. Будь шения в за­ви­си­мо­ вро­де Скреп­ки Валентин Синицын, главный редактор
он там, я нки­огда сти от опас­но­сти в MS Office. «По­хо­же,
не де­алл бы так мон­го коман­ды. ls – зе­ле­ вы со­би­рае­тесь info@linuxformat.ru
оче­пя­ток. ным, rm -rf – крас­ным, соз­дать ка­та­лог. Вам
как файл в аду. нуж­на по­мощь?»

Как с нами связаться


Письма для публикации: letters@linuxformat.ru
Подписка и предыдущие номера: subscribe@linuxformat.ru
Техническая поддержка: answers@linuxformat.ru
Сю­зан Лин­тон Ша­шанк Шар­ма Ма­янк Шар­ма Проблемы с дисками: disks@linuxformat.ru
Command Command Коман­ды убейе­го, Невин­но­го ре­жи­ма,
Общие вопросы: info@linuxformat.ru
Revolution – вро­де уда­ляю­щей в ко­то­ром мой тер­ми­
иг­ры Dance Dance, по­следний файл нал вы­гля­дел бы без­ Вопросы распространения: sales@linuxformat.ru
но для тех­на­рей. Cd ls, в ка­та­ло­ге и го­во­ря­ обид­но, по­ка я ло­маю Web-сайт: www.linuxformat.ru
cd cd ls, df df rm... щей: «Ты вы­иг­рал!» Пен­та­гон.
Адрес редакции: Россия, Санкт-Петербург, Лиговский пр., 50, корп. 15
Телефон редакции: (812) 309-06-86. Дополнительная информация на с. 112

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      1
Содержание
Ваш путеводитель по достопримечательностям июньского номера LXF

Обзоры
Amarok 2.3 ����������������������������� 8
Первая версия, достойная KDE 4, или просто
бессмысленное нагромождение случайно
выбранных функций?
Про­буй
лю­бой!
Грэм Мор­ри­сон на­це­пил вир­т у­а ль­ные
на­уш­ни­ки, что­бы по­зна­ко­мить­ся с но­вей­ши­ми
ре­ли­за­ми ди­ст­ри­бу­ти­вов без вре­да для сво­ей
В мире насчитывается примерно пять не­по­роч­ной ус­та­нов­ки Fedora.
человек, понимающих интерфейс Amarok.

PC-BSD 8 ������������������������������� 9
На слу­чай, ес­ли кто-то еще не в кур­се: Unix – Лю­бой Linux –
это не толь­ко Ubuntu. Но сто­ит ли иг­ра свеч?

CrossOver 9 �������������������������� 10
без рис­ка!  с. 22
От­ка­жи­тесь от двой­ной за­груз­ки и за­пус­кай­те
нуж­ные при­ло­же­ния пря­мо в Linux: это про­ще,
чем мо­жет по­ка­зать­ся. Что за штука... Фай­лы
FlightGear 2.0 ����������������������� 11
При­сое­ди­няй­тесь к нам в ув­ле­ка­тель­ных
Quickly жур­на­лов  с. 32
Про­грам­ми­ро­ва­ние
по­ис­ках пе­ре­к лю­ча­те­ля фор­са­жа для
для ле­ни­вых не­тер­пе­ли­вых Где они во­дят­ся, за­чем они нуж­ны
Boeing-747 в этом сво­бод­ном авиа­си­му­ля­то­ре.
по вер­сии Ubuntu  с. 48 и с чем их едят?
Bluefish 2.0 ��������������������������� 12
Тек­сто­вые ре­дак­то­ры – оп­ре­де­лен­но не са­мый
вол­ную­щий класс при­ло­же­ний, но и без них
то­же ни­к у­да, вер­но?
Журналы
Mandriva Enterprise
Server 5.1 ����������������������������� 13 Рас­ко­пай­те
Кор­по­ра­тив­ное ре­ше­ние от Mandriva обе­щ а­ет
за­ле­жи ин­фор­ма­ции
о сво­ей сис­те­ме
вир­т уа­ли­за­цию, до­ме­ны и управ­ле­ние ИТ-ин­
фра­струк­т у­рой – взгля­нем на не­го по­бли­же? Фай­лы жур­на­лов Linux – что это та­кое,
где их най­ти и за­чем они вам?
Книжное обозрение ������������� 14 От­ве­ты зна­ет Ша­шанк Шар­ма.

Люди говорят

Сна­ча­ла моя
ре­ак­ция бы­ла
той же, что вы­ка­за­ли
Книга: на сей раз всего одна, зато
не­ко­то­рые лю­ди.
про Drupal.
Джо­но Бэ­кон по­ни­ма­ет ва­ше воз­му­ще­ние с. 30
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
2      LXF132 Июнь 2010
LXF
Дис­тро-ре­во­лю­ция!
Че­ты­ре Linux и один Unix, а так­же: VD

D
OpenClipArt Сво­бод­ные изо­бра­же­ния, что­бы сде­лать жизнь яр­че
Brain Party Луч­шая Linux-иг­ра от ре­дак­то­ра бри­тан­ско­го LXF
132
FlightGear Еще од­на луч­шая Linux-иг­ра
...плюс ин­тер­нет-шлю­зы и кое-что еще!  с. 100

Ищите в этом номере... Учебники

Ubuntu Tweak ���������������������������������������� 34 На­чи­наю­щим


Inkscape и Impress ��������������� 56
По­зна­комь­тесь с эти­ми дву­мя при­ло­жения­ми,
Все на­строй­ки Ubuntu, со­б­ран­ные в од­ном мес­те? Это воз­мож­но, и ва­ши пре­зен­та­ции боль­ше никогда не бу­д ут
ес­ли вы ус­та­но­ви­те од­ну ма­лень­кую, но по­лез­ную про­грам­му. скуч­ны­ми.

Звук в ре­аль­ном вре­ме­ни ������������������ 36


Пре­вра­ти­те свою Linux-сис­те­му в мик­шер­ный пульт,
ги­тар­ный про­цес­сор или что-ни­будь столь же хит­ро­ум­ное.

Пу­те­во­ди­тель по ARM ������������������������ 40


Мы не сто­рон­ни­ки кро­ва­вых ме­та­фор, но ес­ли че­му-то про­чат сла­ву
«убий­цы Atom», это дос­та­точ­но вес­кий по­вод для зна­ком­ст­ва. Ес­ли вам вдруг по­тре­бу­ют­ся кар­тин­ки,
их есть на на­шем DVD.

ZSH: чем он луч­ше Bash? ������������������� 44 Firefox


Луч­шие до­полнения ������������� 60
Из­ме­ни­те свою жизнь в ко­манд­ной стро­ке, ус­та­но­вив Сде­лай­те Firefox бы­ст­рее, удобнее
но­вую обо­лоч­ку – к луч­ше­му, ра­зу­ме­ет­ся. и за­щи­щеннее с на­шей кол­лек­ци­ей
рас­ши­рений – все да­ром!

POV-Ray

Подпишись
Зем­ля в ил­лю­ми­на­то­ре �������� 64
Шатт­л­вор­т у по­тре­бо­ва­лось на это $20 млн,
а вы мо­же­те уви­деть лю­бую планету
со­вер­шен­но бес­плат­но.

libferris
на Linux Format сегодня и получи Да­ле­кие фай­лы ������������������� 68
PDF-версию журнала в подарок! Смон­ти­руй­те Flickr или Vimeo в ка­та­лог
сво­ей фай­ло­вой систе­мы – со сво­бод­ным ПО
воз­мож­но и не та­кое!
www.linuxformat.ru/subscribe/ OpenOffice.org Base
Вве­дение в ба­зы дан­ных ����� 72
По­ста­ра­ем­ся обой­тись без тео­рии, но ес­ли
вы хо­ти­те упо­ря­до­чить кол­лек­цию дисков,
Постоянные рубрики со­ве­т у­ем взгля­нуть на OOo Base.

OpenOffice.org Calc
Но­во­сти ������������������������ 4 От­ве­ты ����������������������� 88 Че­рез ме­сяц �������������� 112 Поль­зо­ва­тель­ские функ­ции ��� 76
Школь­ный Linux: ито­ги го­да. Про­бле­мы Linux ре­ше­ны: от ви­ру­сов Не спи­те – LXF133 ждать не бу­дет! Ес­ли встро­ен­ных воз­мож­но­стей элек­трон­ных
до эк­за­ме­нов LPI. таб­лиц вам уже не хва­та­ет, реа­ли­зуй­те в них
Сравнение ������������������� 16 свои соб­ствен­ные.
Ди­ст­ри­бу­ти­вы-бранд­мау­эры обес­- Hotpicks ���������������������� 94 Python
пе­чат безо­пас­ный вы­ход в Ин­тернет. Луч­шие в ми­ре но­вин­ки
сво­бод­но­го ПО.
Ин­тер­фейс в ди­на­ми­ке ��������� 80
Ин­тер­вью LXF ������������ 30 Объ­е­диним мощь Clutter, Python и GStreamer,
Ubuntu: ка­ж ­до­му по за­слу­гам. Диск Linux Format ����� 100 что­бы раз­местить поль­зо­ва­тель­ский
Че­ты­ре ди­ст­ри­бу­ти­ва Linux ин­тер­фейс по­верх ви­део­ро­ли­ка.
Что за шту­ка �������������� 48 и один – BSD. Hardcore Linux
Quickly – ин­ст­ру­мент для бы­ст­ро­го
соз­д ания шаб­ло­нов при­ло­жений Про­пусти­ли но­мер? ��� 107 Трю­ки с Google Calendar ������� 84
По­сы­лай­те SMS-уве­дом­ления о со­бы­ти­ях
от коман­ды Ubuntu. За­ка­жи­те се­бе один из пре­ды­д у­щих
на свой те­ле­фон, и никогда не за­бу­де­те
вы­пусков жур­на­ла.
о дне ро­ж ­дения лю­би­мой те­щи!
Руб­ри­ка си­сад­ми­на ����� 50
Док­тор вспо­ми­на­ет об FTP и занима­ Шко­ла LXF ��������������� 108 А вы не за­бы­ли офор­мить
ет­ся де­тек­тив­ным рас­сле­до­ванием Scratch и Arduino на уро­ке под­пис­ку на LXF?
в Ин­тернете. ин­фор­ма­ти­ки.
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      3
Новости 

Новости
ГЛАВ­Ное Школь­ный Linux: ито­ги го­да Но­вая сис­те­ма ини­циа­ли­за­ции
Па­тент­ные вой­ны Мо­биль­ные но­вин­ки

Кад­ры ре­ша­ют всё


Глав­ной слож­но­стью внедрения СПО в об­ра­зо­вании является
отсутствие под­го­тов­лен­ных спе­циа­ли­стов. Сравним под­хо­ды Рубрику ведет

к решению этой про­бле­мы, пред­ла­гае­мые ли­ди­рую­щи­ми про­ек­та­ми.


Евгений Крестников

Н
ачнем с ком­пании «Альт Ли­нукс», та с ИПК Про, ву­за­ми и дру­ги­ми учеб­ны­
со­вме­ст­но с ФГУ ГНИИ ИТТ «Ин­ ми за­ве­дения­ми, ра­бо­та че­рез Mandriva.ru
фор­ми­ка» за­пустив­шей недав­но с партнера­ми по внедрению, ра­бо­та с про­
про­грам­му бес­плат­ной сер­ти­фи­ка­ции. По­ из­во­ди­те­ля­ми ПО (сей­час с 1С тести­ру­ем
лу­чить сер­ти­фи­кат с при­своением ста­т у­са но­вую «1С Шко­ла» под Linux), ра­бо­та в рам­
«Cпециалист по внедрению ПСПО в систе­ ках еди­но­го ре­по­зи­то­рия (spohelp.ru)»,
ме об­ра­зо­вания» мо­жет ка­ж ­дый, кто по­мог го­во­рит Алек­сандр Ка­зан­цев, ру­ко­во­ди­тель
об­ра­зо­ва­тель­но­му уч­ре­ж ­дению внедрить EduMandriva. Что ка­са­ет­ся сер­ти­фи­ка­ции –
про­д ук­ты «Альт Ли­нукс». По сло­вам пред­ по сло­вам г-на Ка­зан­це­ва, по­доб­ные про­
ста­ви­те­лей ком­пании, мас­штаб про­ек­та грам­мы раз­ра­ба­ты­ва­ют­ся со­вме­ст­но с Цен­-
не ва­жен – со­иска­те­лю доста­точ­но от­пра­ тра­миком­пе­тен­ции,из­да­тель­ствомБИНОМ,
вить за­яв­к у и прой­ти он­лайн-со­бе­се­до­ ИПК Про и «ГНУ/Ли­нукс­цен­тром», и бу­дут
вание че­рез Jabber. При этом «ли­по­вых» доступ­ны к сле­д ую­ще­му учеб­но­му го­д у.
сер­ти­фи­ка­тов вы­да­вать не бу­дут: «Ес­ли че­- Разница под­хо­дов оче­вид­на: «Альт Ли­
Кур­сы по при­ме­
ло­век успеш­но про­вел внедрение, мы за­ Школь­ный», на ба­зе на­ра­бо­ток про­ек­та нукс» дей­ству­ет по обыч­ной ком­мер­че­
не­нию от­кры­тых
пра­ши­ва­ем кон­такт­ные дан­ные этой фир­ тех­но­ло­гий в об­ра­ EduMandriva. Из­да­тель­ство БИНОМ и ком- ской схе­ме, по­зво­ляю­щей за­ра­ба­ты­вать
мы и уточ­ня­ем, дей­стви­тель­но ли все бы­ло зо­ва­тель­ном про­ ­пания Mandriva.ru со­вме­ст­но раз­ра­бо­та­ли на СПО. Ком­пании ин­те­рес­но вы­иг­ры­вать
так, как он опи­сал», го­во­рит Ан­на Ша­дее­ цес­се мож­но най­ти кур­сы MDV и курс «Осно­вы пре­по­да­вания тен­де­ры, а так­же про­да­вать учеб­ным за­
ва, ру­ко­во­ди­тель от­де­ла мар­ке­тин­га «Альт в Се­ти. GNU/Linux и сво­бод­но­го ПО», доступ­ные ве­дениям услу­ги техниче­ской под­держ­ки.
Ли­нукс». По сло­вам г-жи Ша­дее­вой, «сер­ для оз­на­ком­ления на сай­те etraining. Вкла­ды­вать­ся в ре­шение кад­ро­вой про­бле­
ти­фи­кат юри­ди­че­ско­го ста­т у­са не име­ет. mandriva.ru. «Альт Ли­нукс» так­же занима­ мы «Альт Ли­нукс» не мо­жет (на этом мно­го
Он име­ет от­но­шение к про­дук­там «Альт Ли­ ют­ся че­рез сво­их парт­неров обу­чением, не за­ра­бо­та­ть), и ог­раничи­ва­ет­ся про­грам­
нукс»». На сай­те ком­пании тем вре­менем но в основ­ном – под­го­тов­кой поль­зо­ва­те­ мой бес­плат­ной сер­ти­фи­ка­ции. Mandriva.ru
за­яв­ле­но, что он да­ет до­к у­мен­ти­ро­ван­ное лей и техниче­ских спе­циа­ли­стов. то­же хо­чет денег и то­же не мо­жет се­бе по­
под­твер­ж дение ком­пе­тен­ции в ПСПО. Это В про­дви­жении про­д ук­тов EduMandriva зво­лить серь­ез­ных ин­ве­сти­ций без от­да­чи
не ди­плом го­су­дар­ствен­но­го об­раз­ца, но де­ла­ет став­к у на со­трудниче­ство с уч­ре­ж­ в обо­зри­мом бу­д у­щем. Но здесь луч­ше по­
за­ве­рен­ный пе­ча­тью пред­при­ятия и подпи­ дения­ми об­ра­зо­вания и соз­дание на их ба­ няли спе­ци­фи­к у от­рас­ли, и гра­мот­но при­
сью ру­ко­во­ди­те­ля до­к у­мент, имею­щий зе цен­тров ком­пе­тен­ции. При этом «кор­по­ менили ста­рую как мир схе­му «ком­пания/
фор­маль­ный ста­т ус лю­бо­го дру­го­го фир­ ра­тив­ный» сег­мент бе­рет на се­бя Mandriva. со­об­ще­ство», соз­дав про­ект EduMandriva.
мен­но­го сер­ти­фи­ка­та. Глав­ный мар­ке­то­лог ru: «Стра­те­гия ра­бо­ты EduMandriva – ра­бо­ Чья стра­те­ги­я вернее, по­ка­жет вре­мя.
«Альт Ли­нукс» с на­ми не со­гла­си­лась: «Как
мо­жет сер­ти­фи­кат иметь юри­ди­че­скую си­
лу, ес­ли ни в ка­ких юри­ди­че­ских до­к у­мен­ Новости короткой строкой
тах не пропи­са­ны тре­бо­вания к кан­ди­да­т у,
по­лу­чаю­ще­му дан­ный ста­т ус?» – спро­си­ла В се­ти поя­ви­лась ин­фор­ма­ на нем Ubuntu Light – уре­зан­ную SourceForge.net пред­ста­ви­ла
она. Что на это от­ве­тить? В от­ли­чие от оче­ ция о воз­мож­ном при­об­ вер­сию сис­те­мы, пред­на­зна­чен­ Downloads – сер­вис рас­про­
вид­ных мар­ке­тин­го­вых ре­зо­нов, прак­ти­че­ ре­те­нии Mandriva S. A. фир­мой ную для бы­ст­ро­го за­пус­ка. стра­нения про­грам­м без ре­ги­ст­ра­
ский смысл дан­ной про­грам­мы неясен – Linagora. ции пол­но­цен­но­го про­ек­та.
мож­но вы­дать мно­го бу­маг с кра­си­вы­ми пе­- За­прет за­пус­ка аль­тер­
ча­тя­ми, но про­бле­му кад­ров это не ре­шит. Canonical пред­ста­ви­ла нативных ОС на PS 3 стал Мин­свя­зи РФ пла­ни­ру­ет раз­
Иной под­ход ис­по­ве­ду­ют в Mandriva.ru, но­вый мо­биль­ный ин­тер­ пред­ме­том кол­лек­тив­но­го ис­ка ра­бо­тать рос­сий­ский ана­лог
пред­ла­гаю­щей про­дук­ты с ком­мер­че­ской фейс Unity и ос­но­ван­ную к Sony. Google Docs.
под­держ­кой, сход­ные с «Альт Ли­нукс 5.0

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
4      LXF132 Июнь 2010
 Новости

Linux: [Пе­ре]за­груз­ка
В Red Hat раз­ра­ба­ты­ва­ют за­ме­ну клас­си­че­ско­му спо­со­бу инициа­ли­за­ции систе­мы.

Л
ен­нарт Пет­те­ринг [Lennart /proc и т. д.) про­ис­хо­дит по тре­бо­ванию От тра­ди­ци­он­ных систем инициа­ли­
Poettering] пред­ста­вил на суд об­ в фо­но­вом ре­жи­ме (ис­поль­зу­ет­ся ме­ за­ции systemd от­ли­ча­ет­ся воз­мож­но­
ще­ствен­но­сти но­вый ме­ханизм ханизм AutoFS). Лен­нарт так­же пред­ла­га­ стью ра­бо­ты с за­ви­си­мо­стя­ми не толь­ко
инициа­ли­за­ции систе­мы – systemd. В раз­ ет миними­зи­ро­вать чис­ло вспо­мо­га­тель­ systemd еще на­хо­ ме­ж ­д у служ­ба­ми, но и ме­ж ­ду со­бы­тия­
ра­бот­ке про­ек­та, цель ко­то­ро­го – объ­е­ ных про­цес­сов (в основ­ном это ка­са­ет­ся дит­ся в ста­дии про­ ми. А от дру­гой «со­бы­тий­ной» систе­мы
динить досто­ин­ства «клас­си­ки» с пре­иму­ скрип­тов обо­лоч­ки), пе­репи­сав кри­тич­ные ра­бот­ки кон­цеп­ции, upstart – бо­лее вы­со­кой па­рал­ле­ли­за­ци­ей
ще­ства­ми со­вре­мен­ных под­хо­дов, при­ня­ли уча­ст­ки на C и пе­ренеся часть функ­цио­на­ но гра­фи­че­ский ин­ и рас­ши­рен­ны­ми воз­мож­но­стя­ми кон­тро­
тер­фейс для не­го
уча­стие со­трудники Red Hat, Novell, IBM, ла в systemd и непо­сред­ствен­но в де­мо­ны ля за про­цес­са­ми.
уже есть.
Intel и Nokia. Пред­по­ла­га­ет­ся, что в ре­зуль­ (уже го­то­вы под­систе­мы мон­ти­ро­вания
та­те мы по­лу­чим систе­му, со­вмести­мую и уста­нов­ки имени хоста).
с тра­ди­ци­он­ны­ми init-скрип­та­ми и ко- Еще systemd смо­жет от­сле­жи­вать про­
ман­да­ми, под­дер­жи­ваю­щ ую тех­но­ло­гии цес­сы и ог­раничи­вать их пол­но­мо­чия
cgroups, AutoFS и D-Bus. Systemd – не толь­ко при по­мо­щи внедрен­но­го в яд­ро ме­ха-
систе­ма инициа­ли­за­ции: она со­дер­жит низ­ма кон­троль­ных групп (cgroups), а так­
функ­цио­нал cron, inetd, менед­же­ра гра­фи­ же осу­ще­ств­лять ав­то­ма­ти­че­ский пе­ре­-
че­ско­го вхо­да в систе­му и да­же (частич­но) за­пуск де­мо­нов и мно­гое дру­гое.
SELinux. Ба­зо­вым эле­мен­том систе­мы яв­ля­ют­
Здесь реа­ли­зо­ва­ны ме­ханиз­мы кон­ ся свя­зан­ные ме­ж ­д у со­бой мо­д у­ли (units)
тро­ля со­ке­тов, как в launchd из Mac OS X: раз­лич­ных ти­пов, та­ких как service, socket
систе­ма са­ма соз­да­ет их, а за­тем за­пуска­ет или device. Вме­сто тра­ди­ци­он­ных уров­
де­мо­ны. Кро­ме то­го, воз­мо­жен ав­то­ма­ти­ ней за­груз­ки поя­вит­ся их бо­лее гиб­кий
че­ский за­пуск сер­ви­сов при об­ра­щении ана­лог: мо­ду­ли target и snapshot, пер­вый
к со­ке­там. Сход­ный прин­цип ис­поль­зу­ет­ся из ко­то­рых пред­став­ля­ет объ­е­динен­ную
для за­пуска служб, осно­ван­ных на D-Bus. функ­цио­на­лом груп­пу служб, а вто­рой
Мон­ти­ро­вание фай­ло­вых систем (ра­ по­зво­ля­ет «за­по­ми­нать» су­ще­ствую­щ ую
зу­ме­ет­ся, исклю­чая корневую, /sys, кон­фи­г у­ра­цию мо­д у­лей.

По­го­во­рим о трен­дах
Мо­биль­ные Linux-плат­фор­мы пе­ре­ста­ли быть «те­мой № 1»:
в цен­тре внимания сей­час ока­зы­ва­ют­ся «па­тент­ные вой­ны».

В
про­шлом го­д у мы уде­ля­ли мно­го В этой свя­зи сле­д у­ет упо­мя­нуть еще неком­мер­че­ской транс­ля­ции по­то­ко­во­го
внимания мо­биль­ным Linux-плат­ две ин­те­рес­ные инициа­ти­вы: Canonical ви­део. Сти­вен Джобс [Steven Jobs] так­же
фор­мам. Сей­час стра­с ти во­круг по­лу­чи­ла у MPEG-LA ли­цен­зию на ко­дек «за­све­тил­ся» в те­ме, при­чем на этот раз
это­го на­прав­ления по­у тих­ли, и впе­ред AVC/H.264 (в этом мож­но убе­дить­ся здесь: без свя­зи с тех­но­ло­гия­ми Adobe. В от­
вы­рва­лась дру­гая тен­ден­ция – «па­тент­ http://www.mpegla.com/main/programs/ вет на при­зыв FSFE вклю­чить в про­д ук­ты
ные вой­ны». В фо­к у­се ока­зы­ва­ют­ся спе­ AVC/Pages/Licensees.aspx), и по­го­ва­ри­ Apple ко­дек Theora ру­ко­во­ди­тель кор­по­
ци­фи­ка­ции HTML5 и стан­д ар­ты ви­део- ва­ют, что Nokia и Intel за­щи­тят плат­фор­ ра­ции зая­вил, что счи­та­ет Theora небезо­
­ко­де­ков. В пред­две­рии оче­ред­ной «вой­ны му MeeGo от па­тент­ных рисков. По­след­ пас­ной в па­тент­ном плане, несмот­ря на от­
брау­зе­ров» в этом нет ниче­го уди­ви- няя но­вость осно­ва­на на вы­ска­зы­ваниях кры­тость ко­де­ка.
Ил­лю­ст­ра­ция с сай­та http://0pointer.de/blog/projects/systemd.html

­тель­но­го. неко­то­рых пред­ста­ви­те­лей Nokia, а так­же


Прав­д а, пер­вое со­бы­тие, ко­то­рое хо­те­ на том фак­те, что раз­ра­бот­чи­ки MeeGo –
лось бы осве­тить, вы­би­ва­ет­ся из об­ще­го слиш­ком круп­ные иг­ро­ки, что­бы иг­но­ри­ А так­же...
по­то­ка. По со­об­щению агент­ства Reuters, ро­вать та­кие риски, и са­ми вла­де­ют нема­
в кон­це ап­ре­ля кор­по­ра­ции Microsoft лым чис­лом па­тен­тов.
Мэ­тью Гре­ган [Matthew Gregan] ра­бо­та­ет над ап­па­рат­но-
и HTC за­к лю­чи­ли со­гла­шение о вы­пла­ Сто­ит так­же от­ме­тить недавний анонс
уско­рен­ным ко­де­ком Theora для мо­биль­ных уст­ройств.
те ли­цен­зи­он­ных от­чис­лений за ис­поль­ IE 9 (в но­вой вер­сии ожи­да­ет­ся под­держ­ка
зуе­мые в «гуг­ло­фо­нах» HTC тех­но­ло­гии тэ­га <video> и ко­де­ка H.264) и за­яв­ление 1 мая суд при­знал не­со­стоя­тель­ность пре­тен­зий IP
MS. Пред­ста­ви­те­ли Microsoft тра­ди­ци­- менед­же­ра про­ек­та. Дин Ха­ча­мо­вич [Dean Innovation LLC к Red Hat и Novell. Речь шла о па­тен­те
он­но не го­во­рят, ка­кие имен­но па­тен­ты Hachamovitch] со­об­щил, что Microsoft бу­дет Xerox/PARC на «поль­зо­ва­тель­ский ин­тер­фейс с не­сколь­
на­ру­ше­ны, но есть мнение, что речь идет лоб­би­ро­вать в MPEG-LA про­д ление сро­ кими ра­бо­чи­ми зо­на­ми».
о VFAT. ков бес­плат­но­го ис­поль­зо­вания H.264 для

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      5
Новости

Мо­биль­ные но­во­сти
Пусть эта те­ма и по­те­ря­ла ста­тус ар­хи­важ­ной –
нам все рав­но есть что по ней ска­зать.

Х
о­тя та­ко­го нака­ла стра­стей, как Nokia N900. Те­к у­щая вер­сия по­ка не вклю­
в про­шлом го­д у, сей­час нет, ча­ет гра­фи­че­скую обо­лоч­к у MeeGo User
про­дви­жение Linux на мо­биль­ Experiences. Ве­ро­ят­но, Nokia и Intel ре­ши­ли
ных уст­рой­ствах оста­ет­ся од­ной из важ­ объ­е­динить уси­лия, что­бы кон­к у­ри­ро­вать
ных тен­ден­ций. Как и ожи­д а­лось, по­ка с Android на всех фрон­тах. Ду­ма­ет­ся, по­
ли­ди­ру­ет Android – но­вые «гуг­ло­фо­ны» доб­ный шаг был очень свое­вре­мен­ным –
и «гуг­ло­план­ше­ты» анон­си­ру­ют­ся ре­г у­ о под­держ­ке MeeGo уже зая­ви­ли ве­д у­щие
ляр­но, а плат­фор­ма ак­тив­но раз­ви­ва­ет­ про­из­во­ди­те­ли. Прав­да, есть еще юж­но-
ся (ко­ли­че­ство при­ло­жений для Android, ­ко­рей­ская Bada, но, во-пер­вых, она пред­
по неофи­ци­а ль­ным дан­ным, пре­вы­си­ло став­ля­ет со­бой очень гиб­кое ре­шение,
50 000). Кро­ме то­го, ви­це-пре­зи­дент от­ ко­то­рое мо­жет быть осно­ва­но не толь­ко
на яд­ре Linux. А во-

«В семействе мобильно- вто­рых, Bada нель­


зя на­звать мас­со­
Linux — стандарт-
ная платформа для
ма webOS. Впро­чем, ана­ли­ти­ки при­зна­ют,
что фак­ти­че­ское бан­крот­ство Palm с ка­
го Linux ждут интерес- вой, хо­тя в Samsung
очень серь­ез­но на­
Nokia N900 — скоро
появится и в других
че­ством плат­фор­мы не свя­за­но – но­вую
webOS все на­пе­ре­бой хва­ли­ли. Шли раз­
ного прибавления.» строе­ны сде­лать
смартфонах.
го­во­ры, что она боль­ше под­хо­дит для мо­
ее та­ко­вой. биль­ных уст­ройств, чем iPhone OS ком­
де­ла раз­ра­бо­ток Эн­ди Ру­бин [Andy Rubin] Са­мой ин­те­рес­ной «мо­биль­ной» сдел­ пании Apple. Ве­ро­ят­но, плат­фор­ма и нуж­на
в сво­ем ин­тер­вью ска­зал, что в Android 2.2 кой ка­жет­ся при­об­ре­тение Palm кор­по­ HP – вско­ре по­сле со­об­щения о сдел­ке
(он уже дол­жен вый­ти к то­му мо­мен­т у, ра­ци­ей HP. Мно­гих ана­ли­ти­ков сму­ти­ла в Се­ти по­полз­ли слу­хи о сво­ра­чи­вании ра­
когда вы бу­де­те чи­тать эти стро­ки) поя­ сум­ма: $1,2 млрд. ($5,70 за ак­цию) плюс бот над HP Slate и воз­мож­ном по­яв­лении
вит­ся под­держ­ка Flash. еще $200 тыс. до­полнитель­ных пла­те­ план­ше­та на webOS. Кро­ме то­го, по­го­ва­
Со­сто­ял­ся пер­вый вы­пуск объ­е­динен­ жей (в основ­ном вы­пла­та дол­гов Palm). ри­ва­ют об ин­те­ре­се HP к рын­к у смарт­-
ной плат­фор­мы MeeGo (LXF131). Для за­ И все это – за ком­панию, един­ствен­ны­ фо­нов и ком­муника­то­ров. Так что в се­мей­
груз­ки доступ­ны об­ра­зы систе­мы для уст­ ми ак­ти­ва­ми ко­то­рой яв­ля­ют­ся пы­ля­ стве мо­биль­но­го Linux ж­д ­у т ин­те­рес­ного
ройств на ба­зе Intel Atom и смарт­фо­на щее­ся на скла­де смарт­фо­ны и плат­фор­ при­бав­ления.

Intel пред­ста­ви­ла Moorestown


Про­грам­мы – это пре­крас­но, но мо­биль­но­му Linux ну­жен про­цес­сор,
на ко­то­ром они бу­дут вы­пол­нять­ся.

К
ор­по­ра­ция Intel пред­ста­ви­ла но­ Но­вый про­цес­сор вы­полнен по 45‑на­ пол­но­цен­но под­дер­жи­ва­ет все имею­
вую плат­фор­му для мо­биль­ных но­мет­ро­вой тех­но­ло­гии; его часто­та мо­жет щие­ся на се­го­дняшний мо­мент ин­тернет-
уст­ройств, план­шет­ных ком­пь­ со­став­лять от 1,5 до 1,9 ГГц, на од­ном чи­пе тех­но­ло­гии.
ю­те­ров и смарт­фо­нов, ранее из­вест­ную с ним на­хо­д ят­ся гра­фи­че­ский кон­трол­лер, И, на­конец, очень важ­ным яв­ля­ет­
под ко­до­вым на­име­но­ванием Moorestown. мо­дуль ко­ди­ро­вания и де­ко­ди­ро­вания ви­ ся на­ли­чие те­ле­фон­но­го сте­ка, ко­то­ро­го
Она ба­зи­ру­ет­ся на про­цес­со­рах се­мей­ства део, а так­же кон­трол­лер па­мя­ти. рань­ше в про­цес­со­рах x86 про­сто не су­
Atom Z6xx и от­ли­ча­ет­ся от пре­ды­ду­щей По­сколь­к у но­вая плат­фор­ма ори­ен­ти­ ще­ство­ва­ло. Но для то­го, что­бы уст­рой­
линей­ки Menlow су­ще­ствен­но (до 50 раз) ро­ва­на на мо­биль­ные уст­рой­ства, раз­ра­ ство успеш­но про­да­ва­лось, необ­хо­ди­мо
мень­шим энер­го­по­треб­лением в ре­жи­ме бот­чи­ки пре­ду­смот­ре­ли на­ли­чие всех ком­ пред­ло­жить поль­зо­ва­те­лям удоб­ное про­
ожи­дания. Алек­сей Ро­гач­ков, ве­д у­щий муника­ци­он­ных ин­тер­фей­сов, та­ких как грамм­ное обес­пе­чение, оп­ти­ми­зи­ро­ван­ное
спе­циа­лист по внедрению про­дук­ции Intel Bluetooth, WiMAX, Wi-Fi, GPS и 3G. Кро­ме под но­вую плат­фор­му».
в стра­нах СНГ, рас­ска­зав­ший о но­вин­ке то­го, поль­зо­ва­те­ли смо­г ут на­сла­ж ­дать­ся В чис­ле про­грамм­ных плат­форм, спо­
жур­на­ли­стам, под­черк­нул, что мо­биль­ ви­део в фор­ма­те Full HD 1080 p. соб­ных раскрыть весь по­тен­ци­а л но­во­
ные гад­же­ты, в осно­ве ко­то­рых ле­жит «Для кор­по­ра­ции Intel но­вая плат­ го тво­рения ин­женеров кор­по­ра­ции Intel,
но­вая плат­фор­ма, смо­г ут ра­бо­тать в ре­ фор­ма яв­ля­ет­ся во мно­гом ин­но­ва­ци­он­ бы­ли упо­мя­ну­ты Google Android, Moblin
жи­ме ожи­дания при­мер­но 10 дней, 2 дня ным про­д ук­том, – от­ме­тил Алек­сей Ро­гач­ и MeeGo. Но­вые про­цес­со­ры уже доступ­
непре­рыв­но воспро­из­во­дить ау­дио­фай­лы, ков, – по­сколь­к у он от­ли­ча­ет­ся ре­корд­но ны для за­ка­за про­из­во­ди­те­лям мо­биль­
5–6 ча­сов функ­циониро­вать в ре­жи­ме раз­ низ­ким энер­го­по­треб­лением, все­го пол- ных уст­ройств, и ожи­да­ет­ся, что пер­вые
го­во­ра и столь­ко же – в ре­жи­ме ак­тив­но­го ват­та, и крайне ком­пакт­ны­ми раз­ме­ра­ми. про­д ук­ты на их ба­зе поя­вят­ся на рын­ке
web-сер­фин­га. По­ми­мо это­го, не сто­ит за­бы­вать, что он до кон­ца те­к у­ще­го го­да.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
6      LXF132 Июнь 2010
Обзоры
Новинки программного и аппаратного обеспечения в описании наших экспертов

Сегодня мы рассматриваем:
Алексей Федорчук
Его слабости — mass
storage, разметка
диска и файловые
системы. Amarok 2.3 ������������������� 8 FlightGear 2.0 ����������� 11 Книги ����������������������������� 14
По­сле ам­би­ци­оз­но­го ре­ли­за 2.0 Лю­би­мый мно­ги­ми Microsoft Flight Ес­ли вы со­би­рае­тесь ру­лить web-
мы ожи­д а­ли уви­деть по­взрослев­ Simulator пе­ре­жи­ва­ет не луч­шие сай­том, ра­бо­таю­щим под управ­
ший, ста­биль­ный и на­деж­ный плей­ дни, и круп­ный ре­лиз его от­кры­то­ лением Drupal, в пер­вую оче­редь
Fedora в но­вой ер. Уда­лось ли раз­ра­бот­чи­кам обуз­ го кон­к у­рен­та мо­жет из­менить ба­ вам сле­д у­ет за­гля­нуть сю­д а.
сфе­ре? дать та­бун но­вых функ­ций? ланс сил – ес­ли спра­ви­тесь с его
уста­нов­кой.

С
пер­вых дней сво­его от­ще­п-
­ления от пра­ро­ди­тель­ско­го
PC-BSD 8 �������������������������� 9 Bluefish 2.0 ������������������ 12
Эту систе­му мож­но счи­тать «Ubuntu Несмот­ря на всю свою важ­ность,
Red Hat’а ди­ст­ри­бу­тив Fedora ми­ра BSD»: здесь есть удоб­ный ин­ web-ди­зайн оста­ет­ся в Linux «бед­
рас­смат­ри­вал­ся компанией как по­ли­ стал­ля­тор, при­выч­ный менед­жер па­ ным род­ственником». Мо­жет быть,
гон для от­ра­бот­ки но­вых тех­но­ло­гий, ке­тов и ра­бо­чий стол. Но смо­жет ли оче­ред­ная вер­сия по­пу­ляр­но­го
и по­это­му ин­тен­сив­но об­нов­лял­ся она кон­к у­ри­ро­вать с Linux? HTML-ре­дак­то­ра оз­на­ме­ну­ет на­ча­ло
но­вой эпо­хи?
в меж­ре­лиз­ный пе­ри­од. Что су­г у­бо
при­вет­ство­ва­лось эн­т у­зиа­ста­ми-экс- CrossOver 9 ���������������� 10 Mandriva ES 5.1 ������ 13
­пе­ри­мен­та­то­ра­ми, но вы­зы­ва­ло по­ Когда-то умение за­пускать Windows- Ком­мер­че­ский ди­ст­ри­бу­тив Linux
нят­ную на­сто­ро­жен­ность со сто­ро­ны при­ло­жения и иг­ры счи­та­лось клю­ для пред­при­ятий по­лу­чил дол­го­
че­вым. Уда­ст­ся ли это­му ин­ст­ру­мен­ ждан­ное об­нов­ление. Есть ли смысл
«про­мыш­лен­но­го сек­то­ра на­чаль­но­го
ту со­хранить по­пу­ляр­ность те­перь, вы­к ла­ды­вать денеж­ки, или мож­но
уров­ня». В ре­зуль­та­те ниша «Red Hat на нынешнем эта­пе раз­ви­тия Linux? по­про­бо­вать обой­тись бес­плат­ным
для бед­ных» ока­за­лась за­полнен­ CentOS?
ной кло­на­ми, та­ки­ми как CentOS
и Scientific Linux. Amarok 2.3  c. 8 PC-BSD 8  c. 9
Но по­хо­же, что «коман­дор­
ской ком­пании» это не по­нра­ви­лось.
И от­ныне по­ли­ти­ка об­нов­ления Fedora
ме­ня­ет­ся: в меж­ре­лиз­ный пе­ри­од
бу­д ут вы­пускать­ся толь­ко ис­прав­
ления безо­пас­но­сти; но­вые вер­сий
яд­ра и про­чих основ­ных ком­понен­
тов систе­мы от­ме­ня­ют­ся. Что, конеч­
но, пой­дёт на поль­зу ста­биль­но­сти
Amarok сейчас ли­хо управ­ля­ет­ся с USB-но­си­те­ Уста­нав­ли­ва­ет­ся как Linux, вы­гля­дит как Linux
ди­ст­ри­бу­ти­ва и от­кро­ет пе­ред ним
ля­ми и об­лож­ка­ми; настала пора обо­гнать iTunes? и ра­бо­та­ет как Linux, но внут­ри это BSD.
пер­спек­ти­вы про­мыш­лен­но­го при­
менения для тех, кто не ну­ж ­да­ет­
ся в техниче­ской под­держ­ке «на­стоя­-
ще­го» Red Hat или про­сто не мо­жет Наш вердикт: Пояснение
се­бе её по­зво­лить.
Но не по­те­ря­ет ли Fedora сво­ей Все попавшие Выдающиеся
фрон­тир­ной пре­лести для эн­т у­зиа­стов в обзор продукты
оцениваются
решения могут
получить престиж­
Вердикт
и экс­пе­ри­мен­та­то­ров? На­де­юсь, что по одиннадцати­ ную награду «Top
нет. Ду­маю, что вме­сто двух­сту­пен­- балльной шкале Stuff». Номинан­
Google Earth
Разработчики: Google
ча­той схе­мы ди­ст­ри­бу­ции – ста­биль­- (0 – низшая оцен- тами становятся
Сайт: http://earth.google.com
но­го ре­ли­за и так на­зы­вае­мо­го ка, 10 – высшая). лучшие из луч­
Цена: Бесплатно по закрытой лицензии
Как правило, ших – просто высо­
Rawhide са­ма со­бой сло­жит­ся трёх­- Функциональность 10/10
учитываются кой оценки здесь
сту­пен­ча­тая, по­доб­ная Debian’овской. функциональ­ недостаточно. Производительность 9/10
Соб­ствен­но, явоч­ным по­ряд­ком она ность, производительность, Рассматривая свободное ПО, Простота использования 9/10
простота использования и цена, мы обычно указываем предпоч­ Оправданность цены 9/10
и об­ра­зо­ва­лась при под­го­тов­ке 13‑й
а для бесплатных программ – тительный дистрибутив. Иногда Если весь мир – сцена, то Google
вер­сии. Ка­ко­вую, на­де­юсь, за­ин­те­ре­
еще и документация. Кроме это означает компиляцию Earth – театр. Простая в использова­
со­ван­ные ли­ца смо­г ут уви­деть ко вре­ того, мы всегда выставляем из исходных текстов, но если нии, захватывающая и ободряюще
мени про­чтения этих строк. общую оценку, демонстри­ разработчики рекомендуют практичная программа.

alv@posix.ru
рующую на­ше отношение
к продукту.
Autopackage, мы следуем
этому совету. Рейтинг 9/10
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      7
Обзоры Му­зы­каль­ный плей­ер

Amarok 2.3
Amarok пе­ре­жил пе­ре­ход от по­пу­ляр­ной вер­сии 1.4 к неудач­ной 2.0.
Нейл Бот­вик раз­мыш­ля­ет, вернет ли про­грам­ме бы­лую сла­ву по­пыт­ка 2.3.

A
marok 2 по­вто­рил судь­бу KDE 4,
Вкратце ко­то­ро­му во имя про­грес­са при­
шлось рас­про­щать­ся с при­выч­
Функ­цио­наль­но но­стью и ста­биль­но­стью. Как и в слу­чае
бо­га­тый ау­дио­ с KDE 4, от ка­ж ­дой оче­ред­ной вер­сии ожи­
плей­ер для вос­ да­лось, что она все по­пра­вит. Пе­ред на­ми
про­из­ве­де­ния за­ Amarok 2.3 – что же, по­пра­вил ли де­ло он?
пи­сей ло­каль­ной
Это, по­жа­луй, плей­ер не для тех, кто
кол­лек­ции, CD,
ин­тер­нет-ра­дио­ хо­чет про­сто воспро­из­во­дить му­зы­к у
стан­ций и под­ без лишних вы­кру­та­сов. Он для бо­лее тре­
кас­тов. См. так­же: бо­ва­тель­ных слу­ша­те­лей, ко­то­рым по­да­
Rhythmbox. вай за­груз­к у под­кастов и ин­фор­ма­цию
о до­рож­ках.
Amarok об­ла­да­ет все­ми стан­дарт­ны­ми
функ­ция­ми му­зыкаль­но­го плей­е­ра: ска­чи­
ванием об­ло­жек, эк­ва­лай­зе­ра­ми и т. п. Есть
и скрип­то­вый ин­тер­фейс, так что функ­ций
мож­но еще и до­ба­вить, при­чем в ря­де слу­ Стан­дарт­ный ин­тер­фейс Amarok с тре­мя па­не­ля­ми: ис­точ­ник му­зы­ки, плей-лист и ссыл­ки
ча­ев – не вы­хо­дя из про­грам­мы. На­при­мер, на ви­део­ма­те­риа­лы к те­ку­щей ком­по­зи­ции.
мож­но уста­нав­ли­вать рас­ши­рения для раз­
лич­ных ин­тернет-ра­дио­стан­ций и уве­дом­ или ком­по­зи­ции. На­звание треть­ей панели Amarok. В неко­то­рых ди­ст­ри­бу­ти­вах этот
лений о про­слу­ши­вае­мых ком­по­зи­ци­ях. го­во­рит са­мо за се­бя: плей-лист и есть. про­цесс ав­то­ма­ти­зи­ро­ван, но все же дру­
Ба­зо­вый ин­тер­фейс про­грам­мы со­ Это толь­ко ба­зо­вая кон­фи­г у­ра­ция – же­лю­бия к поль­зо­ва­те­лю здесь ма­ло.
сто­ит из панели ин­ст­ру­мен­тов с кноп­- Amarok пре­достав­ля­ет поль­зо­ва­те­лю пол­ Воспро­из­ве­дение запи­сей не тре­бу­ет
ка­ми на­ви­га­ции и све­дения­ми о про­иг­ры­ ную сво­бо­д у дей­ствий: панели мож­но мас­ сверхна­пря­жения ни от про­цес­со­ра, ни от
вае­мой до­рож­ке, а так­же трёх об­ластей: шта­би­ро­вать, за­кры­вать, пе­ре­та­со­вы­вать систе­мы вво­да-вы­во­да, но Amarok име­ет
спи­ска источников ме­диа, кон­тек­ст­ной па­ и да­же пе­ре­таски­вать за пре­де­лы глав­ при­выч­к у сканиро­вать му­зыкаль­ные кол­
нели и плей-листа. Ме­диа-источником мо­ но­го ок­на. Пе­ре­таски­вание од­ной панели лек­ции при стар­те. И ес­ли плей­ер за­пуска­
жет быть му­зыкаль­ная кол­лек­ция, служ­ по­верх дру­гой при­во­дит к пе­ре­к лю­чению ет­ся вме­сте с ра­бо­чим сто­лом (а в слу­чае
ба ти­па Last.fm, фай­ло­вая систе­ма, ваш на «вкла­доч­ный» вид – это удоб­но на уст­ с под­каста­ми так, ско­рее все­го, и бу­дет),
соб­ствен­ный плей-лист или подписка рой­ствах со неболь­ши­ми эк­ра­на­ми. на­груз­ка на систе­му за­мет­но воз­раста­ет.
на под­касты. На кон­тек­ст­ной панели ото­ В це­лом Amarok хо­ро­шая, мощ­ная про­
бра­жа­ют­ся све­дения о воспро­из­во­ди­мой Слиш­ком слож­но? грам­ма, хо­тя для мно­гих слиш­ком слож­
до­рож­ке. По умол­чанию это па­ра­мет­ры С под­каста­ми про­грам­ма об­ра­ща­ет­ся ная. Основ­ной удар по её по­пу­ляр­но­сти
тре­ка, сло­ва песни или све­дения об ис­ непло­хо, хо­тя подпи­сать­ся на них про­ на­но­сит нехват­ка до­к у­мен­та­ции, не по­зво­
полните­ле из Ви­ки­пе­дии. Мож­но до­ба­вить стым пе­ре­таски­ванием ссылок не по­лу­ ля­ющая обыч­но­му поль­зо­ва­те­лю до­б­рать­
ав­то­ма­ти­че­ский он­лайн-по­иск ви­део- чит­ся: при­дет­ся от­крыть спе­ци­а ль­ный ся до са­мых ин­те­рес­ных функ­ций.
или фо­то­ма­те­риа­лов об ис­полните­ле мастер (Add Podcast). Но­вые эпи­зо­ды мо­
гут за­гру­жать­ся по ме­ре по­яв­ления, ли­бо
Amarok бу­дет ска­чи­вать их по хо­д у воспро­ Вердикт
Свойства навскидку из­ве­дения. Воз­мож­но ис­поль­зо­вание
пор­та­тив­ных плей­е­ров как USB-на­ко­пи­
те­лей, под­к лю­чение к MTP или iPod с по­
Amarok 2.3
мо­щью libgpod. При­ло­жение весь­ма слож­ Раз­ра­бот­чик: Amarok
ное, а до­к у­мен­та­ции ника­кой. С ба­зо­вы­ми Сайт: http://amarok.kde.org
Це­на: Бес­плат­но на ус­ло­ви­ях GPL
функ­ция­ми ра­зо­брать­ся нетруд­но, но ес­ли
вы пре­достав­ляе­те ку­чу до­полнений, гу­ Функ­цио­наль­ность 9/10
Про­из­во­ди­тель­ность 6/10
ман­но бы­ло бы пояснить их применение.
Про­сто­та ис­поль­зо­ва­ния 5/10
Све­дения о кол­лек­ци­ях со­хра­ня­ют­ся До­ку­мен­та­ция 3/10
Под­кас­ты Гиб­кий ин­тер­фейс в ба­зе дан­ных MySQL. Это мо­жет быть
Про­дви­ну­тый плей­ер с мас­сой
Под­кас­ты мож­но слу­шать Ок­но мож­но ре­ор­га­ни­зо­вать встро­ен­ная БД с биб­лио­те­ка­ми MySQL,
функ­ций, но опо­ро­чен не­хват­кой
не­по­сред­ст­вен­но из се­ти, ли­ со­глас­но ин­ди­ви­ду­аль­ным но Amarok 2.3 несо­вместим с MySQL 5.1. до­ку­мен­та­ции для них.
бо Amarok бу­дет за­гру­жать пред­поч­те­ни­ям или раз­ме­
их ав­то­ма­ти­че­ски по ме­ре ру эк­ра­на. Ес­ли у вас бо­лее позд­няя вер­сия, по­на­
по­яв­ле­ния но­вых эпи­зо­дов. до­бит­ся соз­дать ба­зу дан­ных в MySQL
и офор­мить в ней учет­ную запись для
Рейтинг 6/10
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
8      LXF132 Июнь 2010
 Ди­ст­ри­бу­тив BSD Обзоры

PC-BSD 8
Ценитель кра­со­ты гра­фи­че­ских ин­стал­ля­то­ров Ко­эн Вервлоеcем от­крыл
PC-BSD 8, Ubuntu ми­ра BSD. Кто ска­зал, что BSD во­дит­ся толь­ко на сер­ве­рах?

М
ы часто по­ём ди­фи­рам­бы
Вкратце BSD. Уж и ста­би­лен он, и фай­
ло­вая систе­ма (как обосно­ван­
Наи­про­стей­ший но по­ла­га­ют) мно­го луч­ше, чем у Linux,
спо­соб раз­вер­ и со стан­дарт­ны­ми при­ло­жения­ми ра­бо­
нуть пол­но­цен­ та­ет... Един­ствен­ное, че­го не хва­та­ет BSD,
ный ра­бо­чий стол так это дру­же­люб­но­го ин­стал­ля­то­ра. Точ­
KDE на FreeBSD 8.
нее, гра­фи­че­ско­го ин­стал­ля­то­ра нет во­
Ес­ли у вас есть
вре­мя и тя­га к по­ об­ще. Это серь­ёз­ный барь­ер, ко­то­рый
зна­нию, по­про­ не в со­стоянии пре­одо­леть мно­гие же­лаю­
буй­те стан­дарт­ щие по­зна­ко­мить­ся с ин­те­рес­ной Unix-
ный FreeBSD. систе­мой.
Ди­ст­ри­бу­тив PC-BSD за­пол­ня­ет про­бел:
его гра­фи­че­ский ин­стал­ля­тор уста­но­вит
для вас ра­бо­чую сре­д у KDE на систе­ме
FreeBSD 8. Под­дер­жи­ва­ет­ся да­же фай­
ло­вая систе­ма ZFS, ко­то­рую ста­рею­щий
sysinstall не тянет. PC-BSD по­став­ля­ет­ся на 3,3-ГБ DVD или USB-брел­ке, и ус­та­нав­ли­ва­ет мод­ный ра­бо­чий
В неко­то­ром смыс­ле, PC-BSD для стол KDE 4.3 на проч­ном фун­да­мен­те FreeBSD 8.
FreeBSD – то же, что Ubuntu для Debian:
соз­дан­ный на ба­зе основ­но­го ди­ст­ри­бу­ лу­чае­те две опе­ра­ци­он­ных систе­мы по це­ ций. На­при­мер, под­держ­ка 3D-ре­жи­ма
ти­ва па­кет, доступ­ный про­сто­му неопыт­ не од­ной – обе, прав­да, бес­плат­ные. Ещё все ещё в ста­дии экс­пе­ри­мен­та. Оби­же­
но­му поль­зо­ва­те­лю. Ubuntu – пре­крас­ один бо­нус: ин­стал­ля­тор пред­ла­га­ет по­ ны вла­дель­цы ви­део­карт ATI: про­из­во­ди­
ный спо­соб по­зна­ко­мить­ся с ми­ром Linux; про­бо­вать Live-ва­ри­ант, для про­вер­ки со­ тель не пре­достав­ля­ет свой про­прие­тар­
PC-BSD – крат­чай­ший путь в мир BSD. Су­ вмести­мо­сти PC-BSD с ва­шим обо­ру­до­ ный драй­вер fglrx для PC-BSD или FreeBSD,
ди­те са­ми: 20 000 при­ло­жений, уста­нав­ли­ ванием пе­ред уста­нов­кой на диск. и им при­дёт­ся до­воль­ство­вать­ся сво­бод­
ны­ми драй­ве­ра­ми. Ес­ли у вас ви­део­кар­

«На пер­вый взгляд PC- За­ход в пор­ты та Nvidia, вам по­вез­ло боль­ше: в PC-BSD
Хо­тя мож­но уста­нав­ли­вать при­ло­жения пре­д у­смот­рен про­прие­тар­ный драй­вер,
BSD не­от­ли­чим от ди­ст­ FreeBSD, ком­пи­ли­руя их из кол­лек­ции «пор­
тов» (Ports; это «дальний род­ственник»
даю­щий шан­сы на достой­ную под­держ­к у
трёх­ме­рия. Прав­да, для 64‑бит­ных систем
ри­бу­ти­ва Linux.» па­ке­тов SRPM в Red Hat и близ­кий – ABS драй­вер по­ка на уровне бе­та-тести­ро­вания
в Arch и Portage в Gentoo), у PC-BSD есть (на на­шей тесто­вой 64‑бит­ной систе­ме
вае­мых на PC-BSD, без вся­ких из­менений соб­ствен­ная систе­ма управ­ления го­то­ про­блем не бы­ло).
бе­рут­ся из де­ре­ва пор­тов FreeBSD. Раз­ли­ вы­ми дво­ич­ны­ми па­ке­та­ми, Push Button Ре­ко­мен­д у­ем по­про­бо­вать эту но­вую
чия на­столь­ко незна­чи­тель­ны, что ин­стал­ Installer (PBI). Па­ке­ты – это фай­лы с рас­ систе­му поль­зо­ва­те­лям KDE с тех­нар­ской
ля­тор PC-BSD да­же пред­ла­га­ет на вы­бор ши­рения­ми .pbi; они уста­нав­ли­ва­ют­ся по жил­кой, склон­ным к экс­пе­ри­мен­там.
уста­нов­к у PC-BSD или FreeBSD 8, и вы по­ двой­но­му щелч­к у.
Па­ке­ты и их за­ви­си­мо­сти за­но­сят­
ся в от­дель­ные ав­то­ном­ные ка­та­ло­ги, Вердикт
Свойства навскидку во из­бе­жание кон­флик­тов ме­ж ­д у вер­сия­
ми. Для уста­нов­ки и об­нов­ления PBI слу­
жит про­стая, дру­же­люб­ная гра­фи­че­ская
PC-BSD 8
про­грам­ма Software Manager. Раз­ра­бот­чик: iXsystems
PC-BSD со­сре­до­то­чен исклю­чи­тель­ Сайт: www.pcbsd.org
Це­на: Бес­плат­но
но на KDE. Техниче­ски, мож­но уста­но­вить
и дру­г ую сре­д у, на­при­мер Gnome или Xfce, Функ­цио­наль­ность 7/10
но офи­ци­а ль­но та­кие ва­ри­ан­ты не под­дер­ Про­из­во­ди­тель­ность 9/10
Про­сто­та ис­поль­зо­ва­ния 8/10
жи­ва­ют­ся, от­че­го вы по­те­ряе­те в функ­цио­
До­ку­мен­та­ция 9/10
наль­но­сти. На­при­мер, менед­жер па­ке­тов
Ме­нед­жер па­ке­тов Ин­стал­ля­тор PC-BSD PC-BSD при уста­нов­ке при­ло­жений соз­да­ Отличный по­вод по­зна­ко­мить­ся
Про­стой спо­соб по­ис­ка, PC-BSD обладает са­мым дру­ с «со­юз­ни­ком» по ла­ге­рю сво­бод­-
ус­та­нов­ки и об­нов­ле­ния же­люб­ным ин­стал­ля­тором ёт ссыл­ки толь­ко для ме­ню KDE. ного ПО.
па­ке­тов PBI. во всём се­мей­ст­ве BSD. На пер­вый взгляд PC-BSD поч­ти неот­
ли­чим от ди­ст­ри­бу­ти­ва Linux, но в нём
яв­но не хва­та­ет ря­да про­дви­ну­тых функ­
Рейтинг 8/10
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      9
Обзоры CrossOver Pro 9.0

CrossOver Pro 9.0


Мы по­сто­ян­но охо­тим­ся за ПО, спо­соб­ным на­век уп­разднить раз­дел C:\.
Энди Ченнел счи­та­ет, что CrossOver Pro 9 это по пле­чу.

В
се­гда оста­ёт­ся что-то од­но. Ма­
Вкратце лень­кая про­грам­ма, иг­ра или ути­
ли­та, из-за ко­то­рой ну никак нель­зя
Сре­да для за­ снести на­конец раз­дел Windows. Поль­зо­
пус­ка Windows- ва­те­лей-тех­на­рей и вла­дель­цев ин­ди­ви­
при­ло­же­ний. См. ду­а ль­ных систем или неболь­ших се­тей
так­же: Wine (раз­
лич­ные сбор­ вы­ру­ча­ет Wine. Но ес­ли тре­бу­ет­ся под­
ки), VMware держ­ка уров­ня пред­при­ятия и спо­соб­ность
и VirtualBox. «раска­ты­вать» ин­стал­ля­цию в груп­по­вом
ре­жи­ме, то CrossOver Professional 9.0 сбе­
ре­жет вам и си­лы, и вре­мя.
Под­держ­ка при­ло­жений ти­па Microsoft
Office и Internet Explorer улуч­ша­ет­ся с ка­
ж­дой но­вой вер­си­ей, а на­строй­ка про­из­
во­ди­тель­но­сти по­зво­ля­ет неко­то­рым про­
грам­мам (осо­бен­но MS Office) ра­бо­тать
бы­ст­рее, чем «до­ма». По­следний ре­лиз CrossOver 9 за­пус­ка­ет мно­гие вер­сии MS Office, вклю­чая 2007. Это Office XP в ими­та­ции
за­ме­ча­те­лен пол­ной пе­ре­ра­бот­кой ин­тер­ Win98 — от­сю­да и не­ров­ные шриф­ты.
фей­са с ис­поль­зо­ванием GTK, и те­перь
Windows-при­ло­жения боль­ше по­хо­жи Adobe Creative Suite даль­ше CS2 про­дви­ ­ аль­но, но в систем­ном мас­шта­бе возника­
м
на Linux-со­брать­ев, а кое-где поя­ви­лись нуть не уда­лось. ют непри­ят­но­сти. Из-за про­кси не уда­ет­ся
да­же «пуль­си­рую­щие» ок­на. По­лез­ное до­полнение – ви­русный ска­ уста­но­вить неко­то­рые за­гру­жае­мые при­
нер, ко­то­рый про­ве­ря­ет за­гру­жае­мые ло­жения – в ча­ст­но­сти, IE7. Мож­но пред-

«Те­перь Windows- фай­лы на чисто­т у и при­зван за­щи­тить бу­


тыл­ки-кап­су­лы (эк­зем­п­ля­ры Windows)
­по­ло­жить, что но­вый CrossOver бе­рёт
на се­бя систем­ное управление про­кси-
при­ло­же­ния по­хо­жи от ин­фек­ции. функ­ци­ей, но это не сра­бо­та­ло ни на од­ной
из на­ших ма­шин. Мы со­ста­вили со­об­щение
на Linux-со­брать­ев.» По­слание в бу­тыл­ке об ошиб­ке и на­шли вы­ход в уста­нов­ке
Труд­но­сти на­чи­на­ют­ся при на­ру­шении пла- па­ра­мет­ров про­кси из команд­ной стро­ки
На­ше лич­ное пре­пят­ствие окон­ча­ но­вого по­ря­дка: ин­тер­фейс не вы­да­ет и по­сле­дую­щем за­пуске CrossOver в том же
тель­но­му пе­ре­хо­ду – Google SketchUp, долж­ную ин­фор­ма­цию о возник­шей про­ се­ан­се тер­ми­на­ла.
и мы с осо­бым вниманием сле­ди­ли бле­ме. Сред­ство управ­ления кап­су­ла­ми – Это по­лез­ное, гра­мот­ное, эко­но­ми­че­
за уси­лия­ми CrossOver в этом на­прав­ и спо­соб­ность проник­нуть внутрь псев­ ски эф­фек­тив­ное ПО. Но ес­ли ва­ше­го при­
лении. Пре­ды­ду­щая вер­сия вполне го­ди­ до­раз­де­ла C:\ ка­ж ­дой кап­су­лы – спо­соб­ ло­жения нет в спи­ске офи­ци­а ль­но под­дер-
лась для про­стой ра­бо­ты, од­на­ко бо­лее ству­ет уг­луб­лению понимания су­ти про­ис­- ­жи­вае­мых, лучше проявить бди­тель­ность:
слож­ные про­ек­ты за­мет­но «тор­мо­зи­ли». хо­д я­ще­го, но очень не по­ме­ша­ла бы встро- пре­ж ­де чем рас­ста­вать­ся с день­га­ми, ис­
Ме­нед­жер кап­сул- Но­вый ре­лиз еще не идеа­лен, но SketchUp ­ен­ная в CrossOver систе­ма уве­дом­лений. пы­тай­те проб­ную вер­сию.
па­ке­тов (Bottle ра­бо­та­ет за­мет­но бы­ст­рее и доста­точ­ С под­дер­жи­вае­мы­ми при­ло­жения­ми де­ло
Package Manager) но ста­би­лен да­же при боль­шой на­груз­ке. об­сто­ит луч­ше. Уста­нов­ка бы­ст­рая, ПО ра­
соз­да­ёт RPM или
Deb из ра­бо­таю­щих
Та же исто­рия со мно­ги­ми «непод­дер­ бо­та­ет как по­ложено, а ин­те­гра­ция с ра­бо­ Вердикт
жи­вае­мы­ми» при­ло­жения­ми, толь­ко вот чим сто­лом да­ет зна­ко­мые ощу­щения.
сис­тем-«бу­ты­лок».
Очень по­лез­ная функ­ция – соз­дание
па­ке­тов (RPM или Deb) из кап­сул. Это са­мо­-
CrossOver Pro 9.0
доста­точ­ный ин­стал­ля­тор вме­сте со все­ми Раз­ра­бот­чик: CodeWeavers
уста­нов­лен­ны­ми Windows-при­ло­жения­ми, Сайт: www.codeweavers.com
Це­на: $69,95 (вер­сия Pro)
ко­то­рый мож­но раз­мно­жить на лю­бое ко­
ли­че­ство ма­шин. Ра­бо­та­ет всё это безу­ Функ­цио­наль­ность 8/10
Про­из­во­ди­тель­ность 6/10
преч­но: для про­вер­ки мы «при­страи­ва­ли»
Про­сто­та ис­поль­зо­ва­ния 7/10
весь­ма объ­ё­ми­стые кап­су­лы в раз­ные ди­ Оп­рав­дан­ность це­ны 8/10
ст­ри­бу­ти­вы, без ка­ких-ли­бо за­труднений.
Не­пло­хая аль­тер­на­ти­ва «род­ным»
У нас возник­ли про­бле­мы с на­строй­-
Windows-при­ло­же­ни­ям или вир­туа­
ка­ми про­кси в са­мом CrossOver – и при ли­за­ции.
всем ста­рании ис­пра­вить их мы не смог­ли.
При­ло­жения, имеющие соб­ствен­ны­е сред­
ства­ ра­бо­ты с про­кси, дей­ству­ют нор-
Рейтинг 7/10
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
10      LXF132 Июнь 2010
 Иг­ры Обзоры

FlightGear 2.0.0
Про­шту­ди­ро­вав пи­ло­таж­ное ру­ко­во­дство «от доски до доски»,
Алекс Кокс на­конец осво­ил са­мый пе­ре­до­вой авиа­си­му­ля­тор от­кры­то­го ПО...

Ц
ентр управ­ления по­ле­та­ми в яро­
Вкратце сти. Толь­ко что взле­тел Cessna
172P Skyhawk, пре­зрев ра­дио­кон­
Ув­ле­ка­тель­ такт с дис­пет­че­ром ме­ж ­ду­на­род­но­го аэро­
ный, реа­ли­стич­ пор­та Сан-Фран­ци­ско. За­ло­жив ле­вый ви­
ный авиа­си­му­ля­ раж, са­мо­лёт чирк­нул ко­ле­са­ми шас­си
тор, спо­соб­ный
по гла­ди со­седнего озе­ра и, во­пре­ки за­
по­ко­рить ва­ше­му
про­пел­ле­ру весь ко­нам фи­зи­ки, от­пру­жинил и сно­ва взмыл
мир. См. так­же: к небе­сам. Неопыт­но­му авиа­то­ру яв­но
X-Plane. недоста­ва­ло на­вы­ков пи­ло­ти­ро­вания.
На­брав вы­со­т у, лёт­чик ре­шил, что
с него хва­тит. Он дви­нул ру­ко­ять впе­рёд,
и Cessna рез­ко клю­ну­ла но­сом, рва­нув­
шись к рас­чер­чен­ной квад­ра­та­ми зем­
ле. Пе­ре­груз­ка бро­си­ла кровь к го­ло­ве; по­
ле зрения за­му­ти­лось ро­зо­вым. А по­том
был удар. Фю­зе­ляж вре­зал­ся в зе­лё­ное
по­ле по­доб­но ко­пью, бро­шен­но­му уме­лой
ру­кой. Мир со­дрог­нул­ся и в ужа­се за­стыл.
Это, конеч­но, не под­лин­ное со­бы­ Путь обу­че­ния тернист — от­вле­ка­ют глю­ки: FlightGear не для рас­се­ян­ных, но упор­ст­во
тие. В ре­а ль­ной жизни бестолковость на­ воз­на­гра­ж­да­ет дос­той­но.
ка­зы­ва­ет­ся да­ле­ко не так зре­лищ­но.
Это FlightGear, авиа­иси­му­ля­тор с от­кры­ за ва­ми. Взаи­мо­дей­ствие с зем­лёй недо­
тым ис­ход­ным ко­дом, изо­щрён­но реа­ли­ от­ла­же­но, по­это­му по­сад­ка пре­вра­ща­ет­ся
Уви­деть мир стич­ный и нере­а ль­но глюч­ный. в серь­ёз­ное ис­пы­тание.
Впро­чем, по­лю­бив иг­ру, вы за­бу­де­те
Хо­тя ис­ход­ный ди­ст­ри­бу­тив FlightGear охватыва­ет лишь не­боль­шую Станем на кры­ло о мел­ких непри­ят­но­стях. FlightGear – бес­
зо­ну во­круг Сан-Фран­ци­ско, к ва­шим ус­лу­гам весь мир – сто­ит толь­ко Ваш пер­вый опыт бу­дет, ве­ро­ят­но, схо­ден спор­ный успех. Осно­ва­тель­ный под­ход де­
за­хо­теть. Для ка­ж ­до­го уча­ст­ка зем­ной по­верх­но­сти вос­соз­д ан рель­
с на­шим. Му­тор­ная, но необ­хо­ди­мая часть ла­ет иг­ру весь­ма прав­до­по­доб­ной и по­зна­
еф с точ­но­стью до пло­ща­док 10 × 10 гра­д у­сов. Спе­ци­а ль­ное при­ло­же­
ние Terrasync сле­дит за за­груз­кой нуж­ных дан­ных, ко­гда ва­ша тра­ек­ обу­чения лёт­но­му мастер­ству – освоение ва­тель­ной. Да, по­на­ча­лу бу­дет труднень­ко,
то­рия вы­хо­дит в но­вую зо­ну. лёг­кой, не в ме­ру под­виж­ной ма­шин­ки. но и в этом есть до­ля при­вле­ка­тель­но­сти.
По­зна­вая мир, впол­не мож­но по­встре­чать дру­гих поль­зо­ва­те­лей Де­ло в том, что Cessna – не толь­ко пре­крас­ По­бед­ная эй­фо­рия от соб­ствен­но­руч­но­го
FlightGear. Ин­тер­на­цио­наль­ный мно­го­поль­зо­ва­тель­ский ком­по­нент ный учеб­ный са­мо­лёт, но и един­ствен­ное вы­во­да в небо «Бо­ин­га-777» весь­ма ощу­
иг­ры не обя­за­те­лен, но ре­ко­мен­до­ван – хо­тя бы по­то­му, что со­оте­
че­ст­вен­ни­ки су­ме­ют объ­яс­нить вам, как и что де­лать. Мо­д уль рас­
суд­но, по умол­чанию снаб­жён­ное пол­ным ти­ма, осо­бен­но по­сле то­го, как вы одо­ле­
ши­ре­ния ука­жет вам че­рез Google Maps, ка­кие пи­ло­ты где ле­та­ют – ру­ко­во­дством. При­чём «пол­ным» в са­мом ли ру­ко­во­дство по авионике, соб­ствен­но
и уж то­гда не уро­ни­те се­бя, вы­бе­ри­те дос­той­ное суд­но из об­шир­но­го пол­ном смыс­ле. Оно про­ве­дет вас че­рез «777» и се­рию учебников, чтоб под­нять­ся
он­лайн-ан­га­ра. пред­по­лёт­ные про­вер­ки, ра­дио­пе­ре­го­во­ мет­ра на три.
ры и стар­то­вые про­це­д у­ры. Вас не про­сто
учат поднимать­ся в воз­д ух, а пре­по­да­ют
все тон­ко­сти ре­мес­ла. Вердикт
От­да­дим долж­ное мно­го­чис­лен­ным
раз­ра­бот­чи­кам FlightGear, по­свя­тив­шим
иг­ре дол­гие ча­сы сво­ей жизни: по­ве­дение
FlightGear 2.0.0
Cessna вполне реа­ли­стич­но. По крайней Раз­ра­бот­чик: ко­ман­да FlightGear
ме­ре, оно та­кое же, как в ими­та­то­рах ти­па Сайт: www.flightgear.org
Це­на: Бес­плат­но на ус­ло­ви­ях GPL
X-Plane, осо­бен­но при на­ли­чии джой­сти­ка
(хо­тя он не обя­за­те­лен). Функ­цио­наль­ность 7/10
Непло­хо бы улуч­шить ото­бра­жение Про­из­во­ди­тель­ность 6/10
Про­сто­та ис­поль­зо­ва­ния 9/10
ок­ру­жаю­щей сре­ды. Схе­ма­тич­ные ви­ды
До­ку­мен­та­ция 9/10
го­ро­дов не ра­д у­ют глаз – прав­да, это из­ви­
Не­безу­преч­ная, но ув­ле­ка­тель­ная
ня­ет­ся тем фак­том, что кар­та ох­ва­ты­ва­ет
иг­руш­ка для ве­те­ра­нов ана­ло­го­во­го
весь мир. Вер­сия 2.0.0 по­лу­чи­ла реа­ли­с- джой­сти­ка.
Cайт FlightGear ло­мит­ся от са­мо­лё­тов, вер­то­лё­тов и да­же тич­ные объ­ём­ные об­ла­ка, но они гра­фи­-
ав­то­мо­би­лей, соз­дан­ных поль­зо­ва­те­ля­ми. че­ски «при­вя­за­ны» к са­мо­лё­т у: вы вхо­ди­те
в пи­ке, а об­ла­ка уст­рем­ля­ют­ся вслед
Рейтинг 8/10
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      11
Обзоры Тек­сто­вый ре­дак­тор

Bluefish 2.0.0
Гиб­кий тек­сто­вый ре­дак­тор уп­ро­ща­ет web-раз­ра­бот­ку, но Боб Мосс раз­оча­ро­ван
от­сут­стви­ем пред­про­смот­ра.

W
eb-раз­ра­бот­ка – сво­его ро­
Вкратце да за­прет­ная те­ма в со­об­ще­
стве Linux. У нас нет ре­шений,
Тек­сто­вый ре­ под­кре­п­лен­ных мощ­ным на­уч­но-ис­сле­
дак­тор с под­ до­ва­тель­ским бюд­же­том, по­доб­ных ком­
держ­кой web- мер­че­ским Dreamweaver или Expression
и при­к лад­но­го
Web. Од­на­ко мно­гие из нас со­гла­сит­ся, что
про­грам­ми­ро­ва­
ния. См. так­же: Bluefish – луч­шее из пред­ла­гае­мо­го СПО
Quanta Plus или в дан­ной сфе­ре (в Сравнении LXF115 эта
Kate. про­грам­ма да­же вы­шла в по­бе­ди­те­ли).
По сравнению с ком­мер­че­ски­ми па­ке­
та­ми Bluefish быстр и от­зыв­чив, а систем­
ных ре­сур­сов рас­хо­д у­ет где-то втрое
мень­ше. Про­грам­ма очень ста­биль­на
и мо­жет ра­бо­тать с ты­ся­ча­ми до­к у­мен­тов
од­но­вре­мен­но.
Всё, че­го вы жде­те от тек­сто­во­го ре­
дак­то­ра – про­вер­ка пра­вопи­сания, по­иск
и за­ме­на, мно­го­поль­зо­ва­тель­ский ре­жим,
под­держ­ка несколь­ких язы­ков про­грам­ Bluefish — пре­вос­ход­ное сред­ст­во web-раз­ра­бот­ки, но от­сут­ст­вие ре­жи­ма WYSIWYG
ми­ро­вания, за­к лад­ки для часто ре­дак­ти­ в столь мощ­ной про­грам­ме вы­зы­ва­ет не­до­уме­ние.
руе­мых фай­лов и од­но­вре­мен­ная ра­бо­
та над несколь­ки­ми до­к у­мен­та­ми – здесь с PHP, HTML, JavaScript и CSS вы по­лу­ че­те боль­ше поль­зы из ва­ше­го IDE, чем
под ру­кой. Ин­тер­фейс ин­т уи­тив­но по­ня­ чае­те це­лую рос­сыпь панелей и функ­ций. из Bluefish. Здесь мож­но, конеч­но, вы­зы­
Же­лае­те уви­деть в по­зи­ции кур­со­ра вать внешние скрип­ты и ути­ли­ты (на­при­

«Под­лин­ный ко­нек шаб­лон­ный код для встраи­вае­мо­го CSS-


сти­ля или вы­звать мастер для соз­д ания
мер, make), но встро­ен­но­го ком­пи­ля­то­ра
и от­лад­чи­ка они не за­ме­нят.
Bluefish – это фор­мы, таб­ли­цы ли­бо спи­ска? Все это
здесь есть – про­сто на­жми­те на со­от­вет­
Не пой­ми­те пре­врат­но: нам нра­вит­ся
мощь и гиб­кость Bluefish, но ав­то­ры, по­
web-раз­ра­бот­ка.» ствую­щ ую кноп­к у. хо­же, не при­шли к вы­во­д у, де­лать ли им
Гвоздь про­грам­мы Bluefish – ав­то­- пол­но­цен­ное сред­ство web-раз­ра­бот­ки
тен и не за­гро­мо­ж ­дён; ме­ню мож­но «ра­ за­вер­шение HTML-ко­да. Поль­зо­ва­те­лям или ре­дак­тор для про­грам­ми­стов, оста­
зо­рвать», раз­местив их так, как тре­бу­ Dreamweaver зна­ко­ма ав­то­под­ста­нов­ка но­вив­шись где-то по­се­ре­дине с «ре­дак-
ет ра­бо­чий про­цесс. Мощь про­грам­мы (с ав­то­за­кры­ти­ем) тэ­гов при ко­ди­ро­вании – ­то­ром за всё». Это и то­пит про­грам­му,
не нер­ви­ру­ет поль­зо­ва­те­ля. те­перь Bluefish пе­ре­нёс ее в Linux. Дей­ству­ а жаль: Bluefish мог бы стать еди­ной
Но под­лин­ный ко­нёк Bluefish – именно ет функ­ция небезу­преч­но, но вре­мя ко­ди­ сре­дой web-раз­ра­бот­ки для всех Linux-
web-раз­ра­бот­ка. Да, есть под­свет­ка ко­д а ро­вания web-страниц со­кра­ща­ет. поль­зо­ва­те­лей.
для C++ и дру­гих язы­ков, но при ра­бо­те Ещё од­но досто­ин­ство Bluefish – бо­га­
тая до­к у­мен­та­ция, осо­бен­но под­роб­ные
ви­ки-ма­те­риа­лы и man-страницы. Вердикт
Свойства навскидку
Зияю­щий про­бел Bluefish 2.0.0
Сле­д у­ет упо­мя­нуть и сло­на, ко­то­ро­го по­на­
ча­лу не при­ме­ти­ли: Bluefish не под­дер­жи­ва­ Раз­ра­бот­чик: Bluefish Developers
Сайт: http://bluefish.openoffice.nl
ет WYSIWYG (ви­зу­а ль­ное ре­дак­ти­ро­вание). Це­на: Бес­плат­но на ус­ло­ви­ях GPL
Воз­мож­ность соз­да­вать web-страницы
в этом ре­жи­ме (или с пред­про­смот­ром Функ­цио­наль­ность 7/10
Про­из­во­ди­тель­ность 9/10
ре­зуль­та­тов ко­ди­ро­вания в от­дель­ном
Про­сто­та ис­поль­зо­ва­ния 7/10
окне) очень бы при­го­ди­лась. До­ку­мен­та­ция 7/10
HTML-ав­то­ма­ти­за­ция Удоб­ные мас­те­ра В ми­ре Linux нема­ло ре­дак­то­ров с под­
Раз­но­сто­рон­ний тек­сто­вый ре­дак­
При на­бо­ре ко­да Bluefish под­ Соз­да­ние таб­лиц, спи­сков держ­кой WYSIWYG, и от­сут­ствие та­ко­вой
тор, ко­то­рый за­ма­хи­ва­ет­ся на всё
став­ля­ет пред­по­ла­гае­мые и форм ав­то­ма­ти­зи­ру­ет­ся в Bluefish нас рас­строи­ло. Нет да­же кноп­ки и вся; но не ли­шен не­до­че­тов.
тэги и ав­то­ма­ти­че­ски соз­ с по­мо­щью мас­те­ров
да­ёт для них за­кры­ваю­щие или знач­ков на па­не­лях вы­зо­ва брау­зе­ра, в ко­то­ром мож­но бы­ло бы
па­ры. ин­ст­ру­мен­тов. от­крыть соз­дан­ную страницу. Кро­ме то­го,
при прав­ке ис­ход­ных тек­стов вы из­вле­
Рейтинг 7/10
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
12      LXF132 Июнь 2010
 Ди­ст­ри­бу­тив Linux Обзоры

Mandriva Enterprise Server 5.1


Ре­шения Mandriva из­вест­ны сво­им удоб­ством, но оп­рав­да­на ли це­на?
Разбирался Ев­гений Кре­стников.

M
andriva Enterprise Server (MES)
Вкратце 5.1 – кор­по­ра­тив­ный сер­вер,
со­вмести­мый со спе­ци­фи­ка­
Ком­мер­че­ский ци­ей LSB (Linux Standard Base) 4.0 и от­ли­
сер­вер­ный ди­ чаю­щий­ся дли­тель­ным сро­ком под­держ­ки
ст­ри­бу­тив с под­ (5 лет). В его со­став вклю­че­но по­пу­ляр­
держ­кой на рус­
ском язы­ке. См. ное ПО, а так­же соб­ствен­ные раз­ра­бот­ки
так­же: RHEL, Mandriva, уп­ро­щаю­щие ввод в экс­плуа­та­
CentOS или SLES. цию. Подпис­чи­кам доступ­на техниче­ская
под­держ­ка на русском язы­ке.
Это ком­мер­че­ский про­дукт. Что­бы по­
лу­чить доступ к дво­ич­ным об­нов­лениям
и техниче­скую под­держ­к у, необ­хо­ди­мо
Клю­че­вое ПО
офор­мить подписку (го­до­вую или трех­лет­
Яд­ро 2.6.27 нюю). Она осу­ще­ств­ля­ет­ся спе­циа­ли­ста­ми
Xen 3.3.1, KVM Mandriva.ru по те­ле­фо­ну и элек­трон­ной
Mandriva поч­те. Вре­мя ре­ак­ции за­ви­сит от кри­тич­
Directory Server, но­сти возник­шей про­бле­мы, а так­же ти­па
OpenLDAP 2.4,
Kerberos 5,
подписки: Ба­зо­вая, Стан­дарт­ная, VIP – по­
Samba 3.2 след­няя пред­по­ла­га­ет трех­ча­со­вой от­к лик
Tomcat, Sun JDK, в ре­жи­ме 24 × 7 на за­про­сы с вы­со­ким при­ По­доб­но eBox Platform (см. стр. 18), MES мож­но ад­ми­ни­ст­ри­ро­вать че­рез web-ин­тер­фейс.
JRE (1.5 и 1.6), ори­те­том (си­т уа­ции, спо­соб­ные при­вести Прав­да, на анг­лий­ском язы­ке.
OpenJDK
к нера­бо­то­спо­соб­но­сти или серь­ез­ным
Postfix 2.5,
Sendmail, по­вре­ж ­дениям систем кли­ен­та). Бес­плат­ стро­ить сер­ви­сы, вклю­чая меж­се­те­вой эк­ Что в ито­ге?
Cyrus-IMAP 2.3, ный пе­ри­од для тести­ро­вания про­дук­та – ран и про­филь безо­пас­но­сти. Mandriva пред­ста­ви­ла хо­ро­ший про­
Courier-IMAP 3.0 1 ме­сяц. На­строй­ка сер­ве­ра осу­ще­ств­ля­ет­ся дукт кор­по­ра­тив­но­го уров­ня: MES 5.1
Apache 2.2, че­рез еди­ный Центр управ­ления (стан­дарт­ вполне спо­со­бен за­менить сер­вер­ные
PHP 5.2, Perl 5.10,
Squid 3.0
Раз­вернем и про­ве­рим ный для Mandriva). Он по­зво­ля­ет управ­лять ОС от Microsoft, а его раз­вер­ты­вание
MySQL 5.0, Ин­стал­ля­ция MES 5.1 не вы­зо­вет за­ па­ке­та­ми и служ­ба­ми, ад­минист­ри­ро­вать не вы­зо­вет за­труднений да­же у но­вич­
PostgreSQL 8.3 труднений да­же у на­чи­наю­щих ад­минист­ поль­зо­ва­те­лей и груп­пы, ра­бо­тать с обо­ ков. От­сут­ствие русскоя­зыч­ной до­к у­мен­
Bacula 3.0.1 ра­то­ров. Сто­ит от­ме­тить, что ес­ли MES ру­до­ванием и т. д. Так­же досту­пен web- та­ции ком­пен­си­ру­ет­ся на­ли­чи­ем под­держ­
уста­нав­ли­ва­ет­ся в ка­че­стве вто­рой ОС, ин­тер­фейс MMC (Mandriva Management ки на род­ном язы­ке. Для ис­поль­зо­вания
луч­ше вы­би­рать ва­ри­ант руч­но­го раз­ Console): при ин­стал­ля­ции систе­мы (ес­ли в се­тях ма­лых и средних пред­при­ятий этот
биения дисков – при ав­то­ма­ти­че­ском у нас вы­бра­на оп­ция Mandriva Server Setup) ста­ ди­ст­ри­бу­тив мож­но ре­ко­мен­до­вать сме­ло.
возник­ли про­бле­мы с некор­рект­ным соз­ вит­ся толь­ко па­кет mmc-wizard, ко­то­рый Что ка­са­ет­ся мас­штаб­ных внедрений –
данием раз­де­лов. Ин­стал­ля­тор прост и по­ по­зво­ля­ет про­из­ве­сти уста­нов­к у и пер­вич­ для на­ча­ла, мы бы об­ра­ти­лись в Mandriva.
ня­тен; он по­зво­ля­ет ука­зать необ­хо­ди­мое ную на­строй­к у раз­лич­ных служб. ru, что­бы изу­чить чу­жой опыт.
ПО (в том чис­ле на уровне па­ке­тов) и на­ От­дель­но­го упо­ми­нания за­слу­жи­ва­
ет Mandriva Directory Server – ин­ст­ру­мент
для ве­дения ка­та­ло­га поль­зо­ва­те­лей, прав Вердикт
Свойства навскидку досту­па к об­щим ре­сур­сам локаль­ной се­
ти и управ­ления сер­ви­са­ми. Он так­же на­
страи­ва­ет­ся че­рез web-ин­тер­фейс, ин­
MES 5.1
Раз­ра­бот­чик: Manriva S.A.
тег­ри­ру­ет­ся с Microsoft Active Directory Сайт: www.mandriva.ru
и спо­со­бен за­менить кон­трол­лер до­ме­на Ли­цен­зия: Ком­мер­че­ская
на Windows. Кро­ме то­го, подпис­чи­ки MES Це­на: От 12 500 руб­лей
5.1 мо­г ут уста­но­вить Pulse II – ре­шение для Функ­цио­наль­ность 9/10
цен­тра­ли­зо­ван­но­го управ­ления ИТ-ин­фра­ Про­из­во­ди­тель­ность 9/10
струк­т у­рой ком­пании. Про­сто­та ис­поль­зо­ва­ния 10/10
До­к у­мен­та­ция MES 5 по­ка­за­лась До­ку­мен­та­ция 7/10
Удоб­ный ин­стал­ля­тор Па­нель управ­ле­ния
Про­грам­ма ус­та­нов­ки Еди­ный центр управ­ле­ния нам доста­точ­но под­роб­ной, од­на­ко она Про­стой в ис­поль­зо­ва­нии сер­вер­
не за­да­ет лиш­них во­про­сов, прост и по­ня­тен да­же адми­ ный ди­ст­ри­бу­тив, с рус­скоя­зыч­ной
доступ­на толь­ко на анг­лий­ском язы­ке.
но по­зво­ля­ет на­стро­ить мно­ нистратору, не знакомому тех­ни­че­ской под­держ­кой.
же­ст­во па­ра­мет­ров. с механикой Linux. Са­ма систе­ма, за исклю­чением web-
ин­тер­фей­са MMC, лока­ли­зо­ва­на до­воль­но
непло­хо.
Рейтинг 9/10
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      13
Обзоры Кни­ги

Drupal: Соз­дание и управ­ление сай­том


Мож­но ли сде­лать кри­вую обу­чения за­ме­ча­тель­ной CMS Drupal
несколь­ко бо­лее по­ло­гой? Раз­би­рал­ся Алек­сандр Кузь­мен­ков.

С
исте­ма управ­ления со­дер­жи­ ю­щих гла­вах ав­то­ры по­сту­па­ют он ра­бо­та­ет. При­лагаемое ру­ко­во­дство
мым Drupal су­ще­ству­ет да­ле­ко аналогично: ста­вят за­да­чу и тут же по уста­нов­ке и об­нов­лению Drupal не спа-
не пер­вый год, и уже об­росла де­мон­ст­ри­ру­ют, как ре­шить её с по­ сает. Про­фес­сио­на­лам, зна­ющим PHP,
вну­ши­тель­ной ар­ми­ей поль­зо­ва­те­лей мо­щью некой ком­би­на­ции го­то­вых нече­го рас­счи­ты­ва­ть уви­деть здесь ар­хи­
и раз­ра­бот­чи­ков сто­ронних мо­д у­лей. Как мо­ду­лей. Очень по­ра­до­ва­ло, что тек­т у­ру систе­мы. За­то нулям в про­грам­ми­
и у всех доста­точ­но раз­ви­тых и пре­тен­ сре­ди опи­сан­ных в книге мо­д у­лей ро­вании луч­шее ру­ко­во­дство для обу­чения
дую­щих на универ­саль­ность про­д ук­тов, встре­ча­ют­ся и сто­ронние, то есть через прак­ти­к у бу­дет най­ти слож­но.
у Drupal есть довольно серьёзный недоста­ ав­то­ры весь­ма доб­ро­со­ве­ст­но по­
ток: вы­со­кий по­рог вхо­ж ­дения, ко­то­рый до­шли к за­да­че – по­ка­зать, как ре­
со вре­менем от­нюдь не ста­но­вит­ся ниже. шить про­бле­му, а не про­сто опи­сать Вердикт
Эта книга за­те­ва­лась как ре­шение дан­ Drupal как вещь в се­бе. При­ят­но

Кни­г у для дан­но­го об­зо­ра пре­дос­тав­ле­ны ин­тер­нет-ма­га­зи­ном Books.Ru.


ной про­бле­мы. Ав­то­ры, кста­ти, принима­ют уди­ви­ла и гла­ва про ин­тер­на­цио­ Drupal: Соз­да­ние
ак­тив­ное уча­стие в раз­ра­бот­ке Drupal, на­ли­за­цию – редкую птицу в ра­бо-­ и управ­ле­ние сай­том
Кни­га — ти­пич­ный
и они в кур­се то­го, чем жи­вёт про­ект. Уда­ тах анг­лоя­зыч­ных ав­то­ров.
сбор­ник ре­цеп­тов; Ав­торы: Ан­же­ла Бай­рон, Эд­ди­сон
лось ли им реа­ли­зо­вать за­д у­ман­ное? Что до недостат­ков, то они ти­пич­ны для по­нра­вит­ся ли она Бер­ри, На­тан Хог и др.
По­лу­чи­лась книга для прак­ти­ков, го­ лю­бо­го сборника ре­цеп­тов. Это недоста­ вам, за­ви­сит от ва­ Из­да­тель­ст­во: Сим­вол-Плюс/O'Reilly
то­вых сра­зу, без лишних слов, ри­нуть­ся ток тео­ре­ти­че­ской ба­зы: ес­ли вам по­тре­- ше­го от­но­ше­ния ISBN: 978-5-93286-174-5
к дан­но­му жан­ру. Це­на: 590 руб.
в омут соз­дания сво­его сай­та. То есть ти­ бу­ет­ся бы­ст­ро сде­лать нечто вне рам­ок
Объ­ем: 576 стр.
пич­ный сборник ре­цеп­тов. В пер­вой гла­ве рас­смот­ренных в книге при­ме­ров, при­дёт­
По­дой­дёт ори­ен­ти­ро­ван­ным на ре­
даны крат­кий об­зор CMS, рас­ска­з об ис- ся сна­ча­ла вникать в са­мые осно­вы. Или
зуль­тат прак­ти­кам, за­пу­тав­шим­ся
то­рии про­ек­та и от­ве­т на во­прос: «А за­чем искать ре­шения в се­ти; ко­му что бли­же. во всех этих бес­чис­лен­ных мо­ду­лях.
нам CMS во­об­ще?». А уже во вто­рой Со­вер­шен­ным но­вич­кам книга не по­д-
пойдёт со­оружение из под­руч­ных мо­ду­
лей про­стень­кого сайта-ви­зит­ки. В сле­ду-
хо­дит: нуж­но хо­тя бы в об­щих чер­тах пред-
став­лять, что такое web-сайт из­нут­ри и как
Рей­тинг 6/10

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
14      LXF132 Июнь 2010
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru


Сравнение
Каждый месяц мы сравниваем тысячи
программ – а вы можете отдыхать!

Ди­ст­ри­бу­ти­вы-
бранд­мау­эры eBox 1.4-2

Мар­тин Ме­ре­дит изу­ча­ет ди­ст­ри­бу­ти­вы, при­зван­ные за­щи­щать ва­шу сеть.

Про наш тест…


Ди­ст­ри­бу­ти­вы для бранд­мау­эров
ис­к лю­чи­тель­но раз­но­об­раз­ны, и нам
при­шлось быть весь­ма при­дир­чи­вы­ми
в вы­бо­ре.
Мы раз­ра­бо­та­ли тео­ре­ти­че­ской сце­
на­рий, в ко­то­ром один и тот же бранд­
мау­эр ис­поль­зу­ет­ся и до­ма, и в офи­се,
с наи­луч­шей гиб­ко­стью для обо­их мест,
и осо­бо сле­ди­ли за лег­ко­стью уста­
нов­ки и на­строй­ки.
Все ди­ст­ри­бу­ти­вы, пред­став­лен­ные
в на­шем Сравнении, тести­ро­ва­лись
на двух систе­мах. Пер­вая – сер­вер Dell
PowerEdge R210, а вто­рая – вир­т у­а ль­ная
ма­ши­на, вы­пол­няю­щая­ся в VirtualBox
на ма­шине HP.
У обе­их тесто­вых ма­шин бы­ло
по 40 ГБ сво­бод­но­го про­стран­ства
на же­ст­ком диске, и 2 ГБ опе­ра­тив­ной
па­мя­ти.

В
ы иде­те по тем­но­му пе­ре­ул­к у Боль­шин­с тво бранд­мау­эров де­лят­ся эры вто­ро­го ти­па по­ме­щ а­ют­ся ме­ж ­д у ва­
На­ша позд­но но­чью, и вдруг кто-то на­ на два ти­па. Пер­вые ра­бо­та­ют на локаль­ шей се­тью и Ин­тернетом (или дру­гой се­
под­бор­ка ска­ки­ва­ет на вас и отнима­ет пас­ ной ма­шине, ох­ра­няя вас от ужа­сов Ин­ тью). Та­кие-то мы и рас­смот­рим в на­шем
ClearOS с. 17 порт, кре­дит­ные кар­точ­ки и клю­ тернета, на ка­кие бы сай­ты вас ни за­ Сравнении.
IPCop с. 18 чи от ав­то­мо­би­ля. Это хо­ро­шая ана­ло­гия несло. Ди­с т­ри­бу­ти­вы Linux, как пра­ви­ло, Учи­ты­вая ог­ром­ное раз­но­об­ра­зие су­
eBox с ис­поль­зо­ванием Ин­тернета. Опас­ность име­ют в сво­ем со­с та­ве Iptables, ин­ди­ви­ ще­с твую­щих на се­го­дняшний день ре­
Platform с. 18
m0n0wall с. 19 та­ит­ся в ка­ж ­дом уг­лу, и при со­вре­мен­ ду­а ль­но на­с тро­ен­ные под дан­ный ком­ шений (пол­ный спи­сок см. на http://linkpot.
PfSense с. 19 ных со­единениях ти­па «все­гда-на-свя­зи» пь­ю­тер или сер­вер (бо­лее под­роб­ную ин­ net/exercised), мы по­про­бу­ем ра­зо­брать­
Smoothwall вы мо­же­те стать жерт­вой ин­тернет-эк­ви­ва­ фор­ма­цию о том, как обезо­па­сить свою ся, по­че­му одни ва­ри­ан­ты луч­ше дру­
Advanced с. 20
Smoothwall лен­та гра­би­те­лей, са­ми то­го не за­ме­тив. ма­ши­ну, см. ста­тью Безо­пас­ность: Для гих, и что боль­ше по­дой­дет вам и ва­шей
Express с. 20 Бранд­мау­эр иг­ра­ет для безо­пас­но­ ва­ше­го сер­ве­ра в LXF121). Бранд­мау­ систе­ме.
сти ва­ше­го ком­пь­ю­те­ра ту же роль, что
и дю­жий те­ло­хранитель, со­про­во­ж ­д аю­
щий вас на ули­це. Будь то до­маш­няя или
«Бранд­мау­эр для безо­пас­но­сти
офис­ная сеть, бранд­мау­эр (он же меж­се­
те­вой эк­ран) при­зван обес­пе­чить необ­хо­
ком­пь­ю­те­ра играет ту же роль,
ди­мую защиту. что и дю­жий те­ло­хра­ни­те­ль.»
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
16      LXF132 Июнь 2010
 Ди­ст­ри­бу­ти­вы-бранд­мау­эры Сравнение

ClearOS
Ди­ст­ри­бу­тив, со­вместив­ший удоб­ство и функ­цио­наль­ность.

C
learOS, безуслов­но, са­мый стиль­ Наи­бо­лее за­мет­ной осо­бен­но­стью
ный бранд­мау­эр это­го Сравне­ ClearOS яв­ля­ет­ся его удоб­ство, но этот ди­
ния. На раз­ра­бот­к у ин­тер­фей­са ст­ри­бу­тив да­ет го­раз­до боль­ше, чем про­
яв­но по­тра­че­но мно­го вре­мени и сил, при­ сто кра­си­вый ин­тер­фейс. Он пред­ла­га­ет
чем боль­шая их часть уш­ла на во­про­сы мас­су функ­ций и не толь­ко да­ет вам про­
удоб­ства ис­поль­зо­вания. стой и по­нят­ный путь к управ­лению бранд­
По­сколь­к у боль­шин­ство ди­ст­ри­бу­ти­ мау­эром, но и по­зво­ля­ет до­ба­вить к ва­шей
вов-бранд­мау­эров напи­са­ны для сте­рео­ се­ти до­полнитель­ные сер­ви­сы. Это оз­
тип­ных тех­на­рей, при­ят­но ви­деть обод­ на­ча­ет, что ес­ли вас уто­мил Windows-
ряю­щие пе­ре­ме­ны в том, что, ка­жет­ся, уже сер­вер, си­д я­щий в уг­лу и ру­ля­щий все­ми
ста­ло стан­дар­том де-фак­то: «сна­ча­ла сля­ фай­ло­об­мен­ны­ми служ­ба­ми и за­дани­я­
пать, по­том вспомнить про ин­тер­фейс». ми для прин­те­ра, вы мо­же­те за­менить его
Сайт ClearOS ут­вер­ж да­ет, что уста­нов­ систе­мой ClearOS.
ClearOS прост
ка занима­ет все­го 2 ми­ну­ты. На­ши тесты В це­лом, ClearOS – мощ­ный ди­ст­ри­
в на­строй­ке, а его
об­на­ру­жи­ли, что это вре­мя бли­же к 15 ми­ бу­тив, осно­ван­ный на кор­по­ра­тив­ных функ­цио­нал мо­жет Вердикт
ну­там, но сам про­цесс был без­бо­лезнен­ стан­дар­тах и обес­пе­чи­ваю­щий ин­ст­ру­ быть по­дог­нан под
ным и про­стым, и опять-та­ки, удоб­ство мен­ты, необ­хо­ди­мые для нор­маль­ной ра­ за­да­чи кон­крет­но­го
ис­поль­зо­вания ин­стал­ля­то­ром хо­ро­шо бо­ты ва­шей се­ти, а так­же воз­мож­ность на­ офи­са. ClearOS Enterprise 5.1
продумано. растить функ­цио­нал при возник­но­вении Це­на: Бес­плат­но
Cайт: www.clearfoundation.com/
Когда вы за­кон­чи­те с этим и пе­рей­де­ необ­хо­ди­мо­сти. Software/overview.html
те в систе­му web-ад­минист­ри­ро­вания, зна­ Хо­ро­шо про­ду­ман­ный ди­ст­ри­бу­тив,
ком­ство с систе­мой не отнимет у вас мно­го
вре­мени, бла­го­да­ря ее про­сто­те. На­строй­
«На ин­тер­фейс ClearOS ос­ве­жаю­ще про­стой в ис­поль­зо­ва­нии
и рас­ши­ряе­мый под ва­ши кон­крет­
ка пра­вил бранд­мау­эра осу­ще­ств­ля­ет­ся явно по­тра­че­но мно­го ные за­да­чи.

бы­ст­ро и без­бо­лезнен­но, как и зна­чи­тель­


ная часть дру­гих дей­ствий. вре­ме­ни и сил.» Рей­тинг 9/10

Что дол­жен уметь ди­ст­ри­бу­тив-бранд­мау­эр?


Меж­се­те­вые эк­ра­ны, как пра­ви­ло, рас­по­ла­га­ Еще од­на функ­ция, которая нам очень нра­ на­груз­к у ме­ж ­д у ни­ми или пе­ре­на­прав­ляя тра­
ют­ся ме­ж ­ду ва­шей ло­каль­ной се­тью и Ин­тер­не­ вится – это одновременная под­держ­ка не­сколь­ фик че­рез раз­лич­ные ис­хо­д я­щие со­еди­не­ния.
том. Боль­шин­ст­во из них так­же реа­ли­зу­ют не­об­ ких внеш­них се­тей (WAN). То есть мож­но об­ра­ Это важ­но для офи­сов с  не­сколь­ки­ми под­к лю­
хо­ди­мую се­те­вую ин­фра­струк­т у­ру. Сю­да вхо­д ят ба­ты­вать бо­лее од­но­го со­еди­не­ния к Ин­тер­не­т у че­ния­ми к Ин­тер­не­т у, что­бы не соз­да­ва­лось уз­
DHCP, ко­то­рый вы­де­ля­ет ка­ж ­до­му из ком­пь­ю­те­ (ска­жем, не­сколь­ко ли­ний ADSL), рас­пре­де­ляя ко­го мес­та.
ров в ва­шей се­ти IP-ад­рес и рас­ска­зы­ва­ет им, как
под­к лю­чить­ся к Ин­тер­не­т у, и DNS, пре­вра­щаю­
щий име­на вро­де www.linuxformat.ru в IP-ад­ре­
са (88.212.205.226). Ди­ст­ри­бу­ти­вы-бранд­мау­эры
так­же да­ют воз­мож­ность бло­ки­ро­вать вхо­д я­
щие со­еди­не­ния на ва­ши ма­ши­ны и ог­ра­ни­чи­вать
ин­тер­нет-сер­ви­сы, к ко­то­рым пре­дос­тав­ля­ет­ся
дос­т уп ло­каль­ным ком­пь­ю­те­рам.
Хо­тя в боль­шин­ст­ве ди­ст­ри­бу­ти­вов бранд­мау­
эры пред­ла­га­ют толь­ко ба­зо­вый на­бор функ­ций,
не­ко­то­рые за­хо­д ят даль­ше и обес­пе­чи­ва­ют до­
пол­не­ния, ук­ре­п­ляю­щие безо­пас­ность се­ти ли­бо
до­бав­ляю­щие удоб­ст­ва. Не­ко­то­рые да­же по­зво­
ля­ют раз­де­лять се­ти на час­ти с раз­лич­ны­ми пра­
ви­ла­ми дос­т у­па: на­при­мер, безо­пас­ности ради
вы мо­же­те вы­не­сти бух­гал­те­рию ва­шей фир­мы
в от­дель­ную сеть, но раз­ре­шить ее со­труд­ни­кам Локальная сеть Брандмауэр Интернет
печатать­ на прин­те­ры ос­нов­ной се­ти. А не­ко­то­
рые сверх то­го пре­дос­тав­ля­ют раз­лич­ные сер­ви­ Бранд­мау­эр си­дит ме­ж­ду ва­шей ло­каль­ной се­тью и Ин­тер­не­том; его мож­но на­стро­ить на раз­ре­ше­ние
сы, типа ба­з дан­ных и web- и поч­то­вых сер­ве­ров. или бло­ки­ро­ва­ние вхо­дя­щих и ис­хо­дя­щих со­еди­не­ний.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      17
Сравнение Ди­ст­ри­бу­ти­вы-бранд­мау­эры 

IPCop
Раз­но­сто­ронний и молние­носный цве­та­стый
ди­ст­ри­бу­тив.

Э
тот ди­ст­ри­бу­тив мно­гие пре­воз­ ра­мет­рах ва­шей локаль­ной се­ти, а так­же
но­си­ли как «Убий­ц у Smoothwall». о по­ве­дении са­мо­го бранд­мау­эра, в том
Ра­бо­тая по ана­ло­гии с Smoothwall чис­ле спи­сок со­единений, от­кры­тых в дан­
Express, IPCop ис­поль­зу­ет для обо­зна­ ный мо­мент.
чения раз­лич­ных со­единений цве­та: зе­ле­ IPCop об­ла­да­ет функ­цио­наль­но­стью,
ный для локаль­ной се­ти, крас­ный для Ин­ по­лез­ной, ес­ли вы все еще ис­поль­зуе­те
тернета, оран­же­вый для DMZ, синий для мо­дем­ное под­к лю­чение к Ин­тернету: здесь
бес­про­вод­ных кли­ен­тов. По су­ти, IPCop – мож­но за­вести от­дель­ное имя поль­зо­ва­те­
от­ветв­ление Smoothwall, и вы, ве­ро­ят­но, ля и па­роль, но без досту­па к из­менению
най­де­те в них мно­го об­ще­го. про­чих па­ра­мет­ров бранд­мау­эра. Он так­же
IPCop от­де­лил­ся от Smoothwall пре­достав­ля­ет «кэ­ши­рую­щий про­кси-сер­
в 2002 го­ду, и с тех пор на­брал­ся сил. Уста­ вер», так что вы мо­же­те со­хра­нять часто
IPCop не са­мый
нов­ка очень про­стая и лег­кая; но­вич­ка оза­ по­се­щае­мые страницы локаль­но.
ми­ло­вид­ный ди­
да­чат раз­ве что несколь­ко неожи­дан­ных Как бранд­мау­эр, IPCop де­ла­ет хо­ро­шую ст­ри­бу­тив на­ Вердикт
во­про­сов. Од­на­ко при­ня­тие па­ра­мет­ров по ра­бо­т у, вы­да­вая ку­чу ин­фор­ма­ции о тра­ ше­го Срав­не­ния,
умол­чанию не вы­зо­вет про­блем (ес­ли у вас фи­ке в се­ти; быть мо­жет, он и не пер­вый но служ­бу зна­ет.
сеть без эк­зо­ти­че­ских за­ки­до­нов). кра­са­вец сре­ди ди­ст­ри­бу­ти­вов, но от­ве­ча­
IPCop 1.4.21
Web-ин­тер­фейс IPCop ка­жет­ся неук­ ет сво­ему на­зна­чению. Це­на: Бес­плат­но
Cайт: www.ipcop.org
лю­жим, но на­ши тесты по­ка­за­ли, что это
был лишь пси­хо­ло­ги­че­ский мо­мент, по­то­
му что на са­мом де­ле он неве­ро­ят­но от­зыв­
«Ин­тер­фейс ка­жет­ся Вы­гля­дит не рос­кош­но, за­то
эф­фек­тив­но за­щи­тит ва­шу сеть.
чив. И при этом, кро­ме гра­фи­ков в ре­жи­ не­ук­лю­жим, но на де­ле
ме ре­а ль­но­го вре­мени, как в Smoothwall,
IPCop да­ет обиль­ную ин­фор­ма­цию о па­ не­ве­ро­ят­но от­зыв­чив.» Рей­тинг 8/10

eBox Platform
Боль­ше, чем про­сто бранд­мау­эр.

E
Box Platform по­зи­циониру­ет­ся мо­жет ужас­нуть чу­до­вищ­ное ко­ли­че­ство
свои­ми соз­д а­те­ля­ми не как бранд­ воз­мож­но­стей, пред­ла­гае­мых eBox. Од­на­
мау­эр, но как «Linux-сер­вер для ко пу­гать­ся не сле­д у­ет: сто­ит лишь оты­
ма­ло­го бизнеса» – и он, безуслов­но, тя­ скать эк­ран бранд­мау­эра, и на­строй­ка бу­
нет на та­ко­вой. Он по­стро­ен на Ubuntu дет про­стой.
Server 8.04, так что уста­нов­ка eBox в ва­ eBox Platform – один из са­мых уве­си­
шей систе­ме очень схо­жа с обыч­ной уста­ стых бранд­мау­эров на­ше­го Сравнения
нов­кой Ubuntu. с точ­ки зрения раз­ме­ра для ска­чи­вания,
Мож­но так­же уста­но­вить раз­лич­ные но не за­бы­вай­те, что он упа­ко­вал мно­же­
ком­понен­ты eBox на вер­сию Ubuntu LTS, ство функ­ций, в том чис­ле для ра­бо­ты с ба­
про­сто до­ба­вив ре­по­зи­то­рий APT и ска­ за­ми дан­ных и сер­ве­ра­ми SIP, хо­тя ау­тен­
чав нуж­ные па­ке­ты – это по­лез­но, ес­ли ти­фи­ка­ции Active Directory и PPTP тут нет.
Как толь­ко вы до­
у вас уже есть ма­ши­на с Ubuntu или ес­ли Мы так­же до­ба­ви­ли бал­лов eBox
бе­ре­тесь до эк­ра­на
вам тре­бу­ют­ся лишь оп­ре­де­лен­ные части Platform за ши­ро­кий ох­ват на­стро­ек на­строй­ки, все по­ Вердикт
eBox Platform (ebox-network и ebox-firewall, и за то, что он пре­достав­ля­ет прак­ти­че­ нять бу­дет про­сто.
на­при­мер). Де­ло в том, что eBox по­стро­ен ски все, что тре­бу­ет­ся для обес­пе­чения ра­ eBox Platform 1.4
на фун­да­мен­те Ubuntu Server и внут­ри ис­ бо­ты до­машней или офис­ной се­ти, пря­мо
Це­на: Бес­плат­но
поль­зу­ет его ком­понен­ты. Для бо­лее под­ «из ко­роб­ки».
Cайт: www.ebox-platform.com
роб­ной ин­фор­ма­ции о раз­лич­ных спо­со­
Не чу­рай­тесь его из-за пе­ре­гру­жен­
бах уста­нов­ки eBox Platform, за­гляните
на http://linkpot.net/elixirs.
«Обес­пе­чи­ва­ет прак­ти­ но­го ин­тер­фей­са: он пред­ла­га­ет мно­
го боль­ше, чем обыч­ный бранд­мау­эр.
По­сле уста­нов­ки вы за­хо­ди­те в eBox че­ски все, что тре­бу­ет­
че­рез ваш брау­зер, ис­поль­зуя па­роль, ко­
то­рый вы се­бе за­да­ли. На этом эта­пе вас ся для за­пус­ка в се­ти.» Рей­тинг 9/10
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
18      LXF132 Июнь 2010
 Ди­ст­ри­бу­ти­вы-бранд­мау­эры Сравнение

M0n0wall
Встре­чай­те са­мый кро­шеч­ный ди­ст­ри­бу­тив в на­шем Сравнении.

M
0n0wall – BSD-бранд­мау­эр, ли вы хо­ти­те ис­поль­зо­вать VoIP для те­ле­
пред­на­зна­чен­ный для ра­бо­ты фон­ной свя­зи: удоб­но бу­дет пустить VoIP
на 16‑МБ флэш-кар­те, и са­мый с при­ори­те­том.
кро­шеч­ный меж­се­те­вой эк­ран из всех, что На­зна­чив се­те­вые ин­тер­фей­сы,
мы тести­ро­ва­ли. По­это­му m0n0wall обес­ вы мо­же­те уста­но­вить па­роль для досту­па
пе­чи­ва­ет толь­ко са­мые основ­ные функ­ к систе­ме WebGUI, ко­то­рый по­зво­лит вам
ции. Но при по­доб­ной миниа­тюр­но­сти уже за­дать все осталь­ные на­строй­ки бранд­
и это впе­чат­ля­ет. мау­эра че­рез web-ин­тер­фейс.
По­сле за­груз­ки m0n0wall вы уви­ди­ Бранд­мау­эр осно­ван на BSD, по­это­
те ме­ню на­строй­ки. Спер­ва нуж­но оп­ре­ му неко­то­рые тер­ми­ны мо­г ут вна­ча­ле
де­лить се­те­вые ин­тер­фей­сы с функ­ци­ей несколь­ко за­пу­тать, но по­сле web-по­иска,
m0n0wall ‘Auto Detect’, ко­то­рая вы­ру­чит тех, а так­же неко­то­рой при­выч­ки, он ста­но­вит­
кто не в си­лах ра­зо­брать­ся, ка­кой иден­ти­ ся по­нятнее.
фи­ка­тор со­от­вет­ству­ет ка­ж ­до­му се­те­во­ M0n0wall мал, да удал: безо­пас­но­
Пусть m0n0wall
му под­к лю­чению: она по­зво­ля­ет на­зна­чать стью он не по­сту­па­ет­ся. Это осо­бен­но хо­
и не­ве­лик — внут­ри
LAN/WAN ин­тер­фей­сы, вы­яв­ляя, когда се­ ро­шо для тех, кто хо­чет по­лу­чить на­деж­ не­го мно­го че­го Вердикт
те­вой ка­бель от­к лю­чен, а за­тем под­к лю­ ную сеть, не тра­тя слиш­ком мно­го денег на­страи­ва­ет­ся.
чен сно­ва. на обо­ру­до­вание, так как он бу­дет пре­ m0n0wall 1.31
Пре­иму­ще­ство m0n0wall в том, что это крас­но ра­бо­тать на стан­д арт­ном, ти­по­
Це­на: Бес­плат­но
один из немно­гих оп­ро­бо­ван­ных здесь вом ПК.
Cайт: http://m0n0.ch
бранд­мау­эров, ко­то­рый по умол­чанию
Пре­вос­хо­ден для ста­рых ма­шин
обес­пе­чи­ва­ет мар­шру­ти­за­цию по ка­че­
ству об­слу­жи­вания (QoS); бла­го­да­ря че­
«M0n0wall мал, да удал: и встро­ен­ных сис­тем, но име­ет толь­ко
ба­зо­вые функ­ции.
му мож­но сле­дить за тра­фи­ком ва­ше­го безо­пас­но­стью он
со­единения и на­де­лять оп­ре­де­лен­ные за­
про­сы при­ори­те­та­ми. Это при­го­дит­ся, ес­ не по­сту­па­ет­ся.» Рей­тинг 5/10

PfSense
Ко­му ну­жен толь­ко пол­но­цен­ный бранд­мау­эр
и ниче­го кро­ме, даль­ше не ищи­те.

Н
а­звание PfSense на пер­вый груз­ки. И, опять же, оп­ре­де­лить, ка­кая
взгляд ка­жет­ся стран­ным, но, се­те­вая кар­та от­но­сит­ся к ка­ко­му ин­тер­
когда вы осоз­нае­те, что это от­ фей­су, лег­ко с по­мо­щью функ­ции ав­то­
ветв­ление m0n0wall, а зна­чит, его осно­ва – обна­ру­жения.
BSD, смысл про­яс­ня­ет­ся. BSD ис­поль­зу­ет Коль ско­ро это от­ветв­ление m0n0wall,
про­грам­му pf (па­кет­ный фильтр), при­мер­ вы впра­ве ожи­дать, что его воз­мож­но­
но та­к ую же, как Iptables, хо­тя неко­то­рые сти бу­дут ана­ло­гич­ны или да­же иден­
го­во­рят, что она бо­лее мощ­ная. Это по­то­ тич­ны, но PfSense име­ет до­ба­воч­ные
му, что рf и Iptables ра­бо­та­ют по-раз­но­му. функ­ции, та­кие как муль­ти-WAN, от­ка­зо-
Pf луч­ше управ­ля­ет­ся c пра­ви­ла­ми, хра­ня­ устой­чи­вость и раз­лич­ные ме­то­ды ау­тен­
щи­ми со­стояние (из­вле­кая или ис­поль­зуя ти­фи­ка­ции. Его ин­тер­фейс бо­лее по­ня­тен
ин­фор­ма­цию о пре­ды­ду­щих па­ке­тах в по­ и удо­бен в ис­поль­зо­вании. Опять-та­ки, по­
PfSense — от­лич­
то­ке), а Iptables – с пра­ви­ла­ми без за­по­ми­ сколь­к у он осно­ван на BSD, неко­то­рые тер­
ный бранд­мау­эр,
нания (не тре­бую­щи­ми ин­фор­ма­ции о пре­ ми­ны сби­ва­ют с тол­к у, но вы ско­ро с ними но ни­че­го, кро­ме Вердикт
ды­ду­щих па­ке­тах). В этом смыс­ле, pf – чуть раз­бе­ре­тесь. бранд­мау­эра.
бо­лее на­деж­ная за­щи­та, чем бранд­мау­ PfSense, воз­мож­но, бо­га­че всех со­ PfSense 1.2.3
эр, ис­поль­зую­щий Iptables, по­то­му что от­ перников по функ­ци­ям бранд­мау­эра,
Це­на: Бес­плат­но
сле­жи­вание по­сле­до­ва­тель­но­сти но­ме­ров но он про­иг­ры­ва­ет из-за от­сут­ствия до­
Cайт: www.pfsense.org
TCP умень­ша­ет шан­сы на об­ман. полнитель­ных воз­мож­но­стей сверх этой
Са­мый пол­ный ди­ст­ри­бу­тив бранд­
PfSense, как и m0n0wall, прост в уста­ кон­крет­ной за­да­чи. Ес­ли вам про­сто ну­ мау­эра, но сверх то­го ни­че­го не пре­
нов­ке, ко­то­рая осу­ще­ств­ля­ет­ся с по­мо­ жен бранд­мау­эр, вы не оши­бе­тесь, вы­ дос­тав­ля­ет.
щью команд­ной стро­ки; но, в от­ли­чие брав PfSense, но ес­ли вам тре­бу­ет­ся нечто
от m0n0wall, ин­тер­фей­сы тре­бу­ет­ся соз­
дать во вре­мя ин­стал­ля­ции, а не по­сле за­
боль­шее, при­дет­ся об­за­вестись еще од­ной
ко­роб­кой.
Рей­тинг 7/10
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      19
Сравнение Ди­ст­ри­бу­ти­вы-бранд­мау­эры 

Smoothwall Express
Ве­ро­ят­но, са­мый из­вест­ный бранд­мау­эр.

S
moothwall, по­жа­луй, наи­бо­лее по­ ли­цы на смеж­ной странице. Од­на­ко, по­
пу­ляр­ный ди­ст­ри­бу­тив бранд­мау­ доб­но IPCop, на­ря­ду с кэ­ши­рую­щим web-
эра. Мы про­ве­ри­ли это экспресс- про­кси он по­зво­ля­ет иметь от­дель­ную
оп­ро­сом 20 гу­ру Linux, по­про­сив их на­ учет­ную запись, с по­мо­щью ко­то­рой мож­
звать ди­ст­ри­бу­тив бранд­мау­эра. Де­вят­на­ но кон­тро­ли­ро­вать основ­ное со­единение,
дцать из них пер­вым на­зва­ли Smoothwall. что осо­бен­но по­лез­но, ес­ли у вас под­
Ин­стал­ля­ция Smoothwall Express так­ клю­чение к Ин­тернету че­рез мо­дем. Од­
же очень про­ста, хоть и слег­ка оза­да­чи­ но из пре­иму­ществ Smoothwall Express –
ва­ет. Оп­ре­де­лен­но сто­ит ска­чать по­ша­го­ про­сто­та при ра­бо­те с внут­ренними DNS:
вое Ру­ко­во­дство по уста­нов­ке [Installation до­бав­ление но­во­го хоста занима­ет все­го
Guide]. В боль­шин­стве слу­ча­ев мож­но по­ несколь­ко се­к унд.
ло­жить­ся на па­ра­мет­ры по умол­чанию, Един­ствен­ная про­бле­ма, с ко­то­рой
и в се­ти с обыч­ной кон­фи­г у­ра­цией все мы столк­ну­лись во вре­мя тести­ро­вания –
Smoothwall
долж­но про­сто ра­бо­тать. при­своение ста­ти­че­ско­го DHCP тре­бу­ет на­
Express пред­ла­га­
По­сле пер­во­на­чаль­ной на­строй­ки жа­тия До­ба­вить [Add], а по­том Со­хранить ет про­стой про­цесс Вердикт
Smoothwall Express вы мо­же­те без про­блем [Save], и не осо­бо оче­вид­но, за­чем это де­ на­строй­ки че­рез
за­пускать его, по­сколь­к у он не тре­бу­ет до­ лать в два ша­га. У нас это при­ве­ло к нема­ брау­зер. Smoothwall Express 3.0
полнитель­ных дей­ствий, кро­ме под­к лю­ лой пу­танице с се­те­вы­ми прин­те­ра­ми, ко­то­
Це­на: Бес­плат­но
чения се­те­вых ка­бе­лей. Панель управ­ рые пры­га­ли с од­но­го IP-ад­ре­са на дру­гой.
Cайт: www.smoothwall.org
ления, осно­ван­ная на web, про­ста и лег­ка
Пре­крас­ный бранд­мау­эр, прост
для понимания. Она да­ет вам бы­ст­рый до­
ступ к функ­цио­наль­но­сти, обес­пе­чи­вае­
«Па­нель управ­ле­ния в ис­поль­зо­ва­нии, но ему не хва­та­ет
про­дви­ну­тых функ­ций.
мой Smoothwall. на ба­зе web про­ста
Про­дви­ну­тых функ­ций у Smoothwall
Express немно­го, как вид­но из на­шей таб­ и лег­ка в по­ни­ма­нии.» Рей­тинг 8/10

Smoothwall Advanced
Плат­ный бранд­мау­эр – но за ва­ши денеж­ки
он уж по­пля­шет.

Э
то един­ствен­ный плат­ный ли. Но в це­лом оче­вид­но внимание к де­та­
бранд­мау­эр, по­пав­ший в на­ше лям, ко­то­рое ха­рак­тер­но и для Express.
Сравнение. Про­цесс уста­нов­ки Хо­тя про­дви­ну­тые функ­ции, доступ­ные
Smoothwall Advanced схож с та­ко­вым в Advanced, иде­а ль­но под­хо­д ят для тех,
в Express, но вна­ча­ле по­тре­бу­ет­ся на­стро­ кто хо­чет ре­шить все про­бле­мы од­ной ко­
ить внут­рен­нюю сеть, что­бы по­лу­чить до­ роб­кой, мы спро­си­ли се­бя, нет ли луч­шей
ступ к его web-панели управ­ления для на­ аль­тер­на­ти­вы, и не пра­вильнее ли иметь
строй­ки все­го осталь­но­го. два ком­пь­ю­те­ра с та­кой же функ­цио­наль­
Smoothwall Advanced ка­жет­ся соз­дан­ но­стью, в це­лях безо­пас­но­сти. До­ба­вим
ным для ис­поль­зо­вания в ка­че­стве кор­ к это­му «ог­раничения» (до­пуска­ют­ся 4 се­
по­ра­тив­но­го бранд­мау­эра, с па­ра­мет­ра­ми те­вых ин­тер­фей­са и 20 VPN-со­единений),
Smoothwall
для раз­граничения досту­па к раз­лич­ным за пре­одо­ление ко­то­рых вам при­дет­ся при­
Advanced по­дог­нан
частям се­ти на осно­ве ау­тен­ти­фи­ка­ции, пла­тить, и Smoothwall Advanced ут­ра­тит под кор­по­ра­тив­ные Вердикт
web-про­кси и систе­мы фильт­ра­ции элек­ смысл, ес­ли толь­ко вы не ра­бо­тае­те в ком­ ре­ше­ния.
трон­ной поч­ты. Не то что это пло­хо, но мо­ пании, го­то­вой фи­нан­си­ро­вать ва­ши ну­ж­
жет ока­зать­ся пе­ре­бо­ром, ес­ли вы пред­на­ ды, или чув­ствуе­те се­бя спо­койнее, поль­
Smoothwall Advanced 2
зна­чае­те его для до­ма или ма­ло­го офи­са. зу­ясь плат­ным про­дук­том. Це­на: £1250 + еже­год­ный взнос
Тем, кто поль­зо­вал­ся Express, внеш­ Cайт: www.smoothwall.net
ний вид web-панели ад­минист­ри­ро­вания
бу­дет зна­ком, хо­тя мы на­шли, что из-за
«Ут­ра­чи­ва­ет смысл вне Не­пло­хо про­ду­ман­ный бранд­мау­эр,
но оп­рав­ды­ва­ет ли це­ну?
несколь­ко ино­го под­хо­да к про­ек­ти­ро­­- ком­па­нии, го­то­вой его
ванию неко­то­рые про­стые за­да­чи ока­за­
лись вы­полнимы труднее, чем мы ожи­да­ оп­ла­чи­вать.» Рей­тинг 6/10
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
20      LXF132 Июнь 2010
 Ди­ст­ри­бу­ти­вы-бранд­мау­эры Сравнение

Ди­ст­ри­бу­ти­вы-бранд­мау­эры

Вер­дикт
eBox Platform 9/10
Бо­ну­сы
В
ы­бор пра­виль­но­го ди­ст­ри­бу­ти­ва
бранд­мау­эра во мно­гом за­ви­сит Для нас, од­на­ко, ком­пь­ю­тер, воз­мож­но­
от ва­ших це­лей. Ес­ли вы на­страи­ сти ко­то­ро­го не ис­поль­зу­ют­ся в пол­ной
вае­те сеть до­ма или в офи­се, уста­нов­ ме­ре – день­ги на ве­тер (имен­но по­это­
ка бранд­мау­эра име­ет смысл. По здра­вом му мы лю­бим вир­т уа­ли­за­цию). По­это­му
раз­мыш­лении, бранд­мау­эры яв­ля­ют­ся на­шим по­бе­ди­те­лем стал eBox Platform.
луч­шим спо­со­бом борь­бы с мно­го­чис­лен­ Оше­лом­ляю­щий спи­сок функ­ций и тот
ны­ми опас­но­стя­ми Ин­тернета. факт, что он по­стро­ен на ба­зе стан­д арт­ной
Но в то же вре­мя иногда непло­ уста­нов­ки Ubuntu, оз­на­ча­ет, что на­ря­д у
хо по­лу­чить немно­го до­полнитель­ной с бранд­мау­эром у вас бу­дет ма­ши­на, спо­
eBox име­ет все,
функ­цио­наль­но­сти, уп­ро­щаю­щей жизнь. собная сде­лать прак­ти­че­ски все, что мож­ сле уста­нов­ки мож­но пре­доста­вить са­мо­
что вам мо­жет
За­те­вая на­ше Сравнение, мы дума­ли, что но во­об­ра­зить. по­на­до­бить­ся, му се­бе, не пе­ре­би­рая на­строй­ки для его
с по­бе­ди­те­лем все яс­но за­ранее. Но лишь Прав­да, нам бы­ло до­воль­но труд­но и бо­лее то­го. за­пуска и ра­бо­ты. А ес­ли вам по­на­до­бит­
до бо­лее внима­тель­но­го рас­смот­рения но­ сде­лать вы­бор ме­ж ­ду eBox Platform ся оты­скать в нем кон­крет­ные па­ра­мет­ры,
ви­нок. К сво­ему при­ят­но­му удив­лению, и ClearOS. Но хо­тя ClearOS пре­достав­ля­ет вы их за­про­сто най­де­те.
мы на­шли неко­то­рых от­но­си­тель­ных но­ и мно­же­ство функ­ций, и уди­ви­тель­но про­ Соб­ствен­но го­во­ря, до тести­ро­вания
вич­ков в этой об­ласти, но уже с ве­ли­ко­леп­ стой ин­тер­фейс, eBox име­ет боль­ший по­тен­ дру­гих ди­ст­ри­бу­ти­вов бранд­мау­эров для
ной функ­цио­наль­но­стью. ци­а л по рас­ши­рению функ­цио­наль­но­сти. дан­но­го Сравнения, Smoothwall Express,
Ес­ли вам не нуж­ны все про­дви­ну­тые ве­ро­ятнее все­го, стал бы на­шим вы­бо­ром
Все­го лишь бранд­мау­эр на­строй­ки, пред­ла­гае­мые eBox, вы уви­ но­мер один.
Ес­ли вам ну­жен про­сто бранд­мау­эр, по­ ди­те, что ClearOS пре­достав­ля­ет все необ­
дой­дут все пред­став­лен­ные здесь ди­ст­ хо­ди­мое в од­ном, пре­крас­но сде­лан­ном
ри­бу­ти­вы; одни бу­дут бо­лее эф­фек­тив­ны, и при­год­ном для ис­поль­зо­вания па­ке­те. Обратная связь
дру­гие менее. В та­ком слу­чае вы­би­рай­ На­конец, Smoothwall Express за­слу­
те PfSense. Не нра­вит­ся – тогда IPCop жи­ва­ет осо­бо­го внимания, по­то­му что это
Сто­ит ли по­ла­гать­ся на бранд­мау­эр для
и Smoothwall Express бу­дут от­лич­ны­ми ва­ един­ствен­ный бранд­мау­эр, ко­то­рый по­ обес­пе­че­ния на­шей безо­пас­но­сти? Или луч­
ри­ан­та­ми, ес­ли вы не лю­би­тель слож­но­ ше по­за­бо­тить­ся о та­кой за­щи­те на­ших ком­
пь­ю­те­ров, что­бы нам и са­мим бы­ло труд­
стей, а Smoothwall Advanced от­ста­ет здесь
толь­ко из-за це­ны. Ес­ли вы хо­ти­те сэ­ко­но­
«Бы­ло до­воль­но труд­ но в них вой­ти? На­шли ли вы ди­ст­ри­бу­тив
бранд­мау­эра для се­бя, или вы не со­глас­ны
мить ме­сто или ра­бо­тать на встро­ен­ных
уст­рой­ствах, иде­а ль­ным вы­бо­ром бу­дет
но вы­брать ме­ж­ду eBox с на­шим рей­тин­гом? От­правь­те ва­ше мне­
ние нам по ад­ре­су letters@linuxformat.ru.
m0n0wall. Platform и ClearOS.»

Таб­ли­ца ха­рак­те­ри­стик

Кон­трол­лер
Раз­мер для Муль­ти- Внут­рен­ний От­ка­зо­ Ау­тен­ти­фи­ка­ция Поч­то­вый
На­зва­ние Це­на Web-про­кси VPN Ан­ти­спам до­ме­на
ска­чи­ва­ния, МБ WAN бранд­мау­эр устойчивость Active Directory сер­вер
Windows

PPTP Open
ClearOS Бес­плат­но 690
VPN & IPSec

IPCop Бес­плат­но 50 IPSec

eBox Platform Бес­плат­но 623 OpenVPN

m0n0wall Бес­плат­но 18 IPSec

PfSense Бес­плат­но 55 IPSec

Smoothwall £ 1250 + еже­ SSL L2TP


177 Оп­ци­он­но Оп­ци­он­но
Advanced год­ный взнос & IPSec

Smoothwall
Бес­плат­но 81 IPSec
Express

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      21
Про­буй­те лю­бой ди­ст­ри­бу­тив 

Про­буй
лю­бой!
Грэм Мор­ри­сон на­це­пил вир­ту­аль­ные
на­уш­ни­ки, что­бы по­зна­ко­мить­ся с но­вей­
ши­ми ре­ли­за­ми ди­ст­ри­бу­ти­вов без вре­да
для сво­ей не­по­роч­ной ус­та­нов­ки Fedora.

В
иртуализации страшиться не надо. Это не мо­но­по­лия
пред­при­ятий, об­лач­ных вы­чис­лений или ферм сер­ве­
ров. Она так же по­лез­на и под­да­ет­ся управ­лению, как
и средний на­столь­ный ком­пь­ю­тер, и сей­час, ка­жет­ся,
спо­со­бов вир­т уа­ли­зо­вать Linux столь­ко же, сколь­ко ди­ст­ри­бу­ти­
вов. На­при­мер, за день­ги мож­но ку­пить ре­шение для на­столь­ной
вир­т уа­ли­за­ции ли­бо от VMware, ли­бо от Parallels, и оба име­ют пре­
восход­ную про­из­во­ди­тель­ность, под­держ­к у и про­дви­ну­тые функ­
ции. Мож­но по­про­бо­вать их от­кры­тые эк­ви­ва­лен­ты — чу­дес­ные
VirtualBox и Qemu.
Од­на­ко есть и дру­гая воз­мож­ность, обес­пе­чи­ваю­щая бо­лее
про­зрач­ную ин­те­гра­цию вир­т уа­ли­за­ции в го­то­вую кон­фи­г у­ра­цию
и иде­а ль­ный спо­соб для экс­пе­ри­мен­тов с но­вы­ми ди­ст­ри­бу­ти­ва­
ми и их тести­ро­вания. Это KVM, вир­т у­а ль­ная ма­ши­на, встро­ен­ная
в яд­ро Linux. Когда-то, быть мо­жет, эти три бу­к­вы пу­га­ли вас из-
за слу­хов о слож­но­сти и VNC-се­ан­сах; од­на­ко бла­го­да­ря пре­крас­
но­му про­ек­т у от Red Hat под на­званием Virt-Manager, сей­час поч­ти
ка­ж ­дый, при на­ли­чии нуж­но­го обо­ру­до­вания, мо­жет уста­но­вить
KVM на свой ком­пь­ю­тер и ми­гом за­ста­вить свои вир­т у­а ль­ные ма­
ши­ны ра­бо­тать.
А вир­т у­а ль­ные ма­ши­ны – дей­стви­тель­но са­мый удоб­ный спо­
соб экс­пе­ри­мен­ти­ро­вать с изо­би­ли­ем имею­щих­ся ди­ст­ри­бу­ти­вов
Linux. Они ниче­го не пор­тят, их лег­ко уста­но­вить, а по ско­ро­сти
они поч­ти не от­ста­ют от на­стоя­щих ма­шин. Это луч­ший спо­соб
про­чув­ство­вать ди­ст­ри­бу­тив, не уста­нав­ли­вая его на ре­а ль­ном
обо­ру­до­вании, и вир­т уа­ли­за­ция по­зво­ля­ет про­вести столь­ко уста­
но­вок, сколь­ко вы су­мее­те ска­чать с Ин­тернета. Как с лю­бым ве­
ли­ким пу­те­ше­стви­ем, все на­чи­на­ет­ся с пер­во­го ша­га...

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
22      LXF132 Июнь 2010
 Про­буй­те лю­бой ди­ст­ри­бу­тив

По­ша­го­вая ус­та­нов­ка
По­лу­чи­те иде­аль­ное KVM-ре­ше­ние для вир­туа­ли­за­ции, сле­дуя
на­шим ин­ст­рук­ци­ям.

Шаг 1 Про­вер­ка
со­вмес­ти­мо­сти
Пре­ж ­де чем ид­ти даль­ше, убе­ди­тесь, что ва­ше обо­ру­до­вание го­
дит­ся для за­пуска дру­гих опе­ра­ци­он­ных систем в вир­т у­а ль­ной
ма­шине KVM. В об­щем-то спра­вить­ся дол­жен лю­бой ком­пь­ю­
тер, вы­пу­щен­ный за по­следние три го­да, од­на­ко сле­д у­ет об­ра­
тить внимание на некие спе­ци­фи­че­ские осо­бен­но­сти. Глав­ное,
что­бы ва­шим CPU под­дер­жи­ва­лись так на­зы­вае­мые рас­ши­рения
для вир­т уа­ли­за­ции. Их ис­поль­зу­ют (или мо­г ут ис­поль­зо­вать)
все со­вре­мен­ные ги­пер­ви­зо­ры (или вир­т у­а ль­ные ма­ши­ны), что­
бы рез­ко по­вы­сить про­из­во­ди­тель­ность, хо­тя иные (так на­зы­вае­
мые «пол­ные вир­т уа­ли­за­то­ры») вро­де VMware Player, VirtualBox
и тем бо­лее Qemu, со­гла­сят­ся ра­бо­тать, да­же ес­ли этих рас­ши­
рений у вас нет.
На­звание иско­мо­го рас­ши­рения за­ви­сит от ти­па ва­ше­го про­
цес­со­ра. На­при­мер, вла­дель­цы Intel долж­ны искать VT-x, а вла­
Что­бы от­фильтро­
дель­цы AMD – AMD-V. Про­ве­рить CPU на со­вмести­мость мож­но, F2; иногда F10. Ме­сто для дан­ной оп­ции то­же за­ви­сит от BIOS, од­
вать вы­вод толь­ко
от­крыв тер­ми­нал и на­брав cat /proc/cpuinfo. Вы­ве­дет­ся все под­ на­ко искать сле­д у­ет ли­бо в раз­де­ле Integrated Peripherals, ли­бо строк, со­дер­жа­щих
ряд, и ес­ли у вас не од­но яд­ро, в ме­ню Security. «vmx», до­бавь­те
не один про­цес­сор или вклю­че­
на тех­но­ло­гия Hyper-Threading,
«Нуж­но от­вес­ти па­ На­конец, по­за­боть­тесь,
что­бы вам хва­ти­ло па­мя­ти
«| grep vmx» к «cat
/proc/cpuinfo».
вы уви­ди­те, что спи­сок мно­
го­крат­но дуб­ли­ру­ет­ся. Про­
мять и ме­сто на дис­ке и места на диске. Вир­т у­а ль­ная
ма­ши­на ре­а ль­но-та­ки жрет
сто убе­ди­тесь, что для лю­бо­го ка­ж­до­му эк­зем­п­ля­ру.» ре­сур­сы: нуж­но от­вести па­
из ядер в раз­де­ле flags при­сут­ мять и ме­с то на диске ка­ж­-
ству­ет ли­бо vmx, ли­бо svm. Пер­вое – на­звание рас­ши­рения для ­до­му эк­зем­п­ля­ру, не об­де­лив и род­ную опе­ра­ци­он­ную
вир­т уа­ли­за­ции от Intel, а вто­рое – его ана­лог от AMD. систе­му. Ди­с т­ри­бу­ти­вы Linux обыч­но ра­бо­та­ют хо­ро­шо
при на­ли­чии от 512 МБ до 1 ГБ па­мя­ти, так что вам по­на­до­бит­ся
По­ко­вы­ряй­тесь в BIOS минимум 1 ГБ, а в идеа­ле – 2 ГБ или боль­ше. То же ка­са­ет­ся диско­-
Ес­ли ни то­го, ни дру­го­го не об­на­ру­жи­лось, но вы убе­ж ­де­ны, что во­го про­с тран­с тва. Стан­д арт­ная уста­нов­ка обыч­но занима­ет
ваш ком­пь­ю­тер это уме­ет – де­ло, мо­жет быть, в том, что вир­т уа­ не менее 5 ГБ (конеч­но, это за­ви­сит от ди­с т­ри­бу­ти­ва: на­при­
ли­за­ция от­к лю­че­на в BIOS. Что­бы по­пасть в BIOS, тре­бу­ет­ся пе­ре­ мер, «крош­ки» ти­па Puppy Linux го­раз­до скромнее); од­на­ко ес­
за­гру­зить­ся и на­жать на ком­би­на­цию кла­виш, ука­зан­ную в со­об­ ли вы хо­ти­те ис­поль­зо­вать вир­т у­а ль­ную ма­ши­ну для ре­а ль­ной
щениях систе­мы, до по­яв­ления ок­на Grub. Обыч­но это Delete или ра­бо­ты, по­тре­бу­ет­ся за­пастись ме­с том.

А не попробовать ли… Slitaz?


Это фан­та­сти­че­ский ди­ст­ри­бу­тив-крош­ка, и луч­шее ко пап­ка My Documents и па­ра ссылок на до­к у­мен­та­цию
в нем – его раз­мер. ISO-об­раз занима­ет мень­ше 30 МБ; и тек­сто­вый ре­дак­тор. И, несмот­ря на миниа­тюр­ность,
его мож­но бы­ст­ро ска­чать с бли­жай­ше­го зерка­ла, ес­ли Slitaz су­мел впих­нуть на ра­бо­чий стол пол­но­функ­цио­
вдруг по­тре­бу­ет­ся уст­ранение непо­ла­док или бы­ст­рый наль­ный Firefox, с за­пуском из панели ин­ст­ру­мен­тов.
доступ к ра­бо­че­му сто­лу Linux. Ему уда­ет­ся быть та­ким Ес­ли ва­ша глав­ная за­бо­та – эко­но­мия диско­вой па­мя­ти,
ма­лень­ким, по­то­му что мо­но­лит­ные про­грам­мы вро­де есть и дру­гая вер­сия ди­ст­ри­бу­ти­ва, с еще мень­шим раз­
OpenOffice.org за­менены в нем на бо­лее лег­кие аль­тер­ ме­ром ISO-об­раза: Firefox в ней за­менен аль­тер­на­тив­
на­ти­вы, со­хра­няю­щие, тем не менее, доста­точ­ную функ­ ным брау­зе­ром Netsurf.
цио­наль­ность. За­ме­ны для об­ще­при­ня­тых про­грамм мож­но най­
Но это вы уви­ди­те по­сле, а сна­ча­ла при­дет­ся за­ ти в ме­ню за­пуска, и при уме­рен­ных за­про­с ах для
гру­зить­ся с ISO и, до по­яв­ления ра­бо­че­го сто­ла, вы­ боль­шин­с тва за­д ач это­го хва­т а­ет. На­при­мер, MTPaint
брать расклад­к у кла­виа­т у­ры по умол­чанию (русская – не сравнит­ся с мо­г у­чим GIMP, од­на­ко он идеа­лен для Крош­ка Slitaz спо­со­бен уме­стить­ся в ОЗУ,
в нижней по­ло­вине спи­ска), а так­же раз­ре­шение эк­ра­на бы­с т­рых на­бро­сков и про­с то­го ре­д ак­ти­ро­вания, при­ не тре­буя мес­та на дис­ке.
и глу­би­ну цве­та. Как и Unity, ко­то­рый мы рас­смот­рим мер­но как Windows-при­ло­жение с по­хо­ж им име­
ниже, Slitaz ис­поль­зу­ет окон­ный менед­жер OpenBox, нем. Дру­г ая пре­к рас­ная функ­ция – мно­го­языч­ный ных ме­диа-фор­ма­тов, ис­поль­зуе­мых в Slitaz, а так­
хо­тя и несколь­ко аван­гард­ным спо­со­бом. На­при­мер, спра­вочник, к ко­то­ро­му мож­но об­ра­тить­ся он­лайн че­ же про­грам­мы и ути­ли­ты, вхо­д я­щие в ра­бо­чий стол
по умол­чанию на ра­бо­чем сто­ле Slitaz на­хо­д ят­ся толь­ рез ссыл­к у Documentation. Он со­дер­ж ит об­зор раз­лич­ по умол­чанию.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      23
Про­буй­те лю­бой ди­ст­ри­бу­тив 

Шаг 2 Вы­бор ди­ст­ри­бу­ти­ва-


ос­но­вы
Мы пред­по­чли Fedora 12: тут удачнее все­го реа­ли­зо­ван
Virt-Manager, и Fedora 13, яв­ля­ясь адеп­том, несо­мнен­
но, бу­дет не ху­же. Уста­но­вить Fedora лег­ко, и это од­на
из луч­ших раз­но­вид­но­стей Linux.
Virt-Manager – это про­грам­ма, ис­поль­зуе­мая для
управ­ления вир­т у­а ль­ны­ми ма­ши­на­ми Xen и KVM,
и без нее сле­до­вать дальней­шим ин­с т­рук­ци­ям бу­дет
на­мно­го сложнее. Ведь Virt-Manager пре­вра­щ а­ет очень
слож­ную про­це­д у­ру уста­нов­ки в несколь­ко щелч­
ков мы­ши. Ес­ли вы уже соз­д а­ва­ли вир­т у­а ль­ные ма­
ши­ны с по­мо­щью ком­мер­че­ских ин­с т­ру­мен­тов вро­де
VMware или Parallels Workstation, то уви­ди­те, что ра­бо­та
с Virt-Manager столь же про­с та.
Пре­иму­ще­ству Fedora при ра­бо­те с Virt-Manager удив­ Ус­та­нов­ка Fedora с 4 ГБ па­мя­ти — вот иде­аль­ная ба­зо­вая сис­те­ма
лять­ся нече­го – оба соз­д а­ны в Red Hat. Уди­ви­тель­но дру­ для при­клю­че­ний с вир­туа­ли­за­ци­ей.
гое: нет дру­гих ди­с т­ри­бу­ти­вов, ко­то­рые вклю­чи­ли бы этот
от­кры­тый про­ект в свою стра­те­гию вир­т уа­ли­за­ции. А ведь ста­рую вер­сию Virt-Manager, силь­но усту­паю­щ ую с точ­ки зре­
по­с ледние вер­сии этой про­грам­мы на ред­кость хо­ро­ши. ния функ­цио­наль­но­с ти и удоб­с тва. К сча­с тью, в гря­д у­щем
Но да­же Ubuntu, ди­ст­ри­бу­тив, сде­лав­ший став­к у на KVM 10.04 эту про­бле­му рас­смот­ре­ли, и поль­зо­ва­те­ли Ubuntu ско­ро
в сво­ей кам­пании про­дви­жения об­лач­ных вы­чис­лений смо­г ут уста­но­вить по­с лед­нюю вер­сию Virt-Manager без боль­ших
с Eucalyptus, по­местил в свои ре­по­зи­то­рии па­ке­тов лишь трудно­с тей.

Шаг 3 Уста­нов­ка про­грамм


вир­туа­ли­за­ции
Воз­мож­но, са­мый слож­ный шаг во всем про­цес­се – уста­нов­ка оп­
ре­де­лен­ных па­ке­тов, тре­буе­мых для вир­т уа­ли­за­ции. Ведь луч­шие
ре­зуль­та­ты по­лу­ча­ют­ся при ис­поль­зо­вании команд­ной стро­ки,
на ко­то­рую у мно­гих по­че­му-то ал­лер­гия. Но пусть это вас не пу­
га­ет: мы про­сто вве­дем стро­к у-дру­г ую, и да­же с непри­выч­ки это
не долж­но вы­звать про­блем. Fedora луч­ше все­го ра­бо­та­ет имен­
но та­ким спо­со­бом.
Что­бы вир­т уа­ли­за­ция бы­ла го­то­ва к ра­бо­те, в Fedora 12 по­тре­
бу­ет­ся из­ряд­ное ко­ли­че­ство па­ке­тов. Вы мо­же­те ис­поль­зо­вать
менед­жер па­ке­тов, за­пустив его из ме­ню System > Administration
[Систе­ма > Ад­минист­ри­ро­вание] и вы­брав пункт Add/Remove
Software [Уста­нов­ка и уда­ление ПО]. Од­на­ко у нас возник­ли слож­ Мы ус­та­но­ви­ли KVM из ко­манд­ной стро­ки, но ути­ли­та
но­сти при по­иске па­ке­та KVM; с ис­поль­зо­ванием Yum в команд­ной Add/Remove Software мо­жет по­ка­зать­ся вам бо­лее удоб­ной.
строке по­лу­чи­лось луч­ше.
Из команд­ной стро­ки, ко­то­рая вы­зы­ва­ет­ся из ме­ню Applications Вы уви­ди­те, что для удов­ле­тво­рения за­ви­си­мо­стей нуж­но уста­но­
> System Tools [При­ло­жения > Систем­ные ути­ли­ты], вве­ди­те su, вить еще и нема­ло дру­гих па­ке­тов, од­на­ко вам их на­таска­ют ав­то­
а за­тем ваш поль­зо­ва­тель­ский па­роль. Для уста­нов­ки па­ке­тов ма­ти­че­ски. По­сле уста­нов­ки вы мо­же­те ли­бо пе­ре­за­гру­зить свою
на­бе­ри­те yum install, а за­тем имя па­ке­та, ко­то­рый нуж­но уста­но­ систе­му, ли­бо вве­сти /etc/init.d/libvirtd start (или ис­поль­зо­вать
вить. Мы ис­поль­зо­ва­ли сле­д ую­щее: коман­д у service), что­бы на­чать про­цесс управ­ления вир­т уа­ли­за­
yum install kvm virt-manager libvirt ци­ей. И – го­то­во: мож­но ны­рять в про­грам­му Virt-Manager.

Шаг 4 За­пуск что для обес­пе­чения досту­па к стан­дарт­ным ас­пек­там эму­ля­

Virt-Manager ции, на­при­мер, BIOS и раз­лич­ным уст­рой­ствам, KVM ис­поль­зу­ет


Qemu. Ес­ли его не вид­но в спи­ске, или ес­ли вы хо­ти­те соз­дать но­
Virt-Manager мож­но най­ти, пе­рей­д я в System Tools > Virtual вое со­единение, вы­бе­ри­те в ме­ню File [Файл] пункт Add Connection
Machine Manager [Систем­ные ути­ли­ты > Менед­жер вир­т у­а ль­ [До­ба­вить со­единение], а за­тем в вы­па­даю­щем спи­ске Hypervisor
ных ма­шин]. Что­бы поль­зо­вать­ся про­грам­мой, по­тре­бу­ет­ся вве­ [Ги­пер­ви­зор] най­ди­те Qemu/KVM. Так­же мо­же­те по­про­бо­вать Xen,
сти па­роль су­пер­поль­зо­ва­те­ля-root, од­на­ко при пер­вом за­пуске ес­ли он уста­нов­лен и вас тянет на экс­пе­ри­мен­ты с дру­ги­ми тех­но­
мно­го вы не уви­ди­те. В глав­ном окне долж­но быть пред­став­ле­ ло­гия­ми (см. LXF126/127).
но толь­ко од­но со­единение под на­званием ‘localhost (Qemu)’. В ста­рых вер­си­я х Virt-Manager здесь вам при­ш лось бы вруч­
В тер­ми­но­ло­гии Virt-Manager со­единения по­зво­ля­ют управ­лять ную соз­д ать со­вме­с т­но ис­поль­зуе­мое уст­рой­с тво хранения,
вир­т уа­ли­за­ци­ей, и они мо­г ут рас­по­ла­гать­ся как на локаль­ной щелк­нув пра­вой кноп­кой мы­ши по со­единению и вы­брав на­
ма­шине, так и на уда­лен­ной. Localhost – это ваш локаль­ный ком­ ко­пи­тель. Но­вые вер­сии де­ла­ют это ав­то­ма­т и­че­ски с по­мо­
пь­ю­тер, а Qemu – тех­но­ло­гия вир­т уа­ли­за­ции, ко­то­рую ис­поль­зу­ щью масте­ра под­го­тов­к и эк­зем­п ­ля­ра ВМ, но это уже сле­д ую­
ет дан­ное со­единение. Вы­во­дит­ся Qemu, а не KVM по той при­чине, щий шаг.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
24      LXF132 Июнь 2010
 Про­буй­те лю­бой ди­ст­ри­бу­тив

Шаг 5 Соз­дание но­вой Так как мы ус­та­


нав­ли­ва­ем из ISO-
виртуальной ма­ши­ны об­раза со сво­его
ком­пь­ю­те­ра, вы­би­
На­жми­те на зна­чок Play [За­пустить] сле­ва ввер­х у и за­дай­те ва­ше­ ра­ем здесь Local
му тво­рению имя. Ес­ли у вас за­пу­ще­но несколь­ко ди­ст­ри­бу­ти­вов, Install Media.
имя вир­т у­а ль­ной ма­ши­ны мож­но дать по на­званию ди­ст­ри­бу­ти­
ва, ко­то­рый бу­дет в ней вы­пол­нять­ся. Не за­будь­те так­же вы­брать
Local Install Media [Локаль­ный уста­но­воч­ный но­си­тель]: имен­но
с него вы бу­де­те уста­нав­ли­вать ди­ст­ри­бу­тив.
На сле­д ую­щем эк­ране вы­бе­ри­те Use ISO Image [Ис­поль­зо­
вать ISO-об­раз], и с по­мо­щью кноп­ки Browse [Об­зор] пе­рей­
ди­те к рас­по­ло­жению ва­ше­го ISO. Что­бы по­пасть из вир­т у­а ль­
но­го хранили­щ а в свой до­машний ка­та­лог, на­жми­те кноп­к у
Browse Local [Локаль­ный об­зор]. Вир­т у­а ль­ное хранили­ще – это
то ме­с то, ко­то­рое Virt-Manager ис­поль­зу­ет для сво­их вир­т у­а ль­
ных дисков.
В вы­па­даю­щем спи­ске OS Type [Тип ОС], рас­по­ло­жен­ном
под пу­тем к ISO-об­ра­зу, вы­бе­ри­те Linux. Для наи­боль­шей со­ ди­ст­ри­бу­ти­вы с Gnome или KDE упот­ре­бят свы­ше 768 МБ. Чем
вмести­мо­сти, по­про­буй­те ука­зать ди­ст­ри­бу­тив, наи­бо­лее близ­ боль­шей па­мя­тью рас­по­ла­га­ет вир­т у­а ль­ная ма­ши­на, тем луч­ше
кий к то­му, что вы хо­ти­те оп­ро­бо­вать. На­при­мер, для ди­ст­ри­бу­ти­ она ра­бо­та­ет. На­конец, на сле­д ую­щей странице, убе­ди­тесь, что
вов ти­па Mint или Crunchbang луч­ше вы­брать Ubuntu 9.10. вы­бра­но Enable Storage [Вклю­чить хранили­ще], и на­жми­те Create
На сле­дую­щей странице вы­би­ра­ет­ся, сколь­ко ОЗУ от­вести A Disk Image [Соз­дать диско­вый об­раз]. Ес­ли у вас доста­точ­но
под вир­т у­а ль­ную ма­ши­ну. Минима­ли­ст­ские ди­ст­ри­бу­ти­вы ти­па места на диске, уве­личь­те его раз­мер. Оста­вив нетро­ну­ты­ми уста­
Dreamlinux до­воль­ству­ют­ся 512 МБ, а то и мень­ше, а со­вре­мен­ные нов­ки на по­следней странице, жми­те Finish [Го­то­во].

Шаг 6 За­груз­ка но­во­го Ура! За­ра­бо­та­ла!


Что­бы по­ки­нуть
ди­ст­ри­бу­ти­ва вир­ту­аль­ную ма­ши­
ну, на­жми­те ле­вые
На­жав на Finish, вы за­ме­ти­те, что Virt-Manager сра­зу же начнет Ctrl+Alt.
про­цесс за­груз­ки для вы­бран­но­го ди­ст­ри­бу­ти­ва. Ско­ро вы уви­
ди­те точ­но те же эк­ра­ны, что и при стар­те с на­стоя­ще­го фи­
зи­че­ско­го диска. Ста­ло быть, все ра­бо­та­ет как по­ла­га­ет­ся,
и вы смог­ли успеш­но соз­д ать и за­пустить свою пер­вую вир­т у­
аль­ную ма­ши­ну.
Дальней­шее пол­но­стью за­ви­сит от вы­бран­но­го ва­ми ди­ст­ри­
бу­ти­ва. На­при­мер, Linux Mint вы­даст пол­но­функ­цио­наль­ный ра­бо­
чий стол, а дру­гие ди­ст­ри­бу­ти­вы мо­г ут по­про­сить вас вы­полнить
про­це­ду­ру уста­нов­ки. В лю­бом слу­чае, щелк­нув внут­ри ок­на,
вы по­лу­чи­те пол­ный доступ к сво­ей вир­т у­а ль­ной ма­шине. За­тем
KVM за­вла­де­ет ва­шей мы­шью и кла­виа­т у­рой. Вы уви­ди­те неболь­
шое ок­но с уве­дом­лением, что кур­сор за­хва­чен, и по­ка­зан­ной
ком­би­на­ци­ей кла­виш, с по­мо­щью ко­то­рой мож­но вый­ти из вир­т у­ чий стол. При же­лании пе­ре­дать вир­т у­а ль­ной ма­шине оп­ре­де­
аль­ной ма­ши­ны в ис­ход­ное ок­ру­жение. лен­ную кла­виа­т ур­ную ком­би­на­цию восполь­зуй­тесь ме­ню Send
Обыч­но та­кая ком­би­на­ция кла­виш – ле­вые Ctrl и Alt, уже Key, где пе­ре­чис­ле­ны раз­но­об­раз­ные со­че­тания кла­виш: на­при­
став­шие по­до­би­ем стан­дар­та для при­ло­жений вир­т уа­ли­за­ мер, Ctrl+Alt+F1 для пе­ре­хо­да в пер­вую тек­сто­вую кон­соль или
ции. Их од­но­вре­мен­ное на­жа­тие вернет вас на обыч­ный ра­бо­ Ctrl+Alt+Backspace для пе­ре­за­пуска X-сер­ве­ра.

А не попробовать ли… Dreamlinux?


Dreamlinux су­ще­ству­ет в ре­д ак­ци­ях с Xfce и с Gnome,
и по­следний при­мер­но на 200 МБ боль­ше объ­е­ма Про­стая уста­нов­ка
CD-бол­ван­ки. По этой при­чине мы взя­ли Xfce, хо­тя Па­ке­ты для мно­гих функ­ций уже си­д ят внизу эк­
при за­груз­ке ди­ст­ри­бу­ти­ва в вир­т у­а ль­ной ма­шине ог­ ра­на. По­сколь­к у DreamLinux осно­ван на Debian,
раничения на раз­мер ISO нет. Основ­ной ин­тер­фейс по­ вы уви­ди­те менед­жер па­ке­тов Synaptic, пре­достав­ляю­
стро­ен на плав­но раскры­ваю­щей­ся панели ин­ст­ру­мен­ щий доступ к ты­ся­чам па­ке­тов. Как и в Ubuntu и Debian,
тов внизу эк­ра­на, а ме­ню при­ло­жений и менед­жер за­д ач че­рез него мож­но до­ба­вить лю­бую про­грам­му. Но есть
встрое­ны в его верх­нюю часть. и дру­гой спо­соб – это од­на из луч­ших черт DreamLinux.
Кноп­ки за­пуска тес­нят­ся во­круг ло­го­ти­па Dreamlinux Он на­зы­ва­ет­ся «Easy Install» и по­зво­ля­ет ста­вить луч­
на фоне ра­бо­че­го сто­ла, и их на­звания в основ­ном го­во­ шие про­грам­мы для ра­бо­че­го сто­ла Linux, не за­д у­мы­ва­
рят са­ми за се­бя. Но есть и рас­ши­рен­ные функ­ции, в том ясь о за­ви­си­мо­стях и менед­же­ре па­ке­тов. В по­сто­ян­ной
числе ути­ли­та MKDistro для соз­д ания соб­ствен­но­го ди­ уста­нов­ке про­сто два­ж ­ды кликните по знач­к у Easy-
ст­ри­бу­ти­ва Linux и два знач­ка Flash – но­вин­ки вер­сии Install на ра­бо­чем сто­ле. По­сле это­го вы одним щелч­ком
3.5 (вы­шла в мар­те); и соз­да­ет­ся ли­бо Live CD Dreamlinux, мы­ши смо­же­те уста­но­вить все что угод­но, от Picasa 3 Уви­дев ра­бо­чий стол Dreamlinux, мы пер­вым
ли­бо Live USB с пре­д уста­нов­лен­ным DreamLinux. и Azureus до Songbird, Google Earth 5.0 и Skype. де­лом уда­ли­ли не­сколь­ко знач­ков.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      25
Про­буй­те лю­бой ди­ст­ри­бу­тив 

Из­влечь из Virt-Manager все


Вир­ту­аль­ные ма­ши­ны уме­ют не толь­ко за­пус­кать­ся.

Т
ак как на бе­же­вом окне ва­шей вир­т у­а ль­ной ма­ши­ны нет
кно­пок, ее вы­к лю­чение, пе­ре­за­пуск и от­к лю­чение от се­
ти вы­пол­ня­ет­ся из­нут­ри про­грам­мы. Эти функ­ции мож­но
най­ти, ли­бо щелк­нув пра­вой кноп­кой в окне за­пу­щен­ной ма­ши­
ны, ли­бо из вы­па­даю­ще­го спи­ска панели ин­ст­ру­мен­тов. В за­ви­
си­мо­сти от вир­т уа­ли­зо­ван­но­го ди­ст­ри­бу­ти­ва, ис­поль­зо­вание
обе­их кно­пок – и вы­к лю­чения, и пе­ре­за­пуска – долж­но быть
безо­пас­ным.
Все по­то­му, что KVM по­сы­ла­ет сиг­на­лы вир­т уа­ли­зо­ван­ной
опе­ра­ци­он­ной систе­ме, и она долж­на об­ра­бо­тать их точ­но так же,
как об­ра­ба­ты­ва­ет вы­бор коман­ды вы­к лю­чения из ме­ню Gnome
или на­жа­тие на кноп­к у вы­к лю­чения в систе­ме, ко­то­рая пра­виль­
но реа­ги­ру­ет на со­об­щения ACPI. То есть вас пре­д у­пре­д ят о гря­
ду­щем вы­к лю­чении, да­вая воз­мож­ность пе­рей­ти в ра­бо­таю­щие
при­ло­жения и со­хранить ре­зуль­тат. Та­ко­го не слу­чит­ся, ес­ли
вы вы­бе­ре­те в ме­ню вы­к лю­чения пункт Force Off [Вы­к лю­чить при­
ну­ди­тель­но], что яв­ля­ет­ся вир­т у­а ль­ным эк­ви­ва­лен­том вы­дер­ги­
вания шну­ра пи­тания из ро­зет­ки. Тогда все, что не бы­ло со­хранено Не бой­тесь, соз­да­ние вир­ту­аль­ных раз­де­лов не за­тро­нет
на вир­т у­а ль­ном на­ко­пи­те­ле, бу­дет по­те­ря­но. на­стоя­щие на же­ст­ком дис­ке.
Вы, на­вер­но, за­ме­ти­ли кноп­к у Pause [Пау­за] на панели ин­ст­ру­
мен­тов Virt-Manager. Она мгно­вен­но оста­нав­ли­ва­ет вир­т у­а ль­ную По­с ле пер­во­го за­пуска вир­т у­а ль­ной ма­ши­ны вы мо­же­те за­
ма­ши­ну, а по­втор­ное на­жа­тие во­зоб­но­вит вы­полнение с той же ин­те­ре­со­вать­ся, как по­ме­нять об­раз диска, что­бы ему со­от­вет­
точ­ки. Од­на­ко в от­ли­чие от та­кой же функ­ции в VMware, приоста­ ство­вал дру­гой файл ISO, или да­же вер­нуть­ся к той же ин­фор­
нов­лен­ная систе­ма не вы­жи­вет по­сле пе­ре­за­груз­ки, и дан­ные, ко­ ма­ции, ко­то­рая бы­ла при пер­вом за­пуске ма­ши­ны. Эта панель
то­рые вы не со­хранили в за­пу­щен­ных про­грам­мах, ут­ра­тят­ся. на­с трой­ки доступ­на из панели View [Вид] той вир­т у­а ль­ной ма­
ши­ны, ко­то­рую вы хо­ти­те по­ме­нять. Для безо­пас­но­го при­
Осто­рож­но, виртуализация менения из­менений, эта вир­т у­а ль­ная ма­ши­на не долж­на быть
Важ­но осоз­на­вать, что ва­ши дан­ные вир­т у­а ль­ны, и пи­тание запущена.
не под­во­дит­ся к ка­ж ­дой из от­дель­ных вир­т у­а ль­ных ма­шин; а зна­ Пе­рей­ди­те в View > Details [Вид > Под­роб­но­сти], и от­кро­ет­ся
чит, ра­бо­та в них на­мно­го бо­лее уяз­ви­ма, чем на обыч­ном на­ ре­дак­тор. Вы уви­ди­те ок­но со все­сто­ронним об­зо­ром вир­т у­а ль-
столь­ном ком­пь­ю­те­ре. Здесь го­раз­до боль­ше спо­со­бов соз­дать ­но­го обо­ру­до­вания, эму­ли­руе­мо­го на ва­шем ком­пь­ю­те­ре.
Вид Details по­ непо­лад­к у, и восста­нов­ление дан­ных то­же бо­лее тру­до­ем­кое. На­жми­те, на­при­мер, на IDE CDROM 1, а за­тем Connect [Под­к лю­
зво­ля­ет из­ме­нить Ес­ли вы об­ра­щае­тесь со свои­ми дан­ны­ми над­ле­жа­щим об­ра­зом, чить] на панели спра­ва, и вы уви­ди­те в вир­т у­а ль­ной ма­шине но­
прак­ти­че­ски лю­бые это не про­бле­ма, но об этом нуж­но помнить, ес­ли вы при­ня­лись вый об­раз CD/DVD. На­жми­те на Memory [Па­мять], и вы смо­же­те
на­строй­ки вир­ту­ за­си­жи­вать­ся в вир­т у­а ль­ной ма­шине по­дол­г у. по­ме­нять ко­ли­че­ство па­мя­ти, вы­де­лен­ное вир­т у­а ль­ной ма­шине.
аль­ной ма­ши­ны.
Это очень удоб­но, ес­ли вы недо- или пе­ре­оценили ее по­треб­но­сти,
когда за­да­ва­ли па­ра­мет­ры в масте­ре на­строй­ки.

Про­верь­те свое обо­ру­до­вание


На­вер­но, вам так­же небе­зын­те­рес­но, как эму­ли­ру­ет­ся гра­фи­че­
ское обо­ру­до­вание. Его мож­но най­ти на странице Display [Дис­
плей] – по умол­чанию там за­да­но нечто под на­званием «cirrus».
Эму­ли­руе­мый при этом чип­сет Cirrus Logic – один из са­мых рас­
про­странен­ных; его пре­крас­но под­дер­жи­ва­ют мно­же­ство опе­
ра­ци­он­ных систем. Он идеа­лен при за­пуске ста­рых ди­ст­ри­бу­ти­
вов, на­при­мер, MS DOS и да­же Windows, но это не са­мый бы­ст­рый
драй­вер, и ес­ли вы же­лае­те про­во­дить в вир­т у­а ль­ной систе­
ме доста­точ­но мно­го вре­мени, в спи­ске мо­де­лей сто­ит вы­брать
«vmvga». Это бли­жай­ший ана­лог гра­фи­че­ско­го драй­ве­ра, ис­поль­
зуе­мо­го в VMware, и для вир­т уа­ли­за­ции он под­хо­дит луч­ше. Ес­ли
ваш вир­т уа­ли­зо­ван­ный ди­ст­ри­бу­тив спо­со­бен ис­поль­зо­вать реа­
ли­за­цию от­кры­то­го гра­фи­че­ско­го драй­ве­ра от VMware, вы уви­ди­
те, что эта оп­ция бу­дет ра­бо­тать луч­ше. Ес­ли нет, все­гда мож­но
вер­нуть­ся на­зад. По­следние вер­сии Virt-Manger так­же спо­соб­
ны ме­нять мас­штаб раз­ре­шения дис­плея вир­т у­а ль­ной ма­ши­ны
под раз­мер ок­на. Про­сто вклю­чи­те оп­цию Scale To Display > Always
[Мас­шта­би­ро­вать эк­ран > Все­гда] в ме­ню View – ее сле­д у­ет за­

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
26      LXF132 Июнь 2010
 Про­буй­те лю­бой ди­ст­ри­бу­тив

А не попробовать ли… Unity?


По­сколь­к у вир­т уа­ли­за­ция нуж­на, что­бы за­пускать по­ и «guest» для стан­дарт­ной учет­ной запи­си поль­зо­ва­те­
тен­ци­а ль­но неста­биль­ные ди­ст­ри­бу­ти­вы, мож­но спо­ ля и «root» и «root» для систем­но­го ад­минист­ра­то­ра. Ес­
кой­но экс­пе­ри­мен­ти­ро­вать с Unity Linux, систе­мой, у ко­ ли вы на­ме­ре­ны уста­но­вить Unity на же­ст­кий диск, луч­
то­рой на мо­мент напи­сания этих строк поя­вил­ся толь­ко ше зай­ти от имени root.
пер­вый ре­лиз-кан­ди­дат. Ес­ли с ним возник­нут про­бле­ Ин­те­рес­ным де­ла­ет Unity его ок­ру­жение ра­бо­че­го
мы, или она от­ка­жет­ся ра­бо­тать на ва­шем ком­пь­ю­те­ре, сто­ла. Оно по­строе­но как на­бор про­грамм, по­доб­ран­
ника­ких нега­тив­ных эф­фек­тов от это­го не бу­дет. ных вруч­ную по при­чине функ­цио­наль­но­сти и эф­фек­
Unity Linux ин­те­ре­сен тем, что он осно­ван на Mandriva, тив­но­сти и рас­по­ло­жен­ных по­верх окон­но­го менед­же­ра
ди­ст­ри­бу­ти­ве, ко­то­рый сей­час да­лек от цен­тра вни­ OpenBox. По сравнению с Gnome и KDE OpenBox молние­
мания. Как мно­гие дру­гие ди­ст­ри­бу­ти­вы, Unity Linux но­сен и эко­но­мит систем­ные ре­сур­сы. Его систем­ное
по­став­ля­ет­ся в ви­де Live CD, крайне удоб­ном для ме­ню за­пуска вы­зы­ва­ет­ся щелч­ком пра­вой кноп­кой по
экс­пе­ри­мен­тов. Он до­воль­но силь­но от­ли­ча­ет­ся от ис­ ра­бо­че­му сто­лу; есть и минималь­ное ме­ню за­пуска, оно
ход­но­го ди­ст­ри­бу­ти­ва Mandriva и дру­гих зна­ко­мых нам от­кро­ет­ся при щелч­ке на листок в ле­вом нижнем уг­лу
ди­ст­ри­бу­ти­вов Linux. Это ста­но­вит­ся оче­вид­ным да­же эк­ра­на. Мно­же­ство ути­лит – на­при­мер, ме­ню за­пуска
Пус­той на вид, ра­бо­чий стол Unity на­бит
при взгля­де на эк­ран вхо­д а, ко­то­рый поя­вит­ся че­рез и фай­ло­вый менед­жер – взя­ты из LXDE, Lightweight воз­мож­но­стя­ми.
па­ру мгно­вений по­сле за­груз­ки. X11 Desktop Environment. Они бы­ст­рые, и вы вряд ли за­
Ди­зайн эк­ра­на вхо­да от­ра­жа­ет ди­зайн все­го ди­ст­ри­ тоскуе­те по до­полнитель­ным функ­ци­ям пол­но­вес­ных но­го ди­ст­ри­бу­ти­ва. Его менед­жер па­ке­тов, вы­зы­вае­мый
бу­ти­ва. Он прост и непо­сред­ственен. На Live CD, в ле­вом ра­бо­чих сто­лов KDE и Gnome. щелч­ком на ра­бо­чем сто­ле, на­по­ми­на­ет ста­рый Software
верхнем уг­лу ото­бра­жа­ют­ся имя поль­зо­ва­те­ля и па­роль Ну, а ес­ли все-та­ки за­тоскуе­те – Unity спланиро­ван Manager от Canonical. От­т у­да мож­но до­ба­вить лю­бое ко­
для двух ак­тив­ных учет­ных запи­сей, си­речь «guest» как стар­то­вая пло­щад­ка для по­строения ин­ди­ви­д у­а ль­ ли­че­ство про­грамм от LXDE, Gnome и KDE.

дей­ство­вать, ес­ли раз­ре­шение эк­ра­на вир­т у­а ль­ной ма­ши­ны вы­ в са­мых раз­ных це­лях: от досту­па к вир­т у­а ль­ным ма­ши­нам с уда­
ше, чем у ма­ши­ны-хоста, ина­че дис­плей при­дет­ся про­кру­чи­вать лен­но­го ком­пь­ю­те­ра, рас­по­ло­жен­но­го где-нибудь у Ин­тернета
вруч­ную, а это уто­ми­тель­но. на ку­лич­ках, до соз­дания двойника ра­бо­че­го сто­ла для жи­вой де­
Дру­гая при­ят­ная осо­бен­ность – ва­ши вир­т у­а ль­ные ма­ши­ны мон­ст­ра­ции на про­ек­то­ре.
доступ­ны и че­рез VNC, про­то­кол уда­лен­но­го досту­па к ра­бо­че­
му сто­лу. Что­бы за­дей­ство­вать его, взгляните на страницу Display Про­дви­ну­тые функ­ции
VNC [VNC-дис­плей] про­смотр­щи­ка уста­но­вок. Ес­ли вир­т у­а ль­ная По ди­зай­ну ин­тер­фей­са Virt-Manager вы, на­вер­но, уже до­га­д а­
ма­ши­на ра­бо­та­ет, вы­ве­дет­ся лись, что мож­но за­пускать
порт, от­ве­ден­ный для служ­
бы. По­сле это­го вы смо­же­те
«Вир­ту­аль­ные ма­ши­ столь­ко вир­т у­а ль­ных ма­
шин, сколь­ко до­пуска­ет ва­ша
по­лу­чить доступ к ра­бо­че­му
сто­лу ва­шей вир­т у­а ль­ной ма­
ны дос­туп­ны и че­рез систе­ма. Един­с твен­ным ре­
аль­ным ог­раничением бу­дет
ши­ны, ис­поль­зуя кли­ент VNC – VNC-протокол.» фи­зи­че­ская па­мять – это, ве­
на­при­мер, Vinagre в Gnome или ро­ят­но, са­мое сла­бое зве­но
Krdc в KDE. Ес­ли кли­ент вы­пол­ня­ет­ся на той же ма­шине, про­сто систе­мы. При од­но­вре­мен­ной ра­бо­те всех ма­шин па­мя­ти долж­
ука­жи­те ему ад­рес localhost:5900 для пер­вой вир­т у­а ль­ной ма­ши­ но хва­тать на удов­ле­тво­рение лич­ных по­треб­но­с тей ка­ж ­дой
ны. Ес­ли это не сра­бо­та­ет, по­ме­няй­те но­мер пор­та на тот, что был из них. На­при­мер, имея 4 ГБ ОЗУ, мож­но за­пустить, на­ря­д у
вы­ве­ден. Вы уви­ди­те, что тот же са­мый се­анс ото­бра­жа­ет­ся в об­ с обыч­ным ра­бо­чим сто­лом, еще три вир­т у­а ль­ные ма­ши­ны,
зо­ре вир­т у­а ль­ных ма­шин Virt-Manager. Ис­поль­зо­вать это мож­но ес­ли ка­ж ­дой из них вы­де­лить по 1 ГБ, и про­из­во­ди­тель­
ность ка­ж ­до­го эк­зем­п­ля­ра мож­но про­ве­рять, ис­поль­зуя
CPU-метр, спра­ва от ка­ж ­до­го пунк­та в спи­ске вир­
ту­а ль­ных ма­шин. Ес­ли вам нуж­но боль­ше ин­фор­
ма­ции об ис­поль­зо­вании па­мя­ти, про­из­во­ди­тель­
но­с ти диска и се­те­вом тра­фи­ке в вир­т у­а ль­ных
ма­ши­нах, зай­ди­те на страницу Performance [Про­
из­во­ди­тель­ность] ок­на Details [Под­роб­но­с ти].
Од­на из про­дви­ну­тых функ­ций KVM – пре­достав­ление
досту­па к ре­а ль­но­му обо­ру­до­ванию, че­рез функ­цию Physical Host
Device [Фи­зи­че­ское уст­рой­ства хоста]. Но не спе­ши­те раз­меч­тать­
ся: это не зна­чит, что вы смо­же­те пе­ре­дать вир­т у­а ль­ной ма­шине
мощ­ную ви­део­кар­т у Nvidia или зву­ко­вое уст­рой­ство. Слиш­ком уж
это слож­но. Од­на­ко с боль­шин­ством се­те­вых адап­те­ров, а так­же
USB-на­ко­пи­те­лей, у вас все по­лу­чит­ся.
Что­бы они за­ра­бо­та­ли, от­крой­те ок­но Details в панели вир­
ту­а ль­ных ма­шин и щелкните по кноп­ке Add Hardware [До­ба­вить
обо­ру­до­вание], сле­ва внизу от спи­ска. В поя­вив­шем­ся окне вы­
бе­ри­те из вы­па­даю­ще­го спи­ска Physical Host Device, на­жми­
те Forward [Да­лее] и вы­бе­ри­те уст­рой­ство из вы­па­даю­щих спи­сков
Type и Device. В ме­ню Type за­дай­те тип: PCI или USB, а в Device –
вы­бе­ри­те под­хо­д я­щее уст­рой­ство. Эта функ­ция несколь­ко экс­пе­
Virt-Manager хо­рош тем, что для за­груз­ки опе­ра­ци­он­ной сис­те­мы ри­мен­таль­ная, но вы уви­ди­те, что про­стые уст­рой­ства бу­д ут ра­бо­
по­дой­дет поч­ти лю­бой ISO-об­раз. тать без дальней­ших на­стро­ек.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      27
Про­буй­те лю­бой ди­ст­ри­бу­тив 

Дру­гие экс­пе­ри­мен­ты
Ес­ли ваш CPU не за­ар­та­чит­ся, най­дут­ся и дру­гие спо­со­бы.

В
ир­т уа­ли­за­ция – не един­ствен­ный спо­соб оп­ро­бо­вать но­
вый ди­ст­ри­бу­тив; про­сто так уж вы­шло, что этот путь са­
мый про­стой и нена­вяз­чи­вый. Но при бо­лее серь­ез­ном
тести­ро­вании, с за­пуском но­во­го ре­ли­за на ре­а ль­ном обо­ру­до­
вании, есть несколь­ко ме­то­дов уп­ро­щения дан­но­го про­цес­са, ес­
ли вы не хо­ти­те пор­тить основ­ную уста­нов­к у.
В от­ли­чие от неко­то­рых ком­мер­че­ских опе­ра­ци­он­ных сис­
тем (не бу­дем по­ка­зы­вать паль­цем), боль­шин­ство ди­ст­ри­бу­ти­вов
Linux спо­кой­но ужи­ва­ют­ся с дру­ги­ми ди­ст­ри­бу­ти­ва­ми и опе­ра­ци­
он­ка­ми, ав­то­ма­ти­че­ски до­бав­ляя се­бя в ка­че­стве пунк­та в за­гру­
зоч­ное ме­ню. Бы­ло бы ме­сто на диске.
Здесь мо­г ут на­чать­ся фо­к у­сы: ведь ди­ст­ри­бу­тив, уста­нов­лен­
ный пер­вым, бу­дет пы­тать­ся за­хва­тить все доступ­ное про­стран­
ство, за­труд­няя по­сле­дую­щие уста­нов­ки. И вы сэ­ко­но­ми­те свои
тру­ды, ес­ли ог­раничи­те пер­вый ди­ст­ри­бу­тив ука­зан­ным ко­ли­че­
ством места на диске; а для это­го по­тре­бу­ет­ся ути­ли­та руч­ной
раз­бив­ки. Ес­ли у вас есть лиш­ний USB-бре­лок, соз­дай­те в Unetbootin
ди­ст­ри­бу­тив, за­гру­жае­мый с это­го уст­рой­ст­ва ав­то­ма­ти­че­ски.
Иди и сравни
Раз­ные ди­ст­ри­бу­ти­вы ис­поль­зу­ют раз­ные ути­ли­ты для управ­ корнево­го ка­та­ло­га, а раз­дел под­кач­ки обыч­но ото­бра­жа­ет­ся как
ления про­цес­сом раз­бив­ки, но ба­зо­вая функ­цио­наль­ность у них linux-swap. Оба сле­д у­ет от­фор­ма­ти­ро­вать, ес­ли у уста­нов­щи­ка
од­на и та же. Нуж­но вы­би­рать ме­ж ­ду ав­то­ма­ти­че­ской и руч­ есть та­кая оп­ция, и тогда про­цесс уста­нов­ки мож­но про­дол­жать
ной уста­нов­ка­ми. Пер­вая обыч­но очи­ща­ет же­ст­кий диск или же в обыч­ном ре­жи­ме. При уста­нов­ке дру­гих ди­ст­ри­бу­ти­вов про­це­
пол­но­стью занима­ет все сво­бод­ное ме­сто, а вто­рая тре­бу­ет кое- ду­ра бу­дет при­мер­но та­кой же: раз­де­лы для ка­ж ­дой но­вой уста­
ка­ко­го ноу-хау. нов­ки соз­да­ют­ся на остав­шем­ся сво­бод­ном месте.
Как минимум, вам по­тре­бу­ют­ся два раз­де­ла: один для фай­
лов ди­ст­ри­бу­ти­ва, а вто­рой под так на­зы­вае­мую под­кач­к у. Ес­ли Ме­ня­ем раз­мер из GParted
на диске хва­та­ет сво­бод­но­го места, вы смо­же­те соз­дать но­вый Ес­ли у вас уже уста­нов­лен ди­ст­ри­бу­тив, и вы хо­ти­те по­ме­нять
раз­дел и точ­но ука­зать его раз­мер. Так­же по­тре­бу­ет­ся вы­брать раз­мер те­к у­ще­го раз­де­ла, вы­сво­бо­див ме­сто для но­вой уста­нов­
для раз­де­ла тип фай­ло­вой систе­мы; ес­ли у вас нет спе­ци­фи­че­ ки, эту ра­бо­т у мо­жет вы­полнить GParted – ути­ли­та, ис­поль­зуе­мая
ских тре­бо­ваний, ре­ко­мен­д у­ем ext4 или ext3. боль­шин­ством уста­нов­щи­ков. Но есть па­ра ого­во­рок. Наи­луч­шие
Раз­дел под­кач­ки – это об­ласть же­ст­ко­го диска, ис­поль­зую­ ре­зуль­та­ты у нас по­лу­ча­лись, когда мы за­гру­жа­лись с Live CD, со­
щая­ся как ме­сто для из­лишних дан­ных в ОЗУ. Эм­пи­ри­че­ское пра­ дер­жа­щего эту про­грам­му, на­при­мер, Ubuntu. Тогда у вас бу­дет
ви­ло гла­сит, что раз­мер это­го раз­де­ла дол­жен быть вдвое боль­ше пол­ный кон­троль над ва­ши­ми диска­ми, и вы смо­же­те ме­нять раз­
раз­ме­ра ОЗУ, но не боль­ше 2 ГБ. мер раз­де­лов, не бес­по­ко­ясь о досту­пе к дан­ным. Из­менение раз­
По­сле соз­дания обо­их раз­де­лов тре­бу­ет­ся ука­зать ка­ж ­до­му ме­ра при этом сво­дит­ся про­сто к вы­бо­ру раз­де­ла, ко­то­рый нуж­но
точ­к у мон­ти­ро­вания. Основ­но­му раз­де­лу нуж­но на­зна­чить / для умень­шить (или уве­ли­чить), и на­жа­тию на кноп­к у Resize. В по­яв­

А не попробовать ли… Absolute?


Absolute – ди­ст­ри­бу­тив, осно­ван­ный на Slackware; дан­ ры по умол­чанию в уста­нов­щи­ке мож­но оста­вить как
ный факт по­шлет мно­гих GUI-за­ви­си­мых поль­зо­ва­те­лей есть. На­при­мер, в пер­вом ме­ню вы­бе­ри­те Auto Install,
Linux ле­сом. Од­на­ко Absolute не похож на папу, и не нуж­ и пусть Absolute сам ре­ша­ет, что де­лать с же­ст­ким дис­
но быть чле­ном элит­но­го клу­ба Linux, что­бы он у вас за­ ком. Так­же мы не тро­ну­ли уста­нов­ки мы­ши и до­ба­ви­ли
ра­бо­тал – бла­го­да­ря вклю­чению по умол­чанию го­то­во­го на­ши соб­ствен­ные слу­чай­ные име­на хоста и до­ме­на для
гра­фи­че­ско­го ок­ру­жения, не тре­бую­ще­го до­полнитель­ се­те­во­го со­единения.
ной уста­нов­ки па­ке­тов. Ис­поль­зо­вание DHCP не вы­зва­ло про­блем, и мы смог­
Absolute де­ла­ет упор на ба­ланс прак­тич­но­с ти и мо­ ли вый­ти в Ин­тернет че­рез KVM. Спо­ткну­лись мы толь­
щи, при­су­щий Slackware. Род­с тво со Slackware так­же ко на том, что на эк­ране вхо­да не ото­бра­жал­ся кур­сор
оз­на­ча­ет со­вмести­мость с ши­ро­ким диа­па­зо­ном обо­ и шриф­ты. Сна­ча­ла мы по­д у­ма­ли, что не рас­по­зна­лась
ру­до­вания. вир­т у­а ль­ная кла­виа­т у­ра, од­на­ко ес­ли всле­пую вве­
По­след­няя вер­сия силь­но об­нов­ле­на: до­бав­ле­ны сти имя поль­зо­ва­те­ля (по умол­чанию под­ра­зу­ме­ва­ет­ся
но­вое яд­ро, но­вые ком­пи­ля­то­ры и по­след­няя вер­сия «root»), а за­тем па­роль, то вы по­па­де­те на ра­бо­чий стол,
GTK. Ее ма­ло­зна­ча­щий но­мер (13.1.0) сле­д у­ет схе­ме ну­ и даль­ше про­блем уже не бу­дет.
ме­ра­ции вер­сий Slackware и не от­ра­жа­ет важ­ность по­ Ра­бо­чий стол прост. Он по­стро­ен на IceWM и уком­
следнего об­нов­ления. плек­то­ван мно­ги­ми стан­дарт­ны­ми Linux-при­ло­жения­
Live-ре­жи­ма нет, и что­бы поль­зо­вать­ся Absolute, вам ми. Он так­же со­вместим с па­ке­та­ми от Slackware, и у вас Лег­кий в ус­та­нов­ке Absolute по­уба­вил слож­но­
при­дет­ся уста­но­вить его. К сча­стью, поч­ти все па­ра­мет­ не бу­дет недостат­ка про­грамм для уста­нов­ки. стей Slackware.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
28      LXF132 Июнь 2010
 Про­буй­те лю­бой ди­ст­ри­бу­тив

Ре­дак­ти­ру­ем раз­де­лы вруч­ную – но спер­ва сде­лай­те ко­пии!

Из­менить/пе­ре­местить
раз­дел
Вы­бе­ри­те раз­дел и с по­мо­щью
этой кноп­ки ли­бо по­ме­няй­те
его раз­мер, ли­бо пе­ре­мести­те
на сво­бод­ное ме­с то.

Расклад­ка
Го­ри­зон­таль­ный спи­сок по­ка­зы­ва­ет
фи­зи­че­ское раз­ме­щение раз­де­лов
в том по­ряд­ке, как они рас­по­ло­же­ны
на же­ст­ком диске.

Спи­сок раз­де­лов
Для ка­ж ­до­го раз­де­ла ото­бра­жа­ет­ся
фай­ло­вая систе­ма и доступ­ное
сво­бод­ное ме­с то.

Вы­бор уст­ройств Сво­бод­ное ме­сто Из­менение раз­ме­ра


Это вы­па­д аю­щее ме­ню, где мож­но Ес­ли на диске есть сво­бод­ное ме­с то, По­тяните ле­вый или пра­вый край
вы­брать ли­бо же­ст­кий диск, ли­бо вы не уви­ди­те цвет­но­го бло­ка. Двой­ в окне ре­д ак­ти­ро­вания, что­бы
USB-на­ко­пи­тель. ной щел­чок соз­д аст но­вый раз­дел. по­ме­нять раз­мер раз­де­ла.

ляю­щем­ся окне пе­ре­та­щи­те пра­вый или ле­вый край раз­де­ла, что­ о том, что бу­дет пред­став­лять со­бой конеч­ная уста­нов­ка, хо­тя чте­
бы умень­шить ме­сто, ко­то­рое он занима­ет на диске. ние дан­ных с оп­ти­че­ско­го но­си­те­ля ее несколь­ко за­тор­мо­зит.
По­сле освоения искусства руч­ной раз­бив­ки при­хо­дит че­ред
дру­го­го ас­пек­та кон­тро­ля за ва­ши­ми дан­ны­ми: соз­дание от­дель­ Ди­ст­ри­бу­тив на бре­лоч­ке
но­го до­машнего раз­де­ла. Вам про­сто нуж­но соз­дать дру­гой раз­ Про­бле­ма ско­ро­сти мо­жет быть ре­ше­на, ес­ли уста­но­вить тести­
дел, на­ря­ду с корневым и под­кач­кой, за­дать ему фай­ло­вую систе­ руе­мый ди­ст­ри­бу­тив на сво­бод­ный USB-при­вод и за­гру­зить­ся с не­
му и припи­сать точ­к у мон­ти­ро­вания /home. го. Рань­ше соз­дание та­ких вот USB-ди­ст­ри­бу­ти­вов бы­ло тяж­ким
Боль­шин­ство уста­но­вок по­зво­лят вам вы­брать в ка­че­стве до­ тру­дом, од­на­ко бла­го­да­ря ути­ли­те Unetbootin вы смо­же­те соз­дать
машнего су­ще­ствую­щий раз­дел и не по­тре­бу­ют его фор­ма­ти­ро­ за­гру­зоч­ный диск поч­ти для всех ди­ст­ри­бу­ти­вов все­го несколь­
вания. Это зна­чит, что все учет­ные запи­си поль­зо­ва­те­лей, а так­же ки­ми щелч­ка­ми мы­ши. Па­кет Unetbootin име­ет­ся во мно­гих ди­ст­
их дан­ные, оста­нут­ся нетро­ну­ты­ми и доступ­ны­ми по­сле за­груз­ ри­бу­ти­вах, а са­ма про­грам­ма, ско­рее все­го, по­тре­бу­ет ад­минист­
ки но­во­го ди­ст­ри­бу­ти­ва, что осо­бен­но по­лез­но, ес­ли вы ра­бо­тае­те ра­тор­ских при­ви­ле­гий. Когда она за­пустит­ся, про­сто ука­жи­те
в несколь­ких Linux-систе­мах. рас­по­ло­жение ISO-об­раза ва­ше­го ди­ст­ри­бу­ти­ва и вы­бе­ри­те из вы­
Ре­ко­мен­д у­ем соз­дать для ка­ж ­до­го ди­ст­ри­бу­ти­ва от­дель- па­даю­ще­го спи­ска его вер­сию, а за­тем – рас­по­ло­жение брел­ка.
но­го поль­зо­ва­те­ля. Это уст­ранит на­к лад­ки в до­машних ка­та­ло­гах Лю­бой ПК не стар­ше 3–5 лет за­гру­зит­ся с USB-при­во­
и фай­лах на­строй­ки, возникаю­щие, ес­ли соз­дать поль­зо­ва­те­ля, да без ка­ко­го-ли­бо вме­ша­тель­ства, од­на­ко иногда вам по­тре­бу­
ко­то­рый уже су­ще­ству­ет для дру­го­го ди­ст­ри­бу­ти­ва. При же­лании ет­ся ли­бо зай­ти в за­гру­зоч­ное ме­ню из BIOS, ли­бо сменить по­ря­
пе­ренести свои на­строй­ки с од­ной учет­ной запи­си на дру­г ую, это док за­груз­ки в са­мом BIOS. В ре­зуль­та­те у вас бу­дет ди­ст­ри­бу­тив,
мож­но сде­лать вруч­ную в команд­ной стро­ке, по­сле че­го ра­бо­чий ра­бо­таю­щий с внеш­не­го уст­рой­ст­ва с той же ско­ро­стью, что
стол бу­дет го­тов к ра­бо­те. Про­сто ско­пи­руй­те все со­дер­жи­мое и род­ной.
од­но­го до­машнего ка­та­ло­га в дру­гой, ис­поль­зуя коман­ду cp -rf
источник на­зна­чение, и убе­ди­тесь, что пра­ва досту­па для поль­зо­
ва­те­ля и груп­пы со­от­вет­ству­ют той учет­ной запи­си, ко­то­рая бу­ Об­рат­ная связь
дет поль­зо­вать­ся этим ка­та­ло­гом (на­при­мер, с по­мо­щью chmod -R
имя_поль­зо­ва­те­ля:имя_поль­зо­ва­те­ля ка­та­лог).
Ес­ли вы на­шли ка­кой-ни­будь чуд­ный ди­ст­ри­бу­тив, за­слу­жи­ваю­
А ес­ли вы не лю­би­тель руч­ной раз­бив­ки, все­гда оста­ет­ся про­ щий на­ше­го вни­ма­ния, мы бу­дем ра­ды уз­нать про это. На­пи­ши­те
стей­шая воз­мож­ность – ста­рый до­б­рый Live CD. Мно­гие ди­ст­ри­ нам, чем он хо­рош, на letters@linuxformat.ru, и мы по­ста­ра­ем­ся
бу­ти­вы те­перь вклю­ча­ют соб­ствен­ные за­гру­зоч­ные вер­сии, по­зво­ уде­лить ему ме­сто в сле­д ую­щем об­зо­ре сво­бод­но­го во всех
ляя вам про­тести­ро­вать со­вмести­мость с обо­ру­до­ванием, а так­же смыс­лах ми­ра ди­ст­ри­бу­ти­вов Linux.
ди­зайн и прак­тич­ность. Вы по­лу­чи­те непло­хое пред­став­ление

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      29
Ин­тер­вью Ни­ко­лас Рой

Ubuntu: Ме ­
р и т
­ ок
­ р а т
­ ия,
Ле­та
а не т
деь
м
­ в
ок
­ ы
ра ш
­
т
­ ия е о ле зть со св и
о­ м мн н
е­ ем, ку­да за­хо­чет­ся?
и­
По-ва­ше­му, нуж­н ж н
о­ о Бэк
­ он об яс­нит, по­че­му так нель­зя…
ъ­
untu Д
Ме­нед­жер со­об­ще­ст­ва Ub о­вил, вклю­ча­ло два эк­р
ан­
под­го­т
на Объ­яв­ление, ко­то­рое я ­ной. Слу­чай­
на­вае­мых черт, но од­ те­ма­ми – свет­лой и тем

U
buntu име­ет мно­го уз­ я с со­ ных сним­ка, с но­вы­ми на эк­ран­ных
его взаи­мо­дей­ с тви это­го не за­ме­тил бы, но
из луч­ших – ре­пу­та­ция ный зри­тель, воз­мож­но, жи­ла: кноп­
пор , как Марк Шатт­л­ворт [Mark то­рая кое-ко­г о на­ с то­р о­
об­ще­ство м. С тех
у, сним­ках бы­ла де­таль, ко­ пе­ре­еха­ли
­вую коман­ду в 2004 го­д ер­нуть / мин ими з
­ р
и­ в
о­ ать
Shuttlewor th] соз­дал пер раз­но­­- ки За­крыть ок­но / Раз­в
в раз м
­ е­р е, по­ р о­д ив
­рослось
со­об­ще­ство Ubuntu раз ще­ства под­ спра­ва на­ле­во.
все ­му ми­ру. Этот дух со­об­
о­ б­ще­стве
об­р н
аз­ ые гру п
п­ ы по
Наш
Про­ти­во­ре­чият­ври­рсо
ю про ­зрач­но­сти,
Мар­ка к при­дани
эксперт кре­п­лял­ся эн­т у­зи­аз­мом ко­дек­су ли не ка­
управ­ления и ин­ с т­р м
у­ ен­т ов, о­ва­на как ошиб­ка, и чуть
внедрению от­кры­то­го е
­ та.
к­ Пе­ре­ме­на бы­ла за­ре­ги­с т счет. Неко­
Джо­но Бэ­кон ю доб­ро­ в оль ц
­ ев в ря­ д ы про со сво­им мнением на это
по­ве­дения и при­гла­шени р е­ д е­л ен­ные ж­дая со­ба­ка вы­сту­пи­ла м ан­н ую кри­ти­к у
Му­зы­кант, пи­са­ б­ще­стве возник ­ли оп­ ­стви­тель­но про­ду­
тель и раз­ра­бот­чик Недав­но, од­на­ко, в со­о ов­ н ой спон­ то­рые вы­ска­зы­ва­ли дей я, но мно ­гие про­сто
ись, когда Canonical, осн для поль­зо­ва­ т е­л
ПО. Он так­же за­ раз­но­гла­сия. Они на­ча­л это м
­ у про ­ек­т у. с точ­ки зрения удоб­ства вы­ к ри­ к и. Де­ба­ты
об­нов­лении брэ н­ д а по ные и бес с
­ вяз н
­ ые
ни­ма­ет долж­ность сор Ubuntu, объ­я­ви­ла об кра ски; из­да­ва­ли неор­ганизо­ван­ пять ко­пе­ек:
­гое дру­г ое до­б в
а­ и­ л ись но­ в ые ка Марк не вбро­сил свои
ме­нед­же­ра со­об­ На ло­го­тип, обои и мно т
­ о­г ра­ф ий бу­ше­ва­ли до тех пор, по­ его от и до. Ины­ми
ще­ст­ва Ubuntu, тек­сту­ры, об­ра­бот­ка фо «Мы все де­ла­ем Ubuntu,
но не все де­ла­ют
хо­тя вы­ска­зан­ное
но­вые цве­то­вые схе­мы, до­ в е­д е­н ы до све ­ ать . У нас ест ь коман­да
ые на­во­ро­ты бы­ли ­ем де­ле­ги­ро­в
здесь мне­ние и дру­гие ху­до­же­ствен­н в
­ и­ т ия брэ д
н­ а, сло­ва­ми, мы хо­ро­шо уме я о яд­ р е, ко­то­рые
н­но­сти. В рам к
­ ах раз т клю­че­ в ые ре­ш ени
яв­ля­ет­ся его соб­ дения ши­ро­кой об­ще­стве в Лон­дон по яд­ру, и они принима­ю ан­ Вы мо­
д ы.
ства бы­ли при­гла­ше­ны ать лю­д ям вне этой ком
ст­вен­ным. клю­че­вые чле н
­ ы со­о б­ щ е­
со­ об­ще­ства не раз­ре­ша­ет­ся приним ен­ т и­р о­вать и уча­
зайнеров, а менедж­мент об ошиб­ках, ком­м
для ра­бо­ты с груп­пой ди­ же­те соз­да­вать от­че­ты У нас пре ­ду­смот­ре­
ение о брэн­де. ать их ре­шени я...
сде­лал пуб­лич­ное за­яв­л ство­вать, но не оспа­ри­в ост ь де­ л е­г и­ро­вания,
аю­щие пра в
­ иль н
­
ны про­цес­сы, обес­пе­чи­в что ка­ж ­дый
тва от­нюдь не оз­на­ча­ет,
но от­кры­тость со­об­ще­с
­во обо всем».
мо­жет ска­зать свое сло ло уточ­
Клю­че­вым мо­ м т
ен­ ом в от­ве­те Шатт­л­вор­та бы­
не про д
­ укт кон с
­ ен­ с у­са: они
ntu –
нение, что ре­шения в Ubu н ы­м и людь­
ми и хо­ро­шо осве­дом­лен­
принима­ют­ся ува ­жае­мы­ д щ
у­ ий ком ­мен­та­
от­ве­тил на пре­ды­
ми. В за­к лю­чение он : «Эт о не де­ м о­кра­
по­зи­цию Ubu ntu
рий, под­твер­ж дая та­к ую

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
е, и осно­вы­
ет­ся и вы­зы­ва­ет ува ­жени
ор­ми­ро­вание, ра­бо­т у, ко­то­рая от­ме­ча­
об­рат­ную связь и ин­ф ва­ет­ся на опы­те и про­ду­
ман­ных су­ж ­дени ях.
тия. Мы при­вет­ству­ем ло­со­ванием». слуг, со­сто­ят
ения принима­ ю т­с я не го­
по­с тро ­ен­ные по прин­ци­пу за­
но на­ши про­ект­ные ре­ш но­во­ст­ные Со­об­ щ с
е­ тва ,
трудничаю­
сле его ком­мен­та­рия их­ся ин­фор­ма­ци­ей и со­
Че­рез па­ру се­к унд по­ з­ня­ми, что из лю­дей, об­мениваю­щ нам при­ви­ва­ли,
n Source бур­ли­ли росска щих идеа­ли­зи­ро­ван­ным
об­ра­зом. В дет­стве
лен­ты ми­ра Linux и Ope пе­ р е­ д ер­ ги­вая, ут­ т
­ с
у­ а или ма­т е­ри­а ль­ных
при­чем кое-кто, что об­ход пра­вил и ис­поль
­зо­вание ста
в Ubuntu нет де­мо­кра­тии; кар д
­ и­н аль ­но из­ ти­ж ени я усп е­ха в боль­
раз­ра­бот­ки Ubu ntu е­нять для дос
вер­ж дал, что спо­соб цен­но­стей нель­зя при­м л а воз­на­гра­
к пе­р п
е­ олн ил­ с я. нас учи­ли, что до­б­рые де­
менили. Мой поч­то­вый ящи раз­го­вор шом ми­ре. С ранних лет
о­рия, я вспомнил наш ми.
Когда стряслась эта ист к ов Ubuntu ж­да­ют­ся до­б­ры­ми де­ла­ то­му же прин­
ад на сам­ми­те раз р
­ б
а­ от­ ч и­
д н
об­ ые Ubuntu, ра­бо­та­ют по
с Мар­ком три го­да на­з ит, и я по­ к а не осво­ Со­об­ще­ства , по­
с я эко н
­ о­м и­ка­ми, но вме­
мой пер­вый сам м
­ ти, яв­л ю
я­ т­
в Ка­ли­форнии. Это был об­щ твом с
е­ ци­пу. Со­об­ще­ства, по су­ ­ви­ва­ют свои
под­бор управ­ляе­мо­го со­ о­во­го ка­пи­та­ла они раз
ил­ся. Я тогда от­ве­чал за и, что нуж­но сто уве­ли­чения фи­нан­с его на осно­ве да­
Ubuntu. Мы про­ду­ма­л пи­та­ла. Мы стро­им
Со­ве­та для фо­ру­мов ­ствия пол­но­ ре­зер­вы со­ци­а ль­но­го ка­ к м
у­ ен­т а­ции, со­об­
ти­зи­ро­ва­ли сро­к и дей ис­прав­лени й, до­
от это­го ор­га­на, кон­кре­ и оп­ре­де­ли­ли, ров об­ще­ству (на­при­мер, г
­ ие ви­ д ят наш вклад
я по ин­фра­ с тру к­т р
у­ е ­че­го), и ког да дру
мо­чий, при­ня­ли ре­шени толь­ко ре­ щений об ошиб­ках и про как хо­ро­шие
ро­вать­ся со­вет. Оста­лось мы растем в их соз­нании
на чем дол­жен фо­к у­си­ д
­ ени я под ­хо­ и ува ­жа­ют на­шу ра­бо­т у, т и ко­ т р
о­ ым мож­
став. В про­цес­се об­су­ж гра ­ж ­дане – гра ­ж ­дане, ко­
то­рые име­ют опы
шить, кто вой­дет в его со­ го­ л о­с о­в ани е, на что
ло­жил про­вести
дов к это­му де­лу я пред­
ntu; боль-
«Это не ат­ри­бу­т Ubu т­кры­-
не де­мо­кра­ т ия» .
Марк от­ве­тил: «Нет, у нас ­ли­ка-вы­
бы­ла той же ре­ак­ци­ей кро
а
ре­ ц
к­ ия
о
шинство со­об­ществ ичны.»
Снач
­ л
а­ а моя неко­то­
а­з л
а­ и
ко­то­рую недав­но вы­к
хва­чен­но­го-све­том-фар, бли з­к им, удо б­ным
ка­за­лась идей­но
­т
­то­го ко­да ме­ри­то­кра
рые лю­ди. Де­мо­кра­тия , и за­ м е­ч ани е, что
дом к со­об­ щ е­с тву
и спра­вед­ли­вым под ­хо­ г о неб а. Марк уточ­
­мом сре д
­ и яс­ н о­
это не для нас, бы­ло гро а­ют­ся не по ­су­щие лишь
Ubuntu ре­шения приним е. Это не ат­ри­бу­ты, при
нил свою по­зи­цию: «В л ен­ ны­ми ли­ца­ но до­ве­рить управ­лени р
­ онн ико в от­кры­то­го
а хо­ро­шо осв д
е­ ом­ со­об­ществ – сто
зри­тель­ским сим­па­ти­ям, ре­шений». Ubuntu; боль­шин­ство из ре­де­ля­ют­ся
по про­бле­ м е и при н
­ я­т ию тич­ны, и их ли­де­ры оп­
ми, с бо­га­тым опы­том оп­ре­де­ление: ко­да так ­же ме­ри­то­кра­ ени ю осталь­
не яв­ля­ет­ся, он дал и ­знан­но­му вкла­ду и ува ­ж
Про­яснив, чем Ubuntu по хо­ро­шей ра­бо­те, при
тия». тва.
«Ubuntu – это ме­ри­то­кра­ ны­ми чле­на­ми со­об­ще­с е­лан­ной ми­
Я очень горж
­ усь нев е­ро­ят­ной ра­бо­той, про­д
лет, а ме­
Рост по за­слу­гамс этим ntu за по­с лед ние шес ть
ро­вым со­об­ще­ством Ubu соб­ность,
тер­ми­ном: ме­ри­то­кра­тия сти в эту ра­бо­т у жизнес
по­
Для тех, кто не зна­ком пра­во го­ло­ ри­то­кра­тия по­мог­ла вне б
­ лем , над ко­то­ры­ми
а] не пред­по­ла­га­ет, что ува ­жение и при­знание.
У нас хва­та­ет про
[от англ. merit – за­слу­г д ств о и управ­ление и воз м
­ ож­н о­с ти осв е­ща­ют
то это­го, ру­ко­в о­ их, но на­ш
са име­ет ка­ж ­дый; вме­с за­слу­га­ми нуж­но ра­бо­тать и ре­шать в стр ой.
­дал ре­п у­т ц
а­ ию сво м
и­ и й сто­ро­ны, го­тов встать
осу­ще­ств­ля­ют те, кто соз ням ие­рар­ путь впе­ред, и я, со сво­е
ме­ри­то­кра­тии по сту­пе­
и хо­ро­шей ра­бо­той. При л ее ши­кар­ной
­го­да­ря об­ла­данию бо­
хии поднима­ют­ся не бла и­м и по­д ны­ми ма­
об­
­ж ­дой или дру г
­
ма­ши­ной, эле­гант­ной оде иде т че­р ез боль­шую
и. Про­дви­ ж ени е
те­ри­а ль­ны­ми ат­ри­бу­та­м

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Фай­лы жур­на­лов 

Журналы
Рас­ко­пай­те
за­ле­жи ин­фор­ма­ции
о сво­ей сис­те­ме
Фай­лы жур­на­лов Linux – что это та­кое,
где их най­ти и за­чем они вам?
От­ве­ты зна­ет Ша­шанк Шар­ма.

К
ак за­бот­ли­вый ро­ди­тель, при­гля­ды­ваю­щий за за­ня­ conf име­ет­ся спи­сок всех генери­руе­мых им лог-фай­лов. Неко­то­
тия­ми сво­его ча­да, Linux бди­те­лен и ак­к у­рат­но ве­дет рые при­ло­жения соз­да­ют соб­ствен­ные жур­на­лы, и они то­же на­хо­
жур­нал все­го, что про­ис­хо­дит в систе­ме. Фай­лы жур­ дят­ся в ка­та­ло­ге /var/log/.
на­лов в Linux яв­ля­ют­ся об­шир­ным и ре­шаю­щим ис-
точником ин­фор­ма­ции при по­иске неис­прав­но­стей ва­шей систе­мы Жур­на­лы в Linux
или от­дель­ных при­ло­жений, будь то умолк­нув­шие бес­про­вод­ные Коман­да dmesg – по­лезней­шее сред­ство вы­яв­ления про­блем
на­ушники или про­блем­ная уста­нов­ка VirtualBox. с обо­ру­до­ванием. В основ­ном она вы­во­дит на эк­ран ин­фор­ма­цию
Боль­шая часть жур­на­лов по­ме­ща­ет­ся в фай­лах («ло­гах») обо всех под­к лю­чен­ных уст­рой­ствах, об­на­ру­жен­ных на эта­пе за­
внут­ри ка­та­ло­га /var/log/. Там на­хо­д ят­ся са­мые раз­ные жур­на­лы, груз­ки. Од­на­ко dmesg так­же хранит все со­об­щения яд­ра. И ес­ли
ка­ж ­дый для сво­ей части систе­мы. На­при­мер, есть жур­на­лы спе­ у вас ба­рах­лит ви­део­кар­та Nvidia, коман­да dmesg | grep nvidia ска­
ци­а ль­но для яд­ра Linux, рав­но жет вам, рас­по­зна­лась она или
как для APT и X-сер­ве­ра.
Для чтения жур­на­лов
«Поч­ти все журналы нет. Там же ищи­те све­дения
про всю свою пе­ри­фе­рию:
не тре­бу­ет­ся ника­ких спе­ци­
аль­ных про­грамм, ведь они
в Linux ве­дут­ся в од­ном web-ка­ме­ру, USB-пе­ро, на­ко­пи­-
те­ли, бес­про­вод­ные кла­виа­т у­
хра­нят­ся в ви­де про­сто­го тек­ про­стом фор­ма­те.» ры и про­чее.
ста. То есть мож­но не толь­ко Хо­тя жур­на­лы – это про­
про­смат­ри­вать лог-фай­лы, но и соз­да­вать скрип­ты для по­иска стой текст (чи­тае­мый и в кон­со­ли, и в гра­фи­че­ских про­грам­мах),
по ним, а за­тем вы­пол­нять те или иные дей­ствия в за­ви­си­мо­сти боль­шин­ство ди­ст­ри­бу­ти­вов пре­д у­смат­ри­ва­ет для их про­смот­ра
от ре­зуль­та­тов. Это дей­стви­тель­но удоб­но. гра­фи­че­ское при­ло­жение. Поль­зо­ва­те­лям Gnome для это­го пред­
Поч­ти во всех ди­ст­ри­бу­ти­вах Linux систем­ные жур­на­лы соз­да­ ла­га­ет­ся ути­ли­та gnome-system-log. Что­бы уви­деть ин­фор­ма­цию,
ют­ся со­от­вет­ствую­щим де­мо­ном (syslogd). В фай­ле /etc/syslogd. со­дер­жа­щ ую­ся в жур­на­ле, вы­бе­ри­те его в спи­ске на ле­вой панели
и ука­жи­те да­т у, ко­то­рая вас ин­те­ре­су­ет.
Из-за гро­мозд­ко­сти боль­шин­ства жур­на­лов при­хо­дит­ся час­
то при­ме­нять про­грам­мы вро­де grep и tail, что­бы от­се­ять толь­
ко нуж­ную ин­фор­ма­цию, а не про­кру­чи­вать вся­кий раз весь
файл це­ли­ком. На­при­мер, ис­поль­зо­вание систем ав­то­ри­за­ции –
про­грамм, ко­то­рые за­пра­ши­ва­ют па­роль у поль­зо­ва­те­ля, та­ких
как sudo, се­ан­сы ра­бо­ты с SSH и то­му по­доб­ное – от­сле­жи­ва­ет­
ся в фай­ле /var/log/auth.log. При ак­тив­ной ра­бо­те в этом фай­ле
мо­жет ока­зать­ся мно­же­ство запи­сей – и ес­ли вам нуж­на толь­ко
ин­фор­ма­ция, свя­зан­ная с вхо­да­ми че­рез sshd, скоман­дуй­те grep
Сжа­тые жур­на­лы sshd /var/log/auth.log | less.
не ото­бра­жа­ют­ся По умол­чанию, коман­да tail вы­во­дит 10 по­следних строк ука­
в стан­дарт­ном про­
зан­но­го фай­ла, так что коман­да tail /var/log/Xorg.0.log ото­бра­зит
смотр­щи­ке — при­
дет­ся по­во­зить­ся по­следние 10 строк жур­на­ла X.org. Ес­ли их недоста­точ­но для ди­а-
с про­крут­кой по го­ г­но­сти­ки про­бле­мы с дис­пле­ем, мо­же­те ис­поль­зо­вать оп­цию -n,
ри­зон­та­ли. что­бы tail вы­во­дил заданное чис­ло строк (n) с кон­ца.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
32      LXF132 Июнь 2010
 Фай­лы жур­на­лов

Идея при­ме­нять коман­д у tail к фай­лам жур­на­ла состоит в том, Спи­сок жур­на­
что ес­ли при­ло­жение ра­бо­та­ет непра­виль­но (на­при­мер, не по­яв­ лов в ка­та­ло­ге /
ля­ет­ся GUI), то от­но­ся­щая­ся к нему ин­фор­ма­ция бу­дет рас­по­ла­ var/log/ за­ви­сит
от ди­ст­ри­бу­ти­ва.
гать­ся в са­мом кон­це фай­ла, так как про­грам­ма уже не вы­пол­ня­
На­при­мер, в Fedora
ет­ся и в жур­нал не до­бав­ля­ет­ся ниче­го но­во­го. есть жур­на­лы Yum,
Ес­ли при­ло­жение все же ра­бо­та­ет и файл жур­на­ла об­нов­ля­ а в Ubuntu — жур­на­
ет­ся, tail все рав­но при­го­дит­ся для от­сле­жи­вания его об­нов­лений лы APT.
в ре­а ль­ном вре­мени, бла­го­да­ря оп­ции -f (follow, сле­до­вать). Ска­
жем, коман­да tail -f example.log за­пустит tail в цик­ле, ко­то­рый бу­
дет по­сто­ян­но ожи­дать до­бав­лений в файл. Для вы­хо­да из цик­ла
и воз­вра­та в тер­ми­нал на­жми­те Ctrl+C.

Ар­хи­вы жур­на­лов и logrotate


Про­смот­рев со­дер­жи­мое ка­та­ло­га /var/log/, мож­но за­ме­тить, что
неко­то­рые лог-фай­лы име­ют име­на kern.log.0, kern.log.1.gz и так
да­лее. Они об­ра­зу­ют­ся по­сле ро­та­ции (ав­то­ма­ти­че­ской ар­хи­ва­
ции) жур­на­лов. С те­чением вре­мени поч­ти все жур­на­лы из­ряд­но
раз­раста­ют­ся, и чи­тать их ста­но­вит­ся слож­но. Тогда пер­во­на­чаль­ Apr 8 03:27:08 linuxlala-GCPD gdm[2412]: pam_ck_
ный файл жур­на­ла пе­ре­име­но­вы­ва­ет­ся, и за­во­дит­ся но­вый жур­ connector(gdm-autologin:session): nox11 mode, ignoring
нал kern.log. PAM_TTY :0
Ути­ли­та logrotate, управ­ляе­мая фай­лом /etc/logrotate.conf, Ка­ж ­дая стро­ка это­го неболь­шо­го фраг­мен­та, взя­то­го из фай­ла
от­ве­ча­ет за соз­дание но­вых жур­на­лов, а так­же пе­ре­име­но­вание /var/log/auth.log, со­дер­жит пять важ­ных кусков ин­фор­ма­ции, в та­
и ар­хи­ви­ро­вание ста­рых. Файл /etc/logrotate.conf обыч­но име­ет ком по­ряд­ке:
сле­д ую­щий вид: 1 Да­та и вре­мя, когда со­об­щение по­па­ло в жур­нал, на­при­мер

# rotate log files weekly Apr 7 03:55:04.


weekly 2 Имя ком­пь­ю­те­ра (hostname), от ко­то­ро­го при­шло со­об­щение –

# keep 4 weeks worth of backlogs в на­шем слу­чае это linuxlala-GCPD.


rotate 4 3 Имя про­грам­мы или служ­бы, на­при­мер, gdm или cron.

4 ID про­цес­са про­грам­мы или служ­бы, по­с лав­шей со­об­щение –

# create new (empty) log files after rotating old ones в квад­рат­ных скоб­ках.
create 5 Соб­с твен­но текст со­об­щения.

# uncomment this if you want your log files compressed Неко­то­рые жур­на­лы в ка­та­ло­ге /var/log мо­г ут чи­тать­ся толь­
#compress ко спе­ци­а ль­ны­ми про­грам­ма­ми или ути­ли­та­ми. Упо­мянем в этой
свя­зи лог-файл от­ка­зов вхо­да в систе­му (/var/log/faillog), жур­
# packages drop log rotation information into this directory нал по­следних вхо­дов (/var/log/lastlog) и жур­нал запи­сей о вхо­
include /etc/logrotate.d де (/var/log/wtmp), но их, од­на­ко, не про­честь без команд faillog,
Ка­та­лог /etc/logrotate.d со­дер­жит на­строй­ки для от­дель­ных фай­ lastlog и who, со­от­вет­ствен­но.
лов жур­на­лов: apt, dpkg и т. д. На­ко­нец, ни­же при­ве­ден спи­сок наи­бо­лее важ­ных и ин­
При со­от­вет­ствую­щей на­строй­ке logrotate не сра­зу уда­ля­ет те­рес­ных жур­на­лов, ко­то­рые ко­гда-ни­будь вам обя­за­тель­но
ста­рые жур­на­лы, а ка­кое-то вре­мя хранит их в сжа­том с по­мо­щью при­го­д ят­ся.
gzip ви­де. При же­лании мож­но ука­зать, что­бы пе­ред уда­лением
logrotate от­сы­лал ста­рые жур­на­лы на за­дан­ный ад­рес элек­трон­
ной поч­ты. Но пре­ж ­де чем брать­ся за ре­фор­мы в /etc/logrotate. Семь по­лез­ных жур­на­лов
conf или лю­бом фай­ле из ка­та­ло­га /etc/logrotate.d, изу­чи­те man-
страницу logrotate. Имя фай­ла На­зва­ние жур­на­ла Опи­са­ние
Бо­лее важ­ны­ми оп­ция­ми на­строй­ки яв­ля­ют­ся daily, weekly или
monthly, ко­то­рые ис­поль­зу­ют­ся для оп­ре­де­ления часто­ты ро­та­ По­ми­мо по­след­них за­гру­зоч­ных со­об­ще­ний,
ции жур­на­ла. Оп­ция rotate count ука­жет logrotate вы­полнить ро­та­ рас­по­ло­жен­ных в са­мом кон­це, со­дер­жит
boot.log Жур­нал за­груз­ки
ин­фор­ма­цию обо всех за­пу­щен­ных
цию жур­на­ла count раз пе­ред тем, как уда­лить его. Так, rotate 4 бу­
и ос­та­нов­лен­ных служ­бах.
дет остав­лять на хранении толь­ко че­ты­ре уста­рев­ших жур­на­ла.
За­пи­сы­ва­ет все со­об­ще­ния, вы­да­вае­мые ядром
dmesg Жур­нал за­пу­с­ка яд­ра
Рас­шиф­ров­ка жур­на­ла при за­груз­ке (и не толь­ко).

На пер­вый взгляд стро­ки тек­ста, со­став­ляю­щие лог-файл, ка­ж ут­ Мно­гие про­грам­мы и служ­бы за­пи­сы­ва­ют
messages Жур­нал со­об­ще­ний
со­об­ще­ния в этот жур­нал об­ще­го на­зна­че­ния.
ся пол­ной бес­смыс­ли­цей, но на са­мом де­ле ра­зо­брать­ся в них
неслож­но, и, к сча­стью, поч­ти все жур­на­лы Linux ве­д ут­ся в од­ном Xorg.0.log Жур­нал X-сер­ве­ра Со­об­ще­ния от X-сер­ве­ра X.org.
и том же про­стом фор­ма­те.
Apr 7 03:50:01 linuxlala-GCPD CRON[5583]: pam_ Со­об­ще­ния от яд­ра Linux. Они по­мо­г ут ис­пра­
Kern.log Жур­нал яд­ра
вить не­по­лад­ки при ус­та­нов­ке но­во­го яд­ра.
unix(cron:session): session opened for user root by (uid=0)
Со­дер­жит ин­фор­ма­цию поч­ти обо всем.
Apr 7 03:50:04 linuxlala-GCPD CRON[5583]: pam_ Syslog Сис­тем­ный жур­нал Не най­д я нуж­ной ин­фор­ма­цию в дру­гих
жур­на­лах, об­ра­щай­тесь сю­да.
unix(cron:session): session closed for user root
Apr 7 03:55:04 linuxlala-GCPD gdm[2390]: pam_unix(gdm- Пре­дос­тав­ля­ет све­де­ния о сис­тем­ных и при­
autologin: session): session closed for user linuxlala клад­ных де­мо­нах, та­ких как служ­ба Bluetooth
daemon.log Жур­нал де­мо­нов
HCI, ба­за дан­ных MySQL и т. д. По­ле­зен при
Apr 8 03:27:08 linuxlala-GCPD gdm[2412]: pam_unix(gdm-
ди­аг­но­сти­ке про­блем, свя­зан­ных с де­мо­на­ми.
autologin: session): session opened for user linuxlala by (uid=0)

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      33
Ubuntu Tweak 

Ubuntu Tweak
Мастер настроек
Скучаете по Панели управления? У Григория Рудницкого есть для вас
достойная альтернатива.

U
buntu получил известность как система, простая графиче­ской оболочки Gnome, но и с другими, созданными на его
и удобная в установке и настройке, что сделало его основе: Kubuntu, Xubuntu и Lubuntu.
открытым и доступным даже для новичков, только на- Итак, что же умеет Ubuntu Tweak? Очень и очень многое. Интер­
чинающих знакомиться с компьютером либо имеющих фейс у этой утилиты многоязычный и автоматиче­ски подстраива­
небольшой опыт работы с Windows или Mac OS X. Действительно, ется под текущие параметры рабочего стола. В основном окне –
настройки и набор программ, предлагаемые разработчиками которое, кстати, отлично выглядит при любом разрешении экрана,
по умолчанию, выверены до мелочей. Однако по мере погружения в том числе и на нетбуках – представлен краткий перечень задач,
в Ubuntu у всех пользователей рано или поздно возникает жела- которые можно решить с помощью Ubuntu Tweak. В левой полови­
ние поменять какие-либо системные параметры, добавить новое не окна функции программы сгруппированы по категориям.
ПО и т. д. Конечно, все это можно сделать с помощью служебных
программ, сгруппированных в соответствующем меню, или даже Работа с программами
путем редактирования конфигурационных файлов. Не знаю, В категории Приложения находятся все функции, так или иначе
кого как, а меня лично немного нервировало отсутствие в составе связанные с ПО, входящим в состав Ubuntu. В частности, здесь на­
Gnome единого центра настройки системы, который испокон ве- ходится удобный менеджер обновлений, который является непло­
ков присутствовал, например, в KDE — я уж не говорю о всеобъем- хой заменой стандартному. Здесь все просто и зависит от настро­
лющих конфигураторах, например, Yast из SUSE. ек проверки репозиториев. Если на сервере обнаружены новые
К счастью, сообщество давно решило эту проблему, и тем версии установленных пакетов, пользователь будет извещен
пользователям, кто ощущает дискомфорт, ползая по меню Пара­ об этом. Кроме того, он может осуществить проверку и обновить
метры и Админист­рирование систему самостоятельно.
в поисках нужного инструмен­
та, можно порекомендовать
«Рано или поздно Также в этой категории мож­
но найти пункт, отвечающий
многофунк­циональную утили­
ту Ubuntu Tweak. Вы не найдете
возникает желание за очистку системы. В данном
случае, возможности Ubuntu
эту программу в официальном поменять параметры.» Tweak намного шире и коррект­
репо­зитории, но ее всегда мож­ нее, чем у стандартного пакета
но скачать с сайта разработчика (ubuntu-tweak.com) в виде дво­ Computer Janitor. В каче­стве «мусорных» компонентов последний
ичного пакета, либо просто дописать в файл /etc/apt/sources.list будет предъявлять пользователю установленные вручную про­
строку deb http://ppa.launchpad.net/tualatrix/ubuntu ваша_версия_ граммы, которые либо устарели, либо просто не поддерживаются
Главное окно дистрибутива main. Затем по­надобится обновить источники, пос­ ни в одном из известных системе репозиториев. В случае с Ubuntu
Ubuntu Tweak: ле чего Ubuntu Tweak будет доступен через пакетный менеджер. Tweak такого не происходит. Процесс очистки здесь распределен
слева — категории, Важно также отметить, что Ubuntu Tweak работает не толь­ по нескольким пунктам. Это удаление пакетов, оставшихся в кэше
справа — основные ко с одноименным дистрибутивом, использующим в каче­стве менеджера Synaptic после установки или обновления, удаление
задачи.
«осиротевших» пакетов, оставшихся в системе после деинстал­
ляции программ, очистка от конфигурационных файлов, уже от­
сутствующих в системе приложений, и, наконец, удаление старых
версий ядра, если произошло его обновление. Это будет особенно
полезно владельцам нетбуков с небольшим по объему накопите­
лем, для которых освобождение лишних мегабайт является порой
просто жизненной необходимостью.
Не менее удобен и Редактор источников приложений, кото­
рый предоставляет доступ к конфигурационным файлам, содер­
жащим адреса репозиториев, из которых осуществляется обнов­
ление и загрузка ПО в системе. С помощью Ubuntu Tweak очень
легко устанавливать в систему и ПО третьих сторон. Для этого
можно использовать Центр источников. Он позволяет подклю­
чать в систему новые репозитории буквально одним щелчком;
правда, при этом появляется окно с предупреждением о том, что
использование стороннего ПО может быть небезопасно. Зарегист­
рировавшись на сайте Ubuntu-Tweak.com, можно самому добав­

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
34      LXF132 Июнь 2010
 Ubuntu Tweak

лять новые, в том числе и свои собственные, репозитории. Разу­


меется, это касается прежде всего разработчиков ПО.
Кроме того, Ubuntu Tweak позволяет устанавливать новые про­
граммы. За эту операцию отвечает пункт Центр приложений. Ко­
нечно, он не заменит традиционный Synaptic – список программ
в нем намного меньше; зато здесь собраны самые «сливки»,
то есть наиболее популярные приложения от сторонних разработ­
чиков, для удобства распределенные по категориям.

Управление автозагрузкой
В разделе «Автозагрузка» находятся инструменты, с помощью
которых можно управлять процессами, автоматиче­ски запускаю­
щимися в момент загрузки операционной системы. Каждый про­
цесс снабжен описанием, и вы всегда будете знать, что делаете,
и не отключите что-нибудь жизненно необходимое. Помимо от­
ключения ненужных программ, можно добавлять в автоматиче­
скую загрузку собственные. Также в данном меню вы сможете на­
«Центр
строить окно входа в систему, отключив, к примеру, отображение на, его нужно просто перетащить мышью в окно модуля Ubuntu
приложений»
списка пользователей, если на вашем компьютере работает толь­ Tweak, отвечающего за работу с шаблонами. Ubuntu Tweak
ко один человек, или сменив фон экрана приветствия и даже ло­ делает ставку
готип на нем. Наконец, в данном пункте можно выбрать диспетчер Системные настройки не на количество,
файлов, оконный менеджер и панель, которые вы хотите задейст­ Раздел Система позволяет управлять форматами файлов и при­ а на качество
вовать в системе по умолчанию. вязанными к ним программами. Кроме того, здесь можно ме­ и популярность
программ.
нять целый ряд параметров, относящихся к безопасности, таких
Внешнее убранство как запрет сохранения на диск, быстрое переключение между
Комфортное, удобное и красивое рабочее место оказывает по­ пользователями и т. д. Чтобы поменять эти опции, придется ввес­
ложительное влияние на производительность труда. В составе ти пароль суперпользователя. Отдельно выведены настройки
Ubuntu Tweak имеются инструменты, которые позволяют управ­ Nautilus – изменение размера эскизов, а также включение различ­
лять иконками на рабочем столе, включать или отключать их, ных дополнительных возможностей. Мне, к примеру, очень приго­
а также переименовывать. Если вы любитель красивых эффек­ дилось расширение для Nautilus, отвечающее за открытие любого
тов, то вам прямая дорога к менеджеру Compiz. Его настройками каталога с правами суперпользователя. И последнее, о чем хоте­
вы сможете управлять из отдельного модуля Ubuntu Tweak, а если лось бы упомянуть – это управление питанием, что будет особен­
Compiz и вовсе не установлен, то оттуда же можно подгрузить все но полезно владельцам ноутбуков и нетбуков.
необходимое, причем никаких лишних вопросов Ubuntu Tweak вам
задавать не будет – он просто скачает и установит файлы, а за­ А в чем выгода?
тем отобразит окно настройки. Точно так же можно менять раз­ «Зачем все это? – могут спросить некоторые читатели. – Зачем
личные параметры поведения графиче­ской среды Gnome и окон­ повторять открытие Америки и изобретение велосипеда?». Ко­
ного менеджера, который вы используете. Единственное, чего нечно, разработчики Ubuntu Tweak не открыли ничего нового,
здесь не хватает – это кнопки возвращения настроек, установ­ и все вышеописанное можно осуществить и другими способами.
ленных по умолчанию. Это было бы полезно для особо увлекаю­- Часть из них не уступает по удобству возможностям героя наше­
щихся личностей. го обзора, а для других нужны знания и опыт. Но ведь вряд ли кто-
то будет хранить дома инструменты – гаечные ключи, молотки
Полная оптимизация и отвертки – в разных углах квартиры: большинство людей вос­
В разделе Личные сосредоточены инструменты, отвечающие пользуются специальным ящиком для всего инвентаря. И, как бы
за персонализацию уже не внешнего вида, а внутренней струк­ то ни было, нельзя не согласиться с тем фактом, что разработчи­
туры шаблонов, файлов и папок. К примеру, здесь можно изме­ ки данной утилиты сделали самый популярный дистрибутив еще
нить пути к основным пользовательским каталогам. Допустим, ближе и понятнее для многих неофитов в мире Linux.
необходимо, чтобы видео или загруженные из Интернета файлы
сохранялись не в домашнем каталоге, где может быть не так уж
и много места, а на другом физиче­ском диске, в том числе и съем­
ном. Если последний смонтирован и опознан системой, достаточ­
но просто указать его в каче­стве места сохранения. Перепутать
не страшно, так как в этом случае разработчики предусмотре­
ли возможность отката к значению, установленному по умолча­
нию. Правда, если вы уже сохранили файлы в новом месте, пере­
носить их в домашний каталог придется вручную.
Еще одна полезная возможность, которую Ubuntu Tweak пре­
доставляет для оптимизации вашей работы – это управление сце­
нариями (скриптами). В окне данного модуля вы видите обшир­
ный список скриптов, которые можно подключать или отключать
простым перетаскиванием мышью. Если тот или иной скрипт под­
ключен, он будет доступен в контекстном меню, и вы сможете
им воспользоваться. Наконец, нельзя не отметить работу с шаб­
лонами документов – принцип здесь примерно такой же. Чтобы Здесь можно указать, какие служебные иконки мы хотим видеть на рабочем столе,
сохранить тот или иной документ в каче­стве системного шабло­ а какие — нет.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      35
Linux реального времени 

Живой
звук Сценарий rtirq
Ядро Linux 2.6.33
с rt-патчем

Желаете использовать Linux в студии звукозаписи?


Дмитрий Михирев расскажет, как превратить просто
свободную ОС в свободную ОС реального времени.

Р
абота со звуком – одна из областей, в которых Linux им патчей есть в репозиториях многих двоичных
на высоте. И всё же при необходимости превратить дистрибутивов.
компьютер в импровизированную студию звукозапи­ Потребуется также звуковой сервер, обеспе­
си или микшерный пульт непременно возникает ряд чивающий минимальные задержки, но (при необ-
проблем: вроде всё необходимое ПО имеется, но настроить его ходимости) позволяющий производить даже
так, чтобы оно работало безупречно, непросто. Это даже послу­ многоступенчатую обработку звука. Тут всё очевидно:
жило причиной появления специализированных дистрибутивов этим требованиям удовлетворяет JACK, и никаких серьёз­
Наш Linux, ориентированных на работу со звуком; наиболее известный ных альтернатив ему нет – да и нужны ли они? Поскольку
эксперт из них – 64 Studio (www.64studio.com). И всё же устанавливать от­ в большинстве современных дистрибутивов по умолчанию
Дмитрий дельную ОС под одну-единственную задачу – это слишком расто­ устанавливается PulseAudio, его нужно будет отключить,
Михирев чительно. Давайте лучше разберёмся, как сделать всё необходи­ чтобы он не оттягивал на себя ресурсы.
Достаточно ленив, мое на базе любого уже установленного дистрибутива. Ну и, само собой, потребуется собственно ПО для обра­
чтобы потратить
ботки звука в реальном времени. С этим замечательно справ­
уйму времени
на адаптацию сво­ Зачем это надо? ляются как самостоятельные программы, так и многочисленные
ей системы под Чтобы просто слушать музыку в Linux, никаких особых ухищре­ модули LADSPA и LV2 (LADSPA version 2). JACK позволяет исполь­
конкретную за­ ний не требуется. Необходимость в них возникает при профессио- зовать для последовательной обработки звука практиче­ски лю­
дачу – лишь бы
нальной работе со звуком, когда компьютеру отводится роль то­ бое их число. В большинстве дистрибутивов, установив пакеты
не пришлось ус­
танавливать спе­ го или иного устройства обработки – будь то микшерный пульт, ll-plugins и swh-plugins, вы получите возможность делать со зву­
циализированный гитарный процессор или прос­ ком почти всё, что угодно.
дистрибутив. то записывающее устрой­
ство. Основное требование,
«Чтобы просто слушать С аппаратной частью об­
стоит сложнее: требования
предъявляемое к этой аппара­
туре – отсутствие сколько-ни­
музыку в Linux, ухищ- к ней зависят от конкретных
задач. В любом случае, потре­
будь заметных задержек сигна­ рений не требуется.» буется каче­ственная звуковая
ла. Музыкант должен слышать карта, а если количе­ство вхо­
в мониторах ту ноту, которую он берёт сейчас, а не ту, которую из­ дов на ней мало – придётся раздобыть аппаратный микшерный
влёк из инструмента полсекунды назад. Такие требования обус­ пульт. Если компьютер должен будет заменить ещё и синтезатор,
лавливают неприемлемость сколько-нибудь значительной буфе­ то, разумеется, не обойтись без MIDI-клавиатуры. Впрочем, во­
ризации, а без неё возможно появление «заиканий» звука, что просов выбора оборудования мы в этой статье касаться не будем,
ещё хуже. а вплотную займёмся настройкой программ.
Получается, казалось бы, порочный круг, выбраться из кото­
рого не так-то просто. Однако у любого современного компьюте­ Приступим
ра вполне достаточно вычислительных мощностей для обработки Ну что же, пора перейти от слов к делу. В первую очередь раз­
нескольких аудиопотоков в реальном времени: надо лишь ис­ берёмся с ядром реального времени. Как я уже отмечал, та­
пользовать их оптимальным образом. ковое имеется в репозиториях многих двоичных дистрибу­
тивов. Например, в Mandriva понадобится установить пакет
Как это делается kernel-rt-latest. Пользователям Ubuntu следует установить мета­
Чтобы ничто не мешало обработке звука, надо «все­ пакет linux-rt, а в других дистрибутивах следует поискать пакет,
го лишь» превратить Linux в систему реального вре­ название которого начинается на kernel-rt. Не лишним будет про­
мени. Задача эта непростая, но с ней успешно читать описание пакета: обычно в ядре реального времени при­
справился Инго Мольнар [�������������������������
Ingo���������������������
Molnar��������������
��������������������
], а уже ском­ сутствуют некоторые ограничения. Например, в Mandriva оно
пилированные ядра с наложением написанных не содержит никаких дополнительных патчей, и, как следствие,

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
36      LXF132 Июнь 2010
 Linux реального времени

make menuconfig
В появившемся текстовом диалоге следует пробежаться
по некоторым разделам конфигурационного меню:
В Enable the block layer > IO Schedulers > Default I/O scheduler
нужно выбрать вариант Deadline (см. LXF126/127).
QjackCtl позволяет запускать сервер JACK с нужными В Processor type and features необходимо включить поддержку
параметрами и управлять им, совершенно не задумываясь таймеров высокого разрешения (High Resolution Timer Support)
о ключах командной строки. и установить режим вытеснения (Preemption Mode)
в Complete Preemption (Real-Time), а для частоты прерываний
может не поддерживать некоторое оборудование, нормально ра­ таймера (Timer frequency) указать 1000 Hz.
ботающее со стандартным ядром. В Device Drivers > Character devices активируйте устройства
Но установка пропатченного ядра – это даже ещё не пол­ Enhanced Real Time Clock Support (legacy PC RTC driver) и HPET —
дела. Само по себе оно ничего не изменит, поэтому потребует­ High Precision Event Timer, а затем переместитесь в ветку Sound
ся также скрипт rtirq, повышающий приоритет потоков (threads), card support > Advanced Linux Sound Architecture и��������������
включите����
оп­
���
которые обрабатывают прерывания, назначенные аудиоустрой­ ции RTC Timer support и Use RTC as default sequencer timer.
ствам. Этот скрипт существует в двух вариантах: в виде обычного Наконец, отключите отладку ядра в Kernel hacking > Kernel
исполняемого файла, который можно запустить вручную, и в ви­ debugging: в нашем случае это пустая трата ресурсов.
де init-сценария, выполняющегося при загрузке системы. Именно Далее собираем и устанавливаем ядро обычным путём:
второй вариант нам и понадобится. В Ubuntu он уже имеется в ре­ make && make modules_install
позиториях под именем rtirq-init, а пользователи других дистри­ cp arch/i386/boot/bzImage /boot/kernel-2.6.33.1-rt11
бутивов могут найти его на прилагающемся к журналу диске. cp System.map /boot/System.map-2.6.33.1-rt11
Ну и, разумеется, надо установить JACK. В дополнение к не­ после чего настраиваем загрузчик – в зависимости от того, ка­
му не лишним будет QjackCtl – если, конечно, вы не фанат консоли кой установлен. В двоичных дистрибутивах более «правильным»
и не предпочитаете запускать JACK с помощью собственно­- путём будет сборка и последующая установка пакета с ядром,
ручно написанного скрипта. но это уже выходит за рамки данной статьи.
Прежде чем перезагрузиться и задействовать, наконец, ядро
реального времени, нужно обеспечить себе возможность повыше­ Реальное время пошло
ния приоритета процессов: с настройками по умолчанию система Вот теперь можно перезагружаться и проверять работоспособ­
может этого не позволить. Первым делом следует убедиться, что ность RT-ядра. Если загрузка прошла успешно, надо запустить
пользователь, от имени которого будет запускаться JACK, состо­ rtirq – пока сделаем это вручную, выполнив от имени суперполь­
ит в группе audio, и если это не так – добавить его туда. Затем чле­ зователя команду
нам этой группы надо разрешить повышение приоритета реально­ /etc/rc.d/init.d/rtirq start
го времени до 99, а также увеличить лимит блокирования памяти, В отчёте можно будет наблюдать примерно такую картину:
отредактировав файл /etc/security/limits.conf (в некоторых дист­ Setting IRQ priorities: start [rtc] irq=8 pid=1282 prio=90: OK.
рибутивах – /etc/limits.conf). Нужно найти строку вроде этой: Setting IRQ priorities: start [HDA NVidia] irq=22 pid=1966 prio=85:
@audio - rtprio 50 OK.
и исправить её на Setting IRQ priorities: start [E-mu 0404b PCI [MAEM8852] (rev.0,
@audio - rtprio 99 serial:0x40021102)] irq=19 pid=1945 prio=84: OK.
Кроме того, добавьте строку Setting IRQ priorities: start [ohci_hcd] irq=22 pid=954 prio=80:
@audio - memlock 1048576 OK.
Число здесь – ограничение памяти в килобайтах; следует отдать Setting IRQ priorities: start [ehci_hcd] irq=23 pid=951 prio=80:
столько, сколько не жалко. OK.

Сделай сам
К сожалению, готовое ядро реального времени имеется
не во всех дистрибутивах. Если это про вас, то его придется со­
бирать самостоятельно. Понадобится только исходники ядра
(с kernel.org) и патч для той же версии ядра, который можно най­
ти по адресу http://www.kernel.org/pub/linux/kernel/projects/rt/.
(Пользователи Gentoo могут просто установить пакет rt-sources
с уже пропатченным ядром.)
Архив с патчем надлежит поместить в директорию с исходни­
ками ядра и затем наложить командой
bzcat ../patch-2.6.23.1-rt11.bz2 | patch -p1
Это, конечно, ещё меньше, чем полдела. Далее ядро нужно
правильно сконфигурировать. Если в данный момент запущено
ядро той же версии, что собираете вы (с точностью до числа после
второй точки), можно облегчить себе задачу, используя его кон­
фигурационный файл. Извлечём его –
zcat /proc/config.gz > .config
и применим команду
make oldconfig
На все выводимые ею вопросы ответить можно отрицатель­
но. Важные для работы в режиме реального времени параметры Все параметры запуска JACK можно настроить с помощью QjackCtl: он даже покажет
установим потом, при посредстве время задержки звука.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      37
Linux реального времени 

Здесь показана та же схема подключения, но в представлении


В Patchage все соединения показаны очень наглядно. Можно подключить ещё немало QjackCtl. Понять что-либо невозможно, а ведь неплохо бы добавить
программ, и всё равно разобраться в том, что делается со звуком, удастся без труда. по крайней мере обработку вокала и программу записи...

Setting IRQ priorities: start [i8042] irq=1 pid=920 prio=75: OK. пользовать такое низкое значение). Как правило, с числом выбо­
Если тут всё в порядке, то с чистой совестью добавим сцена­ рок 128 проблем не бывает.
рий на уровень запуска по умолчанию. Как правило, это уровень 5,
но не помешает всё же проверить: З-заикаемся-с?
grep :initdefault: /etc/inittab В некоторых случаях добиться каче­ственного звука путём на­
Если в выводе будет стройки JACK не удаётся: он всё равно хрипит, а в выводе серве­
id:5:initdefault: ра появляются сообщения вида
значит, используется 5-й уровень. Выполняем от имени супер­ 18:05:27.832 XRUN callback (1).
пользователя команду Это означает, что, скорее всего, звуковая карта настроена не
chkconfig --add rtirq --level 5 оптимальным образом. Следует проверить, не используется ли на­
Теперь всё готово для запуска JACK, и можно, наконец, его значенное ей прерывание заодно ещё каким-нибудь устройством:
опробовать. На первый раз достаточно запустить QjackCtl и на­ cat /proc/interrupts
жать на кнопку загрузки сервера. Если сервер запустился успеш­ Если прерывание назначено только звуковой карте, как в этом
но и индикатор RT мигает, то всё в порядке. Для проверки подой­ примере
дёт любой аудиопроигрыватель с возможностью вывода через 19: 194541 841686 IO-APIC-fasteoi EMU10K1
JACK. Наслушавшись музыки, остановим сервер и перейдём к его то всё в порядке, а вот если оно используется чем-то ещё, как
более тонкой настройке. здесь –
Если при запуске JACK вы не увидели индикатора «RT», значит, 22: 317650 220908 IO-APIC-fasteoi ohci_hcd:usb2, HDA
сервер выполнялся не в режиме реального времени. Включить Intel
его можно в окне настройки QjackCtl. Здесь также находятся па­ то надо исправлять ситуацию.
раметры, определяющие величину задержки сигнала. Это часто­ Возможных решений два. Первое – простое, но подойдёт
та дискретизации, число выборок (фреймов) в буфере и число пе­ не для всех компьютеров: нужно вручную назначить IRQ для ау­
риодов на буфер. Если точнее, то задержка равна произведению диокарты в настройках BIOS. К сожалению, сделать это можно
числа выборок на число перио­ только на немногих материн­
дов, делённому на частоту дис­
кретизации. Тянуться за каль­
«Число выборок в бу- ских платах. Второе решение
потребует взять в руки от-
кулятором не надо: QjackCtl
сам вычисляет эту величину
фере следует подби- вёртку: если назначить IRQ
напрямую нельзя, следует
для облегчения настройки. рать эмпирически.» просто переставить карту
Какую частоту дискрети­ в другой слот. После этого
зации выбрать – решайте сами, исходя из возможностей звуко­ нужно загрузить систему и вновь проверить список прерываний,
вой карты и ваших запросов. В большинстве случаев подойдут назначенных устройствам.
стандартные 48 000 Гц, хотя в случае, если запись производится Даже назначение уникального IRQ не всегда помогает добить­
в расчёте на будущую обработку, иногда имеет смысл выставить ся успеха. Дело в том, что аудиокарта – не единственное устрой­
96 000 Гц, а то и 192 000 Гц. Не стоит только забывать, что уве­ ство на шине PCI, и передача данных прочей периферии влияет
личение этого значения увеличивает затраты на обработку звука, на ее работу. Для регулирования этого процесса для каждого ус­
что также может стать причиной заиканий и хрипов (xruns). тройства устанавливается таймер задержки. Он определяет, ка­
Число периодов на буфер почти всегда можно ис­ кое время после окончания передачи устройство продолжает
пользовать равное 2; только в случае с USB-аудио- занимать шину. Соответственно, при работе со звуком оптималь­
картами рекомендуют выставить значение 3. ным является вариант, когда задержка для звуковой карты мак­
А вот число выборок в буфере следует подбирать симальна, а для прочих устройств – минимальна. По умолчанию
эмпириче­ски, уменьшая до тех пор, пока не появят­ это не всегда так; для проверки следует изучить вывод команды
ся помехи (или пока аудиодрайвер не откажется ис­ lspci -v

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
38      LXF132 Июнь 2010
 Linux реального времени

Вот пример настроек аудиокарты моего компьютера: Микшер


01:07.0 Multimedia audio controller: Creative Labs SB0400 должен быть
Audigy2 Value простым и легко
управляемым,
Subsystem: Creative Labs Device 4002
и jack_mixer этим
Flags: bus master, medium devsel, latency 64, IRQ 19 требованиям
I/O ports at dc00 [size=64] вполне
Capabilities: [dc] Power Management version 2 удовлетворяет.
Kernel driver in use: EMU10K1_Audigy
Kernel modules: snd-emu10k1
Слова «latency 64» в третьей строке означают, что значение
таймера задержки установлено в 64. Для прочих устройств оно
равно 0, и проблем при этом не наблюдается. Изменить эти значе­
ния можно, выполнив от имени суперпользователя команду
setpci -v -s *:* latency_timer=0
Это установит задержки для всех устройств в 0. Увеличить же за­
держку для аудиокарты можно командой
setpci -v -s 01:07.0 latency_timer=40
Число здесь вводится в шестнадцатеричной системе, то есть
40 соответствует 64 в десятичной системе. Адрес устройства
(в данном примере 01:07.0), конечно, нужно заменить на ваш,
из вывода lspci -v.
Приведённые здесь числа указаны только для примера. В каж­ ло в LXF105, и вы можете найти статью на вики Linux Format
дом случае величины таймера задержки следует подбирать инди­ по адресу: http://bit.ly/bg8N0C.
видуально (в диапазоне от 0 до 255), общее правило заключается Гитаристам должен понравиться виртуальный гитарный про­
лишь в том, что для аудиокарты оно должно быть самым высо­ цессор Rackarrack: он сочетает до десяти эффектов в любой по­
ким. Когда подходящие значения будут подобраны, их можно ус­ следовательности, имеет 80 общих пресетов и по несколько пре­
тановить в BIOS, чтобы не писать скрипт для изменения настроек сетов для каждого эффекта. Впрочем, пригодится он не только
после каждой перезагрузки. для гитары: в нём есть и эффекты общего назначения.
В начале статьи упоминалось о многочисленных модулях
Микшерный пульт LADSPA, позволяющих вытворять со звуком практиче­ски всё что
Помимо малой задержки звука, основное преимущество, кото­ угодно. Самый простой способ задействовать любые из них – вос­
рое даёт JACK – это возможность легко соединять программы для пользоваться JACK Rack. Эта программа служит для подключения
аудиообработки, точно так же, как аппаратные устройства соеди­ неограниченного числа модулей (ладно, не будем привирать – оно
няются последовательно кабелями. Делать это можно и в QjackCtl, ограничено числом портов JACK) и их настройки.
и непосредственно во многих клиентах JACK. Самое сложное Ну и, конечно, никак не обойтись без микшера. Тут выбор до­
тут – не запутаться в виртуальных «проводах», поэтому для под- вольно широк; например, можно установить jack_mixer. Любое
ключения лучше всего пользоваться программой Patchage. число моно- и стереовходов и выходов, отдельный выход на мо­
В ней всё выглядит наиболее наглядно. ниторы – что ещё надо для счастья?
Какое ПО понадобится для обработки звука, зависит от кон­
кретной ситуации. Однако есть джентльменский набор программ, Проблемы с программами
держать которые на компьютере стоит всегда. В первую оче­ Не все программы для обработки звука ведут себя в связке
редь это JAMin, сочетающая в себе компрессор и эквалайзер с JACK одинаково хорошо: связь с ними может «теряться», а са­
(аж 1023‑полосный!). Подключение его на выходе сигнала бу­ ми они – служить причиной хрипов, при том, что сервер работа­
дет очень полезным. Работу с JAMin освещал на страницах LXF ет нормально.
создатель 64 Studio��������������������������������������
��������������������������������������������
Дэниел Джеймс [����������������������
Daniel����������������
���������������
James����������
]. Это бы­ Причиной «потери» программы сервером может быть слиш­
ком малый тайм-аут соединения, установленный по умолча­
нию. При возникновении проблем следует увеличить это зна­
чение в настройках QjackCtl – например, до 1000 мс или, для
верности, 2000 мс. Как правило, этого достаточно, чтобы подоб­
ное не повторялось, но от проблемы с хрипами не избавляет.
Бороться с последними можно путём запуска программ с вы­
соким приоритетом. Тут, однако, следует быть весьма осторож­
ным: если программа работает нестабильно, это может приво­
дить к зависаниям всей системы. Даже в случае со стабильными
программами перестараться – значит, навредить: приоритет, бо­
лее высокий, чем у JACK или потоков, работающих с прерыва­
ниями аудиоустройств, скорее всего, только ухудшит ситуа­
цию. Приоритет 51 – это вполне разумное значение.
Чтобы запустить программу, например JAMin,
с повышенным приоритетом, следует выполнить
команду
chrt 51 jamin
10 эффектов Rackarrack удовлетворят запросы большинства В результате количество xrun’ов заметно умень­
гитаристов, хотя большая их часть — от эквалайзера шается, либо они пропадают вовсе – правда, на­
до ревербератора — будут полезны и прочим музыкантам. грузка на процессор существенно возрастёт.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      39
Linux и ARM 

ARM
Мно­го­чис­лен­ные ис­точ­ни­ки ут­вер­жда­ют,
что с вы­хо­дом не­тбу­ков на ба­зе ARM
по­зи­ции Windows по­шат­нут­ся.
Ан­д­рей Бо­ров­ский раз­би­ра­ет­ся, по­че­му.

М
ир вы­со­ких тех­но­ло­гий на­по­ми­на­ет Се­вер­ную нение про­из­во­ди­тель­но­сти про­цес­со­ров Cortex-A9 и Intel Atom:
Аме­ри­к у на­ча­ла XIX ве­ка: по­ми­мо хо­ро­шо об­жи­ ре­зуль­та­ты бы­ли со­поста­ви­мы, а часто­та ра­бо­ты ARM9 – мень­ше
тых тер­ри­то­рий, где ци­ви­ли­за­ция уже при­ня­ла в три раза. В то вре­мя как по­яв­ление ка­ж ­до­го но­во­го про­цес­со­ра
усто­яв­шие­ся фор­мы, есть Ди­кий За­пад, ко­то­рый Intel со­про­во­ж ­да­ет из­ряд­ная шу­ми­ха, про­цес­со­ры ARM ти­хо де­
по-прежнему ну­ж ­да­ет­ся в про­водниках, ис­сле­до­ва­те­лях и от­важ­ ла­ют свое доб­рое де­ло, и вы, ско­рее все­го, уже поль­зуе­тесь ими,
ных аван­тю­ри­стах. Мо­биль­ные уст­рой­ства – один из сравнитель­ да­же не по­доз­ре­вая об этом. Мар­шру­ти­за­то­ры Marvell и смарт­
но но­вых и все еще ма­лоосво­ен­ных угол­ков ИТ-ми­ра. Кар­ман­ные фо­ны Nokia, Google Nexus One и IP-те­ле­фон Snom-100 ба­зи­ру­ют­ся
Наш те­ле­фо­ны и ком­пь­ю­те­ры нель­ на ARM и Linux.
эксперт
Ан­д­рей
зя на­звать но­вин­кой, но в по­
следние несколь­ко лет поя­ви­
«Разработчики ARM Эта ста­тья за­д у­ма­на как
ту­ри­сти­че­ский пу­те­во­ди­тель
Бо­ров­ский
про­вел этот ме­сяц,
лись уст­рой­ства, со­че­таю­щие
в се­бе мощь ПК на­ча­ла это­го
могли позволить себе по стране мо­биль­но­го ARM:
мы сде­ла­ем об­зор от­кры­то­го
пы­та­ясь най­ти спо­
соб им­пор­ти­ро­вать
ве­ка, ши­ро­ко­по­лосные ка­на­ простой RISC-дизайн.» ПО, по­пу­ляр­но­го обо­ру­до­вания
Iyonix PC на тер­ри­ лы пе­ре­да­чи дан­ных и мо­биль­ и средств раз­ра­бот­ки. Linux
то­рию Рос­сий­ской ность со­то­во­го те­ле­фо­на. В этой свя­зи нель­зя не от­ме­тить уди­ и его ин­ст­ру­мен­ты обыч­но кросс-плат­фор­мен­ны, и про­из­во­ди­
Фе­де­ра­ции. ви­тель­ную гиб­кость Linux. Кто бы мог пред­ста­вить, что ОС, корни те­ли мо­биль­ной техники по­лу­ча­ют це­лую эко­си­сте­му про­грамм
ко­то­рой ле­жат в ми­ре боль­ших мно­го­поль­зо­ва­тель­ских ма­шин, и ути­лит да­ром. Тем не менее, соз­дание при­ло­жений для мо­
так хо­ро­шо по­дой­дет для кар­ман­ных ком­пь­ю­те­ров? биль­ных уст­ройств обладает своей спе­ци­фи­кой, осо­бен­но когда
Мо­биль­ные уст­рой­ства да­ро­ва­ли вто­рую жизнь и про­цес­со­ систе­ма раз­ра­бот­чи­ка и це­ле­вая систе­ма ис­поль­зу­ют раз­ные ар­
рам се­мей­ства ARM, о ко­то­рых в по­следнее вре­мя трез­во­нят все хи­тек­т у­ры.
СМИ. Их глав­ное пре­иму­ще­ство пе­ред Intel – спо­соб­ность по­ка­зы­
вать вы­со­к ую про­из­во­ди­тель­ность при низ­кой так­то­вой часто­те Исто­рия ге­роя
(а зна­чит, и энер­го­по­треб­лении). Не так дав­но ком­пания ARM рас­ Судь­ба – иронич­ная шту­ка. Се­мей­ство Intel x86 ве­дет свой род
про­странила ви­део­ро­лик, в ко­то­ром про­де­мон­ст­ри­ро­ва­ла срав­ от про­цес­со­ров, ко­то­рые пред­на­зна­ча­лись для мик­ро­кон­трол­ле­
ров, а ARM из­на­чаль­но за­д у­мы­вал­ся как ЦП для пер­со­наль­ных
на­столь­ных ком­пь­ю­те­ров (и да­же «ра­бо­тал по спе­ци­а ль­но­сти»
Что та­кое RISC? в ПК се­рии Acorn Archimedes и ее немно­го­чис­лен­ных кло­нах) –
но увы, к мо­мен­т у вы­хо­да пер­во­го ARM (1985 год) ли­дер в ми­ре
ПК уже оп­ре­де­лил­ся. И хо­тя ARM1 – на­стоя­щий 32‑бит­ный про­
Ран­ние мик­ро­про­цес­со­ры бы­ли ори­ен­ти­ро­ва­ны на раз­ра­бот­к у про­
грамм на язы­ке ас­семб­ле­ра (или да­же в ма­шин­ных ко­дах). Для них цес­сор с так­то­вой часто­той 8 Мгц – мог по­ме­рять­ся си­ла­ми с тог­
бы­ло ха­рак­тер­но на­ли­чие боль­шо­го чис­ла ин­ст­рук­ций, вы­пол­няю­щих дашним фа­во­ри­том, 80286 (80386 поя­вил­ся в том же 1985 го­д у,
слож­ные опе­ра­ции. По­сколь­к у ре­ги­ст­ры в пря­мом смыс­ле стои­ли до­ но на ры­нок ПК вы­шел зна­чи­тель­но поз­же), в дальней­шем ARM’ам
ро­го, их бы­ло не­мно­го, а опе­ран­ды прак­ти­че­ски всех ко­манд мог­ли при­шлось осваи­вать уст­рой­ства по­скромнее.
по­сту­пать как из ре­ги­ст­ров, так и из ОЗУ.
По ме­ре раз­ви­тия ком­пи­ля­то­ров и дру­гих тех­но­ло­гий раз­ра­бот­чи­
Одним из пре­иму­ществ ARM пе­ред кон­к у­рен­та­ми бы­ло то, что
кам ста­ло оче­вид­но, что бо­лее эф­фек­тив­на дру­гая ар­хи­тек­т у­ра – со их соз­да­те­ли мог­ли на­чать жизнь с чисто­го листа. Ес­ли ин­женерам
срав­ни­тель­но не­боль­шим чис­лом ин­ст­рук­ций и с боль­шим объ­е­мом Intel при­хо­ди­лось ре­шать про­бле­мы об­рат­ной со­вмести­мо­сти,
ре­ги­ст­ро­во­го фай­ла. Она по­лу­чи­ла на­зва­ние �����������������������
RISC�������������������
– Reduced���������
����������������
Instruc­
�������� раз­ра­бот­чи­ки ARM мог­ли по­зво­лить се­бе про­стой и эле­гант­ный
tion Set Computer (Ком­пь­ю­тер с со­кра­щен­ным на­бо­ром ко­манд), а
RISC-ди­зайн. Муд­рые ре­шения принес­ли достой­ные пло­ды: ес­ли
преж­няя ар­хи­тек­т у­ра бы­ла на­зва­на ����������������������������������
CISC������������������������������
(����������������������������
Complete��������������������
�������������������
Instuction���������
��������
Set�����
����
Com­
puter). Прак­ти­че­ски все со­вре­мен­ные про­цес­со­ры (за ис­к лю­че­ни­ем в сег­мен­те ПК ARM не по­вез­ло, то в дру­гих об­ластях, где тре­бо­
Intel) от­но­сят­ся к ар­хи­тек­т у­ре RISC. ва­лись про­из­во­ди­тель­ные и эко­но­мич­ные про­цес­со­ры, эта ар­хи­
тек­т у­ра ока­за­лась чрез­вы­чай­но по­пу­ляр­ной. Счи­та­ет­ся, что чи­пов

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
40      LXF132 Июнь 2010
 Linux и ARM

ARM бы­ло про­из­ве­де­но боль­ше, чем лю­бых дру­гих. Как и ран­няя


Intel, ком­пания ARM не стре­ми­лась мо­но­по­ли­зи­ро­вать про­из­вод­ ARM: Осо­бен­но­сти ар­хи­тек­ту­ры
ство про­цес­со­ров сво­ей ар­хи­тек­т у­ры, так что боль­шая их часть
из­го­тов­ле­на за пре­де­ла­ми ARM. Сре­ди ли­цен­зиа­тов от­ме­ти­лись Как и по­ло­же­но RISC-сис­те­ме, ARM об­ла­да­ет когда со­стоя­ние фла­гов, ус­та­нов­лен­ных по­
Apple, Broadcom, ле­ген­дар­ная Digital Equipment Corporation и са­ рас­ши­рен­ным на­бо­ром ре­ги­ст­ров. Все­го их 17, след­ней опе­ра­ци­ей срав­не­ния, от­веча­ет ус­ло­
ма Intel с XScale. при­чем 13 из них яв­ля­ют­ся ре­ги­ст­ра­ми об­ще­го вию пре­фик­са. При гра­мот­ном ис­поль­зо­ва­нии
на­зна­че­ния (т.е. мо­г ут ис­поль­зо­вать­ся по ус­ это серьез­но по­вы­ша­ет про­из­во­ди­тель­ность.
Неуди­ви­тель­но, что при та­ком мно­го­об­ра­зии про­из­во­ди­те­лей
мот­ре­нию про­грам­ми­ста). Ис­то­рию раз­ви­тия Intel мож­но опи­сать как
исто­рия по­ко­лений ARM вы­гля­дит немно­го за­пу­тан­ной. По­ми­ Ад­рес воз­вра­та из про­це­д у­ры со­хра­ня­ет­ пе­ре­ход 8-16-32-64 би­та, а у ARM на­блю­д а­
мо на­званий са­мих про­цес­со­ров (ARM1, ARM7TDMI, ARM11, ARM ся не в сте­ке, а в спе­ци­а ль­ном ре­ги­ст­ре. Это лось об­рат­ное дви­же­ние: из­на­чаль­но 32-бит­
Cortex), в техниче­ских спе­ци­фи­ка­ци­ях при­ня­то ука­зы­вать вер­сию по­зво­ля­ет реа­ли­зо­вать над ним весь­ма эле­ ны­е (кста­ти, при этом все ин­ст­рук­ции оди­на­
ар­хи­тек­т у­ры (на­при­мер, ARMv1, ARMv4T, ARMv7). гант­ные опе­ра­ции, но нуж­но пом­нить, что вло­ ко­вы по дли­не – 4 бай­та), дан­ные про­цес­со­ры
жен­ных вы­зо­вов про­це­д ур бывает мно­го, а ре­ об­за­ве­лись добавоч­ным 16-бит­ным ре­жи­мом,
Со­вре­мен­ная исто­рия ARM на­чи­на­ет­ся с ар­хи­тек­т у­ры ARMv4.
гистр воз­вра­та – толь­ко один. Пе­ред вы­зо­вом с це­лью по­вы­сить ком­пакт­ность ко­д а и бы­ст­ро-
В ней был впер­вые реа­ли­зо­ван блок управ­ления па­мя­тью, что оче­ред­ной про­це­д у­ры его со­дер­жи­мое нуж­но ­дей­ст­вие на 16-бит­ных ши­нах. Ре­ги­ст­ры про­
по­зво­ли­ло за­пускать со­вре­мен­ные ОС, в том чис­ле Linux. На­до где-то со­хра­нять (а за­тем – вос­ста­нав­ливать). цес­со­ра ос­та­ют­ся 32-бит­ны­ми, но не все они
за­ме­тить, что да­ле­ко не все об­ласти при­менения ARM тре­бу­ют Боль­шая часть ин­ст­рук­ций ARM включает дос­т уп­ны так же сво­бод­но, как в 32-бит­ном ре­
пре­фик­с ус­лов­но­го вы­пол­не­ния, по­зво­ляю­ жи­ме. По­ря­док бай­тов про­цес­со­ра в ARM мо­
за­щи­ты па­мя­ти и мно­го­за­дач­но­сти, по­это­му раз­ра­бот­ка и вы­
щий ор­га­ни­зо­вать ветв­ле­ние без опе­ра­ций жет быть как пря­мым (little-endian), так и об­
пуск про­цес­со­ров без бло­ка управ­ления па­мя­тью про­дол­жа­ют­ся пе­ре­хо­да. Ко­ман­да вы­пол­ня­ет­ся лишь тогда, рат­ным (big-endian).
и в на­ше вре­мя.
Ар­хи­тек­т у­ра ARMv4 и но­вей­шая ARMv7 раз­ли­чаются весь­
ма зна­чи­тель­но. Ес­ли в пер­вой от­сут­ство­ва­ла опе­ра­ция це­ло­чис­ HTC. Мы же рас­смот­рим две систе­мы, ори­ен­ти­ро­ван­ные сра­зу
лен­но­го де­ления (не го­во­ря уже о де­лении с пла­ваю­щей точ­кой), на несколь­ко уст­ройств (они так­же мо­г ут слу­жить осно­вой для
то в но­вых ре­дак­ци­ях пре­ду­смот­ре­ны коман­ды, пред­на­зна­чен­ дальней­ших раз­ра­бо­ток).
ные для уско­рения об­ра­бот­ки муль­ти­ме­диа-дан­ных (ана­лог на­бо­
ров Intel SSE), что, ве­ро­ят­но, на­ру­ша­ет прин­ци­пы идео­ло­гии RISC ARM Linux Internet Platform (linux.onarm.com)
(см. врез­к у), но спо­соб­ству­ет рас­про­странению про­цес­со­ров ARM Дан­ный про­д укт соз­да­ет­ся груп­пой за­ин­те­ре­со­ван­ных ком­
на со­вре­мен­ных мо­биль­ных уст­рой­ствах. Пол­ное опи­сание по­ко­ паний спе­ци­а ль­но для мо­биль­ных уст­ройств. ARM Linux Internet
лений ARM (как и дру­гие по­лез­ные све­дения) вы най­де­те в книге Platform – это сво­его ро­да Moblin (про­сти­те, MeeGo) для ARM.
«ARM System Developer’s Guide» (ISBN 1‑55860‑874‑5), вы­пу­щен­ной Ло­ги­че­ски систе­ма раз­де­ля­ет­ся на три уров­ня. Са­мый нижний –
Elsevier (см. http://books.google.com/books?id=vdk4ZGRqMskC). Linux Board Support Package – вклю­ча­ет яд­ро с драй­ве­ра­ми, стан­
дарт­ные биб­лио­те­ки C, оп­ти­ми­зи­ро­ван­ные под кон­крет­ную мо­
Linux на мо­биль­ном ARM дель про­цес­со­ра, и сред­ства на­строй­ки обо­ру­до­вания. По­верх не­
Ди­ст­ри­бу­ти­вов Linux для ARM су­ще­ству­ет нема­ло: прак­ти­че­ го реа­ли­зо­ва­на об­щая Linux-плат­фор­ма (Linux Generic Platform),
ски у ка­ж ­до­го раз­ра­бот­чи­ка мо­биль­ных уст­ройств с под­держ­ вклю­чающая ши­ну D-Bus, слой аб­ст­рак­ции HAL от FreeDesktop.org,
кой Linux есть соб­ствен­ный ва­ри­ант, не счи­тая инициа­тив со­об­ вир­т у­а ль­ную фай­ло­вую систе­му GnomeVFS, X-сер­вер, менед­жер
ще­ства: на­при­мер, пор­ти­ро­вания Linux на Windows-смарт­фо­ны се­тей NetworkManager и мно­гое дру­гое. На са­мом верхнем уров­
не реа­ли­зо­ван па­кет при­ло­жений (Application Suite), со­дер­жа­щий
ком­понен­ты гра­фи­че­ско­го ин­тер­фей­са поль­зо­ва­те­ля, дви­жок
для про­смот­ра web-страниц, муль­ти­ме­диа. В ка­че­стве окон­­но­го
менед­же­ра ис­поль­зу­ет­ся Matchbox, из­вест­ный поль­зо­ва­те­лям
Linux-уст­ройств Openmoko Neo 1973 и Nokia 770.
Для раз­ра­бот­ки при­ло­жений мож­но при­ме­нять осно­ван­ный
на GCC ин­ст­ру­мен­та­рий Scratchbox (www.scratchbox.org), от­ли­чи­
тель­ной чер­той ко­то­ро­го яв­ля­ет­ся воз­мож­ность не толь­ко ском­
пи­ли­ро­вать про­грам­му для ARM на плат­фор­ме x86, но и сра­зу же
за­пустить ее на вы­полнение в Qemu (под­роб­но­сти ниже).
В на­стоя­щее вре­мя на осно­ве Linux Internet Platform реа­ли­зо­
ва­но несколь­ко го­то­вых систем. Это ба­зо­вая плат­фор­ма (Generic
Platform), за­д у­ман­ная, как нетруд­но до­га­дать­ся, для по­сле­д ую­щей
спе­циа­ли­за­ции. По умол­чанию она ори­ен­ти­ро­ва­на на ар­хи­тек­т у­ру
ARMv5T и не со­дер­жит средств ра­бо­ты со спе­циа­ли­зи­ро­ван-
ны­ми уст­рой­ства­ми. В па­кет при­ло­жений ба­зо­вой плат­фор­мы
вхо­д ят миниа­тюр­ный ра­бо­чий стол Matchbox2 (и гра­фи­че­
ская биб­лио­те­ка Cairo), брау­зер Nitehawk и муль­ти­ме­диа-плей­ер
на осно­ве GStreamer. На сай­те про­ек­та мож­но най­ти ин­ст­рук­ции
по сбор­ке Generic Platform для Qemu.
Плат­фор­ма n8x0 пред­на­зна­че­на для план­ше­тов Nokia
N770/N8x0. Mistral OMAP35x EVM – систе­ма для плат OMAP35x
EVM, Beagle board – Linux для плат Beagleboard. S3c64xx – плат­
фор­ма для пла­ты Samsung SMDK6400 и ее род­ственников.
Zoom2 – Linux-плат­фор­ма для очень ин­те­рес­но­го уст­рой­ства
Texas Instruments Zoom II.

Ångström (www.angstrom-distribution.org)
Ви­де­ли ли вы когда-нибудь мо­биль­ное уст­рой­ство с чистым кон­
Так вы­гля­дит ARM Linux Internet Platform.
соль­ным ин­тер­фей­сом? Ди­ст­ри­бу­тив Ångström пре­доста­вит вам

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      41
Linux и ARM 

MS DOS. Как это ни уди­ви­тель­но, RISC OS до сих пор раз­ра­ба­ты­


ва­ет­ся несколь­ки­ми ком­пания­ми, в том чис­ле Castle Technology.
Это од­но­поль­зо­ва­тель­ская систе­ма с крайне сла­бы­ми сред­ства­
ми за­щи­ты про­грамм друг от дру­га. У нее есть несколь­ко гра­фи-
­че­ских обо­ло­чек, вы­полнен­ных на уровне кон­ца 90‑х, и на­бор
при­ло­жений то­го же уров­ня.
Хо­тя на­стоя­щий Linux мо­жет ра­бо­тать толь­ко на про­цес-
­со­рах с ап­па­рат­ной за­щи­той па­мя­ти, для чи­пов, ли­шен­ных этой
роско­ши, су­ще­ству­ет своя Linux-по­доб­ная ОС – uClinux (www.
uclinux.org), из­на­чаль­но ба­зи­рую­щая­ся на ис­ход­ных тек­стах яд­ра
Linux 2.0. В от­ли­чие от RISC OS, uClinux не ори­ен­ти­ро­ва­на спе­ци­
аль­но на про­цес­со­ры ARM и под­дер­жи­ва­ет мно­же­ство дру­гих
ар­хи­тек­т ур.
uClinux сде­ла­на мак­си­маль­но по­хо­жей на Linux, но из-за прин­
ци­пи­а ль­ной разницы в ис­поль­зуе­мом обо­ру­до­вании ме­ж ­д у эти­ми
ОС су­ще­ству­ют неко­то­рые от­ли­чия. В uClinux от­сут­ству­ет за­щи­
та па­мя­ти, так что лю­бой про­цесс мо­жет «за­ва­лить» всю систе­му.
Все про­цес­сы вы­пол­ня­ют­ся в об­щем ад­рес­ном про­стран­стве, и нет
систем­но­го вы­зо­ва fork() – есть толь­ко функ­ция vfork(), ко­то­рая
по­хо­жа, но не иден­тич­на од­но­имен­ной в Linux. По­сколь­к у ста­рый
и но­вый про­цес­сы раз­де­ля­ют ад­рес­ное про­стран­ство, по­пыт­ка
вы­пол­нять их од­но­вре­мен­но мо­жет при­вести к ошиб­кам. В uClinux
Гра­фи­че­ский ра­
та­к ую воз­мож­ность. Его на­звание на­ме­ка­ет на неболь­шие раз­ме­ вы­полнение про­цес­са-ро­ди­те­ля, вы­звав­ше­го vfork(), приоста­нав­
бо­чий стол RISC OS.
Где же вы, ре­бя­та, ры и скром­ные тре­бо­вания. По сло­вам раз­ра­бот­чи­ков, Ångström ли­ва­ет­ся до тех пор, по­ка не за­вер­шит­ся до­черний про­цесс. Вме­
бы­ли в 95-м го­ду? мож­но за­пустить на уст­рой­стве с 4 МБ флэш-па­мя­ти, а в бу­д у­ сто клас­си­че­ской функ­ции malloc() в uClinux ис­поль­зу­ет­ся вы­зов
щем, ут­вер­ж да­ют они, систе­ма смо­жет ра­бо­тать и на тосте­ре. mmap() (биб­лио­те­ка uClibc – ана­лог libc – в це­лях по­вы­шения со­
По­ми­мо кон­соль­но­го ин­тер­фей­са, Ångström под­дер­жи­ва­ет вмести­мо­сти реа­ли­зу­ет malloc() как оберт­к у во­круг mmap()).
гра­фи­че­скую обо­лоч­к у GPE Palmtop Environment и «на­стоя­щий»
X11. По­став­ляе­мый в систе­ме на­бор шриф­тов под­дер­жи­ва­ет ки­ ARM на ва­шем ПК
рил­ли­цу, ла­тиницу и ив­рит. В пла­нах раз­ра­бот­чи­ков – пор­ти­ро­ Пе­ре­хо­д я от про­грамм­ной части на­ше­го экскур­са к ап­па­рат­ной,
вание Qtopia. Спи­сок под­дер­жи­вае­мой ап­па­ра­т у­ры вклю­ча­ет раз­ нель­зя не упо­мя­нуть Qemu, вир­т у­а ль­ную ма­ши­ну, спо­соб­ную
лич­ные мо­де­ли Sharp Zaurus, HP iPaq, Nokia 770, HTC Universal эму­ли­ро­вать про­цес­со­ры ARM. Не по­бо­юсь ска­зать, что ка­ж ­дый
и ряд менее рас­про­странен­ных уст­ройств. раз­ра­бот­чик про­грамм для ARM Linux име­ет де­ло с Qemu. Де­ло
в том, что его мож­но ис­поль­зо­вать не толь­ко для за­пуска ARM-
Дру­гие ОС про­грамм, но и для их от­лад­ки (имен­но так и по­сту­па­ет уже упо­
Linux – пред­поч­ти­тель­ная, но не един­ствен­ная ОС для про­цес­ мя­ну­тый Scratchbox).
со­ров ���������������������������������������������������
ARM������������������������������������������������
. Symbian���������������������������������������
����������������������������������������������
, Windows������������������������������
�������������������������������������
CE���������������������������
�����������������������������
, QNX����������������������
�������������������������
– вот лишь часть сис­ По­сколь­к у Qemu вхо­дит во все по­пу­ляр­ные ди­ст­ри­бу­ти­вы
тем, рас­счи­тан­ных на этот про­цес­сор. Мы же рас­смот­рим внима­ Linux и со­би­рать его из ис­ход­ных тек­стов, в об­щем-то, нужды нет,
тельнее две из сравнитель­но ред­ко ис­поль­зуе­мых, но весь­ма мы опустим под­роб­но­сти дан­ной про­це­д у­ры. Вме­сто это­го рас­-
ин­те­рес­ных ОС. смот­рим уста­нов­к у са­мо­го Linux в вир­т у­а ль­ную ма­ши­ну. Вам
Бы­ло бы стран­но, ес­ли бы Acorn Archimedes, пол­но­цен­ный ПК по­на­до­бит­ся ли­бо ди­ст­ри­бу­тив Linux для ARM в ви­де об­раза,
сво­его вре­мени, не об­ла­дал опе­ра­ци­он­ной систе­мой. Она на­зы­ва­ по­нят­но­го Qemu, ли­бо об­раз диска Qemu с уже уста­нов­лен­ным
лась RISC OS (www.riscos.com) и уже в 1988 го­д у под­дер­жи­ва­ла ARM Linux. Об­ра­зы яд­ра и вре­мен­ной фай­ло­вой систе­мы мож­но н
доб­ро­воль­ную кор­по­ра­тив­ную мно­го­за­дач­ность, что про­дол­жа­ет ай­ти, на­при­мер, на http://people.debian.org/~aurel32/arm-versatile/,
де­лать и до сих пор (на­пом­ню, что в со­вре­мен­ных ОС при­ме­ня­ет­ся а об­ра­зы дисков с пре­д уста­нов­лен­ным Debian – на http://people.
при­ну­ди­тель­ная – вы­тес­няю­щая мно­го­за­дач­ность). Ес­ли бы звез­ debian.org/~aurel32/qemu/arm/. На странице http://www.oszoo.org/
ды рас­по­ло­жи­лись ина­че, RISC OS вполне мог­ла бы за­нять нишу wiki/index.php/Category:ARM_images при­ве­ден torrent для об­
ра­зов по­крупнее (ска­жем, с LXDE), а ес­ли вы пред­по­чи­тае­те
не Debian, а Fedora, об­ра­ти­тесь к ftp://ftp.linux.org.uk/pub/linux/arm/
fedora/qemu/ и http://cdot.senecac.on.ca/arm/.
Ес­ли вы хо­ти­те уста­но­вить Linux на Qemu са­мо­стоя­тель­но, сна­
ча­ла нуж­но соз­дать об­раз диска. На­при­мер, коман­да
qemu-img create -f qcow hda1.img 8G
сгенери­ру­ет его в фор­ма­те Qemu и объ­е­мом 8 ГБ. Да­лее вам
по­на­до­бят­ся яд­ро систе­мы (на­при­мер, vmlinuz-2.6.18‑6‑versatile)
и об­раз вре­мен­ной фай­ло­вой систе­мы (ска­жем, initrd.img-2.6.18‑6‑
versatile). При ис­поль­зо­вании назван­ных ком­понен­тов коман­да
для за­пуска Qemu в ре­жи­ме эму­ля­ции ARM мо­жет вы­гля­деть так:
qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-6-
versatile -initrd initrd.gz -hda1 hda.img -append “root=/dev/ram”
В ре­зуль­та­те бу­дет на­ча­та стан­дарт­ная про­це­д у­ра ин­стал­ля­ции
Linux. При за­пуске систе­мы с об­раза, на ко­то­ром она пре­д уста­
нов­ле­на, коман­да для стар­та Qemu мо­жет вы­гля­деть вот так:
qemu-system-arm -M versatilepb -kernel zImage-versatile -hdc
ARM Linux в ок­не Qemu, за­пу­щен­ном в Linux для x86.
rootfs-f10-dev

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
42      LXF132 Июнь 2010
 Linux и ARM

До­бав­ление под­держ­ки се­ти в Qemu – от­дель­ная те­ма. Ско­рее


все­го, вир­т у­а ль­ный се­те­вой адап­тер бу­дет един­ствен­ным сред­
ством об­ме­на дан­ны­ми ме­ж ­ду ва­шей ARM-ма­ши­ной и внешним
ми­ром. Ин­ст­рук­ции по на­строй­ке вир­т у­а ль­ной се­ти для Qemu
за­ви­сят от па­ра­мет­ров кон­крет­ной ОС, так что ре­ко­мен­ду­ем вам
об­ра­тить­ся к до­к у­мен­та­ции и фо­ру­мам.

Обо­ру­до­вание
Как уже бы­ло ска­за­но, в ми­ре су­ще­ству­ет ве­ли­кое мно­же­ство уст­
ройств, серд­цем (или моз­гом?) ко­то­рых служит ARM. Ниже при­
ве­де­ны три из них, при­чем ка­ж ­дое (в неко­то­ром ро­де) ха­рак­те­ри­
зу­ет це­лый сек­тор при­менения ARM и Linux.

TI OMAP Zoom II
Ес­ли вы ниче­го не слы­ша­ли о Texas Instruments OMAP34X
Zoom II, в этом нет ниче­го уди­ви­тель­но­го. Дан­ное уст­рой­ство
рас­счи­та­но не на конеч­ных поль­зо­ва­те­лей, а на раз­ра­бот­чи­ков
мо­биль­ных при­ло­жений. Тем не менее, воз­мож­но­сти Zoom II
HP iPAQ соб­ст­вен­
спо­соб­ны по­ра­до­вать серд­це лю­бо­го цените­ля гад­же­тов: «ста­ри­ну Ар­хи­ме­да». Ком­пания Castle Technology, од­на из на­
ной пер­со­ной.
4‑дюй­мо­вый ем­ко­ст­ной сен­сор­ный эк­ран с под­держ­кой мод­ной следниц Acorn, пред­ла­га­ет всем же­лаю­щим Iyonix PC, осно­ван­ный
нын­че тех­но­ло­гии жестов и HD-ви­део (уст­рой­ство мо­жет вы­во­ на про­цес­со­ре Intel XScale и осна­щен­ный но­вой вер­си­ей RISC OS,
дить ви­део и на боль­шой HD-эк­ран), на­стоя­щая пол­но­раз­мер­ная но под­дер­жи­вае­мый и рас­про­странен­ны­ми ди­ст­ри­бу­ти­ва­ми ARM
кла­виа­т у­ра, Wi-Fi, Bluetooth, под­держ­ка 3G-мо­де­ма, воз­мож­ность Linux для на­столь­ных ПК. По от­зы­вам поль­зо­ва­те­лей, про­из­во­ди­
уста­нов­ки SIM-кар­ты, 8‑МПикс ка­ме­ра и ак­се­ле­ро­метр, про­цес­ тель­ность Iyonix PC со­поста­ви­ма с ранними Pentium IV, в то вре­мя
сор TI OMAP3430, осно­ван­ный на но­вей­шей ар­хи­тек­т у­ре ARMv7, как це­на со­от­вет­ству­ет со­вре­мен­ным ком­пь­ю­те­рам сег­мен­та Low-
256 МБ бы­ст­рой DDR-па­мя­ти и 512 МБ флэш – очень достой­ные End. Что же ка­са­ет­ся воз­мож­но­сти при­об­ре­тения Iyonix PC в на­
ха­рак­те­ри­сти­ки. шей стране, то я пре­достав­ляю же­лаю­щим (бу­де та­ко­вые най­д ут­
Ап­па­рат­ная под­держ­ка OpenGL ES 2.0 (от­вет плат­фор­ме ся) прой­ти этот квест са­мо­стоя­тель­но.
Intel Atom) по­зво­ля­ет уст­рой­ству ра­бо­тать с 3D-гра­фи­кой
в ре­а ль­ном вре­мени, а все­воз­мож­ные рас­ши­рен­ные на­бо­ры HP iPAQ
ин­ст­рук­ций уско­ря­ют об­щ ую об­ра­бот­к у муль­ти­ме­диа. К это­ Ес­ли вы со­би­рае­тесь за­нять­ся про­грам­ми­ро­ванием для ARM, эму­
му на­до до­ба­вить вхо­д я­щ ую в ком­плект мощ­ную от­ла­доч­ную ля­тор Qemu, при всех сво­их воз­мож­но­стях, вряд ли силь­но вдох­
пла­т у (одних толь­ко разъ­е­мов mini-USB – 5 штук!) и сред­ства но­вит вас. В кон­це кон­цов, мы ведь хо­тим ви­деть на­ши про­грам­
для раз­ра­бот­ки при­ло­жений. мы на на­стоя­щем уст­рой­стве,
Symbian Foundation ис­поль­зу­ет
TI OMAP Zoom II как эта­лон­ное
«Существует множест- не так ли? Од­на­ко про­фес­сио­
наль­ное ре­шение, подобное
уст­рой­ство при соз­дании от­
кры­тых при­ло­жений Symbian.
во устройств, сердцем TI OMAP Zoom 2, для боль­шин­
ства из нас бу­дет слиш­ком до­
Zoom�����������������������
II��������������������
����������������������
не обош­ли внимани­ которых служит ARM.» ро­гим, а Iyonix PC – слиш­ком
ем и раз­ра­бот­чи­ки Android эк­зо­тич­ным (да и доста­вить
и мо­биль­ных Linux-систем. Впро­чем, ес­ли вам уже не тер- в на­шу стра­ну этот ПК бу­дет непро­сто). Я уж не го­во­рю о том, что
­пит­ся за­по­лу­чить Zoom II в соб­ствен­ное поль­зо­вание, мне, при всей на­шей люб­ви к элек­трон­ной технике ра­ди нее са­мой,
воз­мож­но, при­дет­ся ох­ла­дить ваш пыл: его це­на су­ще­ствен­но да­ле­ко не все ли­нук­сои­ды за­хо­тят по­к у­пать уст­рой­ство, ко­то­рое
пре­вы­ша­ет 1000 дол­ла­ров. труд­но при­ме­нять для че­го-то еще, кро­ме от­лад­ки соб­ствен­ных
при­ло­жений.
Iyonix PC Хо­ро­шим вы­бо­ром для Linux-раз­ра­бот­чи­ка мо­г ут стать на­
Ес­ли же вы – лю­би­тель по­ори­ги­нальничать и хо­ти­те иметь у се­бя ла­донники и смарт­фо­ны iPAQ, ко­то­рые ныне вы­пуска­ют­ся ком­
до­ма ПК с про­цес­со­ром ARM, вам не обя­за­тель­но до­бы­вать где-то панией Hewlett-Packard. Од­но из пре­иму­ществ HP iPAQ – ак­тив­ная
под­держ­ка со сто­ро­ны со­об­ще­ства Linux, в ча­ст­но­сти, раз­ра­бот­
TI OMAP34X чи­ков Scratchbox. Уст­рой­ства про­да­ют­ся с пре­д уста­нов­лен­ной
Zoom II — мо­биль­ной Windows, но уста­но­вить на них Linux – не про­бле­ма.
меч­та На сай­те www.handhelds.org (и мно­гих дру­гих) мож­но най­ти со­
ха­ке­ра.
ве­ты, как осна­стить iPAQ��������������������������������������������
������������������������������������������������
раз­лич­ны­ми ди­ст­ри­бу­ти­ва­ми (как ми­
нимум – Familiar Linux и Ångström), соз­дав ре­зерв­ную ко­пию Win­ ����
dows. По­сле ба­зо­вой уста­нов­ки Linux вы смо­же­те под­к лю­чить
уст­рой­ство к внешнему ми­ру, ис­поль­зуя стек TCP/IP, че­рез Wi-Fi,
Bluetooth, USB и да­же по­сле­до­ва­тель­ный порт. Те­перь вы по­лу­
чае­те всю ту сво­бо­д у, ко­то­рую обыч­но да­ет вам Linux. Мож­но по­
ста­вить ин­ст­ру­мен­та­рий раз­ра­бот­чи­ка GNU на са­мо уст­рой­ство,
Фото © focus.ti.com, www4.hp.com

но удобнее все же уста­но­вить кросс-плат­фор­мен­ную систе­му


сбор­ки на «боль­шом ком­пь­ю­те­ре».
Итак, бу­дем счи­тать, что вы вы­бра­ли плат­фор­му для тес­ти­
ро­ва­ния и от­лад­ки про­грамм­но­го обес­пе­че­ния, ори­ен­ти­ро­ван­но­
го на ARM. В сле­д ую­щей ста­тье речь пой­дет о са­мих сред­ст­вах
раз­ра­бот­ки.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      43
Zsh 

Zsh Обус
­ т­рой­т
е
с

во
ю
обо
л
­ оч
к
­у
Одев гид­ро­кос­тюм и от­пра­вив­шись в мор­ские глу­би­ны,
Ко­эн Верв­лое­сем враз осоз­нал всю важ­ность удоб­ной обо­лоч­ки.

М
но­гие поль­зо­ва­те­ли никогда не ме­ня­ют обо­лоч­ ми­ро­ван­ное ре­шение о том, сто­ит ли пе­ре­к лю­чать­ся на нее со стан­
ку, уста­нов­лен­ную по умол­чанию в их ди­ст­ри­бу­ дарт­ной обо­лоч­ки, пред­ла­гае­мой ва­шим ди­ст­ри­бу­ти­вом. Основ­
ти­ве Linux, и поч­ти все­гда этой обо­лоч­кой яв­ля­ ное внимание мы уде­лим ин­те­рак­тив­но­му ис­поль­зо­ванию Zsh,
Zsh 4.3.10
ет­ся Bash (со­кра­щение от Bourne-again shell). Это в мень­шей сте­пени – неин­те­рак­тив­ным сце­на­ри­ям, то есть скон­
непло­хо, ес­ли вы не ис­поль­зуе­ цен­три­ру­ем­ся на еже­днев­ной
те рас­ши­рен­ные воз­мож­но­сти,
но ес­ли вы мно­го ра­бо­тае­те
«Zsh об­ла­да­ет мно­ги­ми ра­бо­те, а не на скрип­топи­сании
и ав­то­ма­ти­за­ции.
с команд­ной стро­кой, не по­ме­
ша­ет при­смот­реть­ся и к дру­гим
пре­иму­ще­ст­ва­ми Bash Удоб­ной воз­мож­но­стью
мно­гих обо­ло­чек яв­ля­ет­ся под­
обо­лоч­кам, а не толь­ко по­треб­ и сверх то­го.» ста­нов­ка [globbing], из­вест­
лять что да­ют. Обо­лоч­ка – важ­ ная так­же как генера­ция имен
ное зве­но ме­ж ­ду ва­ми и ва­шей опе­ра­ци­он­ной систе­мой. Ес­ли она фай­лов. Ши­ро­ко из­вест­ный при­мер – ввод имени *.txt, ко­то­рое
пра­виль­но на­строе­на, ва­ша ра­бо­та станет удобнее, эф­фек­тивнее под­ра­зу­ме­ва­ет все фай­лы, за­кан­чи­ваю­щие­ся рас­ши­рением .txt.
и про­из­во­ди­тельнее. Ва­ша обо­лоч­ка пре­вра­тит это в спи­сок всех та­ких фай­лов и пе­ре­
В дан­ной ста­тье речь пой­дет о Zsh (Z shell) – обо­лоч­ке, об­ла­ даст его коман­де – как, на­при­мер, в ls *.txt.
даю­щей мно­ги­ми пре­иму­ще­ства­ми Bash и дру­гих обо­ло­чек, а так­ В Bash воз­мож­но­сти под­ста­нов­ки до­воль­но ог­раниче­ны. На­
же мас­сой воз­мож­но­стей сверх то­го. По­сле про­чтения этой ста­тьи при­мер, как быть, ес­ли вы хо­ти­те пе­ре­чис­лить все фай­лы с рас­
вы по­лу­чи­те пред­став­ление о мо­щи Zsh и смо­же­те при­нять ин­фор­ ши­рением .txt в под­ка­та­ло­гах те­к у­ще­го ка­та­ло­га? Конеч­но, мож­но

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
44      LXF132 Июнь 2010
 Zsh

Ес­ли мощь и гиб­


Стар­то­вые фай­лы кость Zsh вы­зва­ли
у вас же­ла­ние
по­зна­ко­мить­ся
Ка­ж ­дая обо­лоч­ка име­ет ряд фай­лов, ис­поль­зуе­мых ею при за­пус­ке по­бли­же, ука­жи­те
для са­мо­на­строй­ки. Фай­лы на­строй­ки Zsh, дей­ст­вую­щие в мас­шта­бах в ка­че­ст­ве обо­лоч­
всей сис­те­мы, на­хо­д ят­ся в ка­та­ло­ге /etc/ (в Ubuntu и ря­де дру­гих ана­
ки по умол­ча­нию
ло­гич­ных ди­ст­ри­бу­ти­вов – в /etc/zsh/), а на­строй­ки для кон­крет­ных
/usr/bin/zsh.
поль­зо­ва­те­лей рас­по­ла­га­ют­ся в их до­маш­них ка­та­ло­гах. При за­пус­ке
Zsh обо­лоч­ка счи­ты­ва­ет сле­д ую­щие фай­лы в та­ком по­ряд­ке:
/etc/zshenv и ~/.zshenv
ес­ли обо­лоч­ка за­пус­ка­ет­ся при вхо­де поль­зо­ва­те­ля в сис­те­му:
/etc/zprofile и ~/.zprofile
ес­ли это ин­те­рак­тив­ная обо­лоч­ка: /etc/zshrc и ~/.zshrc
ес­ли обо­лоч­ка за­пус­ка­ет­ся при вхо­де поль­зо­ва­те­ля в сис­те­му:
/etc/zlogin и ~/.zlogin
А ко­гда поль­зо­ва­тель по­ки­д а­ет обо­лоч­к у, за­пус­каю­щ ую­ся при вхо­де фай­лов уст­ройств – (%), блоч­ных фай­лов – (%b) и сим­воль­ных
в сис­те­му [login shell], Zsh чи­та­ет фай­лы /etc/zlogout и ~/.zlogout. фай­лов – (%с).
Ра­бо­тая с ко­ман­да­ми, ко­то­рые за­пи­сы­ва­ют­ся в ка­ж ­дый из фай­лов Точ­но так же мож­но про­ве­рять пра­ва досту­па к фай­лам: (r), (w)
на­строй­ки, важ­но раз­ли­чать ти­пы обо­ло­чек. Ре­ги­ст­ра­ци­он­ная обо­
лоч­ка [login shell] – это эк­зем­п­ляр обо­лоч­ки, за­пус­кае­мый при вхо­де
и (x) оз­на­ча­ют фай­лы, до­пускаю­щие чтение, запись и вы­полнение
поль­зо­ва­те­ля в сис­те­му: на­при­мер, че­рез SSH или на вир­т у­а ль­ном сво­им вла­дель­цем. Со­кра­щения (R), (W) и (X) вы­би­ра­ют фай­
тер­ми­на­ле. лы со «все­мир­ны­ми» пра­ва­ми досту­па [world permissions], а кон­
Ин­те­рак­тив­ная обо­лоч­ка ото­бра­жа­ет для поль­зо­ва­те­ля при­гла­ше­ ст­рук­ции (A), (I) и (E) за­да­ют груп­по­вые пра­ва. На­при­мер, что­бы
ние к вво­ду ко­манд – на­при­мер, ес­ли вы в Ubuntu от­кры­вае­те ок­но Тер­
най­ти все ис­пол­няе­мые фай­лы в те­к у­щем де­ре­ве ка­та­ло­гов,
ми­нал [Terminal]. Од­на­ко ес­ли вы за­пус­ти­те ко­ман­ду ssh host some-
command, то это бу­дет ре­ги­ст­ра­ци­он­ная обо­лоч­ка, а не ин­те­рак­тив­ная. скоман­дуй­те
ls **/*(.x)
Ес­ли вы пред­по­чи­тае­те ис­поль­зо­вать сим­воль­ные ар­г у­мен­ты,
напи­сать ls */*.txt, но тогда вы­ве­дут­ся .txt-фай­лы толь­ко с дан­но­го рас­по­зна­вае­мые ко­ман­дой chmod, вы мо­же­те сде­лать и так:
уров­ня вло­жен­но­сти ка­та­ло­гов. Zsh име­ет мощ­ное ре­шение по ре­ print *(f:gu+rw,o-rwx:)
кур­сив­но­му по­иску фай­лов: ls **/*.txt. Эта коман­да вы­ве­дет все Еще один по­лез­ный под­ста­но­воч­ный ква­ли­фи­ка­тор про­ве­
.txt-фай­лы во всех под­ка­та­ло­гах. Оцените мощь это­го ре­шения: ря­ет, яв­ля­ет­ся ли поль­зо­ва­тель или груп­па вла­дель­ца­ми фай­
оно поч­ти что де­ла­ет коман­д у find из­бы­точ­ной. На­при­мер, вме­сто ла. Что­бы про­тести­ро­вать соб­ствен­но­го поль­зо­ва­те­ля или груп­пу,
find . -name *.txt | grep foo, Zsh по­зво­ля­ет ис­поль­зо­вать ку­да бо­ ис­поль­зуй­те кон­ст­рук­ции (U) или (G), со­от­вет­ствен­но. Для осталь­
лее про­стую коман­д у: grep foo **/*.txt. Ес­ли вы хо­ти­те, что­бы Zsh ных поль­зо­ва­те­лей и групп нуж­но до­бав­лять иден­ти­фи­ка­тор (ID) Скорая
помощь
от­сле­жи­ва­ла сим­воль­ные ссыл­ки, мож­но восполь­зо­вать­ся кон­ст­ поль­зо­ва­те­ля или груп­пы к кон­ст­рук­ци­ям (u) или (g). Так, (u0) по­
рук­ци­ей ***/; но осте­ре­гай­тесь бесконеч­ных цик­лов. зво­лит вам искать все фай­лы, при­над­ле­жа­щие root, а (u1001) – Сме­нить на Zsh
По­ми­мо это­го, Zsh воспринима­ет кон­ст­рук­цию […], под­би­ все фай­лы, при­над­ле­жа­щие поль­зо­ва­те­лю с user ID, рав­ным 1001. обо­лоч­к у по умол­
раю­щ ую со­от­вет­ствие лю­бым сим­во­лам, за­к лю­чен­ным в скоб­ При же­лании мож­но ис­поль­зо­вать и име­на, но их на­до за­к лю­чать ча­нию мож­но ко­
ман­дой chsh -s
ки. На­при­мер, кон­ст­рук­ция *.[cho] обо­зна­ча­ет все фай­лы, в рас­ ме­ж ­д у сим­во­ла­ми двое­то­чия: на­при­мер, (u:koan:) вы­би­ра­ет фай­ /usr/bin/zsh. Из­
ши­рения ко­то­рых вхо­д ят сим­во­лы с, h или o. Кон­ст­рук­ци­ям [^…] лы, при­над­ле­жа­щие поль­зо­ва­те­лю koan. ме­не­ние вой­дет
и [!...] Zsh ста­вит в со­от­вет­ствие все сим­во­лы, кро­ме за­к лю­чен­ных Zsh мо­жет вы­би­рать фай­лы по вре­мени мо­ди­фи­ка­ции или в си­лу толь­ко по­
в скобках. досту­па – для это­го ис­поль­зу­ют­ся кон­ст­рук­ции (m) и (a), со­от­ сле вы­хо­д а из сис­
те­мы.
вет­ствен­но. Искать мож­но по точ­но­му вре­мени или по пе­рио­дам:
Ис­поль­зо­вание ква­ли­фи­ка­то­ров до (-) или по­сле (+) кон­крет­но­го мо­мен­та. По умол­чанию ис­поль­зу­
Ква­ли­фи­ка­то­ры под­ста­нов­ки [glob qualifiers] – еще од­но при­ят­ ют­ся дни, но вре­мя мож­но из­ме­рять и в ме­ся­цах (m), неде­лях (w),
ное до­полнение Zsh: эта обо­лоч­ка уме­ет вы­би­рать ти­пы фай­лов ча­сах (h), ми­ну­тах (m) или се­к ун­дах (s).
по ис­поль­зо­ванию оп­ре­де­лен­ных фла­гов в скоб­ках в кон­це под­ На­при­мер, вот коман­да, на­хо­д я­щая все фай­лы, к ко­то­рым
ста­но­воч­но­го шаб­ло­на. На­при­мер, что­бы пе­ре­чис­лить толь­ко ка­ вы об­ра­ща­лись за по­след­нюю неде­лю:
та­ло­ги, вло­жен­ные в те­к у­щий, мож­но восполь­зо­вать­ся коман­дой: print **/*(.aw-1)
print *(/) Сле­д ую­щая ко­ман­да най­дет все фай­лы, мо­ди­фи­ци­ро­ван­ные
Для обо­зна­чения толь­ко обыч­ных фай­лов поль­зуй­тесь кон­ст­ за по­след­ний час:
рук­ци­ей (.); для ка­та­ло­гов – (/), ис­пол­няе­мых фай­лов – (*), сим­ print **/(.m0)
воль­ных ссылок – (@), со­ке­тов – (=), име­но­ван­ных ка­на­лов – (p), Ква­ли­фи­ка­то­ры под­ста­нов­ки по раз­ме­ру фай­ла ра­бо­та­ют ана­
ло­гич­но: (L) ука­зы­ва­ет раз­мер фай­ла, по умол­чанию из­ме­ряе­мый
в бай­тах. По­ми­мо бай­тов, раз­мер фай­ла мож­но из­ме­рять в ки­ло­
Пе­ре­мен­ные при­гла­ше­ния Zsh бай­тах (k), ме­га­бай­тах (m), или в бло­ках по 512 байт (p). Та­ким об­
ра­зом мож­но очень бы­ст­ро най­ти в те­к у­щем ка­та­ло­ге все фай­лы,
%/ Те­к у­щий ра­бо­чий ка­та­лог раз­мер ко­то­рых пре­вы­ша­ет 1 ме­га­байт:
%~ Крат­кое обо­зна­че­ние те­к у­ще­го ра­бо­че­го ка­та­ло­га (на­при­мер, print *(Lm+1)
~ для до­маш­не­го, но со­кра­ще­ни­ям под­вер­га­ют­ся и име­но­ван­ Ква­ли­фи­ка­то­ры под­ста­нов­ки мож­но про­из­воль­ным об­ра­
ные ка­та­ло­ги) зом ком­биниро­вать. По­лу­чае­мые кон­ст­рук­ции мо­г ут по­ка­зать­ся
%t Вре­мя в 12-ча­со­вом фор­ма­те
%T Вре­мя в 24-ча­со­вом фор­ма­те
гро­мозд­ки­ми, но при знании основ­ных ква­ли­фи­ка­то­ров их тол­
%* Вре­мя в 24-ча­со­вом фор­ма­те с се­к ун­д а­ми ко­вание не со­ста­вит тру­да. На­при­мер, *(u0WLk+10m0) оз­на­ча­ет
%n Имя поль­зо­ва­те­ля «фай­лы, при­над­ле­жа­щие поль­зо­ва­те­лю root, к ко­то­рым все име­ют
%m Со­кра­щен­ное имя хос­та доступ с пра­вом запи­си; раз­мер их боль­ше 10 КБ; мо­ди­фи­ци­ро­ва­
%M Пол­ное имя хос­та
лись в те­чение по­следнего ча­са». Пе­ред ква­ли­фи­ка­то­ром мож­но
%# % для обыч­ных поль­зо­ва­те­лей и # – для root
%? Ста­т ус по­след­ней ко­ман­ды (0 – ус­пеш­ное вы­пол­не­ние) ис­поль­зо­вать сим­вол ^, ко­то­рый оз­на­ча­ет его от­ри­цание; а за­
пя­тая слу­жит опе­ра­то­ром ИЛИ – or. На man-странице при­ве­де­на

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      45
Zsh 

бо­лее под­роб­ная ин­фор­ма­ция обо всех ква­ли­фи­ка­то­рах под­ста­ оп­цию до до­полнения имен хостов и т. д., уста­но­вив па­кет bash-
нов­ки, вклю­чая ме­то­ды сор­ти­ров­ки вы­во­да. completion. Zsh так­же име­ет мощ­ную и пол­но­стью про­грам­ми­ру-
В Zsh есть и дру­гие спо­со­бы уп­ро­стить ва­шу ра­бо­т у. Ка­ж ­дая е­мую систе­му до­полнений, но по умол­чанию она не ак­ти­ви­ро­ва­на.
обо­лоч­ка до­пуска­ет псев­донимы (aliases), так что вы мо­же­те соз­ Для ее под­к лю­чения уста­но­ви­те в сво­ем фай­ле zshrc такие оп­ции:
дать для по­пу­ляр­ных команд аль­тер­на­тив­ные име­на, ко­то­рые про­ autoload -U compinit
ще вво­дить с кла­виа­т у­ры. Но Zsh спо­со­бен на го­раз­до боль­шее. compinit
Оп­ре­де­лить псев­доним очень про­сто. На­при­мер, ес­ли вы часто Когда систе­ма ав­то­до­полнения Zsh бу­дет ак­ти­ви­ро­ва­на, по­
вво­ди­те коман­ду ls -lh, мож­но соз­дать псев­доним lh с по­мо­щью про­буй­те на­брать несколь­ко ти­пич­ных Linux-команд, но вме­сто
сле­дую­щей коман­ды: вво­да ар­г у­мен­тов на­жми­те кла­ви­шу Tab. Вы на­гляд­но убе­ди­тесь
alias lh=”ls -lh” в мо­щи Zsh и уви­ди­те, что она мо­жет до­бав­лять. На­при­мер, у Zsh
Псев­донимы удоб­ны для поль­зо­ва­те­лей; для ин­те­рак­тив­ных хва­та­ет ин­тел­лек­та для то­го, что­бы до­пол­нять коман­ду cd ка­та­ло­
обо­ло­чек за­да­вай­те их в фай­ле zshrc. Ес­ли по­сле оп­ре­де­ления га­ми. Еще один при­мер – вве­ди­те коман­ду tar -xvzf и на­жми­те кла­
псев­донима вве­сти lh, обо­лоч­ка пре­об­ра­зу­ет ваш ввод в ls -lh. Это ви­шу Tab. Zsh ото­бра­зит име­на фай­лов в те­к у­щем ка­та­ло­ге, имею­
из­менение бу­дет дей­ство­вать и при ука­зании для lh ар­г у­мен­тов щих рас­ши­рение .tar.gz. Ес­ли вы вве­де­те tar -xvf, Zsh ото­бра­зит
и оп­ций, на­при­мер: lh -a foodir/. толь­ко име­на .tar-фай­лов. Вы мо­же­те да­же из­би­ра­тель­но из­вле­
кать кон­крет­ные фай­лы из ар­хи­ва .tar.gz, не вво­дя пол­ный путь.
Гло­баль­ные псев­донимы При­вык­нув к систе­ме до­полнений, вы об­на­ру­жи­те, что прак­
А ес­ли вам хо­чет­ся соз­дать псев­донимы для команд, не яв­ляю­щих­ ти­че­ски пе­ре­ста­ли пе­ча­тать та­кие коман­ды, как cd, ls и то­му по­
ся пер­вым сло­вом в команд­ной стро­ке? Zsh за­бо­тит­ся и об этом: доб­ные, что­бы оп­ре­де­лить, где вы на­хо­ди­тесь и ка­кие фай­лы
Скорая та­кие псев­донимы на­зы­ва­ют­ся гло­баль­ны­ми. Для соз­дания гло­ там име­ют­ся. Вы начнете пе­ча­тать свои коман­ды, а систе­ма до­
помощь
баль­но­го псев­донима укажи­те в коман­де alias оп­цию -g, на­при­мер: полнения са­ма най­дет для вас нуж­ные фай­лы. Это от­но­сит­ся
Ес­ли вы оп­ре­де­ли­
alias -g L=”|less” не толь­ко к фай­лам, но и к пе­ре­мен­ным обо­лоч­ки, име­нам поль­
ли име­но­ван­ные Те­перь вам бу­дет очень удоб­но листать страницы вы­во­да дру­гой зо­ва­те­ля, сле­д ую­щим за оп­ци­ей -user и име­нам хостов, и да­же
ка­та­ло­ги, мо­же­те коман­ды, про­сто до­ба­вив к ней псев­доним L – на­при­мер, dmesg L. к име­нам поль­зо­ва­те­ля в SSH. Бо­лее то­го, систе­ма ра­бо­та­ет да­же
ус­та­но­вить оп­цию Вот еще несколь­ко по­лез­ных гло­баль­ных псев­донимов: с фай­ла­ми уда­лен­ной учет­ной запи­си, при усло­вии, что при­ме­ня­
CDABLEVARS: она
alias -g ...=’../..’ ют­ся SCP и сер­вер с пуб­лич­ны­ми клю­ча­ми.
по­зво­лит вам ис­
поль­зо­вать коман­ alias -g ….=’../../..’ Боль­шин­ству поль­зо­ва­те­лей неза­чем из­ме­нять стан­дарт­ную
ду cd down вме­ alias -g …..=’../../../..’ систе­му за­вер­шений в Zsh – она и так доста­точ­но ин­тел­лек­т у­
сто cd ~down или Еще один ва­ри­ант псев­до­ни­мов – суф­фик­сы. Вот не­сколь­ко аль­на. Од­на­ко при же­лании вы мо­же­те рас­ши­рить ее, вве­д я соб­
(в ком­би­на­ции по­учи­тель­ных при­ме­ров: ствен­ные пра­ви­ла за­вер­шения или из­менив стан­дарт­ные. Да­-
с AUTO_CD) да­же
про­сто down.
alias -s tex=vim вай­те рас­смот­рим эту воз­мож­ность на при­ме­ре SSH. По умол­
alias -s pdf=xpdf чанию, систе­ма до­пол­ня­ет име­на всех локаль­ных поль­зо­ва­те­лей
alias -s html=w3m и все име­на хостов, пе­ре­чис­лен­ные в .ssh/known_hosts. Но ес­ли
Это оз­на­ча­ет, что ес­ли мы вве­дем имя фай­ла, как ес­ли бы это бы­ вам нуж­но ре­ги­ст­ри­ро­вать­ся на двух ма­ши­нах, луч­ше за­дать соб­
ла коман­да, то файл с рас­ши­рением .tex бу­дет от­крыт ре­дак­то­ром ствен­ное пра­ви­ло за­вер­шения, на­при­мер:
Vim, файл с рас­ши­рением .pdf – с по­мо­щью xpdf, а файл с рас­ши­ zstyle ‘:completion:*’ users-hosts koan@vervloesem.eu
рением .html – с по­мо­щью w3m. kvervloe@discovery.example.org
Псев­донимы мож­но соз­да­вать и для ка­та­ло­гов, хо­тя коман­да Это пра­ви­ло удоб­но тем, что ес­ли вы вве­де­те с кла­виа­т у­ры koan
alias для это­го не го­дит­ся. Часть та­ких псев­донимов в обо­лоч­ке и на­жме­те кла­ви­шу Tab, Zsh уже бу­дет знать, что имя хоста долж­
уже оп­ре­де­ле­на: это, на­при­мер, ~ для ва­ше­го до­машнего ка­та­ло­га но быть vervloesem.eu, по­то­му что имени дру­го­го хоста со­от­вет­
и ~user – для до­машнего ка­та­ло­га поль­зо­ва­те­ля user. За­то коман­ ству­ет дру­гое имя поль­зо­ва­те­ля.
дой hash мож­но за­да­вать соб­ствен­ные име­на для про­из­воль­ных В спи­сок ав­то­за­вер­шения мож­но до­ба­вить раз­лич­ные цве­та,
ка­та­ло­гов, на­при­мер: как по­ка­за­но на ил­лю­ст­ра­ции внизу этой страницы. Мы бу­дем ис­
hash -d down=~/Desktop/Downloads поль­зо­вать те же цве­та, ко­то­рые ото­бра­жа­ет ls от GNU с оп­ци­ей
Те­перь вы смо­же­те пе­рей­ти в этот ка­та­лог из лю­бо­го дру­го­го --color:
места фай­ло­вой систе­мы, вве­д я коман­д у cd ~down. zmodload -I zsh/complist
Еще од­на оп­ция, уп­ро­щаю­щая ра­бо­т у с ка­та­ло­га­ми, хоть zstyle ‘:completion:*’ list-colors ${(s.:.)LS_COLORS}
и не яв­ляю­щая­ся псев­донимом – это AUTO_CD. Ес­ли в ва­шем Здесь пред­по­ла­га­ет­ся, что LS_COLORS уста­нов­ле­на как пе­ре­мен­
фай­ле zshrc вы уста­но­ви­те эту оп­цию коман­дой setopt AUTO_ ная ок­ру­жения. Ес­ли в ва­шем ди­ст­ри­бу­ти­ве это не так, за­пусти­те
CD, а по­том вве­де­те с кла­виа­т у­ры нечто, не имею­щее ар­г у­мен­ коман­д у dircolors и ско­пи­руй­те ее вы­вод в ваш файл zshrc, вста­
тов и не яв­ляю­щее­ся коман­дой, Zsh про­ве­рит, не яв­ля­ет­ся ли вве­ вив его пе­ред толь­ко что при­ве­ден­ны­ми стро­ка­ми.
ден­ный ва­ми текст именем ка­та­ло­га. На­при­мер, ес­ли вы вве­де­те
Documents, Zsh по­ве­дет се­бя так, как ес­ли бы вы вве­ли коман­д у При­гла­ше­ния обо­лоч­ки
cd Documents. Пе­ре­ход в ро­ди­тель­ский ка­та­лог то­же уп­ро­стит­ся: При­гла­шение обо­лоч­ки – это, ско­рее все­го, пер­вая вещь, ко­то­
Спи­ски за­вер­ше­ вме­сто cd .. доста­точ­но бу­дет вве­сти ... рую вам за­хо­чет­ся на­стро­ить. Опыт­ные поль­зо­ва­те­ли ви­д ят при­
ния мож­но «рас­ Боль­шин­ство обо­ло­чек ав­то­ма­ти­че­ски за­вер­ша­ют име­на фай­ гла­шение команд­ной стро­ки ты­ся­чи раз в день, и ло­гич­но по­д у­
цве­тить» яр­ки­ми лов по на­жа­тию кла­ви­ши Tab. В Bash вы мо­же­те рас­ши­рить эту мать о при­ят­но­сти данно­го зре­ли­ща. К сча­стью, Zsh справ­ля­ет­ся
крас­ка­ми.

Зэ­ти­мо­ло­гия
Пер­вую вер­сию Zsh на­пи­сал Пол Фол­стад [Paul Falstad], бу­д у­чи сту­
ден­том Прин­стон­ско­го уни­вер­си­те­та. Ко­гда он ис­кал имя для сво­ей
обо­лоч­ки, его взгляд упал на вход­ное имя пре­по­да­ва­те­ля-ас­си­стен­
та, Zhong Shao: zsh.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
46      LXF132 Июнь 2010
 Zsh

с этой за­да­чей бле­стя­ще. При­гла­шение команд­ной стро­ки управ­


ля­ет­ся пе­ре­мен­ной PROMPT. На­при­мер, стан­дарт­ное при­гла­шение Те­мы при­гла­ше­ния
Zsh вы­гля­дит так: “ %m %#”. Это зна­чит, что в стро­ке при­гла­шения
ото­бра­жа­ет­ся ко­рот­кое имя хоста, за ко­то­рым сле­ду­ет зна­чок % Zsh по­став­ля­ет­ся с на­бо­ром тем оформ­ле­ дой prompt для вы­бо­ра тем. Ко­ман­д а prompt
(для обыч­ных поль­зо­ва­те­лей) или # (для root). ния при­гла­ше­ния, очень про­стых в ус­та­нов­ке. -p обес­пе­чит пред­про­смотр тем, а ко­ман­д а
Еще одна уникаль­ная черта Zsh – под­дер­жка пра­во­сто­роннего Ини­циа­ли­зи­руй­те их: prompt -s themename на­зна­чит те­му themename
autoload -U promptinit в ка­че­ст­ве те­к у­щей. Ес­ли вам хо­чет­ся вы­би­
при­гла­шения, управ­ляе­мого пе­ре­мен­ной RPROMPT, с тем же син­
promptinit рать те­му слу­чай­ным об­ра­зом, ско­ман­д уй­те
так­сисом, что и PROMPT. Это удоб­но, ес­ли вам не нра­вит­ся ле­во- По­сле это­го вы смо­же­те поль­зо­вать­ся ко­ман­ prompt -s random.
­сто­роннее при­гла­шение, из­ме­няю­щее­ся по длине. На­при­мер,
что­бы по­ка­зать имя те­к у­ще­го ка­та­ло­га, доста­точ­но уста­но­вить
“ %~” в ка­че­стве пра­во­сто­роннего при­гла­шения. Zsh справ­ля­ет­ся
и с длин­ны­ми пра­во­сто­ронними при­гла­шения­ми. На­при­мер, пусть
ваш те­к у­щий ка­та­лог име­ет длин­ный путь; как толь­ко ввод коман­
ды при­бли­зит­ся к пра­во­сто­роннему при­гла­шению, оно ис­чезнет.
Для при­гла­шений мож­но оп­ре­де­лить услов­ные под­стро­ки.
Это удоб­но, ес­ли вам хо­чет­ся, что­бы часть при­гла­шения за­ви­се­ла
от ре­зуль­та­та вы­ра­жения. На­при­мер, вот как на­стро­ить Zsh, что­
бы при успеш­ном вы­полнении по­следней коман­ды в при­гла­шении
ото­бра­жал­ся сим­вол O, а в слу­чае неуда­чи – X:
PROMPT=”%(?.O.X)”

До­ба­вим цве­та
Мо­но­хром­ное при­гла­шение вы­гля­дит уны­ло, а его текст сли­ва­ет­ся
с вы­во­дом ва­ших команд. Ес­ли ис­поль­зо­вать вы­де­ление цве­том,
то на эк­ран бу­дет не про­сто при­ятнее смот­реть, но и вы­вод станет
вы­гля­деть бо­лее струк­т у­ри­ро­ван­ным. Ис­поль­зо­вать вы­де­ление
цве­том в при­гла­шении мож­но с по­мо­щью управ­ляю­щих по­сле­до­
ва­тель­но­стей [escape sequences].
В со­став Zsh вхо­дит функ­ция colors. Когда она за­гру­же­на и вы­
пол­ня­ет­ся, она оп­ре­де­ля­ет ас­со­циа­тив­ные мас­си­вы $fg и $bg, ис­ Про­тес­ти­руй­те те­мы ко­ман­дой prompt и уп­ро­сти­те ин­тер­пре­та­цию вы­во­да
поль­зуя со­от­вет­ствую­щие управ­ляю­щие по­сле­до­ва­тель­но­сти для с по­мо­щью встро­ен­ных функ­ций Zsh по управ­ле­нию цве­та­ми.
вы­бран­ных цве­тов. На­при­мер, ${fg[red]$bg[yellow]} соз­да­ет управ­
ляю­щие по­сле­до­ва­тель­но­сти для ото­бра­жения крас­но­го тек­ста
на жел­том фоне. Сле­ду­ет помнить, что управ­ляю­щие по­сле­до­ ;;
ва­тель­но­сти, ко­то­рые не пе­ре­ме­ща­ют кур­сор, все­гда долж­ны от­ (*xterm*|rxvt(dt|k|E)term) print -Pn Скорая
помощь
кры­вать­ся сим­во­ла­ми ' %{', а за­мы­кать­ся – ' %}'. “\e]2;%~\a”
Что­бы за­гру­зить эти цве­та, до­бавь­те в ваш файл zshrc сле­ ;;
Zsh име­ет да­
дую­щие стро­ки: esac же про­грам­му
autoload colors zsh/terminfo } по про­вер­ке ор­
if [[ “$terminfo[colors]” -ge 8 ]]; then Су­ще­ст­ву­ет еще од­на функ­ция, periodic(), ко­то­рая ис­пол­ня­ет­ся фо­гра­фии. Ес­ли
colors пе­рио­ди­че­ски, по ис­те­че­нии ко­ли­че­ст­ва се­к унд, ус­та­нов­лен­но­го вы ак­ти­ви­руе­те ее
ко­ман­дой setopt
fi в пе­ре­мен­ной PERIOD. CORRECT в ва­шем
Те­перь вернем­ся к на­ше­му услов­но­му вы­ра­жению с O и X. Есть удоб­ная ути­ли­та time, ко­то­рая по­ка­зы­ва­ет об­щее вре­мя фай­ле zshrc, обо­
Мы мо­жем до­ба­вить ту­да вы­де­ление цве­том. Ес­ли по­след­няя CPU, ис­поль­зо­ван­ное коман­дой. Един­ствен­ная про­бле­ма – не по­ лоч­ка бу­дет об­на­
коман­да за­вер­ши­лась успеш­но, нуж­но ото­бра­зить зе­ле­ный сим­ за­быть вве­сти time пе­ред за­пуском коман­ды. А что ес­ли вы за­ ру­жи­вать ошиб­ки
(на­при­мер, chomd)
вол O, в про­тив­ном слу­чае – крас­ный X: пускае­те весь­ма дол­го­иг­раю­щ ую коман­д у и хо­ти­те оп­ре­де­лить
и про­сить вас их
PROMPT=”%(?.%{${fg[green]%}O. %{${fg[red]%} про­дол­жи­тель­ность ее вы­полнения? В Zsh вы мо­же­те сде­лать это, ис­пра­вить.
X) %{${fg[default]}%} за­дав в пе­ре­мен­ной REPORTTIME срок в се­к ун­дах. Ес­ли коман­
Zsh по­зво­ля­ет ав­то­ма­ти­че­ски за­пускать оп­ре­де­лен­ный код да пре­вы­сит его, обо­лоч­ка вы­ве­дет ин­фор­ма­цию о вре­мени вы­
при оп­ре­де­лен­ных об­стоя­тель­ствах. Для это­го нуж­но толь­ко реа­ полнения по ее за­вер­шении. Фор­мат вы­во­ди­мых све­дений ука­зы­
ли­зо­вать неко­то­рые спе­ци­а ль­ные функ­ции. Две наи­бо­лее час­ ва­ет­ся в пе­ре­мен­ной TIMEFMT. На­при­мер:
то ис­поль­зуе­мые – chpwd() и precmd(). Zsh вы­зы­ва­ет chpwd() REPORTTIME=5
при ка­ж ­дом из­менении те­к у­ще­го ка­та­ло­га, а precmd() вы­пол­ня­ TIMEFMT=”%U user %S system %P cpu %*Es total”
ет­ся пе­ред тем, как Zsh ото­бра­зит но­вое при­гла­шение. Обе функ­
ции ре­г у­ляр­но ис­поль­зу­ют­ся для ото­бра­жения те­к у­ще­го ка­та­ло­га Emacs сре­ди обо­ло­чек
в стро­ке за­го­лов­ка эму­ля­то­ра тер­ми­на­ла. Ес­ли, по­ми­мо обо­лоч­ки, Вам долж­но быть уже яс­но, что изу­чение Zsh – шту­ка непро­
вы при­ме­няе­те дру­гие про­грам­мы, из­ме­няю­щие стро­к у за­го­лов­ка стая. За­то Zsh и даст вам очень мно­го, ес­ли не по­жа­ле­ть вре­мени
эму­ля­то­ра тер­ми­на­ла (на­при­мер, Vim), восполь­зуй­тесь precmd() – на по­сти­жение основ. К сча­стью, есть мно­же­ство от­лич­ных ре­сур­
по­сле от­ра­бот­ки дру­гой про­грам­мы она восста­но­вит стро­к у за­го­ сов, по­свя­щен­ных этой обо­лоч­ке. Пре­ж ­де все­го это под­роб­ная
лов­ка. Ото­бра­жение те­к у­ще­го ка­та­ло­га в стро­ке за­го­лов­ка де­ла­ систе­ма man-страниц. Кро­ме то­го, име­ет­ся он­лайн-ру­ко­во­дство
ет­ся так (адап­ти­ро­ва­но с man-страницы): Пи­те­ра Сте­фен­со­на [Peter Stephenson] (доступ­ное на http://zsh.
precmd () { sourceforge.net/Guide/zshguide.html). Оно немно­го уста­ре­ло, но со­
[[ -t 1 ]] || return хра­ня­ет свою цен­ность. Еще один ре­сурс для лю­би­те­лей Zsh –
case $TERM in zshwiki.org. Итак, при­сту­пай­те к на­строй­ке Zsh – вы очень вы­иг­
(sun-cmd) print -Pn “\e]l%~\e\\” рае­те, по­лу­чив улуч­шен­ную обо­лоч­к у.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      47
Что за штука… Quickly 

Что за штука…

Quickly
Пол Хад­сон пред­став­ля­ет бы­ст­рей­ший, про­стей­ший
и непри­ми­ри­мей­ший ме­тод для по­сти­жения этой шту­ки,
на­зы­вае­мой про­грам­ми­ро­ванием.

Хм, опять о про­грам­ми­ро­вании. Ма­ло, что ли, Ну и что здесь пло­хо­го? И что вы­би­ра­ют?
о нём го­во­ри­лось? Это не пло­хо, но скуч­но. И мно­го по­втор­ных Как я уже го­во­рил, Python. А так­же GTK
Но ведь мы все лю­бим про­грам­ми­ро­вание – мно­гие дей­ствий. А те­перь Quickly их от­ме­ня­ет: по­сле его и Glade. В ка­че­стве систе­мы кон­тро­ля вер­сий пред­
имен­но из-за это­го и при­шли в мир Linux. На сей уста­нов­ки коман­дой sudo apt-get install quickly ото­ ла­га­ет­ся Bazaar, а для об­на­ро­до­вания сво­ей про­
раз о Mono ни сло­ва! всю­ду бу­дет ав­то­ма­ти­че­ски стя­ну­то око­ло 40 МБ грам­мы мож­но восполь­зо­вать­ся Launchpad, спе­
за­ви­си­мо­стей, соз­даю­щих ба­зу для про­грам­ми­ ци­а ль­ным ре­по­зи­то­ри­ем Ubuntu.
В са­мом де­ле? ро­вания. То есть, поль­зу­ясь Quickly при раз­ра­бот­
Ну да! Quickly – ух ты! – по­стро­ен во­круг ке при­ло­жений, вы по­лу­чае­те нечто вро­де ста­пе­ Что-о?! Нена­ви­ж у GTK! И Bazaar тоже!
Python, по крайней ме­ре сей­час. Но это не про­ лей – строи­тель­ных под­по­рок ва­ше­го при­ло­жения, Имее­те пра­во. Это рас­про­стра­нён­ное след­
сто от­дель­ный язык про­грам­ми­ро­вания, ин­ст­ру­ вклю­чая под­го­тов­к у GTK и, при же­лании, Glade для ствие непри­ми­ри­мых по­зи­ций – не ка­ж ­дый за­
мен­та­рий для поль­зо­ва­тель­ско­го ин­тер­фей­са или про­грам­ми­ро­вания ин­тер­фей­са. хо­чет взять Quickly на воо­ру­жение пря­мо сей­
систе­ма кон­тро­ля вер­сий: про­ект Quickly за­ду­ман час. Но те, кто спо­со­бен при­ми­рить­ся с чу­жим
как мощ­ный ком­плекс ав­то­ма­ти­за­ции прак­ти­че­ Да Glade на­стро­ить не так уж и труд­но... вы­бо­ром, су­ще­ствен­но на­растят про­д ук­тив­ность.
ски лю­бых про­цес­сов. Речь не о тя­же­сти тру­да, а о бы­ст­ро­те: Quickly
сво­ра­чи­ва­ет час нуд­ной ра­бо­ты в един­ствен­ную То есть те, ко­му это не нра­вит­ся, мо­г ут
Нет уж, да­вай­те о про­грам­ми­ро­вании, коман­ду quickly create ubuntu-project. вый­ти вон?
а не об этих, как вы их там на­зва­ли: От­нюдь нет. Пре­до­пре­де­ления ка­са­ют­ся толь­ко
я как-то не го­тов к раз­го­во­ру о них. Стоп, вы, ка­жет­ся, упо­мя­ну­ли Ubuntu? шаб­ло­на ubuntu-project. А вы мо­же­те соз­дать соб­
Не бой­тесь: по­ка что Quickly – это имен­но сред­ Я рас­про­щал­ся с ним по­сле то­го, как там ствен­ный шаб­лон, вклю­чить в него всё, что угод­но,
ство про­грам­ми­ро­вания. У него нема­ло сход­ства без мое­го ве­до­ма пе­ре­ста­ви­ли все кноп­ки. а ненуж­ное за­черк­нуть: Glade, Bazzaar или да­же
со ста­пель­ны­ми [scaffolding] ин­но­ва­ция­ми, пред­ Quickly – это про­ект Canonical, что ста­но­вит­ся сам Python (хо­тя я и не пой­му, за что...).
став­лен­ны­ми Ruby on Rails несколь­ко лет на­зад. яс­но вско­ре по­сле на­ча­ла ра­бо­ты

Я сро­ду не поль­зо­вал­ся Rails, и для ме­ня


в нём. Вспомните о пер­вой вер­
сии Ubuntu: там был один брау­зер,
«В от­ли­чие от Mono или
это пустой звук. Что это за ста­пель­ные
ин­но­ва­ции?
один офис­ный па­кет, один тек­сто­
вый ре­дак­тор – и так да­лее. Раз­
Vala, Quickly не соз­да­
Ну, пускай вам нуж­но напи­сать про­стую про­грам­ ра­бот­чи­ки са­ми ре­ша­ли, что бу­дет ет за­ви­си­мо­стей.»
му для чтения RSS с гра­фи­че­ским ин­тер­фей­сом луч­ше для поль­зо­ва­те­ля, и для то­
на GTK, при­чем на Python. Для это­го при­дёт­ся го вре­мени это бы­ло ре­во­лю­ци­он­ным ре­шением. А ес­ли я при­ме­ню Quickly, то бу­ду на­веч­но
уста­но­вить сам Python, биб­лио­те­ки раз­ра­бот­чи­ Это ха­рак­тер­но для ме­то­до­ло­гии Ubuntu. к нему при­ко­ван?
ка GTK, неко­то­рые биб­лио­те­ки XML (ча­ще все­го Несколь­ко ме­ся­цев на­зад гла­ва Canonical Марк Опять нет. В от­ли­чие от Mono или Vala, Quickly
libxml2), за­тем со­ста­вить ба­зо­вый код толь­ко для Шатт­л­ворт вы­ра­зил­ся так: «Мы на­ме­ре­ны за­ не соз­да­ет за­ви­си­мо­сти от ко­да или сре­ды вре­мени
то­го, что­бы под­го­то­вить GTK к по­лез­ной ра­бо­ нять непри­ми­ри­мую по­зи­цию; бу­дем при­ме­нять вы­полнения: это толь­ко сред­ство сбор­ки осто­ва
те. Воз­мож­но, по­на­до­бит­ся уста­но­вить и Glade основ­ные прин­ци­пы про­ек­ти­ро­вания и са­ми от­ве­ для го­то­во­го про­ек­та, са­мо это сред­ство мож­но пе­
(ди­зайнер поль­зо­ва­тель­ско­го ин­тер­фей­са GTK), чать за ре­зуль­тат». Quickly сле­д у­ет то­му же кур­су ре­страи­вать в ши­ро­ких пре­де­лах. Ес­ли вы од­на­ж ­ды
за­тем со­брать ба­зо­вую окон­ную обо­лоч­к у ва­шей по части про­грам­ми­ро­вания: ра­ди уско­рения про­ ре­ши­те дать Quickly отставку, на здо­ро­вье – ни один
бу­д у­щей про­грам­мы. цес­са неко­то­рые ве­щи вы­би­ра­ют за вас. про­ект от этой систе­мы не за­ви­сит.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
48      LXF132 Июнь 2010
 Quickly Что за штука…

Пред­по­ло­жим, я сжи­вусь с Quickly... Но я ми­зан­троп — жи­ву как сыч, и у ме­ня Вы вро­де ска­за­ли, что но­вый про­ект
По­хо­же, он по­мо­га­ет толь­ко на на­чаль­ном нет дру­зей! сго­дит­ся не толь­ко для про­грам­ми­ро­вания?
эта­пе. А бу­дет ли поль­за от него на бо­лее поздних ОК. Ну, не со­всем ОК – это всё-та­ки стран­но. Да, я не ви­ж у при­чин, по ко­то­рым нель­зя скро­ить
ста­ди­ях про­ек­та? Но вы все рав­но мо­же­те по­да­рить свою ра­бо­т у лю­ шаб­лон для че­го-нибудь ино­го. На­при­мер, ес­ли
Вы уди­ви­тесь: бу­дет! Сми­рив­шись с Bazaar, дям: на­бе­ри­те про­стую коман­д у quickly release вы по­сто­ян­но поль­зуе­тесь одним и тем же на­бо­
вы с хо­д у по­лу­чи­те мощ­ную систе­му кон­тро­ля для вы­груз­ки ва­ше­го па­ке­та на Launchpad в ви­де ром фай­лов для из­дания еже­ме­сяч­но­го бюл­ле­­-
вер­сий (от­с ле­жи­вания исто­рии ва­ших фай­лов), пер­со­наль­но­го ар­хив­но­го па­ке­та (PPA), и на­зав­тра те­ня, Quickly по­слу­жит кар­ка­сом для сбор­ки ка­ж­
безо вся­ких уси­лий. Это раз­ви­тый ин­с т­ру­мент, про­снё­тесь зна­менитым. до­го но­во­го но­ме­ра.
ко­то­рый со­хра­ня­ет и ре­ги­с т­ри­ру­ет ка­ж ­дый сде­
лан­ный ва­ми шаг. Ес­ли вы пой­мё­те, что сде­ла­ли А ес­ли ме­ня не уст­раи­ва­ет Launchpad? Хм, лад­но. По­про­бую. Не обещаю,
ошиб­к у, и за­хо­ти­те вер­нуть­ся к прежней вер­сии, И сно­ва во­прос вы­бо­ра. Не ва­ше­го вы­бо­ра, что мне по­нра­вит­ся, но по­про­бо­вать мож­но.
Bazaar вам по­мо­жет, хо­тя не по­ме­ша­ет со­про­ а ав­то­ра шаб­ло­на ubuntu-project в про­ек­те Quickly. Не да­ди­те ли па­ру ссылок для на­ча­ла?
во­ж ­д ать сде­лан­ные из­менения ком­мен­та­ри­ Ес­ли он вам не нра­вит­ся – соз­дай­те свой шаб­лон, Уста­но­вив Quickly, на­бе­ри­те коман­ду quickly
ями ти­па «уд­во­ил ко­ли­че­с тво при­мо­чек в фай­ле вклю­чив в него всё, что за­хо­ти­те. tutorial ubuntu-project – за­гру­зит­ся крат­кое ввод­
foobar.py». ное ру­ко­во­дство. Су­ще­ству­ет ви­део­ро­лик, раз­
Это слож­но? ра­бо­тан­ный ав­то­ра­ми Quickly, который на­гляд­но
Кру­то, конеч­но, но систе­ма кон­тро­ля вер­сий Ин­ди­ви­д у­а ль­но. Шаб­ло­ны в Quickly – про­сто опи­сы­вает про­цесс соз­дания (несколь­ко ру­ди­
ме­ня не впе­чат­ля­ет. Что ещё? ра­бо­чие скрип­ты, их мож­но пи­сать на Python, Perl мен­тар­ной) про­грам­мы: www.youtube.com/watch?
Как вам нра­вит­ся соз­дание па­ке­та Debian одной или на чём хо­ти­те. Про­стей­ший ме­тод сбор­ки соб­ст- v=dx93U10Kkro.
коман­дой? Прав­да, при­дёт­ся ещё уста­но­вить па­ вен­но­го шаб­ло­на – за­гру­зить го­то­вый (луч­ше
кет devscripts, да и са­ма коман­да вы­пол­ня­ет­ся где- все­го ubuntu-project, как наи­бо­лее универ­саль­ный) Ру­ди­мен­тар­ной? А под­роб­но­го ру­ко­во­дства,
то с ми­ну­т у. Но со­гла­си­тесь: раз­ве не здо­ро­во так и из­менить в нём уча­ст­ки, ко­то­рые вас не уст­раи­ с по­ша­го­вым про­хо­ж­дением все­го
про­сто пе­ре­дать свою про­грам­му дру­г у? Доста­ ва­ют. Скоман­д уйте quickly quickly ubuntu-template про­цес­са, раз­ве нету?
точ­но от­пра­вить элек­трон­ное со­об­щение с Deb- my-awesome-template – и ме­няй­те се­бе. Хо­ти­те По­ка нет, но мы под­го­то­вим его спе­ци­аль­но для вас
па­ке­том, ко­то­рый для вас со­бе­рёт Quickly! по умол­чанию Mono или C# – флаг вам в ру­ки! в одном из следующих номеров – не про­пусти­те!

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      49
Рецепты доктора Брауна 

По рецептам
Д-р Крис Браун
доктора Брауна
Доктор обучает, пишет и консультирует по Linux.
Ученая степень по физике элементарных частиц
Добротное администрирование систем из
ему в этом совсем не помогает. причудливых заворотов кишок серверной.

Верните
das blinkenlights

П
ер­вые ком­пь­ю­те­ры, на ко­то­рых я ра­
бо­тал, бы­ли на­мно­го ми­лее со­вре­
мен­ных. На них бы­ли ря­ды лам­по­чек,
и при боль­шом же­лании мож­но бы­ло по­ша­го­
во вы­пол­нять про­грам­му и ви­деть со­дер­жи­
мое ка­ж ­до­го ре­ги­ст­ра, цикл за цик­лом. Это
бы­ла эпо­ха das blinkenlights – про­блеско­
вых ин­ди­ка­то­ров, и поч­ти в ка­ж ­дом ком­пь­ю­
тер­ном за­ле ле­жа­ла вы­цвет­шая фо­то­ко­пия
надпи­си круп­ным го­ти­че­ским шриф­том:
Сер­вер Lucid Lynx
«Дас ма­шине не есть для ты­ки­рен паль­цен Ubuntu 10.04 Но­вый ре­лиз Ubuntu с дол­го­сроч­ной
ко­му по­паль. В про­тив­ный слют­шай она лег­ко
быть поф­реш­ден. Дас ма­шине ист фюр про­
под­держ­кой – ги­гант­ский пры­жок для че­ло­ве­че­ст­ва?
фес­сио­на­лен ра­бо­тен унд нихт фюр при­дур­

Б
оль­шин­ство из нас счи­та­ют Ubuntu дру­же­ 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013
кен. Кто же­лать смот­ри­рен, дер­жаль шкод­ли­
люб­ным на­столь­ным ди­ст­ри­бу­ти­вом, но 10.04 Server LTS
вый ру­чон­ка в кар­ман. Рас­сла­би­рен и гла­зель 9.10
в Canonical есть коман­да, уси­лен­но ра­бо­та- 9.04
на blinkenlights».
ю­щая над тем, что­бы он мог со­ста­вить кон­к у­рен­- 8.10
Лам­поч­ки бы­ли да­же на ранних лю­би­тель­ 8.04 Server LTS
цию Red Hat на сер­вер­ном рын­ке. Ubuntu 10.04 LTS
ских ком­пь­ю­те­рах ти­па Altair 8800 (1975 г.), 7.10
Lucid Lynx поя­вит­ся на диске сле­д ую­щего но­ме­ра 7.04
но по­сле Commodore PET (1977 г.) ис­чез­ли на­ 6.10
LXF, и это один из ре­ли­зов «с дол­го­сроч­ной под- 6.06 Server LTS
все­гда.
­держ­кой», к ко­то­рым Canonical от­но­сит­ся очень 5.10
5.04
Ис­че­заю­щий свет серь­ез­но. Для сер­вер­но­го про­д ук­та «долго-
срочный» оз­на­ча­ет по­став­к у об­нов­лений и под­дер-
4.10

Се­го­дня прин­цип «луч­ше мень­ше, да луч­ше» Canonical под­дер­жи­ва­ет об­нов­ле­ния


ж­к у в те­чение пя­ти лет. Учеб­ные кур­сы для это­го ме­ж­ду «обыч­ны­ми» ре­ли­за­ми Ubuntu и вер­сия­ми
стал ман­трой для ми­гаю­щих лам­по­чек. Мой
ди­ст­ри­бу­ти­ва по­строе­ны на ре­ли­зах LTS, и ско­ро с «дол­го­сроч­ной под­держ­кой».
но­вый сер­вер так сты­дит­ся све­то­дио­дов на пе­
долж­ны поя­вить­ся но­вые вер­сии Certified Profes-
редней панели, что их со­вер­шен­но невоз­мож­
sional, Server и кур­сов по об­лач­ным вы­чис­лениям. о воз­мож­но­сти уста­но­вить узел Ubuntu Enterprise
но най­ти, когда он вы­к лю­чен. На мо­ем до­
До Lucid Lynx мож­но об­но­вить­ся с пре­ды­д у­ще­го Cloud (UEC). Эк­ра­ны раз­биения диска на раз­де­
машнем ха­бе че­ты­ре пре­ле­ст­ных трех­цвет­ных
«обыч­но­го» ре­ли­за (9.10) и с по­следнего ре­ли­за лы так­же отличны от 8.04: по умол­чанию соз­да­ет­
све­то­дио­да, но увы – они не ми­га­ют. И ког­
LTS (8.04). Итак, Ubuntu 10.04 – важ­ная ве­ха, и как ся фай­ло­вая систе­ма ext4 по­верх LVM. Мож­но за­
да хаб ра­бо­та­ет нор­маль­но (а это, к сча­стью,
сер­вер­ный про­д укт он да­ле­ко ушел от двух­летнего шиф­ро­вать ка­та­лог home и/или со­от­вет­ствую­щий
99,9 % все­го вре­мени), ника­кой по­лез­ной ин­
Hardy Heron. Вот часть но­ви­нок ди­ст­ри­бу­ти­ва. ему раз­дел. Есть и но­вые про­фи­ли уста­нов­ки, ко­
фор­ма­ции они не несут.
Об­лач­ные вы­чис­ления в 10.04 по­всю­д у. В пер­ то­рые об­лег­ча­ют раз­вер­ты­вание сер­ве­ров, вы­пол­
Све­то­дио­ды на мо­ем но­у т­бу­ке так утон­
вом уста­но­воч­ном ме­ню по­яв­ля­ет­ся под­сказ­ка няю­щих раз­лич­ные ро­ли в об­ла­ке Eucaliptus.
чен­но умень­ше­ны в раз­ме­рах, а их свет так
Менее яв­ные из­менения – яд­ро стало под­дер­
бли­зок к синему кон­цу ви­ди­мо­го спек­тра, что
жи­вать ран­до­ми­за­цию ад­рес­но­го про­стран­ства
при­хо­дит­ся ждать су­ме­рек, что­бы по­нять,
вклю­чен ли Caps Lock. Что­бы по­на­блю­дать Другие но­вин­ки (слу­чай­ным об­ра­зом ме­ня­ет­ся рас­по­ло­жение
основ­ных об­ластей дан­ных внут­ри про­цес­са, силь­
за ак­тив­но­стью се­ти, я дол­жен при­ло­жить ле­
Мно­же­ст­во па­ке­тов, об­нов­ле­ние или по­яв­ле­ние но за­труд­няя оп­ре­де­ление це­ле­вых ад­ре­сов зло­
вое ухо к сто­лу и ско­сить гла­за на кро­шеч­ный ко­то­рых ожи­да­лось с 8.04 LTS, вклю­ча­ет Django, умыш­ленником). Яд­ро 2.6.32 под­дер­жи­ва­ет тех­но-
све­то­ди­од, уто­п­лен­ный в RJ45. И во всем мо­ CouchDB, RabbitMQ (сис­те­ма об­ме­на со­об­ще­ния­
ло­гию аг­ре­га­ции па­мя­ти Kernel SamePage Merging
ем офи­се нигде нет огонь­ка, ко­то­рый бы по­ ми на ос­но­ве AMQP), Eucaliptus, etckeeper (сис­те­ма
кон­тро­ля вер­сий для /etc, ко­то­рая вне­дря­ет­ся в ути­ (KSM), по­зво­ля­ющую несколь­ким про­цес­сам
ка­зы­вал ак­тив­ность бес­про­вод­ной се­ти.
ли­ты APT), Tomcat 6, OpenJDK 6, MySQL 5.1, ClamAV, с оди­на­ко­вы­ми страница­ми па­мя­ти со­вме­ст­но
Так что каспада, пошалюйста, ферните
SpamAssassin, Puppet, AutoFS5, Samba 3.4, Ruby�����
���������
, Py­
��� ис­поль­зо­вать од­ну об­щ ую страницу. Это осо­бен­но
немнош­ко ми­гаю­щих лам­по­чек! По­жа­луй­ста! thon 2.6, Erlang, Nagios 3 и Corosync («кла­стер» с от­ удоб­но, когда в KVM ра­бо­та­ют несколь­ко вир­т у­
кры­тым ис­ход­ным ко­дом).
аль­ных ма­шин с оди­на­ко­вы­ми яд­ра­ми.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
50      LXF132 Июнь 2010
 Рецепты доктора Брауна

Ча­ст­ный де­тек­тив в Ин­тернете


IP-сы­щик Д-р Бра­ун идет по сле­дам ки­бер­пре­ступника.

З
а­гляните в фай­лы жур­на­лов лю­бо­го ком­пь­ю­те­ра, от­кры­ Network Name: KORNET-INFRA000001
то­го для досту­па из­вне, и вы най­де­те мно­же­ство неудач­ Connect ISP Name : KORNET
ных по­пы­ток вхо­да в систе­му, вы­зван­ных ав­то­ма­ти­зи­ро­ Registration Date : 20100126
ван­ны­ми ата­ка­ми скрип­тов. Ес­ли порт 22 от­крыт, боль­шин­ство Publishes : N
атак бу­д ут по­пыт­ка­ми вхо­да че­рез SSH. Еже­днев­но про­смат­ри­ [ Organization Information ]
вая жур­на­лы безо­пас­но­сти web-сер­ве­ра, я ви­дел пре­иму­ще­ствен­ Organization ID : ORG1600
но два ти­па неудач­ных вхо­дов в систе­му: Org Name : Korea Telecom
Mar 22 15:09:53 ns sshd[9446]: Failed password for invalid user ns Address : Jungja-dong, Bundang-gu, Sungnam-ci
from 174.121 .23.114 port 50963 ssh2 Zip Code : 463-711
Здесь ата­к ую­щий ищет под­лин­ные име­на поль­зо­ва­те­лей. Те­перь мы зна­ем, что про­вай­дер ата­к ую­ще­го – Korea Telecom.
В тот день жур­нал за­фик­си­ро­вал 13647 та­ких атак с 959 раз­лич­ Про­грам­ма geoiplookup со­об­щит его гео­гра­фи­че­ское по­ло­же­ние:
ны­ми име­на­ми поль­зо­ва­те­лей. Вто­рой тип вы­гля­дел так: $ geoiplookup 222.122.163.82
Mar 22 08:40:45 ns sshd[23270]: Failed password for root from GeoIP Country Edition: KR, Korea, Republic of
222.122.163.82 port 56501 ssh2 За об­нов­ления ба­зы дан­ных GeoIP нуж­но пла­тить; пла­тить
Это неудач­ная по­пыт­ка вхо­да в систе­му от имени су­пер­поль­ так­же мож­но за за­про­сы че­рез Ин­тернет – см. www.maxmind.
зо­ва­те­ля-root, и та­ких по­пы­ток за 10 ми­нут бы­ло 258. За­меть­те: com. По­лез­ные под­роб­но­сти иногда мож­но по­лу­чить с по­мо­щью
оба со­об­щения со­дер­жат IP-ад­рес ком­пь­ю­те­ра, с ко­то­ро­го про­во­ traceroute. По­смот­ри­те на вре­мен­ные ин­тер­ва­лы про­хо­ж ­дения за­
ди­лись ата­ки. Соб­ствен­но го­во­ря, 57 % из 99647 строк журнала про­са, сравните их с вре­мен­ны­ми ин­тер­ва­ла­ми про­хо­ж ­дения за­
со­дер­жа­ли IP-ад­рес 222.122.163.82. По­смот­рим, что мы смо­жем про­са ту­да-об­рат­но, пре­достав­лен­ны­ми коман­дой ping, и, мо­жет
о нем уз­нать. По­ка вы ра­до­ст­но пред­вку­шае­те, как мы раскро­ем быть, вам уда­ст­ся оп­ре­де­лить по­ло­жение мар­шру­ти­за­то­ра ря­дом
имя и ад­рес пло­хо­го пар­ня, немно­го ох­ла­дим ваш пыл. Во-пер­ с ата­к ую­щим ком­пь­ю­те­ром.
вых, най­ден­ный IP-ад­рес мо­жет быть ад­ре­сом шлю­за NAT, во-вто­ Несколь­ко по­лез­ных ути­лит для ро­зы­сков в Ин­тернете есть
рых, мно­гие ата­ки про­во­д ят­ся со взло­ман­ных компьютеров. на сай­те www.robtex.com. Мож­но уз­нать, ка­кие сай­ты на­хо­д ят­
ся на за­д ан­ном IP-ад­ре­се, кто вла­де­ет бло­ком IP-ад­ре­сов, до­
За ку­ли­са­ми IP-ад­ре­са бав­лен ли сайт в чер­ный спи­сок и мно­гое дру­гое. (Сле­д у­ет под­
По­про­бу­ем сде­лать по IP-ад­ре­су об­рат­ный DNS-за­прос. Ре­зуль­тат черк­нуть, что нет при­чин по­доз­ре­вать вла­дель­цев сай­тов,
вы­пол­не­ния ко­ман­ды не­мно­го со­кра­щен. раз­ме­щен­ных на этом ком­пь­ю­те­ре. Они поч­ти на­вер­ня­ка лишь
$ dig -x 222.122.63.82 невин­ные свидетели).
;; QUESTION SECTION: На­ко­нец, мож­но по­про­бо­вать про­ска­ни­ро­вать ком­пь­ю­тер
;82.163.122.222.in-addr.arpa. IN ко­ман­дой nmap:
PTR # nmap -O 222.122.163.82
;; AUTHORITY SECTION: Interesting ports on 222.122.163.82:
163.122.222.in-addr.arpa. 600 IN Not shown: 985 closed ports
SOA PORT STATE SERVICE
ns1.ne.kr.admin.100dedi.com. 21/tcp open ftp
PTR-за­пи­си не най­де­но, но мы уз­на­ли, что сер­вер имен для это­го 22/tcp open ssh
бло­ка ад­ре­сов на­хо­дит­ся в Ко­рее. Мож­но так­же за­гля­нуть в ба­зу 53/tcp open domain
дан­ных RIPE на www.db.ripe.net с по­мо­щью whois: 80/tcp open http
$ whois 222.122.163.82 .. . вы­вод опу­щен ...
KRNIC is not an ISP but a National Internet Registry similar to OS details: Linux 2.6.9 - 2.6.15, Linux 2.6.9 - 2.6.15 (x86),
APNIC. Linux 2.6.9 - 2.6.20
The following is organization information that is using the IPv4 От­кры­тые пор­ты го­во­рят нам, что это ти­пич­ный web-сер­вер
address. с Linux. Итак… пре­ступ­ник, ве­ро­ят­но, жи­вет в Се­уле, поль­зу­ет­ся
IPv4 Address : 222.122.163.0-222 .122.163.255 Linux, при­хра­мы­ва­ет и ку­рит «Кэмел». Эле­мен­тар­но, Ват­сон!

За­драи­ва­ем лю­ки
Воз­мож­ный ущерб от атак на SSH мож­но сни­зить, Это де­ла­ет скрипт DenyHosts – он бло­ки­ру­ет ад­ре­
за­пре­тив пря­мой вход в сис­те­му от име­ни root – са, по­ме­щая их в /etc/hosts.deny.
про­сто убе­ди­тесь, что в sshd_config есть сле­д ую­ Fail2ban так­же за­пус­ка­ет­ся по ана­ли­зу за­пи­сей
щая стро­ка: из журналов, но дей­ст­ву­ет че­рез об­нов­ле­ние пра­
PermitRootLogin no вил бранд­мау­эра в Iptables.
Дру­гая тех­но­ло­гия, осо­бен­но эф­фек­тив­ная
про­тив атак пря­мым пе­ре­бо­ром – ана­лиз со­об­
ще­ний, ко­то­рые ак­тив­но пи­шет в журнал сер­вер На сай­те Robtex мож­но уз­нать про­вай­де­ра
SSHD, и за­прет дос­т у­па с IP-ад­ре­сов, от­к у­д а про­ ата­кую­ще­го ком­пь­ю­те­ра и сай­ты, ко­то­рые
из­во­д ят­ся не­удач­ные по­пыт­ки вхо­д а в сис­те­му. на нем на­хо­дят­ся. Вни­ма­ние: чер­ный спи­сок!

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      51
Рецепты доктора Брауна 

На­страи­ва­ем ProFTPD
FTP-сер­ве­ры Ус­та­но­вим про­фес­сио­наль­ный FTP-сер­вер и на­стро­им ано­ним­ный
или ау­тен­ти­фи­ци­ро­ван­ный дос­туп с пол­но­функ­цио­наль­ным ProFTPD

Н
а про­шлой неде­ле ме­ня пой­мал врас­плох один из кли­ен­ Рис. 1. В ак­тив­ном
Кли­ент Сервер ре­жи­ме FTP-сер­вер
тов, про­сив­ший по­мочь в уста­нов­ке FTP-сер­ве­ра. Я этим
дав­но не занимал­ся, и некогда тес­ное зна­ком­ство с FTP Порт 2135 Порт 2134 Порт 21 Порт 20
ини­ции­ру­ет ка­нал
(дан­ные) (дан­ные) (ко­ман­да) (дан­ные) дан­ных с кли­ен­том
поч­ти уле­т у­чи­лось из па­мя­ти. По­доз­ре­ваю, что дни FTP со­чте­ны,
(шаг 3), ис­поль­зуя
и HTTP бо­лее со­зву­чен со­вре­мен­но­сти. но­мер пор­та, пе­ре­
1
Од­на­ко недостат­ка FTP-сер­ве­ров в обыч­ных ре­по­зи­то­ри­ях дан­ный ему кли­ен­
нет: в Fedora их два (ProFTPD и vsftpd), а в Ubuntu – не менее че­ 2 том на ша­ге 1. Этот
ты­рех. Дальней­ший по­иск с по­мо­щью монеты и «звон­ка дру­г у» ка­нал ско­рее все­го
3
по­мог оста­но­вить вы­бор на ProFTPD, и на дан­ном уро­ке я опи­шу бу­дет бло­ки­ро­ван
свой опыт по его уста­нов­ке и на­строй­ке. Я де­лал это в Fedora 12, 4 шлю­зом кли­ен­та.
но в дру­гих ди­ст­ри­бу­ти­вах все долж­но быть при­мер­но так же.
ProFTPD – мощ­ный пол­но­функ­цио­наль­ный FTP-сер­вер. Он за­
Ак­тив­ный ре­жим FTP
пуска­ет­ся как са­мо­стоя­тель­ная служ­ба или че­рез xinetd и под­
дер­жи­ва­ет аноним­ный и ау­тен­ти­фи­ци­ро­ван­ный вход в систе­му,
В пас­сив­ном ре­
вклю­чая «вир­т у­а ль­ных поль­зо­ва­те­лей», учет­ные запи­си ко­то­рых Кли­ент Сервер жи­ме ка­нал дан­ных
оп­ре­де­ле­ны в ка­та­ло­гах LDAP или ба­зах дан­ных SQL. Он так­же ини­ции­ру­ет кли­ент
Порт 2135 Порт 2134 Порт 21 Порт 8112
до­пуска­ет вир­т у­а ль­ный хостинг – об­слу­жи­вание несколь­ких FTP- (дан­ные) (ко­ман­да) (ко­ман­да) (дан­ные) (шаг 3), ис­поль­зуя
сай­тов с од­но­го эк­зем­п­ля­ра FTP-сер­ве­ра. Рас­смот­рим все эти воз­ но­мер пор­та, пе­ре­
мож­но­сти. 1 дан­ный ему сер­ве­
Сна­ча­ла я ус­та­но­вил сер­вер и на­стро­ил его за­пуск во вре­мя ром на ша­ге 2. Этот
2 ва­ри­ант «дру­же­
за­груз­ки:
люб­нее» по от­но­ше­
# yum install proftpd 3
нию к бранд­мау­эру.
# chkconfig proftpd on
4
Сра­зу по­сле уста­нов­ки сер­ве­ра ин­стинкт по­гнал ме­ня к фай­лу
на­строй­ки (в дан­ном слу­чае /etc/proftpd.conf). Его струк­т у­ра с кон­
тейнер­ны­ми XML-тэ­га­ми по­доб­на фай­лу на­строй­ки Apache. В фай­ Пас­сив­ный ре­жим FTP
ле на­строй­ки по умол­чанию, ко­то­рый по­став­ля­ет­ся с Fedora 12,
на­хо­дит­ся ра­бо­чая кон­фи­г у­ра­ция с ря­дом до­ба­воч­ных оп­ций, ко­ безо­пас­но­сти FTP. Во-пер­вых, по се­ти не пе­ре­да­ют­ся на­стоя­щие
то­рые за­ком­мен­ти­ро­ва­ны. На рис. 2 по­ка­зан минималь­ный файл имя и па­роль, ко­то­рые мо­г ут пе­ре­хва­тить пло­хие парни; во-вто­
на­строй­ки. Он со­дран с по­став­ляе­мо­го (уре­зан), но доста­то­чен рых, факт от­сут­ствия шиф­ро­вания со­единения не име­ет зна­
для под­держ­ки ау­тен­ти­фи­ци­руе­мо­го вхо­да по FTP. чения, ведь со­дер­жи­мое сер­ве­ра все рав­но пуб­лич­но!
В фай­ле proftpd.conf, ко­то­рый по умол­чанию по­став­ля­ет­
Аноним­ный FTP ся с Fedora 12, так­же есть сек­ция <Anonymous>, ко­то­рая ра­бо­та­
Аноним­ный FTP по­зво­ля­ет поль­зо­ва­те­лю ау­тен­ти­фи­ци­ро­вать­ся ет сра­зу же. Ну, поч­ти. Мне по­на­до­би­лось толь­ко до­ба­вить в файл
под именем «ftp» или «anonymous» и па­ро­лем, ко­то­рым по тра­ /etc/sysconfig/proftpd сле­д ую­щ ую стро­к у:
ди­ции дол­жен быть его e-mail ад­рес, но на прак­ти­ке это не про­ PROFTPD_OPTIONS=”-DANONYMOUS_FTP”
ве­ря­ет­ся. Аноним­ный FTP ши­ро­ко при­ме­ня­ет­ся для пре­достав­ и пе­ре­за­пус­тить ProFTPD ко­ман­дой:
ления досту­па к ин­тернет-ре­сур­су толь­ко на чтение и на мно­го лет service proftpd restart
пред­восхи­тил ис­поль­зо­вание для тех же це­лей HTTP и web-сай­ В кон­фи­г у­ра­ции по умол­чанию ка­та­лог ~ftp (ко­то­ро­му со­
тов. Аноним­ный вход в систе­му снима­ет мои за­бо­ты по по­во­д у от­вет­с тву­ет /var/ftp) яв­ля­ет­ся ка­та­ло­гом home для аноним­

Нек­ро­лог для FTP?


FTP – про­т о­кол древний. Пер­вые RFC да­т и­ру­ю т­ В ак­т ив­ном ре­ж и­ме сер­ве­ру поч­т и на­вер­ня­к а не уда­ оза­бо­чен­ным безо­пас­но­стью Ин­тернете без­на­деж­но
ся 1971 го­дом, а фор­маль­но он был оп­р е­д е­лен ст­с я сде­лать это из-за фильт­р а­ц ии и маски­ро­в ания уста­рел.
в RFC454 (1973) и RFC959 (1985). При­б ли­зи­т ель­ па­ке­тов, вы­пол­няе­мых шлю­зом, че­рез ко­то­рый кли­ Часть этих труд­но­с тей мож­но обойти пе­ре­на­прав­
ный со­вре­менник Telnet, FTP был изо­бре­т ен за­д ол­г о ент под­к лю­чен к Ин­т ернету. Пас­с ив­ный ре­ж им про­ лением локаль­но­го пор­т а SSH для соз­д ания за­щи­щен­
до бранд­мау­эров, ча­с т­ных ад­р ес­ных про­с транств, ще, но ему все рав­но необ­хо­д им от­дель­ный порт но­го туннеля для FTP-траф­фи­ка – и есть кое-ка­к ие
NAT и про­чих со­мнитель­ных удо­воль­с твий со­вре­мен­ (на сер­ве­р е) для ка­ж ­до­го кли­ен­т а, и по­т ен­ц и­а ль­но удоб­ные хит­ро­с ти при от­с ле­ж и­вании со­единения, ко­то­
но­г о Ин­т ернета, и не очень хо­р о­ш о с ними ла­д ит. Нач- на бранд­мау­эре сер­ве­р а долж­но быть от­к ры­то мно­же­ рые по­мо­г ут бранд­мау­эрам при­спо­со­бить­ся к необыч­
нем с то­г о, что FTP ис­поль­зу­е т два раз­лич­ных со­е ди- ство пор­тов. но­му ис­поль­зо­ванию пор­тов в FTP. Но все это на­по­ми­
нения – для дан­ных и для управ­ления. Он ра­б о­т а­е т В FTP нель­зя за­дать пол­ное имя (FQDN) сай­та, с ко­ на­ет мне Глав­ный дуб в Шер­вуд­ском ле­су, дав­но уж
в «ак­т ив­ном» или «пас­с ив­ном» ре­ж и­мах. Эти тер­ми­ны то­рым про­из­во­дит­ся со­единение, что де­ла­ет невоз­мож­ на­ва­лив­ший­ся на ограду. При ви­де него я по­ры­ва­
опи­с ы­в а­ю т си­т уа­ц ию с точ­к и зрения сер­ве­р а, от­р а­ж ая ным вир­т у­а ль­ный хостинг на осно­ве имен. Ме­ханизм юсь из жа­ло­с ти вы­дер­нуть под­пор­к и и дать поч­тен­-
его роль: иниции­ру­е т ли он ка­нал дан­ных с кли­ен­т ом ау­тен­ти­фи­ка­ции, при ко­то­ром имя и па­роль (да и са­ но­м у де­ре­ву упасть и достой­но уме­реть, что­бы по за­ко­
или пас­с ив­но принима­е т его от кли­ен­т а (см. рис. 1). ми фай­лы) пе­ре­да­ют­ся в от­кры­том ви­де, в нынешнем нам при­ро­ды на его месте поя­вил­ся но­вый росток.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
52      LXF132 Июнь 2010
 Рецепты доктора Брауна

ных поль­зо­ва­те­лей. При уста­нов­ке па­ке­та ProFTPD он соз­д а­ Рис. 2. Этой ми­ни­
ет ка­та­ло­ги /var/ftp/pub (ку­д а нуж­но вы­к ла­ды­вать кон­тент) маль­ной кон­фи­гу­
и /var/ftp/upload (ку­д а мо­г ут вы­к ла­ды­вать кон­тент аноним­ные ра­ции дос­та­точ­но
для под­держ­ки ау­
поль­зо­ва­те­ли).
тен­ти­фи­ци­ро­ван­но­
Кон­фи­г у­ра­ция по умол­чанию так­же под­дер­жи­ва­ет ау­тен­ти­ го вхо­да по FTP.
фи­ка­цию для поль­зо­ва­те­лей, у ко­то­рых на сер­ве­ре есть обыч­
ные учет­ные запи­си. По­сле вхо­да по FTP вы по­па­дае­те в свой до­
машний ка­та­лог. Сна­ча­ла мне это не уда­лось, и я неко­то­рое вре­мя
искал при­чи­ну, за­пустив ProFTPD не в ре­жи­ме де­мо­на, со вклю­
чен­ной от­лад­кой:
proftpd -n -d 5
и па­рал­лель­но за­пус­тив tail -f на /var/log/messages. В ито­ге ока­
за­лось, что SELinux не да­вал де­мо­ну зай­ти в до­маш­ний ка­та­лог,
и я по­сту­пил, как все­гда в та­ких си­т уа­ци­ях: пе­ре­вел SELinux в раз­
ре­шаю­щий ре­жим (permissive mode):
setenforce permissive
по­сле че­го все за­ра­бо­та­ло. На на­стоя­щем сер­ве­ре от­но­сить­ся
к уров­ню безо­пас­но­сти SELinux нуж­но бо­лее серь­ез­но.
Вир­т у­а ль­ный поль­зо­ва­тель – поль­зо­ва­тель, у ко­то­ро­го нет
обыч­ной учет­ной запи­си Linux на сер­ве­ре в /etc/passwd или где-
ли­бо еще. По­ня­тие «вир­т у­а ль­ный поль­зо­ва­тель» вво­дит в за­блу­
ж­дение – неко­то­рые из них вполне ре­а ль­ны: на­стоя­щее те­п­ло, ды­ что­бы под­це­пить но­вые ад­ре­са, и про­верь­те, что се­те­вые ин­тер­
ша­щие те­ла; вир­т у­а ль­ны толь­ко их учет­ные запи­си. Эти запи­си фей­сы для всех ад­ре­сов соз­да­ны, ко­ман­дой
мо­г ут хранить­ся в AuthUserFiles, ка­та­ло­гах LDAP и ба­зах дан­ных ifconfig
SQL. Про­стей­ший ме­ханизм ау­тен­ти­фи­ка­ции вир­т у­а ль­но­го поль­ Для ка­ж ­до­го из сай­тов в фай­ле на­строй­ки не­об­хо­ди­ма сек­ция
зо­ва­те­ля – AuthUserFile, это про­стой тек­сто­вый файл в том же <VirtualHost>. Она долж­на вы­гля­деть при­мер­но так:
фор­ма­те, что и /etc/passwd. <VirtualHost 144.16.44.5>
...
Вир­ту­аль­ный хостинг </VirtualHost>
А ес­ли нуж­но раз­местить несколь­ко FTP-сай­тов в од­ной систе­ме? или вме­сто IP-ад­ре­са мож­но ис­поль­зо­вать имя ком­пь­ю­те­ра
К со­жа­лению, реа­ли­зо­вать та­кой же вир­т у­а ль­ный хостинг, как <VirtualHost foo.example.com>
и для web-сай­тов, когда запи­си несколь­ких уз­лов в DNS ссыла­ ...
ют­ся на один и тот же IP-ад­рес, здесь не уда­ст­ся. Это ра­бо­та­ет для </VirtualHost>
HTTP, но не для FTP, по­то­му что в HTTP-за­про­се есть по­ле «Host», но это не долж­но вве­сти вас в за­блу­ж ­дение. Имя ком­пь­ю­те­ра бу­
по­яс­няю­щее web-сер­ве­ру, для ка­ко­го сай­та пред­на­зна­чен за­прос, дет раз­ре­ше­но в IP-ад­рес, а он-то и оп­ре­де­ля­ет, ка­кой FTP-сайт
да­же ес­ли все они при­хо­д ят на один и тот же IP-ад­рес. В про­то­ко­ бу­дет об­слу­жи­вать­ся. Ес­ли у вас несколь­ко имен ком­пь­ю­те­ров,
ле FTP та­ко­го по­ля нет, и в вир­т у­а ль­ном хостин­ге FTP у ка­ж ­до­го ко­то­рые DNS пре­об­ра­зу­ет в один и тот же IP-ад­рес, и у ка­ж­-
сай­та дол­жен быть соб­ствен­ до­го из них есть свой раз­дел
ный IP-ад­рес, по ко­то­ро­му сер­
вер мог бы по­нять, для ка­ко­го
«Относиться к уровню <VirtualHost>, бу­дет вы­бран
пер­вый из них. Ес­ли у несколь­
сай­та пред­на­зна­чен за­прос.
Но да­же ес­ли вы сча­ст­
безопасности SELinux ких хостов есть что-то об­щее,
мож­но вынести это в раз­дел
ли­вый об­ла­да­тель доста­точ­- нужно серьезно.» <Global> фай­ла на­строй­ки.
но­го ко­ли­че­ства сво­бод­ных IP- Что­бы это до­ка­зать, я на­
ад­ре­сов, нуж­но сде­лать еще две ве­щи. Во-пер­вых, оп­ре­де­лить зна­чил вто­рой IP-ад­рес (192.168.1.69) се­те­вой кар­те FTP-сер­ве­ра
«IP-али­ас» на се­те­вой кар­те для всех ад­ре­сов, ко­то­рые бу­д ут ис­ и до­ба­вил раз­дел в proftpd.conf – вы мо­же­те най­ти ее на на­шем
поль­зо­вать­ся. Во-вто­рых, соз­дать для ка­ж ­до­го сай­та в фай­ле DVD. «Вто­рой» FTP-сер­вер пре­достав­ля­ет аноним­ный доступ
proftpd.conf сек­цию <VirtualHost>. к ка­та­ло­г у /var/ftp/secondary/pub. Я так­же соз­д ал файл /var/ftp/
В ди­ст­ри­бу­ти­вах на ба­зе RedHat для ка­ж ­до­го до­полнитель­ secondary/welcome.msg с при­вет­стви­ем.
но­го IP-ад­ре­са, ко­то­рый нуж­но свя­зать с се­те­вой кар­той, по­на­ Мно­гие воз­мож­но­сти ProFTPD ос­та­лись за рам­ка­ми на­ше­го
до­бит­ся соз­дать файл с именем вро­де /etc/sysconfig/network- об­зо­ра – они вклю­ча­ют управ­ле­ние дос­т у­пом, ве­де­ние жур­на­лов
scripts/ifcfg-eth0:N, где N – но­мер алиа­са (0, 1, 2, ...). Файл бу­дет (см. стр. 32) и «пе­соч­ни­цы» chroot.
при­мер­но та­ким:
DEVICE=eth0:1
BOOTPROTO=static Где уз­нать боль­ше
IPADDR=192.168.1.69
ONBOOT=yes Сайт ProFTPD на­хо­дит­ся на www.proftpd.org.
HWADDR=00:0C:29:E1:E4:23 Спи­сок ди­рек­тив фай­ла на­строй­ки, по ал­фа­ви­т у, см. на сай­те
За­ме­ни­те зна­че­ния DEVICE, IPADDR и HWADDR со­от­вет­ст­вую­щи­ми www.proftpd.org/docs/directives/linked/by-name.html.
Ин­те­рес­ное об­су­ж ­де­ние ак­тив­но­го и пас­сив­но­го ре­жи­мов FTP –
в ва­шей сис­те­ме. Для ка­ж ­до­го IP-ад­ре­са по­на­до­бит­ся от­дель­ный на http://slacksite.com/other/ftp.html.
файл. На­сколь­ко я знаю, сде­лать не­что вро­де «Я хо­чу на­зна­чить Что­бы уз­нать боль­ше о вир­т у­а ль­ных поль­зо­ва­те­лях, мо­же­те за­гля­
все ад­ре­са из бло­ка 10.1.0.0/24 этой се­те­вой кар­те» нель­зя (ес­ли нуть в ру­ко­во­дство по соз­да­нию учет­ных за­пи­сей с по­мо­щью MySQL,
я не­прав, сиг­на­ли­зи­руй­те!). www.howtoforge.com/proftpd_mysql_virtual_hosting. Так­же взгля­ни­те
на www.kreci.net/linux/proftpd-virtual-user-quick-howto: там при­во­дит­
По­сле соз­да­ния фай­лов вы­пол­ни­те ко­ман­ду
ся су­ро­во-крат­кое объ­яс­не­ние AuthUserFile.
service network restart

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      53
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Учебники
Наши эксперты помогут вам с любым приложением Linux!

ЕВГЕНИЙ БАЛДИН
Начинал с Агатов.
Когда-то даже знал,
что такое Робик.

Сво­бо­да вы­би­рать
от­нюдь не бес­плат­на
В этом ме­ся­це вы на­у­чи­тесь...
Хо­ти­те по­да­рить лю­д ям сво­бо­ду? Ри­со­вать Рас­ши­рять
А что они с ней бу­д ут де­лать? в век­то­ре �������������������� 56 брау­зер ���������������������� 60
Из филь­ма по мо­ти­вам пье­сы Inkscape и Open Clip Art со­став­ля­ Firefox очень неплох, но его мож­
ют убой­ную ком­би­на­цию, по­ла­га­ет но сде­лать еще луч­ше. Джуль­ет­та
Ев­гения Швар­ца «Убить дра­ко­на»
Эн­ди Ченнел. Плюс: ин­те­рак­тив­ные Кемп по­ре­ко­мен­д у­ет для него луч­
оп­ро­сы в Impress. шие до­полнения.

К
ом­пания Wolfire опуб­ли­ко­
ва­ла ста­ти­сти­к у по объ­ё­
му вы­пла­чи­вае­мых поль­зо­ Соз­да­вать Со­хра­нять­ся
ва­те­ля­ми раз­лич­ных опе­ра­ци­он­ных ми­ры ������������������������������ 64 в Се­ти �������������������������� 68
систем сумм за на­бор из пя­ти игр При­д у­май­те, как долж­на вы­гля­деть За­будь­те про HTML-фор­мы и вы­
планета ва­шей меч­ты – а Вя­че­слав груз­к у: Бен Мар­тин пред­став­ля­ет
от неза­ви­си­мых раз­ра­бот­чи­ков, ко­
Яст­реб­цев по­мо­жет изо­бра­зить libferris, умею­щ ую запи­сы­вать дан­
то­рый раз­да­вал­ся по прин­ци­пу ее в POV-Ray. ные пря­мо на web-сай­ты.
«пла­ти, сколь­ко хо­чешь». Пред­ста­ви­
те­лей от «цар­ства Linux» бы­ло око­ло
14 %, но до­ход от них со­ста­вил око­ло Поль­зо­вать­ся Пи­сать функ­ции
23 % от об­щей сум­мы. Ины­ми сло­ва­ OOo Base ��������������������� 72 Calc �������������������������������� 76
ми, поль­зо­ва­те­лей Linux по­ка ещё ма­ Ба­зы дан­ных – шту­ка скуч­ная?.. До­бавь­те элек­трон­ным таб­ли­ц ам
Во­все нет: Боб Мосс по­ка­жет, как недостаю­щей функ­цио­нальности
ло, но они го­то­вы пла­тить – в том чис­
ор­ганизо­вать ва­шу ви­део­те­к у по ре­цеп­там Ле­онида Али­фа­но­ва
ле и за до­полнитель­ное удо­воль­ствие. в OpenOffice.org! и Алек­сан­д­ра Мад­ж у­ги­на.
Сво­бо­да то­го сто­ит, и со­вре­мен­ные
адеп­ты сво­бод­но­го ок­ру­жения это
вполне осоз­на­ют. Ожив­лять GUI ��������� 80 По­лу­чать SMS
Да, когда нас бу­дет мно­го, мы ни­ Ин­тер­фей­сы Python-про­грамм за­ от Google ������������������ 84
чем не бу­дем от­ли­чать­ся от среднего пля­шут под ва­шу дуд­к у бла­го­да­ря Лег­ким дви­жением ру­ки, служ­
Clutter, Нику Вей­чу и крас­ным пря­ ба Google Calendar пре­вра­щ а­ет­
поль­зо­ва­те­ля ком­пь­ю­те­ра, но и сей­час
мо­угольникам. ся... в на­стоя­щий пейджер. Спа­си­
на­ше чис­ло не та­кое уж и ма­лень­кое, бо Клау­дио Тан­чони!
а в до­полнение к это­му мы поч­ти в два
раза соз­на­тельнее, чем «сред­няя тем­
пе­ра­т у­ра по ком­пь­ю­тер­ной больни­
це». Из­да­те­ли и соз­да­те­ли, уч­ти­те этот
факт на бу­ду­щее, когда бу­де­те ре­шать Совет месяца: Каль­ку­ля­тор по тре­бо­ва­нию
во­прос о вы­пуске про­грамм­но­го обес­
пе­чения под GNU/Linux. Диа­лог «Вы­полнить коман­д у» [Run Command], вы­зы­ со­бен вы­сту­пать в ро­ли каль­к у­ля­то­ра: на­бе­ри­те в нем
P. S. Вы­шел Emacs 23.2. Он стал ещё вае­мый по Alt+F2, в KDE 4 зна­чи­тель­но преобразился. «2+2=» или «=2+2», и уви­ди­те ре­зуль­тат.
луч­ше, и тек­сто­вый ре­дак­тор, как бы Он по-прежнему уме­ет, хм, вы­пол­нять коман­ды, от­- Дан­ный функ­цио­нал не ог­раничен про­стей­шей
ни фырка­ли за­ви­стники, в нём бли­зок кры­вать всякие URL и искать по web-сай­там (со­от­вет­ ариф­ме­ти­кой – мож­но ис­поль­зо­вать три­го­но­мет­ри­
к со­вер­шен­ству, как ника­кой дру­гой. ствую­щие «вол­шеб­ные сло­ва» при­ве­де­ны в на­строй­ че­ские и про­чие функ­ции. KRunner так­же уме­ет пре­
P. P .S. Hewlett-Packard под­хва­ти­ ках Konqueror), но его воз­мож­но­сти о­богати­лись. об­ра­зо­вы­вать единицы из­ме­рения: на­бе­ри­те 5 in>cm,
По­иск по ра­бо­че­му сто­лу – вещь доста­точ­но что­бы уз­нать, че­му рав­ны 5 дюй­мов в сан­ти­мет­рах
ла остат­ки Palm и бу­дет вкла­ды­вать­ся
из­вест­ная, и по су­ти она оз­на­ча­ет, что вы мо­же­те (об­ра­ти­те внимание на про­бел ме­ж ­ду 5 и in). Как и сле­
в webOS, ба­зи­рую­щую­ся на Linux. На­
искать не толь­ко по име­нам, но и по со­дер­жи­мо­му ду­ет ожи­дать, под­дер­жи­ва­ет­ся ши­ро­кий на­бор единиц
де­юсь, «до­пи­лят», так как Google с его фай­лов, ме­та­дан­ным до­к у­мен­тов, кон­такт-листам из­ме­рения: мы не на­шли фур­лон­гов или ка­бель­товых,
Android необ­хо­дим ка­че­ствен­ный кон­ и да­же за­го­лов­кам от­кры­тых окон. Вы так­же мо­же­те но све­то­вые го­да и про­чие пар­се­ки при­сут­ству­ют.
ку­рент. най­ти му­зыкаль­ные ком­по­зи­ции и тут же до­ба­ Этот ма­лень­кий диа­лог способен на очень мно­гое;
вить их к сво­ему плей-листу. Ес­ли вам и это­го ма­ло, на­жми­те на кноп­к у ? в окне, что­бы по­лу­чить спи­сок
E.m.Baldin@inp.nsk.su KRunner (так те­перь на­зы­ва­ет­ся дан­ный диа­лог) спо­ всех воз­мож­но­стей, ко­то­рые он пре­достав­ля­ет.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132    55
Первые шаги Серия 
«Linux для новичков»

Inkscape: Про­стой
Нуж­на гра­фи­ка для пре­зен­та­ции, рас­сыл­ки или сай­та? Эн­ди Ченнел нау­чит быть
креа­тив­ным с по­мо­щью Inkscape и биб­лио­те­ки OpenClipArt Library.

Мно­гие эле­мен­ты OpenClipArt бы­ли соз­да­ны в Inkscape как груп­


па объ­ек­тов. Раз­груп­пи­руй­те их, что­бы по­лу­чить от­дель­ные час­ти.

или толь­ко SVG, и по­сле рас­па­ков­ки занима­ет на же­ст­ком дис­


ке 1,2 ГБ. Мы вы­бра­ли ком­биниро­ван­ную биб­лио­те­к у, по­то­му что
на­ли­чие двух фор­ма­тов да­ет боль­ше воз­мож­но­стей: PNG служит
для бы­ст­ро­го при­менения в про­ек­тах, а SVG-фай­лы под­ра­зу­ме­
ва­ют воз­мож­ность ре­д ак­ти­ро­вания и под­гон­ки изо­бра­жений для
ва­ших це­лей.
Опи­сание уста­нов­ки биб­лио­те­ки OpenClipArt мы здесь при­во­
дить не бу­дем; но вам сле­д у­ет по­за­бо­тить­ся о на­ли­чии в ва­шей
систе­ме PHP. За­гру­зи­те и раз­верните ар­хив openclipart-2.0‑tools

К
огда вы пред­став­ляе­те ка­к ую-ли­бо ра­бо­т у, идею или про­ с http://download.openclipart.org/downloads/2.0 в ка­та­лог с рас­па­
ект, вид его за­частую не менее ва­жен, чем сам ма­те­ри­ ко­ван­ны­ми изо­бра­жения­ми и скоман­д уй­те make install для сбор­ки
ал. На дан­ном уро­ке мы со­би­ра­ем­ся ис­поль­зо­вать для обо­зре­ва­те­ля. На­ша вер­сия Inkscape – 0.47, по­след­няя вклю­чен­
соз­дания ти­по­гра­фи­ки и оформ­ления от­кры­тый гра­фи­че­ский па­ ная в Ubuntu, но лю­бые дру­гие недавние ре­ли­зы так­же по­дой­д ут,
кет Inkscape. Мы соз­да­дим несколь­ко про­стых ико­нок, восполь­зо­ по­сколь­к у мы не со­би­ра­ем­ся при­ме­нять ниче­го та­ко­го эзо­те­ри­
вав­шись ил­лю­ст­ра­ция­ми биб­лио­те­ки OpenClipArt. ческо­го.
Наш OpenClipArt 2.0 доступ­на по ад­ре­су www.openclipart.org. Изо­
эксперт бра­жения пред­став­ле­ны в па­ке­тах от 350 МБ до 420 МБ (в за­ви­си­ Ре­дак­ти­ру­ем изо­бра­жение
Энди Ченнел мо­сти от ис­поль­зуе­мо­го сжа­тия), и по­сле за­груз­ки и рас­па­ков­ки Для начала им­пор­тируем в Inkscape изо­бра­жение. Мы вы­бра­ли
Эн­ди, ви­ди­мо, бу­ все они пред­став­ля­ют­ся в ви­де на­бо­ра ка­та­ло­гов-ка­те­го­рий, вме­ в биб­лио­те­ке файл под именем coredump_Glassy_WiFi_Signal.svg.
дет де­лать Пер­вые сте с HTML-страница­ми, что­бы вы мог­ли про­смот­реть, как они Это бле­стя­щая икон­ка; но по­че­му бы не пе­ре­кра­сить ее из зе­ле­
ша­ги в Linux веч­но,
вы­гля­д ят. Биб­лио­те­ка доступ­на в ви­де па­ке­та фор­ма­та PNG/SVG ной в пур­пур­ную?
а тех­но­ло­гия­ми он
за­ин­те­ре­со­вал­ся, При щелч­ке на объ­ек­те в Inkscape он вы­би­ра­ет­ся, и во­круг него
от­крыв для се­бя по­яв­ля­ют­ся мар­ке­ры-ру­ко­ят­ки, рас­по­ло­жен­ные в уг­лах и по сто­
Dragon 32. ро­нам. Они слу­жат для из­менения раз­ме­ра объ­ек­та по го­ри­зон­та­
ли, по вер­тика­ли или в обо­их на­прав­лениях од­но­вре­мен­но. Ес­ли
вы из­ме­няе­те раз­мер, но же­лае­те со­хранить про­пор­ции ори­ги­
наль­но­го изо­бра­жения, то при пе­ре­ме­щении мар­ке­ров удер­жи­
вай­те кла­ви­шу Ctrl. Щелкните на объ­ек­те вновь, и мар­ке­ры пе­рей­
дут в ре­жим «вра­щение и скру­чи­вание», по­зво­ляю­щий вы­пол­нять
раз­лич­ные манипу­ля­ции с объ­ек­том.
Мы ра­бо­та­ем с век­тор­ным изо­бра­жением (оно опи­сы­ва­ет­ся
ма­те­ма­ти­че­ски, а не со­став­ля­ет­ся из пик­се­лей), а зна­чит, мас­шта­
би­ро­вание, скру­чи­вание и вра­щение не при­ве­д ут к по­те­ре ка­че­
Здесь по­ка­за­ны два ос­нов­ных сгруп­пи­ро­ван­ных эле­мен­та ства – иг­рай­те с ними вво­лю. В Inkscape мно­же­ство уровней от­ме­
в от­дель­но­сти — эф­фект стек­ла сле­ва и икон­ка спра­ва. ны (Ctrl+Z), так что не бой­тесь все за­пу­тать.

Месяц назад Ро­ди­тель­ский над­зор че­рез Glubble и на­строй­ка ра­бо­че­го сто­ла.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
56      LXF132 Июнь 2010
 Первые шаги Учебник

ди­зайн гра­фи­ки
Ес­ли вы­брать сим­вол Wi-Fi и на­жать икон­к у пур­пур­но­го цве­та Ин­ст­ру­мент Текст
у осно­вания ок­на, то все изо­бра­жение станет пур­пур­ным, по­ в Inkscape ра­бо­та­ет
сколь­к у на са­мом де­ле это груп­па от­дель­ных эле­мен­тов. Их мож­ так же, как в боль­
шин­ст­ве дру­гих
но раз­де­лить, щелк­нув на изо­бра­жении пра­вой кноп­кой мы­ши
при­ло­же­ний.
и вы­брав Раз­груп­пи­ро­вать. В на­шем слу­чае у вас по­лу­чит­ся две
груп­пы. Пер­вая со­дер­жит все тени и бли­ки (стек­ло) – рас­по­ло­же­на
свер­х у – а вто­рая со­дер­жит са­му икон­к у. Та­ким об­ра­зом, сам объ­
ект мож­но лег­ко пре­об­ра­зо­вать в дру­г ую икон­к у, со­хранив блеск.
Да­вай­те от­та­щим стек­лян­ную груп­пу в сто­ро­ну. Ес­ли при этом
при­дер­жать кла­ви­шу Ctrl, груп­па пе­ре­местит­ся стро­го го­ри­зон­
таль­но; это уп­ро­ща­ет по­сле­дую­щее со­вме­щение. Да­лее, ра­зо­бьем
икон­к у на части. Щелкните по ней пра­вой кноп­кой и вы­бе­ри­те Раз­
груп­пи­ро­вать (от­ме­тим, что, воз­мож­но, это при­дет­ся де­лать два­ж­ Сло­ев мож­но соз­дать сколь­ко угод­но и при необ­хо­ди­мо­сти пе­
ды). Те­перь вы­би­рай­те фон икон­ки. Щелкните на но­вом цве­те в па­ ре­ме­щать их вверх и вниз по стоп­ке при по­мо­щи кно­пок-стре­лок Скорая
помощь
лит­ре и пе­ренеси­те стек­лян­ную груп­пу об­рат­но, по­верх икон­ки. внизу па­лит­ры сло­ев. В на­шем при­ме­ре, мы от­де­лим фон от са­мой
икон­ки, что­бы иметь воз­мож­ность со­хранить и его, и слой Glass,
Пред­став­ля­ем слои а из­ме­нять толь­ко са­му икон­к у – ска­жем, до­ба­вим на нее текст.
По­сколь­к у на эк­
ра­не эти три кноп­
Мно­гие про­ек­ты (на­при­мер, кноп­ки для сай­та) тре­бу­ют на­бо­ра От­к лю­чи­те слой Icon, щелк­нув на икон­ке гла­за, и ис­поль­зуй­те ки долж­ны быть
со­гла­со­ван­ных изо­бра­жений, ре­дак­ти­руе­мых раз­дель­но. В этом кноп­к у + для соз­дания но­во­го слоя с именем Text. Его необ­хо­ди­мо до­воль­но ма­лень­
слу­чае удоб­но пра­вить часть изо­бра­жения, не му­ча­ясь с растаски­ упо­ря­до­чить, раз­местив ме­ж ­д у фо­ном и Glass. Для до­бав­ления ки­ми, вы­бе­ри­те
цвет шриф­та, хо­
ванием эле­мен­тов по сто­ро­нам, как де­ла­ли мы. Слои – иде­а ль­ тек­ста примените ин­ст­ру­мен­т Текст, обо­зна­чен­ный на панели ин­ст­
ро­шо кон­тра­сти­
ное ре­шение. ру­мен­тов сле­ва бу­к­вой Т. Щелкните где-нибудь на странице и нач­ рую­щий с фо­ном.
Оста­ва­ясь на изо­бра­жении Wi-Fi, начнем с вы­бо­ра стек­лян­ ните на­бор. По­сле вво­да тек­ста вы­де­ли­те его мы­шью и об­ра­ти­тесь
ной груп­пы и на­жмем Ctrl+X, что­бы вы­ре­зать ее. Те­перь вы­бе­рем к панели ин­ст­ру­мен­тов Текст (ко­то­рая поя­вит­ся над ра­бо­чей об­ла­
Слой > Слои, что­бы уви­деть па­лит­ру сло­ев у пра­во­го края эк­ра­ стью) для из­менения шриф­та, на­чер­тания и раз­ме­ра. Мож­но из­
на. Там бу­дет од­на запись с именем Layer 1. Щелкните на ней пра­ менить еще и цвет тек­ста, вы­брав от­те­нок на па­лит­ре внизу ок­на.
вой кноп­кой мы­ши и вы­бе­ри­те Пе­ре­име­но­вать слой, а за­тем вве­ Од­на из уло­вок, ис­поль­зую­щая­ся для «под­ня­тия» тек­ста
ди­те Icon. над кноп­кой – до­бав­ление тени, а в Inkscape это де­ла­ет­ся весь­
Да­лее восполь­зу­ем­ся кноп­кой + для соз­дания но­во­го слоя ма про­сто. Вы­бе­ри­те текст ин­ст­ру­мен­том Вы­де­ление – стре­лоч­
и да­дим ему имя Glass. Убе­ди­тесь, что он вы­бран, и на­жми­те кой – а за­тем вы­полните Фильт­ры > Свет и тень > От­бра­сы­вае­мая
Ctrl+V, что­бы вста­вить груп­пу теней/бли­ков. Те­перь мож­но пе­ре­ тень. В диа­ло­ге вы уви­ди­те оп­ции для оп­ре­де­ления сме­щения,
ме­щать стек­лян­ную груп­пу по­верх икон­ки. Пре­лесть в том, что раз­мы­вания и про­зрач­но­сти. При их из­менении ис­поль­зуй­те кноп­
мы мо­жем уда­лить эф­фект стек­ла, на­жав на ма­лень­кой икон­ке ку Пред­про­смотр, что­бы ви­деть эф­фект ва­ших из­менений. Когда
гла­за ря­дом с именем груп­пы, и мы смо­жем по­ра­бо­тать над икон­ все бу­дет го­то­во, на­жми­те кноп­к у При­менить. От­ме­тим, что диа­
кой, прежде чем вклю­чим Glass вновь для про­вер­ки эф­фек­та. лог не за­кро­ет­ся, но эф­фект бу­дет при­менен. Ес­ли вы щелкнете
Ря­дом с икон­кой гла­за рас­по­ла­га­ет­ся за­мок, пре­дот­вра­щаю­ вновь, эф­фект станет уже двой­ным.
щий пе­ре­ме­щение и из­менение слоя. От­лич­но бу­дет за­бло­ки­ро­
вать слой Glass и, не от­к лю­чая его, ре­дак­ти­ро­вать слой Icon; тогда До­ба­вим па­ру слов
вы сра­зу же уви­ди­те эф­фект от из­менений. Те­перь мы го­то­вы к за­вер­шению. Ес­ли вы де­лае­те это для сай­та
или пре­зен­та­ции Impress, то, ве­ро­ят­но, за­хо­ти­те вы­брать Файл >
Экс­пор­ти­ро­вать в растр. Это при­ве­дет к за­пуску весь­ма слож­но­го
диа­ло­га. Обыч­но в верхней части про­сто ука­зы­ва­ет­ся «Ри­су­нок»,
а за­тем ис­поль­зу­ет­ся кноп­ка Вы­брать вбли­зи нижнего края ок­на
для оп­ре­де­ления места со­хранения ре­зуль­ти­рую­ще­го PNG-фай­
ла. По­сле всех на­стро­ек на­жми­те кноп­к у Экс­порт для по­лу­чения
фи­наль­но­го ре­зуль­та­та.
Ес­ли вы де­лае­те объ­ект для дру­го­го про­ек­та Inkscape, мо­же­
те со­хранить его в ви­де SVG-фай­ла при по­мо­щи Файл > Со­хранить
как, и пе­рей­д я за­тем в со­от­вет­ствую­щий ка­та­лог. Из­ме­няя сло­во
слоя Text (как по­ка­за­но вы­ше), мож­но по­лу­чить мно­же­ство раз­
лич­ных вер­сий од­но­го и то­го же фай­ла, го­то­во­го к встав­ке в ва­шу
Раз­ме­щая эле­мен­ты в от­дель­ных сло­ях, мож­но ре­дак­ти­ро­вать пре­зен­та­цию или сайт. Вы да­же смо­же­те из­менить цвет фо­на для
од­ну часть, не вли­яя на все ос­таль­ное. соз­дания сме­няю­щих­ся со­стояний в бо­лее слож­ных про­ек­тах.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      57
Учебник Первые шаги 

Impress: Да­ешь
Про­грам­ма для пре­зен­та­ций в OpenOffice.org не толь­ко ото­бра­жа­ет слай­ды...

К
ро­ме тек­сто­во­го про­цес­со­ра и элек­трон­ной таб­ли­
цы, в OpenOffice.org есть па­кет под­го­тов­ки пре­зен­та­ций Соз­да­ние ки­ос­ка
Impress. Он пре­восход­но справ­ля­ет­ся с соз­данием слайд-
шоу, но спо­со­бен и на дей­ствия по­ин­те­реснее. На дан­ном уро­ке Ес­ли вы соз­дае­те пре­зен­та­цию для ки­ос­ка – а имен­но, про­стые фор­
мы соз­да­дим неболь­шое са­мо­доста­точ­ное Impress-при­ло­жение мы, ме­ж ­д у ко­то­ры­ми пе­ре­хо­дит поль­зо­ва­тель, ве­ро­ят­но, бу­дет дос­
с гра­фи­кой и ссыл­ка­ми, при­год­ное для ис­поль­зо­вания поч­ти та­точ­но раз­ра­бо­тать и со­хра­нить про­ект в ви­де обыч­но­го фай­ла
OpenOffice.org. Это даст вам не­сколь­ко за­ме­ча­тель­ных оп­ций, от­сут­
во всех ком­пь­ю­тер­ных систе­мах. Наш про­ект бу­дет пред­став­лять ст­вую­щих при про­иг­ры­ва­нии Flash, ко­то­рый мы ис­поль­зу­ем здесь.
со­бой на­бор всплы­ваю­щих кар­то­чек с фра­зой на фран­ц уз­ском, На­при­мер, мож­но при­ме­нять пе­ре­хо­ды ме­ж ­д у слай­да­ми, ани­ма­
ил­лю­ст­ра­ци­ей и дву­мя анг­лий­ски­ми пе­ре­во­да­ми. За­тем мы по­про­ цию и тек­сто­вые эф­фек­ты. При вы­груз­ке во Flash все это ос­та­нет­ся
сим поль­зо­ва­те­ля вы­брать со­от­вет­ствую­щий пе­ре­вод, и, в за­ви­ за бор­том.
Раз­ра­бот­к у ани­ма­ции в Impress мы опи­шем в сле­д ую­щих вы­пус­
си­мо­сти от от­ве­та, он уви­дит, прав он или нет. Ок­на с ре­зуль­та­том
ках учеб­ни­ка «Пер­вые ша­ги».
при­ве­дут ли­бо к сле­дую­ще­му во­про­су, ли­бо к за­вер­шению. Ис­
поль­зуе­мое здесь изо­бра­жение Эй­фе­ле­вой башни соз­дал Сти­вен
ван Вель [Steven Van Wel]; оно ис­поль­зу­ет­ся на усло­ви­ях ли­цен­зии По за­вер­шении, на­чи­най­те до­бав­лять на слайд ди­зайн. На­при­
Creative Commons. мер, мож­но по­местить на глав­ную страницу бро­ское фо­но­вое изо­
бра­жение, ис­поль­зуя ме­ню Встав­ка > Изо­бра­жение > Из фай­ла,
Соз­да­ем кар­ту со­дер­жи­мо­го а за­тем растя­нув его на весь слайд. Те­перь, ис­поль­зуя панель ин­
Конеч­но же, име­ет­ся мно­же­ство дру­гих при­ло­жений для соз­дания ст­ру­мен­тов внизу основ­но­го ок­на, вы­бе­ри­те икон­к у Текст, щелк­
неболь­ших пре­зен­та­ций вро­де этой, но на­ше по­зво­ля­ет ис­сле­до­ ните на слай­де и соз­дай­те за­го­ло­вок ва­ше­го про­ек­та.
вать доступ­ные оп­ции для вве­дения в про­ект ин­те­рак­тив­но­сти. По умол­чанию сле­д ую­щий слайд по­яв­ля­ет­ся после щел­чка
Пер­вым де­лом соз­да­дим «со­дер­жи­мое», что­бы точ­но знать, поль­зо­ва­теля в лю­бом месте пре­ды­д у­ще­го; дадим ему для щелч­
что про­ис­хо­дит на ка­ж ­дом слай­де. Для про­сто­ты у нас бу­дут стар­ ков нечто бо­лее осязаемое. Мож­но соз­дать фор­му через панель
то­вая и за­вер­шаю­щая страницы ин­ст­ру­мен­тов у нижнего края
и три во­про­са – ка­ж ­дый с эк­ра­
ном вер­но­го и невер­но­го от­ве­та.
«Наш про­ект по­зво­лит ок­на (и да­же до­ба­вить мет­к у),
ис­поль­зо­вать фраг­мент тек­
То есть все­го 11 слай­дов. Нач­
нем с пустой пре­зен­та­ции, хо­тя
ис­сле­до­вать не­ко­то­ ста или им­пор­ти­ро­вать кноп­
ку из та­ко­го при­ло­жения, как
мо­же­те на­чать и с шаб­ло­на (или рые дос­туп­ные оп­ции.» GIMP или Inkscape. Мы сде­ла­
соз­дать соб­ствен­ный). ем по­следнее, и применим для
Для до­бав­ления некой ви­ди­мой струк­т у­ры за­да­дим име­на соз­дания кноп­ки ме­ню Встав­ка > Изо­бра­жение > Из фай­ла.
В Impress до­с­та­ слай­дов в со­от­вет­ствии с их со­дер­жи­мым. Лег­че все­го это сде­ С по­мо­щью мар­ке­ров, по­яв­ляю­щих­ся при щелч­ке на изо­бра­
точ­но мно­го лать на вклад­ке Сор­ти­ров­щик слай­дов. Щелкните пра­вой кноп­кой жении, мож­но из­менить его раз­мер – ис­поль­зуй­те кла­ви­шу Shift,
раз­лич­ных пе­ре­ мы­ши на ка­ж ­дом из них по оче­ре­ди и вы­бе­ри­те Пе­ре­име­но­вать, что­бы со­хранить про­пор­ции – а за­тем пе­ренести его на под­хо­д я­
хо­дов, но Flash что­бы за­дать но­вое имя. щее ме­сто.
их не лю­бит.

Из Impress мож­но вы­пол­нять экс­порт в PDF с за­клад­ка­ми,


но ссыл­ки на слай­дах не под­дер­жи­ва­ют­ся.

Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/!


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
58      LXF132 Июнь 2010
 Первые шаги Учебник

ин­те­рак­тив!
Шаг за шагом: Раз­ра­бо­та­ем ин­те­рак­тив­ный оп­рос­ник

1 Соз­да­ем во­про­сы 2 До­бав­ля­ем вы­бор 3 Соз­да­ем страницу с от­ве­том


Ис­поль­зуя изо­бра­жение и тек­сто­вый ин­ст­ру­мент, имею­ На­до свя­зать на­ши от­ве­ты с вер­ным и невер­ным ва­ри­ Так же, как и ранее, до­бавь­те текст и изо­бра­жения,
щие­ся в Impress, до­бавь­те ваш пер­вый во­прос на вто­ ан­та­ми. Вы­де­ли­те один от­вет, за­тем вы­бе­ри­те Де­мон­ что­бы по­ка­зать поль­зо­ва­те­лю, пра­виль­но он от­ве­тил
рой слайд. В на­шем при­ме­ре мы ско­пи­ро­ва­ли и вста­ ст­ра­ция > Дей­ствие по щелч­к у мы­ши... В вы­па­даю­ или ошиб­ся. Помните: что­бы все ра­бо­та­ло, вы долж­ны
ви­ли изо­бра­жение с пер­во­го слай­да, за­тем по­мести­ли щем спи­ске вы­бе­ри­те Пе­рей­ти к странице или объ­ек­т у про­сле­дить, что поль­зо­ва­те­ли по­па­дут на пра­виль­ные
свер­х у про­зрач­ный бе­лый квад­рат для боль­шей при­ и про­кру­ти­те спи­сок имею­щих­ся страниц, по­ка не уви­ страницы! Раз­ра­бо­тав страницы еди­но­ж ды, вы мо­же­те
вле­ка­тель­но­сти. Текст – это про­сто тек­сто­вое по­ле, ди­те нуж­ную. Вы­бе­ри­те ее и на­жми­те OK. вы­ре­зать и встав­лять их в ка­че­стве дру­гих страниц вер­
со сло­ва­ми, от­фор­ма­ти­ро­ван­ны­ми при по­мо­щи панели ных и невер­ных от­ве­тов.
фор­ма­ти­ро­вания в вер­х у эк­ра­на.

4 Ссыл­ки Да­лее и Вы­ход 5 Вы­груз­ка фай­ла во Flash 6 Тести­ру­ем в брау­зе­ре


Те­перь вставь­те изо­бра­жение для пунк­тов Да­лее По­сле до­бав­ления всех оп­ций мож­но вы­вести са­мо­ Вы мо­же­те про­тести­ро­вать толь­ко что соз­дан­ный
и Вы­ход. Сде­лай­те это, как ранее, и ис­поль­зуй­те Ко­пи­ доста­точ­ный файл Flash. Его смо­жет ис­поль­зо­ про­ект, от­крыв Firefox и вы­полнив Файл > От­крыть
ро­вать и Вста­вить, что­бы до­ба­вить их на осталь­ вать лю­бой че­ло­век с уста­нов­лен­ным Flash Player файл. Пе­рей­ди­те в ме­сто со­хранения и вы­бе­ри­те SWF-
ные страницы с от­ве­та­ми пе­ред тем, как соз­дать в Windows, Linux или OS X. Вы­зо­ви­те Файл > Экс­ ро­лик. Оп­росник дол­жен по­яв­лять­ся в ва­шем брау­зе­ре,
ссыл­ки. Это по­зво­лит убе­дить­ся, что все они рас­по­ порт и в стро­ке Фор­мат фай­ла вы­бе­ри­те из спи­ска а ссыл­ки – вести в со­от­вет­ствую­щие места. В от­ли­чие
ло­же­ны в долж­ном месте. Щелкните пра­вой кноп­кой Macromedia Flash (SWF). Вве­ди­те имя фай­ла в со­от­- от боль­ших изо­бра­жений, соз­дан­ный на­ми 11‑странич­
мы­ши на пер­вой кноп­ке Вы­ход и вы­бе­ри­те Дей­ствия ­вет­ствую­щем по­ле и на­жми­те кноп­к у Экс­порт. ный оп­росник занима­ет все­го 156 КБ, что пре­восход­но
по щелч­к у мы­ши. Оп­ре­де­ли­те ссыл­к у для пе­ре­хо­да да­же для от­прав­ки друзь­ям по поч­те.
на по­след­нюю страницу, за­тем сде­лай­те то же с кноп­
кой Да­лее, на­пра­вив ссыл­к у на сле­дую­щий во­прос.

Че­рез ме­сяц Мы соз­да­дим ани­ма­цию в Impress и эф­фек­ты с Compiz.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      59
Firefox Обо­га­ти­те свой брау­зер 
по­лез­ны­ми рас­ши­ре­ния­ми

Firefox: В Се­ти
Спи­сок рас­ши­ре­ний для Firefox на­столь­ко дли­нен, что ото­ропь бе­рет.
Джуль­ет­та Кемп под­сте­лит вам со­лом­ки, вы­брав для вас луч­шие.

О
дним из плю­сов Firefox яв­ля­ет­ся на­ли­чие рас­ши­рений –
частей ко­да, ко­то­рые мож­но уста­но­вить, что­бы ваш брау­
зер ра­бо­тал имен­но так, как вы хо­ти­те. Пол­ный спи­сок
доступ­ных рас­ши­рений мож­но най­ти на https://addons.mozilla.
org/firefox, но при их ко­ли­че­стве где-то в рай­оне 5 000 непо­нят­но,
с че­го на­чать; по­это­му мы со­ста­ви­ли для вас спи­сок луч­ших.
Рас­ши­рения про­сты в уста­нов­ке: боль­шин­ство из них мож­
но по­лу­чить, вы­брав в ме­ню Ин­ст­ру­мен­ты > До­полнения и вы­
полнив по­иск во вклад­ке По­иск до­полнений. По­сле уста­нов­ки,
как пра­ви­ло, нуж­но пе­ре­за­пустить Firefox, что­бы из­менения всту­
пи­ли в си­лу.
Неко­то­рые рас­ши­рения пред­ла­га­ют па­ра­мет­ры на­строй­ки, по­
лу­чить доступ к ко­то­рым мож­но во вклад­ке Рас­ши­рения. Здесь же
вы мо­же­те уда­лить до­полнение. По­сле уста­нов­ки неко­то­рых рас­
ши­рений в ме­ню «Ин­ст­ру­мен­ты» по­яв­ля­ет­ся пункт, по­зво­ляю­щий
из­ме­нять на­строй­ки. Ес­ли вам не нра­вит­ся, как ве­дет се­бя рас­ши­
рение, сто­ит про­ве­рить его па­ра­мет­ры и на­строй­ки, пре­ж ­де чем
уда­лить его со­всем.
Рас­ши­рения тести­ро­ва­лись в Firefox вер­сии 3.6 – это те­к у­щая
ста­биль­ная вер­сия; но в ва­шем ди­ст­ри­бу­ти­ве мо­жет быть дру­
гая. Боль­шин­ство рас­ши­рений долж­ны ра­бо­тать с лю­бой вер­си­
ей стар­ше 3.0, или уста­но­ви­те вер­сию 3.6 с сай­та Mozilla: www.
mozilla-europe.org/ru/firefox.

Часть 1 Из­ме­ня­ем об­лик ва­ше­го брау­зе­ра


Fox Splitter та­рий в блог или со­об­щение в элек­трон­ную поч­т у и хо­ти­те иметь
Пер­вое, что мы рас­смот­рим – Fox Splitter: он по­зво­лит воз­мож­ность про­ве­рить ци­та­ты, не пе­ре­ска­ки­вая ме­ж ­ду вклад­ка­
Наш раз­де­лить эк­ран ва­ше­го брау­зе­ра на несколь­ко окон ми ка­ж ­д ую па­ру се­к унд.
эксперт мень­ше­го раз­ме­ра, по вер­тика­ли или по го­ри­зон­та­ли. Вы мо­же­те При­ят­ной шту­кой здесь бу­дет неболь­шая крас­ная бу­лав­ка, по­
Джуль­ет­та Кемп по­вто­рить этот шаг сколь­ко угод­но раз. зво­ляю­щая син­хронизи­ро­вать про­крут­ки ме­ж ­д у эк­ра­на­ми та­ким
Сис­тем­ный ад­ми­ По­нят­но, что при­го­дит­ся это об­ла­да­те­лям боль­шо­го эк­ра­на – об­ра­зом, что ве­до­мая панель ве­дет се­бя ана­ло­гич­но глав­ной. Это
ни­ст­ра­тор и пи­са­
на нетбу­ке тут, ви­ди­мо, ло­вить нече­го. Но при доста­точ­ном про­ мож­но де­лать как по вер­тика­ли, так и по го­ри­зон­та­ли. Дру­гая по­
тель, и она слиш­
ком мно­го си­дит стран­стве удоб­ство бу­дет оче­вид­ным, осо­бен­но ес­ли вы вы­пол­ лез­ная функ­ция – под­держ­ка drag-and-drop: пе­ре­та­щи­те ссыл­к у
в Ин­тер­не­те. няе­те нечто вро­де ис­сле­до­вания и хо­ти­те вы­стро­ить несколь­ко на се­ре­ди­ну пра­вой сто­ро­ны те­к у­щей панели, и поя­вит­ся неболь­
Ей не за­быть вос­ страниц ря­дом для сравнения; или – ес­ли вы пи­ше­те пост/ком­мен­ шое по­ле со стрел­кой. Вставь­те ту­да ссыл­к у, и она бу­дет от­кры­та
торг от об­ре­те­ния
в но­вой панели в на­прав­лении, ука­зан­ном стрел­кой.
вкла­док, и те­перь
она от­кры­ва­ет
по 20 за раз. Stylish
Stylish по­зво­ля­ет лег­ко из­ме­нять стиль вы­бран­ных ва­
ми сай­тов. Вы мо­же­те уста­но­вить го­то­вый стиль с сай­та
http://userstyles.org (или ка­ко­го-нибудь дру­го­го), или напи­сать свой
соб­ствен­ный. Все они бы­ст­ро уста­нав­ли­ва­ют­ся и лег­ко управ­ляют­
ся с по­мо­щью знач­ка S в нижнем пра­вом уг­лу стро­ки со­стояния.
Сайт http://userstyles.org со­дер­жит бо­лее 23 000 доступ­ных сти­
лей. С уче­том ог­ром­ной по­пу­ляр­но­сти Facebook, YouTube и Google,
воз­мож­но, неуди­ви­тель­но, что эти сай­ты по­яв­ля­ют­ся в спи­ске
ча­ще все­го. Нам очень по­нра­вил­ся Cleaned Up от YouTube, ко­то­
рый счи­ща­ет с YouTube неко­то­рую на­кипь; так­же най­дет­ся мно­го-
Fox Splitter по­зво­ля­ет удоб­но про­смат­ри­вать два сай­та ря­дом мно­го вер­сий для YouTube с чер­ным фо­ном. Hello Kitty от Facebook
друг с дру­гом; мож­но так­же на­стро­ить син­хрон­ную про­крут­ку. то­же ужас­но по­пу­ля­рен. Ка­ж ­до­му свое...

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
60      LXF132 Июнь 2010
 Firefox Учебник

с удоб­ст­ва­ми
Мож­но искать под­хо­д я­щие сти­ли, при­менимые к оп­ре­де­лен­
ным сай­там. Есть ряд доступ­ных сти­лей Guardian и BBC, часто при­ Чу­де­са од­ним ма­хом
дающих сай­т у бо­лее минима­ли­стич­ный ви­д Нема­ло сти­лей бло­ки­
ру­ют рек­ла­му (под­роб­но об этом да­лее). Мы так­же отыскали стиль FoxClocks по­ка­зы­ва­ет в ниж­ней стро­ке брау­ ще­ний на вклад­ке ва­ше­го брау­зе­ра. Это па­кет
Metafilter – он да­ет чер­но-синие цве­та на бе­лом фоне, го­раз­до зе­ра вре­мя в раз­лич­ных час­тях ми­ра. Это цен­ скрип­тов Greasemonkey.
лег­че воспринимае­мые гла­зом, чем их обыч­ный мут­но-го­лу­бой. но, ес­ли у вас есть кол­ле­ги или дру­зья, про­ RightToClick По­зво­ля­ет вы­звать кон­тек­ст­ное
жи­ваю­щие в дру­гих ча­со­вых поя­сах, и вы бы ме­ню или вы­де­лить текст на стра­ни­це, да­же ес­
К со­жа­лению, http://userstyles.org стра­да­ет тем же недостат­
не хо­те­ли раз­бу­дить их в 3 ча­са но­чи. ли сце­на­рий JavaScript вам это­го не раз­ре­ша­ет.
ком, что и лю­бой дру­гой сайт, на­це­лен­ный на поль­зо­ва­тель­ский Automatic Save Folder Ука­жи­те, где со­хра­ SkipScreen Про­пус­ка­ет про­ме­ж у­точ­ные стра­
кон­тент: не все сти­ли, доступ­ные на сай­те, на са­мом де­ле ин­те­ нять оп­ре­де­лен­ные ти­пы фай­лов, на ос­но­ве ни­цы на не­ко­то­рых сай­тах – хра­ни­ли­щ ах фай­
рес­ны, а то и не несут за­яв­лен­ный функ­цио­нал. Кро­ме то­го, все­ их имен. лов, та­ких как RapidDownload.
гда есть риск то­го, что сайт из­менит CSS-шаб­лон, ко­то­рый на­ру­ Better Gmail 2 До­бав­ля­ет раз­лич­ные воз­мож­ Firebug Обя­за­те­лен для web-раз­ра­бот­чи­ков.
но­сти для ра­бо­ты с Gmail, в том чис­ле ие­рар­ По­зво­лит ре­дак­ти­ро­вать, кон­тро­ли­ро­вать и от-
шит стиль, за­дан­ный поль­зо­ва­те­лем. хи­че­ские мет­ки и зна­чок не­про­чи­тан­ных со­об­ ­ла­жи­вать HTML, CSS и JavaScript «вжи­вую».
По­лезнее в этом плане, ве­ро­ят­но, ин­тер­фейс, пред­ла­гае­мый
Stylish: он по­мо­жет вам пи­сать соб­ствен­ные сти­ли для оп­ре­де­лен­
но­го сай­та. Он по­зво­ля­ет лег­ко за­да­вать про­стые из­менения (на­ ес­ли они со­дер­жат XBL-при­вяз­ки (ко­то­рые мо­г ут вклю­чать ис­пол­
при­мер, под­прав­лять цвет фо­на) по соб­ствен­но­му усмот­рению няе­мый код). Сти­ли на http://userstyles.org не со­дер­жат XBL-при­вя­
на сай­тах, где вы бы­вае­те ре­г у­ляр­но. Имей­те в ви­д у, что с безо­ зок, но к тем, ко­то­рые по­став­ля­ют­ся из дру­гих источников, сле­д у­
пас­но­стью поль­зо­ва­тель­ских сти­лей мо­г ут возник­нуть про­бле­мы, ет отнестись с осто­рож­но­стью.

Часть 2 Об­лег­ча­ем на­ви­га­цию по сай­там


Скорая
помощь
GleeBox за­пускать та­ким об­ра­зом Zap – он ли­к­ви­ди­ру­ет все фор­ма­ти-
Мно­гие счи­та­ют, что со­сре­до­то­чение ра­бо­ты в кла­виа­ ­ро­вание на странице; от­лич­ный ва­ри­ант для слу­ча­ев, когда вы Ес­ли вы еще
ту­ре, не прибегая к содействию мы­ши, по­лезнее для слу­чай­но за­бре­ли на сайт с ядовито-ро­зо­вым тек­стом на кана­ не при­ме­ня­ли
спи­ны и за­пястий. GleeBox рас­ши­ря­ет кла­виа­т ур­ный функ­цио­нал реечном фоне. (Что­бы из­менить внешний вид сай­та, ко­то­рый Greasemonkey –
ва­ше­го брау­зе­ра, ко­то­рый по умол­чанию пе­ре­к ла­ды­ва­ет на мышь вы ре­г у­ляр­но по­се­щае­те, по­иг­рай­те с оп­ция­ми Stylish, как опи- по­про­буй­те:
это по­мо­жет вам
доста­точ­но мно­го функ­ций. са­но вы­ше).
на­стро­ить «под
Это экс­пе­ри­мен­таль­ное рас­ши­рение, и вы не смо­же­те до­ба­ GleeBox так­же взаи­мо­дей­ству­ет с YubNub, соз­даю­щим се­бя» лю­бую
вить его пря­мо из ок­на до­полнений. Что­бы раз­ре­шить уста­нов­ «команд­ную стро­к у для web». Что­бы убе­дить­ся в этом, на­жми­те G стра­ни­ц у че­рез
ку, пе­рей­ди­те на страницу рас­ши­рения (http://thegleebox.com/) и вве­ди­те: JavaScript. Бо­
и под­твер­ди­те серьезность своего на­ме­рения на­жа­ти­ем на кноп­ : xe -amount 100 -from USD -to RUB лее под­роб­ную
ин­фор­ма­цию
ку Уста­но­вить. Вы ав­то­ма­ти­че­ски пе­рей­де­те на сайт кон­вер­то­ра ва­лют см. в LFX118.
По­сле уста­нов­ки и пе­ре­за­пуска Firefox най­ди­те на те­к у­щей www.xe.com, ко­то­рый услуж­ли­во со­об­щит вам, сколь­ко се­го­дня
странице ссыл­к у, ко­то­рую вы хо­ти­те от­крыть. На­жми­те G, что­ сто­ят 100 дол­ла­ров в руб­лях. Для по­лу­чения до­полнитель­
бы вы­звать по­иск GleeBox, и на­би­рай­те имя ссыл­ки. Когда она ной ин­фор­ма­ции, а так­же для соз­дания сво­их соб­ствен­ных ко­
под­цве­тит­ся, на­жми­те Enter, что­бы от­крыть ее, или Shift + Enter, манд YubNub полезно будет про­смот­реть учебник GleeBox и сайт
что­бы от­крыть ее в дру­гой вклад­ке. Ес­ли сов­па­дений несколь­ко, YubNub.
пе­ре­ме­щать­ся ме­ж ­д у ними мож­но по на­жа­тию Tab.
В GleeBox мож­но так­же вы­пол­нять по­иск по за­к лад­кам.
Ес­ли вы по­се­щае­те ука­зан­ные в за­к лад­ках страницы осо­бен­но
часто, вы, несо­мнен­но, со­чте­те это по­лез­ным. Ак­ти­ви­руй­те дан­
ную воз­мож­ность, уста­но­вив со­от­вет­ствую­щий фла­жок на вклад­
ке Функ­ции [Features] в диа­ло­ге Оп­ции [Options] в ме­ню Ин­ст­ру­
мен­ты > gleeBox.
GleeBox не ог­раничи­ва­ет­ся ссыл­ка­ми. Вы мо­же­те ис­
поль­зо­вать его и для на­ви­га­ции по странице. На­жми­те G,
а за­тем вве­ди­те ?h, что­бы вы­брать все за­го­лов­ки (уровней h1, h2
и h3). Пе­ре­ме­щай­тесь ме­ж ­д у ними при по­мо­щи Tab и Shift+Tab.
Бла­го­да­ря рас­
До­полнитель­ные воз­мож­но­сти вклю­ча­ют !share t для от­
ши­ре­нию GleeBox,
прав­ки те­к у­щей страницы в Twitter (и дру­гие сер­ви­сы – Gmail, для на­ви­га­ции в Ин­
Facebook, Digg и Delicious). Для от­кры­тия бук­марк­ле­та с оп­ре­де­ тер­не­те дос­та­точ­но
лен­ным именем на­бе­ри­те ![bookmarkletname]. Нам по­нра­ви­лось толь­ко кла­виа­ту­ры.

Пропустили номер? Узнайте на с. 107, как получить его прямо сейчас.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      61
Учебник Firefox 

FireGestures
Скорая FireGestures – это GleeBox навыворот: он снимает необ­
помощь хо­ди­мость об­ра­щать­ся к кла­виа­т у­ре, уве­ли­чи­вая чис­ло
команд, доступ­ных с по­мо­щью мы­ши. По умол­чанию боль­шин­ство
На­жа­тие кноп­ки
команд ис­поль­зу­ет Жесты мы­ши [Mouse Gestures] в понимании
Collections [Кол­
лек­ции] на сай­ FireGestures (на­жми­те и удер­жи­вай­те пра­вую кноп­к у мы­ши и пе­ре­-
те Mozilla пре­дос­ ме­щай­те кур­сор), но ряд дру­гих жестов, в т. ч. ко­ле­си­ком мы­ши,
та­вит вам на­бо­ры «ко­ро­мыс­лом» (­удер­живая ле­вую кноп­к у мы­ши, ­жми­те пра­вую,
до­пол­не­ний, хо­ро­
или на­обо­рот) и мы­шью-плюс-кла­ви­ши, так­же под­дер­жи­ва­ет­ся.
шо со­вмес­ти­мых
друг с дру­гом. Нам осо­бен­но по­нра­ви­лись жесты ко­ле­си­ком мы­ши над вклад­
ка­ми, (по умол­чанию не вклю­чен­ы). Они по­зво­ля­ют пе­ре­к лю­чать
вклад­ки, про­кру­чи­вая ко­ле­си­ко мы­ши на панели вкла­док. А мож­
но про­кру­чи­вать ко­ле­си­ко, при­дер­жи­вая пра­вую кноп­к у, для про­
смот­ра спи­ска всех вкла­док, за­тем про­дол­жив их листать. Един­
ствен­ный дефект это­го ва­ри­ан­та – сам спи­сок не про­кру­чи­ва­ет­ся, В FasterFox есть ок­но Also Search On [Ис­кать так­же в] и вид­жет
и ес­ли вы от­кры­ли столько вкла­док, что он вы­шел за ниж­нюю по­ис­ка/от­сыл­ки в Twitter, ото­бра­жае­мый ря­дом с вы­де­лен­ным
часть эк­ра­на (не то что­бы мы хо­те­ли, что­бы на­ши брау­зе­ры бы­ли тек­стом.
в та­кой нераз­бе­ри­хе...), здесь вы к ним доступа не по­лу­чи­те.
По умол­чанию, от­сле­жи­ва­ет­ся тра­ек­то­рия мы­ши; зе­ле­ный бран­ный ку­сок в Twitter или по­искать его на раз­лич­ных сер­ви­
шлейф по­ка­жет вам, где, по мнению FireGestures, по­бы­вал ваш сах. По умол­чанию это Wikipedia, Google или OneRiot (ко­то­рый
кур­сор, но, к сча­стью, это пре­д у­смот­ре­но толь­ко для жестов мы­ ин­дек­си­ру­ет ссыл­ки, пре­достав­лен­ные в об­щий доступ на Digg,
ши, а не всех дви­жений под­ряд. Это пре­иму­ще­ство по сравне­ Twitter и дру­гих со­ци­а ль­ных сер­ви­сах об­ме­на дан­ны­ми), но эти па­
нию с дру­ги­ми рас­ши­рения­ми для жестов мы­ши, при­ме­няв­ших­ся ра­мет­ры мож­но из­менить че­рез ме­ню Ин­ст­ру­мен­ты > FastestFox.
в про­шлом; и его лег­ко вы­к лю­чить, ес­ли оно вас раз­дра­жа­ет. При от­правке вы­де­лен­ного текста вид­жет снаб­дит его и мет­кой,
и ссыл­кой. Вид­жет осо­бен­но удо­бен для ак­тив­ных твит­те­ров
FastestFox Plus и нема­ло уско­ря­ет по­иск.
FastestFox Plus (ранее из­вест­ное как SmarterFox) уско­ FastestFox улуч­ша­ет по­иск в ад­рес­ной стро­ке, вклю­чая в вы­па­да-
рит ваш брау­зер це­лой гам­мой спо­со­бов. Од­ной ю­щее ме­ню ре­зуль­та­ты по­иска на­би­рае­мо­го в Google, на­ря­д у
из функ­ций, поль­зу от ко­то­рой мы оценили, ед­ва уста­но­вив ее, с исто­ри­ей про­смот­ра страниц, генери­руе­мой Firefox ав­то­ма­ти-
яв­ля­ет­ся Endless Pages (Бесконеч­ные страницы). Она об­на­ру­жи­ва­ет, ­че­ски. При обыч­ном по­иске в Google вам так­же пред­ло­жат уточне­
есть ли на дан­ной странице ссыл­ка Да­лее (та­кие бы­ва­ют, ска­жем, ния – на­жав на такое, вы по­лу­чи­те ре­зуль­та­ты согласно из­менен­
внизу страницы бло­гов), за­гру­жа­ет эту сле­дую­щ ую страницу и за­ ны­м кри­те­рия­м. Или мож­но искать something book, что дает массу
ме­ща­ет ею те­к у­щ ую, как толь­ко вы ее до­чи­тае­те. Это силь­но со­ ссылок на Amazon для book, но, увы, ра­бо­та­ет толь­ко для amazon.
кра­ща­ет тра­т у ча­сов на чтение ар­хи­вов бло­га: те­перь да­же не нуж­ com, а не для ев­ро­пей­ских фи­лиа­лов, и этого нельзя из­менить.
но жать на ссыл­к у, что­бы сде­лать это. Лю­бой эле­мент FastestFox мож­но от­к лю­чить из ме­ню Ин­ст­ру­
Дру­гая функ­ция – при вы­де­лении раз­де­ла web-страницы по­ мен­ты, ог­раничив­шись на­бо­ром нуж­ных вам сер­ви­сов и уб­рав те,
яв­ля­ет­ся неболь­шой вид­жет, даю­щий воз­мож­ность ото­слать вы­ ко­то­рые вас бе­сят.

Часть 3 Ра­бо­та­ем с за­клад­ка­ми


Бо­ко­вая па­нель XMarks ду дву­мя и бо­лее ком­пь­ю­те­ра­ми. Про­сто уста­но­ви­те до­полнение,
Delicious по­зво­ля­ Ес­ли вы ис­поль­зуе­те Firefox на бо­лее чем од­ном ком­ в от­вет на за­прос соз­дай­те учет­ную запись (или вой­ди­те в ту, что
ет ис­кать по ва­ пь­ю­те­ре и еще не уста­но­ви­ли XMarks, вы мно­гое по­те­ вас уже есть), и ва­ши за­к лад­ки бу­д ут объ­е­динены в син­хронизи­
шим за­клад­кам ря­ли. XMarks по­зво­ля­ет син­хронизи­ро­вать за­к лад­ки Firefox ме­ж­ руе­мый на­бор.
из Firefox.
Это до­воль­но удоб­но, когда вы до­ма по­сто­ян­но ло­ви­те се­бя
на том, что ище­те нуж­ную за­к лад­к у, а за­тем вспо­ми­нае­те, что со­
хранили ее на сво­ем ра­бо­чем ком­пь­ю­те­ре; или ес­ли вам при­хо­дит­
ся пе­ре­да­вать за­к лад­ки ме­ж ­д у ва­шим но­у т­бу­ком и на­столь­ным
ком­пь­ю­те­ром вруч­ную. Бо­лее то­го, оно по­зво­ля­ет син­хронизи­ро­
вать­ся че­рез раз­лич­ные брау­зе­ры, и те­перь, кро­ме Firefox, под­дер­
жи­ва­ет Internet Explorer, Google Chrome и Safari.
Ес­ли вы не хо­ти­те син­хронизи­ро­вать все за­к лад­ки со сво­
его до­машнего ком­пь­ю­те­ра с ма­ши­ной в офи­се, мож­но соз­дать
про­фи­ли для ог­раничения со­ста­ва за­к ла­док, син­хронизи­руе­мых
с дру­ги­ми ком­пь­ю­те­ра­ми. Это по­зво­лит, на­при­мер, не за­гро­мо­ж­
дать до­машний ком­пь­ю­тер ва­ши­ми ра­бо­чи­ми за­к лад­ка­ми.
XMarks име­ет и дру­гие, менее по­лез­ные функ­ции, о ко­то­рых
все же сто­ит упо­мя­нуть: часто от­прав­ляе­мые в за­к лад­ки сай­ты
от­ме­ча­ют­ся флаж­ком в ре­зуль­та­тах по­иска Google, и на­жа­тие
на икон­к у в ад­рес­ной стро­ке вы­да­ет бо­лее под­роб­ную ин­фор­ма­
цию о сай­те и дру­гие ана­ло­гич­ные ре­сур­сы, ко­то­рые мо­г ут пред­
став­лять ин­те­рес для вас. Весьма удоб­ный спо­соб об­на­ру­жить
в Ин­тернете но­вую ин­фор­ма­цию.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
62      LXF132 Июнь 2010
 Firefox Учебник

Delicious Bookmarks Delicious, по­ка­зы­ваю­щая по­следние за­к лад­ки, об­ла­ка тэ­гов или
Вме­сто соз­дания за­к ла­док на web-страницы в брау­ из­бран­ные тэ­ги. Тео­ре­ти­че­ски, тэ­га­ми, об­ла­ка­ми тэ­гов и из­бран­
зе­ре, мож­но со­хранить неко­то­рые или боль­шин­ство ны­ми тэ­га­ми мож­но управ­лять с по­мо­щью рас­ши­рения, но на прак­
из них на web-сер­ви­сах вро­де Delicious: они по­зво­ля­ют до­бав­ ти­ке обыч­но про­ще сде­лать это на глав­ной странице Delicious.
лять тэ­ги и при­ме­чания к ним, а по­том де­лить­ся ссыл­ка­ми с дру­ Ес­ли вы – поль­зо­ва­тель Delicious, рас­ши­рение сто­ит уста­но­
ги­ми. Рас­ши­рение Delicious Bookmarks об­лег­ча­ет ра­бо­т у с та­ки­ми вить уже ра­ди од­ной кноп­ки tag-this-page [При­сво­ить странице тэ­
за­к лад­ка­ми. ги]: она вы­зы­ва­ет всплы­ваю­щее ок­но Save [Со­хранить], че­рез ко­
Рас­ши­рение уста­нав­ли­ва­ет на панели ин­ст­ру­мен­тов три кноп­ то­рое мож­но до­ба­вить соб­ствен­ный за­го­ло­вок, за­мет­ки и тэ­ги
ки: од­ну для до­бав­ления те­к у­щей страницы в Delicious, дру­г ую – (есть и функ­ция «пред­ла­гае­мых тэ­гов»), вы­брать сер­вис для от­
что­бы от­кры­вать бо­ко­вую панель со все­ми ва­ши­ми за­к лад­ка­ми прав­ки за­к лад­ки или по­ме­тить за­к лад­к у как при­ват­ную. В ка­че­
Delicious для по­иска по ним, и еще од­ну, что­бы вы­звать ва­шу стра­ стве бо­ну­са при­ла­га­ет­ся воз­мож­ность по­иска в спи­ске за­к ла­док
ницу в Delicious. Есть так­же соб­ствен­ная панель ин­ст­ру­мен­тов из бо­ко­вой панели.

Часть 4 Управ­ля­ем брау­зе­ром и при­ват­но­стью


Flashblock при­год­но для ре­ко­мен­да­ции. Мы и об­ра­до­ва­лись (оно, безуслов­
Flashblock дав­но уже яв­ля­ет­ся лю­би­мым рас­ши­рением но, ра­бо­та­ет!), и слег­ка ужас­ну­лись то­му, что тво­рит­ся без него
Firefox у мно­гих поль­зо­ва­те­лей, ко­то­рых раз­дра­жа­ (сколь­ко же там на­зой­ли­вой рек­ла­мы!). Ми­нут че­рез пять мы сно­
ет Flash-со­дер­жи­мое web-страниц. Flashblock про­сто за­ме­ня­ет ва его вклю­чи­ли и об­лег­чен­но вздох­ну­ли. Очень ре­ко­мен­д у­ем
лю­бой эле­мент Flash пустым квад­ра­том с кно­поч­кой Про­иг­рать тем, кто, за­ви­дев рек­лам­ные объ­яв­ления на web-страницах, го­тов
[Play] по­се­ре­дине. Хо­ти­те уви­деть со­дер­жи­мое Flash – на­жми­те трес­нуть ку­ла­ком по эк­ра­ну.
кноп­к у, и впе­ред. А не хо­ти­те – иг­но­ри­руй­те все это. Пря­мо как
по вол­шеб­ству. BetterPrivacy
От­дель­ные сай­ты мож­но исклю­чить из бло­ки­ро­вания – это Мно­гие сай­ты при­ме­ня­ют сookies для Flash – это объ­
по­лез­но, ес­ли вы за­части­ли на страницы, без Flash бес­по­лез­ные, ек­ты, хра­ня­щие ин­фор­ма­цию для от­сле­жи­вания поль­
и не хо­ти­те бесконеч­но на­жи­мать на кноп­к у для ото­бра­жения со­ зо­ва­те­лей и све­дений о них. В от­ли­чие от обыч­ных сookies брау­
дер­жи­мо­го. Flashblock – один из тех от­лич­ных эк­зем­п­ля­ров ко­ зе­ра, Flash-сookies
да, ко­то­рые ло­гич­ны и про­сто ра­бо­та­ют. Кро­ме то­го, вам боль­ше
не под­су­нут рик­ролл, что са­мо по се­бе уже непло­хо.
исклю­че­ны из кон­
тро­ля кон­фи­ден­ци­
«Flash-cookies ис­клю­
NoScript
аль­но­сти брау­зе­ра.
Бо­лее то­го, да­
чены из кон­тро­ля кон­
Это еще од­но про­стое рас­ши­рение, ко­то­рое от­к лю­ же ес­ли вы на­ фи­ден­ци­аль­но­сти.»
ча­ет JavaScript, Java и дру­гое ис­пол­няе­мое со­дер­жи­ строи­ли свой брау­
мое. Вы мо­же­те разрешить вклю­чать его с кон­крет­ных до­ме­нов, зер на уда­ление всех этих фай­лов при вы­к лю­чении, Flash-сookies
ко­то­рым вы до­ве­ряе­те. Спер­ва вы об­на­ру­жи­те, что боль­шин­ство не бу­д ут уда­ле­ны. Вы мо­же­те из­менить эти на­строй­ки че­рез сайт
по­се­щае­мых ва­ми сай­тов вы­зы­ва­ют всплы­ваю­щие ок­на в ниж­ Adobe, но, ска­жем так, без боль­ших удобств.
ней части с пре­ду­пре­ж ­дением, что скрип­ты бы­ли за­бло­ки­ро­ва­ BetterPrivacy ис­прав­ля­ет это, и по­зво­ля­ет кон­тро­ли­ро­вать срок
ны. Вы мо­же­те от­менить в на­строй­ках ото­бра­жение это­го ок­на, хранения Flash-сookies. Вы так­же мо­же­те про­смат­ри­вать Flash-
пред­поч­тя ему зна­чок в стро­ке со­стояния. cookies, уже со­хранен­ные на ком­пь­ю­те­ре. Нас несколь­ко шо­ки­ро­
Есть про­стые ва­ри­ан­ты на­строй­ки раз­ре­шения за­пуска скрип­ вал раз­мер спи­ска на на­шей тесто­вой ма­шине – неко­то­рые из запи­
тов на сай­те – вре­мен­но или по­сто­ян­но: бо­роз­д я про­сто­ры Ин­ сей хранились аж с 2007 го­да. Уда­лив их пол­но­стью, мы по­том
тернета, вы за­од­но бу­де­те обучать NoScript, что такое хо­ро­шо не за­ме­ти­ли ка­ких-ли­бо про­блем.
и что такое пло­хо, и оно станет ре­же вме­ши­вать­ся в ва­шу ра­бо­ Уч­ти­те, что, как и с обыч­ны­ми сookies, ес­ли вы уда­ляе­те все
ту. Од­на­ко, ес­ли вы по­свя­щае­те мно­го вре­мени чтению но­вых сай­ при ка­ж ­дом за­кры­тии брау­зе­ра, вы мо­же­те по­те­рять и нечто нуж­
тов, это мо­жет по­ка­зать­ся вам уто­ми­тель­ным. ное. Что­бы это пре­дот­вра­тить, мож­но на­стро­ить исклю­чения –
Мож­но на­стро­ить и еще кое-ка­кие ве­щи; но в конечном итоге по­лез­ная шту­ка. BetterPrivacy яв­ля­ет­ся еще од­ним обя­за­тель­ным
это вы­бор ме­ж ­ду па­ра­ной­ей и удоб­ством про­смот­ра. рас­ши­ре­ни­ем, ес­ли вас хоть как-то вол­ну­ет ва­ша кон­фи­ден­ци­а ль­
ность в Ин­тер­не­те.
AdBlock Plus
У вас уже, ве­ро­ят­но, установлено это рас­ши­рение,
но мы все же его упо­мянем: вдруг кто-то на него Иг­ры и про­чее
еще не на­брел. AdBlock Plus бло­ки­ру­ет рек­ла­му и баннеры
всех ви­дов. Consiousness Bell Вос­про­из­во­дит звон ти­бет­
Вы мо­же­те за­бло­ки­ро­вать что-нибудь вруч­ную, щелк­нув ских чаш че­рез слу­чай­ные про­ме­ж ут­ки вре­ме­
пра­вой кноп­кой мы­ши и вы­брав AdBlock из кон­тек­ст­но­го ме­ню; ни, на­по­ми­ная вам о вдум­чи­во­сти.
или про­сто подпи­сать­ся на фильтр со­дер­жи­мо­го (при пер­вом about:kittens За­ме­ня­ет ло­го­тип Firefox в ок­не
About слу­чай­ным изо­бра­же­ни­ем ко­тен­ка. При­
за­пуске или че­рез ме­ню На­строй­ки [Preferences]), и боль­шин­ строй­те сю­да свою кис­к у!
ство рек­лам­ных объ­яв­лений бу­дет за­бло­ки­ро­ва­но по ав­то­ма­ти­ Destroy the Web Мы уве­ре­ны, что ве­се­лее ни­
че­ски об­нов­ляе­мо­му спи­ску. Мож­но так­же исклю­чить из бло­ че­го не при­д у­ма­ешь. Destroy the Web вре­мен­но
ки­руе­мых оп­ре­де­лен­ные эле­мен­ты, ес­ли лож­ное сра­ба­ты­вание пре­вра­ща­ет лю­бую web-стра­ни­ц у в иг­ру-стре­
лял­к у. При щелч­ке на эле­мен­тах они унич­то­
соз­да­ет вам про­бле­мы.
жа­ют­ся (под гро­хот взры­ва!), а в кон­це под­ Мы не утер­пе­ли и вста­ви­ли ко­тен­ка
Мы дав­но поль­зу­ем­ся AdBlock Plus; а на вре­мя напи­сания дан­ счи­ты­ва­ют­ся на­бран­ные ва­ми бал­лы. на сайт www.dailymail.co.uk
но­го учебника от­к лю­чи­ли его с це­лью убе­дить­ся, что оно все еще

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      63
POV-Ray Создавайте новые миры всего 
несколькими строчками кода

POV-Ray: Строим
Трехмерное моделирование – это не только Blender. Вячеслав Ястребцев
представляет другие рендереры, дающие новые возможности.

П
ринято считать, что Linux обделён мультимедийными при­ описывая сцену на SDL (Scene Description Language) – интерпрети­
ложениями. До последнего времени это было обоснован­ руемом языке программирования с С-подобным синтаксисом.
ным мнением, однако сегодня сообщество активно разра­ Сцены POV-Ray состоят из объектов, описываемых единым об­
батывает многочисленные программы для создания и просмотра разом. Сам объект задаётся конструкцией вида:
мультимедиа. Трехмерные приложения – бесспорный лидер это­ тип_объекта {параметры}
го процесса. Стремительно развивающийся редактор трёхмерных Параметры бывают двух видов: обязательные и дополнитель­
Наш сцен Blender (www.blender3d.org), используемый для создания трёх­ ные. Обязательные необходимо указывать при создании объек­
эксперт мерной графики и анимации профессионального каче­ства; продви­ та, сразу после открывающей фигурной скобки. Если забыть это
Вячеслав нутый рендерер YafAray (www.yafaray.org); наконец, вершина совре­ сделать, POV-Ray сообщит об ошибке и аварийно завершит рабо­
Ястребцев менных технологий визуализации – LuxRender (www.luxrender.net), ту. Обязательные параметры могут быть числами или векторами,
Мечтает узнать, обеспечивающий отрисовку изображений, практиче­ски неотличи­ имеют фиксированный порядок и разделяются запятыми. Допол­
что мешает зани­
маться графикой
мых от фотографий – все они обещают скорый бум свободного ПО нительные параметры, напротив, требуют указания имени пара­
в Linux, и испра­ в медиа-индустрии. Но в тени стремительно растущих современ­ метра, за которым следует его значение (число, вектор или объ­
вить это. ных проектов тихо, без громких обещаний, развивается, пожалуй, ект). Разделять дополнительные параметры запятой не нужно.
самая почтенная система 3D-моделирования и визуализации, ухо­ Вектора в нотации POV-Ray записываются так:
дящая своими корнями в далёкие 80‑е, но достойная пристального <несколько чисел через запятую>
внимания даже сегодня. Имя этому аксакалу – POV-Ray. Примером вектора может служить <1, 3, -2> или <0.2, 0.4, 0.9,
0.1>. Вектора используются для обозначения координат и цветов.
Приготовимся к старту Для ускорения работы POV-Ray позволяет использовать ряд
Как и всякий старец, POV-Ray отличается консерватизмом сокращений: x, y, z – единичные вектора, совпадающие с соот­
и непростым характером. Двоичная версия релиза 3.6, доступная ветствующими осями координат (x заменяет вектор <1, 0, 0>, y –
на www.povray.org, вышла аж в 2004 году, и её нормальная рабо­ <0, 1, 0>, z – <0, 0, 1>); при вводе дробей с нулевой целой частью
та в современных дистрибутивах не гарантируется. Лучше сразу можно не писать ноль перед точкой (.1 вместо 0.1).
скачать исходный код POV-Ray 3.7 Beta и собрать его самостоя­ Следует отметить различия координатной системы POV-Ray
тельно. Тут нас поджидают дополнительные хлопоты: при запус­ и Blender: в последнем ось z направлена в зенит, а вращение объ­
ке конфигурационного скрипта требуется указать своё имя с по­ ектов происходит по часовой стрелке (если смотреть по направле­
мощью опции COMPILED_BY=«имя» (подойдёт любая комбинация нию оси вращения). В POV-Ray ось z направлена к горизонту вир­
букв и цифр). Кроме того, бета-версия требует постоянного ввода туального мира, а вращение происходит против часовой.
некого кода. Для его получения необходимо ввести в консоли ко­ Вооружившись этими простыми правилами, приступим к на­
манду povray --betacode; программа напечатает набор символов, писанию нашей первой сцены. Создайте текстовый файл с именем
который необходимо присвоить переменной POVRAY_BETA и да­ sphere.pov, откройте его в любом текстовом редакторе (Vi, Emacs,
лее экспортировать, выполнив export POVRAY_BETA=код. Kate «понимают» синтаксис SDL) и введите следующий текст:
Установив программу, настройте параметры рендеринга. От­ camera {
кройте файл ~/.povray/3.7/povray.ini и добавьте в его конец две location <0, 0, -4>
строки: Pause_When_Done=On, чтобы окно с готовым изобра­ look_at <0,0,0>
жением не пропадало по завершении отрисовки, и Output_File_ angle 50
Name=«pov_render.png» – она указывает, в какой файл записывать }
созданное изображение. light_source {
<4,4,-3>, rgb 1
Азбука SDL }
Итак, всё готово для знакомства. POV-Ray не имеет встроенных sphere {
средств интерактивного моделирования: есть множество про­ <0, 0, 0>, 1
грамм, экспортирующих в его формат (в том числе альфа-версия pigment {
Blender 2.5). Однако всю мощь POV-Ray можно раскрыть, только color rgb x
}
}
Лицензии, лицензии В первой строке создаётся камера и определяются её основные
характеристики: положение, отслеживаемая точка и угол поля зре­
Неприятный сюрприз: POV-Ray не является еще не была столь популярна. За прошедшие ния, соответственно. Положение камеры и точки обзора задаётся
свободным ПО. Да, исходные тексты доступ­ 24 года над POV-Ray успело потрудиться мно­ векторами. Как видите, ничего сверхъестественного нет – точно
ны, и вы можете найти программу в репози­ жество людей, поэтому изменить лицензию те же параметры (если не больше) мы бы указали, размещая каме­
ториях своего дистрибутива; но в 1986 году, на более приемлемую в современном Linux-
ру в Blender. В шестой строке создаётся источник света, которому
когда была начата работа над проектом, GPL мире, увы, не представляется возможным.
требуются два обязательных параметра: вектор, задающий поло­

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
64      LXF132 Июнь 2010
 3D-моделирование Учебник

новый мир Исходные тексты


примеров

жение лампы, и цветовой вектор, задающий окраску и интенсив­ Проба пера:


ность света. На последнем стоит остановиться подробнее. Стро­ красная сфера
го говоря, цвет в POV-Ray описывается пятью числами: привычной на черном фоне
в десяти
RGB-триадой основных цветов, пропусканием [transmit] и фильтра­
с небольшим
цией [filter]. Ключевое слово rgb подсказывает POV-Ray, что мы оп­ строках кода.
ределяем только RGB-компоненты цвета, а пропускание и фильтра­
ция будут нулевыми. Внимательный читатель может воскликнуть:
«Цвет задаётся вектором, а в коде после rgb стоит число!» Ниче­
го страшного в этом нет: POV-Ray догадается, что вы имели в виду,
и заменит его на вектор требуемой размерности, все компоненты
которого будут равны указанному числу. В нашем случае, получит­
ся вектор <1, 1, 1>, обозначающий чистый белый свет.
Наконец, в девятой строке создаётся сфера. Указываются
два обязательных параметра: положение (вектор) и радиус (чис­
ло), а далее идёт объявление нового объекта «пигмент» (pigment), лунгмы, налить океан, прикрыть её атмосферой толщиной в деся­
вложенного в сферу. Пигменты задают цвет поверхности объек­ ток километров, а в довершение – вывести виртуальную камеру
та-родителя: без них POV-Ray успешно отрисует сцену, но сфе­ на орбиту и сфотографировать пейзаж. Не нужно бежать искать
ра будет выглядеть чёрным кругом. Внутри пигмента содержится терабайтный винчестер – всё уместится в несколько килобайт!
параметр color. Здесь есть ещё одна причина для удивления: Для лучшего контроля за визуализацией нашей сцены, созда­
нам нужно задать цвет, а переменная x вроде бы описывает коор- дим новый файл с настройками рендерера. Просто скопируйте
динаты? Все в порядке: x – это просто псевдоним для вектора planet.ini с LXFDVD в директорию с вашим проектом – основные
<1, 0, 0>, что бы ни значили его компоненты; в данном случае они настройки POV-Ray в нем снабжены подробными комментариями;
определяют красный цвет. советую прочитать и их.
Созданную сцену необходимо скомпилировать (отрисовать). Некоторые величины, описывающие геологию планеты (ра­
Откройте консоль, перейдите в каталог, содержащий файл sphere. диус, высота гор и т. д.), нам понадобятся не раз, и лучше сразу
pov, введите команду povray sphere.pov, и на экране появится дать им понятные имена, чтобы не запутаться. Для определения
изображение сферы. Вдоволь налюбовавшись на свое первое имён разнообразных объектов в POV-Ray используется оператор
творение, щелкните по окну, чтобы закрыть его. #declare. Допишите в файл planet.pov следующие строчки:
#declare atmoradius = 6020;
Мир без полигонов #declare planetradius = 6000;
Многие читатели, уже хорошо знакомые с трёхмерной графикой, #declare reliefheigth = 30;
могут заинтересоваться количе­ством полигонов в отрисованной #declare oceandeep = 11;
сфере: уж больно гладкая у неё поверхность. Сообщаем: ни одно­ Как всегда, хорошим тоном будет сразу разнести основные
го! Для описания сцены POV-Ray применяет математиче­ские функ­ компоненты нашей сцены (материалы, функции и сами объекты)
ции, на ходу рассчитывая точки пересечения лучей света с идеаль­ по отдельным файлам. Скажем, создайте файлы planet_texture.
но гладкими поверхностями их графиков, и хотя полигональные inc и planet_functions.inc, а в planet.pov добавьте строки #include
объекты можно использовать в сценах, они служат только для им­ «planet_functions.inc» и #include «planet_texture.inc». Первую
порта моделей из сторонних приложений. С одной стороны, такой из них придется продублировать и в начале файла planet_texture.
подход к моделированию непривычен, с другой – мы избавлены inc. Ключевое слово #include велит POV-Ray перед дальнейшей об­
от многих «узких мест»: выбора между высоким каче­ством и объ­ работкой сцены открыть и прочитать указанный файл.
ёмом занимаемой памяти, видимых изломов на поверхностях Приступим к созданию объектов. Добавьте в planet.pov следу­
при достаточно малом расстоянии от камеры до объекта; наконец, ющие строчки, создающие камеру и источник света:
сложные поверхности (например, горные хребты), требуют для camera {
корректного отображения просто чудовищного числа полигонов. location z*-12000
В POV-Ray существует два основных способа моделирования: look_at 0
с помощью объединения базовых форм (сфер, цилиндров, кубов angle 90
и т. д.) в более сложные объекты, либо путем создания собствен­ }
ных функций, описывающих сложную поверхность. Первый под­ light_source {
ход удобно применять для разнообразных техниче­ских изделий – x*15000, rgb 1
деталей механизмов, зданий; второй же идеален для создания rotate y*40
ландшафтов. Сегодня мы подробнее остановимся на моделиро­ }
вании с помощью функций, а механикой позанимаемся в следу­ Выражение z*-12000 обозначает умножение вектора z на число
ющей части. -12 000, т.е. перемещение камеры на 12 000 единиц назад от центра
мира (z – это вектор <0, 0, 1>, значит, z*-12000 – <0, 0, -12000>).
Небо и земля По умолчанию, в сцене POV-Ray присутствует рассеянное ос­
Поставим себе задачу изобразить планету радиусом около вещение для смягчения тени, но в космосе рассеянного света нет,
6 000 условных километров, поднять на ней горы повыше Джомо­ поэтому нам следует отключить его:

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      65
Учебник 3D-моделирование 

global_settings { вод начать её увеличение. Параметр contained_by задаёт объект,


ambient_light 0 ограничивающий пространство, в котором может располагать­
} ся изоповерхность. В нашей сцене ограничителем служит сфера
Теперь перейдите в файл planet_functions.inc – мы приступа­ с радиусом на 150 единиц большим, чем у планеты. Последний па­
ем к созданию поверхности планеты. Сама она будет иметь форму раметр назначает для нашей изоповерхности текстуру – это пиг­
шара, на котором располагаются микроскопиче­ские (относитель­ мент biosphere, который пока что определен в planet_texture.inc
но размеров планеты) неровности – горы. Для описания планеты следующим образом:
необходимы минимум две функции: первая задает сфериче­скую #declare biosphere = pigment { color rgb .6 }
поверхность, вторая – создает рельеф. Нам же потребуется ещё Посмотрите, что получилось: запустите в консоли povray planet.
одна: прибрежные области, как правило, имеют ровный, плос­ ini (или взгляните на рисунок). Да, это простой серый шар, но теперь
кий рельеф, а в горах много провалов, трещин и изломов – третья мы можем деформировать поверхность, чтобы создать рельеф.
функция будет отвечать за пересечённость местности.
Поднимем горы
Скорая
помощь Время кодировать Вернитесь в файл planet_functions.inc и определите функцию,
Начнём с создания сферы. Добавьте в planet_functions.inc строку: описывающую горы:
#declare planetoid = function { sqrt( pow(x,2) + pow(y,2) + #declare highland = function {
Иногда POV-Ray
pow(z,2) ) } pattern {
3.7 Beta выдает����
����������
со­
���
общение���������
об������
��������
ошиб­
����� Она начинается с уже знакомого нам ключевого слова crackle
ке: «Parse Error: #declare, после которого идёт имя определяемого объекта. Сло­ warp {
Redeclaring func­ во function за знаком равенства создаёт новый объект-функцию, turbulence .4
tions is not allowed
математиче­ское выражение для которой приведено в фигурных octaves 4
- #undef the func­
tion first!». ���
Со­ скобках. Если у вас есть вопросы – обратитесь к полному листингу lambda 2
здаваемая функ­ на LXFDVD; он снабжен подробными комментариями. Необходи­ omega .7
ция считается уже мо отметить, что переменные x, y и z внутри функций меняют своё }
объявленной, что поведение: теперь это не вектора единичной длины, а координаты scale planetradius*.025
вызывает ава­
точки в пространстве, для которой вычисляется значение функ­ }
рийное заверше­
ние работы. Про­ ции. В нашем случае, значением функции будет расстояние от точ­ }
блема решается ки в пространстве до центра сцены, а множество равноудалённых Здесь используется метод определения функции через встро­
путём добавления от центра точек образуют сферу. енные в POV-Ray генераторы-паттерны [pattern], другими слова­
команды #undef
Чтобы сделать сферу видимой, нужно превратить абстрактную ми – процедурные текстуры. Функции, задаваемые с помощью
<имя функции> пе­
ред объявлением формулу в поверхность. Для этого применяется специальный объ­ паттернов, возвращают значения от 0 (чёрный цвет на текстуре)
последней. ект – изоповерхность (isosurface), делающий видимыми области, до 1 (белый цвет). В нашем случае используется паттерн crackle
в которых функция принимает определённое значение. Вернитесь (аналог текстуры voronoi в Blender); слово warp определяет иска­
в файл planet.pov и припишите к нему: жение базовой формы, turbulence – тип и силу искажения; octaves,
isosurface { lambda и omega — дополнительные параметры; scale – модифи­
function { planetoid(x,y,z) } катор, изменяющий размер рисунка (паттерны, их модификаторы
threshold planetradius и процедурные текстуры будут детально рассмотрены в следую­
accuracy .000000001 щей статье, а самые нетерпеливые могут обратиться к коммента­
max_gradient 1.6 риям в файле на диске).
contained_by { sphere { 0, planetradius+150 } } Создадим еще одну функцию, описывающую контуры конти­
pigment { biosphere } нентов и характер рельефа (bozo – близкий родственник Blender-
} текстуры по имени clouds):
При создании объекта isosurface необходимо указать функ­ #declare lowlands = function {
цию, на основе которой будет строиться поверхность. У нас это pattern {
planetoid(), определённая ранее в файле planet_functions.inc. Сле­ bozo
дующий параметр – threshold (порог), сообщающий, через область warp {
с каким значением функции пройдёт будущая поверхность. Мы ис­ turbulence 1
пользуем здесь ранее заданную переменную planetradius, значе­ octaves 4
ние которой равно 6000 – это радиус сферы. Далее идут два важ­ lambda 2
Заготовка для нейших для создания нормального изображения параметра: omega .4
нашей будущей accuracy (точность) и max_gradient (максимальный градиент). }
планеты готова!
Если их значения будут не оптимальны, scale planetradius*.3
мы получим чрезмерно долгую отрисовку }
с артефактами (тёмные полосы, дыры в по­ }
верхностях и т. д.). Легче всего настроить Наконец, объединим две предыдущие функции в одну, описы­
максимальный градиент: если он слишком вающую весь рельеф планеты:
мал или велик, POV-Ray напечатает в кон­ #declare landscape = function {(lowlands(x,y,z)+highland(x,y,z)*po
соли предупреждение, предложив опти­ w(lowlands(x,y,z),4))*.7}
мальное значение. С accuracy сложнее: Осталось лишь применить созданную функцию к изоповерх­
точность не должна быть ни слишком вы­ ности. Вернитесь в файл planet.pov и замените соответствующую
сокой, ни слишком низкой. Обычно тре­ строку на
буются небольшие значения (порядка не­ function { planetoid(x,y,z) - landscape(x,y,z)*reliefheigth }
скольких тысячных), а если очень малая Снова запустите отрисовку командой povray planet.ini. Теперь
accuracy не помогает избавится от арте­ она будет идти довольно долго, но вместо голого шара появится
фактов, а, наоборот, усиливает их – это по­ нечто, испещрённое горами и ущельями. Рельеф планеты готов!

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
66      LXF132 Июнь 2010
 3D-моделирование Учебник

Вдохнем жизнь hollow


Как мёртвый каменный мир, наша планета неплохо смотрит­ material {atmosphere}
ся уже сейчас, но куда интересней она будет выглядеть с атмос­ }
ферой, водоёмами и лесами. Давайте нальем океаны – для этого Атмосфера рассеивает и поглощает
нужно просто создать в planet.pov сферу со следующими солнечный свет. В объявлении сферы
настройками: использовано ключевое слово hollow, ко­
sphere { торое подготавливает объект к имита­
0, planetradius+oceandeep ции объёмной среды, рассеивающей
pigment { color rgb <0,.05,.5> } свет. Вместо пигмента задан материал
} (material) – сложнейший объект, объеди-
Теперь перейдём в файл planet_texture.inc и как следует разук­ няющий все оптиче­ские свойства пред-
расим нашу планету. На Земле вершины гор скрыты льдом, сами мета: от цвета поверхности до подповерх­
скалы лишены растительности и окрашены в красно-коричневые ностного рассеивания света.
оттенки, равнины покрыты густой зеленью, а прибрежные зоны – Перейдём в файл planet_texture.inc
Нальем моря
песком или галькой; нам нужно воспроизвести это чередование и  добавим в нём еще один интересный материал, следую-
и пустим воздух.
цветов. Вначале зададим основные цвета, вписав перед определе­ щего вида: А заодно высадим
нием пигмента biosphere строки: #declare atmosphere = material { лес.
#declare silt = color rgb .7; texture { pigment { color rgbt 1 } }
#declare beach = color rgb <.5, .45, .05>; interior {
#declare forests = color rgb <0, .2, .02>; media {
#declare rock = color rgb <.2, .08, .02>; scattering { 3, rgb <.1,.8,1>*.003 }
#declare ice = color rgb .8; absorption rgb <.1,.8,1>*.003
Далее надо изменить сам пигмент biosphere следующим }
образом: }
#declare biosphere = pigment { }
function { landscape(x,y,z) } Запустив отрисовку, мы увидим голубоватую дымку, привыч­
color_map { но окутывающую планету.
[0 color silt]
[.36 color silt] Запустим спутник
[.365 color beach] То, что у нас получилось – это не просто шар с текстурой! Замени­
[.37 color beach] те старое описание камеры на следующее:
[.38 color forests] camera {
[.48 color forests] #local camLoc = -6200 * z;
[.54 color rock] location camLoc
[.55 color rock] sky -x
[.56 color ice] look_at camLoc - x + .3*z
[1 color ice] angle 90
} rotate <-26, -.8, 0>
} }
Здесь мы воспользовались объектом color_map чтобы из­ Камера подойдёт ближе к поверхности планеты (по земным
менять цвет поверхности в зависимости от значения функции меркам, высота над поверхностью составит около 150 километ­
landscape(). ров) и повернётся к одному из хребтов. Выполните отрисовку
Наконец, добавим атмосферу, определив в файле planet.pov еще раз – и вы увидите горную цепь с ущельями, напоминаю-
объект sphere с параметрами: щими русла рек. Подобные пейзажи можно найти по всей Земля в иллю­
sphere { виртуальной планете: просто изменяйте вектор после слова ми­наторе!
Ну, не совсем
0, atmoradius rotate, чтобы переезжать с места на место.
Земля...

Лучше гор могут быть только горы, на которых еще не бывал...

Через месяц Моделирование и анимация механических частей и деталей.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      67
libferris Управ­ля­ем со­дер­жи­мым web-сай­тов 
че­рез ин­тер­фейс фай­ло­вой сис­те­мы

libferris: Опы­ты
Хо­ти­те вы­гру­зить изо­бра­же­ние на Flickr или ви­део­ро­лик на YouTube,
не за­пус­кая брау­зер? С libferris и зна­ния­ми Бе­на Мар­ти­на это воз­мож­но.

ству­ет мно­же­ство мел­ких ути­лит для мо­биль­ных те­ле­фо­нов, по­


зво­ляю­щих пуб­ли­ко­вать фо­то­гра­фии он­лайн. Бу­дет это учет­ной
запи­сью Flickr или ста­т у­сом Facebook, за­ви­сит от то­го, что по­зво­
ля­ет про­грам­ма. Про­из­во­ди­те­ли те­ле­фо­нов ста­ра­ют­ся соз­да­вать
партнер­ства с сай­та­ми, та­ким об­ра­зом вы­ну­ж ­дая вас вы­би­рать
од­но­го из их хостинг-про­вай­де­ров. Но будь эти сай­ты фай­ло­вы­ми
систе­ма­ми, вы бы про­сто ко­пи­ро­ва­ли (коман­дой cp) све­жий ро­лик
с ва­ше­го те­ле­фо­на че­рез Bluetooth пря­ми­ком в Vimeo. Во вся­ком
слу­чае, вы­бор web-сер­ви­са все­гда дол­жен оста­вать­ся за ва­ми.

Ар­мия раз­ра­бот­чи­ков
К со­жа­лению для поль­зо­ва­те­лей этих web-сер­ви­сов, боль­шин­
ство про­вай­де­ров не об­лег­ча­ет раз­ра­бот­чи­кам сво­бод­но­го ПО
соз­дание при­ло­жений для взаи­мо­дей­ствия со свои­ми служ­ба­ми,
пре­достав­ляя толь­ко API Representational State Transfer (Rest),
че­рез ко­то­рый раз­ра­бот­чик мо­жет по­лу­чить спи­сок изо­бра­жений,
по­стов, ви­део­ро­ли­ков, ком­мен­та­ри­ев и т. д. и вы­гру­зить но­вое
со­дер­жи­мое. Про­бле­ма обыч­но не в са­мом API, а в том, что web-
сер­вис ожи­да­ет, что при­ло­жение ау­тен­ти­фи­ци­ру­ет се­бя.
Для раз­ных сай­тов этот про­цесс немно­го от­ли­ча­ет­ся, но суть
его в том, что для по­лу­чения раз­ре­шения дей­ство­вать от име­
ни поль­зо­ва­те­ля (вы­гру­жать дан­ные и т. д.) про­грам­ма долж­на
прой­ти ав­то­ри­за­цию на сай­те. У ка­ж ­до­го при­ло­жения есть ключ
и некий об­щий с web-сер­ви­сом «сек­рет». Он тре­бу­ет­ся толь­ко
на на­чаль­ной фа­зе, когда при­ло­жение спра­ши­ва­ет сайт и поль­зо­
ва­те­ля, мож­но ли ра­бо­тать с ва­шим со­дер­жи­мым.

В
по­следних вер­си­ях вир­т у­а ль­ной фай­ло­вой систе­мы Про­бле­ма в том, что «сек­рет» дол­жен оста­вать­ся сек­ре­
Наш libferris сфе­ра ее при­менения рас­ши­ри­лась, вклю­чив сай­ том, а в при­ло­жении с от­кры­тым ис­ход­ным ко­дом спря­тать его
эксперт ты со­вре­мен­ных со­ци­а ль­ных се­тей. Что­бы вы­гру­зить све­ негде. По су­ти, то же спра­вед­ли­во и для про­прие­тар­ных про­
Бен Мар­тин жий ви­део­ро­лик на YouTube или снимок с мо­биль­но­го те­ле­фо­на грамм – ес­ли кто-то за­хо­чет уз­нать па­роль, ис­поль­зуе­мый ис­пол-
тру­дит­ся над фай­ на Flickr, боль­ше не ну­жен брау­зер. Ва­ша лю­би­мая про­грам­ма ­няе­мым фай­лом ути­ли­ты для вы­груз­ки фо­то­гра­фий во Flickr,
ло­вы­ми сис­те­ма­ми для про­смот­ра изо­бра­жений так­же смо­жет за­гру­жать изо­бра­ он смо­жет из­влечь его уй­мой спо­со­бов. Хо­тя па­роль не пе­ре­д а­
бо­лее 10 лет. По­
жения с этих сай­тов. ет­ся по се­ти, он весь­ма пред­ска­зуе­мым об­ра­зом ис­поль­зу­ет­ся
сле за­щи­ты док­
тор­ской дис­сер­та­ Сай­ты со­ци­а ль­ных се­тей, фо­то- и ви­део­хостин­ги в дан­ной се­ пе­ред тем, как у стро­ки бе­рет­ся MD5. Так как при­ло­жение ско­
ции он за­ни­ма­ет­ся рии из двух ста­тей я бу­д у на­зы­вать «web-сер­ви­са­ми», хо­тя это рее все­го при­ме­ня­ет су­ще­ствую­щ ую реа­ли­за­цию MD5, лег­ко пре­
кон­суль­та­ция­ми и тер­мин из об­ласти рас­пре­де­лен­ных вы­чис­лений: тер­мин «со­ рвать вы­полнение фай­ла и вы­та­щить из него па­роль сра­зу по­с ле
по во­про­сам ра­ ци­а ль­ная сеть», ко­то­рый теснее свя­зан с Flickr, YouTube, Facebook
бо­ты с libferris,
и т. д., из­ряд­но об­ве­шан дру­ги­ми ас­со­циа­ция­ми.
фай­ло­вы­ми сис­
те­ма­ми, по­ис­ком Есть мас­са программ, по­мо­гаю­щих вы­гру­зить кон­тент на тот
и про­грам­ми­ро­ва­ или иной web-сер­вис. Неко­то­рые про­грам­мы-про­смотр­щи­ки так­
ни­ем Qt/C++. же по­зво­ля­ют пуб­ли­ко­вать изо­бра­жения на по­пу­ляр­ных он­лайн-
ре­сур­сах. Од­на­ко реа­ли­за­ция под­держ­ки на уровне при­ло­жения
име­ет тот недоста­ток, что в ка­ж ­дой про­грам­ме долж­на быть яв­
ная под­держ­ка ка­ж ­до­го web-сер­ви­са. Вы неиз­беж­но на­ткнетесь
на ути­ли­т у, ко­то­рая не смо­жет со­хранить дан­ные на оче­ред­
ном сай­те. А вот бы, на­при­мер, ваш сайт фо­то­хостин­га был про­
сто фай­ло­вой систе­мой! Тогда мож­но бы­ло бы про­смот­реть его
в лю­бом ре­дак­то­ре, от­крыть в GIMP, из­менить и сно­ва со­хранить
в се­ти.
По­ня­тие фай­ло­вой систе­мы мо­жет быть рас­ши­ре­но от на­столь­ В gfcp мож­но пе­ре­та­щить изо­бра­же­ния в спи­сок, и они бу­дут
но­го ком­пь­ю­те­ра до встраи­вае­мых уст­ройств – че­рез сеть. Су­ще­ за­гру­же­ны на www.23hq.com (как по­ка­за­но здесь).

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
68      LXF132 Июнь 2010
 libferris Учебник

с Web 2.0
по­яв­ления (из­вест­но­го) ко­д а для вы­чис­ления хэ­ша. Про­цесс
ау­тен­ти­фи­ка­ции при­ло­жения у web-сер­ви­са при­ве­ден в до­к у­мен­
та­ции раз­ра­бот­чи­ка Flickr.
К со­жа­лению, в усло­ви­ях ис­поль­зо­вания web-сер­ви­сов обыч­
но ука­зы­ва­ет­ся, что раз­ра­бот­чи­к у нель­зя раскры­вать «сек­рет».
Но не все по­те­ря­но. При­ло­жение с от­кры­тым ис­ход­ным ко­дом
все еще пре­крас­но мо­жет поль­зо­вать­ся Flickr или YouTube, нуж­но
толь­ко дать ему ключ при­ло­жения и па­роль. Это как ав­то­мо­биль
без клю­ча за­жи­гания – когда вы до­бу­де­те ключ, он за­ве­дет­ся.
Так ка­ж ­дый поль­зо­ва­тель от­кры­то­го ПО ста­но­вит­ся и «раз­
ра­бот­чи­ком». Он за­хо­дит на нуж­ный web-сер­вис, ре­ги­ст­ри­ру­ет­ся
в систе­ме как раз­ра­бот­чик и по­лу­ча­ет ключ при­ло­жения и «сек­
рет». По­местив их в файл, он мо­жет ав­то­ри­зо­вать соз­дан­ное при­
ло­жение (фак­ти­че­ски – от­кры­т ую ути­ли­т у, ко­то­рую он ском­пи­
ли­ро­вал и уста­но­вил) у web-сер­ви­са и на­чать им поль­зо­вать­ся.
Усло­вия ис­поль­зо­вания сер­ви­са для раз­ра­бот­чи­ка в этом слу­
чае мо­г ут принимать­ся или от­вер­гать­ся ка­ж ­дым поль­зо­ва­те­лем
по его же­ланию. Конеч­но, для поль­зо­ва­те­ля это лишнее неудоб­
Ау­тен­ти­фи­ка­ция
ство, но это един­ствен­ный спо­соб рас­про­странения от­кры­той из наи­бо­лее тру­до­ем­ких про­цес­сов, по­то­му что вме­сто про­сто­го
в Facebook через
про­грам­мы, при ко­то­ром усло­вия ис­поль­зо­вания сер­ви­са не бу­дут по­лу­чения клю­ча и «сек­ре­та» она на­по­ми­на­ет написание неболь­ ferriscapplet-auth.
на­ру­ше­ны пу­тем раз­гла­шения сек­рет­ной ин­фор­ма­ции. шо­го web-при­ло­жения.
Обыч­но для ком­мер­че­ских и бес­плат­ных при­ло­жений пре­ду­ Что­бы по­лу­чить раз­ре­шение на вы­груз­к у в Vimeo, нам по­на­до­
смот­ре­ны раз­лич­ные усло­вия ис­поль­зо­вания web-сер­ви­сов. Так би­лось око­ло неде­ли – все мо­жет из­менить­ся, но по крайней ме­
как фай­ло­вую систе­му лег­ко при­менить в ком­мер­че­ских це­лях, ре го­товь­тесь по­до­ж ­дать. Из врез­ки Ре­сурсы на по­следней стра­
вы­би­рать усло­вия ис­поль­зо­вания сер­ви­са дол­жен поль­зо­ва­тель. нице урока вы уз­наете, где до­быть ключ и «сек­рет» для Vimeo;
по­мести­те их в фай­лы vimeoapi-key.txt и vimeo-api-secret.txt со­от­
Вхо­дим на сайт вет­ствен­но. Об­ра­ти­те внимание, что нуж­но яв­но от­пра­вить за­прос
Для Flickr по­лу­чи­те ключ API и «сек­рет» по ад­ре­су www.flickr. на по­лу­чение клю­ча че­рез web-ин­тер­фейс.
com/services/api/keys/apply и за­пи­ши­те их в фай­лы ~/.ferris/flickr- По­лу­чение клю­ча и «сек­ре­та» – толь­ко пол­пу­ти к мон­ти­ро­
api-key.txt и ~/.ferris/flickr-api-secret.txt со­от­вет­ствен­но. Клю­чи ванию сай­тов. Да­лее за­пусти­те при­ло­жение ferris-capplet-auth Скорая
помощь
и «сек­ре­ты» для всех web-сер­ви­сов хра­нят­ся в ка­та­ло­ге ~/.ferris (по­ка­зан­ное вы­ше), вы­бе­ри­те web-сер­вис, в ко­то­ром вы хо-
в от­дель­ных фай­лах. ­ти­те ав­то­ри­зо­вать­ся с по­мо­щью libferris, и на­жми­те на кноп­к у Для пе­ре­д а­чи дан­
Для фо­то­хостин­га 23hq вы мо­же­те соз­дать свои ключ и «па­ Authenticate [Ау­тен­ти­фи­ка­ция]. Ес­ли ключ API в по­ряд­ке, поя­вит­ся ных на web-сер­вис
роль» са­мо­стоя­тель­но. Их сле­ду­ет со­хранить в фай­лах 23hq-api- диа­лог с URL-ад­ре­сом и кноп­кой, позволяющей от­крыть его ис­поль­зу­ет­ся ка­
key.txt и 23hq-api-secret.txt, со­от­вет­ствен­но. Эта по­ли­ти­ка мо­жет в Firefox. Сде­лав это, вы смо­же­те со­об­щить web-сер­ви­су, что ав­ та­лог upload, а имя
фай­ла вы­д а­ет сам
из­менить­ся в бу­ду­щем, но по­сколь­к у 23hq ис­поль­зу­ет Flickr API, то­ри­зуе­те взаи­мо­дей­ствие с libferris (с ва­ши­ми клю­чом API и па­
web-сер­вис.
для его клю­ча и «сек­ре­та» при­ме­ня­ют­ся те же са­мые фай­лы. ро­лем). За­тем вернитесь в диа­лог ferris-capplet-auth и на­жми­те
Что­бы на­стро­ить доступ к Facebook, за­ре­ги­ст­ри­руй­те «при­ло­ на кноп­к у OK, так что libferris свя­жет­ся с web-сер­ви­сом для за­вер­
жение» и по­мести­те ключ API и «сек­рет» в фай­лы facebook-api-key. шения ау­тен­ти­фи­ка­ции.
txt и facebook-api-secret.txt. На­строй­ка досту­па к Facebook – один По­сле ис­чез­но­вания диа­ло­га ин­тер­фейс ferris-capplet-auth
дол­жен по­ка­зать вам ста­т ус ‘authentication OK’ для это­го web-
сер­ви­са. Те­перь мы го­то­вы его смон­ти­ро­вать.
Не толь­ко для суперкомпов Для Google на дан­ный мо­мент libferris под­дер­жи­ва­ет толь­ко
кли­ент­ский вход (Client Login). По­ка libferris не по­лу­чил под­держ­к у
до­полнитель­но­го API ау­тен­ти­фи­ка­ции Google, нуж­но пе­ре­да­вать
Так как libferris под­дер­жи­ва­ет мон­ти­ро­ва­ние мно­же­ст­ва фай­ло­вых
сис­тем, она мо­жет по­ка­зать­ся но­вич­кам, осо­бен­но тем, кто за­хо­чет ему имя поль­зо­ва­те­ля и па­роль на­пря­мую.
ском­пи­ли­ро­вать ее из ис­ход­ни­ков, не­мно­го гро­мозд­кой. Libferris дос­
туп­на в двоичных па­ке­тах для по­след­них вер­сий Fedora, а так­же для Эти за­бав­ные фай­лы
уст­ройств Maemo Diablo (N8x0). Часть из пред­ла­гае­мых libferris ве­щей
Итак, те­перь мы го­то­вы по­рез­вить­ся с неко­то­ры­ми сай­та­ми. Ура!
луч­ше все­го вы­пол­ня­ет­ся на бы­ст­ром про­цес­со­ре с не ме­нее чем 4 ГБ
ОЗУ, а часть сра­бо­та­ет и на бо­лее скром­ной сис­те­ме с про­цес­со­ром Libferris – вир­т у­а ль­ная фай­ло­вая систе­ма ад­рес­но­го про­стран­
ARM час­то­той 400 МГц и 128 МБ ОЗУ. ства поль­зо­ва­те­ля. Она во мно­гом по­хо­жа на gnome-vfs (или gio)
или KIO slaves в KDE. Мож­но ли­бо поль­зо­вать­ся кло­на­ми coreutils,

Пропустили номер? Узнайте на с. 107, как получить его прямо сейчас.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      69
Учебник libferris 

ти­па пе­ре­де­лок cp – ferriscp и gfcp, ли­бо смон­ти­ро­вать са­му


libferris с по­мо­щью Fuse и при­ме­нять ути­ли­ты для ра­бо­ты с обыч­
ны­ми фай­ло­вы­ми систе­ма­ми.
Коман­да ferriscp ра­бо­та­ет в кон­со­ли как cp, а gfcp от­кры­ва­
ет гра­фи­че­ское ок­но GTK. Обе име­ют оди­на­ко­вый на­бор клю­чей
команд­ной стро­ки, хо­тя ferriscp мол­ча иг­но­ри­ру­ет оп­ции, от­но­
ся­щие­ся к гра­фи­че­ско­му ин­тер­фей­су. Так­же су­ще­ству­ют коман­
ды ferrisls, ftouch, fcat, fmkdir и т. д. – это кло­ны из­вест­ных ути­лит
команд­ной стро­ки с неболь­ши­ми рас­ши­рения­ми тут и там.
Ви­део­файл за­гру­жа­ет­ся на сайт та­ким об­ра­зом:
$ gfcp \
~/my-video.avi \
youtube://upload/
А как на­счет ви­део, ко­то­рое вы сня­ли на свой смарт­фон?
Ес­ли вы мо­же­те смон­ти­ро­вать те­ле­фон че­рез Bluetooth с по­мо­
щью obexfs, за­груз­ка ви­део­фай­ла на сайт де­ла­ет­ся так:
$ gfcp \ В ок­не ferris-capplet-auth есть на­бор оп­ций для за­груз­ки
~/fuse/my-phone/.../latest.mp4 \ изо­бра­же­ний на сай­ты, под­дер­жи­ваю­щие Flickr API.
youtube://upload/
Хо­ти­те за­гру­зить изо­бра­же­ние на 23hq (или дру­гой сайт, ко­то­ API вме­сте со сним­ком. Ин­тер­фейс Extended Attribute (EA) фай­ло­
рый ис­поль­зу­ет Flickr API)? Вот вам на­бор ко­манд: вой систе­мы по­зво­ля­ет свя­зы­вать с фай­ла­ми про­из­воль­ные ме­та­
$ alias 23hqu=”ferriscp \ дан­ные в фор­ма­те «ключ–зна­чение».
--target-directory \ В libferris кон­цеп­ция рас­ши­рен­ных ат­ри­бу­тов вир­т уа­ли­зи­
Скорая 23hq://me/upload” ро­ва­на, и они мо­г ут со­хра­нять­ся на диске и счи­ты­вать­ся с него
помощь
$ 23hqu /tmp/foo.jpg или по­лу­чать­ся дру­ги­ми спо­со­ба­ми. На­при­мер, чтение ат­ри­бу­
Об­ще­ние с web- Ко­ман­да ferris-redirect ра­бо­та­ет так же, как опе­ра­тор пе­ре­­- та MD5 за­ста­вит libferris вы­чис­лить MD5‑хэш со­дер­жи­мо­го фай­
сер­ви­са­ми про­ис­ на­прав­ле­ния bash >. Зная, что по­сле­до­ва­тель­ность | ferrisredirect ла и вер­нуть его вам. Libferris мо­жет так­же пе­ре­кры­вать ме­та­дан­
хо­дит по про­то­- эк­ви­ва­лент­на >, вы смо­же­те пе­ре­на­прав­лять дан­ные в лю­бую ные при­ло­жений; на­при­мер, тэ­ги, на­зна­чен­ные в F-Spot, яв­ля­ют­ся
ко­лу REST, по­то­му
фай­ло­вую сис­те­му libferris. Ука­жи­те имя фай­ла, в ко­то­рый нуж­ для libferris та­ки­ми же рас­ши­рен­ны­ми ат­ри­бу­та­ми.
что он очень прост
и хо­ро­шо от­ра­ но за­пи­сать дан­ные, и стан­дарт­ный по­ток вво­да ferris-redirect Так как libferris под­дер­жи­ва­ет ме­та­дан­ные че­рез рас­ши­рен­
жа­ет то, как web- бу­дет вы­ве­ден в этот файл. ные ат­ри­бу­ты, мож­но за­ста­вить его ско­пи­ро­вать неко­то­рые
брау­зе­ры по­лу­ча­ $ ftouch google://docs/datefileA.txt из них на Flickr вме­сте с ва­шей фо­то­гра­фи­ей. Как вид­но на эк­
ют и от­прав­ля­ют $ date | ferris-redirect google://docs/datefileA.txt ран­ном сним­ке ввер­х у, я вклю­чил раз­мер, хэш MD5 и все ме­та­
ин­фор­ма­цию.
$ fcat google://docs/datefileA.txt дан­ные из про­грам­мы F-Spot во все вы­груз­ки на 23hq. Опуб­ли­ко­
Thu Aug 20 22:19:49 EST 2009 вав фо­то­гра­фию, libferris запи­сы­ва­ет неко­то­рые но­вые ат­ри­бу­ты
в локаль­ный файл изо­бра­жения. Имя сай­та, на ко­то­рый был
API Flickr вы­гру­жен снимок, со­хра­ня­ет­ся в webphotoservice, а иден­ти­фи-
Уч­ти­те, что API Flickr под­дер­жи­ва­ет­ся мно­же­ством сай­ ­ка­тор фо­то­гра­фии – в webphoto-photo-id. Та­ким об­ра­зом, лег­
тов, и лю­бой из них дол­жен быть досту­пен вам че­рез libferris. ко уви­деть, вы­гру­же­но ли изо­бра­жение, и ес­ли да – по­лу­чить его
Ес­ли ин­те­рес­ный вам сайт с API Flickr «не дру­жит» с libferris, ад­рес на сай­те.
по­тре­бу­ет­ся лишь соз­дать про­из­вод­ный класс от WebPhotos
в libferriswebphotos_shared.cpp и воз­вра­тить URL-ад­рес ва­ше­го gfcp
сай­та и пу­ти к клю­чу при­ло­жения и «сек­ре­т у». Вы на­вер­ня­ка за­ Коман­ды, приведен­ные в листин­ге ниже, мо­г ут это про­
хо­ти­те рас­ши­рить ferris-capplet-auth, что­бы ау­тен­ти­фи­ци­ро­вать яснить. Gfcp ко­пи­ру­ет файл изо­бра­жения в мою учет­ную за­
поль­зо­ва­те­лей че­рез гра­фи­че­ский ин­тер­фейс. пись Flickr. По­сколь­к у я за­дал Default Include EA And Value Regex
Реа­ли­за­ция API Flickr на­ча­лась в се­ре­дине 2008 го­да с под­ [Вклю­чать ат­ри­бу­ты по умол­чанию] как ‘(size|md5)’, я уви­ж у
держ­ки вы­груз­ки фо­то­гра­фий. Это под­ра­зу­ме­ва­ет воз­мож­ность тэ­ги, по­ка­зы­ваю­щие раз­мер и хэш MD5 ис­ход­но­го изо­бра­жения
уста­нов­ки прав досту­па по умол­чанию че­рез рас­ши­рен­ные ат­ри­ на flickr.com. Вто­рая коман­да вы­во­дит неко­то­рые ме­та­дан­ные
бу­ты (Extended Attributes), ко­то­рые пе­ре­да­ют­ся по­сред­ством Flickr локаль­но­го фай­ла изо­бра­жения; как ви­ди­те, libferris ав­то­ма­
ти­че­ски со­хра­ня­ет иден­ти­фи­ка­тор фо­то­гра­фии и имя web-
сер­ви­са в ис­ход­ном фай­ле фо­то­гра­фии. С по­мо­щью этих двух
Эко­но­мим вре­мя на ко­ман­ды ат­ри­бу­тов мы по­лу­ча­ем ад­рес изо­бра­жения на Flickr – www.flickr.
com/photos/monkeyiq/3857255129. Так что при про­смот­ре локаль­
На­би­рать ferris-redirect ка­ж ­дый раз при запи­ го в но­вых се­ан­сах Bash для пе­ре­на­прав­ле­ния но­го фай­ла изо­бра­жения лег­ко уз­нать, ку­да вы его за­гру­зи­ли.
си дан­ных в фай­лы до­воль­но нуд­но, но мож­ дан­ных в ferris-redirect вы смо­же­те на­брать Вот как изо­бра­же­ние ко­пи­ру­ет­ся на Flickr:
но за­ста­вить Bash за­ме­нить это на бо­лее толь­ко знак ‘боль­ше’. $ gfcp small-test-image.jpg flickr://me/upload
удоб­ные ко­ман­ды пе­ре­на­прав­ле­ния в libferris- Эти ко­ман­д ы ими­т и­ру­ют стан­д арт­ные
со­вмес­ти­мом тек­сте. «до­пи­с ать» и «усечь» и по­зво­лят пе­ре­на­
$ fls -lh --show-ea=name,size,webphoto-service,webphotophoto-id \
Для вво­д а Bash ис­поль­зу­ет ути­ли­т у пра­вить дан­ные в лю­бую фай­ло­вую сис­те­   small-test-image.jpg
readline, у ко­то­рой есть файл на­с трой­ки, по­з­­­- му libferris. small-test-image.jpg   683   flickr
во­ляю­щий за­ме­нить од­ну тек­с то­вую стро­к у $include /etc/inputrc 3857255129
дру­гой. Что­бы это за­ра­бо­та­ло, до­бавь­те сле­ “>>>”: “| ferris-redirect “
В вы­па­д аю­щем спи­ске из­менения раз­ме­ра по умол­чанию
дую­щие ни­же стро­ки в ~/.inputrc. По­с ле это­ “>>|”: “| ferris-redirect -T “
в ferris-capplet-auth мож­но за­д ать спо­соб мас­шта­би­ро­вания

Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/!


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
70      LXF132 Июнь 2010
 libferris Учебник

сним­ка пе­ред его вы­груз­кой на сайт web-сер­ви­са. Это удоб­но, с наи­боль­шим из доступ­ных раз­ре­шений. В сво­их фо­то­а ль­бо­
ес­ли вы ра­бо­тае­те с фо­то­гра­фия­ми с раз­ре­шением боль­ше мах вы мо­же­те за­ме­тить, что у ка­ж ­дой фо­то­гра­фии есть ка­та­лог
10 Мпикс и хо­ти­те за­гру­зить на сайт об­ра­зец ши­ри­ной 1280 пик­ <ID>_comments. Ком­мен­та­ри­ям к фо­то­гра­фии со­от­вет­ству­ют вир­
се­лей вме­сто ис­ход­но­го фай­ла раз­ме­ром 5 МБ. В ferris-capplet- ту­а ль­ные фай­лы в нем, как по­ка­за­но ниже. Для соз­дания но­во­го
auth мож­но за­д ать толь­ко од­но из­ме­рение, и оно оп­ре­де­лит ком­мен­та­рия про­сто за­пи­ши­те но­вый файл в ка­та­лог коммента­
ши­ри­ну или вы­со­т у в за­ви­си­мо­сти от то­го, что боль­ше у вы­гру­ риев. Об имени фай­ла не бес­по­кой­тесь, так как вы вряд ли смо­
жае­мо­го изо­бра­жения. На­при­мер, ес­ли это зна­чение рав­но 1024 же­те уга­дать нуж­ное – libferris по­зво­ля­ет за­дать лю­бое имя фай­
и ши­ри­на боль­ше, то высота ав­то­ма­ти­че­ски из­менит­ся так, что ла, не ис­поль­зуе­мое в дан­ный мо­мент, и пе­ре­име­ну­ет файл, когда Скорая
помощь
со­от­но­шение сто­рон останет­ся прежним, и за­гру­зит­ся файл он по­лу­чит кор­рект­ное имя от API Flickr. Так­же мож­но запи­сать
с ши­ри­ной 1024. дан­ные в су­ще­ствую­щий файл с ком­мен­та­ри­ем, как по­ка­за­но Хо­тя ус­ло­вия ис­
в по­следней коман­де. Это удобнее, ес­ли вы поль­зуе­тесь фай­ло­ поль­зо­ва­ния не­
Me — это я! вым менед­же­ром и не хо­ти­те во­зить­ся с име­на­ми фай­лов, что­бы ко­то­рых web-
сер­ви­сов мо­г ут
Ко­рень ва­шей фай­ло­вой систе­мы Flickr поя­вит­ся в под­ка­та­ло­ге из­менить ком­мен­та­рий.
ог­ра­ни­чи­вать ва­
с ва­шим именем поль­зо­ва­те­ля. Что­бы обес­пе­чить ра­бо­т у универ­ #Создание и обновление комментариев к изображениям ши воз­мож­но­сти,
саль­ных скрип­тов, ди­рек­то­рия me ссыла­ет­ся на ка­та­лог ва­ше­го на Flickr через файловую систему: с по­мо­щью libfer-
поль­зо­ва­те­ля, так что flickr://me и flickr://monkeyiq для мо­ей учет­ $ fls -0 flickr://me/not-in-any-photosets/443571910_ ris удоб­но де­лить­
ся фо­то­гра­фия­
ной запи­си оди­на­ко­вы. Со­дер­жи­мое ка­та­ло­га me по­ка­за­но ниже. comments
ми с друзь­я­ми из
Ка­та­лог upload пе­ре­да­ет все запи­сан­ные в него фай­лы изо­бра­ 7213593-443571910-72157621814094035 … Flickr, ко­то­рым не­
жений Flickr API, и в ре­зуль­та­те они по­яв­ля­ют­ся на сай­те. Ка­та­лог monkeyiq 09 Aug 4 11:48  four more до­суг про­смат­ри­
contacts по­зво­ля­ет вам уви­деть сво­их дру­зей по учет­ной запи­си 7213593-443571910-72157621814721241 … вать сним­ки на ва­
Flickr. В ка­та­ло­гах photosets и not-in-any-photosets на­хо­д ят­ся monkeyiq 09 Aug 4 13:06 шей до­маш­ней
стра­ни­це.
все ва­ши изо­бра­жения, при­чем в по­следнем – сним­ки, не от­но­ 7213593-443571910-72157621814771773 …
ся­щие­ся ни к од­ной из ка­те­го­рий. В ка­та­ло­ге recent на­хо­д ят­ся monkeyiq 09 Aug 4 13:  test9
недав­но за­гру­жен­ные изо­бра­жения, а в ка­та­ло­ге favs – изо­бра­ 7213593-443571910-72157621888320960 ... monkeyiq 09 Jul
жения, ко­то­рые вы по­ме­ти­ли как из­бран­ные. 30 12:00 water dragon
$ fls -0 flickr://me $ echo what you looking at | ferris-redirect -T \
by-id   flickr://me/not-in-any-photosets/443571910_comments/
contacts new
favs $ echo test10 | ferris-redirect -T \
not-in-any-photosets   flickr://me/not-in-any-photosets/443571910_
photosets comments/7213593-443571910-72157621814771773
recent Ес­ли соз­дать рас­ши­рен­ный ат­ри­бут (EA) tag:foo у изо­бра­жения
upload в фай­ло­вых систе­мах flickr:// или 23hq://, libferris по­пы­та­ет­ся
Ка­та­лог by-id по­зво­ля­ет най­ти изо­бра­жение по его чи­сло­ за­дать тэг ‘foo’ для изо­бра­жения с по­мо­щью API Flickr. Точ­но так же,
во­му иден­ти­фи­ка­то­ру ID. Это по­след­няя часть ад­ре­са, ко­ ес­ли запи­сать ‘0’ в tag:foo, libferris по­пы­та­ет­ся уда­лить тэг ‘foo’
то­рый вы ви­ди­те в брау­зе­ре. На­при­мер, в ад­ре­се www.flickr. у изо­бра­жения че­рез API Flickr.
com/photos/gromgull/3831809948 ID фо­то­гра­фии – 3831809948. Про­смотр ди­рек­то­рии flickr://me/contacts немно­го оза­да­чи­ва­
В фай­ле с именем, со­от­вет­ствую­щим иден­ти­фи­ка­то­ру фо­то­гра­ ет: у ка­ж ­до­го дру­га здесь есть соб­ствен­ный ка­та­лог. В ка­та­ло­гах
фии, в ка­та­ло­ге by-id мож­но най­ти ме­та­дан­ные сним­ка. Ес­ли про­ дру­зей на­хо­д ят­ся их фо­то­а ль­бо­мы и из­бран­ные фо­то­гра­фии.
честь этот файл, на­при­мер, коман­дой cat, вы по­лу­чи­те вер­сию Так мож­но уз­нать, ка­кие сним­ки дру­зья счи­та­ют ин­те­рес­ны­ми.
изо­бра­жения в са­мом боль­шем доступ­ном раз­ме­ре. На­при­мер, Об­ра­ти­те внимание, что воз­мож­на за­груз­ка ви­део с по­мо­щью
две сле­дую­щие коман­ды ска­чи­ва­ют изо­бра­жение и ото­бра­жа­ют API Flickr, ес­ли сер­вис по­зво­ля­ет это. Я смог за­гру­зить на сайт
его локаль­но. Flickr несколь­ко ви­део­ро­ли­ков.
# This is us getting metadata and an image off Flickr В бу­д у­щем планиру­ет­ся бо­лее плот­ная под­держ­ка гео­тэг­гин­
through the filesystem: га в libferris. Так­же бы­ло бы очень здо­ро­во за­пус­кать rsync, что­
$ fls --xml flickr://me/by-id/3831809948 бы об­нов­лять в API Flickr зер­ка­ло ло­каль­ной фай­ло­вой сис­те­мы,
<?xml version=”1.0” encoding=”UTF-8” standalone=”no” ?> но с этим по­ка есть про­бле­мы.
<ferrisls>
<ferrisls mtime-display=”70 Jan 1 10:00”
name=”3831809948” title=”” Ре­сур­сы
url=”webphotos:///flickr/.../3831809948”
webphoto-id=”3831809948”/> Геотэггинг в libferris Ключ Facebook
... www.linux.com/archive/feature/56674 http://wiki.developers.facebook.com/index.
</ferrisls> До­к у­мен­та­ция раз­ра­бот­чи­ка Flickr php/Connect/Setting_Up_Your_Site
$ fcat flickr://me/by-id/3831809948 >| /tmp/out.jpg www.flickr.com/services/api/auth.howto. Ключ Vimeo
desktop.html www.vimeo.com/api/docs/desktopauth
$ gimp /tmp/out.jpg По­лу­че­ние клю­ча и «сек­ре­та»API Flickr Кли­ент­ский вход Google
$ fcat flickr://me/by-id/3831809948 | okular - www.flickr.com/services/api/keys/apply http://code.google.com/apis/accounts/docs/
Про­смот­рев со­дер­жи­мое каталогов favs, not-in-any-photosets Ключ и «сек­рет» 23hq AuthForInstalledApps.html
или photosets, вы уви­ди­те ме­та­дан­ные всех фо­то­гра­фий, ко­то­ www.23hq.com/doc/api/faq До­пол­ни­тель­ное API ау­тен­ти­фи­ка­ции
www.23hq.com/doc/api/auth Google
рые вы по­ме­ти­ли как из­бран­ные или по­мести­ли в фо­то­а ль­бо­мы.
Ключ Youtube http://code.google.com/apis/accounts/docs/
Опять же, как и в слу­чае с ка­та­ло­гом by-id, при чтении фай­ла http://code.google.com/apis/youtube/dashboard GettingStarted.html
из ка­та­ло­га favs с web-сер­ви­са бу­дет за­гру­же­на фо­то­гра­фия

Через месяц Смон­ти­ру­ем Facebook и YouTube и по­ра­бо­та­ем с Google Docs.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      71
OpenOffice.org Base Ос­во­им суть 
по­строе­ния баз дан­ных с ну­ля

Base: Дан­ные
Ес­ли вы не при­ду­ма­ли, как бы по­эф­фек­тив­нее управ­лять сво­ей кол­лек­ци­ей DVD
или спи­ском кон­так­тов, Боб Мосс мо­жет по­ка­зать вам, как это де­ла­ет­ся.

Здесь мы соз­да­ем таб­ли­цу имен лю­дей и пер­вич­ный ключ,


а так­же внеш­ний ключ для ссыл­ки на таб­ли­цу го­ро­дов.

лись за наш урок, то вполне ве­ро­ят­но, что вы по­ка не со­би­рае­тесь


иметь де­ло с мил­лио­на­ми строк дан­ных ра­ди раз­ра­бот­ки кор­по­
ра­тив­ной систе­мы; по­это­му про­цесс обу­чения бу­дет не слиш­ком
сло­жен. Но да­же при­об­ре­тение на­вы­ка соз­дания соб­ствен­ной
ба­зы дан­ных для ин­вен­та­ри­за­ции до­машнего скар­ба, кол­лек­ции
DVD или спи­ска кон­так­тов мо­жет ока­зать­ся бес­цен­ным. Для це­лей
уро­ка мы пред­по­ло­жим, что вы не знае­те ров­но ниче­го, и осве­тим
толь­ко са­мое необ­хо­ди­мое для вво­да в те­му.

От­кры­тое ре­шение
В
ам уже, ве­ро­ят­но, зна­ко­ма кон­цеп­ция элек­трон­ных таб­
лиц. Вы соз­дае­те на­бор столб­цов с за­го­лов­ка­ми, за­даю­ Те, кто стал­ки­вал­ся с ба­за­ми дан­ных ранее в Microsoft Access,
щи­ми ка­те­го­рии, и стро­ки для пе­ре­ме­щения по это­му со­чтут OpenOffice.org Base бо­лее чем аде­к­ват­ной кросс-плат­фор­
на­бо­ру. До­пустим, два столб­ца обо­зна­ча­ют при­ход и рас­ход, мен­ной за­ме­ной. Боль­шин­ство ди­ст­ри­бу­ти­вов не уста­нав­ли­ва­
а стро­ки от­но­сят­ся к раз­лич­ным да­там. Ячей­ки на пе­ре­се­чении ют эту часть OpenOffice.org по умол­чанию, и вам при­дет­ся спер­ва
строк и столб­цов со­дер­жат ва­ши фи­нан­со­вые дан­ные, и вы до­ба­вить ее че­рез свой менед­жер па­ке­тов.
Наш в ито­ге по­лу­чи­те ба­ланс, по ко­то­ро­му мож­но по­стро­ить гра­фик. При пер­вом за­пуске OOo Base вы уви­ди­те всплы­ваю­щее ок­но
эксперт А как уз­нать, ко­му вы пла­ти­ли? Или, что бо­лее важ­но, как с пред­ло­жением соз­дать ба­зу дан­ных. Вы мо­же­те спо­кой­но вы­
Боб Мосс управ­лять не толь­ко фи­нан­са­ми? Здесь вам при­го­дит­ся ба­за брать ва­ри­ант по умол­чанию для соз­дания пустой ба­зы. На­блю­
де­лит свое вре­мя дан­ных. Ба­зы дан­ных яв­ля­ют­ся скры­тым ме­ханиз­мом боль­шин­ да­те­ли с ор­ли­ным взо­ром за­ме­тят, что OOo Base на­пуска­ет на вас
ме­ж ­д у про­грам­ми­ ства пред­при­ятий, и вы стал­ки­вае­тесь с ними ка­ж ­дый день в Ин­ масте­ров, соз­даю­щих при­ме­ры баз дан­ных, но по­сколь­к у эти ба­
ро­ва­ни­ем и обу­че­
ни­ем на фа­к уль­те­
тернете, так как они управ­ля­ют са­мы­ми со­вре­мен­ны­ми сай­та­ми. зы часто ор­ганизо­ва­ны не луч­ше обыч­ных элек­трон­ных таб­лиц,
те вы­чис­ли­тель­ной Не ду­май­те, что раз­ра­бот­ка баз дан­ных – это ка­кая-то чер­ная два­ж ­ды по­д у­май­те, пре­ж ­де чем их ис­поль­зо­вать.
тех­ни­ки. ма­гия в ис­полнении ха­ке­ров из под­зем­но­го бун­ке­ра: в ре­а ль­но­ Не пой­д я на по­во­д у у масте­ров, вы по­лу­чи­те со­вер­шен­но
сти их мощь доступ­на да­же ря­до­во­му поль­зо­ва­те­лю. Ес­ли вы взя­ пустую ба­зу без таб­лиц. Соз­д а­дим несколь­ко таб­лиц, что­бы по­
лу­чить пред­с тав­ление о ра­бо­те ба­зы дан­ных. Они бу­д ут ис­поль-
­зо­вать пер­вич­ные и внешние клю­чи; ре­ко­мен­д у­ем про­чи­тать
врез­к у на со­седней странице, где из­ло­же­на со­от­вет­с твую-
­щ ая тео­рия.
В об­щем, имея пустую ба­зу дан­ных, соз­дай­те но­вую таб­ли­ц у
в Ре­жи­ме ди­зай­на – это что­бы мы мог­ли за­дать столб­цы в таб­ли­це

Имя [First name] Фа­ми­лия [Second name] Го­род [City]

Джон Смит Лон­дон

Джон Смит Ли­вер­пуль

Том Джонс Лон­дон

Джо Блоггс Бри­столь


Соз­да­ние таб­ли­цы на­зва­ний го­ро­дов — уп­раж­не­ние не­слож­ное.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
72      LXF132 Июнь 2010
 Ooo Base Учебник

в по­ряд­ке Код урока

Го­ро­да [Cities]

CityID City

0 Лон­дон

1 Бри­столь

2 Ман­че­стер

3 Ли­вер­пуль

и ти­пы дан­ных для них, так же, как при ра­бо­те с элек­трон­ны­ми
таб­ли­ца­ми. На­ша пер­вая таб­ли­ца бу­дет со­дер­жать на­звания го­ро­
дов, и нам по­на­до­бят­ся две ко­лон­ки: CityID и City. Что­бы на­стро­
ить CityID как пер­вич­ный ключ, щелкните по нему пра­вой кноп­кой
и вы­бе­ри­те пункт «Пер­вич­ный ключ». Непло­хо так­же по­за­бо­тить­
ся, что­бы CityID бы­ло по­лем ти­па Integer (це­лое чис­ло), и вклю­чить
для это­го по­ля ав­то­ма­ти­че­скую ну­ме­ра­цию, что­бы при до­бав­
лении но­во­го го­ро­да не вво­дить пер­вич­ный ключ (т. е. по­ряд­ко­вый
но­мер) вруч­ную. на­шим пер­вич­ным клю­чом. Сле­д ую­щая ко­лон­ка по­лу­чит имя
Свя­жем пер­вич­
Cохраните это… вот вы и соз­да­ли свою пер­вую таб­ли­цу, для CityID и бу­дет то­же ти­па Integer. У нее не долж­но быть ав­то­ма­
ный ключ с внеш­
хранения на­званий го­ро­дов. Что­бы вве­сти в нее дан­ные, про­сто ти­че­ской ну­ме­ра­ции, так как это дру­гой тип клю­чей и тут мо­г ут ним в ре­дак­то­ре
от­крой­те таб­ли­цу с основ­ной вклад­ки и до­бав­ляй­те зна­чения встре­чать­ся по­вто­ры. Так­же до­бавь­те две тек­сто­вые ко­лон­ки для свя­зей.
в по­ле City. По­ле CityID бу­дет за­пол­нять­ся ав­то­ма­ти­че­ски при ка­ж­ имен [first name] и фа­ми­лий [second name]. Со­храните эту таб­ли­ц у
дом до­бав­лении но­вой запи­си. и от­крой­те ее за­но­во в стан­
Чтобы уда­лить до­бав­лен­ные
значения, щелкните пра­вой
«При­ме­ним сек­рет­ное дарт­ном про­смот­ре для до­бав­
ления но­вых запи­сей.
кноп­кой на са­мой ле­вой части
запи­си и вы­бе­ри­те Уда­лить
ору­жие баз дан­ных – Те­перь свя­жем CityID из таб­
ли­цы Го­ро­да [Cities] с CityID Скорая
помощь
стро­ки. Вы мо­же­те в лю­бой мо­ за­прос ‘select’.» в таб­ли­це Лю­ди [People]. Для
мент вер­нуть­ся в ре­жим ди­зай­ это­го пе­рей­ди­те на Сер­вис > Вы смо­же­те най­ти
на, щелк­нув пра­вой кноп­кой в основ­ном окне и вы­брав Из­менить. Свя­зи и до­бавь­те ту­да обе таб­ли­цы. За­тем для соз­дания свя­ обе ба­зы дан­ных
Те­перь сде­ла­ем нечто по­умнее: свя­жем лю­дей с го­ро­да­ми зи нуж­но щелк­нуть и пе­ре­тя­нуть CityID с пер­вой таб­ли­цы на вто­ из это­го учеб­ни­ка
на на­шем дис­ке.
их про­жи­вания. В ре­жи­ме ди­зай­на, вам нуж­но бу­дет соз­дать но­ рую. Вы долж­ны уви­деть 1 у таб­ли­цы Cities и n у таб­ли­цы Names,
вую таб­ли­цу с че­тырь­мя по­ля­ми. Од­но на­зо­вем NameID – это что по­ка­зы­ва­ет связь «один-со-мно­ги­ми».
по­ле ти­па Integer с ав­то­ма­ти­че­ской ну­ме­ра­ци­ей бу­дет яв­лять­ся Дан­ные-то мы ор­ганизо­ва­ли, но за­про­сто до­бав­лять, про­смат­
ри­вать или ре­дак­ти­ро­вать запи­си по­ка не по­лу­чит­ся. Для это­
го нуж­но соз­дать наш пер­вый за­прос!
Пер­вич­ный или внеш­ний?
Лю­ди [People]
В ми­ре баз дан­ных су­ще­ст­ву­ет два ти­па клю­чей, о ко­то­рых сле­д у­ет
знать. Пер­вый, ко­то­рый мы на­зва­ли «пер­вич­ный ключ» – это по­ле ID NameID CityID FirstName SecondName
(иден­ти­фи­ка­тор), ко­то­рое обя­за­но быть в ка­ж ­дой оди­ноч­ной таб­ли­
це. Оно пре­дос­тав­ля­ет уни­каль­ное зна­че­ние ID для ка­ж ­дой за­пи­си. 0 0 Джон Смит
Спер­ва это мо­жет по­ка­зать­ся вам бес­смыс­лен­ным, но ес­ли в ва­шу
таб­ли­ц у со спи­ском имен за­те­са­лись два Джо­на Сми­та, дви­жок ба­зы 1 3 Джон Смит
дан­ных по умол­ча­нию со­чтет их од­ним и тем же ли­цом. А на­зна­чив
ка­ж ­до­му из них раз­ные зна­че­ния ID, мы со­об­щим движ­к у на­шей ба­ 2 0 Том Джонс
зы, что это раз­ные лю­ди, хо­тя и пол­ные тез­ки.
3 1 Джо Блоггс

Пропустили номер? Узнайте на с. 107, как получить его прямо сейчас.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      73
Учебник Ooo Base 

От­веть­те на мой за­прос Свя­зы­ва­ем таб­ли­цы


Те­перь при­меним сек­рет­ное ору­жие баз дан­ных – за­прос ‘select’. Сле­д ую­щий тип клю­ча – это «внешний [foreign] » ключ, ко­то­рый
Мы уже нема­ло по­ра­бо­та­ли над ор­ганиза­ци­ей дан­ных, но по­ка что яв­ля­ет­ся бо­лее аб­ст­ракт­ной иде­ей. Пред­ставь­те се­бе две таб­ли­
таб­ли­цы все-та­ки ото­бра­жа­ют ве­щи бо­лее ин­т уи­тив­ным для нас цы: од­на со­дер­жит спи­сок имен, а дру­гая – спи­сок го­ро­дов. По­нят­
спо­со­бом. Од­на­ко мы мо­жем при­менить за­прос select для сбо­ра но, что ка­ж ­дый че­ло­век мо­жет жить толь­ко в од­ном го­ро­де, тогда
нуж­ных дан­ных из ба­зы и ото­бра­жения их в бо­лее дру­же­люб­ном как в ка­ж ­дом го­ро­де жи­вет мно­го лю­дей. В ре­ля­ци­он­ной тео­рии
к про­смот­ру и ре­дак­ти­ро­ванию ви­де. это из­вест­но как связь «один-ко-многим», и наш внешний ключ
Для это­го про­сто щелкните на икон­ке За­про­сы в ле­вой части по­зво­ля­ет нам ее смо­де­ли­ро­вать.
ок­на ба­зы дан­ных и за­тем соз­дай­те но­вый за­прос в ре­жи­ме ди­зай­ В таб­ли­ц у Лю­ди мы до­ба­ви­ли но­вый стол­бец, CityID, и для
на. Поль­зо­ва­те­лям Microsoft Access это уже зна­ко­мо, а для осталь­ ка­ж ­до­го че­ло­ве­ка ука­за­ли в нем зна­чение со­от­вет­ствую­ще­го
ных ска­жем, что нуж­но все­го-на­все­го до­ба­вить в за­прос обе таб­ пер­вич­но­го клю­ча го­ро­да, где он жи­вет. Мы до­пуска­ем на­ли­чие
ли­цы. Да­лее до­бавь­те по­ля First Name и Second Name в пер­вые два дуб­ли­ка­тов в этом по­ле, по­сколь­к у зна­ем, что в ка­ж ­дом го­ро­де
столб­ца, ис­поль­зуя со­от­вет­ствую­щие вы­па­даю­щие спи­ски, и от­ мо­жет про­жи­вать бо­лее од­но­го че­ло­ве­ка. За­тем мы свя­зы­ва­ем
меть­те по­ле City как тре­тий стол­бец. По­ля ID ни в ка­кие столб­цы по­ле CityID в этой таб­ли­це с пер­вич­ным клю­чом в таб­ли­це City.
до­бав­лять неза­чем, так как нам нуж­но ви­деть со­дер­жи­мое ба­зы, В дан­ном слу­чае NameID в таб­ли­це Names и CityID в таб­ли­
а не ее струк­т у­ру. це City – это на­ши пер­вич­ные клю­чи, а по­ле CityID в таб­ли­це
Про­де­лав это, со­храните свой за­прос и за­тем за­пусти­те его Names – внешний ключ. Вы за­ме­ти­те, что у нас есть два Джо­на
двой­ным щелч­ком по нему в окне ба­зы дан­ных. Ес­ли вы все сде­ Сми­та, но они жи­вут в раз­ных го­ро­дах. Один из Джо­нов Сми­тов
ла­ли пра­виль­но, со­храните и за­крой­те ва­шу ба­зу – для под­го­тов­ и Том Джонс жи­вут в Лон­доне, так как зна­чения их по­лей внеш-
ки к сле­д ую­ще­му эта­пу... него клю­ча одинаковы.

При­меним это на прак­ти­ке


Итак, вы соз­да­ли про­стую ба­зу дан­ных, со­дер­жа­щ ую две взаи­мо­
свя­зан­ных таб­ли­цы, и за­прос, ко­то­рый со­стря­пал из этих дан­ных DVDs
нечто по­лез­ное. Те­перь при­меним по­лу­чен­ные знания к ре­а ль­-
Ключ? Имя столбца Тип дан­ных Опи­са­ние
но­му про­ек­т у, ко­то­рый вы смо­же­те ис­поль­зо­вать в по­все­-
днев­ных за­д а­чах. Для при­ме­ра ор­ганизу­ем ва­шу пер­со­наль­ную Наш пер­вич­ный
PK
кол­лек­цию DVD. DVDID Integer ключ (сде­лай­те ему
[Пер­вич­ный]
ав­то­ну­ме­ра­цию)
Пер­вым де­лом оп­ре­де­лим све­дения, ко­то­рые нуж­но хра­
нить о ка­ж ­дом DVD. В на­шем сце­на­рии мы долж­ны учесть, про­ FK [Внеш­ний] FilmID Integer Внеш­ний ключ филь­ма
смот­рен фильм или нет, и на­хо­дит­ся ли DVD в ва­шей ви­део­те­ке
или вы одол­жи­ли его дру­г у. Так­же, воз­мож­но, вы за­хо­ти­те ви­ От­дан дру­г у?
LendStatus Boolean
Да/Нет
деть ин­фор­ма­цию о са­мом филь­ме на диске, что­бы мож­но бы­ло
сра­зу ска­зать, есть ли он в ва­шей кол­лек­ции или на­до сго­нять
за ним в бли­жай­ший ви­део­про­кат. на­ши­ми по­вто­ряю­щи­ми­ся дан­ны­ми. Мы мо­жем так­же за­дать
Да­лее об­ду­ма­ем клю­че­вые свя­зи в этой ба­зе дан­ных. На од­ в таб­ли­це, про­смот­рен фильм или нет – для лю­бо­го филь­ма это
ном DVD по идее мо­жет быть толь­ко один фильм [в России бы­ про­ис­хо­дит толь­ко один раз, сколь­ко бы ни бы­ло у вас DVD с его
ва­ет и не так, но этот слу­чай мы не рас­смат­ри­ва­ем, – прим. ред.], ко­пия­ми (на­при­мер, ес­ли вы ви­де­ли фильм Креп­кий оре­шек, это
но у вас мо­жет най­тись не од­на ко­пия это­го филь­ма. Зна­чит, в таб­ ка­са­ет­ся всех имею­щих­ся у вас ко­пий). Мож­но так­же за­дать в таб­
ли­це DVD ну­жен внешний ключ, так как на­звание филь­ма бу­дет ли­це DVD, есть ли фильм в на­ли­чии у вас до­ма: ска­жем, вы одол­
жи­ли ко­му-нибудь диск с Кри­ми­наль­ным чти­вом, но он не по­
следний – у вас оста­лись дру­гие его ко­пии.
Итак, нам сно­ва по­на­до­бят­ся две таб­ли­цы: од­на бу­дет со­дер­
жать дан­ные обо всех имею­щих­ся у вас DVD, а дру­гая – ин­фор­ма­
цию о ка­ж ­дом филь­ме. Они бу­д ут вы­гля­деть как таб­ли­цы, при­ве­
ден­ные ввер­х у и внизу.

По­клон Джорд­жу Бу­лю


Вы за­ме­ти­те в этих таб­ли­цах но­вый тип дан­ных – Boolean. Он га­
ран­ти­ру­ет нам, что на во­прос, на­хо­дит­ся ли DVD у нас до­ма или

Films

Ключ? Имя столбца Тип дан­ных Опи­са­ние

Наш пер­вич­ный ключ


PK FilmID Integer (сде­лай­те ему
ав­то­ну­ме­ра­цию)

Да, вы уга­д а­ли:


FilmName Text
это на­зва­ние филь­ма

Это го­то­вый за­прос select; его мож­но рас­ши­рить с по­мо­щью па­ра­мет­ров. SeenIt Boolean Про­смот­рен? Да/Нет

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
74      LXF132 Июнь 2010
 Ooo Base Учебник

Ро­ли [Roles]

Ключ? Имя ко­лон­ки Тип дан­ных Опи­са­ние

PK RoleID Integer Наш пер­вич­ный ключ

Внеш­ний ключ
FK FilmID Integer
к таб­ли­це филь­мов

Внеш­ний ключ
FK ActorID Integer
к таб­ли­це ак­те­ров

RoleName Text Имя пер­со­на­жа

был ли про­смот­рен фильм, мы мо­жем иметь толь­ко от­вет: Да или


Нет. И опять, лег­ко сде­лать за­прос select, ко­то­рый достанет нам
эту ин­фор­ма­цию и ото­бра­зит в дру­же­ствен­ном ви­де, по­это­му за­
дай­те нуж­ные свя­зи в Сер­вис > Свя­зи, как бы­ло по­ка­за­но в пре­ды­
ду­щем при­ме­ре.

А как с ак­те­ра­ми?
Это сле­д ую­щий шаг, ко­то­рый мож­но про­де­лать с ва­шей ба­зой
кол­лек­ции DVD, так как вы, ве­ро­ят­но, по­же­лае­те вы­пол­нять по­
иск по ак­те­ру или ре­жис­се­ру – их имени, био­гра­фи­че­ским дан­ным
и т. п. За­да­ча бо­лее чем прак­ти­че­ская, но мы столкнем­ся с весь­ Мы смог­ли раз­ре­шить наш кон­фликт «мно­гие-ко-мно­гим» ме­ж­ду филь­ма­ми и ак­те­ра­ми,
ма ин­те­рес­ной про­бле­мой. В филь­ме иг­ра­ет бо­лее од­но­го ак­те­ра, вве­дя по­ня­тие ро­лей.
но ак­тер мог снимать­ся бо­лее чем в од­ном филь­ме. То есть нель­зя
про­сто соз­дать таб­ли­цу Ак­те­ры [Actors] и до­ба­вить внешний ключ стя­ми. С ее по­мо­щью мож­но по­искать, ка­кой DVD вы одол­жи­ли,
FilmID, по­сколь­к у в этой таб­ли­це по­тре­бу­ет­ся бо­лее чем од­на за­ за­дав со­от­вет­ствую­щие па­ра­мет­ры в за­про­се. Она мо­жет да­
пись для од­но­го и то­го же ак­те­ра. Это на­зы­ва­ет­ся свя­зью «мно­гие- же пред­ло­жить вам DVD для про­смот­ра, осно­вы­ва­ясь на филь­
ко-мно­гим», а та­кое ба­зы дан­ных не очень-то лю­бят. Они ра­бо­та­ют мах, ко­то­рые вы уже ви­де­ли. Или вы мо­же­те соз­дать ряд форм (об
со свя­зью «один-ко-мно­гим», этом мы на уро­ке не го­во­ри­ли),
и ес­ли мы хо­тим соз­дать эф­
фек­тив­ную ба­зу дан­ных, нуж­
«Вам буде­т легко при­ что­бы сде­лать ввод и вы­вод
дан­ных бо­лее дру­же­люб­ным.
но ре­шить эту про­бле­му.
Что­бы обод­рить вас, ска­ж у,
спо­со­бить эти ба­зы Еще луч­ше бу­дет пре­д у­смот­
реть им­порт ин­фор­ма­ции пря­
что не все по­те­ря­но. Си­т уа­цию под лю­бые ну­ж­ды.» мо с web-сер­ви­са вро­де IMDb.
раз­ру­лит до­бав­ление таб­ли­ Вы мо­же­те най­ти соз­дан­ные
цы Ро­ли [Roles]. Мы зна­ем, что для ро­ли ма­ло­ве­ро­ят­но поя­вить­ ба­зы дан­ных на LXFDVD это­го ме­ся­ца, и вам бу­дет лег­ко при­спо­
ся два­ж ­ды и что в филь­ме име­ет­ся бо­лее чем од­на роль. Но роль со­бить их под ва­ши ну­ж ­ды или рас­ши­рить за пре­де­лы дан­но­го
(обыч­но) иг­ра­ет­ся толь­ко одним ак­те­ром, по­это­му соз­дание та­кой уро­ка. Воз­мож­но­сти без­гра­нич­ны, и ес­ли вы сде­лае­те не­что осо­бо
таб­ли­цы да­ет нам эле­гант­ное ре­шение. Про­цесс, ко­то­рый мы толь­ по­лез­ное, по­де­ли­тесь с на­ми че­рез forum.liuxformat.ru.
ко что опи­са­ли, раз­ра­бот­чи­ки баз дан­ных на­зы­ва­ют «нор­ма­ли­за­
ци­ей», и пол­ное по­яснение, как это ра­бо­та­ет и за­чем мы это сде­ла­
ли, вы­хо­дит за рам­ки дан­но­го уро­ка. Когда не хва­та­ет select
Итак, что­бы вве­сти на­ше ре­шение в дей­ствие, нуж­ны две
до­полнитель­ные таб­ли­цы: Ро­ли [Roles] (ввер­х у) и Ак­те­ры
За­про­сы уме­ют не толь­ко вы­би­рать дан­ные ри­ро­ван­ных за­про­сов]; его мож­но ис­поль­зо­
[Actors] (внизу). и ото­бра­жать их: манипу­ли­ро­вать со­хранен­ вать для вы­полнения за­про­сов пря­мо че­рез
На­конец, для за­вер­шения струк­т у­ры ба­зы дан­ных свя­жи­те ны­ми в ба­зе дан­ны­ми мо­жно раз­ны­ми спо­со­ дви­жок ба­зы дан­ных, без гра­фи­че­ских обо­ло­
пер­вич­ные клю­чи со внешними в ре­дак­то­ре свя­зей, как по­ка­за­но ба­ми. За­про­сы мо­г ут об­нов­лять су­ще­ствую­ чек. Как пра­ви­ло, это пре­ро­га­ти­ва раз­ра­бот­
на ри­сун­ке вы­ше, и мо­же­те на­чать за­но­сить ин­фор­ма­цию о ва­шей щие дан­ные, соз­да­вать но­вые запи­си или чи­ков баз дан­ных, по­сколь­к у за­про­сы мо­г ут
уда­лять их; так­же быва­ют за­про­сы, объ­е­ди­ быть очень слож­ны­ми, и од­ной непра­виль­ной
кол­лек­ции филь­мов.
няю­щие таб­ли­цы и ре­зуль­та­ты дру­гих за­про­ строч­кой лег­ко уг­ро­бить всю ин­фор­ма­цию.
Это мо­жет по­ка­зать­ся неоче­вид­ным (и да­же бес­смыс­лен­ сов. Ко­ро­че го­во­ря, есть мас­са дей­ствий, вы­ Су­ще­ству­ет еще пол­ный кош­мар де­кар­то­ва
ным, ес­ли у вас все­го-то и есть, что DVD с Тер­ми­на­то­ром и Ар­ пол­няе­мых над ва­ши­ми дан­ны­ми в ре­а ль­ном про­из­ве­дения мно­жеств, когда вы пы­тае­
ноль­дом Швар­ценег­ге­ром), но эта ба­за дан­ных бо­га­та воз­мож­но­ вре­мени, и они де­ла­ют ба­зы дан­ных дей­стви­ тесь объ­е­динить две таб­ли­цы в од­ну но­вую.
тель­но очень мощ­ны­ми и универсаль­ны­ми. Для ма­лень­ких таб­лиц все по­лу­чит­ся хо­ро­шо,
Ог­раничением OOo Base яв­ля­ет­ся от­сут­ но в ре­а ль­ных за­да­чах с от­но­си­тель­но боль­
ствие со­от­вет­с твую­щих гра­фи­че­ских ин­с т­ ши­ми таб­ли­ца­ми сер­вер при вы­бор­ке силь­но
Ак­те­ры [Actors] ру­мен­тов, что дез­ори­ен­ти­ру­ет поль­зо­ва­те­ за­тор­мо­зит, а то и рухнет; так что луч­ше это­
лей Microsoft Access, дав­но уже имею­щих эту го из­бе­гать.
Ключ? Имя ко­лон­ки Тип дан­ных Опи­са­ние функ­цио­наль­ность. Поль­зо­ва­те­ли OOo Base Ес­ли вы по­шли пу­тем соз­дания соб­ствен­
ли­ше­ны та­ко­го сча­с тья и вы­ну­ж ­де­ны пи­с ать ных SQL-за­про­сов, спер­ва тести­руй­те их на по­
Это наш
PK ActorID Integer за­про­сы вруч­ную в их SQL-пред­с тав­лении. хо­жих ненуж­ных дан­ных, что­бы из­бе­жать по­
пер­вич­ный ключ
А что та­кое SQL? Это со­кра­щение терь. На­до ли на­по­ми­нать, что сле­д у­ет де­лать
ActorName Text Имя ак­те­ра от «Structured Query Language» [Язык струк­т у­­- ре­зерв­ные ко­пии?

Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/!


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      75
Поль­зо­ва­тель­ские функ­ции До­бавь­те элек­ 
трон­ным таб­ли­цам не­дос­таю­щий функ­цио­нал

OOo Calc: Ва­ши


Лю­би­мая элек­трон­ная таб­ли­ца не же­ла­ет ок­руг­лять чис­ла до нуж­но­го чис­ла
зна­ков? Ле­он­ ид Али­фа­нов и Алек­сандр Мад­жу­гин нау­чат ее это­му и мно­гим
дру­гим трю­кам!

Рис. 2. При­мер ис­поль­зо­ва­ния функ­ции с дву­мя пе­ре­мен­ны­ми.

че­ты, а так­же мас­си­вы сме­шан­ных дан­ных. То же мож­но ска­зать


и о пе­ре­мен­ных, ко­то­ры­ми опе­ри­ру­ют эти функ­ции.
По­че­му функ­ции пред­поч­ти­тельней мак­ро­сов, об­ра­ба­ты­ваю­
щих дан­ные, на­при­мер, по на­жа­тию кноп­ки? Во-пер­вых, при­выч­
но­стью: поль­зо­ва­тель элек­трон­ной таб­ли­цы уже зна­ком с дан­ной
кон­цеп­ци­ей. Во-вто­рых, универ­саль­но­стью: про­стой, од­на­ж­
ды напи­сан­ный код на Basic, не со­дер­жа­щий фраг­мен­тов, взаи­
мо­дей­ствую­щих с ячей­ка­ми ра­бо­чей книги и не ис­поль­зую­
щий спе­ци­фи­че­ских API, поч­ти не за­ви­сит от из­менений в язы­ке

М
но­гие ви­ды дея­тель­но­сти (ин­женер­ные рас­че­ты, ста­ или биб­лио­тек и мо­жет быть ис­поль­зо­ван в лю­бом ком­пи­ля-
ти­сти­ка, фи­нан­сы и т. д.) со­пря­же­ны с необ­хо­ди­мо­ ­то­ре или ин­тер­пре­та­то­ре Basic. При необ­хо­ди­мо­сти, его неслож­но
стью пе­рио­ди­че­ски вы­пол­нять од­но­тип­ные рас­че­ты адап­ти­ро­вать для Excel и по­том пе­рей­ти об­рат­но.
вы­со­кой слож­но­сти. Элек­трон­ные таб­ли­цы – один из са­мых удоб­ По­жа­луй, доста­точ­но всту­пи­тель­ных слов – да­вай­те рас­смот­
ных и рас­про­странен­ных ин­ст­ру­мен­тов для ре­шения дан­ной за­ рим при­мер про­стей­шей функ­ции:
да­чи. Этим уро­ком мы от­кры­ва­ем цикл ста­тей, по­свя­щен­ных де­ Function HelloWord As String
та­лям соз­дания слож­ных рас­чет­ных шаб­ло­нов и ис­поль­зо­вания HelloWord = “Hello Word!”
функ­ций Basic для рас­ши­рения функ­цио­наль­но­сти Calc. End Function
Наш се­го­дняшний урок за­тра­ги­ва­ет са­мые ба­зо­вые ве­щи и ори­ Она во­об­ще не име­ет ника­ких вхо­д я­щих па­ра­мет­ров и про­
ен­ти­ро­ван в пер­вую оче­редь на на­чи­наю­щих. В ча­ст­но­сти, мы рас­ сто воз­вра­ща­ет стро­к у «Hello Word!». Что­бы восполь­зо­вать­ся ею
смот­рим поль­зо­ва­тель­ские функ­ции и их при­менение в при­к лад­ в Calc, доста­точ­но впи­сать в ячей­к у =HelloWord(), как и в слу­чае
ных рас­че­тах в элек­трон­ных таб­ли­цах. со встро­ен­ны­ми функ­ция­ми (рис. 1).
Од­на­ко в ре­а ль­но­сти функ­ции обыч­но принима­ют ка­кие-
Функ­ции поль­зо­ва­те­ля то па­ра­мет­ры (ска­жем, диа­па­зон яче­ек, под­ле­жа­щих об­ра­бот­ке).
При про­ве­дении слож­ных спе­циа­ли­зи­ро­ван­ных вы­чис­лений Реа­ли­зу­ем это – на­пи­шем функ­цию, принимаю­щ ую од­но чи­сло­вое
встро­ен­ных воз­мож­но­стей Calc за­частую ока­зы­ва­ет­ся недоста­ зна­чение (сум­му) и воз­вра­щаю­щ ую его же, но с уче­том НДС:
точ­но, или кон­вей­е­ры, по­стро­ен­ные из стан­дарт­ных функ­ций, по­ Function NDS (ByVal cInSumm As Double) As Double
лу­ча­ют­ся че­рес­чур слож­ны­ми. В этом слу­чае на по­мощь при­хо­дит Const cStavka = 18
язык для рас­ши­рения OpenOffice.org – StarBasic, по­зво­ляю­щий NDS = cInSumm/(100 + cStavka)
соз­да­вать поль­зо­ва­тель­ские функ­ции, в том чис­ле и для элек­ NDS = NDS * cStavka
трон­ных таб­лиц. End Function
Функ­ции StarBasic универ­саль­ны – они мо­г ут воз­вра­щать В этом слу­чае син­так­сис вы­зо­ва функ­ции так­же не от­ли­ча­ет­ся
не толь­ко чи­сло­вые зна­чения, но и мно­го­строч­ные тек­сто­вые от­ от тра­ди­ци­он­но­го: на­брав =NDS(B3), вы по­лу­чи­те сум­му с уче­том
НДС для чис­ла, со­дер­жа­ще­го­ся в ячей­ке B3. Нуж­но боль­ше вхо­
дя­щих пе­ре­мен­ных? Про­сто пе­ре­чис­ли­те их все в скоб­ках че­рез
за­пя­т ую. При­мер та­кой функ­ции мож­но най­ти на диске в фай­ле
Рис. 1. Поль­зо­ва­ Листинг 1, а ее ис­поль­зо­вание про­ил­лю­ст­ри­ро­ва­но на рис. 2.
тель­ская функ­ция Мож­но за­ме­тить, что в листин­ге 1 при­сут­ству­ют две функ­ции –
в таб­ли­це Calc. TempConvert() и Round(). Пер­вая из них вы­зы­ва­ет­ся из Calc, а вто­рая

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
76      LXF132 Июнь 2010
 OOo Calc Учебник

функ­ции Лис­тин­ги
при­ме­ров функ­ций

необ­хо­ди­ма для её вы­чис­ления. Функ­ция ок­руг­ления Round(x,a)


есть в VBA для Excel, но от­сут­ству­ет в OpenOffice.org Basic, по­это­
му нам при­шлось напи­сать свою. Функ­ция TempConvert() не ти­пи­
зи­ро­ва­на – по умол­чанию ей при­сваи­ва­ет­ся тип Variant (универ­
саль­ный тип, ко­то­рый мо­жет принимать лю­бое зна­чение). К сло­ву,
пе­ре­мен­ные мож­но во­об­ще не объ­яв­лять: Basic сам бу­дет рас-
­по­зна­вать их и воз­вра­щать зна­чения по смыс­лу напи­сан­но­го ва­ми
ко­да. Но та­кой под­ход не вполне про­фес­сио­на­лен и в неко­то­
рых слу­ча­ях мо­жет при­во­дить к ошиб­кам или умень­шать бы­ст­ро-
Рис. 4. На­ша функ­
действие. па­зон мо­жет быть за­дан как обыч­но (тек­стом че­рез двое­то­чие)
ция в со­стоя­нии
Из­меним функ­цию TempConvert() так, что­бы она вы­да­ва­ла или вы­де­лен при вво­де с по­мо­щью мы­ши. ра­зо­брать та­кой
не зна­чение, а тек­сто­вый от­чет. Про­сто до­ба­вим в кон­це стро­к у: Од­на­ко, ес­ли ва­ша функ­ция ожи­да­ет ви­деть мас­сив, а поль­ лист с диа­па­зо­на­ми
TempConvert=”Тем­пе­ра­т у­ра воз­д у­х а “ & Str(TempConvert) & “º.” зо­ва­тель ука­жет не диа­па­зон, а толь­ко од­ну ячей­к у, не жди­те, что дан­ных.
Не­из­ме­няе­мый текст бе­рет­ся в ка­выч­ки, сим­вол & обо­зна­ча­ет вы по­лу­чи­те мас­сив с одним эле­мен­том – на вхо­де бу­дет про­стая
сцеп­к у; Str() пре­об­ра­зу­ет чис­ло в текст. Ес­те­ст­вен­но, ре­зуль­тат пе­ре­мен­ная. Пе­ред вы­чис­лением та­кой функ­ции сле­д у­ет про­ве­
мож­но бы­ло сде­лать и ва­ри­ант­ным, с раз­ны­ми по­яс­не­ния­ми при рить, что имен­но (мас­сив или пе­ре­мен­ная) бы­ло ей пе­ре­да­но:
раз­ных зна­че­ни­ях клю­ча. If IsArray (aData) Then
Else
Мас­си­вы 'Код об­ра­бот­к и ошиб­к и
А что ес­ли вам по­тре­бу­ет­ся пе­ре­дать в функ­цию про­из­воль­ный End If
диа­па­зон зна­чений, как это де­ла­ет­ся, на­при­мер, в стан­дарт­ной Встро­ен­ная функ­ция IsArray() воз­вра­ща­ет True, ес­ли её па­ра­
SUM()? В дан­ном слу­чае со­от­вет­ствую­щ ую вхо­д я­щ ую пе­ре­мен­ метр – мас­сив. Бо­лее под­роб­но о пе­ре­хва­те и об­ра­бот­ке оши­бок
ную сле­ду­ет объ­я­вить как Variant. При этом необ­хо­ди­мый диа­ мы по­го­во­рим в сле­д ую­щий раз.
На­конец, неко­то­рые функ­ции мо­г ут да­же воз­вра­щать мас­сив.
Они на­зы­ва­ют­ся «функ­ция­ми мас­си­ва» (под­роб­но­сти ищи­те
в справ­ке по OpenOffice.org) и вво­д ят­ся в ячей­к у с од­но­вре­мен­
ным на­жа­ти­ем кла­виш Ctrl+Shift+Enter, а ре­зуль­та­ты раз­ме­ща­ют­
ся на за­дан­ной об­ласти ра­бо­чей книги. При­мер про­стей­шей функ­
ции мас­си­ва есть на диске – это Листинг 2 (рис. 3).
Что­бы от­ре­дак­ти­ро­вать функ­цию мас­си­ва, из­менить зна­чения
её ар­г у­мен­тов или уда­лить её с листа, нуж­но вы­де­лить занимае­
мую её ре­зуль­та­том об­ласть вруч­ную, ли­бо от­ме­тить од­ну из яче­
ек диа­па­зо­на и на­жать Ctrl+/, где / – кла­ви­ша де­ления на циф­ро­
вой кла­виа­т у­ре. В дан­ном при­ме­ре ре­зуль­та­том функ­ции яв­ля­ет­ся
мас­сив чи­сел, но ничто не ме­ша­ет воз­вра­щать мас­сив фраг­мен­тов
тек­ста, или сме­шан­ный – из строк и чи­сел.

Чи­та­ем раз­мет­ку
Мож­но по­д у­мать, что лю­бая функ­ция, кро­ме «При­вет, мир!»
и ей по­доб­ных, обя­зы­ва­ет нас вво­дить дан­ные в ячей­ки листа
ра­бо­чей книги, а по­том ука­зы­вать ссыл­ки на них или их диа­па­-
зо­ны. Это прав­да, но не вся прав­да.
Мож­но, на­при­мер, вво­дить нуж­ные дан­ные в за­ранее оп­ре­де­
лен­ные ячей­ки на за­ранее оп­ре­де­лен­ные листы и счи­ты­вать их
в те­ле функ­ции. Вполне до­пусти­мо по­лу­чать дан­ные из внеш-
них тек­сто­вых фай­лов. Од­на­ко все эти ва­ри­ан­ты ли­ша­ют функ­ции
универ­саль­но­сти, и при­ме­нять дан­ный под­ход це­ле­со­об­раз­но
толь­ко в том слу­чае, ес­ли вы пи­ше­те шаб­лон за­ранее оп­ре­де­
лен­но­го кон­крет­но­го на­зна­чения. В неко­то­рых слу­ча­ях функ­цию
удоб­но реа­ли­зо­вать та­ким об­ра­зом, что­бы она не бра­ла дан­ные
Рис. 3. Ре­зуль­тат вы­чис­ле­ния функ­ция мас­си­ва за­ни­ма­ет за­дан­ из стро­го оп­ре­де­лен­ных мест, а ра­зы­ски­ва­ла их по неко­то­рым
ную об­ласть на лис­те ра­бо­чей кни­ги. при­зна­кам са­мо­стоя­тель­но.

Пропустили номер? Узнайте на с. 107, как получить его прямо сейчас.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      77
Учебник OOo Calc 

Рас­смот­рим для при­ме­ра функ­цию, которая принимает два SCA = oCellAdr0.Column


мас­си­ва (диа­па­зо­на), со­дер­жа­щих дан­ные о тор­гах по двум фи­ SRA = oCellAdr0.Row + 1
нан­со­вым ин­ст­ру­мен­там, и вы­чис­ляет неко­то­рый фи­нан­со­вый ECA = SCA + 7 - 1 ‘ ко­ли­че­с т­во столб­цов фик­си­ро­ван­ное,
ин­ди­ка­тор – в дан­ном слу­чае не важ­но, как и ка­кой. Та­кой функ­ ну­ме­ра­ция с 0
ции необ­хо­ди­мо по­лу­чать дан­ные из двух диа­па­зо­нов с непред­ ERA = SRA ‘ пред­по­ла­г а­ем что в диа­па­зо­не од­на стро­к а
ска­зуе­мым раз­ме­ром, так как при им­пор­те он бу­дет по­сто­ян­но Do While oSheet.getCellByPosition(SCA,ERA).getString <> “” '
из­ме­нять­ся. Мы не бу­дем ка­ж ­дый раз ре­дак­ти­ро­вать ячей­к у с вы­ по­к а ячей­к а не пус­т а...
зо­вом функ­ции, ука­зы­вая но­вый диа­па­зон – вме­сто это­го бу­дем ERA=ERA+1 ‘ уве­ли­чи­ва­ем ин­декс
раз­би­рать раз­мет­к у элек­трон­ной таб­ли­цы. Са­мый про­стой спо­ Loop
соб реа­ли­за­ции оз­на­чен­но­го ме­ханиз­ма – ис­поль­зо­вание на листе ERA=ERA-1 ‘ от­с ту­па­ем на­зад в диа­па­зон
тек­сто­вых ме­ток (клю­че­вых слов), ука­зы­ваю­щих на на­ча­ло таб­- По­жа­луй­ста, имей­те в ви­д у, что оп­ре­де­ле­ние гра­ниц диа­па­-
ли­цы. При этом функ­ция долж­на ссылать­ся на за­ранее из­вест­ный зо­на – за­да­ча дос­та­точ­но дли­тель­ная, и за­тра­чи­вае­мое на неё
лист, со­дер­жа­щий диа­па­зо­ны с дан­ны­ми. Фраг­мент та­ко­го листа вре­мя на­пря­мую за­ви­сит от раз­ме­ра диа­па­зо­на.
по­ка­зан на рис. 4. Те­перь, ко­гда диа­па­зон най­ден, из­влечь тре­буе­мые дан­ные
Здесь ячей­ки A2 и I2 со­дер­жат мет­ки для пер­во­го и вто­ро­го в ви­де мас­си­ва из не­го не пред­став­ля­ет ни­ка­кой слож­но­сти:
диа­па­зо­на дан­ных: STOCK1 и STOCK2, со­от­вет­ствен­но. По пра­ви­ oTargetRange = oSheet.getCellRangeByPosition(SCA,SRA,ECA,
лам раз­мет­ки для опи­сы­вае­мой функ­ции, мет­ка диа­па­зо­на на­ ERA) ‘ по­л у­ча­ем диа­па­зон с дан­ны­ми
хо­дит­ся над его крайней пра­вой верхней ячей­кой и диа­па­зо­ны stock1 = oTargetRange.getDataArray ‘ из­в ле­к а­ем дан­ные
име­ют по­сто­ян­ную ши­ри­ну – то есть ко­ли­че­ство столб­цов; а ко­ в мас­сив
ли­че­ство строк мо­жет из­ме­нят­ся в лю­бых пре­де­лах. Кро­ме то­го, На рис. 5, де­мон­ст­ри­рую­щем со­стояние мас­си­вов stock1
оче­вид­но, что мет­ки долж­ны быть уникаль­ны и встре­чать­ся и stock2 в ре­жи­ме от­лад­ки, вид­но, что оба диа­па­зо­на дан­ных
на листе толь­ко один раз. Да­вай­те рас­смот­рим ра­бо­т у функ­ции, успеш­но счи­та­ны и за­гру­же­ны в со­от­вет­ствую­щие пе­ре­мен­ные.
спо­соб­ной иден­ти­фи­ци­ро­вать и за­гру­зить дан­ные из опи­сан­ных По­иск вто­ро­го диа­па­зо­на осу­ще­ств­ля­ет­ся ана­ло­гич­ным
диа­па­зо­нов. об­ра­зом. При­чём мы мо­жем ис­поль­зо­вать тот же де­ск­рип­тор
В пер­вую оче­редь, сде­ла­ем лист с диа­па­зо­на­ми непре­до­пре­ по­иска, за­менив в нём толь­ко свой­ство SearchString: oSearchDesc.
де­лён­ным – это зна­чи­тель­но уп­ро­стит ис­поль­зо­вание функ­ции. SearchString = «STOCK2”. Пол­ный ис­ход­ный текст функ­ции мож­но
Для это­го до­ба­вим вход­ной па­ра­метр nSheets, в ко­то­ром бу­дем най­ти на при­ла­гае­мом к жур­на­лу диске в фай­ле Листинг 3.
пе­ре­да­вать имя нуж­но­го нам листа. Кро­ме то­го, до­полним функ­ Те­перь са­мое вре­мя объ­яснить, для че­го был до­бав­лен вто­
цию ещё одним па­ра­мет­ром, ListenRange – для че­го он ну­жен, рой ар­г у­мент функ­ции – ListenRange. Ес­ли вы уже про­смот­-
мы об­су­дим чуть ниже: ­ре­ли пол­ный листинг при­ме­ра, то, ве­ро­ят­но, об­ра­ти­ли внима­
Public Function ArbitraryAnalysis(ByVal nSheets As String, ByVal ние, что ни­где в те­ле функ­ции эта пе­ре­мен­ная не ис­поль­зу­ет­ся.
ListenRange As Variant) As Integer Так для че­го же она нуж­на?
В пер­вую оче­редь необ­хо­ди­мо на листе, имя ко­то­ро­го пе­ре- Что­бы дать от­вет на этот во­прос, необ­хо­ди­мо по­яснить,
­да­но в пе­ре­мен­ную nSheets, най­ти мет­ки. Есте­ствен­но, мы не бу­ как Calc пе­ре­счи­ты­ва­ет фор­му­лы. Это про­ис­хо­дит лишь в том
дем пе­ре­би­рать по­оче­рёд­но все ячей­ки листа в цик­ле, а восполь­ слу­чае, ес­ли из­менились ка­кие-ли­бо вхо­д я­щие в нее ар­г у­мен­ты,
зу­ем­ся стан­дарт­ным по­иско­вым ин­тер­фей­сом OpenOffice.org – и это вполне ра­зум­но – за­чем тра­тить вре­мя на пе­ре­счёт функ­
com.sun.star.util.XSearchable: ций, зна­чения ко­то­рых не из­менит­ся? Так как по­с ле за­груз­ки
oSheet = ThisComponent.Sheets.getByName(nSheets) ' лист диа­па­зо­нов ар­г у­мент функ­ции, принимаю­щей лишь имя листа,
на ко­то­рый ссы­ла­ет­ся функ­ция не из­менит­ся, функ­ция не бу­дет пе­ре­счи­та­на. Для це­лей за­
oSearchDesc = oSheet.createSearchDescriptor() ' соз­д а­ём пуска пе­ре­счё­та мы и вво­дим ещё один ар­г у­мент – «про­с лу­ши­
де­ск­рип­тор по­ис­к а вае­мый» диа­па­зон. Им мо­жет быть лю­бой диа­па­зон, из­менение
oSearchDesc.SearchString = “STOCK1” ' на­с траи­ва­ем де­ск­рип­тор в ко­то­ром долж­но при­во­дить к пе­ре­счё­т у функ­ции; но наи­бо­
oFound = oSheet.findAll(oSearchDesc) ' по­л у­ча­ем ре­зуль­т ат лее ин­те­рес­ным для нас бу­дет ука­зание диа­па­зо­на, пе­ре­се­каю-
по­ис­ка ­ще­го­ся с диа­па­зо­на­ми дан­ных – на­при­мер, Ли­ст­С­Дан­ны­ми.
oCellAdr0 = oFound(0).CellAddress ' по­л у­ча­ем ад­рес пер­во­го A3:O6, где Ли­ст­С­Дан­ны­ми (есте­с твен­но) – имя листа с дан­ны­ми.
вхо­ж ­де­ния Та­кая кон­с т­рук­ция бу­дет ох­ва­ты­вать несколь­ко строк од­но­вре­
Сле­д ую­щий этап – оп­ре­де­ление границ диа­па­зо­на. Так как мен­но из обо­их за­гру­жае­мых функ­ци­ей диа­па­зо­нов дан­ных,
мы усло­ви­лись, что на­ши диа­па­зо­ны не име­ют пустых яче­ек, тут и со­от­вет­с твен­но, её зна­чение бу­дет пе­ре­счи­ты­вать­ся при вся­
всё доста­точ­но про­сто – об­на­ру­жение пер­вой же неза­полнен­ ком из­менении в них.
ной ячей­ки ниже ячей­ки с мет­кой бу­дет оз­на­чать, что диа­па­зон Ука­зание и по­иск ме­ток на листе не все­гда при­ем­ле­мы, так
за­вер­шил­ся. как это мо­жет при­во­дить к кол­ли­зи­ям: на­при­мер, ес­ли диа­па­зо­
ны дан­ных мо­г ут со­дер­жать непред­ска­зуе­мый текст, в том чис­
ле и сов­па­даю­щий с мет­кой, или ес­ли диа­па­зо­ны, по усло­вию, мо­
гут иметь пустые ячей­ки, что за­труднит по­иск их границ. В этом
слу­чае пра­ви­ла раз­мет­ки при­дёт­ся усложнить. Мож­но вве­сти, на­
при­мер, про­вер­к у на стиль фор­ма­ти­ро­вания мет­ки и про­смат­ри­
вать най­ден­ные вхо­ж ­дения на пред­мет мет­ки, имею­щей за­дан­
ный стиль, а диа­па­зон раз­би­рать не по од­но­му, а по всем столб­цам
сра­зу. Но ес­ли уж мы ис­поль­зу­ем сти­ли, по­че­му бы не от­фор­ма­ти­
ро­вать за­дан­ным сти­лем сам диа­па­зон с дан­ны­ми?
На­при­мер, ес­ли в вы­ше­опи­сан­ном слу­чае соз­дать сти­ли
STOCK1 и STOCK2, для фор­ма­ти­ро­вания пер­во­го и вто­ро­го диа­
Рис. 5. Так вы­гля­
дят мас­си­вы дан­ па­зо­на с дан­ны­ми со­от­вет­ствен­но, то от ис­поль­зо­вания тек­сто­
ных по­сле ана­ли­за вых ме­ток мож­но от­ка­зать­ся со­всем. Са­ма же функ­ция при этом
лис­та. очень уп­ро­стит­ся, так что по­лу­чать диа­па­зон те­перь мож­но бу­дет

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
78      LXF132 Июнь 2010
 OOo Calc Учебник

непо­сред­ствен­но как ре­зуль­тат по­иска, что од­но­вре­мен­но снима­ Рис. 6. Диа­ло­го­


ет и про­бле­му на­хо­ж ­дения в нём пустых яче­ек. Для по­иска диа­па­ вое ок­но мак­ро­сов
зо­на, от­фор­ма­ти­ро­ван­но­го за­дан­ным сти­лем, доста­точ­но уста­но­ и биб­лио­те­ки Basic.
вить его имя в ка­че­стве свой­ства SearchString де­ск­рип­то­ра по­иска,
а свой­ство SearchStyles вы­ста­вить в зна­чение True, что ак­ти­ви­ру­
ет по­иск по сти­лям:
oSearchDesc.SearchStyles = 1 ' ус­т а­нав­ли­ва­ем флаг сти­лей
oSearchDesc.SearchString = “STOCK1” ' ус­та­нав­ли­ва­ем имя сти­ля
oFound = oSheet.findAll(oSearchDesc) ' по­л у­ча­ем диа­па­зон
с дан­ны­ми
oTargetRange = oFound(0)
stock1 = oTargetRange.getDataArray ' из­в ле­ка­ем дан­ные в мас­сив
Ещё одним пре­иму­ще­ством раз­мет­ки сти­ля­ми яв­ля­ет­ся зна­чи­
тель­ный при­рост про­из­во­ди­тель­но­сти, так как боль­ше нет необ­хо­
ди­мо­сти искать границы диа­па­зо­на дан­ных в цик­ле. Это осо­бен­
но ощу­ти­мо, ес­ли раз­мер диа­па­зо­на ве­лик и непо­стоянен в обо­их
из­ме­рениях.
Конеч­но, мож­но при­ду­мать ещё бо­лее изо­щрён­ные и слож­ные
ме­то­ды раз­мет­ки, но это уже ча­ст­ные во­про­сы реа­ли­за­ции, ко­то­
рых мы ка­сать­ся не бу­дем.
со­хра­нён­ный файл .ods лю­бым ар­хи­ва­то­ром и, отыскав
Ме­сто для функ­ции в /Basic/Standard/script-lb.xml стро­к у
Те­перь, когда мы в прин­ци­пе пред­став­ля­ем, как вы­гля­д ят поль­зо­ <library:library xmlns:library=”http://openoffice.org/2000/library”
ва­тель­ские функ­ции OOo Calc, у вас мо­жет возник­нуть ре­зон­ный library:name=”Standard” library:readonly=”false” library:password
во­прос: а где их вво­дить? Ес­ли обыч­ные мак­ро­сы мо­г ут раз­ме­ protected=”false”>
щать­ся в лю­бых биб­лио­те­ках Basic, то функ­ции, осо­бен­но ис­поль­ из­ме­нить в ней зна­че­ние library:readonly с false на true. Это мож­но
зуе­мые в Calc, в этом во­про­се несколь­ко бо­лее при­хот­ли­вы. про­де­лать и на­пря­мую из Basic, ус­та­но­вив для биб­лио­те­ки флаг
Об­ра­ти­те внимание на рис. 6. На нём пред­став­ле­но диа­ло­го­вое ReadOnly:
ок­но Мак­рос из OpenOffice.org Basic. Ес­ли по­смот­реть повнима­ ThisComponent.BasicLibraries.setLibraryReadOnly(“Standard”, True)
тельнее, то мож­но за­ме­тить, что у биб­лио­тек, пред­став­лен­ных Кро­ме то­го, нуж­но пре­досте­речь поль­зо­ва­те­лей, лю­бя­щих
в спи­ске «Мак­рос из», ис­поль­зу­ют­ся соб­ствен­ные знач­ки. Они по­ раз­ме­щать в од­ном мо­д у­ле биб­лио­те­ки сра­зу мно­го функ­ций.
ка­зы­ва­ют, за­гру­же­на ли биб­лио­те­ка. На дан­ном ри­сун­ке за­гру­же­ Помните: мак­си­маль­ный раз­мер мо­д у­ля биб­лио­те­ки Basic со­став­
ны биб­лио­те­ки Standard, OceanStarter и OceanRuntimeEnvironment. ля­ет 65535 байт. Ес­ли вы пре­вы­си­те его, то ваш код бу­дет оста­
За­груз­ка биб­лио­те­ки про­ис­хо­дит при пер­вом об­ра­щении к ней, вать­ся ра­бо­то­спо­соб­ным толь­ко до сле­д ую­ще­го пе­ре­за­пуска
ко­то­рое мо­жет про­ис­хо­дить при за­пуске из неё мак­ро­са или про­ OpenOffice.org, так как при со­хранении дли­на всех мо­д у­лей бу­дет
смот­ре её мо­ду­лей. уре­за­на до 64К зна­ков.
За­груз­к у так­же мож­но вы­полнить и при­ну­ди­тель­но из ко­ По­ла­гаю, вы уже по­ня­ли, что с по­мо­щью поль­зо­ва­тель­ских
да на Basic: функ­ций Calc мож­но зна­чи­тель­но рас­ши­рить функ­цио­нал элек­
BasicLibraries.LoadLibrary(“MyLibrary”) трон­ных таб­лиц в са­мых раз­лич­ных на­прав­лениях. Этим-то мы
Биб­лио­те­ка Standard за­гру­жа­ет­ся при стар­те OpenOffice.org и зай­мем­ся че­рез ме­сяц.
ав­то­ма­ти­че­ски.
Ес­ли вы от­крое­те файл .ods, в ко­то­ром ис­поль­зу­ют­ся функ­
ции Basic из неза­гру­жен­ной на дан­ный мо­мент биб­лио­те­ки, то ре­ Немно­го про от­лад­ку
зуль­та­том всех та­ких функ­ций бу­дет ошиб­ка #ИМЯ, так как Calc
про­сто не смо­жет их най­ти. Бо­лее то­го, в вет­ке OOo 3.x функ­ции
Чи­тая эту ста­тью, вы на­вер­ня­ка наброса­ Не сто­ит и за­бы­вать о стан­д арт­ных пра­
Calc не бу­д ут ра­бо­тать в биб­лио­те­ках, от­лич­ных от Standard, да­ ли для се­бя несколь­ко при­ме­ров функ­ций ви­лах про­вер­ки воз­вра­щ ае­мых ре­зуль­та­тов.
же ес­ли та­кие биб­лио­те­ки за­гру­же­ны. В этом слу­чае все функ­ции на OpenOffice.org Basic и те­перь хо­ти­те убе­дить­ Для ка­ж ­дой функ­ции очень же­ла­тель­но про­
бу­д ут воз­вра­щать ошиб­к у #ЗНАЧЕН!!. Та­ким об­ра­зом, наи­луч­шим ся в их ра­бо­то­спо­соб­но­сти. Что же, и к этой ве­рить ре­зуль­та­ты, вы­д а­вае­мые для крайних
ме­стом раз­ме­щения поль­зо­ва­тель­ских функ­ций Calc в про­фи­ле за­да­че су­ще­ству­ет несколь­ко под­хо­дов. зна­чений из об­ласти оп­ре­де­ления функ­ции
Один из наи­бо­лее удоб­ных спо­со­бов от­лад­ и неко­то­рых стан­д арт­ных кри­тич­ных зна­
поль­зо­ва­те­ля бу­д ут мо­ду­ли биб­лио­те­ки Standard.
ки функ­ций, воз­вра­щаю­щих чис­лен­ное зна­ чений. На­при­мер, ес­ли об­ласть оп­ре­де­ления
Од­на­ко, ес­ли вам необ­хо­ди­мо от­пра­вить файл Calc, ис­поль­ чение – это по­строение диа­грамм. Поль­зу­ясь ва­шей функ­ции от -1 до 1, то обя­за­тель­но
зую­щий ва­ши функ­ции, дру­го­му поль­зо­ва­те­лю, и вы не уве­ре­ гра­фи­ком, удоб­но от­сле­жи­вать за­ви­си­мо­сти про­верь­те зна­чения, воз­вра­щ ае­мые ею при -1
ны, есть ли у рес­пон­ден­та необ­хо­ди­мые мо­ду­ли Basic, или да­же ме­ж ­д у пе­ре­мен­ны­ми и ре­зуль­та­та­ми, со­об­ра­ и 1, а также при 0. Ноль, как пра­ви­ло, все­
зу­ясь с их фи­зи­че­ским смыс­лом. гда яв­ля­ет­ся кри­тич­ным зна­чениям. Дру­гие
знае­те, что их нет, тогда этот спо­соб вам не под­хо­дит. В этом слу­
Ес­ли вы воспро­из­во­ди­те в Calc функ­цию непло­хие кан­ди­д а­ты – -1 и 1, ес­ли, конеч­но,
чае луч­ше восполь­зо­вать­ся внут­ренним кон­тейнером биб­лио­тек ка­ко­го-ли­бо внешнего па­ке­та, ло­гич­ным бу­дет они не яв­ля­ют­ся крайними для об­ласти оп­ре­
са­мо­го фай­ла. Все, что ска­за­но вы­ше, оста­ет­ся спра­вед­ли­вым при­нять пред­по­ло­жение о том, что в дан­ном де­ления, как в при­ме­ре вы­ше. Так­же кри­тич­
и в дан­ном слу­чае, за исклю­чением то­го, что функ­ции, раз­ме­ па­ке­те функ­ция реа­ли­зо­ва­на без оши­бок. ны­ми яв­ля­ют­ся та­кие зна­чения ар­г у­мен­тов,
щен­ные вне биб­лио­те­ки Standard, бу­д ут доступ­ны и в OOo 3.x – В этом слу­чае мож­но восполь­зо­вать­ся за­ при ко­то­рых зна­чение функ­ции об­ра­щ а­ет­ся
ранее сгене­ри­ро­ван­ным мас­си­вом её ре­зуль­ в -1, 0 или 1 или же дости­га­ет сво­их экстре­
по­сле за­груз­ки.
та­тов, со­постав­лен­ных мас­си­ву ар­г у­мен­тов, му­мов. По воз­мож­но­с ти, же­ла­тель­но про­ве­
Пе­ре­да­вая ко­му-ли­бо файл, со­дер­жа­щий функ­ции Calc, вы, и сравнить его с тем, что вы­да­ет ва­ша функ­ рить ра­бо­т у функ­ции и с эти­ми вхо­д я­щи­ми
ве­ро­ят­но, за­хо­ти­те за­щи­тить ваш код от слу­чай­но­го или да­же ция при тех же са­мых вход­ных ве­ли­чинах. па­ра­мет­ра­ми.
пред­на­ме­рен­но­го из­менения. Сде­лать это мож­но, про­сто от­крыв

Че­рез ме­сяц Об­ра­бот­ка оши­бок, пе­ре­груз­ка функ­ций и псев­до­ни­мы.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      79
Python На­
Учебник Python стоя­щие за­да­чи, что­бы 
вы по­уп­раж­ня­лись в ко­ди­ро­ва­нии

Python: Ани­ма­
Clutter все­це­ло ори­ен­ти­ро­ван на раз­ра­бот­ку вы­со­ко­класс­ных поль­зо­ва­тель­ских
ин­тер­фей­сов. Ник Вейч при­пра­вит гра­фи­ку, слег­ка вы­шко­лив кноп­ки.

def entered(actor,event):
print event,actor
actor.set_color(clutter.Color(0,0,255,255))
return ‘#t’

def exited(actor,event):
Код урока
print event,actor
actor.set_color(clutter.Color(255,0,255,255))
return ‘#t’
Здесь мы соз­да­ли функ­ции об­рат­но­го вы­зо­ва для двух со­
бы­тий. Неваж­но, что это за со­бы­тия, и да­же неваж­но, ка­кие объ­
ек­ты их генери­ру­ют – функ­ции то­ж ­де­ствен­ны. На са­мом де­ле,
при же­лании их мож­но объ­е­динить в од­ну, но наш ва­ри­ант ко­да
по­нятнее.
По су­ти, entered() и exited() – про­сто обыч­ные функ­ции. Обе
по­лу­ча­ют два па­ра­мет­ра, объ­ек­ты actor [ак­тер] и event [со­бы­
тие]. Вна­ча­ле они вы­во­д ят эту ин­фор­ма­цию (что удоб­но при от­
лад­ке, для про­смот­ра, ка­кой объ­ект что сгенери­ро­вал, но в ито­
го­вом при­ло­жении не нуж­но), за­тем ис­поль­зу­ют унас­ле­до­ван­ный
ак­те­ром ме­тод set_color, для из­менения его цве­та. Здесь мы про­
сто оп­ре­де­ли­ли объ­ек­ты clutter.Color на ле­т у. Они принима­ют зна­
чения RGBA, так вот мы уста­но­ви­ли синий в пер­вом и фио­ле­то­вый
во вто­ром слу­чае.

От­цы и де­ти
По­след­няя стро­ка мо­жет вы­звать удив­ление: за­чем мы воз­вра­ща­

C
lutter был соз­дан для «ожив­ления» гра­фи­че­ских ин­тер­ ем зна­чение из со­бы­тия? И по­че­му та­кое стран­ное? Про­ис­хо­дит
фей­сов, и нам по­ра по­смот­реть, как из объ­ек­тов-ак­те­ сле­д ую­щее: Clutter по­лу­ча­ет сиг­нал event на ро­ди­тель­ском объ­
ров соз­да­ют­ся кноп­ки, а за­тем до­ба­вить к ним несколь­ко ек­те, сцене, ко­то­рая все­гда яв­ля­ет­ся реа­ги­рую­щей. В пре­ды­ду­
за­нят­ных ат­ри­бу­тов. Но для на­ча­ла, пре­ж ­де чем де­мон­ст­ри­ро­ щих уро­ках на­шей се­рии мы про­сто со­еди­ня­ли сиг­на­лы на­пря­
вать по­ра­зи­тель­ные но­вые на­вы­ки об­щения с мы­шью, на­до при­ мую от сце­ны – про­шлый раз, на­при­мер, в об­ра­бот­чи­ке на­жа­тий
пасти что-то, с чем мы бу­дем взаи­мо­дей­ство­вать. Как и поч­ти кла­виш. Но ро­ди­тель­ский объ­ект так­же про­смат­ри­ва­ет всех сво­
Наш все ин­ст­ру­мен­та­рии, Clutter яв­ля­ет­ся со­бы­тий­но-ори­ен­ти­ро­ван­ их по­том­ков, пы­та­ясь оп­ре­де­лить, кто из них от­вет­ственен за эф­
эксперт ным. То есть, ес­ли в при­ло­жении про­ис­хо­дит что-то зна­чи­мое, фект. Это мо­жет быть, на­при­мер, оди­но­кий пря­мо­угольник в уг­
Ник Вейч генери­ру­ет­ся сиг­нал. Гру­бо го­во­ря, дру­гие уча­ст­ки ко­да ждут лу или часть в боль­шей груп­пе объ­ек­тов, яв­ляю­щей­ся по­том­ком
стре­ми­тель­но ста­ это­го сиг­на­ла и де­ла­ют что-то в от­вет. сце­ны. Когда «ви­нов­ный» по­то­мок най­ден, он генери­ру­ет сиг­
но­вит­ся ге­не­ра­лом Ес­ли в Clutter от­ме­тить ак­те­ра как реа­ги­рую­ще­го [reactive], нал, «всплы­ваю­щий» вверх к ро­ди­те­лю. Это необ­хо­ди­мо по­то­му,
лов­ли ля­пов в мо­
ду­лях Python.
то при лю­бом со­бы­тии с ним – ти­па щелч­ка, пе­ре­но­са, дви­жения что ес­ли пря­мо­угольник не име­ет яв­но­го об­ра­бот­чи­ка, его мо­жет
К по­зор­но­му над ним кур­со­ра мы­ши и да­же на­бо­ра на кла­виа­т у­ре – он бу­дет
стол­бу их! генери­ро­вать пол­ный на­бор сиг­на­лов. Ка­ж ­дый из них мож­но под­
клю­чить на уровне объ­ек­та к ме­то­ду или функ­ции об­рат­но­го вы­ Что нам по­тре­бу­ет­ся
зо­ва, обес­пе­чи­ваю­щей ре­ак­цию на сиг­нал. Что­бы оп­ро­бо­вать это,
не по­тре­бу­ет­ся да­же соз­да­вать при­ло­жение: все де­ла­ет­ся в ин­те­ Пре­ж ­де чем на­чать, ус­та­но­ви­те Python и его мо­д уль Clutter. Ес­ли вы
рак­тив­ной обо­лоч­ке Python. От­крой­те тер­ми­нал и вве­ди­те python, ис­поль­зуе­те ди­ст­ри­бу­тив, об­нов­лен­ный не рань­ше, чем год на­зад,
а за­тем начните ввод (ес­ли вы ленивы, мо­же­те ско­пи­ро­вать код то оба дос­т уп­ны в ва­ших ре­по­зи­то­ри­ях. Обыч­но про­ще за­гру­зить
всё из них, но по­ис­кать ис­ход­ные тек­сты по­след­ней вер­сии Clutter
из фай­ла-листин­га, имею­ще­го­ся на LXFDVD). При­сту­пим:
на www.clutter-project.org. Что­бы до­ба­вить ви­део в кон­це уро­ка, по­на­
import clutter до­бит­ся GStreamer, а так­же па­ке­ты cluttergst и pyclutter-gst.

Месяц назад Ис­сле­до­ва­ли спо­со­бы от­ри­сов­ки не­обыч­ных ак­те­ров в Cairo.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
80      LXF132 Июнь 2010
 Python Учебник

ция ин­тер­фей­са
иметь ро­ди­тель­ский объ­ект, и щел­чок на пря­мо­угольнике бу­дет Это не фиоле­
об­ра­ба­ты­вать­ся на уровне груп­пы. товый кирпич,
Этот про­цесс – пе­ре­хват со­бы­тий в так на­зы­вае­мой «пу­зырь­ а уст­рой­ст­во слож­
но­го гра­фи­че­ско­го
ко­вой» фа­зе – дей­ствие стан­дарт­ное, но оно тра­тит ре­сур­сы, про­
ин­тер­фей­са поль­
дол­жая пе­ре­да­вать со­бы­тие по всем объ­ек­там, да­же ес­ли оно уже зо­ва­те­ля.
об­ра­бо­та­но. Изящ­но пре­сечь это мож­но, пре­рвав про­цесс, по ти­пу
вы­хо­да из цик­ла – имен­но это и про­ис­хо­дит, когда функ­ция об­ра­
бот­ки сиг­на­ла воз­вра­ща­ет зна­чение #t. И на­обо­рот, ес­ли мы ре­ша­
ем, что еще не за­вер­ши­ли об­ра­бот­к у сиг­на­ла (или что-то сде­ла­ли,
но ро­ди­тель­ский объ­ект все еще ну­ж ­да­ет­ся в уве­дом­лении), мож­
но вер­нуть #f для про­дол­жения про­цес­са. Та­ко­во по­ве­дение по
умол­чанию, но при напи­сании ко­да поч­ти все­гда луч­ше все объ­яв­
лять яв­но: впо­след­ствии это спа­са­ет от из­ряд­ной го­лов­ной бо­ли.

Уст­раи­ва­ем сце­ну
Те­перь, ра­зо­брав­шись с об­ра­бот­кой сиг­на­лов, при­д у­ма­ем
несколь­ко генери­рую­щих их объ­ек­тов, а так­же сце­ну, где мы
всё раз­местим.
>>> stage=clutter.Stage()
>>> stage.set_color(clutter.Color(0,0,0,255))
>>> stage.set_size(200,200)
>>> r=clutter.Rectangle()
>>> r.set_size(60,30)
>>> r.set_color(clutter.Color(255,0,0,255)) со­бы­тие. По­следнее на са­мом де­ле со­дер­жит мно­го ин­фор­ма­ции,
>>> r.set_position(20,20) по­лез­ной для об­ра­бот­чи­ка. Кро­ме ти­па со­бы­тия, это вре­мя (со­
>>> r.set_reactive(True) глас­но ча­сам Clutter), ко­ор­ди­на­ты x и y и сце­на, где про­изош­ло
Этот код дол­жен быть уже зна­ком тем, кто сле­дит за на­ши­ми со­бы­тие, что удоб­но для мно­го­окон­ных при­ло­жений.
уро­ка­ми. Он соз­да­ет сце­ну (глав­ное ок­но) на­ше­го скрип­та и до­ По­про­буй­те. Нам не нуж­но вхо­дить в основ­ной цикл Clutter,
бав­ля­ет про­стой объ­ект-ак­тер – в дан­ном слу­чае, пря­мо­угольник. что­бы за­ста­вить ра­бо­тать об­ра­бот­чи­ки со­бы­тий на­ше­го скрип­та:
Ме­тод set_reactive() со­об­ща­ет Clutter, что ак­те­ру нуж­но по­лу­чать про­сто под­ви­гай­те мы­шью в окне над пря­мо­угольником – и уви­
со­бы­тия и генери­ро­вать сиг­на­лы. Это под­хо­дит не все­гда – фо­но­ ди­те, что цвет ме­ня­ет­ся. От­ве­ди­те мышь, и он сменит цвет на дру­
вой тек­сту­ре, на­при­мер, сиг­на­лы ни к че­му, да­же ес­ли она и пе­ре­ гой. Ах, эта ма­гия со­бы­тий…
хва­тит па­ру щелч­ков – так что здесь тре­бу­ет­ся яв­ный вы­зов. Воз­мож­но, мы по­же­ла­ем так­же пе­ре­хва­ты­вать со­бы­тия щелч­
Те­перь необ­хо­ди­мо про­сто со­единить со­бы­тия с об­ра­бот­чи­ка­ ков, но вско­ре уви­дим, что су­ще­ству­ет безд­на сиг­на­лов, для ко­то­
ми, оп­ре­де­лен­ны­ми на­ми ранее, до­ба­вить пря­мо­угольник на сце­ рых сле­д у­ет соз­дать функ­ции об­рат­но­го вы­зо­ва, и все это толь­
ну и по­ка­зать все, от­ри­со­вав в окне: ко для од­но­го объ­ек­та-ак­те­ра!
>>> r.connect(‘enter-event’, entered)
>>> r.connect(‘leave-event’,exited)
>>> r.show() По­ме­хи на линии
>>> stage.add(r)
>>> stage.show_all()
Неко­то­рые лю­ди, в по­ряд­ке, э-э, кон­ст­рук­тив­ ли­зе), и ес­ли вы за­пускае­те при­ло­жение
Са­мые на­блю­да­тель­ные из вас мог­ли уже спро­сить се­бя:
ной об­рат­ной свя­зи зло­пы­ха­ли, что в при­ло­ Clutter вме­сте с чем-то, так­же ис­поль­зую­щим
как ра­бо­та­ет ме­тод connect()? В кон­це кон­цов, на­ши об­ра­бот­чи­ки жениях Clutter анима­ция вы­пол­ня­ет­ся не плав­ GL/GLX, то не исклю­че­ны про­бле­мы с про­из­
со­бы­тий же­ла­ют знать ак­те­ра и со­бы­тие, а все, что мы сде­ла­ли – но, а иногда и во­все не вы­пол­ня­ет­ся. Части во­ди­тель­но­стью. Сам я, ес­ли хо­чу, что­бы у мо­
это со­единили сиг­на­лы с со­от­вет­ствую­щим именем функ­ции та­ких про­блем мож­но из­бе­жать, взяв дру­г ую их окон ко­лы­ха­лись края, про­сто пью сидр,
(па­ра ско­бок по­сле entered или exited не нуж­на – это не вы­зов!). вер­сию биб­лио­тек Clutter (осо­бен­но ес­ли вы ис­ но понимаю, что мно­гие чи­та­те­ли но­ро­вят
поль­зуе­те сбор­ки до вер­сии 1.0), но дру­гая по­ вклю­чить ли­хой Compiz ра­ди ви­зу­а ль­ных эф­
Так вот, ме­тод connect() про­сто хранит со­от­вет­ствие имени со­бы­
тен­ци­а ль­ная про­бле­ма ко­ренит­ся не здесь. фек­тов. Поч­ти на­вер­ня­ка это при­ве­дет к кон­
тия и функ­ции, ко­то­рую сле­ду­ет вы­звать. Когда со­бы­тие про­ис­ Сер­вер X.org X не очень-то охот­но ра­бо­ флик­там с Clutter, так что хлебните чуть-чуть
хо­дит, он вы­зы­ва­ет функ­цию и ав­то­ма­ти­че­ски пе­ре­да­ет ей два та­ет с дву­мя эк­зем­п­ля­ра­ми GL од­но­вре­мен­ и от­к лю­чи­те Compiz, ес­ли не хо­ти­те непри­ят­
па­ра­мет­ра: се­бя, (или, по крайней ме­ре, ука­за­тель на ро­ди­тель­ но (что сле­до­ва­ло бы учесть в бу­д у­щем ре­ но­стей в про­цес­се уро­ка.
ский объ­ект – в на­шем слу­чае, пря­мо­угольник), а за­тем объ­ект-

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      81
Учебник Python 

н­ о­му сце­на­рию мы пе­рей­дем поз­же), и все, что нам сле­ду­ет сде­


лать – это со­об­ра­зить, ка­кое со­бы­тие об­ра­ба­ты­ва­ет функ­ция.
По­сколь­к у объ­ект event ав­то­ма­ти­че­ски пе­ре­да­ет­ся в ви­де па­ра­
мет­ра, то необ­хо­ди­мо про­сто рас­смот­реть его свой­ства (их мно­
го, но event.name_nick ко­рот­кое и де­ла­ет код бо­лее чи­та­бель­ным).
В Python от­сут­ству­ет кон­ст­рук­ция ‘case … switch’ – од­на­ко от ис­
поль­зо­вания if и elif мы здесь по­те­ря­ем не мно­го.
Во-вто­рых, мы де­ла­ем нечто слег­ка ненор­маль­ное. В цик­
ле for мы соз­да­ем пря­мо­угольник r и на­де­ля­ем его свой­ства­ми,
а за­тем мы воз­вра­ща­ем­ся и де­ла­ем все по но­вой – а не за­ти­ра­
ем ли мы зна­чение в r? И да, и нет. В са­мом кон­це цик­ла мы до­
бав­ля­ем объ­ект-пря­мо­угольник к на­ше­му спи­ску кно­пок ме­то­дом
append(). На са­мом де­ле, r – не сам объ­ект, а лишь его ад­рес. Пря­
мо­угольник бу­дет унич­то­жен толь­ко в том слу­чае, ес­ли на него
не останет­ся дей­ствую­щих ссылок. В дан­ном слу­чае ссыл­ка есть:
она в на­шем спи­ске кно­пок. При сле­д ую­щем про­хо­де цик­ла соз­
да­ет­ся еще один пря­мо­угольник, и в r по­ме­ща­ет­ся но­вый ад­рес.
Та­ким об­ра­зом, ка­ж ­дая кноп­ка со­хра­ня­ет­ся, и все они раз­лич­
ны. Дру­гой спо­соб сде­лать это – ссылать­ся на эта­пе соз­дания
на эле­мен­ты в спи­ске кно­пок; но тогда сле­д у­ет за­ранее за­полнить
его кор­рект­ным чис­лом эле­мен­тов или до­бав­лять пустые объ­ек­ты
Че­ты­ре кноп­ки,
Ре­шение за­к лю­ча­ет­ся в том, что­бы ухит­рить­ся за­ста­вить наш в на­ча­ле цик­ла. Этот путь про­ще, хо­тя и за­став­ля­ет де­лать двой­
соз­дан­ные ро­бо­
том! Ну лад­но, цик­ об­ра­бот­чик ра­бо­тать с несколь­ки­ми со­бы­тия­ми. Кста­ти, он уже ную ра­бо­т у.
лом Python, по лю­ ра­бо­та­ет с несколь­ки­ми ак­те­ра­ми – по­смот­ри­те, ведь код ссыла­
бо­му… ет­ся на ак­те­ра, по­даю­ще­го сиг­нал, а не на кон­крет­ный объ­ект r. Хо­ро­шее по­ве­дение
То есть, ес­ли мы соз­да­дим пол­то­ры дю­жи­ны пря­мо­угольников, Clutter на­це­лен на соз­дание ши­кар­ных гра­фи­че­ских ин­тер­фей­сов,
все они бу­д ут вести се­бя оди­на­ко­во. так по­че­му бы не сде­лать так, что­бы кноп­ки про­яв­ля­лись и плав­но
Да­вай­те начнем за­но­во, в этот раз с це­лой ста­ей кно­пок, на ко­ ис­че­за­ли при пе­ре­ме­щении над ними мы­ши? Это при­го­дит­ся для
то­рые мож­но на­жи­мать, но с един­ствен­ным об­ра­бот­чи­ком. Те­перь ме­диа-про­иг­ры­ва­те­ля, в ко­то­ром обыч­но вы смот­ри­те на эк­ран,
несколь­ко про­ще напи­сать скрипт в Kate или Gedit и за­пустить его но когда хо­ти­те чем-то управ­лять, по­яв­ля­ют­ся кноп­ки. Мы мо­жем
как обыч­ное при­ло­жение: лег­ко до­ба­вить их при по­мо­щи по­ве­дений [behaviour] Clutter. По­ве­
>>> stage.remove(r) дение по­хо­же на со­хранен­ную анима­цию, увя­зан­ную с со­бы­тия­ми
>>> button =[] вре­мен­ной шка­лы. Вре­мен­ная шка­ла, как мы ви­де­ли в пре­ды­д у­
>>> def handler(actor,event): щих учебниках, это про­сто ме­ханизм пре­ры­ваний. Clutter по­зво­
... print event,actor ля­ет под­к лю­чать по­ве­дения к объ­ек­там, а за­тем вы­зы­вать анима­
... print event.type.value_nick цию, за­пуская шка­лу вре­мени.
... if event.type.value_nick==’enter’: Я знаю, о чем вы ду­мае­те: не про­ще ли бы­ло ис­поль­зо­вать ме­
... actor.set_color(clutter.Color(0,0,255,255)) тод actor.animate() для из­менения про­зрач­но­сти объ­ек­та? Про­
... elif event.type.value_nick==’leave’: ще-то про­ще, да толь­ко он не ра­бо­та­ет. В тем­ных глу­би­нах Clutter
... actor.set_color(clutter.Color(255,0,255,255)) кро­ет­ся раз­ру­ши­тель­ная ошиб­ка, не по­зво­ляю­щая ис­поль­зо­
... elif event.type.value_nick==’button-press’: вать про­стой ме­тод animate() для про­зрач­но­сти. Ес­ли вы все же
... actor.set_color(clutter.Color(255,255,255,255)) по­пы­тае­тесь, то по­лу­чи­те несколь­ко пре­д у­пре­ж ­дений, хо­тя код
... return ‘#t’ все же бу­дет ра­бо­тать, и лю­бая анима­ция про­сто пре­вра­тит­ся
... в чер­но­т у. По­это­му по­ве­дение объ­ек­тов – на­ше все.
>>> stage.set_size(300,200) >>> timelinefadein = clutter.Timeline(duration=600)
>>> for i in range(4): >>> timelinefadeout = clutter.Timeline(duration=600)
... r=clutter.Rectangle() >>> alpha = clutter.Alpha(timelinefadein, clutter.EASE_IN_SINE)
... r.set_size(50,30)
... r.set_color(clutter.Color(255,0,0,255))
... r.set_position(25+(i*60),150) На­ско­ро о Clutter
... r.set_reactive(True)
... r.connect(‘enter-event’, handler) Ес­ли вы но­ви­чок в Clutter, вас, ве­ро­ят­но, вы­ру­чат пре­ды­д у­щие вы­
... r.connect(‘leave-event’,handler) пуски этой се­рии (под­пи­ши­тесь сей­час, что­бы по­лу­чить бес­плат­ный
... r.connect(‘button-press-event’,handler) он­лайн-доступ к PDF-фай­лам), но при­ве­д у крат­к ую свод­к у.
... r.show() Сце­на Clutter – эк­ви­ва­лент объ­ек­та-ок­на на эк­ране. Име­ют­ся раз­
лич­ные ме­то­ды для уста­нов­ки раз­ме­ра, цве­та и под­к лю­чения со­бы­
... stage.add(r) тий к сцене. Ак­тер – это лю­бой гра­фи­че­ский объ­ект, по­яв­ляю­щий­
... button.append(r) ся на сцене. Гра­фи­че­ские эле­мен­ты, вклю­чая тек­сто­вые объ­ек­ты
... и тек­сту­ры, по­ро­ж ­дае­мые в Clutter или при­хо­д я­щие от­к у­д а-ли­бо –
Здесь есть толь­ко два мо­мен­та, достой­ных упо­ми­нания, по­ это ак­те­ры. Они мо­г ут быть пре­об­ра­зо­ва­ны в три из­ме­рения, и эти
транс­фор­ма­ции мож­но аними­ро­вать при по­мо­щи опе­ра­ций, об­ра­ба­
сколь­к у они от­ли­ча­ют­ся от то­го, что мы уже де­ла­ли. Во-пер­вых,
ты­вае­мых Clutter. Обыч­ная про­це­д у­ра – на­страи­ва­ем сце­ну, соз­д а­ем
об­ра­бот­чик те­перь реа­ги­ру­ет на все со­бы­тия от всех кно­пок. По­ка ак­те­ров и до­бав­ля­ем их на сце­ну, а за­тем де­ла­ем что-нибудь кру­тое.
при­мем, что все кноп­ки ве­дут се­бя оди­на­ко­во (к бо­лее изо­щрен-

Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/!


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
82      LXF132 Июнь 2010
 Python Учебник

>>> behaviour = clutter.BehaviourOpacity(0x0, 0xc0, alpha)


>>> alpha2 = clutter.Alpha(timelinefadeout, clutter.EASE_OUT_SINE)
>>> behaviour2 = clutter.BehaviourOpacity(0xc0, 0, alpha2)
Мы мо­жем под­к лю­чать оба по­ве­дения к кноп­кам по ме­ре их соз­
дания и вы­зы­вать их из на­ше­го об­ра­бот­чи­ка со­бы­тий. То есть про­
яв­лять­ся и ис­че­зать бу­дут все кноп­ки, а не толь­ко та, над ко­то­рой
за­вис кур­сор мы­ши.
Объ­ек­ты BehaviourOpacity принима­ют три па­ра­мет­ра – alpha-
объ­ект (кон­тро­ли­рую­щий зна­чения анима­ции от кад­ра к кад­ру)
и на­чаль­ную и конеч­ную непро­зрач­но­сти. Здесь мы при­ве­ли их
в ше­ст­на­дца­те­рич­ном фор­ма­те; обыч­но это луч­ше, по­сколь­к у
неко­то­рые опе­ра­ции над аль­фа-эф­фек­та­ми весь­ма тре­бо­ва­тель­
ны к по­лу­чае­мым зна­чениям, а в та­ком ва­ри­ан­те вы бу­де­те уве­ре­
ны, что оно пре­об­ра­зу­ет­ся как 8‑бит­ное це­лое.
По­сле при­менения по­ве­дения к объ­ек­т у с по­мо­щью behavior.
apply(actor), оно мо­жет быть вы­зва­но в лю­бой мо­мент, за­пуском
шка­лы вре­мени. Един­ствен­ная про­бле­ма с на­шей анима­ци­ей сей­
час за­к лю­ча­ет­ся в том, что ес­ли очень бы­ст­ро под­но­сить и уби­рать
кур­сор мы­ши, то анима­ции на­ло­жат­ся друг на дру­га, вы­звав мер­
цание. Одним из спо­со­бов ис­прав­ления это­го мо­жет быть ис­поль­
зо­вание неви­ди­мо­го пря­мо­угольника, на­кры­ваю­ще­го всю груп­пу
О, вос­торг тол­пы
кно­пок, и при­менение по­ве­дения за­т у­хания с его по­мо­щью. ‘__name__’, ‘__ne__’, ‘__new__’, ‘__reduce__’, ‘__reduce_ex__’,
при ви­де на­ших
Итак, боль­шой во­прос в том, ка­кие чу­де­са мы из­вле­чем ‘__repr__’, ‘__self__’, по­яв­ляю­щих­ся-
из вол­шеб­ной кор­зи­ны Python, что­бы за­ста­вить ка­ж ­дую кноп­к у ‘__setattr__’, ‘__sizeof__’, ‘__str__’, ‘__ subclasshook__’] ис­че­заю­щих кно­
вести се­бя по-свое­му без до­бав­ления хрен­тил­лио­на строк ко­да Dir – встро­ен­ная функ­ция Python, с ко­то­рой мы уже встре­ пок, которые па­ря­т
в наш об­ра­бот­чик со­бы­тий? А по­зволь­те при­влечь ва­ше внимание ча­лись; в основ­ном она ис­поль­зу­ет­ся для ин­троспек­ции и со­об­- над ви­део!
к экс­по­на­т у A: ща­ет, что есть в объ­ек­те. При­сваи­вая пе­ре­мен­ной x зна­чение dir
>>> example=clutter.Rectangle() (за­меть­те, что мы не ис­поль­зу­ем скоб­ки в кон­це), мы соз­да­ем
>>> example.set_size(60,20) ссыл­к у на эту функ­цию. В ре­зуль­та­те x бу­дет вести се­бя как dir.
>>> example.MyMadeUpProperty = 8 Это дей­стви­тель­но dir, про­сто с дру­гой мет­кой. Те­перь вы мо­же­те
>>> example.MyMadeUpProperty вы­звать x так же, как вы­зы­ва­ет­ся dir.
8 Слияние двух этих фраг­мен­тов с на­шим су­ще­ствую­щим
>>> ко­дом Clutter оз­на­ча­ет, что мы смо­жем оп­ре­де­лить ме­то­ды для
Вот вам и ма­гия Python. Без вся­кой мо­ро­ки с изо­бре­тением вы­полнения дей­ствий, а за­тем при­сво­ить их но­вым свой­ствам,
но­вых клас­сов и то­му по­доб­но­го, мы мо­жем ди­на­ми­че­ски до­ ко­то­рые до­ба­вим к уже соз­д ан­ным объ­ек­там-кноп­кам. Наш
бав­лять свой­ства к су­ще­ствую­щим объ­ек­там. Итак, хо­тя ак­те­ры класс-об­ра­бот­чик все еще не тре­бу­ет вы­полнения че­го-то осо­
Clutter не име­ют со­от­вет­ствую­ще­го места для хранения свой­ства бен­но­го – при щелч­ке на кноп­ке он про­сто вы­зы­ва­ет ее свой­
‘при на­жа­тии кноп­ки вы­полнить’, мы про­сто мо­жем до­ба­вить его ство-ме­тод ‘action’ или как мы там по­же­ла­ем его на­звать. Вам,
позднее. Ак­тер rectangle бу­дет вести се­бя так же, как обыч­ный воз­мож­но, ка­жет­ся, что мы немно­го ув­лек­лись иде­ей не пи­сать
пря­мо­угольник, но мы мо­жем припи­сать к нему лю­бые неве­ро­ят­ до­полнитель­ный код; тут и прав­д а эко­но­мит­ся несколь­ко строк,
ные вы­кру­та­сы, а то и по­лез­ные ве­щи. но на са­мом де­ле этот спо­соб об­ра­бот­ки объ­ек­тов реа­ли­зу­ет­ся
для луч­шей чи­та­бель­но­сти и со­про­во­ж ­д ае­мо­сти уча­ст­ка ко­д а.
На­жми­те кноп­ку Функ­ция handler() – лишь эф­фек­тив­ная часть кон­ст­рук­ции,
Это при­во­дит нас к неко­то­рым до­полнитель­ным цен­ным свой­ или, ска­жем, ком­му­та­тор, со­еди­няю­щий ком­понен­ты вме­сте
ствам Python. Поч­ти все в ми­ре Python – про­сто объ­ек­ты, вклю­ при необ­хо­ди­мо­сти.
чая ме­то­ды и функ­ции. В сущ­но­сти, ме­тод – все­го лишь объ­ект При­менив это и по­за­им­ство­вав код из при­ло­жения GStreamer,
со свой­ством __call__. Ра­до­вать­ся тут осо­бо нече­му, но за­то мож­ ко­то­рое мы пи­са­ли несколь­ко вы­пусков на­зад, мож­но соз­дать
но вы­пол­нять сле­дую­щее: наш соб­ствен­ный про­стой ме­диа-плей­ер с кноп­кой пау­зы, ко­
>>> dir торая ис­че­за­ет и по­яв­ля­ет­ся по­верх ви­део, ко­гда это тре­бу­ет­ся.
<built-in function dir> Здесь нет мес­та, что­бы при­вес­ти весь лис­тинг (боль­шую часть
>>> dir() его ко­да мы уже ви­де­ли), но вы мо­же­те най­ти его (на­ря­д у с не­ко­
[‘__builtins__’, ‘__doc__’, ‘__name__’, ‘__package__’] то­ры­ми дру­ги­ми) на LXFDVD.
>>> x=dir
>>> x
<built-in function dir> Чу­вак! А где же кар­та?
>>> x()
[‘__builtins__’, ‘__doc__’, ‘__name__’, ‘__package__’, ‘x’] В прошлый раз я сду­ру на­мек­нул, что в этом но­ме­ре мы рас­смот­рим
>>> x(x) пре­крас­ное кар­то­гра­фи­че­ское при­ло­же­ние Clutter. К со­жа­ле­нию,
[‘__call__’, ‘__class__’, ‘__cmp__’, ‘__delattr__’, ‘__doc__’, ‘__ не­смот­ря на то, что та­кое при­ло­же­ние поя­ви­лось, оно не­дос­та­точ­
но на­деж­но ра­бо­та­ло со мно­ги­ми вер­сия­ми за­ви­си­мых биб­лио­тек.
eq__’, ‘__format__’, ‘__ge__’,
Че­рез не­сколь­ко ме­ся­цев мы по­про­бу­ем вер­нуть­ся к это­му, так что
‘__getattribute__’, ‘__gt__’, ‘__ hash__’, ‘__init__’, ‘__le__’, ‘__ сле­ди­те за со­бы­тия­ми.
lt__’, ‘__module__’,

Через месяц Со­сре­до­то­чим­ся на Cogls, суб-атом­ной ма­гии, стоя­щей за Clutter.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      83
Hardcore Linux Проверьте себя на крутом 
проекте для продвинутых пользователей

Google Cal: SMS


Клау­дио Тан­чо­ни опи­шет, как пре­вра­тить Google Calendar в служ­бу
SMS-уве­дом­ле­ний, не об­ра­ща­ясь к плат­ным сервисам.

с се­го­дняшней да­той пониже крас­ной линии, ото­бра­жаю­щей те­


ку­щее вре­мя. Вве­ди­те на­звание ме­ро­прия­тия в поя­вив­шем­ся окне
и щелкните на Из­менить ин­фор­ма­цию для досту­па к странице, где
вво­д ят­ся под­роб­но­сти о ме­ро­прия­тии и соз­да­ют­ся на­по­ми­нания
(в об­ласти На­по­ми­нание). На ка­ж ­дое ме­ро­прия­тие мож­но на­зна­
чать до пя­ти на­по­ми­наний.
Ис­поль­зуй­те пер­вый вы­па­даю­щий спи­сок для ука­зания спо-
соба по­лу­чения на­по­ми­нания, а по­ле и спи­сок пра­вее по­зво­лят
со­об­щить, когда вы хо­ти­те по­лу­чить его. Для це­лей тести­ро­
вания мы вы­бе­рем от­прав­к у SMS че­рез 0 ми­нут. Дру­ги­ми сло­-
ва­ми, вы по­лу­чи­те со­об­щение точ­но в мо­мент на­ча­ла встре­чи.
Ес­ли вы по­че­му-ли­бо не ви­ди­те вы­па­даю­щих ме­ню в об­ласти
на­по­ми­наний, щелкните по До­ба­вить на­по­ми­нание.
За­кон­чив, на­жми­те Со­хранить и жди­те на­сту­п­ления со­бы­тия,
сле­д я за ва­шим со­то­вым те­ле­фо­ном. Ес­ли SMS при­дет, то ваш
те­ле­фон ра­бо­та­ет с Ка­лен­да­рем Google! Те­перь пой­дем даль­ше
и по­гру­зим­ся чуть глуб­же в осо­бен­но­сти тек­сто­вых со­об­щений.

ПроZendируем те­му
Ра­зо­брав­шись, как до­бав­ля­ют­ся тек­сто­вые со­об­щения в брау­зе­
ре, да­вай­те сде­ла­ем это, ис­поль­зуя код на PHP и Zend Framework.
Zend (http://framework.zend.com) – это кол­лек­ция биб­лио­тек,
пред­ла­гаю­щая хо­ро­шо до­к у­мен­ти­ро­ван­ный на­бор клас­сов и ме­

В
ла­дель­цы учет­ной запи­си на Gmail так­же по­лу­ча­ют доступ то­дов для ра­бо­ты с Ка­лен­да­рем Google. Ес­ли у вас есть учет­ная
к дру­гим ин­ст­ру­мен­там и сер­ви­сам Google: До­к у­мен­там, запись Google, за­ре­ги­ст­ри­ро­ван­ный в Ка­лен­да­ре Google те­ле­фон
Reader’у и, конеч­но, Ка­лен­да­рю. На дан­ном уро­ке мы по­ и минималь­ная уста­нов­ка Zend Framework на ва­шем сер­ве­ре web-
ка­жем, как пре­вра­тить по­следний в SMS-шлюз, по­сы­лаю­щий вам при­ло­жений, ничто не ме­ша­ет за­пустить дан­ную при­моч­к у.
SMS при возник­но­вении неко­го со­бы­тия. Для при­ме­ра мы на­стро­ На­ша за­да­ча те­перь – от­прав­лять тек­сто­вые со­об­щения все­
Наш им про­стень­к ую систе­му (со­стоя­щ ую из web-страницы на PHP, гда, когда вы­пол­ня­ет­ся за­дан­ное усло­вие. И это лег­ко сде­лать
эксперт кар­ман­ной ба­зы MySQL и планиров­щи­ка Cron), пред­на­зна­чен­ную с по­мо­щью PHP-биб­лио­тек Zend.
Клау­дио для монито­рин­га сейс­ми­че­ской ак­тив­но­сти и по­сы­лаю­щ ую нам Тут вы мо­же­те на­чать недо­уме­вать, за­чем вам му­чать­ся с Ка­
Тан­чо­ни со­об­щение при ка­ж ­дом под­зем­ном толч­ке. лен­да­рем Google при на­ли­чии пре­крас­ных доступ­ных сер­ви­сов
ра­бо­та­ет сис­тем­ Ка­лен­дарь Google не от­ли­ча­ет­ся от дру­гих по­хо­жих про­д ук­
ным ад­ми­ни­ст­ра­
тов – кро­ме, конеч­но, его бес­плат­но­сти для неком­мер­че­ско­го при­
то­ром, а Linux
он по­лю­бил менения. По­сы­лае­мые со­об­щения так­же не бу­д ут сто­ить ниче­го,
с пер­во­го же ес­ли ваш та­риф не пре­ду­смат­ри­ва­ет пла­ты за вхо­д я­щие SMS (ес­
взгля­д а. ли вы, скажем, на­хо­ди­тесь в ро­умин­ге, плата может и взиматься).
Пер­вым де­лом за­ре­ги­ст­ри­руй­те свой те­ле­фон­ный но­мер
во вклад­ке На­строй­ка для мо­биль­ных уст­ройств на странице На­
строй­ки ка­лен­да­ря. Убе­ди­тесь, что ваш мо­биль­ный опе­ра­тор под­
дер­жи­ва­ет­ся, за­тем вы­бе­ри­те стра­ну, вве­ди­те но­мер те­ле­фо­на
и щелкните по От­пра­вить про­ве­роч­ный код. Вам при­дет про­ве­
роч­ное SMS с ко­дом, ко­то­рый нуж­но вве­сти в по­ле Про­ве­роч­ный
код. Ес­ли все про­шло нор­маль­но, вы уви­ди­те со­об­щение, что ваш
но­мер те­ле­фо­на успеш­но ве­ри­фи­ци­ро­ван. На стра­ни­це На­строй­ка для мо­биль­ных уст­ройств Ка­лен­да­ря
Да­лее, соз­да­дим ме­ро­прия­тие для тести­ро­вания систе­мы. Google про­верь­те, под­дер­жи­ва­ет ли тек­сто­вые опо­ве­ще­ния
Зай­дем в основ­ной вид Ка­лен­да­ря и щелкнем на ко­лон­ке ваш мо­биль­ный опе­ра­тор.

Месяц назад При­ме­ня­ли RAID, что­бы спа­сти ва­ши дан­ные при сбое дис­ка.
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
84      LXF132 Июнь 2010
 Пей­джер Google Calendar Учебник

безвозмез­дно
SMS-шлю­зов. Основ­ная при­чи­на в том, что эти шлю­зы не бес­- В Ка­лен­да­ре
плат­ны; и хо­тя воз­мож­но­сти без­воз­мезд­ной по­сыл­ки тек­сто­вых Google мож­но за­
со­об­щений из Ка­лен­да­ря Google несколь­ко ог­раниче­ны, с неболь­ дать, ко­гда по­сы­
лать вам со­об­ще­
ши­ми до­дел­ка­ми это бу­дет от­лич­но ра­бо­тать на вас.
ние о со­бы­тии.
Для сле­д ую­ще­го при­ме­ра зай­мем­ся web-страницей, ди­на­
ми­че­ски об­нов­ляе­мой но­вым со­дер­жи­мым. А мы хо­тим, что­бы
при по­яв­лении но­во­го со­дер­жи­мо­го оно под­чи­ща­лось, уре­за­лось
и по­сы­ла­лось нам на те­ле­фон, с по­мо­щью вскры­тых воз­мож­но­
стей от­прав­ки SMS в Ка­лен­да­ре Google.
Ис­поль­зуе­мая на­ми HTML-страница, об­нов­ляе­мая ка­ж ­дые
несколь­ко ми­нут, со­дер­жит таб­ли­цу с зем­ле­тря­сения­ми в об­рат­
ном хро­но­ло­ги­че­ском по­ряд­ке, что­бы по­следние со­бы­тия бы­
ли ввер­х у. Дан­ные при­хо­д ят с офи­ци­а ль­ной web-страницы, об­
нов­ляе­мой гео­ло­ги­че­ским сейс­ми­че­ским ин­сти­т у­том на http://bit.
ly/daOfuO. Для на­ше­го при­ме­ра раз­местим таб­ли­ц у с этой стра- но от­ме­тить, что нам доступ­ны толь­ко 60 сим­во­лов SMS вме­
ницы на http://gcal-smsdemo.co.cc/earthquakes.php. При но­вом про- сто обыч­ных 160 [в русской ко­ди­ров­ке во­об­ще 74, – прим. пер.].
яв­лении сейс­ми­че­ской ак­тив­но­сти стро­ка об этом до­ба­вит­ся Так как не все ко­лон­ки таб­ли­цы име­ют оди­на­ко­вую цен­ность,
в на­ча­ле HTML-таб­ли­цы. от­бе­рем толь­ко часть из них, что­бы уло­жить­ся в этот ли­мит.
Пер­вым ша­гом при­меним для чтения web-страницы функ­цию
PHP curl_exec, за­тем вы­полним син­так­си­че­ский раз­бор HTML- Ин­те­рес­ные мо­мен­ты
ко­да для про­вер­ки, не за­ре­ги­ст­ри­ро­ва­но ли но­вое зем­ле­тря­ Ин­те­реснее все­го бу­д ут Seismic District [Рай­он зем­ле­тря­сения],
сение в на­ча­ле таб­ли­цы. Date [Да­та], Time(UTC) [Вре­мя] и Mag(nitude) [Си­ла]. Па­ра­мет­ры
/* За­би­ра­ем html-до­к у­мент для раз­бо­ра */ Depth [Глу­би­на], Lat(itude) [Ши­ро­та] и Lon(gitude) [Дол­го­та] – бо­лее
$ch = curl_init(“http://gcal-smsdemo.co.cc/earthquakes.php”); техниче­ские, и мы по­пы­та­ем­ся немно­го по­манипу­ли­ро­вать стро­
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); ка­ми, что­бы их то­же втис­нуть, от­ка­зав­шись от Id. Сле­д ую­щий код
$html = curl_exec($ch); про­смот­рит мас­сив $rows и соз­даст стро­к у $smstxt с по­сы­лае­мым
curl_close($ch); тек­стом.
Функ­ция curl_init() ини­циа­ли­зи­ру­ет сес­сию Curl и при­ни­ма­ет /* Вы­би­ра­ем ка­ж ­д ую ко­лон­к у по тэ­г у */
URL как па­ра­метр. Curl_setopt() за­да­ет па­ра­мет­ры для curl_exec(). $cols=$rows->item(1)->getElementsByTagName(‘td’);
CURLOPT_RETURNTRANSFER, TRUE ве­лит сле­д ую­щей функ­ции, /* соз­д а­ем стро­к у $smstext */
curl_exec(), вер­нуть ре­зуль­тат как стро­к у (вме­сто бу­лев­ско­го зна­ /* Location(9) + Magnitude(7) + TimeDate (3)(2) +
че­ния по умол­ча­нию). Latitude (4) + Longitude(5) + Depth (6) */
Да­лее, из­вле­чем стро­ки из таб­ли­цы с ис­поль­зо­ва­ни­ем DOM: $smstext=substr($cols->item(9)->nodeValue,0,8) .
/* Но­вый объ­ект dom */ “ “ . $cols->item(7)->nodeValue . “ “ .
$dom = new domDocument; $cols->item(3)->nodeValue . “ “ .
/* За­г ру­ж а­ем html в объ­ект */ $cols->item(2)->nodeValue . “ “ .
$dom->loadHTML($html); $cols->item(4)->nodeValue . “ “ .
/* Мас­сив таб­лиц по тэ­г у */ $cols->item(5)->nodeValue . “ “ .
$tables = $dom->getElementsByTagName(‘table’); $cols->item(6)->nodeValue . “Km”;
/* За­би­ра­ем все стро­к и из пер­вой таб­ли­цы на стра­ни­це */ Мас­сив $cols со­дер­жит 10 эле­мен­тов (0–9) с дан­ны­ми
$rows=$tables->item(0)-> getElementsByTagName(‘tr’); о по­следнем сейс­ми­че­ском со­бы­тии. Ис­поль­зуя нуж­ные ин­дек­сы
По­сле за­груз­ки HTML-страницы в объ­ект DOM удоб­ный ме­тод и функ­цию substr(), мы лег­ко соз­да­ем SMS-со­об­щение.
getElementsByTagName() за­гру­жа­ет все таб­ли­цы в мас­сив $tables По­сле от­ра­бот­ки ко­да над пре­ды­д у­щей таб­ли­цей, $smstext
(на на­шей де­мо-странице она толь­ко од­на). Ис­поль­зуя ме­тод бу­дет со­дер­жать нечто вро­де Chile-Ar Mb:6.2 11:25:38 2010/02/28
во вто­рой раз, мы со­хра­ня­ем все стро­ки таб­ли­цы, ко­то­рые вер­нул -34.739 -70.866 35Km. От­ме­тим, что это мень­ше, чем 60 сим­во­лов,
getElementsByTagName(‘tr’), в мас­си­ве $rows. Помните, что item(0) частич­но бла­го­да­ря substr($cols->item(9)->nodeValue,0,8), ко­то­рая
оз­на­ча­ет пер­вую таб­ли­цу, так как ин­дек­сы от­счи­ты­ва­ют­ся с 0. уре­за­ет по­ле Seismic District до вось­ми сим­во­лов. Стро­ка уко­ро-
Пускай те­перь на web-страницу толь­ко что до­ба­ви­лась стро­ка ­че­на, и на­ше тек­сто­вое со­об­щение поч­ти го­то­во к от­прав­ке.
с Id 8211226050, и нам нуж­но за­брать ее, по­чистить, сжать и ис­ На сле­д ую­щем ша­ге при­меним ло­ги­к у, что­бы со­об­щение
поль­зо­вать наш трюк с Ка­лен­да­рем Google для от­прав­ки SMS- о сейс­ми­че­ском со­бы­тии по­сы­ла­лось од­но­крат­но. Ка­лен­дарь
со­об­щения. Да­вай­те по­смот­рим, как это сде­лать. Google не в со­стоянии оп­ре­де­лить, бы­ло ли от­прав­ле­но SMS.
Ин­те­ре­сую­щая нас стро­ка таб­ли­цы рас­по­ло­же­на на вто­ром По­это­му за­ве­дем неболь­шую ба­зу MySQL для от­сле­жи­вания
месте (в мас­си­ве $rows это эле­мент с но­ме­ром один). Здесь важ­ уже по­слан­ных со­об­щений. Это мо­жет по­ка­зать­ся лишним услож­

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      85
Учебник Пей­джер Google Calendar 

нением на пу­ти к це­ли, но за­то, когда ба­за дан­ных бу­дет на­строе­на, единением и то­му по­доб­но­го. Сей­час же мы по­ста­ра­ем­ся при­дер­
про­вер­ка, бы­ли ли со­об­щение уже от­прав­ле­но, бу­дет очень про­ жи­вать­ся крат­ко­го и ла­конич­но­го ко­да.
стой, по­то­му что ба­за не принима­ет од­ну и ту же запись бо­лее од­ Ну вот, мы го­то­вы ис­поль­зо­вать PHP для об­щения с Ка­лен-
но­го раза. А зна­чит, в Ка­лен­дарь Google со­бы­тие до­ба­вит­ся толь­ко ­да­рем Google. Для это­го на­до ска­чать и уста­но­вить в под­ди­рек­
один раз, и он не бу­дет зря бом­бить наш те­ле­фон «эсэмэска­ми». то­рию минималь­ный Zend Framework. Так­же бу­дем пред­по­ла­гать,
Скорая Ба­за дан­ных в на­шем при­ме­ре бу­дет со­дер­жать од­ну таб­ли­ц у что биб­лио­те­ки Zend рас­по­ло­же­ны в пап­ке с именем Zend. Спер­ва
помощь
с именем sms, о двух ко­лон­ках: smstext и status. за­гру­зим неко­то­рые клас­сы Zend:
CREATE TABLE IF NOT EXISTS `sms` ( // Gcal Hack: За­г ру­ж а­ем нуж­ные клас­сы Zends
Ка­лен­д арь Google
за­пи­сы­ва­ет в тек­ `smstext` varchar(160) NOT NULL, require_once ‘Zend/Loader.php’;
сто­вое со­об­ще­ние `status` varchar(32) NOT NULL, Zend_Loader::loadClass(‘Zend_Gdata’);
толь­ко на­зва­ние PRIMARY KEY (`smstext`) Zend_Loader::loadClass(‘Zend_Gdata_ClientLogin’);
со­бы­тия, дли­ной ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Zend_Loader::loadClass(‘Zend_Gdata_Calendar’);
не бо­лее 60 сим­
во­лов. Ос­таль­
Zend_Loader::loadClass(‘Zend_Http_Client’);
ное ме­сто ис­поль­ Ба­за со­об­ще­ний Эти клас­сы PHP хра­нят­ся в пап­ке Zend_Gdata; они по­зво­лят
зу­ет­ся для име­ни По­ле status по­мо­жет нам от­сле­жи­вать, бы­ло ли по­сла­но SMS, нам вы­полнять ау­тен­фи­ка­цию, соз­да­вать но­вые ме­ро­прия­тия
ка­лен­д а­ря, да­ты а smstext бу­дет хранить его текст. Да­вай­те вернем­ся к PHP-ко­д у. и уда­лять су­ще­ствую­щие, про­смат­ри­вать их, а так­же мно­гое дру­
и вре­ме­ни на­ча­
Он встав­ля­ет тек­сто­вое со­об­щение в таб­ли­ц у sms ба­зы дан­ных гое. Для на­ча­ла вой­дем в на­шу учет­ную запись Ка­лен­да­ря Google
ла/окон­ча­ния со­
бы­тия. и сиг­на­ли­зи­ру­ет об ошиб­ке, ес­ли та­кое уже су­ще­ству­ет. с по­мо­щью та­ко­го ко­да:
/** Со­еди­ня­ем­ся с БД **/ // Под­к лю­ча­ем­ся к сер­ви­с у
$con = mysql_connect(‘localhost’, ‘username’,’pa$$w0rd’); $gcal = Zend_Gdata_Calendar::AUTH_SERVICE_NAME;
if (!$con) { $user = ‘username’; // без ‘@gmail.com’ на кон­це
die(‘Could not connect: ‘ . mysql_error()); $pass = ‘pa$$w0rd’;
} $client = Zend_Gdata_ClientLogin::getHttpClient ($user,
mysql_select_db(“smsdemo_DB”, $con); $pass, $gcal);
/* Обезо­па­сим­ся от инъ­ек­ций и спец. сим­во­лов */ $client бу­дет хранить объ­ект Zend_Http_Client со все­ми де­та­ля­
$smstext = mysql_real_escape_string($smstext); ми те­к у­щей ау­тен­фи­ка­ции кли­ен­та.
/** DB sms INSERT **/ Да­лее про­ве­рим, нет ли со­об­щений со ста­т у­сом pending
$sql_ins_sms=”INSERT INTO sms (smstext, status) в на­шей таб­ли­це sms, и по­лу­чим их, ис­поль­зуя SELECT. Ес­ли в оче­
VALUES ре­ди есть ка­кие-ли­бо со­об­щения, пер­вое из них бу­дет вы­бра­но
(‘$smstext’,’pending’)”; для от­прав­ки:
if (!mysql_query($sql_ins_sms,$con)) { // Соз­д а­ем объ­ект gcal
print(“Warning: “ . mysql_error() . “<br />\n”); $gcal = new Zend_Gdata_Calendar($client);
} else print(“1 sms added<br />\n”); // По­л у­ча­ем ожи­д аю­щие со­бы­т ия из таб­ли­цы sms
Ме­тод mysql_real_escape_string() пре­ду­пре­ж ­да­ет втор­жения $sql_sel_pending = “SELECT * FROM sms WHERE
в ба­зу дан­ных. Его сле­ду­ет ис­поль­зо­вать все­гда, когда пе­ре­мен­ status=’pending’ LIMIT 0,1”;
ная со­дер­жит све­дения из Ин­тернета (раз­бо­ра HTML) или вве­ден­ $result = mysql_query($sql_sel_pending);
ные непо­сред­ствен­но поль­зо­ва­те­лем (че­рез фор­мы). Опе­ра­тор $row = mysql_fetch_array($result);
INSERT запи­сы­ва­ет в таб­ли­цу со­об­щение ($smstext), а так­же ста­ if (!$row) die(“No pending event, exiting...” .
тус pending, оз­на­чаю­щий по­ста­нов­к у со­об­щения в оче­редь на от­ “<br>\n”);
прав­к у. Сле­д ую­щим ша­гом бу­дет за­прос ба­зы дан­ных на на­ли­чие // Ус­т а­нав­ли­ва­ем за­го­ло­вок
Пре­ж­де чем про­ со­об­щений в оче­ре­ди, и ес­ли та­ко­вые име­ют­ся – их от­сыл­ка. Этот $title = $row[‘smstext’];
бо­вать это, за­гру­ код не от­сле­жи­ва­ет воз­мож­ные ошиб­ки, но вы мо­же­те поз­же до­ print(“title: “ . $title . “<br />\n”);
зи­те и ус­та­но­ви­те ба­вить кон­ст­рук­ции try/catch для об­слу­жи­вания про­блем с со­ В этом ко­де $gcal – объ­ект Zend_Gdata_Calendar, пред­став­ляю­
Zend на ваш сер­вер.
щий со­бы­тие на­ше­го ка­лен­да­ря с по­лем title (на­звание), вре­менем
на­ча­ла/кон­ца и всем про­чим, что ис­поль­зу­ет­ся при планиро­вании
ме­ро­прия­тия. Пор­ция ко­да PHP/MySQL по­лу­ча­ет тек­сто­вые со­
об­щения из оче­ре­ди опе­ра­то­ром SELECT и об­ра­ба­ты­ва­ет ре­зуль­
тат с по­мо­щью функ­ции mysql_fetch_array(), ко­то­рая воз­вра­ща­ет
мас­сив с со­от­вет­ствую­щи­ми стро­ка­ми, а $title в ре­зуль­та­те бу­дет
хранить текст, ко­то­рый на­до по­слать.

Иг­ра­ем со вре­менем
Ка­лен­дарь Google обыч­но под­ра­зу­ме­ва­ет уста­нов­к у на­по­ми­наний
о со­бы­ти­ях, ко­то­рые про­изой­д ут в бу­д у­щем. Что­бы обой­ти это
и обес­пе­чить от­прав­к у со­об­щений на ваш те­ле­фон в ре­а ль­ном
вре­мени, нуж­но взять те­к у­щее вре­мя и до­ба­вить к нему неболь­
шой сдвиг, что­бы Google счи­тал ва­ше со­бы­тие фак­том бли­жай-
­ше­го бу­д у­ще­го. Па­ра ми­нут (120 се­к унд) бу­дет в са­мый раз.
Это сра­бо­та­ет, да­же ес­ли вы уста­но­ви­те од­ну ми­ну­т у, но тогда со­
об­щения мо­г ут иногда те­рять­ся при за­держ­ках в линиях свя­зи.
// За­д а­ем вре­мя
date_default_timezone_set(‘UTC’);

Пропустили номер? Узнайте на с. 107, как получить его прямо сейчас.


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
86      LXF132 Июнь 2010
 Пей­джер Google Calendar Учебник

$safeTimeToWait = 120; // до­ба­вить се­к унд


$now = time(); // се­к унд с 1/1/1970 Что нам на­до: LAMP + Zend
$smsSchedTime = $now + $safeTimeToWait;
print (“sms scheduled sending time is: ” . Linux Apache MySQL PHP (LAMP) – это наи­бо­ Zend Framework – от­кры­тый объ­ект­но-ори­ен­
date(“Y-m-d H:i”,$smsSchedTime) . “<br />\n”); лее популярная сер­вер­ная плат­фор­ма. Ус­та­но­- ти­ро­ван­ный кар­кас при­ло­же­ний для PHP5. Для
$sdate_yy = $edate_yy = date(“Y”,$smsSchedTime); вить сер­вер LAMP на ва­шем ком­пь­ю­те­ре от­но- его ис­поль­зо­ва­ния на ва­шем LAMP-сер­ве­ре
$sdate_mm = $edate_mm = date(“m”,$smsSchedTime); ­си­тель­но про­сто (см. по ссыл­ке ru.wikipedia. ска­чай­те ми­ни­маль­ный па­кет Zend, рас­па­к уй­
org/wiki/LAMP). Мы на­стоя­тель­но ре­ко­мен­д у­ем те его и за­гру­зи­те пап­к у /ZendFramework-1.9.7-
$sdate_dd = $edate_dd = date(“d”,$smsSchedTime);
спер­ва по­про­бо­вать ее бес­плат­но в Ин­тер­не­те. minimal/library/Zend ку­да-ни­будь в ди­рек­то­
$sdate_hh = $edate_hh = date(“H”,$smsSchedTime); По­ищите слова «бес­плат­ный хос­тинг LAMP». рию /public_html на ва­шем web-сер­ве­ре.
$sdate_ii = $edate_ii = date(“i”,$smsSchedTime);
$start = $end = date(DATE_ATOM, mktime($sdate_hh,
$sdate_ii, print(“sms: $title [status=sent]<br />\n”);
0, }
$sdate_mm, /** за­к ры­ва­ем со­еди­не­ние с БД **/
$sdate_dd, mysql_close($con);
$sdate_yy)); Страница PHP те­перь го­то­ва и мо­жет быть про­смот­ре­на он­
Са­мая важ­ная пе­ре­мен­ная тут – это $smsSchedTime: она лайн на http://gcal-smsdemo.co.cc/smsdemo.php. Нам ну­жен кто-
за­да­ет вре­мя от­прав­ки тек­сто­во­го со­об­щения. Она по­лу­ча­ет­ся то или что-то, вы­зы­ваю­щее соз­дан­ную страницу. К сча­стью, Cron
сло­жением те­к у­ще­го вре­мени (воз­вра­щае­мо­го функ­ци­ей time()) для это­го иде­а ль­но под­хо­дит! На­стро­им за­дание Cron на вы­
и $safeTimeToWait. полнение ка­ж ­дые 10 ми­нут или око­ло то­го (так как из­вест­но, что
страница сейс­ми­че­ско­го ин­сти­т у­та об­нов­ля­ет­ся ка­ж ­дые несколь­
Го­тов­ность к от­прав­ке ко ми­нут), и мож­но еще пе­ре­на­пра­вить стан­дарт­ный вы­вод и стан­ Скорая
помощь
Опе­ра­тор print за­тем по­ка­жет ре­зуль­ти­рую­щее вре­мя от­прав­ки. дарт­ные ошиб­ки в файл жур­на­ла. Запись crontab мо­жет вы­гля­
Пе­ре­мен­ная $sdate_ со­дер­жит те­к у­щий год (yy), ме­сяц (mm), деть при­мер­но так:
Ка­лен­д арь Goggle
день (dd), час (hh) и ми­ну­ты (ii). Мы долж­ны за­дать вре­мя на­ча­ла 0,10,20,30,40,50 * * * * curl --silent --show-error --connect- по­зво­ля­ет на­зна­
рав­ным вре­мени окон­чания, по­то­му что это не ре­а ль­ное ме­ро­ timeout 30 --max-time 40 http://gcal-smsdemo.co.cc/ чать ме­ро­прия­тия
прия­тие. Да­лее мы за­да­ем со­бы­тие как про­ис­хо­д я­щее че­рез две smsdemo.php >> curl.log 2>&1 на про­шлое, но то­
гда вы не по­лу­чи­те
ми­ну­ты в бу­ду­щем и вклю­ча­ем тек­сто­вое на­по­ми­нание: Па­ра­мет­ры silent и show-error сде­ла­ют вы­вод коман­ды curl
тек­сто­вые на­по­
// Кон­с т­руи­ру­ем объ­ект-со­бы­т ие ла­конич­ным, но бо­лее зна­чи­мым в слу­чае оши­бок. Connect- ми­­на­ния.
$event = $gcal->newEventEntry(); timeout и max-time нуж­ны на слу­чай обыч­ной опас­но­сти вре­мен­
$event->title = $gcal->newTitle($title); но­го сбоя DNS, ко­то­рый мо­жет под­ве­сить коман­д у на неоп­ре­де­
$when = $gcal->newWhen(); лен­ный срок. По­это­му здесь, ес­ли что-то пой­дет непра­виль­но,
$when->startTime = $start; мы про­сто при­кро­ем коман­д у че­рез 30 се­к унд, ес­ли не бу­дет от­ве­
$when->endTime = $end; та от web-страницы (упал сер­вер) или вся опе­ра­ция (пол­ное вре­
$event->when = array($when); мя за­пуска PHP-страницы) занима­ет слиш­ком дол­гое вре­мя (бо­
// На­с траи­ва­ем и вклю­ча­ем SMS-на­по­ми­на­ние лее 40 се­к унд).
$minutes = 0; Итак, мы сде­ла­ли это. Те­перь вы смо­же­те пре­вра­тить ва­шу
$method = “sms”; учет­ную за­пись Ка­лен­да­ря Google в шлюз тек­сто­вых со­об­ще­ний,
$reminder = $gcal->newReminder(); ко­то­рый бу­дет эф­фек­тив­но по­сы­лать вам SMS в ре­жи­ме ре­а ль­
$reminder->method = $method; но­го вре­ме­ни.
$reminder->minutes = $minutes;
$when = $event->when[0];
$when->reminders = array($reminder);
$gcal->insertEvent($event);
print(“Gcal Event Added, user: $user<br />\n”);
Здесь соз­да­ет­ся объ­ект $event, уста­нав­ли­ва­ет­ся title (те­ло
со­об­щения), за­тем за­гру­жа­ют­ся вре­ме­на startTime и endTime
(эти две пе­ре­мен­ные оди­на­ко­вы и хра­нят вре­мя от­прав­ки на­ше­го
«сейс­ми­че­ско­го» SMS). Вас не долж­но сму­щать $minutes = 0.
Это оз­на­ча­ет, что мы не хо­тим по­лу­чать на­по­ми­нания от Google
за­ранее. $method = «sms» за­да­ет спо­соб, ко­то­рым мы хо­тим быть
про­ин­фор­ми­ро­ва­ны, а за­тем со­бы­тие gcal встав­ля­ет­ся в ка­лен­
дарь при по­мо­щи $gcal->insertEvent($event).
На­ко­нец, из­ме­ним ста­т ус на­ше­го со­об­ще­ния с pending на sent
в таб­ли­це sms:
// Из­ме­ня­ем ста­т ус ‘field’ с pending -на -> sent
$sql_update_status = “UPDATE sms
SET status = ‘sent’
WHERE smstext = ‘$title’”;
if (!mysql_query($sql_update_status,$con)) {
print(‘Error: ‘ . mysql_error()); Наш сайт сейс­ми­че­ских дан­ных не осо­бо эле­ган­тен, но этого ему и не нуж­но — он все­го
} else { лишь сту­пень­ка к по­лу­че­нию све­де­ний на наш те­ле­фон.

Через месяц Как кон­троль вер­сий спа­са­ет всю ва­шу циф­ро­вую жизнь.
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      87


Ответы
Есть вопрос по от­кры­то­му ПО? Пишите нам по адресу answers@linuxformat.ru

О
Ан­ти­ви­русные скане­
В этом месяце мы ответим ры Linux уме­ют об­
на вопросы про: на­ру­жи­вать ви­ру­сы
1 За­щи­ту от ви­ру­сов 8 Ис­прав­ле­ние
Windows – фак­ти­че­ски, это их
2 По­иск чи­сло­вых UID ошиб­ки Grub основ­ная функ­ция. Сравнитель­
3 От­дель­ный до­маш­ в сис­те­ме с двой­
ний ка­та­лог ной за­груз­кой ный ана­лиз ан­ти­ви­русных про­
4 Ап­па­рат­ные сбои 9 Под­держ­ку AAC грамм пуб­ли­ко­вал­ся в LXF128
5 Эк­за­ме­ны LPI в Amarok
6 Слу­чай­ные но­ме­ра 10 Ус­та­нов­ку Skype в руб­ри­ке Сравнение, и в этой
пор­тов в Mandriva ста­тье Вы най­де­те боль­ше ин­
7 Ав­то­мон­ти­ро­ва­ние 11 Син­хро­ни­за­цию
сер­ве­ра ка­та­ло­гов фор­ма­ции, чем по­мести­лось бы
здесь. По-мо­ему, пред­ло­жен­ные ва­ми ва­ри­ан­
ты чре­ва­ты про­бле­мой. Вы со­би­рае­тесь по­лу­чать
1 За­щи­та Windows фай­лы в Windows, за­тем за­гру­жать­ся в Linux

В
Я часто по­се­щаю стра­ну, где для ком­пь­ для их про­вер­ки, а за­тем сно­ва пе­ре­за­гру­жать­ся
ю­тер­ных ви­ру­сов дом род­ной, и по ра­бо­ в Windows и поль­зо­вать­ся ими. Но ес­ли Вы за­бу­де­
те дол­жен принимать фай­лы от ме­ст­ных те о пе­ре­за­груз­ке/про­вер­ке/вто­рой пе­ре­за­груз­ке, За­пус­кай­те Windows в вир­ту­аль­ной ма­ши­не,
спе­циа­ли­стов, неред­ко — за­ра­жен­ные. По тре­бо­ доста­точ­но от­крыть один пло­хой файл, и Ваш ком­ а час­тые «сним­ки» за­щи­тят вас от ви­ру­сов.
ванию мое­го ра­бо­то­да­те­ля, я во­ж у с со­бой но­у т- пь­ю­тер опять за­ра­зит­ся. За­пускать Linux из вир­т у­
­бук с Windows XP, где по­став­ле­но ре­г у­ляр­но об­ аль­ной ма­ши­ны мож­но, но тогда, что­бы сканер мог чать фай­лы, ра­бо­тая в Linux с ак­тив­ным ан­ти­ви­
нов­ляе­мое ан­ти­ви­русное ПО. И все-та­ки мой ком­ об­на­ру­жить ви­рус, Вам по­тре­бу­ет­ся пре­доста­вить русным сканером, и пе­ре­да­вать их в вир­т у­а ль­ную
пь­ю­тер не раз ин­фи­ци­ро­вал­ся. Те­перь во вре­мя в об­щий доступ че­рез Samba весь Ваш Windows- ма­ши­ну Windows толь­ко по­сле про­вер­ки. Кро­ме
прие­ма фай­лов я хо­чу за­пускать Linux (в систе­ раз­дел. А при этом возник­нут про­бле­мы уже то­го, Вы бу­де­те иметь до­полнитель­ную стра­хов­к у
ме с двой­ной за­груз­кой, с по­мо­щью вир­т уа­ли­за­ с безо­пас­но­стью. на тот слу­чай, ес­ли ин­фи­ци­ро­ван­ный файл все же
ции, с но­си­те­ля флэш-USB, или ка­ким-ли­бо дру­ По­сколь­к у для Ва­шей ра­бо­ты необ­хо­ди­ма ����
Win­ про­со­чит­ся. Про­грам­мы вир­т уа­ли­за­ции на­по­до­
гим спо­со­бом). По­мо­жет ли мне это из­бе­жать dows, я пред­ло­жил бы за­пускать в вир­т у­а ль­ной бие VMWare Workstation и VirtualBox уме­ют соз­да­
за­ра­жения? ма­шине, на­обо­рот, Windows, а Linux ис­поль­зо­вать вать «мо­мен­таль­ные сним­ки» [snapshots] те­к у­ще­
Джон Сор­кин [John Sorkin] как хост-систе­му. В этом слу­чае Вы бу­де­те по­лу­ го со­стояния вир­т у­а ль­ной ма­ши­ны. Ес­ли де­лать
это ре­г у­ляр­но, то в слу­чае проник­но­вения ви­ру­
са (а в ре­а ль­но­сти та­кие шан­сы есть) для пре­одо­
Наши эксперты ления по­след­ствий за­ра­жения доста­точ­но бу­дет
про­сто от­ка­тить вир­т у­а ль­ную ма­ши­ну к пре­ды­ду­
Мы найдем ответы на любой вопрос — от проблем с установкой системы или модемом до сетевого ще­му сним­к у. При этом Вы по­те­ряе­те фай­лы, со­
администрирования; главное — спросить! хранен­ные по­сле соз­дания по­следнего «мо­мен­
таль­но­го сним­ка», но ес­ли для по­лу­чения фай­лов,
Нейл Ботвик Майк Сондерс чтения элек­трон­ной поч­ты и вы­полнения дру­гих
Владелец ISP и экс-редактор дисков Майк был одним из создателей
для нашего журнала, Нейл считает, прототипа LXF – Linux Answers. по­все­днев­ных за­дач Вы поль­зуе­тесь ди­ст­ри­бу­ти­
что в Linux он от скуки на все руки. Его специальности – программи­ вом Linux, Ва­ши тру­ды по­стра­дать не долж­ны.
рование, оконные менеджеры, В VirtualBox Вам при­дет­ся соз­да­вать сним­
скрипты инициализации и SNES.
ки вруч­ную – но для это­го доста­точ­но про­сто
не за­бы­вать ре­г у­ляр­но на­жи­мать кноп­к у, вы­пол­
Пол Хадсон Грэм Моррисон няю­щ ую дан­ную опе­ра­цию. VMWare Workstation
Пол – местный супер-программист, Когда Грэм не обозревает кучи
и он может и хочет управиться программного обеспечения мо­жет де­лать «мо­мен­таль­ный снимок» по­сле ка­
со всеми вашими проблемами и не халтурит с MythTV, он готов ж­дой оста­нов­ки вир­т у­а ль­ной ма­ши­ны, соз­да­вая
по части web и баз данных. к ответам насчет любого оборудо­ ре­зерв­ные ко­пии еже­днев­но или да­же ча­ще. «Мо­
вания и проблем виртуализации.
мен­таль­ные сним­ки» ко­пи­ру­ют толь­ко те дан­ные,
ко­то­рые из­менились с мо­мен­та соз­дания пре­ды­
Ев­ге­ний Кре­ст­ни­ков Алек­сандр Ка­зан­цев ду­щей ко­пии, и не осо­бен­но по­гло­ща­ют диско­вое
10 лет ра­бо­тал сис­тем­ным ад­ми­ни­ Раз­ра­бот­чик Mandriva
ст­ра­то­ром. Он по­мо­жет вам ра­зо­ с ра­до­стью по­мо­жет вам про­стран­ство. НБ
брать­ся с не­три­ви­а ль­ны­ми во­про­са­ми ре­шить про­бле­мы с этим
на­строй­ки Linux, а так­же со встраи­ ди­ст­ри­бу­ти­вом. 2 Некон­такт­ная Fedora

В
вае­мы­ми сис­те­ма­ми.
Я пен­сионер, и на до­су­ге до­воль­но мно­
го экс­пе­ри­мен­ти­рую с раз­ны­ми ди­ст­
ри­бу­ти­ва­ми Linux. Недав­но я уста­но­вил
Куда посылать вопросы Puppy Linux, Ubuntu 9.10, Linux Mint 8 и Debian.
Пишите нам по адресу: answers@linuxformat.ru или спрашивайте на форуме: www.linuxformat.ru А вот Fedora 12 толь­ко что уда­лил.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
88      LXF132 Июнь 2010
 Ответы

Что­бы по­лу­чать доступ и об­нов­лять мои фай­ Ваш до­машний ка­та­лог, по­это­му де­лать это нуж­
лы с лю­бо­го из ис­поль­зуе­мых ди­ст­ри­бу­ти­вов, но от имени root.
я соз­дал для них спе­ци­аль­ный ка­та­лог на от­дель­ Ес­ли Вы вы­пол­няе­те ко­пи­ро­вание на же­ст­кий
ном раз­де­ле. Когда я пер­вый раз на­чи­наю поль­ диск, от­фор­ма­ти­ро­ван­ный под фай­ло­вую систе­му
зо­вать­ся лю­бым из ди­ст­ри­бу­ти­вов, я соз­даю ди­ Windows, восполь­зуй­тесь коман­дой tar, что­бы со­
рек­то­рию /home/graham/Mydata и по­ме­щаю в fstab хранить ат­ри­бу­ты фай­лов.
сле­дую­щую запись: cd /home
/dev/sda1 /home/graham/Mydata ext3 user,exec 0 0 sudo tar czf /media/disk/home.tar.gz .
за­тем вруч­ную мон­ти­рую /dev/sda1 и за­пус­каю Она ско­пи­ру­ет все со­дер­жи­мое Ва­ше­го раз­де­ла
ко­ман­ду: /home, сжав его с по­мо­щью gzip, в файл home.tar.
chown -R graham /home/graham/Mydata gz на Ва­шем внешнем же­ст­ком диске, при­мон­ти­
При ка­ж­дой за­груз­ке лю­бо­го из ди­ст­ри­бу­ти­ ро­ван­ном к /media/disk. Точ­ка (.) в кон­це коман­ды
вов раз­дел с дан­ны­ми мон­ти­ру­ет­ся ав­то­ма­ти­че­ GParted мо­жет из­ме­нить раз­ме­ры кор­не­во­го да­ет коман­де tar ука­зание ар­хи­ви­ро­вать те­к у­щий
ски, и все фай­лы, в том чис­ле и поч­то­вые со­об­ раз­де­ла, вы­сво­бо­див ме­сто для но­во­го /home. ка­та­лог, /home. Сжа­тие часто уско­ря­ет про­цесс ко­
щения Thunderbird, для ко­то­рых я от­ре­дак­ти­ро­вал пи­ро­вания, по­то­му что при этом че­рез ши­ну USB
profiles.ini, ока­зы­ва­ют­ся доступ­ны­ми, в том чис­ле Вас и usermod. Но луч­ше пе­ре­бдеть, чем недо­- пе­ре­да­ет­ся мень­ше дан­ных. Ес­ли у Вас мед­лен­
и для из­менения. б­деть. Кста­ти, ин­фор­ма­цию о том, ка­кой UID Вам ный ком­пь­ю­тер, мо­же­те про­пустить шаг со сжа­ти­
Эта систе­ма ра­бо­та­ет хо­ро­шо со все­ми ди­ст­ вы­де­лен, мож­но уви­деть в фай­ле /etc/passwd, ем, скоман­до­вав
ри­бу­ти­ва­ми, ко­то­рые бы я ни по­про­бо­вал — кро­ме по коман­де tar cf /media/disk/home.tar .
Fedora. При за­пуске Fedora, сто­ит мне смон­ти­ро­ grep graham /etc/passwd Ко­гда Ва­ши дан­ные ско­пи­ру­ют­ся, мож­но бу­дет
вать свой раз­дел дан­ных, Fedora ме­ня­ет вла­дель­ Чи­сло­вые иден­ти­фи­ка­то­ры поль­зо­ва­те­лей и групп уда­лить со­дер­жи­мое /home, но ос­та­вить сам ка­та­
ца мо­их фай­лов или на 500, или на 1000 (я и знать со­дер­жат­ся в треть­ем и чет­вер­том по­лях. Бо­ лог, а за­тем вос­поль­зо­вать­ся ко­ман­дой df, что­бы
не знаю, что это за 500 или 1000). лее про­стой ва­ри­ант – че­рез коман­д у id. За­пуск по­смот­реть, сколь­ко про­стран­ст­ва те­перь за­ни­ма­
В ре­зуль­та­те, когда я пы­та­юсь по­лу­чить до- ее без ар­г у­мен­тов ото­бра­зит ин­фор­ма­цию о те­ ет Ваш кор­не­вой раз­дел:
ступ к фай­лам дан­ных из дру­го­го ди­ст­ри­бу­ти­ ку­щем поль­зо­ва­те­ле. Ес­ли в ка­че­стве па­ра­мет­ра df -h /
ва, ока­зы­ва­ет­ся, что у ме­ня нет нуж­ных прав. Мне ука­зать имя поль­зо­ва­те­ля, коман­да вы­ве­дет под­ Это под­ска­жет вам тре­буе­мый раз­мер корнево­го
при­хо­дит­ся из­ме­нять их вруч­ную. Я по­пы­тал­ся роб­ные све­дения о нем. МС раз­де­ла. До­бавь­те 30–50 % к те­к у­ще­му раз­ме­ру,
бло­ки­ро­вать SELinux в Fedora, и это смяг­чи­ло про­ что­бы обес­пе­чить доста­точ­ный объ­ем сво­бод­но­
бле­му, но не ли­к­ви­ди­ро­ва­ло ее пол­но­стью. 3 Дом пе­ре­ез­жа­ет го диско­во­го про­стран­ства «на вы­рост» и из­бе­

В
Грэм Холмс [Graham Holmes] В LXF128, в раз­де­ле «Часто за­да­вае­ жать фраг­мен­та­ции фай­ло­вой систе­мы. Те­перь
мые во­про­сы» этой руб­ри­ки, упо­ми­на­ от­мон­ти­руй­те Ва­шу корневую фай­ло­вую систе­му,

О
Чис­ла 500 и 1000 – это иден­ти­фи­ка­то­ лось соз­дание от­дель­но­го до­машнего ка­ ко­то­рую вы долж­ны бы­ли при­мон­ти­ро­вать, что­бы
ры поль­зо­ва­те­ля [user ID, UID]. Ка­ж ­дый та­ло­га и пре­иму­ще­ства, пре­достав­ляе­мые этим ско­пи­ро­вать от­т у­да фай­лы. За­гру­зи­тесь с Live CD
поль­зо­ва­тель, кро­ме имени [username], ре­шением. Я по­пы­тал­ся по­искать под­роб­ные ин­ст­ и за­пусти­те менед­жер раз­де­лов (Ubuntu ис­поль­зу­
име­ет еще и чи­сло­вой иден­ти­фи­ка­тор. Фай­ло­вые рук­ции о том, как это де­ла­ет­ся, на фо­ру­мах LXF ет GParted), что­бы уста­но­вить но­вый раз­мер кор­
систе­мы хра­нят ин­фор­ма­цию о вла­дель­цах, ис­ и в Google, но безуспеш­но. Ре­зуль­та­ты, вы­да­вае­ невой фай­ло­вой систе­мы, а за­тем соз­дай­те но­вую
поль­зуя эти чис­ла, а систе­ма пре­об­ра­зу­ет чи­сло­ мые Google, уста­ре­ли, и часто со­про­во­ж­да­ют­ся фай­ло­вую систе­му для /home на сво­бод­ном мес­
вые иден­ти­фи­ка­то­ры в име­на на осно­ве ин­фор­ пре­ду­пре­ж­дения­ми. те, ко­то­рое Вы толь­ко что вы­де­ли­ли. Пе­ре­рас­пре­
ма­ции из фай­ла /etc/passwd. UID, мень­шие неко­го Я очень хо­чу соз­дать та­кой ка­та­лог /home за­ де­ление дан­ных по­тре­бу­ет вре­мени, и в его про­
зна­чения, за­ре­зер­ви­ро­ва­ны для систем­ных поль­ ранее, пе­ред вы­хо­дом сле­дую­щей LTS-вер­сии цес­се поль­зо­вать­ся ком­пь­ю­те­ром нель­зя.
зо­ва­те­лей – на­при­мер, сер­ве­ров и дру­гих де­мо­нов; Ubuntu. По­ка я ис­поль­зую Karmic, и хо­тел бы Когда де­ло бу­дет сде­ла­но, пе­ре­за­гру­зи­те ком­
по­это­му поль­зо­ва­те­ли име­ют UID, на­чи­наю­щие­ся на пер­вых по­рах иметь воз­мож­ность ра­бо­тать как пь­ю­тер, что­бы он счи­тал но­вую таб­ли­цу раз­де­
с 500 или 1000, в за­ви­си­мо­сти от на­стро­ек ди­ст­ри­ с Karmic, так и с Lucid, при­чем без необ­хо­ди­мо­сти лов. При­мон­ти­руй­те ку­да-нибудь но­вый раз­дел
бу­ти­ва. Ваш оди­ноч­ный но­вый поль­зо­ва­тель по­лу­ по­сто­ян­но ко­пи­ро­вать дан­ные ту­да и об­рат­но. и ско­пи­руй­те фай­лы об­рат­но с Ва­ше­го внешне­
ча­ет пер­вый доступ­ный но­мер. Для Fedora UID на­ Frustrated, с фо­ру­мов го диска – ли­бо че­рез фай­ло­вый менед­жер, ли­бо
чи­на­ют­ся с 500, а для осталь­ных упо­мя­ну­тых ва­ми рас­па­ко­вав ранее соз­дан­ный ар­хив коман­дой

О
ди­ст­ри­бу­ти­вов – с 1000. Же­ст­ко­го стан­дар­та в дан­ Для Ва­шей за­да­чи име­ет­ся два ре­шения, tar xf /mnt/disk/home.tar.gz -C /mnt/newhome
ном во­про­се нет. 500 бы­ло по­пу­ляр­ной на­чаль­ной в за­ви­си­мо­сти от то­го, есть ли у Вас до­ Оп­ция -C (за­глав­ное) ука­зы­ва­ет tar, ку­да по­местить
точ­кой, но боль­шин­ство ди­ст­ри­бу­ти­вов те­перь ис­ полнитель­ный но­си­тель, ку­да мож­но фай­лы. За ней сле­д у­ет путь, по ко­то­ро­му при­мон­
поль­зу­ют 1000. ско­пи­ро­вать со­дер­жи­мое Ва­ше­го до­машнего ка­ ти­ро­ван но­вый раз­дел. За­к лю­чи­тель­ный шаг – ре­
При ка­ж ­дом за­пуске коман­ды chown Вы пе­ре­ та­ло­га (на­при­мер, внешний же­ст­кий диск). Это дак­ти­ро­вание фай­ла /etc/fstab на Ва­шем корне­
клю­чае­те UID вла­дель­ца с 500 на 1000 и об­рат­но, бо­лее про­стой ва­ри­ант – в про­тив­ном слу­чае Вам вом раз­де­ле. До­бавь­те в него запись для /home:
что не есть хо­ро­шо. Что­бы это пре­сечь, за­мените при­дет­ся «пе­ре­та­со­вать» со­дер­жи­мое Ва­ше­го же­ /dev/sdaN /home ext3 defaults 0 0
чи­сло­вой UID Ва­ше­го поль­зо­ва­те­ля в Fedora, что­ ст­ко­го диска. В обо­их слу­ча­ях по­на­до­бит­ся за­гру­ За­мените sdaN на имя соз­дан­но­го ва­ми раз­де­ла,
бы он со­от­вет­ство­вал UID во всех осталь­ных зить­ся с Live CD – луч­ше все­го Live-вер­сии Ва­ше­го а ext3 – на тип вы­бран­ной ва­ми фай­ло­вой систе­
систе­мах. Это де­ла­ет­ся коман­дой usermod. От име­ те­к у­ще­го ди­ст­ри­бу­ти­ва: так Вам бу­дет про­ще ори­ мы (ес­ли она дру­гая). Те­перь пе­ре­за­гру­зи­те ком­пь­
ни root вве­ди­те сле­дую­щие коман­ды: ен­ти­ро­вать­ся, и она у Вас, на­вер­ное, уже есть. ю­тер без Live CD. Все долж­но бу­дет ра­бо­тать, как
usermod -uid 1000 graham Ваш внешний же­ст­кий диск нуж­но от­фор­ма­ти­ и рань­ше, но уже при от­дель­ном раз­де­ле /home.
chown -R graham: ~graham ро­вать под од­ну из фай­ло­вых систем Linux, в про­ Ес­ли у Вас нет внешнего же­ст­ко­го диска, си­
Пер­вая коман­да из­ме­ня­ет Ваш UID на 1000, а вто­ тив­ном слу­чае Вы по­те­ряе­те ме­та­дан­ные – на­при­ туа­ция немно­го осложнит­ся. Оп­ре­де­ли­те, сколь­
рая уста­нав­ли­ва­ет вла­дель­ца для все­го со­дер­ мер, ин­фор­ма­цию о вла­дель­цах фай­лов и пра­вах ко сво­бод­но­го про­стран­ства Вам по­тре­бу­ет­ся для
жи­мо­го Ва­ше­го до­машнего ка­та­ло­га, вклю­чая досту­па. Когда вин­че­стер бу­дет го­тов, ско­пи­руй­те хранения дан­ных на до­машнем раз­де­ле, коман­дой
Ваш раз­дел с дан­ны­ми, так, что­бы они сов­па­да­ со­дер­жи­мое ка­та­ло­га /home, ис­поль­зуя свой лю­ du -h /home
ли. Коман­да chown не яв­ля­ет­ся аб­со­лют­ной необ­ би­мый фай­ло­вый менед­жер. Об­ра­ти­те внимание, и восполь­зуй­тесь Live CD, что­бы сжать корневой
хо­ди­мо­стью: пра­ва досту­па из­менила бы для что мы ко­пи­ру­ем весь раз­дел /home, а не про­сто раз­дел на ве­ли­чи­ну, чуть боль­шую объ­е­ма сво­

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      89
Ответы 

бод­но­го про­стран­ства, ко­то­рый Вы толь­ко что SystemRescueCD (сайт http://www.


оп­ре­де­ли­ли, и соз­дать вре­мен­ный раз­дел в кон­ sysresccd.org). За­гру­зи­тесь с Live CD
це диска. и вве­ди­те memtest в команд­ной стро­
Этот но­вый раз­дел по­слу­жит Вам вме­сто ке за­груз­чи­ка. Memetest86 – са­мо­
внеш­него же­ст­ко­го диска в вы­ше­опи­сан­ных ин­ стоя­тель­ная про­грам­ма, и ее нель­
ст­рук­ци­ях. Когда Вы соз­да­ди­те но­вый раз­дел зя за­пустить из-под ра­бо­таю­щей
/home, он дол­жен рас­по­ла­гать­ся на диско­вом ОС. Пусть она про­ра­бо­та­ет как мож­
про­стран­стве, смеж­ным с вре­мен­ным раз­де­лом. но доль­ше, как минимум два пол­
По­кон­чив с на­строй­кой и убе­див­шись в том, что ных цик­ла. Еще луч­ше за­пустить тест
все ра­бо­та­ет пра­виль­но, Вы смо­же­те сно­ва за­гру­ на всю ночь, по­то­му что ошиб­ки па­
зить­ся с по­мо­щью Live CD, уда­лить вре­мен­ный мя­ти бы­ва­ют неста­цио­нар­ны­ми (это
раз­дел, а осво­бо­див­шее­ся про­стран­ство вы­де­ од­на из при­чин слу­чай­ной при­ро­ды Пусть memtest86 про­ра­бо­та­ет как мож­но доль­ше, что­бы вы­
лить раз­де­лу /home. сбо­ев). явить воз­мож­ные при­чи­ны за­га­доч­ных сбо­ев.
Од­на­ко будь­те на­сто­ро­же: при ра­бо­те с фай­ло­
вы­ми систе­ма­ми все­гда су­ще­ству­ет риск слу­чай­но 5 Сер­ти­фи­ка­ция LPI Я бы на­стоя­тель­но ре­ко­мен­до­вал пер­вым де­

В
от­фор­ма­ти­ро­вать не тот раз­дел, или что в мо­мент По­следние че­ты­ре го­да я ра­бо­таю с ��� Li- лом об­за­вестись книгой O’Reilly, что­бы по­нять, ка­
пе­ре­да­чи дан­ных про­изой­дет сбой пи­тания. НБ nux, в на­стоя­щий мо­мент — Slackware. Я хо­ кой уро­вень тре­бу­ет­ся, и оценить соб­ствен­ный. За­
тел бы сдать эк­за­ме­ны LPI���������������
������������������
(�������������
Linux��������
Profes-
������� тем мож­но бу­дет при­нять обосно­ван­ное ре­шение
4 Слу­чай­ные сбои sional Institute), но не знаю, где искать. Эк­за­мен о том, как «под­тя­нуть» свои знания. На­конец, за­

В
В мо­ем Ubuntu про­ис­хо­дят слу­чай­ные сбои, дол­жен сда­вать­ся он­лайн или в ка­ком-нибудь кол­ гляните в LXF110 на wiki.linuxformat.ru – там есть
не свя­зан­ные ни с ка­ким кон­крет­ным при­ лед­же? Я про­смот­рел кое-ка­к ую до­к у­мен­та­цию ста­тья «Стать ди­пло­ми­ро­ван­ным Linux-гу­ру»
ло­жением. В вер­сии 8.04 про­блем не бы­ло, в Ин­тернете, но не уве­рен, ко­то­рый путь луч­ше. с ин­фор­ма­ци­ей и об эк­за­ме­нах LPI, и о мно­гом
в 9.04 сбои слу­ча­лись иногда, а в 9.10 они за­части­ Не под­ска­же­те ли вы мне, ка­кой ва­ри­ант бу­дет дру­гом.
ли, как в ста­рые до­б­рые вре­ме­на Windows. Моя наи­луч­шим, и где сда­вать эк­за­мен? Бу­ду бла­го­да­ Дру­гим «ви­новником» слу­чай­ных сбо­ев мо­
ма­те­рин­ская пла­та — Intel D845GLVA с про­цес­со­ рен за лю­бой со­вет. жет быть блок пи­тания, осо­бен­но ес­ли у Вас де­
ром Celeron 2,40 ГГц, i686. ОЗУ — 512 MБ, с воз­ Пит Клоу [Pete Clough] ше­вая мо­дель от бе­зы­мян­но­го из­го­то­ви­те­ля.
мож­но­стью рас­ши­рения до 2 ГБ. По­доз­ре­ваю, что Неста­биль­ность на­пря­жения, по­д а­вае­мо­го на Ва­

О
в по­следних ре­ли­зах Ubuntu есть ошиб­ки управ­ Вы хо­ти­те про­слу­шать про­фес­сио­наль­ шу систе­му, мо­жет не толь­ко при­во­дить к слу­чай­
ления па­мя­тью — а мо­жет, в по­следних вер­си­ях яд­ ный учеб­ный курс, по­лу­чить ин­фор­ ным сбо­ям, но и со­кра­тить срок служ­бы осталь­
ра. Не под­ска­же­те ли вы, в чем де­ло? ма­цию о том, где в се­ти мож­но най­ти но­го обо­ру­до­вания. Про­с то­го спо­со­ба про­ве­рить
Эд Кле­ри [Ed Clary] спра­воч­ные ма­те­риа­лы или про­сто уз­нать, где про­ ра­бо­т у бло­ка пи­тания, не при­бе­гая к его за­мене,
хо­дить тести­ро­вание? Про­фес­сио­наль­ные учеб­ные нет. Но мож­но на­пра­вить на вен­ти­ля­ци­он­ные от­

О
Вы не со­об­щи­ли, про­дол­жа­ют ли нор­ кур­сы пре­достав­ля­ют мно­гие ком­пании. Най­ди­те вер­с тия струю сжа­то­го воз­д у­ха из бал­лон­чи­ка,
маль­но ра­бо­тать ре­ли­зы 8.04 и 9.04 (ес­ бли­жай­шую к се­бе, по­ша­рив в Web, или зай­ди­те что­бы про­ве­рить, не на­рос ли на нем слой пы­ли.
ли пред­по­ло­жить, что Вы их со­хранили) на сайт LPI (http://www.lpi.org) и про­смот­ри­те спи­ Ес­ли у Вас есть еще один ком­пь­ю­тер, мож­
и ра­бо­та­ют ли на этом ком­пь­ю­те­ре дру­гие ди­ст­ сок офи­ци­а ль­ных партнеров по обу­чению. Кро­ме но по­про­бо­вать взять блок пи­тания от него.
ри­бу­ти­вы Linux или дру­гие ОС. Но все рав­но, ска­ то­го, оз­на­комь­тесь с учеб­ны­ми пла­на­ми и це­на­ми; В про­тив­ном слу­чае, для про­вер­ки останет­ся
зан­ное ва­ми на­во­дит на мысль об ап­па­рат­ной про­ при­кинь­те, сколь­ко с Вас вы­чтут, ес­ли Вы не сда­ толь­ко за­ме­на на но­вый блок. По­это­му я и ука­
бле­ме. Когда крах систе­мы возника­ет слу­чай­ным ди­те эк­за­мен с пер­во­го раза и по­тре­бу­ет­ся до­ зал дан­ный ва­ри­ант по­с ледним, хо­тя и не счи­
об­ра­зом и не вы­гля­дит свя­зан­ным с ка­ким-то кон­ полнитель­ное обу­чение для по­втор­ной по­пыт­ки; таю, что блок пи­тания – наи­менее ве­ро­ят­ная при­
крет­ным ПО, то по­доз­рение па­да­ет, в пер­вую оче­ и тогда принимай­те окон­ча­тель­ное ре­шение. чи­на сбо­ев. ГМ
редь, на обо­ру­до­вание, осо­бен­но ес­ли про­бле­ма Ес­ли Вы на­ме­ре­ны за­нять­ся са­мо­об­ра­зо­
со вре­менем усу­г уб­ля­ет­ся, как у Вас. Име­ют ли Ва­ ванием, ре­ко­мен­д ую книгу из­да­тель­ства O’Reilly 6 Пор­ты приписки

В
ши сбои ме­ж ­ду со­бой нечто об­щее – ска­жем, все «LPI Linux Certification in a Nutshell [Крат­кое опи­ В LXF128 я, как все­гда, с удо­воль­стви­
они про­ис­хо­д ят при за­пуске при­ло­жений, ин­тен­ сание сер­ти­фи­ка­ции LPI]», с под­за­го­лов­ком ем про­чел руб­ри­к у «По ре­цеп­там док­то­
сив­но по­треб­ляю­щих ре­сур­сы про­цес­со­ра? «A Desktop Quick Reference [Бы­ст­рый спра­вочник ра Брау­на», и там бы­ло ска­за­но то, о чем
Три основ­ные при­чи­ны ап­па­рат­ных сбо­ев – по на­столь­ной систе­ме]». Оба на­звания не со­всем я не по­доз­ре­вал — а имен­но, что ис­хо­дя­щий IP име­
пе­ре­грев, пи­тание и па­мять. Для на­ча­ла вскрой­ вер­ны, по­то­му что, пре­ж ­де чем брать­ся за чтение, ет слу­чай­ный но­мер пор­та. По­че­му это так? Я имею
те кор­пус Ва­ше­го ком­пь­ю­те­ра и про­верь­те, все ли при­дет­ся по­трениро­вать­ся еще и в тя­же­лой ат­ в ви­ду — неза­ви­си­мо от NAT?
вен­ти­ля­то­ры ра­бо­та­ют, вклю­чая вен­ти­ля­тор бло­ ле­ти­ке – в книге око­ло 1000 страниц. Мы вы­со­ко Дж. Г. Оу­эн [JG Owen]
ка пи­тания. За­тем по­смот­ри­те, не бло­ки­ру­ет ли ценим ее – она рас­ска­зы­ва­ет о ка­ж ­дом из мо­д у­

О
ка­кая-ли­бо де­таль воз­д уш­ный по­ток. Не ну­ж ­да­ лей и опи­сы­ва­ет все, что нуж­но знать. Кро­ме то­го, Что­бы уста­но­вить со­единение, про­грам­
ют­ся ли в чи­ст­ке реб­ра ра­диа­то­ра? Для это­го Вам в ней при­ве­де­ны при­ме­ры тесто­вых во­про­сов, ил­ ма долж­на ис­поль­зо­вать сво­бод­ный
очень при­го­дит­ся бал­лон­чик со сжа­тым воз­ лю­ст­ри­рую­щие ха­рак­тер эк­за­ме­на. порт. Ес­ли Вы по­сы­лае­те за­прос web-
ду­хом. По­ка кор­пус от­крыт, за­од­но про­верь­те, Эк­за­ме­ны принима­ют­ся в ря­де цен­тров тести­ страницы на порт 80, и при этом у Вас ра­бо­та­ет еще
пра­виль­но ли уста­нов­ле­ны в сло­тах кар­ты PCI ро­вания. На сай­те LPI есть вся ин­фор­ма­ция по и web-сер­вер, то две про­грам­мы бу­дет про­слу­ши­
или VGA. Ес­ли их из­влечь и сно­ва уста­но­вить, по­иску цен­тра сер­ти­фи­ка­ции и запи­си на эк­за­ вать один и тот же порт. Для это­го да­же не на­до за­
Вы не толь­ко убе­ди­тесь, что кар­ты уста­нов­ле­ны ме­ны. LPI при­во­дит и при­мер­ные це­ны за эк­за­ пускать web-сер­вер – доста­точ­но про­сто от­крыть
пра­виль­но, но за­од­но и по­чисти­те кон­так­ты. мен – обыч­но это ме­ст­ный эк­ви­ва­лент сум­мы два брау­зе­ра.
Про­ве­рить па­мять неслож­но, но это тре­бу­ет в $160. По­это­му осте­ре­гай­тесь ор­ганиза­ций, ко­то­ По­это­му про­грам­ма вы­би­ра­ет порт, ко­то­рый
вре­мени. Боль­шин­ство ди­ст­ри­бу­ти­вов на Live CD рые за­пра­ши­ва­ют за один только эк­за­мен сум­мы, на дан­ный мо­мент не ис­поль­зу­ет­ся, и от­сы­ла­ет
име­ют оп­цию, по­зво­ляю­щую за­пускать про­грам­мы су­ще­ствен­но пре­вы­шаю­щие на­зван­ную. Но ес­ свой за­прос на ука­зан­ный порт сер­ве­ра (для HTTP
тести­ро­вания па­мя­ти memtest86 или memtest86+. ли Вам пред­ла­га­ет­ся не толь­ко сда­ча эк­за­ме­на, это бу­дет порт 80). Так как за­прос вклю­ча­ет и IP-
Ес­ли у Вас еще нет под ру­кой ни од­но­го та­ко­ но и обу­чение, осо­бен­но ин­тен­сив­ный курс, пла­ ад­рес, и порт для от­ве­тов, сер­вер точ­но зна­ет, ку­
го ди­ст­ри­бу­ти­ва, то хо­ро­шим вы­бо­ром бу­дет тить при­дет­ся мно­го боль­ше. да сле­д у­ет от­прав­лять дан­ные.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
90      LXF132 Июнь 2010
 Ответы

О
При­чи­на ис­поль­зо­вания пор­тов с вы­со­ки­ то при­чи­на в том, что Ваш ди­ст­ри­бу­тив боль­ше Ошиб­ка Grub 21 оз­на­ча­ет «Selected disk
ми но­ме­ра­ми в том, что пор­ты с но­ме­ра­ми ни­ не под­дер­жи­ва­ет не ре­ко­мен­д уе­мую к упот­реб­ does not exist [Вы­бран­ный диск не су­ще­
же 1024 при­сваи­ва­ют­ся кон­крет­ным про­то­ко­лам лению фай­ло­вую систе­му smbfs, вме­сто ко­то­рой ству­ет]». Уста­нов­щик Ubuntu запи­сал ка­
и мо­г ут быть от­кры­ты толь­ко с ис­поль­зо­ванием сле­ду­ет ис­поль­зо­вать cifs. та­лог Grub на Ваш внешний диск, а за­гру­зоч­ный
при­ви­ле­гий root. Эта ме­ра пред­при­ня­та для уси­ В про­тив­ном слу­чае, неуда­ча с мон­ти­ро­ванием код – в MBR (Master Boot Record) на внут­реннем
ления безо­пас­но­сти, что­бы за­труднить за­хват пор­ мо­жет вы­звать­ся ис­поль­зо­ванием IP-ад­ре­са сер­ же­ст­ком диске. А Вам на­до, что­бы на внут­реннем
тов и пе­ре­хват тра­фи­ка для шпи­он­ско­го ПО. ПХ ве­ра вме­сто его имени ��������������������������
netbios�������������������
. Со­вме­ст­ный до­ же­ст­ком диске был весь за­гру­зоч­ный код – тогда
ступ к фай­лам в се­ти Windows осно­ван на име­нах, систе­ма не станет искать его на внешнем диске,
7 Samba уп­ря­мит­ся ко­то­рые не обя­за­тель­но сов­па­да­ют с именем кро­ме тех слу­ча­ев, когда Вы вы­бе­ре­те Ubuntu

В
Мне никак не ре­шить про­бле­му на но­вом Ва­ше­го хоста Linux. Имя netbios по­ка­за­но в пер- из за­гру­зоч­но­го ме­ню. Сде­лать это мож­но, соз­
офис­ном ком­пь­ю­те­ре с Mandriva Linux ­вом столб­це в се­те­вом ок­ру­жении (Network дав кон­фи­г у­ра­цию, в ко­то­рой за­груз­чик Windows
2010.0. Я — один из шести поль­зо­ва­те­ Neighborhood) в Smb4k. бу­дет вы­зы­вать Grub. Аль­тер­на­ти­ва – пе­ре­местить
лей LAN. На дан­ный мо­мент я дол­жен за­гру­ За­ме­ни­те стро­к у в фай­ле /etc/fstab на та­к ую: все фай­лы, нуж­ные Grub, на внут­ренний диск.
жать­ся и вруч­ную мон­ти­ро­вать се­те­вые ре­сур­ //ИМЯ_СЕРВЕРА/linux /home/uid/sharename По­следний ва­ри­ант про­ще в осу­ще­ств­лении.
сы на сер­ве­ре, но во­об­ще-то ис­поль­зую за­к лад­к у cifs credentials=/root/.smbcredentials… Grub уме­ет ра­бо­тать с боль­шин­ством фай­ло­вых
с Smb4k — так бы­ст­рее. Я хо­чу, что­бы се­те­вой ре­ и из­мените пра­ва досту­па для фай­ла c ре­ги­ст­ систем – за одним, но вы­даю­щим­ся исклю­чением:
сурс мон­ти­ро­вал­ся ав­то­ма­ти­че­ски во вре­мя за­ ра­ци­он­ной ин­фор­ма­ци­ей на 600 (это не дол­жен NTFS. Это зна­чит, что код Grub нель­зя пе­ре­местить
груз­ки. Я по­местил в /root/.smbcredential коман­ды быть ис­пол­няе­мый файл). Те­перь по­про­буй­те на Ваш основ­ной раз­дел Windows. Вме­сто это­го
username=мое_имя_поль­зо­ва­те­ля при­мон­ти­ро­вать ре­сурс че­рез тер­ми­нал. Ес­ли Вам нуж­но немно­го сжать Ваш основ­ной раз­дел
password=мой_па­роль и это не сра­бо­та­ет, и Вы не по­лу­чи­те бо­лее ника­ Windows (С:), что­бы соз­дать еще один неболь­шой
и ус­та­но­вил пра­ва дос­т у­па в 0700. Кро­ме то­го, ких по­лез­ных со­об­щений об ошиб­ках, про­смот­ри­ раз­дел и от­фор­ма­ти­ро­вать его под FAT (мож­но ис­
я при­пи­сал к /etc/fstab сле­дую­щую стро­к у: те фай­лы жур­на­лов на сер­ве­ре, что­бы про­ве­рить, поль­зо­вать и фай­ло­вую систе­му Linux, но бла­го­да­
//192/168/0/1/linux /home/uid/sharename по­лу­ча­ет ли он за­прос на мон­ти­ро­вание ре­сур­сов ря FAT раз­дел бу­дет досту­пен и из-под Windows).
smbfs credential=/root/. и по­зво­ля­ет ли он сде­лать это. МС Сде­лать это мож­но и с по­мо­щью про­грам­
smbcredentials,dmaskw7,fmaskw7 0 0 мы на­по­до­бие PartitionMagic из-под Windows, или
Я пред­по­ла­гал, что URL — это ста­ти­че­ский ад­рес 8 От­каз двой­ной за­груз­ки восполь­зо­вать­ся Partition Editor под Ubuntu (это

В
сер­ве­ра, что мой раз­де­ляе­мый ре­сурс бу­дет за­ Недав­но я при­об­рел LXFS19 Get Started With безо­паснее). Ес­ли оп­ции Partition Editor нет в ме­
менен на /linux, и что /home/uid/sharename — точ­ Ubuntu. Я вы­де­лил весь внешний диск USB ню Administration [Ад­минист­ри­ро­вание], уста­но­
ка мон­ти­ро­вания. для Ubuntu, с тем, что­бы не тро­гать имев­ ви­те GParted че­рез Synaptic. Раз­дел, ко­то­рый Вам
Алан Се­кер [Alan Secker] ший­ся на ПК раз­дел Windows Vista (по крайней ме­ нуж­но соз­дать, дол­жен быть неболь­шим – 3 MБ
ре, так это вы­гля­де­ло). Моя про­бле­ма в том, что на него бо­лее чем доста­точ­но. Соз­дай­те раз­дел,

О
Под­роб­но опи­сав все, что сде­ла­ли Вы те­перь я не мо­г у за­гру­зить Vista (ошиб­ка Grub 21), от­фор­ма­ти­руй­те его, и он поя­вит­ся в ме­ню Places
са­ми, Вы не ска­за­ли, что про­ис­хо­дит при не под­к лю­чив мой внешний диск USB, по­сле че­го [Пе­ре­хо­ды] (ес­ли это­го не про­изой­дет, по­тре­бу­ет­
по­пыт­ке при­мон­ти­ро­вать се­те­вой ре­ я по­лу­чаю вы­бор за­груз­ки ли­бо Ubuntu, ли­бо Vista. ся пе­ре­за­гру­зить­ся).
сурс. От име­ни root ско­ман­дуй­те Это пре­про­тив­ная си­т уа­ция, по­то­му что при­хо­ При­мон­ти­руй­те этот раз­дел, а за­тем че­
mount /home/uid/sharename дит­ся до­жи­дать­ся по­яв­ления ме­ню двой­ной за­ рез тер­ми­нал ско­пи­руй­те ту­да нуж­ные фай­лы,
– ли­бо под­мон­ти­ру­ет­ся се­те­вой ре­сурс, ли­бо вы­ груз­ки, что­бы за­гру­зить Vista. А ина­че по умол­ коман­да­ми
ве­дет­ся со­об­ще­ние об ошиб­ке, ко­то­рое и по­слу­ чанию за­гру­жа­ет­ся Ubuntu. Кро­ме то­го, ме­ня sudo mkdir /media/disk/boot
жит клю­чом к по­ис­к у при­чи­ны про­бле­мы. Ес­ли со­ бес­по­ко­ит, что ес­ли что-то слу­чит­ся с внешним sudo cp -a /boot/grub /media/disk/boot
об­ще­ние бу­дет вы­гля­деть как диском, я не смо­г у за­гру­жать не толь­ко Ubuntu, Они соз­да­д ут за­гру­зоч­ный ка­та­лог на но­вом раз­
‘mount: wrong fs type, bad option, bad superblock но и Vista. де­ле (здесь пред­по­ла­га­ет­ся, что он при­мон­ти­ро­
on //192.168.0.1/linux’ Барт Вер­ду­чи [Bart Verduci] ван как /media/disk) и ко­пи­ру­ют ту­да со­дер­жи­мое

Часто задаваемые вопросы

Мо­биль­ная ши­ро­ко­по­лос­ная связь /dev/ttyUSB0. По­сколь­к у он ис­поль­зу­


ет для ау­тен­ти­фи­ка­ции SIM-кар­т у, в ка­
че­с тве вход­но­го имени и па­ро­ля мож­но
Что та­кое мо­биль­ная ши­ро­ко­по­лосная но ее ско­рость доста­точ­на для за­дач ти­ А сколь­ко все это бу­дет сто­ить? ука­зы­вать что угод­но (хо­тя ПО и пред­
связь, про ко­то­рую все бол­та­ют? Это па чтения элек­трон­ной поч­ты или про­ Как и в боль­шин­стве по­доб­ных слу­ча­ по­ла­га­ет, что вы долж­ны вве­с ти эти
раз­но­вид­ность ADSL по­верх со­единения смот­ра ви­део на YouTube. Про­вай­де­ры ев, це­на за­ви­сит от про­вай­де­ра, про­дол­ дан­ные).
че­рез мо­биль­ный те­ле­фон? на­пе­ре­бой пред­ла­га­ют вся­кие ско­ро­сти, жи­тель­но­сти со­единения и объ­е­ма пе­ре­­-
Вро­де это­го. Она ис­поль­зу­ет мо­биль­ но ре­а ль­но они за­ви­сят от мощ­но­сти сиг­ да­вае­мых дан­ных. Кое-кто пред­ла­га­ет Име­ет ли зна­чение ис­поль­зуе­мый
ную те­ле­фон­ную сеть 3G, но тех­но­ло­гия на­ла и со­пут­ствую­щих фак­то­ров. да­же без­ли­мит­ные та­ри­фы или па- дистрибутив?
ее ра­бо­ты – не ADSL, а HSPA (High Speed ­ке­ты тра­фи­ка. Стан­д арт­ные на­с трой­ки PPP долж­ны ра­
Packet Access), раз­ра­бо­тан­ная спе­ци­а ль­ Что мне нуж­но, что­бы по­лу­чить бо­тать с лю­бым ди­с т­ри­бу­ти­вом. Ди­с т­ри­
но для мо­биль­но­го при­менения. Она ис­ мо­биль­ную ши­ро­ко­по­лосную связь? Хо­ро­шо ли мо­биль­ная ши­ро­ко­- бу­ти­вы, при­ме­няю­щие Network Manager,
поль­зу­ет­ся смарт­фо­на­ми, ко­то­рым тре­ Ши­ро­ко­по­лосный мо­дем и учет­ная запись по­лосная связь ла­дит с Linux? име­ют пре­иму­ще­с тво, по­сколь­к у он те­
бу­ет­ся по­сто­ян­ное (или, как минимум, в од­ной из ком­паний, занимаю­щих­ся ши­ В на­с тоя­щее вре­мя – очень хо­ро­шо. По­ перь обес­пе­чи­ва­ет под­держ­к у 3G-мо­де­
частое) под­к лю­чение к Ин­тернету. ро­ко­по­лосны­ми мо­биль­ны­ми ком­муника­ хо­же, все ком­пании пре­достав­ля­ют мо­ мов. В та­ком ди­с т­ри­бу­ти­ве при пер­вом
ция­ми. Боль­шин­ство из них, кста­ти, мо­ де­мы от од­но­го и то­го же про­из­во­ди­те­ под­к лю­чении мо­де­ма мо­жет поя­вить­
И это даст мне ско­рость ши­ро­ко­­- дем пре­достав­ля­ют, но мож­но обой­тись ля, Huawei. Этот мо­дем име­ет драй­ве­ры ся ок­но, пред­ла­гаю­щее вы­брать про­
по­лосной свя­зи? и сво­им. Поч­ти все те­ле­ком­муника­ци­он­ для яд­ра Linux, так что он дол­жен «про­ вай­де­ра, по­с ле че­го вся на­с трой­ка
Нет, это не есть ши­ро­ко­по­лосная связь ные ком­пании ис­поль­зу­ют один и тот же сто ра­бо­тать». Вам по­тре­бу­ет­ся на­с тро­ вы­полнит­ся ав­то­ма­ти­че­ски. А затем
в ис­ход­ном смыс­ле это­го сло­ва (как мо­дем, в ви­де USB-брел­ка, тре­бую­щий ить мо­дем для со­единений по ком­му­ для вклю­чения и от­к лю­чения мо­де­ма
и неко­то­рые бо­лее мед­лен­ные со­еди- SIM-кар­ты для ау­тен­ти­фи­ка­ции со­еди- ти­руе­мым ка­на­лам, ис­поль­зуя KPPP вы смо­же­те поль­зо­вать­ся ме­ню Network
нения по на­зем­ным про­вод­ным линиям), нения че­рез ва­шу учет­ную запись. или Gnome-PPP. Мо­дем бу­дет ви­ден как Manager.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      91
Ответы 

ка­та­ло­га /boot/grub из Ubuntu. При ус­ло­вии, что из Ес­ли менед­жер об­нов­лений Ubuntu когда-
Ubuntu Ваш диск Windows ви­ден как sda, а внеш­ нибудь уста­но­вит но­вое яд­ро, бу­дет из­менено и со-
ний диск – как sdb, со­об­щить Grub о но­вом ка­та­ло­ ­дер­жи­мое ка­та­ло­га /boot/grub. Тогда Вам по­тре­бу­
ге, где ис­кать за­гру­зоч­ные фай­лы, мож­но так: ет­ся еще раз ско­пи­ро­вать его на диск Windows. НБ
sudo grub-install /dev/sda
Ес­ли по­ря­док сле­до­ва­ния дис­ков дру­гой, от­к лю­чи­ 9 Нефор­мат

В
те внеш­ний диск, пе­ре­за­гру­зи­тесь с CD, со­дер­жа­ Я был бы очень при­зна­те­лен, ес­ли бы
ще­го ди­ст­ри­бу­тив Ubuntu, и дай­те ту же ко­ман­д у. вы осве­ти­ли на страницах жур­на­ла пра­
Это га­ран­ти­ру­ет, что Grub бу­дет ссы­лать­ся толь­ко виль­ную про­це­ду­ру сбор­ки плей­е­ра Amarok
на фай­лы, на­хо­д я­щие­ся на внут­рен­нем дис­ке. в Ubuntu с под­держ­кой всех ко­де­ков. Его, конеч­но,
Те­перь нуж­но пред­при­нять еще один шаг, по­ мож­но ска­чать из офи­ци­аль­ных источников в ви­де
сколь­к у Grub по-преж­не­му по умол­ча­нию за­гру­ го­то­во­го дво­ич­но­го па­ке­та, но за это при­дет­ся «за­
жа­ет Ubuntu и бу­дет пы­тать­ся это де­лать да­же пла­тить» под­держ­кой AAC. Как по­лу­чить ее? Ис­поль­зо­ва­ние Smb4k для по­ис­ка и под­клю­че­ния
при от­к лю­чен­ном внеш­нем дис­ке. От­крой­те файл Влад се­те­вых ре­сур­сов Windows да­ет ин­фор­ма­цию,
boot/grub/menu.lst на дис­ке Windows и по­смот­ри­ по­зво­ляю­щую мон­ти­ро­вать их ав­то­ма­ти­че­ски.

О
те на стро­к у, со­от­вет­ст­вую­щ ую сис­те­ме по умол­ Бу­дем ис­хо­дить из пред­по­ло­жения, что
ча­нию. Ско­рее все­го, там бу­дет речь идет о доста­точ­но све­жей вер­сии ди­ точ­но по­пы­тать­ся от­крыть файл AAC в Nautilus,
default 0 ст­ри­бу­ти­ва Ubuntu (ин­ст­рук­ции для бо­ и систе­ма са­ма пред­ло­жит ин­стал­ли­ро­вать па­
что уста­нав­ли­ва­ет пер­вую оп­цию ме­ню как ис­ лее ранних вер­сий доступ­ны по ад­ре­су https://help. кет gstreamer0.10‑plugins-bad (для Karmic Koala)
поль­зуе­мую по умол­чанию (ну­ме­ра­ция в Grub на­ ubuntu.com/community/RestrictedFormats). Для из сек­ции universe. По­сле это­го плей­е­ры, ис­поль­
чи­на­ет­ся с 0). Уста­но­ви­те в этой стро­ке 1 вме­сто под­держ­ки боль­шин­ства про­прие­тар­ных фор­ зую­щие GStreamer, по­лу­чат под­держ­к у AAC. Вы же
0, что­бы по умол­чанию вы­би­ра­лась вто­рая оп­ ма­тов сайт Ubuntu ре­ко­мен­д у­ет уста­но­вить ме­та- ис­поль­зуе­те Amarok (к сло­ву, доста­точ­но стран­
ция ме­ню (или ука­жи­те но­мер, со­от­вет­ствую­щий ­па­кет ubuntu-restricted-extras из сек­ции multiverse ный вы­бор для ди­ст­ри­бу­ти­ва на ба­зе Gnome) –
по­зи­ции Windows в ме­ню за­груз­ки). Со­храните основ­но­го ре­по­зи­то­рия. Кро­ме то­го, в сре­де ра­ он не име­ет от­но­шения к GStreamer, и необ­хо­ди­
файл. Те­перь Grub по умол­чанию бу­дет за­гру­жать бо­че­го сто­ла Gnome ди­ст­ри­бу­ти­ва Ubuntu реа­ мый ко­дек при­дет­ся уста­но­вить вруч­ную (в KDE это
Windows. ли­зо­ва­на уста­нов­ка ко­де­ков по за­про­су. Доста­ про­изош­ло бы ав­то­ма­ти­че­ски). Доста­точ­но про­сто
до­ба­вить па­кет libxine1‑ffmpeg из сек­ции main и пе­
ре­за­пустить плей­ер. Сто­ит от­ме­тить, что для под­
Ко­рот­ко про... держ­ки боль­шин­ства про­прие­тар­ных фор­ма­тов
в KDE доста­точ­но уста­но­вить ме­та­па­кет kubuntu-
restricted-extras из сек­ции multiverse. Об­ра­ти­те

По­иск фай­лов внимание, что рас­про­странение дан­ных про­грамм


в ва­шей стране мо­жет быть ог­раниче­но па­тен­та­
ми или за­ко­на­ми. Имен­но по­это­му их не вклю­ча­

В
Linux есть два ос­нов­ных ин­ст­ру­мен­та ют в уста­нов­к у по умол­чанию. ЕК
для по­ис­ка фай­лов: locate и find. Пер­вый
ра­бо­та­ет по прин­ци­пу хра­не­ния ба­зы 10 А как же сво­бо­да сло­ва?

В
дан­ных фай­лов, имею­щих­ся в Ва­шей сис­те­ме. Об­но­вил свою систе­му (Mandriva 2009.1)
Это бы­ст­рый ин­ст­ру­мент, но его воз­мож­но­ до вер­сии 2010.0 (ра­бо­чий стол KDE4)
сти ог­ра­ни­чи­ва­ют­ся толь­ко фай­ла­ми, при­сут­ и вдруг об­на­ру­жил, что не мо­г у уста­но­
ст­во­вав­ши­ми на дис­ке на мо­мент по­след­не­го вить Skype — в спи­ске доступ­ных про­грамм па­ке­та
об­нов­ле­ния ба­зы дан­ных. Боль­шин­ст­во ди­ст­ с та­ким именем нет. Под­ска­жи­те, что де­лать?
ри­бу­ти­вов ус­та­нав­ли­ва­ют скрипт Cron для под­ Ви­та­ля Це­гень­ко
дер­жа­ния ба­зы дан­ных в ак­т у­а ль­ном со­стоя­

О
нии. Ко­ман­да Locate так­же ог­ра­ни­че­на по­ис­ком Skype от­но­сит­ся к про­прие­тар­ным про­
по име­нам фай­лов; ее вид – Ин­ст­ру­мент по­ис­ка KFind — это ко­ман­да find грамм­ным про­д ук­там, и о его вклю­чении
locate имя­фай­ла «с че­ло­ве­че­ским ли­цом». в ре­по­зи­то­рии Mandriva до сих пор идут
Что­бы по­иск не за­ви­сел от ре­ги­ст­ра, до­бавь­те жар­кие спо­ры. Вы­иг­ры­ва­ет, увы, сто­ро­на «ис­поль­
ключ -i. щем ка­та­ло­ге и за­тем спус­ка­ет­ся вниз по ие­ зуй­те сво­бод­ную аль­тер­на­ти­ву», по­это­му най­ти
Аль­тер­на­ти­ва – ко­ман­да find, вы­пол­няю­щая рар­хии, про­смат­ри­вая все под­ка­та­ло­ги. Вто­рая Skype в офи­ци­а ль­ной вер­сии ди­ст­ри­бу­ти­ва мож­
по­иск не­по­сред­ст­вен­но по фай­ло­вой сис­те­ме. ко­ман­да на­чи­на­ет с ка­та­ло­га /usr и вы­пол­ня­ет но толь­ко в ком­мер­че­ском ре­по­зи­то­рии Mandriva
Она ра­бо­та­ет мед­лен­нее и мо­жет ис­кать толь­ко по­иск, не­чув­ст­ви­тель­ный к ре­ги­ст­ру. Тре­тья ко­ PowerPack. Но не все по­те­ря­но – про­грам­ма есть
в тех об­лас­тях, к ко­то­рым поль­зо­ва­тель име­ет ман­да де­ла­ет то же са­мое, но спус­ка­ет­ся вглубь в неофи­ци­а ль­ном ре­по­зи­то­рии италь­ян­ско­го
дос­т уп с пра­вом чте­ния, за­то пре­дос­тав­ля­ет са­ толь­ко на два ка­та­ло­га. со­об­ще­ства MiB. Вам доста­точ­но под­к лю­чить
мую со­вре­мен­ную и ак­т у­а ль­ную ин­фор­ма­цию. Бла­го­да­ря до­пол­ни­тель­ным оп­ци­ям, find – его с по­мо­щью сер­ви­са urpmi.mandriva.ru и уста­
Она по­зво­ля­ет ука­зы­вать ка­та­ло­ги, где тре­бу­ет­ го­раз­до бо­лее гиб­кий ин­ст­ру­мент. За­то ко­ман­ но­вить Skype коман­дой:
ся ис­кать, и ка­та­ло­ги, ко­то­рые сле­ду­ет ис­к лю­ да locate ве­ли­ко­леп­на для бы­ст­ро­го по­ис­ка. urpmi skype
чить из по­ис­ка, а так­же пе­ре­чис­лять свой­ст­ва, Ее вы­вод мож­но пе­ре­на­пра­вить на вход ко­ман­ Вы так­же мо­же­те про­сто ска­чать и ус­та­но­вить па­
от­лич­ные от име­ни фай­ла – на­при­мер, да­т у соз­ ды grep, что­бы вы­пол­нить по­иск по кон­крет­ным ке­ты по сле­д ую­щим ссыл­кам:
да­ния фай­ла или имя его вла­дель­ца: ка­та­ло­гам: для 32-бит­ных сис­тем на ос­но­ве Mandriva 2010 –
find -name ‘*имя­фай­ла *’ locate -I myfile | grep /home/ http://mib.pianetalinux.org/MIB/2010.0/32/basic/
find /usr -iname ‘*имяд­ру­го­го­фай­ла *’ Уч­ти­те так­же, что locate ищет под­стро­ки, skype-2.1.0.81-69.1mib2010.0.i686.rpm -
find /usr -maxdepth 2 -iname ‘*ка­кой­файл*’ а find – точ­ные сов­па­де­ния, от­сю­да и ис­поль­зо­ для 64-бит­ных сис­тем: http://mib.pianetalinux.
Пер­вая из этих ко­манд на­чи­на­ет по­иск в те­к у­ ва­ние * как сим­во­ла шаб­ло­на. org/MIB/2010.0/64/basic/skype-2.1.0.81-
69.1mib2010.0.x86_64.rpm. АК

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
92      LXF132 Июнь 2010
 Ответы

Большой вопрос Как син­хро­ни­зи­ро­вать мои до­маш­ние ка­та­ло­ги?


11 Чув­ст­во син­хрон­но­сти edu/~bcpierce/unison). Это ин­ст­ру­мент дву­сто­ На­строй­ки для ка­та­ло­гов, хостов и пу­тей, ис-

В
У ме­ня есть на­столь­ный ком­пь­ю­тер ронней син­хрониза­ции: ес­ли Вы ре­дак­ти­ро­ва­ли клю­чае­мых из син­хрониза­ции, со­хранятся в про-
и но­у т­бук. Оба они ра­бо­та­ют под Linux, файл foo.txt на ком­пь­ю­те­ре A, а файл bar.png – филь, по умол­чанию в ~/.unison. При же­лании
но в раз­ных ди­ст­ри­бу­ти­вах. Хо­те­лось бы на ком­пь­ю­те­ре B, оба фай­ла об­но­вят­ся на обо­ соз­дать и дру­гие про­фи­ли син­хрониза­ции, оз­на-
син­хронизи­ро­вать их до­машние ка­та­ло­ги, что­бы их ком­пь­ю­те­ре. Ес­ли Вы мо­ди­фи­ци­руе­те один ­комь­тесь с фор­ма­том это­го фай­ла. Что­бы за­
по­следние вер­сии важ­ных фай­лов име­лись в обе­ и тот же файл в двух местах, про­грам­ма спро­сит, ста­вить Unison ис­поль­зо­вать нуж­ный про­филь,
их систе­мах. До­га­ды­ва­юсь, что по­мочь тут мо­жет ка­кая из вер­сий яв­ля­ет­ся ак­т у­а ль­ной. ука­жи­те его имя как ар­г у­мент или вы­бе­ри­те имя
rsync, но этот ва­ри­ант вы­гля­дит очень слож­ным, При пер­вом за­пуске Unison спро­сит, ка­кие ка­ про­фи­ля в диа­ло­го­вом окне. Unison мо­жет ра­бо­
и man-страница ничуть его не об­лег­ча­ет. Кро­ме та­ло­ги син­хронизи­ро­вать. Пер­вый из них дол­жен тать и из команд­ной стро­ки – ее мож­но ис­поль­зо-
то­го, же­ст­кий диск на на­столь­ном ком­пь­ю­те­ре быть локаль­ным, а вто­рой – на­хо­дить­ся на уда­ ­вать в скрип­тах ав­то­ма­ти­че­ской син­хрониза­ции.
на­мно­го боль­ше, чем на но­у т­бу­ке, и на но­у т­бу­ке лен­ном ком­пь­ю­те­ре, с досту­пом че­рез SSH. По­ Unison при­ме­ня­ет для свя­зи ме­ж ­ду ком­пь­ю­
все фай­лы про­сто не по­местят­ся, так что мне нуж­ сколь­к у Вам тре­бу­ет­ся син­хронизи­ро­вать до­ те­ра­ми SSH, по­это­му при ка­ж ­дой оче­ред­ной син­
на воз­мож­ность исклю­чить неко­то­рые фай­лы машние ка­та­ло­ги, Вы мо­же­те оста­вить эти по­ля хрониза­ции про­грам­ма бу­дет за­пра­ши­вать па­роль
из про­цес­са син­хрониза­ции. Что вы по­ре­ко­мен­ пусты­ми, ука­зав во вто­ром слу­чае толь­ко имя поль­зо­ва­те­ля для вхо­да на дру­гой ком­пь­ю­тер.
дуе­те? Все же при­ме­нять rsync? А раз так, нет ли хоста. Кро­ме то­го, мож­но ука­зать име­на поль­ Что­бы из­бе­жать это­го, уста­но­ви­те клю­чи SSH. За-
для нее бо­лее дру­же­люб­но­го ин­тер­фей­са? зо­ва­те­лей, ес­ли на син­хронизи­руе­мых ком­пь­ ­пусти­те на обоих ком­пь­ю­те­рах коман­ду ssh-
Род­жер Кэ­ме­рон [Roger Cameron] ю­те­рах они раз­ные. При пер­вом за­пуске Unison keygen и примите от­ве­ты по умол­чанию для всех
по­тре­бу­ет­ся неко­то­рое вре­мя на сканиро­вание за­да­вае­мых во­про­сов, но не при­сваи­вай­те клю­чу

О
Вы пра­вы, ду­мая об rsync, но в Ва­шем обо­их ка­та­ло­гов, а за­тем Вы смо­же­те ука­зать, па­роль­ной фра­зы [passphrase]. Соз­да­дут­
слу­чае у него есть недоста­ток: это од­но­- ка­кие ди­рек­то­рии и фай­лы Вы хо­ти­те иг­но­ри­ ся два фай­ла в ка­та­ло­ге ~/.ssh, с име­на­ми id_
сто­ронний про­то­кол. Для ком­пь­ю­те­ров ро­вать. В про­цес­се пер­вой син­хрониза­ции боль­ dsa и id_dsa.pub. На обоих ком­пь­ю­те­рах введите
A и B rsync в со­стоянии ко­пи­ро­вать или с A на B, шин­ство раз­ли­чаю­щих­ся фай­лов бу­д ут по­ме­че­ ssh дру­гой_ком­пь­ю­тер cat .ssh/id_dsa.pub >>~/.
или с B на A. И ес­ли Вы хо­ти­те мо­ди­фи­ци­ро­вать ны как кон­флик­т ую­щие, по­то­му что Unison еще ssh/authorized_keys
фай­лы на обо­их ком­пь­ю­те­рах, rsync Вас не спа­ не из­вест­но, ко­то­рый Вам ну­жен – ука­жи­те его Эти команды до­ба­вят пуб­лич­ный ключ SSH дру­
сет. Луч­шая из про­грамм, ре­шаю­щих Ва­шу за­ кла­ви­ша­ми-стрел­ка­ми вле­во/впра­во. При по­сле­ го­го ком­пь­ю­те­ра к спи­ску поль­зо­ва­те­лей, кото­
да­чу, на­зы­ва­ет­ся Unison (http://www.cis.upenn. дую­щих син­хрониза­ци­ях де­ло пой­дет бы­ст­рее. рые мо­г ут под­к лю­чать­ся ав­то­ма­ти­че­ски. НБ

Шаг за шагом: Син­хро­ни­зи­ру­ем­ся в Unison

1 В одни во­ро­та 2 Вы­бор пу­ти 3 По­на­до­бит­ся вре­мя


Хо­тя для rsync и име­ют­ся кли­ен­ты с гра­фи­че­ским Unison за­про­сит пу­ти ис­ход­но­го и це­ле­во­го ка­та­ло­ Unison вы­полнит на­чаль­ное сканиро­вание до­машних
ин­тер­фей­сом, на­при­мер, Grsync (http://www.opbyte. гов; для до­машних ди­рек­то­рий их мож­но оста­вить ка­та­ло­гов. При пер­вом за­пуске оно до­воль­но дол­гое,
it/grsync), про­то­кол у них все рав­но од­но­сто­ронний. пусты­ми. Ука­жи­те толь­ко имя уда­лен­но­го хоста. но впо­след­ствии бу­дет про­хо­дить бы­ст­рее.

4 Дай­те со­вет 5 Встро­ен­ная по­мощь 6 Под­роб­ные про­фи­ли


При пер­вом сканиро­вании Unison вы­даст ряд за­про­ Вме­сто обыч­ных man- и HTML-страниц Unison име­ет Вы мо­же­те соз­дать про­филь, ука­зы­ваю­щий, ка­кие
сов, по­сколь­к у еще не зна­ет, ка­к ую из вер­сий фай­ла встро­ен­ную систе­му по­мо­щи, струк­т у­ри­ро­ван­ную ка­та­ло­ги син­хронизи­ро­вать. Ис­поль­зо­вание про­фи­
вы хо­ти­те со­хранить, и пре­доста­вит ре­шение вам. по те­мам, вклю­чая удоб­ную по­ша­го­вую ин­ст­рук­цию. лей уско­ря­ет про­цесс.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      93
Луч­шие в ми­ре но­вин­ки 
сво­бод­но­го ПО

LXFHotPicks Ник Вейч


Ник ком­пи­ли­ру­ет Hotpicks,
Advene Armegatron Darkstat FBReader gLabels Gprog ис­поль­зуя тек­сто­вый ре­дак­тор
и го­лов­ной мозг. А ино­гда —
Namebench NeoTextureEdit Pac PyGTKPipes толь­ко тек­сто­вый ре­дак­тор.

Про­грам­ма для ан­но­та­ции ви­део

Advene
Вер­сия 0.40 Сайт http://liris.cnrs.fr/advene/index.html

G
oogle, на­вер­ное, прав, убе­ж ­дая фай­лам. Та­кое бы­ва­ет, ес­ли на­до изу­чить
весь мир в том, что со­вме­ст­но и за­до­к у­мен­ти­ро­вать те­му, от­ме­тить ис­
ра­бо­тать над до­к у­мен­та­ми мож­ пор­чен­ные фраг­мен­ты или до­ба­вить соб­
но – и да­же бо­лее эф­фек­тив­но – че­рез сеть, ствен­ные за­бав­ные надпи­си к клас­си­че­
но что ес­ли про­ект, над ко­то­рым вы тру­ди­ ским сце­нам.
тесь, не ог­раничи­ва­ет­ся про­стым тек­стом? Advene соз­да­ет па­кет всех этих ан­но­та­
Стан­дарт­ный об­мен­ный курс слов на кар­ ций, за­ме­ток и мар­ке­ров, а так­же ссыл­к у Майк ска­зал, что идет за круж­кой, и мы ре­ши­ли, что это
тин­ки по­ка­зы­ва­ет, что ху­до­же­ствен­ный на ис­ход­ный ви­део­файл – в кон­це кон­цов, про вкус­ное пи­во…
фильм со­от­вет­ству­ет 135 мил­лио­нам слов ва­ша ко­пия «Но­сфе­ра­т у» не обя­за­тель­
(90 ми­нут × 60 се­к унд × 25 fps × 1000 слов), но сов­па­да­ет по­кад­ро­во с мо­ей. За­тем кто ком или за­менить часть изо­бра­жения соб­
а это ма­лость по­боль­ше, чем в ва­шей угод­но мо­жет за­гру­зить этот па­кет и от­ ствен­ным корявым рисунком.
обыч­ной пор­ции HotPicks, ес­ли вы во­об­ще крыть со­вме­ст­но с дан­ным ви­део­фай­лом,
мо­же­те се­бе та­кое пред­ста­вить. из­менить и до­полнить ва­ши запи­си и вне­ Я люб­лю ки­но
Advene был раз­ра­бо­тан, что­бы удов­ле­ сти свои (Advene от­сле­жи­ва­ет ав­тор­ство). От­кры­ва­ет спи­сок недо­че­тов поль­зо­ва­
тво­рить по­треб­ность сту­ден­тов, изу­чаю­ Ва­ши воз­мож­но­сти не ог­раничи­ва­ют­ тель­ский ин­тер­фейс. Воз­мож­но, это от­
щих кинема­то­гра­фию, и, по слу­чаю, так­же ся исклю­чи­тель­но тек­сто­вой анима­ци­ей – части при­дир­ка – ведь он су­мел уме­стить
тех, ко­му за­хо­чет­ся или по­на­до­бит­ся соз­ име­ет­ся, на­при­мер, под­держ­ка на­ло­жения на эк­ране нема­ло ин­фор­ма­ции; но из­на­
да­вать ком­мен­та­рии или за­мет­ки к ви­део­ SVG, и вы мо­же­те лег­ко об­вести круж­ чаль­но ин­тер­фейс весь­ма сло­жен для по­
нимания то­го, что и где во­об­ще про­ис­
хо­дит и как это мож­но из­менить. Шка­ла
Ис­сле­ду­ем ин­тер­фейс Advene вре­мени внизу эк­ра­на ото­бра­жа­ет слои
те­к у­щей ан­но­та­ции или тре­ки, и по­ми­мо
это­го вы ви­ди­те ин­фор­ма­цию на панелях
Ис­то­рия по­се­ще­ний спра­ва и сле­ва от ок­на про­смот­ра. Про­
в ви­де ми­ниа­тюр стые ан­но­та­ции мож­но на­к ла­ды­вать на эк­
Этот удоб­ный ор­ган управ­ле­ния ран про­смот­ра, но бо­лее под­роб­ные за­мет­
от­с ле­жи­ва­ет, где вы по­бы­ва­ли ки луч­ше ото­бра­жа­ют­ся на од­ной из этих
в ви­део­фай­ле.
панелей. По умол­чанию сле­ва ото­бра­жа­ет­
ся ва­ша исто­рия по­се­щений в ви­де миниа­
тюр, что удоб­но для пе­ре­кре­ст­ных ссылок.
Глав­ное ок­но Ес­ли вы хо­ти­те по­нять, как ра­бо­та­ет
Здесь вос­про­из­во­дит­ся
ва­ше ви­део.
Advene, ска­чай­те с сай­та обу­чаю­щие ро­ли­
ки. Это про­сто фан­та­сти­че­ские филь­мы,
и вы по­лу­чи­те от про­цес­са уче­бы боль­шое
удо­воль­ствие.
Ва­ши муд­рые из­ре­че­ния А я за­круг­ля­юсь: на­до пи­сать ан­но­та­
Ес­ли пе­ре­кры­ваю­щие
над­пи­си дос­та­точ­но ко­рот­кие,
ции к шоу, ко­то­рое я на­зы­ваю «Бри­тания
они поя­вит­ся на эк­ра­не. на­шла Пир­са Мор­га­на, но все пред­ло­
жения бу­д ут рас­смот­ре­ны» [в ори­ги­на­ле
Вре­мен­ная шка­ла До­пол­ни­тель­ная обыг­ры­ва­ет­ся на­звание по­пу­ляр­но­го шоу
Цвет­ные по­лос­ки ви­зу­а ль­но ин­фор­ма­ция «Britain’s Got Talents» – «Бри­тания ищет та­
от­ме­ча­ют наи­бо­лее ин­те­рес­ные Всплы­ваю­щие ок­на и про­чие дан­ные
фраг­мен­ты ви­део. мо­г ут по­яв­лять­ся на бо­ко­вых па­не­лях. лан­ты» и имя его ве­д у­ще­го, Пир­са Мор­га­
на [Piers Morgan], – прим. пер.].

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
94      LXF132 Июнь 2010
 LXFHotPicks

Ин­ди­ка­тор про­грес­са

Gprog 1.10
Вер­сия 1.10 Сайт http://stromberg.dnsalias.org/~strombrg/gprog

О
д­но из глав­ных удо­воль­ствий По сво­ей при­ро­де по­доб­ные про­цес­
в жизни – най­ти неболь­шой уча­ сы монито­рин­га под­вер­же­ны прин­ци­
сток об­щей схе­мы, ко­то­рый мож­ пу неоп­ре­де­лен­но­сти Гей­зен­бер­га – т. е.,
но де­ли­кат­но под­пра­вить, про­сто что­бы сам факт на­блю­дения за пе­ре­да­чей дан­
впле­сти в ко­вер по­все­днев­но­сти цвет­ные ных иска­жа­ет кар­ти­ну. Ис­поль­зуя мно­го­
нити чу­да. Ну, или еще че­го-нибудь. Ины­ про­цес­сор­ный мо­д уль Python, Gprog мо­
ми сло­ва­ми, иногда от ма­лых при­чин про­ жет за­дей­ство­вать до­полнитель­ные яд­ра,
исте­ка­ют боль­шие по­след­ствия, и имен­ что­бы от­де­лить опе­ра­цию ко­пи­ро­вания
но шан­са­ми вбро­сить в него мас­сы ми­лых от на­блю­дения за ко­пи­ро­ванием и, та­ким
ме­ло­чей и хо­рош от­кры­тый код. об­ра­зом, со­хранить и пол­ную про­из­во­ди­
Че­рес­чур-то не об­на­де­жи­вай­тесь – тель­ность, и доста­точ­но точ­ный от­чет о со­
Gprog не ли­к­ви­ди­ру­ет уг­ро­зу гло­баль­но­ стоянии про­цес­са. Ес­ли ав­тор Gprog ког­
го по­те­п­ления и да­же не рас­ска­жет, что да-нибудь при­дет к вам в гости на ужин,
у вас бу­дет на ужин; за­то он мо­жет со­об­ ри­зот­то зря не про­па­дет.
Уже все? Уже все?
щить вам, сколь­ко вре­мени про­д лит­ся Как уже упо­ми­на­лось, Gprog – при­ ю­ще­го­ся в стан­д арт­но по­с тав­ляе­мых
Уже все…
этот ужин. Gprog – это гра­фи­че­ский ин­ди­ ло­жение Python. Оно са­мо­доста­точ­но, па­ке­тах Python ниче­го, кро­ме PyGTK
ка­тор про­грес­са для ка­наль­ных опе­ра­ций и в дан­ном слу­чае не тре­бу­ет сверх име­ (в за­ви­си­мо­с ти от ва­ше­го ди­с т­ри­бу­ти­
(ти­па ко­пи­ро­вания фай­лов или че­го-то по­ ва). Вы­зо­ви­те его из команд­ной стро­ки,
доб­но­го), с уймой оп­ций, что­бы по­ка­зать
вам, сколь­ко дан­ных долж­но быть пе­ре­да­
«Gprog – индикатор что­бы уви­деть па­ра­мет­ры ис­поль­зо­вания,
или за­пусти­те тесто­вый ре­жим (ко­то­рый
но, ка­ко­ва сред­няя ско­рость пе­ре­да­чи дан­
ных, сколь­ко вре­мени уже длит­ся про­цесс
прогресса опе­ра­ций ко­пи­ру­ет фай­лы из /dev/zero), чтобы оз­
накомиться с графическим интерфейсом
и когда ожи­дать его окон­чания. ти­па ко­пи­ро­ва­ния.» через предпросмотр.

Про­грам­ма для чтения элек­трон­ных книг

FBReader 0.12.7
Вер­сия 0.12.7 Сайт www.fbreader.org

У
стройство Kindle от Amazon от­- фор­мат так­же по­пу­ля­рен сре­ди элек­трон­
кры­ло ми­ру гла­за и да­ло тол­чок ных книг. Есть пла­ны реа­ли­зо­вать под­
идее чтения элек­трон­ных книг держ­к у PDF в бу­ду­щем, хо­тя вна­ча­ле, ско­
в до­ро­ге; но мно­гие пред­по­чли бы читалку, рее все­го, для чисто тек­сто­вых фай­лов,
ко­то­рая не станет тай­ком уда­лять кни­ а не до­к у­мен­тов, со­дер­жа­щих еще и изо­
ги во мра­ке но­чи, когда все мир­но спят. бра­жения (что мы можем объ­яс­нить упо­
И, воз­мож­но, под­дер­жи­вала бы по­боль­ше ром на эко­но­мию ре­сур­сов и про­сто­т у
фор­ма­тов. Да что­бы бы­ла сво­бод­ной… ис­поль­зо­вания). Тем не менее, обыч­ные
Ну, уст­рой­ство-то вам при­дет­ся ис­ фор­ма­ты элек­трон­ных книг бу­д ут ото­
кать са­мим [прав­да, в СНГ поиск будет бра­жать­ся с кар­тин­ка­ми, ес­ли уж они
недол­гим, – прим. ред.], за­то про­грам­ма там есть.
FBReader бо­лее чем гра­мот­но ока­жет вам
содействие в чтении элек­трон­ных книг Ма­лень­кая и шу­ст­рая Из­на­чаль­но раз­ра­бо­тан­ный для мо­биль­ных уст­ройств, FBReader
в раз­но­об­раз­ных фор­ма­тах. Она ра­бо­та­ет На на­столь­ном ПК вы, ско­рее все­го, пред­ не­плох и для чте­ния элек­трон­ных книг на на­столь­ном ком­пь­ю­те­ре.
на Linux и на мно­гих уст­рой­ствах, ис­поль­ по­чтете по-прежнему держаться Evince –
зую­щих Linux – на­при­мер, Nokia N800/N810 все-таки это универ­саль­ная про­грам­ма уст­ройств с Linux FBReader – иде­а ль­ное
с Maemo. для чтения до­к у­мен­тов; но для мо­биль­ных при­ло­жение, бла­го­да­ря его бы­ст­ро­те и низ-
Под­дер­жи­ва­ют­ся фор­ма­ты .fb2, .epub ­ко­му по­треб­лению ре­сур­сов. Для те­ле­-
и Plucker e-book, при­ме­няе­мые боль­шин­
ством ком­мер­че­ских и сво­бод­ных ре­сур­
«Под­дер­жи­ва­ют­ся ­фо­нов Android име­ет­ся порт FBReader
на Java (креа­тив­но на­званный FBReaderJ),
сов элек­трон­ной ли­те­ра­т у­ры. По­ка что
FBReader не под­дер­жи­ва­ет про­смотр PDF-
фор­ма­ты .fb2, .epub об­ла­даю­щий при­мер­но тем же на­бо­ром
функ­ций и доступ­ный на том же сай­те
фай­лов, и это изъ­ян, по­сколь­к у дан­ный и Plucker.» или в хранили­ще при­ло­жений Android.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      95
LXFHotPicks 

Тести­ро­вание служб DNS

Namebench
Вер­сия 1.2 Сайт http://code.google.com/p/namebench
Hottest
Pick

С
оз­да­вая Hotpicks, мы при­ме­ня­ем Когда вы на­би­рае­те www.linuxformat.ru За по­следние го­ды в борь­бу вклю­
для при­ло­жений спи­сок кри­те­ в Firefox, про­ис­хо­дит сле­д ую­щее: ваш ком­ чи­лось мно­же­ство сер­ве­ров имен
ри­ев, где нуж­но га­лоч­кой от­ме­ пь­ю­тер со­еди­ня­ет­ся со сво­им за­ре­ги­ст­ри­ от треть­их лиц, за­яв­ля­ясь на боль­шую ско­
тить ожи­дае­мые ка­че­ства, как то: про­грам­ ро­ван­ным сер­ве­ром имен и за­пра­ши­ва­ет рость. Их вы­го­да в дан­ной об­ласти ле­жит
ма долж­на быть ин­те­рес­ной и по­лез­ной, IP, свя­зан­ный с этим именем. За­тем сер­ в за­сыл­ке вам рек­лам­ных объ­яв­лений (ко­
она долж­на ра­бо­тать и, оп­цио­наль­но, чем- вер имен от­прав­ля­ет вам на­зад па­кет ин­ то­рые вы ви­де­ли в тот раз, когда по­се­ти­
то бе­сить Май­ка. Про­грам­мам ред­ко уда­ фор­ма­ции с IP-ад­ре­сом, и ваш брау­зер те­ ли несу­ще­ствую­щий до­мен) или про­сто
ет­ся за­по­лу­чить все че­ты­ре га­лоч­ки, и слу­ перь мо­жет свя­зать­ся с сай­том на­пря­мую
чай с Namebench не стал исклю­чением, ибо
Май­к у про­грам­ма то­же по­нра­ви­лась.
че­рез Ин­тернет.
«Ско­рость ва­ше­го DNS-
Ослепи­тель­но про­стая идея, на ко­то­ Под­виж­ные части сер­ве­ра по умол­ча­нию
рой стро­ит­ся эта про­грам­ма, за­к лю­ча­ет­ся Сер­вис этот очень гиб­кий, но при ра­бо­те
в про­вер­ке, мож­но ли улуч­шить про­из­во­ди­ в Се­ти спо­со­бен соз­дать эф­фект бу­ты­лоч­ мо­жет варь­и­ро­вать­ся.»
тель­ность ва­шей ра­бо­ты в Се­ти. Ин­тернет но­го гор­ла. Ско­рость ва­ше­го сер­ве­ра имен
ра­бо­та­ет по стран­ным прин­ци­пам, и од­на по умол­чанию (обыч­но то­го, что под­дер­жи­ вы­яснении ва­ших се­те­вых при­стра­стий
из са­мых ду­рац­ких кон­цеп­ций – это до­мен­ ва­ет­ся ва­шим про­вай­де­ром) мо­жет за­мет­но че­рез ваш брау­зер, для по­сле­дую­ще­го
ное имя. На де­ле ника­ких имен у ком­пь­ю­ пла­вать. Помните, что, хо­тя обыч­но вре­мя их упот­реб­ления с до­б­ры­ми/злы­ми на­ме­
те­ров в Се­ти нет – есть одни но­ме­ра; это те от­к ли­ка занима­ет мил­ли­се­к ун­ды, кон­крет­ рения­ми. Сер­ви­сы вро­де Google Public DNS
са­мые IP-ад­ре­са (ну лад­но, все не так про­ ная страница, ко­то­рую вы про­смат­ри­вае­ и DynamicDNS объ­яв­ля­ют о сво­ем умении
сто, но и не на­столь­ко слож­но, как «Ра­бо­ те, долж­на реа­ги­ро­вать на де­сят­ки об­ра­ уско­рить про­цесс про­смот­ра, но ве­рить ли
та в се­ти для про­дви­ну­тых ней­ро­хи­рур­ щений – в за­ви­си­мо­сти от то­го, хо­ро­шо ли DNS ин­тер­нет- рек­ла­ме?
гов косми­че­ских ато­мо­ле­тов»). Бе­да в том, за­про­грам­ми­ро­ван сайт и сколь­ко рек­ла­мы про­вай­де­ра Так или ина­че, ско­рость ка­ж ­до­го кон­
что име­на (а иногда и но­ме­ра) в Се­ти мо­ он со­дер­жит. Ес­ли сайт изо­би­лу­ет ссыл­ мо­жет тор­мо­зить крет­но­го сер­ви­са очень силь­но за­ви­
гут блу­ж ­дать, и что­бы свя­зы­вать их вме­ ка­ми на гра­фи­к у, то вре­мя на раз­ре­шение ва­шу ра­бо­ту. Ис­пы­- сит от то­го, в ка­кой точ­ке ми­ра вы при­об­
сте, пре­ду­смот­ре­на служ­ба Domain Look­ имен хостов бу­дет сравнимо со вре­менем тай­те его и ус­корь­ щае­тесь к Се­ти и ка­кие сай­ты пы­тае­тесь
те свою ра­бо­ту
up Service, или сер­вер имен (nameserver). рен­де­рин­га изо­бра­жений, а это бе­зу­мие. от­крыть.
в Се­ти!

Что ве­дет нас к…


Цель Namebench – най­ти для вас наи­луч­
шие ва­ри­ан­ты, ис­сле­д уя под­бор­к у из­вест­
ных до­ме­нов и до­полнитель­но вклю­чая ре­
зуль­та­ты по­иска для сай­тов, хра­ня­щих­ся
в жур­на­ле ва­ше­го брау­зе­ра. При за­пуске
при­ло­жения возникнет ок­но на­строй­ки,
ку­да мож­но бу­дет вве­сти ад­ре­са DNS-сер­
ве­ров (уже на­стро­ен­ные вклю­ча­ют­ся ав­
то­ма­ти­че­ски), ко­ли­че­ство тестов, ко­то­рые
вы хо­ти­те про­вести, и ка­кие DNS-сер­ве­ра
на­до вклю­чать. Namebench со­дер­жит спи­
сок ре­гио­наль­ных DNS-сер­ве­ров для раз­
ных частей зем­но­го ша­ра (это од­на из тех
сфер ра­бо­ты в се­ти, где локаль­ные ре­сур­
сы обыч­но на­мно­го луч­ше), и мо­жет до­ба­
вить их к тесту.
Про­цесс тести­ро­вания мо­жет за­нять
несколь­ко ми­нут, но в ито­ге пе­ред ва­ми
(в ва­шем брау­зе­ре) пред­станет фан­та­сти­
че­ский гра­фи­че­ский про­рыв по про­из­во­
ди­тель­но­сти, а так­же опе­ра­тив­ный от­чет,
под­роб­но распи­сы­ваю­щий, ка­кой сер­вис
по­дой­дет вам боль­ше все­го. Че­ст­но го­
во­ря, ре­зуль­та­ты бу­д ут ме­нять­ся ка­ж ­дый
день, так что есть смысл уста­но­вить Name-
bench и за­пускать про­вер­к у при­мер­но раз
в неде­лю, ра­ди уве­рен­но­сти, что вы ис­
поль­зуе­те наи­луч­шие для вас на­строй­ки.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
96      LXF132 Июнь 2010
 LXFHotPicks

HotGames Развлекательные приложения


Гон­ки на све­то­вых мо­то­цик­лах

Armegatron
Вер­сия 0.2.8.3.1 Сайт www.armagetronad.net

Н
а­конец-то – на­вер­ное, поч­ те неуда­чу, вре­зав­шись в ка­ко­го-нибудь
ти на­ме­рен­но под­га­ды­вая под ком­пь­ю­тер­но­го со­перника, вы упь­е ­
гря­ду­щий ре­лиз Tron Legacy – тесь носталь­ги­ей, на­блю­д ая, как раз­
поя­ви­лась иг­ра, воз­даю­щая по за­слу­ ле­та­ют­ся во всех на­прав­лениях со­с тав­
гам филь­му-про­то­ти­пу. За­пры­ги­вай­те ляю­щие вас фо­то­ны. Прав­д а, это ес­ли
на све­то­вой мо­то­цикл и ощу­ти­те пуль­ вы смот­ре­ли фильм; в про­тив­ном слу­
са­цию фо­то­нов, мчась по сет­ке на­пе­ре- чае вы бу­де­те недо­у ме­вать, за­чем раз­
­гон­ки со свои­ми ком­пь­ю­тер­ны­ми ра­бот­чи­ки вклю­чи­ли в иг­ру столь из­би­ Все ви­ди­мое долж­но рас­ти над со­бой и про­ры­вать­ся в цар­ст­во
или он­лайн-со­перника­ми по иг­ре тый эф­фект. не­ви­ди­мо­го.
Armegatron Advanced. В этой иг­ре ис­поль­зу­ет­ся OpenGL,
Гра­фи­ка до­воль­но услов­ная, и хо­ и для ее нор­маль­ной ра­бо­ты тре­бу­ет­ся в локаль­ной иг­ре про­тив ком­пь­ю­тер­ных
тя при­ми­тив­ные тек­с ту­ры во­круг сет­ки кар­та с под­держ­кой ап­па­рат­но­го уско­ со­перников (со стран­но зна­ко­мы­ми име­
толь­ко от­в ле­ка­ют от ощу­щения схват­ рения. Иг­ра рас­про­стра­ня­ет­ся как файл на­ми – «Word», «Excel» и «Outlook»; ин­
ки со злоб­ны­ми элек­трон­ны­ми вра­га­ Autopackage, так что ее уста­нов­ка бу­ те­рес­но, чем они вдох­но­ви­ли…), или
ми, они имен­но та­ки­ми и долж­ны быть дет про­ста. Ме­ню по­зво­лит вам иг­рать мо­же­те по­искать дру­гих по­к лонников
(под услов­но­с тью мы под­ра­зу­ме­ва­ иг­ры в ре­жи­ме он­лайн, что­бы схле­ст­
ем, что на са­мом-то де­ле не на­ри­су­ешь
сре­д у, ко­то­рая счи­та­ет­ся со­с тоя­щей
«Гра­фи­ка до­воль­но нуть­ся с ними. Есть и со­от­вет­ствую­щий
сер­вер­ный па­кет, ес­ли вы за­хо­ти­те на­
из све­та и энер­гии). Са­ми мо­то­цик­
лы и их сле­ды уди­ви­тель­но на­по­ми­на­
ус­лов­ная, но та­кой она стро­ить ма­ши­ну в LAN, что­бы с ее по­
мо­щью ре­шать внут­ри­офис­ные спо­ры.
ют фильм Tron, и да­же ес­ли вы по­тер­пи­ и долж­на быть.» Конец Стро­ки.

Тру­бо­про­вод

PyGTKPipes 0.3
Вер­сия 0.3 Сайт http://bit.ly/aaS5iD

П
о неве­до­мой при­чине раз­ра­ шет­ке. Про­сто щел­кай­те по эле­мен­там –
бот­чи­ки игр во всем ми­ре, по­ они бу­дут вра­щать­ся по ча­со­вой стрел­ке
хо­же, счи­та­ют сан­техников и при кон­так­те с во­дой ок­ра­сят­ся в го­лу­
недо­ум­ка­ми. Столь­ко игр осно­ва­но бой цвет. Это труднее, чем ка­жет­ся, осо­
на пе­ре­пле­тении при­чуд­ли­во изо­гну­тых бен­но на выс­ших уров­нях. Тай­ме­ра нет,
мед­ных труб… понево­ле ре­шишь, что так что вы иг­рае­те из спор­тив­но­го ин­те­ре­
средний во­до­про­вод­чик слаб в гео­мет­ са, но эта про­стень­кая иг­руш­ка осно­ва­на
рии. Хо­тя в ре­а ль­но­сти сан­техники вы­ на Python и PyGTK, и не со­ста­вит осо­бо­
пол­ня­ют со­единения неде­ше­вы­ми гиб­ го тру­да рас­ши­рить ее, до­ба­вив свои лю­
ки­ми под­вод­ка­ми из ме­тал­ло­пластика би­мые функ­ции (ска­жем, счет­чик хо­дов
и пе­ре­к ла­ды­ва­ют оп­ла­т у то­го, что об­лег­ или воз­мож­ность со­хранения слу­чай­но
ча­ет их труд, на вас – ну и кто тут хит­рее? вы­бран­ной сбор­ки, для со­став­ления кол­
По лю­бо­му, от по­доб­ных игр мы ждем лек­ции лю­би­мых труб?). Име­ет­ся ме­ню «Хм-мм [трет под­бо­ро­док]. Вам нуж­на гиб­кая под­вод­ка 25 мм,
затейливого со­единения труб, и эта Design; его цель, ви­ди­мо, соз­дание но­во­ руб­лей этак за 1000…»
неслож­ная го­ло­во­лом­ка вас не раз­оча­ го ди­зай­на эле­мен­тов, но в нашей тесто­
ру­ет. PyGTKPipes – не со­всем клон Pipe вой вер­сии ме­ню не ра­бо­та­ло. За­ви­си­мо­
Mania: здесь нет ог­раничения на вре­мя
и ку­чи неис­поль­зо­ван­ных ка­на­лов.
«Раз­ра­бот­чи­ки игр, стей в иг­ре немно­го, так что, воз­мож­но,
она за­ра­бо­та­ет и без уста­нов­ки че­го-
Из неко­то­рых труб льет­ся во­да, и при­
дет­ся по­ду­мать, как раз­вер­нуть их эле­-
по­хо­же, счи­та­ют сан­ то еще. Увы, ин­ст­рук­ций то­же не в из­быт­
ке; рас­па­ко­вав ар­хив, для за­пуска иг­ры
мен­ты, что­бы во­да доста­лась всем в ре­ тех­ни­ков не­до­ум­ка­ми.» про­сто вве­ди­те python pipes.py.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      97
LXFHotPicks 

SSH-кли­ент

Pac 1.0
Вер­сия 1.0 Сайт http://freshmeat.net/projects/pac

Е
сть ве­щи, ко­то­рые про­ще и луч­ По­ка вы не за­мо­ло­ти­ли по кла­виа­т у­
ше де­лать че­рез команд­ную стро­ ре, на­би­рая гнев­ную от­по­ведь, спе­шим
ку. Ре­дак­ти­ро­вание фай­лов на­ ска­зать: да, есть мас­са при­чин от­ка­зать­ся
строй­ки Х, ко­пи­ро­вание боль­ших фай­лов, от Telnet. Но, как это ни стран­но, он ис­поль­
ли­к­ви­да­ция ди­рек­то­рии с ис­ходника­ми зу­ет­ся ог­ром­ным ко­ли­че­ством се­те­вых
MikeOS и, обыч­но, вход на сер­ве­ры Telnet уст­ройств и сер­ве­ров (поч­то­вы­ми сер­ве­ра­
(доб­ро по­жа­ло­вать в 80‑е) или SSH. Да, ми, ком­му­та­то­ра­ми, мо­де­ма­ми), хо­тя они
обыч­но. Хо­тя команд­ная стро­ка для все­ обыч­но в безо­пас­но­сти за бранд­мау­эром.
го это­го ра­бо­та­ет бы­ст­рее, осо­бен­но ес­
ли учесть, что 99,999 % вре­мени вы бу­де­ Pac-спа­си­тель
те ис­поль­зо­вать ее же на хосте, на ко­то­рый Pac сде­ла­ет для вас все это в сим­па­тич­ном
Воз­мож­но, вы
вы во­шли, лег­ко за­бы­ва­ет­ся, ка­кая это го­ и про­стом в ис­поль­зо­вании ин­тер­фей­се де вкла­док от­сле­жи­ва­ет от­кры­тые кли­ент­
сэ­ко­но­ми­те
лов­ная боль, когда при­хо­дит­ся по­сто­ян­но GTK. Фак­ти­че­ски, вме­сте с об­лег­чен­ной па­ру мил­ли­се­кунд, ские под­к лю­чения, а спи­сок со­хранен­ных
об­ра­щать­ся к дю­жине кон­со­лей мар­шру­ про­це­ду­рой ре­ги­ст­ра­ции, Pac ис­поль­зу­ет со­хра­няя со­единений внизу сле­ва об­лег­ча­ет за­да­чу
ти­за­то­ров или сер­ве­ров. про­то­ко­лы Expect, что­бы управ­лять слож­ свои за­клад­ки. от­кры­тия но­вой сес­сии. Но вам все рав­но
Гра­фи­че­ская сре­да мо­жет от­части об­ ны­ми со­гла­со­вания­ми и за­пускать лю­бую при­дет­ся помнить, кто из хостов есть кто!
лег­чить все эти стра­дания, пре­вра­тив нуж­ную вам коман­д у. Пред­став­ление в ви­ Напи­сан­ный на Perl, Pac ис­поль­зу­ет
вы­бор нуж­но­го вам пунк­та на­зна­чения GTK для соз­дания ин­тер­фей­са и встраи­
из спи­ска, за­по­ми­нание муд­ре­ных па­ро­
лей ад­минист­ра­то­ра (под­ска­ж у: «пусти­те­
«Telnet ис­поль­зу­ет­ся вания тер­ми­на­лов. По­следний ре­лиз от­ли­
ча­ет­ся улуч­шением ин­тер­фей­са и ис­прав­
ме­ня») и об­став­ление всех рас­ши­рен­ных
про­це­д ур вхо­да в про­стой про­цесс «на­ве­
боль­шим ко­ли­че­ст­вом ления­ми оши­бок, но пе­ред его за­пуском
про­верь­те, не на­до ли осве­жить ва­ши па­
ди-и-щелкни». се­те­вых уст­ройств.» ке­ты Perl.

Ре­дак­тор тек­стур

NeoTextureEdit
Вер­сия 0.5.3a Сайт http://bit.ly/bX7LUT

С
оз­дание че­го бы то ни бы­ло ся при этом нетро­ну­ты­ми. Тек­сту­ры здесь
отнима­ет вре­мя, соз­да­ет мо­ро­к у яв­ля­ют­ся про­це­дур­ны­ми: вы для них соз­
и – глянем прав­де в гла­за – тре­ дае­те ре­цепт, а не боль­шой файл с раст-
бу­ет от боль­шин­ства из нас та­ких уси­лий, ро­вым изо­бра­жением (хо­тя, конеч­но, мо­ж-
что не сто­ит и брать­ся. И ес­ли некая про­ но и экс­пор­ти­ро­вать PNG-гра­фи­к у, ко­ли
грам­ма по­мо­га­ет что-ли­бо соз­дать так- о­хо­та). На хранение про­це­д ур­ных тек­стур
лег­ко-что-это-пря­мо-кайф, к ней сто­ит ухо­дит го­раз­до мень­ше па­мя­ти – эко­но­
при­смот­реть­ся. мят­ся важ­ные ре­сур­сы для систем, тре­
Не надо быть гением, что­бы до­га­дать­ бую­щих мно­же­ства тек­стур­ных объ­ек­тов.
Мы гим­на­зи­
ся, что исход­но дан­ное при­ло­жение соз­ ча­ет экс­пе­ри­мен­ты с раз­лич­ны­ми эф­фек­
ев не кон­ча­ли.
да­ва­лось для соз­дания гра­фи­че­ских тек­с- Ин­тер­пре­та­ция тек­стур Но школь­ный фран­ та­ми и ре­цеп­та­ми, и об­нов­ляю­щий­ся пред­
тур – но это от­нюдь не обыч­ные тек­сту­ры. Фильт­ров по­ка не в избытке, так что за­ цуз­ский как-то раз про­смотр ре­зуль­та­та по­сто­ян­но на­хо­дит­ся
От­ли­чи­тель­ная чер­та NeoTextureEdit – ме­ной GIMP в этом плане NeoTextureEdit весь­ма при­го­дил­ся. у вас пе­ред гла­за­ми.
на­ли­чие об­ласти гра­фи­че­ских уз­лов, где не станет, но он во мно­гом про­ще в ис­поль­ Бу­д у­чи кросс-плат­фор­мен­ным, раз уж
мож­но генери­ро­вать, фильт­ро­вать, ком­- зо­вании и понимании. Про­смотр гра­фи­ки он напи­сан на Java, NeoTextureEdit так­же
биниро­вать, на­слаи­вать и об­ра­ба­ты­вать со свя­зан­ны­ми ра­бо­чи­ми уз­ла­ми об­лег- вы­пол­ня­ет достой­ную ра­бо­т у по реа­ли­
изо­бра­жения. Линии свя­зей по­ка­зы­ва­ют за­ции рас­ши­рений OpenGL для пред­про­
от­но­шения ме­ж ­ду объ­ек­та­ми, а ожи­дае­
мый ре­зуль­тат ото­бра­жа­ет­ся в миниа­тю­ре.
«Вы соз­дае­те для тек­ смот­ра части тек­сту­ры, что­бы вы смог­ли
со­ста­вить пред­став­ление о том, как бу­
Уз­лы в гра­фи­че­ской об­ласти мож­но пе­ре­-
дви­гать, что­бы бы­ло про­ще ви­деть про­
стур ре­цепт, а не рас­ дет вы­гля­деть конеч­ный ре­зуль­тат. Есте­
ствен­но, все фай­лы мож­но раз­ло­жить
ис­хо­д ящее, а свя­зи ме­ж ­ду ними оста­нут­ тро­вое изо­бра­же­ние.» че­ре­пи­цей и/или от­мас­шта­би­ро­вать.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
98      LXF132 Июнь 2010
 LXFHotPicks

Ана­ли­за­тор се­ти Также вышли

Darkstat 3.0.713 Новые и обновленные программы,


тоже дос­той­ные внимания…

Box 0.1.3
Вер­сия 3.0.713 Сайт http://dmr.ath.cx/net/darkstat/ Язык, на­це­лен­ный на за­вое­вание ми­ра
век­тор­ной гра­фи­ки.

Ж
а­ж ­де­те усложнить свою все­го, уже есть), и пре­крас­но ком­пи­ли­ру­ http://sourceforge.net/projects/boxc
жизнь? Пре­зи­рае­те лег­кие ет­ся обыч­ным спо­со­бом. Мож­но на­стро­
пу­ти? Ну, полагаю, ско­ро ить его по­за­ко­вы­ри­стее, но, ве­ро­ят­но,
Майк вы­даст но­вый ре­лиз MikeOS. А всем вы со­чте­те кон­фи­г у­ра­цию по умол­чанию
осталь­ным сто­ит об­ра­тить внимание вполне при­ем­ле­мой. За­пусти­те при­ло­
на про­грам­му уче­та се­те­вой ста­ти­сти­ки жение с па­ра­мет­ра­ми -i eth0, что­бы на­чать
Darkstat. сле­жение за основ­ным Ethernet-ин­тер­фей­
У нас для этой це­ли уже есть ntop, сом, и впе­ред! По умол­чанию вы смо­же­те
и он от­лич­но по­ка­зы­ва­ет, что про­ис­хо­дит про­смат­ри­вать страницы web-ин­тер­фей­са
в дан­ный мо­мент, но ес­ли вы не мо­же­те по­ на http://localhost:667, но мо­же­те из­менить
сто­ян­но сле­дить за столб­ца­ми и стро­ка­ми и порт то­же, ес­ли за­хо­ти­те (для это­го ис­
цифр, пол­зу­щи­ми по эк­ра­ну, то для дол­го­ поль­зуется ключ -p).
Ес­ли у вас еще не бо­лит го­ло­ва,
сроч­но­го на­блю­дения он не вполне го­дит­
стукнитесь ею об стол.
ся. Darkstat не пре­тен­ду­ет на гениаль­ность,
он про­сто от­чи­ты­ва­ет­ся по се­те­вой ста­
Chroma 1.11
ти­сти­ке, зато пре­достав­ляет сколь­зя­щее
Пси­хо­де­ли­че­ская иг­ра – по­иск пар­ных
среднее, таб­ли­цы и про­то­коль­ные от­че­ты.
изо­бра­жений.
Ес­ли его хо­ро­шень­ко по­про­сить, Darkstat снаб­
www.level7.org.uk/chroma
он сде­ла­ет об­рат­ные DNS-за­про­сы, ото­ жен чи­тае­мы­ми
бра­зит спи­сок пор­тов, соз­даст гра­фи­ки – man-стра­ни­ца­ми
Eric4 4.4.3
на слу­чай за­труд­
и все это на кро­шеч­ном web-сер­ве­ре, поч­ Луч­шая (?) IDE Python по­ти­хонь­к у
не­ний, хотя этим
ти не отнимаю­щем цик­лов про­цес­со­ра. бе­рет­ся за под­держ­к у Python 3.
пренебрегают мно­
Для ра­бо­ты Darkstat тре­бу­ет немно­гим http://eric-ide.python-projects.org/index.
гие по­лез­ные ин­ст­
боль­ше, чем libcap (ко­то­рый у вас, ско­рее ру­мен­ты. html

Parted Magic 4.9


Все­сто­ронний ди­ст­ри­бу­тив для восста­
Про­грам­ма для пе­ча­ти эти­ке­ток нов­ления/фор­ма­ти­ро­вания диска.
http://partedmagic.com

gLabels 2.2.7 Ocre 0.034


Про­грам­ма оп­ти­че­ско­го рас­по­зна­вания
сим­во­лов в ASCII или Unicode.
http://lem.eui.upm.es/ocre.html
Вер­сия 2.2.7 Сайт http://glabels.org
SoundConverter 1.5.0

В
е­щам нуж­ны эти­кет­ки. Ина­че как поч­то­вых ре­к­ви­зи­тов, что­бы соз­дать на­ В со­от­вет­с твии с на­званием – пре­вра­ти­те
уз­нать, что это та­кое? И – стоп! бор яр­лы­ков/кар­то­чек в од­ном сти­ле. Про­ свой FLAC в OGG и т. п.
Пра­виль­но ли все рас­став­ле­но грам­ма есте­ствен­ным об­ра­зом под­дер­жи­ http://soundconverter.berlios.de
у вас в шка­фу? Госпо­ди, на­до немед­ля на­ ва­ет лю­бые шриф­ты, имею­щие­ся в ва­шей
USBManager 1.0
кле­ить эти­кет­ки на все под­ряд! систе­ме, и вы мо­же­те за­гру­жать растро­
Ак­к у­рат­ная ути­ли­та для ра­бо­ты
Для из­го­тов­ления эти­ке­ток к бан­кам вую гра­фи­к у или фай­лы SVG, что­бы ожи­
с пор­та­тив­ны­ми USB-уст­рой­с тва­ми
с кру­пой или до­машним ви­ном мож­но ис­ вить свое твор­че­ство. Здесь да­же име­ет­ся хранения дан­ных.
поль­зо­вать и ка­кой-нибудь OpenOffice.org, встро­ен­ный генера­тор штрих-ко­дов, ес­ли https://launchpad.net/usbmanager
Inkscape или Scribus, но, че­ст­но го­во­ря, вы за­хо­ти­те по­ме­тить им свои кол­лек­ции
по­ка вы за­бье­те ту­да свой текст (или, или до­ба­вить дан­ные для ма­шин­но­го счи­ Viking 0.9.91
в слу­чае с OpenOffice.org, прой­де­те пол­- ты­вания. Соз­д а­вай­те, ре­д ак­ти­руй­те, про­смат­ри­
пу­ти до его за­груз­ки), gLabels уже успе­ет вай­те и кон­вер­ти­руй­те мар­шру­ты GPS
с исклю­чи­тель­ной точ­но­стью.
на­пе­ча­тать пяток страниц.
http://bit.ly/dltG6S
Да, gLabels не ли­шен спе­ци­фи­ки, но ра­
бо­та­ет очень хо­ро­шо. Глав­ный ключ к успе­ Wiki on a Stick 0.11.0
ху здесь в том, что он зна­ет все о кан­це­ляр­ Са­мая по­пу­ляр­ная в ми­ре реа­ли­за­ция
ских на­бо­рах пер­фо­ри­ро­ван­ных ви­зи­ток пер­со­наль­ной wiki об­ре­ла луч­ший
или листов для на­к ле­ек и по­мо­жет вам ин­тер­фейс.
на­пе­ча­тать их, не тра­тя пер­вые три стра­ http://stickwiki.sourceforge.net
ницы на раз­мет­к у изо­бра­жений и тек­сто­
gLabels во­пло­ща­
вой части. Вы мо­же­те за­про­сто на­пе­ча­тать ет дух Unix: де­лать
несколь­ко со­тен кар­то­чек или яр­лы­ков что-то од­но, но за­то
или ис­поль­зо­вать функ­цию про­ста­нов­ки хо­ро­шо.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      99
На дис­ке
DVD

Все, что вам нуж­но, что­бы ско­ро­тать вре­мя до вы­хо­да LXF133…

Ч итайте, что­бы най­ти всю ин­фор­ма­цию, ко­то­рая вам по­на­до-


­бит­ся для ис­поль­зо­ва­ния это­го DVD! Ес­ли вы но­ви­чок в Linux,
от­крой­те index.html на дис­ке (Сто­ро­на 1) и пе­рей­ди­те в раз­дел
Что та­кое Linux?
Что та­кое ди­ст­ри­бу­тив?
За­груз­ка ПК с DVD
Справ­ка: там вы най­де­те ми­ни-учеб­ник, даю­щий от­ве­ты Раз­бие­ние же­ст­ко­го дис­ка на раз­де­лы
на во­­про­сы спра­ва. На­ви­га­ция по фай­ло­вой сис­те­ме
Майк Сон­дерс, ре­дак­тор дис­ка Ис­поль­зо­ва­ние ко­манд­ной стро­ки
mike.saunders@futurenet.com Ус­та­нов­ка про­грамм

Сво­бод­ное ис­кус­ст­во

Open Clip Art 2.0


К
огда при ра­бо­те над ка­ким-то ко­го мак­си­маль­но­го чис­ла ис­поль­зо­ваний, по страницам, со­дер­жа­щим миниа­тю­ры
до­к у­мен­том вам понадобятся ил­= ниче­го по­доб­но­го. Изо­бра­жения – об­ще­ст- кли­пар­та. (Иногда по­па­да­ют­ся име­на фай­
лю­ст­ра­ции к за­дан­ной те­ме – на­ вен­ное достояние и мо­г ут при­ме­нять­ся где лов с ав­то­ром «undefined» – «не оп­ре­де­
при­мер, ком­пь­ю­те­ры, здания или жи­вот­ угод­но и столь­ко раз, сколь­ко вам нуж­но. лен» – и без миниа­тю­ры; это из-за ошиб­
ные – вы, на­вер­ное, об­ра­ти­тесь за ними Open Clip Art 2.0 (в раз­де­ле Ра­бо­чий ки в скрип­те, генери­рую­щем в Open Clip Art
к Google. И, на­вер­ное, вы бу­де­те про­ди­ стол) со­дер­жит бо­лее 13 000 изо­бра­жений га­ле­рею, так что про­сто иг­но­ри­руй­те их.)
рать­ся че­рез за­росли сай­тов, яко­бы пред­ в фор­ма­те SVG (век­тор­ном), и вы смо- Для на­хо­ж ­дения изо­бра­жения по за­
ла­гаю­щих бес­плат­ный кли­парт, но на де­ ­же­те от­крыть их в ре­дак­то­ре ти­па Inkscape дан­ной те­ме мож­но об­ра­тить­ся к функ­
ле при­ну­ж ­даю­щих подпи­сать­ся на вся­кие и сгенери­ро­вать растро­вое изо­бра­жение ции по­иска ва­ше­го фай­ло­во­го менед­же­ра.
рас­сыл­ки про­сто за доступ к фай­лам. А по­ лю­бо­го нуж­но­го раз­ме­ра без по­терь ка­- Или – восполь­зуй­тесь команд­ной стро­
том, на­вер­ное, ока­жет­ся, что эти фай­лы – че­ства. Ско­пи­руй­те openclipart-2.0‑full.zip кой, что­бы оп­ре­де­лить ме­сто­на­хо­ж ­дение
дрян­ные растро­вые изо­бра­жения с низ­ким в до­маш­нюю ди­рек­то­рию и рас­па­к уй­те его, фай­лов и от­крыть их ав­то­ма­ти­че­ски. На­
раз­ре­шением, и на них кра­су­ет­ся во­д я­ной ис­поль­зуя свой менед­жер фай­лов. Ес­ли при­мер, ес­ли вы рас­па­ко­ва­ли openclipart-
знак – URL сай­та. в по­следнем есть функ­ция пред­про­смот­ра 2.0‑full.zip в свою до­маш­нюю ди­рек­то­рию,
Open Clip Art от­ме­та­ет такие про­бле­мы. SVG-изо­бра­жений, как, скажем, в Nautilus, от­крой­те тер­ми­нал и вве­ди­те:
Он не на­к ла­ды­ва­ет ог­раничений на то, что мо­же­те пе­рей­ти в ди­рек­то­рию clipart и за­ cd openclipart-2.0-full/clipart/
мож­но де­лать с кар­тин­ка­ми из его кол­лек­ тем пе­ре­к лю­чать­ся по под­ди­рек­то­ри­ям, Те­перь вы пе­ре­шли в ди­рек­то­рию
ции – и ника­ких от­чис­лений ав­то­ру, ника­ что­бы про­смат­ри­вать изо­бра­жения. clipart. Что­бы най­ти все фай­лы, со­дер­жа­
Еще один спо­соб обо­зре­вать ар­хив – щие сло­во «kitten» («ко­те­нок») (не­важ­но,
HTML-ин­тер­фейс. Зай­ди­те в директорию в ка­ком ре­ги­ст­ре), вве­ди­те
Важ­но gallery и от­крой­те index.html для на­ви­га­ции find . | grep -i kitten

ВНИМАНИЕ!
Перед тем, как вставить DVD в дисковод, пожалуйста,
убедитесь, что вы прочитали, поняли и согласились
с нижеследующим.
Диски Linux Format DVD тщательно проверяются на предмет
отсутствия на них всех известных вирусов. Тем не менее, мы ре­
комендуем вам всегда проверять любые новые программы на­
дежным и современным антивирусом.
Хотя процесс отбора, тестирования и установки программ
на DVD проводится со всем тщанием, редакция Linux Format
не несет никакой ответственности за повреждение и/или утра­
ту данных или системы, могущее произойти при использовании
данного диска, программ или данных на нем. Настоятельно ре­
комендуем вам создавать своевременные и надежные резерв­
ные копии всех важных файлов.
Чтобы узнать об условиях использования, просим вас про­
честь лицензии.

Бракованные диски
В маловероятном случае обнаружения бракованного диска Linux
Format, просим связаться с нашей группой поддержки по адресу
disks@linuxformat.ru для получения содействия.
Про­смотр об­шир­ной кол­лек­ции Open Clip Art че­рез HTML-ин­тер­фейс.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
100      LXF132 Июнь 2010
 Ку­чи про­грамм DVD

Вы уви­ди­те спи­сок SVG-фай­лов (и их PNG-


миниатюр), со­дер­жа­щих «ко­тен­ка». Что­бы
от­крыть SVG фай­лы в Inkscape, припишите
к ко­ман­де следующий фраг­мент:
find . | grep -i kitten | grep svg | xargs
inkscape

Про­грам­мы
из Об­зо­ров
Amarok и Bluefish
Как вы, воз­мож­но, уже уви­де­ли в на­шем
раз­де­ле Об­зо­ров, мы вы­ве­ли на сце­ну но­
вые вер­сии Amarok и Bluefish. Ис­ход­ный
код для них вы най­де­те на DVD, в раз­де­лах
Ра­бо­чий стол и Ин­тернет со­от­вет­ствен­но.
Amarok применя­ет для сбор­ки CMake, и ему
нужны биб­лио­те­ки раз­ра­бот­чи­ка KDE 4
и пред­ва­ри­тель­но уста­нов­лен­ные за­го­ло­
воч­ные фай­лы. Пе­ре­йди­те коман­дой cd
в ди­рек­то­рию, соз­дан­ную по­сле то­го, как
вы рас­па­ко­ва­ли ис­ход­ный код, и вве­ди­те:
cmake -DCMAKE_INSTALL_
PREFIX=`kde4-config --prefix`
make
sudo make install
А у Bluefish име­ют­ся па­ке­ты для Fedora
и Ubuntu – для его уста­но­вки два­ж ­ды щелк­-
Veusz — жут­ко
ните по фай­лу, соответствующе­му ва­ше­ чем в обыч­ных жел­тых сти­ке­рах, постав­ из www.eMusic.com. Что­бы сде­лать это
мощ­ный ин­ст­ру­
му ди­ст­ри­бу­ти­ву. В дру­гих ди­ст­ри­бу­ти­вах ляемых с боль­шин­ством ди­ст­ри­бу­ти­вов, мент для соз­да­ния при­ло­жение еще бо­лее разносторонним,
при­дет­ся ком­пи­ли­ро­вать Bluefish из ис­ход­- по­про­буй­те CherryTree из раз­де­ла Ра­бо­ гра­фи­ков, с ог­ром­ реа­ли­зо­ван ме­ханизм рас­ши­рений – про­
но­го ко­да, как обыч­но, скрип­том configure. чий стол. Оно хранит за­мет­ки в ие­рар­хи­ ным ко­ли­че­ст­вом двинутые поль­зо­ва­те­ли мо­г ут соз­да­вать
Рас­па­к уй­те ис­ход­ный код, пе­рей­ди­те (cd) че­ской струк­т у­ре, что позволяет иметь оп­ций. соб­ствен­ные мини-при­ло­жения для ра­-
в по­лу­чив­шую­ся ди­рек­то­рию и вве­ди­те: запи­си, про­исте­каю­щие из дру­гих за­ме­ бо­ты за пре­де­ла­ми Banshee: на­при­мер,
./configure ток; оно так­же под­дер­жи­ва­ет фор­ма­ти­ по­иск слов к пес­ням и ин­ст­ру­мен­ты по­то­
make ро­вание с воз­мож­но­стью встав­ки изо­ ко­во­го Ин­тернет-ра­дио.
sudo make install бра­жений. Вме­сте с ис­ход­ным ко­дом Чи­та­те­лям с на­уч­ным скла­дом ума
По­сле уста­нов­ки, запускайте при­ло­жение вы най­де­те Deb-файл, ко­то­рый мож­ мы при­пас­ли Veusz, па­кет для изготов­ле­
вводом bluefish или до­ба­вьте икон­к у за­пус- но уста­но­вить на Ubuntu, Debian и дру­гих ния гра­фи­ков, по­зво­ляю­щий соз­да­вать
ка на ра­бо­чий стол или в менед­жер окон. ди­ст­ри­бу­ти­вах на ба­зе Debian. «го­то­вые к пуб­ли­ка­ции гра­фи­ки, гра­фи­ки
Ну, а ес­ли все это ка­жет­ся вам ки­тай­ А вот недавний ре­лиз Banshee 1.6 по­ XY и гис­то­грам­мы». Вы мо­же­те ра­бо­тать
ской гра­мо­той, зай­ди­те в раз­дел Справ­ка/ дарил нема­ло но­вых функ­ций это­му му­ в нем как че­рез GUI, так и че­рез ко­манд­
Но­вич­к у в Linux на DVD и про­чти­те крат­кое зы­каль­но­му плей­е­ру. «Auto DJ» по­сто­ян­но ную стро­к у; мож­но так­же за­дей­ст­во­вать
ру­ко­во­дство по ис­поль­зо­ванию команд­ной заботится о по­пол­н­ении вашего плей- скрип­ты. Для экс­пор­та построен­ных ва­ми
стро­ки и уста­нов­ке про­грамм – и вы по­лу­ листа, и вы мо­же­те про­смат­ри­вать аль­бо­ гра­фи­ков здесь предусмотрены фор­ма­ты
чи­те пред­став­ление о том, что про­ис­хо­дит. мы в ви­де сет­ки и им­пор­ти­ро­вать песни PostScript и PDF.

Дру­гие про­грам­мы
CherryTree, Banshee, И это еще не все!
Veusz... Пять пре­вос­ход­ных игр
Ес­ли вы ище­те при­ло­жение для соз­дания
FlightGear, как го­во­ри­лось на стр. 11, чей портрет вы мож­ете посозер­
за­ме­ток, где бы­ло бы боль­ше функ­ций, был од­ной из са­мых мно­го­обе­щаю­щих цать на стр. 88. Brain Party со­сто­ит
«раз­вле­ка­тель­ных» про­грамм с от­ из 36 ми­ни-игр, ко­то­рые про­ве­рят
кры­тым ко­дом с са­мо­го на­ча­ла раз­ра­ ва­шу ло­ги­к у, ма­те­ма­ти­че­ские зна­
бот­ки в 1997 (хо­тя мно­гие на­зва­ли бы ния и ре­ак­цию и вы­счи­та­ют вес ва­
его очень серь­ез­ным при­ло­же­ни­ем). ше­го моз­га на ос­но­ве по­лу­чен­ных
На DVD вы най­де­те FlightGear-2.0.0. ре­зуль­та­тов. Рас­па­к уй­те ар­хив и за­
tar.gz – файл раз­ме­ром 2,4 MБ, со­дер­ пус­ти­те для ком­пи­ля­ции make, а за­тем
жа­щий ос­нов­ной дви­жок для си­му­ля­ ./brainparty, что­бы за­пус­тить ее.
то­ра и ар­хив с дан­ны­ми для са­мо­ле­тов В сфе­ре 3D у нас есть Rigs of Rods,
и ланд­шаф­та. Лет­ные си­му­ля­то­ры от­ фи­зи­че­ский си­му­ля­тор, в ко­то­ром за­ Rigs of Rods про­во­ци­ру­ет вас
ли­ча­ют­ся слож­но­стью в управ­ле­нии, дей­ст­во­ва­ны гру­зо­ви­ки, кра­ны, са­мо­- стал­ки­вать ав­то­мо­би­ли. Это кру­то.
так что пе­ред пер­вым взле­том ре­ко­ ле­ты и ко­раб­ли. Его уни­каль­ность за­
мен­д у­ем про­чи­тать до­к у­мен­та­цию ключается в ис­поль­зо­ва­нии фи­зи­ки Stendhal, весьма впе­чат­ляю­ще сде­лан­
в getstart.pdf (на анг­лий­ском язы­ке). мяг­ких тел, по­это­му объ­ек­ты в нем ная он­лайн-ролевка, и но­вый ре­лиз
Сре­ди бо­лее лег­ких игр, Brain Party об­ла­да­ют оп­ре­де­лен­ной гиб­ко­стью, SuperTux – все­ми лю­би­мой плат­фор­
Bluefish 2.0 дос­ту­пен в ви­де па­ке­тов яв­ля­ет со­бой за­бав­ную ком­пи­ля­цию при­во­д я­щей к весь­ма реа­ли­стич­ мен­ной иг­ры, почерпнувшей вдох­но­-
для Fedora и Ubuntu, и мож­но ском­пи­ли­- го­ло­во­ло­мок – ее на­пи­сал Пол Хад­сон, ным кол­ли­зи­ям. И еще у нас имеется в­ен­ие в небезызвестной Mario.
ро­вать ис­ход­ный код са­мо­стоя­тель­но.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      101
На дис­ке
DVD Ди­ст­ри­бу­ти­вы Linux

Че­ты­ре класс­ных ди­ст­ри­бу­ти­ва Linux, ра­бо­таю­щих пря­мо с DVD

Ди­ст­ри­бу­тив Linux

Дис­тро-ре­во­лю­ция
L
XFDVD этого ме­ся­ца – с чет­вер­ной
за­груз­кой, то есть мы соз­да­ли осо­
бый диск, спо­соб­ный за­гру­зить для
вас на­пря­мую че­ты­ре уникаль­ных ди­ст­ри­
бу­ти­ва Linux. Про­сто за­пусти­те ком­пь­ю­тер
с DVD в при­во­де – и уви­ди­те за­гру­зоч­ное
ме­ню, по­зво­ляю­щее вы­брать ди­ст­ри­бу­тив
Linux кла­ви­ша­ми кур­со­ра и на­жа­ти­ем Enter.
Ес­ли ваш ком­пь­ю­тер не за­гру­жа­ет­ся с DVD,
воз­мож­но, надо из­менить на­строй­ки BIOS:
зай­ди­те в BIOS во вре­мя за­груз­ки ком­-
пь­ю­те­ра (обыч­но для это­го нуж­но на­жать
Esc, Del или F2), по­ищи­те оп­цию по­ряд­ка
за­груз­ки и про­верь­те, что­бы за­груз­ка с DVD
стоя­ла до за­груз­ки с же­ст­ко­го диска.
Вы мо­же­те про­чи­тать все о пре­крас­
ных функ­ци­ях, пред­ла­гае­мых эти­ми ди­ст­
ри­бу­ти­ва­ми, в ма­те­риа­ле на стр. 22; здесь
мы про­сто да­дим вам несколь­ко под­ска­
зок по ра­бо­те с ними.
Dreamlinux 3.5
За­пус­ти­те ком­пь­ю­тер, вста­вив в дис­ко­вод LXFDVD, и вы­бе­ри­те свой но­вый ди­ст­ри­бу­тив.
Пер­вым пунк­том в ме­ню за­груз­ки идет
Dreamlinux. Это Xfce-вер­сия ди­ст­ри­бу­ти­
ва (вме­сто вер­сии с Gnome по умол­чанию), Slitaz 3.0 Уч­ти­те, что неко­то­рые ин­ст­ру­мен­ты
и она ра­бо­та­ет в ре­жи­ме Live, так что Да­лее идет Slitaz – лег­ко­вес­ный Live- ад­минист­ри­ро­вания за­пускаются только
вы смо­же­те по­зна­ко­мить­ся с ней, не уста­ ди­ст­ри­бу­тив, иде­а ль­ный для ста­рых ма­ от имени root (су­пер­поль­зо­ва­те­ля), так что
нав­ли­вая на же­ст­кий диск. Ес­ли при за­ шин. Когда он за­гру­зит­ся, поя­вит­ся тек­ вам будет пред­ло­жено вве­сти па­роль.
груз­ке не возникнет ника­ких про­блем, че­ сто­вое ме­ню, пред­ла­гаю­щее вы­брать язык Па­роль – про­сто «root», и боль­шин­ство диа­
рез несколь­ко ми­нут пе­ред ва­ми поя­вит­ся и расклад­к у кла­виа­т у­ры: для это­го ис­ ло­го­вых окон на­пом­нят вам об этом, когда
ра­бо­чий стол. Что­бы за­пустить про­грам­ поль­­зуй­те кла­ви­ши кур­со­ра (или кноп­ки вы бу­де­те ис­поль­зо­вать этот ди­ст­ри­бу­тив.
мы, щел­кай­те по знач­кам внизу эк­ра­на Home/End, что­бы пе­ре­пры­ги­вать вниз- Что­бы вый­ти из систе­мы, щелкните
или восполь­зуй­тесь пик­то­грам­мой ввер­ вверх по спи­скам) и Enter. За­тем за­гру­ по крас­ной кноп­ке и вы­бе­ри­те Logout;
ху сле­ва, что­бы от­крыть боль­шое ме­ню. зит­ся ра­бо­чий стол. Это минима­ли­ст­ская пе­ред ва­ми поя­вит­ся диа­ло­го­вое ок­но,
За­кон­чив ра­бо­т у, вы мо­же­те щелк­нуть сре­да, но вы мо­же­те про­смат­ри­вать про­ ко­то­рое спро­сит вас, хо­ти­те ли вы вы­к лю­
по то­му же знач­к у и вы­брать Quit, что­бы грам­мы, щел­кая по тем­но-крас­но­му знач­ чить ком­пь­ю­тер или пе­ре­за­гру­зить его.
вый­ти из систе­мы. ку в нижнем ле­вом уг­лу. Хо­тя Slitaz за­гру­жа­ет­ся пря­мо с DVD,
мы запи­са­ли на диск так­же его ISO-об­раз,
спе­ци­а ль­но для ма­шин-ве­те­ра­нов. Зай­ди­те
в раз­дел Ди­ст­ри­бу­ти­вы/Slitaz, и вы уви­ди­
те файл .iso – мо­же­те про­жечь его на CD-R
и за­гру­зить­ся с него на ма­шине, не имею­
щей DVD-при­во­да. Помните, что вам на­до
запи­сать его как ISO-об­раз, а не про­сто
ско­пи­ро­вать файл на CD-R; ес­ли вы не уве-
­ре­ны в том, как это де­ла­ет­ся, за­гляните
в до­к у­мен­та­цию ва­шей про­грам­мы по про­
жи­г у CD. В команд­ной стро­ке вве­ди­те
cdrecord -v -dao dev=/dev/cdrom slitaz-
Про­грам­ма 3.0.iso
ус­та­нов­ки Absolute
Absolute Linux 13.1.0
Linux ра­бо­та­ет
в тек­сто­вом ре­жи­ Пре­ды­д у­щие ди­ст­ри­бу­ти­вы ра­бо­та­ют
ме, но поль­зо­вать­ в ре­жи­ме Live, а вот Absolute нуж­но сна­
ся ею не слож­но. ча­ла уста­но­вить. Этот про­цесс про­ис­хо­дит

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
102      LXF132 Июнь 2010
 Дис­тро-ре­во­лю­ция DVD

Slitaz, стар­туя, систе­ма PC BSD 8, под­роб­но рас­ска­зы­ва­


за­даст вам па­ру ет­ся на стр. 9. Мы не бу­дем здесь лишний
во­про­сов о ва­шем раз по­вто­рять­ся, и про­сто по­ка­жем, как
ме­сто­по­ло­же­нии,
уста­но­вить ее на же­ст­кий диск.
пре­ж­де чем вы­ка­
тить ра­бо­чий стол. Для на­ча­ла, за­гру­зи­те ком­пь­ю­тер
со вто­рой сто­ро­ны LXFDVD. Ре­ко­мен­ду­
ет­ся CPU Pentium 4 и вы­ше, 512 МБ па­
мя­ти и 12 ГБ на же­ст­ком диске. Спустя
непро­дол­жи­тель­ное вре­мя пе­ред ва­ми по-
я­вит­ся гра­фи­че­ский уста­нов­щик систе­
мы (ес­ли это­го не про­изой­дет, по­про­буй­те
пе­ре­за­гру­зить ком­пь­ю­тер и вы­брать
в за­гру­зоч­ном ме­ню ва­ри­ант 2 – ACPI
Disabled). Ука­жи­те язык и расклад­к у кла­
виа­т у­ры, а затем оп­ре­де­ли­тесь, что вы бу­
де­те уста­нав­ли­вать: PC BSD или оригинал,
FreeBSD. За­тем ин­стал­ля­тор пред­ло­жит
в тек­сто­вом ре­жи­ме, по­сред­ством ин­стал­ ра­бо­т у, два­ж ­ды щелкните по знач­к у Halt раз­бить диск (вы­бе­ри­те оп­цию Custom,
ля­то­ра, за­им­ство­ван­но­го из Slackware, на ра­бо­чем сто­ле. Помните, что ма­ши­на ес­ли намеревае­тесь за­дей­ство­вать фай­
и хо­тя он и не так дру­же­лю­бен к но­вич­ вы­к лю­чит­ся сра­зу, безо вся­ких на­по­ми­ ло­вую сис­те­му ZFS), за­дать па­роль root
кам, как гра­фи­че­ские про­грам­мы уста­ наний о необ­хо­ди­мо­сти со­хранить плоды и обыч­но­го поль­зо­ва­те­ля, и вы­брать ком­
нов­ки дру­гих ди­ст­ри­бу­ти­вов, но все же ва­ших трудов! по­нен­ты (web-брау­зер, поч­то­вый кли­ент,
не слиш­ком сло­жен. По­сле за­груз­ки поя­ В те­ме это­го но­ме­ра об­су­ж ­да­ет­ся ис­ ис­ход­ные тек­сты и т. п.), под­ле­жа­щие ус­та­
вит­ся ме­ню: вы мо­же­те вы­брать ин­ди­ви­ду­ поль­зо­вание ISO-об­ра­зов с про­грам­ма­ми нов­ке. Сис­те­ма при­сту­пит к ко­пи­ро­ва­нию
аль­ную расклад­к у кла­виа­т у­ры, на­стро­ить вир­т уа­ли­за­ции. Сей­час в вашем распоря­ фай­лов, по­сле че­го сле­д у­ет из­влечь диск
раз­дел под­кач­ки и т. п., или вы­брать оп­цию жении име­ет­ся фи­зи­че­ский диск, ко­то­рый из при­во­да и пе­ре­за­гру­зить­ся.
Autosetup, что­бы вы­полнилась экс­пресс- вы по­лу­чи­ли со сво­им эк­зем­п­ля­ром Linux
уста­нов­ка. Но тогда Absolute�������������
���������������������
������������
Linux�������
захва­ Format, но ес­ли вам требуется пре­вра­тить
тит весь диск це­ли­ком, так что вы­би­рай­те его в ISO-об­раз, это мож­но сде­лать од­ной-
эту оп­цию, толь­ко пред­ва­ри­тель­но соз­дав един­ствен­ной коман­дой. Вста­­вь­те LXFDVD
ре­зерв­ные ко­пии важ­ных дан­ных! в диско­вод, от­крой­те тер­ми­нал и вве­ди­те
По за­вер­шении уста­нов­ки систе­ма dd if=/dev/dvd of=lxfdvd132.iso
пе­ре­за­гру­зит­ся. Из­вле­ки­те DVD из диско­­- Выполнение команды зай­мет несколь­
во­да (что­бы установка не повторилась ко ми­нут, но в ито­ге у вас поя­вит­ся файл
по но­вой), и Absolute Linux за­пустит­ся lxfdvd132.iso – точ­ный ISO-об­раз фи­зи­че­
уже с же­ст­­ко­го диска. ско­го диска. И вы мо­же­те ис­поль­зо­вать
Unity Linux 2010 RC1 его в про­грам­мах вир­т уа­ли­за­ции.
И, на­конец, у нас есть Unity. Как вы уви­ди­
те в ме­ню за­груз­ки, для это­го ди­ст­ри­бу- Вто­рая сто­ро­на
­ти­ва име­ет­ся мас­са оп­ций. В боль­шин­стве PC BSD 8
слу­ча­ев наи­луч­шим вы­бо­ром для за­пуска О том, что пред­став­ля­ет со­бой дру­же­ PC BSD по­зи­цио­ни­ру­ет­ся как дру­же­ст­вен­ная к поль­зо­ва­те­лю
систе­мы в ре­жи­ме Live бу­дет пер­вая оп­ ствен­ная к поль­зо­ва­те­лю опе­ра­ци­он­ная на­столь­ная сис­те­ма.
ция, «Unity Live start», но вы так­же мо­же­
те вы­брать один из безо­пас­ных ва­ри­ан­тов
(«safe»), ес­ли при за­груз­ке возник­нут про­ Меж­се­те­вой эк­ран  eBox 1.4
бле­мы (на­при­мер, ес­ли ва­ша ви­део­кар­та
не оп­ре­де­ли­лась пра­виль­но). Ес­ли у вас Со стр. 16 начинается на­ше Срав­не­ние Ес­ли вам ко­гда-ли­бо слу­ча­лось
ОЗУ на 1 ГБ или боль­ше, по­про­буй­те оп­ бранд­мау­эров – т. е. ди­ст­ри­бу­ти­вов ус­та­нав­ли­вать Ubuntu че­рез его ва­
цию «Copy to RAM» («ко­пи­ро­вать в ОЗУ») – Linux, раз­ра­бо­тан­ных, что­бы пре­вра­ риа­цию Alternate, то вы уже зна­ко­мы
тить ваш ком­пь­ю­тер в се­те­вое уст­ с про­грам­мой ус­та­нов­ки eBox – она
это зна­чи­тель­но уве­ли­чит ско­рость ди­ст­
рой­ст­во и пре­сечь по­пыт­ки втор­же­ния та же са­мая. Она ра­бо­та­ет в тек­сто­вом
ри­бу­ти­ва, по­сколь­к у его не при­дет­ся счи­ в ва­ши ма­ши­ны из Ин­тер­не­та. На диск ре­жи­ме; для пе­ре­хо­да от од­но­го эле­
ты­вать с DVD. записан по­бе­ди­те­ль Срав­не­ния, eBox – мен­та эк­ра­на к дру­го­му слу­жит кла­
По­сле за­пуска Unity пред­ло­жит вам вы­ он на­хо­дит­ся в раз­де­ле Ди­ст­ри­бу­ти­вы/ ви­ша Tab, а кноп­ки вы­би­ра­ют­ся на­
eBox. Это ISO-об­раз, и для ус­та­нов­ки жа­ти­ем на Enter. В ва­ри­ан­те за­груз­ки
брать язык и расклад­к у кла­виа­т у­ры, и поя­
его нуж­но прожечь на CD-R. Ис­поль­ по умол­ча­нию eBox не по­зво­ля­ет вы­ По­бе­ди­тель на­ше­го Сравнения,
вит­ся ок­но при­гла­шения. Вы мо­же­те вой­ти зуй­те свою про­грам­му про­жи­га CD, пол­нять про­дви­ну­тые дей­ст­вия по де­ eBox, пре­вра­тит бес­хоз­ный ком­-
в систе­му под именем «guest»; а ес­ли вдруг что­бы за­пи­сать ebox_installer-14-2.iso ле­нию дис­ка на раз­де­лы – на­при­мер, пь­ю­тер в мощ­ный брандмауэр.
по­тре­бу­ют­ся действия от имени root (ад­ми­- на диск не­по­сред­ст­вен­но как об­раз соз­дать мно­же­ст­вен­ную за­груз­к у
нист­ра­то­ра), то па­роль его и есть «root». дис­ка; его нель­зя про­сто ско­пи­ро­вать, с дру­ги­ми ди­ст­ри­бу­ти­ва­ми или опе­ра­ (на анг­лий­ском язы­ке), ко­то­рый так­же
как обыч­ный файл. Ес­ли вы не уве­ ци­он­ны­ми сис­те­ма­ми; он про­сто пе­ре­ на­хо­дит­ся в раз­де­ле Ди­ст­ри­бу­ти­вы/
На­по­ми­нание об этом вы уви­ди­те в верх­
ре­ны в том, как это сде­лать, под­роб­- пи­шет весь диск це­ли­ком. eBox на дис­ке. Это очень под­роб­ное
нем ле­вом уг­лу эк­ра­на при­гла­шения. но­сти вы най­де­те в до­к у­мен­та­ции Ма­ши­не, слу­жа­щей се­те­вым бранд­ ру­ко­во­дство на 230 стра­ни­ц ах, ох­ва­ты­
Unity со­дер­жит не осо­бенно мно­го го­ ва­шей про­грам­мы для про­жи­га дис­ мау­эром, мно­же­ст­вен­ная за­груз­ка, ваю­щее во­про­сы ус­та­нов­ки, ис­поль­зо­
то­вых про­грамм, и вы мо­же­те про­смот­ ков. Кро­ме то­го, мож­но за­пи­сать его воз­мож­но, и ни к че­му; но все же ва­ния и ад­ми­ни­ст­ри­ро­ва­ния. Оно объ­
из ко­манд­ной стро­ки та­ким об­ра­зом: об этом сто­ит пом­нить. Бо­лее под­роб­ яс­ня­ет, как на­стро­ить сеть, соз­д ать
реть вклю­чен­ные в него при­ло­жения че­
cdrecord -v -dao dev=/dev/cdrom ную ин­фор­ма­цию по eBox вы най­де­те ре­зерв­ную ко­пию сис­те­мы и ус­та­но­
рез зна­чок с зе­ле­ным листи­ком в нижней ebox_installer-14-2.iso в до­к у­мен­те Network-Administrators.pdf вить об­нов­ле­ния безо­пас­но­сти.
ле­вой части эк­ра­на. Что­бы за­вер­шить

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      103
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
 DVD

Информация о диске
Что-то потеряли?

PC-BSD 8
прост в использовании, прост в управлении
Ubuntu мира FreeBSD: прост в установке,

LXFDVD 132
Июнь 2010
Часто случается, что новые программы зависят

Установка пакетов в формате PBI одним щелчком мыши


Рабочий стол KDE 4 и проприетарные драйверы NVIDIA
Графический инсталлятор с поддержкой файловой системы ZFS
А ТАКЖЕ: дополнительные модели для FlightGear
от других программных продуктов, кото­
рые могут не входить в текущую вер­
сию вашего дистрибутива Linux. льно
Мы стараемся предоставить вам Внимтаиттее это
п роч м, как
как можно больше важных вспо­
передлтье зо вать
могательных файлов. В большин­ и сп о
стве случаев, последние версии биб­ LXFDVD!
лиотек и другие пакеты мы включаем
в каталог «Essentials» (Главное) на прила­
гаемом диске. Поэтому, если в вашей системе
возникли проблемы с зависимостями, первым
делом следует заглянуть именно туда.
Форматы пакетов
Мы стараемся включать как можно больше раз­
личных типов установочных пакетов: RPM, Deb
или любых других. Просим вас принять во вни­
мание, что мы ограничены свободным про­
странством и доступными двоичными выпус­
ками программ. По возможности, мы будем
включать исходные тексты для любого пакета,
чтобы вы могли собрать его самостоятельно.
Документация
На диске вы сможете найти всю необходи­
мую информацию о том, как устанавливать
и использовать некоторые программы. Пожа­
луйста, не забывайте, что большинство про­
грамм поставляются вместе со своей докумен­
тацией, поэтому дополнительные материалы
и файлы находятся в соответствующих
директориях.
Что это за файлы?
Если вы новичок в Linux, вас может смутить изо­
билие различных файлов и расширений. Так как
мы стараемся собрать как можно больше вари­
антов пакетов для обеспечения совместимости,
А ТАКЖЕ: средства разработки, настольное ПО и игры!

LXFDVD 132
Июнь 2010
в одном каталоге часто находятся два или три
OpenClipart
по свободной лицензии
изображения, доступных
13 423 векторных

файла для различных версий Linux и различ­


ных архитектур, исходные тексты и откомпи­
революция!
виртуальную машину
ждут установки в вашу
в теме номера,
дистрибутива, упомянутых
Четыре интересных

Дистро
лированные пакеты. Чтобы определить, какой
именно файл вам нужен, необходимо обратить
внимание на его имя или расширение:
имя_программы-1.0.1.i386.rpm – вероятно,
это двоичный пакет RPM, предназначенный
для работы на системах x86;
имя_программы-1.0.1.i386.deb – такой же
пакет, но уже для Debian;
имя_программы-1.0.1.tar.gz – обычно это
FlightGear 2.0
авиасимуляторе
в этом реалистичном
Взмывайте к небесам

исходный код;
имя_программы-1.0.1.tgz – тот же файл, что
и выше по списку: «tgz» – это сокра­щение
от «tar.gz»;
имя_программы-1.0.1.tar.bz2 – тот же файл,
но сжатый bzip2 вместо обычного gzip;
имя_программы-1.0.1.src.rpm – также исход­
ный код, но поставляемый как RPM-пакет для
упрощения процесса установки;
имя_программы-1.0.1.i386.FC4.RPM – двоич­
eBox 1.4
защитить вашу сеть
Сравнения готов
Победитель нашего

ный пакет RPM для x86, предназначенный спе­


циально для операционной системы Fedora
Core 4;
имя_программы-1.0.1.ppc.Suse9.rpm – двоич­
ный пакет RPM, предназначенный специально
для операционной системы SUSE 9.x PPC;
имя_программы-devel-1.0.1.i386.rpm – вер­
сия для разработчиков.

Если диск не читается...


Это маловероятно, но если все же прилага­
емый к журналу диск поврежден, пожалуй­
ста, свяжитесь с нашей службой поддержки
по электронной почте: disks@linuxformat.ru

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      105
DVD-приложение к журналу Linux Format № 6 (132). Июнь 2010

Содержание
DVD

Сторона 1 Сторона 2

РАБОЧИй СТОЛ ДИСТРИБУТИВы СИСТЕМА PC-BSD 8.0

106      LXF132 Июнь 2010


Advene – модель и формат для аннотаций цифровых документов Absolute – дистрибутив, основанный на Slackware evilvte – эмулятор терминала Дополнительные данные для Flightgear 2.0.0
Armagetron – многопользовательская трехмерная игра Dreamlinux – свободная модульная GNU/Linux система GSSHFS – графический интерфейс для быстрого монтирования
Darkstat – программа для сбора трафика и оценки статистики eBox Platform – сервер, разработанный для нужд малого и среднего бизнеса файловых систем через SSHFS
FBReader – программа для чтения электронных книг для ПК и КПК SliTaz – компактный дистрибутив Linux libferris – виртуальная файловая система
gLabels – программа для создания визиток и этикеток в среде Gnome Unity – Linux-дистрибутив, отпочковавшийся от Mandriva rtirq – сценарий для управления ядрами реального времени VirtualBox –
gprog – утилита для копирования данных виртуальная машина
Namebench – инструмент для поиска быстрых DNS ИГРы WiFi Radar – утилита для управления профилями WiFi-соединений
NeoTextureEdit – простой в использовании редактор текстур Brain Party – двумерный паззл для всей семьи Zsh – оболочка для интерактивного использования
PAC – графический SSH- и Telnet-клиент FlightGear – свободный авиасимулятор
PyGTKPipes – реализация классической игры pipemania Rigs of Rods – реализация симулятора физического движка мягких тел
Stendhal – многопользовательская онлайновая ролевая игра
РАЗРАБОТКА SuperTux – классический двумерный платформер
BSDBuild – переносимая система сборки
Cobra – язык программирования общего назначения ИНТЕРНЕТ
GObject Builder – препроцессор для простого создания Bluefish – мощный HTML/XHTML/XML-редактор
программ с GOBject Iistwi – мощная программа для управления учетными записями Twitter
KDbg – графический интерфейс для gdb Pino – Twitter-клиент для Linux-систем
RefleX – интерпретатор XML-кода Radio Tray – простой потоковый проигрыватель, живущий
Yad – утилита для отрисовки графических диалогов в области уведомления
RetroShare – p2p-утилита для обмена файлами между
двумя пользователямиSocket Sentry – виджет для KDE,
отображающий сетевой трафик

Настоящий диск тщательно тестировался и проверялся на всех стадиях производства, однако, как и в случае с любым новым ПО, мы рекомендуем вам
КоММЕНТАрии? Присылайте ваши пожелания и предложения по электронной использовать антивирусный сканер. Мы также рекомендуем всегда иметь под рукой актуальную резервную копию данных вашего жесткого диска.
Пожалуйста, перед использова- почте: info@linuxformat.ru К сожалению, редакция Linux Format не может принимать на себя ответственность за любые повреждения, разрушения или иные убытки, которые может
нием данного диска ознакомьтесь повлечь за собой использование этого DVD, представленных на нем программ или данных. Перед тем, как устанавливать какое­либо ПО на компьютер,
подключенный к сети, проконсультируйтесь с сетевым администратором.
с опубликованной в журнале ДЕФЕКТНЫЕ ДиСКи В маловероятном случае обнаружения дефектов
на данном диске, обращайтесь пожалуйста по адресу disks@linuxformat.ru Тираж изготовлен ООО «Уральский электронный завод». 620137, Россия, г. Екатеринбург, Студенческая ул., д. 9. Лицензия МПТР ВАФ 77­15.
инструкцией!

SanderJonyandex.ru
на диск:

разработчика.
Другая ОС?
дующую команду:
cdrecord -scanbus
Создание

Нет устройства
Plextor= 0,3,0 12 16M

CDR_DEVICE=Plextor

выпить чашечку кофе.

для записи дисков?

пишущий привод (см. выше).


образа – это набрать команду
всего одно такое устройство):

cdrecord -v /path/to/image.iso

OS X, AmigaOS, или любая другая ОС.


вы можете с легкостью записать образ

ной строки, в таком случае вам придет

Вам не обязательно использовать Linux


в левой колонке, например, 0,3,0. Теперь

установку или даже установку с раздела


Если вы не из числа любителей команд­

которого можно было бы записать образ


граммы вроде cdrecord просто переносят
на помощь утилита gcombust. Запустите
(вероятно, в вашей системе присутствует
После этого на экране терминала должен

на диск, и смело нажимайте на Combust!

Linux для записи дисков: подойдет любая


для записи компакт-диска. Все необходи­
устройства представляет собой три числа

после адреса SCSI-устройства вы должны

на диск? Вы знаете кого-либо с таким уст­


Пока ваш образ пишется на диск, можете
еще проще, если вы добавите следующее:
можете заменить SCSI-адрес в командной
ных к вашей системе. SCSI-адрес каждого

указать скорость и размер буфера. Теперь

Все, что вам теперь нужно для записи ISO-

9660 Image в верхней части окна. Введите


Чтобы упростить дальнейшее использова­

Некоторые дистрибутивы умеют монти­


на чистую матрицу – это cdrecord. Для всех

ной строке для каждого устройства записи

у кого оно есть, и записать диск на его ком­

А что если у вас нет устройства, с помощью


путь к образу, который вы хотите записать
Самый быстрый способ записать ISO-образ

строке на выбранную вами метку. Все будет

ровать образы дисков и выполнять сетевую

информацией обращайтесь на web-сайт его


перечисленных ниже действий потребуются
при помощи cdrecord

пьютере. На нем может стоять Windows, Mac


отобразиться список устройств, подключен­

мые файлы уже включены в ISO-образ. Про­


ее из-под root, выберите вкладку Burn и ISO
установочных дисков

ройством? Вам не обязательно использовать

зависят от дистрибутива. За дополнительной


устройству для записи дисков. Наберите сле­

ние cdrecord, сохраните некоторые настройки

Первое слово в этой строке – это метка, затем


в файле /etc/default/cdrecord. Добавьте по од­-

данные на чистую матрицу. Если у вас нет уст­

операционная система, способная распознать


права root. Cначала определите путь к вашему

ройства для записи дисков, можно найти того,

жест­кого диска. Конкретные методы, конечно,


cdrecord dev=0,3,0 -v /путь к образу/image.iso

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
Пропустили номер?
Мир свободного ПО богат и разнообразен, а потому далеко не все можно вместить в рамки
одной статьи. Linux
��������������������������������������������������������������������������
Format обходит
�������������������������������������������������������������
эту проблему, публикуя серии статей по самым актуаль­
ным вопросам, но что делать, если вы пойма­ли интересующий вас материал на середине?
Обратитесь в Линукс­центр по адресу www.linuxcenter.ru и закажите желаемый номер журнала!
Он доставляется как в печатной, так и в электронной форме, поэтому с момента открытия бра­
узера и до получения нужного вам выпуска LXF может пройти не более нескольких минут!
Прямо сейчас для заказа доступны следующие номера:

LXF129 LXF130 LXF131


Март 2010 Апрель 2010 Май 2010
Будущее Linux сегодня Linux в офи­се Это дол­ Linux из­нут­ри Из ка­ких
Какие изменения про­ жен знать ка­ж ­дый ИТ- ком­по­нен­тов со­сто­ит
изойдут на наших рабо­ ме­нед­жер, пла­ни­рую­ со­вре­мен­ный ди­ст­ри­бу­
чих столах в этом году? щий пе­рей­ти на тив, и как они взаи­мо­
Ядро ждет помощи сво­бод­ное ПО. дей­ст­ву­ют друг
от ВАС Впишите свое Звук Как ра­бо­та­ет с дру­гом.
имя в списки разработчиков Linux. аудио­под­си­сте­ма в сво­бод­ной ОС? DOSBox Луч­ший спо­соб за­пус­тить
Android Создание приложений для мобильной Google Go Ос­вой­те но­вый язык для раз­ра­бот­ки DOS-про­грам­мы в Linux.
платформы Google. мно­го­по­точ­ных при­ло­же­ний. ClamAV Сво­бод­ный ан­ти­ви­рус: ру­ко­во­дство
gPhoto и PTP Управляйте цифровой камерой OpenVZ Бы­ст­рая вир­т уа­ли­за­ция Linux в Linux. по экс­плуа­та­ции.
с компьютера. TaskJuggler Управ­ле­ние про­ек­та­ми в сво­бод­ном ПО.

LXFDVD: Linux Mint 8, FreeBSD 8.0, LXFDVD: ми­ни-ди­ст­ри­бу­ти­вы, Hymera Open, LXFDVD: MOPSLinux 7.0 и Linux From Scratch 6.6
Calculate Linux 10.2, а также книги в PDF Pardus 2009.1

Печатная версия: Печатная версия: Печатная версия:


http://shop.linuxformat.ru/lxf_129/ http://shop.linuxformat.ru/lxf_130/ http://shop.linuxformat.ru/lxf_131/
Электронная версия в формате PDF: Электронная версия в формате PDF: Электронная версия в формате PDF:
http://shop.linuxformat.ru/elxf_129/ http://shop.linuxformat.ru/elxf_130/ http://shop.linuxformat.ru/elxf_131/

Ну, а если вы хотите быть уверенными, что не пропустите ни один номер журнала – оформите
подписку! Помните, что все подписавшиеся на печатную версию журнала через www.linuxcenter.ru
получают электронную версию в подарок!

Спешите на www.linuxformat.ru/subscribe!

Специ ал ьн ое !
пр ед лож ение Июль–декабрь 2009

ма с вопросами,
ри од ич ески приходят пись
Январь–июнь 2009
ию пе
К нам в ре да кц F. Если вы тоже
ку пи ть пр ед ыдущие выпуски LX тернет-
где мо жн о сообщить, что в ин
ад ач ен ы эт ой пр облемой, мы рады сп ро да жа жу рналов
оз а пр одолжается ра
ук сц ен тр
магазине ГНУ/Л ин ки LXF за ше ьст
го д! Вы мо же те приобрести подшив
за 2009 %.
сяцев со скидкой 30 http://shop.linuxformat.ru
или двенадцать ме го! /lxf2009_06_12/
мно
ите — ж урна лов осталось не так уж
Спеш
абрь 2009
ru /lxf2009_01_
06/ Январь–дек http://shop.linuxformat.ru/linuxform
inuxformat. at_2009/
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:

http://shop.l SanderJonyandex.ru

рубрики
Спонсор
ftware!
PingWнаinя вSмаoе 2009 года ой

Шко­ла LXF
Создан ддержк
нимается посообществ
компания за х пр одук тов, вателей
своб од ны зо
чиков, поль
их разработвнедренцев.
и
insoft.ru
www.pingw

Обмен опытом и передовые идеи по использованию свободного ПО в образовании

Сво­бод­ные ПО
и элек­тро­ни­ка
Catenary v1
Ис­ход­ные тек­сты
Scratch-про­грамм
До­пол­ни­тель­ные
биб­лио­те­ки

Что об­ще­го у сре­ды про­грам­ми­ро­ва­ния для де­тей Scratch и сво­бод­ной


вы­чис­ли­тель­ной плат­фор­мы Arduino? Алек­сандр Ка­зан­цев даст от­вет,
сде­лав управ­ле­ние ап­па­рат­ны­ми уст­рой­ст­ва­ми дос­туп­ным школь­ни­ку.

П
ро­грам­ми­ро­вание – ув­ле­ка­тель­ная вещь, но ре­зуль­ Linux. Вы мо­же­те по­вто­рить эти дей­ствия и под Windows, но раз­
тат сво­его тру­да мож­но уви­деть лишь на эк­ране. То, что би­рать­ся при­дет­ся са­мим.
мож­но по­тро­гать фи­зи­че­ски, вы­зы­ва­ет боль­ший ин­те­ Пер­вым де­лом уста­но­вим Scratch. Для это­го восполь­зуй­тесь
рес, чем вир­т у­а ль­ная ко­пия. Изу­чение ал­го­рит­мов да­ет по­ня­тие менед­же­ром па­ке­тов ва­ше­го ди­ст­ри­бу­ти­ва или ска­чай­те по­след­
«ис­полните­ля», что в боль­шин­стве дет­ских умов ас­со­ции­ру­ет­ся нюю вер­сию с сай­та про­ек­та (прав­да, най­ти ее там непро­сто).
с ро­бо­та­ми или хо­тя бы элек­трон­ны­ми уст­рой­ства­ми. Про­грам­ Уста­нов­ка и на­строй­ка ПО для Arduino осве­ще­ны в но­ме­рах LXF,
Наш ми­руя ре­а ль­ное обо­ру­до­вание и взаи­мо­дей­ствуя с ним, уча­щий­ упо­мя­ну­тых во врез­ке, и это­го мы ка­сать­ся не бу­дем. Не за­будь­
эксперт ся луч­ше понима­ет, для че­го в прин­ци­пе нуж­на про­грам­ма и как те при­го­то­вить са­му пла­т у и будь­те осто­рож­ны при об­ра­щении
ра­бо­та­ют вы­чис­ли­тель­ные систе­мы в це­лом. На­конец, когда ка­ с элек­троникой – не ка­сай­тесь ее го­лы­ми ру­ка­ми. Вам это не по­
Александр
Казанцев кая-то «же­лез­ка» вдруг вы­пол­ня­ет твои коман­ды, или пер­со­наж вре­дит, но де­та­ли мож­но «убить» ста­ти­че­ски­ми элек­три­че­ством.
К. т. н., доцент ка­ на эк­ране на­чи­на­ет слу­шать­ся толь­ко что со­б­ран­ной элек­трон­ной
федры информа­ схе­мы – это про­сто ин­те­рес­но и по­зна­ва­тель­но. Управ­ля­ем из Scratch
тики Глазовского И здесь нам по­мо­г ут сво­бод­ные ПО и элек­троника. Про­ект Мы не станем занимать­ся «на­стоя­щим» про­грам­ми­ро­ванием –
государственного
пединститута, ру­
Arduino (см. врез­к у спра­ва) по­зво­лит вой­ти в этот мир c минималь­ взаме­н, бу­дем управ­лять пла­той Arduino на­пря­мую из Scratch,
ководитель про­ ны­ми за­тра­та­ми. Един­ствен­ное «но» – про­грам­мы (т. н. «скет­чи») не за­гру­жая в нее скет­чи. И в этом нам по­мо­жет про­ект Catenary
екта EduMandriva, для ис­поль­зуе­мых в Arduino мик­ро­про­цес­со­ров (ATMega) пи­шут­ (http://scratchconnections.wik.is/User:Chalkmarrow/Catenary).Рас­па-
автор локализа­ ся на ас­семб­ле­ре или с ис­поль­зо­ванием спе­ци­а ль­ных транс­ля­ ­к уй­те ар­хив с про­грам­мой в ва­шу до­маш­нюю ди­рек­то­рию и дей­
ций (и разрабо­
то­ров с дру­гих язы­ков. Это уро­вень сту­ден­тов ву­за, при­чем про­ ствуй­те по при­ве­ден­ной ин­ст­рук­ции.
ток) для Mandriva,
Klavaro, Gambas2 дви­ну­то­го. Сре­да Arduino IDE пред­став­ля­ет верх минима­лиз­ма Спер­ва под­к лю­чи­те Arduino к ком­пь­ю­те­ру и за­лей­те в нее код,
и LXDE. и аске­тиз­ма и тре­бу­ет знания язы­ков уров­ня C или Java. Как при­ пре­вра­щаю­щий ее в пла­т у вво­да/вы­во­да. За­пусти­те Arduino IDE
ме­нять это в шко­ле? (обыч­но коман­дой arduino) и убе­ди­тесь, что в ме­ню Tools > Board
Спе­шу вас успо­ко­ить – мы бу­дем ис­поль­зо­вать пла­т у Arduino и Tools > SerialPort вы­бра­ны пра­виль­ная пла­та и порт. Да­лее, зай­
вме­сте со Scratch (см. врез­к у внизу). Scratch – это сре­да про­ ди­те в File > Examples > Firmata и вы­бе­ри­те StandartFirmata. По­
грам­ми­ро­вания «из кир­пи­чи­ков», осно­ван­ная на Logo, и с ней сле то­го, как скетч от­кро­ет­ся, за­лей­те его на пла­т у с по­мо­щью
мо­жет спра­вить­ся ре­бе­нок, на­чи­ная с 10–12 лет (при эму­ля­ции File > Upload I/O или кноп­ки на панели ме­ню. Пла­та го­то­ва к управ­
ScratchBoard) или 14–15 лет – в слу­чае Catenary. лению. Не за­будь­те под­к лю­чить све­то­ди­од к циф­ро­во­му кон­так­т у
13 (од­ну нож­к у в GND, дру­г ую в DIGITAL 13).
Ис­ход­ные ма­те­риа­лы
Итак, нам по­на­до­бят­ся: сре­да про­грам­ми­ро­вания Scratch вер­
сии не ниже 1.3 (мы возь­мем 1.4.0), пла­та Arduino (по­дой­дет лю­
бая со­вмести­мая; у нас бы­ла Arduino Duemilanove), све­то­дио­ды
трех цве­тов, кноп­ка, ре­зи­сто­ры на 1 кОм (есть в лю­бом ма­га­зине
ра­дио­то­ва­ров) и про­во­да. Не по­ме­ша­ют ма­кет­ная пла­та или па­
яльник, хо­тя мож­но со­брать все, про­сто скру­тив де­та­ли (конеч­но,
Не за­будь­те под­клю­чить сен­со­ры!
это не так кра­си­во и на­деж­но). Ра­зу­ме­ет­ся, ну­жен ди­ст­ри­бу­тив

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
108      LXF132 Июнь 2010
 Шко­ла LXF

Catenary ото­бра­
жа­ет поль­зо­ва­те­
лю ин­фор­ма­цию
Под­роб­нее о Scratch
в та­ком «ми­ни­ма­ли­
Ес­ли вы ра­нее не стал­ки­ва­лись со Scratch, вам На са­мом де­ле это боль­ше, чем сре­д а про­
стич­ном» ви­де. сто­ит по­зна­ко­мить­ся с ним по­бли­же. Это но­вая грам­ми­ро­ва­ния – это ин­ст­ру­мент соз­д а­ния
сре­да про­грам­ми­ро­ва­ния, ко­то­рая по­зво­ля­ет ин­те­рак­тив­ных мульт­филь­мов, му­зы­ки, игр,
де­тям соз­да­вать соб­ст­вен­ные ани­ми­ро­ван­ные ис­то­рий, ко­то­ры­ми мож­но по­де­лить­ся с дру­
и ин­те­рак­тив­ные ис­то­рии, иг­ры и дру­гие про­ ги­ми. Де­ти мо­г ут за­вес­ти се­бе учет­ную за­пись
из­ве­де­ния. Scratch ба­зи­ру­ет­ся на тра­ди­ци­ях на сай­те про­ек­та http://scratch.mit.edu/ и по­лу­
За­пусти­те Scratch, от­крой­те в нем про­ект, иду­щий в ар­хи­ язы­ка Ло­го и на­пи­сан на Squeak. В сре­де чать/да­вать дос­т уп к сво­им про­ек­там из лю­
ве с про­грам­мой – Scratch_Catenary1(Blink).sb, и (ни в ко­ем слу­ Scratch ис­поль­зу­ет­ся ме­та­фо­ра кир­пи­чи­ков бой точ­ки зем­но­го ша­ра. На­ли­чие спе­ци­а ль­
Ле­го, со­би­рать из ко­то­рых про­стей­шие кон­ но­го мо­д у­ля по­зво­ля­ет встраи­вать про­ек­ты
чае не за­пуская его) вклю­чи­те со­единение с уда­лен­ным сен­со­
ст­рук­ции мо­г ут да­же са­мые ма­лень­кие де­ти. Scratch в лю­бой web-сайт (тре­бу­ет­ся Java), по­
ром, вы­брав си­нюю вклад­к у Сен­со­ры и клик­нув пра­вой кноп­кой Но, на­чав с ма­ло­го, мож­но раз­ви­вать и рас­ши­ это­му он мо­жет в ка­кой-то ме­ре слу­жить за­
на лю­бом бло­ке со сло­вом «сен­сор». рять свое уме­ние стро­ить и про­грам­ми­ро­вать. ме­ной Flash. Вы мо­же­те най­ти боль­ше ин­фор­
За­тем за­пусти­те Catenary (же­ла­тель­но от имени root, что­бы Scratch соз­да­вал­ся спе­ци­а ль­но для то­го, что­ ма­ции по Scratch на та­ких сай­тах, как http://
бы под­ро­ст­ки 10–16 лет ис­поль­зо­ва­ли его са­ scratched.media.mit.edu, http://letopisi.ru, http://
не иметь про­блем с досту­пом к уст­рой­ствам, и обя­за­тель­но по­
мо­стоя­тель­но в се­ти вне­шко­ль­но­го обу­че­ния. ru-scarystories.blogspot.com.
сле Scratch). Пе­рей­ди­те в ди­рек­то­рию Catenary/application.linux/
и скоман­дуй­те:
chmod +x ./Catenary По­сле это­го на­чи­на­ем ми­гать све­то­дио­дом, пе­ре­во­д я со­
sudo ./Catenary стоя­ние циф­ро­во­го ка­на­ла из вы­к лю­чен­но­го (low) в вклю­чен­ное
В мо­ей сис­те­ме (EduMandriva) sudo не на­стро­ен, и нуж­но ис­ (high).
поль­зо­вать gksu или kdesu.
gksu ./Catenary
Ес­ли ва­ша систе­ма – 64‑бит­ная, Catenary от­ка­жет­ся ра­бо­тать,
со­слав­шись на 32‑бит­ные биб­лио­те­ки. Что­бы ис­пра­вить это, соз­
дай­те сим­воль­ную ссыл­к у на 64‑бит­ную биб­лио­те­к у librxtxSerial.
so из /usr/lib64/rxtx или /usr/lib64/rxtx-x.y.z. На­хо­д ясь в од­ном ка­
та­ло­ге с за­пускае­мым фай­лом, на­бе­ри­те (x.y.z нуж­но за­менить
на ак­т у­а ль­ную вер­си­ю):
rm ./librxtxSerial.so
ln -s /usr/lib64/rxtx/librxtxSerial.so.x.y.z ./librxtxSerial.so Ниже при­ве­де­на мо­ди­фи­ка­ция про­грам­мы, пе­ре­даю­щая аз­бу­
Кро­ме то­го, нуж­но ско­ман­до­вать: кой Мор­зе сиг­нал SOS (три ко­рот­ких, три длин­ных, три ко­рот­ких).
rm ./lib/RXTXcomm.jar Что­бы до­ба­вить но­вый текст в блок Пе­ре­дать, щелкните на стре­
ln -s /usr/share/java/RXTXcomm.jar ./lib/RXTXcomm.jar лоч­ке сбо­к у, вы­бе­ри­те Но­вый, и вве­ди­те нуж­ный текст.
В про­цес­се напи­сания ста­тьи я об­на­ру­жил, что дан­ные пе­ре­
да­ва­лись на пла­т у, но не влия­ли на со­стояние вы­хо­дов. Несколь­ко
ча­сов по­исков по­ка­за­ли, что де­ло еще в од­ной биб­лио­те­ке. Возь­
ми­те файл processing-arduino-0017.zip с LXFDVD и за­мените биб­
лио­те­к у в /Catenary/application.linux/lib на со­дер­жа­щ ую­ся в ар­хи­
ве (/arduino/library/Arduino.jar), не за­быв на­звать ее с ма­лень­кой
бу­к­вы. Это мо­жет и не по­тре­бо­вать­ся; но пре­ду­пре­ж ­ден – зна­чит,
воо­ру­жен.
На­конец, поя­вит­ся ок­но, изо­бра­жен­ное вы­ше. Пер­вый сле­ва
го­лу­бой квад­рат – циф­ро­вой кон­такт 2, по­следний – 13. Се­ры­ми
квад­ра­тика­ми обо­зна­че­ны ана­ло­го­вые кон­так­ты 0–5 (в ну­ме­ра­
ции Scratch – 14–19). Скорая
Те­перь вернитесь к Scratch и по­про­буй­те за­пустить про­ект. помощь
Ес­ли все пой­дет нор­маль­но, вы уви­ди­те ми­гаю­щий све­то­ди­од.
По­сле на­жа­тия
Раз­бе­рем, как уст­рое­на про­грам­ма. Вто­рой пер­со­наж кноп­ки сбро­са
(Catenary) ну­жен для обес­пе­чения ра­бо­ты пе­ре­мен­ных, и тро­гать на пла­те и дру­гих
его не нуж­но. Про­грам­ма пи­шет­ся в спрай­те «ко­та». Все пе­ре­да­ по­доб­ных дей­ст­
вае­мые коман­ды на­чи­на­ют­ся с ^. Спер­ва идут бло­ки инициа­ли­ вий нуж­но дей­
ст­во­вать по ал­го­
за­ции пла­ты – за­дания пор­та (^arduinoPort) и сбро­са со­стояния
рит­му:
(^reset). 1 Под­к лю­чить
Arduino и за­лить
про­шив­к у.
2 За­пус­тить
Scratch, вклю­чить
связь с сен­со­ра­ми
и на­пи­сать про­
грам­му.
3 За­пус­тить
Catenary.
Да­лее мы пе­ре­к лю­ча­ем циф­ро­вой кон­такт 13 на вы­вод 4 За­пус­тить про­
(^pinMode 13 output). грам­му в Scratch.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      109
Шко­ла LXF 

Счи­ты­вание дан­ных с кноп­ки про­ис­хо­дит че­рез сен­сор Pin2. Ес­


Arduino и его род­ст­вен­ни­ки ли его нет в вы­па­даю­щем спи­ске сен­со­ров (си­няя вклад­ка Сен­со­
ры), за­пусти­те толь­ко что на­бран­ный код. Как толь­ко сен­сор фик­си­
ру­ет на­жа­тие, мы из­ме­ня­ем со­стояние state на про­ти­во­по­лож­ное.
LXF уде­лял Arduino не­ма­ло вни­ма­ния (см. но­ме­ра 100–101 и 103–
106 на wiki.linuxformat.ru), по­это­му мы ос­та­но­вим­ся на том, где най­
ти эти уст­рой­ст­ва в Рос­сии и как по­лу­чить по­мощь на род­ном язы­
ке. Ори­ги­наль­ные пла­ты Arduino по­яв­ля­ют­ся (по ме­ре по­сту­п­ле­ния)
в ин­тер­нет-ма­га­зи­не ГНУ/Ли­нукс­цен­тра (www.linuxcenter.ru). Су­ще­ст­
ву­ют два дру­гих про­ек­та, вы­пус­каю­щих свои Arduino-со­вмес­ти­мые
пла­ты: Robocraft (http://robocraft.ru/) и Freeduino (http://freeduino.ru/).
На их сай­тах про­ек­тов мож­но най­ти мно­го по­лез­ной ин­фор­ма­ции
по ра­бо­те с пла­той.

Не толь­ко вы­ход
Но Catenary по­зво­ля­ет не толь­ко управ­лять циф­ро­вы­ми вы­хо­да­
ми – вы так­же мо­же­те из­ме­нять со­стояние ана­ло­го­вых кон­так­
тов и по­лу­чать ин­фор­ма­цию с циф­ро­вых и ана­ло­го­вых вхо­дов,
то есть под­к лю­чать внешние дат­чи­ки.
По­про­бу­ем смо­де­ли­ро­вать двух­ре­жим­ный све­то­фор: из­на­
чаль­но он бу­дет ра­бо­тать как обыч­ный (крас­ный/жел­тый/зе­ле­ По­сле стар­та мы вхо­дим в бес­ко­неч­ный цикл, в ко­то­ром, в за­
ный), а по на­жа­тию кноп­ки – пе­ре­хо­дить в ре­жим ми­гаю­ще­го жел­ ви­си­мо­сти от зна­че­ния пе­ре­мен­ной state, реа­ли­зу­ем или днев­ной
то­го и об­рат­но. ре­жим све­то­фо­ра (state = 0) или ноч­ной («ми­гал­ка» – state = 1).
Со­бе­ри­те схе­му, как по­ка­за­но на ри­сун­ке (ре­зи­сто­ры нуж­ны
для уст­ранения дре­без­га кон­так­тов и ог­раничения то­ка на све­то-
­дио­дах). По­сле это­го соз­дай­те ниже­сле­дую­щий про­грамм­ный
код, взяв за осно­ву пре­ды­д у­щий про­ект. Помните, что пер­со­наж
Catenary жизнен­но необ­хо­дим, и уда­лять его нель­зя.
Раз­бе­рем ал­го­ритм, ко­то­рый мы при­менили при соз­д ании
мо­де­ли. По­сле инициа­ли­за­ции за­да­ют­ся ре­жи­мы (^pinMode)
кон­так­тов: мы бу­дем ис­поль­зо­вать циф­ро­вые кон­так­ты 10, 11
и 12 для управ­ления све­то­дио­да­ми (зе­ле­ным, жел­тым и крас­
ным, со­от­вет­ствен­но) и циф­ро­вой кон­такт под но­ме­ром 2 как
вход кноп­ки.

Прин­ци­пи­аль­ная
схе­ма на­ше­го све­
то­фо­ра.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
110      LXF132 Июнь 2010
 Шко­ла LXF

Три пе­ре­мен­ных (green, red и yellow) оп­ре­де­ля­ют, вклю­чен ли най­ти раз­лич­ные ва­ри­ан­ты реа­ли­за­ции и со­ве­ты. Восполь­зу­ем­ся
све­то­ди­од со­от­вет­ст­вую­ще­го цве­та. Три бло­ка, в за­ви­си­мо­сти от одним из них: http://www.yengawa.com/scratch_arduino.
зна­че­ния пе­ре­мен­ных, пе­ре­да­ют на пла­т у со­от­вет­ст­вую­щие уров­ Для на­ча­ла, реа­ли­зу­ем не все функ­ции (это те­ма для от­дель­ной
ни для циф­ро­вых кон­так­тов (high и low). ста­тьи – на­пи­ши­те нам на letters@linuxformat.ru, ес­ли та­кой ма­те­
Вы мо­же­те кра­си­во офор­мить дан­ную мо­дель, сде­лав ре­а ль­ ри­а л пред­став­ля­ет ин­те­рес). Мы восполь­зу­ем­ся кноп­кой от пре­ды­
ный све­то­фор, а так­же до­ра­бо­тать про­грам­му, обес­пе­чив пра­ ду­ще­го про­ек­та. Поз­же мож­но бу­дет до­ба­вить дат­чи­ки осве­щения,
виль­ное пе­ре­к лю­чение све­та – то есть до­ба­вив воз­мож­ность од­ зву­ка, пол­зун­ко­вый ре­зи­стор и че­ты­ре ре­зи­стив­ных вхо­да.
но­вре­мен­но­го вклю­чения крас­но­го и жел­то­го пе­ред зе­ле­ным Со­брав все вме­сте и под­к лю­чив к пла­те, нуж­но за­пустить
и на­обо­рот. Так­же мож­но по­экс­пе­ри­мен­ти­ро­вать и с за­держ­ка­ми Arduino IDE и за­лить в уст­рой­ство про­шив­к у эму­ля­то­ра, ко­то­рую
сиг­на­лов све­то­фо­ра. мож­но най­ти по ад­ре­су http://www.yengawa.com/sites/default/files/
uploads/ScratchBoard.pde или на LXFDVD.
Пла­та для Scratch Да­лее, за­пусти­те Scratch и, щелк­нув пра­вой кноп­кой мы­ши
Это все, конеч­но, ин­те­рес­но, но слож­но­ва­то для школьников по бло­к у Зна­чение сен­со­ра в синей вклад­ке Сен­со­ры, вы­бе­ри­те
5–6 клас­са. А мож­но ли при­д у­мать что-то по­доб­ное и для них? По­ка­зать дан­ные ScratchBoard. За­тем щелкните пра­вой кноп­кой
Да, ес­ли по­тру­дить­ся и со­ по бло­к у, ­возник­ше­му в окне
брать на осно­ве Arduino так на­
зы­вае­мый ScratchBoard. В ори­
«Для школьников ото­бра­жения, и вы­бе­ри­те порт,
к ко­то­ро­му под­к лю­че­на ва­ша
ги­на­ле это пла­та PicoBoard,
раз­ра­бо­тан­ная спе­ци­а ль­но
5–6 класса можно пла­та. Те­перь мо­же­те про­
ве­рить, из­ме­ня­ют­ся ли зна­
для ис­поль­зо­вания со Scratch собрать ScratchBoard.» чения сен­со­ров при взаи­мо­-
и имею­щая в нем встро­ен­ную дей­ствии с ними. Ес­ли все ра­
под­держ­к у со сто­ро­ны бло­ков про­грам­ми­ро­вания (http://info. бо­та­ет, то мож­но при­сту­пать к про­грам­ми­ро­ванию (блок мож­но
scratch.mit.edu/Sensor_Boards). Про­бле­ма в том, что ScratchBoard про­сто скрыть). У вас мо­жет возник­нуть про­бле­ма с досту­пом
нуж­но за­ка­зы­вать из-за ру­бе­жа (хо­тя це­на его – не более $50); к пор­т у, по­это­му ес­ли по­сле под­к лю­чения пла­ты ниче­го не по­ме­
но с по­мо­щью Arduino мы сде­ла­ем по­доб­ную пла­т у са­ми. По ад­ ня­лось, дай­те в тер­ми­на­ле от имени root коман­д у
ре­су http://scratch.mit.edu/forums/viewtopic.php?id=28188 мож­но chown user /dev/ttyUSB0
где user – ваш поль­зо­ва­тель, а /dev/
ttyUSB0 – порт, к ко­то­ро­му под­к лю­че­на
пла­та Arduino.
Те­перь мож­но про­тести­ро­вать на­шу
ви­до­из­менен­ную про­грам­му мо­де­ли све­
то­фо­ра, но уже с ис­поль­зо­ванием воз­
мож­но­стей на­шей «ScratchBoard» и без ре­
аль­ных све­то­дио­дов. Гра­фи­че­ский текст
про­грам­мы вы мо­же­те най­ти на LXFDVD
(файл ScratchBoard_svetofor.pdf) или (на­
ря­д у с дру­ги­ми про­грам­ма­ми) по ад­ре­су
http://wiki.edumandriva.ru/wiki/index.php/
Arduino.
Мы рас­смот­ре­ли толь­ко са­мые основ­
ные мо­мен­ты ис­поль­зо­вания связ­ки
Scratch–Arduino. «За бор­том» оста­лись
управ­ление дви­га­те­ля­ми, ис­поль­зо­вание
сен­со­ров, сня­тие по­ка­заний с дат­чи­ков
и дру­гие не ме­нее ин­те­рес­ные ве­щи. На­пи­
ши­те нам или ос­тавь­те со­об­ще­ние на фо­
Наш све­то­фор не толь­ко уме­ет ми­гать в двух ре­жи­мах, но и по­зво­ля­ет пе­ре­клю­чать их ру­ме forum.linuxformat.ru, ес­ли дан­ная те­ма
кноп­кой на на­шей им­про­ви­зи­ро­ван­ной ScrAtchrDuinoBoard. вам ин­те­рес­на и ее сто­ит раз­ви­вать.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Июнь 2010 LXF132      111
Главное в мире Linux

Журнал зарегистрирован Федеральной службой


по надзору за соблюдением законодательства в сфере
массовых коммуникаций и охране культурного наследия
ПИ № ФС77-21973 от 14 сентября 2005 года
Выходит ежемесячно. Тираж 5000 экз.

Редакция русскоязычной версии


Главный редактор
Валентин Синицын info@linuxformat.ru
Литературный редактор
Елена Толстякова
Переводчики
Илья Аввакумов, Александр Бикмеев, Юлия Дронова, Александр Казанцев,
Ольга Кокорева, Светлана Кривошеина, Алексей Опарин,
Валентин Развозжаев, Татьяна Цыганова
Редактор диска
Александр Кузьменков
Верстка, допечатная подготовка
Сергей Рогожников
Технический директор
Денис Филиппов
Генеральный директор
Павел Фролов
Учредители
Частные лица
Издатели
Виктор Федосеев, Павел Фролов

Отпечатано в типографии «Взлет»


196644, Санкт-Петербург, Колпинский район, пос. Саперный
Тел.: (812) 462-85-85
Заказ 3187

Редакция англоязычной версии


Редактор Пол Хадсон [Paul Hudson] paul.hudson@futurenet.com
Редактор обзоров Грэм Моррисон [Graham Morrison]
graham.morrison@futurenet.com
Редактор диска Майк Сондерс [Mike Saunders] mike.saunders@futurenet.com
Художественный редактор Эфраин Эрнандес-Мендоса
[Efrain Hernandez-Mendoza] efrain.hernandez-mendoza@futurenet.com
Литературный редактор Эндрю Грегори [Andrew Gregory]
agregory@futurenet.com
Подготовка материалов Джоно Бэкон [Jono Bacon], Нейл Ботвик [Neil
Bothwick], Крис Браун [Chris Brown], Энди Ченнел [Andy Channelle],
Алекс Кокс [Alex Cox], Джульетта Кемп [Juliet Kemp], Бен Мартин
[Ben Martin], Мартин Мередит [Martin Meredith], Боб Мосс [Bob Moss],
Шашанк Шарма [Shashank Sharma], Клаудио Танчони [Claudio Tancioni]
Ник Вейч [Nick Veitch], Коэн Вервлоеcем [Koen Vervloesem], Леонид
Алифанов, Евгений Балдин, Андрей Боровский, Александр Казанцев,
Евгений Крестников, Александр Кузьменков, Александр Маджугин,
Дмитрий Михирев, Григорий Рудницкий, Алексей Федорчук,

В июльском номере Вячеслав Ястребцев


Художественные ассистенты Стейси Блек [Stacey Black], Ник Кокс [Nick Cox]
Иллюстрации Крис Хедли [Cris Hedley], Элли Уолтон [Elly Walton], Крис Винн
[Chris Winn], iStockPhoto

Контактная информация

Двойная
UK: Linux Format, 30 Mon­mouth Street, Bath BA1 2BW
Tel +44 01225 442244 Email: linuxformat@futurenet.com
Россия:
Санкт-Петербург (редакция):
Лиговский пр., 50, корп. 15

загрузка —
Тел.: +7 (812) 309-06-86
Представительство в Москве:
Красноказарменная ул., 17, м. «Авиамоторная» (в помещении АТС МЭИ)
Тел/факс: +7 (499) 271-49-54
По вопросам сотрудничества, партнерства, оптовых закупок:
partner@linuxcenter.ru

это просто!
Авторские права: Статьи, переведенные из английского издания Linux Format, являются
собственностью или лицензированы Future Publishing Ltd (Future plc group company). Все права
зарегистрированы. Никакая часть данного журнала не может быть повторно опубликована
без письменного разрешения издателя.
Все письма, независимо от способа отправки, считаются предназначенными для публикации,
если иное не указано явно. Редакция оставляет за собой право корректировать присланные
письма и другие материалы. Редакция Linux Format получает неэксклюзивное право
на публикацию и лицензирование всех присланных материалов, если не было оговорено иное.
Linux Format стремится оставлять уведомление об авторских правах всюду, где это возможно.

Linux и Windows вполне мо­гут со­су­ще­ство­вать


Свяжитесь с нами, если мы не упомянули вас как автора предложенных вами материалов,
и мы постараемся исправить эту ошибку. Редакция Linux Format не несет ответственности
за опечатки.

в ми­ре и со­гла­сии – мы по­ка­жем, как это­го до­бить­ся.


Ответственность за содержание статьи несет ее автор. Мнение авторов может не совпадать
с мнением редакции.
Все присланные материалы могут быть помещены на CD или DVD-диски, поставляемые
вместе с журналом, если не было оговорено иное.
Ограничение ответственности: используйте все советы на свой страх и риск. Ни при каких

Фильт­ры со­дер­жи­мо­го
условиях редакция Linux Format не несет ответственность за повреждения или ущерб, нане­
сенные вашему компьютеру и периферии вследствие использования тех или иных советов.
LINUX – зарегистрированный товарный знак Линуса Торвальдса [Linus Torvalds].
«GNU/Linux» заменяется на «Linux» в целях сокращения. Все остальные товарные знаки
По­зна­комь­тесь с луч­ши­ми при­ло­жения­ми, по­зво­ляю­щи­ми за­щи­тить являются собственностью их законных владельцев. Весь код, опубликованный в журнале,
лицензирован на условиях GPL v3. См. www.gnu.org/copyleft/gpl.html

ва­шу се­мью или офис от неже­ла­тель­но­го кон­тен­та. За информацией о журналах, издаваемых Future plc group company, обращайтесь на сайт
http://www.futureplc.com

Ре­зерв­ная ко­пия жизни


Хо­ти­те со­хра­нять все из­менения, ко­то­рые вы когда-ли­бо де­ла­ли © Linux Format 2005

в ка­ком-ли­бо фай­ле? Ну так реа­ли­зуй­те это – по на­ше­му учебнику. © Future Publishing Ltd 2005

Содержание последующих выпусков может меняться без уведомления. Bath • London • Milan • New York • Paris • san diego • San Francisco

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
112      LXF132 Июнь 2010
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
HOSTING
Mandriva Enterprise Server 5.1  с. 13

LXF132
ВАШ БЕСПЛАТНЫЙ DVD
Linux-
системы

NEXT LEVEL

LXF Июнь 2010


Новая жизнь с Unity,
Dreamlinux, Sitaz и Absolute
А также: PC-BSD 8
FlightGear Open Clip Art

Главное в мире Linux PC-BSD 8


Легкий путь в мир FreeBSD с. 9
Июнь 2010  № 6 (132)

Виртуализация
Пробуй

Zsh
Межсетевые экраны
любой! 32

PC-BSD 8
Сделайте шесть простых шагов к Linux- страницы
виртуализации, и тестируйте новые учебников
на любой

Ubuntu и демократия
дистрибутивы, не рискуя старыми с. 22 вкус!
Все цены указаны без учета НДС и регулируются условиями предоставления услуги компанией Hetzner Online AG.

Оснастим Firefox
Наша подборка лучших

Расширения Firefox
дополнений к web-браузеру с. 60
HETZNER DEDICATED HETZNER DEDICATED HETZNER DEDICATED
EQ 4 EQ 8 EQ 9 FlightGear 2.0
Цены могут быть изменены. Все права защищены соответствующими производителями.

ROOT SERVER ROOT SERVER ROOT SERVER

Intel Core i7-920 Quad-


® ™

core с поддержкой техно-


Intel Core i7-920 Quad-
® ™

core с поддержкой техно-


Intel Core i7-975 Quad-
® ™

core с поддержкой техно-


Садитесь за штурвал и запускайте
логии Hyper-Threading логии Hyper-Threading логии Hyper-Threading ВСУ в свободном авиасимуляторе с. 11
ARM

8 GB DDR3 RAM 24 GB DDR3 RAM 12 GB DDR3 RAM Hosting Next Level (Хостинг нового уровня)
2 × 750 GB SATA-II 2 × 1500 GB SATA-II 3 × 1500 GB SATA-II означает, что компания Hetzner Online готова
HDD (Software-RAID 1) HDD (Software-RAID 1) HDD (Software-RAID 5)
Настоящая безопасность
Libferris

Операционная система Операционная система Операционная система предоставить вам самые мощные решения для
Linux Linux Linux хостинга выделенных серверов из имеющихся
Windows Server
от 550 руб. в месяц
Windows Server
от 550 руб. в месяц
Windows Server
от 550 руб. в месяц сегодня на рынке. Наши предложения были Установите на ненужный ПК дистрибутив-
брандмауэр и держите сеть под замком с. 16
FlightGear

Неограниченный трафик1 Неограниченный трафик1 Неограниченный трафик1 разработаны, чтобы предоставить вам более
Восстановление системы Восстановление системы Восстановление системы высокую скорость и чрезвычайно стабильную
Установка из образов Установка из образов Установка из образов
100 GB пространства для 100 GB пространства для 100 GB пространства для сетевую инфраструктуру на базе наших
резервных копий резервных копий резервных копий собствен
собственных дата-центров в Герма-
Когда другие уважают нашу Плюс!
Google Cal

Без минимального Без минимального Без минимального нии. Б


Благодаря лучшим ценам и
контракта контракта контракта
непр
непревзойденной поддержке, мы
работу, мы растем в их сознании ARM: чем он лучше Atom?
Стоимость установки Стоимость установки Стоимость установки
5900 рублей 5900 рублей 5900 рублей прев
превосходим ожидания клиентов
как хорошие граждане CrossOver 9: Windows в Linux
Джоно Бэкон о правах человека с. 30
1900
рублей в месяц
3300
рублей в месяц
3900
рублей в месяц
по в
всему миру. Zsh: оболочка для тех, кому мало Bash
Подписной индекс в каталоге агентства «Роспечать»  20882

1 Трафик предоставляется бесплатно. При превышении порога 5000 GB/месяц скорость соединения будет ограничена 10 MBit/s.
Стоимость аренды постоянного канала с пропускной способностью 100 MBit/s составляет 290 рублей за каждый дополнительный TB.
www.hetzner.info POV-Ray OOo Base Google Calendar
Подписной индекс в каталоге «Пресса России»  87974
Подписной индекс в каталоге «Почта России»  16572

info@hetzner.com
2 Как новый клиент, вы можете сэкономить 340 рублей на первом платеже за любой из рекламируемых здесь продуктов.
Просто используйте код ваучера 071106 при совершении заказа. Предложение действительно до 21 июля 2010 года.
Классический Создавать базы Получайте уведомления
трассировщик данных под силу о землетрясениях
Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: àäæàáîâ Àëåêñàíäð Òóõòàñèíîâè÷, email:
SanderJonyandex.ru
Intel, эмблема Intel, Intel Core и Core Inside являются товарными знаками Intel Corporation в США и других странах.

лучей с. 64 каждому с. 72 в виде SMS с. 76

Вам также может понравиться