пʼятниця, 6 травня 2011 р.

Знакомимся с Solaris 11 Express

Уже давно я хотел в живую увидеть Solaris, но все никак руки не доходили или я забывал. Но вдруг в новостях я прочитал о выходе новой версии этой ОС, отбросил все свои дела и принялся качать... Для начала я решил попробовать загрузочный диск. И так, давайте разберёмся, что такое Solaris и с чем его едят.
 Кратко о...
Solaris — это пропиретарная ОС, построенная на базе POSIX-совместимого окружения, который раньше носил название SunOS. Расчитан в основном на сервера широкого профиля и для рабочих станций до недавнего времени мало подходил. На данный момент быстро развивается и является современной и мощной операционной системой. История уходит корнями в далёкий 1982г., когда Sun Microsystems решили создать свою версию UNIX, ибо тогда это было модно. Название не было до конца определено, поэтому релиз временно назвали Sun UNIX 0.7, а всего через год ее уже окончательно переименовали в SunOS. На то время использовалась кодовая база BSD. В 1992 году произошло важное событие — смена кодовой базы с BSD на SVR4 (System V Release 4). Для увеличения коммерческой привлекательности её переименовали на Solaris. Если в консоли набрать «uname -a», то можно увидеть это старое название. Solaris, как и другие UNIX, в 90-ых пережил смену формата исполняемых файлов с a.out в более современный ELF, из-за чего отлаживать программы стало проще. В 2005г. было принято решение открыть большую часть исходных кодов в виде проекта OpenSolaris. На этот шаг, скорее всего, их вдохновила компания RedHat, которые разделили свои продукты на версии для бизнеса и домашнего использования, и, как результат, увеличили прибыль. Директора коммерческого отдела Sun Microsystems также думали повысить таким образом популярность системы, однако большого результата для коммерции это не принесло. Зато принесло для сообщества — много свободного ПО для серверов помогло сэкономить любителям Solaris крупную сумму денег. Недавно, в апреле 2010 года, фирму Sun Microsystems внезапно купил IT-гигант Oracle. Для многих это стало неожиданным и сомнительным событием. Но вопреки всем страхам и опасениям в итоге на судьбу ОС это практически не повлияло. В том числе и на популярность. Кстати, на счет популярности. Solaris никогда не был широко распространён на рабочих станциях, да и на серверах ей далеко до Linux и Windows. Solaris выбирают те люди, которые знают, чего хотят от системы, а не для того, чтобы выпендрится и потом и хвастаться перед знакомыми.
 Где взять?
Solaris можно официально и бесплатно скачать с сайта Oracle - http://www.oracle.com/solaris. Для домашнего пользования лицензия бесплатна, коммерческим организациям все-таки денежку придется выложить. 
Содержимое диска.
Так как я качал версию LiveCD, то набора пакетовна нем быть не должно. Так и есть. В корневом каталоге можно наблюдать файловую систему, которая появится после загрузки в папке «/». Вот только только почти все папки там пустые. Все содержимое ОС хранится в сжатой ФС с именем solaris.zlib и размером 550 Мб. Что это за формат мне даже file не сказал (data), а рыться в поисках истины я не стал.
Что нового? Давайте рассмотрим что же такого вкусненького нам тут предлагают и какие новые технологии присутствуют. Для начала скажу, что Solaris 11 Express предназначается для быстрого развёртывания серверов, благодаря чему упростилась установка и увеличилась скорость инсталляции. Релиз рассчитан для системных администраторов и разработчиков ПО, которые хотят просто протестировать эту систему перед выходом основной, корпоративной версии. Ну, как для тестовой она очень даже хороша. Это похоже на то, как RedHat сначала свои новинки тестирует на Fedora, а потом уже в зависимости от результатов внедряет в upstream. По рассказам, новая версия ставится быстрее и легче предыдущей. Правда ли это — я не проверял, не было возможности. Это раз. Так же внедрена новая технология управления ресурсами, в результате чего Solaris остаётся отзывчивой и шустрой даже при очень высокой нагрузке. Это в свою очередь снижает время простоя сервера, а то и вовсе сводит его на /dev/null. Это два. Не обошлось и без усовершенствования файловой системы ZFS: улучшены механизмы шифрования, файловой дедупликации и резервного копирования. Oracle заявляет, что Solaris 11 Express может поддерживать "сотни терабайт данных на жёстких дисках" и сотни гигабайт оперативной памяти, только вот на всех ли платформах, я так и не понял. Ну и какой сервер без встроенной виртуализации? Подробнее можно прочитать тут.
Первые впечатления.
Записываемся на болванку и загружаемся. Как говорят, прихожая — это лицо дома. А загрузчик — это первое, что видит пользователь при знакомстве с новой ОС. В роли загрузчика тут выступает мой любимый старый GRUB версии 0.97.
Ну и слава Богу, что Oracle не стали изобретать велосипед и придумывать своё. Загружается не быстро, с красивой графической заставкой, которая всегда мешает настоящим сисадминам:
Поэтому нажимаем Esc и смотрим, что происходит при загрузке. Далее прямо во время загрузки нас спросят про язык интерфейса и раскладку клавиатуры. И тут явился он — X.org. Если честно, то я ожидал увидеть классику UNIX дэсктопа — оболочку CDE. Но передо мной появился рабочий стол GNOME 2.30.1, чему я был несоизмеримо рад. Как оказалось, CDE выпилили еще пару выпусков назад как морально и технически устаревшую, но её можно поставить отдельно. На вид смотрится неплохо, стандартная тема Nimbus, как для меня, довольно милая, заимею ее я на и на Linux:
Локализация на русский выполнена на удивление хорошо, к этому претензий нет, а вот на украинский не очень хорошо перевели, на оценку где-то 3 с плюсом. Приятно удивил тот факт, что моя временная видеокарта не только правильно определилась, но и автоматически завелись пропиретарные драйвера nvidia с 3D-ускорением и эффектами compiz. Из приложений я первым делом поглядел утилиты администрирования. Тут от меня для запуска потребовали пароль root. Так как должно быть все интуитивно понятно, пробуем ввести 'solaris'. О чудо, оно его проглотило, ну и на том спасибо.
Установка.
Установить Solaris оказалось довольно просто: нужно просто на рабочем столе найти соответствующий значок и следовать инструкциям. Судя по найденной мною в интернете информации, установщик явно сильно развился в последнее время. Раньше установка проходила так: запускается «голый» Х-сервер, в нем терминал. В нем задаются разные вопросы, на которые нужно было вводить ответы с клавиатуры. По рассказам это занимало 15-20 минут. Сейчас же мы имеем хороший, толковый установщик, похожий на установщик Ubuntu, с которым даже новички справятся:
Настройка времени, диска, пользователя. Далее устанавливаем поддержку языка — украинский, конечно же. Еще пару простых вопросов и можно читать преимущества Solaris во время инсталляции.
Цветовая схема прогресс-бара процесса установки мило-оранжевого цвета. Рядом есть кнопка «Справка», материал для которой подготовил сам Капитан Очевидность. Кэп предупреждает, что «Запрещается прерывать процесс установки» и что «Во время установки ОС отображается индикатор хода выполнения»:
После завершения перезагрузимся.
Первый запуск.
Первый раз запускается долго, у меня минут 4 заняло. Если во время созерцания загрузочной картинки нажать Esc, можно почитать лог загрузки и понять, что так долго запускается потому, что обновляются какие-то сервисные дескрипторы smf. Далее уже по привычной нам схеме меню GDM для авторизации и собственно сам рабочий стол. Да, оформлен он красиво, панелька на вид напоминает свою сестру из KDE 4.6.
Приложения.Программ меньше, чем под Linux, это правда, ведь ОС нацелена в основном н сервера. Но практически все вами любимые приложения можно можно собрать под эту ОС, если это еще не сделал кто-то другой. Набор приложений в LiveCD — как и в обычных Linux-дистрибутивах: браузер, почтовик, IM, просмотр картинок и документов. Стандартный гномовский набор, такой же, как, к примеру, в Mandriva One или Ubuntu. Есть Flashplayer и Java, зато нет кодеков mp3 и видео. С мультимедийной стороны дефолтная солярка практически не юзабельная. Офисных приложений и игр так же нет. Все это решается установкой с репозиториев, как и положено. Всего доступно около 11 000 приложений от Oracle и сторонних разработчиков.
Установка приложений. Теперь пробуем поставить нашу первую программу. В Solaris, как и в большинстве других UNIX, установка возможна путем сборки с исходных кодов и с помощью пакетов. Формат пакетов тут свой и имеет расширение «.pkg». Для пробы скачал и решил установить Opera 10.11. Если дважды клацнуть на пакет, то... нет, не будет предложения его установить, гном не знает, как обработать этот тип файла и просит выбрать программу для открытия. Ставим тогда через консоль командой «pkgadd». Хочу заметить, что Опера встала довольно криво, в папку /usr/local, которая по-умолчанию даже не прописалась в переменную $PATH — приходится набирать полный путь к файлу.
Структура. Давайте немного разберём внутреннюю структуру этой операционной системы путем сравнения с Linux. Устройства тут хранятся в двух местах — /dev и /devices. Первая основная системная, вторая как бы тоже содержит устройства, но менее значимы. Аудиодрайвер — OSS. Ядро системы располагается в каталоге /kernel. Интересно посмотреть на вывод команды mount (файл /etc/fstab отсутствует, его нереименовали на /etc/mnttab):

