İ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