<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Solaris 10: советы и приёмы системного администрирования - SysAdmin</title>
    <link>http://solaris.reys.net/</link>
    <description>Как пользоваться DTrace, ZFS, Solaris Zones и другими технологиями Solaris</description>
    <dc:language>ru</dc:language>
    <generator>Serendipity 1.1-alpha7 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Sun Cluster 3.2 доступен для скачивания</title>
    <link>http://solaris.reys.net/2006/12/sun_cluster_32</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2006/12/sun_cluster_32#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=155</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=155</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Только что прочёл на блоге Ильи Воронина (&lt;a href=http://blog.curthread.org/&gt;blog.curthread.org&lt;/a&gt;), что для всех любителей &lt;strong&gt;Sun Cluster&lt;/strong&gt;, сегодняшний день - определённо удачный, потому что новая версия &lt;strong&gt;Sun Cluster&lt;/strong&gt; уже доступна для скачивания.&lt;br /&gt;
&lt;br /&gt;
Кстати, теперь решение для создания кластеров называется &lt;strong&gt;Solaris Cluster&lt;/strong&gt;, и включает в себя три компонента:&lt;br /&gt;
- Sun Cluster&lt;br /&gt;
- Sun Cluster Geographic Edition&lt;br /&gt;
- Sun Cluster Agents&lt;br /&gt;
&lt;br /&gt;
К моему сожалению и стыду, я так и не успел приобрести сколь-нибудь полезного опыта работы с Sun Cluster&#039;ом. В моей компании я работаю с Veritas Cluster Server&#039;ом, просто потому, что так исторически сложилось. Но теоретические познания имеются, и потому очень хочется когда-нибудь всё же попробовать решение от Sun.&lt;br /&gt;
&lt;br /&gt;
Вот некоторые из новшеств Sun Cluster 3.2:&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Новые возможности управления через командную строку&lt;/strong&gt;&lt;br /&gt;
Новый интерфейс командной строки в Sun Cluster теперь поддерживает отдельные команды для каждого типа объекта, и предоставляет по возможности единые имена и буквы для опций. Также поддерживаются и короткие, и длинные варианты указания опций командной строки.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Поддержка SMF&lt;/strong&gt;&lt;br /&gt;
Теперь Sun Cluster тесно связан с SMF, и позволяет брать сервисы, обслуживаемые SMF, под контроль Sun Cluster в качестве ресурсов.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Sun Cluster Quorum Server&lt;/strong&gt;&lt;br /&gt;
Теперь для сценариев, нуждающихся в кворуме, совсем необязательно полагаться на совместно используемые диски (shared storage). Теперь Sun Cluster поддерживает использование отдельного Solaris-сервера, на котором запущен модуль quorum-server. Все атомические протоколы резервации будут работать через TCP/IP.  &lt;br /&gt;
&lt;br /&gt;
Подобных подход позволяет уменьшить время, необходимое для переключения кластера с одного нода на другой (fail-over).&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Расширена поддержка Solaris Zones&lt;/strong&gt;&lt;br /&gt;
Теперь Sun Cluster поддерживает целую кучу сервисов, работающих в не глобальных зонах.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Поддержка ZFS&lt;/strong&gt;&lt;br /&gt;
Теперь ZFS поддерживается как локальная файловая система высокой надёжности (HA FS).&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Multi-Terabyte Disk и дисковые метки EFI (Extensible Firmware Interface)&lt;/strong&gt;&lt;br /&gt;
Традиционное для других пакетов обновление - поддежка дисков ёмкостью свыше 1Tb и с новыми метками EFI.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Улучшенная поддержка продуктов Veritas&lt;/strong&gt;&lt;br /&gt;
В частности, теперь поддерживаются компоненты из Veritas Storage Foundation 5.0 для платформы SPARC, и VxVM 4.1 для x86/x64 (кстати, данные продукты Veritas указанных версий уже умеют работать с Solaris 10).&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Live Upgrade&lt;/strong&gt;&lt;br /&gt;
С этой версии, можно легко обновлять вашу ОС и Sun Cluster в её составе, с помощью Live Upgrade. Из документации ясно, что пока LiveUpgrade поддерживает только SVM, но не VxVM.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Command Logging&lt;/strong&gt;&lt;br /&gt;
Теперь можно вести логи всех команд, используемых при обслуживании кластера - это удобно как для диагностики, так и для точонго воспроизведения вашей конфигурации на других аналогичных кластерах.&lt;br /&gt;
&lt;br /&gt;
По этой ссылке вы можете скачать Sun Cluster 3.2: &lt;a href=http://www.sun.com/download/products.xml?id=4581ab9e&gt;Sun Cluster 3.2 download&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Также, вам может понравиться изредка заглядывать на блог, посвящённый Sun Cluster - &lt;a href=http://blogs.sun.com/SC/&gt;Sun Cluster Oasis&lt;/a&gt;. Ну и, конечно же, вся подробная информация может быть найдена в разделе про Sun Cluster на docs.sun.com: &lt;a href=http://docs.sun.com/app/docs/prod/sun.cluster.32&gt;Sun Cluster 3.2 Documentation&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Wed, 20 Dec 2006 13:40:02 +0300</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2006/12/sun_cluster_32</guid>
    <category>cluster</category>
<category>solaris 10</category>
<category>solaris cluster</category>
<category>sun cluster</category>
<category>cluster</category>
<category>solaris 10</category>
<category>solaris cluster</category>
<category>sun cluster</category>

</item>
<item>
    <title>Бесплатные аналоги программам для Windows</title>
    <link>http://solaris.reys.net/2006/12/free_equivalents_for_windows_software</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2006/12/free_equivalents_for_windows_software#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=154</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=154</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Только что прочитал на &lt;a href=http://www.lifehacker.com&gt;Lifehacker&lt;/a&gt; о замечательной странице: &lt;a href=http://www.linuxeq.com/&gt;The Linux Equivalent Project&lt;/a&gt;. На самом деле, это внушительных размеров индекс бесплатного программного обеспечения, которое вполне возможно скомпилировать и на Solaris, и на Linux, и на любой другой приличной UNIX ОС. &lt;br /&gt;
&lt;br /&gt;
Очень радует именно организация списка - приведены названия продуктов для Windows, и указываются их беслпатные аналоги. Очень полезная страница, особенно для новичков, только решивших пересесть на Solaris.&lt;br /&gt;
&lt;br /&gt;
В общем, очень советую заглянуть: &lt;a href=http://www.linuxeq.com/&gt;LinuxEq.com&lt;/a&gt; 
    </content:encoded>

    <pubDate>Tue, 19 Dec 2006 03:01:03 +0300</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2006/12/free_equivalents_for_windows_software</guid>
    <category>free software</category>
<category>linux equivalent project</category>
<category>open source</category>
<category>free software</category>
<category>linux equivalent project</category>
<category>open source</category>

</item>
<item>
    <title>Solaris 10 как клиент DHCP</title>
    <link>http://solaris.reys.net/2006/04/solaris_10_dhcp_client</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2006/04/solaris_10_dhcp_client#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=129</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=129</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Просто хотел отметить здесь самый быстрый и краткий путь к использованию вашего Solaris-бокса в качестве клиента DHCP.&lt;br /&gt;
&lt;br /&gt;
1) Нужно создать файл /etc/hostname.&lt;INTERFACE&gt;&lt;br /&gt;
Например:&lt;br /&gt;
&lt;div class=code&gt;bash-3.00# &lt;b&gt;touch /etc/hostname.skge0&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
2) Создать файл /etc/dhcp.&lt;INTERFACE&gt;&lt;br /&gt;
В этом же файле можно указать, сколько секунд &lt;b&gt;ifconfig&lt;/b&gt; будет ждать ответа от DHCP-сервера, прежде чем продолжит загрузку Solaris.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;bash-3.00# &lt;b&gt;cat /etc/dhcp.skge0&lt;/b&gt;&lt;br /&gt;
  wait 60&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
3) Имя вашей системы&lt;br /&gt;
Оно должно храниться в файле &lt;b&gt;/etc/nodename&lt;/b&gt;. Это значение будет использоваться, если ваш DHCP-сервер не предоставляет имя хоста по запросу вашего DHCP-клиента.&lt;br /&gt;
&lt;br /&gt;
Вот и всё, теперь перегружайте систему, и всё должно работать! Удачи! 
    </content:encoded>

    <pubDate>Sat, 29 Apr 2006 16:14:07 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2006/04/solaris_10_dhcp_client</guid>
    <category>client</category>
<category>dhcp</category>
<category>solaris 10</category>
<category>client</category>
<category>dhcp</category>
<category>solaris 10</category>

</item>
<item>
    <title>HOW-TO: X11 forwarding с ssh, putty и Xming</title>
    <link>http://solaris.reys.net/2006/04/x11_forwarding</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2006/04/x11_forwarding#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=128</wfw:comment>

    <slash:comments>19</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=128</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Эту связку я использую вот уже больше года, практически ежедневно - и дома, и на работе. Всё очень удобно, и, главное, совершенно бесплатно.&lt;br /&gt;
&lt;br /&gt;
X11 Forwarding с ssh - это замечательная возможность, которая позволяет вам получить у себя на клиентском десктопе окно удалённо запускаемого графического приложения. Есть множество дорогих продуктов вроде Citrix, GoGlobal и XWin32, которые позволяют вам получать доступ к вашим удалённым десктоп-сессиям на Unix-серверах, но если всё, что вам нужно - это получить окошко какого-то приложения на вашем экране, то все эти продукты совершенно не нужны. А гораздо правильное будет использовать X forwarding и Xming.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=http://freedesktop.org/wiki/Xming&gt;Xming&lt;/a&gt; - это порт X Windows для вашей настольной Microsoft Windows. По сути, это X-сервер, запускаемый прозрачно поверх вашего рабочего стола в MS Windows, что позволяет вам перенапралять графический вывод на удалённых Unix хостах, чтобы запускаемые там приложения отображались у вас на десктопе MS Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Xming &lt;/b&gt;- очень простая и удобная в использовании штука. Всё, что вам нужно - это скачать и установить дистрибутив с со страницы проекта на SourceForge: &lt;a href=http://sourceforge.net/projects/xming&gt;XMing @ SourceForge&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
После установки, я советую вам создать ярлык в панели быстрого запуска, и изменить нужным образом командную строку выполнения команды. Вот моя полная командная строка:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;&quot;C:\Program Files\Xming\Xming.exe&quot; :0 -clipboard -multiwindow -xkblayout us,ru -xkbvariant winkeys -xkboptions grp:ctrl_shift_toggle&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Как видно из примера, я использую две раскладки клавиатуры, и переключаюсь на русский язык с помощью Ctrl+Shift.&lt;br /&gt;
&lt;br /&gt;
Теперь, когда Xming у вас уже настроен, нужно позаботиться об ssh стороне вопроса. Нужно изменить конфигурационный файл вашего ssh-демона: &lt;b&gt;/etc/ssh/sshd_config&lt;/b&gt;. Позаботьтесь, чтобы в нём была вот такая секция с подобными значениями:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;# X11 tunneling options&lt;br /&gt;
X11Forwarding yes&lt;br /&gt;
X11DisplayOffset 10&lt;br /&gt;
X11UseLocalhost yes&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Если у вас уже были подобные параметры, то ничего делать не нужно. Если же вы изменили этот файл конфигурации, то следует перезапустить ssh:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;bash-3.00# &lt;b&gt;svcadm restart svc:/network/ssh&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Всё, что осталось теперь - это скачать замечательного клиента Putty, если вы его ещё не используете для ваших ssh-сессий. Взять Putty можно вот по этому адресу: &lt;a href=http://www.chiark.greenend.org.uk/~sgtatham/putty/&gt;Putty: a free telnet/ssh client&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Я не буду подробно объяснять настройку Putty, это наверняка сделано до меня другими, но скажу лишь, что для X11 forwarding&#039;а вам нужно пробраться в настройки программы (основное окно), выбрать там раздел Connection, потом SSH, потом X11, и в появившемся разделе отметить галочку Enable X11 Forwarding.&lt;br /&gt;
&lt;br /&gt;
Вот и всё. Желаю удачи! 
    </content:encoded>

    <pubDate>Fri, 21 Apr 2006 12:37:44 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2006/04/x11_forwarding</guid>
    <category>putty</category>
<category>solaris</category>
<category>ssh</category>
<category>x11</category>
<category>putty</category>
<category>solaris</category>
<category>ssh</category>
<category>x11</category>

</item>
<item>
    <title>Что бы мы делали без замечательной утилиты crle?</title>
    <link>http://solaris.reys.net/2006/04/crle</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2006/04/crle#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=127</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=127</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    В процессе компилирования необходимого набора программ для 64 бит, я в очередной рад воспользовался замечательной утилитой &lt;b&gt;crle&lt;/b&gt;, и снова отметил, насколько проще становится жизнь если её использовать.&lt;br /&gt;
&lt;br /&gt;
В странице-руководстве (&lt;b&gt;man crle&lt;/b&gt;) сказано вот что:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;The crle utility provides for the creation and display of  a&lt;br /&gt;
     runtime  linking  configuration file. The configuration file&lt;br /&gt;
     is read and interpreted by the runtime  linker,  ld.so.1(1),&lt;br /&gt;
     during process start-up. &lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
И именно этим утилита и полезна - можно указать, где компоновщику следует искать необходимые библиотеки в первую очередь, и многие проблемы пропросту исчезнут.&lt;br /&gt;
&lt;br /&gt;
Так что бы мы делали без этой замечательной утилиты? Всё очень просто:&lt;br /&gt;
&lt;br /&gt;
1) указывали бы обязательно дополнительные параметры для компиляторов - пути к библиотекам с параметрами &lt;b&gt;-L&lt;/b&gt; и &lt;b&gt;-R&lt;/b&gt;&lt;br /&gt;
2) Пользовались бы старой и надёжной переменной &lt;b&gt;LD_LIBRARY_PATH&lt;/b&gt;, которая так же позволяет указывать каталоги, откуда компоновщику стоит брать библиотеки.&lt;br /&gt;
&lt;br /&gt;
Мало того, что это неудобно потому, что нужно тратить дополнительное время, так ещё и настройки эти годятся только для конкретного пользователя - и любой другой, кто захочет использовать скомпилированную с помощью подобных ухищрений программу, вынужден будет делать то же самое - устанавливать себе аналогичное значение &lt;b&gt;LD_LIBRARY_PATH&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
А с &lt;b&gt;crle &lt;/b&gt; всё гораздо проще:&lt;br /&gt;
&lt;br /&gt;
для просмотра текущих параметров работы компоновщика (списков каталогов), нужно просто запустить команду:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;-bash-3.00$ &lt;b&gt;crle&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Default configuration file (/var/ld/ld.config) not found&lt;br /&gt;
  Default Library Path (ELF):   /lib:/usr/lib  (system default)&lt;br /&gt;
  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
для просмотра конфигурации при работе компоновщика с 64-битными объектами, нужно указать соответствующий параметр:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;-bash-3.00$ &lt;b&gt;crle -64&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Configuration file [version 4]: /var/ld/64/ld.config&lt;br /&gt;
  Default Library Path (ELF):   /lib/64:/usr/lib/64:/usr/sfw/lib/64&lt;br /&gt;
  Trusted Directories (ELF):    /lib/secure/64:/usr/lib/secure/64  (system default)&lt;br /&gt;
&lt;br /&gt;
Command line:&lt;br /&gt;
  crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/sfw/lib/64&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
И как видно из примера, достаточно выполнить вот такую команду, чтобы добавить новый каталог к списку тех, где компоновщик будет искать библиотеки. Например, если я хочу добавить к списку свой собственный каталог /export/soft/lib/64, то сделать это можно вот так:&lt;br /&gt;
&lt;div class=code&gt;-bash-3.00$ &lt;b&gt;crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/sfw/lib/64:/export/soft/lib/64&lt;/b&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 13 Apr 2006 01:38:28 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2006/04/crle</guid>
    <category>crle</category>
<category>ld</category>
<category>linking</category>
<category>solaris 10</category>
<category>sysadmin</category>
<category>crle</category>
<category>ld</category>
<category>linking</category>
<category>solaris 10</category>
<category>sysadmin</category>