/ on rpool/ROOT/solaris read/write/setuid/devices/rstchown/dev=2b90002 on Чт січ. 1 03:00:00 1970
/devices on /devices read/write/setuid/devices/rstchown/dev=8980000 on Нд трав. 8 22:16:39 2011
/dev on /dev read/write/setuid/devices/rstchown/dev=89c0000 on Нд трав. 8 22:16:39 2011
/system/contract on ctfs read/write/setuid/devices/rstchown/dev=8a80001 on Нд трав. 8 22:16:39 2011
/proc on proc read/write/setuid/devices/rstchown/dev=8a00000 on Нд трав. 8 22:16:39 2011
/etc/mnttab on mnttab read/write/setuid/devices/rstchown/dev=8ac0001 on Нд трав. 8 22:16:39 2011
/etc/svc/volatile on swap read/write/setuid/devices/rstchown/xattr/dev=8b00001 on Нд трав. 8 22:16:39 2011
/system/object on objfs read/write/setuid/devices/rstchown/dev=8b40001 on Нд трав. 8 22:16:39 2011
/etc/dfs/sharetab on sharefs read/write/setuid/devices/rstchown/dev=8b80001 on Нд трав. 8 22:16:39 2011
/lib/libc.so.1 on /usr/lib/libc/libc_hwcap3.so.1 read/write/setuid/devices/rstchown/dev=2b90002 on Нд трав. 8 22:17:20 2011
/dev/fd on fd read/write/setuid/devices/rstchown/dev=8c80001 on Нд трав. 8 22:17:24 2011
/tmp on swap read/write/setuid/devices/rstchown/xattr/dev=8b00002 on Нд трав. 8 22:17:27 2011
/var/run on swap read/write/setuid/devices/rstchown/xattr/dev=8b00003 on Нд трав. 8 22:17:27 2011
/export on rpool/export read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90006 on Нд трав. 8 22:17:46 2011
/export/home on rpool/export/home read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90007 on Нд трав. 8 22:17:46 2011
/export/home/keedhost on rpool/export/home/keedhost read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90008 on Нд трав. 8 22:17:46 2011
/rpool on rpool read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2b90009 on Нд трав. 8 22:17:46 2011
/home/keedhost on /export/home/keedhost read/write/setuid/devices/rstchown/dev=2b90008 on Нд трав. 8 22:20:52 2011
/media/Oracle_Solaris_Live_X86 on /dev/dsk/c7t1d0s2 read only/nosetuid/nodevices/rstchown/noglobal/maplcase/rr/traildot/dev=1780042 on Нд трав. 8 22:21:53 2011
Монтируется куча всего непонятного, в которой фиг поймёшь, что к чему, зачем и куда монтируется. Тут я вообще запутался окончательно :) Среди групп и пользователей ничего примечательного не нашел. Для мигранта придётся в Solaris заново учить имена устройств, структуру сервисов, файловую систему ZFS и некоторые утилиты администрирования. Но для Linux-администратора это не должно вызвать больших затруднений. Даже названия архитектур тут разные — не x86, а i86pc:
keedhost@solaris:~$ uname -a
SunOS solaris 5.11 snv_151a i86pc i386 i86pc Solaris
Что упрощает использование так это то, что почти все полюбившиеся под Linux программы можно собрать также под Solaris, и тут даже не придётся искать альтернативы, как это было при миграции с Windows на Linux. К тому же есть реализация Linux API, которое позволяет запускать линуксовые приложения как родные.
Что разочаровало. Первое и самое главное, от чего я начал нервничать, так это от настройки клавиатуры. Она настраивается совсем не так, как в обычном GNOME, тут придумали свой аплет, который я так и не смог настроить. Это действительно ужасно.
Альтернативы.
Из-за покупки Oracle компании Sun Microsystems все с напряжением следили за судьбой продуктов этой фирмы, в том числе и Solaris. А что, если код закроют, или вообще прекратят выпуск? И поклонники начали собирать свои версии этой ОС. Были не удачные проекты, а были и довольно стоящие. Из наиболее удачных можно отметить проекты OpenIndiana, BeleniX, Schillix
Вывод. В общем вещь хорошая, у меня от ее использования остались в основном только хорошие, положительные впечатления. Порадовала утилита настройки фаервола. В планах ещё дальше ее щупать и, может быть, поставлю на работе в качестве шлюза. Но это уже другая история. А вам советую хотя бы просто загрузится и попользоваться ей с часик. Хоть современный пиар нацелен на другие UNIX-решения, эта система также имеет право на жизнь и внимане окружающих. Удачи!