Die folgenden Themen werden in den Release Notes behandelt:
Änderungen betreffend das Red Hat Enterprise Linux Installationsprogramm (Anaconda)
Allgemeine Hinweise
Änderungen bezüglich Treibern und Hardware-Support
Änderungen bezüglich Paketen
Dieser Abschnitt beschreibt Angelegenheiten in Bezug auf das Red Hat Enterprise Linux Installationsprogramm, Anaconda.
Um ein bereits installiertes Red Hat Enterprise Linux 3-System auf Update 1 zu aktualisieren, müssen Sie Red Hat Network benutzen, um jene Pakete upzudaten, die sich geändert haben. Die Verwendung von Anaconda zur Aktualisierung auf Update 1 wird nicht unterstützt.
Benutzen Sie Anaconda nur zur Neuinstallation von Red Hat Enterprise Linux 3 Update 1.
Wenn Sie die Inhalte der Red Hat Enterprise Linux 3 Update 1-CD-ROMs kopieren (z.B. in Vorbereitung einer Netzwerk-basierten Installation), dann versichern Sie sich, dass Sie die CD-ROMs nur für das Betriebssystem kopieren. Kopieren Sie nicht die Extras-CD-ROM oder irgendeine andere CD-ROM, da dies zum Überschreiben von Dateien führt, die notwendig für den einwandfreien Betrieb von Anaconda sind.
Diese CD-ROMs müssen installiert werden, nachdem Red Hat Enterprise Linux installiert worden ist.
Red Hat Enterprise Linux 3 Update 1 beinhaltet ein neues Unterverzeichnis des RedHat-Verzeichnisses auf CD-ROM #1. Dieses Unterverzeichnis, genannt Updates, beinhaltet alle Pakete, welche während eines vierteljährlichen Updates hinzugefügt oder aktualisiert worden sind. Anaconda ist ebenso modifiziert worden, um das Updates-Untervezeichnis während der Installationsvorgänge und Upgrades zu durchsuchen.
Dieser Abschnitt beinhaltet allgemeine Hinweise, nicht charakteristisch für alle anderen Abschnitte in diesem Dokument.
Der SCSI-Standard erfordert, dass alle SCSI-Geräte auf die 'Logical Unit'-Nummer (LUN) Null reagieren. Einige SCSI-Geräte versagen, wenn diese nach LUNs größer als Null abgefragt werden. Andere Geräte erfordern, dass LUNs sequentiell numeriert werden.
Der Red Hat Enterprise Linux 3 Update 1 Kernel beinhaltet eine Liste von Geräten, welche getestet worden sind und bei der Abfrage nach Nicht-Null-LUNs und nichtsequentiellen LUNs einwandfrei funktioniert haben. Dieses standardmäßige Verhalten kann auf einer systemweiten Basis durch Hinzufügen des folgenden Eintrages zur /etc/modules.conf-Datei überschrieben werden:
options scsi_mod max_scsi_luns=255
Nachdem modules.conf modifiziert wurde, ist es notwendig die ursprüngliche Ramdisk-Datei mittels mkinitrd-Skript zu erneuern. Siehe mkinitrd-man-Seiten (mittels Befehl man mkinitrd) für weitere Informationen über die Erstellung des ursprünglichen Ramdisk-Image.
Wenn diese Option benutzt wird, so müssen die LUN-Nummern auf dem Gerät sequentiell zugeteilt werden, beginnend mit Null.
Der Red Hat Enterprise Linux 3 Update 1 Kernel unterstützt nunmehr auch NUMA (Non-Uniform Memory Access) auf der AMD64-Architektur. Während alle Zentraleinheiten auf sämtlichen Speicher auch ohne NUMA-Support zugreifen können, so bewirkt der NUMA-Support im verbesserten Kernel Zuweisungen von Speicher zugunsten der Zentraleinheit welcher diese entspringen, was gleichzeitig den Inter-CPU-Speicherverkehr minimiert. Dies kann zu signifikanten Leistungsverbesserungen bei bestimmten Applikationen führen. Wenn Sie zum ursprünglichen Nicht-NUMA-Verhalten zurückkehren möchten, spezifizieren Sie den folgenden Boot-Time-Parameter:
numa=off
Systeme, welche auf dem NVIDIA nForce3-Chipsatz basieren (wie zum Beispiel ASUS SK8N) waren dafür bekannt, sich während dem IDE-Erkennungsvorgang beim Booten aufzuhängen oder andere Fehlermeldungen anzuzeigen. Um dies zu umgehen, spezifizieren Sie bitte folgenden Boot-Parameter:
noapic
Anmerkungen zur Applikationskompatibilität bezüglich Red Hat Enterprise Linux 3 Update 1
POSIX Standard legt Schnittstellen fest, um Dateien oder Teile von Dateien zu sperren, um sicher zu gehen, dass diese nicht gleichzeitig von anderen Programmen geändert werden. Die fcntl()-Schnittstelle gemeinsam mit der F_GETLK-, F_SETLK- und F_SETLKW-Schnittstelle kann für diesen Zweck benutzt werden. Der Standard legt fest, dass Versuche eine bereits gesperrte Datei von einem anderen Prozess zu sperren, fehlschlagen müssen. Auch die lockf()-Schnittstelle ist ein Teil von POSIX und dient dem selben Zweck. Nicht in POSIX vertreten, aber der selben Kategorie angehörend ist die flock()-Schnittstelle.
Der Original Kernel in der ursprünglichen Red Hat Enterprise Linux 3 Version verhindert nicht nur die Sperrung der Datei von anderen Prozessen, sondern auch die Sperrung von anderen Threads im selben Prozess. Das Kernel-Update in Red Hat Enterprise Linux 3 Update 1 führt jedoch das richtige Verhalten für Programme, die NPTL verwenden, ein. Programme, welche Linux Threads verwenden oder Programme, welche nitcht multi-threaded sind, werden auf keine Weise beeinträchtigt.
Ein Nebeneffekt des originalen Red Hat Enterprise Linux 3 Kernel ist derjenige, dass l_pid field, ein Teil der flock-Struktur, welche durch einen Call an fcntl() mit dem Befehl F_GETLK zurückkehrt, eine Kernel-interne Nummer des Thread beinhaltet . Mit dem Red Hat Enterprise Linux 3 Update 1 Kernel beinhaltet dieses Feld die Prozess-ID für alle Threads und Prozesse.
Wenn eine POSIX-verträgliche multi-threaded Applikation die NPTL-Library benutzt (welche standardmäßig eingestellt ist) und diese Applikation eine Dateisperre unternimmt mit dem Systemaufruf fcntl(), so ist es möglich, dass die Applikation nicht genauso arbeitet, wie ursprünglich geplant, als der Red Hat Enterprise Linux 3 Update 1 Kernel benutzt wurde. Red Hat empfiehlt, dass jede solche Applikation wieder für den aktualisierten Kernel geeignet gemacht wird und im Falle, dass dabei Probleme auftauchen, einer der folgenden Schritte unternommen wird:
1) Setzen Sie die LD_ASSUME_KERNEL-Umgebungsvariable auf "2.4.19", um zu verhindern, dass der Applikationsvorgang die NPTL-Library benutzt. Beachten Sie dabei, dass falls die Applikation die LD_ASSUME_KERNEL-Umgebungsvariable nicht neu setzt, dass diese Einstellung auch von allen Folgeprozessen verwendet wird.
2) Modifizieren Sie die Applikation derart, dass diese nicht länger ein Verhalten erwartet, welches unvereinbar mit der POSIX-Kompleanz ist. Dies dient dazu, die Gesamt-Portabilität des Programmes zu verbessern.
Red Hat ist der Meinung, dass nur wenige (wenn überhaupt) multi-threaded Applikationen negativ von den Dateisperre-Verbesserungen, welche im aktualisierten Kernel vorhanden sind, betroffen sein werden.
Ähnliche Probleme existieren mit der Kernel-Funktionalität, welche die Berechtigungsnachweise bereitstellt für den Transport für UNIX-Sockets und den System V Message-Queues, Semaphoren und Shared Memory. Im ersten Fall, Aufrufe wie zum Beispiel:
getsockopt (fd, SOL_SOCKET, SO_PEERCRED, &caller, &optlen)
Zurückgegebene Information in der Struktur caller, vom Typ structured. Diese Struktur beinhaltet ein Feld pid. Im Original Red Hat Enterprise Linux 3 Kernel war dieses Feld mit einem Kernel-internen Wert gefüllt, der den Thread darstellt, welcher die Daten gesandt hat. Mit Red Hat Enterprise Linux 3 Update 1 enthält das Feld korrekterweise die Prozess-ID - in anderen Worten, den selben Wert für aller Threads in einem Prozess.
Der struct msqid_s-Typ, festgelegt in <sys/msq.h>, welcher dazu benutzt wird um Informationen über eine System V Message-Queue zu erlangen, beinhaltet die Felder msg_lspid und msg_lrpid. Beide Felder haben zuvor einen Kernel-internen Wert beinhaltet, wobei diese nun korrekterweise die PID des Prozesses beinhalten, bzw. welcher msgsnd() und msgrcv() aufruft.
Wenn der GETPID-Befehl, festgelegt in <sys/sem.h> gemeinsam benutzt wird mit der semctl()-Funktion, so gab der Original Red Hat Enterprise Linux 3 Kernel einen Kernel-internen Wert zurück. Mit Red Hat Enterprise Linux 3 Update 1, ist der zurückgesendete Wert die Prozess-ID.
Der struct shmid_s-Typ, festgelegt in <sys/shm.h>, welcher dazu benutzt wird Information über ein System V Shared-MemorySegment, beinhaltet die Felder shm_lpid und shm_cpid. Beide Felder haben zuvor Kernel-interne Werte beinhaltet; jetzt enthalten diese korrekterweise die PID des Prozesses, welcher den letzten Ablauf vollzieht, bzw. das Segment erstellt.
Dieses Update beinhaltet Fehlerbehebungen für eine Anzahl von Treibern. Die signifikanteren Treiber-Uptdates sind unten aufgelistet. In einigen Fällen wurde der Originaltreiber unter einem anderen Namen aufbewahrt und ist als nicht-standardmäßige Alternative für Unternehmen erhältlich, welche deren Treiber-Konfiguration zu einem späteren Zeitpunkt auf die neuesten Versionen umstellen möchten.
Die Umstellung auf die neuesten Treiber sollte unbedingt noch vor Anwendung des nächsten Red Hat Enterprise Linux Updates stattfinden, da in den meisten Fällen lediglich ein Treiber der älteren Version für jedes Update aufbewahrt wird.
IBM ServeRAID (ips-Treiber)
Der scsi/ips-Treiber wurde von 6.00.26 auf6.10.52 aktualisiert.
Der ältere Treiber wurde aufbewahrt als addon/ips_60026
LSI Logic RAID (megaraid-Treiber)
Der scsi/megaraid wurde von v1.18j auf v1.18k aktualisiert.
Der scsi/megaraid2 wude von v2.00.5 auf v2.00.9 aktualisiert
C-Media PCI audio driver (cmpci-Treiber)
Der sound/cmpci-Treiber wurde von Revision5.64 auf 6.36 aktualisiert
Der ältere Treiber wurde aufbewahrt als addon/cmpci_564
Intel PRO/1000 (e1000-Treiber)
Der e1000-Treiber wurde von 5.1.11-k1 auf 5.2.20-k1 aktualisiert
Intel PRO/100 (e100-Treiber)
Der e100-Treiber wurde von 2.3.13-k1-1 auf 2.3.30-k1 aktualisiert
Dieser Abschnitt beinhaltet Listen von Paketen, die von Red Hat Enterprise Linux 3 als Teil von Update 1 aktualisiert oder hinzugefügt wurden.
Diese Paketlisten beinhalten Pakete von allen Red Hat Enterprise Linux 3-Varianten. Es kann sein, dass Ihr System nicht jedes dieser aufgelisteten Pakete beinhaltet.
Die folgenden Pakete wurden von der ursprünglichen Version Red Hat Enterprise Linux 3. aktualisiert:
XFree86
XFree86-100dpi-fonts
XFree86-75dpi-fonts
XFree86-ISO8859-14-100dpi-fonts
XFree86-ISO8859-14-75dpi-fonts
XFree86-ISO8859-15-100dpi-fonts
XFree86-ISO8859-15-75dpi-fonts
XFree86-ISO8859-2-100dpi-fonts
XFree86-ISO8859-2-75dpi-fonts
XFree86-ISO8859-9-100dpi-fonts
XFree86-ISO8859-9-75dpi-fonts
XFree86-Mesa-libGL
XFree86-Mesa-libGLU
XFree86-Xnest
XFree86-Xvfb
XFree86-base-fonts
XFree86-cyrillic-fonts
XFree86-devel
XFree86-doc
XFree86-font-utils
XFree86-libs
XFree86-libs-data
XFree86-sdk
XFree86-syriac-fonts
XFree86-tools
XFree86-truetype-fonts
XFree86-twm
XFree86-xauth
XFree86-xdm
XFree86-xfs
anaconda
anaconda-runtime
ant
ant-devel
ant-libs
clumanager
compat-gcc
compat-gcc-c++
compat-libstdc++
compat-libstdc++-devel
cpp
devlabel
ethereal
ethereal-gnome
freeradius
freeradius-mysql
freeradius-postgresql
freeradius-unixODBC
gcc
gcc-c++
gcc-g77
gcc-gnat
gcc-java
gcc-objc
gdb
glibc
glibc-common
glibc-debug
glibc-devel
glibc-headers
glibc-profile
glibc-utils
gnupg
hotplug
httpd
httpd-devel
hwdata
initscripts
iproute
kdegames
kdegames-devel
kernel
kernel-doc
kernel-smp
kernel-smp-unsupported
kernel-source
kernel-unsupported
kernel-utils
kinput2-canna-wnn6
kudzu
kudzu-devel
libf2c
libgcc
libgcj
libgcj-devel
libgnat
libobjc
libstdc++
libstdc++-devel
mdadm
mod_jk2
mod_ssl
mod_webapp
modutils
modutils-devel
net-snmp
net-snmp-devel
net-snmp-perl
net-snmp-utils
netdump
netdump-server
nptl-devel
nscd
nss_ldap
openssl
openssl-devel
openssl-perl
oprofile
oprofile-devel
quagga
quagga-contrib
quagga-devel
redhat-config-cluster
redhat-config-kickstart
redhat-config-network
redhat-config-network-tui
redhat-config-packages
redhat-config-xfree86
rh-postgresql
rh-postgresql-contrib
rh-postgresql-devel
rh-postgresql-docs
rh-postgresql-jdbc
rh-postgresql-libs
rh-postgresql-pl
rh-postgresql-python
rh-postgresql-server
rh-postgresql-tcl
rh-postgresql-test
rsync
shadow-utils
strace
struts
tomcat
tomcat-devel
tomcat-libs
up2date
up2date-gnome
ypbind
Die folgenden Pakete wurden zu Red Hat Enterprise Linux 3 Update 1 hinzugefügt:
jaf
jaf-devel
javamail
javamail-devel
jonas
jonas-examples
junit
junit-devel
mysql-jdbc
mysql-jdbc-tomcat
rh-cs-es
struts-webapps
tomcat-test
( x86-64 )