Введение

Операционная система Unix, первоначально разработанная Sun Microsystems.

Solaris — это проприетарная операционная система Unix, первоначально разработанная Sun Microsystems. После приобретения Sun компанией Oracle в 2010 году она была переименована в Oracle Solaris. Solaris заменила более раннюю SunOS в 1993 году и стала известна своей масштабируемостью, особенно на системах SPARC, а также разработкой множества инновационных функций, таких как DTrace, ZFS и Time Slider. Solaris поддерживает SPARC и x86-64 рабочие станции и серверы от Oracle и других поставщиков. Solaris была зарегистрирована как соответствующая Единой спецификации UNIX до 29 апреля 2019 года. Исторически Solaris разрабатывалась как проприетарное программное обеспечение. В июне 2005 года Sun Microsystems опубликовала большую часть кодовой базы под лицензией CDDL и основала проект OpenSolaris с открытым исходным кодом. С помощью OpenSolaris компания Sun стремилась создать сообщество разработчиков и пользователей вокруг этого программного обеспечения. После приобретения Sun Microsystems в январе 2010 года Oracle приняла решение прекратить распространение OpenSolaris и модель разработки. В августе 2010 года Oracle прекратила предоставлять публичные обновления исходного кода ядра Solaris, фактически вернув Solaris 11 к статусу закрытой проприетарной операционной системы. Впоследствии OpenSolaris была форкнута в Illumos и продолжает развиваться через различные дистрибутивы illumos. В сентябре 2017 года Oracle распустила большую часть команд, занимающихся Solaris. В 2011 году произошла утечка исходного кода ядра Solaris 11. Через Oracle Technology Network (OTN) отраслевые партнеры могут получить доступ к исходному коду Solaris, находящемуся в разработке.

История

В 1987 году корпорация AT&T и Sun объявили о сотрудничестве в проекте по объединению самых популярных на тот момент вариантов Unix: Berkeley Software Distribution, UNIX System V и Xenix. Результатом стал Unix System V Release 4 (SVR4). 4 сентября 1991 года Sun объявила о замене существующей BSD-производной Unix, SunOS 4, на систему, основанную на SVR4. Внутри компании это было обозначено как SunOS 5, но одновременно было представлено новое маркетинговое название: Solaris 2. Это новое позиционирование было оправдано тем, что оно охватывало не только SunOS, но и графический пользовательский интерфейс OpenWindows, а также функциональность Open Network Computing (ONC). Хотя микрорелизы SunOS 4.1.x были ретроспективно названы Solaris 1 компанией Sun, название Solaris почти исключительно используется для обозначения релизов, основанных на SVR4, полученных из SunOS 5.0 и более поздних версий. Для релизов на базе SunOS 5, минорный номер версии SunOS включается в номер релиза Solaris. Например, Solaris 2.4 включает SunOS 5.4. После Solaris 2.6, "2." было удалено из названия релиза, поэтому Solaris 7 включает SunOS 5.7, а последняя версия SunOS 5.11 составляет ядро Solaris 11.4. Хотя SunSoft в своем первоначальном пресс-релизе о Solaris 2 заявила о намерении в конечном итоге поддерживать как SPARC, так и x86 системы, первые два релиза Solaris 2, 2.0 и 2.1, были доступны только для SPARC. x86-версия Solaris 2.1 была выпущена в июне 1993 года, примерно через 6 месяцев после SPARC-версии, как операционная система для настольных компьютеров и однопроцессорных рабочих серверов. Она включала эмулятор Wabi для поддержки приложений Windows. В то время Sun также предлагала систему Interactive Unix, приобретенную у Interactive Systems Corporation. В 1994 году Sun выпустила Solaris 2.4, поддерживающую как SPARC, так и x86 системы из единой кодовой базы. 2 сентября 2017 года Саймон Фиппс, бывший сотрудник Sun Microsystems, не принятый Oracle после приобретения, сообщил в Twitter, что Oracle уволила сотрудников, занимающихся основной разработкой Solaris, что многие восприняли как признак отказа Oracle от дальнейшей поддержки развития платформы. Несмотря на то, что Oracle действительно провела масштабные сокращения среди инженеров-разработчиков Solaris, разработка продолжилась, и Solaris 11.4 была выпущена в 2018 году.

Другие платформы

