Le partage de fichiers sans peine

Photo: Marcin Wichary

GNU/Linux est synonyme pour beaucoup de mise en commun, d’entraide, de partage. Mais le partage, ce n’est pas seulement dans les têtes et les cœurs que ça existe. Ça se passe aussi, et heureusement, entre les machines!

Si vous avez un ordinateur principal et un ordinateur portable, et que vous désirez transférer des documents, des films ou des photos de l’un à l’autre, vous pouvez bien sûr vous servir de votre clé USB. Très pratique, si vous n’avez qu’un ou deux fichiers à synchroniser de façon occasionnelle. Mais lorsque vous avez un grand nombre de dossiers à transporter régulièrement d’une machine à l’autre, c’est une autre histoire.

Autre cas: vous avez promis à votre mère d’apporter ce soir un DVD contenant les vidéos que vous réalisées lors de la dernière épluchette de blé d’Inde, mais en même temps, comme c’est une tâche qui pénalise lourdement le microprocesseur et que vous avez un travail urgent à faire, vous aimeriez mieux que la production du DVD se fasse sur votre portable pour vous consacrer à votre travail sur votre ordinateur principal. Vous pourriez transférer votre dossier Vidéos, lourd de quelques gigaoctets, sur le portable. C’est très long et pas très pratique! Mais si vous pouviez accéder à votre dossier Vidéos, situé sur votre ordinateur principal, à partir de votre portable?

Il existe plusieurs façons de partager dossiers et fichiers entre les machines. Si l’un de vos postes est sous Windows ou Mac OS, votre meilleur choix sera Samba (du nom du protocole SMB, Server Message Block). Mais sachez que ce ne sont pas tous les logiciels qui sont en mesure d’accéder aux fichiers partagés via Samba.

Si tous vos postes sont sous GNU/Linux, il y a, à mon avis, une solution plus souple et plus simple de mettre en place le partage de fichiers : Secure Shell File System ou SSHFS.

Voici comment faire sur un poste Ubuntu Lucid Lynx.

Sur chaque poste, installez sshfs et openssh-server. (openssh-client est aussi nécessaire, mais en principe, il est déjà installé.)

sudo apt-get install sshfs openssh-server

Dans le menu principal ouvrez Système->Administration->Utilisateurs et groupes->Gérer les groupes, sélectionnez «fuse» parmi les groupes, et assurez-vous, en cliquant sur Propriétés, que votre nom d’utilisateur est présent (ce devrait être le cas, sinon, ajoutez-vous).

Supposons que votre ordinateur principal s’appelle zorro-desktop et votre laptop zorro-laptop.

Pour accéder aux fichiers de zorro-desktop à partir de zorro-laptop, créez sur l’ordinateur zorro-laptop le dossier ~/zorro.desktop. (On peut l’appeler comme on veut, mais c’est une bonne idée de lui donner un nom qui rappelle l’ordinateur auquel on veut accéder.)
(En passant, ~/ représente votre dossier personnel, ou home; ici : /home/zorro/.)

Ensuite, pour vous connecter à zorro-desktop, ouvrez un terninal et entrez:

sshfs zorro@zorro-desktop: ~/zorro.desktop

où zorro (devant le @) est le nom de l’utilisateur de zorro-desktop.

Par défaut, sshfs prend pour source le dossier personnel du poste distant. (La commande ci-dessous est l’équivalent de sshfs zorro@zorro-desktop:/home/zorro. Vous pouvez préciser un autre dossier que le dossier personnel du poste auquel vous accédez.)

Le mot de passe de l’utilisateur zorro sur l’ordinateur zorro-desktop vous est alors demandé. (La première fois que vous exécutez la commande, vous devez confirmer la demande de connexion par «yes». Par la suite, le mot de passe suffit à conclure la connexion.)

Dès lors, dans le dossier zorro.desktop figurent tous les dossiers et sous-dossiers de zorro-desktop~/ et vous y accédez comme s’ils étaient sur zorro-laptop (copier, déplacer, supprimer, renommer, exécuter, etc.). Ouvrez Nautilus et vérifiez! Mais aussi Rhythmbox, DeVeDe, Open Office, tous les logiciels que vous voulez!

Pour ne plus avoir à taper la commande (dont j’oublie parfois la syntaxe exacte), j’ai créé un fichier bash dans ~/bin, que j’ai appelé mntdesktop. Si le dossier bin n’existe pas, créez-le! Il est automatiquement inclus dans le PATH, ce qui vous permet d’exécuter les scripts que vous y placez à partir de n’importe quel dossier sans avoir à préciser sa localisation.

Voici le contenu de mon mntdesktop :

#!/bin/bash
sshfs gilbert@gilbert-laptop: ~/gilbert.laptop

Je me suis assuré que ce fichier est exécutable, en entrant la commande suivante dans un terminal:

chmod 755 ~/bin/mntdesktop

Et voilà!
Addendum
Il se peut que le nom de l’ordinateur auquel vous voulez vous connecter (zorro-laptop dans l’exemple) ne soit pas reconnu. Ça m’est arrivé au début. J’ai dû faire ce qui suit.
Sur mon routeur, j’ai réservé une adresse IP pour chacun des ordinateurs qui font partie du réseau. (Chez moi: 192.168.0.100 pour le desktop, 192.168.0.101 pour le laptop, 192.1168.0.102 pour le netbook.) Ainsi, vous êtes assuré qu’à chaque redémarrage de l’un ou l’autre des ordinateurs, chacun se voit attribuer la même adresse IP, car sinon, le routeur attribue les adresses dans l’ordre du premier démarré, premier servi. Comme chaque marque de routeur propose une façon différente de réserver des adresses IP, je ne détaillerai pas la procédure ici. Voyez votre manuel d’utilisation ou l’aide en ligne que vous offre votre propre routeur pour ce faire.

Ensuite, j’ai ajouté les lignes suivantes dans le fichier /etc/hosts de gilbert-desktop:

192.168.0.101 gilbert-laptop
192.168.0.102 gilbert-netbook

ce qui assure le lien entre le nom de la machine et son adresse IP.

Lire hors ligne :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*