<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Makoron</id>
		<title>Linuxformat - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Makoron"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:Contributions/Makoron"/>
		<updated>2026-05-13T19:02:30Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>LXF93:Инструменты мобилизации</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2008-04-05T22:17:12Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Мобилизация в стиле Linux =&lt;br /&gt;
&lt;br /&gt;
''Навязчивая реклама утверждает, что мобильность - один из основных факторов, влияющих на имидж современного человека, и мы в редакции LXF ежедневно получаем пачки писем с просьбами «помочь настроить сотовый в Linux». К счастью, '''Павел Воронцов '''готов дать ответы на все интересующие вас вопросы.''&lt;br /&gt;
&lt;br /&gt;
Обладатели современных мобильных телефонов всегда сталкиваются с одной очень непростой задачей – обеспечением его связи с ПК или ноутбуком. Зачастую проблемы начинаются уже с момента покупки, когда радостный обладатель вполне многофункционального устройства обнаруживает отсутствие интерфейсного кабеля, а после его приобретения удивляется тому, что телефон при подключении не определяется как устройство хранения данных из-за отсутствия специализированного ПО. Конечно, есть другие интерфейсы взаимодействия, такие как IrDA и Bluetooth, но проблему установки ПО это не решает. Пользователям Windows все же проще – производители мобильных телефонов обычно не ленятся писать разнообразные, громоздкие и зачастую не слишком функциональные программы. А как быть тем, кто выбрал Linux? Попробуем разобраться.&lt;br /&gt;
&lt;br /&gt;
== OBEX. Обмен файлами ==&lt;br /&gt;
&lt;br /&gt;
Для передачи данных между различными мобильными устройствами и ПК обычно используется протокол обмена объектами ''OBEX ''(OBject Exchange). На сегодняшний день, данный протокол реализован на многих устройствах: PDA, таких как Palm Pilot и мобильных телефонах Siemens, Nokia, Sony-Ericsson и других. ''OBEX ''был разработан организацией IrDA (Infrared Data Association) и является высокоуровневым протоколом. Хотя первоначально он создавался для инфракрасных сетей, сейчас его можно использовать и с другими транспортами, такими как TCP/IP и Bluetooth. В Linux этот протокол реализует открытый проект ''OpenOBEX'' http://openobex.triq.net/&lt;br /&gt;
&lt;br /&gt;
Для примера возьмем мобильный телефон Benq-Siemens M81 и попробуем настроить соединение в Ubuntu Linux 6.10. Данный телефон имеет два способа подключения к ПК: посредством кабеля или через Bluetooth. Далее, чтобы не путать читателя, мы будем пользоваться вторым из них, тем более, что он является более универсальным. В Linux существует несколько реализаций данного протокола, но мы остановимся на BlueZ http://www.bluez.org/ Соответствующий модуль должен быть проинсталлирован и загружен в ядро (в современных дистрибутивах это происходит автоматически), кроме того, потребуется установить два пакета: bluez-libs и bluez-utils. Последний содержит демоны Bluetooth, файлы конфигурации и консольные утилиты. Подключите Bluetooth-адаптер к ПК, внесите необходимые изменения в файл '''/etc/ bluetooth/hcid.conf '''(см. ниже) и запустите демон: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo /etc/init.d/bluetooth start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В принципе, нам подойдут настройки по умолчанию. Рекомендую только проверить параметр security и, при необходимости, установить его значение в auto. Также стоит обратить внимание на параметр passkey. Это пароль, который будет автоматически передаваться при запросе соединения внешним устройством. Не поленитесь заглянуть в настройки Bluetooth на мобильном телефоне и проверить его: иногда проблемы связи возникают именно из-за этого. Я также добавил адрес своего Bluetooth-адаптера в список доверенных устройств.&lt;br /&gt;
&lt;br /&gt;
С паролями все ясно, теперь давайте проверим, все ли мы правильно сделали. Запустите команду hciconfig (HCI – это Host Controller Interface или, по-простому, ваш Bluetooth-адаптер):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ hciconfig&lt;br /&gt;
 hci0: Type: USB&lt;br /&gt;
 BD Address: 00:02:72:CC:EC:B2 ACL MTU: 1017:8 SCO MTU: 64:8&lt;br /&gt;
 UP RUNNING PSCAN ISCAN&lt;br /&gt;
 RX bytes:391 acl:0 sco:0 events:17 errors:0&lt;br /&gt;
 TX bytes:317 acl:0 sco:0 commands:17 errors:0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Устройство определено и работает (статус: UP). Мы также видим его MAC-адрес: 00:02:72:CC:EC:B2. Если устройство имеет статус DOWN, попробуйте ввести команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo hciconfig hci0 up &amp;amp;&amp;amp; hciconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь давайте поищем наш мобильный телефон. Для этого служит команда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
 00:11:22:33:44:55 MyMobile&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Как видно, устройство обнаружено: программа вывела имя и MAC-адрес телефона. Осталось только разобраться, как обеспечить обмен файлами. ''OpenOBEX ''– это набор библиотек, реализующих протокол, а нам необходимы программы, использующие его. На сайте разработчика ''OpenOBEX ''вы найдете пакеты ''ObexFTP ''и ''ObexFS ''– они-то нам и понадобятся. Вот так, например, можно вывести содержимое корневого каталога нашего тестового телефона:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ obexftp -b00:11:22:33:44:55 -B6 -l&lt;br /&gt;
 Browsing 00:11:22:33:44:55 ...&lt;br /&gt;
 Channel: 6&lt;br /&gt;
 Connecting...done&lt;br /&gt;
 Receiving “(null)”...\&amp;lt;?xml version=”1.0”?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE folder-listing SYSTEM “obex-folder-listing.dtd”&amp;gt;&lt;br /&gt;
 &amp;lt;folder-listing version=”1.0”&amp;gt;&lt;br /&gt;
 &amp;lt;folder name=”Data” modified=”19970101T000000” user-perm=”W”&lt;br /&gt;
 group-perm=”W” /&amp;gt;&lt;br /&gt;
 &amp;lt;folder name=”Cache” modified=”19970101T000000” user-perm=”W”&lt;br /&gt;
 group-perm=”W” /&amp;gt;&lt;br /&gt;
 &amp;lt;folder name=”Config” modified=”19970101T000000” user-perm=”W”&lt;br /&gt;
 group-perm=”W” /&amp;gt;&lt;br /&gt;
 &amp;lt;folder name=”MMCard” modified=”19970101T000000” user-perm=”W”&lt;br /&gt;
 group-perm=”RW” /&amp;gt;&lt;br /&gt;
 &amp;lt;/folder-listing&amp;gt;&lt;br /&gt;
 done&lt;br /&gt;
 Disconnecting...done&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание, что в качестве параметров ''ObexFTP ''я указал MAC-адрес телефона (00:11:22:33:44:55) и номер канала (6). Список всех доступных каналов определяется командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sdptool browse 00:11:22:33:44:55&lt;br /&gt;
 ...&lt;br /&gt;
 Service Name: OBEX File Transfer Service RecHandle: 0x11106 Service Class ID List:&lt;br /&gt;
 “OBEX File Transfer” (0x1106) Protocol Descriptor List:&lt;br /&gt;
 “L2CAP” (0x0100)&lt;br /&gt;
 “RFCOMM” (0x0003) Channel: 6&lt;br /&gt;
 “OBEX” (0x0008) Language Base Attr List:&lt;br /&gt;
 code_ISO639: 0x656e&lt;br /&gt;
 encoding: 0x6a&lt;br /&gt;
 base_offset: 0x100 Profile Descriptor List:&lt;br /&gt;
 “OBEX File Transfer” (0x1106) Version: 0x0100 ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нас интересует профиль под названием «OBEX File Transfer», его номер канала (Channel) как раз и равен 6. Устройства Bluetooth пользуются каналами во многом аналогично портам TCP/IP: для передачи разнотипных данных с одного адреса. Вы можете, например, одновременно использовать стереогарнитуру, работать в Интернете и копировать файлы. Существует несколько профилей Bluetooth, которые, в зависимости от задачи, задействуют тот или иной канал связи. Если вы посмотрите на полный список, то увидите профиль под названием «SerialPort». С телефоном можно работать, как с обычным COM-портом, но для этого его нужно предварительно настроить утилитой ''rfcomm'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo rfcomm bind rfcomm0 00:11:22:33:44:55 1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После этого вызов ''ObexFTP ''можно переписать, избавившись от малопонятных MAC-адресов и номеров каналов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ obexftp -t /dev/rfcomm0 -l&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если команда работает, то смело редактируйте конфигурационный файл '''/etc/bluetooth/rfcomm.conf''', чтобы устройство создавалось автоматически при запуске демона bluetooth. Пример такого файла приведен ниже:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 rfcomm0 {&lt;br /&gt;
 bind yes;&lt;br /&gt;
 device 00:11:22:33:44:55;&lt;br /&gt;
 channel 1;&lt;br /&gt;
 comment “Benq-Siemens M81”;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Программа ''ObexFTP ''позволяет обмениваться файлами, но пользоваться ею не слишком удобно – это консольное приложение, выводящее данные в формате XML. Неудивительно, что для нее существует несколько графических оболочек. Из их числа стоить отметить ''ObexTool ''– это самое простое решение в нашей непростой задаче. Программа имеет простой графический интерфейс и позволяет исследовать файловую систему мобильного телефона, а также совершать основные действия с файлами и каталогами.&lt;br /&gt;
&lt;br /&gt;
Есть и второй путь, более правильный и интересный: смонтировать файловую систему телефона как обычный диск. Проблема состоит в том, что вы не имеете доступа к файловой системе напрямую: все ваше общение происходит на уровне протокола ''OBEX'', но выход есть – создание виртуальной файловой системы. В этих словах нет ничего страшного. Для нас, пользователей, это означает, что нужно установить еще несколько пакетов и произвести кое-какие настройки. Все остальное возьмет на себя FUSE (Filesystem in Userspace), неоднократно упоминавшийся на страницах нашего журнала. Это модуль ядра и библиотеки, которые позволяют просто создавать и монтировать пользовательские файловые системы в режиме пользователя. Модуль ядра, скорее всего, у вас уже установлен, так что необходимо просто добавить пакеты ''libfuse2 ''и ''fuse-utils ''или собрать их самому. Все подробности можно найти на сайте http://fuse.sourceforge.net/ &lt;br /&gt;
&lt;br /&gt;
Для начала подготовим каталог для монтирования и выполним необходимые системные настройки. Во-первых, добавим текущего пользователя в группу fuse, чтобы он мог монтировать файловые системы:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo usermod -aG fuse имя_пользователя&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Во-вторых, создадим каталог монтирования:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo mkdir -m777 /media/mobile&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем к тому, ради чего мы все это затевали: к монтированию виртуальной файловой системы ''ObexFS''. Введем команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ obexfs -b00:11:22:33:44:55 -B6 /media/mobile&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
или&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ obexfs -t /dev/rfcomm0 /media/mobile&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файловая система будет смонтирована в '''/media/mobile'''. Теперь вы можете пользоваться вашим любимым файловым менеджером, и&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Врезка|left|&lt;br /&gt;
|Заголовок=Скорая помощь&lt;br /&gt;
|Содержание=Хочется также отметить еще одну виртуальную файловую систему, SieFS http://chaos.allsiemens.com/ . На странице автора сказано, что она предназначена для мобильных телефонов фирмы Siemens. Работоспособность на телефонах других фирм я не проверял.&lt;br /&gt;
|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
работать с файлами мобильного телефона как с обычным носителем. Для размонтирования необходимо ввести команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ fusermount -u /media/mobile&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Существуют и другие способы монтирования, например, всем известной командой ''mount'', также есть возможность прописать файловую систему в '''/etc/fstab'''. Все эти способы подробно описаны на странице программы.&lt;br /&gt;
&lt;br /&gt;
== Hayes. Совсем не забытое старое ==&lt;br /&gt;
Итак, с протоколом ''OBEX ''мы немного разобрались. Обмен файлами – задача важная, но не единственная. Плюс мобильного телефона – маленький размер – одновременно является и его минусом. ПК может сделать работу с телефоном более комфортной: например, читать SMS-сообщения с экрана монитора ПК намного приятнее, чем с маленького дисплея, а набирать их на большой клавиатуре куда удобнее, чем на маленькой 12-клавишной. Здесь возникает целый спектр задач: управление телефонными книгами, резервное копирование данных, синхронизация, да и просто использование коммуникационных возможностей мобильного телефона с ПК.&lt;br /&gt;
&lt;br /&gt;
Для управления телефоном используется протокол ''Hayes''. Это очень старый протокол, который был создан для управления модемами, но не потерял актуальности и по сей день. Он поддерживается практически всеми мобильными телефонами. Управление происходит посредством так называемых AT-команд. Есть стандартные команды, которые подойдут к любому устройству, но есть и специальные для конкретной модели телефона. К счастью, нам не придется писать эти команды вручную, поскольку существует множество разнообразных программ, способных сделать это за нас.&lt;br /&gt;
&lt;br /&gt;
Начнем, как это ни странно, с консольных приложений. Преимущества таких программ очевидны: они очень мощные и незаменимы при автоматизации вашей работы. Например, администратор, желающий получать оперативную информацию о работе сервера каждый час или при возникновении аварии, с легкостью напишет скрипт, использующий консольную программу, которая будет отсылать SMS с нужной информацией на определенный номер. Самый простой вариант – программа ''SCMxx ''http://www.hendrik-sattler.de/scmxx . К сожалению, она ориентирована на мобильные телефоны Siemens. Во всяком случае, автор не привел в списке совместимых устройств телефоны других фирм, но, скорее всего, большинство функций должно работать. Вот простой пример ее использования: данная команда отправляет Flash-SMS на заданный номер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ scmxx --device=/dev/rfcomm0 --send --sms --direct --flash --unicode --number=”+79031234567” --text=”Привет, я flash-sms!”&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flash-SMS ''– ''это специальное сообщение, сразу же отображаемое на экране телефона при получении (в разных аппаратах это реализовано по-разному). Такие сообщения обычно присылают сотовые операторы и с обычного мобильного телефона отправить его нельзя. Но так как программа сама формирует SMS-сообщение и может выставить любые значения в его служебных полях, то вы без труда отправите такое SMS, поразив тем самым своего друга или подругу. Разумеется, это не все, на что способна программа; вот пример резервного сохранения телефонной книги телефона в файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ scmxx –device /dev/rfcomm0 --get --pbook --mem=SM --out=SM.pb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратимся к другим вариантам. ''Gammu '' http://www.gammu.org/  – это даже не программа, это целый проект, который активно развивается. Список поддерживаемых устройств очень велик, функциональность просто впечатляет. ''Gammu ''состоит из двух частей: ядра, представленного библиотекой, и самой консольной программы ''gammu''. Такое исполнение очень удобно для разработчиков, которые не заставили себя долго ждать: на данный момент существует порядка 10 разных графических оболочек, использующих ядро ''gammu''. Перейдем сразу к обзору основных графических оболочек: они, конечно, не обеспечивают полный функционал ядра, но с ними легче работать пользователю.&lt;br /&gt;
&lt;br /&gt;
Для начала установим пакет ''libgammu1''. Он содержит то самое ядро, которое нам так необходимо. Пакет ''gammu ''содержит консольную программу, и если вы не хотите пользоваться ею, устанавливать его не обязательно.&lt;br /&gt;
&lt;br /&gt;
Начнем с программы ''Wammu ''http://wammu.eu/ . Это простой менеджер мобильного телефона, позволяющий редактировать телефонную книгу, читать и отправлять SMS-сообщения, звонить, делать резервные копии. ''Wammu ''также умеет работать с календарем и заметками. Программа написана на ''wxPython ''и использует ''wxWidgets'', кросс-платформенный GUI-инструментарий [в Linux его вызовы обычно транслируются GTK+, – прим. ред.]. Это означает как то, что программа может работать и в других операционных системах, так и то, что вам придется установить соответствующие библиотеки.&lt;br /&gt;
&lt;br /&gt;
Вторая программа - ''KMobileTools ''http://www.kmobiletools.org/ . По функциональности очень похожа на предыдущую, но гораздо удобнее и обладает очень приятным интерфейсом. Программа написана для KDE, соответственно использует KDE-библиотеки. ''KMobileTools ''не работает с органайзером, зато может синхронизировать адресную книгу мобильного телефона с адресной книгой KDE.&lt;br /&gt;
&lt;br /&gt;
Существуют и другие программы, ориентированные на конкретные модели телефонов. Например, для аппаратов Nokia существует программа ''gnokii ''http://www.gnokii.org/  со своими графическими оболочками, а для телефонов Motorola - программа ''moto4lin ''http://moto4lin.sourceforge.net/ . Также, не помешает заглянуть на сайт производителя телефона, там тоже можно найти специализированное ПО для Linux. Например, для телефонов Benq-Siemens существует программа ''XMPM ''(''X Mobile Phone Manager'').&lt;br /&gt;
&lt;br /&gt;
== GPRS – это просто ==&lt;br /&gt;
Перейдем к заключительной части статьи: настройке подключения к Интернету через GPRS. GPRS (General Packet Radio Service) – это надстройка над технологией мобильной связи GSM, осуществляющая пакетную передачу данных. Это позволяет обмениваться данными с внешними сетями, в том числе, Интернетом. При использовании GPRS информация собирается в пакеты, которые передаются через неиспользуемые в данный момент голосовые каналы. Такая технология предполагает более эффективное потребление ресурсов сети GSM. Существуют и другие технологии передачи данных, например CSD (Circuit Switched Data). По сути, это аналоговый модем, работающий в голосовом канале сети GSM, но ее скорость и качество связи явно уступают GPRS. С учетом того, что платить абоненту придется за время, а не за трафик, использовать CSD просто невыгодно.&lt;br /&gt;
&lt;br /&gt;
Вместо того, чтобы запутывать читателя «рецептами» настройки соединения c Интернетом через GPRS в Linux, мы постараемся объяснить сам принцип этой настройки. В последний раз я настроил GPRS-соединение спустя минуту после подключения телефона к ПК, и не потому что я фокусник, а потому что это действительно просто.&lt;br /&gt;
&lt;br /&gt;
Соединение устанавливается посредством протокола PPP (Point-to-Point Protocol) – это стандартный механизм для создания и запуска IP (Internet Protocol) и других сетевых протоколов на последовательных линиях связи. Для наглядности процесса будем использовать программу KPPP.&lt;br /&gt;
&lt;br /&gt;
Для начала добавим и настроим модем. Тут надо выбрать устройство последовательного порта, в нашем случае это будет '''/dev/rfcomm0'''. Необходимо также написать дополнительную строку инициализации для создания профиля соединения. Она имеет следующий вид&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 AT+CGDCONT=&amp;lt;cid&amp;gt;,&amp;lt;PDP_type&amp;gt;,&amp;lt;APN&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cid&amp;gt; - это идентификационный номер создаваемого профиля, именно на него будет ссылаться команда при установке соединения. Обычно этот параметр равен «1», но вы можете использовать и другой номер, например, для создания второго профиля для другого оператора. &amp;lt;PDP type&amp;gt; - тип соединения - “IP”, &amp;lt;APN&amp;gt; - адрес точки доступа, его нужно узнать у оператора. Для уверенности попробуйте ввести эту команду в терминальной программе (скажем, ''CuteCom, ''см. [[LXF92|LXF92]]'') ''и посмотрите на ответ телефона: он должен быть положительным. Например, для оператора Beeline строка инициализации будет следующей:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 AT+CGDCONT=1,”IP”,”internet.beeline.ru”.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь необходимо ввести номер телефона. По сути, это вовсе не номер, а продолжение команды ATD, которая должна установить GPRS-соединение для созданного нами профиля. Вот ее формат:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ATD*&amp;lt;GPRS_SC&amp;gt;*&amp;lt;L2P&amp;gt;*&amp;lt;cid&amp;gt;#&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры разделены символами * и заканчиваются символом #. &amp;lt;GPRS_SC&amp;gt; – это идентификатор принадлежности строки к GPRS, а не к аналоговому соединению, он всегда равен 99 (GPRS Service Code = 99). &amp;lt;L2P&amp;gt; – требуемый протокол 2-го уровня, в данном случае, значение параметра можно опустить. И наконец, &amp;lt;cid&amp;gt; – идентификатор профиля, созданного при инициализации. Как видите, все просто. «Номер телефона» – *99***1#. Осталось узнать у оператора имя пользователя и пароль и установить соединение.&lt;br /&gt;
&lt;br /&gt;
В принципе, на этом можно было бы и закончить, но есть еще один маленький нюанс. Мы настроили файловую систему, менеджер мобильного телефона и подключение к Интернету, используя одно и то же устройство – '''/dev/rfcomm0'''. Это нерационально, так как вы не сможете использовать все услуги одновременно: постоянно будут конфликты. Необходимо настроить разные задачи на собственные каналы Bluetooth. Так как протокол ''OBEX ''менее требователен к типу подключения, для него не обязательно выделять COM-устройство ('''/dev/rfcomm0'''). Лучше подключиться напрямую, указывая MAC-адрес и номер канала связи (6). С протоколом ''Hayes ''сложнее, ему необходима эмуляция COM-порта. Среди профилей Bluetooth вы найдете один с именем «Dialup Networking». В моем случае, его номер канала равен 2. Создайте еще одно устройство – '''/dev/rfcomm1''', настройте его на 2-й канал и используйте для подключения к Интернету:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $sudo rfcomm bind rfcomm1 11:22:33:44:55 2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Думаю, мне удалось показать, что работать с мобильным телефоном в Linux можно ничуть не хуже, чем в Windows, более того: в Linux эта работа эффективнее, а иногда и проще. Здесь есть очень много универсальных программ, а в Windows их меньше, из-за наличия родного ПО от производителя. В том, что касается виртуальной файловой системы, Linux вообще вне конкуренции. Есть, конечно, и минусы. Самый яркий - отсутствие программ для обновления прошивки телефона и работы с Flash-памятью, но, надеюсь, это всего лишь вопрос времени.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>LXF93:Инструменты мобилизации</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2008-04-05T22:08:57Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: = Мобилизация в стиле Linux =  ''Навязчивая реклама утверждает, что мобильность - один из основных факторо...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Мобилизация в стиле Linux =&lt;br /&gt;
&lt;br /&gt;
''Навязчивая реклама утверждает, что мобильность - один из основных факторов, влияющих на имидж современного человека, и мы в редакции LXF ежедневно получаем пачки писем с просьбами «помочь настроить сотовый в Linux». К счастью, '''Павел Воронцов '''готов дать ответы на все интересующие вас вопросы.''&lt;br /&gt;
&lt;br /&gt;
Обладатели современных мобильных телефонов всегда сталкиваются с одной очень непростой задачей – обеспечением его связи с ПК или ноутбуком. Зачастую проблемы начинаются уже с момента покупки, когда радостный обладатель вполне многофункционального устройства обнаруживает отсутствие интерфейсного кабеля, а после его приобретения удивляется тому, что телефон при подключении не определяется как устройство хранения данных из-за отсутствия специализированного ПО. Конечно, есть другие интерфейсы взаимодействия, такие как IrDA и Bluetooth, но проблему установки ПО это не решает. Пользователям Windows все же проще – производители мобильных телефонов обычно не ленятся писать разнообразные, громоздкие и зачастую не слишком функциональные программы. А как быть тем, кто выбрал Linux? Попробуем разобраться.&lt;br /&gt;
&lt;br /&gt;
== OBEX. Обмен файлами ==&lt;br /&gt;
&lt;br /&gt;
Для передачи данных между различными мобильными устройствами и ПК обычно используется протокол обмена объектами ''OBEX ''(OBject Exchange). На сегодняшний день, данный протокол реализован на многих устройствах: PDA, таких как Palm Pilot и мобильных телефонах Siemens, Nokia, Sony-Ericsson и других. ''OBEX ''был разработан организацией IrDA (Infrared Data Association) и является высокоуровневым протоколом. Хотя первоначально он создавался для инфракрасных сетей, сейчас его можно использовать и с другими транспортами, такими как TCP/IP и Bluetooth. В Linux этот протокол реализует открытый проект ''OpenOBEX'' http://openobex.triq.net/&lt;br /&gt;
&lt;br /&gt;
Для примера возьмем мобильный телефон Benq-Siemens M81 и попробуем настроить соединение в Ubuntu Linux 6.10. Данный телефон имеет два способа подключения к ПК: посредством кабеля или через Bluetooth. Далее, чтобы не путать читателя, мы будем пользоваться вторым из них, тем более, что он является более универсальным. В Linux существует несколько реализаций данного протокола, но мы остановимся на BlueZ http://www.bluez.org/ Соответствующий модуль должен быть проинсталлирован и загружен в ядро (в современных дистрибутивах это происходит автоматически), кроме того, потребуется установить два пакета: bluez-libs и bluez-utils. Последний содержит демоны Bluetooth, файлы конфигурации и консольные утилиты. Подключите Bluetooth-адаптер к ПК, внесите необходимые изменения в файл '''/etc/ bluetooth/hcid.conf '''(см. ниже) и запустите демон: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo /etc/init.d/bluetooth start&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В принципе, нам подойдут настройки по умолчанию. Рекомендую только проверить параметр security и, при необходимости, установить его значение в auto. Также стоит обратить внимание на параметр passkey. Это пароль, который будет автоматически передаваться при запросе соединения внешним устройством. Не поленитесь заглянуть в настройки Bluetooth на мобильном телефоне и проверить его: иногда проблемы связи возникают именно из-за этого. Я также добавил адрес своего Bluetooth-адаптера в список доверенных устройств.&lt;br /&gt;
&lt;br /&gt;
С паролями все ясно, теперь давайте проверим, все ли мы правильно сделали. Запустите команду hciconfig (HCI – это Host Controller Interface или, по-простому, ваш Bluetooth-адаптер):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ hciconfig&lt;br /&gt;
 hci0: Type: USB&lt;br /&gt;
 BD Address: 00:02:72:CC:EC:B2 ACL MTU: 1017:8 SCO MTU: 64:8&lt;br /&gt;
 UP RUNNING PSCAN ISCAN&lt;br /&gt;
 RX bytes:391 acl:0 sco:0 events:17 errors:0&lt;br /&gt;
 TX bytes:317 acl:0 sco:0 commands:17 errors:0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Устройство определено и работает (статус: UP). Мы также видим его MAC-адрес: 00:02:72:CC:EC:B2. Если устройство имеет статус DOWN, попробуйте ввести команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo hciconfig hci0 up &amp;amp;&amp;amp; hciconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь давайте поищем наш мобильный телефон. Для этого служит команда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
 00:11:22:33:44:55 MyMobile&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Как видно, устройство обнаружено: программа вывела имя и MAC-адрес телефона. Осталось только разобраться, как обеспечить обмен файлами. ''OpenOBEX ''– это набор библиотек, реализующих протокол, а нам необходимы программы, использующие его. На сайте разработчика ''OpenOBEX ''вы найдете пакеты ''ObexFTP ''и ''ObexFS ''– они-то нам и понадобятся. Вот так, например, можно вывести содержимое корневого каталога нашего тестового телефона:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ obexftp -b00:11:22:33:44:55 -B6 -l&lt;br /&gt;
 Browsing 00:11:22:33:44:55 ...&lt;br /&gt;
 Channel: 6&lt;br /&gt;
 Connecting...done&lt;br /&gt;
 Receiving “(null)”...\&amp;lt;?xml version=”1.0”?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE folder-listing SYSTEM “obex-folder-listing.dtd”&amp;gt;&lt;br /&gt;
 &amp;lt;folder-listing version=”1.0”&amp;gt;&lt;br /&gt;
 &amp;lt;folder name=”Data” modified=”19970101T000000” user-perm=”W”&lt;br /&gt;
 group-perm=”W” /&amp;gt;&lt;br /&gt;
 &amp;lt;folder name=”Cache” modified=”19970101T000000” user-perm=”W”&lt;br /&gt;
 group-perm=”W” /&amp;gt;&lt;br /&gt;
 &amp;lt;folder name=”Config” modified=”19970101T000000” user-perm=”W”&lt;br /&gt;
 group-perm=”W” /&amp;gt;&lt;br /&gt;
 &amp;lt;folder name=”MMCard” modified=”19970101T000000” user-perm=”W”&lt;br /&gt;
 group-perm=”RW” /&amp;gt;&lt;br /&gt;
 &amp;lt;/folder-listing&amp;gt;&lt;br /&gt;
 done&lt;br /&gt;
 Disconnecting...done&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратите внимание, что в качестве параметров ''ObexFTP ''я указал MAC-адрес телефона (00:11:22:33:44:55) и номер канала (6). Список всех доступных каналов определяется командой:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sdptool browse 00:11:22:33:44:55&lt;br /&gt;
 ...&lt;br /&gt;
 Service Name: OBEX File Transfer Service RecHandle: 0x11106 Service Class ID List:&lt;br /&gt;
 “OBEX File Transfer” (0x1106) Protocol Descriptor List:&lt;br /&gt;
 “L2CAP” (0x0100)&lt;br /&gt;
 “RFCOMM” (0x0003) Channel: 6&lt;br /&gt;
 “OBEX” (0x0008) Language Base Attr List:&lt;br /&gt;
 code_ISO639: 0x656e&lt;br /&gt;
 encoding: 0x6a&lt;br /&gt;
 base_offset: 0x100 Profile Descriptor List:&lt;br /&gt;
 “OBEX File Transfer” (0x1106) Version: 0x0100 ...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нас интересует профиль под названием «OBEX File Transfer», его номер канала (Channel) как раз и равен 6. Устройства Bluetooth пользуются каналами во многом аналогично портам TCP/IP: для передачи разнотипных данных с одного адреса. Вы можете, например, одновременно использовать стереогарнитуру, работать в Интернете и копировать файлы. Существует несколько профилей Bluetooth, которые, в зависимости от задачи, задействуют тот или иной канал связи. Если вы посмотрите на полный список, то увидите профиль под названием «SerialPort». С телефоном можно работать, как с обычным COM-портом, но для этого его нужно предварительно настроить утилитой ''rfcomm'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo rfcomm bind rfcomm0 00:11:22:33:44:55 1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После этого вызов ''ObexFTP ''можно переписать, избавившись от малопонятных MAC-адресов и номеров каналов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ obexftp -t /dev/rfcomm0 -l&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если команда работает, то смело редактируйте конфигурационный файл '''/etc/bluetooth/rfcomm.conf''', чтобы устройство создавалось автоматически при запуске демона bluetooth. Пример такого файла приведен ниже:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 rfcomm0 {&lt;br /&gt;
 bind yes;&lt;br /&gt;
 device 00:11:22:33:44:55;&lt;br /&gt;
 channel 1;&lt;br /&gt;
 comment “Benq-Siemens M81”;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Программа ''ObexFTP ''позволяет обмениваться файлами, но пользоваться ею не слишком удобно – это консольное приложение, выводящее данные в формате XML. Неудивительно, что для нее существует несколько графических оболочек. Из их числа стоить отметить ''ObexTool ''– это самое простое решение в нашей непростой задаче. Программа имеет простой графический интерфейс и позволяет исследовать файловую систему мобильного телефона, а также совершать основные действия с файлами и каталогами.&lt;br /&gt;
&lt;br /&gt;
Есть и второй путь, более правильный и интересный: смонтировать файловую систему телефона как обычный диск. Проблема состоит в том, что вы не имеете доступа к файловой системе напрямую: все ваше общение происходит на уровне протокола ''OBEX'', но выход есть – создание виртуальной файловой системы. В этих словах нет ничего страшного. Для нас, пользователей, это означает, что нужно установить еще несколько пакетов и произвести кое-какие настройки. Все остальное возьмет на себя FUSE (Filesystem in Userspace), неоднократно упоминавшийся на страницах нашего журнала. Это модуль ядра и библиотеки, которые позволяют просто создавать и монтировать пользовательские файловые системы в режиме пользователя. Модуль ядра, скорее всего, у вас уже установлен, так что необходимо просто добавить пакеты ''libfuse2 ''и ''fuse-utils ''или собрать их самому. Все подробности можно найти на сайте http://fuse.sourceforge.net/ &lt;br /&gt;
&lt;br /&gt;
Для начала подготовим каталог для монтирования и выполним необходимые системные настройки. Во-первых, добавим текущего пользователя в группу fuse, чтобы он мог монтировать файловые системы:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo usermod -aG fuse имя_пользователя&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Во-вторых, создадим каталог монтирования:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ sudo mkdir -m777 /media/mobile&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь перейдем к тому, ради чего мы все это затевали: к монтированию виртуальной файловой системы ''ObexFS''. Введем команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ obexfs -b00:11:22:33:44:55 -B6 /media/mobile&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
или&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ obexfs -t /dev/rfcomm0 /media/mobile&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Файловая система будет смонтирована в '''/media/mobile'''. Теперь вы можете пользоваться вашим любимым файловым менеджером, и&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Врезка|left|&lt;br /&gt;
|Заголовок=Скорая помощь&lt;br /&gt;
|Содержание=Хочется также отметить еще одну виртуальную файловую систему, SieFS http://chaos.allsiemens.com/ . На странице автора сказано, что она предназначена для мобильных телефонов фирмы Siemens. Работоспособность на телефонах других фирм я не проверял.&lt;br /&gt;
|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
работать с файлами мобильного телефона как с обычным носителем. Для размонтирования необходимо ввести команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ fusermount -u /media/mobile&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Существуют и другие способы монтирования, например, всем известной командой ''mount'', также есть возможность прописать файловую систему в '''/etc/fstab'''. Все эти способы подробно описаны на странице программы.&lt;br /&gt;
&lt;br /&gt;
== Hayes. Совсем не забытое старое ==&lt;br /&gt;
Итак, с протоколом ''OBEX ''мы немного разобрались. Обмен файлами – задача важная, но не единственная. Плюс мобильного телефона – маленький размер – одновременно является и его минусом. ПК может сделать работу с телефоном более комфортной: например, читать SMS-сообщения с экрана монитора ПК намного приятнее, чем с маленького дисплея, а набирать их на большой клавиатуре куда удобнее, чем на маленькой 12-клавишной. Здесь возникает целый спектр задач: управление телефонными книгами, резервное копирование данных, синхронизация, да и просто использование коммуникационных возможностей мобильного телефона с ПК.&lt;br /&gt;
&lt;br /&gt;
Для управления телефоном используется протокол ''Hayes''. Это очень старый протокол, который был создан для управления модемами, но не потерял актуальности и по сей день. Он поддерживается практически всеми мобильными телефонами. Управление происходит посредством так называемых AT-команд. Есть стандартные команды, которые подойдут к любому устройству, но есть и специальные для конкретной модели телефона. К счастью, нам не придется писать эти команды вручную, поскольку существует множество разнообразных программ, способных сделать это за нас.&lt;br /&gt;
&lt;br /&gt;
Начнем, как это ни странно, с консольных приложений. Преимущества таких программ очевидны: они очень мощные и незаменимы при автоматизации вашей работы. Например, администратор, желающий получать оперативную информацию о работе сервера каждый час или при возникновении аварии, с легкостью напишет скрипт, использующий консольную программу, которая будет отсылать SMS с нужной информацией на определенный номер. Самый простой вариант – программа ''SCMxx ''http://www.hendrik-sattler.de/scmxx . К сожалению, она ориентирована на мобильные телефоны Siemens. Во всяком случае, автор не привел в списке совместимых устройств телефоны других фирм, но, скорее всего, большинство функций должно работать. Вот простой пример ее использования: данная команда отправляет Flash-SMS на заданный номер:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ scmxx --device=/dev/rfcomm0 --send --sms --direct --flash --unicode --number=”+79031234567” --text=”Привет, я flash-sms!”&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flash-SMS ''– ''это специальное сообщение, сразу же отображаемое на экране телефона при получении (в разных аппаратах это реализовано по-разному). Такие сообщения обычно присылают сотовые операторы и с обычного мобильного телефона отправить его нельзя. Но так как программа сама формирует SMS-сообщение и может выставить любые значения в его служебных полях, то вы без труда отправите такое SMS, поразив тем самым своего друга или подругу. Разумеется, это не все, на что способна программа; вот пример резервного сохранения телефонной книги телефона в файл:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $ scmxx –device /dev/rfcomm0 --get --pbook --mem=SM --out=SM.pb&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обратимся к другим вариантам. ''Gammu '' http://www.gammu.org/  – это даже не программа, это целый проект, который активно развивается. Список поддерживаемых устройств очень велик, функциональность просто впечатляет. ''Gammu ''состоит из двух частей: ядра, представленного библиотекой, и самой консольной программы ''gammu''. Такое исполнение очень удобно для разработчиков, которые не заставили себя долго ждать: на данный момент существует порядка 10 разных графических оболочек, использующих ядро ''gammu''. Перейдем сразу к обзору основных графических оболочек: они, конечно, не обеспечивают полный функционал ядра, но с ними легче работать пользователю.&lt;br /&gt;
&lt;br /&gt;
Для начала установим пакет ''libgammu1''. Он содержит то самое ядро, которое нам так необходимо. Пакет ''gammu ''содержит консольную программу, и если вы не хотите пользоваться ею, устанавливать его не обязательно.&lt;br /&gt;
&lt;br /&gt;
Начнем с программы ''Wammu ''http://wammu.eu/ . Это простой менеджер мобильного телефона, позволяющий редактировать телефонную книгу, читать и отправлять SMS-сообщения, звонить, делать резервные копии. ''Wammu ''также умеет работать с календарем и заметками. Программа написана на ''wxPython ''и использует ''wxWidgets'', кросс-платформенный GUI-инструментарий [в Linux его вызовы обычно транслируются GTK+, – прим. ред.]. Это означает как то, что программа может работать и в других операционных системах, так и то, что вам придется установить соответствующие библиотеки.&lt;br /&gt;
&lt;br /&gt;
Вторая программа - ''KMobileTools ''http://www.kmobiletools.org/ . По функциональности очень похожа на предыдущую, но гораздо удобнее и обладает очень приятным интерфейсом. Программа написана для KDE, соответственно использует KDE-библиотеки. ''KMobileTools ''не работает с органайзером, зато может синхронизировать адресную книгу мобильного телефона с адресной книгой KDE.&lt;br /&gt;
&lt;br /&gt;
Существуют и другие программы, ориентированные на конкретные модели телефонов. Например, для аппаратов Nokia существует программа ''gnokii ''http://www.gnokii.org/  со своими графическими оболочками, а для телефонов Motorola - программа ''moto4lin ''http://moto4lin.sourceforge.net/ . Также, не помешает заглянуть на сайт производителя телефона, там тоже можно найти специализированное ПО для Linux. Например, для телефонов Benq-Siemens существует программа ''XMPM ''(''X Mobile Phone Manager'').&lt;br /&gt;
&lt;br /&gt;
== GPRS – это просто ==&lt;br /&gt;
Перейдем к заключительной части статьи: настройке подключения к Интернету через GPRS. GPRS (General Packet Radio Service) – это надстройка над технологией мобильной связи GSM, осуществляющая пакетную передачу данных. Это позволяет обмениваться данными с внешними сетями, в том числе, Интернетом. При использовании GPRS информация собирается в пакеты, которые передаются через неиспользуемые в данный момент голосовые каналы. Такая технология предполагает более эффективное потребление ресурсов сети GSM. Существуют и другие технологии передачи данных, например CSD (Circuit Switched Data). По сути, это аналоговый модем, работающий в голосовом канале сети GSM, но ее скорость и качество связи явно уступают GPRS. С учетом того, что платить абоненту придется за время, а не за трафик, использовать CSD просто невыгодно.&lt;br /&gt;
&lt;br /&gt;
Вместо того, чтобы запутывать читателя «рецептами» настройки соединения c Интернетом через GPRS в Linux, мы постараемся объяснить сам принцип этой настройки. В последний раз я настроил GPRS-соединение спустя минуту после подключения телефона к ПК, и не потому что я фокусник, а потому что это действительно просто.&lt;br /&gt;
&lt;br /&gt;
Соединение устанавливается посредством протокола PPP (Point-to-Point Protocol) – это стандартный механизм для создания и запуска IP (Internet Protocol) и других сетевых протоколов на последовательных линиях связи. Для наглядности процесса будем использовать программу KPPP.&lt;br /&gt;
&lt;br /&gt;
Для начала добавим и настроим модем. Тут надо выбрать устройство последовательного порта, в нашем случае это будет '''/dev/rfcomm0'''. Необходимо также написать дополнительную строку инициализации для создания профиля соединения. Она имеет следующий вид&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 AT+CGDCONT=&amp;lt;cid&amp;gt;,&amp;lt;PDP_type&amp;gt;,&amp;lt;APN&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;cid&amp;gt; - это идентификационный номер создаваемого профиля, именно на него будет ссылаться команда при установке соединения. Обычно этот параметр равен «1», но вы можете использовать и другой номер, например, для создания второго профиля для другого оператора. &amp;lt;PDP type&amp;gt; - тип соединения - “IP”, &amp;lt;APN&amp;gt; - адрес точки доступа, его нужно узнать у оператора. Для уверенности попробуйте ввести эту команду в терминальной программе (скажем, ''CuteCom, ''см. LXF92'') ''и посмотрите на ответ телефона: он должен быть положительным. Например, для оператора Beeline строка инициализации будет следующей:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 AT+CGDCONT=1,”IP”,”internet.beeline.ru”.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь необходимо ввести номер телефона. По сути, это вовсе не номер, а продолжение команды ATD, которая должна установить GPRS-соединение для созданного нами профиля. Вот ее формат:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ATD*&amp;lt;GPRS_SC&amp;gt;*&amp;lt;L2P&amp;gt;*&amp;lt;cid&amp;gt;#&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры разделены символами * и заканчиваются символом #. &amp;lt;GPRS_SC&amp;gt; – это идентификатор принадлежности строки к GPRS, а не к аналоговому соединению, он всегда равен 99 (GPRS Service Code = 99). &amp;lt;L2P&amp;gt; – требуемый протокол 2-го уровня, в данном случае, значение параметра можно опустить. И наконец, &amp;lt;cid&amp;gt; – идентификатор профиля, созданного при инициализации. Как видите, все просто. «Номер телефона» – *99***1#. Осталось узнать у оператора имя пользователя и пароль и установить соединение.&lt;br /&gt;
&lt;br /&gt;
В принципе, на этом можно было бы и закончить, но есть еще один маленький нюанс. Мы настроили файловую систему, менеджер мобильного телефона и подключение к Интернету, используя одно и то же устройство – '''/dev/rfcomm0'''. Это нерационально, так как вы не сможете использовать все услуги одновременно: постоянно будут конфликты. Необходимо настроить разные задачи на собственные каналы Bluetooth. Так как протокол ''OBEX ''менее требователен к типу подключения, для него не обязательно выделять COM-устройство ('''/dev/rfcomm0'''). Лучше подключиться напрямую, указывая MAC-адрес и номер канала связи (6). С протоколом ''Hayes ''сложнее, ему необходима эмуляция COM-порта. Среди профилей Bluetooth вы найдете один с именем «Dialup Networking». В моем случае, его номер канала равен 2. Создайте еще одно устройство – '''/dev/rfcomm1''', настройте его на 2-й канал и используйте для подключения к Интернету:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 $sudo rfcomm bind rfcomm1 11:22:33:44:55 2&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Думаю, мне удалось показать, что работать с мобильным телефоном в Linux можно ничуть не хуже, чем в Windows, более того: в Linux эта работа эффективнее, а иногда и проще. Здесь есть очень много универсальных программ, а в Windows их меньше, из-за наличия родного ПО от производителя. В том, что касается виртуальной файловой системы, Linux вообще вне конкуренции. Есть, конечно, и минусы. Самый яркий - отсутствие программ для обновления прошивки телефона и работы с Flash-памятью, но, надеюсь, это всего лишь вопрос времени.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-04-05T21:58:57Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]] Клиент потокового вещания&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]] Резервное копирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Сравнение ===&lt;br /&gt;
* [[LXF93:Сравнение|Командные оболочки]]&lt;br /&gt;
Не забирались дальше Bash? Оболочка – не просто поле для ввода команд, так что познакомьтесь с парочкой экземпляров из коллекции &lt;br /&gt;
Нейла Ботвика.&lt;br /&gt;
&lt;br /&gt;
=== Спецрепортаж ===&lt;br /&gt;
* [[LXF93:Спецрепортаж|Арсенал сисадмина]] &lt;br /&gt;
Как упростить и ускорить управление вашей системой&lt;br /&gt;
&lt;br /&gt;
=== Интервью ===&lt;br /&gt;
* [[LXF93:Интервью|Джереми Эллисон]]&lt;br /&gt;
Уход из Novell сделал его героем мира Open Source, но Джереми Эллисон просто хочет работать над Samba. И играть в Half-Life.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Мытарства композитора|Мытарства композитора]] Создаем Linux-студию звукозаписи.&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Kamion|KDE4 на колесах]] Мгновенный перенос пользователей с Kamion:  предварительный обзор и HOWTO.&lt;br /&gt;
&lt;br /&gt;
[[LXF93:SELinux|Доступно о SELinux]] Проверенные подходы к укреплению безопасности.&lt;br /&gt;
&lt;br /&gt;
=== Что за штука... ===&lt;br /&gt;
* [[LXF93:Что за штука|Что за штука... D?]]&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Инструменты мобилизации|Инструменты мобилизации]] Подключите свой сотовый телефон к компьютеру, чтобы  использовать его на полную катушку&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:%D0%A7%D1%82%D0%BE_%D0%B7%D0%B0_%D1%88%D1%82%D1%83%D0%BA%D0%B0</id>
		<title>LXF93:Что за штука</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:%D0%A7%D1%82%D0%BE_%D0%B7%D0%B0_%D1%88%D1%82%D1%83%D0%BA%D0%B0"/>
				<updated>2008-04-05T17:23:42Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Что за штука...D? ==&lt;br /&gt;
&lt;br /&gt;
Вам наскучил B? Надоел C? '''Пол Хадсон '''проследует по алфавиту и покажет новый способ программировать.&lt;br /&gt;
&lt;br /&gt;
'''»Это была шутка насчет «B», так ведь?'''&lt;br /&gt;
&lt;br /&gt;
Э-э-э...?&lt;br /&gt;
&lt;br /&gt;
'''»Я слышал про C. Так называется язык программирования, на котором написано ядро Linux.'''&lt;br /&gt;
&lt;br /&gt;
Ну да. А еще - большая часть Gnome, ''X.org, Apache ''и тысячи других проектов.&lt;br /&gt;
&lt;br /&gt;
'''» Достаточно, я понял. Но неужели вы хотите сказать, что язык программирования B тоже существует?'''&lt;br /&gt;
&lt;br /&gt;
Уверяю вас, так оно и есть. Язык B существовал еще до C, и вообще говоря, С является прямым потомком B. Такие хорошо известные элементы C, как операторы ++ и --, а также комментарии вида /* */ впервые появились в B. Но у B были свои ограничения, и поэтому его создатели, Кен Томпсон (Ken Thompson) и Дэннис Ричи (Dennis Ritchie), разработали кое-что получше.&lt;br /&gt;
&lt;br /&gt;
'''»И назвали C?'''&lt;br /&gt;
&lt;br /&gt;
Точно! Так как эта буква следует за B в латинском алфавите.&lt;br /&gt;
&lt;br /&gt;
'''»Выходит, шутка про C++ не такая уж и оригинальная!'''&lt;br /&gt;
&lt;br /&gt;
Ну да, хотя любой хороший программист подтвердит вам, что правильнее было бы назвать его ++С.&lt;br /&gt;
&lt;br /&gt;
'''» Простите, не понял...'''&lt;br /&gt;
&lt;br /&gt;
Неважно. Сегодня мы говорим про D. По этому названию вы можете видеть, что авторы рассчитывают сделать очередное улучшение над C и С++.&lt;br /&gt;
&lt;br /&gt;
'''» Примерно как Java и C#?'''&lt;br /&gt;
&lt;br /&gt;
Ну, их создатели тоже считали, что занимаются улучшением C и С++. Но, в отличие от Java и C#, D разрабатывается как расширение C++, каким в свое время С++ был для C. Благодаря этому программистам на C++ будет легко выучить его. При этом у D есть много новых возможностей, таких как встроенная поддержка Unicode и сборка мусора.&lt;br /&gt;
&lt;br /&gt;
'''»Хм, но про Java и C# говорят в точности то же самое! Разве нам не достаточно существующих перепевок С++?'''&lt;br /&gt;
&lt;br /&gt;
Но вы не слышали еще об одном важном отличии! Java и C# работают в виртуальных машинах и благодаря этому могут обеспечить самую причудливую защиту памяти. А D компилируется в родной машинный код, точно так же как C. Это означает, что (теоретически) код, написанный на D и на С будет работать с одинаковой скоростью. Кроме того, системные вызовы D совместимы со стандартом С, чего не скажешь о Java или C#, которым требуется специальный промежуточный слой, чтобы выбраться из виртуальной песочницы.&lt;br /&gt;
&lt;br /&gt;
'''»А какие еще функции D унаследованы от C#?'''&lt;br /&gt;
&lt;br /&gt;
Как и C# или Java, язык D содержит string в числе базовых типов данных, а это значит, что про символьные массивы можно счастливо забыть. В стандартной библиотеке C++ уже есть концепция строкового типа, но там он прикручен сбоку и не является неотъемлемой частью языка. Например, вы пробовали сделать блок switch/case на основе строковой переменной? Нет? Это потому, что в C++ это было бы невозможно.&lt;br /&gt;
&lt;br /&gt;
Превращение строк в более сложные объекты нарушает совместимость с C, но это не проблема - вы всегда можете использовать для любой D-строки метод c_str(), который возвращает обычный символьный массив, пригодный для передачи в любую функцию C.&lt;br /&gt;
&lt;br /&gt;
Кстати, в D стали умнее не только символьные массивы. Фактически, все массивы в D автоматически обзавелись метаданными, такими как размер. В C эту информацию приходилось сопровождать и обрабатывать вручную.&lt;br /&gt;
&lt;br /&gt;
Некоторые новые ключевые слова, такие как finally (выполнить некий блок кода в любой ситуации) или foreach (быстрый перебор элементов массива), тоже были привнесены в D из C#.&lt;br /&gt;
&lt;br /&gt;
'''»Итак, D - это некоторое расширение C++?'''&lt;br /&gt;
&lt;br /&gt;
У D есть много функций, привнесенных из других языков программирования, но помимо этого, его разработчики воспользовались случаем избавиться от некоторых элементов C++, которые им нравились меньше всего. Например, под нож попало множественное наследование. Препроцессор тоже был уничтожен, а это значит, что макросы погибли вместе с ним. Пропали заголовочные файлы, пространства имен и ранние объявления (forward declarations). Последние оставались еще с тех времен, когда компиляторы были гораздо менее умными. Ну и, конечно, появилась автоматическая сборка мусора...&lt;br /&gt;
&lt;br /&gt;
'''» Погодите, разве вы не говорили только что, что D совместим с C?'''&lt;br /&gt;
&lt;br /&gt;
Э нет, я говорил что D совместим с системными вызовами C, то есть вы можете пользоваться C-функциями вроде printf() в D-программах. Но, из-за большого объема добавлений и удалений, D и C не совместимы на уровне исходного кода. Это значит, что вы не можете взять C-код и скомпилировать его с помощью компилятора D. Но некоторые новшества D, вроде использования int[3] foo вместо int foo[3], в целях обратной совместимости можно и проигнорировать, так что переносите свой код на D, когда будете к этому готовы.&lt;br /&gt;
&lt;br /&gt;
'''»Если D включает в себя сборку мусора, как он может создавать столь же быстрый код, что и C?'''&lt;br /&gt;
&lt;br /&gt;
Ну, на самом деле современные системы сборки мусора позволяют программам работать даже быстрее, чем программы с ручным управлением памятью. Да, я знаю, что это противоречит вашим интуитивным ощущениям, но подождите, и я все объясню.&lt;br /&gt;
&lt;br /&gt;
Во-первых, сборка мусора запускается только тогда, когда памяти становится слишком мало, а это значит, что память не освобождается, пока в этом не появится необходимость. Для большинства программ может оказаться, что за время их работы сборка мусора не запустится ни разу - а это большой выигрыш в производительности по сравнению с С, в котором память освобождается всегда, вне зависимости от того, нужна она сейчас для чего-нибудь еще или нет.&lt;br /&gt;
&lt;br /&gt;
Во-вторых, объекты C++ освобождают память с помощью вызова метода деструктора, что может сильно замедлить работу, особенно если нужно освободить несколько тысяч объектов. В-третьих, сборка мусора автоматически перегруппирует кучу, что улучшает производительность памяти.&lt;br /&gt;
&lt;br /&gt;
'''» Достаточно! Но ведь в сборке мусора должны быть и отрицательные моменты.'''&lt;br /&gt;
&lt;br /&gt;
Да, и вполне обычные - она увеличивает объем кода, а также вполне может запуститься в тот момент, когда вам меньше всего этого хотелось бы, что может время от времени приводить к появлению маленьких пауз в работе вашего приложения. Но эти проблемы совершенно ничтожны по сравнению с тем, сколько времени сборка мусора экономит для программиста! Последней сложностью является необходимость модифицировать ее код так, чтобы он мог запускаться на различных операционных системах.&lt;br /&gt;
&lt;br /&gt;
'''»О, вы меня просто заинтриговали этим D! Как бы мне попробовать его на практике?'''&lt;br /&gt;
&lt;br /&gt;
Никак. D существует только в теории.&lt;br /&gt;
&lt;br /&gt;
'''»Что? Вы хотите сказать, что я провел последние 10 минут, забивая свою голову этой...'''&lt;br /&gt;
&lt;br /&gt;
Шучу, шучу. На самом деле уже существует два работающих компилятора D - ''DMD ''и ''GDC. ''Первый из них -это официальный пример реализации компилятора, а второй - модуль к GCC. Официальный компилятор хорош своей 100% совместимостью со стандартом, чего пока нельзя сказать по ''GDC. ''Но при этом ''DMD ''имеет частично закрытые исходные тексты - часть, преобразующая D в промежуточный код, открыта, а вот компилятор промежуточного кода в тот или иной машинный - проприетарный. Сейчас эту проблему решают так: CDG использует открытый модуль, а результат его работы передает GCC, имеющему свой собственный слой генерации машинного кода. Благодаря этому ''GDC ''работает на большом числе платформ, включая Linux, Mac OS X, FreeBSD, Windows и AIX, как на 32-х, так и на 64-битных компьютерах.&lt;br /&gt;
&lt;br /&gt;
'''»Мне казалось, что GCC работает на большем количестве платформ.'''&lt;br /&gt;
&lt;br /&gt;
Так и есть, но как я уже упоминал, код сборщика мусора приходится модифицировать для каждой новой операционной системы. Это не такая уж большая работа, и ее нужно сделать только один раз при портировании GCD на новую платформу, но пока ее сделали только для тех систем, которые я перечислил выше.&lt;br /&gt;
&lt;br /&gt;
'''»Вам пора привести список ссылок, поскольку доступное место уже кончается.'''&lt;br /&gt;
&lt;br /&gt;
Хе, вовремя подмечено! О’кей, если вы хотите побольше узнать про D, зайдите на его официальную домашнюю страницу по адресу http://www.digitalmars.com/d/index.html. Вы можете скачать компилятор ''DMD ''на этой же странице (посмотрите под меню Tool в левой ее части). Компилятор ''GDC ''расположен на SourceForge: http://dgcc.sourceforge.net/.&lt;br /&gt;
&lt;br /&gt;
Если вы любите работать с подсветкой синтаксиса при редактировании кода, то вам будет приятно узнать, что многие редакторы уже поддерживают синтаксис D. ''Vim, ''начиная с версии 6.3, включает режим D как один из стандартных. Пользователи ''Emacs ''могут скачать модуль для D с http://www.prowiki.org/wiki4d/wiki.cgi?EditorSupport/EmacsDMode . Если вы используете Kate, то вам не повезло. Но даже если ваш любимый редактор не понимает D, вы можете попытать счастья с режимами Java или C#, поскольку их синтаксис наиболее близок к синтаксису D.&lt;br /&gt;
&lt;br /&gt;
'''»Круто! Большое спасибо за то, что рассказали мне про D. Если на этом все, то я пойду и попробую поработать с ним прямо сейчас!'''&lt;br /&gt;
&lt;br /&gt;
Пожалуйста! А в следующем месяце мы с вами рассмотрим E.&lt;br /&gt;
&lt;br /&gt;
'''»E?! Это шутка, так ведь?'''&lt;br /&gt;
&lt;br /&gt;
Подождите немного, и увидите.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:%D0%A7%D1%82%D0%BE_%D0%B7%D0%B0_%D1%88%D1%82%D1%83%D0%BA%D0%B0</id>
		<title>LXF93:Что за штука</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:%D0%A7%D1%82%D0%BE_%D0%B7%D0%B0_%D1%88%D1%82%D1%83%D0%BA%D0%B0"/>
				<updated>2008-04-05T17:21:56Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: Что за штука...D?  Вам наскучил B? Надоел C? '''Пол Хадсон '''проследует по алфавиту и покажет новый способ п...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Что за штука...D?&lt;br /&gt;
