OVH Cloud OVH Cloud

redhat-like debootstrap

1 réponse
Avatar
Raphaël 'SurcouF' Bordet
Bonsoir =E0 tous,


Une fois n'est pas coutume, j'ai une petite question:
=E9tant habitu=E9 au superbe outil debian qu'est debootstrap,=20
est-ce qu'il est envisageable/possible d'en disposer ou d'avoir un
outil/une m=E9thode =E9quivalent/e pour installer une redhat (ou une fedora=
,
voire une mandrake) dans un chroot, quelque soit la distribution sur
laquelle on souhaite r=E9aliser l'op=E9ration (un peu comme pour le rpm de
debootstrap, quoi) ?
Et si oui, comment ?

D'avance, merci pour tout commentaire.

--=20
Rapha=EBl 'SurcouF' Bordet
http://debianfr.net/ | surcouf at debianfr dot net

1 réponse

Avatar
Raphaël 'SurcouF' Bordet
Bonsoir à tous,

Une fois n'est pas coutume, j'ai une petite question:
étant habitué au superbe outil debian qu'est debootstrap,
est-ce qu'il est envisageable/possible d'en disposer ou d'avoir un
outil/une méthode équivalent/e pour installer une redhat (ou une fedora,
voire une mandrake) dans un chroot, quelque soit la distribution sur
laquelle on souhaite réaliser l'opération (un peu comme pour le rpm de
debootstrap, quoi) ?
Et si oui, comment ?


Facile, enfin presque ;-)

D'après le document[1] que j'ai fini par trouver, il suffit d'exploiter
l'option --root de la commande rpm (à condition d'y avoir accès mais
même debian possède un paquet rpm, sinon, j'ai qu'il existait des
méthodes pour en avoir le support from scratch), ainsi:

# mkdir -p /rhel/var/lib/rpm
# rpm --root=/rhel --initdb

Contrairement à l'exemple, je dispose des CDs officiels de la RHEL 3 et
en outre, il doit dater un peu car le paquet basesystem dépend de deux
autres paquets (rien de bien compliqué):

# rpm --root=/rhel -i
/mnt/cdrom/RedHat/RPMS/i386/basesystem-8.0-2.noarch.rpm
/mnt/cdrom/RedHat/RPMS/i386/setup-2.5.27-1.noarch.rpm
/mnt/cdrom/RedHat/RPMS/i386/filesystem-2.2.1-3.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/bash-2.05b-29.0.3.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/glibc-2.3.2-95.27.i686.rpm
/mnt/cdrom/RedHat/RPMS/i386/glibc-utils-2.3.2-95.27.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/glibc-common-2.3.2-95.27.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/mktemp-1.5-18.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/libtermcap-2.0.8-35.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/zlib-1.1.4-8.1.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/perl-5.8.0-88.7.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/gd-1.8.4-12.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/libpng-1.2.2-25.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/libgcc-3.2.3-42.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/tzdata-2004b-1.EL.noarch.rpm
/mnt/cdrom/RedHat/RPMS/i386/freetype-2.1.4-4.0.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/libjpeg-6b-30.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/perl-Filter-1.29-3.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/gdbm-1.8.0-20.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/db4-4.1.25-8.i386.rpm
/mnt/cdrom/RedHat/RPMS/i386/termcap-11.0.1-17.1.noarch.rpm

