(For ZOL version 0.7 see here)
Getting ZFS for Devuan was more difficult than I had expected, because
Thus I tried to compile from source, and succeeded with the following commands.
This goes the detour of creating deb packages, because installing directly somehow did not work.
Maybe I made a mistake, maybe deb packets are really required, whatever,
I document the method that worked.
This was tested
(for older ZOL versions see this)
# install prerequisites # (from https://github.com/zfsonlinux/zfs/wiki/Building-ZFS) aptitude install build-essential autoconf libtool gawk alien fakeroot aptitude install zlib1g-dev uuid-dev libattr1-dev libblkid-dev libselinux-dev libudev-dev aptitude install parted lsscsi ksh libssl-dev libelf-dev aptitude install linux-headers-$(uname -r) # (from https://github.com/zfsonlinux/zfs/wiki/Custom-Packages) aptitude install libaio-dev # The following is only needed if you want to use pyzfs # (if you do not install this, you later need to use `./configure --disable-pyzfs` to disable pyzfs) aptitude install python3 python3-dev python3-setuptools python3-cffi
Note: linux-headers-$(uname -r) must be re-installed after kernel updates.
# import gpg-keys # (info from https://openzfs.github.io/openzfs-docs/Project%20and%20Community/Signing%20Keys.html) cd /usr/src wget "http://pool.sks-keyservers.net/pks/lookup?op=get&search=0x0AB9E991C6AF658B" -O C6AF658B.key gpg --import C6AF658B.key wget "http://pool.sks-keyservers.net/pks/lookup?op=get&search=0x6AD860EED4598027" -O D4598027.key gpg --import D4598027.key
Update 2021-06-25: The keyservers pgp.mit.edu and pool-sks-keyservers.net are offline.
You can download the keys here:
C6AF658B.key,
D4598027.key.
But you should verify that their fingerprints are the
same as on https://openzfs.github.io/openzfs-docs/Project%20and%20Community/Signing%20Keys.html.
(run the commands 'gpg C6AF658B.key' and 'gpg D4598027.key' to display them).
version=0.8.6 cd /usr/local/src # download source # (URLs from https://zfsonlinux.org) wget https://github.com/zfsonlinux/zfs/releases/download/zfs-$version/zfs-$version.tar.gz wget https://github.com/zfsonlinux/zfs/releases/download/zfs-$version/zfs-$version.sha256.asc # verify (must say "good signature") gpg --verify zfs-$version.sha256.asc # extract gpg zfs-$version.sha256.asc # compare (must say "OK") sha256sum -c zfs-$version.sha256
version=0.8.6 cd /usr/local/src # extract zcat zfs-$version.tar.gz | tar xf - # make sure that the latest header files are installed (required after kernel-updates) aptitude install linux-headers-$(uname -r) # build zfs cd /usr/local/src/zfs-$version sh autogen.sh ./configure # (or `./configure --disable-pyzfs`, see the pyzfs comment above) make -j $(nproc) make -j1 deb
version=0.8.6 cd /usr/local/src # install packages dpkg -i zfs-$version/libzfs2_$version-1_amd64.deb dpkg -i zfs-$version/zfs_$version-1_amd64.deb dpkg -i zfs-$version/kmod-zfs-$(uname -r)_$version-1_amd64.deb dpkg -i zfs-$version/libnvpair1_$version-1_amd64.deb dpkg -i zfs-$version/libuutil1_$version-1_amd64.deb dpkg -i zfs-$version/libzpool2_$version-1_amd64.deb # load modules once modprobe zfs # automate loading of modules on each reboot # (from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=826994#30) update-rc.d zfs-import defaults update-rc.d zfs-mount defaults update-rc.d zfs-zed defaults # optional update-rc.d zfs-share defaults # optional
mkdir /scratch for i in {1..3}; do truncate -s 2G /scratch/$i.img; done zpool create zpool raidz1 /scratch/{1..3}.img zpool list zpool status zfs list
Looks good so far. Even /etc/zfs/vdev_id.conf works (after udevadm trigger, albeit not with the /scratch/images).
First unmount the zfs-filesystems
zfs umount zpool
Then uninstall the old version:
dpkg -r zfs libzfs2 kmod-zfs-$(uname -r) dpkg -r libnvpair1 libuutil1 libzpool2
If you installed a new kernel: reinstall the headers package
aptitude install linux-headers-$(uname -r)
Finally recompile and reinstall zfs like above.
Note: if you keep using the same version of zfs: run "make clean" before "./configure".