&lt;br /&gt;
Вам наскучил B? Надоел C? '''Пол Хадсон '''проследует по алфавиту и покажет новый способ программировать.&lt;br /&gt;
&lt;br /&gt;
'''»Это была шутка насчет «B», так ведь?'''&lt;br /&gt;
&lt;br /&gt;
Э-э-э...?&lt;br /&gt;
&lt;br /&gt;
'''»Я слышал про C. Так называется язык программирования, на котором написано ядро Linux.'''&lt;br /&gt;
&lt;br /&gt;
Ну да. А еще - большая часть Gnome, ''X.org, Apache ''и тысячи других проектов.&lt;br /&gt;
&lt;br /&gt;
'''» Достаточно, я понял. Но неужели вы хотите сказать, что язык программирования B тоже существует?'''&lt;br /&gt;
&lt;br /&gt;
Уверяю вас, так оно и есть. Язык B существовал еще до C, и вообще говоря, С является прямым потомком B. Такие хорошо известные элементы C, как операторы ++ и --, а также комментарии вида /* */ впервые появились в B. Но у B были свои ограничения, и поэтому его создатели, Кен Томпсон (Ken Thompson) и Дэннис Ричи (Dennis Ritchie), разработали кое-что получше.&lt;br /&gt;
&lt;br /&gt;
'''»И назвали C?'''&lt;br /&gt;
&lt;br /&gt;
Точно! Так как эта буква следует за B в латинском алфавите.&lt;br /&gt;
&lt;br /&gt;
'''»Выходит, шутка про C++ не такая уж и оригинальная!'''&lt;br /&gt;
&lt;br /&gt;
Ну да, хотя любой хороший программист подтвердит вам, что правильнее было бы назвать его ++С.&lt;br /&gt;
&lt;br /&gt;
'''» Простите, не понял...'''&lt;br /&gt;
&lt;br /&gt;
Неважно. Сегодня мы говорим про D. По этому названию вы можете видеть, что авторы рассчитывают сделать очередное улучшение над C и С++.&lt;br /&gt;
&lt;br /&gt;
'''» Примерно как Java и C#?'''&lt;br /&gt;
&lt;br /&gt;
Ну, их создатели тоже считали, что занимаются улучшением C и С++. Но, в отличие от Java и C#, D разрабатывается как расширение C++, каким в свое время С++ был для C. Благодаря этому программистам на C++ будет легко выучить его. При этом у D есть много новых возможностей, таких как встроенная поддержка Unicode и сборка мусора.&lt;br /&gt;
&lt;br /&gt;
'''»Хм, но про Java и C# говорят в точности то же самое! Разве нам не достаточно существующих перепевок С++?'''&lt;br /&gt;
&lt;br /&gt;
Но вы не слышали еще об одном важном отличии! Java и C# работают в виртуальных машинах и благодаря этому могут обеспечить самую причудливую защиту памяти. А D компилируется в родной машинный код, точно так же как C. Это означает, что (теоретически) код, написанный на D и на С будет работать с одинаковой скоростью. Кроме того, системные вызовы D совместимы со стандартом С, чего не скажешь о Java или C#, которым требуется специальный промежуточный слой, чтобы выбраться из виртуальной песочницы.&lt;br /&gt;
&lt;br /&gt;
'''»А какие еще функции D унаследованы от C#?'''&lt;br /&gt;
&lt;br /&gt;
Как и C# или Java, язык D содержит string в числе базовых типов данных, а это значит, что про символьные массивы можно счастливо забыть. В стандартной библиотеке C++ уже есть концепция строкового типа, но там он прикручен сбоку и не является неотъемлемой частью языка. Например, вы пробовали сделать блок switch/case на основе строковой переменной? Нет? Это потому, что в C++ это было бы невозможно.&lt;br /&gt;
&lt;br /&gt;
Превращение строк в более сложные объекты нарушает совместимость с C, но это не проблема - вы всегда можете использовать для любой D-строки метод c_str(), который возвращает обычный символьный массив, пригодный для передачи в любую функцию C.&lt;br /&gt;
&lt;br /&gt;
Кстати, в D стали умнее не только символьные массивы. Фактически, все массивы в D автоматически обзавелись метаданными, такими как размер. В C эту информацию приходилось сопровождать и обрабатывать вручную.&lt;br /&gt;
&lt;br /&gt;
Некоторые новые ключевые слова, такие как finally (выполнить некий блок кода в любой ситуации) или foreach (быстрый перебор элементов массива), тоже были привнесены в D из C#.&lt;br /&gt;
&lt;br /&gt;
'''»Итак, D - это некоторое расширение C++?'''&lt;br /&gt;
&lt;br /&gt;
У D есть много функций, привнесенных из других языков программирования, но помимо этого, его разработчики воспользовались случаем избавиться от некоторых элементов C++, которые им нравились меньше всего. Например, под нож попало множественное наследование. Препроцессор тоже был уничтожен, а это значит, что макросы погибли вместе с ним. Пропали заголовочные файлы, пространства имен и ранние объявления (forward declarations). Последние оставались еще с тех времен, когда компиляторы были гораздо менее умными. Ну и, конечно, появилась автоматическая сборка мусора...&lt;br /&gt;
&lt;br /&gt;
'''» Погодите, разве вы не говорили только что, что D совместим с C?'''&lt;br /&gt;
&lt;br /&gt;
Э нет, я говорил что D совместим с системными вызовами C, то есть вы можете пользоваться C-функциями вроде printf() в D-программах. Но, из-за большого объема добавлений и удалений, D и C не совместимы на уровне исходного кода. Это значит, что вы не можете взять C-код и скомпилировать его с помощью компилятора D. Но некоторые новшества D, вроде использования int[3] foo вместо int foo[3], в целях обратной совместимости можно и проигнорировать, так что переносите свой код на D, когда будете к этому готовы.&lt;br /&gt;
&lt;br /&gt;
'''»Если D включает в себя сборку мусора, как он может создавать столь же быстрый код, что и C?'''&lt;br /&gt;
&lt;br /&gt;
Ну, на самом деле современные системы сборки мусора позволяют программам работать даже быстрее, чем программы с ручным управлением памятью. Да, я знаю, что это противоречит вашим интуитивным ощущениям, но подождите, и я все объясню.&lt;br /&gt;
&lt;br /&gt;
Во-первых, сборка мусора запускается только тогда, когда памяти становится слишком мало, а это значит, что память не освобождается, пока в этом не появится необходимость. Для большинства программ может оказаться, что за время их работы сборка мусора не запустится ни разу - а это большой выигрыш в производительности по сравнению с С, в котором память освобождается всегда, вне зависимости от того, нужна она сейчас для чего-нибудь еще или нет.&lt;br /&gt;
&lt;br /&gt;
Во-вторых, объекты C++ освобождают память с помощью вызова метода деструктора, что может сильно замедлить работу, особенно если нужно освободить несколько тысяч объектов. В-третьих, сборка мусора автоматически перегруппирует кучу, что улучшает производительность памяти.&lt;br /&gt;
&lt;br /&gt;
'''» Достаточно! Но ведь в сборке мусора должны быть и отрицательные моменты.'''&lt;br /&gt;
&lt;br /&gt;
Да, и вполне обычные - она увеличивает объем кода, а также вполне может запуститься в тот момент, когда вам меньше всего этого хотелось бы, что может время от времени приводить к появлению маленьких пауз в работе вашего приложения. Но эти проблемы совершенно ничтожны по сравнению с тем, сколько времени сборка мусора экономит для программиста! Последней сложностью является необходимость модифицировать ее код так, чтобы он мог запускаться на различных операционных системах.&lt;br /&gt;
&lt;br /&gt;
'''»О, вы меня просто заинтриговали этим D! Как бы мне попробовать его на практике?'''&lt;br /&gt;
&lt;br /&gt;
Никак. D существует только в теории.&lt;br /&gt;
&lt;br /&gt;
'''»Что? Вы хотите сказать, что я провел последние 10 минут, забивая свою голову этой...'''&lt;br /&gt;
&lt;br /&gt;
Шучу, шучу. На самом деле уже существует два работающих компилятора D - ''DMD ''и ''GDC. ''Первый из них -это официальный пример реализации компилятора, а второй - модуль к GCC. Официальный компилятор хорош своей 100% совместимостью со стандартом, чего пока нельзя сказать по ''GDC. ''Но при этом ''DMD ''имеет частично закрытые исходные тексты - часть, преобразующая D в промежуточный код, открыта, а вот компилятор промежуточного кода в тот или иной машинный - проприетарный. Сейчас эту проблему решают так: CDG использует открытый модуль, а результат его работы передает GCC, имеющему свой собственный слой генерации машинного кода. Благодаря этому ''GDC ''работает на большом числе платформ, включая Linux, Mac OS X, FreeBSD, Windows и AIX, как на 32-х, так и на 64-битных компьютерах.&lt;br /&gt;
&lt;br /&gt;
'''»Мне казалось, что GCC работает на большем количестве платформ.'''&lt;br /&gt;
&lt;br /&gt;
Так и есть, но как я уже упоминал, код сборщика мусора приходится модифицировать для каждой новой операционной системы. Это не такая уж большая работа, и ее нужно сделать только один раз при портировании GCD на новую платформу, но пока ее сделали только для тех систем, которые я перечислил выше.&lt;br /&gt;
&lt;br /&gt;
'''»Вам пора привести список ссылок, поскольку доступное место уже кончается.'''&lt;br /&gt;
&lt;br /&gt;
Хе, вовремя подмечено! О’кей, если вы хотите побольше узнать про D, зайдите на его официальную домашнюю страницу по адресу http://www.digitalmars.com/d/index.html. Вы можете скачать компилятор ''DMD ''на этой же странице (посмотрите под меню Tool в левой ее части). Компилятор ''GDC ''расположен на SourceForge: http://dgcc.sourceforge.net/.&lt;br /&gt;
&lt;br /&gt;
Если вы любите работать с подсветкой синтаксиса при редактировании кода, то вам будет приятно узнать, что многие редакторы уже поддерживают синтаксис D. ''Vim, ''начиная с версии 6.3, включает режим D как один из стандартных. Пользователи ''Emacs ''могут скачать модуль для D с http://www.prowiki.org/wiki4d/wiki.cgi?EditorSupport/EmacsDMode . Если вы используете Kate, то вам не повезло. Но даже если ваш любимый редактор не понимает D, вы можете попытать счастья с режимами Java или C#, поскольку их синтаксис наиболее близок к синтаксису D.&lt;br /&gt;
&lt;br /&gt;
'''»Круто! Большое спасибо за то, что рассказали мне про D. Если на этом все, то я пойду и попробую поработать с ним прямо сейчас!'''&lt;br /&gt;
&lt;br /&gt;
Пожалуйста! А в следующем месяце мы с вами рассмотрим E.&lt;br /&gt;
&lt;br /&gt;
'''»E?! Это шутка, так ведь?'''&lt;br /&gt;
&lt;br /&gt;
Подождите немного, и увидите.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-04-05T17:20:57Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]] Клиент потокового вещания&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]] Резервное копирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Сравнение ===&lt;br /&gt;
* [[LXF93:Сравнение|Командные оболочки]]&lt;br /&gt;
Не забирались дальше Bash? Оболочка – не просто поле для ввода команд, так что познакомьтесь с парочкой экземпляров из коллекции &lt;br /&gt;
Нейла Ботвика.&lt;br /&gt;
&lt;br /&gt;
=== Спецрепортаж ===&lt;br /&gt;
* [[LXF93:Спецрепортаж|Арсенал сисадмина]] &lt;br /&gt;
Как упростить и ускорить управление вашей системой&lt;br /&gt;
&lt;br /&gt;
=== Интервью ===&lt;br /&gt;
* [[LXF93:Интервью|Джереми Эллисон]]&lt;br /&gt;
Уход из Novell сделал его героем мира Open Source, но Джереми Эллисон просто хочет работать над Samba. И играть в Half-Life.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Мытарства композитора|Мытарства композитора]] Создаем Linux-студию звукозаписи.&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Kamion|KDE4 на колесах]] Мгновенный перенос пользователей с Kamion:  предварительный обзор и HOWTO.&lt;br /&gt;
&lt;br /&gt;
[[LXF93:SELinux|Доступно о SELinux]] Проверенные подходы к укреплению безопасности.&lt;br /&gt;
&lt;br /&gt;
=== Что за штука... ===&lt;br /&gt;
* [[LXF93:Что за штука|Что за штука... D?]]&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:SELinux</id>
		<title>LXF93:SELinux</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:SELinux"/>
				<updated>2008-03-10T15:15:51Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: = Доступно о SELinux = ''Вы запросто достигнете безопасности правительственного уровня, если у вас хватит ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Доступно о SELinux =&lt;br /&gt;
''Вы запросто достигнете безопасности правительственного уровня, если у вас хватит терпения постигнуть ее суть. '''Пол Хадсон '''упростит эту задачу...''&lt;br /&gt;
&lt;br /&gt;
'''Red Hat Enterprise Linux 5 выпущен, и, как и следовало ожидать, многие в восторге от интегрированной виртуализации ''Xen''. Но в недрах системы скрыта другая, столь же продвинутая технология, о которой вы наверняка уже слышали: Security Enhanced Linux, или, сокращенно, SELinux. Подобно драйверу звуковой карты или ''OpenOffice.org'', SELinux – один из тех компонентов Open Source, о которых никто даже не задумывается: он работает в фоновом режиме, и вы вспоминаете о нем, только когда возникают проблемы.'''&lt;br /&gt;
&lt;br /&gt;
В ранних дистрибутивах, содержащих SELinux, например, Fedora Core 6, SELinux был скорее помехой, чем подмогой, и его норовили отключить, поскольку он осложнял повседневную работу настольного ПК. Но RHEL 5 включает свежую версию SELinux, которая, сохранив исходный принцип SELinux, обзавелась множеством инструментов, упрощающих понимание ее установки и использования. В нашей статье мы познакомим вас с возможностями SELinux и покажем, как освоиться с ним в RHEL 5. Мы использовали свежую инсталляцию RHEL 5, прихватив дополнительный пакет Web Server, чтобы использовать ''Apache ''для теста на выживаемость. CentOS 5 – фактически RHEL 5, только без товарного знака – тоже включает поддержку SELinux, а еще вы сможете следовать большей части нашего урока на Fedora Core 7. Технологии, описанные здесь, применимы и для других сетевых демонов.&lt;br /&gt;
&lt;br /&gt;
== Безопасный по умолчанию ==&lt;br /&gt;
SELinux был изобретен в Национальном Агентстве безопасности США для удовлетворения потребности в... впрочем, вам, наверное, неинтересна история SELinux и всякая ерунда. Лучше мы вам покажем, как SELinux защищает вас 24 часа в сутки, 7 дней в неделю, независимо от того, осознаете вы это или нет. Откройте терминал, введите&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 su -&lt;br /&gt;
 vim index.html&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
затем для перехода в режим вставки нажмите i и введите: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Hello, world!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для сохранения файла нажмите Escape, затем введите ''':wq'''. Вы должны снова очутиться в командной строке [вы также можете использовать любой другой привычный вам редактор, – прим. ред.]. Теперь выполните следующие две команды:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Apachectl start&lt;br /&gt;
 mv index.html /var/www/html&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это вполне обычная штука: мы создали HTML-файл с некоторым содержимым, запустили ''Apache'', затем скопировали новый файл в каталог, который используется ''Apache ''для обслуживания web-страниц. Но сейчас вы увидите, насколько педантично печется SELinux о вашей безопасности! Попробуйте запустить ''Firefox ''и указать ему адрес http://localhost , чтобы он запросил данные с локального сервера ''Apache''. Вместо того, чтобы увидеть ‘Hello, world!’ вашего '''index.html''', вы увидите приветственную страницу Red Hat, установленную по умолчанию. Пока вы оправляетесь от секундного замешательства, в правом верхнем углу экрана появится пузырик с сообщением: ‘SELinux: AVC denial, click icon to view.’ [Запрет AVC, щелкните на иконке для просмотра.]&lt;br /&gt;
&lt;br /&gt;
Если ‘AVC’ для вас пустой звук (оно расшифровывается как Access Vector Cache, хотя от этого вам вряд ли полегчало), то слово ‘denial’ уже намекает на происшедшее: когда вы пытались загрузить страницу с ''Apache'', ''Apache ''проверил, можно ли ему читать этот файл, и получил отказ от SELinux. Однако вернувшись к вашему окну терминала и выполнив '''ls -l '''в '''/var/www/html''', вы увидите, что файл имеет флаги разрешения -rw-r--r--, то есть доступен всем пользователям. И что это даст? Щелкнув по значку, запустим ''Setroubleshooter'', новую утилиту, предназначенную для перевода практически невразумительных сообщениях об ошибках SELinux на язык, понятный простым смертным.&lt;br /&gt;
&lt;br /&gt;
В нашем случае вы увидите вверху сообщение, а внизу – его объяснение. Сводка должна звучать примерно так: ‘SELinux пресек обращение пользователя /'''usr/sbin/httpd '''к файлу с потенциально неверным маркером ('''/var/www/html/index.html''')’. Вам, может быть, это ничего не говорит, однако прокрутив информационную панель донизу, вы найдете нечто более осмысленное по сравнению с «сырым» сообщением аудита:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 avc: denied { getattr } for comm=”httpd” dev=dm-0 egid=48 euid=48&lt;br /&gt;
 exe=”/usr/sbin/httpd” exit=- 13 fsgid=48 fsuid=48 gid=48 items=0&lt;br /&gt;
 name=”index.html” path=”/var/www/html/index.html” pid=2877&lt;br /&gt;
 scontext=user_u:system_r:httpd_t:s0 sgid=48 subj=user_u:system_r:&lt;br /&gt;
 httpd_t:s0 suid=48 tclass=file tcontext=user_u:object_r:user_home_t:s0&lt;br /&gt;
 tty=(none) uid=48&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И сырое сообщение, и аккуратно разобранная версия ''Setroubleshooter ''советуют нам обратить внимание на контекст, так как для SELinux все – и процессы, и файлы – имеет ‘контекст’ безопасности, используемый как маркер. К счастью, ''Setroubleshooter ''сумел опознать данную конкретную проблему и говорит, что использование ''mv ''для копирования файлов (что мы пытались сделать после '''Hello World!''') часто вызывает проблемы, поскольку не меняет контекст безопасности источника.&lt;br /&gt;
&lt;br /&gt;
Иными словами, проблема такова: SELinux полагает, что файлы из нашего домашнего каталога не должны обслуживаться в качестве web-страниц – и правильно полагает: если вдруг ваш сервер ''Apache ''будет взломан, вы не захотите, чтобы ваши личные файлы были доступны всему миру. Вот это и обеспечивает SELinux, последняя линия обороны вашего сервера: у вас все-таки есть возможность выжить, даже если в вашу систему засадили удаленный эксплойт.&lt;br /&gt;
&lt;br /&gt;
== Опция контекста -Z ==&lt;br /&gt;
Если SELinux основывается на контекстах безопасности файлов и процессов, как мы можем узнать, что это за контексты? Более того, как можно их поменять? Оказывается, существует универсальная опция, дополняющая приложения командной строки, и она выдает контекстную информацию. Назовем ее опцией контекста, поскольку все приложения, используемые вами – ''ps'', ''ls'', и т.п. – имеют эту специальную опцию '''-Z '''для вывода контекстной информации. Обратите внимание, что здесь используется именно заглавная '''Z '''– к ней сложно подобрать смысл, и, видимо, именно поэтому она годится для всех приложений! Используя '''-Z''', можно извлекать контекстную информацию различных объектов. Например, перейдите в каталог '''/var/www '''и выполните '''ls -Z'''. Вы увидите следующее: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 [paul@localhost www]$ ls -Z&lt;br /&gt;
 drwxr-xr-x root root system_u:object_r:httpd_sys_script_exec_t cgi-bin&lt;br /&gt;
 drwxr- xr-x root root system_u:object_r:httpd_sys_content_t error&lt;br /&gt;
 drwxr-xr-x root root system_u:object_r:httpd_sys_content_t html&lt;br /&gt;
 drwxr-xr-x root root system_u:object_r:httpd_sys_content_t icons&lt;br /&gt;
 drwxr-xr-x root root system_u:object_r:httpd_sys_content_t manual&lt;br /&gt;
 drwxr-xr-x webalizer root system_u:object_r:httpd_sys_content_t usage &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А если вы сделаете то же в каталоге '''/var/www/html''', вы увидите вот это:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 -rw-r--r-- root root user_u:object_r:user_home_t index.html&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контекст '''user_home_t '''сообщает, что '''index.html '''принадлежит домашнему каталогу пользователя, а это значит, что ''Apache ''не будет его обслуживать. Взамен ему следует иметь контекст '''httpd_sys_content_t''', то есть контекст по умолчанию для '''/var/www/html'''. В этом – основное отличие ''mv ''от ''cp'': ''mv ''перемещает файлы, и они сохраняют свой прежний контекст; cp создает новый файл, и он наследует права доступа каталога назначения.&lt;br /&gt;
