下列的部份包括 Red Hat Enterprise Linux 安裝程式 Anaconda 的特定資訊。
如果要將 Red Hat Enterprise Linux 3 系統升級至 Update 3,您必須使用 Red Hat Network 來更新已經變更的套件;使用 Anaconda 來升級為 Update 3 並不在支援範圍之內。
您只能用 Anaconda 來執行 Red Hat Enterprise Linux 3 Update 3 的完整安裝。
假如您打算複製 Red Hat Enterprise Linux 3 Update 3 的光碟片內容(例如為了要準備網路安裝), 請記得「只」複製作業系統的光碟片,請勿複製 Extras 光碟或任何不同等級產品的光碟片,因為這麼做的話將會覆蓋掉 Anaconda 正常操作所需的檔案。
這些光碟片必須在「安裝完」Red Hat Enterprise Linux 後,才進行安裝。
這個部份包含的是一般資訊,並非針對本文件的某些特定章節。
Red Hat Enterprise Linux 3 Update 3 在Extra CD中,加入了最新版的 KornShell (ksh)。KornShell 可讓使用者以互動式與 shell script 方式,撰寫程式語言。KornShell 也與 Bourne Shell(sh)向上相容。
您可以選用ksh套件,來取代已經包含在核心中的pdksh。這對需要百分之百相容於AT&T ksh語法的時候,非常有用。
在Red Hat Enterprise Linux中,autofs負責控制automount服務的運作,現在已經被更新到第四版。第四版與第三版完全相容,但新增了以下功能:
可瀏覽掛載點(Browsable mounts,又稱虛像(ghosting)) — 您可以不需要事先掛載,即可藉此瀏覽autofs所對應的目錄。當您要存取(例如檢視檔案列表時)時,才會掛載。
支援重複伺服器(Replicated Server) — 這功能可以讓管理者將某些紀錄,對應到多個、重複的伺服器上。automount服務會利用rpc_ping,測試每台伺服器的網路延遲時間,決定要連接到哪台伺服器。您也可以為每台伺服器設定不同的權重,使用上更有彈性。欲知更多對應格式的相關訊息,請參閱檔案/usr/share/doc/autofs-4.1.3/README.replicated-server。
可執行的對應(Executable maps) — 您可以將對應(map)標示為可執行檔。解析auto.master檔的起始程序,會把這檔案視為程式對應,傳給自動掛載程式。程式對應的呼叫方式跟 script 相同,也可以加入參數。如果有錯誤發生,也許不會傳回任何結果;但也可能會傳回一或數行結果(以 \ 斷行)。這功能對於使用/net功能時,非常有用。
多重掛載(multi-mounts) — 這功能可以讓automount服務輪流使用多種名稱解析方法;例如,使用NIS與檔案對應。
Red Hat Enterprise Linux 3 Update 2 目前還在Evaluated Assurance Level (EAL) 3+/Controlled Access Protection Profile (CAPP)的「測試評量」階段中,受測平台如下:
x86架構下的Red Hat Enterprise Linux WS
x86;AMD64;IBM zSeries、iSeries、以及pSeries架構下的Red Hat Enterprise Linux AS
要知道最新的測試評量狀態,請參閱以下網址:
http://www.redhat.com/solutions/industries/government/commoncriteria/
所有套用到 Red Hat Enterprise Linux 3 Update 2,以達成EAL3認證的修正程式,都已經加入 Red Hat Enterprise Linux 3 Update 3 發行版本中。
欲知更多音效系統的訊息,請參閱laus(7)說明文件。
Update 3 的核心首次被加入Red Hat Enterprise Linux 3 Update 2 中,修改過的部份能在更多平台上,對系統呼叫做稽核。當不使用稽核功能的時候,這些修改就不會對效能產生任何影響。核心元件藉由一個特別的裝置 /dev/audit ,存取稽核機制。藉由這個裝置,使用者階層的系統程式(auditd)就可以啟用或停用稽核功能,並為核心提供是否要紀錄系統呼叫的準繩。這裝置也被auditd所使用,從核心擷取稽核紀錄,傳送到稽核檔中。如果您想知道如何支援 ioctl 呼叫,以及使用 /proc/ 介面來管理與調整稽核的方法,請參閱 audit(4) 的man page。
Red Hat Enterprise Linux 3 Update 3所包括的httpd網頁伺服器軟體,做了幾項明顯的改變:
加強過的mod_cgi模組,能更正確的使用stderr與stdout,處理同步輸出
使用者可以藉由mod_rewrite指令,加上%{SSL:...}語法,直接使用由mod_ssl定義的SSL環境變數。例如,「%{SSL:SSL_CIPHER_USEKEYSIZE}」可能會被解讀為「128」。
同樣的,SSL環境變數也可以直接藉由mod_headers指令,搭配%{...}s語法來使用。
加入了mod_ext_filter模組
suexec可接受的最小群組編號,已經從500降為100。這讓使用suexec時,使用者可以來自「users」群組。
這個部份含括 Red Hat Enterprise Linux 3 Update 3 中核心的相關資訊。
有些使用 NVIDIA 或 VIA 晶片組的 AMD64 主機板(例如華碩(ASUS) SK8N),在存取 IDE 或序列 ATA(SATA,Serial ATA)裝置時,會造成當機現象。這是製造商尚未解決的已知問題之一。解決方法是在開機的命令列中,加入「noapic」參數。
可以為 Lindenhurst 核心(Intel® E7520 與 Intel® E7320)以及 Tumwater 核心 (Intel® E7525)晶片組,啟用硬體 IRQ 均衡(IRQ balancing)功能。因此,在 Red Hat Enterprise Linux 3 Update 3 核心中,軟體 IRQ 均衡功能是停用的。
Red Hat Enterprise Linux 3 Update 3 核心包括了新的安全功能,稱為 Exec-shield。這修改過的安全加強技術可以將程式所使用的記憶體 — 包括程式所使用的堆疊 — 標示為「不可執行」。這樣可以降低某些安全漏洞(例如緩衝區溢位)的潛在風險。
Exec-shield 也可以在載入某些執行檔時,隨機分配虛擬記憶體的位址。這樣一來,帶有不明意圖的應用程式,就難以參透程式碼或資料區的位址,更遑論恣意存取。
Exec-shield 的運作可以透過 proc 檔案系統來控制,其中有兩個檔案:
/proc/sys/kernel/exec-shield
/proc/sys/kernel/exec-shield-randomize
/proc/sys/kernel/exec-shield負責 Exec-shield 的大部分功能運作,可以用以下指令來管理:
echo <value> > /proc/sys/kernel/exec-shield
這裡的 <value> 是下列的其中之一:
0 — 對所有二進位檔,不管標記與否,停用Exec-shield (包括亂數過的VM對應)
1 — 對所有已標記的二進位檔,啟用 Exec-shield
2 — 不管二進位檔標記與否,一概啟用 Exec-shield。(「僅供」測試用)
/proc/sys/kernel/exec-shield的預設值是 1。
/proc/sys/kernel/exec-shield-randomize檔案則控制Exec-shield是否要將VM對應亂數化,並可以用下列指令來管理:
echo <value> > /proc/sys/kernel/exec-shield-randomize
這裡的 <value> 是下列的其中之一:
0 — 停用 VM 對應的亂數化功能
1 — 啟用 VM 對應的亂數化功能
/proc/sys/kernel/exec-shield-randomize的預設值為 1。
您也可以在/etc/sysctl.conf檔案中,加入底下一行(或兩行)指令,藉以設定 Exec-shield:
kernel.exec-shield=<value>
kernel.exec-shield-randomize=<value>
(這裡的 <value> 如前所述。)
Exec-shield 也可以在載入核心時停用。只要在/etc/grub.conf檔案中「kernel」那一行,加入以下參數即可:
exec-shield=0
Exec-shield 只對某些執行檔起作用:這些執行檔必須使用Red Hat Enterprise Linux 3 Update 3所提供的工具組(編譯器,組譯器,以及連接器)所製作(且標記)。使用不同版本工具組所製作的執行檔還是可以執行,但因為它們並沒有被標記,所以無法享受到 Exec-shield 所帶來的好處。
程式設計師要記得,在大部份情況下,GCC 編譯後,都可以正確地將程式碼標記為支援 Exec-shield。但在少數情形下(通常是因為內嵌(inline)組譯程式或其他不可攜的程式碼所引起的問題),GCC 無法將二進位碼最佳化(甚至是發生錯誤),這時就要透過 GCC 參數,才能達到想要的結果。
在編譯階段,控制二進位碼是否標記的選項為:
-Wa,--execstack
-Wa,--noexecstack
在連結階段,控制二進位碼是否標記的選項為:
-Wl,-z,execstack
-Wl,-z,noexecstack
您也可以更進一步,明確要求某個檔案在執行時,關閉 Exec-shield 功能。這個指令是setarch:
setarch i386 <binary>
(這裡的 <binary> 代表欲執行的二進位檔。)接下來這二進位檔就會在沒有 Exec-shield 功能的情形下執行。
您可以透過/proc/self/maps檔案檢視 Exec-shield的狀態。利用cat指令就可以顯示目前行程的 VM 對應,得知 Exec-shield 正在執行。同樣的,您也可以使用setarch配合cat指令,看看正常的 VM 對應與 Exec-shield 對應,有何區別。
Red Hat Enterprise Linux 3 Update 3 包括了新的安全性功能 — 核心支援新英特爾處理器的 NX(No eXecute,不可執行)功能。NX 技術會限制程式碼是否可以被執行,有效防止駭客在程式中植入惡意原始碼,以避免系統發生緩衝區溢位的問題。當某些記憶體分頁被標示為不可執行,CPU 就不會從這些記憶體中執行程式。這可以用在記憶體堆疊(stack)或堆積(heap)上,這兩者多半是儲存緩衝區的地方。
Red Hat Enterprise Linux 3 (於2003年10月22日推出)也支援 AMD64 平台的 NX 功能。
這個更新包括對許多驅動程式的除錯修正,以下列出較重要的驅動程式更新。在某些例子中,我們以不同的名稱保留原本的驅動程式,以提供給想要在稍候轉換驅動程式設定到最新版本的公司使用。
轉換到最新驅動程式的動作應該在套用下一個 Red Hat Enterprise Linux 更新前完成,因為大部分的情況下,每一次更新只保留一份舊版本的驅動程式。
這些《發行公告》也指出哪些舊版本的驅動程式已經從這次核心更新中移除,這些驅動程式的基本驅動程式名稱後加上了版本號碼,如 megaraid_2002.o。您「必須」在安裝這個核心更新之前,先移除 /etc/modules.conf 中的那些驅動程式。
請記得,用來找出哪些驅動程式正在使用中的唯一最可靠的方法,是檢視 /etc/modules.conf 檔案的內容,使用 lsmod 指令並不是檢視這個檔案的替代方法。
Adaptec RAID (aacraid 驅動程式)
aacraid 驅動程式已經從 1.1.2 版更新為 1.1.5-2339 版
新的驅動程式為 scsi/aacraid/aacraid.o
較舊的驅動程式保留在 addon/aacraid_10102/aacraid_10102.o
LSI Logic RAID (megaraid 驅動程式)
megaraid驅動程式還不支援某些硬體的情形,在megaraid2中獲得改善。目前後者支援若干新的匯流排介面(例如PERC4與序列ATA(Serial ATA)等產品)。如果您的系統僅包括這些新硬體,那麼megaraid2會自動載入;如果您的系統僅有較舊的產品,那麼預設載入的會是megaraid。
然而,如果您同時使用新舊兩種MegaRAID介面卡,那麼系統會依據掃描介面卡得到的先後順序,選用驅動程式。(要注意的是,您不能同時擁有megaraid與megaraid2兩種驅動程式。)如果您系統採用的驅動程式,不是您想要的那一種,那麼請採取以下任何一種步驟:
如果您打算安裝新系統,請在開機時輸入以下指令:
expert noprobe
接下來,從選單中選擇您想要用的驅動程式。
如果系統已經安裝完成,請編輯 /etc/modules.conf 檔案,找到「alias scsi_hostadapter」那一行,把 megaraid 或 megaraid2 改成您想要的驅動程式類型。別忘記您改變 /etc/modules.conf 後,要重建 initrd 映像檔。欲知更多詳情,請參閱 mkinitrd 說明文件。
megaraid2 驅動程式已經從 v2.10.1.1 版更新至 v2.10.6-RH1 版
新的驅動程式為 scsi/megaraid2.o
較舊的驅動程式保留在 addon/megaraid_2101/megaraid2101.o
v2.00.9 驅動程式已經被移除
預設的驅動程式仍是 v1.18k 驅動程式 (megaraid.o)
IBM ServeRAID (ips 驅動程式)
ips 驅動程式已經從 6.11.07 版更新為 7.00.15 版
新的驅動程式為 scsi/ips.o
較舊的驅動程式保留在 addon/ips_61107/ips_61107.o
ips 6.10.52 驅動程式 (ips_61052.o) 已經被移除
LSI Logic MPT Fusion (mpt* 驅動程式)
這些驅動程式已經從 2.05.11.03 版更新至 2.05.16 版
新的驅動程式位於 message/fusion/
較舊的驅動程式保留在 addon/fusion_20511
2.05.05+ 驅動程式 (mpt*_20505.o) 已經被移除
Compaq SA53xx 控制卡 (cciss 驅動程式)
cciss 驅動程式已經從 2.4.50.RH1 版更新至 v2.4.52.RH1 版
QLogic 光纖通道 (qla2xxx 驅動程式)
這些驅動程式已經從 6.07.02-RH2 版更新至 7.00.03-RH1
這些新的驅動程式位於 addon/qla2200
較舊的驅動程式保留在 addon/qla2200_60702RH2
6.06.00b11 驅動程式 (qla2*00_60600b11.o) 已經被移除
請注意 QLogic已經不再生產QLA2100 配接卡,QLogic 或 Red Hat 已經不再支援這個配接卡,因此該驅動程式位於 kernel-unsupported 套件中。
Emulex 光纖通道 (lpfc 驅動程式)
這個驅動程式已經加入產品中,版本為7.0.3
這個新的驅動程式位於 addon/lpfc
Intel PRO/1000 (e1000 驅動程式)
這個驅動程式已經從 5.2.30.1-k1 更新為 5.2.52-k3
Intel PRO/100 (e100 驅動程式)
這個驅動程式已經從 2.3.30-k1 更新為 2.3.43-k1
Broadcom Tigon3 (tg3 驅動程式)
這個驅動程式已經從 v3.1 更新至 v3.6RH
這章節包括的套件清單,已經被更新、新增,成為 Update 3的一部分;或從 Red Hat Enterprise Linux 3 中被移除。為多種架構製作的套件,其架構名稱會在括弧中附註。
這些套件清單包含來自所有不同版本的 Red Hat Enterprise Linux 3 的套件,您的系統也許不含這裡列出的每一個套件。
下列的套件已經從 Red Hat Enterprise Linux 3 Update 2 更新:
ImageMagick
ImageMagick-c++
ImageMagick-c++-devel
ImageMagick-devel
ImageMagick-perl
MAKEDEV
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 (i386)
XFree86-Mesa-libGL (x86_64)
XFree86-Mesa-libGLU (i386)
XFree86-Mesa-libGLU (x86_64)
XFree86-Xnest
XFree86-Xvfb
XFree86-base-fonts
XFree86-cyrillic-fonts
XFree86-devel (i386)
XFree86-devel (x86_64)
XFree86-doc
XFree86-font-utils
XFree86-libs (i386)
XFree86-libs (x86_64)
XFree86-libs-data
XFree86-sdk
XFree86-syriac-fonts
XFree86-tools
XFree86-truetype-fonts
XFree86-twm
XFree86-xauth
XFree86-xdm
XFree86-xfs
anaconda
anaconda-runtime
arpwatch
at
autofs
bash
bind
bind-chroot
bind-devel
bind-utils
bison
cdda2wav
cdrecord
cdrecord-devel
chkconfig
comps
control-center
cpp
cups
cups-devel
cups-libs (i386)
cups-libs (x86_64)
cvs
dev
dhclient
dhcp
dhcp-devel
eclipse
elfutils
elfutils-devel
elfutils-libelf
elfutils-libelf-devel
ethereal
ethereal-gnome
ethtool
expect
expect-devel
expectk
file-roller
gcc
gcc-c++
gcc-g77
gcc-gnat
gcc-java
gcc-objc
gdb (i386)
gdb (x86_64)
glibc (i686)
glibc (x86_64)
glibc-common
glibc-debug
glibc-devel (i386)
glibc-devel (x86_64)
glibc-headers
glibc-kernheaders
glibc-profile
glibc-utils
gnome-panel
grep
grub
gtk+
gtk+-devel
gtkhtml3
gtkhtml3-devel
httpd
httpd-devel
hwdata
imap
imap-devel
imap-utils
initscripts
itcl
jpackage-utils
kdelibs
kdelibs-devel
kernel (ia32e)
kernel (x86_64)
kernel-doc
kernel-smp
kernel-smp-unsupported
kernel-source
kernel-unsupported (ia32e)
kernel-unsupported (x86_64)
kernel-utils
krb5-devel
krb5-libs (i386)
krb5-libs (x86_64)
krb5-server
krb5-workstation
laus (x86_64)
laus-devel
lha
libcap
libcap-devel
libf2c
libgcc (i386)
libgcc (x86_64)
libgcj (i386)
libgcj (x86_64)
libgcj-devel
libgnat
libgtop2
libgtop2-devel
libobjc (i386)
libobjc (x86_64)
libpcap
libpng (i386)
libpng (x86_64)
libpng-devel
libpng10
libpng10-devel
libstdc++ (i386)
libstdc++ (x86_64)
libstdc++-devel (i386)
libstdc++-devel (x86_64)
lvm
mdadm
metacity
mkisofs
mod_auth_pgsql
mod_authz_ldap
mod_ssl
modutils
modutils-devel
ncompress
net-snmp
net-snmp-devel
net-snmp-perl
net-snmp-utils
nfs-utils
nptl-devel
nscd
nss_ldap (i386)
nss_ldap (x86_64)
ntp
ntsysv
openldap (i386)
openldap (x86_64)
openldap-clients
openldap-devel
openldap-servers
openmotif
openmotif-devel
openoffice.org
openoffice.org-i18n
openoffice.org-libs
openssl (i686)
openssl (x86_64)
openssl-devel
openssl-perl
pam (i386)
pam (x86_64)
pam-devel (i386)
pam-devel (x86_64)
parted
parted-devel
passwd
perl
perl-CGI
perl-CPAN
perl-DB_File
perl-suidperl
php
php-devel
php-imap
php-ldap
php-mysql
php-odbc
php-pgsql
popt (i386)
popt (x86_64)
postfix
ppp
prelink
procps
pvm
pvm-gui
qt
qt-MySQL
qt-ODBC
qt-PostgreSQL
qt-designer
qt-devel
rdist
readline
readline-devel
redhat-config-bind
redhat-config-kickstart
redhat-config-network
redhat-config-network-tui
redhat-config-proc
redhat-config-securitylevel
redhat-config-securitylevel-tui
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
rhnlib
rhpl
rp-pppoe
rpm
rpm-build
rpm-devel
rpm-python
rpmdb-redhat
rsync
rusers
rusers-server
samba (i386)
samba (x86_64)
samba-client
samba-common
samba-swat
schedutils
sendmail
sendmail-cf
sendmail-devel
sendmail-doc
shadow-utils
squid
squirrelmail
strace
sysklogd
sysstat
tcl (i386)
tcl (x86_64)
tcl-devel
tcl-html
tcllib
tclx (i386)
tclx (x86_64)
tcpdump
tix
tk (i386)
tk (x86_64)
tk-devel
tux
unixODBC
unixODBC-devel
unixODBC-kde
up2date
up2date-gnome
utempter
vixie-cron
xemacs
xemacs-el
xemacs-info
xinetd
xscreensaver
ypserv
下列的套件已經新增到 Red Hat Enterprise Linux 3 Update 3 中:
amtu
anacron
authd
bash (i386)
bind-libs
bootparamd
bridge-utils (i386)
compat-db (i386)
crash
diskdumputils
eal3-certification
eal3-certification-doc
elfutils-libelf (i386)
evolution-connector
laus-libs (i386)
laus-libs (x86_64)
libcap (i386)
libcap-devel (i386)
ltrace
nss_db (i386)
nss_db (x86_64)
openmotif (i386)
openssl096b (i386)
qt-config
readline (i386)
strace (i386)
下列的套件已經從 Red Hat Enterprise Linux 3 Update 3 中移除:
crash
java-javadoc
laus (i386)
mozilla (i386)
mozilla-nspr (i386)
mozilla-nss (i386)
( x86-64 )