<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Insight IT</title><link>https://www.insight-it.ru/</link><description></description><atom:link href="https://www.insight-it.ru/tag/gentoo-linux/feed/index.xml" rel="self"></atom:link><lastBuildDate>Tue, 26 Feb 2008 00:15:00 +0300</lastBuildDate><item><title>Hadoop для разработчика</title><link>https://www.insight-it.ru//storage/2008/hadoop-dlya-razrabotchika/</link><description>&lt;p&gt;Для разработки приложений, работающих с использованием Hadoop, или же
алгоритмов для MapReduce framework'а совсем не нужен полномасштабный
кластер. На самом же деле для запуска всей системы, описанной мной в
&lt;a href="https://www.insight-it.ru/storage/2008/hadoop/"&gt;одном из предыдущих постов&lt;/a&gt;, вполне
достаточно одного компьютера и буквально минут 15 свободного времени,
как потратить их для решения этой задачи я Вам и поведаю.
&lt;!--more--&gt;
Рассказывать я буду на примере своего &lt;a href="/tag/gentoo-linux/"&gt;Gentoo
Linux&lt;/a&gt;, но большая часть этого повествования будет
справедлива и для других unix-like операционных систем.&lt;/p&gt;
&lt;h3 id="podgotovka"&gt;Подготовка&lt;/h3&gt;
&lt;p&gt;Перед тем, как приступить собственно говоря к установке
&lt;a href="https://www.insight-it.ru/goto/30a7481/" rel="nofollow" target="_blank" title="http://hadoop.apache.org/core/"&gt;Hadoop&lt;/a&gt;, необходимо выполнить два
элементарных действия, необходимых для правильного функционирования
системы:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;открыть доступ одному из пользователей по &lt;code&gt;ssh&lt;/code&gt; к этому же
    компьютеру без пароля, можно например создать отдельного
    пользователя для этого &lt;code&gt;hadoop&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$$&lt;/span&gt; useradd -m -n hadoop
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Далее действия выполняем от его имени:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$$&lt;/span&gt; su hadoop
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Генерируем RSA-ключ для обеспечения аутентификации в условиях
отсутствия возможности использовать пароль:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$$&lt;/span&gt; hadoop@localhost ~ &lt;span class="nv"&gt;$ &lt;/span&gt;ssh-keygen -t rsa -P &lt;span class="s2"&gt;""&lt;/span&gt;
Generating public/private rsa key pair.
Enter file in which to save the key &lt;span class="o"&gt;(&lt;/span&gt;/home/hadoop/.ssh/id_rsa&lt;span class="o"&gt;)&lt;/span&gt;:
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
7b:5c:cf:79:6b:93:d6:d6:8d:41:e3:a6:9d:04:f9:85 hadoop@localhost
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;И добавляем его в список авторизованных ключей:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$$&lt;/span&gt; cat ~/.ssh/id_rsa.pub &amp;gt;&amp;gt; ~/.ssh/authorized_keys
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Этого должно быть более чем достаточно, проверить работоспособность
соединения можно просто написав:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$$&lt;/span&gt; ssh localhost
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Не забываем предварительно инициализировать &lt;strong&gt;sshd&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$$&lt;/span&gt; /etc/init.d/sshd start
&lt;/pre&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Помимо этого необходимо убедиться в наличии установленной JVM версии
    1.5.0 или выше, а также узнать директорию, где она располагается,
    вариантов сделать это множество, я нашел ее просто заглянув в самое
    логичное место - &lt;code&gt;/usr/lib&lt;/code&gt;, но при желании никто не может Вам
    помешать воспользоваться услугами, например, &lt;code&gt;slocate&lt;/code&gt;. Найденную
    директорию с JVM лучше запомнить или записать куда-нибудь, для меня
    она оказалась: &lt;code&gt;/usr/lib/jvm/sun-jdk-1.6&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ustanovka"&gt;Установка&lt;/h3&gt;
