Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Liens symboliques

En regardant autour de nous, nous sommes susceptibles de voir une liste de répertoires avec une entrée comme celle-ci :



lrwxrwxrwx 1 racine racine 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so

lrwxrwxrwx 1 racine racine 11 2007-08-11 07:34 libc.so.6 -> libc-2.6.so


Remarquez que la première lettre de la liste est « l » et que l'entrée semble avoir deux noms de fichiers ? Il s'agit d'un type spécial de fichier appelé lien symbolique (également appelé lien logiciel or lien symbolique). Dans la plupart des systèmes de type Unix, il est possible d'avoir un fichier référencé par plusieurs noms. Bien que la valeur de cela ne soit pas évidente, c'est vraiment une fonctionnalité utile.

Imaginez ce scénario : un programme nécessite l'utilisation d'une ressource partagée quelconque contenue dans un fichier nommé « foo », mais « foo » a des changements de version fréquents. Il serait bon d'inclure le numéro de version dans le nom de fichier afin que l'administrateur ou toute autre partie intéressée puisse voir quelle version de « foo » est installée. Cela pose un problème. Si nous modifions le nom de la ressource partagée, nous devons rechercher chaque programme qui pourrait l'utiliser et le changer pour rechercher un nouveau nom de ressource chaque fois qu'une nouvelle version de la ressource est installée. Cela n'a pas l'air amusant du tout.

C'est ici que les liens symboliques sauvent la mise. Disons que nous installons la version 2.6 de "foo", qui porte le nom de fichier "foo-2.6", puis créons un lien symbolique simplement appelé "foo" qui pointe vers "foo-2.6". Cela signifie que lorsqu'un programme ouvre le fichier « foo », il ouvre en fait le fichier « foo-2.6 ». Maintenant, tout le monde est content. Les programmes qui reposent sur « foo » peuvent le trouver et nous pouvons toujours voir quelle version réelle est installée. Lorsqu'il est temps de passer à "foo-2.7", nous ajoutons simplement le fichier à notre système, supprimons le lien symbolique "foo" et créons un nouveau qui pointe vers la nouvelle version. Non seulement cela résout le problème de la mise à niveau de version, mais cela nous permet également de conserver les deux versions sur notre machine. Imaginez que "foo-2.7" a un bogue (merde ces développeurs !) et que nous devons revenir à l'ancienne version.


Encore une fois, nous supprimons simplement le lien symbolique pointant vers la nouvelle version et créons un nouveau lien symbolique pointant vers l'ancienne version.

La liste de répertoires ci-dessus (à partir du / lib répertoire d'un système Fedora) montre un lien symbolique appelé « libc.so.6 » qui pointe vers un fichier de bibliothèque partagée appelé « libc-2.6.so ». Cela signifie que les programmes recherchant « libc.so.6 » obtiendront en fait le fichier « libc-2.6.so ». Nous apprendrons à créer des liens symboliques dans le chapitre suivant.


Meilleur système d'exploitation Cloud Computing chez OnWorks :