Linux+Solaris HOWTO

Max Berger

     [email protected]
   

Перевод: Станислав Рогин, SWSoft Pte Ltd.

v0.8 2000/04/17 23:48:03

В этом документе содержится информация о том, как использовать Linux (x86) и Solaris (x86) одновременно на одной машине


1. Вступление

1.1. Почему Solaris?

На самом деле, это очень хороший вопрос. Зачем использовать Solaris, когда есть Linux? Solaris - коммерческая операционная система, и в ней плохо реализована поддержка аппаратных средств. Однако, если Вы читаете это, то, вероятно, уже остановили свой выбор на Solaris. Если нет, то я попробую назвать несколько причин:

  • Я администрирую Solaris-машину. Бесполезно, что я изучил все команды и параметры Linux, т.к. не могу их использовать на Solaris.

  • Фирма Sun некоторое время раздавала Solaris, как они это называют "только за себестоимость". Хорошо, если они будут это делать всегда.

  • Причина может быть в том, что Вам понравится CDE.


1.2. О чем этот документ?

Этот HOWTO поможет Вам установить Solaris 7 или 8 на x86 машину, на которой уже установлен Linux. Основные пункты:

  • Как не уничтожить Ваши данные - раздел Разд. 2

  • Как Linux и Solaris могут сосуществовать (на уровне системной загрузки) - раздел Разд. 5

  • Как одновременно использовать данные в Linux и Solaris - раздел Разд. 6


1.3. Упомянутые версии

Версии систем, используемые при составлении данного документа:

  • Solaris 7 x86 (= Solaris 2.7 / SunOS 5.7)

  • Solaris 8 x86 (= Solaris 2.8 / SunOS 5.8)

  • Linux 2.2.14, 2.3.99-pre3

  • fdisk v2.10f

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


1.4. Предупреждения

Пожалуйста, сделайте резервные копии всех данных прежде, чем приступите к установке новой системы! Многие вещи, приведенные в данном документе, могут вызвать полную потерю данных! Я не беру на себя ответственность за это! См. раздел Разд. 9.3


2. Подготовка Вашего жесткого диска

Чтобы подготовить Ваш жесткий диск к установке Solaris, Вы должны знать кое-что о стандартной таблице разделов и о разделе Solaris. В этом HOWTO я говорю о системах с одним жестким диском, но все сказанное будет справедливо и при большем их количестве.


2.1. Традиционные разделы

Стандартная таблица разделов имеет всего четыре раздела. Из них для нас важны:

Primary Partition (Первичный раздел)

Может содержать только один раздел. Только с этого раздела Вы можете загружаться!

extended Partition (Расширенный раздел)

Может содержать много подразделов DOS, Linux и др.

Solaris Partition (Solaris раздел)

Может содржать много подразделов Solaris.

Чтобы убедиться, что Ваш жесткий диск разделен на разделы, используйте программу fdisk. Номера разделов от 1 до 4 (hda1..4, sda1..4, ...) должны присутствовать в вашей таблице разделов.


2.2. Разметка Solaris-разделов

Solaris имеет собственную схему разделов.Он делает собственную запись в таблице разделов и работает с ней.

Этот раздел Solaris делится на 8 подразделов. Третий подраздел фактически охватывает весь раздел, так что, на самом деле, могут использоваться только 7 подразделов.

К сожалению, запись раздела Solaris в таблице разделов такого же типа, как и Linux swap-раздел (82). Поэтому Ваш swap-раздел Linux не должен быть первичным разделом.

Хотя программа Linux fdisk имеет поддержку ``Sun disklabel'', кажется, это не помогает.


2.3. Свободное место

Безусловно, Solaris нуждается в свободном месте на жестком диске. Минимальная инсталляция Solaris 8 занимает около 300Мб. Для нормальной инсталляции необходимо около 700Мб, с установкой "инструментов разработчика" - около 1Гб.

Но эти требования только для базовой инсталляции. Кроме этого, Вы можете установить утилиты GNU и т.п. Если Вы хотите совместно использовать данные в Linux и Solaris, то необходимо, чтобы эти данные находились на разделе Solaris.

Вероятно, Вы надеетесь совместно использовать Ваши домашние каталоги. Забудьте об этом! Я попробовал это реализовать и был очень счастлив, что предварительно сделал резервные копии. Также смотрите раздел Разд. 6


2.4. Быстрая проверка по списку

Вы можете быстро проверить Ваше разбиение жесткого диска по списку:

  • У Вас не более 3 записей в таблице разделов

  • Ваш раздел подкачки Linux не является первичным

  • У Вас имеется, как минимум, один первичный раздел Linux ext2

  • У Вас имеется, по крайней мере, 1Гб неразмеченного пространства


3. Подготовка Linux

3.1. Сборка нового ядра

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

Опции ядра для "совместимости с Solaris":

  • В code maturity:

    Prompt for development drivers

    К сожалению, возможность писать в файловую систему UFS все еще экспериментальна

  • В file systems:

    UFS file system support

    UFS - это файловая система Solaris

    UFS file system write support

    Единственный способ передавать данные Solaris

    partition types / Solaris (x86) partition table support

    Это необходимо для поддержки подразделов в пределах Вашего Solaris-раздела.

Дополнительную информацию о сборке ядра можно найти в Kernel-HOWTO


3.2. Подготовка системного загрузчика

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

К сожалению, при установке Solaris переписывает область начальной загрузки (MBR) и стирает Ваш старый системный загрузчик.

К счастью, системный загрузчик Solaris позволяет цепную загрузку. Поместите старый системный загрузчик (например lilo) в загрузочный сектор одного из первичных разделов Linux.

Для lilo: посмотрите Ваш файл /etc/lilo.conf. Найдите строку boot= . Если там написано, что-то вроде boot=/dev/hda1, то это хорошо. Но если там есть, что-то вроде boot=/dev/hda, то это указатель на MBR. Исправьте этот указатель так, чтобы грузиться с первичного раздела Linux (например, boot=/dev/hda1).

Чтобы попробовать, позволяет ли Ваш системный загрузчик производить цепную загрузку, установите lilo в MBR и попробуйте загрузиться при помощи другого системного загрузчика. Я использую для этого файл lilo.conf.mbr со следующим содержанием:

#lilo.conf.mbr
#Lilo в MBR только передает загрузку другому lilo
boot=/dev/hda
root=/dev/hda5
install=/boot/boot.b
map=/boot/map
vga=ask
delay=50
other=/dev/hda1
label=lilochain
Теперь наберите lilo -C lilo.conf.mbr для установки lilo в MBR. И не забудьте запустить lilo для того, чтобы получить lilo в загрузочном секторе Вашего жесткого диска.

Если теперь Вы перезагрузитесь, то увидите приглашение lilo. Если вы выберете other, то загрузится старый lilo, который, в свою очередь, загрузит Linux.


4. Установка Solaris

4.1. Интерактивный Solaris

Solaris 7

Интерактивный Solaris находится на первом CD. Загрузитесь с него.

Solaris 8

На дисках Solaris 8 интерактивный инсталлятор находится на первом CD с программами. Отдельный CD с инсталлятором не нужен вообще.

Установка Solaris обычно не вызывает никаких трудностей. Единственная трудность, которая может возникнуть - деление на разделы. Solaris будет автоматически использовать все свободное место на Вашем жестком диске и создаст на этом диске свой раздел. Когда раздел будет делиться на подразделы, не забудьте выделить место для обмена Solaris/Linux. Хорошее место для этого - дополнительный раздел /export/share.

Пожалуйста, обратите внимание: Если Вы прервете установку Solaris, MBR на Вашем жестком диске может быть уже перезаписан и Вы не сможете загрузиться с него вообще.


4.2. Web-Start

Я не смог заставить работать Web-Start. Пожалуйста, напишите мне, если у Вас есть опыт работы с ним.

Однако, однажды я смог установить Solaris без всяких проблем, связанных с установкой пакетов web-start.


4.3. Получение GNU-утилит

В стандартную поставку Solaris не входит даже команда less. Некоторые советуют установить менеджер пакетов Redhat (RPM) для Solaris, но и стандартные инструменты могут выполнять его функции. Вы можете найти замечательные пакеты на http://www.sunfreeware.com. Стандартные пакеты устанавливаются командой pkgadd <пакет>, а пакеты web-start java java <packagewithoutclassextension>.


5. Управление загрузкой

5.1. Использование системного загрузчика Solaris

Когда загрузится системный загрузчик Solaris, он предоставит Вам выбор из четырех первичных разделов, с которых можно загрузиться. Если Ваш системный загрузчик установлен в первичном разделе - это прекрасно. Только загрузитесь с этого раздела, и все.


