Solaris 10 5/08 Versionshinweise

Solaris-Befehle und Standards

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

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 2.0.5b setzt einige Umgebungsvariablen nicht mehr

Solaris 10-BS enthält die Bash 2.0.5b. 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: Datei vorhanden

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: Syntaxfehler

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).

Der Befehl ping -v funktioniert nicht mit IPv6-Adressen (4984993)

Der Befehl ping -v schlägt fehl, wenn er auf Adressen angewendet wird, die das Internet Protokoll der Version 6 (IPv6) verwenden. Daraufhin wird die folgende Fehlermeldung angezeigt:


ping: setsockopt IPV6_RECVRTHDRDSTOPTS Ungültiges Argument

Problemumgehung: Keine. Um dieselben ICMP-Paketinformationen zu erhalten, die ping -v liefert, verwenden Sie den Befehl snoop.