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_versiyon] depmod [-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.

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