리눅스로 옮겨갈 수 있었던 가장 큰 항목중 하나가 acd_cli 라는 유틸리티를 써서 아마존 클라우드를 사용할 수 있다는 점 때문이었습니다. 이 유틸리티는 Fuse 라는 툴을 통해 아마존 클라우드 드라이브를 가상 폴더로 맵핑하는 기능을 갖고 있습니다. 가상 폴더 이외에도 맵핑하지 않은 상태에서 파일 목록을 뽑아오거나 파일 업/다운로드도 가능한게 매우 유용한 유틸리티죠. acd_cli 는 아래 링크에서 배포하고 있습니다.
설치법을 설명한 블로그가 제법 있는데 저는 일본쪽( http://ift.tt/1VohWzd ) 블로그에 적혀있는대로 하는게 가장 잘 설치가 되었습니다. acd_cli 버젼과 OS 버젼/배포판에 따라 조금씩 다르기 때문에 제가 설치에 성공한 다음 정리해놓은 우분투 16.04 와 라즈베리파이용 라즈비앙 기준으로 설명을 하겠습니다. ASUS 공유기에도 올리고 싶었지만 Fuse 라이브러리중 부족한게 있어서 실패했습니다.)
$ sudo apt-get install python3-setuptools python3-appdirs python3-dateutil python3-requests python3-sqlalchemy git
먼저 파이썬3 용 pip3 설치가 필요합니다. 파이썬 패키지 관리자중 하나이고 나머지 자잔한 파이썬 라이브러리와 git 까지 같이 설치합니다.
$ sudo easy_install3 -U pip
pip3 를 설치합니다.
$ sudo pip3 install --upgrade git+http://ift.tt/1U9bQRd
pip3 를 사용하여 git 허브에서 acd_cli 최신 소스를 받아옵니다.
$ sudo apt-get install w3m
옵션사항으로 w3m 콘솔용 웹브라우저를 설치합니다. Amazon Cloud Drive 를 앱에서 접근하기 위해 인증키를 받아야 하는데 https 접근이 가능한 웹브라우저가 필요합니다. 콘솔에서 작업하는 분은 콘솔용 웹브라우저가 깔려 있어야 하고 GUI 환경에선 기본 브라우저를 자동으로 띄워주기 때문에 따로 설치하지 않아도 됩니다.
$ acdcli -v init
이제 acd_cli 를 초기화 합니다. 처음 인증키를 받고 초기화 설정을 하는 과정으로 Amazon Cloud Drive 에 로그인해서 인증키를 받으라고 시킵니다. 이 과정에서 웹브라우저가 뜨고 로그인한다음 oauth_data 파일을 받으라고 합니다. 파일을 다운받을때 oauth_data 라고 받으시고 파일은
~/.cache/acd_cli/
oauth_data
로 옮깁니다.
$ mv ~/Downloads/oauth_data ~/
.cache/acd_cli/
oauth_data
인증 파일은 자신의 홈 폴더 밑에 .cache/acd_cli 디렉토리에 넣어야 하고 파일 받은 다음 옮기지 않고 다운받을때 해당 폴더에 직접 다운 받으셔도 됩니다.
$ acdcli sync
설치 작업이 다 끝났으니 이제 동기화 작업을 합니다. 로컬에 파일 목록을 보관하고 동기화를 주기적으로 해주게 되어 있습니다. 혼자 쓰는 것이면 한번만 하면 되는 것 같긴 한데 신경쓰이면 가끔 해주면 될 것 같습니다.
$ mkdir ~/Amazon
$ acdcli mount ~/Amazon
이제 폴더를 가상 폴더에 마운트 해줍니다. 이러면 아마존 폴더가 가상 폴더로 ~/Amazon 에 마운트가 됩니다. 혼자 쓰는 것이면 여기서 모든 작업이 끝납니다. 혹시 samba 공유를 해주고 싶으면 /etc/fuse.conf 의 user_allow_other 를 추가해주고 fuse.conf 파일 권한과 ~/Amazon 폴더 권한등을 조절해 주셔야 합니다. 그리고 마운트할때 acdcli mount ~/Amazon --allow-other 라고 옵션을 추가로 주셔야 합니다. (구글에서 fuse user_allow_other 를 검색해보세요.)
*/5 * * * * if ! mountpoint -q ~/Amazon/; then /usr/local/bin/acd_cli mount ~/Amazon/ --allow-other --nonempty; fi;
덤으로 acdcli 가 가끔 끊어지는데 위와같이 5분마다 감시하다 끊어지면 다시 마운트 해주게 crontab 에 넣어주면 편합니다. 저는 다른 스크립트를 통해 주기적으로 아마존 클라우드로 데이터를 복사하는 기능을 돌리고 있습니다.
현재 메인 PC 가 리눅스라 라즈베리파이를 사용하진 않지만 라즈베리파이에도 위의 설치가 동일하게 가능한 것을 확인했기 때문에 윈도우 머신을 사용하게 되면 라즈베리파이를 통해 백업을 사용할 예정입니다. 즉.. 라즈베리파이 한대면 좀 느리지만 아마존 클라우드 드라이브에 연결된 공유폴더를 네트워크상에 만들 수 있단 거죠.
May 31, 2016 at 11:30AM