故事是這樣的,幾個月前實驗使用 Cryptomator + pCloud 備份,由於前者會將資料切個成常見的零碎的目錄結構,如果有檔案出現異常時,整個資料就無法讀取。
Error Code 4VHF:Q9JM:I1GP
最近 pCloud 很頻繁更新,再加上更新至 Cryptomator 1.7.3 ,很奇妙的,有一個高頻變動的目錄,開始出現無法讀取的現象。經過幾番追蹤後,確認是因為 Cryptomator + macFUSE 方案產生的現象,接著做檔案搬遷就會出錯,無論降低版本到 Cryptomator 1.6.17 還是升級 macFUSE 4.4.2,都沒法排除。
測試方式是建立新的加密庫,接著 rsync -avP 搬遷,皆會一陣子就出現 input/output error 。最後將 Cryptomator 更換成 WebDAV 模式後,才確定排除。且 Cryptomator 錯誤訊息介面可以快速跳到 github 4VHF:Q9JM:I1GP 相關討論區,也在講 macFUSE 的事情。排除問題後,就進入到這次的主題 pCloud app 的處理。
pCloud App Bug?沒有 synced folders 規則,還一直在同步
pCloud App Bug?沒有 synced folders 規則,添加時還顯示已在同步(已有規則)
重建完加密庫後,想要透過 pCloud app 同步資料時,發現整個 pCloud Drive app - macOS 進入到非常詭異的狀態,我只是把 pCloud app - Synced Folders 的目錄透過介面打 X 取消指定目錄同步,下一刻我發現本地的目錄被刪除了,對應的 pCloud 雲端上的資料也被刪除。這件事其實還滿嚴重的。
當初對 pCloud 的用法也是處於體驗,純粹當作另一處備份區,想說資料不見也沒差再重建就好。殊不知在本地重建時, pCloud app 一直還是不斷的 sync 指定目錄,且同步到 pCloud 的家目錄區(首頁),導致整個 pCloud 首頁大亂。
pCloud App Bug?同步上去都擺在家目錄,家目錄都亂了
我推論比較像 pCloud app 有問題,處理舊的同步規則時,似乎把所有東西都建立在 pCloud 家目錄,而非保有 Cryptomator 目錄結構:
% tree -L 2 My-Resource
My-Resource
├── d
│ ├── J2
│ └── XX
├── masterkey.cryptomator
├── masterkey.cryptomator.########.bkup
├── vault.cryptomator
├── vault.cryptomator.########.bkup
└── 重要.rtf
4 directories, 5 files
下一刻移除 pCloud 再重裝也是一樣,永遠都可以看到 pCloud app 很努力的在同步我剛在原處創建的 Cryptomator 加密庫,並且 pCloud 首頁永遠都是雜亂的 XD
終於下定決心來找找,如何乾淨地移除 pCloud 設定檔,推論有一些 plist 紀錄著東西,也猜想 pCloud app 版本不同後,新舊版資料紀錄錯亂或是做了什麼相容架構,導致最新版刪不了舊版紀錄的資料,但又一直做相容架構,拿舊版的資料出來用。此時在新版 pCloud app 添加指定目錄同步時,會一直彈跳出不能重複設定的資訊(pCloud app UI 介面上可以看到,目前一條規則也沒有):Can not add new sync: Folder already syncing!
來個乾淨的刪除吧!
先把 pCloud app 從應用程式的目錄拖拉丟去垃圾桶:
% open /Applications
接著檢查其他資料:
% sudo find /Library -iname "*pcloud*" 2>/dev/null
...
/Library/PrivilegedHelperTools/com.pcloud.pcloudfs.Mounter.Helper
/Library/Logs/DiagnosticReports/pCloud Drive_2023-##-##-#######_#####.diag
/Library/LaunchDaemons/com.pcloud.pcloudfs.Mounter.Helper.plist
...
% find ~/Library -iname "*pcloud*" 2>/dev/null
...
/Users/account/Library/WebKit/com.pcloud.pcloud.macos
/Users/account/Library/Preferences/com.pcloud.pcloud.macos.plist
/Users/account/Library/Application Scripts/com.pcloud.pcloud.macos.pCloudFinderExt
/Users/account/Library/HTTPStorages/com.pcloud.pcloud.macos.binarycookies
/Users/account/Library/Containers/com.pcloud.pcloud.macos.pCloudFinderExt
/Users/account/Library/Containers/com.pcloud.pcloud.macos.pCloudFinderExt/Data/Library/Application Scripts/com.pcloud.pcloud.macos.pCloudFinderExt
/Users/account/Library/Caches/com.pcloud.pcloud.macos
偷看 /Users/account/Library/Preferences/com.pcloud.pcloud.macos.plist 內容,他還記錄著 sync 目錄資訊。
最後就人工把以下的資料刪除:
/Library/PrivilegedHelperTools/com.pcloud.pcloudfs.Mounter.Helper
/Library/Logs/DiagnosticReports/pCloud Drive_2023-##-##-#######_#####.diag
/Library/LaunchDaemons/com.pcloud.pcloudfs.Mounter.Helper.plist
/Users/account/Library/WebKit/com.pcloud.pcloud.macos
/Users/account/Library/Application Scripts/com.pcloud.pcloud.macos.pCloudFinderExt
/Users/account/Library/HTTPStorages/com.pcloud.pcloud.macos.binarycookies
/Users/account/Library/Containers/com.pcloud.pcloud.macos.pCloudFinderExt
/Users/account/Library/Caches/com.pcloud.pcloud.macos
/Users/account/Library/Preferences/com.pcloud.pcloud.macos.plist
原本以為這樣就搞定了,殊不知裝完 pCloud app 啟動後,又發現繼續同步資料。最後想起一招:從 活動監視器 那邊看 pCloud app 開啟的檔案清單
就發現有一處是 ~/.pcloud ,把他刪掉後,終於正常了。