Özet
hdiutil eylem [seçenekler]
Açıklama
hdiutil, disk imajlarını yönetmek için DiskImages çatısını kullanır. Sık kullanılan eylemler arasında attach (bağla), detach (ayır), verify (doğrula), create (oluştur), convert (dönüştür) ve compact (sıkıştır) yer alır.
Diğer eylemler şu şekildedir: help, info, burn, checksum, chpass, erasekeys, imageinfo, isencrypted, mountvol, unmount, plugins, udifrez, udifderez, resize, segment, makehybrid ve pmap.
Arka Plan
Disk imajları, diskleri emüle eden veri kapsayıcılarıdır. Diskler gibi bölümlenebilir ve biçimlendirilebilirler. Disk imajlarının birçok yaygın kullanımı, disk imajı kapsayıcısı ile içeriği arasındaki farkı belirsizleştirir; ancak disk imajlarının nasıl çalıştığını anlamak için bu ayrım kritik öneme sahiptir. "Attach" (bağlama) ve "detach" (ayırma) terimleri, disk imajlarının bir sisteme nasıl bağlandığını ve sistemden nasıl ayrıldığını ayırt etmek için kullanılır. "Mount" (bağlama/yükleme) ve "unmount" (ayırma/yüklemeden kaldırma) ise paralel dosya sistemi seçenekleridir.
Örneğin, macOS Finder'da bir disk imajına çift tıkladığınızda iki ayrı şey gerçekleşir. İlk olarak, imaj sisteme harici bir sürücü gibi "bağlanır" (attach). Ardından, çekirdek ve Disk Arbitration, tanınan dosya yapıları için yeni aygıtı araştırır. Bağlanması gereken herhangi bir dosya yapısı keşfedilirse, ilişkili birimler bağlanacak ve masaüstünde görünecektir.
Disk imajlarını kullanırken, bir işlemin disk imajı kapsayıcısının bloklarına mı yoksa imajın (genellikle dosya odaklı) içeriğine mi uygulandığını her zaman göz önünde bulundurun. Örneğin, hdiutil verify, salt okunur bir disk imajında depolanan blokların oluşturulduğundan beri değişmediğini doğrular. İmaj içinde depolanan dosya sisteminin kendi içinde tutarlı olup olmadığını kontrol etmez (diskutil verifyVolume işleminin yapacağı gibi). Öte yandan, hdiutil create -srcfolder bir disk imajı kapsayıcısı oluşturur, içine bir dosya sistemi yerleştirir ve ardından belirtilen dosyaları yeni dosya sistemine kopyalar.
Ortak Seçenekler
Aşağıdaki seçenek açıklamaları tüm eylemler için geçerlidir:
-verbose ayrıntılı bilgi ver: ek ilerleme çıktısı ve hata teşhis bilgileri üretir.: Bu seçenek, kullanıcının belirli bir işlemin neden başarısız olduğunu anlamasına yardımcı olabilir. En azından, belirtilen herhangi bir imajın araştırılması detaylandırılacaktır.-quiet: standart çıktıyı (stdout) ve standart hatayı (stderr) kapatır, başarı veya başarısızlığı belirtmek için yalnızca hdiutil'in çıkış durumunu bırakır. Hiçbir /dev girdisi veya bağlama noktası yazdırılmaz. -debug ve -verbose seçenekleri -quiet seçeneğini devre dışı bırakır.-debug: çok ayrıntılı bilgi verir. Bu seçenek, büyük miktarda ilerleme bilgisine ihtiyaç duyulduğunda kullanışlıdır. Mac OS X 10.6'dan itibaren -debug seçeneği -verbose seçeneğini etkinleştirir.
Birçok hdiutil eylemi aşağıdaki seçenekleri destekler:
-plist: sonuç çıktısını plist formatında sağlar. hdiutil'i çağıran diğer programların, insan tarafından okunabilir çıktıyı ayrıştırmaya çalışmak yerine -plist kullanması beklenir. Normal çıktı tutarlıdır ancak genellikle yapılandırılmamıştır.-puppetstrings: başka bir programın ayrıştırması kolay olan ilerleme çıktısı sağlar. YÜZDE çıktıları, hdiutil'in tamamlanması belirsiz bir süre alacak bir işlem gerçekleştirdiği anlamına gelen -1 değerini içerebilir. hdiutil'in ilerlemesini yorumlamaya çalışan tüm programlar -puppetstrings kullanmalıdır.
-srcimagekey anahtar=değer disk imajı tanıma sistemi için bir anahtar/değer çifti belirtir. (-imagekey normalde bir eş anlamlıdır)
-tgtimagekey anahtar=değer oluşturulan herhangi bir imaj için bir anahtar/değer çifti belirtir. (girdi imajı yoksa -imagekey eş anlamlıdır).
-encryption [AES-128|AES-256] belirli bir şifreleme türünü veya belirtilmemişse varsayılan şifreleme algoritmasını belirtir. OS X 10.7'den itibaren varsayılan algoritma, 128 bitlik bir anahtarla 512 baytlık bloklar üzerinde CBC modunda çalışan AES şifresidir.
-stdinpass: standart girdiden null sonlandırmalı bir geçiş parolası okur. Standart girdi bir tty ise, geçiş parolası readpassphrase(3) ile okunur. Aksi takdirde, parola stdin'den okunur. -stdinpass, kullanımdan kaldırılan -passphrase seçeneğinin yerini alır. -passphrase güvensizdir çünkü argümanı ps(1) çıktısında görünür ve bu da sistemdeki diğer kullanıcılar ve süreçler tarafından görünür olmasına neden olur. ÖRNEKLER'e bakın.-agentpass: geçiş parolası istemek için varsayılan davranışı zorlar. Hem geçiş parolası hem de bir ortak anahtar ile korunan bir imaj oluşturmak için -pubkey ile birlikte kullanışlıdır.
-recover anahtarlık_dosyası imaj oluşturulduğunda -certificate ile belirtilen sertifikaya karşılık gelen gizli anahtarı içeren bir anahtarlık belirtir.
-certificate sertifika_dosyası şifrelenmiş bir imaj için ikincil bir erişim sertifikası belirtir. sertifika_dosyası, Anahtarlık Erişimi (Keychain Access) veya openssl(1) tarafından oluşturulabilen DER kodlu sertifika verisi olmalıdır.
-pubkey PK1,PK2,...,PKn oluşturulan şifreli imajı korumak için kullanılacak, onaltılık karmaları (hexadecimal hash) ile tanımlanan ortak anahtarların bir listesini belirtir.
-cacert sertifika: bir sertifika yetkilisi sertifikası belirtir. sertifika, bir PEM dosyası veya c_rehash(1) tarafından işlenmiş bir sertifika dizini olabilir. Ayrıca curl(1) içindeki --capath ve --cacert seçeneklerine bakın.-insecurehttp: SSL ana makine doğrulama hatalarını yok sayar. Uygun sertifikaların mevcut olmadığı kendinden imzalı sunucular için veya sunucu adı sertifikadakiyle eşleşmediğinde bir sunucuya erişim istendiğinde kullanışlıdır.
-shadow [gölge_dosyası] Birincil imaj dosyasındaki verilerle birlikte bir gölge dosyası kullanır. Bu seçenek, orijinal imajın değiştirilmesini önler ve salt okunur imajların yazılabilir olarak bağlanmasına izin verir. İmajdan bloklar okunurken, gölge dosyasında mevcut olan bloklar, temel imajdaki blokların yerine geçer. Bağlı bir aygıta yazılan tüm veriler gölge dosyasına yönlendirilecektir. Belirtilmemişse, gölge_dosyası varsayılan olarak image.shadow olur. Gölge dosyası mevcut değilse oluşturulur. Girdi olarak imaj alan hdiutil eylemleri -shadow, -cacert ve -insecurehttp seçeneklerini kabul eder.
İmaj oluşturan eylemler, uzantı halihazırda mevcut değilse, dosya adlarına otomatik olarak doğru uzantıyı ekler. Oluşturma motoru ayrıca sağlanan dosya adının uzantısını inceler ve davranışını buna göre değiştirir. Örneğin, sağlanan dosya adına .sparsebundle uzantısını ekleyerek -type SPARSEBUNDLE belirtmeden bir sparse bundle imajı oluşturulabilir.
Eylemler
Her eylem, açıklaması ve bağımsız argümanları ile listelenmiştir. Eylemlere iletilen argümanlar herhangi bir sırayla iletilebilir. Bir sektör 512 bayttır.
help Her eylem için minimum kullanım bilgisini görüntüler. hdiutil eylem -help, o eylem için temel kullanım bilgisini sağlayacaktır.
attach imaj [seçenekler] bir disk imajını bir aygıt olarak bağlar. attach, sanki bağlamış gibi halihazırda bağlı olan bir imaj hakkında bilgi döndürür. İlişkili herhangi bir birim bağlanmamışsa (ve bağlama engellenmemişse), yeniden bağlanacaktır. mount, attach için kötü adlandırılmış bir eş anlamlıdır. ARKA PLAN bölümüne bakın.
Varsayılan olarak sistem, disk imajları gibi güvenilmeyen aygıtlar tarafından desteklenen dosya sistemlerine nosuid ve quarantine gibi ek bağlama seçenekleri uygular. İZİNLER VE SAHİPLER bu tür dosya sistemlerinin davranışını açıklar ve ÖRNEKLER varsayılan davranışların bazılarının nasıl geçersiz kılınacağını gösterir.
attach çıktısı Mac OS X 10.0'dan beri (o zamanlar hdid(8) olarak adlandırılsa da) kararlıdır ve program tarafından okunabilir olması amaçlanmıştır. Bir /dev düğümü, bir sekme karakteri, bir içerik ipucu (varsa), başka bir sekme karakteri ve bir bağlama noktası (herhangi bir dosya sistemi bağlanmışsa) oluşur. İçerik ipuçları bölüm verilerinden türetildiğinden, GUID Bölümleme Tablosu türleri sızabilir. "48465300-0000-11AA-AA11-0030654" gibi yaygın GUID'ler insan tarafından okunabilir karşılıklarıyla eşlenir (burada "Apple_HFS").
Ortak seçenekler: -encryption, -stdinpass, -recover, -imagekey, -shadow, -puppetstrings ve -plist.
Seçenekler: -readonly oluşturulan aygıtı salt okunur olmaya zorlar -readwrite DiskImages çatısının belirli bir imajı salt okunur olarak bağlama kararını geçersiz kılmaya çalışır. Örneğin, bir HFS+/ISO hibrit CD imajındaki HFS+ dosya sistemini değiştirmek için -readwrite kullanılabilir. -nokernel bir yardımcı süreç kullanarak bağlar. Bu, Mac OS X 10.5'ten itibaren yine varsayılan davranıştır. -kernel yardımcı bir süreç olmadan bu imajı bağlamaya çalışır; desteklenmiyorsa başarısız olur. Çekirdek içinde yalnızca UDRW, UDRO, UDZO, ULFO ve UDSP imajları desteklenir. Şifreleme ve HTTP, çekirdek sürücüsü tarafından desteklenir. -notremovable bu imajın ayrılmasını engeller. Bu seçeneği yalnızca root kullanabilir. -notremovable ile bağlanmış bir imajı temiz bir şekilde ayırmak için sistemi yeniden başlatmak gerekir.
-mount required|optional|suppressed
imajdaki dosya sistemlerinin bağlanıp bağlanmayacağını belirtir. Varsayılan değer required'dır (hiçbir dosya sistemi bağlanmazsa attach başarısız olur).
-nomount -mount suppressed ile aynıdır.
-mountroot yol birimleri /Volumes yerine yol'un alt dizinlerine bağlar. yol mevcut olmalıdır. Tam bağlama noktası yolları MNAMELEN karakterden az olmalıdır (Mac OS X 10.6'da 90'dan 1024'e çıkarılmıştır).
-mountrandom yol -mountroot gibidir, ancak bağlama noktası dizin adları mkdtemp(3) ile rastgele hale getirilir.
-mountpoint yol yalnızca tek bir birim olduğunu varsayarak, bunu /Volumes yerine yol konumuna bağlar. Bir sistem yöneticisinin /etc/fstab dosyasını düzenleyerek belirli birimlerin belirli dosya sistemi konumlarında otomatik olarak bağlanmasını nasıl sağlayabileceğini öğrenmek için fstab(5) kılavuzuna bakın.
-nobrowse macOS Finder gibi uygulamalarda birimleri görünmez hale getirir.
-owners on|off herhangi bir dosya sistemindeki sahiplerin dikkate alınıp alınmayacağını belirtir.
-drivekey anahtar=değer
IOKit kayıt defterindeki aygıtta ayarlanacak bir anahtar/değer çifti belirtir.
-section alt_belirteç
Bir disk imajının alt bölümünü bağlar. alt_belirteç, 0 tabanlı sektör cinsinden
Aşağıdaki seçenekler, com.apple.frameworks.diskimages tercihler alanında karşılık gelen öğelere sahiptir ve bu nedenle mevcut tercihleri geçersiz kılmak için hem olumlu hem de olumsuz şekilde sunulabilir.
-[no]verify imajı doğrula[ma]. Varsayılan olarak, hdiutil attach, sağlama toplamı içeren imajları bağlamadan önce akıllıca doğrulamaya çalışır. hdiutil doğruladığı bir imaja yazabiliyorsa, attach imajla birlikte bir öznitelik depolar, böylece zaman damgası değişene kadar tekrar doğrulanmaz. Geriye dönük uyumluluğu korumak için hdid(8), imajları bağlamadan önce doğrulamaya çalışmaz. Tercihler anahtarları: skip-verify, skip-verify-remote, skip-verify-locked, skip-previously-verified -[no]ignorebadchecksums hatalı sağlama toplamlarının yok sayılıp sayılmayacağını belirtir. Varsayılan davranış, hatalı bir sağlama toplamı algılandığında işlemi yarıda kesmektir. Tercihler anahtarı: ignore-bad-checksums -[no]autoopen bir imajı bağladıktan sonra birimleri Finder'da otomatik olarak aç[ma]. Varsayılan olarak, salt okunur bir disk imajına çift tıklamak, elde edilen birimin Finder'da açılmasına neden olur. hdiutil varsayılan olarak -noautoopen kullanır. -[no]autoopenro salt okunur birimleri otomatik olarak aç[ma]. Tercihler anahtarı: auto-open-ro-root -[no]autoopenrw okunur/yazılır birimleri otomatik olarak aç[ma]. Tercihler anahtarı: auto-open-rw-root -[no]autofsck bir disk imajını bağlamadan önce otomatik dosya sistemi kontrolünü zorla[ma]. Varsayılan olarak, yalnızca fsck testinden geçmemiş karantinaya alınmış imajlar (örneğin internetten indirilenler) kontrol edilir. Tercihler anahtarı: auto-fsck
detach aygıt_adı [-force] bir disk imajını ayırır ve ilişkili tüm süreçleri sonlandırır. aygıt_adı kısmi bir /dev düğüm yoludur (örneğin "disk1"). Mac OS X 10.4'ten itibaren aygıt_adı bir bağlama noktası da olabilir. Disk Arbitration çalışıyorsa, detach bunu kullanarak tüm dosya sistemlerini ayıracak ve imajı devreden çıkaracaktır. Çalışmıyorsa, detach tüm dosya sistemlerini doğrudan ayırmaya ve imajı devreden çıkarmaya çalışacaktır (yani ‘eject’ ioctl kullanarak). Disk Arbitration çalışmıyorsa, imajı ayırmadan önce dosya sistemlerini umount(8) ile ayırmak gerekebilir. eject, detach için bir eş anlamlıdır. Genel kullanımda detach, diskutil(8) eject işlemine çok benzer.
Seçenekler: -force bağlı birimlerdeki açık dosyaları vb. yok sayar.
verify imaj [seçenekler] bir "salt okunur" veya "sıkıştırılmış" imajın sağlama toplamını hesaplar ve bunu imajda saklanan değerle doğrular. Okunur/yazılır imajlar sağlama toplamı içermez ve bu nedenle doğrulanamaz. verify eylemi; ortak seçenekler olan -encryption, -stdinpass, -srcimagekey, -puppetstrings ve -plist seçeneklerini kabul eder.
create boyut_belirteci imaj verilen boyutta veya sağlanan verilerden yeni bir imaj oluşturur. imaj zaten mevcutsa, -ov belirtilmelidir, aksi takdirde create başarısız olur. Platformlar arası bir CD veya DVD yapmak için bunun yerine makehybrid kullanın. Ayrıca aşağıdaki ÖRNEKLER bölümüne bakın.
Belirtilen boyut, oluşturulacak imajın boyutudur. Dosya sistemi ve bölüm düzeni ek yükü (Intel makinelerde varsayılan GPTSPUD düzeni için 80 sektör), imajdaki dosya sistemi ve kullanıcı verileri için kullanılamayabilir. Boyut belirteçleri: -size ??b|??k|??m|??g|??t|??p|??e İmajın boyutunu, tera-, peta- ve exa-bayt boyutlarının eklenmesiyle mkfile(8) tarzında belirtir (burada 'b' bayt değil, sektör sayısını belirtir). Daha büyük boyutlar, büyük sparse imajlar için kullanışlıdır. -sectors sektör_sayısı İmaj dosyasının boyutunu 512 baytlık sektörler halinde belirtir. -megabytes boyut İmaj dosyasının boyutunu megabayt (1024*1024 bayt) cinsinden belirtir.
-srcfolder kaynak kaynak içeriğini dosya dosya imaj içerisine kopyalayarak hedef üzerinde yeni (teorik olarak birleştirilmiş/defragged) bir dosya sistemi oluşturur. Sonuç olarak elde edilen imajın minimum miktarda kullanılmayan alana sahip olacağı için asr(8) ile kullanılması önerilir. Boyutu, kaynak verilerinin boyutu artı dosya sistemi ek yükü için bir miktar dolgudan ibaret olacaktır. İmaj biriminin dosya sistemi türü, -fs ile geçersiz kılınmadığı sürece, kaynağınkiyle mümkün olduğunca yakından eşleşecektir. -size gibi diğer boyut belirteçleri, kaynak içeriğine dayalı varsayılan boyut hesaplamasını geçersiz kılarak elde edilen dosya sisteminde daha fazla veya daha az boş alan kalmasına olanak tanır. -srcfolder birden fazla kez belirtilebilir; bu durumda imaj birimi, belirtilen her bir dosya sistemi nesnesinin bir kopyası ile en üst düzeyde doldurulacaktır. -srcdir bir eş anlamlıdır. -srcdevice aygıt yeni bir imaj oluşturmak için aygıt bloklarının kullanılması gerektiğini belirtir. İmaj boyutu aygıt boyutuyla eşleşecektir. Boyutu ayarlanabilir dosya sistemlerinin ve yazılabilir imajların boyutunu ayarlamak için resize kullanılabilir. Hem -srcdevice hem de -srcfolder, bir diskte bozuk bloklar varsa hatalarla karşılaşabilir. Bu sorunu aşmanın bir yolu, sürücünün bozuk blokları yeniden haritalandıracağı umuduyla söz konusu dosyaların üzerine yazmaktır. Veri kaybolacaktır ancak imaj oluşturma işlemi sonrasında başarıyla tamamlanacaktır. -srcdevice kullanılırken dosya sistemi seçenekleri (-fs, -volname, -stretch veya -size gibi) geçersizdir ve yok sayılır.
APFS ile, tek bir APFS birimi olan bir aygıttan imaj almak geçersizdir. Geçerli bir APFS disk imajı oluşturmak için aygıtın bir APFS kapsayıcısı olması veya bir APFS kapsayıcı bölümü içermesi gerekir.
Ortak seçenekler: -encryption, -stdinpass, -certificate, -pubkey, -imagekey, -tgtimagekey, -puppetstrings ve -plist.
-imagekey di-sparse-puma-compatible=TRUE ve -imagekey di-shadow-puma-compatible=TRUE seçenekleri sırasıyla Mac OS X 10.1 üzerinde bağlanabilen sparse ve shadow imajları oluşturacaktır.
Genel seçenekler: -align hizalama nihai veri bölümünün hizalanacağı bir boyut belirtir. Varsayılan değer 4K'dır.
-type UDIF|SPARSE|SPARSEBUNDLE -type, create eylemine özgüdür ve boş okunur/yazılır imajların formatını belirtmek için kullanılır. Önceden var olan içerikle bir imaj doldurulurken nihai salt okunur imaj formatını belirtmek için kullanılan -format seçeneğinden bağımsızdır.
UDIF varsayılan türdür. Belirtilirse, belirtilen boyutta bir UDRW oluşturulacaktır. SPARSE bir UDSP oluşturur: veriyle dolduruldukça genişleyen, okunur/yazılır tek dosyalık bir imaj. SPARSEBUNDLE bir UDSB oluşturur: bir dizin paketi (directory bundle) tarafından desteklenen okunur/yazılır bir imaj.
Varsayılan olarak UDSP imajları her seferinde bir megabayt büyür. 10.5'te sunulan UDSB imajları, üzerlerine yazıldıkça büyüyen 8 MB'lık bant dosyaları (band files) kullanır. -imagekey sparse-band-size=boyut seçeneği, imaj her büyüdüğünde eklenecek 512 baytlık sektörlerin sayısını belirtmek için kullanılabilir. SPARSEBUNDLE için geçerli değerler 2048 ila 16777216 sektör (1 MB ila 8 GB) arasında değişir.
Bir SPARSE imajın maksimum boyutu 128 petabayttır; SPARSEBUNDLE için maksimum boyut 8 exabaytın hemen altındadır (2^63 - 512 bayt). Her iki sparse imaj türünde depolanabilecek veri miktarı, ek olarak imajdaki dosya sistemi ve herhangi bir bölüm haritası ile sınırlıdır. compact, APFS veya HFS+ dosya sistemlerini barındıran sparse imajlardaki kullanılmayan bantları geri kazanabilir. resize ise yalnızca bir sparse imajın sanal boyutunu değiştirecektir. Ayrıca aşağıdaki KALICI SPARSE İMAJLARIN KULLANIMI bölümüne bakın.
-fs dosya_sistemi dosya_sistemi seçeneğinin HFS+, HFS+J (JHFS+), HFSX, JHFS+X, APFS, FAT32, ExFAT veya UDF gibi seçeneklerden biri olduğu yerdir. Desteklenen dosya sistemlerinin tam listesi create -help çıktısında bulunabilir. -fs, belirtilen türdeki bir dosya sisteminin imaja yazılmasına neden olur. Varsayılan dosya sistemi APFS'dir. -partitionType ve/veya -layout belirtilmiş ancak -fs belirtilmemişse hiçbir dosya sistemi oluşturulmayacaktır. -fs, bölüm şemasını ve türünü uygun şekilde değiştirebilir. -fs herhangi bir boyut ayarlaması yapmaz: imaj belirtilen dosya sistemi için yanlış boyuttaysa create başarısız olur. -srcdevice kullanılırken -fs geçersizdir ve yok sayılır. -volname birim_adı Yeni oluşturulan dosya sistemi birim_adı olarak adlandırılacaktır. Varsayılan, kullanılan dosya sistemine bağlıdır; Hem HFS+ hem de APFS'de varsayılan birim adı ‘untitled’dır. -srcdevice kullanılırken -volname geçersizdir ve yok sayılır. -uid kullanıcı_kimliği yeni oluşturulan birimin kök dizini, verilen sayısal kullanıcı kimliğine ait olacaktır. 99, sihirli ‘unknown’ (bilinmeyen) kullanıcıyla eşleşir (bkz. İZİNLER VE SAHİPLER). -gid grup_kimliği yeni oluşturulan birimin kök dizini, verilen sayısal grup kimliğine ait olacaktır. 99, ‘unknown’ ile eşleşir. -mode mod yeni oluşturulan birimin kök dizini, (oktal tabanda) mod değerine sahip olacaktır. Varsayılan mod, -srcfolder belirtilmediği sürece dosya sisteminin newfs programı tarafından belirlenir; belirtilmişse varsayılan mod, belirtilen dosya sistemi nesnesinden türetilir. -[no]autostretch birim boyutu auto-stretch-size eşiğini (varsayılan: 256 MB) aştığında, geriye dönük uyumlu esnetilebilir birimlerin otomatik olarak oluşturulmasını engelle[me]. Ayrıca bkz. asr(8). -stretch maksimum_esneme -stretch, HFS+ dosya sistemi verilerini, daha sonra eski sistemlerde (yalnızca önceden tanımlanmış sınırlar içinde esneyebilen) hdiutil resize veya asr(8) kullanılarak esnetilebilecek şekilde başlatır. maksimum_esneme, -size gibi belirtilir. -srcdevice kullanılırken -stretch geçersizdir ve yok sayılır. -fsargs newfs_argümanları -fs ile ima edilen newfs programına iletilecek ek argümanlar. HFS+ örneğinde olduğu gibi, newfs_hfs(8) dosya sisteminin veri yapıları tarafından kullanılan alan miktarını kontrol edebilen bir dizi seçeneğe sahiptir. -layout düzen İmajın bölüm düzenini belirtir. düzen, MediaKit.framework tarafından desteklenen herhangi bir şey olabilir. NONE, bölüm haritası olmayan bir imaj oluşturur. Böyle bir imaj bağlandığında, tek bir /dev girdisi oluşturulur (örneğin /dev/disk1).
‘SPUD’, tek bir girdiye sahip bir DDM ve Apple Bölüm Şeması bölüm haritasının yazılmasına neden olur. ‘GPTSPUD’ benzer bir imaj oluşturur ancak bunun yerine GUID Bölüm Şeması haritası kullanır. Bağlandığında, veri bölümü olarak dilim 1 (GPT) veya dilim 2 (APM) ile birden fazla /dev girdisi oluşturulacaktır (örneğin /dev/disk1, /dev/disk1s1, /dev/disk1s2).
-fs tarafından geçersiz kılınmadığı sürece, varsayılan düzen ‘GPTSPUD’dır (PPC sistemleri Mac OS X 10.6'dan önce ‘SPUD’ kullanıyordu). Diğer düzenler arasında ‘MBRSPUD’ ve ‘ISOCD’ yer alır. create -help tüm desteklenen düzenleri listeler. -library paket alternatif bir düzen kütüphanesi belirtir. Varsayılan, MediaKit'in MKDrivers.bundle paketidir. -partitionType bölüm_türü Tek bölümlü bir disk imajındaki bölümün türünü değiştirir.
-ov mevcut bir dosyanın üzerine yazar. Varsayılan davranış, mevcut dosyaların üzerine yazmamaktır. -attach imajı oluşturduktan sonra bağlar. -fs aracılığıyla hiçbir dosya sistemi belirtilmemişse, bağlama işlemi varsayılan attach -mount required davranışına göre başarısız olur.
Kaynaktan imaj alma seçenekleri (-srcfolder ve -srcdevice için): -format format Nihai imaj formatını belirtir. Bir kaynak belirtildiğinde varsayılan format UDZO'dur. format, convert tarafından kullanılan format parametrelerinden herhangi biri olabilir.
-srcdevice seçeneğine özgü seçenekler: -segmentSize boyut_belirteci Dilimli imajların kullanımdan kaldırıldığını unutmayın. İmajın boyut_belirteci değerinden (bu değer -size kurallarına uyar) daha büyük olmayan dilimler halinde yazılması gerektiğini belirtir.
-srcfolder seçeneğine özgü seçenekler: -[no]crossdev kaynak dosya sistemindeki aygıt sınırlarını geç[me]. -[no]scrub bir birimin imajını alırken geçici dosyaları atla[ma]. Kaynak, bağlı bir birimin kökü olduğunda temizleme (scrubbing) varsayılan davranıştır. Temizlenen öğeler arasında çöpler, geçici dizinler, takas dosyaları vb. yer alır. -[no]anyowners hdiutil'i çağıran kullanıcı imajdaki dosyalar için doğru dosya sahipliğini sağlayamazsa işlemin başarısız olmasını engelle[me]. -skipunreadable kopyalayan kullanıcı tarafından okunamayan ve kimlik doğrulaması yapılamayan dosyaları atlar. -[no]atomic dosyaları geçici bir konuma kopyalayıp ardından hedeflerine yeniden adlandır[ma]. Atomik kopyalama varsayılan davranıştır. Atomik olmayan kopyalama biraz daha hızlı olabilir. -copyuid kullanıcı kopyalama işlemini belirtilen kullanıcı olarak gerçekleştirir. Root ayrıcalığı gerektirir. Kullanıcı gerekli sahiplerle dosyaları okuyamaz veya oluşturamazsa, işlemin başarısız olmasını önlemek için -anyowners veya -skipunreadable kullanılmalıdır.
Varsayılan olarak, create -srcfolder kaynak dizindeki izinleri korumaya çalışır. Okunamayan bir dos, imajı oluşturan kullanıcıdan başkasına ait bir dosya veya kopyalayan kullanıcının içinde olmadığı bir gruptaki SGID dosyası tespit ederse kimlik doğrulaması ister.
convert imaj -format format -o cikis_dosyasi imajı format türüne dönüştürür ve sonucu cikis_dosyasi dosyasına yazar.
create eyleminde olduğu gibi, doğru dosya adı uzantısı yalnızca sağlanan adın bir parçası değilse eklenecektir. Format şunlardan biridir:
UDRW - UDIF okunur/yazılır imaj UDRO - UDIF salt okunur imaj UDCO - UDIF ADC sıkıştırılmış imaj UDZO - UDIF zlib sıkıştırılmış imaj ULFO - UDIF lzfse sıkıştırılmış imaj (yalnızca OS X 10.11+) ULMO - UDIF lzma sıkıştırılmış imaj (yalnızca macOS 10.15+) UDBZ - UDIF bzip2 sıkıştırılmış imaj (kullanımdan kaldırıldı) UDTO - Dışa aktarım için DVD/CD-R ana imajı UDSP - SPARSE (içerikle büyür) UDSB - SPARSEBUNDLE (içerikle büyür; paket destekli) UFBI - MD5 sağlama toplamına sahip tam UDIF imajı
Bazı formatların sunduğu sıkıştırmaya ek olarak, UDIF salt okunur formatı HFS, APFS, ExFAT ve MS-DOS (FAT, FAT32) dosya sistemlerindeki kullanılmayan alanları atlar. UDZO için, -imagekey zlib-level=değer seçeneği, zlib sıkıştırma seviyesinin gzip(1) kılavuzunda olduğu gibi belirtilmesine olanak tanır. Varsayılan sıkıştırma seviyesi 1'dir (en hızlı).
Ortak seçenekler: -encryption, -stdinpass, -certificate, -srcimagekey, -tgtimagekey, -shadow ve ilgili seçenekler, -puppetstrings ve -plist.
Diğer seçenekler: -align hizalama Varsayılan değer 4'tür (2K). -pmap bölüm haritası ekler. Bölümlenmemiş bir UDIF dönüştürülürken varsayılan değer true'dur. -segmentSize [boyut_belirteci] Dilimli imajların kullanımdan kaldırıldığını unutmayın. cikis_dosyasi yazılırken boyut_belirteci boyutunda dilimlere bölünmeyi belirtir. Yalnızca -segmentSize belirtildiğinde varsayılan boyut_belirteci, UDTO imajları için 210241024 (1 GB değerinde sektör) ve diğer tüm imaj türleri için 410241024 (2 GB'lık dilimler) şeklindedir. boyut_belirteci, create eyleminin -size bayrağı gibi ??b|??k|??m|??g|??t|??p|??e şeklinde de belirtilebilir. -tasks gorev_sayisi Bir imajı sıkıştırılmış bir formata dönüştürürken, sıkıştırma işlemi için kullanılacak iş parçacığı (thread) sayısını belirtir. Varsayılan değer, mevcut sistemde aktif olan işlemci sayısıdır.
burn imaj İmajı, bağlı bir yazıcı aygıttaki optik medyaya yazar. Her durumda, uygun bir sürücü bulunduğunda medya için bir istem yazdırılacaktır. Ortak seçenekler: -shadow ve ilgili seçenekler, -srcimagekey, -encryption, -puppetstrings ve -stdinpass.
Diğer seçenekler: -device yazma işlemi için kullanılacak bir aygıt belirtir. -list seçeneğine bakın. -testburn lazeri açmaz (lazer varsayılan olarak açıktır). -anydevice Apple tarafından nitelendirilmemiş aygıtlara yazmaya açıkça izin verir (Mac OS X 10.4'ten itibaren burn varsayılan olarak herhangi bir aygıta yazacağı için geriye dönük uyumluluk adına korunmuştur).
-[no]eject yazma işleminden sonra diski çıkar[ma]. Varsayılan davranış diski çıkarmaktır. -[no]verifyburn yazma işleminden sonra disk içeriğini doğrula[ma]. Varsayılan davranış doğrulamaktır.
-[no]addpmap gerekirse bölüm haritası ekle[me]. Bazı dosya sistemi türleri, bir bölüm haritası içine alınmadıkça optik medyada depolandıklarında tanınmayacaktır. Bu seçenek, optik medyaya yazıldığında tanınması için bir bölüm haritasına ihtiyaç duyan herhangi bir yalın dosya sistemine bir bölüm haritası ekleyecektir. Varsayılan davranış, gerekirse bölüm haritasını eklemektir.
-[no]skipfinalfree son boş bölümü atla[ma]. İmaj üzerinde son bölüm olarak bir Apple_Free bölümü belirten bir bölüm haritası varsa, bu Apple_Free bölümü yazılmayacaktır. Yazılan bölüm haritası yine de boş alana atıfta bulunacaktır. Varsayılan davranış, son boş bölümün yazılmasını atlamaktır.
-[no]optimizeimage dosya sistemini yazma işlemi için optimize et[me]. Optimizasyon, bir HFS+ biriminin boyutunu birimde barındırılan verilerin boyutuna kadar düşürebilir. Bu seçenek, diske yazılanları değiştirecektir; öyle ki disk, kaynaklandığı imajdan farklı bir sağlama toplamına sahip olacaktır. Varsayılan davranış, disk imajının tüm bloklarını (sondaki Apple_Free hariç) yazmaktır.
-[no]forceclose yazma işleminden sonra diskin kapatılmasını zorla[ma]. Diske daha fazla yazma yapılması imkansız olacaktır. Varsayılan davranış diski kapatmamaktır.
-nounderrun Varsayılan arabellek yetersizliği korumasını (buffer underrun protection) devre dışı bırakır.
-[no]synthesize Disk için hibrit bir dosya sistemi sentezle[me]. Varsayılan davranış, kaynak imajın bloklarının yazılması geçerli bir diskle sonuçlanmayacaksa yeni bir (HFS+/ISO) dosya sistemi oluşturmaktır.
-speed x_faktoru 1, 2, 4, 6, ... ‘max’ İstenen "x-faktörü". Örneğin 8, sürücüye "8x hızında" yazması talimatının verileceği anlamına gelir. ‘max’, yazma işleminin sürücünün maksimum hızında ilerlemesine neden olacaktır. ‘max’ varsayılan hızdır. Daha yavaş hızlar daha güvenilir yazma işlemleri üretebilir. Hız faktörü, yazılan medyaya görecelidir (örneğin, bir DVD yazma işlemi ile bir CD yazma işlemi için kullanıldığında -speed 2 farklı bir veri hızına sahiptir). Bazı sürücülerin minimum yazma hızına sahip olduğunu, bu durumda belirtilen daha yavaş herhangi bir hızın sürücünün minimum hızında yazılmasıyla sonuçlanacağını unutmayın.
-sizequery hiçbir şey yazmadan gereken disk boyutunu hesaplar. Boyut sektör cinsinden döndürülür.
-erase optik medya (DVD-RW/CD-RW) ister ve ardından donanım destekliyorsa medyayı hızlıca siler. Bir imaj belirtilmişse, medya silindikten sonra medyaya yazılacaktır. -fullerase diskin tüm sektörlerini siler. Bu genellikle -erase işleminden çok daha uzun sürer. -list -device seçeneği için uygun OpenFirmware yollarıyla birlikte tüm yazıcı aygıtlarını listeler.
makehybrid -o imaj kaynak DiscRecording çatısının içerik oluşturma sistemini kullanarak salt okunur bir disk imajında potansiyel olarak hibrit bir dosya sistemi oluşturur. Bu disk imajı bir veri diskini temsil edecektir. Ses diskleri yapmak için drutil(1) kullanılabilir.
kaynak bir dizin veya bir disk imajı olabilir. Oluşturulan imaj daha sonra burn kullanılarak yazılabilir veya convert ile başka bir salt okunur formata dönüştürülebilir. Varsayılan olarak dosya sistemi çoğu modern bilgisayar platformunda okunabilir olacaktır. Oluşturulan dosya sisteminin okunur/yazılır biçime dönüştürülmesi amaçlanmamıştır, ancak dosyaları ditto(8) kullanılarak bir okunur/yazılır dosya sistemine güvenle kopyalanabilir.
hdiutil, x86 tabanlı donanımları önyüklemek için yaygın olarak kullanılan El Torito tarzı önyüklenebilir ISO9660 dosya sistemleri oluşturmayı destekler. Şartname birkaç emülasyon modu içerir. Varsayılan olarak, bir El Torito önyükleme imajı, imajın boyutuna bağlı olarak 1.2MB, 1.44MB veya 2.88MB'lık bir disket sürücüsünü emüle eder. Ayrıca, önyükleme imajının sırasıyla doğrudan belleğe yüklenmesine veya bölümlenmiş bir sabit disk olarak sanallaştırılmasına olanak tanıyan "No Emulation" (Emülasyon Yok) ve "Hard Disk Emulation" (Sabit Disk Emülasyonu) modları da mevcuttur. El Torito seçenekleri veri CD'leri için kullanılmamalıdır.
Dosya sistemi seçenekleri: -hfs Bir HFS+ dosya sistemi oluşturur. Bu dosya sistemi, bir imaj üzerinde bir ISO9660, Joliet veya UDF dosya sistemiyle aynı anda bulunabilir. Mac OS 9 veya OS X gibi hem HFS+ hem de ISO9660 ve UDF dosya sistemlerini anlayan işletim sistemlerinde, HFS+ genellikle hibrit imajlar için tercih edilen dosya sistemidir. -iso Rock Ridge uzantılarına sahip bir ISO9660 Seviye 2 dosya sistemi oluşturur. Bu dosya sistemi, bir imaj üzerinde bir HFS+, Joliet veya UDF dosya sistemiyle aynı anda bulunabilir. ISO9660, CD'ler ve bazı DVD'ler için standart platformlar arası değişim formatıdır ve neredeyse tüm işletim sistemleri tarafından anlaşılır. Bir disk imajında veya CD'de HFS+ değil de bir ISO9660 veya Joliet dosya sistemi mevcutsa, OS X ISO9660 (veya Joliet) dosya sistemini kullanacaktır. -joliet ISO9660 için Joliet uzantılarını oluşturur. Dosya sisteminin bu görünümü, bir imaj üzerinde HFS+ ile aynı anda bulunabilir ve bir ISO9660 dosya sisteminin varlığını gerektirir. Joliet, Unicode dosya adlarını destekler, ancak yalnızca bazı işletim sistemlerinde desteklenir. Bir disk imajında veya CD'de HFS+ değil de hem ISO9660 hem de Joliet dosya sistemi mevcutsa, OS X Joliet dosya sistemini tercih edecektir. -udf Bir UDF dosya sistemi oluşturur. Bu dosya sistemi HFS+, ISO9660 ve Joliet ile aynı anda bir imajda bulunabilir. UDF, DVD'ler için standart değişim formatıdır, ancak işletim sistemi desteği işletim sistemi sürümüne ve UDF sürümüne bağlı olarak değişir.
Varsayılan olarak hiçbir dosya sistemi belirtilmemişse, imaj dört dosya sisteminin tümünü içeren hibrit bir imaj olarak oluşturulacaktır. Birden fazla dosya sistemi seçildiğinde imajın veri alanı tüm dosya sistemleri arasında paylaşılır ve yalnızca dizin bilgileri ile birim meta verileri her dosya sistemine özgüdür. Bu, platformlar arası bir ISO9660/HFS+ hibriti oluşturmanın, tek bir dosya sistemi imajına kıyasla minimum ek yüke sahip olduğu anlamına gelir.
Diğer seçenekler (çoğu tek bir argüman alır): -hfs-blessed-directory Oluşturulan dosya sisteminde OS X önyüklemesi için "kutsanması" (blessed) gereken dizinin yolu. Bu, dizinin başka şekillerde hazırlandığını varsayar, örneğin geçerli bir BootX dosyası oluşturmak için bless -bootinfo ile hazırlanmıştır. (Yalnızca HFS+). -hfs-openfolder Finder tarafından otomatik olarak açılacak bir dizinin yolu. Ayrıca bless(8) içindeki -openfolder seçeneğine bakın (Yalnızca HFS+). -hfs-startupfile-size Belirtilen boyutta (bayt cinsinden) boş bir HFS+ Startup Dosyası ayırır (Yalnızca HFS+).
-abstract-file ISO9660/Joliet Soyut dosyası (Abstract file) olarak kullanılmak üzere kaynak dizindeki (ve dolayısıyla oluşturulan dosya sisteminin kökündeki) bir dosyanın yolu (ISO9660/Joliet). -bibliography-file ISO9660/Joliet Kaynakça dosyası (Bibliography file) olarak kullanılmak üzere kaynak dizindeki (ve dolayısıyla oluşturulan dosya sisteminin kökündeki) bir dosyanın yolu (ISO9660/Joliet). -copyright-file ISO9660/Joliet Telif Hakkı dosyası (Copyright file) olarak kullanılmak üzere kaynak dizindeki (ve dolayısıyla oluşturulan dosya sisteminin kökündeki) bir dosyanın yolu (ISO9660/Joliet). -application Uygulama dizesi (ISO9660/Joliet). -preparer Hazırlayan dizesi (ISO9660/Joliet). -publisher Yayıncı dizesi (ISO9660/Joliet). -system-id Sistem Tanımlama dizesi (ISO9660/Joliet). -keep-mac-specific Macintosh'a özgü dosyaları (.DS_Store gibi) HFS+ olmayan dosya sistemlerinde gösterir (ISO9660/Joliet). -eltorito-boot Kaynak dizin içindeki bir El Torito önyükleme imajının yolu. Varsayılan olarak disket sürücü emülasyonu kullanılır, bu nedenle imaj 1200KB, 1440KB veya 2880KB boyutlarından biri olmalıdır. İmaj farklı bir boyuta sahipse, sırasıyla "No Emulation" veya "Hard Disk Emulation" modunu etkinleştirmek için -no-emul-boot veya -hard-disk-boot kullanılmalıdır (ISO9660/Joliet). -hard-disk-boot El Torito Sabit Disk Emülasyonu modunu kullanır. İmaj, MBR bölüm haritasına ve tek bir bölüme sahip sanal bir aygıtı temsil etmelidir. -no-emul-boot El Torito Emülasyon Yok modunu kullanır. Sistem ürün yazılımı, -boot-load-size ile belirtilen sektör sayısını yükleyecek ve herhangi bir aygıtı emüle etmeden yürütecektir (ISO9660/Joliet). -no-boot El Torito imajını önyüklenemez olarak işaretler. Sistem ürün yazılımı yine de bu verilerle desteklenen sanal bir aygıt oluşturabilir. Bu seçenek önerilmez (ISO9660/Joliet). -boot-load-seg Bir Emülasyon Yok önyükleme imajı için verileri belirtilen segment adresine yükler. Bu seçenek önerilmez, böylece sistem ürün yazılımı varsayılan adresini kullanabilir (ISO9660/Joliet). -boot-load-size Bir Emülasyon Yok önyükleme imajı için belirtilen sayıda 512 baytlık emüle edilmiş sektörü belleğe yükler ve yürütür. Varsayılan olarak 4 sektör (2KB) yüklenecektir (ISO9660/Joliet). -eltorito-platform El Torito Önyükleme Kataloğu Doğrulama Girdisi (Boot Catalog Validation Entry) veya Bölüm Başlığında (Section Header) belirtilen sayısal platform kimliğini kullanır. x86 donanımını tanımlamak için varsayılan olarak 0'dır (ISO/Joliet). -eltorito-specification Birden fazla önyükleme imajı içeren karmaşık düzenler için, sözlüklerden oluşan bir diziyi temsil eden, OpenStep tarzı sözdizimi veya XML sözdizimi kullanılarak plist formatında bir dize sağlanabilir. El Torito seçeneklerinden herhangi biri alt sözlüklerde ayarlanabilir ve yalnızca o önyükleme imajı için geçerli olur. Normal El Torito komut satırı seçeneklerine ek olarak -eltorito-specification sağlanırsa, belirtim ikincil varsayılan olmayan önyükleme girdilerini doldurmak için kullanılacaktır. -udf-version Oluşturulacak UDF dosya sisteminin sürümü. Bu "1.02" veya "1.50" olabilir. Belirtilmemişse varsayılan olarak "1.50" olur (UDF).
-default-volume-name Aksi belirtilmedikçe tüm dosya sistemleri için varsayılan birim adı. Belirtilmemişse varsayılan olarak kaynağın son yol bileşeni olur. -hfs-volume-name Farklı olması gerekiyorsa yalnızca HFS+ dosya sistemi için birim adı (Yalnızca HFS+). -iso-volume-name Farklı olması gerekiyorsa yalnızca ISO9660 dosya sistemi için birim adı (Yalnızca ISO9660). -joliet-volume-name Farklı olması gerekiyorsa yalnızca Joliet dosya sistemi için birim adı (Yalnızca Joliet). -udf-volume-name Farklı olması gerekiyorsa yalnızca UDF dosya sistemi için birim adı (Yalnızca UDF).
-hide-all Oluşturulan dosya sistemlerinde gösterilmemesi gereken dosya ve dizinlerin glob ifadesi. Kabuk genişlemesini önlemek için dizenin tırnak içine alınması gerekebilir ve değerlendirme için glob(3) işlevine iletilecektir. Bu seçenek birden fazla kez kullanılamasa da, keyfi olarak karmaşık bir glob ifadesi kullanılabilir. -hide-hfs HFS+ dosya sistemi aracılığıyla gösterilmemesi gereken dosya ve dizinlerin glob ifadesi; ancak veriler diğer dosya sistemleri tarafından kullanılmak üzere hala mevcut olabilir (Yalnızca HFS+). -hide-iso ISO dosya sistemi aracılığıyla gösterilmemesi gereken dosya ve dizinlerin glob ifadesi; ancak veriler diğer dosya sistemleri tarafından kullanılmak üzere hala mevcut olabilir (Yalnızca ISO9660). Yukarıda belirtildiği gibi, hibrit imaj OS X üzerinde bir ISO 9660 dosya sistemi olarak bağlandığında Joliet hiyerarşisi ISO hiyerarşisinin yerini alacaktır. Bu nedenle, Joliet oluşturuluyorsa (varsayılan), dosyayı mount_cd9660(8) aracından gizlemek için -hide-joliet seçeneğine de ihtiyaç duyulacaktır. -hide-joliet Joliet dosya sistemi aracılığıyla gösterilmemesi gereken dosya ve dizinlerin glob ifadesi; ancak veriler diğer dosya sistemleri tarafından kullanılmak üzere hala mevcut olabilir (Yalnızca Joliet). OS X'in ISO 9660 dosya sistemi varsa Joliet kataloğunu kullandığından, elde edilen dosya sistemi OS X üzerinde ISO olarak bağlandığında -hide-joliet seçeneği etkili bir şekilde -hide-iso seçeneğinin yerini alır. -hide-udf UDF dosya sistemi aracılığıyla gösterilmemesi gereken dosya ve dizinlerin glob ifadesi; ancak veriler diğer dosya sistemleri tarafından kullanılmak üzere hala mevcut olabilir (Yalnızca UDF). -only-udf Yalnızca UDF içinde gösterilmesi gereken nesnelerin bir glob ifadesi. -only-iso Yalnızca ISO içinde gösterilmesi gereken nesnelerin bir glob ifadesi. -only-joliet Yalnızca Joliet içinde gösterilmesi gereken nesnelerin bir glob ifadesi.
-print-size Verileri önceden kontrol eder ve imajın boyutu üzerinde bir üst sınır hesaplar. Oluşturulan imajın gerçek boyutunun bu tahminden daha küçük veya buna eşit olacağı garanti edilir. -plistin Komut satırı parametrelerini kullanmak yerine hibrit imaj oluşturma parametrelerini belirtmek için standart girdiden standart bir plist kullanır. Her komut satırı seçeneği, başındaki "-" olmadan sözlükte bir anahtar olmalı ve değer; yol ve dize argümanları için bir dize, sayı argümanları için bir sayı ve açma/kapatma (toggle) seçenekleri için bir boolean olmalıdır. kaynak argümanı "source" anahtarını ve imaj "output" anahtarını kullanmalıdır.
kaynak için bir disk imajı belirtilmişse imaj bağlanacak ve yollar imajın bağlama noktasına göre değerlendirilecektir. Bu durumda hiçbir mutlak yol kullanılamaz. kaynak bir dizin ise, tüm argüman yolları ya mutlak bir yol aracılığıyla ya da mevcut çalışma dizinine göre göreceli bir yol aracılığıyla dosyalara veya dizinlere işaret etmelidir.
Birim adı seçeneklerinin, tıpkı dosya sistemlerindeki dosyalar gibi, belirli bir dosya sistemi için yasal karakter setine eşlenmesi veya adlandırma kısıtlamalarına uymak için başka bir şekilde değiştirilmesi gerekebilir. Belirli bir dizenin nasıl yeniden eşleneceğini görmek için drutil(1) aracını drutil filename myname şeklinde kullanın.
-abstract-file, -bibliography-file ve -copyright-file doğrudan kaynak dizinde bulunmalı, bir alt dizinde olmamalı ve ISO9660 Seviye 1 ile uyumluluk için bir 8.3 adına sahip olmalıdır.
compact imaj [seçenekler] bir APFS veya HFS+ dosya sistemi içeren bir sparse (SPARSE veya SPARSEBUNDLE) disk imajının bantlarını (bands) tarayarak imajın artık dosya sistemi tarafından kullanılmayan kısımlarını kaldırır. Barındırılan dosya sistemindeki dosyaların konumuna bağlı olarak compact imajı küçültebilir veya küçültmeyebilir. SPARSEBUNDLE imajları için tamamen kullanılmayan bant dosyaları basitçe kaldırılır.
Seçenekler: -batteryallowed pil gücüyle çalışırken sıkıştırmaya izin verir. Sıkıştırma işlemi sırasında güç kesilirse SPARSE imajları zarar görebilir. Varsayılan davranış izin verilmemesidir.
-sleepallowed makinenin sıkıştırma yaparken boşta uykusuna (idle sleep) geçmesine izin verir, bu da sıkıştırma işlemini iptal eder. Varsayılan davranış izin verilmemesidir; bu da sıkıştırma tamamlanana kadar boşta uykuyu önler. Ekran kapağının kapatılması gibi kullanıcı tarafından başlatılan uyku modları sıkıştırmayı her zaman iptal eder.
Ortak seçenekler: -encryption, -stdinpass, -srcimagekey, -shadow ve ilgili seçenekler, -puppetstrings ve -plist.
info DiskImages.framework, disk imajı sürücüsü ve şu anda bağlı olan tüm imajlar hakkında bilgi görüntüler. hdiutil info, -plist seçeneğini kabul eder.
checksum imaj -type tür İmaj türüne bakılmaksızın imaj verileri üzerinde belirtilen sağlama toplamını hesaplar.
Ortak seçenekler: -shadow ve ilgili seçenekler, -encryption, -stdinpass, -srcimagekey, -puppetstrings ve -plist.
tür şunlardan biridir: UDIF-CRC32 - CRC-32 imaj sağlama toplamı UDIF-MD5 - MD5 imaj sağlama toplamı CRC32 - CRC-32 MD5 - MD5 SHA - SHA SHA1 - SHA-1 SHA256 - SHA-256 SHA384 - SHA-384 SHA512 - SHA-512
chpass imaj şifrelenmiş bir imajın geçiş parolasını değiştirir. Varsayılan davranış parolayı etkileşimli olarak değiştirmektir.
Ortak seçenekler: -recover ve -srcimagekey. -oldstdinpass ve -newstdinpass seçenekleri, belirtilen sırayla null sonlandırmalı eski ve yeni parolaların standart girdiden -stdinpass ile aynı şekilde okunmasına olanak tanır.
erasekeys imaj şifrelenmiş bir imaja erişmek için kullanılan anahtarları silerek imajı hızlıca erişilemez hale getirir. Bu, imajın bir kopyasından veya yedeğinden olduğu gibi, anahtarların diğer kopyalarının daha sonra kırılmasını ve verilerin şifresinin çözülmesi için kullanılmasını engellemez. Ayrıca katı hal diskleri (SSD) gibi modern depolama sistemleri verilerin üzerine güvenli bir şekilde yazmaz. Sonuç olarak erasekeys tüm saldırılara karşı koruma sağlayamaz ancak basit erişimi engelleyebilir.
Ortak seçenekler: -plist ve -quiet.
fsid imaj Belirli bir disk imajındaki dosya sistemleri hakkında bilgi yazdırır. AYGIT ÖZEL DOSYALARI uyarınca imaj bir diske karşılık gelen bir /dev girdisi olabilir. HFS+ dosya sistemleri için daha ayrıntılı bilgiler sunulur.
Ortak seçenekler: -encryption, -stdinpass, -srcimagekey ve -shadow ve ilgili seçenekler.
mountvol aygıt_adı Disk Arbitration kullanarak aygıt_adı içними dosya sistemini bağlar (diskutil(8) mount işlemine benzer). XML çıktısı -plist seçeneğiyle mevcuttur. unmount tarafından ayrıldıktan sonra bir birimi yeniden bağlamanın doğru yolunun (genellikle Mac OS X 10.5 ve sonrasında çalışsa da mount yerine) mountvol olduğunu unutmayın.
Mac OS X 10.5'ten önce, mount/attach bir /dev girdisine bağlanacak bir disk imajı gibi davranırdı (başka bir /dev girdisi oluştururdu). Bu davranış istenmeyen bir durumdu.
unmount birim [-force] ilişkili herhangi bir imajı ayırmadan bağlı bir birimi ayırır. birim bir /dev girdisi veya bağlama noktasıdır. NOT: unmount, birimle ilişkili hiçbir disk imajını ayırmaz. İmajlar bağlanır (attach) ve ayrılır (detach); birimler ise bağlanır (mount) ve ayrılır (unmount). hdiutil mountvol (veya diskutil mount), hdiutil unmount tarafından ayrılmış bir birimi yeniden bağlayacaktır.
Seçenekler: -force o dosya sistemindeki açık dosyalara bakılmaksızın dosya sistemini ayırır. umount -f işlemine benzer.
imageinfo imaj [seçenekler] Bir disk imajı hakkında bilgi yazdırır.
Seçenekler şunlardan herhangi biridir: -format yalnızca imaj formatını yazdırır -checksum yalnızca imaj sağlama toplamını yazdırır
Ortak seçenekler: -encryption, -stdinpass, -srcimagekey, -shadow ve ilgili seçenekler, ve -plist.
isencrypted imaj imajın şifreli olup olmadığını belirten bir satır yazdırır. Şifreliyse ek ayrıntılar yazdırılır.
Ortak seçenekler: -plist.
plugins DiskImages çatısı eklentileri hakkında bilgi yazdırır. Eklentiler için kullanıcı, sistem, yerel ve ağ alanları aranır (yani ~/Library/Plug-ins/DiskImages, /System/Library/Plug-ins/DiskImages, /Library/Plug-ins/DiskImages, /Network/Library/Plug-ins/DiskImages).
Ortak seçenekler: -plist.
resize boyut_belirteci imaj Bir disk imajını veya içindeki kapsayıcıları yeniden boyutlandırır. Sondaki Apple_HFS bölümünü içeren bir imaj için varsayılan davranış, barındırılan yapıların sonunu imajın sonuyla hizalayarak imaj kapsayıcısını, bölümü ve içindeki dosya sistemini yeniden boyutlandırmaktır. hdiutil resize, HFS+ ve türevleri dışındaki dosya sistemlerini yeniden boyutlandıramaz.
resize, bir imajı küçültebilir; böylece HFS+ bölümü CD-R/DVD-R formatına dönüştürülebilir ve hala yazılabilir. hdiutil resize verileri taşımadığı için boşlukları geri kazanamaz. diskutil(8) resize, dosya sistemi verilerini taşıyabilir ve bu da hdiutil resize işleminin minimum boyutlu bir imaj oluşturmasına yardımcı olabilir. -fsargs seçeneği de bir imaj içindeki dosya sistemi boşluklarını en aza indirmek için kullanılabilir.
resize; disk imajı kapsayıcı formatı (örneğin UDSP ve UDSB), herhangi bir bölüm şeması, barındırılan dosya sistemi ve imajı barındıran dosya sistemi ile sınırlıdır. Yeterli boş alana sahip HFS+ üzerindeki bir UDRW üzerindeki GPT içindeki HFS+ durumunda sınır yaklaşık 2^63 bytes. Older images created with an APM partition scheme are limited by it to 2TB. Mac OS X 10.4'ten önce resize, dosya sisteminin nasıl oluşturulduğuyla sınırlıydı (bkz. hdiutil create -stretch).
hdiutil burn aygıtların sonundaki Apple_Free bölümlerini yazmaz, bu nedenle yeniden boyutlandırılmış bir dosya sistemine sahip bir imaj, barındırılan dosya sisteminde yalnızca gerçek verileri içeren (minimum veri parçalanması varsayılarak) bir CD-R/DVD-R master oluşturmak için yazılabilir.
Ortak seçenekler: -encryption, -stdinpass, -srcimagekey, -shadow ve ilgili seçenekler, ve -plist.
Boyut belirteçleri: -size ??b|??k|??m|??g|??t|??p|??e -sectors sektor_sayısı | min Bölümün yeniden boyutlandırılması gereken 512 baytlık sektörlerin sayısını belirtir. Bu, minimum geçerli değerin veya temel dosya sisteminde kalan alanın dışına çıkarsa bir hata döndürülür ve bölüm yeniden boyutlandırılmaz. min seçeneği otomatik olarak mümkün olan en küçük boyutu belirler.
Diğer seçenekler: -imageonly yalnızca imaj dosyasını yeniden boyutlandırır, içindeki bölümü/bölümleri ve dosya sistemlerini değil. -partitiononly imajı değil, yalnızca imaj içindeki bir bölümü / dosya sistemini yeniden boyutlandırır. Yeni boyut imajın içine sığmazsa -partitiononly başarısız olur. APM üzerinde, bir bölümün küçültülmesi imajda kalan alanı kaplayan açık bir Apple_Free girdisiyle sonuçlanır. -partitionID bolum_kimligi hangi bölümün yeniden boyutlandırılacağını belirtir (yalnızca UDIF -- aşağıdaki TARİHÇE bölümüne bakın). bolum_kimligi 1 tabanlıdır. -nofinalgap resize işleminin bir APM haritasındaki sondaki boş bölümü tamamen ortadan kaldırmasına izin verir. Bu tür imajların çok eski donanımlara geri yüklenmesi önyüklemeyi engelleyebilir. -limits İmaj için minimum, mevcut ve maksimum boyutları (512 baytlık sektörler cinsinden) görüntüler. Barındırılan herhangi bir dosya sistemi kısıtlamasına ek olarak, UDRW imajları, imajı barındıran dosya sistemindeki kullanılabilir disk alanıyla sınırlandırılır. -limits imajı değiştirmez.
segment NOT: hdiutil segment komutu kullanımdan kaldırılmıştır
segment -o ilk_DilimAdi -segmentCount #dilim imaj [secenekler] segment -o ilk_DilimAdi -segmentSize boyut imaj [secenekler] bir UDIF disk imajını dilimler. Dilimli imajlar, dosya sistemleri, ağ protokolleri veya medyalar tarafından bazen dayatılan dosya boyutu sınırlarındaki kısıtlamaların etrafından dolaşır. Not: dilimlerin şifrelenip şifrelenmeyeceği kaynak imajın durumuna göre değil, segment komutuna iletilen seçeneklere göre belirlenir.
Ortak seçenekler: -encryption, -stdinpass, -srcimagekey, -tgtimagekey, -puppetstrings, ve -plist.
Seçenekler: -segmentCount dilim_sayısı Dilim sayısını belirtir. -segmentCount veya -segmentSize seçeneklerinden yalnızca biri dikkate alınacaktır. -segmentSize dilim_boyutu Dilim boyutunu sektör cinsinden veya mkfile(8) tarzında belirtir (burada nitelenmemiş sayılar hala sektördür). Orijinal imaj boyutu dilim boyutunun tam bir katı değilse son dilim diğerlerinden daha kısa olacaktır. -segmentCount veya -segmentSize seçeneklerinden yalnızca biri dikkate alınacaktır. Okunur/yazılır (UDRW) imajların dilimlenmesi desteklenmez (Mac OS X 10.3 itibarıyla).
-firstSegmentSize dilim_boyutu -segmentSize ile aynı biçimde sektör cinsinden ilk dilim boyutunu belirtir. Çoklu CD geri yüklemeleri için kullanılır. -restricted Çoklu CD geri yüklemelerinde kullanılmak üzere kısıtlı dilimler oluşturur. -ov mevcut dosyaların üzerine yazar.
pmap [seçenekler] imaj bir imajın veya aygıtın bölüm haritasını görüntüler. Varsayılan olarak bu rapor başlangıç ofsetlerini ve önemli miktarda boş alanı içerir. imaj bir disk imajı veya /dev/disk girdisidir (bkz. AYGIT ÖZEL DOSYALARI).
Ortak seçenekler: -encryption, -stdinpass, -srcimagekey, ve -shadow ve ilgili seçenekler.
-simple MediaKit'in minimum raporunu oluşturur: insan tarafından okunabilir birimlerde temel bölüm türleri, adları ve boyutları. -standard bölüm ofsetlerini ekleyen ve 512 baytlık sektörleri kullanan MediaKit'in standart raporunu oluşturur. Varsayılan budur. -complete bitiş ofsetleri, önemli boş alan vb. içeren MediaKit'in kapsamlı raporunu oluşturur. -diagnostic karşılaşılan tüm bölüm şemalarını gösteren MediaKit'in tanı raporunu oluşturur. Boot Camp sorunlarını gidermek için kullanışlıdır.
-endoffsets her bölümün son bloğunu belirtir. -nofreespace tüm boş alan raporlamasını bastırır. -shims ile geçerli değildir. -shims 32 sektörden küçük boş alanları raporlar. -uuids her bölüm için örnek başına UUID'leri gösterir. APM örnek UUID'lerini saklamaz, bu nedenle bunlar APM haritaları için rastgele oluşturulacaktır.
udifrez [seçenekler] imaj (kullanımdan kaldırıldı) bir disk imajına kaynakları (resources) gömer.
Aşağıdaki seçeneklerden birini belirtmelisiniz: -xml dosya dosya içindeki XML'den kaynakları kopyalar. -replaceall imaj içindeki önceden var olan tüm kaynakları siler.
udifderez [seçenekler] imaj (kullanımdan kaldırıldı) imajdan kaynakları çıkarır.
Seçenekler: -xml XML çıktısı verir (varsayılan) -rez Rez formatında çıktı verir
Ortak seçenekler: -encryption, -stdinpass, ve -srcimagekey.
Örnekler
Doğrulama:
hdiutil verify myimage.img
bir imajı dahili sağlama toplamına göre doğrular.
Dönüştürme:
hdiutil convert master.dmg -format UDTO -o master
master.dmg imajını master.cdr adında bir CD-R dışa aktarım imajına dönüştürür
hdiutil convert /dev/disk1 -format UDRW -o devimage
/dev/disk1 diskini okunur/yazılır bir aygıt imaj dosyasına dönüştürür. /dev/rdisk1 aygıtına okuma erişimi yoksa authopen(1) kullanılacaktır. Blok özel aygıtın kullanımına dikkat edin.
hdiutil convert image.dmg -o image.sparsebundle
dosya uzantısı olan .sparsebundle uzantısını otomatik olarak algılayarak image.dmg imajını UDSB formatına dönüştürür.
hdiutil convert files.sparsebundle -format UDZO \
-imagekey zlib-level=5 -o files
files.sparsebundle imajını files.dmg imajına dönüştürür: varsayılan yerine zlib seviye 5 kullanan salt okunur, sıkıştırılmış bir disk imajı.
hdiutil convert stuff.dmg -format UDZO -encryption -o stuff-enc
stuff.dmg imajının AES-128 ile şifrelenmiş stuff-enc.dmg adında bir kopyasını oluşturur.
Yazma:
hdiutil burn myImage.dmg
imajı optik medyaya yazar ve yazma işlemini doğrular.
hdiutil burn myRawImage.cdr -noverifyburn -noeject
yazma işlemini doğrulamadan veya diski çıkarmadan imajı yazar. Yazma işleminden sonra birimler bağlanacaktır.
50 MB boyutunda okunur/yazılır şifreli bir imaj oluşturma:
hdiutil create -encryption -size 50m e.dmg -fs HFS+J
Yalnızca ortak anahtarla korunan 50 MB boyutunda okunur/yazılır şifreli bir imaj oluşturma:
hdiutil create -encryption -size 50m e.dmg -fs HFS+J \
-pubkey F534A3B0C2AEE3B988308CC89AA04ABE7FDB5F30
Ortak anahtar ve parola ile korunan 50 MB boyutunda okunur/yazılır şifreli bir imaj oluşturma:
hdiutil create -encryption -size 50m e.dmg -fs HFS+J -agentpass \
-pubkey F534A3B0C2AEE3B988308CC89AA04ABE7FDB5F30
Bu iki -pubkey kullanım örneğinin, bu ortak anahtara karşılık gelen bir sertifikanın şu anda kullanıcının anahtarlığında veya akıllı kartında olduğunu varsaydığını unutmayın. Akıllı kart yetkilendirme kurulumu hakkında ek bilgi için sc_auth(8) kılavuzuna bakın.
Kullanıcı etkileşimi olmadan şifreli tek bölümlü bir imaj oluşturma:
printf pp|hdiutil create -encryption -stdinpass -size 9m sp.dmg
"1 GB" boyutunda bir SPARSE imaj oluşturma (büyüyebilir bir dosya içinde 1 GB'lık dosya sistemi):
hdiutil create -type SPARSE -size 1g -fs HFS+J growableTo1g
"1 GB" boyutunda bir SPARSEBUNDLE oluşturma (büyüyebilir bir paket içinde 1 GB'lık dosya sistemi):
hdiutil create -type SPARSEBUNDLE -size 1g -fs HFS+J growableTo1g
İmajla desteklenen yeni bir bağlı birim oluşturma:
hdiutil create -volname Dick -size 1.3m -fs HFS+ -attach Moby.dmg
Bir web sunucusundaki imajı sisteme bağlama ve tüm yazma işlemlerinin yerel bir dosyaya gitmesini sağlama:
hdiutil attach https://my.webserver.com/master.dmg \
-shadow /tmp/mastershadowfile
Salt okunur bir imajı değiştirmek üzere okunur/yazılır olarak bağlamak için bir gölge dosyası kullanmak ve ardından bunu tekrar salt okunur bir imaja dönüştürmek. Bu yöntem, değiştirmeden önce bir imajı okunur/yazılır biçime dönüştürmek için gereken süreyi/alanı ortadan kaldırır.
hdiutil attach -owners on Moby.dmg -shadow
/dev/disk2 Apple_partition_scheme
/dev/disk2s1 Apple_partition_map
/dev/disk2s2 Apple_HFS /Volumes/Dick
ditto /Applications/Preview.app /Volumes/Dick
hdiutil detach /dev/disk2
hdiutil convert -format UDZO Moby.dmg -shadow
RAM destekli bir aygıt ve dosya sistemi oluşturma:
NUMSECTORS=128000 # bir sektör 512 bayttır
mydev=`hdiutil attach -nomount ram://$NUMSECTORS`
newfs_hfs $mydev
mkdir /tmp/mymount
mount -t hfs $mydev /tmp/mymount
Dosya sistemi görünümleri arasında çakışan dosyalar içeren, şu dosyaları barındıran platformlar arası veriler oluşturmak için makehybrid kullanma:
albumlist.txt song2.wma song4.m4a song6.mp3 song8.mp3
song1.wma song3.m4a song5.mp3 song7.mp3
hdiutil makehybrid -o MusicBackup.iso Music -hfs -iso -joliet \
-hide-hfs 'Music/*.wma' -hide-joliet 'Music/{*.m4a,*.mp3}' \
-hide-iso 'Music/*.{wma,m4a}'
aynı bloklara işaret eden üç dosya sistemine sahip bir imaj oluşturacaktır. Genellikle yalnızca Macintosh sistemlerinde görünen HFS+ dosya sistemi .wma dosyalarını içermeyecek, ancak .m4a ve .mp3 dosyalarını gösterecektir. Joliet dosya sistemi .m4a ve .mp3 dosyalarını göstermeyecek, ancak .wma dosyalarını gösterecektir. Birçok platformda optik medya için genellikle varsayılan dosya sistemi olan ISO9660 dosya sistemi yalnızca .mp3 dosyalarını gösterecektir. Her üç dosya sistemi de "albumlist.txt" dosyalarını içerecektir.
Dizinden imaj oluşturma:
hdiutil create -srcfolder mydir mydir.dmg
Bu yöntem, imaj oluşturma sırasında en az disk alanını kullanır, ancak ortaya çıkan imaj alan açısından biraz daha az verimli olabilir.
Ara bir sparse bundle kullanarak dizinden imaj oluşturma:
hdiutil create -srcfolder mydir -format UDSB mydir.sparsebundle
hdiutil convert mydir.sparsebundle -format UDZO -o mydir.dmg
Bu yöntem alan açısından en uygun imajları üretir, ancak imaj oluşturma sırasında çok daha fazla disk alanı gerektirir. Ara sparse bundle imajı işlem tamamlandıktan sonra kaldırılabilir.
Salt okunur bir disk imajının sahiplik ayarlarını manuel olarak değiştirme:
hdiutil attach myimage.dmg
...
/dev/disk1s2 Apple_HFS /Volumes/myVolume
diskutil unmount disk1s2
mkdir /Volumes/myVolume
sudo mount -r -t hfs -o owners /dev/disk1s2 /Volumes/myVolume
# manuel bağlamalar için varsayılan değer -o owners seçeneğidir
Bilinen bir imajı bağlanmaya zorlama:
hdiutil attach -imagekey diskimage-class=CRawDiskImage myBlob.bar
Ortam Değişkenleri
Aşağıdaki ortam değişkenleri hdiutil ve DiskImages sistemlerini etkiler:
com_apple_hdid_verbose attach eylemi için -verbose davranışını etkinleştirir.
com_apple_hdid_debug attach eylemi için -debug davranışını etkinleştirir.
com_apple_hdid_nokernel -nokernel seçeneğine benzer ancak örneğin create -attach ile bile çalışır.
com_apple_hdid_kernel attach eyleminin -kernel geçirilmiş gibi davranmasını sağlar. Mac OS X 10.4.x sürümünde çekirdek içi (in-kernel) davranış UDRW ve SPARSE imajlar için varsayılan davranıştı. Mac OS X 10.5 ve sonraki sürümlerde, bu ve diğer çekirdekle uyumlu imajlar yine varsayılan olarak bir kullanıcı süreciyle bağlanır. Bir imaj "çekirdekle uyumlu" değilse ve çekirdek içi bağlama belirtilmişse bağlama işlemi başarısız olur. UYARI: ram:// imajları çekirdek içinde bağlandığında kablolu bellek (wired memory) kullanır.
com_apple_diskimages_insecureHTTP SSL eş doğrulamasını -insecurehttp seçeneğiyle aynı şekilde devre dışı bırakır. Benzer bir komut satırı seçeneğini desteklemeyen asr(8) gibi DiskImages istemcileri için kullanışlıdır.
Hatalar
DiskImages birçok çatı kullanır ve birçok hata koduyla karşılaşabilir. Genel olarak, bu hata numaralarını kullanıcı için yerelleştirilmiş dizelere dönüştürmeye çalışır. Arka plan bilgisi için, birincil hata alanımız olan BSD errno değerlerinin iyi bir açıklaması intro(2) kılavuzunda yer almaktadır. Hata ayıklama için, -verbose seçeneği genellikle neyin yanlış gittiğini anlamak için yeterli bilgi sağlamalıdır. Aşağıda hdiutil'in karşılaşabileceği ilgi çekici hataların bir listesi bulunmaktadır:
No mountable filesystems hdiutil attach eyleminden dönen "No mountable filesystems" (Bağlanabilir dosya sistemi yok) hatası, disk imajı bağlandıktan sonra hiçbir dosya sisteminin tanınamadığı veya bağlanamadığı anlamına gelir. Bu durumda varsayılan davranış disk imajını ayırmaktır. Bu davranışı değiştiren seçenekler için attach eylemine bakın. Bu hata, disk imajı veya barındırılan dosya sistemi bozuksa oluşabilir. Ayrıca, bağlı, günlüklü (journaled) bir dosya sistemi içeren bir blok aygıtından bir imaj oluşturulduğunda da oluşabilir (bu durumda imaj, imajı attach -shadow ile olduğu gibi okunur/yazılır yapmadan yeniden oynatılamayacak kirli bir günlük içerir).
[ENXIO] Aygıt yapılandırılmadı. Bu hata, çekirdek sürücüsüyle veya çatı yardımcısıyla bağlantı kurulamadığında DiskImages tarafından açıkça döndürülür. Ayrıca, G/Ç (I/O) hala etkinken bir aygıt kaldırıldığında da sıklıkla ortaya çıkar. Yardımcının bulunamamasına ilişkin yaygın bir durum, Foundation'ın Distributed Objects RPC mekanizmasının yapılandırılamamasıdır. D.O., yeniden bağlanmış bir screen(1) oturumunda bulunabileceği gibi ölü Mach önyükleme (bootstrap) bağlamları altında çalışmaz. Root kullanıcıları, önyükleme öğesi Mach önyükleme bağlamına erişmek için (in /usr/libexec) StartupItemContext(8) aracından yararlanabilirler.
[EINVAL] Geçersiz argüman. Bu hata birçok bağlamda kullanılır ve genellikle hdiutil argümanlarının ince bir şekilde anlamsız olduğuna dair bir ipucudur (örneğin create -layout eylemine geçersiz bir düzen adının geçirilmesi).
[EFBIG] Dosya çok büyük. DiskImages, sunucunun Aralık (Range) istekleri aracılığıyla erişimi desteklemesi için çok büyük olan bir disk imajına HTTP üzerinden erişmeye çalışırken bu hatayı rapor eder. Dilimli imajlar, bazen eski HTTP sunucularının bu sınırlamasını aşmak için kullanılabilir. Bu hata, eski tarz bir UDIF kaynak çatallanması (resource fork) ile bir taşma meydana geldiğinde de oluşebilir.
[EAUTH] Kimlik doğrulama hatası. libcurl(3) SSL eşini doğrulayamadığında veya Security.framework kullanıcının doğru parolayı giremediğini belirttiğinde DiskImages tarafından kullanılır. SSL eşlerinin doğrulanması hakkında daha fazla bilgi için -insecurehttp ve -cacert seçeneklerine bakın.
[EBUSY] Kaynak meşgul. Gerekli özel erişim elde edilemediğinde kullanılır. Bu hata genellikle bir birim ayrılamadığında görünür. lsof(8) hataya neden olabilecek açık dosyaları belirlemeye yardımcı olabilir.
[EAGAIN] Kaynak geçici olarak kullanılamıyor. Mac OS X 10.5'ten itibaren DiskImages, imajların aynı anda birden fazla makinede (örneğin ağ üzerinden) bağlanmasını önlemek için imaj dosyalarında okuma/yazma kilitleri kullanır. Uygun okuma veya yazma kilidi elde edilemezse EAGAIN döndürülür.
EACCES vs. EPERM EACCES ve EPERM ince bir şekilde farklıdır. İkincisi olan "operation not permitted" (işleme izin verilmedi), genellikle geçersiz bir etkin kullanıcı kimliği nedeniyle gerçekleştirilemeyen bir işleme atıfta bulunma eğilimindedir. Diğer yandan "permission denied" (izin reddedildi), belirli bir dosya erişim modunun işlemi engellediği anlamına gelir.
Kalıcı Sparse İmajların Kullanımı
Mac OS X 10.5'ten itibaren, destekleyici bir paket (dizin) kabul edilebilir olduğu sürece kalıcı sparse imajlar için daha güvenilir, verimli ve ölçeklenebilir bir sparse formatı olan UDSB (SPARSEBUNDLE) önerilir. Mac OS X 10.5 ayrıca AFP üzerinden F_FULLFSYNC (istemci ve sunucuda) özelliğini sunarak HFS+J barındıran imajlar için uygun günlük temizlemelerine olanak tanımıştır. F_FULLFSYNC özelliğini desteklemeyen dosya sunucularındaki sparse disk imajlarında kritik veriler asla depolanmamalıdır.
SPARSE (UDSP) imajları ve gölge dosyaları, nihai imaj boyutları bilinmediğinde diğer imajları (örneğin UDZO) oluştururken ara kullanım için tasarlanmıştır. Genel olarak konuşmak gerekirse, Mac OS X 10.3.2 ve sonraki sürümlerde nispeten güvenli olsalar da, kalıcı depolama için SPARSE imajları önerilmez. 10.3.2'den önceki sürümlerde, UDRW imajları ve resize lehine SPARSE imajlarından kaçınılmalıdır. Mac OS X 10.5 ve sonraki sürümlerde, daha sağlam ve daha hızlı olan SPARSEBUNDLE türü tercih edilir.
Her iki sparse formatının da (UDSP ve UDSB) yalnızca bir sınıra kadar büyütülebileceğini unutmayın: oluşturulduklarında belirtilen boyut parametresi. Oluşturulan boyutlarından daha az veri içeriyorlarsa barındıran dosya sisteminde daha az yer kaplarlar ve veri eklendikçe bu boyuta kadar büyürler.
Barındırılan dosya sistemi tarafından başvurulandan daha fazla alana ihtiyaç duyulursa, bir imajdaki dosya sistemini büyütmek veya küçültmek için hdiutil resize veya diskutil(8) resize yardımcı olabilir. compact, sparse imajlardaki kullanılmayan alanı geri kazanır. Barındırılan HFS+ dosya sistemlerinin özel bir "önce ön" tahsis politikası kullanmasını talep etseler de, sparse imajların barındırılan dosya sistemindeki herhangi bir parçalanmanın etkilerini artırabileceğine dikkat edin.
Bir sparse imajın içindeki dosya sisteminin, sparse imajı barındıran birimden daha fazla boş alana sahip olması durumunda hataları önlemek için, sparse imajların içindeki HFS+ birimleri, imajın üzerinde bulunduğu birimdeki boş alan miktarından biraz daha az boş alan rapor edecektir. İmaj dosya sistemi şu anda yalnızca doğrudan bir bağlama eyleminin sonucu olarak bu şekilde davranır ve örneğin dosya sistemi ayrılıp yeniden bağlanırsa bu şekilde davranmaz. İmaj dosyasını yeterli boş alana sahip farklı bir birime taşımak, imajın dosya sisteminin tam boyutuna kadar büyümesine olanak tanıyacaktır.
Aygıt Özel Dosyaları
Herhangi bir /dev girdisi ham bir disk imajı olarak ele alınabildiğinden, hangi aygıtlara ne zaman ve nasıl erişilebileceğini belirtmekte yarar vardır. /dev/rdisk düğümleri karakter-özel aygıtlardır, ancak BSD anlamında "hamdır" (raw) ve blok hizalı G/Ç'yi zorlar. Tampon bellekten ziyade fiziksel diske daha yakındırlar. Diğer yandan /dev/disk düğümleri arabelleğe alınmış blok-özel aygıtlardır ve öncelikle çekirdeğin dosya sistemi kodu tarafından kullanılır.
Üzerinden bir dosya sistemi bağlıyken bir /dev/disk düğümünden okumak mümkün değildir, ancak uygun /dev/rdisk düğümüne okuma erişimi olan herkes bununla fsid veya pmap gibi hdiutil eylemlerini kullanabilir. Dosya sistemi bağlıyken ham bir aygıttan okunan bilgilerin tutarlı olmayabileceğine dikkat edin, çünkü tutarlı veriler bellekte veya dosya sisteminin günlüğünde depolanır.
DiskImages çatısı, okuma için open(2) ile açamadığı (EACCES nedeniyle) herhangi bir aygıtı açmak için authopen(1) kullanmaya çalışacaktır. Oturum özelliklerine bağlı olarak bu davranış, uzaktan oturum açmışken /dev girdilerine erişmeye çalışırken bariz askıda kalmalara neden olabilir (konsolda bir yetkilendirme paneli beklemektedir).
Genellikle, imaj alma aygıtları için (örneğin convert veya create -srcdevice işlemleri) /dev/disk düğümü tercih edilirken, hızlı pmap veya fsid için /dev/rdisk kullanılabilir. Özellikle, bağlı günlüklü bir dosya sisteminin bloklarını salt okunur bir imaja dönüştürmek, imajdaki birimin bağlanmasını önleyecektir (günlük kalıcı olarak kirli olacaktır).
İzinler Ve Sahipler
Some filesystems support permissions including users and groups. While important for security on a managed filesystem, users and groups ("owners") pose challenges for unmanaged, shared filesystems such as those typically present in disk images. macOS's solution to this problem is to make owners optional, both while creating files and enforcing permissions.
Varsayılan olarak, "harici" aygıtlardaki (disk imajları dahil) bilinmeyen HFS+ dosya sistemleri, sahipleri yok sayarak bağlanır (mount -o noowners). Normalde sahipler yok sayıldığında sistem, dosya sisteminde kayıtlı olan tüm sahipler için geçerli kullanıcının kimliğini dinamik olarak değiştirmek üzere özel bir _unknown kullanıcısını ve grubunu kullanır. Bu _unknown sahipleri, yeni dosyalar oluşturulurken bile birime yazılır. Yeni dosyalar, sahipler dikkate alınarak bağlandığında "değişken" sahipliğe sahip olmaya devam edecektir. Net sonuç, paylaşılan birimlerin nasıl erişildiğine bakılmaksızın beklendiği gibi davranmasıdır.
Disk imajları bağlandığında davranış farklıdır. Disk imajlarında, sahiplerin yok sayıldığı bir dosya sistemi bağlamasındaki tüm dosyaların sahibi, disk imajını bağlayan kullanıcıdır. Bağlayan sahip, yeni dosyalar oluşturulurken de kullanılır.
Modern macOS sistemlerinde root (UID 0), "sahipler yok sayıldı" kullanıcı eşlemelerinin "arkasını görebilir". Böylece sudo ls -l /Volumes/imageVol komutu, o birimde sahiplerin şu anda dikkate alınıp alınmadığına bakılmaksızın dosya sisteminde gerçekte ne depolanmışsa (muhtemelen _unknown) onu gösterecektir. Buna karşılık, root olmayan kullanıcılar, sahipler yok sayıldığında bağlama için varsayılan davranış olduğu için veya diskte depolandığı için _unknown geçerli olduğunda her zaman kendilerini göreceklerdir. Disk imajları için, root olmayan kullanıcılar, disk imajını bağlayan kullanıcıyla eşleşen sahipleri görecektir.
Sahiplerin aksine, izinler asla isteğe bağlı değildir. Yazılamaz bir dosya, yalnızca sahipler yok sayıldığı için yazılabilir olmayacaktır. Ancak, sahibi tarafından yazılabilen bir dosya, o dosya için etkin sahip _unknown ise herkes tarafından yazılabilir olacaktır. Sahipleri yok sayılan bir dosyaya erişen herkes sahibi olarak değerlendirildiğinden, herkes etkili bir şekilde sahibidir. Disk imajı dosya sistemleri için varsayılan davranış tüm dosyaların disk imajını bağlayan kullanıcıya ait olması olduğundan, diğer kullanıcılara 'grup' (varsa) ve 'diğer' izin modlarına göre davranılacaktır.
Gelecekte bir dosya sistemi için disk üzerindeki sahiplere saygı duyulması amacıyla bir sistemi yapılandırmak için diskutil(8) enableOwnership veya Finder'ın Bilgi Ver (Get Info) penceresi kullanılabilir.
Uyumluluk
DiskImages çatısı; okunur/yazılır, salt okunur ve salt okunur sıkıştırılmış (G/Ç istekleri yapıldıkça küçük parçalar halinde açılan) dahil olmak üzere çeşitli imaj formatlarını destekler. Çoğu imajı doğrudan http:// URL'lerinden bağlama yeteneğine sahiptir. DiskImages tek bir bağlantı üzerinden many requests yapabildiğinden, apache'nin MaxKeepAliveRequests ve KeepAliveTimeout gibi HTTP sunucu ayarları değiştirilerek yanıt verme hızı artırılabilir.
Mac OS X 10.0, Mac OS 9 üzerindeki Disk Copy 6'nın disk imajlarını destekliyordu. OS X 10.1; sparse, şifreli ve zlib sıkıştırılmış imajları ekledi. Bu imajlar Mac OS X 10.0 üzerinde tanınmayacaktır (veya okunur/yazılır olarak bağlanarak muhtemelen yok edilmelerine izin verecektir). Sparse, gölge ve şifreli formatlar geliştikçe, (format geliştirmelerinin sunduğu performans ve güvenilirlik iyileştirmeleri pahasına da olsa) eski işletim sistemi sürümleriyle uyumlu imajların oluşturulmasını kolaylaştırmak için anahtarlar eklenmiştir. Özellikle, sparse imajların kendilerini oluşturanlardan daha eski OS X sürümlerinde bağlanması beklenmemelidir.
Mac OS X 10.2 ile en yaygın imaj formatları "çekirdek içine" (in-kernel) girdi (yani DiskImages çekirdek uzantısı bunlara yardımcı bir süreç olmadan hizmet etti), imaj meta verileri hem XML hem de gömülü kaynak çatallanmasında depolanmaya başladı ve varsayılan Disk Copy.app "sıkıştırılmış" formatı UDZO oldu (10.0 ile uyumluluğu bozdu). Mac OS X 10.4, geriye dönük uyumluluk, bir miktar performans ve çekirdek uyumluluğu pahasına da olsa daha küçük imajlar (özellikle makehybrid ile birleştirildiğinde) sağlayan UDBZ formatında bzip2 sıkıştırmasını tanıttı.
Mac OS X 10.4.7'de, kaynak çatallanma yapılarının dayattığı meta veri uzunluğu sınırlamalarını önlemek için önceden UDIF imajlarına gömülen kaynak çatallanmaları tamamen terk edildi. Sonuç olarak, 10.4.7 ve sonraki sürümlerde oluşturulan UDIF imajları, varsayılan olarak Mac OS X 10.1 veya Mac OS X 10.0 tarafından tanınmayacaktır. İmajda depolanan meta veri türünü özelleştirmek için flatten kullanılabilir.
Mac OS X 10.5, hızlı bir şekilde sıkıştırılan ancak önceki işletim sistemi sürümleri tarafından tanınmayan sparse bundle imajlarını tanıttı. Mac OS X 10.6, F_FULLFSYNC özelliğini desteklemeyen ağ dosya sunucularından SPARSEBUNDLE imajlarının bağlanması desteğini kaldırdı, ancak bu gereksinim macOS 10.12'de gevşetildi. OS X 10.7, eski meta verileri kullanan imajlar için çift tıklama desteğini kaldırdı; bunlar flatten ve unflatten veya basitçe convert kullanılarak rehabilite edilebilir.
OS X 10.11, UDZO'ya kıyasla daha hızlı, daha verimli sıkıştırma ve daha küçük imajlar sağlayan ULFO formatında lzfse sıkıştırmasını tanıttı. Bu imajlar çekirdek içinde de desteklenir, ancak işletim sisteminin daha önceki sürümlerinde çalışmayacaktır.
macOS 10.12, yalnızca değerlendirme ve geliştirme amaçlı olan APFS adlı Apple Dosya Sisteminin ön sürümünü içeriyordu. APFS tabanlı imajlarda depolanan dosyalara macOS'in gelecekteki sürümlerinde erişilemeyebilir ve geçmiş sürümlerinde çalışmayabilir. APFS birimlerinde depolanacak tüm veriler, APFS kullanılmadan önce yedeklenmeli ve APFS kullanılırken düzenli olarak yedeklenmelidir.
macOS 10.15:
• ULFO ile karşılaştırıldığında daha küçük imajlar sağlayan ULMO formatında lzma sıkıştırmasını tanıttı. Bu imajlar çekirdek içinde desteklenmez ve işletim sisteminin daha önceki sürümlerinde çalışmaz.
• OS 9 tarzı çift çatallı dosya desteğini (hdiutil flatten/unflatten) kullanımdan kaldırdı.
• Kullanımdan kaldırılan "hdiutil internet-enable" komutunu ve IDME bağlama bayraklarını kaldırdı.
macOS 11.0:
• DiskCopy42, DART ve NDIF formatları için desteği kaldırdı.
• AppleSingle ve MacBinary kodlamaları için desteği kaldırdı.
• Kullanımdan kaldırılan OS 9 tarzı çift çatallı dosya desteğini (hdiutil flatten/unflatten) kaldırdı.
• Yeni imajlar için varsayılan dosya sistemi APFS olarak değiştirildi (bölüm haritası olmayan boş bir disk imajı yerine). Boş bir disk imajı oluşturmak için oluşturma bayraklarına "-layout NONE" ekleyin. Bu değişiklik -srcfolder veya -srcdevice argümanlarıyla oluşturulan imajlar için geçerli değildir.
macOS 12.0:
• UDBZ formatını (bzip2 sıkıştırması) kullanımdan kaldırdı.
• Dilimli UDIF imajlarını kullanımdan kaldırdı (hdiutil segment, hdiutil create ve convert eylemlerindeki -segmentSize argümanı).
• hdiutil udifrez/udifderez (kaynakları gömme ve çıkarma) eylemlerini kullanımdan kaldırdı.
macOS 13.0:
• "encrypted-encoding-version" seçeneğini kaldırdı. Tüm yeni şifreli imajlar, şifreli kodlama sürümü 2 ile oluşturulur.
Tarihçe
Disk imajları ilk olarak, üretim çoğaltması için disketlerin temsillerini elektronik olarak depolamak ve iletmek amacıyla tasarlandı. Disketlerin bu imajları, bunları oluşturan ve disketlere geri yükleyen uygulamaya atıfta bulunarak genellikle 'Disk Copy 4.2' imajları olarak adlandırılır. Disk Copy 4.2 imajları, sıkıştırma kavramı olmaksızın bir disketin blok blok temsilleriydi. DART, sıkıştırmayı destekleyen Disk Copy 4.2 formatının bir türevidir.
NDIF (New Disk Image Format) imajları, Disk Copy 4.2 ve DART imaj formatlarının yerini almak ve bir disketten daha büyük imajları desteklemek amacıyla geliştirildi. NDIF ve Disk Copy sürüm 6 ile imajlar, Mac OS 9 altında yığın depolama aygıtları olarak "bağlanabiliyordu". Üretim sırasında genellikle bir kez oluşturulan ve birçok kez geri yüklenen imajları sıkıştırmak için (hızlı açma için özenle optimize edilen) Apple Veri Sıkıştırma (ADC) kullanıldı.
UDIF (Universal Disk Image Format) aygıt imajları, NDIF'in bıraktığı yerden devam ederek imajların tüm blok aygıtlarını ve içindeki tüm verileri temsil etmesini sağladı: DDM, bölüm haritası, disk tabanlı sürücüler vb. Örneğin, daha sonra bir imajdan çoğaltılabilen önyüklenebilir CD'leri temsil edebilir. Tek çatallı dosyaları sağlamak için (NDIF çift çatallıydı), kaynak çatallanmasını veri çatallanmasına gömmeye başladı. UDIF, OS X için yerel imaj formatıdır.
Ham disk imajları (örneğin .iso dosyaları) disk imajı olarak tanınacak ve macOS dosya sistemlerini tanırsa bağlanıp yüklenebilecektir. Ayrıca hdiutil burn ile yazılabilirler.
YENİLİKLER macOS 10.15, lzma ile sıkıştırılmış ULMO formatındaki imajları ekledi. Bu imajlar, lzfse ile sıkıştırılmış benzer ULFO imajlarından daha küçüktür. Bu imajlar çekirdek içinde desteklenmez ve daha eski işletim sistemlerinde kullanılamaz.
macOS 10.12, değerlendirme için ön sürüm APFS'yi tanıttı (yukarıdaki UYUMLULUK bölümüne bakın). 10.12 ayrıca, klasörden imaj işlemleri sırasında atomik kopyalamayı devre dışı bırakmak için biraz daha hızlı imaj oluşturulmasını sağlayabilecek bir seçenek olan -noatomic seçeneğini ekledi. pmap, Boot Camp yapılandırmaları için sorun giderme bilgilerini yakalayan yeni bir anahtar olan -diagnostic seçeneğini ekledi.
OS X 10.11, lzfse ile sıkıştırılmış ULFO formatındaki imajları ekledi. Bu imajlar, zlib ile sıkıştırılmış benzer UDZO imajlarından daha verimli ve daha küçüktür ve çekirdek uyumluluğunu korurlar, ancak daha eski işletim sistemlerinde kullanılamazlar.
OS X 10.10, geriye dönük uyumluluğu etkilemeden varsayılan UDIF parça boyutunu dört katına çıkardı. 10.10 üzerinde oluşturulan veya dönüştürülen UDIF imajları, UDZO ve özellikle UDBZ formatları için daha küçük meta verilerden ve daha verimli sıkıştırmadan yararlanacaktır.
OS X 10.7, tüm imajın üzerine güvenli bir şekilde yazmaya kıyasla zaman kazandıran yeni erasekeys eylemini kullanarak şifreli imajları hızlı bir şekilde erişilemez hale getirme yeteneğini ekledi.
Mac OS X 10.6'da pmap, GPT bölüm haritalarını düzgün bir şekilde destekleyebilmesi için MediaKit'in en son raporlama rutinlerini kullanacak şekilde yeniden yazıldı. Ayrıca artık tüm eylemler için -debug seçeneği -verbose seçeneğini ima eder.
Mac OS X 10.5, mevcut bir imaj veya /dev düğümü üzerinde çalıştırıldığında attach eyleminin davranışını değiştirdi: imaj bağlıysa ancak hiçbir birim yüklenmemişse, birim yüklenirdi. Önceki sistemler birimi yüklemeden /dev değerini döndürürdü. Bu değişiklik, mevcut olandan ikinci bir /dev düğümü oluşturma yeteneğini etkili bir şekilde ortadan kaldırır.
Ayrıca Bakınız
diskutil(8), asr(8), ioreg(8), hfs.util(8), apfs.util(8), msdos.util(8), exfat.util(8), authopen(1), ditto(8), drutil(1), diskarbitrationd(8).
macOS 09 Ara 2020 macOS