Welcome to the archzfs wiki!
Report an issue
To report an issue with OpenZFS integration into Arch Linux, visit the reporting page!
The archzfs repository
This repository is not endorsed by the Arch Developers and is referred to as an "unofficial" repository for Arch Linux.
Included package groups
The archzfs repository includes the following package groups that target a particular kernel.
You can install multiple of these groups side by side, but you can't mix git and non git versions.
The default kernel for Arch Linux and latest stable OpenZFS. Use this if you are concerned about ZFS stability.
While this is the best option for most people, occasionally the OpenZFS project gets behind on stable support for the latest Linux Kernel release. This means that if Linux 4.15 is released to core, but the latest stable release of OpenZFS does not support Linux 4.15, it is not possible to perform a system update. Sometimes it can take a few days, a few weeks, or a month to release a new stable version of OpenZFS. If you happen miss to upgrade a more recent OpenZFS supported version, and the latest stable is ahead of the OpenZFS supported one, there's a solution to upgrade to the latest OpenZFS supported kernel without digging up the matching kernel packages from Arch Linux Archive.
Some users just wait for a new stable OpenZFS version. It is possible to tell pacman to ignore updates to the linux package in
/etc/pacman.confand keep the system up-to-date, minus the kernel. Other users don't like having a system that is not completely up-to-date. The archzfs project has packages for users of all types!
The for Arch Linux with OpenZFS being built from the latest git commit for ZFS and SPL. Use this if feature is required from OpenZFS that is not included in the latest stable release of OpenZFS, or if the current stable OpenZFS version does not support the Linux version that is in core.
The packages with "git" in the names in the archzfs repo build from the master branches of the ZFS and SPL repositories of the OpenZFS project. This does result in some risk that a system may become unstable due to unknown bugs. However, every commit that makes it into the master branch in these projects has been regression tested, so there is some comfort in knowing that. In the future, the archzfs project will run the same tests that the OpenZFS project uses after packages are built for reduced risk.
archzfs-linux-lts and archzfs-linux-lts-git
Support for the lts Linux Kernel packages.
archzfs-linux-hardened and archzfs-linux-hardened-git
Support for the linux-hardened kernel.
archzfs-linux-zen and archzfs-linux-zen-git
Support for the linux-zen kernel packages in extra. See https://github.com/zen-kernel/zen-kernel/issues/30 for provide features of the linux-zen kernel.
archzfs-dkms and archzfs-dkms-git
These packages support all kernels, but need to be automatically rebuilt on every kernel update on the users machine. This can increase the time it takes to update a system. Use this package if switching kernels often.
Using the archzfs repository
Add the following to the end of
[archzfs] Server = https://archzfs.com/$repo/$arch
Both the database and the packages are signed, so you will have to add the key to pacman's trusted key list.
# pacman-key -r DDF7DB817396A49B2A2723F7403BD972F75D9D76 # pacman-key --lsign-key DDF7DB817396A49B2A2723F7403BD972F75D9D76
Then update your pacman database.
# pacman -Syu
You can now install zfs.
Note: If the first step fails to import the key, download it from https://archzfs.com/archzfs.gpg and add it manually:
# pacman-key -a archzfs.gpg
[archzfs] Server = http://archzfs.com/$repo/$arch Server = http://mirror.sum7.eu/archlinux/archzfs/$repo/$arch Server = https://mirror.biocrafting.net/archlinux/archzfs/$repo/$arch
|sum7.eu||2h||IPv6 + v4||yes||DE: Hetzner|
|biocrafting.net||1h||IPv6 + v4||required||DE: IP-Projects|
[archzfs-testing] Server = https://archzfs.com/$repo/$arch
This testing repository auto builds packages once per day for the latest versions of all kernels.
You can use this repository to help testing updated packages or if you don't want to wait for updates to the main repository.
These packages are untested though.
Contribute to the project
Using the test scripts