서버관리2014. 10. 2. 12:24
300x250

CurlFtpFs 를 이용하여, 센토스 5.x 의 리눅스 박스에 ftp 를 로컬에 마운트 해서 사용하는 방법이다. 



1.

curlftpfs 는 yum시스템에 등록되어 있지 않기 때문에, yum install curlftpfs 로 설치할 수 없다. 

소스를 가져와서 설치해야 한다. 

curlftpfs 의 사이트는 http://curlftpfs.sourceforge.net/  이다. 



2.

curlftpfs 를 설치하기 위해서는 몇가지 패키지가 설치되어 있어야 한다. 

다음으로 그 패키지들을 설치할 수 있다. 이는 yum으로 설치할 수 있다. 


# yum install glib2-devel

# yum install fuse-devel

# yum install libcurl-devel


일부는 이미 설치되어 있을 수도 있다. 

필자의 경우는 fuse 가 설치되어 있지 않았다.

설치하면, fuse-devel 와 의존성 패키지인 fuse-libs 가 같이 설치된다.

libcurl 은 설치는 되어 있는데, 설치되어 있는 버전이 낮다. ㅡㅡ 

버전 7.17.0 이 필요한데. 설치된 버전은 7.15.5 이다. 



3.

이젠 curlftpfs 를 설치해 보자.

# cd /usr/local/src

# wget http://sourceforge.net/projects/curlftpfs/files/latest/download

# tar xvzf curlftpfs-0.9.2.tar.gz

# cd curlftpfs-0.9.2

# ./configure

# make

# make install


위의 wget 에서

# wget http://downloads.sourceforge.net/projects/curlftpfs/curlftpfs/0.9.2/curlftpfs-0.9.2.tar.gz

이렇게 지정을 해도 된다.


4. 
0.9.2 버전의 curlftpfs 를 ./configure 할때 오류가 난다. 
오류 내용은 위에 적힌 대로, libcurl 버전이 낮아서 설치가 안된다는 것이다. 
libcurl 7.15.5 버전과 7.16.0 버전의 문제점에 대해서는 위 curlftpfs 사이트에 나와 있다. 
하지만, 0.9.2 버전이 센토스 5.11 에서 설치가 안되니, 0.9.1 버전을 설치해 본다. 
어디까지나 테스트이다. 실서비스에 사용은 안될 듯 싶다. 

# cd /usr/local/src

# wget http://downloads.sourceforge.net/projects/curlftpfs/curlftpfs/0.9.1/curlftpfs-0.9.1.tar.gz

# tar xvzf curlftpfs-0.9.1.tar.gz

# cd curlftpfs-0.9.1

# ./configure

# make

# make install


일단 설치는 된다. ^^


5.
이제 curlftpfs 로 ftp 서버를 마운트 해 보자. 
# mkdir /mnt/ftpbackup
# curlftpfs -o allow_other ftp://userid:userpw@ftp.host.com /mns/ftpbackup
fuse: device not found, try 'modprobe fuse' first

에러가 난다. ㅡㅡ 시키는 대로 해 주자
# modprobe fuse

다시  mount 시켜 본다. 
# curlftpfs -o allow_other ftp://myuser:mypass@ftp.host.com /mns/ftpbackup

에러 없이 잘 떨어진다. ^^
일단은 성공이긴 한데, 문제가 좀 있다. 
프로세스 보기를 해 보면, 아이디와 비번이 노출이 된다. ㅡㅡ

아이디와 패스워드를 별도 파일로 저장할 수 있다. 홈디렉토리에 .netrc 파일을 만들어 넣으면 된다. 
/root/.netrc 파일의 내용은 다음과 같다. 

machine ftp.host.com
login myuser
password mypass

위 파일의 퍼미션은 600 으로 주면 된다. 

위 파일이 있을 경우 명령문은 아래와 같이 간단히 할 수 있다. 
# curlftpfs -o allow_other ftp://ftp.host.com /mns/ftpbackup


6.
자동 마운트를 위해서 /etc/fstab 에 추가해 보자.

curlftpfs#ftp.host.com /mnt/ftpbackup fuse rw,uid=500,user,noauto 0 0

/etc/fstab 파일에 추가하는 자동 마운트가 잘 안될 경우 
/etc/rc.d/rc.local 에 다음 명령문을 추가하여 부팅시마다 실행되게 할 수도 있다. 

curlftpfs -o allow_other ftp://ftp.host.com /mns/ftpbackup &



* 참고





300x250
Posted by 마스타