Réponses:
Vous pouvez créer un montage de liaison en lecture seule .
mount --bind /path/to/source/ /path/to/dest/
mount -o bind,remount,ro /path/to/dest
Oui, cela doit être fait en deux étapes dans les noyaux après les noyaux Linux 2.6.25 (voir le lien ci-dessus pour savoir pourquoi).
Ou, alternativement, comme un /etc/fstab
exemple de ligne ref :
/path/to/source/ /path/to/dest/ none bind,ro
Dans l'une ou l'autre approche, un montage de liaison réside dans la couche Virtual Filesystem (VFS), donc ce n'est spécifique à aucun système de fichiers, et vous ne «montez» vraiment rien. Donc, fondamentalement, cela crée une sorte de lien symbolique pour vous, mais cela n'apparaît pas comme tel.
Et pour répondre au commentaire ci-dessous sur la perte de données ... non, ces instructions ne suppriment aucun fichier. Si vous avez des fichiers présents sur le chemin de destination, ce montage se superposera à cela. Démontez simplement pour pouvoir lister vos fichiers dans le chemin du système de fichiers en dessous. Encore mieux; en général, évitez de monter au-dessus d'un chemin de destination non vide.
mount -o bind,remount,ro /path/to/dest
Voir lwn.net/Articles/637501 à partir de ce même thread.
mount -o remount,ro /path/to/dest
me donne l'erreur suivante: mount: mount point is busy.
@gertvdijk
pour monter bind en lecture seule avec une seule commande:
mount --bind -r /path/to/source/ /path/to/dest/
démonter
umount /path/to/dest/