close

FreeBSD 7.2-RELEASE 發行說明
 
 
來源: Linux論壇  日期: 2009.05.04 09:11 (共有1條評論) 我要評論
 
FreeBSD 7.2-RELEASE 發行說明
FreeBSD 項目組

版權 © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 FreeBSD 文檔項目組

$FreeBSD$

FreeBSD 是 FreeBSD基金會的註冊商標

IBM、 AIX、 EtherJet、 Netfinity、 OS/2、 PowerPC、 PS/2、 S/390 以及 ThinkPad 是國際商用機器公司在美國和其他國家的註冊商標或商標。

IEEE, POSIX, 和 802 是 Institute of Electrical and Electronics Engineers, Inc. 在美國的註冊商標。

Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium, 和 Xeon 是 Intel Corporation 及其分支機構在美國和其他國家的商標或註冊商標。

Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media, 和 Windows NT 是 Microsoft Corporation 在美國和/或其他國家的商標或註冊商標。

Sparc, Sparc64, SPARCEngine, 以及 UltraSPARC 是 SPARC International, Inc 在美國和其他國家的商標。 包含 SPARC 商標的產品基於 Sun Microsystems, Inc. 開發的架構。

許多製造商和經銷商使用一些稱為商標的圖案或文字設計來彰顯自己的產品。 本文檔中出現的,為 FreeBSD Project 所知曉的商標,後面將以 '™' 或 '®' 符號來標注。

這份 FreeBSD 7.2-RELEASE 的發行說明, 概括了 FreeBSD 基本系統在 7.2-STABLE 開發線上所做的改動。 本文檔列舉了自前一發行版本以來所有適用的安全公告, 以及對於 FreeBSD 內核以及系統附帶的應用程序所做的重要修改。 對在升級時需要注意的一些問題,也進行了簡略的介紹。

目錄
1 介紹
2 最新變動

    2.1 安全公告
    2.2 對內核的改動

        2.2.1 引導加載器變動
        2.2.2 硬件支持
        2.2.3 網絡協議
        2.2.4 磁盤和存儲
        2.2.5 文件系統

    2.3 用戶態環境變動
    2.4 基本系統中的第三方軟件
    2.5 Ports/Packages 套件基礎設施
    2.6 交付工程與系統集成

3 從先前版本的 FreeBSD 升級

1 介紹

這篇文檔是 FreeBSD 7.2-RELEASE 的發行版說明。 它介紹了 FreeBSD 上最近新增、變化或刪除的功能。 此外, 它也對從較早版本的 FreeBSD 進行升級時需要注意的問題進行了說明。

這是一份 FreeBSD 7.2-RELEASE 的 release 發布包。 您可以從 ftp://ftp.FreeBSD.org/ 或其他鏡像那裡得到它的副本。 關於這個 (或其他) release 發布包的更多信息,可以在 FreeBSD 手冊 中的 “如何獲得 FreeBSD”附錄 中找到。

我們建議所有的用戶在開始安裝 FreeBSD 之前首先參考與這一版本對應的勘誤信息。勘誤文檔將隨時更新,以便為用戶提供在發布工程後期或該版本發布之後 “新發現的” 問題和相關信息。 通常, 這包括已知的 bug、 安全公告, 以及對於文檔的修訂內容。 最新的 FreeBSD 7.2-RELEASE 勘誤信息可以從 FreeBSD 網站獲得。
2 最新變動

這一節描述了 FreeBSD 自 7.1-RELEASE 以來最明顯的新功能和變化。

通常情況下, 發行版說明文檔中會介紹自 7.1-RELEASE 以來所發布的安全公告、新增的驅動或硬件支持、 新增的命令或選項、 重要的錯誤修補,以及基本系統中來自第三方的軟件升級。 重要的 ports 和 packages 變動,或關於交付工程的變動也會在這份文檔中體現。 顯而易見地, 發行說明不可能涵蓋 FreeBSD 版本之間的每一個微小變動; 這篇文檔主要關注的,仍然是安全公告、 用戶可以察覺的修改,以及重要的架構性改良。
2.1 安全公告

這一版本中修正了下列安全公告所指明的問題。 如欲了解進一步的信息, 請參閱位於 http://security.FreeBSD.org/ 的完整安全公告內容。
公告         日期         主題
SA-09:01.lukemftpd         2009 年 01 月 07 日        

lukemftpd(8) 中的跨站請求偽造問題
SA-09:02.openssl         2009 年 01 月 07 日        

OpenSSL 對格式不正確的簽名檢查存在問題
SA-09:03.ntpd         2009 年 01 月 13 日        

ntpd 密碼學簽名繞過問題
SA-09:04.bind         2009 年 01 月 13 日        

BIND DNSSEC 對格式不對的簽名檢查存在問題
SA-09:05.telnetd         2009 年 01 月 13 日        

telnetd 任意代碼執行問題
SA-09:06.ktimer         2009 年 03 月 23 日        

本地特權提升問題
SA-09:07.libc         2009 年 04 月 04 日        

db(3) 中的信息泄露問題
SA-09:08.openssl         2009 年 04 月 22 日        

OpenSSL 遠程可觸發的崩潰問題
2.2 對內核的改動

內核調試器 ddb(8) 新增了 show mount 子命令。

FreeBSD DTrace 子系統新增了對於進程執行的探測點 (probe) 支持。

[amd64] FreeBSD 內核虛擬地址空間增加到了 6GB。這使得內核子系統能夠用到更大的虛擬內存地址空間。 例如, zfs(8) 自適應替換快取緩存 (ARC) 需要使用大量的內核內存來緩存文件系統數據,因而會受益於可用地址空間的增加。 請注意, 內核內存映射的尺寸上限是總量的 60% 而不是其全部。

對 jail(8) 子系統進行了更新。 變動包括:

    *

      支持在一個 jail 上指定多個 IPv4 及 IPv6 地址了。 此外, 還支持不在 jail 上配置任何 IP 地址, 這種配置基本上相當於可見進程受限且沒有網絡的 chroot 環境。
    *

      支持在 jail 中使用 SCTP ( sctp(4)) 和 IPv6 了。
    *

      實現了使用 cpuset(1) 來指定 CPU 綁定。 請注意目前的實現允許 jail 中的超級用戶改變 CPU 綁定,這一行為將在未來的版本中予以修正。
    *

      可以按指定的路由 FIB 啟動 jail(8) 了。
    *

      為 ddb(8) 新增了 show jails 子命令。
    *

      新增了在 64-位 系統中使用 32-位 jail 工具管理 jail 的支持。
    *

      jail(8) 中 jail 和 prison 的版本均進行了更新以支持這些新特性。

kld(4) 支持從內核模塊為 FreeBSD 系統調用翻譯層安裝 32-位 系統調用了。

ktr(4) 新增了 KTR_CALLOUT class 的 KTR 跟蹤點, 用以描述 callout 回調完成執行。

用以對已經分配的 System V 共享內存進行記賬的變量由 int 改為了 size_t。 這使得在 64-位 硬件架構上使用超過 2 GB 的共享內存段成為可能。 請留意 shmctl(2) 中的 BUGS 部分, 以及 /usr/src/UPDATING 中的相關描述以了解這一臨時解決方案的限制。

sysctl(3) 葉節點新增了一個表示其為 MPSAFE 的標誌。

FreeBSD 32-位 系統調用翻譯層新增了為 VFS_AIO 安裝 32-位系統調用的支持。

[amd64, i386] FreeBSD 虛擬內存子系統新增了對於 Superpages 的支持。 Superpages 是一項旨在現代處理器上令 TLB (translation lookaside buffer, 快速頁表轉換緩衝) 能夠將大塊物理內存區域映射到虛擬地址空間中的技術。這可以幫助使用大量共享內存的應用節省內存開銷, 並且由於減少了 TLB 緩衝未命中現象從而改善性能。 默認情況下這一特性並不開啟, 您可以通過將引導加載器變量 vm.pmap.pg_ps_enabled 設為 1 來啟用它。
2.2.1 引導加載器變動

boot(8) 新增了對某些版本 Windows® 放入 MBR 的 4-字節 卷 ID,以及在一些支持的 BIOS 上通過按 F6 來啟動 PXE 的支持。

[i386] 對 boot(8) BTX 加載器進行了改進。 這修正了一些較新的機器上 7.1-RELEASE 和較早版本 FreeBSD 會遇到的一些引導方面的問題。

loader(8) 可以在網絡引導的過程通過 kenv(2) 變量來獲得 DHCP 選項了。

修正了 loader(8) 的一個程序錯誤。 類似下面的配置可以正確工作了:

loader_conf_files="foo bar ${variable}"

2.2.2 硬件支持

[sparc64] FreeBSD 新增了對 Ultra SPARC III (Cheetah) 系列處理器的支持。

acpi(4) 子系統新增了一組 sysctl(8) 變量 debug.batt.batt_sleep_ms。 在使用智能電池的筆記本上,啟用電池監控軟件會導致來自 atkbd(4) 的按鍵失靈。 這個 sysctl 變量在狀態檢查代碼中增加了若干毫秒的延時, 以繞過這個問題。

acpi_asus(4) 驅動程序支持 Asus A8Sr 筆記本了。

[powerpc] 新增了對於 AltiVec, 一種浮點及整數 SIMD 指令集的支持。

新增了 cpuctl(4) 驅動程序, 它提供了與系統 CPU 之間的設備 /dev/cpuctl 作為接口。新增的 cpuctl(4) 功能包括獲取 CPUID 信息、 讀寫機器專用寄存器 (machine specific registers, MSR), 以及更新 CPU 固件等。

cpufreq(4) 驅動新增了加載器變量 hw.est.msr_info。 當此變量設為 1 時, 驅動會嘗試創建只包含最高和最低時鐘頻率的簡單列表, 如果無法從 ACPI 或靜態表中獲得的話。 默認情況下不啟用。

[amd64, i386] 當 TSC 是 P-狀態 無關不變量時, CPU 頻率變化通知會被禁止。 另外,還增加了引導加載器變量 kern.timecounter.invariant_tsc,當設為非零數值時, 表示強制這一行為。

atkbd(4) 驅動程序在輪詢模式啟用, 並調用鍵盤回調函數時, 會禁用中斷處理程序。 這修正了在多 CPU 系統中, 當啟用了 kbdmux(4) 時,在 mountroot 提示符處出現重複或遺失擊鍵的問題。

在 pci(4) 子系統中, 當啟用 MSI/MSIX 時會禁用 INTx。 這一變動修正了一系列與中斷風暴有關的問題。

[sparc64] 新增了用於支持 Schizo Fireplane/Safari to PCI 2.1 和 Tomatillo JBus to PCI 2.2 橋的 schizo(4) 驅動程序。

新增了用於採用 USB 接口的 3G 卡和軟件狗的 u3g(4) 驅動程序, 它支持包括 Vodafone Mobile Connect Card 3G、 Qualcomm CDMA MSM、 華為 E220、 Novatel U740、 Sierra MC875U 等在內的一系列設備。 這提供了對多種由 3G USB/PC Card 調制解調器提供的 USB-到-串口 接口卡的支持, 這些設備可以通過 ucom(4) 驅動程序來驅動, 其接口類似於 tty(4)。

sched_ule(4) 調度器新增了引導加載器變量 machdep.hyperthreading_enabled,類似 sched_4bsd(4) 對應的變量。 需要注意的是, 這個變量在系統運行過程中不能改變。
2.2.2.1 多媒體支持

agp(4) 驅動程序新增了對 Intel G4X 系列圖形芯片組的支持。

對 DRM, 直接渲染管理器內核模塊進行了更新, 這個模塊能夠向 DRI 客戶提供直接訪問硬件的能力。 這次更新改進了對 AMD/ATI r500、 r600、 r700、 以及基於 IGP 的芯片、 XGI V3XE/V5/V8 和 Intel i915 芯片組的支持。

新增了引導加載器變量 hw.drm.msi, 用於控制 DRM 是否使用 MSI。 默認配置是 1 (啟用)。

刪除了用於 Aureal Vortex 1/2/Advantage PCI 的 snd_au88x0(4) 驅動程序,後者已經很長時間不能使用了。

更新了 snd_hda(4) 驅動程序。 這些更新包含了對 HDA 總線上多個編碼解碼器、 同一編碼解碼器上多個功能組、同一功能組上多個音頻設備、 數字 (SPDIF/HDMI) 音頻輸入輸出、 掛起/恢復,以及部分多軌音頻的支持。

請注意, 由於新增的 HDMI 音頻和邏輯音頻設備支持, 更新後的驅動程序通常會提供多個 PCM 設備。 這意味著某些情況下默認的音頻設備可能不再對應於用戶習慣的音頻端子。 這種情況下,可以使用音頻應用程序的配置, 或通過設置 hw.snd.default_unit sysctl 來全局地加以改變, 具體細節詳見聯機手冊 sound(4)。
2.2.2.2 網絡接口支持

ae(4) 驅動程序支持 WoL (Wake on LAN) 了。

[amd64, i386] ale(4) 驅動程序加入到了 GENERIC 內核。

ath_hal(4), Atheros 硬件訪問層, 更新到了開放源代碼的版本。

對 axe(4) 驅動程序的性能進行了改善, 消除了不必要的上下文切換, 並對 Apple USB 以太網適配器提供了支持。

將 bce(4) 驅動程序的固件更新到了最新版本 (4.6.X)。

ciphy(4) 驅動程序能夠支持 Vitesse VSC8211 PHY 了。

cxgb(4) 驅動程序更新到了固件版本 4.7, 並支持硬件 MAC 統計了。

fxp(4) 驅動程序進行了改進。 具體變化包括:

    *

      可以使用 ifconfig(8) 來控制校驗和 offload 功能了。
    *

      新增了對 82559 及更新型號網卡的 Rx 校驗和 offload 的支持。
    *

      加入了 82550 和 82551 控制器的 TSO (TCP 分片 Offload) 支持。
    *

      加入了對基於 82550、 82551、 82558、 以及 82559 控制器網卡的 WoL (Wake on LAN) 支持。請注意基於 ICH 的控制器會作為 82559 處理, 而 82557、 較早版本的 82558 以及 82559ER 並不具備 WoL 能力。
    *

      新增了 VLAN 硬件標籤 插入/消除 支持, 以及用於 VLAN 幀的 Tx/Rx 校驗和 offload 支持。請注意硬件輔助的 VLAN 只有在基於 82550 或 82551 的控制器上才可以使用。

修正了導致引導加載器變量 hw.igb.ave_latency 無法正常工作的 igb(4) 驅動程序的問題。

ixgbe(4) 驅動程序更新到了 1.7.4 版本。

jme(4) 驅動程序新增了對較新的 JMicron JMC250/JMC260 版本的支持。

對 msk(4) 驅動程序進行了改進。 修正了導致其在某些情況下斷線的問題。 新增了硬件 MAC 統計支持,用戶可以通過 sysctl 變量 dev.msk.N.stats 來獲得這些數據。

mxge(4) 驅動程序支持一些新的硬件, 以及 10GBASE-LRM 和 10GBASE-Twinax 介質類型了。

nfe(4) 驅動程序新增了硬件 MAC 統計支持。

對 re(4) 驅動程序進行了改進。 它能夠檢測鏈路狀態了。 新增的引導加載器變量 hw.re.prefer_iomap 能夠控制內存寄存器映射是否禁用。 這個變量在除了 RTL8169SC 系列之外的其他控制器上的預設值都是 0。

對 rl(4) 驅動程序進行了改進。 它能夠檢測鏈路狀態了。 此外, 導致它在內存超過 4GB 的系統上無法正常工作的問題也得到了修正。

修正了 sis(4) 關於帶 VLAN 標籤幀處理方面的問題。

txp(4) 驅動程序能夠在所有受支持的平台上運行了。 此外還加入了對 altq(4)、 WoL、啟用 VLAN 時的校驗和 offload 的支持, 並改進了鏈路變化處理。 新增了用於訪問 MAC 統計的 sysctl 變量 dev.txp.N.stats。 新增了用於控制 Rx 處理程序每次處理幀數量的 sysctl 變量 dev.txp.N.process_limit (預設值為 64, 可以在 16 到 128 之間調整, 單位為幀)。 固件更新到了最新版本。
2.2.3 網絡協議

未綁定 socket 的 IPv4 源地址選擇以下列方式實現:

   1.

      如果有路由, 則使用與地址相關的接口作為發出接口。
   2.

      其他情況下, 假定遠程地址可以通過直接連接的網絡到達, 並據此查找源地址。
   3.

      都不成功時, 使用默認的 jail 地址。

這也會改變 jail(8) 內進程選擇 IP 的語義, 因為它採用與 jail(8) 以外進程相同的邏輯。

用於 IPv6 的 TCP MD5 簽名選項 (RFC 2385) 以與 IPv4 相同的方式實現了。

ng_netflow(4) Netgraph 節點在 ingress 基礎上新增了生成 egress netflow 的支持, 並可單獨或結合使用。針對此新增功能, 新增了控制消息 NGM_NETFLOW_SETCONFIG。

tap(4) 以太網隧道軟件網絡接口新增了 TAPGIFNAME 字符設備 ioctl。它能夠方便地取得已經打開的字符設備所對應的網絡接口名字。

tap(4) 新增了 SIOCSIFMTU ioctl 用於設置超過 1500 (ETHERMTU) 的 MTU。 這使得 tap(4) 設備能夠加入到配置了 jumbo 幀支持的網橋上 (因為網橋成員接口必須使用同樣的 MTU)。

用於處理 unix(4) (UNIX 域協議族) 子系統支持的域的域列表是 MPSAFE 的了。
2.2.4 磁盤和存儲

ata(4) 驅動程序新增了對 Marvell PATA M88SX6121 的支持。

ata(4) 驅動程序會將 nForce MCP67 和 MCP73 SATA 控制器視作 AHCI 了。

ataraid(4) 新增了對於 Adaptec HostRAID 控制器的 DDF 元數據的初步支持。請注意目前還不支持熱備盤和重建操作。

cam(4) SCSI 子系統新增了 sysctl 變量 kern.cam.cd.retry_count。它的作用是控制 CD 介質的重試次數。 當讀取劃傷或破損的 CD 和 DVD 時,默認的機製工作的不太好, 而類似 ddrescue 這樣的程序在關閉了重試時, 由於採用了自己的重試算法, 會快許多。 默認值是 4 (表示一共嘗試 5 次)。 設為 0 表示完全關閉重試。

修正了 ciss(4) 驅動的導致 “max device openings” 低, 並進而導致性能低下的問題。

glabel(8) GEOM class 新增了對一種基於 UFS 的名為 ufsid 標籤的支持,這種標籤可以用來表達文件系統唯一 ID 的引用。 如果啟用, 文件系統 ID 會由 glabel(8) GEOM 來產生和識別。 這類標籤的形式類似於: /dev/ufsid/48e69c8b5c8e1b43。 使用這類 GEOM 標籤能夠避免在更換驅動器或控制器時引致的設備名稱變化問題。

gjournal(8) GEOM class 支持根文件系統了。 在之前的版本中, 如果關閉系統沒有執行完整的停機操作,使用了日誌的根文件系統在下次引導時會無法掛接。

更新了 gpart(8) 工具。 APM 分區格式新增了對 Tivo Series 1 分區的支持 (只讀), 新增了 EBR 格式來支持 Extended Boot Records, BSD 格式新增了對引導代碼的支持, 並修正了 PC98 和 VTOC8 格式支持的一些小問題。

修正了 gvinum(8) 訪問由 gvinum plex 使用的設備訪問權限的問題。 如果 plex 組成了 raid5 plex,在寫入數據時系統可能不得不讀取其下的磁盤, 這使得這些磁盤必須以讀寫方式打開。

hptmv(4) 驅動程序更新到了來自廠商的 1.16 版本。

mmc(4) 和 mmcsd(4) 驅動程序支持 MMC 和 SDHC 卡、 高速時鐘、 寬總線以及多塊傳輸了。

[sparc64] mpt(4) 驅動程序加入到 GENERIC 內核了。

新增了 sdhci(4) 驅動程序。 它支持符合 SD 主機控制器標準的 class 8、 subclass 5 的 PCI 設備。

sdhci(4) 驅動程序支持內核崩潰轉存了, sysctl 變量 hw.sdhci.debug 能夠調整調試信息級別。

twa(4) 驅動程序支持 64-位 DMA 了。

mmc(4) mmcsd(4) 以及 sdhci(4) 驅動程序, 目前以內核模塊的方式提供。
2.2.5 文件系統

對擴展訪問控制列表 acl(3) 的語義進行了擴展, 變動包括:

    *

      當擴展屬性添加、 修改或刪除時, inode 的修改時間 (mtime) 不隨之更新。
    *

      當查詢擴展屬性時, inode 的訪問時間 (atime) 不隨之更新。

FreeBSD NFS 文件系統新增了一個 sysctl 變量 vfs.nfs.prime_access_cache 用於控制 nfs_getattr() 是否使用 ACCESS RPC 來刷新訪問緩存, 而不是簡單地 GETATTR RPC。 在許多 NFS 服務器上, NFSv3 掛接時, ACCESS RPC 的開銷要比 GETATTR RPC 大的多。 默認情況下, 這個 sysctl 是啟用狀態, 以保持先前的行為。

FreeBSD UDF 文件系統支持 fifo 了。

改進了 VFS(9) 子系統中查詢路徑名時的 vnode 共享鎖。 默認情況下這一功能是關閉的。 通過將 sysctl vfs.lookup_shared 設為 1 能夠啟用這一功能, 並提供更好的性能。 請注意, 內核選項 LOOKUP_SHARED 表示永久性啟用這一功能, 此時 sysctl 變量會不復存在。
2.3 用戶態環境變動

修正了 atacontrol(8) 工具一處當 /usr 沒有掛接時, 或從 /rescue 中執行工具時的問題。

從 NetBSD 引入了 btpand(8) 服務。這個服務提供了對 Bluetooth Network Access Point (NAP)、 Group Ad-hoc Network (GN) 和 Personal Area Network User (PANU) 配置的支持。

ncal(1) 工具支持多字節字符了。

config(8) 工具支持多行 makeoption 配置了。

csup(1) 工具新增了用於下載完整 CVS 庫的 CVSMode。 請注意, rsync 傳輸模式目前是禁用的。

dirname(1) 工具和 basename(1) 一樣能夠處理多個參數了。

du(1) 工具新增了 -l 選項。 當指定這個選項時, du(1) 工具會將同一文件的不同硬連接視作不同的文件。

du(1) 工具新增了 -A 選項, 表示顯示可見尺寸而非磁盤上的尺寸。當在壓縮卷或稀疏文件上進行操作時, 這個選項會有所幫助。

du(1) 工具新增了用於指定計算塊數量時塊尺寸的 -B blocksize 選項, 表示以 blocksize 字節作為一塊來計算。 這和 -k 或 -m 選項, 以及設置 BLOCKSIZE 的效果不同, 它會給出當使用 blocksize 時在文件系統層次結構中所使用的空間估計。除非使用了 -A 模式, blocksize 會自動向上取整到下一個 512 的整數倍數。

dumpfs(8) 工具新增了 -f 選項, 表示按碎片 (塊) 編號列出文件系統中的全部空閒碎片。 這個新的模式會計算並生成絕對的空閒碎片數量,而不是默認模式中柱面組元數據中的相對數目。

如果指定了一次 -f, 連續的空閒區域會表達為 X-Y 的形式,類似於目前空閒塊的顯示方式。 如果指定兩次, 則每個空閒塊都會顯示出來,這使得工具能夠同時生成精簡格式和適合腳本處理的格式。

fetch(1) 工具新增了 -i 參數用以支持 HTTP 1.1 請求中的 If-Modified-Since。 指定此選項時, 只有當遠程文件比本地文件的 mtime 更新時才會真正下載。另外, libfetch 現在支持在 url 結構中指定 mtime,並增加了一個標誌來表達需要使用這種功能。

fsck(8) 工具新增了表示 check clean 的 -C 參數。 這種模式下, 當上次不是正常卸下文件系統時, 才會進行完整的檢查,反之則跳過檢查。

fsck(8) 工具新增了用於故障恢復的 -D 選項, 通過採用更為激進的操作,它能讓 fsck(8) 在發生嚴重數據損毀的文件系統上持續運行。 當磁盤數據發生嚴重損壞並導致 fsck(8) 崩潰時,這種模式可以作為最後的方法使用。

getaddrinfo(3) 函數支持 SCTP 了。

修正了 ipfw(8) 工具的一處導致在指定了 -q 選項時, 仍在針對 NAT 規則的操作中顯示多餘信息的問題。

ln(1) 工具新增了用於檢測原文件是否存在的 -w 選項。當指定了這個選項而原文件不存在時, ln(1) 會給出警告。

make(1) 工具新增了用於顯示輸入圖, 而不執行任何命令的 -p 選項,其輸出與 -d g1 相同。 當配合 -f /dev/null 使用時, 則只顯示內建的規則。

make(1) 工具新增了阻止顯示文件標題的 -Q 選項, 其作用與 -q 和 -j 參數同時指定時相同。

make(1) 新增了對 .MAKE.JOB.PREFIX 變量的支持。 如果指定了 -j 和 -v, 則每個聯編目標輸出之前會顯示 --- target ---,這部分輸出受這個變量控制。

make(1) 工具新增了 .MAKE.PID 和 .MAKE.PPID 變量的支持。 這兩個變量分別會被設為 make(1) 的進程 ID, 以及其父進程的 ID。

新增了從目錄創建文件系統映像的 makefs(8) 工具。

mergemaster(8) 工具新增了用於直接安裝只有版本控制 ID 字符串不同的文件的 -F 選項。

mount(8) 工具新增了 -o mountprog=/somewhere/mount_xxx 選項,用於強制指定使用某個程序, 而不是直接調用 nmount(2) 來掛接文件系統。 典型的用法是配合類似 FUSE 這樣的第三方程序使用。

netstat(1) 工具在指定了 -L 開關時, 能夠報告 unix(4) sockets 的監聽隊列統計了。

修正了先前版本 netstat(1) 工具使用下列選項時的崩潰問題:

% netstat -m -N foo

修正了 netstat(1) 工具中導致 -ss 無法正確顯示 icmp6 部分的問題。

pciconf(8) 工具新增了 -b 開關, 表示列出為每個設備所分配的基地址寄存器 (BAR)。

對 powerd(8) 程序進行了改進。 這些變動包括在 SMP 系統中對 CPU 負載進行正確估計,以及配合交流電源使用的新模式 hiadaptive。 hiadaptive 模式將 CPU 頻率調整為 adaptive 的兩倍, 並在需要時將 CPU 降頻到原先的四分之一, 使 CPU 負載減少一半,並延遲在最大負載之後離開最高頻率的時間。

指定 -x 開關時, stat(1) 工具能夠以八進制表示 suid、 sgid 和 sticky 位了。

新增了 strndup(3) 函數。

wc(1) 工具新增了用於輸出文件中最長一行長度的 -L 開關。

修正了導致 rpc.yppasswdd(8) 程序在修改口令或默認 shell 時留下一個僵屍進程的問題。
2.4 基本系統中的第三方軟件

ISC BIND 更新到了 9.4.3-P2 版。

時區數據庫從 tzdata2008h 版升級到了 tzdata2009f 版。
2.5 Ports/Packages 套件基礎設施

修正了導致 pkg_create(1) 工具的 -n 開關無法正常工作的問題。

FreeBSD Ports 套件支持在一些 port 上同時啟動多個 make(1) 任務了。這個功能在標記了 MAKE_JOBS_SAFE 的 port 上會自動啟用,它通過在作者提供的頂級 Makefile 上使用 -jX 來改善 CPU 利用率。 數字 X 默認設為系統中的 CPU 數量, 並可通過 make(1) 變量 MAKE_JOBS_NUMBER 來改變。 如欲了解進一步的詳情, 請參閱 ports/Mk/bsd.port.mk。
2.6 交付工程與系統集成

支持的 GNOME 桌面環境 (x11/gnome2) 從 2.22 升級到了 2.26。

支持的 KDE 桌面環境, 從 3.5.10 (x11/kde3) 升級到了 4.2.2 (x11/kde4)。
3 從先前版本的 FreeBSD 升級

[amd64, i386] 從 FreeBSD 6.2-RELEASE 開始, 系統已經能夠通過使用 freebsd-update(8) 來實現 RELEASE 版本之間 (以及不同安全分支的快照版本) 的二進制升級。 二進制升級過程將更新未經修改的用戶環境工具,以及隨官方 FreeBSD 發行版發布的、 未作修改的 GENERIC 或 SMP 內核。 使用 freebsd-update(8) 工具的主機, 需要有可用的 Internet 連接。

舊式的二進制升級, 則是通過隨 CDROM 發行介質提供的 sysinstall(8) 的 Upgrade 選項來完成的。 這種二進制升級方式, 對於 非-i386、非-amd64 的, 以及沒有接入 Internet 的系統而言會比較有用。

此外, 也可以使用源代碼從較早版本升級的方式 (通過從源代碼重新編譯 FreeBSD 的基本系統), 其操作方法請參見 /usr/src/UPDATING。

arrow
arrow
    全站熱搜

    mool 發表在 痞客邦 留言(0) 人氣()