보관함, 펌웨어, 백업
vphone이 머신과 내려받은 펌웨어를 보관하는 위치, 그 위치를 옮기는 방법, 그리고 머신을 복사하고 백업하고 복원하는 방법을 설명합니다. 디스크 공간을 계획하거나, 보관함을 옮기거나, 머신의 사본이 하나 더 필요할 때 읽으세요.
백업, 복사, 복원
vm clone은 중지된 머신을 복사하며, 가능하면 APFS의 쓰기 시 복사(copy-on-write)를 사용합니다. 원본이 실행 중이면 거부합니다.
--new-identity 사본은 다음과 같습니다.
- 원본과 충돌하므로 고정 IPv4 주소, 포트 포워딩, 직접 지정한 mDNS 이름을 지웁니다.
--mdns on이 원본의 이름에서 만든 mDNS 이름은 이름을 바꿀 때처럼 새 이름을 따릅니다. 필요하면vm config로 새로 설정하세요. - 원본의 데이터, 앱, 설정을 그대로 유지하며 복원이 필요하지 않습니다.
ideviceinstaller같은 lockdown 도구가 동작하려면 잠금을 해제하고 이 Mac을 다시 신뢰해야 합니다.- APFS에서는 원본과 디스크 블록을 공유하고 변경한 부분만 보관하므로 첫 부팅 후 약 0.35 GB를 차지합니다. 다만
du와 Finder는 각각을 전체 크기로 표시합니다.
SEPStorage, nvram.bin, 디스크 이미지를 머신끼리 바꾸지 마세요. 이들은 한 번의 복원으로 함께 만들어졌으며, SEP 저장소가 디스크와 맞지 않는 게스트는 부팅할 때 패닉합니다.
파일 위치
위치를 옮기려면 다음을 사용합니다.
IPSW 캐시와 다운로드
내려받은 IPSW는 삭제할 때까지 캐시에 남으므로, 같은 URL로 두 번째 머신을 만들 때는 아무것도 내려받지 않습니다. Launchpad에서는 File > Downloaded IPSWs…로 삭제합니다.
준비된 복원 트리는 --keep-artifacts를 넘기지 않으면 vm create가 성공한 뒤 삭제됩니다. 이전 빌드에서 준비한 머신에는 .ipsw-cache/ 디렉터리가 남아 있을 수 있습니다. 삭제해도 안전하며, vm export는 이를 제외합니다.
원격 IPSW는 Apple의 CDN처럼 서버가 HTTP 범위 요청에 응답하면 네 개의 연결로 동시에 내려받습니다. 각 연결은 32 MB 세그먼트를 차례로 받으며, 끊긴 세그먼트는 멈춘 곳부터 이어 받습니다. fw prepare의 --download-connections <n>으로 연결 수를 1~16 사이에서 지정합니다. 1이면 IPSW를 하나의 스트림으로 내려받으며, 범위 요청을 무시하는 서버에서도 이렇게 동작합니다.
디스크 공간과 메모리
리소스를 많이 쓰는 생성 작업은 한 번에 하나씩 실행하세요. IPSW와 임시 복원 트리가 상당한 디스크 공간을 차지하며, 큰 캐시를 패치할 때 메모리를 많이 사용할 수 있습니다. 두 번째 머신을 시작하기 전에 여유 공간을 확인하세요.
Launchpad는 해당하는 경우 CFW 작업 파일을 보관함이 있는 외장 볼륨에 둡니다. 단독으로 실행하는 vphone-cli cfw install은 기본적으로 /private/var/tmp를 사용하며, root 소유의 비공개 디렉터리를 지정하는 --work-parent를 받습니다.