读取已安装的curftpfs目录会导致“输入/输出错误”

读取已安装的curftpfs目录会导致“输入/输出错误”

我想在linux中挂载一个远程FTP目录。我发现的主要工具之一是curlftpfs.

但是,当我挂载远程 FTP 目录并尝试读取其内容时,出现以下错误:

$ curlftpfs -o allow_other ftp://test.rebex.net testftp                                                                                
$ ls testftp 
ls: reading directory 'testftp': Input/output error

test.rebex.net是一个公开可用的 FTP 服务器。我还尝试了其他几台服务器和一台私人服务器,并得到了同样的错误。使用 root、诸如sslftp_port=-、完全禁用防火墙之类的选项,在全新的 arch/manjaro 系统上运行都没有帮助。不过,我可以使用 filezilla 或ftp工具连接到这些服务器。

使用 debug ( ) 选项运行时的输出-d(完整输出,未编辑或截断):

$ curlftpfs -d ftp://test.rebex.net testftp
FUSE library version: 2.9.9
nullpath_ok: 0
nopath: 0
utime_omit_ok: 0
unique: 2, opcode: INIT (26), nodeid: 0, insize: 104, pid: 0
INIT: 7.39
flags=0x73fffffb
max_readahead=0x00020000
   INIT: 7.19
   flags=0x00000011
   max_readahead=0x00020000
   max_write=0x00020000
   max_background=0
   congestion_threshold=0
   unique: 2, success, outsize: 40

使用的curftpfs版本是0.9.2

可能是什么问题呢?

答案1

似乎不支持用于检索目录列表的curlftpfs较新标准化 FTP 命令。MLSD某些服务器(例如test.rebex.net)很可能不支持旧的(且非标准化的)LIST -a命令。有curlftpfs支持MLSD命令的分支(例如),但我还没有尝试过。

相反,我为自己找到了一个替代方案rclone。支持FUSE和FTP,并使用MLSD命令。

相关内容