Five steps to create Fedora chroot jail using yum
Pre-Notes:
- This will work only if your Linux Distro is based on RPM and YUM. I have tested it on Fedora but it may also work on RHEL and Centos... It will NOT work on Ubuntu, Debian, Suse...
- The operating system and its version will be the same inside and outside the chroot jail.
- On the example, the chroot will be placed at: /chroot/devel
- To install different version of Fedora or other RPM based distro, it will be necessary to manage yum package repositories outside the jail.
The five steps:
# 1 - Create the chroot directory
$ sudo mkdir -p /chroot/devel/var/lib/rpm
# 2 - Initiate rpm db on chroot
$ sudo rpm --root /chroot/devel --initdb
# 3 - download Fedora Release package.
# If you do not want Fedora, download the correct *-release package and use it
# on step 4. There are examples on the references.
$ yumdownloader --destdir=/tmp fedora-release
# 4 - Install downloaded Fedora release inside chroot
$ sudo rpm --root /chroot/devel -ivh /tmp/fedora-release*rpm
# If you want more than just bash, see 5a - OPTIONAL
# 5 - Install bash and its dependencies on the jail.
# For different versions of Fedora or to install other RPM based distros, it will be
# necessary to configure the correct yum repositories outside the jail, so yum
# can download the correct packages.
$ sudo yum --installroot=/chroot/devel install bash
#5a - OPTIONAL: Do a minimum system install
# If you want all packages from the minimum install option
# `yum grouplist` show all available groups
$ sudo yum --installroot=/chroot/devel groupinstall "minimal install"
Post-Notes:
- To enter the jail:
$ sudo chroot /chroot/devel
- If you want to install yum inside the jail:
$ sudo yum --installroot=/chroot/devel install yum
References:
Creating chroot environments with yum
Creating a FEDORA 10 CHROOT Environment in DEBIAN SID
- This will work only if your Linux Distro is based on RPM and YUM. I have tested it on Fedora but it may also work on RHEL and Centos... It will NOT work on Ubuntu, Debian, Suse...
- The operating system and its version will be the same inside and outside the chroot jail.
- On the example, the chroot will be placed at: /chroot/devel
- To install different version of Fedora or other RPM based distro, it will be necessary to manage yum package repositories outside the jail.
The five steps:
# 1 - Create the chroot directory
$ sudo mkdir -p /chroot/devel/var/lib/rpm
# 2 - Initiate rpm db on chroot
$ sudo rpm --root /chroot/devel --initdb
# 3 - download Fedora Release package.
# If you do not want Fedora, download the correct *-release package and use it
# on step 4. There are examples on the references.
$ yumdownloader --destdir=/tmp fedora-release
# 4 - Install downloaded Fedora release inside chroot
$ sudo rpm --root /chroot/devel -ivh /tmp/fedora-release*rpm
# If you want more than just bash, see 5a - OPTIONAL
# 5 - Install bash and its dependencies on the jail.
# For different versions of Fedora or to install other RPM based distros, it will be
# necessary to configure the correct yum repositories outside the jail, so yum
# can download the correct packages.
$ sudo yum --installroot=/chroot/devel install bash
#5a - OPTIONAL: Do a minimum system install
# If you want all packages from the minimum install option
# `yum grouplist` show all available groups
$ sudo yum --installroot=/chroot/devel groupinstall "minimal install"
Post-Notes:
- To enter the jail:
$ sudo chroot /chroot/devel
- If you want to install yum inside the jail:
$ sudo yum --installroot=/chroot/devel install yum
References:
Creating chroot environments with yum
Creating a FEDORA 10 CHROOT Environment in DEBIAN SID
Comments
1) add needed repos to /etc/yum.repos.d (or alternative location)
2) init rpm db at desired chroot location
# rpm --root /chroot --initdb
3) install packages
# yum --installroot=/chroot yum bash fedora(centos,rhel,oraclelinux,whatever)-release another-useful-package-etc
that's it
http://blog.parahard.com/2013/03/creating-debian-chroot-inside-fedora.html
I am a bit of a newbe at this so I have a question about using yumdownloader. I want to chroot fedora 9 (I am currently using fedora 20). Need I install the entire distro? I did try "yumdownloader --destdir=/tmp fedora 9" (and various other things) but I get "No match for argument" as a response. Can you give me advice? Thank You.
I am a bit of a newbe at this so I have a question about using yumdownloader. I want to chroot fedora 9 (I am currently using fedora 20). Need I install the entire distro? I did try "yumdownloader --destdir=/tmp fedora 9" (and various other things) but I get "No match for argument" as a response. Can you give me advice? Thank You.