Solaris 10 список основных команд. Особенности инсталляции Solaris. Операционная система Solaris: Учебное пособие

  • vmstat – выдает статистику по виртуальной памяти, которая также включает в себя информацию о потоках ядра, дисках и активности ЦПУ;
  • psrinfo – отображает данные о процессорах;
  • prtconf – отображает системную конфигурацию. Вывод утилиты может быть малопонятен начинающему администратору;
  • prtdiag – отображает системную диагностическую информацию;
  • dladm – посредством утилиты можно просмотреть доступные сетевые карты (Вот и отличие, чтобы просмотреть карты в Solaris, вводим * * dladm show-dev; для OpenSolaris – dladm show-phys). А вобще утилита служит для управления сетевыми подключениями;
  • iostat – вывод I/O статистики (iostat -E вывод статистики по дискам);
  • showrev – показывает информацию о релизе (только Solaris).
  • ptree - вывоит дерево процессов
  • pargs - показывает параметры запуска и переменные окружения уже запущенного процесса

настройка сети

В OpenSolaris за автоматическую настройку сети отвечает служба network/physical:nwam, в Solaris же этой службы нет.Пример настройки в OpenSolaris через nwam: сперва нужно отключить службу, внести необходимые изменения в файлы конфигурации и запустить службу

# svcadm enable network/physical:default # svcadm disable network/physical:nwam # отключаем сеть # dladm show-phys # узнаем имя сетевой карты LINK MEDIA STATE SPEED DUPLEX DEVICE rtls0 Ethernet up 100 full rtls0

задаем ip-адрес подключения, шлюз по умолчанию, dns-сервер и имя хоста

# echo “rtls0 static 192.168.40.99/22″ > /etc/nwam/llp # echo “nameserver 192.168.40.10″ > /etc/resolv.conf # echo “192.168.40.1″ > /etc/defaultrouter # echo “myhostname” > /etc/nodename # svcadm enable network/physical:nwam # включаем nwam

Для Solaris же делается все проще, указываем ip-адрес в файле /etc/inet/hosts; маску определяем в /etc/netmasks; имя компьютера в /etc/hostname.<имя_интерфейса>; DNS-сервер указывается в привычном месте – /etc/resolv.conf

# cat /etc/inet/hosts::1 localhost 127.0.0.1 localhost 192.168.40.97 solaris loghost cat /etc/inet/netmasks 192.168.40.0 255.255.252.0 # cat /etc/hostname.rtls0 solaris

Для работоспособности DNS (в обоих Солярах) необходимо убедиться что в /etc/nsswitch.conf или /etc/nsswitch.dns в параметрах hosts и ipnodes указан источник dns. Если настройки устанавливаются через DHCP эти настройки пропишутся автоматически

# grep dns /etc/nsswitch.conf hosts: files dns ipnodes: files dns # grep dns /etc/nsswitch.dns hosts: files dns mdns ipnodes: files dns mdns

также следует помнить что имя хоста прописывается в /etc/hosts (это ссылка на /etc/inet/hosts) и при изменении имени там также необходимо внести изменения.

Также вариант изменения сетевых настроек на лету, без сохранения в файлах конфигурации

# ifconfig rtls0 192.168.40.97/22 up # route add default 192.168.40.1 add net default: gateway 192.168.40.1

Изменение таблицы маршрутизации (добавление, изменение, удаление). Единственный может быть минус, команда route показывает только персистентные маршруты (route -p show), более полную картину можно увидеть через netstat -rn

# route add -net 172.168.0.0/16 192.168.40.210 add net 172.168.0.0/16: gateway 192.168.40.210 # route change -net 172.168.0.0/16 192.168.40.211 change net 172.168.0.0/16: gateway 192.168.40.211 # route delete -net 172.168.0.0/16 192.168.40.211 delete net 172.168.0.0/16: gateway 192.168.40.211

Также следует обратить внимание на утилиту netstat

  • netstat -s # статистика
  • netstat -rn # маршуруты
  • netstat -anf inet # просмотр соединений ipv4 (UDP,TCP, listen, established)

Интересна работа утилиты ping. Запустите пинги с параметром -s и без него.

# ping -ns ya.ru PING ya.ru (213.180.204.8): 56 data bytes 64 bytes from 213.180.204.8: icmp_seq=0. time=0.195 ms 64 bytes from 213.180.204.8: icmp_seq=1. time=0.200 ms # ping 192.168.40.1 192.168.40.1 is alive

traceroute также никто не отменял…

Управление службами

Операционные системы UNIX традиционно оснащены набором служб – т.е. программ, не связанных с каким-либо интерактивным именем пользователя, принимающих и обрабатывающих запросы на выполнение определенных задач (например, на отправку электронной почты, ответ на запросы FTP или разрешение выполнения удаленной команды). Для упрощения управления данными системными службами было создано средство управления службами Service Management Facility (SMF). SMF создает поддерживаемую, унифицированную модель для служб и управления службами в каждой системе OpenSolaris. Для идентификации каждой службы можно использовать команду svcs. Для администрирования или изменения службы можно использовать команду svcadm. Список всех доступных служб вместе с их SMF идентификаторами можно просмотреть посредством команды svcs -a.

запуск ssh и проверка того что она запущена

# svcadm enable network/ssh # svcs -a |grep ssh online 12:38:47 svc:/network/ssh:default

# svcadm refresh network/ssh

перезапуск осуществялется следующим образом

# svcadm restart network/ssh

остановка службы

# svcadm disable network/ssh

Внимание, при использовании enable/disable служба автоматически вносится/удаляется в автозагрузку, чтобы временно запустить службу без прописи в автозагрузку указываем параметры -t для временного запуска, и -r для автоматического запуска зависимостей, например

# svcadm enable -rt rpc/bind

просмотр служб и процессов через таблицу процессов выполяняется через знакомый ps

# ps aux |grep sshd root 605 0.0 0.1 4104 1140 pts/2 S 12:50:52 0:00 grep sshd root 541 0.0 0.4 8184 3336 ? S 12:40:04 0:00 /usr/lib/ssh/sshd daevy 542 0.0 0.510208 5124 ? S 12:40:04 0:00 /usr/lib/ssh/sshd root 580 0.0 0.2 6720 1784 ? S 12:48:17 0:00 /usr/lib/ssh/sshd

процессы можно завершать посредством kill В качестве примера завершу свою сессию ssh с pid равным 5124

# kill -9 5124 Connection to 192.168.40.97 closed by remote host. Connection to 192.168.40.97 closed.

процессы можно также отлавливать через pgrep и выносить с помощью pkill. Также есть prstat – top’образная утилита для отображения процессов.

пакетный менеджер

Помимо встроенных средств OpenSolaris (pkgadd, pkginfo, pkgchk, pkgrm) есть и пакетный менеджер IPS – Image Packaging System, посредством него выполянется поиск, скачивание, установка и удаление ПО в OpenSolaris. В Solaris же после установки, утилиту pkg я не обнаружил, возможно она ставится отдельно и поэтому пользоваться там придется встроенными средствами. Сперва рассмотрим OpenSolaris. Начнем с того что информация о репозиториях находится в /var/pkg/cfg_cache . После установки доступен только официальный репозиторий pkg.opensolaris.org. Дополнительно можно подключить еще пару полезных репозиториев sunfreeware и blastwave

# pkg set-authority -O http://pkg.sunfreeware.com:9000 sunfreeware # pkg set-authority -O http://blastwave.network.com:10000 blastwave

проверяем доступные репозитории

# pkg authority PUBLISHER TYPE STATUS URI opensolaris.org (preferred) origin online http://pkg.opensolaris.org/release/ blastwave origin online http://blastwave.network.com:10000/ sunfreeware origin online http://pkg.sunfreeware.com:9000/

обновляем списки пакетов из новых репозиториев

# pkg refresh

Здесь стоит рассказать о том как именуются пакеты в Solaris, т.к. это вызывает разные эмоции при первом знакомстве. В имени пакета содержится преффикс по которому определяется принадлежность к репозиторию. Пакеты репозитория opensolaris.org имеют как правило префикс SUNW. Пакеты репозитория sunfreeware.com – префикс IPSFW. Пакеты blastwave.network.com – IPS. Например если пакет Squid имеет имя IPSsquid, то он находится в репозитории blastwave. Найдем и установим squid.

# pkg search squid # pkg info SUNWsquid # просмотр информации о пакете # pkg install pkg:/[email protected] # установка пакета # pkg list SUNWsquid # просмотр версии и состояния пакета в системе # pkg contents SUNWsquid # просмотр содержимого пакета # pkg uninstall SUNWsquid # удаление пакета

Теперь случай с Solaris когда pkg нет. Действия по обслуживания ПО можно выполнить средствами pkgadd, pkgchk, pkgrm и т.п. Для этого скачиваем пакет либо архив из любого доступного репозитория, это может быть установочный диск, или репозиторий в инете. Если это архив распаковываем его и выполняем pkgadd.

# gunzip mc-4.6.1-sol10-x86-local.gz # pkgadd -d ./mc-4.6.1-sol10-x86-local

Хочу отметить несколько деталей, во-первых зависимости нужно разрешать самостоятельно, во-вторых пакеты устанавливаются в /usr/local, поэтому в переменную PATH желательно добавить /usr/local/bin . Все пакеты хранятся в /var/spool/pkg. Также несколько полезных команд

# pkginfo -l SMCwget # вывод информации о пакете # pkgchk -v SMCwget # проверка установки пакета # pkgrm SMCwget # удаление пакета

В репозиториях Sunfreeware и Blastwave можно найти необходимые пакеты. В Blastwave на главной странице есть пакет pkgutil который существенно облегчает работу с пакетами. Его установка через pkgadd не вызывает трудностей и после установки мы получаем средство которое может самостоятельно разрешать зависимости, выкачивать и устанавливать пакеты в систему.

Тонкости

/boot/grub/install_menu – файл конфигурации grub; /etc/vfstab – таблица парметров монтирования файовых систем; утилиты для работы с диском du и df также актуальны и в Solaris; вместо tcpdump’а можно использовать snoop;

Работа с пакетами

Solaris: Adding package from CDROM 1) Mount cdrom

2) To add or install GNU tar package from Solaris CD use command

# pkgadd -d /cdrom/cdrom0/Solaris_9/Product SUNWgtar

Where, -d /cdrom/cdrom0/Solaris_9/Product: Specify package directory SUNWgtar: Package name

Solaris: Adding packages to spool directory and then install them 1) Copy package to /var/spool/pkg directory first:

# pkgadd -d /cdrom/cdrom0/Solaris_9/Product -s /var/spool/pkg SUNWgtar

Transferring package instance

Where, -d /cdrom/cdrom0/Solaris_9/Product: Specify package directory -s /var/spool/pkg: Directory in which package will get stored SUNWgtar: Package name

2) Install the packages copied to spool directory

# pkgadd SUNWgtar

Solaris: Install downloaded package 1) If your package is in .bz2 format then first uncompress it using bunzip2 command:

# bunzip2 Packagname.bz2

2) Install package:

# pkgadd –d Packagname

Note .bz2 extension will automatically removed by first command.

For example if your package name is SFWqt.bz2

# buzip2 SFWqt.bz2 # pkgadd –d SFWqt

Работа с пакетами-2

Проверка принадлежности файла к пакету

Use the pkgchk command to determine which package a particular file belongs to. The syntax is:

# /usr/sbin/pkgchk -l -p /absolute/path/todir

# /usr/sbin/pkgchk -l -p /usr/bin/pgrep Pathname: /usr/bin/pgrep Type: regular file Expected mode: 0555 Expected owner: root Expected group: bin Expected file size (bytes): 14688 Expected sum(1) of contents: 63968 Expected last modification: Mar 16 05:53:45 AM 2000 Referenced by the following packages: SUNWcsu Current status: installed

То же самое можно сделать проще:

# grep /usr/bin/pgrep /var/sadm/install/contents /usr/bin/pgrep f none 0555 root bin 14688 63968 953204025 SUNWcsu

Еще примеры

set path to something like PATH=/usr/bin:/usr/ccs/bin:/usr/sbin:/sbin:/usr/platform/`uname -i`/sbin:/usr/proc/bin:/usr/ucb/:/usr/dt/bin:/usr/openwin/bin:/usr/local/bin:$HOME/bin df -n (or fstyp device) show type of file system (ufs/vxfs) fuser and pfiles open files prtconf -V OBP level pgrep, pkill, prstat -a process info and manipulation logins -p|-d local users without passwords | duplicate uids mpstat, prtdiag, psrinfo -v processor information and more traceroute since Solaris 7 troff -man man.1 | dpost | lp print old style man pages sgml2roff lpfilter.1m | troff -man | dpost | lp print sgml (new) man pages fstyp -v list superblock including minfree % tput nice screen output what, ldd, strings information about binaries ctrl-V in vi insert control character ftp> get README | more ufsdump 0f - /filesystem | (cd /mnt; ufsrestore rf -); rm /mnt/restoresymtable dump restore pipe echo \007 get bell to ring comm common (non-common) lines from two files pkgchk -lp /usr/bin/ls which package does ls belong to? df -oi -F ufs free inodes icheck -b blockno filesystem block to file mapping dircmp, rsync, filesync compare directories, sync utilities nohup /var/tmp/myscript.ksh > /var/tmp/myscript.out & for things which have to complete (no risk of terminal being logged out) netstat -pn arp like output when name services are down pwdx, pldd, ptree and more in /usr/proc/bin uname -X basic system information - one item on each line (useful for scripts) read read a line listusers another way of listing users tcopy copy tape nfsstat -m (or check /etc/rmtab) current nfs mount clear_locks clear nfs locks df -h, du -h, ls -lh since Solaris 9 - output in powers of 1024

Среди других осей Solaris стоит особняком,
но, несмотря на некоторые непривычности в работе
, она подходит для создания защищённого сервера ничуть не хуже,
чем Linux и FreeBSD. Фаерволы IPFilter, Sun Screen, хорошо организованная парольная безопасность,
Samba и LDAP, поддержка IPSec и многое другое вытянут и пользователей,
и админа. В общем, стоит во всём разобраться.
Не боись, мотор не заглохнет. Поехали!

Немного истории

Операционная система Solaris (компания Sun Microsystems) выросла из SunOS-классического юникса,
построенного на базе bsd-шного ядра и продолжающего лучшие традиции AT&T System
V. Но в отличие от SunOS это полноценная рабочая среда,
поэтому, если тебе нужно что-то большее, чем просто юникс,
— выбирай Solaris. Главное достоинство Solaris-высокая степень масштабируемости и,
как следствие, реализация концепции симметричных многопроцессорных вычислений
SMP (Symmetric Multi-Processing), то есть линейный рост производительности при увеличении числа процессоров в системе.
Солярка одинаково хорошо будет стоять и на слабенькой рабочей станции,
и на супермощном сервере, так что более мощной и удобной системы для любых запросов не найти.
Итак, общее представление о системе получили,
теперь можно устанавливать.

Установка

Среда Solaris существует под две платформы:Intel и SPARC(Scalable Processor
Architecture, т. е. масштабируемая многопроцессорная архитектура).
Так как особого распространения в нашей стране данная платформа не получила,
о SPARC и установке под неё говорить не будем. Целесообразнее будет рассказать об установке под
Intel. Есть три варианта установки:1) текстовый,
2) диалоговый и 3) с использованием мастера Web
Start. Мы пойдём третьим путём, наиболее простым и удобным. Берёшь диск с соляркой,
вставляешь и ребутишься. Всё, что ты видишь на экране —
DCA (Device Configuration Assistant-помощник конфигурирования устройств).
По экрану бегут строчки, подробно рассказывающие о том,
как обстоят дела с установкой устройств, и через некоторое время появится список найденных девайсов.
Если какое-нибудь из твоих устройств в списке отсутствует,
то этому есть два объяснения: либо солярка криво отконфигурила девайс,
либо просто не поддерживает его. Исправить это можно с помощью
«Device Task», раздела работы с устройствами.
Когда всё наладится, нажмёшь F2, чтобы отобразилась информация о текущем состоянии дисковой системы и запустился соляровый
fdisk. Solaris работает с файловой системой UFS.

Если на компьютер не планируется ставить ещё какую-нибудь систему,
то можно удалить все разделы, которые у тебя до этого были,
клавишей 3. Теперь создавай с помощью клавиши 1 раздел с типом «x86 boot» и разделы
«Solaris». Так как мы с тобой строим сервер,
то, как и в линухе, одного корневого раздела на всю систему недостаточно,
поэтому нужно создать разделы /var, /usr, /home, /tmp,
/, после чего клавишей 2 выбери загрузочный. Последует вопрос:
делать ли его активным. Если осей других на компе нет,
и ты будешь использовать соляровый менеджер загрузки,
то отвечай положительно. Если тебе больше нравится
lilo, BootMagic или любой другой загрузчик, — отвечай отрицательно.
Когда ты создал все нужные разделы и выбрал активный,
можешь выходить (клавиша 4 — Exit). После этого и начнётся настоящая установка с помощью мастера Web
Start. Тебе предложат форматнуть диск или, при необходимости,
разделы в ФС UFS. Соглашаешься, подтверждаешь установку соляры и перезапись содержимого загрузочного диска.
Затем тебя спросят, какого размера делать свап.
Это на твоё усмотрение. Если не хватит, то командой swap ты сможешь выделить дополнительные сегменты под виртуальную память.
На вопрос, нужно ли размещать свап в начале диска,
отвечай утвердительно, поскольку размер файла подкачки в процессе формирования файловых систем изменён быть не может. Подтверждай сохранение всех настроек и жди.
Произойдёт форматирование диска, создание корневой файловой системы,
копирование платформо-зависимых файлов и перезагрузка.
Перед ней тебя попросят нажать Enter. После ребута ты увидишь соляровый менеджер загрузки
(если ты его выбрал). Я расскажу только про него,
так как с lilo, grub и т. п. , проблем быть не должно.

CDE-Рабочий стол в Solaris.

Логинимся в солярке

Итак, перед тобой появился Solaris Boot Manager (а точнее SunOS Intel Platform Edition Primary Boot Subsystem) и предложил выбрать загрузку с активного раздела.
Нажимай клавишу с номером раздела и милостиво позволяй ему сделать это.
Процесс автобута можно прервать с помощью
Esc. Затем система инициализируется и — последний шаг подготовки — запустится
kdmconfig, который настроит тебе видюлю, монитор и т.
п. для запуска графического мастера установки Web
Start. Поздравляю — самый сложный этап установки соляры завершён.
Работать с WebStart не труднее, чем с дружелюбным инсталлятором какого-нибудь
Mandrake, хотя русский язык и не поддерживается.
Копирование файлов, очередная перезагрузка,
и перед тобой появится рабочий стол CDE(Common Desktop Environment-не путать с KDE)..

Работа с суперсервером

Если ты когда-нибудь строил сервер на базе никсов,
то ты наверняка знаком с суперсервером inetd. Есть он и в солярке.
Использовать его или нет — дело твоё. Я бы посоветовала не делать этого.
Причина известна: если inetd повалится, то он потянет за собой и все сервисы,
которые на нём держатся. Да и применение его избыточно:
сегодня все мало-мальски приличные сервисы умеют работать в режиме
standalone, и помощник им не нужен. Для тех, кто всё-таки решился завязать свой сервер на
inetd, я скажу пару слов о соляровой версии суперсервера.
Все файлы лежат на привычных местах:/etc/services,
/etc/inetd. conf. Закомментируй в них все ненужные сервисы
и настрой нужные следующим образом:

Файл /etc/inetd. conf имеет формат:

имя тип протокол флаги пользователь параметры,
например

ftp stream tcp(tcp6) nowait root /usr/sbin/in. ftpd in. ftpd (бывает и internal)..

В записи может быть wait или nowait. Если указан
wait, то это значит, что суперсервер не будет прослушивать этот порт до его освобождения сервером,
а если nowait, то будет слушать. Telnet и ftp-сервисы наиболее часто привязываются к
inetd, но тем не менее использовать их ни в коем случае нельзя,
поэтому ставь OpenSSH. Его конфиг находится в /etc/sshd2/sshd2_config.

О пользователях

Большинство задач администрирования в Solaris выполняется при помощи графического пакета
Admintool. Но в консоли огромный диапазон проблем можно решить гораздо быстрее и удобнее,
поэтому нет смысла использовать медленные и глючащие иксы. Добавление пользователей осуществляется при помощи банальной правки
/etc/passwd, /etc/shadow и /etc/group, а также командой useradd. Зашифрованные пароли генерируются автоматически при помощи функции crypt() и сохраняются в
/etc/shadow. Все пароли криптуются DES-подобным алгоритмом и не могут быть длиннее восьми символов,
среди которых вся клава плюс особые нечитаемые сочетания клавиш.
Ручное удаление пользователей кроме правки
/etc/passwd, /etc/group и /etc/shadow включает в себя удаление домашней диры пользователя,
почтового ящика(rm -rf /var/mail/имя юзера), почтовых псевдонимов(/etc/aliases),
проверку cron, at и процессов пользователя(ps -eaf | grep имя юзера). Для того,
чтобы временно заблокировать вход пользователя в систему,
достаточно в /etc/passwd или в /etc/shadow заменить криптованный пароль символом
*. Все файлы, задачи и настройки пользователя останутся на месте,
а войти в систему он не сможет. Теперь о квотах.
Они реализованы практически также, как и в
Linux. Необходимые параметры прописываются в /etc/fstab или прямо в консоли при использовании команды
mount. После прописывания квот желательно перезагрузиться или размонтировать/смонтировать файловую систему,
для которой устанавливались квоты. Затем создаёшь файл quotas в нужных каталогах,
набиваешь команду edquota и вводишь количество inode-узлов и блоков дискового пространства в «жёстком» или «мягком» ограничениях.
Последний штрих-команда quotaon, предназначенная для включения квот.

Управление пакетами

Управление пакетами — паккаджами — в Solaris реализовано очень просто,
удобно и эффективно. Сначала поговорим о добавлении и удалении пакетов из системы,
а затем о более интересном — создании собственных пакетов.
Вот список команд, необходимых для работы с паккаджами:
pkgadd-добавить пакет;
pkgchr-проверить пакет;
pkginfo-посмотреть информацию о пакете;
pkgmk-создать новый пакет на базе прототипа;
pkgproto-создать новые спецификации пакета и добавить в прототип;
pkgrm-удалить пакет;
pkgtrans-упаковать все файлы пакета в архив.
Например, чтобы получить информацию о том, к какому пакету принадлежит файл,
нужно набить в консоли следующую команду:

pkgchk -l -p путь к пакету

Очень много интересного можно узнать, заглянув в документацию и просмотрев флаги,
с которыми употребляются команды по работе с пакетами.

Теперь о создании пакетов. Первым делом нужно создать файл
pkginfo. Его формат такой(перечислю наиболее часто встречающиеся параметры):

ARCH — архитектура, для которой создаётся пакет;
BASEDIR-каталог, в который происходит распаковка файлов;
CATEGORY-тип архива(системный или обычное приложение);
EMAIL-контактная информация автора пакета;
NAME-название пакета(например, «My cool proga»);
PKG — имя пакета(например, BAS_LOCAL);
PSTAMP-имя автора пакета;
VENDOR-имя автора или название фирмы — разработчика программы.

Затем создаём файл прототипа. . .

И не забываем добавить в этот самый файл информацию о pkginfo:

i pkginfo=путь до файла pkginfo

Теперь в каталоге установки(поле BASEDIR файла pkginfo) выполняем команду для создания в файле прототипа относительныx путей и имён файлов:

find . -print | pkgproto >> prototype

Загляни в только что созданный файл прототипа.
Буква f-это файл, а d-директория. Каждая запись включает в себя информацию о пользователе,
группе и правах доступа. Листай этот файлик дальше,
что не понравится — исправишь. Затем набирай команду:

pkgmk -o -r путь до папки, где лежит pkginfo

С этого момента файлы для упаковки будут лежать в /var/spool/pkg/имя пакета.
Последний шаг:

pkgtrans -s /var/spool/pkg /backup/имя пакета. pkg

На экране появится список найденных пакетов,
и тебя спросят, какие из них нужно устанавливать.
Нажимаешь клавишу с номером, соответствующим имени пакета.
Все файлы твоего пакета скомпонуются в один архивный файл и будут лежать в /backup/имя пакета.
pkg. Пакет готов!


IPSec

В последнее время резко возросла популярность VPN-сетей.
Это объясняется тем, что VPN-сети используют протокол
IPSec, который прекрасно обеспечивает анонимность,
шифрование и сохранность данных, передаваемых по сети.
Ну а раз он такой замечательный, неплохо было бы понять,
как он устроен, что мы сейчас и сделаем. Приготовься к паре минут жёсткой теории без
пространных объяснений. Проверка подлинности в IPSec реализуется при помощи обмена ключами
IKE (Internet Key
Exchange). Сам же протокол базируется на трёх основных понятиях:
SA(Security Association) — связях безопасности, AH
(Authentication Header) — заголовках идентификации и ESP
(Encapsulated Security Payload) — передаче данных.
Для обмена данными между двумя узлами нужно создать для них две SA-связи.
Управление этими связями осуществляется c помощью команды
ipseckey. Если SA-связи установлены, то в игру вступает
AH. Заголовок передаётся с SIP(Security Parameters Index)-указателем параметров безопасности.
Если с этим самым указателем всё в ажуре, то дейтаграммы считаются подлинными,
а доставка корректной. Пакеты будут доставлены в целости и сохранности,
но AH их не зашифрует. Для этого нужна ESP. Данные ESP также передаются с параметром
SPI. Для шифрования пакетов используются алгоритмы DES и
3-DES (Triple-DES). Но технологии AH и ESP могут применяться и по отдельности.
Идентификация в IPSec реализована при помощи контрольных сумм MD5-этот алгоритм вычисляет 128-битную цифровую подпись,
пригодную для любых типов данных. Ну, всё,
с теорией покончено. Теперь о реализации этой технологии в
Solaris.

Ипсековские правила определяются командой
ipsecconf. Конфиги лежат в /etc/inet/ipsecinit. conf и /etc/inet/ipsecpolicy.
conf. Формат последнего следующий(настраиваем ftp):

{dport 21} apply {encr_algs any encr_auth_algs md5 sa shared}
{sport 21} permit {encr_algs any encr_auth_algs md5}

Таким образом мы защитили весь трафик 21-ого порта
AH, используя DES или 3-DES, и организовали проверку подлинности с использованием алгоритма
MD5. Это был пример для порта, но можно сделать то же самое для целой подсети:

{daddr 193. 34. 207. 12/26} apply {auth_algs md5 sa shared}
{saddr 193. 34. 207. 12/26} permit {auth_algs md5}

Сходства и различия двух настроек видны невооружённым взглядом и в пояснении не нуждаются.

Домашняя страница IPFilters


Выбираем и настраиваем фаервол

