Установка ОС Solaris и управление пользователями
Отличия установки Solaris на компьютеры SPARC
Система устанавливается на компьютеры различной архитектуры сходным образом, но при этом следует помнить о некоторых различиях.
Во-первых, для каждой архитектуры используется свой дистрибутив (количество компакт-дисков в дистрибутиве одинаково для обеих архитектур).
Во-вторых, для установки на платформе Intel недоступен способ Factory JumpStart.
В-третьих, установка на системы SPARC начинается со взаимодействия с firmware - встроенным в ПЗУ программным обеспечением компьютера, которое производит загрузку установочной программы с компакт-диска, ленты, через сеть с NFS-сервера и т.п. Для установки Solaris на компьютер архитектуры x86 проще всего использовать загрузочный компакт-диск из дистрибутива.
В-четвертых, на компьютеры SPARC устанавливается 64-битная версия Solaris, которая не может работать с 32-битной архитектурой x86.
Solaris 9 специально создана для компьютеров SPARC, поэтому возможных проблем при установке на эти компьютеры неизмеримо меньше. Например, практически исключена несовместимость оборудования и ПО. Именно поэтому далее речь будет идти о трудностях, которые можно встретить при установке Solaris 9 на компьютеры x86.
Трудности при установке Solaris 9 на компьютеры x86
Отсутствие поддержки DMA
В процессе копирования mini-root на жесткий диск может появиться ошибка, информация о которой выглядит так: вначале несколько раз повторяется сообщение1Конкретный номер после знака @ может быть иным, он зависит от того, на какой из установленных в компьютере жестких дисков ATAPI (IDE) происходит копирование.
Warning: /pci@0,0/pci-ide@7,1/ide@0 (ata0) timeout : abort request, target=0 lun=0
а затем копирование прекращается с сообщением об ошибке:
Warning: /pci@0,0/pci-ide@7,1/cmdk@0,0 (Disk 0) Error for command 'read sector'. Error level 'Informational' Sense Key: aborted command Vendor 'Gen-ATA' error code: 0x3
Это говорит о том, что система не смогла корректно работать с ATA DMA (Direct Memory Access) в вашем компьютере и поддержку ATA DMA в Solaris (а не в BIOS!) следует отключить. Для этого надо:
- Запустить установку заново.
- После того как DCA определит, какие устройства есть в системе и загрузит соответствующие драйверы, появится экран с вопросом о том, какой диск является загрузочным (в заголовке экрана будет написано Boot Solaris). Выбрать Boot Tasks (нажав F4).
- Появится экран Boot Tasks, там следует выбрать View/Edit Property Settings.
- Найти в появившемся списке свойств ata-dma-enabled.
- Присвоить этому параметру значение 0.
- Выбрать возврат к предыдущему экрану (Back), нажав F2.
- Возвратиться к экрану Boot Solaris, нажав F3.
- Продолжить установку системы, как было показано ранее.
Надо отметить, что в Solaris 8 x86 поддержка ATA DMA по умолчанию была выключена. В Solaris 9 умолчание изменили: теперь поддержка ATA DMA включена по умолчанию.
Есть данные, говорящие о том, что Solаris 8 x86 при установленном в DCA параметре ata-dma-enabled=1 корректно работал с приводами ATAPI CDROM/DVD-ROM, в отличие от Solaris 9 x86, который не использует DMA для этих устройств.
Невозможность работы в графическом режиме
Если параметрам видеосистемы присвоить значения, которые не соответствуют аппаратной конфигурации компьютера (неверный тип видеокарты, неподдерживаемые разрешение или частота кадровой развертки монитора), то при попытке работы в графическом режиме (например, при переходе к графической части установки способом Web Start) программа установки зависнет.
Попробуйте нажать Ctrl-C, возможно, программа kdmconfig будет аварийно завершена и установку можно будет продолжить.
Если это не помогло, придется устанавливать систему заново с указанием правильных параметров видеоадаптера и монитора программе kdmconfig. В случае, если Solaris не поддерживает установленное у вас в компьютере видеооборудование (например, очень старая или весьма оригинальная видеокарта), то следует либо выбрать минимальный вариант видеоадаптера (VGA, 16 цветов, 60 Гц развертка), либо отказаться от работы в графическом режиме и вообще не запускать графическую среду Solaris. В последнем случае возможным выходом явится установка системы с помощью программы suninstall.
Неожиданное прерывание установки
Если установка системы прервалась на этапе копирования файлов, когда разделы диска уже определены, можно запустить ее заново командой /sbin/cd0_install. Часть настроек придется повторить. Это возможно только в том случае, если в результате прерывания установки вы видите стандартное приглашение к вводу команд в командной строке, вот такое:
#
Невозможность войти под именем root
С именем root запрещено входить в систему интерактивно через сеть или подсоединяться к ней по протоколу ftp. Однако если пароль root забыт или неизвестен, следует обнулить этот пароль так, чтобы он стал пустым. Методика этого процесса описана в лекции 1. Помните, что для этого требуется физический доступ к компьютеру под управлением Solaris, удаленно сбросить пароль root невозможно. Поэтому не следует бояться, что злонамеренные хакеры воспользуются описанным способом без вашего ведома. С другой стороны, следует ограничить доступ к компьютеру посторонних людей!
Не распознается сетевая карта
Еще на начальном этапе установки DCA (вы, конечно, помните, DCA - это Device Configuration Assistant, программа, которая определяет, что за оборудование установлено в компьютер, и помогает обнаружить новые устройства) легко определил вашу сетевую карту, и вы до самого конца установки пребывали в уверенности, что Solaris ее поддерживает. Не тут-то было! Никакой сетевой карты после установки Solaris не видит, и все настройки сети отправились коту под хвост! Что можно сделать в этом случае?
Возможно, следует поменять сетевую карту. Однако для NE2000-совместимых карт можно попробовать менее сложный способ. Правда, покажется ли он вам менее сложным к концу следующей страницы?
В Solaris для драйвера каждого устройства существует конфигурационный файл, в котором указано, какие адреса портов и прерывания использует соответствующее устройство. Конфигурационный файл может содержать одни комментарии, тогда драйвер будет использовать значения по умолчанию. Однако файл конфигурации должен присутствовать в любом случае. Файлы конфигурации расположены в файлах /kernel/drv/*.conf и /platform/i86pc/kernel/drv/*.conf.
Мы уже предположили, что у нас есть cетевой адаптер, совместимый с NE2000. Обычно эти адаптеры имеют диапазон адресов портов от 0x240 до 0x360. Но Solaris по умолчанию не ищет адаптер с адресом больше 0x300, так как NE2000 может конфликтовать с другими устройствами. Стало быть, для того чтобы Solaris мог работать с адаптером NE2000 на 0x320, следует изменить файл конфигурации, предварительно удостоверившись в том, что аппаратных конфликтов при этом не будет.
В Solaris файл устройства и драйвер для семейства адаптеров, совместимых с NE2000, принято называть nei. В некоторых системах этот драйвер просто выключен по умолчанию.
Для изменения параметров, используемых драйвером, в нашем случае понадобится изменить файл /kernel/drv/nei.conf. Возможно, вместо этого придется менять файл /platform/i86pc/kernel/drv/nei.conf, в зависимости от системы. Иногда файлы *.conf с одинаковыми именами есть в обоих каталогах - тогда, как показывает практика, лучше использовать каталог /platform/i86pc/kernel/drv/. Для платформы, отличной от x86, следует выбрать каталог, соответствующий платформе. В файле *.conf должно быть нечто вроде:
name="nei" parent="isa" reg=0x1,0x320,0x1f interrupts=11;
Здесь name="nei" обозначает символическое имя, которое будет иметь файл устройства в каталоге /dev. Параметр parent="isa" означает тип шины. Здесь тип ISA включает и шину PCI, что может поначалу ввести в заблуждение. Для Solaris этот параметр равен либо sysbus (это системная шина SPARC), либо isa, что означает любую шину, кроме SPARC sysbus. Флаг " 0x1 " означает, что далее идет определение диапазона I/O портов, а не смещения в памяти; 0x320 показывает начальный I/O адрес в шестнадцатеричном виде; 0x1f есть размер диапазона портов ввода-вывода от начального адреса; " interrupts=11 " показывает IRQ 11 в десятичном виде.
При выполнении подобной операции с файлом конфигурации драйвера другого устройства попробуйте команды
grep conf /kernel/drv/*.conf
и
grep conf /platform/`uname -m`/kernel/drv/*.conf
чтобы выяснить, как называется нужный файл.
Выключите компьютер и (если требуется) измените адрес перемычками на сетевом адаптере. После перезагрузки система должна увидеть карту. Для карт "plug and play" следует отключить функцию самонастройки и установить конкретные номер порта и IRQ.
При добавлении ранее неизвестного системе сетевого адаптера необходимо также создать файл /etc/hostname.nei0 и указать в нем IP-адреса. Это требуется для того, чтобы система увидела не только новое устройство, но и распознала в нем новый сетевой интерфейс. Также добавьте в /etc/hosts строчку, сопоставляющую имя данному интерфейсу, например:
10.1.1.1 mycomputer.domain.com
В этом примере предполагается, что файл /etc/hostname.nei0 содержит адрес 10.1.1.1.
Для того чтобы в каталогах /devices и /dev гарантированно были нужные файлы нового устройства, дайте команду devfsadm (для Solaris 8 и более ранних версий - drvconfig ):
devfsadm
или
/usr/sbin/drvconfig -i nei
Эта команда выполняется автоматически при добавлении нового устройства с помощью команды add_drv во время следующей перезагрузки системы. Подробнее о добавлении устройств говорится в лекции 12.
Далее наберите touch /reconfigure; reboot (это можно делать только как root).
После перезагрузки, чтобы быть уверенным, что адаптер опознан, дайте команду
ifconfig nei0 plumb
Строка nei0 должна появиться в выводе программы prtconf.