Pagina di manuale di module-assistant

Nome

module-assistant
gestisce i pacchetti dei moduli del kernel

Sintassi

module-assistant [ -fihnqstv ] [ -k source/headers directory ] [ -l kernel versions ]
{ update | search | prepare | auto-install | list | list-available | list-installed
| auto-unpacked | get | build | install | clean | purge | fakesource }
[ pkg ... ]

Descrizione


module-assistant è lo strumento da linea di comando per gestire i pacchetti-sorgente dei moduli che sono stati creati per la distribuzione Debian. module-assistant aiuta gli utenti a compilare e installare facilmente i pacchetti dei moduli per uno o più kernel personalizzati.
A meno che non sia usata l'opzione -h, o --help, dovrebbe essere presente uno dei comandi indicati più avanti per invocare esplicitamente una funzione. Se non viene specificato nessun comando (o il comando non è valido) ed il programma dialog è installato, verrà mostrata una semplice interfaccia grafica che vi guiderà tra le funzioni disponibili.
NOTA: non pensate neanche di usare il contenuto di un qualunque pacchetto kernel-source-x.y.z (o linux-x.y.z) scaricato da Internet per specificare i sorgenti del vostro kernel corrente. Non fatelo! Quei sorgenti non sono esattamente quelli usati per compilare il vostro kernel corrente e la loro configurazione molto probabilmente non corrisponde alla vostra. Avrete bisogno della directory dei sorgenti del kernel configurato o almeno del corrispondente pacchetto kernel-headers-... contentente la configurazione per la versione esatta del vostro kernel (tutta la stringa di versione). Se non avete capito niente di quanto detto, eseguite "m-a prepare" e/o guardate la descrizione e il contenuto di qualche pacchetto kernel-headers-... . Perfavore, si esegua il comando module-assistant prepare la prima volta, prima di fare qualsiasi altra operazione.
Per alcuni pachetti, i kernel-headers (sorgenti ridotti) non sono sufficienti. Potrà scegliere di eseguire un kernel completamente personalizzato, o di ricreare i sorgenti che sono stati usati per compilare il kernel corrente. La funzione fakesource potrebbe essere utile, leggere più avanti in proposito.
Per configurare i sorgenti del kernel opportunamente, è necessario assicurarsi che il file version.h venga generato. Per ottenerlo, configurare il kernel usualmente (make menuconfig ecc.) ed eseguire make dep (per il kernel 2.4.x) o make prepare (per i kernel 2.6 e superiori).

Comandi


Molti comandi richiedono che venga specificato il nome di un pacchetto sul quale dovranno essere applicati. pkg può essere una singola parola (nome del pacchetto) o molti nomi. La parola all verra sostituita con la lista di tutti i pacchetti disponibili, la parola alli con la lista dei pacchetti (sorgente) correntemente installati e la parola allu verrà sostituita con la lista dei pacchetti che sembrano essere installati e spacchettati nella directory base dei sorgenti. Se un pacchetto sorgente con il nome dato non è disponibile, module-assistant (abbreviato: m-a) estenderà il nome del pacchetto con suffissi popolari come -kernel, -module, -source e loro combinazioni.
Possono essere specificati molti comandi contemporaneamente, ad es. "m-a clean,get,build arla cdfs" è la maniera abbreviata di scrivere "module-assistant clean arla-modules-source ; module-assistant clean cdfs-src ; module-assistant get arla-modules-source cdfs-src ; module-assistan build arla-modules-source cdfs-src" (o simili).
Se non ti piace la GUI dialog/whiptail, usa pure l'opzione -t per disabilitarla.

