Macで大きなフォルダをTranscendなど外付けストレージに移動してシンボリックリンクを貼る方法

Oct. 26, 2019, 7:47 a.m. edited Oct. 26, 2019, 7:49 a.m.

#Bash  #Mac 

Macbook Airの容量は小さいもので128 GBだったりして,Unityで開発したりDocker動かしたりとかしてるとすぐに容量がいっぱいになってしまいます.

ここで,Transcend等の外付けストレージを使う方法があります.これで重いファイルを移動して容量不足の解決を図ることができます.しかし,Libraryなど,アプリケーションから参照されている重要そうなフォルダを移すとそれらが動かなくなってしまう恐れがあります.

そこで,アプリケーションを止めてからcp -aln -sを使って移動しているのですが,そのやり方を忘れがちだったのでここにメモします.

例:~/Library/Unity/Asset\ Store-5.xを移動する場合

cd /Volumes/Transcend/<どこか>/
cp -a ~/Library/Unity/Asset\ Store-5.x .

待つ.そしてコピーできてるのを確認する.それから,

rm -r ~/Library/Unity/Asset\ Store-5.x
ln -s /Volumes/Transcend/<どこか>/Asset\ Store-5.x ~/Library/Unity/Asset\ Store-5.x

それからアプリケーションを起動して挙動に問題がないことを確認する.以上1

特に以前Docker for MacのDocker.qcow2を移動したときは https://community.cloudera.com/t5/Community-Articles/How-to-move-Docker-for-Mac-vm-image-from-internal-to/ta-p/247964 を参考にした.


  1. cp-aオプションはなるべくそのままコピーしてくれる.あとln -sのあとの順番(参照元,シンボリックリンク名)に注意.