The officially official Devuan Forum!

You are not logged in.

#1 2023-04-06 10:01:09

greenant
Member
Registered: 2022-05-04
Posts: 9  

ZFS with openrc - conflict with "Breaks: openrc"

I am trying to migrate some Devuan (Chimaera) systems from sysvinit to openrc.  The main reason is to make installing k3s easier (as it depends on openrc or systemd).

I have tested the basic process of switching to openrc on a KVM machine and it went well with just:

apt install openrc

However, on my systems that have ZFS installed, there is a conflict with zfsutils-linux breaks: openrc.

So apt/aptitude refuses to install without removing ZFS.

Since Devuan is using a backwards-compatible version of openrc, I believe it should be fine to install while preserving ZFS.

I'm not sure how to proceed.  I guess a quick and dirty fix would be to edit the entry in /var/lib/dpkg/status and remove the Breaks: openrc
Probably a better method is to recompile zfsutils-linux with checkinstall.

Would be keen to hear suggestions of the best approach and if anyone knows why the conflict is present in the package description?

More info is provided with aptitude show zfsutils-linux:

Package: zfsutils-linux                  
Version: 2.0.3-9
State: installed
Automatically installed: no
Priority: optional
Section: contrib/admin
Maintainer: Debian ZFS on Linux maintainers <pkg-zfsonlinux-devel@alioth-lists.debian.net>
Architecture: amd64
Uncompressed Size: 1,533 k
Depends: libnvpair3linux (= 2.0.3-9), libuutil3linux (= 2.0.3-9), libzfs4linux (= 2.0.3-9), libzpool4linux (=
         2.0.3-9), python3, libblkid1 (>= 2.16), libc6 (>= 2.17), libuuid1 (>= 2.16)
PreDepends: init-system-helpers (>= 1.54~)
Recommends: lsb-base, zfs-modules | zfs-dkms, zfs-zed
Suggests: nfs-kernel-server, samba-common-bin (>= 3.0.23), zfs-initramfs | zfs-dracut
Conflicts: zfs, zfs-fuse
Breaks: openrc, spl (< 0.7.9-2), spl-dkms (< 0.8.0~rc1), zfs-dkms (> 2.0.3-9...), zfs-dkms (< 2.0.3-9)
Replaces: spl (< 0.7.9-2), spl-dkms
Provides: zfsutils
Description: command-line tools to manage OpenZFS filesystems
 OpenZFS is a storage platform that encompasses the functionality of traditional filesystems and volume managers.
 It supports data checksums, compression, encryption, snapshots, and more. 
 
 This package provides the zfs and zpool commands to create and administer OpenZFS filesystems.
Homepage: https://zfsonlinux.org/
Tags: admin::configuring, admin::filesystem, interface::commandline, role::program, scope::utility,
      use::configuring

Offline

#2 2023-04-06 10:03:52

greenant
Member
Registered: 2022-05-04
Posts: 9  

Re: ZFS with openrc - conflict with "Breaks: openrc"

p.s. I checked if the dependency on init-system-helpers was an issue, but that doesn't seem to be the case, openrc does not remove that package

Offline

#3 2023-04-07 05:57:46

greenant
Member
Registered: 2022-05-04
Posts: 9  

Re: ZFS with openrc - conflict with "Breaks: openrc"

On further testing, I have tried removing openrc from the "Breaks" list in /var/lib/dpkg/status.

openrc then installs without complaint with ZFS installed.

On boot, it looks like the startup scripts for ZFS have started apart from zfs-import

running rc-status:

Runlevel: default
 rsyslog                                                                                              [  started  ]
 cron                                                                                                 [  started  ]
 fail2ban                                                                                             [  started  ]
 acpid                                                                                                [  started  ]
 ntp                                                                                                  [  started  ]
 sudo                                                                                                 [  started  ]
 qemu-guest-agent                                                                                     [  started  ]
 console-setup.sh                                                                                     [  started  ]
 ssh                                                                                                  [  started  ]
 dbus                                                                                                 [  started  ]
 bootlogs                                                                                             [  started  ]
 elogind                                                                                              [  started  ]
 rmnologin                                                                                            [  started  ]
 zfs-mount                                                                                            [  started  ]
 zfs-zed                                                                                              [  started  ]
 zfs-share                                                                                            [  started  ]
 stop-bootlogd                                                                                        [  started  ]
 rc.local                                                                                             [  started  ]
Dynamic Runlevel: hotplugged
Dynamic Runlevel: needed/wanted
 umountroot                                                                                           [  started  ]
 umountfs                                                                                             [  started  ]
 umountnfs.sh                                                                                         [  started  ]

rc-status zfs-import shows:

* runlevel `zfs-import' does not exist

I also had to run /sbin/modprobe zfs manually after start or else the zfs module is not loaded.

The module loading on boot can be fixed by editing /etc/modules and adding the line:

zfs

Interestingly, when installing openrc, it finds a dependency loop which it cleans up, I guess this is causing the zfs module not to be loaded on boot:

 
 * Found a solvable dependency loop: mountall-bootclean.sh p> mountall-bootclean u> zfs-import a> checkfs n> mounta
ll.sh p> mountall n> mountall-bootclean.sh.
 * Solving the loop by breaking mountall-bootclean u> zfs-import.
 * Found a solvable dependency loop: mountall.sh p> mountall u> zfs-import a> checkfs n> mountall.sh.
 * Solving the loop by breaking mountall u> zfs-import. 

I have also added an issue in the zfsonlinux packaging project: https://github.com/zfsonlinux/pkg-zfs/issues/238

Offline

Board footer