Mac 起動用USBを作成する方法

iMac 27K (Late 2014) を売却するため、ストレージをディスクユーティリティで初期化しようとして、以前は選択することができたデータの完全削除を行う「セキュリティーオプション」がなくなっていることに気がつきました。

詳細は分かりかねますが、SSDの特性からセキュリティーオプションの提供が行われないように変更されたのかもしれません。SSDについては寿命があるようなので、セキュリティーオプションのような処理を行った場合、SSDの寿命を縮めることになり、そのため、セキュリティーオプションが用意されていないのかもしれません。

SSDの寿命はどれくらい?寿命を縮める原因と対策方法をご紹介

SSDストレージの初期化について調べたところ、以下のポイントが分かりました。

【SSD初期化の問題点】
1) APFSでは、完全削除ができない
2) ディスクユーティリティのセキュリティーオプションがなくなっている

上記の問題に対する対処としては、以下の方法があることが分かりました。

1) HFS+にすることで対処
2) 起動用USBで起動し、ターミナルからコマンドで対処

まず、起動USBを作成し、SSDのフォーマット、セキュリティーオプション相当のコマンド処理を行うことにしました。

対処に際して、いくつか問題があったため、メモしておきます。

【USBの準備】

USBフラッシュドライブは、以下の条件を満たす必要があるようです。

Mac OS 拡張でフォーマットされ、空き容量が 14 GB 以上あるものを用意してください。

私の場合、手持ちのUSBメモリの容量が小さく、上記の条件を満たさなかったので、新しいUSBメモリを買いました。
ノジマでUSBメモリ 16GBを約800円程度でした。

【起動用USB作成手順】

起動用USBを作成するには、まず、macOSをダウンロードし、インストーラーをUSBにコピーします。
今回は、High Sierraをダウンロードし、作業を進めました。

macOS をダウンロードする方法
macOS の起動可能なインストーラを作成する

【問題1: 空白のエスケープ指定】

最初、ダウンロードしたmacOSの createinstallmedia コマンドでUSBにファイルをコピーを試みましたが、参照した例が、空白のエスケープをダブルクォーテションで行っており、認識できていないようだったので、バックスラッシュでエスケープし、対処しました。

(High Sierra で、USBボリューム名が、MyVolumeの場合)

$ sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction

【問題2: USBフォーマット問題】

パラメータが適切に認識され、コマンドを発行したところ、以下のエラーが出力されたので、USBをMacOSのファイルフォーマットでフォーマットすることで対処しました。

「このボリュームのフォーマットには大きすぎるため、コピーできません」

対処法:「このボリュームのフォーマットには大きすぎるため、コピーできません」

【問題3: Info.plistのバージョン指定問題】

パラメータ指定、USBのフォーマットに対処しましたが、次は以下のエラーが出力されました。
Info.plistの情報に不適切な指定があるようなので、訂正します。

「USBメモリ is not a valid volume mount point.」

macOS Sierraのインストール 用 USBメモリ作成方法の落とし穴

$ sudo plutil -replace CFBundleShortVersionString -string "12.6.03" /Applications/Install\ macOS\ Sierra.app/Contents/Info.plist

【問題4: disk error number (-69888, 0)問題】

上記の対処を行い、再度コマンドを入力したところ以下のエラーメッセージが出力されました。
このエラーは、Macを再起動し、再度コマンドを入力することで対処できました。

「Error erasing disk error number (-69888, 0)」

【SSDの初期化】

ようやく起動用USBが作成できたので、USB起動し、ターミナルからコマンドでSSDを初期化します。

起動用USBをスロットに差したまま電源を入れれば、USB起動できます。
マウント状態を確認し、必要であればHPS+フォーマットを行い、ストレージを初期化します。

$ diskutil list # マウントされているディスク一覧を表示

Macにマウントされているディスクの状態を確認し、APFSフォーマットされたディスクがあればHPS+にフォーマットします。
その後、diskutil secureErase コマンドでSSDを初期化すれば作業終了です。

1) Apple_APFS を削除、HPS+(Hierarchical File System Plus) にフォーマット

diskutil apfs deleteContainer /dev/disk0s2 # disk0s2 など指定は環境により異なることに注意
diskutil eraseDisk JHFS+ "Untitled" /dev/disk0

2) SSDを初期化

diskutil secureErase 2 /dev/disk0 # 2: 米国国防総省標準の7回の上書き

OSX El Capitan でのHDD完全消去方法

初期化処理は、消去方法によっては数時間を要します。
処理中にMacがスリープすることで処理が停止しているようであれば、以下のコマンドでスリープを抑止します。

$ sudo pmset -a disablesleep 1

【参考】
Mac を売却、譲渡、下取りに出す前にやっておくべきこと

pod install が失敗する場合の対処方法

久しぶりにプライベートなマシンで技術検証しようとpodコマンドを入力したところ、エラーが出力されたので原因と対処方法を調べたメモ

エラー内容

pod update コマンドを入力した際に、以下のエラーが出力された。

-bash: /usr/local/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory

原因

CocoaPods が参照している Ruby のバージョンが 2.3 なのに対し、MacOS では Ruby のバージョンがデフォルトで 2.6 だったため。

環境

macOS Big Sur バージョン 11.7.5

対処方法

cocoapods を再インストールすることで対処することができた。

$ sudo gem uninstall cocoapods
$ sudo gem install cocoapods

ruby の指定バージョンを利用する方法

rbenv を利用することで、複数のバージョンの ruby を切り替えることが可能。

参考資料

rbenvの使い方と仕組みについて
rbenv rehashをちゃんと理解する
rbenv rehashは何をやっているのか?

コマンド

# Homebrewをアップデート
$ brew update

# rbenvをインストール
$ brew install rbenv
# rbenvでインストール可能なrubyのバージョンを確認
$ rbenv --version
$ brew upgrade rbenv
$ rbenv install --list
# インストールされているrubyのバージョンを確認
$ rbenv versions
# インストールした ruby(”2.5.0”)に切り替える
$ rbenv global 2.5.0
# 必ず実行しないといけないコマンドではないが、問題がある場合は以下のコマンドを試す
$ rbenv rehash

# 指定したバージョンに切り替える
$ rbenv shell --unset コマンド

~/.bash_profile 設定ファイル

eval “$(rbenv init -)” を ~/.bash_profile の末尾に追加する

環境変数(PATH)

export PATH=”/Users/(ユーザ名)/.rbenv/shims:${PATH}”

Macに外部マイクを接続する場合、注意すること

Macでビデオ会議に参加する際などにAirPodsProもしくは、iPhoneに付属するヘッドホンを利用しています。利便性だけを考えればそれで良いのですが、今回は動画のアフレコを行うため、外部マイクを接続しようとして、認識されず、少しハマったのでメモしておきます。

まず最初に、Macのオーディオ端子は、4極(CTIA)という規格であるようです。

私が使用している「iMac (Retina 5K, 27-inch, Late 2014)」の仕様ページを参照しても「ヘッドフォンポート」としか記載されておらず、適当に4極プラグを購入したのですが、結果、4極(OMTP)であったため、認識されなかったようです。
4極プラグには2種類の規格があり、製品によっては規格が明記されていなかったり、外観上の違いがないことが混乱の原因のようです。

参考: iMac (Retina 5K, 27-inch, Late 2014) – 技術仕様

iMac (Retina 5K, 27-inch, Late 2014) と接続できたケーブル、変換アダプターは、以下の製品です。

  • YOUZIPPER ユージッパー
    P-34G [変換アダプター 3極→4極 150mm]
  • エレコム ELECOM
    DH-MMIP10WH [AUDIOケーブル 直径3.5ステレオミニ 1.0m ホワイト]
  • Ulanzi VM-Q1 ビデオマイク

プラグの規格については以下のページで解説されています。
参考: MacBookでイヤホンジャックにさすタイプの外付けマイクを使う際の注意点

プロキシ環境下で gem installエラーが発生する場合の対処方法

プロキシ環境下での環境構築時に経験した問題の対処方法をメモしておきます.

プロキシ環境下で gem installエラーが発生する場合は,以下の通りプロキシを指定すればインストールを行うことができます.

gem install パッケージ名 -r -p http://ユーザ名:パスワード@プロキシ:8080

プロキシ環境下で cocoapods インストールエラーが発生する場合の対処方法

プロキシ環境下での環境構築時に経験した問題の対処方法をメモしておきます.

プロキシ環境下で cocoapods のインストール時に以下のエラーが発生した.

$ sudo gem install -n /usr/local/bin cocoapods

ERROR:  Could not find a valid gem 'rails' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - no such name (https://rubygems.org/latest_specs.4.8.gz)

理由は,sudo コマンドに http_proxy 環境変数が適用されないため.
-E オプションを付加するとログインアカウントの環境変数を引き継いでくれる.

$ sudo -E gem install -n /usr/local/bin cocoapods

無事,cocoapods のインストールが行えました.

iOSシミュレータでVPNできない場合に確認する項目

最近,諸事情によりテレワークしています.
そのため自宅からお客様の環境へアクセスする際にVPNを使用しているのですが,iOSシミュレータがVPNを介して通信できないことがありました.
その際に確認した点をメモしておきます.

VPN接続ができたとしても,終日作業していると何らかの原因でVPN接続が切れることがありました.
通信ができない場合は,まずVPNの接続確認,再接続など確認した方がよいかもしれません.
また,VPNネットワーク 詳細… オプション 「すべてのトラフィックをVPN接続経由で送信」をチェックして通信状態が改善するか?確認すると解決できることがあるようです.(私はこれで改善できました.)

参考:Run app in iOS simulator with VPN connection

2019年11月Windows10へ無償アップグレードする方法

Macユーザなのですが,年に一度の確定申告のためだけにParallels Desktopで,Windows7を使用しています.
Windows7がとても古いOSであることは重々承知の上なのですが,グズグズしているうちにとうとうMicrosoftによるサポートが2020年1月に終了するとのニュースを目にしました.

一時期,Windows7からWindows10へ無償アップグレードができた期間がありましたが,今はもう無理かなーと諦めていたところ,無償アップグレードができるようだったので,早速,実施してみました.

私の環境は,iMacでParallels Desktop 15 for Macを使用し,Windows7(32bit)を使用しているのですが,このような環境でも問題なくアップグレードできましたので,同じようなユーザーの方は試してみては如何でしょうか?

下記URLの「ツールを今すぐダウンロード」ボタンからアップグレードすることができます.
(インストール媒体を作成することも可能なようですね.)

Windows 10 のダウンロード

Time Machineのファイルが消せない場合の対処方法

数日前から iMac が不調となりリセットを行っても改善が見られなかったので,macOS Catalinaをクリーンインストールした.
その際,バックアップをTime Machineに保存していたのだが,ファイルをiMacに復元後,ファイル削除ができず困ったのでメモしておく.

最初にFinderからファイル削除を行ったのだが,以下のアラートが表示されてファイルが消せなかった.

次にターミナルから「sudo tmutil delete (削除対象のディレクトリパス)」コマンドを使用しても削除することができなかった.

次にターミナルから以下の情報を参考にbypassを使用するとTime Machineのファイルを削除することができた
参考:Delete all backups of specific file/folder with tmutil

$ /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass rm -rfv (削除対象のディレクトリパス)

ローカルマシンに WordPress をインストールする方法

たまに WordPress プラグイン作成やテンプレート作成の調査をしたりするんですが,そのたびに環境構築手順を忘れてしまうので,メモしておきます.

私はローカルに WordPress 開発環境を作る場合以下のものを使用しています.
– MAMP
– WordPress
– PHP Storm

1. MAMP をインストール

まず,最新の MAMP をダウンロードしてインストール.

MAMP 4 以降は以下のメッセージが表示されるようです.
適宜,対処します.
あと,私が遭遇した「MAMP で phpMyAdmin が使用できない」問題についてもメモしておきます.

▼ インストール後に表示されるメッセージ

MAMP / MAMP PRO 4 uses MySQL 5.6 as its default database server. Therefore, existing data has been copied to folders named …/db/mysql56. Your original data will be kept untouched in …/db/mysql.
You should convert the data right after the first start of MySQL using the command 'Upgrade MySQL databases' (⌘⌥U) from the Tools menu.

MAMP / MAMP PRO 4はデフォルトのデータベースサーバーとしてMySQL 5.6を使用します。 したがって、既存のデータは... / db / mysql56という名前のフォルダにコピーされています。 元のデータは... / db / mysqlに変更されません。
「ツール」メニューの「MySQLデータベースのアップグレード」(⌘⌥U)コマンドを使用して、MySQLの最初の起動直後にデータを変換する必要があります。

▼ MAMP で phpMyAdmin が使用できない場合の対処方法
【Tips】「MAMP」でphpMyAdminが表示されない(アクセスできない)ときの解決法!

2. WordPress をインストール

MAMPを使ってローカル環境にWordPressをインストールする方法

最初に WordPress 用のデータベースを MySQL に作成しておきます.
データベース名,ユーザ名,パスワードを指定します.

データベース作成時には「照合順序」を「utf8_general_ci」と指定する.

つぎに WordPress のセットアップを以下の URL にアクセスして行います.
http://localhost:8888/wordpress/wp-admin/setup-config.php

たまに safari ではうまく動かないことがあるそうです.
そのようなときは chrome で試します.

サイトタイトル,ユーザ名,パスワード,メールアドレスを指定します.