Serão abordados os seguintes tópicos neste documento:
Alterações no programa de instalação do Red Hat Enterprise Linux (Anaconda)
Informações gerais
Alterações no suporte a drivers e hardware
Alterações nos pacotes
A seção a seguir, inclui informações específicas do programa de instalação do Red Hat Enterprise Linux, Anaconda.
Para poder atualizar um sistema com o Red Hat Enterprise Linux 3 instalado para Update 1, você deve usar a Red Hat Network para atualizar os pacotes que sofreram alterações. O uso do Anaconda para atualizar o sistema para Update 1 não é suportado.
Use o Anaconda somente para executar uma nova instalação do Red Hat Enterprise Linux 3 Update 1.
Caso queira copiar o conteúdo dos CD-ROMs do Red Hat Enterprise Linux 3 Update 1 (como preparação para uma instalação baseada em rede, por exemplo), certifique-se de copiar somente os CD-ROMs do sistema operacional. Não copie o CD-ROM com Extras ou qualquer um dos CD-ROMs de outros produtos, já que isso sobrescreveria alguns arquivos necessários para que o Anaconda opere corretamente.
Estes CD-ROMs devem ser instalados após a instalação do Red Hat Enterprise Linux.
O Red Hat Enterprise Linux 3 Update 1 inclui um novo sub-diretório no diretório RedHat presente no CD-ROM 1. Este sub-diretório, nomeado Updates (atualizações), contém todos os pacotes que foram adicionados ou atualizados durante um quadrimestre de atualizações. O Anaconda também foi modificado de modo a procurar pelo sub-diretório Updates durante instalações e atualizações.
Esta seção contém informações gerais não relacionadas a nenhuma outra seção deste documento.
O padrão SCSI requer que todos os dispositivos SCSI respondam ao Número de Unidade Lógica (Logical Unit Number - LUN) zero. Alguns dispositivos SCSI falham ao serem scaneados por Números de Unidade Lógica (LUNs) maiores que zero. Outros dispositivos requerem os LUNs numerados sequencialmente.
O kernel do Red Hat Enterprise Linux 3 Update 1 contém uma lista de dispositivos que foram testados e funcionaram corretamente ao serem scaneados por LUNs diferentes de zero e não-sequenciais. Somente os dispositivos desta lista são scaneados por default. Este comportamento default pode ser alterado para todo o sistema adicionando a seguinte entrada ao arquivo /etc/modules.conf:
options scsi_mod max_scsi_luns=255
Após modificar o modules.conf, é necessário recriar o arquivo do ramdisk inicial usando o script mkinitrd. Consulte a página man do mkinitrd (usando o comando man mkinitrd) para mais informações sobre a criação da imagem do ramdisk inicial.
Quando essa opção é usada, os números LUN no dispositivo devem ser atribuídos sequencialmente, começando por zero.
O kernel do Red Hat Enterprise Linux 3 Update 1 agora suporta o Acesso à Memória Não-Uniforme(Non-Uniform Memory Access - NUMA) na arquitetura AMD64. Apesar de todas as CPUs poderem acessar toda a memória mesmo sem o suporte ao NUMA, este suporte apresentado em kernels atualizados faz com que a CPU utilize o máximo possível de memória local, consequentemente minimizando o tráfego de memória dentro da CPU. Isso pode melhorar significativamente o desempenho em determinadas aplicações. Se você deseja reverter para o comportamento original sem o NUMA, especifique o seguinte parâmetro de inicialização:
numa=off
Sabe-se que os sistemas baseados no conjunto de chips nForce3 da NVIDIA (tais como o ASUS SK8N) têm ficado pendentes durante a detecção de dispositivos IDE na inicialização ou apresentam outros problemas que interrompem a inicialização. Para resolver esta questão, especifique o seguinte parâmetro no momento da inicialização:
noapic
Notas sobre a Compatibilidade de Aplicações no Red Hat Enterprise Linux 3 Update 1
O padrão POSIX define interfaces para trancar arquivos ou partes de arquivos para garantir que não sejam alterados por outros programas. A interface fcntl() com as interfaces F_GETLK, F_SETLK e F_SETLKW, pode ser usada para este propósito. O padrão define que as tentativas em trancar um arquivo já trancado por outro processo devem falhar. A interface lockf(), também parte do POSIX, serve o mesmo propósito. A interface flock() está fora do POSIX, mas é parte da mesma categoria.
O kernel original na versão inicial do Red Hat Enterprise Linux 3 não somente evita trancar o arquivo de outros processos, como também evita trancar arquivos de outras instâncias no mesmo processo. Isso não é correto e não corresponde ao comportamento do kernel Linux 2.6 e à semântica correta do POSIX. A atualização do kernel no Red Hat Enterprise Linux 3 Update 1 introduz o comportamento correto para programas usando NPTL. Não há impacto nos programas que usam o Linux Threads e nem nos programas que não são multi-threaded.
Um efeito colateral do kernel original do Red Hat Enterprise Linux 3 é que o l_pid field, parte da estrutura do flock, que é retornada por uma chamada do fcntl() com o comando F_GETLK, contém um número interno do kernel para a instância. Com o kernel do Red Hat Enterprise Linux 3 Update 1, este campo contém o ID do processo para todas as instâncias do processo.
Se uma aplicação multi-threaded não condizente com POSIX usa a biblioteca NPTL (que é a default) e tranca arquivos com a chamada do sistema fcntl(), é possível que a aplicação não funcione conforme pretendido quando o kernel do Red Hat Enterprise Linux 3 Update 1 for usado. A Red Hat recomenda que aplicações como esta sejam re-qualificadas no kernel atualizado e, se ocorrer algum problema, é necessário tomar uma das seguintes ações:
1) Determinar a variável de ambiente LD_ASSUME_KERNEL para "2.4.19" para que o processo da aplicação evite que use a biblioteca NPTL. Note que se a aplicação não restaurar o valor da variável de ambiente LD_ASSUME_KERNEL, esta configuração é herdada por todos os processos filho (child processes).
2) Modificar as aplicações de modo que não mais esperem um comportamento inconsistente com o cumprimento do POSIX. Isso melhorará a portabilidade geral do programa.
A Red Hat acredita que apenas algumas (se houver) aplicações multi-threaded serão impactadas negativamente pelos consertos na tranca de arquivos contidos no kernel atualizado.
Existem problemas similares na funcionalidade do kernel que provém credenciais de transporte para sockets Unix e filas de mensagem, semáforos e memória compartilhada do Sistema V. No primeiro caso, as chamadas como:
getsockopt (fd, SOL_SOCKET, SO_PEERCRED, &caller, &optlen)
retornam informações na estrutura do caller, que é do tipo struct ucred. Esta estrutura contém um campo pid. No kernel original do Red Hat Enterprise Linux 3, este campo estava preenchido com um valor interno ao kernel representando a instância que enviou os dados. No Red Hat Enterprise Linux 3 Update 1, o campo corretamente contém o ID do processo -- em outras palavras, o mesmo valor para todas as instâncias de um processo.
O tipo struct msqid_s, definido no <sys/msq.h>, que é usado para obter informações sobre uma fila de mensagens do Sistema V, contém os campos msg_lspid e msg_lrpid. Ambos os campos continham previamente um valor interno ao kernel, mas agora contêm corretamente o PID do processo chamando msgsnd() e msgrcv() respectivamente.
Quando o comando GETPID, definido no <sys/sem.h>, é usado com a função semctl(), o kernel original do Red Hat Enterprise Linux 3 retornou um valor interno ao kernel. No Red Hat Enterprise Linux 3 Update 1, o valor retornado é o ID do processo.
O tipo struct shmid_s, definido no <sys/shm.h>, que é usado para obter informações sobre um segmento de memória compartilhada do Sistema V, contém os campos shm_lpid e shm_cpid. Ambos os campos continham previamente os valores internos ao kernel; agora estes corretamente contêm o PID do processo desempenhando a última operação, e do processo criando o segmento, respectivamente.
Esta atualização inclui consertos de erros (bugs) para diversos drivers. As atualizações de driver mais significativas estão listadas abaixo. Em alguns casos, o driver original foi preservado sob um nome diferente e está disponível como uma alternativa não-default para empresas que desejam migrar sua configuração de driver para versões mais recentes posteriormente.
A migração para os drivers mais recentes deve ser completa antes de aplicar a próxima atualização do Red Hat Enterprise Linux porque, na maioria dos casos, somente uma versão antiga do driver é preservada em cada atualização.
IBM ServeRAID (driver ips)
O driver scsi/ips foi atualizado de 6.00.26 para 6.10.52
O driver mais antigo foi preservado como addon/ips_60026
RAID Lógico LSI (driver megaraid)
O driver scsi/megaraid foi atualizado de v1.18j para v1.18k
O driver scsi/megaraid2 foi atualizado de v2.00.5 para v2.00.9
Driver de áudio PCI C-Media (driver cmpci)
O driver sound/cmpci foi atualizado da Revisão 5.64 para 6.36
O driver mais antigo foi preservado como addon/cmpci_564
Intel PRO/1000 (driver e1000)
O driver e1000 foi atualizado de 5.1.11-k1 para 5.2.20-k1
Intel PRO/100 (driver e100)
O driver e100 foi atualizado de 2.3.13-k1-1 para 2.3.30-k1
Esta seção contém listas de pacotes que foram adicionados ou atualizados no Red Hat Enterprise Linux 3 como parte do Update 1.
Estas listas incluem pacotes de todas as variantes do Red Hat Enterprise Linux 3. Seu sistema pode não incluir todos os pacotes listados aqui.
Os seguintes pacotes foram atualizados da versão original do 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-tcl
rh-postgresql-test
rsync
shadow-utils
strace
struts
tomcat
tomcat-devel
tomcat-libs
up2date
up2date-gnome
ypbind
Os seguintes pacotes foram adicionados ao 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 )