Pagina di manuale di module-assistant: differenze tra le versioni
m (→Non-Root usage: typo) |
m (→Files: typo) |
||
Riga 58: | Riga 58: | ||
<!-- </VarListEntry> --> | <!-- </VarListEntry> --> | ||
;-k: | ;-k: | ||
;--kernel-dir: La directory dei sorgenti del kernel da usare per la compilazione. Puoi specificare | ;--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> --> | <!-- </VarListEntry> --> | ||
;-l: | ;-l: | ||
;--kvers-list: Lista delle versioni dei kernel (come in KVERS) da processare. Se omesso, | ;--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'''. | :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> --> | <!-- </VarListEntry> --> | ||
Riga 68: | Riga 68: | ||
<!-- </VarListEntry> --> | <!-- </VarListEntry> --> | ||
;-n: | ;-n: | ||
;--no-rebuild: Se un pacchetto che deve essere generato esiste | ;--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 | :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> --> | <!-- </VarListEntry> --> | ||
;-f: | ;-f: | ||
;--force: Non controlla il file di destinazione (in un'altra versione) e forza la compilazione. | ;--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 | :Per il comando get, scarica una nuova versione del pacchetto anche se è già stata installata. | ||
<!-- </VarListEntry> --> | <!-- </VarListEntry> --> | ||
;-u: | ;-u: | ||
Riga 79: | Riga 79: | ||
<!-- </VarListEntry> --> | <!-- </VarListEntry> --> | ||
;-i: | ;-i: | ||
;--non-inter: Quando la compilazione del pacchetto non si conclude con successo, continua con gli elementi restanti. Come comportamento predefinito, module-assistant | ;--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> --> | <!-- </VarListEntry> --> | ||
;-s: | ;-s: | ||
Riga 114: | Riga 114: | ||
==Non-Root usage== | ==Non-Root usage== | ||
<br> | <br> | ||
<u>module-assistant</u> | <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> | 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. | 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. | ||
Riga 121: | Riga 121: | ||
==Files== | ==Files== | ||
<!-- <variablelist> --> | <!-- <variablelist> --> | ||
;'''''/usr/share/modass/packages/*''''': Lista di script di | ;'''''/usr/share/modass/packages/*''''': Lista di script di supporto forniti con il pacchetto module-assistant. | ||
<!-- </VarListEntry> --> | <!-- </VarListEntry> --> | ||
;'''''/usr/share/modass/overrides/*''''': Script di supporto installati da altri pacchetti. | ;'''''/usr/share/modass/overrides/*''''': Script di supporto installati da altri pacchetti. |
Versione delle 09:04, 6 lug 2005
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. |
Description
module-assistant is the command-line tool for handling module-source packages that have been prepared for the Debian distribution. It helps users to build and install module package(s) easily for one or more custom kernels.
Unless the -h, or --help option is given, one of the commands below should be present to invoke a function explicitely. If no (or no valid) command is specified and the dialog tool is available, a simple graphical user interface will pop up and guide you trough the available functionality.
NOTE: don't even think about using some random kernel-source-x.y.z package contents (or linux-x.y.z tarball from the Internet) to specify the kernel source for your currently running kernel. Don't! Those source is not exactly what have been used to build the running kernel and its configuration most likely does not match yours. You need the configured kernel source directory or at least the derived kernel-headers-... package containing the kernel configuration for the exact kernel version (complete version string).
If you do not understand anything of the above, run "m-a prepare" and/or look at the description and contents of some kernel-headers-... package.
Please run the module-assistant prepare command once before you do anything else.
For some packages, kernel-headers (reduced source) is not enough. You will have the choice to run a completely customized kernel, or to recreate the source that have been used to build the current one. The fakesource function may be useful, see below.
In order to configure a kernel source properly, you need to make sure that the file version.h is generated. To get it, configure the options as usual (make menuconfig etc.) and run make dep (for kernel 2.4.x) or make prepare (for newer ones).
Commands
Most commands require a specification of the package names that they should be applied on.
pkg can be a single word (package name) or multiple names. The word all will be expanded to the list of all available packages, the word alli to the list of currently installed (source) packages and the word allu will be expanded to the list of packages that seem to be installed and unpacked in the base source directory.
If a source package with the given name is not available, module-assistant (abbreviated: m-a) will extend the package name with the popular suffixes like -kernel, -driver, -module, -source and combinations of them.
Multiple commands can be specified in one invocation, eg. "m-a clean,get,build arla cdfs" is the short way to write "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" (or similar).
If you do not like the dialog/whiptail GUI, feel free to use the -t switch to disable it.
- update
- update is used to resynchronize the version index files from their sources. This happens with helper scripts provided by the packages. module-assistant has a default built-in list of the packages that it should look for but other packages can be registred by module-assistant if the maintainer adds the helper script.
- prepare
- Tries to determine the name of the required kernel-headers package (either the one matching the currently running kernel or for the versions specified with -l), installs it if needed and creates the /usr/src/linux symlink if needed.
- fakesource
- Experimental function which tries to determine the name of the required/compatible kernel-source package, installs it, modifies the Makefile to look like the original source and runs configuration routines as needed. Warning: DO NOT RELY ON THE RESULTING SOURCE. It may be very different from the original version.
- list | list-available | la
- list-available (abbreviated with la) presents a list of details about specified packages, including installed version, installable versions and recently built binary packages. If the package names are omitted, shows all known packages. With -v, prints long package paths.
- list-installed | li
- Synonym to list alli. Acts like list-available but limits the list to the installed source packages.
- search
- Synonym to list -s. Looks for locally compiled packages first and (if none found) searches for alternative installation candidates with apt-cache.
- get
- get followed by the package list installs the package source, downloading source packages when needed.
- build
- build is followed by one or more source packages that should be built. It chooses the kernel source appropriate for the currently running kernel unless different directories have been specified. If the build fails, look for the most recent log file in /var/cache/modass (or the user-specified location).
- install
- install is followed by one or more packages desired for installation. The last built package for the current running kernel is chosen.
- auto-install | a-i
- auto-install 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.
- You can use alli or allu shortcuts to select all installed modules source packages or only those that have been unpacked before (similar to the make-kpkg tool normaly does, looking in $MODULE_LOC)
- auto-build | a-b
- like auto-install but does not install the package immediately
- clean
- clean clears the build directories of the kernel packages.
- purge
- purge 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!
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.
ENVIRONMENT VARIABLES
You can export the following environment variables to modify the behaviour of the build scripts. Some packages may ignore them or interpret them differently.
- KPKG_DEST_DIR
- KPKG_DEST_DIR specify the target directory where the resulting Debian package should be installed into. However, many packages ignore this variable and install the file into the directory above the kernel source directory or above the current directory.
- SIGNCHANGES
- If SIGNCHANGES is set, .changes files will be generated (calling kdist_image rule instead of kdist) and debsign (or gpg or pgp) will be executed to sign the changes.
- KMAINT | DEBFULLNAME | DEBNAME
- Specifies the realname of the person building the package, interesting for .changes file only. In addition, if KMAINT is set and KPKG_DEST_DIR is not, DEB_DESTDIR will become $(KSRC)/...
- KEMAIL | DEBEMAIL
- Specifies the realname of the person building the package (interesting for .changes file only).
- MODULE_LOC
- A different location for the (already extracted) module source directories. Default is /usr/src/modules.
- MA_VARDIR
- A different location for cached data, used by helper scripts from module-assistant. Default is /var/cache/modass.
- MOD_SRCDIR
- A different location for module source tarballs. Default is /usr/src.
- ROOT_CMD
- Wrapper command to execute command as root. If you are not root, fakeroot is chosen automatically. This variable must be interpreted by individual packages so some of them may ignore it. However, you can still run module-assistant inside of the ROOT_CMD wrapper.
Non-Root usage
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.
See Also
make-kpkg
,
/usr/share/doc/module-assistant/RATIONALE
Bugs
Visita la http://bugs.debian.org/src:module-assistantpagina dei bud di module-assistant</>.
Se desideri segnalare un bug di module-assistant, usa il comando reportbug
.
Return codes
- 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.