Descubra quando uma versão específica do kernel foi inicializada pela última vez
Para aqueles que instalam manualmente as versões do kernel, o /boot
pode crescer muito ao longo do tempo. Gostaria de descobrir quais versões do kernel não foram inicializadas há muito tempo como candidatas à remoção.
Última hora do arquivo acessado
Para facilitar este projeto, eu precisaria saber quando cada kernel foi inicializado pela última vez. Eu vi um Q & amp; A para encontrar arquivos mais antigos que uma determinada data usando o atime
. No entanto, este Q & amp; A foi à procura de arquivos com mais de x dias. Estou procurando todos os arquivos e querendo saber o último horário de acesso.
Por meio do script bash, como alguém determinaria o último horário de acesso de um determinado arquivo?
Editar 1 - Tem de definir o último tempo de acesso da Versão do Kernel durante o arranque
Quando o grub monta o kernel, ele está no modo ro
(somente leitura) e o último horário de acesso não é atualizado.
Se você executar update-initramfs -u -k all
o arquivo initrd.img
, o último horário de acesso será atualizado para todos os kernels, mesmo que eles não tenham sido inicializados hoje.
Ao instalar um novo kernel, todos os arquivos anteriores da versão do kernel system.map-w.x.yy-zzz
do último acesso são atualizados, mesmo que não tenham sido inicializados hoje.
Para registrar corretamente quando uma versão do kernel foi REALMENTE inicializada, precisamos touch
do arquivo vmlinuz-w.x.yy-zzz
. Usando os poderes sudo, crie um arquivo como este em /etc/cron.d/
:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot root touch "/boot/vmlinuz-"'uname -r'
Agora, ao listar arquivos em /boot
usando a resposta do muru:
localize / boot / vm * -printf "% Ac% p \ n"
Thu 21 Jul 2016 05:02:48 AM MDT /boot/vmlinuz-3.13.0-92-generic
Wed 26 Oct 2016 05:10:08 PM MDT /boot/vmlinuz-3.2.0-113-generic
Sat 15 Oct 2016 10:45:41 AM MDT /boot/vmlinuz-4.4.0-43-generic
Thu 20 Oct 2016 06:09:00 PM MDT /boot/vmlinuz-4.4.0-45-generic
Sat 06 Aug 2016 09:32:02 PM MDT /boot/vmlinuz-4.6.3-040603-generic
Sun 21 Aug 2016 12:59:04 PM MDT /boot/vmlinuz-4.7.1-040701-generic
Fri 26 Aug 2016 04:51:04 AM MDT /boot/vmlinuz-4.7.2-040702-generic
Thu 08 Sep 2016 06:46:52 PM MDT /boot/vmlinuz-4.7.3-040703-generic
Sun 25 Sep 2016 07:25:46 PM MDT /boot/vmlinuz-4.7.5-040705-generic
Sat 08 Oct 2016 03:08:45 PM MDT /boot/vmlinuz-4.8.1-040801-generic
Sat 22 Oct 2016 08:16:44 AM MDT /boot/vmlinuz-4.8.4-040804-generic
Sun 30 Oct 2016 12:56:12 PM MDT /boot/vmlinuz-4.8.5-040805-generic
Verifique o espaço livre antes de instalar a nova versão do Kernel
Antes de instalar um novo kernel, é uma boa idéia verificar quanto espaço está disponível em /boot
e / ou quanto já está sendo usado com esses comandos:
rick@dell:~$ df /boot
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdc3 30106300 20449376 8104556 72% /
────────────────────────────────────────────────────────────────
rick@dell:~$ du /boot --max-depth 0 -h
565M /boot
Para ver quanto espaço será salvo excluindo um kernel anterior específico, use este comando:
rick@dell:~$ du /boot/*4.8.1* -h
1.4M /boot/abi-4.8.1-040801-generic
204K /boot/config-4.8.1-040801-generic
44M /boot/initrd.img-4.8.1-040801-generic
3.6M /boot/System.map-4.8.1-040801-generic
4.8M /boot/vmlinuz-4.8.1-040801-generic