Европейский Университет в Санкт-Петербурге
Опубликован: 10.10.2005 | Доступ: свободный | Студентов: 1726 / 299 | Оценка: 4.30 / 3.85 | Длительность: 16:22:00
ISBN: 978-5-94774-820-8
Лекция 4:

Установка ОС Solaris и управление пользователями

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >
Аннотация: Лекция описывает особенности установки системы на различные аппаратные платформы и содержит сведения о том, какие основные проблемы могут встретиться при установке Solaris на платформу x86, а также рассказывает о том, как управлять учетными записями пользователей. В ней рассмотрены ограничения, которые накладывает система на длину и содержание имен пользователей и групп, а также на их пароли. Кроме этого, в лекции рассмотрены форматы файлов /etc/passwd, /etc/group и /etc/shadow.

Отличия установки 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!) следует отключить. Для этого надо:

  1. Запустить установку заново.
  2. После того как DCA определит, какие устройства есть в системе и загрузит соответствующие драйверы, появится экран с вопросом о том, какой диск является загрузочным (в заголовке экрана будет написано Boot Solaris). Выбрать Boot Tasks (нажав F4).
  3. Появится экран Boot Tasks, там следует выбрать View/Edit Property Settings.
  4. Найти в появившемся списке свойств ata-dma-enabled.
  5. Присвоить этому параметру значение 0.
  6. Выбрать возврат к предыдущему экрану (Back), нажав F2.
  7. Возвратиться к экрану Boot Solaris, нажав F3.
  8. Продолжить установку системы, как было показано ранее.

Надо отметить, что в 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.

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >