第 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.2.10. 来自 Debian Med Blend 团队的新闻
2.2.11. GNOME 默认使用 Wayland
2.2.12. 全新安装的系统上默认启用 /usr 合并
2.2.13. 来自 Debian Live 团队的新闻

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

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. 这次发布中有什么新变化?

Debian 的这次发行再次带来了比上一版本 stretch 更多的软件;本次发行包括 13370 个新软件包,软件包的总数达到了 57703 个。这个发行版的多数软件包得到了更新:更新了 35532 个软件包(占 stretch 软件包总数的 62%)。而且,由于各种原因,有相当数量的软件包(7278 个,占 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.34 版本。

其他桌面应用程序的更新包括 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
OpenJDK811
OpenSSH7.4p17.9p1
Perl5.245.28
PHP7.07.3
Postfix MTA3.1.83.3.2
PostgreSQL9.611
Python 33.5.33.7.3
Rustc 1.34
Samba4.54.9
Vim8.08.1

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 。在被配置为默认不安装推荐的软件包的系统上,可以手动安装 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 软件仓库中找到。参见状态页面以获得这些功能合并至主线内核的进度。

2.2.10. 来自 Debian Med Blend 团队的新闻

Debian Med 团队增加并更新了一些生命科学和医学相关的软件包。团队正努力在相关软件上添加对持续集成(CI)的支持。

如需安装由 Debian Med 团队维护的软件包,请安装名称含有 med-* 的元软件包,它在 Debian buster 上的版本号为 3.3。欢迎访问 Debian Med 任务页面以查看 Debian 中可用的生物学和医学相关的软件的完整列表。

2.2.11. GNOME 默认使用 Wayland

Buster 中的 GNOME 跟随上游变更,默认使用 Wayland 显示服务器替代了 Xorg。Wayland 的设计更为简单而现代,且在安全性上有了改进。

系统默认仍然会安装 Xorg 显示服务器,您可以在启动会话之前选择所使用的显示服务器;选择不同的显示服务器对于使用特定的应用程序会有帮助( 第 5.1.9 节 “某些应用程序在 Wayland 下的 GNOME 中无法工作”)。

我们推荐需要使用显示服务器的易访问性功能(例如,全局键盘快捷键)的用户继续使用 Xorg 而非 Wayland。

2.2.12. 全新安装的系统上默认启用 /usr 合并

在全新安装系统时,/bin/sbin/lib 目录下的内容将默认安装至对应的 /usr 目录下的位置。/bin/sbin/lib 将变成指向 /usr/ 下面真实目录的软链接。具体来说如下所示:

/bin → /usr/bin
/sbin → /usr/sbin
/lib → /usr/lib
    

当升级到 buster 时,系统将保持不变,尽管有需要时可以使用 usrmerge 软件包进行转换。freedesktop.org 项目建立的维基中说明了这样做的大多数理由。

这次变更应当不会影响只运行由 Debian 提供软件的用户,但安装或构建第三方软件包的用户需要注意。

2.2.13. 来自 Debian Live 团队的新闻

Debian Live 团队很自豪地向 live ISO 增加了一个新的风格:LXQt。LXQt 是一个轻量级的桌面环境。它不会干扰您的工作。它不会让您的系统挂起或运行缓慢。它专注于成为一个具有现代外观的经典桌面。

Debian Live LXQt 项目提供的 LXQt 桌面环境是纯净且未被修改的,所以您将获得 LXQt 开发者为它们的流行的操作系统创建的标准桌面体验。我们提供了标准的 LXQt 布局,它由位于屏幕底部的一个面板(任务栏)组成,包括了各种实用小部件,例如主菜单、任务管理器、启动器、系统托盘区和集成的日历。

Buster 的 Live 映像包含了一个很多其他发行版也包含的部件,Calamares 安装程序。Calamares 是一个独立的安装程序项目(他们称之为通用安装框架),提供了基于 Qt 的系统安装界面。它并不会在 Live 映像中取代 Debian 安装程序;它只服务不同的用户群体。

Calamares 非常易于使用,具有友好的分区指导和十分简单的全盘加密设定界面。它并不包含 Debian 安装程序提供的所有高级功能(虽然它最近新增了 RAID 支持),也不提供无人值守安装模式。然而,对于 95%+ 的桌面和笔记本用户,用 Calamares 安装系统更容易,因此更适合用于 Live 系统。对于任何需要更复杂功能的用户,或者需要批量安装的用户,我们仍然提供文本和图形界面的 Debian 安装程序。

Debian Live Buster 重新引入了标准 Live 映像。这是一个基本的 Debian 映像,包含了基本 Debian 系统,不包含任何图形用户界面。因为它使用 squafs 映像进行安装,而不是使用 dpkg 安装系统文件,安装时长会比用最小 Debian 安装映像快得多。