Jusque-là, on a un système utilisable: on peut déjà s'y rendre via
chroot, mais il manque encore pas mal de choses, comme:
- attr-2.2.0-1.i386.rpm
- beecrypt-3.0.1-0.20030630.i386.rpm
- binutils-2.14.90.0.4-35.i386.rpm
- bzip2-1.0.2-11.i386.rpm
- bzip2-libs-1.0.2-11.i386.rpm
- chkconfig-1.3.11-0.3.i386.rpm
- coreutils-4.5.3-26.i386.rpm
- cracklib-2.7-22.i386.rpm
- cracklib-dicts-2.7-22.i386.rpm
- cyrus-sasl-2.1.15-8.i386.rpm
- cyrus-sasl-md5-2.1.15-8.i386.rpm
- dev-3.3.12.3-1.i386.rpm
- devlabel-0.42.05-2.1.i386.rpm
- diffutils-2.8.1-8.i386.rpm
- e2fsprogs-1.32-15.i386.rpm
- elfutils-0.91-3.i386.rpm
- elfutils-libelf-0.91-3.i386.rpm
- ethtool-1.8-3.3.i386.rpm
- expat-1.95.5-6.i386.rpm
- findutils-4.1.7-9.i386.rpm
- gawk-3.1.1-9.i386.rpm
- glib-1.2.10-11.1.i386.rpm
- glib2-2.2.3-2.0.i386.rpm
- gmp-4.1.2-5.i386.rpm
- gnupg-1.2.1-10.i386.rpm
- gpm-1.19.3-27.2.i386.rpm
- grep-2.5.1-24.1.i386.rpm
- groff-1.18.1-27.i386.rpm
- grub-0.93-4.3.i386.rpm
- gzip-1.3.3-9.i386.rpm
- hesiod-3.0.2-28.i386.rpm
- hwdata-0.101.12-1.noarch.rpm
- info-4.5-3.i386.rpm
- initscripts-7.31.16.EL-1.i386.rpm
- iptables-1.2.8-12.3.i386.rpm
- iproute-2.4.7-11.30E.1.i386.rpm
- iputils-20020927-11.i386.rpm
- kernel-2.4.21-20.EL.i686.rpm
- krb5-libs-1.2.7-28.i386.rpm
- laus-libs-0.1-65RHEL3.i386.rpm
- less-378-11.i386.rpm
- libacl-2.2.3-1.i386.rpm
- libattr-2.2.0-1.i386.rpm
- libstdc++-3.2.3-42.i386.rpm
- losetup-2.11y-31.1.i386.rpm
- lvm-1.0.8-5.i386.rpm
- libxml2-2.5.10-6.i386.rpm
- libxml2-python-2.5.10-6.i386.rpm
- MAKEDEV-3.3.12.3-1.i386.rpm
- man-1.5k-10.i386.rpm
- man-pages-1.60-4.1.noarch.rpm
- mingetty-1.06-1.i386.rpm
- mkinitrd-3.5.13-1.i386.rpm
- modutils-2.4.25-13.EL.i386.rpm
- mount-2.11y-31.1.i386.rpm
- ncurses-5.3-9.3.i386.rpm
- net-tools-1.60-20.i386.rpm
- newt-0.51.5-1.i386.rpm
- openldap-2.0.27-17.i386.rpm
- openssh-3.6.1p2-33.30.1.i386.rpm
- openssh-clients-3.6.1p2-33.30.1.i386.rpm
- openssh-server-3.6.1p2-33.30.1.i386.rpm
- openssl-0.9.7a-33.12.i686.rpm
- pam-0.75-58.i386.rpm
- pciutils-2.1.10-7.i386.rpm
- pcre-3.9-10.i386.rpm
- popt-1.8.2-10.i386.rpm
- procps-2.0.17-10.i386.rpm
- procmail-3.22-9.i386.rpm
- psmisc-21.3-1.RHEL.0.i386.rpm
- pyOpenSSL-0.5.1-8.i386.rpm
- python-2.2.3-5.i386.rpm
- python-optik-1.4.1-2.noarch.rpm
- pyxf86config-0.3.5-1.i386.rpm
- readline-4.3-5.2.i386.rpm
- rhnlib-1.8-6.p22.noarch.rpm
- rhpl-0.110.6-1.i386.rpm
- rpm-4.2.3-10.i386.rpm
- rpm-libs-4.2.3-10.i386.rpm
- rpm-python-4.2.3-10.i386.rpm
- rootfiles-7.2-6.noarch.rpm
- schedutils-1.3.0-5.i386.rpm
- sed-4.0.7-3.i386.rpm
- sendmail-8.12.11-4.RHEL3.1.i386.rpm
- shadow-utils-4.0.3-20.05.i386.rpm
- slang-1.4.5-18.i386.rpm
- sysklogd-1.4.1-12.3.i386.rpm
- SysVinit-2.85-4.2.i386.rpm
- tar-1.13.25-13.i386.rpm
- tcp_wrappers-7.6-34.i386.rpm
- up2date-4.2.38-1.i386.rpm
- util-linux-2.11y-31.1.i386.rpm
- vim-common-6.2.98-1.i386.rpm
- vim-enhanced-6.2.98-1.i386.rpm
- words-2-21.noarch.rpm
- which-2.14-7.i386.rpm

# mkdir /rhel/proc
# chmod 755 /rhel/proc

Ensuite, il faut encore éditer le fichier /etc/fstab en fonction de vos
besoins. Une fois que c'est fait, on peut alors se rendre dans le
chroot, monter les systèmes de fichiers et installer grub:

--( /etc/fstab )--
/dev/sdc2 / ext3 defaults 1 1
/dev/sdc1 /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,modeb0 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/sdc3 /var ext3 defaults 1 2
/dev/sdc5 swap swap defaults 0 0
---8<---

# chroot /rhel
# mount -a
# grub-install /dev/sdc

Reste encore à configurer le réseau, up2date, mais à partir de là, c'est
largement utilisable.

[1]: http://leapster.org/linux/redhat/rhel/
--
Raphaël 'SurcouF' Bordet
http://debianfr.net/ | surcouf at debianfr dot net