FreeBSD 12.0-RELEASE 发行说明(2018 年 12 月 11 日)

摘要

FreeBSD 12.0-RELEASE 的发布说明总结了在 12-STABLE 开发分支中对 FreeBSD 基本系统所做的变更。本文档列出了自上一个版本以来发布的适用安全公告,以及对 FreeBSD 内核和用户空间的重大变更。同时,还提供了一些有关升级的简要说明。

介绍

本文档包含 FreeBSD 12.0-RELEASE 的发布说明,介绍了 FreeBSD 最近新增、变更或删除的功能,并提供了从之前版本升级的一些注意事项。

这些发布说明适用于自 12-STABLE 创建以来 12-STABLE 开发分支的最新状态。有关此分支上预构建的二进制发布版本的信息,请访问 https://www.FreeBSD.org/releases/

这些发布说明所涉及的发行版本处于 12-STABLE 开发分支的 11.2-RELEASE 和未来的 13.0-RELEASE 之间。有关此分支上预构建二进制版本的信息,请访问 https://www.FreeBSD.org/releases/

FreeBSD 12.0-RELEASE 的分发版本是一个正式发布版本。可在 https://www.FreeBSD.org/releases/ 或其镜像站点找到。有关获取此版本(或其他版本)FreeBSD 的更多信息,请参阅 FreeBSD 手册获取 FreeBSD 附录

建议所有用户在安装 FreeBSD 前,先查看发布勘误(Release 勘误)。勘误文档会更新在发布周期后期或发布后发现的“最新”信息,通常包含已知的错误、安全公告及文档修正。可在 FreeBSD 网站上找到最新的 FreeBSD 12.0-RELEASE 勘误。

本文档介绍了自 11.2-RELEASE 以来 FreeBSD 最为显著的用户可见的新功能或变更。通常,这里所述的变更是 12-STABLE 分支特有的,除非特别标注为已合并(MERGED)的功能。

典型的发布说明项目包括自 11.2-RELEASE 后发布的最新安全公告、新驱动程序或硬件支持、新命令或选项、主要错误修复或第三方软件升级。此外,也可能列出主要的 Port/软件包变更或发布工程实践的改动。显然,发布说明无法列出每一次 FreeBSD 发布之间的所有变更;本文档主要关注安全公告、用户可见的变更和主要架构改进。

从旧版 FreeBSD 升级

[amd64, i386] 使用 freebsd-update(8) 工具支持 RELEASE 版本之间(及各安全分支快照)的二进制升级。二进制升级过程将更新未修改的用户空间工具以及官方 FreeBSD 发布中分发的未修改 GENERIC 内核。freebsd-update(8) 工具要求升级的主机具有互联网连接。

基于源码的升级(通过从源码重新编译 FreeBSD 基本系统进行升级)支持按 /usr/src/UPDATING 中的说明操作。

在尝试升级 FreeBSD 之前,应先备份 所有 数据和配置文件。

安全和勘误

本节列出了自 11.2-RELEASE 以来发布的各种安全公告和勘误通知。

安全公告

公告
日期
主题

无安全公告。

勘误通知

勘误
日期
主题

无勘误通知。

用户空间

本节涉及用户空间应用程序、第三方软件和系统工具的变更和新增内容。

用户空间配置变更

已变更 /dev/acpi 上的组权限,以允许 operator 组的用户调用 acpiconf(8) 来暂停系统。 [r335864](由美国国防高级研究计划局、美国空军研究实验室赞助)

已更新默认的 devfs.rules(5) 配置,允许在 jail(8) 中使用 mount_fusefs(8)[r336565]

默认的 PAGER 现在默认为 less(1),适用于大多数命令。 [r337497]

newsyslog(8) 工具已更新,拒绝指定 setuid(2) 或可执行日志文件的配置条目。 [r338165](由 Dell EMC Isilon 赞助)

已默认启用选项 WITH_REPRODUCIBLE_BUILD src.conf(5)[r338642](由 FreeBSD 基金会赞助)

LDNS 现在启用 DANE-TA,并移除了 GOST[r339303]

新增了 src.conf(5) 选项 WITH_RETPOLINE,用于启用用户空间构建的 retpoline 缓解措施。 [r340773](由 FreeBSD 基金会赞助)

用户空间应用程序变更

已移除 xlint 以及构建 lint 库或 lint 源代码的功能。

dtrace(1) 工具已更新,支持 ifelse 语句。 [r304200]

基于系统的旧版 gdb(1) 工具现在已安装到 /usr/libexec 目录,供 crashinfo(8) 使用。gdbservergdbtui 工具不再安装。对于交互式调试,应使用 lldb(1) 或从 devel/gdb 安装的现代版本的 gdb(1)。新添加的 src.conf(5) 选项 WITHOUT_GDB_LIBEXEC 可用于禁用构建 gdb(1)。在 sparc64 上,gdb(1) 工具仍然安装在 /usr/bin 中。 [r317416]

setfacl(1) 工具已更新,增加新选项 -R,用于递归操作目录。 [r332396](由 FreeBSD 基金会赞助)

cat(1) 工具已更新,使输出在使用 -ne-be 调用时始终保持对齐一致。 [r323865]

默认的引导链接器已变更为 ld_lld(1),适用于 amd64。 [r334391](由 FreeBSD 基金会赞助)

dhclient(8) 工具已更新,新增配置选项,允许覆盖由配置错误的 DHCP 服务器提供的 interface-mtu 选项。 [r334443]

已移除工 asf(8) 具,因为 kgdb(1) 现在内部处理内核模块状态。 [r335222](由 FreeBSD 基金会赞助)

已新增 sha224(1) 工具。 [r336126]

已更新 geli(8) 工具,支持在使用相同密码短语和/或密钥时一次性初始化多个提供者。 [r336659]

默认的引导链接器已变更为 ld_lld(1),适用于 i386。 [r336901](由 FreeBSD 基金会赞助)

默认的引导链接器已变更为 ld_lld(1),适用于 armv7。 [r337057](由 FreeBSD 基金会赞助)

已更新 dd(1) 工具,新增了选项 status=progress,该选项每秒打印一次操作状态,类似于 GNU dd(1)[r337505]

date(1) 工具已更新,新增了选项 -I,该选项以 ISO 8601 格式打印输出。 [r337332]

bectl(8) 工具已新增,提供了用于管理 ZFS 启动环境的管理接口,类似于 sysutils/beadm[r337663]

ls(1) 工具已更新,新增了选项 --color=when,其中 when 可以是 alwaysauto(默认)或 never[r337956]

bhyve(8) 工具已更新,增加了新子命令,用于 -l-s 参数的 help,使用时会分别打印支持的 LPC 和 PCI 设备列表。 [r338210](由 iXsystems 赞助)

tftp(1) 工具已更新,将默认的传输模式从 ASCII 变更为二进制。 [r338258]

last(1) 工具已更新,新增了对 libxo(3) 的支持。 [r338352]

lastlogin(8) 工具已更新,新增了对 libxo(3) 的支持。 [r338353]

chown(8) 工具已更新,防止 UID 或 GID 参数溢出,其中参数超过了 UID_MAXGID_MAX[r338950](由 Dell EMC Isilon 赞助)

ctm(1) 及相关工具已标记为不推荐使用,并将在 FreeBSD 13.0 中移除。 [r340444]

第三方软件

ELF 工具链已更新至版本 r3614。 [r333063](由 FreeBSD 基金会赞助)

zstd(1) 工具已更新至版本 1.3.4。 [r331602](由 Dell EMC Isilon 赞助)

vt(4) Terminus BSD 控制台字体已更新至版本 4.46。 [r332452](由 FreeBSD 基金会赞助)

xz(1) 工具已更新至版本 5.2.4。 [r333783]

clang、llvm、lld、lldb、compiler-rt 工具和 libc++ 已更新至版本 6.0.1。 [r335799]

bsnmp 工具已更新至版本 1.13。 [r335885]

WPA 工具已更新至版本 2.6。 [r336203]

ntpd(8) 工具已更新,允许作为非 root 用户运行。 [r336525]

注意

从 FreeBSD 11.x 及更早版本进行基于源代码的升级时,需要在运行 installworld 目标之前确保 ntpd 的 UID(123)和 GID(123)已存在。有关基于源代码的升级程序的详细信息,请参阅 UPDATING 文件中的“重建所有并安装”部分。

已为 dtrace_udplite(4) 添加了对 UDP-lite 的支持。 [r337018]

file(1) 工具已更新至版本 5.34。 [r337442]

lua 工具已更新至版本 5.3.5。 [r337810]

已为 dtrace_sctp(4) 添加对发送、接收和状态变化提供程序的支持。 [r338213]

ntpd(8) 工具已更新至版本 4.2.8p12。 [r338126]

OpenSSH 已更新至版本 7.8p1。 [r338561]

mandoc(1) 工具已更新至版本 1.14.4。 [r338826]

已为 sshd(8) 添加了额外的 capsicum(4) 支持。 [r339216]

Serf 已更新至版本 1.3.9。 [r339256]

ACPICA 已更新至版本 20181003。 [r339262]

Unbound 已更新至版本 1.8.1。 [r339278]

时区数据库文件已更新至版本 2018g。 [r339937]

OpenSSL 已更新至版本 1.1.1a。 [r340711]

安装和配置工具

bsdinstall(8) 安装程序和 zfsboot(8) 启动代码已更新,允许 UEFI+GELI 安装选项。 [r338282](由 Klara Systems 赞助)

/etc/rc.d 脚本

新增了 rc(8) 脚本来创建 cfumass(4) LUN。 [r332857](由 FreeBSD 基金会赞助)

geli(8) rc(8) 脚本已更新,新增变量 geli_groups 支持,当在 rc.conf(5) 中设置时,可以支持附加多个提供者。 [r335673]

rc(8) 子系统已更新,支持在 rc.conf(5) 中使用新的关键字 enabledisabledelete,这些关键字适用于 rc.d(8) 脚本和 service(8) 工具。有关使用信息,请参见 rc.conf(5)[r340348](由 Smule, Inc. 赞助)

运行时库和 API

已添加系统调用 getrandom(2)getentropy(3) 库,兼容 Linux® 和 OpenBSD 实现。 [r331279]

arc4random(3) 库已更新,匹配 OpenBSD 版本 1.35。 [r338059]

libarchive(3) 库已更新至版本 3.3.3。 [r338600]

ABI 兼容性

已添加 get_s(3)[r331936]

pthread(3) 库已更新,整合了 POSIX/SUSv4-2018 合规性改进。 [r337992]

arc4random(3) 库已更新,移除了 arc4random_stir()arc4random_addrandom()[r338331]

内核

本节涉及内核配置、系统调优以及未分类的系统控制参数的变更。

内核修复

ACPI 子系统已更新,实现了 ACPI 6.0 支持的 Device 对象类型,满足一些 Dell, Inc. Poweredge™ AMD® Epyc™ 系统的要求。 [r326956](由 Dell EMC Isilon 赞助)

已修复 IPv6-AH IPSEC 填充问题,使其符合 RFC4302。 [r334625](由 Dell EMC Isilon 赞助)

amdsmn(4)amdtemp(4) 驱动已更新,支持 AMD® Ryzen 2™ 主机桥。 [r340446]

amdtemp(4) 驱动已更新,修复了 AMD® 2990WX CPU 的温度报告问题。 [r340447]

内核配置

VIMAGE 内核配置选项已默认启用。 [r324810]

dumpon(8) 工具已更新,增加了对内核配置文件包含 GZIO 选项时压缩内核崩溃转储的支持。有关更多信息,请参见 rc.conf(5)dumpon(8)[r324965](由 Dell EMC Isilon 赞助)

ext2fs(5) 文件系统已更新,支持 ext4 的完全读/写支持。 [r327584]

pmtimer 设备已从 i386 GENERIC 内核配置中移除。其功能现在成为 apm(4) 的一部分。 [r327774]

dumpon(8) 工具已更新,增加了对内核配置文件包含 ZSTDIO 选项时,支持 zstd(1) 压缩的内核崩溃转储的支持。有关更多信息,请参见 rc.conf(5)dumpon(8)[r329240](由 Dell EMC Isilon 赞助)

新增了 src.conf(5) 选项 WITH_KERNEL_RETPOLINE,用于启用内核构建的 retpoline 缓解。 [r330110](由 FreeBSD 基金会赞助)

EKCDGZIOZSTDIONETDUMP 内核配置选项已默认启用,适用于 amd64、i386、aarch64、powerpc、powerpc64 和 sparc64 架构。 [r333890]