&lt;br /&gt;
Горю можно помочь, присвоив файлу '''index.html '''контекст '''httpd_ sys_content_t '''командой ''chcon'', примерно так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 chcon -t httpd_sys_content_t /var/www/html/index.html&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметр '''-t '''указывает тип '''httpd_sys_content_t''', так что, введя '''ls -l ''', вы увидите следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 -rw-r--r-- root root user_u:object_r:httpd_sys_content_t index.html&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если ''Firefox ''у вас все еще запущен, убедитесь, что сейчас доступ к '''index.html '''уже имеется, поскольку SELinux не против, чтобы ''Apache ''читал принадлежащее ему содержимое. Если нужно изменить несколько файлов, ''chcon ''используется так же, как ''chmod: ''укажите несколько имен файлов и примените регулярное выражение наподобие '''index.* '''или параметр '''-R '''обработки вложенных каталогов.&lt;br /&gt;
&lt;br /&gt;
Программа ''restorecon ''пользуется тем, что SELinux считает файлы в '''/var/www '''имеющими контекст '''httpd_sys_content_t''', и может скопом поменять их контекст на принятый для данного каталога по умолчанию. Например, следующая команда присвоит всем файлам в каталоге '''/var/www/html '''контекст '''httpd_sys_content_t''', заходя внутрь подкаталогов (опция '''-R''') и выводя имена файлов, подвергшихся изменениям '''(-v)''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 restorecon -v -R /var/www/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверить контекст по умолчанию для других файлов можно командой&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 semanage fcontext -l&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELinux использует регулярные выражения как шаблон имен файлов. Например, правило, с которым мы работали до сих пор, выглядит как&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Опцию '''-Z '''можно использовать где-нибудь еще, например, с командой ps. Выполнив ее, вы заметите, что большая часть запущенных в вашей системе приложений выполняется с контекстом '''unconfined_t'''. Исключения - ''GDM, X, Sendmail, cupsd ''и различные сетевые службы, плюс некоторые ключевые службы, важные для функционирования системы. Это потому, что большинство запускаемых вами приложений используют ваш уровень привилегий, то есть смогут влиять только на файлы с тем же Unix-уровнем доступа, равно как и с тем же контекстом SELinux.&lt;br /&gt;
&lt;br /&gt;
== Контроль доступа к порту ==&lt;br /&gt;
Мы увидели, как SELinux защищает ваши файлы, но он также защищает вашу сеть путем ограничения числа портов, к которым может обращаться сетевой демон. Полный список ограничений на порты можно получить по команде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 semanage port -l&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Все, что не попало в выведенный список, можно классифицировать следующим способом: если это 1023 или меньше, порт классифицируется как '''reserved_port_t'''; иначе он относится к '''port_t'''. Вы должны увидеть в списке также и '''http_port_t'''; если нет, попробуйте отфильтровать список с помощью '''semanage port -l | grep http'''. SELinux дозволяет ''Apache ''выполняться только на HTTP-портах, то есть разрешены порты 80, 443 и прочие. Если ''Apache ''попытается обслужить страницы через другой порт - даже разрешенный в обычном режиме, будучи больше, чем 1023 - SELinux отловит это и пресечет.&lt;br /&gt;
&lt;br /&gt;
Давайте проверим это примером из реальной жизни. Пусть кому-то удалось перенастроить ''Apache, ''и он стартует с порта 3306, а не с 80. А 3306 - это порт ''MySQL, ''то есть вполне законный порт для соединения с сервером. Мы можем имитировать такую ситуацию, подредактировав файл '''/etc/httpd/conf/httpd.conf '''и изменив следующую строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Listen 80&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вместо '''80 '''поставьте там '''3306'''. Сохраните файл и перезапустите ''Apache ''командой '''apachectl restart'''. Как и ранее, будет задержка на пару секунд перед тем, как всплывет пузырь запрета AVC: SELinux недоволен тем, что ''Apache ''хочет занять порт ''MySQL, ''и совершенно правильно говорит, что это, быть может, сигнал о попытке вторжения.&lt;br /&gt;
&lt;br /&gt;
Помните, что для прочной безопасности сети главное - держать глубокую оборону: можно иметь брандмауэр по периметру сети, плюс другой, запущенный на ваших индивидуальных серверах; и, конечно же, права доступа системы Unix остановят множество проблем. Однако наличие SELinux в этой смеси добавит еще один уровень надежности и сможет пресечь на корню опасный взлом, упущенный другими. Не верите нам - послушайте Марка Кокса [Mark Cox] из команды безопасности Red Hat: «Мы включили SELinux в установку по умолчанию не без причины; не отключайте ее! В 2005 году червь Linux/Lupper использовал дыры в некоторых PHP-приложениях. Политики SELinux, установленные по умолчанию на Red Hat и Fedora, блокировали этого червя.»&lt;br /&gt;
&lt;br /&gt;
== Взгляд с высоты ==&lt;br /&gt;
Сейчас, когда вы имеете представление о методах фоновой работы SELinux, мы познакомим вас с командой ''system-config-selinux, ''известной также как ''SELinux Management Tool (SMT). ''Вы сможете найти его в пункте меню System &amp;gt; Administration &amp;gt; SELinux Management. Хотя она и скрывает сложности SELinux за удобным интерфейсом, работать с ней следует осторожно, так как любые сделанные вами изменения тут же вступают в силу. Существует два важнейших подводных камня:&lt;br /&gt;
&lt;br /&gt;
1 Отсутствует опция отката (undo); большинство действий применяется немедленно, так что не щелкайте где ни попадя, чтобы просто «посмотреть, что будет».&lt;br /&gt;
&lt;br /&gt;
2 SELinux требует времени для обработки ваших изменений, и обычно между щелчком по флажку и появлением галочки проходит несколько секунд. Если вы поторопитесь щелкнуть снова, вы попросту отмените первый щелчок, и в итоге вся операция займет еще больше времени.&lt;br /&gt;
&lt;br /&gt;
Два главных раздела ''SMT - ''Boolean и File Labelling. Первый имеет набор опций, которые либо активны, либо нет, согласно установке флажка. Опции довольно обширны, и нередко способны полностью отключить SELinux для конкретной службы. Если вы затрудняетесь в устранении возникшей неисправности, то это и вправду может оказаться единственным подходящим решением.&lt;br /&gt;
&lt;br /&gt;
Раздел File Labelling - графическая версия команды ''semanage fcontext -l, ''которую мы уже выполняли. Она отображает все автоматически определенные контексты для файлов и позволяет создавать новые. Но поскольку здесь доступны регулярные выражения, File Labelling полезнее банального «справочника»: вы можете видеть, как именно ''restorecon ''будет обрабатывать данный каталог. Опять-таки, будьте внимательны при работе с этими настройками: некоторые из них, например, перемаркировка файловой системы, занимают очень много времени, и даже могут повредить вашу систему.&lt;br /&gt;
&lt;br /&gt;
== И все это о контекстах ==&lt;br /&gt;
Хотя мы лишь бегло коснулись SELinux на этих нескольких страницах, надеемся, что ключевые моменты донесены до читателя:&lt;br /&gt;
&lt;br /&gt;
1 По умолчанию SELinux включен, и пусть будет включен, если только из-за него не возникло серьезных проблем.&lt;br /&gt;
&lt;br /&gt;
2 SELinux много сильнее, чем простая защита файлов от чтения. Процесс, защищенный SELinux, повязан по рукам и ногам, и даже будучи взломанным, не в силах причинить вреда.&lt;br /&gt;
&lt;br /&gt;
3 Безопасность SELinux расположена над стандартной безопасностью Unix, так что, столкнувшись с проблемами, взгляните на контекст безопасности файла, пользователя и процесса.&lt;br /&gt;
&lt;br /&gt;
4 ''SELinux Troubleshooter ''- самый простой способ понять сообщения AVC-запрета SELinux, и часто оттуда можно извлечь совет, как исправить проблему.&lt;br /&gt;
&lt;br /&gt;
Но, возможно, самое главное вот что: SELinux -дополнительный инструмент безопасности вашего компьютера, и он работает совместно с брандмауэрами и стандартной безопасностью Unix. Он не сделает вашу систему неуязвимой, но действительно является свободным и достойным подспорьем существующих средств безопасности. &lt;br /&gt;
&lt;br /&gt;
== Врезки ==&lt;br /&gt;
=== SELinux до Unix ===&lt;br /&gt;
SELinux не может разрешить то, что запрещают стандартные права доступа Unix. Например, если файл '''index.html '''с которым мы работали в этой статье, имеет правильный контекст SELinux для чтения демоном Apache, но не имеет прав доступа Unix на чтение для пользователя, от имени которого работает ''Apache, ''ничего не получится. SELinux служит для дополнения прав доступа Unix, а не для их отмены!&lt;br /&gt;
&lt;br /&gt;
=== SELinux против AppArmor ===&lt;br /&gt;
SELinux часто критикуют за то, что, в отличие от ''AppArmor ''(система безопасности Novell, приписывающая профили различным программам), здесь не используется режим обучения для выяснения настроек требуемых для правильной работы системы. Например, для настройки в ''AppArmor ''вашего сервера ''Apache ''вам просто следует поместить его в режим наблюдения, затем загрузить все страницы (и, в частности, все исполняемые скрипты), и он вам покажет, в какой степени сервер требует доступа к машине.&lt;br /&gt;
&lt;br /&gt;
Однако способ, применяемый ''AppArmor, ''имеет недостаток: ''AppArmor ''полагает, будто вам лучше знать, что безопасно для вашего сервера, а что нет. Вам не составит труда обучить его дурному поведению, и тогда он уже не станет извещать вас о проблемах. Например, если ваш сервер настроен небезопасно, но вы заявили ''AppArmor, ''что это - штатное поведение, не видать вам потом предупреждений.&lt;br /&gt;
&lt;br /&gt;
В случае с SELinux, Red Hat обеспечивает предустановленный набор правил для всех общепринятых сервисов, гарантирующих, что вы в безопасности уже по умолчанию. Имеется специальная утилита под названием ''audit2allow, ''позволяющая создать правила на основе AVC-запретов.&lt;br /&gt;
&lt;br /&gt;
=== Говорит Дэн Уолш ===&lt;br /&gt;
'''Совет от главы проекта SELinux.'''&lt;br /&gt;
&lt;br /&gt;
«Подгружаемые модули политики позволяют администраторам легко изменять политику SELinux для их системы. SELinux иногда отказывает в доступе к ограниченному домену, а администратор считает, что зря, или, как часто бывает, просто хочет поработать. Например, политика не позволяет выполняться демону ''Avahi, ''поскольку ему требуются способности, о которых автор политики не знал. Для постройки и установки модуля политики администратор может использовать утилиту ''audit2allow. ''Чтобы изменить политику SELinux на своих машинах, можно выполнить следующие команды:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 # grep avahi /var/log/audit/audit.log | audit2allow -M myavahi&lt;br /&gt;
 # semodule -i myavahi.pp&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Политика будет изменена и останется в силе даже после перезагрузки, а также при последующих обновлениях. Разумеется, администратору следует сообщить о недочете автору политики.»&lt;br /&gt;
&lt;br /&gt;
=== Вести с полей ===&lt;br /&gt;
'''Мы попросили двух экспертов SELinux дать лучшие советы для новых пользователей SELinux.'''&lt;br /&gt;
&lt;br /&gt;
«Некоторые пользователи SELinux стараются узнать о нем как можно меньше. Подход &amp;quot;Подавлять-предупреждающие-сообщения&amp;quot; может привести к ненадежности системы, ошибочно расцениваемой как надежная. А это - наихудшее состояние системы, куда хуже, чем просто ненадежная система, которая известна как надежная. Не следуйте по этому пути.»&lt;br /&gt;
&lt;br /&gt;
Билл Маккарти [Bill McCarty], автор ''SELinux ''(O’Reilly, 2004)&lt;br /&gt;
&lt;br /&gt;
«Прежде чем дать права доступа домену, следует немного подумать. Простая прогонка сообщений об отказе через audit2allow часто приводит к чрезмерно попустительской политике. Добавляйте только те разрешения, которые считаете действительно необходимыми, и обязательно затем проверяйте, работает ли приложение правильно. Используйте dontaudit для прав доступа, которые не нужны домену.» Дэвид Капланко [David Caplanco], соавтор ''SELinux By Example ''(Prentice Hall, 2007)&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-10T15:06:15Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]] Клиент потокового вещания&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]] Резервное копирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Спецрепортаж|Спецрепортаж: Арсенал сисадмина]] Как упростить и ускорить управление вашей системой&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Интервью|Интервью: Джереми Эллисон]]&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Мытарства композитора|Мытарства композитора]] Создаем Linux-студию звукозаписи.&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Kamion|KDE4 на колесах]] Мгновенный перенос пользователей с Kamion:  предварительный обзор и HOWTO.&lt;br /&gt;
&lt;br /&gt;
[[LXF93:SELinux|Доступно о SELinux]] Проверенные подходы к укреплению безопасности.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:Kamion</id>
		<title>LXF93:Kamion</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:Kamion"/>
				<updated>2008-03-10T09:49:54Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: = KDE 4 на колесах = ''Переезд на новую квартиру – настоящая головная боль. Миграция с одного компьютера н...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= KDE 4 на колесах =&lt;br /&gt;
''Переезд на новую квартиру – настоящая головная боль. Миграция с одного компьютера на другой – тоже малоприятное занятие. '''Натан Сандерс '''расскажет нам о новом приложении KDE, которое облегчит трудности переезда.''&lt;br /&gt;
&lt;br /&gt;
'''КDE встречается чаще, чем вы можете предположить. Некоторых может отпугнуть большое количество разнообразных опций, но фанаты-настройкокопатели вряд ли будут чувствовать себя так же комфортно в других оконных средах. Теперь, благодаря новому инструменту переноса пользователей Kamion стать таким фанатом под силу каждому…'''&lt;br /&gt;
&lt;br /&gt;
Тем, кто использует KDE на нескольких компьютерах, наверняка приходилось вручную задавать одни и те же настройки среды на разных системах. Кроме этого, время от времени вам наверняка случается создавать резервные копии важных данных и хранить их на всех доступных ПК. И в том, и в другом случае поможет ''Kamion ''(одно из новых приложений, появившихся в KDE 4). Используя встроенную базу данных и взаимодействуя с пользователем, эта программа собирает всю необходимую информацию (личные файлы и настройки приложений). После этого формируется архив, который можно перенести на другой компьютер и там распаковать. Таким образом, это средство миграции пользователей позволит вам перенести все настройки среды KDE с одного компьютера на другой.&lt;br /&gt;
&lt;br /&gt;
Простое копирование каталога '''/home '''неэффективно и потребует много времени на перенос объемного и ненужного кэша браузера. К тому же некоторые приложения могут вовсе не запуститься на другой системе из-за конфликтов версий, что изрядно потреплет вам нервы. ''Kamion ''(в переводе с сербского «грузовик») использует более продуманный подход. Он знает, что нужно и что не нужно брать с собой в новый дом. В идеальном случае каждое приложение должно добавить в базу данных ''Kamion ''информацию о том, какие файлы необходимы для его работы и с какими версиями программы они совместимы, а какие файлы содержат временные данные и не имеют большого значения. ''Kamion ''использует эту информацию для создания архива, после восстановления которого на другом компьютере мы получим окружение, полностью повторяющее оригинал.&lt;br /&gt;
&lt;br /&gt;
Впрочем ''Kamion ''пригодится даже тем, кто не собирается работать в KDE 4. Ведущий разработчик проекта Иван Кукич [Ivan Cukic] создавал его в рамках The Season of KDE, ответвления Google Summer of Code. Он разрабатывает ''Kamion ''в двух направлениях: а) простой графический интерфейс и б) сервисная библиотека ''libKamion'', которая может использоваться оболочками, ориентированными на другие оконные среды или даже отдельные приложения.&lt;br /&gt;
&lt;br /&gt;
== Экскурсия ==&lt;br /&gt;
Это краткое руководство по ''Kamion ''предназначено для смельчаков, пользующихся текущей версией KDE 4, которая еще находится в разработке. Для тех, кто захочет установить KDE 4, на страничке http://developernew.kde.org/Getting_Started приведены инструкции по установке. Даже если вы просто хотите посмотреть, как выглядит и работает ''Kamion'', эта статья будет для вас полезной. Обратите внимание, что для создания резервной копии с помощью ''Kamion ''нам потребуется найти XML-файлы состояния какого-нибудь приложения.&lt;br /&gt;
&lt;br /&gt;
Пошаговое руководство наглядно демонстрирует все возможности текущей версии приложения, но это лишь небольшая часть того, что может предоставить библиотека ''libKamion''. Одной из следующих задач разработчика является механизм добавления в архив ''Kamion ''произвольных файлов и каталогов, который позволит вам сделать резервную копию файлов из папки '''Documents '''или приложения, которое не распознается автоматически. Что же касается механизма постоянной синхронизации настроек системы на двух компьютерах, то его разработка пока не планируется. Кукич считает, что эта задача выходит за рамки функционала его приложения, но уверен, что разработать такой компонент поверх ''libKamion ''будет достаточно просто.&lt;br /&gt;
&lt;br /&gt;
== Кое-что для разработчиков ==&lt;br /&gt;
Будущее ''Kamion ''целиком и полностью зависит от связи этого приложения с другими. С приложениями, которые предоставят ''Kamion ''файл XML с описанием своего текущего состояния (эти файлы будут скомпилированы в базу данных ''SQLite 3, ''которая выступает лишь как кэш для них), никаких проблем не будет. Файлы конфигурации и данных для таких приложений будут полностью восстановлены на другом компьютере. Настройки остальных приложений придется переносить вручную или попросту отказаться от этой затеи.&lt;br /&gt;
&lt;br /&gt;
К счастью, обеспечить поддержку некоторого приложения в ''Kamion ''очень просто. Файл XML, который должно предоставить это приложение, должен отвечать стандарту http://Freedesktop.org/ (который сейчас обсуждается) и содержать следующие элементы:&lt;br /&gt;
&lt;br /&gt;
'''» '''Название приложения.&lt;br /&gt;
&lt;br /&gt;
'''» '''Общая категория для этого приложения, например, ‘web.browser’. &lt;br /&gt;
&lt;br /&gt;
'''» '''Краткое описание приложения. Например, ‘IM program’. &lt;br /&gt;
&lt;br /&gt;
'''» '''Иконка приложения. Может быть иконкой этого приложения с рабочего стола.&lt;br /&gt;
&lt;br /&gt;
'''» '''Файл использования (existence test). Это файл, который создается при запуске приложения. Если существование XML-файла говорит о том, что пользователь установил приложение, то существование файла использования приложения означает, что пользователь запускал его и вероятно захочет сделать копию его состояния. &lt;br /&gt;
&lt;br /&gt;
'''» '''Список ресурсов приложения. Список всех файлов конфигурации и данных, которые использует приложение. Каждый элемент списка должен иметь уникальный идентификатор (например, ‘kopete.history’), название (например, ‘chat history’), полный путь до файла ресурса (например, '''$HOME/.kde/share/apps/kopete_history''') и описание (например, ‘Record of IM conversations’).&lt;br /&gt;
&lt;br /&gt;
'''» '''Версия приложения или конфигурационного файла. Если указана версия приложения, то в случае ее отличия, ''Kamion ''предупредит пользователя о несовместимости. Если указана версия файла конфигурации, ''Kamion ''спокойно выполнит обмен файлов между различными версиями приложения.&lt;br /&gt;
&lt;br /&gt;
Последняя возможность ''Kamion ''может быть расширена. Сейчас ''Kamion ''только выдает предупреждение в случае, когда версии конфигурационного файла в резервной копии и на другом компьютере несовместимы. В будущем ''Kamion ''может использовать специальные скрипты для конвертирования конфигурационных файлов различных версий. Эти скрипты будут поставляться приложениями. Еще проще возложить эту задачу на сами приложения. В этом случае им следует «разрешить» ''Kamion ''использовать конфигурационные файлы, отвечающие различным версиям приложения.&lt;br /&gt;
&lt;br /&gt;
== Стандартизация ==&lt;br /&gt;
Стандарты Freedesktop.org уже предусматривают наличие у каждого приложения файлов для связи с рабочим столом. Это файлы '''.desktop''', содержащие информацию о названии приложения, которое появится в меню Программы, и параметрах работы приложения (например, перечень команд для его запуска). Поэтому добавление другого стандартного файла – файла состояния приложения для ''Kamion ''– не слишком суровое требование, и даже не слишком оригинальное.&lt;br /&gt;
&lt;br /&gt;
К сожалению, большинство участников скромной команды разработчиков ''Linux Format ''ничего не слышали о ''Kamion''. Даже те из них, кто разрабатывал приложения для KDE 4, не подозревали о его существовании. Поэтому сейчас этому приложению еще требуется некоторое продвижение. Чтобы обеспечить полную совместимость с другими приложениями, потребуются напряженная работа и тесное взаимодействие всего сообщества. Стандартизация Freedesktop.org – первый шаг на этом пути.&lt;br /&gt;
&lt;br /&gt;
Хотя Иван Кукич разрабатывает Kamion для KDE 4 и операционной системы Linux, это приложение потенциально может использоваться и на других Unix-системах, таких как Solaris и BSD. Единственная платформа, поддержку которой Кукич не планирует – это Windows. Версия программы под Windows может потребовать значительных изменений в коде, и Кукич производить их не хочет. Он советует разработчикам «использовать модель хранения данных Unix (файлы и каталоги в домашнем каталоге пользователя, название которых начинается с точки)».&lt;br /&gt;
&lt;br /&gt;
После объявления Trolltech о том, что библиотека ''Qt 4'', которая лежит в основе KDE 4, будет доступна пользователям Windows по лицензии GPL, разработчики KDE успешно переносят многие приложения KDE на эту платформу. Распространенность операционной системы от Microsoft представляет приложениям KDE вполне понятные перспективы, а также сможет привлечь новых разработчиков. Однако некоторые приложения - под Windows и поэтому не будут переноситься. Это оконный менеджер ''KWin'', и, возможно, ''Kamion''. В самом деле, аналоги ''Kamion ''в Windows уже существуют (''см. врезку «Перенос пользователей в Windows»'').&lt;br /&gt;
&lt;br /&gt;
== За пределами KDE 4 ==&lt;br /&gt;
Хотя Кукич и не собирается создавать версию ''Kamion ''под Windows, другим разработчикам не составит труда сделать это за него. Интерфейс ''Kamion ''на ''Qt 4'' - это лишь графическая оболочка для средства миграции пользователей, вся реализация которого заключена в сервисной библиотеке ''libKamion. ''Кукич с самого начала решил сохранять разделение между серверной библиотекой и графическим интерфейсом, чтобы другие разработчики смогли создавать свои собственные оболочки.&lt;br /&gt;
&lt;br /&gt;
В качестве клиентов библиотеки ''libKamion ''могут выступать даже отдельные приложения. Например, пользователи почтового клиента, использующего эту библиотеку, смогут создавать резервные копии своего почтового ящика. Кукич уже написал простейшую консольную оболочку, использующую ''libKamion.''&lt;br /&gt;
&lt;br /&gt;
Разработчики могут воспользоваться всеми преимуществами библиотеки уже сейчас - Кукич завершил ее разработку в августе прошлого года. Сервисная библиотека предоставляет разработчикам весь необходимый функционал для создания средства миграции пользователей. Она содержит инструменты для взаимодействия с базой данных, сбора и архивирования необходимых файлов и восстановления файлов из архива. Сейчас библиотека использует базу данных ''SQLite 3 ''и ''Qt 4. ''В дальнейшем, чтобы устранить зависимость от ''Qt 4, ''Кукич надеется выпустить версию программы, которая будет использовать Xerces-C для синтаксического анализа XML и PStreams для управления процессами.&lt;br /&gt;
&lt;br /&gt;
Разработчики приложений для Gnome, вероятно, создадут собственное средство миграции пользователей. Впрочем, одни и те же технологии часто используются в различных оконных средах (например, библиотека для просмотра PDF Poopler и система обмена сообщениями D-BUS). Поскольку весь код приложения выпущен по лицензии GPL 2, разработчики могут использовать его практически без ограничений.&lt;br /&gt;
&lt;br /&gt;
Успех ''Kamion ''невозможен, если каждое приложение не предоставит ему информацию о себе в виде XML-файла. И только от числа разработчиков, готовых принять участие в интеграции своих проектов с ''Kamion, ''зависит, станет ли это приложение неотъемлемой частью KDE 4. Тем не менее, если разработчики захотят помочь друг другу, ''Kamion ''может стать «островом Эллис» для KDE. [Остров Эллис -небольшой остров близ г. Нью-Йорка. В 1892-1943 - главный центр по приему иммигрантов в США. С 1965 стал частью Национального памятника «Статуя свободы» - прим. перев.]&lt;br /&gt;
&lt;br /&gt;
Чтобы принять участие в проекте, зайдите на страничку http://Kamion2.sourceforge.net/ . &lt;br /&gt;
&lt;br /&gt;
== Шаг за шагом: Переносим настройки KDE с помощью Kamion ==&lt;br /&gt;
1 '''Создаем резервную копию'''&lt;br /&gt;
&lt;br /&gt;
Выберите Pack The Data, чтобы создать резервную копию, или Restore The Data, чтобы восстановить данные. Диалог Settings позволяет указать местоположение файлов настройки ''Kamion ''и программу для записи компакт-дисков.&lt;br /&gt;
&lt;br /&gt;
2 '''Выбираем приложения и ресурсы'''&lt;br /&gt;
&lt;br /&gt;
В окне отобразится список приложений, которые поддерживаются ''Kamion. ''С помощью стрелок в правой панели можно просмотреть полный список ресурсов для каждого приложения и выбрать те, которые будут включены в архив. Вкладки слева и строка фильтра справа помогут задать условия поиска приложений.&lt;br /&gt;
&lt;br /&gt;
3 '''Сохраняем резервную копию'''&lt;br /&gt;
&lt;br /&gt;
Кнопка Save To Disk вызовет стандартный диалог, с помощью которого можно сохранить архив на диске. Кнопка Send By Mail позволит вам отослать архив по почте посредством указанного ранее клиента. Архив можно также записать на CD.&lt;br /&gt;
&lt;br /&gt;
4 '''Миссия выполнена'''&lt;br /&gt;
&lt;br /&gt;
''Kamion ''отобразит список ресурсов создаваемого архива, и у вас будет последний шанс изменить его, нажав кнопку Back. Запомните: как и во всех приложениях KDE, вы можете использовать виртуальную файловую систему KIO, чтобы сохранить файл на удаленном узле.&lt;br /&gt;
&lt;br /&gt;
5 '''Восстанавливаем данные'''&lt;br /&gt;
&lt;br /&gt;
Диалог восстановления данных из архива мало чем отличается от диалога его создания. ''Kamion ''отобразит полный список ресурсов архива, и вы сможете выбрать, какие из них нужно восстановить, а какие нет. Вы можете воспользоваться фильтром приложений по ключевым словам, категориям, избранному, истории архивирования и т.п.&lt;br /&gt;
&lt;br /&gt;
6 '''Неизбежное'''&lt;br /&gt;
&lt;br /&gt;
Конечно, все может пройти и не совсем гладко. Данное сообщение об ошибке вызвано более новой версией ''Firefox. ''Если мы до конца не уверены в том, что каталоги данных разных версий ''Firefox ''полностью совместимы, лучше вернуться на предыдущий шаг и отменить восстановление. Если бы ''Firefox ''не был установлен совсем, ''Kamion ''тоже выдал бы соответствующее предупреждение.&lt;br /&gt;
&lt;br /&gt;
== Врезки ==&lt;br /&gt;
=== Перенос пользователей в Windows ===&lt;br /&gt;
Первое средство для миграции пользователей, мастер переноса файлов и установок - ''Files And Settings Transfer Wizard ''(FAST), появилось в Windows XP. Это средство обеспечивало перенос установок с Windows 95, 98, ME и 2000 в Windows XP. Для корпоративных пользователей была выпущена расширенная версия продукта ''- User State Migration Tool ''(USMT). В Windows Vista используются новая версия USMT 3.0 и Windows Easy Transfer как замена FAST.&lt;br /&gt;
&lt;br /&gt;
В отличие от ''Kamion, ''в этих программах акцент смещен на перенос пользователя на новый компьютер или операционную систему, а не на создание резервных копий или перенос настроек системы с одного компьютера на другой. Как следствие, они содержат ряд интересных возможностей, в которые входит быстрая передача и восстановление данных на другом компьютере через соединение по USB, Ethernet и другим интерфейсам. Есть возможность передать профили пользователей и другие низкоуровневые подробности, что может представлять определенную сложность в Unix-системах.&lt;br /&gt;
&lt;br /&gt;
Как и в ''Kamion, ''в этих программах производится резервное копирование и восстановление конфигурационных файлов и личных данных пользователя. Файлы от некоторых программ распознаются автоматически (по большей части, это продукты Microsoft). ''Kamion ''разрабатывается не так давно и не обеспечивает поддержки многих приложений, но использование XML-файлов состояний, стандартизированных http://FreeDesktop.org/, поможет обеспечить прекрасную совместимость со всеми приложениями.&lt;br /&gt;
&lt;br /&gt;
=== Резервирование или миграция? ===&lt;br /&gt;
{|&lt;br /&gt;
|'''Мы все используем средства создания резервных копий, но в чем их отличие от средств миграции пользователей?''' &lt;br /&gt;
|-&lt;br /&gt;
|'''Задача''' &lt;br /&gt;
|&amp;lt;center&amp;gt;Средство резервирования&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;Средство миграции пользователей&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|Архивирование личных файлов пользователей &lt;br /&gt;
|&amp;lt;center&amp;gt;Да&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;Да&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|Сжатие архива &lt;br /&gt;
|&amp;lt;center&amp;gt;Да&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;Да&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|Архивирование конфигурационных файлов приложений &lt;br /&gt;
|&amp;lt;center&amp;gt;Да&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;Да&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|Предупреждение о несовместимости версий конфигурационных файлов &lt;br /&gt;
|&amp;lt;center&amp;gt;Нет&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;Да&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|Игнорирование временных файлов и кэша браузера &lt;br /&gt;
|&amp;lt;center&amp;gt;Нет&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;Да&amp;lt;/center&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|Предотвращение восстановление файлов неиспользуемых программ &lt;br /&gt;
|&amp;lt;center&amp;gt;Нет&amp;lt;/center&amp;gt; &lt;br /&gt;
|&amp;lt;center&amp;gt;Да&amp;lt;/center&amp;gt; &lt;br /&gt;
|}&lt;br /&gt;
=== Файл .kamion ===&lt;br /&gt;
Резервная копия хранится в единственном файле '''.kamion''', который представляет собой не что иное, как обычный архив tar, содержимое которого (файлы данных и конфигурации) имеет определенную структуру. Внутри этого архива можно найти файл '''Manifestxml '''с полным списком ресурсов архива и указанием на то, каким приложениям они принадлежат. Сами файлы ресурсов упакованы и хранятся в файлах типа '''appname.resource name.tar.bz2'''. В архиве также содержится файл '''Wishlist.xml''', который содержит список всех ресурсов, выбранных пользователем. Различия между этими файлами могут быть только в том случае, когда при попытке включения файла в архив произошла ошибка.&lt;br /&gt;
&lt;br /&gt;
Файл '''Wishlist.xml '''пока не используется приложением, но может оказать вам неоценимую услугу, когда вы начнете разбираться, куда делись все те почтовые сообщения, которые вы год как скопировали на резервный носитель.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-10T09:44:48Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]] Клиент потокового вещания&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]] Резервное копирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Спецрепортаж|Спецрепортаж: Арсенал сисадмина]] Как упростить и ускорить управление вашей системой&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Интервью|Интервью: Джереми Эллисон]]&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Мытарства композитора|Мытарства композитора]] Создаем Linux-студию звукозаписи.&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Kamion|KDE4 на колесах]] Мгновенный перенос пользователей с Kamion:  предварительный обзор и HOWTO.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:%D0%9C%D1%8B%D1%82%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B0</id>
		<title>LXF93:Мытарства композитора</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:%D0%9C%D1%8B%D1%82%D0%B0%D1%80%D1%81%D1%82%D0%B2%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B0"/>
				<updated>2008-03-09T22:10:24Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: = Приключения звука = ''Готовы к новому проекту? '''Амиас Ченнер''', энтузиаст электронной музыки и ветера...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Приключения звука =&lt;br /&gt;
''Готовы к новому проекту? '''Амиас Ченнер''', энтузиаст электронной музыки и ветеран Linux, расскажет, как легко построить музыкальную студию на открытом ПО.''&lt;br /&gt;
&lt;br /&gt;
'''Любой, кто хоть немного занимался электронной музыкой или бывал в студии звукозаписи, вспомнит этот момент: «Ну вот, опять зависла». У Linux-пользователя подобные фразы всегда вызывают улыбку, и я невольно задумываюсь о том, как повел бы себя в такой ситуации Linux. И вот, когда моя студийная система на Windows в очередной раз «поплыла», я решил поискать выход: заменить аудио-программы Windows открытыми эквивалентами и построить музыкальную Linux-студию – а затем испытать ее с каким-нибудь новым хитом.'''&lt;br /&gt;
&lt;br /&gt;
Раньше со звуком на Linux работали только одержимые, но заплатки ядра для поддержки приоритетов реального времени и растущее качество дистрибутивов сделали идею реально привлекательной – в особенности при неприятной необходимости поддерживать коммерческую ОС. Все больше музыкантов предпочитают программы инструментам, и все больше музыкантов обзаводятся собственными студиями. Качество профессиональных инструментов просто не поспевает за качеством ПО.&lt;br /&gt;
&lt;br /&gt;
Существуют умелые, талантливо написанные и надежные коммерческие аудиопрограммы, но для многих полупрофессиональных пользователей они слишком дороги, чересчур требовательны к аппаратным ресурсам или сложны в изучении, чтобы соблюдать соотношение цена/качество, особенно если совместимость или надежность не гарантируются. Иногда единственный способ избежать начальных расходов – установка нестабильной пиратской версии, но он требует продолжительного освоения и встраивания программы в креативную аудиосреду. Для увлеченного музыканта прервать полет вдохновения из-за «жучков» – последнее дело, поэтому качество ПО очень важно. На Linux можно, как минимум, «отремонтировать» ПО – и, естественно, не нужно за него платить.&lt;br /&gt;
&lt;br /&gt;
== Сцена открытого ПО ==&lt;br /&gt;
Ранние версии ''Rosegarden'', MIDI-секвенсора и редактора, и ''Ardour'', многоканального рекордера и редактора, имели пугающе примитивные интерфейсы. Аудиопрограммы для Linux традиционно использовали стандартные органы управления, в основном негодные или, в лучшем случае, неудобные. Можно считать, что настраиваемые органы управления – не главное в аудиопрограмме, но, сделанные с умом, они способны создать очень удобную и отзывчивую рабочую среду.&lt;br /&gt;
&lt;br /&gt;
Качество интерфейсов, впрочем, улучшалось, и хотя FOSS пока не получил что-то столь же впечатляющее, как проприетарные ''Ableton'', ''Nuendo ''или ''Reason'', разрыв стремительно сокращается. В изобилии распространяя общедоступные, загружаемые CD, содержащие полные комплекты ПО на все случаи жизни, Linux может сделать электронную музыку доступной повсеместно, наравне с акустическими инструментами.&lt;br /&gt;
&lt;br /&gt;
== Часть 1 Настройка ==&lt;br /&gt;
=== Как я настроил выбранное ПО Linux ===&lt;br /&gt;
Как минимум, понадобятся многоканальная звуковая карта, приличный микшер и хороший набор колонок. В моем случае один очень щедрый мой друг одолжил мне большую часть профессиональной оснастки, которой он пользовался для звукозаписи в студии на базе Windows. Конфигурация моей машины: Pentium 4.2 ГГц (1 ГБ ОЗУ и 120 ГБдиск UDMA). Прежде чем настраивать Linux для работы с аппаратурой, нужно было принять важные решения в отношении ПО: ведь взяв негодные инструменты, можно загубить творчество бесконечными заплатками, конверсиями и – о ужас! – математикой.&lt;br /&gt;
&lt;br /&gt;
Первый вопрос – выбор дистрибутива. Хотелось найти дистрибутив, заточенный под аудио, снабженный музыкальным ПО и допускающий несложное добавление программ. Основными претендентами были 64 Studio, Studio To Go, Agnula и Ubuntu Studio. В конце концов я остановился на 64 Studio, так как это небольшой дистрибутив на основе Debian, включающий все стандартные аудио-инструменты Linux, настроенные на работу с Jack в реальном времени. Кроме того, есть преднастроенная поддержка кластеризации и SMP. Пусть мой компьютер не 64-битный и не многопроцессорный, но лучше вырабатывать стандарт на дистрибутиве, нацеленном на будущее. Было также желание обойтись без компиляции.&lt;br /&gt;
&lt;br /&gt;
Подбор ПО не составил труда, ведь в 64 Studio для выполнения любой работы предназначена единственная избранная программа. Все программы скомпилированы с поддержкой 64-битной SMP, 96-КГц аудио и совместимыми версиями ПО для любых подключений. Со многими коммерческими программами использование SMP требует дополнительной лицензии.&lt;br /&gt;
&lt;br /&gt;
=== Сборка ===&lt;br /&gt;
Итак, что для нас приготовил 64 Studio? ''Ardour ''отвечает за многоканальную запись, предоставляя несколько аудио-вводов, выводов и каналов, с помощью которых можно использовать LADSPA или VST для вставки эффектов. Audacity будет аудио-редактором, альтернативы ему просто нет. ''Jamin ''предоставляет мощный инструмент тонкой настройки миксов с 1,024-полосным эквалайзером и компрессором. MIDI-секвенсор – ''Rosegarden'', это очевидно. Он работает с MIDI- и аудио-модулями (LADSPA, DSSI, а скоро и VST), но не будет воспроизводить аудио-файлы, если не установить соответствующий модуль. Для ударных есть ''Hydrogen'', обладающий мощным аранжировщиком барабанных паттернов, базовыми возможностями управления сэмплами и управлением MIDI, которое плавно интегрируется в ''Rosegarden ''через процедуру импорта файлов.&lt;br /&gt;
&lt;br /&gt;
Инсталлятор 64 Studio, совершенно стандартная текстовая штука, за пять минут провел меня через процесс разбивки диска и создания пользовательской учетной записи. Я выбрал единственный раздел, но для коммерческой студии было бы разумнее применить несколько учетных записей и дисковые квоты. Создание отдельного раздела для журнала поможет предотвратить захват системы единственным пользователем.&lt;br /&gt;
&lt;br /&gt;
При выборе звуковой карты для профессионального использования выгоднее быть разборчивым: у карт потребительского уровня (на вас смотрю, Creative Labs) скверное соотношение сигнал/шум, способное привести к появлению в ваших миксах совершенно неожиданных пассажей. Включив звуковую карту потребительского уровня в студийный микшер полуприличного качества, вы будете неприятно удивлены тем, сколько треска и хруста производят движения мыши и обращения к винчестеру. При использовании мощной звуковой аппаратуры подобные шумы могут лишить вас слушателей.&lt;br /&gt;
&lt;br /&gt;
Я воспользовался звуковой картой Echo Layla3G 8-in/8-out PCI с коммутационным боксом. Кроме Echo Digital, Linux поддерживает карты RME, Event и Edirol – все это старые брэнды, поддержка в Linux новых карт пока недостаточна. Это огорчает, но старые карты все же очень широко распространены. К тому же есть причины для оптимизма в свете недавнего заявления Грега Кроа-Хартмана [Greg Kroah-Hartman], обращенного к производителям, о поддержке разработки Linux-драйверов для их устройств (http://www.kroah.com/log/linux/free_drivers.html ). 4FrontTechnologies (http://www.opensound.com/ ) тоже разрабатывает драйверы для популярных карт профессионального уровня от M-Audio: линеек Audiophile и Delta.&lt;br /&gt;
&lt;br /&gt;
Обычно профессиональные звуковые карты имеют надежно изолированные чипы, хорошо заземленные и экранированные от электромагнитного шума, производимого окружающей аппаратурой. Карты USB и FireWire реже страдают от шумовых проблем, так как находятся обычно за пределами системного блока. К счастью, Linux-поддержка USB- и FireWire-карт значительно улучшена благодаря надежной работе с общими классами аудиоустройств и выпуску Freebob, драйвера для ALSA и Jack.&lt;br /&gt;
&lt;br /&gt;
=== Низкая латентность ===&lt;br /&gt;
В 64 Studio я сразу направился в ''QjackCtl ''(интересное название для альбома, а?), чтобы узнать, правильно ли настроена моя карта Layla3G с Jack. Увы, нет. Зато работала ALSA. Все, что мне оставалось сделать -это изменить количество входных и выходных каналов на восемь, установить частоту дискретизации 96 KГц и задать возможно более низкую латентность. С тех пор система не знала простоя и действовала с такой производительностью, что регулярно переполняла винчестер.&lt;br /&gt;
&lt;br /&gt;
Затем я загрузил ''Ardour. ''Хотя все было готово к немедленной записи, первые два канала оказались не в состоянии взяться за дело. Стандартная конфигурация ALSA на 64 Studio не затрагивала микшер, это осложнило диагностику проблемы. Карту Layla3G лучше всего настраивать с помощью программы ''Echomixer, ''позволяющей связывать между собой любые входные и выходные порты, а также настраивать уровни усиления и подавления. Но это не спасло, и мне пришлось заключить, что два первых канала на Layla3G настроены на цифровой ввод и вывод вместо аналогового.&lt;br /&gt;
&lt;br /&gt;
Управление аудио с помощью Jack и эффективно, и просто в изучении. Jack предоставляет широкий выбор вариантов связывания входов и выходов в стиле «многие со многими». Выводами могут считаться не только выводы звуковой карты, но и вводы аудиопрограмм; вводы могут быть не только вводами звуковой карты, но и выводами аудиопрограмм. Можно ненароком создать обратные петли, так что будьте осмотрительны. ''QjackCtl ''упрощает управление этими связями с помощью специальной соединительной кнопки.&lt;br /&gt;
&lt;br /&gt;
=== Проблема Motu ===&lt;br /&gt;
Единственным устройством, не поддавшимся настройке, было Motu MIDI Express 128 – к моей досаде, так как оно управляет MIDI-синтезаторами. Я посоветовал бы избегать аппаратуры Motu: лучше пользоваться устройством от M-Audio или дешевым MIDI-интерфейсом USB. Я попробовал три синтезатора: станковый Access Virus, установку Novation Super Bass и Roland Juno-60 с интерфейсом Kenton Pro-DCB MIDI, и нашел, что управлять ими можно, связав MIDI-выводы от Layla3G через сквозные порты MIDI на синтезаторах. Иметь специальный MIDI-порт для каждого синтезатора было бы неплохо, но это пока подождет. Моя MIDI-клавиатура Evolution MK-249C работала превосходно.&lt;br /&gt;
&lt;br /&gt;
=== Оптимизация в реальном времени ===&lt;br /&gt;
Упомянутые мной заплатки ядра реального времени позволяют процессам работать в условиях приоритета жесткого реального времени, игнорируя прерывания, имеющие более низкий приоритет. В случае с аудио можно присвоить наивысшие приоритеты звуковой карте, за ней жесткому диску – тогда получится непрерывная аудиозапись. Это достигается передачей ''chrt ''(часть пакета ''schedutils'') ID процесса поточной версии прерывания для каждого устройства, а также уровня приоритета для каждого процесса. Чтобы просто посмотреть уровни приоритета, можно ничего не вводить.&lt;br /&gt;
&lt;br /&gt;
Приоритеты реального времени – это, конечно, риск для большинства систем, поэтому управлять ими может только администратор. Но существуют механизмы для передачи его полномочий избранным пользователям. ''Realtime-lsm ''– наиболее популярный из них, но в настоящее время эта программа почти полностью уступила место ''Rlimits'', использующей PAM для авторизации пользователей, запрашивающих приоритет реального времени. Это означает, что отпала необходимость запускать Jack или аудиопрограммы от имени суперпользователя. Примечательное свойство систем с низкой латентностью – это некоторое упрямство приоритизированных приложений и нежелание быстро обновлять экран, так как они ни с кем не хотят делиться ресурсами процессора. Зато такая система выдает монолитную аудиозапись.&lt;br /&gt;
&lt;br /&gt;
Итак, моя новая аудиосистема была почти готова. Оставалась только оптимизировать жесткий диск, чтобы он справлялся с аудиопотоками реального времени. Хотя приоритет для диска и был установлен, сам диск все же оставался в стандартном режиме, что приводило к зависанию при попытке одновременной записи более четырех каналов. Несколько пассов с ''hdparm ''для установки 32-битного режима ('''-c 1'''), UDMA ('''-d 1 -x 66''') и мультисекторной передачи ('''-m 16''') завершили работу. Если бы я захотел включить в работу все восемь каналов, то мне, вероятно, потребовался бы RAID или, как минимум, SATA-диск, чтобы справиться с записью/чтением потока аудиоданных.&lt;br /&gt;
&lt;br /&gt;
== Часть 2 Процесс пошел ==&lt;br /&gt;
=== На что же способна свободная студия? ===&lt;br /&gt;
Чтобы протестировать студию, я пригласил многообещающую группу под названием The Mandibles для записи нескольких дорожек. Там были три гитариста, один клавишник, двойной бас, саксофон, два вокалиста, труба и ударник. Было непросто, ведь в моей студии нет отдельных боксов для записи, поэтому я нашел несколько тихих мест в своей кухне и установил в них микрофоны: Shure SM58 для струнных, SM57 для ударных и баса, и AKG для вокала и духовых.&lt;br /&gt;
&lt;br /&gt;
''Ardour ''весь вечер безупречно записывал четыре канала разом в поразительно чистый 32-битный 96-килогерцовый файл WAV-фор-мата. Я легко перемещал записи между каналами и вставлял новые отрезки без ущерба для производительности. Трудности появились лишь при попытке одновременной записи шести каналов (очевидная проблема быстродействия жесткого диска), даже на низких битрейтах. Мне хотелось записать для каждого микрофона отдельный канал в ''Ardour'', чтобы получить максимальную гибкость при дальнейшей обработке звука. Вместо этого все микрофоны были подключены к микшеру и сгруппированы на входы звуковой карты как две стереопары.&lt;br /&gt;
&lt;br /&gt;
Имея в распоряжении всего четыре канала, я мог быстро переключаться между дорожками и добавлять эффекты без замедления. С быстрым жестким диском ''Ardour ''работает более гладко и никогда не запинается, даже при шестиканальной записи. Отладив процесс аудиозаписи, я предполагаю записывать все восемь каналов одновременно.&lt;br /&gt;
&lt;br /&gt;
Вместо микширования в ''Ardour'', я воспользовался микшером и направил все аудио-каналы обратно на звуковую карту для записи. Таким образом, я мог пользоваться отдельным эквалайзером для каждого канала микшера и аппаратным компрессором вокала. Проще делать это физическими органами управления, а возможность расположить все дорожки рядом облегчает наблюдение за настройкой.&lt;br /&gt;
&lt;br /&gt;
Все программы моей новой системы прекрасно взаимодействовали, хотя пользователям коммерческого ПО интеграция между ними может показаться не столь тесной, как им привычно. Я пользовался многими разными программами для решения разных задач, что делало переключение между дорожками трудоемким и подчас бессистемным. Тем не менее я сумел открыть файл ''Hydrogen ''в ''Rosegarden ''и увидеть автоматически установленную связь между двумя программами. Мне осталось лишь добавить инструменты. В будущем интеграцию между Linux-приложениями должен углубить проект LASH – см. http://savannah.nongnu.org/projects/lash .&lt;br /&gt;
&lt;br /&gt;
=== Гармония ПО ===&lt;br /&gt;
В моем случае, Linux в деле звукозаписи имел успех. Настройка проще, чем у Windows, меньше перезагрузок и не требуется загрузка драйверов (Windows не включает драйверы и ПО в стандартную инсталляцию). А главное, не понадобилось ничего устанавливать необычным, особенным способом. Нельзя не упомянуть о жестких ограничениях на число MIDI- и аудиопортов в Windows. Зато я потерял некоторые мои любимые проприетарные программы, и мне трудно ощущать себя столь же креативным на Linux с самого начала из-за упрощенных интерфейсов и отсутствия демо-файлов для обучения.&lt;br /&gt;
&lt;br /&gt;
Ядро с поддержкой приоритетов реального времени - это здорово, хотя инструмент добавки модулей не работает, и простые добавления к ядру недоступны. При этом ничто не мешает собрать собственное ядро и добавить, например, ''Xgl ''для освобождения процессора от бремени отрисовки графики, или добавить привычную программу вроде ''Vi ''(по умолчанию в 64 Studio стоит ''Nano''). Экспериментирование - одна из прелестей свободного ПО, и вы можете поискать совета и вдохновения на http://linux-sound.org/ , http://www.linuxaudio.org/ и http://lalists.stanford.edu/ Дерзайте же - освободите внутреннее Я и возьмитесь за рукоятки.&lt;br /&gt;
&lt;br /&gt;
== Интервью: Дэниел Джеймс ==&lt;br /&gt;
Дэниел Джеймс -директор проекта аудио-дистрибутива 64 Studio. Он учредил 64 Studio Ltd, предоставляющую услуги по разработке независимым поставщикам и поддержку пользователям в студиях (http://www.64studio.com/ ) Кроме того, Джеймс владеет студией звукозаписи на основе Linux недалеко от дома, на острове Уайт.&lt;br /&gt;
&lt;br /&gt;
Linux Format: '''Каково основное требование к студии звукозаписи на базе Linux? Гибкость, стабильность, скорость…?'''&lt;br /&gt;
&lt;br /&gt;
Дэниел Джеймс: Надежность. Не просто стабильность, а полное отсутствие неполадок: необходима уверенность в том, что оснастка не подведет. При записи живой музыки второй попытки не бывает.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Сколько дорожек вам случалось записывать одновременно?'''&lt;br /&gt;
&lt;br /&gt;
ДДж: На моей системе Opteron я еще никогда не приближался к физическому пределу аппаратуры. Сегодня количество каналов обычно ограничивается числом каналов аудиоинтерфейса, а не пределами программы или процессора. Теоретически, пользуясь ''Ardour ''и звуковой картой RME MADI, можно записывать до 64 каналов одновременно - но такое количество мало кому нужно&lt;br /&gt;
&lt;br /&gt;
LXF: '''Насколько близки Linux-решения к своим проприетарным соперникам?'''&lt;br /&gt;
&lt;br /&gt;
ДДж: Не всегда можно найти подходящий эквивалент, но для работы с музыкой средств вполне достаточно. В некоторых случаях, особенно в экспериментальных жанрах, именно проприетарному ПО недостает функциональности.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Можно ли монтировать фонограмму с помощью Linux?'''&lt;br /&gt;
&lt;br /&gt;
ДДж: Легко. Имея старый компьютер со слабым процессором, можно обрабатывать дорожки по отдельности с использованием LADSPA-эффектов, например, в ''Audacity. ''Счастливые обладатели новейшего оборудования могут монтировать в реальном времени с помощью ''Jamin''&lt;br /&gt;
&lt;br /&gt;
LXF: '''Есть ли средства для компрессии, сглаживания и ауторинга CD по Red Book?'''&lt;br /&gt;
&lt;br /&gt;
ДДж: ''Jamin ''обладает хорошим трехдиапазонным компрессором, а также 1,024-полосным эквалайзером с ручным подбором кривых, упреждающим ограничителем и другими инструментами. Сглаживание вывода можно делать из ''Ardour, Audacity ''или прямо из Jack. Что касается экспорта аудио в Red Book, то сегодня люди в основном отправляют WAV-файлы на CD-R дубликаторам и предоставляют им заботу об остальном, поэтому я никогда не слышал, чтобы кто-нибудь жаловался на нехватку свободного ПО для записи DDP-файлов на Exabyte-магнитофон&lt;br /&gt;
&lt;br /&gt;
LXF: '''Вы считаете, свободное ПО вносит свой вклад в коллективизацию производства музыки?'''&lt;br /&gt;
&lt;br /&gt;
ДДж: Определенно, хотя существует риск чрезмерно увлечься созданием инструментов и забыть о самой музыке. Правда, хорошо написанная программа красива сама по себе, а аудиосообщество Linux гораздо дружелюбнее к новичкам, чем некоторые музыкальные союзы&lt;br /&gt;
&lt;br /&gt;
Полный текст интервью см. на http://www.linuxformat.co.uk/mag/james.html &lt;br /&gt;
&lt;br /&gt;
== Врезки ==&lt;br /&gt;
=== ПО для студии ===&lt;br /&gt;
В Linux имеется ПО для всех видов студийных работ. Чтобы помочь вам сориентироваться, здесь приведены Linux-эквиваленты известных программ.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|'''ПО''' &lt;br /&gt;
|'''Windows''' &lt;br /&gt;
|'''Mac''' &lt;br /&gt;
|'''Linux''' &lt;br /&gt;
|-&lt;br /&gt;
|'''Звуковой редактор''' &lt;br /&gt;
|Adobe Audition, Audacity, Sound Forge, Wave Lab &lt;br /&gt;
|Audacity, Sound Studio &lt;br /&gt;
|Audacity &lt;br /&gt;
|-&lt;br /&gt;
|'''Многоканальная запись''' &lt;br /&gt;
|Adobe Audition &lt;br /&gt;
|Ardour, Digital Performer,&lt;br /&gt;
&lt;br /&gt;
GarageBand,&lt;br /&gt;
&lt;br /&gt;
Logic Audio &lt;br /&gt;
|Ardour &lt;br /&gt;
|-&lt;br /&gt;
|'''MIDI-секвенсор''' &lt;br /&gt;
|Cakewalk, Cubase &lt;br /&gt;
|Cubase, Logic Audio, Metro &lt;br /&gt;
|Rosegarden &lt;br /&gt;
|-&lt;br /&gt;
|'''Ударные''' &lt;br /&gt;
|FruityLoops, Reason &lt;br /&gt;
|Doggiebox, iDrum, &lt;br /&gt;
|Hydrogen &lt;br /&gt;
|-&lt;br /&gt;
|'''Программные синтезаторы''' &lt;br /&gt;
|Ableton, FruityLoops, Reason &lt;br /&gt;
|Ableton, Reason, VirSyn &lt;br /&gt;
|QSynth, ZynAddSubFX &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Linux-студия звукозаписи ===&lt;br /&gt;
'''Микширующая консоль '''Это центр студии, все аудиовходы проходят сквозь консоль перед передачей на Linux-машину по одному из четырех отдельных выходных каналов&lt;br /&gt;
&lt;br /&gt;
'''Linux-компьютер '''При четырех входах можно одновременно записывать с микширующей консоли два стереоканала. Большее количество входов позволяет записать более широкий диапазон. Отсюда также отправляется и принимается MIDI для секвенсирования синтезатора.&lt;br /&gt;
&lt;br /&gt;
'''Электрогитара '''Требует особого аудио-входа под названием high-Z, для адаптации гитарного аудиосигнала. Таким вводом располагают очень немногие звуковые карты, что вынуждает использовать микширующую консоль или вывод от специального устройства для генерации гитарных эффектов&lt;br /&gt;
&lt;br /&gt;
'''Клавиатура синтезатора '''Хотя клавиатура не производит звук, она часто используется для отправки MIDI-нотных данных на Linux-машину. Если необходимо воспроизведение звука, то аудиовывод должен быть подключен либо к микшеру, либо к компьютеру.&lt;br /&gt;
&lt;br /&gt;
'''Внешние эффекты '''Воспроизведение некоторых эффектов, в особенности реверберации, лучше предоставить внешним устройствам, чем программе. Используя канал отправки эффекта на микшер, можно отправить некоторое количество звука и смешать возвращенный аудиосигнал с первоначальным фрагментом&lt;br /&gt;
&lt;br /&gt;
'''Микрофон '''Настоящему микрофону необходимо 48-В питание, подведенное от предуси-лителя через особый трехштырьковый XLR-разъем. Большинство микшеров оснащается несколькими предусилителями, но в комплект звуковых карт они включаются редко&lt;br /&gt;
&lt;br /&gt;
=== Скрипты реального времени ===&lt;br /&gt;
Два скрипта для просмотра и настройки приоритетов IRQ реального времени:&lt;br /&gt;
&lt;br /&gt;
''check_irq_priority''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chrt -p `pidof “IRQ $1”`&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''set_irq_ priority''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 chrt -f -p $2 `pidof “IRQ $1”`&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Советы по звукозаписи ===&lt;br /&gt;
Чтобы упростить работу с ''Rosegarden, ''установите псевдонимы для ваших устройств в MIDI-менеджере. Некоторые распространенные устройства обладают даже банками профилей, с корректными параметрами и названиями патчей. Загрузить их можно, нажав кнопку Banks (Банки) в MIDI-менеджере. Получив работоспособную конфигурацию студии в ''Rosegarden, ''можно сохранить ее как «студию по умолчанию». В этом случае уже при загрузке ''Rosegarden ''все инструменты будут настроены автоматически. Перейдите к Composition &amp;gt; Studio &amp;gt; Save Current Document As Default Studio (Композиция &amp;gt; Студия &amp;gt; Сохранить текущий документ как студию по умолчанию). Многим нравится запускать Jack одновременно с началом сессии ''gnome-session. ''Чтобы добиться этого, просто выберите пункт Sessions (Сессии) в меню Desktop &amp;gt; Preferences (Десктоп &amp;gt; Параметры) и добавьте ''QjackCtl ''в список автозагрузки. Если вы хотите, чтобы автоматически запускался транспорт Jack, воспользуйтесь вместо этого ''qjackctl -s. ''Сохранение маршрутизации Jack для последующего использования предотвратит трудоемкую перезагрузку студийной конфигурации для каждой дорожки. Просто щелкните Save (Сохранить) в разделе наборного поля ''QjackCtl.''&lt;br /&gt;
&lt;br /&gt;
Отображение маршрутизации Jack иногда сбивается. В этом случае щелкните New (Создать) для обновления раскладки с использованием данных о текущем состоянии подключений.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-09T19:36:50Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]] Клиент потокового вещания&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]] Резервное копирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Спецрепортаж|Спецрепортаж: Арсенал сисадмина]] Как упростить и ускорить управление вашей системой&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Интервью|Интервью: Джереми Эллисон]]&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Мытарства композитора|Мытарства композитора]] Создаем Linux-студию звукозаписи.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D1%8C%D1%8E</id>
		<title>LXF93:Интервью</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D1%8C%D1%8E"/>
				<updated>2008-03-09T18:59:20Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: Интервью Джереми Эллисон   = Сохраняя веру = ''Уход из Novell сделал его героем мира Open Source, но '''Джереми Элл...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Интервью Джереми Эллисон&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Сохраняя веру =&lt;br /&gt;
''Уход из Novell сделал его героем мира Open Source, но '''Джереми Эллисон '''просто хочет работать над Samba. И играть в Half-Life.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Мир Linux рассуждал о важности союза Novell и Microsoft, когда в декабре прошлого года всех ошарашила новость о том, что Джереми Эллисон [Jeremy Allison], один из создателей ''Samba ''и сотрудник Novell, покинул фирму в знак протеста против этой «ошибки», которая, по его мнению, «повредит успеху Novell в будущем». Было понятно, что этот союз сильно отразится на Linux. Эллисон, чья принципиальная позиция вызвала общие аплодисменты обычно конфликтующих фракций компьютерной сферы, обнаружил, что совершенно не в состоянии совместить патентное соглашение Novell с идеей свободного ПО. «Мое основное убеждение насчет этой сделки – я полагаю, что даже если буква лицензии и не нарушена, то нарушен дух лицензии GPL (под которой выпускается код ''Samba''), предписывающий одинаково относиться ко всем получателям кода», – сообщил он тогда в своем уведомлении об уходе, разосланном электронной почтой. Его возражения от имени ''Samba ''подняли кое-какие интересные вопросы о существующей напряженности между фирмой и сообществом и о том, как хакеры могут сочетать вклад в свободное ПО с оплачиваемой ежедневной работой, даже если, как в случае с Эллисоном, эта ежедневная работа включает в себя такую интересную и ценную деятельность, как корпоративное внедрение SUSE Enterprise Linux.&lt;br /&gt;
&lt;br /&gt;
Как сообщалось, Эллисон ушел в Google, где ему дали полную свободу работать над ''Samba'', технологией сетевого взаимодействия. '''Ник Вейч '''встретился с ним на конференции LinuxWorld в Нью-Йорке.&lt;br /&gt;
&lt;br /&gt;
Linux Format: '''Ну, с чего начнем? '''&lt;br /&gt;
&lt;br /&gt;
Джереми Эллисон: [Смеется] Не знаю.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Давайте начнем с больной темы – с я-больше-не-работаю-в-Novell. Вы считаете, что можно заниматься коммерцией в пространстве Linux, избегая конфликта интересов?'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Конечно. Я надеюсь, что как только выйдет GPL 3, и некоторые проекты перейдут на нее, всё изменится, и Novell... Короче, все опять будут счастливы.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Вы думаете, Novell будет счастлива принять на GPL 3?'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Да. Насколько я понимаю, GPL v3 никак не повредит бизнесу Novell. Не забудьте, что я говорю только о том, что касается ''Samba''.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Полагаю, GPL 3 сможет многое прояснить. '''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Думаю, да. Полагаю, нам именно это и надо.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Кажется, часть критикующих GPL 3 делает это потому, что кроме юридических положений, в ней содержится и ряд политических.'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Но так всегда было в GPL. Вспомните манифест GPL Manifesto в исходной лицензии. Это - политическое заявление, и так всегда и было.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Она не может не быть политической. Но это, по-моему, кое-кого пугает. Они рассуждают так: «Я что, действительно должен это принять?»'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Я смотрю на это так. Я был на конференции в Лондоне [LinuxWorld] - по-моему, это было в октябре - и один юрист там заявил: «О, GPL3 - это тот самый ужасный ''Коммунистический Манифест ''со злостными перегибами! По сравнению с чудесной, общепонятной GPL 2 он отвратителен». Я просто расхохотался. За последние 15 лет я посидел и переговорил со множеством корпоративных юристов, и все они твердили: «GPL 2 - это же коммунизм, это ужасно!» Я и говорю ему: «Как знать, может быть, лет через десять вы скажете, что GPL 4 ужасна - в отличие от разумной и умеренной GPL 3!»&lt;br /&gt;
&lt;br /&gt;
LXF: '''Как-то я спорил с одним человеком о компьютерном оборудовании. Он жаловался, что Linux сложен и ужасен в использовании и что люди его не понимают. Он сам пробовал, но не добился работы ни с каким его оборудованием.'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Что, это был Red Hat 5.1?&lt;br /&gt;
&lt;br /&gt;
LXF: '''Это был Ubuntu - по-моему, одна из последних версий. Но он, например, сказал: «С моим iPod это работать не будет» - а я ему ответил, что можно установить разные программы, которые будут успешно обмениваться информацией с iPod.'''&lt;br /&gt;
&lt;br /&gt;
'''А он мне: «Ну, да, но музыку, которая у меня есть, они не воспроизведут, потому что она вся в ААС» или в каком-то там еще дурацком DRM-ном формате. Я не смог его убедить, что это не Linux не работает, а Apple «подсадила его на свою иглу».'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Значит, для него Linux не работает. У него есть все основные приложения, которые ему нужны. Многим людям по той же причине нужна Windows. Если есть приложение, которое делает то, чего нет в Linux или еще что-то в том же роде, я совершенно спокойно говорю: «ОК, пользуйтесь Windows». Я не хочу заставлять людей заниматься ерундой. Кроме моей мамы - она мой испытательный полигон!&lt;br /&gt;
&lt;br /&gt;
LXF: '''Просто раздражает иногда, что некоторые считают Linux ерундой, раз ничто на свете не заставит его воспроизвести DRM-ные файлы из iTunes.'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Возвращаясь к Novell: по-моему, недостаточно громко прозвучало, что Peugeot установил с помощью Novell 20 000 настольных Linux-систем. Нельзя говорить, что Linux не готов для использования в рабочих станциях, если Peugeot ставит таких 20 000 штук. Я работал в этом проекте перед увольнением, хотя моя роль в нем была весьма скромной. И мы говорим не о каких-то там настольных машинах, которые будут использоваться графическими дизайнерами или еще кем-то, кто собирается применять инструменты Linux, а о владельцах ноутбуков, которые таскают их домой, работают вне сети, в отелях, через VPN – и у них все это получается.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Естественно, Novell уже использует Linux на своих рабочих столах.'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Если хотите знать о настольном Linux, то, если честно, вам надо говорить с другими людьми. Или с моей мамой.&lt;br /&gt;
&lt;br /&gt;
LXF: '''И каковы ее предпочтения в Linux на данный момент?'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: На данный момент она исследует SUSE 10.1, но, возможно, я ее переведу на Ubuntu. Я подумываю о том, чтобы подарить ей один из этих Mini PC.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Давайте немного поговорим о Samba: как там дела с Samba? '''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Много разработок. И эти разработки все разрастаются и разрастаются. Сейчас имеется четыре различных CIFS-клиента, независимых от Windows. Есть CIFS Стивена Френча [Steven French] в Linux, есть клиент в Mac OS X; не знаю, могу ли я назвать еще одного… давайте назовем его A.N. Другой крупный разработчик Unix взял код Darwin и создает еще одного CIFS-клиента, и мне очень хочется помочь им в этом. Затем, естественно, у HP имеется свой клиент на базе Sharity.&lt;br /&gt;
&lt;br /&gt;
Так что есть четыре разных CIFS-клиента, и все они реализуют расширения Unix. В этом пункте возникает интерес у тех, кто работает с NetApp и EMC, и они уже могут сказать: «Если вы напишете все эти расширения на RFC, мы, возможно, включим их в свой код». И тогда у вас получается альтернативная версия протокола CIFS для настольной системы. Потому что, по моей теории, все будут использовать CIFS на своих столах. NFS v4 или прочие протоколы файлового доступа на заднем плане – это хорошо. Но на настольной системе всем приходится держать Windows, так что они уже работают с CIFS, а чтобы другие системы с ней хорошо взаимодействовали, им тоже придется работать с CIFS. Но у вас может быть разновидность CIFS, созданная под POSIX, и в таком случае вы обязательно расширите этот протокол, чтобы он был более полезен для вас. Наличие для этого четырех независимых клиентов означает наличие весьма гибкой кодовой базы, которая выявляет большое количество ошибок, деталей применения, и в принципе создает сильную экосистему. Да еще есть всякие разновидности Windows, которые так и так приходится поддерживать. Вот так обстоят дела, еще есть работа с операцией отсоединения Winbind, которую впервые применили в Novell и которая использовалась при развертывании в Европе, это очень крутая штука. Я там больше не работаю, но штука действительно крутая.&lt;br /&gt;
&lt;br /&gt;
Еще есть кластерная ''Samba'', над которой работает Тридж [Эндрю Триджелл – Andrew Tridgell] [CTDB], так что я усвоил неплохие навыки кодирования.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Наконец-то!'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Да уж, наконец-то! Я нахожусь в таком месте, где полно людей, и каждый мне говорит: «Ты – идиот, все надо делать не так!» А я им в ответ: «А знаете, вы правы!» Мы занимаемся серьезной реструктуризацией внутренней структуры ''Samba''. Вроде чистки Авгиевых конюшен: по одному стойлу за раз. Мы вычищаем старый код. Это как будто вы летите на одном самолете, и при этом строите другой самолет – переносите части из одного в другой на лету. И это здорово.&lt;br /&gt;
&lt;br /&gt;
LXF: '''И, очевидно, вам это тоже нравится.'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Да. Мне нравится создавать код.&lt;br /&gt;
&lt;br /&gt;
LXF: '''И давно ли вы этим занимаетесь?'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Думаю, лет 12, может быть, 15. Давно уже.&lt;br /&gt;
&lt;br /&gt;
LXF: '''И как вам удается сохранить мотивацию?'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Потому что здесь все постоянно меняется. Это как с водопроводчиками: некоторым нравится быть водопроводчиками, потому что им интересно работать с трубами, и я один из таких. Ты просто наводишь глянец и думаешь: «Да, уже блестит, но можно сделать так, чтобы блестело еще ярче. Можно стукнуть по этой трубе, и она станет поровнее». Не знаю. Почему Линусу нравится писать ядро? Почему парням из ''Apache ''нравится заниматься ''Apache''? Кого-то по дороге теряешь, кого-то находишь, но это проект, и работать над ним – удовольствие; до сих пор удовольствие. Круто, когда приходишь во Fry, и там все эти ящики, и ты знаешь, что все они работают на твоем коде. А потом покупаешь один из них, смотришь, и начинается: «О, Господи, они работают на 3.02! Там же столько ошибок!» Недавно ко мне обратился один разработчик NAS-систем, потому что вышла Vista, и у них все сломалось. Я ему говорю: «Почему это вышло из строя? Мы и тут тестировали, и там тестировали!» А потом оказалось, что они работали в режиме коллективной безопасности. «Ребята, вы что, сопроводиловку не читали? Мы его пометили как устаревший пять лет назад!»&lt;br /&gt;
&lt;br /&gt;
LXF: '''Раньше никто не жаловался.'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Да, верно, потому мы и работаем над этим. Это здорово, когда много работы.&lt;br /&gt;
&lt;br /&gt;
LXF: '''У вас никогда не возникало желания заняться чем-то еще?'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Помню, я на какое-то время ушел в мир Kerberos – это было в 95–96 году – и занимался еще и ''Cygwin''. Если бы я только и занимался файлово-серверным кодом, то, конечно, мне бы это надоело. Но ''Samba ''сейчас включает солидные куски Kerberos, LDAP, динамического обновления DNS, шифрования, расширения POSIX CIFS, помощь в создании ядра Linux, помощь парням из Mac с их программами, поддержка потоков… Как там эта японская игра называется – ''Катамари Дамаси'', или что-то в этом роде – надо катать большой мяч, а цель игры – чтобы как можно больше вещей к вам прилипло? Вот и у нас то же самое.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Это почти что готовая ОС.'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Я как-то пошутил, что нам надо в какой-то момент переименовать SMBD в NTOSKRNL.EXE, и будет нормально. Конечно, это не слишком политкорректно, но… ''Winbind ''ведет нас к замене интерфейсов NSS (Name Server Switch), потому что, не знаю, заметили вы это или нет, но NSS – это отстой. В этой области Windows действительно в своем праве, и она намного, намного опережает Linux и Unix. Что хорошо в Windows – так это то, что они внедряют исключительно крупные службы каталогов по всему миру. Посмотрите на современный интерфейс Windows: вы хотите добавить ACL к файлу, так? Раньше, в ''NT4 ''и более ранних версиях, надо было вывести диалоговое окно, и там было бы написано, сами знаете – List Users, верно? Элемента List Users больше нет. А причина в том, что перечисление абсолютно всех пользователей, к которым вы можете обратиться, может означать, что вам придется обратиться к DC (контроллерам доменов) в Европе, Бангалоре, Японии – это ведь просто невозможно. На это уйдут часы. Половина из них может быть вне доступа, понимаете?&lt;br /&gt;
&lt;br /&gt;
А сейчас у вас есть поисковый интерфейс. Если вам надо добавить пользователя, вы вводите поисковый запрос. Это именно то, что надо. На данный момент мы ограничены интерфейсами POSIX/NSS, которые работают так: «начать перечисление пользователей, следующий, следующий». Здесь нет, например, «найти всех пользователей, начинающихся с V».&lt;br /&gt;
&lt;br /&gt;
LXF: '''В некотором смысле по-прежнему выгодно смотреть за тем, что используют в Windows, и учиться на их ошибках?'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Да, безусловно. И, надеюсь, они тоже учатся у нас. Самое главное, по крайней мере, для меня, учиться друг у друга и использовать научные методы для улучшения программ. Для меня суть Open Source именно такова: это научный подход, приложенный к созданию программ. Вы добиваетесь результата, не просто рассматривая то, над чем приходится работать; вам приходится рассматривать множество других систем, чтобы узнать, что в них хорошего и чему вы можете у них научиться.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Каких волнующих событий вы ожидаете в этом году? Что-нибудь интересное произойдет?'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Вы имеете в виду, в ''Samba''? Там тонны работы. Просто тонны. Я хочу упростить удаленный доступ, чтобы можно было развернуть серверы ''Samba ''действительно легко. Я надеюсь, что этот год станет годом, когда дистрибутивы всерьез займутся взаимодействием с Windows. Novell уже продемонстрировал, как это делать, так что я надеюсь, Ubuntu и Red Hat заявят: «Эй, нам это тоже надо!»&lt;br /&gt;
&lt;br /&gt;
LXF: '''Думаю, в Ubuntu над этим уже работают.'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Если к концу года добьются уверенного взаимодействия с Windows – через Active Directory или что-то другое – и оно будет доступно всем, каждый сможет работать на ноутбуке, отсоединенном от сети, для нас это и будет волнующим событием.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Это достижимо?'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Да. В особенности потому, что не мне придется выполнять эту работу! Код уже есть, его нужно адаптировать, его нужно ввести в дистрибутивы, и нужно, чтобы были соответствующие интерфейсы управления. И вот над этим-то нам и приходится работать, и это ужасно для нас. Мне нравится Ubuntu: он очень хороший, очень милый. Это – один из тех дистрибутивов, в которых все отработано, и все очень хорошо. Я купил фотопринтер HP, и он сразу заработал; можно подключить камеру, и я импортировал все, что надо, в ''F-Spot'', подключил кинокамеру и скопировал MPEG, и потом записал DVD – все отлично работает.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Даже под Windows с этим справиться нелегко.'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Знаю. Проблема этих приложений в том, что они отличаются от тех, с которыми работают пользователи Windows, а люди не любят изменений. И с играми отстой. Играть нельзя, ну, не знаю, какими бы ни были игры. Я вот люблю ''Half-Life'', но…&lt;br /&gt;
&lt;br /&gt;
LXF: '''Она малость устарела!'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Ну, ''Half-Life 2''. Я приложу максимум усилий, чтобы она запустилась в Wine! Наверное, именно это отнимает у меня большую часть времени, которое я мог бы посвятить ''Samba''.&lt;br /&gt;
&lt;br /&gt;
LXF: '''Уверен, что быстрая стрельба из больших пушек вдохновляет вас на великие идеи…'''&lt;br /&gt;
&lt;br /&gt;
ДжЭ: Да нет, (''рычит'') просто люблю убивать.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-09T18:52:57Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]] Клиент потокового вещания&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]] Резервное копирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Спецрепортаж|Спецрепортаж: Арсенал сисадмина]] Как упростить и ускорить управление вашей системой&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Интервью|Интервью: Джереми Эллисон]]&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:%D0%A1%D0%BF%D0%B5%D1%86%D1%80%D0%B5%D0%BF%D0%BE%D1%80%D1%82%D0%B0%D0%B6</id>
		<title>LXF93:Спецрепортаж</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:%D0%A1%D0%BF%D0%B5%D1%86%D1%80%D0%B5%D0%BF%D0%BE%D1%80%D1%82%D0%B0%D0%B6"/>
				<updated>2008-03-09T16:39:33Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: = Арсенал сисадмина = ''Вы можете быть великодушным надзирателем за одной машиной или безумным операто...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Арсенал сисадмина =&lt;br /&gt;
