[CentOS] Building a C5 chroot on a C6 machine
Nicolas Thierry-Mieg
Nicolas.Thierry-Mieg at imag.fr
Fri Dec 14 18:58:17 UTC 2012
Stephen Harris wrote:
> I'm trying to do something slightly silly; rather than having a C5 machine
> and a C6 machine around for compiling and testing, I want to create a C5
> chroot area. Something similar to "mock" but using lvm snapshots and some
> local config specific stuff.
>
> (Potentially even using Linux Containers to enter the chroot environment).
>
> So I thought I'd build out the chroot...
>
> % cat /etc/yum.repos.d/c5.repo
> [c5]
> name=CentOS-$releasever - Media
> baseurl=http://repo/CentOS/DVD/CentOS-5-x86_64/
> gpgcheck=0
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
> enabled=0
>
>
> [c5-update]
> name=CentOS-$releasever - Updates local
> baseurl=http://repo/CentOS/updates/centos5/x86_64/
> gpgcheck=0
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
> enabled=0
>
>
> Now I can do
> yum --disablerepo=* --enablerepo=c5* -y --installroot=$ROOT install $rpms
>
> (where $rpms is derived from what anaconda left behind on an old install)
>
> So far so... "ok". Some issues with post-install scripts breaking, but
> it mostly works.
>
> Verifying : 3:traceroute-2.0.1-6.el5.x86_64 235/237
> Verifying : setup-2.5.58-9.el5.noarch 236/237
> Verifying : at-3.1.8-84.el5.x86_64 237/237
>
> Installed:
> MAKEDEV.x86_64 0:3.23-1.2
> SysVinit.x86_64 0:2.86-17.el5
> acl.x86_64 0:2.2.39-8.el5
> [etc etc]
>
> EXCEPT...
>
> test2.pts/0% chroot /mnt5 /bin/sh
> sh-3.2# ls
> bin dev home lib64 media opt root selinux sys usr
> boot etc lib lost+found mnt proc sbin srv tmp var
> sh-3.2# rpm -qa
> rpmdb: /var/lib/rpm/Packages: unsupported hash version: 9
> error: cannot open Packages index using db3 - Invalid argument (22)
> error: cannot open Packages database in /var/lib/rpm
>
> The rpm database is in the format of C6, so the C5 programs can't
> read it!
>
> Anyone have any ideas on how I can work around this problem? It's
> a little annoying!
perhaps if you kept the rpms that were installed by yum, you could
rpm -i --justdb *.rpm
within your chroot.
If necessary first remove the rpm database and rpm --initdb or some such.
not sure, but it might work
More information about the CentOS
mailing list