Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
curlftpfs [Le 25/05/2007, 03:14]
88.161.137.120 sudo adduser username fuse
curlftpfs [Le 13/01/2025, 11:37] (Version actuelle)
opiwa [Installation]
Ligne 1: Ligne 1:
-====== CurlFtpFS ====== +{{tag>​Focal Bionic ftp }}
-[[http://​curlftpfs.sourceforge.net/​|Site officiel]]+
  
-Article en cours d'​élaboration [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=38912|commentaires et et discussion ici]]. +---- 
- +======CurlFtpFS ====== 
-===== A quoi ça sert ? ===== +CurlFtpFS sert à monter sur son système de fichier, un autre système de fichier distant, à travers une connexion FTP, le tout avec des droits utilisateur.\\ 
-CurlFtpFS sert à monter sur son système de fichier, un autre système de fichier distant, à travers une connexion FTP, le tout avec des droits utilisateur. +Il intègre une fonction de reconnexion automatique en cas de //timeout// de connexion.\\ 
-L'​avantage est de manipuler les données distantes avec n'​importe quel gestionnaire de fichier ​(Nautilus, Konqueror, ROX, ou même la ligne de commande), ce qui est bien plus pratique que les commandes consoles de ftp ou des logiciels comme gFTP.+L'​avantage est de manipuler les données distantes avec n'​importe quel gestionnaire de fichiers ​(Nautilus, Konqueror, ROX, ou même la ligne de commande), ce qui est bien plus pratique que les commandes consoles de ftp ou des logiciels comme gFTP.
  
 +C'est un logiciel libre open source sous [[https://​curl.se/​docs/​copyright.html|une licence dérivée]] de [[https://​opensource.org/​licenses/​mit-license.php|la licence MIT/X]].
  
 +===== Pré-requis =====
 +  * Disposer des [[:​sudo|droits d'​administration]]
 +  * Disposer d'une connexion à Internet configurée et activée
 +  * Avoir [[:​tutoriel:​comment_installer_un_paquet|installé le paquet]] **[[:​fuse]]**
  
 ===== Installation ===== ===== Installation =====
 +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​curlftpfs]]**
  
-Tout d'abord, il vous faudra [[http://​doc.ubuntu-fr.org//fuse#​installation_de_fuse|installer et configurer FUSE]], dont dépend CurlFtpFS.+<note warning>​**Paquet devenu obsolète** depuis Ubuntu 24.10</​note>​ 
 +//Le paquet « curlftpfs » n'a pas de version susceptible ​d'être installée. Aucune version du paquet curlftpfs n'est disponiblemais il existe dans la basede données.// 
 +===== Configuration ===== 
 +Pas de configuration particulière sauf l'​ajout de votre user dans le groupe 'fuse' (cela évitera par la suite d'​avoir besoin d'​utiliser la commande **''​sudo''​**) :
  
-CurlFtpFS n'est pas disponible en paquet Ubuntu, il faut donc le compiler. Ce n'est pas un gros programme, la compilation est simple et rapide. +  grep -w fuse /etc/group -q || sudo groupadd fuse 
-Premièrement,​ il faut récupérer les dernières sources sur le [[http://​curlftpfs.sourceforge.net/​|site officiel]] (curlftpfs 0.9 est la dernière version actuellement),​ vous pouvez également suivre les instructions qui suivent : +  sudo adduser ​$USER fuse
-  ~$ mkdir tmp +
-  ~$ cd tmp +
-  ~/tmp$ wget http://​ovh.dl.sourceforge.net/​sourceforge/​curlftpfs/​curlftpfs-0.9.tar.gz +
-  ~/tmp$ tar -xvf curlftpfs-0.9.tar.gz +
-  ~/tmp$ cd curlftpfs-0.9 +
-  ​~/​tmp/​curlftpfs-0.9$ ​sudo apt-get install build-essential libfuse-dev libglib2.0-dev libcurl3 libcurl3-dev checkinstall +
-  ~/​tmp/​curlftpfs-0.9./​configure +
-  ~/​tmp/​curlftpfs-0.9$ make +
-  ~/​tmp/​curlftpfs-0.9$ sudo checkinstall+
  
-Checkinstall va vous créer un .deb et l'​ajouter directement dans votre base de donnée, ce qui veut dire que pourrez le désinstaller directement dans synaptic, et le réinstaller grâce au .deb.+Puis se reconnecter.
  
----- +Exemple de montage de répertoire FTP: 
----- +  ​curlftpfs ​ user@ftp.server.com /​mnt/​point_de_montage 
-ATTENTION =Pour les distrib DAPPER 6.06 +<note important>N.B.: Cacher ​le password dans le fichier ​.netrc (cf**''​man netrc''​**)</​note>​ 
-Lors de la compilation, ​le ./configure ne marche pas car il cherche une librairie libcurl plus récente que celle distribuée par la dapperLa solution est donc une fois l'install réalisée, ​de télécharger les dernières sources ​de curl ([[http://curl.oc1.mirrors.redwire.net/​download.html|télécharger]]et de les compiler (./configure && make && sudo make install). +<note tip>pour aider à déboguer vous pouvez utiliser ​l'option **-v** (verbose) ​de Fuse </​note>​ 
-Une fois les librairies installées par votre compil de curl vous pourrez continuer ​la procédure normale (compil de curlftpfs ​comme décrite ci-dessus... +<note tip>​Certains fournisseurs ​de ftp imposent des noms d'​utilisateurs avec caractères pouvant interférer ​(exemple ​**nom@server.com**). Dans ce cas préférez ​la syntaxe suivante : 
----- +<​code> ​curlftpfs -o user=nom@server.com:mdp ftp.server.com /​mnt/​point_de_montage </​code>​ </​note>​ 
-----+exemple d'​autre syntaxe :<​code> ​ curlftpfs ​-o allow_other,​ro ftp://​userftp:​passwordftp@nomesito.ext /​mnt/​point_de_montage </​code> ​
  
 +Pour démonter :
 +  fusermount -u /​mnt/​point_de_montage
  
 +En cas d'​utilisation ponctuelle via la ligne de commande, se référer à la page de man.
 +<​code>​man curlftpfs</​code>​
  
-Checkinstall va vous demander s'il doit créer la docvalidezpuis une courte description (à finir par une ligne vide)libre à vous de mettre ce que vous voulezexemple "​CurlFtpFS ​est un système ​de fichier pour accéder aux serveurs ​FTP basé sur FUSE et libcurl."​. +===== Utilisation===== 
-Ensuiteun menu vous demande si vous êtes d'​accord avec les informations généréesJe vous conseil de changer ​le nom (2pour curlftpfs. Une fois que tout est correctvalidez avec "​entrer"​.+==== Montage automatique ==== 
 +Pour monter automatiquement un site FTP au démarrage, ​il suffit d'​[[:​tutoriel:​comment_editer_un_fichier|éditer]] le fichier **/​etc/​fstab** de cette manière : 
 +<​file>​ 
 +# <file system>​  ​        <​mount point>​ <​type>​ <​options>​  ​       <​dump>​ <​pass>​ 
 +curlftpfs#​login:​mot_de_passe@ftp.host.com /​répertoire/​local fuse rw,user,allow_other,uid=1000,_netdev 0 0 
 +</​file>​ 
 +Sachant que : 
 +  - //​login// ​est le nom de l'​utilisateur ​FTP, 
 +  - //​mot_de_passe//​ est son mot de passe, 
 +  - //ftp.host.com // est le nom DNS (ou l'​adresse IPdu serveur FTP, 
 +  - // /​répertoire/​local//​ est le répertoire sous lequel le site FTP sera visible.
  
-Pour désinstaller : sudo dpkg -curlftpfs+Vous pouvez aussi choisir de monter un sous-répertoire (en remplaçant les éventuels espaces par '​%20'​). 
 +<​file>​curlftpfs#​login:​mot_de_passe@ftp.host.com/​repertoire/​sous%20repertoire ...</​file>​
  
-ne pas oublier d'​ajouter son utilisateur à Fuse :  +===== Désinstallation ===== 
-~$ sudo adduser username fuse+Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer son paquet]]. La configuration de l'​application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.
  
-===== Utilisation en mode Console ​===== +===== Voir aussi ===== 
-Rien de plus simple maintenant : +  ​* **(en)** [[http://curlftpfs.sourceforge.net/|Site officiel ​de CurlFtpFS]] 
-  ​~$ mkdir tmp +  * **(en)** [[https://curl.se/|Site officiel ​de cURL]]
-  ~$ curlftpfs ftp://mon.serveur.org tmp -o user=monlogin:​monmdp +
- +
-si votre mot de passe contient des caractéres spéciaux du genre # ou ! il vous faut échapper ces caractéres par \. +
-Un # sera transformé alors par un \# . +
- +
-Pour démonter, vérifier que pour rien n'​accède au point de montage ​(fichier ouvert ou gestionnaire de fichier), et effectuer la commande : +
-  ~$ fusermount -u tmp +
- +
- +
-===== Utilisation en mode Graphique ===== +
-=== Création et explication de curlftpfs-dialog.sh === +
-Voici un petit programme écrit en GtkDialog, il faut donc l'​installer : +
-  apt-get install gtkdialog +
- +
-Le programme est un script, ouvrez un éditeur de texte : +
-  gedit curlftpfs-dialog.sh +
- +
-Puis y coller le code suivant : [[:sshfs#​code_de_curlftpfs-dialog.sh|bas de page]] +
- +
- +
-ne pas oublier de le rendre exécutable : +
-  chmod u+x curlftpfs-dialog.sh+
  
 ---- ----
- +//Contributeurs principaux : [[:utilisateurs:mrwaloo|MrWaloo]]//
-Exécutez le script directement dans votre gestionnaire de fichiers ou dans une console, et vous obtiendrez une fenêtre nécessitant quelques renseignement comme : +
-  * l'​adresse du serveur +
-  * une case à cocher pour une connexion anonyme +
-  * le nom de l'​utilisateur distant +
-  * le mot de passe +
-  * le nom du point de montage +
- +
-Une fois tous les champs renseignés,​ cliquez sur **mount**. Un répertoire du nom du point de montage doit se créer et votre connexion montée sur le système de fichiers !! +
- +
-Quand vous avez fini, quittez le répertoire monté et faites **Umount**. +
-Il est possible de sauvegarder la configuration en appuyant sur **Save**. +
- +
-Pour recharger la configuration,​ il faut passer un fichier .eftp en paramètre du script (en faisant un glisser-déposer avec un gestionnaire de fichiers). +
- +
-=== Suggestion d'​utilisation === +
- +
-{{ applications:​applications:​curlftpfs:​curlftpfs-dialog_00.png}} +
- +
-Créez quelque par dans votre arborescence,​ un répertoire FTP ( /home/toto/​Network/​FTP ).\\ +
- +
-Déplacez le script dans ce répertoire.\\ +
- +
-Remplissez la fenêtre normalement,​ testez la connexion et sauvegardez.\\ +
- +
-Vous obtenez des fichiers .eftp, comme par exemple "​toto@hebergeur.org.eftp"​ "​tata@sitewoueb.fr.eftp"​.\\ +
- +
-Glissez/​déposez le fichier toto@hebergeur.org.eftp sur curlftpfs-dialog.sh et la fenêtre s'​ouvre directement avec les informations renseignées.\\ +
- +
- +
-===== Code de curlftpfs-dialog.sh ===== +
- +
-<​code>​ +
-#! /bin/bash +
- +
-export DIR=$PWD +
- +
-if $1 ] ; then +
- export DIR=`dirname $1` +
- while read ligne ; do +
- first=1 +
- val=""​ +
- for mot in $ligne ; do +
- if $first -eq 1 ] ; then +
- var=$mot +
- first=0 +
- else +
- val=$val$mot"​ " +
- fi +
- done +
- export $var="​$val"​ +
- done < $1 +
-fi +
- +
-if [ -z "​$DISTUSER"​ ] ; then +
- export DISTUSER=$USER +
-fi +
- +
-if [ -z "​$MOUNT"​ ] ; then +
- export MOUNT=$DISTUSER$SERVEUR +
-fi +
- +
-export MAIN_DIALOG='​ +
- <​vbox>​ +
-  <​hbox>​ +
- <​text><​label>​Serveur:</​label></​text>​ +
- <​entry>​ +
- <​input>​echo $SERVEUR</​input>​ +
- <​variable>​SERVEUR</​variable>​ +
- </​entry>​ +
- </​hbox>​ +
- <​hbox>​ +
- <​checkbox>​ +
- <​label>​Cocher pour l authentification par défaut</​label>​ +
- <​variable>​CHECKBOX</​variable>​ +
- <​default>​no</​default>​ +
- <​action>​if false enable:DISTUSER</​action>​ +
- <​action>​if false enable:​PASSWORD</​action>​ +
- <​action>​if false OPT=-o user=$DISTUSER:​$PASSWORD</​action>​ +
- <​action>​if true disable:​DISTUSER</​action>​ +
- <​action>​if true disable:​PASSWORD</​action>​ +
- <​action>​if true OPT=</​action>​ +
- </​checkbox>​ +
- </​hbox>​ +
-  <​hbox>​ +
- <​text><​label>​User:</​label></​text>​ +
- <​entry>​ +
- <​input>​echo $DISTUSER</​input>​ +
- <​variable>​DISTUSER</​variable>​ +
- <​action>​OPT=-o user=$DISTUSER:​$PASSWORD</​action>​ +
- </​entry>​ +
- </​hbox>​ +
-  <​hbox>​ +
- <​text><​label>​Password:</​label></​text>​ +
- <​entry>​ +
- <​visible>​password</​visible>​ +
- <​variable>​PASSWORD</​variable>​ +
- <​action>​OPT=-o user=$DISTUSER:​$PASSWORD</​action>​ +
- </​entry>​ +
- </​hbox>​ +
-  <​hbox>​ +
- <​text><​label>​Mount Name:</​label></​text>​ +
- <​entry>​ +
- <​input>​echo $MOUNT</​input>​ +
- <​variable>​MOUNT</​variable>​ +
- </​entry>​ +
- </​hbox>​ +
-  <​hbox>​ +
- <​button>​ +
- <​label>​Mount</​label>​ +
- <​action>​fusermount -u $DIR/​$MOUNT</​action>​ +
- <​action>​rmdir $DIR/​$MOUNT</​action>​ +
- <​action>​mkdir $DIR/​$MOUNT</​action>​ +
- <​action>​curlftpfs ftp://​$SERVEUR $DIR/$MOUNT $OPT</​action>​ +
- </​button>​ +
- <​button>​ +
- <​label>​Umount</​label>​ +
- <​action>​fusermount -u $DIR/​$MOUNT</​action>​ +
- <​action>​rmdir $DIR/​$MOUNT</​action>​ +
- </​button>​ +
- <​button>​ +
- <​label>​Save</​label>​ +
- <​action>​echo SERVEUR $SERVEUR ​tee $DIR/​$MOUNT.eftp</​action>​ +
- <​action>​echo DISTUSER $DISTUSER | tee -a $DIR/​$MOUNT.eftp</​action>​ +
- <​action>​echo MOUNT $MOUNT | tee -a $DIR/​$MOUNT.eftp</​action>​ +
- </​button>​ +
-  </​hbox>​ +
- </vbox> +
-+
- +
-gtkdialog --program=MAIN_DIALOG +
-</code>+
  • curlftpfs.1180055693.txt.gz
  • Dernière modification: Le 25/05/2007, 03:15
  • (modification externe)