• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

초보자를 위한 rclone 설치 및 마운트 정복 (2023-06-12 내용 Update)

똥쓰똥쓰 7876

3

16

rclone 관련 많은 분들께서 질문이 많아서 정리를 좀 해보았습니다.

특히 1.58 이후 인증이 안되시는분과 구글 api가 계속 만료되시는 분들은 참고하세요.

----------2022-12-13 Update---------------------------------------------------------------------------

* rclone 기본인증이 구글드라이브에서 차단 되었습니다. 아래 글을 참고하세요.

 

 

------------------------------------------------------------------------------------------------------------------------

[rclone 설치하기]

1. 마운트할 폴더, 로그와 캐쉬를 저장할 폴더를 생성 합니다.

제 경우 마운트 폴더는 '/volume1/mount/test'를 생성했고, 로그와 캐쉬 위치는 '/volume1/data/rclone/Log'와

/volume1/data/rclone/Cache'를 시놀 DSM에서 각각 생성했습니다.

2. 시놀로지 NAS에 SSH로 접속을 합니다.

3. root로 권한을 바꿉니다.

# sudo -i

3. rclone을 내려 받을 위치로 이동 합니다. 예제로 위에 생성한 '/volume1/mount'에 다운을 받도록 하겠습니다.

현재 최신 버전이 1.59.2 1.62.2이므로 이 버전을 받겠으며, 버전이 올라가면 아래 명령에서 붉은색 부분을 수정해 주시면 됩니다.

# cd /volume1/mount/

# wget https://downloads.rclone.org/v1.62.2/rclone-v1.62.2-linux-amd64.zip

4. 내려받은 rclone의 압축을 풀어 줍니다.

# 7z x rclone-v1.62.2-linux-amd64.zip

5. rclone을 설치하고, 권한을 부여해 줍니다.

# cp rclone-v1.62.2-linux-amd64/rclone /usr/bin/rclone

# chmod a+x /usr/bin/rclone

# chown root:root /usr/bin/rclone

6. 설치가 끝났습니다. 설치가 잘됐는제 버전을 확인합니다.

 

# rclone --version

 

* 참고로 rclone을 최신판으로 업데이트 하는 명령은 아래와 같습니다.

 

rclone selfupdate --stable

 

rclone_ver2.jpg

 

7. 여기서부터는 마운트할 클라우드를 설정하는 과정입니다. 구글드라이브 기준으로 설명하겠습니다.

# rclone config

8. 마운트할 자료를 rclone에서는 remote라고 합니다. : n 을 눌러 New remote 설정하고 임의로 이름 임력 (샘플로 Test라고 하겠습니다.)

 

rclone_menu.jpg

 

 

rclone_remote.jpg

 

....

 

rclone_remote1.jpg


아주많은 지원 클라우드가 나옵니다. 여기서 18번이 구글드라이브 입니다. 18을 입력합니다.

(버전에 따라 번호가 다를 수 있습니다. 설명을 보고 맞는 번호를 넣으시면 됩니다.)

9. client_id와 client_secret은 별도 구글 api가 있으시다면 아래의 클라이언트 ID와 비밀번호를 각각 넣어줍니다. 

   (구글 api 생성방법은 설명을 생략 합니다.)

 

api.jpg

 

없으시​다면, 아래 두 부분을 그냥 비워주시고 넘어가면 됩니다.

 

rclone_id_sec.jpg


10. 마운드할 드라이브의 읽기/쓰기 권한 입니다. 1번을 선택해 Full 권한을 줍니다.

 

rclone_scope.jpg

 

11. Service_account_file은 비워 넣고 그냥 엔터를 쳐서 넘어 갑니다

 

rclone_svc_acc.jpg


12. Edit advanced config는 No를 선택합니다.

 

rclone_adv_con.jpg

 

13. 이제 클라우드를 인증할 차례 입니다. 예전에는 간단했는데 rclone이 1.58이상으로 바뀌면서 방식이

조금 복잡해 졌습니다. 간단히 말씀드리면 시놀서버가 아닌 다른 위치에서 인증을 해줘야 합니다.

제 경우 윈도우에서 진행하도록 하겠습니다.

1) 인증에 앞서 윈도우용 rclone을 다운 받습니다. 'https://rclone.org/downloads/'에서 맞는 버전을 받으시면 됩니다.

 Rclone downloads

Downloads Rclone is single executable ( rclone , or rclone.exe on Windows) that you can simply download as a zip archive and extract into a location of your choosing. See the install documentation for more details. Release v1.59.2 Arch-OS Windows macOS Linux .deb .rpm FreeBSD NetBSD OpenBSD Plan9 So...

rclone.org

제 경우 D드라이브 > rclone 폴더에 다운을 받았습니다.

 

rclone_pc_loc.jpg

 

윈도우 명령프롬프트를 관리자 권한을 실행하고 rclone이 있는 위치로 이동합니다.

 

rclone_pc_loc2.jpg

 

2) 다시 시놀 SSH 화면으로 돌아가서 'Use auto config?'에서 No를 선택합니다.

 

rclone_auto_con.jpg

 

그리면 인증을 위한 특정 값이 나옵니다. 이걸 복사해 줍니다. (rclone authorize "drive" "xxxxxxxxxxxxxxxxx"를 오른쪽 마우스 눌러 복사 선택)

 

rclone_con_tok.jpg


3) 이제 윈도우에 설치한 rclone으로 가서 복사한 값을 붙여 줍니다

그리면 웹브라우저가 열리면서 구들드라이브 인증 창이 나오고 인증을 진행 합니다.

 

rclone_con_tok2.jpg

 

rclone_auth.jpg

 

rclone_auth2.jpg

 

rclone_auth3.jpg

 

4) 다시 윈도우 rclone으로 가보면 token 값이 생성되었습니다. 이 값을 복사하고 다시 시놀 ssh로 돌아 갑니다. (---> 다음부터 <--- 전까지)

 

rclone_auth4.jpg

 

5) config_token에 윈도우에서 복사해논 토큰값을 붙여 줍니다.

 

rclone_auth5.jpg

 

* 붙여넣기기 잘 안되면 'config token>' 프롬프트에서 스페이스 한번 누르고 다시 백스페이스로 돌아와 붙이면 잘 붙여집니다.

* 이 토큰 값은 향후 변경되지 않으므로 메모장에 적어주시고 다른 마운트 시 같은 값을 계속 사용하시면 됩니다.

 

14. 마운트할 구들드라이브가 "공유드라이브"이면 Yes이고, 개인용 "내드라이브"이면 No 입니다.

 

rclone_team.jpg

 

15. 마지막으로 최종적으로 저장하는 단계 입니다. y를 눌러줍니다.

 

rclone_confirm.jpg

 

이번에 생성한 "test"라는 remote가 나오면 잘 된것입니다.

 

rclone_final.jpg

 

 

[rclone 마운트하기]

1. 시놀로지 나스에 마운트하는 방식은 "작업 스케줄러"에 직접 스크립트를 넣거나 sh 파일을 만들어 이 파일을

불러오는 방식이 있습니다. sh파일 방식으로 설명을 드리겠습니다.

vi나 시놀로지의 패키지센터에서 '텍스트편집기' 를 받아 GD.sh 파일을 만들어 줍니다. 윈도우메모장에서 만들 경우 뒤에 '\t'가 자동 입력되어 에러가 날 수 있습니다.

시놀 텍스트 편집기에서 sh 문장을 작성 시 편집기 하단 인코딩 오른쪽 드랍박스에서 "SH"를 선택 후 작성해 줍니다.

SH.png.jpg

 

저는 이 파일을 '/volume1/data/rclone/GD.sh'에 놓았습니다. (샘플 파일을 첨부파일에 올려 놓았습니다. GD.sh )​

 

--------------------GD.sh 내용-------------------------------------

#!/bin/bash

sleep 30

sudo mount --make-shared /volume1

#mount GD

sudo rclone mount test /volume1/mount/test --config /root/.config/rclone/rclone.conf --allow-other --allow-non-empty --fast-list --drive-skip-gdocs --poll-interval=15s --vfs-cache-mode full --vfs-write-back 5s --bwlimit-file 16M --buffer-size=16M --vfs-read-chunk-size=32M --vfs-read-chunk-size-limit 2048M --vfs-cache-max-size 100G --vfs-cache-max-age 336h --vfs-read-ahead 32M --dir-cache-time=1000h --log-level INFO --log-file /volume1/data/rclone/Log/rclone.log --cache-dir=/volume1/data/rclone/Cache --timeout 1h --umask 000 &

------------------------------------------------------------------------

간단히 설명을 드리면

1) sleep 30은 명령을 실행 시 30초 동안 delay를 주고 실행을 의미합니다. delay를 주는 이유는

NAS가 재부팅할 시 rclone 서비스가 올라오지 않은 상태에서 명령이 실행됨을 방지하기 위함 입니다.

즉, 재부팅 후 시놀이 올라오고 30초 후에 rclone이 마운트 됩니다.

2) "rclone mount" test 의 붉은색 test는 앞서 만든 rclone remote 명입니다. 명칭에 맞게 수정해 주시면 됩니다.

3) "--config /root/.config/rclone/rclone.conf "는 앞서 만든 rclone config 파일의 위치 입니다. root 권한으로

생성을 했다면 이 위치를 지정하면되고, 다른 계정으로 했다면, homes > 계정명 밑에 config file이 존재 합니다.

생성한 상황에 맞게 수정을 하시면 됩니다.

4) 로그파일과 Cache는 앞서 만들어 높은 폴더 밑에 생성이 되며, 위치는 "/volume1/data/rclone/Log/rclone.log"

"/volume1/data/rclone/Cache" 입니다. 위치가 틀리다면 이 부분을 수정해 주셔야 합니다.

5) 여러개 remote를 마운트하려면 "sudo rclone mount ........ &"를 밑에 계속 만들어 주시면 됩니다.

2. 시놀로지 나스에서 '작업 스케줄러'를 실행 합니다.

3. 적당한 명칭을 주시고 사용자는 'root', 이벤트는 '부트업'으로 설정합니다.

 

rclone_mnt1.jpg

 

4. 앞서만든 GD.sh 실행 스크립트를 넣어 줍니다.

명령어는 'bash /volume1/data/rclone/GD.sh' 입니다.

 

rclone_mnt2.jpg

 

5. 재부팅을하거나 만든 트리거를 수동 실행하면 30초 후에 구글드라이브가 마운트 됩니다.

rclone_mnt3.jpg

 

 

[주의 사항 Update]

1. rclone 1.62.x부터 fuse3 문제가 발생 됩니다...

2. 아래 스크립트로 심볼릭 링크를 생성하면 문제가 해결 됩니다.

 

ln -s /bin/fusermount /bin/fusermount3

 

 

 

[rclone 마운트 활용]

 

1. Plex에서 마운트한  구들드라이브를 라이브러리에 추가해 보았습니다. 4K 동영상도 끊김 없이 잘 재생 됩니다.

 

plex1.jpg

 

plex2.jpg

 

2. Roon에도 라이브러리를 추가해 보았습니다. 초 대용량 고음질 dsd까지도 잘 재생 됩니다.

 

roon_lib.jpg

 

roon_pathjpg.jpg

 

* root 外의 다른 사용자계정에서 권한 문제가 발생 시 "dowon"님이 해결한

  사례를 참고해 주시기 바랍니다.

 

https://svrforum.com/svr/453496

 

신고공유스크랩
16
profile image 1등
달소 2022.09.24. 18:02

