그동안 리눅스를 위한 SkyDrive를 위한 클라이언트를 배포하지 않고 있었습니다. 'Storage Made Easy' 같은 데에서는 여러 클라우드 저장소를 묶어 한 번에 편리하게 관리할 수 있도록 서비스를 하지만, 유료인데다 월별로 전송할 수 있는 용량의 제한이 있습니다. 어떡하면 SkyDrive를 리눅스에서 사용할까 고민하다가 발견한 방법을 기록합니다.
'python-skydrive'는 SkyDrive의 API를 이용해서 만든 파이썬 기반의 명령어 인터페이스입니다. 이를 이용하면 리눅스에서도 SkyDrive를 CLI 기반으로 동작시킬 수 있습니다. README 파일의 내용과 중복되지만, 굳이 설치 과정을 나열하면 다음과 같습니다.
파이썬은 2.7을 필요로 합니다. pip를 이용해도 되고, easy_install을 이용해도 됩니다. 저는 easy_install을 사용했습니다.
# easy_install python-skydrive PyYAML requests
위 명령어는 python-skydrive, PyYAML과 request라는 패키지를 설치합니다. 만일 윈도우에서 사용하려면 pywin32 도 설치하세요.
시스템에서 SkyDrive의 API를 사용하기 위해서는 인증 절차를 거쳐야 합니다. DevCenter에 가셔서 응용 프로그램을 등록하고 '클라이언트 ID'와 '클라이언트 암호'를 발급받아야 합니다. '응용 프로그램 이름'이란 식별을 위해 있는 것이고 그렇게 큰 의미는 없습니다. 구분할 수 있을 정도로 적당히 지으시면 됩니다. 등록을 마치면 ID와 암호를 발급받게 되는데, 이 한 쌍의 ID와 암호는 API를 사용하기 위해 반드시 필요합니다.
인증한 데이터는 python-skydrive가 API를 사용할 수 있는 권한을 얻는 데 필요합니다. 다음과 같은 절차를 순서대로 따라가면 됩니다.
client: id: 00000000620A3E4A secret: gndrjIOLWYLkOPl0QhWIliQcg-MG1SRN
물론 id와 secret 뒤의 문자열은 각자 받으신 ID와 암호로 넣으셔야 합니다.
$ skydrive-cli auth
Visit the following URL in any web browser (firefox, chrome, safari, etc), authorize there, confirm access permissions, and paste URL of an empty page (starting with "https://login.live.com/oauth20_desktop.srf") you will get redirected to in the end. Alternatively, use the returned (after redirects) URL with "/usr/bin/skydrive-cli auth <URL>" command. URL to visit: https://login.live.com/oauth20_authorize.srf?.....
$ skydrive-cli tree
위 명령어는 SkyDrive의 파일 목록을 출력합니다. 실행시켜 제대로 동작하는지 확인합니다. 파일이 많다면 시간이 좀 걸릴 수 있습니다.
python-skydrive는 CLI 인터페이스라, 아무래도 쓰기 불편합니다. 마운트해 디렉토리처럼 쓸 수 있으면 탐색기에서도 보일 테고 좋겠죠. 그래서 'skydirve-fuse-fs'를 이용합니다. 이 녀석은 easy_install로는 설치되지 않습니다. github에서 직접 다운로드 받으세요.
그리고 마지막으로 fusepy를 다운로드 받습니다.
# easy_install fusepy
어디서든 명령을 내릴 수 있도록 조치합니다.
# install -m755 skydrivefs /usr/local/sbin/
그리고 SkyDrive를 마운트합니다. 시간이 걸릴 수 있습니다.
# mount -t fuse.skydrivefs ~/.lcrc /mnt/skydrive