Tuto 4 ready
This commit is contained in:
parent
fb994050db
commit
c960136430
18 changed files with 536 additions and 340 deletions
|
|
@ -1,17 +1,33 @@
|
|||
\newpage
|
||||
|
||||
Le *namespace* `mount`
|
||||
======================
|
||||
----------------------
|
||||
|
||||
L'espace de noms `mount` permet d'isoler la vision du système de fichiers
|
||||
qu'ont un processus et ses fils.
|
||||
|
||||
Peut-être que l'on peut trouver avec ça, un moyen de faire un `chroot` plus sûr ?
|
||||
|
||||
::::: {.warning}
|
||||
Attention il convient de prendre garde aux types de liaison existant entre vos
|
||||
points de montage (voir la partie sur [les particularités des points de
|
||||
montage](#mount)), car les montages et démontages pourraient alors être
|
||||
répercutés dans l'espace de noms parent.\
|
||||
|
||||
## Préparation du changement de racine
|
||||
Une manière rapide pour s'assurer que nos modifications ne sortiront pas de
|
||||
notre *namespace* est d'appliquer le type esclave à l'ensemble de nos points de
|
||||
montage, récursivement, dès que l'on est entré dans notre nouvel espace de
|
||||
noms.
|
||||
|
||||
### Avant propos
|
||||
<div lang="en-US">
|
||||
```bash
|
||||
mount --make-rslave /
|
||||
```
|
||||
</div>
|
||||
:::::
|
||||
|
||||
|
||||
### Préparation du changement de racine
|
||||
|
||||
Nous allons essayer de changer la racine de notre système de fichier. À la
|
||||
différence d'un `chroot(2)`, changer de racine est quelque chose d'un peu plus
|
||||
|
|
@ -29,7 +45,7 @@ montage virtuels. Le changement de racine sera donc effectif uniquement dans
|
|||
cet espace de noms.
|
||||
|
||||
|
||||
### L'environnement
|
||||
#### L'environnement\
|
||||
|
||||
Pour pouvoir changer de racine, il est nécessaire que la nouvelle racine soit
|
||||
la racine d'un point de montage, comme l'explique `pivot_root(2)`. En effet, il
|
||||
|
|
@ -49,7 +65,7 @@ Placez ensuite dans cette nouvelle racine le système de votre choix (cf. le TP
|
|||
précédent pour les différentes méthodes et liens).
|
||||
|
||||
|
||||
## Changer de racine
|
||||
### Exercice : Changer de racine -- `myswitch_root.sh`
|
||||
|
||||
Voici les grandes étapes du changement de racine :
|
||||
|
||||
|
|
@ -59,7 +75,7 @@ Voici les grandes étapes du changement de racine :
|
|||
3. `pivot_root` !
|
||||
|
||||
|
||||
### S'isoler
|
||||
#### S'isoler\
|
||||
|
||||
Notre but étant de démonter toutes les partitions superflues, nous allons
|
||||
devoir nous isoler sur :
|
||||
|
|
@ -79,14 +95,14 @@ Isolons-nous :
|
|||
</div>
|
||||
|
||||
|
||||
### Dissocier la propagation des démontages
|
||||
#### Dissocier la propagation des démontages\
|
||||
|
||||
Attention ! avant de pouvoir commencer à démonter les partitions, il faut
|
||||
s'assurer que les démontages ne se propagent pas via une politique de *shared
|
||||
mount*.
|
||||
|
||||
Commençons donc par étiqueter tous nos points de montage (de ce *namespace*),
|
||||
comme esclave :
|
||||
comme esclaves :
|
||||
|
||||
<div lang="en-US">
|
||||
```bash
|
||||
|
|
@ -95,26 +111,26 @@ comme esclave :
|
|||
</div>
|
||||
|
||||
|
||||
### Démonter tout !
|
||||
#### Démonter tout !\
|
||||
|
||||
À vous maintenant de démonter vos points d'attache. Il ne devrait vous rester
|
||||
après cette étape que : `/`, `/dev`, `/sys`, `/proc`, `/run` et leurs fils.
|
||||
|
||||
|
||||
### Switch !
|
||||
#### Switch !\
|
||||
|
||||
À ce stade, dans votre console, vous avez plusieurs solutions : utiliser
|
||||
`switch_root(8)` ou `pivot_root(8)`. La première abstrait plus de choses que la
|
||||
seconde.
|
||||
|
||||
|
||||
#### `switch_root`
|
||||
##### `switch_root`\
|
||||
|
||||
Cette commande s'occupe de déplacer les partitions restantes pour vous, et lance
|
||||
la première commande (*init*) de votre choix.
|
||||
|
||||
|
||||
#### `pivot_root`
|
||||
##### `pivot_root`\
|
||||
|
||||
Cette commande, plus proche du fonctionnement de l'appel système
|
||||
`pivot_root(2)`, requiert de notre part que nous ayons préalablement déplacé
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue