Relocate RPM/DNF databases to /usr
Summary
Currently, the RPM and DNF databases are located in /var. Let's move them to /usr.
Owner
- Name: Chris Murphy
- Email: chrismurphy@fedoraproject.org
Current status
- Targeted release: Fedora Linux 36
- Last updated: 2021-12-06
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
Current location
/var/lib/rpm /var/lib/dnf
New location
/usr/lib/sysimage/rpm /usr/lib/sysimage/dnf
Feedback
Benefit to Fedora
The RPM and DNF databases describe the state of (primarily) /usr
. Storing these databases in /usr
will more easily facilitate OS rollback, without affecting /var
.
Scope
- Proposal owners:
- Other developers:
- change in rpm and dnf-data packages
- create the new path instead of old
- create symlinks for the old path to new path
- changes in SElinux policy
- change in rpm and dnf-data packages
- Release engineering: #Releng issue 10441
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives:
- Helps align Fedora variants with each other
- rpm-ostree based systems already use
/usr/lib/sysimage
for rpm.
- rpm-ostree based systems already use
- Helps align Fedora variants with each other
Upgrade/compatibility impact
Change will be applied on upgrades to Fedora 36.
How To Test
- Clean install or upgrade an existing Fedora system
- Note the changes
User Experience
Users will notice:
- symlinks in the old locations for the databases, pointing to the new locations;
- paths existing in the new locations.
Otherwise, the change should be invisible to users.
Dependencies
rpm-ostree probably should make usr/share/rpm a symlink to
/usr/lib/sysimage/rpm` rather than the reverse, as it is currently.
Contingency Plan
- Contingency mechanism: Revert the change, try again the next Fedora release.
- Contingency deadline: Beta freeze
- Blocks release? Yes
Documentation
N/A (not a System Wide Change)