update
update è usato per risincronizzare i file di indice delle versioni con i loro sorgenti. Questo avviene tramite gli script di supporto ("helper script") forniti dai pacchetti. module-assistant ha una lista preimpostata di pacchetti al quale fa riferimento, ma altri pacchetti possono essere registrati da module-assistant se il responsabile del pacchetto ("maintainer") aggiunge gli script di supporto.
prepare
Cerca di determinare il nome del pacchetto kernel-headers richiesto (sia quello corrispondente al kernel correntemente in esecuzione che per le versioni specificate con -l), lo installa se necessario e crea il link simbolico /usr/src/linux se serve.
fakesource
Funzione sperimentale che cerca di determinare il nome del pacchetto sorgente del kernel richiesto/compatibile, lo installa, modifica il Makefile in modo che assomigli ai sorgenti originali ed esegue la routine di configurazione necessaria. Attenzione: NON FATE AFFIDAMENTO SUL SORGENTE GENERATO. Potrebbe essere molto diverso dalla versione originale.
list | list-available | la
list-available (abbreviato con la) mostra una serie di informazioni riguardo i pacchetti specificati, incluso la versione installata, la versione installabile e i pacchetti binari recentemente compilati. Se i nomi dei pacchetti sono omessi, mostra le informazioni di tutti i pacchetti conosciuti. Con -v mostra i percorsi completi dei pacchetti.
list-installed | li
Sinonimo di list alli. Ha lo stesso effetto di list-available ma limita l'elenco ai pacchetti sorgente installati.
search
Sinonimo di list -s. Cerca prima i pacchetti compilati localmente e (se non ne trova nessuno) cerca dei candidati alternativi all'installazione con apt-cache.
get
get seguito da una lista di pacchetti installa i pacchetti sorgente, scaricandoli se necessario.
build
build è seguito da uno o più pacchetti sorgente da compilare. Verranno scelti i sorgenti del kernel appropriati per il kernel corrente a meno che non vengano specificate directory diverse. Se la compilazione fallisce, guardare il file di log più recente in /var/cache/modass (o nel percorso personalizzato scelto dall'utente).
install
install è seguito da uno o più pacchetti che si desidera installare. Verrà installato l'ultimo pacchetto compilato per il kernel corrente.
auto-install | a-i
auto-install è seguito da uno o più pacchetti che si desidera installare. Usando questo comando il sistema sarà preparato per la compilazione dei pacchetti (prepare), saranno presi i sorgenti dei pacchetti specificati (get), ed infine module-assistant proverà a compilarli (build) per il kernel corrente ed ad installarli (install). (NdT, traduzione libera)
Si possono usare le scorciatoie alli o allu per selezionare tutti i pacchetti sorgente dei moduli installati o solo quelli che sono stati spacchettati precedentemente (simile al comportamento di make-kpkg quando guarda in $MODULE_LOC). (NdT, dubbi traduzione)
auto-build | a-b
come auto-install con la sola differenza che il pacchetto non viene installato.
clean
clean pulisce le directory di compilazione del kernel. (NdT, dubbio)
purge
purge cancella le informazioni della cache di un pacchetto sorgente e rimuove tutti i relativi pacchetti binari compilati localmente (dei quali module-assistant è a conoscenza). USARE CON CAUTELA! (NdT, un pacchetto o tutti i pacchetti ??)

Parametri

-t
--text-mode
Mostra i log di compilazione/installazione/aggiornamento, nessuna barra di avanzamento.
-k
--kernel-dir
La directory dei sorgenti del kernel da usare per la compilazione. Puoi specificare più directory ripetendo questo parametro o separando con virgole o separatori di linea le directory (es. usando -k "`echo /usr/src/kernel-headers-*`"). Le versioni dei kernel trovate in queste directory vengono aggiunte automaticamente alla lista delle versioni dei kernel su cui operare (guarda --kvers-list per maggiori dettagli).
-l
--kvers-list
Lista delle versioni dei kernel (come in KVERS) da processare. Se omesso, verrà inserita la versione del kernel correntemente in uso sulla macchina. Se --kernel-dir specifica altre directory di sorgenti, verranno inserite anche le versioni dei kernel presenti in queste directory.
Il percorso dei sorgenti (o degli header) che dipendono da questa versione del kernel viene rilevato tramite un controllo nelle posizioni dove "normalmente" questi sono presenti, oppure possono essere specificati tramite l'opzione --kernel-dir.
-v
--verbose
Visualizza informazioni supplementari, come i percorsi completi dei pacchetti binari.
-n
--no-rebuild
Se un pacchetto che deve essere generato esiste già nella directory di destinazione (forse in una vecchia versione), -n evita che che venga ricompilato.
Il comportamento predefinito è di evitare la ricompilazione quando deve essere generato un file esattamente uguale (con lo stesso nome) ad uno già esistente, il nuovo nome del file dovrebbe essere rilevato prima dell'inizio del processo di compilazione (questo comportamento dipende dal pacchetto del modulo).
-f
--force
Non controlla il file di destinazione (in un'altra versione) e forza la compilazione.
Per il comando get, scarica una nuova versione del pacchetto anche se è già stata installata.
-u
--userdir
Tutte le variabili di ambiente che rappresentano un path verranno reindirizzate verso la nuova directory specificata attraverso questa opzione.
-i
--non-inter
Quando la compilazione del pacchetto non si conclude con successo, continua con gli elementi restanti. Come comportamento predefinito, module-assistant suggerirà di esaminare i log della compilazione. Questa opzione potrebbe modificare il comportamento di dpkg e apt-get per ridurre la richiesta di interventi umani ed installare le dipendenze di compilazione necessarie.
-s
--apt-search
Guarda il comando search per maggiori dettagli.
-h
--help
Mostra una breve descrizione sull'utilizzo.

VARIABILI DI AMBIENTE


Puoi esportare le seguenti variabili di ambiente per modificare il comportamento delgi script di compilazione. Alcuni pacchetti potrebbero ignorarle o interpretarle diversamente.

KPKG_DEST_DIR
KPKG_DEST_DIR specifica la directory in cui il pacchetto Debian risultante dovrebbe essere installato. Tuttavia, molti pacchetti ignorano questa variabile e installano i file all'interno della directory dei sorgenti del kernel od in sotto-directory del percorso corrente.
SIGNCHANGES
Se SIGNCHANGES è impostato, saranno generati i file .change (chiamando la regola kdist_image invece di kdist) e debsign (oppure gpg o pgp) sarà eseguito per firmare le modifiche.
KMAINT | DEBFULLNAME | DEBNAME
Specifica il nome reale della persona che che compila il pacchetto, interessa solo per i file .change. Inoltre se KMAINT è impostata e KPKG_DEST_DIR no, DEB_DESTDIR diventerà $(KSRC)/.. .
KEMAIL | DEBEMAIL
Specifica l'email della persona che compila il pacchetto (interessa solo per i file .change). (NdT: nell'originale era il nome e non l'email ???)
MODULE_LOC
Un percorso differente per la directory del sorgente dei moduli (già estratti). Il default è /usr/src/modules.
MA_VARDIR
Un percorso differente per i dati di cache, usati dagli script di supporto (helper script) dei pacchetti installati da module-assistant. Il default è /var/cache/modass.
MOD_SRCDIR
Un percorso differente per gli archivi dei sorgenti dei moduli. Il default è /usr/src.
ROOT_CMD
Comando wrapper per eseguire comandi con privileggi di root. Se non si è root, viene scelto automaticamente fakeroot. Questa variabile deve essere interpretata dai singoli pacchetti, quindi alcuni di essi potrebbero ignorarla. Tuttavia si può sempre eseguire module-assistant dentro il wrapper ROOT_CMD.

Uso Non-Root


module-assistant può funzionare senza essere root. Tuttavia non sarai in grado di utilizzare apt-get o dpkg per installare i pacchetti, e non potrai scrivere in /var/cache/modass su un normale sistema Debian. Quindi i comandi get, install, auto-install e prepare sono taboo per i normali utenti. Tuttavia, se il programma sudo è installato, verrà invocato per l'utilizzo di apt-get e dpkg. Tutti gli altri comandi ad eccezione di list richiedono delle variabili di ambiente aggiuntive per spostare modificare i path di destinazione in posizioni accessibili in scrittura dagli utenti. Queste possono essere redirette verso un determinato percorso (una directory con i permessi di scrittura) tramite l'opzione -u.

Files

/usr/share/modass/packages/*
Lista di script di supporto forniti con il pacchetto module-assistant.
/usr/share/modass/overrides/*
Script di supporto installati da altri pacchetti.

Vedi Anche


make-kpkg , /usr/share/doc/module-assistant/RATIONALE

Bugs


Visita la pagina dei bug di module-assistant. Se desideri segnalare un bug di module-assistant, usa il comando reportbug .

Codici di uscita

0
successo
1..249
vari errori durante il processo di compilazione
254
problema con i permessi
255
errore risolvibile dopo l'intervento dell'utente

TODO


Quicklist (fast output without details)
Integration into APT and/or into the init system
"Aggressive" debianisation using the templates set (to generate a package with guessed name from any source that looks like beeing compatible with kernel 2.6 build system)
automatic transformation of kernel sources to generate .udeb packages

Author


Module-Assistant was written by Eduard Bloch <email>blade@debian.org</> for the Debian distribution.