''Вы можете быть великодушным надзирателем за одной машиной или безумным оператором на тысяче, но у вас всегда есть шанс научиться чему-нибудь новому. '''Грэм Моррисон '''накопил отличные советы по улучшению производительности, безопасности системы, а также работе с сетью.''&lt;br /&gt;
&lt;br /&gt;
Американский народный певец Эни Ди Франко [Ani DiFranco] сказал однажды, что каждый человек – актер. Ну, а каждый пользователь Linux – системный администратор. Если вы не просто шастаете в Интернете да читаете электронную почту, то вам, несомненно, приходилось использовать командную строку, устанавливать дополнительные пакеты и связывать свой компьютер с остальным миром через сеть.&lt;br /&gt;
&lt;br /&gt;
Это – задачи системного администратора, и существует масса способов упростить его труд. Вот мы и свели вместе лучшие подсказки и советы, какие только смогли накопать, чтобы помочь вам в администрировании вашей Linux-системы, будь то одна машина или целая сеть компьютеров. А если системное администрирование – ваша работа, вы найдете здесь кучу такого, что поможет вам получить повышение.&lt;br /&gt;
&lt;br /&gt;
Мы разделили статью на три части. Первая часть отведена малым сетям, состоящим менее чем из пяти машин. Большинство советов пригодится и для одной машины, и уж несомненно они будут полезны в случае небольшой домашней сети. Вторая часть немного более амбициозна, она касается уже сетей масштаба малого бизнеса. А на закуску мы припасли несколько рекомендаций для грандиозных Linux-сетей, которым не обойтись без небольшого IT-отдела. Чтобы вам было проще найти требуемый материал, мы также разбили все советы на три категории: работа с сетью, безопасность и производительность.&lt;br /&gt;
&lt;br /&gt;
Если вы планируете добавить в вашу домашнюю сеть пару компьютеров, покончить со старой проприетарной системой в офисе или просто запустить виртуальную машину, здесь вы узнаете, как сделать это быстрее, безопаснее, и, главное, проще. Наши подсказки могут войти в рабочий арсенал системного администратора, и снабжены подходящими утилитами, которые мы разместили на диске этого месяца.&lt;br /&gt;
&lt;br /&gt;
== Сети менее чем из пяти машин ==&lt;br /&gt;
=== Безопасность: Управление пользователями ===&lt;br /&gt;
Если вы у своего компьютера - единственный и неповторимый, вам нечего опасаться, что кто-то влезет в ваши владения. Но стоит добавить новых пользователей - и прощай, покой. Большинство дистрибутивов включает панель управления пользователями, позволяющую добавлять или удалять их из системы. Она также позаботится о создании домашнего каталога, а зачастую и файлов шаблонов рабочего стола. Однако на вашей ли машине располагаются эти пользователи, или же на других машинах под вашим надзором - все, что им можно и чего нельзя, определяется тем, членами какой группы они являются.&lt;br /&gt;
&lt;br /&gt;
Каждый дистрибутив Linux использует группы немного по-своему, но теория у них одинаковая. Взглянув на файл '''/etc/group''', можно увидеть список из десятков групп, и некоторые сопровождаются несколькими именами пользователей. Вы можете найти группу ‘cdrom’, рядом с которой будет список всех пользователей, являющихся членами этой группы и, следовательно, имеющих доступ к CD-приводу в вашей системе. Чтобы отнять право доступа, просто удалите имя пользователя из этой группы.&lt;br /&gt;
&lt;br /&gt;
То же самое можно сделать более изящно при помощи графического менеджера пользователей вашего дистрибутива. Права доступа к файлам и каталогам включают установки для группы, так что даже если пользователь не является владельцем файла, он может иметь доступ к нему, если он - член соответствующей группы. Используйте файловый менеджер для изменения групповых прав и ограничения доступа.&lt;br /&gt;
&lt;br /&gt;
=== Производительность: Переход на журналируемую файловую систему ===&lt;br /&gt;
Если на вашей машине все еще присутствует старая файловая система ext2, вы можете получить значительное повышение производительности, если перейдете на ext3. Чтобы проверить, какие файловые системы используются в разных разделах вашей системы, откройте '''/etc/fstab '''- файловая система указана там в третьем столбце (под ‘type’). Использование ext3 создает сразу несколько преимуществ. Дело не только в лучшей производительности, но еще и в том, что ext3 – журналируемая файловая система: каждое обращение к жесткому диску заносится в «журнал». В случае сбоя журнал можно использовать для восстановления файловой системы в прежнее работоспособное состояние – будем надеяться, без потери данных.&lt;br /&gt;
&lt;br /&gt;
Первый шаг при преобразовании ext2-раздела в ext3 состоит в создании журнала как такового. Для этого, действуя от имени системного администратора, введите в командной строке '''tune2fs -j /dev/hda1'''. Вместо '''hda1 '''подставьте имя устройства для вашего раздела, указанное в файле '''/etc/ fstab'''; операцию можно проделать как для смонтированного, так и для размонтированного разделов. Последний шаг – заменить в файле '''/etc/fsab '''тип файловой системы на ‘ext3’.&lt;br /&gt;
&lt;br /&gt;
=== Работа с сетью: Туннелирование портов через SSH ===&lt;br /&gt;
Ключевой момент безопасности сервера - держать как можно меньше открытых интернет-портов. Но блокирование доступа к вашим серверам из Интернета посредством брандмауэра еще не значит, что будут они недоступны для вас. Используя SSH-соединение, вы можете туннелировать порты, которые использует ваш сервер в удаленной локальной сети, на порт машины, за которой сидите. Это - великолепное решение, если нужно, например, получить доступ к web-серверу, находящемуся за брандмауэром.&lt;br /&gt;
&lt;br /&gt;
Буква ‘L’ - вот разгадка этого волшебства. Использование опции '''-L '''в командной строке SSH свяжет удаленный порт с локальным. Например, если вам нужно пробросить порт протокола удаленного доступа к рабочему столу (обычно это 5901), введите следующее: ssh -L 5901:localhost:5901 remote_ip После этого вы сможете обращаться к удаленному компьютеру, подключая VNC-клиент к порту 5901 локального компьютера. При этом данные будут переданы через SSH-соединение. Вам следует только иметь на брандмауэре открытый SSH-порт (обычно, 22); кроме того, при такой передаче данные не могут быть подделаны.&lt;br /&gt;
&lt;br /&gt;
=== Использование Live CD для сохранения системы ===&lt;br /&gt;
Будучи пользователями Linux, мы находимся в благоприятном положении, ибо имеем выбор из нескольких различных Live CD, позволяющих вылечить захворавшую систему. Live CD - идеальное решение для этой задачи, так как зачастую достаточно одного диска со специальными утилитами и приложениями, необходимыми для реанимации вашего компьютера. Даже некоторые восстановительные утилиты Windows применяют Linux Live CD для загрузки поврежденной системы «от Microsoft»&lt;br /&gt;
&lt;br /&gt;
Вот три лучших:&lt;br /&gt;
&lt;br /&gt;
==== Darik’s Boot and Nuke  ====&lt;br /&gt;
Маленький 2-МБ ISO-образ, который можно загрузить с CD или даже с дискеты. Dban тщательно удалит все данные на жестких дисках компьютера, и всем, кто позже получит к нему доступ, будет фактически невозможно узнать, что содержалось на этой машине. Идеальный вариант, если вы хотите подарить ваш компьютер, отдать его в другой отдел или попросту выбросить. [http://dban.sourceforge.net/ '''&amp;lt;u&amp;gt;http://dban.sourceforge.net &amp;lt;/u&amp;gt;''']&lt;br /&gt;
&lt;br /&gt;
==== GParted  ====&lt;br /&gt;
Один из наиболее популярных Live CD, поскольку выполняет те же задачи, что и пакеты, стоящие ощутимых денег. Позволяет создавать новые разделы на вашем жестком диске, менять размеры уже существующих и форматирменных файловых систем. Это также подходящий инструмент для восстановления, если вам не удается запустить вашу ОС, поскольку загрузочное меню настроено так, чтобы позволить вам загрузиться с любого доступного диска. [http://gparted.sourceforge.net/ '''&amp;lt;u&amp;gt;http://gparted.sourceforge.net&amp;lt;/u&amp;gt;''']&lt;br /&gt;
&lt;br /&gt;
==== SystemRescueCd ====&lt;br /&gt;
Как дистрибутив Linux «все-в-одном», со всевозможными утилитами для оживления вашей системы, SystemRescueCd сложно превзойти. Наряду с редакторами разделов и программами создания дисковых образов, настройщиками сети и тестерами оборудования, имеется также целый выводок утилит для починки файловых систем. Все это, плюс удобный рабочий стол Linux, означает, что диск предлагает наилучшую возможность излечить компьютер при помощи технологии Live CD. [http://www.sysresccd.org/ '''&amp;lt;u&amp;gt;www.sysresccd.org&amp;lt;/u&amp;gt;''']&lt;br /&gt;
&lt;br /&gt;
== Сети менее чем из пяти машин (продолжение) ==&lt;br /&gt;
=== Производительность: Ускорение загрузки системы ===&lt;br /&gt;
Ожидание появления рабочего стола Linux бывает тягостным, особенно если вам нужно всего лишь проверить почту. Именно по этой причине многие из нас упорно отказываются выключать компьютер в обеденный перерыв или вечером. Для решения этой проблемы в Ubuntu Edgy Eft была введена система Upstart, заменившая init, но мы почти не заметили прироста в скорости запуска.&lt;br /&gt;
&lt;br /&gt;
Проблема загрузки Linux состоит в том, что первый процесс, запускающий все остальные, делает это последовательно, и когда очередной процесс ждет какого-либо события, остальные процессы стоят. Вроде улицы с односторонним движением: приходится ждать, пока сетевым процессам перед вами присвоят IP-адрес. Решение - выполнять как можно больше процессов параллельно. К этому-то и стремится InitNG, гордо назвавшийся «процессом инициализации нового поколения»: при начальной загрузке он способен запускать параллельно несколько процессов. InitNG выполняется на очень низком уровне, так что рекомендуем использовать готовый пакет для вашего дистрибутива и устанавливать его только через пакетный менеджер. Не считая Ubuntu, пакеты InitNG имеются для всех распространенных дистрибутивов.&lt;br /&gt;
&lt;br /&gt;
=== Производительность: Быстрый запуск приложений ===&lt;br /&gt;
Если скорость загрузки вашей системы - это повод взгрустнуть, то время запуска некоторых приложений определенно усугубляет проблему. И мы имеем в виду не только [http://OpenOffice.org/ ''&amp;lt;u&amp;gt;OpenOffice.org&amp;lt;/u&amp;gt;'']''. ''Если сложить все те секунды, которые мы что ни день тратим на ожидание - хоть там браузера, хоть почтового клиента - времени вполне хватит заварить чашку чая и вытащить из коробки печенье. Вы удивитесь, но можно кое-что сделать для ускорения этого процесса (мы не про чай: хорошая заварка спешки не допускает). Утилита ''prelink ''ускоряет запуск приложений. Большую часть времени процедура загрузки приложения занимается поиском разделяемых библиотек, образующих массивную сеть зависимостей, и зачастую одни библиотеки базируются на других. Библиотеки компонуются с исполняемым файлом в процессе старта вашего приложения. ''Prelink ''определяет зависимости загодя, тем самым урезая повторный процесс их вычисления. Установите пакет ''Prelink ''для вашего дистрибутива и откройте в текстовом редакторе '''/etc/default/prelink '''– вам следует только убедиться, что там содержится строка ‘PrelinkING=yes’.&lt;br /&gt;
&lt;br /&gt;
''Prelink ''также установит небольшой скрипт, запускающийся ежедневно из '''/etc/ cron.daily/prelink'''. Вам потребуется вручную запустить его один раз, после установки, для инициализации базы данных ''Prelink''; поработает он долгонько, но потом ежедневных проверок вы даже и замечать не будете. ''Prelink ''уменьшил время запуска нашего ''OOo Writer ''с 25.027 секунд до 8.943.&lt;br /&gt;
&lt;br /&gt;
=== Безопасность: Требуйте приличных паролей ===&lt;br /&gt;
Ненадежные пароли пользователей чреваты серьезной опасностью для вашей системы. Если пользователей не слишком много, то при локальной работе проблем не будет. Однако большинство из нас использует SSH для удаленного соединения, а при этом учетные записи ваших пользователей постоянно находятся под угрозой со стороны злонамеренных машин. Тут мало простой просьбы придумывать пароли получше: необходимо принудить их быть надежными. К счастью, простой заменой парольного модуля (Pluggable Authentication Module, PAM), используемого по умолчанию, на более строгий можно заставить ваших пользователей выбирать пароли правильно. PAM используется в качестве механизма аутентификации для всех видов ежедневных задач, включая проверку пароля при входе в систему. Модуль, который вам нужен, называется Passwdqc, и его следует установить через менеджер пакетов вашего дистрибутива. После этого останется только изменить настройку PAM, чтобы использовать новый модуль вместо старого. Откройте файл '''common-password '''(он обычно находится в каталоге '''/etc/pam.d'''), раскомментируйте строку, начинающуюся с password’, и вставьте вот что: password required pam_passwdqc.so enforce=users&lt;br /&gt;
&lt;br /&gt;
Готово. Новый модуль даже будет сам предлагать надежные пароли вашим пользователям.&lt;br /&gt;
&lt;br /&gt;
=== Работа с сетью: Разделите файлы с пользователями Windows. ===&lt;br /&gt;
Если в вашей сети несколько машин, есть вероятность того, что некоторые из них работают под Windows. А тогда вам, наверное, захочется использовать файлы совместно.&lt;br /&gt;
&lt;br /&gt;
Это - задача для ''Samba. ''Она включена во все основные дистрибутивы, но серверная часть, необходимая, чтобы пользователи Windows видели ваши файлы, устанавливается редко. Используя менеджер пакетов вашего дистрибутива, инсталлируйте пакеты с именами '''samba '''или '''samba-server'''. Многие дистрибутивы заодно установят панель управления для создания ''Samba''-пользователей и настроят ''Samba ''для совместного доступа только к домашнему каталогу пользователя, так что ему понадобится учетная запись и на Windows- машине, и на сервере Linux. Удобно иметь одинаковые имя пользователя и пароль, хотя можно предусмотреть, чтобы Windows требовала их ввода при соединении. Чтобы Linux-машина появилась в сетевом окружении Windows, надо убедиться, что имя рабочей группы, определенное в файле конфигурации ''Samba ''('''/etc/samba/smb.conf'''), совпадет с используемым в Windows.&lt;br /&gt;
&lt;br /&gt;
=== Безопасность: SSH без паролей ===&lt;br /&gt;
Мы уже писали, что использование SSH без паролей очень удобно. Здесь, в ''Linux Format, ''SSH применяется практически везде, будь то простой удаленный доступ, управление локальными учетными записями, безопасная передача файлов по SFTP или туннелирование портов с удаленного узла на локальный. SSH жизненно важен для управления Linux-сетью, и удаление пароля из ежедневной рутинной работы не только упростит управление ею, но и устранит самую большую угрозу для безопасности вашего SSH-сервера: подбор пароля. «Беспарольный» SSH использует пару ключей: один - общедоступный, а другой - закрытый. Вопреки интуиции, именно клиент хранит закрытый ключ, а сервер использует открытый ключ для подтверждения личности клиента (единственного обладателя закрытого ключа).&lt;br /&gt;
&lt;br /&gt;
Вы можете создать как закрытый, так и открытый ключи, введя '''ssh-keygen -t dsa'''. Вас попросят ввести парольную фразу. Если вы ничего не введете, соединение будет беспарольным, но если вам небезразлична безопасность, то использование парольной фразы в комбинации с парой открытый-закрытый ключ - это самая высокая степень защиты, которую только может дать SSH. В завершение следует скопировать файл '''id_dsa.pub '''из каталога '''~/.ssh '''в '''~/.ssh/ authorized keys '''на SSH-сервере. Оба каталога '''.ssh '''обязаны иметь права доступа 644 ('''chmod 644 ~/.ssh'''), иначе SSH откажется работать, выдав маловразумительное сообщение.&lt;br /&gt;
&lt;br /&gt;
=== Советы ===&lt;br /&gt;
Вильям фон Хаген [William von Hagen] выбрал свой любимый совет из своей книги Linux Server Hacks, Том 2.&lt;br /&gt;
&lt;br /&gt;
«Совет 94, «Восстановление данных с поврежденных дисков», возможно, мой самый любимый, потому что нет ничего трагичнее потери данных», - говорит фон Хаген. «Резервные копии обычно слегка отстают от времени (но все их делают, правда?). Здесь обсуждаются утилиты восстановления/исправления для разных типов файловых систем и дается несколько дельных подсказок по починке файловых систем ext2/3. Затронут также вопрос клонирования наиболее поврежденных дисков с использованием улучшенной версии dd ''ddrescue, '''''http://ftp.gnu.org/gnu/ddrescue''' »&lt;br /&gt;
&lt;br /&gt;
«Прежде всего совет касается дисков, содержащих файловые системы, а не физические или логические тома, но с ними бы справился тоже. Способность восстанавливать данные через этот механизм отражает такие основы Unix/Linux, как доступ непосредственно к устройству и принцип «все является файлом» - и нет ничего милее, чем вновь созерцать свои данные, обретенные после сбоя накопителя.»&lt;br /&gt;
&lt;br /&gt;
Если в файловой системе возникла проблема, вы обычно начинаете видеть загадочные сообщения об ошибках при каждом использовании определенного диска или его раздела (взгляните в '''/var/log/messages''', если думаете, что вы что-то упустили). Фон Хаген советует первым делом проверить целостность файловой системы, используя непопулярную команду ''fsck, ''однако вначале вам следует получить доступ к отмонтированной файловой системе. Самый простой способ достичь этого - загрузиться с Live CD. Ваша версия команды ''fsck ''зависит от формата вашей файловой системы, но большинство современных дистрибутивов используют ''fsck.ext3 ''для файловой системы ext3, более старые версии используют либо ''fsck.ext2 ''для ''ext2, ''либо ''fsck.reiserfs ''для ReiserFS. Например, команда '''fsck.ext3 /dev/ hda1 '''проверит первичный раздел первого IDE-диска, отформатированного под ''ext3.''&lt;br /&gt;
&lt;br /&gt;
Затем фон Хаген объясняет, как воссоздать суперблок диска. «Суперблок содержит основные сведения о файловой системе, включая первичные указатели на блоки с информацией о файловой системе (называемые индексными дескрипторами)», говорит он. «К счастью, когда вы создаете файловую систему ext2 или ext3, соответствующая утилита ''(mke2fs ''или символическая ссылка на нее под именем ''mkfs.ext2 ''или ''mkfs.ext3) ''автоматически делает резервные копии суперблока диска, просто на всякий случай.»&lt;br /&gt;
&lt;br /&gt;
«Можно указать программе ''e2fsck ''проверять файловую систему, используя один из этих альтернативных суперблоков, при помощи опции '''-b''', за которой следует указать номер блока этого альтернативного суперблока внутри проблемной файловой системы. Первый из альтернативных суперблоков обычно создается в блоке 8193, 16384, или 32768, в зависимости от размера вашего жесткого диска» Полагая, что диск большой, фон Хаген пытается использовать как альтернативный последний из этих блоков fsck.ext3 -b 32768 /dev/hda1&lt;br /&gt;
&lt;br /&gt;
== Сети от 5 до 20 машин ==&lt;br /&gt;
=== Безопасность: Установка Tripwire ===&lt;br /&gt;
Чтобы знать о каждой осуществленной атаке на вашу систему попробуйте ''Tripwire ''[мина-растяжка - ''англ.], ''систему обнаружения вторжений. ''Tripwire ''хранит уникальный хэш для каждого системного файла, установленного на вашем сервере, и раз в день сверяет важные системные файлы со своими хэша-ми в базе данных. Если что-нибудь изменилось, хэш не совпадет, и ''Tripwire ''предупредит вас об этом.&lt;br /&gt;
&lt;br /&gt;
Установка ''Tripwire ''очень проста, но очень важно сделать это в нужный момент. Незачем включать в первое сканирование сомнительные двоичные файлы! В идеале ''Tripwire ''устанавливается на свежую инсталляцию, содержащую только официальные заплатки безопасности для вашей системы. Установив пакет ''Tripwire, ''запустите простой настроечный скрипт.&lt;br /&gt;
&lt;br /&gt;
''Tripwire ''требует ключ узла для аутентификации сервера и локальный ключ для блокирования файлов. Затем следует инициализировать базу данных хэшей командой '''tripwire --init '''и ввести локальную парольную фразу. После этого проверьте целостность вашей системы командой '''tripwire --check'''. При сигнализации о проблеме в случае, когда вы доподлинно знаете, что ничего не менялось, наверное, следует подправить файл политики, '''etc/tripwire/twpol.txt'''.&lt;br /&gt;
&lt;br /&gt;
=== Работа с сетью: Слежение за трафиком ===&lt;br /&gt;
Широкополосный доступ – дорогая штука. Подобно бухгалтеру, озирающему недреманным оком финансы компании, системный администратор должен точно знать, как этот ресурс расходуется вашей сетью. Утилита для данной работы называется ''ntop''. Будучи запущенной, она анализирует каждый исходящий и входящий пакет данных, представляя результат в виде набора таблиц и круговых диаграмм на собственном настраиваемом web-сервере. Если ''ntop ''оставить работать на вашем сервере, вы сможете выстроить точную картину использования данных вашей сетью: самые занятые дни и времена суток, наиболее популярные соединения, а заодно и выяснить, не злоупотребляет ли кто-нибудь доступом.&lt;br /&gt;
&lt;br /&gt;
Менеджер пакетов вашего дистрибутива должен поддерживать установку ''ntop''. Если процесс не запускается автоматически, скомандуйте '''/etc/inid.d/ntop start '''. Просмотр данных на сервере, где работает ''ntop'', осуществляется web-браузером через порт 3000. Нередко сервер имеет несколько сетевых адаптеров; тогда добавьте дополнительные сетевые интерфейсы, приписав '''-i ath0 '''к команде '''ntop'''. Вместо '''ath0 '''подставьте имя вашего второго сетевого интерфейса, или список имен, если их больше двух. Используйте то же имя для интерфейса, которое появляется, когда вы запускаете '''ifconfig'''.&lt;br /&gt;
&lt;br /&gt;
=== Производительность: Оптимизация Samba ===&lt;br /&gt;
Если в вашей системе совместно используются файлы через ''Samba, ''то вы, наверно, уже знаете, что это может стать узким местом для производительности. К счастью, существует множество способов ее тонкой настройки, они помогут вам передавать файлы пользователям быстрее.&lt;br /&gt;
&lt;br /&gt;
Одна из главных проблем возникает, когда к вашему серверу подключается несколько машин с Windows. Это происходит из-за способа реализации сетевого протокола. При настройке ''Samba ''по умолчанию любая большая сеть будет испытывать проблемы, так как каждый клиент норовит оповестить о своей доступности всю сеть. Решение - убедиться, что вы используете только один ''Samba''-сервер на каждую подсеть, и добавить в файл конфигурации ''Samba ''(обычно '''/etc/smb/samba.conf''') этого сервера опцию '''wins support = yes'''.&lt;br /&gt;
&lt;br /&gt;
Однако самый большой выигрыш в производительности может быть достигнут благодаря применению условных блокировок (opportunistic locking, oplocks).&lt;br /&gt;
&lt;br /&gt;
Это означает, что клиент может локально кэшировать файл для обработки, пока этот файл не понадобится другому клиенту. Если другой клиент затребует тот же файл, перед передачей файла по сети первый клиент должен синхронизовать свои изменения с сервером. Но бывают случаи, когда один файл, например, база данных, читается множеством клиентов, и выгоды не получается.&lt;br /&gt;
&lt;br /&gt;
Тем не менее, включение условных блокировок способно существенно украсить жизнь, и его можно активизировать поре-сурсно. Неплохо, например, включить его для домашних каталогов ваших пользователей, поскольку некоторые файлы домашнего каталога часто интересны только его хозяину. Просто добавьте следующие строки либо в глобальный, либо в локальный раздел файла конфигурации ''Samba ''('''/etc/Samba/smb.conf'''): oplocks = true kernel oplocks = true level2 oplocks = true&lt;br /&gt;
&lt;br /&gt;
=== Работа с сетью: Блокирование вредных хостов ===&lt;br /&gt;
Всегда имеются люди, пытающиеся влезть в ваш сервер, хотите вы этого или нет. Например, запустив SSH-сер-вер, вы обнаружите, что различные IP-адреса постоянно добиваются несанкционированного доступа к вашей системе. Но и вы не беспомощны: можно заблокировать любой диапазон IP-адресов, которым вы не намерены дозволять соединение с вашими машинами.&lt;br /&gt;
&lt;br /&gt;
Оборотная сторона такого запрета - если вдруг когда-нибудь вам понадобится доступ с одного из таких адресов, у вас ничего не выйдет; но пока вы не заблокируете целый континент IP-адресов, маловероятно, что такое случится. Ключом к блокированию адресов служит файл конфигурации '''/etc/hosts.deny'''. Всем перечисленным там IP-адресам будет запрещено соединяться с вашим сервером. Просто скопируйте и вставьте проблемные адреса из файла '''/var/log/ auth.log''', где перечислены попытки входа в систему. Возможно также использовать доменные имена, равно как и сам домен, чтобы заблокировать все соединения из этого домена – метод полезен, если обнаружено множество попыток, исходящих от одного провайдера или учреждения.&lt;br /&gt;
&lt;br /&gt;
Если вы предпочитаете разрешительный доступ с ограниченного круга машин, лучше заблокировать сразу все соединения в файле '''hosts.deny''', добавив следующую строку:&lt;br /&gt;
&lt;br /&gt;
ALL: ALL а затем перечислить все разрешенные IP-адреса в файле '''/etc/hosts.allow '''– антиподе файла '''hosts.deny'''. Все указанные там адреса будут перекрывать установки файла запретов.&lt;br /&gt;
&lt;br /&gt;
Если число попыток SSH-соединений столь огромно, что скопировать все нехорошие IP-адреса вручную не представляется возможным, можно установить пакет '''denyhosts'''. Этот демон просматривает ваш файл '''auth.log '''и молча подсчитывает число попыток соединения со всех IP-адресов, а при достижении определенного порога добавляет их в '''hosts.deny'''. Это – великолепный способ остановить атаки по словарю на пароли ваших пользователей, так как удаленное соединение на четвертой или пятой попытке будет заблокировано демоном ''hostdeny''.&lt;br /&gt;
&lt;br /&gt;
=== Безопасность: Удобное резервирование с BackupPC ===&lt;br /&gt;
У каждого есть в запасе история о потере драгоценных данных из-за сбоя жесткого диска. Но, похоже, неважно, были ли эти данные утраченной симфонией Бетховена или итогом тяжкой работы целого года: большинство из нас снова сползает к привычке создавать резервные копии лишь при крайней необходимости. Чтобы обойти эту проблему, резервирование ваших данных должно быть как можно проще, и существуют десятки утилит, пытающихся это осуществить. Хороший пример -Advanced Maryland Automatic Network Disk Archiver (Amanda), она легко справляется с компьютерной сетью умеренных размеров, хотя немного капризна в использовании.&lt;br /&gt;
&lt;br /&gt;
Возможная альтернатива - ''BackupPC ''([http://backuppc/ '''&amp;lt;u&amp;gt;http://backuppc&amp;lt;/u&amp;gt;''']'''&amp;lt;u&amp;gt;. &amp;lt;/u&amp;gt;'''[http://sourceforge.net/ '''&amp;lt;u&amp;gt;sourceforge.net&amp;lt;/u&amp;gt;''']) в особенности, если вы сумеете найти пакеты для вашего дистрибутива Linux. Его легко и установить, и использовать, а управлять им можно через его собственный web-интерфейс. После установки прежде всего надо изменить опцию в файле [http://config.pl/ '''&amp;lt;u&amp;gt;config.pl&amp;lt;/u&amp;gt;'''], который обычно располагается в каталоге '''/etc/backuppc'''. По умолчанию для передачи резервных копий он использует Samba, ради совместимости с Windows, однако для машин Linux гораздо лучше подходит утилита ''rsync ''Найдите ‘$Conf{XferMethod}’ и измените ‘smb’ на ‘rsync’&lt;br /&gt;
&lt;br /&gt;
Важнейший момент в настройке ''BackupPC -'' обеспечение возможности SSH-входа пользователем ‘backuppc’ на сервере в учетную запись root на клиенте без необходимости вводить пароль. Скопируйте пару рабочих беспарольных ключей из двух других учетных записей в каталог '''/var/lib/backuppc/.ssh ''' как на сервере, так и на клиенте - директории должны быть доступны для ''BackupPC''. Остается только добавить IP-адрес каждого из ваших клиентов в файл '''/etc/backuppc/hosts '''и установить пакет '''backuppc '''на каждой из этих машин.&lt;br /&gt;
&lt;br /&gt;
Наконец, запустите web-браузер и зайдите на web-интерфейс администратора для BackupPC на localhost'''&amp;lt;u&amp;gt;/&amp;lt;/u&amp;gt;'''backuppcВам потребуется ввести в качестве имени пользователя ‘backuppc’, а пароль вам сообщался в процессе установки пакетов. Через этот web-интерфейс вы теперь можете соединяться со всеми клиентами, где запущен ''BackupPC, ''удаленно резервировать их данные, составлять график создания удаленных резервных копий и восстанавливать данные&lt;br /&gt;
&lt;br /&gt;
== Сети более чем из 20 машин ==&lt;br /&gt;
=== Производительность: Настройка пользовательских квот ===&lt;br /&gt;
Одна из наиболее важных задач системного администратора -равномерное распределение системных ресурсов по потребностям. Если одну и ту же машину у вас использует более десятка человек, то без активного контроля один пользователь может забрать львиную долю дискового пространства и процессорного времени, даже сам того не подозревая. К счастью, с помощью PAM наложить ограничения на учетные записи пользователей, исходя из их потребностей, сравнительно несложно. Как и в случае навязывания надежного пароля, повелителем пользователей оказывается снабженный нужным модулем PAM.&lt;br /&gt;
&lt;br /&gt;
Модуль, управляющий квотами пользователей, называется Pam_limits. В отличие от модуля для надежных паролей, Pam_limits скорее всего установлен по умолчанию, но его все равно надо активизировать через соответствующий файл конфигурации PAM. PAM использует отдельный файл настройки для каждого поддерживаемого сервиса, и типичная установка включает файлы конфигурации для ''Samba ''и SSH. Для локальных пользователей, которые заходят в систему через менеджер входа Gnome, следует использовать файл конфигурации GDM. Через него, например, легко ограничить удаленных пользователей, одновременно оставив систему достаточно открытой для локальных. Просто добавьте в него следующее:&lt;br /&gt;
&lt;br /&gt;
session required /lib/security/pam_limits.so Ограничения как таковые задаются в файле '''/etc/security/limits.conf''', используемом всеми сервисами аутентификации PAM. Формат этого файла следующий: &amp;lt;домен&amp;gt; &amp;lt;тип&amp;gt; &amp;lt;величина&amp;gt; &amp;lt;значение&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В качестве домена может выступать имя пользователя или группы, а ‘тип’ (имеется в виду тип ограничения) может принимать значения «жесткий» (hard) или «мягкий» (soft). Разница между ними в том, что жесткий предел абсолютен и не обсуждается, а мягкий пытается пожаловаться в системный журнал; но доступ они зачастую ограничивают одинаково. Например, задав величину ‘maxlogins’ со значением ‘4’, вы жестко ограничите число одновременных входов четырьмя, независимо от типа ‘soft или ‘hard’.&lt;br /&gt;
&lt;br /&gt;
Ограничение числа одновременных входов - вполне разумная идея, особенно если у ваших пользователей только по одной учетной записи. Распознавание взломанной учетной записи становится куда проще, когда вы видите больше одного человека, пытающегося войти на сервер. Другие важные типы включают ‘priority’ для устранения помех, создаваемых процессами пользователя более приоритетным системным процессам; ‘fsize’, устанавливающий максимальный размер файла; и ‘cpu’, определяющий число минут, в течение которых пользователь может использовать CPU.&lt;br /&gt;
&lt;br /&gt;
=== Работа с сетью: Обновления ===&lt;br /&gt;
Большая ли, малая ли сеть у вас в распоряжении - вре-•мя, потраченное на посещение каждой машины для установки обновлений, является временем простоя. Обновление всех машин Linux по всей сети под вашим контролем должно выполняться легко. Но, увы, не выполняется. Именно для этого и приходится содержать на предприятии Linux-хакеров, и если ваша организация достаточно велика для подобной роскоши, то это неплохая идея. Но и запуск ваших собственных обновлений по локальной сети также вполне возможен, при некотором планировании.&lt;br /&gt;
&lt;br /&gt;
Лучшая из известных нам утилит для запуска обновлений - ''SystemImager ''([http://wiki.systemimager.org/ '''&amp;lt;u&amp;gt;http://wiki.systemimager.org&amp;lt;/u&amp;gt;''']). Ограничение у нее одно, хотя и суровое; все машины, включенные в операцию обновления, должны иметь одинаковое аппаратное обеспечение, так как ''SystemImager ''поступает согласно своему названию: использует для каждой машины один и тот же инсталляционный образ, драйверы, приложения и прочее, и все машины, участвующие в обновлении, обязаны быть одинаковыми. Однако если вы обладаете преимуществом планирования заранее, то установить одинаковое оборудование в сети, где запущена одна и та же операционная система - разумная идея. Если ваша сеть достаточно быстрая, можно загружать каждую машину с одного образа, находящегося на сервере, используя лишь USB-носитель на клиенте и протокол BitTorrent для необременительной рассылки данных.&lt;br /&gt;
&lt;br /&gt;
Имеются и другие способы обновления через сеть. Большинство дистрибутивов, включая Fedora, SUSE и Debian, позволяют автоматически скачивать и устанавливать любые версии обновлений. Например, Debian имеет утилиту под названием ''cron-apt, ''помогающую распланировать системные обновления посредством демона ''cron''''. Однако позволить системе обновлять себя автоматически - большая ошибка. Одно поврежденное или неправильное ядро, и всей вашей сети труба. Сперва надо обязательно протестировать обновление на паре машин, а уж потом запускать его в сеть.&lt;br /&gt;
&lt;br /&gt;
Если тесты показали, что обновления безопасны (и оправдывают хлопоты), можете копировать их на остальные машины. Как? Установите локальный сервер обновлений для дистрибутивов, используемых на машинах-клиентах. Для упрощения этого процесса удалите приложения и службы, которые им не понадобятся - во избежание лишних движений. Для Debian можно развернуть локальный репозиторий. Просто поместите заготовленные файлы на сервер и настройте каждого клиента для использования вашего сервера в качестве единственного хранилища. В дистрибутивах Fedora и SUSE процесс похож: создайте локальное зеркало для репозитория обновления, содержащее только файлы, предназначенные для развертывания. В SUSE его URL настраивается через Yast, который синхронизирует каждого клиента с сервером.&lt;br /&gt;
&lt;br /&gt;
=== Работа с сетью: Удаленное администрирование через Webmin ===&lt;br /&gt;
Утилит и опций конфигурации для озабоченного системного администратора на свете больше, чем байт в ядре, и они делают задачу управления различными серверами сложнее, чем она есть. Поможет ''Webmin: ''это интегрированная утилита удаленной настройки, из которой можно настроить в вашем сервере практически все. Она почти полностью заменяет SSH и командную строку. Даже если вам все-таки придется набирать команды, в ''Webmin ''предусмотрен SSH-клиент Java, и вы можете соединяться напрямую через свой браузер - отдельный SSH-клиент не потребуется&lt;br /&gt;
&lt;br /&gt;
Кое-какие требования, однако, имеются. Должен быть установлен Perl, вместе со своими модулями, и модуль аутентификации PAM для Perl. Понадобится также ''OpenSSH, ''для обеспечения безопасности соединения между вашим сервером и web-браузером. Затем скачайте последнюю версию ''Webmin ''с [http://www.webmin.com/ '''&amp;lt;u&amp;gt;www.webmin.com&amp;lt;/u&amp;gt;''']и распакуйте архив куда-нибудь вроде '''/opt/webmin'''. Запустите скрипт ''setup.sh ''в новом каталоге и ответьте на пару вопросов, в том числе задайте пароль для учетной записи администратора. Откройте в браузере '''&amp;lt;u&amp;gt;servername:10000&amp;lt;/u&amp;gt;''' и вперед&lt;br /&gt;
&lt;br /&gt;
=== Безопасность: Инструменты для обратной связи с сервером ===&lt;br /&gt;
Иметь свежайшее ПО и контролируемое окружение сервера - еще далеко не все. Вам следует точно знать, что и когда происходит на машине, на которую полагаются десятки людей. Для этого, конечно, можно обратиться к системным журналам, содержащим все важное (а также много чего неважного), что произошло с вашей системой. Но никто ведь не проводит рабочее время за чтением этих файлов. Куда проще заставить что-нибудь изучить их за вас, и существует множество утилит для решения подобных задач!&lt;br /&gt;
&lt;br /&gt;
Множество приложений разработаны для наблюдения за одним файлом журнала, например, создаваемым брандмауэром ''(Fwlogwatch), ''прокси-сервером ''Squid (Squidalyzer) ''или web-сервером ''Apache (Analog). ''Но можно также использовать одну из специальных утилит, способных одновременно отслеживать несколько файлов - что и требуется для сервера более общей конфигурации.&lt;br /&gt;
&lt;br /&gt;
Популярна программа ''Sentry Tools, ''с уклоном на слежение за портами и соединениями с машиной, но мы остановимся на утилите мониторинга ''Lire. Lire ''доступна как через менеджер пакетов вашего дистрибутива, так и на сайте разработчика ([http://logreport.org/ '''&amp;lt;u&amp;gt;http://logreport.org&amp;lt;/u&amp;gt;''']). ''Lire ''способна в одиночку уследить за серверами ''MySQL ''и DNS, электронной почтой (включая ''Postfix ''и ''Sendmail), ''брандмауэром ''iptables, ''FTP и системным журналом, наряду со многими другими. Она также умеет выводить отчет в виде текста, PDF или HTML - что делает ее незаменимой для ежемесячных отчетов.&lt;br /&gt;
&lt;br /&gt;
Установив ''Lire, ''вам следует ее настроить. Ввод '''Lire '''в командной строке откроет простенький пользовательский интерфейс по типу curses; нажмите Control-x для вызова меню, затем спуститесь курсором до опции Preferences. Отсюда вы можете настраивать генерацию отчетов; здесь же ''Lire ''найдет утилиты командной строки, необходимые ей для работы. Если вы устанавливали ''Lire ''через менеджер пакетов, все основные опции должны быть преднастроены для вашего дистрибутива.&lt;br /&gt;
&lt;br /&gt;
Чтобы разузнать, какие генераторы отчетов установлены и могут использоваться, запустите '''lr_log2report --help dlf_converters'''. Выведется список включенных генераторов, всех и не перечислить. Хорошим местом для старта будет '''syslog''', так как это файл журнала, используемый для записи общесистемных событий. Создайте каталог для хранения созданного отчета (назовем ее '''local'''); для генерации HTML-отчета на базе syslog, введите lr_log2report syslog /var/log/syslog --output-format html local&lt;br /&gt;
&lt;br /&gt;
Можете также выбрать в качестве формата вывода '''txt '''или '''pdf''', а если установлен пакет '''ploticus''', то генератор включит диаграммы по данным отчета. Если вы довольны выводом, задайте для ''Lire ''расписание автоматического создания отчетов, с возможностью послать их вам по электронной почте через ''Postfix.''&lt;br /&gt;
&lt;br /&gt;
== Идем дальше ==&lt;br /&gt;
При использовании Linux, вы всегда будете в курсе новых настроек и обновлений; в том-то и состоит системное администрирование Если наши советы раздразнили ваш аппетит администратора, почему бы не рассказать нам об этом? Наши форумы всегда полны сплетен от сисадминов, и вы убедитесь, что они - отличное подспорье, если хочется побольше узнать о последних разработках, равно как и место, куда можно обратиться за помощью и за советом http://www.linuxforum.ru/&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-09T16:17:34Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]] Клиент потокового вещания&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]] Резервное копирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Спецрепортаж|Спецрепортаж: Арсенал сисадмина]] Как упростить и ускорить управление вашей системой&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-09T16:17:09Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]] Клиент потокового вещания&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]] Резервное копирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;br /&gt;
[[LXF93:Спецрепортаж|Спецрепортаж: Арсенал сисадмина]] Как упростить и ускорить управление вашей системой&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5</id>
		<title>LXF93:Сравнение</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5"/>
				<updated>2008-03-08T19:44:55Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: /* Dsh */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Командные оболочки =&lt;br /&gt;
''Не забирались дальше Bash? Оболочка – не просто поле для ввода команд, так что познакомьтесь с парочкой экземпляров из коллекции '''Нейла Ботвика'''.''&lt;br /&gt;
&lt;br /&gt;
Разве мы не обсуждали терминалы совсем недавно? И есть ли разница между оболочкой и терминалом? Ответы – да, в обоих случаях. Оболочка – это программа, работающая в терминале. Она отображает приглашение для ввода команд и пытается выполнить то, что вы ей вводите. Возможно, разница не столь очевидна в Х-терминале, где вы регистрируетесь автоматически, но в виртуальной консоли (в том экране, который вы видите, когда Х не запущен), выводящей текстовое приглашение для входа в систему, оболочка не запускается до тех пор, пока вы не введете правильные имя пользователя и пароль.&lt;br /&gt;
&lt;br /&gt;
Каждый пользователь может работать в своей оболочке, так что себе вы можете поставить «мощную» оболочку, а для своей бабули предусмотреть более понятную. Даже если вы сроду не вводили команды в окно терминала, оболочкой вы все же пользовались: многие программы на вашем компьютере фактически являются ее сценариями, так что запуская программу, вы каждый раз запускаете оболочку, даже если делаете это, нажимая на значок.&lt;br /&gt;
&lt;br /&gt;
== Оболочки всех размеров ==&lt;br /&gt;
Рассмотренные здесь оболочки делятся на три основных категории. Оболочки общего назначения, типа ''Bash ''и ''Zsh, ''предлагают широкий выбор функций и свойств. Оболочки-легковесы, например, ''Dash, ''предлагают самые основные функции в небольшом пакете, и хороши для старых ПК или систем с ограниченными ресурсами; это также хорошие кандидаты на интерпретацию скриптов, которым не нужны «навороты» ''Bash ''со товарищи. Третья категория, оболочки особого назначения, созданы для специальных приложений или сред.&lt;br /&gt;
&lt;br /&gt;
На этих страницах мы рассмотрим образчики каждой категории и сравним их пригодность для решения определенных задач.&lt;br /&gt;
&lt;br /&gt;
Кроме внешних команд, каждая оболочка умеет выполнять некоторое количество собственных команд (‘builtins’), ускоряющих выполнение основных операций. Большинство рассматриваемых оболочек соответствуют основному стандарту POSIX. Различаются они предлагаемыми дополнительными функциями. Это могут быть дополнительные builtin-команды, функции типа расширенного дополнения или попросту минимальная среда POSIX в компактной и быстрой программе.&lt;br /&gt;
&lt;br /&gt;
== Bash ==&lt;br /&gt;
''Фаворит дистростроителей, но вправду ли он лучше всех?''&lt;br /&gt;
&lt;br /&gt;
Вначале был ''Bourne Shell ''(''sh''), его написал Стивен Борн [Steven Bourne] для Bell Labs Research Unix. ''Bash ''– это ''Bourne Again Shell ''(Снова Оболочка Борна), ужасный каламбур, который, к счастью, редко используется. Почти все современные дистрибутивы Linux используют ''Bash ''в качестве оболочки по умолчанию, и вы, вероятно, знакомы как минимум с его основами; это превращает ''Bash ''в фактический стандарт, с которым сравниваются все остальные. Поэтому имеет смысл для начала рассмотреть ''Bash'', а затем перейти к другим оболочкам, изучить, чем они отличаются, и выделить их достоинства и недостатки. Итак, что же дает нам ''Bash'', и почему ''Bash ''столь популярен у разработчиков дистрибутивов?&lt;br /&gt;
&lt;br /&gt;
Дело не в малом размере ''Bash'', и не в скорости. По размеру ''Bash ''больше всех рассмотренных здесь оболочек, кроме одной: ''Sash'', которая не использует библиотек и имеет несколько дополнительных встроенных команд. ''Bash ''также и не самая быстрая оболочка, которую вы встретите (если, конечно, не отшвырнете журнал, проигнорировав остаток нашего Сравнения и поклявшись всю оставшуюся жизнь пользоваться только ''Bash''). Однако большинству пользователей на это наплевать, ибо подлинно важна его гибкость. ''Bash ''обладает некоторыми функциями, превосходящими стандарт POSIX, хотя при желании можно добиться от него и POSIX-поведения. Если запустить ''Bash ''командой sh, с опцией командной строки --posix или при установленной переменной окружения POSIXLY_CORRECT, ''Bash ''будет работать как стандартная оболочка POSIX. При запуске через sh, ''Bash ''по возможности пытается работать как исходная оболочка Борна, но лишь в тех ситуациях, когда это не вступит в конфликт со стандартом POSIX.&lt;br /&gt;
&lt;br /&gt;
Встроенные команды позволяют ''Bash ''выполнять некоторые операции быстрее, ценой чуть более долгого времени загрузки, но если вы запускаете скрипт ''Bash ''из оболочки ''Bash'', об этом и говорить не стоит. Эти команды плюс дополнительные логические конструкции означают, что скрипты, написанные для ''Bash'', могут работать быстро. Например, типичный способ запустить цикл с установленным количеством повторений – for i in $(seq 1 100), при этом внешняя команда seq генерирует список повторений. С помощью ''Bash ''вы можете написать for i in {1..100}, при этом не вызывается никакая внешняя программа и все выполняется быстрее.&lt;br /&gt;
&lt;br /&gt;
=== RTFM ===&lt;br /&gt;
Набрав '''help''', вы получите список всех встроенных команд. Добавив имя команды, вы получите информацию об ее использовании. Это устраняет необходимость лазить по man-странице ''Bash'', содержащей явный переизбыток информации. Тут ''Bash ''может поучиться у ''Zsh'', где документация распределена по нескольким страницам. Документация, представленная в формате info, удобнее для обработки, при условии, что вы умеете пользоваться info, но многим из нас это недоступно. Пользователи KDE могут легко просмотреть документацию, введя ‘info:''Bash''’ в ''Konqueror''.&lt;br /&gt;
&lt;br /&gt;
Как и большинство оболочек, ''Bash ''включает функцию стандартного tab-дополнения: нажмите Tab на первом слове, и он попытается дополнить его до имени команды, нажмите Tab на следующем слове, и он попробует дополнить его до имени файла или пути. Однако в плане программируемого дополнения ''Bash ''может пойти намного дальше. Как только вы установите и добавите в свой профиль дополнительный пакет из http://www.caliban.org/Bash/index.shtml#completion , функция tab-дополнения будет завершать переменные в соответствии с командой, за которой они следуют. Например, введите ssh, а потом несколько первых букв имени хоста в вашей сети, и ''Bash ''дополнит его на основе содержимого вашего файла SSH known_hosts. Программируемое дополнение также можно использовать в качестве командной опции; введите somecommand --TAB – и увидите список опций, доступных в этой программе. Дополнение работает и с неопциональными аргументами для программ. Все это, конечно, чудесно, но не забудьте, что у программ должна быть специальная поддержка: обычно это файл в '''/usr/share/Bash-completion'''. Некоторые из них прилагаются, а некоторые доступны онлайн.&lt;br /&gt;
&lt;br /&gt;
Легко понять, почему разработчики дистрибутивов так любят ''Bash''. Во внутренней работе системы многое (например, все скрипты сервисов, запускаемых при включении и выключении) требует эффективного использования сценариев оболочки, и удобно программируемый ''Bash ''обречен на сильную любовь – да такую сильную, что некоторым дистрибутивам эта оболочка требуется в обязательном порядке, и без нее они работать не будут. Впрочем, вы не обязаны выбирать себе ''Bash ''в качестве интерактивной оболочки. Конечно, в нем широкий спектр функций и налицо удобство использования, но если вы просто получили ''Bash ''вместе с дистрибутивом и не пробовали ничего другого – читайте дальше и, возможно, найдете что-нибудь получше!&lt;br /&gt;
&lt;br /&gt;
== Fish ==&lt;br /&gt;
''Нестандартные скрипты, но идеален для новичков.''&lt;br /&gt;
&lt;br /&gt;
Работа с оболочкой слегка пугает начинающих пользователей. Поэтому ''Fish'', ''Friendly Interactive Shell ''(Дружелюбная Интерактивная Оболочка), даже предлагает привыкшим к графическому пользовательскому интерфейсу ввести help после входа. Эта команда при первом использовании попросит вас выбрать браузер, а потом будет открывать в нем документацию в формате HTML. Подробная и доступная информация о командах делает их поиск значительно проще, чем в man-страницах оболочек, подобных ''Bash ''или ''Zsh''. Если ''Fish ''не сможет подключиться к X-серверу, для показа справки будет задействован links.&lt;br /&gt;
&lt;br /&gt;
Документация – не единственная дружелюбная функция в ''Fish''. Здесь также используется подсветка синтаксиса: когда вы начинаете вводить команду, буквы показаны красным, и меняют цвет на зеленый при правильном завершении имени команды, а имена действующих директорий подчеркиваются. По ощущениям (без измерений), Tab-дополнение вроде бы быстрее, чем в ''Bash'', и почти не уступает программируемому дополнению ''Bash'', но не столь расширяемо; оно работает над командными опциями, так же, как и над самими командами. Предыстория команд тоже более интуитивна: просто введите начало команды и нажмите стрелку «вверх», чтобы просмотреть предыдущие вызовы – это проще, чем запомнить Ctrl-R и иже с ним.&lt;br /&gt;
&lt;br /&gt;
''Fish ''использует специфические конструкции скриптов, которые проще для понимания начинающих пользователей, но несовместимы с другими оболочками. Это не фатальный недостаток, потому что ''Fish ''предназначен для интерактивного использования, хотя эти конструкции также могут использоваться в командной строке. В защиту ''Fish ''можно сказать, что он ориентируется на тех, кого вряд ли интересуют подобные функции, и достаточно гуманен, чтобы подробно объяснить, почему первая форма не работает, и привести пример корректного (для ''Fish'') формата. Да, ''Fish ''избавился от некоторых загадочных приемов в стиле Unix, но вам все же придется держать под рукой ''Bash'', чтобы запускать системные скрипты.&lt;br /&gt;
&lt;br /&gt;
== Tcsh ==&lt;br /&gt;
''Оболочка C Shell. Приглядитесь!''&lt;br /&gt;
&lt;br /&gt;
На первый взгляд, ''Tcsh ''весьма похож на ''Bash ''и ''Zsh'', ибо включает дополнение команд и имен файлов, предысторию команд с функцией поиска и проверку написания – но для своих скриптов он использует совершенно другой синтаксис. Поэтому, хотя ''Tcsh ''и взаимозаменяем с другими оболочками по части интерактивного использования, вам все же понадобится ''Bash ''для запуска скриптов, не написанных специально для ''Tcsh''.&lt;br /&gt;
&lt;br /&gt;
Как и ''Bash ''с ''Zsh'', ''Tcsh ''использует по умолчанию привязку клавиш в стиле ''Emacs'', но при желании ее можно переключить на vi (фанаты ''vi'', не принимайте, пожалуйста, это за восхваление ''Emacs'', и не развязывайте очередную религиозную войну редакторов). ''Tcsh ''не предлагает программируемого или опционального дополнения, как ''Zsh ''или ''Bash'', однако у него есть функция проверки написания команд, директорий и переменных среды. Вилфредо Санчес [Wilfredo Sanchez], бывший ведущий инженер Mac OS X, работал над ''Tcsh ''в начале 1990-х в MIT, и неудивительно, что ранние версии Mac OS X поставлялись с ''Tcsh ''в качестве оболочки по умолчанию; но потом в Panther-версии ОС его заменили на ''Bash''.&lt;br /&gt;
&lt;br /&gt;
Употребление псевдонимов-алиасов здесь более гибкое, чем в других оболочках, где не дозволяются никакие подстановки. ''Tcsh ''с подстановками справляется, поэтому аргументы, переданные псевдониму, можно послать «по цепочке» реальной команде, создавая своего рода мини-функции. Такое вряд ли понравится пользователям ''Bash ''и ''Zsh'': к этому надо попривыкнуть, чтобы осознать, насколько оно полезно.&lt;br /&gt;
&lt;br /&gt;
Основное различие между ''Tcsh ''и другими оболочками – синтаксис языка сценариев. Как и подразумевается в названии, он напоминает язык С, и хотя циклы ''foreach ''и ''while ''действуют схоже, синтаксис совершенно другой, и из-за него скрипты ''Tcsh ''несовместимы с другими оболочками. В нем также используются конструкции, которые вы не найдете в традиционных скриптах; среди них – безусловно полезный ''switch ''и сомнительный ''goto''.&lt;br /&gt;
&lt;br /&gt;
== Zsh ==&lt;br /&gt;
''Продвинутые пользователи, перед вами победитель Bash!''&lt;br /&gt;
&lt;br /&gt;
При первом запуске ''Zsh ''выводится меню настройки, чтобы вы смогли отрегулировать многочисленные мощные и гибкие функции. Все меню содержат массу информации по каждой опции и предлагают разумные значения по умолчанию, поэтому вы можете просто принять их и, если пожелаете, запустить программу настройки позже, когда вам понадобится вся функциональность. ''Zsh ''снабжен всеми функциями, которые только можно придумать, и даже сверх того – например, проверкой написания. ''Zsh ''и ''Bash ''предлагают сходный функционал. Обе имеют программируемое дополнение (хотя у ''Zsh ''оно появилось раньше), встроенные команды и функции для создания скриптов. У ''Zsh ''также в запасе есть несколько собственных хитростей, например, расширенная подстановка имени файла, которая превращает команду поиска find почти что в ненужное излишество. Включение в путь ** означает соответствие любому символу, включая разделитель-слэш, поэтому **/*.jpg касается всех файлов '''*.jpg '''в текущей директории и в любых поддиректориях. Мало того, сюда также включаются права доступа к файлу, владелец, тип или отметка времени – большинство опций, предусмотренных find. Например, можно использовать ls -l /**/bin/*(s) для вывода списка всех setuid-файлов в '''/bin''', '''/usr/bin '''и '''/usr/local/bin'''. Где вы, наши друзья по старым добрым временам Amiga – при наборе имени директории в командной строке ''Zsh ''переключается на эту директорию. Многие из нас годами приучались ставить '''cd '''перед именем директории; теперь можно поставить ''Zsh ''и вернуться к былой лени.&lt;br /&gt;
&lt;br /&gt;
Программируемое дополнение в ''Zsh ''аналогично той же функции в ''Bash'', описанной выше. Можно дополнить аргументы команды, нажав Tab, или включить дополнение имен пользователей или хостов, набрав '''ssh'''. Поскольку ''Zsh ''– программируемая оболочка, ее можно расширять сколько душе угодно. Обычный пример – ограничение дополнения имен файлов только теми расширениями, которые способна обработать вводимая команда: так, команда mplayer TAB выведет список всех MPG- и AVI-файлов в текущей директории, подобным же образом обрабатываются и другие формы, с которыми она работает, например, dvd:// и tv://; при этом текстовые документы в той же директории игнорируются.&lt;br /&gt;
&lt;br /&gt;
Без сомнения, ''Zsh ''– невероятно мощная оболочка. Выполнение скриптов в основном быстрее, чем в ''Bash ''– по большей части примерно на 20% – однако ''Zsh ''разработан для интерактивного пользования. Превосходит ли он ''Bash''? Почти наверняка, особенно если учесть расширенную подстановку имени файла и более развитую опцию дополнения.&lt;br /&gt;
&lt;br /&gt;
== Dash ==&lt;br /&gt;
''Небольшая оболочка; очень быстро выполняет скрипты.''&lt;br /&gt;
&lt;br /&gt;
Если вы ищете небольшую и быструю оболочку, то у ''Dash ''есть шансы. ''Dash ''происходит от оболочки FreeBSD под названием ''Ash'', и, имея скромный размер 99K, составляет всего одну седьмую от ''Bash''. В нем нет тех наворотов, которыми богат ''Bash'', но они не всегда и нужны. Как интерактивная оболочка, ''Dash ''скудноват – здесь нет даже базового tab-дополнения; но он превосходно подходит для выполнения сценариев оболочки POSIX.&lt;br /&gt;
&lt;br /&gt;
''Dash ''почти совместим с POSIX, но кое-какие несовместимости в нем, похоже, имеются, поэтому стоит прочитать документацию и уточнить, какие именно. Однако он сработается с большинством скриптов, использующих '''/bin/sh '''(любой скрипт, обращающийся к '''/bin/ sh''', не должен требовать ничего сверх минимума, гарантированного оболочкой POSIX).&lt;br /&gt;
&lt;br /&gt;
Маленький размер также помогает проворности ''Dash''. Понятно, что он способствует ускорению и загрузки, и работы скриптов; по сравнению с ''Bash ''наш тестовый скрипт запустился вдвое быстрее. «Махнув» ''Bash ''на ''Dash ''в символьной ссылке '''/bin/sh''', вы значительно сократите время загрузки, в течение которой обычно запускается множество сценариев оболочки. Однако, прежде чем это сделать, убедитесь, что у вас не возникнет проблем, способных помешать загрузке. Хороший способ обезопасить себя от внезапных «ударов под дых» – предварительно проверить все init-скрипты вручную.&lt;br /&gt;
&lt;br /&gt;
== Dsh ==&lt;br /&gt;
''Запускайте программы сразу на нескольких ПК.''&lt;br /&gt;
&lt;br /&gt;
D''sh ''– это распределенная оболочка (хотя вообще-то ее название означает ''Dancer’s Shell''), выполняющая команды сразу на нескольких удаленных машинах. Некоторые рассмотренные здесь оболочки подходят для интерактивного пользования и создания скриптов; а эта – совсем не интерактивна, но зато весьма полезна, когда надо запустить серию команд на группе компьютеров. Альтернативой является нечто вроде&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 for host in node1 node2 node3; do ssh &lt;br /&gt;
     $host “my commands”; done&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С ''Dsh'', вы заносите имена хостов в файл '''machine.list''', а затем просто набираете Dsh -a my commands. Файл '''machine.list '''используется опцией -a (или --all), но вы можете поместить любое количество списков имен хостов в групповой директории ''Dsh'', и, передав имя списка с помощью опции -g (--group), запустить команду на всех этих машинах.&lt;br /&gt;
&lt;br /&gt;
Опции включают: запуск команд на удаленных хостах последовательно или параллельно, предварение каждой строки вывода именем хоста (что особенно полезно при параллельном запуске команд); и передача команд через стандартный ввод. Команды можно запускать с помощью ssh или rsh, но для должного использования ssh вам понадобится аутентификация по ключу, а для выполнения команды от имени другого пользователя ее нужно будет предварить названием соответствующей учетной записи.&lt;br /&gt;
&lt;br /&gt;
Это – действительно полезный инструмент при работе с группой машин. В нем не хватает только возможности одновременного копирования файлов на несколько компьютеров. Чтобы вытащить файлы с вашего компьютера, вы можете запустить команду scp на других машинах, но это предполагает, что вы предоставите всем им SSH-доступ к вашей рабочей станции – маловероятный сценарий, в особенности если компьютеры-получатели являются общедоступными серверами. Добавка dcp может превратить ''Dsh ''в отличный инструмент администрирования.&lt;br /&gt;
&lt;br /&gt;
== Sash ==&lt;br /&gt;
''Желаем, чтобы она вам не понадобилась!''&lt;br /&gt;
&lt;br /&gt;
S''ash ''– это просто самая крупная из рассмотренных здесь оболочек, и не без причины. Ее название – сокращение от ''Stand Alone Shell ''(Оболочка-одиночка), и в ней содержится несколько встроенных команд, которых нет ни в одной другой оболочке. Когда мы скажем, что эти команды – ''mount, ls, cp, tar ''и ''gzip'', вы поймете, для чего нужен ''Sash''. Это – оболочка для восстановления системы, которая работает даже тогда, когда большая часть вашей файловой системы утрачена. Если '''/boot '''у вас находится на отдельном разделе, и вы не монтируете его при загрузке, или монтируете в режиме только для чтения, поместите на него копию ''Sash'', и выдержите даже rm -fr /*. Используя встроенные команды ''Sash'', вы сможете восстановить свои резервные копии (у вас ведь есть резервные копии, правда?) и запустить работу снова, не теряя времени. После отказа системы восстановление возможно даже при отсутствии важных библиотек: все необходимое – это ядро и ''Sash''.&lt;br /&gt;
&lt;br /&gt;
По причине ограничений на размер, команды, встроенные в ''Sash'', являются урезанными версиями своих аналогов, поэтому ''Sash ''предоставляет доступ и к тем, и к другим. Для запуска стандартной команды ''ls ''вводите ls, а -ls вызовет встроенную. Стандартная команда недоступна? Сделайте псевдоним ls, разворачивающийся в -ls. Если вас угораздило полностью удалить '''/bin''', используйте ''aliasall'', и все команды будут выбираться из встроенных. Того же можно добиться, запустив ''Sash ''с опцией -a. Команда ''help ''выведет список встроенных команд и информацию по использованию любой из них.&lt;br /&gt;
&lt;br /&gt;
''Sash ''также умеет запускать скрипты с помощью опции -f, а значит, вы можете автоматизировать даже процесс восстановления. Если безобразия у вас творятся часто – настолько, чтобы вам захотелось автоматизировать использование ''Sash ''для этих целей – возможно, стоит пересмотреть и изменить свой подход к работе. ''Sash ''вряд ли подходит на роль стандартной интерактивной оболочки, но он из тех приложений, наличие которых под рукой приведет вас в состояние дикой радости, если с вами стряслось то, что бывает только у других.&lt;br /&gt;
&lt;br /&gt;
== Вердикт ==&lt;br /&gt;
'''Zsh 9/10'''&lt;br /&gt;
&lt;br /&gt;
Группа программ, представленных в данном Сравнении, довольно необычна, потому что в ней есть программа, уже установленная практически в каждом дистрибутиве.&lt;br /&gt;
&lt;br /&gt;
Вышло так, что ''Zsh ''победил фактически по всем параметрам: он быстр, достаточно компактен, имеет превосходную документацию и лучшее дополнение, чем любая из представленных здесь оболочек. Если вы прежде не использовали tab-дополнение в оболочке, попробуйте: время здорово экономится. При интерактивном использовании ''Zsh ''непревзойденна, благодаря своим функциям и дружелюбию ко всем, кто познакомился с документацией. Нужны еще аргументы? Что ж, автор уже сделал ''Zsh ''оболочкой по умолчанию вместо ''Bash''.&lt;br /&gt;
&lt;br /&gt;
Мы не говорим, что ''Bash ''– плохая оболочка, отнюдь, просто ''Zsh ''все делает чуть лучше. ''Bash ''по-прежнему остается эталоном, по которому оценивают остальных, возможно, именно поэтому он столь распространен, и действительно устанавливает высокую планку. Если вы пишете скрипты оболочки посложнее, чем простой список команд, стоит воспользоваться именно ''Bash'', и именно поэтому дистрибутивы выбирают его оболочкой по умолчанию.&lt;br /&gt;
&lt;br /&gt;
''Tcsh ''в известной мере является анахронизмом. Конечно, его ни в коем случае нельзя назвать плохой оболочкой, но нестандартный синтаксис несколько уменьшает ценность ''Tcsh ''для написания сценариев, учитывая еще и тот факт, что это ничем не компенсируется. Синтаксис ''Tcsh'', возможно, упрощает создание скриптов, но поскольку запускать их можно будет только на своей машине, вряд ли это по-настоящему полезно.&lt;br /&gt;
&lt;br /&gt;
''Dash ''примечателен небольшим размером и быстротой, но более, собственно, ничем. Он пригодится тем, кому надо поторопить медленное оборудование. ''Dsh ''– не похож на остальные, но может стать мечтой сетевого администратора – если кроме выполнения команд даст возможность распределенного копирования файлов.&lt;br /&gt;
&lt;br /&gt;
''Fish ''буквально раскрывает глаза на то, какой дружелюбной может быть оболочка. Его настройки по умолчанию (исключая странный выбор программы просмотра помощи по умолчанию) просто великолепны для начинающих пользователей, желающих привыкнуть к работе с командной строкой. Он нарушает совместимость со стандартными сценариями оболочки, но благодаря этому приобретает гибкость, обеспечивающую более человечный синтаксис, и к тому же он никогда и не предназначался для запуска скриптов.&lt;br /&gt;
&lt;br /&gt;
''Sash ''заслуживает особого упоминания, несмотря на низкий рейтинг. Он заработал 5 из 10 только потому, что в сравнении с остальными участниками предлагает слишком мало, за исключением одного: ему вообще ничего не надо, чтобы запуститься. Никому и в голову не придет использовать его в качестве стандартной оболочки, но ''Sash ''надо держать в надежном месте; возможно, когда-нибудь он станет вашей палочкой-выручалочкой.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5</id>
		<title>LXF93:Сравнение</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5"/>
				<updated>2008-03-08T19:37:16Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Командные оболочки =&lt;br /&gt;
''Не забирались дальше Bash? Оболочка – не просто поле для ввода команд, так что познакомьтесь с парочкой экземпляров из коллекции '''Нейла Ботвика'''.''&lt;br /&gt;
&lt;br /&gt;
Разве мы не обсуждали терминалы совсем недавно? И есть ли разница между оболочкой и терминалом? Ответы – да, в обоих случаях. Оболочка – это программа, работающая в терминале. Она отображает приглашение для ввода команд и пытается выполнить то, что вы ей вводите. Возможно, разница не столь очевидна в Х-терминале, где вы регистрируетесь автоматически, но в виртуальной консоли (в том экране, который вы видите, когда Х не запущен), выводящей текстовое приглашение для входа в систему, оболочка не запускается до тех пор, пока вы не введете правильные имя пользователя и пароль.&lt;br /&gt;
&lt;br /&gt;
Каждый пользователь может работать в своей оболочке, так что себе вы можете поставить «мощную» оболочку, а для своей бабули предусмотреть более понятную. Даже если вы сроду не вводили команды в окно терминала, оболочкой вы все же пользовались: многие программы на вашем компьютере фактически являются ее сценариями, так что запуская программу, вы каждый раз запускаете оболочку, даже если делаете это, нажимая на значок.&lt;br /&gt;
&lt;br /&gt;
== Оболочки всех размеров ==&lt;br /&gt;
Рассмотренные здесь оболочки делятся на три основных категории. Оболочки общего назначения, типа ''Bash ''и ''Zsh, ''предлагают широкий выбор функций и свойств. Оболочки-легковесы, например, ''Dash, ''предлагают самые основные функции в небольшом пакете, и хороши для старых ПК или систем с ограниченными ресурсами; это также хорошие кандидаты на интерпретацию скриптов, которым не нужны «навороты» ''Bash ''со товарищи. Третья категория, оболочки особого назначения, созданы для специальных приложений или сред.&lt;br /&gt;
&lt;br /&gt;
На этих страницах мы рассмотрим образчики каждой категории и сравним их пригодность для решения определенных задач.&lt;br /&gt;
&lt;br /&gt;
Кроме внешних команд, каждая оболочка умеет выполнять некоторое количество собственных команд (‘builtins’), ускоряющих выполнение основных операций. Большинство рассматриваемых оболочек соответствуют основному стандарту POSIX. Различаются они предлагаемыми дополнительными функциями. Это могут быть дополнительные builtin-команды, функции типа расширенного дополнения или попросту минимальная среда POSIX в компактной и быстрой программе.&lt;br /&gt;
&lt;br /&gt;
== Bash ==&lt;br /&gt;
''Фаворит дистростроителей, но вправду ли он лучше всех?''&lt;br /&gt;
&lt;br /&gt;
Вначале был ''Bourne Shell ''(''sh''), его написал Стивен Борн [Steven Bourne] для Bell Labs Research Unix. ''Bash ''– это ''Bourne Again Shell ''(Снова Оболочка Борна), ужасный каламбур, который, к счастью, редко используется. Почти все современные дистрибутивы Linux используют ''Bash ''в качестве оболочки по умолчанию, и вы, вероятно, знакомы как минимум с его основами; это превращает ''Bash ''в фактический стандарт, с которым сравниваются все остальные. Поэтому имеет смысл для начала рассмотреть ''Bash'', а затем перейти к другим оболочкам, изучить, чем они отличаются, и выделить их достоинства и недостатки. Итак, что же дает нам ''Bash'', и почему ''Bash ''столь популярен у разработчиков дистрибутивов?&lt;br /&gt;
&lt;br /&gt;
Дело не в малом размере ''Bash'', и не в скорости. По размеру ''Bash ''больше всех рассмотренных здесь оболочек, кроме одной: ''Sash'', которая не использует библиотек и имеет несколько дополнительных встроенных команд. ''Bash ''также и не самая быстрая оболочка, которую вы встретите (если, конечно, не отшвырнете журнал, проигнорировав остаток нашего Сравнения и поклявшись всю оставшуюся жизнь пользоваться только ''Bash''). Однако большинству пользователей на это наплевать, ибо подлинно важна его гибкость. ''Bash ''обладает некоторыми функциями, превосходящими стандарт POSIX, хотя при желании можно добиться от него и POSIX-поведения. Если запустить ''Bash ''командой sh, с опцией командной строки --posix или при установленной переменной окружения POSIXLY_CORRECT, ''Bash ''будет работать как стандартная оболочка POSIX. При запуске через sh, ''Bash ''по возможности пытается работать как исходная оболочка Борна, но лишь в тех ситуациях, когда это не вступит в конфликт со стандартом POSIX.&lt;br /&gt;
&lt;br /&gt;
Встроенные команды позволяют ''Bash ''выполнять некоторые операции быстрее, ценой чуть более долгого времени загрузки, но если вы запускаете скрипт ''Bash ''из оболочки ''Bash'', об этом и говорить не стоит. Эти команды плюс дополнительные логические конструкции означают, что скрипты, написанные для ''Bash'', могут работать быстро. Например, типичный способ запустить цикл с установленным количеством повторений – for i in $(seq 1 100), при этом внешняя команда seq генерирует список повторений. С помощью ''Bash ''вы можете написать for i in {1..100}, при этом не вызывается никакая внешняя программа и все выполняется быстрее.&lt;br /&gt;
&lt;br /&gt;
=== RTFM ===&lt;br /&gt;
Набрав '''help''', вы получите список всех встроенных команд. Добавив имя команды, вы получите информацию об ее использовании. Это устраняет необходимость лазить по man-странице ''Bash'', содержащей явный переизбыток информации. Тут ''Bash ''может поучиться у ''Zsh'', где документация распределена по нескольким страницам. Документация, представленная в формате info, удобнее для обработки, при условии, что вы умеете пользоваться info, но многим из нас это недоступно. Пользователи KDE могут легко просмотреть документацию, введя ‘info:''Bash''’ в ''Konqueror''.&lt;br /&gt;
&lt;br /&gt;
Как и большинство оболочек, ''Bash ''включает функцию стандартного tab-дополнения: нажмите Tab на первом слове, и он попытается дополнить его до имени команды, нажмите Tab на следующем слове, и он попробует дополнить его до имени файла или пути. Однако в плане программируемого дополнения ''Bash ''может пойти намного дальше. Как только вы установите и добавите в свой профиль дополнительный пакет из http://www.caliban.org/Bash/index.shtml#completion , функция tab-дополнения будет завершать переменные в соответствии с командой, за которой они следуют. Например, введите ssh, а потом несколько первых букв имени хоста в вашей сети, и ''Bash ''дополнит его на основе содержимого вашего файла SSH known_hosts. Программируемое дополнение также можно использовать в качестве командной опции; введите somecommand --TAB – и увидите список опций, доступных в этой программе. Дополнение работает и с неопциональными аргументами для программ. Все это, конечно, чудесно, но не забудьте, что у программ должна быть специальная поддержка: обычно это файл в '''/usr/share/Bash-completion'''. Некоторые из них прилагаются, а некоторые доступны онлайн.&lt;br /&gt;
&lt;br /&gt;
Легко понять, почему разработчики дистрибутивов так любят ''Bash''. Во внутренней работе системы многое (например, все скрипты сервисов, запускаемых при включении и выключении) требует эффективного использования сценариев оболочки, и удобно программируемый ''Bash ''обречен на сильную любовь – да такую сильную, что некоторым дистрибутивам эта оболочка требуется в обязательном порядке, и без нее они работать не будут. Впрочем, вы не обязаны выбирать себе ''Bash ''в качестве интерактивной оболочки. Конечно, в нем широкий спектр функций и налицо удобство использования, но если вы просто получили ''Bash ''вместе с дистрибутивом и не пробовали ничего другого – читайте дальше и, возможно, найдете что-нибудь получше!&lt;br /&gt;
&lt;br /&gt;
== Fish ==&lt;br /&gt;
''Нестандартные скрипты, но идеален для новичков.''&lt;br /&gt;
&lt;br /&gt;
Работа с оболочкой слегка пугает начинающих пользователей. Поэтому ''Fish'', ''Friendly Interactive Shell ''(Дружелюбная Интерактивная Оболочка), даже предлагает привыкшим к графическому пользовательскому интерфейсу ввести help после входа. Эта команда при первом использовании попросит вас выбрать браузер, а потом будет открывать в нем документацию в формате HTML. Подробная и доступная информация о командах делает их поиск значительно проще, чем в man-страницах оболочек, подобных ''Bash ''или ''Zsh''. Если ''Fish ''не сможет подключиться к X-серверу, для показа справки будет задействован links.&lt;br /&gt;
&lt;br /&gt;
Документация – не единственная дружелюбная функция в ''Fish''. Здесь также используется подсветка синтаксиса: когда вы начинаете вводить команду, буквы показаны красным, и меняют цвет на зеленый при правильном завершении имени команды, а имена действующих директорий подчеркиваются. По ощущениям (без измерений), Tab-дополнение вроде бы быстрее, чем в ''Bash'', и почти не уступает программируемому дополнению ''Bash'', но не столь расширяемо; оно работает над командными опциями, так же, как и над самими командами. Предыстория команд тоже более интуитивна: просто введите начало команды и нажмите стрелку «вверх», чтобы просмотреть предыдущие вызовы – это проще, чем запомнить Ctrl-R и иже с ним.&lt;br /&gt;
&lt;br /&gt;
''Fish ''использует специфические конструкции скриптов, которые проще для понимания начинающих пользователей, но несовместимы с другими оболочками. Это не фатальный недостаток, потому что ''Fish ''предназначен для интерактивного использования, хотя эти конструкции также могут использоваться в командной строке. В защиту ''Fish ''можно сказать, что он ориентируется на тех, кого вряд ли интересуют подобные функции, и достаточно гуманен, чтобы подробно объяснить, почему первая форма не работает, и привести пример корректного (для ''Fish'') формата. Да, ''Fish ''избавился от некоторых загадочных приемов в стиле Unix, но вам все же придется держать под рукой ''Bash'', чтобы запускать системные скрипты.&lt;br /&gt;
&lt;br /&gt;
== Tcsh ==&lt;br /&gt;
''Оболочка C Shell. Приглядитесь!''&lt;br /&gt;
&lt;br /&gt;
На первый взгляд, ''Tcsh ''весьма похож на ''Bash ''и ''Zsh'', ибо включает дополнение команд и имен файлов, предысторию команд с функцией поиска и проверку написания – но для своих скриптов он использует совершенно другой синтаксис. Поэтому, хотя ''Tcsh ''и взаимозаменяем с другими оболочками по части интерактивного использования, вам все же понадобится ''Bash ''для запуска скриптов, не написанных специально для ''Tcsh''.&lt;br /&gt;
&lt;br /&gt;
Как и ''Bash ''с ''Zsh'', ''Tcsh ''использует по умолчанию привязку клавиш в стиле ''Emacs'', но при желании ее можно переключить на vi (фанаты ''vi'', не принимайте, пожалуйста, это за восхваление ''Emacs'', и не развязывайте очередную религиозную войну редакторов). ''Tcsh ''не предлагает программируемого или опционального дополнения, как ''Zsh ''или ''Bash'', однако у него есть функция проверки написания команд, директорий и переменных среды. Вилфредо Санчес [Wilfredo Sanchez], бывший ведущий инженер Mac OS X, работал над ''Tcsh ''в начале 1990-х в MIT, и неудивительно, что ранние версии Mac OS X поставлялись с ''Tcsh ''в качестве оболочки по умолчанию; но потом в Panther-версии ОС его заменили на ''Bash''.&lt;br /&gt;
&lt;br /&gt;
Употребление псевдонимов-алиасов здесь более гибкое, чем в других оболочках, где не дозволяются никакие подстановки. ''Tcsh ''с подстановками справляется, поэтому аргументы, переданные псевдониму, можно послать «по цепочке» реальной команде, создавая своего рода мини-функции. Такое вряд ли понравится пользователям ''Bash ''и ''Zsh'': к этому надо попривыкнуть, чтобы осознать, насколько оно полезно.&lt;br /&gt;
&lt;br /&gt;
Основное различие между ''Tcsh ''и другими оболочками – синтаксис языка сценариев. Как и подразумевается в названии, он напоминает язык С, и хотя циклы ''foreach ''и ''while ''действуют схоже, синтаксис совершенно другой, и из-за него скрипты ''Tcsh ''несовместимы с другими оболочками. В нем также используются конструкции, которые вы не найдете в традиционных скриптах; среди них – безусловно полезный ''switch ''и сомнительный ''goto''.&lt;br /&gt;
&lt;br /&gt;
== Zsh ==&lt;br /&gt;
''Продвинутые пользователи, перед вами победитель Bash!''&lt;br /&gt;
&lt;br /&gt;
При первом запуске ''Zsh ''выводится меню настройки, чтобы вы смогли отрегулировать многочисленные мощные и гибкие функции. Все меню содержат массу информации по каждой опции и предлагают разумные значения по умолчанию, поэтому вы можете просто принять их и, если пожелаете, запустить программу настройки позже, когда вам понадобится вся функциональность. ''Zsh ''снабжен всеми функциями, которые только можно придумать, и даже сверх того – например, проверкой написания. ''Zsh ''и ''Bash ''предлагают сходный функционал. Обе имеют программируемое дополнение (хотя у ''Zsh ''оно появилось раньше), встроенные команды и функции для создания скриптов. У ''Zsh ''также в запасе есть несколько собственных хитростей, например, расширенная подстановка имени файла, которая превращает команду поиска find почти что в ненужное излишество. Включение в путь ** означает соответствие любому символу, включая разделитель-слэш, поэтому **/*.jpg касается всех файлов '''*.jpg '''в текущей директории и в любых поддиректориях. Мало того, сюда также включаются права доступа к файлу, владелец, тип или отметка времени – большинство опций, предусмотренных find. Например, можно использовать ls -l /**/bin/*(s) для вывода списка всех setuid-файлов в '''/bin''', '''/usr/bin '''и '''/usr/local/bin'''. Где вы, наши друзья по старым добрым временам Amiga – при наборе имени директории в командной строке ''Zsh ''переключается на эту директорию. Многие из нас годами приучались ставить '''cd '''перед именем директории; теперь можно поставить ''Zsh ''и вернуться к былой лени.&lt;br /&gt;
&lt;br /&gt;
Программируемое дополнение в ''Zsh ''аналогично той же функции в ''Bash'', описанной выше. Можно дополнить аргументы команды, нажав Tab, или включить дополнение имен пользователей или хостов, набрав '''ssh'''. Поскольку ''Zsh ''– программируемая оболочка, ее можно расширять сколько душе угодно. Обычный пример – ограничение дополнения имен файлов только теми расширениями, которые способна обработать вводимая команда: так, команда mplayer TAB выведет список всех MPG- и AVI-файлов в текущей директории, подобным же образом обрабатываются и другие формы, с которыми она работает, например, dvd:// и tv://; при этом текстовые документы в той же директории игнорируются.&lt;br /&gt;
&lt;br /&gt;
Без сомнения, ''Zsh ''– невероятно мощная оболочка. Выполнение скриптов в основном быстрее, чем в ''Bash ''– по большей части примерно на 20% – однако ''Zsh ''разработан для интерактивного пользования. Превосходит ли он ''Bash''? Почти наверняка, особенно если учесть расширенную подстановку имени файла и более развитую опцию дополнения.&lt;br /&gt;
&lt;br /&gt;
== Dash ==&lt;br /&gt;
''Небольшая оболочка; очень быстро выполняет скрипты.''&lt;br /&gt;
&lt;br /&gt;
Если вы ищете небольшую и быструю оболочку, то у ''Dash ''есть шансы. ''Dash ''происходит от оболочки FreeBSD под названием ''Ash'', и, имея скромный размер 99K, составляет всего одну седьмую от ''Bash''. В нем нет тех наворотов, которыми богат ''Bash'', но они не всегда и нужны. Как интерактивная оболочка, ''Dash ''скудноват – здесь нет даже базового tab-дополнения; но он превосходно подходит для выполнения сценариев оболочки POSIX.&lt;br /&gt;
&lt;br /&gt;
''Dash ''почти совместим с POSIX, но кое-какие несовместимости в нем, похоже, имеются, поэтому стоит прочитать документацию и уточнить, какие именно. Однако он сработается с большинством скриптов, использующих '''/bin/sh '''(любой скрипт, обращающийся к '''/bin/ sh''', не должен требовать ничего сверх минимума, гарантированного оболочкой POSIX).&lt;br /&gt;
&lt;br /&gt;
Маленький размер также помогает проворности ''Dash''. Понятно, что он способствует ускорению и загрузки, и работы скриптов; по сравнению с ''Bash ''наш тестовый скрипт запустился вдвое быстрее. «Махнув» ''Bash ''на ''Dash ''в символьной ссылке '''/bin/sh''', вы значительно сократите время загрузки, в течение которой обычно запускается множество сценариев оболочки. Однако, прежде чем это сделать, убедитесь, что у вас не возникнет проблем, способных помешать загрузке. Хороший способ обезопасить себя от внезапных «ударов под дых» – предварительно проверить все init-скрипты вручную.&lt;br /&gt;
&lt;br /&gt;
== Dsh ==&lt;br /&gt;
''Запускайте программы сразу на нескольких ПК.''&lt;br /&gt;
&lt;br /&gt;
D''sh ''– это распределенная оболочка (хотя вообще-то ее название означает ''Dancer’s Shell''), выполняющая команды сразу на нескольких удаленных машинах. Некоторые рассмотренные здесь оболочки подходят для интерактивного пользования и создания скриптов; а эта – совсем не интерактивна, но зато весьма полезна, когда надо запустить серию команд на группе компьютеров. Альтернативой является нечто вроде for host in node1 node2 node3; do ssh $host “my commands”; done С ''Dsh'', вы заносите имена хостов в файл '''machine.list''', а затем просто набираете Dsh -a my commands. Файл '''machine.list '''используется опцией -a (или --all), но вы можете поместить любое количество списков имен хостов в групповой директории ''Dsh'', и, передав имя списка с помощью опции -g (--group), запустить команду на всех этих машинах.&lt;br /&gt;
&lt;br /&gt;
Опции включают: запуск команд на удаленных хостах последовательно или параллельно, предварение каждой строки вывода именем хоста (что особенно полезно при параллельном запуске команд); и передача команд через стандартный ввод. Команды можно запускать с помощью ssh или rsh, но для должного использования ssh вам понадобится аутентификация по ключу, а для выполнения команды от имени другого пользователя ее нужно будет предварить названием соответствующей учетной записи.&lt;br /&gt;
&lt;br /&gt;
Это – действительно полезный инструмент при работе с группой машин. В нем не хватает только возможности одновременного копирования файлов на несколько компьютеров. Чтобы вытащить файлы с вашего компьютера, вы можете запустить команду scp на других машинах, но это предполагает, что вы предоставите всем им SSH-доступ к вашей рабочей станции – маловероятный сценарий, в особенности если компьютеры-получатели являются общедоступными серверами. Добавка dcp может превратить ''Dsh ''в отличный инструмент администрирования.&lt;br /&gt;
&lt;br /&gt;
== Sash ==&lt;br /&gt;
''Желаем, чтобы она вам не понадобилась!''&lt;br /&gt;
&lt;br /&gt;
S''ash ''– это просто самая крупная из рассмотренных здесь оболочек, и не без причины. Ее название – сокращение от ''Stand Alone Shell ''(Оболочка-одиночка), и в ней содержится несколько встроенных команд, которых нет ни в одной другой оболочке. Когда мы скажем, что эти команды – ''mount, ls, cp, tar ''и ''gzip'', вы поймете, для чего нужен ''Sash''. Это – оболочка для восстановления системы, которая работает даже тогда, когда большая часть вашей файловой системы утрачена. Если '''/boot '''у вас находится на отдельном разделе, и вы не монтируете его при загрузке, или монтируете в режиме только для чтения, поместите на него копию ''Sash'', и выдержите даже rm -fr /*. Используя встроенные команды ''Sash'', вы сможете восстановить свои резервные копии (у вас ведь есть резервные копии, правда?) и запустить работу снова, не теряя времени. После отказа системы восстановление возможно даже при отсутствии важных библиотек: все необходимое – это ядро и ''Sash''.&lt;br /&gt;
&lt;br /&gt;
По причине ограничений на размер, команды, встроенные в ''Sash'', являются урезанными версиями своих аналогов, поэтому ''Sash ''предоставляет доступ и к тем, и к другим. Для запуска стандартной команды ''ls ''вводите ls, а -ls вызовет встроенную. Стандартная команда недоступна? Сделайте псевдоним ls, разворачивающийся в -ls. Если вас угораздило полностью удалить '''/bin''', используйте ''aliasall'', и все команды будут выбираться из встроенных. Того же можно добиться, запустив ''Sash ''с опцией -a. Команда ''help ''выведет список встроенных команд и информацию по использованию любой из них.&lt;br /&gt;
&lt;br /&gt;
''Sash ''также умеет запускать скрипты с помощью опции -f, а значит, вы можете автоматизировать даже процесс восстановления. Если безобразия у вас творятся часто – настолько, чтобы вам захотелось автоматизировать использование ''Sash ''для этих целей – возможно, стоит пересмотреть и изменить свой подход к работе. ''Sash ''вряд ли подходит на роль стандартной интерактивной оболочки, но он из тех приложений, наличие которых под рукой приведет вас в состояние дикой радости, если с вами стряслось то, что бывает только у других.&lt;br /&gt;
&lt;br /&gt;
== Вердикт ==&lt;br /&gt;
'''Zsh 9/10'''&lt;br /&gt;
&lt;br /&gt;
Группа программ, представленных в данном Сравнении, довольно необычна, потому что в ней есть программа, уже установленная практически в каждом дистрибутиве.&lt;br /&gt;
&lt;br /&gt;
Вышло так, что ''Zsh ''победил фактически по всем параметрам: он быстр, достаточно компактен, имеет превосходную документацию и лучшее дополнение, чем любая из представленных здесь оболочек. Если вы прежде не использовали tab-дополнение в оболочке, попробуйте: время здорово экономится. При интерактивном использовании ''Zsh ''непревзойденна, благодаря своим функциям и дружелюбию ко всем, кто познакомился с документацией. Нужны еще аргументы? Что ж, автор уже сделал ''Zsh ''оболочкой по умолчанию вместо ''Bash''.&lt;br /&gt;
&lt;br /&gt;
Мы не говорим, что ''Bash ''– плохая оболочка, отнюдь, просто ''Zsh ''все делает чуть лучше. ''Bash ''по-прежнему остается эталоном, по которому оценивают остальных, возможно, именно поэтому он столь распространен, и действительно устанавливает высокую планку. Если вы пишете скрипты оболочки посложнее, чем простой список команд, стоит воспользоваться именно ''Bash'', и именно поэтому дистрибутивы выбирают его оболочкой по умолчанию.&lt;br /&gt;
&lt;br /&gt;
''Tcsh ''в известной мере является анахронизмом. Конечно, его ни в коем случае нельзя назвать плохой оболочкой, но нестандартный синтаксис несколько уменьшает ценность ''Tcsh ''для написания сценариев, учитывая еще и тот факт, что это ничем не компенсируется. Синтаксис ''Tcsh'', возможно, упрощает создание скриптов, но поскольку запускать их можно будет только на своей машине, вряд ли это по-настоящему полезно.&lt;br /&gt;
&lt;br /&gt;
''Dash ''примечателен небольшим размером и быстротой, но более, собственно, ничем. Он пригодится тем, кому надо поторопить медленное оборудование. ''Dsh ''– не похож на остальные, но может стать мечтой сетевого администратора – если кроме выполнения команд даст возможность распределенного копирования файлов.&lt;br /&gt;
&lt;br /&gt;
''Fish ''буквально раскрывает глаза на то, какой дружелюбной может быть оболочка. Его настройки по умолчанию (исключая странный выбор программы просмотра помощи по умолчанию) просто великолепны для начинающих пользователей, желающих привыкнуть к работе с командной строкой. Он нарушает совместимость со стандартными сценариями оболочки, но благодаря этому приобретает гибкость, обеспечивающую более человечный синтаксис, и к тому же он никогда и не предназначался для запуска скриптов.&lt;br /&gt;
&lt;br /&gt;
''Sash ''заслуживает особого упоминания, несмотря на низкий рейтинг. Он заработал 5 из 10 только потому, что в сравнении с остальными участниками предлагает слишком мало, за исключением одного: ему вообще ничего не надо, чтобы запуститься. Никому и в голову не придет использовать его в качестве стандартной оболочки, но ''Sash ''надо держать в надежном месте; возможно, когда-нибудь он станет вашей палочкой-выручалочкой.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5</id>
		<title>LXF93:Сравнение</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5"/>
				<updated>2008-03-08T19:35:23Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: = Командные оболочки = ''Не забирались дальше Bash? Оболочка – не просто поле для ввода команд, так что по...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Командные оболочки =&lt;br /&gt;
''Не забирались дальше Bash? Оболочка – не просто поле для ввода команд, так что познакомьтесь с парочкой экземпляров из коллекции '''Нейла Ботвика'''.''&lt;br /&gt;
&lt;br /&gt;
Разве мы не обсуждали терминалы совсем недавно? И есть ли разница между оболочкой и терминалом? Ответы – да, в обоих случаях. Оболочка – это программа, работающая в терминале. Она отображает приглашение для ввода команд и пытается выполнить то, что вы ей вводите. Возможно, разница не столь очевидна в Х-терминале, где вы регистрируетесь автоматически, но в виртуальной консоли (в том экране, который вы видите, когда Х не запущен), выводящей текстовое приглашение для входа в систему, оболочка не запускается до тех пор, пока вы не введете правильные имя пользователя и пароль.&lt;br /&gt;
&lt;br /&gt;
Каждый пользователь может работать в своей оболочке, так что себе вы можете поставить «мощную» оболочку, а для своей бабули предусмотреть более понятную. Даже если вы сроду не вводили команды в окно терминала,&lt;br /&gt;
&lt;br /&gt;
оболочкой вы все же пользовались: многие программы на вашем компьютере фактически являются ее сценариями, так что запуская программу, вы каждый раз запускаете оболочку, даже если делаете это, нажимая на значок.&lt;br /&gt;
&lt;br /&gt;
== Оболочки всех размеров ==&lt;br /&gt;
Рассмотренные здесь оболочки делятся на три основных категории. Оболочки общего назначения, типа ''Bash ''и ''Zsh, ''предлагают широкий выбор функций и свойств. Оболочки-легковесы, например, ''Dash, ''предлагают самые основные функции в небольшом пакете, и хороши для старых ПК или систем с ограниченными ресурсами; это также хорошие кандидаты на интерпретацию скриптов, которым не нужны «навороты» ''Bash ''со товарищи. Третья категория, оболочки особого назначения, созданы для специальных приложений или сред.&lt;br /&gt;
&lt;br /&gt;
На этих страницах мы рассмотрим образчики каждой категории и сравним их пригодность для решения определенных задач.&lt;br /&gt;
&lt;br /&gt;
Кроме внешних команд, каждая оболочка умеет выполнять некоторое количество собственных команд (‘builtins’), ускоряющих выполнение основных операций. Большинство рассматриваемых оболочек соответствуют основному стандарту POSIX. Различаются они предлагаемыми дополнительными функциями. Это могут быть дополнительные builtin-команды, функции типа расширенного дополнения или попросту минимальная среда POSIX в компактной и быстрой программе.&lt;br /&gt;
&lt;br /&gt;
== Bash ==&lt;br /&gt;
''Фаворит дистростроителей, но вправду ли он лучше всех?''&lt;br /&gt;
&lt;br /&gt;
Вначале был ''Bourne Shell ''(''sh''), его написал Стивен Борн [Steven Bourne] для Bell Labs Research Unix. ''Bash ''– это ''Bourne Again Shell ''(Снова Оболочка Борна), ужасный каламбур, который, к счастью, редко используется. Почти все современные дистрибутивы Linux используют ''Bash ''в качестве оболочки по умолчанию, и вы, вероятно, знакомы как минимум с его основами; это превращает ''Bash ''в фактический стандарт, с которым сравниваются все остальные. Поэтому имеет смысл для начала рассмотреть ''Bash'', а затем перейти к другим оболочкам, изучить, чем они отличаются, и выделить их достоинства и недостатки. Итак, что же дает нам ''Bash'', и почему ''Bash ''столь популярен у разработчиков дистрибутивов?&lt;br /&gt;
&lt;br /&gt;
Дело не в малом размере ''Bash'', и не в скорости. По размеру ''Bash ''больше всех рассмотренных здесь оболочек, кроме одной: ''Sash'', которая не использует библиотек и имеет несколько дополнительных встроенных команд. ''Bash ''также и не самая быстрая оболочка, которую вы встретите (если, конечно, не отшвырнете журнал, проигнорировав остаток нашего Сравнения и поклявшись всю оставшуюся жизнь пользоваться толь-&lt;br /&gt;
&lt;br /&gt;
ко ''Bash''). Однако большинству пользователей на это наплевать, ибо подлинно важна его гибкость. ''Bash ''обладает некоторыми функциями, превосходящими стандарт POSIX, хотя при желании можно добиться от него и POSIX-поведения. Если запустить ''Bash ''командой sh, с опцией командной строки --posix&lt;br /&gt;
&lt;br /&gt;
или при установленной переменной окружения POSIXLY_CORRECT, ''Bash ''будет работать как стандартная оболочка POSIX. При запуске через sh, ''Bash ''по возможности пытается работать как исходная оболочка Борна, но лишь в тех ситуациях, когда это не вступит в конфликт со стандартом POSIX.&lt;br /&gt;
&lt;br /&gt;
Встроенные команды позволяют ''Bash ''выполнять некоторые операции быстрее,&lt;br /&gt;
&lt;br /&gt;
ценой чуть более долгого времени загрузки, но если вы запускаете скрипт ''Bash ''из оболочки ''Bash'', об этом и говорить не стоит. Эти команды плюс дополнительные логические конструкции означают, что скрипты, написанные для ''Bash'', могут работать быстро. Например, типичный способ запустить цикл с установленным количеством повторений – for i in $(seq 1 100), при этом внешняя команда seq генерирует список повторений. С помощью ''Bash ''вы можете написать for i in {1..100}, при этом не вызывается никакая внешняя программа и все выполняется быстрее.&lt;br /&gt;
&lt;br /&gt;
=== RTFM ===&lt;br /&gt;
Набрав '''help''', вы получите список всех встроенных команд. Добавив имя команды, вы получите информацию об ее использовании. Это устраняет необходимость лазить по man-странице ''Bash'', содержащей явный переизбыток информации. Тут ''Bash ''может поучиться у ''Zsh'', где документация распределена по нескольким страницам. Документация, представленная в формате info, удобнее для обработки, при условии, что вы умеете пользоваться info, но многим из нас это недоступно. Пользователи KDE могут легко просмотреть&lt;br /&gt;
&lt;br /&gt;
документацию, введя ‘info:''Bash''’ в ''Konqueror''.&lt;br /&gt;
&lt;br /&gt;
Как и большинство оболочек, ''Bash ''включает функцию стандартного tab-дополнения: нажмите Tab на первом слове, и он попытается дополнить его до имени команды, нажмите Tab на следующем слове, и он попробует дополнить его до имени файла или пути. Однако в плане программируемого дополнения ''Bash ''может пойти намного дальше. Как только вы установите и добавите в свой профиль дополнительный пакет из http://www.caliban.org/Bash/index.shtml#completion , функция tab-дополнения будет завершать переменные в соответствии с командой, за которой они следуют. Например, введите ssh, а потом несколько первых букв имени хоста в вашей сети, и ''Bash ''дополнит его на основе содержимого вашего файла SSH known_hosts. Программируемое дополнение также можно использовать в качестве командной опции; введите somecommand --TAB – и увидите список опций, доступных в этой программе. Дополнение работает и с неопциональными аргументами для программ. Все это, конечно, чудесно, но не забудьте, что у программ должна быть специальная поддержка: обычно это файл в '''/usr/share/Bash-completion'''. Некоторые из них прилагаются, а некоторые доступны онлайн.&lt;br /&gt;
&lt;br /&gt;
Легко понять, почему разработчики дистрибутивов так любят ''Bash''. Во внутренней работе системы многое (например, все скрипты сервисов, запускаемых при включении и выключении) требует эффективного использования сценариев оболочки, и удобно программируемый ''Bash ''обречен на сильную любовь – да такую сильную, что некоторым дистрибутивам эта оболочка требуется в обязательном порядке, и без нее они работать не будут. Впрочем, вы не обязаны выбирать себе ''Bash ''в качестве интерактивной оболочки. Конечно, в нем широкий спектр функций и налицо удобство использования, но если вы просто получили ''Bash ''вместе с дистрибутивом и не пробовали ничего другого – читайте дальше и, возможно, найдете что-нибудь получше!&lt;br /&gt;
&lt;br /&gt;
== Fish ==&lt;br /&gt;
''Нестандартные скрипты, но идеален для новичков.''&lt;br /&gt;
&lt;br /&gt;
Работа с оболочкой слегка пугает начинающих пользователей. Поэтому ''Fish'', ''Friendly Interactive Shell ''(Дружелюбная Интерактивная Оболочка), даже предлагает привыкшим к графическому пользовательскому интерфейсу ввести help после входа. Эта команда при первом использовании попросит вас выбрать браузер, а потом будет открывать в нем документацию в формате HTML. Подробная и доступная информация о командах делает их поиск значительно проще, чем в man-страницах оболочек, подобных ''Bash ''или ''Zsh''. Если ''Fish ''не сможет подключиться к X-серверу, для показа справки будет задействован links.&lt;br /&gt;
&lt;br /&gt;
Документация – не единственная дружелюбная функция в ''Fish''. Здесь также используется подсветка синтаксиса: когда вы начинаете вводить команду, буквы показаны красным, и меняют цвет на зеленый при правильном завершении имени команды, а имена действующих директорий подчеркиваются. По ощущениям (без измерений), Tab-дополнение вроде бы быстрее, чем в ''Bash'', и почти не уступает программируемому дополнению ''Bash'', но не столь расширяемо; оно работает над командными опциями, так же, как и над самими&lt;br /&gt;
&lt;br /&gt;
командами. Предыстория команд тоже более интуитивна: просто введите начало команды и нажмите стрелку «вверх», чтобы просмотреть предыдущие вызовы – это проще, чем запомнить Ctrl-R и иже с ним.&lt;br /&gt;
&lt;br /&gt;
''Fish ''использует специфические конструкции скриптов, которые проще для понимания начинающих пользователей, но несовместимы с другими оболочками. Это не фатальный недостаток, потому что ''Fish ''предназначен для интерактивного использования, хотя эти конструкции также могут использоваться в командной строке. В защиту ''Fish ''можно сказать, что он ориентируется на тех, кого вряд ли интересуют подобные функции, и достаточно гуманен, чтобы подробно объяснить, почему первая форма не работает, и привести пример корректного (для ''Fish'') формата. Да, ''Fish ''избавился от некоторых загадочных приемов в стиле Unix, но вам все же придется держать под рукой ''Bash'', чтобы запускать системные скрипты.&lt;br /&gt;
&lt;br /&gt;
== Tcsh ==&lt;br /&gt;
''Оболочка C Shell. Приглядитесь!''&lt;br /&gt;
&lt;br /&gt;
На первый взгляд, ''Tcsh ''весьма похож на ''Bash ''и ''Zsh'', ибо включает дополнение команд и имен файлов, предысторию команд с функцией поиска и проверку написания – но для своих скриптов он использует совершенно другой синтаксис. Поэтому, хотя ''Tcsh ''и взаимозаменяем с другими оболочками по части интерактивного использования, вам все же понадобится ''Bash ''для запуска скриптов, не написанных специально для ''Tcsh''.&lt;br /&gt;
&lt;br /&gt;
Как и ''Bash ''с ''Zsh'', ''Tcsh ''использует по умолчанию привязку клавиш в стиле ''Emacs'', но при желании ее можно переключить на vi (фанаты ''vi'', не принимайте, пожалуйста, это за восхваление ''Emacs'', и не развязывайте очередную религиозную войну редакторов). ''Tcsh ''не предлагает программируемого или опционального дополнения, как ''Zsh ''или ''Bash'', однако у него есть функция проверки написания команд, директорий и переменных среды. Вилфредо Санчес [Wilfredo Sanchez], бывший ведущий инженер Mac OS X, работал над ''Tcsh ''в начале 1990-х в MIT, и неудивительно, что ранние версии Mac OS X поставлялись с ''Tcsh ''в качестве оболочки по умолчанию; но потом в Panther-версии ОС его заменили на ''Bash''.&lt;br /&gt;
&lt;br /&gt;
Употребление псевдонимов-алиасов здесь более гибкое, чем в других оболочках, где не дозволяются никакие подстановки. ''Tcsh ''с подстановками справляется, поэтому аргументы, переданные псевдониму, можно послать «по цепочке» реальной команде, создавая своего рода мини-функции. Такое вряд ли понравится пользователям ''Bash ''и ''Zsh'': к этому надо попривыкнуть, чтобы осознать, насколько оно полезно.&lt;br /&gt;
&lt;br /&gt;
Основное различие между ''Tcsh ''и другими оболочками – синтаксис языка сценариев. Как и подразумевается в названии, он напоминает язык С, и хотя циклы ''foreach ''и ''while ''действуют схоже, синтаксис совершенно другой, и из-за него скрипты ''Tcsh ''несовместимы с другими оболочками. В нем также используются конструкции, которые вы не найдете в традиционных скриптах; среди них – безусловно полезный ''switch ''и сомнительный ''goto''.&lt;br /&gt;
&lt;br /&gt;
== Zsh ==&lt;br /&gt;
''Продвинутые пользователи, перед вами победитель Bash!''&lt;br /&gt;
&lt;br /&gt;
При первом запуске ''Zsh ''выводится меню настройки, чтобы вы смогли отрегулировать многочисленные мощные и гибкие функции. Все меню содержат массу информации по каждой опции и предлагают разумные значения по умолчанию, поэтому вы можете просто принять их и, если пожелаете, запустить программу настройки позже, когда вам понадобится вся функциональность. ''Zsh ''снабжен всеми функциями, которые только можно придумать, и даже сверх того – например, проверкой написания. ''Zsh ''и ''Bash ''предлагают сходный функционал. Обе имеют программируемое дополнение (хотя у ''Zsh ''оно появилось раньше), встроенные команды и функции для создания скриптов. У ''Zsh ''также в запасе есть несколько собственных хитростей, например, расширенная подстановка имени файла, которая превращает команду поиска find почти что в ненужное излишество. Включение в путь ** означает соответствие любому символу, включая разделитель-слэш, поэтому **/*.jpg касается всех файлов '''*.jpg '''в текущей директории и в любых поддиректориях. Мало того, сюда также включаются права доступа к файлу, владелец, тип или отметка времени – большинство опций, предусмотренных find. Например, можно использовать ls -l /**/bin/*(s) для вывода списка всех setuid-файлов в '''/bin''', '''/usr/bin '''и '''/usr/local/bin'''. Где вы, наши друзья по старым добрым временам Amiga – при наборе имени директории в командной строке ''Zsh ''переключается на эту директорию. Многие из нас годами приучались ставить '''cd '''перед именем директории; теперь можно поставить ''Zsh ''и вернуться к былой лени.&lt;br /&gt;
&lt;br /&gt;
Программируемое дополнение в ''Zsh ''аналогично той же функции в ''Bash'', описанной выше. Можно дополнить аргументы команды, нажав Tab, или включить дополнение имен пользователей или хостов, набрав '''ssh'''. Поскольку ''Zsh ''– программируемая оболочка, ее можно расширять сколько душе угодно. Обычный пример – ограничение дополнения имен файлов только теми расширениями, которые способна обработать вводимая команда: так, команда mplayer TAB выведет список всех MPG- и AVI-файлов в текущей директории, подобным же образом обрабатываются и другие формы, с которыми она работает, например, dvd:// и tv://; при этом текстовые документы в той же директории игнорируются.&lt;br /&gt;
&lt;br /&gt;
Без сомнения, ''Zsh ''– невероятно мощная оболочка. Выполнение скриптов в основном быстрее, чем в ''Bash ''– по большей части примерно на 20% – однако ''Zsh ''разработан для интерактивного пользования. Превосходит ли он ''Bash''? Почти наверняка, особенно если учесть расширенную подстановку имени файла и более развитую опцию дополнения.&lt;br /&gt;
&lt;br /&gt;
== Dash ==&lt;br /&gt;
''Небольшая оболочка; очень быстро выполняет скрипты.''&lt;br /&gt;
&lt;br /&gt;
Если вы ищете небольшую и быструю оболочку, то у ''Dash ''есть шансы. ''Dash ''происходит от оболочки FreeBSD под названием ''Ash'', и, имея скромный размер 99K, составляет всего одну седьмую от ''Bash''. В нем нет тех наворотов, которыми богат ''Bash'', но они не всегда и нужны. Как интерактивная оболочка, ''Dash ''скудноват – здесь нет даже базового tab-дополнения; но он превосходно подходит для выполнения сценариев оболочки POSIX.&lt;br /&gt;
&lt;br /&gt;
''Dash ''почти совместим с POSIX, но кое-какие несовместимости в нем, похоже, имеются, поэтому стоит прочитать документацию и уточнить, какие именно. Однако он сработается с большинством скриптов, использующих '''/bin/sh '''(любой скрипт, обращающийся к '''/bin/ sh''', не должен требовать ничего сверх минимума, гарантированного оболочкой POSIX).&lt;br /&gt;
&lt;br /&gt;
Маленький размер также помогает проворности ''Dash''. Понятно, что он способствует ускорению и загрузки, и работы скриптов; по сравнению с ''Bash ''наш тестовый скрипт запустился вдвое быстрее. «Махнув» ''Bash ''на ''Dash ''в символьной ссылке '''/bin/sh''', вы значительно сократите время загрузки, в течение которой обычно запускается множество сценариев оболочки. Однако, прежде чем это сделать, убедитесь, что у вас не возникнет проблем, способных помешать загрузке. Хороший способ обезопасить себя от внезапных «ударов под дых» – предварительно проверить все init-скрипты вручную.&lt;br /&gt;
&lt;br /&gt;
== Dsh ==&lt;br /&gt;
''Запускайте программы сразу на нескольких ПК.''&lt;br /&gt;
&lt;br /&gt;
D''sh ''– это распределенная оболочка (хотя вообще-то ее название означает ''Dancer’s Shell''), выполняющая команды сразу на нескольких удаленных машинах. Некоторые рассмотренные здесь оболочки подходят для интерактивного пользования и создания скриптов; а эта – совсем не интерактивна, но зато весьма полезна, когда надо запустить серию команд на группе компьютеров. Альтернативой является нечто вроде for host in node1 node2 node3; do ssh $host “my commands”; done С ''Dsh'', вы заносите имена хостов в файл '''machine.list''', а затем просто набираете Dsh -a my commands. Файл '''machine.list '''используется опцией -a (или --all), но вы можете поместить любое количество списков имен хостов в групповой директории ''Dsh'', и, передав имя списка с помощью опции -g (--group), запустить команду на всех этих машинах.&lt;br /&gt;
&lt;br /&gt;
Опции включают: запуск команд на удаленных хостах последовательно или параллельно, предварение каждой строки вывода именем хоста (что особенно полезно при параллельном запуске команд); и передача команд через стандартный ввод. Команды можно запускать с помощью ssh или rsh, но для должного использования ssh вам понадобится аутентификация по ключу, а для выполнения команды от имени другого пользователя ее нужно будет предварить названием соответствующей учетной записи.&lt;br /&gt;
&lt;br /&gt;
Это – действительно полезный инструмент при работе с группой машин. В нем не хватает только возможности одновременного копирования файлов на несколько компьютеров. Чтобы вытащить файлы с вашего компьютера, вы можете запустить команду scp на других машинах, но это предполагает, что вы предоставите всем им SSH-доступ к вашей рабочей станции – маловероятный сценарий, в особенности если компьютеры-получатели являются общедоступными серверами. Добавка dcp может превратить ''Dsh ''в отличный инструмент администрирования.&lt;br /&gt;
&lt;br /&gt;
== Sash ==&lt;br /&gt;
''Желаем, чтобы она вам не понадобилась!''&lt;br /&gt;
&lt;br /&gt;
S''ash ''– это просто самая крупная из рассмотренных здесь оболочек, и не без причины. Ее название – сокращение от ''Stand Alone Shell ''(Оболочка-одиночка), и в ней содержится несколько встроенных команд, которых нет ни в одной другой оболочке. Когда мы скажем, что эти команды – ''mount, ls, cp, tar ''и ''gzip'', вы поймете, для чего нужен ''Sash''. Это – оболочка для восстановления системы, которая работает даже тогда, когда большая часть вашей файловой системы утрачена. Если '''/boot '''у вас находится на отдельном разделе, и вы не монтируете его при загрузке, или монтируете в режиме только для чтения, поместите на него копию ''Sash'', и выдержите даже rm -fr /*. Используя встроенные команды ''Sash'', вы сможете восстановить свои резервные копии (у вас ведь есть резервные копии, правда?) и запустить работу снова, не теряя времени. После отказа системы восстановление возможно даже при отсутствии важных библиотек: все необходимое – это ядро и ''Sash''.&lt;br /&gt;
&lt;br /&gt;
По причине ограничений на размер, команды, встроенные в ''Sash'', являются урезанными версиями своих аналогов, поэтому ''Sash ''предоставляет доступ и к тем, и к другим. Для запуска стандартной команды ''ls ''вводите ls, а -ls вызовет встроенную. Стандартная команда недоступна? Сделайте псевдоним ls, разворачивающийся в -ls. Если вас угораздило полностью удалить '''/bin''', используйте ''aliasall'', и все команды будут выбираться из встроенных. Того же можно добиться, запустив ''Sash ''с опцией -a. Команда ''help ''выведет список встроенных команд и информацию по использованию любой из них.&lt;br /&gt;
&lt;br /&gt;
''Sash ''также умеет запускать скрипты с помощью опции -f, а значит, вы можете автоматизировать даже процесс восстановления. Если безобразия у вас творятся часто – настолько, чтобы вам захотелось автоматизировать использование ''Sash ''для этих целей – возможно, стоит пересмотреть и изменить свой подход к работе. ''Sash ''вряд ли подходит на роль стандартной интерактивной оболочки, но он из тех приложений, наличие которых под рукой приведет вас в состояние дикой радости, если с вами стряслось то, что бывает только у других.&lt;br /&gt;
&lt;br /&gt;
== Вердикт ==&lt;br /&gt;
'''Zsh 9/10'''&lt;br /&gt;
&lt;br /&gt;
Группа программ, представленных в данном Сравнении, довольно необычна, потому что в ней есть программа, уже установленная практически в каждом дистрибутиве.&lt;br /&gt;
&lt;br /&gt;
Вышло так, что ''Zsh ''победил фактически по всем параметрам: он быстр, достаточно компактен, имеет превосходную документацию и лучшее дополнение, чем любая из представленных здесь оболочек. Если вы прежде не использовали tab-дополнение в оболочке, попробуйте: время здорово экономится. При интерактивном использовании ''Zsh ''непревзойденна, благодаря своим функциям и дружелюбию ко всем, кто познакомился с документацией. Нужны еще аргументы? Что ж, автор уже сделал ''Zsh ''оболочкой по умолчанию вместо ''Bash''.&lt;br /&gt;
&lt;br /&gt;
Мы не говорим, что ''Bash ''– плохая оболочка, отнюдь, просто ''Zsh ''все делает чуть лучше. ''Bash ''по-прежнему остается эталоном, по которому оценивают остальных, возможно, именно поэтому он столь распространен, и действительно устанавливает высокую планку. Если вы пишете скрипты оболочки посложнее, чем простой список команд, стоит воспользоваться именно ''Bash'', и именно поэтому дистрибутивы выбирают его оболочкой по умолчанию.&lt;br /&gt;
&lt;br /&gt;
''Tcsh ''в известной мере является анахронизмом. Конечно, его ни в коем случае нельзя назвать плохой оболочкой, но нестандартный синтаксис несколько уменьшает ценность ''Tcsh ''для написания сценариев, учитывая еще и тот факт, что это ничем не компенсируется. Синтаксис ''Tcsh'', возможно, упрощает создание скриптов, но поскольку запускать их можно будет только на своей машине, вряд ли это по-настоящему полезно.&lt;br /&gt;
&lt;br /&gt;
''Dash ''примечателен небольшим размером и быстротой, но более, собственно, ничем. Он пригодится тем, кому надо поторопить медленное оборудование. ''Dsh ''– не похож на остальные, но может стать мечтой сетевого администратора – если кроме выполнения команд даст возможность распределенного копирования файлов.&lt;br /&gt;
&lt;br /&gt;
''Fish ''буквально раскрывает глаза на то, какой дружелюбной может быть оболочка. Его настройки по умолчанию (исключая странный выбор программы просмотра помощи по умолчанию) просто великолепны для начинающих пользователей, желающих привыкнуть к работе с командной строкой. Он нарушает совместимость со стандартными сценариями оболочки, но благодаря этому приобретает гибкость, обеспечивающую более человечный синтаксис, и к тому же он никогда и не предназначался для запуска скриптов.&lt;br /&gt;
&lt;br /&gt;
''Sash ''заслуживает особого упоминания, несмотря на низкий рейтинг. Он заработал 5 из 10 только потому, что в сравнении с остальными участниками предлагает слишком мало, за исключением одного: ему вообще ничего не надо, чтобы запуститься. Никому и в голову не придет использовать его в качестве стандартной оболочки, но ''Sash ''надо держать в надежном месте; возможно, когда-нибудь он станет вашей палочкой-выручалочкой.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-08T17:54:40Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: /* Обзоры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]] Клиент потокового вещания&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]] Резервное копирование&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:Storix_SBAdmin_6.1</id>
		<title>LXF93:Storix SBAdmin 6.1</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:Storix_SBAdmin_6.1"/>
				<updated>2008-03-08T17:51:44Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: = Storix SBAdmin 6.1 = ''В вечной погоне за хорошими инструментами администратора '''''Грэм Моррисон '''''нашел, что...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Storix SBAdmin 6.1 =&lt;br /&gt;
''В вечной погоне за хорошими инструментами администратора '''''Грэм Моррисон '''''нашел, что серьезный пакет для резервного копирования не обязан стоить серьезных денег''.&lt;br /&gt;
&lt;br /&gt;
''Storix System Backup Administrator'', или ''SBAdmin ''– полноценный комплект для резервного копирования, созданный, чтобы всемерно упростить эту нелегкую работу. По первому впечатлению, инсталляция не настолько проста, как хотелось бы. Для вызова оболочки по умолчанию инсталляционный скрипт использует ''/bin/sh'', тогда как синтаксис скрипта в действительности требует Bash. Конечно, большинство дистрибутивов по умолчанию использует Bash, но ведь не все. Например, в Ubuntu ''/bin/sh ''– это символическая ссылка на Dash, выбранную по соображениям экономии ресурсов, и перед запуском скрипта ее нужно перенаправить на Bash.&lt;br /&gt;
&lt;br /&gt;
Вторая – и последняя – проблема состояла в скрытой зависимости от пакета '''libpcre3''', используемого при инсталляции SSL-сертификата для web-интерфейса. После установки пакета все остальное работало как полагается, и мы нашли программу в целом очень стабильной – что и требуется от подобного приложения.&lt;br /&gt;
&lt;br /&gt;
== Всего за два щелчка ==&lt;br /&gt;
Общаться с программой можно тремя способами. Можно использовать один из доброй дюжины инструментов командной строки и построить собственную стратегию резервирования, но в случае с ''SBAdmin ''это будет излишним. В отличие от аналогичных Linux-программ (''NetVault ''от ''BakBone'', или ''BrightStor ARCserve Backup''), Storix попыталась построить свое ПО с учетом навыков среднего Linux-пользователя. Это подразумевает простой графический пользовательский интерфейс, на наш взгляд – один из самых удобных (только вот шрифты пришлось увеличить).&lt;br /&gt;
&lt;br /&gt;
Основной процесс включает в себя создание задания на резервирование: определение источника и папки назначения, где вы собираетесь хранить результаты; назначение заданию автоматически генерируемого ID; назначение расписания. Можно выбирать из нескольких уровней сжатия, но даже при высшем уровне оказалось, что наши пользовательские данные утрамбовались лишь на 20% – bzip2 или gzip сработали бы лучше. Преимущество такого подхода – быстрота: наш домашний раздел объемом около 5 ГБ был упакован за несколько минут, а задания сохранены и готовы к перезапуску.&lt;br /&gt;
&lt;br /&gt;
После добавления задания в очередь оно появляется в главном окне состояния, и на этом все действительно заканчивается. Что особенно впечатляет – основной GUI был воссоздан на встроенном web-сервере, поэтому получить доступ к очереди заданий можно отовсюду с помощью браузера и сетевого подключения к серверу.&lt;br /&gt;
&lt;br /&gt;
За внешней простотой скрывается серьезная сила. В противоположность инструментам резервирования KDE и Gnome, ''SBAdmin ''богат функциями. Поражает способность упаковывать и восстанавливать не только папки и файлы в файловой системе, но и необработанные данные на дисках и разделах. Эта возможность пригодится при резервировании сервера, когда диски в случае катастрофы могут быть восстановлены в точности такими, какими они были, включая состояние ОС.&lt;br /&gt;
&lt;br /&gt;
Функция миграции устройств позволяет восстановить резервную копию даже на другом оборудовании.&lt;br /&gt;
&lt;br /&gt;
''SBAdmin ''неплохо смотрится на фоне других средств корпоративного уровня. Как и NetVault, ''SBAdmin ''поддерживает автоматизированные ленточные накопители, а также резервирование и восстановление по сети. Не стоит ставить ''SBAdmin ''в один ряд с программами уровня предприятия, но для средней офисной сети приложение более чем пригодно.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-08T17:35:32Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: /* Обзоры */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]] Клиент потокового вещания&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:Squeezebox_3</id>
		<title>LXF93:Squeezebox 3</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:Squeezebox_3"/>
				<updated>2008-03-08T17:33:23Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: = Squeezebox 3 = ''Проблема прослушивания музыки на PC всего одна – бежевый Linux-компьютер может не сочетаться ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Squeezebox 3 =&lt;br /&gt;
''Проблема прослушивания музыки на PC всего одна – бежевый Linux-компьютер может не сочетаться с вашими занавесками. Решение ищет '''Грэм Моррисон'''.''&lt;br /&gt;
&lt;br /&gt;
Реальный хакер может думать о Squeezebox как о тонком клиенте потокового вещания. Для остального человечества это сетевой музыкальный плейер, подключаемый к hi-fi аппаратуре и воспроизводящий музыку прямо с сервера. Первое поколение плейера увидело свет в 2001. В то время к сети он подключался по проводам, а внешностью напоминал переносную армейскую рацию.&lt;br /&gt;
&lt;br /&gt;
Сейчас перед вами третье поколение, и в нем внешний лоск сочетается с техническими новинками: беспроводным подключением 802.11g и завораживающим вакуумным флуоресцентным дисплеем 320x32. Оживив дисплей включением питания, оторваться от него уже невозможно.&lt;br /&gt;
&lt;br /&gt;
Но лучшая черта Squeezebox и причина его появления в нашем журнале – программная часть этого плейера работает под Linux. Она имеет открытый исходный код, часто обновляется и имеет больше функций, чем пикселей на дисплее. Ну, почти.&lt;br /&gt;
&lt;br /&gt;
== От Hi-Fi до Wi-Fi ==&lt;br /&gt;
ПО называется ''SlimServer ''и поставляется в виде RPM или Deb-пакетов. Новейшая версия – 6.5, седьмая проходит бета-тестирование. Единственная зависимость – Perl 5.8.3 или выше. Инсталлированный сервер доступен через web-интерфейс, подключенный к порту 9000. Первым делом нужно указать серверу, где находится музыкальная коллекция, с помощью панели управления основны-&lt;br /&gt;
&lt;br /&gt;
ми настройками (Basic Settings). ''SlimServer ''воспроизводит файлы MP3, Ogg Vorbis, Flac и WAV. Сканирование потребует некоторого времени, в зависимости от размеров коллекции: ''SlimServer ''будет составлять базу данных из всех тэгов, встроенных в музыкальные файлы, чтобы рассортировать коллекцию по исполнителям, альбомам и жанрам.&lt;br /&gt;
&lt;br /&gt;
Сила ''SlimServer ''в том, что его можно использовать без аппаратуры. Подключите любой браузер к ‘9000/stream.mp3’, и слушайте свою музыку, где угодно. Да, хакеры, он работает через SSH-туннель; есть и страница для узких каналов, используемая с PDA. Есть даже встраиваемый программный клиент под названием ''SoftSqueeze'', создающий иллюзию, что Squeezebox действительно стоит у вас на столе. Это практически идентичное воспроизводство, вплоть до пульта ДУ.&lt;br /&gt;
&lt;br /&gt;
== Музыка для вас ==&lt;br /&gt;
Настроив сервер, остается лишь сообщить устройству о том, где он находится – и готово. Чтобы все заработало, совсем не нужно быть экспертом. Можно подумать, что однолинейный интерфейс Squeezebox ограничен, но это не так. Следуйте иерархии меню, переходя между параметрами курсором вверх и вниз и выбирая параметр курсором вправо; а курсор влево осуществляет возврат на предыдущий пункт. В согласии с вашими действиями экран плавно прокручивается. Например, в главном меню можно выбрать критерии отбора файлов: по исполнителям, по альбомам, по годам и по папкам, в которых хранится музыка. В любое время можно нажать Play, и Squeezebox добавит все, что ниже курсора, к списку воспроизведения.&lt;br /&gt;
&lt;br /&gt;
Лучшее свойство навигации - отзывчивость: вспомните, как нудно просматривать коллекцию, например, на ноутбуке. Вот такие мелочи и определяют впечатление. Выключите устройство, затем нажмите Play – прибор включится и начнет воспроизведение немедленно. Предположительно, Squeezebox использует 64 MБ памяти для кэширования музыкальных данных. Можно слушать потоковое интернет-радио из тысяч источников, играть в ''Тетрис ''и читать новости с RSS. Но главное - музыка звучит фантастически.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:Scribus_1.3.3.8</id>
		<title>LXF93:Scribus 1.3.3.8</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:Scribus_1.3.3.8"/>
				<updated>2008-03-08T14:21:07Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: = Scribus 1.3.3.8 =  ''Scribus – лучшая издательская система для Linux, больше того: это единственная издательская си...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Scribus 1.3.3.8 =&lt;br /&gt;
&lt;br /&gt;
''Scribus – лучшая издательская система для Linux, больше того: это единственная издательская система для Linux. Но может ли она соперничать с великими? Разбирается '''Ник Вейч'''.''&lt;br /&gt;
&lt;br /&gt;
Мы описывали ''Scribus ''в разделе HotPicks LXF36. Тогда мы расценили его как интересный, амбициозный и многообещающий проект. Теперь смело скажем: мы не ошиблись. Казалось невероятным, что на DTP-Олимпе можно потеснить таких гигантов, как ''QuarkXPress ''и ''Adobe InDesign'', но после ряда версий функциональность ''Scribus ''настолько развилась, что программа стала реальной альтернативой для многих настольных издательских систем. ''Scribus'', инсталлированный нами, имеет расширенную поддержку графики, управление цветом, переработанный GUI, поддержку SVG, генератор штрих-кодов и многое другое. Поддержка PDF великолепна, с настройками 1.3/1.4/1.5, шифрованием и даже презентационными эффектами.&lt;br /&gt;
&lt;br /&gt;
Одно из главных достижений команды ''Scribus ''– одновременная разработка вариантов программы для трех ведущих настольных систем: Linux, Windows и Mac. Помимо возможности выбора платформы (ну, мы-то с вами знаем, какая лучше), такой метод разработки позволяет предоставить программу гораздо большему числу пользователей самых разных уровней подготовки, чем в случае с обычным приложением Linux. Система Mac была неотъемлемой частью процесса DTP с момента возникновения самой его идеи. Поколения искусных верстальщиков выросли, не зная ничего, кроме MacOS, поэтому развитие именно в этом направлении представляется наиболее важным.&lt;br /&gt;
&lt;br /&gt;
== Охота за ошибками ==&lt;br /&gt;
&lt;br /&gt;
Это не окончательная стабильная версия, и критиковать разработчиков было бы несправедливо. Да, здесь полно недоработок (которые непрестанно исправляются), но это скорее мелкие неприятности, чем крупные провалы. Например, откат действия Adjust Frame To Image (Подогнать рамку по рисунку) на самом деле не приводит к изменению размера рамки. Но нет сомнений, что все эти мелочи исправляются сразу после обнаружения.&lt;br /&gt;
&lt;br /&gt;
Более глубокую озабоченность вызывает пользовательский интерфейс. ''Scribus ''нуждается в тщательном эргономическом исследовании. Все основные функции DTP имеются, да только найти их не всегда легко. Возьмем, к примеру, текст. Настройка количества колонок в текстовом поле находится в разделе Shape (Форма) диалогового окна Properties (Свойства), а это для нее не самое очевидное место. В том же диалоговом окне можно настроить толщину и стиль контурной линии, но отображаться она не будет, так как цвет по умолчанию - белый, а цвета настраиваются в другой вкладке.&lt;br /&gt;
&lt;br /&gt;
''Scribus ''отнюдь не неудобен в работе, но чтобы завоевать признание придирчивых верстальщиков, необходимо глубоко и вдумчиво проработать интерфейс.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-08T13:48:20Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]] Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]] Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]]&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-08T13:47:55Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]]&lt;br /&gt;
Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]]&lt;br /&gt;
Дистрибутив Linux&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]]&lt;br /&gt;
Настольная издательская система&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]]&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:Ubuntu_7.04</id>
		<title>LXF93:Ubuntu 7.04</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:Ubuntu_7.04"/>
				<updated>2008-03-08T13:41:19Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ubuntu 7.04 =&lt;br /&gt;
