[liens] _ ln -d [Résolu/Fermé]

Signaler
Messages postés
1245
Date d'inscription
lundi 15 août 2005
Statut
Contributeur
Dernière intervention
30 août 2010
-
Messages postés
29363
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 octobre 2020
-
Bonsoir,
J'essaye actuellement de garder synchronisés des répertoires utilisés par mon boot Linux (utilisé) et mon boot Windows (peu utilisé).
Dans mon cas, le plus simple est d'utiliser des liens en dur. Malheureusement, je me heurte à un problème, certes pas inattendu, mais qui m'empêche d'avancer : la commande refuse de s'exécuter correctement.

Voici la commande utilisée pour l'un des dossiers :
ln -d /media/Windows/Users/supinfo/amsn /home/Orny/.amsn

Je me doutais que j'allais rencontrer des problèmes car, d'après la page du man :
       -d, -F, --directory
              allow the superuser to attempt to hard link  directories  (note:
              will  probably  fail  due  to  system restrictions, even for the
              superuser)

Donc si vous avec des propositions, je suis preneur =)

Merci d'avance

7 réponses

Messages postés
29363
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 octobre 2020
6 954
Si ton linux peut écrire sur la partition windows, tu peux utiliser un lien symbolique de ~/.amsn vers /media/Windows/Users/supinfo/amsn (je ne vois pas pourquoi tu utilisess un lien en dur) :
ln -s /media/Windows/Users/supinfo/amsn ~/.amsn

Tu peux également utiliser des mount bind même si c'est plus alambiqué comme approche.

Plus spécifiquement je ne vois pas trop l'intérêt de "synchroniser" ton profil amsn windows et ton profil amsn linux. Pour des mails (thunderbird...) je vois bien l'intérêt mais sous amsn, la seule chose que tu stockes c'est des options, des skins, et peut être des historiques.

Bonne chance
Messages postés
1245
Date d'inscription
lundi 15 août 2005
Statut
Contributeur
Dernière intervention
30 août 2010
407
Merci de votre réponse rapide.

Si ton linux peut écrire sur la partition windows, tu peux utiliser un lien symbolique de ~/.amsn vers /media/Windows/Users/supinfo/amsn
--> oui pourquoi pas; j'ai pris l'habitude de travailler avec des chemins absolus

Tu peux également utiliser des mount bind même si c'est plus alambiqué comme approche.
--> c'est ce que j'utilise pour le moment (enfin, un --rbind)

je ne vois pas pourquoi tu utilisess un lien en dur
--> la raison principale est surtout que je voulais tester la technologie, voir ce comment m'en servir, etc... Parce que le principe est tout de même super intéressant =)


Pour ce qui est de l'intérêt de cette "synchronisation", j'ai pris l'un des logiciels de la liste au hasard ;) Je fais ça pour plusieurs logiciels.


J'aurais deux questions subsidiaires :
- comment lancer automatiquement une commande root au démarrage de session ? (quitte à demander le mot de passer dans une fenêtre).
- comment mettre un mount --rbind dans mon fstab ? (ou du moins, est-ce possible)
Messages postés
1245
Date d'inscription
lundi 15 août 2005
Statut
Contributeur
Dernière intervention
30 août 2010
407 >
Messages postés
1245
Date d'inscription
lundi 15 août 2005
Statut
Contributeur
Dernière intervention
30 août 2010

J'ai trouvé ça pour le fstab, et il semble que ça fonctionne.

Les autres questions restent en suspend.
Messages postés
29363
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 octobre 2020
6 954
Oui pourquoi pas; j'ai pris l'habitude de travailler avec des chemins absolus

Ça ne change rien, que ce soit un lien en dur ou un lien symbolique, tu peux utiliser un chemin relatif ou absolu.

C'est ce que j'utilise pour le moment (enfin, un --rbind)

A priori un lien symbolique suffit si la partition ntfs est inscriptible depuis linux (la monter en ntfs-3g avec l'option rw, cf ton fichier /etc/fstab).

Comment lancer automatiquement une commande root au démarrage de session ? (quitte à demander le mot de passer dans une fenêtre).

Si tu es sous kde, tu peux mettre un lien symbolique vers une application ou script shell dans le répertoire ~/.kde/Autostart. Dans ce script tu peux mettre une commande du style :
#!/bin/sh
kdesu macommanderoot

Ensuite mets les droits en exécution sur ce script, il sera alors automatiquement lancé à chaque session KDE. Si ton idée est de faire un mount bind, il serait plus logique de le faire au démarrage (on monte une fois par démarrage du PC, mais sur un même démarrage on peut lancer plusieurs sessions graphiques). Dans le cas des montages, une option spécifique est disponible : l'option auto dans le fichier /etc/fstab (voir exemple ci-dessous)

Comment mettre un mount --rbind dans mon fstab ? (ou du moins, est-ce possible)

Comme ça :
/mnt/vfat/ftp   /home/ftp       none        bind        0 0

Ici je "duplique" /mnt/vfat/ftp dans /home/ftp (plus précisément, les deux répertoires se "synchronisent" mutuellement puisqu'ils pointent vers le même espace physique).

Bonne chance
Messages postés
1245
Date d'inscription
lundi 15 août 2005
Statut
Contributeur
Dernière intervention
30 août 2010
407
Je suis sous gnome, mais j'ai déjà trouvé comment lancer une commande quelconque au démarrage de la session.
Ce qui ne va pas, c'est que dès que la commande nécessite d'être lancée en root, elle ne se lance pas (ce qui me semble normal). Je cherchais donc comment palier à ça (l'idée n'est pas de monter un partition, ça je le fait avec le fstab).

Pour le fstab, j'avais posté la réponse, mais c'est toujours bon d'avoir un avis supplémentaire =)


Il me semble donc que d'un point de vu fonctionnel, tout est OK.
Mais je ne met pas en "résolu" car le problème évoqué (ln -d ...) n'est toujours pas résolu.

Maintenant j'attaque un problème avec mon son, nouvelle discussion à venir ;)
Messages postés
29363
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 octobre 2020
6 954
Ce qui ne va pas, c'est que dès que la commande nécessite d'être lancée en root, elle ne se lance pas (ce qui me semble normal). Je cherchais donc comment palier à ça (l'idée n'est pas de monter un partition, ça je le fait avec le fstab).

Il faut la lancer via un gksu et je pense que ça devrait marcher, car tu auras besoin de donner ton mot de passe root. Si ta commande n'est pas lancé via un terminal ou un gksu, tu ne pourras pas saisir ton mot de passe et il ne se passera rien.

Je cherchais donc comment palier à ça (l'idée n'est pas de monter un partition, ça je le fait avec le fstab).

Nous sommes d'accord, pour ce cas particulier c'est bien dans /etc/fstab qu'on intervient :-)

Mais je ne mets pas en "résolu" car le problème évoqué (ln -d ...) n'est toujours pas résolu.

Normalement si comme je t'ai dit ta partition windows est monté en ntfs-3g avec l'option rw, et que tu crées un lien symbolique de ~/.amsn vers ton profile amsn windows, tout devrait marcher correctement. Du coup je ne vois pas ce qu'il reste à résoudre avec ton lien.

Maintenant j'attaque un problème avec mon son, nouvelle discussion à venir ;)

Ok :-) Dans un nouveau sujet sur le forum linux, bien entendu ;-)
Messages postés
1245
Date d'inscription
lundi 15 août 2005
Statut
Contributeur
Dernière intervention
30 août 2010
407
Il faut la lancer via un gksu et je pense que ça devrait marcher, car tu auras besoin de donner ton mot de passe root. Si ta commande n'est pas lancé via un terminal ou un gksu, tu ne pourras pas saisir ton mot de passe et il ne se passera rien.

Je ne connaissais pas cette commande, je tenterai ça ce soir =)


Mais je ne mets pas en "résolu" car le problème évoqué (ln -d ...) n'est toujours pas résolu.

Normalement si comme je t'ai dit ta partition windows est monté en ntfs-3g avec l'option rw, et que tu crées un lien symbolique de ~/.amsn vers ton profile amsn windows, tout devrait marcher correctement. Du coup je ne vois pas ce qu'il reste à résoudre avec ton lien.


Bah mon problème à l'origine était une erreur lors de la création d'un lien en dur :
<15:05:37> (root)_@localhost [card0]:$  ln -d /media/Windows/ /home/Orny/.wine/drive_c
ln: creating hard link `/home/Orny/.wine/drive_c/Windows' => `/media/Windows/': Lien croisé de périphéque invalide



--> nouvelle discussion, nouveau problème : ici
Messages postés
29363
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 octobre 2020
6 954
Il faut que le système de fichier utilisé pour monter /media/windows permette de créer un lien symbolique. Vu que c'est sans doute de la ntfs ou de la fat32 ça ne me surprend pas que ça ne marche pas. Si tu regardes l'exemple que je t'ai donné, je pointe de ton home (en ext3) vers de la ntfs, donc ça c'est faisable.

Je ne vois toujours pas l'intérêt de faire un lien en dur au lieu d'un lien symbolique, tu perds de la place pour rien.

Autre chose que je ne comprends pas dans ton lien :
- si tu émules amsn via wine, pourquoi ne pas simplement installer amsn sous linux et partager leur profil avec un lien (c'est peut être ce que tu fais en fait)
- si tu veux que le disque c de wine soit ton disque windows il serait beaucoup plus logique d'intervenir dans ton profil wine que de créer un lien symbolique.

Bonne chance
Messages postés
1245
Date d'inscription
lundi 15 août 2005
Statut
Contributeur
Dernière intervention
30 août 2010
407
- si tu émules amsn via wine, pourquoi ne pas simplement installer amsn sous linux et partager leur profil avec un lien (c'est peut être ce que tu fais en fait)

En effet, c'est bien ce que je fais ^^


- si tu veux que le disque c de wine soit ton disque windows il serait beaucoup plus logique d'intervenir dans ton profil wine que de créer un lien symbolique.

Baaah, j'essaye en tâtonnant, mais je suis preneur de toute solution qui me permet d'utiliser mon disque Windows comme disque C de wine. =)


Il faut que le système de fichier utilisé pour monter /media/windows permette de créer un lien symbolique. Vu que c'est sans doute de la ntfs ou de la fat32 ça ne me surprend pas que ça ne marche pas. Si tu regardes l'exemple que je t'ai donné, je pointe de ton home (en ext3) vers de la ntfs, donc ça c'est faisable.

Je n'ai aucun problème pour faire un lien symbolique : mon problème vient des liens en dur. Et même si on est maintenant d'accord sur le fait que ce n'est pas utile dans mon cas, j'aimerais quand même résoudre le problème pour satisfaire mon éternelle curiosité ;))
Messages postés
29363
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 octobre 2020
6 954
Dans ~/.wine/dosdevices je pense qu'il suffit de créer/corriger un lien symbolique vers ton disque c:.
Pour l'histoire du lien en dur, je pense que ce que j'ai dit sur les liens symboliques reste valable pour les liens en dur. En l'occurrence tu ne peux pas créer un tel lien sur une partition en ntfs ou fat32. C'est pourquoi à chaque fois je t'ai dit de créer le lien depuis ton système de fichier linux (ext3 ?) vers ton système de fichier windows.

Bonne chance
Messages postés
1245
Date d'inscription
lundi 15 août 2005
Statut
Contributeur
Dernière intervention
30 août 2010
407
Bon en fait, pour Wine, monter le dossier comme décrit plus haut semble suffire, le problème de lancement de programme que j'avais venait du programme lui-même (pas possible de le lancer par Wine, semble-t-il).

Messages postés
1245
Date d'inscription
lundi 15 août 2005
Statut
Contributeur
Dernière intervention
30 août 2010
407
Bon, je marque le problème comme résolu, et je ferai des tests de liens en dur sur des partitions ext3 pour voir =)

Merci pour votre aide
Messages postés
29363
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 octobre 2020
6 954
Ok, bonne continuation :-)