Journalctl은 재활용되지 않은 매우 오래된 부츠를 표시합니다.

Journalctl은 재활용되지 않은 매우 오래된 부츠를 표시합니다.

시스템에 재활용되지 않은 아주 오래된 부츠(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

답변1

Linux 운영 체제의 새로운 바이너리 로그는 이전 바이너리 로그와 다르게 작동합니다.

이전 바이너리 로그는 /var/log/wtmp및 입니다 /var/log/btmp. 시스템이 부팅되면 wtmp사용자 이름으로 항목이 기록되고, 시스템이 종료되면 reboot사용자 이름으로 항목이 기록됩니다. 시스템이 언제 다시 시작되었는지 확인하려면 및 명령을 사용하여 항목을 인쇄하면 됩니다.wtmpshutdownlast rebootlast shutdown

새 바이너리 로그는 시스템 로그이며 해당 항목이 없습니다.

대신에,일기장마다라는 프로그램이 있습니다.시작 ID. -o verbose옵션을 통해 이를 확인할 수 있습니다 journalctl. 부팅 ID는 부팅 시 커널에 의해 생성되며 systemd-journald커널에서 얻은 현재 부팅 ID는 로그에 추가될 때 각 로그 레코드에 적용됩니다.

list-boots이 기능을 수행하려면 journalctl스캔저널 전체, 타임스탬프와 시작 ID를 읽습니다.각 레코드, 그리고 언급됨최초 및 최신 타임스탬프각 고유 실행 ID와 연결됩니다.

가지다아니요이전 바이너리 로그의 경우와 마찬가지로, 정리할 로그 항목을 명시적으로 시작합니다. 대신에, 당신은 제거해야합니다모두더 이상 보고 싶지 않은 실행 ID로 태그가 지정된 항목입니다.

당신의 문제는 당신이 권한 있는 사용자이기 때문에 전체 저널이반품포함하다각 사용자의 일기: 디렉토리 목록에서 볼 수 있는 파일과 파일입니다 user-1001.journal. user-42.journal또한 2014년과 2015년 이후로 건드리지 않은 일부 사용자에 대한 사용자별 로그가 있음을 확인할 수 있습니다. 이러한 로그 항목에는 이전 시작 ID가 포함되어 있습니다.

설명서에 나와 있듯이 "Clean"은 현재 활성 파일이 아닌 보관된 로그 파일에서만 작동합니다. 하지만 2014년과 2015년의 다양한 사용자별 일기를 더 보실 수 있습니다.아직 활성 상태인 파일그 사용자들을 위해. 아이러니하게도 보관할 수 있을 만큼 커지지 않았습니다.

두 가지 옵션이 있습니다:

  • --system시스템 파일만 제한 journalctl --list-boots하고 사용자별 파일을 읽지 않으려면 이 옵션을 사용합니다 .
  • journalctl --rotate사용자별 로그(및 시스템 로그 - 동굴!)를 강제로 보관하여 "비우기"할 수 있도록 하는 데 사용됩니다 . 이것이 없으면 매뉴얼 페이지에 설명된 대로 journalctl프로세스에 신호를 보내야 합니다 .systemd-journald

gdm물론, 이 작업을 수행하기 전에 사용자 계정에 각 사용자에 대한 로그가 있는 이유와 사용자 ID 995가 2015년 만우절에 무엇을 했는지 조사하고 싶을 수도 있습니다 . ☺

다른 부팅 ID에 journalctl -n 20 _BOOT_ID=53baf678f0d749d6b390afea4a3ef96b대한 결과 및 이에 상응하는 결과를 확인하고 싶을 수도 있습니다 .journalctl --reverse -n 20 _BOOT_ID=53baf678f0d749d6b390afea4a3ef96b

관련 정보