第 2 章 Debian 10 的新变化

目录

2.1. 支持的架构
2.2. 这次发布中有什么新变化?
2.2.1. UEFI 安全启动
2.2.2. AppArmor 默认启用
2.2.3. 可选的 APT 加固
2.2.4. Stable 版的小版本号的无人值守升级
2.2.5. 德语手册页的大量改进
2.2.6. 网络过滤现在默认基于 nftables 框架
2.2.7. Cryptsetup 默认在磁盘上使用 LUKS2 格式
2.2.8. CUPS 2.2.10 提供的无驱动打印支持
2.2.9. 对基于全志 A64 的设备的基本支持

维基页面提供了更多关于这个主题的信息。

2.1. 支持的架构

下面是 Debian buster 官方支持的架构:

  • 32 位 PC 机(i386)和 64 位 PC 机(amd64

  • 64 位 ARM(arm64

  • ARM EABI(armel

  • ARMv7(EABI 硬浮点 ABI,armhf

  • MIPS(mips(大尾端)和 mipsel(小尾端))

  • 64 位小尾端 MIPS(mips64el

  • 64 位小尾端 PowerPC(ppc64el

  • IBM System z(s390x

您可以在 Debian 移植页面,读到更多的关于您的架构的移植状态和移植细节的信息。

2.2. 这次发布中有什么新变化?

 TODO: 确保你更新了 .ent 文件中的数字,
     (使用 changes-release.pl 脚本,位于 ../)

Debian 的这次发行再次带来了比上一版本 stretch 更多的软件;包括 15346 个新软件包,软件包的总数达到了 51687 个。这个发行版的多数软件包得到了更新:有 29859 个(占 stretch 软件包总数的 57%)。而且,由于各种原因,有相当数量的软件包(6739 个,占 stretch 软件包总数的 13%)从这次发行中被删除了。您将不会看到这些包有任何更新,而且在包管理软件中它们会被标记为“过时的”;参见第 4.8 节 “过时的软件包”

如往常一样,Debian 也包含了几个桌面程序和环境。这其中有 GNOME 3.30,KDE Plasma 5.14,LXDE 10,LXQt 0.14,MATE 1.20,以及 Xfce 4.12。

生产力应用也得到了升级,包括办公套件:

  • LibreOffice 已升级到 6.1 版;

  • Calligra 已升级到 3.1 版。

  • GNUcash 已升级到 3.4 版;

在 buster 中,Debian 第一次默认启用了强制性的访问控制框架。新安装的 Debian buster 系统会默认安装并启用 AppArmor。请见下面提供的更多信息。

另外,buster 是 Debian 第一个提供基于 Rust 的程序的发行版本,相关的应用程序有火狐(Firefox)、ripgrep、fd、exa 和很多基于 Rust 的软件库(数量超过 450 个)。Buster 提供 rustc 1.32 版本。

其他桌面应用程序的更新包括 Evolution 3.30。

这次发行包含了许多软件的更新,其中包括:

软件包在 9(stretch)中的版本在 10(buster)中的版本
Apache2.4.252.4.38
BIND DNS 服务器9.109.11
Cryptsetup1.72.1
Dovecot MTA2.2.272.3.4
Emacs24.5 和 25.126.1
Exim 默认邮件服务器4.894.92
GNU 编译器套件(默认编译器)6.37.4 和 8.3
GIMP2.8.182.10.8
GnuPG2.12.2
Inkscape0.92.10.92.4
GNU C 函数库2.242.28
lighttpd1.4.451.4.53
Linux 内核映像4.9 系列4.19 系列
LLVM/Clang 工具链3.76.0.1 和 7.0.1(默认)
MariaDB10.110.3
Nginx1.101.14
OpenSSH88 和 11
OpenSSH7.4p17.9p1
Perl5.245.28
PHP7.07.3
Postfix MTA3.1.83.3.2
PostgreSQL9.611
Python 33.5.33.7.2
Rustc 1.32
Samba4.54.9
Vim8.08.1
 TODO:(JFS)列出其它服务器软件?RADIUS? Streaming ?

2.2.1. UEFI 安全启动

安全启动(Secure Boot)是大多数个人电脑上启用的一项功能,它可以阻止未签名的代码在机器上运行,以保护机器不受某些 bootkit 和 rootkit 恶意程序的破坏。

Debian 现在可以在绝大多数启用了安全启动的个人电脑上安装并运行。

如果现有机器上已经有一份正在运行的 Debian 实例且机器正在使用 UEFI,您也可以手动启用安全启动功能。在此之前,您必须事先安装 shim-signedgrub-efi-amd64-signedgrub-efi-ia32-signed,以及来自 buster 的 Linux 内核软件包。

在安全启动模式下,GRUB 和 Linux 的某些功能会受到限制以阻止对它们的代码进行修改。

您可以在 Debian 维基 SecureBoot 页面上了解更多相关信息。

2.2.2. AppArmor 默认启用

Debian buster 默认启用 AppArmorAppArmor 是一个强制访问控制框架,可以通过给每个程序定义不同的配置文件,来限制程序的能力(例如 mount,ptrace 和 signal 权限,或者文件的读、写和执行权限)。

默认情况下,apparmor 软件包包含数个程序的 AppArmor 配置文件。某些其他软件包,例如 evince,包含它们所分发的程序的配置文件。更多的配置文件可以在 apparmor-profiles-extra 软件包中找到。

AppArmor 被安装是因为它属于 buster 的 Linux 内核软件包的 Recommends 。在被配置为默认不安装 Recommends 的系统上,可以手动安装apparmor 软件包以启用 AppArmor

2.2.3. 可选的 APT 加固

所有 APT 提供的方法(比如 http 和 https),除了 cdrom,gpgv 和 rsh 以外,都可以利用 Linux 内核提供的 seccomp-BPF 沙盒限制允许执行的系统调用列表,所有其他的系统调用会被 SIGSYS 信号捕获。该沙盒机制默认是可选的,需要通过以下方式启用:

      APT::Sandbox::Seccomp 是控制其开启/关闭的布尔变量
    

以下两个选项可以进行更深入的控制:

      APT::Sandbox::Seccomp::Trap 是需要额外捕获的系统调用名称列表
      APT::Sandbox::Seccomp::Allow 是需要额外允许的系统调用名称列表
    

2.2.4. Stable 版的小版本号的无人值守升级

旧版本的 unattended-upgrades 默认只安装安全更新。在 buster 中它也会自动安装最新的 stable 版的小版本号升级。详见此软件包的 NEWS.Debian 文件。

2.2.5. 德语手册页的大量改进

许多项目,例如 systemdutil-linuxmutt 的文档(man 页面)得到了大量的扩充。请安装 manpages-de 以从这项改进中获益。在 buster 的生命周期期间,更多新的或改进的翻译将通过 backports 软件仓库提供。

2.2.6. 网络过滤现在默认基于 nftables 框架

iptables v1.8.2 开始,该二进制包包含了 iptables-nftiptables-legacy,它们是 iptables 命令行界面的两个变种。 Buster 默认使用基于 nftables 的变种,它使用 nf_tables Linux 内核子系统。旧式(legacy)变种使用 x_tables Linux 内核子系统。可以使用 update-alternatives 系统来选择变种。

这将应用于所有相关的程序和实用工具:

  • iptables

  • iptables-save

  • iptables-restore

  • ip6tables

  • ip6tables-save

  • ip6tables-restore

  • arptables

  • arptables-save

  • arptables-restore

  • ebtables

  • ebtables-save

  • ebtables-restore

以上所有的命令都新增了 -nft-legacy 变种。-nft 变种是给不能或不愿意迁移至原生的 nftables 命令行界面的用户准备的。然而,我们强烈建议您切换至 nftables 界面,而不是继续使用 iptables

nftables 提供了 iptables 的完整替代,它具有更好的性能,全新的语法,对 IPv4/IPv6 双栈防火墙的更好的支持,用于动态更新规则集的完整的原子操作,提供给第三方应用的 Netlink API,利用改进的通用 set 和 map 基础架构实现的更快速的包分类,以及许多其他改进

这个变化与其他主要的 Linux 发行版一致,例如 RedHat 现在也使用 nftables 作为默认的防火墙工具

另外,请注意所有的 iptables 二进制程序现在都被安装在 /usr/sbin 而不是 /sbin。我们为了兼容性保留了一个符号链接,但它会在 buster 发布周期之后被移除。在脚本中使用的绝对路径需要被更正,并且需要避免使用。

详细的文档可以在该软件包的 README 和 NEWS 文件,以及 Debian 维基中找到。

2.2.7. Cryptsetup 默认在磁盘上使用 LUKS2 格式

Debian buster 包含的 cryptsetup 版本默认在磁盘上使用 LUKS2 格式。新的 LUKS 卷将默认使用这个格式。

与之前的 LUKS1 格式不同,LUKS2 提供了元数据冗余、元数据损坏检测、以及可配置的 PBKDF 算法。认证加密(authenticated encryption)也被支持,但仍被标记为实验性特性。

现有的 LUKS1 卷不会自动升级。它们可以被转换,但因为头的大小不兼容,不是所有的 LUKS2 特性都可用。参阅 cryptsetup 的手册页以获得更多信息。

请注意 GNU GRUB 引导加载器还不支持 LUKS2 格式。请阅读相应的文档以了解如何在加密的 boot 分区上安装 Debian 10。

2.2.8. CUPS 2.2.10 提供的无驱动打印支持

Debian 10 提供了 CUPS 2.2.10 和 cups-filters 1.21.6。它们结合起来为用户提供了无驱动打印的支持。要使用这项特性,所使用的网络打印队列或打印机必须支持 AirPrint 服务。现代的 IPP 打印机大多支持 AirPrint;Debian 的 CUPS 打印队列默认启用 AirPrint 功能。

最重要的好处是,CUPS 服务器或 IPP 打印机发送的含有队列的 DNS-SD (Bonjour) 广播,可以直接显示在应用程序的打印对话框中,用户无需作出任何改变。一个额外的好处是没有必要继续使用厂商提供的非自由打印驱动和插件了。

默认情况下,安装 cups 软件包时会同时安装 cups-browsed 软件包;该工具会自动设置并管理打印队列和 IPP 打印机。这是无缝体验无驱动打印功能的推荐做法

2.2.9. 对基于全志 A64 的设备的基本支持

感谢 linux-sunxi 社区的努力,Debian buster 将对许多基于全志 A64 SoC 的设备提供基本支持。 这包括 FriendlyARM NanoPi A64;Olimex A64-OLinuXino 和 TERES-A64;PINE64 PINE A64/A64/A64-LTS,SOPINE 和 Pinebook;SINOVOIP Banana Pi BPI-M64;以及 Xunlong Orange Pi Win(Plus)。

这些设备的基本功能(例如串口、以太网、USB 口和基本的图形输出)应当能在 buster 的内核下工作。更高级的功能(比如音频和图形加速)只在或计划在更新版本的内核中提供,和往常一样,新内核可以在 backports 软件仓库中找到。参见状态页面以获得这些功能合并至主线内核的进度。