2009-01-18

FreeBSD 版號後面的 p 與 # 意思

ptt 的 osuer 問到了
7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #3

7.0-RELEASE FreeBSD 7.0-RELEASE #0
#後面的 數字是代表 使用新kernel 嗎

關於這個 #p 可以看看 /usr/src/sys/conf/newvers.sh

# 後面數字的初始值是 0,隨著每次重新 build 會累加次數
也就是 echo `expr ${v} + 1` > version
比方說打 expr 0 + 1 會得到 1

p 後面的數字,簡單講代表共歷經幾發 SA patch 數
舉個例子:
2008-12-23 發佈了 FreeBSD-SA-08:13.protosw
2009-01-07 發佈了 FreeBSD-SA-09:01.lukemftpd 以及 FreeBSD-SA-09:02.openssl
2009-01-13 發佈了 FreeBSD-SA-09:03.ntpd 以及 FreeBSD-SA-09:04.bind

先就 2008-12-23 的講,請看一下 FreeBSD-SA-08:13.protosw.asc
裡面會有列出哪些已經是有修正過的版本 (Corrected)
Corrected: 2008-12-23 01:23:09 UTC (RELENG_7, 7.1-PRERELEASE)
2008-12-23 01:23:09 UTC (RELENG_7_1, 7.1-RC2)
2008-12-23 01:23:09 UTC (RELENG_7_0, 7.0-RELEASE-p7)
2008-12-23 01:23:09 UTC (RELENG_6, 6.4-STABLE)
2008-12-23 01:23:09 UTC (RELENG_6_4, 6.4-RELEASE-p1)
2008-12-23 01:23:09 UTC (RELENG_6_3, 6.3-RELEASE-p7)

所以若原先你的是 RELENG_7_0 歷經這次 SA 的 patch 更新、compile、install 之後,會是 7.0-RELEASE-p7 才對,因為這是 7.0-RELEASE 出來之後所歷經的第七次 patch。

而 2009-01-07 同日一起發佈的 SA-09:01.lukemftpdFreeBSD-SA-09:02.openssl 若你在這之後也再次循 RELENG_7_0 更新會是 7.0-RELEASE-p8 才對。

同理 2009-01-13 同日所發佈的 FreeBSD-SA-09:03.ntpdFreeBSD-SA-09:04.bind 若你在這之後也再次循 RELENG_7_0 更新會是 7.0-RELEASE-p9 才對。



而 FreeBSD SA 的命名規則是 SA-西元年度後兩位-該年度第幾發


以上如有說錯之處,還請各方先進指正。