Pagina di manuale di module-assistant: differenze tra le versioni

m
m (categorie)
m (→‎Parametri: typo)
Riga 1: Riga 1:
Elenco delle guide inerenti il Kernel di Linux:
== Nome ==
; <big><tt>module-assistant</tt></big> : gestisce i pacchetti dei moduli del kernel
 
== Sintassi ==
<tt><big>     
 
: '''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 ... ]
 
</big></tt>
 
==Descrizione==
<br>
<u>module-assistant</u> è lo strumento da linea di comando per gestire i pacchetti-sorgente dei moduli che sono stati creati per la distribuzione Debian. <u>module-assistant</u> aiuta gli utenti a compilare e installare facilmente i pacchetti dei moduli per uno o più kernel personalizzati.
<br>
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 <tt>dialog</tt> è installato, verrà mostrata una semplice interfaccia grafica che vi guiderà tra le funzioni disponibili.
<br>
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 <u>module-assistant prepare</u> la prima volta, prima di fare qualsiasi altra operazione.
<br>
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 <u>fakesource</u> potrebbe essere utile, leggere più avanti in proposito.
<br>
Per configurare i sorgenti del kernel opportunamente, è necessario assicurarsi che il file version.h venga generato. Per ottenerlo, configurare il kernel usualmente (<u>make menuconfig</u> ecc.) ed eseguire <u>make dep</u> (per il kernel 2.4.x) o <u>make prepare</u> (per i kernel 2.6 e superiori).
<!-- </RefSect1> -->
 
==Comandi==
<br>
Molti comandi richiedono che venga specificato il nome di un pacchetto sul quale dovranno essere applicati.
<u>pkg</u> può essere una singola parola (nome del pacchetto) o molti nomi. La parola <u>all</u> verra sostituita con la lista di tutti i pacchetti disponibili, la parola <u>alli</u> con la lista dei pacchetti (sorgente) correntemente installati e la parola <u>allu</u> 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, <u>module-assistant</u> (abbreviato: <u>m-a</u>) estenderà il nome del pacchetto con suffissi popolari come -kernel, -module, -source e loro combinazioni.
<br>
Possono essere specificati molti comandi contemporaneamente, ad es. "<u>m-a clean,get,build arla cdfs</u>" è 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).
<br>
Se non ti piace la GUI dialog/whiptail, usa pure l'opzione '''-t''' per disabilitarla.
<br>
<!-- <VariableList> -->
;update: <tt>update</tt> è 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. <u>module-assistant</u> ha una lista preimpostata di pacchetti al quale fa riferimento, ma altri pacchetti possono essere registrati da <u>module-assistant</u> se il responsabile del pacchetto ("maintainer") aggiunge gli script di supporto.
<!-- </VarListEntry> -->
;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 <tt>/usr/src/linux</tt> se serve.
<!-- </VarListEntry> -->
;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.
<!-- </VarListEntry> -->
;list | list-available | la: <tt>list-available</tt> (abbreviato con <tt>la</tt>) 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.
<!-- </VarListEntry> -->
;list-installed | li: Sinonimo di <tt>list alli</tt>. Ha lo stesso effetto di <tt>list-available</tt> ma limita l'elenco ai pacchetti sorgente installati.
<!-- </VarListEntry> -->
;search: Sinonimo di <tt>list -s</tt>. Cerca prima i pacchetti compilati localmente e (se non ne trova nessuno) cerca dei candidati alternativi all'installazione con apt-cache.
<!-- </VarListEntry> -->
;get: <tt>get</tt> seguito da una lista di pacchetti installa i pacchetti sorgente, scaricandoli se necessario.
<!-- </VarListEntry> -->
;build: <tt>build</tt> è 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).
<!-- </VarListEntry> -->
;install: <tt>install</tt> è seguito da uno o più pacchetti che si desidera installare. Verrà installato l'ultimo pacchetto compilato per il kernel corrente.
<!-- </VarListEntry> -->
;auto-install | a-i: <tt>auto-install</tt> è 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)''
<!-- ORIGINALE:
;auto-install | a-i: <tt>auto-install</tt> is followed by one or more packages desired for installation. It will run prepare to configure your system to build packages, get the package source, try to build it for the current kernel and install it.
FINE ORIGINALE -->
:Si possono usare le scorciatoie <tt>alli</tt> o <tt>allu</tt> per selezionare tutti i pacchetti sorgente dei moduli installati o solo quelli che sono stati spacchettati precedentemente (simile al comportamento di <tt>make-kpkg</tt> quando guarda in $MODULE_LOC). ''(NdT, dubbi traduzione)''
<!-- ORIGINALE:
:You can use <tt>alli</tt> or <tt>allu</tt> shortcuts to select all installed modules source packages or only those that have been unpacked before (similar to the <tt>make-kpkg</tt> tool normaly does, looking in $MODULE_LOC)
FINE ORIGINALE -->
<!-- </VarListEntry> -->
;auto-build | a-b: come <tt>auto-install</tt> con la sola differenza che il pacchetto non viene installato.
<!-- </VarListEntry> -->
;clean: <tt>clean</tt> pulisce le directory di compilazione del kernel. ''(NdT, dubbio)''
<!-- ORIGINALE:
clears the build directories of the kernel packages.
FINE ORIGINALE -->
<!-- </VarListEntry> -->
;purge: <tt>purge</tt> 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 ??'')
<!-- ORIGINALE:
clears the information cache of a source package and removes all binary packages locally built from it (that module-assistant knows about). USE WITH CARE!
FINE ORIGINALE -->
<!-- </VarListEntry> -->
<!-- </VariableList> -->
<!-- </RefSect1> -->
 
==Parametri==
<!-- <VariableList> -->
;-t:
;--text-mode: Mostra i log di compilazione/installazione/aggiornamento, nessuna barra di avanzamento.
<!-- </VarListEntry> -->
;-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 <u>-k "`echo /usr/src/kernel-headers-*`"</u>). 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).
<!-- </VarListEntry> -->
;-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'''.
<!-- </VarListEntry> -->
;-v:
;--verbose: Visualizza informazioni supplementari, come i percorsi completi dei pacchetti binari.
<!-- </VarListEntry> -->
;-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).
<!-- </VarListEntry> -->
;-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.
<!-- </VarListEntry> -->
;-u:
;--userdir: Tutte le variabili di ambiente che rappresentano un [[path]] verranno reindirizzate verso la nuova directory specificata attraverso questa opzione.
<!-- </VarListEntry> -->
;-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.
<!-- </VarListEntry> -->
;-s:
;--apt-search: Guarda il comando <tt>search</tt> per maggiori dettagli.
<!-- </VarListEntry> -->
;-h:
;--help: Mostra una breve descrizione sull'utilizzo.
<!-- </VarListEntry> -->
<!-- </VariableList> -->
<!-- </RefSect1> -->
 