와... 진짜 엄청난 가이드네요 ㄷㄷ,, rclone 고민하시는분들께 이글 하나면 다 될거같습니다..

2등
dowon 2022.09.24. 21:53

글 잘 읽었습니다. 이 게시판에 질문글도 올렸습니다만 설치 후에 root 계정으로만 접근이 되고 다른 계정으로는 접근이 불가한데 도움을 주실 수 있을까요?

똥쓰똥쓰 글쓴이 2022.09.25. 06:11
dowon

rclone config를 root 계정으로 만들었으면 root로 접근만 가능하고, user 계정으로 만들었으며 user 계정으로만 접근 가능합니다. root 계정으로 만들었다면 rclone.conf 파일이 '/root/.config/rclone/rclone.conf '에 위치해 있고, user 계정으로 만들었다면 'homes/계정명/rclone.conf'에 위치해 있습니다. 마운트할때 "--config /root/.config/rclone/rclone.conf "에서 해당 위치를 맞춰 주셔야 합니다. 그리고 작업 스케줄러의 실행 시 권한도 이에 맞게 root 또는 user를 선택해 주셔야 합니다.

profile image
jerry80 2022.09.25. 08:43

감사합니다. 저는 그냥 예전에 복사해둔 rclone.conf 로 계속 사용중입니다. 혹시 반대 문제는 없으신가요 ? 무슨말인고 하니, PMS에 구글 드라이브가 마운트 되는데 rclone 으로 구드가 마운트 되기 전에 PMS가 실행이 되어버려서 (둘다 도커 버전) 재부팅후 꼭 PMS를 재시작해야 해서요. ^^

 

글보다 마지막 사진의 장비보고 "침 꿀꺽" ㅎㅎ

똥쓰똥쓰 글쓴이 2022.09.25. 10:25
jerry80

PMS 실행 이후 rclone이 마운트 되어도 PMS에서 다시 인식을하는데 이상하네요… 전 모두 도커는 아닙니다....

profile image
jerry80 2022.09.25. 12:14
똥쓰똥쓰

PMS 가 도커로 실행되서 그런지도 모르지요. PMS실행될때 구드가 마운트가 안된상태라... 아 그리고 제가 잘못썼네요. PMS리스타트로 안되고, 도커 컨테이너 재시작 해주어야 합니다. ^^

사순밥 2022.09.28. 06:55

질문드립니다, "sudo rclone mount ........ &"를 밑에 계속 만들어 주시면 됩니다" 제가 구글드라이브 5개 정도 마운트 하는데 어떻게 만드는지 이해가 잘 안되네요 도움 주신대로 지금은 잘 되고 있는데 마운트 추가시 어떻게 해야 하는지 예시좀 주세요 감사합니다

똥쓰똥쓰 글쓴이 2022.09.28. 13:05

제 경우 여러개 리모트를 아래와 같이 합니다.

각 마운트 마다 끝에 &를 붙이는 이유는 백그라운드로 실행하라는 의미이며, &를 주지 않으면 맨위 1개만 마운트 되고 이후는 마운트가 되질 않습니다.

 

#!/bin/bash

 

sleep 30

 

sudo mount --make-shared /volume1

 

#mount GD

sudo rclone mount GD: /volume1/mount/GD --config /root/.config/rclone/rclone.conf --allow-other --allow-non-empty --fast-list --drive-skip-gdocs --poll-interval=15s --vfs-cache-mode full --vfs-write-back 5s --bwlimit-file 16M --buffer-size=16M --vfs-read-chunk-size=32M --vfs-read-chunk-size-limit 2048M --vfs-cache-max-size 100G --vfs-cache-max-age 336h --vfs-read-ahead 32M --dir-cache-time=1000h --log-level INFO --log-file /volume1/data/rclone/Log/rclone_GD.log --cache-dir=/volume1/data/rclone/Cache --timeout 1h --umask 000 &

sudo rclone mount GD.Share.Movie: /volume1/mount/GD.Share/GD.Share.Movie --config /root/.config/rclone/rclone.conf --allow-other --allow-non-empty --fast-list --drive-skip-gdocs --poll-interval=15s --vfs-cache-mode full --vfs-write-back 5s --bwlimit-file 16M --buffer-size=16M --vfs-read-chunk-size=32M --vfs-read-chunk-size-limit 2048M --vfs-cache-max-size 100G --vfs-cache-max-age 336h --vfs-read-ahead 32M --dir-cache-time=1000h --log-level INFO --log-file /volume1/data/rclone/Log/rclone_GD_Share_Movie.log --cache-dir=/volume1/data/rclone/Cache --timeout 1h --umask 000 &

sudo rclone mount GD.Share.Drama: /volume1/mount/GD.Share/GD.Share.Drama --config /root/.config/rclone/rclone.conf --allow-other --allow-non-empty --fast-list --drive-skip-gdocs --poll-interval=15s --vfs-cache-mode full --vfs-write-back 5s --bwlimit-file 16M --buffer-size=16M --vfs-read-chunk-size=32M --vfs-read-chunk-size-limit 2048M --vfs-cache-max-size 100G --vfs-cache-max-age 336h --vfs-read-ahead 32M --dir-cache-time=1000h --log-level INFO --log-file /volume1/data/rclone/Log/rclone_GD_Share_Drama.log --cache-dir=/volume1/data/rclone/Cache --timeout 1h --umask 000 &

sudo rclone mount GD.Share.Animation: /volume1/mount/GD.Share/GD.Share.Animation --config /root/.config/rclone/rclone.conf --allow-other --allow-non-empty --fast-list --drive-skip-gdocs --poll-interval=15s --vfs-cache-mode full --vfs-write-back 5s --bwlimit-file 16M --buffer-size=16M --vfs-read-chunk-size=32M --vfs-read-chunk-size-limit 2048M --vfs-cache-max-size 100G --vfs-cache-max-age 336h --vfs-read-ahead 32M --dir-cache-time=1000h --log-level INFO --log-file /volume1/data/rclone/Log/rclone_GD_Share_Animation.log --cache-dir=/volume1/data/rclone/Cache --timeout 1h --umask 000 &

sudo rclone mount GD.Share.Comic: /volume1/mount/GD.Share/GD.Share.Comic --config /root/.config/rclone/rclone.conf --allow-other --allow-non-empty --fast-list --drive-skip-gdocs --poll-interval=15s --vfs-cache-mode full --vfs-write-back 5s --bwlimit-file 16M --buffer-size=16M --vfs-read-chunk-size=32M --vfs-read-chunk-size-limit 2048M --vfs-cache-max-size 100G --vfs-cache-max-age 336h --vfs-read-ahead 32M --dir-cache-time=1000h --log-level INFO --log-file /volume1/data/rclone/Log/rclone_GD_Share_Comic.log --cache-dir=/volume1/data/rclone/Cache --timeout 1h --umask 000 &

사순밥 2022.09.29. 08:35
똥쓰똥쓰

아하 이제 머리에 쏙 들어오네요 이해가 가네요

고맙고 감사드립니다

똥쓰똥쓰 글쓴이 2022.12.13. 17:58
사순밥

https://svrforum.com/svr/551183

 

참고하세요. rclone 기본 인증에 문제가 생겼습니다.

사순밥 2022.12.24. 17:08

먼저 올리신 게시글 정독 했습니다. 클리앙에서는 알클론 최신 업데이트 하면 된다고 하던데 아직 시도도차 못했네요 ssh에서 rclone 업데이트는 어떻게 하는지를 모르 겠네요 명령어로 하는것 같은데 명령어도 모르고 업데이트 방법좀 알려주시면 감사하겠습니다 그리고 전에 구글 api 하면 저는 일주일정도 지나면 인증이 플려서 매주 재인증을 해야 했는데 이젠 안그래도

되나요?

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

등록된 글이 없습니다.