i've been trying to figure out how to use "rpm" and a collection of PPC-based binary rpms to create both an independent root filesystem and rpm DB for the rpms in that filesystem. by independent, i mean that i want both the "installed" rpms and their corresponding database to be *totally* independent from the rpms and database of my host. in addition, to be doubly safe, i want to be able to do this as a non-root user. as a start, i figured i'd need both the "--root" and "--dbpath" options; the first to identify where i wanted to root the installation, the second to identify the new rpm database. seemed pretty straightforward. as a start, i created the appropriate directories: $ mkdir /tmp/root $ mkdir /tmp/rpmdb note how i'm trying to keep the actual new RPM database *outside* of the new root -- i'm not even sure that's possible, as you'll see shortly. to begin with, let's try to install an rpm based on this: $ rpm -ivh \ --root /tmp/root \ --dbpath /tmp/rpmdb \ --ignorearch \ glibc-common-ppc_8xx-2.2.5-0.19a_2.ppc.rpm again, i need to be able to do all this as a non-root user and, AFAICT, i don't need root privilege for any of the above since i'm not trying to affect any of the system RPM database. the result: Preparing... ########################################### [100%] 1:glibc-common-ppc_8xx ########################################### [100%] error: unpacking of archive failed on file /usr/bin/catchsegv;4001562c: cpio: open failed - Permission denied any idea why i would be getting a permission error? i've verified that i have permission to read the rpm, so that's puzzling. but it gets more confusing. if i look at the partial results of this, i get $ find /tmp/root /tmp/rpmdb /tmp/root /tmp/root/tmp /tmp/root/tmp/rpmdb /tmp/root/tmp/rpmdb/__db.001 /tmp/root/tmp/rpmdb/__db.002 /tmp/root/tmp/rpmdb/__db.003 /tmp/root/tmp/rpmdb/Providename /tmp/root/tmp/rpmdb/Packages /tmp/root/tmp/rpmdb/Name /tmp/rpmdb /tmp/rpmdb/Basenames it seems that this failed operation still managed to start building the rpm database, but in a thoroughly confusing way. the Basenames file went under /tmp/rpmdb, while the rest went under /tmp/root/tmp/rpmdb. should i have expected this? more to the point, what's the relationship between --root and --dbpath? it seems that whatever dbpath you pick is evaluated relative to your root value, and i'd rather override this. i'd like to have these two options be chosen totally independently. regardless, it seems like a bad thing that *some* DB stuff is installed under /tmp/rpmdb, while other stuff is installed under /tmp/root. or can someone explain how this makes sense? i would like to keep the actual rpm database *outside* of the root filesystem, if that's at all possible. thanks muchly. rday _______________________________________________ Rpm-list mailing list Rpm-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/rpm-list