Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

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.

#26 Le 07/12/2018, à 11:41

maxire

Re : Lien physique , lien symbolique ?!

@FrancisFDZ, tu comprendras mieux en créant un fichier toto avec un lien physique tata et un lien symbolique titi vers  toto.
Si tu supprimes toto tu ne pourras plus accéder au contenu de ce fichier via le lien symbolique titi par contre à l'ouverture de tata tu trouveras le contenu de toto.

bionic@asus-arch:~$ cat - > toto
test
^C
bionic@asus-arch:~$ cat toto
test
bionic@asus-arch:~$ ln toto tata
bionic@asus-arch:~$ cat tata
test
bionic@asus-arch:~$ ln -s toto titi
bionic@asus-arch:~$ cat titi
test
bionic@asus-arch:~$ rm toto
bionic@asus-arch:~$ cat titi
cat: titi: Aucun fichier ou dossier de ce type
bionic@asus-arch:~$ cat tata
test
bionic@asus-arch:~

Maxire
Archlinux/Mate + Debian Stretch/Gnome sur portable -- Archlinux/Mate sur poste de travail

Hors ligne

#27 Le 07/12/2018, à 11:52

maxire

Re : Lien physique , lien symbolique ?!

Un exemple avec l'afficchage des valeurs des inodes :

bionic@asus-arch:~$ cat <<$eof > tata
> test
> $eof
bionic@asus-arch:~$ cat tata
test
bionic@asus-arch:~$ stat tata
  Fichier : tata
   Taille : 5         	Blocs : 8          Blocs d'E/S : 4096   fichier
Périphérique : 32h/50d	Inœud : 434407      Liens : 1
Accès : (0644/-rw-r--r--)  UID : ( 1000/  bionic)   GID : ( 1000/  bionic)
Accès : 2018-12-07 11:46:58.494887937 +0100
Modif. : 2018-12-07 11:46:53.718892650 +0100
Changt : 2018-12-07 11:46:53.718892650 +0100
  Créé : -
bionic@asus-arch:~$ ln tata toto
bionic@asus-arch:~$ stat toto
  Fichier : toto
   Taille : 5         	Blocs : 8          Blocs d'E/S : 4096   fichier
Périphérique : 32h/50d	Inœud : 434407      Liens : 2
Accès : (0644/-rw-r--r--)  UID : ( 1000/  bionic)   GID : ( 1000/  bionic)
Accès : 2018-12-07 11:46:58.494887937 +0100
Modif. : 2018-12-07 11:46:53.718892650 +0100
Changt : 2018-12-07 11:47:31.554858681 +0100
  Créé : -
bionic@asus-arch:~$ ln -s tata titi
bionic@asus-arch:~$ stat titi
  Fichier : titi -> tata
   Taille : 4         	Blocs : 8          Blocs d'E/S : 4096   lien symbolique
Périphérique : 32h/50d	Inœud : 434409      Liens : 1
Accès : (0777/lrwxrwxrwx)  UID : ( 1000/  bionic)   GID : ( 1000/  bionic)
Accès : 2018-12-07 11:47:54.906838598 +0100
Modif. : 2018-12-07 11:47:54.906838598 +0100
Changt : 2018-12-07 11:47:54.906838598 +0100
  Créé : -
bionic@asus-arch:~$

Liens physiques inodes identiques, le lien symbolique possède son propre inode.

Dernière modification par maxire (Le 07/12/2018, à 19:15)


Maxire
Archlinux/Mate + Debian Stretch/Gnome sur portable -- Archlinux/Mate sur poste de travail

Hors ligne

#28 Le 07/12/2018, à 18:51

FrancisFDZ

Re : Lien physique , lien symbolique ?!

Merci Maxire, c'est bien ce qui me semblait; et du coup un lien physique occupe plus de place qu'un lien symbolique qui ne contient qu'une adresse.


-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]

Hors ligne

#29 Le 07/12/2018, à 19:11

GammaDraconis

Re : Lien physique , lien symbolique ?!

Nan un lien physique ne prend pas plus de place qu'un lien symbolique, tu n'a rien compris.

http://beugreloulou.ci/wp-content/uploa … sLinux.png

Le fichier n'est présent qu'une seule fois sur le disque dur que ça soit en lien physique ou lien symbolique.

Dernière modification par GammaDraconis (Le 07/12/2018, à 19:14)


PC1 perso (Xiaomi Air 13) : dualboot avec Archlinux/Xfce et Ubuntu 18.04LTS/Gnome
PC2 perso (Lenovo Legion Y520) : quadrupleboot avec Archlinux/Plasma, Ubuntu 18.10/Gnome, OpenSuSe Tumbleweed/Mate, Win10
PC3 pro : OpenSuSe Leap 15/Plasma
Besoin d'un script de post-install pour la 18.04 ? c'est ici : https://forum.ubuntu-fr.org/viewtopic.php?id=2026344

Hors ligne

#30 Le 07/12/2018, à 19:11

krodelabestiole

Re : Lien physique , lien symbolique ?!

non : #23

Hors ligne

#31 Le 07/12/2018, à 19:12

maxire

Re : Lien physique , lien symbolique ?!

Non, au contraire le lien symbolique gaspille un inode !


Maxire
Archlinux/Mate + Debian Stretch/Gnome sur portable -- Archlinux/Mate sur poste de travail

Hors ligne

#32 Le 07/12/2018, à 19:27

melixgaro

Re : Lien physique , lien symbolique ?!

Voici un autre exemple. Deux fichiers différents donnees.dat et donnees_autre.dat. Le fichier donnees.link.dat est un lien physique vers donnees.dat, comme le prouve ce retour (qui montre les i-nœuds ou inodes).

melixgaro $ ls -1 --inode donnees*
788034 donnees_autre.dat
788033 donnees.dat
788033 donnees.link.dat   # même i-nœud que donnees.dat

Si tu affiches la taille des fichiers avec ls -sh, tu as l'impression que chaque fichier pèse 1,2 Gio.

melixgaro $ ls -1 -sh donnees*
1.2G donnees_autre.dat
1.2G donnees.dat
1.2G donnees.link.dat

À en croire le résultat ci-dessus, le tout devrait peser plus de 3 Gio. Or si tu calcules la taille totale avec un outil approprié comme du, tu vois que celle-ci vaut 1,2 + 1,2 = 2,3 Gio (oui, il y a des erreurs d'arrondis). du ignore les liens physiques pour éviter de compter en double ce qui n'existe qu'une seule fois.

melixgaro $ du -shc donnees*
1.2G    donnees_autre.dat
1.2G    donnees.dat              # Remarque bien que du n'affiche rien pour donnees.link.dat alors que le fichier est donné en arguments à cause de du charactère étoile 
2.3G    total

D'ailleurs, avec l'option '--count-links', du compte aussi les liens physiques et cette fois-ci, on obtient une taille totale de 3,4 Gio mais qui ne correspond pas à la véritable occupation de l'espace disque

melixgaro $ du -shc --count-links donnees*
1.2G    donnees_autres.dat
1.2G    donnees.dat
1.2G    donnees.link.dat
3.4G    total

La page de man de du

-l, --count-links
              count sizes many times if hard linked

Dernière modification par melixgaro (Le 07/12/2018, à 19:29)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#33 Le 07/12/2018, à 19:28

erresse

Re : Lien physique , lien symbolique ?!

@FrancisFDZ
Organisation des fichiers sur disque :
A) L'index --> contient les noms des fichiers et pointe sur les données contenues dans le fichier.
B) Les données contenues qui sont enregistrées quelque part dans le disque, et dont l'emplacement est consigné dans l'index.

Cas du lien physique :
A) Dans l'index, on aura deux noms, "tata" et "toto" tous les deux pointent sur l'adresse des données (inode) 1234.
    - tata --> 1234
    - toto --> 1234
B) À l'adresse 1234 du disque, on trouve les données du fichier "tata" et aussi du fichier "toto" puisque ce sont les mêmes données pour les deux noms.

Cas du lien symbolique :
A) Dans l'index, on aura deux noms, "tata" et "titi" chacun pointant sur l'adresse de ses données (inode) : 1234 et 5678.
    - tata --> 1234
    - titi --> 5678
B) À l'adresse 1234 du disque, on trouve les données du fichier "tata".
     À l'adresse 5678 du disque, on trouve les données du fichier "titi". Ces données sont le nom du fichier "tata".
     Et le système va aller dans l'index chercher le nom de fichier "tata" pour trouver les données de ce fichier en 1234.

Est-ce que ça te paraît plus clair ?
Un lien physique ne prend pas plus de place qu'un lien symbolique, il en prend même moins puisqu'il n'a pas de données propres associées, alors que le lien symbolique en a, lui, même si elles sont très peu volumineuses...
Ce qui te fait croire que le lien physique duplique les données du fichier, c'est juste le mécanisme (que j'ai décrit précédemment) qui vérifie que tous les noms associés avec les données ont bien été supprimés avant de supprimer effectivement les données.

Dernière modification par erresse (Le 07/12/2018, à 19:32)


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#34 Le 09/12/2018, à 00:10

krodelabestiole

Re : Lien physique , lien symbolique ?!

tiens d'ailleurs je vois que rsnapshot se sert de liens physiques pour ses sauvegardes incrémentielles.

c'est pour ça que chaque snapshot apparaît comme contenant tous les fichiers alors que le poids de l'ensemble des snapshots est à peine plus lourd que celui d'un snapshot unique.

voilà un cas d'utilisation des liens physiques qui me parait très pertinent.

Hors ligne

#35 Le 09/12/2018, à 08:42

FrancisFDZ

Re : Lien physique , lien symbolique ?!

Ben je commence à avoir mal à la tête wink
Et c'est pas fini !


-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]

Hors ligne

#36 Le 09/12/2018, à 09:21

krodelabestiole

Re : Lien physique , lien symbolique ?!

ben c'est pas très compliqué : chaque fichier a un emplacement précis sur le disque (un inode pour simplifier).

le nom du fichier dans son répertoire, c'est un lien physique vers cet inode. tu peux avoir autant de lien physique que tu veux, ce seront d'autre noms pour le même fichier. si aucun lien physique ne pointe sur le fichier (on a rm tous les différents noms du fichier), celui-ci est effacé.

le seul truc c'est qu'il faut dissocier mentalement chemins / noms de fichiers / liens physiques d'un côté, et inode / emplacement physique du fichier sur le disque de l'autre. les 2 sont relativement indépendants.

Hors ligne

#37 Le 09/12/2018, à 11:40

ar barzh paour

Re : Lien physique , lien symbolique ?!

FrancisFDZ a écrit :

Ben je commence à avoir mal à la tête wink
Et c'est pas fini !


au hasard du net
https://t1.uc.ltmcdn.com/fr/images/0/0/ … 00_600.jpg


Ubuntu 18.04 (sept 2018) (était en essai depuis 12/2017)
Ubiuntu 16.04 (07/2016) et diverses versions  Ubuntu 14.04 ,  Studio 14.04 LTS 64 bits , MATE 16.04
(03/2018) : PC          : Intel(R) Pentium(R) CPU G4600 @ 3.60GHz  + 4GiB RAM DDR4-2400
(06/2017) : Portable : Intel(R) Core(TM)2  Duo CPU     T5750  @ 2.00GHz 3Go de RAM DDR2 667 Mhz Ubuntu 16.04

Hors ligne

#38 Le 11/12/2018, à 11:20

FrancisFDZ

Re : Lien physique , lien symbolique ?!

pour ma part, je n'utilise que des liens symboliques et je pense que je vais continuer.


-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]

Hors ligne

#39 Le 11/12/2018, à 11:32

erresse

Re : Lien physique , lien symbolique ?!

FrancisFDZ a écrit :

pour ma part, je n'utilise que des liens symboliques et je pense que je vais continuer.

Ben, y a pas de mal, c'est ce qu'on fait tous, rassures-toi...
Le lien symbolique est très souple et permet de référencer n'importe quoi n'importe où, c'est l'équivalent du fameux "raccourci" de Windows, comme déjà exposé avant.
Le lien physique est bien trop limitatif et difficile à employer, ce sont surtout des logiciels qui peuvent s'en servir pour des fonctions particulières.
Si on en a longuement débattu ici, c'est juste parce-que tu avais posé la question et pour t'expliquer son fonctionnement, voilà tout.
big_smile


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne