목차
리눅스에서 SkyDrive 마운트하기
그동안 리눅스를 위한 SkyDrive를 위한 클라이언트를 배포하지 않고 있었습니다. 'Storage Made Easy' 같은 데에서는 여러 클라우드 저장소를 묶어 한 번에 편리하게 관리할 수 있도록 서비스를 하지만, 유료인데다 월별로 전송할 수 있는 용량의 제한이 있습니다. 어떡하면 SkyDrive를 리눅스에서 사용할까 고민하다가 발견한 방법을 기록합니다.
python-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를 사용할 수 있도록 허용하기
인증한 데이터는 python-skydrive가 API를 사용할 수 있는 권한을 얻는 데 필요합니다. 다음과 같은 절차를 순서대로 따라가면 됩니다.
- 발급받은 ID와 암호를 사용하도록 PC에 저장해야 합니다. 홈 디렉토리에 .lcrc라는 파일을 만들고 다음 내용을 적으면 됩니다.
- .lcrc
client: id: 00000000620A3E4A secret: gndrjIOLWYLkOPl0QhWIliQcg-MG1SRN
물론 id와 secret 뒤의 문자열은 각자 받으신 ID와 암호로 넣으셔야 합니다.
- 그리고 인증을 시작합니다. 터미널을 열어 아래 명령어를 입력하세요.
$ skydrive-cli auth
- 아래와 같은 메시지가 나오면, 'URL to visit' 부분의 주소를 복사해 웹브라우저에 복사해 넣습니다.
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?.....
- 웹브라우저는 live.com으로 접속하게 되며, 로그인을 요구합니다. 위에서 발급받은 ID와 암호가 아닌, 원래 가지고 계신 live.com 아이디와 비밀번호로 로그인을 해 주세요.
- 웹브라우저에서 '이 앱이 회원님의 정보에 액세스할 수 있도록 허용하시겠습니까?' 라는 페이지를 보실 수 있습니다. '예'를 눌러 허용하도록 합니다. 웹페이지를 아직 닫으시면 안 됩니다!
- 웹브라우저는 빈 페이지로 이동합니다. 주소를 보면 'https://login.live.com/oauth20_desktop.srf?….'와 같이 되어 있는데, 이 주소를 복사해 도로 터미널 (명령 프롬프트)에 붙여 넣습니다. 터미널에서 'API authorization was completed successfully.'라는 성공 메시지가 나오면 웹브라우저는 종료해도 됩니다. 이제 PC에서 skydrive-cli를 사용할 수 있습니다.
$ skydrive-cli tree
위 명령어는 SkyDrive의 파일 목록을 출력합니다. 실행시켜 제대로 동작하는지 확인합니다. 파일이 많다면 시간이 좀 걸릴 수 있습니다.
skydrive-fuse-fs
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