Sous-système Debian

De ClissXXI.

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)"
Outils personnels