В настоящее время я ищу пример, чтобы понять CLONE_NEWNS в Linux, поэтому я провел следующие эксперименты:
в оболочке1:
$ mkdir mnt
$ sudo unshare -m /bin/bash
# mount /dev/sda5 mnt/
# ls mnt
lost+found
где как в оболочке2:
$ ls mnt
lost+found
Я ожидаю, что вывод в shell2 должен быть пустым, потому что CLONE_NEWNS создаст новое пространство имен монтирования, как указано в документах.
во-первых, я думал, что монтирование дочернего пространства имен будет распространяться на родительское, поэтому я монтирую родительское, а дочернее также см. монтирование!
а затем я создаю два отдельных дочерних пространства имен от одного и того же родителя, монтирование в одном дочернем элементе также повлияет на другое.
Я в замешательстве.
пс. в моем первом эксперименте в shell1:
# readlink /proc/$$/ns/mnt
mnt:[4026532353]
в оболочке2:
$ readlink /proc/$$/ns/mnt
mnt:[4026531840]
по-видимому, они находятся в другом пространстве имен монтирования.