OVH Cloud OVH Cloud

[HS] les différents types de liens

11 réponses
Avatar
Etienne CROMBEZ
Bonjour =C3=A0 tous,

Ma question ne concerne pas directement Debian mais plut=C3=B4t UNIX, aussi
je m'excuse d'avance pour le hors sujet.
Ma question est sans doute assez trivial, mais je m=E2=80=99int=C3=A9resse,=
pour ma
culture personnelle, aux diff=C3=A9rents type de liens.

Tout d'abord, voici ce que je crois avoir compris :

* il existe deux types de liens : les liens hard et les liens symboliques
* deux liens hard porte sur le m=C3=AAme inode et sont donc sur la m=C3=AAm=
e
partition, et patagent les caract=C3=A9ristiques du fichier (propri=C3=A9ta=
ire,
groupe, droit etc), ce qui affecte l'un affectera l'autre
* un lien symbolique pointe sur un chemin (relatif ou absolu) que le
noyau va suivre pour trouver le fichier original


Mes questions sont alors :
* Quel est l=E2=80=99int=C3=A9r=C3=AAt des liens hard par rapport aux liens=
symboliques
(juste un gain de temps pour trouver l'inode original ?)
* Pourquoi un lien hard ne peut-il pas pointer un dossier ?

Encore une fois je vous pris de m'excuser si mes question sont trop hors su=
jet.
Et pour toute r=C3=A9ponses, je ne suis pas difficile, si vous avez des
liens :) vers des pages int=C3=A9ressante r=C3=A9pondant =C3=A0 une questio=
n, j'en
serai ravis.

Merci d'avance
Etienne

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/CAJX_iYPKDhF05O7jkqHTHyPDud__o4o+Nagnu=n2Ytp7symmGw@mail.gmail.com

1 réponse

1 2
Avatar
Nicolas Bercher
On 12/07/2011 17:37, Etienne CROMBEZ wrote:
Je vous pris de m'excuser si je pose trop de question, mais cette
histoire de lien me perturbe.
Est ce que les liens hard ont un réel intérêt ou ont ils juste une
solution élégante à un problème qui ne se pose plus ou presque pas ?


Ils ont de réels intérêts.

* Par exemple pour dupliquer une arborescence avec des hardlinks (que sur les fichiers),
on utilise

cp -l src/ dest

c'est rapide et économe. Pratique pour faire des tests sur les noms des fichiers par
exemple, mais attention, si on touche au contenu des fichiers, bien entendu on les modifie
"de partout" (dans src et dans dest).

* Git utilise aussi les hardlinks pour cloner ses dépôts localement:

git init depot && cd depot
date > fichier
git add fichier && git commit
cd ..
git clone depot depot2

Git peut se le permettre puisque les meta-fichiers du dépôts (incréments ou blob de Git)
ne seront jamais modifiés, au pire supprimés (gc) ce qui n'aura aucun effet sur la copie
originale.

* Un dernier exemple: on peut ranger les fichier en plusieurs endroits en utilisant des
hardlinks. Mais cela n'est pas hyper robuste dans le sens où certains programmes (comme
l'éditeur de crontab "crontab -e") créent un nouveau fichier et remplacent l'ancien
lorsque qu'on y fait une simple modification. Le fichier mofidié a alors un inode
différent et n'est plus lié à l'inode originel.

On peut aussi voir un hardlink comme un pointeur sur inode (et ce pointeur a le bon goût
d'être nommé). Un symlink pointe quant a lui un endroit dans l'arborescence (et le
fichier pointé peut bien changer d'inode, le lien sera toujours valide tant que le nom est
le même).

Je crois que pour bien assimiler les utilisations possibles de {sym,hard}links, il n'y a
rien de tel que de la pratique et des expériences.

Nicolas

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
1 2