''С детства горюя о Бемби, обретет ли '''Энди Хадсон''' силы в Feisty Fawn? Linux Format попросил его установить и тщательно рассмотреть бета-версию.''&lt;br /&gt;
&lt;br /&gt;
Мы всегда считали Ubuntu высококачественным дистрибутивом и недоумевали: ну что еще там можно улучшить? Будет ли новый продукт похож на прежние, или налицо идеология «совершенство – в переменах»? &lt;br /&gt;
&lt;br /&gt;
Фактически, «Feisty Fawn [Храбрый Олененок]» – шестая инкарнация ОС: Ubuntu вышел на Linux-сцену три с половиной года назад. С самого начала Ubuntu позиционировался как «Linux для людей» и получил мощнейшую поддержку сообщества. Мы в восхищении следили за взрослением дистрибутива, особенно в предвидении жесткой конкуренции со стороны Fedora 7 и OpenSUSE 10.3. К моменту написания статьи Ubuntu 7.04 beta только что вышел, и мы не без интереса загрузили ISO и тут же вставили свежезаписанный диск в наш тестовый компьютер.&lt;br /&gt;
&lt;br /&gt;
Разработчики Ubuntu подстегнули Linux-сообщество, решив выполнить свой единственный установочный диск в форме Live CD. Интересующиеся получили возможность загрузить и опробовать полноценный рабочий стол Ubuntu даже без инсталляции. Демонстрируя Ubuntu Live CD «не-Linux-пользователям» при всяком удобном случае, мы убедились, что такой подход действительно результативен, так как дает новичку возможность увидеть все собственными глазами. Версия 7.04 сохранила это качество.&lt;br /&gt;
 &lt;br /&gt;
