Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mount --bind

13 réponses
Avatar
Yves Lambert
Bonjour,

sous linux, la commande mount admet --bind comme argument :
'mount --bind olddir newdir' monte un râpertoire comme
s'il s'agissait d'un bloc. Sous netbsd, pas de --bind,
j'ai lu et relu le man, pas trouvé d'équivalent.
'rmdir newdir && ln -s olddir newdir' me satisfait modérément
vu que ça donne :
$ cd newdir
$ pwd
olddir
Y a-t-il un moyen d'obtenir un comportement similaire à 'mount --bind'
en utilisant ln ou autres ?

10 réponses

1 2
Avatar
Manuel Bouyer
In fr.comp.os.bsd Yves Lambert wrote:
Bonjour,



sous linux, la commande mount admet --bind comme argument :
'mount --bind olddir newdir' monte un râpertoire comme
s'il s'agissait d'un bloc. Sous netbsd, pas de --bind,
j'ai lu et relu le man, pas trouvé d'équivalent.
'rmdir newdir && ln -s olddir newdir' me satisfait modérément
vu que ça donne :
$ cd newdir
$ pwd
olddir
Y a-t-il un moyen d'obtenir un comportement similaire à 'mount --bind'
en utilisant ln ou autres ?



Oui, avec mount_null.

PS: je ne lis pas fr.comp.os.unix

--
Manuel Bouyer
NetBSD: 26 ans d'experience feront toujours la difference
--
Avatar
didier gaumet
Le Mon, 22 Jun 2009 19:59:59 +0200,
Yves Lambert a écrit :

[...]
Sous netbsd, pas de --bind,


[...]
Y a-t-il un moyen d'obtenir un comportement similaire à 'mount
--bind' en utilisant ln ou autres ?



N'est-ce pas possible en utilisant le type null ou éventuellement
overlay? (je n'ai jamais essayé sous *BSD)
voir les pages man:
http://netbsd.gw.com/cgi-bin/man-cgi?mount_null+8+NetBSD-5.0
http://netbsd.gw.com/cgi-bin/man-cgi?mount_overlay+8+NetBSD-5.0
Avatar
Paul Gaborit
À (at) Mon, 22 Jun 2009 19:59:59 +0200,
Yves Lambert écrivait (wrote):
sous linux, la commande mount admet --bind comme argument : 'mount
--bind olddir newdir' monte un râpertoire comme s'il s'agissait d'un
bloc.



Heu... Je dirais plutôt que cela permet de monter un point quelconque
de la hiérarchie en un autre endroit (il devient alors visible en deux
endroits à la fois). La notion de 'bloc' n'intervient pas ici...

Sous netbsd, pas de --bind, j'ai lu et relu le man, pas trouvé
d'équivalent. 'rmdir newdir && ln -s olddir newdir' me satisfait
modérément vu que ça donne :
$ cd newdir
$ pwd
olddir
Y a-t-il un moyen d'obtenir un comportement similaire à 'mount --bind'
en utilisant ln ou autres ?



Si olddir et newdir font partie du même filesystem et sont des
fichiers, on peut passer par un lien dur (non symbolique) :

rmdir newdir && ln olddir newdir

Ça marche pour les fichiers. Mais l'usage des liens durs pour un
répertoire est déconseillé et le résultat n'est pas garanti...

Sinon, il existe les montages de type 'nullfs' ou 'unionfs' qui sont
certainement plus délicat à manipuler que l'option '--bind' ou
'--rbind' mais qui sont aussi plus puissants.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Paul Gaborit
À (at) Mon, 22 Jun 2009 23:04:22 +0200,
Paul Gaborit écrivait (wrote):
Sinon, il existe les montages de type 'nullfs' ou 'unionfs' qui sont
certainement plus délicat à manipuler que l'option '--bind' ou
'--rbind' mais qui sont aussi plus puissants.



Et sout netbsd, 'nullfs' s'appelle tout simplement 'null' mais
'unionfs' s'appelle bien 'unionfs'. Allez comprendre...

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Yves Lambert
Manuel Bouyer wrote:




Y a-t-il un moyen d'obtenir un comportement similaire à 'mount --bind'
en utilisant ln ou autres ?



Oui, avec mount_null.




C'est exactement ce qu'il me faut.

j'ai testé mount -t null qui fonctionne très bien (et je peux me donner
des coups de pieds parce que j'ai mal lu le man mount)

Par contre le man mount_null n'est pas clair sur un point :

The primary differences between a virtual copy of the filesystem and a
symbolic link are that getcwd(3) functions correctly in the
virtual copy,

Je vois une autre différence tout aussi fondamentale, sauf erreur de ma
part c'est le côté pérenne : un lien symbolique demeure après un reboot,
là si j'oublie de mettre la bonne ligne dans fstab, au prochain reboot,
je pourrai recommencer :)

--
Welcome to U1 2521 days up
the Message of the Day is up to date.
To get it, strike "cat /etc/motd" then <return>
u1:~$ _
_
Avatar
Yves Lambert
didier gaumet wrote:


N'est-ce pas possible en utilisant le type null ou éventuellement
overlay? (je n'ai jamais essayé sous *BSD)



Oui c'est bien mount_null

http://netbsd.gw.com/cgi-bin/man-cgi?mount_null+8+NetBSD-5.0
http://netbsd.gw.com/cgi-bin/man-cgi?mount_overlay+8+NetBSD-5.0



Bon, maintenant sous HP/UX on fait comment ? :-$



--
Welcome to U1 2521 days up
the Message of the Day is up to date.
To get it, strike "cat /etc/motd" then <return>
u1:~$ _
_
Avatar
didier gaumet
Le Mon, 22 Jun 2009 23:40:08 +0200,
Yves Lambert a écrit :

[...]
Bon, maintenant sous HP/UX on fait comment ? :-$



sous toutes réserves puisque je n'ai approché un HP-UX: peut-à ªtre le
type lofs?
http://docs.hp.com/en/B2355-60130/mount_lofs.1M.html
http://docs.hp.com/en/B2355-60130/mount.1M.html
Avatar
Yves Lambert
Paul Gaborit wrote:
À (at) Mon, 22 Jun 2009 23:04:22 +0200,
Paul Gaborit écrivait (wrote):
Sinon, il existe les montages de type 'nullfs' ou 'unionfs' qui sont
certainement plus délicat à manipuler que l'option '--bind' ou
'--rbind' mais qui sont aussi plus puissants.





unionfs existe aussi avec linux (il est (très mal) exploité par le blurb
qui équipe les EEEPC Asus) mais ne correspond pas à l'usage que je veux
en faire.

Et sout netbsd, 'nullfs' s'appelle tout simplement 'null' mais
'unionfs' s'appelle bien 'unionfs'. Allez comprendre...



Ah non, moi j'ai union tout court.

<http://netbsd.gw.com/cgi-bin/man-cgi?mount_union+8+NetBSD-current>

il me semble que apropos (man -k) ne marche pas sur netbsd.gwd.org

sur mon netbsd (sur un pentium mmx et en train de compiler :

apropos nullfs donne "nothing appropriate"
apropos unionfs idem,
apropos union donne comme premier résultat man 8 mount_union

--
Welcome to U1 2521 days up
the Message of the Day is up to date.
To get it, strike "cat /etc/motd" then <return>
u1:~$ _
_
Avatar
Manuel Bouyer
Yves Lambert wrote:
Manuel Bouyer wrote:
>



>> Y a-t-il un moyen d'obtenir un comportement similaire à 'mount --bind'
>> en utilisant ln ou autres ?
>
> Oui, avec mount_null.




C'est exactement ce qu'il me faut.



j'ai testé mount -t null qui fonctionne très bien (et je peux me donner
des coups de pieds parce que j'ai mal lu le man mount)



Par contre le man mount_null n'est pas clair sur un point :



The primary differences between a virtual copy of the filesystem and a
symbolic link are that getcwd(3) functions correctly in the
virtual copy,



Je vois une autre différence tout aussi fondamentale, sauf erreur de ma
part c'est le côté pérenne : un lien symbolique demeure après un reboot,
là si j'oublie de mettre la bonne ligne dans fstab, au prochain reboot,
je pourrai recommencer :)



Bien sur, mais on suppose que l'operateur a mis a ligne qui va bien
dans la fstab :)

--
Manuel Bouyer
NetBSD: 26 ans d'experience feront toujours la difference
--
Avatar
Paul Gaborit
À (at) Tue, 23 Jun 2009 19:58:59 +0200,
Yves Lambert écrivait (wrote):
Paul Gaborit wrote:
Et sout netbsd, 'nullfs' s'appelle tout simplement 'null' mais
'unionfs' s'appelle bien 'unionfs'. Allez comprendre...



Ah non, moi j'ai union tout court.

<http://netbsd.gw.com/cgi-bin/man-cgi?mount_union+8+NetBSD-current>



Oui, c'est fort possible. Je n'ai pas de netbsd fonctionnel sous la
main pour vérifier. Je me basais juste sur :
<http://wiki.netbsd.se/nullfs>.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
1 2