</item>
<item>
    <title>Компилирование MySQL для amd64</title>
    <link>http://solaris.reys.net/2006/04/compiling_mysql_for_amd64</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2006/04/compiling_mysql_for_amd64#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=126</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=126</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Вчера я начал потихоньку компилировать себе набор необходимых программ на новом сервере. Естественно, всё компилируется в 64 битах.  Для многих пакетов я использовал один и тот же набор флагов &lt;b&gt;CFLAGS&lt;/b&gt; и &lt;b&gt;LDFLAGS&lt;/b&gt;, и всё прекрасно работало.&lt;br /&gt;
&lt;br /&gt;
И при попытке скомпилировать 64-битную последнюю версию &lt;b&gt;MySQL&lt;/b&gt; - 5.0.19, я использовал следующие параметры для скрипта &lt;b&gt;configure&lt;/b&gt;:&lt;br /&gt;
&lt;div class=code&gt;mysql#MAKE=&quot;/usr/sfw/bin/gmake&quot; CFLAGS=&quot;-m64&quot; LDFLAGS=&quot;-m64 -L/lib/64&quot; ./configure --prefix=/export/soft/mysql-5.0.19 --with-charset=utf8&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
но в процессе компиляции я наткнулся на следующую ошибку:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;Making all in sql&lt;br /&gt;
gmake[2]: Entering directory `/export/dist/mysql-5.0.19/sql&#039;&lt;br /&gt;
if g++ -DMYSQL_SERVER -DDEFAULT_MYSQL_HOME=&quot;\&quot;/export/soft/mysql-5.0.19\&quot;&quot; -DDATADIR=&quot;\&quot;/export/soft/mysql-5.0.19/var\&quot;&quot; -DSHAREDIR=&quot;\&quot;/export/soft/mysql-5.0.19/share/mysql\&quot;&quot; -DHAVE_CONFIG_H -I. -I. -I.. -I../zlib -I../innobase/include -I../include -I../include -I../regex -I.      -O3 -DDBUG_OFF    -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -MT gen_lex_hash.o -MD -MP -MF &quot;.deps/gen_lex_hash.Tpo&quot; -c -o gen_lex_hash.o gen_lex_hash.cc; \&lt;br /&gt;
then mv -f &quot;.deps/gen_lex_hash.Tpo&quot; &quot;.deps/gen_lex_hash.Po&quot;; else rm -f &quot;.deps/gen_lex_hash.Tpo&quot;; exit 1; fi&lt;br /&gt;
/bin/bash ../libtool --preserve-dup-deps --mode=link g++  -O3 -DDBUG_OFF    -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T  -m64 -L/lib/64  -o gen_lex_hash  gen_lex_hash.o ../myisam/libmyisam.a ../myisammrg/libmyisammrg.a ../heap/libheap.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a ../zlib/libz.la   -lpthread -lthread -lposix4 -lcrypt -lgen -lsocket -lnsl -lm  -lpthread -lthread&lt;br /&gt;
mkdir .libs&lt;br /&gt;
g++ -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -m64 -o .libs/gen_lex_hash gen_lex_hash.o  -L/lib/64 ../myisam/libmyisam.a ../myisammrg/libmyisammrg.a ../heap/libheap.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a ../zlib/.libs/libz.so -lpthread -lthread -lpthread -lthread -lpthread -lthread -lposix4 -lcrypt -lgen -lsocket -lnsl -lm -lpthread -lthread -Wl,-R -Wl,/export/soft/mysql-5.0.19/lib/mysql&lt;br /&gt;
ld: fatal: file gen_lex_hash.o: wrong ELF class: ELFCLASS32&lt;br /&gt;
ld: fatal: File processing errors. No output written to .libs/gen_lex_hash&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
gmake[2]: *** [gen_lex_hash] Error 1&lt;br /&gt;
gmake[2]: Leaving directory `/export/dist/mysql-5.0.19/sql&#039;&lt;br /&gt;
gmake[1]: *** [all-recursive] Error 1&lt;br /&gt;
gmake[1]: Leaving directory `/export/dist/mysql-5.0.19&#039;&lt;br /&gt;
gmake: *** [all] Error 2&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Внимательный читатель или опытный разработчик сразу же увидит из этого примера, в чём дело. А оно оказалось в том, что я не указал параметра &lt;b&gt;-m64&lt;/b&gt; для &lt;b&gt;g++&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Вот такие параметры исправили проблему:&lt;br /&gt;
&lt;div class=code&gt;mysql#MAKE=&quot;/usr/sfw/bin/gmake&quot; CFLAGS=&quot;-m64&quot; CXXFLAGS=&quot;-m64&quot; LDFLAGS=&quot;-m64 -L/lib/64&quot; ./configure --prefix=/export/soft/mysql-5.0.19 --with-charset=utf8&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; Ещё одна ошибка была обнаружена на более поздней стадии компиляции &lt;b&gt;MySQL&lt;/b&gt; (я скрыл часть вывода команды чтобы сэкономить место):&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;&lt;br /&gt;
gmake[3]: Entering directory `/export/dist/mysql-5.0.19/server-tools/instance-manager&#039;&lt;br /&gt;
...&lt;br /&gt;
g++ -DDBUG_OFF -m64 -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -m64 -o .libs/mysqlmanager command.o mysqlmanager.o manager.o log.o thread_registry.o listener.o protocol.o mysql_connection.o user_map.o messages.o commands.o instance.o instance_map.o instance_options.o buffer.o parse.o guardian.o parse_output.o  -L/lib/64 -L/usr/sfw/lib/amd64 ./.libs/liboptions.a -lpthread -lthread -lpthread -lthread /usr/sfw/lib/amd64/libstdc++.so -lgcc_s libnet.a ../../vio/libvio.a ../../mysys/libmysys.a ../../strings/libmystrings.a ../../dbug/libdbug.a ../../zlib/.libs/libz.so -lpthread -lthread -lpthread -lthread -lpthread -lthread -lposix4 -lcrypt -lgen -lsocket -lnsl -lm -lpthread -lthread -Wl,-R -Wl,/usr/sfw/lib/amd64 -Wl,-R -Wl,/export/soft/mysql-5.0.19/lib/mysql&lt;br /&gt;
ld: fatal: library -lgcc_s: not found&lt;br /&gt;
ld: warning: file /usr/sfw/lib/amd64/libstdc++.so: attempted multiple inclusion of file&lt;br /&gt;
ld: fatal: File processing errors. No output written to .libs/mysqlmanager&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
gmake[3]: *** [mysqlmanager] Error 1&lt;br /&gt;
gmake[3]: Leaving directory `/export/dist/mysql-5.0.19/server-tools/instance-manager&#039;&lt;br /&gt;
gmake[2]: *** [all-recursive] Error 1&lt;br /&gt;
gmake[2]: Leaving directory `/export/dist/mysql-5.0.19/server-tools&#039;&lt;br /&gt;
gmake[1]: *** [all-recursive] Error 1&lt;br /&gt;
gmake[1]: Leaving directory `/export/dist/mysql-5.0.19&#039;&lt;br /&gt;
gmake: *** [all] Error 2&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Пришлось пойти в /usr/sfw/lib/amd64 и сделать там:&lt;br /&gt;
&lt;div class=code&gt;ln -s libgcc_s.so.1 libgcc_s.so&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Если обнаружу ещё что-нибудь интересное при компиляции пакетов для 64 битов, обязательно здесь напишу. А пока - надеюсь что эта запись поможет вам избежать подобной ошибки. Удачи! 
    </content:encoded>

    <pubDate>Mon, 10 Apr 2006 18:03:52 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2006/04/compiling_mysql_for_amd64</guid>
    <category>amd64</category>
<category>compile</category>
<category>configure</category>
<category>mysql</category>
<category>opensolaris</category>
<category>solaris 10</category>
<category>amd64</category>
<category>compile</category>
<category>configure</category>
<category>mysql</category>
<category>opensolaris</category>
<category>solaris 10</category>

</item>
<item>
    <title>Поддержка сетевых адаптеров Asus A8N-SLI в Solaris</title>
    <link>http://solaris.reys.net/2006/04/a8n-sli_networking_in_solaris</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2006/04/a8n-sli_networking_in_solaris#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=125</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=125</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Наконец-то нашлось немного свободного времени, чтобы окончательно разобраться в поддержкой сетевых адаптеров моей материнской платы &lt;b&gt;Asus A8N-SLI&lt;/b&gt; в Solaris 10. &lt;br /&gt;
&lt;br /&gt;
Как я уже рассказывал, эта плата имеет 2 сетевых адаптера: nForce4 и Yukon Gigabit Ethernet 10/100/1000Base-T Adapter. Собственно, оба адаптера основаны на чипах от Marvell - это Marvell 88E8001-LKJ1 (PCI Gigabit Ethernet) и Marvell 88E1111-RCJ (PHY).&lt;br /&gt;
&lt;br /&gt;
Так вот, первый из них прекрасно определяется и поддерживается по умолчанию - сразу во время установки, Solaris 10 распознаёт адаптер nge0, и даже пытается его настроить. А второй адаптер никак не опознаётся.&lt;br /&gt;
&lt;br /&gt;
Для того, чтобы заставить Yukon Gigabit работать, следует пойти на веб-сайт SysKonnect и там открыть &lt;a href=http://www.skd.de/e_en/support/driver.html&gt;страницу для скачивания драйверов&lt;/a&gt; (и skge в их числе). Что ОЧЕНЬ порадовало, так это наличие 64-битного драйвера. Я скачал себе вот этот файл: skgesol_x64v8.12.1.3.tar.Z&lt;br /&gt;
&lt;br /&gt;
После распаковки архива, нужно установить пакет SKGEsolx, и всё готово - можно конфигурировать интерфейс skge0!&lt;br /&gt;
&lt;br /&gt;
Вот где у меня находятся эти оба сетевых адаптера (взято из /etc/path_to_inst):&lt;br /&gt;
&quot;/pci@0,0/pci10de,5c@9/pci1043,811a@c&quot; 0 &quot;skge&quot;&lt;br /&gt;
&quot;/pci@0,0/pci1043,8141@a&quot; 0 &quot;nge&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Внимание:&lt;/b&gt; в силу неясных пока причин, в prtconf -vp явно заявляет о себе лишь один из адаптеров - skge. Именно он называется &quot;Ethernet controller&quot;. А nge почему-то называется там &quot;Bridge device&quot;.  
    </content:encoded>

    <pubDate>Fri, 07 Apr 2006 03:01:27 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2006/04/a8n-sli_networking_in_solaris</guid>
    <category>a8n-sli</category>
<category>marvell</category>
<category>skge</category>
<category>solaris 10</category>
<category>yukon</category>
<category>a8n-sli</category>
<category>marvell</category>
<category>skge</category>
<category>solaris 10</category>
<category>yukon</category>

</item>
<item>
    <title>CISecurity: утилита оценки безопасности систем на основе Solaris 10</title>
    <link>http://solaris.reys.net/2006/04/cisecurity_solaris_scoring_tool</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2006/04/cisecurity_solaris_scoring_tool#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=124</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=124</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Наконец-то! &lt;a href=http://www.cisecurity.org&gt;CISecurity&lt;/a&gt; завершили разработку утилиты для оценки безопасности систем на основе Solaris 10, и теперь эту утилиту наконец-то можно скачать вот здесь: &lt;a href=http://www.cisecurity.org/bench_solaris.html&gt;Sun Solaris Seecurity Benchmarks&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
pS: в первый раз эта утилита упоминалась мною 9 месяцев назад: в &lt;a href=http://solaris.reys.net/2005/07/solaris_mini_digest_2&gt;мини-дайджесте Solaris #2&lt;/a&gt; 
    </content:encoded>

    <pubDate>Tue, 04 Apr 2006 16:42:22 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2006/04/cisecurity_solaris_scoring_tool</guid>
    <category>cisecurity</category>
<category>security</category>
<category>solaris 10</category>
<category>cisecurity</category>
<category>security</category>
<category>solaris 10</category>

</item>
<item>
    <title>Как быстро установить Solaris 10 1/06</title>
    <link>http://solaris.reys.net/2006/03/solaris_10_install_official_howto</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2006/03/solaris_10_install_official_howto#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=117</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=117</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    На сайте sun.com есть замечательное руководство по установке Solaris 10. С кучей скриншотов и разъяснений, что и к чему. Я как раз собирался нечто подобное написать, а тут уже готовая статья! &lt;br /&gt;
&lt;br /&gt;
Ссылка: &lt;a href=http://www.sun.com/software/solaris/howtoguides/installationhowto.jsp&gt;How to Quickly Install the Solaris 10 1/06 OS&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 13 Mar 2006 12:40:04 +0300</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2006/03/solaris_10_install_official_howto</guid>
    <category>how-to</category>
<category>install</category>
<category>solaris 10</category>
<category>sysadmin</category>
<category>how-to</category>
<category>install</category>
<category>solaris 10</category>
<category>sysadmin</category>

</item>
<item>
    <title>HOW-TO: использование команд truss, ldd и nm для наблюдения исполняемых файлов</title>
    <link>http://solaris.reys.net/2006/03/howto_using_truss_ldd_nm</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2006/03/howto_using_truss_ldd_nm#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=116</wfw:comment>

    <slash:comments>9</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=116</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Решил записать сюда пару полезных советов по поводу исследования исполняемых файлов в Solaris. Указанные выше команды доступны, начиная с Solaris 8, так что надеюсь, что вам эти приёмы работы пригодятся.&lt;br /&gt;
&lt;br /&gt;
Очень часто случается так, что программы не работают так, как мы ожидаем, а иногда и вовсе отказываются запускаться, выдавая ошибки вроде &quot;referenced symbol not found&quot; (не найден символ в одной из библиотек) или что-нибудь вроде:&lt;br /&gt;
&lt;code&gt;ld.so.1: ./thunderbird-bin: fatal: libmozjs.so: open failed: No such file or directory&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Так вот, для того, чтобы точно разобраться, какими библиотеками пользуется та или иная программа, где она ожидает их найти, и что же всё-таки не находится, следует выполнить следующие шаги:&lt;br /&gt;
&lt;br /&gt;
1) Сначала нужно посмотреть, какие библиотеки линковщик ld будет использовать для конкретного бинарного файла. Например, вот так можно увидеть, какие библиотеки используются исполняемым файлом почтового клиента  Thunderbird:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=code&gt;&lt;code&gt;bash-3.00$ &lt;b&gt;ldd thunderbird-bin&lt;/b&gt;&lt;br /&gt;
        libmozjs.so =&gt;   (file not found)&lt;br /&gt;
        libgtk-x11-2.0.so.0 =&gt;   /usr/lib/libgtk-x11-2.0.so.0&lt;br /&gt;
        libgdk-x11-2.0.so.0 =&gt;   /usr/lib/libgdk-x11-2.0.so.0&lt;br /&gt;
        libatk-1.0.so.0 =&gt;       /usr/lib/libatk-1.0.so.0&lt;br /&gt;
        libgdk_pixbuf-2.0.so.0 =&gt;        /usr/lib/libgdk_pixbuf-2.0.so.0&lt;br /&gt;
        libm.so.2 =&gt;     /lib/libm.so.2&lt;br /&gt;
...&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Как всегда в моих примерах, вывод команды ldd приведён не полным в целях экономии места. Но суть уже ясна. Понятно, что один из файлов - библиотека libmozjs.so - не находится. Это значит, что его нет ни в одном стандартном пути поиска библиотек линковщиком ld, и так же этого файла нету в текущем каталоге. &lt;br /&gt;
&lt;br /&gt;
2) Теперь нужно определить, где линковщик ожидает найти этот самый libmozjs.so файл. Для этого мы воспользуемся командой truss. Всё, что нас интересует - это системные вызовы stat и open. stat используется для проверки нахождения файлов, а open - соответственно, открывает файлы для последующего к ним доступа.&lt;br /&gt;
&lt;br /&gt;
&lt;div stlye=code&gt;&lt;code&gt;bash-3.00$ &lt;b&gt;truss -f -t stat,open ./thunderbird-bin&lt;/b&gt;&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/thunderbird-bin&quot;, 0xFFBFFAD0) = 0&lt;br /&gt;
13070:  open(&quot;/var/ld/ld.config&quot;, O_RDONLY)             Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/libc.so.1&quot;, 0xFFBFF600) Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/../libc.so.1&quot;, 0xFFBFF600) Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/sfw/lib/libc.so.1&quot;, 0xFFBFF600)      Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/opt/sfw/lib/libc.so.1&quot;, 0xFFBFF600)      Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/local/lib/libc.so.1&quot;, 0xFFBFF600)    Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/openwin/lib/libc.so.1&quot;, 0xFFBFF600)  Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/lib/libc.so.1&quot;, 0xFFBFF600)              = 0&lt;br /&gt;
13070:  open(&quot;/lib/libc.so.1&quot;, O_RDONLY)                = 3&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/libxpcom.so&quot;, 0xFFBFF418) = 0&lt;br /&gt;
13070:  open(&quot;/export/soft/thunderbird/libxpcom.so&quot;, O_RDONLY) = 3&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/libmozjs.so&quot;, 0xFFBFF398) Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/../libmozjs.so&quot;, 0xFFBFF398) Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/sfw/lib/libmozjs.so&quot;, 0xFFBFF398)    Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/opt/sfw/lib/libmozjs.so&quot;, 0xFFBFF398)    Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/local/lib/libmozjs.so&quot;, 0xFFBFF398)  Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/openwin/lib/libmozjs.so&quot;, 0xFFBFF398) Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/lib/libmozjs.so&quot;, 0xFFBFF398)            Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/lib/libmozjs.so&quot;, 0xFFBFF398)        Err#2 ENOENT&lt;br /&gt;
ld.so.1: ./thunderbird-bin: fatal: libmozjs.so: open failed: No such file or directory&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/libgtk-x11-2.0.so.0&quot;, 0xFFBFF398) Err#2 ENOENT&lt;br /&gt;
...&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Очень хорошо видно, как линковщик последовательно перебирает стандартные пути в поисках каждой библиотеки. И для libmozjs.so мы видим, что по логике вещей этот файл должен был быть в каталоге /export/soft/thunderbird. Его там нету, потому что я для этой демонстрации его специально переименовал. &lt;br /&gt;
А вот так будет выглядеть ldd, когда файл оказывается на месте:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=code&gt;&lt;code&gt;bash-3.00$ &lt;b&gt;ldd thunderbird-bin&lt;/b&gt;&lt;br /&gt;
        libmozjs.so =&gt;   /export/soft/thunderbird/libmozjs.so&lt;br /&gt;
        libgtk-x11-2.0.so.0 =&gt;   /usr/lib/libgtk-x11-2.0.so.0&lt;br /&gt;
        libgdk-x11-2.0.so.0 =&gt;   /usr/lib/libgdk-x11-2.0.so.0&lt;br /&gt;
        libatk-1.0.so.0 =&gt;       /usr/lib/libatk-1.0.so.0&lt;br /&gt;
        libgdk_pixbuf-2.0.so.0 =&gt;        /usr/lib/libgdk_pixbuf-2.0.so.0&lt;br /&gt;
        libm.so.2 =&gt;     /lib/libm.so.2&lt;br /&gt;
...&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Т.е. как раз из /export/soft/thunderbird/libmozjs.so эта библиотека и берётся. &lt;br /&gt;
&lt;br /&gt;
Таким образом, комбинацией команд ldd и truss можно совершенно однозначно определить, какие библиотеки, откуда и в каком порядке читаются исполняемым файлом, за которым вы наблюдаете.&lt;br /&gt;
&lt;br /&gt;
3) Для случаев с ошибками &quot;referenced symbol not found&quot;, нужно сделать ещё один дополнительный шаг. Ошибки эти происходят чаще всего потому, что библиотека, искомая исполняемым файлом, линковщиком находится, но не содержит всех функций, которые линковщик ожидает в ней найти. Так что после пунктов 1 и 2 этого руководства, как только мы точно узнаем, какой именно файл используется для каждой подгружаемой библиотеки, мы можем воспользоваться командой nm. Во многих библиотеках хранятся тысячи доступных процедур, поэтому правильнее всего будет использовать grep с указанием частичного названия процедуры, которую ваша программа не находит в библиотеке.&lt;br /&gt;
&lt;br /&gt;
Например, данная команда показывает все процедуры, доступные из библиотеки libgdk-x11-2.0, начинающиеся на gdk_threads:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=code&gt;&lt;code&gt;bash-3.00$ &lt;b&gt;nm /usr/lib/libgdk-x11-2.0.so.0 | grep gdk_threads&lt;/b&gt;&lt;br /&gt;
[3632] | 86512| 68|FUNC |GLOB |0 |11 |gdk_threads_enter&lt;br /&gt;
[219] | 86648| 104|FUNC |LOCL |0 |11 |gdk_threads_impl_lock&lt;br /&gt;
[220] | 86752| 104|FUNC |LOCL |0 |11 |gdk_threads_impl_unlock&lt;br /&gt;
[4329] | 86856| 212|FUNC |GLOB |0 |11 |gdk_threads_init&lt;br /&gt;
[3507] | 86580| 68|FUNC |GLOB |0 |11 |gdk_threads_leave&lt;br /&gt;
[4095] | 532720| 4|OBJT |GLOB |0 |17 |gdk_threads_lock&lt;br /&gt;
[3579] | 532716| 4|OBJT |GLOB |0 |17 |gdk_threads_mutex&lt;br /&gt;
[4391] | 87068| 144|FUNC |GLOB |0 |11 |gdk_threads_set_lock_functions&lt;br /&gt;
[4443] | 532724| 4|OBJT |GLOB |0 |17 |gdk_threads_unlock&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Соответственно, если вы получаете ошибку &quot;referenced symbol not found&quot;, часто это просто потому, что используется неверная версия библиотеки - более старая, или слишком новая, и нужные процедуры в ней либо отсутствуют, либо носят другие названия.&lt;br /&gt;
&lt;br /&gt;
Ну, я думаю всё. Если вдруг у кого-то есть дополнения к этому небольшому руководству, то милости прошу комментировать. Буду очень рад узнать ваше мнение! 
    </content:encoded>

    <pubDate>Fri, 03 Mar 2006 11:07:50 +0300</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2006/03/howto_using_truss_ldd_nm</guid>
    <category>how-to</category>
<category>howto</category>
<category>ldd</category>
<category>nm</category>
<category>solaris</category>
<category>sysadmin</category>
<category>troubleshooting</category>
<category>truss</category>
<category>how-to</category>
<category>howto</category>
<category>ldd</category>
<category>nm</category>
<category>solaris</category>
<category>sysadmin</category>
<category>troubleshooting</category>
<category>truss</category>

</item>
<item>
    <title>Сервисы в Solaris: замена SunSSH на OpenSSH</title>
    <link>http://solaris.reys.net/2005/06/solaris_replacing_sunssh_with_openssh</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2005/06/solaris_replacing_sunssh_with_openssh#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=70</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=70</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Сегодня я хотел написать пример создания нового сервиса в Solaris, и объяснить работу с манифестом  на примере замены стандартного SSH-сервера, идущего с Solaris 10 FCS, на последний билд OpenSSH - 4.1p1. А когда заглянул в файлик &lt;b&gt;/var/svc/manifest/network/ssh.xml&lt;/b&gt;, то тут же понял, что обширного примера сегодня не получится. Всё гораздо проще оказалось. Для подмены SSH-сервера нужно лишь поменять пути к &lt;b&gt;ssh-keygen&lt;/b&gt; и &lt;b&gt;sshd&lt;/b&gt; в файле &lt;b&gt;/lib/svc/method/sshd&lt;/b&gt;. Именно этот файл и запускается из файла манифеста &lt;b&gt;ssh.xml&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
pS: естественно, кроме этих шагов, придётся ещё &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=939&amp;amp;entry_id=70&quot; title=&quot;http://www.openbsd.org/openssh/portable.html#mirrors&quot;  onmouseover=&quot;window.status=&#039;http://www.openbsd.org/openssh/portable.html#mirrors&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;скачать&lt;/a&gt; и скомпилировать &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=940&amp;amp;entry_id=70&quot; title=&quot;http://www.openssh.org&quot;  onmouseover=&quot;window.status=&#039;http://www.openssh.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;OpenSSH&lt;/a&gt; 
    </content:encoded>

    <pubDate>Thu, 23 Jun 2005 02:36:34 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2005/06/solaris_replacing_sunssh_with_openssh</guid>
    <category>opensolaris</category>
<category>openssh</category>
<category>solaris</category>
<category>ssh</category>
<category>opensolaris</category>
<category>openssh</category>
<category>solaris</category>
<category>ssh</category>

</item>
<item>
    <title>OpenGL драйвер NVidia для x64/x86</title>
    <link>http://solaris.reys.net/2005/06/nvidia_opengl_x86_64bit_driver</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2005/06/nvidia_opengl_x86_64bit_driver#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=64</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=64</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Замечательная новость! Мы наконец-то дождались OpenGL драйвера для x86! Как уже рассказал &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=929&amp;amp;entry_id=64&quot; title=&quot;http://blogs.sun.com/roller/page/tpenta/20050601#nvidia_drivers_available_for_solaris&quot;  onmouseover=&quot;window.status=&#039;http://blogs.sun.com/roller/page/tpenta/20050601#nvidia_drivers_available_for_solaris&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Алан&lt;/a&gt;, наконец-то выпустился OpenGL драйвер для карточек NVidia. Драйвер будет работать только в системах, начиная с Solaris 10. Работает он замечательно, и как &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=930&amp;amp;entry_id=64&quot; title=&quot;http://blogs.sun.com/roller/page/smg/20050602&quot;  onmouseover=&quot;window.status=&#039;http://blogs.sun.com/roller/page/smg/20050602&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;правильно сказал Шон&lt;/a&gt;, драйвер уже был опробован с Quake II! :)&lt;br /&gt;
&lt;br /&gt;
Страница, посвящённая этому драйверу на сайте NVidia &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=931&amp;amp;entry_id=64&quot; title=&quot;http://www.nvidia.com/object/solaris_display_1.0-7664.html&quot;  onmouseover=&quot;window.status=&#039;http://www.nvidia.com/object/solaris_display_1.0-7664.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;находится тут&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Sat, 04 Jun 2005 15:07:49 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2005/06/nvidia_opengl_x86_64bit_driver</guid>
    
</item>
<item>
    <title>HOW-TO: Установка Solaris с помощью PXE/DHCP</title>
    <link>http://solaris.reys.net/2005/05/installing_solaris_with_pxe_dhcp</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2005/05/installing_solaris_with_pxe_dhcp#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=63</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=63</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Следующий билд &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=932&amp;amp;entry_id=63&quot; title=&quot;http://www.sun.com/software/solaris/solaris-express/get.jsp&quot;  onmouseover=&quot;window.status=&#039;http://www.sun.com/software/solaris/solaris-express/get.jsp&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Solaris Express&lt;/a&gt; будет скорее всего уже содержать одну из долгожданных новых возможностей: архитектуру Solaris NewBoot для систем x86.  Среди прочих улучшений архитектуры загрузки системы, NewBoot представляет использование загрузчика &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=933&amp;amp;entry_id=63&quot; title=&quot;http://www.gnu.org/software/grub/&quot;  onmouseover=&quot;window.status=&#039;http://www.gnu.org/software/grub/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;GRUB&lt;/a&gt; с поддержкой ufs, и &lt;b&gt;pxegrub&lt;/b&gt; для PXE-загрузки. Каспер Дик (Casper Dik) рассказывает про Newboot одной из записей своего блога: &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=934&amp;amp;entry_id=63&quot; title=&quot;http://blogs.sun.com/roller/page/casper/20050427#the_end_of_realmode_boot&quot;  onmouseover=&quot;window.status=&#039;http://blogs.sun.com/roller/page/casper/20050427#the_end_of_realmode_boot&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;The End Of Realmode Boot&lt;/a&gt;.&lt;br /&gt;
В этой моей записи я попытаюсь объяснить, как создать сервер для установки Solaris по сети с помощью &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=935&amp;amp;entry_id=63&quot; title=&quot;http://www.pxe.ca/&quot;  onmouseover=&quot;window.status=&#039;http://www.pxe.ca/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PXE&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Процедура, описанная внизу, описывает шаги, необходимые для загрузки и установки сетевых клиентов с помощью PXE. Описывается настройка загрузчика Grub для всех билдов Solaris для x86, начиная с Nevada b14. Самым очевидным требованием является, конечно же, наличие сетевых адаптеров в клиентских машинах, имеющих поддержку PXE. &lt;br /&gt;
&lt;br /&gt;
Вот полный список компонент на стороне сервера, которые вам нужно настроить, чтобы устанавливать ваши клиентские машины с помощью PXE:&lt;br /&gt;
&lt;br /&gt;
1. DHCP сервер&lt;br /&gt;
2. Образ для сетевой установки OS&lt;br /&gt;
3. Конфигурационные файлы Jumstart для конкретного клиента&lt;br /&gt;
&lt;br /&gt;
Сначала я пройду по этому списку, а позже объясню, как настроить саму клиентскую машину:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. DHCP SERVER&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1.1. Установка&lt;/b&gt;&lt;br /&gt;
Начните установку сервера с помощью следующей команды:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
bash-3.00# dhcpconfig -D -r SUNWbinfiles -p /var/dhcp&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Она сконфигурирует ваш DHCP-сервер: создаст пустую таблицу ресурсов в /var/dhcp, и создаст файл &lt;b&gt;/etc/inet/dhcpsvc.conf&lt;/b&gt; примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;DAEMON_ENABLED=TRUE&lt;br /&gt;
RESOURCE=SUNWbinfiles&lt;br /&gt;
RUN_MODE=server&lt;br /&gt;
PATH=/var/dhcp&lt;br /&gt;
CONVER=1&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
На этой же стадии запускается DHCP-демон (&lt;b&gt;/usr/lib/inet/in.dhcpd&lt;/b&gt;), а указанный выше файл &lt;b&gt;dhcpsvc.conf&lt;/b&gt; обеспечивает автоматический запуск демонта после перезагрузки из скрипта &lt;b&gt;/etc/init.d/dhcp&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1.2. Сети&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
На этом этапе вам нужно посмотреть на топологию вашей сети и решить, которые из сетей будут обслуживаться вашим DHCP-сервером. Если ваш DHCP-сервер был сконфигурирован кем-то другим до вас, то вот как можно посмотреть список сетей, которые сервер обслуживает на данный момент:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;pntadm -L&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
В ответ вы получите список сетей. На нашем сервере он выглядит так:&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;192.1.3.0&lt;br /&gt;
192.1.4.0&lt;br /&gt;
192.1.1.0&lt;br /&gt;
192.1.2.0&lt;br /&gt;
192.1.9.0&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы создать таблицу для новой сети, нужно выполнить такую команду:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;pntadm -C 192.1.10.0&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Убедитесь, что ваш файл &lt;b&gt;/etc/netmasks&lt;/b&gt; содержит правильную информацию, если ваша сеть разбита на подсети.&lt;br /&gt;
&lt;br /&gt;
Обновите ваш файл &lt;b&gt;/etc/inet/dhcpsvc.conf&lt;/b&gt;, чтобы он включал все активные интерфейсы для DHCP. Вот как выглядит нужный вам параметр на нашем сервере:&lt;br /&gt;
&lt;b&gt;INTERFACES=hme1,qfe0,qfe1,qfe3&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Образ для сетевой установки OS&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Для создания такого образа можно воспользоваться инструкциями с вот этой страницы docs.sun.com: &lt;br /&gt;
&lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=936&amp;amp;entry_id=63&quot; title=&quot;http://docs.sun.com/app/docs/doc/817-5504/6mkv4nh3m?a=view&quot;  onmouseover=&quot;window.status=&#039;http://docs.sun.com/app/docs/doc/817-5504/6mkv4nh3m?a=view&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Creating an install server with CD media&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Вкратце: создайте каталог для вашего образа, и используйте команды setup_install_server и add_instll_server для копирования необходимых файлов из каталога Solaris_10.1/Tools ваших установочных дисков Solaris (CD или DVD).&lt;br /&gt;
После этого каталог следует сделать доступным по NFS (расшарить).&lt;br /&gt;
&lt;br /&gt;
Список действий:&lt;br /&gt;
	- создать каталог для установочного образа и сделать его доступным по NFS для ваших клиентских машин&lt;br /&gt;
	- если у вас больше одной сети, нужно убедиться, что этот каталог будет доступен всем обслуживаемым вами сетям&lt;br /&gt;
&lt;br /&gt;
Команда &lt;b&gt;share&lt;/b&gt; выдаст вам что-нибудь вроде этого для вашего каталога:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
-               /export/install2   ro=@192.1.1:@192.1.2:@192.1.3:@192.1.4:@192.1.9	&quot;&quot;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. Конфигурация JumpStart&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Сначала, проследуйте инструкциям с этой страницы:&lt;br /&gt;
&lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=937&amp;amp;entry_id=63&quot; title=&quot;http://docs.sun.com/app/docs/doc/817-2753/6mid55lo8?q=jumpstart&amp;amp;a=view&quot;  onmouseover=&quot;window.status=&#039;http://docs.sun.com/app/docs/doc/817-2753/6mid55lo8?q=jumpstart&amp;amp;a=view&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Creating a profile for networked system&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
На нашем сервере, каталог JumpStart это /export/install/config. Дальше, каждая машина имеет там свой каталог, например /export/install/config/perf-123.&lt;br /&gt;
&lt;br /&gt;
Так. Теперь, если предположить, что вы всё сделали правильно, у вас есть DHCP-сервер, установленный и сконфигурарованный, а также образ для сетевой установки Solaris и набор файлов JumpStart для одной из ваших клиентских машин.&lt;br /&gt;
&lt;br /&gt;
Теперь мы готовы к переустановке вашего клиента по сети. Вот что нужно сделать:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1) add_install_client для общего случая&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Из вашего каталога с образом сетевой установки, и из подкаталога Solaris_10.1/Tools, нас нужно запустить скрипт add_install_script. На нашем сервере, для Nevada b14 это следующий каталог:&lt;br /&gt;
&lt;br /&gt;
/export/install2/nv/snv_14/Solaris_10.1/Tools&lt;br /&gt;
&lt;br /&gt;
Теперь, сделайте следующее:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;./add_install_client -d SUNW.i86pc i86pc&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Это очень важная команда. Она создаёт, если требуется, каталог &lt;b&gt;/tftpboot&lt;/b&gt;, или добавляет в него общие файлы для образа сетевой установки, который мы используем. Также эта команда активирует TFTP демон на вашем сервере. Ну и в конце концов, эта команда создаст файл &lt;b&gt;/tftboot/pxegrub.I86PC.Solaris_10.1-1&lt;/b&gt;, который будет использован каждым клиентом, загружающимся по сети с помощью PXE.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2) add_install_client для каждого сетевого клиента&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Теперь, для нашего клиента, нужно выполнить следующую команду:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;./add_install_client&amp;#160;-d&amp;#160;-e&amp;#160;$ETHER&amp;#160;\&lt;br /&gt;
				-c&amp;#160;$SERVER&amp;#58;/export/install/config/$SYSNAME&amp;#160;\&lt;br /&gt;
				-p&amp;#160;$SERVER&amp;#58;/export/install/config/$SYSNAME&amp;#160;\&lt;br /&gt;
				-s&amp;#160;$SERVER&amp;#58;$SOLARIS_PATH&amp;#160;\&lt;br /&gt;
				-b&amp;#160;&quot;console=$TTY&quot;&amp;#160;i86pc&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Это одна из строк нашего скрипта, который автоматизирует установку машин по сети, и эта линия очень ясно показывает, что передаётся команде add_install_client в качестве параметров: &lt;b&gt;$ETHER&lt;/b&gt; это MAC-адрес клиентской машины. Не следует забывать, что для большинства MAC-адресов вам следует добавлять &quot;01&quot; в начале адреса. Также, следует избавиться от двоеточий в MAC-адресе. Так что, если у вашей клиентской машины есть такая вот запись в файле &lt;b&gt;/etc/ethers&lt;/b&gt; на сервере:&lt;br /&gt;
&lt;b&gt;00:09:3d:00:68:f3 perf-123&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
То MAC-адрес, который вам следует передать как один из параметров для add_install_client будет таким: &lt;b&gt;0100093D0068F3&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Остальные параметры:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;$SERVER&lt;/b&gt; - IP-адрес интерфейса вашего сервера, к которому подключена подсеть с устанавливаемой клиентской машиной&lt;br /&gt;
&lt;b&gt;$SYSNAME&lt;/b&gt; - имя клиентской машины (hostname)&lt;br /&gt;
&lt;b&gt;$SOLARIS_PATH&lt;/b&gt; - полный путь к имиджу сетевой установки&lt;br /&gt;
&lt;b&gt;$TTY&lt;/b&gt; -  устройство ввода-вывода, используемое при загрузке по сети с помощью pxegrub. Можно указать &lt;b&gt;ttya&lt;/b&gt; или &lt;b&gt;ttyb&lt;/b&gt; чтобы использовать консоль. Также можно вообще не указывать здесь ничего, и тогда будет использоваться устройство по умолчанию (экран/клавиатура).&lt;br /&gt;
&lt;br /&gt;
Так что, для нашей клиентской машины perf-123, финальный вариант команды будет выглядеть вот так:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;./add_install_client&amp;#160;-d&amp;#160;-e&amp;#160;0100093D0068F3&amp;#160;\&lt;br /&gt;
				-c&amp;#160;192.1.1.254&amp;#58;/export/install/config/perf-123&amp;#160;\&lt;br /&gt;
				-p&amp;#160;192.1.1.254&amp;#58;/export/install/config/perf-123&amp;#160;\&lt;br /&gt;
				-s&amp;#160;192.1.1.254&amp;#58;/export/install2/nv/snv_14&amp;#160;\&lt;br /&gt;
				-b&amp;#160;&quot;console=ttya&quot;&amp;#160;i86pc&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Эта команда создаст в вашем каталоге &lt;b&gt;/tftpboot&lt;/b&gt; следующие три файла:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;menu.lst.0100093D0068F3&lt;/b&gt; - меню загрузчика grub для загрузки вашего клиента через PXE&lt;br /&gt;
&lt;b&gt;rm.0100093D0068F3&lt;/b&gt; - стандартный скрипт для удаления файлов вашего клиента из каталога /tftpboot&lt;br /&gt;
&lt;b&gt;0100093D0068F3&lt;/b&gt; - символьная ссылка на общий pxegrub файл конкретного билда Solaris в /tftpboot&lt;br /&gt;
&lt;br /&gt;
Для perf-123, эта ссылка выглядит так:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;bash#&amp;#160;ls&amp;#160;-al&amp;#160;/tftpboot/0100093D0068F3&lt;br /&gt;
lrwxrwxrwx&amp;#160;&amp;#160;&amp;#160;1&amp;#160;root&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;other&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;28&amp;#160;May&amp;#160;23&amp;#160;17&amp;#58;27&amp;#160;\&lt;br /&gt;
/tftpboot/0100093D0068F3&amp;#160;-&amp;#62;&amp;#160;pxegrub.I86PC.Solaris_10.1-1&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Если проверить теперь, меню загрузчика grub будет выглядеть примерно так:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;bash#&amp;#160;more&amp;#160;/tftpboot/menu.lst.0100093D0068F3&amp;#160;&lt;br /&gt;
default=0&lt;br /&gt;
timeout=30&lt;br /&gt;
title&amp;#160;Solaris_10.1&amp;#160;Jumpstart&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;kernel&amp;#160;/I86PC.Solaris_10.1-1/multiboot&amp;#160;kernel/unix&amp;#160;-B&amp;#160;\&amp;#160;&lt;br /&gt;
console=ttya,install_config=192.1.1.254&amp;#58;/export/install/config/perf-123,&amp;#160;\&amp;#160;&lt;br /&gt;
sysid_config=192.1.1.254&amp;#58;/export/install/config/perf-123,&amp;#160;\&amp;#160;&lt;br /&gt;
install_media=192.1.1.254&amp;#58;/export/install2/nv/snv_14&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;module&amp;#160;/I86PC.Solaris_10.1-1/x86.miniroot&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
К сожалению, на этой ранней стадии, придётся вручную изменить этот файл, чтобы он не только позволил клиенту загрузиться по сети, но и автоматически начать инсталляцию Solaris согласно JumpStart-настройкам. Чтобы добиться этого, нужно передать ядру Solaris следующие агрументы: &quot;- install dhcp&quot;. Так что мы обновляем файл меню, чтобы он содержал эти аргументы, следующим образом:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;	kernel&amp;#160;/I86PC.Solaris_10.1-1/multiboot&amp;#160;kernel/unix&amp;#160;-&amp;#160;install&amp;#160;dhcp&amp;#160;&amp;#160;-B&amp;#160;\&amp;#160;&lt;br /&gt;
console=ttya,install_config=192.1.1.254&amp;#58;/export/install/config/perf-123,&amp;#160;\&amp;#160;&lt;br /&gt;
sysid_config=192.1.1.254&amp;#58;/export/install/config/perf-123,&amp;#160;\&amp;#160;&lt;br /&gt;
install_media=192.1.1.254&amp;#58;/export/install2/nv/snv_14&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Я уверен, что скоро появится соответствующая опция командной строки для add_install_client, и тогда я внесу в это руководство соответствующие изменения.&lt;br /&gt;
 &lt;br /&gt;
Как можно видеть, большинство параметров, передаваемых add_install_clients, оказываются в этом файле меню. Также, этот файл - хороший вариант самопроверки, потому что он содержит все параметры, показывающие, откуда сетевой клиент попытается монтировать файловую систему с образом сетевой установки, и какие файлы JumpStart&#039;а клиент будет ожидать найти для автоматической установки.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3) DHCP - IP-адреса и макрос для нашей клиентской машины&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Перво-наперво, нужно присвоить нашему клиенту фиксированный IP-адрес, который будет выдаваться DHCP-сервером клиенту по соответствующему запросу перед началом сетевой загрузки и установки:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
pntadm -f 01 -e 12/31/2010 -A $IPADDR -i $ETHER -m $SYSNAME -s $SERVER $NETWORK.0&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Большинство параметров были названы так, чтобы объяснять своё предназначение, и они также знакомы вам с описания параметров команды add_install_client чуть выше. Так что я объясню лишь новые параметры:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;$IPADDR&lt;/b&gt; - IP-адрес, который вы хотите, чтобы ваш DHCP-сервер выдал вашему клиенту&lt;br /&gt;
&lt;b&gt;$NETWORK&lt;/b&gt; - подсеть, к которой принадлежит ваш клиент. Естественно, $IPADDR должен быть в этой подсети.&lt;br /&gt;
&lt;b&gt;-f 01&lt;/b&gt; - это значение флага означает, что адрес присваевается клиенту на постоянной основе&lt;br /&gt;
&lt;b&gt;-e 12/31/2010&lt;/b&gt; устанавливает срок действия присваемого клиенту IP-адреса (когда сервер решает, что может заново выдать этот адрес кому-нибудь. До 2010 года этого не произойдёт, согласно этому флагу)&lt;br /&gt;
&lt;br /&gt;
Кроме IP-адреса, эта команда также присваивает нашему клиенту макрос - именованный набор параметров, которые DHCP-сервер пошлёт клиенту. Это необходимо для загрузки по сети с помощью PXE. Макрос носит имя (параметр -m), совпадающее с именем клиента. &lt;br /&gt;
&lt;br /&gt;
Вот команда, создающая макрос с именем $SYSNAME:&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
dhtadm -A -m $SYSNAME -d &quot;:BootSrvA=$SERVER:BootFile=$ETHER:&quot;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Это команда указывает клиенту загрузиться по сети с помощью PXE с сервера, чей IP-адрес - $SERVER, и использовать имя загрузчика с именем $ETHER. Этот файл, как вы помните, в конечном счёте указывает на pxegrub-файл имиджа сетевой установки OS.&lt;br /&gt;
&lt;br /&gt;
Вот и всё! Проследите, что ваш BIOS на клиентской машине указывает на сетевой интерфейс, активированный для PXE, затем перегрузите клиента, и вы должны увидеть на его устройстве вывода, как он загружает Solaris miniroot по сети, а потом загружает Solaris и продолжает установку. Как всегда, &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=938&amp;amp;entry_id=63&quot; title=&quot;http://docs.sun.com/app/docs/doc/817-0690/6mgflntn3?q=snoop&amp;amp;a=view&quot;  onmouseover=&quot;window.status=&#039;http://docs.sun.com/app/docs/doc/817-0690/6mgflntn3?q=snoop&amp;amp;a=view&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;snoop&lt;/a&gt; - наш верный товарищ в траблшутинге. 
    </content:encoded>

    <pubDate>Thu, 26 May 2005 14:44:09 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2005/05/installing_solaris_with_pxe_dhcp</guid>
    <category>dhcp</category>
<category>opensolaris</category>
<category>pxe</category>
<category>solaris</category>
<category>dhcp</category>
<category>opensolaris</category>
<category>pxe</category>
<category>solaris</category>

</item>
<item>
    <title>Презентация по Solaris 10 от авторов Solaris Internals</title>
    <link>http://solaris.reys.net/2005/04/solaris_10_internals_presentation</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2005/04/solaris_10_internals_presentation#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=60</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=60</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    На сайте &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=927&amp;amp;entry_id=60&quot; title=&quot;http://www.solarisinternals.com&quot;  onmouseover=&quot;window.status=&#039;http://www.solarisinternals.com&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Solaris Internals&lt;/a&gt;, посвящённом замечательной одноимённой книге, авторы выложили презентацию по особенностям устройства внутренних механизмов Solaris 10, которую я настоятельно рекомендую прочитать.&lt;br /&gt;
&lt;br /&gt;
Авторы - это инженеры Sun Microsystems высочайшего уровня, и судя по тому, каким хитом стала их книга, данная презентация - один из лучших на данный момент источников информации по устройству Solaris 10.&lt;br /&gt;
&lt;br /&gt;
PDF файл с презентацией доступен &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=928&amp;amp;entry_id=60&quot; title=&quot;http://www.solarisinternals.com/si/reading/t2-solaris-slides.pdf&quot;  onmouseover=&quot;window.status=&#039;http://www.solarisinternals.com/si/reading/t2-solaris-slides.pdf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt; вот здесь&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Wed, 06 Apr 2005 18:38:41 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2005/04/solaris_10_internals_presentation</guid>
    
</item>
<item>
    <title>Цветовые схемы vim</title>
    <link>http://solaris.reys.net/2005/01/vim_color_schemes</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/2005/01/vim_color_schemes#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=40</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=40</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Обожаю текстовый редактор &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=924&amp;amp;entry_id=40&quot; title=&quot;http://www.vim.org&quot;  onmouseover=&quot;window.status=&#039;http://www.vim.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;vim&lt;/a&gt;!&lt;br /&gt;
&lt;br /&gt;
Сегодня скомпилировал его на лаптопе, и решил подобрать какую-нибудь цветовую схему. И хотя я знаю, что под &lt;b&gt;vim&lt;/b&gt; написаны скрипты, позволяющие демонстрировать различные цветовые схемы, для этого их (схемы) нужно сначала скачать, а делать этого не хотелось. И посему решено было найти вариант получше. Старый добрый &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=925&amp;amp;entry_id=40&quot; title=&quot;http://www.google.com&quot;  onmouseover=&quot;window.status=&#039;http://www.google.com&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Google&lt;/a&gt; помог найти замечательную страничку, содержащую таблицы с кучей цветовых схем для &lt;b&gt;vim&lt;/b&gt; на любой вкус. Понравилось это мне тем, что всё очень наглядно - легко сравнить схемы и выбрать подходящую... &lt;br /&gt;
&lt;br /&gt;
Так что загляните, как будет время - не пожалеете: &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=926&amp;amp;entry_id=40&quot; title=&quot;http://www-2.cs.cmu.edu/~maverick/VimColorSchemeTest/&quot;  onmouseover=&quot;window.status=&#039;http://www-2.cs.cmu.edu/~maverick/VimColorSchemeTest/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Vim Color Scheme Test&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Thu, 06 Jan 2005 15:22:30 +0300</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/2005/01/vim_color_schemes</guid>
    
</item>

</channel>
</rss>