# Solaris (Betriebssystem)

Oracle Solaris ist eine Betriebssystemdistribution auf Basis von SunOS und ein Unix-Betriebssystem. Seit der Übernahme von Sun Microsystems 2010 gehört Solaris dem Unternehmen Oracle.
Es ist seit 1990 kompatibel zur System-V-Familie. Frühe Versionen wurden unter dem Namen Unix xx Sun Version yy veröffentlicht. Der Name SunOS wurde erstmals mit der ersten öffentlichen SunOS-3.0 Beta vom 1. Quartal 1986 an verwendet. Die erste Version unter dem Namen SunOS wurde auf Basis von BSD-Unix als proprietäres Betriebssystem für den Einsatz auf Servern und Workstations von Sun entwickelt. Version 5.0 von SunOS wurde auf der Basis von UNIX System V neu entwickelt und der Produktname Solaris eingeführt.

## Geschichte

Sun lieferte 1982 die ersten Motorola 68000-basierten Sun-1-Systeme nicht mit BSD-Unix sondern mit einer Portierung von Unix V7 durch UniSoft aus, weil die Motorola 68000-CPUs keine Memory Management Unit (MMU) unterstützten, die zur Realisierung der für BSD notwendigen virtuellen Speicherverwaltung notwendig gewesen wäre.
Beim Re-Design der Sun-1-Workstation zur Integration neuen CPU Motorola 68010 integrierte Sun anstatt Motorolas eigener MMU Motorola 68451 eine selbst entworfene MMU, und portierte BSD-Unix als eigene Variante BSD-Unix Sun Version xx. Im Laufe der Jahre wurde SunOS um viele Eigenschaften von Unix System V erweitert, und mit dem Erscheinen von SunOS-3.0 zu SunOS umbenannt. Die von Sun später entwickelte Sun-4-Baureihe mit SPARC-Prozessorarchitektur steigerte die Beliebtheit von SunOS erheblich. Die SunOS-Version 4.1.1_U1 war das letzte offizielle Release, das noch Rechner der Sun3-Baureihe mit CPUs der Familie Motorola 68000er unterstützte. Die letzte SunOS-4-Version von 1995 war 4.1.4 und brachte neben Fehlerbereinigung noch Unterstützung für die Maschinen mit MicroSPARC-Prozessor.
Die erfolglose Baureihe Sun386 mit Intel-Prozessoren wurde von SunOS in den Versionen 4.0.1 bis 4.0.3 unterstützt.
Mit SunOIS Version 4.1.2 wurde Multiprozessorbetrieb (asymmetrisch) eingeführt.
SunOS Version 5 wurde auf Basis von System V Release 4 neu entwickelt, nachdem Sun Partner von Unix International geworden war. Es wurde mit der grafischen Benutzeroberfläche CDE und Java gebündelt und ab 1992 als „Operating Environment“ Solaris 2.x vermarktet. Solaris 2.x war von Anfang an SMP-fähig.
Frühere Versionen von Solaris, die noch auf SunOS Version 4 basierten, wurden in späteren Jahren als Version „1.x“ bezeichnet. Ab der Solaris-Version 2.6 wurde die „2.“ weggelassen: Im Jahr 2004 erschien die Solaris 10 (intern: „SunOS 5.10“), die man ab Februar 2005 kostenlos bei Sun herunterladen konnte.
Sechs Monate nach Veröffentlichung von Solaris 10 wurden schließlich wesentliche Teile des Quelltextes der nachfolgenden Entwicklerversion von Sun offengelegt und das System unter dem Namen OpenSolaris zum Download freigegeben. Die Weiterentwicklung von Solaris erfolgte bis August 2010 als freies Betriebssystem. Am 13. August 2010 wurde bekanntgegeben, dass OpenSolaris mit sofortiger Wirkung eingestellt werden würde.
Ein Jahr nach der Übernahme von Sun Microsystems durch Oracle äußerte sich John Fowler (Executive Vice President Systems bei Oracle) Anfang August 2010 zur Zukunft von Solaris. Fowler erklärte, dass 2011 Solaris 11 erscheinen solle und in diesem Solaris zahlreiche Komponenten „erneuert oder grundlegend überarbeitet werden“. Gemäß einer von Oracle veröffentlichten Roadmap sah man den Start von Solaris 11 für die zweite Jahreshälfte 2011 vor. Das grundlegend überarbeitete Solaris sollte demnach auch für 64-Bit-x86-Plattformen verfügbar sein.
Am 5. November 2011 erklärte Jim Laurent in seinem Blog, dass vier Tage später, am 9. November 2011, der offizielle Launch-Day von Solaris 11 sein würde. Zu Beginn des Jahres 2017 stellte Oracle die Entwicklung von Solaris 12 ein, stattdessen sollte das Betriebssystem unter dem Projektnamen Solaris 11.next weiterentwickelt werden. Im August und September desselben Jahres wurde jedoch ein Großteil der mit der Entwicklung von Solaris beschäftigten Mitarbeiter entlassen, womit eine Fortführung ungewiss war.
Februar 2018 wurde eine Beta zu Solaris 11.4 veröffentlicht. Die endgültige Version ist am 28. August 2018 erschienen.
Anfang 2024 mehrten sich die Anzeichen, dass Kunden für Solaris zwar noch bis 2037 einen Extended Support in Anspruch nehmen könnten, Oracle jedoch keine Minor- oder Major-Releases nach der Version 11.4 mehr veröffentlichen würde, wie heise.de berichtet.

## Funktionen und Besonderheiten

Ab der Version Solaris 7 (SunOS 5.7) bietet Solaris auf UltraSPARC-Prozessoren eine durchgängige 64-Bit-Unterstützung. Am 4. September 1991 wurde eine Solaris-Portierung für die x86-Architektur angekündigt, im Januar 1992 begonnen. Seit dem 23. Juni 1992 ist die IA-32-Version für 32-Bit-x86-Prozessoren verfügbar, welche seit August 2004 auch auf x64 bootet und in Version 10 daher auch 64-Bit-Unterstützung für Prozessoren mit AMD64 oder Intel 64 bietet. Die Solaris-Version für PowerPC wurde nach dem ersten Release (Solaris 2.5.1) zunächst wieder eingestellt, eine neue Portierung begann nach Veröffentlichung von OpenSolaris unter dem Namen Polaris.
Seit Januar 2005 existiert das OpenSolaris-Projekt, das, unter der Leitung von Sun, den Quellcode von Solaris größtenteils unter der Common Development and Distribution License der Öffentlichkeit zur Verfügung stellt. Unter dem Namen OpenSolaris wurden die Quellen für Kernel, einzelne Module und Bibliotheken dann am 14. Juni 2005 als Open-Source-Betriebssystem freigegeben. Im Rahmen dessen soll auch eine Solaris-Version für PowerPC erscheinen. Anfang 2006 wurde von den Entwicklern eine entsprechende Portierung auf die Pegasos-basierte CHRP-Workstation ODW von IBM/Freescale/Genesi bekanntgegeben, woraus jedoch nie ein Release hervorging.

## Software

Die Software unter Solaris wird hauptsächlich im Rahmen einer Paketverwaltung mit Hilfe der pkg-Programme (pkgadd, pkgrm, pkgchk, …) verwaltet. Viele Programme, die auf anderen Unix- oder ähnlichen Betriebssystemen wie etwa Linux laufen, können auf Solaris portiert werden. So stellt zum Beispiel das OpenCSW-Projekt tausende von zusätzlichen Software-Paketen für Solaris bereit, welche mit dem Programm pkgutil als Aufsatz auf die bestehende Solaris-Paketverwaltung eingespielt werden können.

## Versionsgeschichte

| Version | Veröffentlichung | Anmerkungen |
| SunOS 0.7 | Februar 1982 | Erste veröffentlichte Version von SunOS, entwickelt auf Basis von UNIX V7 (7th Edition) Unterstützung für Motorola-68000-basierte Systeme der Sun-1-Serie |
| SunOS 1.0 | 1983 | Umstellung der Codebasis auf 4.1BSD Unterstützung für Motorola-68010-basierte Systeme der Serien Sun-1 und Sun-2 |
| SunOS 1.1 | April 1984 | Erste Einflüsse durch Unix System V |
| SunOS 1.2 | Januar 1985 | Umstellung der Codebasis auf 4.2BSD |
| SunOS 2.0 | 15. Mai 1985 | Einführung des Virtual file system (VFS) und des NFS-Protokolls |
| SunOS 3.0 | 17. Februar 1986 | Unterstützung für Systeme der Sun-2-Serie, sowie der Motorola-68020-basierten Sun-3-Serie |
| SunOS 3.2 | September 1986 | Teilweise Umstellung der Codebasis auf 4.3BSD Teilweise Unterstützung für Systeme der SPARC-basierten Sun-4-Serie |
| SunOS 4.0 | 1989 | Umstellung der Codebasis auf 4.3BSD und teilweise auf UNIX System V IPC Vollständige Unterstützung für SPARC-Architektur Unterstützung für Systeme der Serien Sun-2, Sun-3, Sun-4, sowie der Intel-80386-basierten Sun386i-Serie Einführung eines neuen Virtual Memory System, dynamischer Bibliotheken, System-V-STREAMS-I/O und OpenWindows 1.0 (separat zu SunOS verfügbar) |
| SunOS 4.1.1 | März 1990 | Letzte Version mit Unterstützung der 680x0-Architektur Auslieferung mit OpenWindows 2.0 Spätere Benennung von SunOS 4.1.1 in Solaris 1.0 |
| SunOS 4.1.2 | Dezember 1991 | erste Multiprozessor-Unterstützung Auslieferung mit OpenWindows 2.0 Spätere Benennung von SunOS 4.1.2 in Solaris 1.0.1 |
| SunOS 4.1.3 | August 1992 | Gängigste Variante auf SPARC Auslieferung mit OpenWindows 3.0 Spätere Benennung von SunOS 4.1.3 in Solaris 1.1 |
| SunOS 4.1.4 | November 1994 | Unterstützung der MicroSPARC-Architektur Auslieferung mit OpenWindows 3.0 Spätere Benennung von SunOS 4.1.4 in Solaris 1.1.2 |
| Solaris 2.0 SPARC (SunOS 5.0) | Juli 1992 | Umstellung der Codebasis auf Unix System V Release 4 Unterstützung für Systeme der Sun-4c-Serie |
| Solaris 2.0 x86 (SunOS 5.0) | Dezember 1992 | Erste Solaris-Version mit Unterstützung für x86-Architektur |
| Solaris 2.1 SPARC (SunOS 5.1) | Dezember 1992 | Unterstützung für Systeme der Sun-4m-Serie |
| Solaris 2.2 SPARC (SunOS 5.2) | Mai 1993 | Erstmals Unterstützung für Multithreading Unterstützung für Systeme der Sun-4d-Serie |
| Solaris 2.3 SPARC (SunOS 5.3) | November 1993 | Umstellung in OpenWindows 3.3 von NeWS auf Display PostScript und Einstellung der Unterstützung für SunView |
| Solaris 2.1 x86 (SunOS 5.1) | November 1993 | Weiterentwicklung der Solaris-x86-Linie auf Basis von Solaris 2.1 SPARC |
| Solaris 2.4 (SunOS 5.4) | November 1994 | Erste gemeinsame Version von Solaris für SPARC und x86 Enthält OSF/Motif-Runtime-Unterstützung |
| Solaris 2.5 (SunOS 5.5) | November 1995 | Erste Unterstützung für UltraSPARC-Architektur Einführung von NFSv3 und NFS/TCP, enthält CDE |
| Solaris 2.5.1 (SunOS 5.5.1) | Mai 1996 | Einziges Solaris-Release mit Unterstützung für die PowerPC-Architektur Erweiterung der Benutzerkennung auf 32-Bit |
| Solaris 2.6 (SunOS 5.6) | August 1997 | Einführung von Kerberos 5, PAM, TrueType-Schriften, WebNFS und Large File Support |
| Trusted Solaris 2.5.1 | September 1998 | Sicherheitsoptimierte Version von Solaris 2.5.1 mit Erweiterungen wie Role Based Access Control (RBAC), Mandatory-Access-Control-Labeling und Auditing Unterstützung für die Systeme der Serien Sun-4c, Sun-4m, Sun-4d und Sun-4u |
| Solaris 7 (SunOS 5.7) | 27. Oktober 1998 | Erste Unterstützung für 64-Bit-UltraSPARC-Architektur Einführung von UFS-logging |
| Trusted Solaris 7 | 2. November 1999 | Weiterentwicklung von Trusted Solaris auf Basis von Solaris 7 Unterstützung für die Systeme der Serien Sun-4c, Sun-4m, Sun-4d und Sun-4u |
| Solaris 8 (SunOS 5.8) | 26. Januar 2000 | Einführung von Multipath I/O, IPv6, IPsec und Role Based Access Control (RBAC) Einstellung der Unterstützung für Systeme der Sun-4c-Serie Letzte aktualisierte Version der Solaris-8-Linie war Solaris 8 2/04 (Februar 2004) |
| | 20. November 2000 | Weiterentwicklung von Trusted Solaris auf Basis von Solaris 8 Letzte Version der Trusted-Solaris-Linie, jedoch wurden die sicherheitsrelevanten Erweiterungen von Trusted Solaris teilweise durch Solaris Trusted Extensions in Solaris 10 implementiert |
| Solaris 9 (SunOS 5.9) | 22. Mai 2002 (Für SPARC.) 10. Januar 2003 (Für x86.) | Einführung von iPlanet Directory Server, Resource Manager, Solaris Volume Manager, Linux-Kompatibilität OpenWindows eingestellt, Unterstützung für Sun-4d-Serie entfernt Letzte aktualisierte Version der Solaris-9-Linie war Solaris 9 9/05 (September 2005) |
| Solaris 10 (SunOS 5.10) | 31. Januar 2005 | Erste Unterstützung für AMD64- und Intel-64-Architektur Einstellung der Unterstützung für Systeme der Sun-4m-Serie und der UltraSPARC-I-Architektur für Taktgeschwindigkeiten unter 200 MHz Einführung von Gnome-basiertem Java Desktop System, NFSv4, iSCSI, Solaris Containers, Least-privilege-Sicherheit, Service Management Facility (SMF), des GRUB-Bootloaders (seit Solaris 10 1/06) und ZFS zur Plattenverwaltung (seit Solaris 10 6/06) sowie DTrace zur Performance-Analyse kostenlos bis zur Übernahme durch Oracle 2010 |
| Open Solaris (Sun OS 5.10.1) | 14. Juni 2008 | Solaris wird unter CDDL gestellt Es entstehen verschiedene weitere freie Distributionen (Siehe OpenSolaris) Entfernung von CDE und dem Java Desktop System |
| Solaris 11 Express 2010.11 (Sun OS 5.11) | 15. November 2010 | Erste Version von Oracle Neues Paketsystem IPS (Image Packaging System) Netzwerkvirtualisierung und QoS ZFS-Verschlüsselung und -Deduplikation |
| Solaris 11 2011.11 (Sun OS 5.11) | 9. November 2011 | Verbessertes Paketsystem Virtualisierte Netzwerke Optimierte Auslastung von Sparc-T4-Prozessoren |
| Solaris 11.3 | 6. Oktober 2015 | |
| Solaris 11.4 | 28. August 2018 | Wechsel von Gnome 2 auf Gnome 3.24 Python 3.5, Puppet 5.5, Perl 5.26, MySQL 5.7, LLVM/Clang Migrationswerkzeuge verbessert |
Befehl zur Anzeige der installierten Solaris Revision (Version): cat /etc/release