新增内核配置选项 KASSERT_PANIC_OPTIONAL,能在运行时变更 KASSERT(9) 的行为,而不一定会调用 panic(9)。此选项默认禁用。 [r338214](由 Dell EMC Isilon 赞助)

NUMA 选项已默认启用,适用于 amd64 GENERICMINIMAL 内核配置。 [r338602](由 Dell EMC Isilon 和奈飞赞助)

设备和驱动程序

本节涉及自 11.2-RELEASE 以来的设备和设备驱动程序的变更和新增内容。

设备驱动

random(4) 设备已更新,允许通过 ^C 终止大规模读取操作。 [r331070](由 Dell EMC Isilon 赞助)

已增加对 Microchip® LAN78xx™ USB3-GigE 控制器的支持。 [r333713](由 FreeBSD 基金会赞助)

新增 multifunction 设备,已添加到 usb_template(4),可以同时提供大容量存储、CDC ACM(串口)和 CDC ECM(以太网)功能。 [r333760](由 FreeBSD 基金会赞助)

random(4) 驱动已更新,移除了 Yarrow 算法。Fortuna 算法仍是默认的唯一可用算法。 [r338324]

新增了 netdump(4) 驱动,通过它可以在系统崩溃后将内核崩溃转储传输到远程主机。有关更多信息和配置细节,请参见 netdump(4)dumpon(8)[r333283](由 Dell EMC Isilon 赞助)

random(4) 驱动已更新,以修复在伪随机数生成期间的过度活动问题。 [r338292]

vt(4) 驱动已更新,带来了性能改进,文本绘制速度提高了 2 到 6 倍。 [r338316]

ichwd(4) 驱动已更新,增加了对 Intel® Lewisburg PCH (C620) 芯片组的 TCO 看门狗定时器支持。 [r340190](由 Panzura 赞助)

网络驱动

ixl(4) 驱动已更新到 1.9.9-k 版本。 [r333149](由英特尔公司赞助)

cxgbe(4) 驱动已更新,为 setsockopt(2) 选项 SO_MAX_PACING_RATE 提供硬件支持,当内核配置中包含 RATELIMIT 选项时。 [r334143](由 Chelsio Communications 赞助)

ixlv(4) 驱动已更名为 iavf(4) 并更新为使用 iflib(9)。为了向后兼容,升级自较早版本的 FreeBSD 用户,ixlv(4) 内核模块现在是 iavf(4) 的硬链接。 [r339338](由 Panzura 赞助)

已弃用的驱动

已移除 lmc(4) 驱动。 [r333144](由 FreeBSD 基金会赞助)

已移除 ixgb(4) 驱动。 [r333173](由 Limelight Networks 赞助)

已移除 nxge(4) 驱动。 [r333322](由 Limelight Networks 赞助)

已移除 vxge(4) 驱动。 [r333717](由 Limelight Networks 赞助)

已在 12.0-RELEASE 中移除 驱动 jedec_ts(4),其功能由 jedec_dimm(4) 替代。 [r337033]

现代图形芯片组的 DRM 驱动已标记为弃用,并计划在 FreeBSD 13 中移除。DRM 内核模块可通过 Ports 中的 graphics/drm-stable-kmodgraphics/drm-legacy-kmod 获取,也可以通过 pkg(8) 安装。此外,已将内核模块添加到 lua loader.conf(5)module_blacklist 中,强烈建议通过 Ports 或 pkg(8) 进行安装。 [r339218]

以下驱动在 FreeBSD 12.0 中已弃用,且未出现于 FreeBSD 13.0:ae(4)de(4)ed(4)ep(4)ex(4)fe(4)pcn(4)sf(4)sn(4)tl(4)tx(4)txp(4)vx(4)wb(4)xe(4) [r339735]

硬件支持

本节涉及对物理机器、虚拟机监控程序和虚拟化环境的一般硬件支持,以及不属于其他部分的硬件变更和更新。

硬件支持

已增加对 powernv POWER9 MMU 初始化的支持。 [r333273]

图形支持

FreeBSD 已改变了在 amd64 和 i386 上处理图形驱动的方式。现在可以通过 Ports 获取现代 ATI/AMD® 和 Intel® 显卡的图形驱动。基本驱动仍然可用,并将默认安装,但它们不支持当前一代的笔记本和台式计算机系统。

在大多数情况下,只需从 ports 或软件包中安装 graphics/drm-kmod 即可安装适合系统的驱动程序,然后将相应的驱动程序添加到 rc.conf(5) 中的 kld_list

对于 Broadwell™ 之后的 Intel®(i915)系统,rc.conf(5) 条目为:

kld_list="/boot/modules/i915kms.ko"

配备 ATI/AMD® 显卡的系统有两种选择。从 HD7000 系列 GPU 开始的现代系统应使用:

kld_list="/boot/modules/amdgpu.ko"

配备 HD7000 GPU 之前的显卡的系统使用:

kld_list="/boot/modules/radeonkms.ko"

注意

安装 graphics/drm-kmod 后,必须把用户添加到 GID video 中,才能正常启动 X。

注意

当使用来自基本系统的图形驱动时,已知 xserver 驱动存在问题,x11-drivers/xf86-video-ati 可能无法正常工作;应改用 x11-drivers/xf86-video-ati-legacy

注意

已知问题:在使用 UEFI 启动并使用 ATI/AMD® 图形驱动时,可能会导致屏幕在加载适当的驱动程序之前出现乱码。有关 FreeBSD 上图形支持的更多信息,请参见 Graphics Wiki Page

虚拟化支持

Amazon® EC2™ AMI 实例现在默认安装 sysutils/amazon-ssm-agent,但该服务默认在 rc.conf(5) 中未启用。要启用该服务,请添加: [r325254]

  >>/etc/rc.conf
    amazon_ssm_agent_enable="YES"

到 EC2™ 用户数据中。

Amazon® EC2™ AMI 实例现在默认禁用 sshd_config(5) 中的 ChallengeResponseAuthentication[r326564]

Amazon® EC2™ AMI 实例现在默认使用 Amazon® 内部 NTP 服务。 [r326565]

bhyve(8) 工具已更新,允许从用户空间控制 CPU 拓扑结构。 [r332298]

bhyve(8) 工具已更新,增加了对 virtio_scsi(4) 存储支持。 [r334940](由 iXsystems 赞助)

bhyve(8) 工具已更新,增加了对 NVMe 设备仿真的支持。 [r335974](由 iXsystems 赞助)

新增了 sysctl(8) security.jail.vmm_allowed,将其设置为 1 可允许在 jail(8) 中使用 bhyve(8)[r337023](由 HardenedBSD, G2, Inc. 赞助)

Amazon® EC2™ AMI 实例现在默认禁用 PS/2 键盘和鼠标设备,从而减少了 2.5 秒的启动时间。 [r338321]

ARM 支持

默认启用了对 ARM 系统的 USB OTG 串行终端的支持。 [r335004](由 FreeBSD 基金会赞助)

armv6 和 armv7 镜像现在默认使用 EFI 启动。 [r336998]

已添加对 PINE64-LTS 系统的 aarch64 镜像构建的支持。 [r337000]

默认启用了对 armv6 和 armv7 上 capsicum(4) 的支持。 [r338666](由 FreeBSD 基金会赞助)

存储

本节涉及文件系统和其他存储子系统(包括本地和网络存储)的变更和新增内容。

一般存储

UFS/FFS 文件系统已更新,以支持检查哈希到圆柱组映射。哈希检查支持仅适用于 UFS2。 [r323923]

CAM 目标层(CTL)前端和后端选项已进行了全面重构,采用 nv(3) 来创建多个 ioctl(2) 前端端口。 [r333446](由 iXsystems 赞助)

默认的 auto_master(5) 配置已更新,添加了 noautoro automount(8) 参数到 /media 挂载点(默认注释掉)。 [r337749](由美国国防高级研究计划局、美国空军研究实验室赞助)

UFS/FFS 文件系统已更新,合并了 TRIM/BIO_DELETE 命令,减少了由于同时发送较少的 TRIM 消息而导致的读写请求。 [r338056](由奈飞赞助)

TRIM 合并支持在 UFS/FFS 文件系统中默认启用。可以通过将 vfs.ffs.dotrimcons sysctl(8) 设置为 0,或将 vfs.ffs.dotrimcons=0 添加到 sysctl.conf(5) 来禁用 TRIM 合并。 [r338517](由奈飞赞助)

geom(8) 工具已更新,增加新参数 -p,用于打印指定提供程序的 GEOM 类。 [r338640](由美国国防高级研究计划局、美国空军研究实验室赞助)

geom(8) 工具已更新,增加新参数 -t,用于打印 GEOM 层次结构。 [r338684](由美国国防高级研究计划局、美国空军研究实验室赞助)

网络存储

NFS 版本 4.1 服务器已更新,包含 pNFS 服务器支持。 [r335012]

ZFS

ZFS 已更新,新增了 sysctl(8) 参数 vfs.zfs.arc_min_prefetch_msvfs.zfs.arc_min_prescient_prefetch_ms,以提高 zpool(8) scrub 子命令的性能。 [r334844]

启动加载器变更

本节涉及启动加载器、启动菜单以及其他与启动相关的变更。

启动加载器变更

lua loader(8) 已更新为检测可启动的已安装内核列表。 [r329501](由 Dell EMC Isilon 赞助)

loader(8) 已更新,以支持所有架构和所有类似磁盘的设备使用 geli(8)[r336252](由 Microchip Technology, Inc. 赞助)

init(8) 工具已更新,支持执行非 sh(1) 编写的可执行文件,例如 Python。 [r337321](由美国国防高级研究计划局、美国空军研究实验室赞助)

loader(8) 已更新,添加了对在启动过程中早期加载 Intel® 微代码更新的支持。 [r337715](由 FreeBSD 基金会赞助)

新增了 kenv(1) 变量 init_exec,该变量已添加到 loader(8),允许 init(8) 在打开控制台后执行文件,取代作为 PID 1init(8)[r337740](由美国国防高级研究计划局、美国空军研究实验室赞助)

默认的 libstand(3) 解释器已变更为 Lua。 [r338050]

lua loader(8) 已更新,支持模块黑名单。 [r339218]

默认的 lua loader.conf(5) 已更新,新增了选项 kernels_autodetect,默认值为 YES,补充了 loader(8) 支持列出可启动内核的功能,已在修订版 329501 中引入。 [r339308]

网络

本节介绍了影响 FreeBSD 网络的变更。

一般网络

carp(4) 接口已更新,当 sysctl(8) net.inet.carp.allow 设置为 0 时,保持状态为 INIT,而不是 MASTER[r333322](由 iXsystems 赞助)

包过滤器 pf(4) 现在可以在使用 vnet(9)jail(8) 中使用。

包过滤器 pf(4) 已更新,使用 rmlock(9) 代替 rwlock(9),带来了显著的性能提升。 [r334375]

网络堆栈添加了选项 SO_REUSEPORT_LB,能让多个程序或线程绑定到同一端口,并使用哈希函数对传入的连接进行负载均衡。 [r334719](由 Limelight Networks 赞助)

pf(4) ioctl 接口和 pfctl(8) 现在支持 altq(4) 带宽参数为 2^32 bps 或更大的值。HFSC 队列调度已升级,以支持高达 100 Gbps 的带宽参数,并且对未升级的队列调度,提供的带宽参数将饱和至之前的 32 位限制。 [r338253]

网络协议

已移除对令牌环网络的支持。[r331714](由美国国防高级研究计划局、美国空军研究实验室赞助)

已移除对 Arcnet 协议的支持。[r332490](由美国国防高级研究计划局、美国空军研究实验室赞助)

Ports 和包基础设施

本节涉及 FreeBSD Ports、包基础设施以及包维护和安装工具的变更。

打包变更

pkg(8) 工具已更新至版本 1.10.5_5。

KDE 已更新至版本 5.12.5。

Perl 已更新至版本 5.26.2。

Python 已更新至版本 2.7。

文档

本节涉及 FreeBSD 文档项目的源代码和工具链的变更。

文档源代码变更

新增手册页面 arch(7) ,包含了特定架构的详细信息。[r303033](由 FreeBSD 基金会赞助)

发布工程和集成

本节涉及特定于 FreeBSD 发布工程过程的变更。

集成变更

FreeBSD/i386 U 盘安装镜像已变更为使用 MBR 分区方案,代替 GPT,以解决某些 BIOS 启动问题。[r332446](由 FreeBSD 基金会赞助)

FreeBSD/amd64 U 盘安装镜像已变更为使用 MBR 分区方案,代替 GPT,以解决某些 BIOS 启动问题。[r334337](由 FreeBSD 基金会赞助)

最后更新于