Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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:~$ 
man mount a écrit :


       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 bind

              After  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
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)

Hors ligne

#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
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

Hors ligne

#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

bruno a écrit :

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
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.

Hors ligne

#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
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