← man/security_and_auth
kextlibs — man kextlibs — 80×24
ugur@toprak:~/man/security_and_auth$man kextlibs
Bölüm 8 Güvenlik & Kimlik

kextlibs

bir kext tarafından ihtiyaç duyulan OSBundleLibraries ögelerini bulur

Synopsis

     kextlibs [options] [--] kext ...

Deprecated

kextlibs aracı artık kullanımdan kaldırılmıştır (deprecated). Lütfen kmutil(8) eşdeğeri olan şu komutu kullanın: kmutil libraries.

Description

kextlibs aracı, kext tarafından bağlanmak (link) için gereken sembolleri tanımlayan kitaplık kext'lerini arar, bunların paket kimliklerini (bundle identifier) ve sürümlerini standart çıktıya (stdout) yazdırır. Eğer kext çoklu mimariye sahip bir yürütülebilir dosyaysa, kitaplıklar her bir mimari için ayrı ayrı çözümlenir. Herhangi bir sembol bulunamazsa veya birden fazla kitaplıkta bulunursa, bu tür sembollerin sayıları her bir mimari için kitaplık kext bilgilerinden sonra standart hataya (stderr) yazdırır.

kextlibs aracının kullanışlı bir kullanımı, onu yalnızca -xml bayrağıyla çalıştırmak ve çıktıyı pbcopy(1) komutuna yönlendirmektir; eğer çıkış durumu sıfırsa (tanımlanmamış veya birden fazla tanımlanmış sembol olmadığını belirtir), kext'inizin Info.plist dosyasını bir metin düzenleyicide açabilir ve kitaplık bildirimlerini OSBundleLibraries özelliğinin üzerine yapıştırabilirsiniz.

Kök birim için uzantı dizinleri dışındaki bir uzantı klasörünü aramak üzere -repository seçeneğini kullanarak macOS'in eski sürümleri için kitaplıklar bulmak amacıyla kextlibs aracını kullanabilirsiniz (ancak Mac OS X 10.6 (Snow Leopard) öncesi sürümler mimariye özgü özellikleri kontrol etmediğinden, çıktıyı kontrol ettiğinizden ve gerektiği gibi düzenlediğinizden emin olun). Açıkça bir depo (repository) dizini belirtmezseniz kextlibs, kök birimin /System/Library/Extensions ve /Library/Extensions dizinlerini arar.

Options

-h, -help Her bir seçenek bayrağını açıklayan bir yardım mesajı yazdırır ve komut satırındaki diğer seçeneklerden bağımsız olarak başarı sonucuyla çıkar.

-all-symbols Tanımlanmamış olarak kalan tüm semboller, her biri tam olarak bir kitaplık kext'inde çözümlenmiş tüm semboller ve farklı kitaplık kext'lerinde birden fazla tanımı olan tüm semboller hakkında raporlar yazdırır. -undef-symbols, -onedef-symbols ve -multdef-symbols seçeneklerinin tümünün belirtilmesine eşdeğerdir. Normalde yalnızca eksik ve yinelenen sembollerin sayısı yazdırılır.

-c, -compatible-versions Mevcut sürüm yerine uyumlu sürümü yazdırır.

-multdef-symbols kext içinden birden fazla kitaplık kext'inde bulunan tüm tanımlanmamış sembolleri, ardından bu kitaplık kext'lerinin paket kimliklerini ve sürümlerini (veya -compatible-versions belirtilmişse uyumlu sürümlerini) yazdırır. Normalde yalnızca birden fazla tanımlanmış sembollerin sayısı yazdırılır.

-non-kpi Herhangi bir com.apple.kpi.* sistem kext'i yerine com.apple.kernel.6.0 uyumluluk kext'ini arar. Bu seçeneğin kullanılması önerilmez: Tam çekirdek bileşeni (mach, bsd, libkern veya iokit) belirlenemez ve com.apple.kernel uyumlu sürümü mevcut sürümüne kilitlenir, bu nedenle ona bağlanan kext'ler yalnızca o tam sürüme karşı yüklenebilir.

-onedef-symbols kext içinden tam olarak bir kitaplık kext'inde bulunan tüm tanımlanmamış sembolleri, ardından bu kitaplık kext'inin paket kimliğini ve sürümünü (veya -compatible-versions belirtilmişse uyumlu sürümünü) yazdırır. Normalde bir kez bulunan semboller hakkında hiçbir şey yazdırılmaz.

-r directory, -repository directory Bağımlılıklar için directory dizinini arar. Bu seçenek birden fazla kez belirtilebilir. Bunu, çalışan sisteminkilerden farklı bir uzantı kümesine göre kitaplık bildirimleri almak (örneğin farklı bir macOS sürümü için) veya yan taraftaki bir kitaplık kext'leri dizinini dahil etmek için kullanabilirsiniz. Not: Bu seçenekle bir dizin belirtirseniz, sistem uzantı klasörleri dolaylı olarak aranmaz. Bkz. -system-extensions.

-e, -system-extensions Arama yapılacak dizinler listesine /System/Library/Extensions ve /Library/Extensions dizinlerini ekler. Herhangi bir dizin veya kext belirtmezseniz bu seçenek varsayılan olarak kullanılır.

-undef-symbols kext içinden hiçbir kitaplık kext'inde bulunamayan tüm tanımlanmamış sembolleri yazdırır. Normalde yalnızca bulunamayan sembollerin sayısı yazdırılır.

-unsupported Semboller için desteklenmeyen kitaplık kext'lerini arar (varsayılan olarak bunlar aranmaz).

-v [0-6 | 0x####], -verbose [0-6 | 0x####] Ayrıntılı mod; programın çalışması hakkında bilgi yazdırır. Daha yüksek ayrıntı düzeyleri tüm alt düzeyleri içerir. 0-6 arasında bir düzey veya onaltılık (hexadecimal) bir günlük belirtimi belirtebilirsiniz (kext_logging(8) sayfasında açıklandığı gibi). kextlibs için 1-6 arasındaki ondalık düzeylerin genellikle çok az etkisi olur.

-xml Standart çıktıya (stdout) doğrudan bir Info.plist dosyasına kopyalanıp yapıştırılmaya uygun bir XML parçası yazdırır. Bu seçenek, kitaplıklar hakkındaki bilgileri stdout'a yazdırır ve ardından semboller hakkındaki bilgileri stderr'e yazdırır. XML modunda, tüm mimariler için kitaplıklar aynıysa, yalnızca tek bir OSBundleLibraries kümesi yazdırılır; herhangi biri diğerlerinden farklıysa, tüm mimariler için mimariye özgü listeler yazdırılır (OSBundleLibraries_i386, OSBundleLibraries_x86_64 vb.).

-- Seçeneklerin sonu.

Files

/System/Library/Extensions/ Çekirdek uzantılarının standart sistem deposudur. /Library/Extensions/ Apple dışı çekirdek uzantılarının standart deposudur.

Diagnostics

kextlibs aracı, tamamlandığında tüm tanımlanmamış semboller tam olarak bir kez bulunursa 0 durumuyla; tanımlanmamış herhangi bir sembol kalırsa 1 durumuyla; veya herhangi bir sembol birden fazla kitaplık kext'inde bulunursa (tanımlanmamış sembol kalıp kalmadığına bakılmaksızın) 2 durumuyla ve başka bir sorun olduğunda sıfır olmayan başka bir durum değeriyle çıkar.

Bugs

kextlibs, sembolleri çözümlemek için basit bir dizge eşleştirme algoritması kullanır ve tam bağlama (link) işleminin yaptığı yamaların hiçbirini uygulamaz. Bu durum, kextlibs'in üzerinde çalıştırıldığı macOS sürümünden daha önceki bir macOS sürümüne ait bir SDK'ye karşı oluşturulmuş bir kext içindeki sembolleri ararken başarısız olmasına neden olabilir. Bu gibi durumlarda kextlibs'i, -repository seçeneğini kullanarak o önceki sürümün Extensions klasörüne karşı çalıştırabilirsiniz.

Pek çok tek harfli seçeneğin anlamı, diğer kext araçlarındaki aynı harfli seçeneklerle tutarsızdır (veya bunlarla doğrudan çelişir).

See Also

kmutil(8), kernelmanagerd(8), kextutil(8), kextfind(8), kext_logging(8)

Darwin November 14, 2012 Darwin