&lt;p&gt;Установка начинается с получения копии исходного кода системы, способов
для этого существует несколько. Я перепробовал практически все, самую
адекватную версию мне удалось получить из SVN. Для ее получения
необходимо выполнить следующую команду:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;svn checkout http://svn.apache.org/repos/asf/hadoop/core/branches/branch-0.16 ~
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;branch-0.16&lt;/strong&gt; - последняя доступная версия на данный момент, для
определения ее номера достаточно заглянуть &lt;a href="https://www.insight-it.ru/goto/99e3d37e/" rel="nofollow" target="_blank" title="http://svn.apache.org/repos/asf/hadoop/core/branches/"&gt;по тому же адресу&lt;/a&gt;
браузером. Предполагается, что Hadoop будет располагаться прямо в
&lt;code&gt;/home/hadoop&lt;/code&gt;, но запросто можно использовать и другую директорию.&lt;/p&gt;
&lt;p&gt;Сразу же стоит скомпилировать различные дополнительные компоненты
системы, особенно это актуально из-за &lt;a href="/tag/hbase/"&gt;HBase&lt;/a&gt;, но и помимо
него соберется много чего интересного, например plug-in для отличной IDE
под названием &lt;strong&gt;&lt;a href="https://www.insight-it.ru/goto/b7976bc5/" rel="nofollow" target="_blank" title="http://www.eclipse.org"&gt;Eclipse&lt;/a&gt;&lt;/strong&gt; или &lt;a href="https://www.insight-it.ru/goto/9253da15/" rel="nofollow" target="_blank" title="http://hadoop.apache.org/core/docs/r0.16.0/hod.html"&gt;Hadoop On
Demand&lt;/a&gt;. Задача
также элементарна:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~ &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; ant clean jar compile-contrib
&lt;/pre&gt;&lt;/div&gt;
&lt;h3 id="nastroika"&gt;Настройка&lt;/h3&gt;
&lt;p&gt;Конфигурационные файлы можно редактировать в произвольном порядке, самое
главное ничего не забыть :)&lt;/p&gt;
&lt;h4&gt;conf/hadoop-env.sh&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;JAVA_HOME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/lib/jvm/sun-jdk-1.6
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Единственная обязательная переменная окружения - &lt;code&gt;JAVA_HOME&lt;/code&gt;,
здесь как раз пригодится заранее найденный путь до JVM, все
остальное - по желанию.&lt;/p&gt;
&lt;h4&gt;conf/hadoop-site.xml&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;property&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;hadoop.tmp.dir&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;/home/hadoop/data/${user.name}&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;A base for other temporary directories.&lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;property&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;fs.default.name&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;hdfs://localhost:54310&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;The name of the default file system.  A URI whose
  scheme and authority determine the FileSystem implementation.  The
  uri's scheme determines the config property (fs.SCHEME.impl) naming
  the FileSystem implementation class.  The uri's authority is used to
  determine the host, port, etc. for a filesystem.&lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;property&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;mapred.job.tracker&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;localhost:54311&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;The host and port that the MapReduce job tracker runs
  at.  If "local", then jobs are run in-process as a single map
  and reduce task.
  &lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;property&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;dfs.replication&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;1&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;Default block replication.
  The actual number of replications can be specified when the file is created.
  The default is used if replication is not specified in create time.
  &lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Этот конфигурации файл является одним из ключевых, таким образом он
выглядит для конфигурации, состоящей из одного компьютера
(позаимствован из &lt;a href="https://www.insight-it.ru/goto/f1c9004a/" rel="nofollow" target="_blank" title="http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/"&gt;англоязычного мануала&lt;/a&gt;
на ту же тему).&lt;/p&gt;
&lt;h4&gt;src/contrib/hbase/conf/hbase-site.xml&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nt"&gt;&amp;lt;property&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;hbase.master&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;localhost:60000&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;The host and port that the HBase master runs at&lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;property&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;hbase.rootdir&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;/hbase&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;location of HBase instance in dfs&lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Как не сложно заметить, этот файл необходим для функционирования
&lt;strong&gt;HBase&lt;/strong&gt;, по-моему все просто и очевидно, &lt;code&gt;&amp;lt;description&amp;gt;&lt;/code&gt; говорят
сами за себя.&lt;/p&gt;
&lt;h3 id="zapusk"&gt;Запуск&lt;/h3&gt;
&lt;p&gt;Начать стоит с ознакомления с кратким описанием доступных команд Hadoop,
сделать это можно просто набрав &lt;code&gt;~/bin/hadoop&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;Usage: hadoop &lt;span class="o"&gt;[&lt;/span&gt;--config confdir&lt;span class="o"&gt;]&lt;/span&gt; COMMAND
where COMMAND is one of:
  namenode -format     format the DFS filesystem
  secondarynamenode    run the DFS secondary namenode
  namenode             run the DFS namenode
  datanode             run a DFS datanode
  dfsadmin             run a DFS admin client
  fsck                 run a DFS filesystem checking utility
  fs                   run a generic filesystem user client
  balancer             run a cluster balancing utility
  jobtracker           run the MapReduce job Tracker node
  pipes                run a Pipes job
  tasktracker          run a MapReduce task Tracker node
  job                  manipulate MapReduce &lt;span class="nb"&gt;jobs&lt;/span&gt;
