Pagina di manuale di module-assistant

Versione del 30 apr 2016 alle 13:39 di HAL 9000 (discussione | contributi) (Revisione Wiki #33 concluso: aggiornata per Jessie e verificata, aggiunti template Versioni compatibili e Autori, aggiunto messaggio di avvertenze)
Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 8 "jessie"
Info.png Note
Questa pagina è solo la traduzione della pagina di manuale in inglese di module-assistant, pertanto non modificarla se non per correggere o aggiornare la traduzione! Per dubbi utilizzare la pagina di discussione Wiki oppure questa discussione nel forum.

Per utilizzare module-assistant va prima installato l'omonimo pacchetto. Per esempio con privilegi di amministrazione è sufficiente:

# apt-get install 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 ... ]
m-a ...

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 sia usata l'opzione -h o --help, dovrebbe essere presente uno dei comandi sottostanti 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 linux-headers-... contentente la configurazione per la versione esatta del vostro kernel (la stringa della versione completa). Se non avete capito niente di quanto detto, eseguite "m-a prepare" e/o guardate la descrizione e il contenuto di qualche pacchetto linux-headers-... . Per favore, si esegua il comando module-assistant prepare la prima volta, prima di fare qualsiasi altra operazione.

Per alcuni pachetti, i linux-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 più recenti).

Comandi

La maggior parte dei comandi richiedono che vengano specificati i nomi dei pacchetti su cui dovranno essere applicati. pkg può essere una singola parola (nome del pacchetto) o molti nomi. La parola all verrà 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 dai 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 linux-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. Installa anche il pacchetto build-essential per assicurarsi che esista un ambiente di compilazione completo.
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 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. Eseguirà prepare per configurare il tuo sistema a compilare i pacchetti, scarica i sorgenti dei pacchetti, prova a compilarli per il kernel corrente e a installarli. Si possono usare le scorciatoie alli o allu per selezionare tutti i pacchetti sorgenti dei moduli installati o solo quelli che sono stati estratti precedentemente (simile al comportamento di make-kpkg quando guarda in $MODULE_LOC).
auto-build | a-b
come auto-install ma non installa il pacchetto immediatamente.
clean
clean pulisce le directory di compilazione dei pacchetti del kernel.
purge
purge cancella le informazioni della cache di un pacchetto sorgente e rimuove tutti i pacchetti binari compilati localmente da esso (di cui module-assistant è a conoscenza). USARE CON CAUTELA!

Parametri

-t
--text-mode
Mostra solo i log di compilazione/installazione/aggiornamento, senza 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/linux-headers-*`"). Le versioni dei kernel trovate in queste directory vengono aggiunte automaticamente alla lista delle versioni dei kernel su cui operare (vedere --kvers-list per maggiori dettagli).
-l
--kvers-list
Lista di stringhe di versioni del kernel (come in KVERS) da processare. Se omesso, verrà inserita la stringa della 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.
I percorsi dei sorgenti (o degli header) che appartengono a queste versioni del kernel sono rilevati tramite un controllo nelle posizioni dove "normalmente" questi sono presenti in sistemi Linux, oppure devono 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 rilevanti contenenti percorsi verranno reindirizzate verso nuove directory sotto quella 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.
-o
--unpack-once
Prova a non estrarre due volte. L'opzione richiede di essere specificata anche quando il pacchetto sta per essere estratto per la prima volta. Opzione sperimentale, non farci affidamento.
-O
--not-unpack
Non estrarre mai l'archivio dei sorgenti. Utile dopo aver modificato manualmente i sorgenti del modulo.
-q
--quiet
Reprime parte dei messaggi più fastidiosi durante l'esecuzione.
-S
--sudo-cmd
Un comando di ricambio da essere usato al posto di sudo per i comandi da superutente.
-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 degli 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 o 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).
KEMAIL | DEBEMAIL
Specifica l'email della persona che compila il pacchetto (interessa solo per i file .change).
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.
MA_APTCMD
Comando per scaricare e installare i pacchetti, da usare al posto di apt-get.
MOD_SRCDIR
Un percorso differente per gli archivi dei sorgenti dei moduli. Il default è /usr/src.
ROOT_CMD
Comando wrapper per eseguire comandi con privilegi 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 tabù 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 i percorsi 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/README

Bugs


Visita la pagina dei bug di module-assistant (http://bugs.debian.org/src:module-assistant). Se desideri segnalare un bug di module-assistant, per favore 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 (ancora da fare)

Quicklist (output veloce senza dettagli)

Integrazione in APT e/o nel sistema di init

"Debianizzazione aggressiva" usando l'insieme dei template (per generare un pacchetto con un nome pensato da ogni sorgente che sembra essere compatibile con il sistema di compilazione del kernel 2.6)

Trasformazione automatica dei sorgenti del kernel per generare pacchetti .udeb

Autore

Module-Assistant è stato scritto da Eduard Bloch <blade@debian.org> per la distribuzione Debian.

  Licenza
Questa traduzione viene rilasciata con la stessa licenza che accompagna il testo originale, ovvero la GPL2




Guida scritta da: TheNoise   Debianized 40%
Estesa da:
Verificata da:
HAL 9000 15:39, 30 apr 2016 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized