시작하기 앞서,, 저는 헤놀로지와 램만 올린 깡통 M1 맥북에어을 사용하고 있습니다. 혹시나 저와 같은 고민을 하고 계신 분들이 있을까봐 간단하게 사용기를 남깁니다.
파일 동기화를 위해 dropbox와 synology drive client를 애용하고 있었으나... 두 프로그램 모두 로제타를 사용하고 있고 램과 배터리시간을 갉아먹고 있더군요,,
사용자 포럼을 돌아다녀봐도 두 회사 모두 M1을 지원할 의지가 보이지 않았습니다
그래서 심사숙고 후에 내린 저의 결론은...!
"프로그램을 갈아타자!"
였습니다 (그때부터 고생의 시작이)
이때, 다음의 조건들을 만족해야했습니다.
1. M1 프로세서를 지원할 것
2. 선택적 동기화 기능을 지원할 것 (깡통 맥북에어의 눈물...)
3. (가능하면) 오픈소스일 것
처음 고민한 프로그램은 rsync였습니다.
가볍고 좋았지만 선택적 동기화 기능을 구현하는 게 상당히 귀찮아서 (ignore 타입) 폐기처분 되었습니다.
다음으로 고민한 프로그램은..! 클리앙 댓글에서 발견한 maestral (https://maestral.app) 이라는 프로그램이었습니다.
이 프로그램의 특징은 '가벼운 dropbox 동기화 툴'이라는 점이었습니다.
이 툴 덕분에 일단 dropbox 동기화는 끝난 것처럼 보였습니다....만...!
시놀로지의 cloud sync 기능을 활용하면 '헤놀로지 <-> dropbox'가 동기화가 되니
"synology drive client 대체 프로그램만 찾으면 되는 것 아닌가?"
하는 기가막힌 생각을 떠올렸고 두 번째 고생이 시작되었습니다.
다음으로 고민한 프로그램은 syncthing(https://syncthing.net)이라는 프로그램이었습니다.
가볍고 빠른 프로그램이었지만 문제는 UI가 너무 구리다딱딱하다는 점이었습니다.
제가 처음 윈도우에서 맥으로 넘어온 이유가 바로 "디자인" 이었는데 '이건 아니다' 싶었습니다.
또한, 선택적 동기화를 stignore 라는 파일을 이용해 구현해야하는데 용량이 큰 파일들에 일괄적인 규칙을 적용하는 게 어려웠습니다.
그렇게 syncthing을 열심히 써보려던 중...!
이전에 써봤던 nextcloud 가 떠올랐습니다.
안타깝게도 공식으로 제공하는 이미지는 Intel 버전 뿐이었으나... 놀랍게도 m1에 맞게 소스코드를 직접 빌드하는 법이 공개되어 있더군요
https://github.com/nextcloud/desktop/issues/2659#issuecomment-891934051
이 방법의 문제점은 '귀찮다' 였습니다.
하지만 애초에 귀찮았으면 시작조차 하지 않았을 이 여행 아니었겠습니까...
실제로 위의 과정을 그대로 따라해서 약 3시간의 삽질 끝에 빌드에 성공했습니다.
(여기서는 간단히 삽질이라고 했지만 이 과정도 정말 힘들었습니다... 특히 앱을 빌드하려면 xcode가 필요하다는 사실을 뒤늦게 알아 겨우 성공했습니다.)
그러나,,, 여기서 끝이면 재미가 없겠죠?!
프로그램이 실행되지 않았습니다.
뭐지뭐지 하다가 crash report를 확인해보니
(이거도 이번에 처음 알았습니다. 처음에 좌절해서 app cleaner로 프로그램을 삭제하려다 연관 파일에 crash report가 있다는 것을 알게되었습니다)
Application Specific Information:
dyld: launch, loading dependent libraries
@loader_path/../Frameworks/libqt5keychain.1.dylib
라는 내용을 확인할 수 있었고.. 위의 안내사항에 나와있던, 앞서 빌드했던 qtkeychain 폴더 내의 libqt5keychain.1.dylib 파일로 교체하자 마법처럼 프로그램이 실행되었습니다.
그리고 그 결과는...!
성공했습니다!
동기화도 매우 빠른 시간에 끝났고, 대부분 효율코어를 사용해 동기화가 이루어짐도 확인했습니다.
경이로운 CPU/램 점유율을 보니 힘들긴 하지만 정말 뿌듯했습니다.
다만 두 번 하라면 못하겠네요 ㅎㅎ....
제발 NextCloud 개발진은 m1 빌드를 공식적으로 지원해주시기 바란다는 말을 남깁니다,,