&lt;span class="nb"&gt;  &lt;/span&gt;version              print the version
  jar             run a jar file
  distcp   copy file or directories recursively
  daemonlog            get/set the log level &lt;span class="k"&gt;for&lt;/span&gt; each daemon
 or
  CLASSNAME            run the class named CLASSNAME
Most commands print &lt;span class="nb"&gt;help &lt;/span&gt;when invoked w/o parameters.
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Первым делом необходимо отформатировать &lt;em&gt;Namenode&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;~/bin/hadoop namenode -format
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;И дело останется лишь за малым, запустить на выполнение пару
bash-скриптов, которые без вашего дальнейшего участия &lt;em&gt;инициализируют&lt;/em&gt;
всю систему, включая HBase:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;~/bin/hadoop/start-all.sh &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; ~/src/contrib/hbase/bin/start-hbase.sh
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Как только они закончат все необходимые действия, у Вас появится
возможность удостовериться, что все в порядке. Самым простым способом
является запуск клиента &lt;em&gt;Hbase Shell&lt;/em&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;~/bin/src/contrib/hbase/bin/hbase shell
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Если в ответ Вы получили соответствующее приглашение клиента, значит все
было сделано верно!&lt;/p&gt;
&lt;p&gt;Вот собственно говоря и все, псевдо-кластер функционирует, доступ к
HBase имеется, можно приступать к разработке :)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;P.S.:&lt;/strong&gt; Остановка системы производится по тому же принципу скриптами
&lt;code&gt;stop-all.sh&lt;/code&gt; и &lt;code&gt;stop-hbase.sh&lt;/code&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Иван Блинков</dc:creator><pubDate>Tue, 26 Feb 2008 00:15:00 +0300</pubDate><guid>tag:www.insight-it.ru,2008-02-26:storage/2008/hadoop-dlya-razrabotchika/</guid><category>gentoo linux</category><category>Hadoop</category><category>HBase</category><category>HDFS</category><category>MapReduce</category><category>ПО</category><category>развертывание</category><category>разработка</category><category>установка</category></item><item><title>Gentoo Linux + Sony Vaio = ♥</title><link>https://www.insight-it.ru//linux/2008/gentoo-linux-sony-vaio/</link><description>&lt;blockquote&gt;
&lt;p&gt;Gentoo is all about choices&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="Gentoo Linux" class="left" src="https://www.insight-it.ru/images/gentoo.png" title="Gentoo Linux"/&gt;&lt;/p&gt;
&lt;p&gt;Абсолютно не важно, держите ли Вы в руках блестящую болванку с надписью
&lt;em&gt;"Прощай, предустановленная Vista!"&lt;/em&gt; или только подумываете о том, чтобы
избавить свой ноутбук от тяжести этой ноши. Прочитав это повествование,
Вы сможете представить себе процесс установки альтернативной
операционной системы на ноутбук на примере &lt;em&gt;&lt;a href="/tag/gentoo/"&gt;Gentoo&lt;/a&gt;
&lt;a href="/tag/linux/"&gt;Linux&lt;/a&gt;&lt;/em&gt; и &lt;em&gt;&lt;a href="/tag/sony-vaio/"&gt;Sony Vaio&lt;/a&gt;&lt;/em&gt;. Я постараюсь
освятить все особенности этого процесса, а также по возможности дать
советы по избежанию потенциальных проблем. Не надейтесь найти здесь
пересказ &lt;a href="https://www.insight-it.ru/goto/760b4056/" rel="nofollow" target="_blank" title="Gentoo Hanbook"&gt;Gentoo
Handook&lt;/a&gt;,
ее стоит прочитать в любом случае, если Вы на самом деле задумали
установить эту очень серьезную &lt;a href="/tag/os/"&gt;операционную систему&lt;/a&gt;.&lt;/p&gt;
&lt;!--more--&gt;
&lt;p&gt;Сам я занимался этим делом уже более полугода назад на ноутбуке &lt;strong&gt;Sony
Vaio VGN-FE41ZR&lt;/strong&gt;, не знаю почему мой выбор в свое время пал именно на
эту модель, были доступны и более производительные и "навороченные" -
видимо приглянулась она мне чем-то. Далее речь пойдет именно об этой
модели ноутбука, но думаю большая часть написанного далее будет
справедлива и для других моделей линейки &lt;a href="/tag/sony-vaio/"&gt;Sony Vaio&lt;/a&gt;.
Поначалу процесс установки и настройки был очень непрост, ведь часто
приходилось пользоваться методом "проб и ошибок", да и достойную
документацию найти удавалось далеко не по каждому вопросу. Все про все
заняло далеко не один мой летний вечер, терпения потребовалось изрядное
количество, но полученный в итоге результат до сих пор не дает повода
пожалеть о потраченном свободном времени.&lt;/p&gt;
&lt;p&gt;Как я уже успел намекнуть во вступлении, начинается все с болванки на
которую записан &lt;a href="https://www.insight-it.ru/goto/3438dd73/" rel="nofollow" target="_blank" title="http://www.gentoo.org/main/ru/where.xml"&gt;тот самый волшебный
образ&lt;/a&gt;. Никто не мешает выбрать
любой из доступных вариантов, но предположим, что выбор пал на
&lt;a href="/tag/gentoo/"&gt;Gentoo&lt;/a&gt; &lt;a href="/tag/linux/"&gt;Linux&lt;/a&gt; LiveCD 2007.0. Загрузка
ноутбука с этого диска проходит плавно и непринужденно, ровно как и сама
работа с уже загруженным LiveCD как в консоли, так и в используемом там
рабочем окружении - &lt;em&gt;Gnome&lt;/em&gt;. Следуя инструкциям из &lt;em&gt;настольной книги&lt;/em&gt;
начать установку операционной системы очень нетрудно, но если честно у
меня прочитав пару раз этот немаленьких размеров текст возникла мысль
попытаться сэкономить некоторое количество времени, воспользовавшись
услугами двух предложенных автоматических инсталляторов - с графическим
и консольным пользовательским интерфейсом - не повторяйте этой ошибки,
так как качество реализации обоих вариантов на данный момент оставляет
желать лучшего, заставить успешно установить систему один из них может
занять ничуть не меньше времени, чем ручная установка. Лично мне
приручить ни один из автоматических инсталлятора так и не удалось, но
как ни странно тоже не пришлось жалеть об этом факте - как оказалось
ручная установка очень качественно позволяет разобраться в структуре
&lt;a href="/tag/os/"&gt;операционной системы&lt;/a&gt; вцелом, ровно как и в принципе работы
отдельных ее компонентов.&lt;/p&gt;
&lt;p&gt;Следовать инструкциям из &lt;em&gt;Книги&lt;/em&gt; я думаю у всех должно неплохо
получаться, единственное что могу порекомендовать: делайте это
неторопясь, стараясь как можно подробнее осознавать что, как и зачем Вы
делаете. Здесь же я хочу останавливаться лишь на специфических моментах
для этой модели ноутбуков.&lt;/p&gt;
&lt;h3 id="iadro"&gt;Ядро&lt;/h3&gt;
&lt;p&gt;Как известно, для &lt;a href="/tag/gentoo/"&gt;Gentoo&lt;/a&gt; доступно несколько вариантов
ядер, в процессе установки мой выбор пал на &lt;strong&gt;suspend2-sources&lt;/strong&gt;, но со
временем полностью перебрался на &lt;strong&gt;gentoo-sources&lt;/strong&gt;, так как я понял,
что сами suspend-to-ram и suspend-to-hdd мне абсолютно не нужны, но
suspend2 слегка отстают от gentoo по версиям. Тем более, насколько я
знаю, в современных версиях основной ветки ядра suspend тоже
поддерживается на достойном уровне (но так как мне он не нужен -
пробовать на собственном опыте не доводилось).&lt;/p&gt;
&lt;p&gt;Поначалу осознать как именно необходимо настроить ядро довольно
непросто, часто забываешь какой-нибудь драйвер или маленькую опцию,
сильно влияющую на ту или иную часть системы, или наоборот включаешь
множество абсолютно бесполезных компонентов. Вариантов решения этой
ситуации есть несколько:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Просто скопировать ядро с LiveCD.&lt;/em&gt; Этот вариант является самым
    простым в плане реализации, систему с его помощью запустить вполне
    реально - пробовал, но в плане производительности ему до идеала
    о-о-очень далеко.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Собрать ядро с помощью &lt;strong&gt;genkernel&lt;/strong&gt; и стандартной его
    конфигурации.&lt;/em&gt; Прочитав &lt;strong&gt;man genkernel&lt;/strong&gt; это занятие тоже
    становится простым и привычным. Именно этот вариант я и выбрал в
    первый раз, слегка подредактировав конфигурационный файл с помощью
    &lt;strong&gt;&amp;ndash;&amp;ndash;menuconfig&lt;/strong&gt; в тех местах, где был точно уверен что это не
    повлияет на функциональность и положительно повлияет на
    производительность. Естественно этот вариант тоже годится только на
    первое время.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Ручная сборка классическим способом - &lt;strong&gt;make&lt;/strong&gt;, с использованием
    конфигурационного файла, взятого с LiveCD&lt;/em&gt;. Чисто теоретически
    возможно, но не могу порекомендовать этот способ, при его реализации
    возникает существенно больше проблем, до конца решить которые мне
    так и не удалось в процессе установки, а в последующем как-то не
    возникало желания возвращаться к ручной сборке ядра, так как привык
    к &lt;strong&gt;genkernel&lt;/strong&gt; - просто и удобно.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Метод "проб и ошибок".&lt;/em&gt; Если есть желание и возможность потратить
    существенное количество времени на подбор оптимальной конфигурации
    ядра прямо в процессе установки - почему бы этим и не заняться?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Вне зависимости от выбранного варианта сборки ядра, рано или поздно Вы
получите успешно загружающуюся без помощи LiveCD систему (естественно
имеется ввиду, что в консоль, о X-ах говорить еще рано), о которой и
пойдет речь дальше.&lt;/p&gt;
&lt;h3 id="set"&gt;Сеть&lt;/h3&gt;
&lt;p&gt;Первым делом, конечно же появляется желание выползти на просторы Сети,
даже скорее не желание, а необходимость, ведь жизнь компьютера без Сети
хоть и возможна, но грустна и нелегка.&lt;/p&gt;
&lt;p&gt;Как известно, у большинства ноутбуков дорога в Сеть может пролегать по
трем маршрутам:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Сетевая карта - Ethernet&lt;/li&gt;
&lt;li&gt;Беспроводная сеть - WiFi&lt;/li&gt;
&lt;li&gt;Старый-добрый модем&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Из всех трех вариантов мне довелось опробовать только первые два,
испытать модем в полевых условиях, к сожалению, не удалось в связи с
отсутствием как возможности, так и желания.&lt;/p&gt;
&lt;h4&gt;Ethernet&lt;/h4&gt;
&lt;p&gt;Воткнув заветный штекер RJ45 в соответствующий разъем, я с удивлением
обнаружил с помощью команды &lt;strong&gt;ifconfig&lt;/strong&gt;, что на этом мои телодвижения
по получению доступа в Интернет благополучно закончились. Все драйвера
оказались на месте, DHCP-клиент без моего вмешательства получил
IP-адрес, все необходимые настройки по-умолчанию были выбраны верно -
вобщем в этом плане все отлично.&lt;/p&gt;
&lt;p&gt;Конечно далеко не у всех локальная сеть организована таким же образом,
как и у меня, возможно придется поизучать man &lt;strong&gt;ifconfig&lt;/strong&gt;'а или
повозиться с VPN-соединением.&lt;/p&gt;
&lt;h4&gt;WiFi&lt;/h4&gt;
&lt;p&gt;С беспроводным соединением все прошло далеко не так гладко, как хотелось
бы. Первой задачей стояло определение того, какой же драйвер необходим
для функционирования соответствующего устройства. Вариантов ответа на
этот вопрос в Сети нашлось множество, но какой именно подошел бы
именно к моей модели ноутбука было как минимум не очевидно.&lt;/p&gt;
&lt;p&gt;Попробовав несколько вариантов, мне удалось-таки установить беспроводное
соединение с помощью драйвера под названием &lt;strong&gt;ipw3945&lt;/strong&gt; и сопутствующего
ему daemon'а &lt;strong&gt;ipw3945d&lt;/strong&gt;. Подробно весь процесс описывать не буду, я
думаю при необходимости подробную инструкцию найти особого труда не
составит.&lt;/p&gt;
&lt;p&gt;Я еще не упоминал, что в качестве рабочего окружения предпочитаю
использовать KDE, как-то с самого начала к нему привык, как внешне так и
внутренне он меня более чем устраивает. Не сочтите предыдущее
предложение за отступ от темы, я всеголишь хотел как-то объяснить
переход к разговору об утилите, предоставляющей GUI к работе с
беспроводными соединениями, - &lt;strong&gt;KWifiManager&lt;/strong&gt;. Утилитка достаточно
своеобразная, манера ее поведения поначалу сильно удивляла, но со
временем привыкаешь. Особенно странно она производит выбор беспроводной
сети, к которой подключаться. Не смотря на установленную в настройках
мою домашнюю сеть, как сеть по-умолчанию, она все равно частенько
пытается залезть к соседям или еще куда. И что самое интересное -
вернуть ее на &lt;em&gt;путь истинный&lt;/em&gt; ее же средствами мне обычно так и не
удается. Из-за этого пришлось написать bash-скрипт, который помогает
укратить эту утилиту. Включать в текст записи его особо желания нету,
если кто хочет его заполучить: оставьте соответствующий комментарий -
выложу.&lt;/p&gt;
&lt;h3 id="alternativa-konsoli"&gt;Альтернатива консоли&lt;/h3&gt;
&lt;p&gt;Консоль - штука конечно полезная, но со временем пользоваться только ей
на домашнем компьютере все же надоедает, хочется чего-то большего -
например, компании состоящей из X-сервера, Xorg и какого-либо рабочего
окружения (как я уже успел упомянуть - в его роли я предпочитаю
использовать &lt;a href="/tag/kde/"&gt;KDE&lt;/a&gt;, о нем и буду дальше говорить, но Ваш выбор
это естественно ни капли не ограничивает).&lt;/p&gt;
&lt;p&gt;Проблем как ни странно с этим пунктом нашей программы не возникло
никаких - официальная документация по этому поводу обширна, и чуть ли не
гарантированно приводит к положительным результатам. Все прекрасно
собирается (правда долговато) и не менее прекрасно работает.&lt;/p&gt;
&lt;p&gt;Одно время конечно возникали некоторые трудности, например в одной из
версий X-сервера была неприятная недоработка с LED'ами на клавиатуре -
не было видно нажат ли Caps Lock, или при одной конкретной комбинации
программного обеспечения и ядра системы по странному стечению
обстоятельств частоиспользуемая клавиша &lt;strong&gt;F2&lt;/strong&gt; приводила к сворачиванию
X-сервера и возвращению в консоль, что тоже доставляло массу неудобств.
На данный же момент все проблемы такого рода решены руками огромного
&lt;a href="/tag/opensource/"&gt;opensource&lt;/a&gt;-сообщества и все снова замечательно
работает точно также как и полгода назад сразу после установки системы.&lt;/p&gt;
&lt;p&gt;Через некоторое время после установки &lt;a href="/tag/kde/"&gt;KDE&lt;/a&gt; мне все же
захотелось привести его в более приятный моим глазам внешний вид.
Вооружившись любимым графическим редактором под названием &lt;strong&gt;The GIMP&lt;/strong&gt; я
принялся за дело. В итоге получилось нечто странное, которое выглядит
примерно вот так:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Screenshot" class="responsive-img" src="https://www.insight-it.ru/images/screenshot-desktop.jpg" title="KDE 3.5.8 Screenshot"/&gt;&lt;/p&gt;
&lt;h3 id="video"&gt;Видео&lt;/h3&gt;
&lt;p&gt;Используемый по-умолчанию видеодрайвер &lt;em&gt;vesa&lt;/em&gt; оставляет желать лучшего,
этот факт заметен сразу же после первой загрузки рабочего окружения, а
значит ничего не остается кроме как искать ему замену. Искать долго не
придется - отличный видеодрайвер для присутствующей в внутри этого
ноутбука &lt;em&gt;Nvidia GeForce 7600&lt;/em&gt; легко доступен через Portage, называется
он, как ни странно, &lt;strong&gt;nvidia-drivers&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Впечатления он оставляет только положительные: легко настраивается,
достаточно производительный, поддерживает множество технологий, в том
числе пресловутый Composite Extension в Xorg, который необходим для
работы большинства (если не всех) трехмерных приложений.&lt;/p&gt;
&lt;h3 id="audio"&gt;Аудио&lt;/h3&gt;
&lt;p&gt;С ним все еще проще - достаточно лишь не забыть включить &lt;strong&gt;ALSA&lt;/strong&gt; и
&lt;strong&gt;Intel HD Audio&lt;/strong&gt; в конфигурации ядра.&lt;/p&gt;
&lt;p&gt;Качество конечно не идеальное, но для такого класса устройств звук
вполне "на уровне", для просмотра фильмов и негромкого воспроизведения
музыки более чем достаточно.&lt;/p&gt;
&lt;h3 id="bluetooth"&gt;Bluetooth&lt;/h3&gt;
&lt;p&gt;Синий зуб прекрасно чувствует себя под руководством встроенного в ядра
драйвера &lt;strong&gt;BlueZ&lt;/strong&gt;, с работой в качестве GUI для работы с этим
устройством также неплохо справляются KDE'шные утилиты KBluetooth и
компания.&lt;/p&gt;
&lt;p&gt;На роль помощника в тестировании и настройке bluetooth'а я не смог
придумать ничего лучше, чем выбрать свой старенький телефон &lt;em&gt;Qtek S200&lt;/em&gt;.
Передача файлов заработала безукоризненно в обоих направлениях, а вот с
использованием телефона в роли GPRS-модема пришлось изрядно повозиться:
узнать необходимые настройки соединения на сайте оператора, найти хотябы
примерно подходящую документацию по данному вопросу, настроить все как
положено. Когда дело дошло до процесса дозвона по указанному номеру,
телефон по каким-то причинам отказывался реагировать на запросы
компьютера. Попытки понять в чем же причина длились достаточно долго,
пока я не наткнулся в интернете на подробное техническое описание своего
телефона, где было сказано, что он просто-напросто не поддерживает
доступ у своему GPRS-модему через bluetooth-соединение. Узнав об этом
факте я решил больше себя не мучать и бросил эту затею, но чисто
технически с другим телефоном оно должно было заработать, но на практике
проверить руки так до сих пор и не дошли.&lt;/p&gt;
&lt;h3 id="raznye-melochi"&gt;Разные мелочи&lt;/h3&gt;
&lt;p&gt;Устав от продолжительной установки и настройки системы, на вещи,
которыми я не планировал активно пользоваться, я не тратил много
времени, по-этому упомяну их лишь вкратце.&lt;/p&gt;
&lt;p&gt;Очень удивил меня тот факт, что для приведения к жизни различных
нестандартных кнопок вроде регулировки громкости, S1, S2 и Fn необходима
достаточно серьезная "работа напильником": модули ядра вроде &lt;strong&gt;sonypi&lt;/strong&gt;
способны оживить их лишь частично, для полного их функционирования
возможно придется изрядно покопаться в конфигурационных файлах, а также
написать/найти некоторое количество bash-скриптов. Надеюсь в будущем
найду в себе силы довести это дело до конца, правда особого дискомфорта
от ненастроенных кнопок я не испытываю - не успел к ним привыкнуть, да и
реализованного на уровне оборудования mute sound мне вполне хватает.&lt;/p&gt;
&lt;p&gt;Регулировка яркости дисплея работает прекрасно через консоль с помощью
утилиты &lt;strong&gt;nvclock&lt;/strong&gt;, но какого-либо GUI к ней мне найти не удалось, т.к.
особой необходимости в этом не испытываю - все равно предпочитаю держать
экран максимально ярким, лишь в очень редких случаях возникает
необходимость его приглушить, но в таких случаях обычно проще бывает
нажать &lt;strong&gt;Alt+F2&lt;/strong&gt; и набрать необходимую команду.&lt;/p&gt;
&lt;p&gt;Встроенная камера заслуживает отдельного разговора. С одной стороны
драйвера под нее есть и легко доступны, весь необходимый набор модулей
для ядра - &lt;strong&gt;v4l, gspcav1&lt;/strong&gt;, установить абсолютно не проблема. Найдя
неплохую статейку в вики я достаточно быстро разобрался с их установкой,
но после этого возник вопрос: а зачем оно собственно говоря надо? Как
оказалось, камера является абсолютно бесполезным для меня device'ом, и я
даже не придумал никакого адекватного способа проверить ее
работоспособность. Так эти драйвера и находятся установленными в системе
непонятно зачем.&lt;/p&gt;
&lt;p&gt;Порт IEEE 1394 aka FireWire опробовать в действии не удалось, так как я
не являюсь обладателем устройств, его использующих, но я не вижу
каких-либо причин для того, чтобы он не работал: если мне не изменяет
память, то он фигурировал в настройках ядра наравне с USB, который
замечательно работает.&lt;/p&gt;
&lt;p&gt;Cardreader'ов в комплекте было два - один встроенный для MemoryStick, и
внешний в 34мм-слот для SD/MMC. Насчет первого не могу ничего сказать,
так как карточек таких у меня не нашлось, а второй отлично определился
без каких-либо дополнительных действий с моей стороны.&lt;/p&gt;
&lt;p&gt;Про DVD-привод, miniJack и прочие стандартные вещи наверное и упоминать
смысла нет - с ними все в порядке.&lt;/p&gt;
&lt;h3 id="podvedem-itogi"&gt;Подведем итоги&lt;/h3&gt;
&lt;p&gt;Как Вы уже успели заметить, в целом процесс установки этого одного из
самых "сложных" дистрибутивов &lt;a href="/tag/linux/"&gt;Linux&lt;/a&gt; на ноутбук является
далеко не элементарной задачей. Когда я писал этот текст, передо мной не
стояло задачи убедить как можно больше читателей последовать по тому
пути, что выбрал я и стать активным пользователем операционной системы
под гордым названием &lt;em&gt;&lt;a href="/tag/gentoo/"&gt;Gentoo&lt;/a&gt; &lt;a href="/tag/linux/"&gt;Linux&lt;/a&gt;&lt;/em&gt;, я
всеголишь хотел показать Вам выбор, который стоит перед каждым
пользователем персональных компьютеров, как настольных, так и
портативных.&lt;/p&gt;
&lt;p&gt;На закуску я хотел бы поделиться своими впечатлениями насчет активной
эксплуатации такой системы на протяжении достаточного длительного
периода времени. Промолчав про несравнимую производительность и
стабильность, сразу перейду к тому, как я использую свой ноутбук: в
основном для меня он просто является устройством, позволяющим
пользоваться всем разнообразием услуг Сети: общаться, получать
разного рода информацию, делиться информацией. Помимо этого я
подрабатываю программированием на некоторых языках программирования, а
также удаленным администрированием. Для каждой из этих задач существует
огромнейший набор вариантов воплощения их в жизнь, и выбор каким из них
мне пользоваться в каждой конкретной ситуации остается за мной, за
&lt;em&gt;пользователем&lt;/em&gt;, а не за производителями программного обеспечения,
которые навязывают своим клиентам свои решения.&lt;/p&gt;
&lt;p&gt;Закончить хотелось бы той же цитатой из &lt;em&gt;Gentoo Handbook&lt;/em&gt;, которую я
использовал в эпиграфе к этой статье: &lt;em&gt;"Gentoo is all about choices."&lt;/em&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Иван Блинков</dc:creator><pubDate>Tue, 22 Jan 2008 01:06:00 +0300</pubDate><guid>tag:www.insight-it.ru,2008-01-22:linux/2008/gentoo-linux-sony-vaio/</guid><category>gentoo</category><category>gentoo linux</category><category>Linux</category><category>notebook</category><category>opensource</category><category>sony</category><category>sony vaio</category><category>sony vaio fe41zr</category><category>sony vaio vgn-fe41zr</category><category>линукс</category><category>ноутбук</category><category>ОС</category></item></channel></rss>