使用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