5.2. Использование lilo

Теперь ваш lilo стал вторичным системным загрузчиком, но Вы хотите, чтоб он снова стал первичным загрузчиком? Нет проблем. Lilo может легко заменить загрузчик Solaris. Только добавьте/исправьте строку other= в файле lilo.conf.

Для проверки, Вы должны к lilo первым добавить системный загрузчик Solaris. Теперь проверьте цепочку: lilo, Solaris, lilo, Solaris, .... Если она срабатывает, то, наверняка, Вы сможете без каких-либо проблем поместить lilo обратно в MBR.

Однако, Solaris может конфликтовать с lilo. У меня возникла такая проблема после установки Solaris 8, т.к. lilo не понравился новый раздел. У меня не было проблем с Solaris 7.


5.3. Использование grub

К сожалению, у меня нет опыта работы с Solaris-загрузчиком grub. Если Вы с ним работали, пожалуйста, напишите мне!


6. Совместное использование данных

6.1. Использование раздела shared

Если Вы собрали ядро с поддержкой файловых систем Sun и UFS, как это описано в разделе Разд. 3.1, то можете подключать раздел Solaris. Во время загрузки на экране должно появляться нечто подобное: hda: [PTBL] [523/255/63] hda1 hda2 < hda5 hda6 hda7 hda8 > hda3 <Polaris: [s0] hda9 [s1] hda10 [s2] hda11 [s3] hda12 [s6] hda13 [s7] hda14 > В данном случае: раздел 3 (hda3) - это Solaris-раздел с шестью подразделами (s0,s1,s2,s3,s6,s7). В Linux они будут иметь имена от hda9 до hda14.

Попробуйте подключить раздел Solaris. Когда подключаете раздел UFS, Вы всегда должны указывать параметр -oufstype= в командной строке, в нашем случае, это -oufstype=sunx86. Итак, команда для подключения раздела должна выглядеть следующим образом: mount -oufstype=sunx86 /dev/hda14 /mnt Проверьте, подключился ли Ваш раздел. Пожалуйста, обратите внимание: Запись на раздел UFS находится пока только на экспериментальном уровне. Будьте крайне осторожны с записью на него: проверяйте записанные данные!

Если Вы хотите, чтобы Ваш Solaris-раздел подключался автоматически во время загрузки, добавьте строку /dev/hda14 /solaris ufs ufstype=sunx86 0 0 в файл /etc/fstab


6.2. Другой путь

Конечно, имеются и другие пути для обмена данными или совместного их использования:

Дискета

Я не знаю, какая файловая система на дискетах является стандартной для Solaris. Вы знаете? Напишите мне.

Сеть

И Solaris, и Linux прекрасно работают с NFS. Скорее всего, это наилучший путь обмена данными или совместного их использования.


7. Запуск "инородных" программ

7.1. Запуск программ Linux в Solaris

По идее, для этого используется программа ``lxrun''. Но у меня нет ее, и я не имел возможности ее испытать. Ищите ее на официальном сайте Solaris, для получения большей информации об этом.


7.2. Запуск программ Solaris в Linux

Насколько мне известно, Linux не поддерживает бинарные файлы Solaris.


8. Ссылки на дополнительную информацию

Вот некоторые ссылки, которые помогут Вам и дадут более обширную информацию:

  • Sun Freeware Прекрасный сайт, на нем много бесплатных утилит, готовых к установке.

  • Sun Microsystems Официальный сайт корпорации Sun.

  • Solaris Homepage

  • Solaris Hardware Compatibility List (HCL)

  • Solaris Online Documentation

  • My Website Здесь Вы всегда найдете самую последнюю версию данного документа


9. Благодарности и юридическая информация

9.1. Благодарности

Спасибо Marcel Meyer за проверку и тестирование данного HOWTO, в процессе установки Solaris на его машину.


9.2. Вопросы, комментарии, предложения

Всегда пожалуйста. Вы можете написать мне на [email protected]


9.3. License

This document is copyrighted © by Max Berger. You may use and/or modify it according to the Linux Documentation Project License (LDPL) found at http://www.linuxdoc.org/COPYRIGHT.html.

According to the license you don't have to tell me, but I'd very much like to know when you modify and/or republish this document.

Although the information given in this document is believed to be correct, the author will accept no liability for the content of this document. Use the tips and examples given herein at your own risk.


9.4. Авторские права

Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.

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

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: , или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу