随着 7.0.0 版本的发布,pacman 增加了以单独的低权限用户身份来下载软件包的功能。
然而,对于使用本地仓库的用户,这可能意味着下载用户无法访问相关文件。要解决此问题,可以将这些文件和文件夹分配给 alpm
组,并确保相关文件夹设置了可执行权限(+x
)。
$ chown :alpm -R /path/to/local/repo
请记得合并 .pacnew 文件以应用新的默认设置。
pacman 还引入了一个更改,以提高使用 .gitattributes
文件的 git 仓库的校验和稳定性。使用 git 源码的 PKGBUILD
可能需要一次校验和更改。
2024-09-14更新:该问题已经通过更新 gcc 到包含修复的提交的方式得到解决。Arch Linux 的官方包(链接到更新后的 gcc-libs 者)将不再受影响。
由于在 2024b 版本中,tzdata 使用了暂不受支持的一些新格式,可能会造成 libstdc++ 及其他库无法正确解析。出现的错误现象可能是部分使用 C++ 编写的软件(如 waybar)无法识别和使用除了 UTC 以外的所有时区。
为了避免这个问题,目前可以将 tzdata 包降级到(或保留在)2024a-2 版本。
相关链接:Arch tzdata的错误报告、上游 tzdata 的讨论、libstdc++ 上的更改。
在更新到 openssh-9.8p1
之后,现存的 SSH 守护进程将无法再接受新的连接(详见 https://gitlab.archlinux.org/archlinux/packaging/packages/openssh/-/issues/5 )。
如果从远程更新系统,请确保在更新后立刻使用 systemctl try-restart sshd
命令重启 sshd 服务。
我们在评估是否可能在今后 openssh-9.8p1 的打包中加入更新时自动重启 sshd 服务的机制。
最近我们举办了项目负责人选举,前一任项目负责人 Levente “anthraxx” Polyák 再次参选,而没有别人参选。
因此根据选举规则他再任一届任期。
Arch Linux 项目负责人的职责包括作出一些决策(当没法达成共识时),处理和SPI相关的财政事务,以及整体的项目任务管理。
恭喜 Levente 并希望这一届任期也会是顺利的一届!🥳
系统参数 vm.max_map_count 的默认值将从 65530
增加到 1048576
。
这一变更应该能对一些内存需求较高的应用程序帮助改善性能,减少崩溃或者启动问题,尤其是(但不仅限于)通过 Wine/Steam Proton 玩一些 Windows 游戏的情况。总体上来说,用户应该得到更平滑的开箱使用体验,而目前没有已表明的潜在顾虑,参见 arch-dev-public 邮件列表上关于本提议的讨论。
这项对 vm.max_map_count
的修改将会增加到 2024.04.07-1
版本的 filesystem 包,并且将在更新后生效。
在更新系统前,如果你已经在 sysctl.d
文件中自己设置过这个参数,请要么删除它(来切换到新的默认值),要么确保你的配置文件会比 /usr/lib/sysctl.d/10-arch.conf
文件有更高的优先级(以覆盖新的默认值)。
简单讲:立即升级系统和容器镜像!
大家可能已经听说了 [1],xz
上游发布的 5.6.0
和 5.6.1
版本的代码包(tarball)中含有添加后门的恶意代码。
Arch Linux Security Tracker 记录了该漏洞 [2]。
xz
软件包旧于 5.6.1-2
的版本(即 5.6.0-1
和 5.6.1-1
)包含该后门。
以下发布内容(release artifacts)也包含了受影响的 xz
版本:
- 安装镜像:
2024.03.01
版
- 虚拟机镜像:
20240301.218094
和 20240315.221711
版
- 容器镜像:任何 2024-02-24 到 2024-03-28 之间(包括这两个日期)构建的版本
受影响的发布内容已经从我们的镜像站上移除。
强烈建议不要使用受影响这些受影响的发布内容。请下载当前的最新版本!
升级系统
如果你的系统当前安装了 xz 5.6.0-1
或 5.6.1-1
,强烈建议你立即进行完整系统升级:
pacman -Syu
升级容器镜像
要确定否正在使用受影响的容器镜像,使用以下命令(podman 用户):
podman image history archlinux/archlinux
或者(docker 用户):
docker image history archlinux/archlinux
所有旧于 2024-03-29 且新于 2024-02-24 的 Arch Linux 容器镜像都受到了影响。
使用以下命令升级受影响的容器镜像到最新版本(podman 用户):
podman image pull archlinux/archlinux
或者(docker 用户):
docker image pull archlinux/archlinux
升级之后,请确保重新构建基于受影响版本的任何容器镜像,并检查所有运行中的容器!
sshd 认证绕过 / 代码执行问题
根据上游报告 [1]:
openssh 不直接使用 liblzma。但 debian 和其他几个发行版对 openssh 打了补丁,引入了 systemd 通知支持,而 libsystemd 确实依赖于 lzma。
Arch 并不直接将 openssh 链接到 liblzma,因此这种攻击途径是不可能的。可以通过以下命令来确认这一点:
ldd "$(command -v sshd)"
但是,出于谨慎,我们建议用户通过升级系统/容器镜像移除恶意代码 —— 因为可能有其他还没有被发现的后门利用方法。
伴随 mkinitcpio v38 发布,几个之前以 Arch 打包提供的挂钩(hook)移动到了 mkinitcpio 上游项目中。这些挂钩是: systemd, udev, encrypt, sd-encrypt, lvm2 和 mdadm_udev。
为了保证不破坏用户设置,我们在相关包中加入了一些临时的冲突,避免安装不再相互兼容的包。
以下这些包必须同时更新:
- mkinitcpio 38-3
- systemd 255.4-2
- lvm2 2.03.23-3
- mdadm 4.3-2
- cryptsetup 2.7.0-3
请注意 mkinitpcio
的 --microcode
选项和 preset 文件中的 microcode
选项将被弃置,取而代之的是新的 microcode
挂钩。这可以让你删掉引导配置中的 initrd
加载微码的行,因为它们现在已经打包进了主 initramfs 镜像文件中。
为了提高性能、可靠性以及与 systemd 的集成,我们将 dbus-broker
设为 D-Bus 的默认实现。
在可预见的未来,我们仍将支持使用 dbus-daemon
,即之前的实现。Pacman 会询问你是否要安装 dbus-broker-units
或 dbus-daemon-units
。我们建议选择默认选项。
如需了解更详细的原因,请参阅我们的 RFC 25 。
archlinuxcn 社区源的 keyring 包 archlinuxcn-keyring 由 farseerfc 的 key 签署验证,而 Arch Linux 官方 keyring 中包含了 farseerfc 的 key 。自12月初 archlinux-keyring 中删除了一个退任的 master key 导致 farseerfc 的 key 的信任数不足,由 GnuPG 的 web of trust 推算为 marginal trust,从而不再能自动信任 archlinuxcn-keyring 包的签名。
如果你在新系统中尝试安装 archlinuxcn-keyring 包时遇到如下报错:
error: archlinuxcn-keyring: Signature from "Jiachen YANG (Arch Linux Packager Signing Key) " is marginal trust
请使用以下命令在本地信任 farseerfc 的 key 。此 key 已随 archlinux-keyring 安装在系统中,只是缺乏信任:
sudo pacman-key --lsign-key "farseerfc@archlinux.org"
之后继续安装 archlinuxcn-keyring :
sudo pacman -S archlinuxcn-keyring
我们很高兴地宣布 bugtracker 到 GitLab 的迁移已经完成!🥳
感谢每个在迁移过程中提供了帮助的人。
这意味着 GitLab 上的软件包仓库的 issue tracker 和 merge request 现在已经被启用了。
在此之后,旧版的 bugtracker 将会被关闭。但是出于归档相关的原因,我们会为其提供一份静态副本,如此,链接(比如这个随机选取的 Task #56716)将会保持稳定可用。被迁移的 bug 的评论区会留有一个关闭评论区的评论,该评论会提供一个指向 GitLab 的新 URL。
软件包的打包 bug 现在在对应软件包的打包资源仓库中创建。archlinux.org 的软件包页面上的 “Add a new Bug” 按钮现在将会自动将你引导到正确的地方去创建 issue。在此之后,工作流基本上和原先的一致。首先,我们的 Bug Wrangler 们会查看并分类 issue,然后它们将会被交由对应的 Package Maintainer 们去处理。一个完整的 issue 列表可以在这里找到。
如果你没有一个(授权认证了我们的 SSO 服务的)GitLab 帐号的话,你可以像 banner 中建议的那样使用你想要的用户名来写一份邮件发送到 accountsupport@archlinux.org。