紅帽企業 Linux AS 4 的改進
Copyright ? 2005 Red Hat, Inc.
介紹
本文檔中涉及了與 紅帽企業 Linux 4 相關的以下課題:
·介紹(此節)
·此發行版本簡介
·與安裝相關的備注
·特定軟件包備注
·新添加/不再包括/已過時的軟件包
此發行版本簡介
以下簡要介紹了 紅帽企業 Linux 4 的主要功能
·紅帽企業 Linux 4 包括了一個 SELinux 的實現。SELinux 代表了用戶,程序以及進程間相互交流的主要變化。在這個發行版本中,SELinux 被默認安裝並被開啟使用。
備注
在安裝的過程中,您可以選擇禁用 SELinux,或是設置它只記錄警告信息,或是使用它的只在以下守護進程中有效的目標化策略:
odhcpd
ohttpd
omysqld
onamed
onscd
ontpd
oportmap
opostgres
osnmpd
osquid
osyslogd
目標化策略在默認的情況下被啟用。
警告
紅帽企業 Linux 4 使用在 ext2/ext3 文件系統上的擴展屬性來支持 SELinux。這就意味著,當一個文件被寫到默認掛載的 ext2/ext3 文件系統中時,一個擴展的屬性也會被寫入。
當系統有 紅帽企業 Linux 4 和 紅帽企業 Linux 2.1 雙重啟動的時候,這就可能會產生一些問題。紅帽企業 Linux 2.1 內核不支持文件的擴展屬性,當它遇到文件的擴展屬性時,系統可能會崩潰。
想要了解關於 SELinux 的更多信息,請參閱 Red Hat SELinux Policy Guide。Red Hat SELinux Policy Guide 可以在這裡找到:
http://www.redhat.com/docs/
·在 NFS 掛載時,mount 命令已被改變:
· TCP 是 NFS 掛載時的默認傳輸協議。這就意味著 mount 命令不再使用 UDP (例如,mount foo:/bar /mnt),而是使用 TCP 來與服務器進行通信。
· 使用 verbose (-v) 選項使 RPC 的錯誤信息寫到標准的輸出上。
·在默認的情況下,紅帽企業 Linux 4 支持 UTF-8 編碼的中文,日文和韓文。
·在默認的情況下,紅帽企業 Linux 4 使用 IIIMF 輸入中文,日文和韓文。
·紅帽企業 Linux 4 提供了五種印度語的支持:班加羅而語,古吉拉特語,印地語,旁遮普語和泰米爾語。此外,它還包括了為所支持的語言提供的高質量的 Lohit 字庫。
·Subversion 1.1 現在被包括在 紅帽企業 Linux 中,Subversion 版本控制系統是被用來替代 CVS 的。它提供了 atomic commits,文件,目錄和元數據 (metadata) 的版本控制等新功能以及 CVS 所提供的大部分功能。
·紅帽企業 Linux 3 包括 Native POSIX Thread Library (NPTL),它是 Linux 的 POSIX 線程的新實現。與以前使用的 LinuxThreads 實現相比較,它大大提高了性能並增加了可縮放性。
雖然多數的線程應用程序不會受到 NPTL 的影響,但是那些倚賴 LinuxThreads 語意 (semantics) 而不是 POSIX 技術規范的應用程序可能不會正常運行。因此 Red Hat 推薦您把這些程序升級使它們遵循 POSIX 的技術規范(從而可以使用 NPTL)。
雖然 紅帽企業 Linux 4 仍然提供對 LinuxThreads 的支持,但是 紅帽企業 Linux 5 將不再包括對 LinuxThreads 的支持。因此,那些需要 LinuxThreads 支持的應用程序應該被升級,從而可以使它們在將來的 紅帽企業 Linux 5 系統上運行。
備注
一些方法可以使需要使用 LinuxThreads 的應用程序仍然可以在 紅帽企業 Linux 3 和 4 上運行。這些方法包括:
o使用 LD_ASSUME_KERNEL 環境變量來在運行時選擇 LinuxThreads 而不是選擇 NPTL
o在運行時,使用一個指向 /lib/i686/ 或 /lib/的 rpath 來選擇 LinuxThreads 而不是選擇 NPTL。
o使用靜態方法來鏈接應用程序,使它使用 LinuxThreads 來代替 NPTL(不建議這麼使用)
為了決定一個應用程序是使用 NPTL 還是使用 LinuxThreads,在應用程序的環境中加入如下兩個環境變量:
LD_DEBUG=libs
LD_DEBUG_OUTPUT=<filename>
(這裡的 <filename> 是提供給每個糾錯輸出記錄文件的名字。如果一個程序產生了多個進程,多個文件就可能被產生;所有的糾錯輸出記錄文件名都包括產生這個文件的進程的進程 ID (PID))
然後啟動這個程序,和通常的情況下一樣使用它。
如果沒有糾錯輸出記錄文件被產生,這個應用程序就被靜態地鏈接。這個應用程序將不會受到丟失的 LinuxThreads DSO 的影響。但是,象所有靜態鏈接的程序一樣,它們不能保證程序在動態加載任何代碼的時候(直接通過 dlopen() 或間接通過 NSS)都可以正常工作。
如果一個或多個糾錯輸出記錄文件被產生,檢查每一個 libpthread 相關的文件 — 特別是包括 "calling init" 的行。grep 可以幫助來做這項工作:
grep "calling init.*libpthread" <filename>.*
(這裡的 <filename> 是在 LD_DEBUG_OUTPUT 環境變量中使用的名字。)
如果 libpthread 前面的路徑是 /lib/tls/,這個應用程序使用 NPTL,並且不需做任何事情。其它任何的路徑都說明 LinuxThreads 在被使用,這個應用程序必須被升級並重新構建來支持 NPTL。
·紅帽企業 Linux 4 現在包括對 Advanced Configuration and Power Interface (ACPI) 的支持。ACPI 是一個被大多數新硬件支持的通用的電源管理技術規格。
由於支持和不支持 ACPI 的系統會為硬件分配不同的順序,這就可能導致潛在的設備名改變的可能。例如,一個在以前版本的 紅帽企業 Linux 中名為 eth1 的網卡可能會在新版本的系統中名為 eth0。
與安裝相關的備注
本節概述了與 Anaconda(紅帽企業 Linux 安裝程序)和安裝 紅帽企業 Linux 4 相關的問題。
·如果您要復制 紅帽企業 Linux 4 光盤的內容(例如為了籌備網絡安裝),請確定僅復制操作系統光盤。請不要復制額外光盤或任何層次產品光盤,因為這會覆蓋 Anaconda 正常操作所必需的文件。
這些光盤必須在安裝了紅帽企業 Linux 之後才被安裝。
·在安裝 紅帽企業 Linux 4 時,從包含有多個存儲設備試配器的系統配置文件中區分單個存儲設備是比較困難的。特別是當系統中包括光纖設備試配器的時候,因為在多數情況下,紅帽企業 Linux 是安裝在本地存儲設備中的。
為了解決這個問題,紅帽企業 Linux 4 安裝程序只在所有的 SCSI 設備被加載後才加載如下的模塊:
olpfc
oqla2100
oqla2200
oqla2300
oqla2322
oqla6312
oqla6322
這就使本地連接的 SCSI 設備的名字是從 /dev/sda, /dev/sdb 開始的。使用光纖的存儲設備的名字跟在這些本地 SCSI 設備名的後面。
軟件包相關的注記
以下的小節包括了那些在 紅帽企業 Linux 4 中已經被大大改變的軟件包的信息。為了方便查閱,它們使用的組與 Anaconda 使用的相同。
基本
本節包含了關於基本系統組件的信息。
openssh
紅帽企業 Linux 4 提供了 OpenSSH 3.9。OpenSSH 3.9 包括了對 ~/.ssh/config 文件的嚴格的權限和所有者權限的檢查。這些檢查使得當這個文件沒有適當的所有者權限和訪問權限時, ssh 會退出。
因此,確保 ~/.ssh/config 是被 ~/ 的所有者所擁有,並且它的存儲權限被設置為 600。
核心
本節涉及與 紅帽企業 Linux 的基礎組件(包括內核)相關的問題。
e2fsprogs
ext2online 工具被添加用來在線地擴大已存在的 ext3 文件系統。
備注
需要注意的是,ext2online 並不能擴大它所在的塊設備本身 — 一定要有足夠的未被使用的空間在這個設備上。最簡單的方法是使用 LVM 卷並運行 lvresize 或 lvextend 來擴展這個設備。
另外,文件系統一定要在實際改變大小之前做好准備。這些准備包括,為 on-disk 分區表的增加保留一個小的空間。對於新建的文件系統, mke2fs 會自動保留這樣的空間。這個保留的空間應該足夠文件系統增加 1000。如下命令可以禁用建立保留空間的功能:
mke2fs -O ^resize_inode
以後的 紅帽企業 Linux 發行版本會允許在存在的文件系統上建立這個預留空間。
glibc
·紅帽企業 Linux 4 提供的 glibc 可以執行附加的內部數據健全檢查,從而在盡可能早的時候發現和保護數據被破壞。在默認的情況下,當被破壞的數據被發現時,與以下相似的錯誤信息會被顯示在標准的錯誤輸出上(如果 stderr 沒有打開,會被記錄在 syslog 中):
*** glibc detected *** double free or corruption: 0x0937d008 ***
在默認的情況下,產生這個錯誤的程序也會被中止。但是,這(以及是否產生錯誤信息)可以通過環境變量 MALLOC_CHECK_ 來控制。以下的設置是被支持的:
o0 — 不產生錯誤信息,也不中止這個程序
o1 — 產生錯誤信息,但是不中止這個程序
o2 — 不產生錯誤信息,但是中止這個程序
o3 — 產生錯誤信息,並中止這個程序
備注
如果 MALLOC_CHECK_ 被設置為除 0 以外的值,這會使 glibc 進行更多的檢查並可能影響到系統的性能。
如果您的由第三方 ISV 提供的程序會引發這些數據破壞檢查並顯示錯誤信息,您應該向這個程序的提供者提交一個錯誤報告,因為它代表了一個嚴重的錯誤。
內核
本節涉及與紅帽企業 Linux 4 內核相關的問題。
·紅帽企業 Linux 4 包括一個叫做 hugemem 的新內核。這個內核支持每進程 4GB 用戶空間(其它內核只支持 3GB)和 4GB 直接內核空間。使用這個內核允許 紅帽企業 Linux 在擁有大至 64GB 主內存的系統上運行。一般來說,配置了 16GB 內存以上的系統需要 hugemem。使用較少內存的環境也可以從這個內核中獲益,特別是在運行能夠從較大的用戶空間中獲益的應用程序的時候。
備注
注意:要為內核和用戶空間提供 4GB 地址空間,內核中必須保持兩個分開的虛擬地址映射圖。這會給用戶和內核空間的轉換帶來些額外的系統開銷,例如在系統調用和中斷的時候。這些額外的系統開銷對整體性能的影響在很大程度上要依據應用程序而定。
如果您要安裝 hugemem 內核,在引導提示後鍵入以下命令:
rpm -ivh <kernel-rpm>
(這裡的 <kernel-rpm> 是 hugemem 內核 RPM 文件的名稱 —例如,kernel-hugemem-2.6.9-1.648_EL.i686.rpm)
安裝完成後,重新引導您的系統,請確定選擇新安裝的 hugemem 內核。測試了這個使用 hugemem 內核的系統能夠正確運行後,您應該修改 /boot/grub/grub.conf 文件來默認引導 hugemem 內核。
·雖然 紅帽企業 Linux 4 包括對 rawio 的支持,但它已是一個過時的接口。如果您的應用程序使用這種接口,Red Hat 建議您改變您的應用程序,使它們通過 O_DIRECT 標志來打開塊設備。rawio 接口會在當前的 紅帽企業 Linux 4 中存在,但是它有可能會不再被包括在以後的發行版本中。
文件系統的異步 I/O(AIO)當前只支持 O_DIRECT 或是非緩沖的模式。另外,異步拉 (asynchronous poll) 接口已不再出現,管道 (pipes) AIO 也不再被支持。
·現在的聲音子系統是基於 ALSA 的,OSS 模塊已不再有效。
·當系統環境使用內核的 "hugepage" 功能時,一件事情應該被注意,控制這個功能的 /proc/ 名稱在 紅帽企業 Linux 3 和 紅帽企業 Linux 4 中是不同的。
o紅帽企業 Linux 3 使用 /proc/sys/vm/hugetlb_pool,設定的大小是以兆字節 (megabyte) 為單位的。
o紅帽企業 Linux 4 使用 /proc/sys/vm/nr_hugepages,設定的大小是以頁 (page) 的數量為單位的。(請參閱 /proc/meminfo)
·紅帽企業 Linux 4 提供的內核包括了對增強磁盤設備 - Enhanced Disk Device (EDD) 的拉支持。增強磁盤設備拉是直接從磁盤控制器 BIOS 中查詢可啟動磁盤設備的信息,並把它存儲為 /sys 文件系統中的一個記錄項。
兩個與 EDD 相關的重要的內核命令行選項已被添加:
oedd=skipmbr — 當有其它調用在從磁盤控制器查詢信息時,禁用對磁盤讀的 BIOS 調用。當系統 BIOS 報告的磁盤數量多於實際系統中的磁盤數量時,可以使用這個選項。這將會導致在加載內核時的一個 15 到 30 秒的延遲。
oedd=off — 禁用所有與 EDD 相關的對磁盤控制器 BIOS 的調用。
·雖然 紅帽企業 Linux 4 的初始發行版本不支持 USB 硬盤設備,但是其它的 USB 存儲設備(如閃存介質,CD-ROM 和 DVD-ROM 設備)當前被支持。
·紅帽企業 Linux 4 所帶的內核包括了由 LSI Logic 提供的 megaraid_mbox 驅動。這個驅動是替代 megaraid 驅動的。megaraid_mbox 驅動有一個設計方面的改進,它與 2.6 內核相兼容並包括對最新硬件的支持。但是,megaraid_mbox 不支持一些被 megaraid 驅動支持的老的硬件設備。
megaraid_mbox 驅動不支持具有以下 PCI 廠商 ID 和 設備 ID 的試配器:
vendor, device
0x101E, 0x9010
0x101E, 0x9060
0x8086, 0x1960
lspci -n 命令可以被用來顯示一台特定機器上所安裝的試配器 ID。具有這些 ID 的產品型號名是(但並不只限於這些型號):
oDell PERC (dual-channel fast/wide SCSI) RAID 控制器
oDell PERC2/SC (single-channel Ultra SCSI) RAID 控制器
oDell PERC2/DC (dual-channel Ultra SCSI) RAID 控制器
oDell CERC (four-channel ATA/100) RAID 控制器
oMegaRAID 428
oMegaRAID 466
oMegaRAID EXPress 500
oHP NetRAID 3Si 和 1M
Dell 和 LSI Logic 已經聲明他們不再在 2.6 內核中支持這些設備。因此,紅帽企業 Linux 4 不提供對這些試配器的支持。
·紅帽企業 Linux 4 的初始發行版本不包括對 iSCSI 軟件 initiator 或 target 的支持。對 iSCSI 的支持正處於測試階段,測試的結果將決定對 iSCSI 的支持是否會被包括在以後的 紅帽企業 Linux 4 升級產品中。
·eMulex LightPulse 光纖通道驅動器 (lpfc) 正在被測試是否可能被包括在 Linux 2.6 內核中。它被包括在 紅帽企業 Linux 4 中用於測試的目的。這個驅動程序很可能被修改。如果這個驅動程序有問題,或是它將不再包括在 Linux 2.6 內核中,最終的 紅帽企業 Linux 發行版本可能將不提供這個驅動程序。
lpfc 驅動程序有如下的已知錯誤:
o當短期的 cable pull, 交換機重啟或是設備消失的時候,驅動程序不會隔離系統。因此,系統可能會過早地認為一個設備已不存在而把它離線。在這種情況下,手工地重新激活這個設備從而使系統可以使用它是需要的。
o當這個驅動程序被 insmod 插入時,如果按 Ctrl-C 可能會導致錯誤。
o在 insmod 仍在運行時運行 rmmod 可能會導致錯誤。
o為了使 SCSI 子系統可以檢測到這個新設備,它的插入需要被手工地搜索。
·過去,升級內核的過程不會改變系統的啟動裝載配置中的默認內核。
紅帽企業 Linux 4 改變了這種情況。它把最新安裝的內核設置為默認的內核。這種情況在所有的安裝方法中都有效(包括 rpm -i)
這個行為被 /etc/sysconfig/kernel 文件中的兩行所控制:
oUPGRADEDEFAULT — 控制新內核是否在默認的情況下被啟動 (默認值: yes)
oDEFAULTKERNEL — 名為這個值的內核 PRM 將在默認的情況下啟動(默認值:取決於硬件的配置)
·當內核源碼已經存在在內核的 .src.rpm 文件中時,為內核源碼提供一個獨立的軟件包就變得沒有必要。因此,紅帽企業 Linux 4 不再包括 kernel-source 軟件包。需要這些內核源碼的用戶可以在 kernel .src.rpm 文件中找到。通過這個文件建立一個快速擴展的資源樹,執行以下的步驟 (注意 <version> 是指您當前正在使用的內核版本)
1.從以下資源中的一個獲取 kernel-<version>.src.rpm 文件:
o適當的 "SRPMS" 光盤 iso 映像的 SRPMS 目錄
o您得到內核軟件包的 FTP 站點
o通過運行以下命令:
up2date --get-source kernel
2.安裝 kernel-<version>.src.rpm (提供默認的 RPM 配置,這個軟件包包括的文件將被寫到 /usr/src/redhat/)
3.改變目錄到 /usr/src/redhat/SPECS/,運行以下命令:
rpmbuild -bp --target=<arch> kernel.spec
(這裡的 <arch> 是所要被安裝的機器的體系)
在默認的 RPM 配置中,內核樹會位於 /usr/src/redhat/BUILD/。
4.在結果樹中,紅帽企業 Linux 4 所帶內核的配置信息在 /configs/ 目錄中。例如:i686 SMP 配置文件的名字為 /configs/kernel-<version>-i686-smp.config。使用以下命令來把適當的配置文件放置到適當的目錄中:
cp <desired-file> ./.config
5.運行以下命令:
make oldconfig
·您可以恢復到通常的情況。
·備注
·一個快速擴展的資源樹不需要重新構建內核模塊。
·例如,創建 foo.ko 模塊,在包含 foo.c 文件的目錄中建立名為 Makefile 的文件:
·obj-m := foo.o
·KDIR := /lib/modules/$(shell uname -r)/build
·PWD := $(shell pwd)
·default:
· $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
·
·運行 make 命令來構建 foo.ko 模塊。
sysklogd
在默認的 SELinux 安全配置中,這個守護進程是被 targeted 策略所規定的。它通過設定這個守護進程所需使用的系統目標的訪問權限來提高系統的安全性。但是,這可能導致您以前可以運行的配置不再能夠正常地工作。您必須對 SELinux 有足夠的了解,從而達到可以使您的系統正常運行,又可以提高您系統安全性的目的。
如需了解更多關於 SELinux 策略的信息,請參閱 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文檔。
DNS 名稱服務器
本節包含關於 DNS 名稱服務器的信息。
bind
在默認的 SELinux 安全配置中,這個守護進程是被 targeted 策略所規定的。它通過設定這個守護進程所需使用的系統目標的訪問權限來提高系統的安全性。但是,這可能導致您以前可以運行的配置不再能夠正常地工作。您必須對 SELinux 有足夠的了解,從而達到可以使您的系統正常運行,又可以提高您系統安全性的目的。
如需了解更多關於 SELinux 策略的信息,請參閱 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文檔。
開發工具
本節包含關於核心開發工具的信息。
memprof
由於和當前版本的 C 語言庫和工具鏈不能正確地在一起工作, memprof 內存檔案和洩漏檢查工具不再包括在 紅帽企業 Linux 4 中。memcheck 和 massif 以插件的形式出現在 valgrind 中。
圖形化互聯網
這節包括了幫助您浏覽互聯網的軟件包,包括圖形化的電子郵件,萬維網浏覽器和聊天室。
evolution
·紅帽企業 Linux 4 提供了一個升級的圖形化的 Evolution 電子郵件客戶端程序。這個新版本增加了一些新功能,包括:
o新版的 Evolution 包括了一個具有學習功能的垃圾郵件過濾器。這個過濾器可以更有效地區分垃圾郵件和非垃圾郵件。當您收到垃圾郵件,點擊 Junk 按鈕。定期查看您的垃圾郵件目錄,檢查其中是否有被錯誤地當成垃圾郵件的非垃圾郵件。如果有,把它們標記為 Not Junk。通過這些行動,垃圾郵件過濾器就會逐漸變得非常的有效。
oEvolution Connector 可以使您與 Microsoft Exchange 2000 和 2003 服務器連接。
o用戶界面已被大大改進,每一種操作(電子郵件,日歷,任務和聯系人)都被分開處理,改變了以前以服務器為中心的形式。
oEvolution 提供了增強的加密和數字簽名的功能,包括使用 S/MIME。
oEvolution 通過把它的設置文件名從 ~/evolution/ 改為 ~/.evolution/,達到對最終用戶隱藏這個文件的目的。
圖形
這節包括了幫助你處理和掃描圖像的軟件包。
gimp
·因為 GIMP 已經被升級到 2.0,Perl bindings 已不再是主軟件包的一部分, gimp-perl 不再被包括在 紅帽企業 Linux 4 中。
在 GIMP 中使用 Perl 腳本的用戶應該從 http://www.gimp.org/downloads/ 上得到 Gimp Perl 模塊並安裝。
語言支持
本節包含關於 紅帽企業 Linux 對多語言支持的信息:
對中文,日文和韓文的 UTF-8 支持
當系統從 紅帽企業 Linux 3 升級到 紅帽企業 Linux 4 時,系統的本地化設置被保留了。因為在默認的情況下,紅帽企業 Linux 4 支持中文,日文和韓文的 UTF-8 碼,Red Hat 建議您通過編輯如下的文件來使用 UTF-8 碼:
/etc/sysconfig/i18n
通過以下的改變來修改系統的本地化設置:
·ja_JP.eUCJP 變為 ja_JP.UTF-8
·ko_KR.eucKR 變為 ko_KR.UTF-8
·zh_CN.GB18030 變為 zh_CN.UTF-8
·zh_TW.Big5 變為 zh_TW.UTF-8
使用在 ~/.i18n 中的本地化設置的用戶應該在默認的情況下升級到使用 UTF-8 碼。
iconv 工具可以被用來把使用原始編碼(例如 eucJP, eucKR, Big5, or GB18030)的文件轉換成為UTF-8 編碼:
iconv -f <native encoding> -t UTF-8 <filename> -o <newfilename>
如需更多信息,請查看 iconv 說明書頁 (man page)。
IIIMF
默認的中文(簡體和繁體),日文和韓文的輸入法已經被改為 IIIMF — Internet/Intranet Input Method Framework。 IIIMF 還被默認用來輸入印度語。GTK2 IM 模塊支持 IIIMF,XIM 通過使用 httx 客戶也支持 IIIMF。IIIMF 支持同時使用多個語言引擎(language Engines - LEs),通過使用 GNOME Input Method Language Engine Tool (GIMLET — 一個小程序插件),可以在GTK2 的應用程序中切換不同的語言引擎。
IIIMF 在默認的情況下,通過使用 Ctrl-Space 或 Shift-Space 來激活/關閉該輸入法(Emacs 用戶使用 Ctrl-@ 代替 Ctrl-Space)
根據您在安裝時所選擇的語言,一個或多個 IIIMF 語言引擎會被安裝。
·印度語 — iiimf-le-unit
·日語 — iiimf-le-canna
·韓語 — iiimf-le-hangul
·簡體中文 — iiimf-le-chinput
·繁體中文 — iiimf-le-xcin
對於這些語言,IIIMF 在默認的情況下被安裝並被啟動。
當 GNOME 桌面被安裝,並且默認的語言是以上提到的語言之一,新用戶的 GNOME 面板中會被自動加入 GIMLET 程序插件(iiimf-gnome-im-switcher 軟件包的一部分)。
GIMLET 是一個安裝在系統上的用於切換不同語言引擎的小程序插件。使用不同的語言引擎可以使您輸入不同的語言。通過右擊 GNOME 面板,選擇 Add to panel...,再選擇 InputMethod Switcher 程序插件,可以手工地把 GIMLET 添加到您的 GNOME 面板上。
如果您已經安裝了一些老的 XIM 輸入法,Anaconda 會自動地安裝相應的語言引擎:
·ami 導致 iiimf-le-hangul 被安裝
·kinput2 導致 iiimf-le-canna 被安裝
·miniChinput 導致 iiimf-le-chinput 被安裝
·xcin 導致 iiimf-le-xcin 被安裝
對於那些不是總需要使用 IIIMF 的用戶,一個對通常的輸入不產生影響的叫做 "Latin default" 的語言引擎被提供。它可以被臨時用來禁用其它語言引擎。
以下描述了每個不同的語言引擎的特殊鍵組合。
iiimf-le-canna — Home (顯示 菜單,包括對 Canna 的應用程序)
iiimf-le-unit — F5 (切換 不同的語言), F6 (切換不同的輸入風格)
iiimf-le-xcin — Ctrl-Shift (切換不同的輸入風格), Shift-punctuation (輸入全角標點), Cursor keys (在打開的窗口中改變頁)
iiimf-le-chinput — Ctrl-Shift (切換不同的輸入風格), < 或 > (在打開的窗口中改變頁)
iiimf-le-hangul — F9 (把 Hangul 轉換成中文字符)
輸入法設置
使用 system-switch-im 應用程序可以在 IIIMF 和老的 XIM 輸入法間切換。還有一個命令行工具 im-switch 用來改變用戶和系統的設置。
紅帽企業 Linux 4 還使用 /etc/X11/xinit/xinput.d/ 和 ~/.xinput.d/ 來為不同語言的用戶設置輸入法。那些使用在默認的情況下(例如,en_US.UTF-8)不被使用的輸入法的用戶,如果需要輸入亞洲字符,應該在 shell 的中輸入以下命令:
mkdir -p ~/.xinput.d/
ln -s /etc/X11/xinit/xinput.d/iiimf ~/.xinput.d/en_US
這將覆蓋系統的默認設置並使用 IIIMF 來做為美國英語的輸入法。對於其它語言的用戶,使用適當的語言名稱來代替這裡的 en_US。
從 紅帽企業 Linux 3 升級的用戶應該注意到,/etc/sysconfig/i18n 和 ~/.i18n 不再被用於輸入法的設置。任何用戶定制的配置需要被移到相關的 /etc/X11/xinit/xinput.d/ 或 ~/.xinput.d/.
當您再次啟動一個 X 窗口系統時,您對輸入法設置的改變就會生效。
郵件服務器
本節包含關於 紅帽企業 Linux 提供的郵件傳輸代理的信息。
mailman
較早的 mailman RPMs 在 /var/mailman/ 的目錄下安裝所有的文件。不幸的是,這與 Filesystem Hierarchy Standard (FHS) 不一致,而且在 SELinux 啟動時會破壞安全性。
如果您在以前安裝了 mailman 並編輯了 /var/mailman/中的文件(如mm_cfg.py),您必須按照如下的方法把這些改變存到新的位置:
/usr/share/doc/mailman-*/INSTALL.REDHAT
sendmail
·默認情況下,Sendmail 郵件傳輸代理(MTA)不接受來自本地計算機以外的主機的網絡連接。如果您想把 Sendmail 配置成其它客戶的服務器,請編輯 /etc/mail/sendmail.mc,並把 DAEMON_OPTIONS 行改變成監聽網絡設備(或者使用 dnl 來注釋掉該選項)。然後您必須運行下面的命令(以根身份)來重新生成 /etc/mail/sendmail.cf:
make -C /etc/mail
注意,您必須安裝了 sendmail-cf 軟件包才能使上面的命令奏效。
備注
請注意,不正確的 Sendmail 配置可能會被當做開放的 SMTP 轉發服務器使用。關於詳細的信息,請參閱 紅帽企業 Linux Reference Guide。
MySQL 數據庫
MySQL(多用戶,多線程的客戶機/服務器數據庫)已經從版本 3.23.x(這個版本被包括在 紅帽企業 Linux 3 中)升級到版本 4.1.x。新版本的 MySQL 具有以下在速度,功能及可用性方面的改進:
·子查詢 (subquery) 的支持
·非結構化查詢的 BTREE 索引
·使用 SSL 連接的安全數據庫復制
·通過使用 utf-8 和 ucs-2 字符集的 Unicode 支持
用戶應該注意,當把 3.23.x 版 MySQL 升級到 4.1.x 版時,應用程序和數據庫可能會出現兼容性的問題。一個已知的問題是默認的時間戳會改變。為了解決這個問題,mysqlclient10 軟件包被提供。這個軟件包用來為 3.23.x 客戶端庫 (libmysqlclient.so.10) 提供一個和與它們相連的應用程序的二進制兼容。
備注
雖然 mysqlclient10 軟件包提供了對 MySQL 4.1.x 服務器兼容性的支持,但它不支持 MySQL 4.1.x 引進的新的口令加密方法。為了與老的 MySQL 3.x 客戶程序兼容,/etc/my.cnf 配置文件中的 old_passWords 參數在默認的情況下開啟。如果不需要與老版本客戶程序的兼容,可以通過禁用這個參數來改進口令加密的方法。
mysql-server
在默認的 SELinux 安全配置中,這個守護進程是被 targeted 策略所規定的。它通過設定這個守護進程所需使用的系統目標的訪問權限來提高系統的安全性。但是,這可能導致您以前可以運行的配置不再能夠正常地工作。您必須對 SELinux 有足夠的了解,從而達到可以使您的系統正常運行,又可以提高您系統安全性的目的。
如需了解更多關於 SELinux 策略的信息,請參閱 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文檔。
網絡服務器
本節包含關於不同的基於網絡的服務器信息。
dhcp
在默認的 SELinux 安全配置中,這個守護進程是被 targeted 策略所規定的。它通過設定這個守護進程所需使用的系統目標的訪問權限來提高系統的安全性。但是,這可能導致您以前可以運行的配置不再能夠正常地工作。您必須對 SELinux 有足夠的了解,從而達到可以使您的系統正常運行,又可以提高您系統安全性的目的。
如需了解更多關於 SELinux 策略的信息,請參閱 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文檔。
服務器設置工具
本節包含關於不同服務器設置工具的信息。
system-config-lvm
紅帽企業 Linux 4 提供了一個圖形化的 Logical Volume Manager (LVM) 配置工具 - system-config-lvm。system-config-lvm 允許用戶為本地的物理磁盤和磁盤分區建立卷組群。它使得被創建的邏輯卷非常靈活,可擴展,並可以讓系統象使用普通的物理磁盤一樣使用這個邏輯卷。
system-config-lvm 使用圖形來代表系統的磁盤和卷。這可以幫助用戶更直觀地查看存儲設備的使用情況並為卷的管理任務提供了一個界面。
如果需要關於 system-config-lvm 和 LVM 的相關討論,您可以通過這個 URL 來加入到 linux-lvm 的郵件列表:
https://www.redhat.com/mailman/listinfo/linux-lvm
system-config-securitylevel
被 system-config-securitylevel 配置工具建立的防火牆現在允許 CUPS 和 Multicast DNS (mDNS) 浏覽。請注意,當前這些服務還不能使用 system-config-securitylevel 來禁用。
萬維網服務器
本節包含關於用於萬維網服務器環境中的軟件的信息。
httpd
·在默認的 SELinux 安全配置中,httpd 被 targeted 策略所控制。它通過設定允許或拒絕 httpd 對系統的訪問來增加系統的安全性和萬維網服務器的穩定性。但是,這可能導致以前可以正常工作的配置(例如使用 PHP)不再可以正常工作,您應該了解 SELinux 的工作原理來保證您的系統即安全又可以正常運行。
例如,通過設置一個布爾值來為 httpd 設置權限, httpd 就可以讀取在 ~/public_Html/ 中被標記為 httpd_sys_content_t 的項。Apache 守護進程不能訪問那些沒有被 SELinux 設定可以被 httpd 訪問的項(文件,應用程序,設備和其它進程)。
通過設置只允許 Apache 訪問它所需要的功能,系統可以避免被破壞或錯誤的 httpd 守護進程配置。
因為需要使用標准的 Linux 和 SELinux 的文件和目錄權限,管理員和用戶需要了解重新標記的文件。重新標記包括以下命令(一個是重新標記目錄的內容,一個是重新標記一個單一的文件):
chcon -R -h -t httpd_sys_content_t public_html
chcon -t httpd_sys_content_t public_html/index.html
如果一個文件或目錄沒有被標記為在 Apache 允許類型的列表中的類型時,將會產生一個 403 Forbidden 錯誤。
您可以使用 system-config-securitylevel 來設置布爾值或是禁用控制 Apache (或任何守護進程)的目標策略。在 SELinux 頁中的 Modify SELinux Policy 中,您可以為 Apache 修改布爾值。如果需要,您可以選擇 Disable SELinux protection for httpd daemon 來禁止 unconfined_t 到特定守護進程的轉換,如 httpd_t。禁用這個轉換將關閉 SELinux 對這個守護進程的管理,使它只具有標准的 Linux 安全性。
更多關於 Apache 和 SELinux 策略的信息, 請參閱http://www.redhat.com/docs 中的 Red Hat SELinux Policy Guide。
·在默認的情況下,httpd 守護進程使用 C locale,而不是使用被設置的系統的 locale。這可以通過修改 /etc/sysconfig/httpd 文件中的 HTTPD_LANG 變量來改變。
php
·默認的 /etc/php.ini 配置文件已經把過去使用的默認值 "development" 改為使用 "production" 為默認值。不同的地方是:
odisplay_errors 現在是關
olog_errors 現在是開
omagic_quotes_gpc 現在是關
這個軟件包現在使用 "apache2handler" SAPI 與 Apache httpd 2.0 集成,而不是使用 "apache2filter" SAPI。如果從以前的發行版本升級,SetOutputFilter 會被從 /etc/httpd/conf.d/php.conf 文件中刪除。
·PHP 擴展模塊軟件包有以下變化:
ogd, mbstring 和 ncurses 擴展已經被分別移到了php-gd, php-mbstring 和 php-ncurses 軟件包中。如果您是從以前的版本升級的,您需要手動安裝這些軟件包。
odomXML, snmp 和 xmlrpc 擴展現在分別在 php-domxml, php-snmp 和 php-xmlrpc 軟件包中。
squid
在默認的 SELinux 安全配置中,這個守護進程是被 targeted 策略所規定的。它通過設定這個守護進程所需使用的系統目標的訪問權限來提高系統的安全性。但是,這可能導致您以前可以運行的配置不再能夠正常地工作。您必須對 SELinux 有足夠的了解,從而達到可以使您的系統正常運行,又可以提高您系統安全性的目的。
如需了解更多關於 SELinux 策略的信息,請參閱 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文檔。
X 窗口系統
本節包含關於 紅帽企業 Linux 提供的 X 窗口系統實現的信息。
xorg-x11
·紅帽企業 Linux 4 包括新的 xorg-x11-deprecated-libs 軟件包。這個軟件包包括了 X11 相關的庫函數。這些庫函數已經過時並將不再包括在以後的 紅帽企業 Linux 版本中。為了使第三方的軟件提供者可以有足夠的時間來把使用這些庫函數的應用程序進行修改,與這些程序二進制兼容的應用還被在這個版本中所維護。
當前,這個軟件包包括 Xprint 庫函數 (libXp)。新的應用程序不應該再使用這個庫。當前在使用這個庫的應用程序應該升級到使用支持 libgnomeprint/libgnomeprintui 打印的 APIs.
·用戶對當前的 紅帽企業 Linux X 窗口系統中與字體相關的問題可能會有一些混淆。當前,存在兩個字體子系統,它們具有不同的特性:
- "核心 X 字體子系統" 是原始的(多於15年)子系統。被這個子系統處理的字體不是抗鋸齒的。它被 X 服務器所處理,名字類似:
-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
新的字體子系統被稱為“fontconfig”。它允許應用程序直接使用字體文件。fontconfig 經常與“Xft”庫一起使用,這會允許應用程序在屏幕上繪制平滑字體。fontconfig 使用的名稱更有“人情味兒”,它們類似:
Luxi Sans-10
隨著時間的推移,fontconfig/Xft 將會取代核心 X 字體子系統。目前,使用 Qt 3 或 GTK 2 工具包(包括 KDE 和 GNOME 應用程序)的應用程序使用 fontconfig 和 Xft 字體子系統;其它程序多數使用核心 X 字體。
紅帽企業 Linux 將來可能會僅支持 fontconfig/Xft 作為默認的本地字體存取方法來取代 XFS 字體服務器。
注意:以上列出的字體子系統的使用有一個例外:OpenOffice.org 使用它自己的字體繪制技術。
如果您想給您的紅帽企業 Linux 4 系統添加新字體,根據使用新字體的字體子系統而定,您必須明確所需步驟。對於核心 X 字體子系統,您必須:
1. 創建 /usr/share/fonts/local/ 目錄(如果它不存在):
mkdir /usr/share/fonts/local/
2. 把新字體文件復制到 /usr/share/fonts/local/ 中
3. 使用以下命令來更新字體信息(注意,由於格式限制,以下行並不以一行形式出現,但是在實際使用中,它應該在一行內輸入):
ttmkfdir -d /usr/share/fonts/local/ -o /usr/share/fonts/local/fonts.scale
mkfontdir /usr/share/fonts/local/
4. 如果您必須要創建 /usr/share/fonts/local/,您就必須把它添加到 X 字體服務器(xfs)的路徑中:
chkfontpath --add /usr/share/fonts/local/
把新字體添加到 fontconfig 字體子系統比較簡單明了;只需把新字體復制到 /usr/share/fonts/ 目錄中即可(個體用戶可以把新字體復制到 ~/.fonts/ 目錄中來修改他們的個人字體配置)。
復制了新字體後,使用 fc-cache 來更新字體信息緩存:
fc-cache <Directory>
(這裡的 <directory> 應該是 /usr/share/fonts/ 或 ~/.fonts/ 目錄。)
個體用戶還可以圖形化地安裝字體。方法是:在 Nautilus 中浏覽 fonts:///,然後把新字體文件拖放到那裡。
注意:如果字體文件名以“.gz”結尾,這表明它使用 gzip 被壓縮,因而必須使用 gunzip 來解壓後,fontconfig 字體子系統才能使用這個字體。
·鑒於向基於 fontconfig/Xft 的新字體系統的轉換,GTK+ 1.2 應用程序將不會被「字體首選項」對話框中做出的改變所影響。對於這些應用程序,字體可以通過在 ~/.gtkrc.mine 文件中添加以下幾行來配置:
style "user-font" {
fontset = "<font-specification>"
}
widget_class "*" style "user-font"
(這裡的 <font-specification> 代表被傳統的應用程序使用的字體規定,如“-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*”。)
其它注記
本節包含關於不屬於以前介紹的任何類別的軟件包的信息。
compat-db
C++ 和 TCL 綁定庫不再包含在 compat-db 軟件包中。需要使用這些綁定的應用程序必須指向當前的 DB 庫。
lvm2
本節包含關於 lvm2 軟件包的信息。
·一個完整的 LVM2 命令被安裝在 /usr/sbin/。在 /usr/ 還無效的啟動環境中,每個命令前需要加上 /sbin/lvm.static(例如,/sbin/lvm.static vgchange -ay)。
在 /usr/ 有效的環境中,不再需要在每個命令前加 lvm (例如,/usr/sbin/lvm vgchange -ay 變為 /usr/sbin/vgchange -ay)。
·新的 LVM2 命令(例如,/usr/sbin/vgchange -ay 和 /sbin/lvm.static vgchange -ay)會檢測您是否在運行 2.4 內核。如果是,它會調用舊的 LVM1 命令。LVM1 已經被改為以 ".lvm1" 結尾(例如,/sbin/vgchange.lvm1 -ay)。
備注
LVM1 命令只能在 2.4 內核上工作。當運行 2.6 內核時,不能使用 LVM1 命令。
關於更多關於 LVM2 的信息,請參閱 /usr/share/doc/lvm2*/WHATS_NEW
net-snmp
在默認的 SELinux 安全配置中,這個守護進程是被 targeted 策略所規定的。它通過設定這個守護進程所需使用的系統目標的訪問權限來提高系統的安全性。但是,這可能導致您以前可以運行的配置不再能夠正常地工作。您必須對 SELinux 有足夠的了解,從而達到可以使您的系統正常運行,又可以提高您系統安全性的目的。
如需了解更多關於 SELinux 策略的信息,請參閱 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文檔。
nscd
·nscd 名稱服務緩沖存儲守護程序會在系統重新啟動時保存它的緩存內容。每個數據庫(用戶,組群和主機)可以通過把 /etc/nscd.conf 文件中相應的行設為 "yes" 來實現這個功能。緩沖存儲中的每條記錄都將不會被刪除,直到它們不再被需要。那些存活周期(time-to-live) 已經過期但是可能還會被使用的記錄會被自動地重新載入。這在目錄和名稱服務暫時無效的時候非常有用。
·在默認的 SELinux 安全配置中,這個守護進程是被 targeted 策略所規定的。它通過設定這個守護進程所需使用的系統目標的訪問權限來提高系統的安全性。但是,這可能導致您以前可以運行的配置不再能夠正常地工作。您必須對 SELinux 有足夠的了解,從而達到可以使您的系統正常運行,又可以提高您系統安全性的目的。
如需了解更多關於 SELinux 策略的信息,請參閱 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文檔。
ntp
在默認的 SELinux 安全配置中,這個守護進程是被 targeted 策略所規定的。它通過設定這個守護進程所需使用的系統目標的訪問權限來提高系統的安全性。但是,這可能導致您以前可以運行的配置不再能夠正常地工作。您必須對 SELinux 有足夠的了解,從而達到可以使您的系統正常運行,又可以提高您系統安全性的目的。
如需了解更多關於 SELinux 策略的信息,請參閱 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文檔。
portmap
在默認的 SELinux 安全配置中,這個守護進程是被 targeted 策略所規定的。它通過設定這個守護進程所需使用的系統目標的訪問權限來提高系統的安全性。但是,這可能導致您以前可以運行的配置不再能夠正常地工作。您必須對 SELinux 有足夠的了解,從而達到可以使您的系統正常運行,又可以提高您系統安全性的目的。
如需了解更多關於 SELinux 策略的信息,請參閱 http://www.redhat.com/docs 上的 Red Hat SELinux Policy Guide 文檔。
udev
紅帽企業 Linux 4 不再象過去的版本那樣,通過一個靜態的 /dev/ 目錄管理設備。它通過 udev 動態地管理設備。它允許在驅動程序被加載時才按需創建設備節點。
關於 udev 的附加信息,請參閱 udev(8) 的說明書頁。
udev 的額外的規則必須被存放在一個位於 /etc/udev/rules.d/ 目錄中的單獨文件中。
udev 的額外的權限規則必須被存放在一個位於 /etc/udev/permissions.d/ 目錄中的單獨文件中。
使用 Anaconda 把系統升級到 紅帽企業 Linux 4 會被自動地重新配置使用 udev。但是(雖然不推薦),可以使用如下步驟來升級到 udev
1.確定您正在運行 2.6 內核