Solaris 10 5/09 Versionshinweise

Solaris-Befehle und Standards

Im folgenden Abschnitt werden Änderungen im Verhalten bestimmter Befehle und Standards in Solaris 10-BS beschrieben.

SPARC: Anwendungen, die mit ausgerichteten·8–Byte-Mutexes nicht kompatibel sind, schlagen fehl (6729759)

Objekte vom Typ mutex_t und pthread_mutex_t müssen an ausgerichteten 8-Byte-Adressen beginnen. Anwendungen, die mit diesen Voraussetzungen nicht kompatibel sind, schlagen fehl. Daraufhin wird die folgende Fehlermeldung angezeigt:


*** _THREAD_ERROR_DETECTION: lock usage error detected ***
...
"mutex is misaligned"
OR:
"condvar is misaligned"

Abhilfemaßnahme: Wenn Sie die Umgebungsvariable auf die folgenden Werte setzen, werden Ausrichtungsfehler auf stderr ausgegeben:

Sie sollten Ihre Anwendungen testen, indem Sie die Umgebungsvariable THREAD_ERROR_DETECTION auf einen dieser Werte setzen und von nichtkompatiblen Anwendungen Korrekturen einfordern.

winbind ruft nur die ersten 1000 Active Directory-Benutzer ab

Dieser Fehler tritt bei Verwendung des Samba-Servers mit winbind in Active Directory-Umgebungen auf. Solaris 10 5/09 enthält die Software-Version Samba 3.0.28. Wenn alle bzw. mehr als 1000 Benutzer vom Active Directory-Server abgerufen werden sollen, ruft winbind nur die ersten 1000 Ergebnisse ab.

Problemumgehung: Keine.

PgAdmin III 1.6 unterstützt PostgreSQL-Version 8.3 nicht

PgAdmin III 1.6 kann nicht zur Verwaltung der PostgreSQL 8.3-Version verwendet werden. PgAdmin 1.6 kann die Katalogstrukturen in der neuen PostgreSQL-Version nicht interpretieren. Es werden verschiedene Fehlermeldungen angezeigt.

Abhilfemaßnahme: Aktualisieren Sie auf PgAdmin III Version 1.8.

Geänderte Manpages für Solaris Trusted Extensions befinden sich nur im Referenzhandbuch

Für dieses Release wurden die folgenden Manpages von Solaris Trusted Extensions überarbeitet:

Diese überarbeiteten Manpages werden jedoch nicht mithilfe des Befehls man angezeigt. Sie finden die überarbeiteten Manpages im Solaris Trusted Extensions Reference Manual .

Die Bash 3.00 setzt einige Umgebungsvariablen nicht mehr

Solaris 10-BS enthält die Bash 3.00. Diese Shell exportiert folgende Variablen nicht mehr automatisch in die Umgebung:

Dieses neue Verhalten trifft auch zu, wenn die Shell diesen Variablen Standardwerte zuweist.

Problemumgehung: Exportieren Sie diese Variablen manuell.

Das neue ln-Dienstprogramm erfordert die Option -f

Das Verhalten von /usr/bin/ln wurde geändert, damit alle Standards von SVID3 bis XCU6 eingehalten werden. Bei der Verwendung des Befehls ln ohne die Option -f zum Erstellen eines Links auf eine vorhandene Zieldatei wird dieser Link nicht erzeugt. Stattdessen wird eine Diagnosemeldung auf stderr geschrieben und der Befehl fährt fort, die verbliebenen Quelldateien zu verknüpfen. Abschließend wird der Befehl ln mit einem Fehlerwert beendet.

Wenn Datei "b" beispielsweise vorhanden ist, erzeugt die Syntax ln a b folgende Meldung:


ln: b: File exists

Diese Verhaltensänderung betrifft vorhandene Shell-Skripts und Programme, die den Befehl ln ohne die Option -f enthalten. Skripts, die zuvor funktioniert haben, schlagen in Solaris 10-BS nun möglicherweise fehl.

Problemumgehung: Verwenden Sie die Option -f zusammen mit dem Befehl ln. Wenn Sie über Skripts verfügen, die das Link-Dienstprogramm ausführen, müssen Sie diese Skripts so ändern, dass sie das neue Verhalten des Befehls berücksichtigen.

Die neue tcsh weist setenv-Variablennamen zurück, die einen Bindestrich oder ein Gleichheitszeichen enthalten

In Solaris 10-BS wurde die tcsh auf Version 6.12 aktualisiert. Diese Version akzeptiert keine Umgebungsvariablen mehr, deren Namen einen Bindestrich oder ein Gleichheitszeichen enthalten. Skripts, die setenv-Zeilen enthalten und mit früheren Solaris-Versionen funktionieren, erzeugen möglicherweise in der aktuellen Version von Solaris 10 Fehler. Daraufhin wird die folgende Fehlermeldung angezeigt:


setenv: Syntax error

Weitere Informationen finden Sie in der Man Page tcsh von Solaris 10-BS.

Problemumgehung: Verwenden Sie keine Bindestriche oder Gleichheitszeichen in Namen von Umgebungsvariablen.

EOF-Verhaltensänderung bei der STDIO getc-Familie

Anwendungen, die im strengen Standard-C-Konformitätsmodus erzeugt wurden, sind von den Verhaltensänderungen bestimmter Bibliotheksfunktionen betroffen. Ein Beispiel hierfür sind Anwendungen, die im Kompilationsmodus cc -Xc oder c89 kompiliert wurden. Das Verhalten hat sich für folgende Bibliotheksfunktionen geändert:

Eine formale Interpretation des C-Standards von 1990 erfordert es, dass nach dem Setzen einer EOF-Bedingung (End of File) bei nachfolgenden Eingabeoperationen keine Daten mehr von der Datei zurückgegeben werden. Die Ausnahme hierbei ist eine Neupositionierung des Dateizeigers oder das explizite Löschen der Fehler- und EOF-Flags durch die Anwendung.

Das Verhalten aller anderen Kompilationsmodi ist unverändert. Insbesondere die Schnittstellen können zusätzlich neu geschriebene Daten aus dem Stream lesen, nachdem die EOF-Markierung gesetzt wurde.

Abhilfemaßnahme: Rufen Sie fseek() oder clearerr() für den Stream auf, um zusätzliche Daten zu lesen, nachdem die EOF-Bedingung an den Stream übergeben wurde.

Ausgabespalten des Befehls ps wurden verbreitert

Augrund längerer UIDs, Prozessor-IDs und kumulierter Ausführungszeiten wurden die Spaltender Ausgabe des Befehls ps verbreitert. Benutzerdefinierte Skripts sollten keine festen Ausgabespaltenbreiten voraussetzen.

Abhilfemaßnahme: Skripts sollten die Option -o des Befehls ps verwenden.

Weitere Informationen finden Sie in der Man Page ps(1).