==VARIABILI DI AMBIENTE==
<br>
Puoi esportare le seguenti variabili di ambiente per modificare il comportamento delgi script di compilazione. Alcuni pacchetti potrebbero ignorarle o interpretarle diversamente.
<!-- <VariableList> -->
;KPKG_DEST_DIR: <tt>KPKG_DEST_DIR</tt> 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.
<!-- </VarListEntry> -->
;SIGNCHANGES: Se <tt>SIGNCHANGES</tt> è impostato, saranno generati i file .change (chiamando la regola <tt>kdist_image</tt> invece di kdist) e debsign (oppure gpg o pgp) sarà eseguito per firmare le modifiche.
<!-- </VarListEntry> -->
;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 <tt>KPKG_DEST_DIR</tt> no, <tt>DEB_DESTDIR</tt> diventerà <tt>$(KSRC)/..</tt> .
<!-- </VarListEntry> -->
;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 ???'')
<!-- ORIG
Specifies the realname of the person building the package (interesting for .changes file only).
FINE ORIG -->
<!-- </VarListEntry> -->
;MODULE_LOC: Un percorso differente per la directory del sorgente dei moduli (già estratti). Il default è '''''/usr/src/modules'''''.
<!-- </VarListEntry> -->
;MA_VARDIR: Un percorso differente per i dati di cache, usati dagli script di supporto (''helper script'') dei pacchetti installati da <u>module-assistant</u>. Il default è '''''/var/cache/modass'''''.
<!-- </VarListEntry> -->
;MOD_SRCDIR: Un percorso differente per gli archivi dei sorgenti dei moduli. Il default è '''''/usr/src'''''.
<!-- </VarListEntry> -->
;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.
<!-- </VarListEntry> -->
<!-- </VariableList> -->
<!-- </RefSect1> -->
 
==Uso Non-Root==
<br>
<u>module-assistant</u> 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 <u>get</u>, <u>install</u>, <u>auto-install</u> e <u>prepare</u> 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 <u>list</u>
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.
<!-- </RefSect1> -->
 
==Files==
<!-- <variablelist> -->
;'''''/usr/share/modass/packages/*''''': Lista di script di supporto forniti con il pacchetto module-assistant.
<!-- </VarListEntry> -->
;'''''/usr/share/modass/overrides/*''''': Script di supporto installati da altri pacchetti.
<!-- </VarListEntry> -->
<!-- </variablelist> -->
<!-- </RefSect1> -->
 
==Vedi Anche==
<br>
<!-- <CiteRefEntry> -->
<!-- <RefEntryTitle> -->
<u>make-kpkg</u>
<!-- </RefEntryTitle> -->
<!-- <ManVolNum/[1-9]{1}/ -->
<!-- </CiteRefEntry> -->
, <!-- <CiteRefEntry> -->
<!-- <RefEntryTitle> -->
'''''/usr/share/doc/module-assistant/RATIONALE'''''
<!-- </RefEntryTitle> -->
<!-- </CiteRefEntry> -->
<!-- </RefSect1> -->
 
==Bugs==
<br>
Visita la [http://bugs.debian.org/src:module-assistant pagina dei bug di module-assistant]. 
Se desideri segnalare un bug di module-assistant, usa il comando <!-- <CiteRefEntry> --><!-- <RefEntryTitle> --><u>reportbug</u>
<!-- </RefEntryTitle> -->
<!-- <ManVolNum/[1-9]{1}/ -->
<!-- </CiteRefEntry> -->
.
<!-- </RefSect1> -->
 
==Codici di uscita==
<!-- <VariableList> -->
;0: successo <!-- </VarListEntry> -->
;1..249: vari errori durante il processo di compilazione <!-- </VarListEntry> -->
;254: problema con i permessi <!-- </VarListEntry> -->
;255: errore risolvibile dopo l'intervento dell'utente <!-- </VarListEntry> -->
<!-- </VariableList> -->
<!-- </RefSect1> -->
 
==TODO==
<br>
Quicklist (fast output without details) <br>
Integration into APT and/or into the init system <br>
"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) <br>
automatic transformation of kernel sources to generate .udeb packages <!-- </RefSect1> -->
==Author==
<br>
Module-Assistant was written by Eduard Bloch <email>blade@debian.org</> for the Debian distribution.
<!-- </RefSect1> -->
 
[[Categoria:Kernel]]
1 760

contributi