- 论坛徽章:
- 0
|
在玩
FreeBSD
系统一定会常常需要升级
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:随机休息 1~3600 秒数,当有指定 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
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/91935/showart_2046586.html |
|