Существует два основных фаервола под Solaris:
IPFilter и
SunScreen. IPFilter-бесплатный и с исходниками, а SunScreen-коммерческий.
Но недавно вышел его бесплатный вариант, правда с чуть меньшей
функциональностью.
По возможностям оба брандмауэра примерно одинаковы:
поддержка
IPv6, MBone, качественное распределение нагрузки,
перенаправление, NAT, хорошее ведение и отображение статистики.
Отличия SunScreen от его собрата заключаются в наличии графического фейса,
который вряд ли кому и нужен. В данном разделе я подробнее разберу
IPFilter, а SunScreen`а коснусь вкратце. Кстати, оба эти пакета не входят в стандартную поставку дистрибутива
Solaris. IPFilter отдалённо напоминает IPTables, хотя далеко не так удобен в
конфигурировании,
но это нисколько не умаляет его достоинств.
IPFilter выполнен в виде загружаемого модуля к ядру.
Важнейшее его свойство состоит в том, что он просматривает все правила из своего конфига,
а не только те, что соответствуют определённому условию.
Вывод: концепция конфигурирования IPFilter заключается в том,
что можно (и нужно) описать как общие правила,
так и частные, причём первые обязательно должны предшествовать вторым.
Если не выполнить этого условия, фаервол не будет работать должным образом,
частные правила будут произвольно изменяться следующими за ними общими.
Общие правила определяются так:

пропускает весь входящий трафик, а

соответственно блокирует его.

Частные правила:

block in on hme1 proto tcp from any to 193. 34. 207. 12/24 port=80

Разберёмся, что же мы тут нашаманили. Вышеприведённое правило запрещает
(block) приём входящих пакетов на интерфейс hem1 по протоколу tcp с любых (from any) адресов на 80 порт данной подсети.
From всегда означает откуда, to — куда, а all — ссылка на все адреса сразу.
Правда, просто?

Если тебе не нравится, что IPFilter применяет сразу все правила,
то это можно изменить при помощи ключевого слова
quick. Так, если в предыдущем примере мы прописали слово
quick, то следующее за ним в конфиге правило,
разрешающее пакеты в данную подсеть, будет уже пропущено.
Посмотреть статистику по соединениям можно командой
ipfstat. Ну, что ж, пожалуй и хватит на первый раз про этот брандмауэр.

Перейдём к SunScreen. В SunScreen используется массив ключей для простого управления ключами протоколов
(SKIP-Simple Key-Management for Internet
Protocols). SKIP используется для шифрования сеансов.
Сейчас эта технология практически полностью вытеснена протоколом
IPSec, но в редких случаях всё ещё может понадобиться.
После установки фаервола, производимой с помощью сценария /opt/SUNWicg/SunScreen/bin/ss_install можно начинать настройку.
Укажи режим маршрутизации или невидимости, уровни защищённости,
методы настройки, поддержку DNS (если нужно) и т.
д. Всё легко настраивается через графический интерфейс.
Обращение к нему происходит через любой браузер по локальному адресу
http://localhost:3852. Имя пользователя и пароль для первого запуска-admin:admin. Естественно пароль нужно сменить. Аналог pass и block из IPFilter — ALLOW и
DENY. Можно пользоваться масками, которые задают исходный и конечные адреса(аналог
any). Для каждого из правил есть дополнительные настройки:LOG_NONE,
SNMP, LOG_DETAIL, ICMP_HOST_FORBIDDEN и т.д.; их очень много, между делом обо всех не расскажешь. После установки у тебя появились следующие базы данных:
authuser,
proxyuser, vars и logmacro. Также создаётся база сертификатов
(/etc/skip/certdb).

Итак, пакеты ты установил, пользователей настроил,
фаерволом защитился. Пора переходить к маленьким,
но не менее от этого важным, мелочам безопасности.


Мелочи безопасности

Прежде всего нужно заставить пользователей ставить нормальные пароли.
Если на твоём сервере десятки, а то и сотни пользователей,
то проводить со всеми разъяснительную беседу не хватит ни сил,
ни времени, поэтому лучше применять специальные программы.
Главный представитель этой категории — прога
gpw (http://www.multicians.org/thvv/gpw.html
в виде Java-апплета и ftp://nce.sun.ca/pub/freeware/intel/7/gpw-6.94-sol7-intel-local.gz
в виде архива с пакетом),
которая является неплохим генератором паролей.
Можно задавать различные опции, например, включить в пароль число или специальный символ и т.
д. Это грамотное решение проблемы.

Блокировку портов решай ковырянием в /etc/services и
/etc/inetd. conf. Что касается переполнения буфера,
то проблема частично решается установкой некоторых параметров в /etc/system:

set noexec_user_stack=1
set noexec_user_stack_log=1

Эффективным методом защиты от подмены приложений является сравнение MD5 сумм.
Достаточно один раз собрать MD5 суммы нужных бинарников и сохранить их в надёжном месте
(наилучший вариант — на компакте или на другом компьютере).
Это выполняется вызовом программы. /md5. Важно периодически сверять MD5 суммы приложений в системе с суммами,
записанными на проверенном носителе. Если сумма изменилась
— самое время искать злоумышленника.
Но необходимо помнить, что контрольная сумма может измениться,
если ты обновлял данный пакет или файл.


Заключение

Для создания суперзащищённого сервера нужна самая малость:
голова на плечах и некривые руки
. Впрочем, эти маленькие детали очень важны и сами по себе.
А так патчься три раза в день, читай на ночь логи,
и слава суперадмина тебе обеспечена. Да не облысеют твои пятки!

Владимир Василькин

Особенности инсталляции Solaris

Как подружиться с «динозавром»? Бывает, так ласково называют одну из старейших операционных систем семейства UNIX – Solaris. С чего же можно начать знакомство? Как вариант – с первоначальной установки – инсталляции. Посмотрим, в чем заключаются особенности первой встречи с нестрашным «динозавром» – Solaris 10.

Начнем с определений. Что такое операционная система? Следуя википедии – это программа (комплекс программ), которая управляет аппаратными средствами компьютера и служит средой для выполнения других программ. При включении питания встроенные программно-аппаратные средства по определенным правилам ищут операционную систему, загружают ее в память и передают дальнейшее управление. В некоторых случаях используется промежуточный слой – программа-загрузчик. Принципиально процесс загрузки ОС выглядит одинаково на всех системах.

Получается, что инсталляция операционной системы – это копирование файлов на постоянный носитель (с возможным изменением некоторых – здесь уже используются процессы первоначальной конфигурации) и настройка аппаратно-программного комплекса на загрузку с этого носителя.

По терминологии мира PC-совместимых компьютеров встроенным программно-аппаратным средством служит BIOS. При работе с другими системами обычно используется слово firmware.

На SPARC-совместимых серверах производства SUN и FUJITSU-SIEMENS в качестве firmware в основном выступает OpenBoot (Open Firmware) . Более подробно работу с OpenBoot можно рассмотреть в соответствующей литературе. Настройки BIOS зависят от производителя материнской платы.

Далее в статье выражение «инсталляция ОС» будет использоваться для обозначения процесса копирования файлов, если не указано иное. Промышленные способы копирования (штамповка) в статье рассматриваться не будут. Для запуска процессов копирования и управления ими нужна среда выполнения. Другими словами – процессы инсталляции ОС происходят под управлением другой ОС. В дальнейшем будем называть такую ОС «временной», а инсталлируемую – «новой».

В таком случае процесс инсталляции происходит по следующей схеме:

  1. Настройка firmware на загрузку временной ОС.
  2. Выполнение процессов копирования (инсталляции).
  3. Настройка firmware на загрузку новой ОС и загрузка новой ОС.

Пункт 4 состоит из двух действий по причине того, что настройка firmware может происходить как средствами самой firmware, так и инструментами временной ОС.

Здесь хотел бы подчеркнуть, что все сказанное выше относится абсолютно к любым сочетаниям операционных систем, как временной, так и новой. Например, в качестве временной ОС может служить какой-нибудь дистрибутив Linux, а новой – MS Windows или Solaris. Перепрошивка сотового телефона, например, может выглядеть как сочетание MS Windows – Symbian.

Способы инсталляции различаются по типу загрузки временной ОС, типу источника, способам первоначальной конфигурации.

Временная ОС может быть загружена локально, а также может быть запущена по сети. Источник файлов для инсталляции также может быть локальным (CD, DVD, жесткий диск и т. п.) или доступным по сети (используя различные сетевые протоколы). Способы первоначальной настройки системы могут быть автоматизированы в различной степени.

Самый простой способ инсталляции – это побитное копирование всего носителя. Очень хорошо для этого подходит команда dd, которая присутствует практически в любом UNIX-подобном дистрибутиве. Используя эту команду, мы можем просто продублировать носитель, например, копируя жесткий диск на второй такой же.

Также подобным способом можно восстанавливать систему из резервной копии. Загрузка временной ОС может происходить из любого источника. Конфигурация новой ОС также может быть осуществлена как из временной системы, так и после загрузки новой. Восстановление из резервной копии редко рассматривается как вариант установки операционной системы. Мы тоже не будем на нем останавливаться подробно. Тем более что в официальной документации по инсталляции Solaris 10 этот способ не описан.

Полностью копируя носитель, можно восстановить различные данные, в том числе файлы ОС, не принципиально какой. Не будем заострять внимание на различных вариантах резервного копирования и восстановления. Далее поговорим о вариантах установки ОС Solaris стандартными инструментами.

Планирование установки

Инсталляцию ОС, как и любую другую работу, неплохо начинать с планирования. Процесс планирования можно разбить на несколько этапов (подробно рассмотрены в официальной документации).

Версии системы

Последняя версия Solaris на момент написания статьи – 10, а если быть точным – 10 11/06. Наименование версии включает в себя месяц и год выпуска обновления, разделенные прямым слешем. По планам обновления системы должны выпускаться раз в квартал. По историческим причинам команда uname в ОС Solaris выдает название SunOS. Версии системы считаются после символов «5.». Например, у Solaris 10 вывод команды будет следующий:

# uname -s -r

SunOS 5.10

Более подробно информацию о версии установленной системы можно посмотреть в файле /etc/release или командой showrev.

На базе кода Solaris 10 основан проект OpenSolaris, целью которого является дальнейшее развитие этой операционной системы, в том числе и силами независимых разработчиков . На официальном сайте доступны ссылки для скачивания шести дистрибутивов на базе OpenSolaris. Часть из этих проектов поддерживается непосредственно фирмой Sun Microsystems, остальные – другими разработчиками. Периодичность обновлений зависит, конечно, от создателей дистрибутива.

Также доступна документация по созданию своей системы на базе OpenSolaris.

Последнюю версию Solaris 10, OpenSolaris, можно скачать с официальных сайтов или других источников совершенно бесплатно. При желании диски с системой можно купить.

Обычно, если четких требований к версии ОС не существует, ставится новейший релиз из доступных. После чего на систему устанавливается рекомендованный набор патчей – «Recommended Solaris Patch Clusters», скачать который можно с сайта .

До 10 версии в Solaris был предусмотрен также набор дополнительных патчей для повышения версии системы – Maintenance Update. Тогда процесс установки происходил в три этапа:

  1. Установка базового дистрибутива.
  2. Установка последнего Maintenance Update.
  3. Установка последней версии Recommended Solaris Patch Clusters.

Процесс можно было автоматизировать. Судя по всему, в версии 10 отказались от использования этой технологии, оставив только Recommended (начиная с 10 версии MU недоступен, но официальные высказывания по этому поводу не встречались).

С точки зрения инсталляции системы в Solaris 10 мало что изменилось, так что большая часть сказанного будет применима к предыдущим версиям: Solaris 8 и 9. Различия есть, но они в основном незначительные; некоторые особенности будут указаны. Примеры в статье будут применимы для версии Solaris 10 11/06, если не указано иное.

Интересно, что официально поддерживается обновление системы с версии Solaris 8 до 10. Для обновления с более ранних версий (до 8) предлагается сначала поднять версию ОС до максимально возможной. Например, с версии Solaris 2.5 до Solaris 9, после – до Solaris 10.

Все же при заметном повышении версии (не релиза) рекомендуется производить полную инсталляцию системы, а не обновлять существующую. Со случаями обновления версии сталкиваться не приходилось, даже тяжело представить необходимость проведения подобных работ. Из-за большой гибкости в настройках скорей всего можно будет найти более красивое решение, пример будет дальше.

Проверка конфигурации оборудования

Solaris 10 может работать на двух типах процессоров: SPARC и x86-совместимых. Поддерживаются системы, основанные на следующих архитектурах: UltraSPARC®, SPARC64, AMD64, Pentium и Xeon EM64T. Полный перечень поддерживаемого оборудования можно получить в официальной документации, следуя ссылкам на сайтах .

Минимальная конфигурация зависит от задач, которые будет обслуживать устанавливаемая система; желательно иметь четкое представление, для чего она будет использоваться. В зависимости от обслуживаемых функций требования к аппаратной конфигурации могут значительно отличаться.

Начиная с версии Solaris 10 1/06 все x86-совместимые системы должны иметь, как минимум, 256 Мб оперативной памяти (рекомендуется 512 Мб). Для предыдущих релизов Solaris 10 требования меньше: 128 Мб и 256 Мб соответственно.

Для платформ, основанных на технологии SPARC, требования к памяти ниже. Необходимо 128 Мб ОП, желательно 256 Мб.

Для обоих видов платформ размер минимально необходимой ОП также зависит от типа инсталляции, о чем будет сказано позже.

Система по умолчанию будет использовать 512 Мб виртуальной памяти (swap), что, конечно же, является настраиваемым параметром. Когда-то стандартным советом было выделять под область подкачки размер дискового пространства в два раза больший, чем размер доступной оперативной памяти. Сейчас эти рекомендации не всегда актуальны – не редкость встретить серверы с оперативной памятью размером в несколько гигабайт. В таком случае польза большого свопа сомнительна.

Требования к частоте процессора по современным меркам совсем небольшие. Для работы системы необходим x86-совместимый процессор с частотой 120 МГц или процессор SPARC с минимальной частотой 200 МГц.

Размер использования пространства на жестком диске сильно зависит от количества установленных пакетов. Требования могут отличаться от релиза системы и составляют от 2 до 7 Гб дискового пространства.

Требования к конкретному релизу можно посмотреть в соответствующем «Release Notes» на сайте или , если вы используете OpenSolaris.

Методы инсталляции Solaris

В официальных документах можно выделить несколько типов инсталляции, рассмотрим их:

Basic или «используя программу-инсталлятор»

Как следует из названия – это самый простой вид инсталляции.

Под словом «простой» подразумевается «требующий наименьшей квалификации» системного администратора. Процесс установки таким способом мало отличается от установки других популярных ОС. Он подразумевает загрузку временной ОС (с диска CD, или DVD, или используя загрузку по сети) и ответы на простые вопросы программы-инсталлятора.

В Solaris 10 существует два вида программы-инсталлятора – с текстовым и графическим интерфейсами. Графический инсталлятор использует Java, требования к системе в случае его использования повышаются; в некоторых случаях могут быть выше, чем требования к рабочей системе.

Этот вид установки подробно рассмотрен в нескольких документах на ресурсе .

Solaris Flash Archives

Flash здесь значит не «USB-накопитель», а всего лишь способ инсталляции, который больше похож на клонирование (этот термин также употребляется в документациии).

Суть метода состоит в том, что можно использовать одну рабочую систему как шаблон (master system). И реплицировать эту инсталляцию на другие системы, называемые клонами (clone system).

Можно «клонировать» системы как полностью перезаписывая информацию на носителе (установка «с нуля»), так и внося лишь частичные изменения. Причем в клонировании может участвовать не только системное программное обеспечение, но и другие файлы.

Этот метод – удобный способ управления большим количеством однотипных серверов, на которые время от времени приходится накладывать патчи.

Например, знакомая любому хостеру ситуация, когда время от времени приходится изменять версию PHP. Способ похож на архивирование группы файлов и их распаковку на другие машины.

Более подробно ознакомиться с этим видом установки Solaris 10 можно на сайте в книге No: 817­-5668-11 «Solaris 10 Installation Guide: Solaris Flash Archives (Creation and Installation)».

Custom JumpStart

Это самый популярный метод установки Solaris. Вернее, самый популярный способ – установка системы по сети, используя технологию JumpStart.

JumpStart отличается от других методов подходом к конфигурации системы и особенно полезен, если используется несколько серверов под управлением Solaris (обычно так и происходит – если в организациии появляется система под управлением Solaris – то не одна).

Суть метода – для установки каждого сервера формируется отдельная среда выполнения. Другими словами – заранее формируются ответы на вопросы, возникающие при инсталляции. В официальной документации рекомендуется использовать программу-инсталлятор для настройки небольшого количества серверов. Осмелюсь не согласиться с этим советом – по-моему, проще сразу подготовить файлы с ответами, запустить инсталляцию и ждать ее завершения, не отвлекаясь время от времени для ответа на новый вопрос.

Если инсталляция происходит с CD – все равно придется уделять свое внимание процессу установки для смены дисков.

Подробнее с эти видом установки можно ознакомиться в книге No: 817-5506-12 «Solaris 10 Installation Guide: Custom JumpStart and Advanced Installations».

Solaris Live Upgrade

В среде Solaris давно существует два способа установки программного обеспечения: стандартный метод и Live Upgrade.

Стандартный способ – когда установка и обновление происходит с остановкой работы сервисов на рабочей системе.

Альтернативный вариант – Live Upgrade. В данном случае слово Upgrade не нужно понимать буквально как «обновление». Это всего лишь название способа установки ПО, слово не несет привычной смысловой нагрузки.

В случае использования альтернативной технологии системное программное обеспечение может быть установлено на работающей системе, но на неактивную партицию (часть диска) или неактивный DiskSet – «набор дисков» – если используется много дисков. То есть делается копия рабочей конфигурации, на копию накатываются патчи; или же система прогружается полностью «с нуля». Потом происходит переключение путем перезагрузки на новую партицию (или DiskSet). В случае возникновения проблем возможно переключение на старую, рабочую конфигурацию. Время простоя системы при обновлении подобным способом минимально.

Более подробно ознакомиться с этим видом установки Solaris 10 можно на сайте . Например, в книге No: 817-5505-12 «Solaris 10 Installation Guide: Solaris Live Upgrade and Upgrade Planning».

Существует еще один (довольно популярный) способ обновления ПО, похожий на Solaris Live Upgrade, но применимый также к другим системам. Устройства хранения обновляемой системы должны быть объединены в «зеркало» (RAID-1 и т. п.). В таком случае перед обновлением системы диски разбиваются на две части: активную часть и резервную копию.

Вся работа по обновлению системы происходит над одной «половинкой» зеркала – активной частью. После успешного завершения работ диски опять объединяют в зеркало. Происходит синхронизация дисков с активной части на резервную копию.

В случае неудач в процессе обновления ПО возможна загрузка с резервной копии. В таком случае синхронизация дисков происходит в обратную сторону.

Network-based

Как уже было отмечено выше, Solaris 10 предоставляет возможность произвести установку системы по сети. Это можно сделать, используя стандартную программу-установщик, технологию JumpStart.

Также разработчики предоставляют возможноть установить систему через сети общего пользования, в том числе через Интернет. В таком случае установку можно произвести только на SPARC-совместимые системы. Используются протоколы HTTP или HTTPS. Если интересно – процесс подробно описан на сайте . Например, в книге No: 817-5504-12 «Solaris 10 Installation Guide: Network-Based Installations».

На практике чаще всего настраивают инсталл-сервер и системы прогружают по сети, используя технологию JumpStart.

Выбор набора устанавливаемых программ

Одна из особенностей операционной системы Solaris то, что она состоит из пакетов.

Может показаться, что многие современные системы также состоят из пакетов. Это не так. Действительно, у большинства дистрибутивов существует возможность использовать какой-нибудь менеджер пакетов или даже несколько. Но подобные инструменты обычно используются для установки дополнительного ПО (которое, впрочем, может перекрывать функционал системного). Сама система в таком случае ставится как одна монолитная, неделимая большая программа, состоящая, может быть, из множества файлов.

Например, после установки FreeBSD команда pkg_info не покажет ни одного пакета. В момент инсталляции мы можем выбрать лишь комбинацию из крупных наборов файлов: исполняемые файлы, документация, исходные тексты и т. п. При установке MS Windows можем наблюдать подобную ситуацию (точно не будет исходных текстов). В обоих случаях программа-установщик распаковывает файлы ОС из архивов и копирует их на диск. В одном случае используются CAB-файлы, в другом – TGZ.

В отличие от них установка всей системы Solaris происходит командой pkgadd. Например, при установке набора пакетов «Entire Solaris Software Group Plus OEM Support» ставится 984 системных пакета в Solaris 10, 1055 пакетов в Solaris 9.

Системные пакеты обычно имеют префикс SUNW.Поэтому их количество проверить легко:

$ pkginfo | grep SUNW | wc -l

Установленное в систему ПО можно посмотреть в файле /var/sadm/install/contents. Способ используется чаще, чем стандартный whereis из UNIX. Например, где находится файл bash, в какой пакет входит, можно посмотреть командой grep:

# uname -a; echo ; grep "/bash " /var/sadm/install/contents

SunOS mncomp 5.10 Generic_118833-33 sun4u sparc SUNW,Sun-Blade-100

/usr/bin/bash f none 0555 root bin 735572 56826 1106443425 SUNWbash

Здесь мы видим, что исполняемый файл bash входит в пакет SUNWbash. В случае если нам понадобится, например, обновить версию интерпретатора, можно удалить установленный пакет и поставить его более новую версию.

Например, как-то раз мне пришлось столкнуться с интересным случаем. Долгое время работал сервер под управлением Solaris 8. Одной из функций этого сервера была обработка электронной почты. Понадобилось настроить дополнительную проверку почты через внешний фильтр – milter. В Solaris 8 использовался Sendmail версии 8.11 с патчами от SUN.

Для использования технологии milter требовалась версия не ниже 8.12, а это уже из набора Solaris 9. Обновление версии системы не рассматривалось – слишком много других сервисов работало на сервере, в том числе программы сторонних разрабочиков. На другой машине был собран пакет sendmail с нужной функциональностью, после чего ПО для почтового сервиса было заменено штатными средствами системы. Время простоя одного сервиса составило всего несколько минут; остальная функциональность системы не пострадала.

Разбиение системного ПО на пакеты предоставляет большую гибкость в момент установки и дальнейшей работы. Администратор может установить не только стандартные наборы ПО, но и легко создавать собственные. Например, для экономии места на дисках. Перейдем к рассмотрению наборов.

Стандартные наборы программ

В Solaris 10 предопределено 6 наборов системных пакетов. Для каждого набора существуют рекомендации по использованию дискового пространства, которые описывают использование следующих областей:

  • Виртуальная память (Swap).
  • Патчи.
  • Дополнительное программное обеспечение (пакеты).

Скорее всего установленная система будет занимать меньше места, чем написано в рекомендациях.

Системные пакеты можно найти на установочном диске (или на установочном сервере) в директории Solaris_10/Product/.

Из каких конкретно пакетов состоит каждый набор, можно посмотреть там же в файле Solaris_10/Product/.clustertoc.

Рассмотрим стандартные наборы пакетов Solaris 10 подробнее.

Reduced Network Support Software Group

Содержит минимум пакетов, необходимых для загрузки и запуска системы с ограниченной поддержкой сетевых сервисов. Этот набор программ предоставляет возможность многопользовательской работы через консоль и включает в себя утилиты для управления системой.

Также этот системный набор позволяет настроить сетевые интерфейсы, но не запускает сетевые сервисы.

Core System Support Software Group

Содержит минимум пакетов, необходимых для полноценной работы системы с сетевыми сервисами.

End User Solaris Software Group

Содержит пакеты, необходимые для работы с сетвыми сервисами, а также оконный менеджер и набор программ с графическим интерфейсом.

Developer Solaris Software Group

Содержит все файлы из предыдущего набора плюс дополнительные пакеты, полезные для разработчиков. Они включают в себя библиотеки, файлы заголовков, документацию и инструменты разработки.

Компиляторы в этот набор не входят, к сожаленью, их придется доставлять отдельно.

Требования к дисковому пространству увеличились до 6,6 Гб.

Entire Solaris Software Group

Содержит все файлы из предыдущего набора плюс дополнительные пакеты, полезные для работы серверов.

Entire Solaris Software Group Plus OEM Support

Содержит все файлы из предыдущего набора плюс дополнительные пакеты, содержащие драйверы устройств, которые не были подключены в момент инсталляции системы.

В большинстве случаев устанавливается максимально возможный набор пакетов. Иногда сторонние производители программного обеспечения (например, Cisco или Oracle) выставляют свои требования по набору установленных пакетов, патчей и их версий.

Различные методы инсталляции могут предоставлять разные возможности по управлению устанавливаемыми пакетами. Максимальную гибкость при установке можно достигнуть, используя метод JumpStart.

Разбиение системного ПО на пакеты имеет одну неприятную особенность, проявляющуюся в момент инсталляции.

Установка системы пакетами занимает гораздо больше времени, чем другими способами. Каждый пакет в момент установки кроме непосредственно копирования файлов проверяет зависимости, записывает служебную информацию, может выполнять дополнительные действия.

Нередко случается, что установка Solaris растягивается на несколько часов.

В случае если инсталляцию системы необходимо провести очень быстро – придется использовать другие способы, например, Flash Archives.

Стандартные вопросы

Перед инсталляцией системы необходимо знать ответы на вопросы, возникающие в большинстве случаев установки. Все вопросы с возможными ответами перечислены в таблице «Checklist for Installation» в книге No: 817-0544-12 «Solaris 10 Installation Guide: Basic Installations».

Сами вопросы и ответы на них выглядят так же, как в программе-инсталляторе. Ниже приведены краткие описания вопросов, возможные ответы, ответы по умолчанию (методы ответов могут отличаться и зависят от типа инсталляции). Повторять полный список вопросов и ответов не вижу смысла, лишь добавлю, как ответы на некоторые из них отражаются на настройке системы.

Кроме конфигурационных файлов настройку системы можно производить, используя утилиты sys-unconfig(1M) и sysidtool(1M).

Является ли система частью сети?

Ответ на этот вопрос никаких конкретных изменений в системе не делает. Только влияет на последовательность следующих вопросов – раздел «настройки сети».

Настройки сети

Для каждого сетевого интерфейса, в том числе использующего DHCP для своей настройки, необходим файл /etc/hostname.hme0, где hme0 – имя интерфейса.

Для протокола IPv6 используются файлы вида: /etc/hostname6.hme0.

В этих файлах лежат настройки интерфейсов, используемые командой ifconfig. Можно ограничиться одним файлом для настройки, но обычно дополнительно используется информация из других источников. В основном это файлы /etc/hosts и /etc/netmasks.

Могут использоваться не только файлы, но и другие информационные службы: DNS, LDAP, NIS, NIS+ и т. п. Откуда конкретно берется информация, можно посмотреть в файле /etc/nsswitch.conf.

Подробную информацию по используемым файлам можно посмотреть в соответствующих разделах документации.

Настройки DHCP

Если сетевой интерфейс использует протокол DHCP для своей настройки, то в системе создается файл /etc/dhcp.hme0, где hme0 – имя интерфейса.

Имя системы

Часто hostname путают с именами интерфейсов, хранящимися в файлах /etc/hosts, /etc/hostname*. Интерфейсов может быть несколько, а имя у системы – одно. В системном руководстве (man) говорится, что если сетевых интерфейсов несколько, то именем системы служит имя Primary Interface. На практике дело обстоит несколько иначе. Начиная с версии 10, информация об имени системы хранится в следующих файлах:

  • /etc/nodename;
  • /etc/inet/hosts;
  • /etc/inet/ipnodes.

Kerberos

Файлы с настройками Kerberos хранятся в папке /etc/krb5/.

Сервисы имен

Solaris может использовать информацию о системных настройках из различных источников. Информация об использовании всех служб берется в первую очередь из файла /etc/nsswitch.conf. Настройки конкретных служб можно посмотреть в соотвествующих разделах документации.

Маршруты по умолчанию

Информация о маршрутах по умолчанию хранится в файле /etc/defaultrouter, по одной строчке на маршрут. Программа-инсталлятор предлагает указать только один маршрут. Файл читается только при загрузке системы. Текущие настройки маршрутизации на работающей системе можно посмотреть командой:

netstat -rn

Управлять настройками маршрутизации можно командой route.

Осмелюсь напомнить, что для корректной работы шлюз должен находиться в той же подсети, что и один из работающих интерфейсов.

Также во время инсталляции система может попытаться определить настройки маршрутизации самостоятельно, используя протокол ICMP, если конфигурация сети позволяет.

TimeZone, locales

Информация о временной зоне, географическом регионе и другая хранится в файле /etc/TIMEZONE, который является символической ссылкой на /etc/default/init.

Остальные вопросы

Остальные вопросы касаются разбивки дисков, набора устанавливаемых пакетов и т. п. Конкретные вопросы и ответы на них зависят от типа инсталляции.

Настройки файловой системы хранятся в файле /etc/vfstab, синтаксис которого походит на подобные файлы из других систем. Информацию об установленной системе можно посмотреть командой showrev с различными ключами, а также в каталоге /var/sadm.

Например, информация об установленных пакетах хранится в файле /var/sadm/install/contents.

Файлы журнала о прошедшем процессе инсталляции системы хранятся в каталоге /var/sadm/system/logs/ и /var/sadm/install/logs/.

Выводы

По каждому виду инсталляции существует отдельная книга, также встречаются статьи с конкретными примерами. Вообще процесс установки современных ОС выглядит примерно одинаково, по крайней мере в простейших случаях. Отличия проявляются в тонкостях настройки и используемой терминологии. Как видно, легендарная операционная система предоставляет администратору большую свободу в выборе действий уже в процессе инсталляции. Именно гибкостью настройки Solaris всегда отличался от других систем. Возможно, во многих случаях она не пригодится – тогда будут использоваться стандартные варианты настроек. Работать с «динозавром» совсем не страшно.

  1. http://docs.sun.com – раздел opennet.ru, посвященный Solaris. Где, кроме всего прочего, можно найти подборку полезных ссылок на русском языке.
  2. http://ru.wikipedia.org .
  3. http://playground.sun.com/1275 – домашняя страница OpenBoot.

Вконтакте