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