İSİM¶
modprobe - yüklenebilir modüller için yüksek seviyeli
işlemci
KULLANIM¶
modprobe [-adnqv] [-C dosya] modül [sembol=değer ...]
modprobe [-adnqv] [-C dosya] [-t tür] şablon
modprobe -l [-C dosya] [-t tür] şablon
modprobe -c [-C dosya]
modprobe -r [-dnv] [-C dosya] [modül ...]
modprobe -Vh
SEÇENEKLER¶
- -a, --all
- İlk başarılı yüklemeden sonra
durmak yerine, bütün eşleşen modülleri
yükler.
- -c, --showconfig
- Kullanımdaki yapılandırmayı
gösterir.
- -C, --config dosya
- Yapılandırmayı belirtmek için
(isteğe bağlı olarak kullanılan) /etc/modules.conf
yerine dosya kullanır. /etc/modules.conf (ya da eski
adıyla /etc/conf.modules) yerine farklı bir
yapılandırma seçmek için MODULECONF ortam
değişkeni de kullanılabilir.
UNAME_MACHINE ortam değişkeni tanımlı olduğunda
modutils, uname() sistem çağrısının makina alanı
yerine bu değişkene atanmış değeri
kullanacaktır. Bu esas olarak, 64 bitlik modüllerin 32 bitlik
kullanıcı alanında derlendiği ya da tamamen tersi
durumlarda kullanım alanı bulur. Mevcut modutils modüllerin tam
çapraz derleme kipini desteklemez, destek, makina mimarisinin 32 ve 64
bitlik sürümlerini seçmekle sınırlıdır.
- -d, --debug
- Modül yığıtının dahili
gösterimi hakkında bilgi verir.
- -h, --help
- Seçeneklerin listesini gösterir ve
çıkar.
- -k, --autoclean
- Yüklü modüllere `autoclean' uygular.
Modül olarak sağlanmış ama mevcut olmayan bir
özelliği gidermek için çekirdek tarafından
modprobe çağrılarak kullanılır. Bu
seçenek -q seçeneğini de uygular. Bu seçenekler
özdevinimli olarak insmod'a gönderilir.
- -l, --list
- Eşleşen modülleri listeler.
- -n, --show
- İşlemi gerçekleştirmeden, sadece
işlemin sonuçlarını gösterir.
- -q, --quiet
- insmod'un bir modülü yüklemede
başarısız olması durumunda bilgi verilmez.
İşlemlere sessiz bir şekilde, diğer olası
modprobe sınamaları ile devam edilecektir. Bu
seçenek özdevinimli olarak insmod'a yollanır.
- -r, --remove
- Komut satırında belirtilmiş modüllerin
varlığına bağlı olarak, modülleri
(yığıtlarını) kaldırır ya da
özdevinimli temizleme başlatır.
- -s, --syslog
- Raporlamayı standart hata yerine syslog üzerinden
yapar. Bu seçenek özdevinimli olarak insmod'a
yollanır.
- -t modültürü, --type
modültürü
- Modüllerin sadece bu türde olduğu
varsayılır. modprobe sadece tam olarak
"/modültürü/" dizinini içeren dosya
yollarında bulunan modülleri işleme sokacaktır.
modültürü birden fazla dizin ismi içerebilir,
örneğin " -t drivers/net" şeklinde bir
kullanım ile xxx/drivers/net/ ve alt dizinlerindeki modüller
işleme sokulacaktır.
- -v, --verbose
- Çalıştırılan tüm
komutları gösterir.
- -V, --version
- modprobe'un sürüm bilgilerini
gösterir.
- Önemli:
- Modül isimleri ne dosya yolu ('/' içermemeli) ne
de '.o' soneki içermelidir. Örneğin slip, modprobe
için geçerli bir modül ismidir, ama
/lib/modules/2.2.19/net/slip ve slip.o geçersizdir. Bu kural hem
komut satırında hem de yapılandırma dosyasında
geçerlidir.
AÇIKLAMA¶
modprobe ve
depmod araçları Linux modüler
çekirdeğinin kullanımını, sistem yöneticileri,
dağıtımcılar ve bütün kullanıcılar
için kolaylaştırmak amacıyla
tasarlanmıştır.
modprobe öntanımlı dizin ağaçlarında
bulunan modüllerden gerekli olanları özdevinimli olarak
yüklemek için
depmod tarafından oluşturulan
"Makefile" benzeri bir bağımlılık dosyası
kullanır.
modprobe tek bir modülü, bir modül grubunu,
bağımlı modül yığınlarını ya da
bir etiket ile işaretlenmiş bütün modülleri
yüklemek için kullanılabilir.
modprobe özdevinimli olarak, modules.dep
bağımlılık dosyasında belirtilen, modül
yığınındaki bütün taban modülleri
yükleyecektir. Eğer bu modüllerden birisinin yüklemesi
başarısız olursa, modülün parçası
olduğu yığının bütün modülleri
özdevimli olarak yüklenmemiş duruma getirilecektir.
modprobe modülleri yüklemek için iki yol kullanır.
Bir tanesi (algılama kipi)
şablon ile
tanımlanmış liste dışı bir modülü
yükler.
modprobe yüklemeyi bir modülün
yüklenmesi bittiğinde durduracaktır. Örnek olarak bu yol
özdevinimli olarak bir listeden bir Ethernet
sürücüsünü yüklemek için
kullanılabilir. Diğer yol ise bir listedeki bütün
modülleri yüklemektir. Aşağıdaki
ÖRNEKLER
bölümüne bakınız.
-r seçeneği kullanıldığında
modprobe
özdevinimli olarak bir modül yığınını
boşaltacaktır (
rmmod -r gibi). Altını çizmek
gerekir ki,
modprobe -r komutu, özdevinimli olarak
yüklenmiş ama kullanılmayan modülleri boşaltır,
bunun yanında /etc/modules.conf'da belirtilmiş boşaltma
öncesi ve sonrası komutlarını da uygular.
-l ve
-t seçeneği ile beraber
kullanıldığında belirtilen türdeki bütün
modüller listelenecektir.
-c seçeneği o anda kullanılan yapılanmayı
gösterir (öntanımlı + yapılandırma
dosyası).
YAPILANDIRMA¶
modprobe'un (ve
depmod'un) işleyişi istenirse
/etc/modules.conf dosyasından değiştirilebilir. Bu
dosyanın nasıl değiştirilebileceği ve
öntanımlı yapılanma hakkında daha
ayrıntılı bilgi için
modules.conf(5)'a
bakınız.
Dikkat edilmesi gereken bir nokta, eğer bir modül
kerneld
tarafından özdevinimli olarak temizlenmişse, boşaltma
öncesi ve sonrası komutlar çalıştırılmaz.
Eğer kurma öncesi ve sonrası özelliklerini kullanmak
istiyorsanız,
kerneld'nin özdevinimli temizlemesini
kapatmanız ve onun yerine 2 dakikada bir özdevinimli temizleme
yapmak için, aşağıdaki satıra benzer bir komutu
crontab'ınıza (kmod sistemleri içinde bu
geçerlidir) eklemeniz gereklidir:
*/2 * * * * test -f /proc/modules && /sbin/modprobe -r
STRATEJݶ
Ana fikir olarak,
modprobe ilk önce geçerli çekirdek
sürümü için derlenmiş modüllerin bulunduğu
dizine (örn, /lib/modules) bakacaktır. Eğer modül bu
dizinde bulunamazsa,
modprobe çekirdeğin
sürümüne göre isimlendirilmiş dizine (örn,
/lib/modules/2.4.21) bakacaktır. Eğer modül hala bulunamazsa,
modprobe bu sefer bir öntanımlı
dağıtımın dizinine bakacaktır ve bu işlem bu
şekilde devam edecektir.
Yeni bir linux kurduğunuzda, olağan koşullarda modüller
yüklediğiniz çekirdeğin sürümüne göre
isimlendirilmiş bir dizine taşınır. Bu aşamadan sonra
bu dizinden öntanımlı dizine bir sembolik bağ
oluşturmanız gerekir.
Çekirdeği her derlediğinizde,
make modules_install komutu
yeni bir dizin oluşturacaktır, ancak öntanımlı
bağı değiştirmeyecektir.
Çekirdek dağıtımınızla ilgisi olmayan bir
modül elinize geçtiğinde, bu modülü
/lib/modules'ün altındaki sürümden bağımsız
dizinlerden birisine yerleştirmeniz gereklidir.
Bu anlatılan öntanımlı stratejidir. İstenirse
/etc/modules.conf dosyasından değiştirilebilir.
ÖRNEKLER¶
- modprobe -t net
- "net" isimli dizindeki modüllerden birisini
yükler. Modüllerden birisi başarılı bir
şekilde yüklenene kadar listedeki bütün modüller
denenir.
- modprobe -a -t boot
- "boot" isimli dizindeki modüllerden hepsini
yükler.
- modprobe slip
- slip modülü, slhc modülünün de
işlevsel olmasını gerektirdği için; eğer
slhc.o modülü henüz yüklenmemişse, bu komut
slhc.o'yu yüklemeye çalışacaktır. Bu gereklilik,
depmod tarafından özdevinimli olarak
oluşturulmuş modules.dep dosyasında belirtilir.
- modprobe -r slip
- slip modülünü sistemden
kaldıracaktır. Eğer slhc modülü başka bir
modül tarafından (ör. ppp) kullanılmıyorsa, bu
komut slhc modülünü de sistemden kaldırır.
İLGİLİ DOSYALAR¶
/etc/modules.conf, (artık kullanılmıyor olsa bile: /etc/conf.modules)
/lib/modules/*/modules.dep,
/lib/modules/*
İLGİLİ BELGELER¶
depmod(8),
kerneld(8),
ksyms(8),
lsmod(8),
rmmod(8).
GÜVENLİ KİP¶
Eğer etkin kullanıcı kimliği gerçek kullanıcı
kimliği ile aynı değilse
modprobe girdilerine
şüpheyle yaklaşacaktır. Son parametre "-" (tire)
ile başlasa bile her zaman bir modül adı olduğu
varsayılacaktır. Sadece bir modül adı
kullanılabilecektir ve "değişken=değer"
şeklindeki seçenekler yasaklanacaktır. Güvenli kipte
modül isimlerinin her zaman bir dizge olduğu varsayılır,
hiç bir ara değer çözümlemesi
gerçekleştirilmez. Bu duruma bir istisna yapılandırma
dosyalarıdır. Yapılandırma dosyalarından okunan
verilere ara değer çözümlemesi uygulanmaya devam edilir.
modprobe çekirdek tarafından
çağrıldığında etkin kullanıcı
kimliği gerçek kullanıcı kimliği ile aynı
olabilir (bu durum çekirdek >= 2.4.0-test11'ler için
doğrudur). Mükemmel bir senaryoda
modprobe, çekirdekten
sadece geçerli parametreler alacağına güvenebilirdi. Ancak
üst düzey çekirdek kodu, kullanıcıdan gelen kontrol
edilmemiş parametreleri doğrudan
modprobe'a
gönderdiği için, en az bir kere yerel kök bozulması
oluşmuştur. Bu yüzden
modprobe çekirdeğe
artık güvenmemektedir.
Ortam aşağıdaki değerlerden birini içerdiğinde,
modprobe özdevinimli olarak güvenli kipe geçecektir.
HOME=/
TERM=linux
PATH=/sbin:/usr/sbin:/bin:/usr/bin
Bu değerler etkin kullanıcı kimliği gerçek
kullanıcı kimliği ile aynı olsa bile,
modprobe'u
çağıran 2.2 ile 2.4.0-test11 arasındaki çekirdek
sürümlerinde algılanır (önceki sürümlerde
bu durum oluşmaktadır).
GÜNLÜKLEME KOMUTLARI¶
Eğer /var/log/ksymoops dizini varsa ve
modprobe bir modülü
silebilecek ya da yükleyebilecek bir seçenekle
çalıştırılmışsa,
modprobe komutunu
ve dönüş durumunu /var/log/ksymoops/`
date+%Y%m%d.log'
konumuna kaydedecektir. Bu özdevinimli günlüklemeyi kapatacak
bir komut yoktur, eğer günlük kaydı istemiyorsanız,
/var/log/ksymoops dizinini oluşturmayın. Eğer bu dizin varsa,
sahibi root olmalıdır, 644 yada 600 kipinde olmalıdır ve
aşağı yukarı her gün
insmod_ksymoops_clean
komutu çalıştırılmalıdır.
GEREKLİ ARAÇLAR¶
depmod(8),
insmod(8).
NOTLAR¶
modprobe'a yollanan
şablonlar, düzgün olarak
değerlendirildiğinden emin olmak için öncelenmelidir.
YETERSİZLİKLER¶
modprobe, [
-V |
--version ] seçenekleri ile
kullanıldığında başka bir seçenek verilmiş
bile olsa sadece sürüm bilgisini basar ve anında
çıkar.
YAZAN¶
Jacques Gelinas <jack (at) solucorp.qc.ca> ve Bjorn Ekwall <bj0rn (at)
blox.se> tarafından yazılmıştır.
ÇEVİREN¶
Can Kavaklıoğlu <linuxcucan (at) yahoo.com>, Mart 2004