Da ich ja neulich von Ubuntu auf Arch gewechselt bin, habe ich dort natürlich keine Tools um Debian Pakete für testing oder diverse PPAs zu bauen.
Dies ist natürlich ärgerlich da ich das ein oder andere Paket natürlich weiterhin für Debian und Ubuntu anbieten will, insbesondere pyNeighborhood ist ja eher für Einsteiger und damit Ubuntu Anwender gedacht.
Damit ich weiterhin diese Pakete bauen kann habe ich mich für schroot entschieden. Damit kann man einfach und effektiv verschiedene chroot Umgebungen verwalten, so das ich mit einem einzigen Befehl in einem Debian System bin.
Für die Installation der benötigen Programme habe ich yaourt verwenden:
yaourt -S debootstrap schroot
Der nächste Schritt bestand daraus ein neues Logical Volume einzurichten und darauf dann ein Debian Basissystem zu packen:
sudo lvcreate -L 5G -n sid main
sudo mkdir /mnt/sid
sudo mount /dev/mapper/main-sid /mnt/sid
sudo debootstrap --arch=amd64 sid /mnt/sid http://ftp.de.debian.org/debian
sudo umount /mnt/sid
Nun müssen nur noch 2 Sachen gemacht werden damit man schroot verwenden kann. Das wichtigste wäre die Anpassung der Datei /etc/schroot/schroot.conf, hier muss dies am Ende der Datei (alternativ auch sonstwo) einkopiert und angepasst werden:
[sid]
type=block-device
device=/dev/mapper/main-sid
root-groups=wheel
Damit kann jeder Benutzer der in der Gruppe
wheel ist auch schroot voll verwenden. Natürlich sollte man bei größeren Sicherheitsanforderungen die Manpage der schroot.conf aufmerksam durchlesen! Zusätzlich sollte man noch in der Datei
/etc/schroot/default/nssdatabases die Zeile mit
networks kommentieren, da sonst ein Start der chroot Umgebung nicht funktioniert, dies liegt daran das Arch Standardmäßig keine
/etc/networks hat welche vom Startscript kopiert werden könnte.
Nun kann man mit
schroot -c sid -p
eine Benutzershell in chroot öffnen. Dabei wird sogar das /home-Dateisystem vom Hostsystem übernommen.