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

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

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

Hors ligne

#9 Le 08/03/2023, à 18:02

ChP

Re : Supprimer un lien symbolique vers un répertoire

nany a écrit :

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.

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

Hors ligne

#12 Le 08/03/2023, à 19:14

pingouinux

Re : Supprimer un lien symbolique vers un répertoire

ChP #6 a écrit :

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