Linux/Unix Komutu hakkında her şey depmod

Depmod, yüklenebilir için bağımlılık açıklamalarını işler çekirdek modüller.

özet

depmod [-aA] [-ehnqrsuvV] [-C yapılandırma dosyası] [-F çekirdek sembolleri] [-B temel dizin] [zorunlu_versiyondepmod [-enqrsuv] [-F çekirdek sembolleri] modül1.o modül2.o...

Açıklama

NS depmod ve mod sondası yardımcı programlar yapmak için tasarlanmıştır Linux tüm kullanıcılar, yöneticiler ve dağıtım görevlileri için yönetilebilir modüler çekirdek.

Depmod komut satırında belirtilen modüller kümesinde veya yapılandırma dosyasında belirtilen dizinlerden bulduğu sembollere dayalı olarak "Makefile" benzeri bir bağımlılık dosyası oluşturur. Bu bağımlılık dosyası daha sonra mod sondası doğru modülü veya modül yığınını otomatik olarak yüklemek için.

Linux depmod komutu

normal kullanımı depmod satırı dahil etmektir.

/sbin/depmod -a

rc dosyalarında bir yerde /etc/rc.d, böylece sistem önyüklendikten hemen sonra doğru modül bağımlılıkları kullanılabilir olacaktır. Ubuntu, Debian veya Fedora gibi daha kapsamlı bir dağıtımla çalışıyorsanız, bu sizin için yapılacaktır. seçeneği olduğunu unutmayın 

-a artık isteğe bağlı. Önyükleme amacıyla, seçenek -Q depmod'u çözülmemiş semboller hakkında sessiz kıldığı için daha uygun olabilir. Tam olarak ne eklendiğini görmek istiyorsanız, -v komutu ayrıntılı olarak çalıştırmak için geçiş yapın.

Yeni bir çekirdek derlendikten hemen sonra bağımlılık dosyasını oluşturmak da mümkündür. Yaparsan "depmod -a 2.2.99Çekirdek 2.2.99 ve modüllerini ilk kez derlediğinizde, örneğin 2.2.98 hala çalışırken, dosya doğru yerde oluşturulacaktır. Ancak bu durumda, çekirdeğe olan bağımlılıkların doğru olduğu garanti edilmeyecektir. seçeneklere bakın -F, -C ve -B Bununla başa çıkma hakkında daha fazla bilgi için yukarıda.

Modüller ile diğer modüller tarafından dışa aktarılan semboller arasındaki ilişkiyi kurarken,depmod modüllerin veya dışa aktarılan sembollerin GPL durumunu dikkate almaz. Diğer bir deyişle, GPL uyumlu lisansı olmayan bir modül yalnızca GPL sembolüne (çekirdekte EXPORT_SYMBOL_GPL) başvuruyorsa, depmod bir hatayı işaretlemeyecektir. Yine de, insmod GPL olmayan modüller için yalnızca GPL sembollerini çözmeyi reddeder, böylece gerçek yük başarısız olur.

Seçenekler

-a, --herşey

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

-A, --hızlı

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

-e, --errsyms

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

-H, --Yardım

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

-n, --göstermek

Bağımlılık dosyasını yerine stdout'a yazın. /lib/modules ağaç.

-Q, --sessizlik

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

-r, --kök

Bazı kullanıcılar, modülleri kök olmayan bir kullanıcı kimliği altında derler ve ardından modülleri kök olarak yükler. Bu işlem, modüller dizininin sahibi kök olsa bile, kök olmayan kullanıcı kimliğinin sahip olduğu modülleri bırakabilir. Kök olmayan kullanıcı kimliğinin güvenliği ihlal edilirse, davetsiz bir kişi bu kullanıcı kimliğinin sahip olduğu mevcut modüllerin üzerine yazabilir ve bu gösterimi kök erişimine kadar önyükleme yapmak için kullanabilir.

Varsayılan olarak modutils, root'a ait olmayan bir modülü kullanma girişimlerini reddedecektir. belirtme-r hatayı bastırır ve root'un, root'a ait olmayan modülleri yüklemesine izin verir.

-r kullanımı büyük bir güvenlik açığıdır ve önerilmez.

-s, --syslog

Tüm hata mesajlarını stderr yerine syslog arka plan programı aracılığıyla yazın.

-u, --çözülmemiş-hata

depmod 2.4, çözülmemiş semboller olduğunda bir dönüş kodu belirlemez. Bazı dağıtımlar, modutils 2.4'te sıfır olmayan bir dönüş kodu ister, 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, belirtin -u. depmod 2.5 sessizce görmezden gelecek -u flag ve çözümlenmemiş semboller için her zaman sıfırdan farklı bir dönüş kodu verecektir.

-v, --ayrıntılı

İşlenmekte olan her modülün adını gösterin.

-V, --versiyon

sürümünü göster depmod.

Dağıtımları Yönetme

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

-B temel dizin, --tabanlı temel dizin

Eğer dizin ağacı /lib/modules modüllerin alt ağaçlarını içeren farklı bir ortam için modülleri işlemek için başka bir yere taşınır, -B seçenek, depmod'a taşınan görüntünün nerede bulunacağını söyler. /lib/modules ağaç. Oluşturulan depmod çıktı dosyasındaki dosya referansları, modüller.dep, içermeyecek temel dizin yol. Bu, dosya ağacının geri taşındığı zaman anlamına gelir. temel dizin/lib/modüller içine /lib/modules son dağıtımda tüm referanslar doğru olacaktır.

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

Dosya yapılandırma dosyasını kullanın onun yerine /etc/modules.conf. ortam değişkeni MODÜLKONF varsayılandan farklı bir yapılandırma dosyası seçmek için de kullanılabilir /etc/modules.conf (veya/etc/conf.modules (kullanımdan kaldırıldı)).

Ne zaman ortam değişkeni UNAME_MACHINE ayarlanırsa modutils, uname() sistem çağrısındaki makine alanı yerine kendi değerini kullanır. Bu, esas olarak 64 bit modülleri 32 bit kullanıcı alanında derlerken veya bunun tersi için kullanılır. UNAME_MACHINE inşa edilen modüllerin türüne göre. Mevcut modutils, modüller için tam çapraz yapı modunu desteklemez, ana bilgisayar mimarisinin 32 ve 64 bit sürümleri arasında seçim yapmakla sınırlıdır.

-F çekirdek sembolleri,--filesyms çekirdek sembolleri

Şu anda çalışan çekirdekten farklı bir çekirdek için bağımlılık dosyaları oluştururken, depmod her modüldeki çekirdek referanslarını çözmek için doğru çekirdek sembolleri setini kullanır. Bu semboller ya bir kopyası olabilir sistem haritası diğer çekirdekten veya çıktının bir kopyasından /proc/ksyms. Çekirdeğiniz sürümlü semboller kullanıyorsa, en iyisi bir kopyasını kullanmaktır. /proc/ksyms çıktı, çünkü bu dosya çekirdek sembollerinin sembol versiyonlarını içerir. Ancak, bir sistem haritası versiyonlanmış sembollerle bile.

Yapılandırma

davranışı depmod ve mod sondası (opsiyonel) konfigürasyon dosyası ile ayarlanabilir/etc/modules.conf. Görmek mod sondası(8) ve modüller.conf(5) tam bir açıklama için.

strateji

Her yeni bir çekirdek derlediğinizde, "modüller_install yap" yeni bir dizin oluşturacak, ancak varsayılanı değiştirmeyecektir.

Çekirdek dağıtımıyla ilgisi olmayan bir modül aldığınızda, onu aşağıdaki sürümden bağımsız dizinlerden birine yerleştirmelisiniz. /lib/modules.

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

Kullan adamemretmek (% adam) belirli bilgisayarınızda bir komutun nasıl kullanıldığını görmek için.