Plugin to enable Copy on Write mechanics for RPM within dnf
. This code, combined with changes to rpm
and librepo
are the technical basis for https://fedoraproject.org/wiki/Changes/RPMCoW
dnf install python3-dnf-plugin-cow
rpm
with cow/transcoding support (see rpm-software-management/rpm#1470)rpm-plugin-reflink
installed to handle install mechanics for extent based rpmslibrepo
with transcoding support (see rpm-software-management/librepo#222)- Support for reflinking between
dnf
cache (typically/var/cache/dnf
) and the paths included in RPMs. In the most common case this means a root filesystem with btrfs.
The bulk of the code is in the rpm
and librepo
packages. This code turns "transcoding" on by setting an environment variable telling librepo
to use /usr/bin/rpm2extents
in a pipeline to convert normal RPMs to extent based ones on disk.
dnf-plugin-cow is MIT licensed, as found in the LICENSE file.