Re: F36 Change: Relocate RPM database to /usr (System-Wide Change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Dec 30, 2021 at 1:31 AM Zbigniew Jędrzejewski-Szmek
<zbyszek@xxxxxxxxx> wrote:
>
> On Thu, Dec 30, 2021 at 02:27:04AM -0500, Matthew Miller wrote:
> > On Wed, Dec 29, 2021 at 03:17:42PM +0000, Tom Hughes via devel wrote:
> > > At this point somebody will no doubt argue that /usr changes on a
> > > package update and that the RPM database is a static definition of
> > > the currently installed OS files, but evidence says otherwise:
> > >
> > > % ls -l /var/lib/rpm
> > >
> > > total 378M
> > >
> > > -rw-r--r--. 1 root root 378M Dec 28 16:08 rpmdb.sqlite
> > > -rw-r--r--. 1 root root  32K Dec 29 09:27 rpmdb.sqlite-shm
> > > -rw-r--r--. 1 root root    0 Dec 28 16:08 rpmdb.sqlite-wal
> > >
> > >
> > > While "Dec 28 16:08" is indeed the last time I updated that machine
> > > it seems one of the files has changed more recently - no idea what
> > > triggered that but clearly the files are not static between updates.
> >
> > That is a sqlite write-ahead log shared memory file used to coordinate
> > access between concurrent clients. Someone who knows more about the depths
> > of DNF and RPM than me will need to comment, but it looks like `dnf list`
> > touches it -- even though `rpm -qa` doesn't.
>
> $ sudo strace -efile dnf list
> ...
> openat(AT_FDCWD, "/var/lib/rpm/rpmdb.sqlite-wal", O_RDWR|O_CREAT|O_NOFOLLOW|O_CLOEXEC, 0644) = 4
> openat(AT_FDCWD, "/var/lib/rpm/rpmdb.sqlite-shm", O_RDWR|O_CREAT|O_NOFOLLOW|O_CLOEXEC, 0644) = 5
> ...
>
> What happens if /var/lib is read-only? Changing (fixing?) this would
> be a pre-requisite to this proposal, we don't want 'dnf list' to break.

Why should it be a prerequisite? In all Fedora editions and spins with
dnf, /usr and /var are read-write. In the case of rpm-ostree based
editions and spins, they don't include dnf. I agree dnf should
tolerate read-only rpmdb files, but I'm not following the logic
leading to it being a prerequisite (must tolerate rather than should
tolerate).

-- 
Chris Murphy
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux