| pivot_root | |||
Nompivot_root - Modifier le répertoire racine de tous les processus.Synopsis#include <unistd.h>long pivot_root (const char *nouv_rac,const char *put_old); Descriptionpivot_root remplace le répertoire racine et le répertoire courant de tous les processus en cours d'exécution (ayant anc_rac comme racine ou répertoire courant) par celui spécifié par le chemin nouv_rac. Ce répertoire sera utilisé comme origine des chemins commençant par /. Le répertoire racine est hérité par tous les enfants du processus ayant fait le changement.Seul le Super-User peut effectuer un changement de répertoire racine. Notez que cet appel-système modifie le répertoire de travail. Valeur Renvoyéepivot_root renvoie 0 s'il réussit, ou un code d'erreur négatif s'il échoue.
ErreursSuivant le type de système de fichiers, plusieurs erreurs peuvent être renvoyées. Les plus courantes sont les suivantes :
ConformitéCet appel-système n'est absolument pas portable et est spécifique à Linux. Vous ne devriez jamais l'employer directement.
DisponibilitéCet appel-système a été ajouté au noyau de Linux au cours du cycle de développement 2.3.xx.
NotesContrairement à chroot (2) , pivot_root s'applique à tous les processus. Le répertoire racine et le répertoire courant des processus pour lesquels ceux-ci sont différents de anc_rac ne sont pas modifiés. En effet, s'il a été jugé bon de les modifier (via chroot() et chdir() ), il y a probablement une bonne raison et il serait probablement erroné de les forcer sur un autre répertoire.Il est possible de spécifier pour nouv_rac un répertoire qui ne soit pas la racine d'un système de fichiers, par exemple, /nfs/ma_rac où /nfs est un point de montage. Il vaut cependant mieux éviter de créer des points de montage non accessibles.
Voir Aussichdir(2) pivot_root(2)/usr/src/linux/fs/super.c
TraductionThierry Vignaud <tvignaud@mandrakesoft.com>, 2000
|