Журнал показывает очень старые ботинки, которые не перерабатываются

Система имеет очень старые ботинки (2 и 3 года), которые не перерабатываются, и я не смог их вакуумировать:

$ journalctl --list-boots --no-pager -16 53baf678f0d749d6b390afea4a3ef96b Wed 2014-04-02 22:07:26 IDT—Wed 2014-04-02 22:46:08 IDT -15 60a54132f5c8450d9b33a77819a037d1 Thu 2014-04-03 00:04:50 IDT—Thu 2014-04-03 12:30:21 IDT -14 24b65a7e589d4479bf5020b98b8120b7 Wed 2015-04-01 03:10:01 IDT—Wed 2015-04-01 08:35:21 IDT -13 43398d6d74c849bcb359a2d3963f4aaa Wed 2015-04-08 00:26:31 IDT—Wed 2015-04-08 00:26:31 IDT -12 51b28f394cbb4699b2c4098297f73b2e Mon 2017-07-24 18:28:02 IDT—Mon 2017-07-24 19:08:37 IDT -11 67467a640fb5413189f9cd518a56f668 Tue 2017-07-25 01:21:00 IDT—Mon 2017-07-24 22:54:40 IDT -10 1370875e2f2c4b3c80c82901367b0835 Tue 2017-07-25 03:05:18 IDT—Tue 2017-07-25 01:18:51 IDT -9 462c24a6b4cd487c834e121240bb880c Tue 2017-07-25 13:16:02 IDT—Tue 2017-07-25 18:50:32 IDT -8 970d61bd3a6f455bb67a7a77c788b930 Wed 2017-07-26 00:01:58 IDT—Wed 2017-07-26 02:37:09 IDT -7 dc33b354faa64c7c981da25eb9b77bde Wed 2017-07-26 12:45:04 IDT—Wed 2017-07-26 17:01:02 IDT -6 1bb69b41c09c40aea412714b09678cf2 Wed 2017-07-26 20:01:12 IDT—Wed 2017-07-26 18:43:34 IDT -5 9a6ed1de771d4056b8be15409dfe06f4 Wed 2017-07-26 23:18:25 IDT—Tue 2017-08-01 00:04:56 IDT -4 e3eba22761bc470ca9bd1d9004478ad1 Tue 2017-08-01 13:12:55 IDT—Tue 2017-08-01 18:40:22 IDT -3 02d288fc10714e0592b24ea1cbaf60e4 Tue 2017-08-01 23:00:01 IDT—Wed 2017-08-02 01:29:53 IDT -2 3230c51e8792424aaec920fa15fa96c0 Wed 2017-08-02 12:54:43 IDT—Wed 2017-08-02 18:09:52 IDT -1 10621f49412c43cf976ab30555e6eb36 Wed 2017-08-02 22:37:36 IDT—Wed 2017-08-02 20:22:57 IDT 0 d2e38bd2d96b4027ac14e132638561fb Wed 2017-08-02 23:23:07 IDT—Thu 2017-08-03 00:03:01 IDT 

Я пробовал пылесосить по времени:

 $ sudo journalctl --vacuum-time=1years 

Но ничего не было удалено.

Я пробовал файлы:

 $ sudo journalctl --vacuum-files=12 Deleted archived journal /var/log/journal/b78deda26d9b4740a6bc52f31d993baf/system@412dc1544fb841d4909752bffd03e810-0000000000000001-00055511dc545ff3.journal (16.0M). Deleted archived journal /var/log/journal/b78deda26d9b4740a6bc52f31d993baf/user-1000@15238a40d91c40fabe10b0bec7f53a23-00000000000009ef-0005550f5956d667.journal (25.0M). Deleted archived journal /var/log/journal/b78deda26d9b4740a6bc52f31d993baf/system@412dc1544fb841d4909752bffd03e810-000000000000b685-00055528569c7855.journal (16.0M). Deleted archived journal /var/log/journal/b78deda26d9b4740a6bc52f31d993baf/user-1000@15238a40d91c40fabe10b0bec7f53a23-000000000000b5cd-0005552854d417fd.journal (25.0M). Vacuuming done, freed 82.0M of archived journals on disk. 

Он удалил некоторые ботинки, но не те, которые я ожидал:

 $ journalctl --list-boots --no-pager -9 53baf678f0d749d6b390afea4a3ef96b Wed 2014-04-02 22:07:26 IDT—Wed 2014-04-02 22:46:08 IDT -8 60a54132f5c8450d9b33a77819a037d1 Thu 2014-04-03 00:04:50 IDT—Thu 2014-04-03 12:30:21 IDT -7 24b65a7e589d4479bf5020b98b8120b7 Wed 2015-04-01 03:10:01 IDT—Wed 2015-04-01 08:35:21 IDT -6 43398d6d74c849bcb359a2d3963f4aaa Wed 2015-04-08 00:26:31 IDT—Wed 2015-04-08 00:26:31 IDT -5 9a6ed1de771d4056b8be15409dfe06f4 Wed 2017-07-26 23:23:00 IDT—Tue 2017-08-01 00:04:56 IDT -4 e3eba22761bc470ca9bd1d9004478ad1 Tue 2017-08-01 13:12:55 IDT—Tue 2017-08-01 18:40:22 IDT -3 02d288fc10714e0592b24ea1cbaf60e4 Tue 2017-08-01 23:00:01 IDT—Wed 2017-08-02 01:29:53 IDT -2 3230c51e8792424aaec920fa15fa96c0 Wed 2017-08-02 12:54:43 IDT—Wed 2017-08-02 18:09:52 IDT -1 10621f49412c43cf976ab30555e6eb36 Wed 2017-08-02 22:37:36 IDT—Wed 2017-08-02 20:22:57 IDT 0 d2e38bd2d96b4027ac14e132638561fb Wed 2017-08-02 23:23:07 IDT—Thu 2017-08-03 00:09:37 IDT 

