Используйте мою программу Python 3 copy_journal.py для файлов журнала в /var/log/journal
, из которых вы хотите удалить записи.
Например, чтобы сделать копию system.journal
без записей журнала для NetworkManager.service
:
$ journalctl --file=system.journal | wc
167 1934 18825
$ journalctl --file=system.journal | grep -v NetworkManager | wc
77 881 8421
$ python3 copy_journal.py --remove-unit=NetworkManager.service system.journal system-without-nm.journal
$ journalctl --file=system-without-nm.journal | wc
77 881 8421
Попробовав все остальное (смонтировать диск на другой машине, восстановить старые резервные копии), я в конце концов решил рискнуть и проверить раздел.
fsck -Dfp
пожаловался на ошибки и запросил повторный запуск без параметра -p
.
fsck -Df
затем обнаружил пару ошибок:
На этапе 2 (структура каталогов) обнаружено несколько ошибок, например:
Problem in HTREE directory inode 4997425: block #1 has bad max hash
Problem in HTREE directory inode 4997425: block #2 has bad min hash
Invalid HTREE directory inode 4997425 (/misc/Downloads). Clear HTree index<y>? yes
На этапе 3 обнаружены неуникальные имена файлов и предложено создать копию. IIRC это были файлы, которые я воссоздал, потому что они не были видны через Samba.
Я позволил fsck исправить все эти ошибки, а затем снова смонтировал раздел.
потерянный + найденный
ничего не содержит. Объекты-нарушители находятся на своих исходных местах. Теперь я с радостью копирую оставшиеся файлы из раздела.