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