MirPC2012-10

Page 1

В! ом ВО б­р ! ТИ до о­го БУ ­ким ее т РИ вся о­л СТ ­тых и б ДИ а­би е ПО 15 , н ­во Х ис­ка ее но ЛЫ ы д ч­ш ЦЕ о­ро­н с: лу т ю 2 с Пл

Луч­ший* жур­нал про Linux в Рос­сии

* Вы только по­ди­ви­тесь на эти глян­це­вые стра­ни­цы!

Raspberry Pi: Под­клю­че­ние ото­всю­ду с. 66

Главное в мире Linux Октябрь 2012  № 10 (162)

ЛУЧ­ШИЙ ДИ­СТ­РИ­БУ­ТИВ - 2012 Мы столк­ну­ли лба­ми яр­чай­шие ре­ли­зы го­да — пусть по­бодают­ся за пер­вен­ст­во на ра­бо­чем сто­ле

ПЛЮС!

Ин­стал­ля­ция с openSUSE Live CD не ли­ше­н а при­ят­ных сюр­при­зов

с. 54

Opera про­тив Chrome » Брау­зер­ные вой­ны 2: тол­стые тет­ки по­ют, а они все вою­ют с. 14

Также в номере... Грыз­ня он­лайн От­че­го раз­го­ра­ют­ся вой­нуш­ки и за­чем лю­дям ас­бе­сто­вые шта­ны... с. 46

Кар­ты и вы­ход из кри­зи­са

Вир­ту­аль­но стро­им CPU

От­кры­тым долж­но быть не толь­ко ПО, но и зна­ние в це­лом

Раз­бе­рем­ся, что тво­рит­ся внут­ри ва­ше­го ОЗУ с. 50

Дэ­вид Ко­биа: тех­нарь-гу­ма­нист с. 42

Изу­чим Кон­тей­не­ры Linux Вир­т уа­ли­зация по частям – кон­тро­ль проще с. 88

Сво­бо­д­ное ПО

Безо­пас­ность – лег­ко

Вра­га на­до знать

Ли­цен­зия меч­ты

Пра­виль­ный па­роль

SecureBoot

» Вы­бе­ри­те под­хо­дя­щую для сво­его про­ек­та

» Де­ви­чья фа­ми­лия ва­шей ма­туш­ки – еще не за­щи­та

» Как Microsoft но­ро­вит по­ло­мать кайф от Linux

ПОДПИСНЫЕ ИНДЕКСЫ В КАТАЛОГАХ Агентство «Роспечать» – 36343, «Почта России» – 11932, «Пресса России» – 90959

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Приветствие

Что мы делаем

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

Кто мы

Во­прос, вдох­нов­лен­ный стать­ей Май­ка про де­ба­ты в Linux на стр. 46: что в Linux раз­дра­жа­ет вас боль­ше все­го?

Сто цветов Гэ­ри Уо­кер По­че­му бы там не быть од­но­му хо­ро­ ше­му ди­ст­ри­бу­ти­ву, а не ку­че? Джон мне го­во­рил, что они все рав­но оди­на­ко­вые.

Эндрю Грегори KDE про­тив Gnome про­тив Mate про­тив Cinnamon про­тив Unity. Мо­жет, луч­ше принимать в день по таб­ле­точ­ке?

Эфраин Эрнандес-Мендоса Как Ри­чард Стол­лмен вы­жи­ва­ет на дие­те из это­го его сы­ра? Я пред­по­чи­таю пи­рож­ки с на­чин­кой...

Бен Эве­рард По­че­му в Gnome Shell нет кноп­ки ВЫКЛ? Мне cо сло­ман­ной ру­кой по­на­до­би­лось шесть недель, что­бы его вы­ру­бить.

Маянк Шарма От­че­го Ша­шанк Шар­ма так фа­таль­но без­на­де­жен в иг­ре SuperTuxKart?

Джонатан Робертс От­сут­ст­вие под­ держ­ки корн­вал­ лий­ско­го язы­ка в Libre Office.

Майк Сондерс Вы­бо­ра там слиш­ком мно­го...

Валентин Синицын Две глас­ных бу­к­вы: когда я слы­шу «ли­нУкс», я хва­та­юсь за пис­то­лет. Freax бы­ло бы луч­ше.

Ник Вейч По­че­му по­сле столь­ких лет «они» по-прежнему упор­но от­ка­зы­ва­ют­ся из­менить на­звание Linux на Veitch?

Темой данного номера стало сравнение дистрибутивов, вышедших в первой половине 2012 года. На этот раз – «по олимпийской системе с выбыванием». В каждом раунде пара дистрибутивов сравнивалась по одному-единственному критерию, и выбирался победитель. В финал вышли... впрочем, не буду пересказывать статью. А на обеих сторонах диска этого месяца целых 15 дистрибутивов. Так, для сравнения. По моему глубокому убеждению, споры о «лучшем дистрибутиве всех времен и народов» – дело заведомо гиблое. После десяти минут обсуждения все сводится к сугубо субъективным оценкам «нравится – не нравится». Вероятно, при желании можно доказать теорему о том, что один дистрибутив может быть превращен в другой за некое конечное число шагов по установке и удалению пакетов и сборке чего-то недостающего из исходников. То есть технологиче­ские отличия отсутствуют, остаются только эстетиче­ские. И причина их появления – постоянное стремление к совершенству. Тут уместно вспомнить фразу из канониче­с кого цитатника Мао Цзэдуна «Пусть расцветают сто цветов, пусть соперничают сто школ» – лозунг, который китайский лидер провозгласил еще в 1957 году, задолго до появления свободного ПО.

Кирилл Степанов Главный редактор » info@linuxformat.ru

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

Сюзан Линтон Ло­гич­ные ре­шения вы­со­ко­род­ных ба­ро­ нов вы­пуска LXF – что де­лать кур­си­вом, а что жир­ным шриф­том.

Шашанк Шарма По­че­му Fedora не сде­ ла­ет ве­ге­та­ри­ан­скую вер­сию Мя­си­сто­го Чу­да? Ти­тан То­фу, на­при­мер?

Нейл Ботвик Как под­каст LXF со­че­та­ет бес­плат­ ность с ост­ро­ уми­ем и глу­би­ной? И в чем про­бле­ма жен­щин-эн­тов?

Письма для публикации: letters@linuxformat.ru Подписка и предыдущие номера: subscribe@linuxformat.ru Техническая поддержка: answers@linuxformat.ru Проблемы с дисками: disks@linuxformat.ru Общие вопросы: info@linuxformat.ru Вопросы распространения: sales@linuxformat.ru Web-сайт: www.linuxformat.ru > Адрес редакции: Россия, Санкт-Петербург, Лиговский пр., 50, корп. 15 > Телефон редакции: (812) 309-06-86. Дополнительная информация на с. 112

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 3


Содержание Меч до­б­рый, и твер­да ру­ка! И вер­ные серд­ца... эх, Джо­на­тан... Обзоры Opera про­тив Chrome ������������ 14 Мы столк­ну­ли лба­ми две тя­же­ло­вес­ных аль­ тер­на­ти­вы Firefox в на­шем тес­те.

> Най­ди­те от­ли­чие: Opera и Chrome в бит­ ве за гла­вен­ст­во сре­ди брау­зе­ров.

Raspbian ������������������������������ 17 Raspberry Pi по­лу­чил но­вый ди­ст­ри­бу­ тив, и в его оцен­ке мы раз­ры­ва­лись ме­ж ­д у на­шим внут­ренним тех­на­рем и на­столь­ным поль­зо­ва­те­лем.

Луч­ший ди­ст­ри­бу­тив 2012: Кто вый­дет по­бе­ди­те­лем в бит­ве ти­та­нов за гос­под­ство на на­столь­ном ПК?  с. 34

windows 8

> Raspbian толь­ко что удо­сто­ен зва­ния Ре­ко­мен­до­ван­но­го ди­ст­ри­бу­ти­ва для Pi.

Alien Arena ��������������������������� 18 За­глу­шим тоску оче­ред­но­го ка­торж­но­го дня в Future Publishing, ма­лость по­уби­вав при­шель­цев.

Срав­не­ние: Лицензии  с. 28

Что за шту­ка – SecureBoot?  с. 58

Люди говорят > Именно в таких сумрачных лабиринтах и следует гнездиться силам зла.

Skype 4 �������������������������������� 19 Мы уж бы­ло ре­ши­ли, что, че­го доб­ро­го, ви­де­ли по­следний Skype на Linux, но – ура! Все не так, ре­бя­та!

Это до сих пор сно­сит мне мозг. Сро­ду не счи­ тал се­бя гу­ма­ни­стом. Пря­мо бред ка­кой-то Дэ­вид Ко­биа, тех­ни­че­ский ру­ко­во­ди­тель Ushahidi  с. 42

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

4  |  LXF162 Октябрь 2012


Октябрь 2012

ших трибутивов 2 года

ны рассмотрения: u, LegacyOS, Parted Magic, ystem Rescue CD, Ubuntu

из раздела HotPicks и многое

другое

8

лучших дистрибутивов 2012 года

LINUX FORMAT: ЧЕМПИОНЫ ПО ВЕРСИИ SUSE » CentOS » Mint » Mageia » open S и Puppy А ТАКЖЕ: Arch, Fedora, PCLinuxO

ЦЕЛАЯ ФЕЕРИЯ ДИСТРИБУТИВОВ

VD

D

LXFDVD 112

LXF

На ва­шем бес­плат­ном DVD »»8 луч­ших Ли­нук­сов, ко­то­ры­ми рас­по­ла­га­ет мир сво­бод­но­го ПО

Диск вклю­ча­ет: Arch, CentOS, Fedora, Mageia, Mint, OpenSUSE, PCLinuxOS и Puppy

ПЛЮС: Го­ря­чие но­вин­ки и ко­ды к учеб­ни­кам...

111

с. 102

Ищите в этом номере

Linux-де­ба­ты � � � � � � � � � � � � � � � � � � � � � � � � � � 46 На их фоне «Фрост про­тив Ник­со­на» – так, се­меч­ки.

CPU свои­ми ру­ка­ми, часть II � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 50 Вто­рой шаг на пу­ти к ра­бо­че­му про­цес­со­ру.

Сис­ад­минам � � � � � � � � � � � � � � � � � � � � � � � � � � � 60 Но­вые муд­рые со­ве­ты уче­но­го Док­то­ра.

Пропустили номер?

Учебники Ха­кер­ст­во

Raspberry Pi ������������������������� 66 При­мените свой Pi, что­бы востор­же­ст­во­вать над шпио­на­ми и цен­зо­ра­ми по­сред­ст­вом SSH-туннели­ро­вания. Безо­пас­ность

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

Па­ро­ли �������������������������������� 70 Не по­ра ли вам пе­ре­смот­реть свой иден­ти­ фи­ка­тор поль­зо­ва­те­ля и стра­те­гию вы­бо­ра па­ро­ля? Ре­зер­ви­ро­вание

Об­лач­ное хранили­ще ����������� 74 Го­то­вить пи­щ у в нетрез­вом ви­де глу­по: от это­го бы­ва­ют по­жа­ры в до­ме, при­во­д я­щие к по­те­ре дан­ных.

Постоянные рубрики Но­во­сти ������������������������ 4

Ин­тер­вью LXF ������������ 42

Hotpicks ���������������������� 96

Планиру­ет­ся пор­тал на ба­зе СПО для об­су ­ж ­дения за­ко­нов, вы­шел про­ект «ум­но­го до­ма», а раз­ра­бо­чи­ки оза­ бо­че­ны судь­бой на­столь­но­го Linux. И отпразднован День свободы ПО!

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

От­ве­дай­те го­ря­чень­ко­го: луч­шие в ми­ре но­вин­ки сво­бод­но­го ПО.

Android ����������������������� 22

SecureBoot: объ­яс­ня­ем вме­ша­ тель­ст­­во Microsoft в ваш про­цесс за­груз­ки.

Гу­ру от фо­то­гра­фии Джуль­ет­та Кемп нау­чит вас раз­ме­щ ать изо­бра ­жения на кар­те, грея ду­шу удов­ле­творением от про­цес­са. Мобильность позволяет это делать хоть с велосипеда.

Сравнение � ������������������ 28 Бен Эве­рард идет сво­им пу­тем и вы­став­ля­ет оцен­ки ли­цен­зи­ям, ко­то­рые за­щи­ща­ют ва­шу сво­бо­д у и со­хра­ня­ют от­кры­тость про­грамм­ но­го обес­пе­чения.

Что за шту­ка �������������� 58

Руб­ри­ка си­сад­ми­на ����� 60 Бо­лее под­роб­ный пу ­те­во­ ди­тель по тернистой тро­пе к ад­минист­ра­то­ру-звез­де.

От­ве­ты ����������������������� 92 ВАШИ ПРОБЛЕМЫ РЕШЕНЫ! Нейл Бот­вик пре­достав­ля­ет по­мощь по обо­ру­до­ванию, бес­про­вод­ной свя­ зи и ди­ст­ри­бу­ти­вам.

Диск Linux Format ������ 102 Со­дер­жи­мое дву­сто­роннего DVD это­го ме­ся­ц а.

Про­пусти­ли но­мер? ��� 104 Ожи­ви­те зо­ло­т ую эпо­х у, когда Джон с Май­ком оба еще ра­бо­та­ли на нас...

Шко­ла LXF ��������������� 108 Тя­же­ло дет­ст­­во как­т у­сов в усло­ви­ях су­г у­бо кон­тинен­таль­но­го северного кли­ма­та. По­мо­жем им!

Че­рез ме­сяц �������������� 112 Рет­ро-Linux, Esoteric Bash и OpenStreetMap ждут от­важ­ных ис­сле­до­ва­те­лей.

Об­ра­бот­ка тек­ста

До­к у­мен­та­ция ��������������������� 76 Соз­дание пер­во­к ласс­ной до­к у­мен­та­ции по­мо­ жет поль­зо­ва­те­лям щел­кать ва­ши про­ек ­ты как оре­хи. Элек­троника

Arduino �������������������������������� 80 Не пу­гай­тесь диа­грамм: взбод­ри­те свое уст­ рой­ст­во вво­да мат­ри­цей кла­виа­т у­ры. Безо­пас­ность

Обо­лоч­ки NMap �������������������� 84 Се­те­вым сканером команд­ной стро­ки мож­но управ­лять и че­рез гра­фи­че­­ский ин­тер­фейс. Вир­туа­ли­за­ция

Кон­тейнеры Linux ���������������� 88 До­бавь­те к сво­ему пар­к у ма­шин еще од­ну, прак­ти­че­­ски не на­гру ­жая ре­сур­сы.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 5


Новости

Новости ГЛАВ­НОЕ  Го­су­дар­ст­вен­ный за­каз » «Ум­ный дом» на Java » Пол­ное со­вер­шен­но­ле­тие » Пла­тить или не пла­тить за СПО? » Праздник свободы ПО ПЛОЩАДКА ДЛЯ ДИСКУССИЙ

Бу­дем су­дить по за­ко­ну «Пин­гВин Соф­твер» раз­ра­бо­та­ет пор­тал для об­су­ж­дения за­ко­но­про­ек­тов.

В

се­ре­дине ав­г у­с та россий­ская ком­ пания «Пин­гВин Соф­твер» вы­ иг­р а ­л а кон­к урс Министер­с т­в а эко­н о­м и­ч е­­с ко­­г о раз­в и­т ия по соз­д анию ин­т ернет-пор­т а ­л а для пуб­лич­н о­г о об­с у­ ж ­дения про­ек ­тов и дей­с т­вую­щ их нор­ма­ тив­ных ак ­т ов ор­г а­н ов вла­с ти субъ­е к ­т ов России. Ори­е н­т и­р о­в оч­н о, про­е кт бу­д ет реа­ли­зо­ван до но­яб­ря 2012 го­да. Пор­т ал regulation.gov.ru яв­л я­е т­с я од­ ним из ин­с т­р у­м ен­т ов реа ­л и­з а­ц ии го­ су­д ар­с т­в ен­н ой про­г рам­м ы «Ин­ф ор­ ма­ц и­о н­н ое об­щ е­с т­в о», рас­с чи­т ан­н ой на 2011  –  2 020 го­д ы, со­г лас­н о ко­т о­р ой необ­х о­д и­м о при­в ле­к ать ши­р о­к ие слои гра ­ж ­д ан к об­с у ­ж ­д ению про­е к ­т ов нор­ ма­т ив­н о-пра­в о­в ых ак ­т ов. Ме­р о­п рия­т ия в дан­ной об­лас­ти пред­на­зна­че­ны для по­ вы­шения про­зрач­но­с ти дея­тель­но­с ти го­ су­д ар­с т ­в а, а так ­же про­ве­д ения экс­перт­ ной оцен­к и и вы­я в­л ения по­л о­ж ений, пре­п ят­с т­в ую­щ их осу­щ е­с т­в­л ению пред­ принима­т ель­с кой и ин­в е­с ти­ц и­о н­н ой дея­тель­но­сти. Regulation.gov.ru – ре­сурс фе­де­раль­но­ го уров­ня, слу­жа­щий для раз­ме­щения фе­

де­р аль­н ы­м и ор­г а­н а­м и ис­п олнитель­н ой вла­с ти про­е к ­т ов нор­м а­т ив­н о-пра­в о­в ых ак­тов и ре­зуль­та­тов их пуб­лич­но­го об­су ­ж­ дения. За­д а­чей«Пин­гВин Соф­твер» явля­ ется мо­дернизация су­ще­с т­вую­щего пор­ тала и соз­д ание на его осно­ве ти­по­вого ре­ш ения для раз­в о­р а­чи­в ания ана ­л о­г ич­ ных пло­ща­док в ре­гио­нах на более низких уровнях властных структур.

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

»»Рубрику готовил АРТЕМ ЗОРИН

ис­к а по ре­г ио­наль­ным пор­т а ­лам и сбо­ра ста­ти­с ти­ки для пуб­ли­ка­ции на фе­де­раль­ ном пор­та ­ле. Для «Пин­гВин Соф­твер» соз­д ание пор­ та ­ла для об­су ­ж ­дения нор­ма­тив­но-пра­во­ вых ак­тов – не пер­вый про­ект по­доб­но­го ро­д а. В 2009 го­д у ком­пания реа ­ли­зо­ва ­ла мас­штаб­ный те­ма­ти­че­­ский ин­тернет-пор­ тал www.spohelp.ru, по­с вя­щ ен­н ый под­ держ­ке сво­бод­но­го ПО. В на­ча­ле сен­тяб­ря 2012 вый­д ет в про­м ыш­л ен­н ую экс­п луа­ та­ц ию он­л айн-ре­с урс для кон­т ро­л я ис­ полнения Фе­де­раль­но­го за­ко­на № 210‑ФЗ «О пре­д остав­л ении го­с у­д ар­с т­в ен­н ых и муници­паль­ных услуг», ко­то­рый реа ­ли­ зу­ет­ся при уча­с тии ко­мис­сии Со­ве­т а Фе­ де­р а­ц ии по раз­ви­т ию ин­фор­ма­ц и­он­но­го об­ще­с т­в а. Другими словами, в конкурсе победил лостойный.

А что же с НПП? На­п омним, что «Пин­г Вин Соф­т вер» в кон­ц е 2011 го­д а по­б е ­д и ­ла в кон­к ур­с е по раз­р а­б от ­ке ди­с т ­ри­ бу­ти­ва на осно­ве Linux, ко­то­рый дол­жен был стать осно­вой На­ц ио­наль­ной про­г рамм­ной плат­фор­мы. Де­ло бы­ло сде­ла­но за ре­корд­но ко­рот­кое вре­мя – чуть менее ме­ся­ца по­на­до­би­лось спе­циа ­ли­стам ком­ пании, что­бы раз­ра­бо­тать про­то­тип так на­зы­вае­мой «на­цио­наль­ной ОС». Од­но­му Бо­г у из­вест­но, сколь­ко лю­дей по­се­де­ло, вы­пол­няя свой долг во­вре­мя... Од­на­ко с при­хо­дом но­во­го минист­ра свя­зи Ни­ко­ лая Ни­ки­фо­ро­ва в СМИ по­полз­ли слу­хи о том, что про­ект НПП за­к ро­ют, а вме­с то соз­д ания слож­но­го ком­п лек­с а про­грамм бу­дет за­к лю­че­но со­гла­шение с ком­панией Microsoft. Пред­по­ла­га­ет­ся, что кор­по­

ра­ция уста­но­вит для го­су­дар­ст­ва спе­ци­а ль­ные це­ны, что по­зво­лит по­вы­сить эф­фек ­тив­ность за­к у­пок ПО. Как со­об­ща­лось, но­вый министр счи­та­ет, что раз­ ви­тие на­цио­наль­ной про­грамм­ной плат­фор­мы бес­ пер­с пек ­т ив­н о. От­м е­ч а­е т­с я, что на Пе­т ер­бург­с ком эко­но­ми­че­­с ком фо­ру­ме Ни­ко­л ай Ни­к и­ф о­р ов уже встре­ч ал­с я с ру­ко­в о­д ством Microsoft: речь шла о по­т ен­ц и­а ль­н ом со­т рудниче­­с т­в е, в ча­с т­н о­с ти, о при­менении «об­лач­ных» тех­но­ло­гий в ра­бо­те ор­га­ нов го­су­дар­ст­вен­ной вла­сти и бизнеса. Вме­сте с тем ком­мер­че­­ские кон­трак ­ты по­ка не об­су ­ж ­да ­лись. Ре­ак­ция минист­ра свя­зи по­сле­до­ва­ла в его Твит­ те­ре, где он от­ве­ти­ли на во­прос од­но­го из чи­та­те­лей ка­са­тель­но судь­бы НПП:

«Я та­ко­го не го­во­рил, с че­го Вы взя­ли?.. Не сто­ ит так бу ­к ­в аль­н о до­в е­р ять все­м у, что на­п и­с а ­л и в га­зе­те». Но да­лее Ни­ко­лай Ни­ки­фо­ров до­полнил свой от­вет: «...но нуж­но очень чет­ко по­нять, че­го же мы все хо­т им от НПП, на что и за­ч ем мы тра­т им день­ги на ­ло­го­пла­тель­щи­ков». В то же вре­мя, от­дель­ные уча­с тники рын­ка счи­ та­ют, что от­каз от раз­ви­тия НПП нега­тив­но от­ра­зит­ся на ин­фор­ма­ци­он­ной безо­пас­но­сти России. В дан­ный мо­мент во­прос с НПП по­вис в воз­д у­хе. По­ка из­вест­но лишь од­но – но­вый министр на­ме­рен ра­зо­брать­с я в це­ле­со­об­раз­но­с ти соз­д ания На­цио­ наль­ной про­грамм­ной плат­фор­мы, жизнен­но необ­ хо­ди­мой на­шей стране.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

6  |  LXF162 Октябрь 2012


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Новости НАСТОЛЬНЫЕ СИСТЕМЫ

Слиш­ком бы­ст­рые пе­ре­ме­ны? В год 21‑летия Linux ключевые разработчики обратили внимание на основные трудности. полнения ра­бот, впо­с лед­с т­­вии ис­поль­зу­ ют­ся на Linux-сер­ве­рах. Ми­гель де Ика­с а опуб­ли­ко­вал в сво­ем бло­г е бо­л ее раз­в ер­н у ­т ые раз­м ыш­л ения о про­бле­мах, ме­шаю­щих раз­ви­т ию де­ск­­ то­па на ба­зе Linux. Пер­вой на­зва­на чрез­ мер­н ая стре­м и­т ель­н ость пе­р е­м ен; про­ грам­м а для од­н ой вер­с ии ди­с т ­р и­бу ­т и­в а мо­жет не за­ра­бо­тать в сле­д ую­щем его вы­ пуске. Осо­бен­ность со­об­ще­с т­­ва эн­т у­зиа­ стов – ма­лый ин­те­рес­ к ру­ти­не: основ­ные си ­лы тра­т ят­с я на ин­но­в а­ц ии, да ­же ес ­ли они при­во­д ят к на­ру ­шению об­рат ­ной со­ вмес­ти­мо­сти. Вто­рая при­чи­на – несо­вмес­ ти­м о­с ть ди­с т­р и­бу ­т и­вов (клю­ч е­вых ком­ понен­тов и вер­сий биб­лио­тек); это не да­ет сфор­ми­ро­вать­ся еди­ной эко­си­с те­ме раз­ ра­бот­ки, и силы распыляются. Дру­г ие раз­р а­б от­ч и­к и Linux, вклю­ч ая Ли­н у­с а Тор­в альд­с а и Ала­н а Кок­с а [Alan Сox], по­пы­та ­лись это оп­ро­верг­нуть. Ли­нус Тор­вальдс под­черк­нул, что одно из глав­ных пра­вил раз­ра­бот­ки яд­ра – со­ хранение внешних про­г рамм­н ых ин­т ер­ фей­сов. Да, внут­ренние ин ­тер­фей­сы яд­ ра на ­хо­д ят­с я в по­с то­ян­н ой пе­р е­р а­б от­ке и час­то ме­ня­ют­ся, но из­менения оста­ют­ся под ка­по­том и не влия­ют на ра­бо­т у поль­ зо­ва­тель­ско­го ок­ру ­жения. По мнению Ли­н у­с а, от­с ут­с т­­в ие ог­р а­ ни­чений на внут­ренние из­менения – один из важ ­ных фак ­то­ров под ­дер­ж ания ин­те­ ре­с а к раз­ра­бот­ке яд­ра Linux и его по­п у­ ляр­н ости в сре­д е программистов. Яд­р о пы­та­ет­ся учесть ин­те­ре­сы раз­лич­ных ка­ те­го­рий поль­зо­ва­те­лей, от сис­тем с ты­ся­

> Да­же наи­бо­ лее дру­же­люб­ные к поль­зо­ва­те­лю ди­ ст­ри­бу­ти­вы Linux не ре­шают всех про­блем с по­пу­ляр­ но­стью ОС.

Все де­ло в мо­де­лях фи­нан­си­ро­вания? На недав­н о про­х о­д ив­ш ей кон­ф е­р ен­ц ии GUADEC 2012 в чис­ле про­чих об­с у ­ж ­д ае­мых тем раз­ра­бот­чи­к и из ком­пании Yorba Адам Дингл [Adam Dingle] и Джим Нель­сон [Jim Nelson] пред­ста­ви­ли но­вые спо­со­бы кол­ лек ­тив­но­го фи­нан­си­ро­вания раз­ра­бот­ки при­ло­жений. Од­на из ин­но­ва­ций в об­лас­ти кол­лек ­тив­но­го фи­нан­ си­ро­вания – под­ход «пла­ти сколь­ко ­хо­чешь или не пла­ ти со­всем». На нем осно­ван Humble Bundle, экс­пе­ри­мен­т по про­да­жам сборников игр. Дру­гой под ­ход – фи­нан­си­ ро­вание со­об­ще­ст­вом [crowd funding]. Основной игрок здесь Kickstarter, хо­т я существуют и дру­г ие. Про­ект на Kickstarter мо­жет вы­ло­жить лю­бой, но про­ек­ты одоб­ ря­ют­ся вы­бо­роч­но. По­сле ап­ро­ба­ции ка ­ж ­дая кам­пания определяет временные рамки и ба­зо­вую це­ну, а день­ги при­с у ­ж ­д а­ю т­с я по прин­ц и­п у «все или ниче­г о» по ее окон­чании.

По сло­вам Динг­ла, на­с та­ло вре­мя соз­д ания но­во­го сай­та для кол­лек ­тив­но­го фи­нан­си­ро­вания про­грамм­ но­г о обес­п е­ч ения. Этот сайт на­д о стро­и ть с уче­т ом как по­л о­ж и ­т ель­н о­г о опы ­т а Kickstarter, так и при­чин неудач дру­гих про­е к­т ов. В ком­п ании Yorba эта идея об­с у ­ж ­д а­е т­с я, и в идеа ­л е та­кой сайт дол ­жен иметь про­с той ди­зайн и быть внешне при­в ле­ка­тель­ным, как Kickstarter, но спе­циа­ли­зи­ро­вать­ся толь­ко на ПО (и, воз­ мож­но, толь­ко на сво­бод­ном ПО). При соз ­д ании сай ­т а по­т ре­бу­ет­с я изменить под ­ход к неко­то­рым прин­ци­пам, что­бы чет­ко со­от­вет­с т­во­вать по­треб­но­стям про­ек ­тов, соз­даю­щих сво­бод­ное ПО. От­к ры­т ым оста­е т­с я во­п рос, бу­д ут ли спон­с о­р ы под­д ер­ж и­в ать раз­р а­б от­к у ка­кой-то функ­ц ио­наль­но­ сти или же раз­ра­бот­чи­ки бу­д ут оп­ре­де­лять «це­ле­вую» функ­цио­наль­ность на раз­ных уров­нях.

ча­ми про­цес­со­ров до встраи­вае­мых плат­ форм, те­л е­ф о­н ов и мар­ш ру ­т и­з а­т о­р ов. А в Gnome раз­ра­бот ­чи­к и при­дер­ж и­в а­ют­ ся пра­ви­ла «мы луч­ше зна­ем, что им надо» и внедря­ю т ­н овые ме­х аниз­мы, нра­вят­с я они поль­зо­ва­те­лям или нет, воспринимая все воз­ра­жения как по­­меху про­грес­су. Ми­гель де Ика­са от­ветил, что успех на­ столь­ных сис­тем свя­зан не толь­ко с при­ло­ жения­ми, но и с под ­держ­кой обору­до­вания сис­те­мой. Не­по­сто­ян­ст­­во ABI-ин­тер­фей­са услож­ня­ет раз­ра­бот­к у драй­ве­ров и тре­бу­ ет их по­сто­ян­ной адап­та­ции и пе­ре­сбор­ки для но­вых вер­сий яд­ра. Из-за от­сут­с т­­вия дво­ич­ной со­вмес­ти­мо­с ти, драй­вер (и лю­ бой дру­гой мо­д уль яд­ра), со­б­ран­ный для од­н ой вер­с ии яд ­р а, не смо­жет ра­б о­т ать в дру­гих вер­си­ях яд­ра без пе­ре­сбор­ки. По­ сто­ян­ные из­менения в API под­сис­тем пе­ ча­т и, зву­к о­в ой сис­т е­м е, ши­н ах об­м е­н а дан­ны­ми и сис­те­ме инициа ­ли­за­ц ии, вку­ пе с боль­шой фраг­мен­т а­ц и­ей ди­с т­ри­бу­ ти­вов, за­труд­ня­ют ра­бо­т у сто­ронних ком­ мер­че­­­ских по­с тав­щи­ков при­ло­жений, для ко­то­рых под­держ­ка на­с толь­ных ре­шений под Linux об­хо­дит­ся слиш­ком до­ро­го. Алан Кокс встал на сторону Тор­вальд­ са, ука­з ав, что ис­п ол­н яе­мый файл c иг­ рой, со­б­ран­ной им в 1992 го­д у, до сих пор пре­к рас­н о ра­б о­т а­е т неза­в и­с и­м о от вер­ сии яд­ра. До­во­ды об из­менении зву­ко­во­ го API оши­боч­ны: про­слой­ка со­вмес­ти­мо­ сти с OSS допускает ис­поль­зо­вание да­же са­мых ранних зву­ко­вых при­ло­жений. Бо­ лее вы­со­ко­уровневые сис­те­мы типа Pulse­ Audio тоже име­ют сред­с т­­в а обес­пе­чения со­вмес­ти­мо­сти со ста­ры­ми при­ло­жения­ми. Однако сис­те­мы на осно­ве Linux до сих пор не пре­одо­ле­ли да ­же двух­про­цент­ный барь­ер уста­но­вок на на­с толь­ных ком­пь­ю­ те­рах, хотя до­минируют на рын­ке мо­биль­ ных уст­ройств и сер­ве­ров. Из всего ска­з ан­н о­г о приходится сде­ лать вы­вод: Linux уже дав­но дру­же­лю­бен к поль­зо­ва­те­лю, но до сих пор не добился дру ­же­лю­бия к раз­ра­бот­чи­к у.

Фо­то © people.ubuntu.com

В

августе 2012 года ядро Linux отме­ тило свой 21 день рождения: 25 ав­ густа 1991 года Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой ОС Linux. По данным исследования, проведен­ ного по заказу Евросоюза, приблизитель­ ная стоимость разработки с нуля проекта, аналогичного современному ядру Linux, составила бы более миллиарда долларов. В связи с юбилеем некоторые клю­ чевые разработчики экосистемы Linux обозначили основные проблемы Linux на «десктопе». Например, издание Wired упомянуло мнение Мигеля де Икаса [Miguel De Icaza], инициатора проектов Gnome, Midnight Commander и Mono, в статье, задавшей­ ся вопросом «почему Mac OS X более успешна, чем Linux». Он сказал, что Linux отстает на рынке на­столь­ных систем, пото­ му что разработчики ин­с т­ру­мен­та­рия для создания графиче­­ских приложений для Linux должным образом не заботятся о со­ хранении обратной совместимости API. Из-за этого через некоторое время код пе­ рестает работать в новых дистрибутивах. По части об­рат­ной со­вмес­ти­мо­с ти Mac OS X ­мно­го луч­ше, причем пре­достав­ля­ ет Unix-по­доб­ное ок­ру­жение; и раз­ра­бот­ чи­к и при­л о­жений все ча­щ е склоняются к дан­ной плат­фор­ме. Бо­лее то­го, со сме­ щением сер­в ер­ных раз­р а­б о­т ок в сто­р о­ ну Web, ис­поль­зуе­мая на ра­бо­чей стан­ции сис­те­ма пе­ре­ста­ет вли­ять на про­цесс раз­ ра­бот­ки, и Mac OS X применяется для вы­

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

8  |  LXF162 Октябрь 2012


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Новости СПО – ДЛЯ ДОМА, ДЛЯ СЕМЬИ

Жилье с интеллектом openHAB 1.0 – плат­фор­ма для обес­пе­чения ра­бо­ты сис­тем до­машней ав­то­ма­ти­за­ции.

Компания Twitter вступила в неком­ мерческую организацию Linux Foundation. Источник: www.arstechnica.com

»

В но­вых смарт­фо­нах ком­пании Jolla, осно­ван­ной быв­ши­ми со­трудника­ми Nokia с це­лью раз­ра­бот­ки но­вых уст­ройств на осно­ве Linux-плат­ фор­мы MeeGo, бу­дет воз­мож­ность уста­нав­ли­вать, за­пускать и вы­пол­нять при­ло­жения для Android. Источник: www.gigaom.com

» ер MPD, при ­л о­ж ение для за­п и­с и ви­д ео VDR (Video Disk Recorder). Управ­ление openHAB про­ис­хо­дит че­рез web-ин­т ер­ф ейс, в ко­т о­р ом до­п уска­е т­с я под­к лю­чение до­полнитель­ных вид ­же­тов (на­при­мер, вид ­жет для вклю­чения/вы­к лю­ чения све­та в ка­ж ­дой ком­на­те или вид­жет для про­смот­ра ви­део с ка­мер сле­жения). Для ин­т е­г ра­ц ии со сто­р онними при­л о­ жения­ми пре­достав­ля­ет­с я управ­ляю­щ ий REST-API. До­п олнитель­н о под­г о­т ов­л е­н о несколь­ко аль­тер­на­тив­ных сис­тем управ­ ления, та­ких как кли­ент­ские при­ло­жения для плат­ф орм Android и iOS, по­зво­л яю­ щие управ­лять сис­те­мой с мо­биль­но­го те­ ле­фо­на или план­ше­та, а так­же опе­ра­тив­но по­лу­чать уве­дом­ления о со­бы­ти­я х. Ин­те­ рес­но, что для взаи­мо­дей­ст­вия с сер­ве­ром мож­но ис­поль­зо­вать про­то­кол XMPP, что в конеч­ном ито­ге по­зво­ля­ет поль­зо­ва­те­лю при­с ое­д инить­с я к openHAB при по­м о­щ и Jabber-кли­ен­та или GTalk, и пе­ре­дать необ­ хо­ди­мые команды в фор­ме «ча­та» со сво­ им до­мом. Сре­д и про­ч их по­л ез­н ых функ­ц ий от­ ме­ча­ет­ся поддержка ин­те­гра­ции с ка ­лен­ да­р ем-планиров­щ и­ком Google Calendar, че­рез ко­то­рый поль­зо­ва­тель мо­жет за­д а­ вать со­бы­тия, на­ме­чен­ные для ис­полнения сис­те­мой до­машней ав­то­ма­ти­за­ции в ука­ зан­н ое вре­м я. На­п ри­м ер, мож­н о до­б а­ вить в планиров­щ ик со­б ы­т ие, по ко­т о­ ро­м у ка ­ж ­д ый ве­ч ер бу­д ут за­к ры­в ать­с я жа ­лю ­зи или вре­ме­на­ми вклю­чать­с я свет для ими­т а­ц ии при­с ут­с т­в ия лю­д ей в до­ ме. Так­же поддерживается хранение кон­ фи­г у­ра­ции, управ­ляю­щих команд и ло­гов в об­л ач­ном хранили­щ е Dropbox, что по­ зво­ля­ет из­ме­нять на­строй­ки и про­смат­ри­ вать ло­ги из лю­бой точ­ки се­ти. На осно­ве соз­д а­вае­мых ло­гов сис­те­ма под ­дер­жи­ва­ ет соз­дание на­гляд­ных диа­грамм и гра­фи­ ков, по ко­то­рым, на­при­мер, мож­но су­дить об из­м енении энер­г о­п о­т реб­л ения в ука­ зан­ный пе­ри­од вре­мени. Ис­х од­н ые ко­д ы openHAB доступ­н ы под сво­бод­ной ли­цен­зи­ей GNU GPLv3. Под­ роб­но­с ти про­ек­та мож­но уз­нать на сай­те http://code.google.com/p/openhab/. Там же мож ­н о най­т и ин­с т ­рук ­ц ии по раз­р а­б от ­ке для openHAB с по­мо­щью Eclipse IDE. |

Ком­пания «Док ­тор Веб» со­об­ щи­ла, что для Linux и Mac OS X поя­вил­ся прин­ци­пи­а ль­но но­вый бэк ­дор под на­званием BackDoor.Wirenet.1 с функ­ци­ей кей­ло­ге­ра, ко­то­рая по­зво­ ля­ет от­сле­жи­вать на ­жа­тия кла­виш в ря­де по­пу­ляр­ных при­ло­жений, та­ких как Opera, Firefox, Chrome, Chromium, Thunderbird, SeaMonkey и Pidgin. Источник: http://news.drweb.com

»

В Рунете за­ра­бо­та­ло от­кры­ тое со­об­ще­ст­во wasp-guard.ru, призванное создать масштабируемую распределенную систему обнаружения вторжений, которой сможет пользо­ ваться любой системный администратор в любой части света. В проекте использу­ ются только открытые и (или) свободные инструменты мониторинга, контроля, обнаружения и устранения вторжений. Источник: www.wasp-guard.ru

»

14–16 сен­тяб­ря 2012 г. в Одес­се в Цен­тре су­пер­ком­пь­ю­тер­ных вы­чис­лений и сво­бод­но­го про­грамм­но­го обес­пе­чения ОНУ им. И. И. Мечнико­ва при ак ­тив­ном уча­стии ком­пании RootUA про­шла V Ме­ж ­д у­на­род­ная кон­фе­рен­ция для про­фес­сио­на­лов FOSS Sea 2012. Источник: www.foss-sea.org.ua

»

SUSE Linux Enterprise Server 11 SP1 по­лу­чил сер­ти­фи­кат ФСТЭК по 5‑му клас­су за­щи­щен­но­сти и 4‑му клас­су НДВ. Ис­точник: www.fstec.ru

»

Петербургская компания CSBI Group на конференции CNews пред­ ставила свободную автоматизированную банковскую систему (АБС). Ее код будет поставляться заказчикам бесплатно. Ис­точник: pda.cnews.ru/news

»

Лидер отечественного рынка устройств для электронного чтения, компания Покетбук, предста­ вила две новые бюджетные модели ридеров-читалок. Ис­точник: www.pocketbook-int.com/ru

»

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

10  |  LXF162 Октябрь 2012

В дан­ном вы­пус­ке но­во­стей ис­поль­зо­ва­ны ма­те­риа­лы с сай­тов: www.opennet.ru, www.habrahabr.ru, www.pingwinsoft.ru, www.nixp.ru, www.lwn.net, www.derstandard.at и др.

П

о­сле двух с по­ло­ви­ной лет раз­ра­ бот­ки со­с то­ял­ся вы­пуск про­ек ­та openHAB (open Home Automation Bus), соз­давшего от­кры­т ую плат­фор­мудля ор­ганиза­ции ра­бо­ты «ум­но­го до­ма», спо­ соб­ную, при уста­нов­ке над ­ле­жа­ще­го обо­ ру­до­вания, вы­пол­нять та­кие функ­ции, как вклю­чение/вы­к лю­чение осве­щения, по­да­ ча на­пря­жения на ро­зет­ки и от­кры­тие/за­ кры­тие жа­лю­зи на ок­нах. Код про­ек­та на­ пи­с ан на язы­ке Java и оформ­лен в ви­д е мо­д уль­ной сис­т е­мы OSGi (Open Services Gateway Initiative). OSGi – это спе­ци­фи­ка­ ция ди­на­ми­че­­с кой мо­д уль­ной ши­ны для соз­д ания Java-при­л о­жений, раз­р а­б а­т ы­ вае­мая кон­сор­циу­мом OSGi Alliance. Круг ее при­м енений до­в оль­н о ши­р ок. Из­н а­ чаль­но она раз­ра­ба­ты­ва ­лась для встро­ен­ ных сис­тем (в ча­ст­но­сти, для ав­то­мо­би­лей BMW; ак­тив­ное уча­ст­ие принимала также Siemens), но сей­час на ба­зе OSGi стро­я т мно­г о­функ­ц ио­наль­ные при­ло­жения (на­ при­мер, Eclipse SDK) и Enterprise-сис­те­мы. Рас­про­с тра­ня­е т­с я под ли­цен­зи­ей GPLv3. Для ор­ганиза­ции ра­бо­ты web-ин­тер­фей­са за­дей­ст­во­ван Jetty – сво­бод­ный кон­тейнер серв­ле­тов, целиком на­пи­сан­ный на Java. ОpenHAB пре­достав­ля­е т сред­с т­в а для ор­г аниза­ции ши­ны, обес­пе­чи­ваю­щей со­ гла­с о­в ан­н ую ра­б о­т у раз­л ич­н ых сис­т ем, обо­ру­д о­в ания и ин­т ер­фей­с ов до­м ашней ав­то­ма­т и­за­ции, по­зво­ляя пе­ре­д а­в ать че­ рез дан­ную ши­ну ко­ман­ды и по­лу­чать ин­ фор­ма­цию о со­стоянии. При этом openHAB не за­ви­сит от про­то­ко­лов и обо­ру­до­вания, пре­д остав­л яя от­д ель­н ый уро­в ень аб­с т­ рак­ции, по­зво­ляю­щий взаи­мо­дей­ст­во­вать с раз­лич­ны­ми ти­па­ми уст­ройств и ПО. Для оп­ре­де­ления управ­ляю­щей ло­г и­к и пред­ ла­г а­е т­с я ис­п оль­з о­в ать скрип­т ы, на­п и­ сан­ные на спе­ц и­а ль­ном пред­мет­но-ори­ ен­т и­ро­ван­ном язы­ке про­г рам­ми­ро­в ания, раз­р а­б о­т ан­н ом при по­м о­щ и язы­к а про­ грам­ми­ро­вания Eclipse Xtext. Под ­держ­ка раз­лич­ных уст­ройств и про­ то­ко­лов реа ­ли­зу­ет­с я че­рез спе­ц и­а ль­ные под­к лю­ч ае­м ые клас­с ы – на­п ри­м ер, по­ доб­ные клас­с ы соз­д а­ны для под ­д ерж ­к и про­т о­ко­лов управ­ления до­м ашней ав­т о­ ма­т и­з а­ц и­ей. Сей­час в openHAB доступ­на под­держ­ка та­ких стан­дар­тов, про­то­ко­лов, тех ­н о­л о­г ий и про­д ук ­т ов, как KNX (се­т е­ вой про­то­кол для ав­то­ма­ти­за­ции зданий), HTTP, SNMP, NTP, WoL (Wake-on-LAN), Bluetooth, мар­шру ­ти­за­то­ры AVM Fritz!Box, VoIP-сис­те­ма Asterisk, му­зыкаль­ный плей­

Новости короткой строкой


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Ре­пор­таж

День сво­бо­ды ПО 2012 Мо­ск­ви­чи встре­ти­ли этот день ми­тин­гом в цен­тре го­ро­да, рас­ска­зы­ва­ют Дмит­­рий Шу­ру­пов и Юрий Та­тар­ский.

15

с е н­т я б­р я н а­ш и к о л­л е­г и и эн ­т у ­з иа­с ты со все­г о ми­ ра отме­­­ч а­ю т День сво­б о­д ы программ­­но­го обес­пе­чения – SFD (http:// softwarefreedomday.org/). Тра­ди­ция это­го праздника за­ро­д и­лась 8 лет на­з ад: с тех пор сто­ронники сво­бод­но­го ПО еже­год­но со­би­ра­ют­ся и про­во­д ят со­вме­ст­ные ме­ро­ прия­тия для про­дви­жения сво­их идей, об­ су ­ж ­д ения на­с ущ­н ых во­п ро­с ов и про­с то при­ят­но­го об­щения. В рам­ках со­бы­тия ор­ ганизу­ют­с я кон­фе­рен­ции, се­ми­на­ры или InstallFest’ы – в об­щем, вы­би­ра­ют­ся при­ выч­ные для со­об­ще­ст­ва фор­ма­ты. Од­на­ко в этом го­ду мы ре­ши­ли по­сту­пить ина­че... За­г а­д оч­н ое ме­с то­имение «мы» скры­ вает три ком­пании – партнер­­ские аген­­т ы Canonical в России: «Флант», Progressive Operating Systems и POWERCOMP. Вес­ ной они про­в о­д и­л и мо­с­ков­с кий Ubuntu InstallFest 12.04, по ито­г ам ко­т о­р о­г о ре­ шили про­дол­ж ить про­д ви­жение сво­бод­ но­го ПО в мас­с ах, и, об­с у­ж ­д ая SFD 2012 с Мо­с­к ов­с кой груп­п ой поль­з о­в а­т е­л ей Linux (MLUG), при­шли к вы­во­д у, что хо­ро­ шо бы сде­лать со­бы­т ие, способное при­ влечь не толь­к о при­г ла­ш ен­н ых лю­д ей из со­об­ще­ст­ва, но и сто­рон­нюю пуб­ли­к у. Но как это сде­л ать? Нам по­м огла встреча с Пав­л ом Рас­с у­д о­в ым – пред­ се­д а­т е­л ем «Пи­р ат­с кой пар­т ии России». Несмот­ря на злове­щее на­звание, партия вы­с ту­пает за сво­бод­ные ли­цен­зии и сво­ бод­н ое ПО (http://pirate-party.ru/node/5). А по ро­д у сво­ей дея­тель­но­с ти они име­ют опыт про­ве­дения улич­ных ме­р о­прия­т ий. И Па­в ел сра ­з у же пред ­л о­ж ил ор­г анизо­ вать ми­т инг в цен­т ре го­р о­д а. Сна­ч а ­л а мы сту­ше­ва­лись: ка­кой еще «ми­тинг», ес­ ли речь идет об ИТ-празд­но­вании? Но, об­ су­див воз­мож­ные ва­ри­ан­ты ор­ганиза­ции, поняли, что связь слова «ми­тинг» с по­ли­ ти­кой – просто сло­ж ив­ший­ся в об­ще­с т­ве сте­рео­тип. А по сути, это встре­ча (от англ. “meeting”) еди­но­мыш­ленников.

> Единомышленников можно разыскивать и таким способом...

Празд­но­вание Пер­вым де ­лом мы про­д у ­ма ­ли раз ­д а­точ­ ный ма­те­ри­а л. Во-пер­вых, это, конеч­но же, Linux-ди­с т­ри­бу­ти­вы: CD с Ubuntu мы под­ го­то­ви­ли са­ми, плюс уда ­лось при­влечь со­ об­ще­с т ­во Russian Fedora, а так ­же раз­ра­ бот­чи­ков оте­че­­с т­вен­ной ROSA Marathon, потомка Mandriva. Под­дер­жа­ли нас и кол­ ле­г и из ГНУ/Ли­н укс­ц ен­т ра, спе­ц и­а ль­н о для ме­р о­прия­т ия вы­д е­лившие жур­н а ­лы «Linux Format» и дис­ки к жур­на­лу. Кро­ме то­го, мы на­пе­ча­та­ли два ти­па бук­ле­тов: » с об­щи­ми све­дения­ми о сво­бод­ном про­ грамм­ном обес­пе­чении и Дне сво­бо­ды ПО; » с ин­фор­ма­ци­ей про Ubuntu и ссыл­ка­ми на по­пу­ляр­ные в России web-ре­сур­сы. В Но­во­п уш­к ин­­ском скве­ре мы уста­но­ ви­ли зву­ко­вое обо­ру­до­вание и сце­н у, ук­ ра­шен­ную фир­мен­ной ат­ри­бу ­ти­кой от ор­ ганиза­т о­р ов SFD (баннер и воз ­д уш­н ые ша­ри­к и за­б ла­г о­вре­м ен­н о за­к а­з ал MLUG у аме­ри­кан­ских кол­лег). Са­мо ме­ро­прия­ тие со­с тоя­л о из вы­с ту­п­л ений членов русскоя­зыч­н о­г о СПО-со­о б­щ е­с т ­в а и раз­ вле­ка­тель­ных сцен в ис­полнении ак ­те­ров. Вы­с ту­п­л ений планиро­в а ­л ось де­с ять: Юрий Та­т ар­с кий (Progressive Operating Systems, yury.tatarsky@p-os.ru) рассказал о празднике, ор­г аниза­т о­р ах, вы­с ту­п аю­ щих, а Па­вел Рас­су­дов – об отношении Пи­ ра­тов к СПО. EQuivalent (MLUG) задал по­ лемический вопрос «При­над­ле­жат ли вам ва­ши про­г рам­мы?». XMs (MLUG) описал ли­цен­зии на софт, CYB3R (MLUG) – тиво­­и­ за­цию, DRM и «vendor lock-in». Ки­рилл Ле­ бе­д ев (POWERCOMP) озвучил проблемы про­ти­во­стояния сво­бод­ного и про­прие­тар­ ного ПО на рын­ке. Об особенностях сооб­ щества говорили Петр Ле­мен­ков (Russian Fedora) и Станислав По­гор­ж ель­ский (Russian Ubuntu LoCo Team). Valber (MLUG) напомнил об ус­пехах СПО в нау­ке, а Дмит­ рий Шу ­р у ­п ов (Флант, dmitry.shurupov@ flant.ru) охватил диапазон от фи­ло­со­фии до бизнеса. Речи умыш­л ен­н о де­л ались пяти­ми­нутными, что­бы зрители не заску­ чали. Во вре­мя празд­но­вания к нам по­до­ шел ук­ра­ин­ский кол­ле­га Ми­ха­ил Ши­го­рин из ALT Linux Team и тоже попро­с ил сло­ ва. Немно­го вре­мени у нас в за­па­се было, и мы с удо­воль­ст­ви­ем со­гла­си­лись. Вы­с ту­п­ления «раз­б ав­ля­лись» сце­нка­ ми из мини-се­р иа ­л а про ком­пь­ю­т ер­ный сер­вис. По сю­же­т ам, при­д у­ман­ным на­ми и членами MLUG, ре­ж ис­с ер Алек­с ей Се­ реб­р енников на­пи­с ал неболь­ш ой сце­н а­

> Антилопа-гну в очередной раз выступает героем лозун­га на службе прогресса.

рий, и его воплотили ак­те­ры Ни­ко­лай Ко­ ро­бов и Юлия Га­ли­на. За­ри­сов­ки о­т­ража­ли про­бле­мы среднеста­ти­с ти­че­­ских поль­зо­ ва­те­лей про­прие­тар­но­го ПО и их ре­шение с по­мо­щью сво­бод­но­го ПО, и бы­ли сде­ла­ ны с юмо­ром, так что публика встре­т ила их здоровым сме­хом. Кста­т и о пуб­ли­ке: из-за на­ме­чав­ше­го­ ся по со­с ед­с т­в у по­л и­т и­ч е­­с ко­­г о ми­т ин­г а («Марш мил­лио­нов») по­ли­ц ия при­ло­ж и­ ла мак­си­мум уси­лий, что­бы ог­ра­дить на­ ше ме­р о­п рия­т ие от про­в о­к а­т о­р ов. Мно­ гие про­хо­жие опа­са ­лись к нам про­хо­дить; но в ито­ге ми­тинг по­се­ти­ли око­ло 200 че­ ло­век (что мы оценили по чис­л у роз­д ан­ ных дис­ков с Linux-ди­с т­ри­бу­ти­ва­ми). По­ сле ме­р о­п рия­т ия эн­т у­з иа­с ты из MLUG взя­ли часть остав­ших­ся ма­те­риа­лов и раз­ да ­ли их про­хо­жим на ули­цах Мо­ск­вы.

Не Мо­ск­вой еди­ной Software Freedom Day 2012 от­м е­ч ал­с я и в дру­гих го­ро­дах России. В осо­бен­но­сти отличились Са­р а­т ов (http://habr.ru/post/ 151539/), Уль­я­новск (http://ul.sfd2012.ru/), Омск (http://bit.ly/sfd2012omskannounce) и Но­во­си­бирск (http://lugnsk.org/sfd2012). Пол­ный спи­сок го­ро­дов этим не ог­раничи­ ва­ет­ся – см. http://wiki.softwarefreedomday. org/2012/Russia. |

Спе­ши­те ви­деть! Все фо­т о с Празд ­н и­к а дос ­т уп­н ы на https://plus.google.com/ photos/102135447748820605505/albums/5788520453323030017. Видеозапись с отчетом о мероприятии и интервью посетителей можно посмотреть на http://youtu.be/XBBHaEpUebE. А все празд­ ничные видео размещены на канале http://ubuntv.ru.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

12  |  LXF162 Октябрь 2012


Обзоры Новинки программного и аппаратного обеспечения в описании наших экспертов АЛЕКСЕЙ ФЕДОРЧУК Тэг <сар­казм> по умол­ча­нию, смай­ли­ки по вку­су.

Сегодня мы рассматриваем: Opera про­тив Chrome... �������������� 14

openSUSE 12.2: де­тек­ тив во­круг ре­ли­за

К

огда вы бу­д е­т е чи­т ать этот но­мер, вы­ход указан­но­го ре­ ли­за со­стоит­ся как фак­т. Но ему пред­ш е­с т­в о­в а ­л а поч­т и де­т ек­ тив­ная ис­то­рия. 31 ав­г у­с та «по Рос­ сии слух про­шел», что об­ра­зы дол­го­ ждан­но­го ре­ли­за – на офи­ци­а ль­ных зер­ка­лах про­ек­та. Прав­да, они поч­ти мгно­вен­но ис­чез­ли, но оста ­лись до­ ступ­н ы­м и несколь­к о уже неофи­ ци­а ль­н ых зеркал, ор­г анизо­в ан­н ых пред­п ри­и м­ч и­в ы­м и сту­д ен­т а­м и. Но через день и они та­ин­с т­вен­ным об­ ра­з ом ис­ч ез­л и. Возника­е т во­п рос: не бы­ла ли это соз­на­тель­ная утеч­к а ин­фор­ма­ции со сто­ро­ны раз­ра­бот­чи­ ков? Цель ко­то­рой – раз­влечь на­род, пока они от­ды­ха­ют от тру­дов пра­вед­ ных и со­чи­ня­ют текст пресс-ре­ли­за. Что де­ла­ет честь их чув­ст­ву юмо­ра. Од­н а­к о за­и н­т е­р е­с о­в ан­н ые ли­ц а (вклю­чая ав ­то­ра этих строк) успе ­ли во­ж ­де­лен­ные об­ра­зы ска­чать и да­же уста­н о­в ить с них сис ­т е­м у, получив шанс оз­на­ко­мить­ся с еще не объ­яв­ лен­ным ре­ли­зом досроч­но. Сис­те­ма, с них уста­нов­лен­ная, ока­з а ­лась бо­ лее чем ра­бо­то­спо­с об­ной. А вослед поя­ви­лись уже и офи­ц и­а ль­ные ре­ по­зи­то­рии, так что не было про­блем, ска­жем, с се­те­вой уста­нов­кой или об­ нов­лением кан­ди­да­та в ре­ли­зы. Что же до соб­с т­в ен­н о ре­л и­з а – он вполне оп­р ав­д ал воз­л а­г ав­ш ие­ ся на него на­де­ж ­ды. А имен­но: в нем нет ниче­го ульт­ра-ре­во­лю­ц и­он­­ного. И по-прежнему существует вы­б ор ме­ж ­д у сти­лем «ги­пер­мо­дерн», при­ чем в очень смяг­ч ен­н ом ва­р и­а н­т е, и тра ­д и­ц и­о н­н ым сти ­л ем, вот уже бо­л ее двух де­с я­т и­л е­т ий обес­п е­ч и­ ваю­щ им openSUSE при­в я­з ан­н ость поль­зо­ва­те­лей. alv@posix.ru

Этот брау­з ер пер­в ым дал нам но­м е­р а бы­с т­р о­г о на­б о­ ра и вклад­ки, и он по-прежнему бы­с т­рее всех, но жес­то­ ко недо­оценива­ет­ся поль­зо­ва­те­ля­ми Linux. Сто­ит ли тер­ петь про­прие­т ар­н ую ли­цен­зию ра­д и его за­ме­ча­т ель­ных функ­ций?

Alien Arena: Пе­ре­за­груз­ка 7.60 ������������������������� 18 Возь­ми­т е при­ш ель­ц ев из недо­оценен­ных «Атак Мар­с а» Ти­ма Бер­то­на, до­бавь­те от­кры­тый иг­ро­вой дви­жок, ве­се­ лый Quake-по­доб­ный за­хват фла­га и смер­тель­ную схват­ ку, и вы по ­л у ­ч и ­т е эту жем­ч у ­ж ин­к у сре ­д и игр. При­ч ем с он­лайн-ре­жи­мом!

...и Chrome про­тив Opera ���������� 14

Skype ������������������������������������������������� 19

Google обод­рал свой брау­зер Chrome, что­бы дать нам не­ что по­д об­н ое ори­г и­н а­л у – Firefox. Chrome быстр, прост и изо­б и­л у­е т до­п олнения­м и, ес­л и они ко­м у нуж­н ы. И как же он смот­рит­ся на фоне Opera?

Skype по­зво­ля­ет нам го­во­рить с да ­ле­ки­ми близ­ки­ми бес­ плат­но, где бы они ни на­хо­ди­лись (ес­ли у них при­лич­ная по­ло­с а про­пускания). Но не по­зво­ля­ет изу­чить свой код, а это не есть хо­ро­шо.

Raspbian ������������������������������������������ 17 Это не ди­ст­ри­бу­тив, раз­ра­бо­тан­ный ха­ке­ра­ми с гре­че­­ско­­ го ост­р о­в а Рас­п бос, а вер­с ия Debian, спе­ц и­а ль­но пред­ на­зна­чен­н ая для мак­с и­м аль­но­г о ис­поль­зо­в ания кра­с от Raspberry Pi. Мы его уже по­лю­би­ли.

Raspbian  c. 17

Alien Arena  c. 18

> Не­ка­зи­стый, но пол­ный хо­ро­ших на­ме­ре­ний ва­ри­ ант Debian c LXDE за­то­чен под Pi.

> По­сле рас­па­да СССР сло­во «при­шель­цы» пе­ре­­ стали быть ме­та­фо­рой. Они про­сто при­шель­цы.

Срав­не­ние: Ли­цен­зии на сво­бод­ное ПО с. 28 Apache

BSD

GPLv3

LGPL

GPLv2

Ли­цен­зия, под ко­то­рой вы вы­пус­ ти­те свой код, ка­пи­таль­но по­влия­ет на ус­пех про­ек­та – LibreOffice это до­ка­зал. Так что про­чти­те все и вы­би­рай­те тща­тель­но!

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 13


Обзоры Web-брау­зе­ры

Chrome против Opera Ваш брау­зер – уже не про­сто брау­зер: это поч­то­вый кли­ент, фай­ло­вый сер­вер и мно­го че­го еще. Адам Окс­форд сле­дит за бит­вой двух тя­же­ло­ве­сов. Вкратце » Два пол­но­ функ­цио­наль­ных брау­зе­ра с гале­ реей рас­ши­ре­ний. См. так­же: Firefox, Epiphany (он же — Web) и reKonq.

С

о­гла­с и ­т есь: когда речь за ­хо­д ит о web-брау­з е­р ах, мы так непо­ сто­ян­ны. Хо­т я мы все со­глас­ны на­с чет убо­же­с т ­в а са­ми знае­т е че­г о, дай нам толь­ко вы­бор ме­ж ­д у Firefox и Chome от Google – не го­во­ря уж о сво­ре их ро­ди­ чей – и про­щай, вер­ность. А как ина­ч е объ­я снишь мас­с о­в ую пе­ ре­беж­к у по­к лонников ста­рой доб­рой от­ кры­той Mozilla на сто­ро­ну юно­го Chrome/ Chromium несколь­ко лет на­з ад? Клю­н ув на ско­рость и минима­ли­ст­ский шарм став­ ленника Google, они без со­жа­лений от­бро­ си­ли на­ра­бо­тан­ные схе­мы рас­ши­ряе­мо­го Firefox. И Chrome/Chromium от­н юдь не на­м е­ рен за­чах­нуть. По дан­ным w3schools.com, он уже при­знан са­мым по­пу­ляр­ным в ми­ ре брау­зе­ром, и по­с ледние 3 го­д а его ау­ ди­т о­р ия ста­б иль­н о уве­л и­ч и­в а­е т­с я гдето на 1 % в ме­сяц. Это зна­чит, что Chrome сей­час сто­ит прак ­ти­че­­ски на ка ­ж ­дом вто­

ром ПК, и по ме­ре роста до­хо­дов Google у всех осталь­ных они па­да­ют. Точнее, у всех, кро­ме Opera – су­мев­ше­ го на­брать неболь­шую, но стой­к ую ар­мию поль­зо­в а­т е­л ей. Итак, рез­вый юнец про­ тив до­тош­но­го стар­ц а; чью сто­ро­н у при­ ме­те вы? Вы­ясним это, стра­вив Chrome 20 и Opera 12.

Брау­зер от Google Для про­в е­д ения это­г о тес ­т а мы вы­б ра­ ли Chrome 20: имен­но он – офи­ци­а ль­ный про­д укт Google, а не прак ­т и­ч е­­с ки иден­ тич­н ый ему Chromium (соб­с т­в ен­н о го­ во­р я, ро­д и­т ель вы­ш е­у по­м я­н у ­т о­г о). На­ помним, что Chromium – от­кры­тый брау­зер на ба ­зе webkit, соз­д ан­ный при под ­держ­ ке Google и по­с лу­ж ив­ш ий осно­в ой для Chrome. Сhrome до­полнитель­но со­дер­жит встро­е н­ный ин­с т­ру­м ент для чтения PDF и Flash-про­иг­ры­в а­т ель, а так ­же ути­ли­т у от­с ле­жи­вания ак ­тив­но­с ти ис­поль­зо­вания

про­грам­мы (RLZ); дру­гих от­ли­чий не име­ ет­ся. Chromium ча­ще встре­ча­ет­ся в ре­по­ зи ­т о­р и­я х ди­с т ­р и­бу ­т и­в ов, хо­т я, как пра­ ви­ло, не в по­с ледней вер­с ии. На­при­мер, в Ubuntu 12.04 на на­шей тес­то­вой ма­шине по умол­чанию ока­за ­лась доступ­на толь­ко вер­сия 18. Chrome 20.0.1132.57 мы уста­н о­в и­ ли из DEB-фай­ла, ко­то­рый ска­ча­ли с до­ машней страницы про­ек­та. И пер­вое, что бро­си­лось в гла­за – на­сколь­ко Chrome 20 неот­ли­чим от пер­вой вер­сии Chrome. Ста­ рое пра­в и­л о «Не сло­м а­л ось – не чини» бе­реж­но со­б лю­д а­е т­с я. Ни на­ме­к а на из­ менение при­выч­н ой функ­ц ио­н аль­н о­с ти. При пер­вом про­гоне, как бы­ло и рань­ше, не по­яв­ля­ет­с я поч­т и ниче­го: толь­ко еди­ ное по­ле URL/по­ис­ка (оно же – муль­ти­бар) и икон­ка управ­ления, вы­зы­ваю­щая ана ­лог ме­ню Файл. По умол­чанию, Chrome из­бе­г а­ет ук­ра­ ша­т ель­с т­в а, оста­в ив толь­ко уз­к ую пря­

Как от­ли­чить Opera (сле­ва) от Chrome (спра­ва) Кноп­ка ме­ню

Но­вый стиль Opera 12 на­по­ми­ на­ет об­нов­лен­ный Firefox и... Chrome! Разница толь­ко в сгла­ жен­ных пря­мо­уголь­ных фор­мах и фир­мен­ной кноп­ке ме­ню.

Муль­ти­бар

В Operа, по­ми­мо него, есть и от­дель­ная панель по­ис­ка. Мож­ но вво­дить и в нее, и в основ­ную.

Текст

При­гля­ди­тесь повнима­тельнее, и вы за­ме­ти­те разницу в тек­с то­ вых под­сказ­ках. В Chrome шрифт бо­лее кра­си­во­го на­чер­тания.

Ото­бра­жение Java

Ско­рость в дан­ном тес­те – по-прежнему ко­зырь Chrome. А вот но­вый HTML5 – уже дру­гая ис­то­рия.

Ниж­няя панель

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

На­строй­ки

В Chrome они спря­та­ны под икон­ кой на­с трой­ки (га­еч­ный ключ). На­с трой­ка, впро­чем, да ­ле­ко не за ­хо­дит.

По­ло­сы про­крут­ки При­сут­ст­ву­ют в обо­их брау­зе­ рах. Но не та­кие эле­гант­ные, как ис­че­заю­щая в Ubuntu.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

14  |  LXF162 Октябрь 2012


Web-брау­зе­ры Обзоры мо­у голь­н ую го­л у­б ую стро­к у за­г о­л ов­ ка, ко­то­рая сменит­ся на ме­ню Па­ра­мет­ры сис ­те­мы, ес ­ли пра­вой кноп­кой щелк ­н уть в верхней час­ти эк­ра­на. Так­же по же­ланию мож ­но ото­бра ­зить под муль­т и­б а­р ом па­ нель За­к ла­док. Кое-ка­кие пе­ре­ме­ны внеш­но­с ти все же есть: шрифт в На­с трой­к ах стал по­у же, да и в це­лом ма­кет страницы стал еще бо­ лее ра­дикаль­но прост. И, к со­жа­лению, ли­ шен юмо­ра: вме­сто ме­ню верхнего уров­ня, где обыч­но пря­чут сис­тем­ные и поль­зо­ва­ тель­ские па­ра­мет­ры – про­за­ич­ные и нена­ мно­го бо­лее удоб­ные На­строй­ки, из ко­то­ рых мож­н о по­п асть в До­п олнитель­н ые. Хо­т я, конеч­но, все чет­ко и по­нят­но. Лю­ бая из немно­го­чис­лен­ных на­стро­ек дости­ жи­м а за па­р у са­м о­о че­в ид­н ых щелч­ков; толь­ко оп­ция Не от­сле­жи­вать пе­ча­лит сво­ им от­сут­ст­ви­ем.

Ра­бо­та над ошиб­ка­ми В 20‑й вер­с ии Chrome/Chromium ис­прав­ ле­н о мно­г о оши­б ок, вклю­ч ая наи­б о­л ее рас­про­с тра­нен­ные по­ме­хи с Google Cloud Print – сер­ви­сом, по­зво­ляю­щим вир­т у­а ль­ но по­л у ­чать доступ к лю­бым прин ­те­рам, ис­поль­зуя Chrome. Мож­н о, конеч­н о, прекрасно обой­т ись и без Chrome – мно­г ие, по опы­т у своего об­щ е­н ия с Google, так и сде­л а­ю т. Ес­л и вы не из их чис­ла, то вам бу­дет доста­точ­ но знать па­роль, най­т и нуж­н ую вклад­к у и иметь встро­ен­ную функ­цию син­хрониза­ ции, ко­то­рая тео­ре­ти­че­­ски по­зво­ля­ет объ­ е­д и­н ять Google’овский Android Browser и Chrome. На прак­т и­ке же он ве­д ет се­бя до­воль­но ка­приз­но, осо­бен­но ес­ли у вас мно­г о от­к ры­т ых вкла­д ок и уст­р ойств на Android. С дру­гой сто­ро­ны, это не про­бле­ма, ведь фее­ри­че­­ско­­му взле­т у Chrome со­пут­с т­во­ вал и ак ­тив­ный рост он­лайн-ма­га­зи­на все­ воз­мож­ных рас­ши­рений для это­го брау­зе­ ра. Их ка­че­­ст­ву и ко­ли­че­­ст­ву лю­бой дру­гой брау­зер мо­жет толь­ко по­за­ви­до­вать. Соз­

> В фо­ку­се Opera: не­кое со­лид­ное, все­мир­но из­вест­ ное уч­ре­ж­де­ние. Ну и сайт Би-би-си за­од­но.

> Web Store от Google не ус­та­ет по­пол­нять­ся при­ло­же­ния­ми, за­тме­ вая все про­чие брау­зе­ры.

дан­н ый по мо­д е­л и Apple App Store или GooglePlay, он вклю­ча­е т и луч­шие ин­д ииг­ры, та­кие как Bastion, DragonAgeLegends и AngryBirds, и чи ­т ал­к и лент но­в о­с тей, и ор­г а­н ай­з е­р ы, и луч­ш ую реа ­л и­з а­ц ию Evernote на се­те­вой плат­фор­ме. LastPass и Xmarks ку­д а луч­ше встро­ен­ных па­ро­лей и син­х ронизи­ро­ван­ных за­к ла­док. А с по­ мо­щ ью Chrome (но не Chromium) мож­но да­же за­п устить Google Docs в оф­флайнре­ж и­ме. Все это ра­бо­т а­е т с уско­рением, под ­дер­ж и­вае­мым ва­шей сис­те­мой, и ис­ поль­зу­ет мощь ва­шей ви­део­кар­ты. Ка­с ае­м о рас­ш и­р ений, у Chrome все­г о один недоста­ток: то, что они разде­ляют­ ся на два ти­па. Те, что свя­за­ны с ра­бо­той са­м о­г о обо­з ре­в а­т е­л я, всегда доступ­н ы и ото­бра­ж а­ют­ся на панели ин­с т­ру­мен­тов с муль­т и­б а­р ом, дру ­г ие – на­п ри­м ер, иг­ ры – за­пуска­ют­ся со стар­то­вой страницы брау­зе­ра.

Но­вое ли­цо со­перника В то вре­мя как Chrome уси­лен­но со­про­тив­ ля­ет­ся пе­ре­ме­нам, Opera 12 за по­с ледние

па­ру лет из­менилась до неуз­на­вае­мо­сти – столь ра ­д икаль­н о, что ис­ход­ный ин ­т ер­ фейс ее те­перь по­хож, ха-ха, на Chrome. По умол­ч анию все лишнее от­к лю­ч е­н о, мак­с и­м ум мес­т а пред­с тав­л ен от­к ры­т ой web-странице. Верх­няя часть с за­к лад­ка­ ми по­ра ­ж а­ет сход­с т ­вом; раз­ве что здесь есть еще па­ра кно­пок, на­при­мер, для из­ менения фо­но­во­го ри­сун­ка, а так ­же внизу при­сут­ст­ву­ет ниж­няя панель. В от­ли­чие от Chrome, в Opera мас­са ме­ ню и панелей на­в и­г а­ц ии, вклю­ч ае­м ых по ва­ше­му усмот­рению. Мож­но до­ба­вить бо­ко­вую панель для бы­ст­ро­го досту­па, ис­ то­рии и т. д., а ввер­х у – панель глав­но­го ме­ню, при по­мо­щи ко­то­рой вклад­ки мож­ но рас­п о­л а­г ать кас­к а­д ом по­д об­н о то­м у, как это де­ла­ет­ся с ок­на­ми. Как и в Chrome, в Opera есть спе­ц и­ аль­н ая вклад­к а, па­р оль и функ­ц ия син­ хрониза­ции, на­зы­вае­мая здесь Opera Link, и у нее те же недостат­ки, что и у ана­ло­гич­ но­го сер­ви­с а Google: ес­ли у вас не сто­и т Opera на всех ра­бо­чих мес­тах и мо­биль­ных уст­рой­с т­вах, тол­к у от нее бу­дет не боль­

> Только попробуйте коп­ну­ть глуб­же — и вы убе­ди­тесь, что в Opera на­стро­ить мож­но аб­со­лют­но все.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 15


Обзоры Web-брау­зе­ры

Шаг за ша­гом: Вклю­ча­ем скры­тые на­строй­ки

1 До­би­ра­ем­ся до на­стро­ек

> 2 Вклю­ча­ем WebGL

В обо­и х брау ­з е­р ах есть до­п олнитель­н ые на­ строй­ки. В Opera до­б­рать­ся до них мож­но, на­брав opera:config или нечто по­доб­ное а окне URL. Так, что­бы вклю­чить ап­па­рат­ное уско­рение, на­би­ра­ем opera:config#UserPrefs|EnableHardwareAcceleration и ме­ня­ем фла­жок на 1.

> 3 Ак­ти­ви­ру­ем функ­ции

По умол­ч анию, раз­р а­б от­ч и­к и Opera от­к лю­ч и­л и WebGL. Его ис­п оль­з у­ю т немно­г ие при­л о­жения, но с при­хо­дом в брау­зе­ры иг­ро­во­го движ­ка Unity по­лез­но хо­тя бы знать, где на­хо­дит­ся эта на­строй­ ка: opera:config#UserPrefs|EnableWebGL и пе­р е­ клю­ча­ем в 1.

ше, чем от сто­роннего при­ло­жения. К со­ жа ­л ению для Opera, чис­л о рас­ш и­р ений у это­го брау­зе­ра на­мно­го скромнее, и ес­ ли нехват­к а игр – не та­к ая уж про­бле­ма, то от­сут­ст­вие по­пу­ляр­ных при­ло­жений ти­ па Evernote или Xmarks, ве­ро­я т­но, во­всю ра­б о­т аю­щ их на ва­ш ем мо­б ильнике или план­ше­те, уже серь­езнее.

«В Opera нет ап­па­ рат­но­го ус­ко­ре­ния по умол­ча­нию.» В удоб­с т­в е ис­п оль­з о­в ания брау­з е­р ы прак ­т и­ч е­­с ки оди­н а­ко­в ы: Opera вы­и г­р ы­ вает бла­го­да­ря встро­ен­ным функ­ци­ям для ин­ди­ви­д у­а ль­ной на­с трой­к и, но про­иг­ры­ ва­ет по час­ти доступ­ных при­ло­жений. Ну, а как же оба ве­д ут се­б я в де­ ле? В Opera нет ап­п а­р ат ­н о­г о уско­р ения по умол­чанию, и эта функ­ция да­ле­ко уп­ ря­т а­н а от но­в ич­ков (см. Шаг за ша­г ом). А жаль, по­т о­м у что она рез­ко улуч­ш а­е т

Результаты тестов Chrome 20

Opera 12

Sunspider 0.9.1, мс

194,8

278,3

Потребление памяти (40 вкладок)

1,312 ГБ

742 MБ

Maze Solver, с

4,3

11

Тест HTML5, кадр/с (www.craftymind.com)

31,25

52,84

WebVizBench, кадр/с

20,12

29,01

Загрузка страницы, с

1,723

1,2

Аквариум WebGL (50 рыбок), кадр/с

58

50

В Chrome то­же мож­но вклю­чить до­полнитель­ные функ­ц ии или от­к лю­чить ап­па­р ат­ное уско­р ение, зай­д я на chrome://flags. Прав ­д а неко­т о­р ые на­ строй­ки до­воль­но нело­гич­ны: на­при­мер, фла ­жок WebGL почему-то от­к лю­ча­ет функ­цию, а не вклю­ ча­ет ее.

ото­бра ­жение HTML5. При ба­зо­вом со­с та­ ве, Chrome зна­чи­тель­но пре­восхо­дит Opera в ра­б о­т е Java и вы­п олнении опе­р а­ц ий с CSS, хо­тя в це­лом от­д ать пре­иму­ще­ст­во ка­ко­м у-то од­но­м у из брау ­зе­р ов слож ­но. А вот в ин­те­рак­т ив­ных тес­т ах HTML5 от­ ли­ч ия ра­з и­т ель­н ы: Сhrome за­д ей­с т­в у­е т воз­мож­но­с ти ва­шей ви­део­к ар­т ы, про­хо­ дя за­дания бы­ст­ро, сгла­жи­вая час­то­т у ви­ део­кад­ров, так что HTML5 ощу­щ а­ет­ся как род­н ой, хо­т я есть про­б ле­м а с про­п рие­ тар­ным драй­ве­ром NVIDIA, от­к лю­чаю­щим уско­рение при об­ра­бот­ке 2D Canvas.

Ус­ко­ря­ем­ся Opera по­л а­г а­е т­с я толь­к о на про­ц ес­с ор и бы­ст­ро вы­ды­ха­ет­ся при об­ра­бот­ке стра­ ниц со слож­ной струк­т у­рой. По по­ка­за­те­ лям про­из­во­д и­тель­но­с ти ему не дог­нать Chrome, да­же ес­ли у то­го нет досту­па к ви­ део­к ар­т е. Но сто­и т до­б­р ать­с я до по­т ай­ ных на­стро­ек уско­рения, как 3D-эф­фек ­ты и WebGL в Opera бу­к­валь­но пе­ре­ро­ж ­да­ют­ ся, мо­мен­таль­но до­го­няя и да ­же об­го­няя Chrome (хо­тя и не во всем). Opera по­т реб­л я­е т мень­ш е па­м я­т и, чем Chrome, ко­т о­р ый дер­ж ит­с я за свою уникаль­н ую функ­ц ию за­п уска ка­ж­д ой вклад­к и и web-при­л о­ж ения от­д ель­н ым про­цес­сом. Это, конеч­но, за ­х лам­ля­ет сис­ тем­ный монитор, но ста­биль­ность га­ран­ ти­ру­ет­ся при лю­бом ко­ли­че­­ст­ве от­кры­тых вкла­док. Chrome так ­же про­ш ел боль­ш ее чис­ло тес­тов безо­пас­но­с ти Browserscope, неже­ ли Opera. И, по на­ш е­м у мнению, тек­с то­ вые под­с каз­к и на движ ­ке Webkit, реа­ли­ зо­в ан­н ые в Chrome, смот­р ят­с я го­р аз­д о луч­ше, чем в Opera, где в осно­ве – Presto. Так что же вы­б рать? Ес­л и вы дав­н о не поль­з о­в а ­л ись Operа, то по­п ро­б о­в ать сто­ит, осо­бен­но с ап­па­рат­ным уско­рением. Пе­р е­г ру ­жен­н ый ин­т ер­ф ейс и ми­з ер­н ые шриф­т ы уш­ли в про­ш лое, и брау­зер вы­

гля­дит со­вре­мен­но, да вдо­ба­вок ин­ди­ви­ ду­а ль­но на­страи­ва­ет­ся. И все-та­ки мы ре­ко­мен­д у­ем Chrome 20, а точнее – от­кры­тый Chromium 20. Это попрежнему ли­дер и по ско­ро­сти, и по безо­ пас­но­сти. При­плю­су­ем сю­да пре­восход­ное ка­ч е­­с т­в о рас­ш и­р ений, и по­л е останет­с я за ним. По крайней ме­ре, по­ка. |

Вердикт Chrome 20 Раз­ра­бот­чик: Google/Chromium Project Сайт: chrome.google.com Це­на: Бес­плат­но

Функ­цио­наль­ность 9/10 Про­из­во­ди­тель­ность 9/10 До­ку­мен­та­ция 5/10 » Не зря Chrome счи­та­ет­ся но­ме­ром один, и все ему под­ра­жа­ют. Это попреж­не­му са­мый про­стой и бы­ст­рый брау­зер из всех.

Рейтинг 8/10 Вердикт Opera Раз­ра­бот­чик: Opera Software Сайт: www.opera.com Це­на: Бес­плат­но

Функ­цио­наль­ность 8/10 Про­из­во­ди­тель­ность 8/10 До­ку­мен­та­ция 7/10 » По ско­ро­сти и безо­пас­но­сти Opera на вто­ром мес­те поч­ти без от­ры­ва; под­во­дит толь­ко за­кры­тая ли­цен­зия и не­дос­та­ток рас­ши­ре­ний.

Рейтинг 8/10

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

16  |  LXF162 Октябрь 2012


Ди­ст­ри­бу­тив Обзоры

Raspbian У на­ше­го ма­лют­ки-ком­пь­ю­те­ра поя­вил­ся но­вый ди­ст­ри­бу­тив. Бен Эве­рард от­о­д­вига­ет пиц­цу и принима­ет­ся за Pi дру­гого рода. Вкратце » Raspbian — это вер­сия Debian Wheezy, соз­дан­ ная спе­ци­аль­ но для Raspberry Pi. См. так­же: Arch Linux Arm и QtonPi.

Н

а слу­ч ай, ес­л и вы про­в е­л и по­ следние пол­го­д а, за­с у­н ув го­ло­ ву в вед ­ро с пес­ком, со­об­щ а­ем, что Raspberry Pi – это недо­ро­гой ком­пь­ю­ тер на осно­ве ARM. Из-за сво­его обо­ру­до­ вания он ну­ж ­да­ет­ся в осо­бых ди­ст­ри­бу­ти­ вах. Та­ко­вых уже несколь­ко, но Raspbian недав­н о по­л у­ч ил гор­д ое звание Ре­к о­ мен­до­в ан­но­го ди­с т­ри­бу ­т и­в а от ко­ман­д ы Raspberry Pi. За гра­ф и­ч е­­с кий ин­т ер­ф ейс вы­б ран Lightweight X11 Desktop Environment. У LXDE нема ­л о фа­н а­т ов – ес ­л и ве­р ить циф­р ам Distrowatch, сре­ди кло­нов Ubuntu ли­ди­ру­ ет Lubuntu. Ваш по­кор­ный слу­г а к фа­на­ там не при­над ­ле­жит. Ин­тер­фейс вы­гля­дит сля­пан­ным из несо­раз­мер­ных час­тей – од­ ни ла­конич­ны, дру­гие гро­мозд­ки. Raspbian тут ни при чем, но та­кой уж у него вы­бор по умол­ч анию. Тя­ж е­л о­в е­с ы вро­д е KDE и Gnome на та­ком обо­р у­д о­в ании не за­ пля­шут, но вот нечто по­лег­че, вро­де Xfce, вполне сгодится. Xfce мож­но най­т и в ре­ по­зи­то­ри­я х Raspbian и лег­ко уста­но­вить, на­брав sudo apt-get install xfce. Прав­д а, за­п устить его без эк­р ан­но­г о менед ­же­р а вы су­мее­те не сра­зу (под­сказ­ка: на­бе­ри­те startxfce в тек­сто­вом ре­жи­ме). В со­с та­в е про­г рамм есть ог ­р ом­н ые про­р е­х и – пред­п о­л о­ж и­т ель­н о, по­т о­м у, что ко­м ан­д а пы ­т а ­л ась дать необ­х о­д и­ мый минимум, в ко­то­рый уже сам поль­ зо­в а­т ель до­б ав ­л ял бы, что ему нуж ­н о. Раз так, то от­с ут­с т­вие гра­фи­че­­с ко­­го па­ кет­но­го менед ­же­ра вдвойне уди­ви­тель­но. Raspberry Pi ори­е н­т и­р о­в ан на но­вич­ков, и мож­но ли рас­с чи­т ы­в ать, что они бу­д ут ис­поль­зо­в ать apt-get в команд­ной стро­

Свойства навскидку

Сис­тем­ный монитор

raspi-config

Этот ин­ст­ру­мент в сис­тем­ ном лот­ке сле­дит за уровнем сво­бод­ных ре­сур­сов.

Управ­ляй­те сво­им Pi при по­ мо­щи этой удоб­ной тек­сто­ вой ути­ли­ты.

> Ра­бо­чий стол LXDE функ­цио­на­лен, но бу­к­валь­но оша­ра­ши­ва­ет не­дос­тат­ком лос­ка. ке, что­бы со­брать се­бе ба­зо­вый функ­цио­ нал? У тех, ко­м у Raspberry Pi ну­жен для ра­бо­ты в груп­пах, го­ло­ва об этом бо­леть бу­дет мень­ше. По­сколь­к у ко­пи­ро­вать SDкар­ты – не про­бле­ма, доста­точ­но соз­д ать для се­б я иде­а ль­н ую сбор­к у, а по­т ом ее рас­ти­ра ­жи­ро­вать.

Рост про­из­во­ди­тель­но­сти Ос­н ов­н ой це ­л ью ко­м ан­д ы Raspbian бы­ ли во­в се не гра­ф и­ч е­­с кие изы­с ки. Они стре­м и­л ись, что­б ы про­г рам­м ы бы­л и под стать обо­ру­до­ванию. И это пер­вый ди­ ст­р и­бу ­т ив, ко­т о­р ый ре­а ль­н о за­д ей­с т­в о­ вал вы­ч ис­л ения с пла­в аю­щ ей за­п я­т ой. Зву­ч ит не слиш­ком вол­н ую­щ е, но в ре­ зуль­та­те зна­чи­тель­но улуч­ше­на про­из­во­ ди­тель­ность мно­гих при­ло­жений – вклю­ чая web-брау­з е­р ы. При сравнитель­н ом тес­ти­ро­вании раз­ра­бот­чи­ки об­на­ру ­ж и­ли, что ап­па­рат­ное уско­рение ра­зо­гна ­ло при­ ло­жения в среднем на 18 %. Про­цесс уста­нов­ки так ­же пе­ре­на­стро­ен, что­бы все шло бо­лее глад­ко с пер­во­го же за­п уска. Те­п ерь лег ­ко уве ­л и­ч ить об­р аз, что­б ы он це ­л и­ком за­п олнил SD-кар­т у – при по­мо­щ и все­го од­но­го хит­ро­го ша­г а. Мож ­но так ­же за­п устить SSH-сер­вер, из­ менить границы раз­д е­л ов или вы­б рать дру­гой ча­со­вой по­яс. Пре­д уста­нов­лен­ные про­г рам­мы скон­ цен­т ри­р о­в а­н ы на обу­ч ении про­г рам­м и­ ро­в анию. Scratch пре­д остав­л я­е т гра­ф и­

че­с кую сре­д у, что­б ы втя­н уть де­т и­ш ек в про­г рам­ми­ро­вание, тогда как IDLE (IDE Python) – уже бо­лее слож­ный ин­ст­ру­мент ко­де­ра. Взве­сив раз­ные ас­пек­ты это­го ди­с т­ри­ бу ­т и­в а, мы ощу ­т и ­ли раз ­д воение лич­н о­ сти. Наш внут­ренний тех­нарь одоб­ря­ет ра­ бо­т у, про­де­лан­ную ко­ман­дой над Pi. А вот как поль­зо­ва­те­ли мы не в востор­ге от вы­ бо­р а про­г рамм и ра­б о­ч е­г о ок ­р у ­ж ения. Но по­сколь­к у это по­ка что бе­та-вер­сия для раз­ра­бот­чи­ков, по­бе­ж ­да­ет все же пер­вый. Хо­т я мы на­де­ем­ся, что Pi все-та­ки станет дру ­же­л юбнее к поль­з о­в а­т е­л ям, пре­ж ­д е чем вый­ти в на­род. |

Вердикт Raspbian Раз­ра­бот­чик: Raspbian Project Сайт: www.raspbian.org Це­на: Сво­бод­но по сме­си ли­цен­зий

Функ­цио­наль­ность 8/10 Про­из­во­ди­тель­ность 8/10 Удоб­ст­во ис­поль­зо­ва­ния 7/10 До­ку­мен­та­ция 7/10 » Луч­ший ди­ст­ри­бу­тив для Raspberry Pi на дан­ном эта­пе, но на­де­ем­ся на про­гресс.

Рейтинг 8/10

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 17


Обзоры Иг­ры

Alien Arena: Reloaded Edition 7.60 Большеголовые при­шель­цы, вет­хие кар­ты и ста­да ко­ров – все это убе­ж­да­ет Джо­на­та­на Ро­бер­тса, что Alien Arena – стре­лял­ка в луч­ших тра­ди­ци­ях. Вкратце » Стре­лял­ка в ду­хе Quake с па­ роч­кой ве­се­лых сюр­при­зов. См. так ­же: Warsow или Nexuiz.

Е

с­ли вам нра­ви­лись Quake III, Unreal Tournament и фан­та­сти­к у 1950‑60‑х, то Alien Arena – для вас. Ведь в ее осно­ве все та же фор­м у­ла успе­х а (бы­с т­ рый темп, смер­т ель­н ые он­л айн-схват­к и с ог­ром­ны­ми ав­то­ма­та­ми, мно­же­ст­во карт и кровопролитие), обер­ну­тая в ино­планет­ ную кич-эс­те­ти­к у. Как и Quake II, и мно­г ие дру­г ие сво­ бод­ные и от­к ры­т ые стре­лял­к и от пер­во­ го ли­ца, это иг­ра на том же ста­ром движ­ке Tech 2, вы­пу­щен­ная id software как сво­бод­ ный код. COR Entertainment за эти го­д ы зна­чи­тель­но улуч­ши­ли этот дви­жок, и те­ перь иг­ра прак­ти­че­­ски не от­ста­ет от бо­лее со­вре­мен­ных.

«Теперь игра прак­ тически не отстает от более современных.»

> На ­го­ло­ванахпри­шель­цах держа­лась вся фантасти­ка 1950-х, и мы ра­ды снова ви­деть их в Alien Arena.

Функ­ц ии движ­к а вклю­ч а­ю т по­п ик­ сель­н ое осве­щ ение, «фи­з и­к у тря­п ич­ ной кук­л ы» [осо­б ый тип анима­ц ии пер­ со­на ­ж а, – прим. пер.], све­т о­вые оре­о­лы, ес ­т е­с т ­в ен­н ый свет и мяг ­к ие тени. Да, мы то­же по­н я­т ия не име­е м, что все это зна­ч ит, но бла­г о­д а­р я им кар­т ы, ору ­ж ие и иг­ро­ки чер­тов­ски хо­ро­шо вы­гля­д ят. Пожалуй, тек­с ту­р ы вы­г ля­д ят слег­к а упло­щ енны­м и, а боль­ш ин­с т­в о фи­г ур – неоте­с ан­ны­ми, но все мель­к а­ет на­с толь­ ко бы­с т­ро, что вам некогда это за­ме­чать. Кар­т ы в основ­н ом по­т емнев­шие, вет ­х ие и по­до­баю­ще жут­к ие. Нор­маль­ный ход – же­лез­ные ка­та­ком­бы по­сре­ди зе­ле­ной ра­ дио­ак ­тив­ной жи­ж и, от­рав­ляю­щей здо­ро­ вье, и гро­мад­ные кон­ст­рук­ции, слу­жа­щие пре­крас­ным ук­ры­ти­ем. Важнее карт и гра­ф и­ ки, конеч­н о, иг­р о­в ой про­цесс, и в Alien Arena он пре­восход­ный. Здесь есть да­ж е од­н а из луч­ ших фи­шек клас­си­че­­ско­­го Quake: прыж­ ки с трю­ка­ми. То есть мож­но па­лить по по­ лу и сте­н ам, од­н о­в ре­м ен­н о со­в ер­ш ая ги­г ант­с кие прыж­к и. А мож­н о и скакать, как за­яц, что­бы лов­чее ук­лонить­ся от вы­ стре­лов про­тивника.

> По­тем­нев­шие кар­ты, пло­хое ос­ве­ще­ние и мно­же­ст­во на­деж­ных ук­ры­тий — что еще нуж­но, что­бы истреблять при­шель­цев? Ре­жи­мов иг­ры мно­же­ст­во – есть из че­ го вы­брать. Ес­те­ст­вен­но, досту­пен клас­си­ че­­ский Бой на­смерть [Deathmatch], но мой лич­ный фа­во­рит – За­х ват фла­га [Capture the Flag]. До­б ав­ле­но мно­го че­го занима­ тель­но­го: на­при­мер, Мас­си­ро­ван­ная ата­ка [All-out Assault] – где вы мо­же­те пи­ло­ти­ро­ вать все ко­раб­ли, на­хо­д я­щие­ся на кар­те, сра­зу – и Элек ­тро­по­го­нял­ка [Cattle prod], где вы долж­н ы за­г нать ста­д о в пор­т ал в це­ло­сти и со­хран­но­сти (это, по­жа­луй, ре­ веранс в сторону клас­си­че­ской фан­та­сти­ ки про ис­треб­ление ско­та), по­пут­но уби­вая вра­гов. Все это раз­но­об­ра­зит давно при­ евшуюся фор­му­лу и вно­сит в нее прелесть но­виз­ны.

«Уде­лай» дру­га Как и в лю­бую стре­л ял­к у, в Alien Arena нуж­но иг­рать он­лайн. Ведь ре­а ль­ные про­ тивники ку­да луч­ше бо­тов; а воз­мож­ность иг­рать с друзь­я­ми, за­од­но глу­мясь над ни­ ми че­рез встро­ен­ный IRC-кли­ент, еще до­ бав­ля­ет ост­рых ощу­щений. Ес­ли у вас нет дру­зей, с кем мож­но бы­ ло бы по­иг­рать, воз­мож­но, вам сто­ит при­ сое­д инить­с я к чьей-то иг­ре. Но на боль­ шин­с т­в е сер­в е­р ов все же в основ­н ом оби­та­ют бо­ты, и толь­ко на неко­то­рых ока­

за ­лось при­лич­ное чис­ло жи­вых иг­ро­ков. Так что луч­ше про­ве­рить, а по­том уж иг­ рать. Иг­ра в об­щем за­бав­ная и сто­ит вни­ мания. Мы взя­ли для об­зо­ра све­ж ую вер­ сию – 7.60, и бы­ли ужас­но раз­оча­ро­ва­ны, не най­д я ее в ре­по ­зи ­то­ри­я х ди­с т ­ри­бу ­т и­ вов. Од­на­ко ском­пи ­ли­ро­в ать иг ­ру из ис­ ходника для Ubuntu до­в оль­н о про­с то; в фай ­ле INSTALL ука ­з а­ны все необ­хо­д и­ мые за­ви­с и­м о­с ти, так что пусть вас это не от­пуг­нет. |

Вердикт Alien Arena: Reloaded Раз­ра­бот­чик: COR Entertainment Сайт: www.red.planetarena.org Це­на: Стан­дарт­ная вер­сия – бес­плат­ но, Пре­ми­ум-вер­сия – €10 за ска­чи­ва­ ние, €15 за диск

Иг­ро­вой про­цесс 8/10 Гра­фи­ка 8/10 Про­дол­жи­тель­ность 8/10 Оп­рав­дан­ность це­ны 10/10 » Это здо­ро­во! Со­бе­ри­те дру­зей, ско­ ло­ти­те LAN и про­ве­ди­те пят­нич­ный ве­чер убой­но.

Рейтинг 8/10

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

18  |  LXF162 Октябрь 2012


Ин­тер­нет-те­ле­фо­ния Обзоры

Skype 4 Берясь за но­вый ре­лиз от Microsoft, Грэм Мор­ри­сон вдруг невольно вспомнил о парнокопытных, для которых полеты обычно нехарактерны. Вкратце » При­ни­май­те ви­део­звон­ки и зво­ни­те са­ми, в Skype или на обыч­ный те­ле­фон по все­ му ми­ру. См. так­ же: бес­плат­ный SIP-сер­вис.

К

огда в 2011 мы уз­на­ли о том, что Microsoft со­би­р а­е т­с я ку­пить ви­ деоком­м у ник а­ц и­о н­н у ю ком ­ панию Skype, мы по­д у ­м а ­л и, что кли­е н­ ту Linux ха­н а. И спер­в а к то­м у и шло, по­с коль­к у Skype для Linux и его ре­л и­ зы ста­н о­в и­лись все неста­б ильнее. Мно­ гие тогда со­ч ли, что оно и к луч­ш е­м у: про­п рие­т ар­н ые ко­д е­к и и за­к ры­т ая раз­ ра­б от­к а ма ­л о со­з вуч­н ы с фи­л о­с о­ф и­е й сво­бод­но­го ко­д а, да и ис­то­рии о том, что Skype раз­ре­шил пра­ви­тель­с т­вен­ный над­ зор, то­же не при­тя­ги­ва­ли поль­зо­ва­те­лей; тем бо­лее, что есть от­кры­тые аль­тер­на­ти­ вы. Но для дру­г их Skype был по-прежне­ му луч­шим ре­шением, про­сто по­то­му, что он ра­бо­та­ет; и есть гор­дые за­яв­ления, что че­рез него идет око­ло 20 % всех ме­ж ­д у­на­ род­ных звон­ков. В све­те че­го со­об­щение о по­яв­лении Skype 4 для Linux нас чрезвы­ чайно об­ра­до­ва ­ло. 4‑я вер­с ия поя­ви­лась спустя го­д ы по­ сле по­с леднего ста­биль­но­го ре­ли­за и че­ рез год по­с ле ди­ко неста­биль­ной beta 2.2. И хо­т я она все рав­но на шаг по­за­ди OS X и Windows, но по крайней ме­р е на уров­ не кли­ен­тов для Android и iOS. На са­мом де ­ле, боль­шин­с т ­во на­ших тес ­тов как раз и сравнива­ли ее с кли­ен­том для Android, и пре­к рас­но ра­бо­т а ­ли оба. Мы уста­но­ви­ ли Skype в Ubuntu 12.04, ис­поль­зуя па­ке­ты для 10.04, пре­достав­ляе­мые Skype. Та­кое

«Главное, не слу­чи­лось ни од­но­го па­де­ния или об­ры­ва вы­зо­ва.» несо­от­вет­с т­вие но­ме­ров вер­сий обу­с лов­ ле­н о ско­р ее скром­н ы­м и тре­б о­в ания­м и Skype, неже­л и по­л и­т и­к ой об­н ов­л ений, по­с коль­к у вы так ­ж е мо­ж е­т е по­л у ­ч ить 64‑бит­н ую вер­с ию для Ubuntu и Debian, 32‑бит­ную для Fedora 16 и OpenSUSE 12.1, плюс ди­на­ми­че­­ски и ста­т и­че­­ски ском­по­ но­в ан­н ые вер­с ии. А следовательно, ко­ ман­д а Skype Linux понима­е т, что лю­д ям требуется. Мо­ж ем так­ж е до­л о­ж ить, что Skype сра ­з у, без вся­кой до­б а­в оч­н ой на­ строй­к и уви­д ел на­ш у USB-гарниту­р у, при­н яв кон­ф и­г у­р а­ц ию ра­б о­ч е­г о сто­л а PulseAudio. Вве­д я имя и под­к лю­чив­шись, мы уже че­рез па­ру ми­нут сво­бод­но звони­ ли и принима­ли звон­ки.

> Уди­ви­те сво­их дру­зей в дру­гом по­лу­ша­рии функ­ци­ей ви­део от Skype.

Но­вый звук Ка­че­­ст­во зву­ка улуч­ши­лось, и хо­тя мы это от ­м е­т и ­л и на фоне ка­ч е­­с т ­в а се­т и, пе­р е­ ход с вы­с о­ко­г о на низ­к ий бит­р ейт был доста­т оч­н о глад­к им и не ме­ш ал раз­г о­ во­р у. При нор­м аль­н ой ско­р о­с ти под­ клю­ч ения, в Skype слыш­н о луч­ш е, чем при обыч­ном те­ле­фон­ном раз­го­во­ре внут­ ри Ве­ли­ко­бри­тании. Ви­део­зво­нок с те­ле­фо­нов Android то­же по­ра­до­вал, а но­вое ок­но Ви­део смот­рит­ся очень при­ят­но: соб­с т­вен­ное изо­бра ­жение помещено в ма­л ень­к ой рам­к е, а со­б е­ седник красуется в боль­шой. На­ша ка­ме­ра Logitech ра­бо­т а­ла от­лич­ но, и дан­ный ре ­лиз обе­щ а­е т рас­ш и­р ить спи­с ок со­в мес­т и­м ых уст­р ойств. Так ­ж е нам уда­лось пе­ре­с лать вид ра­бо­че­го сто­ ла, что бы­ва­ет по­лез­но, когда кто-нибудь из двоюрод­ных тетушек в оче­ред­ной раз за­был па­роль. Ок­но со­об­щений так­же пре­ об­ра­зи­лось и выглядит лучше, а вре­мя от­ кли­к а при от­п рав­к е со­о б­щ ений дру­г им кон­так­там Skype весь­ма впе­чат­ля­ет, осо­ бен­но ес­ли это мо­биль­ная связь вы­ше 3G. А глав­ное, не слу­чи­лось ни од­но­го па­дения или об­ры­ва вы­зо­ва. Итак, наш об­зор разве что может кон­ статировать: Skype про­с то ра­бо­та­ет. А что еще человеку нуж­н о от сред­с т­в а те­л е­

фонии? Сеть Skype доста­точ­но об­шир­на, что­бы из­брать его основ­ной фор­мой об­ щения, и очень здо­ро­во, что они все-таки ре­ш и­л и со­х ранить кли­е нт Linux. Од­н а­ко этот кли­е нт за­щ и­щ ен от де­ком­п и­л я­ц ии и шлет шиф­р о­в ан­н ый тра­ф ик – при­ч ем не толь­ко во вре­мя раз­го­во­ра. И это, и наличие за­яв­л ений о про­с лу­ шива­н ии го­в о­р ит о том, что вы­б ор или от ­к аз от Skype сво­д ит­с я к спо­р у сво­б о­ ды и удоб­с т­ва. Но по крайней ме­ре вы­бор есть. Что и ценно. |

Вердикт Skype 4 Раз­ра­бот­чик: Microsoft Skype Сайт: www.skype.com Це­на: Бес­плат­ный Skype

Функ­цио­наль­ность 7/10 Про­из­во­ди­тель­ность 8/10 Удоб­ст­во ис­поль­зо­ва­ния 7/10 Цен­ность 7/10 » Пре­крас­но, что­бы быть на свя­зи, но не са­мое луч­шее по час­ти сво­бо­ды.

Рейтинг 7/10

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 19


Android

НО­ВО­СТИ Мил­ли­ард с ме­ло­чью » Рус­ский во­ен­ный » Android летит в космос ПОРАЖЕНИЕ ГОДА

Са­мый круп­ный в ис­то­рии штраф Ком­па­ния Apple одер­жа­ла по­бе­ду в су­деб­ном раз­би­ра­тель­ст­ве с Samsung.

В

ынесен окон­ч а­т ель­н ый вер­д икт в су­деб­ном раз­би­ра­тель­ст­ве Apple про­т ив Samsung. В боль­ш ин­с т­в е пунк ­тов об­винения при­сяж­ные под­дер­жа­ ли ком­панию Apple и при­зна ­ли на­ру­шение па­т ен­т ов дан­н ой ком­п ании в про­д ук ­т ах Samsung, в том чис­л е па­т ен­т ов, свя­з ан­ ных с пер­вен­ст­вом на ди­зайн и ис­поль­зо­ ванием муль­т и­т ач (на­при­мер, мас­ш та­би­ ро­вание щип­ком). Раз­м ер ком­п ен­с а­ц ии, ко­т о­р ую при­ дется вы­п ла­т ить Samsung, оп­р е­д е ­л ен в мил­ли­а рд дол­ла­ров. От­вет­ные пре­т ен­ зии Samsung от­верг­н у­т ы. Ре­шения о на­ ру­ш ении па­т ен­т ов и ин­т ел­л ек ­т у­а ль­н ой соб­с т­в ен­н о­с ти Apple за­т ра­г и­в а­ю т поч­т и весь мо­дель­ный ряд смарт­фо­нов и план­ ше­т ов Samsung на ба ­з е плат­ф ор­м ы Android. На осно­в ании вынесен­н о­г о ре­ шения ком­пания Apple на­ме­ре­на до­бить­ся за­пре­т а на про­д а ­ж у смарт­фо­нов и план­ ше­тов Samsung в США. Слу­шания по это­му де­лу прой­д ут 6 де­каб­ря 2012 го­да. Ком­м ен­т и­р уя вынесен­н ое ре­ш ение, ком­пания Samsung ука­за­ла на то, что ре­ зуль­т ат раз­би­ра­тель­с т­ва не сле­д у­ет рас­ смат­ри­вать как по­бе­ду Apple – это пре­ж ­де все­го про­иг­рыш аме­ри­кан­ских по­тре­би­те­ лей: вынесен­ное ре­шение при­ве­дет к ог­ раничению вы­бо­ра, снижению ин­но­ва­ций и, воз­мож­но, к бо­лее вы­со­ким це­нам. Вы­ зы­ва­ет со­ж а ­ление, что манипу­ли­ро­вание па­тент­ным пра­вом мо­жет быть ис­поль­зо­

ва­но для пре­достав­ления од­ной ком­пании мо­н о­п о­л ии на оформ­л ение уст­р ойств в фор­ме пря­мо­у гольника со скруг­лен­ны­ ми уг­л а­ми и ис­поль­зо­в ание тех­но­ло­г ий, ко­то­рые Samsung и дру­г ие ком­пании со­ вер­шен­с т­во­в а ­ли ка ­ж ­д ый день. Вынесен­ ное ре­шение не яв­ля­ет­ся фи­наль­ной точ­ кой: про­т и­в о­с тояние с Apple ве­д ет­с я во мно­гих су­д ах по все­му ми­ру, и мно­гие из су­дов уже при­зна­ли несо­стоя­тель­ность пре­тен­зий Apple.

«Это прежде всего про­ игрыш американских потребителей.» Пра­во ­з а­щ ит ­ный ре­с урс Groklaw опуб­ ли­к о­в а л сви­д е­т ель­с т­в а аб­с урд­н о­с ти схе­м ы при­н я­т ия ре­ш ений в де­л е Apple про­т ив Samsung. Для рас­смот­рения при­ сяж ­ны­ми бы ­ло за ­д а­но око­ло 700 во­про­ сов, по каж ­­до­му из ко­то­рых сле­до­ва ­ло вы­ нести вер­дикт. Так как вре­мя на изу­чение ма­те­риа­лов и при­ня­тия ре­шений бы­ло ог­ раниче­но, при­с яж­ные бы­ли ли­ше­ны воз­ мож­но­сти де­таль­но про­ана ­ли­зи­ро­вать ка­ ж ­д ый эпи­з од и от­д е­л ить су­щ е­с т­в ен­н ые ре­шения от вто­ро­с те­пен­ных. В ито­ге ряд ре­ш ений при­н ял яв­н о аб­с урд­ный ха­р ак­ тер: на­при­мер, при­с яж­ные при­зна ­ли на­ ру­шение па­тен­та на ди­зайн iPhone в те­ле­

фоне с вы­движ­ной кла­виа­т у­рой, че­тырь­мя кноп­ка­ми под эк­ра­ном и ог­ром­ным ло­го­ ти­пом Samsung в верхней час­ти (хотя суть ди­з ай­н а Apple, напомним, как раз в от­ сут­с т­вии кно­пок, а опа­сения – в воз­мож­ но­сти спу­тать ап­па­ра­ты Samsung с iPhone). Google ука­з ы­в а­е т, что боль­ш ин­с т­в о об­в инений в на­р у­ш ении па­т ен­т ов Apple не за­тра­ги­ва­ет непо­сред­с т­вен­но ба­зо­вую плат­ф ор­м у Android, а ка­с а­е т­с я толь­к о до­п олнений, до­б ав­л ен­н ых ком­п анией Samsung по­в ерх Android, на­п ри­м ер, до­ машней обо­л оч­к и TouchWiz. Ос­т аль­н ые па­т ен­т ы на ­хо­д ят­с я на ста­д ии пе­р е­с мот­ ра в па­т ент ­ном ве­д ом­с т ­ве США и, ве­р о­ ят­но, в ско­р ом вре­м ени бу­д ут при­зна­ны несо­с тоя­т ель­н ы­м и. Что ка­с а­е т­с я са­м о­ го раз­би­ра­тель­ст­ва, то Google счи­та­ет, что все точ­к и рас­с та­вит про­цесс ана­ли­за со­ стоя­тель­но­с ти фи­г у­ри­рую­щих в де­ле па­ тен­т ов, ко­т о­р ый бу­д ет иниции­р о­в ан по­ сле по­да­чи апел­ля­ции. По мнению Google, мо­биль­ная ин­д у­с т­рия раз­ви­в а­ет­с я очень бы­с т­р о, и все нынешние про­и з­во­д и­т е­ли мо­биль­ных сис­т ем, вклю­ч ая но­вых уча­ стников рын­ка, не соз­д а­ют ниче­го кар­ди­ наль­но но­во­го и стро­я т свои раз­ра­бот­к и на иде­я х, из­вест­ных уже не одно де­ся­ти­ ле­тие. Google ра­бо­та­ет со свои­ми парт­не­ ра­ми над пре­достав­лением по­тре­би­те­лям ин­но­ва­ци­он­ных и доступ­ных по цене про­ дук­тов, и не же­ла­ет, что­бы дан­ное стрем­ ление пы­та ­лись ис­к усст­вен­но ог­раничить.

«Кор­по­ра­ция до­б­ра» наносит ответный удар 21 ав­г у­с та 2012 го­д а в ок ­руж ­ном су­де се­вер­но­го рай­она Ил­ли­ной­са Google в ли­це недав­но ку­п­лен­ной ком­пании Motorola Mobility по­д а­ла иск на кор­по­ра­ цию Apple, со­глас­но ко­то­ро­му Apple на­ру­ша­ет мно­ го­чис­лен­ные па­тен­ты. Ес­ли суд при­зна­ет факт на­ру­ шения па­тен­тов, ито­гом мо­жет стать за­прет про­даж в США прак­ти­че­­ски всей линей­ки про­д ук­тов Apple, за ис­к лю­чением пер­со­наль­ных ком­пь­ю­те­ров. Под иск под­па­да­ют сле­д ую­щие уст­рой­ст­ва: » iPod Touch » iPhone 3GS, 4 и 4S » iPad2 и но­вый iPad (из­вест­ный как iPad3) » Mac Pro и Mac Mini » iMac » MacBook Pro и MacBook Air

Иск тре­бу­ет удов­ле­тво­рения в те­чение 15 ме­ся­цев с да­ты его по­д а­чи. Со­глас­но ис­к у, ком­пании Apple долж­ны за­пре­тить про­д а ­ж у уст­ройств, ис­поль­зую­ щих тех ­но­ло­г ии ра ­д ио­свя­зи, а так ­же дру ­г их пор­ та­т ив­н ых вы­ч ис­л и­т ель­н ых уст­р ойств, уст­р ойств про­иг­ры­вания му­зы­ки, ком­пь­ю­те­ров и все­го осталь­ но­го, что под­па­да­ет под дей­ст­вия па­тен­тов. Дан­ные па­тен­т ы, су­д я по все­м у, яв­ля­ют­с я ори­ ги­н аль­н ы­м и изо­б ре­т ения­м и, не под­п а­д аю­щ и­м и под док­три­ну FRAND, од­на­ко неко­то­рые из них име­ ют доста­точ­но раз­мы­тые фор­му­ли­ров­ки, что услож­ нит ком­пании Apple по­иск пу­тей за­щи­ты. Паб­л о Чавеc [Pablo Chavez], ди­р ек­тор Google по свя­зи с об­ще­с т­вен­но­с тью, вы­с ту­пил на кон­фе­ рен­ц ии в Ас­п ене с док ­л а ­д ом, в ко­т о­р ом рас­к ри­

ти­ко­в ал се­го­д няш­нюю па­т ент­н ую сис­т е­м у и под­ черк­н ул, что на­зре­ла необ­хо­д и­мость ис­ко­ренения прак ­ти­ки вы­да­чи па­тен­тов на про­грамм­ное обес­пе­ чение в США. В док­ла­де ска­за­но, что Google ста­вит под со­мнение, что нынешнее по­ло­жение с па­т ен­ та­ми на ПО спо­с об­с т ­ву­е т ин­но­в а­ц и­ям и от ­ве­ч а­е т по­треб­но­стям по­тре­би­те­лей. По мнению Google, на­б лю­д ае­мые в на­с тоя­щ ее вре­мя па­тент­ные вой­ны не при­но­сят поль­зу по­тре­ би­те­лям, ме­ша­ют раз­ви­тию рын­ка и пре­пят­с т­ву­ют раз­ви­тию ин­но­ва­ций. При этом Чавеc ука­зал на то, что суть па­тен­тов на ПО су­щ е­с т­вен­но от­ли­ча­е т­с я от па­тен­тов в та­ких об­лас­тях, как ме­ди­ци­на, ко­то­ рые тре­бу­ют дли­тель­ных пред­ва­ри­тель­ных ис­с ле­ до­ваний и ин­ве­сти­ций.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

20  |  LXF162 Октябрь 2012


Новости Android ПЛАНШЕТ НА ВОЕННОЙ СЛУЖБЕ

Вы­со­кие тех­но­ло­гии – в армию Ми­ни­стер­ст­во обо­ро­ны Рос­сии раз­ви­ва­ет спе­циа­ли­зи­ро­ван­ную сбор­ку плат­фор­мы Android.

П

ред­с тав­л ен про­т о­т ип пер­в о­г о россий­с ко­г о план­ш ет­н о­г о ком­ пь­ю­те­ра, на базе ОС Android, Вы­ пуск планиру­ет­с я к кон­ц у 2012 го­д а. Ос­ нов­ны­ми поль­зо­в а­т е­ля­ми долж­ны стать со­т рудники Мин­о бо­р о­ны. Опе­р а­ц и­он­ная сис­т е­м а об­л а ­д а­е т все­ми функ­ц ия­м и ОС Android, но не со­дер­жит неглас­ных функ­ ций от­прав­ки лич­ных дан­ных поль­зо­ва­те­ лей в штаб-квар­ти­ру ком­пании Google. Ком­пь­ю­тер по­лу­чил на­звание «Ро­МОС», как и опе­ра­ци­он­ная сис­те­ма (за­щи­щен­ная россий­с кая мо­биль­ная ОС). «Часть ком­ понен­т ов бу­д ут при­воз­ны­ми, а сбор­к а – россий­ская на ба­зе ЦНИИЭИСУ (го­лов­ной ин­с ти­т ут Мин­о бо­р о­н ы). Мы ис­к лю­ч и­л и из сбор­ки Google-мар­кет по при­чине безо­ пас­но­сти», от­ме­тил Ан­д­рей Ста­ри­ков­ский, ген­д и­р ек ­т ор на­у ч­н о-про­и з­в од­с т­в ен­н ой ком­пании на ба­зе тех­но­пар­ка НИЯУ МИФИ. По его сло­вам, для ком­пь­ю­те­ра бу­дет ор­ ганизо­ван соб­с т­вен­ный ма­га­зин безо­пас­ ных при­ло­жений. По­с тав­к и планиру­е т­с я ор­г анизо­в ать в во­ен­ное ве­дом­ст­во с воз­мож­но­стью при­ менения ком­пь­ю­т е­р а в по­л е­вых усло­ви­ ях. Ос­нов­ны­е задачи план­шетника – шиф­ ро­вание дан­ных, хранение крип­ток ­лю­чей, кар­т ы ме­с т­н о­с ти, на­в и­г а­ц ия ГЛОНАСС и GPS. «Бу­д ет два ис­п олнения: штат­н ое и во­е н­н ое (про­т и­в о­у дар­н ое, во­д о­с той­ кое)», до­ба­вил г-н Ста­ри­ков­ский.

> Пер­вый рос­сий­ ский план­шет­ный ком­пь­ю­тер для нужд ар­мии по­ка по­хож на все ос­ таль­ные план­ше­ты.

В от­л и­ч ие от пре­д уста­н ов­л ен­н ых Android-про­ши­вок, ОС Ро­МОС бу­дет сер­ти­ фи­ци­ро­ва­на Министер­ст­вом обо­ро­ны для ра­бо­ты с кон­фи­ден­ци­а ль­ной ин­фор­ма­ци­ ей, для че­го бу­дет про­ве­ден до­полнитель­

ный ау­д ит ме­т о­д ов ра­б о­т ы с внешними дан­ны­ми и уда­ле­на под­держ­ка средств ин­ те­гра­ции с сер­ви­са­ми Google. Пер­вый про­то­тип но­вой ОС был про­де­ мон­с т ­ри­ро­в ан в се­ре­д ине сен ­т яб­ря 2012 го­д а на про­хо­див­шей в Бер­лине вы­с тав­ке по­тре­би­тель­ской элек ­троники IFA. Доступ­н ый для по­т ре­б и­т е­л ей ва­р и­ ант Ро­МОС также планиру­ет­ся вы­пустить до кон­ц а го­д а. В ча­с т­но­с ти, для ши­ро­кой про­д а ­ж и бу­д ет под­г о­т ов­л ен уком­п лек­ то­ван­ный но­вой ОС план­шет стои­мостью 15 тыс. руб­лей. Позднее планиру­ет­ся под­ го­то­вить тот самый во­донепроницае­мый и уда­ро­стой­кий ва­ри­ант план­ше­та для во­ ен­ных. Под­держ­ки 3G в план­ше­те не бу­дет.

Не­мно­го ис­то­рии В сен ­т яб­р е 2010 го­д а гла­в а «Ростех ­н о­ ло­г ий» Сер­г ей Че­м е­зов де­м он­с т­ри­р о­в ал Дмит­рию Мед­ве­де­ву, на тот мо­мент пре­зи­ ден­т у России, россий­ский смарт­фон с под­ держ­кой 4G под брен­дом Yota от опе­ра­то­ра «Скар­тел», сов­ла­дель­цем ко­то­ро­го яв­ля­ ет­с я госкор­по­ра­ц ия. «Это наш про­д укт – по­ка, к со­ж а­л ению, вы­п ускать мы его бу­дем на Тай­ване, но в бли­ж ай­шее вре­мя пол­но­стью пе­ренесем про­из­вод­ст­во в Рос­ сию», го­во­рил тогда Че­ме­зов. А ген­ди­рек­

тор «Скар­те­ла» Денис Сверд ­лов по­яс­нял, что этот те­ле­фон бу­дет от­но­сить­ся к пре­ ми­ум-сег­мен­т у и по ди­зай­ну, и по на­чин­ке ап­па­ра­та, и сто­ить бу­дет со­от­вет­ст­вен­но – 25 – 30 тыс. руб. В про­д а­ж у смарт­фон так и не по­сту­пил... В сен­тяб­ре 2011 го­да Ана­ то­лий Чу­байс пред­с та­вил Дмит­рию Мед­ ве­де­ву «уникаль­н ую» раз­ра­бот­к у – элек­ трон­н ую книгу для школьников на базе тех­н о­л о­г ии E-ink (элек ­т рон­н ых чернил), но и этот про­ект ока­зал­ся про­валь­ным.

ВОТ ЭТО ДА!

Мобильная ОС летит в Космос Телефоны с Android лягут в основу двух спутников NASA.

Фо­то: www.nasa.gov

В

NASA занялись любопытным экс­ периментом, цель которого – со­ здание спутника из готовых дета­ лей, а не разработанных силами агентства. Уже готовы две модели: PhoneSat 1.0 – на основе смартфона Nexus One и PhoneSat 2.0 – на основе Samsung Galaxy S. Предполагается, что телефоны смогут какое-то время работать на орбите Зем­ ли сами по себе. Задача PhoneSat 1.0 – определить, на что способны стандартные системы телефона: радиопередатчи­ ки, гироскоп и камера, которая сдела­ ет несколько снимков Земли. К телефону

подключат систему, которая его переза­ грузит, если он перестанет подавать сиг­ налы (она относится к профессиональ­ ному оборудованию, но тоже продается

> Крошечный спутник Phone Sat 1.0 будет снимать по­верх­ ность Земли «родной» камерой смартфона.

свободно), а также внешний аккумулятор. В PhoneSat 2.0 войдут и «космиче­с кие» разработки – радиопередатчик, мощности которого хватит для связи с Землей, сол­ нечные батареи, приемник GPS и магнит­ ная катушка, предназначенная для изме­ рения магнитного поля Земли. Главная фишка тут в том, что цена трех прототипов спутников не превысит 3500 долларов США – по меркам космиче­ских программ, это карманные деньги. За­ пуск спутников назначен на 2013 год и бу­ дет произведен в рамках программы Small Spacecraft Technology Program. |

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 21


Android

»»Программирование Наладим взаимодействие Android и Google

Android: Фо­то на кар­те Джуль­ет­та Кемп пи­шет про­стую про­грам­му, ко­то­рая при­вя­жет фо­то­гра­фии к Google Maps с GPS. Наш эксперт Джуль­ет­та Кемп пи­шет ста­тьи для раз­лич­ных из­да­ ний и сей­час ду­ма­ ет над тем, как бы вос­поль­зо­вать­ся HTTP-под­к лю­че­ни­ ем сво­его те­ле­фо­ на к сер­ве­ру.

Н

а этом уро­ке мы рас­с мот ­р им ин ­т ер­ф ейс GPS, а так­ же вернем­с я к неко­т о­р ым дру­г им ком­п онен­т ам сис­ те­м ы, ис­п оль­з о­в ан­н ым в наших пре­д ы­д у­щ их стать­ ях – API кар­ты [Map], ба­зы дан­ных [Database] и ка­ме­ры [Camera]. Под­роб­но этот код мы раз­би­рать не бу­дем, но весь он присутст­

вует на DVD, по­это­му при необ­хо­ди­мо­сти его мож­но ско­пи­ро­вать, вста­вить и за­с та­вить ра­бо­тать (об­ра­ти­те внимание, что код, по­ мещенный на DVD, не ском­пи­ли­ру­ет­ся в том виде, как он есть – нуж­но соз­д ать но­вый про­ект, вруч­ную или в Eclipse, и им­пор­ти­ ро­вать его).

Шаг 1: Ба­зо­вая на­строй­ка GPS Ин­тер­фейс на­ше­го при­ло­жения прост: тес­то­вое по­ле (в ко­то­ром бу­дет по­к а­з а­но ме­с то­по­ло­жение по­с ле его оп­ре­де­ления) и три кноп­к и: Get Location [Оп­ре­де­лить ме­с то­по­ло­жение], Take Photo [Сде­лать снимок] и Show Map of Photos [По­ка­зать кар­т у с фо­то­ гра­фия­ми]. На DVD най­ди­те XML-файл res/layout/main.xml. Пер­ вые несколь­ко ме­то­дов в на­шем GPSPhoto вы­гля­д ят так: private LocationManager lm; private TextView locationText; public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.main); setUpButtons(); locationText = (TextView) findViewById(R.id.location); lm = (LocationManager) getSystemService(LOCATION_SERVICE); } public void setUpButtons() {

Ин­фор­ма­ция о ме­сто­по­ло­же­нии Ин­фор­ма­ция о ме­сто­по­ло­жении вклю­ча­ет не толь­ко ши­р о­т у и дол­г о­т у, но и ку ­ч у дру ­г их па­р а­м ет ­р ов. Для досту­па к ним есть несколь­ко ме­то­дов в клас­се Location, а для их пред­став­ления в че­ло­ве­ко-чи­тае­ мом ви­де при­го­д ит­с я ме­тод toString() – ре­зуль­т ат по­лу­чит­ся при­мер­но та­кой: Location[mProvider=gps,mTime=1339624800000, mLatitude=55.0, mLongitude=0.0,mHasAltitude=true, mAltitude=0.0,mHasSpeed=false,mSpeed=0.0, mHasBearing=false,mBearing=0.0,mHasAccuracy= false,mAccuracy=0.0,mExtras= Bundle[mParcelledData.dataSize=4]] Вот пол­ная ин­фор­ма­ция об этих па­ра­мет­рах: »»Provider – про­вай­дер ме­с то­по­ло­жения, обыч­ные зна­чения – GPS или Network [Сеть]. »»Time – вре­мя съем­ки по Грин­ви­чу (в мил­ли­се­к ун­ дах с 1 ян­ва­ря 1970 го­да). »»Latitude и Longitude – как сле­д у­е т из на­звания, ши­ро­та и дол­го­та в гра­д у­сах. »»hasAltitude, Altitude – ес­ли при­вяз­ка со­дер­жит ин­ фор­ма­цию о вы­со­те над уровнем мо­ря (т. е. ес­ли

hasAltitude рав­но true), Altitude со­дер­ж ит вы­со­т у в мет­рах. »»hasSpeed, Speed – ес­ли при­вяз­к а со­д ер­ж ит ин­ фор­м а­ц ию о ско­р о­с ти, зна­ч ение Speed бу­д ет нену­ле­вым. По умол­чанию ин­фор­ма­ции о ско­ро­ сти не со­дер­жит­ся. »»hasBearing, Bearing – ес­ли при­вяз­ка со­дер­жит ин­ фор­ма­цию об ази­му ­те, Bearing со­дер­жит на­прав­ ление дви­жения в гра­д у­с ах к восто­к у от гео­г ра­ фи­че­­ско­­го се­ве­ра. На эму­ля­то­ре этих дан­ных нет, но на ре­а ль­ном уст­рой­ст­ве они бы­ва­ют. »»hasAccuracy, Accuracy – ес­ли у про­в ай­де­ра есть дан­ные о точ­но­с ти, Accuracy со­дер­ж ит зна­чение до­пуска в мет­рах. »»Extras со­дер­ж ит всю до­полнитель­ную ин­фор­ма­ цию о при­вяз­ке в ви­де пар «имя/зна­чение». Од­ ним из та­ких па­ра­мет­ров мо­жет быть чис­ло спут­ ников, ис­поль­зо­ван­ное для по­лу­чения при­вяз­ки. Пол­н ая стро­к а с па­р а­м ет­р а­м и рас­п о­л о­ж ения не слиш­ком по­лез­на про­грам­ме, за­то очень по­лез­на про­г рам­м и­с ту. На­п ри­м ер, с по­м о­щ ью па­р а­м ет­р а

Bearing мож­н о со­р и­е н­т и­р о­в ать стрел­к у на кар­т е (так­же есть ме­тод bearingTo(), ко­то­рый воз­вра­щ а­ет на­прав­ление для за­дан­ной конеч­ной точ­ки). Ес­л и имеется точ­н ая ин­ф ор­м а­ц ия о вы­с о­т е, то ее мож­но за­пи­сы­вать че­рез оп­ре­де­лен­ные ин­тер­ ва­лы вре­мени, что­бы от­с ле­ж и­в ать свой подъ­ем – это осо­бен­но удоб­но при ез­де на ве­ло­си­пе­де.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

22  |  LXF162 Октябрь 2012


Про­грам­ми­ро­ва­ние A ndroid

Button getLocationButton = (Button) findViewById (R.id.button_getlocation); getLocationButton.setOnClickListener(new View. OnClickListener() { public void onClick(View view) { getCurrentLocation(); } }); } За­дание объ­ек­та LocationManager в ме­то­де onCreate() по­зво­лит нам ра­бо­тать с раз­лич­ны­ми про­вай­де­ра­ми и па­ра­мет­ра­ми ме­сто­ по­ло­жения. С его по­мо­щью мы по­лу­ча­ем про­вай­дер ме­сто­по­ло­ жения и те­к у­щее ме­сто­по­ло­жение в ме­то­де getCurrentLocation(): public void getCurrentLocation() { LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { locationText.setText(location.toString()); lm.removeUpdates(this); } public void onStatusChanged(String provider, int status, Bundle extras) {} public void onProviderEnabled(String provider) {} public void onProviderDisabled(String provider){} }; lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); Location lastKnownLocation = lm.getLastKnownLocation(Locati onManager.GPS_PROVIDER); if (lastKnownLocation != null) { locationText.setText(lastKnownLocation.toString()); } else { locationText.setText(“По­с лед­нее ме­с то­по­ло­же­ние не по­лу­чить”); } } LocationListener, как мож ­но до­г а ­д ать­с я по на ­званию, от­с ле­ жи­в а­е т из­м енения ме­с то­п о­л о­ж ения и, за­м е­т ив та­к о­в ое, за­ пуска­е т ме­т од onLocationChanged(). Когда ме­с то­п о­л о­ж ение ме­н я­е т­с я, мы уста­н ав­ли­в а­е м зна­ч ение тек­с то­в о­г о по­л я [Text­ View] locationText в стро­ко­вое зна­чение GPS. Ос­таль­ные ме­то­ды LocationListener несу­ще­ст­вен­ны – по­ка оста­вим их пусты­ми. По соз ­д ании LocationListener его нуж­н о за­р е­г и­с т­р и­р о­в ать в LocationManager и вы­брать про­в ай­де­ра. Здесь мы поль ­зу­ем­ ся про­вай­де­ром GPS (ес­ли он недосту­пен, об­ра­бот­к у ошиб­ки см. да­лее). Что­бы восполь­зо­вать­ся про­вай­де­ром GPS, так­же нуж­но уста­но­вить сле­дую­щие пра­ва досту­па в AndroidManifest.xml: <uses-permission android:name=”android.permission.ACCESS_ FINE_LOCATION” /> Иногда на по­лу­чение ин­фор­ма­ции о ме­сто­по­ло­жении ­тре­бует­ся вре­мя – в процессе ожидания мож­но, если удастся, по­лу­чить по­ следнее из­вест­ное ме­сто­по­ло­жение вруч­ную и ис­поль­зо­вать его, по­ка LocationListener не опо­вес­тит нас о сле­дую­щем.

> Три кноп­ки, а так­ же ши­ро­та и дол­ го­та мое­го те­ку­ ще­го ме­сто­по­ло­ же­ния на ре­аль­ном уст­рой­ст­ве.

Ес­ли вы­полнить этот код, у нас получится ре­зуль­тат сле­д ую­ щего вида: Location[mProvider=gps,mTime=1338588000000, mLatitude=37.422005,mLongitude=-122.084095, mHasAltitude=true,mAltitude=0.0,mHasSpeed=false,mSpeed=0.0, mHasBearing=false,mBearing=0.0,mHasAccuracy=false, mAccuracy=0.0,mExtras=Bundle[mParcelledData.dataSize=4]] Здесь немало па­ра­мет­ров, ко­то­рые мо­г ут нам при­го­дить­ся – под­роб­но­с ти см. во врез­ке «Информация о местоположениии». Вы­та­щим от­сю­да ши­ро­т у и дол­го­т у и вы­ве­дем их с тре­мя зна­ка­ ми по­сле за­пя­той с по­мо­щью клас­са DecimalFormat. Для это­го за­ меним вы­зов setText() та­ким ко­дом: DecimalFormat latLngFormat = new DecimalFormat(“#.###”); String lat = Double.toString(Double.valueOf(latLngFormat. format(currentLocation.getLatitude()))); String lng = Double.toString(Double.valueOf(latLngFormat. format(currentLocation.getLongitude()))); locationText. setText(“Шир: “ + lat + “, долг: “ + lng); От­п равь­т е од­н о зна­ч ение пе­р ед пе­р е­з а­г руз­к ой эму­л я­т о­ ра, за­тем на ­ж ми ­те на кноп­к у Get Location и от­правь­те еще од­ но, и вы уви­ди­те, как зна­чение из­менит­ся. Ес­ли вы сде­лае­те это еще раз, зна­чение ме­нять­ся не бу­дет, так как лис­тенер вы­к лю­чен. Конеч­но, мож­но оста­вить его вклю­чен­ным, но это до­воль­но бы­ ст­ро раз­ря­дит ба­та­рею, по­это­му луч­ше вы­к лю­чать и сно­ва вклю­ чать его при необ­хо­ди­мо­сти. В на­шем слу­чае – при ка­ж ­дом вы­зо­ ве getCurrent Location(), т. е. при на­жа­тии кноп­ки или при съем­ке фо­то­гра­фии.

Скорая помощь Что­бы это за­ра­ бо­та ­ло на эму­ля­ то­ре, нуж­но за­ пус­тить эму­ля­тор, от­пра­вить ему ме­ сто­по­ло­же­ние с по­мо­щью DDMS, за­тем ус­та­но­вить при­ло­же­ние.

Шаг 2: Съем­ка фо­то­гра­фий Для съем­ки фо­то­гра­фии мож­но вы­звать стан­дарт­ную про­грам­му ра­бо­ты с ка­ме­рой с по­мо­щью на­ме­рения – Intent: private Uri fileUri; public void takePhoto() { Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);

i.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); startActivityForResult(i, CAPTURE_IMAGE_ACTIVITY_REQ); } Най­д и ­те на DVD код ме­то­д а getOutputMediaFileUri(), соз ­д аю­ ще­го уникаль­ное имя фай­ла, под ко­то­рым бу­дет со­хранена фо­ то­гра­фия. Для ис­прав­ления за­ме­чен­ной ошиб­к и fileUri сде­ла­на

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 23


Android Про­грам­ми­ро­ва­ние

Ошиб­ка За­ня­тия ка­ме­ры при со­хра­не­нии фо­то­гра­фии В не­ко­то­рых уст­рой­ст­вах при воз­вра­ще­нии ре­зуль­ та­та За­ня­тия ка­ме­ры воз­ни­ка­ет ошиб­ка, при ко­то­ рой URI со­хра­нен­ной фо­то­гра­фии не воз­вра­ща­ет­ся (не­с мот ­ря на то, что на са ­м ом де ­л е фо­т о­г ра­ф ия ус­пеш­но со­хра­не­на). Для об­ра­бот­ки этой ошиб­ки в ме­то­де onActivityRe­ sult() про­ве­рим, яв­ля­ет­ся ли воз­вра­щен­ное Intent пус­ тым при ко­де ре­зуль­та­та OK. Ес­ли да, вос­поль­зу­ем­ся URI фай­ла, ко­то­рый мы пе­ре­да­ли За­ня­тию ка­ме­ры. Од­н а­ко это зна­ч е­ние нель­зя про­с то со­х ра­нить в пе­ре­мен­ной клас­са, ина­че оно бу­дет по­те­ря­но при при­ос­та­нов­ке За­ня­тия. Вме­сто это­го вос­поль­зу­ем­ся ме­то­дом onSaveInstanceState():

Скорая помощь Что­бы вос­поль­ зо­вать­ся эму­ля­ то­ром ка­ме­ры, за­пус­ти­те ме­нед­ жер AVD и до­ бавь­те SD-кар­ ту в эму­ли­руе­мое уст­рой­ст­во.

private static final String SAVED_FILE_URI = “fileUri”; public void onSaveInstanceState(Bundle savedInstanceState) { if (fileUri != null) { savedInstanceState.putString(SAVED_FILE_URI, fileUri.toString()); } super.onSaveInstanceState(savedInstanceState); } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState != null) {

пе­ре­мен­ной клас­са – под­роб­но­сти во врез­ке «Ошиб­ка За­ня­тия ка­ ме­ры при со­хра­не­нии фо­то­гра­фии». Для хра­не­ния фо­то­гра­фий на внеш­ней SD-кар­те нуж­но до­ба­ вить сле­д ую­щее пра­во дос­т у­па в AndroidManifest.xml: <uses-permission android:name=”android.permission.WRITE_ EXTERNAL_STORAGE” /> По­л у­чив Intent с ме­с то­по­ло­жением фо­то­г ра­фии, нуж­но коечто с ним сде­лать: protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQ) { if (resultCode == RESULT_OK) { if (data == null) { // Здесь за­ме­че­на ошиб­к а! Фо­то на­до со­х ра­нить в fileUri storePhoto(fileUri); } else { storePhoto(data.getData()); } } else if (resultCode == RESULT_CANCELED) { // Поль­зо­ва­тель от­ме­нил опе­ра­цию; ни­че­го не де­ла­ем } else { Log.e(TAG, “Вы­зов фо­то не­уда­чен!”); } } } Ин­фор­ма­цию об ошиб­ке и борьбе с ней см. во врез­ке.

Ба­за дан­ных Пре­ж ­де чем пи­сать ме­тод storePhoto(), нуж­но соз­д ать ба­зу дан­ ных фо­то­г ра­фий: од ­н у таб­ли­ц у с тре­мя столб­ц а­ми (URI фо­то­ гра­фии, ши­ро­та и дол­го­та в фор­ма­те с пла­ваю­щей точ­кой). Для на­ча ­ла на­пи­шем вспо­мо­га­тель­ный класс ба­зы дан­ных, ко­то­рый ис­поль­зу­ет API для ра­бо­ты с SQLite в Android: public class GPSPhotoDatabaseHelper extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 1; private static final String DATABASE_NAME =“GPSPhotoDatabase”;

String fileString = savedInstanceState. getString(SAVED_FILE_URI); if (fileString != null) { fileUri = Uri.parse(fileString); } } // .... } Он со­х ра­ня­ет зна­че­ние fileUri при при­ос­т а­нов­ке За­ня­т ия и со­х ра­ня­е т его при во­зоб­нов­ле­нии (ес­ ли оно су­ще­с т­ву­е т; мы про­ве­ря­ем, что со­с тоя­ние со­х ра­не­но и не яв­ля­ет­с я пус­т ым, что­бы из­бе­ж ать ис­к лю­че­ния NullPointerException). Те­перь все долж­но ра­бо­т ать хо­ро­шо, не­смот­ря на ошиб­к у.

// Сю­д а пой­д ут кон­с тан­т ы для таб­ли­цы и шап­к и ко­ло­нок // А так­же кон­с тан­т а для стро­к и SQL; см. код на DVD GPSPhotoDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } public void onCreate(SQLiteDatabase db) { db.execSQL(PHOTO_TABLE_CREATE); } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL(PHOTO_TABLE_DROP); onCreate(db); } } За­тем на­пи­шем ме­тод storePhoto() в GPSPhoto, ко­то­рый бу­дет вы­зы­вать­ся из onActivityResult(): private void storePhoto(Uri uri) { getCurrentLocation(); GPSPhotoDatabaseHelper dbHelper = new GPSPhotoDatabaseHelper(getBaseContext()); SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(GPSPhotoDatabaseHelper.KEY_FILE, uri.toString()); values.put(GPSPhotoDatabaseHelper.KEY_GPS_LAT, currentLocation.getLatitude()); values.put(GPSPhotoDatabaseHelper.KEY_GPS_LNG, currentLocation.getLongitude()); db.insert(GPSPhotoDatabaseHelper.PHOTO_TABLE_NAME, null, values); db.close(); } Этот код поч­т и не тре­бу­ет по­яснений: мы по­л у­ча­ем те­к у­щее ме­с то­по­ло­жение, пе­ре­мен­н ую для ра­бо­т ы с ба­зой дан­ных, за­ тем с по­мо­щью пе­ре­мен­ной ContentValues за­пи­сы­ва­ем URI и ме­ сто­п о­л о­жение сним­к а в ба­зу дан­ных. Те­п ерь фо­т о­г ра­ф ии бу­ дут хранить­с я в ба­зе дан­ных, и к ним бу­д ет лег­ко об­р а­т ить­с я при соз­дании кар­ты.

Шаг 3: Кар­ты Для на­с трой­ки карт нуж­но со­брать при­ло­жение с це­лью Google API (а не с обыч­ной це­лью), и до­ба­вить сле­д ую­щ ую стро­к у в файл AndroidManifest.xml:

<uses-permission android:name=”android.permission.INTERNET” /> Так­же в ком­понен­те кар­ты [MapView] нуж­но восполь­зо­вать­ся клю­чом API. Для от­лад­ки мож­но по­лу­чить ключ, ко­ман­дой

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

24  |  LXF162 Октябрь 2012


Про­грам­ми­ро­ва­ние A ndroid

keytool -list -alias androiddebugkey -keystore ~/.android/debug. keystore \\ -keypass android -storepass android и от­пра­вить по­лу­чив­шую­ся кон­троль­ную сум­му по ссыл­ке https:// developers.google.com/android/maps-api-signup. Ин­ф ор­м а­ц ия о том, как по­лу­чить и инициа ­ли­зи­ро­вать пол­но­цен­ный ключ, при­ ве­де­на на сай­те Google. За­тем ука­жи­те ключ в XML-фай­ле: <?xml version=”1.0” encoding=”utf-8”?> <RelativeLayout .... > <com.google.android.maps.MapView android:id=”@+id/mapView” android:layout_width=”fill_parent” android:layout_height=”fill_parent” android:enabled=”true” android:clickable=”true” android:apiKey=”xxxxxxxxx” /> </RelativeLayout> Что­бы вос­поль­зо­вать­ся этой XML-схе­мой MapView, соз­д ай­те класс GPSPhotoMap: public class GPSPhotoMap extends MapActivity { // Override the methods @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.map); } @Override protected boolean isRouteDisplayed() { return false; } } Вы­зо­ви­те его из глав­но­го За­ня­тия в ме­то­де showMap(), вы­зы­ вае­мом при на­жа­тии кноп­ки Show Map of Photos [По­ка­зать кар­ ту с фо­то]: public void showMap() { Intent i = new Intent(getBaseContext(), GPSPhotoMap.class); startActivity(i); } По­к а кар­т а пуста; до­ба­вим же от ­мет ­к и, по­к а ­зы­в аю­щ ие мес­ та, где сде­ла­ны на­ши сним­ки. Для это­го восполь­зу­ем­ся овер­ле­ ем – и унас­ле­ду­ем­ся от ItemizedOverlay, так как нуж­но по­ка­зы­вать несколь­ко ме­ток. Пол­ный код (и пре­ды­д у­щие ру­ко­во­дства) мож­но най­ти на DVD, а нам важ­ны сле­д ую­щие ме­то­ды: public class PhotoLocationOverlay extends ItemizedOverlay<OverlayItem> { private ArrayList<OverlayItem> photos = new ArrayList<OverlayItem>(); public PhotoLocationOverlay(Drawable marker) { super(boundCenterBottom(marker)); populate(); } // Добавим новый элемент на нашу карту public void addItem(GeoPoint p, String photoTitle, String photoLocation) { OverlayItem photoItem = new OverlayItem(p, photoTitle, photoLocation); photos.add(photoItem); populate(); } } Эле­мент овер­лея OverlayItem дол­жен иметь три зна­чения: точ­ ку гео­ло­ка­ции GeoPoint, за­го­ло­вок и крат­кое опи­сание snippet-а.

> Кар­та и от­мет­ка в GPSPhotoMap.

В ме­то­де onCreate() GPSPhotoMap до­ба­вим ме­тод для про­ри­ сов­ки овер­лея: List<PhotoWithLocation> photoList; public void onCreate(Bundle savedInstanceState) { // ... showPhotosOnMap(); } private void showPhotosOnMap() { Drawable pin = this.getResources().getDrawable(R.drawable.pin); PhotoLocationOverlay photoOverlay = new PhotoLocationOverlay(pin); MapView mapView = (MapView) findViewById(R.id.mapView); mapView.getOverlays().add(photoOverlay); } Объ­ект Drawable – гра­фи­че­­ская мет­ка, ис­поль­зуе­мая для ка­ ж ­до­го эле­мен­та; за­тем мы соз­д а­ем и до­бав­ля­ем но­вый овер­лей на кар­т у, за­тем до­бав­ля­ем ка­ж ­дый эле­мент спи­ска фо­то­гра­фий на кар­т у.

Объ­е­диним все вме­сте На­конец, нам ну ­жен ме­тод, ко­то­рый по­лу­ча­ет спи­сок фо­то­гра­фий из на­шей ба­зы дан­ных и пе­ре­да­ет его showPhotosOnMap(): private void getPhotoList() { GPSPhotoDatabaseHelper db = new GPSPhotoDatabaseHelper (getBaseContext()); SQLiteQueryBuilder builder = new SQLiteQueryBuilder(); builder.setTables(GPSPhotoDatabaseHelper. PHOTO_TABLE_NAME); String[] PROJECTION = new String[] {

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 25


Android Про­грам­ми­ро­ва­ние

GPSPhotoDatabaseHelper.KEY_FILE, GPSPhotoDatabaseHelper.KEY_GPS_LAT, GPSPhotoDatabaseHelper.KEY_GPS_LNG }; photoList = builder.query(db.getReadableDatabase(), PROJECTION, null, null, null, null, null); } private void showPhotosOnMap() { // .... mapView.getOverlays().add(photoOverlay); getPhotoList(); photoList.moveToFirst(); while (photoList.isAfterLast() == false) { String uri = photoList.getString(photoList.getColumnIndex (GPSPhotoDatabaseHelper.KEY_FILE)); float lat = photoList.getFloat(photoList.getColumnIndex (GPSPhotoDatabaseHelper.KEY_GPS_LAT)); float lng = photoList.getFloat(photoList.getColumnIndex(GPSP hotoDatabaseHelper.KEY_GPS_LNG)); GeoPoint gp = new GeoPoint((int)(lat * 1E6), (int)(lng *1E6)); // По­ле ‘title’ не ис­поль­зу­ет­ся, толь­ко GeoPoint and snippet photoOverlay.addItem(gp, null, uri); photoList.moveToNext(); } photoList.close(); } Для бы­ст­ро­го и лег­ко­го соз­д ания ба­зы дан­ных пре­крас­но по­ дой­дет SQLiteQueryBuilder. Доста­точ­но ука­зать толь­ко ба­зу дан­ ных и про­ек­цию (т.  е. необ­хо­ди­мые нам столб­цы). Ос­таль­ные па­ ра­мет­ры query() (здесь все они пусты) – вы­бор­к а и ар­г у­мен­т ы вы­б ор­к и (т.  е. ка­к ие столб­ц ы нуж ­но вер­н уть), вы­р а ­жения SQL GROUP BY и SQL HAVING, а так­же по­ря­док сор­ти­ров­ки. В про­ек­ ции PROJECTION нам нуж­ны три столб­ца, и мы за­би­ра­ем все фо­ то из ба­зы дан­ных, по­ря­док сор­ти­ров­ки и все осталь­ное не име­ ет зна­чения. По­это­му мы вы­пол­ня­ем за­прос на ReadableDatabase с пусты­ми па­ра­мет­ра­ми за ис­к лю­чением PROJECTION. Функ­ция воз­вра­щ а­ет Cursor, по ко­то­ро­му мож­но про­хо­дить­ся в функ­ции showPhotosOnMap(). Помните, что кур­сор нуж­но вруч­ ную пе­ре­вес­ти на пер­вый эле­мент и за­тем про­дол­жать ите­ра­ции, по­ка он не дой­дет до по­с леднего. Ка ­ж ­дый эле­мент до­бав­ля­ет­ся в Overlay, а сле­до­ва­тель­но, до­ба­вит­ся в Map View. Ском­пи­л и­руй­т е про­г рам­м у, и, сняв несколь­ко фо­т о­г ра­ф ий и от­пра­вив несколь­ко ме­с то­по­ло­жений эму­ля­то­ру, вы уви­д и­те на кар­те несколь­ко от­ме­ток.

> Из кар­ты вы­рос­ли де­ре­вья и ре­ка. Что­бы ста­ло еще луч­ше, до­ра­бо­тай­те код — пускай фо­то­гра­фия по­вер­нется на нуж­ный угол.

Щел­ка­ем по от­мет­кам на кар­те Те­перь по­за­бо­тим­ся, что­бы по щелч­к у на от­мет­ке по­ка­зы­ва ­лось сделанная фо­то­гра­фия. Для на­ча ­ла соз­да­дим ба­зо­вый ме­тод об­ ра­бот­ки щелч­ка на мет­ке с по­мо­щью диа­ло­га AlertDialog. До­бавь­те следующие ме­то­ды в PhotoLocationOverlay: public PhotoLocationOverlay(Drawable marker, Context context) { super(boundCenterBottom(marker)); c = context; populate(); } protected boolean onTap(int index) { OverlayItem item = photos.get(index); AlertDialog.Builder dialog = new AlertDialog.Builder(c); dialog.setTitle(item.getTitle()); dialog.setMessage(item.getSnippet()); dialog.show(); return true; } За­т ем из­м ените данную стро­к у ме­т о­д а showPhotosOnMap() в GPSPhotoMap, пе­ре­дав Context при соз­дании овер­лея: PhotoLocationOverlay photoOverlay = new PhotoLocationOverlay(pin, this) За­пусти­те про­грам­му, и вы уви­ди­те, что при щелч­ке по от­мет­ке те­перь от­кры­ва­ет­ся окош­ко с пу­тем к соответствующему фай­лу. Что­бы по­ка­зать вме­с то него фо­то­гра­фию, ну ­жен код несколько по­сложнее. Упот­ре­бим обыч­ный Dialog вме­сто AlertDialog. Пе­ре­пи­шем ме­ тод onTap(): protected boolean onTap(int index) { OverlayItem item = photos.get(index); Dialog dialog = new Dialog(c); LayoutInflater inflater =(LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE); LinearLayout photoAlert = (LinearLayout) inflater.inflate (R.layout.photoalert, null); ImageView photoImage = (ImageView) photoAlert. findViewById(R.id.photo); try { InputStream in = new java.net.URL(item.getSnippet()). openStream(); Bitmap bm = BitmapFactory.decodeStream (new FlushedInputStream(in)); photoImage.setImageBitmap(bm); // Об­ра­бо­т а­ем все воз­мож­ные ис­к лю­че­ния } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } dialog.setContentView(photoAlert); dialog.show(); return true; } Что­бы по­ка­зать в Dialog изо­бра­жение вме­сто тек­ста, нуж­но соз­ дать и ис­поль­зо­вать поль­зо­ва­тель­скую рас­к лад­к у. LayoutInflator ее по­л у­чит, а мы смо­жем по­л у­чить ссыл­к у на ImageView. Ваш XML-файл layout/photoalert.xml дол­жен вы­гля­деть так: <?xml version=”1.0” encoding=”utf-8”?> <LinearLayout xmlns:android=”http://schemas.android.com/apk/ res/android” android:layout_width=”wrap_content” android:layout_height=”wrap_content” >

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

26  |  LXF162 Октябрь 2012


Про­грам­ми­ро­ва­ние A ndroid

<ImageView android:id=”@+id/photo” android:layout_width=”fill_parent” android:layout_height=”wrap_content” /> </LinearLayout> На­конец, нам требуется пре­об­ра­зо­в ать фо­то­г ра­фию в фор­ мат bitmap и по­мес­тить ее в ImageView. В иде­а ль­ном варианте нам следовало бы вы­звать BitmapFactory.decodeFile(file). К со­жа ­лению, за­ме­че­на неприятная ошиб­ка, спо­соб­ная при­вес­ ти к то­му, что фай­лы JPG (со­хранен­ные ка­ме­рой ап­па­ра­та) мо­г ут

не де­ко­д и­ро­в ать­с я (см. http://code.google.com/p/android/issues/ detail?id=6066). Вам нуж­но пе­ре­пи­сать класс FlushedInputStream; код это­го ста­ ти­че­­ско­­го клас­са помещен на DVD. Соз­д ав bitmap, по­ка­жи­те ок­ но, и все го­то­во. Что­бы ок­но за­кры­ва­лось без на­жа­тия кноп­ки Back [На­зад], до­ бавь­те в код все­го од­ну стро­к у: dialog.setCanceledOnTouchOutside(true); Те­перь при щелч­ке на лю­бом сво­бод­ном мес­те ок­но за­кро­ет­ся, и мы вернем­ся к кар­те.

Шаг 4: Улучшаем GPS Что­бы­оп­ре­де­лить ме­с то­по­ло­же­ние бо­лее на­деж­но, пе­ре­пи­шем ме­тод isBetterLocation(): protected boolean isBetterLocation(Location newLocation, Location oldLocation) { if (oldLocation == null) { return true; } long timeDiff = newLocation.getTime() - oldLocation.getTime(); if (timeDiff > TWO_MINUTES) { return true; } else if (timeDiff < -TWO_MINUTES) { return false; } int accuracyDiff = (int) (newLocation.getAccuracy() oldLocation.getAccuracy()); if (accuracyDiff < 0 ) { return true; } else if (accuracyDiff > 0 ) { return false; } return false; } Он про­ве­ря­ет три ве­щи: 1 Ес­ли те­к у­ще­го ме­сто­по­ло­жения нет, то но­вое вся­ко будет луч­ ше, по­это­му воз­вра­ща­ем true. 2 Ес­ли разница во вре­мени ме­ж ­ду те­к у­щим и но­вым ме­сто­по­ло­ жением боль­ше двух ми­нут, то поль­зо­ва­тель, ве­ро­ят­но, пе­ре­мес­ тил­ся в про­стран­ст­ве, по­это­му восполь­зу­ем­ся но­вым ме­сто­по­ло­ жением (воз­вра­ща­ем true). 3 Точ­ность вы­ра­жа­ет­ся в мет­рах (см. врез­к у «Информация о ме­ сто­по­ло­жении»). Ес­ли точ­ность те­к у­ще­го ме­сто­по­ло­жения мень­ ше, чем но­во­го, то (new_accuracy — old_accuracy > 0), и те­к у­ щее ме­с то­по­ло­жение луч­ше (воз­вра­щ а­ем false). Ес­ли на­обо­рот, то луч­ше но­вое ме­сто­по­ло­жение, и мы воз­вра­ща­ем true. Ес­ли раз­ ницы нет, со­хра­ня­ем те­к у­щее ме­сто­по­ло­жение. Те­перь мож­но вы­зы­вать эту функ­цию в обо­и х слу­ча­я х по­л у­ чения но­во­го ме­с то­по­ло­жения – при его об­нов­лении и при по­ лу­чении по­с леднего из­вест­но­го ме­с то­по­ло­жения. На прак ­т и­ке мы вы­де­лим его в от­дель­ный ме­тод и вы­зо­вем его: public void getCurrentLocation() { LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { checkAndSetLocation(location); lm.removeUpdates(this); } // ... Location lastKnownLocation = lm.getLastKnownLocation (PROVIDER); if (lastKnownLocation != null) { checkAndSetLocation(lastKnownLocation); }

} private void checkAndSetLocation(Location location) { if (isBetterLocation(location, currentLocation)) { currentLocation = location; } DecimalFormat latLngFormat = new DecimalFormat(“#.###”); String lat = Double.toString( Double.valueOf(latLngFormat.format(currentLocation. getLatitude()))); String lng = Double.toString( Double.valueOf(latLngFormat.format(currentLocation. getLongitude()))); locationText.setText(“Lat: “ + lat + “, long: “ + lng); } Мы так­же про­ве­рим, дос­т у­пен ли про­вай­дер GPS, и ес­ли нет, вос­поль­зу­ем­ся про­вай­де­ром се­те­вой мо­биль­ной свя­зи, до­ба­вив сле­д ую­щие стро­ки в getCurrentLocation(): if (lm.isProviderEnabled(LocationManager.GPS_PROVIDER)) { PROVIDER = LocationManager.GPS_PROVIDER; } else { Toast.makeText(this, “GPS не­дос­т уп­но; бе­рем се­те­вую ячей­к у”, Toast.LENGTH_SHORT).show(); PROVIDER = LocationManager.NETWORK_PROVIDER; } lm.requestLocationUpdates(PROVIDER, 0, 0,locationListener); Мож­но и еще улуч­шить код, на­пи­сав ме­то­ды onStatusChanged(), onProviderEnabled() и onProviderDisabled() в LocationListener. На­ при­мер, мож­но вы­да­вать окош­ко с опо­ве­щением при от­к лю­чении про­вай­де­ра GPS (сна­ча ­ла про­ве­ря­ет­с я, что те­к у­щим про­вай­де­ ром яв­ля­ет­ся GPS, за­тем вы­да­ет­ся окош­ко), что­бы поль­зо­ва­тель вклю­чил его сно­ва. Ес­ли вы хо­ти­те поль­зо­вать­ся толь­ко про­вай­де­ром GPS (не се­ те­вым), в этот мо­мент мож­но да­же за­крыть при­ло­жение, но уч­ти­ те, что это ог­раничи­ва­ет функ­цио­наль­ность про­грам­мы и мо­жет очень до­са ­ж ­дать поль­зо­ва­те­лем, ко­то­рые пред­по­чи­та­ют не остав­ лять GPS вклю­чен­ным и до­воль­ны при­мер­ным ме­сто­по­ло­жением. В ме­то­де onStatusChanged() мож­но так­же вы­д ать окош­ко, ес­ ли но­вый ста­т ус ра­вен LocationProvider.OUT_OF_SERVICE, TEMPO­ RARILY_UNAVAILABLE или AVAILABLE. По­ра­бо­тай­те с эти­ми ме­то­ да­ми и вы­бе­ри­те луч­шие ва­ри­ан­ты для сво­его при­ло­жения. Же­лая еще улуч­шить про­грам­му, мож­но до­ба­вить кноп­к у для от­прав­ки фо­то­гра­фии и ме­сто­по­ло­жения в Twitter или в блог. Так ­же мож­но улуч­шить об­ра­бот­к у несколь­к их фо­то­г ра­фий, сня­т ых в од­ном и том же или близ­к их мес­т ах (на­при­мер, по­к а­ зав спи­сок при щелч­ке по от­мет­ке). Как всегда, до­бав­ляе­мые воз­ мож­но­сти и ва­ри­ан­ты ис­поль­зо­вания фрейм­вор­ка и API оста­ют­ся на ва­ше ус­мот­ре­ние. |

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 27


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

Сво­бод­ные ли­цен­зии Все про­грам­мы с от­кры­тым ко­дом сво­бод­ны, но неко­то­рые сво­боднее дру­гих. Бен Эве­рард сравнива­ет ли­цен­зии, даю­щие на­шим про­грам­мам сво­бо­ду. Про наш тест… По­сколь­к у на са­мом де­ле мы тес­ти­ру­ем не про­г рам­м ы, ру ­к и при ­л о­ж ить нам бы­ло не к че­му. Но мы сравнива­ли, как эти ли­цен­зии за­щи­ща­ют сво­бо­д у поль­ зо­в а­т е­л я. Мы ре­ш и­л и ис­п оль­з о­в ать оп­р е­д е­л ение сво­б о­д ы, за­к лю­ч ен­н ое в пе­ре­чис­лении че­ты­рех сво­бод от Free Software Foundation (FSF). Это: » Сво­бо­да ис­поль­зо­вать про­грам­му для лю­бых це­лей. » Сво­бо­да изу­чать то, как ра­бо­та­ет про­грам­ма, и из­ме­нять ее, что­бы она вы­пол­ня­ла по­став­лен­ную ва­ми за­да­чу по ва­ше­му усмот­рению. Не­пре­мен­ным усло­ви­ем для это­го яв­ля­ет­ся доступ к ис­ход­но­му ко­д у. » Сво­бо­да рас­про­стра­нять ко­пии, что­ бы по­мочь ближнему. » Сво­бо­да рас­про­стра­нять мо­ди­фи­ци­ ро­ван­ные ва­ми вер­сии. Та­ким об­ра­ зом вы по­зво­ли­те все­му со­об­ще­ст­ву из­влечь поль­зу из внесен­ных ва­ми из­менений. Не­пре­мен­ным усло­ви­ем для это­го яв­ля­ет­ся доступ к ис­ход­ но­му ко­д у.

На­ша под­бор­ка »»Apache »»BSD-style »»GPLv2 »»GPLv3 »»LGPL

М

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

Они опи­сы­ва­ют пра­ва, ко­то­рые раз­ра­ бот­чи­к и пе­ре­д а­ют поль­зо­ва­те­лям, и тре­ бо­вания, ко­то­рые они предъ­яв­ля­ют бу­д у­ щим ко­де­рам. Еди­но­го и унифицированного оп­ре­де­ ления от­к ры­т о­г о ко­д а в природе не су­ ще­ст­ву­ет, и ряд про­ек­тов име­ет соб­ст­вен­ ный спи­с ок ут­в ер­ж ден­н ых ли­ц ен­з ий. Са­м ые из­в ест­н ые из этих спи­с ков под­ дер­ж и­ва­ют­с я Open Source Initiative, Debi­ an и Free Software Foundation. Раз­л и­ч ия между ними незна­ч и­т ель­н ы, но ли­ц ен­ зии здесь бу­д ут рас­смат­ри­вать­ся по всем спи­скам.

Мы ре­ши­ли рас­смот­реть пять ли­цен­зий, ко­то­рые ох­ва­ты­ва­ют и весь спектр фи­ло­ со­ф ий от­к ры­т о­г о ко­д а, и боль­ш ин­с т­в о имею­щих­ся про­грамм с от­кры­тым ко­дом. Это (в скоб­ках ука­за­ны са­мые из­вест­ные про­г рам­м ы): GPLv2 (яд ­р о Linux), GPLv3 (раз ­де ­лы GNU боль­шин­с т­в а ди­с т­ри­бу ­т и­ вов Linux, та­к ие, как Bash и GCC), Apache (web-сер­в ер Apache, Android за ис­к лю­ чением яд­р а, недавние вер­с ии OpenOf­ fice.org), LGPL (LibreOffice) и BSD (все опе­ ра­ци­он­ные сис­те­мы BSD, X.org). Чи­тай­те, что­бы уз­нать, как они вы­гля­д ят под на­шим мик­ро­ско­пом.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

28  |  LXF162 Октябрь 2012


Ли­цен­зии на сво­бод­ное ПО С равнение

Copyleft Соз­дание ко­да, ко­то­рый нель­зя за­крыть.

В

е­р о­я т­н о, са­м ое силь­н ое рас­х о­ж­ дение на­блю­да­ет­ся ме­ж ­ду те­ми ли­ цен­з ия­м и, ко­т о­р ые тре­бу­ю т, что­ бы все мо­д и­ф и­к а­ц ии бы ­л и с от ­к ры ­т ым ко­дом, и те­ми, ко­то­рые это­го не тре­бу­ют. В пер­вых (из­вест ­ных под на ­званием co­ pyleft – по­то­м у что это сло­во про­т и­во­по­ лож­но по зна­чению copyright, уло­ви­ли?) лю­бые раз­р а­бот­чи­к и, ко­то­рые до­б а­ви­ли ка­кие-ли­бо функ­ции к про­грам­ме, долж­ны по­де­лить­с я эти­ми функ­ция­ми с дру­г и­ми поль­зо­ва­те­ля­ми. В по­с ледних они остав­ ля­ют эти функ­ции ис­к лю­чи­тель­но для се­ бя (или тре­буют за них пла­т у). Пер­в ой основ­н ой ли­ц ен­з и­е й, ко­т о­р ая вве­ла copyleft и по-прежнему оста­ет­ся са­ мой по­п у­ляр­ной, яв­ля­ет­с я GPL. Это есть во всех фор­мах GPL. От раз­р а­б от ­ч и­ков тре­бу­е т­с я при рас­ про­странении сво­их про­грамм пре­достав­ лять ис­ход­ный код. Это оз­на­ча­ет, что они мо­г ут раз­р а­б а­т ы­в ать код в ча­с т ­н ом по­ ряд­ке и де ­лить­с я им с об­ще­с т ­вен­но­с тью толь­ко тогда, когда код их уст­ро­ит. Конеч­ но, мно­гие про­ек­ты пред­по­чи­та­ют де­лить­ ся сво­им ко­дом рань­ше. Ес­ли они оста­вят свои мо­ди­фи­ци­ро­ван­ные про­г рам­мы се­ бе, им не при­дет­с я де ­лить­с я из­менения­ ми с дру­ги­ми поль­зо­ва­те­ля­ми. Это слег­ка

на­ру­ша­ет­ся в сре­де об­лач­ных вы­чис­лений, по­с коль­к у здесь раз­р а­б от ­ч и­к и не рас­ про­с тра­н я­ю т про­г рамм, а вы­д а­ю т дру­ гим поль­зо­в а­те­лям доступ к ним. В этой си­т уа­ц ии раз­р а­б от­ч ик мо­ж ет из­м енить про­г рам­м у GPL и про­д ать поль­зо­в а­те­лю доступ к ней, но не воз­вра­щ ать свои из­ менения в со­об­ще­ст­во. Для борь­бы с этим FSF вы­п усти­ли AGPL (Affero General Pub­ lic Licence), ко­то­рая тре­бу­ет, что­бы раз­ра­ бот­чи­ки де­ли­лись сво­им ко­дом, ес­ли они от­к ры­в а­ю т при­л о­жение для об­щ е­с т­в ен­ но­с ти, вне за­ви­с и­мо­с ти от то­го, рас­про­ стра­ня­ют ли они эту про­грам­му. Ни ли­цен­зия Apache, ни BSD не име­ют ника­кой фор­мы copyleft, и ком­пании име­ ют пра­во – и ис­поль­зу­ют его – вклю­чать сво­б од­ный код в ком­м ер­ч е­­с кие про­д ук­ ты. Сто­р онники это­г о ти­па ли­ц ен­зии за­ яв­ля­ют, что в та­ком ви­де она бо­лее дру­ же­с т­вен­на к бизнесу, и по этой при­чине, в конеч­ном ито­ге, ока­зы­ва­ет­ся в боль­шем ко­ли­че­­ст­ве про­дук ­тов. На­при­мер, когда Microsoft ре­шил вклю­ чить се­те­вой про­то­кол TCP/IP в Windows, они взя­л и нема­л ую часть ко­д а из BSD. И это оз­на­ча­ло, что Microsoft по­лу­чил ра­ бо­чий се­те­вой про­то­кол, взаи­мо­дей­ст­вую­ щий с боль­ш ин­с т ­в ом дру ­г их сис ­т ем.

> «Хо­ро­шие ху­дож­ ни­ки ко­пи­ру­ют, ве­ ли­кие — во­ру­ют» —  Пи­кас­со  Бен Эве­ рард. И не­ко­то­рые ли­цен­зии это до­пус­ка­ют. Воз­мож­но, сво­бод­ное ПО от это­го не вы­ иг­ра ­ло, но за­то вы­иг­ра ­ли ком­пь­ю­тер­ные тех­но­ло­гии в це­лом, ведь это при­ве­ло к то­ му, что боль­шин­ст­во ком­пь­ю­те­ров (с Win­ dows) ста­ли ра­бо­тать луч­ше. По­доб­ным же об­р а ­з ом Apple ре­ш ил под­в ерг ­н уть ра­ дикаль­но­му ре­ди­зай­ну свою ОС, и по­стро­ ил ее на ко­де FreeBSD. Это оз­на­ча­ло, что боль­шая часть ра­бо­ты его ди­зайнеров бы­ ла по­тра­че­на на соз­д ание пре­восход­но­го ин ­тер­фей­с а, и им не на ­до бы ­ло пе­ре­ж и­ вать по по­во­д у яд­ра. Цель ли­цен­зий с co­ pyleft – улуч­шение ми­ра сво­бод­но­го ПО, а ли­ц ен­зий без него (иногда име­н уе­мых раз­ре­ши­тель­ны­ми) – улуч­шение ми­ра ком­ пь­ю­тер­ных тех­но­ло­гий в це­лом. Мно­гие из наи­бо­лее ши­ро­ко ис­поль­зуе­ мых про­грамм с от­кры­тым ко­дом вы­хо­д ят под раз­ре­ши­тель­ны­ми ли­цен­зия­ми – ска­ жем, Android (кро­ме яд­ра), Chromium, webсер­вер Apache и OpenOffice.org. Яд­ро Linux яв­ля­ет­ся од­ной из немно­гих важ­ных про­ грамм под ли­цен­зи­ей copyleft.

Вердикт GPLv2 ★★★★★ GPLv3 ★★★★★ LGPL ★★★★★ Apache ★★★★★ BSD-style ★★★★★ » Ка­те­го­рия типа «все или ни­че­го», где выс­ший балл по­лу­ча­ет FSF.

Tивоизация Из­менение «внут­рен­но­стей».

К

ом­пь­ю­тер­ный мир сла­вит­с я сво­ им обес­к у­р а ­ж и­в аю­щ им язы­ком, но да­же в нем сло­во «tivo-иза­ция» яв­ля­ет­ся в неко­то­рой сте­пени ар­ха­ич­ным. Tivo – это уст­рой­ст­во, по­зво­ляю­щее поль­ зо­ва­те­лям смот­реть и за­пи­сы­вать циф­ро­ вое ТВ, и оно со­дер­жит код под ли­цен­зи­ей GPL. Про­из­во­ди­тель, в со­от­вет­ст­вии с ли­ цен­зи­ей, от­крыл свой код для об­ще­ст­вен­ но­с ти. За­то са­мо обо­ру­до­вание бы­ло за­ кры­то, и по­это­му поль­зо­ва­те­ли не мог­ли мо­ди­фи­ци­ро­вать код и вно­сить свои об­

нов­ления в обо­ру­до­вание. И это при­ве­ло к рас­ко­лу в со­об­ще­ст­ве от­кры­то­го ко­да. Ли­нус Тор­вальдс под­дер­жал пра­во ком­ пании по­с ту­пать та­к им об­ра­зом – раз уж они от­к ры­л и код для об­щ е­с т­в ен­н о­с ти, дру­гие про­из­во­ди­те­ли обо­ру­до­вания мог­ ли восполь­зо­вать­с я его мо­ди­фи­к а­ция­ми и улуч­шения­ми, внесен­ны­ми в него. А вот Ри­чард Столлмен счел, что поль­зо­ва­те­ли долж­ны иметь не толь­ко воз­мож­ность по­ лу­чить доступ к ко­д у, но и воз­мож­ность из­ме­нять его на са­мом уст­рой­ст­ве.

> Пе­ред ус­та­нов­кой мо­ду­лей рас­ши­ре­ния убе­ди­тесь, что они со­вмес­ти­мы с ва­шей вер­си­ей CMS.

Пункт, пре­пят­ст­вую­щий ти­вои­за­ции, со­ дер­ж ат толь­ко ли­цен­зии LGPLv3 и GPLv3: обе тре­бу­ют пре­доста­вить поль­зо­ва­те­лю воз­мож­ность уста­нав­ли­вать соб­с т­вен­ные вер­сии про­г рам­мы на ори­г и­наль­ное уст­ рой­с т ­в о. Од­н а­ко они до­п уска­ю т ис­к лю­ чения для уст­ройств, ко­то­рые фи­зи­че­­ски не мо­г ут из­м е­нять ПО – на­при­м ер, ес ­ли ПО за­не­с е­но в ПЗУ, ко­то­рое невозможно пе­ре­пи­сать. Имен­но этот пункт способствовал то­ му, что Ubuntu вы­брал про­грам­му за­груз­ ки под лицензией GPLv2 для бу­д у ­щ их вер­сий, ко­то­рые со­дер­жат безо­пас­ную за­ груз­к у. Од­на­ко FSF зая­вил, что это про­изо­ ш­ло из-за непонимания ли­цен­зии в Canon­ ical. Итак, по­к а этот пункт при­с ут­с т ­ву­е т, продолжаются спо­ры о том, что же он оз­ на­ч а­е т. Так же, как и с copyleft, это со­ всем не оз­на­ча­ет сла­бо­с ти дру­гих ли­цен­ зий – нет, это вы­бор, по­зво­ляю­щ ий дать раз­ре­шение.

Вердикт GPLv3 ★★★★★ LGPL ★★★★★ Apache ★★★★★ BSD-style ★★★★★ GPLv2 ★★★★★ » До это­го есть де­ло не всем, но если есть, вы­би­рай­те ли­ цен­зию точ­но.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 29


Сравнение Ли­цен­зии на сво­бод­ное ПО

Ин­ди­ви­ду­аль­ные мо­мен­ты До­полнитель­ные пунк­ты, о ко­то­рых вам на­до знать.

К

а­ж ­дая из ли­цен­зий име­ет свой пунк­тик. Это осо­бые тре­ бо­в ания, предъ­яв ­ляе­мые ими к ко­д у и не по­па ­д аю­щ ие ни в од­ну из имею­щих­ся здесь ка­те­го­рий. А это оказыва­ ется крайне неудоб­ным, когда для несколь­ких раз­ных ли­цен­зий (на­при­мер, ва­риа­ций BSD) ис­поль ­зу­ет­с я об­щ ий «на­к ры­ваю­щ ий [umbrella]» тер­мин. Об этом важ­но знать, по­то­му что неосве­дом­лен­ным ко­де­рам, ко­то­рые да­же не по­доз­ре­ва­ют, что им при­дет­ся под­чи­нять­ся лиш­

ним пунк­там – в основ­ном менее из­вест­ным, чем те, что мы об­су­ ди­ли – лег­ко уго­дить в ло­вуш­к у. Здесь мы рас­смот­рим та­кие ве­ щи, что­бы вы принимали их в расчет при раз­ра­бот­ке собственных про­грамм. Мы так ­ж е рас­с мот ­р им раз­н ые вер­с ии ка ­ж ­д ой ли­ц ен­ зии и их дрейф с те­ч ением вре­м ени. Как вы са­м и убе­д и­т есь, для одних ли­ц ен­з ий это про­б ле­м а в боль­ш ей сте­п ени, а для дру­гих – в мень­шей.

Apache  ★★★★ ★ Ли­цен­зия Apache ра­д у­е т пря­мо­той – в том смыс­ле, что име­е т толь­ко две вер­сии, изо­бре­т а­тель­но на­зван­ные «один» и «два». Вто­рая вер­сия вы­ш ла в 2004 го­ду, и поч­ти все про­грам­мы пе­ре­шли на нее, так что мы рас­смот­рим толь­ко эту вер­сию. Ес­ли про­грам­ма со­про­во­ж ­д а­ет­ся тек­с то­вым фай­лом NOTICE, этот файл дол­жен быть вклю­ч ен в мо­д и­ф и­ц и­р о­в ан­н ые вер­с ии (воз­м ож­н о, в фор­ ме, про­с мат­ри­в ае­мой из про­г рам­мы). В этот файл мож­но до­б ав­л ять до­ полнитель­н ую ин­фор­ма­ц ию, при усло­вии, что она не пе­ре­п у ­т а­е т­с я с уже имею­щим­ся тек­стом. Ин­фор­ма­ция о ли­цен­зии долж­на при­сут­ст­во­вать в ка­ ж­дом фай­ле, и ес­ли вы что-то ме­няе­те, из­менения долж­ны быть за­до­к у­мен­ ти­ро­ва­ны в фай­ле. По­ми­мо этих двух ог­раничений и па­тент­ной ин­фор­ма­ции, вклю­чае­мой по­все­ме­ст­но, вы бо­лее или менее воль­ны де­лать с ко­дом под ли­ цен­зи­ей Apache все, что вам за­бла­го­рас­су­дит­ся.

BSD  ★★ ★★★ Ли­цен­зии BSD – са­мые про­стые, и прак­ти­че­­ски не на­ла­га­ют ника­ких обя­за­ тельств на тех, кто мо­ди­фи­ци­ру­ет код. Од­на­ко из-за их про­сто­ты очень мно­ гие их пе­ре­пи­сы­ва ­ли, и име­ет­ся мно­же­ст­во раз­ных вер­сий. Из­на­чаль­но в ли­цен­зии бы­ло че­ты­ре пунк ­та, ко­то­рые мож­но из­ло­жить так: »»Ди­ст­ри­бу­тив в ис­ход­ной фор­ме дол­жен вклю­чать уве­дом­ление об ав­тор­ ских пра­вах. »»Ди­ст­ри­бу­тив в дво­ич­ной фор­ме дол­жен вклю­чать уве­дом­ление об ав­тор­ ских пра­вах в до­к у­мен­та­ции или фай­лах по­мо­щи. »»В рек ­лам­ном ма­те­риа ­ле долж­ны упо­ми­нать­ся раз­ра­бот­чи­ки. »»Име­на раз­ра­бот­чи­ков неприменимы для рекламы про­из­вод­ных про­д ук ­тов. Тре­тий пункт не со­гла­со­вы­вал­ся с GPL и был уда­лен в 1993 го­д у, когда вы­ шла но­вая ли­цен­зия BSD, уже из трех пунк­тов. Ко­ман­да FreeBSD еще сильнее уп­ро­сти­ла ли­цен­зию, уда ­лив из нее пункт че­ты­ре.

Чи­тае­мость По­то­му что мы лю­бим понимать, что на­пи­са­но мел­ким шриф­том.

П

о­д ав­ляю­щее боль­шин­с т­во поль­ зо­ва­те­лей про­грамм с от­кры­тым ко­д ом – и во­о б­щ е про­г рамм – не яв­ля­ют­ся юри­ста­ми. Они не раз­би­ра­ют­ ся в тон­ко­с тях ли­цен­зий на ПО. Де­ло еще услож­н я­е т­с я тем, что про­г рам­м ы ныне бу­к­­валь­но в счи­тан­ные ча­сы рас­про­с тра­ ня­ют­ся по все­му зем­но­му ша­ру, и по этой при­ч ине ли­ц ен­з ия долж­н а со­о т­в ет­с т­в о­ вать сот­ням раз­ных за­ко­но­да­тельств. У ли­ цен­з ий BSD здесь яв­н ое пре­и му­щ е­с т­в о: они зна­чи­тель­но про­ще осталь­ных.

В Apache немно­го боль­ше тек­ста, и она зву­чит бо­лее обосно­ван­но с точ­ки зрения пра­ва, но от­лич­но по­нят­на и не юри­с там, бла­го­да­ря сво­им про­стым тре­бо­ваниям. Не­с мот­р я на боль­ш ую слож­н ость, GPLv2 оста­ет­ся весь­ма по­нят­ной и чи­тае­ мой. А LGPL по боль­шей час­ти – то же са­ мое, что GPL для вер­сии 2.1. Че­го не ска­жешь о вер­сии 3 этих ли­цен­ зий. В оп­ре­де­лен­ной сте­пени это свя­за­но с по­пыт ­к а­м и учесть мно­же­с т ­в о ва­р и­а н­ тов слу ­ч а­ев, ко­т о­рые FSF со­ч ла непо­д о­

баю­щи­ми, вме­с то то­го, что­бы дать об­щее оп­ре­де­ление. Мы пре­доста­вим за­к лю­чи­ тель­ное сло­во по этой те­ме раз­ра­бот­чи­к у SeleckTor: «Вы мо­ж е­т е так ­ж е спро­с ить, по­ч е­м у GPL2, а не GPL3? Это про­сто: я ту­пой, и че­ рез GPL3 про­д рать­с я не смог. По мо­ему мнению, ли­цен­зия GPL2 – ку­д а луч­ше на­ пи­с ан­ная ли­цен­зия для про­с то­го че­ло­ве­ ка, она от­ве­ча­ет мо­им по­треб­но­стям, и мне глу­бо­ко на­п ле­вать, сколь­ко юри­с тов они там при­влек ­ли к соз­данию GPL3».

Вердикт GPLv2 ★★★★★ Apache ★★★★★ BSD-style ★★★★★ LGPL ★★★★★ GPLv3 ★★★★★ » Я не юрист, од­на­ко же­ лаю по­ни­мать, что гла­сит моя ли­цен­зия.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

30  |  LXF162 Октябрь 2012


Ли­цен­зии на сво­бод­ное ПО С равнение

GPLv2  ★★★★ ★ Вер­сия 2 GPL – это за­ме­ча­тель­но чет­кая ли­цен­зия, чем, ве­ро­ят­но, и объ­яс­ня­ ет­ся ее по­пу­ляр­ность. По­ми­мо copyleft, она на ­ла­га­ет очень ма ­ло ог­раничений на то, как вам допускается ис­п оль ­з о­в ать код. Фак ­т и­ч е­­с ки, един­с т ­в ен­ ное присутствующее в ней ог­раничение – не разрешить на­ла­гать дру­гие ог­ раничения! На­при­мер, вам не разрешено ог­раничи­вать об­лас­ти при­менения про­граммного продукта. В про­шлом этот ас­пект вы­звал раз­но­гла­сия, по­сколь­к у неко­то­рые про­ек­ ты же­ла­ли обес­пе­чить непри­менимость разработанного ими ко­да для во­ен­ ных це­лей. GPU, кли­ент Gnutella, соз­дал на осно­ве GPL но­вую ли­цен­зию, из­менив этот пункт. Со­глас­но этой ли­цен­зии, код мож­но бы­ло ис­поль­зо­вать толь­ко в мир­ ных це­лях. Это на­ру­ши­ло со­вмес­т и­мость с ори­г и­наль­ной ли­цен­зи­ей GPL, и ли­цен­зия не по­лу­чи­ла по­пу­ляр­но­сти в дру­гих про­ек ­тах.

GPLv3  ★★★ ★★ В GPLv3 на­мно­г о боль­ш е пунк ­т ов, чем в дру ­г их на­ших ли­ц ен­зи­я х. Часть из них уже рас­смат­ри­ва­лась в этой ста­тье. Не рас­смат­ри­вал­ся по­ка что пункт о техниче­­ских сред­ст­вах за­щи­ты ав­тор­ских прав – Digital Rights Management (DRM). Это когда ком­пания про­да­ет вам циф­ро­вой про­д укт (на­при­мер, ви­део или му­зы­к у), но шиф­ру­ет его так, что­бы он мог ис­поль­зо­вать­ся толь­ко на од­ ном уст­рой­ст­ве. По это­му по­во­д у GPLv3 го­во­рит: «Ес­ли вы пе­ре­д ае­те за­щи­щен­ное про­из­ ве­дение, вы от­ка­зы­вае­тесь от юри­ди­че­­ско­­го пра­ва за­пре­щать об­ход техниче­ ­ски­­ми сред­с т­ва­ми до та­кой сте­пени, когда по­доб­ный об­ход...» Ины­ми сло­ ва­ми, вы мо­же­те по­пы­тать­ся вста­вить DRM в код под GPLv3, но не мо­же­те по­ме­шать дру­гим най­ти сред­ст­ва и воз­мож­но­сти его обой­ти. А по­сколь­к у лю­ ди, пы­таю­щие­ся его обой­ти, бу­д ут иметь доступ к ва­ше­му ис­ход­но­му ко­д у, ве­ли­ка ве­ро­ят­ность то­го, что они преуспе­ют в сво­их на­ме­рениях.

LGPL  ★★★★ ★ LGPL вы­хо­д ит в несколь­к их фор­мах. Са­мая из­вест­ная – 2.1, ко­то­рая при­ мер­но со­от­вет­с т­ву­ет GPLv2, и вер­сия 3 – со­звуч­ная GPLv3. И хо­т я во мно­ гих ас­пек ­т ах они по­хо­ж и, их от­ли­чие ле­ж ит в их со­вмес ­т и­мо­с ти. Ве­ро­я т­ но, са­мое стран­ное в LGPL – то, что лю­ди, ее на­пи­сав­шие (FSF), не одоб­ря­ют ее ис­поль­зо­вания. Они со­глас­ны с тем, что для нее есть свое ме­сто (ина­че они бы ее не соз­ да­ли), но при этом счи­та­ют, что ее сле­д у­ет при­ме­нять толь­ко в осо­бых об­ стоя­тель­ст­вах. Ее раз­ра­бо­та­ли, что­бы соз­д ать биб­лио­те­к у С под сво­бод­ной ли­цен­зи­ей, ссыл­к у на ко­то­рую мог­ла со­дер­жать лю­бая ком­мер­че­­ская про­ грам­ма. По их мнению, эту ли­цен­зию сто­ит при­ме­нять ис­к лю­чи­тель­но ра­ди внедрения сво­бод­но­го ПО там, где в ином слу­чае бу­дет ис­поль­зо­ва­на ком­ мер­че­­ская про­грам­ма. Для вя­щей пу­таницы, бу­к­ва L оз­на­ча­ла раз­ные ве­щи: из­на­чаль­но – «биб­лио­теч­ная [library]», а сей­час – «ума­лен­ная [lesser]».

Со­вмес­ти­мость Хо­ро­шо ли ли­цен­зии ужи­ва­ют­ся друг с дру­гом?

О

б­л ас ­т ей, в ко­т о­р ых вста­е т про­ бле­ма со­вмес­т и­мо­с ти, две: кон­ вер­ти­ро­вание ко­д а из од­ной ли­ цен­зии в дру­г ую и свя­зы­вание. Свя­з ы­в ание – это когда код в про­ грам­ме ссы ­ла­е т­с я на биб­лио­т е­к у. GPLv2 и дальней­шие вер­сии за­пре­ща­ют внешне­ му ко­д у под несво­бод­ной ли­цен­зи­ей ссы­ лать­ся на код под ли­цен­зи­ей GPL. За это ее иногда называют­ ви­р усной ли­ц ен­з и­ ей – она пы ­т а­е т­с я «за­р а ­з ить» сво­б о­д ой все про­грам­мы в сис­те­ме. FSF ве­дет спи­

сок ли­цен­зий, ко­то­рые, по его мнению, со­ вмес­ти­мы, на сайте www.gnu.org/licenses/ license-list.html. Но FSF об­н а­р у ­ж ил, что «ви­русная» при­ро­д а тормозит пе­ре­ход на сво­бод­ное ПО. Лю­дей за­бо­тит ее аг­рес­сив­ ность, и они пред­п о­ч и ­т а­ю т биб­л ио­т е­к и, не так же­с т­ко ли­цен­зи­ро­в а­нные, обыч­но не copyleft. Что­бы с этим бо­роть­ся, FSF вы­ пустил LGPL (Lesser или Library GPL). Код, вы­х о­д я­щ ий под этой ли­ц ен­з и­е й, име­е т тот же copyleft в GPL, но мо­жет быть свя­ зан с ко­дом, не яв­ляю­щим­ся сво­бод­ным.

Вердикт Ли­ц ен­з ии BSD в об­щ ем наи­б о­л ее со­ вмес­т и­мы, и код, вы­хо­д я­щ ий под ними, мо­жет быть свя­з ан с ними или пе­р ей­т и на дру­гие, менее раз­ре­ши­тель­ные ли­цен­ зии. Ис­к лю­чение – ли­цен­зия BSD из че­ты­ рех пунк­тов (ста­рая). Пункт о рек­ла­ме ли­ ша­ет ее со­вмес­ти­мо­сти с GPL. Так как под ли­ц ен­зи­е й Apache вы­ш ел ряд важ ­н ых про­г рамм, FSF обес­п е­ч ил ее со­вмес­ти­мость с вер­си­ей 3 GPL, несо­ вмес­ти­мой с бо­лее ранними вер­сия­ми. Она ог­раниче­на ли­цен­зи­ей Apache вер­сии 2.

BSD-style ★★★★★ LGPL ★★★★★ Apache ★★★★★ GPLv2 ★★★★★ GPLv3 ★★★★★ » Будь­те ос­то­ рож­нее, объ­ е­ди­няя ко­ды под раз­ны­ми ли­цен­зия­ми.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 31


Сравнение Ли­цен­зии на сво­бод­ное ПО

Па­тен­ты Не толь­ко copyright со­хра­ня­ет за­кры­тость ко­да.

В

по­следние го­ды па­тент­ное за­ко­но­ да­т ель­с т­в о ста ­л о по­л ем боя, где ве­д ут сра ­жения бо­г а­т ей­шие ком­ пании ми­р а. Па­т ен­т ы за­щ и­щ а­ю т ско­р ее идеи, а не реа­ли­за­цию. В ка­че­­с т­ве недав­ него при­ме­ра – Apple inc. соз ­д а ­ли функ­ цию Slide to unlock, что­бы раз­бло­ки­ро­вать функ­ции на уст­рой­ст­вах iOS. За­кон об ав­ тор­ских пра­вах не по­зво­ля­ет дру­гим ком­ паниям на­пря­м ую ко­пи­ро­в ать ис­поль­зо­ ванный код и соз­да­вать его ко­пии. Од­н а­к о Apple хо­т ел за­щ и­т ить са­м у идею, а не про­с то код, ис­п оль ­з о­в ан­ный для его соз­д ания. Он под­г о­т о­в ил со­о т­ вет­с т ­в ую­щ ую за ­я в­к у и по­л у ­ч ил па­т ент на идею Slide to Unlock, за­пре­щаю­щий дру­ гим про­из­во­ди­те­лям реа­ли­зо­вы­вать дан­ ную функ ­ц ию, неза­в и­с и­м о от то­г о, бу­ дут ли они на­п ря­м ую ко­п и­р о­в ать код (при­ме­чание: этот па­тент мо­жет быть при­ знан недей­ст­ви­тель­ным. На мо­мент на­пи­ сания ста­тьи он рас­смат­ри­вал­ся в су­де). Это оз­н а­ч а­е т, что соф­т вер­ные ли­ц ен­ зии, соз ­д ан­ные для за­щи ­т ы от copyright, не мо­г ут слу ­ж ить аде­к ­в ат ­н ой за­щ и ­т ой от па­тент­ной уг­ро­зы. Ли­цен­зии BSD не пред ­ла­г а­ют ника­кой за­щи­ты в этой об­лас­ти. Соф­твер­ная ком­ пания мо­жет вы­пускать под од­ной из этих ли­цен­зий код, и при этом тре­бо­вать уп­ла­ ты па­тент­ных по­шлин от тех, кто ис­поль­зу­ ет эти про­грам­мы.

LGPL в этой об­л ас ­т и пред ­л а­г а­е т та­ кую же за­щ и ­т у, как и со­о т­в ет­с т ­в ую­щ ая вер­сия GPL. Пункт о па­тен­т ах GPLv2 час­ то име­н у­ют «Сво­бо­д а или смерть» – что все­г о лишь оз­н а­ч а­е т сле­д ую­щ ее: ес­л и вы ог­р аничи­в ае­т е пра­в а поль­зо­в а­т е­л ей, вы те­ряе­те пра­во ис­поль­зо­вать про­г рам­ му. Од­ной из глав­ных при­чин об­нов­ления GPL до вер­с ии три бы­л о же­л ание сде­ лать раз ­д ел за­щ и ­т ы от па­т ен ­т ов бо­л ее недву­смыс­лен­ным. В но­в ой вер­с ии ли­ц ен­з ии эта за­щ и ­т а ук ­р е­пи ­л ась, в от ­вет на раз­би­р а­т ель­с т ­во ме­ж ­д у Novell и Microsoft. При этом Novell за­пла­тил Microsoft, а Microsoft, в свою оче­ редь, со­гла­сил­ся не предъ­яв­лять иск кли­ ен­там Novell. Все это до­пуска­лось ли­цен­зи­ей GPLv2, по­э то­м у FSF ввел в GPLv3 пункт, ко­т о­ рый уста­нав­ли­в ал, что ес­ли вы предъ­яв­ ляе­т е по­д об­ный иск, он бу­д ет от ­но­с ить­ ся ко всем, кто ис­п оль ­з у­е т про­г рам­м у, а не толь­ко к тем, кто по­лу­чил ее от вас. GPLv3 пред ­л а­г а­е т пре­в осход­н ую за­ щи­т у от па­тен­тов, но ред­ко при­ме­ня­ет­с я в кон­к у­рент­ных об­лас­тях. Воз­мож­но, вы­ даю­щей­ся ли­цен­зи­ей в этой сфе­ре яв­ля­ет­ ся Apache – не по юри­ди­че­­ским при­чи­нам, а по при­чине ши­ро­ко­го рас­про­с транения в са­мой кон­фликт­ной тех­но­ло­ги­че­­ской об­ лас­ти, мо­биль­ных те­ле­фо­нах. Стыч­ки Ap­ ple с раз­но­о б­р аз­ны­ми про­и з­во­д и­т е­ля­ми

> Боль­шин­ст­во ис­ков по па­тент­ным во­про­сам про­шло в Те­ха­се, где при­ме­ня­ет­ся весь­ма ог­ра­ни­чи­тель­ное тол­ко­ва­ние па­тент­но­го за­ко­но­да­тель­ст­ва. те­ле­фо­нов с Android всем из­вест­ны, а вот ме­ж ­д у кон­к у­ри­рую­щи­ми про­из­во­ди­те­ля­ ми те ­л е­ф о­нов на Android су­д еб­ных раз­ бо­рок нет, хо­т я у ка­ж ­до­го из них вну­ши­ тель­н ое па­т ент­н ое порт­ф о­л ио. От­ч ас­т и за это нуж­но бла­го­да­рить раз­дел 3 ли­цен­ зии Apache, где про­сто го­во­рит­ся, что ес­ли вы рас­про­с тра­няе­те про­г рам­м у под этой ли­цен­зи­ей, вы долж­ны пе­ре­дать и па­тент­ ные пра­ва на нее. При­ме­ча­т ель­но, что она не вво­д ит та­ кой же пункт, как GPLv3, и бы­ло несколь­ко па­тент­ных со­гла­шений ме­ж ­д у про­из­во­ди­ те­ля­ми Android и Microsoft, невоз­мож­ных под ли­цен­зи­ей FSF.

Вердикт GPLv3 ★★★★★ LGPL ★★★★★ Apache ★★★★★ GPLv2 ★★★★★ BSD-style ★★★★★ » Боль­шин­ст­ во ли­цен­зий на СПО спра­ви­ лись с па­тент­ ной уг­ро­зой.

Ко­ли­че­­ст­во про­грамм Ли­цен­зия хо­ро­ша так, как хороши про­грам­мы под ней.

Д

а­же от­лич­но за­щи­щ аю­щ ая поль­ зо­в а­т е­л ей ли­ц ен­з ия бес­п о ­ лез­н а, ес ­л и нико­м у не нуж ­н ы про­г рам­м ы под ней. Итак, сле­д у­е т рас­ смот­реть, что имен­но ли­цен­зии за­щи­щ а­ ют. Black Duck Software ве­дет на http://osrc. blackducksoftware.com/data/licenses спи­ сок про­грамм с от­кры­тым ко­дом, и здесь мы мо­жем уви­деть, на­сколь­ко ши­ро­ко ис­ поль ­з у­е т­с я ка ­ж ­д ая из них. Де­с ят ­к а са­ мых по­п у­ляр­ных ли­цен­зий вы­гля­д ит так [на мо­мент на­пи­сания ста­тьи – прим. ред.]: 1 – GPL v2 (36 %) 2 – MIT Licence (12 %) 3 – Apache Licence (10 %) 4 – GPL v3 (10 %) 5 – BSD Licence (7 %) 6 – Artistic Licence (6 %) 7 – LGPL v2.1 (6 %)

8 – LGPL v3 (2 %) 9 – Code Project Open Licence (2 %) 10 – Microsoft Public Licence (1 %) В этом Сравнении мы объ­е ­д инили ли­ цен­зии MIT и BSD, по­сколь­к у они оди­на­ко­ вы. Конеч­но, об­ще­из­ве­ст­но вы­ска­зы­вание, что есть ложь, есть на­глая ложь, а есть ста­ти­сти­ка. Этот спи­сок не пы­та­ет­ся срав­ нить ни ка­ч е­­с т ­в о про­г рамм, вы ­хо­д я­щ их под ка­ж ­дой ли­цен­зи­ей, ни ши­ро­т у их рас­ про­с транения, и, воз­мож­но, во­все не ха­ рак ­те­ри­зу­ет их ис­поль­зо­вание. Но этот спи­с ок в основ­н ом от ­р а ­ж а­е т наш опыт. Воз­мож­но, са­мое уди­ви­тель­ное в нем то, на­сколь­ко GPLv2 до сих пор по­ пу­лярнее v3. На то есть несколь­ко при­чин. От­ч ас­т и это объ­я с­н я­е т­с я тем, что бо­л ее ста­рые про­ек ­т ы не мо­г ут пе­р е­вес­т и код на но­вую ли­цен­зию по юри­ди­че­­ским при­

Вердикт

> Под GPLv2 вы­хо­дит боль­ше все­го про­ грамм — и на­ше лю­би­мое пин­гви­нье яд­ро. чи­нам. Од­на­ко мно­гие раз­ра­бот­чи­ки про­ сто пред­по­чи­та­ют ста­рую вер­сию, и по­ла­ га­ют, что v3 отнима­ет боль­ше сво­бод, чем пре­достав­ля­ет.

GPLv2 ★★★★★ Apache ★★★★★ BSD-style ★★★★★ GPLv3 ★★★★★ LGPL ★★★★★ » Ино­гда все это сво­дит­ся к про­сто­му кон­ кур­су на по­ пуляр­ность.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

32  |  LXF162 Октябрь 2012


Ли­цен­зии на сво­бод­ное ПО С равнение Ли­цен­зии на сво­бод­ное ПО

Вер­дикт М

ы ­тес­ти­ро­ва ­ли ли­цен­зии на со­ от­вет­с т­вие оп­ре­де­лению сво­ бод­но­го ПО от FSF, и неуди­ви­ тель­но, что по­бе­ди­ла та ли­цен­зия, ко­то­рую именно FSF и пред­по­чи­та­ет. Од­на­ко это со­всем не обя­за­тель­но оз­на­ ча­ет, что она луч­шая. Ка­ж ­дая ли­цен­зия от­ кры­то­го ко­да долж­на най­ти ба­ланс ме­ж ­д у тем, что она раз­ре­ша­ет, и тем, что она ог­ раничи­ва­ет, во имя сво­бо­ды поль­зо­ва­те­ля. Факт нечас­то­го при­менения GPLv3 за пре­ де­ла­ми про­ек ­та GNU по­ка­зы­ва­ет, что она на­ла­га­ет те­к у­щие ог­раничения во имя бу­ ду­щ их сво­б од на­м но­г о жест­ч е, чем это уст­раи­ва­ет раз­ра­бот­чи­ков. Бо­лее чис­тое оп­ре­де­ление сво­бо­ды мо­ жет рас­смат­ри­вать та­кие ог­раничения, как copyleft, в ка­че­­с т­ве до­полнитель­ной реа­ ли­за­ции основ­ной сво­бо­ды де­лать с ко­дом все, что угод­но. Это со­с тояние осо­бен­но хо­ро­шо вы­ра­же­но в BSD-по­доб­ной ли­цен­ зии DWTFYWWI [Де­лай­те Все, Что За­бла­ го­рас­су­дит­ся], всего с од­ним усло­вием:

0 Ав­тор га­ран­т и­ру­ет всем раз­ре­шение де­лать все, что угод­но, ка­к и­ми бы, черт по­бе­ри, ни бы­ли по­с лед­с т­вия. Это весь­ма по­хо­же на то, что обыч­но на­ зы­в а­ют об­ще­с т­вен­ным до­ме­ном. Дру­г ие ли­цен­зии BSD обыч­но до­бав­ля­ют несколь­ ко ог­раничений, обыч­но тре­бую­щих не за­ быть упо­мя­нуть ав­то­ров. Две вы­ше­пе­ре­чис­лен­ных ли­цен­зии яв­ ля­ют со­бой край­но­сти фи­ло­со­фии от­кры­ то­го ко­д а. Ме­ж ­д у ними ле­ж ит об­шир­ная об­ласть мо­раль­ных основ, где и оби­т а­ет боль­шин­ст­во раз­ра­бот­чи­ков. На­при­мер, Ли­нус Тор­вальдс гро­мо­глас­ но под­дер­ж и­вал GPLv2, и не на­ме­рен пе­ ре­во­дить свое яд­ро на но­вую вер­сию ли­ цен­з ии. Мно­г ие со­г лас­н ы с Ли­н у­с ом, и GPLv2 оста­е т­с я ли­ц ен­з и­е й но­м ер один согласно ста­т и­ сти­к е Open Source Resource Centre. Вряд ли си­т уа­ц ия из­ менит­с я в бли ­ж ай­ш ем бу­д у­ щем, по­то­му что она вы­ра­жа­ет

мыс­ли лю­дей об от­кры­том ко­де: copyleft, но с ог­раничения­ми. Ли­цен­зия Apache, по­ хо­же, со­хранит до­миниро­вание на кор­по­ ра­т ив­ной сто­р оне от­к ры­т о­г о ко­д а. Мно­ гие костю­м о­н осные кро­х о­б о­р ы бо­я т­с я copyleft, что мо­жет препятствовать при­ сое­д инению ком­п аний к дви­ж ению от­ кры­то­го ко­да. Бла­го­да­ря ли­цен­зии Apache по­д об­н ые опа­с ения не яв­л я­ю т­с я про­ бле­мой, а возможность па­тент­ных уг­ро­з миними­зи­ро­ва­на.

> Open Source Initiative ве­дет спи­ сок из 69 ли­цен­зий от­кры­то­го ко­да.

«Ме­ж­ду ни­ми – об­шир­ная об­ласть мо­раль­ных ос­нов, где оби­та­ет боль­шин­ст­во.»

I GPLv3 ★★★★ ★

IV Apache ★★★ ★★

Сайт: www.gnu.org/licenses/gpl.html » Рья­но за­щи­ща­ет сво­бо­ду поль­зо­ва­те­ля, но труд­на для понимания.

Сайт: www.apache.org/licenses/LICENSE-2.0 » Дру­же­ст­вен­ная к бизнесу оп­ция, за­щи­щаю­щая от па­тент­ ных войн.

II GPLv2 ★★★★ ★

V LGPL ★★★ ★★

Сайт: www.gnu.org/licenses/gpl-2.0.html » Про­сто со­дер­жит оп­ре­де­ление copyleft, и ох­ва­ты­ва­ет мас­су про­грамм.

Сайт: www.gnu.org/licenses/lgpl.html » Иногда бывает по­лез­на, но мо­гут обнаружиться оп­ции и по­лу­чше.

III BSD-style ★★★ ★★ Сайт: en.wikipedia.org/wiki/BSD_licenses » Ис­тин­ная сво­бо­да, но несколь­ко опо­ро­че­на оби­ли­ем вер­сий.

Обратная связь Вы поль­зо­ва­лись ка­кой-ли­бо из этих сис­тем? Счи­тае­те их по­тря­саю­щи­ми? Рас­ска­жи­те нам: lxf.letters@futurenet.co.uk

Рас­смот­ри­те так­же... При­г од­ных ли­ц ен­зий су­щ е­с т­ву­е т мно­г о – неко­ то­рые счи­т а­ют, что слиш­ком мно­го, и что на­ли­ чие прак ­т и­ч е­­с ки иден­т ич­н ых ли­ц ен­з ий толь­ко пу­та­ет поль­зо­ва­те­лей. Пом­ня об этом, луч­ше ис­ поль­зо­вать од­ну из вы­ше­пе­ре­чис­лен­ных, а не ме­ нее из­вест­н ую ли­цен­зию, ес­ли толь­ко у вас нет на то осо­б ых при­чин. Од­н а­ко есть еще две ли­ цен­зии, ко­то­рые при­ме­ня­ют­с я в круп­ных про­ек­ тах: Mozilla Public Licence и Artistic Licence (Perl).

В основ­ном они уме­ст­ны со свои­ми ро­ди­тель­ски­ ми про­ек ­та­ми. Ес­л и вам нуж­н а ли­ц ен­з ия не для ко­д а, есть смысл взгля­нуть на ли­цен­зии Creative Commons. В них есть ряд по­ло­жений, ко­то­рые мож­но сме­ ши­вать и со­че­тать в со­от­вет­ст­вии с ва­шей фи­ло­ со­фи­ей. Ос­нов­ная ли­цен­зия – Attribution – тре­бу­ет толь­ко то­го, что­бы те, кто ис­поль­зу­ет ва­шу ра­бо­т у, не за­бы­ва­ли вас упо­ми­нать. К ней мож­но до­ба­вить

ShareAlike (при­мер­но то же, что copyleft), NonCom­ mercial и NoDerivs (ко­то­рая оз­на­ча­ет, что ва­шу ра­ бо­т у мож­но рас­про­с тра­нять толь­ко в неиз­менен­ ном ви­де). Вы­би­рай­те ту их ком­би­на­цию, ко­то­рая удов ­ле­т во­рит ваш вкус. Ли­цен­зии Creative Com­ mons сде­ла­ны про­с ты­ми для понимания, и в них есть знач­ки, ко­то­рые мож­но до­бав­лять к ви­зу­а ль­ ным ра­бо­там, без необ­хо­ди­мо­сти до­бав­лять весь текст лицензии. |

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 33


Луч­ший ди­ст­ри­бу­тив -  2012

Луч­ший ди­ст­ри­бу­тив 2012 По­про­буй­те их все, а по­том ре­ши­те, со­глас­ны ли вы с ре­зуль­та­та­ми же­ст­ких тес­тов, ко­то­рые про­вел Ма­янк Шар­ма в по­ис­ках луч­ше­го ре­ли­за го­да.

На­ши участ­ни­ки »»Ubuntu про­тив Mint  с. 35 »»Tumbleweed про­тив Arch  с. 36 »»Fedora про­тив Sabayon  с. 37 »»Mageia про­тив Rosa  с. 38

Н

а­ше еже­г од­ное со­с тя­зание ди­с т­ри­бу ­т и­вов уже ста­но­вит­ся тра­ди­ци­он­ным здесь, в Баш­нях LXF. Мы де­ла­ем это, по­то­м у что лю­бим ди­с т­ри­бу­т и­ вы — лю­бим их раз­но­об­ра­зие и то, что они так ме­ ня­ют­ся на про­тя­жении го­да. Но ес­ли бы мы ог­раничи­ли на­ше сравнение одними и те­ ми же ста­ры­ми пре­восхо­д я­щи­ми всех ко­лосса­ми, наш еже­год­ ный па­рад по­бе­ди­те­лей стал бы в боль­шей сте­пени по­хо­дить на по­ли­ти­че­скую осцил­ля­цию, а не на от­ра­жение раз­ви­тия ди­ ст­ри­бу ­т и­вов Linux. Вот поче­м у в этом го­д у мы ре­ши­ли сде­ лать нечто со­вер­шен­но но­вое. Мы не хо­те­ли ог­раничи­вать­ся те­ми же са­мы­ми ста­ры­ми тес­та­ми и ис­пы­тания­ми – мы хо­те­ли под­дер­жать ди­ст­ри­бу ­ти­вы, ко­то­рым, воз­мож­но, не уде­ля­лось долж­но­го внимания, в то же вре­мя не за­бы­вая об оче­вид­ных пре­иму­ще­с т­в ах ис­поль­зо­в ания по­п у­ляр­но­го ди­с т­ри­бу ­т и­в а.

С этой це­лью мы ре­ши­ли объ­е­динить пре­тен­ден­тов по груп­ пам не по прин­ци­пу их успе­ха, но по функ­цио­наль­но­сти, и по­ смот­реть, как они бу­д ут вес­ти се­бя в смер­тель­ном по­един­ке один на один. Mint схва­тит­ся с Ubuntu в ан­тич­ной бит­ве от­ц а с сы­ном. OpenSUSE Tumbleweed схле­стнет­ся с са­мым по­пу­ляр­ ным об­нов­ляе­мым ди­ст­ри­бу ­ти­вом, Arch.

Ста­ро­жи­лы про­тив но­вич­ков Ра­бо­чие сто­лы Gnome бо­рют­с я за пре­восход­с т­во в схват­ке Fedora про­т ив Sabayon, и мы про­т ес­т и­ро­в а ­ли луч­ший KDE, рас­смот­рев Mageia 2 и Rosa – два род­с т­вен­ных ди­с т­ри­бу ­ти­ ва, ко­то­рые долж­ны по­лу­чить свою оцен­к у. Это да­ле­ко от точ­ ной нау­ки, по­то­му что мнений здесь бу­дет столь­ко же, сколь­ ко име­ет­ся ди­ст­ри­бу­ти­вов. Но это бу­дет за­бав­но. Так пусть же нач­нут­ся иг­ры!

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

34  |  LXF162 Октябрь 2012


Луч­ший ди­ст­ри­бу­тив -  2012

Пер­вый ра­унд Ubuntu 12.04 про­тив

Mint 13

U

buntu был не пер­вым ди­ст­ри­бу­ти­вом, на­ це­лен­ным на поль­зо­ва­те­лей на­столь­ных ПК, но наи­б о­л ее успеш­н ым. Ана­л о­г ич­ но, Mint не был пер­вым ди­ст­ри­бу ­ти­вом, по­пы­тав­ шим­ся взять все луч­шее у Ubuntu и объ­е­динить это с бо­лее ши­ро­кой эко­си­сте­мой от­кры­то­го ко­да, но он, бес­спор­но, са­мый успеш­ный. Од­на­ко за дол­гие го­ды Ubuntu рас­ши­рил свой под ­ход, на­це­лив­шись на дру­гие об­лас­ти био­сфе­ ры Linux – сер­ве­ры и на­столь­ные сис­те­мы в сфе­ ре бизнеса. Он по­с тав­л я­е т­с я в та­ком ви­д е, что поль­зо­ва­те­ли мо­г ут под­с тро­ить его под свои по­ треб­но­сти. На­при­мер, па­рой щелч­ков мож­но пре­ вра­т ить обыч­ный ди­с т­ри­бу ­т ив Ubuntu в де­ск ­топ уров­ня пред­при­я тия, или до­ба­вить ре­по­зи­то­рий PPA (на­при­мер, Zentyal), и по­лу­чить мощ­ный сер­ вер для бизнеса. Гиб­кость во имя по­бе­ды! Ди­ст­ри­бу ­тив не иг­но­ри­ру­ет и но­вых поль­зо­ва­ те­лей ком­пь­ю­те­ра. Его про­грам­ма-уста­нов­щик попрежнему луч­шая: она снима­ет про­бле­му де­ления дис­ка на раз­де­лы, са­ма на­хо­дит и уста­нав­ли­ва­ет про­прие­тар­ные до­полнения в про­цес­се уста­нов­ки. По­с ле уста­нов­к и в ди­с т­ри­бу­т и­ве име­ют­с я все при­ло­жения, нуж­ные для ра­бо­ты среднеста­ти­сти­ че­­ско­­го поль­зо­ва­те­ля компьютера. Ес­ли вам нуж­ ны до­полнитель­ные про­грам­мы, в Ubuntu име­ет­ся пре­восход­ный Software Centre, со все­ми на­во­ро­та­ ми, вро­де рей­тин­гов и об­зо­ров про­грамм.

Внешний вид Ин ­те­г ра­ц ия с ра­бо­чим сто­лом – еще од ­на силь­ ная сто­ро­на Ubuntu, и сви­де­тель­ст­вом то­му яв­ля­ ет­с я MeMenu. На­чи­наю­щ ие поль­зо­в а­т е­ли так ­же оце­нят унифи­ци­ро­ван­ные System Settings, ко­то­ рые об­лег ­ча­ют за ­д а­ч у на­с трой­к и сис ­те­мы. Есть здесь так ­же и по­с то­ян­но со­вер­шен­с т­вую­щ ий­с я об­лач­ный сер­вис Ubuntu One, ко­то­рый по­зво­ля­ет поль­зо­ва­те­лям ав­то­ма­ти­че­­ски ко­пи­ро­вать и син­ хронизи­ро­вать свои фай­лы ме­ж ­д у несколь­к и­ми уст­рой­ст­ва­ми.

> Большая часть работ над 12.04 была посвящена повышению удобства Unity, а не вводу новых функций, и это хорошая смена курса для сорок из Canonical, обожающих все блестящее. И хо­т я ра­бо­чий стол Unity с ка ­ж ­д ым ре ­ли­зом ста­но­вит­ся удобнее, все же он не стал при­выч­ным эле­мен­том для ка ­ж ­до­го поль­зо­в а­те­ля. В недав­ них тес­тах мы за­ме­ти­ли, что толь­ко но­вые поль­ зо­в а­те­ли Linux бла­го­склон­но реа­г и­ру­ют на этот ра­б о­чий стол, и то ис­поль­зуя его на тач­с к­рине. Опыт­ные поль­зо­ва­те­ли ра­бо­че­го сто­ла Linux по­ка не при­вык ­ли к ра­дикаль­ным из­менениям ди­зай­на в Unity, хо­тя Ubuntu 12.04 сей­час непло­хо ра­бо­та­ет на уст­рой­ст­вах с несколь­ки­ми монито­ра­ми. Так ­же при­ят­ным до­полнением яв­ля­ет­ся но­вый Heads Up Display (HUD) в Ubuntu 12.04. Unity в па­ре с HUD зна­чи­тель­но по­вы­си­ли удоб­с т­во ра­бо­че­го сто­ла. Од­на­ко ра­бо­чий стол по-прежнему оста­ет­ся слиш­ком ори­ен­ти­ро­ван­ным на кла­виа­т у­ру. Мы це­ ним это, так же, как и те, кто из­на­чаль­но не при­ нимал Unity. Но ес­ли на­ши тес­ты хоть в ма­лей­шей сте­пени яв­ля­ют­ся по­ка­за­тель­ны­ми, среднеста­ти­ сти­че­­ский поль­зо­в а­тель на­с толь­но­го ПК не лю­

бит жонг­л и­р о­в ать уст­р ой­с т­в а­м и вво­д а. По­э то­ му неуди­ви­тель­но, что боль­шин­ст­во не об­ра­ща­ют внимания на хит­ро­ум­ный HUD. Linux Mint яв­ля­ет­с я всем тем же, чем яв­ля­е т­ ся Ubuntu, и кое-чем еще. Он бе­рет са­мые луч­шие ин­ст­ру­мен­ты из Ubuntu (на­при­мер, его про­грам­му уста­нов­ки) и це­лый на­бор ин­ди­ви­д у­а ль­ных ин­с т­ ру­мен­тов. Един­ст­вен­ное, че­го нет в Mint – это ра­ бо­че­го сто­ла Ubuntu, Unity – и для боль­шин­с т­в а поль­зо­ва­те­лей это основ­ной до­во­д в поль­зу Mint. Итак, в то вре­м я, как Ubuntu по­ш ел даль­ш е с Unity, невзи­рая на неудо­воль­с т­вие поль­зо­ва­те­ лей, Mint об­ра­тил на это неудо­воль­ст­вие внимание и по­с та­рал­ся най­т и ре­шение. Эту за­д а­ч у ослож­ нил ра­б о­ч ий стол Gnome, от ­к а ­з ав­ш ись от при­ выч­ной на­ви­га­ции по ра­бо­че­му сто­лу, но упор­ст­во и на­с той­чи­вость ко­ман­ды раз­ра­бот­к и Linux Mint по­м ог­л и ей за­б ить по­б ед­н ый гол в ви­д е Mint Gnome Shell Extension (MGSE), слоя ра­бо­че­го сто­ ла по­верх Gnome 3.

Мой дружище MATE MGSE име­ет ниж­нюю панель, ме­ню при­ло­жений, ви­д и­мые знач­к и лот ­к а и про­чие функ ­ц ии, ко­то­ рых нет ни в Unity, ни в Gnome 3. Так­же в Mint 12 име­е т­с я экс­п е­р и­м ен­т аль­н ое от­в етв­л ение тра­ ди­ци­он­но­го ра­бо­че­го сто­ла Gnome 2, MATE. Этот ра­бо­чий стол раз­ви­ва­ет­с я ги­г ант­ски­ми тем­па­ми и яв­ля­ет­ся одним из основ­ных пре­иму­ществ в са­ мом по­с леднем ре­ли­зе, Linux Mint 13. По­сколь­к у про­г рам­ме­ры Mint ак ­т ив­но уча­с т ­ву ­ют в его раз­ ра­б от­ке, ра­б о­ч ий стол MATE от­л ич­н о ра­б о­т а­е т со все­ми поль­зо­ва­тель­ски­ми ин­ст­ру­мен­та­ми Mint. Бла­г о­д а­р я этим дости­жениям Mint 13 сумел взять верх над Ubuntu.

> Ра­бо­чий стол Mint, Cinnamon, на­столь­ко хо­рош, что его на­чи­на­ют пе­ре­ни­мать дру­гие ди­ст­ри­бу­ти­вы.

По­бе­ди­тель:

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 35


Луч­ший ди­ст­ри­бу­тив -  2012

Пер­вый ра­унд OpenSUSE Tumbleweed про­тив

У

чи­ты­вая ог­ром­ное ко­ли­че­­с т­во про­грамм с от­к ры­т ым ко­дом, фи­ло­со­фия «ре­ли­зы рань­ше и ча­ще» яв­ля­ет­ся трен­дом се­зо­ на, и этот ме­тод на­хо­дит свое ло­ги­че­­ское за­вер­ шение в сколь­зя­щем ре­ли­зе, об­нов­ляе­мом по­сто­ ян­но, а не ка­ж­дые пол­го­да. Од­на­ко об­нов­ляе­мые ре­ли­зы при­н я­т ы не все­ми. Этот по­е ди­нок ме­ж­ ду одним из са­мых пер­вых об­нов­ляе­мых ди­ст­ри­ бу­ти­вов, Arch, и одним из са­мых но­вых, OpenSUSE Tumbleweed, стал пол­ной неожи­дан­но­стью. Пре­ж ­де все­го, Arch Linux ока­зал­ся са­мым бы­ ст­рым ди­с т­ри­бу ­ти­вом. В Сравнении менед ­же­ров па­ке­тов в LXF159, Arch обо­шел сво­их со­перников со зна­чи­тель­ным от­ры­вом. Arch Linux – лю­би­мый ди­с т­ри­бу ­т ив тех, кто пред­по­чи­т а­ет пол­ный кон­ троль над все­ми ком­понен­та­ми про­грамм на сво­ ем ком­пь­ю­те­ре. Од­на­ко за этот кон ­т роль при ­хо­ дит­ся рас­пла­чи­вать­ся. Во-пер­вых, у Arch нет гра­фи­че­­с кой про­г рам­ мы уста­нов­ки. Вме­сто это­го, уста­нов­ка Arch тре­бу­ ет руч­но­го ре­дак ­ти­ро­вания фай­лов на­строй­ки для по­лу­чения имен­но то­го ре­зуль­т а­т а, ко­то­рый вам ну ­жен. Един­с т­вен­ным уте­ш ением яв­ля­е т­с я wiki

Arch Linux, где со­дер­жат­ся под­роб­ ные ин­ст­рук­ции, ко­то­рые про­ве­д ут вас по всем эта­пам про­цес­са уста­ нов­ки. А во-вторых, что­бы уста­но­ вить ди­с т­ри­бу ­тив, вам по­на­до­бит­ ся ин­т ернет-со­е динение, причем весь­ма-таки ши­ро­ко­по­лосное. И вот здесь на сце­н у вы­хо­д ит OpenSUSE Tumbleweed. О Tumble­ weed бы­л о объ­я в­л е­н о вдо­г он­к у ре­ли­зу OpenSUSE 11.4, и хотя это от­л ич­н ый об­н ов­л яе­м ый ди­с т­р и­ бу­т ив, он остался в тени и не по­ лу­ч ил то­г о при­з нания, ко­т о­р о­г о за­слу ­жи­ва­ет.

Мис­тер Tumble

Arch

> Ес­ли ваш ди­ст­ри­бу­тив по­сто­ян­но об­нов­ля­ет­ся сам, вам не при­ дет­ся ду­мать о но­ме­ре вер­сии — вол­шеб­ст­во тво­рит­ся в тай­не.

Ес­ли вы о нем не слы­ша­ли, Tumbleweed – это ре­ по­з и­т о­р ий OpenSUSE, ко­т о­р ый пре­д остав­л я­е т сколь­зя­щ ие об­нов­ления. По­п у­ляр­ные ди­с т­ри­бу­ ти­вы тра­ди­ци­он­но ис­поль­зу­ют об­нов­ляе­мые ре­ по­зи­то­рии для про­вер­ки па­ке­тов, ко­то­рые долж­ ны со­с та­вить их сле­д ую­щ ий ста­биль­ный ре­лиз.

> Tumbleweed пре­дос­тав­ля­ет гра­фи­че­скую при­вле­ка­тель­ность и ста­биль­ность по­пу­ляр­но­го ре­ли­за OpenSUSE с ост­ро­сов­ре­мен­ны­ми про­грам­ма­ми об­нов­ляе­мо­го ре­ли­за. Пол­ная и бе­зо­го­во­роч­ная по­бе­да.

При­ме­ра­ми то­му слу­жат OpenSUSE Factory и Fedo­ ra Rawhide. Эти ре­п о­зи­т о­р ии име­ю т са­м ые со­вре­м ен­ные про­грам­мы, но они не пред­на­зна­че­ны для ис­поль­ зо­вания в ка­че­­ст­ве по­сто­ян­ных ди­ст­ри­бу­ти­вов ра­ бо­че­го сто­ла. Tumbleweed от­ли­ча­ет­ся от них тем, что со­дер­жит ста­биль­ные про­грам­мы. И он все хо­ро­ше­ет. Ис­поль­зо­вать Tumbleweed – все рав­но что гу­лять по пар­к у. По­сколь­к у в основ­ ном это – про­с то ре­п о­з и­т о­р ий, все, что от вас тре­бу­ет­ся – уста­но­вить ста­биль­ный ре­лиз Open­ SUSE и пе­ре­к лю­чить­ся со ста­биль­ных ре­по­зи­то­ ри­ев на ре­по­зи­то­рий Tumbleweed с по­мо­щью про­ слав­л ен­н о­г о ме­т о­д а уста­н ов­к и одним щелч­ком от OpenSUSE. Итак, в от­ли­чие от про­чих об­нов­ляе­ мых ди­с т ­ри­бу ­т и­вов, в Tumbleweed вы по­л у­чае­те до­полнитель­ный бо­нус в ви­де гра­фи­че­­ской про­ грам­мы уста­нов­ки OpenSUSE. Ес­ли вы не хо­ти­те ме­ся­цами ждать са­мо­го све­ же­го ре­ли­за сво­их лю­би­мых про­грамм, а ваш Ин­ тернет доста­точ­но ши­ро­ко­по­лосный и спра­вит­ся с по­с то­ян­ным по­то­ком об­нов­лений, то OpenSUSE Tumbleweed, по­бе­ди­тель этой схват­ки – для вас.

По­бе­ди­тель:

Спе­ци­аль­ный ук­лон По­ми­мо основ­ных ди­ст­ри­бу ­ти­вов, упо­мя­ну ­тых в этом ма­те­риа ­ле, со­об­ще­ст­во пред ­ла­га­ет немало спе­циа­ли­ зи­ро­ван­ных, на­стро­ен­ных под лю­бые тре­бо­вания. Ес ­л и вы ище­т е ди­с т ­р и­бу ­т ив-лег ­ко­в ес для при­ дания сил ма­ши­нам, стра­даю­щим ис­то­щением ре­сур­ сов, по­про­буй­т е молние­носный Puppy Linux. В нем есть поль­зо­в а­тель­ские ин­с т­ру­мен­т ы для прак ­т и­че­ ­ски лю­бых за­дач. За­тем име­ет­ся Bodhi Linux, со сво­ им се­те­вым AppCenter. И, на­конец, есть осно­ван­ный на LXDE Lubuntu, но­вый член се­мей­ст­ва Ubuntu. Боль­шин­ст­во по­пу­ляр­ных ди­ст­ри­бу ­ти­вов по­дой­д ут для де­ск­то­па уров­ня пред­при­ятия, но ес­ли вам нуж­на спе­ци­а ль­ная раз­ра­бот­ка для этой це­ли, об­ра­ти­те вни­

мание на Scientific Linux – он по­сте­пен­но от­вое­вы­ва­ет по­зи­ции у CentOS, еще од­но­го бизнес-ва­ри­ан­та. Ес­ли вам ну ­жен ди­с т ­ри­бу ­т ив с ак ­цен ­том на безо­пас­но­ сти, взгляните на Network Security Toolkit. Он со­брал массу ин­с т ­р у ­м ен ­т ов из спи­с ка sectools.org Top 100 Security Tools и ис­поль­зу­ет и под­дер­жи­ва­ет ре­по­ зи­то­рий про­ве­рен­ных ин­ст­ру­мен­тов безо­пас­но­сти. И не за­будь­те об ин­те­рес­ных ди­ст­ри­бу­ти­вах Linux, обязанных быть в ин­с т ­ру ­мен ­т а­рии ка ­ж ­д о­го поль­ зо­ва­те­ля Linux – CloneZilla для клониро­вания дис­ка, PartedMagic, где есть ин­с т ­р у ­м ен ­т ы управ ­л ения дис­ком и восста­нов­ления дан­ных, и SystemRescueCD для восста­нов­ления сис­тем Windows и Linux.

> Ес­ли вы жа­ж­де­те ано­ним­но­сти в Ин­тер­не­те, вас вы­ру­чит Tails Linux.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

36  |  LXF162 Октябрь 2012


Луч­ший ди­ст­ри­бу­тив -  2012

Пер­вый ра­унд Fedora 17 про­тив

Sabayon 9

И

Fedora, и Sabayon идут с несколь­к и­ми ра­бо­чи­ми сто­ла­ми, но Gnome всегда был силь­ной сто­ро­ной Fedora. Од­на­ко не так дав­но он на­чал ро­нять свои стан­дар­ты. Конеч­н о, Fedora под­д ер­ж и­в а­е т­с я ком­п анией с мил­ли­ард­ны­ми до­хо­д а­ми, но у это­го ди­с т­ри­бу­ ти­ва те же про­бле­мы, что и у Ubuntu – он пы­та­ет­ ся по­твор­ст­во­вать наплыву поль­зо­ва­те­лей, жела­ ющих видеть ди­ст­ри­бу ­тив не толь­ко на­столь­ным. Поскольку Fedora яв­ля­ет­ся по­ли­го­ном для ис­ пы­таний Red Hat Enterprise Linux (RHEL), неуди­ви­ тель­но, что но­вые ре­ли­зы со­дер­жат мно­го са­мых со­вре­мен­ных раз­ра­бо­ток для поль­зо­ва­те­лей уров­ ня пред­при­ятия, в том чис­ле virt-manager и про­чие хит­ро­сти, от­но­ся­щие­ся к об­лач­ным тех­но­ло­ги­ям. Про­б ле­м ы Fedora 17 усу ­г уб­л я­ю т­с я тем фак­ том, что она при­дер­жи­ва­ет­ся стан­д ар­тов сво­бод­ но­го ПО, рег­ла­мен­ти­рую­щих ком­пи­ля­цию ди­ст­ри­ бу­ти­ва – а имен­но, без вся­ких вклю­чений кусков про­прие­т ар­ных про­г рамм, драй­ве­ров или ко­де­ ков. Это пре­к рас­но, но не слиш­ком го­д ит­с я для на­с толь­ной сис ­т е­мы. И вдо­б а­вок еще од ­но, что не ра­бо­т а­ет на де­ск ­то­пе, это от­сут­с т­вие достой­ но­го менед­же­ра па­ке­тов. PackageKit уже не со­от­ вет­с т­ву­ет. Ес­ли Fedora вол­ну­ют ее «на­с толь­ные» поль­з о­в а­т е­л и, сле­д у­е т пе­р е­с мот­р еть сис­т е­м у управ­ления па­ке­та­ми.

Оп­лот на­столь­ных сис­тем Fedora в той или иной фор­ме су­ще­ст­ву­ет с 1995 го­ да, и тот факт, что она до сих пор не ут­ра­ти­ла сво­ их по­з и­ц ий в неофи­ц и­а ль­н ом спи­с ке по­п у­л яр­ но­с ти Distrowatch.com яв­ля­ет­с я сви­де­тель­с т­вом пре­дан­но­сти ей со­об­ще­ст­ва Linux. Очень труд­но най­ти у Fedora недостат­ки. Са­мым сла­бым ме­с том ди­с т­ри­бу ­ти­ва бы­ла его реа ­ли­за­ ция KDE, но в пре­ды­д у­щем ре­ли­зе эта про­бле­ма бы­л а пре­о до­л е­н а. Все же нас за­с тав­л я­е т ко­л е­ бать­с я от­ри­ц а­т ель­ное от­но­шение ди­с т­ри­бу ­т и­в а к про­прие­тар­но­му ПО – ес­ли бы он пре­достав­лял

> Fedora те­ря­ет оч­ки за пре­неб­ре­же­ние про­прие­тар­ны­ми драй­ве­ра­ми. В иде­аль­ном ми­ре, ко­неч­но, нет мес­ та MP3 или Flash, но в жиз­ни ино­гда нуж­ны ком­про­мис­сы. бо­лее лег­кий спо­соб его уста­нов­ки, как Mint или OpenSUSE, то поль­з о­в а­т ель мог бы лег­ко сде­ лать осмыс­л ен­н ый вы­б ор, вме­с то вы­н у ­ж ­д ен­ но­г о. Сравните это с Sabayon 9, по­с тав­л яе­м ым со мно­же­с т­вом про­прие­т ар­ных драй­ве­ров и мо­ ду­лей рас­ши­рения для воспро­из­ве­дения кон­тен­ та во всех фор­ма­тах. Тем не менее, Fedora – ве­д у­щ ий ди­с т­ри­бу ­т ив на ба­зе Gnome. По этой при­чине с Fedora 17 вы по­

ко не все при­ло­жения в Fedora 17 при­дер­жи­ва­ют­ся этих но­вых стан­д ар­тов. И один из тех, кто их уже осваи­ва­ет – это но­вое при­ло­жение Documents, ко­ то­рое ис­поль­зу­ет ин­ст­ру­мент ин­дек­са­ции Tracker.

Мир хи­ми­и При­н яв во внимание кри­т и­ч е­­с кие за­м е­ч ания по по­во­д у удоб­с т­в а сво­его ро­д и­тель­ско­го ди­с т­ ри­бу ­т и­ва, Sabayon 9 за­менил свой ра­бо­чий стол Sulphur [сера] на на­бор ин­с т­ру­ мен­тов для управ­ления па­ке­т а­ ми Entropy с но­в ым менед­ж е­ ром па­ке­тов под на­званием Rigo. Он довольно-таки мно­го­с ло­вен и об­щ а­е т­с я с поль ­з о­в а­т е ­л я­м и на вполне че­ло­ве­че­­ском язы­ке. Не­взи­рая на свой яв­ный недоста­ток в ви­де уста­ ре­ло­го ре­ли­за Gnome, здесь Sabayon 9 опять пре­ восхо­дит Fedora 17 внесением неболь­ших от­ла­док в поль­зо­ва­тель­ский ин­тер­фейс Gnome. На­при­мер, ок­на в Sabayon 9 ото­бра ­жа­ют кноп­ки миними­зи­ро­ вать и раз­вер­нуть, ко­то­рых вы не най­де­те в обыч­ ном ре­ли­зе Gnome, вме­сте с пунк­том Power Off, чье от­сут­ст­вие в стан­дарт­ном ра­бо­чем сто­ле Gnome 3 дол­гое вре­мя до­с а ­ж ­д а ­ло на­ше­м у бед­но­м у DVDжо­кею Бе­ну, из-за его сло­ман­ной ру­ки, по­стра­дав­ шей в пу­те­ше­ст­вии на ях­те от солнеч­ных бе­ре­гов Ли­г у­рии во­след за неряш­ли­вой су­пер­мо­де­лью. Но Sabayon по ­з а­и м­с т ­в о­в ал у про­е к ­т а Fedora один крайне важ­н ый ком­п онент. Хо­т я Sabayon и осно­в ан на ­поч­т ен­ном ди­с т­ри­бу ­т и­ве Gentoo – точ­нее, на дво­ич­ной вер­сии Gentoo – про­г рам­ма его уста­нов­к и базируется на Anaconda, про­грам­ ме уста­нов­ки Fedora. Хоть и с ма­лым пе­ре­ве­сом, но Sabayon 9 все же по­бе­ж ­да­ет Fedora 17.

«Fedora сле­ду­ет пе­ре­ смот­реть свое управ­ле­ ние па­ке­та­ми.» лу­чае­те са­мый по­следний Gnome 3.4, а Sabayon 9 со­дер­жит бо­лее ста­рую вер­сию Gnome 3.2. Gnome 3.4 серь­ез­но из­менил ди­зайн при­ло­жений. Од­на­

> На­столь­ные поль­зо­ва­те­ли оце­нят уве­дом­ле­ния Rigo, од­но­вре­мен­но и за­бав­ные, и ин­фор­ма­тив­ные — в от­ли­чие от край­не лаконичных со­об­ще­ний, ко­то­рые по­рой вы­да­ет ме­нед­жер па­ке­тов Fedora.

По­бе­ди­тель:

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 37


Луч­ший ди­ст­ри­бу­тив -  2012

Пер­вый ра­унд Mageia 2 про­тив

ROSA

M

ageia, ко­то­рой все­го два ре­ли­за от ро­ ду, от­н о­с и­т ель­н ый но­ви­ч ок, но соз­ да­ю т ее ве­т е­р а­н ы — раз­р а­б от­ч и­ ки Mandriva. И у ROSA си­т уа­ц ия сход­н ая. Она раз­ра­ба­т ы­ва­е т­ся в ROSA Labs, в Мо­ск­ве, и это ее пер­вый неза­ви­си­мый ре­лиз. ROSA Labs бы­ли партнера­ми Mandriva в ра­бо­те над ее по­следним ре­ли­зом, Mandriva 2011, но с тех пор их пу­ти ра­зо­ шлись. ROSA 2012 — плод их дальней­ших тру­дов. Есть две ре­д ак ­ц ии ROSA 2012. Ре­д ак­ц ия Free edition не вклю­ча­е т несво­бод­ных при­ло­жений – их мо­жно най­ти в ре­дак­ции Extended. За уста­нов­ ку ди­с т­ри­бу ­т и­ва от­ве­ча­ет слег­к а при­гла­жен­ная, но весь­ма зна­ко­мая про­грам­ма уста­нов­ки Mandri­ va; для поль­зо­ва­те­лей, имею­щих опыт раз­биения дис­ка на раз­де­лы, она бу­дет неве­ро­ят­но про­ста. По­ми­мо улуч­шений скры­тых ас­пек ­тов ди­с т­ри­ бу ­т и­в а, ROSA так ­же вве­л а нема ­л ое ко­ли­ч е­­с т­в о поль­зо­в а­т ель­с ких при­л о­жений. Одним из тако­ вых яв­ля­ет­ся ROSA Media Player (ROMP), ко­то­рый не толь­ко воспро­из­во­д ит ви­део, но и ис­поль ­зу­ ет про­грам­му за­пи­си дей­с т­вий на ра­бо­чем сто­ле. Когда ак­ти­ви­ру­ет­ся функ­ция за­пи­си, ROMP за­пи­ сы­ва­ет ви­део ва­ше­го ра­бо­че­го сто­ла в фор­ма­те WebM, во мно­гом по­доб­но встро­ен­ной функ­ц ии за­пи­си, пред­став­лен­ной в Gnome 3.4. За­т ем идет KLook, так ­ж е ин­т ег­р и­р о­в ан­н ый с дру­гим ин­ст­ру­мен­том под на­званием StackFolder, вид ­же­том KDE, ис­поль ­зуя ко­то­рый, мож ­но про­ смат­ри­вать со­дер­жи­мое пап­ки из са­мой панели.

Ма­гия ра­бо­че­го сто­ла С по­мо­щью KLook осу­ще­ст­в­ля­ет­ся пред­про­смотр фай ­л ов, ана ­л о­г ич­н о функ ­ц ии Mac OS X, Quick­ Look, – как из StackFolders, так и из менед­же­р а фай­лов Dolphin. Здесь мы бы хо­те­ли улу­чить мо­ мент и со­об­щить вам, что, хо­т я в ROSA име­ют­ся ра­бо­чие сто­лы KDE и LXDE, ее ин­но­ва­ции пре­ж ­де все­го ка­са­ют­ся ра­бо­че­го сто­ла KDE. Од­на из та­ких ин­н о­в а­ц ий – под­в ерг­ш ий­с я ре­д и­з ай­н у ра­б о­чий

.. > Для дос­ти­же­ния дос­той­но­го ре­зуль­та­та ко­ман­де Га­эля Дю­ва­ля [Gael Duval] из быв­ших раз­ра­бот­чи­ков Mandriva по­на­до­би­лось вре­мя, но сей­час Mageia с хо­ду пре­дос­тав­ля­ет по­тря­саю­щие воз­мож­но­сти ра­бо­ ты в KDE. стол KDE, ко­то­рый по­за­им­ст­во­вал ряд эле­мен­тов у ра­бо­чий сто­лов Unity и Gnome 3. В нем име­ет­ ся Dash-по­доб­ный эк­ран SimpleWelcome, ко­то­рый груп­пи­ру­ет при­ло­жения по их функ­ци­ям, а стан­ дарт­ный KDE Launcher за­менен на ROSA RocketBar. Ди­ст­ри­бу­тив гор­дит­ся сер­ви­сом ROSA Sync, ко­то­ рый на­хо­дит­ся на бе­та-ста­дии раз­ра­бот­ки, и пред­ ла­га­ет 2 ГБ бес­плат­но­го хранили­ща для ва­ших ре­ зерв­ных ко­пий и син­хронизи­ро­ван­ных фай­лов. Боль­шин­с т­во ви­ди­мых функ­ций и ин­с т­ру­мен­ тов ROSA 2012 де­б ю­т и­р о­в а ­л и в Mandriva 2011. Но по­с коль­к у Mageia от­д е­л и­л ась от Mandriva до ре­ли­за 2011, ее са­мый по­следний ре­лиз – Mage­ ia 2 – во мно­гом вы­гля­д ит, как стан­д арт­ный ди­ ст­ри­бу ­т ив KDE с ин­с т­ру­мен­т а­ми ра­бо­че­го сто­ла

> Мы пе­ре­смот­рим на­ше мне­ние о ROSA, ко­гда в сле­дую­щем го­ду поя­вит­ся Desktop edition. А по­ка что это – эк­ви­ва­лент ми­ра KDE ра­бо­че­му сто­лу Ubuntu Unity.

Mandriva. Для вы­полнения про­с тых за­д ач по ад­ минист­р и­р о­в анию но­в ич­к ам здесь по­с лу ­ж ит все­ми лю­би­мый Mageia Control Center. В Mageia 2 так ­же име­ет­ся на­стро­ен­ная панель с менед ­же­ром за­д ач в ви­де знач­ков, а так­же ме­ню в клас­си­че­ ­ском сти­ле.

Не мно­го ли ин­но­ва­ций? Не­смот­ря на ак­цент на ра­бо­чем сто­ле KDE, здесь сле­д у­ет от­ме­тить, что Mageia 2 идет с боль­шим ко­ ли­че­­с т­вом ра­бо­чих сто­лов, чем ROSA 2012. Про­ шлый опыт с KDE 4, Gnome 3 и Unity по­ка­зал нам, что поль ­зо­в а­те ­ли Linux не лю­бят кар­д и­наль­ных из­менений на сво­и х ра­бо­чих сто­лах. Имен­но по­ это­му са­мая при­ме­ча­тель­ная функ­ция ROSA 2012 мо­ж ет от­п уг­н уть поль­з о­в а­т е­л ей – ROSA очень силь­н о мо­д и­ф и­ц и­р о­в а ­л а KDE, и те­п ерь у него боль­ше об­щ е­го с Unity и Gnome 3, чем с са­мим KDE. Так­же ди­ст­ри­бу­ти­ву сто­ит от­ла­дить свой об­ лач­ный сер­вис, ко­то­рый ин­тег­ри­ро­ван не так хо­ ро­шо, как Ubuntu One в Ubuntu. Когда речь идет о ди­ст­ри­бу­ти­вах на ба­зе Mand­ riva, мы долж­ны принимать во внимание их непро­ стое про­шлое – в осо­бен­но­сти когда пре­тен­ден­ты дели­ли сотрудников с ис­ход­ным ди­с т­ри­бу­ти­вом. И хо­т я нам нра­вит­с я то, что ROSA сде­ла­ла с ра­ бо­чим сто­лом KDE, этот кон­к урс дол­жен вы­брать Mageia, по при­ч ине ее по­с то­я н­н ых из­м енений, ста­биль­но­го гра­фи­ка ре­ли­зов, со­лид­ной ин­фра­ струк ­т у ­р ы, и на­ш ей сла­б о­с ти ко все­му фран­ц уз­ско­му.

По­бе­ди­тель:

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

38  |  LXF162 Октябрь 2012


Луч­ший ди­ст­ри­бу­тив -  2012

По­лу­фи­нал Linux Mint про­тив

Sabayon 9

С

и­ла Linux Mint — в его здра­во­мыс­ля­щем ру­ко­во­дстве. Его ве­ду­щий раз­ра­бот­чик, Кле­ман Ле­февр [Clement Lefebvre], на­пи­ сал в бло­ге: «Мы зна­ем, че­го хо­тим, и зна­ем, как это реа­ли­зо­вать; и мы про­из­ве­д ем то, что нам нуж­но, ис­поль­зуя го­то­вые ком­понен­ты, адап­ти­руя их или соз­да­вая соб­ст­вен­ные». Mint 13 – сви­де­тель­ст­во ис­полнения это­го обе­ щания. Он вклю­ча­ет все­го понем­но­г у. Вы по­лу­ча­е­ те ста­биль­ность ди­ст­ри­бу ­ти­ва-ро­ди­те­ля и его ста­ ту­с Long Term Support [Дол­го­сроч­ной под­держ­ки], луч­шую про­грам­му уста­нов­ки, па­роч­к у све­же­ис­ пе­чен­ных ра­бо­чих сто­лов и плея­д у ин­ст­ру­мен­тов поль­зо­ва­теля. Mint 13 вы­хо­дит в двух ре­д ак­ци­ях. Од­на базируется на от­но­си­тель­но зре­лом ра­бо­чем сто­ле MATE, ветке се­рии Gnome 2.x. Дру­гая осно­ ва­на на по­даю­щем на­де­ж ­ды ра­бо­чем сто­ле Cinna­ mon, домашней раз­ра­бот­ке Mint, ко­то­рая ис­поль­ зу­ет Clutter и Gnome 3 и для нор­маль­ной ра­бо­ты тре­бу­ет уско­рен­ной гра­фи­ки. Оба ра­б о­ч их сто­л а пре ­д остав ­л я­ю т вам зна­ ко­м ую ра­б о­ч ую сре­д у, бла­г о­д а­р я ин­с т ­р у ­м ен­ там Mint. А для уста­нов­ки па­ке­тов есть Mint Soft­ ware Manager, ко­т о­р ый пред­ш е­с т­в у­е т Ubuntu Software Center. В об­щем и це­лом, Mint 13 – ис­тин­ ный рай для поль­зо­ва­те­ля ра­бо­че­го сто­ла. Про­ект Sabayon стар­то­вал, что­бы дать про­стым смерт­н ым шанс при­коснуть­с я к со­в ер­ш ен­с т­в у Gentoo. Sabayon 9 про­д ол ­ж а­е т эту тра ­д и­ц ию, и в нем мно­гое унаследовано от Gentoo. Ди­с т­ри­бу ­т ив пред­с тав­ля­ет па­ке­т ы от инициа­ тив­н ой груп­п ы Gentoo Hardened, ко­т о­р ая под­ дер­ж и­ва­ет несколь­ко про­ек ­тов для Gentoo, ори­ ен­т и­р о­в ан­н ых на безо­п ас­н ость. По­в ерх этой су­п ер-безо­п ас­н ой ба­зы пред ­л а­г а­е т­с я на вы­б ор три топ­пин­га – Gnome 3.2, KDE 4.8, и Xfce 4.10. Так ­ж е в этом ре ­л и­з е де­б ю­т и­р у­е т минима­ лист­ский менед ­жер па­ке­тов Rigo. Это вы­ход для на­чи­наю­щ их поль­зо­в а­те­лей ра­бо­че­го сто­ла, ко­ то­рых от­пу­ги­ва­ют та­ин­ст­вен­ные со­об­щения и уве­ дом­л ения, вы­д а­в ае­м ые дру­г и­м и менед ­же­р а­м и па­ке­т ов. Фак­т и­че­­с ки, он раз­ру­ли­в а­е т си­т уа­ц ию

> Sabayon 9 храб­ро сра­жал­ся, но все же про­иг­рал гроз­но­му про­тив­ни­ку в ли­це Mint 13. И в этом нет ни­че­го по­стыд­но­го. с по­тен­ци­а ль­ной сла­бо­с тью это­го ди­с т­ри­бу ­ти­ва, ко­то­рый поставляется с по­вре­ж ­ден­ным па­ке­том LibreOffice. Rigo по­сто­ян­но от­прав­ля­ет со­об­щения из ре­по­зи­то­ри­ев Sabayon, и од­но из пер­вых со­дер­ жит в се­бе про­стое ре­шение в од­ну стро­к у, по­зво­ ляю­щее ис­пра­вить LibreOffice.

чанию ди­ст­ри­бу ­тив уста­нав­ли­ва­ет Chromium вме­ сто Firefox, что несколь­ко стран­но, но опять же лег­ ко по­пра­ви­мо ви­зи­том к менед­же­ру па­ке­тов Rigo. Ра­б о­т а с но­вым менед ­же­р ом па­ке­т ов – опыт ки­с ло-слад­к ий. Он луч­ш е сво­е го пред­ш е­с т­ венника, но все же име­е т недостат­к и. Вам при­ дет­с я вруч­н ую пе­р е­з а­п ускать менед ­жер па­ке­тов, что­бы на­чать по­иск в толь­ко что об­нов­лен­ных ре­по­зи­то­ри­ях. Rigo осно­в ан на по­и с­к е и не вы­во­дит спи­сков пред­ва­ри­ тель­но оп­ре­де­лен­ных ка­те­го­рий. Это уст­р о­и т поль­зо­в а­т е­л ей, знаю­щ их на­звание нуж­но­го па­ке­та, но бу­дет аб­со­лют­но бес­по­лез­но для тех, кто с ним не знаком.

«Sabayon дал смерт­ным шанс ­кос­нуть­ся со­вер­ шен­ст­ва Gentoo.» Ди­с т­р и­б у ­т ив ки­ш ит при­л о­ж ения­м и; сре­д и них – брау­з ер Google Chromium, ме­д иа-плей­е р VLC и ме­диа-центр XBMC. На сай­те ди­с т­ри­бу­ти­ва вы най­де­те мас­су до­к у­мен­та­ции, в том чис­ле по­ ша­го­вое ру­ко­во­дство по уста­нов­ке и под­роб­ный раз ­дел FAQ, ко­то­рый сто­и т про­честь пе­ред тем, как об­ра­щ ать­ся на фо­ру­мы. Про­бле­мы с Sabayon минималь­ны, и часть их лег­ко уст­ранить. По умол­

По­бе­ди­тель:

Гря­ду­щие раз­ра­бот­ки ди­ст­ри­бу­ти­вов Со все­ми свои­ми по­следними ре­ли­за­ми, ко­то­рые нам пред­с то­и т про­тес­ти­ро­вать и оценить, ди­с т­ри­бу ­ти­вы Linux в по­те ли­ц а тру­д ят­ся над бу­д у­щи­ми вер­сия­ми. Пер­вым пунк ­том в по­ве­ст­ке дня по­пу­ляр­ных ди­ст­ри­ бу ­ти­вов сто­ит необ­хо­ди­мость убе­дить поль­зо­ва­те­лей в том, что их ди­ст­ри­бу­ти­вы бу­д ут ра­бо­тать на но­вом обо­ру­до­в ании SecureBootEnabled, ко­то­рое поя­вит­с я в про­да­же по­сле вы­хо­да Windows 8. По­это­му боль­шин­ст­во из­менений в проб­ных ре­ли­ зах Ubuntu 12.10, Quantal Quetzal [Кван­то­вый Кет­саль], оста­лись за ку­ли­с а­ми. На ра­бо­чем сто­ле вы мо­же­те рас­с чи­т ы­в ать на улуч­ш ен­н ый по­и ск при­л о­ж ений и ин­тер­фейс по­сле его вы­хо­да в ок­тяб­ре. А тем вре­менем Linux Mint 13 вы­пустил свою ре­дак­ цию Xfce, а так­же версию Linux Mint Debian Edition

с ра­бо­чи­ми сто­ла­ми Cinnamon, MATE и Xfce – ко­то­рая осно­ва­на на Debian вме­сто Ubuntu. Кста­ти о Debian: его сле­д ую­щий ре­лиз, Wheezy‚ был за­мо­ро­жен – а зна­чит, вме­сто ин­те­гра­ции из­менений раз­ра­бот­чи­к и скон­цен­т ри­ру­ют­с я на улуч­шении ста­ биль­но­сти ди­ст­ри­бу­ти­ва до его вы­хо­да в на­ча­ле сле­ дую­ще­го го­да. Воз­мож­но, ди­с т­ри­бу ­ти­вом с наи­боль­шим ко­ли­че­ ­ст­вом из­менений мож­но на­звать Fedora 18. Из­менения бу­д ут и неод­но­знач­ные – та­к ие, на­при­мер, как под­ держ­ка UEFI SecureBoot и но­вая по­ли­ти­ка, при ко­то­ рой для уста­нов­к и неко­то­рых об­нов­лений по­т ре­бу­ ется пе­ре­за­груз­ка сис­те­мы. Од­н а­ко на­с толь­ные поль­зо­в а­т е­ли мо­г ут рас­с чи­ ты­вать на бо­лее ров­н ую ра­бо­т у бла­го­д а­ря функ­ции

под на­званием Initial Experience. По­ми­мо пу ­те­ше­ст­вия по Gnome 3, она про­ве­дет поль­зо­в а­те­лей по основ­ ным на­строй­кам сис­те­мы, для ко­то­рых раз­ра­бот­чи­ки ди­с т­ри­бу­т и­в а не смог­ли обес­пе­чить хо­ро­ших пред­ ло­жений по умол­ч анию, та­к их, как соз­д ание учет­ ной за­пи­си поль­зо­ва­те­ля, со­единение с се­тью Wi-Fi, на­строй­ка учет­ных за­пи­сей он­лайн, и т. д. Мож­но так ­же ожи­д ать зна­чи­т ель­ных из­менений в гря­д у ­щ ем ре ­л и­з е OpenSUSE 12.2 – его вы­ход пе­ренесен с се­ре­ди­ны ию­ля на сен­т ябрь, по­сколь­к у про­ект за­вер­ша­ет свой про­цесс раз­ра­бот­ки. На­конец, еще од­на по­бе­да Linux в це­лом: Mandriva вру ­чи ­л а клю­чи от ди­с т ­ри­бу ­т и­в а Linux-со­о б­щ е­с т­ву, ко­т о­р ое вы­р а­з и­л о же­л ание со­т рудничать с со­о б­ ще­ст­вом Mageia.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 39


Луч­ший ди­ст­ри­бу­тив -  2012

По­лу­фи­нал Mageia про­тив

OpenSUSE

M

ageia не снаб­ж е­н а про­п рие­т ар­н ы­ ми ко­д е­к а­ми, но это лег­ко по­пра­ви­ мо. Основ­но­й ре­по­зи­то­рий вклю­чаюет толь­ко сво­бод­ные про­г рам­м ы, но ре­п о­зи­т о­р ии с про­п рие­т ар­н ы­м и про­г рам­м а­м и до­б ав­л е­н ы по умол­чанию, и ак ­ти­ви­руются одним щелч­ком. Все это дости­ж и­м о бла­г о­д а­р я поль­з о­в а­ тель­ским ин­ст­ру­мен­там, на­чи­ная с на­бо­ра гра­фи­ че­­ских ин­с т­ру­мен­тов для управ­ления па­ке­т а­ми, с ко­то­ры­ми лег­ко до­бав­лять про­грам­мы и ме­диаис­точники и об­нов­лять сис­те­му. Луч­шая функ­ция для поль­зо­ва­те­ля на­столь­но­го ПК в том, что весь ди­с т­ри­бу ­т ив мож ­но об­но­вить до но­во­го ре ­ли­з а из него са­мо­го, опять же одним щелч­ком. Mageia 2 вклю­ч а­е т все про­с тые в ис­п оль­з о­ вании ин­ст­ру­мен­ты кон­фи­г у­ра­ции, принес­шие по­ пу­ляр­ность Mandriva, в том чис­ле Mageia Control Center или drakconf, drak3D для на­с той­к и Compiz и мо­д уль ро­ди­тель­ско­го кон­тро­ля drakguard. Mageia 2 доступ­на с несколь­ки­ми ра­бо­чи­ми сто­ ла­ми, вклю­чая KDE 4.8.2, Gnome 3.4 и Xfce 4.9. Она по­с тав­ля­ет­ся со все­ми при­ло­жения­ми, по­ла­гаю­ щи­ми­ся на­столь­но­му ди­ст­ри­бу­ти­ву, вклю­чая ста­ биль­ные ре­ли­зы с рас­ши­рен­ной под ­держ­кой [Ex­ tended Support Releases] Firefox и Thunderbird. Ре­по­зи­то­рий OpenSUSE Tumbleweed ор­ганич­но впи­с ал­с я ме­ж ­д у его основ­ны­ми, хоть и не юны­ ми ста­биль­ны­ми ре­по­зи­то­рия­ми. Этот ре­по­зи­то­ рий обес­пе­чи­ва­ет по­лу­чение про­ве­рен­ных и ста­ биль­ных ре­ли­зов все­го. До по­яв­ления Tumbleweed об­нов­ляе­мые ди­с т­ри­бу ­ти­вы поч­ти ис­к лю­чи­тель­ но пред­на­зна­ча ­лись для опыт­ных поль­зо­ва­те­лей Linux, по­сколь­к у един­ст­вен­ны­ми на­стоя­щи­ми об­ нов­л яе­м ы­м и ди­с т­р и­б у ­т и­в а­м и со ста­б иль­н ы­м и про­г рам­м а­м и бы­л и Gentoo и Arch. Tumbleweed про­ще в ис­поль­зо­вании, бла­го­д а­ря гра­фи­че­­ской про­грам­ме уста­нов­ки OpenSUSE. А так как это по су ­т и ре­п о ­з и ­т о­р ий, вы мо­же­т е вер­н уть­с я к ста­ биль­но­м у ре­ли­зу, за­менив ре­по­зи­то­рии Tumble­

> Mageia снаб­же­на раз­лич­ны­ми ра­бо­чи­ми сто­ла­ми, в том чис­ле KDE 4.8.2, Gnome 3.4 и Xfce 4.9. Она от­ра­жа­ет ата­ку OpenSUSE в на­шем вто­ром по­лу­фи­на­ле. weed ста­б иль­ны­м и. Плюс к то­м у, при пе­р е­хо­д е на об­нов­ляе­мый ди­ст­ри­бу ­тив вы мо­же­те по­ме­тить неко­то­рые ста­биль­ные про­грам­мы, ко­то­рые бу­д ут остав­ле­ны как есть, когда осталь­ная часть ди­ст­ри­ бу ­ти­ва бу­дет об­нов­лять­ся. Мы слыхивали рас ­ска ­зы об об­нов ­ляе­мых ре­ ли­зах ди­ст­ри­бу ­ти­вов, ко­то­рые вно­си­ли ис­тин­ный хаос в сис­те­му. Увы, их не отнесешь к го­род­ским ле­г ен­д ам. Ес­ли вы ис­п оль­зуе­т е про­прие­т ар­ные драй­ве­ры, вам сто­ит дер­жать­ся по­даль­ше от Tum­ bleweed, по­сколь­к у одним из ком­понен­тов, час­ то бе­ру­щ их об­нов­ления из ре­по­зи­то­рия Tumble­ weed, яв ­ля­ет­с я яд ­ро Linux. Ес ­ли вы ис­поль ­зуе­те

про­прие­тар­ные драй­ве­ры, ко­то­рых нет в основ­ном яд­ре, вам при­дет­ся пе­ре­ком­пи­ли­ро­вать их из ис­ ходника при ка ­ж ­дом об­нов­лении яд­ра. Раз­ра­бот­ чи­к и Tumbleweed не ре­ко­мен­д у­ют ис­поль­зо­в ать об­нов­ляе­мые ре­ли­зы в сис­те­мах, тре­бую­щих на­ ли­чия про­прие­тар­ных ви­део драй­ве­ров Nvidia или ATI, а так­же в тех, где требуется ра­бо­та с VirtualBox.

По­бе­ди­тель:

Пол­дю­жи­ны аут­сай­де­ров от­бо­роч­но­го ту­ра

Debian 6

Gentoo

SimplyMEPIS 11

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

Один из са­мых по­пу­ляр­ных об­нов­ляе­мых ди­ст­ри­бу­ ти­вов, Gentoo, идеа ­лен для поль­зо­ва­те­лей, ко­то­рые жа ­ж ­д ут все­объ­ем­лю­ще­го кон­тро­ля за сво­ей сис­те­ мой и го­то­вы по­жерт­во­в ать удоб­с т­вом дво­ич­ных па­ке­тов. Обо­рот­ной сто­ро­ной этой ме­д а ­ли яв­ля­ ет­ся про­цесс уста­нов­ки, на­столь­ко хит­ро­ум­ный, что мы по­свя­ти­ли ему це­лое ру­ко­во­дство в LXF154.

Основан на ста­биль­ном Debian и по­следний раз вы­шел в мае 2011 как live DVD. Flash и дру­г ие про­прие­т ар­ные ко­де­к и уже уста­нов­ле­ны. Про­ грам­ма уста­нов­ки – яв­но не для всех, но ин­с т­ ру­м ен­т ы поль­з о­в а­т еля, типа Mepis Welcome Centre для ак ­ти­ва­ции ре­по­зи­то­ри­ев со­об­ще­ст­ва на KDE, де­ла­ют Mepis достой­ным со­перником.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

40  |  LXF162 Октябрь 2012


Луч­ший ди­ст­ри­бу­тив -  2012

Фи­нал Mint 13 про­тив Mageia 2

В

этом турнире со­шлись на­с тоя­щие бой­цы. В борь­бе за вы­ход в фи­нал два на­ших уча­ стника по­бе­ди­ли в же­ст­ком со­стя­зании та­ ких тя­же­ло­ве­сов, как Ubuntu и Fedora, и та­ких оду­ хо­т во­рен­ных дис­си­д ен­т ов, как ROSA, OpenSUSE Tumbleweed и Sabayon. Итак, мы все го­то­вы к вол­ную­ще­му фи­на­лу: бы­ ва­лая, но некруп­ная ры­беш­ка в ли­це Mint 13 и пе­ ре­груп­пи­ро­вав­ший­ся ве­те­ран – Mageia 2. Ко­ман­да Mageia впря­глась в ра­бо­т у сра­зу по­сле от­де­ления от Mandriva. Вме­с то то­го, что­бы сде­ лать про­с то от­в етв­л ение ди­с т­р и­бу ­т и­в а, про­е кт уве­рил всех: у него есть твер­дые осно­вания счи­ тать, что он име­ет им­м унитет к про­бле­мам, сгу­ бив­шим Mandriva. Сре­ди их дей­ст­вий бы­ло уч­ре­ж ­дение неком­мер­ че­­ской ор­ганиза­ции для управ­ления со­вме­с т­ным про­ек ­том, соб­с т­вен­ность на ко­то­рый при­над ­ле­

жит со­об­ще­с т­ву. Од­на­ко все­го луч­ше то, что они не по­зво­ли­ли бу­маж­ной ра­бо­те по­ме­шать тру­дам над ди­ст­ри­бу­ти­вом. И ес­ли пер­вый ре­лиз в об­щем не сдви­нул­ся с то­го мес­та, где был на мо­мент раз­ ры­ва с Mandriva, с вы­хо­дом Mageia 2 ди­ст­ри­бу ­тив об­рел са­мо­стоя­тель­ность. Его ко­м ан­д а из бо­л ее чем 100 со­т рудников и по­мощников соз­д а­ла ги­г ант­ский ди­с т­ри­бу­тив, ко­т о­р ый уст ­р о­и т поль ­з о­в а­т е ­л ей с са­м ым раз­ ным уровнем на­вы­ков и опы­том ра­бо­ты на ра­бо­ чих сто­лах всех ви­дов. Mint 13 – это куль­ми­на­ция мно­го­ме­сяч­ной ин­тен­сив­ной под­го­тов­ки и экс­пе­ ри­мен­т аль­ной ра­бо­т ы раз­р а­бот­чи­ков в по­ис­к ах ре­шения для поль­зо­ва­те­лей, раз­оча­ро­ван­ных ре­ шением Gnome и Ubuntu от­ка­зать­ся от клас­си­че­ ­ской се­рии Gnome 2.x. И хо­т я рас­ши­рения MGSE для Gnome 3 непло­ хо ра­бо­та­ли в ка­че­­ст­ве за­плат­ки для Linux Mint 12,

ди­с т­ри­бу ­тив ак ­тив­но искал луч­шее ре­шение. Ра­ бо­чие сто­лы от Mint 13, MATE и Cinnamon, от­лич­но до­пол­ня­ют друг дру­га, и при­но­си­ли ди­с т­ри­бу­ти­ ву вы­иг­рыш­ные оч­ки на про­тя­жении все­го турни­ ра. Ра­бо­чие сто­лы, вме­с те с на­бо­ром поль ­зо­в а­ тель­с ких ин­с т­ру­мен­тов, пред ­ла­г ае­мых Mint для всех за­д ач ра­бо­че­го сто­ла, вклю­чая осно­ван­ную на WUBI про­г рам­м у уста­нов­к и Windows, де­ла­ют его гроз­ным со­перником.

Mint зна­чит бизнес Од­на­ко в Mint есть нечто боль­шее, неже­ли стрем­ ление удов­ле­тво­рить поль­зо­ва­те­лей ра­бо­че­го сто­ ла. По­ми­мо ре­ли­зов со мно­же­ст­вом ко­де­ков, этот ди­ст­ри­бу­тив так­же пред­ла­га­ет ре­д ак­ции без них, что де­л а­е т их за­кон­ны­ми для рас­про­с транения прак­ти­че­­ски во всех стра­нах ми­ра. Хо­тя это, по су­ти, ди­с т­ри­бу­тив од­но­го че­ло­ве­ ка, про­е кт яв­л я­е т­с я жизнеспо­с об­ным де­л о­в ым пред­при­я ти­ем. Он про­и з­во­д ит OEM-об­р а­зы для тех, кто про­из­во­д ит и про­д а­е т ком­пь­ю­те­ры, де­ лая для них воз­мож­ной пре­д уста­нов­к у Linux Mint. При пер­вом за­пуске ди­с т­ри­бу ­тив про­во­дит поль­ зо­ва­те­ля че­рез про­стую про­це­д у­ру соз­дания учет­ ной за­пи­си. Жди­те по­хо­жей на­строй­ки в ком­пь­ю­ те­рах mintBox от CompuLab. |

> Кто ска­зал, что 13 — не­сча­ст­ли­вое чис­ло? Mint 13 — наш чем­пи­он-2012 сре­ди ди­ст­ри­бу­ти­вов, по­бе­див­ший Mageia 2 в эпи­чес­кой фи­наль­ной схват­ке.

Chakra Linux 2012.05

Zorin OS 6

SolusOS 1.1

Chakra – об­нов­ляе­мый ди­с т­ри­бу ­т ив, по­п у­ляр­ный бла­го­да­ря сво­ей ин­тер­пре­та­ции KDE. Те­к у­щая вер­ сия идет с ин­с т ­р у ­м ен ­т ом управ ­л ения па ­ке ­т а­м и толь­ко на ба ­зе CLI, по­сколь­к у на мо­мент вы ­хо­д а ре­ли­за раз­ра­бот­чи­ки не спра­ви­лись с про­бле­ма­ми GUI. Про­стая в при­менении сис­те­ма Chakra Software Bundling пред ­ла­га­ет ряд по­пу­ляр­ных при­ло­жений.

Раз­ра­бо­тан­ный для поль­зо­ва­те­лей Windows, об­д у­ мы­в аю­щ их пе­р е­ход на Linux, этот ди­с т­р и­б у ­т ив на ба ­з е Ubuntu досту ­п ен в несколь­к их вер­с и­я х и идет с пре­д уста­нов­лен­ны­ми Wine и PlayOnLinux. При по­мо­щи поль­зо­ва­тель­ских ин­ст­ру­мен­тов ди­ст­ ри­бу­ти­ва мож­но сде­лать так, что­бы он на­по­ми­нал Windows 7, XP, Vista, 2000, или Mac OS X.

Соз­д ан­ный раз­р а­бот­чи­ком Linux Mint Debian Edi­ tion, ди­ст­ри­бу ­тив вклю­ча­ет про­прие­тар­ные ко­де­ки. Те­к у­щ ая вер­сия осно­ва­на на Debian Stable, но сле­ дую­щая вер­сия, SolusOS 2, бу­дет осно­ва­на на вет­ви Debian Testing, Wheezy, и вклю­чит мо­д и­ф и­ц и­р о­ ван­ный Gnome 3, обес­пе­чи­в аю­щ ий воз­мож­ность ра­бо­ты в сти­ле Gnome 2.x.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 41


Дэ­вид Ко­биа

Глас на­ро­да Эн­д­рю Гре­го­ри бе­се­ду­ет с Дэ­ви­дом Ко­биа, техниче­­ским ру­ко­во­ди­те­лем Ushahidi — от­кры­той кар­то­гра­фи­че­­ской плат­фор­мы, даю­щей пра­во го­ло­са лю­бо­му жи­те­лю Зем­ли.

Интервью

Кар­ты — это здо­ро­во. Ин­ фор­м а­ц ия — то­ж е здо­ ро­в о. Све­д и­т е их вме­ сте — и бу­д ет здо­р о­в о в квад­р а­т е. Соз­д ай­т е плат­фор­м у, где ка­ж ­дый смо­жет сам сде­лать кар­т у и до­ба­вить свои дан­ные — будь то ка­ кая-нибудь ерун­да, вро­де пу­те­во­ди­те­ля по ме­ ст­ным ма­га­зин­чи­кам, с ука­занием це­ны на пи­ во, или нечто жизнен­но важ­ное — на­при­мер, рас­по­ло­жение ис­т очников пить­е­вой во­д ы — и вы да­ди­те лю­дям ве­ли­кое ору­дие. Имен­н о этим и занима­е т­с я Дэ­в ид Ко­б иа [David Kobia], в ка­че­­с т­ве техниче­­ско­­го ли­де­ра про­ек ­т а Ushahidi (www.ushahidi.com), неком­ мер­че­­ской ИТ-ком­пании, цель ко­то­рой – вер­ нуть ин­фор­ма­цию в ру­к и на­ро­д а, раз О СМИ уже ве­рить нель­зя. Мы встре­ти­ лись с ним на OSCON, что­бы уз­н ать, как про­дви­га­ют­ся де­ла Ushahidi, ка­ко­ во это – стать Гу­манистом го­да по вер­ сии MIT, и по­че­м у сво­б од­ное ПО так важ­но для это­го про­ек ­та.

LXF: Рас­ска­жи­те нам про Ushahidi. Прав­да ли, что соз­дание про­ек ­та под­толк­ну­ли ак­ции про­ тес­та в Кении несколь­ко лет на­зад? Дэ­в ид Ко­б иа: Я не знаю, что имен­н о вы об этом слы­ша­ли, но в кон­це 2007 там со­ стоя­л ись вы­б о­р ы [по­д оз­р ения в под­т а­с ов­ ке бы­ли с обе­и х сто­рон, и кон­фликт пе­ре­рос в на­силь­ст­вен­ные дей­ст­вия – по­гиб­ло 1500 че­ ло­в ек и 250 000 ли­ш и­л ись жи­л ья]. И, ес­т е­ ­с т ­в ен­н о, СМИ тут же при­к ры ­л и: не ста ­л о ни те­ле­ви­дения, ни ра­дио, ни га­зет. Но вла­сти не уч­ли, что есть Ин­тернет и есть мо­биль­ная связь. И сви­де­тель­ст­ва о при­менении на­си­лия поя­ви­лись в мно­го­чис­лен­ных бло­г ах и внут­ ри, и вне Кении. У лю­д ей поя­в и­л ась ост­р ая необ­хо­д и­м ость где-то хранить эти ма­т е­риа­

ПЛАТЕ ЗА GOOGLE MAPS

лы, а так­же со­об­щать о том, что они ви­д ят. Вот мы и соз­да­ли пер­вую вер­сию Ushahidi [в пе­ре­ во­де с суа­хи­ли – «сви­де­тель»]. Она бы­ла сде­ ла­на за одни вы­ход­ные, и в ито­ге у нас поя­вил­ ся но­мер те ­ле­фо­на, на ко­то­рый мож ­но бы ­ло при­слать SMS с ин­фор­ма­ци­ей. Я и не пред­по­ ла­гал, что эта скром­ная по­пыт­ка во­зы­ме­ет та­ кой эф­фект. LXF: В том чис­ле и то, что MIT на­звал вас Гу­манистом го­да в 2010‑м? ДК: Это до сих пор сно­с ит мне мозг. Сро­ ду не счи­т ал се­б я гу­м анистом. Пря­м о бред ка­кой-то. LXF: Но для био­гра­фии — про­сто ши­кар­но. А как все это ста­ло техниче­­ски вы­полнимо? Вы ис­поль­зуе­те Google Maps и их API? ДК: Ну, глав­н ая за­с лу­г а Google Maps в том, что они дви­ну­ли идею карт в на­ род. Они бы­ли не пер­вы­ми, кто об­ве­ шал кар­ты дан­ны­ми, но ста ­ли са­мы­ми из­вест­ны­ми.

«По­зи­ция Google по­нят­ на: они смот­рят на саль­ до, это же ком­мер­ция.»

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

42  |  LXF162 Октябрь 2012


Дэ­вид Ко­биа

LXF: Есть же еще OpenStreetMap... ДК: Вер­н о, есть OpenStreetMap, и ту­д а-то мы и пе­р е­ш ли, по­с коль­к у у Google есть свои ог­р аничения. С оп­р е­д е­л ен­н о­г о уров­н я дост уп ока­з ы­в а­е т­с я плат­н ым, а от­к ры­ тое со­о б­щ е­с т­в о та­к ой под ­х од бе­с ит. Наш де­в из – «иметь пол­н ый доступ к ре­с ур­с у и не за­ви­сеть от че­го-то вне на­ше­го кон­тро­ля». Так что те­перь, вы­ка­тив соб­с т­вен­ные тэ­ги че­ рез OpenStreetMap, мы поль­зу­ем­ся им в пол­ ном объ­е­ме, не ог­ля­ды­ва­ясь ни на ка­кие кор­ по­р а­ц ии. Google, конеч­н о, хо­р о­ш ие ре­б я­т а, но всегда есть та­к ие ве­щ и, на ко­то­рые лю­д и реа­г и­ру­ю т бо­л езнен­н о. Мне по­зи­ц ия Google по­нят­на: они смот­рят на саль­до, это же ком­ мер­ц ия, и есть ак­ц ионеры, пе­р ед ко­т о­р ы­м и они несут от­вет­ст­вен­ность.

все­го спло­т ить на­род пе­ред ли­цом бед­с т­вия, когда все жа­ж ­д ут по­мочь. Ес­ли речь идет, ска­ жем, о вы­бо­рах, ак ­т и­ви­с тов бу­дет мень­ше – эмо­цио­наль­ная во­вле­чен­ность уже не та. Есть так на ­з ы­в ае­м ое пра­в и ­л о 1‑9‑90: 1  % лю­д ей соз­д а­е т кон­т ент, 9 % – что-то иногда до­бав­ля­ют, а все осталь­ные про­с то смот­рят. В кри­зис­ных си­т уа­ци­я х это со­от­но­шение ме­ ня­ет­ся. От­к ли­ка­ют­ся мно­г ие лю­ди: «Я бы хо­ тел(а) по­мочь – ска­жи­те, в чем». Ну и, кро­ме кри­зи­сов, есть еще на­блю­дение за хо­дом вы­бо­ров. Кто-то ис­поль­зу­ет про­ект в об­ра­зо­в а­тель­ных це­лях, а кто-то и для бо­ лее занима­т ель­ных ве­щ ей: со­с тав­л яя кар­т ы пре­ступ­но­сти или вы­бо­ин на лон­дон­ских ули­ цах, или на­блю­дая за мас­со­вы­ми со­кра­щения­ ми в Лид­се.

LXF: При­ме­ня­ли ли поль­зо­ва­те­ли про­ект к дру­гим ви­дам ин­фор­ма­ции? ДК: Во­о б­щ е-то глав­н ое его при­м енение – на слу­чай про­ис­ше­ст­вий и кри­ти­че­­ских си­т уа­ ций, то есть там, от­к у­да мы на­ча­ли. Ведь про­ще

LXF: Как в мэ­рии Лид­са в Анг­лии? ДК: Да, по-мо­е му, это сде ­л а ­л а га ­з е­т а The Guardian. По­л у­чи­лось до­воль­но ин­те­рес­ но. Вро­де бы у них бы­ла да­же кар­та за­бас­то­вок в мет­ро. А здесь, в США, нечто по­доб­ное соз­

да­ла во вре­мя сильней­шей снеж­ной бу­ри вро­ де бы Chicago Tribune. LXF: Но в этом и пре­лесть от­кры­тых плат­ форм. Вы соз­дае­те про­ект для сво­их це­лей где-нибудь в Кении, а его бе­рут и при­ме­ня­ет со­вер­шен­но в дру­гом мес­те и со­всем ина­че. ДК: Это и есть от­кры­тость, это и за­ме­ча­тель­но. И оз­на­ча­ет, что мы на пра­виль­ном пу­ти. LXF: Лег­ко ли соз­дать соб­ст­вен­ный про­ект, при­менив Ushahidi? Он уст­ро­ен по прин­ци­пу групп или со­об­ществ, как Google Plus? ДК: Мы обыч­но го­во­рим, что Ushahidi – это ре­ шение лишь на 10  %. Не­ко­то­рые по­ла­га­ют, что сто­ит сде­лать сайт – и у него тут же возникнет ау­ди­то­рия, а на са­мом де­ле здесь есть над чем по­ра­бо­тать, по­сколь­к у нуж­но обес­пе­чить ох­ ват: тре­бу­ет­ся обу­чение об­ра­щению с кар­та­ми и про­вер­ка досто­вер­но­с ти по­с ту­паю­ще­го ма­ те­риа­ла... конеч­но, это за­да­ча для це­лой груп­ пы. Не то что один тип си­д ит пе­ред мощ­ным таб­ло и ждет, по­ка поя­вит­ся ин­фор­ма­ция.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 43


Дэ­вид Ко­биа Что ка­с а­е т­с я техниче­­с кой ба ­з ы, то здесь и ска­зать: «Ага, это на уг­лу та­кой-то ули­цы в Портмы всегда рав­н я­л ись на WordPress. Это один о-Пренсе». А за­т ем пе­р е­д ать эту ин­ф ор­м а­ц ию из по­п у­л ярней­ш их от ­к ры ­т ых про­д ук ­т ов в дан­ служ­бам спа­сения, что­бы они как мож­но ско­рее ной сфе­ре. И по мо­им ощу­щениям, мы сей­час где- ту­да до­б­ра­лись. то на од­ном уровне, все идет непло­хо, но мно­гим С дру ­г ой сто­р о­н ы, уди­в и ­т ель­н о бы ­л о са­м о по­ка слож­но­ва­то осво­ить­ся. По­это­му мы ре­ши­ли то, что мы по­лу­ча­ли всю эту ин­фор­ма­цию, на­хо­ за­п устить про­ект Crowdmap. Это ОБ ОБЛАЧНОМ ЖАРГОНЕ сво­е го ро­д а об­л ач­н ый Ushahidi. Вы т у­д а за ­х о­д и ­т е, соз­д ае­т е свой суб­д о­м ен, ска ­жем, andrew. crowdmap.com, и бу­к­валь­но че­рез па­ру ми­нут у вас бу­дет соб­с т­вен­ ная ра­бо­чая вер­сия Ushahidi. Это удоб­но, что­бы при­влечь доста­точ­ ное чис­ло поль­зо­ва­те­лей. По­том, ес­ли за ­хо­т и­те, дясь в бе­ре­го­вой ох­ране США, на­но­си­ли ее на кар­ мо­же­те пе­рей­ти на свой сер­вер, он же бес­плат­ный ты, что­бы где-то вда­ли ее ис­поль­зо­ва­ли на де­ле. для ска­чи­вания. И для всех это был ко­лоссаль­ный труд. Но глав­ное, что мож­но при­влечь к по­мо­щи лю­ LXF: На OSCON в этом го­ду бы­ло мно­го та­ко­го: дей, уда­лен­ных от мес­та со­бы­тий. Вот что зна­чит все так или ина­че рвут­ся в об­ла­ка. вир­т у­а ль­но на ­хо­дить­ся «в пер­вом ря­д у», на­блю­ ДК: Знае­т е, сло­в о «об­л ач­н ый» уже сдела ­л ось дая за со­бы­тия­ми ми­ро­вой аре­ны. штам­пом. LXF: И мно­го по­тре­бо­ва­лось вре­мени, чтоб пе­ре­ LXF: Да оно во­об­ще ниче­го не зна­чит! вес­ти все это с кре­оль­ско­го на анг­лий­ский? ДК: За­т о удоб­н о тем, кто не хо­ч ет ниче­г о объ­ ДК: Сна­ча ­ла, когда они толь­ко на­ча ­ли по­сту­пать, яс­нять тол­ком. Мне лич­но это сло­во не нра­вит­ мы ужас­ну­лись: «Черт! Не­у ­же­ли в ми­ре не все еще ся, но иногда про­сто удоб­но бывает воз­деть ру­ки го­во­рят на анг­лий­с ком?» Но по­т ом оты­с ка ­лись к небу и за­го­во­рить про «об­ла­ко». та­к ие ре­бя­т а – Crowdflower – не знаю, как точ­но их опи­сать, но то­же про­ект со­об­ще­ст­ва. И вме­сте LXF: А вы ви­де­ли про­ект, в Нью-Йор­ке, ка­жет­ся, с ними мы соз­да­ли про­стей­шую плат­фор­му – са­ где со­ста­ви­ли кар­т у цен на Budweiser? мую эле­мен­тар­ную, толь­ко для пе­ре­во­д а с од­но­ ДК: Нет, мне он не по­п а­д ал­с я. А что, це­н ы го язы­к а на дру­гой и об­рат­но. Не знаю, сколь­ко на Budweiser так силь­но от­ли­ча­ют­ся, что есть та­ гаи­тян тогда под­к лю­чи­лось, что­бы по­мочь. В ка­ кая необ­хо­ди­мость? кой-то мо­мент нам при­шлось скрыть от пе­ре­вод­ чи­ков но­м е­р а те­л е­ф о­н ов, с ко­т о­р ых по­с ту­п а ­ли LXF: Да нет, все­го на па­ру цен­тов. По-мо­ему, это со­о б­щ ения: они принима ­ли это че­р ес­ч ур близ­ был про­ект чис­то по со­сед­ст­ву. ко к серд­ц у. Они хо­те­ли тут же пе­ре­звонить то­му ДК: Лю­бит на­род свое пи­во. че ­ло­ве­к у, что­бы ска ­з ать, что по­мощь уже идет, а это­го от них уже не тре­бо­ва­лось. LXF: Ну и им про­сто нра­вит­ся с та­ким во­зить­ся. Ис­поль­зо­вал­ся ли Ushahidi во вре­мя зем­ле­тря­ сения на Гаи­ти? ДК: Ве­ро­я т­но, на Гаи ­т и Ushahidi при­го­дил­с я как никогда. Ме­ж ­д у событиями на Гаи­ти и вы­бо­ра­ми в Кении шла боль­шая ра­бо­т а над про­г рамм­ным обес­пе­чением, поя­ви­лось мно­го идей на­счет его функ­циониро­вания. Гаи­ти во мно­гом под­твер­дил для нас пра­виль­ность на­ше­го пу­ти, в том, что воз­ мож­но ор­г анизо­вать со­вме­с т­ные уси­лия для та­ ко­го мас­штаб­но­го про­ек­та. Но к та­ко­му не под­го­ то­вишь­ся. Тогда бы­ло за­дей­с т­во­ва­но мно­же­с т­во групп, вклю­чая и Ushahidi. Мы ра­б о­т а ­л и в связ­к е с ме­с т ­н ой те ­л е­ф он­ ной ком­п анией – был соз­д ан спе­ц и­а ль­н ый но­ мер, на ко­то­рый лю­бой мог от­пра­вить имею­щ ую­ ся у него ин­фор­ма­цию, и че­рез на­шу про­грам­му про­ш ло по­р яд­к а 45  000 тек­с то­в ых со­о б­щ ений. Та­к их как «нуж ­н а во­д а» или про­с то «за­с тря ­л и под за­ва ­ла­ми». При­чем все это мы по­л у ­ч а ­ли на кре­о ль­с ком, и по­на­до­би­лось сроч­но при­в лечь ме­с т­ных жи­те­ лей к пе­ре­во­д у. Гаи ­т ян по­про­си ­ли соз ­д ать ка­к ую-нибудь сис­ те­му бы­с т­ро­го про­смот­ра и пе­ре­во­д а этих со­об­ щений, что­бы по кар­те мог­ли со­ри­ен ­т и­ро­в ать­с я

LXF: А без Open Source вы бы спра­ви­лись, как вы ду­мае­те? ДК: Ду­маю, что нет, по­сколь­к у, во-пер­вых, у ка­ж­ до­го свой под­ход к лю­бой тех­но­ло­гии. До­пустим, при ре­шении во­про­сов безо­пас­но­сти – они всегда ак ­т у­а ль­ны – с хранением или пе­ре­да­чей ин­фор­ма­ ции, как все это де­ла­ет­ся. Но са­м о знание ле­ж ит вы­ ше и помимо технологиче­с кой стороны. Необходимо делить­ ся собственным опытом, чтобы он послужил и другим. Так что от­ крытым должно быть не только ПО, но и знание в целом. Посколь­ ку тогда мы сможем передать то, что накопле­ но нами за эти 3‑4 года, чтобы люди могли этим пользоваться... мы сразу приняли решение, что вовсе не обязательно всем проходить тот же путь с самого начала, сталкиваясь с проблема­ ми, уже нами ре­шен­ны­ми. И это не толь­ко тех­но­ ло­г и­ч е­­с кий ком­п онент; знание намного важнее технологий.

«Мне это сло­во не нра­вит­ся, но иногда удоб­но бывает за­го­во­рить про “об­ла­ко”.»

LXF: Вер­но. Су­ще­ст­ву­ют и за­кры­тые блог-плат­фор­мы, и кар­ты, но все за­ви­сит от ду­ха про­ек­та. ДК: К сло­ву, о кар­тах: когда слу­чи­лось зем­ле­тря­ сение, ни на OpenStreetMap, ни на Google не бы­ло ниче­го о Гаи­ти. Раз­ве что основ­ные до­ро­ги, и ника­ ких ори­ен­ти­ров, и был слу­чай, когда лю­дей на­пра­ ви­ли на мост, ко­то­ро­го во­об­ще не су­ще­с т­во­ва ­ло. Бы­с т­ро и опе­ра­тив­но пре­доста­вить ин­фор­ма­цию смог­ло толь­ко со­об­ще­ст­во OpenStreetMaps. Та­кой же при­мер был в сек­то­ре Га­за, когда кар­ ты Google уста­ре­ли, а на OpenStreetMaps ре­бя­т а объ­е­х а ­л и ок ­р е­с т­н о­с ти и все об­н о­в и ­л и, по­к а­ зав, до­пустим, что в дан­ном мес­те сто­ит ме­четь, а не цер­ковь. Вот что озна­чает мобильность Open Source.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

44  |  LXF162 Октябрь 2012


Дэ­вид Ко­биа

LXF: А вы всегда бы­ли сто­ронником сво­бод­ но­го ПО? ДК: До Ushahidi я ра­б о­т ал в обыч­н ой ком­ пании и никогда не пи­с ал код для от­к ры­ тых со­о б­щ еств. И ме­н я никто не на­д о­у мил об этой идее... Конеч­но, я ис­поль­зо­в ал Open Source – все это когда-нибудь де­ла­ют, – Drupal, WordPress, Joomla и т. д. – неко­то­рые про­ек­ты уже вполне зре­л ые. Ты с ними ра­б о­т а­е шь, но не за­д у­мы­ва­ешь­ся, сколь­ко тру­да ОБ в них вло­же­н о. Так что я был про­ сто одним из тех, кто гры­зет гранит нуд­н ых про­г рамм. Когда я при­с ту­ пил к ра­бо­т е над Ushahidi, ко­то­рый стал от­к ры­т ым, идея о пре­д остав­ лении бес­п лат­но­г о ПО у ме­ня в го­ ло­ве не ук­ла­ды­ва­лась. Ес­ли ты при­ шел с той сто­р о­н ы, где сло­в а «про­г рам­м а» и «бес­п лат ­н о» и ря­д ом не сто­я т, при ­хо­д ит­ ся во мно­гом пе­ре­у чи­в ать­с я. А те­перь я уже и пред­ста­вить не мо­г у, что бы­ва­ет по-дру­го­му.

«От­кры­тое» мыш­ление – это... да­же слов тут не мо­г у по­доб­рать. Это об­раз жизни. LXF: Сколь­ко лю­дей сей­час в про­ек­те? ДК: Нас 18, и жи­вем мы при­м ер­но в де­вя­т и ча­с о­вых поя­с ах. На­чи­н ая от Сан-Фран­ц и­с ко и шта­т а Ва­ш инг ­т он на за­п а ­д е до Ок ­л ен­д а в Но­в ой Зе­л ан­д ии, и боль­ш ая тол­п а в Ке­ нии. Один па­рень – из Юж­ной Ко­реи, ну и все

ОТКРЫТОСТИ ПО

LXF: И как, по­лу­ча­ет­ся? ДК: В об­щ ем, да. Так что по понедельникам у нас об­щ ее со­б ­р ание по Ushahidi, а за­т ем по вторникам еще на ча­сок встре­ча­ем­ся толь­ ко с со­трудника­ми тех­под­держ­ки. По­лу­ча­ет­ся непло­хо, спа­си­бо Skype. LXF: Как вы ду­мае­те, в ка­ких сфе­рах Ushahidi бу­дет наи­бо­лее востре­бо­ван? Где он смо­жет из­менить мир? ДК: Его ис­поль­зу­ют в неболь­ших го­ ро­д ах... мы ста­ра­ем­с я раз­ви­вать это на­прав­ление. Мно­же­с т­во мел­к их го­ ро­дов его ис­поль ­зу ­ют. Мне ка ­жет­с я, имен­но они – на­ш а целевая аудито­ рия. Про­с то что­бы лю­д ям бы­ло про­ ще «досту­чать­ся» до ме­с т­ной мэ­рии, что­бы ска­зать: «Эй, здесь све­то­фор не ра­бо­та­ ет», или про вы­бои­ны на до­ро­гах, или про ну­ ж ­д ы здра­во­охранения. Ду ­м аю, это бы ­л о бы здо­ро­во. |

«“От­кры­тое” мыш­ление – слов тут не по­доб­рать. Это об­раз жизни.» осталь­ные где-то ме­ж ­д у ними. Так что пла­ нер­к и по понедельникам про­в о­д ить непро­ сто: у ме­ня 10 ут­ра, в Но­вой Зе­лан­дии уже 2, а где-то еще – 6 ве­че­ра.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 45


Ве­ли­кие спо­ры Linux По­че­му в ми­ре Linux пылают столь стра­ст­ные спо­ры? От­ку­да они на­ча­лись и что они оз­на­ча­ют? Майк Сон­дерс на­тя­ги­ва­ет ас­бе­сто­вые шта­ны...

К

а­ко­го бы мнения вы ни при­дер­жи­ ва­лись по лю­бо­м у во­про­су, в Ин­ тернет вы всегда най­де­те же­лаю­ ще­го с ва­ми по­спо­рить. Бес­крайние про­с то­ры Ин­тернета, с его чатру­ма­ми, сер­ве­ра­ми NNTP и спи­ска­ми рас­сыл­ ки, слу ­ж ат по­ли­го­ном для бур­ля­щ их спо­ров с сот­ня­ми спо­рщи­ков, а когда в эту смесь при­ но­сишь тех­но­ло­гию, все это ста­но­вит­ся уг­ро­ жаю­щим. Во­век не угаснет пламя ста­рых раз­ до­ров: зай­ди­те ку­да сле­ду­ет, и вы най­де­те там тех, кто до сих пор вы­яс­ня­ет, что же все-та­ки

бы­л о «под ­л ин­н о» клас­с и­ч е­­с ким 8‑бит­н ым ком­пь­ю­те­ром – ZX Spectrum или C64. В ми­ре Linux то­же ки­пят нешу ­точ­ные стра­ сти, од­н а­к о они все же несколь­к о бо­л ее обосно­ван­ны и об­д у ­ман­ны (ну, как пра­ви ­ло). Боль­шин­ст­во из них ухо­дит кор­ня­ми в ис­к лю­ чи­т ель­н о по­л и­т и­з и­р о­в ан­н ую при­р о­д у дви­ жения сво­б од­н о­г о ПО – здесь де­л о в ку­д а боль­ш ем, чем про­с то би­т ы и бай­т ы. Мно­г ие по­ла­га­ют, что, под­дер­жи­вая и от­стаи­вая опре­ де­л ен­н ую опе­р а­ц и­о н­н ую сис­т е­м у или про­ грам­му, они по­мо­га­ют сде­лать мир луч­ше. И,

воз­мож­но, так оно и есть, но в ре­зуль­та­те все ока­зы­ва­ют­ся осо­бо взвин­че­ны. Однако нам из­вест­но, что мно­же­с т­во поль­ зо­в а­т е­л ей – лю­б и­т е­л ей Linux не об­л а­д а­ю т доста­точ­ным до­су­гом, что­бы вникать в де­т а­ ли в этих де­ба­тах, и счи­та­ют неко­то­рые из них до­в оль­н о стран­н ы­м и. По­э то­м у мы ре­ш и­л и взять са­м ые жи­в о­т ре­п е­щ у­щ ие те­м ы и до­б ­ рать­ся до су­ти спо­ра. Мы хо­тим о­светить обе сто­ро­ны, что­бы вы смог­ли вынести соб­с т­вен­ ное су­ж ­дение, осно­вы­ва­ясь на го­лых фак­тах, без вся­ко­го дра­ма­тиз­ма. Что ж, начнем...

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

46  |  LXF162 Октябрь 2012


Ве­ли­кие спо­ры Linux

KDE vs Gnome Два ра­бо­чих сто­ла с диа­мет­раль­но раз­ным про­ис­хо­ж­дением.

С

по­р ы во­к руг те­м ы KDE про­т ив Gnome ныне кон­цен­т ри­ру­ю т­с я ис­к лю­чи­т ель­но на техниче­­ских во­про­сах: на­при­мер, ка­ кая сре­да ра­бо­че­го сто­ла про­ще в ис­поль­зо­вании, или в ка­кой боль­ше функ­ц ий. Но рань­ш е, в на­ ча­ле 1990‑х, си­т уа­ция бы­ла ку­д а сложнее. Когда объ­я­в и­л и о вы­хо­д е KDE в 1996 го­д у, мир Linux уже не пер­в ый год ждал по­я в­л ения пол­н о­ц ен­ ного ин­тег­ри­ро­ван­но­го ра­бо­че­го сто­ла. Конеч­но, бы ­л и у нас раз­н ые при­я т ­н ые менед ­ж е­р ы окон и про­грам­мы, но в плане ин­те­гра­ции все это бы­ло несколь­ко неук ­лю­же. KDE воз­на­ме­рил­ся это ис­ пра­вить – и осча­ст­ли­вил мно­гих. Но для мно­г их по­тен­ци­а ль­ных поль­зо­ва­те­лей поя­ви­лась ог­ром­ная про­бле­ма, а имен­но – вы­бор гра­фи­че­­ско­­го на­бо­ра ин­ст­ру­мен­тов. Ко­ман­да KDE ре­ши­ла ис­поль­зо­вать Qt, пре­достав­ляв­ший ши­ро­ кий вы­бор функ­ций, но так­же и отя­го­щен­ный вся­ че­­с ки­­ми ли­ц ен­зи­он­ны­ми осложнения­ми (что­бы пи­сать про­прие­тар­ные про­грам­мы, раз­ра­бот­чи­ки долж­ны бы­ли при­об­ре­с ти ком­мер­че­скую ли­цен­ зию). С са­мо­го на­ча­ла KDE стал воспринимать­ся как про­ти­во­ре­чи­вый про­ект, не в пол­ной ме­ре от­ ве­чаю­щий ду­х у сво­бод­но­го ПО. Сле­д ом, у же че­р ез год, поя­в ил­с я про­е кт Gnome – и он был соз­дан на GTK, пол­но­стью сво­

бод­ном ин­с т ­ру ­мен ­т а­рии. Но в то вре­ мя как ко­м ан­д а KDE пи­с а­л а все с ну­ ля, раз­р а­б от ­чи­к и Gnome в неко­т о­р ом смыс­ле спе­ши­ли вы­пустить кон­к у­рен­ то­с по­с об­н ый ре­л из 1.0, и за­н о­в о ис­ поль ­з о­в а ­л и уже су ­щ е­с т­в ую­щ ие про­ грам­м ы, та­к ие, как менед­ж ер окон Enlightenment. Од­на­ко KDE 1.0 и по ви­ ду, и по ощу­щению был на­мно­го от­ла­ женнее и за­вер­шеннее. Итак, с са­мо­го на­ча ­ла име­лись по­ ли­ти­че­­ские раз­но­гла­сия, а за­тем – раз­ ница в техниче­­ском ка­че­­ст­ве. Позднее, когда Qt вы­ш ла под ли­ц ен­зи­е й LGPL, пер­в ая про­б ле­м а бы­л а сня­т а, и с той > Gnome 1.0 вы­гля­дел сы­ро­ва­то, но был «сво­бод­ной» аль­тер­ поры спор со­с ре­д о­т о­ч ил­с я на функ­ на­ти­вой KDE. ци­я х. В об­щ ем и це­л ом, KDE счи­т а­ю т бо­л ее слож­н ым и тре­б о­в а­т ель­н ым, пре­д остав­ Недавние крупные реформы сре­д ра­бо­че­го сто­ ляю­щим ко­лоссаль­ный вы­бор функ­ций и воз­мож­ ла под ­ли­ли мас­ла в огонь. Поль­зо­ва­те­ли Gnome но­с тей на­с трой­к и, но несколь­ко пу ­г аю­щ им для глу ­ми ­лись над по­пыт­к а­ми KDE 4 пре­об­ра­зо­в ать но­в ых поль­з о­в а­т е­л ей. Gnome же, на­о бо­р от, ог­ ра­бо­чий стол, по­х ва ­ля­ясь ста­биль­но­с тью се­рии раничи­в а­е т уро­вень кон­т ро­ля со сто­ро­ны поль­ Gnome 2.x. А спустя па­ру лет са­ми попали в то же зо­ва­те­ля, что бла­го­при­ят­с т­ву­ет на­ра­бот­ке опы­та по­ло­жение, когда Gnome 3 вы­шел в со­вер­шен­но по­сто­ян­ной ра­бо­ты с ма­ши­ной, но от­час­ти раз­оча­ непри­выч­ном виде. Мно­гие поль­зо­ва­те­ли в те тя­ ро­вы­ва­ет тех поль­зо­ва­те­лей, ко­то­рые лю­бят под­ же­лые вре­ме­на с­мени­ли по­зи­ции, и те­перь пи­та­ вер­гать все ин­ди­ви­д у­а ль­ной на­строй­ке. ют сер­деч­ную при­вя­зан­ность к быв­шим вра­гам...

Linux vs FreeBSD Ка­кая сис­те­ма яв­ля­ет­ся луч­шей от­кры­той Unix-по­доб­ной ОС?

В

ы, ве­р о­я т ­н о, слы­ш а ­л и о FreeBSD, осо­ бен­но ес ­ли вра­щ ае­тесь в ми­ре Linux уже несколь­ко лет. У нее мно­го об­ще­го с Linux: это Unix-по­доб­ная опе­ра­ци­он­ная сис­те­ма с от­кры­ тым ко­дом, раз­ра­ба­ты­вае­мая со­об­ще­с т­вом и ра­ бо­таю­щая с KDE, Firefox, LibreOffice, Apache, MySQL и прак ­ти­че­­ски с лю­бы­ми дру­ги­ми основ­ны­ми про­ грам­ма­ми Linux, ко­то­рые толь­ко на ум взбре­д ут. Во мно­г их си ­т уа­ц и­я х она слу ­ж ит пря­мой за­ме­ ной Linux, и боль­шин­с т ­во на­вы­ков, по­л у ­чен­ных в Linux, при­менимы и ко FreeBSD. Тем не менее, не ути­х а­ю т спо­ры о том, ко­т о­ рая же ОС луч­ше. Что­бы ра­зо­брать­ся в этом, нам при­дет­с я немно­го уг­л у ­бить­с я в ис ­то­рию. Корни FreeBSD ухо­д ят в BSD Unix, ОС, раз­р а­б о­т ан­н ую в кон­ц е 1970‑х в университет­­ских кру­г ах. Су­ ще­с т­во­в а ­л о нема ­л о от­ветв­лений BSD, и са­мым мно­го­обе­щаю­щим из них ока­за ­лась поя­вив­шая­ся в 1993 го­д у FreeBSD для ПК x86. Он обес­п е­ч и­ вала со­лид­н ую, хо­ро­шо про­тес­т и­ро­в ан­н ую пол­ но­цен­ную осно­ву Unix для по­тре­би­тель­ских ком­

пь­ю­те­ров, тогда как Linux счи­тал­ся еще незре­лым по при­чине сво­ей но­виз­ны. К несча­с тью, ранней про­бле­мой FreeBSD стал пре­сло­ву ­тый ка­мень пре­ ткно­вения, когда дер­ж а­те ­ли ав­тор­с ких прав ко­ да Unix круп­но по­ссо­ри­лись со ста­рой ко­ман­дой BSD. Это все бы­ло очень за­пу­тан­но и слож­но, и от­ пуг­н у­л о нема ­л о по­т ен­ц и­а ль­н ых раз­р а­б от­ч и­ков от ра­бо­т ы над FreeBSD – они пе­ре­к лю­чи­ли свое внимание на Linux. Ко­ман­де FreeBSD при­шлось пе­ ре­пи­сать боль­шую часть ко­да, од­на­ко на это уш­ло несколь­ко лет, и они упусти­ли бес­цен­ное вре­мя. Се­го­дня основ­ны­ми ис­точника­ми раз­но­гла­сий ме­ж ­д у сто­ронника­ми Linux и FreeBSD яв­ля­ю т­с я ме­то­ды раз­ра­бот­ки и ли­цен­зия. Что ка­са­ет­ся пер­ во­го, здесь ко­ман­да FreeBSD на­мно­го спло­ченнее и кон­с ер­в а­т ивнее, и принима­е т но­вые функ­ц ии толь­ко по­с ле их тща­тель­но­го тес ­т и­ро­вания. Ис­ ход­ный код для всей ОС под­дер­жи­ва­ет­ся еди­ным дре­вом – в про­ти­во­по­лож­ность Linux, чей под­ход к но­вым функ­ци­ям и под­держ­ке обо­ру­до­вания – су­щ ий «ди­к ий За­пад», как и то, что ОС раз­ра­ба­

ты­ва­ет­ся от­дель­ны­ми груп­па­ми (од­на для яд­ра, од­на для биб­ лио­те­ки С, и т. д.). Ли­ц ен­з ия BSD, по су ­ти, го­во­рит сле­ дую­щее: «Де­лай­те с ко­дом все, что вам за­бла­го­рас­су­ дит­ся, но не за­яв­ляй­те, что это вы его на­пи­са­ли (то есть со­х ра­н яй ­т е ува ­ж ение к ори­ ги­н аль­н ым ав­т ор­с ким пра­в ам). Это, безуслов­ но, на­мно­го бо­лее сво­бод­ный под­ход, чем прак­ ти­к уе­м ый в GPL, ко­т о­р ая при­м е­н я­е т­с я в Linux, но это не ук ­ре­п ­ля­е т сво­бо­д у – из ко­д а FreeBSD воз­мож­но соз­д ать про­прие­т ар­ный про­д укт. Так что те, ко­то­рые счи­та­ют сво­бод­ное ПО по­ли­ти­че­ ­с ким дви­жением, скло­ня­ют­с я к ис­поль­зо­в анию Linux и GPL, а те, кто рас­смат­ри­ва­ет все это с су­ гу­бо прак ­ти­че­­ской точ­ки зрения, раз­во­ра­чи­ва­ет­ся в сто­ро­ну ли­цен­зии BSD и FreeBSD.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 47


Ве­ли­кие спо­ры Linux

Linux vs GNU/Linux Что в имени те­бе мо­ем? – да по­хо­же, вся ис­то­рия на­ше­го фа­во­ри­та.

С

пе­р ио­д ич­н о­с тью в несколь­к о ме­ ся­ц ев мы в LXF по­л у­ч а­е м сер­д и­ тые пись­м а с жа­л о­б а­м и на неупот­ реб­ление в на­шем жур­на ­ле пол­но­го на­звания Linux – то бишь GNU/Linux. Та же те­м а пе­ рио­д и­че­­с ки всплы­в а­ет на фо­ру ­мах LXF или в TuxRadar. И знае­те что? В этом есть свой ре­ зон. С точ­ки зрения жур­на­ла, мы бы ска­за­ли, что он недоста­точ­но си­лен как при­чи­на ме­нять наш спо­соб пи­сать про наш основ­ной пред­мет, но за эти­ми воз­ра­жения­ми сто­и т нечто важ­ ное – и боль­шее, чем про­стая пе­дан­тич­ность. Это – во­п рос ис­т о­р и­ч е­­с кой пер­с пек ­т и­в ы, и нам сле­д у­ет вер­нуть­ся в 1983 год. В это вре­ мя нек­то Ри­чард Стол­лмен [Richard Stallman] осно­в ал про­е кт GNU с вы­с о­кой це­л ью соз­ дания со­вер­шен­но сво­бод­ной (в смыс­ле сво­ бо­ды де­лить­ся ко­дом и мо­ди­фи­ци­ро­вать его) Unix-по­доб­ной опе­ра­ци­он­ной сис­те­мы. То, что за этим по­сле­до­ва ­ло, вы­зы­ва­ет са­мые го­ря­чие спо­ры, и вот ар­г у­мен­ты обе­их сто­рон: Сто­ронник GNU: «На­чи­ная с 1983 го­д а, раз­ ра­бот­чи­ки GNU тру­ди­лись над соз­данием пол­ ной опе­р а­ц и­о н­н ой сис­т е­м ы, яв­л яю­щ ей­с я за­ме­ной прак ­т и­че­­с ки всем ком­понен­т ам ти­ пич­ной сис­те­мы Unix. К 1991 го­д у они поч­т и за­кон­чи­ли свою ра­бо­т у, им толь­ко не хва­тало

яд­ра. Фин­с кий сту­дент по имени Ли­н ус Тор­ вальдс [Linus Torvalds] на­пи­сал яд­ро, ко­то­рое по­до­шло к на­ра­бот­кам GNU, и, при­ло­жив еще немно­го уси­лий, мы за­вер­ши­ли опе­ра­ци­он­ную сис­те­му – GNU/Linux». Сто­ронник Linux: «На­чи­ная с 1983 го­да, раз­ ра­бот­чи­к и GNU тру­ди­лись над соз­д анием за­ мен раз­н ых час­т ей сис­т е­м ы Unix, но бра­л и нема­л ую часть го­то­во­го ко­д а из дру­г их про­ ек ­тов. Они про­де­ла ­ли неплохую ра­бо­т у, но ни­ когда тол­ком не кон­цен­три­ро­ва ­лись на са­мом важ­ном – на яд­ре. Итак, к 1991 го­д у у них хва­ та­ло по­лез­но­го ко­да в раз­ных про­ек­тах, но все это ста­ло нор­маль­ной ОС не рань­ше, чем Ли­ нус вы­пустил свое яд­ро».

«Система Linux – не про­ сто ком­би­на­ция фраг­ мен­тов GNU и Linux.» Ис ­т и­н а, как во­д ит­с я, ле­ж ит по­с е­р е­д ине. У Стол­лме­на был кон­крет­ный план, и он не по­ кла­д ая рук тру­д ил­с я, что­бы про­е кт GNU на­ конец за­р а­б о­т ал. Ранние вер­с ии то­г о, что мы на­зы­ва­ем Linux (как цель­ная ОС), не поя­ ви­лись бы без про­ек­та GNU. Но нель­зя и ска­ зать, что в 1991 го­д у GNU был на 99 % го­тов и для его за­вер­шения недоста­ва ­ло кро­шеч­но­го яд­ра. Яд­ро – наи­бо­лее важ­ный ком­понент ОС и бе­рет на се­бя мас­су ра­бо­ты, что­бы все шло пра­виль­но.

Рас­про­странение сло­ва

> Ри­чард Стол­лмен под­дер­жи­ва­ет тер­мин GNU/Linux, но не контр­про­дук­тив­на ли его ра­бо­та?

Лю­д и ста ­ли обо ­зна­чать тер­ми­ном Linux всю опе­ра­ци­он­ную сис­те­му, и, по­нят­но, Столл­мен был несколь­ко оби­жен, что его про­ек­т у GNU пе­ре­па­д а­ло ма­ло чес­ти – вот он и пред­ло­жил на­звание “GNU / Linux”. Но это бы­ло не про­сто при­вле­чение внимания. И ес­ли Ли­нус Тор­вальдс – лич­ность ис­к лю­ чи­тель­но праг­ма­тич­ная, и его ин­те­ре­су­ет лишь

За­кон Го­дви­на Глав­н ый ка­т а ­л и­з а­т о­р спо­р ов он­л айн – аноним­ ность и оби­л ие досуга у спо­р я­щ их. Ес­л и лю­д и могут скрыть свои лич­но­с ти и по­свя­тить во­семь, а то и боль­ш е ча­с ов пла­м ен­н ым спо­р ам, да­же са­мая невин­ная те­ма – ну, скажем, «Мои котятки» – способна пре­вра­тить­ся в жуткий ша­баш нена­вис­ти. При­чем су­ще­с т­ву­ет весь­ма ин­те­рес­ный фе­но­ мен: чем ожес­то­ченнее спор и чем даль­ше он ухо­

воз­мож­ность соз­д ания по­лез­но­го ко­д а, ко­то­ рый мог бы улуч­шать ка­ж ­дый, Стол­лмен рас­ смат­р и­в ал сво­б од­н ое ПО как по­л и­т и­ч е­­с кое дви­жение, спо­соб сде­лать наш мир луч­ше. По­ это­му на ­ли­чие при­став­ки GNU ему бы­ло нуж­но не для уб­ла­жения сво­его эго. Нет, он хо­тел до­ ве­с ти до лю­д ей, что на са­м ом де­л е оз­н а­ч а­ ет GNU, по­че­му сво­бо­д а ПО так важ­на и по­че­ му мы долж­ны об­ра­щ ать внимание не толь­ко на праг­ма­тич­ные про­бле­мы. Все это хо­ро­шо и ми­ло, но при­во­дит толь­ко к возник­но­вению дальней­ших спо­ров. На­при­ мер, со­вре­мен­ная сис­те­ма Linux – это не про­ сто ком­би­на­ция фраг­мен­тов GNU и Linux. Она вклю­ча­ет код из X Window System, Perl и мас­ с ы д ру­г и х пр о­е к ­т ов, не от ­н о­с ящихся к GNU. Принимая все это во вни­ мание, не следует ли нам име­н о­в ать сис­т е­м у GNU/X11/KDE/Perl/XBill/ Linux? Длин­но­ва­то... А как ре­шить, ка­к ие час­т и долж­ны вой­т и в «офи­ ци­а ль­ное» пол­ное на­звание? Для неко­то­рых гро­м ад­н ой важ­н о­с тью об­л а­д а­е т LibreOffice, по­с тро­е н­н ый на об­ш ир­н ой ко­д о­в ой ба­з е; не зву­чать ли ему, как GNU/LibreOffice/Linux? Но по­с той ­т е, ведь LibreOffice от­п оч­ко­в ал­с я от OpenOffice, ко­то­рый был StarOffice, так что... ну, вы по­ня­ли, ку­да нас это мо­жет за­вес­ти. Да ­же ес­ли оста­вить про­с то GNU/Linux, все рав­н о бу­д ет не слиш­ком кра­с и­в о. На ­д о от­ дать спра­вед ­ли­вость Стол­лме­ну, он по­пы­тал­ ся най­ти аль­тер­на­ти­ву в ви­де “Lignux”, но и это зву­чит не здо­ро­во. До­бавь­те сю­д а бес­чис­лен­ ные ва­ри­ан­ты про­из­но­шения это­го на­звания, и вы по­лу­чи­те пол­ный винег­рет. И все же ко­ман­д а GNU про­дол­жа­ет бо­роть­ ся за это на­звание, хо­тя они яв­но че­рес­чур но­ сят­с я с этой про­б ле­мой. У них на сай­те есть FAQ по по­во­д у на­име­но­вания GNU/Linux по ад­ ре­с у www.gnu.org/gnu/gnulinux-faq.html, но, как съязвил наш Эн­д рю Гре­г о­р и в под­к ас­т е TuxRadar, он длиннее, чем кон­сти­т у­ция США. GNU несет в се­б е важ­н ую идею сво­б о­д ы и воз­мож­но­сти де­лить­ся, но мно­гие по­ла­га­ют, что она мог­ла бы рас­про­стра­нять­ся ку­да бо­лее эф­ф ек ­т ив­н ы­м и спо­с о­б а­м и. На­п ри­м ер, сто­ ронники «пол­н о­г о» на­име­н о­в ания мог­ли бы не хны­к ать, что кто-то го­в о­р ит “Linux” вме­ сто “GNU/Linux”, а по­про­сить соз­да­те­лей ди­ст­ ри­бу ­ти­вов раз­мес­тить на сво­их сай­тах яр­к ую кноп­к у «Вы поль­зуе­тесь этим бла­го­д а­ря GNU [Brought to you by GNU]» со ссыл­кой на объ­ яснение ро­ли GNU в про­ек­те.

дит от пер­во­на­чаль­ной те­мы, тем сильнее ве­ро­ ят­н ость, что кто-то ко­г о-то об­з о­в ет фа­ш и­с том (а то и Гит­л е­р ом). Пер­в ым это за­м е­тил юрист и из­в ест­н ый все­м у Ин­т ернету от­л ич­ный па­р ень Майк Го­двин [Mike Godwin], от­сю­д а и на­звание – «за­кон». Уча­стники спо­ров час­тень­ко за­ранее упо­ ми­н а­ю т Го­д ви­н а, да­бы из­б е­ж ать возник­н о­вения ас­со­циа­ций с Треть­им рей­хом.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

48  |  LXF162 Октябрь 2012


Ве­ли­кие спо­ры Linux

RPM vs .deb Две сис­те­мы управ­ления па­ке­та­ми по цене од­ной.

В

се но­вые и но­вые изо­бре­тения ко­ле­са ста­ ли по­с то­ян­ной про­бле­мой в ми­ре ПО. За­ чем брать чей-то код, ес­ли мож­но на­пи­ сать соб­с т­вен­ный – вде­сятеро луч­ше? Час­тень­ко раз­ра­бот­чи­ки де­ла­ют что-то свое чис­то из гор­до­ сти, или по­то­м у желая уз­нать, как это ра­бо­т а­ет. Это хо­ро­шо, и никто не за­пре­щ ал про­бо­вать чтото но­вое, но в ито­ге это оз­на­ча­ет ог­ром­ное ко­ли­ че­­с т­во про­д уб­ли­ро­в ан­ных ре­зуль­т а­т ов. Имен­но

так и слу­чи­лось с сис­те­мой управ­ления па­ке­та­ми. Па­ке­ты от Debian .deb поя­ви­лись рань­ше, чем RPM (от Red Hat), и неко­то­рое вре­мя ме­ж ­д у ними су­ ще­ст­во­ва ­ла весь­ма по­лез­ная кон­к у­рен­ция. В ка ­ж ­д ой сис ­т е­м е бы ­ли свои пре­иму ­щ е­с т ­в а, но по­с те­п ен­н о они обе срав­н я­л ись. На­п ри­м ер, сто­ронники Debian про­х а ­ж и­в а ­лись на­с чет поль­ зо­ва­те­лей Red Hat – мол, в по­с леднем ди­с т­ри­бу­ ти­ве нету чу­дес apt-get. Но тут поя­ви­лись apt-rpm,

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

Emacs vs Vim Не про­сто тек­сто­вые ре­дак­то­ры, а об­раз жизни.

Е

с­ли вы по­ла­га­ли, что худ­шее – это вой­ны ра­бо­чих сто­лов, про­ведите-ка па­ру ча­сов в пы­лу де­ба­тов на те­му Emacs про­тив Vim. У этих ре­д ак­то­ров са­мые упер­тые фа­на­ты, ко­то­ рых только мож­но во­об­ра­зить. Тек­с то­вые ре­д ак­ то­ры вряд ли мож ­но счи ­т ать са­мой вол­н ую­щ ей те­м ой для стра­с т­ных спо­р ов, но ав­т о­ры и про­ грам­ми­с ты прак­ти­че­­ски жи­вут в них, про­во­д я за этим дол­гие ча­сы еже­днев­но. Поль­зо­ва­те­ли Emacs счи­та­ют сто­ронников Vim чок­н у ­т ы­м и, ко­т о­р ые за­у чи­в а­ю т уйму ду­р ац­к их со­че­т аний кла­виш и не мо­г ут ото­рвать­с я от ре­ дак ­то­ра, созданного для мо­дем­ных со­е динений

свы­ше 300 бод. Поль ­зо­в а­те ­ли Vim счи­т а­ют сто­ ронников Emacs чок­ну ­ты­ми, неспо­соб­ны­ми спра­ вить­ся с минима ­ли­с т­ским ре­д ак ­то­ром, ко­то­рым необ­хо­ди­мо вво­дить сме­хо­твор­но длин­ные ко­ман­ ды вро­де M-xpaste-paragraph для са­мых три­ви­а ль­ ных опе­ра­ций. Здесь так­же есть нечто от бит­вы Linux про­тив FreeBSD. Vi (на нем осно­ван Vim) раз­ра­бо­тал Бил­л Джо­й [Bill Joy], клю­че­вая фи­г у­ра в ис­то­рии BSD, а Emacs на­пи­сал Стол­лмен. Сто­ронники Vi обыч­но шу ­т или, что Emacs – со­к ра­щ енное “Eight Mega­ by ­tes And Constantly Swapping” – «Во­с емь ме­гов и спло­ш­ная под­кач­ка».

> Интернет пухнет от форумов, блогов и видео, пы­тающихся утвердить истинного короля редакторов.

И про­чие Тек­сто­вые ре­дак­то­ры, язы­ки про­грам­ми­ро­вания...

Л

ю­д и очень при­в я­з ы­в а­ю т­с я к ин­с т­р у­ мен­т ам, ко­то­ры­ми поль­зу­ют­с я. Иногда немно­го раз­дра­жа­ет, когда ви­дишь, как куч­к а оби ­т а­т е ­лей фо­ру ­м а спо­рит о том, где же луч­ше пи­сать ди­плом – в AbiWord или в LibreOffice (осо­бен­но когда зна­ешь, что иде­а ль­ным ре­шением яв­ля­ет­ся LaTeX), но зато сколь­ко эн­дор­фи­нов вы­ де­ля­ет­ся, ес­ли уда­ет­ся ко­го-то убе­дить! Язы­к и про­г рам­м и­р о­в ания то­ж е при­в о­д ят к весь­ма за­бав­ным пе­ре­пал­кам – уча­с тники вло­ жи­ли в них мно­го сил и вре­мени. На­при­мер, пред­ ставь­те се­бе, что вы по­тра­ти­ли де­сять лет на осво­ ение Python, и вдруг по­яв­ля­ет­ся ка­кой-то со­п­ляк и за ­яв ­ля­е т, что Ruby на­мно­го кру­че. И да­же ес­ ли техниче­­ски это прав­д а (мы здесь не принима­

ем ничью сто­ро­ну), как все же ужас­но ду­мать, что вы по­тра­ти­ли свое вре­мя не на тот язык, вер­но? А еще есть бо­язнь пе­ре­мен («Мне никогда не по­ на­д о­б ит­с я ниче­г о, кро­м е Slackware!»), за­м е­р ы моло­дечества в плане элек­троники («На мо­ем Arch Firefox за­пуска­ет­ся на 0,3 мс бы­ст­рее, чем на тво­ем Gentoo, так что все барышни – мои»), ну, и так да­ лее. Сколь­ко эле­мен­тов че­ло­ве­че­­ской пси­хо­ло­гии и по­ве­дения от­ра­жа­ет­ся в этих спо­рах! Ну, а что ждет нас в бу­д у­щем? Уже на­б лю­д а­ ются занима­тель­ные ба­та­лии ме­ж ­д у GCC и LLVM, осо­бен­но по ме­ре принятия LLVM неко­то­рыми ди­ ст­р и­бу ­т и­в ами как ком­п и­л я­т о­р а по умол­ч анию. Спо­р ы по по­в о­д у ра­б о­ч их сто­л ов те­п ерь идут в трех на­прав­лениях – но­вых сто­ронников на­би­ра­

ет Xfce, а ес­ли Wayland когда-нибудь поднимет­ся до за­ме­ны X Window System, то и тут мы ожидаем небе­зын­те­рес­ные бит­вы. Бу­дет ве­се­ло! |

Об­рат­ная связь А вы когда-нибудь уча­с т­во­ва­ли в по­доб­ном спо­ре? Вам уда ­л ось убе ­д ить ко­г о-то при­н ять ва­ш у точ­к у зрения с по­м о­щ ью взве­ш ен­н ых ар­г у­м ен­т ов? Или вы на ка­ж ­дом шагу при­ме­няе­те За­кон Го­дви­на? По­д е ­л и ­т есь с на ­м и свои­м и идея­м и по этой бес­конеч­ной те­ме, а так­же и о том, что, по ва­ше­м у мнению, вы­зо­вет са­мые ожив­лен­ные спо­ры в бу­д у­ щем, по ад­ре­су: lxf.letters@futurenet.com.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 49


CPU свои­ми ру­ка­ми

CPU свои­ми ру­ка­ми часть вто­рая

Еще два ком­по­нен­та элек­трон­но­го серд­ца ва­ше­го CPU: Джо­на­тан Ро­бертс под­во­дит вас на шаг бли­же к ра­бо­че­му про­цес­со­ру.

В

LXF158 мы по­ка­за­ли вам, как по­стро­

ить соб­с т­в ен­н ый ком­п ь­ю­т ер из ба­ зо­в ых элек ­т рон­н ых бло­к ов. По су ­т и, мы из­г о­т о­в и­л и дво­и ч­н ый сум­м а­т ор. Мы за­кон­чи­ли ста­тью, ска­зав, что соз­дан­ное на­ ми — это еще да­ле­ко не на­с тоя­щ ий ком­пь­ю­т ер, и вам нуж­ны еще несколь­ко ком­понен­тов, пре­ж­де чем ва­ша ма­ши­на смо­жет пре­тен­до­вать на звание ком­пь­ю­те­ра. В этой ста­тье мы рас­смот­рим дальней­шие ша­ ги и пред­с та­вим вам еще несколь­ко ком­п онен­ тов, про­д е­м он­с т­р и­р о­в ав, как рас­ш и­р ить воз­ мож­н о­с ти ва­ш е­г о сум­м а­т о­р а до вы­п олнения дру­гих дей­ст­вий (AND [И], XOR [ИСКЛ.ИЛИ] и NOT [ИЛИ]) и соз­д ать це­пи па­мя­ти для хранения вво­ да и вы­во­да. Пе­р ед чтением этой ста­т ьи вам сто­и т про­ честь пре­ды­ду­щую часть, что­бы осве­жить па­мять, по­сколь­к у мы ис­хо­дим из то­го, что вы с ней оз­ на­ком ­ле­ны. Ес ­ли у вас нет эк­зем­п ­ля­ра LXF158, вы смо­же­те най­ти PDF этой ста­тьи на дис­ке это­ го ме­ся­ца.

Как ви­ди­те, все очень про­с то. Ад­рес­ная линия раз­двое­на, и вход NOT раз­ме­щен на од­ном от­ветв­ лении это­г о раз ­д воения. Та­к им об­р а ­з ом, толь­ ко од­н а из этих линий пе­р е­д а­чи дан­ных мо­жет за один раз пе­ре­дать 1. A

D0

D1

0

1

0

1

0

1

Муль­ти­п­лек­со­ры Муль­т и­п­л ек­с ор по­д о­б ен де­ко­д е­ру, но спо­с о­б ен на боль­шее. Вме­с то вы­бо­ра ме­ж ­д у дву­мя линия­ ми пе­р е­д а­ч и дан­н ых, он ис­п оль ­з у­е т ад ­р ес­н ую линию для вы­бо­ра ме­ж ­д у дву­мя вхо­д а­ми, и вы­ бран­ная ве­ли­чи­на (0 или 1) бу­дет пе­ре­на­прав­ле­на на един­ст­вен­ную линию пе­ре­да­чи дан­ных.

Ли­ней­ный де­ко­дер 1-в-2

Его таб­ли­ца ис­тин­но­сти приведена ниже, а его схе­ му со­единений вы так­же мо­же­те уви­деть на рис. 1. На этой схе­ме вы ви­ди­те, что муль­ти­п­лек­сор – это про­сто рас­ши­рен­ный де­ко­дер. I1

I0

A

D

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

0

1

1

0

1

1

1

1

1

Муль­ти­п­лек­сор 2-в-1

Де­ко­дер Пер­вый ком­понент, ко­то­рый мы рас­смот­рим – это де­ко­дер, или, точнее, линей­ный де­ко­дер. Он очень прост, но очень удо­б ен в ра­б о­т е и сам по се­б е, и де­ко­д е­ры так ­же ис­п оль ­зу ­ю т­с я в муль­т и­п ­лек­ со­рах – что ис­к лю­чи­тель­но важ­но для осталь­ной час­ти на­шей ста­тьи. По су­ти, все де­ко­де­ры по­зво­ля­ют сде­лать вы­ бор из мно­же­ст­ва вы­хо­дов, ис­поль­зуя толь­ко по­ ло­ви­ну вхо­дов. Бо­лее кон­крет­но – при един­ст­вен­ ном вхо­де де­ко­дер по­зво­лит вам вы­би­рать ме­ж ­ду дву­мя вы­хо­д а­ми, два вхо­д а обес­пе­чат вам вы­бор из че­т ы­р ех вы ­хо­д ов, и т.  д. В слу ­ч ае де­ко­д е­р ов мы го­во­рим не о вхо­де и вы­хо­де, а об ад­рес­ной ли­ нии и линии пе­ре­да­чи дан­ных. Таб­ли­ца ис­тин­но­сти для про­сто­го линей­но­го де­ко­де­ра 1‑в-2 раз­ме­ще­ на ниже, а схе­ма со­единений при­ве­де­на на рис. 1.

> Рис. 1. На этой схе­ме вы ви­ди­те ли­ней­ный де­ко­дер 1-в-2 сле­ва и муль­ти­п­лек­сор 2-в-1 спра­ва. Ус­лов­ное обо­зна­че­ние ни­же — это встро­ен­ное пред­став­ле­ние KTechlab, где X0 и X1 — эк­ви­ва­лен­ты I0 и I1.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

50  |  LXF162 Октябрь 2012


CPU свои­ми ру­ка­ми

Де­ко­де­ры и муль­ти­п­лек­со­ры по­лез­ны, по­сколь­ ку по­зво­ля­ю т вы­би­р ать ме­ж ­д у раз­ны­ми оп­ц ия­ ми. Пол­ный сум­ма­тор, ко­то­рый мы сде­ла ­ли в про­ шлый раз, бу­дет ча­стью ариф­ме­ти­ко-ло­ги­че­­ско­­го уст­рой­ст­ва (АЛУ) ком­пь­ю­те­ра. В на­стоя­щем ком­ пь­ю­те­ре АЛУ то­же вы­пол­ня­ет мно­го дру­гих опе­ра­ ций, та­ких, как вы­чи­тание, ум­но­жение, ло­ги­че­­ские AND, OR и NOT – и имен­но муль­ти­п­лек­со­ры и де­ко­ де­ры по­зво­ля­ют нам де­лать вы­бор ме­ж ­д у раз­ны­ ми опе­ра­ция­ми.

Боль­ше ло­ги­ки Что­бы это про­де­мон­с т­ри­ро­вать, мы ском­биниру­ ем наш пол­ный сум­ма­тор с про­шло­го раза с дру­ ги­ми ло­ги­че­­ски­­ми схе­ма­ми (AND, OR и XOR), и ис­ поль­зу­ем муль­ти­п­лек­сор для ука­зания опе­ра­ций, ко­то­рые тре­бу­ет­ся вы­полнить. Пер­в ое, что нуж­н о сде­л ать – соз­д ать ло­г и­ че­скую схе­м у. Это про­с то, по­сколь­к у, что­бы вы­ полнить AND для двух дво­ич­ных чи­с ел, все, что вам нуж­н о сде­л ать – это со­е динить ка­ж ­д ый из пер­в ых би­т ов с вхо­д ом AND, вто­р ые би­т ы – с дру­г им, тре­т ьи – с дру­г им, и так да­лее. То же вер­но и для опе­ра­ций OR и XOR. По­ка что мо­же­те оста­вить вы­хо­ды несо­единен­ны­ми. При­с мот­р ев­ш ись внима­т ельнее, вы смо­же­т е уви­д еть все это на рис. 2. Од­н а­ко помните, что KTechlab не очень хо­ро­шо ра­бо­та­ет со слож­ны­ми схе­ма­ми, по­доб­ны­ми этой, и будь­т е внима­т ель­ ны, ри­суя со­единения – про­ще все­го бу­дет пе­ре­ вес­ти это в ре­жим Manual, вы­брав нуж­ную оп­цию под знач­ком с крас­ной руч­кой. Сде­лав это, соз­д ай­те че­т ы­ре муль­т и­п ­лек­со­ра, на­стро­ив дли­ну ад­ре­са ка ­ж ­до­го на два. Это мож­ но сде­лать, щелк­нув по муль­ти­п­лек­со­ру, за­тем за­ гля­нув в поя­вив­шую­ся панель спра­ва (Item Editor). По­л у­чит­с я муль­т и­п­лек­с ор с че­т ырь­мя вхо­д а­ми, ме­ж ­д у ко­то­ры­ми вы смо­же­те вы­би­рать, соз­да­вая раз­ные ком­би­на­ции двух ад­рес­ных линий. Да ­лее, со­е дините пер­вый вход AND, вход OR, вход XOR и сум­м а­т ор с пер­в ым муль­т и­п­л ек­с о­ ром, вто­рой вход – со вто­рым муль­ти­п­лек­со­ром, и так да ­лее. За­тем со­е дините ло­г и­че­­ские вы­во­ ды с со­единением муль­т и­п­лек­со­ра, от­ме­чен­ным x, и, на­конец, при­сое­дините еще два ло­г и­че­­ских вво­д а: один – ко всем A0, и дру­гой – ко всем A1 на муль­ти­п­лек­со­рах. Все это по­ка­за­но на рис. 2, хо­тя вы мо­же­те так­ же за­гру­зить схе­му с дис­ка – ALU.circuit – и рас­ смот­реть ее хо­ро­шень­ко. Важ­ная под­сказ­ка: все

> Рис. 2. АЛУ, ис­поль­зую­щее муль­ти­п­лек­со­ры для обес­пе­че­ния вы­бо­ра ме­ж­ду опе­ра­ция­ми. долж­н о быть вы­р овнено, по­т о­м у что начнет­ ся боль­шая пу­таница, ес­ли би­ты од­но­го и дру­го­ го вхо­дов пой­д ут в раз­ном по­ряд­ке, а по­ря­док вы­ ход­ных би­тов то­же ока­жет­ся дру­гим! Рас­смот­рев схе­му по­бли­же, вы уви­ди­те ря­дом с ад­рес­ны­ми вхо­д а­ми спи­сок зна­чений, на ко­то­ рые они долж­ны быть на­строе­ны для вы­бо­ра раз­ ных опе­ра­ций. В на­стоя­щем ком­пь­ю­те­ре это име­ ну­ет­ся opcodes (со­кра­щение от «ко­ды опе­ра­ций»). Их нуж ­н о пе­р е­д ать про­ц ес­с о­р у, что­б ы за­с та­

Дру­гие по­лез­ные опе­ра­ции Мы ис­поль­зо­ва­ли AND, OR и XOR как при­ме­ры опе­ ра­ций для рас­ши­рения на­ше­го сум­ма­то­ра, по­то­му что эти схе­мы про­сты в соз­дании. Но ес­ли вы ра­бо­ тае­те с чис­ла­ми без зна­ка, то ло­ги­че­­ский сдвиг вле­ во или впра­во мо­жет ока­зать­ся бо­лее ес­те­с т­вен­ ным вы­бо­ром для рас­ши­рения на­ше­го сум­ма­то­ра. Как и пред­по­ла­га­ет на­звание, ло­ги­че­­ский сдвиг вле­в о сдви­г а­е т все би ­т ы на од ­н у по ­зи­ц ию вле­ во, а ло­ги­че­­ский сдвиг впра­во – на од­ну по­зи­цию

впра­во. Бит, ко­то­рый вы­па­д а­ет, по­те­рян на­всегда, а сво­б од­н ое ме­с то, поя­в ив­ш ее­с я в на­ч а ­л е, занима­ет 0. Ес­ли чис­ло яв­ля­ет­ся без­зна­ко­вой пе­ре­мен­ной, эти опе­р а­ц ии име­ю т эф­ф ект ум­н о­жения (сдвиг вле­во) или де­ления (сдвиг впра­во) чис­ла на два. Это долж ­н о быть оче­в ид ­н о, по­с коль­к у ка ­ж ­д ая по­зи­ция име­ет вес в два раза боль­ший, чем по­зи­ ция спра­ва от нее.

вить его вы­полнить оп­ре­де­лен­ное дей­с т­вие. Ря­ дом с ко­да­ми на ­хо­д ят­ся трех­бу­к­вен­ные опи­сания функ­ций – это мнемоника, для про­сто­ты за­по­ми­ нания и че­ло­ве­ко-чи­т ае­мо­го опи­с ания то­го, что де­ла­ю т раз­ные ко­д ы. Ес­ли вы когда-нибудь пи­ са­ли на язы­ке ас­семб­ле­ра, то это как раз и есть мнемониче­­с кие зна­ч ения, ко­т о­р ые ком­п и­л я­т о­ ры ас­с емб­л е­р а за­т ем пре­в ра­щ а­ю т в дво­и ч­н ые эк­ви­ва ­лен­ты. Вот та­к им об­р а­з ом и соз­д а­е т­с я схе­м а, ко­т о­ рую мож­но про­ин­с т­рук ­т и­ро­в ать на вы­полнение вся­ких опе­ра­ций. Од­на­ко на дан­ный мо­мент ввод в эту схе­му осу­ще­ст­в­ля­ет­ся непо­сред­ст­вен­но на­ ми – мы вруч­н ую на­с траи­ва­ем ло­г и­че­­ский вход, а вы­ход яв­ля­ет со­бой ло­г и­че­­ские вы­во­ды, ко­то­ рые вклю­ча­ют­ся и вы­к лю­ча­ют­ся. А ес­ли мы хо­т им, что­бы вы­ход не про­с то ис­ че­зал, но пре­вра­щ ал­ся во вход сле­д ую­ще­го уст­ рой­ст­ва? Или ес­ли мы хо­тим за­про­грам­ми­ро­вать вхо­ды за­ранее?

Об­рат­ная связь Что­бы это сде­лать, нам нуж­на па­мять, и имен­но это станет пред­м е­т ом осталь­н ой час ­т и на­ш ей

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 51


CPU свои­ми ру­ка­ми ста­тьи. Но пре­ж ­де чем пе­рей­ти к схе­мам па­мя­ти, начнем с рас­смот­рения по­ня­тия об­рат­ной свя­зи, ко­то­рая ле­жит в осно­ве схем па­мя­ти. Возь­мем обыч­ный вен­т иль OR. На­помним его таб­ли­ц у ис­тин­но­сти: I0

I1

0

0

0

0

1

0

1

0

1

1

1

1

1

Вен­т иль OR бу­д ет га­р ан­т и­р о­в ан­н о вес­т и се­ бя имен­но так, ес­ли толь­ко... Что про­изой­дет, ес­ ли под­к лю­чить вы­ход ко вхо­д у? Что ес­ли соз­дать сиг­нал об­рат­ной свя­зи? По­с мот­р и­т е на схе­м у на рис. 3 сле­в а. Здесь вы ви­ди­те, как мы от­вет­ви­ли вы­ход и со­единили его на­пря­мую с одним из вхо­дов. Ос­тав­ший­ся вход по-прежнему при­сое­динен к на­ше­му ло­ги­че­­ско­­му вен­ти­лю. По­ка остав­ший­ся вход – это 0, все уст­рой­с т­во оста­ет­ся в этом со­с тоянии. Од­на­ко сто­ит вам пе­ ре­к лю­чить вход на 1, как уст­рой­с т­во за­бло­к и­ру­ ет­ся. Вы­ход бу­дет по­с то­ян­но пе­ре­д а­вать 1 об­рат­ но на вход, и из это­го со­с тояния бу­дет не вый­ти. Об­р аз­н о вы­р а ­ж а ­я сь, вен­т иль за­п ерт. По­п ро­ буй­т е соз­д ать эту схе­м у, что­бы по­н ять, как она ра­бо­та­ет.

Триг­гер за­держ­ки Оче­вид­но, что этой про­с той схе­мы об­рат­ной свя­ зи недоста­точ­но для при­менения в ка­че­­ст­ве ячей­ ки па­мя­ти – за­д ав это со­с тояние, вы не смо­же­те пе­реуста­но­вить его! Ес­ли вы за­пи­с а­ли ту­д а пор­ цию дан­ных, а за­тем ре­ши­ли за­пи­сать еще, то вам не по­вез­ло. Есть дру­гие схе­мы, ко­то­рые ис­поль­ зу­ют тот же прин­цип об­рат­ной свя­зи, но без та­ ко­го ог­раничения. Од­на из них из­вест­на под на­ званием «триг­гер D-ти­па» или триг­гер за­держ­ки, и мы его ис­поль­зу­ем, что­бы про­де­мон­ст­ри­ро­вать, как в ком­пь­ю­те­рах ра­бо­та­ет па­мять. Взгляните на схе­му в пра­вой час­ти рис. 3. Это про­ме­ж у ­точ­ный шаг ме­ж ­д у на­шей про­с той схе­ мой об­рат­ной свя­зи и триг­ге­ром за­держ­ки. Он из­ вес ­т ен под на ­званием «за­к ры ­т ый триг­г ер S-R» или триг­гер пе­ре­сче­та. Ес­ли в этой схе­ме оба вхо­ да уста­нов ­ле­ны в нуль (zero), вы ­хо­д ы оста­ю т­с я

Триг­гер пе­ре­сче­та с вен­ти­ля­ми

Муль­ти­виб­ра­тор За­пуск

> Рис. 3. Схе­ма об­рат­ной свя­зи сле­ва де­мон­ст­ри­ру­ет ос­нов­ной прин­цип циф­ро­вой па­мя­ти, а триг­гер пе­ре­ сче­та спра­ва по­ка­зы­ва­ет, как по­лу­чить боль­ший кон­троль над схе­мой. бло­к и­ро­в ан­ны­ми – ины­ми сло­в а­ми, они пом­нят свое пре ­ды­д у ­щее со­с тояние. Ес ­ли верхний вход уста­нов­лен в 1, то нижний вы­ход бу­дет 1; а ес­ли ниж­ний вход ра­вен 1, верхний вы­ход ра­вен 1. Идея этой схе­мы в том, что два вы­хо­д а всегда долж­ны быть в про­ти­во­по­лож­ных со­стояниях. Од­ на­ко так бу­дет не всегда: ес­ли од­но­вре­мен­но за­

Ес­л и не об­р а­щ ать внимания на нижний вы­ход и сфо­к у­си­ро­вать­ся толь­ко на верхнем, вы уви­ди­ те, что у нас по­лу­чи­лась 1‑бит­ная ячей­ка па­мя­ти. Вы пи­ше­те 1 или 0, ак ­т и­ви­руя так ­то­вый сиг­нал, и за­тем за­дае­те вход, что­бы он имел лю­бую ве­ли­ чи­ну, ко­то­рую вы хо­ти­те со­хранить. Когда вы от­ клю­ч и ­т е так ­т ы, ячей­к а со­х ранит эту ве ­л и­ч и­н у, и вы смо­же­те счи­тать ее с верхне­ го вы­хо­да. На­ч и­н ая с на­с тоя­щ е­г о мо­м ен­ та и да ­лее, когда нам по­на­до­бят­ся триг­ге­ры за ­держ ­к и, мы бу­дем ис­ поль­зо­в ать встро­ен­ное пред­с тав­ ление KTechLab. Вы най­д е­т е его в раз­де­ле Integrated Circuits, где оно име­ну­ет­ся “D Flip-Flop [муль­т и­виб­ра­тор]”. Они поч­т и иден­т ич­ ны, но все же обя­за­тель­но про­чи­тай­те раз­дел За­ пускаю­щий пе­ре­пад сиг­на ­ла, что­бы по­нять разни­ цу ме­ж ­д у триг­ге­ром за­держ­ки и D Flip-Flop.

«Идея – что два вы­хо­ да все­гда в про­ти­во­по­ лож­ных со­стоя­ни­ях.» дать на оба вхо­д а 1, оба вы­хо­д а ста­н ут рав­ны 0. Эту си­т уа­цию мож­но обой­т и, соз­д ав триг­гер за­ держ­ки, ко­то­рый так­же да­ет нам боль­шую сте­пень кон­тро­ля за опе­ра­ция­ми схе­мы. Один из них мож­ но уви­деть на рис. 4. Са­мая важ­ная функ­ц ия в этой схе­ме на те­к у­ щий мо­мент в том, что, со­еди­няя вхо­ды в еди­ное управ­ление и ин­вер­т и­руя его, мы обес­пе­чи­в а­ем та­к ую си ­т уа­ц ию, когда схе­ма не мо­жет ока ­зать­ ся в нештат­ном по­ло­жении. Вто­рое, что сто­ит от­ ме­тить, это ис­поль­зо­вание вен­ти­ля AND для «пе­ ре­кры­тия» схе­мы. Это обес­пе­чи­ва­ет вто­рой вход, ко­то­рый дол­жен быть пе­ре­к лю­чен на 1, что­бы ак­ ти­ви­ро­вать схе­му. Когда она ак ­ти­ви­ру­ет­ся, верх­ ний вы­ход бу­дет всегда от­ра­ж ать вход, но когда она от­к лю­че­на, схе­ма останет­ся бло­ки­ро­ван­ной, что бы вы ни де­ла­ли со вхо­дом. Этот ввод час­т о име­н у­ю т не За­п уск [Enable], а Так­т ы [Clock], и да ­лее бу­дет по­нят­но, по­че­м у.

При­меним ре­зуль­та­ты Мы мо­жем лег­ко ин­тег­ри­ро­вать эту па­мять в соз­ дан­н ое на­ми АЛУ, за­м енив ин­д и­к а­т о­р ы вы­в о­д а триг­ге­ра­ми за­держ­ки – по од­но­му на ка­ж ­дый пе­ ре­к лю­ч а­т ель. Тогда па­м ять смо­ж ет за­п омнить ре­з уль­т а­т ы по­с леднего вы­ч ис­л ения. Вро­д е и не слиш­ком по­лез­но, но за­то да­ет воз­мож­ность со­единить раз­ные опе­ра­ции в на­шем АЛУ, ис­поль­ зуя т. н. ре­гистр-сумматор. Что­бы это сде­лать, при­дет­ся под­верг­нуть ранее соз­д ан­ное на­ми АЛУ неко­то­ро­м у ре­ди­зай­н у. Его ре­зуль­т а­т ы по­к а­за­ны на рис. 5. Прин­ци­пы поч­т и те же: ме­ж ­д у вхо­д а­ми и вы­хо­д а­ми по-прежнему

Сра­ба­ты­вание по пе­ре­па­ду сиг­на­ла В соз ­д ан­н ом на­м и триг ­г е­р е за ­д ерж ­к и вход дей­с т­в у­е т, толь­к о когда пе­р е­к лю­ч а­т ель enable уста­нов­лен на 1. Это пре­крас­но, но в ком­пь­ю­те­рах и в циф­р о­в ой элек­т ронике в це­л ом удоб­н ы схе­ мы, ко­то­рые ак ­т и­ви­ру­ет­ся за бо­лее ко­рот­кое вре­ мя, то есть по­к а вход enable пе­ре­хо­д ит из од­но­го со­с тояния в дру ­г ое. Это по ­з во­л я­е т соз ­д а­в ать на­мно­го бо­лее чув­ст­ви­тель­ные схе­мы, с бо­лее тон­ ким кон­т ро­лем над ними. Когда схе­мы, по­доб­ные триг­ге­ру за­держ­ки, за­пуска­ют­ся во вре­мя пе­ре­бро­са

вхо­да enable из 0 в 1, это на­зы­ва­ет­ся уже не триг­ге­ ром, а муль­ти­виб­ра­то­ром. Мы го­во­рим о «сра­ба­ты­ вании по пе­ре­па­д у сиг­на­ла [edge triggering]». Быть мо­жет, это зву­чит чуть ли не мис­т и­че­­ски, но ес­ли вы пред­ста­ви­те се­бе гра­фик пря­мо­уголь­ной вол­ны, все станет яс­но. Когда линия вы­со­ко, то вход или вы­ход рав­ны 1; когда она низ­ко, это 0. В слу­чае с триг­ге­ром за­держ­ки вы­хо­ды по­вто­ря­ют вхо­ды все вре­мя, по­ка enable вы­со­ко. В слу­чае с муль­т и­виб­ ра­то­ром, он бу­дет реа­ги­ро­вать толь­ко на од­но реб­

ро пря­мо­уголь­но­го гра­фи­ка, об­ра­зо­ван­но­го тогда, когда вход enable пе­ре­хо­дит в сот­тояние 1. Это не про­с то ин­те­рес­но, по­сколь­к у при ра­бо­те со встро­ен­ным D Flip-Flop от KTechlab вам нуж­но обес­п е­ч ить вклю­ч ение и вы­к лю­ч ение так ­т о­в о­г о сиг ­н а ­л а, что­б ы он дей­с т ­в о­в ал. Он сра­б а ­т ы­в а­е т при пе­ре­хо­де от вы­со­ко­го уров­ня к низ­ко­му, так что вам нуж­но уста­но­вить пе­ре­к лю­ча­тель на 1 и сно­ва на 0, что­бы ак ­ти­ви­ро­вать муль­ти­виб­ра­тор и за­с та­ вить его со­хранить но­вую ве­ли­чи­ну.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

52  |  LXF162 Октябрь 2012


CPU свои­ми ру­ка­ми

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

Но­вые ко­ман­ды Име­е т­с я так ­ж е несколь­к о но­в ых ин­с т­р ук­ц ийкоманд, вклю­чая ло­ги­че­­ский сдвиг вле­во и впра­во (реа ­ли­зуе­мый про­с тым со­единением вы­хо­д а ре­ ги­с т­ра непо­сред­с т­вен­но со вхо­д а­ми муль­ти­п­лек­ со­ров, сме­ще­нными на одну по ­зи­цию вле­во или впра­во). Так­же име­ет­ся ко­ман­д а LOD, или load, ко­то­рая вво­дит пер­вое чис­ло для об­ра­бот­ки в ре­гистр. И. на­конец, вы так ­же мо­же­т е об­р а­т ить внимание, что мы со­единили Rst на ка­ж ­дом триг­ге­ре с пе­ре­ клю­ча­те­лем, что­бы мож­но бы­ло пе­ре­к лю­чить со­ стояние ре­ги­ст­ра в пол­ный 0 одним на ­жа­ти­ем.

Очистка Такты

Триггер D-типа

Запуск

> Рис. 4. Триг­гер D-ти­па ра­бо­та­ет как 1-бит­ная схе­ма па­мя­ти, ре­шая про­бле­мы с за­кры­тым фик­са­то­ром SR. Под ос­нов­ной схе­мой рас­по­ла­га­ет­ся пре­зен­та­ция встро­ен­но­го D FlipFLop от KTechlab. Пе­р е­к лю­ч а­т ель clock яв­л я­е т­с я эк­ви­в а ­л ен­т ом enable в ранее соз­д ан­ном на­ми триг­ге­ре за­держ­ ки, но обя­з а­т ель­н о про­ч ти ­т е врез­к у «Сра­б а­т ы­ вание по пе­ре­па­д у сиг­на­ла», что­бы по­нять, как это ра­бо­та­ет. Соз­дав та­к ую схе­му, вы мо­же­те за­гру­зить чис­ ло в ре­г истр, вве­с ти дру­г ое чис­л о на осталь­ ные вход­н ые пе­р е­к лю­ч а­т е­л и, вы­б рать опе­р а­ цию пе­ре­к лю­ча­те­ля­ми opcode, а за­тем вклю­чить пе­р е­к лю­ч а­т ель clock и вы­п олнить опе­р а­ц ию над со­д ер­ж и­м ым ре­ ги­с т­р а – ес­л и это ко­ ман­д а ADD, то и над со­дер­жи­мым пе­ре­к лю­ ча­т е­л ей вво­д а (опе­

ра­ции LSL и LSR об­ра­ба­ты­ва­ют толь­ко со­дер­ж и­ мое ре­ги­ст­ра). Ес­ли вы за­тем за­хо­ти­те вы­полнить дру­г ую опе­ра­цию с ре­зуль­та­том, то и такое бу­дет воз­мож­но. Вот и все, что мы со­б и­р а­л ись рас­с мот­р еть в ста­тье это­го ме­ся­ц а. Те­перь у вас долж­но быть встро­ен­ное АЛУ с воз­мож­но­стью вы­полнения раз­ ных опе­ра­ций, как оп­ре­де­ле­но в спе­ци­а ль­ных op­ codes, спо­соб­ных со­единить эти опе­ра­ции бла­го­ да­ря вво­д у ре­ги­ст­ра. Нам пред­сто­ит еще дол­гий путь. В сле­д ую­щем вы­пуске мы рас­смот­рим, как ин­тег­ри­ро­вать в про­ цес­с ор ОЗУ, со­е динив его с уст­рой­с т­вом управ­ ления, и вве­с ти в ОЗУ про­грам­му, что­бы про­цес­ сор вы­полнил всю се­рию команд. |

Боль­ше, боль­ше, боль­ше

> Рис. 5. На­ше за­кон­чен­ное АЛУ де­мон­ст­ри­ру­ет, как мож­но ин­тег­ри­ро­вать схе­ му па­мя­ти в про­цес­сор.

С триг­ге­ра­ми за­держ­ки мож­но сде­ лать еще и не то – воз­мож­но, са­мым важ­ным бу­дет воз­мож­ность соз­дать раз­но­вид­ность опе­ра­тив­ной па­мя­ти (ОЗУ). Суть ОЗУ в со­единении се­рии 1‑бит­н ых схем хранения, в на­ш ем слу­чае – триг­ге­ров за­держ­ки, та­ким об­р а ­з ом, что­б ы вы при же ­л ании мог­ли чи­тать или за­пи­сы­вать оп­ре­ де­л ен­н ые би­т ы, на ­х о­д я­щ ие­с я на хранении. Боль­ш ин­с т ­в о ОЗУ не об­л а ­д а­е т струк ­т у­р ой, по­з во­л яю­щ ей чи­т ать и за­пи­сы­в ать от­дель­ные би ­т ы: они струк ­т у ­р и­р о­в а­н ы ско­р ее для чте­ ния и за­п и­с и групп би­тов, раз­м ер ко­то­рых в про­цес­со­ре из­вес­тен как дли­н а сло­в а. Боль­ш ин­с т­в о со­в ре­ мен­н ых ком­п ь­ю­т е­р ов ра­б о­т а­ю т с дли­н ой сло­в а, которая рав­н а 32 или 64 би­там.

В на­шем про­цес­со­ре дли­ной сло­ ва вы­бра­на ве­ли­чи­на 4 би­та. Ре­шив соз ­д ать соб­с т ­в ен­н ую схе­м у ОЗУ, вы, оче­вид­но, смо­же­те это сде­лать, ру­к о­в о­д ству­я сь на­к о­п­л ен­н ы­м и знания­ми. Вам нуж ­н о бу­д ет обес­п е­ч ить воз­м ож ­н ость ад ­р е­с о­в ать­с я к ка ­ж­ до­м у сло­в у в па­м я ­т и – от­л ич­н ым ре­шением станет де­ко­дер – и об­д у­ мать, как об­ра­щать­ся к ка­ж ­до­му сло­ ву в па­мя­ти без необ­хо­ди­мо­сти за­пи­ сы­в ать зна­ч ения вво­д и­м ых би­т ов, а также изобрести спо­с об чи­тать от­дель­ное сло­во. Здесь мог бы при­ го­д ить­с я вен­т иль AND. И, на­конец, вам по­на­до­бят­ся неко­то­рые вход­ные би­ты, что­бы уста­нав­ли­вать зна­чения внут­р и па­м я­т и, и вы­ход­н ые би­т ы, что­бы про­ве­рять со­дер­жи­мое сло­ва, к ко­то­ро­му вы об­ра­щае­тесь.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 53


LiveCD Open SUSE со­хра­ня­ет на­строй­ки

openSUSE LiveCD: Устанавливаем! Алексей Федорчук обнаружил нетривиальные возможности установки openSUSE в Live-режиме: при желании ра­бо­та с ним про­хо­дит не так уж и бес­след­но.

Б

ольшинство современных дистрибути­ вов Linux распространяется в двух основ­ ных вариантах: в виде образов оптиче­ских дисков, служащих исключительно для установ­ ки системы, и в виде образов LiveCD/DVD, пред­ назначенных как для знакомства с ней, так и и для последующей инсталляции. Не исключение тут и openSUSE, официальный набор образов которой включает: » полный установочный DVD; » небольшой образ для установки по Сети; » Gnome-Live и KDE-Live CD, различающиеся ис­ пользуемыми рабочими средами. О последних и пойдет речь в настоящей статье.

Вступление Среди записных линуксоидов, вне зависимо­ сти от используемого дистрибутива, существует несколько пренебрежительное отношение к уста­ новке системы с «живых» дисков: обычно считает­ ся, что этот метод предназначен для совершенно зе­ле­ных пользователей, устанавливающих свой первый в жизни Linux. Пользователям же с опы­ том должно применять альтернативные устано­ вочные носители. Это мнение имеет под собой основания: в боль­ шинстве случаев при установке с LiveCD возмож­ ности пользователя вмешаться в этот процесс минимальны или напрочь отсутствуют. Резуль­ татом же такой установки является точная копия образа «живого» диска со всеми его умолчаль­ ными настройками и заранее предопределенным набором приложений. А поскольку в отношении

последних предпочтения составителей LiveCD на­ верняка не на 100 % совпадают с предпочтения­ ми пользователя «со стажем», в дальнейшем ему придется затратить немало времени на индивиду­ ализацию своей системы. Однако инсталляция openSUSE с LiveCD оказы­ вается исключением из общего правила. И предо­ ставляет не меньше возможностей для индивиду­ ализации системы, нежели установка с полного DVD или «сетевого» диска. А в отношении настро­ ек – даже больше. Как это оказывается возмож­ ным, и будет предметом настоящей статьи. Как уже было сказано, официально в рамках проекта распространяется два варианта LiveCD – с KDE и Gnome в каче­с тве рабочих сред, каждый в сборках для 32‑битной и 64‑битной архитектур. В силу личных предпочтений автора дальнейшее изложение проводится на примере KDE-LiveCD – но пользователи Gnome при установке своего лю­ бимого десктопа вполне могут применить те же приемы.

Live-среда: запуск Работа в Live-режиме, будь то знакомство с си­ стемой или ее установка, начинается с загрузки с соответствующего носителя. В ходе ее весьма желательно выбрать русский язык интерфейса. Правда, для Live-среды это мало что даст, ибо на 700 МБ вместить полную поддержку даже ос­ новных языков, как это имеет место быть на DVD, довольно сложно, а дожидаться предпочтения русскому от интернационального дистрибути­ ва было бы опрометчиво. Но в случае последую­

щей инсталляции русская локализация будет уна­ следована установленной системой – хотя в ходе ее придется мириться со смесью нижегородско­ го с оксфордским (рис. 1). Зато в дальнейшем для окончательной русификации потребуется куда меньше телодвижений. Из меню загрузчика следует, что можно либо загрузить Live-среду, из которой будет доступна опция установки, либо непосредственно присту­ пить к инсталляции. В данный момент нас интере­ сует как раз первый вариант. Почему он является предпочтительным, станет ясным из дальнейше­ го изложения. Никаких дополнительных опций, вроде на­ стройки сети, Live-вариант загрузки пока не пред­ усматривает – этим можно будет заняться уже непосредственно в «живом» режиме. Так что на­ жимаем Enter на первом пункте главного меню и через некоторое время видим рабочий стол KDE (рис. 2). Первая наша цель – ознакомиться с возмож­ ностями Live-режима. Однако делать это лучше в комфортной обстановке, что для меня, напри­ мер, подразумевает в первую очередь шрифты, подходящие для глаз, для кого-то – иные параме­ тры внешнего вида. Чем мы для начала и займем­ ся. Впрочем, те, кого внешний вид среды по умол­ чанию устраивает, могут спокойно пропустить следующий раздел. И еще важное предупреждение: знакомство с LiveCD – занятие довольно медленное и печаль­ ное. Ибо привод компактов нынче не самое бы­ стродействующее устройство хранения данных,

Из неофи­ци­аль­ных ис­точников... Официальные LiveCD в отношении версий ядра, рабочих сред и приложений точно соответствуют установочному DVD на момент выхода текущего релиза. Однако существуют и периодиче­ские «вер­ стовые [Milestones]» сборки, предназначенные для тестирования релиза будущего. По своему наполнению они идентичны официальным, однако версии этого наполнения повышаются «от столба к столбу». В промежутках же между «версто­ выми столбами» с периодичностью примерно раз в неделю собираются «саженные столбики» – снапшоты текущего состояния подготавливаемого

релиза. Разумеется, за стабильность «верстовых» и особенно «саженных» сборок никто не ручается, и использование их для «рабочих» инсталляций не рекомендуется. Кроме официа льных LiveCD, существует большое количе­с тво неофициальных их вари­ антов. Например, для KDE это версии с «чистым» KDE 4.X (то есть в оригинальном оформлении проекта KDE) и с ностальгиче­с ким KDE 3.5.10. Сборки LiveCD с прочими рабочими средами – XFce, LXDE, Enlightenment – также имеют статус неофициальных.

> Рис. 1. Меню ус­та­нов­щи­ка яв­ля­ют со­бой язы­ко­ вую смесь.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

54  |  LXF162 Октябрь 2012


Open SUSE со­хра­ня­ет на­строй­ки LiveCD

> Рис. 2. Ка­п­ли ро­сы на зе­ле­ном ли­ст­ке... а кэширование его содержимого в оператив­ ную память (даже если ее более чем вдоволь) в openSUSE не предусмотрено.

Подготовка Live-режима Дабы привести рабочий стол Live-среды в соот­ ветствие если и не со своими эстетиче­скими иде­ алами, то хотя бы с физиче­скими возможностя­ ми восприятия, отправляемся в стартовое меню главной управляющей панели, где выбираем пункт Configure desktop (я предупреждал, что с Великим и Могучим в Live-среде будет напряженка) и по от­ крытии окна настройки параметров щелкаем по иконке Applications Appearance. В развернувшейся панели слева вы­ бираем пункт Fonts, а справа жмем на кнопку Adjust all fonts (рис. 3). Теперь отмечаем «птицами» бок­ сики Font и Size и выбираем подхо­ дящие гарнитуру и кегль, сверяясь с образцом в нижней части окошка. Выбрав под­ ходящий вариант, в панели шрифтов включаем режим anti-aliasing’а в соответствии со своим ви­ зуальным восприятием. Каковой, впрочем, будет получен только впоследствии, после перезапуска сеанса (но ни в коем случае не системы – это убь­ ет все сделанные настройки). Однако перед этим я подгоняю управляющую панель к размеру, вос­ принимаемому моими глазами. Для чего щел­ каю на ней правой кнопкой мыши, в контекстном меню выбираю пункт Panel Options, а затем – Panel Settings. После этого, ухватившись мышью

за кнопку Height, тащу ее вверх до получения удовлетворительного результата. Вот теперь в пер­ вом приближении де­ ло с настройкой можно считать законченным – остается только пере­ запустить сеанс KDE и авторизоваться за­ ново, введя в каче­с тве логина значение linux, а поле для ввода паро­ ля оставив пустым. После чего рабочий стол KDE за­ грузится снова – но уже с применением всех сде­ ланных ранее настроек.

Настройка окружения root Итак, мы привели внешний вид рабочего стола в приемлемое состояние. Однако не следует этим ограничиваться: нам предстоят еще некоторые действия, которые надо будет выполнить от име­ ни администратора, а на его окружение поль­ зовательские настройки не распространяются. Да и установка системы тоже будет происходить в окружении суперпользователя. Так что послед­ ний штрих в подготовке к дальнейшей работе –

резонно возражу. Во-первых, не такие уж это сложные действия, чтобы пренебречь комфортом в ходе знакомства с LiveCD и установки. А во-вто­ рых, и главных: не пропадет ваш скорбный труд по настройке пользовательского и администра­ тивного окружения. Почему? Пусть это пока оста­ ется Военной Тайной.

Преамбула к установке На знакомстве с Live-средой я останавливать­ ся не буду. Замечу только, что это самая обычная среда KDE, с набором типовых ее приложений – достаточно обширным, так что начинающему пользователю есть где порезвиться. Однако заня­ тие это наскучит ему достаточно скоро – не в по­ следнюю очередь и потому, что приложения не блистают быстродействием в условиях «жи­ вого» режима. И тут пользователю захочется по­ смотреть на них во всей красе – в инсталлирован­ ном виде. Наступает психологиче­ский момент для установки системы. Установка openSUSE – дело не шести секунд. Конечно, в Live-режиме это время можно скра­ сить рядом приятных и полезных занятий. Так, те, кто еще не наигрался в игрушки, имеют все усло­ вия, чтобы резаться, скажем, в Reversi или раскла­ дывать пасьянсы, каковых немного больше чем вдоволь. Люди же серьезные могут почитать ма­ териалы официального сайта проекта и до­к у­ мен­та­цию, в том числе и на русском языке. Благо, для этой цели в Liveрежиме имеется целых два браузера. Конечно, тут хорошо бы иметь и соединение с Интернетом. Если провайдер обеспечивает DHCP-под­ ключение, все просто: сеть вол­ шебным образом поднимется сама собой. Одна­ ко в данном варианте не фатально будет и любое другое подключение: в нашем распоряжении есть рабочий Network Manager, который, при всех его недостатках, позволит настроить и VPN-, и DSL-, и Wi-Fi-соединение. Ибо нет таких настроек, кото­ рые не могли бы выполнить большевики-линуксо­ иды, и сеть, тем или иным способом, будет подня­ та. И никаких препятствий к повышению своего образовательного уровня не будет. Так что возможность занять время установ­ ки делами разной степени полезности – это пер­ вый довод в пользу установки системы из Liveсреды, а не методом «лобового напора» – из меню загрузчика. Однако чтение материалов, как я уже сказал, занятие для серьезных людей. Люди же несерьез­ ные, вроде автора этих строк, предпочтут прове­ сти время установки за непринужденными бе­ седами, например, в Джуйке – http://juick.com/. И на первый взгляд их ожидает облом: в Liveсреде ни малейшего Jabber-клиента не найти и следов. Ну, это решается легко: если Jabber-клиента в системе нет, его следует установить. На вопрос «как?» ответить опять же легко: либо с помощью консольной системы zypper, либо посредством модуля управления программами универсаль­ ной системы YaST2 в графиче­ском режиме. Оба

«Мы привели внешний вид рабочего стола в приемле­ мое состояние.»

> Рис. 3. На­строй­ке под­да­ют­ся шриф­ты прак­ти­че­ ски всех ком­по­нен­тов сис­те­мы.

это настройка «административного окружения». Для чего следует запустить ту же самую програм­ му конфигурирования десктопа, но уже от лица суперпользователя. Самый простой способ сде­ лать это – с помощью комбинации клавиш Alt + F2 вызвать командную строку мини-терминала, в ко­ торой и надлежит ввести kdesu systemsettings где kdesu – команда для получения времен­ ных, на одну операцию, прав суперпользовате­ ля, а systemsettings – команда для запуска про­ граммы установки параметров рабочего стола, что и показано на рис. 4. После этого мы получаем доступ к настройкам окружения ра­б о­ч е­г о сто­л а суперпользователя, где следует проделать все действия по настрой­ ке шрифтов – точно так же, как это было описано в предыдущем разделе. Предвижу резонное замечание: зачем возить­ ся с настройками окружения пользователя и ад­ министратора, если все эти действия будут иметь силу только для текущего Live-сеанса? Столь же

> Рис. 4. Окно мини-терминала.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 55


LiveCD Open SUSE со­хра­ня­ет на­строй­ки

Борь­ба за не­за­ви­си­мость Дабы при удалении пакетов вместе с ними удаля­ лись и их ставшие ненужными зависимости (если они больше нигде не задействованы), при исполь­ зовании zypper’а следует отредактировать файл /etc/zypp/zypp.conf, а именно: снять символ ком­ ментария со строки # solver.cleandepsOnRemove = false и заменить значение false на true. При использовании же модуля управления паке­ тами YaST2 тот же эффект достигается включе­ нием в меню Параметры пункта Удалять ставшие ненужными зависимости. Чтобы пакеты при установке тянули за собой только обязательные зависимости, не трогая так называемых рекомендованных, в файле /etc/zypp/ zypp.conf уберите символ комментария со строки

способа – предмет отдельной темы. Здесь лишь отмечу, что во втором-то случае и пригодились нам настройки «административного окружения», ибо YaST2 запускается от лица суперпользователя. Возможность поговорить с приятными собе­ седниками online – это второй довод в пользу ин­ сталляции openSUSE из Live-среды. Правда, те са­ мые серьезные люди поставят это в упрек: мол, не стоит ради пустопорожнего трепа городить огород с установкой дополнительных приложе­ ний. На что у меня есть два возражения: 1 Треп в Джуйке никогда не бывает совершенно пустым, и кроме эмоциональной разрядки при­ носит и практическую пользу – в виде ответов на вопросы, часто и нетривиальные, в реальном времени. 2 Как это ни парадоксально, но приложения, уста­ новленные в Live-среде, сохранятся и в инсталли­ рованной системе; почему – опять же будет пред­ метом отдельного разговора. Kopete может оказаться далеко не единствен­ ным кандидатом на установку. Так, не помешает установить в Live-среде и пакеты русификации, та­ кие, как kde4‑l10n-ru, kde4‑l10n-ru-data и kde4‑l10nru-doc для русификации KDE, libreoffice-l10n-ru для русификации LibreOffice. Впрочем, полностью русифицировать систему можно и иным способом (см. врезку). Прочие дополнительные пакеты каж­ дый выбирает в меру своих предпочтений. Наконец, самое интересное: пакеты можно не только устанавливать в Live-среду, но и удалять из нее – и после инсталляции на диск их не будет! Здесь я «отдельно, с большим наслажденьем» удаляю немало того, что полагаю лишним на «жи­ вом» диске, в частности, всю штатную мультиме­ диа, заменяя ее Mplayer’ом – но и это дело личных предпочтений. Вы­хо­д ит, Live-среда дает ничуть не меньше возможностей для индивидуализации системы, нежели выборочная установка с DVD или по се­ ти. И даже больше: потому что никто не в силах запретить подключение, наряду со штатными, также и сторонних репозиториев, в том числе со­ держащих так называемые не вполне свободные программы (типа мультимедиа-кодеков: Flash-

# solver.onlyRequires = false и замените значение false на true. Та же цель в модуле управления пакетами YaST2 достигается включением в меню Параметры пункта Игнорировать рекомендованные пакеты для уже установленных пакетов. Однако торопиться с отключением установки рекомендованных пакетов не следует. Ибо в число оных входят и языково-зависимые пакеты, о которых говорилось ранее. Так что, вместо того чтобы устанавливать их попакетно, достаточно при отключенном игнорировании рекомендо­ ванных пакетов выполнить операцию тотального обновления системы командой zypper up или через YaST2. Результатом будет полная русификация системы.

плейера etc.), которые при других методах уста­ новки системы приходится доустанавливать впоследствии. Таким образом, третий довод в пользу установ­ ки из Live-режима – безграничные возможности по индивидуализации системы. Причем реализу­ ются все эти возможности, что называется, малой кровью: пользователь может полностью избавить­ ся от заботы о зависимостях как при установке па­ кетов, так и при их удалении. Последнее представляется мне особенно цен­ ным: сколько я ни занимался установкой с инди­ видуальным выбором пакетов как в openSUSE, так и в «более иных» дистрибутивах, и как бы ни ста­ рался вычеркнуть из предлагаемого разблюдов­ ника компоненты, ненужные лично мне, все равно половина из них пролазила в инсталлированную систему в каче­стве чьих-то зависимостей. При установке же с openSUSE LiveCD от всего лишнего можно избавиться радикально. Потому как предварительно можно должным образом на­ строить YaST или отредактировать конфигураци­ онный файл zypper’а, в зависимости от того, что используется для удаления и установки пакетов. Четвертый довод в пользу установки в Liveрежиме по сравнению с прямой инсталляцией – возможность выполнять ее в визуально прият­ ном окружении, о чем говорилось в предыдущем разделе. Есть и пятый довод, но и он пока останется Ма­ леньким Секретом, который я раскрою под занавес.

> Рис. 5. Как по­ла­га­ет­ся, все на­чи­на­ет­ся с ли­цен­зии. » Нет пункта выбора режимов – то есть ре­ жим обновления установленной системы не предусмотрен. » Нет возможности отключить автоматическую настройку после инсталляции. » Нель­зя включить использование диска Add-on. Впрочем, ни об одной из этих опций особо жа­ леть не стоит – все эти вопросы решаемы другими методами. Так что сразу после приглашения пере­ ходим к определению часового пояса, где можно также скорректировать время и включить синхро­ низацию с серверами NTP (рис. 6). Стадия выбора рабочего стола при Live-уста­ новке пропускается. Что и естественно: выбор этот делается в тот момент, когда диск с соответствую­ щей средой (KDE или Gnome) ставится на закачку. Так что следующим номером нашей программы будет разметка диска – возможности установщика openSUSE в этой области поистине необъятны, так что здесь мы на них задерживаться не будем, это должно быть предметом отдельного разговора. Далее создается учет­ная запись обычного поль­ зователя, после чего выводится итоговая панель Live Installation Settings (то, что в русском переводе интерфейса типовой установки обозвали Параме­ трами установки) – рис. 7. Но не ищите здесь секции индивидуального вы­ бора пакетов: ее здесь нет. Да и не нужна она, ибо все необходимые пакеты мы имели возможность установить «вживе» еще до запуска инсталлятора. Теперь по нажатии кнопки Install будет запро­ шено подтверждение этого судьбоносного реше­ ния. А дальше процесс разметки диска, созда­ ния и монтирования файловых систем, а также собственно установки пойдет сам по себе. Пока он идет, ответим на вопрос, как нам уда­ лось устанавливать и удалять пакеты, да так, что

Установка И вот настал решительный момент щелкнуть мышью по иконке Install на предмет заняться установкой систе­ мы. Она начинается с па­ нели приглашения к оной (рис. 5). После приглашения мож­ но видеть отличительные особенности инсталляции в Live-режиме:

> Рис. 6. Московское вре­мя — 18:05.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

56  |  LXF162 Октябрь 2012


Open SUSE со­хра­ня­ет на­строй­ки LiveCD

> Рис. 7. Меняйте, что ва­шей ду­ше угод­но. сделанные в Live-среде изменения сохранятся в инсталлированной системе. Хотя, казалось бы, после перезагрузки они должны были бы бес­ следно исчезнуть. Для чего дождемся в окне ин­ сталлятора окончания разметки диска и распра­ вы с файловыми системами. После чего текущим действием будет одно-единственное – копиро­ вание корневой файловой системы [Copying root filesystem], рис. 8. Вот вам и разгадка Военной Тайны. Ибо где рас­ положена корневая файловая система Live-сре­ ды? Правильно, в оперативной памяти. А куда ин­ корпорируются исполняемые файлы, библиотеки и прочие компоненты установленных в ходе Liveсеанса пакетов? В корневую файловую систему. А откуда изымаются компоненты пакетов удаляе­ мых? И где отражаются изменения, выполненные в общесистемных конфигах? Опять-таки, все это модификации корневой файловой системы – точ­ нее, ее образа в оперативной памяти. Так что в процессе установки с LiveCD не про­ исходит ни развертывания образов метапакетов, ни попакетной распаковки индивидуально вы­ бранных пакетов. По сути, дело сводится к пере­ носу текущего слепка оперативной памяти на це­ левой носитель. И потому на нем по завершении установки все изменения, сделанные в Live-среде до запуска инсталлятора, сохранятся в неприкос­ новенности. В этом и заключается сила описанно­ го метода – насколько мне известно, не имеющего аналогов в других дистрибутивах Linux.

Итоги установки Вот теперь можно и на Джуйк пе­р е­к лю­ч ить­с я. Одна беда: за время наблюдений за процессом установки и размышлений о его сути установ­ ка-то и закончилась. Что неудивительно: ведь ко­

пирование образа из оперативной памяти на сов­ ременный винчестер – дело достаточно быстрое, куда быстрее, чем распаковка пакетов и распреде­ ление их компонентов по ветвям файлового дре­ ва. Так что очень скоро мы увидим предложение перезагрузить машину – немедленно или когда угодно позднее. Торопиться с перезагрузкой мы не будем. Ибо пора раскрыть Маленький Секрет пятого дово­ да в пользу установки из Live-режима: это воз­ можность сохранения пользовательских настро­ ек рабочей среды. Причем за настройки учет­ной за­пи­с и администратора можно не волноваться: поскольку каталог /root, где они упокоились, ле­ жит на корневой файловой системе, все конфи­ гурационные файлы из него будут скопированы в соответствующее место на винчестере. А вот настройки пользовательской среды бы­ ли сделаны для временного пользователя с име­ нем linux, и его домашний каталог /home/linux, существующий в Live-режиме, при перезагрузке будет уничтожен. Однако никто не запрещает нам скопиро­ вать конфиги уходящего в небытие пользовате­ ля linux, например, на флэшку, а затем перенести их в установленную систему. Или сразу поместить их в /mnt_point/home/username, где mnt_point – точка монтирования для раздела на винчестере (не следует забывать, что по окончании установ­ ки все задействованые во время нее файловые си­ стемы размонтируются), а username – учетное имя пользователя, чья учет­ная запись была создана во время установки. Нужно будет только потом из­ менить их владельца и проверить права доступа. Файлы, подлежащие копированию, – это в пер­ вую очередь конфиги KDE (/home/linux/.kderc) и Kopete (/home/linux/.kde4/share/config/kopeterc), а возможно, и других установленных в Live-среде программ. Вот теперь можно и перезагрузиться. Уста­ новка в Live-режиме не предполагает отказа от автоматиче­ского конфигурирования системы. Каковое и происходит сразу после ее рестарта. И завершается появлением умолчального рабоче­ го стола KDE.

Впрочем, вид его не вовсе умолчальный. Бег­ лый взгляд на главное меню показывает, что оно стало русифицированным, утратило пункты, со­ ответствующие пакетам-от­казникам, и, напротив, в его закоулках мы найдем приложения, установ­ ленные ранее в Live-сеансе. А шрифты и главная панель сохраняют тот вид, который мы придали им перед установкой (рис. 9).

Заключение Из всего сказанного выше можно сделать вывод, что установка с LiveCD – отнюдь не обязатель­ но прерогатива совсем уж начинающих ли­н ук­ сои­дов. Конечно, для них такая инсталляция As Is обеспечивает максимально быстрое развертыва­ ние системы, содержащей необходимый для нача­ ла работы минимум приложений. Но если затра­ тить некоторое время на настройку и наращивание возможностей Live-среды, то систему эту можно сделать и актуальной, и индивидуализированной. Причем существенно более простыми методами, чем при ручном выборе пакетов при установке с DVD или NET-диска. Правда, этот метод можно рекомендовать толь­ ко пользователям с достаточным опытом работы в других дистрибутивах. Ибо устойчивые пред­ почтения в отношении рабочего окружения и при­ кладного софта у них наверняка уже сложились, и что им надо получить в итоге – они сами знают. Так что для достижения неизменно превосходно­ го результата им потребуется только знакомство со специфиче­ской для openSUSE системой управ­ ления пакетами. Cледует, впро­чем, оговорить, что способ этот подходит только тем, кто отдает предпочтение средам KDE 4 или Gnome 3, потому что официаль­ ных LiveCD с другими ра­бо­чи­ми столами просто нет. Что же до неофициальных – они обычно выхо­ дят с некоторой (а иногда и значительной) задер­ жкой относительно текущего релиза. Хотя и эта проблема в принципе решаема – но с существенно большими затратами времени и сил. Так что люби­ телям Xfce, LXDE или, тем более, оконных менед­ жеров проще прибегнуть к установке с полного DVD или диска для сетевой инсталляции. |

> Рис. 9. На­ши тру­ды не про­па­ли да­ром: все на­строй­ки со­хра­не­ны.

> Рис. 8. Про­цесс ко­пи­ро­ва­ния по­шел.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 57


Что за штука… SecureBoot

windows 8

Что за штука…

SecureBoot Ма­янк Шар­ма, в ро­ли ад­во­ка­та дья­во­ла, рас­кры­ва­ет сум­бур­ную пе­ре­дел­ку Microsoft про­цес­са за­груз­ки ва­шей сис­те­мы. ну­точ­к у! Я уже слы­шал о SecureBoot. В Ми­ Это же од­но из ре­шений безо­пас­но­сти в но­вом Windows 8, так? И да, и нет. SecureBoot – это ме­ханизм улуч­ шения безо­пас­но­с ти сис­те­мы по­сред­с т­вом при­в яз­к и к про­ц ес­с у за­г руз­к и. По фак ­т у, это функ­ция спе­ци­фи­ка­ции UEFI. С Windows 8 ее свя­ зы­в а­е т только то, что, по тре­бо­в анию Microsoft, она долж­на быть вклю­че­на во всех ма­ши­нах, где сто­ит сер­ти­фи­ци­ро­ван­ная «вось­мер­ка».

О

Уве­рен, что и про это мне уже к SecureBoot. Как имен­но она В UEFI? В Яс­спон­со,обвер­­ст­внуем­­етсябезо до­во­ди­лось слы­шать. ­пас­но­сти? Ну да, мы об­су­ж ­д а­ли его на на­ших страни­ В ранних вер­си­ях UEFI для про­вер­ки це­ло­ст­ О цах, в LXF153. UEFI, то есть Unified Extensive О но­сти драй­ве­ров и про­грамм ис­поль­зо­ва­ Firmware Interface, приходит на за­ме­ну ин­тер­фей­ су BIOS, ко­то­рый мы ис­поль­зо­ва­ли все эти го­ды. UEFI был соз­д ан в Intel еще в 1990‑е, а те­п ерь им занима­ет­ся кон­сор­ци­ум крупных тех­но­ло­ги­че­ ­с ких ком­п аний, вклю­ч ая AMD, Microsoft, ARM и дру­гие.

лись элек ­трон­ные под­пи­си. Этот ме­ханизм, осно­ ванный на про­в ер­к е циф­р о­в ых сер­т и­ф и­к а­т ов, ис­п оль­з о­в ал из­в ест­н ую тех­н о­л о­г ию Public Key Infrastructure (PKI). А в UEFI вер­сии 2.2, вы­шед­шей в 2008, под ­держ­ка элек ­трон­ных под­пи­сей рас­ши­ ре­на и рас­про­странена так­же на за­груз­чи­ки ОС.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

58  |  LXF162 Октябрь 2012


SecureBoot Что за штука… как это по­мо­жет пре­дот­вра­тить ата­ки В Азлоумышленников? с вклю­чен­ной SecureBoot об­нов­лен­ О На ПК ный про­цесс за­груз­ки Windows 8 га­ран­ти­ру­

на них на­к лей­к у «Со­вмес­тим с Windows 8». Но для уста­нов­ки са­мой сис­те­мы по-прежнему доста­точ­ но толь­ко со­от­вет­ст­вия техниче­­ских тре­бо­ваний.

ет, что все эле­мен­т ы про­шив­к и и их об­нов­ления безо­п ас­н ы, и что сис ­т е­м а за­щ и ­т ы ком­п ь­ю­т е­р а не по­вре­ж ­де­на.

на лю­бом ком­пь­ю­те­ре с на­к лей­кой В То «Со­есть, вмес­тим с Windows 8» бу­дет UEFI с вклю­чен­ной функ­ци­ей SecureBoot? Да, имен­но это я и имел в ви­д у, вы правильно меня поняли.

О ро­шо, но где тут га­ран­тия, что не по­вре­ж­ В Хо­ де­на са­ма про­шив­ка? Не по­зво­ляя вре­до­носно­му ко­ду за­гру ­жать­ся ты. То есть ма­мин но­вый но­у т­бук О при стар­те сис­те­мы, SecureBoot про­пустит В Ухна Windows 8 бу­дет безо­па­сен как никогда толь­ко про­ве­рен­ный и под­т вер­ж ден­ный код, на­ при­мер, та­кой, как за­груз­чик опе­ра­ци­он­ной сис­те­ мы. Все за­г руз­ч и­к и и драй­в е­р ы долж ­н ы иметь подпись, со­от­вет­с т­вую­щ ую од­но­му из про­ве­рен­ ных сер­т и­фи­к а­тов. Это за­щ и ­т ит вас от ви­ру­с ов сек ­т о­р а за­г руз­к и, а так ­же рут ­к и ­т ов, мас­к и­рую­ щих­ся под драй­ве­ры.

пря­мо из ко­роб­ки? По­жа­луй, дам ей его по­иг­рать, по­ка она при­вы­ка­ет к Ubuntu. По­г о­д и­т е радоваться. Те­п ерь по­л у­ч а­е т­с я, что уста­нов­ка но­вой опе­ра­ци­он­ной сис­те­мы при­р авнива­е т­с я к уста­н ов­ке неау ­т ен­т и­ф и­ц и­р о­ ван­но­го ко­д а, по­сколь­к у на ней от­сут­с т­ву­ет под­ пись, а зна­чит, невоз­мож­но бу­дет устанавливать дистрибутивы.

О

как UEFI смо­жет про­ве­рить за­груз­чик В Нооперационной системы? Вы хо­ти­те ска­зать — я не смо­г у В Что? Вско­ре по­с ле стар­т а сис­т е­мы, пре­ж ­де чем уста­но­вить Linux на свой нетбук с сер­ти­фи­ О пе­ре­д ать браз­ды прав­ления за­груз­чи­к у ци­ро­ван­ной Windows 8? ОС, SecureBoot про­ве­рит подпись всех ко­дов про­ ме­ре, не сра­зу. Имею в ви­д у, что О По крайней шив­ки под­к лю­чае­мых уст­ройств, та­ких как се­те­ на­ша несча­с т­ная про­шив­к а UEFI опи­ра­ет­с я вые кар­ты, за­по­ми­наю­щие уст­рой­ст­ва или ви­део­ кар­ты. За­тем она све­рит все эти подписи с ба­зой дан­ных, и толь­ко тогда мо­д улю будет разрешено за­пустить­ся.

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

«SecureBoot про­пустит толь­ко про­ве­рен­ный и под­твер­жден­ный код.» В И подгде ­пиже­си?хра­нят­ся эти за­ме­ча­тель­ные пи­си хра­нят­ся в двух раз­ных ба­зах дан­ О Под­ ных, а так­же в са­м ой про­шив­ке UEFI. Они пред­став­ля­ют со­бой два спи­ска – «Раз­ре­шен­ные» и «За­пре­щен­ные», и в со­от­вет­с т­вии с ними про­ цесс за­груз­ки мо­жет быть про­дол­жен или за­вер­ шен, ес­ли в под­пи­си рас­по­знан вре­до­носный код. ­ро при­ду­ма­но. Но от­к у­да мне эти под­пи­си В Хит взять? не ва­ша головная боль. Со­глас­но соз­дан­ О Это ной Microsoft но­вой про­грам­ме Сер­ти­фи­ка­ ции Windows, на всех но­вых ком­пь­ю­те­рах с пре­ д уста­н ов­л ен­н ой сис­т е­м ой Windows 8 или со­вмес­ти­мых с ней ПК, но­у т­бу­ках или уст­рой­ст­вах на осно­ве ARM, ти­па план­ше­тов, ба­за под­пи­сей бу­ дет по умол­ч анию. Бо­л ее то­г о, про­и з­в о­д и­т е­л и обо­р у­д о­в ания долж­н ы бу­д ут под­т вер­д ить, что функ­ция SecureBoot в их ма­ши­нах дей­ст­ви­тель­но вклю­че­на. хо­дит, я не смо­г у уста­но­вить Windows 8 В Вы­ на но­у т­бук, ко­то­рый я за­ка­зал? ­но, мо­же­те. Microsoft про­сто по­про­сил О Конеч про­и з­в о­д и­т е­л ей ак ­т и­в и­р о­в ать SecureBoot на всех но­вых ком­пь­ю­те­рах, пре­ж ­де чем ле­пить

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

В Адру нель­гой?­зя из од­но­го ди­ст­ри­бу­ти­ва под­пи­сать но, конеч­но. Но сде­лать это бу­дет непро­ О Мож­ сто. Для за­пуска, да­же в слу­чае, когда ди­ст­ ри­бу­тив под­пи­сы­ва­ет се­бя сам, все рав­но по­тре­бу­ ют­с я под­п и­с и про­и з­в о­д и­т е­л я про­ш ив­к и. Это ре­сур­со­ем­кая за­д а­ча невы­полнимад ­ля ши­ро­ко­го спек­тра ди­ст­ри­бу­ти­вов. Есть и ку­да боль­шая про­ бле­м а. В нынешнем ви­д е, под­п и­с ать яд­р о для SecureBoot – это еще пол­де­ла, по­сколь­к у да­же в этом слу­чае яд­ро не бу­дет за­гру­ж ать непод­пи­ сан­ные мо­д у­ли.

В

И да­же ес­ли мой лю­би­мый ди­ст­ри­бу ­тив под­пи­шет яд­ро, я не смо­г у за­гру­зить до­полнитель­ные мо­ду­ли? При вклю­чен­ной SecureBoot – нет. Как объ­ яснил в сво­ем бло­ге раз­ра­бот­чик Red Hat Мэ­ тью Гар­ретт [Mathew Garrett], это зна­чит, что при­ дет­с я рас­п ро­щ ать­с я с лю­б ым про­е к ­т ом, тре­бую­щим за­груз­ки обя­за­тель­ных мо­д у­лей.

О

ди­ст­ри­бу­ти­вы ухитрятся с этим В И как же спра­вить­ся?

­ный мо­мент, толь­ко два по­п у­ляр­ных О Нади­ сдан т­ри­бу­ти­ва – Fedora и Ubuntu – рас­кры­ли свои стра­те­гии по ра­бо­те с SecureBoot. Fedora под­ пи­шет свой за­груз­чик клю­чом Microsoft, что­бы ее мож­но бы­ло га­ран­ти­ро­ва­но уста­но­вить на лю­бой стан­д арт­ный ПК с Windows 8. В Ubuntu вы­бра­ли под ­ход по­с ложнее. Ди­с т­ри­бу ­тив бу­дет вы­хо­дить с соб­ст­вен­ной под­пи­сью, ко­то­рую поль­зо­ва­те­лям надо будет до­ба­вить в ба­зу дан­ных на сво­ем ком­ пь­ю­те­ре.

В АИ поко­­что­е­мрыйу ислуч­­польше?­зу­ют­ся раз­ные под­хо­ды? мом де­ле, и с тем, и с дру­гим свя­зан ряд О На са­ техниче­­с ких и юри­д и­ч е­­с ких слож­н о­с тей. И, между прочим, Фонду сво­бод­но­го ПО [FSF, Free Software Foundation] не нра­вит­ся ни тот, ни дру­гой. Пер­вый – по­то­му что поль­зо­ва­те­лям Fedora при­ дет­с я за­ви­с еть от под­пи­с и Microsoft и от са­мой Microsoft, как от бла­г о­д е­т е ­ля. Со вто­рым та­кой про­б ле­м ы нет, за­т о до­б ав­л я­е т­с я ку­ч а вся­к их слож­но­с тей, по­сколь­к у поль­зо­ва­те­лям при­дет­ся ко­пать­с я в на­с трой­к ах UEFI, что­бы под­т вер­д ить досто­вер­ность под­пи­си Canonical. на­счет ма­лых ди­ст­ри­бу ­ти­вов, которые В Авне какмейнстрима? чие Linux-ди­ст­ри­бу­ти­вы по­ка что мож­но О Про­ уста­но­вить на обо­ру­до­в ание с сер­т и­фи­ц и­ рован­ным Windows 8 толь­ко при условии от­к лю­ чения SecureBoot. ее, оказывается, мож­но просто взять В О,датак от­к лю­чить? В разъ­яснении сво­ей сер­ти­фи­ка­ци­он­ной О Да. про­г рам­м ы для про­и з­в о­д и­т е­л ей обо­ру­д о­ вания, Microsoft раз­ре­ша­ет им при­ме­нять функ­ цию от­к лю­чения SecureBoot. Я уж бы­ло ис­пу­гал­ся. А выходит, не все В Уфф! так плохо. еще не все. Во-пер­вых, это не зна­чит, что О Это предусмотр­е н стан­д арт­н ый спо­с об ее от­ клю­ч ения. Речь шла о том, что­б ы раз­р е­ш ить про­и з­в о­д и­т е­л ям обо­р у­д о­в ания ис­п оль­з о­в ать ме­ханиз­мы от­к лю­чения дан­ной функ­ции по соб­ ственному усмо­т рению. А стало быть, ка­ж ­д ый разработает свой индивидуальный спо­соб, и это ни в коей мере не упростит су­щ ест­в о­в а­н ие ди­ст­ри­бу ­ти­вам. это бу­дет непро­сто, но поль­зо­ва­ В Ну и пусть те­ли все рав­но смо­г ут по же­ланию от­к лю­чить SecureBoot, так? Да, но в идеа­ле это­го не долж­но тре­бо­вать­ ся. Как нетрудно понять, сам ме­х анизм SecureBoot всех пол­н о­с тью уст ­р аи­в а­е т. Уж гдегде, а в ди­с т­ри­бу­ти­вах Linux безо­пас­ность всегда бы­л а пре­в ы­ш е все­г о, а от­к лю­ч ив SecureBoot, вы тут же ли­шае­тесь пре­иму ­ществ, ко­то­рые она предоставля­е т. Кро­м е то­г о, от­к лю­ч ение бу­д ет воз­м ож ­н о толь­к о на ПК с ар­х и ­т ек ­т у ­р ой х86. А в ма­шинах на осно­ве ARM, сер­ти­фи­ци­ро­ван­ных Windows 8, Microsoft от­к лю­ч ать SecureBoot за­пре­щ а­ет. |

О

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 59


Рецепты доктора Брауна

По рецептам доктора Брауна

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

Эзо­те­ри­че­ское сис­тем­ное ад­ми­ни­ст­ри­ро­ва­ние из при­чуд­ли­вых за­во­ро­тов ки­шок сер­вер­ной

Ко­ме­дия оши­бок

В

команд­н ой стро­к е всегда го­р аз­д о про­щ е сде­л ать что-то неверно, чем вер­но. Это на ­хо­д ит свое от ­р а ­жение в раз­н о­о б­р а­з ии со­о б­щ ений об ошиб­к ах, встре­чающихся в Linux. От неко­то­рых хо­чет­ ся убе­ж ать и спря­тать­ся, дру­гие мож­но по­ нять, толь­ко имея под ру­кой ис­ход­ный код – но есть и очень яр­кие. Они мне нра­вят­ся. Вот несколь­ко при­ме­ров и про­грам­мы, ко­ то­рым они при­над ­ле­жат: Cowardly refusing to create an empty archive [Трус­ли­во от­к а­зы­ва­юсь соз­д ать пус­той ар­х ив] – tar I refuse to debug myself! [От­ка­зы­ва­юсь от­ла­ж и­вать сам се­бя!] – gdb Didn’t think there would be that many child processes... Exiting [Не ждал, что до­чер­них про­цес­сов так мно­го... Ухо­ж у] – foomatic Null message body; hope that’s ok () [Со­об­ще­ние пус­то; на­де­юсь, все ОК] – mail Manufacturer is guessed because of the orange forum embargo [Изготовитель ука­ зан по до­г ад­ке из-за эм­бар­го апель­си­но­ во­го фо­ру­ма] – cdrecord

Стро­ки в ком­плек­те Ин­те­рес­ный на­бор со­об­щений вы­удит из сис­ тем­ных дво­ич­ных фай­лов ко­ман­да strings: strings -f -n 20 /bin/* /usr/bin/* Учтите, что ко­ман­д а вы­д а­ет поч­т и мил­ли­он строк – ес­те­ст­вен­но, без кон­тек­ста, и не­яс­но, ка­кая ошиб­ка вы­зва­ла эту бур­ную ре­ак­цию. Итак, в этом ме­ся­це у ме­ня для вас два за­ дания. Во-пер­вых, при­ш ли­те на мою почту са­мое ин­т ри­г ую­щее со­об­щение об ошиб­ке, ко­то­рое вы ви­де­ли (для Linux, по­ж а­л уй­с та, не ко­пай­те в про­ш­лом), и, во-вто­рых, при­д у­ май­те со­об­щение об ошиб­ке, ко­то­рое, на ваш взгляд, долж­но быть в Linux, а его нет. Луч­ шие бу­дут опуб­ли­ко­ва­ны. А ес­ли вам по­нра­ви­лась эта те­ма, об­шир­ ная кол­лек­ция со­об­щений имее­тся на сай­те http://neil.franklin.ch/Jokes_and_Fun/Canon_ Error_Messages (по большей части из эпохи до Linux). chris.linuxformat@gmail.com

Ту­ман­ные та­ри­фы Вы­бор об­лач­ных сер­ви­сов на AWS ста­но­вит­ся та­ким же слож­ным, как и за­каз ко­фе в Стар­бак­се.

Н

а за­р е эпо­х и Amazon Web Services все бы­ло про­сто: соз­даете несколь­ко эк­зем­ п­ля­ров ком­пь­ю­те­ров, под­к лю­чаете к ним же­с т­к ие дис­к и – и за па­ру се­к унд готов по­ча­со­ вой та­риф для вашей кон­фи­г у­ра­ции. Увы, все ме­ ня­ет­ся. Те­перь, ес­ли вы не за­щи­ти­ли док­тор­скую дис­с ер­т а­ц ию по те­м е «Гео­д е­з и­ч е­­с кая пол­н о­т а бес­конеч­но диф­фе­рен­ци­руе­мых Ри­ма­но­вых про­ странств», рас­чет та­ри­фа сведет вас с ума. Но не бой­т есь – по­м ощь ря­д ом. У Amazon на http://calculator.s3.amazonaws.com/calc5.html есть «Про­с той каль­к у­ля­тор ме­с яч­но­го та­ри­фа». Узнав, сколь­ко вам нуж­но эк­зем­п­ля­ров ком­пь­ю­те­ ров по тре­бо­ванию и сколь­ко за­ре­зер­ви­ро­ван­ных эк­зем­п ­ля­ров, и ка­к ие из 12 доступ­ных ти­пов эк­ зем­п­ля­ров, сколь­ко эла­стич­ных IP-ад­ре­сов, и ка­ кой объ­ем мес­та на дис­ке (и ка­кая его часть будет «из­бы­точ­ной») мо­г ут вам по­на­до­бить­с я, сколь­ ко за­про­с ов PUT и GET вы вы­полните и сколь­ко

VPN-со­единений уста­но­ви­те, а так­же... и... (в об­ щем, спи­сок до­воль­но длин­ный, но, уве­рен, вы по­ ня ­л и идею), каль­к у­л я ­т ор по­с чи ­т а­е т стои­м ость. На рисун­ке внизу по­ка­за­на толь­ко од­на из 17 вкла­ док по сер­ви­сам Amazon. Это ка­кое-то но­вое зна­ чение сло­ва «про­стой», рань­ше я о нем не знал. У Rackspace то­же есть каль­к у­ля­тор стои­мо­с ти (http://www.rackspace.co.uk/cloudhosting/learnmore/calculator); он го­раз­до про­ще, пре­ж ­де все­го по­то­му, что на­бор сер­ви­сов здесь го­раз­до беднее. До­п устим, я понимаю пре­иму ­ще­с т­ва бы­с т­рой мас­ш та­б и­р уе­м о­с ти и по­ч а­с о­в ой та­р и­ф и­к а­ц ии, а так­же пе­ре­но­са ка­пи­таль­ных за­трат в опе­ра­ци­ он­ные, но мне все же ин­те­рес­но: когда, на­конец, кто-нибудь ска­жет, что рас­хо­да­ми управ­лять про­ ще, имея соб­ст­вен­ный да­та-центр? А что ду­маю я? Мне, по­ж а­луй­с та, обез­ж и­рен­ ный вен­те мок­ка фрап­пу­чи­но с 50  % со­дер­жанием ко­феи­на, с со­бой.

Бес­плат­ные про­бы По­про­бо­вать web-сер­ви­сы Amazon мож­но лег­ ко (и бес­плат­но), осо­бен­но ес­ли у вас уже есть обыч­ная учет­ная запись Amazon. Amazon пред ­л а­г а­е т бес­п лат­н ый го­д о­в ой пе­ри­од с мо­мен­та ре­ги­ст­ра­ции, в те­чение ко­то­ ро­г о мож­н о по­п ро­б о­в ать клю­ч е­в ые сер­ви­с ы AWS. Од ­н а­к о ес ­л и вы вый ­д е­т е за пре ­д е ­л ы до­пусти­мых ре­сур­сов или за 12 ме­ся­цев тес­то­ во­го пе­рио­да, то услу­ги при­дет­ся оп­ла­тить.

> Simple Monthly Calculator от Amazon. Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

60  |  LXF162 Октябрь 2012


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Рецепты доктора Брауна

Итак, вы хо­ти­те стать си­сад­ми­ном? Вто­рая часть се­рии, ко­то­рая пре­вра­тит вас из но­вич­ка в звез­ду сис­тем­но­го ад­ми­ни­ст­ри­ро­ва­ния. Пого­во­рим о на­строй­ке се­ти.

В

про­ш лом ме­с я­ц е мы го­в о­р и­л и о спо­с о­б ах уда ­л ен­н о­ го под­к лю­ч ения к сер­в е­р ам, ко­т о­р ые вы ад­м инист­ ри­р уе­т е. Мы об­с у­д и ­л и та­к ие ути ­л и ­т ы, как ssh и VNC. На сей раз мы по­го­во­рим об осно­вах на­строй­ки се­ти на сер­ве­ре. Вы нау­чи­тесь: » За­да­вать IP-ад­рес, мас­к у под­се­ти и дру­гие па­ра­мет­ры се­те­вых ин­тер­фей­сов » За­да­вать мар­шрут по умол­чанию » За­да­вать ста­ти­че­­ские мар­шру­ты к за­дан­ным се­тям » За­да­вать рас­по­ло­жение DNS-сер­ве­ров » На­страи­вать Linux для ра­бо­ты в ка­че­­ст­ве мар­шру ­ти­за­то­ра Во всех стать­я х этой се­рии мы ра­бо­т а­ем с CentOS 6.2. Ес­ли вы хо­ти­те по­сле­до­вать на­ше­му при­ме­ру (что я на­стоя­тель­но со­ве­ тую сде­лать), уста­но­ви­те CentOS (на­при­мер, в вир­т у­а ль­ную ма­ши­ ну), как опи­са­но на пре­ды­д у­щем уро­ке. Итак, начнем... Сер­в е­р ы (по оп­р е­д е­л ению) су­щ е­с т­в у­ю т не изо­л и­р о­в ан­н о, а под­к лю­ча­ют­ся к се­тям. На глав­ном ри­сун­ке по­ка­за­на ти­пич­ная си­т уа­ция, в ко­то­рой мо­жет ока­зать­ся сер­вер. Ос­нов­ные пер­со­на­ жи на­шей ис­то­рии (по­ка­зан­ные на ри­сун­ке) та­ко­вы:

A: Глав­ный ге­рой на­шей ис­то­рии. Это ком­пь­ю­тер с Linux, ко­то­рый мы на­страи­ва­ем. Он на­хо­дит­ся в се­ти 10.1.3.0/24, од­ной из внут­ ренних се­тей ком­пании. B: Ком­пь­ю­тер во внут­ренней се­ти 10.1.2.0/24. C: Мар­шру ­т и­з а­тор, ко­то­рый свя­зы­в а­е т на­ш у внут­рен­нюю сеть с кор­по­ра­тив­ной ма­ги­ст­ра ­лью, се­тью 10.1.1.0/24. Как и осталь­ные мар­шру ­ти­за­то­ры на ри­сун­ке, он мо­жет быть и спе­ц уст­рой­с т­вом от из­го­то­ви­те­лей вро­де Cisco, и ком­пь­ю­те­ром с Linux. На его при­ ме­ре мы рас­смот­рим на­строй­к у мар­шру ­ти­за­то­ра Linux. D: Мар­шру ­ти­за­тор, свя­зы­ваю­щий внут­рен­нюю сеть с кор­по­ра­тив­ ной ма­ги­ст­ра ­лью. E: Мар­шру ­ти­за­тор, свя­зы­ваю­щий две внут­ренние се­ти. F: DNS-СЕР­В ЕР ком­п ании (соб­с т­в ен­н ые DNS-сер­в е­р ы есть не у всех ком­паний, но у этой есть). G: Дру­гой ком­пь­ю­тер на кор­по­ра­тив­ной ма­ги­ст­ра ­ли. H: Мар­шру ­т и­за­тор, свя­зы­ваю­щий всю ком­панию с Ин­тернетом. Его внешний IP-ад­р ес – един­с т­в ен­н ый доступ­н ый из­в не ад­ рес на ри­сун­ке. Все осталь­ные на­хо­д ят­ся в диа­па­зоне 10.0.0.0/8, вы­де­лен­ном толь­ко для внут­реннего ча­ст­но­го ис­поль­зо­вания.

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

Ин­тер­нет

DNS-сер­вер 80.244.178.150

F

H

G 10.1.1.200

10.1.1.254

Кор­по­ра­тив­ная ма­ги­ст­раль

10.1.1.0/24 Сеть

Ваш сер­вер

10.1.1.1

C

D B

10.1.3.252

A 10.1.3.254

E 10.1.2.5

10.1.2.0/24 Сеть

10.1.3.8 10.1.2.252

10.1.3.0/24 Сеть

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

62  |  LXF162 Октябрь 2012


Рецепты доктора Брауна

Ос­нов­ная часть на­с трой­к и се­т и – за ­д ание IP-ад ­ре­с а и мас­к и под­с е­т и се­те­во­го ин­тер­фей­с а на­ше­го сер­ве­ра. В боль­шин­с т­ве ди­с т­ри­бу ­т и­вов Linux это мож ­но сде ­лать в гра­фи­че­­ских ути ­ли­ тах, но мы пред­по­ла­га­ем, что на сер­ве­ре нет гра­фи­че­­ско­­го ра­бо­ че­го сто­ла. По­это­му по­смот­рим, как из­менить со­от­вет­ст­вую­щие кон­фи­г у­ра­ци­он­ные фай­лы. Все это обыч­ные тек­с то­вые фай­лы, и слож­ностью они не отличаются. В фай­ле /etc/sysconfig/network за­д а­ют­ся неко­то­рые ба­зо­вые сис­тем­ные на­строй­ки, то есть те, что при­ме­ня­ют­ся ко всем се­те­ вым ин­тер­фей­с ам сер­ве­ра, а не толь­ко к од­но­му. Файл обыч­но очень ко­рот­кий, нечто вро­де это­го: NETWORKING=yes HOSTNAME=centos62.example.com На­строй­ки для от­дель­ных се­те­вых ин­тер­фей­сов, в дан­ном слу­ чае для eth0, за­д а­ют­ся в фай­лах с име­на­ми ти­па /etc/sysconfig/ network-scripts/ifcfg-eth0. Со­дер­ж и­мое фай ­ла в CentOS 6.2 за­ ви­сит от на­с тро­ек се­ти, за­д ан­ных во вре­мя уста­нов­ки сис­те­мы, но в нем ско­рее все­го бу­дет сле­д ую­щая стро­ка: NM_CONTROLLED=”yes” Она оз­н а­ч а­е т, что ин­т ер­ф ейс на ­х о­д ит­с я под управ­л ением NetworkManager – ути­ли­т ы из Red Hat (пе­ре­ня­той дру­г и­ми ди­ ст­ри­бу ­ти­ва­ми), ко­то­рая пы­та­ет­ся под­дер­ж ать ак ­тив­ное се­те­вое со­единение для ком­пь­ю­те­ров, ко­то­рые час­то пе­ре­ме­щ а­ют­ся ме­ ж ­д у раз­лич­ны­ми се­тя­ми, с минима ­льным вме­ша­тель­ст­вом поль­ зо­ва­те­ля или во­об­ще без него. Об­на­ру­ж ив про­вод­ное Ethernetсо­единение, она ак­ти­ви­ру­ет его, а ес­ли сде­лать это не уда­с т­ся, то она под­к лю­чит­ся к се­ти Wi-Fi, к ко­то­рой вы под­к лю­ча­лись ра­ нее. Эта ути­ли­та весь­ма удоб­на для но­у т­бу­ков, но для сер­ве­ров не го­дит­ся. По­это­му мы из­ба­вим­ся от NetworkManager и на­стро­ им все вруч­ную. Спер­в а оста­н о­в им NetworkManager и от­м еним его за­п уск во вре­мя за­груз­ки: # service NetworkManager stop # chkconfig NetworkManager off Про­щ ай, NetworkManager. Да ­л ее от ­к ро­е м файл ifcfgeth0 и за­д а­дим нуж­ные па­ра­мет­ры. Ес­ли вы сле­д уе­те за на­ми, пом­ ните, что IP-ад­рес, ко­то­рый вы уста­но­ви­те, дол­жен со­от­вет­ст­во­ вать ва­шей се­ти и ско­рее все­го не сов­па­дет с ука­зан­ным здесь. Вот про­стой при­мер: DEVICE=”eth0” ONBOOT=yes BOOTPROTO=none IPADDR=10.1.3.8 NETMASK=255.255.255.0 IPV6INIT=no

> Эта ути­ли­та Red Hat час­то ис­поль­зу­ ет­ся в гра­фи­че­ских ути­ли­тах на­строй­ки се­те­вых ин­тер­фей­ сов в раз­лич­ных ди­ст­ри­бу­ти­вах.

Будь­те внима­тель­ны с син­так­си­сом фай­ла. Он об­ра­ба­ты­ва­ет­ ся на­пря­мую обо­лоч­кой, по­это­му син­так­сис дол­жен быть вер­ным. В ча­ст­но­сти, во­круг зна­ка ра­вен­ст­ва не до­пуска­ют­ся про­бе­лы. Это сле­д у­е т со­б лю­д ать стро­го. Из­менив этот файл, пе­ре ­з а­п усти ­те сеть, что­бы из­менения во­шли в си­лу: # system network restart Эта ко­ман­д а оста­но­вит, а за­тем пе­ре­за­пустит все се­те­вые ин­ тер­фей­сы (в дан­ном слу­чае их два – ин­тер­фейс об­рат­ной пет­ ли и eth0). Ес­ли у вас несколь­ко се­те­вых ин­тер­фей­сов, то мож­но пе­р е­з а­п устить толь­ко необ­хо­д и­мые ин­т ер­ф ейсы, следующим об­ра­зом: # ifdown eth0 # ifup eth0 Ка­кой бы спо­соб вы ни вы­бра­ли, те­перь нуж­но про­ве­рить, что ин­тер­фейс ак­ти­вен – это делается та­к: # ifconfig eth0 eth0 Link encap:Ethernet HWaddr 08:00:27:6D:55:56 inet addr:10.1.3.8 Bcast:10.1.3.255 Mask:255.255.255.0

Запись IP-ад­ре­са Ад­рес IPV4 со­дер­жит 32 би­та. При за­пи­си он раз­би­в а­е т­с я на фраг ­м ен ­т ы по 8 бит, и они за ­пи­с ы­в а­ю т­с я в ви ­д е де­с я ­т ич­ных чи­сел (от 0 до 255) че­рез точ­ки, как по­ка­ за­но на ри­сун­ке. Это на­зы­ва­ет­ся де­ся­тич­ ной за­п и­с ью че­р ез точ­к у. Пер­в ая часть ад­ре­са – иден­ти­фи­ка­тор се­ти; он иден­ти­ фи­ци­ру­ет сеть и ис­поль­зу­ет­ся при мар­шру­ ти­з а­ц ии. Вто­р ая часть – иден­т и­ф и­к а­т ор ком­пь­ю­те­ра; он иден­ти­фи­ци­ру­ет кон­крет­ ный ком­пь­ю­тер (или, стро­го го­во­ря, кон­ крет­ное под­к лю­чение) в дан­ной се­ти. Мас­ка под­се­т и в кон­к рет­ной се­т и обо­ зна­ча­ет границу ме­ж ­д у иден­ти­фи­ка­то­ром се­ти и иден­ти­фи­ка­то­ром ком­пь­ю­те­ра. Еди­ ницы в ней со­от­вет­ст­ву­ют иден­ти­фи­ка­то­ру

се­ти, ну­ли – иден­ти­фи­ка­то­ру ком­пь­ю­те­ра. К при­ме­ру, мас­к а под­с е­т и 255.255.252.0, в дво­ич­ном ви­де – 22 единицы и 10 ну­лей, оз­н а­ч а­е т, что пер­в ые 22 би­т а яв­л я­ю т­с я иден­ти­фи­ка­то­ром се­ти. Ча­ще всего вы уви­ди­те запись се­те­вой мас­ки в ви­де суф­фик­са. На­при­мер, в се­ти 10.1.3.0/24 иден­т и­ф и­к а­т о­р ом се­т и яв­л я­ ют­с я пер­в ые 24 би ­т а ад ­р е­с а. В дан­н ом слу­чае граница ме­ж ­д у иден­ти­фи­ка­то­ра­ми се ­т и и ком­пь­ю­т е­р а про­хо­д ит по границе бай­т а, но это не является обя­з а­т ель­ным требованием. В на­с тоя­щее вре­мя в за­ви­ си­м о­с ти от кон ­т ек­с та ис ­п оль ­з у ­ю т­с я как бо­лее ста­рая то­чеч­ная де­ся­тич­ная запись, так и бо­лее но­вая запись с суф­фик­сом.

192.168.0.5/24

Ко­ли­че­ст­во бит в IP-ад­ре­се, ко­то­рые долж­ны ин­тер­пре­ти­ро­ вать­ся как иден­ти­фи­ка­тор се­ти Мас­ка под­се­ти

IP-ад­рес

11111111

11000000

11111111

10101000

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

11111111

00000000

00000000

00000101 Иден­ти­фи­ка­тор ком­пь­ю­те­ра

> IP-ад­рес со­сто­ит из иден­ти­фи­ка­то­ра се­ти и иден­ти­фи­ка­то­ра ком­пь­ю­те­ра. Суф­фикс /24 оз­на­ча­ет ме­сто их раз­де­ле­ния.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 63


Рецепты доктора Брауна

Стань­те экс­пер­том На man-страницах очень невразумительно опи­с а­н а об­щ ая кар­т и­н а на­с трой­к и се­т и IP, по­э то­м у я бы по­с о­ве ­т о­в ал вам книгу «Ру­ко­во­дство ад­минист­ра­то­ра се­ти Linux» из ­д а­т ель­с т ­в а О’Рэйли (третье из ­д ание). А ес­ли вы дей­с т­ви­т ель­но хо­т и­т е по­нять, как ра­бо­т а­ют се­т и IP, про­ч ти ­те «Ил­лю­ст­ ри­ро­ван­ный TCP/IP, том 1: Про­то­ко­лы». Это вто­рое из­дание книги Ке­ви­на Фол­ла [Kevin

Fall], осно­ван­ной на клас­си­че­­ской работе по­кой­но­го Ри­чар­д а Сти­вен­са [Richard Ste­ vens], которая, на мой взгляд, является луч­шей книгой о TCP/IP. Ес­ли вы хо­т и­те от­де­лать­с я бес­п лат­но, за­гру­зи­те Ру­ко­во­дство и техниче­­ский об­зор TCP/IP из Крас­ной книги IBM с http://www. redbooks.ibm.com/abstracts/gg243376. html?Open.

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Для крат­ко­с ти я уда­л ил несколь­ко строк вы­в о­д а, но здесь важ­но то, что кар­те на­зна­чен ад­рес IPV4. Как ви­ди­те, ин­тер­фейс ак ­т и­в ен и име­е т по­л а­г аю­щ ий­с я ему IP-ад­р ес. Да, я знаю, что на man-странице ifconfig го­во­рит­ся, что та­к ие ад­ре­с а уже уста­ ре­ли. Но все про­дол­ж а­ют ими поль­зо­вать­ся. Как на­пи­с ал Марк Твен, про­чи­тав свой нек­ро­лог в «Нью-Йорк Таймс»: «Слу­хи о мо­ей смер­ти силь­но пре­уве­ли­че­ны». Еще один спо­соб ощу­тить те­п­лое, при­ят­ное и тре­пет­ное ощу­ щение то­го, что ин­тер­фейс жив – по­про­бо­вать по­пин­го­вать его с дру­го­го ком­пь­ю­те­ра. Ес­ли сер­вер Linux за­пу­щен на вир­т у­а ль­ной ма­шине, по­про­буй­те по­пин­го­вать его с хоста: # ping -c1 10.1.3.8 PING 10.1.3.8 (10.1.3.8) 56(84) bytes of data. 64 bytes from 10.1.3.8: icmp_req=1 ttl=64 time=11.6 ms --- 10.1.3.8 ping statistics --1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 11.661/11.661/11.661/0.000 ms

Фи­наль­ные штри­хи Сле­д ую­щ ая за ­д а­ча – оп­ре­де ­лить шлюз по умол­чанию. На этот шлюз мы бу­дем пе­ре­на­прав­лять па­ке­т ы, пред­на­зна­чен­ные для ком­пь­ю­т е­ров вне на­шей се­т и, при усло­вии, что бо­лее точ­но­го мар­шру­та не за­д а­но. По су­ти, шлюз по умол­чанию – по­с леднее при­бе­ж и­ще. На на­шей схе­ме се­ти шлюз по умол­чанию для сер­ ве­ра Linux – это нижнее под­к лю­чение к мар­шру­ти­за­то­ру C. Шлюз по умол­ч анию мож­н о ука­з ать в фай­л е ifcfg-eth0 следующим об­ра­зом: GATEWAY=10.1.3.254 На­ко­нец, нуж­но ска­зать сер­ве­ру, где на­хо­д ят­ся его DNS-сер­ве­ ры. Для это­го нуж­но до­ба­вить в файл /etc/resolv.conf стро­к у nameserver 10.1.1.200 В дан­ном слу­чае мы поль­зу­ем­ся ме­ст­ным DNS-сер­ве­ром на на­ шей кор­по­ра­тив­ной ма­ги­с т­ра­ли. Ско­рее все­го этот сер­вер бу­дет толь­ко кэ­ши­ро­вать за­про­сы, пе­ре­на­прав­ляя их на DNS-сер­вер бо­ лее вы­со­ко­го уров­ня и за­по­ми­ная по­сле­до­ва­тель­ные за­про­сы од­ них и тех же дан­ных, ко­то­рые мож­но со­хранить в локаль­ном кэ­ше и за­тем бы­ст­ро из­влечь от­т у­да. Ес­ли у вас нет локаль­но­го сер­ве­ра DNS, ука ­жи­те внешний. Ка­ким бы ни был основ­ной сер­вер DNS, сто­ит ука­зать вто­рич­ ный (про­сто до­бавь­те еще од­ну стро­к у nameserver в resolv.conf), что­бы раз­ре­шение имен про­дол­ж а ­ло ра­бо­т ать, ес­ли основ­ной сер­вер вый­дет из строя. Это один из немно­гих слу­ча­ев, когда для сме­ны кон­фи­г у­ра­ции не нуж­но от­прав­лять сиг­нал де­мо­н у или что-то пе­ре­за­пускать. Из­менен­ный файл resolv.conf бу­дет про­чи­ тан ав­то­ма­ти­че­­ски при вы­полнении сле­дую­ще­го за­про­са DNS. На этом ба­зо­вая на­строй­ка сер­ве­ра за­кон­че­на. Од­на­ко кое-что мож­но улуч­шить. В дан­ной кон­фи­г у­ра­ции наш ком­пь­ю­тер об­ра­ тит­ся к се­ти 10.1.2.0/24, прой­д я че­рез шлюз по умол­чанию C, а за­ тем че­рез мар­шру­ти­за­тор D. Но, конеч­но, есть и бо­лее ко­рот­кий

путь – че­рез мар­шру­ти­за­тор E. Что­бы сер­вер знал об этом мар­ шру ­т е, нуж ­н о до­б а­в ить при­м ер­н о та­к ую стро­к у в файл /etc/ sysconfig/network-scripts/routeeth0: 10.1.2.0/24 via 10.1.3.252 Таб­ли­ц у мар­шру ­ти­за­ции сер­ве­ра мож­но про­смот­реть так: $ netstat -nr Kernel IP routing table Destination Gateway Genmask Iface 10.1.3.0 0.0.0.0 255.255.255.0 eth0 10.1.2.0 10.1.3.252 255.255.255.0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 eth0 0.0.0.0 10.1.3.254 0.0.0.0 eth0 Я немно­го со­кра­тил вы­вод для эко­но­мии мес­та. Таб­ли­ца марш­ ру ­т и­з а­ц ии ис­поль ­зу­е т­с я так: когда вхо­д я­щ ий па­кет по­с ту ­п а­е т на уро­вень об­ра­бот­чи­ка про­то­ко­ла IP яд­ра, он сравнива­ет­ся с ка­ ж ­дым мар­шру ­том в таб­ли­це по оче­ре­ди. Сравнение вы­пол­ня­ет­ ся пу ­тем по­би­то­во­го объ­е­динения по «И» IP-ад­ре­с а на­зна­чения па­ке­та со зна­чением Genmask в таб­ли­це, а за­тем сравнением ре­ зуль­т а­т а со зна­чением Destination. Ес­ли они рав­ны, па­кет со­от­ вет­с т­ву­ет пра­ви­лу. Из со­от­вет­с т­вую­щих пра­ви­лу па­ке­тов вы­би­ ра­ет­ся са­мый кон­крет­ный мар­шрут (с са­мой длин­ным зна­чением Genmask). В пер­вой стро­ке таб­ли­цы за­д а­на сеть, на­пря­мую под­к лю­чен­ ная к на­шей (шлюз ука­зан как 0.0.0.0). Во вто­рой стро­ке оп­ре­де­ ля­ет­ся мар­шрут к се­ти 10.1.2.0 (это сле­д у­ет из стро­к и, ко­то­рую мы по­мес­ти­ли в route-eth0). Тре­тью стро­к у до­ба­вил де­мон Avahi, реа­ли­зую­щий ар­хи­тек­т у­ру Zeroconf Apple; она не от­но­сит­ся к на­ шей ис­то­рии. Чет­вер­тая стро­ка – мар­шрут по умол­чанию. Лю­бой па­кет, для ко­то­ро­го не на­ш лось бо­лее точ­но­го мар­шру ­та, бу­дет со­от­вет­с т­во­вать это­му пра­ви­лу, так как по­би­то­вое объ­е­динение по «И» лю­бо­го ад­ре­с а с Genmask 0.0.0.0 бу­дет со­от­вет­с т­во­вать Destination 0.0.0.0.

На­строй­ка мар­шру­ти­за­то­ра О сер­в е­р е Linux, с его един­с т­в ен­н ым се­т е­в ым ин­т ер­ф ей­с ом, мы по­го­во­ри­ли вдо­воль. По­ста­вим се­бе бо­лее ам­би­ци­оз­ную цель: на­стро­им ком­пь­ю­тер с Linux так, что­бы он иг­рал роль мар­шру­ти­ за­то­ра C на схе­ме. Это очень про­сто. У это­го ком­пь­ю­те­ра два се­ те­вых ин­тер­фей­с а, eth0 и eth1. Пусть eth1 – верхний ин­тер­фейс с IP-ад­ре­сом 10.1.1.1, а eth0 – нижний с IP-ад­ре­сом 10.1.3.254. Вам по­на­до­бит­с я соз­д ать два кон­фи­г у­ра­ц и­он­ных фай­ла ifcfg-eth0 и ifcfg-eth1, ука­зав в ка­ж ­дом со­от­вет­с т­вую­щий IP-ад­рес. Так­же не за­будь­те из­менить стро­к у DEVICE= в со­от­вет­ст­вии с именем ин­ тер­фей­са. Един­ст­вен­ное, что оста ­лось сде­лать для пре­вра­щения ком­пь­ю­те­ра в мар­шру ­т и­за­тор – вклю­чить пе­ре­на­прав­ление IPпа­ке­тов (под этим я понимаю при­ем па­ке­та на один се­те­вой ин­ тер­фейс и его пе­ре­на­прав­ление на дру­гой). Яд­ро Linux не де­ла­ет это­го по умол­чанию, но вклю­чить его лег­ко – про­сто про­пи­ши­те 1 в со­от­вет­ст­вую­щий па­ра­метр яд­ра та­ким об­ра­зом: # echo 1 > /proc/sys/net/ipv4/ip_forward То же са­мое мож­но сде­лать и по­ко­ро­че: # sysctl -w net.ipv4.ip_forward=1 Эта ко­ман­д а вклю­чит пе­ре­на­прав­ление IP-па­ке­тов. Что­бы из­ менения ста ­л и по­с то­я н­н ы­м и, про­с то до­б авь­т е та­к ую стро­к у в /etc/sysctl.conf: net.ipv4.ip_forward = 1 Го­то­во! Вы толь­ко что на­строи­ли мар­шру ­ти­за­тор! Ес­ли вы за­ хо­ти­те по­про­бо­вать это на VMWare, VirtualBox или дру­гой тех­но­ло­ гии вир­т уа ­ли­за­ции, до­ба­вить еще один се­те­вой ин­тер­фейс в ок­ нах на­строй­ки вир­т у­а ль­ной ма­ши­ны мож­но па­рой щелч­ков мы­ши. На са­мом де­ле, при же­лании мож­но соз­дать це­лую вир­т у­а ль­ную се­те­вую ин­фра­струк­т у­ру. Че­рез ме­сяц мы по­го­во­рим об управ­лении хранили­щ а­ми дан­ ных. Мы нау ­чим­с я до­бав ­лять дис­к и, раз­би­в ать их на раз ­де ­лы, соз­да­вать фай­ло­вые сис­те­мы и мно­гое дру­гое. Уви­дим­ся! |

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

64  |  LXF162 Октябрь 2012


Учебники Наши эксперты помогут вам с любым приложением Linux! ЕВГЕНИЙ БАЛДИН Упо­мя­нул PostgreSQL на за­щи­те кан­ди­дат­ ской дис­сер­та­ции по фи­зи­ке эле­мен­тар­ ных час­тиц.

Растр умирает – да здравствует вектор!

В этом ме­ся­це вы на­у­чи­тесь…

Анна Каренина бросилась под поезд. Ну и что за сенсация? А то, что тогда в России большинство читателей ни разу не видели железной дороги. Александр Митта

В

ы не поверите, но идею не­ зависимости от разрешения устройства в компьютерный мир занес Кнут с его системой разби­ ения параграфов на красивые абзацы TeX аж в 1978 году. Люди особо в это не вникли, ведь пиксели были прямо перед глазами и буквально их мозо­ лили; и весь шум по поводу шрифтов на экране идет от неэффективности способов их маскировки. Что в об­ щем бессмысленно. Человече­с кий глаз все равно замечает нестыковки: пиксели размером больше угловой минуты на самом удобном для чтении расстоянии гарантированно видны. А ныне одна крупнояблочная ком­ пания, эксплуатируя сумрачный ко­ рейский гений, токмо роста своих прибылей ради организовала рынок девайсов, где пикселей и не видно. Исчезли помехи для вашей фантазии и шрифтового десктопного безумия. Чем это грозит? Придется с года­ ми забыть про растр. Совсем. Как бы вы ни млели от любимого растрового логотипа вашего сайта, пора делать его векторным. Текст на экране те­ перь можно верстать как для печати, то есть не страдать насчет места букв на экранной решетке, а вволю при­ менять те же TeXовские механизмы, но в реальном времени. Заодно это решит проблему утилизации возрос­ шей процессорной мощи. Пора гото­ вить GNU/Linux для десктопа будуще­ го, даже если вы его пока не видели. E.m.Baldin@inp.nsk.su

Пре­се­кать При­ду­мы­вать Избегать По­мо­гать шпи­ков ��������������� 66 па­роль ���������������� 70 ка­та­ст­ро­фы ����� 74 юзерам ��������������� 76 Джонатан Робертс пока­ зывает, как при­менить ваш Raspberry Pi для SSHтуннели­ро­вания, что­бы никто не ты­рил у вас информацию.

Пе­рей­ми­те у Джеймса Лит ­то­на достойную стра­ те­гию на­зна­чения па­ро­ ля, и ва­ши дан­ные бу­д ут в безо­пас­но­сти. Пароль “password” он не советует.

Позвольте Нейлу Бот­ви­к у упрятать ваши дан­ные в об­ла­ках – он про­де­мон­ ст­ри­ру­ет ряд полезных ва­ ри­ан­тов. Тогда гори все ог­ нем, а данные и не охнут.

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

Осваивать Сканиро­вать Об­лег­чать мат­ри­цу ������������� 80 хосты ������������������ 84 на­груз­ку ������������ 88 Се­рия уро­ков от Ни­ка Вей­ча до­б­ра ­лась до при­страи­ ва­ния к Arduino кно­пок. Из мон­тажной платы вый­ дет неплохая клавиатура.

Игорь Штом­пель на­ко­ пал гра­фи­че­­ских ин­тер­ фей­сов к се­те­во­му скане­ ру. Кла­виа­т у­ра – на по­кой, мы­ши – на старт.

Вам нужно бо­лее лег­кое ре­шение для вир­т уа ­ли­за­ ции? Джон Лэйн представ­ ляет chroot на сте­рои­дах: Linux Containers.

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

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 65


Raspberry Pi Нач­ни­те зна­ком­ст­во с Linux и но­вым кар­ман­ным ком­пь­ю­те­ром

Raspberry Pi: Поль­зуй­тесь пуб­лич­ным Wi-Fi безо­пас­но и одо­лей­те цен­зо­ров: Джо­на­тан Ро­бертс рас­ска­зы­ва­ет об SSH-ту­нел­ли­ро­ва­нии. и шпио­нов! Raspberry Pi пре­крас­но под­хо­дит для это­го. Так как он сто­ит недо­ро­го и ра­бо­та­ет бес­шум­но, его мож­но про­с то дер­ жать на пол­ке, по­ка он не по­на­до­бит­ся.

Raspbian

Наш эксперт Су­пер-скрыт­ный Джо­на­тан Ро­бертс ко­па­ет­ся в Linux с дет­ских лет. Ины­ ми сло­ва­ми, не так уж дол­го...

Б

оль­шин­ст­во из нас стал­ки­ва ­лись с бло­ки­ров­кой ин­тернетсо­единения, не по­зво­ляю­щей де­лать нам то, что мы хо­ тим – обыч­н о в ви­д е бранд­м ау ­э ра, ог ­р аничи­в аю­щ е­г о доступ к сер­ви­сам, та­ким как SMTP или XMPP, или в ви­де фильт­ ра­ции со­дер­жи­мо­го сай­тов. Ка­ким бы ни бы­ло ог­раничение, при­ ят­но­го здесь ма ­ло. Боль­шин­с т­во из нас так ­же поль­зо­в а ­лись пуб­лич­ным Wi-Fi, и ес­ли у вас есть здра­вый смысл, то вы на­вер­ня­ка чув­ст­во­ва­ли се­ бя не очень ком­форт­но. В ста­тье «Изу­чи­те взлом» из LXF154 бы­ ло по­ка­за­но, как лег­ко поль­зо­ва­те­ли из той же са­мой се­ти мо­г ут шпионить за ва­ми и да­же вли­ять на ва­ши дей­ст­вия. С пуб­лич­ным

«Raspbian – но­вая вер­сия Debian, оп­ти­ми­зи­ро­ван­ная для ра­бо­ты на Raspberry Pi.» Wi-Fi вы не пред­с тав­ляе­те, кто еще поль­зу­ет­ся ва­шим под­к лю­ чением и что соз­да­те­ли под­к лю­чения де­ла­ют с ва­шим тра­фи­ком! На этом уро­ке мы по­к а­ж ем вам, как соз­д ать SSH-туннель в Paspberry Pi. Эта тех ­но­ло­г ия по­мо­жет вам одо­леть цен­зо­ров

> С но­вой ути­ли­ той raspi-config лег­ко на­стро­ить Raspberry Pi. Про­ сто за­пус­ти­те sudo raspi-config, и де­ло в шля­пе.

Ес­ли вы сле­ди­те за этой се­ри­ей с са­мо­го на­ча­ла, воз­мож­но, у вас еще остал­ся ис­ход­ный об­раз Debian, ко­то­рым мы поль­зо­ва ­лись в пер­вой ста­тье. Од­на­ко Raspberry Pi Foundation не сто­ит на мес­те и недав­но вы­пусти­ла но­вую опе­ра­ци­он­ную сис­те­му на осно­ве ди­ ст­ри­бу ­ти­ва Raspbian. Raspbian – но­в ая вер­с ия Debian, оп­т и­ми­зи­р о­в ан­н ая для ра­ бо­ты с Raspberry Pi. Она не толь­ко ра­бо­та­ет «пря­мо из ко­роб­ки» и за­мет­но бы­ст­рее (неко­то­рые тес­ты по­ка­за ­ли при­рост про­из­во­ ди­тель­но­сти от 4 до 40  %, в за­ви­си­мо­сти от ро­д а дея­тель­но­сти), но и со­дер­жит удоб­ную ути­ли­т у ав­то­ма­ти­зи­ро­ван­ной на­строй­ки, вызываемую при пер­вом за­пуске Raspberry Pi. Она зна­чи­тель­но уп­ро­ща­ет мно­гие за­да­чи, ре­шен­ные на­ми в пре­ды­д у­щих стать­ях, в том чис­ле рас­ши­рение раз­де­ла на весь диск, от­к лю­чение over­ scan, вклю­чение SSH и из­менение рас­к лад­ки кла­виа­т у­ры. Со­ве­т у­ем об­но­вить ва­шу сис­те­му. Са­мый про­с той спо­соб это сде­лать – за­гру­зить по­след­нюю вер­сию об­раза с www.raspberrypi. org/downloads, рас­п а­ко­в ать ее и за­п и­с ать об­р аз на SD-кар­т у команд­ной dd так же, как мы де­ла­ли это ранее. Со­ве­т у­ем очи­с тить все со­дер­ж и­мое дис­ка, так как мы столк­ ну­лись с ка­ки­ми-то стран­ны­ми про­бле­ма­ми, когда это­го не сде­ ла­л и – поскольку ста­р ые фай­л ы на­с трой­к и и про­г рам­м ы со­ хранились. Восполь­зуй­тесь следующей ко­ман­дой: sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1M Здесь mmcblk0 – уст­рой­с т­во, со­от­вет­с т­вую­щее SD-кар­те. Пе­ ред запуском команды заранее соз­д ай­те ре­зерв­ную ко­пию, так как команда за­пи­сы­ва­ет ну­ли на весь диск, де­лая все су­ще­ст­вую­ щие дан­ные невосста­но­ви­мы­ми.

Пор­ты Пре­ж ­де чем восполь­зо­вать­ся SSH-туннелем, объ­ясним идею, ле­ жа­щ ую в его осно­ве. При соз­д ании со­единения ме­ж ­д у дву­мя ком­пь­ю­те­ра­ми – для пе­р е­д а­ч и web-до­к у­м ен­т ов, от­к ры­т ия за­щ и­щ ен­н ой обо­л оч­к и или об­ме­на фай­ла­ми по NFS – ком­пь­ю­те­ру, иниции­рую­ще­му со­ единение, долж­ны быть из­вест­ны IP-ад­рес ком­пь­ю­те­ра, к ко­то­ ро­му нуж­но под­к лю­чить­ся, и но­мер пор­та сер­ви­са (web, SSH, NFS и т. д.), к ко­то­ро­му нуж­но об­ра­тить­ся. Боль­шин­с т­во из вас зна­ют, что та­кое IP-ад­рес. Это чис­ло (на­ при­мер, 192.168.133.20), ко­то­рое яв­ля­ет­с я уникаль­ным иден­т и­ фи­ка­то­ром ком­пь­ю­те­ра в се­ти, точ­но так же, как поч­то­вый ад­рес иден­ти­фи­ци­ру­ет ваш дом. Но пор­ты зна­ко­мы нам чуть ху­же.

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

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

66  |  LXF162 Октябрь 2012


Raspberry Pi Учебник

SSH-тун­нель > SSH-тун­нель соз­ да­ет за­щи­щен­ное со­еди­не­ние ме­ж­ду дву­мя ком­пь­ю­те­ра­ ми, с по­мо­щью ко­ то­ро­го мож­но обой­ ти про­кси и дру­гие фильт­ры.

Но­ут­бук Бранд­мау­эр

example.com

Тун­нель SSH Pi се­ти мы ука­зы­ва­ем кон­крет­ный порт, к ко­то­ро­му намереваемся под­к лю­чить­ся. Ка­ж ­дый порт за­да­ет­ся но­ме­ром от 0 до 65535, и ка­ж ­дый сер­ вис, пре­достав­ляе­мый ком­пь­ю­те­ром, слу­ша­ет со­единения на од­ ном из этих пор­тов. Есть спи­сок пор­тов по умол­чанию, ко­то­рые слу­ша­ют все по­п у­ляр­ные сер­ви­сы. Этот спи­сок под ­дер­ж и­ва­ет­ ся IANA (Internet Assigned Numbers Authority – Ад­минист­ра­ция ад­ рес­но­го про­стран­ст­ва Ин­тернета) и по­кры­ва­ет пор­ты с 0 по 1023 (web-тра­фик про­хо­дит че­рез порт 80, FTP – че­рез порт 20, SSH – че­рез порт 22 и т.д). Ни­что не ме­ша­ет вам на­стро­ить сер­вис на дру­гой порт, и ес­ли вы знае­те, на ка­ком пор­т у за­пу­щен сер­вис, мож­но ука­зать кли­ен­ ту под­к лю­чать­ся к это­му пор­т у, а не к пор­т у по умол­чанию. Хо­ро­шо, но ка­кое от­но­шение это име­ет к SSH-туннелям? На прак­ти­ке SSH-тунел­ли­ро­вание сво­дит­ся к ис­к усно­му пе­ре­ на­прав­лению пор­тов. Луч­ше все­го объ­яснить это на при­ме­ре. Пред­ставь­те, что у нас два ком­пь­ю­те­ра: но­у т­бук в ка­фе (laptop), где доступ к Ин­тернету ог­раничен про­кси-сер­ве­ром (про­грам­мой, ко­то­рая уме­ет фильт­ ро­в ать ин­тернет-тра­фик) и нель­зя зай­т и на сайт example.com, и pi – Raspberry Pi с неог­раничен­ным досту­пом в Ин­тернет до­ма. У но­у т­бу­ка есть доступ к pi.

Туннели­ру­ем со­единение Что­бы от­крыть example.com с но­у т­бу­ка, по­на­до­бит­ся соз­дать тун­ нель, т. е. пе­ре­на­пра­вить на­ше под­к лю­чение че­рез pi. SSH-туннель та­кое по­зво­ля­ет.

Обыч­но SSH соз­д а­е т за­щ и­щен­ное со­е динение ме­ж ­д у дву­мя ком­пь­ю­те­ра­ми на пор­т у 22. Но при ис­поль­зо­вании SSH-туннеля она пе­ре­на­пра­вит весь тра­фик с ука­зан­но­го пор­та laptop по за­ шиф­ро­ван­но­му со­единению на порт 22 pi (или на лю­бой дру­гой ука­зан­ный на­ми ком­пь­ю­тер и порт). У та­к о­г о под ­х о­д а два пре­и му ­щ е­с т ­в а. Во-пер­в ых, как и при обыч­н ом SSH-со­е динении, тра­ф ик те­п ерь на­п рав­л я­е т­ ся по за­щи­щен­но­му со­единению, то есть никто в локаль­ной се­ ти не смо­жет под­смот­реть за на­ми и ук­расть име­на поль­зо­ва­те­лей и па­ро­ли. Досто­ин­ст­во туннели­ро­вания в том, что оно по­зво­ля­ет де­лать это с лю­бым ви­дом web-тра­фи­ка, не толь­ко с обо­лоч­ка­ми. Во-вто­р ых, это по­з во­л я­е т обой­т и фильт­р а­ц ию со­д ер­ж и­м о­г о

Что та­кое SSH? Ес ­ли Raspberry Pi у вас не пер­вый день, то вы зна­ко­мы с команд­ной стро­кой, она же – обо­л оч­к а. При пер­в ом за­п уске Pi по­яв­ля­ет­ся чер­но-бе­лый эк­ран, где нуж­но на­брать свое имя поль­зо­ва­те­ля и па­роль. За­т ем вы пре­д остав­л яе­т есь са­м им се­б е и мо­же­т е вы­п олнять всякие дей­с т ­в ия – вво­д ить ко­м ан­д ы за­п уска гра­ф и­ч е­­с ко­­г о ин­т ер­ф ей­с а, ре­д ак­т и­р о­в ания тек­с то­в ых фай­лов или за­пуска брау­зе­ра вро­де ELinks.

SSH – со­кра­щение от “secure shell [за­щи­ щен­н ая обо­л оч­к а]”. Через нее мож­н о безо­пас­но вхо­д ить на уда ­лен­ный ком­пь­ ю­тер – под­к лю­чение бу­дет за­щ и­щен­ным, т.  е. никто не смо­жет от­с леди ­т ь пе­р е­с ы­ лае­мые дан­ные, будь то имя поль­зо­ва­те­ля и па­р оль, фай ­л ы или ин ­т ернет-ад ­р е­с а и cookies. По су­ти это со­вре­мен­ная, за­щи­ щен­ная вер­сия ста­рых ути­лит уда ­лен­но­го под­к лю­чения к сис­те­ме, типа telnet и rlogin.

»»Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/! Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 67


Учебник Raspberry Pi > С по­мо­щью об­рат­ но­го тун­не­ля мож­но про­ник­нуть внутрь за­щи­щен­ных се­тей. Толь­ко пре­ду­пре­ ди­те свой IT-от­дел, а не то дос­та­ви­те ему бес­по­кой­ст­во.

Internal. example .com

Pi

Бранд­мау­эр

Но­ут­бук

Об­рат­ный тун­нель SSH

сай­тов в локаль­ной се­ти. Ес­ли мар­шру­ти­за­тор, за ко­то­рым на­хо­ дит­ся локаль­ная сеть, фильт­ру­ет тра­фик на example.com, пе­ре­ на­прав­ляя со­единение че­рез неот­фильт­ро­ван­ный порт на неот­ фильт­ро­ван­ный ком­пь­ю­тер, в локаль­ной се­ти та­кие ог­раничения мож­но обой­ти. Для это­го нуж­но убе­дить­ся, что SSH уста­нов­лен и за­пу­щен в ви­де сер­ви­са на laptop и pi. На pi для это­го доста­точ­но от­крыть ути­ли­т у raspi-config и вы­брать оп­цию SSH (ес­ли у вас по­ след­няя вер­сия Raspbian).

«Что­бы обой­ти бранд­мау­эр сна­ ру­жи, мож­но соз­дать об­рат­ный тун­нель с pi на laptop.» На но­у т­бу­ке на­строй­ка за­ви­сит от ди­ст­ри­бу ­ти­ва. Для на­строй­ ки SSH в Fedora вы­пол­ни­те ко­ман­ды: su -c “yum -y install openssh” su -c “systemctl enable sshd.servive” su -c “systemctl start sshd.service” А в Debian или Ubuntu – sudo apt-get install openssh-server openssh-client sudo service ssh start sudo insserv ssh Ес­ли на но­у т­бу­ке стоит Windows, по­на­до­бит­ся Putty или Cygwin, но обе эти про­грам­мы вы­хо­д ят за рам­ки на­шей ста­тьи.

Соз­да­ние тун­не­ля Сде ­л ав это, вы­п ол­н и ­т е сле ­д ую­щ ую ко­м ан­д у для соз ­д а­н ия тун­не­ля: ssh -L 1080:example.com:80 pi-user@pi -f Раз­бе­рем ее, что­бы вы по­ня ­ли, что про­ис­хо­дит. Па­ра­метр -L со­об­щ а­ет SSH, что мы бу­дем ис­поль­зо­вать его для пе­ре­на­прав­ ления пор­та. Сле­д ую­щий фраг­мент стро­ки раз­бит на три час­ти двое­то­чия­ ми. Пер­вое чис­ло – порт на локаль­ном ком­пь­ю­те­ре (laptop), ко­ то­рый мы хо­т им пе­ре­на­пра­вить. Все пор­т ы с но­ме­ром боль­ше

1024 мож­но пе­ре­на­прав­лять без прав root. Весь тра­фик, ко­то­рый мы на­пра­вим на этот порт, бу­дет пе­ре­на­прав­лен. Средний фраг­ мент – ком­пь­ю­т ер, ку­д а мы хо­т им пе­р е­бро­с ить тра­ф ик, а по­ следнее чис­ло – порт на этом ком­пь­ю­те­ре, к ко­то­ро­му мы хо­тим под­к лю­чить­ся. Ком­пь­ю­тер и порт мо­г ут быть лю­бы­ми – ес­ли у pi есть к ним доступ, все бу­дет ра­бо­тать. Так как мы хо­те­ли от­крыть сайт example.com, то ука­за­ли порт 80 – по умол­чанию он ис­поль­ зу­ет­ся для web-тра­фи­ка. В кон­це ука­зы­ва­ют­ся имя поль­зо­ва­те­ля и ком­пь­ю­тер, че­рез ко­то­рые мы хо­тим про­пустить туннель. Здесь это ком­пь­ю­тер pi и поль­зо­ва­тель pi-user. Эта часть ра­б о­т а­е т как в стан­д арт­ной ко­м ан­д е ssh, и здесь мож­но поль­зо­вать­ся все­ми обыч­ны­ми прие­ма­ми: на­при­мер, ука­ зать дру­гие пор­ты, ис­поль­зо­вать IP-ад­ре­са вме­с то имен ком­пь­ ю­те­ров и т. д. (помните, что ком­пь­ю ­тер дол­жен быть досту­пен для laptop, т. е. у него долж­но быть до­мен­ное имя или пуб­лич­но доступ­ный IP-ад­рес; со­ве­ты, как до­бить­ся это­го при до­машнем под­к лю­чении, при­ве­де­ны во врез­ке «Ди­на­ми­че­­ский DNS»). Па­ра­метр -f ве­лит ssh пе­рей­ти в фо­но­вый ре­жим и не занимать тер­ми­нал в pi. Те­перь, что­бы от­крыть сайт example.com на laptop, нуж­но лишь от­крыть в брау­зе­ре ад­рес http://localhost:1080, и все долж­но по­ лу­чить­ся. Двое­то­чие в кон­це ад­ре­са оз­на­ча­ет, что нуж­но ис­поль­ зо­вать ука­зан­ный порт вме­сто пор­та по умол­чанию 80. “localhost” оз­на­ча­ет, что нуж­но об­ра­тить­ся к пор­т у 1080 на том же ком­пь­ю­те­ ре – это «ад­рес ва­ше­го ком­пь­ю­те­ра в Ин­тернете». Мож­но лег­ко из­менить на­строй­ки, что­бы поль­зо­вать­ся и дру­ ги­ми сер­ви­са­ми, а не толь­ко web-тра­фи­ком. На­при­мер, ес­ли на pi есть соб­с т­в ен­н ый поч­т о­в ый сер­в ер (SMTP), мож­н о из­м енить example.com на localhost и 80 на 25, и все бу­дет го­то­во. За­тем, вме­сто то­го, что­бы вво­дить спе­ци­а ль­ный ад­рес в брау­зе­ре, нуж­но из­менить неко­то­рые на­строй­ки в поч­то­вом кли­ен­те.

Об­рат­ные туннели SSH уме­ет соз­да­вать и дру­гие туннели. Крат­ко рас­смот­рим их. Ес­ ли в пре­ды­д у­щем при­ме­ре у нас бы­ло пе­ре­на­прав­ление локаль­ но­го пор­т а (-L), сле­д ую­щ ий мож­но на­звать пе­ре­на­прав­лением уда ­лен­но­го пор­та.

»»Пропустили номер? Узнайте на с. 104, как получить его прямо сейчас. Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

68  |  LXF162 Октябрь 2012


Raspberry Pi Учебник

Пред­ста­вим се­бе несколь­ко иной сце­на­рий. У нас опять же два ком­пь­ю­те­ра – laptop и pi. Но­у т­бук на­хо­дит­ся до­ма, но на нем нуж­ но от­крыть внут­ренний сайт internal.example.com ка­кой-то дру­гой се­ти, ко­то­рый бло­ки­ру­ет­ся для внешних под­к лю­чений бранд­мау­ эром. А pi под­к лю­чен ко внут­ренней се­ти. Что­бы обой­ти этот бранд­мау­эр сна­ру ­жи, мож­но соз­дать об­рат­ ный туннель с pi на laptop. За­тем с по­мо­щью это­го туннеля но­ ут­бук мо­жет проник­нуть внутрь за­щи­щен­ной бранд­мау­эром се­ти че­рез pi и об­ра­тить­ся к internal.example.com. Для это­го на pi вы­пол­ня­ет­ся ко­ман­да ssh -R 1080:internal.example.com:80 laptop-user@laptop -f Па­ра­метр -R оз­на­ча­ет об­рат­ный [reverse] или уда­лен­ный [re­ mote] туннель. В сле­д ую­щем фраг­мен­те тек­ста пер­вый па­ра­метр за­да­ет не локаль­ный порт на pi, с ко­то­ро­го нуж­но пе­ре­на­прав­лять под­к лю­чения, а порт но­у т­бу­ка для той же це­ли. Все осталь­н ое ра­б о­т а­е т как рань­ш е. Что­бы из­в лечь мак­с и­ мум из этой улов­ки, туннель нуж­но соз­дать за­ранее, так как у вас не бу­дет досту­па к pi с но­у т­бу­ка, и под­дер­жи­вать SSH-со­единение ак ­т ив­ным. Для это­го вме­с то обыч­но­го SSH мож­но уста­но­вить и восполь­з о­в ать­с я autossh, оберт ­кой, под ­д ер­ж и­в аю­щ ей со­ единение ак ­тив­ным. Син­так­сис ко­ман­ды autossh несколь­ко иной: autossh -M 20000 -f 1080:internal.example.com:80 laptopuser@ laptop Здесь об­р а­т и ­т е внимание на па­р а­м етр -M. Ука­з ан­ный порт не дол­жен ис­поль­зо­вать­ся дру­ги­ми про­грам­ма­ми, по­это­му вы­ бе­ри­те но­мер по­боль­ше. Он ис­поль­зу­ет­ся autossh для от­с ле­жи­ вания со­единения и его восста­нов­ления, ес­ли оно про­па­да­ет. Прав­да, этот по­лез­ный при­ем мо­жет по­ссо­рить вас с сис­тем­ны­ ми ад­минист­ра­то­ра­ми. Бранд­мау­эры ста­вят все-та­ки не зря, и ад­ минист­ра­то­ры не лю­бят, когда дру­гие про­де­лы­ва­ют в них дыр­ки! Не­ко­т о­рые спе­ц иа ­ли­с ты в об­л ас­т и безо­пас­но­с ти ис­поль­зу­ ют имен­но эту тех­но­ло­г ию для про­вер­к и кор­по­ра­т ив­ных се­тей на проч­ность. С по­мо­щью ме­то­дов со­ци­а ль­ной ин­женерии они про­но­сят в здания ком­паний ма ­лень­кие ко­ро­боч­ки (и Raspberry Pi иде­а ль­но под ­хо­дит для это­го), на ­хо­д ят неза­ня­тые се­те­вые разъ­ е­мы и под­к лю­ча­ют их к ним. Ко­ро­боч­ки на­с траи­ва­ют­ся на ав­то­ ма­ти­че­­ское соз­дание SSH-туннеля (на­при­мер, с по­мо­щью скрип­ та /etc/network/if-up.d), че­рез ко­то­рый мож­но бу­дет проник­нуть в сеть ком­пании, ук­расть па­ро­ли и по­ра­бо­тать с фай­ла­ми!

Ди­на­ми­че­­ские туннели Вот по­с лед­н яя и, по­ж а ­л уй, са­м ая по­л ез­н ая из тех­н о­л о­г ий туннели­ро­вания SSH. Мож­но не ука­зы­вать кон­крет­ные пор­ты или сер­ви­сы для об­ме­на ин­фор­ма­ц и­ей, а соз­д а­в ать ди­на­ми­че­­ские

туннели, спо­соб­ные со­би­рать и от­прав­лять дан­ные всем сер­ви­ сам. Ко­ман­да в этом слу­чае го­раз­до про­ще: ssh -D 1080 pi-user@pi Па­ра­метр -D оз­на­ча­ет, что мы хо­тим на­с тро­ить ди­на­ми­че­­ский туннель, но­мер – ис­поль­зуе­мый локаль­ный порт, а pi-user@pi – поль­зо­ва­тель и ком­пь­ю­тер, к ко­то­рым бу­дет про­ло­жен туннель. По вы­полнении этой ко­ман­д ы мож­но на­с тро­и ть лю­бую про­ грам­му, под­дер­ж и­ваю­щ ую про­кси SOCKS, на от­прав­к у тра­фи­ка че­рез толь­ко что соз­дан­ный SSH-туннель. На­при­мер, в Firefox нуж­но зай­ти в Preferences > Advanced > Net­ work [На­с трой­ки > До­полнитель­ные > Сеть] и на­ж ать на кноп­к у Settings [На­строй­ки] в раз­де­ле Connection [Под­к лю­чение]. В поя­ вив­шем­ся окне вы­бе­ри­те руч­ную [Manual] на­строй­к у про­кси. За­ тем вве­д и ­те в стро­к у SOCKS host [Узел SOCKS] ад ­рес 127.0.0.1 и порт, ука­зан­ный в ко­ман­де ssh. На ­жми­те OK, и все долж­но быть го­то­во. Ес­ли все ра­бо­та­ет пра­ виль­но, сай­ты долж­ны от­кры­вать­ся как обыч­но, но те­перь весь тра­фик бу­дет пе­ре­да­вать­ся че­рез туннель SSH на ком­пь­ю­тер pi. Что­бы убе­д ить­с я, что все дей­с т­ви­тель­но ра­бо­т а­ет, за­к рой­те SSH-со­единение (на­ж ав Ctrl+c) и по­про­буй­те от­к рыть страницу сно­ва. Ес­ли ис­поль­зо­вал­ся туннель, то те­перь в Firefox страницы от­кры­вать­ся не бу­д ут. В дру­гих про­грам­мах, под­к лю­чаю­щих­ся к Ин­тернету – на­при­ мер, поч­то­вых кли­ен­тах и про­грам­мах для об­ме­на со­об­щения­ми, бу­д ут ана­ло­гич­ные ок­на с на­строй­ка­ми. Про­сто за­полните па­ра­ мет­ры SOCKS, и все бу­дет ра­бо­тать.

«По­след­няя и, по­жа­луй, са­мая по­лез­ная из тех­но­ло­гий тун­не­ ли­ро­ва­ния SSH.» На этом все. Про­де­мон­с т­ри­ро­ван­ные тех­но­ло­гии очень удоб­ ны для соз­д ания за­щи­щен­но­го и неог­раничен­но­го под­к лю­чения во вре­мя по­ез­док, но для их ра­бо­ты сер­вер дол­жен быть по­с то­ ян­но вклю­чен. Элек ­тро­энер­гия до­ро­жа­ет, но с Raspberry Pi в ка­че­ ­ст­ве сер­ве­ра рас­хо­ды бу­д ут неве­ли­ки. Ес­ли вам нуж­но сде­лать сер­ви­с ы в локаль­ной се­т и доступ­ ны­м и уда ­л ен­н ым поль ­з о­в а­т е ­л ям, вам мо­г ут быть ин ­т е­р ес­ ны и VPN – вир­т у­а ль­ные ча­с т­ные се­т и (Virtual Private Network). SSH про­ще в на­с трой­ке, но он и менее ги­бок. Ес­ли вам ин­те­рес­ но это на­прав­ление, по­чи­тай­те ввод­ную ста­тью «При­меним VPN» в LXF158. |

Ди­на­ми­че­­ский DNS В боль­шин­с т­ве ме­то­дов, опи­с ан­ных в этой ста­тье, ис­поль­зу­ет­с я ком­пь­ю­тер с об­ще­доступ­ным IP-ад­ ре­с ом или до­мен­ным именем. Боль­шин­с т­во про­ вай­де­ров пре­достав­ля­ют об­ще­доступ­ный IP-ад­рес, но он ди­на­ми­че­­ский, т. е. время от времени ме­ня­ ет­ся. И ес­ли вы на­строи­те туннель, а по­том IP-ад­рес окажет­ся другим, все пе­ре­станет ра­бо­тать. Есть несколь­ко ва­ри­а н­т ов ре­ш ения про­б ле­мы. Са­мый про­стой – най­ти про­вай­де­ра, ко­то­рый вы­де­ лит вам ста ­т и­ч е­­с кий IP-ад ­р ес. Не­ко­т о­р ые вы­д е­ ля­ют его по ва­шей прось­бе, дру­г ие про­с ят за это до­п олнитель­н ую пла­т у, тре­т ьи не де­л а­ю т это­г о ни при ка­ких об­стоя­тель­ст­вах. Ес­ли сменить про­в ай­де­ра не по­л у­ча­е т­с я, мож­ но восполь ­зо­в ать­с я та­к и­ми сер­ви­с а­ми, как www. no-ip.com и www.dyn.com. С ними вы за­п ускае­т е

про­г рам­м у, ко­т о­р ая от­с ле­ж и­в а­е т ваш IP-ад­р ес и при его из­менении опо­ве­ща­ет сто­ронний сер­вис. Сер­ви­сы пре­достав­ля­ют вам до­мен­ное имя вро­де mypi.dyn.com, ко­то­рое всегда ука­зы­вае­т на IP-ад­ рес ва­ш е­г о ком­п ь­ю­т е­р а, неза­в и­с и­м о от то­г о, сколь­ко раз он ме­нял­ся. Ес ­л и Raspberry Pi на ­х о­д ит­с я за мар­ш ру ­т и­ за­т о­р ом, убе ­д и ­т есь, что порт 22 пе­р е­н а­п рав ­л я­ ет­с я на него. Кон­к рет­ные дей­с т­вия по на­с трой­ке немно­го от­ли­ча­ют­с я у раз­ных мар­шру ­т и­з а­то­ров, но обыч­но у них есть web-ин­тер­фейс ад­минист­ра­ то­ра, зай­д я в ко­то­рый, мож­но пе­ре­на­прав­лять пор­ ты на ком­пь­ю­те­ры по их MAC-ад­ре­сам (ап­па­рат­ным ад­ре­сам). Так­же мож­но уста­но­вить для Pi ста­ти­че­­ ский IP-ад­рес и ис­поль­зо­вать его как ме­сто пе­ре­на­ прав­ления пор­та.

> no-ip.com соз­да­ет ди­на­ми­че­скую за­пись DNS для дос­ту­па к Pi, да­же ес­ли его IP-ад­рес из­ме­нил­ся.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 69


Па­ро­ли Р еа­ли­зу­ем эф­фек­тив­ную стра­те­гию ау­тен­ти­фи­ка­ции поль­зо­ва­те­лей

Па­ро­ли: Есть Вы когда-нибудь ду­ма­ли о стра­те­гии вы­бо­ра иден­ти­фи­ка­то­ра поль­зо­ва­те­ля и па­ро­ля? Джеймс Лит­тон под­бро­сит вам пи­щи для раз­мыш­ле­ний.

Наш эксперт Джеймс Лит­тон за­ни­мал ру­ко­во­ дя­щие долж­но­сти во мно­гих ор­га­ни­ за­ци­ях. Ныне он сов­ла­деле­ц и ис­ пол­ни­тель­ный ди­ рек ­то­р Identity Automation LP.

С

мо­м ен­т а по­я в­л ения пер­в ых мно­г о­п оль­з о­в а­т ель­с ких сис­тем в ау ­тен­ти­фи­ка­ции поль­зо­ва­те­лей ма ­ло что из­ менилось. У нас все еще есть иден­ти­фи­ка­тор поль­зо­ва­ те­ля (ID) и па­роль – и ес­ли они вер­ны, мы пре­достав­ля­ем доступ (т. е. ав­то­ри­за­цию), и поль­зо­ва­тель бе­рет­ся за де­ло. Ка­жет­ся, ка­ж ­д ую неде­лю нам со­об­щ а­ют о де­ше­вых и об­ще­ доступ­ных вы­чис­ли­т ель­ных ре­с ур­с ах со­вре­мен­ных про­ц ес­с о­ ров и гра­фи­че­­ских со­про­цес­со­ров, спо­соб­ных вы­пол­нять столь­ко опе­ра­ций в се­к ун­д у, что все­го па­ру лет на­зад это ка­за­лось немыс­ ли­мым. Когда та­кие ре­сур­сы на­прав­ля­ют­ся на взлом па­ро­лей, это час­то по­зво­ля­ет «пло­хим пар­ням» до­б­рать­ся до ва­ших дан­ных.

За­щи­тим­ся Пред­по­ло­жим, вы ад­минист­ри­руе­те сер­вер, доступ­ный че­рез Ин­ тернет, и на нем за­пу­ще­но несколь­ко сер­ви­сов. Что, спро­си­те вы, мож­но сде­лать для снижения мо­их шан­сов стать жерт­вой ата­ки? Рас­смот­рим же неко­то­рые про­стые стра­те­гии и го­то­вые ути­ли­ты, ко­то­рые по­мо­г ут умень­шить ва­ши рис­ки! Пер­вое и главней­шее – по­д у­май­те об осно­вах. Име­на поль­зо­ва­те­лей и па­ро­ли – клю­чи для вхо­да в сис­те­му; вот с них и начнем. Так как ау­тен­ти­фи­ка­ция в сис­те­ме осно­ва­на на иден­ти­фи­ка­то­рах поль­зо­ва­те­лей и па­ро­ лях, оче­вид­но, что да­же имя поль­зо­ва­те­ля – важ­ная часть схе­мы безо­пас­но­сти ор­ганиза­ции. В боль­шин­ст­ве ор­ганиза­ций иден­ти­

фи­ка­тор поль­зо­ва­те­ля оп­ре­де­лить лег­ко – на­при­мер, это мо­жет быть пер­в ая бу ­к ­в а и фа­ми ­лия поль ­зо­в а­те ­ля (vivanov) или имя и фа­ми­лия (vasyavanov). Ес­ли мы хо­тим соз­дать пре­пят­ст­вия для «пло­хих парней», то та­кой под­ход – не луч­шая прак­ти­ка. Тех­но­ло­ гии со­ци­а ль­ной ин­женерии, пуб­ли­ка­ции и дру­гие ис­точники и ме­ то­ды по­зво­ля­ют лег­ко уз­нать име­на лиц, ко­то­рых сто­ит ата­ко­вать. Луч­ше иметь та­кие иден­ти­фи­ка­то­ры поль­зо­ва­те­лей, по ко­то­рым поль­зо­ва­те­лей нель­зя оп­ре­де­лить. В неко­то­рых ор­ганиза­ци­ях за иден­ти­фи­ка­то­ры поль­зо­ва­те­лей бе­рут­ся та­бель­ные но­ме­ра со­трудников или сту­ден­тов. Это го­раз­ до луч­ше ме­то­дов, осно­в ан­ных на пер­с о­наль­ной ин­фор­ма­ц ии, но пре­ж ­де чем при­ме­нять та­кой под ­ход, хо­ро­шень­ко по­д у­май­те. От­веть­те на сле­д ую­щие во­про­сы: » На­пе­ча­та­ны ли эти но­ме­ра на бей­д жи­ках? » Ис­поль­зу­ют­ся ли они для дру­гой иден­ти­фи­ка­ции? » Идут ли они под­ряд? Еще один ме­т од – генери­р о­в ать иден­т и­ф и­к а­т о­р ы для всех поль­зо­ва­те­лей слу­чай­ным об­ра­зом. Тогда два ли­ца, по­сту­пив­шие на ра­бо­т у в од­ном мес­те в один и тот же день, по­лу­чат со­вер­шен­ но раз­ные и неуз­на­вае­мые иден­ти­фи­ка­то­ры. Джо Смит 947G25 Ким Джонс 21003H При ис­поль­зо­вании это­го ме­то­д а един­с т­вен­ное, что свя­зы­ва­ ет иден­ти­фи­ка­то­ры с ли­ц а­ми – сам про­цесс на­зна­чения иден­ти­ фи­к а­то­ров. Это да­е т нам фо­ру пе­ред «пло­х и­ми пар­ня­ми», раз мы не да­ем им спо­со­ба по­лу­чить один из двух ком­понен­тов, необ­ хо­ди­мых для ау ­тен­ти­фи­ка­ции. Есть несколь­ко спо­со­бов генера­ции слу­чай­ных иден­ти­фи­ка­то­ ров, но я люб­лю про­сто­т у, так что мы здесь восполь­зу­ем­ся скрип­ том Bash. Для на­ч а ­л а соз ­д а ­д им файл, где бу­д ут за­п и­с а­н ы ко­м ан­д ы, и сде­ла­ем его ис­пол­няе­мым: cd ~ touch genid.sh chmod +x genid.sh Те­перь от­крой­те genid.sh в лю­би­мом тек­сто­вом ре­дак ­то­ре и до­ бавь­те сле­д ую­щие ко­ман­ды: #!/bin/bash l=$1 [ “$l” == “” ] && l=6 tr -dc A-Z0-9 < /dev/urandom | head -c ${l} | xargs Для про­вер­ки скрип­та про­сто на­бе­ри­те ./genid.sh в команд­ной стро­ке, и вы по­лу­чи­те слу­чай­ную стро­к у из шес­ти сим­во­лов, ска­ жем, P3NVUE. При ка­ж ­дом за­пуске скрипт фор­ми­ру­ет но­вую слу­чай­ную стро­ ку. Дли­ну вы­ход­ной стро­ки мож­но ме­нять, пе­ре­д ав ее как па­ра­ метр. На­при­мер, ко­ман­д а ./genid.sh 10 вы­д аст слу­чай­ную стро­к у из де­ся­ти сим­во­лов. Пер­вая стро­ка ко­да го­во­рит обо­лоч­ке, что по­сле­д ую­щие стро­ ки долж­ны ин­тер­пре­т и­ро­вать­ся Bash. Во вто­рой стро­ке пер­вый па­ра­метр, пе­ре­д ан­ный скрип­т у, со­хра­ня­ет­ся в пе­ре­мен­ной l для дальней­ше­го упот­реб­ления. В треть­ей стро­ке l уста­нав­ли­в а­е т­

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

70  |  LXF162 Октябрь 2012


Па­ро­ли Учебник

стра­те­гия луч­ше ся в 6, ес­ли па­ра­мет­ра пе­ре­д а­но не бы­ло. На­конец, в чет­вер­той стро­ке с по­мо­щью генера­то­ра слу­чай­ных чи­сел Linux соз­д а­ет­ся слу­чай­ный по­ток сим­во­лов, а за­тем ко­ман­да транс­ли­те­ра­ции за­ ме­ня­ет эти сим­во­лы на бу­к­вы верхнего ре­ги­ст­ра и циф­ры. За­тем ко­ман­да head вы­де­ля­ет ко­ли­че­­ст­во сим­во­лов, за­дан­ное пе­ре­мен­ ной l, и, на­конец, xargs да­ет нам сим­вол кон­ца стро­ки. В треть­е й стро­к е мож ­н о за ­д ать дли­н у вы ­х од­н ой стро­к и по умол­чанию, при­сво­ив зна­чение па­ра­мет­ру l. По мо­ему опы­т у, иден­ти­фи­ка­тор из шес­ти сим­во­лов очень лег­ко за­помнить.

Па­ро­ли За по­следние 15 – 20 лет на­пи­са­на тьма ста­тей о па­ро­лях, с со­ве­ та­ми остав­лять их как очень про­с ты­ми, так и очень слож­ны­ми. Боль­шин­с т­ву из нас зна­ко­мы слож­ные тре­бо­вания ор­ганиза­ций к па­ро­лям, ко­то­рые пу­га­ют поль­зо­ва­те­лей и за­став­ля­ют их за­пи­ сы­вать па­ро­ли на бу­ма­ге, что­бы не за­быть. Ос­нов­ной це­лью по­ли­ти­ки вы­бо­ра па­ро­лей долж­но стать со­ хранение их доста­т оч­н ой слож­н о­с ти, что­б ы соз­д ать ре­а ль­ ный барь­е р зло­у мыш­л енникам и в то же вре­м я не от­п уг­н уть поль­зо­ва­те­лей. В ка­ч е­­с т ­в е ана ­л о­г ии попробуем пред­с та­в ить се­б е вход­н ую дверь. Она мо­жет быть в од­ном из двух со­с тояний: за­пер­та или неза­пер­та. Ес­ли со­всем уб­рать па­р о­л и – ве­р и ­т е вы или нет, желающие восполь­з овать­с я этой воз­мож­но­с тью найдутся. Кто-то смо­ж ет по­л у ­ч ить до­ ступ к учет­ной за­пи­си, про­с то вве­д я иден­т и­ф и­к а­т ор поль­ зо­ва­те­ля. Это ана ­ло­гич­но неза­пер­той две­ри. Про­дол­ж ая ана ­ло­ гию, все мы зна­ем, что зам­ки бы­ва­ют раз­ные – в двер­ной руч­ке с кноп­кой, за­со­вы с клю­чом или зам­ки, при­ме­няе­мые в бан­ков­ ских ячей­ках (ну, это че­рес­чур, но вы по­ня­ли идею).

Тре­бо­в ание за­д ать па­роль, не ого­во­рен­ное пра­ви­ла­ми, даст нам слиш­ком про­с тые па­ро­ли, ко­то­рые лег ­ко по­доб­рать. При­ ме­ры – имя че­ло­ве­ка, его ре­бен­ка или ко­тен­ка и клас­си­ка вро­де password или abc123. Это ана­ ло­г ич­н о про­с тей­ш е­м у зам­к у в двер­н ой руч­к е: дверь за­ пер­т а, но не осо­б о на ­д еж ­н о. Дру­г ая край­н ость – по­п ыт­к а достичь уров­н я за­щ и ­т ы бан­ ков­ской ячей­ки, за­да­вая слож­ ные пра­ви­ла. Но это при­во­д ит к чрез­мер­но­м у усложнению па­ ро­лей – и из-за невоз­мож­но­с ти их за­по­ми­нания поль­зо­в а­те­ли при­мут­ся их за­пи­сы­вать, соз­да­вая до­полнитель­ный риск. Нуж­на зо­ло­тая се­ре­ди­на. Я бы ска­зал, что на­ша цель – сде­лать па­роль доста­точ­но слож­ ным для взло­ма и не слиш­ком слож­ным для за­по­ми­нания поль­ зо­ва­те­лем, и од­но­вре­мен­но при­менить дру­гие сред­ст­ва для пре­ дот­в ра­щ ения атак ме­т о­д ом пе­р е­б о­р а и дру­г их вре­д о­н осных дей­ст­вий.

> На­строй­ка pam_tally.

«В качестве аналогии попробуем предста­ вить входную дверь.»

Эн­тро­пия – у па­ро­лей?! Эн­тро­пия па­ро­ля – это оцен­ка его бли­зо­сти к слу­чай­но­му и, сле­ до­ва­тель­но, труд­но­сти его уга­ды­вания. Эн­тро­пия обыч­но вы­ра­ жа­ет­ся в би­тах. На­при­мер, из­вест­ный па­роль со­дер­жит ноль бит эн­т ро­пии. Па­роль, ко­то­рый мож­но уга­д ать с пер­вой по­пыт­к и в 50 % слу­ча­ев, име­ет один бит эн­тро­пии. Сле­до­ва­тель­но, па­роль с n би­та­ми эн­тро­пии уга­д ать так же слож ­н о, как n-бит­н ое слу­ч ай­н ое чис­л о. То есть, па­р оль с n би­та­ми эн­тро­пии мож­но уга­дать за 2n по­пы­ток. Бо­лее под­роб­ная ин­фор­ма­ция при­ве­де­на в ру­ко­во­дстве по элек ­т рон­ной ау ­тен­ ти­фи­ка­ции На­цио­наль­но­го ин­сти­т у­та стан­дар­тов США на сай­те 1.usa.gov/q3y5u.

Си­ла па­ро­ля: факт или фик­ция? Из­ме­рение на­деж­но­с ти па­ро­ля по ко­ли­че­­с т­ву бит его эн­тро­пии, со­глас­но опи­санию На­цио­наль­но­го ин­с ти­т у­та стан­д ар­тов и тех­ но­ло­гии, го­во­рит нам, что па­роль из трех или че­ты­рех несвя­зан­ ных слов об­ла­да­ет той же сте­пе­нью на­деж­но­сти, что и бо­лее ко­ рот­кий па­роль из необыч­ных сим­во­лов. Возь­мем сло­ва «яб­ло­ко», «ай­фон», «но­га» и «по­езд» и объ­е ­ диним их – мы по­лу­чим «яб­ло­ко­ай­фон­но­га­по­езд». Та­кой па­роль непло­хо под ­д а­ет­ся за­по­ми­нанию, а «пло­хие парни» вряд ли лег­ ко его раз­га­да­ют. Сравним это со слож­ны­ми по­ли­ти­ка­ми па­ро­лей,

»»Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/! Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 71


Учебник Па­ро­ли

> Про­вер­ка не­удач­ ных вхо­дов в сис­ те­му с по­мо­щью faillog.

за­с тав­л яю­щ и­м и поль­з о­в а­т е­л ей при­д у­м ы­в ать эк­з о­т и­к у вро­д е Ff %#ht!4‑2. Этот па­роль не толь­ко не упомнить, но и с точ­ки зре­ ния эн­тро­пии он менее на­де­жен, чем наш. Что­бы пред­с та­вить се­бе это бо­лее на­гляд­но, наш вто­рой па­ роль, ко­то­рый так сло­жен и вро­де бы на­де­жен, име­ет 27 бит эн­ тро­пии, и тео­ре­т и­че­­ски его мож ­но взло­мать все­го за 37 ча­с ов при ско­ро­с ти пе­ре­бо­ра 1000 ва­ри­ан ­тов в се­к ун­д у. Наш пер­вый па­роль, ко­то­рый го­раз­до про­ще за­помнить и ко­то­рый, на пер­ вый взгляд, менее на­де­жен, име­ет 34.5 би­та эн­тро­пии, и на его взлом с той же ско­ро­стью пе­ре­бо­ра уш­ло бы око­ло 281 дня. До­ ба­вим к нему сим­вол в дру­гом ре­ги­с т­ре и спец­сим­вол, по­лу­чив что-то вро­де «яб­ло­ко­ай­фон­Но­га#по­езд», и мы уве­ли­чим эн­тро­ пию до 42 бит. На взлом та­ко­го па­ро­ля по­тре­бу­ет­ся уже 139 лет. Итак, сложнее не всегда зна­ч ит луч­ш е. Па­р о­л я дли­н ой 8 – 15 сим­во­лов верхнего и нижнего ре­ги­ст­ра бо­лее чем доста­точ­ но, что­бы за­пе­реть вход­ную дверь сис­те­мы на на­деж­ный за­сов. Соз­д а­дим еще один скрипт Bash – пусть пред­ла­га­ет нам сло­ ва для па­ро­лей. Сна­ча­ла соз­д а­дим файл скрип­та и сде­ла­ем его ис­пол­няе­мым: cd~ touch genpwd.sh chmod +x genpwd.sh Те­перь нам ну­жен файл сло­ва­ря, от­к у­д а бу­д ут брать­ся сло­ва. Ско­рее все­го, та­кой файл в ва­шей сис­те­ме уже есть. Это файл words в ка­та­ло­ге /usr/dict/ или /usr/share/dict/. Ес­ли его нет, спи­ сок доступ­ных сло­ва­рей в Ubuntu мож­но про­смот­реть, на­брав aptget install wordlist в команд­ной стро­ке. На­при­мер, боль­шой сло­ варь аме­ри­к ан­с ко­го анг­лий­с ко­го мож­но уста­но­вить ко­м ан­д ой sudo apt-get install wamerican-large. Для при­ме­ра я восполь­зу­юсь фай­лом с 1000 са­мых хо­до­вых анг­лий­ских слов. cd ~ wget www.rupert.id.au/resources/1-1000.txt Соз­д ай­те файл genpwd.sh в сво­ем лю­би­мом тек­сто­вом ре­д ак­ то­ре и вве­ди­те в не­го сле­д ую­щие стро­ки: #!/bin/bash shuf ~/1-1000.txt | head –n4 Для про­вер­ки скрип­та про­с то на­бе­ри­те ./genpwd.sh в команд­ ной стро­ки, и вы по­лу­чи­те че­ты­ре слу­чай­ных сло­ва, на­при­мер: » fell » wife » substance » excite Не­п ло­хое на­ча­ло! Те­перь со­е диним сло­в а и по­л у­чим лег­к ий для за­по­ми­нания па­роль.

> До­ба­воч­ную ин­фор­ма­цию по ра­бо­те с faillog мож­но най­ти на man-стра­ни­це. Как ви­ди­те, скрипт очень прост. Как и в пер­вом скрип­те, пер­вая стро­ка оз­на­ча­ет, что сле­д ую­щие стро­ки долж­ны об­ра­ба­ты­вать­ся обо­лоч­кой Bash. Во вто­рой стро­ке ука­за­на ко­ман­да shuf, ко­то­рая пе­ре­ме­ши­ва­ет стро­ки в фай­ле сло­ва­ря. В ко­ман­де head мы ука­зы­ ва­ем ко­ли­че­­ст­во слов из фай­ла, ко­то­рые нуж­но по­лу­чить.

Идем даль­ше Воз­мож­но, вы за­хо­ти­те пой­ти даль­ше и ог­раничить дли­ну сло­ва, что­бы в нем бы­ло от трех до пя­ти сим­во­лов. Для это­го из­мените вто­рую стро­к у: shuf ~/1-1000.txt | grep “^[^’]\{3,5\}$” | head –n4 Здесь мы до­полнили ко­ман­д у grep стро­кой regex, ко­то­рая вы­ би­ра­ет толь­ко сло­ва за­дан­ной дли­ны. Я бы пред­по­чел не ог­раничи­вать дли­ну сло­ва, но хо­чу, что­бы сло­ва вы­во­ди­лись в од­ной стро­ке вме­сте и ка­ж ­дое сло­во на­чи­на­ лось с за­глав­ной бу­к­вы. Для это­го из­мените вто­рую стро­к у: shuf ~/1-1000.txt | head –n4 | sed ‘s/[^ ]\+/\L\u&/g’ | tr –d ‘\n’ | xargs Эта ко­ман­д а вы­д а­ет стро­ки вро­де SkyLoveStartBy (33‑бит­ный лег­кий для за­по­ми­нания па­роль). В этом при­ме­ре мы бе­рем код пер­во­го скрип­та, де­ла­ем пер­вую бу ­к ­ву ка ­ж ­до­го сло­ва за­глав­ной ко­ман­дой sed и уда ­ля­ем пе­ре­ но­сы строк ко­ман­дой tr, по­это­му все сло­ва те­перь бу­д ут в од­ной стро­ке. За­тем с по­мо­щью xargs мы при­пи­сы­ва­ем к этой стро­ке сим­вол кон­ца стро­ки.

Монито­ринг неудач­ных по­пы­ток Луч­ший спо­соб ог­раничить риск ущер­ба от атак ме­то­дом пе­ре­бо­ ра – от­с ле­ж и­вать неудач­ные по­пыт­ки вхо­д а в сис­те­му и прини­ мать ме­ры при их об­на­ру­жении. Эти ме­ры принима­ют­ся во мно­ гих сис­те­мах и мо­г ут вклю­чать раз­лич­ные дей­ст­вия от вре­мен­ной или по­сто­ян­ной бло­ки­ров­ки ата­к уе­мой учет­ной за­пи­си до бло­ки­ ро­вания досту­па для ис­точника атак.

Длиннее = луч­ше Ра­зу­ме­ет­ся, чем длиннее па­роль, тем сложнее его по­доб­рать. Па­роль дли­ной 10 сим­во­лов из букв и цифр име­ет поч­ти квин­ тил­ли­он (839 квад­рил­лио­нов) воз­мож­ных ва­ри­ан­тов. За­д ай­те дли­ну 15 сим­во­лов – и чис­ло ва­ри­ан­тов при­близит­ся к од­но­му ок ­тил­лио­ну (768 сеп­тил­лио­нов). Это ну очень мно­го!

»»Пропустили номер? Узнайте на с. 104, как получить его прямо сейчас. Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

72  |  LXF162 Октябрь 2012


Па­ро­ли Учебник

Пас­сив­ные сис­те­мы

> Из­мре­ние эн­тро­пии для оп­ре­де­ле­ния, яв­ля­ет­ся ли “grasshatfail” бо­лее слу­чай­ным, чем “5@PU”. Про­с тей­ший спо­с об от­с ле­ж и­в ать неудач­ные по­пыт­к и вхо­д а в сис­те­му – восполь­зо­вать­ся мо­ду­лем pam_tally Linux-PAM (Plug­ gable Authentication Modules – Под­к лю­чае­мые мо­ду­ли ау ­тен­ти­фи­ ка­ции). В мо­ей Ubuntu 11.10 Server я под­к лю­чил pam_tally, от­крыв файл /etc/pam.d/common-auth и до­ба­вив в его на­ча­ло две сле­д ую­ щие стро­ки: auth required pam_tally.so onerr=fail deny=3 unlock_time=3600 account required pam_tally.so reset С по­м о­щ ью ко­м ан­д ы faillog мож­н о управ­л ять счет­ч и­к а­м и, про­с мат­р и­в ать ин­ф ор­м а­ц ию о неудач­н ых по­п ыт ­к ах вхо­ да в сис­т е­м у с мо­м ен­т а по­ следнего вхо­д а в сис­т е­м у, о бло­к и­ров­к ах и о про­дол ­ж и­ тель­н о­с ти те­к у­щ их бло­к и­р о­ вок. Что­б ы faillog ото­б ра ­ж а­ ла вре­мя бло­ки­ров­ки, на­строй­те ее в со­от­вет­ст­вии с па­ра­мет­ром unlock_time, за­дан­ным в фай­ле /etc/pam.d/common-auth. Для это­ го ско­ман­дуй­те faillog –l 3600 Те­перь, ес­ли на­брать faillog в команд­ной стро­ке, для всех за­ бло­к и­ро­ван­ных учет­ных за­пи­сей вы­ве­дет­ся вре­мя, остав­шее­ся до раз­бло­ки­ро­вания мо­д у­лем pam_tally, в се­к ун­д ах. Этот ме­тод монито­рин­га рас­про­стра­ня­ет­ся на вход в сис­те­му че­рез кон­соль, а так­же по ssh. Еще од­на ути­ли­та, ко­то­рая на­всегда бло­ки­ру­ет по­пыт­ки вхо­да в сис­те­му с за­дан­но­го хоста, на­зы­ва­ет­ся fail2ban; это фрейм­ворк для пре­дот­вра­щения втор­жений, на­пи­сан­ный на Python. Опи­с ание ра­б о­т ы с fail2ban вы­хо­д ит за рам­к и этой ста­т ьи, но соответствующая ин­фор­ма­ция име­ет­ся на сай­те help.ubuntu. com/community/Fail2ban. Луч­ший спо­соб достичь мак­си­маль­ной уве­рен­но­сти в том, что че­ло­век дей­ст­ви­тель­но тот, за ко­го се­бя вы­да­ет – вы­полнить про­ вер­к у лич­но­сти в ка­кой-ли­бо фор­ме. Ес­ли у вас когда-ли­бо про­ си­ли предъ­я­вить во­ди­тель­ские пра­ва, сту­ден­че­­ский би­лет, вве­сти но­мер со­ци­а ль­но­го стра ­хо­вания или еще ка­к ую-то пер­со­наль­ную ин­фор­ма­цию для за­вер­шения тран­зак­ции, то вы уже про­хо­ди­ли про­вер­к у лич­но­с ти. Про­вер­ка лич­но­с ти – про­с то прось­ба по от­ но­шению к ко­му-ли­бо иден­ти­фи­ци­ро­вать се­бя, до­ка­зав, что он – и вправ­д у он. В ми­ре ау ­тен­ти­фи­ка­ции это час­то на­зы­ва­ет­ся двух­ фак ­тор­ной ау ­тен­ти­фи­ка­ци­ей.

Для про­вер­к и луч­ше все­го поль­зо­в ать­с я пас­с ив­ной сис­те­мой, ко­то­рая не тре­бу­ет от поль­зо­ва­те­ля лишних дей­с т­вий или при­ менения до­полнитель­ных уст­ройств. Од­на из та­ких сис­тем – ди­ на­ми­ка на ­ж а­тия кла­виш – ис­поль­зу­ет ал­го­рит­ми­че­­ский под ­ход для оцен­ки ве­ро­ят­но­сти то­го, что вы – тот, кто вы есть. В ней из­ ме­ря­ет­ся ритм на­жа­тия кла­виш при вво­де па­ро­ля. Та­ким об­ра­зом со­с тав­ля­ет­ся уникаль­ный био­мет­ри­че­­ский шаб­лон для ка­ж ­до­го поль­зо­ва­те­ля, и эти дан­ные при­ме­ня­ют­ся для сравнения при сле­ дую­щих по­пыт­ках ау ­тен­ти­фи­ка­ции. На прак­т и­ке эти сис­те­мы ра­бо­т а­ют в фо­но­вом ре­ж и­ме: про­ ве­ря­ют, как вво­д ят­ся па­ро­ли, и раз­ре­ша­ют или за­пре­щ а­ют вход по ре­зуль­та­т у сравнения. Этот под­ход – пре­крас­ный спо­соб от­ра­ жения атак ком­пь­ю­те­ра и че­ло­ве­ка. Еще од­н а фор­м а про­вер­к и, на­брав­ш ая неко­т о­рую по­п у­ляр­ ность в по­с ледние го­ды – био­мет­ри­че­­ская: сканиру­ет­ся ра­д уж­ ная обо­лоч­ка гла­за или от­пе­ча­ток паль­ца и ре­зуль­тат сравнива­ет­ ся с хра­ня­щим­ся в ба­зе дан­ных. Эти сис­те­мы боль­ше втор­га­ют­ся в ча­ст­ную жизнь, но их пре­иму­ще­ст­во в том, что для них не тре­ бу­ется до­полнитель­ных уст­ройств, та­ких как USB-бре­лок, кар­та или те­ле­фон. Са­мые по­п у­ляр­ные и, по­ж а ­л уй, са­мые прак ­т ич­ные сис ­те­мы про­вер­ки лич­но­сти – генера­то­ры од­но­ра­зо­вых па­ро­лей, ко­то­рые тре­бу­ют от поль­зо­ва­те­ля ука­зы­вать уникаль­ную стро­к у сим­во­ лов при ка­ж ­д ом вхо­д е в сис­ те­м у. Но тогда поль ­з о­в а­т е­ ли обыч­н о долж ­н ы но­с ить с со­б ой до­полнитель­ные уст­ рой­с т­ва. В бо­лее но­вых сис­те­ мах ис­поль­зу­ют­ся при­ло­жения на мо­биль­ных уст­рой­ст­вах (те­ ле­фо­нах) и под­твер­ж дение при посредстве SMS, для мак­си­маль­ ной на ­деж­но­сти. Я не рас­ска­зал об этом в на­шей ста­тье, но в ка­че­­ст­ве двух­фак­ тор­ной ау ­тен­ти­фи­ка­ции в Linux вы мо­же­те по­про­бо­вать про­грам­ му Google Authenticator. |

«На взлом на­ше­го пер­во­го па­ро­ля ушел бы 281 день.»

> Таб­ли­ца по­треб­ле­ния пор­ций ал­ко­го­ля Грэ­мом и Эн­д­рю на кон­фе­рен­ции Oscon.

Пол­ная безо­пас­ность Безо­п ас­н ость – это не толь­ко имя поль ­з о­в а­т е ­л я и па­роль. Ес­ли ваш сер­вер от­крыт для досту­па че­рез Ин­тернет, за­щи­т и­те его на­деж­ным бранд­мау­эром, даю­щим доступ лишь к минималь­но необ­хо­ди­мо­му

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

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

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 73


Ре­зерв­ное ко­пи­ро­ва­ние Пусть все хра­нит­ся в це­ло­сти и со­хран­но­сти, от гре­ха подальше!

Об­ла­ко фай­лов: Нейл Бот­вик рас­смат­ри­ва­ет оп­ции об­лач­но­го хра­не­ния – на тот слу­чай, ес­ли ка­та­ст­ро­фа по­стиг­нет ва­шу до­маш­нюю сис­те­му.

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

се со­глас­ны, что ре­зерв­ные ко­пии – это хо­ро­шо, и неко­то­ рые да­же их де­ла­ют. Боль­шин­ст­во де­ла­ет их на внешний же­ст­кий диск, что за­щи­тит вас при от­ка­зе основ­но­го же­ ст­ко­го дис­ка, но ма­ло по­мо­жет в бо­лее ка­та­ст­ро­фи­че­­ской си­т уа­ ции – по­жа­ра, на­воднения, кра­жи со взло­мом, а то и про­сто скач­ка на­пря­жения или его крат­ко­вре­мен­но­го про­ва ­ла в мо­мент под­к лю­ чения внешнего же­с т­ко­го дис­к а. Локаль­ные ре­зерв­ные ко­пии удоб­ны и де­ла­ют­ся бы­ст­ро, но нена­деж­ны. Внешние ре­зерв­ные ко­ пии име­ют свои ог­раничения: ско­рость, стои­мость, безо­пас­ность хранения ва­ших дан­ных на чу­жом ком­пь­ю­те­ре. Мы рас­смот­рим, как обес­пе­чить со­хран­но­сть ва­ших дан­ных уда­лен­ным (или об­лач­ ным, кому как нра­вит­ся) хранением. Так как локаль­ные ре­зерв­ные ко­пии бо­лее удоб­ны, ес­ли они под ру­кой, мы выберем под­хо­д, ког­ да эти ко­пии лю­бым привычным вам спо­со­бом син­хронизи­ру­ют­ся с об­лач­ным сер­ве­ром, вме­сто то­го, что­бы де­лать дуб­ли­ка­ты, на­ страи­вая от­дель­ный сер­вер ре­зерв­но­го ко­пи­ро­вания. Есть мно­же­с т­во сер­ви­с ов об­лач­но­го хранения; и неко­то­рые из них пре­д остав ­л я­ю т «жил­п ло­щ адь» бес­п лат ­н о – с плат ­н ы­ ми об­нов­ления­ми за ее расширение. Это хо­ро­шие усло­вия, ес­ли вам нуж­но мень­ше мес­та, чем пре­достав­ляе­мое бес­плат­но, или вы точ­но знае­те, сколь­ко мес­та вам по­на­до­бит­ся, пре­ж ­де чем пла­ тить за него. Здесь мы рас­смот­рим сер­вис, ко­то­рый в боль­шей сте­пени ис­поль­зу­ет ме­тод оп­ла­ты по фак ­т у ис­поль­зо­вания – сер­ вис S3 от Amazon. Он не пре­достав­ля­ет кли­ен­та ра­бо­че­го сто­ла, все де­ла­ет­ся че­рез web-ин­тер­фейс; но здесь есть API, так что же­ лаю­щие мо­г ут на­пи­сать кли­ен­та. Для Amazon S3 име­ет­ся кроссплат­фор­мен­ный GUI-кли­ент DragonDisk, доступ­ный на http://www. dragondisk.com или че­рез менед ­жер па­ке­тов ва­ше­го ди­с т­ри­бу­ ти­ва. Од­на­ко ре­зерв­ные ко­пии долж­ны де­лать­ся ав­то­ма­ти­че­­ски в фоне и без вме­ша­тель­ст­ва поль­зо­ва­те­ля – ибо тот но­ро­вит от­ кла­ды­вать по­доб­ное вме­ша­тель­ст­во, вспо­ми­ная о нем ис­к лю­чи­ тель­но тогда, когда ре­зерв­ная ко­пия нуж­на. Выбор здесь име­ет­ ся, но мы оста­но­ви­лись на s3cmd, про­грам­ме команд­ной стро­ки, объ­е­ди­няю­щей функ­ции ftp (про­грам­мы, а не про­то­ко­ла) и rsync.

От­крой­те учет­ную запись Пер­вым де ­лом нуж ­но на­с тро­и ть учет ­н ую запись в Amazon S3. S3 не пре­достав­ля­ет бес­п лат­ных услуг в том ви­де, как, на­при­ мер, Dropbox, т. е. не вы­д а­ет вам 2 ГБ на­ве­ки, но в нем есть бес­ плат­ный проб­ный пе­ри­од. Он пре­достав­ля­ет вам 5 ГБ хранили­ща

> За­пус­ти­те s3cmd --configure для на­ строй­ки. На дан­ ный мо­мент все, что вам нуж­но из­ ме­нить в на­строй­ ке по умол­ча­нию — это клю­чи.

и 15 ГБ в ме­сяц бес­плат­ной пе­ре­д а­чи, сро­ком на год или до тех пор, по­ка вы не пре­вы­си­те бес­плат­но­го ли­ми­та. Од­на­ко це­ны S3 весь­ма ра­зум­ны и осно­ва­ны толь­ко на реальном ис­поль­зовании. Вы пла­ти­те за ис­поль­зуе­мое ме­сто и за ши­ри­ну по­ло­сы, ис­поль­ зуе­м ой для пе­р е­д а­чи, хо­т я по­с лед­н яя це­н а минималь­н а, ес­ли вы все­го лишь за­гру ­жае­те ре­зерв­ные ко­пии че­рез рав­ные про­ме­ жут­ки вре­мени. Что­бы за­вес­ти счет, вам при­дет­ся ука­зать ин­фор­ ма­цию по ва­шей кар­те, но ес­ли вы уже де­ла­ли по­к уп­ки на Ama­ zon, это, ско­рее все­го, уже сде­ла­но. Для соз­дания сче­та пе­рей­ди­те на http://aws.amazon.com/s3. Когда счет бу­дет соз­дан, вы по­лу­чи­ те два клю­ча: ключ досту­па и сек­рет­ный ключ; по су­ти это имя поль­зо­ва­те­ля и па­роль. Спра­воч­ная man-страница s3cmd го­во­ рит, что их на­до раз­мес­тить в ~/.s3cmd, но файл, по крайней ме­ ре для ре­ли­за 1.1., бу­дет ~/.s3cfg. Впрочем, это особой ро­ли не иг­ ра­ет, по­сколь­к у s3cmd соз­даст файл за вас, когда вы за­пусти­те s3cmd –configure От­веть­те на во­про­сы, вы­режь­те и вставь­те клю­чи, что­бы обес­ пе­чить их пра­виль­ность, и s3cmd го­тов к ра­бо­те. За­пуск s3cmd ls не дол­жен ниче­го ото­бра­жать, ес­ли вы по­ка ниче­го не за­гру­зи­ли на свою учет­ную запись S3. Ес­ли он вы­даст вам ошиб­к у, про­верь­ те на­строй­к у. Amazon S3 ра­бо­та­ет с кор­зи­на­ми [buckets] и объ­ек­ та­ми [objects]. Кор­зи­на – это кон­тейнер. Их мо­жет быть до 100, но их вло­жение не до­пуска­ет­ся: S3 не под ­дер­ж и­ва­ет подпапок, но это не про­б ле­ма, как мы уви­д им да ­лее. Кор ­зи­на соз ­д а­е т­с я из кон­со­ли web-управ­ления, или с по­мо­щью s3cmd: s3cmd mb s3://bucket-name На­звания кор­зин долж­ны быть уникаль­ны­ми во всем S3 – по­ пы­т ав­ш ись соз­д ать кор­з и­н у с уже ис­п оль­з о­в ан­н ым именем, вы по­лу­чи­те ошиб­к у. Мож­но из­бе­жать по­доб­ных кол­ли­зий, ес­ли пред­ва­рять на­звания кор­зин сво­им до­мен­ным именем, ес­ли оно у вас есть; вряд ли кто-то еще возьмет, на­при­мер, та­кое имя s3cmd mb s3://example.com-backups Мы от­м е­т и ­л и, что S3 не под ­д ер­ж и­в а­е т вло­жен­ных кор­зин, и в них мо­г ут быть вклю­че­ны толь­ко объ­ек­т ы (то есть фай­лы); так как же нам соз­да­вать ре­зерв­ные ко­пии в папках или упо­ря­до­ чи­вать мно­го­чис­лен­ные ко­пии, не соз­д а­вая при этом мно­же­ст­ва кор­зин? По­сколь­к у S3 не ис­поль­зу­ет папок, / яв­ля­ет­ся за­кон­ным сим­во­лом в имени фай­ла. Итак, когда вы со­х ра­няе­те файл как somedir/somefile, это один файл в корне ва­шей кор­зи­ны, но s3c­ md бу­дет ин­тер­пре­ти­ро­вать его, как файл в папке. Что­бы за­гру­ зить та­кой файл, вве­ди­те: s3cmd put somedir/somefile s3://example.com-backup/somedir/ somefile По­лез­ным по­боч­ным эф­фек­том то­го, что все это – один файл, яв­л я­е т­с я то, что вам не нуж­н о соз­д а­в ать «папок» на сер­в е­р е до то­го, как вы начнете в них пи­сать. Вы так­же мо­же­те ско­пи­ро­ вать сра­зу несколь­ко фай­лов в уда ­лен­ную псев­до­папку: s3cmd *.jpg s3://example.com-backup/photos/ Ко­пи­ро­ва­ние фай­ла за фай­лом на­дое­да­ет очень бы­ст­ро; лучше мы син­хро­ни­зи­ру­ем всю папку ре­зерв­ных ко­пий с S3: s3cmd sync /mnt/backups/ s3://bucket-name/backups/ Ес­л и вам ка­жет­с я, что это по­хо­же на син­т ак­с ис для rsync, то вы пра­вы, вплоть до зна­чения слэ­ш ей в име­нах пу­т и. Ес­ли

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

74  |  LXF162 Октябрь 2012


Об­лач­ное хра­не­ние Учебник

Ре­зерв­ные ко­пии вы ра­бо­та­ли с rsync, то в оп­ци­ях син­хрониза­ции s3cmd вы буде­ те как до­ма. На­при­мер, мо­ж но ис­поль­зо­вать --exclude для ука­ зания папок или фай­лов, ис­к лю­чаемых из син­х рониза­ции, или --exclude-from для чтения этой ин­фор­ма­ции из фай­ла. По­с лед­ няя оп­ция по­лез­на при соз­д ании ре­зерв­ных ко­пий мно­же­с т­вен­ ных пу­тей в S3, по­сколь­к у мож­но ука­зы­вать ис­к лю­чения от­дель­но для ка­ж ­до­го пу­ти и ис­поль­зо­вать тот же са­мый син­так­сис, ког­ да вы­зы­вае­те s3cmd. Од­ной зна­чи­тель­ное раз­ли­чие ме­ж ­д у rsync и s3cmd – то, что rsync ис­поль­зу­ет --delete, а s3cmd ис­поль­зу­ет --delete-removed. Дру­гое – то, что s3cmd ав­то­ма­ти­че­­ски пе­ре­на­ прав­ля­ет в папки, ес­ли его вы­звать с по­мо­щью sync. Объ­яснение этих оп­ций мож­но най­ти на man-странице.

> Рас­ши­ре­ние для Firefox, S3fox, да­ет хо­ро­ший кон­троль над ва­шим хра­не­ ни­ем дан­ных S3; в по­след­нее вре­мя я ис­поль­зую Firefox ис­клю­чи­тель­но для это­го.

Сравнение и кон­траст Еще од­но раз­ли­чие в том, как две ко­ман­ды изу­ча­ют су­ще­ст­вую­ щие фай ­л ы, об­н а­р у ­ж и­в ая в них раз ­л и­ч ия: за­г руз­к а всех су­ ще­ст­вую­щих фай­лов под­ряд – это яв­но не ва­ри­ант, по­это­му для их сравнения s3cmd ис­поль­зу­ет два ме­то­да. Во-пер­вых, сравнива­ ются раз­ме­ры фай­лов; а ес­ли они оди­на­ко­вы, сравниваются кон­ троль­ные хэши MD5 локаль­ных и уда ­лен­ных фай­лов. Вы­чис­ление уда­лен­ного хэша де­ла­ет­ся на сер­ве­ре Amazon, и ваша по­ло­са про­ пускания не нагружается. Од­на­ко при этом про­ис­хо­дит неболь­ шая за­держ­ка – еще од­на тран­зак­ция с сер­ве­ром (S3 на­чис­ля­ет пла­т у за ка­ж ­дые 1000 или 10 000 тран­зак­ций), так что вы мо­же­те от­к лю­чить эту опе­ра­цию с по­мо­щью --no-check-md5. Для оп­ре­де­ ления иден­тич­но­сти фай­лов час­то хватает про­вер­ки их раз­ме­ра. При ис­поль­зо­вании лю­бо­го об­лач­но­го хранения нуж­но учи­ты­ вать безо­пас­ность ва­ших дан­ных. Ес­ли вы соз­д ае­те ре­зерв­н ую ко­пию сво­ей до­машней папки, там на­вер­ня­ка бу­дет кон­фи­ден­ци­ аль­ная ин­фор­ма­ция. Сер­ви­с а, ко­то­рый шиф­ру­ет ва­ши дан­ные, недоста­точ­но, по­то­му что для это­го ему при­дет­ся ука­зать клю­чи. Ес­ли вам нуж­на про­грам­ма ре­зерв­но­го ко­пи­ро­вания с соб­ст­вен­ ным шиф­ро­ванием, то лич­но мне по­ка­за ­лась пре­восход­ной dar (http://dar.linux.free.fr). В ином слу­чае вам при­дет­ся рас­смот­реть воз­мож­ность шиф­ро­вания дан­ных пе­ред их за­груз­кой. Это мож­но сде­лать с по­мо­щью че­го-то вро­де GPG, но тогда при­дет­ся хранить

> DragonDisk — кросс-плат­фор­мен­ная про­грам­ма Java для ра­бо­ты с сер­ви­сом хра­не­ния Amazon S3.

два эк­зем­п­ля­ра ва­ших ре­зерв­ных ко­пий, ес­ли толь­ко вы не из­ ба­ви­лись от неза­шиф­ро­ван­ной локаль­ной ко­пии по­сле за­груз­ки на сер­вер хранения. А тогда вам при­дет­ся де­шиф­ро­вать все пе­ ред восста­нов­лением – так что все рав­но по­на­до­бит­ся лишнее ме­ сто. Од­но из ре­шений – вир­т у­а ль­ная фай­ло­вая сис­те­ма ecryptfs: она хранит за­шиф­ро­ван­ные дан­ные на ва­шем дис­ке, но де­ла­ет де­шиф­ро­ван­ную ко­пию без необ­хо­ди­мо­с ти уд­ваи­вать дис­ко­вое про­стран­ст­во или занимать­ся де­шиф­ро­ванием вруч­ную. Скажем, у вас есть две пустых папки в /mnt/backup, под на­званием plain и secret. На­строй­те фай­ло­вую сис­те­му ecryptfs с по­мо­щью: sudo mount -t ecryptfs /mnt/backup/secret /mnt/backup/plain За­дай­те ко­до­вую фра­зу для безо­пас­но­сти и при­ми­те на­строй­ ки по умол­чанию для прочих во­про­сов. За­тем ско­пи­руй­те пару фай­лов в plain и осмот­ри­те со­дер­жание обе­их папок. Вы уви­ди­те сов­па­д аю­щие фай­лы (шиф­ро­вать имена фай­лов то­же мож­но), но фай­лы в secret бу­д ут нечи­тае­мы­ми. Те­перь раз­мон­ти­руй­те: sudo umount /mnt/backup/plain Папка plain бу­дет пуста, а secret бу­дет по-прежнему со­дер­жать за­шиф­ро­ван­ные фай­лы. По­вто­ри­те ко­ман­д у mount, что­бы вер­ нуть на­зад со­дер­жи­мое. Осталось сде­лать ре­зерв­ную ко­пию пап­ ки plain и син­хронизи­ро­вать папку secret с об­ла­ком: s3cmd sync /mnt/backup/secret/ s3://bucket-name/backups/ Чтобы восста­но­вить весь на­бор своих ре­зерв­ных ко­пий, просто по­ме­няйте в этой ко­ман­де мес­та­ми локаль­ный путь и путь кор­ зи­ны. Ре­зерв­ные ко­пии бывают весь­ма объемны, а в S3 нет оп­ ции resume при за­груз­ке дан­ных, и ­хорошо бы ва­ша про­грам­ма ре­зерв­но­го ко­пи­ро­вания де­ли­ла ре­зерв­ные ко­пии на бо­лее мел­ кие час­ти; тогда, ес­ли со­единение ра­зо­рвет­ся, про­цесс при­дет­ся по­вто­рить толь­ко для час­ти ко­пий. Сто­ит так ­же по­вто­рить ко­ман­ ду sync по за­вер­шении пе­ре­да­чи дан­ных; пред­поч­ти­тельнее сде­ лать это с по­мо­щью оп­ции --no-check-md5, что­бы удо­сто­ве­рить­ ся, что все бы­ло за­гру­же­но без по­вре­ж ­дений. Вто­рой этап s3cmd sync должен за­вер­шить­с я без пе­ре­д а­чи фай ­лов. S3cmd от­лич­ но под­хо­дит для пе­ре­да­чи дан­ных пар­тия­ми из команд­ной стро­ ки или скрип­та ре­зерв­но­го ко­пи­ро­вания, но иногда фай­лы на­до про­смот­реть. По­ми­мо уже упо­ми­нав­ше­го­ся DragonDisk и Amazon Web Console, есть так­же мо­д у­ли рас­ши­рения брау­зе­ра для Firefox и Chrome/Chromium; осо­бо по­ле­зен S3fox. |

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 75


Тек­сто­вые ути­ли­ты С оз­да­вай­те луч­шие ру­ко­ во­дства и ин­ст­рук­ции для сво­их про­ек­тов

До­ку­мен­та­ция: Улуч­ши­те жизнь поль­зо­ва­те­лям сво­их про­грамм или чу­жих про­грамм, у ко­то­рых нет хо­ро­ших ру­ко­водств. Майк Сон­дерс по­ка­зы­ва­ет, как это де­ла­ет­ся.

П

и­сать код здо­ро­во – мож­но ори­г и­н альничать, про­б о­ вать но­вое, вы­во­д ить все из строя и по­х ло­пать се­бя по спи­ не, когда что-то по­л у­ч ит­с я. А вот пи­сать до­к у­мен­та­цию не столь ув­ ле­к а­т ель­н о, осо­б ен­н о когда вме­ Код примера сто это­г о вы бы луч­ш е реа­л и­з о­ (test.xml) вы­ва ­ли вся­кие функ­ции. Это од­на из при­чин, по ко­то­рой до­к у­мен­та­ ция в Linux (не счи­тая по­пу­ляр­ных на­столь­ных при­ло­жений) час­то непол­на. Про­ще го­во­ря, ма ­ло ко­му охо­та ее пи­сать. Од­н а­к о хо­р о­ш ая до­к у­м ен­т а­ц ия пре­в ра­щ а­е т нор­м аль­н ую про­г рам­м у в пре­к рас­н ую. Ва­ш а про­г рам­м а мо­ж ет иметь са­ мый впе­ч ат­л яю­щ ий в ми­р е на­б ор функ­ц ий, а код – ло­п ать­с я от гениальней­ших ал­г о­р ит­м ов, но ес­ли никто не в со­с тоянии поль­зо­вать­ся ва­шей про­грам­мой или по­нять ва­шу ра­бо­т у, все это на­прас­но. По­это­му на на­шем уро­ке мы рас­ска­жем об ути­ли­тах и знаниях, необ­хо­ди­мых для соз­дания до­к у­мен­та­ции выс­ше­го ка­че­­ст­ва. Да­ же ес­ли вы не про­грам­мист, это все рав­но бу­дет по­лез­но: ре­шив по­мочь ка­ко­му-нибудь про­ек­т у с от­кры­тым ис­ход­ным ко­дом, по­ сле чтения этой ста­тьи вы смо­же­те внести свой вклад в ее до­к у­ мен­та­цию. Мно­гие про­ек­ты от­ча­ян­но ну­ж ­да­ют­ся в хо­ро­ших ав­то­ рах для ру­ко­водств, вот мы и на­пра­вим вас на вер­ный путь.

Наш эксперт Майк Сон­дерс по­ тра­тил боль­ше вре­ме­ни на соз­ да­ние до­к у­мен­ та­ции для сво­ей ОС (http://mikeos. berlios.de), чем на на­пи­са­ние ко­да!

Ис­поль­зо­ва­ние DocBook Но пре­ж ­д е чем на­пи­с ать хоть сло­в о, нуж ­н о вы­брать фор­м ат. Боль­шин­с т ­во поль ­зо­в а­т е ­лей ныне ожи­д а­е т уви ­д еть не про­с то тек­сто­вые фай­лы README, а до­к у­мен­та­цию в HTML, PDF или дру­ гие роскоши. Тео­ре­ти­че­­ски всю до­к у­мен­та­цию мож­но на­пи­с ать в тек­сто­вых фай­лах и за­тем сде­лать вер­сии в HTML и PDF, но это дол­го и тру­до­ем­ко. И ка­ж ­дый раз при из­менении тек­сто­вой вер­ сии при­дет­ся вно­сить прав­ки в вер­сии и HTML, и PDF. К сча­стью, ре­шение есть – и это DocBook. Это сис­те­ма генера­ ции до­к у­мен­та­ции из од­но­го ис­точника во мно­же­ст­ве фор­ма­тов (HTML, PDF, элек­трон­ные книги, страницы man и мно­гие дру­гие). Ис­точник – это до­к у­мент в фор­ма­те XML, и ра­бо­тать нуж­но толь­ ко с ним. На­бор ути­лит пре­об­ра­зу­ет файл XML в дру­гие фор­ма­ты. DocBook весь­ма по­пу­ля­рен в со­об­ще­ст­ве сто­ронников сво­бод­но­ го ПО: он при­ме­ня­ет­ся в KDE, Gnome и дру­гих круп­ных про­ек­тах. Для тех, кто никогда не стал­ки­ва­лся с XML – это фор­мат пред­ став­ления дан­ных в тек­сто­вых фай­лах. По су­ти, дан­ные хра­нят­ся в кон­тейнерах, обо­зна­чае­мых сло­ва­ми в уг­ло­вых скоб­ках. Пред­ ставь­те се­бе те­ле­фон­ную книгу с абонен­та­ми Бо­бом Сми­том [Bob Smith] и Джо Блог­гзом [Joe Bloggs]. В «обыч­ной», тек­сто­вой вер­ сии это бу­дет нечто вро­де

Name: Bob Smith Number: 01762 271 482 Name: Joe Bloggs Number: 08293 186 172 Для воспри­я тия че­л о­в е­ком такое хорошо подходит, но оно не слиш­ком стан­дар­ти­зи­ро­ва­но: на­при­мер, в дру­гих те­ле­фон­ных книгах вме­с то двое­то­чий мо­г ут ис­поль ­зо­вать­с я от­с ту ­пы и т.  д. Без еди­но­го стан­дар­та понадобится множество про­грам­м раз­бор­ ки по­доб­ных дан­ных, и каждая будет работать по-своему. Но с по­ мо­щью XML мож­но уп­ро­стить ком­пь­ю­те­ру чтение: <entry> <name>Bob Smith</name> <number>01762 271 482</number> </entry> <entry> <name>Joe Bloggs</name> <number>08293 186 172</number> </entry> Те­п ерь ком­пь­ю­т ер пре­к рас­н о пой­м ет, где на­чи­н а­ю т­с я и за­ кан­ч и­в а­ю т­с я дан­н ые. Сло­в а внут­р и уг­л о­в ых ско­б ок (тэ­г и)

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

76  |  LXF162 Октябрь 2012


До­ку­мен­та­ция Учебник

Всем поможем

> В ре­дак­то­рах ти­па Bluefish (на ри­сун­ке) и Quanta есть под­свет­ка син­так­си­са XML, это уп­ро­ща­ет чте­ние ко­да. не со­дер­жат дан­ных, но иден­ти­фи­ци­ру­ют их. В за­кры­ваю­щем тэ­ге ис­поль­зу­ется пря­мой слэш. Так, тэг <entry> [запись] на­чи­на­ет но­ вую запись в те­ле­фон­ной книге, а тэг </entry> за­вер­ша­ет ее (ес­ли вы зна­ко­мы с HTML, то долж­ны по­нять син­так­сис). Дан­ные так­же мож­но вкла­ды­вать друг в дру­га, так что раз­дел <name>…</name> [имя] мо­жет быть внут­ри раз­де­ла <entry>…</entry>, как в на­шем при­ме­ре. Что­бы уп­ро­с тить чтение, мож­но вы­де­лять вло­жен­ные раз­де­лы от­сту­пом, но это необя­за­тель­но. Важ­но от­ме­тить, что XML-фай­лы DocBook фо­к у­си­ру­ют­ся толь­ ко на со­дер­жании дан­ных, а не на их пред­став­лении. Тэ­ги опи­сы­ ва­ют толь­ко то, ка­к ую ин­фор­ма­ц ию они со­дер­ж ат – на ­звания, па­ра­гра­фы и т. д. – а не то, как ее нуж­но ото­бра­ж ать или вы­во­ дить на пе­чать. Это да­ет нам мак­си­маль­ную гиб­кость для пре­об­ ра­зо­вания тек­с та во мно­же­с т­во фор­ма­тов, в чем мы вскорости и убе­дим­ся.

Ути­ли­ты Фай ­лы DocBook мож­но пи­с ать в лю­б ом тек­с то­вом ре­д ак ­т о­р е, но вам так ­ж е по­н а ­д о­б ят­с я про­г рам­м ы для их кон­в ер­т а­ц ии: xsltproc и docbook-xsl. Они есть в боль­шин­с т ­ве ди­с т ­ри­бу ­т и­вов, а для их уста­нов­к и в Ubuntu и дру­г их ди­с т­ри­бу­т и­вах на осно­ве Debian доста­точ­но вы­звать apt-get. От­крой­те свой лю­би­мый тек­ сто­вый ре­дак­тор и вве­ди­те сле­д ую­щий текст: <?xml version=”1.0” encoding=”UTF-8”?> <!DOCTYPE article PUBLIC “-//OASIS//DTD DocBook XML V4.4//EN” “http://docbook.org/xml/4.4/docbookx.dtd”> <article> <title>Как поль­зо­вать­ся про­г рам­мой FooProg 1.0</title> <section>

<title>Вы­зов из ко­манд­ной стро­к и</title> <para>Да про­с то на­бе­ри­те fooprog!</para> <para>Все­го и де­лов.</para> </section> </article> Пер­вые две стро­ки по­ка­ж ут­ся но­вич­кам в XML аб­ра­ка ­д аб­рой, но они всего-навсего по­яс­ня­ют ин­тер­пре­та­то­ру, что это за до­к у­ мент. За­тем мы оп­ре­де­ля­ем ста­тью [article] и ее за­го­ло­вок [title] и соз­да­ем раз­дел [section]. Здесь вы ви­ди­те мно­же­ст­вен­ное вло­ жение – раз­дел со­сто­ит из па­ра­гра­фов, а ста­тья – из раз­де­лов. Те­перь со­храните файл (в фор­ма­те UTF-8) под именем test.xml в до­машнем ка­та ­ло­ге, от­крой­те ок­но тер­ми­на ­ла и ско­ман­д уй­те xsltproc -o test.html /usr/share/xml/docbook/stylesheet/nwalsh/ xhtml/docbook.xsl test.xml Итак, те­перь у нас дол­жен поя­вить­ся файл test.html (ес­ли нет, и вы сде­ла­ли ошиб­к у в фай­ле, поя­вит­ся со­об­щение об ошиб­ке с ука­занием на стро­к у). От­крой­те test.html в брау­зе­ре, и вуа­ля – ва­ша до­к у­мен­та­ция в web-фор­ма­те. Вы ви­ди­те, что ко­ман­да сгенериро­ва­ла да­же со­дер­жание; ес­ли до­ба­вить в до­к у­мент но­вые раз­де­лы (<section>...</section>), ссыл­ ки на них поя­вят­ся и в со­дер­жании.

Вве­дение в XSLT Те­перь по­смот­рим, что имен­но де­ла­ет ко­ман­д а. Вы помните, что в фай­лах DocBook нет ника­кой ин­фор­ма­ции о пред­став­лении дан­ ных, а в HTML-вер­сии у нас есть боль­шие и ма­лень­кие шриф­ты, го­ри­зон­таль­ная линия и дру­гие эле­мен­ты фор­ма­та. От­к у­д а они взя­лись? От­вет – XSLT (Extensible Stylesheet Language Transformations – пре­об­ра­зо­вания рас­ши­ряе­мо­го язы­ка сти­лей). Это сис­те­ма, по­ сред­с т­вом ко­то­рой тэ­ги XML пре­об­ра­зу­ют­ся в нечто иное с до­ бав­лением ин­фор­ма­ции о сти­ле. В на­шей ко­ман­де мы вы­зы­ва­ем ‘xsltproc’, про­цес­сор XSLT, с на­шим фай­лом test.xml в ка­че­­с т­ве вход­но­го и test.html в ка­че­­ст­ве вы­ход­но­го (за­д а­ет­ся па­ра­мет­ром -o). Но файл, ко­то­рый со­вер­ша­ет все вол­шеб­с т ­во – /usr/share/ xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl За­гля­нув в этот файл, вы ми­гом за­ра­бо­тае­те го­лов­ную боль, по­то­му что там сплошь непо­нят­ный технояз и струк­т у­ры. Доста­ точ­но бу­дет ска­зать, что в нем опи­сы­ва­ет­ся, как тэ­ги XML в фай­ ле DocBook кон­вер­ти­ру­ют­ся в HTML, и ука­зы­ва­ет­ся необ­хо­ди­мое фор­ма­ти­ро­вание. Есть и дру ­г ие таб­л и­ц ы сти ­л ей, для кон­в ер­т а­ц ии в дру ­г ие фор­м а­т ы. На­п ри­м ер, для пре­о б­р а­з о­в ания в PDF сна­ч а ­л а ну­ жен про­ме­ж у ­точ­ный фор­мат XSL-FO (это XML с ин­фор­ма­ц и­ей о фор­ма­ти­ро­вании): xsltproc /usr/share/xml/docbook/stylesheet/docbook-xsl/fo/ docbook.xsl test.xml > test.fo

»»Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/! Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 77


Учебник До­ку­мен­та­ция За­т ем нуж ­но пре­об­ра ­зо­в ать test.fo в файл PDF. Это де ­ла­е т­ ся раз­ны­ми спо­со­ба­ми; один из са­мых про­с тых – ути ­ли ­той fop (в Debian/Ubuntu она уста­нав­ли­ва­ет­ся ко­ман­дой apt-get install fop). За­тем вы­полните ко­ман­ду: fop test.fo test.pdf По на­пи­с ании до­к у ­мен ­т а­ции вы смо­же­те соз ­д а­вать скрип ­т ы (или да­же поль­зо­вать­ся makefile) для генера­ции вер­сий в HTML, PDF и лю­бых дру­гих фор­ма­тах од­ной ко­ман­дой. На­ря­д у с тэ­га­ми <section>, <title> и <para> есть дру­гие воз­мож­ но­сти для струк­т у­ри­за­ции со­дер­жи­мо­го. На­при­мер, вот так соз­ да­ют­ся мар­ки­ро­ван­ные спи­ски: <title>Facts</title> <itemizedlist> <listitem><para>Пиво - дело хорошее!</para></listitem> <listitem><para>Да и винишко тоже.</para></listitem> <listitem><para>Но Минздрав предупреждает.</para></listitem> </itemizedlist> Для ну­ме­ро­ван­но­го спи­ска за­мените itemizedlist на orderedlist. У мно­гих тэ­гов есть ат­ри­бу ­ты, ме­няю­щие их по­ве­дение – на­при­ мер, по­про­буй­те вме­сто про­сто­го <orderedlist> сле­д ую­щий: <orderedlist numeration=”upperroman”> Те­перь эле­мен­ты спи­ска бу­дут ну­ме­ро­вать­ся рим­ски­ми циф­ра­ ми – и вме­сто 1, 2, 3, 4 вы уви­ди­те I, II, III, IV и т. д. Еще один по­лез­ ный ат­ри­бут это­го тэ­га – continuation. Ес­ли уста­но­вить его в con­ tinues, то ну­ме­ра­ция бу­дет про­дол­же­на с пре­ды­д у­ще­го спи­ска. Ат­ри­бу ­тов слиш­ком мно­го, что­бы опи­сы­вать их под­роб­но; ес­ли вы хо­ти­те уз­нать про­чие воз­мож­но­с ти тэ­га, за­гляните в офи­ци­ аль­ную до­к у­мен­та­цию www.docbook.org/tdg51/en/html и най­ди­те раз­дел «DocBook Element Reference». С тэгом <programlisting> вклю­чаются фраг­мен­ты ко­да: <programlisting> 10 PRINT INKEY$ 20 GOTO 10 </programlisting> В HTML это вы­во­д ит­с я в ви­д е мо­но­ши­рин­но­г о шриф­т а. Тэг <blockquote> де­ла­ет от­с туп, а <example> вы­во­дит за­го­ло­вок ‘Ex­ ample [При­мер]’ с но­ме­ром – но­ме­ра генери­ру­ют­ся ав­то­ма­ти­че­ ­ски, и ес­ли вы до­ба­ви­те но­вый при­мер по­сре­ди до­к у­мен­т а­ции, вам не при­дет­ся пе­ре­ну­ме­ро­вы­вать сле­дую­щие. Вы­д е ­лить раз ­д ел по­мо­г ут тэ­г и <command> или <emphasis>. (В HTML со­д ер­ж и­м ое пер­во­г о вы­д е­л я­е т­с я жир­ным шриф­т ом,

> Пер­вые ре­зуль­та­ты на­ше­го пре­об­ра­зо­ва­ния — не­за­тей­ли­во, но ра­бо­ту свою де­ла­ет. вто­ро­го – кур­с и­вом). Для вклю­чения ссыл­к и на внешний сайт восполь­зуй­тесь тэ­гом <ulink> с па­ра­мет­ром url: <ulink url=”http://www.linuxformat.com”>The best website ever </ulink> Час­т о бы­в а­е т нуж­н о вклю­чить в до­к у­м ен­т а­ц ию внут­р енние ссыл­ки – на дру­гие раз­де­лы. Для это­го восполь­зуй­тесь ат­ри­бу­ том id тэ­га <section>, на ко­то­рый за­тем мож­но со­слать­ся. <section id=”compiling”> <title>How to build it</title> ... <para><link linkend=”compiling”>Click here</link> to read the build instructions.</para> Как ви­ди­те, мы за­да­ли иден­ти­фи­ка­тор раз­де­ла (compiling) и за­ тем соз­да­ли ссыл­к у на этот раз­дел. Что­бы вста­вить в до­к у­мент изо­бра­жение, восполь­зуй­тесь тэ­га­ ми <mediaobject> и <imageobject> сле­д ую­щим об­ра­зом: <mediaobject> <imageobject> <imagedata fileref=”austrohungary.png” /> </imageobject> <caption> <para>Ав­с т­ро-Венг­рия в 1910 г.</para> </caption>

Пять ша­гов к отличной до­ку­мен­та­ции Хо­ т я в этой ста­ т ье мы в основ­ н ом го­ в о­ р и­ ли о техниче­­ской сто­роне де­ла, всегда сто­ит помнить и о че­ло­ве­че­­ской сто­роне, т. е. о том, как сде­лать ва­ши ру­ко­во­дства мак­си­маль­но доступ­ны­ми. 1 Ду­май­те как поль­зо­ва­тель Пред­с тавь­те, что вы ви­ди­те про­грам­му (или фраг­ мент ко­д а) впер­вые. Ка­к ие во­про­сы вы за­д а­ди­те? Ка­к ие за ­д а­ч и вы бу­д е­т е ре­ш ать пре­ж ­д е все­г о? Ка­к ие эле­м ен­т ы ин­т ер­ф ей­с а мо­г ут ока­з ать­с я непо­нят­ны­ми? Важ ­н о быть осто­р ож ­н ым и не за­к ла ­д ы­в ать­с я на пре­ды­д у­щий опыт поль­зо­ва­те­ля. Да­же ес­ли это обыч­н ая про­г рам­м а – тек­с то­в ый про­ц ес­с ор или поч ­т о­вый кли­е нт – по­д у ­м ай ­т е о том, что поль ­зо­ ва­тель мог уста­но­вить Linux все­го несколь­ко ча­сов на­зад.

2 Струк ­т у­ра пре­ж­де все­го Ста­р ай­тесь мак­с и­маль­но раз­би­в ать ин­фор­ма­ц ию на от­дель­ные фраг­мен­ты, ко­то­рые не долж­ны быть слиш­ком боль­ши­ми. На­при­мер, в на­шем жур­на ­ле есть раз­де­лы, за­го­лов­ки, врез­ки и дру­гие воз­мож­ но­с ти, ко­т о­р ые по­м о­г а­ю т да­в ать ин­ф ор­м а­ц ию не в од­ном боль­шом куске тек­ста. 3 Не до­к у­мен­ти­руй­те все Бы­ли вре­ме­н а (осо­б ен­но в ми­р е Windows), когда ма­лень­кие зна­ки во­про­са бы­ли раз­бро­са­ны по всем ок­нам, что­бы вы мог­ли по­нять, что де­ла­ет ка­ж ­д ая кноп­ка. Но вполне оче­вид­но, что кноп­ка «За­крыть» за­кры­ва­ет диа­ло­го­вое ок­но. По­это­му со­сре­до­точь­ тесь на основ­ных воз­мож­но­стях и клю­че­вых ас­пек­ тах – нет ну­ж ­ды пи­сать пять аб­за­цев тек­с та о том, что де­ла­ет кноп­ка «Со­хранить».

4 Бе­се­дуй­те с раз­ра­бот­чи­ка­ми Ес ­ли вы до­к у ­м ен ­т и­руе­т е чу ­ж ую про­г рам­м у, под­ дер­ж и­в ай ­т е ре­г у­ляр­н ую связь с раз­р а­бот ­чи­к а­ми, осо­бен­но с те­ми, что от­ве­ча­ют за ин­тер­фейс. Най­ дя что-нибудь слиш­ком стран­н ое на вид, что­б ы быть за ­д о­к у ­м ен ­т и­р о­в ан­н ым, или то, что мож ­н о су­ще­с т­вен­но уп­ро­с тить, обя­з а­тель­но дай­т е знать раз­р а­б от ­ч и­к ам. Ваш со­в ет мо­жет иметь для них боль­шое зна­чение. 5 Най­ди­те под­опыт­но­го кро­ли­ка По воз­м ож ­н о­с ти най ­д и ­т е ко­г о-то, кто никогда не поль­зо­в ал­с я про­г рам­мой, дай­т е ему све­же­на­ пи­с ан­ную до­к у­мен­т а­цию и смот­ри­те, как он бу­дет ра­бо­тать с про­грам­мой. Это пре­крас­ный спо­соб най­ ти недо­че­ты в до­к у­мен­та­ции – или воз­на­гра­дить вас тем, как хо­ро­шо она по­мо­га­ет поль­зо­ва­те­лю!

»»Пропустили номер? Узнайте на с. 104, как получить его прямо сейчас. Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

78  |  LXF162 Октябрь 2012


До­ку­мен­та­ция Учебник

</mediaobject> Об­ра­ти­те внимание на за­кры­ваю­щий слеш в тэ­ге <imagedata> – ес­ли внут­ри тэ­га нет ника­ких дан­ных, в конец нуж­но по­ме­щ ать слэш. Так­же в этом при­ме­ре продемонстрирова­но, как до­бав­ля­ ет­ся за­го­ло­вок. В DocBook мно­го дру­гих тэ­гов, но обыч­но они весь­ма спе­ци­ фич­ны и не под ­хо­д ят для об­щей ком­пь­ю­тер­ной до­к у­мен­т а­ции.

Тэ­гов, ко­то­рые мы изу­чи­ли, вполне доста­точ­но для на­пи­с ания ру­ко­водств и спра­вочников для про­ек­тов с от­кры­тым ис­ход­ным ко­дом. Ме­ж ­д у вер­сия­ми DocBook 4 и 5 есть неко­то­рые раз­ли­чия; пер­ вая до сих пор ши­ро­ко ис­поль­зует­ся и хо­ро­шо до­к у­мен­ти­ро­ва­на в Се­ти – по­это­му здесь мы со­сре­до­то­чи­лись на ней. Но основ­ные знания, ко­то­рые вы по­лу­чи­ли, под ­хо­д ят к обе­им вер­си­ям.

На­пи­са­ние man-стра­ниц Со­г лас­н о пра­в и­л ам Debian GNU/Linux, у ка ­ж ­д ой про­г рам­м ы долж­на быть man-страница. Сколь­ко раз вам в ка­та­ло­ге /usr/bin по­па­да ­лась про­грам­ма со стран­ным именем, и вы не пред­став­ля­ ли, что она де­ла­ет? Да­же про­стей­шая man-страница с пя­ти­строч­ ным опи­санием про­грам­мы все из­менит. Для гра­ф и­ч е­­с кой про­г рам­м ы, функ­ц ио­н аль­н ость ко­т о­р ой про­яв­ля­ет­ся внут­ри про­г рам­мы, а не че­рез па­ра­мет­ры команд­ ной стро­к и, под­роб­ная man-страница не нуж­на. Но для ути­лит команд­ной стро­ки хо­ро­шая до­к у­мен­та­ция име­ет ре­шаю­щее зна­ чение. Для досту­па к man-страницам ис­поль­зу­ет­ся од­но­имен­ная ко­ман­д а – на­при­мер, man ls. Эти страницы пи­шут­ся не про­с тым тек­с том, а осо­бым язы­ком раз­мет­ки с до­полнитель­ным фор­ма­ ти­ро­ванием. Про­смот­реть страницу с раз­мет­кой мож­но, на­при­ мер, так: zless /usr/share/man/man1/ls.1.gz Ес ­ли вы хо­т и ­т е по­р а­б о­т ать с тек­с то­вы­ми фай ­л а­ми, мо­же­т е взять неболь­ш ую страницу из это­г о ка­т а ­л о­г а (на­п ри­м ер, znew.1.gz), ско­пи­ро­в ать ее в свой до­машний ка­т а ­лог, рас­па­ко­ вать ее ко­ман­дой gunzip и по­ра­бо­тать с ней. Что­бы про­смот­реть ее про­грам­мой man, ука­жи­те путь и имя фай­ла: man ./znew.1 (На­брав про­сто man znew, вы уви­ди­те вер­сию из /usr/share/man/ man1.) Рас­смот­рим не­сколь­ко пер­вых строк это­го фай­ла: .TH ZNEW 1 .SH NAME znew \- пре­об­ра­зу­ет фай­лы .Z в фай­лы .gz .SH SYNOPSIS .B znew [ -ftv9PK] [ name.Z ... ] .SH DESCRIPTION .I Znew пре­об­ра­зу­ет фай­лы из фор­ма­т а .Z (compress) в фор­ма­т а .gz (gzip). Ес­ли вы хо­т и­те зан­ово сжать файл в фор­ма­те gzip, пе­ре­име­нуй­те файл: что­бы он по­л у­чил рас­ши­ре­ние .Z, за­тем при­ме­ни­те znew. .SH OPTIONS

.TP .B \-f Пре­об­ра­зо­вание из фор­ма­та .Z в фор­мат .gz, да­же ес­ли файл .gz уже су­ще­ст­ву­ет. В язы­ке раз­мет­ки man-страниц ко­ман­ды фор­ма­ти­ро­вания на­ чи­на­ют­ся с точ­ки. Итак, пря­мо в пер­вой стро­ке мы ви­дим .TH, что оз­н а­ч а­е т «за­г о­л о­вок страницы [title header]». За ним сле­д у­ю т имя про­грам­мы и род man-страниц, к ко­то­рой она при­над ­ле­жит (1 для поль­зо­ва­тель­ских команд, 5 для кон­фи­г у­ра­ци­он­ных фай­ лов и 8 для ути­лит сис­тем­но­го ад­минист­ри­ро­вания). Здесь так­же мож­но ука­зать да­т у в ка­выч­ках, на­при­мер, “23 September 2012”, и она поя­вит­ся в верхней час­ти man-страницы. За­тем сле­д у­ет .SH, за­го­ло­вок раз­де­ла [section header]. Он вы­во­дит­ся жир­ным шриф­ том, вы­ровнен­ным по ле­во­му краю ок­на, обыч­но за­глав­ны­ми бу­ каа­ми. Пол­ная, хо­ро­шо написан­ная страница man долж­на иметь сле­д ую­щие раз­де­лы: » NAME Опи­сание в од­ну стро­к у » SYNOPSIS Па­ра­мет­ры ко­ман­ды » DESCRIPTION Крат­кое по­яснение ра­бо­ты про­грам­мы » OPTIONS Под­роб­ное опи­сание па­ра­мет­ров » EXAMPLES При­ме­ры ре­шения раз­лич­ных за­дач (обя­за­те­лен, ес­ ли у про­грам­мы мно­го па­ра­мет­ров) » BUGS Лю­бое необыч­ное по­ве­дение про­грам­мы » AUTHOR Ваш элек­трон­ный ад­рес и/или ссыл­ка на сайт Оп­ции .B и .I вы­де­ля­ют текст жир­ным шриф­том и кур­си­вом со­ от­вет­ст­вен­но. На обыч­ных тер­ми­на­лах Unix кур­сив не ото­бра­жа­ ет­ся, по­это­му текст с оп­ци­ей .I мо­жет под­чер­ки­вать­ся или вы­де­ лять­ся дру­гим цве­том. Вы ви­ди­те, что .TP на­чи­на­ет но­вый аз­бац с от­сту­пом для всех строк, кро­ме пер­вой. Ти­ре луч­ше пред­ва­рять об­рат­ным слэ­шем (\-), ина­че про­цес­сор мо­жет ин­тер­пре­ти­ро­вать их как де­фи­сы. Ес­ли кому по ду­ше гра­фи­че­­ские про­грам­мы, здесь вам круп­но не по­вез­ло. Про­грам­ма ManEdit непло­хо справ­ля­лась с этой за­да­ чей, но она дол­го не об­нов­ля­лась, и ее слож­но за­ста­вить ра­бо­тать в при­лич­ных ди­ст­ри­бу­ти­вах (она осно­ва­на на GTK 1). В Gmanedit есть по­ша­го­вый мас ­тер соз ­д ания но­вой man-страницы, но вам все рав­но при­дет­ся ра­бо­тать с раз­ме­чен­ным тек­стом. |

Скорая помощь Нуж­но вста­вить уг­ло­вые скоб­ки > и <? Ес­ли вве­ сти их как есть, это со­бьет с тол­ ку пар­сер, по­это­ му поль­зуй­тесь обо­зна­чения­ми > (greater than – боль­ше чем) и < (less than – мень­ ше чем). Тогда пар­ сер пой­мет, что это спе­ци­а ль­ные сим­ во­лы, не имею­ щие ниче­го об­ще­го с тэ­га­ми.

Работа с документами KDE и Gnome Оба глав­ных ра­бо­чих сто­ла ис­поль­зу­ют для до­к у­ мен­та­ции DocBook, и обо­им про­ек­там всегда нуж­ны но­вые по­мощники. Са­мый про­стой спо­соб по­мочь – за­п устить свои лю­би­мые про­г рам­мы Gnome/KDE, от­к рыть ок­но справ­к и и по­с мот­реть, че­го не хва­ та­ет. Не­ко­то­рые про­грам­мы уже име­ют об­шир­ную до­к у­мен­та­цию, но ее все рав­но мож­но улуч­шить – на­при­мер, она мо­жет быть неак­т у­а ль­ной или в ней мо­жет недоста­вать раз­де­ла. Най­д я функ­цию, ко­то­ рую труд­но по­нять, за­гляните в справ­к у, и ес­ли она недоста­точ­но хо­ро­шо опи­са­на, вы мо­же­те это улуч­

шить. Важ ­ный со­вет: ес ­ли вы най ­де­те про­г рам­м у без до­к у ­мен ­т а­ц ии (или с очень пло­хой до­к у ­м ен­ та­ц и­ей), не хватай­тесь за де­ло сра­зу и не пи­ши­те сотни слов. Сна­ча­ла свя­ж и­тесь с раз­ра­бот­чи­к а­ми или най­ди­те IRC-ка­нал про­ек­та и уз­най­те, не ра­бо­ та­ет ли над до­к у­мен­та­ци­ей кто-то еще. Бу­д ет до­с ад ­н о, ес ­л и вы по­т ра­т и ­т е несколь­ко недель на боль­шой фраг­мент тек­ста и ока­жет­ся, что готовое описание уже есть! В Gnome имеется удоб­ное ру­ко­во­дство для но­вых ав­то­ров – http://developer.gnome.org/gdp-handbook/

stable/gettingstarted.html.en, эк­ви­ва ­лент для KDE – http://community.kde.org/Getinvolved/documentation. На ка­ж ­дой из этих страниц вы най­де­те ссыл­к и на дру­гие ру­ко­во­дства, которые объ­яс­няют прие­мы и со­гла­шения, принятые про­ек ­тами. На­при­мер, для KDE су­ще­ст­ву­ет ру­ко­во­дство по сти­лям (http://l10n. kde.org/docs/styleguide/index.html), объ­я с­н яю­щ ее ис­поль ­зо­в ание аб­бре­виа ­т ур, но­мер вер­с ий и дат; кроме того, там со­дер­жа­тся со­ве­ты об­щего харак­ тера по на­пи­санию хо­ро­шей до­к у­мен­та­ции. Прене­ брегать ими будет себе же во вред.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 79


Элек­тро­ни­ка Ап­па­рат­ные про­ек­ты с от­кры­ тым ко­дом, рас­ши­ряющие ваш кру­го­зор

Arduino: Плюс Нуж­ны уст­рой­ст­ва вво­да? Ник Вейч зна­ко­мит нас со ска­ни­руе­мой мат­ри­цей и рас­ска­зы­ва­ет о ва­ри­ан­тах под­клю­че­ния кно­пок к Arduino. int data; for (int count=0; count<=7; count++) { digitalWrite(4, bitRead(count,0)); digitalWrite(5, bitRead(count,1)); digitalWrite(6, bitRead(count,2)); bitWrite(data, count, digitalRead(7)); } Функ­ция bitWrite() со­би­ра­ет от­дель­ные би­ты в од­но це­лое зна­ чение, а ка­ж ­дый вход со­от­вет­ст­ву­ет од­но­му би­т у ре­зуль­ти­рую­ще­ го зна­чения. Здесь пред­по­ла­га­ет­ся, что 4, 5 и 6 – ад­рес­ные би­ты, а 7 – вход­ной кон­такт. Это­го спо­со­ба вполне доста­точ­но, чтобы читать дан­ные с про­ стой кла­виш­ной панели, не при­бе­гая к реа­ли­за­ции пол­ной мат­ ри­ц ы. Ог­р аничения это­г о под ­хо­д а про­я в­л я­ю т­с я при боль­ш ем ко­ли­че­­с т­ве кла­виш. Мож­но, конеч­но, восполь­зо­вать­ся муль­т и­­ плек­со­ра­ми с боль­шим ко­ли­че­­ст­вом вхо­дов, но ес­ли их дей­ст­ви­ тель­но мно­го, схе­ма мо­жет стать довольно неук­лю­жей и мед­лен­ ной. В этих слу­ча­ях нам по­на­до­бит­ся мат­ри­ца...

Стро­ки и столб­цы

Наш эксперт Ко­гда LXF толь­ко поя­вил­ся, его дер­ жа­ли на пла­ву исключительно скрип­ты Bash от Ни­ка Вей­ча . По­том их за­ме­ ни­ли «лю­ди», и это, по мне­нию Ни­ка, ста­ло ша­гом на­зад...

Что нам на­до » ПО Arduino 1.0 » Не­сколь­ко кно­пок » Столь­ко же им­пульс­ных дио­дов » Сдви­го­вый ре­гистр SIPO » Сдви­го­вый ре­гистр PISO » Мон­таж­ная пла­та, мно­ го разъ­е­мов и про­вод­ни­ков

Н

а этом уро­ке мы по­го­во­рим о мат­ри­це. Нет, не той, что c крас­ны­ми и синими пи­люль­ка­ми, а о кла­виа­т у­ре. Рань­ ше мы уже крат­ко о ней упо­ми­на­ли, а се­го­дня де­таль­но по­зна­ко­мим­ся с ва­ри­ан­та­ми и стра­те­ги­ей ра­бо­ты с ними. Начнем с бо­лее про­сто­го. Как всегда, спо­со­бов под­к лю­чения кно­пок к Arduino несколь­ко. В са­мом про­стом слу­чае од­на кноп­ка на­зна­ча­ет­ся на один кон­такт. Ес­ли кно­пок не боль­ше че­ты­рех, это и во­об­ще луч­ший ва­ри­ант: тут вы все рав­но ма­ло что сэ­ко­но­ми­те. Ес­ли кно­пок боль­ше, при­ дет­ся по­д у­мать о мат­ри­це, или о неко­то­ром уп­лотнении дан­ных.

Ме­то­ды уп­лотнения Про­с тое уп­лотнение мож­но реа ­ли­зо­вать с по­мо­щью раз­лич­ных уст­ройств – на­при­мер, есть спе­ци­а ль­ные мик­ро­схе­мы, сво­ра­чи­ ваю­щие во­семь линий дан­ных в од­ну, ис­поль­зуя 3 би­та как ад­рес. Са­мый по­пу­ляр­ный муль­ти­п­лек­сор/де­муль­ти­п­лек­сор – мик­ро­схе­ ма 4051 и ее ва­ри­ан ­т ы; все они ра­бо­т а­ют по опи­с ан­но­м у вы­ше прин­ци­пу. По­сколь­к у это все­го лишь пе­ре­к лю­ча­тель, он мо­жет ра­ бо­тать в обо­их на­прав­лениях для циф­ро­вых и ана ­ло­го­вых вхо­дов и вы­хо­дов, но под­хо­дит и для соз­дания кла­виа­т у­ры. Схе­ма бу­дет до­воль­но про­стой (см. Схе­му 1). При вось­ми пе­ре­ клю­ча­те­лях до­воль­но лег­ко пе­ре­брать зна­чения на вы­во­дах ад­ре­ са и счи­тать вы­ход­ное зна­чение. Един­ст­вен­ная слож­ность по час­ ти ко­да – это за­дание зна­чений на ад­рес­ных вы­во­дах. К сча­стью, есть удоб­ная функ­ция bitread(x,y), ко­то­рая воз­вра­щ а­ет зна­чение би­та для за­д ан­но­го це­ло­го чис­ла x. Для пе­ре­бо­ра зна­чений нам по­на­до­бит­ся нечто вро­де

В мат­р и­ц е кла­в и­ш и ор­г анизо­в а­н ы по стро­к ам и столб­ц ам. Как и в схе­ме с муль­т и­п­лек­со­ром, кноп­к и нуж­но пе­рио­ди­че­­ски сканиро­вать, что­бы про­ве­рить, на­жа­ты они или нет, но в слу­чае с мат­ри­цей это обыч­но де­ла­ет­ся груп­па­ми. По сиг­наль­но­му про­ воднику на ка­ж ­дый стол­бец по­с ту­па­ет ток, за­тем лю­бые на­ж а­ тые кла­ви­ши пе­ре­д а­ют этот ток в про­водники со­от­вет­с т­вую­щих строк, зна­чения ко­то­рых мож­но счи­тать по от­дель­но­с ти или все сра­зу. Как по­л у­чить этот сиг­нал? Ва­ри­ан­тов опять-та­к и несколь­ко, в том чис­ле – про­с то за­пи­т ать линии на­пря­м ую с вы­хо­дов (см. врез­к у о ма ­лень­ких мат­ри­цах). Мы восполь­зу­ем­ся сдви­го­вым ре­ ги­ст­ром, ко­то­рый лег­ко на­стро­ить для этой це­ли (см. Схе­му 2). Функ­ц ия­м и сдви­г о­в о­г о ре­г и­с т­р а, ко­т о­р ый фор­м и­р у­е т ток для столб­цов, нуж­но управ­лять на бо­лее низ­ком уровне – сдви­ го­вые ре­ги­ст­ры в Arduino пе­ре­ме­щ а­ют по бай­т у дан­ных за цикл, но мы восполь­з у­е м­с я ре­г и­с т­р ом на уровне би­т ов – за­г ру­з им бит в ре­гистр и за­тем с по­мо­щью им­пуль­сов бу­дем сдви­гать его на од­ну позицию за раз. Гло­баль­ная пе­ре­мен­ная glob_COLUMN со­ дер­жит но­мер те­к у­ще­го столб­ца. glob_COLUMN++; digitalWrite(SR_LATCH, LOW); if (glob_COLUMN>NUMBER_OF_COLUMNS) { glob_COLUMN=0; digitalWrite(SR_DATA, HIGH); //за­но­во за­г ру­ж а­ем 1 на вы­вод digitalWrite(SR_CLOCK, HIGH); //сдвигаем digitalWrite(SR_CLOCK, LOW); digitalWrite(SR_DATA, LOW); // за­г ру­ж а­ем 0 на вы­вод }else{ digitalWrite(SR_CLOCK, HIGH);

»»Ме­сяц на­зад Мы пре­вра­ти­ли Arduino в чат-бо­та. Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

80  |  LXF162 Октябрь 2012


Arduino Учебник

кла­виа­ту­ра Лож­ное сра­ба­ты­вание и мас­ки­ро­вание

> Дио­ды пре­дот­вра­ща­ют утеч­ку то­ка. Они очень де­ше­вы, и их удоб­но ис­поль­зо­ вать для под­клю­че­ния к мат­ри­це на пла­ те или на ма­ке­те, по­это­му вес­ких при­чин из­бе­гать их нет (па­де­ние на­пря­же­ния на них не­дос­та­точ­но ве­ли­ко, что­бы по­ме­ шать пра­виль­но­му счи­ты­ва­нию сиг­на­ла).

Arduino2

Питание

IC

Arduino

Аналоговый ввод

digitalWrite(SR_CLOCK, LOW); } digitalWrite(SR_LATCH, HIGH); Пе­ре­мен­ные SR_ со­от­вет­с т­ву­ют кон­т ак ­т ам Arduino, ис­поль­ зуе­мым для под­к лю­чения к этим сиг ­на ­лам на сдви­го­вом ре­г и­ ст­ре. Ни­к а­к их со­гла­шений на этот счет нет – мож­но ис­поль­зо­ вать лю­бые кон­так­ты, но луч­ше объ­я­вить их в на­ча­ле ко­да, что­бы при необ­хо­д и­мо­с ти лег­ко ме­нять в за­ви­си­мо­с ти от то­го, ка­к ие кон­так ­ты ис­поль­зу­ют­ся/сво­бод­ны. По­ка счет­чик столб­цов не достиг ко­ли­че­­ст­ва столб­цов в на­шей мат­ри­це, код лишь уста­нав­ли­ва­ет им­пульс в «единицу», а за­тем сно­ва в «ноль». Час­тот­ная ха­рак­те­ри­сти­ка стан­дарт­но­го сдви­го­ во­го ре­ги­ст­ра 59581 с за­па­сом по­кры­ва­ет по­сле­до­ва­тель­ные вы­ зо­вы digitalWrite(), но ес­ли вы бу­де­те поль­зо­вать­ся дру­ги­ми ком­ понен­та­ми или ес­ли в це­пи боль­шой шум, мо­жет по­тре­бо­вать­ся неболь­шая за ­держ­ка ме­ж ­д у вы­зо­ва­ми. В боль­шин­с т­ве слу­ча­ев бу­дет доста­точ­но та­кой: delayMicroseconds(5); Когда мы дости­га­ем ко­ли­че­­с т­ва столб­цов, сра­ба­ты­ва­ет усло­ вие if. Оно сбра­сы­ва­ет счет­чик столб­цов и вы­да­ет еще од­ну «еди­ ницу» на вы­ход­ной кон­такт, за­тем сдви­га­ет его, и цикл на­чи­на­ет­ ся сно­ва. Так, для трех столб­цов по­сле­до­ва­тель­ность бу­дет та­кой: 100100100... а для че­ты­рех – та­кой: 100010001... Ра­зу­ме­ет­ся, мож­ но объ­е­динить несколь­ко ре­ги­ст­ров сдви­га в це­поч­к у и ис­поль­зо­ вать боль­шие зна­чения счет­чи­ков для мат­ри­цы. При по­да­че сиг­на­ла на ка­ж ­дый из столб­цов нуж­но про­сканиро­ вать стро­ки. Сде­лать это мож­но по-раз­но­му – с по­мо­щью муль­ти­ п­лек­со­ра (как мы сде­ла ­ли это ранее), рас­ши­ри­те­ля вхо­да/вы­хо­да или сдви­го­во­го ре­ги­ст­ра дру­го­го ти­па. Рас­ши­ри­тель вхо­да/вы­хо­да (на­при­мер, MCP28S17) хо­ро­шо ис­ поль­зо­вать в том слу­чае, ес­ли мат­ри­ц а боль­шая. Эта мик­ро­схе­ ма ис­поль­зу­ет по­сле­до­ва­тель­ный ин­тер­фейс (SPI), для ко­то­ро­го

> Лож­ное сра­ба­ты­ва­ние воз­ни­ка­ет по­то­ му, что не­сколь­ко на­жа­тых кла­виш по­ зво­ля­ют ска­ни­рую­ще­му то­ку «утечь» из со­от­вет­ст­вую­щих стро­ки и столб­ца и най­ти об­ход­ной путь.

Цифровой ввод/вывод

> Не­боль­шой на­бор кно­пок лег­ко об­ра­бо­тать муль­ти­п­лек­со­ром/ де­муль­ти­п­лек­со­ром.

У неко­то­рых кла­виа­т ур на осно­ве сканируе­ мых мат­риц есть од­на про­бле­ма – лож­ное сра­б а ­т ы­в ание. При на ­ж а ­т ии несколь­к их кла­виш сканирую­щ ей це­пи ка ­жет­с я, что на­жа­та со­вер­шен­но дру­гая кла­ви­ша. Ес­ли кла­в и­ш и на ­х о­д ят­с я в раз­н ых стро­к ах и столб­ц ах, то со­е динения, ко­то­рые они фор­ми­ру ­ю т, по ­зво­ля­ю т то­к у течь в обо­ их на­п рав­л ениях. В неко­т о­р ых слу­ч а­я х, на­п ри­м ер, в уг­л ах мат ­р и­ц ы, это мо­ж ет при­во­дить к то­му, что ток, обыч­но про­те­ каю­щий че­рез один вы­к лю­ча­тель и че­рез дру­гой в про­т и­во­по­лож­ном на­прав­лении, да­ет лож­ный сиг­нал. Обыч­н о это не про­б ле­м а, кро­м е тех слу ­ч а­е в, когда вам нуж ­н о про­ч и ­т ать несколь­ко од­но­вре­мен­ных на ­ж а­т ий кла­ виш. Ре­шение в этом слу­чае то­же до­воль­но про­с тое, хо­т я и несколь­ко тру­д о­ем­кое – дио­д ы. Вклю­ч ение дио­д а по­с ле­д о­в а­ тель­н о с ка ­ж ­д ой кла­в и­ш ей не по ­з во­лит сиг­на­л у прой­т и об­рат­но че­рез за­к ры­т ый вы­к лю­ч а­т ель и снимет про­б ле­м у лож­ но­го сра­ба­ты­вания. Есть и дру­гой ва­ри­ант, ис­п оль­з уе­м ый в биб­л ио­т еч­н ой мат­р и­ц е кла­в иа­т у­р ы Arduino: оп­р а­ш и­в ать толь­ко од­ну стро­к у и один стол­бец в один мо­мент вре­мени. По раз­лич­ным при­чи­нам, опи­сан­ ным в основ­ном тек­сте, это ре­шение пло­хо мас­шта­би­ру­ет­ся.

Земля

> Схе­ма 1. Муль­ти­п­лек­сор по­мо­жет оп­ре­де­лить со­стоя­ние не­сколь­ких пе­ре­клю­ча­те­лей, не ис­поль­зуя слиш­ком мно­го вхо­дов. Это несложно и с точ­ки зре­ния про­грам­ми­ро­ва­ния.

»»Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/! Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 81


Учебник Arduino

Скорая помощь Мат­ри­ц а кла­виа­ ту­ры не обя­за­на быть квад­рат­ной. На­при­мер, с точ­ ки зре­ния ад­ре­са­ ции мат­ри­ца мо­ жет быть раз­ме­ром 8 × 8, а фи­зи­че­ски она мо­жет быть лю­бой фор­мы.

> Схе­ма 2. Бо­лее круп­ная мат­ри­ца на сдви­го­вых ре­ ги­ст­рах — обя­за­ тель­но про­верь­ те все со­еди­не­ния тес­те­ром!

нуж­но 4 кон­так­та, но за­то он очень быстр – помните, что с раз­ рас­танием мат­ри­цы вре­мя на ее сканиро­вание уве­ли­чи­ва­ет­ся, по­ это­му ес­ли нуж­но и об­ра­ба­ты­вать дан­ные, и счи­ты­вать зна­чения с кла­виа­т у­ры, сканиро­вание долж­но быть бы­ст­рым. Впро­чем, в ка­че­­с т­ве рас­ши­ри­те­ля про­ще все­го ис­поль­зо­вать еще один сдви­го­вый ре­г истр. Ранее в этой се­рии мы при­ме­ня­ ли сдви­го­вые ре­ги­с т­ры SIPO (с по­с ле­до­ва­тель­ным вхо­дом и па­ рал­лель­ным вы­хо­дом), на ко­то­рые по­да­ет­ся по­сле­до­ва­тель­ность би­тов, вы­во­ди­мых на вы­ход­ные кон­так­ты. Есть ре­ги­ст­ры и с па­ рал­лель­ны­ми вхо­д а­ми и по­с ле­до­ва­тель­ным вы­хо­дом (PISO), та­ кие как 74165 и CD4021. В та­ких схе­мах зна­чения вось­ми вхо­дов снима­ют­ся и вы­д а­ют­ся в ви­де по­с ле­до­ва­тель­но­с ти на один вы­ ход под управ­лением сиг­на­ла внешнего генера­то­р а – по су­т и, их дей­ст­вие про­ти­во­по­лож­но ре­ги­ст­рам SIPO. Как и дру­гие сдви­ го­вые ре­ги­ст­ры, их то­же мож­но со­еди­нять в це­поч­к у, и мы смо­ жем по­лу­чить дан­ные в стро­ках с чис­лом эле­мен­тов боль­ше 8. Для их ра­бо­ты нуж­но все­го три кон­так­та. Вот каким образом сканиру­ет­ся стро­ка: digitalWrite(SRIN_LATCH, HIGH); delayMicroseconds(25); digitalWrite(SRIN_LATCH, LOW); data = shiftIn(SRIN_DATA, SRIN_CLOCK);

Не­мно­го о Define Ди­рек ­т и­в а #define очень по­лез­на: сто­и т до­б а­вить несколь­ко та­к их в на­ч а ­л о ко­д а – и при необ­хо­д и­м о­с ти мож ­н о лег ­ко из­менить ка­к ую-то функ­цию без необ­хо­ди­мо­сти про­смат­ри­вать весь код. Это, в от­ли­чие от пе­ре­мен­ных, так­же эко­но­мит па­мять. За­ме­на зна­чений в ко­де на объ­яв­ление про­из­во­дит­ся пе­ред ком­ пи­ля­ци­ей и рав­но­цен­но ука­занию са­мих зна­чений. Ди­рек ­ти­вы луч­ше раз­ме­щать в на­ча­ле ко­да. За­помните син­так­сис! Без зна­ ка + и без ; в кон­це: #define MYVARIABLE 42 Име­н а па­р а­м ет ­р ов в та­к их ди­р ек ­т и­в ах обыч­н о пи­ш ут­с я за­глав­ны­ми бу­к­ва­ми – так их про­ще об­на­ру­жить в ко­де. Кро­ме то­го, не бой­тесь вы­пол­нять над ними ариф­ме­ти­че­­ские опе­ра­ ции – они то­же вы­пол­ня­ют­ся пре­ком­пи­ля­то­ром.

Пе­р е­в од кон­т ак ­т а-«за­щ ел­к и» в «единицу» функ­ц и­е й digitalWrite() «за­г ру­зит» вход «за­щел­к и». Не­боль­шая за­держ­к а по­мо­жет зна­чениям уста­но­вить­ся, пре­ж ­де чем мы сно­ва пе­ре­ве­ дем «за­щел­к у» в ноль для «за­мо­роз­ки» вхо­да.

IC1 = 74HC595 IC2 = 74165 Диоды = любые переключающие/ сигнальные диоды

НА КОНТАКТЫ ARDUINO

»»Пропустили номер? Узнайте на с. 104, как получить его прямо сейчас. Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

82  |  LXF162 Октябрь 2012


Arduino Учебник

По­с ле это­го нуж­но лишь восполь­зо­вать­ся функ­ци­ей shiftin() стан­д арт ­ной биб­лио­т е­к и Arduino для фик­с а­ц ии зна­чения это­ го бай­та. Ес­ли сдви­го­вый ре­гистр не один, то вхо­ды «за­щел­ки» объ­е­ди­ня­ют­ся вме­сте, и по­на­до­бит­ся еще один вы­зов shiftin() для чтения до­полнитель­но­го бай­та дан­ных.

Борь­ба с дре­без­гом кон­так­тов Од­на из про­блем с фи­зи­че­­ски­­ми пе­ре­к лю­ча­те­ля­ми, будь то мем­ бран­н ые кла­в иа­т у­р ы, так ­т иль­ные кноп­к и или пе­р е­к лю­ч а­т е­л и с са­мо­воз­вра­том лю­бых ти­пов, за­к лю­ча­е т­с я в том, что сиг ­нал мо­жет «дро­жать». Это тер­мин, ис­поль­зуе­мый для опи­сания эф­ фек ­та фи­зи­че­­ской при­ро­ды са­мих кон­так ­тов, ко­то­рые вклю­че­ны и вы­к лю­че­ны не чет­ко. Та­кое бы­ва­ет из-за фи­зи­че­­ской виб­ра­ции кон­так­та, по­это­му, на­при­мер, при от­пускании кла­ви­ши кон­так­ты мо­г ут дрог­нуть и сно­ва замк­нуть цепь, пусть и нена­дол­го. Ес­ли вы хо­ти­те от­фильт­ро­вать по­доб­ные неже­ла­тель­ные со­бы­ тия, в принципе это де­ла­ет­ся на уровне элек­троники, но тут мо­г ут быть про­бле­мы, так что по­за­бо­тим­ся об этом на уровне про­грам­ мы. До­воль­но про­стой и яс­ный спо­соб – про­сто объ­е­динить вхо­ дя­щие дан­ные с по­следним на­бо­ром дан­ных, по­лу­чен­ных из мат­ ри­цы, по схеме И. data &= shiftIn(SRIN_DATA, SRIN_CLOCK); Вре­м я ме­ж ­д у сканиро­в анием двух на­б о­р ов дан­н ых (ес ­л и вы не сканируе­те бы­ст­ро – в этом случае мо­жет ис­поль­зо­вать­ся несколь­ко бу­фе­ров) долж­но быть доста­точ­ным для то­го, что­бы со­с тояние кла­в иш уста­н о­в и­л ось. Конеч­н о, оно долж­н о быть и доста­точ­но ко­рот­ким, что­бы из­бе­жать си­т уа­ции, когда бы­ст­ро на­жа­тая кла­ви­ша не рас­по­зна­ет­ся. По об­щей рекомендации, вре­ мя ме­ж ­ду опе­ра­ция­ми сканиро­вания долж­но быть менее 200 мс.

Ма­лень­кие мат­ри­цы В ПО Arduino есть биб ­л ио­т е­к а мат ­р и­ц ы кла­виа­т у­р ы, ко­т о­р ая сканиру­е т мат­р и­ц у кла­виш, не вы­зы­ва­ет бло­ки­ров­ки и об­ла­ да­ет за­ча­точ­ной об­ра­бот­кой со­бы­тий. Она ра­б о­т а­е т с раз­л ич­н ы­м и кла­в иа­т у­р а­м и и ис­п оль­з у­е т про­с той ре­ж им сканиро­ вания, ис­к лю­ч аю­щ ий эф­ф ект лож­н о­г о сра­ба­ты­вания на кла­виа­т у­рах без дио­дов. По­ч е­м у мы не восполь­з о­в а ­л ись ею? Един­с т­в ен­н ая про­б ле­м а в том, что для нее нуж­но по кон­так­т у на ка­ж ­д ую стро­к у и стол­б ец, т. е. для мат­р и­ц ы 4 × 4 нуж­ но во­с емь кон ­т ак ­т ов – за­м ет ­н ая часть вы­во­дов Arduino. Ис­поль­зо­в ание сдви­го­ вых ре­г и­с т­ров (в основ­ном ко­д е) по­зво­ ля­е т снизить их ко­л и­ч е­­с т ­в о до шес ­т и, а при объ­е­динении несколь­ких сдви­го­вых ре­ги­ст­ров мож­но ра­бо­тать с го­раз­до боль­ ши­ми мат­ри­ца­ми.

> Ес­ли у вас ма­лень­кая мат­ри­ца и вам не жаль кон­так­тов Arduino, вос­поль­зуй­ тесь отлич­ной биб­лио­те­кой в ПО Arduino.

На прак ­ти­ке функ­ция чтения кла­виа­т у­ры ско­рее все­го реа ­ли­зу­ ет­ся как сер­вис пре­ры­ваний. В этом слу­чае нуж­но пра­виль­но за­ дать тай­мер (см. LXF155), что­бы пре­ры­вание вы­да­ва­лось доста­ точ­но ре­г у­ляр­но для пе­ре­хва­та на ­жа­тий кла­виш, но не слиш­ком час ­то, что­бы не съе­д ать все про­цес­с ор­ное вре­мя. Оно за­ви­сит от раз­ме­ра мат­ри­цы и ме­то­да сканиро­вания – помните, что с ро­ стом раз­ме­ра мат­ри­цы вре­мя на ее сканиро­вание уве­ли­чи­ва­ет­ся по квад­ра­тич­ной функ­ции. В при­ме­ре ко­да на DVD есть про­це­д у­ра пре­ры­вания для мат­ри­цы 4 ×  4 с ис­поль­зо­ванием сдви­го­вых ре­ги­ ст­ров для управ­ления стро­ка­ми и столб­ца­ми. В за­ви­си­мо­сти от на­жа­тия кла­виш вам так­же нуж­но вы­пол­нять со­от­вет­с т­вую­щие дей­с т­вия и, конеч­но, по­ме­щ ать дан­ные ту­д а,

где глав­ная про­г рам­ма их най­дет. На­зна­чение кла­виш за­ви­сит от ва­ше­го при­ло­жения, но для хранения на ­жа­тий кла­виш удоб­но поль­зо­вать­ся бу­фе­ром buffer и счет­чи­ком count. В основ­ной про­ грам­ме мож­но про­ве­рять счет­чик, что­бы уз­нать, бы­ли ли на­жа­ ты кла­ви­ши. if (data > 0){ if (buffercount < BUFFER_LIMIT){ buffercount++; buffer[buffercount] - data; } } Тща­тель­но по­доб­рав соответствующие ком­по­нен­ты, лег­ко про­ ска­ни­ро­вать мат ­ри­ц у 16  ×  16 без осо­бых затрат про­цес­с ор­но­го вре­ме­ни. matrix Ма­кет – не самое замечательное в мире ме­сто для сбор­ки мат­ рич­ной кла­виа­т у­ры: уж слиш­ком мно­го на нем со­единений. Про­ ще будет взять мон­таж­ную пла­т у и раз­мес­тить кла­ви­ши на ней (в тех местах, где это необ­хо­д и­м о, до­р ож­к и надо будет пе­р е­ резать). |

> На ма­ке­те удоб­но соз­да­вать про­то­ти­пы объ­ек­тов, так как мож­но под­клю­чать тре­буе­мые по­лу­про­вод­ни­ки к Arduino.

> Кла­виа­ту­ру удоб­нее мон­ти­ро­вать на мон­таж­ной пла­те. Но часть до­ро­жек при­дет­ся пе­ре­ре­зать — тут по­мо­гут ин­ст­ру­мен­ты Dremel!

Объ­е­ди­ня­ем все вме­сте

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

»»Че­рез ме­сяц Мат­ри­ца слу­жит не толь­ко для вво­да – уст­ро­им све­то­вое шоу. Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 83


Безо­пас­ность се­ти Пре­ж­де чем до­ве­рить­ся хос­ту, не­пло­хо бы­ло бы его про­ве­рить

Ска­не­ры: hping3, В раз­ви­тие те­мы се­те­во­го ска­не­ра, за­тро­ну­той в про­шлом но­ме­ре, Игорь Штом­пель рас­смат­ри­ва­ет его гра­фи­че­ские обо­лоч­ки.

Наш эксперт Игорь Штом­пель каждый день от­ крывает в Linux что-то новое и ис­ пользует его где только возможно. А Unity ему в этом ничуть не мешает.

Н

а про­ш лом уро­к е мы занима ­л ись важ­н ым ин­с т­р у­ мен­т ом обес­п е­ч ения се­т е­в ой безо­п ас­н о­с ти – Nmap. Но это ин­ст­ру­мент команд­ной стро­ки, в ко­то­рой да­ле­ко не все чув­с т­ву­ют се­бя ком­форт­но. И, конеч­но же, раз­ра­бот­чи­ки не обош­ли вниманием соз­д ание гра­фи­че­­ских ин­тер­фей­сов для Nmap. О них мы се­го­дня и по­го­во­рим.

hping3: об­за­ве­дем­ся > Рис. 1. SYN-ска­ни­ ро­ва­ние с по­мо­щью hping3.

Hping3 (http://www.hping.org/) – это сканер пор­тов, ори­ен­ти­ро­ван­ ный на ис­поль­зо­вание в команд­ной стро­ке. Про­грам­ма по­зво­ля­ет генери­ро­вать раз­лич­ные па­ке­ты (TCP, UDP, ICMP и др.). Об­щее на­ зна­чение hping3 – от­прав­ка на сканируе­мый хост TCP/IP-па­ке­тов,

за­го­лов­ки ко­то­рых мо­г ут мо­ди­фи­ци­ро­вать­ся с по­мо­щью клю­чей со­от­вет­ст­вую­щей ко­ман­ды (о них мы по­го­во­рим ниже). Бла­го­да­ря гиб­кой реа ­ли­за­ции этой функ­цио­наль­но­сти воз­мож­но осу­ще­ст­в­ ление раз­но­об­раз­ных ви­дов се­те­во­го сканиро­вания. Ав­то­ром hping3 яв­ля­ет­с я Саль­ва­то­ре Сан­фи­лип­по [Salvatore Sanfilippo], ко­то­рый вы­д ал ее в сво­бод­ный доступ на усло­ви­я х GNU GPLv2 (от­дель­ные ком­понен­ты – на усло­ви­ях ли­цен­зии BSD, см. файл copyright в ка­та­ло­ге /usr/share/doc/hping3). Hping3, как и Nmap, яв­ля­ет­ся кросс-­плат­фор­мен­ным ре­шением, но доступ­ ным для мень­ше­го ко­ли­че­­с т­ва опе­ра­ци­он­ных сис­тем по сравне­ нию с Nmap: это Linux, се­мей­ст­ва Unix, Mac OS X, Windows. В Ubuntu 12.04 hping3 уста­нав­ли­ва­ет­ся сле­д ую­щим об­ра­зом: $ sudo apt-get install hping3 Для этих це­л ей мож­н о так ­ж е восполь­з о­в ать­с я Synaptic (недосту­пен в Ubuntu 12.04 по умол­чанию) или Цен­тром при­ло­ жений Ubuntu. hping3 име­ет ряд клю­чей, ко­то­рые по­зво­ля­ют по­вли­ять на тип сканиро­в ания (спе­ц и­ф и­ц и­р о­в ать со­о т­в ет­с т­в ую­щ ие фла­г и – управ­ляю­щие би­ты). Сре­ди них: »»-S (или --syn) – флаг SYN (ин­фор­ми­ру­ет о на­ча­ле TCP-со­единения); »»-P (--push) – флаг PUSH (пе­ре­дать дан­ные из TCP-па­ке­та в со­ от­вет­ст­вую­щее при­к лад­ное про­грамм­ное обес­пе­чение); »»-R (--rst) – флаг RST (за­прос на уста­нов­ление но­во­го со­ единения (вме­сто неудав­ше­го­ся), сам флаг уста­нав­ли­ва­ет в от­ вет на по­лу­чение невер­но­го TCP-па­ке­та); »»-F (--fin) – флаг FIN (за­прос на за­кры­тие со­единения, при­ знак кон­ца по­то­ка дан­ных, необ­хо­ди­мо под­твер­ж дение от принимаю­щей сто­ро­ны); »»-U (--urg) – флаг URG (TCP-па­кет со­дер­жит важ­ные дан­ные); »»-A (--ack) – флаг ACK (пре­ды­д у­щий па­кет был по­лу­чен). Рас­смот­рим при­ме­ры сканиро­вания с ис­поль­зо­ванием неко­то­ рых из при­ве­ден­ных вы­ше клю­чей. Да­дим сле­д ую­щую ко­ман­д у: $ sudo hping3 -I eth0 -F scanme.nmap.org -p 80 Вот что в ней про­ис­хо­дит: »»-I eth0 – мы спе­ци­фи­ци­ру­ем ин­тер­фейс с по­мо­щью ко­то­ро­го бу­дет осу­ще­ст­в­лять­ся сканиро­вание; »»-F – ключ hping3 (спе­ци­фи­ци­ру­ет флаг FIN генери­руе­мых TCP-па­ке­тов); »»scanme.nmap.org – цель сканиро­вания; »»-p 80 – порт на­зна­чения (доступ­ность ко­то­ро­го ис­сле­д у­ет­ся). Как по­ка­за­но на рис. 1, в вы­во­де, сре­ди про­че­го, мы ви­дим, что flags име­ет зна­чение “SA”. Это оз­на­ча­ет, что порт от­крыт (в про­ тив­ном слу­чае зна­чение бы­ло бы “RA”). В дан­ном слу­чае, S го­во­ рит о фла­ге SYN, а A – о фла­ге ACK, т. е. что от­прав­лен­ный па­кет был по­лу­чен. Бо­лее под­роб­ную ин­фор­ма­цию о фор­ма­те вы­во­д а hping3 для TCP мож­но по­лу­чить с по­мо­щью страниц ру­ко­во­дства (см. раз­дел “TCP OUTPUT FORMAT”): $ man hping3 Из­ме­ним но­мер ска­ни­руе­мо­го пор­та, на­при­мер, на 81: $ sudo hping3 -I eth0 -F scanme.nmap.org -p 81 Теперь в вы­во­д е hping3 мы уви­д им, что зна­ч ение flags ста­ ло рав­но “RA”, что оз­на­ча­ет: порт за­крыт. Кро­ме flags, об­ра­ти­те

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

84  |  LXF162 Октябрь 2012


Ска­не­ры Учебник

Zenmap и Umit внимание и на sport. По­с леднее го­во­рит нам о том, ка­кой порт сканиро­вал­ся. Дан­ное зна­чение нам при­го­дит­ся на сле­д ую­щем ша­ге. За­п устим сканиро­в ание с по­мо­щ ью hping3, при ко­то­ром бу­ дет от­прав­лять­ся по од­но­му па­ке­т у на ка­ж ­дый порт, на­чи­ная с 80, уве­ли­чи­ва­ясь с ша­гом 1 (т.  е. от­пра­ви­ли па­кет на 80, сле­д ую­щий па­кет – на 81 и т. д.): $ sudo hping3 -S -p ++80 scanme.nmap.org Как вид­но в вы­во­де этой ко­ман­ды, зна­чение sport ка­ж ­дый раз уве­ли­чи­ва­ет­ся на один, а зна­чение flags го­во­рит нам о том, за­крыт или от­крыт тот или иной порт. С по­мо­щью клю­ча -c (--count) мож­но спе­ци­фи­ци­ро­вать ко­ли­че­ ­ст­во по­лу­чае­мых па­ке­тов: $ sudo hping3 -S -c 4 -p ++80 scanme.nmap.org В дан­ном слу­чае, по­с ле по­лу­чения че­ты­рех от­вет­ных па­ке­тов вы­полнение ко­ман­ды бу­дет пре­кра­ще­но. По умол­чанию hping3 ис­поль­зу­ет про­то­кол TCP. Дру­гие про­то­ ко­лы мож­но ука­зать с по­мо­щью спе­ци­а ль­ных клю­чей: »»-0 (--rawip) – ра­бо­тать в ре­жи­ме RAW IP; »»-1 (--icmp) – ра­бо­тать в ре­жи­ме ICMP; »»-2 (--udp) – ра­бо­тать в ре­жи­ме UDP; »»-8 (--scan) – ра­бо­тать в ре­жи­ме сканиро­вания (необ­хо­ди­мо ука­ зать диа­па­зон пор­тов и тип сканиро­вания); »»-9 (--listen) – ра­бо­тать в ре­жи­ме про­слу­ши­вания (необ­хо­ди­мо ука­зать сиг­на­т у­ру, на пред­мет ко­то­рой бу­дет осу­ще­ст­в­лять­ся про­слу­ши­вание). Ра­бо­та в пер­вых трех ре­жи­мах, ду­маю, за­труднений не вы­зо­ вет. При­ве­дем при­мер: $ sudo hping3 -I eth0 -1 -c 10 scanme.nmap.org Здесь мы за­дей­с т­ву­ем про­то­кол ICMP и по­л у­ча­ем де­сять со­от­ вет­ст­вую­щих па­ке­тов. А вот ис­поль­зо­вание двух по­с ледних ре­ж и­мов пред­с тав­ля­ет боль­ший ин­те­рес. Нач­нем с ре­жи­ма сканиро­вания: $ sudo hping3 -I eth0 -8 80-85 -S scanme.nmap.org В дан­ном слу­чае мы осу­ще­с т­в­ля­ем SYN-сканиро­вание (ключ -S) пор­тов с 80 по 85 на scanme.nmap.org. В вы­во­де этой ко­ман­ ды, как по­к а­з а­но на рис. 2, мы ви­д им таб­ли­ц у, в ко­то­рой ото­ бра ­ж а­ю т­с я но­мер пор­т а, на ­звание сер­ви­с а, фла­г и (от ­к рыт/за­ крыт порт) и т. д. Из вы­во­да нам ста­но­вит­ся по­нят­но, что из шес­ти про­сканиро­ван­ных пор­тов от­крыт толь­ко 80. До­п уска­е т­с я ука­зы­в ать пор­т ы для сканиро­в ания не толь­ко с по­мо­щью диа­па­зо­на, но и че­рез пе­ре­чис­ление. Скажем, так: $ sudo hping3 -I eth0 -8 22,80,9929 -S scanme.nmap.org Ре­ж им про­с лу­ши­в ания по­зво­ля­е т от­с ле­ж и­в ать при­хо­д я­щ ие па­ке­ты на пред­мет на­ли­чия в них ука­зан­ной сиг­на­т у­ры. На­при­ мер, от­сле­дим на­ли­чие в па­ке­тах Nmap: $ sudo hping3 -I eth0 -9 nmap scanme.nmap.org Дай­те эту ко­ман­д у, за­тем за­пусти­те брау­зер и от­крой­те сайт scanme.nmap.org. В вы­во­де ко­ман­ды вы уви­ди­те все, что со­от­ вет­ст­ву­ет ука­зан­ной ва­ми сиг­на­т у­ре.

> Рис. 2. Ска­ни­ро­ва­ ние пор­тов с по­мо­ щью hping3.

Итак, зна­ком­с т ­в о с ути ­л и ­т ой hping3 со­с тоя­л ось; пе­р ей­д ем к рас­смот­рению ра­бо­ты с офи­ци­а ль­ным гра­фи­че­­ским ин­тер­фей­ сом для Nmap – Zenmap.

Обо­лоч­ка Zenmap Zenmap – это офи­ци­а ль­ный гра­фи­че­­ский ин­тер­фейс для Nmap, ко­то­рый на­пи­сан на язы­ке про­грам­ми­ро­вания Python и досту­пен на усло­ви­ях GNU GPL. В Ubuntu 12.04 Zenmap мож­но най­ти здесь: Ин­тернет > Zenmap. Об­р а­т и ­т е внимание, что доступ­н ы две воз­м ож ­н о­с ти за­п уска Zenmap: с пра­ва­ми те­к у­ще­го поль­зо­ва­те­ля – Zenmap и с пра­ва­ ми су­пер­поль­зо­ва­те­ля – Zenmap (as root). При вы­бо­ре пер­во­го ва­ ри­ан­та часть воз­мож­но­с тей Nmap не бу­дет доступ­на. За­пусти­те Nmap с пра­ва­ми су­пер­поль­зо­ва­те­ля. По­с ле успеш­н о­г о за­п уска Zenmap вы уви­д и ­т е глав­н ое ок ­н о про­грам­мы. Ин­тер­фейс ее ин­т уи­тив­но по­ня­тен. Для при­ме­ра, осу­ще­с т­вим сканиро­вание с по­мо­щью Zenmap. В по­ле Цель вве­ди­те scanme.nmap.org По­ле Про­филь пусть по­ка останет­ся пустым. Да­лее от­ре­дак­ти­ руй­те по­ле Ко­ман­да, что­бы у вас по­лу­чи­лось сле­д ую­щее: nmap -sP scanme.nmap.org Имен­н о с этой ко­м ан­д ы мы на­ч и­н а ­л и рас­с мот­р ение ра­б о­т ы с Nmap в кон­с о­ли. За­т ем для за­п уска сканиро­в ания на ­ж ми­т е кноп­к у Сканиро­вание. Мы по­лу­чи­ли тот же вы­вод, что и при ана­ ло­гич­ном сканиро­вании в кон­со­ли с по­мо­щью Nmap. Для со­хранения от­че­та о сканиро­вании мож­но восполь­зо­вать­ ся ме­ню (Сканиро­вание > Со­х ранить от­чет о сканиро­вании, или Ctrl + S). Об­ра­ти­те внимание, что в ле­вой час­ти ок­на есть две вклад­ки: Хосты, где бу­д ут ото­бра­жать­ся це­ли на­ших сканиро­ваний (кста­ ти, там поя­вил­ся хост scanme.nmap.org – 74.207.244.221), и Сер­ ви­сы, где бу­д ут ото­бра­жать­ся сер­ви­сы, об­на­ру­жен­ные на це­лях сканиро­вания. Те­перь по­вто­рим сканиро­вание, по­зво­ляю­щее оп­ре­де­лить вер­ сии сер­ви­сов на сканируе­мом хосте, но уже в Zenmap. Для это­го от­ре­дак ­ти­руй­те зна­чение в по­ле Ко­ман­да, что­бы оно при­ня­ло уже зна­ко­мый нам вид: nmap -sV scanme.nmap.org Как вы по­ня­ли, вы­вод Zenmap не от­ли­ча­ет­ся от вы­во­да ана ­ло­ гич­ной ко­ман­ды в кон­со­ли при ис­поль­зо­вании Nmap, но в дан­ ном слу ­ч ае нас ин ­т е­р е­с у­е т дру ­г ое. На ­ж ми ­т е кноп­к у Сер­ви­с ы.

»»Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/! Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 85


Учебник Ска­не­ры

> Рис. 3. Zenmap ото­бра­жа­ет то­по­ло­ гию по ре­зуль­та­там ска­ни­ро­ва­ния.

Вы уви­ди­те все сер­ви­сы, ко­то­рые уда­лось об­на­ру­ж ить Zenmap. Да ­л ее, в пе­р ечне Сер­в и­с ы вы­б е­р и ­т е ка­к ой-нибудь из них – и в пра­вой час­ти ок­на про­грам­мы на вклад­ке Пор­ты / Хосты ото­ бра­зить­ся ин­фор­ма­ция о нем. Zenmap по­з во­л я­е т на­г ляд­н о пред­с та­в ить то­п о­л о­г ию, свя­ зы­в аю­щ ую сканирую­щ ий и сканируе­мые хосты. Для про­с мот­ ра то­по­ло­гии по­с ле за­вер­шения сканиро­вания доста­точ­но будет пе­рей­ти на вклад­к у То­по­ло­гия в пра­вой час­ти ок­на Zenmap (см. рис. 3). Об­ра­ти­те внимание, что вы мо­же­те управ­лять ото­бра ­жением то­по­ло­г ии с по­мо­щ ью кно­пок вклад­к и То­по­ло­г ия: Ры­бий глаз и Эле­мен­т ы управ­ления, а так­же про­смот­реть под­роб­ную и на­ гляд­ную ин­фор­ма­цию по хостам, ко­то­рые сканиро­ва ­лись с по­мо­ щью кноп­ки Про­смотр хостов. Вклад­к а Де­т а ­ли хоста пре­д остав ­ля­е т ин­ф ор­м а­ц ию о ста­т у­ се хоста (со­с тояние, от­к ры­т ые пор­т ы, от­фильт­ро­ван­ные пор­т ы и др.), ад­ре­сах (IPv4, IPv6, MAC), имени хоста. По­с лед­няя вклад­к а, Сканиро­в ание, по­зво­ля­ет пе­рей­т и к ре­ зуль­та­там лю­бо­го сканиро­вания, осу­ще­с т­в­лен­но­го в рам­ках те­ ку­щей сес­сии Zenmap. Но, на наш взгляд, од­ной из важней­ших воз­мож­но­стей Zenmap яв­ля­ет­ся под­держ­ка ра­бо­ты с про­фи­ля­ми, о ко­то­рых мы вскользь упо­ми­на ­ли ранее. Что­бы от­ре­д ак ­ти­ро­вать те­к у­щий или соз­д ать но­вый про­филь, необ­хо­ди­мо восполь­зо­вать­ся ме­ню Про­филь > Но­вый про­филь или ко­ман­да, или Ре­дак ­ти­ро­вать вы­бран­ный про­ филь. Мож­но восполь­зо­вать­ся го­ря­чи­ми кла­ви­ша­ми – Ctrl  +  P или Ctrl + E со­от­вет­ст­вен­но. Для при­ме­ра, соз­д а­дим но­вый про­филь. Поя­вить­ся ок­но Ре­ дак­тор про­фи­ля, ко­то­рое, к со­жа­лению, не пол­но­стью пе­ре­ве­де­ но на русский язык. В окне име­ет­ся несколь­ко вкла­док (Про­филь, Сканиро­вание, Ping и т. д.). Начнем со вво­да имени про­фи­ля в со­ от­вет­ст­вую­щем по­ле: Myprof Да­лее пе­рей­дем на вклад­к у Сканиро­вание. Здесь доступ­но для вы­бо­ра боль­шое ко­ли­че­­ст­во оп­ций. Вы­бор какой-либо из этих оп­ ций при­во­дит к из­менению ко­ман­ды в по­ле в ввер­х у ок­на. В пра­вой час­ти ок­на Ре­дак­тор про­фи­ля име­ет­ся по­ле, ко­то­рое на­зы­ва­ет­ся По­мощь. В этом по­ле при на­ве­дении на него кур­со­ ра мы­ши ото­бра­ж а­ют­ся опи­с ания той или иной оп­ции. Для оп­ ций, доступ­ных в вы­па­даю­щих спи­сках, эта воз­мож­ность Zenmap не ак ­т у­а ль­на.

За­вер­шим соз­д ание на­ше­г о про­фи­ля. На вклад­ке Сканиро­ вание мы вы­бра ­ли Version detection (-sV) а на вклад­ке Ping (SYN-пин­го­ва­ние) – SYN ping (-PS) В ито­ге у нас по­лу­чи­лась сле­д ую­щая ко­ман­да: nmap -sV -PS scanme.nmap.org Для со­х ранения про­ф и­л я необ­х о­д и­м о на ­ж ать кноп­к у Со­ хранить из­менения. Ок­но ре­дак ­ти­ро­вания про­фи­ля за­кро­ет­ся. Те­ перь в глав­ном окне Zenmap в по­ле Про­филь вы­бе­ри­те из вы­па­ даю­ще­го спи­ска Myprof и на­жми­те кноп­к у Сканиро­вание, по­с ле че­го уви­ди­те со­от­вет­ст­вую­щий вы­вод. Кро­м е то­г о, ис­п оль­з о­в ать ок­н о ре­д ак ­т и­р о­в ания про­ф и­ ля мож­но для изу­чения Nmap. На­при­мер, мож­но по­лу­чить крат­ кое опи­сание оп­ций сканиро­вания для оз­на­ком­ления с ними, по­ экс­п е­р и­м ен­т и­р о­в ать с их вы­б о­р ом (как пра­в и­л о, ес­л и оп­ц ии не мо­г ут быть ис­поль­зо­ва­ны со­вме­с т­но, при вы­бо­ре «кон­флик­ тую­щей» оп­ции из­менение ко­ман­ды про­ис­хо­дить не бу­дет). Да­ лее, на вклад­ке Scripting вы смо­же­те оз­на­ко­мить­ся со скрип­та­ми Nmap. При уста­нов­лении кур­со­ра на тот или иной скрипт в се­ре­ дине вклад­ки вы по­лу­чи­те о нем под­роб­ную ин­фор­ма­цию – в том чис­ле, как скрипт влия­ет на вы­вод Nmap. При вы­бо­ре скрип­та про­ ис­хо­дит из­менение ко­ман­ды, что важ­но для пер­во­на­чаль­но­го оз­ на­ком­ления с ис­поль­зо­ванием скрип­тов. В нижней час­ти се­ре­ди­ ны ок­на доступ­на ин­фор­ма­ция об ар­г у­мен­тах скрип­та – вы­брав ка­кой-ли­бо из них в пра­вой час­ти вклад­ки (По­мощь), вы по­лу­чи­те его крат­кое опи­сание. Zenmap — не един­ст­вен­ный гра­фи­че­­ский ин­тер­фейс Nmap.

Еще один ин­тер­фейс — Umit Umit (http://www.umitproject.org) – это гра­фи­че­­ский ин­тер­фейс для се­те­во­го сканера Nmap, доступ­ный на усло­ви­я х GNU GPLv2 (ряд фай­лов досту­пен на усло­ви­ях дру­гих ли­цен­зий – см. файл copyright в ка­та­ло­ге /usr/share/doc/umit). Ус­та­но­вить Umit в Ubuntu 12.04 мож­но с по­мо­щью сле­д ую­щей ко­ман­ды: $ sudo apt-get install umit По­сле это­го про­грам­ма за­пус­ка­ет­ся про­сто-на­про­сто ко­ман­дой $ umit При ка ­ж ­дом стар­те про­г рам­ма про­ве­ря­ет: за­п у­ще­на она с пра­ ва­ми су ­пер­поль ­зо­ва­те ­ля или нет. Ес ­ли нет, то вы­во­дит­с я со­от­ вет­с т­вую­щее ок­но, в ко­то­ром пред ­ла­га­ет­ся осу­ще­с т­вить за­пуск «как Root» или про­дол ­ж ить ра­бо­т у с те­к у ­щ и­ми пра­в а­ми. Ес ­ли вы вы­бе­ре­те пер­вое, необ­хо­ди­мо бу­дет вве­сти со­от­вет­ст­вую­щий па­роль. Пра­в а су­п ер­п оль­зо­в а­т е­л я нуж­ны Nmap для осу­щ е­с т­в­л ения неко­то­рых ви­дов сканиро­вания – на­при­мер, с це­лью оп­ре­де­ления опе­ра­ци­он­ной сис­те­мы на уда ­лен­ном хосте. Что­бы за­пустить Umit сра­зу с пра­ва­ми су­пер­поль­зо­ва­те­ля, доста­точ­но дать ко­ман­ду $ sudo umit По­с ле успеш­но­го за­пуска Umit вы уви­ди­те глав­ное ок­но про­ грам­мы (см. рис. 4). Сра­зу, к со­жа­лению, ста­но­вит­ся по­нят­но, что Umit не име­ет русской ло­ка ­ли­за­ции. Раз­бе­рем­ся с ин­тер­фей­сом про­грам­мы. В окне, доступ­ном по­ сле за­пуска, поль­зо­ва­тель об­на­ру­жит ме­ню и панель ин­ст­ру­мен­ тов, а под ними, ниже – ра­бо­чее поле, где ото­бра­жа­ют­ся вклад­ки. Вклад­к а со­с то­и т из трех основ­ных час­т ей. В верхней час­т и доступ­ны несколь­ко по­лей, ко­то­рые по­зво­ля­ют спе­ци­фи­ци­ро­вать па­р а­м ет­р ы осу­щ е­с т­в­л яе­м о­г о сканиро­в ания. На­п ри­м ер, здесь доступ­ны та­кие по­ля: »»Target – по­ле для ука­зания це­ли сканиро­вания (и в циф­ро­вом фор­ма­те – IP-ад­рес, и в сим­воль­ном – типа scanme.nmap.org);

»»Пропустили номер? Узнайте на с. 104, как получить его прямо сейчас. Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

86  |  LXF162 Октябрь 2012


Ска­не­ры Учебник

»»Profile – по­ле по­зво­ля­ет вы­брать один из несколь­ких доступ­ ных и ранее под­го­тов­лен­ных про­фи­лей сканиро­вания (на­при­ мер, Quick Scan – бы­строе сканиро­вание); »»Command – по­ле, в ко­то­ром мож­но ре­дак­ти­ро­вать те­к у­щ ую коман­д у сканиро­вания. Часть ок­на, рас­по­ло­жен­ная ниже, ори­ен­т и­ро­ва­на на ото­бра­ жение ре­зуль­та­тов сканиро­вания и име­ет две со­став­ляю­щие. Пер­ вая, ле­вая, вклю­ча­ет две кноп­ки: Hosts – ото­бра­жа­ет про­сканиро­ ван­ные хосты и Service – ото­бра­жа­ет за­пу­щен­ные на этих хостах и об­на­ру­жен­ные сер­ви­сы. Вто­рая, спра­ва, со­дер­ж ит несколь­ко вкла­док: »»Ports / Hosts – пре­достав­ля­ет ин­фор­ма­цию об от­кры­тых пор­тах и сер­ви­сах вы­бран­но­го хоста; »»Nmap Output – ото­бра­жа­ет вы­вод Nmap; »»Host Details – под­роб­ная ин­фор­ма­ция о про­сканиро­ван­ном хосте; »»Scan Details – про­чие де­та­ли сканиро­вания. Для при­ме­ра, в по­ле Target вве­дем сле­дую­щее: scanme.nmap.org В по­ле Profile вы­бе­рем Operating System Detection, по­с ле че­го зна­че­ние в по­ле Command из­ме­нит­ся на nmap -O -v scanme.nmap.org По­с ле это­го на­ж мем кноп­к у Scan и за­п устим сканиро­в ание. По за­вер­шении сканиро­вания ис­с ле­д уй­те вклад­ки и кноп­ки ни­ жней час­ти ок­на Umit, о ко­то­рых мы го­во­ри­ли вы­ше. Да­вай­те сно­ва осу­ще­ст­вим сканиро­вания, с ко­то­рых мы на­чи­ на­ли ра­бо­т у с Nmap и Zenmap. Начнем с пинг-сканиро­вания (здесь и да­лее – ре­д ак­ти­ру­ем по­ле Command, а за­тем на­жи­ма­ем кноп­ ку Scan): nmap --sP scanme.nmap.org Вы­в од бу­д ет ана ­л о­г и­ч ен тем, ко­т о­р ые мы уже наблю­ д а ли при ра­ б о­ т е с Nmap и Zenmap. Те­п ерь восполь­з у­е м­с я ти­ пом сканиро­в ания, ко­то­рое по ­зво­ля ­ло нам при ра­бо­те с Nmap и Zenmap оп­ре­де­лять вер­сии за­пу­щен­ных сер­ви­сов: nmap -sV scanme.nmap.org Вы­в од опять-та­к и бу­д ет ана ­л о­г и­ч ен ви­д е­н ным при ра­б о­т е с Nmap и Zenmap. Umit, как и Zenmap, по­зво­ля­ет со­х ра­нять ре­зуль­т ат сканиро­ вания (Scan > Save Scan, или Ctrl + S). Кро­м е то­г о, Umit, как и Zenmap, по­зво­ля­ет ра­бо­тать с про­фи­ля­ми сканиро­вания (пункт ме­ню Profile), досту­пен да ­же спе­ци­а ль­ный по­ша­го­вый по­мошник (Tools > Command Wizard). По­жа­луй, это­го доста­точ­но для успеш­ной ра­бо­ты с Umit.

> Рис. 4. Главное окно Umit.

На офи­ци­а ль­ном сай­те Umit до­к у­мен­та­ция от­сут­ст­ву­ет. Прав­ да, ес­ли в пунк­те ме­ню Help вы­брать Help, в брау­зе­ре от­к ро­ет­ ся справ­ка, в ко­то­рой доста­точ­но под­роб­но рас­смат­ри­ва­ет­ся ре­ дак ­тор про­фи­лей сканиро­вания (соз­д ание про­фи­лей, уда ­ление и т.  п.). Зна­чи­тель­ное внимание уде­ле­но осу­ще­ст­в­лению про­цес­ са сканиро­вания. Еще один по­л ез­н ый ис­ точник – курс «Ин­с т ­р у ­м ен­ та ль­н ые сред­с т­в а обес­п е­ чения безо­пас­но­сти», ко­то­рый досту­пен на пор­та ­ле Ин­тернетУнивер­с и­т е­т а ин­ф ор­м а­ц и­о н­ ных тех­н о­л о­г ий: http://www. intuit.ru/department/security/issec/. Шес­тая лек­ция кур­са на­зы­ва­ет­ ся «Сканеры пор­тов». В ней да­ет­ся доста­точ­но под­роб­ная ввод­ная ин­фор­ма­ция по ис­поль­зо­ванию про­грам­мы.

«Многие провайдеры явно запрещают ска­ нирование сети.»

Что даль­ше? Ска­жем несколь­ко слов о том, где мож­но по­лу­чить до­полнитель­ ную ин­фор­ма­цию о рас­смот­рен­ных при­ло­жениях. На на­шем уро­ ке мы да ­ли об­щее пред­став­ление о воз­мож­но­стях рас­смат­ри­вае­ мых про­г рамм и не пре­тен­д у­ем на пол­ных ох­ват всех ас­пек­тов их ис­поль­зо­вания. По­это­му пред­ла­га­ем ряд ссы­лок, ко­то­рые по­ мо­г ут про­дол­жить изу­чение. Для hping3 доступ­но ру­ко­во­дство, по­зво­ляю­щее на­чать ра­бо­ ту с про­грам­мой, под на­званием “Getting started with hping3 [Начи­ наем работать с hping3]”: http://wiki.hping.org/94. Есть и сто­ронние учебники и ста­т ьи о ра­бо­т е с hping3 – ссыл­к и на них со­б­ра­ны на спе­ци­а ль­ной странице: http://wiki.hping.org/33. Что ка­с а­е т­с я Zenmap, то офи­ц и­а ль­н ый сайт, по­с вя­щ ен­ ный Nmap, пре­д остав­л я­е т спе­ц и­а ль­н ое Ру­ко­в о­д ство по ра­б о­ те с Zenmap (“Zenmap GUI Users’ Guide”) – http://nmap.org/book/ zenmap.html, ко­то­рое яв­ля­ет­ся со­став­ной ча­стью он­лайн-вер­сии полезной книги “Nmap Network Scanning [Сетевое сканирование с Nmap]”.

За­клю­чение hping3, Zenmap и Umit – ин­ст­ру­мен­ты, спо­соб­ные об­лег­чить про­ цесс ис­сле­до­вания се­ти. При этом hping3 по­зво­ля­ет осу­ще­ст­в­лять все опе­ра­ции в кон­со­ли, а Zenmap (офи­ци­а ль­ный гра­фи­че­­ский ин­тер­фейс для Nmap) и Umit – c по­мо­щью гра­фи­че­­ско­­го ин­тер­ фей­са. Все три ин­с т­ру­мен­та обес­пе­чения се­те­вой безо­пас­но­с ти доступ­ны из ре­по­зи­то­ри­ев опе­ра­ци­он­ной сис­те­мы Ubuntu 12.04 (ко­то­рую мы ис­поль­зо­ва ­ли при ра­бо­те с ними), что уп­ро­ща­ет про­ цесс их уста­нов­ки. Все три про­грам­мы об­ла ­да­ют гиб­ки­ми воз­мож­но­стя­ми, а гра­ фи­че­­ские ин­тер­фей­сы для Nmap по­зво­ля­ет сде­лать его ис­поль­ зо­вание бо­лее удоб­ным для на­чи­наю­щих ра­бо­тать с этим се­те­вым сканером безо­пас­но­с ти. В то­же вре­мя, Umit усту­па­ет по сво­им воз­мож­но­стям Zenmap. Так, на­при­мер, Umit не по­зво­ля­ет ото­бра­ жать то­по­ло­гию про­сканиро­ван­ной се­ти. Кро­ме то­го, при вво­де ко­ман­ды Zenmap ав­то­ма­ти­че­­ски оп­ре­де­ля­ет цель сканиро­вания и «за­пол­ня­е т» со­от ­вет­с т ­вую­щее по­ле, а вот Umit это­го де­лать не мо­жет. И еще раз на­помним, что на­стоя­тель­но ре­ко­мен­д у­ет­ся ис­поль­ зо­вать Nmap и рас­смот­рен­ные в ста­тье про­грам­мы ис­к лю­чи­тель­ но в ис­сле­до­ва­тель­ских или ра­бо­чих це­лях, со­гла­со­вав ис­поль­зо­ вание про­грам­мы со все­ми за­ин­те­ре­со­ван­ны­ми ли­ц а­ми, а так ­же ис­к лю­чи­тель­но в рам­ках дей­ст­вую­ще­го за­ко­но­д а­тель­ст­ва. Де­ло в том, что, на­при­мер, мно­гие про­вай­де­ры яв­но за­пре­щ а­ют про­ из­во­д ить сканиро­вание се­т и, указывая это в со­от­вет­с т­вую­щ их до­к у­мен­тах. |

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 87


Вир­туа­ли­за­ция За­пус­кай­те не­сколь­ко сис­тем Linux, не ис­то­щая ре­сур­сы

LXC: Ма­лая Не хва­та­ет бу­к­валь­но од­но­го ком­пь­ю­те­ра для но­во­го про­ек­та? Джон Лэйн по­ка­зы­ва­ет, как Кон­тей­не­ры Linux сни­жа­ют за­груз­ку.

М Наш эксперт На­бре­д я на Linux аж в 1994 го­д у, Джон Лэйн на крюч­ке до сих пор. Он не и упом­ нит, ко­гда в по­ след­ний раз поль­ зо­вал­ся Windows.

> В глав­ном ок­не – наш ба­зо­вый кон­ тей­нер с де­ре­вом про­цес­сов и ак­тив­ но­стью се­ти. В ок­не спра­ва по­ка­за­но де­ре­во про­цес­сов хос­та до и по­сле за­ пус­ка кон­тей­не­ра.

ы час­то слы­шим о вир­т уа ­ли­за­ции и о пре­иму­ще­ст­вах, ко­то­рые мож­но по­лу­чить, раз­мес­тив несколь­ко сис­ тем на од­н ом ком­п ь­ю­т е­р е. Обыч­н о это под ­р а ­з у­ ме­в а­е т за­п уск раз­ных опе­ра­ц и­он­ных сис ­т ем – на­при­мер, Win­ dows и Linux, и тре­бу­ет на­ли­чия про­грамм вир­т уа­ли­за­ции, ти­па Virtual­Box или VMWare. Про­г рам­мы эти эму­ли­ру­ю т уст­рой­с т­в а и до­воль­но тре­бо­ва­тель­ны к сис­тем­ным ре­сур­сам. Од­на­ко, ес­ли вам нуж­но за­пустить несколь­ко ра­бо­чих сто­лов Linux на од­ном ком­пь­ю­те­ре, луч­ше восполь­зо­вать­ся Linux Containers (LXC): это го­раз­до бо­лее лег­кое и эф­фек ­т ив­ное ре­шение, и оно яв­ля­ет­с я ком­понен­том яд­ра Linux. LXC по­зво­ля­ет изо­ли­ро­вать сер­ви­сы в от­дель­ных кон­тейнерах. Кон­т ейнер – нечто вро­д е вир­т у­а ль­н ой ма­ш и­н ы, за­г ру ­ж ае­м ой и управ­ляе­мой неза­ви­си­мо от основ­ной сис­те­мы. Его мож­но соз­ дать и для це­лой сис­те­мы, и для од­но­го при­ло­жения – на­при­мер, изо­ли­ро­в ать брау ­зер или поч ­т о­вые сер­ви­с ы от web-сер­ви­с ов, соз­дав для них от­дель­ные кон­тейнеры. Кон­тейнера­ми мож­но управ­лять неза­ви­си­мо друг от дру­га: за­ пускать, оста­нав­ли­вать, об­нов­лять, пе­реуста­нав­ли­вать, пе­ре­ме­ щать и уда­лять. Эта гиб­кость по­зво­ля­ет уп­ро­стить ра­бо­т у с боль­ шой сис­т е­м ой, раз­б ив ее на мень­ш ие, а ста­л о быть, и лег­ч е управ­ляе­мые час­ти. На на­шем уро­ке мы рас­смот­рим на­строй­к у LXC и соз­да­дим ба­ зо­вый кон­тейнер, ко­то­рый мож­но бу­дет за­гру­зить и вой­ти в не­ го. За­т ем мы рас­ш и­р им его – пусть под ­д ер­ж и­в а­е т гра­ф и­ч е­ ­с кий ра­бо­чий стол. LXC име­е т­с я в ре­по­зи­то­ри­я х боль­шин­с т­в а ди­с т­ри­бу ­т и­вов. Ubuntu в сво­ем по­с леднем ре­ли­зе – 12.04 Pre­ cise Pangolin – про­дви­ну­лась еще на шаг впе­ред и те­перь пол­но­ стью под­дер­жи­ва­ет LXС «пря­мо из ко­роб­ки». Тем не менее, что­ бы восполь­зо­вать­ся все­ми воз­мож­но­стя­ми LXC, нам обя­за­тель­но нуж­но по­нять, как они ра­бо­та­ют. LXC, с по­мо­щ ью кон­т роль­ных групп яд ­ра Linux, су ­ж а­ет воз­ мож­но­с ти де­ре­ва про­цес­сов, вы­с тав­ляя ог­раничения ат­ри­бу ­тов про­цес­с а, та­ких как по­т реб­ление про­цес­со­ра и па­мя­ти. При за­ пуске кон ­тейнера соз ­д а­ет­с я кон ­т роль­ная груп­па на осно­ве на­ стро­ек кон­тейнера, за­тем управ­ление пе­ре­д а­ет­с я про­цес­с у init

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

На­строй­ка хоста Итак, с че­го начнем? LXC со­с то­ит из двух час­тей – ком­понен­тов яд ­ра и поль ­зо­ва­тель­ских ути ­лит. По­это­м у убе ­ди ­тесь, что у вас под­хо­д я­щее яд­ро, вер­сии не менее 2.6.27 (ко­ман­дой uname -r), и уста­но­ви­те поль­зо­ва­тель­ские ути­ли­ты из менед­же­ра па­ке­тов ди­с т­ри­бу­ти­ва. В Ubuntu мож­но вы­полнить ко­ман­д у sudo apt-get install lxc. В Arch Linux они на ­хо­д ят­ся в поль­зо­ва­тель­ском ре­по­ зи­то­рии Arch (Arch User Repository), по­это­му нуж­но ском­пи­ли­ро­ вать и со­брать их там. Ус­та­но­вив ути­ли­ты, про­верь­те, что необ­хо­ди­мые ком­понен­ты яд­ра вклю­че­ны: # lxc-checkconfig --- Namespaces --Namespaces: enabled Utsname namespace: enabled Ipc namespace: enabled Pid namespace: enabled User namespace: enabled Network namespace: enabled Multiple /dev/pts instances: enabled --- Control groups --Cgroup: enabled Cgroup clone_children flag: enabled Cgroup device: enabled Cgroup sched: enabled Cgroup cpu account: enabled Cgroup memory controller: enabled Cgroup cpuset: enabled --- Misc --Veth pair device: enabled Macvlan: enabled Vlan: enabled §File capabilities: enabled Ес­ли па­ра­метр Cgroup namespace име­ет зна­чение required вме­ сто enabled, это из­вест­ная ошиб­ка, ко­то­рую мож­но про­иг­но­ри­ро­ вать. Ес­ли есть дру­гие от­ли­чия, пе­ре­ком­пи­ли­руй­те яд­ро, вклю­чив эти оп­ции. В боль­шин­ст­ве ди­ст­ри­бу ­ти­вов они вклю­че­ны по умол­ чанию, и про­блем тут не долж­но быть. За­тем убе­ди­тесь, что фай­ло­вая сис­те­ма яд­ра cgroup смон­ти­ро­ ва­на. Де­ла­ет­ся это ко­ман­дой # mount | grep cgroup Ес­ли она не смон­ти­ро­ва­на, смон­ти­руй­те ее. Ее обыч­ная точ­ка мон­ти­ро­вания – /cgroup: # mkdir /cgroup # echo “none /cgroup cgroup defaults 0 0” >> /etc/fstab # mount /cgroup Сле­д ую­щ ее, что нам по­н а­д о­б ит­с я – се­т е­в ой стек, ко­т о­р ый под­дер­ж и­ва­ет хост и все кон­тейнеры. Есть несколь­ко спо­со­бов его реа­ли­за­ции, но про­ще все­го при­менить мост. В Ubuntu 12.04 при уста­нов­ке LXC мост соз­д а­ет­ся ав­то­ма­ти­че­­ски. В дру­гих ди­

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

88  |  LXF162 Октябрь 2012


LXC: Кон­тей­не­ры Linux Учебник

вир­туа­ли­за­ция ст­ри­бу­ти­вах уста­но­ви­те и на­строй­те bridgeutils (со­ве­ты най­д ут­ся в на­ших ар­хи­вах – www.linuxformat.com/archives). Итак, пусть наш мост соз­дан и на­зы­ва­ет­ся br0.

Наш пер­вый кон­тейнер По­про­бу­ем за­пустить наш пер­вый кон­тейнер, про­сто для про­вер­ ки, что все ра­бо­та­ет: # lxc-execute -n mycontainer /bin/bash # pstree lxc-init---bash---pstree # exit Мо­жет по­к а ­з ать­с я, что ко­м ан­д а lxc-execute ниче­г о не сде­ ла­ла; но она за­п усти­ла Bash внут­ри кон­тейнера и оста­ви­ла вас в команд­ной стро­ке Bash это­го кон­тейнера. Взгляните на де­ре­ во про­цес­сов – в кон­тейнере их все­го три. Наш кон­тейнер весь­ ма при­ми­т и­вен, и он по-прежнему поль­зу­ет­с я об­щей корневой фай­ло­вой сис­те­мой и се­тью. Но с неслож­ным фай­лом кон­фи­г у­ ра­ции это мож­но из­менить. Соз­дай­те но­вый файл с именем /etc/ lxc/mycontainer.conf: lxc.utsname = mycontainer lxc.network.type = veth lxc.network.flags = up lxc.network.link = br0 lxc.network.ipv4 = 10.0.3.1/8 Он да­ет на­ше­му кон­тейнеру соб­ст­вен­ное имя (его имя хоста – mycontainer) и се­те­вой ад­рес (вы­бе­ри­те под­хо­д я­щий сво­бод­ный IP-ад ­рес). Тип се­т и veth ве ­лит LXC ис­поль­зо­в ать се­те­вой мост, а се­те­вая ссыл­ка – это имя моста, в дан­ном слу­чае br0. За­пусти­те кон­тейнер и за­гляните внутрь: # lxc-execute -n mycontainer -f /etc/lxc/mycontainer.conf /bin/bash # hostname mycontainer # ping myhost У вас есть доступ к ком­пь­ю­те­рам локаль­ной се­ти, но не бо­лее то­го. Что­бы вый­ти за пре­де­лы локаль­ной се­ти, по­на­до­бит­ся соз­ дать мар­шрут к шлю­зу по умол­чанию – на­при­мер, так: route add default gw myrouter. По окон­чании ра­бо­ты с кон­тейнером вый­ди­ те из него ком­ндой exit.

За­гру­жа­ем его Наш при­мер рас­смат­ри­вал кон­тейнер при­ло­жений – в нем в кон­ тейнере за­пуска ­лось од­но при­ло­жение (Bash). Уже за­ме­ча­тель­но; но по-на­стоя­ще­му-то по­лез­ны сис­тем­ные кон­тейнеры, в ко­то­рых своя корневая фай­ло­вая сис­те­ма и ко­то­рые вы­гля­д ят как от­дель­ ные ком­пь­ю­те­ры. Про­де­мон­ст­ри­ру­ем это: соз­да­дим сис­тем­ный кон­тейнер. Поз­ же мы до­ба­вим к нему гра­фи­че­­ский ра­бо­чий стол, но по­ка в нем бу­дет ба­зо­вая за­гру­жае­мая сис­те­ма. Из­меним файл /etc/lxc/my­ container.conf, что­б ы дать кон­т ейнеру доступ к необ­хо­д и­м ым ре­сур­сам: lxc.utsname = mycontainer lxc.network.type = veth

lxc.network.flags = up lxc.network.link = br0 lxc.network.name = eth0 # only explicit device access lxc.cgroup.devices.deny = a # Memory Devices lxc.cgroup.devices.allow = c 1:3 rwm # /dev/null null stream lxc.cgroup.devices.allow = c 1:5 rwm # /dev/zero zero stream lxc.cgroup.devices.allow = c 1:7 rwm # /dev/full full stream lxc.cgroup.devices.allow = c 1:8 rwm # /dev/urandom blocking random stream lxc.cgroup.devices.allow = c 1:9 rwm # /dev/random non blocking stream # Terminals lxc.tty = 2 # local ttys: /dev/tty1 and /dev/tty2 lxc.cgroup.devices.allow = c 4:0 rwm # /dev/tty0 current virtual terminal lxc.cgroup.devices.allow = c 4:3 rwm # /dev/tty3 host’s /dev/tty3 lxc.cgroup.devices.allow = c 5:0 rwm # /dev/tty current tty device lxc.cgroup.devices.allow = c 5:1 rwm # /dev/console system console lxc.cgroup.devices.allow = c 5:2 rwm # /dev/ptmx pseudo terminal creator lxc.cgroup.devices.allow = c 136:* rwm # /dev/pts/* psuedo terminal slaves # root filesystem lxc.rootfs = /srv/lxc/mycontainer # mounts lxc.mount.entry = noPress ALT-F3 to switch to tty3 or sne /n LXCsrv/lxc/mycontainer/dev/pts devpts defaults 0 0 lxc.mount.entry = none /srv/lxc/mycontainer/dev/shm tmpfs defaults 0 0 lxc.mount.entry = none /srv/lxc/mycontainer/proc proc defaults 0 0 lxc.mount.entry = none /srv/lxc/mycontainer/sys sysfs defaults 0 0 Те­перь в фай­ле кон­фи­г у­ра­ции го­раз­до боль­ше па­ра­мет­ров. На­ строй­ки се­ти по­хо­жи на пре­ды­д у­щие, толь­ко на­зна­чение IP-ад­ре­ са пре­достав­ле­но про­це­д у­ре за­груз­ки кон­тейнера.

Скорая помощь При­ме­ры кон­фи­г у­ ра­ции мож­но най­ти в /usr/share/doc/ lxc/examples.

Скорая помощь Вам по­мо­г ут в IRCка­на­ле #lxcontain­ ers или в рас­сыл­ке lxc-users. См. стра­ ни­ц у под ­держ­ки LXC – http://source­ forge.net/projects/ lxc/support.

OpenVZ Ана ­ло­гич­ная тех­но­ло­гия – OpenVZ, и ее код со­с тав­ля­ет боль­шую часть ко­д а LXC. Тех­ но­л о­г ия OpenVZ яв­л я­е т­с я бо­л ее зре­л ой, но для ее ра­б о­т ы нуж ­н о за ­л а­т ать яд ­р о, и ее под­д ер­ж и­в а­ю т немно­г ие ди­с т­р и­бу­ ти­вы (в Ubuntu под­д ерж­к а пре­к ра­т и­л ась по­с ле 8.04 Hardy Heron). До­к у­м ен­т а­ц ия OpenVZ осно­в а­н а на Fedora Core, RHEL и CentOS. Ес ­ли вы хо­т и ­т е по­д об­р ать­с я по­б ли ­же к «уров­ню пред­при­я тия» и у вас ди­с т­ри­

бу ­т ив на ба ­зе Red Hat, зай ­д и ­т е на www. openvz.org. Од ­н а­к о LXC реа ­л и­з о­в а­н ы в основ­н ой вер­с ии яд ­р а и на ­х о­д ят­с я в ак ­т ив­ной раз­ра­бот ­ке, по ­это­м у мы уде­ ля­ем им внимание. Знать об OpenVZ по­лез­но еще и по­то­му, что здесь есть го­то­вые шаб­ло­ны для раз­ лич­н ых ди­с т ­р и­б у ­т и­в ов, и ими мож ­н о восполь­зо­в ать­с я в LXC. Ищи ­т е шаб­ло­ны по ссыл­ке http://wiki.openvz.org/Download/ template/precreated.

»»Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/! Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 89


Учебник LXC: Кон­тей­не­ры Linux

Скорая помощь Для соз­да­ния ре­ зерв­ной ко­пии кон­ тей­не­ра ско­пи­руй­ те его кор­не­вую фай­ло­вую сис­те­ му. Луч­ше де­лать это при ос­та­нов­ лен­ном кон­тей­ не­ре. Ре­зерв­ная ко­пия по­мо­жет вер­нуть кон­тей­ нер в пре­ды­д у­щее со­стоя­ние.

Скорая помощь Тип тер­ми­на ­ла в кон­тей­не­ре про­ ве­рить лег­ко. Что­ бы вы­вес­ти спи­сок тер­ми­на ­лов, вы­ пол­­ни­те ко­ман­д у ls –l /dev/tty? в кон­ тей­не­ре. Взгля­ни­те на са­мое боль­шое чис­ло: для тер­ми­ на ­лов ос­нов­но­го ком­пь­ю­те­ра это 4, для ло­каль­ных тер­ми­на ­лов – 136.

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

Три — вол­шеб­ное чис­ло Внут­ри кон­тейнеров мож­но поль­зо­в ать­с я тер­ми­наль­ны­ми уст­ рой­с т­ва­ми трех ти­пов. Ес­ли про­цес­су необ­хо­дим тер­ми­нал, на­ при­мер, при под­к лю­чении к кон­тейнеру по SSH, то по его за­про­су соз­да­ет­ся псев­до­тер­ми­нал. Ни­ка­ких спе­ци­а ль­ных на­стро­ек, кро­ ме на­строй­ки досту­па в /dev/ptmx и /dev/pts/* ана ­ло­гич­но на­ше­му при­ме­ру, не тре­бу­ет­ся. Два дру ­г их ти­п а – раз ­лич­ные пред­с тав ­л ения ба ­з о­в о­г о уст­ рой­с т ­ва tty. У пра­виль­но на­с тро­ен­но­го кон­тейнера есть доступ к уст ­р ой­с т ­в ам tty глав­н о­г о ком­п ь­ю­т е­р а, а так ­же к соб­с т ­в ен­ ным локаль­но соз­д ан­ным уст­рой­с т­вам tty. Па­ра­метр lxc.tty оп­ ре­д е ­ля­е т, сколь­ко уст ­р ойств мож ­но соз ­д ать локаль­но внут­ри кон­тейнера. На­при­мер, ес­ли он ра­вен 2, то в LXC ав­то­ма­ти­че­­ски поя­вят­с я локаль­ные тер­м и­н а ­лы /dev/tty1 и /dev/tty2, доступ­ ные по ко­м ан­д е lxc-console. Что­бы восполь­зо­в ать­с я тер­ми­на­ лом основ­но­го ком­пь­ю­те­ра, вы­бе­ри­те уст­рой­ст­во с боль­шим но­ ме­ром и на­строй­те доступ к нему (в на­шем при­ме­ре – /dev/tty3). Кон­тейнеру мож­но поль­зо­вать­ся тер­ми­на ­лом глав­но­го ком­пь­ю ­ те­ра, когда глав­но­му ком­пь­ю­те­ру тер­ми­нал не ну ­жен: сде­лай­те так, что­бы про­цес­сы getty не под­к лю­ча ­лись к это­му tty (в боль­ шин­ст­ве ди­ст­ри­бу ­ти­вов это на­страи­ва­ет­ся в /etc/inittab). В на­шем при­ме­ре в кон­тейнере взят тер­ми­нал основ­но­го ком­ пь­ю­те­ра /dev/tty3, доступ­ный как вир­т у­а ль­ный тер­ми­нал (для его от­кры­тия на­ж ми­те Alt + F3). В кон­тейнере так­же есть тер­ми­ на­лы /dev/tty1 и /dev/tty2 – досту­па к обо­им обес­пе­чит ко­ман­д а lxc-console. По­с ледними в на­шей кон­фи­г у­ра­ции за­д а­ют­ся точ­ки мон­ти­ро­вания фай­ло­вой сис­те­мы кон­тейнера; глав­ная из них – корневая фай­ло­в ая сис­те­ма кон­тейнера. Это обыч­ный ка­т а ­лог на глав­ном ком­пь­ю­те­ре. Вы­бе­ри­те под ­хо­д я­щий ка­та ­лог – ска ­жем, /srv/lxc/mycontainer – и за­полните его с по­мо­щью со­от­вет­ст­ву­щих ути­лит ва­ше­го ди­ст­ри­бу ­ти­ва. В Arch Linux вам по­мо­жет ути­ли­та mkarchroot (пред­ва­ри­тель­но уста­но­вите па­ке­ты devtools и base-devel): # mkdir /srv/lxc # mkarchroot /srv/lxc/mycontainer base В Debian/Ubuntu для это­го слу­жит ути­ли­та debootstrap: debootstrap --arch=i386 precise /srv/lxc/ubuntu_debootstrap http://archive.ubuntu.com/ubuntu Что­бы под­го­то­ви­ить корневую фай­ло­вую сис­те­му кон­тейнера для LXC, в ней нуж­но кое-что по­ме­нять. При за­пуске сис­тем­но­го кон­т ейнера LXC вы­зы­в а­е т про­ц есс init внут­ри кон­т ейнера, за­ пускаю­щий за­гру­зоч­ную по­сле­до­ва­тель­ность. Но что­бы за­груз­ка

ра­бо­та­ла внут­ри кон­тейнера, ее сто­ит под­пра­вить, так как мно­гое из обыч­но­го за­пуска и вы­к лю­чения сис­те­мы в кон­тейнере не тре­ бу­ет­ся. Ме­ня­ют для это­го скрип­ты init, а кон­крет­ные дей­ст­вия за­ ви­сят от ди­ст­ри­бу ­ти­ва. В Ubuntu вер­сий менее 12.04 есть па­кет lxcguest, со­дер­жа­щий необ­хо­ди­мые по­прав­к и. В вер­сии 12.04 стан­д арт­ные на­с трой­к и уч­ли на­строй­ки LXC, и ника­ких по­пра­вок не тре­бу­ет­ся. В на­ших ар­ хи­вах есть при­ме­ры скрип­тов за­пуска для Arch Linux. За­тем нуж­ но соз­дать фай­лы для тех уст­ройств, доступ к ко­то­рым был раз­ ре­шен в фай­ле кон­фи­г у­ра­ции. Обыч­но де­ре­вом уст­ройств в /dev управ­ля­ет де­мон udev, но в кон­тейнере это не ра­бо­та­ет. Мы долж­ ны вруч­ную соз­д ать фай­лы уст­ройств в со­от­вет­с т­вии с фай­лом кон­фи­г у­ра­ции. Для на­ча­ла соз­да­дим об­щие уст­рой­ст­ва, необ­хо­ ди­мые боль­шин­ст­ву кон­тейнеров: cd /srv/lxc/mycontainer/dev mknod -m 666 null c 1 3 # null device mknod -m 666 zero c 1 5 # zero device mknod -m 666 full c 1 7 # full device mknod -m 666 random c 1 8 # blocking random device mknod -m 666 urandom c 1 9 # non blocking random device mknod -m 666 tty0 c 4 0 # system console mknod -m 666 tty c 5 0 # process’s current tty device mknod -m 600 console c 5 1 # system console aka tty0 mknod -m 666 ptmx c 5 2 # pseudo terminal creator mknod -m 600 initctl p # init control channel mkdir -m 755 pts # pseudo terminal slaves mkdir -m 1777 shm # shared memory ln -s /proc/self/fd fd # for backward compatibility Так­же нуж­но соз­дать уст­рой­ст­ва tty. В на­шей кон­фи­г у­ра­ции их имеется три: mknod -m 666 tty1 c 4 1 # tty1 mknod -m 666 tty2 c 4 2 # tty2 mknod -m 666 tty3 c 4 3 # tty3 (host vt) Пе­ред за­пуском кон­тейнера вой­дем в него че­рез chroot и вы­ полним все необ­хо­д и­мые дей­с т­вия для на­с трой­к и. На­при­м ер, мож­но за­д ать па­роль поль­зо­ва­те­ля root, соз­д ать поль­зо­ва­те­лей и уста­но­вить про­г рам­мы. По­с ле мон­т и­ро­в ания несколь­к их за­ ви­си­мых фай­ло­вых сис­тем chroot по­л у­чит функ­ц ио­наль­ность, доста­точ­ную для уста­нов­ки па­ке­тов про­грамм: # mount proc -t proc /srv/lxc/mycontainer/proc # mount devpts -t devpts /srv/lxc/mycontainer/dev/pts # chroot /srv/lxc/mycontainer За­д ай­те па­роль поль­зо­ва­те­ля root и соз­д ай­те учет­ные за­пи­си дру­гих поль­зо­ва­те­лей: echo “root:myrootpassword” | chpasswd useradd -c ‘My User’ -m -s /bin/bash myuser echo “myuser:mypassword” | chpasswd На этом на­с трой­ка кон­тей­не­ра за­кон­че­на – ос­таль­ное мож­но сде­лать по­сле его за­груз­ки. Так что по­ка вый­дем из chroot:

Что та­кое кон­троль­ные груп­пы? В при­ме­рах кон­фи­г у­ра­ц ии LXC вы ви­де­ли cgroup. Это кон­троль­ные груп­пы, ко­то­рые поя­ви­лись в яд­ре Linux с вер­с ии 2.6.24. Они по ­з во­л я­ю т вы ­д е ­л ить груп­пы про­цес­сов и управ­лять вы­д а­чей им ре­с ур­ сов, та­ких как про­цес­сор, па­мять и ши­ри­на ка­на­ла се­ти. Имен­но кон­троль­ные груп­пы де­ла­ют вир­т уа­ ли­за­цию кон­тейнеров воз­мож­ной, а LXC вы­пол­ня­ют всю труд­ную ра­бо­т у, осво­бо­ж ­д ая от нее вас. Па­ра­

мет­ры cgroup, ука­зы­вае­мые в фай­ле кон­фи­г у­ра­ции кон­тейнера, раз­но­об­раз­ны. Для про­смот­ра доступ­ ных па­ра­мет­ров за­пусти­те кон­тейнер и вы­полните ко­ман­д у ls /cgroup/mycontainer с глав­но­го ком­пь­ю­ те­ра. Вот несколь­ко по­лез­ных па­ра­мет­ров: » cpuset.cpus ог­раничи­ва­ет про­цес­со­ры, доступ­ные кон­тейнеру (на­при­мер, 0‑1 – про­цес­со­ры 0 и 1). » cpuset.shares за­да­ет боль­шее или мень­шее ко­ли­

че­­с т­во цик ­лов про­цес­со­ра. По умол­чанию ис­поль­ зу­ет­ся 1024, это нор­маль­ное зна­чение; 512 – вдвое мень­ше. memory.max_limit_in_bytes за­д а­ет макси­­ мум вы­де­ляе­мой па­мя­ти (на­при­мер, 512M, 1G и т. д.). К со­ж а ­л ению, этих на­с тро­е к мно­г о­в а­т о для на­шей ста­тьи. Уз­нать о них под­робнее мож­но в до­к у­ мен­та­ции яд­ра: http://kernel.org/doc/Documentation/ cgroups.

»»Пропустили номер? Узнайте на с. 104, как получить его прямо сейчас. Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

90  |  LXF162 Октябрь 2012


LXC: Кон­тей­не­ры Linux Учебник

# exit # umount /srv/lxc/mycontainer/dev/pts # umount /srv/lxc/mycontainer/proc Кон­тейнер на­с тро­ен; по­ра его за­п устить. Соз­д ай­те его в LXC и вы­полните ко­ман­ды: # lxc-create -n mycontainer -f /etc/lxc/mycontainer.conf ‘mycontainer’ created. # lxc-start -n mycontainer Ес­ли все хо­ро­шо, кон­тейнер за­гру­зит­ся. На­жми­те Alt + F3, что­ бы пе­ре­к лю­чить­ся на tty3, или от­крой­те кон­соль LXC для вхо­д а в сис­те­му: # lxc-console -n mycontainer Зай­ди­те в кон­тейнер от имени root с па­ро­лем, за­дан­ным ранее. Ос­мот­ри­те но­вую сис­те­му и по­вы­пол­няй­те вся­кие ко­ман­ды. За­ кон­чив, от­к лю­чи­тесь от кон­со­ли, на­жав Ctrl + A, за­тем q. Ес­ли пе­ ред от­к лю­чением не вы­хо­дить из сис­те­мы, поз­же мож­но под­к лю­ чить­ся к то­му же се­ан­су. Вер­н ув­шись на глав­ный ком­пь­ю­т ер, рас­с мот­рим неко­то­рые ути­ли­ты LXC. Ко­ман­да lxc-ls вы­во­дит спи­сок всех из­вест­ных кон­ тейнеров в од­ной стро­ке и всех за­пу­щен­ных в сле­д ую­щей. Де­ре­ во про­цес­сов за­п у­щен­но­го кон­тейнера по­к а ­жет ко­ман­д а lxc-ps -n mycontainer. Это оберт­ка во­круг стан­д арт­ной ко­ман­ды ps, по­ это­му вслед за именем кон­тейнера мож­но ука­зы­вать лю­бые ар­ гу­мен­ты ps. Про­цес­сы кон­тейнера так ­же пре­крас­но по­ка­зы­ва­ет ути­ли­та pstree. Ос­та­но­вить кон­тейнер мож­но ко­ман­дой lxc-stop -n mycontainer, но это «же­ст­кая» оста­нов­ка – все рав­но что вы­дер­ нуть вил­к у из ро­зет­ки. Луч­ше вы­полнить внут­ри кон­тейнера ко­ ман­д у shutdown -h now. Те­перь про­ве­рим-ка наш ssh: # ssh mycontainer # shutdown -h now

Ра­бо­чий стол внут­ри кон­тей­не­ра По­р а сде­л ать с на­ш им кон­т ейнером кое-что бо­л ее по­л ез­н ое. Мы уста­но­вим ба­зо­вую вер­сию ра­бо­че­го сто­ла X и свя­жем его с одним из вир­т у­а ль­ных тер­ми­на ­лов основ­но­го ком­пь­ю­те­ра. Это ба­зо­вая вер­сия Xorg с драй­ве­ра­ми VESA – джент­ль­мен­ский на­бор для за­пуска ра­бо­че­го сто­ла внут­ри кон­тейнера. Упот­ре­бим на­шу мышь и кла­виа­т у­ру и свя­жем ра­бо­чий стол с вир­т у­а ль­ным тер­ми­ на­лом 9 (Alt + F9). До­бавь­те сле­д ую­щие па­ра­мет­ры в файл кон­фи­ гу­ра­ции кон­тейнера /etc/lxc/mycontainer.conf: # VESA XOrg Desktop lxc.cgroup.devices.allow = c 4:9 rwm # /dev/tty9 X Desktop lxc.cgroup.devices.allow = c 13:* rwm # /dev/input/* input devices lxc.cgroup.devices.allow = c 10:63 rwm # /dev/vga_arbiter lxc.cgroup.devices.allow = c 1:1 rwm # /dev/mem Ука­зан­ные пра­ва да­ют доступ к необ­хо­ди­мым уст­рой­ст­вам вво­ да и вы­во­д а. При на­с трой­ке дру­го­го гра­фи­че­­ско­­го драй­ве­ра по­ тре­бу­ет­ся доступ к дру­гим уст­рой­ст­вам. Соз­дай­те со­от­вет­ст­вую­ щие фай­лы уст­ройств: cd /srv/lxc/mycontainer/dev mkdir -m 755 input # input devices mknod -m 666 input/mice c 13 63 # mice mknod -m 666 tty9 c 4 9 # vt for display mknod -m 666 vga_arbiter c 10 63 # vga display mknod -m 666 mem c 1 1 # memory При лю­бых из­менениях в фай­ле кон­фи­г у­ра­ц ии LXC дол­жен уда­лить и сно­в а соз­д ать кон­т ейнер. При этом ника­к ие фай­лы не уда ­ля­ют­с я. Убе­див­шись, что кон­тейнер оста­нов­лен, воссоз­ дай­те его, пе­ре­за­пусти­те и вой­ди­те в кон­тейнер: lxc-destroy -n mycontainer lxc-create -n mycontainer -f /etc/lxc/mycontainer.conf screen -dmS mycontainer lxc-start -n mycontainer ssh root@mycontainer Внут­ри кон­тей­не­ра ус­та­но­ви­те не­об­хо­ди­мые па­ке­ты Xorg для ра­бо­че­го сто­ла. В Arch Linux:

pacman -S xorg-server xorg-xinit xf86-input-{keyboard,mouse} xf86-video-vesa pacman -S xorg-twm xorg-xclock xterm Един­ст­вен­ная на­строй­ка Xorg нуж­на для кла­виа­т у­ры и мы­ши, по­ то­му что для ав­то­ма­ти­че­­ско­­го оп­ре­де­ления уст­ройств в Xorg ис­ поль­зу­ет­ся udev, а в кон­тейнере его нет. На­строй­ки Xorg хра­нят­ся в но­вом фай­ле /etc/X11/xorg.conf.d/10‑input.conf: # /etc/X11/xorg.conf.d/10-input.conf Section “ServerFlags” Option “AutoAddDevices” “False” EndSection Section “ServerLayout” Identifier “Desktop” InputDevice “Mouse0” “CorePointer” InputDevice “Keyboard0” “CoreKeyboard” EndSection Section “InputDevice” Identifier “Keyboard0” Driver “kbd” Option “XkbLayout” “gb” EndSection Section “InputDevice” Identifier “Mouse0” Driver “mouse” Option “Protocol” “auto” Option “Device” “/dev/input/mice” EndSection На­конец, те­п ерь мож­н о за­п устить внут­р и кон­т ейнера Xorg и уви­деть ра­бо­чий стол: startx -- :9 vt09 Толь­ко что мы соз­д а­ли кон­тейнер с досту­пом к уст­рой­с т­вам глав­но­го ком­пь­ю­те­ра. Мы вруч­ную соз­д а ­ли необ­хо­ди­мые фай­ лы уст­ройств и уста­но­ви­ли нуж­ные па­ке­ты Xorg. И мы за­пусти­ли ра­бо­чий стол внут­ри кон­тейнера. А ес­ли у вас по­с лед­няя вер­сия Ubuntu 12.04 Precise Pangolin, вы мо­же­те восполь­зо­вать­ся шаб­ло­ на­ми Ubuntu Cloud. Соз­дать но­вый кон­тейнер про­сто: $ sudo apt-get install lxc $ sudo lxc-create -t ubuntu-cloud -n mycontainer $ sudo lxc-start -n mycontainer Же­лая восполь­зо­вать­ся сер­ви­са­ми глав­но­го ком­пь­ю­те­ра (как в на­шем при­ме­ре с за­пуском ра­бо­че­го сто­ла), как и пре­ж ­де, нуж­ но из­м енить на­с трой­к и LXC. Об­р а ­зы об­л а­к а мож ­н о за­г ру ­зить и вруч­н ую с https://cloud-images.ubuntu.com, но файл на­с тро­ек LXC при­дет­ся соз­дать са­мо­стоя­тель­но. При­ме­ры – на на­шей стра­ нице с ар­хи­ва­ми для это­го но­ме­ра (www.linuxformat.com/archives). LXC – от­но­си­тель­но но­вый ком­понент плат­фор­мы Linux. Это пре­к рас­н ый про­е кт, и Canonical ис­п оль ­з у­е т его да ­ж е в JuJu. А по­с коль­к у LXC по­л у­чи­ли пропис­к у в основ­ной вер­с ии яд­р а, их ждет боль­шое бу­д у­щее. |

> Про­стой, но под­ лин­но ра­бо­чий стол внут­ри кон­тей­не­ра. Сле­ва — обо­лоч­ка, его за­пус­тив­шая. Про­верь­те вы­вод pstree до и по­сле за­пус­ка ра­бо­че­го сто­ла.

Скорая помощь Ес­ли вы за­пус­кае­ те кон­тей­нер с по­ мо­щью screen, при не­об­хо­ди­мо­сти его мож­но от­к лю­ чить от кон­со­ли (на­жми­те Ctrl + a, за­тем d).

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 91


Ответы

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

В этом месяце мы ответим на вопросы про... 1 Кон­вер­та­цию ви­део­ро­ли­ков в фор­мат DVD 2 Про­бле­мы с тач­па­дом 3 Бес­про­вод­ные се­ти в Ubuntu

4 Под­держ­ку уст­ройств в Linux 5 Не­до­мо­га­ние Asus Eee PC 6 Про­кси-сервер для ста­ро­го ком­пь­ю­те­ра

1 Ви­део в DVD

В

Не­д ав­н о я пред­л о­ж ил дру­г у за­п и­с ать на DVD ви­део с его праздника. Съем­ка шла на ви­део­ка­ме­ру Panasonic со смарт-кар­та­ ми объемом 8 и 16 ГБ, ка­ж ­дый клип пред­став­лен че­тырь­мя фай­ла­ми: .cont, .pmpd, .mp4 и .tmb. K3b вы­д а­ла со­об­щение о том, что дан­ных недоста­ точ­но, Brasero от­к рыл несколь­ко фай­лов и за­ вис. Бо­юсь, с Brasero у ме­ня всегда та­кая ис­то­рия. DeVeDe вро­де ра­бо­та­ет, но до­бав­лять кли­пы пе­ре­ тас­ки­ванием мож­но толь­ко по од­но­му — а их бо­ лее ты­ся­чи. В от­чаянии я до­ба­вил две сотни кли­ пов в Openshot, ко­то­рый сра­зу «упал» без ви­ди­мой при­чи­ны. На­конец, я сдал­ся, от­крыл свой ста­рый раз­дел с XP и за­пустил Nero Vision де­ся­ти­летней дав­но­ сти. Это бы­ло здо­ро­во: на­жав кла­ви­шу Shift и вы­ де­ляя фай­лы мы­шью, я смог до­ба­вить сра­зу 98 ро­ли­ков и еще одним щелч­ком мы­ши объ­е­динить их. За­тем про­грам­ма скон­вер­ти­ро­ва­ла все фай­лы и за­пи­са­ла их на DVD. По­че­му в Linux та­ко­го нет? Ка­кой про­грам­мой я дол­жен был восполь­зо­вать­ ся? В команд­ной стро­ке мне при­шлось бы на­би­ рать иден­т и­фи­ка­т ор ка­ж­до­го ро­ли­ка, но это же нере­аль­но. Джон Тей­лор [John Taylor]

О

Весьма по­хо­же, что кли­пы уже за­гру­ же­ны в Photo Fun Studio, про­грам­му для ре­д ак­ти­ро­вания кли­пов в Windows, по­ став­ляе­мую с ка­ме­рой. Она соз­д а­ет для ка­ж ­до­ го ро­ли­ка до­полнитель­ные фай­лы, а Вам ну­жен толь­ко сам ро­лик. Ско­рее все­го, у него бу­дет са­ мая ран­няя да­та соз­дания, и уж точ­но он бу­дет са­ мым уве­си­стым. Обыч­но это файл MTS, но, ка­жет­ ся, ка­ме­ра бы­ла пе­ре­ве­де­на в ре­жим за­пи­си MPEG, и Вам нуж­ны фай­лы MP4. Ес­ли есть со­мнения, по­ про­буй­те за­гру­зить фай­лы в ви­део­про­иг­ры­ва­тель, ти­па MPlayer или VLC, что­бы по­нять, в ка­ком из них со­дер­жит­ся ви­део­ро­лик. Ско­р ее все­г о, про­г рам­м ы «па­д а­ю т» имен­ но при за­груз­ке по­с то­р онних фай­л ов. Вы так­ же пре­в ы­ш ае­т е ли­м ит фор­м а­т а DVD в 99 на­ званий на диск. Ес­ли оста­вить толь­ко фай­лы MP4 или MTS и не до­бав­лять на один диск слиш­ком

мно­го, DeVeDe ра­бо­та­ет пре­крас­ но. Что­бы не за­г ру ­ж ать ро­ли­к и по од­но­м у, от­к рой­те фай­ло­вый менед­жер, вы­бе­ри­те ви­део­фай­ лы и пе­р е­т а­щ и­т е их на панель Files [Фай­лы] DeVeDe. Вы­брать несколь­ко фай­л ов в команд­ ной стро­к е очень про­с то бла­ го­д а­р я мас­к е имени. На­п ри­ мер, *.mp4 пред­с тав­л я­е т со­б ой спи­с ок всех фай­л ов с рас­ш и­ рением .mp4 в ал­ф а­вит­ном по­ ряд­ке пе­ред пе­ре­д а­чей нуж­ной про­грам­ме. Соз­дание DVD из на­бо­ра фай­ лов раз­ных фор­ма­тов вклю­ча­ет несколь­ко эта­п ов; но про­г рам­ > DeVeDe соз­да­ет DVD из ви­део­ро­ли­ков, но не пре­вы­шай­те пре­де­лов, мы вро­де DeVeDe их от Вас пря­ ус­та­нов­лен­ных спе­ци­фи­ка­ци­ей DVD. чут. В команд­н ой стро­ке по­хо­ жую за ­д а­чу вы­пол­ня­ет ути­ли­та tovid (http://tovid. зать Xfce свя­зать скрипт тач­па­да с кла­ви­шей тач­ wikia.com/wiki/Tovid_Wiki). Вот ко­ман­да, кон­вер­ти­ па­да. Для это­го зай­ди­те в Settings > Settings Editor рую­щая все фай­лы MP4 в те­к у­щем ка­та­ло­ге, ес­ли [На­строй­ки > Ре­дак ­тор на­стро­ек] и вы­бе­ри­те па­ра­ их не бо­лее 98 (од­но из 99 доступ­ных на­званий – метр xfce4‑keyboard-shortcuts. са­мо ме­ню DVD): Но и тут все-та­ки нуж­но не за­бы­вать вклю­чить tovid disc -files *.mp4 -menu-title “My video” тач­пад пе­ред вы­к лю­чением ком­пь­ю­те­ра. Jupiter -textmenu -out mydvd со­х ра­н я­е т те­к у ­щ ее со­с тояние тач­п а ­д а в фай­ tovid dvd mydvd ле и восста­нав ­ли­ва­ет его при за­г руз­ке сис ­те­мы Пер­вая ко­ман­да вы­пол­ня­ет кон­вер­та­цию и соз­ (или при за­пуске ко­ман­ды /usr/lib/jupiter/scripts/ да­ет струк­т у­ру фай­лов DVD, вто­рая про­жи­га­ет все touchpad restore). Чем и мож­но восполь­зо­вать­ся, это на DVD. за­пи­сы­вая в этот файл единицу с по­мо­щью скрип­ та пе­ред вы­к лю­чением или при за­пуске сис­те­мы. Для это­го от­крой­те файл /etc/rc.local под поль­зо­ Мне ну­жен ваш со­вет о том, как вклю­чать ва­те­лем root и до­бавь­те все необ­хо­ди­мые ко­ман­ и вы­к лю­чать сен­сор­ную пло­щад­к у-тач­пад ды пе­ред за­вер­шаю­щей exit 0 – по­лу­чит­ся нечто на Eee PC 1011PX, что я хо­тел бы де­лать вро­де кла­ви­ша­ми Fn + F3. Сей­час это не ра­бо­та­ет. echo 1 >/var/jupiter/touchpad_saved Я поль­зу­юсь Xubuntu 11.10 и уста­но­вил Jupiter exit 0 0.1.2, про­грам­му для управ­ления тач­па­дом. Но ес­ Ко­ман­ды из /etc/rc.local вы­пол­ня­ют­ся при за­ ли вы­к лю­чить тач­пад и не вклю­чить его сно­ва пе­ груз­ке сис ­т е­м ы, но ес ­л и Вы хо­т и ­т е за­п устить ред вы­к лю­чением нетбу­ка, то по­том он не вклю­ча­ свою имен­но при вы­к лю­чении сис­те­мы, по­тре­бу­ ет­ся во­об­ще. Ос­таль­ные ком­би­на­ции Fn +  кла­ви­ша ет­ся соз­д ать скрипт в /etc/rc6.d, и его имя долж­ ра­бо­та­ют нор­маль­но. но на­чи­нать­ся с K99. До­ба­вить в него нуж­но то же Ду­глас Мак­до­налд [Douglas Macdonald] са­м ое – кро­м е то­г о, Вам по­н а­д о­б ит­с я стро­к а из верх­ней час­ти скрип­та rc.local, и весь файл бу­ В со­став Jupiter вхо­дит несколь­ко скрип­ дет вы­гля­деть так: тов, ав­то­ма­ти­зи­рую­щих неко­то­рые из его #!/bin/sh -e функ­ций. Они жи­вут в ка­та­ло­ге /usr/lib/ echo 1 >/var/jupiter/touchpad_saved jupiter/scripts, и тот, что Вам ну­жен, на­зы­ва­ет­с я exit 0 touchpad. Ес­ли за­пустить его с ар­г у­мен­том restore, За­тем сде­лай­те файл ис­пол­няе­мым: бу­дет восста­нов­ле­но со­хранен­ное со­стояние, а ес­ sudo chmod +x /etc/rc6.d/K99touchpad ли без ар­г у­мен­та – тач­пад бу­дет вклю­чен или вы­ Вы­в од ко­м ан­д ы xinput, ко­т о­р ый Вы при­в е­ клю­чен. Ваш вы­вод xev по­ка­зы­ва­ет, что ком­би­на­ ли в пись­ме, го­во­рит, что нуж­но бы­ло при­менить ция Fn  +  F3 воз­вра­щ а­ет код XF86TouchpadToggle, немно­го дру­гой под ­ход и управ­лять тач­па­дом на­ ко­то­рый и долж­на воз­вра­щ ать. Сле­до­в а­тель­но, пря­м ую с xinput (скрип­т ы Jupiter ис­п оль­з у­ю т все на­с трое­но пра­виль­но. Нуж­но про­с то при­к а­ xinput), хо­т я это мог­ло бы оз­на­чать, что тач­пад

2 Eee PC-недот­ро­га

В

О

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

92  |  LXF162 Октябрь 2012


Ответы не обя­з а­тель­но на ­хо­д ит­с я в том со­с тоянии, ко­ то­ро­го ожи­д а­ет Jupiter. По­лу­чи­те иден­ти­фи­ка­тор тач­па­да ко­ман­дой xinput list За­тем сно­ва восполь­зуй­тесь xinput, что­бы оп­ ре­де­лить код от­к лю­чения уст­рой­ст­ва: xinput list-props <иден­ти­фи­ка­тор> Сре­ди свойств долж­но быть та­кое: Device Enabled (135): 1 Чис­ло в скоб­ках – код уст­рой­ст­ва, 1 – те­к у­щее со­стояние (0 – от­к лю­че­но). По­это­му вклю­чить тач­ пад мож­но ко­ман­дой xinput set-prop <id-number> 135 1 До­бавь­те эту ко­ман­д у в /etc/rc.local или в /etc/ rc6.d.

3 Шат­кая бес­про­вод­ная сеть

В

Я уста­но­вил Ubuntu 12.04LTS с Windows 7 на нетбук Toshiba Netbook NB510‑119. Win 7 нор­м аль­н о под­к лю­ч а­е т­с я к Ин­т ернету по бес­про­вод­ной се­ти ро­у те­ра Thomson Speedtouch ST585 v6. Ubuntu под­к лю­ча­е т­с я при за­г руз­ке, но че­рез несколь­ко ми­нут от­к лю­ча­ет­ся. Страница на­строй­ки ро­у те­ра от­кры­ва­ет­ся и доступ­на в те­ чение несколь­ких ми­нут, но по­том я по­лу­чаю со­об­ щение об ошиб­ке за­груз­ки страницы в Firefox. Билл При­чард [Bill Pritchard]

О

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

> Для до­бав­ле­ния или из­ме­не­ния ком­би­на­ций кла­виш в Xfce зай­ди­те в Ре­дак­тор на­стро­ек [Settings Editor]. ла. Ес­ли Вы поль­зуе­тесь ка­на ­лом по умол­чанию, это с боль­шой ве­ро­ят­но­стью по­мо­жет. Но луч­ш е бу­д ет уста­н о­в ить но­в ые драй­ ве­р ы с сай ­т а www.realtek.com/downloads/ downloadsView.aspx?Langid=1&PNid=21&PFid=48& Level=5&Conn=4&DownTypeID=3&GetDown=false& Downloads=true. Най­ д и­ т е на этой странице драй­ в е­ р ы для RTL8188CE и за­гру­з и­те драй­в ер Linux для яд­ ра 2.6.24 (и бо­лее поздних вер­сий, до 3.2.x). Это tar-ар­хив. От­крой­те тер­ми­нал, зай­ди­те в ка­та­лог, ку­да за­гру­жен файл, рас­па­к уй­те ар­хив и вой­ди­те в ка­та ­лог: tar xf 92ce_se_de_linux_ mac80211_0005.1230.2011.tar.gz

Ко­рот­ко про…

Алиа­сы обо­лоч­ки Ес­ли вы по­с то­ян­но за­пускае­те ко­ман­д у с одними и те­м и же ар­г у ­м ен ­т а­м и, не про­щ е ли за ­д ать их по умол­чанию или при­пас­ти несколь­ко команд для раз­ных ва­ри­ан­тов за­п уска про­г рам­мы с раз­ ны­ми ар­г у­мен­та­ми? Все это и мно­гое дру­гое воз­ мож­но с псев­донима­ми (алиа­са­ми) обо­лоч­ки. Ско­рее все­го, у вас уже есть несколь­ко алиа­сов. На­бе­ри­те ll, и вы уви­д и­т е спи­с ок фай­лов с под­ роб­ной ин­фор­ма­ци­ей о них – раз­ме­ра­ми фай­лов, да­т а­ми и вла­дель­ц а­ми. Это воз­мож­но бла­го­д а­ря то­м у, что во мно­г их ди­с т­ри­бу­т и­вах ll – это али­ас для ls -l. Для про­смот ­ра су ­ще­с т ­вую­щ их алиа­с ов вы­полните ко­ман ­д у alias без ар­г у­мен­тов. Что­бы соз­дать али­ас, вы­полните ко­ман­д у: alias la=”ls -lhA --color=auto” Те­перь, на­брав la (list all – вы­вес­ти спи­сок всех фай­лов) в те­к у­щем се­ан­се обо­лоч­к и, вы уви­ди­те спи­сок фай­лов с под­цвет­кой и под­роб­ной ин­фор­ ма­ц и­е й о фай ­л ах, вклю­ч ая скры ­т ые. Ко­м ан ­д а

вме­с то алиа­са под­с тав­ля­ет­ся пе­ред вы­полнением его обо­лоч­кой. Но ес­ли от­крыть но­вую обо­лоч­к у, алиа­с а там не бу­д ет – ко­м ан­д у alias при­д ет­с я вы­п ол­н ять для ка ­ж ­д ой но­в ой обо­л оч­к и. Этот про­ц есс мож­н о ав­т о­м а­т и­з и­р о­в ать, по­т о­м у что пе­ред за­п уском обо­лоч­к и всегда ана­ли­зи­ру­ют­с я несколь­ко фай­лов. Сис­тем­ные на­строй­ки хра­нят­ся в /etc/profile; алиа­сы по умол­чанию обыч­но за­пи­ сы­в а­ю т­с я сю­д а. Кро­ме то­го, в фай­ле на­с трой­к и обо­л оч­к и мож­но за­д а­в ать соб­с т­вен­ные алиа­с ы. Для Bash это ~/.bashrc или ~/.bash_profile. Пер­ вый ис­поль­зу­ет­ся в ин­те­рак ­тив­ной обо­лоч­ке, вро­ де Konsole или xterm. Вто­рой – в обо­лоч­ке вхо­д а в сис­те­му. Обыч­но ко­ман­ды-алиа­сы до­бав­ля­ют­ся в ~/.bashrc. Али­ас мо­жет вы­пол­нять бо­лее од­ной ко­ман­ды, на­при­мер: alias foobar=”foo --foo-opts; bar --bar-opts” по­это­му про­с тые на­бо­ры ко­манд мож­но сво­ра­чи­ вать в алиа­сы, а не в скрип­ты.

cd rtl_92ce_92se_92de_linux_ mac80211_0005.1230.2011 Драй­вер нуж­но ском­пи­ли­ро­вать под Ва­ше яд­ ро – это со­в сем не так страш­н о, как ка­жет­с я, но нуж­но убе­дить­ся, что уста­нов­лен па­кет buildessential. Он со­дер­жит про­грам­мы, необ­хо­ди­мые для ком­пи­ля­ции и уста­нов­ки про­грамм. Вернитесь в тер­ми­нал и ско­ман­д уй­те: sudo make sudo make install Пер­вая ко­ман­д а ком­пи­ли­ру­ет про­грам­му, про­ ве­ря­ет от­сут­ст­вие оши­бок ком­пи­ля­ции и за­пуска­ ет вто­рую ко­ман­д у, ко­то­рая уста­нав­ли­ва­ет драй­ вер и про­шив­к у ту­д а, где яд­ро смо­жет най­ти их. По­сле пе­ре­за­груз­ки бу­дет ис­поль­зо­вать­ся но­вый драй­вер. Так как драй­вер ком­пи­ли­ру­ет­ся и уста­нав­ли­ва­ ет­ся под кон­крет­ное яд­ро, по­сле уста­нов­ки лю­бых об­нов­лений яд­ра этот про­цесс при­дет­с я по­в то­ рить (UpdateManager мо­жет пред­ло­ж ить уста­но­ вить но­вое яд­р о с ис­прав­л ения­ми оши­б ок или улуч­шением безо­пас­но­сти), по­это­му ар­хив не уда­ ляй­те. Для уда ­ления драй­ве­ра по­вто­ри­те про­цесс, за­менив по­след­нюю ко­ман­д у сле­д ую­щей: sudo make uninstall

4 Под­держ­ка уст­ройств

В

Я все­рь­ез за­ду­мал­ся о пе­ре­хо­де с Windows на Linux и хо­тел бы уз­нать, на­сколь­ко лег­ ко уста­нав­ли­вать прин­те­ры и дру­гие уст­ рой­с т­ва. В Windows я при­вык к идее “Plug and play” и хо­тел бы уз­нать, есть ли ка­кие-то от­ли­чия в Linux. Ди­ст­ри­бу­тив вы­би­раю ли­бо Linux Mint, ли­ бо Ubuntu 12.04. Майк Хол­ли­дей [Mark Halliday]

О

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

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 93


Ответы на дис­ке или в Ин­тернете, и но­вич­ки в Linux по ана­ ло­гии на­чи­на­ют ис­кать драй­ве­ры для Linux на сай­ тах про­из­во­ди­те­лей. Linux в основ­ном под ­дер­жи­ва­ет уст­рой­ст­ва из­ нут­ри: се­те­вые адап­те­ры, уст­рой­ст­ва вво­да и ви­ део­кар­ты в боль­шин­ст­ве слу­ча­ев под­дер­жи­ва­ют­ ся на­пря­мую ядром. Это оз­на­ча­ет, что драй­ве­ры для боль­шин­с т­в а уст ­ройств уже уста­нов ­ле­ны – и бу­д ут за­гру­же­ны ав­то­ма­ти­че­­ски, как толь­ко сис­ те­ма об­на­ру ­жит уст­рой­ст­во. Прин­те­ры и сканеры ра­бо­т а­ют не под управ­ лением яд­р а, а под управ­л ением сис­т ем CUPS и SANE со­от­вет­ст­вен­но. Су­ще­ст­ву­ет сер­вер­ное ПО, с по­мо­щью ко­то­ро­го с прин­те­ра­ми и сканера­ми мо­г ут ра­бо­тать дру­гие про­грам­мы, оно со­дер­жит драй­ве­ры для боль­шин­ст­ва из­вест­ных уст­ройств. Иногда для уста­н ов­к и драй­в е­р ов кон­к рет­н о­г о прин­те­ра или сканера нуж­но уста­но­вить от­дель­ ный па­кет с драй­ве­ра­ми из менед­же­ра па­ке­тов ди­ ст­ри­бу ­т и­в а. На­при­мер, прин­т е­ры и сканеры HP под ­д ер­ж и­в а­ю т­с я в Linux от­к ры ­т ы­ми драй­ве­р а­ ми, со­б­ран­ны­ми в от­дель­ный па­кет hplip (HP Linux Imaging and Printing – сканиро­вание и пе­чать HP в Linux). Вам не при­дет­ся ис­кать драй­ве­ры на сай­ тах про­из­во­ди­те­лей – все долж­но быть доступ­но в менед ­же­ре па­ке­тов ди­ст­ри­бу ­ти­ва. Еще од­на об­ласть, ко­то­рая рань­ше бы­ла про­ блем­ной – бес­про­вод­ная сеть, но сей­час си ­т уа­ ция улуч­ш и­л ась: боль­ш ин­с т­в о чип­с е­т ов под­ дер­ж и­в а­ю т­с я ли­б о на­п ря­м ую ядром Linux, ли­бо до­полнитель­ны­ми па­ке­т а­ми с драй­ве­ра­ми, и в боль­шин­с т­ве ди­с т­ри­бу ­т и­вов уст­рой­с т­в а хо­ ро­шо оп­ре­де ­ля­ют­с я и для них за­г ру ­ж а­ют­с я со­ от ­вет­с т ­вую­щ ие драй­ве­ры. В неко­то­рых из этих драй­ве­ров, на­при­мер, в драй­ве­рах для ви­део­карт Nvidia, ис­поль ­зу­ет­с я про­прие­т ар­ный код, и Вам мо­жет по­на­до­бить­ся вклю­чить со­от­вет­ст­вую­щ ую оп­цию в менед ­же­ре па­ке­тов. Не­ко­то­рые уст­рой­ст­ва не слиш­ком хо­ро­шо ра­ бо­та­ют с Linux, по­то­му что про­из­во­ди­те­ли не пре­ достав­ля­ют ни драй­ве­ров, ни до­к у­мен­та­ции для их раз­ра­бот­ки, но их чис­ло умень­ша­ет­ся. На сай­т ах неко­т о­р ых ди­с т­р и­бу ­т и­в ов мож­н о най­ти спи­сок под­дер­жи­вае­мых уст­ройств, но есть и несколь­ко спе­ци­а ль­ных сай­тов, на ко­то­рые сто­ ит зай­ти, пре­ж ­де чем по­к у­пать уст­рой­ст­ва, с ко­то­ ры­ми Вы планируе­те ра­бо­тать в Linux. На http://linuxprinting.org есть ис­чер­пы­ваю­щ ая ба­за дан­ных прин­те­ров. Для ка­ж ­до­го из них ука­ за­но, как он ра­бо­та­ет и ка­кие па­ке­ты с драй­ве­ра­ми нуж­но уста­но­вить. Ин­фор­ма­цию о сканерах мож­ но най­ти на сай­те www.sane-project.org. В ди­ст­ри­ бу­ти­вах, в том чис­ле и тех, о ко­то­рых Вы го­во­ри­те, есть хо­ро­шие ути­ли­ты для на­с трой­ки уст­ройств, но прин ­т е­р ы мож ­н о до­б а­в ить и че­р ез брау ­з ер с по­мо­щ ью CUPS, стан­д арт­ной сис­т е­мы управ­ ления драй­ве­ра­ми прин­те­ров с web-ин­тер­фей­сом. Для до­бав­ления но­во­го прин­те­ра или из­менения су­ще­с т­вую­щих от­крой­те в брау­зе­ре ад­рес http:// localhost:631.

5 Уми­раю­щая сеть

В

У мое­го Asus Eee PC — ему око­ло че­ты­рех лет — про­бле­мы с под­к лю­чением к се­т и. Один мой до­б­рый зна­ко­мый восста­нав­ли­

> Web-брау­зер — все, что нуж­но для дос­ту­па к CUPS и до­ку­мен­та­ции. ва­ет сеть, но спустя день-два она про­па­да­ет сно­ва. Я хо­тел бы пе­реуста­но­вить Ubuntu 10.04 и по­смот­ реть, из­менит­ся ли что-то, и ес­ли да — уста­но­вить 12.04. Я бес­плод­но по­тра­тил несколь­ко дней, пы­ та­ясь ско­пи­ро­вать фай­лы с LXFDVD159. По­след­ няя моя про­бле­ма в том, что я нигде не мо­г у най­ ти и за­гру­зить Dialog. Я ко­пи­рую неко­то­рые фай­лы на внешний же­ст­кий диск и под­к лю­чаю его к но­у т­ бу­к у. Но ка­кие фай­лы мне нуж­ны на са­мом де­ле и как к ним об­ра­щать­ся? Ес­ли это не по­мо­га­ет, сто­ит ли де­лать то же са­ мое с 12.04? В ней долж­на быть об­нов­лен­ная вер­ сия Firefox. Или это ап­па­рат­ная ошиб­ка в Asus? Как это мож­но уз­нать? Дэ­вид Ал­лен [David Allen]

О

Пер­вый во­прос – что имен­но де­ла­ет Ваш до­б­р ый зна­ко­м ый? Ес ­л и он та­и т это от Вас, то он не та­кой уж и до­б­рый. Это по­хо­же на ап­па­рат­ную ошиб­к у – драй­вер бес­про­ вод­ной се­ти мог­ло вы­вес­ти из строя об­нов­ление ПО, но на та­ком ста­ром ком­пь­ю­те­ре это ма­ло­ве­ ро­ят­но – драй­вер не дол­жен был из­менить­ся так силь­но. Кро­ме то­го, Eee PC – де­ше­вый ком­пь­ю ­ тер, и он недол­го­ве­чен: у ме­ня са­мо­го бы­ло два, и ни один че­ты­рех лет не про­слу­жил. Ес ­л и не ра­б о­т а­е т се­т е­в ое со­е динение, об­ нов­ление брау­зе­р а не по­м о­жет. Я бы по­про­б о­ вал несколь­ко Live-ди­с т­ри­бу ­т и­вов, же­ла­т ель­но не на ба­зе Ubuntu, и по­смот­рел, оста­ет­ся ли про­ бле­ма в дру­гих ди­ст­ри­бу­ти­вах. Ес­ли они за­пуска­ют­ся без про­блем, по­хо­же, это про­грамм­ная ошиб­ка, и Вам долж­на по­мочь уста­ нов­к а бо­лее поздней вер­сии (пе­реуста­нов­к а то­ го же са­мо­го ди­ст­ри­бу­ти­ва не по­мо­жет – это ра­бо­

та­ет толь­ко в Windows, и толь­ко в крат­ко­сроч­ной пер­с пек ­т и­в е). Так мы пе­р е­хо­д им к сле­д ую­щ ей час­т и пись­ма: как за­пи­с ать об­ра­зы CD или DVD на USB-бре­лок. Про­сто ско­пи­ро­вать фай­лы нель­ зя: нуж­но пе­ренести и за­гру­зоч­ные сек­то­ры. Про­ стей­ший ва­ри­ант для LXFDVD – восполь­зо­вать­ся скрип­том dvd2usb.sh, как Вы уже уз­на­ли, но для это­го нуж­на про­грам­ма Dialog. Это стан­д арт­ный па­кет, ко­то­рый мож­но уста­но­вить из менед ­же­ра па­ке­тов лю­бо­го ди­ст­ри­бу ­ти­ва. Вы не на­пи­са­ли, ка­ким ди­ст­ри­бу­ти­вом поль­зуе­ тесь, но ес­ли это Ubuntu, то Dialog на ­хо­дит­ся в па­ ке­те dialog, ко­то­рый мож­но уста­но­вить из Software Centre, Synaptic или из тер­ми­на ­ла ко­ман­дой: sudo apt-get install dialog Су­ще­ст­ву­ет и бо­лее об­щая про­грам­ма для пре­ об­ра­зо­в ания CD/DVD в USB – Unetbootin (http:// unetbootin.sourceforge.net), ко­то­рую так­же мож­но за­гру­зить из Software Centre. С ее по­мо­щью мож­ но пре­об­ра­зо­вать боль­шин­с т­во Live-ди­с т­ри­бу ­ти­ вов в за­гру­зоч­ные USB-брел­ки.

6 Ди­ст­ри­бу­тив для про­кси

В

У ме­ня есть ста­рый 32‑бит­ный ком­пь­ю­тер, и я хо­ч у пре­вра­тить его в про­кси-сер­вер. Не мог­ли бы вы по­со­ве­то­вать, ка­ким ди­ст­ ри­бу ­ти­вом луч­ше восполь­зо­вать­ся? Ян Фле­минг [Ian Fleming]

О

На Ваш во­прос от­ве­т ить непро­с то, так как Вы не ука ­з а ­ли на ­зна­ч ения сво­е го сер­ве­ра. Ес­ли это web-про­кси, то в лю­ бом ди­с т­ри­бу ­т и­ве мож­но уста­но­вить Squid (су­ ще­с т ­ву ­ю т и дру ­г ие web-про­кси, но Squid – са­ мый по­пу­ляр­ный). Вам ну ­жен про­сто web-про­кси

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

94  |  LXF162 Октябрь 2012


Ответы но вклю­ч ить до­п олнитель­н ые оп­ц ии – от ан­т и­в и­р усно­г о ска­ нера до VPN-сер­в е­р а и глав­н о­ го кон­трол­ле­ра до­ме­на Windows. В осно­ве ClearOS ле­ж ит CentOS, осно­ван­ный на Red Hat Enterprise Linux, так что у него со­л ид­н ый фундамент. Все управ­ление осу­ще­ст­в­ля­ет­ ся че­р ез web-ин­т ер­ф ейс; по­с ле уста­нов­ки мож­но по­с та­вить сер­ вер в уго­лок и от­к лю­чить от него кла­виа­т у­ру и монитор – для сча­ стья ему бу­д ет доста­точ­н о пи­ тания и се­т е­в о­г о под­к лю­ч ения. Что­б ы по­н ять, удов­л е­т во­р я­ > ClearOS пре­вра­ща­ет ста­рый ком­пь­ю­тер в удоб­ный ин­тер­нет-шлюз с web-про­кси и мно­ги­ми дру­ги­ми сер­ви­са­ми. ет ли он Ва­ш им по­т реб­н о­с тям, восполь­з уй­т есь лю­б ез­н о пре­ с кэ­ши­ро­в анием или нуж­ны и до­полнитель­ные достав­лен­ной раз­ра­бот­чи­ка­ми де­мо-вер­си­ей. От­ воз­мож­но­сти, на­по­до­бие фильт­ра­ции кон­тен­та? крой ­т е в брау ­з е­р е ад ­р ес https://demo1.clearos. Су­ще­с т­ву­ют ди­с т­ри­бу ­т и­вы, пред­на­зна­чен­ные com:81/app/dashboard и зай­ди­те в сис­те­му с поль­ имен­но для этой це­ли –пре­вра­щения ста­ро­го (или зо­ва­те­лем get и па­ро­лем clear. Вы­бе­ри­те под ­хо­д я­ не очень) ком­пь­ю­те­ра в ин­тернет-шлюз с несколь­ щий язык ин­тер­фей­с а – по умол­чанию, ви­ди­мо, ки­м и сер­в и­с а­м и, в том чис ­л е с про­кси-сер­в е­ вклю­ча­ет­ся по­следний ис­поль­зо­ван­ный. ром или фильт­ром. Один из них – ClearOS, ранее В раз ­д е ­л е за­г ру ­зок так ­же содержатся об­р а­ из­вест­ный как ClarkConnect. Его все еще мож­ зы вир­т у­а ль­ных ма­шин VMware и VirtualBox – это но най­ти на сай­тах www.clarkconnect.com и www. еще один хороший спо­соб по­зна­ко­мить­ся с ди­ст­ clearfoundation.com/Software/overview.html. ри­бу ­ти­вом пе­ред уста­нов­кой на ре­а ль­ный ком­пь­ ClearOS – ди­с т­ри­бу­тив ин­тернет-шлю­за, в ко­ ю­тер. Ес­ли Вы собираетесь по­про­бо­вать сис­те­му то­ром есть все, что Вам нуж­но, и мно­гое дру­гое. на од­ном из бес­плат­ных про­д ук­тов VMware, сле­ Воз­мож­но, «мно­гое дру­гое» Вам по­к а неза­чем, дует за­гру­зить вер­сию VMware Basic, а не VMware но при­я т ­но знать, что при необ­хо­д и­мо­с ти мож­ Enterprise. |

По­мо­ги­те нам по­мочь вам Еже­ме­с яч­но мы по­л у­ча­ем несколь­ко пи­с ем, на ко­то­рые не в состоянии от­ве­т ить, так как про­бле­ма опи­са­на в них недоста­точ­но пол­но. Что­бы дать вам наи­луч­ший от­вет, нам нуж­но знать как мож­но боль­ше. Ес­ли у вас по­яв­ля­ет­ся со­об­щение об ошиб­ ке, приведи­те его точ­н ый текст и опишите кон­к рет­ные усло­вия, когда оно по­яв­ля­е т­с я. При возникновении про­бле­мы с уст­рой­с т­ва­ ми пере­числи­те нам все уста­нов­лен­ные уст­ рой­ст­ва. Ес­ли Linux уже за­пу­щен, мо­же­те при­ менить для этого отлич­ную про­грам­му Hardinfo (http://hardinfo.berlios.de/) – она со­хранит под­ роб­ную ин­фор­ма­цию об уст­рой­с т­вах и о со­ стоянии сис­т е­м ы в HTML-файл, который вы смо­же­те при­ло­жить к своему пись­му. Аль­ тер­на­т ив­ный и не менее удоб­ный ва­ри­а нт – lshw (http://ezix.org/project/wiki/HardwareLiSter). Од­на из этих программ долж­на быть включена в ва­ш ди­ст­ри­бу ­ти­в (а то и обе). Ес­ли вы не хо­ти­те или не мо­же­те их уста­но­ вить, вы­полните сле ­д ую­щ ие ко­ман­д ы в тер­ ми­н а ­л е от имени root и при ­л о­ж и ­т е файл system.txt к пись­м у. Это здо­р о­в о по­м о­ж ет ди­аг­но­сти­ке. uname -a >system.txt lspci >>system.txt lspci -vv >>system.txt

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

Уда­лен­ные ра­бо­чие сто­лы »»Я хо­чу под­к лю­чать­ся к до­ машнему ком­пь­ю­те­ру с ра­бо­ты и за­пускать на нем гра­фи­че­­ское при­ло­жение, на­при­мер, поч­то­вый кли­ент. Это воз­мож­но? Да. Су ­щ е­с т ­в у­е т два основ­н ых спо­со­б а решения вашей задачи и несколь­ко ва­ри­ан­тов для ка­ж ­до­ го из способов. »»И что это за спо­со­бы? Пер­вый – пе­ре­на­прав­ление X, ко­то­ рый луч­ше все­го под­хо­дит для той си ­т уа­ции, когда на обо­и х ком­пь­ю ­ те­рах уста­нов­лен Linux. Он ра­бо­та­ ет че­рез SSH. В уда­лен­ной обо­лоч­ке за­пуска­ет­ся про­грам­ма, ото­бра­жае­ мая на локаль­ном ра­бо­чем сто­ле. На­при­мер: ssh -X me@my.home.computer kmail Па­р а­м етр -X оз­н а­ч а­е т, что ssh долж­на ис­поль­зо­вать пе­ре­на­прав­ ление X.

»»Это все, что нуж­но для за­ пуска про­грам­мы на локаль­ном ком­пь­ю­те­ре? Стро­г о го­в о­р я, про­г рам­м а за­ пуска­е т­с я на уда ­л ен­н ом ком­п ь­ ю­т е­р е, но ее ок­н о ото­б ра­ж а­е т­с я в локаль­н ой сис­т е­м е. Воз­м ож­н о, по­н а­д о­б ит­с я из­м енить па­р а­м етр X11Forwarding на yes в фай­ле /etc/ ssh/sshd_config. »»А ес­ли нуж­но ото­бра­зить весь ра­ бо­чий стол? Мож­но ли это сде­лать, пе­ре­на­пра­вив X? Да – от­крыв но­вый се­анс ра­бо­че­го сто­ла, ко­то­рый бу­дет ото­бра ­жать­ся на локаль­ном ком­пь­ю­те­ре. »»Это не од­но и то же? Ес­ли оста­ вить про­грам­му за­пу­щен­ной и по­про­бо­вать по­ра­бо­тать с ней, то ниче­го не по­лу­чит­ся, вер­но? Нет, для это­го вам по­на­до­бит­ся про­

грам­ма уда ­лен­но­го ра­бо­че­го сто­ла, как в том слу­чае, ес­ли бы на локаль­ ном ком­пь­ю­т е­р е стоя­л а Windows. Са­мый рас­про­странен­ный ва­ри­ант – VNC (Virtual Network Computer – вир­ ту­а ль­ный се­те­вой ком­пь­ю­тер). Это кли­ент-сер­вер­ная сис­те­ма, в ко­то­ рой на уда ­лен­ном ком­пь­ю­те­ре за­ пуска­ет­ся сер­вер VNC, а на локаль­ ном – кли­ е нт. На сай­ т е www. realvnc.com мож­н о най­т и па­к е­т ы для всех рас­п ро­с транен­н ых ОС, и вы смо­же­те под­к лю­чить­с я к ра­ бо­че­му сто­лу в Linux с ком­пь­ю­те­ра с Windows или Mac и на­обо­рот. »»Ка­кая про­грам­ма мне понадобится? В KDE уже есть все необ­хо­д и­мое, так как в ней есть RFB (Remote Frame Buffer – уда ­лен­ный бу­ф ер кад ­р а). RFB – про­то­кол, ис­поль­зуе­мый VNC и со­вмес­ти­мы­ми сис­те­ма­ми. В дру­

гих ди­ст­ри­бу ­ти­вах уста­но­ви­те па­кет VNC или TightVNC из ре­по­зи­то­ри­ев. »»В чем разница ме­ж­ду VNC и TightVNC? VNC – вер­с ия-ори­г и­н ал, TightVNC (www.tightvnc.com) – вер­с ия с оп­ ти­ми­зацией для медлен­ных со­еди­ нений (с бо­лее силь­ным сжа­тием). »»Име­ет ли зна­чение ши­ри­на ка­на­ ла? Бу­дет ли это ра­бо­тать че­рез мо­ дем­ную связь? Ото­бра­жение ра­бо­че­го сто­ла и син­ хрониза­ц ия из­м енений тре­б у­е т боль­шой ши­ри­ны ка­на­ла, и мо­дем­ ное со­единение не под ­хо­дит. По­дой­ дет ши­ро­ко­по­лосное под­к лю­чение, но помните, что ка­кой бы вы­со­кой ни бы­ла вхо­д я­щ ая ско­рость ADSLсо­е динения, ис­х о­д я­щ ая вряд ли пре­в ы­ш а­е т 384 кбит/с, по­э то­м у луч­ш е восполь­з о­в ать­с я TightVNC. При необ­хо­ди­мо­сти умень­ши­те раз­ мер эк ­р а­н а и из­б авь­т есь от все­г о спо­соб­но­го уве­ли­чить объ­ем пе­ре­ да­вае­мых дан­ных.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 95


Луч­шие в ми­ре про­грам­мы с от­кры­тым ко­дом

LXFHotPicks MusE » expect-Lite » StressItOut » Poezio » Revelation » Functy » Super Grub2 » gShogi » Pax Britannica » PDF Cube » Calise

Ник Вейч

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

Му­зы­каль­ный се­к­вен­сор

MusE

Вер­сия 2.0 Сайт http://muse-sequencer.org

Н

а рын­ке пол­ным-пол­но му­зыкаль­ ных се­к­вен­с о­р ов для Linux, од­ на­ко о зна­ком­с т ­ве с MusE оп­ре­ де ­лен­но сто­и т за ­д у ­мать­с я. Ес ­ли вы еще о нем не слы­ша­ли, это, ве­ро­ят­но, из-за то­ го, что он на­хо­дил­ся в сво­его ро­да спяч­ке око­ло двух лет, по­ка его ав­то­ры тру­ди­лись над уди­ви­тель­ным об­нов­лением. Для на­ча ­л а, в нем со­вер­ш ен­но но­вый ре­д ак ­т ор пар­т и ­т у ­р ы и эму­л я ­т ор DX11 – что яв­н о взвол­н у­е т неко­т о­рую часть ау­ ди­то­рии – и пол­ный пе­ре­ход на Qt4, спо­ соб­с т­в о­в ав­ш ий улуч­ш ению не толь­к о внешнего ви­да, но и ка­че­­ст­ва ра­бо­ты. Есть

и менее за­м ет­н ые из­м енения; основ­н ое из них – то, что те­перь MusE по умол­чанию ис­поль­зу­ет ау­дио­сер­вер Jack. Та­ким об­ра­ зом, ну­жен сам Jack, и он дол­жен быть за­ пу­щен до то­го, как вы при­с ту­пи­те к ра­бо­ те с MusE. Сто­ит так­же учесть, что на­строй­ка Jack мо­ж ет ока ­з ать­с я за­ко­в ы­р и­с той по час­

> Ре­дак­тор пар­ти­ту­ры — ос­нов­ное нов­ше­ст­во, до­бав­лен­ное в MusE 2.

«Те­перь MusE по умол­ ча­нию ис­поль­зу­ет ау­дио­сер­вер Jack.»

Ис­сле­ду­ем ин­тер­фейс MusE Ме­ню

Ме­ню очень об­шир­ны, но об­ра­ ти­те ис­к лю­чи­тель­ное внимание на ме­ню Window.

Эле­мен­ты тре­ка

Эти об­нов­лен­ные знач­ки по­мо­г ут вам скрыть или по­ка­зать оп­ре­де­ лен­ные эле­мен­ты те­к у­ще­го тре­ка.

Панель спи­ска тре­ков

Она по­ка­зы­ва­ет, ка­кие ин­с т­ру­ мен­ты вы за­гру­зи­ли.

Рас­чет вре­мени

Са­мая важ­ная ин­фор­ма­ция по син­хрониза­ции за­д а­ет­ся здесь.

Ре­дак­ти­ро­вание

Мож­но ре­д ак ­ти­ро­вать от­дель­ ные час­ти, два­ж ­ды щелк­нув по тре­к у.

Пла­ги­ны

Здесь име­ет­ся мно­же­с т­во пла­ ги­нов и окон до­полнитель­ной ин­фор­ма­ции.

ти раз­р е­ш ений, и ес­л и вы не слы­ш и­т е от MusE зву­ко­во­го сиг­на­ла, вам в пер­вую оче­редь, ве­ро­ят­но, сто­ит про­ве­рить имен­ но их. При же­лании мож­но за­ста­вить про­ грам­му вер­нуть­ся к драй­ве­рам ALSA. Для хранения тре­ков MusE ис­поль­зу­ет соб­ст­вен­ный фор­мат фай­лов MED, и по­ка что вы не най­де­те ни при­ме­ров, ни де­мовер­с ий это­го фор­ма­т а. Од­на­ко он так ­же уме­е т им­пор­т и­ро­в ать стан­д арт­ные фай­ лы .midi, хо­т я они – что оче­вид­но – бу­д ут от­сут­ст­во­вать в адап­та­ци­ях под MusE; тем не менее, это непло­х ая от­прав­н ая точ­к а для ва­ших экс­пе­ри­мен­тов. MusE доста­точ­но лег­ко ком­пи­ли­ру­ет­ся из ис­ходника. В на­с тоя­щее вре­мя он ис­ поль­зу­ет сис­те­му Cmake, так что вам при­ дет­ся про­де­лать обыч­ные mkdir build cd build cmake ../ make make install Име­ет­ся несколь­ко за­ви­си­мостей – сре­ ди них и кри­т и­че­­ски важ­ные, и не очень. Ес ­л и вы уже ком­пи ­л и­р о­в а ­л и дру ­г ие ау­ диопро­грам­мы, они у вас, ве­ро­ят­но, есть, но в лю­бом слу­чае, со­об­щения об ошиб­ках доста­точ­но ин­фор­ма­тив­ны. MusE вы­бра ­л и мно­г ие ди­с т­р и­бу ­т и­в ы, и к мо­мен­т у, когда вы бу­де­те чи­т ать этот ма­те­ри­а л, вы уже смо­же­те най­ти его в ва­ шем обыч­ном ре­по­зи­то­рии.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

96  |  LXF162 Октябрь 2012


LXFHotPicks Сис­тем­ный ин­ст­ру­мент

expect-Lite Вер­сия 4.3.1 Сайт http://expect-lite.sourceforge.net

Н

а­п и­с ание сис­т ем­н ых скрип­т ов долж­но быть не про­бле­мой, а ис­ тин­н ым на­с ла ­ж ­д ением! Ну, хо­ ро­шо, как минимум, оно не долж­но быть за­д а­ч ей, над ко­т о­р ой при­х о­д ит­с я дол­ го скре­с ти в за­тыл­ке. Expect-Lite по­лу­чил свое на­звание от досто­поч­тен­ной команд­ ной ути­ли­т ы expect от До­на Лайб­с а [Don Libes]. Expect бы­ла соз­д а­на для пре­одо­ ления час­то встре­чаю­щей­ся в сис­тем­ных скрип ­т ах про­б ле­мы – ожи­д ание и об­р а­ бот­к и неко­т о­р ой воз­вра­щ ен­н ой ве­ли­чи­ ны от вы­пол­няе­мой ко­ман­ды. А при ра­бо­те со вся­ки­ми се­те­вы­ми за­мо­роч­ка­ми это ак­ ту­а ль­но как нигде и никогда. Как пра­ви­ло, expect си­дит в ка­на­ле stdout, в ожи­д ании то­го, на что он и рас­счи­ты­ва­ет – ну там, па­ ро­ля или под­твер­ж дения со­единения. Expect-Lite за­шел чуть даль­ше, раз­ра­бо­ тав сре­д у скрип­тов. Вы, как и рань­ше, ис­ поль­зуе­те стан­д арт­ные ко­ман­ды обо­лоч­ ки, но им пред­ше­с т ­ву­ет ин­ди­к а­тор < или >, что­бы ука ­з ать, ко­ман­д а это вво­д а или

вы­во­да. Вре­мя ожи­дания (ука­зан­ное в ви­ де циф­ро­вой ве­ли­чи­ны в се­к ун­д ах по­с ле зна­ка @) обес­пе­чи­ва­ет нор­маль­ную ра­бо­ ту скрип­та – он бу­дет ждать ров­но столь­ко, сколь­ко на­до, та­ким об­ра­зом из­бе­гая ка­ ких-ли­бо про­блем. Обыч­ный скрипт мо­жет вы­гля­деть при­мер­но так: >ssh root@host-021 <assword: >>secret_password # issue a command once logged in >ls >exit За­пуск скрип­та бу­дет по-прежнему пе­ ре­к и­д ы­в ать вы­х од­н ые дан­н ые неулов­ лен­ных команд в обо­лоч­к у, и вы смо­же­те от­с ле­ж и­вать все, что про­ис­хо­дит. Фак­ти­

> По­ла­га­ем, вы со­чте­те этот ин­ст­ру­мент для соз­да­ния скрип­тов до­воль­но удоб­ным и по­лез­ным.

«Expect-Lite за­шел даль­ ше, раз­ра­бо­тав сре­ду соз­да­ния скрип­тов.»

че­­с ки, есть да ­же спе­ц и­а ль­н ый ком­м ен­ та­р ий, ко­т о­р ый так ­ж е вы­в о­д ит дан­н ые в stdout. По­ми­м о по­д об­ных про­с тых ве­ щей, вы так ­же смо­же­т е соз ­д а­в ать внут­ ри сво­его скрип­та цик­лы и функ­ции. Это доста­т оч­н о про­с то, и бо­л ее чем по­н ят­ но опи­с а­н о в до­к у­м ен­т а­ц ии. Expect-Lite не про­п и­с ан вам по жизнен­н ым по­к а­ заниям. Он не де­ла­ет ниче­го та­ко­го, че­го нель­зя сде­лать в Bash че­рез ро­ди­тель­скую ко­ман­д у expect. Но ес­ли вы освои­те син­ так­сис, он смо­жет де­лать та­к ие скрип­т ы бы­ст­рее и про­ще для понимания.

Сис­тем­ный ин­ст­ру­мент

StressItOut Вер­сия 0.1 Сайт http://bit.ly/NAOfcT

Е

сть мно­же­с т­во ин­с т­ру­мен­тов, при­ год­н ых для тес­т и­р о­в ания про­ из­в о­д и­т ель­н о­с ти обо­р у­д о­в ания, по ка­кой бы при­чине вы ни ре­ши­ли ее про­ ве­рить. Тес­ты па­мя­ти, тес­ты на­ко­пи­те­лей и за­д а­чи, на­гру­жаю­щие CPU, мо­г ут по­ка­ зать, как ра­бо­та­ет сис­те­ма и спо­соб­на ли она об­ра­ба­ты­вать оп­ре­де­лен­ные про­цес­ сы, или да­же про­с то ра­бо­т ать так дол­го, как это необ­хо­ди­мо для вы­полнения оп­ре­ де­лен­ной за­да­чи. StressItOut несколь­ко иной. Его основ­ ная идея в том, что­бы по­мес­т ить сис­т е­ му в мак­си­маль­но стрес­со­вую си­т уа­цию, как и в боль­ш ин­с т­в е тес­т ов про­и з­в о­д и­ тель­но­с ти. Но здесь идея в тес­ти­ро­вании не основ­ных ком­понен­тов сис­те­мы, а за­ щи ­т ы обо­ру­до­вания – т.  е. очень хо­ро­шо, что ваш про­ц ес­с ор вы­п ол­н я­е т столь­к о опе­ра­ц ий в се­к ун­д у, но су­ме­е т ли он де­ лать это до бес­конеч­н о­с ти, не на ­д ор­в ав сис­те­му ох ­ла ­ж ­дения? StressItOut под­к лю­ч а­е т­с я к сен­с о­р ам, что­б ы от­с ле­ж и­в ать тем­п е­р а­т у ­р у (и все

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

> Един­ст­вен­ный зна­чи­мый ре­зуль­тат тес­ти­ро­ва­ния — то, что ваш ком­пь­ю­тер не спа­лит­ся.

«По­ка­мест ин­ст­ру­мент про­сто­ват, но уже весь­ма по­ле­зен.»

сия ком­пи­л я­т о­р а g++ (она у вас долж­н а быть); а еще по­н а­д о­б ят­с я ин­с т­р у­м ен­т ы раз­ра­бот­ки для Qt4 (обыч­но уста­нов­ка па­ ке­т а qt4‑dev-tools или по­доб­но­го ему ре­ шит про­бле­му). Про­грам­ма так ­же об­ра­ща­ ет­ся к биб­лио­те­ке libsensors, и ес­ли у вас возник­нут ошиб­ки ком­пи­ляци­и, сто­ит про­ ве­рить у се­бя на ­ли­чие их уста­нов ­лен­ной вер­сии раз­ра­бот­к и. Про­цесс ком­пи­ли­ро­ вания ис­поль­зу­ет qmake: qmake -makefile StressItOut.pro make По­с ле это­г о файл дол­жен ском­п и­л и­ ро­в ать­с я. Здесь нет оп­ц ии Install – про­ сто за­п усти ­т е тест пря­м о из те­к у ­щ ей ди­рек ­то­рии.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 97


LXFHotPicks Про­грам­ма об­ме­на со­об­ще­ния­ми Jabber

Poezio Вер­сия 0.7.5 Сайт http://poezio.eu/en

I

RC – это здо­ро­во. Так здо­ро­во, что лю­ ди про­д ол­ж а­ю т по­п ыт­к и изо­б рес­т и его за­но­во. Что, воз­мож­но, не очень ум­но. И это несмот­ря на на­ли­чие несколь­ ких сер­ви­с ов для об­ме­на со­о б­щ ения­ми, ко­то­рые так­же пре­восход­ны – на­при­мер, XMMP, или Jabber, по­сколь­к у он вам, ве­ро­ ят­но, зна­ком луч­ше. Этот про­то­кол об­ме­на со­о б­щ ения­ми под ­д ер­ж и­в а­е т са­мые раз­ ные ти­пы рас­ши­рений, так что вы смо­же­ те лег­ко уча­с т­во­вать в груп­по­вых об­су­ж­ дениях, или, на­при­мер, в об­мене фай­ла­ми. Ну пря­мо как, э-э, в IRC. Что ж, ав­то­ры Poezio ре­ши­ли дать сда­ чи. Эти лю­ди с их сим­па­тич­ны­ми но­вы­ми про­т о­ко­л а­м и об­м е­н а со­о б­щ ения­м и, ве­ ро­я т­н о, уже бо­л ее по­п у­л яр­н ы, чем IRC, хо­тя и не в состоянии по­хва­стать­ся той же про­сто­той. Poezio – кли­ент Jabber, который ра­бо­ тает в окне тер­м и­н а ­л а. Он пре­о б­р а­з у­е т функ­ции, об­щие для кли­ен­тов об­ме­на со­ об­щения­ми, в на­бор на ­жа­тий кла­виш и ко­ манд, зна­ко­мых всем имев­шим де­ло с IRC.

Так, на­п ри­м ер, спи­с ок мно­г о­п оль­з о­в а­ тель­ских об­ще­с т­вен­ных ча­тов на сер­ве­ре вы­ве­дет­ся про­сто по ко­ман­де /list server.name Ре ­з уль­т ат все­г о это­г о та­к ов: как бы вы ни об­щ а­лись с людь­ми, че­р ез Gajim, или Pidgin, или да­же Google Chat, все это бу­дет со­вер­шен­но так, как в IRC. Ес­т е­с т­в ен­н о, от­л и­ч ия име­ю т­с я, и эк­ ви­в а­л ент ко­м ан­д ы IRC есть не у все­г о, но в це­лом сре­да доста­точ­но хо­ро­шо под­ да­ет­ся на­с трой­ке и име­ет ис­к лю­чи­тель­но при­лич­ную до­к у­мен­та­цию, так что вы лег­ ко смо­же­те преобразовать все по собст­ венному вку­су. Это не про­с то при­моч­ка – Poezio очень быстр и удо­б ен в ис­поль­зо­в ании, а воз­ мож­н ость пе­р е­к лю­ч ать­с я ме­ж ­д у вклад­

> Вер­ни­те со­вре­мен­ный чат к его ис­то­кам с по­мо­щью Poezio и Jabber, сде­лав его чуть бо­лее эф­фек­тив­ным.

«Poezio – кли­ент Jabber, ра­бо­таю­щий в ок­не тер­ми­на­ла.»

ка­ми, ото­бра ­жаю­щи­ми раз­ные ка­на ­лы об­ щения, ве­ро­ят­но, несколь­ко эф­фек ­тивнее по­пы­т ок най­т и нуж­н ое ок­н о на ра­б о­ч ем сто­ле Ubuntu. Од­на­ко, пре­ж ­де чем за­пустить его, сто­ ит по­тра­тить неко­то­рое вре­мя на ре­дак ­ти­ ро­вание фай­ла на­строй­ки. Ина­че вы не уй­ де­те даль­ше соз­дания аноним­ной учет­ной за­пи­си на тес­то­вом сер­ве­ре – уже непло­хо, но бы­ло бы на­мно­го по­лезнее и удобнее иметь на­с тоя­щ ую учет­н ую запись Jabber там, где с ним мож­но свя­зать­ся. Ком­пи­ля­ ция Poezio не принадлежит к са­мым про­ стым, но есть под­сказ­к а – чи­т ай­те файл README!

Менед­жер па­ро­лей

Revelation Вер­сия 0.4.14 Сайт http://revelation.olasagasti.info

Н

и дня не про­хо­дит без со­об­щений о том, что некий сайт ли­ш ил­с я всей сво­ей поль­зо­ва­тель­ской ба­ зы дан­ных. В неко­то­рых слу­ча­я х они на­ столь­ко пло­хо за­ш иф­р о­в а­н ы, что во­р ы за су ­тки по­лу­ча­ют все име­на поль­зо­ва­те­ лей и па­ро­ли. А это про­б ле­ма, осо­бен­но для тех, кто ис­поль­зу­ет один и тот же па­ роль для всех сай­тов – или его про­стые ва­ риа­ции. Что вполне объ­яснимо, по­сколь­ ку – по­смот­рим прав­де в гла­за – вы ведь вряд ли бу­д е­т е за­п о­м и­н ать слу­ч ай­н ый ряд из 20 сим­во­лов для ка ­ж ­до­г о сер­ви­ са (кста­т и, этот трюк на­с чет fellwifesub­ stanceexcite, конеч­но, луч­ше, чем ниче­го, но у обыч­но­го анг­лий­ско­го тек­с та эн­т ро­ пия очень низ­кая). Итак, сек­р ет в том, что­б ы соз­д ать дей­с т­ви­т ель­но слу­чай­ный па­роль, нечто вро­де gUЈTi73gtyu;;-, а по­том най­ти то, что бу­дет его для вас помнить. Ес­ли сайт взло­ ма­ют, один-то па­роль вы по­те­ряе­те, за­то про­чие ва­ши учет­ные за­пи­си бу­д ут в безо­

пас­но­с ти. Revelation не толь­ко со­х ра­ня­ет ва­ши па­ро­ли, но и оценива­ет их на «взла­ мы­вае­мость», и да ­же уме­ет генери­ро­вать для вас но­вые. Хранение и доступ к па­ро­ лям (а так­же и PIN-ко­дам) осу­ще­ст­в­ля­ет­ся че­рез ин ­тер­фейс в ви­де спи­ска. Ка ­ж ­д ый па­роль мо­жет при­над ­ле­ж ать к ря­д у раз­ лич­ных ка­те­го­рий, что не толь­ко об­лег­ча­ет сор­ти­ров­к у, но и да­ет воз­мож­ность сво­его ро­д а кон­тек­с т­но­го ис­поль­зо­вания – мож­ но, на­п ри­м ер, щелк ­н уть по web-па­р о­ лям, что­бы вас пе­ре­ве­ли на со­от­вет­ст­вую­ щую web-страницу в ва­ш ем брау­з е­р е по умол­чанию. Здесь как раз и кро­ет­ся неко­то­рая про­ бле­ма при­ло­жения – в нем нет пря­мой ин­ те­гра­ции с web-брау­зе­ром (что, че­ст­но го­

> fellwifesubstanceexcite — все же не са­мый луч­ший па­роль.

«Ка­ж­дый па­роль мо­жет при­над­ле­жать к ря­ду раз­лич­ных ка­те­го­рий.»

во­ря, реа­ли­зо­вать не так-то про­сто), и вам при­дет­ся вы­ре­з ать и ко­пи­ро­вать – не так удоб­но, как при управ­лении па­ро­ля­ми са­ мим брау ­з е­р ом, но за­т о... слу ­ч а ­л ось ли вам те­рять все дан­ные брау­зе­р а? Иметь ре­зерв­ную ко­пию всегда на поль­зу. Все дан­н ые, со­х ра­н яе­м ые про­г рам­ мой, под­вер­га­ют­ся шиф­ро­ванию вы­со­ко­ го уров­ня, и по­ка вы помните глав­ную ко­ до­вую фра­зу, они за­щи­ще­ны да­же луч­ше, чем ва­ше жи ­ли­ще. Глав­ное, что­бы никто не взло­м ал ваш ком­п ь­ю­т ер на фи­з и­ч е­ ­ском уровне.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

98  |  LXF162 Октябрь 2012


LXFHotPicks Про­грам­ма для 3D-гра­фи­ки

Functy Вер­сия 1.25 Сайт http://functy.sourceforge.net

Н

е­ко­то­рые во­об­ра ­жа­ют, что сто­ит им гля­нуть на уравнение или таб­ ли­ц у с циф­ра­ми, и они пред­с та­ вят се­бе трех­мер­ную кар­ти­ну, опи­с ан­ную ими. Что ж, им по­вез­ло. Го­тов по­спо­рить, им есть что по­рас­ска ­зать на ве­че­рин­к ах. А для осталь­ной час ­т и все ­лен­ной нуж ­на ка­кая-то про­грам­ма ви­зуа ­ли­за­ции, и ес­ли вам нуж­но что-то ви­зуа ­ли­зи­ро­вать, за­чем ме­ло­чить­ся? Бе­ри­те Functy! В от­ли­чие от льви­ной до­ли бо­лее, э-э, ака­де­ми­че­­с ких про­г рамм, Functy не счи­ та­ет за­зор­ным ото­бра­жать ве­щи ужа­саю­ ще и восхи­ти­тель­но реа­ли­стич­но. По этой при­ч ине здесь ак ­т ив­н о ис­п оль­з у­е т­с я OpenGL для рас­к рас­к и и рен­де­рин­г а фи­ гур, при­чем на­столь­ко де­таль­ных, что фи­ гу­ры вы­гля­д ят ре­а ль­ны­ми фи­зи­че­­ски­­ми объ­ек ­та­ми. Конеч­н о, Functy яв­л я­е т со­б ой нечто боль­шее, чем про­сто иг­руш­к у для генери­ ро­в ания эта­к их завлека­т ель­н ых кра­ сот. С ее по­м о­щ ью мож­н о сде­л ать мно­ же­с т­во цен­ных ве­щей. Но – да, боль­ш ую

часть вре­м ени вы по­т ра­т и­т е на воз­н ю с соз ­д анием вся­че­­с ких эф­ф ект­ных зре­ лищ. Все это еще бо­лее впе­чат­ля­ет, когда вы об­на­ру ­ж и­вае­те, что ва­шим уравнени­ ям не обя­за­тель­но быть ста­тич­ны­ми – они мо­г ут вклю­ч ать функ­ц ию t; встре­ч а­е м анима­цию! По­ми­мо ис­ход­но­го ко­да Functy, вам по­ на­д о­б ит­с я ском­п и­л и­р о­в ать биб­л ио­т е­к у сим­во­лов (с то­го же сай­т а); и еще ну­жен об­н ов­л ен­н ый па­к ет OpenGLtype. В пре­ ам­бу­ле на­с трой­к и не уч ­те­на од­на вещь – биб­л ио­т е­к а рас­ш и­р ений GLee, ко­т о­р ая не всегда уста­нав­ли­ва­ет­ся по умол­чанию, так что про­верь­те ее на­ли­чие, ес­ли у вас поя­вят­с я ошиб­к и ком­пи­ля­ц ии. Ав­тор со­ об­щ а­е т, что ему да ­же уда ­л ось успеш­н о ском­пи­ли­ро­вать и за­пустить ее в Raspber­

> Functy пре­вра­ща­ ет ге­не­ри­ро­ва­ние при­гляд­ных объ­ек­ тов в раз­вле­че­ние.

«Ав­то­ру уда­лось ском­ пи­ли­ро­вать и за­пус­ тить ее в Raspberry Pi.»

ry Pi на Debian/ARM, так что у вас не долж­ но быть ника­ких про­блем, ка­ким бы обо­ру­ до­ванием вы ни поль­зо­ва ­лись. Весь­ма необыч­ным для по­доб­но­го ро­ да про­г рамм яв­ля­е т­с я от­лич­ная под­бор­ ка фай­л ов-при­м е­р ов, что зна­ч и­т ель­н о об­лег­ча­ет освоение про­грам­мы и, естест­ венно, по­зво­ля­ет осоз­нать, на что спо­соб­ на Functy. Со­хранен­ные фай­лы – это про­ сто XML, и, че­с т ­но го­во­ря, иногда про­ще сгенери­р о­в ать нуж­н ые объ­е к ­т ы, непо­ сред­с т ­в ен­н о их на­п и­с ав, чем щел­к ать по бес­конеч­ным диа­ло­го­вым ок­нам в са­ мой про­грам­ме. Но, воз­мож­но, это сугубо мое лич­ное.

Ути­ли­та

Super Grub2 Вер­сия 2 Сайт http://bit.ly/dMDCIh

В

оз­м ож­н о, у вас никогда не бы­ ло про­б лем с за­г руз­к ой Linux – по крайней ме­ре, та­ких, что тре­бо­ ва­ли бо­лее ра­дикаль­ных мер, чем вы­бор бо­лее ранней вер­сии яд­ра в ме­ню за­груз­ ки. Од­на­ко иногда сис­те­ма на­чи­на­ет сбо­ ить, осо­б ен­н о ес ­л и вы до­б а­в и ­л и но­в ые дис­к и или уста­н о­в и ­л и несколь­к о вер­ сий Linux на од­ном ком­пь­ю­те­ре (или соз­ да­ли раз­де­лы Windows или Mac) и хо­ти­те за­пустить од­ну из них. Grub 2 – про­грам­ ма за­г руз­к и, ко­т о­р ая ре­ш а­е т та­к ие про­ бле­мы за вас, а Super Grub2 – за­гру­зоч­ный диск удоб­но­го раз­ме­ра, по­зво­ляю­щий вам по­иг ­р ать с Grub 2. Мы долж­ны осте­речь вас от то­го за­блу­ж ­дения, что Super Grub2 яв­л я­е т­с я но­в ой вер­с и­е й пре­в осход­н о­г о дис­к а Super Grub disc. Это од­н о­в ре­м ен­ но и вер­но, и невер­но. Про­грам­ма за­груз­ ки Grub неко­то­рое вре­мя на­з ад пе­ре­ш ла в вер­с ию 2, бу­д у ­ч и зна­ч и ­т ель­н о пере­ пи­с ан­н ой, что не толь­ко при­д а­ло ей уй­ му но­вых функ­ций, но и ра­зо­рва­ло связь

с бо­лее ранними вер­сия­ми Grub. Есть мно­ же­ст­во ди­ст­ри­бу ­ти­вов, ко­то­рые ис­поль­зу­ ют од­н у из этих вер­сий – ли­бо ни од­ной. Диск Super Grub по-прежнему су­ще­ст­ву­ет, но Super Grub2 соз­д ан на ба­зе этой но­вой вер­сии про­грам­мы-за­груз­чи­ка. Ес ­ли вы хо­т и ­т е при­ме­нять его в ка­че­ ­с т­ве спа­са­тель­но­го дис­ка, знай­те, что ис­ поль­зо­вание им но­вой вер­сии Grub не оз­ на­ча­ет, что нель­зя за­гру­зить бо­лее ста­рые вер­сии сис­тем или дру­гие сис­те­мы, на­при­ мер, Windows, с его по­мо­щ ью. Пре­лесть Grub в том, что у него соб­с т­вен­ный на­бор команд для раз­ных за­д ач, на­при­мер, для досту ­па к об­раз­ам ОЗУ или вы ­у жи­в ания за­г ру ­зоч­но­г о ко­д а с ви­д и­мых им раз ­д е­ лов. Это так­же от­лич­ная сре­д а для тес­ти­

> Super Grub2 — ин­ст­ру­мент, ко­то­рый за­ста­вит ваш ком­пь­ю­тер нор­маль­но ра­бо­тать.

«Super Grub2 соз­дан на ба­зе но­вой вер­сии за­груз­чи­ка.»

ро­вания за­гру­зоч­но­го ко­да при ис­поль­зо­ вании нестан­дарт­но­го обо­ру­до­вания и для изу­чения ра­бо­т ы Grub 2. Он безо­па­с ен – в от­ли­чие от ста­ро­го дис­ка Super Grub, но­ вая вер­сия не мо­жет да­же ниче­го за­пи­сать в MBR; она про­сто ра­бо­та­ет. Эта но­в ая вер­с ия за­г ру ­ж а­е т­с я пря­м о с дис­ка это­го ме­ся­ца, но мож­но и ско­пи­ро­ вать ISO на но­си­тель USB.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 99


LXFHotPicks HotGames Развлекательные приложения Иг­ра сё­ги

gShogi Вер­сия 0.4.3 Сайт http://bit.ly/akZMFS

С

ё­г и [Shogi] – это тра ­д и­ц и­о н­ ная япон­с кая иг ­р а, по­х о­ж ая на шах ­м а­т ы. Сход­с т ­в о в том, что у вас есть фи­г у­ры, стоя­щ ие по обе сто­ро­ны доски, и цель за­к лю­ча­ет­ся в за­ хва­т е вра ­же­с ко­г о ко­р о­л я. Од­н а­ко раз­ ли­ч ий здесь, воз­м ож­н о, боль­ш е, чем сход­ст­ва. Осо­бен­но в том, как хо­д ят фи­ гу­ры. Есть и несколь­ко дру­гих стран­ных пра­вил. Ко­ро­че го­во­ря, это очень за­п у ­т ан­ная иг­ра, и вы по­тра­ти­те пер­вый де­ся­ток игр, раз­гром­но про­иг­ры­вая на пер­вых хо­д ах лю­бо­му оп­понен­т у, имею­ще­му пред­став­ ление о про­ис­хо­д я­щем. Но вы­у чи­те фи­ гу­ры и хо­ды, и она станет для вас не про­ сто све­ж ей аль­т ер­н а­т и­в ой шах­м а­т ам, а тон­кой и хит­рой иг­рой. В Linux уже есть на­бор движ­ков и ин­ тер­ф ей­с ов для иг­р ы в сё­г и, и gShogi стро­и т­с я на нем. По боль­ш ей час­ти он осно­ван на про­грам­ме GNUShogi, в ко­

то­рую мож­но непло­хо иг­рать, но gShogi име­ет ряд улуч­шений. Из­ме­няе­мый раз­мер иг­ро­во­го по­ля де­ ла­ет ее бо­лее приличествую­щей для по­ мещения на со­в ре­м ен­н ых на­с толь­н ых ПК, и она мо­жет со­х ра­нять и за­г ру­ж ать иг­ру в раз­лич­ных фор­ма­тах. Здесь так­же есть воз­мож­ность вы­бо­ра иг­ро­вых движ­ ков сё­г и – к сча­с тью, ин­т ер­ф ейс у них стан­дарт­ный, и gShogi упра­вит­ся со всем, что под ­дер­ж и­в а­е т Universal Shogi Inter­ face (USI). При движ­ке на C и сим­па­тич­ном ин­тер­ фей­се, на­пи­сан­ном на Python/GTK, gShogi объ­е­д инил луч­шее из обо­и х ми­ров для на­стро­ив­ших­ся по­иг­рать. Ус­та­нов­ка про­

> Под­сказ­ка для но­вич­ков: пе­ре­клю­чи­тесь на «за­пад­ные» фи­гу­ ры, что­бы по­нять, как они хо­дят.

«В Linux уже есть на­ бор движ­ков и интер­ фейсов для сёги.»

грам­мы про­ста, ес­ли ис­поль­зо­вать ин­ст­ ру­мен­ты Python, но вна­ча ­ле необ­хо­ди­мо вы­полнить ком­пи­ля­цию: sudo python setup.py build sudo python setup.py install На­б ор движ ­к ов для это­г о кли­е н­т а и ин­с т ­рук ­ц ии по уста­н ов­ке вы най­д е­т е на www.johncheetham.com/projects/gsho­ gi/usi.shtml.

Экшн

Pax Britannica Сайт http://paxbritannica.henk.ca

И

с­х о­д я из на­з вания, вы мог­ ли бы пред­ с та­ в ить нек ую осно­ван­н ую на тор­гов ­ле стра­ те­гию сра­жений за скуд­ные остат­ки ре­ сур­с ов в от­д а ­лен­ных кра ­я х, с бое­вы­ми броненосца­ми и стим-пан­ков­ским воо­ру­ жением. И ошиб­лись бы. Да, это стра­те­ гия, но со­вер­шен­но ино­го сор­та. Идея за­к лю­ча­ет­ся в том, что вы и дру­ гие иг­ро­ки, чис­лом не бо­лее 5, управ­ляе­ те сво­е го ро­д а под­вод­ным ору ­жей­ным за­во­дом. За­вод мо­жет про­из­во­дить один из трех ти­пов уст­ра­шаю­щих (для вра­гов, а не для зрителей) ко­раб­лей, и у ка­ж ­до­ го из них свое осо­бое ору­жие и воз­мож­ но­с ти. Для их по­с трой­к и нуж ­но до­быть ре­с ур­с ы, что тре­б у­е т вре­м ени. Же­л ая что-то по­с тро­ить, вы про­с то на ­ж и­мае­те од­ну-един­с т­вен­ную кла­ви­шу, необ­хо­ди­ мую для иг­ры, и от­пускае­те ее, когда ви­ зир по­па­да­ет в нуж­ный сек ­тор.

Эле­мен­т ы стра­те­г ии за­ви­с ят от то­го, за ­хо­т и ­т е ли вы по­т ра­т ить боль­ш е вре­ мени, что­б ы по­с тро­и ть бо­л ее мощ­н ые ко­р аб­л и (по­т ен­ц и­а ль­н о остав­л яя свой за­вод уяз­ви­мым для атак) или соз­д ать мно­ж е­с т­в о мел­к их ко­р аб­л ей, ко­т о­р ые обес­п е­ч ат неко­т о­р ую за­щ и ­т у и смо­г ут при­чинить неко­то­рый урон про­тивнику. Для пу­щей слож­но­сти, вы мо­же­те до­ быть боль­ше ре­сур­сов и улуч­шить свой за­вод, что­бы в бу­д у­щем про­из­во­дить ре­ сур­сы еще бы­ст­рее. В ре­ж и­ме иг­ры для двух иг­ро­ков вы, ско­рее все­го, мигом ухвати­те суть иг­ры и запросто по­бе­ди­те ис­к усст­вен­ный ин­

> Это как «Хо­ ро­ший. Пло­хой. Злой», толь­ко под во­дой и со слож­ ным ав­то­ном­ным воо­ру­же­ни­ем.

«Ис­пы­та­ни­ем ста­нет сра­же­ние с не­сколь­ ки­ми иг­ро­ка­ми.»

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

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

100  |  LXF162 Октябрь 2012


LXFHotPicks Ути­ли­та

Также вышли

PDF Cube

Новые и обновленные программы, тоже достой­ные внимания...

Вер­сия 0.0.5 Сайт http://code.100allora.it/pdfcube

Ч

то мо­жет сде­лать ваш и без то­го пре­восход­но сде­лан­ный до­к у­мент PDF еще кру­че? Его ото­бра­жение на 3D-куб! Это на­столь­ко оче­вид­но – да­же стран­но, что никто до это­го не до­д у­мал­ся рань­ше. О рен­де­рин­ге PDF за­бо­тит­ся биб­лио­те­ ка Poppler, ис­п оль­з уе­м ая все­ми осталь­ ны­ми про­г рам­м а­ми, ко­т о­рые управ­л я­ю т фай­ла­ми PDF, так что не пе­ре­жи­вай­те на­ счет эко­но­мии на внешнем ви­де и точ­но­ сти до­к у­мен­та. Ку­би­че­­ский эф­фект тре­бу­ ет на­ли­чия OpenGL. Она хо­ро­шо ра­бо­та­ет на обо­ру­до­вании NVidia на мо­ей ма­шине, но ва­ш и ре­з уль­т а­т ы мо­г ут быть ины­м и. Понят ­н о, что она бу­д ет ра­б о­т ать луч­ш е с бо­л ее бы­с т ­р ой ви­д ео­к ар­т ой, но да ­ж е ста­рые 3D-кар­ты долж­ны суметь нор­маль­ но ото­бра­зить вра­щаю­щий­ся куб. Эта про­г рам­ма раз­ра­бо­т а­на не про­с то как обыч­н ая про­г рам­м а про­с мот­р а PDF, а, ско­рее, как изящ­ный ви­зу­а ль­ный фо­ кус. Она на­це­ле­на на ра­бо­т у с аль­бом­ны­ ми PDF раз­ме­ра А4. Вы мо­же­те пре­доста­ вить ей дру­г ие PDF, и она их об­ра­бо­т а­ет,

Equake 1.0 Свое­вре­мен­ные пре­д у­пре­ж ­дения из сис­тем­но­го лот­ка о со­тря­сениях. www.e-quake.org

но ре­зуль­тат мо­жет от­ли­чать­ся от ожи­дае­ мо­го ва­ми. Как вид­но по но­ме­ру вер­сии, это ранний ре­лиз ко­да, и ав­тор счи­та­ет, что он на­хо­дит­ся на аль­фа-ста­дии, так что по­ ка не сто­ит уст­раи­вать на нем важ­ные кор­ по­р а­т ив­ные пре ­з ен ­т а­ц ии. Но все же это непло­хая про­грам­мка, и она ожи­вит скуч­ ную пре­зен­та­цию. Ком­п и­л я­ц ия довольно про­с та (по­н а­ до­бят­ся биб­лио­те­ки boost), а ес­ли вы ра­ бо­тае­те в Ubuntu, вы об­на­ру­жи­те, что там уже есть па­кет для pdfcube, ко­то­рый, ве­ ро­ят­но, бу­дет об­нов­лен до этой са­мой по­ следней вер­сии в бли­жай­шем вре­мени.

pertidy 20120701 Ук­рась­те свой код Perl са­мым про­с тым спо­со­бом. http://perltidy.sourceforge.net eko 0.7.1 За­чем все услож­нять? Eko – про­с той и эф­фек ­тив­ный зву­ко­вой ре­д ак ­тор. http://eko.sourceforge.net

> Про­стая про­грам­ма для соз­да­ния зву­ ко­вых сэм­п­лов ищет... поль­зо­ва­те­лей.

> Это как PDF, но в ку­бе!

Gnome Partition Editor 0.13 Не из­ме­няй­те раз­мер раз­де­лов ва­ше­го же­с т­ко­го дис­ка, не обзаведясь са­мой по­с ледней вер­сией! http://gparted.org

Ути­ли­та монито­ра

Calise

Veusz 1.16 Научный пакет для вывода графиков в виде готовых к печати файлов PDF. https://launchpad.net/veusz

Вер­сия 0.4 Сайт http://calise.sourceforge.net/wordpress/

И

с­ тинные про­фи ко­ди­ру­ют всле­ пую. Хотя это бывает небезопас­ но, осо­бен­но ес­ли на ва­шем сто­ ле вы­с трое­н ы го­р я­ч ие на­п ит ­к и – я счет по­те­рял слу­ча­ям, когда оку­нал CD в ко­фе. Но это все же луч­ше, чем когда я норовил от­фор­ма­ти­ро­вать дие­ти­че­­ское пе­че­нье. Про­б ле­ма офи­с ов в том, что фо­но­вое осве­щ ение из­м е­н я­е т­с я, и во из­б е­ж ание перена­пря­жения зрения вам, видимо, на­до бу­дет под­страи­вать яр­кость монито­ра так, что­бы она со­от­вет­ст­во­ва­ла осве­щению. Calise ра­бо­т а­ет, управ­ляя ва­шей ка­ме­ рой. Пе­рио­ди­че­­ски она бу­дет ее применять для из­ме­рения фо­но­во­го осве­щения и со­ от­вет­ст­вую­щей на­строй­ки яр­ко­сти ва­ше­го монито­ра. В идеа­ле это де­ла­ет­ся очень по­ сте­пен­но, по ме­ре из­менения осве­щения. Calise сидит в DBUS, и по ва­шим ши­ро­ те и дол­г о­т е хит­р о­у м­но вы­яс­ня­е т вре­м я восхо­д а и за­ка­т а (про­с то ис­поль­зуя биб­ лио­те­к у pyephem, но вы­гля­дит это как чу­

gfeedline 1.6.1 Об­нов­ление к кли­ен­т у Twitter, о ко­то­ром мы недав­но рас­ска­зы­ва ­ли. http://code.google.com/p/gfeedline

до). За­ч ем? А затем, что имен­н о тогда осве­щение ­ме­ня­ет­ся бы­ст­рее все­го. Воз­мож­но, подстройка яр­ко­сти монито­ ра под внешнее осве­щение и не сто­ит у вас в спи­ске неот­лож­ных дел, но по­про­буй­те – и вас уди­вит пе­ре­ме­на к луч­ше­му. Calise – до­воль­но слож­ная смесь скрип­ тов Python и ко­да С, с рядом за­ви­си­мо­стей, ко­то­рые вам, видимо, при­дет­ся ис­кать для сво­его ди­ст­ри­бу­ти­ва. К сча­стью, львиную долю это­го по­ясняет до­к у­мен­та­ция. |

> Пусть все точ­ки уля­гут­ся на сим­па­тич­ ный гра­фик с по­мо­щью Veusz 1.16.

> Еже­ми­нут­ные из­ ме­не­ния яр­ко­сти ра­бо­че­го сто­ла ото­ бра­зить до­воль­но слож­но, по­это­му вот вам изо­бра­же­ ние ути­ли­ты сис­ тем­но­го лот­ка.

psensor 0.7.0.1 Гра­фи­че­­ский монитор для критически важ­ных дат­чи­ков ма­те­рин­­ских плат. http://wpitchoune.net/blog/psensor LRZip 0.614 Серьез­ное исправление са­мой хруп­кой ути­ли­ты ар­хи­ви­ро­вания. http://ck.kolivas.org/apps/lrzip

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 101


На дис­ке DVD

Про­буй­те но­вую опе­ра­ци­он­ную сис­те­му уже се­го­дня!

И

Луч­шие ди­ст­ри­бу­ти­вы

Го­ря­чая де­сят­ка

ИННОВАЦИОННОСТЬ

x

П

ри в­с ей рек­л а­м е, лишь один из де­с ят ­к и ис­поль ­зу­е т Gnome 3 по умол­чанию (Fedora), а два уп­ ря­мо дер­жат­ся за Gnome 2 (CentOS и Debi­ an). По­д ав ­л яю­щ ее боль­ш ин­с т ­в о (7) ис­ поль­зу­ет тра­ди­ци­он­ный ра­бо­чий стол; то есть бол­тов­ня о вно­вь изо­бре­тен­ной па­ра­ диг­ме ра­бо­че­го сто­ла – неко­то­рое пре­уве­ ли­чение. Воз­мож­но, все­го уди­ви­тельнее – их непохожесть: ведь все они чер­п а­ю т боль­шую часть ко­д а из од­но­го ис­точника СПО. Са­м ая по­п у­л яр­н ая сре­д а ра­б о­ч е­г о сто­ла (KDE) на пер­вом ме­сте толь­ко в трех. Конеч­н о, это толь­к о ра­б о­ч ие сто­л ы по умол­чанию. В боль­шин­с т­ве ди­с т­ри­бу­ ти­вов их мож­но из­менить одним на­жа­ти­ем кноп­ки. Где же ис­тин­ное раз­ли­чие? В них – раз­ные менед­же­ры па­ке­тов, хо­тя на са­мом де­ле их функ­ции весь­ма сход­ны. Спустя бо­лее де­ся­ти­летнего опы­т а ис­ поль­зо­вания Linux и шес­ти ме­ся­цев под­бо­

> Рис. 1. Что­бы вы­ брать иде­аль­ный для вас ди­ст­ри­бу­ тив, про­сто со­еди­ ни­те свое обо­ру­ до­ва­ние со свои­ ми за­про­са­ми по ста­биль­но­сти.

x x

PUPPY

пра­в и­л о, пред­н а­з на­ч е­н ы для но­в ых ма­ шин; но это не по­вод ста­рым ма­ши­нам ра­ бо­тать на ста­рых про­грам­мах. Эти два раз­ли­чия мож­но применить для соз­дания то­го, что мне нра­вит­ся на­зы­вать Мат­ри­цей Эве­рар­д а для сравнения ди­с т­ ри­бу ­ти­вов Linux (рис. 1). Она не принима­ ет в рас­ч ет при­л о­ж ения по умол­ч анию, ко­т о­р ые лег­ко из­ менить по­с ле уста­ нов­к и (за ис­к лю­ чением тех слу­ча­ев, когда они при­вя­за­ ны к од­ной из двух осей – на­п ри­м ер, Gnome Office вме­сто Libre Office). Так, CentOS ста­вит ста­биль­ность вы­ше ин­но­ва­ций, и ра­бо­та­ет на доста­точ­но мед­ лен­ных ма­ши­нах. А вот Puppy ис­поль­зу­ет бо­лее со­вре­мен­ное ПО, но во гла­ву уг­ла ставит эф­фек­т ив­ность. Все ди­с т­ри­бу ­т и­ вы на ба­зе KDE, по мо­ему ощу­щению, на­ це­ле­ны на бо­лее бы­с трое обо­ру­до­в ание, и по­это­му раз­мес­ти­лись с пра­вой сто­ро­ны гра­фи­к а. Конеч­но, раз­ме­щение ка ­ж ­до­го ди­с т­ри­бу ­ти­ва по осям не вполне на­у ч­но, а вы­бор осей ис­к лю­чи­тель­но субъ­ек ­ти­вен.

«Ди­ст­ри­бу­ти­вы на ба­зе KDE, по-мо­ему, для бы­ строго обо­ру­до­ва­ния.» ра ди­с т­ри­бу­ти­вов для LXF DVD я при­шел к вы­во­д у, что подлинных раз­ли­чий ме­ж ­д у ди­с т­р и­б у ­т и­в а­м и толь­ко два: на­с коль­ко они пе­ре­до­вые и на ка­кое обо­ру­до­в ание нацеле­н ы. В свежих вер­с и­я х ПО поч­т и всегда боль­ше оши­бок, чем в про­ве­рен­ ном и про­т ес ­т и­р о­в ан­н ом ко­д е, так что но­вей­шие функ ­ц ии дости­г а­ю т­с я за счет ста­биль­но­сти. В одних си­т уа­ци­ях это оку­ па­ет­ся, в дру­гих – нет. Вто­рое раз­ли­чие от­час­ти свя­за­но с пер­ вым: но­вое про­г рамм­ные про­д ук ­т ы, как

несколь­ко), и это, как на­м кажется, созда­ет взве­шен­ную панораму про­грамм Linux, ко­то­рые применяют­ся боль­шин­ст­вом. В соответствии с данными Distrowatch, «го­ря­чая де­сят­ка» по­ следние пол­го­да вы­гля­дит так (в по­ряд­ке убывания популярности): Mint, Ubuntu, Mageia, Fedora, Debian, OpenSUSE, Arch, CentOS, Puppy и PC LinuxOS.

БО´ЛЬШАЯ

ногда бывает непло­хо на шаг от­сту­пить и оценить картину в целом. Здесь, в Башнях LXF, мы ста­ра­ем­ся донести до вас са­мые но­вые тех­но­ло­гии Linux, а зна­чит, предпочитаем вы­би­рать для диска са­мые све­жие и луч­шие про­грам­мы, а не са­мые по­пу­ ляр­ные. Но в этом номере мы ре­ши­ли восста­но­вить рав­но­ве­сие и вклю­чи­ли всю де­сят­ку луч­ших по вер­сии Distrowatch (плюс еще

xx

UBUNTU (НЕ-LTS) FEDORA

x

MINT

x

x

OPENSUSE

x

MAGEIA

PCLINUXOS

UBUNTU LTS

ARCH

x

DEBIAN

x

CENTOS

ОБОРУДОВАНИЕ

НОВИЗНА

Важ­но

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

Бракованные диски В маловероятном случае обнаружения бракованного диска Linux Format, просим связаться с нашей группой поддержки по адресу disks@linuxformat.ru, для получения содействия.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

102  |  LXF162 Октябрь 2012


Ди­ст­ри­бу­ти­вы DVD Ком­пь­ю­те­ры долж­ны быть удо­воль­ст­ви­ем

Doudou

М

а ­л ень­к ие де­т и и ком­п ь­ю­т е­р ы ла ­д ят не всегда. На­с толь­ные сис ­те­мы, соз ­д ан­ ные для обес­пе­ч ения про­и з­во­д и­т ель­но­ сти, не слиш­ком под­хо­д ят для незре­лых умов. Цель Doudou – ис­пра­вить этот недоста­ток. Это сре­д а live, за­пускае­мая на лю­бом ком­пь­ю­те­ре. Ре­жим live оз­на­ ча­ет, что же­с т­к ие дис­к и не под­мон­ти­ру­ют­ся, и мож­ но по­зво­лить ма­лышам щел­к ать, где угод­но, не бо­

ясь, что они слу­чай­но уда­лят важ­ные фай­лы. Doudou со­дер­жит толь­ко про­грам­мы для де­тей, а не джент­ль­ мен­ский на­бор для сис­те­мы Linux об­ще­го на­зна­чения. Для ра­бо­ты в Интернет пре­д у­смот­рен Epiphany, но со вклю­ч ен­н ой по умол­ч анию фильт­р а­ц и­е й кон­т ен­т а. Childs­play и GCompris – па­ке­ты об­ра­зо­ва­тель­ных игр. Помните, что это – сис­те­ма live, и все, что вы ре­ши­те со­хранить, сле­д у­ет по­ме­щать на USB-бре­лок.

> Под­бор­ка игр и безо­пас­ный web-брау­ зер — все, что нуж­но ре­бен­ку в ди­ст­ри­бу­ ти­ве Linux.

Когда хо­ро­ше­му ком­пь­ю­те­ру по­пло­хе­ло

System Rescue CD

Г > В ре­дак­ции LXF System Rescue CD и ntfsundelete не­дав­но вер­ну­ли из не­бы­тия слу­чай­но уда­лен­ную му­зы­ку.

о­в о­р ят, что три ве­щ и в жизни неиз­б е­ж ны: смер­т ь, на ­л о­г и и по­т е­р я дан­ных. Пе­р екопав весь Ин­тернет, мы не смог­ли най­ти сво­бод­но­го ПО, спо­соб­но­го спра­вить­ся с пер­вы­ми дву­мя, но этот ди­ст­ри­бу ­тив live, воз­мож­но, су­ме­ет по­мочь вам спра­ вить­ся с треть­ей. Он предназанчен толь­ко для тех слу­ ча­ев, когда с ва­шим ком­пь­ю­т е­р ом слу ­ч а­е т­с я некая про­бле­ма (и по­мо­жет восста­но­вить как Windows, так и Linux). По умол­чанию System Rescue CD не за­гру­жа­

ет­ся в гра­фи­че­­ской сре­де. Ес­ли вам удобнее ра­бо­тать с мы­шью, вве­ди­те wizard, что­бы за­пустить Xfce. Этот ди­с т ­р и­бу ­т ив не чинит ваш ком­п ь­ю­т ер вол­ шеб­ным об­ра­зом, но дает ин­ст­ру­мен­ты для соз­дания и восста­нов­ления ре­зерв­ных ко­пий, восста­нов­ления слу­чай­но уда­лен­ных дан­ных (в за­ви­си­мо­с ти от фай­ ло­вой сис­те­мы) и счи­ты­вания ин­фор­ма­ции с по­вре­ж­ ден­ных же­ст­ких дис­ков. В общем, это от­лич­ный ди­ст­ ри­бу­тив для ­ле­жания на пол­ке – так, на вся­кий слу­чай.

Кон­тро­ли­руй­те свой же­ст­кий диск

Parted Magic

Е

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

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

> partedmagic.com со­дер­жит се­рию до­ ку­мен­тов и ви­део в по­мощь управ­ле­нию же­ст­ким дис­ком.

Мно­же­ст­во об­лач­но­го до­б­ра

Peppermint

О > При­чи­на ого­ле­ния это­го ра­бо­че­го сто­ла в том, что все уш­ло в об­ла­ко.

б­лач­ные вы­чис­ления раз­ве­ли нас по ла­ге­рям поч­т и так же, как и го­ря­чие спо­ры в ми­р е Linux, о ко­то­рых го­во­ри­лось ранее в этом но­ ме­ре. Ес­ли вы – заклятый враг об­лач­ных тех­но­ло­гий, вы, воз­мож­но, ре­ши­те за­жму­рить­ся и при­тво­рить­ся, что дан­но­го ма­те­риа­ла нет. Но для людей с от­кры­тым складом ума этот ди­ст­ри­бу­тив сто­ит внимания. Он вклю­ч а­е т лег­ко­в ес­н ый менед ­жер окон, webбрау­зер и несколь­ко ин­с т­ру­мен­тов для взаимодей­

ствия с об­ла­ком. На­при­мер, офис­ным па­кетом здесь является Google Docs. Од­на­ко от­сю­да сле­д у­ет, что ди­ ст­ри­бу­тив под­хо­дит толь­ко для ком­пь­ю­те­ров с досту­ пом к Ин­тернету. Ос­н ов­н ая сис­т е­м а доста­т оч­н о нетре­б о­в а­т ель­н а к ре­с ур­с ам и долж­на хо­ро­шо ра­бо­т ать и на ста­рых ком­пь­ю­те­рах, но это, конеч­но, за­ви­с ит от web-при­ ло­жений, ко­то­рые вы планируе­те ис­поль­зо­вать: они с удовольствием глотают и вре­мя CPU, и па­мять. |

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 103


Пропустили номер? Мир свободного ПО богат и разнообразен, а потому далеко не все можно вместить в рамки одной статьи. Linux Format обходит эту проблему, публикуя серии статей по самым актуальным вопросам. Но что делать, если вы пойма­ли интересующий вас материал на середине? Обратитесь в «Линукс­центр» по адресу www.linuxcenter.ru и закажите желаемый номер журнала! Он доставляется как в печатной, так и в электронной форме, поэтому с момента открытия браузера и до получения нужного вам выпуска LXF может пройти не более нескольких минут!

»

Прямо сейчас для заказа доступны следующие номера: 250 руб.

250 руб.

250 руб.

LXF159

LXF160

LXF161

Июль 2012

Август 2012

Сентябрь 2012

» Linux про­тив Windows Ес­ли слон на ки­та на­ле­ зет, кто ко­го сбо­рет? » Ру­лим об­нов­ле­ния­ми Ме­нед ­же­ры па­ке­тов – без них ни­к у­да » OpenCL От­кры­тый стан­дарт для па­рал­лель­но­го про­грам­ми­ро­ва­ния » Пре­зен­та­ции Как оба­ять ау­ди­то­рию и за­ра­зить сво­ей иде­ей

» Red Hat Как за­ра­бо­тать мил­ли­ард дол­ла­ров » Об­ща­ем­ся в от­кры­т ую Со­ци­а ль­ные се­ти, ува­ жаю­щие при­ват­ность » OpenCL От­кры­тый стан­д арт для па­рал­лель­но­го про­грам­ми­ро­ва­ния » Кла­стер всем ми­ром Под­к лю­ча­ем свой ПК к про­грес­су нау­ки

» Об­нов­ляй­тесь! Ра­зум­ный вы­бор но­во­го обо­ру­до­ва­ния » Стро­им сайт Сис­те­мы управ­ле­ния кон­тен­том » OpenStack Linux об­лач­ ных вы­чис­ле­ний » Moodle Жа ­ж ­де­те по­де­лить­ся зна­ния­ми? От­кры­вай­те кур­сы!

LXFDVD: Ubuntu 12.04 LXF Remix и еще

LXFDVD: Mageia 2 и еще 3 ди­ст­ри­бу­ти­ва, BCCD,

Fotoxx, YAGF, руководство администратора Debian и про­чее...

2 ди­ст­ри­бу­ти­ва, Phoronix Test Suite, DigiKam, Packet Fence, ви­део­урок по ра­бо­те с мик­ро­ком­пь­ю­те­ром МК802 и про­чее...

Печатная версия: shop.linuxformat.ru/lxf_159/ PDF-версия: shop.linuxformat.ru/elxf_159/

Печатная версия: shop.linuxformat.ru/lxf_160/ PDF-версия: shop.linuxformat.ru/elxf_160/

Печатная версия: shop.linuxformat.ru/lxf_161/ PDF-версия: shop.linuxformat.ru/elxf_161/

3 ди­ст­ри­бу ­ти­ва, FWBuilder, LibreOffice 3.5.2 и про­чее...

LXFDVD: ROSA Marathon 2012, Linux Mint 13 и еще

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

Подписывайтесь на журнал на www.linuxformat.ru/subscribe/ Телефоны отдела подписки: Санкт-Петербург (812) 309-06-86, Москва (499) 271-49-54

Специальное предложение Купите подборку журнала! К нам в редакцию периодически приходят письма с вопросами, где можно купить предыдущие выпуски LXF. Если вы тоже этим озадачены, то в интернет-магазине «ГНУ/Линуксцентра» продолжается продажа журналов за 2011 год. Вы можете приобрести как отдельные номера изданий, так и подписки на 6 или 12 месяцев. Спешите — журналов осталось не так уж много!

shop.linuxformat.ru

12 месяцев 6 месяцев

1230 руб.

2280руб.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


DVD

Информация о диске

Октябрь 2012

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

LXFDVD 112

Документация

хороших дистрибутивов 2012 года

Мы стараемся включать как можно больше раз­ личных типов установочных пакетов: RPM, Deb или любых других. Просим вас принять во внимание, что мы ограничены свободным пространством и доступ­ ными двоичными выпусками программ. По возможно­ сти, мы будем включать исходные тексты для любого пакета, чтобы вы могли собрать его самостоятельно.

Тоже достойны рассмотрения: Debian, Doudou, LegacyOS, Parted Magic, Peppermint, System Rescue CD, Ubuntu

Форматы пакетов

А ТАКЖЕ: 9 книг о Linux, программы из раздела HotPicks и многое другое

о

Часто случается, что новые про­ Внимательн это граммы зависят от других програм­ прочтите как , м е т д е р мных продуктов, которые могут пе ь ользоват не входить в текущую версию вашего исп FDVD! LX дистрибутива Linux. Мы стараемся предоставить вам как можно больше важных вспомогатель­ ных файлов. В большин­с тве случаев, последние версии библиотек и другие пакеты мы включаем в каталог «Essentials [Главное]» на прилагаемом диске. Поэтому, если в вашей системе возникли про­ блемы с зависимостями, первым делом следует заглянуть именно туда.

7

Что-то потеряли?

Что это за файлы? Октябрь 2012

лучших дистрибутивов 2012 года

LXFDVD 112

8

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

ЧЕМПИОНЫ ПО ВЕРСИИ LINUX FORMAT: » Mint » Mageia » openSUSE » CentOS

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

А ТАКЖЕ: Arch, Fedora, PCLinuxOS и Puppy

Если вы новичок в Linux, вас может смутить изобилие различных файлов и расширений. Так как мы стара­ емся собрать как можно больше вариантов пакетов для обеспечения совместимости, в одном каталоге часто находятся два или три файла для различных версий Linux и различных архитектур, исходные тек­ сты и откомпилированные пакеты. Чтобы определить, какой именно файл вам нужен, необходимо обратить внимание на его имя или расширение: » имя_программы-1.0.1.i386.rpm – вероятно, это двоичный пакет RPM, предназначенный для работы на системах x86; » имя_программы-1.0.1.i386.deb – такой же пакет, но уже для Debian; » имя_программы-1.0.1.tar.gz – обычно это исходный код; » имя_программы-1.0.1.tgz – тот же файл, что и выше этажом по списку: “tgz” – это сокра­щение от “tar.gz”; » имя_программы-1.0.1.tar.bz2 – тот же файл, но сжатый bzip2 вместо обычного gzip; » имя_программы-1.0.1.src.rpm – также исходный код, но поставляемый как RPM-пакет для упрощения процесса установки; » имя_программы-1.0.1.i386.FC4.RPM – двоичный пакет RPM для x86, предназначенный специально для операционной системы Fedora Core 4; » имя_программы-1.0.1.ppc.Suse9.rpm – двоичный пакет RPM, предназначенный специально для операционной системы SUSE 9.x PPC; » имя_программы-devel-1.0.1.i386.rpm – версия для разработчиков.

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 105


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

106  |  LXF162 Октябрь 2012

ДЕФЕКТНЫЕ ДИСКИ В маловероятном случае обнаружения дефектов на данном диске, обращайтесь, пожалуйста, по адресу disks@linuxformat.ru

КОММЕНТАРИИ? Присылайте ваши пожелания и предложения по электронной почте: info@linuxformat.ru

Debian 1�0�4 Live Актуальная версия популярного дистрибутива, 32­разрядная сборка (загрузка с LXFDVD) Doudou 1�2 Дистрибутив для самых юных пользователей, 32­разрядная сборка (загрузка с LXFDVD) LegaсyOS 4 Легкий дистрибутив для устаревшего «железа» (ISO­образ) PartedMagic 2012­01­21 Live CD для работы с разделами диска (загрузка с LXFDVD) Peppermint 3 Дистрибутив для работы с облачными службами Google и другими, 32­разрядная сборка (загрузка с LXFDVD) System Rescue CD 2�8�0 Live CD для восстановления системы и данных. 32­ и 64­разрядные сборки (загрузка с LXFDVD) Ubuntu 12�04 Live Актуальная версия популярного дистрибутива, 32­разрядная сборка (загрузка с LXFDVD)

Пожалуйста, перед использова­ нием данного диска ознакомьтесь с опубликованной в журнале инструкцией!

9 книг о Linux (на английском языке): Bash Scripting Bourne Shell Scripting Cathedral Bazaar Debian Administrator’s Handbook Intro to Linux Linux Dictionary Linux Kernel in a Nutshell System Administrators Guide GNU Tools Summary

ДИСТРИБУТИВЫ

ДИСТРИБУТИВЫ с загрузкой с LXFDVD Arch Легкий дистрибутив с гибкими возможностями настройки, 32­ и 64­разрядные сборки CentOS 1�3 ENTerprise Operating System, созданная сообществом на базе Red Hat Enterprise, 32­разрядная сборка Fedora 17 Live Обновленная версия популярного дистрибутива, 32­разрядная сборка Mageia 2 Live Вторая версия ответвления Mandriva, 32­разрядная сборка Mint 13 Live Сборка с рабочим столом Cinnamon, 32­разрядная сборка OpenSUSE 12�1 Tumbleweed Обновляемая из наиболее свежих репозиториев версия популярного дистрибутива, 32­разрядная сборка PCLinuxOS 2012 Простой в использовании Live­дистрибутив, 32­разрядная сборка Puppy Slacko Live Обновленная версия популярного Live­дистрибутива, 32­разрядная сборка

gShogi 0�4�3 Игра Shogi (японские шахматы), написанная на Python/PyGTK Muse 2�0 Графическая программа для записи и редактирования музыки PaxBritannica Игра, пошаговая стратегия войны на море PDFCube 0�0�5 Программа просмотра PDF с большим количеством различных эффектов Poezio 0�7�5 Консольный клиент XMPP (Jabber) Revelation 0�4�14 Менеджер паролей для Gnome StressItOut 0�1 Программа для тестирования производительности компьютера (исходные коды) SuperGrub 2 Загружаемый диск для восстановления GRUB (ISO­образ и загрузка с LXFDVD)

Тираж изготовлен ООО «Уральский электронный завод». 620137, Россия, г. Екатеринбург, Студенческая ул., д. 9. Лицензия МПТР ВАФ 77­15.

Настоящий диск тщательно тестировался и проверялся на всех стадиях производства; однако, как и в случае с любым новым ПО, мы рекомендуем вам использовать антивирусный сканер. Мы также рекомендуем всегда иметь под рукой актуальную резервную копию данных вашего жесткого диска. К сожалению, редакция Linux Format не в состоянии принимать на себя ответственность за любые повреждения, разрушения или иные убытки, которые может повлечь за собой использование этого DVD, представленных на нем программ или данных. Прежде чем устанавливать какое­либо ПО на компьютер, подключенный к сети, проконсультируйтесь с сетевым администратором.

Calise 0�3�0 (CAmera LIght SEnsor) Утилита для определения освещенности и регулировки яркости монитора expect­Lite 4�3�1 Средство автоматизации работы в командной строке Functy 0�25�0 Программа для построения 3D­графиков

HOTPICKS

ДОКУМЕНТАЦИЯ

Сторона 2

Сторона 1

Содержание

DVD­приложение к журналу Linux Format № 10 (162). Октябрь 2012

DVD Создание установочных дисков при помощи cdrecord

Самый быстрый способ записать ISO-образ на чистую матрицу – это через cdrecord. Для всех перечисленных ниже действий потре­ буются права root. Cначала определите путь к вашему устройству для записи дисков. Набе­ рите следующую команду: cdrecord -scanbus После этого на экране терминала должен отобразиться список устройств, подключен­ ных к вашей системе. SCSI-адрес каждого устройства представляет собой три числа в левой колонке – например, 0,3,0. Теперь вы можете с легкостью записать образ на диск: cdrecord dev=0,3,0 -v /путь к образу/image.iso Чтобы упростить дальнейшее использование cdrecord, сохраните некоторые настройки в файле /etc/default/cdrecord. Добавьте по од­ной строке для каждого устройства записи (вероятно, в вашей системе присутствует всего одно такое устройство): Plextor= 0,3,0 12 16M Первое слово в этой строке – метка; затем после адреса SCSI-устройства вы должны указать скорость и размер буфера. Теперь можете заменить SCSI-адрес в командной строке на выбранную вами метку. Все будет еще проще, если вы добавите следующее: CDR_DEVICE=Plextor Все, что вам теперь нужно для записи ISOобраза – это набрать команду cdrecord -v /path/to/image.iso Если вы не из числа любителей команд­н ой строки, в таком случае вам придет на помощь утилита gcombust. Запустите ее из-под root и выберите вкладку Burn и ISO 9660 Image в верхней части окна. Введите путь к образу, который вы хотите записать на диск, и смело нажимайте на Combust! Пока ваш образ пишется на диск, можете выпить чашечку кофе.

Другая ОС?

Вам не обязательно использовать Linux для записи компакт-диска. Все необходимые файлы уже включены в ISO-образ. Программы вроде cdrecord просто переносят данные на чистую матрицу. Если у вас нет устройства для записи дисков, можно найти того, у кого оно есть, и записать диск на его компьютере с Windows, Mac OS X, AmigaOS или любой дру­ гой ОС.

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

А что если у вас нет устройства, с помощью которого можно было бы записать образ на диск? Вы знаете кого-нибудь с таким устройством? Вам не обязательно использо­ вать Linux для записи дисков: подойдет любая операционная система, способная распознать пишущий привод (см. выше). Некоторые дистрибутивы умеют монтиро­ вать образы дисков и выполнять сетевую уста­ новку или даже установку с раздела жест­кого диска. Конкретные методы, конечно, зависят от дистрибутива. За дополнительной инфор­ мацией обращайтесь на web-сайт разработ­ чика дистрибутива.


Как разместить рекламу в разделе Classifieds? полоса (210 × 297 мм)

165 200 руб.

Ѕ полосы горизонтально (197 × 144 мм) 88 500 руб. Ѕ полосы вертикально (102 × 278)

88 500 руб.

ј полосы вертикально (98 × 138 мм)

53 100 руб.

Фотоблок (44 × 113 мм)

15 000 руб.

Тел.: +7 812 309 06 86 Цены указаны с учетом НДС

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Шко­ла LXF рубрики Спонсор

Шко­ла LXF

a.ru Mandраrбiv отчик

раз ва дистрибути a v ri d n a EduM a.ru v ri d n a .m www

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

Сказ о борь­бе как­ту­сов с си­бир­ской зи­мой Ми­ха­ил Вы­гранен­ко со­чув­ст­ву­ет ис­пы­таниям за­мер­заю­щих эк­зо­тов сло­вом и де­лом и да­же пред­ла­га­ет оран­же­рею для них. Что оста­ет­ся от сказ­ки по­том – По­сле то­го, как ее рас­ска­за­ли? В. С.  Вы­соц­кий. «Пес­ня Кэ­рол­ла» из ра­дио­спек­так­ля «Али­са в стране чу­дес» (1974)

В Наш эксперт Ми­ха­ил Вы­гра­нен­ко – идео­лог сво­бо­ ды в мыс­лях и по­ ряд­ка в де­лах на ни­ве про­све­ще­ ния, ка­ким бы па­ ра­док­саль­ным ни ка­за­лось это со­че­та­ние. В ми­ ру – учи­тельме­то­дист.

от и на­с ту­пи­ла си­бир­ская зи­ма. Нет, я не о вре­мени го­ да и не о по­г о­д е, за ок­ном-то все же сравнитель­но те­ п­ло. А помните пе­сен­к у «Си­ноп­т и­к и» груп­пы «Нау­т и­л ус Пом­пи­лиус»? В ней ведь то­же не про ра­ботников гид­ро­ме­тео­служ­ бы, «су­мев­ших вы­жить на лю­том мо­ро­зе». Я хо­чу вер­нуть­ся к те­ ме сво­бод­но­го про­грамм­но­го обес­пе­чения (СПО) в сре­де на­ше­го школь­но­го об­ра­зо­вания. Так ведь внедрение за­кон­чи­лось! — уди­ ви­тесь вы. Дей­ст­ви­тель­но, об этом и сказ. И что же? Го­су­д ар­с т­вен­ный про­ект НП-12 от­ра­бо­тан, вы­де­лен­ные день­ ги освое­ны, и все успеш­но от­чи­та­лись. Слав­ной фир­мой «Альт­ Ли­нукс» соз­дан и роз­дан в шко­лы про­грамм­ный па­кет1, от­кры­ты сай­ты под­держ­ки2, кат­ком по го­ло­вам на­зна­чен­ных доб­ро­воль­ цев про­ка­ти­лось все­об­щее фор­си­ро­ван­ное обу­чение. Все. Поль­ зуй­тесь, учи­те­ля! Но нет ли у вас ощу­щения неко­то­ро­го уныния в этой за­вер­ шен­н о­с ти? Так ведь это про­е кт, лю­б и­м ое де­т и­щ е на­ш ей ад­ минист­ра­тив­ной сис­те­мы! Эта схе­ма от­ра­бо­та­на до мас­тер­с т­ва, в со­в ет­с кие вре­м е­н а она на­зы­в а ­л ась кам­п аней­щ и­н ой, и то­же прак­ти­ко­ва­лась во­всю, хо­тя на сло­вах за­час­т ую по­ри­ц а­лась. Те­ перь не по­ри­ца­ет­ся: те­перь ут­вер­ж да­ет­ся, что так и на­до. Вре­мя идет, ми­ну­ло поч­ти два го­да со дня за­вер­шения про­ек­та. «Ско­ро сказ­ка ска­зы­ва­ет­ся, да НЕ...» Сай­ты под­держ­ки за­мерз­ли и НЕ об­нов­ля­ют­ся, обу­чен­ные НЕ несут све­та по­лу­чен­ных знаний в мас­сы, час­тич­но раз­бе­жа ­лись из школ, а боль­шин­ст­во скры­ва­ ют­ся и, ско­рее все­го, по­за­бы­ли то, че­му их учи­ли. Так всегда бы­ ва­ет с на­зна­чен­ны­ми доб­ро­воль­ц а­ми, пре­достав­лен­ны­ми са­мим се­бе. Пе­да­го­ги­че­­ские фо­ру­мы и со­об­ще­ст­ва НЕ бур­лят СПО-креа­ ти­вом, то бишь но­вой ме­то­ди­кой и ди­д ак ­ти­кой. Ру­ко­во­дству же всех уровней и его мно­го­чис­лен­но­му ок­ру ­жению внедрение СПО из­на­чаль­но бы­ло обу­зой, о ко­то­рой НЕ хо­чет­ся вспо­ми­нать и уж тем бо­лее – вклю­чать в спи­сок те­к у­щих при­ори­те­тов и ин­но­ва­ ций. И толь­ко неуго­мон­ные на­ши раз­ра­бот­чи­ки вы­д а­ют на гора оче­ред­ные ди­ст­ри­бу ­ти­вы3, со­вер­шен­ст­ву­ясь без ог­ляд­ки на учи­ тель­скую об­рат­ную связь... Ну поль­зуй­тесь же, учи­те­ля! Это и есть зи­ма. Су­ро­вая, си­бир­ская. Зи­ма в де­лах, зи­ма в го­ ло­в ах. Сис­т ем­н о­г о раз­в и­т ия, пла­н о­м ер­н ой за­и н­т е­р е­с о­в ан­н ой

дея ­т ель­н о­с ти нет. Ка­кой смысл ожи­д ать по­л о­ж и ­т ель­н о­г о ре­ зуль­та­та для шко­лы? Есть толь­ко локаль­ные кор­по­ра­тив­ные за­ ин­те­ре­со­ван­но­сти: кто-то по­лу­чил день­ги, кто-то от ­то­чил имидж, а кто-то из­д ал пуб­лич­ный треск. Как, на­при­мер, оте­че­­с т­вен­ное министер­с т­во про­све­щения... но ведь это уже дав­но ста­ло его про­г рам­мой – вы­д а­в ать же­лае­мое за дей­с т­ви­тель­ное. Учи­те­ля и осо­бен­но ди­рек ­то­ра школ по­лу­чи­ли го­лов­ную боль. Хо­тя все-та­ки два ре­зуль­та­та есть. Все­го два, но су­ще­ст­вен­ных. В шко­ле пе­д а­го­ги­че­­ские ра­ботники те­перь зна­ют о пра­во­мер­но­ сти ис­поль­зо­вания ПО, и у них поя­вил­ся вы­бор. Рань­ше-то, ска­ зы­ва­ют, никто по­ня­тия не имел о стои­мо­сти ком­пь­ю­тер­ных про­ грамм, и что у них бы­ва­ет ав­тор (ну, или не хо­тел иметь понятия). И что есть пра­во­вые нор­ма­ти­вы, уста­нав­ли­ваю­щие все это. Все бы­ли в по­мыс­лах чис­ты, по­то­му как не ве­да­ли. Вклю­чая тех, ко­му по дол­г у служ­бы по­ло­же­но сле­дить за по­ряд­ком. Те­перь не так. То есть за по­ряд­ком по-прежнему никто не сле­дит, но пе­д а­го­ги уже кое-что зна­ют, и им, воз­мож­но, в глу­бине ду­ши нелов­ко, со­ ве­с т­но на­ру­шать. Как-никак, они – пе­д а­го­ги. Но что­бы не на­ру­ шать, на­до по­т ру­д ить­с я, во-пер­вых, в ра­бо­те над со­бой, а вовто­рых, в пла­в ании про­т ив все­о б­щ е­г о те­чения на авось. Ведь нель­зя же пред­ста­вить, что шко­лы смо­г ут оп­ла­чи­вать необ­хо­ди­ мое про­прие­тар­ное ПО. И вот сло­жи­лась за­нятней­шая си­т уа­ция умал­чи­вания и вы­жи­ дания. Как даль­ше ве­тер по­д у­ет? Бу­д ут на­ка­зы­вать или нет? Ведь так не хо­чет­ся про­тя­нуть ру­к у к дис­к у со школь­ным па­ке­том СПО или ска­чать со­от­вет­ст­вую­щий ди­ст­ри­бу­тив в Ин­тернете. В мах­ро­ вом фео­да­лиз­ме школь­но­го об­ра­зо­вания от­к у­да взять­ся сво­бо­де, что­бы сде­лать осоз­нан­ный и са­мо­стоя­тель­ный вы­бор? Зи­ма кро­ меш­ная. Хо­лод­но. Хо­лод­но и вне стен шко­лы. Нет, что-то, конеч­но, про­ис­хо­дит. Вот ме­ж ­д у­на­род­ная кон­фе­рен­ция «Тео­рия и прак ­ти­ка ис­поль­зо­ вания сво­бод­но­го про­грамм­но­го обес­пе­чения» проведена в Бар­ нау­ле4, Мо­с­ков­ский ин­сти­т ут от­кры­то­го об­ра­зо­вания про­дол­жа­ет дис­тан­ци­он­но обу­чать по двум СПО-кур­сам учи­те­лей ин­фор­ма­ ти­ки5. Но от­дель­ные ме­ро­прия­тия, про­во­ди­мые си­ла­ми эн­т у­зиа­ стов, не де­ла­ют по­го­д у по стране. Россий­ская ас­со­циа­ция сво­бод­

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

108  |  LXF162 Октябрь 2012


Шко­ла LXF но­го про­г рамм­но­го обес­пе­чения (РАСПО), ис­поль­зуя пло­щ ад­к у июнь­ской кон­фе­рен­ции «Стра­те­гия и так ­ти­ка пе­ре­хо­д а ор­га­нов го­су­дар­ст­вен­ной вла­сти на ис­поль­зо­вание сво­бод­но­го ПО (СПО)»6 и об­ра­ща­ясь с пись­мом непо­сред­ст­вен­но к минист­ру7, на­стой­чи­во твер­дит, что де­ло не в оте­че­­ст­вен­ных раз­ра­бот­чи­ках, и не в обу­ чении масс, и не в драй­ве­рах, ины­ми сло­ва­ми – «де­ло не в день­ гах и не в ко­ли­че­­ст­ве жен­щин», как спел когда-то Б.  Гре­бен­щи­ков8, а в по­ли­ти­че­­ской го­су­дар­ст­вен­ной во­ле пре­ж ­де все­го. Ли­це­мер­ная по­зи­ция и недаль­но­вид­ность ру­ко­во­д я­щих струк­ тур раз­вра­щ а­ет на­се­ление, от ­та­чи­ва­ет мас­тер­ст­во на­ве­дения те­ ни на пле­т ень по­в се­м е­с т­н о, за­м о­р а ­ж и­в а­е т все жи­в ые ро­с т­к и эн­т у­зи­а з­ма и про­с то здра­во­г о смыс­ла. «Реа ­ли­з а­ц ия рас­по­ря­ жения № 2299‑р фак­ти­че­­ски са­бо­ти­ру­ет­ся от­вет­ст­вен­ны­ми за его вы­п олнение чи­н овника­м и» – кон­с та­т и­р у­е т РАСПО. Речь идет ни мно­го ни ма­ло о Рас­по­ря­жении Пра­ви­тель­ст­ва РФ от 17 де­каб­ ря 2010 г. «О плане пе­ре­хо­да фе­де­раль­ных ор­га­нов ис­полнитель­ ной вла­сти и фе­де­раль­ных бюд ­жет­ных уч­ре­ж ­дений на ис­поль­зо­ вание сво­бод­но­го про­грамм­но­го обес­пе­чения (2011 – 2015 го­ды)»9. А вот еще недавнее По­с та­нов­ление Пра­ви­тель­с т­ва РФ № 343 от 18 ап­ре­ля 2012 г. «Об ут­вер­ж дении Пра­вил раз­ме­щения в се­ ти Ин­тернет и об­нов­ления ПРО ПОСТАНОВЛЕНИЯ ин­ф ор­м а­ц ии об об­р а­з о­ ва­т ель­н ом уч­р е­ж ­д ении»10, в ко­т о­р ом уста­н ав­л и­в а­е т­ ся, что «тех­н о­л о­г и­ч е­­с кие и про­г рамм­н ые сред­с т­в а, ко­то­рые ис­поль­зу­ют­ся для функ­ц иониро­в ания офи­ ци­а ль­ных сай­тов об­ра­зо­ва­тель­ных уч­ре­ж ­дений в се­ти Ин­тернет, долж­ны обес­пе­чи­в ать: а) доступ поль­зо­в а­т е­лей для оз­на­ком­ ления с раз­ме­щен­ной на сай­тах ин­фор­ма­ци­ей на осно­ве сво­бод­ но­го и об­ще­доступ­но­го про­грамм­но­го обес­пе­чения...». Это тре­ бо­вание вле­чет за со­бой серь­е з­н ую и объ­ем­н ую ре­д ак ­тор­скую ра­бо­т у для при­ве­дения циф­ро­вых ре­сур­сов в со­от­вет­ст­вие, при­ чем на­чи­ная с верхних шта­бов. В со­че­тании с тем, что в ка­че­­ст­ве стан­д ар­т а до­к у­мен­тов для госструк­т ур с 1 ию­ня 2011 г. при­нят фор­м ат ODF (ГОСТ Р ИСО/МЭК 26300‑2010)11, а в рам­к ах на­ прав­ления «На­ц ио­наль­ная про­г рамм­ная плат­фор­ма» с 1 ян­в а­ ря 2012 г. всту­пил в дей­ст­вие стан­дарт «Ин­фор­ма­ци­он­ные тех­но­ ло­гии. Сво­бод­ное про­грамм­ное обес­пе­чение. Об­щие по­ло­жения» (ГОСТ Р 54593‑2011) со­в ме­с т­н о с Пра­в и ­л а­м и ис­п оль ­з о­в ания (Р 50.1.077‑2011)12, ка­за­лось бы, ра­бо­та на мес­тах долж­на ки­петь. Ан нет, ти­ши­на. В рай­он­ных и муници­паль­ных от­де ­лах об­ра ­зо­ вания, а тем бо­лее в шко­лах ниче­го об этом не зна­ют. Ука­заний нет. И ки­пения нет. Хо­лод­но. Зи­ма лю­т у­ет. Или, о том же мож­но ска­зать сло­ва­ми генераль­ но­го ди­рек­то­ра ком­пании «Пин­гВин Соф­твер» Д.  Ко­мис­са­ро­ва: «Все мы хо­ро­шо зна­ем, что при­мер­но 70 % ПО в на­шей стране бес­плат­но. Точнее – никем не оп­ла­че­но. В круп­ных го­су­дар­ст­вен­ ных струк ­т у ­р ах все бо­л ее-менее при­с той­н о, кон ­т ра­ф акт ­н о­г о ПО там немно­го. Но чем даль­ше от Мо­ск­вы, тем си­т уа­ция слож­ нее. Муници­па­ли­те­тов боль­ше 20 тыс. в стране. Как пра­ви­ло, там ис­поль­зу­ет­ся мно­го кон­тра­факт­но­го ПО, по­сколь­к у это бед­ные ор­ганиза­ции»13. А ес ­ли до­б а­вить к муници­п а ­ли ­т е­т ам шко­лы – что-то око­л о 60‑ти ты­с яч... Пред­с тав­ляе­те, та­к ая кон­с та­т а­ц ия обы­ден­но­с ти. А мы тут в ВТО на­медни всту­пи­ли... Не уй­ти ли по­с ле это­го в от­ став­к у всем, кто при­зван при­смат­ри­вать за со­блю­дением в стра­ не за­ко­н ов в от­н о­ш ении ПО? Я толь­ко с одним не со­гла­ш усь, про «бед­ные ор­ганиза­ции». Ведь вот стре­мят­ся же они с та­ким во­ж ­де­лением при­об­ре­с ти про­прие­т ар­ное ПО, су­д я по ре­а к­ц ии на не за­с та­вив­шие се­бя ждать «пись­ма сча­с тья» от из­вест­но­го ми­ро­во­го про­из­во­ди­те­ля, не го­во­ря уж о про­чих тра­тах-рас­тра­ тах. На са­мом де­ле, и не стре­мят­ся. Хо­тят не вы­со­вы­вать­ся, вы­ жи­да­ют. Вот и все их стрем­ления по этой час­ти.

Аль­тер­на­ти­ва есть И вот что уди­ви­тель­но: в этой зи­ме жи­вут как­т у­сы. Так мож­но на­ звать эн­т у­зиа­с тов-ро­ман­т и­ков, ко­то­рые с иди­от­с кой (в досто­ ев­с ком смыс­л е) на­с той­ч и­в о­с тью уста­н ав­л и­в а­ю т, изу­ч а­ю т, ис­поль­зу­ют сво­бод­ное ПО. Их очень ма­ло, а в сре­де учи­тель­ст­ва – единицы, ведь зи­ма во­круг. Им тя­же­ло, они не та­кие как все. Мыс­ лят не так, де­ла­ют не то, что ска­за­но. Вернее, не толь­ко то, что ска­за­но. По­лу­ча­ет­ся не так, как у всех, а то­же ра­бо­та­ет. Это и, со­ от­вет­ст­вен­но, то, что они есть, не мо­жет не раз­дра­жать. Им при­ хо­дит­ся от­ра­щи­вать ко­люч­ки. При­хо­дит­ся бе­речь си­лы про за­пас, не цве­с ти и да­же съе­ж и­вать­ся. Си­бир­ская зи­ма – дол­г ая вещь, и они при­вык ­ли тер­петь, под­страи­вать­ся и по­мал­ки­вать. Они во­ об­ще не лю­бят всту­пать в спо­ры ти­па «Linux про­т ив Windows» (те, кто раз­жи­га­ет та­кие спо­ры – не как­т у­сы, ско­рее про­во­ка­то­ ры). Но когда их спра­ши­ва­ют, они го­во­рят то, что ду­ма­ют, до­ка­за­ тель­но и ло­гич­но, они го­то­вят­ся к во­про­сам за­ранее. Как пра­ви­ ло, их от­ве­ты – прав­да, при­чем на за­кон­ных осно­ваниях. Конеч­но, это вы­зы­ва­ет кон­со­ли­ди­ро­ван­ное же­лание их по­да­вить и вы­кор­ че­вать, но оно стран­но со­че­та­ет­ся с пред­чув­с т­ви­ем, что они мо­ гут по­на­до­бить­ся, что об­с тоя­тель­с т­ва мо­г ут сло­жить­ся так, что без них не обой­т ись. Ведь О СВОБОДНОМ ПО до­х о­д ят-та­к и до «ско­в ан­ ных од­н ой це­п ью»14 слу­х и о го­су­дар­ст­вен­ной по­ли­ти­ке за­ру­беж­ных кра­ев в об­лас­ ти ПО, а так­же есть по­доз­ рение, что там зна­ю т толк в де­ло­вой вы­го­де (не толь­ко лич­ной!) и уме­ют счи­тать. А ну как и здесь по­на­до­бит­ся? Ав­тор этих строк как раз сме­ет при­чис­лять се­бя к как­т у­с ам, при­чем на­прав­лен­но­с ти бо­лее идео­ло­г и­че­­с кой, неже­ли тех­но­ ло­г и­че­­ской. Ни­че­го не по­де­ла­ешь с лю­бо­вью к неза­ви­си­мо­с ти и сво­бо­де в се­бе – она необъ­яснима: она про­сто есть, или ее нет. Но в дру­гом че­ло­ве­ке она мо­жет возник­нуть то­же, и на это час­то на­п рав ­л е­н ы по­м ыс ­л ы, тру­д ы и деяния как ­т у­с ов. Да, как ­т у­с ы непре­мен­но дея­тель­ны и про­д ук ­тив­ны. Рас­ска ­ж у об од­ном та­ком про­д ук ­те, по­сколь­к у имею к нему непо­сред­ст­вен­ное от­но­шение. Это сайт для школь­но­го пред­ме­т а «Ин­ф ор­ма­т и­к а и ин­ф ор­ ма­ц и­он­ные тех­но­ло­г ии», ко­то­рый ав­то­ры на­зы­в а­ю т Ин­т ернетучебником, http://iiikt.narod.ru/index.htm. Его осо­бен­ность в том, что он двух­плат­фор­мен­ный: учеб­ный ма­те­ри­а л в рав­ной сте­пени по­стро­ен на ба­зе опе­ра­ци­он­ных сис­тем Windows и Linux. По­след­ няя – из школь­но­го па­ке­та ПСПО 5 ком­пании «Альт­Ли­нукс». Учи­т е­л я на­с лы­ш а­н ы о тру­д о­е м­ко­с ти пе­р е­хо­д а на сво­б од­ ное ПО, и в боль­шин­с т­ве слу­ча­ев они не го­то­вы к это­му пе­ре­хо­ ду не толь­ко идей­но, но и тех­но­ло­ги­че­­ски. По­это­му од­на из це­ лей сай­та – мак­си­маль­но об­лег­чить пе­ре­ход для тех, кто ре­шил­ся. Си­т уа­ция се­го­дня уже не ка­жет­с я столь фа­т аль­ной, как в по­ру внедрения СПО; при от­с ут­с т­вии осно­ва­тель­ных универ­с аль­ных бу­маж­ных учебников ма­те­риа ­ла уже доста­точ­но, и се­те­вая взаи­ мо­по­мощь весь­ма ак ­тив­на. Но на пе­ре­вод соб­ст­вен­ных на­ра­бо­ток в дру­гие фор­ма­ты тре­бу­ет­ся нема­ло вре­мени и сил (и тут за­ме­ чу: у на­чи­наю­щих учи­те­лей есть пре­иму­ще­с т­во – ниче­го не на­ до пе­ре­де ­лы­вать). О спо­с об­но­с ти же и же ­лании ока ­зы­вать по­ мощь со сто­ро­ны ад­минист­ра­т ив­ных и ме­то­ди­че­­ских струк ­т ур, не столь­ко техниче­скую (хо­т я и это – важ­ная за­д а­ча), сколь­ко имен­но кон­суль­та­ци­он­ную, ска­за­но вы­ше. На се­го­дняшний день в Фе­де­раль­ном пе­речне15 толь­ко два учеб­но-ме­то­ди­че­­ских ком­ плек­с а пы ­т а­ют­с я ре­шить эту про­бле­м у и дек ­ла­ри­ру ­ют муль­т и­ си­с тем­ность прак ­ти­к у­ма16. Кро­ме то­го, есть бо­лее прак­тич­ный, но не «гри­фо­ван­ный» бу­маж­но-дис­ко­вый УМК по ин­фор­ма­ти­ке Л.  Ф.  Со­ловь­е­вой17. В на­шем Ин­тернет-учебнике все прак­ти­че­­ские ра­бо­ты сде­ла­ ны в рас­че­те как для рас­про­странен­но­го про­прие­тар­но­го ПО, так и для сво­бод­но рас­про­с тра­няе­мо­го. При­чем, в час­т и офис­ных

«В отделах образования, а тем более в школах, ничего об этом не знают.»

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

Октябрь 2012 LXF162  | 109


Шко­ла LXF

> Кактусы всех образовательных учреждений, соединяйтесь! Платформа для этого имеется.

тех ­н о­л о­г ий они рас­с чи ­т а­н ы и на вхо­д я­щ ий в со­с тав ПСПО 5 OpenOffice.org, и на ва­риа­цию LibreOffice для Windows. Фор­ма­ты прак ­ти­че­­ских ра­бот универ­саль­ны – PDF или RTF. В оч­ном ре­жи­ме ис­поль­зо­вания прак ­ти­че­­ские ра­бо­ты ре­ко­мен­д у­ет­ся рас­пе­ча­ты­ вать для ка­ж ­до­го ра­бо­че­го мес­та, что­бы под­дер­жать ин­ди­ви­д у­ аль­ную ско­рость вы­полнения. Тео­ре­т и­че­­с ко­­го ма­т е­риа ­ла на страницах Ин­т ернет-учебника немно­го, ав­то­ры ог­раничи­лись са­мым необ­хо­ди­мым на их взгляд, пре­достав­ляя уча­щим­ся ши­ро­к ую воз­мож­ность об­ра­щать­ся к со­ от­вет­ст­вую­щим па­ра­гра­фам ут­вер­ж ден­ных учебников и доступ­ ным циф­р о­в ым об­р а­з о­в а­т ель­ным ре­с ур­с ам. На се­г о­д няшний день пол­но­с тью от­к рыт ба­зо­вый курс пред­ме­т а для основ­ной шко­лы (8‑9 класс) в со­от­вет­ст­вии с уста­нов­лен­ной учеб­ной про­ грам­м ой 2004 г., до­ ПРО НАЛИЧИЕ УЧЕБНЫХ полнен­н ый боль­ш им объ­е­м ом элек ­т ив­н о­ го ма­те­риа­ла, что по­ зво­л я­е т ши­р о­к о ис­ поль­зо­вать сайт и для стар­шей шко­лы. Понятно, что по су­ ще­с т­вую­щ им реа ­ли­ям и фор­м аль­ным тре­б о­в аниям Ин­т ернетучебник не мо­жет стать про­водником школь­но­го кур­са, и, сле­до­ ва­тель­но, го­дит­ся толь­ко как до­полнитель­ное по­со­бие. Во вся­ком слу­чае, сле­ду­ет за­яв­лять его ис­поль­зо­вание имен­но так, от­пи­сы­ вая класс­ные жур­на ­лы как по­ло­же­но. Но опе­ра­тив­ность ис­прав­ ления оши­бок и внесения из­менений, бес­плат­ность и дис­тан­ци­ он­ная доступ­ность, в том чис­ле и при под­го­тов­ке к ЕГЭ, де­ла­ют его доста­точ­но при­вле­ка­тель­ным по от­но­шению к го­раз­до бо­лее непо­во­рот­ли­вым бу­маж­ным со­брать­ям. А уж что ка­са­ет­ся СПО –

те­п ерь до­в од недоб­р о­ж е­л а­т е­л ей об учеб­н ой необес­п е­ч ен­н о­ сти по­те­рял вся­к ую поч­ву и мо­жет со­гре­вать толь­ко со­вер­шен­но несве­д у ­щ их и до сих пор не по­доз­ре­в аю­щ их о су ­ще­с т ­во­в ании гло­баль­ной Се­т и. За то го­ло­с у­е т и счет ­чик по­с е­щений сай ­т а – конеч­но, не как в ка­ком-нибудь Ин­тернет-ма­га­зине, но ста­биль­ ный (на­до по­ла­гать, учи­тель­ский) при­ход им по­ка­зы­ва­ет­ся. Ин­тернет-учебник по ин­фор­ма­т и­ке за­п у­щен в Сеть в ав­г у­с те 2009 г. ча­с т­ным об­ра­зом ис­к лю­чи­тель­но на осно­ве эн­т у­зи­а з­ма его ав­то­ров, и с тех пор по­с то­ян­но под­дер­ж и­ва­ет­ся и об­нов­ля­ ет­ся, неиз­мен­но ук ­ло­ня­ясь от по­пы­ток при­ру­чения и под­с тру­ги­ вания внешними си­ла­ми. В мар­те 2011 г. он был оч­но пред­став­лен на пер­вом Все­россий­ском съез­де учи­те­лей ин­фор­ма­ти­ки в МГУ18. В де­каб­ре то­го же го­да по­лу­чил сра­зу две на­гра­ды: стал лау­реа­ том все­россий­ско­го кон­к ур­са сай­тов «По­зи­тив­ный кон­тент-2011» в спец­н о­м и­н а­ц ии «Луч­ш ий сайт пе­д а­г о­г а»19 и по­б е­д и­т е­л ем (1‑е ме­с то) все­россий­ско­го кон­к ур­с а «ИТ-Про­рыв» в ка­те­го­рии «IT-обу­ч ение» (школь­н ые учи­т е­л я), но­м и­н а­ц ия «Элек ­т рон­н ые учеб­ные по­со­бия»20.

А на­после­док я ска­жу... По­жа ­луй, с си­бир­ской зи­мой и как ­т у­са­ми как яв­ления­ми те­к у­ще­ го мо­мен­та в школь­ном об­ра­зо­вании все яс­но. Кар­ти­на мерз­лая, но ее на­до ви­деть. Ина­че не возникнет по­пы­ток со­греть­ся, не за­ хо­чет­ся пред­принимать дей­ст­вий для от ­таи­вания. И еще я чи­тал, что сло­ва «сту­ж а» и «стыд» име­ют один древний ко­рень. Хо­те­ лось бы, что­бы эта связь про­дол­жа­лась. Ну, а что же борь­ба? Как и в чем она про­яв­ля­ет­ся? Тут по­до­ шли бы сло­ва аб­ба­та Фа­риа21, па­фосно и эф­фект­но про­изне­сен­ ные за­м е­ч а­т ель­н ым ПОСОБИЙ ак ­т е­р ом А.  Пет ­р ен­к о в филь­ме «Узник зам­ ка Иф» (1988): «Сын мой! Зло по­б е­д ить невоз­м ож­н о, по­т о­м у что борь­ба с ним и есть жизнь». Но ду­маю, что са­мо су­ще­с т­во­вание как­т у­сов, их неиз­мен­ное про­из­ра­стание, их по­ло­жи­тель­ная ре­зуль­та­тив­ность, их на­строй не на обя­за­тель­ность понимания и при­знания, а на ве­ру в поль­ зу сво­его де­ла – и есть их борь­ба. Им не нуж­но и некогда куль­ти­ ви­ро­вать ее са­мим, борь­ба возника­ет во­круг как след­с т­вие, как ес­т е­с т­вен­н ая сию­ми­н ут­н ая ре­а к­ц ия. Им успеть бы вы­полнить на­ме­чен­ное. По­том люди раз­бе­рут­ся. Как ско­ро – это про­бле­ма не кактусов. Ос­таль­ным оста­ет­ся по­же­лать хо­тя бы не ме­шать им, ес­ли уж не уме­ют их бе­речь в этой зи­ме. Та­ков мой сказ. |

«Интернет-учебник по ин­ форматике запущен в Сеть и поддерживается.»

Не бу­дем го­ло­слов­ны http://www.altlinux.ru/products/5th-platform/ school-box/ 2 http://linux.armd.ru/ru/distros/, http://www.spohelp. ru/ 3 «Ин­фор­ми­ка 6.0 Школь­ный», http://www.altlinux. ru/products/6th-platform/informika-school/; Edu­ Mandriva 2011, http://edumandriva.ru/LinuxWizard, http://school.linuxwizard.ru/ 4 http://www.info-altai.ru/news/vpervye-v-rossiisostoitsya-mezhdunarodnaya-konfer 5 http://kurs.mioo.ru/reg/courlist-n12.asp 6 http://www.raspo.ru/blog.html?id=116 7 http://www.raspo.ru/blog.html?id=119 8 «Си­д я на кра­си­вом хол­ме» (аль­бом «День се­реб­ра», 1984 г.), http://www.aquarium.ru/ discography/den_serebr216.html

1

http://government.ru/gov/results/13617/ http://www.rg.ru/2012/04/25/internet-dok.html 11 http://protect.gost.ru/document. aspx?control=7&id=177075 12 http://www.linuxformat.ru/download/foss-russia/ gost_54593-2011.pdf 13 http://www.raspo.ru/blog.html?id=118 14 На­зва­ние пес­ни из ре­пер­т уа­ра груп­пы «Нау ­ти­лус Пом­пи­ли­ус». Ав­тор сти­хов – И.  Кор­миль­цев 15 Фе­де­раль­ный пе­ре­чень ре­ко­мен­до­ван­ных и до­пу­ щен­ных учеб­ни­ков на 2012-2013 учеб­ный год, ут­вер­ж ден­ный при­ка­зом Ми­нобр­нау­ки Рос­сии от 27.12.2011 № 2885, http://www.edu.ru/db/mo/ Data/d_11/m2885.html 16 УМК Н. Д.  Уг­ри­но­ви­ча и УМК Л. Л.  Бо­со­вой и Л. Ю. Бо­со­вой, см. http://lbz.ru/books/376/ 9

10

Можно загрузить с сайта http://www.bhv.ru/peds/ inprint.php 18 http://it.teacher.msu.ru/tables, см.: Вы­гра­нен­ко М.  В., Вы­гра­нен­ко М.  А. Сво­бод­ное ме­то­ди­че­ское обес­пе­че­ние в под­держ­к у пе­ре­хо­да на сво­бод­ное про­грамм­ное обес­пе­че­ние при обу­че­нии ин­фор­ ма­ти­ке в ИКТ. // Все­рос­сий­ский съезд учи­те­лей ин­фор­ма­ти­ки. Мо­ск­ва, МГУ име­ни М. В.  Ло­мо­ но­со­ва. 24–26 мар­та 2011: Те­зи­сы док ­ла­дов.– М: Из­да­тель­ст­во Мо­с­ков­ско­го уни­вер­си­те­та, 2011. С. 698, 699 19 http://positivecontent.ru/node/1378 20 http://tvoystart.ru/news/news-41717/ ?ELEMENT_ID=41717&PAGEN_1=1 21 Пер­со­наж ро­ма­на А. Дю­ма «Граф Мон­те-Кри­сто». 17

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru

110  |  LXF162 Октябрь 2012


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Ubuntu – это но­вая Apple? По­тер­пел ли Linux крах на ра­бо­чем сто­ле?

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

Ко­манд­ная стро­ка из­жи­ла се­бя? Что важ­нее: сво­бо­да или функ­цио­наль­ность?

По­жа­луй­ста, вый­ди­те вон.

РЕДАКЦИЯ РУССКОЯЗЫЧНОЙ ВЕРСИИ Главный редактор Кирилл Степанов info@linuxformat.ru Литературный и выпускающий редактор Елена Толстякова Переводчики Еле­на Ес­с як, Свет­ла­на Кри­в о­ш еи­на, Ва­л ен­т ин Раз­воз­ж а­ев, Еле­на Тол­с тя­ко­в а Редактор диска Кирилл Степанов Верстка, допечатная подготовка Сергей Рогожников Технический директор Денис Филиппов Директор по рекламе Владимир Савельев advert@linuxformat.ru Генеральный директор Павел Фролов Учредители Частные лица Издатели Виктор Федосеев, Павел Фролов Отпечатано в ООО «ЛапинЪ» 188330, Ленинградская обл., Гатчинский р-н, пос. Сиверский, Вокзальная ул., 4 Заказ 7069

В ноябрьском номере

При­вет вам, Ли­нус! Мы по­се­ти­ли г-на Ли­ну­са Тор­вальд­са, когда он си­дел до­ма, ожи­дая ка­кой-то достав­ки, и рас­спро­си­ли его про эту шту­ку Linux. Не­ко­то­рые его от­ве­ты ста­ли для нас неожи­дан­но­стью...

OpenStreetMap Как по­мочь раз­ук­ра­сить кар­ту лю­дям, ко­то­рые не взи­ма­ют мзду за ис­поль­зо­вание их ин­фор­ма­ции. Google бя­ка!

3 язы­ка на 4‑х страницах Что­бы ра­зо­брать­ся в грам­ма­ти­ке язы­ка, на­до вы­учить дру­гие язы­ки. То же ка­са­ет­ся и язы­ков про­грам­ми­ро­вания.

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

РЕДАКЦИЯ АНГЛОЯЗЫЧНОЙ ВЕРСИИ Редактор Грэм Моррисон [Graham Morrison] graham.morrison@futurenet.com Заместитель редактора Эндрю Грегори [Andrew Gregory] agregory@futurenet.com Штатный автор Джо­на­т ан Ро­б ертс [Jonathan Roberts] jоnathan.roberts@futurenet.com Редактор диска Бен Эверард [Ben Everard] ben.everard@futurenet.com Художественный редактор Эфраин Эрнандес-Мендоса [Efrain Hernandez-Mendoza] efrain.hernandez-mendoza@futurenet.com Выпускающий редактор Гэри Уокер [Gary Walker] gary.walker@futurenet.com ПОДГОТОВКА МАТЕРИАЛОВ Нейл Бот­вик [Neil Bothwick], Крис Бра­у н [Chris Brown], Бен Эве­рард [Ben Everard], Джуль­е т­т а Кемп [Juliet Kemp], Джон Лэйн [John Lane], Джеймс Лит­т он [James Litton], Грэм Мор­р и­с он [Graham Morrison], Адам Окс­ф орд [Adam Oxford], Джо­на­т ан Ро­б ертс [Jonathan Roberts], Майк Сон­дерс [Mike Saunders], Маянк Шарма [Mayank Sharma], Ник Вейч [Nick Veitch], Ев­г е­ний Бал­д ин, Ми­х а­и л Вы­ гра­н ен­ко, Ар­т ем Зо­р ин, Алек­с ей Фе­дор­ч ук, Игорь Штом­пель Художественные ассистенты Стейси Блэк [Stacey Black], Кейт Мак-Доннел [Kate McDonnell] Иллюстрации Шейн Коллиндж [Shane Collinge], Elly Walton Illustrations, iStockPhoto, Саймон Миддлвик [Simon Middleweek] Фото Джейсон Каплан [Jason E.Kaplan] КОНТАКТНАЯ ИНФОРМАЦИЯ 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 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: lerkom yandex.ru

112  |  LXF162 Октябрь 2012


www.mandriva.ru

Mandriva Linux — один из самых популярных дистрибутивов GNU/Linux в мире. Главные преимущества Mandriva — дружелюбный интерфейс, простота настройки, возможность быстрой адаптации пользователей, ранее не знакомых с этой ОС, совместимость с широким спектром программного и аппаратного обеспечения. Кор­по­ра­тив­ные про­дук­ты Mandriva Linux Mandriva 2010.2 Powerpack Ди­с т­р и­б у ­т ив Mandriva 2010.2 Powerpack вклю­ч а­е т на­б ор офис­н ых и сер­вер­ных при­ло­жений, и под ­хо­дит для уста­нов­к и на офис­ной или до­машней ра­бо­чей стан­ции и на сер­ве­ре. Дру ­же­люб­ный ин­тер­фейс, про­ сто­та на­с трой­ки Mandriva Powerpack, со­вмес­ти­мость с ши­ро­ким спек­ тром ап­па­р ат­но­го обес­пе­чения и со­вмес­т и­мость с «1С:Пред­при­я тие» обес­п е­ч и­в а­ю т кор­п о­р а­т ив­н ым поль­з о­в а­т е­л ям воз­м ож­н ость лег­ко­г о пе­ре­хо­да с Windows на GNU / Linux.

Mandriva Enterprise Server 5 Mandriva Enterprise Server 5 (MES 5) — это на­д еж­н ый и про­и з­в о­д и­ тель­ный ди­с т­ри­бу ­т ив GNU  /  Linux для кор­по­р а­т ив­но­г о сер­ве­р а. MES 5 по­мо­жет вам снизить те­к у ­щ ие рас­хо­д ы и уп­ро­с тить ин­фра­с трук ­т у ­ру. В MES 5 ин­тег­ри­ро­ва­ны сер­вер­ные раз­ра­бот­ки про­грам­ми­стов Mandriva, в том чис­ле сер­вер ка­та ­ло­гов поль­зо­ва­те­лей Mandriva Directory Server, а так ­же ве­д у­щие сво­бод­ные сер­вер­ные при­ло­жения, ко­то­рые по­мо­г ут вам с миниму­мом за­трат вре­мени и энер­гии на­стро­ить и под­дер­жи­вать необ­хо­ди­мые вам сер­ве­ры. Срок под­держ­ки ди­ст­ри­бу­ти­ва — 5 лет.

Сер­ти­фи­ци­ро­ва­но ФСТЭК Ди­ст­ри­бу­ти­вы Mandriva Linux сер­ти­фи­ци­ро­ва­ны по тре­бо­ваниям ФСТЭК по 5 клас­су для СВТ и 4 уров­ню кон­тро­ля НДВ, что да­ет воз­мож­ность ис­поль­зо­вать их для об­ра­бот­ки кон­фи­ден­ци­а ль­ной ин­фор­ма­ции в авто­ ма­ти­зи­ро­ван­ных сис­те­мах клас­са до 1Г вклю­чи­тель­но и об­ра­бот­ки пер­ со­наль­ных дан­ных в ин­фор­ма­ци­он­ных сис­те­мах клас­са до К2 вклю­чи­ тель­но. —— Mandriva 2008 Spring Powerpack — ди­ст­ри­бу ­тив для ра­бо­чей стан­ции или неболь­шо­го сер­ве­ра. —— Mandriva Corporate Server 4 Update 3 — ди­ст­ри­бу ­тив для соз­дания кор­по­ра­тив­но­го сер­ве­ра. —— Mandriva Flash — ди­ст­ри­бу­тив GNU / Linux, за­гру­жаю­щий­ся и ра­бо­таю­щий пря­мо с USB-но­си­те­ля.

EduMandriva — сво­бод­ное ПО для об­­ра­­зо­­ва­ния —— Соз­да­но с уча­сти­ем россий­ских пре­по­да­ва­те­лей и ме­то­ди­стов. —— Все ПО, необ­хо­ди­мое для пре­по­да­вания ин­фор­ма­ти­ки. —— Ме­то­ди­че­­ские ма­те­риа ­лы.

Наименование Корпоративные продукты Mandriva Mandriva Linux 2010.2 Powerpack (DVD-Box) Услуга подписки на Mandriva Enterprise Server 5 на 1 год, базовый уровень (c физическим носителем) Услуга подписки на Mandriva Enterprise Server 5 на 3 года, базовый уровень (с физическим носителем) Продукты Mandriva для образования Комплект программного обеспечения Mandriva Linux и EduMandriva для школ Сертифицированные ФСТЭК продукты Mandriva Сертифицированный ФСТЭК Mandriva 2008 Spring Powerpack на 10 рабочих мест Сертифицированный ФСТЭК Mandriva 2008 Spring Powerpack на 5 рабочих мест Сертифицированный ФСТЭК Mandriva 2008 Spring Powerpack на 1 рабочее место Сертифицированный ФСТЭК Mandriva Corporate Server 4.0 Update 3

Стоимость, руб. 1 300 13 300 34 800 3 500 28 500 14 500 4 990 10 050

С во­про­са­ми по про­дук­там Mandriva об­ра­щайте­сь в ГНУ/Линуксцентр!

Москва +7 (499)

271‑49‑54

Т: Е ИСПОЛЬЗУЮ M ANDRIVA УЖ всоцразвития РФ, здра МВД РФ, Мин лики Са ха (Яку тия), уб Минфин респ Московской области, тво ьс ел ит ав Пр ского района ия Чернигов администрац края, ОАО «Морион», о Приморског тер-центр ов «Компью сеть магазин компаний «ИМАГ», па и», «КЕЙ», груп збука мебел компания «А другие. е и многи

Санкт-Петербург +7 (812)

309‑06‑86

Linux-эксперт для вашего бизнеса. www.linuxcenter.ru

Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Ýëåêòðîííàÿ êîïèÿ æóðíàëà Linux Format. Íåëåãàëüíîå ðàñïðîñòðàíåíèå ïðåñëåäóåòñÿ ïî çàêîíó Ô. Çàêàç LC0. Âëàäåëåö êîïèè: Íèëîâ Âàäèì Âëàäèìèðîâè÷, email: lerkom yandex.ru


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.