Сценарий CentOS 7 SystemD с дополнительной командой [дубликат]

Una shell -única solución sería:

Para shell interactivo:

# unshare --mount
# mount --bind /MyDir/MySubDir/b /MyDir/a
# 

no -de forma interactiva, antes de un script que no tiene que conocer estas configuraciones:

# unshare --mount sh -c 'mount --bind /MyDir/MySubDir/b /MyDir/a; exec somethingelse'

La página de manual unshare también advierte sobre montajes de subárboles compartidos. Si tiene que deshabilitarlos, considere agregar, por ejemplo, --make-privatepara montar.

Como dijo Hauke, debe asegurarse de no abandonar el espacio de nombres justo después de haberlo creado, porque desaparecerá.

Si es necesario, hay un método para mantener un espacio de nombres sin proceso. Dado que implica el montaje, es un poco más complicado para un espacio de nombres de montaje. Aquí hay un ejemplo interactivo para esto:

shell1# unshare --mount
shell1# echo $$
12345
shell1#

shell2# : > /root/mntreference
shell2# mount --bind /proc/12345/ns/mnt /root/mntreference

Ahora, mientras esta referencia se mantenga montada, el espacio de nombres no desaparecerá incluso si ya no hay ningún proceso que lo use. El uso de nsenter --mount=/root/mntreferencelo ingresará, por lo que puede ejecutar fácilmente scripts adicionales en él.

Usar el equivalente en C no debería ser un problema.

7
21.11.2014, 20:10
0 ответов

Теги

Похожие вопросы