> PS: si quelqu'un ciomprends pour les erreur de tar, je prends bien entendu
> !

Oui, détarre une deuxième fois ! ça devrait aller mieux.

> tar: bin/gawk: Cannot create hard link to '/bin/gawk-3.1.0': No Such File
> Apparement il s'agit ici de création de liens symbolique... ????

Non : "hard link" = lien physique <> lien symbolique. Comme tu peux voir :

[aegir@localhost aegir]$ ll /bin/gawk*
-rwxr-xr-x    2 root     root       223800 fév 21  2002 /bin/gawk*
-rwxr-xr-x    2 root     root       223800 fév 21  2002 /bin/gawk-3.1.0*
[aegir@localhost aegir]$

Le "2" en deuxième colonne indique qu'il existe 2 liens physiques sur cet 
i-node. Maintenant je sens venir la question "et comment je sais que ce sont 
les mêmes fichiers ?". Réponse : avec l'option "-i" qui affiche le numéro 
d'inode :

[aegir@localhost aegir]$ ll -i /bin/gawk*
 261145 -rwxr-xr-x    2 root     root       223800 fév 21  2002 /bin/gawk*
 261145 -rwxr-xr-x    2 root     root       223800 fév 21  2002 
/bin/gawk-3.1.0*
[aegir@localhost aegir]$


Petite explication sur le lien :

Tout le monde connait le lien symbolique (ln -s). Ca revient à dire "ce 
fichier, c'est en fait /bin/gawk-3.1.0". Le lien symbolique est pratique : 
mais si tu renommes, déplaces ou bien efface le fichier /bin/gawk-3.1.0, ton 
lien il va continuer à pointer comme un abruti vers un endroit qui n'existe 
plus.

Le lien physique est plus subtil, pour le comprendre il faut savoir comment 
fonctionne un filesystem unix (enfin, grosso-modo).

Toute entrée dans le file system est décrite par un inode. L'inode est un bloc 
sur le disque dur qui contient un certain nombre d'informations :

* le no  d'inode : 261145
* Le nom (gawk par ex.)
* Le type d'inode (Répertoire, fichier, lien ...)
* Le propriétaire du fichier
* les droits du fichiers (rwx...)
* dates (de création, de modification, d'accès).
* Les no de blocs sur le disque dur où se trouvent le contenu du fichier (ou 
les no d'inodes des entrées du répertoire si l'inode décrit un répertoire).
* LE NOMBRE DE LIENS PHYSIQUES.


Donc, quand tu as un fichier, il est décrit par un inode. Si tu crées un lien 
physique dessus (commande ln sans le "-s"), tu vas créer une sorte de pseudo 
inode (qui va contenir ne serait-ce que le nom du lien), et l'inode original 
va incrémenter son compteur "LE NOMBRE DE LIENS PHYSIQUES".

Sous unix, tu n'effaces jamais un fichier, tu le "délie" (unlink). C'est à 
dire que tu dis au système "j'enlève tel lien sur inode". Le système va donc 
décrémenter le compteur de lien. Si le compteur est à 0, le fichier est 
effectivement effacé, sinon, il est gardé. Par contre, le lien que tu a 
effacé (que ce soit l'orinal ou pas) lui disparait bel et bien. 

L'avantage, c'est que 
1) il n'y a aucune différence entre fichier original et un de ses liens.
2) un fichier n'est effacé que quand il n'est plus utilisé
3) tu peux renommer, déplacer, effacer tes fichiers, les liens seront toujours 
valides.

L'inconvénient c'est que techniquement, il est impossible de faire des liens 
physiques entre 2 filesystems séparés (2 partitions ou 2 disques durs 
différents), c'est pour ça que les liens symboliques existent.

> maintenant j'ai mon /bin/awk qui clignote rouge et qui se sent seul
> (pas lié à gawk).



Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Reply via email to