понедельник, 3 августа 2009 г.

FTP каталог = Локальный каталог

Во времена моей виндуозности, я использовал программу FTPdrive, которая позволяет подключать FTP каталог на удаленном сервере как обычный Windows-сетевой диск. Но в Линуксе всё круче :) Там можно примонтировать почти всё что угодно куда угодно! Сейчас расскажу как сделать так, чтобы можно было заходить в FTP каталог как в локальный, будто он у вас на жестком диске.
Для такого доступа используется программа CURLFTPFS.

Установка:
#apt-get install curlftpfs

Запуск:

Для начала нужно запустить модуль FUSE
#modprobe fuse
Это придётся делать каждый раз после перезагрузки. Чтобы оно автоматом запускалось, отредактируйте файл /etc/modules.conf , дописав в конец одну лишь строчку "fuse" (без кавычек). По-умолчанию этот файл содержит только комментарии, поэтому можно смело его перезаписать, а не редактировать.
#echo fuse >/etc/modules.conf

Все вышеперечисленные команды выполнялись от пользователя root
. Но curlftpfs можно пользоваться и от обычного пользователя.
Итак, у нас есть FTP сервер с адресом, например, myftpserver.local или 192.168.1.100
Создадим на жестком диске каталог, назвав его, например, ftpdrive
$mkdir ~/ftpdrive
Т.е. создали каталог ftpdrive в домашнем каталоге.

Теперь монтируем:

curlftpfs ftp://myftpserver.local ~/ftpdrive
Всё! Теперь, если зайти в каталог ftpdrive, там будет содержимое FTP сервера myftpserver.local

Из личного опыта:
Пробовал таким способом прицеплять FTP сервер, построенный на базе WindowsServer2008 с родным IIS FTP сервером. Пришлось указывать кодировку.
curlftpfs -codepage=CP1251 ftp://myftpserver.local ~/ftpdrive
Чтобы узнать о других параметрах, наберите
curlftpfs -h