Стоит отметить, что Feisty содержит проприетарные драйверы, помогающие шире раскрыть потенциал Ubuntu. В нашем случае Feisty корректно идентифицировал и настроил встроенную беспроводную карту (Intel IPW3945), а также определил беспроводную точку доступа. Об использовании закрытых драйверов уведомило полезное сообщение DBUS. Щелчок на значке открывает (новый для Ubuntu) Restricted Drivers Manager (Менеджер закрытых драйверов), предлагающий выбор между установкой и удалением драйверов.  Мы бы поклялись, что большинству Linux-новичков все равно, проприетарный драйвер или свободный, но, по крайней мере, Ubuntu дает возможность пользователю выбрать, а не оставляет один на один с извилистым процессом настройки.&lt;br /&gt;
 &lt;br /&gt;
Сохранил Feisty и возможность установки с Live CD, так что среду Live CD можно легко сменить на настоящую инсталляцию. Тот, кто пользовался Ubuntu и раньше, почувствует себя здесь, как дома. Приятное дополнение, которое мы не смогли протестировать ввиду отсутствия Windows-разделов – это мастер переноса пользовательских настроек, который якобы может перенести Windows-настройки в учетную запись Ubuntu. Это бонус для тех, кто решил перейти на Ubuntu, но не хотел бы терять персональные настройки Windows, например, избранные страницы Internet Explorer. Остальная часть Live-инсталляции осталась прежней, и мы установили систему на нашу тестовую машину – ноутбук Dell D620 с Core Duo (T2500, 2 ГГц), 1.25 ГГц ОЗУ и 40-ГБ жестким диском – меньше чем за 15 минут. &lt;br /&gt;
&lt;br /&gt;
== Энергично ==&lt;br /&gt;
&lt;br /&gt;
Запуская свежеустановленную систему, мы первым деломы отметили быстроту загрузки. Дистрибутив грузится за рекордное время, намного обгоняя преследователей. На нашем компьютере загрузка занимает в среднем 32 секунды от нажатия кнопки до входа в Gnome (да-да, вместе со входом!). Для пользователя настольного ПК это сущий подарок, так как большинство дистрибутивов Linux отстает более чем на минуту. &lt;br /&gt;
&lt;br /&gt;
Ускорение произошло, естественно, благодаря замене устаревшей sysvinit на upstart. Upstart загружает службы динамически, при необходимости, а не в порядке очереди. Хотя upstart продолжает развиваться, она уже сейчас заметно сократила время загрузки. Справедливости ради заметим, что используя Ubuntu в серверном режиме, вы не станете раздражаться из-за лишней пары минут на запуск! &lt;br /&gt;
&lt;br /&gt;
Внешние изменения заметны уже начиная со входного экрана GDM, перекрашенного в чуть более золотистый цвет, который сказался на всей главной теме Ubuntu. Слегка. Нравится оно вам или нет, но Ubuntu не собирается снимать коричневое, хотя тему и фон можно без труда сменить за полминуты. &lt;br /&gt;
&lt;br /&gt;
Не хватает, может быть, лишь одного – присутствия Compiz/Beryl, хотя взгляд в меню System &amp;gt; Preferences (Система &amp;gt; Параметры) обнаруживает наличие пункта Desktop Effects (Эффекты рабочего стола); нечто подобное применено в Fedora 6. (Кстати о меню Preferences: отметим, что в Ubuntu оно длинновато. Команда Fedora разбила его на логические группы, чтобы не метаться из конца в конец длинного списка). &lt;br /&gt;
&lt;br /&gt;
Вернемся к Compiz и Beryl. Ubuntu до сих пор не поддерживает их официально, хотя Compiz установлен по умолчанию. В почти полном противоречии со своим кодовым названием, Feisty Fawn излишне робок в случае с Compiz, настаивая на том, что это экспериментальная функция и поэтому доступна лишь в режиме технологического анонса. Это явный перепев Red Hat Enterprise Linux 5 (см. LXF92), странный для дистрибутива без LTS (Long Term Support, долговременная поддержка). Beryl задвинули еще дальше, так как он доступен лишь через репозиторий Universe и не поддерживается Ubuntu официально. Правда, для желающих установить Beryl репозиторий Universe всяко не хуже, чем раскопки в Сети.&lt;br /&gt;
&lt;br /&gt;
== Досадно ==&lt;br /&gt;
&lt;br /&gt;
Еще одна область исследования – Gnome 2.18 с полной свитой приложений. Ubuntu содержит OpenOffice.org 2.2, к моменту написания только что опубликованный, что дает дистрибутиву технологическое преимущество. Для фанатов виртуализации сообщаем, что Ubuntu не включает в официальный дистрибутив ни Xen, ни KVM, хотя и они доступны через репозиторий Universe. &lt;br /&gt;
Нас преследует ощущение некоторого разочарования в этой версии. Да, в Ubuntu многое усовершенствовано, включая CodecBuddy и настройку беспроводных подключений через менеджер сети NetworkManager, но мы все же ожидали более яркой версии между Dapper Drake и следующей LTS. Кажется, Ubuntu-сообщество решило на сей раз не рисковать, и это позор. Список новых функций совсем куцый и пропускает вперед другие дистрибутивы – хотя бы Fedora, семимильными шагами движущуюся к выпуску седьмой версии, намеченному на конец мая. Вероятно, Ubuntu нуждается в стабильности из-за возросшего числа дистрибутивов на его основе.&lt;br /&gt;
&lt;br /&gt;
Что бы ни было тому причиной, но Ubuntu теперь стоит на перепутье: мощный импульс первой волны версий (с 4.10 по 6.06) начал сходить на нет, и нужно снова как-то взбодрить этот процесс. В противном случае Ubuntu затрут новые многообещающие дистрибутивы. Куда же двигаться проекту? Одна из идей – дополнить или заменить несколько инструментов настройки Gnome, которым столь предан Ubuntu. Если разработчики действительно хотят сделать Linux удобнее, у них есть прекрасная возможность собрать комплект средств настройки «а-ля Fedora system-config-*» для базовой настройки системы пользователем. Поймите нас правильно: мы не сомневаемся, что 7.04 будет прекрасной версией. Просто нам кажется, что Ubuntu не захотел пойти на необходимый риск, понадеявшись на свой авторитет в сообществе.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:Puppy_Linux_2.16</id>
		<title>LXF93:Puppy Linux 2.16</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:Puppy_Linux_2.16"/>
				<updated>2008-03-08T13:39:57Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: = Puppy Linux 2.16 =  ''На фоне сотен дистрибутивов самого различного толка, цвета и вероисповедания почти нера...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Puppy Linux 2.16 =&lt;br /&gt;
