Kernel modulare (Rimozione moduli non necessari)

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Kernel modulare (Rimozione moduli non necessari)

Messaggio da targzeta »

Ciao a tutti,
ho compilato un kernel molto modulare. Nel far caricare i moduli necessari non ci sono problemi. Ma come si possono eliminare i moduli non necessari?

Da quanto ho capito:

Codice: Seleziona tutto

modprobe -r
dovrebbe fare questo per me, ma non lo fa?
Qualcuno di voi ha mai affrontato e risolto lo stesso problema?
Una volta esisteva il kerneld che si occupava di fare questo, ma, sempre se non ho capito male, ora questa cosa non la si affronta più in questo modo.

Spina

Avatar utente
dapuzz
Linux 4.x
Linux 4.x
Messaggi: 1137
Iscritto il: mar 16 mag 2006, 11:09
Contatta:

Messaggio da dapuzz »

i moduli non necessari non si caricano da soli, quindi il problema non si pone, oppure non ho capito cosa vuoi fare.
Modprobe -r 'scarica' un modulo caricato se non è usato da un altro modulo. Puoi sempre verificare con lsmod prima e dopo il comando.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

Quello che voglio è, in sostanza, che

Codice: Seleziona tutto

modprobe -r
faccia il suo lavoro. A te li scarica i moduli non usati?

Eccoti un esempio:

Codice: Seleziona tutto

lsmod
Module                  Size  Used by
ehci_hcd               26504  0 
usbcore               100356  2 ehci_hcd
si vede che ehci_hcd non è usato, quindi:

Codice: Seleziona tutto

modprobe -r;
lsmod
Module                  Size  Used by
ehci_hcd               26504  0 
usbcore               100356  2 ehci_hcd
Visto, non lo ha scaricato. C'è qualche cosa che devo sapere?

Spina

Avatar utente
dapuzz
Linux 4.x
Linux 4.x
Messaggi: 1137
Iscritto il: mar 16 mag 2006, 11:09
Contatta:

Messaggio da dapuzz »

spina ha scritto:Visto, non lo ha scaricato. C'è qualche cosa che devo sapere?
Spina
man modprobe :)
modprobe -r ehci_hcd

In ogni caso ti conviene vedere perchè e da chi viene caricato se sei così sicuro che non serve
/etc/rc.d/rc.modules? udev? /etc/modprobe.d?

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

no, non ci capiamo!
il comando

Codice: Seleziona tutto

modprobe -r
senza parametri scarica i moduli non usati.
Il fatto che il modulo ehci-hdc non sia usato lo dice lo 0 sotto Used in lsmod.

Ti cito altre man 8 modprobe:

Codice: Seleziona tutto

With the option -r, modprobe  will  automatically  unload  a  stack  of        modules,  similar  to  the  way  "rmmod  -r" does. Note that using just        "modprobe -r" will clean up unused autoloaded modules and also  perform     the   pre-   and   post-remove   commands  in  the  configuration  file /etc/modules.conf
Spina

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Messaggio da Dani »

Se fai rmmod -f ehci_hcd lo toglie ?

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

Dani ha scritto:Se fai rmmod -f ehci_hcd lo toglie ?
Si si, anche con:

Codice: Seleziona tutto

modprobe -r ehci-hcd
lo toglie. Il punto è che:

Codice: Seleziona tutto

modprobe -r
così come

Codice: Seleziona tutto

rmmod -a
dovrebbero eliminare i moduli non usati, e non uno specifico modulo! Ma a me non funziona. Volevo sapere se a qualcun altro non funziona o se qualcuno sa cosa potrebbe esserci che non va.

Spina

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Il fatto che ehci_hcd non sia usato da nessun altro modulo non vuol dire che non venga usato dal kernel...
Comunque ho provato a inserire altri moduli di cui non ho bisogno (tipo il supporto a reiserfs) e modprobe -r non li toglie se non viene specificato il nome del modulo.
linux 2.6.18.2 module-init-tools version 3.2-pre9

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

albatros ha scritto:Il fatto che ehci_hcd non sia usato da nessun altro modulo non vuol dire che non venga usato dal kernel...
Giustissimo :)

Anche io avevo provato come te. Inoltre ho montato un dvd che non c'è solo per farmi caricare i moduli. Anche modprobe -r non toglie niente. Ho letto un pò in giro e devo ammettere che non sto capendo granché. Forse questo supporto non è più abilitato, infatti nel manprobe all'opzione -r non indica niente che faccia sospettare che si può omettere il nome del modulo.
Ti rimanda alla pagina modprobe.old per fare questo.
Stessa cosa nella man di rmmod, se noti l'opzione -a non c'è, mentre su rmmod.old è mensionata.

Da quanto ho capito i nuovi module-init-tools non svolgono questo compito, anche perchè ci sono svariati problemi in merito. Come race-condition etc..etc...

Spina

P.S. Peccato perchè mi interessava un modo per "ripulire" il kernel da moduli inutilizzati, anche perchè come ben sai questa memoria non viene mai swappata. Senza scripting ovviamente....

Pippi.S. comunque ho scaricato l'ultima versione dei module-init-tools, poi vediamo

Avatar utente
albatros
Iper Master
Iper Master
Messaggi: 2098
Iscritto il: sab 4 feb 2006, 13:59
Kernel: 6.18.0
Desktop: gnome and lxqt
Distribuzione: Ubuntu 24.04 & FC 41
Località: Darmstadt - Germania

Messaggio da albatros »

Come te, anch'io mi son letto tutte le pagine man, ma non ho trovato nulla...
Dall'usage che ottieni dando modprobe -v sembrerebbe, essendo racchiuso fra due < >, che modname non sia opzionale se usato con -r, anche se non vengono segnalati errori se lo si omette...

Avatar utente
rob
Linux 3.x
Linux 3.x
Messaggi: 924
Iscritto il: lun 22 nov 2004, 0:00
Località: Roma

Messaggio da rob »

"modprobe -r" will clean up unused autoloaded modules
magari ehci_hcd non è "autoloaded"

penso che per autoloaded si intendano quei moduli caricati on the fly quando, ad esempio, attacchi una periferica a caldo.. magari se provi a staccare fisicamente il controller usb dalla scheda madre a computer acceso, modprobe -r te lo leva quel modulo 8)

ciao, rob

bloodlust
Linux 3.x
Linux 3.x
Messaggi: 523
Iscritto il: mar 14 feb 2006, 12:02
Slackware: -1
Località: it_IT

Messaggio da bloodlust »

rob ha scritto:
magari se provi a staccare fisicamente il controller usb dalla scheda madre a computer acceso, modprobe -r te lo leva quel modulo 8)
ROTFL

Rispondi