2018年11月20日火曜日

Macでアカウント名やホームディレクトリ名を変更したら色々トラブったお話

昨日に引き続いて、MacBook Proの設定を変更してたら再びツボったので。

そもそものいきさつなんですが、現在仕事で使ってるMacBook Proって、前の仕事で使ってたMacBook Airのバックアップからの復元で環境を構築したのです。

というのも新しいPCにイチからアプリケーションインストールしたり設定したり、メールやブックマークや書類をインポートしたりってクソ面倒で時間もかかるじゃないですか。

その点MacはTime Machineのバックアップから環境構築すれば、ほぼ全ての作業が自動でできてとっても楽チン。
元の端末を手放したりせず併用する場合は、有償アプリケーションのライセンスは追加購入必要ですけど。(Adobe CCとかMS Officeとかね)

それで新しい作業環境を簡単に構築できたのは良かったものの、復元で環境作るとユーザ名やらホームディレクトリ名やらが元の環境のまま。自分の場合は前職の肩書とかで設定してたのでそれが気持ち悪くて、いつか変更しなくちゃと気になってた訳ですよ。

とは言えユーザ名やホームディレクトリ名ってシステムに深く関与してる箇所なので、そんな安易にやっていいはずも無く。
以前にも一度やろうとしたことがあったんですが、当時はターミナル使う方法しか無く難易度も高そうだし、色々問題が出るって情報もあったので、ヤバそうだなと断念したんです。
それが改めて情報集めてみたらAppleのサイトで堂々とやり方が紹介されてるじゃありませんか!
https://support.apple.com/ja-jp/HT201548
ふむふむ、ターミナルとか使わなくてもいいのか、手順も簡単そうだし、Appleさん的にもバックアップ取っとけ程度の注意ってことは、意外と大したことないのかも。
よ〜し!

やっちゃえ!NISS○N(今日この名前出すのはチョット不吉かも。)
エイっ!





はい、ツボりました。

変更後、ほぼ仕事で使う全てのデータを置いてるDropboxとGoogle Drive File Streamが起動しなくなりました。
(もちろん保存してるデータにはWeb経由ならアクセスできますが、それじゃ業務に支障ありまくりなので。)

それでも調べたらDropboxは開発元で対処方法を案内されてたので、何とか復旧しました。
https://www.dropbox.com/help/syncing-uploads/stuck-syncing
このページの「権限エラー」のMacのタブに記載される方法で難なく起動OK。データの同期も自動で普通に利用再開できました。

一方でGoogle File Streamは、まだリリースされてから間もないからか、それらしき情報が見当たりません。

起動しようとするとポップアップアラートが。
「ドライブファイルストリームをマウントできません。
マウントポイントに指定したディレクトリが空ではありません。
別のマウントポイントを選択してください。」とな。


そんなこと言われましても。

メニューバーのドライブファイルストリームアイコンから設定メニューを開こうとしてもグレーアウトしててイジれないし、何度ログインしようとしても同じエラー表示するだけだし、どうすりゃいいのさ。

とりあえずドライブファイルストリームだけじゃなく、以前使ってたGoogle Driveも含め、設定ファイル一式削除してアプリをアンインストール、再インストールしましたが状況は変わらず。

日本語ではどうしてもそれらしい情報が見つからないので、つたない英語で検索して見つけたのが下記。
https://productforums.google.com/forum/#!msg/apps/fv3aqquKDtQ/E2RvT2iHBwAJ
/Volume以下にあるGoogle Driveフォルダを削除してみよ、とのこと。

おぉ、確かにありましたよ/Volume以下にGoogle Driveフォルダが。

ソッコー削除してGoogle Drive File Streamを起動したところ、ようやくマウントできました。
自動で同期再開してくれて、置いてあるデータが利用できるようになりました。ホッ。

あ、そうそう。以前MacというかOSX環境でセキュリティソフトのESETとGoogle Drive併用すると、フリーズしてんのかっていうほどESETがCPUを消費しやがるすることがありました。

その際ESET側でGoogle Drive以下のディレクトリを検査対象から除外して負荷が下がったことがあったんだけど、今回の件が復旧した後、設定を見直したら除外指定してるのが古いホームディレクトリ名のままでした。
そのままでも動作が重くなったりする感じは無いんだけど、もしかして最近ESET側でGoogle Drive使用時の負荷対策でもしたのでしょうか?

ま、それならそれでいいのだけど、万一以前と同じ状況になると困るので、念の為変更後のディレクトリに更新しました。
この件はコチラ↓を参考にさせていただきました。
https://blog.eumyang.net/2018/03/mac-google-drive-file-stream-eset/
ESETで特定の場所を検査対象外にするって、セキュリティ的にどうなんよ?
という点に若干不安はありますが、そこはGoogleさん側で何らか対策してくれてますよね?という淡い期待に頼ろうかと。

業務で使ってるアプリケーションを全部試した訳じゃないので、まだトラブルが残ってる可能性もありますが、とりあえず無いと非常に困る2つのサービスが復旧できて(昨日に続いて)良かった、良かった。

アカウント名やホームディレクトリ名が変更できて気分も一新。
アカウントやホームディレクトリって毎日何度も目にするだけに、面倒だけど思い切って変えて良かったと思った次第。

Mac OSX Mojave環境でiPhoneを外部HDDにバックアップする件

MacBook Pro(OSX Mojave環境)のSSDの空きが急激に20GBとかに減り、動作が重くなる前になんとかしなきゃとターミナル使って
sudo du -g -x -d 5 / | awk '$1 >= 5{print}'
5GB以上のファイルを洗い出したところiPhoneのバックアップで80GBも消費してることが判明しました。

じゃiPhoneのバックアップを外部ディスクに逃がせばいいじゃんと考えたものの、iTunesにゃそんな機能が無い様子。

さらに調べて方法は見つけたものの、かなり手こずったので忘備録がてら残しとこう。

1.まずは外部ディスク内の適当な場所に「Backup」って名前のフォルダを作りましょう。
これが今後のiPhoneのバックアップの保存先になります。
複数のバックアップを残す場合は大きな空き容量が必要です。
単純計算でiPhone Xs 512GBモデルの容量をすべて使い切ってる状態のバックアップを3回分残したいなら、512GB✕3≒1.5TBの空き容量が必要です。

2.んでMacBook内の「/Users/ユーザ名/Library/Application Support/MobileSync/」にあるBackupってフォルダを、その後も活用するか要らないかによって、外部ディスクなりゴミ箱なりどっか適当な場所に逃した上で、1.で作ったBackupってフォルダのシンボリックリンクを同じ場所に置いてあげればいいらしい。(以下参考にしました)
https://gori.me/mac/mac-tips/112093

逃したBackupフォルダ内にあるバックアップデータは、今後も利用する可能性があるなら1.で作ったBackupフォルダ内に移します。
ちなみにBackupフォルダ内の個々のフォルダがそれぞれ1回分のバックアップデータです。

なお、Macでは重要なフォルダやファイルを初心者が誤って削除したり別の場所に移動したりできないよう普段はFinder上に表示しないようになってます。
もし上記のフォルダ(ディレクトリ)がFinderに表示されない場合は[Command][Shift][.]キーを同時に押しましょう。
全体の作業が終わったら、もう一度押して非表示に戻しておくのをお忘れなく。

それと上記のフォルダの名称については、環境によってUsers→ユーザ、Library→ライブラリと表示されますので、置き換えて探してください。
ターミナルで入力する際は英語、日本語のどちらで入力してもたぶん大丈夫なはず。

ただしMojave環境ではターミナルでシンボリックリンクを(特定の場所に)作ろうとすると「Operation not permitted」と拒否られることがある模様。で実際拒否られました。

これを回避するには、システム環境設定/セキュリティとプライバシー/プライバシータブで左の窓に表示される項目の中のフルディスクアクセスを選択し、「+」ボタンでターミナルのアプリを追加します。これでターミナルにフルディスクアクセス権を付与する訳ですね。
https://gori.me/mac/mac-tips/112082

3.続いてターミナルを起動して「/Users/ユーザ名/Library/Application Support/MobileSync/」以下に外部ディスクに作ったBackupフォルダのエイリアスを作ってあげます。
ということでln -sコマンドによりシンボリックリンクの作成先を色んなサイトで紹介されてる下記の通り指定してみたんだけど、そんなディレクトリ無いって拒否られる・・・
“/Users/ユーザ名/Library/Application Support/MobileSync/”

ダブルクォーテーションで囲むのは「Application Support」とかに含まれるスペースを正しく認識させるためなので、書き方は間違ってないはずなんだけど上手く行かない。Usersを「ユーザ」、Libraryを「ライブラリ」とかに置き換えてもやっぱダメ。

結局ダブルクォーテーションで囲む範囲をピンポイントで指定して、ようやく上手くいきました。どっちでも一緒なはずなのに何でだろう?
/Users/ユーザ名/Library/"Application Support"/MobileSync/

ちなみに、「ln -s A B」ってコマンドラインは、「Bって場所にAのシンボリックリンクを作って」という意味。

ということで、最終的にシンボリックリンク作成に成功したコマンド全体がコチラ↓
ln -s /Volumes/外部ディスク名(/置いた階層に応じて追加)/Backup /Users/ユーザ名/Library/"Application Support"/MobileSync/

(ちなみに同じ状況で困ってココに来た人へのアドバイスなんだけど、外部ディスクやBackupを置いてる階層名にスペースが含まれてる場合はそこもダブルクォーテーションで囲まないとダメなはずなのでご注意を。あと「-s」や「Backup」の後ろには区切り文字として半角スペースを忘れずに。)

ま、後で考えてみたら一旦デスクトップとかにシンボリックリンク作ってから、Finder上で/Users/ユーザ名/Library/Application Support/MobileSync/以下に移動させたら簡単じゃん・・・と気付いた訳ですが、深夜2時のボケた状態ではそこに頭が回らず。

手強かったけど、iPhoneのバックアップを外に出せたおかげでMacBookの空きが100GB確保できたってことで、とりあえずめでたしめでたしでした。