#1 Le 08/03/2023, à 15:46
- ChP
Supprimer un lien symbolique vers un répertoire
Bonjour à toutes et à tous,
J'ai créé un lien symbolique entre deux répertoires :
ln -s /media/Data/Arduino/libraries /home/chp/Arduino/libraries
Après quelques essais, je ne suis pas sûr que cela résolve mon problème. J'ai essayé de le supprimer :
rm /home/chp/Arduino/libraries
mais j'obtiens le message :
chp@PC-64:~$ rm /home/chp/Arduino/libraries
rm: impossible de supprimer '/home/chp/Arduino/libraries': est un dossier
La même chose avec "unlink" donne le même résultat. Que faire ?
Merci de votre aide.
Pierre.
Hors ligne
#2 Le 08/03/2023, à 16:11
- pingouinux
Re : Supprimer un lien symbolique vers un répertoire
Bonjour,
Je pense que le répertoire /home/chp/Arduino/libraries existait déjà quand tu as créé le lien. Tu devrais donc avoir le lien libraries dans /home/chp/Arduino/libraries.
Hors ligne
#3 Le 08/03/2023, à 16:44
- ChP
Re : Supprimer un lien symbolique vers un répertoire
Oui, le répertoire /home/chp/Arduino/libraries existait déjà avant que je crée le lien. Mais je ne comprends pas ce que tu veux dire par :
Tu devrais donc avoir le lien libraries dans /home/chp/Arduino/libraries.
NOTA : c'est la première fois que j'utilise les liens symboliques. Mon idée était la suivante :
j'ai un répertoire /home/chp/Arduino/libraries mais il ne contient aucune librairies.
j'ai un répertoire /media/Data/Arduino/libraries qui lui contient toutes les librairies dont j'ai besoin.
Mon application utilisant le répertoire vide /home/chp/Arduino/libraries je pensais qu'en créant un lien vers /media/Data/Arduino/libraries, mon application serais renvoyée vers ce dernier lien. Est-ce que cela est juste ou non ?
Maintenant, divers essais avec mon application ont tendance à me montrer que soit ce lien ne fonctionne pas, soit il est mal construit. Voilà pourquoi je voudrait le supprimer pour voir ce qui se passe sans ce lien.
Cordialement.
Pierre.
Hors ligne
#4 Le 08/03/2023, à 16:55
- jplemoine
Re : Supprimer un lien symbolique vers un répertoire
Je pense que le lien n'a pas fonctionné et que le répertoire est resté en tant que tel
ls -ld /home/chp/Arduino/libraries
Dans ce cas, il faut supprimer (*) ou renommer le répertoire puis créer le lien (je pense que la syntaxe est bonne)
puis vérifier par
ls -ld /home/chp/Arduino/libraries
(*) pour supprimer un répertoire :
rmdir <repertoire>
ou
rm -r <repertoire>
La première syntaxe ne fonctionne que si le répertoire est entièrement vide (y compris des fichiers cachés)
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Déconnecté jusqu’à nouvel ordre
Hors ligne
#5 Le 08/03/2023, à 16:58
- pingouinux
Re : Supprimer un lien symbolique vers un répertoire
Si /home/chp/Arduino/libraries ne contient rien d'autre, tu le supprimes ainsi :
rm -r /home/chp/Arduino/libraries
puis tu refais le lien sans créer le répertoire /home/chp/Arduino/libraries auparavant :
ln -s /media/Data/Arduino/libraries /home/chp/Arduino/libraries
Hors ligne
#6 Le 08/03/2023, à 17:18
- ChP
Re : Supprimer un lien symbolique vers un répertoire
Je crois que je me suis mal exprimé.
Je ne veux supprimer aucun des deux répertoires, je veux seulement supprimer le lien qui les lie.
NOTA : une chose que je n'avais pas comprise : le lien symbolique se matérialise par "dossier" dans le répertoire d'origine. Tout du moins, si ce n'est pas un dossier, c'est de cette manière que je le vois dans l'explorateur de fichiers.
Dès lors, pour supprimer le lien, est-ce qu'il suffit de mettre à la corbeille ce "dossier" ?
Cordialement.
Pierre.
Hors ligne
#7 Le 08/03/2023, à 17:21
- nany
Re : Supprimer un lien symbolique vers un répertoire
Bonjour,
Afin d’y voir plus clair, donne le retour de :
ls -l /home/chp/Arduino/libraries
En ligne
#8 Le 08/03/2023, à 17:44
- jplemoine
Re : Supprimer un lien symbolique vers un répertoire
En fait, il ne peut pas y avoir les 2 : répertoire et lien avec le même nom (case sensitive) au même endroit.
En Linux, il n'y a que des fichiers : c'est la première lettre dans les droits qui va dire quel est son type.
D'où ma demande et celle de nany (qui se recoupent).
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Déconnecté jusqu’à nouvel ordre
Hors ligne
#9 Le 08/03/2023, à 18:02
- ChP
Re : Supprimer un lien symbolique vers un répertoire
Bonjour,
Afin d’y voir plus clair, donne le retour de :
ls -l /home/chp/Arduino/libraries
Voilà ce que ça donne :
chp@PC-64:~$ ls -l /home/chp/Arduino/libraries
total 4
lrwxrwxrwx 1 chp chp 29 mars 8 17:58 libraries -> /media/Data/Arduino/libraries
-rw-rw-r-- 1 chp chp 114 mars 7 15:24 readme.txt
chp@PC-64:~$
Hors ligne
#10 Le 08/03/2023, à 18:09
- nany
Re : Supprimer un lien symbolique vers un répertoire
Il y a donc bien un lien symbolique libraries dans le répertoire libraries, ce qui confirme l’hypothèse de pingouinux en #2. CQFD.
En ligne
#11 Le 08/03/2023, à 18:31
- jplemoine
Re : Supprimer un lien symbolique vers un répertoire
Sauf qu'en plus, le répertoire n'est pas vide --> Or un point de montage doit être un répertoire vide.
Je pense donc qu'il faut renommer le répertoire puis remonté le lien d'un cran.
mv /home/chp/Arduino/libraries /home/chp/Arduino/libraries.d
mv /home/chp/Arduino.libraries.d/libraries /home/chp/
Pour vérifier :
ls -l /home/chp/Arduino/libraries*
------------------
On aura alors libraries.d = le réperoire actuel et libraries le lien
Dernière modification par jplemoine (Le 08/03/2023, à 18:32)
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Déconnecté jusqu’à nouvel ordre
Hors ligne
#12 Le 08/03/2023, à 19:14
- pingouinux
Re : Supprimer un lien symbolique vers un répertoire
Je ne veux supprimer aucun des deux répertoires, je veux seulement supprimer le lien qui les lie.
Dans ce cas, c'est :
rm /home/chp/Arduino/libraries/libraries
Hors ligne
#13 Le 09/03/2023, à 14:10
- ChP
Re : Supprimer un lien symbolique vers un répertoire
Ok, merci, c'est ce qu'il me fallait.
Cordialement.
Pierre.
Hors ligne