КатегорииLinksUnix Tutorial
Personal Development Ruslan Valiev Solaris Performance Team Damien Farnham Fintan Ryan Nicky Veitch Niall Mullen Sean McGrath DTrace Bryan Cantrill Brendan Gregg ZFS Tim Foster General Ben Rockwood Learning Solaris 10 Privacy policy |
Saturday, 29 April. 2006
Solaris 10 как клиент DHCP Добавил Gleb Reys
в категории SysAdmin в
16:14
Комментарии (4) Обратные ссылки (0) Select language: English
Solaris 10 как клиент DHCP
Просто хотел отметить здесь самый быстрый и краткий путь к использованию вашего Solaris-бокса в качестве клиента DHCP.
1) Нужно создать файл /etc/hostname. Например: bash-3.00# touch /etc/hostname.skge0 2) Создать файл /etc/dhcp. В этом же файле можно указать, сколько секунд ifconfig будет ждать ответа от DHCP-сервера, прежде чем продолжит загрузку Solaris. bash-3.00# cat /etc/dhcp.skge0 wait 60 3) Имя вашей системы Оно должно храниться в файле /etc/nodename. Это значение будет использоваться, если ваш DHCP-сервер не предоставляет имя хоста по запросу вашего DHCP-клиента. Вот и всё, теперь перегружайте систему, и всё должно работать! Удачи! Friday, 21 April. 2006
HOW-TO: X11 forwarding с ssh, putty ... Добавил Gleb Reys
в категории SysAdmin в
12:37
Комментарии (19) Обратные ссылки (0) Select language: English
HOW-TO: X11 forwarding с ssh, putty и Xming
Эту связку я использую вот уже больше года, практически ежедневно - и дома, и на работе. Всё очень удобно, и, главное, совершенно бесплатно.
X11 Forwarding с ssh - это замечательная возможность, которая позволяет вам получить у себя на клиентском десктопе окно удалённо запускаемого графического приложения. Есть множество дорогих продуктов вроде Citrix, GoGlobal и XWin32, которые позволяют вам получать доступ к вашим удалённым десктоп-сессиям на Unix-серверах, но если всё, что вам нужно - это получить окошко какого-то приложения на вашем экране, то все эти продукты совершенно не нужны. А гораздо правильное будет использовать X forwarding и Xming. Xming - это порт X Windows для вашей настольной Microsoft Windows. По сути, это X-сервер, запускаемый прозрачно поверх вашего рабочего стола в MS Windows, что позволяет вам перенапралять графический вывод на удалённых Unix хостах, чтобы запускаемые там приложения отображались у вас на десктопе MS Windows. Xming - очень простая и удобная в использовании штука. Всё, что вам нужно - это скачать и установить дистрибутив с со страницы проекта на SourceForge: XMing @ SourceForge. После установки, я советую вам создать ярлык в панели быстрого запуска, и изменить нужным образом командную строку выполнения команды. Вот моя полная командная строка: "C:\Program Files\Xming\Xming.exe" :0 -clipboard -multiwindow -xkblayout us,ru -xkbvariant winkeys -xkboptions grp:ctrl_shift_toggle Как видно из примера, я использую две раскладки клавиатуры, и переключаюсь на русский язык с помощью Ctrl+Shift. Теперь, когда Xming у вас уже настроен, нужно позаботиться об ssh стороне вопроса. Нужно изменить конфигурационный файл вашего ssh-демона: /etc/ssh/sshd_config. Позаботьтесь, чтобы в нём была вот такая секция с подобными значениями: # X11 tunneling options X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes Если у вас уже были подобные параметры, то ничего делать не нужно. Если же вы изменили этот файл конфигурации, то следует перезапустить ssh: bash-3.00# svcadm restart svc:/network/ssh Всё, что осталось теперь - это скачать замечательного клиента Putty, если вы его ещё не используете для ваших ssh-сессий. Взять Putty можно вот по этому адресу: Putty: a free telnet/ssh client. Я не буду подробно объяснять настройку Putty, это наверняка сделано до меня другими, но скажу лишь, что для X11 forwarding'а вам нужно пробраться в настройки программы (основное окно), выбрать там раздел Connection, потом SSH, потом X11, и в появившемся разделе отметить галочку Enable X11 Forwarding. Вот и всё. Желаю удачи! Thursday, 13 April. 2006
Что бы мы делали без ... Добавил Gleb Reys
в категории SysAdmin в
01:38
Комментарии (0) Обратные ссылки (0) Select language: English
Что бы мы делали без замечательной утилиты crle?
В процессе компилирования необходимого набора программ для 64 бит, я в очередной рад воспользовался замечательной утилитой crle, и снова отметил, насколько проще становится жизнь если её использовать.
В странице-руководстве (man crle) сказано вот что: The crle utility provides for the creation and display of a И именно этим утилита и полезна - можно указать, где компоновщику следует искать необходимые библиотеки в первую очередь, и многие проблемы пропросту исчезнут. Так что бы мы делали без этой замечательной утилиты? Всё очень просто: 1) указывали бы обязательно дополнительные параметры для компиляторов - пути к библиотекам с параметрами -L и -R 2) Пользовались бы старой и надёжной переменной LD_LIBRARY_PATH, которая так же позволяет указывать каталоги, откуда компоновщику стоит брать библиотеки. Мало того, что это неудобно потому, что нужно тратить дополнительное время, так ещё и настройки эти годятся только для конкретного пользователя - и любой другой, кто захочет использовать скомпилированную с помощью подобных ухищрений программу, вынужден будет делать то же самое - устанавливать себе аналогичное значение LD_LIBRARY_PATH. А с crle всё гораздо проще: для просмотра текущих параметров работы компоновщика (списков каталогов), нужно просто запустить команду: -bash-3.00$ crle Default configuration file (/var/ld/ld.config) not found Default Library Path (ELF): /lib:/usr/lib (system default) Trusted Directories (ELF): /lib/secure:/usr/lib/secure (system default) для просмотра конфигурации при работе компоновщика с 64-битными объектами, нужно указать соответствующий параметр: -bash-3.00$ crle -64 Configuration file [version 4]: /var/ld/64/ld.config Default Library Path (ELF): /lib/64:/usr/lib/64:/usr/sfw/lib/64 Trusted Directories (ELF): /lib/secure/64:/usr/lib/secure/64 (system default) Command line: crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/sfw/lib/64 И как видно из примера, достаточно выполнить вот такую команду, чтобы добавить новый каталог к списку тех, где компоновщик будет искать библиотеки. Например, если я хочу добавить к списку свой собственный каталог /export/soft/lib/64, то сделать это можно вот так: -bash-3.00$ crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/sfw/lib/64:/export/soft/lib/64
Monday, 10 April. 2006
Компилирование MySQL ... Добавил Gleb Reys
в категории SysAdmin в
18:03
Комментарии (0) Обратные ссылки (0) Select language: English
Компилирование MySQL для amd64
Вчера я начал потихоньку компилировать себе набор необходимых программ на новом сервере. Естественно, всё компилируется в 64 битах. Для многих пакетов я использовал один и тот же набор флагов CFLAGS и LDFLAGS, и всё прекрасно работало.
И при попытке скомпилировать 64-битную последнюю версию MySQL - 5.0.19, я использовал следующие параметры для скрипта configure: mysql#MAKE="/usr/sfw/bin/gmake" CFLAGS="-m64" LDFLAGS="-m64 -L/lib/64" ./configure --prefix=/export/soft/mysql-5.0.19 --with-charset=utf8 но в процессе компиляции я наткнулся на следующую ошибку: Making all in sql gmake[2]: Entering directory `/export/dist/mysql-5.0.19/sql' if g++ -DMYSQL_SERVER -DDEFAULT_MYSQL_HOME="\"/export/soft/mysql-5.0.19\"" -DDATADIR="\"/export/soft/mysql-5.0.19/var\"" -DSHAREDIR="\"/export/soft/mysql-5.0.19/share/mysql\"" -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 ".deps/gen_lex_hash.Tpo" -c -o gen_lex_hash.o gen_lex_hash.cc; \ then mv -f ".deps/gen_lex_hash.Tpo" ".deps/gen_lex_hash.Po"; else rm -f ".deps/gen_lex_hash.Tpo"; exit 1; fi /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 mkdir .libs 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 ld: fatal: file gen_lex_hash.o: wrong ELF class: ELFCLASS32 ld: fatal: File processing errors. No output written to .libs/gen_lex_hash collect2: ld returned 1 exit status gmake[2]: *** [gen_lex_hash] Error 1 gmake[2]: Leaving directory `/export/dist/mysql-5.0.19/sql' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/export/dist/mysql-5.0.19' gmake: *** [all] Error 2 Внимательный читатель или опытный разработчик сразу же увидит из этого примера, в чём дело. А оно оказалось в том, что я не указал параметра -m64 для g++. Вот такие параметры исправили проблему: mysql#MAKE="/usr/sfw/bin/gmake" CFLAGS="-m64" CXXFLAGS="-m64" LDFLAGS="-m64 -L/lib/64" ./configure --prefix=/export/soft/mysql-5.0.19 --with-charset=utf8 Update: Ещё одна ошибка была обнаружена на более поздней стадии компиляции MySQL (я скрыл часть вывода команды чтобы сэкономить место): gmake[3]: Entering directory `/export/dist/mysql-5.0.19/server-tools/instance-manager' ... 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 ld: fatal: library -lgcc_s: not found ld: warning: file /usr/sfw/lib/amd64/libstdc++.so: attempted multiple inclusion of file ld: fatal: File processing errors. No output written to .libs/mysqlmanager collect2: ld returned 1 exit status gmake[3]: *** [mysqlmanager] Error 1 gmake[3]: Leaving directory `/export/dist/mysql-5.0.19/server-tools/instance-manager' gmake[2]: *** [all-recursive] Error 1 gmake[2]: Leaving directory `/export/dist/mysql-5.0.19/server-tools' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/export/dist/mysql-5.0.19' gmake: *** [all] Error 2 Пришлось пойти в /usr/sfw/lib/amd64 и сделать там: ln -s libgcc_s.so.1 libgcc_s.so Если обнаружу ещё что-нибудь интересное при компиляции пакетов для 64 битов, обязательно здесь напишу. А пока - надеюсь что эта запись поможет вам избежать подобной ошибки. Удачи! Friday, 7 April. 2006
Поддержка сетевых ... Добавил Gleb Reys
в категории SysAdmin в
03:01
Комментарий (1) Обратные ссылки (0) Select language: English
Поддержка сетевых адаптеров Asus A8N-SLI в Solaris
Наконец-то нашлось немного свободного времени, чтобы окончательно разобраться в поддержкой сетевых адаптеров моей материнской платы Asus A8N-SLI в Solaris 10.
Как я уже рассказывал, эта плата имеет 2 сетевых адаптера: nForce4 и Yukon Gigabit Ethernet 10/100/1000Base-T Adapter. Собственно, оба адаптера основаны на чипах от Marvell - это Marvell 88E8001-LKJ1 (PCI Gigabit Ethernet) и Marvell 88E1111-RCJ (PHY). Так вот, первый из них прекрасно определяется и поддерживается по умолчанию - сразу во время установки, Solaris 10 распознаёт адаптер nge0, и даже пытается его настроить. А второй адаптер никак не опознаётся. Для того, чтобы заставить Yukon Gigabit работать, следует пойти на веб-сайт SysKonnect и там открыть страницу для скачивания драйверов (и skge в их числе). Что ОЧЕНЬ порадовало, так это наличие 64-битного драйвера. Я скачал себе вот этот файл: skgesol_x64v8.12.1.3.tar.Z После распаковки архива, нужно установить пакет SKGEsolx, и всё готово - можно конфигурировать интерфейс skge0! Вот где у меня находятся эти оба сетевых адаптера (взято из /etc/path_to_inst): "/pci@0,0/pci10de,5c@9/pci1043,811a@c" 0 "skge" "/pci@0,0/pci1043,8141@a" 0 "nge" Внимание: в силу неясных пока причин, в prtconf -vp явно заявляет о себе лишь один из адаптеров - skge. Именно он называется "Ethernet controller". А nge почему-то называется там "Bridge device". |




