freebsd-update 擷取及安裝binary更新FreeBSD

藍色泡泡 17 四月, 2008 14:09 系統安全 靜態連結網址 引用 (0) 預覽列印

freebsd-update -- fetch and install binary updates to FreeBSD

描述:
freebsd-update 是FreeBSD系統用來 擷取, 安裝及 取得binary update 的工具
需要注意的是,這些update僅止於FreeBSD Release Engineering Team維護的版本.
諸如: FreeBSD 6.1-RELEASE 或 FreeBSD 6.2-RC1 而非 FreeBSD 6.2-STABLE
        or FreeBSD 7.0-CURRENT 之類的版本.

補充: FreeBSD 6.2-RELEASE版本後才有此指令

語法:
freebsd-update [-b basedir] [-d workdir] [-f conffile] [-k KEY]
                         [-r newrelease] [-s server] [-t address] command 

參數:
    -b basedir    指定系統掛載的最基本路徑 (預設: / ) 

    -d workdir    檔案暫存資料夾 (預設: /var/db/freebsd-update/ ),

    -f conffile    設定檔位置 (預設: /etc/freebsd-update.conf)

    -k KEY      信任的RSA金鑰位置 (預設: 從設定檔讀取)

    -r newrelease  定義新的RELEASE版本昇級標的 (針對 upgrade)

    -s server    定義擷取更新檔案的server (預設:從設定檔讀取)

    -t address    郵件輸出的對象  (預設: root )

命令:
    fetch      以現有安裝的環境及設定參數, 擷取可能的binary更新.

    cron        隨機休息(sleep)1~3600秒,然後下載更新檔.
                  若更新檔案下載完成,系統會發送email通知root
                  (可透過 -t 參數或設定檔 , 將信件遞送給其他人員) .
                  如同此命令的名稱(cron), 被用來設計透過cron程式執行.
                  隨機休息秒數則是用來避免同時間有大量機器向server要求更新.

    upgrade   截取必要的升級到新版本RELEASE的檔案,請小心使用.
                  並確認您已經閱讀過新版本的 announcement and release notes.

    install      安裝最近擷取的更新(update)/升級(upgrade)檔案.

    rollback    反安裝最近安裝過的更新(update).

小技巧:
把 freebsd-update 放入cron執行 , 如此就能夠自動更新.

0 3 * * * /usr/sbin/freebsd-update cron

相關檔案/資料夾:
    /etc/freebsd-update.conf  預設的freebsd-update程式設定檔
    /var/db/freebsd-update/   預設的freebsd-update暫存及下載檔案資料夾

實際操作:

本例從 6.3-RELEASE 進行更新(update).

freebsd-update -r 6.3-RELEASE fetch
freebsd-update 6.3-RELEASE fetch
安裝:
freebsd-update -r 6.3-RELEASE install
freebsd-update -r 6.3-RELEASE install 範例畫面

重新開機後,執行 uname -a 名稱就會變成 6.3-RELEASE-p1 , 此時是否重新開機則由您自行決定了.. 

程式作者: Colin Percival <cperciva@FreeBSD.org>


迴響

  1. 你好,我用的是6.2 为什么我按你的做了 6.2-RELEASE-px 根本就没有变华,必须要重启make buildkernel 吗?还有有别的什么问题?

    作者 白天 — 18 五月 2008, 23:28

  2. 您重新開機了嗎??

    作者 panda — 19 五月 2008, 22:38

  3. 並不一定每修補一次就會出現 px 狀況.

    而是視core team 的釋出而定.

    例如:
    6.3-RELEASE-p1 FreeBSD 6.3-RELEASE-p1 #0: Wed Feb 13 02:
    56:56 UTC 2008

    作者 panda — 20 五月 2008, 08:05

  4. 剛剛查了一下資料, uname 反應的是kernel資訊, 但由於freebsd-update是透過binary升級所以不見得可以透過uname -a 反映出.

    但從 FreeBSD Security Advisories 來看,找到修正的內容,可以發現已經變更為修補過後的版本.

    #cd /usr/src
    #make buildkernel KERNCONF=YOURKERNEL

    #make installkernel KERNCONF=YOURKERNEL

    #reboot

    panda 作者 panda — 20 五月 2008, 12:19

  5. 我第一次透過freebsd-update後並沒有重新buidkernel,但重新開機後,仍會出現p1的版本號. 或許與修補的kernel核心檔案有關..?

    更新範例實作:
    此例以GENERIC為GENERIC描述檔
    #cd /usr/src
    #make buildkernel KERNCONF=GENERIC
    #make installkernel KERNCONF=GENERIC
    #reboot

    重新開機後 會變成
    FreeBSD 6.3-RELEASE-p2 #0: 更新日期

    panda 作者 panda — 20 五月 2008, 12:37

  6. 如果不执行
    #cd /usr/src
    #make buildkernel KERNCONF=GENERIC
    #make installkernel KERNCONF=GENERIC
    #reboot

    升级是否成功呢?

    作者 白天 — 21 五月 2008, 16:07

  7. 應該是的.
    這幾天初步嘗試的結果,若以6.3R來說

    更新一次且重新開機會變成p1,若再次更新且重新開機仍維持p1,(出現沒有需要更新的部分)

    但是若重新更新kernel(也就是上述步驟)就會變成p2,進行更新則會出現有需要更新的檔案 /boot/kernel/kernel ,重新開機會變回p1 , 再次更新也會出現沒有需要更新的檔案.

    此時若編譯kernel(上述步驟)則會產生輪迴狀況.

    目前方向:
    1.持續觀察等到p3出現,目前從sa看來只有p2.
    2.查看sa更新的細部內容 來判定是否有更新.

    作者 panda — 21 五月 2008, 23:14


發表迴響

發表迴響
 authimage

©2008 - Post by 藍色泡泡 (some rights reserved)