목차
rclone 설치
명령어 한 번이면 설치가 끝난다.
$ curl https://rclone.org/install.sh | sudo bash
아래의 명령어로 설치된 버전을 확인할 수 있다.
$ rclone version
rclone v1.55.0
- os/type:
- os/arch:
- go/version: go1.16.2
- go/linking: static
- go/tags: cmount
rclone 설정
우선 rclone 설정을 해줘야 한다.
$ rclone config
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n을 입력해서 새로운 연결을 추가한다.
n/s/q> n
연결의 이름을 설정한다.
name> gdrive
저장소의 종류를 선택해야 하는데, Google Cloud Storage가 아닌 Google Drive를 선택해야 한다.
...
14 / Google Cloud Storage (this is not Google Drive)
\\ "google cloud storage"
15 / Google Drive
\\ "drive"
16 / Google Photos
\\ "google photos"
...
Storage> 15
client_id와 client_secret을 물어보는데, 그냥 둘 다 엔터로 넘겨준다.
client_id> 엔터
client_secret> 엔터
완전히 연동해서 사용하고 싶기 때문에 scope는 1번을 선택한다.
Scope that rclone should use when requesting access from drive.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / Full access all files, excluding Application Data Folder.
\\ "drive"
2 / Read-only access to file metadata and file contents.
\\ "drive.readonly"
/ Access to files created by rclone only.
3 | These are visible in the drive website.
| File authorization is revoked when the user deauthorizes the app.
\\ "drive.file"
/ Allows read and write access to the Application Data folder.
4 | This is not visible in the drive website.
\\ "drive.appfolder"
/ Allows read-only access to file metadata but
5 | does not allow any access to read or download file content.
\\ "drive.metadata.readonly"
scope> 1
루트 폴더도 엔터로 넘겨준다.
ID of the root folder
Leave blank normally.
Fill in to access "Computers" folders (see docs), or for rclone to use
a non root folder as its starting point.
Enter a string value. Press Enter for the default ("").
root_folder_id> 엔터
그 다음은 뭔지 잘 모르겠어서 그냥 넘겼다.
service_account_file> 엔터
고급 설정은 n을 입력한다.
Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> n
자동 설정은 n을 입력해서 수동으로 진행한다.
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes (default)
n) No
y/n> n
n을 입력하면 긴 링크가 나오는데, 해당 링크에 접속해야 된다.
putty에서 Ctrl+C로 복사를 하면 설정 과정이 종료될 게 뻔해서.. 손으로 하나하나 입력해서 링크에 접속했다...
링크에 접속해서 연동할 계정을 선택하고 rclone의 권한을 허용하면 인증 코드가 나온다.
코드를 복사해서 입력한다.
Enter verification code> 인증코드붙여넣기
팀 드라이브는 n을 입력하고..
Configure this as a team drive?
y) Yes
n) No (default)
y/n> n
대충 입력한 내용이 맞는지 확인하니 y를 입력해준다.
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y
설정이 끝났으니 q를 입력해서 종료한다.
Current remotes:
Name Type
==== ====
gdrive drive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q
혹시라도 나중에 수정할 부분이 있다면 다시 인증할 필요 없이 원하는 부분만 수정할 수 있다.
구글 드라이브 마운트
이제 연동한 구글 드라이브를 우분투에 디렉토리로 마운트한다.
연동이 될 디렉토리를 먼저 생성해주고, 연동은 루트 계정이 아닌 현재 계정으로 하기 때문에 권한을 설정해준다.
$ sudo mkdir /원하는경로/폴더이름
$ sudo chown 유저:유저 /원하는경로/폴더이름
루트 권한이 아닐 경우 마운트가 되지 않기 때문에 해당 설정을 일시적으로 허용해줘야 한다.
아래 명령어로 설정 파일을 열어 #user_allow_other 앞의 주석 처리를 제거한다.
마운트 후에는 다시 주석 처리를 해도 괜찮다.
$ sudo nano /etc/fuse.conf
이제 루트 권한 없이 생성한 디렉토리를 구글 드라이브와 연동할 수 있다.
$ rclone mount --allow-non-empty --allow-other --drive-chunk-size 64M gdrive: /원하는경로/폴더이름/ &
테스트를 위해 폴더 내에 test.txt라는 파일을 생성한다.
$ touch /원하는경로/폴더이름/test.txt
구글 드라이브에 접속하면 test.txt 파일이 생성된 것을 확인할 수 있다.