Skip to content

使用syspatch为OpenBSD打补丁

从6.1版开始,OpenBSD支持使用二进制文件为系统打补丁,结束了每个补丁要用户自己下载源文件并编译、安装的历史,就像现在所有Linux发行版一样。也算是补上了一个短板。

syspatch的使用也很简单明了:

syspatch  #(不带任何参数)打上所有可用的补丁

syspatch -c  # 列出所有可用的补丁

syspatch -l   # 列出所有已经打上的补丁

syspatch -R   # 撤销所有补丁

syspatch -r   #  撤销最近的一个补丁

跟syspatch相关的配置:

/etc/installurl : 指定到哪里去查找并下载补丁
这个文件默认不存在,需要自己创建并配置站点。这一点需要改进。有个默认的文件以及示例更合理一下。可以自己man installurl看一下。
配置内容可以是(就是一个URL):
https://ftp.openbsd.org/pub/OpenBSD/

跟syspatch相关的文件:

/bsd.syspatch${OSrev} : 初始内核的备份文件(初始安装的、未打过任何补丁的内核)

/var/syspatch/* :
保存了syspatch用于撤销补丁的压缩包(所以不能删除)

示例:

# cat /etc/installurl
https://ftp.openbsd.org/pub/OpenBSD
# syspatch -l  # 没有打过任何补丁
# syspatch -c
001_dhcpd
002_vmmfpu
003_libressl
004_softraid_concat
005_pf_src_tracking
006_libssl
007_freetype
008_exec_subr
009_icmp_opts
010_perl
012_wsmux
013_icmp6_linklocal
# syspatch
Get/Verify syspatch61-001_dhcpd.tgz 100% |************************************************************************| 71730       00:05
Installing patch 001_dhcpd
Get/Verify syspatch61-002_vmmfpu.tgz 100% |***********************************************************************|  9377 KB    08:48
Installing patch 002_vmmfpu
Get/Verify syspatch61-003_libress... 100% |***********************************************************************| 11391 KB    02:11
Installing patch 003_libressl
Get/Verify syspatch61-004_softrai... 100% |***********************************************************************|  9356 KB    02:32
Installing patch 004_softraid_concat
Get/Verify syspatch61-005_pf_src_... 100% |***********************************************************************|  9355 KB    01:38
Installing patch 005_pf_src_tracking
Get/Verify syspatch61-006_libssl.tgz 100% |***********************************************************************|  2276 KB    00:22
Installing patch 006_libssl
Get/Verify syspatch61-007_freetyp... 100% |***********************************************************************|   732 KB    00:10
Installing patch 007_freetype
Get/Verify syspatch61-008_exec_su... 100% |***********************************************************************|  9356 KB    01:39
Installing patch 008_exec_subr
Get/Verify syspatch61-009_icmp_op... 100% |***********************************************************************|  9356 KB    01:38
Installing patch 009_icmp_opts
Get/Verify syspatch61-010_perl.tgz 100% |*************************************************************************| 12986       00:00
Installing patch 010_perl
Get/Verify syspatch61-012_wsmux.tgz 100% |************************************************************************|  9355 KB    01:03
Installing patch 012_wsmux
Get/Verify syspatch61-013_icmp6_l... 100% |***********************************************************************|  9356 KB    01:04
Installing patch 013_icmp6_linklocal
# syspatch -l
001_dhcpd
002_vmmfpu
003_libressl
004_softraid_concat
005_pf_src_tracking
006_libssl
007_freetype
008_exec_subr
009_icmp_opts
010_perl
012_wsmux
013_icmp6_linklocal

最后,reboot

Avatar

专业Linux/Unix/Windows系统管理员,开源技术爱好者。对操作系统底层技术,TCP/IP协议栈以及信息系统安全有强烈兴趣。电脑技术之外,则喜欢书法,古典诗词,数码摄影和背包行。

Sidebar