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サーバーです。また、他の複数のサーバーとプライベートサーバーを試してみましたが、同じエラーが発生しました。ルートを使用して新しいArch / manjaroシステムで実行すると、ファイアウォールを完全に無効にするssl
などのオプションは役に立ちませんでした。ftp_port=-
ただし、filezilla またはftp
ツールを使用してこれらのサーバーに接続できます。
デバッグ()オプションで実行したときの出力-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
コマンドを使用します。