最近Fedora 26をインストールしました。最近、いくつかのdnfアップデートではzfs-fuseが導入されており、多くのパッケージがzfs-fuseに依存しています(qemu *、gluster *、libvirt *、gnome-boxesなど)。
私はこの依存関係の歴史とその背後にある理論的根拠を探しています。
zfs-fuseとzfs(ZoL)は競合するパッケージなので、カーネルベースのzfs(zfs-on-linux)をインストールするのは困難です。 zfs-fuseを削除するには、すべての依存パッケージも削除する必要があります。
2番目の質問 - 最近のzfsとzfs-fuseのカーネルベースのパフォーマンス比較はありますか?これは私の主な質問に関連しています。 zfs-fuseが基本的にパフォーマンスの観点からカーネルzfsと同じである場合、zfs-fuseに依存する多数のパッケージを持つことはそれほど問題にならない可能性があります。しかし、ZoLとzfs-fuseの間に大きな違いがある場合は、これらのパッケージを共存させるか、少なくとも交換可能にしたいと思います。
答え1
少なくともFedora 27(現在のベータ版、来週リリース予定!)では、仕様ファイルに次のものがあります。
%if %{with_storage_zfs}
# Support any conforming implementation of zfs. On stock Fedora
# this is zfs-fuse, but could be zfsonlinux upstream RPMs
BuildRequires: /sbin/zfs
BuildRequires: /sbin/zpool
%endif
これは、これが以下を使用して実行されることを意味します。文書特に、依存関係は代替実装を使用することができます。dnf swap zfs-fuse zfs
Fedora RPMを置き換えるには、代替RPMを使用できる必要があります。
私の考えではおそらくRecommends
これらの多くを処理するには、ソフト依存関係(代わりに)を使用する方法に切り替える必要がありますが、Requires
libvirtは実行時に欠落しているドライバを非常に正常に処理できないようです。