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 11/11/2013, à 13:17

Petit Lepton

[Résolu] sur les liens (symboliques ou pas)

Bonjour à tous, je suis en train de mettre à jour un jeu d'icônes ce qui m'a amené à une question sur les liens. Je vais prendre l'exemple d'un fichier image pour le terminal. Le fichier de base est terminal.png. Gnome va chercher le fichier gnome-terminal.png. Plutôt que de faire une copie, je veux faire un lien vers terminal.
Au départ, j'avais créer le lien de manière symbolique.

ln -s terminal.png terminal.png

Le problème est alors que le lien prend en compte tout le chemin, par exemple
gnome-terminal.png -> /home/flavien/.icons/Flattr1.0/apps/scalable/terminal.png
et donc une copie du répertoire brise le lien (je me demande si l'on peut en faire une maxime de vie...).
Si je fais un lien non symbolique,

ln terminal.png terminal.png

je ne devrais pas avoir de problème, n'est-ce pas ? Mais, dans ce cas, est-ce que la mémoire utilisée est le double de celle du fichier initial, à la différence du lien symbolique ?
Merci de vos lumières,
Flavien.

Dernière modification par Petit Lepton (Le 11/11/2013, à 20:25)

Hors ligne

#2 Le 11/11/2013, à 14:10

jamesbad000

Re : [Résolu] sur les liens (symboliques ou pas)

quelque soit le type de lien, il n'y a qu'une seule version du fichier (autrement c'est une copie)

Le hard link consiste à enregistrer directement l'emplacement (adresse) du fichier sur disque dans un autre répertoire. en fait c'est une entrée de répertoire tout à fait identique à l'entrée de répertoire initiale. Il en découle une limite : c'est que le hard link ne peut être dans une partition différente du fichier.

Alors que le lien symbolique est un fichier qui contient le chemin d'accès au fichier final. Il y a donc lecture du fichier lien dans un premier temps, résolution du chemin d'accès, puis accès au fichier. Le lien symbolique peut donc être dans une partition différente du fichier sur lequel il pointe (Evidemment le lien apparait brisé si la partition contenant le fichier n'est pas montée, mais le lien devient à nouveau opérationnel quand la partition est montée)


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#3 Le 11/11/2013, à 14:11

Shanx

Re : [Résolu] sur les liens (symboliques ou pas)

Salut,

l’une des principale différence entre les liens physiques et symboliques est que pour les premiers, le lien pointe vers le numéro inode du fichier, alors que le lien symbolique pointe vers le nom du fichier (comme tu l’as remarqué). Ainsi, si on supprime le fichier, le lien symbolique ne fonctionne plus (il pointe sur rien), alors que le lien physique fonctionne encore (le système ne supprime pas le fichier tant qu’il y a un lien physique qui pointe dessus). Par contre, dans les deux cas, le fichier n’est présent qu’en un seul exemplaire, donc non, on utilise pas le double de la mémoire.

Pour le dire autrement : le lien physique pointe directement sur le fichier présent dans le disque dur, sans passer par la source originale, alors que le lien symbolique pointe vers la source, qui elle-même donne accès au fichier sur le disque dur.


Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied

Hors ligne

#4 Le 11/11/2013, à 15:12

Petit Lepton

Re : [Résolu] sur les liens (symboliques ou pas)

Super, merci beaucoup pour vos réponses. Si j'ai bien compris, le lien physique pointant vers le fichier, il sera donc toujours valide quelque soit l'emplacement du fichier sur la même partition. Dans mon cas, si je laisse dans le même dossier le fichier et son lien, je peux me permettre de promener mon dossier au gré de mes envies, n'est-ce pas ?
Une dernière question concernant le lien physique. Je posais la question de la mémoire parce qu'un ls -l renvoie une taille du lien identique à celle du fichier initial.

Hors ligne

#5 Le 11/11/2013, à 16:23

jamesbad000

Re : [Résolu] sur les liens (symboliques ou pas)

Le lien sera toujours valide dans la mesure ou le fichier lui même ne change pas d'emplacement. Carle répertoire ne contient pas les fichiers en eux même mais juste leur emplacement (en fait le n° d'inode comme dit ci dessus, qui lui contient le nom, l'emplacement, la taille du fichier, etc)
De même qu'un annuaire ne contient pas les gens eux même, mais juste leur adresse.

Et si je donne mon annuaire papier à mon voisin (je sais c'est un peu obsolète comme concept), les personnes qui sont référencées dedans sont toujours au même endroit.
Et le fait qu'il existe plusieurs annuaires référençant les mêmes personnes ne veux pas dire qu'il existe plusieurs copies d'une même personne...
Ce qui répond aussi à la dernière question. C'est la même personne donc elle fait la même taille !

Dernière modification par jamesbad000 (Le 11/11/2013, à 16:33)


L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)

Hors ligne

#6 Le 11/11/2013, à 20:24

Petit Lepton

Re : [Résolu] sur les liens (symboliques ou pas)

Parfait ! Explication limpide !
Bonne soirée !

Hors ligne