A principal diferença da perspectiva do usuário é que module-assistant
( m-a
) é uma ferramenta para compilar manualmente um módulo do kernel, enquanto dkms
faz isso automaticamente sem intervenção do usuário. Se você estiver usando m-a
e o pacote do kernel for atualizado, você deve recompilar manualmente o módulo usando m-a
. Como m-a
apenas compila para o kernel que você está executando atualmente, isso significa que você terá uma GUI quebrada para a próxima reinicialização se o módulo para o qual você precisa m-a
for um driver gráfico.
Os gatilhos para dkms
são executados em cada instalação do pacote kernel e garante que o módulo seja instalado para cada kernel no sistema. Eu pessoalmente não consigo pensar em uma razão para um usuário final continuar usando m-a
.
Aqui estão alguns exemplos de m-a
vs dkms
para o módulo do kernel nvidia
:
Criando um módulo com o module-assistant:
apt-get install module-assistant nvidia-kernel-source
m-a prepare # install the header package for the current kernel and compilation tools
m-a install nvidia-kernel-source # compile the source into a .deb and install it
Criando um módulo com dkms:
apt-get install nvidia-kernel-dkms
Atualização do kernel com module-assistant
:
apt-get upgrade # assumed to upgrade kernel
# reboot
m-a prepare
m-a install nvidia-kernel-source
Atualização do kernel com dkms
:
apt-get upgrade # assumed to upgrade kernel