libnvpair.so.1 should be in /lib/, not /usr/lib/
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
zfs-linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Xenial |
Fix Released
|
Medium
|
Colin Ian King | ||
Zesty |
Fix Released
|
Medium
|
Unassigned | ||
Artful |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[SRU JUSTIFICATION XENIAL]
Currently, in Ubuntu 16.04, the package libnvpair1linux puts libnvpair.so.1 in /usr/lib/, however, tools like zpool and zfs which are installed in /sbin/ need this library. According to the FHS this means the required libraries should be in /lib/ in order to allow the user to install /usr/ on a separate partition that is not immediately available after boot.
This turns out to be a problem indeed. On one of my systems I had /usr/ on a ZFS filesystem (and /, /lib/, /sbin/, /bin/ on a separate ext4 partition). However, the system failed to boot: it hung while mounting the ZFS partitions which failed because zpool import didn't work as it couldn't find libnvpair.so.1.
$ apt-cache policy libnvpair1linux
libnvpair1linux:
Installed: 0.6.5.6-0ubuntu9
Candidate: 0.6.5.6-0ubuntu9
Version table:
*** 0.6.5.6-0ubuntu9 500
500 http://
100 /var/lib/
0.
500 http://
$ apt-cache policy zfsutils-linux
zfsutils-linux:
Installed: 0.6.5.6-0ubuntu9
Candidate: 0.6.5.6-0ubuntu9
Version table:
*** 0.6.5.6-0ubuntu9 500
500 http://
100 /var/lib/
0.
500 http://
[FIX]
Correctly set path by modifying the debian install files for the specific libraries to match the correct settings found in releases after Xenial.
[TEST]
The path /usr/lib/ should no longer be populated with zfs libraries and instead they are located after the fix in /lib as expected.
[REGRESSION POTENTIAL]
There could be other applications that are relying on the location of the libraries and so moving them could break these. However, they should not be using hard coded paths, so this regression is limited to badly coded applications that I am not aware of.
The fix upgrade has been tested and double check with the ubuntu kernel team ZFS regression tests without issue.
-------------
description: | updated |
Changed in zfs-linux (Ubuntu Xenial): | |
status: | Triaged → In Progress |
The same applies to libuutil1linux, libzfs2linux, and libzpool2linux. They are all required by the zfs and zpool commands.