{"code":"var Component=(()=>{var g=Object.create;var l=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var o=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),y=(n,e)=>{for(var s in e)l(n,s,{get:e[s],enumerable:!0})},t=(n,e,s,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let h of u(e))!m.call(n,h)&&h!==s&&l(n,h,{get:()=>e[h],enumerable:!(r=p(e,h))||r.enumerable});return n};var E=(n,e,s)=>(s=n!=null?g(F(n)):{},t(e||!n||!n.__esModule?l(s,\"default\",{value:n,enumerable:!0}):s,n)),b=n=>t(l({},\"__esModule\",{value:!0}),n);var d=o((B,a)=>{a.exports=_jsx_runtime});var f={};y(f,{default:()=>k});var i=E(d());function c(n){let e={a:\"a\",blockquote:\"blockquote\",code:\"code\",em:\"em\",h2:\"h2\",h3:\"h3\",img:\"img\",li:\"li\",p:\"p\",pre:\"pre\",span:\"span\",strong:\"strong\",table:\"table\",tbody:\"tbody\",td:\"td\",th:\"th\",thead:\"thead\",tr:\"tr\",ul:\"ul\",...n.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:\"Die Man-Page in macOS 27 Golden Gate enth\\xE4lt eine Zeile, die es dort noch nie gab:\"}),`\n`,(0,i.jsxs)(e.blockquote,{children:[`\n`,(0,i.jsx)(e.p,{children:\"In macOS 27.0 ist hdiutil veraltet. Verwenden Sie stattdessen diskutil image f\\xFCr alle Disk-Image-Operationen.\"}),`\n`]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" ist seit Mac OS X 10.0 der Weg, um auf dem Mac Disk-Images zu erstellen, einzubinden, zu konvertieren und zu untersuchen. Wenn Sie jemals eine \",(0,i.jsx)(e.code,{children:\".dmg\"}),\" ausgeliefert, ein Installationsskript geschrieben, einen CI-Job zum Packen einer Mac-App gebaut oder einen verschl\\xFCsselten Container zum Schutz privater Daten angelegt haben, haben Sie es verwendet \\u2013 direkt oder \\xFCber ein Werkzeug, das es f\\xFCr Sie aufgerufen hat.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Hier ist der Teil, den die meisten Berichte \\xFCbersehen haben: \",(0,i.jsx)(e.strong,{children:\"Der Nachfolger kommt nicht erst noch. Er ist bereits auf Ihrem Mac.\"}),\" \\xD6ffnen Sie jetzt sofort das Terminal unter macOS 26 Tahoe und f\\xFChren Sie \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" aus. Der Befehl antwortet.\"]}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.img,{alt:\"hdiutil-Veralterung in macOS 27\",src:\"/images/blog/hdiutil-deprecated-macos-27-diskutil-image-migration-guide-2026/hero.webp\",width:\"1024\",height:\"541\"})}),`\n`,(0,i.jsx)(e.h2,{id:\"die-wichtigsten-erkenntnisse\",children:\"Die wichtigsten Erkenntnisse\"}),`\n`,(0,i.jsxs)(e.ul,{children:[`\n`,(0,i.jsxs)(e.li,{children:[(0,i.jsxs)(e.strong,{children:[(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" funktioniert bereits unter macOS 26.\"]}),\" Verifiziert unter macOS 26.5.2 (Build 25F84). Sie k\\xF6nnen Skripte schon heute migrieren und testen, noch bevor macOS 27 erscheint.\"]}),`\n`,(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.strong,{children:\"Veraltet hei\\xDFt nicht entfernt.\"}),\" \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" funktioniert in macOS 27 weiterhin. Am ersten Tag bricht nichts. Aber Apple beschneidet das Werkzeug bereits seit sieben Jahren, und die Man-Page dokumentiert jeden einzelnen Schritt.\"]}),`\n`,(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.strong,{children:\"Der Befehlsumfang ist deutlich kleiner.\"}),\" \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" bietet 23 Verben. \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" bietet 5 Unterbefehle.\"]}),`\n`,(0,i.jsxs)(e.li,{children:[(0,i.jsxs)(e.strong,{children:[\"Es gibt kein \",(0,i.jsx)(e.code,{children:\"detach\"}),\".\"]}),\" Mit \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" k\\xF6nnen Sie ein Disk-Image einbinden, aber nicht wieder aush\\xE4ngen \\u2013 das wandert zu \",(0,i.jsx)(e.code,{children:\"diskutil eject\"}),\".\"]}),`\n`,(0,i.jsxs)(e.li,{children:[(0,i.jsx)(e.strong,{children:\"F\\xFCr manche Funktionen gibt es schlicht noch keinen Ersatz\"}),\", darunter \",(0,i.jsx)(e.code,{children:\"verify\"}),\", \",(0,i.jsx)(e.code,{children:\"compact\"}),\" und \",(0,i.jsx)(e.code,{children:\"makehybrid\"}),\". Wenn Ihre Build-Skripte diese verwenden, existiert heute kein Migrationspfad.\"]}),`\n`]}),`\n`,(0,i.jsx)(e.h2,{id:\"zuerst-selbst-auf-dem-eigenen-mac-nachpr\\xFCfen\",children:\"Zuerst: Selbst auf dem eigenen Mac nachpr\\xFCfen\"}),`\n`,(0,i.jsx)(e.p,{children:\"Verlassen Sie sich bei alldem nicht auf mein Wort. Ein einziger Befehl gen\\xFCgt:\"}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsx)(e.code,{children:(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"})]})})})}),`\n`,(0,i.jsx)(e.p,{children:\"Unter macOS 26.5.2 gibt das Folgendes aus:\"}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"OVERVIEW: Manipulate disk images (attach, create, etc)\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"USAGE: diskutil image [--verbose] [--stdinpassphrase] [--plist] <subcommand>\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"SUBCOMMANDS:\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"  attach                  Attach a disk image as a device.\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"  info                    Print info regarding a disk image.\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"  create                  Create a disk image. Either blank or from an existing\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"                          source (disk, disk image or folder).\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"  resize                  Resize a given image to a specified size if\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"                          applicable.\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"  chpass                  Change the passphrase of a given encrypted image.\"})})]})})}),`\n`,(0,i.jsxs)(e.p,{children:[\"F\\xFCnf Unterbefehle. Vergleichen Sie das nun mit dem, was \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" bietet \\u2013 direkt aus dessen eigener Man-Page:\"]}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"Common verbs include attach, detach, verify, create, convert, and compact.\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"The rest of the verbs are currently: help, info, burn, checksum, chpass,\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"erasekeys, imageinfo, isencrypted, mountvol, unmount, plugins, udifrez,\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"udifderez, resize, segment, makehybrid, and pmap.\"})})]})})}),`\n`,(0,i.jsxs)(e.p,{children:[\"Das sind 23 Verben gegen\\xFCber 5 Unterbefehlen. Dieses Verh\\xE4ltnis wirkt auf den ersten Blick alarmierend und ist zugleich irref\\xFChrend, denn ein reiner Verb-f\\xFCr-Verb-Vergleich f\\xFChrt zum falschen Ergebnis. Mehrere \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\"-Verben stecken unter anderem Namen in \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\", mehrere waren schon vor Jahren als veraltet markiert, und eines der wichtigen ist komplett zu einem anderen Befehl gewandert.\"]}),`\n`,(0,i.jsx)(e.p,{children:\"Herauszufinden, was wohin geh\\xF6rt, ist die eigentliche Migration \\u2013 machen wir das also gr\\xFCndlich.\"}),`\n`,(0,i.jsx)(e.h2,{id:\"das-kam-nicht-aus-dem-nichts\",children:\"Das kam nicht aus dem Nichts\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Vor der Migrationstabelle noch etwas Kontext, der die Veralterung weniger abrupt erscheinen l\\xE4sst. Die Man-Page von \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" enth\\xE4lt einen Kompatibilit\\xE4tsabschnitt, der sich wie ein sieben Jahre langes Protokoll liest, in dem Apple das Werkzeug Schritt f\\xFCr Schritt beschneidet. Das steht schon jetzt auf Ihrem Mac \\u2013 \",(0,i.jsx)(e.code,{children:\"man hdiutil\"}),\" \\xF6ffnen und nach den Versions\\xFCberschriften suchen:\"]}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:\"macOS 10.15\"})}),`\n`,(0,i.jsxs)(e.ul,{children:[`\n`,(0,i.jsx)(e.li,{children:\"F\\xFChrte die lzma-Komprimierung im ULMO-Format ein\"}),`\n`,(0,i.jsxs)(e.li,{children:[\"Markierte die Unterst\\xFCtzung f\\xFCr Dual-Fork-Dateien im OS-9-Stil als veraltet (\",(0,i.jsx)(e.code,{children:\"hdiutil flatten\"}),\"/\",(0,i.jsx)(e.code,{children:\"unflatten\"}),\")\"]}),`\n`,(0,i.jsxs)(e.li,{children:[\"Entfernte den veralteten Befehl \",(0,i.jsx)(e.code,{children:\"hdiutil internet-enable\"}),\" sowie die IDME-Attach-Flags\"]}),`\n`]}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:\"macOS 11.0\"})}),`\n`,(0,i.jsxs)(e.ul,{children:[`\n`,(0,i.jsx)(e.li,{children:\"Entfernte die Unterst\\xFCtzung f\\xFCr die Formate DiskCopy42, DART und NDIF\"}),`\n`,(0,i.jsx)(e.li,{children:\"Entfernte die Unterst\\xFCtzung f\\xFCr die Kodierungen AppleSingle und MacBinary\"}),`\n`,(0,i.jsx)(e.li,{children:\"Entfernte die Dual-Fork-Dateiunterst\\xFCtzung im OS-9-Stil\"}),`\n`,(0,i.jsx)(e.li,{children:\"\\xC4nderte das Standarddateisystem f\\xFCr neue Images auf APFS\"}),`\n`]}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:\"macOS 12.0\"})}),`\n`,(0,i.jsxs)(e.ul,{children:[`\n`,(0,i.jsx)(e.li,{children:\"Markierte das UDBZ-Format (bzip2-Komprimierung) als veraltet\"}),`\n`,(0,i.jsxs)(e.li,{children:[\"Markierte segmentierte UDIF-Images als veraltet (\",(0,i.jsx)(e.code,{children:\"hdiutil segment\"}),\", \",(0,i.jsx)(e.code,{children:\"-segmentSize\"}),\")\"]}),`\n`,(0,i.jsxs)(e.li,{children:[\"Markierte \",(0,i.jsx)(e.code,{children:\"hdiutil udifrez\"}),\"/\",(0,i.jsx)(e.code,{children:\"udifderez\"}),\" als veraltet (Ressourcen einbetten und extrahieren)\"]}),`\n`]}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:\"macOS 13.0\"})}),`\n`,(0,i.jsxs)(e.ul,{children:[`\n`,(0,i.jsxs)(e.li,{children:[\"Entfernte die Option \",(0,i.jsx)(e.code,{children:\"encrypted-encoding-version\"}),\"; alle neuen verschl\\xFCsselten Images verwenden Version 2\"]}),`\n`]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Die Man-Page weist zudem direkt im Text darauf hin, dass \",(0,i.jsx)(e.code,{children:\"-passphrase\"}),\" unsicher ist, dass segmentierte Images veraltet sind und dass UDBZ veraltet ist.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Als Ganzes gelesen ist die Veralterung in macOS 27 der letzte Schritt eines Prozesses, der etwa 2019 begonnen hat, und keine Entscheidung, die diesen Sommer gefallen ist. Das ist f\\xFCr die Planung wichtig: Apple entfernt Funktionen aus diesem Werkzeug langsam und k\\xFCndigt sie zuerst in der Man-Page an. \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" ist in macOS 27 veraltet, nicht verschwunden, und es gibt kein angek\\xFCndigtes Entfernungsdatum.\"]}),`\n`,(0,i.jsx)(e.h2,{id:\"die-migrationstabelle\",children:\"Die Migrationstabelle\"}),`\n`,(0,i.jsx)(e.p,{children:\"Das ist die \\xDCbersicht. Ich habe jeden dieser Punkte unter macOS 26.5.2 getestet.\"}),`\n`,(0,i.jsxs)(e.table,{children:[(0,i.jsx)(e.thead,{children:(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.th,{children:\"Was Sie erreichen wollen\"}),(0,i.jsx)(e.th,{children:(0,i.jsx)(e.code,{children:\"hdiutil\"})}),(0,i.jsx)(e.th,{children:(0,i.jsx)(e.code,{children:\"diskutil image\"})})]})}),(0,i.jsxs)(e.tbody,{children:[(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Ein Image einbinden\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil attach x.dmg\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"diskutil image attach x.dmg\"})})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Ein Image aush\\xE4ngen\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil detach /dev/diskN\"})}),(0,i.jsxs)(e.td,{children:[(0,i.jsxs)(e.strong,{children:[\"Nicht in \",(0,i.jsx)(e.code,{children:\"diskutil image\"})]}),\" \\u2014 stattdessen \",(0,i.jsx)(e.code,{children:\"diskutil eject /dev/diskN\"}),\" verwenden\"]})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Ein leeres Image erstellen\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil create -size 1g -fs APFS x.dmg\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"diskutil image create blank --size 1g x.dmg\"})})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Ein Image aus einem Ordner erstellen\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil create -srcfolder ./dir x.dmg\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"diskutil image create from ./dir x.dmg\"})})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Format konvertieren\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil convert in.dmg -format UDZO -o out.dmg\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"diskutil image create from in.dmg out.dmg --format UDZO\"})})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Ein Image untersuchen\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil imageinfo x.dmg\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"diskutil image info x.dmg\"})})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Pr\\xFCfen, ob verschl\\xFCsselt\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil isencrypted x.dmg\"})}),(0,i.jsxs)(e.td,{children:[(0,i.jsx)(e.code,{children:\"diskutil image info\"}),\" \\u2192 \",(0,i.jsx)(e.code,{children:\"Is Encrypted:\"})]})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Gr\\xF6\\xDFe \\xE4ndern\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil resize -size 2g x.dmg\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"diskutil image resize\"})})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Passphrase \\xE4ndern\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil chpass x.dmg\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"diskutil image chpass x.dmg\"})})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Pr\\xFCfsumme verifizieren\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil verify x.dmg\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.strong,{children:\"Keine Entsprechung\"})})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Ein Sparse-Image komprimieren\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil compact x.sparsebundle\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.strong,{children:\"Keine Entsprechung\"})})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Ein Hybrid-/ISO-Image erstellen\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil makehybrid\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.strong,{children:\"Keine Entsprechung\"})})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Eine Lizenzvereinbarung einbetten\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil udifrez\"})}),(0,i.jsxs)(e.td,{children:[(0,i.jsx)(e.strong,{children:\"Keine Entsprechung\"}),\" (seit macOS 12 veraltet)\"]})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{children:\"Auf optische Medien brennen\"}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.code,{children:\"hdiutil burn\"})}),(0,i.jsx)(e.td,{children:(0,i.jsx)(e.strong,{children:\"Keine Entsprechung\"})})]})]})]}),`\n`,(0,i.jsxs)(e.h3,{id:\"die-\\xFCberraschung-bei-convert\",children:[\"Die \\xDCberraschung bei \",(0,i.jsx)(e.code,{children:\"convert\"})]}),`\n`,(0,i.jsx)(e.p,{children:'Der h\\xE4ufigste Fehler, den ich in den ersten Kommentaren gesehen habe, lautet: \\u201EEs gibt kein convert.\" Doch, das gibt es \\u2013 es hei\\xDFt nur anders.'}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"OVERVIEW: Create a disk image from an existing source (disk, disk image or\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"folder).\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"Source and destination disk image can be the same, which will perform the\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"conversion in place.\"})})]})})}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.code,{children:\"diskutil image create from\"}),\" akzeptiert ein Disk-Image als Quelle, ist also \",(0,i.jsx)(e.code,{children:\"hdiutil convert\"}),\" unter anderem Namen \\u2013 und unterst\\xFCtzt zus\\xE4tzlich die Konvertierung an Ort und Stelle, was \",(0,i.jsx)(e.code,{children:\"hdiutil convert\"}),\" nie konnte. Wer nur Verben z\\xE4hlt, statt den Hilfetext zu lesen, kommt zu dem Schluss, eine Funktion sei weggefallen, obwohl sie tats\\xE4chlich erweitert wurde.\"]}),`\n`,(0,i.jsxs)(e.h3,{id:\"die-l\\xFCcke-bei-detach-ist-real\",children:[\"Die L\\xFCcke bei \",(0,i.jsx)(e.code,{children:\"detach\"}),\" ist real\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Das ist keine blo\\xDFe Umbenennung. Es gibt in \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" nirgendwo ein detach:\"]}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"$\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" detach\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /dev/disk12\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"Error:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" 2\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" unexpected\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" arguments:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" 'detach',\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" '/dev/disk12'\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"Usage:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" [--verbose] [--stdinpassphrase] [--plist] \"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"<\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"subcommand\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\">\"})]})]})})}),`\n`,(0,i.jsxs)(e.p,{children:[\"Der Ersatz ist der \\xFCbergeordnete Befehl \",(0,i.jsx)(e.code,{children:\"diskutil\"}),\":\"]}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"$\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" eject\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /dev/disk12\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"Disk\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /dev/disk12\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ejected\"})]})]})})}),`\n`,(0,i.jsxs)(e.p,{children:[\"Das funktioniert einwandfrei \\u2013 aber beachten Sie, was das f\\xFCr ein Skript bedeutet. Aus der sauberen Symmetrie von \",(0,i.jsx)(e.code,{children:\"hdiutil attach\"}),\" / \",(0,i.jsx)(e.code,{children:\"hdiutil detach\"}),\" wird \",(0,i.jsx)(e.code,{children:\"diskutil image attach\"}),\" / \",(0,i.jsx)(e.code,{children:\"diskutil eject\"}),\", zwei unterschiedliche Unterbefehlsebenen desselben Binarys. Jede Wrapper-Funktion, die attach und detach paart, muss umstrukturiert werden \\u2013 ein simples Suchen-und-Ersetzen reicht nicht.\"]}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.img,{alt:\"Skripte f\\xFCr Disk-Images migrieren\",src:\"/images/blog/hdiutil-deprecated-macos-27-diskutil-image-migration-guide-2026/content-1.webp\",width:\"1024\",height:\"572\"})}),`\n`,(0,i.jsxs)(e.h2,{id:\"was-diskutil-image-besser-macht\",children:[\"Was \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" besser macht\"]}),`\n`,(0,i.jsx)(e.p,{children:\"Es w\\xE4re unfair, das Ganze als reinen Verlust darzustellen. Drei Dinge sind tats\\xE4chlich besser geworden.\"}),`\n`,(0,i.jsx)(e.h3,{id:\"asif-das-hdiutil-gar-nicht-erst-erstellen-kann\",children:\"ASIF, das hdiutil gar nicht erst erstellen kann\"}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" unterst\\xFCtzt das Apple Sparse Image Format. \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" nicht. Wer ASIF will \\u2013 und f\\xFCr virtuelle Festplatten auf APFS ist das genau das Format, auf das Apple hinsteuert \\u2013 kommt nur mit \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" ans Ziel.\"]}),`\n`,(0,i.jsx)(e.p,{children:\"Die Formatlisten lohnen einen Blick:\"}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"create blank --format : RAW, ASIF, UDSB          (default RAW)\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"create from  --format : ASIF, RAW, UDRO, UDSB,\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"                        UDZO, ULFO, ULMO         (default ULFO)\"})})]})})}),`\n`,(0,i.jsx)(e.h3,{id:\"es-bindet-\\xFCber-http-ein-und-erstellt-ram-disks-direkt\",children:\"Es bindet \\xFCber HTTP ein und erstellt RAM-Disks direkt\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Aus der Hilfe zu \",(0,i.jsx)(e.code,{children:\"attach\"}),\":\"]}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>',children:(0,i.jsx)(e.code,{children:(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"Supports 'ram://<size>', file paths, http[s].\"})})})})}),`\n`,(0,i.jsxs)(e.p,{children:[\"Eine RAM-Disk unter macOS zu erstellen war traditionell der umst\\xE4ndliche Zweischritt \",(0,i.jsx)(e.code,{children:\"hdiutil attach -nomount ram://<sectors>\"}),\" gefolgt von \",(0,i.jsx)(e.code,{children:\"newfs_hfs\"}),\" oder \",(0,i.jsx)(e.code,{children:\"diskutil eraseVolume\"}),\". Hier reicht ein Argument zu einem dokumentierten Flag.\"]}),`\n`,(0,i.jsx)(e.h3,{id:\"es-ist-deutlich-schneller\",children:\"Es ist deutlich schneller\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Jeff Johnson von Lapcat Software hat beide Werkzeuge Anfang August 2026 im Rahmen seiner Untersuchung der Veralterung im Benchmark verglichen und gemessen, dass \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" eine create-Operation in 40\\u201345 Sekunden abschlie\\xDFt, gegen\\xFCber 110\\u2013115 Sekunden bei \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" \\u2013 und dabei noch ein kleineres Image produziert. Das ist kein Rundungsfehler. F\\xFCr einen CI-Job, der bei jedem Commit Disk-Images baut, macht das einen sp\\xFCrbaren Unterschied.\"]}),`\n`,(0,i.jsx)(e.h2,{id:\"was-in-ihren-skripten-tats\\xE4chlich-kaputtgeht\",children:\"Was in Ihren Skripten tats\\xE4chlich kaputtgeht\"}),`\n`,(0,i.jsx)(e.p,{children:\"Veraltungswarnungen bringen Builds nicht zum Scheitern. Diese Dinge hier schon.\"}),`\n`,(0,i.jsxs)(e.h3,{id:\"1-f\\xFCr--puppetstrings-gibt-es-keinen-ersatz\",children:[\"1. F\\xFCr \",(0,i.jsx)(e.code,{children:\"-puppetstrings\"}),\" gibt es keinen Ersatz\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Das Flag \",(0,i.jsx)(e.code,{children:\"-puppetstrings\"}),\" von \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" liefert maschinenlesbare Fortschrittsausgaben \\u2013 genau das, was ein Build-System braucht. Johnson nennt dessen Fehlen als eine der bemerkenswerten L\\xFCcken. \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" bietet \",(0,i.jsx)(e.code,{children:\"--plist\"}),\" f\\xFCr strukturierte \",(0,i.jsx)(e.em,{children:\"Ergebnisse\"}),\", gibt den Fortschritt aber nur menschenlesbar aus, etwa so:\"]}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"M 6,1 C 4.354992,1 3,2.354992 3,4 v 16 c 0,1.645008 1.354992,3 3,3 h 12 c 1.645008,0 3,-1.354992 3,-3 V 8 7 A 1.0001,1.0001 0 0 0 20.707031,6.2929687 l -5,-5 A 1.0001,1.0001 0 0 0 15,1 h -1 z m 0,2 h 7 v 3 c 0,1.645008 1.354992,3 3,3 h 3 v 11 c 0,0.564129 -0.435871,1 -1,1 H 6 C 5.4358712,21 5,20.564129 5,20 V 4 C 5,3.4358712 5.4358712,3 6,3 Z M 15,3.4140625 18.585937,7 H 16 C 15.435871,7 15,6.5641288 15,6 Z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"[5% completed] [79% completed] [98% completed] [100% completed]\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{children:\"test.dmg created\"})})]})})}),`\n`,(0,i.jsxs)(e.p,{children:[\"Wenn Ihr Tooling \",(0,i.jsx)(e.code,{children:\"PERCENT:\"}),\"-Zeilen von \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" parst, hat dieser Parser nichts mehr, woran er ansetzen kann.\"]}),`\n`,(0,i.jsxs)(e.h3,{id:\"2-mehrere-create-optionen-sind-schlicht-verschwunden\",children:[\"2. Mehrere \",(0,i.jsx)(e.code,{children:\"create\"}),\"-Optionen sind schlicht verschwunden\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Johnsons Bericht listet \",(0,i.jsx)(e.code,{children:\"-[no]crossdev\"}),\", \",(0,i.jsx)(e.code,{children:\"-[no]scrub\"}),\", \",(0,i.jsx)(e.code,{children:\"-[no]anyowners\"}),\", \",(0,i.jsx)(e.code,{children:\"-skipunreadable\"}),\", \",(0,i.jsx)(e.code,{children:\"-[no]atomic\"}),\" und \",(0,i.jsx)(e.code,{children:\"-copyuid\"}),\" als ohne Entsprechung auf. Wenn Sie Images kontrolliert aus Ordnern bauen \\u2013 Installer, forensische Erfassungen, alles, bei dem Besitzrechte oder die genau enthaltenen Dateien exakt stimmen m\\xFCssen \\u2013, lesen Sie diese Liste sorgf\\xE4ltig durch. Besonders \",(0,i.jsx)(e.code,{children:\"-skipunreadable\"}),\" und \",(0,i.jsx)(e.code,{children:\"-copyuid\"}),\" sind f\\xFCr manche Packaging-Skripte unverzichtbar.\"]}),`\n`,(0,i.jsx)(e.h3,{id:\"3-das-scrubbing-verhalten-hat-sich-stillschweigend-ge\\xE4ndert\",children:\"3. Das Scrubbing-Verhalten hat sich stillschweigend ge\\xE4ndert\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Johnson berichtet, dass \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" tempor\\xE4re Dateien wie Papierkorb-Ordner automatisch ausschlie\\xDFt und sich damit verh\\xE4lt, als w\\xE4re \",(0,i.jsx)(e.code,{children:\"-scrub\"}),\" immer aktiv. \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" hat nur auf ausdr\\xFCckliche Anweisung gescrubbt. Wenn der Inhalt Ihres Images byte-identisch zu einem Quellverzeichnis sein soll, entsteht hier ohne Vorwarnung ein anderes Image.\"]}),`\n`,(0,i.jsx)(e.h3,{id:\"4-die-rechteverwaltung-schl\\xE4gt-stillschweigend-fehl\",children:\"4. Die Rechteverwaltung schl\\xE4gt stillschweigend fehl\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Das w\\xFCrde ich als Erstes testen. Johnson hat festgestellt, dass \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" an der Stelle, an der \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" bei root-eigenen Dateien einen Authentifizierungsdialog ausl\\xF6st, keine Nachfrage stellt, sondern schlicht fehlschl\\xE4gt. Ein Skript, das fr\\xFCher auf Zugangsdaten wartete, erzeugt nun ein unvollst\\xE4ndiges Image und meldet je nach Fehlerbehandlung wom\\xF6glich trotzdem Erfolg.\"]}),`\n`,(0,i.jsx)(e.p,{children:\"Wenn Sie Images aus Verzeichnissen bauen, die Dateien enthalten, die Ihnen nicht geh\\xF6ren, pr\\xFCfen Sie das Ergebnis, statt dem Exit-Code zu vertrauen.\"}),`\n`,(0,i.jsx)(e.h3,{id:\"5-das-logging-ist-d\\xFCnner\",children:\"5. Das Logging ist d\\xFCnner\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Die ausf\\xFChrliche Ausgabe von \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" ist weniger detailliert als die von \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\". Wenn ein Build um drei Uhr morgens fehlschl\\xE4gt, merken Sie genau das.\"]}),`\n`,(0,i.jsx)(e.h2,{id:\"migrieren-ohne-die-unterst\\xFCtzung-f\\xFCr-macos-26-zu-verlieren\",children:\"Migrieren, ohne die Unterst\\xFCtzung f\\xFCr macOS 26 zu verlieren\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Die meisten von uns m\\xFCssen eine Weile beide Varianten unterst\\xFCtzen. Die gute Nachricht \\u2013 und der eigentliche praktische Kern dieses Artikels \\u2013 ist, dass \",(0,i.jsx)(e.strong,{children:\"Sie nicht nach OS-Version verzweigen m\\xFCssen\"}),\", weil \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" auch unter macOS 26 existiert.\"]}),`\n`,(0,i.jsx)(e.p,{children:\"Pr\\xFCfen Sie die F\\xE4higkeit, nicht die Version:\"}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"#!/bin/bash\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Prefer diskutil image; fall back to hdiutil where unavailable.\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"if\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --help\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" >\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"/dev/null\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" 2>&1\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"; \"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"then\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"  USE_DISKUTIL\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"=\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"1\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"else\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"  USE_DISKUTIL\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"=\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"0\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"fi\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"make_image_from_folder\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"() {\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  local\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" src\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"=\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"$1\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" dst\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"=\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"$2\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  if\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" [ \"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$USE_DISKUTIL\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" -eq\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" 1\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" ]; \"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"then\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"    diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" create\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" from\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$src\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$dst\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --format\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" UDZO\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  else\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"    hdiutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" create\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -srcfolder\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$src\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -format\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" UDZO\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$dst\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  fi\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"}\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"attach_image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"() {\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  local\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" img\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"=\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"$1\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  if\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" [ \"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$USE_DISKUTIL\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" -eq\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" 1\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" ]; \"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"then\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"    diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" attach\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$img\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --nobrowse\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  else\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"    hdiutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" attach\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$img\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -nobrowse\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  fi\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"}\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"detach_device\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"() {\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"  # Note the asymmetry: detach is NOT under `diskutil image`.\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  local\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" dev\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"=\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"$1\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  if\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" [ \"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$USE_DISKUTIL\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" -eq\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" 1\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" ]; \"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"then\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"    diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" eject\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$dev\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  else\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"    hdiutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" detach\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$dev\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"  fi\"})}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"}\"})})]})})}),`\n`,(0,i.jsx)(e.p,{children:\"Pr\\xFCfen Sie anschlie\\xDFend das Ergebnis, denn genau dort verstecken sich die stillen Unterschiede:\"}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Compare what actually landed in the image against the source.\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" attach\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" build.dmg\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --nobrowse\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --mountPoint\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /tmp/verify_mnt\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"diff\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -rq\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ./src\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /tmp/verify_mnt/src\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" eject\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /tmp/verify_mnt\"})]})]})})}),`\n`,(0,i.jsxs)(e.p,{children:[\"Dieses \",(0,i.jsx)(e.code,{children:\"diff -rq\"}),\" ist der Schritt, den ich nicht auslassen w\\xFCrde. Zwischen dem permanent aktiven Scrubbing und den stillen Rechteproblemen ist ein erfolgreich gebautes Image nicht dasselbe wie ein Image, das das enth\\xE4lt, was Sie eigentlich wollten.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Wenn Sie eine Mac-Entwicklungsumgebung von Grund auf aufbauen, behandelt unser \",(0,i.jsx)(e.a,{href:\"/blog/ultimate-apple-silicon-development-environment-setup-guide-2025\",children:\"Leitfaden zur Einrichtung einer Apple-Silicon-Entwicklungsumgebung\"}),\" das umgebende Tooling, und der \",(0,i.jsx)(e.a,{href:\"/blog/mac-terminal-mastery-2025-command-line-productivity-guide\",children:\"Leitfaden zur Terminal-Beherrschung\"}),\" behandelt die Shell-Grundlagen, die diese Skripte voraussetzen.\"]}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.img,{alt:\"Inhalt von Disk-Images verifizieren\",src:\"/images/blog/hdiutil-deprecated-macos-27-diskutil-image-migration-guide-2026/content-2.webp\",width:\"1024\",height:\"572\"})}),`\n`,(0,i.jsx)(e.h2,{id:\"ein-durchgerechnetes-beispiel-von-anfang-bis-ende\",children:\"Ein durchgerechnetes Beispiel von Anfang bis Ende\"}),`\n`,(0,i.jsx)(e.p,{children:\"Hier ist ein vollst\\xE4ndiger Durchlauf unter macOS 26.5.2, damit Sie die echte Ausgabe sehen und nicht nur eine Rekonstruktion.\"}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:\"Ein Image aus einem Ordner erstellen:\"})}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"$\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" mkdir\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -p\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" src\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" && \"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"echo\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"hello\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" >\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" src/file.txt\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"$\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" create\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" from\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" src\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --format\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" UDZO\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" test.dmg\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"[5% completed] [79% completed] [98% completed] [99% completed] [100% completed]\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"test\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\".dmg\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" created\"})]})]})})}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:\"Untersuchen:\"})}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"$\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" info\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" test.dmg\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"Image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Format:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" UDZO\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"Format\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Description:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" UDIF\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" read-only\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" compressed\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\" (zlib)\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\tIdentity\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Info:\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\t\tUUID:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" 061189CB-7502-4EA6-BFE3-424442C16D10\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\tSize\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Info:\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\t\tEmpty\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Bytes:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" 3437056\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\t\tTotal\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Bytes:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" 4233216\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\tCompression\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Info:\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\t\tCompressed\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Bytes:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" 4124\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\t\tCompression\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Type:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" zlib\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\tEncryption\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Info:\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\t\tIs\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Encrypted:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" 0\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\tMaster\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Checksum\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Info:\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\t\tChecksum\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Type:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" crc32\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"\t\tChecksum\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Value:\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" c4\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" e3\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" 90\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" 4b\"})]})]})})}),`\n`,(0,i.jsxs)(e.p,{children:[\"Beachten Sie, dass \",(0,i.jsx)(e.code,{children:\"info\"}),\" das abdeckt, was fr\\xFCher \",(0,i.jsx)(e.code,{children:\"hdiutil imageinfo\"}),\", \",(0,i.jsx)(e.code,{children:\"isencrypted\"}),\" und Teile von \",(0,i.jsx)(e.code,{children:\"checksum\"}),\" getrennt geliefert haben. Es meldet die gespeicherte Pr\\xFCfsumme \\u2013 es verifiziert sie nicht. Das ist die L\\xFCcke bei \",(0,i.jsx)(e.code,{children:\"hdiutil verify\"}),\".\"]}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:\"Einbinden:\"})}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"$\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" attach\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" test.dmg\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"/dev/disk12\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"  \tGUID_partition_scheme\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"/dev/disk13s1\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"\tApple_APFS_Volume\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\"    \t/Volumes/src\"})]})]})})}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsx)(e.strong,{children:\"Aush\\xE4ngen \\u2013 mit dem anderen Befehl:\"})}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"$\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" eject\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /dev/disk12\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"Disk\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /dev/disk12\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ejected\"})]})]})})}),`\n`,(0,i.jsx)(e.h2,{id:\"verschl\\xFCsselte-images\",children:\"Verschl\\xFCsselte Images\"}),`\n`,(0,i.jsx)(e.p,{children:\"Wenn Sie Disk-Images als verschl\\xFCsselte Container nutzen, ist die Mechanik unkompliziert, aber die Optionen sind eingeschr\\xE4nkter.\"}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Create an encrypted blank image\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" create\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" blank\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --encrypt\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --size\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" 10g\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --volumeName\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Vault\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" vault.dmg\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Provide the passphrase on stdin rather than interactively\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"printf\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" '%s'\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$PASSPHRASE\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\" |\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\" diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" create\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" blank\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --encrypt\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --stdinpassphrase\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" \\\\\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"  --size\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" 10g\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --volumeName\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" Vault\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" vault.dmg\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Change the passphrase later\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" chpass\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" vault.dmg\"})]})]})})}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.code,{children:\"--encrypt\"}),\" ist als AES-256 dokumentiert, eine Wahl des Algorithmus gibt es nicht \\u2013 das ist eher eine Vereinfachung als ein Verlust, denn die \\xE4ltere verschl\\xFCsselte Encoding-Version hat Apple bereits in macOS 13 entfernt.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Das Flag \",(0,i.jsx)(e.code,{children:\"--stdinpassphrase\"}),\" ist dasjenige, das Sie in jedem Skript verwenden sollten. Schon die eigene Man-Page von \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" warnt, dass \",(0,i.jsx)(e.code,{children:\"-passphrase\"}),\" unsicher ist \\u2013 aus dem simplen Grund, dass eine Passphrase auf der Kommandozeile in der Prozesstabelle f\\xFCr jeden Benutzer der Maschine sichtbar ist.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Wenn Sie sich bei Disk-Images auf Datenschutz statt auf reinen Komfort verlassen, lohnt sich ein Blick in unseren \",(0,i.jsx)(e.a,{href:\"/blog/mac-security-privacy-guide-2026\",children:\"Leitfaden zu Mac-Sicherheit und Datenschutz\"}),\", um einzuordnen, wo ein verschl\\xFCsseltes Image im Verh\\xE4ltnis zu FileVault steht \\u2013 beide l\\xF6sen unterschiedliche Probleme, und eine verschl\\xFCsselte \",(0,i.jsx)(e.code,{children:\".dmg\"}),\" sch\\xFCtzt nichts, solange sie eingebunden ist.\"]}),`\n`,(0,i.jsx)(e.h2,{id:\"wof\\xFCr-disk-images-noch-immer-gebraucht-werden\",children:\"Wof\\xFCr Disk-Images noch immer gebraucht werden\"}),`\n`,(0,i.jsx)(e.p,{children:'Es lohnt sich zu fragen, warum das \\xFCberhaupt wichtig ist, denn \\u201EDisk-Image\" klingt nach einem Relikt, w\\xE4hrend das dazugeh\\xF6rige Tooling an mehreren Stellen still und leise tragend ist.'}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"App-Distribution.\"}),\" Die \",(0,i.jsx)(e.code,{children:\".dmg\"}),\" bleibt der Standardweg, um eine Mac-App au\\xDFerhalb des App Store auszuliefern. Ein komprimiertes, schreibgesch\\xFCtztes Image mit einem App-Bundle und einem Symlink zu \",(0,i.jsx)(e.code,{children:\"/Applications\"}),\" ist die aus Drag-and-drop-Installation bekannte Konvention. Jedes davon wird von einem Skript gebaut, das ein Disk-Image-Werkzeug aufruft.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"Verschl\\xFCsselte Container.\"}),\" Eine verschl\\xFCsselte \",(0,i.jsx)(e.code,{children:\".dmg\"}),\" ist ein portabler, in sich geschlossener Tresor, der sich als Volume einbinden l\\xE4sst und auf jedem Mac ohne Spezialsoftware funktioniert. Anders als FileVault, das eine ganze Festplatte im Ruhezustand sch\\xFCtzt, sch\\xFCtzt ein verschl\\xFCsseltes Image eine bestimmte Dateimenge, die Sie frei bewegen k\\xF6nnen \\u2013 auf einen USB-Stick, in einen Cloud-Speicher, zu einem Kollegen.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"Festplatten f\\xFCr virtuelle Maschinen.\"}),\" Hier spielt ASIF seine St\\xE4rken aus, und hier wird Apples Richtung deutlich.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"Sparsebundles f\\xFCr Netzwerk-Backups.\"}),\" Sichert Time Machine auf ein Netzwerkziel, landet das Backup in einem Sparsebundle \\u2013 einem Disk-Image, das in viele kleine Band-Dateien aufgeteilt ist, sodass nur ge\\xE4nderte Bands synchronisiert werden m\\xFCssen. Wer schon einmal so eines gepflegt hat, hat \",(0,i.jsx)(e.code,{children:\"hdiutil compact\"}),\" ausgef\\xFChrt, um Speicherplatz von gel\\xF6schten Bands zur\\xFCckzugewinnen.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"Forensik und Archivierung.\"}),\" Ein blockbasiertes Image eines Volumes mit Pr\\xFCfsumme ist die Art und Weise, wie man den exakten Zustand einer Festplatte bewahrt. \",(0,i.jsx)(e.code,{children:\"hdiutil verify\"}),\" ist die Art und Weise, wie man das sp\\xE4ter best\\xE4tigt.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"H\\xE4lt man diese Liste gegen die Migrationstabelle, fallen die L\\xFCcken nicht zuf\\xE4llig, sondern genau bei bestimmten Nutzergruppen. App-Entwickler verlieren den Lizenzvereinbarungs-Mechanismus und \",(0,i.jsx)(e.code,{children:\"-puppetstrings\"}),\". Nutzer von Backups und Sparsebundles verlieren \",(0,i.jsx)(e.code,{children:\"compact\"}),\". Nutzer aus Archivierung und Forensik verlieren \",(0,i.jsx)(e.code,{children:\"verify\"}),\". Wer nur die \\xFCblichen create-convert-attach-Arbeiten erledigt, ist unbetroffen.\"]}),`\n`,(0,i.jsx)(e.h2,{id:\"asif-das-format-das-nur-das-neue-werkzeug-erstellt\",children:\"ASIF: Das Format, das nur das neue Werkzeug erstellt\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Das Apple Sparse Image Format ist das deutlichste Signal daf\\xFCr, warum Apple die Nutzer von \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" weglocken will \\u2013 denn \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" kann es \\xFCberhaupt nicht erzeugen.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Ein Sparse-Image belegt nur f\\xFCr Bl\\xF6cke, die tats\\xE4chlich Daten enthalten, Speicherplatz. Ein 100-GB-Sparse-Image mit 10 GB an Dateien belegt auf der Festplatte etwa 10 GB und w\\xE4chst, wenn Daten hinzukommen. Das alte Sparse-Image-Format \",(0,i.jsx)(e.code,{children:\"UDSP\"}),\" und das Sparsebundle-Format \",(0,i.jsx)(e.code,{children:\"UDSB\"}),\" machten das ebenfalls, mit bekannten Problemen: Sparsebundles fragmentieren in Tausende Band-Dateien, und beide Formate gaben historisch nur schlecht Speicherplatz frei \\u2013 genau deshalb musste \",(0,i.jsx)(e.code,{children:\"hdiutil compact\"}),\" existieren.\"]}),`\n`,(0,i.jsx)(e.p,{children:\"ASIF ist gegen APFS entworfen, statt nur oben draufgesetzt zu werden, sodass die eigene Sparse-File-Unterst\\xFCtzung des Dateisystems die Arbeit \\xFCbernimmt, anstatt dass das Image-Format sie nachbildet. In der Praxis zeigt sich der Vorteil am deutlichsten bei der Virtualisierung, wo die virtuelle Festplatte einer VM eine gro\\xDFe, gr\\xF6\\xDFtenteils leere Datei ist, die sich st\\xE4ndig \\xE4ndert \\u2013 genau der Fall, der die alten Formate am h\\xE4rtesten bestraft hat.\"}),`\n`,(0,i.jsx)(e.p,{children:\"Sie k\\xF6nnen schon heute eines erstellen:\"}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# A 100GB ASIF image that occupies only what it uses\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" create\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" blank\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --format\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ASIF\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --size\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" 100g\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" \\\\\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"  --volumeName\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" VMDisk\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" vmdisk.asif\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# Convert an existing image to ASIF\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" create\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" from\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" old.dmg\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" new.asif\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --format\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" ASIF\"})]})]})})}),`\n`,(0,i.jsxs)(e.p,{children:[\"Beachten Sie, dass das Format aus der Dateiendung abgeleitet wird \\u2013 \",(0,i.jsx)(e.code,{children:\"create blank\"}),\" verwendet standardm\\xE4\\xDFig \",(0,i.jsx)(e.code,{children:\"RAW\"}),', \\u201Esofern der Image-Pfad nicht die Endung .asif oder .sparsebundle hat\". Die Datei richtig zu benennen gen\\xFCgt; ',(0,i.jsx)(e.code,{children:\"--format\"}),\" zus\\xE4tzlich anzugeben ist G\\xFCrtel und Hosentr\\xE4ger.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Der Kompromiss ist die Portabilit\\xE4t. ASIF ist neu, und ein ASIF-Image l\\xE4sst sich weder auf einem \\xE4lteren macOS noch auf etwas, das kein Mac ist, \\xF6ffnen. F\\xFCr eine VM-Festplatte oder ein lokales Arbeitsvolume ist das irrelevant. F\\xFCr alles, was Sie an eine andere Person weitergeben, nutzen Sie \",(0,i.jsx)(e.code,{children:\"UDZO\"}),\" und behalten die Kompatibilit\\xE4t.\"]}),`\n`,(0,i.jsx)(e.h2,{id:\"wo-das-in-eine-distributions-pipeline-passt\",children:\"Wo das in eine Distributions-Pipeline passt\"}),`\n`,(0,i.jsx)(e.p,{children:\"Wenn Sie eine Mac-App au\\xDFerhalb des App Store ausliefern, sitzt der Disk-Image-Schritt mitten in einer Kette \\u2013 und es lohnt sich zu sehen, wo die \\xC4nderung landet.\"}),`\n`,(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(e.pre,{className:\"shiki shiki-themes github-light github-dark\",style:{\"--shiki-light\":\"#24292e\",\"--shiki-dark\":\"#e1e4e8\",\"--shiki-light-bg\":\"#fff\",\"--shiki-dark-bg\":\"#24292e\"},tabIndex:\"0\",icon:'<svg viewBox=\"0 0 24 24\"><path d=\"m 4,4 a 1,1 0 0 0 -0.7070312,0.2929687 1,1 0 0 0 0,1.4140625 L 8.5859375,11 3.2929688,16.292969 a 1,1 0 0 0 0,1.414062 1,1 0 0 0 1.4140624,0 l 5.9999998,-6 a 1.0001,1.0001 0 0 0 0,-1.414062 L 4.7070312,4.2929687 A 1,1 0 0 0 4,4 Z m 8,14 a 1,1 0 0 0 -1,1 1,1 0 0 0 1,1 h 8 a 1,1 0 0 0 1,-1 1,1 0 0 0 -1,-1 z\" fill=\"currentColor\" /></svg>',children:(0,i.jsxs)(e.code,{children:[(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"#!/bin/bash\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"set\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -euo\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" pipefail\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"APP\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"=\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"build/MyApp.app\"'})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"DMG\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"=\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"dist/MyApp.dmg\"'})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"STAGE\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#D73A49\",\"--shiki-dark\":\"#F97583\"},children:\"=\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"$('}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"mktemp\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -d\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:')\"'})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# 1. Sign the app bundle (unchanged by any of this)\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"codesign\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --force\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --options\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" runtime\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --timestamp\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" \\\\\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"  --sign\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"Developer ID Application: Example Inc (TEAMID123)\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" \\\\\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'  \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$APP\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# 2. Stage the contents the user will see\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"cp\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -R\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$APP\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$STAGE\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'/\"'})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"ln\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -s\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" /Applications\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$STAGE\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'/Applications\"'})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# 3. Build the image \\u2014 the step this article is about\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"diskutil\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" image\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" create\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" from\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$STAGE\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$DMG\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --format\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" UDZO\"})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# 4. Sign the image itself\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"codesign\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --force\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --timestamp\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" \\\\\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\"  --sign\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"Developer ID Application: Example Inc (TEAMID123)\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" \\\\\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'  \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$DMG\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsx)(e.span,{className:\"line\",children:(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6A737D\",\"--shiki-dark\":\"#6A737D\"},children:\"# 5. Notarize and staple\"})}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"xcrun\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" notarytool\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" submit\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$DMG\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --keychain-profile\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"AC_NOTARY\"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" --wait\"})]}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"xcrun\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" stapler\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:\" staple\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$DMG\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]}),`\n`,(0,i.jsx)(e.span,{className:\"line\"}),`\n`,(0,i.jsxs)(e.span,{className:\"line\",children:[(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#6F42C1\",\"--shiki-dark\":\"#B392F0\"},children:\"rm\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#005CC5\",\"--shiki-dark\":\"#79B8FF\"},children:\" -rf\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:' \"'}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#24292E\",\"--shiki-dark\":\"#E1E4E8\"},children:\"$STAGE\"}),(0,i.jsx)(e.span,{style:{\"--shiki-light\":\"#032F62\",\"--shiki-dark\":\"#9ECBFF\"},children:'\"'})]})]})})}),`\n`,(0,i.jsx)(e.p,{children:\"Nur Schritt 3 \\xE4ndert sich. Signierung, Notarisierung und Stapling sind unbetroffen \\u2013 sie arbeiten mit dem fertigen Image, und es ist ihnen egal, welches Werkzeug es erzeugt hat.\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Zwei Dinge sind in einer echten Pipeline zu beachten. Erstens: Pr\\xFCfen Sie, ob der bereitgestellte Inhalt korrekt gelandet ist \\u2013 wegen des oben beschriebenen stillen Scrubbings und Rechteverhaltens ist ein \",(0,i.jsx)(e.code,{children:\"diff -rq\"}),\" zwischen \",(0,i.jsx)(e.code,{children:\"$STAGE\"}),\" und dem eingebundenen Ergebnis eine billige Versicherung. Zweitens: Bettet Ihr aktuelles Skript eine Lizenzvereinbarung mit \",(0,i.jsx)(e.code,{children:\"hdiutil udifrez\"}),\" ein, hat dieser Schritt keinen Ersatz und ist bereits seit macOS 12 veraltet. Behalten Sie \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" daf\\xFCr, solange es existiert, und planen Sie eine Alternative.\"]}),`\n`,(0,i.jsx)(e.h2,{id:\"h\\xE4ufige-probleme-beheben\",children:\"H\\xE4ufige Probleme beheben\"}),`\n`,(0,i.jsx)(e.h3,{id:\"diskutil-image-command-not-found-oder-der-unterbefehl-wird-nicht-erkannt\",children:'\\u201Ediskutil image: command not found\" oder der Unterbefehl wird nicht erkannt'}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"Problem\"}),\": Sie befinden sich auf einer macOS-Version \\xE4lter als 26, auf der es das Verb \",(0,i.jsx)(e.code,{children:\"image\"}),\" nicht gibt.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"L\\xF6sung\"}),\": Verwenden Sie die oben gezeigte F\\xE4higkeitspr\\xFCfung, statt etwas anzunehmen. \",(0,i.jsx)(e.code,{children:\"diskutil image --help >/dev/null 2>&1\"}),\" liefert auf Systemen ohne diese Funktion einen Wert ungleich null \\u2013 das ist eine verl\\xE4ssliche Verzweigung. Testen Sie nicht \",(0,i.jsx)(e.code,{children:\"sw_vers\"}),\" \\u2013 ob der Unterbefehl vorhanden ist, ist das, was Sie tats\\xE4chlich interessiert.\"]}),`\n`,(0,i.jsx)(e.h3,{id:\"das-image-wird-gebaut-aber-es-fehlen-dateien\",children:\"Das Image wird gebaut, aber es fehlen Dateien\"}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"Problem\"}),\": Zwei wahrscheinliche Ursachen. Entweder hat \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" Dateien \\xFCbersprungen, die es mit Ihrem Benutzer nicht lesen konnte, und nicht nach einer Authentifizierung gefragt, oder das permanent aktive Scrubbing hat Elemente entfernt, die \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" mit aufgenommen h\\xE4tte.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"L\\xF6sung\"}),\": Binden Sie das Ergebnis ein und f\\xFChren Sie ein \",(0,i.jsx)(e.code,{children:\"diff -rq\"}),\" gegen das Quellverzeichnis aus. Fehlen Dateien wegen der Besitzrechte, f\\xFChren Sie den Build mit den n\\xF6tigen Rechten aus, statt auf eine Abfrage zu warten. Verlassen Sie sich nicht allein auf den Exit-Code.\"]}),`\n`,(0,i.jsx)(e.h3,{id:\"das-parsen-des-fortschritts-ist-in-der-ci-kaputtgegangen\",children:\"Das Parsen des Fortschritts ist in der CI kaputtgegangen\"}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"Problem\"}),\": F\\xFCr \",(0,i.jsx)(e.code,{children:\"-puppetstrings\"}),\" gibt es kein \\xC4quivalent in \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\", sodass Skripte, die die maschinenlesbaren Fortschrittsangaben von \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" geparst haben, nichts mehr zu lesen haben.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"L\\xF6sung\"}),\": Verwenden Sie \",(0,i.jsx)(e.code,{children:\"--plist\"}),\" f\\xFCr das strukturierte Ergebnis und behandeln Sie den Fortschritt als nicht verf\\xFCgbar. Wenn Ihre CI konkret Fortschrittsdaten ben\\xF6tigt, ist es legitim, \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" f\\xFCr diesen Schritt zu behalten \\u2013 es ist veraltet, nicht entfernt, und es gibt kein angek\\xFCndigtes Entfernungsdatum.\"]}),`\n`,(0,i.jsx)(e.h3,{id:\"aush\\xE4ngen-nicht-m\\xF6glich--resource-busy\",children:'Aush\\xE4ngen nicht m\\xF6glich \\u2013 \\u201Eresource busy\"'}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"Problem\"}),\": Irgendetwas hat das Volume noch ge\\xF6ffnet. Das verh\\xE4lt sich genauso wie schon immer.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"L\\xF6sung\"}),\": \",(0,i.jsx)(e.code,{children:\"lsof +D /Volumes/IhrVolume\"}),\", um den Verursacher zu finden, dann \",(0,i.jsx)(e.code,{children:\"diskutil eject\"}),\". Spotlight-Indizierung und Antivirus-Scanner sind h\\xE4ufige \\xDCbelt\\xE4ter; das Einbinden mit \",(0,i.jsx)(e.code,{children:\"--nobrowse\"}),\" umgeht einen Teil davon, indem das Volume aus dem Finder herausgehalten wird.\"]}),`\n`,(0,i.jsxs)(e.h3,{id:\"eine-dmg-mit-lizenzvereinbarung-l\\xE4sst-sich-nicht-mehr-bauen\",children:[\"Eine \",(0,i.jsx)(e.code,{children:\".dmg\"}),\" mit Lizenzvereinbarung l\\xE4sst sich nicht mehr bauen\"]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"Problem\"}),\": Der Lizenzvereinbarungs-Mechanismus st\\xFCtzt sich auf \",(0,i.jsx)(e.code,{children:\"hdiutil udifrez\"}),\", das Apple bereits in macOS 12 als veraltet markiert hat und f\\xFCr das es in \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" keine Entsprechung gibt.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[(0,i.jsx)(e.strong,{children:\"L\\xF6sung\"}),\": Es gibt keinen Ersatzpfad. Verwenden Sie f\\xFCr diesen Schritt weiter \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\", solange es existiert, und planen Sie eine Distributionsmethode, die nicht auf einer eingebetteten Vereinbarung beruht. Das ist bereits seit vier Jahren absehbar \\u2013 gut zu wissen, falls Sie es erst jetzt entdecken.\"]}),`\n`,(0,i.jsx)(e.h2,{id:\"h\\xE4ufig-gestellte-fragen\",children:\"H\\xE4ufig gestellte Fragen\"}),`\n`,(0,i.jsx)(e.h3,{id:\"funktioniert-hdiutil-in-macos-27-noch\",children:\"Funktioniert hdiutil in macOS 27 noch?\"}),`\n`,(0,i.jsx)(e.p,{children:\"Ja. Es ist veraltet, nicht entfernt. Veralterung ist Apples Art, Absicht zu signalisieren und eine Frist laufen zu lassen \\u2013 keine funktionale \\xC4nderung. Nichts, was heute funktioniert, h\\xF6rt auf zu funktionieren, sobald Sie macOS 27 installieren.\"}),`\n`,(0,i.jsx)(e.h3,{id:\"wann-wird-hdiutil-tats\\xE4chlich-entfernt\",children:\"Wann wird hdiutil tats\\xE4chlich entfernt?\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Apple hat sich dazu nicht ge\\xE4u\\xDFert. Blickt man auf die eigene Historie der Man-Page, hat Apple mit diesem Werkzeug das Muster, eine Funktion in einem Release als veraltet zu markieren und sie erst eine oder mehrere Hauptversionen sp\\xE4ter zu entfernen \\u2013 \",(0,i.jsx)(e.code,{children:\"internet-enable\"}),\" und die OS-9-Dual-Fork-Unterst\\xFCtzung brauchten jeweils mindestens einen vollen Zyklus. Wer Ihnen eine konkrete Version f\\xFCr die Entfernung nennt, r\\xE4t.\"]}),`\n`,(0,i.jsx)(e.h3,{id:\"kann-ich-diskutil-image-unter-macos-26-tahoe-nutzen\",children:\"Kann ich diskutil image unter macOS 26 Tahoe nutzen?\"}),`\n`,(0,i.jsx)(e.p,{children:\"Ja, und das ist die n\\xFCtzlichste Tatsache in diesem Artikel. Verifiziert unter macOS 26.5.2 (Build 25F84). Sie k\\xF6nnen Skripte jetzt migrieren und testen, auf dem OS, das Sie bereits nutzen, statt auf macOS 27 zu warten.\"}),`\n`,(0,i.jsx)(e.h3,{id:\"ist-diskutil-image-ein-vollst\\xE4ndiger-ersatz-f\\xFCr-hdiutil\",children:\"Ist diskutil image ein vollst\\xE4ndiger Ersatz f\\xFCr hdiutil?\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Nein, heute noch nicht. F\\xFCr \",(0,i.jsx)(e.code,{children:\"verify\"}),\", \",(0,i.jsx)(e.code,{children:\"compact\"}),\", \",(0,i.jsx)(e.code,{children:\"makehybrid\"}),\" und \",(0,i.jsx)(e.code,{children:\"burn\"}),\" gibt es keine Entsprechung, und mehrere \",(0,i.jsx)(e.code,{children:\"create\"}),\"-Optionen zur genauen Steuerung, welche Dateien aufgenommen werden, fehlen. F\\xFCr den \\xFCblichen Weg \\u2013 erstellen, konvertieren, einbinden, untersuchen, Gr\\xF6\\xDFe \\xE4ndern, verschl\\xFCsseln \\u2013 ist es vollst\\xE4ndig.\"]}),`\n`,(0,i.jsx)(e.h3,{id:\"warum-hat-apple-das-gemacht\",children:\"Warum hat Apple das gemacht?\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Apple hat dazu keine Begr\\xFCndung ver\\xF6ffentlicht. Beobachtbar ist, dass \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" in Benchmarks schneller ist, kleinere Images erzeugt, das neuere ASIF-Format unterst\\xFCtzt, das \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" nicht erzeugen kann, und eine deutlich kleinere Befehlsoberfl\\xE4che bietet. Die Handhabung von Disk-Images zusammen mit dem \\xFCbrigen Speichermanagement in \",(0,i.jsx)(e.code,{children:\"diskutil\"}),\" zu konsolidieren, ist eine schl\\xFCssige Richtung. Das ist eine Interpretation der Fakten, keine Aussage von Apple.\"]}),`\n`,(0,i.jsx)(e.h3,{id:\"bricht-meine-app-wenn-sie-hdiutil-aufruft\",children:\"Bricht meine App, wenn sie hdiutil aufruft?\"}),`\n`,(0,i.jsx)(e.p,{children:\"In macOS 27 nicht. Planen Sie den Umstieg trotzdem \\u2013 und nutzen Sie die F\\xE4higkeitspr\\xFCfung, damit ein einziger Codepfad beide F\\xE4lle abdeckt, was einfacher ist, als es klingt, gerade weil der neue Befehl bereits unter macOS 26 existiert.\"}),`\n`,(0,i.jsx)(e.h2,{id:\"fazit\",children:\"Fazit\"}),`\n`,(0,i.jsxs)(e.p,{children:[\"Die Schlagzeile \\u2013 ein 25 Jahre alter Terminal-Befehl wird abgeschaltet \\u2013 stimmt, ist aber in beide Richtungen irref\\xFChrend. Sie untertreibt die \\xC4nderung f\\xFCr alle, deren Build-Skripte \",(0,i.jsx)(e.code,{children:\"verify\"}),\", \",(0,i.jsx)(e.code,{children:\"compact\"}),\", \",(0,i.jsx)(e.code,{children:\"makehybrid\"}),\" oder die feingranularen \",(0,i.jsx)(e.code,{children:\"create\"}),\"-Optionen nutzen, weil es daf\\xFCr heute keinen Weg nach vorn gibt. Und sie \\xFCbertreibt sie f\\xFCr alle anderen, weil \",(0,i.jsx)(e.code,{children:\"hdiutil\"}),\" in macOS 27 weiterhin funktioniert, Apple kein Entfernungsdatum angek\\xFCndigt hat und die Veralterung der letzte Schritt einer Beschneidung ist, die bereits seit macOS 10.15 in der eigenen Man-Page des Werkzeugs dokumentiert ist.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Das wirklich N\\xFCtzliche zu wissen ist, dass der Nachfolger nicht erst noch kommt. \",(0,i.jsx)(e.code,{children:\"diskutil image\"}),\" ist bereits jetzt auf Ihrem Mac, unter macOS 26, mit funktionierendem \",(0,i.jsx)(e.code,{children:\"create\"}),\", \",(0,i.jsx)(e.code,{children:\"attach\"}),\", \",(0,i.jsx)(e.code,{children:\"info\"}),\", \",(0,i.jsx)(e.code,{children:\"resize\"}),\" und \",(0,i.jsx)(e.code,{children:\"chpass\"}),\". Sie k\\xF6nnen diese Migration an einem Dienstagnachmittag auf dem OS erledigen, das Sie bereits haben, mit \",(0,i.jsx)(e.code,{children:\"diff -rq\"}),\" verifizieren und dann nicht mehr dar\\xFCber nachdenken.\"]}),`\n`,(0,i.jsxs)(e.p,{children:[\"Denken Sie nur daran, dass \",(0,i.jsx)(e.code,{children:\"detach\"}),\" nicht dort ist, wo Sie es erwarten.\"]}),`\n`,(0,i.jsx)(e.p,{children:(0,i.jsxs)(e.em,{children:[\"Weiterf\\xFChrende Lekt\\xFCre: \",(0,i.jsx)(e.a,{href:\"/blog/mac-terminal-mastery-2025-command-line-productivity-guide\",children:\"Terminal-Beherrschung unter macOS\"}),\", \",(0,i.jsx)(e.a,{href:\"/blog/ultimate-apple-silicon-development-environment-setup-guide-2025\",children:\"Einrichtung einer Apple-Silicon-Entwicklungsumgebung\"}),\" und \",(0,i.jsx)(e.a,{href:\"/blog/encrypted-hfs-plus-dropped-macos-28-convert-apfs-time-machine-guide-2026\",children:\"verschl\\xFCsselte HFS+-Volumes werden in macOS 28 abgeschafft\"}),\".\"]})})]})}function k(n={}){let{wrapper:e}=n.components||{};return e?(0,i.jsx)(e,{...n,children:(0,i.jsx)(c,{...n})}):c(n)}return b(f);})();\n;return Component;","toc":[{"title":"Die wichtigsten Erkenntnisse","url":"#die-wichtigsten-erkenntnisse","depth":2},{"title":"Zuerst: Selbst auf dem eigenen Mac nachprüfen","url":"#zuerst-selbst-auf-dem-eigenen-mac-nachprüfen","depth":2},{"title":"Das kam nicht aus dem Nichts","url":"#das-kam-nicht-aus-dem-nichts","depth":2},{"title":"Die Migrationstabelle","url":"#die-migrationstabelle","depth":2},{"title":"Die Überraschung bei convert","url":"#die-überraschung-bei-convert","depth":3},{"title":"Die Lücke bei detach ist real","url":"#die-lücke-bei-detach-ist-real","depth":3},{"title":"Was diskutil image besser macht","url":"#was-diskutil-image-besser-macht","depth":2},{"title":"ASIF, das hdiutil gar nicht erst erstellen kann","url":"#asif-das-hdiutil-gar-nicht-erst-erstellen-kann","depth":3},{"title":"Es bindet über HTTP ein und erstellt RAM-Disks direkt","url":"#es-bindet-über-http-ein-und-erstellt-ram-disks-direkt","depth":3},{"title":"Es ist deutlich schneller","url":"#es-ist-deutlich-schneller","depth":3},{"title":"Was in Ihren Skripten tatsächlich kaputtgeht","url":"#was-in-ihren-skripten-tatsächlich-kaputtgeht","depth":2},{"title":"1. Für -puppetstrings gibt es keinen Ersatz","url":"#1-für--puppetstrings-gibt-es-keinen-ersatz","depth":3},{"title":"2. Mehrere create-Optionen sind schlicht verschwunden","url":"#2-mehrere-create-optionen-sind-schlicht-verschwunden","depth":3},{"title":"3. Das Scrubbing-Verhalten hat sich stillschweigend geändert","url":"#3-das-scrubbing-verhalten-hat-sich-stillschweigend-geändert","depth":3},{"title":"4. Die Rechteverwaltung schlägt stillschweigend fehl","url":"#4-die-rechteverwaltung-schlägt-stillschweigend-fehl","depth":3},{"title":"5. Das Logging ist dünner","url":"#5-das-logging-ist-dünner","depth":3},{"title":"Migrieren, ohne die Unterstützung für macOS 26 zu verlieren","url":"#migrieren-ohne-die-unterstützung-für-macos-26-zu-verlieren","depth":2},{"title":"Ein durchgerechnetes Beispiel von Anfang bis Ende","url":"#ein-durchgerechnetes-beispiel-von-anfang-bis-ende","depth":2},{"title":"Verschlüsselte Images","url":"#verschlüsselte-images","depth":2},{"title":"Wofür Disk-Images noch immer gebraucht werden","url":"#wofür-disk-images-noch-immer-gebraucht-werden","depth":2},{"title":"ASIF: Das Format, das nur das neue Werkzeug erstellt","url":"#asif-das-format-das-nur-das-neue-werkzeug-erstellt","depth":2},{"title":"Wo das in eine Distributions-Pipeline passt","url":"#wo-das-in-eine-distributions-pipeline-passt","depth":2},{"title":"Häufige Probleme beheben","url":"#häufige-probleme-beheben","depth":2},{"title":"„diskutil image: command not found\" oder der Unterbefehl wird nicht erkannt","url":"#diskutil-image-command-not-found-oder-der-unterbefehl-wird-nicht-erkannt","depth":3},{"title":"Das Image wird gebaut, aber es fehlen Dateien","url":"#das-image-wird-gebaut-aber-es-fehlen-dateien","depth":3},{"title":"Das Parsen des Fortschritts ist in der CI kaputtgegangen","url":"#das-parsen-des-fortschritts-ist-in-der-ci-kaputtgegangen","depth":3},{"title":"Aushängen nicht möglich – „resource busy\"","url":"#aushängen-nicht-möglich--resource-busy","depth":3},{"title":"Eine .dmg mit Lizenzvereinbarung lässt sich nicht mehr bauen","url":"#eine-dmg-mit-lizenzvereinbarung-lässt-sich-nicht-mehr-bauen","depth":3},{"title":"Häufig gestellte Fragen","url":"#häufig-gestellte-fragen","depth":2},{"title":"Funktioniert hdiutil in macOS 27 noch?","url":"#funktioniert-hdiutil-in-macos-27-noch","depth":3},{"title":"Wann wird hdiutil tatsächlich entfernt?","url":"#wann-wird-hdiutil-tatsächlich-entfernt","depth":3},{"title":"Kann ich diskutil image unter macOS 26 Tahoe nutzen?","url":"#kann-ich-diskutil-image-unter-macos-26-tahoe-nutzen","depth":3},{"title":"Ist diskutil image ein vollständiger Ersatz für hdiutil?","url":"#ist-diskutil-image-ein-vollständiger-ersatz-für-hdiutil","depth":3},{"title":"Warum hat Apple das gemacht?","url":"#warum-hat-apple-das-gemacht","depth":3},{"title":"Bricht meine App, wenn sie hdiutil aufruft?","url":"#bricht-meine-app-wenn-sie-hdiutil-aufruft","depth":3},{"title":"Fazit","url":"#fazit","depth":2}],"estimatedTime":21}