pacstall -I grive2-git
sudo apt-get install git cmake build-essential libgcrypt20-dev \ libyajl-dev libboost-all-dev libcurl4-openssl-dev libexpat1-dev \ libcppunit-dev binutils-dev debhelper zlib1g-dev dpkg-dev \ pkg-config libstdc++-9-dev # 특히 libstdc++-9-dev 주의! 문서에는 안나오는 의존성임. 또한 Ubuntu 22.04 이전 버전에서는 ''libstdc++-7-dev'' 이었음. cd /tmp git clone https://github.com/vitalif/grive2.git # 소스 압축푼 디렉토리로 이동(ext 파티션이어야 한다) cd grive2 dpkg-buildpackage -j4 # 상위디렉토리에 deb 패키지 생성됨 sudo dpkg -i <filename.deb> # 마지막에 오류 발생하는 것은 무시 dpkg-buildpackage: info: full upload; Debian-native package (full source is included) signfile grive2_0.5.2+git20210315.dsc gpg: skipped "Vitaliy Filippov <vitalif@yourcmc.ru>": No secret key gpg: dpkg-sign.v7YLDLyX/grive2_0.5.2+git20210315.dsc: clear-sign failed: No secret key dpkg-buildpackage: error: failed to sign .dsc file
grive -a --id [client id] --secret [client secret] # id 는 긴코드값.apps.googleusercontent.com 형태이다.
mkdir SyncDir # 신규 동기화 디렉토리 생성 cd SyncDir grive -a # 신규 동기화 시작
grive
명령만으로 동기화를 수행한다.# 동기화 대상 디렉토리에서 cd SyncDir grive # 혹은 grive -p /path/to/SyncDir
-V
: verbose-l [/path/to/logfile.log]
: 로깅-a
: 신규 동기화 인증-p [/path/to/sync]
: 동기화할 디렉토리 지정./etc/fstab/
의 해당 파티션 옵션에 fmask=111,uid=1000
을 추가했더니 잘 작동했다.google-drive
는 $HOME
에 있는 구글 드라이브 디렉토리이다.systemctl --user enable grive-timer@$(systemd-escape google-drive).timer systemctl --user start grive-timer@$(systemd-escape google-drive).timer
inotify-tools
, inotifywait
명령으로 변경 감지 동기화systemctl --user enable grive-changes@$(systemd-escape google-drive).service systemctl --user start grive-changes@$(systemd-escape google-drive).service
journalctl -f --user-unit=grive-timer@$(systemd-escape google-drive).timer journalctl -f --user-unit=grive-changes@$(systemd-escape google-drive).service
grive-sync.sh
파일의 경로가 잘못됐을 수 있다./usr/[local/]lib/systemd/user/grive-timer@.service
혹은 /usr/[local/]lib/systemd/user/grive-changes@.service
파일에서 grive-sync.sh
파일 경로 확인./lib/x86_64-linux-gnu/grive/grive-sync.sh
로 설치 됐는데, /usr/libexec/grive
에서 찾는 현상 발생/usr/local/libexec/grive/grive-sync.sh
cd /usr/libexec sudo mkdir -p /usr/libexec/grive cd /usr/libexec/grive sudo ln -s /lib/x86_64-linux-gnu/grive/grive-sync.sh