&lt;br /&gt;
''На фоне сотен дистрибутивов самого различного толка, цвета и вероисповедания почти неразличим один маленький, уникальный проект, не претендующий на мировое господство, но уверенными шажками идущий к какой-то своей цели. Однако '''Сергей Супрунов''' заметил его и засунул под микроскоп, чтобы рассмотреть получше... ''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Еще одним дистрибутивом Linux сегодня вряд ли кого-то удивишь. В мире Open Source эта безграничная свобода, которую сообщество само же себе и обеспечивает, воспринимается как само собой разумеющееся. Поэтому выбирать всегда есть из чего – от миниатюрных систем, загружающихся с одной-единственной дискетки и при этом способных делать что-то полезное, до дедушки Debian, не вмещающегося и на 20 CD; от предельно дружественных Ubuntu и Mandriva до требующих определенных базовых знаний Gentoo и LFS; от следующего за всеми последними новинками Sabayon до консервативного ''Slackware''...&lt;br /&gt;
&lt;br /&gt;
Однако всегда находятся люди, которым недостаточно взять что-то готовое и просто пользоваться этим. И тогда они изобретают очередной велосипед. Но кто знает, может быть именно этот велосипед идеально подойдет кому-то еще? Так что попытаемся найти какие-нибудь «изюминки» в этом «еще одном дистрибутиве Linux».&lt;br /&gt;
&lt;br /&gt;
== '''Первое знакомство''' ==&lt;br /&gt;
Уже в меню ''Isolinux'' можно заметить пару нестандартных вещей (наберите какую-нибудь букву, чтобы остановить обратный отсчет автоматической загрузки и внимательно все рассмотреть). Например, указав в строке загрузчика puppy pfix=ram, можно загрузиться в режим, когда система будет полностью размещена в оперативной памяти. Это не только освободит привод для чего-нибудь более полезного, но и обеспечит потрясающую скорость работы. Тем более что небольшой размер дистрибутива практически не создаст неудобств обладателям более-менее современных компьютеров.&lt;br /&gt;
&lt;br /&gt;
Еще один сюрприз будет поджидать вас после загрузки ядра: вам предложат выбрать графический сервер – ''Xorg'' или ''Xvesa''. С первым все понятно, он уже давно стал фактическим стандартом любого Linux-дистрибутива с графическим окружением. А вот уже экзотический Vesa-сервер может оказаться полезным там, где ресурсы компьютера не позволяют полноценно использовать «тяжеловеса» ''Xorg''.&lt;br /&gt;
&lt;br /&gt;
Нужно отметить и один неприятный момент – при выборе ''Xorg''-сервера Puppy далеко не всегда справляется с автоматическим определением оптимального режима, и приходится выбирать желаемое разрешение и глубину цвета вручную (что, впрочем, не слишком обременительно, если знать параметры своего оборудования).&lt;br /&gt;
&lt;br /&gt;
Среда JWM (Joe’s Window Manager) загружается довольно быстро – на машине AMD64 3000+ уже через 15 секунд система встретит вас приветственным лаем, оповещающим, что звуковая карта определилась и готова к работе. Трехмерные «стеклянные» элементы управления выглядят несколько не к месту среди архаичного ''GTK''-интерфейса, хотя и несколько разнообразят окружающую «серость». Впрочем, достаточно выбрать в JWM Configuration Manager тему Puppy-XP, и все становится совсем замечательно.&lt;br /&gt;
&lt;br /&gt;
Почему-то в дистрибутивах, предлагающих в качестве рабочего окружения ту или иную «легковесную» оболочку, обычно сразу настраиваешься на большой объем ручной работы – кажется, что подобные проекты делаются исключительно хакерами для хакеров. Но в ''Puppy Linux'' все ориентировано на вполне обычного пользователя – целая россыпь различных «мастеров» помогает настроить мышкой почти все, что нужно для повседневной работы: раскладки клавиатуры, внешний вид рабочего стола, звук, принтеры, сетевые подключения, даже брандмауэр. Правда, нужно заметить, что некоторые «мастера» работают в текстовом терминале, предоставляя пользователю псевдографический интерфейс. Впрочем, это нисколько не мешает решению основной задачи. Столь же легко система позволяет работать и с пакетами дополнительного ПО.&lt;br /&gt;
&lt;br /&gt;
== '''Искусство упаковки''' ==&lt;br /&gt;
В Puppy реализован подход к управлению пакетами, во многом напоминающий PBI, используемый в PCBSD – вы выбираете в менеджере пакетов нужные, щелкаете по кнопке OKAY, указываете, откуда брать '''pet'''-файлы (к вашим услугам несколько ftp-серверов, а также возможность использовать локальное хранилище), при необходимости ждете несколько секунд/минут, пока завершится загрузка выбранных пакетов, еще несколько секунд на инсталляцию – и все готово. Никаких сборок, зависимостей и т.д. Возможно, не столь гибко, как хотелось бы опытным пользователям, зато быстро и без лишних вопросов.&lt;br /&gt;
&lt;br /&gt;
В более ранних версиях использовались '''pup'''-пакеты (менеджер DotPup), и кое-где в инструментарии и документации вы можете встретить упоминание о них. Однако на ftp-сервере их не осталось, и к использованию они не рекомендуются.&lt;br /&gt;
&lt;br /&gt;
Но и это еще не все – вы можете использовать '''sfs'''-образы (SquashFS) для расширения возможностей дистрибутива. Например, таким способом устанавливается ''OpenOffice.org'' – просто поместите '''sfs'''-файл в каталог '''/mnt/home''', отметьте его в BootManager (пункт меню System), и при следующей загрузке вы обнаружите соответствующий пакет готовым к работе.&lt;br /&gt;
&lt;br /&gt;
== '''Ничто не забыто''' ==&lt;br /&gt;
Ну вот – потрачено несколько драгоценных минут на то, чтобы привести систему в соответствие со своими потребностями и пожеланиями. А теперь вспомним, что мы работаем в режиме LiveCD... Неужели при следующей загрузке все придется начинать заново?&lt;br /&gt;
&lt;br /&gt;
Разработчики ''Puppy Linux'' приготовили целых три пути для решения этой проблемы. Это, во-первых, традиционное сохранение файла настроек на диск, «флешку», CD-R, в общем, где найдете место. При желании сохраняемую информацию можно зашифровать. Впрочем, это умеют почти все LiveCD, и ничего удивительного здесь нет. Но ''Puppy Linux'' не может не удивлять, и этот случай – не исключение. Поэтому...&lt;br /&gt;
&lt;br /&gt;
Во-вторых, вы можете сохранить свои настройки прямо на тот же диск, с которого работаете! Да-да, ISO-образ Puppy записывается в режиме multisession, так что вы можете просто дописывать все, что нужно, ему в «хвост» – действительно, не пропадать же целым 500 МБ дискового пространства? Понятно, что для этого вам нужен пишущий CD-привод. При следующей загрузке вы сможете дополнительно указать, сколько сессий следует пропустить перед поиском сохраненных файлов.&lt;br /&gt;
&lt;br /&gt;
Но есть еще и «в-третьих»! Выбрав пункт Remaster CD в разделе Setup, вы сможете переписать образ дистрибутива, по новой сохранив его со всеми вашими настройками, установленными дополнительно программами и т.д. То есть вы, фактически, получаете возможность создать свой собственный дистрибутив, совершенно не задумываясь о таких вещах, как базовая система, загрузчики, файлы initrd и прочее. Просто настройте систему, как хочется, и запишите результат на CD/DVD-диск или в ISO-образ.&lt;br /&gt;
&lt;br /&gt;
== '''Мирное сосуществование''' ==&lt;br /&gt;
Кстати, если вы решите обеспечить для ''Puppy Linux'' постоянную прописку на своем винчестере, то и это делается элементарно – запустите Puppy universal installer из подменю Setup и следуйте несложной процедуре. Проницательный читатель уже, наверное, догадывается, что и здесь где-то должен быть сюрприз. И он действительно есть – помимо традиционной установки на отдельный раздел (в инсталляторе этот режим называется NORMAL), можно выбрать режим COEXIST, в котором ''Puppy Linux'' будет установлен на раздел с существующей ОС (причем это может быть даже Windows XP на разделе NTFS; правда, придется с загрузчиком слегка повозиться), оставив последнюю в целости и сохранности. Puppy просто размещает на указанном разделе нужные для работы файлы-образы, которые размещаются в памяти при загрузке системы, подобно тому, как это происходит при работе с CD-диска.&lt;br /&gt;
&lt;br /&gt;
Итак, ''Puppy Linux'' оказался вполне пригодным для повседневной работы. Множество интересных решений не только упрощает такие задачи как установка различных программ и работа с LiveCD с сохранением текущих настроек и наработок при переходе от одной машины к другой. Они также дают уйму идей, которые, возможно, кто-то возьмет на вооружение в своих проектах.&lt;br /&gt;
&lt;br /&gt;
Прибавьте к этому легковесность, молниеносную загрузку, отсутствие лишнего и наличие нужного... В общем, если иногда возникает желание быстро заглянуть в Интернет, что-то подредактировать или проверить электронную почту, не дожидаясь, пока загрузится «основной» дистрибутив, то установка ''Puppy Linux'' в режиме COEXIST - почти идеальное решение.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93:Ubuntu_7.04</id>
		<title>LXF93:Ubuntu 7.04</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93:Ubuntu_7.04"/>
				<updated>2008-03-08T13:05:30Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: == Ubuntu 7.04 == ''С детства горюя о Бемби, обретет ли '''Энди Хадсон''' силы в Feisty Fawn? Linux Format попросил его устано...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ubuntu 7.04 ==&lt;br /&gt;
''С детства горюя о Бемби, обретет ли '''Энди Хадсон''' силы в Feisty Fawn? Linux Format попросил его установить и тщательно рассмотреть бета-версию.''&lt;br /&gt;
&lt;br /&gt;
Мы всегда считали Ubuntu высококачественным дистрибутивом и недоумевали: ну что еще там можно улучшить? Будет ли новый продукт похож на прежние, или налицо идеология «совершенство – в переменах»? &lt;br /&gt;
&lt;br /&gt;
Фактически, «Feisty Fawn [Храбрый Олененок]» – шестая инкарнация ОС: Ubuntu вышел на Linux-сцену три с половиной года назад. С самого начала Ubuntu позиционировался как «Linux для людей» и получил мощнейшую поддержку сообщества. Мы в восхищении следили за взрослением дистрибутива, особенно в предвидении жесткой конкуренции со стороны Fedora 7 и OpenSUSE 10.3. К моменту написания статьи Ubuntu 7.04 beta только что вышел, и мы не без интереса загрузили ISO и тут же вставили свежезаписанный диск в наш тестовый компьютер.&lt;br /&gt;
&lt;br /&gt;
Разработчики Ubuntu подстегнули Linux-сообщество, решив выполнить свой единственный установочный диск в форме Live CD. Интересующиеся получили возможность загрузить и опробовать полноценный рабочий стол Ubuntu даже без инсталляции. Демонстрируя Ubuntu Live CD «не-Linux-пользователям» при всяком удобном случае, мы убедились, что такой подход действительно результативен, так как дает новичку возможность увидеть все собственными глазами. Версия 7.04 сохранила это качество.&lt;br /&gt;
 &lt;br /&gt;
Стоит отметить, что Feisty содержит проприетарные драйверы, помогающие шире раскрыть потенциал Ubuntu. В нашем случае Feisty корректно идентифицировал и настроил встроенную беспроводную карту (Intel IPW3945), а также определил беспроводную точку доступа. Об использовании закрытых драйверов уведомило полезное сообщение DBUS. Щелчок на значке открывает (новый для Ubuntu) Restricted Drivers Manager (Менеджер закрытых драйверов), предлагающий выбор между установкой и удалением драйверов.  Мы бы поклялись, что большинству Linux-новичков все равно, проприетарный драйвер или свободный, но, по крайней мере, Ubuntu дает возможность пользователю выбрать, а не оставляет один на один с извилистым процессом настройки.&lt;br /&gt;
 &lt;br /&gt;
Сохранил Feisty и возможность установки с Live CD, так что среду Live CD можно легко сменить на настоящую инсталляцию. Тот, кто пользовался Ubuntu и раньше, почувствует себя здесь, как дома. Приятное дополнение, которое мы не смогли протестировать ввиду отсутствия Windows-разделов – это мастер переноса пользовательских настроек, который якобы может перенести Windows-настройки в учетную запись Ubuntu. Это бонус для тех, кто решил перейти на Ubuntu, но не хотел бы терять персональные настройки Windows, например, избранные страницы Internet Explorer. Остальная часть Live-инсталляции осталась прежней, и мы установили систему на нашу тестовую машину – ноутбук Dell D620 с Core Duo (T2500, 2 ГГц), 1.25 ГГц ОЗУ и 40-ГБ жестким диском – меньше чем за 15 минут. &lt;br /&gt;
&lt;br /&gt;
=== Энергично ===&lt;br /&gt;
&lt;br /&gt;
Запуская свежеустановленную систему, мы первым деломы отметили быстроту загрузки. Дистрибутив грузится за рекордное время, намного обгоняя преследователей. На нашем компьютере загрузка занимает в среднем 32 секунды от нажатия кнопки до входа в Gnome (да-да, вместе со входом!). Для пользователя настольного ПК это сущий подарок, так как большинство дистрибутивов Linux отстает более чем на минуту. &lt;br /&gt;
&lt;br /&gt;
Ускорение произошло, естественно, благодаря замене устаревшей sysvinit на upstart. Upstart загружает службы динамически, при необходимости, а не в порядке очереди. Хотя upstart продолжает развиваться, она уже сейчас заметно сократила время загрузки. Справедливости ради заметим, что используя Ubuntu в серверном режиме, вы не станете раздражаться из-за лишней пары минут на запуск! &lt;br /&gt;
&lt;br /&gt;
Внешние изменения заметны уже начиная со входного экрана GDM, перекрашенного в чуть более золотистый цвет, который сказался на всей главной теме Ubuntu. Слегка. Нравится оно вам или нет, но Ubuntu не собирается снимать коричневое, хотя тему и фон можно без труда сменить за полминуты. &lt;br /&gt;
&lt;br /&gt;
Не хватает, может быть, лишь одного – присутствия Compiz/Beryl, хотя взгляд в меню System &amp;gt; Preferences (Система &amp;gt; Параметры) обнаруживает наличие пункта Desktop Effects (Эффекты рабочего стола); нечто подобное применено в Fedora 6. (Кстати о меню Preferences: отметим, что в Ubuntu оно длинновато. Команда Fedora разбила его на логические группы, чтобы не метаться из конца в конец длинного списка). &lt;br /&gt;
&lt;br /&gt;
Вернемся к Compiz и Beryl. Ubuntu до сих пор не поддерживает их официально, хотя Compiz установлен по умолчанию. В почти полном противоречии со своим кодовым названием, Feisty Fawn излишне робок в случае с Compiz, настаивая на том, что это экспериментальная функция и поэтому доступна лишь в режиме технологического анонса. Это явный перепев Red Hat Enterprise Linux 5 (см. LXF92), странный для дистрибутива без LTS (Long Term Support, долговременная поддержка). Beryl задвинули еще дальше, так как он доступен лишь через репозиторий Universe и не поддерживается Ubuntu официально. Правда, для желающих установить Beryl репозиторий Universe всяко не хуже, чем раскопки в Сети.&lt;br /&gt;
&lt;br /&gt;
=== Досадно ===&lt;br /&gt;
&lt;br /&gt;
Еще одна область исследования – Gnome 2.18 с полной свитой приложений. Ubuntu содержит OpenOffice.org 2.2, к моменту написания только что опубликованный, что дает дистрибутиву технологическое преимущество. Для фанатов виртуализации сообщаем, что Ubuntu не включает в официальный дистрибутив ни Xen, ни KVM, хотя и они доступны через репозиторий Universe. &lt;br /&gt;
Нас преследует ощущение некоторого разочарования в этой версии. Да, в Ubuntu многое усовершенствовано, включая CodecBuddy и настройку беспроводных подключений через менеджер сети NetworkManager, но мы все же ожидали более яркой версии между Dapper Drake и следующей LTS. Кажется, Ubuntu-сообщество решило на сей раз не рисковать, и это позор. Список новых функций совсем куцый и пропускает вперед другие дистрибутивы – хотя бы Fedora, семимильными шагами движущуюся к выпуску седьмой версии, намеченному на конец мая. Вероятно, Ubuntu нуждается в стабильности из-за возросшего числа дистрибутивов на его основе.&lt;br /&gt;
&lt;br /&gt;
Что бы ни было тому причиной, но Ubuntu теперь стоит на перепутье: мощный импульс первой волны версий (с 4.10 по 6.06) начал сходить на нет, и нужно снова как-то взбодрить этот процесс. В противном случае Ubuntu затрут новые многообещающие дистрибутивы. Куда же двигаться проекту? Одна из идей – дополнить или заменить несколько инструментов настройки Gnome, которым столь предан Ubuntu. Если разработчики действительно хотят сделать Linux удобнее, у них есть прекрасная возможность собрать комплект средств настройки «а-ля Fedora system-config-*» для базовой настройки системы пользователем. Поймите нас правильно: мы не сомневаемся, что 7.04 будет прекрасной версией. Просто нам кажется, что Ubuntu не захотел пойти на необходимый риск, понадеявшись на свой авторитет в сообществе.&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-08T11:19:53Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]]&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]]&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]]&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]]&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[LXF93:Сравнение|Сравнение: Командные оболочки]]&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-08T11:16:09Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]]&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]]&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]]&lt;br /&gt;
* [[LXF93:Squeezebox 3|Squeezebox 3]]&lt;br /&gt;
* [[LXF93:Storix SBAdmin 6.1|Storix SBAdmin 6.1]]&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF93</id>
		<title>LXF93</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF93"/>
				<updated>2008-03-08T11:11:53Z</updated>
		
		<summary type="html">&lt;p&gt;Makoron: Новая: ==Linux Format 93, Июнь 2007==  === Обзоры === * Ubuntu 7.04 * Puppy Linux 2.16 * Scribus 1.3.3.8&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Linux Format 93, Июнь 2007==&lt;br /&gt;
&lt;br /&gt;
=== Обзоры ===&lt;br /&gt;
* [[LXF93:Ubuntu 7.04|Ubuntu 7.04]]&lt;br /&gt;
* [[LXF93:Puppy Linux 2.16|Puppy Linux 2.16]]&lt;br /&gt;
* [[LXF93:Scribus 1.3.3.8|Scribus 1.3.3.8]]&lt;/div&gt;</summary>
		<author><name>Makoron</name></author>	</entry>

	</feed>