Le Monday 04 May 2009 02:12:10 kabore yacouba, vous avez écrit : > Bonjour la communauté, Salut, mais là, tu n'as écrit qu'à moi ! > je voudrai savoir ce que c'est un chroot, ou chrooter un programme ??? chroot = change root. La commande chroot permet de lancer un programme dans un environnement fichiers dont la racine a été changée. Par exemple : Sur un système on a une arborescence comme ceci : / /usr /var ... /test /test/usr /test/var ... Le contenu de /test est une copie d'un système complet, éventuellement dans une autre version. Si tu lance le programme /test/usr/bin/programme, il y a de fortes chances qu'il utilise des librairies dynamiques partagée. Il les cherchera dans /usr/lib/... Pareil pour des fichiers de configuration dans /etc, des données dans /var/lib ou /usr/share... Tu n'exécutera donc pas vraiment ce que tu penses. Pour que le programme utilise les fichiers dans /test/etc /etc/usr/share /test/usr/lib, il suffit de lui faire croire que la racine "/" c'est /test. et voilà, on lance : $ chroot /test /usr/bin/programme. Si le programme en question est un shell, ça donne l'impression d'être sur un autre système, tous les fichiers en dessous de / sont différents. Exemple : On crée un fichier repère dans /test : $ touch /test/dans-test On chroot $ chroot /test Par defaut, si on ne donne pas de programme, ça lance le shell de l'utilisateur (/bin/bash) Et miracle : $ ls -l / ... /dans-test ... Le fichier "dans-test" est sous la racine. Et il n'y a pas de répertoire /test. On ressort $ exit $ ls -l /test ... dans-test ... dans-test est dans /test ;-) Voilà, j'espère que c'est assez claire.
Attachment:
signature.asc
Description: This is a digitally signed message part.