Eu "preciso" de DKMS?

14

Minha distro baseada no Ubuntu veio com algumas coisas do VirtualBox pré-instaladas, então eu a desinstalei e o pacote DKMS foi removido automaticamente.

Pelo que vi, parece um pacote útil, mas preciso? Coisas como o VirtualBox e o CDemu o instalam por conta própria, e o Ubuntu não é fornecido com ele instalado por padrão, então eu acho que é "necessário" apenas por alguns programas que instalam módulos ou algo assim.

Eu não sou um usuário GNU / Linux longo, por isso não tenho muita experiência, nem tenho experiência em compilação.

Agora tenho uma atualização do kernel do Linux pendente, mas não sei se devo atualizá-la sem o DKMS instalado.

Justauser
fonte
você está usando drivers proprietários, como, sem limitação, gráficos nvidia ou qualquer coisa especial instalada após a instalação do ubuntu?
Mchid
Não, apenas os drivers gratuitos.
Justauser
Como uma observação adicional: em um computador moderno, não é necessário desinstalar aplicativos padrão (como o DKMS). Diferentemente do Windows, por exemplo, os aplicativos não utilizados não diminuem a velocidade do seu computador e, em um sistema moderno, o espaço que eles ocupam é insignificante.
Paddy Landau

Respostas:

15

Se você não possui módulos dkms instalados, não precisa do pacote dkms. Não está instalado por padrão no Ubuntu.

Quando você instala alguns drivers proprietários, como Nvidia, AMD ou Broadcom, o pacote dkms também é instalado automaticamente.

Para verificar se você possui algum módulo dkms, você pode executar

dkms status

Se o dkms não estiver instalado, este comando não funcionará, mas você poderá procurar no /var/lib/dkms/diretório

As fontes dos pacotes dkms são armazenadas em /usr/src/

Pilot6
fonte
Como verificar se tenho alguns módulos? Você está certo, tentei instalar o driver proprietário da NVIDIA e ele queria instalar o DMKS, então acho que se eu realmente precisasse, o gerenciador de pacotes o instalaria para mim.
Justauser
@Justauser Adicionado à resposta
Pilot6
Eu tentei instalar o DKMS apenas para tentar o comando, ele veio com nada. E não havia dkms pasta em / var / lib / em / usr / src /, há 2 pastas relacionadas com linux-headers
Justauser
Portanto, você não possui módulos dkms.
Pilot6
7

Eu acho que você já olhou um pouco para o DKMS, ele é usado para atualizar os módulos do kernel que estão fora da fonte normal do kernel. Muitas vezes, são drivers e pacotes como o VirtualBox que precisam de DKMS. Você pode não necessariamente 'precisar' do DKMS, mas é útil instalá-lo, especialmente se você instalou pacotes extras, embora não tê-lo instalado não estrague sua atualização do kernel.

Há mais informações sobre o DKMS aqui e uma resposta útil sobre o ubuntu aqui .

Arronical
fonte
Eu já vi essa resposta, mas é muito tênue. O que você quer dizer com "pacotes extras"? Você quer dizer instalado manualmente? E o que significa "módulos do kernel que estão fora da fonte normal do kernel"?
Justauser
2
Pacotes extras significam outro software que você instalou. Alguns pacotes, como o VirtualBox, precisam interagir com o kernel e, assim, instalar módulos no kernel para permitir a execução. Quando o kernel é atualizado, o módulo de pacotes pode não funcionar mais ou pode ser substituído. O DKMS garante que, se houver módulos carregados no kernel por pacotes suplementares, eles serão tratados adequadamente quando o kernel for atualizado e o software continuará funcionando.
Arronical
5

Resposta curta: Se você deseja usar o Vitualbox também após a atualização do kernel, precisará do DKMS e dos cabeçalhos do kernel adequados ao seu kernel.

Resposta longa: Este sistema ajuda a compilar drivers (também conhecidos como módulos do kernel) para que eles possam executar com o kernel atual. Se você não recompilar um módulo, acontecerá que o módulo não poderá ser carregado e, portanto, a função fornecida por ele não estará mais disponível. No seu caso: Se você não recompilar os módulos de caixa virtual, o Virtualbox não estará disponível após a atualização. Ele será iniciado, mas não poderá iniciar nenhuma VM.

frlan
fonte
5

O Ubuntu inicializará bem sem o DKMS.

Se qualquer coisa que você usa dependesse do DKMS, mas não o incluísse Depends:na embalagem, você notará e poderá reinstalar o DKMS e registrar um erro.

DKMS é para pacotes que fornecem um módulo do kernel no formato de origem (ou binário com um wrapper de origem), portanto eles não precisam atualizar o módulo para cada reconstrução do kernel. O próprio kernel padrão sempre funciona, independentemente do DKMS ou não.

Peter Cordes
fonte