Pagina di manuale di module-assistant
Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.
Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template. |
Nome
- module-assistant
- gestisce i paccheti 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 veriabili 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.