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 05/04/2021, à 00:44

MaximeGatard

Lien symboliques récursifs

Bonsoir,

Désolé pour le titre, j'ai pas trouvé mieux étant donné que j'ai du mal à comprendre ce qu'il se passe.

J'ai Ubuntu 20.04 en dual boot avec Windows 10, j'ai réussi à monter la partition de Windows sans soucis avec l'utilitaire "Disques". J'ai ensuite créée un lien symbolique avec la commande

ln -sf /media/quentin/Windows-SSD/Users/quent/Desktop/Code /home/quentin/Code

Puis j'ai modifié la config de Debian afin de pouvoir écrire dans le lien symbolique. Jusque là tout va bien. Sauf que voilà ce qu'il se passe :
Capture-d-cran-du-2021-04-05-00-43-40.png

Alors que mon dossier code ne contient que les trois dossier, il s'auto-contient lui même à l'infini ? J'avoue être totalement perdu.

EDIT : J'ai linké deux autres dossiers de la même façon et j'ai pas le problème.

Dernière modification par MaximeGatard (Le 05/04/2021, à 00:52)

Hors ligne

#2 Le 05/04/2021, à 02:19

Coeur Noir

Re : Lien symboliques récursifs

Ça n'explique probablement pas la boucle mais c'est réfléchi l'option force ?

-f, --force                 supprimer les fichiers de destination existants

Pourquoi : Puis j'ai modifié la config de Debian quoi que tu veux dire par là ? T'as changé des droits / permissions / propriétaire quelque part ?
Tu n'aurais pas du avoir besoin de ça vu où monte ta partition Windows-SSD ( /media/quentin/ ) on peut supposer que l'utilitaire Disques n'a encore une fois pas aidé.
Pour voir qui pointe quoi concernant Code et Code dans Code :

ls -l ~
ls -l ~/Code

Pour voir si Windows-SSD est monté dès le démarrage système avec les options adéquates :

cat /etc/fstab

Par ailleurs vu l'apparence et la position de tes signets ( Documents, Musique, Images, Vidéos, Téléchargements ) dans le volet latéral  de « Fichiers / Nautilus » il y a un couac dans la config' des dossiers personnels.
( ou est-ce justement parce que tu as effacé ces dossiers et que tu es en train de les remplacer par des liens vers la partition Windows ? )

Dernière modification par Coeur Noir (Le 05/04/2021, à 02:29)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#3 Le 05/04/2021, à 02:47

MaximeGatard

Re : Lien symboliques récursifs

L'option force c'était parce que j'avais déjà fait la manip et j'avais pas supprimé celui d'avant, c'est vrai que je pourrais l'enlever maintenant, j'ai pas gaffe. Pour avoir les droits d'écriture sur ces dossiers, j'ai modifié ce fichier

 /etc/sysctl.conf 

en rajoutant cette ligne :

 fs.protected_symlinks = 0 

Pour les dossiers perso, j'ai préférer cacher documents / vidéos dans nautillus avec le ".hidden". C'est d'ailleurs ce que j'ai fais pour régler le problème : dans le dossier Code, il y'a un ".hidden" avec "Code" dedans. C'est un peu sagouin mais ça marche pour l'instant. Si quelqu'un à une explication je suis preneur par curiosité.

Hors ligne

#4 Le 05/04/2021, à 03:44

Coeur Noir

Re : Lien symboliques récursifs

O.o
Il n'y a absolument pas besoin de passer par /etc/sysctl.conf pour pouvoir écrire dans des dossiers/fichiers qui t'appartiennent, en direct ou via des liens !
Remets ça à sa valeur normale par défaut. En mettant fs.protected_symlinks = 0 tu (ré) introduis une vieille bonne grosse faille de sécurité qui tâche.

Comment t'es tombé sur cette anti « astuce » d'ailleurs ?

Perso je repartirais de zéro pour le lien vers /media/quentin/Windows-SSD/Users/quent/Desktop/Code c'est à dire :
⋅ le supprimer de /home/quentin ( en passant par la corbeille car… )
⋅ vérifier que ça n'a pas effacé les fichiers cible ( normalement non, intérêt du lien symbolique ) puis
⋅ seulement avec la certitude que rien n'est perdu, vider la corbeille.

Avant de recréer le lien : s'assurer que Windows-SSD est monté dès le démarrage avec des options adéquates qui permettent à ton utilisateur d'accéder en lecture-écriture à cette partition, donc montrer le retour de

cat /etc/fstab

et tant qu'à faire les disques et partitions en présence, via cette commande à lancer après avoir élargi la fenêtre du terminal ( son retour est un tableau assez large ) :

lsblk -fe7 -o +size

Es-tu le seul utilisateur sous Ubuntu et doit-il rester le seul à pouvoir accéder à Windows-SSD ?

id

pour en connaître l'uid, on en aura besoin plus tard.

Une fois le montage bien propre, ton terminal préalablement placé dans /home/quentin [ ~ = /home/$USER ] contente toi de

ln   -s   /chemin/vers/Windows-SSD/Users/quent/Desktop/Code

pour créer un nouveau lien.
On peut aussi créer un lien à la souris, en glissant déposant un ou plusieurs fichiers/dossiers d'une fenêtre à l'autre tout en maintenant les touches [ Ctrl ] + [ Maj ].
Attention cependant un lien à la sauce Linux ne peut s'écrire que dans un système de fichiers compatible Linux.

Des sources : https://forum.ubuntu-fr.org/viewtopic.php?id=2057557 ( les 4 premiers messages ) ⋅ droitspermissionsfstabmontage

Concernant les dossiers usuels ( Documents, Images , etc_etc ) si tu n'en as pas l'utilité, efface les, tout simplement : c'est ton répertoire personnel, tu es chez toi, tu fais ce que tu veux.
Ils existent par défaut car ils sont « usuels ». Au pire les logiciels qui s'attendent à trouver un /home/$USER/Téléchargements ( ou un des autres ) bah soit ils se contenteront de /home/$USER soit ils créeront pour toi le dossier manquant.
S'ils continuent d'apparaître dans les signets à gauche, il faudra t'intéresser aux fichiers ~/.config/user-dirs.dirs et ~/.config/gtk-3.0/bookmarks, l'un concerne la définition des répertoires perso's, l'autre les signets.

Si quelqu'un à une explication je suis preneur par curiosité
…t'aurais pas lancé 2 fois la commande dont une fois avec un / à la fin du chemin ? Genre :

ln -sf /media/quentin/Windows-SSD/Users/quent/Desktop/Code /home/quentin/Code/

parce que ça, ça créerait le lien dans le dossier …quentin/Code et sans préciser de nom pour le lien, ça reprend le nom de la cible et boum te voilà avec  un …quentin/Code/Code ?

Dernière modification par Coeur Noir (Le 05/04/2021, à 04:21)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#5 Le 05/04/2021, à 04:34

MaximeGatard

Re : Lien symboliques récursifs

Oups la boulette, maintenant je sais qu'il faut pas écouter n'importe qui roll

J'ai remis /etc/sysctl.conf dans son état original et j'ai retiré l'option force.
Voici le retour de cat /etc/fstab :

 
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p5 during installation
UUID=6974b428-370f-4d1e-9e23-f6797b24409b /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=1255-4CF0  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0
/dev/disk/by-uuid/0E7A570F7A56F347 /media/quentin/Windows-SSD auto nosuid,nodev,nofail,x-gvfs-show 0 0

Pour moi le disque est a l'air monté normalement. Je me suis pas embêté, je suis passé par l'application "Disques". En retirant tout les paramètres comme demandé et après un reboot j'ai bien accès en écriture aux fichiers donc plus de problèmes de ce coté là.

Pour expliquer la "récursivité", je pense pas que c'est le fruit de plusieurs exécutions parce que je peux vraiment faire /Code/Code/Code/Code autant que je veux ce qui voudrait dire que la commande s'exécuterait en boucle aussi. Les commandes ln -s /media/quentin/Windows-SSD/Users/quent/Desktop/Code /home/quentin/Code sont toutes executé au démarrage depuis /etc/rc.local. C'est l'endroit adapté pour ce genre de commandes ?

Par rapport au dossier, j'ai juste préféré les cacher parce que je suis adepte du minimaliste (et un peu chiant aussi) et que les avoirs sur le panneau latéral me suffit smile

Hors ligne

#6 Le 05/04/2021, à 18:29

Coeur Noir

Re : Lien symboliques récursifs

Si tu as un lien_1 qui pointe sur un lien_2 qui lui même pointe sur le lien_1 ça crée une boucle, c'est inutile mais logique.

Je t'ai proposé quelques commandes en #2 et #4 pour y voir plus clair mais si tu n'en donnes pas les retours, on reste aveugle.
Ainsi qu'une possible explication que tu n'as pas validée ou invalidée.

Ensuite encore une idée bien étrange : « Les commandes ln -s /media/quentin/Windows-SSD/Users/quent/Desktop/Code /home/quentin/Code sont toutes executé au démarrage depuis /etc/rc.local »
Pourquoi ??? Là tu (ré) écris les liens à chaque démarrage. Montre donc aussi ce fichier

cat /etc/rc.local

…fichier qui n'existe pas, à la base, dans une Ubuntu. Euh… c'est nouveau pour toi Ubuntu et Linux ? ( et c'est pas une critique, hein, juste pour avoir un contexte ).

Un lien c'est un fichier comme un autre, à partir du moment où il est créé, il ne va pas s'envoler - sauf si tu l'effaces, volontairement.

Dans une distribution Linux « bureau » comme Ubuntu, il y a rarement besoin de passer par des « actions » qui nécessitent sudo → autrement dit quand tu veux faire quelque chose et que ça nécessite sudo dis-toi qu'il y a soit un problème, soit une façon plus simple et moins dangereuse d'arriver à tes fins, sudo on ne s'en sert que pour des actions qui s'exécutent dans un terminal ou une console, de nature à modifier le système et qui nécessitent donc les droits du SuperUtilisateur ( root ). Dans ton espace personnel et pour tout ce qui concerne ton utilisateur, tu n'as jamais besoin de tels droits.

Bref, lire aussi les liens proposés au #4 auxquels j'ajoute sudo.

j'ai juste préféré les cacher (…) et que les avoirs sur le panneau latéral me suffit → ok, alors ça c'était bien vu. Montre quand même

cat ~/.config/user-dirs.dirs
cat ~/.config/gtk-3.0/bookmarks

car tes signets Documents, Images, etc_etc n’apparaissent pas comme ils devraient ( sans doute lié au fait qu'ils sont cachés ).

Le montage de la partition. Cette ligne dans ton fstab n'est pas 100% idéale :

/dev/disk/by-uuid/0E7A570F7A56F347 /media/quentin/Windows-SSD auto nosuid,nodev,nofail,x-gvfs-show 0 0

On voit bien qu'elle a été créée par l'utilitaire « Disques » qui a des options par défaut pas toujours utiles ( x-gvfs-show par ex. ou auto qui pourrait être remplacé par ntfs, manque l'exclusion des caractères interdits par Windows dans les noms de fichiers et la conversion des caractères ).
L'idée c'est de s'assurer que ton utilisateur a bien les droits lecture+écriture sur cette partition, ce qu'on pourra voir via

ls -la /media/quentin

Vu ce que tu dis + vu l'emplacement de ce montage → c'est à priori le cas, mais comme le dossier /media a un fonctionnement un peu particulier, je préfère m'assurer qu'il a ses droits spéciaux nécessaires, pour le long terme.

Un retour de commande complet inclut « l'invite » du terminal, car elle donne aussi des infos utiles [ utilisateur @ machine : emplacement-du-terminal mode-normal-$-ou-SU-# ]

Dernière modification par Coeur Noir (Le 05/04/2021, à 20:17)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne