LXC 2.0.0 版本发布公告¶
2016 年 4 月 6 日
LXC 团队非常高兴地宣布发布 LXC 2.0!
亮点¶
- 所有主要的 LXC 命令现在都已用 C 语言重写
- lxc-ls
- lxc-device
- lxc-copy
- 新的 lxc-copy 命令接管了 lxc-clone 和 lxc-start-ephemeral 的角色
- 大大改进了对容器检查点/恢复的支持
- 完全重新设计了 cgroup 处理,包括对 cgroup 命名空间的支持
- 各种命令行工具现在更加一致
- 重新组织了存储后端实现,包括添加了 Ceph RBD 后端
- 大量错误修复,其中大多数将在接下来的几个错误修复版本中移植到 1.0 和 1.1
- C API 与以前的版本保持向后兼容,并作为 1.2 发布
此版本由来自 96 位贡献者的贡献(720 次提交)完成。
新的配置选项¶
- lxc.ephemeral: 控制容器是否为短暂的,因此将在关闭时销毁
- lxc.rebootsignal: 允许覆盖为容器重启发送的信号
- lxc.hook.destroy: 在容器销毁时调用新的钩子
- lxc.hook.stop: 在命名空间拆卸之前,在主机上下文中运行,并引用容器
- lxc.init_uid: 由 lxc-execute 用于设置替代用户
- lxc.init_gid: 由 lxc-execute 用于设置替代组
- lxc.monitor.unshare: 允许在运行任何钩子之前取消共享挂载命名空间
新功能¶
- API
- API 版本为 1.2,与 1.1 和 1.0 完全向后兼容
- 新符号
- 新的 migrate() 符号作为 checkpoint() 的替代方法,使用 migrate_opts 结构来简化添加
- python3
- 支持将存储后端传递给 create()
- lua
- 添加对 get_ips() 的支持
- 添加对 get_interfaces() 的支持
- 添加对 rename() 的支持
- 核心
- cgfsng: 针对最近的 Linux 内核的新 cgroup 后端驱动程序
- cgroup: 对新的 cgroup 层次结构的部分支持
- cgroup: 对 cgroup 命名空间的支持
- checkpoint: 支持对默认 LXC 容器进行检查点/恢复
- checkpoint: 支持对无特权容器进行检查点/恢复
- checkpoint: 对页面服务器的支持
- config: lxc.aa_profile: 现在支持“未更改”值
- config: lxc.init_cmd: 现在支持参数
- config: lxc.network.macvlan.mode: 添加了对“passthru”模式的支持
- config: lxc.rootfs.backend: 允许覆盖存储后端(绕过自动检测)
- config: 新的 nesting.conf 配置文件用于设置容器嵌套
- hooks: 新的 LXC_CGNS_AWARE 环境变量,如果 LXC 支持 cgroup 命名空间,则设置为 1(但内核可能不支持)
- hooks: 新的 LXC_SRC_NAME 环境变量在克隆钩子中设置,其中包含原始容器名称
- hooks: 新的 LXC_TARGET 环境变量设置了容器目标(停止或重启)
- logging: 更新了日志时间戳,使其更具可读性
- lxc-usernet: 支持使用 veth 接口而无需桥接的容器
- lxc-usernet: 支持基于组的配额(使用 @ 前缀)
- network: 桥接接口 MTU 现在用作默认容器接口 MTU
- start: 进程标题现在已重命名,使其更易于阅读
- storage: 新的 Ceph RBD 存储后端
- 文档
- 所有手册页的韩语翻译
- 命令
- lxc-attach: 使用中间 pts 设备来防止针对父 shell 的攻击
- lxc-clone: 支持重命名容器
- lxc-start-ephemeral: 支持更改绑定挂载目标
- 初始化系统
- systemd: 支持实例化服务单元
- 模板
- 新的 ALTLinux 模板
- 新的 Slackware 模板
- 新的 SPARCLinux 模板
- alpine: 支持安装额外软件包
- debian: 默认仅启用“main”,允许通过参数启用其他存储库
- oracle: 在容器中设置时区
- openssh: 添加 OpenSSH 支持
- ubuntu: 新的 -v 选项允许用户设置 debootstrap 变体
- ubuntu-cloud: 支持供应商数据直通
行为变更¶
- lxc-autostart 容器启动顺序现在已反转(以使其正确)
- 新的 cgfsng cgroup 后端现在是推荐的后端
- lxc.hook.post-stop 故障现在对容器重启来说是致命的
请注意,此版本中一些命令已经过重大修改。
我们不认为我们的命令行工具是稳定的 ABI,因此您可能需要测试和调整您的脚本,
或者更好的是,将它们移植到使用我们稳定的 C API 或其绑定之一。
弃用警告¶
“lxc-clone” 和 “lxc-start-ephemeral” 命令现在被视为已弃用,并将由新的 lxc-copy 替换。
这些命令仍然可以通过使用 --enable-legacy 标志进行构建,但是请注意,在使用时它们将打印警告
并且它们将从即将发布的 LXC 版本中移除。
支持¶
这是第二个 LXC 长期支持版本,我们将支持到 2021 年 6 月 1 日。
LXC 1.0,我们之前的长期支持版本,仍然支持到 2019 年 6 月 1 日。
最后,之前的稳定版本 LXC 1.1 将在 2016 年 9 月 1 日停止使用。
下载¶
可以在我们的 下载页面 上找到发布的 tarball,我们预计大多数发行版
很快就会发布 LXC 2.0.0 的打包版本。
如果您对单个更改感兴趣,或者只是查看详细的开发历史,
我们的主分支位于 GitHub 上。