1. Home
  2. Linux

How To Install ZFS On Linux

ZFS is a file system that system administration nerds love. With it, you can do incredible things like pool all of your hard drives together, mirror them, take system snapshots, and a lot more. In fact, the ZFS file system is quickly becoming the file system of choice in data centers. Unfortunately, Linux is being left behind, as there are some legal conflicts. These legal issues make it so that Linux distributions can’t lawfully distribute the source code inside of the Linux kernel, or on individual operating systems. Luckily, fans of this file system can still get it working, thanks to ZFS on Linux. Here’s how to get it for your Linux distribution.

Installing ZFS On Linux

The ZFS file system will not work on Linux like other file systems. This is because there isn’t any code in it that goes well with the GPL. Despite this, many users really like the file system, and have taken the time to make it work with the Linux operating system. To use it, you’ll need to install modules in the kernel, and etc.

Ubuntu

sudo apt install zfsutils

Those using Ubuntu 16.04 need to install a different package:

sudo apt install zfs

Debian

To install the ZFS file system and tools on Debian, you have to first install the kernel headers:

sudo apt-get install linux-headers-$(uname -r)

With the Linux headers added to the system, Debian can now compile kernel modules on its own. This is important, as ZFS will not work on Debian without a kernel module, and considering the ZFS software license isn’t compliant with the GPL software license, Debian can’t distribute the software pre-compiled.

To start compiling the kernel module, install the following software:

sudo apt-get install zfs-dkms zfsutils-linux

Building the DKMS kernel module may take a bit of time. When it completes, the ZFS file system is ready to use.

Boot From ZFS On Debian

Want to boot from ZFS on Debian? If so, you’ll need to install additional software:

sudo apt-get install zfs-initramfs

Arch Linux

Want to use ZFS on Arch Linux? Here’s how. First, head over to this page, look for “Download snapshot“and click it. With the snapshot downloaded, open a file manager and use the CD command to go to the Downloads directory where the ZFS package was downloaded.

cd ~/Downloads

Extract the snapshot using the tar command.

tar xvzf zfs-linux.tar.gz
With zfs-linux decompressed, enter the folder using CD.
cd zfs-linux
Once inside the zfs-linux folder, generate a new Arch Linux package using the makepkg command.
makepkg
Do note that ZFS for Linux requires a lot of compiling. Depending on the speed of your PC, your terminal may be compiling this package for a while. When it completes, install it using the pacman package manager.
sudo pacman -U *.tar.xz

Boot From ZFS On Arch Linux

Download the zfs-dkms AUR snapshot, extract the snapshot with tar, compile it with makepkg and install it with pacman. Follow the instructions listed above for the zfs-linux package if you get lost.

Fedora

ZFS on Linux doesn’t require any compiling, but it’s not directly distributed by Redhat either. To fix this, you’ll need to download an RPM and install it.

Fedora 27 users: this Fedora 26 binary should work OK, but use at your own risk!

sudo dnf install http://download.zfsonlinux.org/fedora/zfs-release.fc26.noarch.rpm -y

In addition to installing this RPM, you should also install:

sudo dnf install kernel-devel -y

OpenSUSE

Getting ZFS to work on OpenSUSE is a little easier than most RPM based distributions. This is due to the fact that it has a large repository of software that users can submit, and create easy one-click install pages. ZFS is no different. To get the file system working on your OpenSUSE system, head over to this page here, and click on the version of OpenSUSE that you use.

From here, click the 1-click installation button to bring up the OpenSUSE software installer. Follow the instructions on the screen, and soon the software will be installed!

Conclusion

ZFS on Linux is a project that aims to bring the Oracle file system to everyone’s favorite GNU platform. Due to legal issues, it is very dangerous to directly distribute the ZFS software in any Linux distributions, so none do it (except for Ubuntu, but they’re brave).

Since the software doesn’t comply with the greater Linux community’s licensing terms, anyone that wants to install and use this file system will need to do so with the source code alone because the project itself only supports a handful of Linux operating systems, and they can’t possibly generate binary packages for everyone.

If you’re looking to get ZFS on Linux to work in a zpool on your server, or maybe to boot from on your sleek hacker machine for bragging rights, you’ll need to download the source code and start from scratch. The code for everything, as well as the instructions on how to build it is here.

Leave a comment