Sous-système Debian
Il s'agit de créer un système Debian minimaliste et indépendant, très utile pour les tests et également pour la sécurité.
# Initialiser un sous-système Debian debootstrap sarge /subsystems/nom_sous-systeme # ou en spécifiant un miroir: debootstrap sarge /subsystems/subsystem_name http://terre:9999/debian # Entrer dans le sous-système ou prison (jail): chroot /subsystems/subsystem_name
Copier /etc/hosts dans le sous-système.
Certains détails doivent être corrigés:
- MySQL va par défaut essayer d'écouter sur le port 3306 de l'interface loopback (127.0.0.1). Ajoutez le mot-clef
skip-networking
dans /etc/mysql/my.cnf pour l'éviter, sans quoi vous ne pourrez pas lancer plusieurs instances de MySQL pour différents sous-systèmes.
Souvent, les programmes auront besoin d'accéder à /proc
, il faut donc:
mount -t proc procfs /proc
Applications
InstallerDebianDepuisDebian: installer une Sarge depuis un autre système sans passer par l'installateur.
Aller plus loin
Par défaut, il est très facile pour root de s'échapper d'une prison chroot. Pour augmenter la sécurité, on peut corser chroot (grSecurity), interdire les périphériques sur la partition du chroot (nodev dans fstab, mais il faudrait vérifier que /dev/null et autres fonctionnent toujours), ou utiliser un autre système (http://en.wikipedia.org/wiki/Virtual_private_server))
UserModeLinux propose de lancer un sous-système en tant qu'utilisateur non-privilégié (non-root).
cdeboostrap
Le point en liens sur cette alternative à deboostrap:
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=254248: quelle différence entre deboostrap et cdeboostrap? Apparemment: l'un en bash, l'autre en C, et des vagues questions de compétition. Ça sent la bête mésentente entre développeurs.
- Debugging Debootstrap: un peu plus de détails sur deboostrap et cdebootstrap: "[...] cdebootstrap, which is written in C instead of shell, and whose main claim to fame is the ability to work out which packages to download entirely dynamically, rather than needing to be updated when the base system changes. debootstrap finally got that feature too in 0.3.0, but the default was to do it in only a limited way [...]". Faudrait tester mon script avec cdebootstrap et différentes flavours, et voir ce que ça donne.
- debootstrap wiki: un des TODOs effectués: "have a go at resolving dependencies automatically (aka, kill cdebootstrap)"