Как я могу избавиться от этих древних сапог с 2014 года и до 2015 года? Почему они сохраняются?


Обновить

Согласно предложению Derobert, в списке возвращается следующее:

 $ ls -lt /var/log/journal/b78deda26d9b4740a6bc52f31d993baf/ | tail -rw-r-----+ 1 root systemd-journal 26214400 Aug 2 22:44 user-1000@15238a40d91c40fabe10b0bec7f53a23-0000000000026307-000555aff155c595.journal -rw-r-----+ 1 root systemd-journal 16777216 Aug 2 22:44 system@412dc1544fb841d4909752bffd03e810-0000000000026340-000555b006ce5e6d.journal -rw-r-----+ 1 root systemd-journal 26214400 Aug 1 15:04 user-1000@15238a40d91c40fabe10b0bec7f53a23-000000000001d951-0005558547686519.journal -rw-r-----+ 1 root systemd-journal 8388608 Aug 1 15:04 system@412dc1544fb841d4909752bffd03e810-000000000001d952-000555854768665a.journal -rw-r-----+ 1 root systemd-journal 26214400 Jul 30 12:10 user-1000@15238a40d91c40fabe10b0bec7f53a23-0000000000015378-0005553e36e51b82.journal -rw-r-----+ 1 root systemd-journal 8388608 Jul 30 12:03 system@412dc1544fb841d4909752bffd03e810-0000000000015393-0005553e40691231.journal -rw-r-----+ 1 root systemd-journal 8388608 Apr 18 2015 user-1002.journal -rwxr-xr-x+ 1 root systemd-journal 8388608 Apr 8 2015 user-42.journal -rwxr-xr-x+ 1 root systemd-journal 8388608 Apr 1 2015 user-995.journal -rwxr-xr-x+ 1 root systemd-journal 8388608 Apr 3 2014 user-1001.journal 

Новые двоичные журналы в операционных системах Linux не работают так, как это делали старые двоичные журналы.

Старые двоичные журналы были /var/log/wtmp и /var/log/btmp . В системном бутстрапе запись будет записана в wtmp с reboot имени пользователя, а при завершении записи запись будет записана в wtmp с shutdown имени пользователя. Поиск времени перезагрузки системы состоял в том, чтобы использовать last reboot и last shutdown для печати этих записей.

Новые двоичные журналы – это журнал systemd, и у них нет таких записей.

Вместо этого в каждой записи журнала есть поле с именем идентификатора загрузки . Вы можете увидеть это с помощью опции -o verbose для journalctl . Идентификатор загрузки генерируется ядром при загрузке, а systemd-journald применяет текущий идентификатор загрузки, взятый из ядра, к каждой записи журнала, поскольку он добавляет его в журнал.

Чтобы реализовать функциональность list-boots , journalctl сканирует весь журнал , считывая метки времени и идентификаторы загрузки каждой записи и отмечая самые ранние и последние временные метки, связанные с каждым уникальным идентификатором загрузки.

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

Ваша проблема в том, что, поскольку вы являетесь привилегированным пользователем, весь журнал также включает журналы для каждого пользователя : эти файлы user-1001.journal и user-42.journal которые вы можете увидеть в своем списке каталогов. И, как вы также можете видеть, у вас есть журналы для пользователей для некоторых пользователей, которые не были затронуты с 2014 года и до 2015 года. Это те записи журнала, которые имеют эти старые идентификаторы загрузки.

Как говорится в руководстве, «пылесос» работает только с архивными файлами журнала, а не с текущими активными файлами. Но, как вы можете видеть, эти различные журналы для каждого пользователя, датированные 2014 и 2015 годами, являются текущими активными файлами для этих пользователей. По иронии судьбы, они никогда не становились достаточно большими, чтобы быть заархивированными.

У вас есть два варианта:

  • Используйте параметр --system чтобы ограничить journalctl --list-boots только системными файлами и не читать файлы для каждого пользователя.
  • Используйте journalctl --rotate чтобы заставить journalctl --rotate для каждого пользователя архивироваться (а также системный журнал – пещера!), Чтобы они были «вакуумируемыми». Если в вашем journalctl нет этого, вам необходимо отправить сигнал в процесс systemd-journald , как описано на его странице руководства.

Конечно, прежде чем это сделать, вам может потребоваться выяснить, почему у вашей учетной записи пользователя gdm есть журнал для каждого пользователя, и какой пользовательский идентификатор 995 делал в апреле 2005 года.

Вы также можете посмотреть, какие результаты будут journalctl -n 20 _BOOT_ID=53baf678f0d749d6b390afea4a3ef96b и journalctl --reverse -n 20 _BOOT_ID=53baf678f0d749d6b390afea4a3ef96b и их эквиваленты для других идентификаторов загрузки.