Pull to refresh

Монтируем FTP ресурс как локальную FS

Reading time 2 min
Views 80K
Захотелось как-то исполнить команду find в ftp-пространстве, но любой нормальный ftp сервер этого не даст сделать, а решение ну очень хотелось найти.

Вот и был обнаружен curlftpfs:

$ aptitude show curlftpfs
Пакет: curlftpfs
Состояние: установлен
Автоматически установлен: нет
Версия: 0.9.2-1
Приоритет: необязательный
Раздел: utils
Сопровождающий: Ding Honghui <hhding@vobile.cn>
Размер в распакованном виде: 111k
Зависимости: libc6 (>= 2.7-1), libcurl3-gnutls (>= 7.16.2-1), libfuse2 (>= 2.6), libglib2.0-0 (>= 2.12.0), fuse-utils
Описание: filesystem to access FTP hosts based on FUSE and cURL
 CurlFtpFS is a tool to mount FTP hosts as local directories. It connects to a FTP server and maps its directory structure to the local filesystem. 
 
 Based on FUSE (filesystem in userspace) and the cURL library, CurlFtpFS has some features that distinguish it over other FTP filesystems: 
 * support for SSLv3 and TLSv1 
 * connecting through tunneling HTTP proxies 
 * automatic reconnection if the server times out 
 * conversion of absolute symlinks to point back into the FTP filesystem
Сайт: http://curlftpfs.sourceforge.net

С помощью этого замечательного средства можно выполнить практически любую операцию с ftp-ресурсом.

Для начала установим пакет:

$ sudo aptitude install curlftpfs

Затем подмонтируем интересующий нас ftp-ресурс:

$ mkdir temp-ftpfs
$ curlftpfs ftp://$USER:$PASSWD@$HOST/ temp-ftpfs
$ cd temp-ftpfs
$ ls
$ find / -name '*.txt'

Всё очень просто.

А вот отномнтировать получится только с root'овыми правами:
$ sudo umount curlftpfs#ftp://$USER:$PASSWD@$HOST/

Отмонтировать можно так:

$ fusermount -u temp-ftpfs


PS: Вольный перевод, с некоторыми дополнениями, статьи с Debian Administration.
ЗЫ: На мой взгляд удобнее использовать sshfs, но если нет доступа по ssh тогда и вышеуказанный метод на что-нибудь да сгодится.
Tags:
Hubs:
+25
Comments 43
Comments Comments 43

Articles