[arch-general] Location of the pacman database

Nowaker enwukaer at gmail.com
Sun Sep 14 17:15:13 EDT 2014


Hey guys,

I'm developing VirtKick (www.virtkick.io) and the very first supported
hypervisor will be Arch Linux. "Factory reset" feature would really fit
my use case.

> There's really no sense in the Arch devs and all Arch users go through
> the trouble, from what I can see. You're asking everyone who uses
> Arch to make significant changes (to more than just the pacman db) to
> accomodate corner cases.

Let's first move /var/lib/pacman/local to /usr, as this very directory
really belongs to /usr, and then see what we have left to do yet.

At this point /var/lib/pacman/local defines the current state of /usr.
It's not "variable" - you write to /var/lib/pacman/local if and only if
you write to /usr. The description of /usr on wiki perfectly describes
why /var/lib/pacman/local really belongs there:

> This means that /usr shall be shareable between various hosts and must
not be written to, except by the package manager (installation, update,
upgrade)


What are these significant changes more than just the pacman database
that would make users go through trouble? In #41863 I see three parts:

- move /var/lib/pacman/local/ to /usr
- move the default pacman.conf and mirrorlist to /usr/share
- provide tmpfiles.d to copy those files to /etc

If I'm not mistaken, /usr/share and tmpfiles.d are really trivial and
wouldn't affect users in any way. That'd be a few additional files
somewhere in the filesystem without any effect on existing machines. Or
I'm wrong?

> I then store the store the physical machine images in ostree (I am
> currently changing that to the subvolume approach systemd recently
suggested).

Yamakaky, can you please provide some more info on this?

And generally, could you show me your workflow - the shell commands in
particular? That would explain things better than thousands of words. :-)

-- 
Kind regards,
Damian Nowak
StratusHost
www.AtlasHost.eu


More information about the arch-general mailing list