Linux内核新闻 - 2013年11月
主线版本发布 (Linus 树) 新闻
3.13-rc2 已于 11月29日 发布。此候选版本包含一些小的错误修复。请阅读 3.13-rc2 发布公告。
3.13-rc1 已于 11月22日 发布,其中包含常见的补丁组合,55% 驱动程序,8% 架构代码,9% 网络更新,其余部分分散在各处(fs,headers,tools,documentation)。nftables,多队列块层和奇怪的小端 PowerPC 支持是一些功能。您可以找到 3.13-rc1 发布公告。请阅读 小端 PowerPC 以获取更多信息。
3.12 已于 2013年11月7日 发布。此版本增加了对 Btrfs 中离线重复数据删除的支持,具有双 GPU 的笔记本电脑中的自动 GPU 切换,AMD Radeon 显卡的性能提升,更好的 RAID-5 多核性能,改进的内存不足情况处理,改进的 VFS 路径名解析可伸缩性,对无定时器多任务模式的改进,图形 DRM 层中单独的模式设置和渲染设备节点,改进的虚拟化客户机的锁定性能,XFS 目录递归可伸缩性改进,IPC 可伸缩性改进,tty 层锁定改进,新驱动程序和许多小的改进。请查找 3.12 更改的完整列表 以获取详细信息。
稳定版本发布新闻
截至撰写本文时,最新的稳定版本如下
版本 | 版本号 | 预计EOL (生命周期结束) |
---|---|---|
稳定版 3.12 | 3.12.3 | 未公布 |
稳定版 3.11 | 3.11.10 | EOL 2013年11月29日 |
长期支持版 3.10 | 3.10.22 | 2015年9月 |
长期支持版 3.4 | 3.4.72 | 2014年10月 |
长期支持版 3.2 | 3.2.53 | 2016 |
长期支持版 3.0 | 3.0.101 | EOL 2013年10月22日 |
长期支持版 3.0 | 3.0.101 | EOL 2013年10月22日 |
长期支持版 2.6.34 | 2.6.34.14 | 2013年中 |
长期支持版 2.6.32 | 2.6.32.61 | 2014年中 |
扩展稳定版 3.11.y.z | 3.11.10.1 | 扩展稳定版 |
扩展稳定版 3.8.y.z | 3.8.13.13 | 扩展稳定版 |
扩展稳定版 3.5.y.z | 3.5.7.27 | 扩展稳定版 |
如果您想知道这些稳定版本是如何管理的以及新版本发布的频率,请查看更多详细信息:活跃内核版本
Linux RT
Linux RT 稳定版本发布非常频繁。请查看 linux-stable-rt.git 获取最新版本。
扩展稳定版
Linux 3.11.y.z 扩展稳定版支持已发布。Ubuntu 内核团队正在接手 3.11.10 稳定版维护,以继续支持 Ubuntu 13.10 “Saucy Salamander”。Ubuntu 内核团队将为 Linux 3.11 内核提供扩展稳定支持,直到 2014年8月,作为 Canonical 基础设施上维护的第三方工作。
在哪里可以找到 Linux 版本的全部 git 树?
Linux 版本 | Git |
---|---|
主线 | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git |
稳定版本 (全部) | git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git |
Linux RT 版本 | git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git |
扩展稳定版本 | git://kernel.ubuntu.com/ubuntu/linux.git |
前沿 linux-next | git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git |
nftables
3.13 版本增加了一个新的网络数据包过滤框架。这个新的 nftables 框架计划取代 IP-tables,并提供一个向后兼容层,允许继续使用 IP-tables/IP6-tables,且语法无需更改,基于 nftables 框架。
nftables 旨在利用现有的 Netfilter 基础设施钩子、连接跟踪系统、用户空间排队组件和日志子系统。它由一个内核组件、一组库和一个用户空间实用程序组成。
nftables 内核组件运行一个伪状态机字节码,该字节码由用户提供的规则集编译而来。nftables 用户空间实用程序生成字节码并使用 nftables Netlink 的 API 将其传输到内核。通过这种方法,用户空间成为解释用户指定规则集并将其转换为内核运行的可执行步骤的大脑。因此,更容易添加对新协议的支持,而无需更改内核来添加对新协议的支持。此外,跟踪连接的能力对于支持依赖于基于流和连接信息采取行动的功能非常有用。
始终希望降低内核复杂性并保持与现有 IPtables 功能的向后兼容性。总而言之,这是一个非常好的功能。Unix 老手会看到 nftables 设计与 Berkeley Packet Filters (BPF) 之间的相似之处。请参考 Nftables 项目页面 和 Nftables 快速入门 了解更多关于此主题的信息。
Linux 3.12 为 Btrfs 增加了离线数据去重支持
去重是一种智能压缩方法,它可以消除重复或冗余信息,从而减少存储需求。Btrfs 已得到增强,可在 3.12 中支持离线数据去重。去重可以由用户空间软件以系统管理员可控的方式触发。文件系统需要挂载并处于活动状态才能进行去重。在线支持(在进程写入数据时自动运行)将在未来的版本中添加。此功能可以减少某些工作负载的存储需求,虚拟化服务器是其中一个示例,其中有多个虚拟机运行相似的操作系统和软件。请参考 Linux 3.12 中 Btrfs 的性能改进。
Smack 锁安全模式 3.13
Linux 文件锁定不遵循与其他机制相同的规则。即使它是一个写入操作,进程也可以对仅以读取访问方式打开的文件设置读取锁。两个具有文件读取权限的程序可以使用读取锁进行通信。这在强制访问控制环境中是不可接受的。Smack 将设置读取锁视为它所是的写入操作。不幸的是,许多程序假设设置读取锁是读取操作。这种混淆导致复杂的应用程序程序必须在 Smack 环境中解决此问题。3.13 中引入了一种新的访问模式(lock)来解决这个问题。
具有文件锁定访问权限的进程可以设置读取锁。具有文件写入访问权限的进程可以设置读取锁或写入锁。这可以防止进程被授予写入访问权限只是为了它们可以设置读取锁的情况。请在 Smack:实现锁安全模式 和 3.13 的安全子系统更新 中找到有关此问题和 3.13 安全子系统的其他更改的更多信息。
最终想法
总的来说,接下来是 3.13 集成周期的其余部分以及大约 4 - 6 周内 3.13 版本的发布。3.14 的开发正在进行中。CPUFreq 工作、将 AT91 迁移到通用时钟框架、fwserial 更改(包括添加构建配置选项以控制每个适配器和总共可以存在的 fwserial 设备数量)以及 posix cpu 定时器清理已提交用于 3.14。
nftables 将影响和受益于各种使用 IPtables 的产品和解决方案。例如,DroidWall (Android 防火墙) 解决方案目前基于 IPtables,包括内核和用户空间组件。随着 nftables 取代 IPtables,这种情况将会改变。正如我之前提到的,nftables 内核实现是向后兼容的,并且仍然可以使用 IPtables 语法,但是随着时间的推移,基于 IPtables 的解决方案将发展为利用 nftables。
Btrfs 去重功能有助于减少云和虚拟化解决方案中的存储需求。
Smack 锁安全模式 应该有助于简化使用此框架的应用程序。