Attention, article velu pour barbu linuxien. Si tu comprends pas, alors ce n’est probablement pas pour toi :). Cet article est plus une référence pour moi-même, mais si ça peut en aider d’autres, c’est tout bon.
J’ai actuellement un serveur de stockage hébergé chez OVH sur lequel j’effectue régulièrement des sauvegardes et qui me sers un peu à tout. Une sorte de box à tout faire informatique. Je partage quelques fichiers à l’aide nextcloud, je downloade un peu tavu, j’ai divers sites dont ce blog et pour accéder aux fichiers j’ai plusieurs possibilités (FTP, WebDav etc). Ma préférée est d’utiliser FUSE pour monter en local le partage de fichier distant SFTP.
Or, si cela fonctionne bien avec un client Linux via SSHFS, c’est bien plus difficile sous Windows.
J’ai essayé Dokan/Win-SSHFS, sans vraiment être convaincu, d’autant plus que le code n’est plus maintenu, et quelques autres solutions dont aucune ne m’a donné satisfaction.
Je me suis donc lancé dans la création d’une passerelle Linux/Windows de partage de fichier.
J’ai commencé à l’aide d’un RaspberyPi sous Raspbian branché en permanence chez moi. La solution fonctionne très bien, d’autant plus qu’elle me sert aussi de routeur, de serveur VPN et parfois de point d’accès Wifi.
Je peux aussi, au besoin, la débrancher et l’emmener avec moi n’importe où.
C’est pratique.
Mais je cherchais surtout une solution purement logicielle.
Je souhaitais une VM la plus petite possible, utilisant le minimum de RAM, pour qu’elle soit portable et rapide. La quête du Graal un peu.
Et là, paf, après plusieurs jours de recherche et de test je tombe sur mon Graal justement.
TinyCore que ça s’appelle.
Une distribution Linux de 11Mo, ultra-modulaire, qui se charge intégralement en RAM et qui met moins de 5 secondes à se charger.
Elle contient le strict minimum pour un système linux de base mais on peut ensuite y ajouter des tas d’extensions.
C’est idéal pour qui a un besoin extrêmement précis, une seule fonction et qui veut se concentrer dessus.
Pour mon propre besoin, voici les étapes qui m’ont permis de construire cette passerelle.
- Machine virtuelle
- Téléchargement et installation de VirtualBox dans sa dernière version
- Création d’une machine virtuelle avec la config suivante
- Disque dur 100Mo (juste pour conserver les extensions et les fichiers de config)
- RAM 64Mo
- Pas d’USB, Pas de carte son
- Réseau en Pont
- TinyCore
- Télécharger le fichier ISO de CorePlus sur le site officiel. C’est un plus gros fichier mais il contient l’installeur complet.
- Booter la VM sur l’ISO
- Suivre la procédure d’installation
- Enlever l’ISO et rebooter
- Configuration de TinyCore
- Modifier le fichier extlinux (qui est lu au boot) pour y ajouter quelques options
- vi /mnt/sda1/tce/boot/extlinux/extlinux.conf
- home=sda1 opt=sda1 kmap=azerty/fr-latin9 quiet host=sshfstc
- Rebooter (Par défaut aucun fichier n’est sauvegardé. Home et Opt définissent deux répertoires persistants au reboot.)
- Ajouter les extensions Openssh, SSHFS et Samba
tce => S => openssh => Q => Install
tce => S => sshfs => Q => Install
tce => S => samba=> Q => Install
- Modifier le fichier extlinux (qui est lu au boot) pour y ajouter quelques options
- Configuration de Samba (SHARE est à remplacer par un nom de partage quelconque)
- Créer le répertoire à partager
- mkdir /opt/SHARE
- Modifier le fichier de conf
- vi /usr/local/etc/samba/smb.conf
- Remplacer tout par :
- [SHARE]
- writable=yes
- browsable=yes
- path=/opt/SHARE
- Ajouter un utilisateur
- sudo smbpasswd -a tc
- <motdepasse>
- Lancer Samba au démarrage
- vi /opt/bootsync.sh
- /usr/local/etc/init.d/samba start
- Créer le répertoire à partager
- Configuration de ssh/sshfs
- Créer les clés publique et privée dans le répertoire root
- cd root; sudo ssh-keygen; sudo cat .ssh/id_rsa.pub | ssh user@hostname « cat – >> .ssh/authorized_keys »
- Se connecter une première fois sur le serveur distant, ça ne doit plus demander de mot de passe
- ssh user@hostname
- Ajouter le montage du système de fichier distant
- vi /opt/bootlocal.sh
- sleep 20 #Je mets 20 secondes de sécurité avant de tenter le montage distant. On doit probablement pouvoir le réduire ou mettre un test qui checke que c’est bien monté et qui tente de le monter sinon.
- sshfs user@hostname:/<répertoire distant> /opt/SHARE -o allow_other,reconnect,_netdev,uid=1001,gid=50
- Créer les clés publique et privée dans le répertoire root
- Finalisation
- On sauvegarde les paramètres. TinyCore ne sauvegarde que les répertoires home, opt et les fichiers et répertoires listés dans /opt/.filetool.lst
- vi /opt/.filetool.lst
- /root/.ssh
- /usr/local/etc/ssh
- /usr/local/etc/samba
- filetool.sh -b
- Reboot
- Depuis un client Windows le partage est accessible via \\sshfstc\SHARE avec l’utilisateur tc et le mot de passe <motdepasse> défini plus haut.
- On sauvegarde les paramètres. TinyCore ne sauvegarde que les répertoires home, opt et les fichiers et répertoires listés dans /opt/.filetool.lst



3 Décembre
4 Décembre
« Hmmm, j’ai bien une classe mais le plus vieux a 29 ans, ça vous gêne ? »
Très rapidement après les premiers exercices, la prof nous distribue des rôles. Pas vraiment au pif pour le coup, elle a utilisé ces premiers contacts pour nous donner quelques choses qui nous correspond, ou dans lequel elle aimerait nous voir. On va jouer du Pommerat, un auteur contemporain à l’écriture un peu particulière mais pas trop décalée pour qu’on ne se sente pas trop perdu. Je me retrouve évidemment avec Noah et une fille aussi sympa qu’énergique mais un peu énervée car, selon elle, son rôle est moins important que les nôtres. Moins de lignes de texte, moins d’émotions peut-être, alors que pour moi, elle a justement un rôle plus subtil, plus fin et sans doute moins premier degré que le mien ou celui de Noah.
C’est pas vrai que j’ai arrêté facebook et twitter, j’ai juste réduit. Je mens, je me mens. A cette époque je rencontre un mec qui arrive sur Paris, un rôliste. On fait quelques parties ensemble, on accroche bien, un mec super, entouré d’amis. J’ai besoin de ça, de changer de joueurs, de changer d’amis, de voir du monde. On enchaine les soirées, on boit, beaucoup, on rigole, beaucoup aussi. Ses potes sont géniaux, toujours à se marrer, à ne rien prendre au sérieux. Ça parle de jeu bien sûr, mais aussi de la bière (un nouvel univers qui s’est ouvert à moi), des meufs (ça gravite, ça s’échange, ça s’amuse, ça tinderise), et de la vie.
« Allo Jerem, je suis sur le site de cours Florent. C’est marrant, y’a un stage d’accès dans quelques jours. T’imagine si je fais du théâtre! »