воскресенье, 11 марта 2012 г.

Solaris на Virtual Box

  1. Установил
  2. В редакторе vi в файле  /etc/ssh/sshd_config  двумя-тремя нажатиями клавиш Esc, R, Exit, ":" в разных сочетаниях, вместо строки  PermitRootLogin no добиваемся строки  PermitRootLogin yes - это легко, один раз попробовав редактор VI я с презрением отметаю такие ламерские поделки как NCEDIT, VC не говоря уже об визифиге  (а этим очень удобно в конец файла строки добавлять echo PermitRootLogin yes | tee -a /etc/ssh/sshd_config);
  3. svcs ssh - проверяем работает ли ssh заодно смотрим время запуска службы;
  4. svcadm restart svc:/network/ssh:default - рестартуем службу ssh, она перечитает конфиг, как я это называю;
  5. svcs ssh - проверяем время старта, оно должно отличаться от времени в п. 3.
Теперь можно заходить по SSH или забрасывать файлы по WinSCP

Выключаемся: init 5, перезагружаемся init 6.


Ставим Midnight Commander:
  1. mc-4.6.1-sol10-x86-local.gz - качаем отсюда;
  2. glib-1.2.10-sol10-x86-local.gz  - качаем отсюда;
  3. libiconv-1.9.2-sol10-x86-local.gz  - качаем отсюда;
  4. libgcc-3.4.6-sol10-x86-local.gz  - качаем отсюда;
  5. распаковываем - должно получится 4 файла;
  6. копируем это все в Solaris;
  7. pkgadd -d  mc-4.6.1-sol10-x86-local;
  8. pkgadd -d   lib-1.2.10-sol10-x86-local;
  9. pkgadd -d   libiconv-1.9.2-sol10-x86-local;
  10. pkgadd -d  libgcc-3.4.6-sol10-x86-local;
  11. /usr/local/bin/mc;
  12. слиозы.


Продолжаем начатый разговор. Оказывается mc отлично работает через ssh и выглядит там приятнее. Установил вторую виртуальную машину с соляркой. Теперь у меня есть две виртуалки с именами solaris0 с адресом 192.168.56.102 и solaris1 с адресом 192.168.56.103. Сейчас заебеню syslog-сервер со сбором всех событий на solaris0 и записью их в файл /var/log/superlog.  Так как текущие адреса виртуалки получают по DHCP, а привязку по MAC-адресу я сделать не могу, то адреса машины получают каждый раз разные. Поэтому, что бы ебенить syslog-сервер нужно иметь хоть что-то, на что можно опереться в этом подлунном мире. Для меня это статичный IP адрес машины solaris0. Имя сетевого интерфейса e1000g0 узнал из ifconfig -a. Ща попробуем.

Настраиваем статичный IP на solaris0:
Залез вот сюда. Там есть для OpenSolaris и для Solaris, у меня по моему оpen, но мало-ли, вдруг прокатит.

  1. /etc/inet/hosts - правлю файл, вношу туда строку 192.168.56.2 solaris0 loghost;
  2. /etc/inet/netmasks - вношу строку 192.168.56.0 255.255.255.0;
  3. /etc/hostname.e1000g0 - такого файла не нашлось. Зато нашёлся файл /usr/bin/hostname - хе хе он оказался исполняемым и выдавал solaris0; 
  4. /etc/resolv.conf - вношу строку 192.168.56.1 - это DNS сервер;
  5. init 6 - перезагрузка;
  6. ХУЙ!
Будем по другому:
  1. svcadm disable nwam - отключаем службу автонастройки сети в OpenSolaris;
  2. /etc/nwam/llp - такого файла не нашлось - абыдна, да..., ну так я его создал с такой строкой: e1000g0 static 192.168.56.2/24;
  3. /etc/resolv.conf - правил в прошлой попытке;
  4. /etc/defaultrouter - такого файла нет. Создал со строкой 192.168.56.1;
  5. /etc/nodename - тоже нет. Тоже создаём. Содержимое - solaris0;
  6. svcadm enable nwam - включаем службу;
  7. ifconfig -a - адрес 192.168.56.101;
  8. ХУЙ!
  9. init 6 - перезагрузка;
  10. ifconfig -a - адрес 192.168.56.101; 
  11. ХУЙ!
  12. man nwamd - читаем " /etc/nwam/llp interface is volatile and might change in a future release. " - судя по тому, что файла не было именно это и произошло.
  13. google
  14. /etc/defaultrouter - удаляю;
  15. /etc/nodename - удаляю;
  16. /etc/resolv.conf - сам исправился после перезагрузки; 
  17. init 6;
  18. ipadm show-if - вижу два интерфейса: lo


Настраиваем syslog-клиента на solaris1 192.168.56.103:

Это запомним (блядь, ни когда бы не догадался, "дикарь-с"): "При разборе файла конфигурации syslogd сравнивает адрес loghost (определяется в /etc/hosts, не через DNS) с адресом своего компьютера и при совпадении определяет переменную LOGHOST. После этого syslog.conf пропускается через макропроцесссор m4(1). В основном, это используется для того, чтобы один и тот же конфигурационный файл можно было использовать на клиентских и серверном (с точки зрения syslog) хостах. Процедура запуска и остановки: /etc/init.d/syslog (ссылки на нее из директорий /etc/rc?.d). Номер процесса хранится в /etc/syslog.pid."

  1. правлю файл /etc/inet/hosts (/etc/hosts - просто ссылка на него) - вношу туда строку 192.168.56.102 solaris0 loghost;
  2. из других строк loghost убираю;
  3. init 5 - перегружаюсь (наверное можно какую-то службу передернуть, но какую пока не хуя не соображаю);
  4. ping solaris0 - хорошо, ping  работает "solaris0 is alive";
  5. /etc/syslog.conf - правлю, убиваю, на хуй, все что там есть. Много строчек - я путаюсь. Пишу в файле   *.* @loghost, между * и @ табуляция.
  6. svcadm restart system-log - передергиваем службу логгирования;
  7. unknown priority name "*" - пишет мне служба логирования, что по-русски означает "А схема то не работает! Ха-ха-ха!";
  8. *.alert;*.сrit;*.debug;*.emerg;*.err;*.info;*.notice;*.warning @loghost - пишу я в файле, между warning и @ опять же знак табуляции;
  9. svcadm restart system-log - передергиваем службу логгирования. На этот раз никаких предупреждений. Успокаиваюсь.
  10. Иду на solaris0;
  11. snoop -d e1000g0 port 514 - нюхаем порт, в него валятся сообщения для syslog; 
  12. Иду на solaris1;
  13. logger 'Hello Jopa' - посылаю я сообщения syslog-серверу;
  14. Иду на solaris0;
  15. Порт пахнет пустотой;
  16. google;
  17. man syslog.conf;
  18. В голове торричелева пустота;
  19. Иду на  solaris1;
  20. /etc/syslog.conf - правлю, в 1 строке пишу *.alert @loghost, во второй строке пишу  *.crit @loghost и так далее. Сохраняю.
  21. svcadm restart system-log - передергиваю службу логгирования. "syslogd: line 6: WARNING: loghost could not be resolved". Оказалось в 6 строке после @loghost нечаянно нажал кнопку "Tab"; Неожиданно! Исправляю. Да-да, потом написал просто *.debug @loghost, а остальное поудалял.
  22. svcadm restart system-log - Все нормально;
  23. logger 'Hello Jopa';
  24. Иду на solaris0;
  25. 514 порт запах сообщениями. Хорошо. Так понимаю, что *.some_huinya в файле syslog.conf нужно писать только в начале строки. После ";" допускается только прямое указание facility. Например *.crit; kern.notice можно писать, а  *.crit; *.notice нихуя, что в принципе логично, как я потом понял, все равно будет фильтр по высшему уровню серьезности. 
Настраиваем syslog-сервер на solaris0 192.168.0.102:
  1. /etc/syslog.conf - опять же убиваю все что там было;
  2. *.debug /var/log/superlog - героически пишу я в файле, предварительно создав файл командой cat > /var/log/superlog и нажав Ctrl+D;
  3. svcadm restart system-log - заунывно передергиваю службу;
  4. Иду на solaris1; 
  5. logger 'Hello Jopa';  
  6. tail -f /var/log/superlog - ХУЙ!. В 514 порт сообщения приходят. Файл /var/log/superlog остаётся пустым;
  7. google
  8. man syslog.conf
  9. google
  10. google
  11. ..........
  12. ..........
  13. Иду на solaris0;
  14. /etc/default/syslogd - в файле закоментирована строка LOG_FROM_REMOTE=YES. А-а-а бля, сказали мужики.
  15. init 6 - перезагрузка;
  16. Иду на solaris1;
  17. logger 'Hello Jopa';
  18. Хоп! Ла-лай-лай!
Довольно много информации по логированию в интернете, но почему-то вот про 14 пункт как-то не явно описано. Или запрос я google не так подавал. Сделал по аналогии с изменением rc.conf во FreeBSD вот по этой статье.

Монтируем образ Solaris

  1. mkdir /mnt/iso - создаём точку монтированию;
  2. mount -F hsfs solaris.iso /mnt/iso - монтируем.

    Комментариев нет:

    Отправить комментарий