In questo documento sono trattati i seguenti argomenti:
Modifiche al programma di installazione di Red Hat Enterprise Linux (Anaconda)
Informazioni generali
Modifiche ai driver e al supporto hardware
Modifiche ai pacchetti
La sezione seguente include le informazioni specifiche al programma di installazione di Red Hat Enterprise Linux, Anaconda.
Per poter aggiornare un sistema Red Hat Enterprise Linux 3 precedentemente installato in Update 1, dovete usare Red Hat Network per aggiornare quei pacchetti che sono stati modificati. L'utilizzo di Anaconda per eseguire il miglioramento in Update 1 non è supportato.
Utilizzare Anaconda solo per eseguire una nuova installazione di Red Hat Enterprise Linux 3 Update 1.
Se state copiando i contenuti dei CD-ROM di Red Hat Enterprise Linux 3 Update 1 (per esempio, in preparazione per una installazione basata sulla rete), assicuratevi di copiare i CD-ROM solo per il sistema operativo. Non copiate i CD-ROM aggiuntivi, o qualsiasi altro CD-ROM, in quanto tale operazione sovrascriverà i file necessari per il corretto funzionamento di Anaconda.
Questi CD-ROM devono essere installati dopo l'installazione di Red Hat Enterprise Linux.
Red Hat Enterprise Linux 3 Update 1 include una nuova subdirectory della directory RedHat presente sul CD-ROM #1. Questa subdirectory, chiamata Updates, contiene tutti i pacchetti aggiunti o aggiornati durante l'aggiornamento trimestrale. Anaconda è stato modificato in modo da trovare la subdirectory Updates durante gli aggiornamenti e le installazioni.
Questa sezione contiene informazioni generali non relative ad altre sezioni presenti in questo documento.
Lo standard SCSI necessita che tutti i dispositivi SCSI rispondono ad un Logical Unit Number (LUN) pari a zero. Alcuni dispositivi SCSI non corrispondono a tale parametro quando vengono viene eseguito il controllo del Logical Unit Numbers (LUN) maggiore di zero. Altri dispositivi necessitano di una numerazione LUN sequenziale.
Il kernel di Red Hat Enterprise Linux 3 Update 1 contiene un elenco di dispositivi provati e sono in grado di funzionare correttamente quando vengono controllati per LUN diversi da zero, e per LUN non sequenziali. Solo i dispositivi presenti in questo elenco vengono controllati per default. Questo comportamento di default può essere annullato in base al sistema, aggiungendo la seguente entry al file /etc/modules.conf:
options scsi_mod max_scsi_luns=255
Dopo aver modificato modules.conf, è necessario creare nuovamente il file ramdisk iniziale usando lo script mkinitrd. Consultate la pagina man di mkinitrd (usando il comando man mkinitrd), per maggiori informazioni sulla creazione dell'immagine ramdisk iniziale.
Quando viene usata questa opzione, i numeri LUN presenti sul dispositivo devono essere assegnati in modo sequenziale, iniziando da zero.
Il kernel di Red Hat Enterprise Linux 3 Update 1 ora supporta NUMA (Non-Uniform Memory Access) sull'architettura AMD64. Anchce se tutti i CPU possono accedere a tutta la memoria anche senza il supporto NUMA, il suddetto supporto presente nel kernel aggiornato favorisce,durante l'assegnazione della memoria, i CPU sui quali è stato originato, minimizzando così il traffico di memoria tra i diversi CPU. Questo può generare un miglioramento significativo della prestazione in alcune applicazioni. Se desiderate ritornare al comportamento originario non-NUMA, specificate il seguente paramentro al momento dell'avvio.
numa=off
I sistemi basati sul chipset NVIDIA nForce3 (come ad esempio ASUS SK8N), sono soggetti ad una sospensione durante il rilevamento IDE al momento dell'avvio, oppure presentano altre problematiche inerenti l'interruzione della consegna. Per trovare un rimedio a questa problema, specificate il seguente parametro al momento dell'avvio:
noapic
Note sulla compatibilità dell'applicazione in Red Hat Enterprise Linux 3 Update 1
Lo standard di POSIX indica alle interfacce di bloccare i file o parte di essi, in modo da assicurare che gli stessi non vengono modificati da altri programmi. L'interfaccia fcntl() insieme con F_GETLK, F_SETLK, e F_SETLKW, possono essere usate per questo scopo. Lo standard indica che i tentativi di bloccare un file precedentemente bloccato da un altro programma, devono avere un esito negativo. L'interfaccia lockf() fà parte di POSIX, il quale è utile per lo stesso scopo. Non presente in POSIX, ma presente nella stessa categoria, è l'interfaccia flock().
Il kernel originale presente nella release iniziale di Red Hat Enterprise Linux 3 oltre a prevenire il bloccaggio del file da parte di altri processi, previene anche il bloccaggio degli stessi da parte di altri thread nello stesso precesso. Questa fase non è corretta e non corrisponde al normale comportamento del kernel di Linux 2.6 e nelle corrette semantiche di POSIX. L'aggiornamento del kernel in Red Hat Enterprise Linux 3 Update 1 introduce il corretto comportamento per i programmi che usano NPTL. Non vi è alcun impatto sui programmi che usano i thread di Linux o nei programmi che non sono multi thread.
Un effetto collaterale del kernel di Red Hat Enterprise Linux 3 originale è rappresentato dal fatto che l_pid field, che fà parte della struttura flock ritornata quando si invoca fcntl() con il comando F_GETLK, contiene il numero del thread interno al kernel. Con il kernel di Red Hat Enterprise Linux 3 Update 1 questo campo contiene il processo ID per tutti i thread del processo.
Se un'applicazione 'multi-threaded' non-POSIX-compliant utilizza la libreria NPTL (la quale rappresenta il default), ed esegue il file locking tramite l'invocazione del sistema fcntl(), è possibile che l'applicazione non funzioni come voluto se si utilizza il kernel di Red Hat Enterprise Linux 3 Update 1. Red Hat consiglia che tali applicazioni siano riqualificate sul kernel aggiornato, e se si incontrano problemi, è necessario intraprendere una di queste azioni:
1) Impostare la variabile dell'ambiente LD_ASSUME_KERNEL su "2.4.19" per il processo dell'applicazione in modo da evitare l'utilizzo della libreria. Notate che se l'applicazione non azzera la variabile dell'ambiente LD_ASSUME_KERNEL, questa impostazione viene ereditata da tutti i processi figli.
2) Modificate l'applicazione in modo che la stessa non preveda un comportamento non costante con standard conformi a POSIX. Questo comporta un miglioramento della portabilità generale del programma.
Red Hat crede che alcune (forse nessuna) applicazioni ' multi-threaded' sarranno influenzate in modo negativo dal file locking presente nel kernel aggiornato.
Problemi simili esistono con la funzionalità del kernel che fornisce le credenziali per il trasporto per le UNIX socket e per le code del messaggio di System V, semafori, e della memoria condivisa. In primo luogo, le invocazioni del tipo:
getsockopt (fd, SOL_SOCKET, SO_PEERCRED, &caller, &optlen)
ritornano le informazioni nella struttura caller, del tipo struct ucred. Questa struttura contiene un campo pid. Nel kernel originale di Red Hat Enterprise Linux 3, in questo campo è stato inserito un valore interno del kernel, e rappresenta il thread che ha inviato i dati. Con Red Hat Enterprise Linux 3 Update 1, il campo contiene attualmente il processo ID -- in altre parole, lo stesso valore per tutti i thread in un processo.
Il tipo struct msqid_s, definito in <sys/msq.h>, usato per ottenere le informazioni sulla coda del messaggio di un Sistema V, contiene i campi msg_lspid e msg_lrpid. Entrambi i campi precedentemente contenevano un valore interno del kernel, mentre ora contengono correttamente il PID del processo chiamati rispettivamente msgsnd() e msgrcv().
Quando il comando GETPID, definito in <sys/sem.h>, viene usato con la funzione semctl(), il kernel originale di Red Hat Enterprise Linux 3 ritorna un valore interno del kernel. Come Red Hat Enterprise Linux 3 Update 1, il valore ritornato è il processo ID.
Il tipo struct shmid_s, definito in <sys/shm.h>, il quale viene usato per ottenere informazioni sul segmento della memoria condivisa del Sistema V, contiene i campi shm_lpid e shm_cpid. Entrambi i campi contenevano precedentemente i valori interni del kernel, ora contengono correttamente il PID del processo che esegue l'ultima funzione, e la creazione del segmento.
Questo aggiornamento contiene i bug fixes per un certo numero di driver. Gli aggiornamenti più importanti sono elencati qui di seguito. In alcuni casi, il driver originale è stato conservato con un nome diverso, ed è disponibile come un'alternativa non di default per organizzazioni che desiderano migrare la configurazione dei loro driver in una versione più recente.
La migrazione sui driver più recenti dovrebbe essere completata prima di applicare il successivo aggiornamento di Red Hat Enterprise Linux, in quanto in alcuni casi solo una revisione più vecchia del driver verrà conservata per ogni aggiornamento.
IBM ServeRAID (driver ips)
Il driver scsi/ips è stato aggiornato da 6.00.26 a 6.10.52
Il driver più vecchio è stato conservato come addon/ips_60026
LSI Logic RAID (driver megaraid)
Il driver scsi/megaraid è stato aaggiornato da v1.18j a v1.18k
Il driver scsi/megaraid2 è stato aggiornato da v2.00.5 a v2.00.9
Audio driver C-Media PCI (driver cmpci)
Il driver sound/cmpci è stato aggiornato dalla versione 5.64 a 6.36
Il driver più vecchio è stato conservato come addon/cmpci_564
Intel PRO/1000 (driver e1000)
Il driver e1000 è stato aggiornato da 5.1.11-k1 a 5.2.20-k1
Intel PRO/100 (driver e100)
Il driver e100 è stato aggiornato da 2.3.13-k1-1 a 2.3.30-k1
Questa sezione contiene un elenco dei pacchetti aggiornati o aggiunti da Red Hat Enterprise Linux 3 come parte di Update 1.
Questi elenchi includono i pacchetti di tutte le varianti di Red Hat Enterprise Linux 3. Il vostro sistema potrebbe non includere tutti i pacchetti qui riportati.
I seguenti pacchetti sono stati aggiornati dalla release originale di Red Hat Enterprise Linux 3:
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-server
rh-postgresql-test
rsync
shadow-utils
strace
struts
tomcat
tomcat-devel
tomcat-libs
up2date
up2date-gnome
ypbind
I seguenti nuovi pacchetti sono stati aggiunti a Red Hat Enterprise Linux 3 Update 1:
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 )