Özet
aa komut [seçenekler]
Açıklama
aa, Apple Arşivleri (Apple Archives) oluşturur ve bunları işler.
Komutlar
archive: Hedef dizinin içeriğini arşivler.append: Hedef dizinin içeriğini mevcut bir arşiv dosyasına ekler.extract: Bir arşivin içeriğini hedef dizine çıkarır.list: Bir arşivin içeriğini listeler.convert: Bir arşivi başka bir arşive dönüştürür.manifest:archive -manifestkomutunun takma adıdır.verify: Hedef dizinin içeriğini bir bildirim (manifest) ile karşılaştırır.check-and-fix: Hata düzelten bir bildirim kullanarak hedef dizinin içeriğini doğrular ve düzeltir.
Seçenekler
-v: Ayrıntı düzeyini artırır. Varsayılan olarak sessiz çalışır.-h: Kullanımı yazdırır ve çıkış yapar.-d,-dir: Arşivleme veya çıkarma için hedef dizin. Varsayılan değer geçerli dizindir.-i,-input_file: Girdi dosyası. Varsayılan değer standart girdidir (stdin).-o,-output_file: Çıktı dosyası. Varsayılan değer standart çıktıdır (stdout).-subdir:diraltındaki arşivlenecek yol.subdir, arşivlenen yollara dahil edilir ve çıkarılır. Varsayılan olarak boştur.-D,-dir_and_subdir: Hemdirdeğerinidirname dir_and_subdirhem desubdirdeğerinibasename dir_and_subdirolarak ayarlar.-x: Arşivleme yaparken birim (volume) sınırlarını aşmaz.-p: Kaynak yola bağlı olarak hedef yolu otomatik olarak oluşturur. Örneğinaa archive -d foo -pkomutuaa archive -d foo -o foo.aarhaline gelir.-a,-algorithm: Arşiv oluştururken kullanılan sıkıştırma algoritması.lzfse,lzma,lz4,zlibveyarawdeğerlerinden biridir. Varsayılan değerlzfsedeğeridir.-b,-block_size: Arşivleri sıkıştırırken kullanılan blok boyutu. İsteğe bağlıb,k,m,gson ekiyle bir sayı belirtilir. Son ek belirtilmezse bayt olduğu varsayılır. Varsayılan olarakarchivekomutu için4m, diğer komutlar için1mdeğeridir.-t,-worker_threads: Verileri sıkıştıran veya açan çalışan iş parçacığı (worker thread) sayısı. Varsayılan olarak, çalışan makinedeki fiziksel CPU sayısıdır.-wt,-writer_threads: Arşiv içeriğini çıkaran yazıcı iş parçacığı sayısı. Varsayılan olarakworker_threadsile eşleşir.-enable-dedup,-no-enable-dedup: Ayarlanırsa ve arşivde SLC alanları mevcutsa, aynı verilere sahip dosyalar klon (clone) olarak çıkarılır.-enable-holes,-no-enable-holes: Ayarlanırsa ve dosya sistemi destekliyorsa, sıfırla doldurulmuş bölümleri depolamak için dosyalardaki boşlukları (holes) algılar ve oluşturur.-ignore-eperm,-no-ignore-eperm: Ayarlanırsa, dosya özniteliklerini ayarlarken oluşanEPERMhatalarını yoksayar.-manifest: Aşağıdaki seçeneklerin takma adıdır:-exclude-field dat -include-field sh2,siz,idx,idz -a lzfse -b 1m-imanifest,-input_manifest_file: Girdi arşiviyle eşleşen bildirim dosyası. İşlemeyi hızlandırmak amacıyla giriş seçim seçenekleriyle birlikte kullanılabilir.-omanifest,-output_manifest_file: Çıktı arşivinin bildirim dosyasını alır.-list-format,-format:listkomutunun çıktı biçimi.textveyajsondeğerlerinden biridir. Varsayılan değertextdeğeridir.
SLC alanını manuel olarak eklemek için örnek:
aa archive -o archive.aa -include-field SLC ...
Komut satırından arşivdeki verileri yalnızca bir kez depolayarak tekilleştirmenin yolu yoktur. Bunu elde
etmek için API'yi kullanın ve AA_FLAG_ARCHIVE_DEDUPLICATE_DAT bayrağını iletin.
Öğe Seçim Seçenekleri
İlk olarak bir başlangıç öğe kümesi seçmek için -include-path ve -include-path-list seçenekleri
uygulanır. Ardından bu kümeden öğeleri çıkarmak için -exclude-path, -exclude-path-list,
-exclude-name ve -exclude-regex seçenekleri uygulanır.
Herhangi bir -include-path veya -include-path-list seçeneği verilmezse, başlangıç kümesine tüm öğeler
dahil edilir. Bir dizin dahil edilir veya hariç tutulursa, tüm alt ağaç dahil edilir veya hariç tutulur.
-include-path,-path: Önek olarakpathdeğerine sahip öğe yollarını dahil eder.-exclude-path,-path: Önek olarakpathdeğerine sahip öğe yollarını hariç tutar.-include-path-list,-path_list_file: Dahil edilecek yolların listesini içeren dosya. Satır başına bir öğe beklenir.-exclude-path-list,-path_list_file: Hariç tutulacak yolların listesini içeren dosya. Satır başına bir öğe beklenir.-include-regex,-expr:exprdüzenli ifadesiyle eşleşen öğe yollarını dahil eder.re_format(7)kılavuzuna bakın.-exclude-regex,-expr:exprdüzenli ifadesiyle eşleşen öğe yollarını hariç tutar.-exclude-name,-name: Yolun tek bir bileşenininnameile tam olarak eşleştiği öğe yollarını hariç tutar.-include-type,-<tür_belirteci>: Yalnızca verilen türlerle eşleşen öğeleri dahil eder.-exclude-type,-<tür_belirteci>: Yalnızca verilen türlerle eşleşmeyen öğeleri dahil eder.-include-field,-<alan_belirteci>: Verilen alanları alan anahtarları kümesine ekler.-exclude-field,-<alan_belirteci>: Verilen alanları alan anahtarları kümesinden çıkarır.
Bu seçeneklerin çoğu birden fazla kez belirtilebilir.
Şifreleme Seçenekleri
Arşivleme yaparken şifreleme, -password..., -key... veya -recipient-pub seçeneklerinden biriyle
belirlenir. -sign-priv ile bir özel anahtar belirtilirse arşiv imzalanır.
Mevcut profillerle, genel/özel anahtarlar Elliptic Curve P-256 üzerindedir ve simetrik anahtarlar 256 bit uzunluğundadır.
-keychain: Simetrik anahtarları ve şifreleri yüklemek veya depolamak için Keychain uygulamasını kullanır.-password,-file: Şifreleme parolası içeren dosya. Şifreleme yaparken-password-genseçeneği geçilirse oluşturulan parolayı alır. Parolayı standart çıktıya yazdırmak için-olabilir.-password-value,-parola: Parola.-password-gen: Şifreleme yaparken yeni bir rastgele parola oluşturur. Parolayı Keychain'de depolamak için-keychainseçeneğiyle veya parolayı bir dosyada depolamak/yazdırmak için-passwordseçeneğiyle birlikte kullanılması önerilir.-key,-file: Şifreleme simetrik anahtarını içeren dosya. Şifreleme yaparken-key-genseçeneği geçilirse oluşturulan anahtarı alır.-key-value,-anahtar: Simetrik anahtar.hex:<64 onaltılık basamak>veyabase64:<base64 kullanılarak kodlanmış 32 bayt>biçimindedir.-key-gen: Şifreleme yaparken yeni bir rastgele simetrik anahtar oluşturur.-recipient-pub,-file: Şifreleme için alıcı genel anahtarı. Arşivi çözmek için ilgili özel anahtar gereklidir.-recipient-priv,-file: Şifre çözme için alıcı özel anahtarı. Arşiv, ilgili genel anahtarla şifrelenmiş olmalıdır.-sign-pub,-file: Şifre çözme için imza genel anahtarı. Arşiv, ilgili özel anahtarla imzalanmış olmalıdır.-sign-priv,-file: Şifreleme için imza özel anahtarı. Arşivi çözmek ve kimliğini doğrulamak için ilgili genel anahtar gereklidir.
Öğe Türleri
| Belirteç | Anlam |
|---|---|
b |
blok özel (block special) |
c |
karakter özel (character special) |
d |
dizin |
f |
normal dosya |
l |
sembolik bağ |
m |
meta veriler (metadata) |
p |
fifo |
s |
soket |
Öğe Alanları
| Alan | Anlam |
|---|---|
typ |
öğe türü |
pat |
yol (path) |
lnk |
bağ yolu (link path) |
dev |
aygıt kimliği (device id) |
uid |
kullanıcı kimliği (user id) |
gid |
grup kimliği (group id) |
mod |
erişim izinleri |
flg |
bayraklar |
mtm |
değiştirme zamanı (modification time) |
ctm |
oluşturma zamanı (creation time) |
btm |
yedekleme zamanı (backup time) |
xat |
genişletilmiş öznitelikler (extended attributes) |
acl |
erişim denetim listesi (access control list) |
cks |
CRC32 sağlama toplamı |
sh1 |
SHA1 özeti |
sh2 |
SHA2-256 özeti |
dat |
dosya içeriği |
siz |
dosya boyutu |
duz |
disk kullanımı |
idx |
ana arşivdeki öğe indeksi |
yec |
dosya verisi hata düzeltme kodları |
yaf |
Apple Archive alanları |
all |
tüm alanlar için takma ad; yalnızca hariç tutma |
attr |
uid,gid,mod,flg,mtm,btm,ctm için takma ad |
Örnekler
8 MB bloklar halinde LZMA sıkıştırması kullanarak foo dizininin içeriğini foo.aar arşivine aktarır:
aa archive -d foo -o foo.aar -a lzma -b 8m
foo.aar içeriğini dst dizinine çıkarır:
aa extract -d dst -i foo.aar
1 MB bloklar halinde LZFSE sıkıştırması kullanarak foo dizininin bildirimi foo.manifest içine
oluşturur:
aa manifest -d foo -o foo.manifest -a lzfse -b 1m
dst içeriğinin foo.manifest ile eşleştiğini doğrular:
aa verify -i foo.manifest -d dst -v
foo.manifest içindeki tüm öğe yollarını yazdırır:
aa list -i foo.manifest
Normal dosyalar için öğe yollarını, uid ve gid değerlerini yazdırır:
aa list -v -i foo.manifest -include-type f -exclude-field all -include-field uid,gid,pat
foo.aar arşivinin içeriğine ait bir bildirim dosyasını foo.manifest içinde oluşturur:
aa convert -manifest -v -i foo.aar -o foo.manifest
foo.aar arşivinden Applications/Mail.app önekiyle eşleşen öğeleri dst dizinine çıkarır:
aa extract -i foo.aar -include-path Applications/Mail.app -d dst
Rastgele bir parola oluşturup Keychain'de depolayarak foo dizinini foo.aea arşivine aktarır ve
şifreler:
aa archive -d foo -o foo.aea -keychain -password-gen
Parolayı Keychain'den alarak foo.aea arşivini dst dizinine çözer ve çıkarır:
aa extract -o foo.aea -d dst -keychain
foo dizinini foo.aar arşivine aktarır:
aa archive -p -d foo
foo.aar arşivini foo dizinine çıkarır:
aa extract -p -i foo.aar