#1 Le 07/06/2018, à 15:44
- Arbiel
[Résolu] Monter un lien symbolique sur un lien symbolique
Bonjour
Je ne comprends pas pourquoi /tmp/fica est considéré comme un périphérique bloc (tmp en monté sur tmpfs), ni pourquoi il considéré comme protégé en écriture par la commande mount, alors que ce n'est visiblement pas le cas pour "echo".
remi@remi-Vostro-3550:~$ echo "fichier a" >/tmp/fica
remi@remi-Vostro-3550:~$ echo "fichier b" >/tmp/ficb
remi@remi-Vostro-3550:~$ ln -sT /tmp/fica /tmp/liena
remi@remi-Vostro-3550:~$ ln -sT /tmp/ficb /tmp/lienb
remi@remi-Vostro-3550:~$ ls -l /tmp | g -e "lien*|fic*"
-rw------- 1 remi remi 0 juin 7 15:54 config-err-xo70Ky
-rw-rw-r-- 1 remi remi 10 juin 7 16:26 fica
-rw-rw-r-- 1 remi remi 10 juin 7 16:26 ficb
lrwxrwxrwx 1 remi remi 9 juin 7 16:26 liena -> /tmp/fica
lrwxrwxrwx 1 remi remi 9 juin 7 16:26 lienb -> /tmp/ficb
remi@remi-Vostro-3550:~$ sudo mount --bind /tmp/liena /tmp/lienb
mount : périphérique bloc /tmp/fica est protégé en écriture, sera monté en lecture seule
mount : impossible de monter périphérique bloc /tmp/fica en lecture seule
remi@remi-Vostro-3550:~$ echo "fichier c" >/tmp/fica && cat /tmp/fica
fichier c
remi@remi-Vostro-3550:~$
…
The bind mounts.
Since Linux 2.4.0 it is possible to remount part of the file
hierarchy somewhere else. The call is
mount --bind olddir newdir
or shortoption
mount -B olddir newdir
or fstab entry is:
/olddir /newdir none bindAfter this call the same contents is accessible in two places.
One can also remount a single file (on a single file). It's also
possible to use the bind mount to create a mountpoint from a
regular directory, for example:mount --bind foo foo
Un lien symbolique n'est-il pas un "single file" ?
Arbiel
Dernière modification par Arbiel (Le 13/06/2018, à 15:44)
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#2 Le 08/06/2018, à 09:12
- bruno
Re : [Résolu] Monter un lien symbolique sur un lien symbolique
Bonjour,
Je ne comprends pas ce que tu veux faire. Quel est l’intérêt ?
D'après tes commandes fica et ficb sont des fichiers standards et liena, lienb des liens symboliques pointant vers ceux-ci.
Tu peux effectivement monter un fichier standard unique dans un autre fichier standard unique avec l'option bind mais pas avec des liens symboliques (ce qui serait assez tordu de toute façon). Globalement un point de montage ne peut pas être un lien symbolique.
Dernière modification par bruno (Le 08/06/2018, à 09:14)
#3 Le 09/06/2018, à 22:31
- Arbiel
Re : [Résolu] Monter un lien symbolique sur un lien symbolique
Bonsoir
Je suis en train d'étudier Linux sur la base de Linux from Scratch (LFS).
Les recommandations de LFS indiquent que /bin/sh devrait pointer sur /bin/bash. Dans mon système /bin/sh pointe sur /bin/dash, Comme je ne veux pas modifier ce pointeur pour éviter tout dysfonctionnement qui pourrait en résulter, j'ai créé un pointeur Y sur /bin/bash, et j'ai essayé de le monter sur /bin/sh pour me retrouver dans la configuration recommandée par LFS, le démontage de Y, ou l'arrêt de mon PC dans la configuration modifiée, me remettant immédiatement ou lors du redémarrage ultérieur dans la configuration standard.
Cela peut paraître bizarre et tiré par les cheveux, mais je ne vois pas comment faire autrement.
Arbiel
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#4 Le 10/06/2018, à 16:01
- bruno
Re : [Résolu] Monter un lien symbolique sur un lien symbolique
Non seulement c'est bizarre et tordu mais comme je l'ai dit cela ne peut pas fonctionner.
Il n'y aucun problème à remplacer dash par bash :
sudo dpkg-reconfigure dash
#5 Le 10/06/2018, à 20:23
- Arbiel
Re : [Résolu] Monter un lien symbolique sur un lien symbolique
Bonsoir
Que ce soit tordu et bizarre, je n'en disconviens pas. Tu m'indiques que cela ne peut pas fonctionner. Je te crois, et j'en ai eu la preuve.
Cependant, je conteste un point de ta réponse, non pas du fait de connaissances éventuellement contraires aux tiennes
Il n'y aucun problème à remplacer dash par bash
mais parce que le document "Linux from Scratch" indique que le renvoi de /bin/sh sur /bin/dash au lieu de /bin/bash peut provoquer des erreurs. Je suppose que les deux programmes bash et dash ne sont pas strictement identiques. Certains scripts de Linux from Scrach peuvent ainsi avoir été écrits pour bash, et ne pas fonctionner correctement avec dash.
Enfin, après nos échanges, et je t'en suis reconnaissant, il me vient à l'esprit qu'au lieu de monter un lien symbolique sur un lien symbolique, il me suffit de monter /bin/bash sur /bin/dash, de sorte que le renvoi vers /bin/dash devient en fait en renvoi vers /bin/bash.
remi@remi-Vostro-3550:~$ /bin/bash --version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
remi@remi-Vostro-3550:~$ /bin/dash --version
/bin/dash: 0: Illegal option --
remi@remi-Vostro-3550:~$ sudo mount --bind /bin/bash /bin/dash
remi@remi-Vostro-3550:~$ /bin/dash --version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
remi@remi-Vostro-3550:~ /bin/sh --version
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
remi@remi-Vostro-3550:~$
Merci pour tes commentaires
Arbiel
Dernière modification par Arbiel (Le 10/06/2018, à 20:31)
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#6 Le 11/06/2018, à 08:30
- bruno
Re : [Résolu] Monter un lien symbolique sur un lien symbolique
Re,
LSF indique qu'il faut utiliser bash comme interpréteur de commandes par défaut car certains scripts utilisés par LSF doivent contenir des « bashismes » (instructions spécifiques à bash). Leur exécution pourrait donc provoquer des erreurs avec dash qui est plus restreint que bash.
Il n'y a aucun problème à remplacer le shell par défaut d'Ubuntu par bash. C'est l'inverse qui pourrait éventuellement poser problème.
#7 Le 13/06/2018, à 15:43
- Arbiel
Re : [Résolu] Monter un lien symbolique sur un lien symbolique
Bonjour
Très bien. Je te remercie pour ces précisions, et je vais me contenter de modifier le lien /bin/sh pour l'envoyer vers /bin/bash, et peut-être aussi vais-je remplacer /bin/dash lui-même par un lien symbolique vers /bin/bash.
Arbiel
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne