LXC 4.0.5 LTS 已发布¶
2020 年 10 月 22 日
介绍¶
LXC 团队很高兴地宣布 LXC 4.0.5 发布!
这是 LXC 4.0 的第五个 bug 修复版本,支持到 2025 年 6 月。
错误修复¶
本版本的一些亮点包括
- 支持在容器内分配 PTS 设备
- 加固更多路径/挂载处理逻辑
- 重新设计 LSM 逻辑以限制初始化程序的使用
完整的提交列表如下
详细变更日志
- terminal: 安全地从容器内部分配 pts 设备
- macro: 定义 TIOCGPTPEER(如果缺失)
- conf: 使用 openat() 而不是 open_tree()
- seccomp: 不要关闭主循环,只需删除处理程序
- seccomp: 添加 seccomp_notify_fd_active api 扩展
- seccomp: 将通知 fd 作为消息的一部分发送
- api-extension: 添加缺失的 seccomp_proxy_send_notify_fd 扩展
- 恢复 "templates/lxc-download.in: 使用 GPG 选项 --receive-keys 而不是 --recv-keys"
- lxc-download: 修复重试循环
- syscalls: 添加 openat2()
- utils: 添加基于 openat2() 的 safe_mount_beneath()
- conf: 将 mount_autodev() 切换到新的 safe_mount_beneath() 助手
- cgfsng: 使用 safe_mount_beneath()
- utils: 引入 safe_mount_beneath_at()
- conf: 将文件描述符存储到 struct lxc_rootfs 中的根挂载点
- conf: 在 mount_autodev() 中使用存储的容器挂载点 fd
- file_utils: 添加 exists_dir_at()
- conf: 通过 save_mount_beneath_at() 加固 lxc_fill_autodev()
- conf: 将 /dev 设置移至基于文件描述符
- terminal: 加固终端分配
- lsm: 重新设计 lsm 处理
- lsm: 在 ase 我们使用多线程的情况下使用原子操作
- lsm: 删除对原子操作的需求
- 更新文档以反映对纯 cgroupv2 的缺乏支持
- cgfsng: 修复 cgroup 附加 cgroup 创建
- 删除 lxc.service 中过时的选项,修复 #3527
- 仅检查 rootfs 作为文件系统类型
- cgroups: 修复 armhf 构建
- 删除无用的参数
- 避免 lxc-attach 中的空指针解引用
- terminal: 引入 lxc_terminal_signal_sigmask_safe_blocked()
- attach: 使用 lxc_terminal_signal_sigmask_safe_blocked()
- commands: 如果 unfreeze 失败,不要失败
- lxc-usernsexec: 与其他地方类似,setgroups() 在 EPERM 上不应该失败
- 删除关于标准输出的过时设置
- seccomp: 检查 syscall 是否在兼容体系结构上受支持。
- seccomp: 记录无效的 seccomp 通知 ID
- seccomp: 改善默认通知发送
- seccomp: 修复 powerpc 上的编译
- sync: 切换到新的错误助手
- sync: 记录同步状态
- start: 改善 devpts fd 发送
- conf: 始终将响应发送给等待 devptfs_fd 的父进程
- conf: 考虑发送 devpts fd 时的提前返回
支持和升级¶
LXC 4.0 分支支持到 2025 年 6 月。
只有错误修复和安全问题会被包含在稳定的 bug 修复版本中,因此始终安全且建议保持最新并运行最新的 bug 修复版本。
下载¶
- 主发行版压缩包: lxc-4.0.5.tar.gz
- GPG 签名: lxc-4.0.5.tar.gz.asc