coredumpctl에서 누락된 코어 파일 항목을 삭제하는 방법

coredumpctl에서 누락된 코어 파일 항목을 삭제하는 방법

어떤 이유로 coredumpctl더 이상 사용할 수 있는 코어 파일이 없는 항목의 지속적인 백로그가 있습니다. 배출구가 막히지 않도록 어떻게 청소할 수 있나요?

답변1

모든 코어 덤프 항목과 해당 ID를 나열합니다.

coredumpctl list

또는

coredumpctl list --no-pager --no-legend

핵심 파일이 없는 파일을 식별합니다.

이러한 항목의 크기는 0이거나 코어 파일이 없음을 나타내는 메시지입니다.

coredumpctl remove <ID>

또는

로깅 덤프 파일이 나열되어 있으므로 나열되지 않은 덤프 파일을 coredumpctl list수동으로 삭제할 수 있습니다 ./var/lib/systemd/coredump

덤프 파일을 찾아보고, 파일을 명령 결과와 비교하고, 나열되지 않은 파일을 삭제하세요.

다음 명령을 사용하여 각 항목을 삭제합니다.

rm /var/lib/systemd/coredump/core.<ID>.<executable>.core

list 명령을 다시 실행하여 항목이 삭제되었는지 확인합니다.

저장된 모든 덤프 코어를 정리하려면 systemd-coredump루트로 다음을 실행할 수 있습니다.

systemd-tmpfiles --clean

귀하의 직접적인 질문에 대답하자면, 그렇습니다. 코어 덤프 파일은 안전하게 삭제할 수 있습니다.

고쳐 쓰다:

로그 파일을 다시 작성하는 것 외에 개별 항목을 지우는 직접적인 방법은 없습니다 journalctl. 이는 간단한 작업이 아닌 것 같습니다.

@aviro에서 | OP는 파일을 삭제하고 싶지 않습니다 /var/lib/systemd/coredump. 정반대. 그는 사용할 수 있는 파일이 없는 coredumpctl항목(더 정확하게는 항목)을 삭제하거나 필터링하려고 합니다. 그의 불만은 더 이상 사용할 수 있는 핵심 파일이 없는 항목의 지속적인 백로그가 있다는 것이었습니다. _ 비축한다는 것은 그가 .journalctl/var/lib/systemd/coredump_coredumpctl/var/lib/systemd/coredump

누락된 항목에 대해 코어 덤프 파일을 필터링하려면 journalctl메시지 필터와 함께 사용하여 목록 항목의 실제 ID를 바꿀 수 있습니다.

journalctl -u systemd-coredump --grep="<ID>"

몇 가지 조사 끝에 로그가 인터리브되어 있기 때문에 특정 시스템 장치에 대한 로그를 삭제할 수 없다는 사실을 알게 되었으며, 한 단위만 삭제하면 로그가 손상되어 journalctl삭제할 수 없게 됩니다.

program copy_journal.py내 Python 3을 로그 파일에 사용하여 ./var/log/journal

systemd의 로그는 이러한 종류의 변조를 방지하도록 설계되었습니다.

기록된 로그 파일 형식여기지원 내용을 설명합니다.온라인 전방 안전 씰:

태그 개체는 변경 사항으로부터 로그를 봉인하는 데 사용됩니다. 태그 개체는 주기적으로 파일에 추가됩니다. 태그 개체는 마지막으로 태그가 작성된 이후 또는 태그가 아직 작성되지 않은 경우 처음부터 파일에 저장된 개체에서 계산된 SHA-256 HMAC 태그로 구성됩니다. HMAC의 키는 외부에서 유지 관리되는 FSPRG 로직에 의해 쓰기 에포크의 에포크에 대해 계산됩니다. 시퀀스 번호 seqnum은 각 태그마다 증가됩니다. [..]

관련 정보