. Для тех, кто вручную устанавливает версии ядра, /boot может увеличиваться с течением времени. Я хотел бы найти, какие версии ядра не были загружены за долгое время в качестве кандидатов на удаление.
Чтобы облегчить этот проект, мне нужно знать, когда каждое ядро загружалось последним. Я видел Q & amp; A для поиска файлов старше определенной даты с помощью atime. Однако этот Q & amp; A отправил поиск файлов старше x дней. Я ищу все файлы и хочу узнать последнее время доступа.
Через скрипт bash, как определить время последнего доступа к данному файлу?
Когда grub монтирует ядро, он находится в режиме ro (только для чтения), и последнее время доступа не обновляется.
Если вы запустите [ f8] файл initrd.img последнее время доступа обновляется для всех ядер, даже если они не были загружены сегодня.
При установке нового ядра все предыдущие файлы версии ядра system.map-w.x.yy-zzz обновляется, даже если они не были загружены сегодня.
Чтобы правильно записывать, когда была загружена версия ядра, мы должны touch записать файл vmlinuz-w.x.yy-zzz. Используя sudo powers, создайте такой файл в /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`
Теперь, когда перечисляем файлы в /boot, используя ответ muru:
find / 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
Перед установкой нового ядра рекомендуется проверить, сколько места доступно в /boot и / или сколько уже используется с этими командами:
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
Чтобы узнать, сколько места будет сохранено, удалив конкретное предыдущее ядро, используйте эту команду:
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
Я принял ответ муру, поскольку он правильно показывает, как найти последнее время доступа к файлу. Однако когда grub монтирует ядро, он находится в режиме ro только для чтения, поэтому последнее время доступа не обновляется.
Кроме того, при запуске update-initramfs -u -k all файл initrd.img обновляется текущим временем для все ядра, даже если они не были загружены сегодня.
При установке нового ядра доступны все файлы ядра system.map-w.x.yy-zzz, даже если он не был загружен сегодня.
Чтобы правильно записать, когда ядро загружалось последним, используя sudo powers, создайте такой файл в /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`
Теперь, когда перечисление файлов в /boot с использованием ответа muru vmlinuz-x.w.yy-zzz будет отображаться, когда это Ядро было загружено последним.