Depmod - Linux Komutanlığı - Unix Komutanlığı

isim

depmod - yüklenebilir çekirdek modülleri için bağımlılık açıklamaları

özet

depmod [-aA] [-ehnqrsuvV] [-C configfile ] [-F kernelsyms ] [-b basedirectory ] [ forced_version ]
depmod [-enqrsuv] [-F kernelsyms ] module1.o modülü2.o ...

Açıklama

Depmod ve modprobe yardımcı programları, tüm kullanıcılar, yöneticiler ve dağıtım denetleyicileri için Linux modüler çekirdeği yönetilebilir kılmak için tasarlanmıştır.

Depmod , komut satırında belirtilen modüller kümesinde veya yapılandırma dosyasında belirtilen dizinlerde bulunan sembollere bağlı olarak bir "Makefile" benzeri bağımlılık dosyası oluşturur. Bu bağımlılık dosyası daha sonra modül veya modül yığınını otomatik olarak yüklemek için modprobe tarafından kullanılır.

Depmod'un normal kullanımı hattı dahil etmektir.


/ sbin / depmod -a

/etc/rc.d dosyasındaki rc-dosyalarında bir yerde, böylece sistem açıldıktan hemen sonra doğru modül bağımlılıkları mevcut olacaktır. Seçenek -a şimdi isteğe bağlı olduğunu unutmayın. Önyükleme amaçlı olarak, çözümlenmemiş semboller hakkında sessizliği sessiz hale getirdiğinden -q seçeneği daha uygun olabilir.

Yeni bir çekirdek derlendikten hemen sonra bağımlılık dosyasının oluşturulması da mümkündür. Eğer çekirdek 2.2.99 ve modüllerini ilk kez derlediğinizde " depmod -a 2.2.99 " yaparsanız, örneğin 2.2.98'i çalıştırırken, dosya doğru yerde oluşturulacaktır. Ancak bu durumda, çekirdeğe bağımlılıkların doğru olması garanti edilemez. Bu işlem hakkında daha fazla bilgi için yukarıdaki -F , -C ve -b seçeneklerine bakın.

Modüller ve diğer modüller tarafından dışa aktarılan semboller arasındaki ilişkiyi kurarken, depmod modüllerin GPL durumunu ve dışa aktarılan sembollerin durumunu dikkate almaz. Yani, GPL uyumlu lisansı olmayan bir modül bir GPL sadece sembolüne (çekirdekte EXPORT_SYMBOL_GPL) karşılık gelirse depmod bir hata işaretlemez. Ancak, insmod GPL olmayan GPL modülleri için sadece GPL çözümlerini reddedecektir, böylece gerçek yük başarısız olur.

Seçenekler

-a , -

/etc/modules.conf dosyasında (isteğe bağlı) yapılandırma dosyasında belirtilen tüm dizinlerdeki modülleri arayın.

-A , --quick

Dosya zaman damgalarını karşılaştırın ve gerekirse, depmod -a gibi davranın. Bu seçenek sadece bir şey değiştiyse bağımlılık dosyasını günceller.

-e , --errsyms

Her modül için tüm çözümlenmemiş sembolleri gösterin.

-h , --help

Seçeneklerin bir özetini görüntüleyin ve hemen çıkın.

-n , - show

Bağımlılık dosyasını / lib / modules ağacında yerine stdout dosyasına yazın.

-q , --quiet

Depmod'a sessiz kalmasını ve eksik sembollerden şikayet etmemesini söyle.

-r , --root

Bazı kullanıcılar, kök olmayan bir kullanıcı alt yapısı altında modülleri derlerler ve daha sonra modülleri root olarak yüklerler. Bu işlem, modüller dizininin root'a ait olmasına rağmen, root olmayan userid tarafından sahip olunan modülleri bırakabilir. Kök olmayan kullanıcı kodları ele geçirilirse, bir saldırgan, o kullanıcı tarafından sahip olunan mevcut modüllerin üzerine yazabilir ve bu erişimi root erişimine kadar önyükleme için kullanabilir.

Varsayılan olarak, modutils, root tarafından sahip olunmayan bir modülü kullanma girişimlerini reddeder. -r belirtme, hatayı bastırır ve köke, köküne ait olmayan modüllerin yüklenmesine izin verir.

-r kullanımı büyük bir güvenlik riskidir ve tavsiye edilmez.

-s , --syslog

Tüm hata mesajlarını stderr yerine syslog daemon ile yazın.

-u , - çözülmemiş hata

depmod 2.4 herhangi bir çözümlenmemiş sembol olduğunda dönüş kodu ayarlamaz. Modutillerin (2.5) bir sonraki büyük sürümü çözülmemiş semboller için bir dönüş kodu belirleyecektir. Bazı dağıtımlar, modutils 2.4'te sıfırdan farklı olmayan bir dönüş kodu istemektedir, ancak bu değişiklik eski davranışı bekleyen kullanıcılar için sorunlara neden olabilir. Depmod 2.4'te sıfır olmayan bir dönüş kodu istiyorsanız, -u seçeneğini belirtin. depmod 2.5, -u işaretini sessizce yok sayar ve her zaman çözülmemiş semboller için sıfır olmayan bir dönüş kodu verir.

-v , - verbose

Her modülün islenmekte olduğu ismini gösterin.

-V , - dönüşüm

Depmod'un sürümünü görüntüle.

Aşağıdaki seçenekler dağıtımları yöneten kişiler için yararlıdır:

-b basedirectory , --basedir basedirectory

Modüllerin alt ağaçlarını içeren dizin ağacı / lib / modülleri , farklı bir ortam için modülleri ele almak için başka bir yere taşınmışsa, -b seçeneği, / lib / modules ağacının taşınan görüntüsünü nerede bulacağını depmod'a bildirir. Modem.dep yerleşik depmod çıkış dosyasındaki dosya başvuruları, basedirectory yolunu içermeyecektir. Bu, dosya ağacının son dağıtımdaki basedirectory / lib / modules dizininden / lib / modules dizinine geri taşınması durumunda, tüm referansların doğru olacağı anlamına gelir.

-C configfile , --config yapılandırma dosyası

/etc/modules.conf dosyasının yerine configfile dosyasını kullanın . MODULECONF ortam degiskenleri de degisik bir yapilandirma dosyasini /etc/modules.conf (veya /etc/conf.modules (onaylanmamistir)) 'den seçmek için de kullanilabilir.

Ortam değişkeni olduğunda

UNAME_MACHINE ayarlanmış, modutils makine alanı yerine değerini uname () sisteminden kullanacaktır. Bu, esas olarak, 32 bit kullanıcı alanında 64 bit modülleri derlerken veya tam tersi olduğunda, UNAME_MACHINE öğesini , oluşturulmakta olan modüllerin türüne ayarladığınızda kullanmanızdır . Geçerli modutils modüller için tam çapraz oluşturma modunu desteklemez, host mimarinin 32 ve 64 bit sürümleri arasında seçim yapmakla sınırlıdır.

-F kernelsyms , --filesyms kernelsyms

Şu anda çalışan çekirdekten farklı bir çekirdek için bağımlılık dosyaları oluştururken, depmod'un her modüldeki çekirdek referanslarını çözmek için doğru çekirdek sembolleri setini kullanması önemlidir . Bu semboller, diğer çekirdekten System.map dosyasının bir kopyası veya / proc / ksyms dosyasının çıktısının bir kopyası olabilir. Eğer çekirdeğiniz versiyonlanmış semboller kullanıyorsa, bu dosya çekirdek sembollerinin sembol versiyonlarını içerdiğinden, / proc / ksyms çıktısının bir kopyasını kullanmak en iyisidir. Bununla birlikte, sürümlü sembollerle bile bir System.map kullanabilirsiniz.

Yapılandırma

Depmod ve modprobe davranışı (isteğe bağlı) /etc/modules.conf yapılandırma dosyası ile ayarlanabilir.
Tam bir açıklama için modprobe (8) ve modules.conf (5) 'e bakınız.

strateji

Yeni bir çekirdek derlediğinizde, " make modules_install " komutu yeni bir dizin oluşturacak, ancak varsayılanı değiştirmeyecektir.

Çekirdek dağılımı ile ilgili olmayan bir modül aldığınızda, onu / lib / modules altındaki sürüm bağımsız dizinlerden birine yerleştirmelisiniz.

Bu, /etc/modules.conf dosyasında geçersiz kılınabilen varsayılan stratejidir.

Ayrıca bakınız

lsmod (8), ksyms (8)

Önemli: Komutunuzun belirli bir bilgisayarda nasıl kullanıldığını görmek için man komutunu ( % adam ) kullanın.