大文字/小文字を区別「する」から「しない」HDDへの移行方法

直前の投稿でさらっと作業内容の詳細を述べずに進んでしまった次の部分について追記します。

解決方法は「大文字/小文字を区別しない」ディスク形式にするより他無いらしく、一旦別の「大文字/小文字を区別しない」ディスクを用意してデータを往復させることにしました

情報源: photoslibraryを置くディスク形式 – hkitago software development

写真アプリのライブラリを「大文字/小文字を区別する」から「大文字/小文字を区別しない」ディスクへコピーしようとすると当然次のようなエラーを返してきます。

“写真 Library.photoslibrary”はコピーできません。コピー先ボリューム上に同じ名前の別の項目が存在しており、コピー先ボリュームはファイル名の大文字/小文字を区別しません。

そこでまず思いついたのが、TimeMachine バックアップが登場する以前に利用していた rsync コマンドでした。

http://hkitago.tumblr.com/post/169802245421

単に自分で配置したファイル群であればこのやり方で問題が無いのですが、iTunes や写真アプリのライブラリは別途データベースでファイルを管理していて整合性が取れなくなってしまう懸念があって却下しました。

次に考えたのが、ライブラリをコピーする前に実際にどのファイル名が大文字小文字違いで重複しているのかを調べて、iTunes や写真アプリ内からファイル名を変更すればデータベースもそれに応じて変更されるだろうというもので、次のコマンドを利用しました。

http://hkitago.tumblr.com/post/169756177861

iTunes ライブラリではアーティスト名やテレビドラマ名の先頭が大文字のものと小文字のものが混在していたので、アプリ内からそれぞれ変更して対応することができました。

ところが写真アプリでは、編集した写真のファイル名の拡張子を小文字にしてデータを複製するという古い iPhoto 時代の仕様が悪さをしていたようで、アプリ内からのファイル名変更ができず10枚ほどしかなかったこともあってこれらのファイルをファインダー上で順に削除しました。

そして TimeMachine の「今すぐバックアップを作成」を実行し、「大文字/小文字を区別しない」ディスク形式へフォーマット後にデータを3日ほど掛けて戻しました。

全てのアップ名を書き出す

機材歴を眺めていてハードウェアよりもソフトウェアの方が使用数としては多いなあと考えていたところ、どうやったらインストールしたアプリ名称の一覧を得られるのだろうかと疑問になって調べました。

参考したサイトによるところ GUI と CLI を使う2通りの方法があって、後者を選択しました。ターミナルで find / -iname *.app > ~/applications.txt と打ってリターンすると、Permission denied を繰り返し表示しながら暫く走ります。結果は992個のアプリケーションがありましたが、前者のシステム情報>アプリケーションを選択する場合には、他ディスクのものを読まないようなので少し数が違うと思います。これも検索開始ディレクトリをコマンドオプションに付けると良いでしょう。

コマンドが走ってる内にそのまま放置したところ、スリープの復帰に失敗してハードリセットすることになったのはご愛嬌のヨセミテちゃん。怒

P.S. デスクトップのアプリケーションをアップと略すのに違和感がある日本人アプリ野郎がお送りしました。

参考: