AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1406581
Accepted
Artur Meinild
Artur Meinild
Asked: 2022-05-05 07:27:11 +0800 CST2022-05-05 07:27:11 +0800 CST 2022-05-05 07:27:11 +0800 CST

Por que o Ubuntu não limpa os arquivos antigos do módulo do kernel (em /lib/modules) quando os kernels antigos são removidos?

  • 772

Hoje, notei que o diretório /lib/modulesainda possui todos os diretórios dos kernels instalados anteriormente, assim:

$ ls /lib/modules
5.4.0-29-generic  5.4.0-31-generic  5.4.0-33-generic  5.4.0-37-generic  5.4.0-39-generic
5.4.0-40-generic  5.4.0-42-generic  5.4.0-45-generic  5.4.0-47-generic  5.4.0-48-generic
...  etc.

Em cada um desses diretórios, restam os seguintes arquivos (sistema Intel/AMD):

$ ls -l
-rw-r--r--  1 root 143K 2022-04-28 18:36 modules.alias
-rw-r--r--  1 root 154K 2022-04-28 18:36 modules.alias.bin
-rw-r--r--  1 root 8.0K 2022-04-08 10:44 modules.builtin
-rw-r--r--  1 root  25K 2022-04-28 18:36 modules.builtin.alias.bin
-rw-r--r--  1 root  11K 2022-04-28 18:36 modules.builtin.bin
-rw-r--r--  1 root  63K 2022-04-08 10:44 modules.builtin.modinfo
-rw-r--r--  1 root  85K 2022-04-28 18:36 modules.dep
-rw-r--r--  1 root 123K 2022-04-28 18:36 modules.dep.bin
-rw-r--r--  1 root  268 2022-04-28 18:36 modules.devname
-rw-r--r--  1 root 215K 2022-04-08 10:44 modules.order
-rw-r--r--  1 root  489 2022-04-28 18:36 modules.softdep
-rw-r--r--  1 root 279K 2022-04-28 18:36 modules.symbols
-rw-r--r--  1 root 326K 2022-04-28 18:36 modules.symbols.bin

E para um Raspberry Pi (observe as diferenças de tamanho):

-rw-r--r--  1 root 859K 2022-04-25 17:31 modules.alias
-rw-r--r--  1 root 893K 2022-04-25 17:31 modules.alias.bin
-rw-r--r--  1 root  11K 2022-04-04 13:33 modules.builtin
-rw-r--r--  1 root  27K 2022-04-25 17:31 modules.builtin.alias.bin
-rw-r--r--  1 root  14K 2022-04-25 17:31 modules.builtin.bin
-rw-r--r--  1 root  84K 2022-04-04 13:33 modules.builtin.modinfo
-rw-r--r--  1 root 399K 2022-04-25 17:31 modules.dep
-rw-r--r--  1 root 548K 2022-04-25 17:31 modules.dep.bin
-rw-r--r--  1 root  250 2022-04-25 17:31 modules.devname
-rw-r--r--  1 root 209K 2022-04-04 13:33 modules.order
-rw-r--r--  1 root  950 2022-04-25 17:31 modules.softdep
-rw-r--r--  1 root 354K 2022-04-25 17:31 modules.symbols
-rw-r--r--  1 root 425K 2022-04-25 17:31 modules.symbols.bin

Para um sistema que está em execução há 2 anos com todas as atualizações do kernel, isso equivale a ~50 diretórios antigos. Para um sistema Intel/AMD normal, são cerca de 100 Megabytes e, para um Raspberry Pi, são mais de 300 Megabytes no total - isso equivalerá a algo ao longo do tempo.

Então, eu me pergunto por que esses diretórios e arquivos de módulos antigos para kernels removidos não são removidos como parte do processo de limpeza?

Recentemente, atualizei do Ubuntu 20.04 para 22.04 (e é por isso que estou fazendo algumas coisas de limpeza de qualquer maneira).

Como as coisas estão atualmente, eu me pergunto se devo fazer meu próprio script de limpeza para esses diretórios restantes. Ainda assim, estou curioso por que não é feito automaticamente.

kernel
  • 3 3 respostas
  • 1677 Views

3 respostas

  • Voted
  1. Best Answer
    user68186
    2022-05-05T07:45:32+08:002022-05-05T07:45:32+08:00

    eu não sei porque

    Eu não acho que você obterá uma boa resposta sobre por que o Ubuntu faz algo do jeito que faz.

    História

    Até alguns anos atrás, o Ubuntu não limpava nenhum pacote de kernel e de cabeçalho do kernel. Agora as atualizações de software removem kernels antigos e não utilizados. Acho que roda algo como:

    sudo apt autoremove
    

    Infelizmente, ele deixa esses arquivos de módulo para trás.

    Seguindo em frente

    Você não precisa escrever um script para se livrar deles. O comando a seguir fará o trabalho:

    sudo apt --purge autoremove
    

    Observe que você precisa executar este comando antes que as atualizações de software façam sua limpeza.

    Limpando

    Quanto aos módulos existentes deixados para trás, você terá que excluí-los manualmente, certificando-se de não excluir nenhuma pasta de módulo que esteja sendo usada no momento.

    Use este comando para encontrar a lista de kernels instalados:

    apt list --installed linux-image*
    

    Se o Ubuntu estiver removendo kernels antigos, você deverá ver duas ou três entradas, incluindo o meta pacote linux-image linux-image-generic. Anote os números de versão do kernel dos kernels de instalação e certifique-se de não excluir as /lib/modules/subpastas dos kernels instalados. Espero que isto ajude

    • 8
  2. Artur Meinild
    2022-05-05T10:49:00+08:002022-05-05T10:49:00+08:00

    A partir dos comentários e da resposta de user68186, agora posso concluir que o porquê segue implicitamente o caminho aptfunciona sob o capô.

    Os arquivos do módulo na minha pergunta aparentemente se enquadram na categoria de arquivos de configuração , o que significa que eles não são removidos com um normal apt autoremove, mas apenas removidos se você fornecer a --purgeopção.

    No entanto, especialmente para o Raspberry Pi (e possíveis outras arquiteturas especiais), esses arquivos de configuração podem, em algum momento, chegar a gigabytes, se o sistema estiver funcionando por tempo suficiente com atualizações do kernel.

    Portanto, é bom estar ciente da sudo apt --purge autoremoveopção, que remove todos os arquivos de configuração do kernel anteriores, incluindo configurações de módulo.

    • 3
  3. nobody
    2022-05-08T04:49:26+08:002022-05-08T04:49:26+08:00

    para ossos preguiçosos como eu. eu criei o arquivo

    cat /etc/apt/apt.conf.d/zz_purge 
    APT::Get::Purge "true";
    Binary::apt::Purge "true";
    
    APT::Get::AutomaticRemove "true";
    APT::Get::Purge-Unused "true";
    Binary::apt::APT::Purge-Unused "true";
    Binary::apt::APT::AutomaticRemove "true";
    

    Não importa se eu uso apt ou apt-get e uso autoremove, meus pacotes são removidos. E sempre que instalo ou removo um pacote; os pacotes que não são mais necessários também são eliminados.

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve