← man/disk_and_filesystems
asr — man asr — 80×24
ugur@toprak:~/man/disk_and_filesystems$man asr
Bölüm 8 Disk & Dosya Sistemleri

asr

Apple Software Restore; bölümleri kopyalar (örneğin disk görüntülerinden)

Sözdizimi

     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 | file ... version

Açıklama

asr, 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 SİSTEMLERİ İLE GERİ 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 ANLIK GÖRÜNTÜLERİ İLE GERİ 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 SİSTEM BÖLÜMLERİ İLE GERİ YÜKLEME bölümüne bakın.

asr'nin görevlerini gerçekleştirebilmesi için root olarak çalıştırılması gerekir (bkz. sudo(8)).

Eylemler

Her eylem, açıklaması ve bireysel argümanları ile birlikte listelenmiştir.

restore 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

  • --source: bir disk görüntüsü, /dev girdisi 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 /dev girdisi 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. Ayrıntılar için aşağıdaki APFS DOSYA SİSTEMLERİ İLE GERİ YÜKLEME bölümüne bakın.

  • --file: bir çoklu yayın geri yüklemesi gerçekleştirirken --target yerine --file belirtilebilir. 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ı asr tarafından artık desteklenmediğinden her zaman --erase kullanılmalıdır. kaynak, çoklu yayın akışından geri yükleme yapmak için bir asr:// url'si ise --erase seçeneği geçilmelidir (çoklu yayın yalnızca silerek blok kopyalama ile geri yüklemeleri destekler). --file ile birlikte --erase seç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 --erase seç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. --erase kullanılmadığında --format yoksayılır. Not: HFS Günlüğü (Journaling) kaynak görüntünün bir özniteliğidir ve --format seçeneğinden etkilenmez.

  • --noprompt: hedef silinmeden önce normalde gösterilen onay istemini bastırır. hedef üzerinde newfs_hfs(8) çağrılacaktır ve yeni veriler yazılmaya başlandığında kurtarma şansı kalmayacaktır. Uyarıldınız.

  • --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ğer 0'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 --puppetstrings seç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. 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 üzerinde fsck_hfs -r çalıştırarak), ancak böyle bir değişikliğin pratik olmadığı durumlar için --allowfragmentedcatalog seç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 sonra asr, 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'lerini asr'yi info eylemiyle çalıştırarak görebilirsiniz. Bu seçeneğin ne zaman gerekli olduğu hakkında bilgi edinmek için aşağıdaki APFS DOSYA SİSTEMLERİ İLE GERİ YÜKLEME bölümüne bakın.

--sourcevolumeUUID bir APFS geri yüklemesi yaparken kaynak konteynerdeki hangi bölümün tersine çevrileceğini asr'ye bildirir. Bölüm adlarını ve UUID'lerini asr'yi info eylemiyle çalıştırarak görebilirsiniz. Bu seçeneğin ne zaman gerekli olduğu hakkında bilgi edinmek için aşağıdaki APFS DOSYA SİSTEMLERİ İLE GERİ YÜKLEME bölümüne bakın.