Solaris 2.5.1 включала поддержку платформы PowerPC (PowerPC Reference Platform), но разработка порта была прекращена до выпуска Solaris 2.6. В октябре 2006 года проект сообщества OpenSolaris, основанный на усилиях Blastwave и Project Pulsar от Sun Labs, который повторно интегрировал соответствующие части Solaris 2.5.1 в OpenSolaris, объявил о первом официальном выпуске исходного кода. Порт Solaris на архитектуру Intel Itanium был анонсирован в 1997 году, но так и не поступил в продажу. 28 ноября 2007 года компании IBM, Sun и Sine Nomine Associates продемонстрировали предварительную версию OpenSolaris для System z, работающую на мэйнфрейме IBM System z под управлением z/VM, под названием Sirius (по аналогии с проектом Polaris, а также в связи с австралийским происхождением основного разработчика: HMS Sirius 1786 года был кораблем Первого флота, прибывшего в Австралию). 17 октября 2008 года был опубликован прототип Sirius, а 19 ноября того же года IBM разрешила использование Sirius на процессорах System z Integrated Facility for Linux (IFL). Solaris также поддерживает двоичный интерфейс приложений Linux (ABI), позволяя Solaris запускать на системах x86 собственные исполняемые файлы Linux. Эта функция называется Solaris Containers for Linux Applications (SCLA) и основана на функциональности брендированных зон, представленной в Solaris 10 8/07.

Варианты установки и использования

Solaris можно установить из различных предварительно скомпонованных групп программного обеспечения, от минималистичной Reduced Network Support до полной Entire Plus OEM. Установка Solaris не обязательна для использования системы. ISO-образ DVD можно использовать для загрузки Solaris, работающего в памяти, вместо запуска установки. Дополнительное программное обеспечение, такое как Apache, MySQL и другие, также можно установить в виде пакетов из sunfreeware и OpenCSW. Solaris можно установить с физических носителей или по сети для использования на рабочем столе или сервере, либо использовать без установки на рабочем столе или сервере.

Обновления

В каждом крупном релизе предусмотрено несколько типов обновлений, включая пакеты программного обеспечения и образ Oracle Solaris. Дополнительные незначительные обновления, называемые обновлениями репозитория поддержки (SRU) и пакетами критических обновлений (CPU), требуют наличия учетных данных поддержки и поэтому не являются общедоступными.

Настольные среды

Ранние выпуски Solaris использовали OpenWindows в качестве стандартной среды рабочего стола. В Solaris 2.0–2.2 OpenWindows поддерживал как NeWS, так и X-приложения и обеспечивал обратную совместимость с приложениями SunView из более ранней среды рабочего стола Sun. NeWS позволял создавать приложения объектно-ориентированным способом с использованием PostScript — распространенного языка описания страниц, выпущенного в 1982 году. Система X Window возникла в 1984 году в рамках проекта Athena Массачусетского технологического института (MIT) и позволяла отделить отображение приложения от машины, на которой оно выполнялось, используя сетевое соединение. Изначальный пакет приложений SunView был портирован на X. Позже Sun прекратила поддержку устаревших приложений SunView и NeWS с OpenWindows 3.3, который поставлялся с Solaris 2.3, и перешла на X11R5 с поддержкой Display Postscript. Графический внешний вид и поведение остались основаны на OPEN LOOK. OpenWindows 3.6.2 был последним выпуском для Solaris 8. Менеджер окон OPEN LOOK (olwm) и другие приложения, специфичные для OPEN LOOK, были удалены в Solaris 9, но библиотеки поддержки оставались в составе системы, обеспечивая долгосрочную бинарную обратную совместимость с существующими приложениями. Виртуальный менеджер окон Open Look (olvwm) для Solaris все еще можно загрузить с sunfreeware и работает на версиях, выпущенных до Solaris 10. Sun и другие поставщики Unix создали отраслевой альянс для стандартизации рабочих столов Unix. Будучи членом инициативы Common Open Software Environment (COSE), Sun помогла разработать Common Desktop Environment (CDE). Это была инициатива по созданию стандартной среды рабочего стола Unix. Каждый поставщик внес различные компоненты: Hewlett Packard предоставил менеджер окон, IBM — файловый менеджер, а Sun — средства работы с электронной почтой и календарем, а также поддержку перетаскивания (ToolTalk). Эта новая среда рабочего стола была основана на внешнем виде и поведении Motif, а старая среда рабочего стола OPEN LOOK считалась устаревшей. CDE унифицировала рабочие столы Unix у различных поставщиков открытых систем. CDE была доступна как дополнительный пакет для Solaris 2.4 и 2.5 и входила в состав Solaris 2.6–10. В 2001 году Sun выпустила предварительную версию среды рабочего стола с открытым исходным кодом GNOME 1.4, основанной на наборе инструментов GTK+, для Solaris 8. Solaris 9 (8/03) представила GNOME 2.0 как альтернативу CDE. Solaris 10 включает в себя Java Desktop System (JDS) от Sun, которая основана на GNOME и поставляется с большим набором приложений, включая StarOffice — офисный пакет Sun. Sun описывает JDS как «основной компонент» Solaris 10. Java Desktop System не входит в состав Solaris 11, которая поставляется со стандартной версией GNOME. Аналогично, приложения CDE больше не входят в состав Solaris 11, но многие библиотеки остаются для обеспечения бинарной обратной совместимости. Среды рабочего стола с открытым исходным кодом KDE и Xfce, а также множество других менеджеров окон также компилируются и запускаются на последних версиях Solaris. Sun инвестировала в новую среду рабочего стола под названием Project Looking Glass с 2003 года, но проект неактивен с конца 2006 года.

Лицензия на традиционную операционную систему (1992-2004)

Для версий до 2005 года (Solaris 9) Solaris лицензировался по лицензии, которая позволяла клиенту приобретать лицензии оптом и устанавливать программное обеспечение на любое количество машин, но не более установленного лимита. Основным условием лицензии являлось:

Лицензия на использование. Клиенту предоставляется неисключительная и непередаваемая лицензия ("Лицензия") на использование поставляемого бинарного программного обеспечения в машиночитаемом формате вместе с сопутствующей документацией ("Программное обеспечение") в объеме, соответствующем количеству пользователей и классу компьютерного оборудования, за которые произведена оплата. Кроме того, лицензия включала в себя "Лицензию на разработку", предоставляющую права на создание производных работ, ограничивающую копирование единственной архивной копией, отказ от гарантий и прочие условия. Лицензия практически не менялась до 2004 года.

Открытый исходный код (2005 до марта 2010)

С 2005 по 2010 год Sun начала публиковать исходный код для разрабатываемых сборок Solaris под лицензией Common Development and Distribution License (CDDL) в рамках проекта OpenSolaris. Этот код основывался на работе, проводимой для выпуска после Solaris 10 (с кодовым именем "Невада"; впоследствии выпущенного как Oracle Solaris 11). По мере развития проекта он охватил большую часть кода, необходимого для компиляции целого релиза, за исключением нескольких компонентов.

Post-Sun закрытый источник (март 2010 г. по настоящее время)

Когда Sun была приобретена Oracle в 2010 году, проект OpenSolaris был прекращен после того, как совет директоров выразил недовольство позицией Oracle в отношении проекта. В марте 2010 года ранее свободно доступный Solaris 10 был переведен под ограничительную лицензию, которая ограничивала использование, модификацию и распространение операционной системы. Лицензия позволяла пользователю бесплатно загрузить операционную систему через Oracle Technology Network и использовать ее в течение 90-дневного пробного периода. По истечении этого периода пользователю необходимо было приобрести контракт поддержки у Oracle для продолжения использования операционной системы. С выпуском Solaris 11 в 2011 году условия лицензии изменились вновь. Новая лицензия позволяет бесплатно загружать Solaris 10 и Solaris 11 из Oracle Technology Network и использовать их без договора поддержки неограниченно долго; однако лицензия явно разрешает использование Solaris только в качестве платформы разработки и явно запрещает коммерческое и "производственное" использование. Использование в образовательных целях допускается в определенных случаях. Из лицензии OTN:

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

Релиз разработки

База кода Solaris находится в непрерывной разработке с момента начала работы в конце 1980-х годов над тем, что в конечном итоге было выпущено как Solaris 2.0. Каждая версия, такая как Solaris 10, основана на снимке этой базы кода разработки, сделанном незадолго до её выпуска, который затем поддерживается как производный проект. Обновления этого проекта создаются и распространяются несколько раз в год до выхода следующего официального релиза. Версия Solaris, разрабатываемая Sun после выпуска Solaris 10 в 2005 году, носила кодовое имя Nevada и была получена из текущей базы кода OpenSolaris. В 2003 году была запущена новая инициатива в процессе разработки Solaris. В рамках программы Software Express for Solaris (или просто Solaris Express) ежемесячно предоставлялась для загрузки бинарная сборка, основанная на текущей версии разработки, позволяя любому желающему опробовать новые функции и оценить качество и стабильность ОС по мере её подготовки к выпуску следующей официальной версии Solaris. Впоследствии в эту программу были внесены изменения, в результате чего была внедрена квартальная модель выпуска с поддержкой, переименованная в Solaris Express Developer Edition (SXDE). В 2007 году Sun объявила о проекте Indiana, целью которого было, в частности, предоставление бинарного дистрибутива OpenSolaris с открытым исходным кодом, заменяющего SXDE. Первым релизом этого дистрибутива стал OpenSolaris 2008.05. Solaris Express Community Edition (SXCE) предназначался специально для разработчиков OpenSolaris. Он обновлялся каждые две недели до прекращения поддержки в январе 2010 года, с рекомендацией пользователям перейти на дистрибутив OpenSolaris. Хотя лицензия на загрузку, отображаемая при загрузке файлов образа, указывает на то, что использование ограничено личными, образовательными и оценочными целями, форма принятия лицензии, которая появляется при установке из этих образов, содержит список дополнительных вариантов использования, включая коммерческие и производственные среды. Выпуски SXCE завершились сборкой 130, а выпуски OpenSolaris – сборкой 134, через несколько недель. Следующий релиз OpenSolaris на базе сборки 134 планировался на март 2010 года, но он так и не был полностью выпущен, хотя пакеты были доступны в репозитории пакетов. Вместо этого Oracle переименовала бинарный дистрибутив в Solaris 11 Express, изменила условия лицензии и выпустила сборку 151a как 2010.11 в ноябре 2010 года.

Текущий

illumos – Полностью открытый форк проекта, начатый в 2010 году сообществом инженеров Sun OpenSolaris и Nexenta OS. OpenSolaris не был полностью открытым исходным кодом: некоторые драйверы и библиотеки принадлежали другим компаниям, которые Sun (теперь Oracle) лицензировала и не могла опубликовать. OpenIndiana – Проект под эгидой illumos, стремящийся стать фактическим стандартом дистрибутива OpenSolaris для производственных серверов, где требуются бесплатные исправления безопасности и ошибок. SchilliX – Первый LiveCD, выпущенный после открытия кода OpenSolaris для публичного доступа. napp it – Веб-управляемый ZFS-накопитель, основанный на Solaris и свободных форках, таких как OmniOS, с бесплатной и Pro-версиями. NexentaStor – Оптимизирован для задач хранения данных, основан на Nexenta OS. SmartOS – Производная система, ориентированная на виртуализацию, разработанная MNX Solutions (ранее Joyent).

Прекращено

OpenSolaris – Проект, инициированный Sun Microsystems, прекращенный после приобретения компанией Oracle. Nexenta OS (прекращена 31 октября 2012 года) – Первый дистрибутив, основанный на окружении Ubuntu userland с ядром, производным от Solaris. StormOS (прекращена 14 сентября 2012 года) – Легкая настольная ОС, основанная на Nexenta OS и Xfce. MartUX – Первый SPARC-дистрибутив OpenSolaris, альфа-прототип которого был выпущен Мартином Бохнигом в апреле 2006 года. Распространялся как Live CD, но позже стал доступен только на DVD из-за добавления программного обеспечения сообщества Blastwave. Его целью было стать настольной операционной системой. Первый SPARC-релиз представлял собой небольшой Live CD, выпущенный как marTux 0.2 Live CD летом 2006 года, и являлся первым дистрибутивом OpenSolaris для SPARC (не следует путать с темой GNOME metacity). Позже он был переименован в MartUX, а последующие релизы включали полные установщики для SPARC в дополнение к Live-носителям. Значительно позже MartUX был переименован в OpenSXCE, когда он перешел на первый релиз OpenSolaris, поддерживающий архитектуры SPARC и Intel после приобретения Sun компанией Oracle. MilaX – Небольшой Live CD/Live USB с минимальным набором пакетов, помещающимся в образ размером 90 МБ. Dyson – Ядро illumos с окружением GNU userland и пакетами из Debian. Проект больше не поддерживается, а веб-сайт не работает. EON ZFS Storage – Реализация NAS, предназначенная для встраиваемых систем. Jaris OS – Live DVD, а также устанавливаемый дистрибутив. Произносится в соответствии с IPA, но на английском как Yah Rees. Этот дистрибутив был значительно модифицирован для полной поддержки версии Wine под названием Madoris, которая позволяет устанавливать и запускать программы Windows на нативной скорости. Jaris означает «Японский Solaris». Madoris – это комбинация японского слова для Windows «mado» и Solaris. OpenSXCE – Дистрибутив OpenSolaris, выпущенный для 32-битных и 64-битных платформ x86 и микропроцессоров SPARC, первоначально созданный из репозитория исходного кода OpenSolaris, а затем портированный в репозиторий исходного кода illumos для формирования первого SPARC-дистрибутива OpenIndiana. Важно отметить, что OpenSXCE, являясь первым дистрибутивом OpenSolaris с исходным кодом illumos для SPARC на базе OpenIndiana, в конечном итоге перешел на новый репозиторий исходного кода, основанный на DilOS.