Как Вы узнаете, когда определенная версия ядра была в последний раз загружена?

Узнайте, когда Определенная Версия Ядра была в последний раз загружена

Для тех то, кто вручную устанавливает ядро, присваивает версию /boot может стать большим со временем. Я хотел бы, находят, какие версии ядра не были загружены в долгое время как кандидаты на удаление.

Файл в последний раз получил доступ ко времени

Для упрощения этого проекта, я должен был бы знать, когда каждое ядро было в последний раз загружено. Я видел Вопросы и ответы для нахождения файлов, более старых, чем определенная дата с помощью atime. Однако это Вопросы и ответы пошло, ища файлы, более старые, чем x дни. Я ищу все файлы и желаю знать прошлое время доступа.

С помощью сценария удара, как можно было бы определить прошлое время доступа данного файла?

Редактирование 1 - Должно установить прошлое время доступа Версии Ядра во время начальной загрузки

Когда личинка монтирует ядро, это находится в ro режим (только для чтения) и прошлое время доступа не обновляется.

Если Вы работаете update-initramfs -u -k all файл initrd.img прошлое время доступа обновляется для всех ядер даже при том, что они не были загружены сегодня.

При установке нового ядра все предыдущие файлы версий ядра system.map-w.x.yy-zzz прошлое время доступа обновляется даже при том, что они не были загружены сегодня.

Для корректной записи, когда версия ядра была ДЕЙСТВИТЕЛЬНО загружена, мы должны touch файл vmlinuz-w.x.yy-zzz. Используя sudo полномочия создают файл как это в /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:

найдите/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
1
задан 31 October 2016 в 00:58

2 ответа

Используйте stat команда:

   %x     time of last access, human-readable
   %X     time of last access, seconds since Epoch

Так:

stat -c %X /some/file

Или с find:

find /some/path -printf "%A@ %p\n"

С тех пор для find -printf:

  %a     File's  last  access time in the format returned by the C
         `ctime' function.

  %Ak    File's last access time in the  format  specified  by  k,
         which  is  either `@' or a directive for the C `strftime'
         function.  The possible values for k  are  listed  below;
         some  of  them might not be available on all systems, due
         to differences in `strftime' between systems.

         @      seconds  since  Jan.  1,  1970,  00:00  GMT,  with
                fractional part.
2
ответ дан 7 December 2019 в 13:40

Я принял ответ muru, поскольку он правильно показывает, как найти прошлое время доступа файла. Однако, когда личинка монтирует ядро, это находится в ro режим только для чтения, таким образом, прошлое время доступа не обновляется.

, Кроме того, когда Вы работаете update-initramfs -u -k all, файл initrd.img обновляется с текущим временем для всех ядер даже при том, что он не был загружен сегодня.

При установке нового ядра ко всем файлам ядра system.map-w.x.yy-zzz получают доступ даже при том, что оно не было загружено сегодня.

Для корректной записи, когда ядро было в последний раз загружено с помощью sudo полномочия, создают файл как это в /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's использования vmlinuz-x.w.yy-zzz отобразится, когда то ядро было в последний раз загружено.

0
ответ дан 7 December 2019 в 13:40

Другие вопросы по тегам:

Похожие вопросы: