Depmod - Comando Linux - Comando Unix

Nome

depmod - manipula as descricións de dependencia para os módulos do kernel cargables

Sinopse

depmod [-aA] [-ehnqrsuvV] [-C configfile ] [-F kernelsyms ] [-b basedirectory ] [ forced_version ]
depmod [-enqrsuv] [-F kernelsyms ] module1.o module2.o ...

Descrición

As utilidades depmod e modprobe están destinadas a administrar un kernel modular de Linux para todos os usuarios, administradores e mantedores de distribución.

Depmod crea un ficheiro de dependencia como "Makefile", baseado nos símbolos que atopa no conxunto de módulos mencionados na liña de comandos ou desde os directorios especificados no ficheiro de configuración. Este ficheiro de dependencia é usado posteriormente por modprobe para cargar automaticamente o módulo correcto ou a pila de módulos.

O uso normal do depmod é incluír a liña


/ sbin / depmod -a

nalgún lugar dos ficheiros rc en /etc/rc.d , de xeito que as dependencias de módulos correctos estarán dispoñibles inmediatamente despois de iniciar o sistema. Teña en conta que a opción -a agora é opcional. Para fins de arranque, a opción -q pode ser máis axeitada xa que fai que o depmod silente sobre símbolos non resoltos.

Tamén é posible crear o ficheiro de dependencia inmediatamente despois de compilar un kernel novo. Se fai " depmod -a 2.2.99 " cando compilou o kernel 2.2.99 e os seus módulos a primeira vez, mentres se está a executar, por exemplo, 2.2.98, o ficheiro crearase no lugar correcto. Non obstante, neste caso, as dependencias do kernel non se garantirán que sexan correctas. Vexa as opcións -F , -C e -b anteriores para obter máis información sobre o manexo deste.

Ao crear a relación entre módulos e os símbolos exportados por outros módulos, depmod non ten en conta o estado de GPL dos módulos nin dos símbolos exportados. É dicir, depmod non marcará un erro se un módulo sen unha licenza compatible con GPL fai referencia a un símbolo de GPL (EXPORT_SYMBOL_GPL no kernel). Non obstante, insmod rexeitará a resolver só símbolos de GPL para módulos non GPL, polo que a carga real fallará.

Opcións

-a , --all

Busca módulos en todos os directorios especificados no ficheiro de configuración (opcional) /etc/modules.conf .

-A , --quick

Compare as marcas de tempo do ficheiro e, se é necesario, actúa como depmod -a . Esta opción só actualiza o ficheiro de dependencia se algo cambiou.

-e , --segundos

Mostrar todos os símbolos non resoltos para cada módulo.

-h , --help

Mostrar un resumo das opcións e saír de inmediato.

-n , --show

Escribe o ficheiro de dependencia en stdout no canto de na árbore / lib / modules .

-q , --quiet

Indica a depmod que quédese tranquilo e non se queixa dos símbolos que faltan.

-r , --root

Algúns usuarios compilan módulos baixo un usuario non root e instálanse os módulos como root. Este proceso pode deixar os módulos propiedade do usuario non root, aínda que o directorio de módulos sexa propiedade da raíz. Se o usuario non root está comprometido, un intruso pode sobreescribir os módulos existentes propiedade de ese usuario e usar esta exposición para arrincar ata o acceso root.

Por defecto, modutils rexeitará os intentos de usar un módulo que non sexa propiedade de root. A especificación de -r eliminará o erro e permitirá que a raíz cargue módulos que non sexan propiedade da raíz.

O uso de -r é unha gran exposición de seguridade e non se recomenda.

-s , --syslog

Escribe todas as mensaxes de erro a través do daemon syslog en vez de stderr.

-u , --unresolved-error

O depmod 2.4 non establece un código de retorno cando hai símbolos non resoltos. O seguinte lanzamento principal de modutils (2.5) establecerá un código de retorno para os símbolos non resoltos. Algunhas distribucións queren un código de retorno non cero en modutils 2.4, pero ese cambio pode causar problemas para os usuarios que esperan o comportamento anterior. Se desexa un código de retorno non cero en depmod 2.4, especifique -u . O depmod 2.5 ignorará silenciosamente a bandeira -u e sempre dará un código de retorno non cero para os símbolos non resoltos.

-v , - verbose

Mostrar o nome de cada módulo mentres se está a procesar.

-V , --versión

Mostrar a versión de depmod .

As seguintes opcións son útiles para persoas que xestionan as distribucións:

-b basedirectory , --basedir basedirectory

Se a árbore de directorio / lib / módulos que conteñen sub-árbores de módulos móvense noutro lugar para manipular módulos para un ambiente diferente, a opción -b di a depmod onde atopar a imaxe movida da árbore / lib / modules . As referencias de ficheiros no ficheiro de saída depmod que está construído, modules.dep , non conterán a ruta baseada no directorio . Isto significa que cando a árbore de ficheiro se muda de backirectory / lib / módulos a / lib / modules na distribución final, todas as referencias serán correctas.

-C configfile , --config configfile

Use o ficheiro configfile en lugar de /etc/modules.conf . A variable de entorno MODULECONF tamén se pode empregar para seleccionar un ficheiro de configuración diferente do estándar /etc/modules.conf (ou /etc/conf.modules (obsoleto)).

Cando a variable de ambiente

UNAME_MACHINE está configurado, modutils usará o seu valor no canto do campo da máquina desde uname () syscall. Isto é principalmente usado cando está compilando módulos de 64 bits no espazo de usuario de 32 bits ou viceversa, estableza UNAME_MACHINE no tipo de módulos que está a ser construído. Os moduladores actuais non admiten o modo de compilación completa de módulos, limitándose a elixir versións entre 32 e 64 bits da arquitectura host.

-F kernelsyms , --filesyms kernelsyms

Ao crear ficheiros de dependencia para un kernel distinto do núcleo que se está a executar, é importante que depmod use o conxunto correcto de símbolos do kernel para resolver as referencias do kernel en cada módulo. Estes símbolos poden ser unha copia de System.map do outro kernel ou unha copia da saída de / proc / ksyms . Se o kernel usa símbolos versionados, o mellor é usar unha copia da saída / proc / ksyms , xa que ese ficheiro contén as versións de símbolos dos símbolos do kernel. Non obstante, pode usar un mapa de sistema incluso con símbolos versionados.

Configuración

O comportamento de depmod e modprobe pode ser axustado polo ficheiro de configuración (opcional) /etc/modules.conf .
Vexa modprobe (8) e modules.conf (5) para obter unha descrición completa.

Estratexia

Cada vez que compila un novo kernel, o comando " make modules_install " creará un novo directorio, pero non cambiará o predeterminado.

Cando obteña un módulo sen relación coa distribución do kernel, debería colocalo nun dos directorios independentes da versión en / lib / modules .

Esta é a estratexia predeterminada, que se pode anular en /etc/modules.conf .

Ver tamén

lsmod (8), ksyms (8)

Importante: use o comando man ( % home ) para ver como se usa un comando na súa computadora particular.