開発用にAWS EC2でMacインスタンスを借りました。 セットアップの際にXCodeのインストールで躓いたので解消方法をメモしておきます。
Amazon EC2 Mac Instanceの利用方法はこちらの記事を参考にしました。
XCodeをインストールしようとするとこのように十分な空き容量がない旨のメッセージが出てインストールができない。
Mac App Storeからだと必要以上に容量を求められるらしいので、developer.apple.comから直接インストーラーをダウンロードしてみましたが、こちらもダメでした。
インスタンスを作成する際に200GBのボリュームを指定しています。
しかし、ディスクの空き容量を確認すると/dev/disk2s4s1 60Gi
と小さく、割り当てたはずのボリュームが認識していないようです。
% df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk2s4s1 60Gi 14Gi 22Gi 40% 568975 626528225 0% /
devfs 191Ki 191Ki 0Bi 100% 662 0 100% /dev
/dev/disk2s6 60Gi 20Ki 22Gi 1% 0 627097200 0% /System/Volumes/VM
/dev/disk2s2 60Gi 278Mi 22Gi 2% 725 627096475 0% /System/Volumes/Preboot
/dev/disk2s5 60Gi 244Ki 22Gi 1% 14 627097186 0% /System/Volumes/Update
/dev/disk2s1 60Gi 23Gi 22Gi 52% 475239 626621961 0% /System/Volumes/Data
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /System/Volumes/Data/home
/dev/disk3s2 240Mi 240Mi 0Bi 100% 356 4294966923 0% /Volumes/Google Chrome
Resize the APFS drive to use all available storage
こちらの記事の手順でAPFS(Apple File System)の割り当てを変更して全てのボリュームを利用できるようにしていきます。 Resize the APFS drive to use all available storageの項からの手順です。
以下の4つのステップで進めます。
- 使っているAPFSコンテナを特定する
- (オプション)インスタンスのスナップショットを作成する
- ディスクの修復をする
- APFSコンテナのリサイズをする
1. 使っているAPFSコンテナを特定する
diskutil list physical external
このコマンドでディスクの中でも物理の外付けディスクを確認できる。
% diskutil list physical external
/dev/disk0 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *214.7 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk2 64.2 GB disk0s2 <- これ
disk0s2
がAPFSです。64.2 GB
しか認識していないことがわかる。
/dev/disk0
をリサイズします。
2. (オプション)インスタンスのスナップショットを作成する
ディスクシステムの設定を変える前にスナップショットやAMIを作成することをお勧めします。
- AMI https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/tkv-create-ami-from-instance.html
- スナップショット https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html#ebs-create-snapshot
3. ディスクの修復をする
% diskutil repairDisk <target disk>
# ex,
% sudo diskutil repairDisk /dev/disk0
リサイズする前にdiskutil repairDisk <target disk>
コマンドを実行してパーティションを修復します。
% sudo diskutil repairDisk /dev/disk0
Repairing the partition map might erase disk0s1, proceed? (y/N) y
Started partition map repair on disk0
Checking prerequisites
Checking the partition list
Adjusting partition map to fit whole disk as required
Did grow entire partition map
Checking for an EFI system partition
Checking the EFI system partition's size
Checking the EFI system partition's file system
Checking the EFI system partition's folder content
Checking all HFS data partition loader spaces
Checking booter partitions
Reviewing boot support loaders
Checking Core Storage Physical Volume partitions
The partition map appears to be OK
Finished partition map repair on disk0
4. APFSコンテナのリサイズをする
すべての準備が整ったので、APFSコンテナのサイズ変更プロセスを開始できます。 このコマンドを入力するだけです。
% sudo diskutil apfs resizeContainer disk0s2 0
このコマンドで、システムは使用可能なすべてのストレージを使えるようにします。
0
の代わりに特定の値を設定して利用するサイズを指定できます。
% sudo diskutil apfs resizeContainer disk0s2 0
Started APFS operation
Aligning grow delta to 150,323,855,360 bytes and targeting a new physical store size of 214,538,608,640 bytes
Determined the maximum size for the targeted physical store of this APFS Container to be 214,537,580,544 bytes
Resizing APFS Container designated by APFS Container Reference disk2
The specific APFS Physical Store being resized is disk0s2
Verifying storage system
Using live mode
Performing fsck_apfs -n -x -l /dev/disk0s2
Checking the container superblock
Checking the EFI jumpstart record
Checking the space manager
Checking the space manager free queue trees
Checking the object map
Checking volume
Checking the APFS volume superblock
The volume Macintosh HD - Data was formatted by newfs_apfs (945.275.7) and last modified by apfs_kext (1677.60.23)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume Preboot was formatted by diskmanagementd (945.275.7) and last modified by apfs_kext (1677.60.23)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume Recovery was formatted by diskmanagementd (945.275.7) and last modified by apfs_kext (1677.60.23)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume Macintosh HD was formatted by storagekitd (1677.81.1) and last modified by apfs_kext (1677.81.1)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking snapshot 1 of 1 (com.apple.os.update-35C699ADD439C653A3B09EBD8A30FBD366881244EB7C82207A2E135362FCCB7F)
Checking the extent ref tree
Checking the fsroot tree
Checking the file extent tree
Checking volume
Checking the APFS volume superblock
The volume Update was formatted by com.apple.Mobile (1677.81.1) and last modified by apfs_kext (1677.60.23)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Checking volume
Checking the APFS volume superblock
The volume VM was formatted by com.apple.Mobile (1677.81.1) and last modified by apfs_kext (1677.60.23)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking the extent ref tree
Checking the fsroot tree
Verifying allocated space
The volume /dev/disk0s2 appears to be OK
Storage system check exit code is 0
Growing APFS Physical Store disk0s2 from 64,214,753,280 to 214,538,608,640 bytes
Modifying partition map
Growing APFS data structures
Finished APFS operation
サイズの確認
サイズが変更できたか確認します。
% diskutil list physical external
/dev/disk0 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *214.7 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk2 214.5 GB disk0s2
APFSコンテナが64.2 GBから214.5GBに変わっていました。
% df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk2s4s1 200Gi 14Gi 68Gi 18% 568975 2094534625 0% /
devfs 195Ki 195Ki 0Bi 100% 674 0 100% /dev
/dev/disk2s6 200Gi 48Gi 68Gi 42% 48 2095103552 0% /System/Volumes/VM
/dev/disk2s2 200Gi 278Mi 68Gi 1% 725 2095102875 0% /System/Volumes/Preboot
/dev/disk2s5 200Gi 244Ki 68Gi 1% 14 2095103586 0% /System/Volumes/Update
/dev/disk2s1 200Gi 69Gi 68Gi 51% 1766297 2093337303 0% /System/Volumes/Data
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /System/Volumes/Data/home
/dev/disk3s2 240Mi 240Mi 0Bi 100% 356 4294966923 0% /Volumes/Google Chrome
/dev/disk0s1 197Mi 5.5Ki 197Mi 1% 0 0 100% /private/var/tmp/MPOOL4FS
/dev/disk4s1 130Mi 110Mi 21Mi 85% 693 4294966586 0% /Volumes/Visual Studio for Mac Installer
dfコマンドでもSizeが変わっていることが確認できます。 (後日とったのでUsedなど細かい数字は一致しません)
XCodeのインストール
ストレージが増えたことでMac App StoreからXCodeがインストール出来ました。
以上。