LXC 3.0.1 已发布¶
2018年6月4日
简介¶
LXC 团队很高兴地宣布发布 LXC 3.0.1!
作为稳定的 bug 修复版本,没有进行重大更改,而是专注于 bug 修复和次要可用性改进。
亮点¶
- 改进 liblxc 各种部分的线程安全
- 修复 Coverity 识别的大量 bug
- 对 Seccomp 处理进行了多项改进,尤其是在个性方面
- 支持 GCC 8
Bug 修复 (LXC)¶
- 工具:修复未初始化变量
- 存储:修复 lvm fs uuid 生成
- lxc-oci:修复 Cmd/Entrypoint 解析
- lxc-oci:使 umoci 减少冗余输出
- lxclock:使用线程安全的 OFD fcntl() 锁
- locktests:修复测试套件
- conf:确保卸载不会传播到主机
- doc:调整 lxc.container.conf(5) 中的日语翻译
- 修复 lxc.init 中的信号发送
- rootfs 固定:在 NFS 上,使文件隐藏但不要删除它
- conf:修复临时文件创建
- ringbuf:修复临时文件创建
- 修复使用静态 libcap 和共享 gnutls 时的编译
- attach:始终丢弃辅助组
- lxc init:删除死代码
- storage/rsync:在错误时释放内存
- tools/utils:在错误时释放内存
- lxc init:编码风格
- utils:在旧的 glibc 上定义缺失的 __NR_setns
- attach:尝试始终丢弃辅助组
- conf:在错误时重新尝试不带 gid=5 的 devpts 挂载
- execute:修复没有根映射的应用程序容器
- conf:修复 run_script_argv() 中的网络类型检查
- seccomp:处理架构反转
- seccomp:处理所有错误
- seccomp:清理兼容架构处理
- seccomp:改进日志记录
- 工具:为 lxc-execute 记录 -d/--daemonize
- seccomp:非功能性更改
- seccomp:处理架构反转 II
- lxc-oci:创建下载目录
- do_lxcapi_create:设置 umask
- lxc/tools/lxc_monitor:包含缺失的
- pam-cgfs:创建 cgroup 层次结构时忽略系统 umask
- 还在检查点时将操作脚本传递给 CRIU
- 修复 cgfsng_attach 中的内存泄漏
- 修复 list_active_containers 中的内存泄漏
- 修复未设置 HAVE_SETNS 时 tool_utils.c 构建
- coverity:#1435210
- coverity:#1435208
- coverity:#1435207
- coverity:#1435206
- coverity:#1435205
- coverity:#1435203
- coverity:#1435200
- coverity:#1435198
- coverity:#1426734
- lxccontainer:非功能性更改
- lxccontainer:使用线程安全的 OFD 锁
- lxccontainer:非功能性更改
- lxccontainer:do_lxcapi_is_running()
- lxccontainer:do_lxcapi_freeze()
- lxccontainer:do_lxcapi_unfreeze()
- lxccontainer:非功能性更改
- lxccontainer:使用线程安全的 open() + write()
- lxccontainer:非功能性更改
- lxccontainer:非功能性更改
- lxccontainer:非功能性更改
- coverity:#1435263
- 修复 execute 日志文件的逻辑
- utils:添加 LXC_PROC_PID_FD_LEN
- execute:使用静态缓冲区
- execute:不要再次检查继承的文件描述符
- 添加一些 TRACE/ERROR 报告
- execute:考虑 -o path 选项计数
- execute:在找到现有 init 时设置 init_path
- genl:删除
- coverity:#1248104
- coverity:#1248105
- coverity:#1425744
- utils:考虑终止的 \0 字节
- confile:满足 gcc-8
- network:使 gcc-8 静音
- network:遵守 IFNAMSIZ 限制
- 支持大小的忽略大小写后缀
- utils:修复 parse_byte_size_string() 编码风格
- strlcpy:添加 strlcpy() 实现
- tree-wide:s/strncpy()/strlcpy()/g
- CODING_STYLE:添加关于使用 strlcpy() 的部分
- tools:s/strncpy()/strlcpy()/g
- 回滚“工具:s/strncpy()/strlcpy()/g”
- tools:s/strncpy()/memcpy()/
- doc:将“-d/--daemon”选项添加到日语 lxc-execute(1)
- doc:修复日语 lxc.container.conf(5) 中的大小单位样式
- coverity:#1435604
- coverity:#1435603
- coverity:#1435602
- coverity:#1425844
- config:允许在用户命名空间中读写 /sys
- coverity:#1425836
- coverity:#1248106
- capabilities:提高环境能力
- coverity:#1425802
- cgroups:重构 cgroup 处理
- cgroups:删除 freezer_state()
- seccomp:#ifdef SCMP_ARCH_AARCH64
- conf:简化 write_id_mapping()
- log:启用每个线程的容器名称前缀
- lxc-init:跳过无法捕获的信号
- execute:如果支持,使用 execveat() 系统调用
- tools:仅在请求时创建日志文件
- seccomp:修复 sscanf 数组分配中的越界错误
- seccomp:删除令人困惑的注释行
- seccomp:删除不必要的 memset
- seccomp:修复解析系统调用参数过滤器时的类型不匹配
- lxcseccomp:清理头文件
- seccomp:parse_config_v1()
- utils:添加 remove_trailing_newlines()
- seccomp:get_v2_default_action()
- seccomp:get_action_name()
- seccomp:get_v2_action()
- seccomp:修复 get_seccomp_arg_value()
- seccomp:parse_v2_rules()
- seccomp:移动 #ifdefines
- seccomp:get_hostarch()
- seccomp:scmp_filter_ctx get_new_ctx()
- seccomp:do_resolve_add_rule()
- seccomp:parse_config_v2()
- seccomp:parse_config()
- seccomp:lxc_read_seccomp_config()
- tree-wide:s/sigprocmask/pthread_sigmask()/g
- utils:修复 task_blocking_signal()
- lxccontainer:修复发送信号时的 fd 泄漏
- confile:排序架构
- start:记录 setns() 失败
- seccomp:泄漏修复
- seccomp:重新添加操作解析错误处理
- seccomp:重构 parse_config 的行处理
- seccomp:无法识别的操作错误
- seccomp:lxc_read_seccomp_config()
- seccomp:parse_v2_rules()
- seccomp:使 do_resolve_add_rule() 更加严格
- tools:修复带有全局配置值的 lxc-create
- tools:修复带有全局配置值的 lxc-create II
- coverity:#1435806
- coverity:#1435805
- coverity:#1435803
- coverity:#1435747
- conf:非功能性更改
- conf:使 is_execute 为布尔值
- conf:非功能性更改
- conf:使 close_all_fds 为布尔值
- conf:重新排列挂载成员
- conf:简化 tty 处理
- conf:pts -> pty_max
- conf:非功能性更改
- utils:修复 task_blocking_signal()
- network:修复套接字句柄泄漏
- start:不要将 ns_clone_flags 初始化为 -1
- conf:确保 lxc_delete_tty() 不会崩溃
- start:添加重启宏
- conf:使根 idmap 结构体为 const
- conf:使 tmp_umount_proc 为 bool
- conf:非功能性更改
- conf:未调用 va_end。
- confile:改进 strprint()
- 更改处理程序返回值的定义
- start:修复 waitpid() 阻塞问题
- start:记录未知的 info.si_code
- tree-wide:修复某些文件的模式
- confile_utils:应用 strprint()
- templates:实际创建 DOWNLOAD_TEMP 目录
- templates:修复下载模板
- 修补 lxc-update-config
Bug 修复 (LXC 模板)¶
- sshd:使用 lxc.autodev
- sshd:将容器名称传递给 init 脚本
支持和升级¶
LXC 3.0.1 支持到 2023 年 6 月,是我们当前的 LTS 版本,鼓励用户在发布后更新到最新的 bug 修复版本。
下载¶
- 主发行版 tarball:lxc-3.0.1.tar.gz (GPG:lxc-3.0.1.tar.gz.asc)
- LXC 模板 tarball:lxc-templates-3.0.1.tar.gz (GPG:lxc-templates-3.0.1.tar.gz.asc)
- LXC python3 绑定 tarball:python3-lxc-3.0.1.tar.gz (GPG:python3-lxc-3.0.1.tar.gz.asc)
内容