--useReplication APFS bölümlerini geri yüklemek için asr'yi replikasyon kullanmaya zorlar (aşağıdaki REPLİKASYON 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çin asr'yi inverter kullanmaya zorlar (aşağıdaki REPLİKASYON 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. Daha fazla ayrıntı için aşağıdaki APFS ANLIK GÖRÜNTÜLERİ İLE GERİ YÜKLEME bölümüne bakın.

--fromSnapshot hedef APFS bölümüne geri yüklenecek anlık görüntü farkını belirtmek amacıyla --toSnapshot ile 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. Daha fazla ayrıntı için aşağıdaki APFS ANLIK GÖRÜNTÜLERİ İLE GERİ YÜKLEME bölümüne bakın.

restoreexact restore ile aynı işlemi gerçekleştirir, 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 (aşağıdaki APFS DOSYA SİSTEMLERİ İLE GERİ YÜKLEME bölümüne bakın), bu nedenle kullanımı kullanımdan kaldırılmıştır (deprecated).

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ün http:// url'si geçilebilir.

--interface varsayılan ağ arayüzü yerine çoklu yayın için kullanılacak ağ arayüzü (örneğin en0).

  • --config: sunucu, standart property list (plist) biçiminde bir yapılandırma dosyasının geçilmesini gerektirir. Aşağıdaki anahtarlar/seçenekler, çoklu yayın işlemi için çeşitli parametreleri yapılandırır.

Gerekli

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. plist içindeki bir sayıdır (defaults(1) ile ayarlandığında -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/alamaması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. plist içindeki bir dizedir.

İsteğe Bağlı

Client Data Rate bu, en yavaş istemcinin hedefine saniye başına bayt cinsinden veri yazma hızıdır. asr ilk geçişte verileri kaçırırsa (ilerleme sırasında x'ler görünür) ve Data Rate değerini yavaşlatmak bunu çözmezse, Client Data Rate değ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. plist içindeki bir sayıdır (defaults(1) ile ayarlandığında -int).

DNS Service Discovery sunucunun DNS Hizmet Keşfi (Bonjour (tm) olarak da bilinir) aracılığıyla duyurulup duyurulmayacağıdır. Varsayılan olarak true değerini alır. plist içindeki bir boole değerdir (defaults(1) ile ayarlandığında -bool).

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ğeri 0'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. plist içindeki bir sayıdır (defaults(1) ile ayarlandığında -int).

Multicast TTL çoklu yayın paketlerinin yaşam süresidir (yönlendiriciler üzerinden çoklu yayın yapmak için). Varsayılan değeri 3'tür. 0 olarak ayarlanamaz ve 1 olarak ayarlanmamalıdır (aksi takdirde bazı ağ yönlendiricilerini olumsuz etkileyebilir). plist içindeki bir sayıdır (defaults(1) ile ayarlandığında -int).

Port ilk istemci-sunucu el sınıfması, sürüm kontrolleri, çoklu yayın geri yükleme meta verileri ve akış verilerinin bağlantı noktasıdır (port). Varsayılan değeri 7800'dür. Bu yalnızca varsayılan bağlantı noktası kullanılamadığında dahil edilmeli/değiştirilmelidir. plist içindeki bir sayıdır (defaults(1) ile ayarlandığında -int).

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ı üzerinde fsck_hfs -r çalıştırmak), --allowfragmentedcatalog seç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 bir plist olarak yazar.

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ükleyebilir. 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 and 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.

Bu işlemleri gösteren bazı komut satırları için aşağıdaki ÖRNEKLER bölümüne bakın.

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ğeriyle com.apple.asr alanındaki (domain) tercihlere bakar.

  • Komut satırındaki --useReplication veya --useInverter seç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. Anlık görüntü geri yüklemelerini gösteren bazı komut satırları için aşağıdaki ÖRNEKLER bölümüne bakın.

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. Yine anlık görüntü farkı geri yüklemelerine ilişkin bazı komut satırı örnekleri için aşağıdaki ÖRNEKLER bölümüne bakın.

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 REPLİKASYON 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şleyen 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 ANLIK GÖRÜNTÜLERİ İLE GERİ 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

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 bellekdir. Özel bütünlük kontrolü ara belleği kullanılması önerilmez.

mkfile(8) gibi, boyut varsayılan olarak bayt cinsindendir ancak arkasından bir çarpan karakteri (örneğin 'm') gelebilir.

--buffers num num adet 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) num adet 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 ilerleme ve hata iletilerini etkinleştirir.

Örnekler

     Bölüm klonlama:
	   sudo asr restore --source /Volumes/Classic --target /Volumes/install --erase

     Geri yükleme:
	   sudo asr restore -s <sıkıştırılmışgörüntü> -t <hedefbölüm> --erase

     Hedefi silecek ve potansiyel olarak bir blok kopyalama geri yüklemesi yapacaktır.

     Çoklu yayın sunucusu:
	   asr server --source <sıkıştırılmışgörüntü> --config <yapılandırma.plist>

     configuration.plist içindeki parametreleri kullanarak belirtilen görüntü için bir çoklu yayın sunucusu başlatacaktır. Görüntü, bir istemci bir geri yükleme başlatmaya çalışana kadar ağ üzerinde çoklu yayın yapmaya başlamayacaktır. Sunucu, işlem sonlandırılana kadar görüntüyü çoklu yayınlamaya devam edecektir.

     Örnek bir çoklu yayın yapılandırma dosyası:
	   defaults write /tmp/streamconfig "Data Rate" -int 6000000
	   defaults write /tmp/streamconfig "Multicast Address" <mcastadresi>
	   (/tmp/streamconfig.plist dosyasını oluşturacaktır)
	   <mcastadresi> ağ altyapınız ve politikanız için uygun olmalıdır, genellikle ağ yöneticiniz tarafından atanan bir aralıktandır.

     Çoklu yayın istemcisi
	   sudo asr restore --source asr://<makineadı> --target <hedefbölüm> --erase

     Bir dosyaya geri yükleme yapan çoklu yayın istemcisi
	   sudo asr restore --source asr://<makineadı> --file <dosya> --erase

     <makineadı> adresinden çoklu yayın akışını alacak ve bir dosyaya kaydedecektir. Eğer <dosya> bir dizin ise, dosyayı kaydetmek için akışla gönderilen disk görüntüsünün görüntüsü kullanılacaktır. --erase seçeneği, aynı ada sahip mevcut herhangi bir dosyanın üzerine yazılmasına neden olur.

     Tek bir APFS bölümünü geri yükleme
	   sudo asr restore -s <APFS görüntüsü> -t /Volumes/MyAPFSVolume --erase

     Bu durumda MyAPFSVolume içeriği, kaynak konteynerin tek APFS bölümünün içeriğiyle değiştirilecektir; kaynak geçerli bir sistem ise muhtemelen Preboot ve Recovery bölümleri için ilişkili tüm verileri içerecektir. Kaynak birden fazla özel olmayan bölüme sahipse bu bir hatadır. Hedefteki diğer hiçbir bölüm etkilenmeyecektir.

     Çok sayıdaki APFS bölümünden birini geri yükleme
	   sudo asr restore -s <APFS görüntüsü> --sourcevolumename KaynakBölüm -t /Volumes/MyAPFSVolume --erase

     Bu, asr'ye verilen APFS görüntüsünden "KaynakBölüm" adlı bölümü seçmesini söyler. O ada sahip bir bölüm yoksa veya o ada sahip birden fazla bölüm varsa bu bir hatadır. Bir görüntünün bölüm adlarını ve UUID'lerini görmek için info eylemini kullanın. Hedefteki diğer hiçbir bölüm etkilenmeyecektir.

     Anında yeni bir APFS bölümü oluşturma
	   sudo asr restore -s <APFS görüntüsü> --sourcevolumename KaynakBölüm -t /dev/disk2

     Burada son örnekle aynı etkiyi elde ederiz, ancak asr /dev/disk2 ile verilen hedef APFS konteyner diskinde yeni bir bölüm oluşturacak ve bu yeni oluşturulan bölümü hedef olarak kullanacaktır. Konteynerde halihazırda var olan tüm bölümler geri yüklemeden sonra da orada olmaya devam edecektir.

     Mevcut konteynerin üzerine yazma
	   sudo asr restore -s <APFS görüntüsü> --sourcevolumename KaynakBölüm -t /dev/disk2 --erase

     Son örnekte olduğu gibi, hedef APFS konteyner diskindeki yeni bir bölüme geri yükleme yapıyoruz. Ancak bu durumda hedefi siliyoruz, bu nedenle halihazırda var olan tüm bölümler yok edilir.

     Bir görüntünün bölüm adlarına/UUID'lerine bakma
	   asr info -s <APFS görüntüsü>

     Bu görüntünün daha önce taranmış olduğu varsayılırsa (imagescan eylemi kullanılarak), bu komut bölümlerin adlarını ve UUID'lerini görüntüleyecek, böylece bunlar --sourcevolumename veya --sourcevolumeUUID seçenekleriyle kullanılabilecektir.

     Bir anlık görüntüyü geri yükleme
	   sudo asr restore -s <APFS görüntüsü> -t /dev/disk2 --toSnapshot Snap1

     Bu, görüntü bölümünün Snap1 adında bir anlık görüntüsü olduğunu varsayar. Geri yükleme sırasında asr, /dev/disk2 adresindeki konteynerde yeni bir bölüm oluşturacak ve bu bölümü geri yüklemenin hedefi olarak kullanacaktır. Sonuçta ortaya çıkan hedef bölüm, kaynak bölümdeki Snap1 ile aynı içeriğe sahip olacak ve ayrıca kaynak üzerindeki Snap1 ile aynı ada (Snap1) ve UUID'ye sahip bir anlık görüntüye sahip olacaktır. Bu anlık görüntü, geri yüklemeden hemen sonraki canlı hedef bölümle eşleşecektir; canlı bölüm daha sonra değişebilir ancak anlık görüntü aynı kalacaktır.

     Bir anlık görüntü farkını geri yükleme
	   sudo asr restore -s <APFS görüntüsü> -t /Volumes/Target --erase --fromSnapshot Snap1 --toSnapshot Snap2

     Bu, görüntü bölümünün Snap1 adında bir anlık görüntüsü ve Snap2 adında başka bir anlık görüntüsü olduğunu varsayar. Ayrıca hedef bölüm de (burada "/Volumes/Target" adresine bağlıdır) aynı UUID ve içeriğe sahip Snap1'i içermelidir. Geri yüklemenin sonucu, hedef bölümün kaynak bölümdeki Snap2 ile aynı içeriğe sahip olması ve ayrıca kaynak üzerindeki Snap2 ile aynı ada (Snap2) ve UUID'ye sahip bir anlık görüntü kazanması olacaktır. Geri yüklemenin, Snap2'nin tüm içeriği yerine yalnızca iki anlık görüntü arasındaki farkı kopyalaması gerekecektir.

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:

  1. Kaynak bölümü istediğiniz gibi ayarlayın.

  2. 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 "Dosya -> Yeni Görüntü -> <aygıt>'tan Görüntü" (File -> New Image -> Image from ) önerilmez.

  3. "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.

  4. 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.

Uyumluluk

asr, önceki sözdizimi ile uyumluluğu korur, örneğin:

asr -source kaynak -target hedef [seçenekler] asr -source kaynak -server yapılandırma [seçenekler] asr -source asr://kaynak -file dosya [seçenekler] asr -imagescan [seçenekler] görüntü asr -h | file ... -v

Burada -source, -target ve -file sırasıyla --source, --target ve --file seçeneklerine eşdeğerdir ve tüm [seçenekler] kendi -- açıklamalarına eşdeğerdir. asr -server yapılandırma seçeneğinin yerini asr server --config yapılandırma almıştır. Aşağıdaki kullanımdan kaldırılmış seçenekler de kalmıştır:

  • -nocheck: bu seçenek kullanımdan kaldırılmıştır ancak betik uyumluluğu için korunmuştur. Bunun yerine -noverify kullanın.

  • -blockonly: bu seçenek kullanımdan kaldırılmıştır ancak betik uyumluluğu için korunmuştur. Varsayılan olarak etkindir. -blockonly ile 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.

Hatalar

asr, talep edilen işlemi tamamlayamazsa 1 durumuyla çıkacaktı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:

  1. 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.")

  2. Kopyalama sırasında bir hata oluşursa, bunun nedeni kaynak görüntü dosyasındaki bir bozulma olabilir. Görüntü ile "hdiutil verify" komutunu çalıştırmayı deneyin. Bunu belirten yaygın bir hata mesajı "codec overrun" şeklindedir.

  3. 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.

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.

Ayrıca Bakınız

hdiutil(1), df(1), bless(8), ditto(1) ve what(1)

Mac OS X 10 Aralık 2020 Mac OS X