Chinaunix首页 | 论坛 | 博客
  • 博客访问: 512908
  • 博文数量: 158
  • 博客积分: 4015
  • 博客等级: 上校
  • 技术积分: 1711
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-27 14:00
文章分类

全部博文(158)

文章存档

2010年(71)

2009年(87)

我的朋友

分类: BSD

2009-09-06 09:05:31

在玩 系统一定会常常需要升级 security 的 patch,之前写过一篇手动升级 FreeBSD security patch:FreeBSD 的 security patch 跟 如何 upgrade,那篇写的内容也很容易瞭解,那现在又有另一种升级方式,就是利用 FreeBSD 内建指令 freebsd-update,这是可以 fetch 或者是 install 和 rollback binary 升级系统,不过这指令只能用在 Release Engineering 的系统上面,例如 FreeBSD 7.1-RELEASE and FreeBSD 7.1-RC1,不可以使用在 FreeBSD 6.2-STABLE 或者是 FreeBSD 7.0-CURRENT 版本上面,那在 DK大神 blog 上面有写一篇可以升级 PRERELEASE 系统:用 freebsd-update 将 FreeBSD 7.1-PRERELEASE 升级到 7.1-RELEASE,这方法可以骗过 freebsd-update 指令,不过我想本身要对 FreeBSD 很熟阿,不然会遇到很多地雷阿。

基本 OPTIONS 如下:

-b basedir   -- 指定系统掛载根目录 预设值:/
                (default: /)
-d workdir   -- 档案暂存的地方
                (default: /var/db/freebsd-update/)
-f conffile  -- 读取基本设定档
                (default: /etc/freebsd-update.conf)
-k KEY       -- Trust an RSA key with SHA256 hash of KEY
-r release   -- 指定 Release 版本 (e.g., 6.2-RELEASE)
-s server    -- 指定抓取哪一台伺服器
                (default: update.FreeBSD.org)
-t address   -- 搭配 corn 指定 email,当执行完毕,寄信通知使用者
                (default: root)


基本 command 用法:

fetch:抓取可用的 binary update 档案
cron:随机休息 13600 秒数,当有指定 fetch 就会开始下载 binary 档案,可以指定 -t 参数来达到下载好之后通知使用者
upgrade:搭配 -r 参数指定需要升级版本,如:7.1-RELEASE
rollback:可以反安装最近升级的系统

系统 freebsd-update fetch 画面:

升级方式:

#
# 先 fetch
#
freebsd-update fetch -r 7.1-RELEASE
#
# 升级安全性
#
freebsd-update install -r 7.1-RELEASE
#
# 升级好重新开机,就可以看到 uname -a
FreeBSD 7.1-RELEASE-p4 FreeBSD 7.1-RELEASE-p4 #2

后面 p4 代表 SA patch 次数,可以参考:FreeBSD-SA-09:06.ktimer,裡面写到:

Topic: Local privilege escalation

Category: core
Module: kern
Announced: 2009-03-23
Affects: FreeBSD 7.x
Corrected: 2009-03-23 00:00:50 UTC (RELENG_7, 7.2-PRERELEASE)
2009-03-23 00:00:50 UTC (RELENG_7_1, 7.1-RELEASE-p4)
2009-03-23 00:00:50 UTC (RELENG_7_0, 7.0-RELEASE-p11)
CVE Name: CVE-2009-1041

表示 7.1-RELEASE 出来,第四次发布 patch,7.0-RELEASE 发布第11次。

可以利用 cron 放入 crontab

0  4  *  *  *  root    /usr/sbin/freebsd-update -t appleboy@XXXX.com cron
阅读(1182) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~