Install ZFS on Debian GNU/Linux

written by Marco Ferretti on April 18, 2012, at 07:52 AM

This is a post on installing ZFS as a kernel module, not FUSE, on Debian GNU/Linux. Everything you are reading here already exist for getting this going, I just want to spread the word ... in case you are unaware that it exists.

The Lawrence Livermore National Laboratory has been working on porting the native Solaris ZFS source to the Linux kernel as a kernel module. I believe that as long as the project remains under contract with the DoD there will be continuous updates. You can check what's going on at

On Debian

Step 1 : prepare the directories and download the sources :

mkdir ~/src/{spl,zfs}
$ cd ~/src/spl
$ wget
$ cd ~/src/zfs
$ wget

Step 2 : install the dependencies for SPL, compile and make debs :

$ sudo aptitude install build-essential gawk alien fakeroot linux-headers-$(uname -r)
$ cd ~/src/spl
$ tar -xf spl-0.6.0-rc8.tar.gz
$ cd spl-0.6.0-rc8
$ ./configure
$ make deb

Step 3 : install the dependencies for ZFS, compile and make debs :

$ sudo aptitude install zlib1g-dev uuid-dev libblkid-dev libselinux-dev parted lsscsi
$ cd ~/src/zfs
$ tar -xf zfs-0.6.0-rc8.tar.gz
$ cd zfs-0.6.0-rc8
$ ./configure
$ make deb

If everything went fine, you have the deb files ready for install :

$ sudo dpkg -i ~/src/{spl,zfs}/*.deb

On Ubuntu

You can, of course, follow the installation path exposed above or you can simply use this PPA


The manpages get installed to /share/man/. You can modify your $MANPATH variable to include /share/man/man8/ or create symlinks :

# cd /usr/share/man/man8/
# ln -s /share/man/man8/zdb.8 zdb.8
# ln -s /share/man/man8/zfs.8 zfs.8
# ln -s /share/man/man8/zpool.8 zpool.8

Start playing with it

Now, make your zpool:

$ sudo zpool create test raidz sdd sde sdf sdg sdh sdi

It is stable enough to run a ZFS root filesystem on a GNU/Linux installation for your workstation as something to play around with. It is copy-on-write, supports compression, deduplication, file atomicity, off-disk caching, encryption, and much more.

References :

Aaron Toponce's blog

Lawrence Livermore National Laboratory

Leave a comment

Name (required)
E-mail (required, will not be published)

Enter value: Captcha