cross-posted from: https://lemm.ee/post/58872408

Hey,

So I’ve been connecting to an ftp server which I worked on with apps like GNOME Builder, and backed up the contents of with Pika Backup, connecting to it via the GNOME Files application, Nautilus, from the Network tab.

Recently, apps stopped being able to read files I opened with the file picker hosted on the ftp server, and after a lot of debugging I realised that was because Nautilus had for some reason switched from mounting the files under /run/user/1000/gvfs/ftp_address to the more abstract path ftp://ftp_address, under the virtual directory computer:///. Now apps can’t read those files as they are not mounted under an actual path.

I couldn’t find a way in Nautilus, FileZilla, or Dolphin to mount the ftp server files under a specified path /mnt/ftp_username, or even to put it back to the unwieldy but still working path it was under before, using a GUI.

I was recommended by an LLM assistant to use the curlftpfs command, but even with several variations of a command such as the following

sudo curlftpfs -v -o "uid=$UID,gid=$GID" ftp://username:correct%20password@ftp_address /mnt/ftp_username

it always gave the same error

Error setting curl: 

I’m not sure what else to try, could I have some advice please?

    • JackGreenEarth@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 day ago

      Yeah, might well be there’s an error with this version - 0.9.2/8.9.1

      aarvi@fedora:~$ curlftpfs --version
      curlftpfs 0.9.2 libcurl/8.9.1 fuse/2.9
      aarvi@fedora:~$ curl --version
      curl 8.9.1 (x86_64-redhat-linux-gnu) libcurl/8.9.1 OpenSSL/3.2.4 zlib/1.3.1.zlib-ng libidn2/2.3.8 nghttp2/1.62.1
      Release-Date: 2024-07-31
      Protocols: file ftp ftps http https ipfs ipns
      Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz SPNEGO SSL threadsafe UnixSockets
      
      
      aarvi@fedora:~$ sudo dnf dg curl-8.7.1
      Updating and loading repositories:
      Repositories loaded.
      Failed to resolve the transaction:
      No match for argument: curl-8.7.1
      You can try to add to command line:
        --skip-unavailable to skip unavailable packages
      aarvi@fedora:~$ 
      
      

      But it also doesn’t seem the old version is available for download…

      • tal@lemmy.today
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        edit-2
        1 day ago

        I haven’t ever used curlftpfs, but I imagine that if this is the problem and if Fedora doesn’t have a fix, it’s probably possible to build it out of tarball and use a wrapper around curlftpfs as a temporary workaround. It doesn’t look like curlftpfs lets you specify the path to the curl binary, so probably need to modify PATH prior to invoking curlftpfs.

        Like, something along the lines of:

        • build curl 8.8.0 from tarball, stick curl binary in directory (say, in /opt/curl/)

        • Create curlftpfswrapper.sh:

            #!/bin/bash
            export PATH=/opt/curl/:"$PATH"
            exec curlftpfs "$@"
          
        • Drop curlftpfswrapper.sh somewhere in your PATH.

        • Use curlftpfswrapper.sh instead of curlftpfs as long as it’s broken.