Özet
asr eylem [seçenekler]
asr restore[exact] --source kaynak --target hedef [seçenekler]
asr server --source kaynak --config yapılandırma [seçenekler]
asr restore --source asr://kaynak --file dosya [seçenekler]
asr imagescan --source görüntü [seçenekler]
asr help | version
Açıklama
asr (Apple Software Restore), disk görüntülerini doğrudan veya bir çoklu yayın (multicast) ağ akışı üzerinden bölümlere verimli bir şekilde kopyalar. asr, ara bir disk görüntüsü kullanmadan bölümleri aslına uygun olarak doğrudan da klonlayabilir.
İlk biçiminde asr, kaynağı (genellikle bir disk görüntüsü, potansiyel olarak bir HTTP sunucusunda) hedefe kopyalar. kaynak, dosya sistemindeki bir yol veya bir http ya da https URL'si kullanılarak belirtilebilir. Ayrıca çoklu yayın kaynağını belirtmek için bir asr:// URL'si de olabilir. asr, çoklu yayın sunucusu olarak hareket etmek üzere ikinci biçimiyle de çağrılabilir. Üçüncü biçiminde asr, bir çoklu yayın disk görüntüsünü disk bölümü yerine bir dosyaya geri yükler. Dördüncü biçiminde asr, tüm bölüm bütünlüğü kontrolü (checksum) bilgilerini ekleyerek bir disk görüntüsünü verimli bir şekilde geri yüklenmek üzere hazırlar. help ve version sırasıyla kullanım ve sürüm bilgilerini sağlar.
kaynak ve hedef, /dev girdileri veya bölüm bağlama noktaları (mountpoint) olabilir. APFS dosya sistemlerine veya dosya sistemlerinden geri yükleme hakkında daha fazla bilgi için aşağıdaki APFS Dosya Sistemleri ile Geri Yükleme bölümüne bakın. Çoklu yayın disk görüntüsü bir dosyaya geri yükleniyorsa dosya, yerel bir dosya veya dizin yolu olabilir. Belirtilen yol bir dosya ise disk görüntüsüne belirtilen ad verilir. Bir dizin ise çoklu yayınlanan disk görüntüsünün adı kullanılır. server belirtilirken kaynak UDIF disk görüntüsü olmak zorundadır. Çoklu yayın akışından geri yükleme, kaynak olarak bir asr:// URL'si geçilerek gerçekleştirilir.
APFS bölümlerini geri yüklerken asr, kaynak bölümden anlık görüntülerin (snapshot) geri yüklenmesini ve ayrıca anlık görüntü farklarının (snapshot delta) geri yüklenmesini destekler. Aşağıdaki APFS Anlık Görüntüleri ile Geri Yükleme bölümüne bakın.
asr, Salt Okunur Sistem Bölümü (ROSV) içeren sistemlerin geri yüklenmesini destekler. Daha fazla bilgi için aşağıdaki Salt Okunur Sistem Bölümleri ile Geri Yükleme bölümüne bakın.
[!WARNING]
asraracının görevlerini başarıyla gerçekleştirebilmesi için root (yönetici) yetkileriyle çalıştırılması gerekir (bkz.sudo(8)).
Eylemler
Her eylem, açıklaması ve bireysel argümanları ile birlikte aşağıda listelenmiştir:
restore | restoreexact
Bir disk görüntüsünü veya bölümünü başka bir bölüme (bağlanmış bir disk görüntüsü dahil) geri yükler.
restoreexact, restore ile aynı işlemi gerçekleştirir ve tüm aynı seçenekleri alır ancak şu farkı vardır: bir HFS Plus bölümü için, eğer böyle bir yeniden boyutlandırma yapılabiliyorsa, hedef bölüm kaynak bölüm/bölüm boyutuna tam olarak uyacak şekilde yeniden boyutlandırılır. Hedef bölümün büyümesi gerekiyorsa ve yeterli alan yoksa işlem başarısız olur. Küçülmesi gerekiyorsa, hedef diskin bölüm haritasında boş alan bırakarak her zaman bunu yapabilmelidir. Hedef boyut olarak kaynakla tam olarak eşleştiğinden, geri yükleme tamamlandığında kaynak ve hedefteki tüm bölüm yapıları aynı olmalıdır. APFS bölümlerinde restoreexact seçeneğine izin verilmez, bu nedenle kullanımı artık önerilmemektedir (deprecated).
--source: Bir disk görüntüsü,/devgirdisi veya bölüm bağlama noktası olabilir. Son iki durumda, silerek blok kopyalamanın (erase blockcopy) gerçekleşmesi için bölümün ayrılabilir (unmountable) olması veya salt okunur olarak bağlanmış olması gerekir (bu nedenle, salt okunur olarak bağlanmış olmadıkça kaynak olarak kök dosya sistemi silinip blok kopyalanamaz).--target: Bir/devgirdisi veya bölüm bağlama noktası olabilir. Silerek blok kopyalamanın gerçekleşmesi için ayrılabilir olmalıdır. Kaynak bir APFS konteynerinin görüntüsünü belirtiyorsa, hedef bağlanmış bir APFS bölümünü belirtebilir.--file: Bir çoklu yayın geri yüklemesi gerçekleştirirken--targetyerine--filebelirtilebilir. Belirtilen yol bir dosya ise disk görüntüsüne belirtilen ad verilir. Bir dizin ise çoklu yayınlanan disk görüntüsünün adı kullanılır.--erase: Hedefi siler ve zorunludur. Dosya kopyalamalarıasrtarafından artık desteklenmediğinden her zaman--erasekullanılmalıdır. Kaynak, çoklu yayın akışından geri yükleme yapmak için birasr://URL'si ise--eraseseçeneği geçilmelidir (çoklu yayın yalnızca silerek blok kopyalama ile geri yüklemeleri destekler).--fileile birlikte--eraseseçeneğinin geçilmesi, çoklu yayın dosya kopyalaması yaparken mevcut herhangi bir dosyanın üzerine yazılması gerektiğini belirtir.--format HFS+ | HFSX: Hedefin dosya sistemi biçimini belirtir (bununla birlikte--eraseseçeneğinin de verilmesi gerekir). Belirtilmezse hedef, kaynak ile aynı dosya sistemi biçiminde biçimlendirilecektir. Çoklu yayın yapılıyorsa belirtilen--format, kaynak ile blok kopyalama uyumlu olmalıdır.--erasekullanılmadığında--formatyoksayılır. Not: HFS Günlüğü (Journaling) kaynak görüntünün bir özniteliğidir ve--formatseçeneğinden etkilenmez.--noprompt: Hedef silinmeden önce normalde gösterilen onay istemini bastırır. Hedef üzerindenewfs_hfs(8)çağrılacaktır ve yeni veriler yazılmaya başlandığında kurtarma şansı kalmayacaktır.--timeout num: Bir çoklu yayın istemcisinin, çoklu yayın akışı üzerinden herhangi bir yük verisi (payload) alınmadığında çıkış yapmadan önce bekleyeceği süreyi saniye cinsinden belirtir; bu, sunucu hatası/durması durumunda istemcinin durmasını sağlar. Varsayılan değer0'dır (yani hiçbir zaman zaman aşımına uğramaz).--puppetstrings: Başka bir programın ayrıştırması kolay olan ilerleme çıktıları sağlar.asr'nin ilerlemesini yorumlamaya çalışan her program--puppetstringsseçeneğini kullanmalıdır.--noverify: Bir bölümün düzgün bir şekilde geri yüklendiğinden emin olmak için normalde uygulanan doğrulama adımlarını atlar.--noverify, taranmamış görüntülerin geri yüklenmesine izin verir.[!CAUTION] Doğrulamayı atlamak birçok nedenden dolayı tehlikelidir ve üretim sistemlerinde asla kullanılmamalıdır.
--allowfragmentedcatalog: Kaynağın katalog dosyası parçalanmış (özellikle 8'den fazla extent'e sahip) olsa bile geri yükleme işlemlerinin devam etmesine izin verir. Varsayılan olarak bu tür geri yüklemelere izin verilmez. Katalog parçalanması istenmeyen bir durumdur ve çoğu durumda sorunu kaynak üzerinde düzeltmek daha iyidir (örneğin üzerindefsck_hfs -rçalıştırarak), ancak böyle bir değişikliğin pratik olmadığı durumlar için--allowfragmentedcatalogseçeneği sağlanmıştır. Bu seçenek yalnızca kaynak bir HFS+ dosya sistemi varyantı belirtiyorsa anlamlıdır. Aksi takdirde yoksayılır.--corestorageconvert: Geri yükleme sonunda hedefin bir Core Storage LVG'ye dönüştürülmesini sağlar. Kopyalama ve doğrulama tamamlandıktan sonraasr, hedef tarafından temsil edilen bölümü tek fiziksel bölümü (PV) olarak kullanarak yeni bir Core Storage Mantıksal Hacim Grubu (LVG) oluşturacaktır. Kaynaktan geri yüklenen bölüm içerikleri, bu LVG'den dışa aktarılan tek bir mantıksal bölüm (LV) olarak mevcut olacaktır. Hedef zaten bir Core Storage LV ise bu seçeneğin hiçbir etkisi yoktur.--SHA1: Doğrulama sırasında geri yüklemeyi görüntüdeki SHA-1 karmasını (hash) kullanmaya zorlar. Görüntü SHA-1 karması içermiyorsa bir hata oluşturulacaktır.--SHA256: Doğrulama sırasında geri yüklemeyi görüntüdeki SHA2-256 karmasını kullanmaya zorlar. Görüntü SHA2-256 karması içermiyorsa bir hata oluşturulacaktır.--sourcevolumename: Bir APFS geri yüklemesi yaparken kaynak konteynerdeki hangi bölümün tersine çevrileceğini (invert)asr'ye bildirir. Belirtilen ada sahip birden fazla bölüm varsa bu bir hatadır. Bölüm adlarını ve UUID'leriniasr'yiinfoeylemiyle çalıştırarak görebilirsiniz.--sourcevolumeUUID: Bir APFS geri yüklemesi yaparken kaynak konteynerdeki hangi bölümün tersine çevrileceğiniasr'ye bildirir. Bölüm adlarını ve UUID'leriniasr'yiinfoeylemiyle çalıştırarak görebilirsiniz.--useReplication: APFS bölümlerini geri yüklemek içinasr'yi replikasyon kullanmaya zorlar (aşağıdaki Replikasyon ve İnverter bölümüne bakın). Bu varsayılan ayardır, ancak bunun yerine inverter kullanmaya yönelik bir tercih ayarı olabilir. Bu seçenek, söz konusu tercih ayarını geçersiz kılacaktır.--useInverter: APFS bölümlerini geri yüklemek içinasr'yi inverter kullanmaya zorlar (aşağıdaki Replikasyon ve İnverter bölümüne bakın). Bu seçenek tüm tercih ayarlarını geçersiz kılar.--toSnapshot: Hedef APFS bölümüne geri yüklenecek kaynak APFS bölümündeki anlık görüntüyü belirtir. Argüman, kaynak üzerindeki bir anlık görüntünün adı veya UUID'si olmalıdır.--fromSnapshot: Hedef APFS bölümüne geri yüklenecek anlık görüntü farkını belirtmek amacıyla--toSnapshotile birlikte kullanılacak kaynak APFS bölümündeki bir anlık görüntüyü adlandırır. Argüman, hem kaynak hem de hedef üzerinde bulunan bir anlık görüntünün adı veya UUID'si olmalıdır.
server
Kaynağı ağ üzerinden çoklu yayınlar. İstemciler tarafından --erase seçeneğinin geçilmesini gerektirir (çoklu yayın yalnızca silerek blok kopyalama ile geri yüklemeleri destekler).
--source: Kaynak bir UDIF disk görüntüsü olmak zorundadır. Yerel/uzak bir bölümdeki disk görüntüsünün yolu veya bir web sunucusu aracılığıyla erişilebilen bir disk görüntüsününhttp://URL'si geçilebilir.--interface: Varsayılan ağ arayüzü yerine çoklu yayın için kullanılacak ağ arayüzü (örneğinen0).--config: Sunucu, standart property list (plist) biçiminde bir yapılandırma dosyasının geçilmesini gerektirir. Yapılandırma parametreleri aşağıda listelenmiştir.
imagescan
Sağlanan görüntüdeki verilerin bütünlük kontrollerini (checksum) hesaplar ve bunları görüntüde saklar. Bu bütünlük kontrolleri, düzgün geri yüklemelerin yapılmasını sağlamak için kullanılır. Varsayılan olarak bir SHA2-256 karması kullanılır. Ayrıca disk görüntüsünün çoklu yayın için uygun sırada olup olmadığını belirler ve uygun sırada değilse dosyayı yeniden yazar. Görüntünün yeniden sıralanması gerekiyorsa, taranan disk görüntüsünün boyutuna eşit miktarda boş disk alanı gerekecektir.
--nostream: Çoklu yayın için disk görüntüsü dosyasının kontrolünü/yeniden sıralanmasını atlar. Varsayılan olarak disk görüntüleri, çoklu yayın için gerekli olacak şekilde yeniden yazılacaktır.--allowfragmentedcatalog: Parçalanmış bir katalog dosyasının kontrolünü atlar. Varsayılan olarak bu kontrol yapılır ve parçalanmış bir katalog dosyasına sahip bir görüntü üzerinde taramaya izin verilmez. Genellikle görüntüyü düzeltmek (örneğin yazılabilir bir kopyası üzerindefsck_hfs -rçalıştırmak),--allowfragmentedcatalogseçeneğini kullanmaktan daha iyi bir fikirdir; ancak görüntüyü düzeltmenin pratik olmadığı durumlar için bu seçenek sunulmuştur.
info
imagescan eyleminin önceki bir kullanımı tarafından görüntüye yerleştirilen görüntü meta verilerini raporlar. --source seçeneğini gerektirir. Rapor standart çıktıya yazılır.
--plist: Çıktısını başka bir program tarafından ayrıştırılmaya uygun, XML biçiminde birplistolarak yazar.
Çoklu Yayın (Multicast Server) Yapılandırma Anahtarları
server eyleminin --config parametresiyle belirtilen .plist dosyasında aşağıdaki anahtarlar yer alır:
Gerekli Anahtarlar
Data Rate: Bu, saniye başına bayt cinsinden istenen veri hızıdır. Ortalama olarak akış bu hızdan biraz daha yavaş gidecektir ancak asla bu hızı aşmayacaktır.plistiçindeki bir sayıdır (örn.defaults writeile-int). Not: Çoklu yayın yapılan ağ altyapısının performansı/güvenilirliği, hangi veri hızının desteklenebileceğini belirlemede önemli bir faktördür. Belirli bir veri hızı için aşırı/ani paket kaybı, sunucunun/istemcinin o hızda çoklu yayın verisi gönderememesinden/alamasasından kaynaklanabilir, ancak ağ altyapısının talep edilen hızda çoklu yayını destekleyebildiğini doğrulamak da aynı derecede önemlidir.Multicast Address: Bu, veri akışı için Çoklu Yayın adresidir.plistiçindeki bir dizedir.
İsteğe Bağlı Anahtarlar
Client Data Rate: Bu, en yavaş istemcinin hedefine saniye başına bayt cinsinden veri yazma hızıdır.asrilk geçişte verileri kaçırırsa (ilerleme sırasındax'ler görünür) veData Ratedeğerini yavaşlatmak bunu çözmezse,Client Data Ratedeğerinin ayarlanması çoklu yayın akışının hızını dinamik olarak düzenleyerek istemcilere verileri yazmaları için daha fazla zaman tanıyacaktır.plistiçindeki bir sayıdır.DNS Service Discovery: Sunucunun DNS Hizmet Keşfi (Bonjour olarak da bilinir) aracılığıyla duyurulup duyurulmayacağıdır. Varsayılan olaraktruedeğerini alır.plistiçindeki bir boole değerdir.Loop Suspend: Hiçbir istemci geri yükleme işlemine başlamadığında disk görüntüsü dosyasının kaç kez çoklu yayınlanacağına dair bir sınırdır. Bu sınır aşıldığında sunucu akışı durduracak ve disk görüntüsü dosyasını tekrar çoklu yayınlamadan önce yeni istemcileri bekleyecektir. Varsayılan değeri0'dır (örneğin, bir istemci akışı başlattıktan sonra çoklu yayını asla durdurmaz) ve 2'den küçük bir değere ayarlanmamalıdır.plistiçindeki bir sayıdır.Multicast TTL: Çoklu yayın paketlerinin yaşam süresidir (yönlendiriciler üzerinden çoklu yayın yapmak için). Varsayılan değeri3'tür. 0 olarak ayarlanamaz ve 1 olarak ayarlanmamalıdır (aksi takdirde bazı ağ yönlendiricilerini olumsuz etkileyebilir).plistiçindeki bir sayıdır.Port: İlk istemci-sunucu el sıkışması, sürüm kontrolleri, çoklu yayın geri yükleme meta verileri ve akış verilerinin bağlantı noktasıdır (port). Varsayılan değeri7800'dür. Bu yalnızca varsayılan bağlantı noktası kullanılamadığında dahil edilmeli/değiştirilmelidir.plistiçindeki bir sayıdır.
APFS Dosya Sistemleri ile Geri Yükleme
Bireysel APFS bölümleri doğrudan geri yüklenemez çünkü aygıt düğümleri standart bir işlemden I/O yapılmasına izin vermez. Ancak asr, tüm bölümler dahil olmak üzere APFS konteynerlerini tamamen geri yükleyebilir. Veya tek bir sistemi geri yükleme etkisi oluşturabilecek geçerli sistem yapılandırmalarını geri yükebilir. Bu, geçerli bir sistemle ne kastedildiğinin anlaşılmasını gerektirir.
Bir APFS bölümünün önyüklenebilir (bootable) olması için düzgün bir şekilde kurulmuş bir macOS sistemi içermesi gerekir. Ayrıca içinde iki özel bölümün daha bulunduğu bir APFS konteynerinin parçası olmalıdır: Preboot bölümü ve Recovery bölümü. Bir konteynerde isteğe bağlı sayıda sistem bölümü bulunabilir ancak yalnızca bir Preboot bölümü ve bir Recovery bölümü bulunmalıdır; bunların her birinin ilgili APFS bölüm rolü ayarlanmış olmalıdır (roller hakkında bilgi için diskutil(1) kılavuzuna bakın). Preboot ve Recovery bölümleri, konteynerdeki her bir sistem bölümüne bağlı bilgiler içerir. Dolayısıyla bir sistem bölümünün önyüklenebilir olması için bu bilgilerin Preboot ve Recovery bölümlerinde ayarlanmış olması gerekir. Bu iki özel bölüme sahip olan ve bu bölümlerde gerekli bilgilerin kurulu olduğu bir konteynerin parçası olan sisteme bundan sonra "geçerli sistem" denilecektir.
Bir geri yüklemenin kaynağı bir APFS görüntüsü ise (yani bir APFS konteyneri içeren bir görüntü), asr hedefin nasıl belirtildiğine bağlı olarak farklı şeyler yapar:
Bölüm Geri Yükleme
Hedef, mevcut bir APFS konteyneri içindeki bireysel bir bölüm ise, asr APFS konteynerini o bölüm içindeki bir dosyaya blok olarak geri yükleyecek, ardından geri yüklenen konteyner içindeki bölümü tersine çevirecek (invert), hedef bölümün önceki içeriklerini silecek ve bunları kaynak bölüm içerikleriyle değiştirecektir. Kaynak konteynerde yalnızca tek bir özel olmayan bölüm varsa (yani Preboot veya Recovery değilse), tersine çevrilecek bölüm odur. Kaynak konteynerde birden fazla özel olmayan bölüm varsa, --sourcevolumename veya --sourcevolumeUUID seçeneği bulunmalı ve tersine çevrilecek bölümü belirtmelidir. Ek olarak, tersine çevrilen bölüm geçerli bir sistem ise (yukarıda tanımlandığı gibi), hem Preboot hem de Recovery bölümlerinin ilgili içerikleri kaynaktan hedefe kopyalanacak ve gerekirse hedefte bu bölümler oluşturulacaktır.
Oluşturarak Bölüm Geri Yükleme
Hedef, sentezlenmiş (synthesized) bir APFS diskinin tamamı veya Apple_APFS bölümü ise ve --erase seçeneği mevcut değilse, asr verilen konteynerde yeni bir bölüm oluşturacak ve ardından önceki bölümde olduğu gibi bu yeni bölüme bir bölüm geri yüklemesi yapacaktır. Konteynerdeki diğer tüm bölümler korunur.
Silerek Bölüm Geri Yükleme
Hedef, sentezlenmiş bir APFS diskinin tamamı veya herhangi bir disk bölümü ise ve --erase seçeneği mevcutsa, asr mevcut bölümü silecek, içinde yeni bir APFS konteyneri ve yeni bir bölüm oluşturacak, ardından önceki bölümde olduğu gibi bu yeni bölüme bir bölüm geri yüklemesi gerçekleştirecektir.
Replikasyon ve İnverter
macOS Catalina'dan itibaren, APFS bölümlerini geri yüklemek için standart mekanizma yerel APFS replikasyon yeteneğini kullanmaktır. Bu çoğu ihtiyaç için yeterli olsa da asr, apfs_invert programının çalıştırılmasını içeren eski bir geri yükleme mekanizmasını kullanma olanağını da sağlar. İnverter ile geri yüklemenin bazı sınırlamaları vardır (örneğin hedef konteynerdeki tüm bölümlerin ayrılmış olması gerekir, kaynak bölümün içinde herhangi bir anlık görüntü bulunamaz, vb.), bu nedenle varsayılan APFS replikasyonunu kullanmak genellikle daha iyi bir seçimdir. Bununla birlikte, inverter geri yüklemelerinin istendiği durumlarda bu seçenek seçilebilir. asr'nin bunun için kullandığı mantık en düşük öncelikten en yüksek önceliğe doğru şu şekildedir:
- Varsayılan olarak replikasyon kullanır.
"ForceInvert"anahtarı ve Boole değeriylecom.apple.asralanındaki (domain) tercihlere bakar.- Komut satırındaki
--useReplicationveya--useInverterseçeneğine bakar.
APFS Anlık Görüntüleri ile Geri Yükleme
APFS bölümleri, tüm bölüm durumunun (dizin hiyerarşisi, dosya varlığı ve dosya içeriği dahil) belirli bir zamandaki yakalamaları olan anlık görüntüleri (snapshot) içerebilir. Bir anlık görüntü ile bir bölümün mevcut durumu arasında ayrım yapmak için burada mevcut durumu "canlı bölüm" (live volume) olarak adlandıracağız. Anlık görüntüler ad veya UUID ile tanımlanabilir. Adlar tek bir bölüm içinde benzersizdir, ancak iki bölüm içerik olarak ilgisiz olan aynı ada sahip anlık görüntülere sahip olabilir. Buna karşılık, anlık görüntü UUID'leri benzersizdir; bu bağlamda, farklı bölümlerdeki aynı UUID'ye sahip iki anlık görüntünün aynı içeriğe başvurması gerekir. Bu durum genellikle bu bölümde açıklandığı gibi bir anlık görüntünün geri yüklenmesiyle ortaya çıkar.
Canlı bir bölümü (sistem tarafından bilinen veya bir görüntüden) geri yüklemenin yanı sıra asr, kaynak bölümden bir anlık görüntünün geri yüklenmesini de destekler. Böyle bir geri yüklemenin sonucu, hedef bölümün canlı kaynak bölüm gibi değil, belirtilen anlık görüntü anındaki kaynak bölüm gibi görünmesidir. Ek olarak hedef bölüm, kaynaktaki geri yüklenen anlık görüntüyle aynı ad ve UUID'ye sahip olan bu durumu kendi anlık görüntüsü olarak içerecektir.
asr, "anlık görüntü farkı" (snapshot delta) olarak adlandırılan iki anlık görüntü arasındaki farkın geri yüklenmesini de destekler. Bu durumda kaynak bölümünde hem bir "from" (başlangıç) anlık görüntüsü hem de bir "to" (hedef) anlık görüntüsü bulunmalı, hedef bütün bir konteyner yerine belirli bir bölüm olarak belirtilmeli ve hedef bölüm zaten kaynağın "from" anlık görüntüsüyle aynı olan bir anlık görüntü içermelidir. Anlık görüntü farkı geri yüklemesinin sonucu, yukarıda açıklanan normal anlık görüntü geri yüklemesine benzer şekilde hedefin kaynağın "to" anlık görüntüsü gibi görünmesidir. Ancak geri yüklemenin yalnızca iki anlık görüntü arasındaki farkı kopyalaması gerekir, dolayısıyla önemli ölçüde zaman ve/veya ağ ya da veri yolu (bus) kaynaklarından tasarruf sağlayabilir. Bir anlık görüntü farkı geri yüklemesinin hedef bölümden veri atabileceğini unutmayın; bu nedenle asr, bir anlık görüntü farkı geri yüklemesi yaparken --erase seçeneğinin kullanılmasını gerektirir.
[!NOTE] Anlık görüntülerle ve anlık görüntü farklarıyla geri yükleme yapılmasına yalnızca replikasyon kullanılırken izin verildiğini unutmayın (yukarıdaki Replikasyon ve İnverter bölümüne bakın).
Salt Okunur Sistem Bölümleri ile Geri Yükleme
macOS Catalina, standart macOS sistem kurulumunun iki bölüme ayrıldığı Salt Okunur Sistem Bölümü (ROSV) yapılandırmasını destekler. İkisi Sistem (System) ve Veri (Data) bölümleri olarak adlandırılır, ilgili APFS rolleri bu şekilde ayarlanır (APFS rolleri hakkında daha fazla bilgi için diskutil(1) kılavuzuna bakın), bir bölüm grubunda birleştirilirler ve Sistem bölümü salt okunur olarak bağlanır.
asr, ROSV bölüm gruplarının geri yüklenmesini destekler. Kaynak bir ROSV bölüm grubu içeren bir disk görüntüsü veya bir bölüm grubunun parçası olan mevcut bir bölüm ise, her iki bölüm de hedefe geri yüklenecek ve hedef bölümler hedefte yeni bir grupta uygun şekilde birleştirilecektir. Kaynak ve hedefin her biri bir grubun parçası olabileceğinden veya olmayacağından dikkate alınması gereken birkaç durum vardır:
- Yeni Bölümler Oluşturma: Belirtilen hedef bir bölüm yerine bir konteyner ise, kaynak tek bir bölüm veya bir grubun parçası olsun, her zaman yeni bölümler oluşturulacaktır.
- Kaynak Grup, Hedef Tek: Belirtilen hedef silinecek ve kaynak gruptaki Sistem rolündeki bölümle değiştirilecek ve Veri rolündeki bölüm için yeni bir bölüm oluşturulacaktır.
- Kaynak Grup, Hedef Grup: Hedef gruptaki bölümlerin her ikisi de kaynak gruptaki karşılık gelen bölümlerle değiştirilecektir.
- Kaynak Tek, Hedef Grup: Hedefteki Sistem rolü bölümü kaynak bölümle değiştirilecek ve hedefteki Veri rolü bölümü silinecektir.
Anlık Görüntüler ve ROSV Bölüm Grupları
asr, bir bölüm grubundaki herhangi bir bölümden anlık görüntüleri ve anlık görüntü farklarını geri yükleyebilir, ancak anlık görüntü geri yüklemeleri ile anlık görüntü farkı geri yüklemeleri arasındaki davranış farklıdır.
Bir anlık görüntü geri yüklemesi yaparken (yani --fromSnapshot seçeneği olmadan --toSnapshot seçeneğini kullanırken), kaynak bölüm grubundaki her bölüm, belirtilen "to" anlık görüntüsünü içerip içermediğini görmek için incelenir. Grupta anlık görüntüyü içeren her bölüm, yukarıdaki APFS Anlık Görüntüleri ile Geri Yükleme bölümünde açıklandığı gibi bir anlık görüntü replikasyonu olarak kopyalanacaktır. Grupta anlık görüntüyü içermeyen her bölüm ise canlı bölüm replikasyonu olarak kopyalanacaktır. Böylece gruptaki tüm bölümler geri yüklenir ve yalnızca verilen "to" anlık görüntüsünü içerenler üzerinde bir anlık görüntü geri yüklemesi gerçekleştirilir. "to" anlık görüntüsü adla belirtilmişse, kaynak gruptaki birden fazla bölümün o ada sahip bir anlık görüntüsü olabileceğini, ancak bu anlık görüntülerin hiçbir şekilde birbiriyle ilişkili olması gerekmediğini unutmayın.
Buna karşılık, anlık görüntü farkı geri yüklemeleri (yani hem --toSnapshot ve --fromSnapshot seçeneklerini kullanırken) yalnızca tek bir bölüm üzerinde gerçekleştirilir. Kaynak bölüm herhangi bir bölüm olabilir (yani belirli bir role sahip olması gerekmez), ancak bir grubun içinde olsun veya olmasın, yalnızca o bölüm geri yüklenir. Dolayısıyla aynı adlara sahip anlık görüntülere sahip birden fazla bölüm varsa ve hepsi için bir anlık görüntü farkı geri yüklemesi yapmak istiyorsanız, bu tür her bölüm için asr'yi bir kez çağırmanız gerekir.
Ara Belleğe Alma (Buffer Options)
Aşağıdaki seçenekler asr'nin belleği nasıl kullanacağını kontrol eder. Bu seçenekler performans üzerinde önemli bir etkiye sahip olabilir. asr, aygıtlar arasında (farklı disk sürücüleri, bir ağ bölümünden yerel bir diske vb.) kopyalama yapmak için optimize edilmiştir. Bu haliyle asr, varsayılan olarak sekiz adet bir megabaytlık ara bellek (buffer) kullanır. Bu ara bellekler kablolanmıştır (fiziksel belleği işgal eder). Aynı aygıttaki bölümden bölüme kopyalamalar için tek bir büyük ara bellek (örneğin 32 MB), varsayılan sekiz orta boyutlu ara bellekten çok daha hızlıdır. Çoklu yayın için 4 adet 256k ara bellek varsayılandır. Çoklu yayın işlemi için özel ara belleğe alma önerilmez.
--csumbuffers ve --csumbuffersize bütünlük kontrolü (checksum) işlemleri için farklı bir ara bellek yapılandırmasına izin verir. Tek bir bütünlük kontrolü ara belleği en iyi performansı sunar. Varsayılan değer 1 adet 1MB'lık ara bellektir. Özel bütünlük kontrolü ara belleği kullanılması önerilmez.
Boyut tanımlamaları mkfile(8) gibi, varsayılan olarak bayt cinsindendir ancak arkasından bir çarpan karakteri (örneğin megabayt için 'm') gelebilir.
--buffers num:numadet ara bellek kullanılacağını belirtir.--buffersize size: Her bir ara belleğin boyutunu belirtir.--csumbuffers num: Bütünlük kontrolü işlemleri için (yalnızca hedefi etkileyen)numadet ara bellek kullanılacağını belirtir. Özel bütünlük kontrolü ara belleği kullanılması önerilmez.--csumbuffersize size: Bütünlük kontrolü için kullanılan her bir ara belleğin boyutunu belirtir. Özel bütünlük kontrolü ara belleği kullanılması önerilmez.
Diğer Seçenekler
--verbose: Ayrıntılı ilerleme ve hata iletilerini etkinleştirir.--debug: Diğer detaylı hata ayıklama ve ilerleme iletilerini etkinleştirir.-nocheck: Bu seçenek kullanımdan kaldırılmıştır ancak geriye dönük betik uyumluluğu için korunmuştur. Bunun yerine--noverifykullanın.-blockonly: Bu seçenek kullanımdan kaldırılmıştır ancak geriye dönük betik uyumluluğu için korunmuştur. Varsayılan olarak etkindir.-blockonlyile taranmış bir görüntünün belirli bir hedefe blok kopyalanamaması durumunda dosya kopyalama bilgileri atlandığı için bir hata oluşacağını unutmayın. Not: Bir sonraki ana işletim sistemi sürümünde önceki sözdizimi ile uyumluluk garanti edilmez.
Örnekler
Aşağıdaki örnekler kabukta (shell) çalıştırılabilecek şekilde gösterilmiştir:
İki HFS+ bölümünü doğrudan klonlama (Kopyalama öncesi hedefi siler):
sudo asr restore --source /Volumes/Classic --target /Volumes/install --eraseBir disk görüntüsünü (
.dmg) hedef bölüme geri yükleme (hedefi siler):sudo asr restore -s /yol/to/goruntu.dmg -t /dev/disk2s1 --eraseBir çoklu yayın (
multicast) sunucusu başlatma:asr server --source /yol/to/goruntu.dmg --config /tmp/streamconfig.plistÇoklu yayın sunucusundan akış alarak hedef diske geri yükleme:
sudo asr restore --source asr://sunucu_adi --target /dev/disk2s1 --eraseTek bir APFS bölümünü bir disk görüntüsünden geri yükleme:
sudo asr restore -s /yol/to/apfs_goruntusu.dmg -t /Volumes/MyAPFSVolume --eraseÇok bölümlü bir APFS görüntüsünden belirli bir bölümü seçerek geri yükleme:
sudo asr restore -s /yol/to/apfs_goruntusu.dmg --sourcevolumename "Macintosh HD" -t /Volumes/MyAPFSVolume --eraseGeri yükleme yaparken yeni bir APFS bölümü oluşturma (mevcut diğer bölümleri korur):
sudo asr restore -s /yol/to/apfs_goruntusu.dmg --sourcevolumename "Macintosh HD" -t /dev/disk2Bir görüntünün bölüm adlarına ve UUID bilgilerine bakma:
asr info -s /yol/to/apfs_goruntusu.dmgBir APFS anlık görüntüsünü (
snapshot) geri yükleme:sudo asr restore -s /yol/to/apfs_goruntusu.dmg -t /dev/disk2 --toSnapshot "Snap1"İki anlık görüntü arasındaki farkı (
snapshot delta) hedef diske geri yükleme:sudo asr restore -s /yol/to/apfs_goruntusu.dmg -t /Volumes/Target --erase --fromSnapshot "Snap1" --toSnapshot "Snap2"
asr Nasıl Kullanılır
asr, en verimli çalışma için düzgün şekilde oluşturulmuş bir disk görüntüsü gerektirir. Bu görüntü, en kolay şekilde OS X 10.3'teki Disk Utility uygulamasının "Klasörden Görüntü" (Image from Folder) işlevi ile yapılır. OS X 10.2.3 (v55.6) veya sonraki sürümlerdeki Disk Copy de kullanılabilir.
Bir bölümü görüntüleme ve geri yükleme için temel adımlar:
- Kaynak bölümü istediğiniz gibi ayarlayın.
- Disk Utility'nin "Dosya -> Yeni Görüntü -> Klasörden Görüntü..." (File -> New Image -> Image from Folder...) işlevini kullanın ve bölümün kök dizinini seçin. Görüntüyü salt okunur veya sıkıştırılmış olarak kaydedin. Geri yüklenebilir görüntüler için "Aygıt'tan Görüntü" (Image from device) önerilmez.
- "Görüntüler -> Geri Yükleme için Görüntüyü Tara..." (Images -> Scan Image for Restore...) ile görüntüyü tarayın.
- Bir bölüm seçin ve "Geri Yükle" (Restore) düğmesine tıklayın. Ardından taradığınız görüntüyü seçmek için "Görüntü..." (Image...) düğmesine tıklayın. Geri Yükle'ye (Restore) tıklayın.
Blok Kopyalama Geri Yükleme Gereksinimleri
asr, kaynak dosya sistemi veri blokları hedef bölümün alanına sığıyorsa (dosya sistemi geometrisini uygun şekilde yeniden boyutlandırarak) HFS+/HFSX dosya sistemlerini blok kopyalayarak geri yükleyebilir ve kaynak dosya sistemini hedefin bölümüne sığacak şekilde yeniden boyutlandırabilir.
HFS+, bir HFS+ veya HFSX hedefine blok kopyalama kaynağı olarak kullanılabilir. Ancak, bir HFSX kaynağı yalnızca bir HFSX hedefine blok kopyalamak için kullanılabilir. Bunun nedeni, bir HFSX dosya sisteminden HFS+'a dönüştürme yaparken dosya adlarında büyük/küçük harf çakışmasının (case collision) meydana gelebilmesidir.
Bazı HFS+/HFSX dışı dosya sistemleri blok kopyalanarak geri yüklenecektir, ancak hedef bölüm, kaynak görüntünün/bölümün boyutuyla eşleşecek şekilde yeniden boyutlandırılacak ve hiçbir dosya sistemi yeniden boyutlandırması gerçekleşmeyecektir.
Hatalar ve Sorun Giderme
asr, talep edilen işlemi tamamlayamazsa 1 çıkış koduyla sonlanır. Çoğu durumda insan tarafından okunabilir bir hata mesajı yazdırılacaktır. Hata oluştuğunda asr hedef bölüme yazmaya başlamışsa, hedefi silerek geçerli (ancak boş) bir durumda bırakacaktır. Ancak, onu ayrılmış (unmounted) olarak bırakacaktır.
asr'nin yazdırdığı hata mesajlarından bazıları, kullandığı alt sistemler tarafından üretilir ve anlamları her zaman açık değildir. İşte bazı yararlı yönergeler:
asr, verileri fiilen kopyalamaya başlamadan önce bazı uçuş öncesi (preflight) testler yapar. Bu testler sırasında ortaya çıkan hatalar genellikle nettir (örneğin "Geri yüklemeyi gerçekleştirmek için "Macintosh HD" bölümünde yeterli alan yok.")- Kopyalama sırasında bir hata oluşursa, bunun nedeni kaynak görüntü dosyasındaki bir bozulma olabilir. Görüntü ile
hdiutil verifykomutunu çalıştırmayı deneyin. Bunu belirten yaygın bir hata mesajı"codec overrun"şeklindedir. - Kopyalama sırasında meydana gelen ve bariz bir nedeni olmayan hatalar (yani hata mesajının yorumlanması zordur) geçici nitelikte olabilir (örneğin diskte bir G/Ç hatası oluşmuştur) ve geri yüklemeyi basitçe yeniden denemeye değer.
Ayrıca Bakınız
diskutil(8), hdiutil(1), bless(8), df(1), ditto(1), what(1)
Tarihçe
Apple Software Restore, bilgisayarların yazılımlarını 'fabrika' durumuna yeniden yapılandırmak için kullanılan bir saha servis geri yükleme aracı olarak başladı. Daha sonra çeşitli Apple bilgisayar ürünleri için daha genel bir yazılım geri yükleme mekanizması ve yazılım kurulumu yardımcı uygulaması haline geldi. ASR, üretim süreçlerinde ve bilgisayarların Sistem Yazılımı Yükleyicilerinin gönderilmesinde kullanılmıştır.
Mac OS X için asr, üretim ve profesyonel müşteriler için bir komut satırı aracı olarak yeniden yazıldı. asr, Macintosh bilgisayarlarla birlikte gönderilen Mac OS X Yazılım Geri Yükleme uygulamasının yanı sıra Disk Utility'deki Tara ve Geri Yükle işlevselliğinin arka ucudur.
Çoklu istemcilerin bir çoklu yayın ağ akışından bir görüntüyü silerek geri yüklemesine izin vermek için çoklu yayın (multicast) desteği eklenmiştir.
Tarihçesi gereği, asr'deki işlevlerin çoğu başlangıçta HFS+ bölümlerine odaklanmıştı, ancak APFS'yi de kapsayacak şekilde genişletildi.