Recently we held our leader election, and the previous Project Leader Levente "anthraxx" Polyák ran again while no other people were nominated for the role.
As per our election rules he is re-elected for a new term.
The role of of the project lead within Arch Linux is connected to a few
responsibilities regarding decision making (when no consensus can be reached), handling
financial matters with SPI and overall project management tasks.
Congratulations to Levente and all the best wishes for another successful term! 🥳
The vm.max_map_count paramater will be increased from the default 65530 value to 1048576.
This change should help address performance, crash or start-up issues for a number of memory intensive applications, particularly for (but not limited to) some Windows games played through Wine/Steam Proton. Overall, end users should have a smoother experience out of the box with no expressed concerns about potential downsides in the related proposal on arch-dev-public mailing list.
This vm.max_map_count increase is introduced in the 2024.04.07-1 release of the filesystem package and will be effective right after the upgrade.
Before upgrading, in case you are already setting your own value for that parameter in a sysctl.d configuration file, either remove it (to switch to the new default value) or make sure your configuration file will be read with a higher priority than the /usr/lib/sysctl.d/10-arch.conf file (to supersede the new default value).
TL;DR: Upgrade your systems and container images now!
As many of you may have already read (one), the upstream release tarballs for xz in version 5.6.0 and 5.6.1 contain malicious code which adds a backdoor.
This vulnerability is tracked in the Arch Linux security tracker (two).
The xz packages prior to version 5.6.1-2 (specifically 5.6.0-1 and 5.6.1-1) contain this backdoor.
The following release artifacts contain the compromised xz:
installation medium 2024.03.01
virtual machine images 20240301.218094 and 20240315.221711
container images created between and including 2024-02-24 and 2024-03-28
The affected release artifacts have been removed from our mirrors.
We strongly advise against using affected release artifacts and instead downloading what is currently available as latest version!
Upgrading the system
It is strongly advised to do a full system upgrade right away if your system currently has xz version 5.6.0-1 or 5.6.1-1 installed:
pacman -Syu
Upgrading container images
To figure out if you are using an affected container image, use either
podman image history archlinux/archlinux
or
docker image history archlinux/archlinux
depending on whether you use podman or docker.
Any Arch Linux container image older than 2024-03-29 and younger than 2024-02-24 is affected.
Run either
podman image pull archlinux/archlinux
or
docker image pull archlinux/archlinux
to upgrade affected container images to the most recent version.
Afterwards make sure to rebuild any container images based on the affected versions and also inspect any running containers!
Regarding sshd authentication bypass/code execution
From the upstream report (one):
openssh does not directly use liblzma. However debian and several other
distributions patch openssh to support systemd notification, and libsystemd
does depend on lzma.
Arch does not directly link openssh to liblzma, and thus this attack vector is not possible. You can confirm this by issuing the following command:
ldd "$(command -v sshd)"
However, out of an abundance of caution, we advise users to remove the malicious code from their system by upgrading either way. This is because other yet-to-be discovered methods to exploit the backdoor could exist.
With the release of mkinitcpio v38, several hooks previously provided by Arch packages have been
moved to the mkinitcpio upstream project. The hooks are: systemd, udev, encrypt,
sd-encrypt, lvm2 and mdadm_udev.
To ensure no breakage of users’ setup occurs, temporary
conflicts have been introduced into the respective packages to prevent installing packages
that are no longer compatible.
The following packages needs to be upgraded together:
mkinitcpio 38-3
systemd 255.4-2
lvm2 2.03.23-3
mdadm 4.3-2
cryptsetup 2.7.0-3
Please note that the mkinitcpio flag --microcode, and the microcode option in the preset files, has been deprecated in favour of
a new microcode hook. This also allows you to drop the microcode initrd
lines from your boot configuration as they are now packed together with the main initramfs image.
We are making dbus-broker our default implementation of D-Bus, for
improved performance, reliability and integration with systemd.
For the foreseeable future we will still support the use of dbus-daemon,
the previous implementation. Pacman will ask you whether to install
dbus-broker-units or dbus-daemon-units. We recommend picking the
default.
For a more detailed rationale, please see our RFC 25.
We are happy to announce that the migration of the bugtracker to GitLab is done! 🥳
Thanks to everyone who has helped during the migration!
This means the issue tracker and merge requests on the GitLab package repos are now enabled.
The old bugtracker will subsequently be closed down. For archiving reasons there will be a static copy so that links (for example the randomly picked Task #56716) are still stable, migrated bugs have a closing comment pointing to the new URL on GitLab.
Packaging bugs are now opened on the repo hosting the corresponding packaging sources, the "Add a new Bug" button on the package page on archlinux.org will automatically direct you to the correct place to open the issue. The workflow afterwards is mostly the same, first our Bug Wranglers will have a look at the issues and triage them, and then they will be handed over to the respective Package Maintainers to fix. A list of all issues can be found here.
If you do not have an account for GitLab already (which authenticates against our SSO service), please write us a mail with your desired username to accountsupport@archlinux.org as advised in the banner.
We are introducing a change in JDK/JRE packages of our distro. This is
triggered from the way a JRE is build in modern versions of Java (>9). We are
introducing this change in Java 21.
To sum it up instead of having JDK and JRE packages coexist in the same system
we will be making them conflict. The JDK variant package includes the runtime
environment to execute Java applications so if one needs compilation and
runtime of Java they need only the JDK package in the future. If, on the other
hand, they need just runtime of Java then JRE (or jre-headless) will work.
This will (potentially) require a manual user action during upgrade:
if you have both JDK and JRE installed you can manually install the JDK
with pacman -Sy jdk-openjdk and this removes the JRE related packages.
if you have both JRE and JRE-headless you will need to choose one of
them and install it manually since they would conflict each other now.
If you only have one of the JDK/JRE/JRE-headless pacman should resolve
dependencies normally and no action is needed.
At the moment this is only valid for the upcoming JDK 21 release.
With shadow >= 4.14.0, Arch Linux’s default password hashing algorithm changed from SHA512 to yescrypt [1].
Furthermore, the umask [2] settings are now configured in /etc/login.defs instead of /etc/profile.
This should not require any manual intervention.
Reasons for Yescrypt
The password-based key derivation function (KDF) and password hashing scheme yescrypt has been chosen due to its adoption (readily available in libxcrypt, which is used by pam [3]) and its stronger resilience towards password cracking attempts over SHA512.
Although the winner of the Password Hashing Competition [4] has been argon2, this even more resilient algorithm is not yet available in libxcrypt [5][6].
Configuring yescrypt
The YESCRYPT_COST_FACTOR setting in /etc/login.defs is currently without effect, until pam implements reading its value [7]. If a YESCRYPT_COST_FACTOR higher (or lower) than the default (5) is needed, it can be set using the rounds option of the pam_unix [8] module (i.e. in /etc/pam.d/system-auth).
General list of changes
yescrypt is used as default password hashing algorithm, instead of SHA512
pam honors the chosen ENCRYPT_METHOD in /etc/login.defs and does not override the chosen method anymore
changes in the filesystem (>= 2023.09.18) and pambase (>= 20230918) packages ensure, that umask is set centrally in /etc/login.defs instead of /etc/profile
[1] https://www.openwall.com/yescrypt/
[2] https://man.archlinux.org/man/umask.1p
[3] https://wiki.archlinux.org/title/PAM
[4] https://www.password-hashing.net/
[5] https://github.com/besser82/libxcrypt/pull/113
[6] https://github.com/besser82/libxcrypt/pull/150
[7] https://github.com/linux-pam/linux-pam/issues/607
[8] https://man.archlinux.org/man/pam_unix.8
As of ansible-core 2.15.3, upstream moved documentation and examples to a separate dedicated repository (see the related changelogs).
This means that, starting from version 2.15.3 the ansible-core package will stop shipping documentation and a default configuration example under /etc/ansible/ansible.cfg.
Regarding the documentation, it is available online: https://docs.ansible.com/
As for the configuration file, as explained in the wiki, a base config can be generated with the following command:
ansible-config init --disabled > ansible.cfg
After updating from ansible-core <= 2.15.2-1 to >= 2.15.3-1, everyone using a custom global Ansible configuration file stored under /etc/ansible/ansible.cfg will have their configuration saved as a pacsave file.
To restore it, run the following command:
mv /etc/ansible/ansible.cfg.pacsave /etc/ansible/ansible.cfg
When upgrading from budgie-desktop 10.7.2-5 to 10.7.2-6, the package mutter43 must be replaced with magpie-wm, which currently depends on mutter. As mutter43 conflicts with mutter, manual intervention is required to complete the upgrade.
First remove mutter43, then immediately perform the upgrade. Do not relog or
reboot between these steps.
pacman -Rdd mutter43
pacman -Syu