My Universe Logo

Debian zu Gast bei Gentoo

Posted by Jesco Freund at Aug. 24, 2007 4:43 p.m.

Für einen Mitbewohner meines Webservers habe ich heute ein Debian-Userland hochgezogen. Auf dem Server läuft normalerweise ein gehärtetes Gentoo Linux, und die eingerichteten chroot-Jails werden normalerweise auch von einem Gentoo-Userland bevölkert. Netterweise haben die Portage-Maintainer irgendwie erahnt, dass ich eines Tages doch mal einem Debian-Userland ein Dach über'm Kopf verschaffen muss – aus welchem Grund sollten sie sonst debootstrap in den Portage Tree aufgenommen haben? Ganz hürdenlos ist die Installation von Debian unter einem Nicht-Debian-System allerdings nicht…

debootstrap ließ sich noch ganz problemlos mit einem beherzten

emerge dev-utils/debootstrap

auf die Platte bannen. Auch das anlegen eines Logical Volumes, das die neue Debian-Umgebung aufnehmen sollte, war noch kein Problem:

lvcreate -L 2G -n chroot_debian vg
mkfs.xfs -f /dev/vg/chroot_debian
mount -t xfs -o noatime,nosuid /dev/vg/chroot_debian /chroot/debian

So weit, so gut. Wie man debootstrap aufrufen muss, ist auch nicht sonderlich schwierig herauszubekommen:

debootstrap --arch i386 etch /chroot/debian

Hier muss ich jetzt ein wenig weiter ausholen. Auf einem Debian-System ist die Angabe von --arch überflüssig; die Manpage sagt dazu folgendes:

--arch ARCH

Set the target architecture (use if dpkg isn't installed). See also --foreign.

Schön. dpkg wurde von Portage eigentlich als Abhängigkeit installiert. Trotzdem meckert debootstrap herum, wenn man ihm die Architektur nicht selbst verrät. Zuerst habe ich es munter mit i686 versucht – schließlich ist das die Architektur meines Systems; uname -m bestätigt das. Aber ach weh, es ist ja Debian, und die Zeit bei den Jungs irgendwann Mitte der 90er stehen geblieben. Davon stand übrigens kein Wort in der Manpage…

Doch genug geschimpft, weiter im Text (ich tue das ja freiwillig…). Nach erfolgreichem Debootstrapping müssen noch ein paar Dinge justiert werden:

mount -t proc none /chroot/debian/proc
mount -o bind /dev /chroot/debian/dev
cp /etc/resolv.conf /chroot/debian/etc/resolv.conf
chroot /chroot/debian
cd /bin
ln -s /usr/bin/env
cd /root
apt-get install less

Das Linken von /usr/bin/env nach /bin/env habe ich aus Kompatibilitätsgründen getan, bei Gentoo befindet sich env nämlich dort. Tolle Wurst, deswegen funktionierte mein enter-Skript auch erst nicht, das mir die Tipperei beim chrooten ersparen soll… Und less. Liebe Debianer, wieviel Sinn macht es, ein Rohsystem zu installieren, bei dem less als Pager voreingestellt, aber nicht mit installiert wird? Schon mal so versucht, eine Manpage zu lesen? Dinge gibts… aber egal, das Debian-Grundsystem ist fertig. Bootloader und Kernel braucht man ja in einem reinen Userland-Chroot-Jail nicht. Natürlich fehlen jetzt noch einige Tools, und besonders hübsch ist die Konfiguration auch noch nicht – aber dafür hab ich ja die /etc/profile von Gentoo, die macht dann schon eine ordentliche Shell-Umgebung…

No comments | Defined tags for this entry: Debian, Gentoo, Linux, security

Comments

No comments