Catalina→Big Surへの移行時にmacをクリーンインストールする
どうも.先日原付でコケて右鎖骨を負傷したkanekouです.
新学期というわけで,いい加減OSをCatalinaからBig Surに上げようと思い立ち,クリーンインストールを行いました.備忘録として残します.
なぜクリーンインストールするのか
macを健康に保つにためは定期的なクリーンインストールがおすすめです.特にOSアップデート時にそのままアップデートすると何らかの不具合が生じ,動作が不安定になる可能性が高いです.よってクリーンインストールしてから乗り換えた方が得策だと思います.また長らくmacを使っているとシステムファイルに正体不明のゴミが溜まります.私のMacだとクリーンインストール前のゴミの量はこのくらいありました.
クリーンインストール後はここまで減らすことができました.空き容量もかなり増えました.
ヘルスケアの一環として,定期的にクリーンインストールを行いましょう!!
準備
バックアップちゃんと取ります. 戦略として,シンボリックリンクを使用することで設定ファイルをクラウド(Dropbox)に保存しローカルと同期させます. その他データはTimeMachineに保存し,リストア時にドラッグアンドドロップで戻します.
TimeMachineでファイルバックアップ.
Brewfileのdumpをとる.
brew bundle dump
を実行し,dumpファイルを作成(brewfile).使わなさそうなpackageはコメントアウトし,Dropboxへ保存.後に気づいたが,後述のmackupの設定ファイルに
brewfile
を追加することでまとめてクラウド管理できそう.mackupを使い,設定ファイルをDropboxへ移動させる.mackupは設定ファイルを指定場所に移動させ,元の場所にシンボリックリンクを作成してくれる.これによりクラウド上で設定ファイルを管理できる.
念の為,前もってBig Surをインストールする.
Clean Install
やってき
リカバリーモードでOSを起動し,ユーティリティからデータを削除します.こちらのサイトを参考に,Catalina → Big Surでも問題なく行うことができました.どうやらCatalinaからMacintoshHD
とMacintoshHD data
でボリュームが別れたらしいです.両者ともデータを削除し,Macintosh HD
の方にOSを再インストールします.大体30分ぐらいだった気がします.アニメ見てたらいい感じです.
リストア
戻します.やる順序間違えたなと思うものもあり,次いい感じなるよう並び直してます.こちらの記事を参考にしました.
最低限やること
- パスワードマネージャーをインストール.各ツールのインストールでパスワードを求められるので,早めにインストールする.実際には遅い段階で入れてしまったため,めんどくさいことに. ちなみに1password6というパスワード管理マネージャーおすすめ. ただし最新版の1password7は月額性サブスクリプションに加入しないと利用できないらしいので注意.
- Dropboxをインストールしログイン.
- brewをインストール.その後brewfileがある場所で
% brew bundle
を実行し,管理パッケージを一括インストール. % mackup restore
でDropbox上の設定ファイルをリストア.- Keyの割り当てを行う.これは2の段階で行った方がいいかもしれない.お好みの段階で.以下自身の設定.
- トラックパッドの設定を変更.tap to clickをオンにする.
- カンマと句読点の設定を変更.
,
と.
を有効にする. - 3本指のドラッグを有効にする
- 辞書を3本指タップで起動するようにする.
Look up & data detectors
をTap wich three fingers
にする - 左右⌘キーでひらがな,ローマ字を切り替えられるようにする.karabiner-elementsを用いる.
- US keyboardなのでCapslock KeyをControl Keyに割り当てる.こちらもkarabiner-elementsを用いる.デフォルト設定でも変更可能だが,karabiner-elementsと相性が悪い.
- Mail設定.ログインし,HTMLメールをプレーンメールに変更する.セキュリティ上プレーンテキストが好まれるため.
- TimeMachineからファイルの復元.必要に合わせてドラッグアンドドロップ.
最低限こんな感じかなと思います.後は個人的な復元作業です.
個人的作業
研究環境の復元
conda環境のjupyter notebook上で実験を行っていたので,Python環境から復元する.
まずpyenvをanyenvを用いてインストール. anyenvは*env系をまとめて管理してくれるので,余分にpathを通す手間を省ける.
% anyenv install --init % anyenv install pyenv % exec $SHELL -l
次に以下のpackageのインストールを行う.
- python
- conda
- jupyter notebook
- その他packages
# インストール可能なpythonとanacondaのverを調べる % pyenv install -l % pyenv install <python version> % pyenv global <python version> % pyenv install <anaconda version> % pyenv global <anaconda version> # jupyter notebookは色んな場面で使うので,globalにイントール % conda install jupyter # 研究用のconda環境を構築 % conda create -n master-research % conda init zsh % exec $SHELL -l % conda activate master-research # install other packages ## もし`conda serach <package name>`でヒットした場合,condaでインストールする % pip install SNAKES % pip install pyqubo % conda install -c plotly plotly
各種ソフトウェアのインストール
基本的にインストール→ログイン作業を繰り返すこととなる.必要に合わせて入れてけばいいと思う. 一番めんどくさい作業なので,前述したパスワードマネージャーがあると捗る.
- Docker for mac
- slack
- mattermost
- line
- discord
- zoom
- iTerm
- BetterTouchTool
- tweetdeck
- Tex
- kindle
- Quiver
- Vivaldi
- omnigraph
- HHKBドライバー
- alfred
- app store だとversionが古いため,公式サイトからダウンロードする.その後,検索設定と辞書設定を変更する.辞書設定では
d [word]
で単語の意味を,s [word]
でスペルサジェストを表示するよう変更する.またCmd + Spaceで起動するよう設定する.
- app store だとversionが古いため,公式サイトからダウンロードする.その後,検索設定と辞書設定を変更する.辞書設定では
- vscode
- mackupのおかげで勝手に
setting json
が同期される.extensionsは同期されてなかったので,次からこのように.vscode/extensions.json
を作成し,mackupに追加することで同期させる.
- mackupのおかげで勝手に
所感
だらだらやってたら丸一日ぐらいかかってしまった... ですがmackupとパスワードマネージャーを用いることで,低コストに復元することができたと思います.
反省点としてbrewfileをmackupで管理してなかったこと,vscodeのextension情報をexportしていなかったことが挙げられます. 設定ファイルはとにかくmackupに追加し,更に容易に環境再現できるよう努めたいと思います. また研究環境構築に関しては,コンテナorスクリプトで自動化できそうな気がします.
どうせなので,秘伝のタレと化した.zshrc
と.vimrc
を抜本的に見直したいです.もう何が入ってるかよくわからないので.
最後に
mackup最高〜
もっと自動化できるよ!って方いましたら教えてください.
快適なMacライフを👋
参考サイト
- GitHub - lra/mackup: Keep your application settings in sync (OS X/Linux)
- [完全版]macOS Catalinaをクリーンインストールする方法 - Qiita
- macOSでの開発環境を全部Docker化したらリストア時間が1時間半になった - The paradigm shift
- macOS & Safari 用ベストパスワードマネージャー | 1Password
- Mac トラックパッドで「3 本指のドラッグ」を有効にする - Apple サポート
- Karabiner-Elements
- GitHub - anyenv/anyenv: All in one for **env
- Using Cmd + Space as your Alfred Hotkey - Alfred Help and Support
- チームで推奨するVSCode拡張機能を共有するtips | フューチャー技術ブログ