作者 主題: <<分享>> FreeBSD 5.0 Release Notes中文版  (閱讀 5500 次)

0 會員 與 1 訪客 正在閱讀本文。

sendxp

  • 懷疑的國中生
  • **
  • 文章數: 59
    • 檢視個人資料
<<分享>> FreeBSD 5.0 Release Notes中文版
« 於: 2003-02-12 14:50 »
文章主要來自於大陸網站, 閒逛中看到的, 在此與大伙分享...
其中有相關5.0的新功能的一些說明, 還不錯啦...
摘自 http://www.freebsdchina.org/document.php?class_id=3&catalog_id=review&doc_id=1044854486.0.63556900

FreeBSD/i386 5.0-RELEASE Release Notes中文版

FreeBSD工程小組
版權所有 2000、2001、2002、2003,FreeBSD文檔工程小組
$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.467.2.8 2003/01/14 18:12:51 roam Exp $

譯者:Siroh
FreeBSD 5.0-RELEASE的版本注釋包含FreeBSD基本體系5-CURRENT開發分支最新變化的摘要資訊。核心和用戶介面的變化都被列出,和自上次發行以來可用的安全建議。也介紹一些升級的摘要注釋。

目錄
1 介紹
2 新特性
2.1 內核變化
2.1.1 處理器/主板支援
2.1.2 引導載入器變化
2.1.3 網路介面支援
2.1.4 網路協定
2.1.5 磁片和存儲
2.1.6 檔系統
2.1.7 PCCARD支持
2.1.8 多媒體支援
2.1.9 提供的軟體
2.2 安全相關的變化
2.3 用戶介面變化
2.3.1 提供的軟體
2.3.2 Ports/Packages Collection基礎結構
2.4 發行工程和集成
2.5 文檔
3 從以前的FreeBSD發行版本升級

1 介紹
本文檔包含i386硬體平臺上FreeBSD 5.0-RELEASE版本注釋。描述了FreeBSD特徵的最新增加、變化或刪除。也提供一些從以前的FreeBSD版本升級的注釋。
FreeBSD 5.0-RELEASE的本分發是一個發行分發。可在ftp://ftp.FreeBSD.org/或鏡像站點找到。更多有關獲得FreeBSD本(或其他的)發行分發的資訊可在《FreeBSD手冊》附錄“獲得FreeBSD”中找到。

2 新特性
本節描述一些自4.0-RELEASE以來FreeBSD中用戶可見的新的或變化的特徵。包括只有5-CURRENT分支才有的和最近可能已經合併到其他分支(在FreeBSD 4.6-RELEASE以後)。後者標記為[已合併]。
典型版本注釋專案文檔包括新的驅動程式或硬體支援、新的命令或選項、重要的缺陷修復、或提供的軟體升級。也列出4.6-RELEASE發行之後的可用安全建議。
因篇幅所限,一些FreeBSD附加的變化不在這裏列出。例如:文檔的修訂和完善、次要缺陷的修復、不安全代碼的審核和修正,以及源代碼的整理。

2.1 內核變化
a.out格式可執行程式的運行現在需要內核配置檔中COMPAT_AOUT選項或者載入aout.ko內核模組。
acct(2)已經變為以添加方式打開記帳檔,以便accton(8)可把記帳結果添加到一個隻允許添加的檔中。[已合併]
藍牙設備的初步支援已經增加,以一系列Netgraph模組(見ng_bluetooth(4))的方式。兩個模組提供藍牙適配器的設備驅動程式支援:ng_bt3c(4)驅動程式支援3Com/HP藍牙PCCARD適配器,ng_ubt(4)驅動程式支援幾個USB藍牙適配器。
注:在FreeBSD中藍牙支持仍在進行。

新的內核中(in-kernel)加密機制(見crypto(4))和crypto(9))已從OpenBSD引入。它為內核使用的密碼演算法的軟硬體實現和用戶模式應用程式訪問密碼硬體提供統一介面。硬體設備驅動程式提供hifn-based卡(hifn(4))和Broadcom based卡(ubsec(4))的支持。[已合併]
新的ddb(4)命令show pcpu列出一些per-CPU資料。
devctl設備已經增加,允許用戶介面程式獲得設備在設備樹中的變化。這個工具主要地由devd(8)實用程式使用。
devfs(5)已經大部分重建,允許在/dev目錄中自動建立入口並支援更多靈活的設備的連接。devfs(5)現在作為默認啟動並且可被NODEVFS內核選項停用。“rule”子系統允許管理員在新設備節點出現在用戶介面之前定義它們的某些屬性。靜態(如/dev/speaker)和動態(如/dev/bpf*,一些可移動的設備)節點兩者都支援。每個devfs(5)裝載可能有不同的規則設置分配給它,像jail一樣允許不同的策略被執行。規則和規則集由devfs(8)實用程式處理。
新的digi驅動程式已增加來支援PCI Xr-based和ISA Xem Digiboard卡。新的digictl(8)程式(主要地)用於重新初始化有外部附加埠模組的卡,如PC/Xem。這個驅動程式代替舊的dgm驅動程式。
eaccess(2)系統調用已增加,類似於access(2),除了前者使用有效證書而非真實證書。
FireWire設備(見firewire(4))初步支持已經增加。[已合併]
每個jail(2)環境現在可以在自己的安全級別下運行。
jail(2)可調整的sysctl變數從jail.*移動到security.*級別。其他安全相關的sysctl變數從kern.security.*移動到security.*。
內核環境現在是動態的,並可通過kenv(2)系統調用來改變。
labpc(4)驅動程式因“bitrot”已刪除。
載入器和內核連接器現在為KLD檔案名映射中的模組名和版本在KLD每個目錄查找名為linker.hints的文件。新的kldxref(8)實用程式用來產生這些檔。
lomac(4),Low-Watermark強制存取控制安全設備,已作為內核模組增加。它提供drop-in安全機制補充傳統的UID-based安全設備,無須管理員提供額外配置。DARPA和NAI實驗室保證在這個特性上的工作。
FreeBSD現在支援可擴展強制存取控制機制,TrustedBSD MAC機制。它允許可裝載內核模組在編譯、啟動或運行期間連接到內核,來增加系統安全策略。這個機制允許模組傳遞對事件的敏感,以及提供共同安全策略服務,例如標籤存儲。這個發行版本有許多示例策略模組,包括固定和浮動標籤Biba完整性(label Biba integrity)模型,多級別安全(Multi-Level Security,MLS)與隔離,和許多增加的UNIX安全模型包括檔系統防火牆。這個特性將使得本機和供應商的安全擴展的開發和維護更加容易。可擴展性服務通過在內核配置檔添加options MAC來啟動。
注:在這個發行版本中MAC機制被認為是實驗性的,不作為默認啟動

mutex(9)解析編碼(profiling code)已經增加,通過內核配置選項MUTEX_PROFILING啟動。它啟用sysctl變數的debug.mutex.prof.*級別。
P1003_1B內核選項不再使用並已刪除。
PECOFF(Win32可執行檔格式)支持已經增加。
random(4)設備已用Yarrow演算法重寫。它從各種中斷源獲得混亂度(entropy),包括控制臺設備、乙太網和點到點網路介面,以及大容量存儲設備。random(4)設備的混亂度現在週期性保存到/var/db/entropy檔,即使在關機的時候。/dev/random的意義已改變;它不堵塞混亂度位的等待而是產生偽亂數流並且現在作為/dev/urandom正確工作。
一個新的內核選項,options REGRESSION,用於校正和回歸測試期間啟用介面和功能。
RLIMIT_VMEM支持已增加。這個特性定義了新的覆蓋一個進程全部的虛擬記憶體空間的資源限制,包括mmap(2)空間在內。這個限制可通過在login.conf(5)中新的vmemoryuse變數配置。[已合併]
在sendfile(2)系統調用的缺陷,針對所發送檔的大小的頭標計數,已修復。[已合併]
syscons(4)驅動程式現在支援鍵盤控制粘貼,作為默認與Shift-Insert綁定。
uaudio驅動程式,為USB音頻設備,已經增加。[已合併]
ubsa驅動程式已增加來支援Belkin F5U103(和相容的)USB-to-serial適配器。
ucom(4)設備驅動程式已增加,支援USB數據機、串列設備,及其他需要象tty設備的程式。相關的uftdi(4)、uplcom(4)、uvscom(4)驅動程式分別為FTDI串聯適配器、Prolific PL-2303串聯適配器和SUNTAC Slipper U VS-10U提供特定支援。[已合併]
為提高安全,UCONSOLE內核配置選項已刪除。
UserConfig啟動期間內核配置特性,通常用於啟用、停用或配置ISA設備,已刪除。它的功能已經由在/boot/device.hints的內核hint文件替代。
USER_LDT內核選項現在作為默認啟動。
通過USB連接Handspring Visors的uvisor(4)驅動程式已增加。[已合併]
VESA S3線性幀緩衝驅動程式已增加。
內核崩潰轉儲基礎結構已修訂,支援新的平臺和代碼邏輯常規清理。這些變化的一個含意是內核轉儲的磁片格式已變化,現在是位元組順序不可知的(byte-order-agnostic)。
超大的交換區(>67 GB)不再導致系統不穩定。
連接器集現在是自足的;gensetdefs(8)是不必要的並已刪除。
現在編譯期間使用config(8)的ENV指令硬連接內核環境變數是可能的。
頁面空閒調零可通過sysctl變數的vm.idlezero_enable啟用。
FreeBSD內核日程安排程式現在支援內核計畫實體(Kernel-Scheduled Entities,KSE),提供類似於日程安排程式活化(Scheduler Activations)的每一進程的多線程執行的支持。在這一點上,內核需要大量變化來支援線程。內核日程安排程式可計畫每一進程的多線程,但僅在單個處理器上進行一次。更多資訊可在kse(2)中找到。
注:KSE工作仍在進行。

內核現在支援多低級(multiple low-level)控制臺設備。新的conscontrol(8)實用程式幫助管理不同的控制臺。
內核記憶體分配器現在是片(slab)記憶體分配器,類似於Solaris。這是SMP-safe記憶體分配器,具有隨CPU數目增加的近似線性的性能。它也允許減少記憶體碎片。

2.1.1 處理器/主板支援
SMP支持已大部分地重寫,從BSD/OS 5.0合併代碼。SMPng (“SMP Next Generation”)的一個主要特徵是允許更多進程在內核中運行,無需顯著減少多處理器效率的自旋鎖(spin locks)。中斷控制器現在用上下文關聯他們,允許它們被堵塞,減少鎖定中斷的需求。
80386處理器支持已從GENERIC內核刪除,因為這些代碼嚴重影響其他IA32處理器性能。支援80386處理器的I386_CPU內核選項與支援其他IA32處理器現在是互斥的;這將稍微改善在80386上性能,因為消除了運行期間處理器類型的檢查。仍然可以更改內核配置檔CPU選項僅包含I386_CPU來定制運行在80386上的內核。
在一些系統上,BIOS不啟動I/O埠和PC設備記憶體,造成它們不可用。sysctl/boot載入器變數hw.pci.enable_io_modes(缺省為1,“啟用”)強制FreeBSD啟用這些設備以便他們能被使用。
AMD &Eacute;lan SC520支持已增加;這些需要內核配置檔CPU_ELAN選項。[已合併]
CPU_DISABLE_CMPXCHG內核配置選項已增加。啟用這些選項已顯示出顯著改善在VMWare client OS上的安裝性能。
注:這個選項與SMP內核不相容。


2.1.2 引導載入器變化
內核和模組已移到/boot/kernel目錄,可容易地一起操作。引導載入器已盡可能平滑地為這些變化升級。
引導載入器現在支援從UFS1和UFS2兩種檔系統載入內核。

2.1.3 網路介面支援
dc(4)驅動程式現在支援基於Xircom 3201和Conexant LANfinity RS7112晶片的網路介面控制器。
el(4)驅動程式現在可作為模組載入。
lmc驅動程式已增加來支援基於DEC “Tulip” PCI Fast Ethernet控制器的LAN Media Corp WAN適配器。
rp(4)驅動程式已升級至3.02版並且現在可作為模組建立。[已合併]
stf(4)設備現在是可克隆的。
tx(4)驅動程式現在支援真正的多路廣播(multicast)篩檢程式。
網路設備現在自動地在/dev/net中表現為特定檔。介面硬體ioctls(非協定或路由選擇)可在這些設備上執行。SIOCGIFCONF ioctl可在特定地/dev/network節點上執行。
“零複製(Zero copy)”支援已增加到網路堆疊。這個特性可消除在內核和用戶介面之間的網路資料副本,這是一個很嚴重的網路流量瓶頸。當接收端代碼需要至少一個存儲頁面大小的MTU(例如,千兆乙太網上的巨大的幀)的網路介面卡時,發送端代碼應該與幾乎任何網路介面卡工作。更多資訊,見zero_copy(9)。

2.1.4 網路協定
FAST_IPSEC內核選項現在允許IPsec實現來使用內核crypto(4)框架,以及支援硬體加密加速。
注:FAST_IPSEC和IPSEC選項是互斥的。
注:FAST_IPSEC選項目前與IPv6或INET6選項不相容。

gre(4)驅動程式,可使用GRE(RFC 1701)或Mobile IP(RFC 2004)最小IP封裝來壓縮IP資訊包,已增加。[已合併]
ICMP ECHO和TSTAMP應答現在是速率限制的。包發送給開放和埠時TCP RST的產生現在由隔離(separate)計數器限制。每個速率限制佇列現在具有它自己的屬性。
ICMP Source Quench資訊不再為轉發包產生。原特性可用sysctl變數net.inet.ip.sendsourcequench重新啟用。
IP多路廣播現在工作在VLAN設備上。VLAN代碼的幾個其他缺陷也被修復。
ipfw(4)已重新實現(新版本通常被稱為“IPFW2”)。它現在使用內核規則變數大小表示,類似bpf(4)指令。大多數外部可見的特性(即通過ipfw(8))並未改變,雖然ipfw(8)現在支持或連接匹配域。[已合併]
新的ng_device(4) netgraph節點類型已增加,在/dev創建設備入口,作為網路圖(networking graph)的入口點。
操作gif(4)設備的ng_gif(4)和ng_gif_demux(4) netgraph節點已經增加。
ng_ip_input(4) netgraph節點,為進入主IP輸入處理代碼的IP排隊,已增加。
新的ng_l2tp(4) netgraph節點類型,實現描述於RFC 2661的L2TP協議封裝層,已增加。[已合併]
新的ng_split節點類型已增加來拆分雙向包流到兩個單向流。
用於TCP和UDP的短暫埠範圍已變為49152-65535(原缺省值為1024-5000)。這增加了併發連出連接/流的數目。
tcp(4)協議的中繼計時器現在可以用兩個sysctl變數操作,net.inet.tcp.rexmit_min和net.inet.tcp.rexmit_slop。缺省值已從1秒減少到200ms(類似於Linux缺省值)以更好控制交互連接中的暫跌並改善例如無線連接的快速連接的丟失恢復。
tcp(4)協定現在能夠動態限制發送端視窗到最大帶寬和最小往返時間。可通過sysctl的net.inet.tcp.inflight_enable啟用該特性。[已合併]

2.1.5 磁片和存儲
ahd(4)驅動程式,支援Adaptec AIC7901、AIC7901A和AIC7902 Ultra320 PCI-X SCSI Controller晶片,已增加。[已合併]
ata(4)驅動程式(與burncd(8))現在支援在DVD+RW驅動器上寫入介質。
ata(4)驅動程式現在支援通過CAM層和驅動程式(cd(4)、da(4)、st(4)和pass(4))把ATA設備作為SCSI設備來訪問。這個特性需要在內核配置device atapicam。更多資訊可在atapicam(4)中找到。[已合併]
ata(4)驅動程式現在已支援Sil 0680和VIA 8233/8235控制器。[已合併]
ata(4)驅動程式現在已支援Acard ATP850、ATP860和ATP865控制器。
cd(4)驅動程式現在支援acd(4)驅動程式用來設置CDROM訪問速度的相同的CDRIOCREADSPEED和CDRIOCWRITESPEED ioctls。
targ(4)驅動程式已重寫並且仿真直接存取設備的新用戶模式已被加到/usr/share/examples/scsi_target。
fdc(4)軟碟驅動程式已得到很多增強。公共設置的密度選擇現在是自動的;在設置多種子設備密度時也更加靈活。
geom(4)碟片I/O請求變換機制已增加;這個可擴展機制目的是支援從上部內核到設備驅動程式路徑上的I/O請求的多種操作。
注:GEOM-enabled內核不再支持“相容分片(compatability slices)”。這個特性(在僅在i386和pc98上支援)允許用戶無需指定MBR片引用磁片分區(如/dev/ad0a);內核將自動發現並使用第一個可用的FreeBSD片。在GEOM-enabled內核(缺省的),當引用含有MBR片的分區時僅允許完整分區名稱(如/dev/ad0s1a)。這個變化將影響個別用戶。

基於GEOM磁片加密(GEOM Based Disk Encryption)模組已增加。它提供對“冷碟(cold disk)”訪問拒絕,採用四個不同的加密壁壘(barrier)和直到四個可變口令(pass-phrases)。更多資訊可在gbde(4)手冊頁中找到。gbde(8)用戶介面實用程式提供這個模組的操作和管理介面。這個特性默認不啟用;它需要在內核配置檔增加GEOM_BDE選項。
注:這個特性被認為是實驗性的。

isp(4)驅動程式現在因預料Fibre Channel結構變化而預先修改。
isp(4)驅動程式現在支援Qlogic SCSI卡的目標模式,包括Ultra2和Ultra3和雙匯流排(dual bus)卡。
matcd(4)驅動程式已刪除,在源代碼樹進入荒廢狀態之後和因擔心它的許可有效期。這個問題當前正被定址(be addressed)並且這個驅動程式可能在FreeBSD將來版本再次出現。[已合併]
md(4),記憶體磁片(memory disk)設備,已合併vn(4)功能。md(4)設備現在可以由mdconfig(8)配置。vn(4)已刪除。記憶體檔系統(Memory Filesystem,MFS)也已刪除。
mpt驅動程式,支援LSI Logic Fusion/MP architectur Fiber Channel控制器,已增加。[已合併]
pst(4)驅動程式,支援Promise SuperTrak ATA RAID控制器,已增加。[已合併]
RAIDframe磁片驅動程式已由NetBSD引入。這個驅動程式提供基於軟體RAID 0、1、4和5性能,以及其他功能。更加資訊可在raid(4)驅動程式手冊頁中找到。raidctl(8)實用程式用來配置磁碟陣列及取消配置。這個特性默認不啟用,並需要在內核配置device raidframe。
注:這個特性被認為是實驗性的。

sa(4)錯誤處理的一些問題已修復,包括“mt(1)的磁帶機自旋不確定性”問題。
SCSI_DELAY配置參數現在可以通過kern.cam.scsi_delay tunable/sysctl在引導期間和運行期間設置。
trm驅動程式已增加來支援使用Tekram TRM-S1040 SCSI晶片組的SCSI適配器。[已合併]

2.1.6 檔系統
稱為擴展屬性的支援已增加到FreeBSD內核。這允許內核和適當的特權用戶介面進程用屬性資料標記檔和目錄。擴展屬性增加來支援TrustedBSD工程,特別是ACL(訪問控制表)、性能資料和強制存取控制標籤(細節見/usr/src/sys/ufs/ufs/README.extattr)。
檔系統快照性能已增加到FFS。細節可在/usr/src/sys/ufs/ffs/README.snapshot中找到。
當Soft Updates運行時,statfs(2)和df(1)會跟蹤塊和檔數目調整到釋放。
kernfs(5)是過時的並被棄置。
用戶端NFS鎖已實現。
內核中NFS代碼的用戶端端和伺服器端過去糾纏在多複合路線中。他們已被拆分以便於維護和進一步開發。
檔系統訪問控制表(Access Control List,ACL)支援已介紹,允許在檔和目錄的自由存取控制上的更多細緻控制。這個支援從TrustedBSD工程集成。細節可在/usr/src/sys/ufs/ufs/README.acls中找到。
因相容性,fdesc、fifo、null、msdos、portal、umap和union檔系統已改名為fdescfs、fifofs、msdosfs、nullfs、portalfs、umapfs和unionfs。相應的模組和mount_*程式已改名。相容的“glue”已增加至mount(8)以便在fstab(5)中msdos檔系統入口無變化工作。
pseudofs,偽檔系統機制,已增加。linprocfs(5)和procfs(5)已改變為使用pseudofs。
列於/etc/fstab的網路檔系統(如NFS和smbfs檔系統)現在可以在啟動初始化期間正常裝載;他們的裝載延遲到網路初始化之後。
通用磁片格式(UDF)唯讀支援已增加。這個格式使用在分組寫入的CD-RW和大多數商業的DVD-Video碟片上。mount_udf(8)命令可用於裝載這些碟片。
UFS2檔系統基本支援已增加。在UFS2新特性中:



UFS1保留為缺省磁片格式,不過UFS2可作為newfs(8)選項或通過sysinstall(8)分區畫面來選擇。64位元平臺可由UFS2根檔系統啟動。
為了支持本節提到的新特性,UFS1超級塊格式已有微小的變化。這些變化可能引起一些相容問題,當比FreeBSD 4.7-RELEASE舊的系統企圖mount(8)或fsck(8)由FreeBSD 5.0-RELEASE或更新版本創建的本機UFS1檔系統時。FreeBSD 4.7-RELEASE和更新的版本是完全相容的。這個情況典型地發生在安裝多版本FreeBSD的雙啟動機器上。

2.1.7 PCCARD支持
採用NEWCARD的初步CardBus支援已增加。這個代碼支持32位和16位卡。支持所有CardBus bridge,以及TI-1030 PCMCIA-PCI bridge。其他PCMCIA-PCI bridge和ISA bridge還不支持。
NEWCARD在GENERIC內核中現在是缺省的PCCARD/CardBus系統。

2.1.8 多媒體支援
VT8233音頻控制器現在有自己的驅動程式便於支援所有已知的硬體修訂版。在內核配置中增加device pcm或在/boot/loader.conf增加snd_via8233="YES"可在引導期間裝載。支援這個工作的文檔由VIA提供。[已合併]
新的API(應用編程介面)已增加來為具有硬體音量控制的音效卡硬體。
ich音效卡驅動程式現在提供ich4聲音支援的基本的支援。[已合併]
驅動程式已增加來支援Direct Rendering基礎結構,可用於XFree86提供3D加速。顯卡支持包括3Dlabs Oxygen GMX 2000(gammadrm)、AGP Matrox G200/G400/G450/G550(mgadrm)、3dfx Voodoo 3/4/5/Banshee(tdfxdrm)、AGI ATI Rage 128(r128drm)和AGP ATI Radeon(radeondrm)。

2.1.9 提供的軟體
用於啟動載入器的Forth Inspired Command Language(FICL)已升級至3.02。
高級配置和電源介面(Advanced Configuration and Power Interface,ACPI)支援,配置和電源管理的多供應商標準,已增加。這個功能作為ACPI CA 20021118快照已由Intel ACPI Component Architecture工程提供。為應用程式使用原來APM標準的一些向後相容性已提供。

2.1.9.1 IPFilter
IPFilter已升級至3.4.29。[已合併]

2.1.9.2 isdn4bsd
isdn4bsd已升級至版本1.0.2。
isdn4bsd現在支持Q.931子地址。

2.1.9.3 KAME

2.2 安全相關的變化
解析器緩衝溢出,可被惡意功能變數名稱伺服器或攻擊者偽造DNS資訊利用,已修復。更多細節見安全建議FreeBSD-SA-02:28。[已合併]
tcpdump(1)緩衝溢出,可被不正確形式的NFS分組觸發,已修復。更多細節見安全建議FreeBSD-SA-02:29。[已合併]
ktrace(1)不再跟蹤原先特權進程操作;這防止進程在放棄特權之前獲得洩漏的敏感資訊。對這個問題的討論,更多細節見安全建議FreeBSD-SA-02:30。[已合併]
pppd(8)的紊亂情況(race condition),可用於改變任意的檔許可權,已改正。更多資訊見安全建議FreeBSD-SA-02:32。[已合併]
OpenSSL的多緩衝區溢出已改正,通過升級至OpenSSL基礎系統版本。更多細節可在安全建議FreeBSD-SA-02:33中找到。[已合併]
XDR解碼器堆緩衝溢出已修復。更多資訊見安全建議FreeBSD-SA-02:34。[已合併]
可能允許本地用戶讀寫在FFS檔系統上任意的塊的缺陷已改正。更多細節可在安全建議FreeBSD-SA-02:35中找到。[已合併]
NFS伺服器代碼中的缺陷,可能允許遠端拒絕服務攻擊,已修復。安全建議FreeBSD-SA-02:36有更多細節。[已合併]
可能允許本地用戶使用kqueue(2)技巧(mechanism)導致系統不穩定的缺陷已修復。更多資訊列于安全建議FreeBSD-SA02:37。[已合併]
系統調用中幾個回跳檢查缺陷,可能導致某些系統調用返回大量內核記憶體,已修復。更多資訊可在安全建議FreeBSD-SA02:38中找到。[已合併]
可能允許應用程式使用libkvm洩漏敏感檔描述符的缺陷已改正。(更多細節見安全建議FreeBSD-SA-02:39。)[已合併]
kadmind(8)和k5admin緩衝溢出已改正。更多細節可在安全建議FreeBSD-SA-02:40中找到。[已合併]
smrsh(8)的錯誤,可能允許用戶繞過程式運行限制,已修復。更多細節見安全建議FreeBSD-SA02:41。[已合併]
DNS resolver(3)緩衝溢出,可能引起某些應用程式失敗,已改正。更多細節在FreeBSD-SA-02:42中。[已合併]
BIND多個脆弱性已修復,如在FreeBSD-SA-02:43中所描述的。[已合併]
fpathconf(2)系統調用中檔描述符洩漏,可能允許本地用戶崩潰系統或導致特權提升,已修復。更多細節可在安全建議FreeBSD-SA-02:44中找到。[已合併]

2.3用戶介面變化
以基本系統編譯器工具鏈建立a.out(5)格式可執行程式的支援已刪除。
adduser(8)和rmuser(8)現在是sh(1)腳本而非Perl腳本。
arp(8)現在列印在類型介面上位址的[fddi]或[atm]標記。
asa(1)實用程式,解釋FORTRAN回車控制字元,已增加。
at(1)現在支援-r命令行選項移動任務和-t選項指定POSIX時間格式的時間。
系統awk(1)現在引用BWK awk。
basename(1)現在接受-a和-s標誌,允許在多卷檔上執行basename(3)功能。
biff(1)現在接受b參數啟用新郵件“鈴聲提示”(不會象biff y干擾終端內容)。[已合併]
biff(1)現在使用第一個終端依次與標準輸入、標準輸出或標準錯誤輸出檔描述符關聯。因而,有可能使用shell重定向工具( biff n < /dev/ttyp1)為其他終端切換提示。
burncd(8)現在支援通過-d標誌選擇Disk At Once(DAO)模式。[已合併]
burncd(8)現在可寫入VCD/SVCD。[已合併]
burncd(8)現在接受最大值為-s選項設置驅動器的最高寫入速度。[已合併]
bzgrep(1)、bzegrep(1)和bzfgrep(1)已增加來在bzip2(1)壓縮檔上執行grep(1)類型操作。
calendar(1)現在取-W選項,類似於-A但在週末無特殊處理,和-F選項改變“星期五”的觀念。
catman(1)現在是C語言程式而非Perl腳本。
cdcontrol(1)現在支援速度命令來設置驅動器的最高速度(設置速度至最大可能的最高速度可被選擇)。[已合併]
check_utility_compat(3)庫函數已被加到libc,來斷定某些FreeBSD基本系統實用程式是否應工作在FreeBSD 4-compatible模式或“標準”模式下(缺省為標準)。該配置是malloc(3)風格,用環境變數或符號連接。
chflags(1)已經從/usr/bin移動到/bin。
chmod(1)現在支援-h改變符號連接的模式。
chmod(1)現在,當模式修改時,列印舊的模式,如果-v選項不止一次指定則列印新的模式。
chown(8)不再取.作為user/group分隔符號。這個變化用於支持包含.字元的用戶名。
使用CSMG_*巨集不再需要包含 compat4x分發已增加來相容FreeBSD 4-STABLE。它包括FreeBSD 4.7-RELEASE庫分發的子集。
cp(1)現在取(非標準的)-n選項自動回答“no”,當要求覆蓋檔時。[已合併]
新的csplit(1)實用程式,基於上下文拆分檔,已增加。
ctags(1)現在缺省(暗含-t選項)為typedefs、structs、unions和enums建立標記。新的-T恢復原來行為。
daemon(8)程式,到daemon(3)的命令行介面,已增加。它由控制終端和在命令行指定運行程拆分自己。這允許用戶就像寫成一個守護進程一樣運行任意程式。[已合併]
devd(8)實用程式,當設備在設備樹移動時可運行任意命令的用戶介面守護程式,已增加。這個程式是pccardd(8)的一些功能的一般化。
注:devd(8)仍在工作中。

