Vous ne pouvez pas :
Un lien symbolique est simplement un inode supplémentaire (une structure qui pointe vers le fichier) et cet inode se compose, entre autres, d'un deviceId
et un inode pointer
. Le deviceId
pointe effectivement vers un fichier spécial de périphérique dans le /dev
répertoire et le inode pointer
pointe vers un bloc sur cet appareil.
Votre emplacement réseau de 10.0.1.103
n'a pas et ne peut pas avoir de deviceId
(ce n'est pas en /dev
) par conséquent, vous ne pouvez pas avoir de lien symbolique vers un emplacement réseau.
En revanche, un partage réseau monté aura un deviceId
c'est pourquoi vous pouvez créer un lien symbolique vers un emplacement monté.
Windows a une syntaxe spéciale \\MACHINE\DIRECTORY…\FILE
c'est-à-dire le fichier situé à \DIRECTORY…\FILE
sur la machine appelée \\MACHINE
via le protocole SMB. Ceci est intégré au système d'exploitation et spécialisé dans un protocole réseau.
Linux dispose d'un système de fichiers flexible basé sur la notion de montage. Les systèmes de fichiers sont attachés à un répertoire existant et l'administrateur peut choisir comment organiser la hiérarchie des répertoires. Pour plus d'informations, lisez Que signifie monter un périphérique sous Linux ?, Pourquoi le système de fichiers de Linux est-il conçu comme une arborescence de répertoires unique ? et Quels points de montage existent sur un système Linux typique ?. Linux prend en charge de nombreux systèmes de fichiers réseau (c'est-à-dire des systèmes de fichiers qui permettent à une machine d'accéder à des fichiers sur une autre machine), y compris NFS, SMB, SSHFS, etc.
NFS peut être considéré comme le système de fichiers réseau natif de Linux, tout comme SMB l'est pour Windows. Cependant Linux n'exporte pas ses fichiers par défaut :vous devez installer un serveur NFS. Un serveur NFS est disponible dans toutes les distributions Linux, mais nécessite un peu d'installation (vous devez enregistrer les répertoires que vous souhaitez exporter dans le fichier /etc/exports
). De plus, NFS date d'une époque plus douce où les attaquants sur le réseau local n'étaient pas un problème, et sa sécurisation nécessite un peu de connaissances sur les pare-feu, ce qui dépasse le cadre de cette réponse. Pour rendre le répertoire /some/where
depuis la machine distante foo.example.com
disponible à l'adresse /local/dir
(qui doit être un répertoire existant), en supposant qu'il est exporté par la machine distante, exécutez la commande suivante en tant que root :
mount foo.example.com:/some/where /local/dir
Le moyen le plus simple d'accéder à des fichiers distants sans aucune configuration est via SSHFS. Tout ce dont vous avez besoin est d'installer un serveur SSH sur la machine distante, et le sshfs
package sur la machine locale. Vous devez également générer une clé (voir Comment faire fonctionner la connexion sans mot de passe), bien que vous n'ayez pas pour le faire si cela ne vous dérange pas d'entrer votre mot de passe à chaque fois. SSH est également utile pour exécuter des commandes sur la machine distante. Pour rendre le répertoire /some/where
depuis la machine distante foo.example.com
disponible à l'adresse /local/dir
(qui doit être un répertoire existant) sur SSHFS, exécutez la commande suivante (en tant qu'utilisateur habituel) :
sshfs foo.example.com:/some/where /local/dir
Linux peut être un serveur ou un client pour le protocole SMB (communiquant avec des machines Windows, voire avec d'autres machines Linux bien qu'il soit moins bien intégré que d'autres protocoles) via le logiciel Samba.
Vous pouvez configurer un automonteur (tel que autofs
) afin que l'accès à certains répertoires monte automatiquement les répertoires à partir d'une machine distante. Par exemple, une configuration courante fait en sorte que le système de fichiers autofs soit monté sur le répertoire /net
, et accéder à /net/MACHINE/DIRECTORY
provoque le répertoire distant /DIRECTORY
à partir de /net/MACHINE
être monté sur NFS à cet emplacement (et il sera démonté après une certaine période d'inactivité). La machine distante doit bien sûr avoir un serveur NFS configuré et permettant cette connexion.
Il est possible de configurer un automonteur avec SSHFS. Voir Totally Seamless SSHFS sous Linux en utilisant Fuse et Autofs et Autofs et sshfs - le couple parfait pour des tutoriels rapides ; en bref :
- Installer
autofs
etsshfs
. -
Ajoutez la ligne suivante à
/etc/auto.master
:/mnt/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost
Remplacez les deux occurrences de 1000 par votre identifiant d'utilisateur et votre identifiant de groupe (exécutez
id -u
etid -g
pour afficher ces valeurs). Créer le répertoire/mnt/sshfs
. -
Créer un fichier
/etc/auto.sshfs
contenant des lignes comme celles-ci :machinename -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#machinename.example.com\:
où
machinename.example.com
est le nom d'hôte (ou l'adresse IP) de la machine distante etmachinename
est le nom auquel vous souhaitez y accéder en local, via le chemin/mnt/sshfs/machinename
.
Autosshfs fournit une configuration autofs+sshfs plus pratique.
Enfin, concernant la partie symbolique :vous pouvez créer un lien symbolique vers un chemin inexistant. Le lien symbolique est le deuxième argument, vous aurez donc besoin de quelque chose comme
ln -s /net/10.0.1.103/sharedFolder/symlinkFile.mov /link/to/local/file.mov
Vous devrez organiser manuellement ou automatiquement /sharedFolder
de 10.0.1.103
à monter à /net/10.0.1.103/sharedFolder
.