Provided by:
manpages-it_0.3.4-5_all 
NOME
depmod, modprobe - gestisce automaticamente i moduli caricabili
SINTASSI
depmod [ -a ]
depmod [ -a versione ]
depmod modulo1.o modulo2.o ...
modprobe modulo.o [simbolo=valore ...]
modprobe -t marcatore modello
modprobe -a -t marcatore modello
modprobe -l [ -t marcatore ] modello
modprobe -r modulo
modprobe -c
DESCRIZIONE
Queste utilità hanno lo scopo di creare un kernel Linux modulare e
gestibile da tutti: utenti, amministratori e manutentori di
distribuzioni.
Depmod crea un file di dipendenze stile "Makefile", basato sui simboli
trovati nell’insieme dei moduli dati sulla riga di comando (o in una
locazione predefinita). Questo file di dipendenze può successivamente
essere usato da modprobe per caricare automaticamente i moduli
rilevanti.
Modprobe si usa per caricare un insieme di moduli o un modulo singolo,
una pila di moduli dipendenti o tutti i moduli che sono marcati con un
marcatore speciale.
Modprobe carica automaticamente tutti i moduli base necessari in una
pila di moduli, come descritto nel file di dipendenze modules.dep. Se
il caricamento di uno di questi moduli fallisce, tutta la pila corrente
di moduli sarà rimossa (da rmmod) automaticamente.
Modprobe ha due modi per caricare i moduli: nel primo ("probe mode",
cioè a ricerca) prova a caricare i moduli da una lista (definita dal
modello) e si ferma dopo aver caricato con successo un modulo. Per
esempio, si può far così per caricare automaticamente ("autoload") uno
fra un elenco di driver ethernet. L’altro modo consiste nel caricare
tutti i moduli di una lista; un’applicazione potrebbe essere caricare
alcuni moduli all’avvio.
Con l’opzione -r, modprobe rimuove automaticamente una pila di moduli,
in modo simile a rmmod -r.
L’opzione -l combinata con l’opzione -t fa elencare tutti i moduli
disponibili di un certo tipo. Un comando mount avanzato potrebbe usare
il comando
modprobe -l -t fs
per ottenere l’elenco di tutti i driver per file system disponibili e,
in presenza di una richiesta, caricare quello giusto. In questo modo
il comando mount si generalizzerebbe (il kerneld risolve questo senza
cambiare l’utilità mount)...
L’opzione -c fa stampare tutte le configurazioni (predefinita + file di
configurazione).
L’uso normale di depmod consiste nell’inclusione di una riga
"/sbin/depmod -a" in uno degli file rc in /etc/rc.d, così che le
dipendenze corrette fra moduli siano disponibili subito dopo l’avvio
del sistema.
Si noti che è anche possibile creare il file di dipendenze subito dopo
la compilazione di un nuovo kernel. Eseguendo "depmod -a 1.3.99" dopo
aver compilato una prima volta il kernel 1.3.99 e i suoi moduli, ad es.
mentre è in esecuzione il 1.3.98, il file viene creato nella locazione
corretta.
Si noti che in questo caso non è garantito che le dipendenze nel kernel
siano corrette!
L’opzione -d mette depmod in modalità diagnostica, facendo stampare
tutti i comandi effettuati. L’opzione -e stampa la lista dei simboli
non risolti per ogni modulo mentre, normalmente, depmod stampa solo la
lista dei moduli non caricabili. L’opzione -v stampa la lista di tutti
i moduli elaborati. I moduli possono essere collocati in differenti
posizioni nel filesystem, ma potrebbe esserci sempre la necessità,
specialmente per gli sviluppatori di moduli, di comportarsi in modo
differente: aspettando che qualche standard ufficiale emerga, definito
dal FSSTND, si suggerisce l’uso di questa struttura di directory.
CONFIGURAZIONE
I comportamenti di depmod e di modprobe si possono modificare dal file
di configurazione (opzionale) /etc/conf.modules
Il file di configurazione consiste in un insieme di righe.
Sono ignorate tutte le righe vuote e tutto il testo su una riga dopo un
’#’.
Le righe possono continuare se terminate con uno ’\’.
Le righe rimanenti devono essere conformi ad uno dei seguenti formati:
keep
parametro=valore
options modulo simbolo=valore ...
alias modulo nome_reale
pre-install modulo comando ...
install modulo comando ...
post-install modulo comando ...
pre-remove modulo comando ...
remove modulo comando ...
post-remove modulo comando ...
Tutti i valori nelle righe "parametro" sono elaborati dalla shell,
quindi si possono usare trucchi di shell come metacaratteri e comandi
racchiusi tra apici inversi:
path[misc]=/lib/modules/1.1.5?
path[net]=/lib/modules/‘uname -r‘
I parametri possono essere ripetuti più volte.
Questi sono parametri legali:
keep Se questa parola viene trovata su una riga prima di tutte le
righe che contengono le descrizioni di percorso, l’insieme
predefinito di percorsi viene salvato, e quindi aggiunto.
Altrimenti il comportamento normale è quello di rimpiazzare
l’insieme predefinito con l’insieme di percorsi presente nel
file di configurazione.
depfile=DEPFILE_PERCORSO
Questo è il percorso del file di dipendenze che viene creato da
depmod e usato da modprobe .
path=QUALCHE_PERCORSO
Il parametro path specifica una directory di ricerca per i
moduli.
path[marcatore]=QUALCHE_PERCORSO
Il parametro path può avere un marcatore (tag) opzionale, che
descrive brevemente lo scopo dei moduli in questa directory e
permette a modprobe alcune operazioni automatiche. Il marcatore
racchiuso tra parentesi quadre segue la parola chiave "path".
In caso di omissione del marcatore, questo viene supposto essere
"misc".
Un marcatore molto utile è boot, che è usato per marcare tutti i
moduli che devono essere caricati all’avvio.
Se il file di configurazione ’/etc/conf.modules’ è assente, o se un
parametro non è assegnato, si usano i seguenti predefiniti:
depfile=/lib/modules/‘uname -r‘/modules.dep
path[boot]=/lib/modules
path[fs]=/lib/modules/‘uname -r‘
path[misc]=/lib/modules/‘uname -r‘
path[net]=/lib/modules/‘uname -r‘
path[scsi]=/lib/modules/‘uname -r‘
path[cdrom]=/lib/modules/‘uname -r‘
path[ipv4]=/lib/modules/‘uname -r‘
path[ipv6]=/lib/modules/‘uname -r‘
path[sound]=/lib/modules/‘uname -r‘
path[fs]=/lib/modules/default
path[misc]=/lib/modules/default
path[net]=/lib/modules/default
path[scsi]=/lib/modules/default
path[cdrom]=/lib/modules/default
path[ipv4]=/lib/modules/default
path[ipv6]=/lib/modules/default
path[sound]=/lib/modules/default
path[fs]=/lib/modules
path[misc]=/lib/modules
path[net]=/lib/modules
path[scsi]=/lib/modules
path[cdrom]=/lib/modules
path[ipv4]=/lib/modules
path[ipv6]=/lib/modules
path[sound]=/lib/modules
Tutte le righe "option" specificano le opzioni predefinite che sono
necessarie per un modulo, come in:
modprobe de620 bnc=1
Queste opzioni vengono rimpiazzate da quelle date sulla riga di comando
di modprobe.
Si può avere una riga "option" per i nomi di modulo con alias come per
i nomi senza alias. Questo è utile per es. con il modulo dummy (cioè
fantoccio):
alias dummy0 dummy
options dummy0 -o dummy0
Le righe "alias" si possono usare per fornire alias ai moduli. Una riga
in /etc/conf.modules come questa:
alias iso9660 isofs
dà la possibilità di scrivere modprobe iso9660 anche se questo modulo
non è disponibile.
Si noti che la riga:
alias qualche_modulo off
fa in modo che modprobe ignori la richiesta di caricare il modulo.
Questo metodo, normalmente, si usa in congiunzione con kerneld.
Comandi
Le righe di configurazione
pre-install module comando ...
install module comando ...
post-install module comando ...
pre-remove module comando ...
remove modulo comando ...
post-remove modulo comando ...
si possono usare quando si vuole eseguire qualche comando
specifico al momento dell’inserimento o della rimozione di un
modulo. Tutto il testo che segue il nome del modulo è
interpretato come un comando.
Si noti che i comandi pre- e post-remove non sono eseguiti se il
modulo è cancellato ("autocleaned") dal kerneld! Si veda nelle
future versioni per il supporto dei moduli persistenti.
STRATEGIA
L’idea è che modprobe esamini prima la directory contenente i moduli
compilati per la release corrente del kernel e, se qui il modulo non
viene trovato, modprobe esamini la directory contenente i moduli per la
release predefinita.
Quando si installa un nuovo Linux, i moduli devono essere spostati in
una directory relativa alla release (e versione) del kernel che si
installa. In questo caso si dovrà fare un link simbolico da questa
directory a quella predefinita.
Ogni volta che si compila un nuovo kernel, il comando make
modules_install crea una nuova directory, ma non cambia quella
predefinita.
Quando si usa un modulo non relativo alla distribuzione del kernel, lo
si deve collocare in una delle directory indipendenti dalla versione in
/lib/modules.
Questa è la strategia predefinita, che si può modificare in
/etc/conf.modules.
ESEMPI
modprobe -t net
Carica uno dei moduli che sono inseriti nella directory marcata
"net". Viene provato ogni modulo sino al primo successo
(predefinita: /lib/modules/net).
modprobe -a -t boot
Tutti i moduli che sono inseriti nella directory marcata "boot"
verranno caricati (predefinita: /lib/modules/boot).
modprobe slip.o
Questo effettua il caricamento del modulo slhc.o se non è stato
precedentemente caricato, visto che il modulo slip necessita
delle funzionalità del modulo slhc. Questa dipendenza deve
essere descritta nel file "modules.dep", creato automaticamente
da depmod
modprobe -r slip.o
rimuove slip.o e, automaticamente, anche slhc.o nel caso in cui
non sia utilizzato da nessun altro modulo (come ad es. ppp.o).
FILE
/etc/conf.modules (e /etc/modules.conf),
/lib/modules/*/modules.dep,
/lib/modules/*
VEDERE ANCHE
lsmod(1), kerneld(8), ksyms(1), modules(2).
UTILITÀ RICHIESTE
insmod(1), nm(1), rmmod(1).
NOTE
I modelli forniti a modprobe devono essere spesso protetti per
assicurarsi che siano valutati nel modo corretto.
AUTORI
Jacques Gelinas (jack@solucorp.qc.ca)
Bjorn Ekwall (bj0rn@blox.se)
Documentazione tradotta da Marco Andreini <andreini@pisoft.it>
BACHI
Naah...