devinfo(8),列印設備樹和設備資源使用率的簡單工具,已增加。
diskpart(8)已被宣佈過時並已刪除。
dump(8)現在支援-L標誌來安全地轉儲活動的UFS和UFS2檔系統。為了獲得一致轉儲映象,dump(8)給檔系統拍快照該並在快照上執行轉儲。當轉儲完成該快照被刪除。
dump(8)現在支援新的-S標誌來允許它僅列印轉儲大小估計並退出。[已合併]
expr(1)現在依據POSIX.2-1992(因而也依據POSIX.1-1992)。某些程式依賴舊的、歷史的特性,不適當地保護和保持作為命令行選項誤解的參數。(devel/libtool port/package,被許多GNU程式使用的,是一個顯著的例子)。expr(1)的舊的行為可由啟用相容方式來請求,如在check_utility_compat(3)中的描述,。
fbtab(5)現在接受目標設備全局匹配模式,不僅僅是單個設備和目錄。
fdisk(8)不再試圖搜索設備如果命令行沒有指定,但嘗試算出從根設備起的缺省設備名。
fdread(1),從軟碟讀數據的程式,已增加。它是fdwrite(1)的對應並設計用來提供從壞的介質恢復一些資料的方法,且避免對dd(1)複合調用的需求。
finger(1)現在已經支持.pubkey文件。[已合併]
finger(1)現在支援-g標誌來約束GECOS資訊到僅僅是用戶全名的列印。[已合併]
finger(1)現在支援-4和-6標誌為遠端查詢指定位址族。[已合併]
fold(1)現在支援-b標誌在位元組位元中斷和-s標誌在詞邊界中斷。[已合併]
fsck(8)回繞(wrapper)已引入;這個特性為fsck(8)提供基礎結構工作於不同的類型檔系統(類似於mount(8))。
當處理多個通道(pass)(按/etc/fstab的方式)時fsck(8)的習行為已改變以適應多磁片檔系統。
fsck(8)現在有前臺(-F)和後臺(-b)檢查支援。傳統上,fsck(8)是在檔系統裝載之前和所有檢查完成時調用。如果後臺檢查生效,fsck(8)調用兩次。第一次調用在傳統的慣時間,在檔系統裝載之前,用-F標誌檢查所有不能後臺檢查的檔系統。然後調用第二次,在系統已經完成到多用戶之後,用-B標誌檢查所有可以後臺檢查的檔系統。不同于前臺檢查,後臺檢查以非同步方式開始以便檔系統上其他系統活動可進行。rc.conf(5)的background_fsck選項控制在啟動期間啟用這個特性。
fsck_ffs(8)現在支援用-B選項在已裝載的FFS檔系統上的後臺檔系統檢查(Soft Updates必須在這些檔系統上啟用)。-F標誌現在決定指定的檔系統是否需要前臺檢查。
ftpd(8)現在支援-m選項允許來賓用戶在檔系統許可權允許的條件下修改已有的檔。特別是,這將使來賓用戶能夠恢復上傳。[已合併]
ftpd(8)現在支援-M選項防止來賓用戶創建目錄。[已合併]
ftpd(8)現在支援-o和-O選項停用RETR命令;前者對所有人,後者僅對來賓用戶。與-A一起以及適當的檔許可權,這些可用於為其他人上傳建立相對安全的匿名FTP下拉箱。[已合併]
ftpd(8)現在支援-W選項停用記錄FTP會話到wtmp(5)。[已合併]
fwcontrol(8)實用程式已增加來幫助用戶訪問和控制FireWire子系統。[已合併]
getconf(1)實用程式已增加。它列印POSIX或X/Open路徑或系統配置變數的值。[已合併]
gifconfig(8)是過時的並已刪除。它的功能現在由ifconfig(8)的tunnel和deletetunnel命令處理。
gprof(1)現在有-K選項啟用從當前運行內核中動態符號解析。由於這些變化,適當編譯的KLD模組現在是能簡析的(be profiled)。
ibcs(8)、linux(8)、osf1(8)和svr4(8)腳本,專用於載入仿真內核模組,已刪除。內核模組系統會根據依賴關係自動載入它們。
ifconfig(8)現在支援monitor介面標誌,在介面上堵塞包傳輸。這個特性對無影響地監視有問題的網路資訊流通非常有用。
作為默認,inetd(8)不再由rc(8)在啟動期間運行,即使在二進位程式安裝期間sysinstall(8)啟用該選項。inetd(8)還可以在/etc/rc.conf增加下面的行來啟用:
inetd_enable="YES"
inetd(8)現在有能力限制單個IP位址上每個服務併發調用最大數目。[已合併]
ipfw(8)篩檢程式規則現在可以匹配IPv4次序域的值。
kbdmap(1)和vidfont(1)已從Perl變成C。
kenv(1)現在能設置或刪除內核環境變數。
kget(8)實用程式已刪除(它僅對UserConfig有用,FreeBSD 5.0-RELEASE中並不存在)。
killall(1)不再嘗試殺掉僵屍進程除非指定-z標誌。
ktrdump(8),轉儲用戶介面ktr跟蹤緩衝的實用程式,已增加。
ldd(1)現在支援-a標誌列出每個載入物件需要的所有物件。
作為默認libc現在是線程安全的;libc_r僅包含線程函數。
libstand現在支援覆蓋UFS檔系統上的檔內容(它不能展開或者截斷檔因為檔系統可能是不乾淨或不一致)。
libgmp已由libmp代替。
libposix1e的函數已集成到libc。
lock(1)現在接受-v標誌在當前終端鎖定時停用切換VTY。這允許從單個終端鎖定全部控制臺。[已合併]
lpc(8)已改進;lpc clean現在更安全一些,並且新的lpc tclean命令已增加來查看哪些檔將由lpc clean刪除。lpc topq已重現實現,現在允許更加靈活的任務移動規則(比如任務編號範圍,或者主機名)。lpc bottomq命令已增加來把任務移動到列印佇列最後,新的lpc setstatus命令可用於設置印表機狀態消息。[已合併]
ls(1)程式現在支援-m標誌列出檔橫過一頁,-p標誌強制在目錄之後列印/,和-x標誌排序檔案名橫過一頁。[已合併]
makewhatis(1)現在是C語言程式,而非Perl腳本。
man(1)不再被安裝為SUID man,以減少與生成“catpages”(為重複顯示的預先格式手冊頁的高速緩衝)有關的脆弱性。結果,man(1)不再為常規用戶方面建立系統catpages。如果該用戶有保存catpages目錄的寫許可權(例如用戶自己的手冊頁)或者根用戶,仍然可以這樣做。
mdmfs(8)命令已增加;它是在mdconfig(8)、disklabel(8)、newfs(8)和mount(8)周圍的回繞(wrapper),模仿被反對的mount_mfs(8)的命令行選項設置。
mesg(1)現在符合SUSv3。尤其,它現在使用第一個終端依次與標準輸入、標準輸出或標準錯誤輸出檔描述符關聯。因而,有可能使用shell重定向手段(mesg n < /dev/ttyp1)為其他終端控制寫訪問。
mountd(8)和nfsd(8)已從/sbin移到/usr/sbin。
mv(1)現在取(非標準的)-n選項自動回答“no”,當要求覆蓋檔時。[已合併]
newfs(8)的許多古老的特性已刪除;這些調整特性實現在現代硬碟上根本無用。這些特性由-O、-d、-k、-l、-n、-p、-r、-t和-x標誌控制。
newfs(8)現在支援-O標誌來選擇創建UFS1或UFS2檔系統。
改變到新建群組的newgrp(1)實用程式已增加。
newsyslog(8)現在作為默認使用bzip2(1)壓縮日誌檔。(前者可在/etc/newsyslog.conf指定使用gzip(1)。)
nextboot(8)實用程式已增加來指定下次機器啟動時另一個內核和/或啟動標誌。這些特性的先前實例第一次出現在FreeBSD 2.2。
NFS現在在IPv6上工作。
nice(1)現在使用-n選項指定運行程式的“niceness”。[已合併]
nsswitch支持已從NetBSD合併。通過建立nsswitch.conf(5)檔,FreeBSD可被配置為多種資料庫如passwd(5)和group(5)使用平面檔、NIS或Hesiod來查詢。如果/etc/nsswitch.conf不存在,它將在系統啟動期間自動從存在的/etc/hosts.conf產生。/etc/hosts.conf檔可由舊的程式使用;它將在系統起動期間由存在的/etc/nsswitch.conf自動生成。
od(1)現在支援-A選項指定輸入位址基準,-N選項指定轉儲的位元組數,-j選項指定跳過的位元組數,-s選項輸出有符號十進位短整數,以及-t選項指定輸出類型。[已合併]
PAM支援已增加為帳號管理和會話。
PMA配置現在由/etc/pam.d/中的文件指定,而非單個/etc/pam.conf文件。/etc/pam.d/README有更多細節。
pam_echo(8)回應服務模組已增加。
pam_exec(8)程式執行服務模組已增加。
pam_ftp(8)模組已增加來允許匿名FTP用戶驗證。
pam_ftpusers(8)模組已增加來執行對ftpusers(5)檔檢查。
pam_ksu(8)模組已增加來執行Kerberos 5驗證和su(1)的$HOME/.k5login授權。
pam_lastlog(8)模組已增加來在utmp(5)、wtmp(5)和lastlog(5)資料庫中記錄會話。
pam_login_access(8)模組已增加來檢查/etc/login.access。
pam_nologin(8)模組,使用nologin(5)拒絕登錄,已增加。
pam_opie(8)和pam_opieaccess(8)模組已增加來使用opie(4)控制驗證。[已合併]
pam_passwdqc(8)模組已增加來在改變口令時檢查口令質量。
pam_rhosts(8)模組已增加來支援rhosts(5)驗證。
pam_rootok(8)模組,可用於僅驗證超級用戶,已增加。
pam_securetty(8)模組已增加來檢查列於ttys(5)中TTY的“security”。
pam_self(8)模組,允許用戶自我驗證,已增加。
pam_wheel(8)模組已增加來允許驗證用戶組的成員,缺省的是wheel組。
pathchk(1)實用程式,檢查在POSIX系統的路徑名的正確性或可攜性,已增加。[已合併]
ping(8)現在支援-o標誌在收到回復後退出。
prefix(8)是過時的並已刪除。它的功能由ifconfig(8)的eui64命令提供。
pselect(3)庫函數(由POSIX.1介紹的比select(2)稍微強壯的版本)已增加。
pwd(1)現在支援-L標誌來列印邏輯上的當前工作目錄。[已合併]
quota(1)現在用-I標誌來禁止NFS檔系統上的限額檢查。
rand(3)實現的偽亂數發生器已改善提供較少偏差結果。
rcmd(3)現在支援為遠端執行指定程式使用RSH環境變數而不是rsh(1)。因此,例如dump(8)的程式可使用ssh(1)進行遠端傳輸。
rdist(1)已退出基本系統,但仍然可以作為net/44bsd-rdist從FreeBSD Ports Collection獲得。
renice(8)命令實現-n選項,指定進程優先權的提高。[已合併]
rpcbind(8)已經代替portmap(8)。
rpcgen(1)現在使用/usr/bin/cpp(象在NetBSD上)而非/usr/libexec/cpp。
rpc.lockd(8)已由NetBSD引入。這個守護進程提供用戶端NFS鎖服務支援。
rtld(1)現在會列印引起各物件被載入的所有物件名稱,如果定義LD_TRACE_LOADED_OBJECTS_ALL環境變數。
sed(1)現在用-i選項啟用檔的現場編輯。[已合併]
setfacl(1)和getfacl(1)命令已增加來管理檔系統訪問控制表。
sh(1)不再作為內部命令實現printf,因為比起其他內部命令來並不重要(當然這個功能仍然可以通過printf(1)程式獲得)。
sh(1)現在支援-C選項來防止已有的常規檔被輸出重定向覆蓋,-u選項用來在未設置變數被展開時給出錯誤。[已合併]
sh(1)內建cd命令現在支援-L和-P標誌來分別調用邏輯的或物理操作模式。邏輯模式是缺省的,但是該缺省可由sh(1)的physical選項改變。[已合併]
sh(1)內建jobs命令現在支援-s標誌來僅輸出PID和-l標誌來增加PID到輸出。[已合併]
sh(1)現在支援bind內部指令,允許改變shell行編輯器鍵綁定。
sh(1)內建的export和readonly命令現在支援-p標誌來以“portable”格式列印它們的輸出。[已合併]
sh(1)不再接受象command & && command、& & command或|| command等非法構造。[已合併]
spkrtest(8)現在是sh(1)腳本,而非Perl腳本。
split(1)現在支援-a選項指定數個字母用作拆分檔的尾碼。[已合併]
為滿足SUSv2/POSIX 需求作準備,struct selinfo和相關函數已移至。
su(1)現在使用PAM驗證。
sysctl(8)現在接受-d標誌來列印變數屬性。
sysinstall(8)的缺省根分區現在在i386和pc98上是100MB,在Alpha上是120MB。
sysinstall(8)現在在/usr/sbin中,以使安裝過程簡單化。sysinstall(8)手冊頁現在也安裝得更加風格一致。
sysinstall(8)在新的安裝上不再默認裝載procfs(5)檔系統。這個變化用來改善安全性,但procfs(5)仍然可手工地或通過在fstab(5)檔適當行裝載。
tabs(1),設置終端的製表位元的實用程式,已增加。
termcap(5)資料庫現在使用XFree86的xterm終端類型。因此,xterm(1)現在默認支持顏色並且設置TERM為xterm-color的通常解決辦法不再需要。使用xterm-color終端類型可能導致應用程式發出(良性的)警告。
tftpd(8)現在支援RFC 2349(TFTP超時時限和傳輸尺寸選項);這個特性是像EFI啟動管理(至少在HP i2000 Itanium伺服器上)的某些套裝程式使用TFTP來引導映象所需要。
傳輸獨立RPC(Transport Independent RPC,TI-RPC)的一個版本已引入。
tip(1)已從OpenBSD升級,並能作為cu(1)的替代。
top(1)現在會使用tty的完全寬度。
touch(1)現在用-h選項來操作符號連接而非該連接所指向的。
tr(1)現在有locale的等價類基本支持。[已合併]
tr(1)現在支援-C標誌來補充由第一個字串參數指定的字元集。
tunefs(8)現在支援-a和-l標誌來啟用和停用UFS檔系統上FS_ACLS與FS_MULTILABEL管理標誌。
ugidfw(8)實用程式已增加來管理由mac_bsdextended強制存取控制策略提供的規則集,類似於ipfw(8)。
UUCP已從基本系統刪除。它可在Ports Collection的net/freebsd-uucp中找到,。
unexpand(1)現在支持-t來指定製錶位類似於expand(1)。[已合併]
usbdevs(8)現在支援-d標誌來顯示各設備相關的設備驅動程式。
uuencode(1)和uudecode(1)的base64功能現在分別調用b64encode(1)和b64decode(1)實用程式來自動啟用。[已合併]
實現和操作OSF/DCE 1.1-compliant UUID的函數已增加到libc。更多資訊可在uuid(3)中找到。
uuidgen(1)實用程式已增加。它使用新的uuidgen(2)系統調用來產生一個或多個通用唯一識別字(Universally Unique Identifiers)與OSF/DCE 1.1 version 1 UUID相容。
vidcontrol(1)現在接受-S標誌允許用戶停用VTY切換。[已合併]
vinum(8)的條帶(stripe)大小缺省值已從256KB變為279KB,更加平坦地在條帶之間展開超級塊。
wc(1)現在支援-m標誌來計算字元,而非位元組。
whereis(1),原先是Perl腳本,已用C語言重寫。它現在支援-x標誌來禁止locate(1)運行,和-q標誌禁止查詢的前導名稱。
whereis(1)現在支援-a標誌來報告所有匹配而非僅僅每個請求類型的第一個。
which(1)現在是C語言程式,而非Perl腳本。
who(1)現在有許多新的選項:-H顯示標題欄;-T顯示mesg(1)狀態;-m相當於am i;-u顯示空閒時間;-q列出欄中的名字。[已合併]
wicontrol(8)現在支援-l來列出hostap模式相關聯的站,-L列出可用的入口點。
xargs(1)現在支援-I replstr選項允許用戶在命令行參數而非在最後告訴xargs(1)插入從標準輸入具體的點讀取的資料。(FreeBSD-specific -J選項相仿。)[已合併]
xargs(1)現在支援-L選項強制在一些行之後調用參數。[已合併]
C語言庫的多個常式現在支援“寬”字元。這些是字元類函數如wctype(3)、寬字元I/O函數如getwc(3)、格式化I/O函數如wprintf(3)和wscanf(3)。換算到multibyte(3)字元的函數也被支援。
許多實用程式和庫被增強來改善它們與單一UNIX規範(SUSv3)和IEEE Std 1003.1-2001(“POSIX.1”)的一致性。具體特性的增加已為各實用程式列於版本注釋。各實用程式或庫函數標準一致性通常列於它的手冊頁。
許多傳統的BSD遊戲已從基本系統刪除;他們現在在games/freebsd-games port中。這些包括:adventure(6)、arithmetic(6)、atc(6)、backgammon(6)、battlestar(6)、bs(6)、canfield(6)、cribbage(6)、fish(6)、hack(6)、hangman(6)、larn(6)、mille(6)、phantasia(6)、piano(6)、pig(6)、quiz(6)、rain(6)、robots(6)、rogue(6)、sail(6)、snake(6)、trek(6)、wargames(6)、worm(6)、worms(6)和wump(6)。dm(8),用來控制遊戲訪問,不再需要並也已刪除。“類實用程式(utility-like)”遊戲,如fortune(6),保留。

2.3.1 提供的軟體
am-utils已升級至6.0.7。
Bell實驗室awk(以“BWK awk”或“唯一真正的AWK”聞名)的2002年11月29日快照已引入。它作為awk或nawk使用。
BIND已升級至8.3.3。[已合併]
Binutils已升級至2.13.2的2002年10月27日預發行快照。
file已升級至3.39。
gcc已升級至gcc 3.2.1(正式版)。
警告:gcc 3.2.1的C++ ABI與先前版本不相容。

gdb已升級至版本5.2.1。
gperf已升級至2.7.2。
groff和相關的實用程式已升級至FSF版本1.18.1。
Heimdal Kerberos已升級至0.5.1。[已合併]
ISC DHCP用戶端已升級至3.0.1RC9。
more(1)命令已由less(1)代替,不過它仍然可作為more運行。[已合併]版本371的less已引入。
XML處理庫,稱為libbsdxml,已增加,為了基本系統的XML-using實用程式。它幾乎完全基於expat 1.95.5的引入,但為避免與從Ports Collection安裝的expat任何版本衝突而以不同的名稱安裝。
libpcap已升級至0.7.1。[已合併]
libreadline已升級至4.2。
libz已升級至1.1.4。
lint已升級至NetBSD lint(1)的2002年7月19日快照。
lukemftp 1.6 beta 2(NetBSD的FTP用戶端)已代替FreeBSD ftp(1)程式。在它的新特性中有更多自動化方法、更好的標準適應性、傳輸率調速和可定制命令行提示。一些環境變數和命令行變數已變化。
m4(1)已由OpenBSD引入,為2002年4月26日。[已合併]
ncurses已升級至5.2-20020615。
NTP全套程式已升級至4.1.1b。
OpenPAM(“Citronella”發行版本)已引入,代替Linux-PAM。
OPIE一次性口令全套已升級至2.4。它已完全代替S/Key功能。[已合併]
Perl已從FreeBSD基本系統刪除。它可從FreeBSD Ports Collection以二進位包安裝,或者通過在sysinstall(8)的分發功能表中Perl分發專案。從基本系統移出Perl會使將來升級和維護更容易。為減少基本系統對Perl的依賴,許多實用程式已用shell腳本或C語言程式重寫(每個受到影響的實用程式都有具體注釋)。
注:Perl腳本清除工作仍在進行中。
注:sysinstall(8)的大部分分發集包括新的Perl分發。這些變化因而對大多數用戶是透明的,除了在基本系統之外分開升級Perl。

GNU ptx已從基本系統刪除。它不會被使用在基本系統的任何地方,並且沒有最新的升級或者維護。用戶需要它的功能可作為textproc/textutils port的一部分安裝這些實用程式。
rc.d機制已由NetBSD引入。它中斷系統啟動功能進入許多小的、在/etc/rc.d中“任務定向(task-oriented)”腳本,並動態決定啟動期間啟動腳本執行次序。
smbfs版本1.4.5的用戶介面實用程式已引入。[已合併]
GNU sort已升級至GNU textutils 2.0.21版本。 <*}
stat(1)在2002年6月5日從NetBSD引入。
GNU tar已升級至1.13.25。[已合併]
tcpdump已升級至3.7.1。[已合併]
csh(1)shell已由tcsh(1)代替,不過它仍然可作為csh運行。tcsh已升級至版本6.12。[已合併]
tcp_wrappers的提供版本現在包括tcpd(8) helper守護進程。因為標準FreeBSD安裝確實不需要(因為inetd(8)已經合併這些功能),這可能對inetd(8)代替物例如xinetd有用。[已合併]
texinfo已升級至4.2。[已合併]
top已升級至版本3.5b12。[已合併]
traceroute已升級至LBL版本1.4a12。
時區資料庫已升級至tzdata2002d發行版本。[已合併]

2.3.1.1 CVS
cvs已在2002年12月1日升級至1.11.2.1的快照。[已合併]

2.3.1.2 CVSup
2.3.1.3 KAME
2.3.1.4 OpenSSH
OpenSSH已升級至版本3.4p1。[已合併]在這些變化當中:







2.3.1.5 OpenSSL
OpenSSL已升級至0.9.6g。[已合併]

2.3.1.6 sendmail
sendmail已從版本8.9.3升級到版本8.12.6。重要的變化包括:sendmail(8)不再作為set-user-ID根二進位程式安裝(現在是set-group-ID smmsp);新的默認檔目錄(見/usr/src/contrib/sendmail/cf/README);newaliases(1)限於根和信任用戶;STARTTLS加密;以及MSA埠(587)作為默認打開。更多資訊見/usr/src/contrib/sendmail/RELEASE_NOTES。[已合併]
作為默認,rc(8)不再為進入的SMTP連接啟用sendmail。注意sysinstall(8)在選擇安全配置時可能無視這個二進位安裝的缺省。這個功能還可以在/etc/rc.conf中增加以下行來手工啟用:
sendmail_enable="YES"
由/etc/mail/Makefile建立的sendmail的alias和map資料庫的許可權現在缺省為0640以防止檔鎖定本機拒絕服務。可由設置新的SENDMAIL_MAP_PERMS make.conf選項改變。[已合併]
sendmail的統計檔/var/log/sendmail.st的許可權已從0644變為0640來防止檔鎖定本機拒絕服務。[已合併]

2.3.2 Ports/Packages Collection基礎結構
BSDPAN,提供Perl到FreeBSD Ports Collection緊密集成的模組集合,已增加。
相當長的一段時間,FreeBSD 5.0-CURRENT(以及一些4.X發行版本)包括pkg_update(1)實用程式來升級安裝包,按照它們的依賴關係。這個實用程式已刪除;它的功能的擴展集在sysutils/portupgrade port中可以找到。
pkg_version(1),原先是Perl腳本,已用C語言重寫。-c經常被誤用,已刪除。sysutils/portupgrade port提供支援的和安全的替代。
Ports Collection基礎結構現在使用XFree86 4.2.1作為X Window System缺省版本以滿足依賴關係。為返回使用XFree86 3.3.6,把下面的行加到/etc/make.conf:[已合併]
XFREE86_VERSION=3
由emulators/linux_base port(Linux仿真需要)安裝的庫已升級;它們現在相應於Red Hat Linux 7.1所包括的。[已合併]
作為默認,由Ports Collection產生的包(以及在FTP站點上的包)現在使用bzip2(1)壓縮,而非gzip(1)。(因而,它們現在是.tbz副檔名,而非.tgz副檔名。)包工具已升級處理這個新格式。
Ports Collection現在維護索引卷(separate index)檔(/usr/ports/INDEX-5)供FreeBSD 5-CURRENT使用。索引卷檔主要動機是處理存在於FreeBSD 5-CURRENT而非FreeBSD 4-STABLE的依賴關係(如lang/perl5)。每個包集的索引檔仍然稱為INDEX。

2.4版本工程和集成
bin分發已改名為base,以便創建聯合的install/recovery碟片更容易。
ISO映象和CDROM作為默認現在使用cdboot啟動載入器。這消除了可啟動CDROM對仿真軟碟映象的需要並允許完整GENERIC內核用於CDROM安裝,以相容一些舊的BIOS。
現在在FreeBSD 4-STABLE主機上製作FreeBSD 5-CURRENT發行版本是可能的,反之亦然。跨體系結構(Cross-architecture,在不同的體系結構主機上建立目標結構的發行版本)發行版本也是可能的。細節見release(7)。[已合併]
第三方drivers.flp軟碟已加到軟碟發行版本。它有在kern.flp碟片或mfsroot.flp映象的內核裏沒有配置的包含驅動程式的可裝入模組。

2.5文檔
許多在4.4 BSD程式師補充文檔(4.4 BSD Programmer's Supplementary Documents)中formerly-encumbered文檔已恢復到/usr/share/doc/psd。這些包括:








幾個在4.4 BSD用戶補充文檔(4.4 BSD User's Supplementary Documents)中formerly-encumbered文檔已恢復到/usr/share/doc/usd。它們包括:



3 從以前的FreeBSD發行版本升級
非常鼓勵已有的FreeBSD系統用戶閱讀《FreeBSD 5.0新手指南》。在分發介質上這個文檔的檔案名通常為early.txt,或者在可以找到版本注釋的其他地方。它提供一些升級注釋,但更重要地,也討論一些升級到FreeBSD 5.X和運行FreeBSD 4.X相比較的優缺點。
重要的:升級FreeBSD應且當然在備份所有資料和配置檔之後開始。