![]() |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"whomade - процесс, запоминающий кто создал файлы в отслеживаемых каталогах" | +/– | ![]() |
Сообщение от opennews (??), 23-Авг-25, 07:55 | ||
Для определения приложений, создающих расходующие дисковое пространство файлы в домашнем каталоге пользователя, подготовлен фоновый процесс whomade, отслеживающий появление новых файлов при помощи механизма fanotify. Проект написан на языке С++ и распространяется под лицензией GPLv3... | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения | [Сортировка по времени | RSS] |
2. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | –2 +/– | ![]() |
Сообщение от User (??), 23-Авг-25, 08:06 | ||
Так ведь в ntfs создатель и без помощи демонов известен. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
11. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | –7 +/– | ![]() |
Сообщение от WE (?), 23-Авг-25, 09:21 | ||
А ты не путай корпоративные ПО с опенсорщеной. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
13. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | –1 +/– | ![]() |
Сообщение от нах. (?), 23-Авг-25, 09:23 | ||
ну и кто мне понасоздавал вот это вот | ||
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору |
![]() | ||
56. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (56), 23-Авг-25, 13:36 | ||
Так ведь он в любой ФС известен. Но только вот какие именно он процессы использовал для создания файлов - неизвестно. | ||
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору |
3. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Stanislavvv (?), 23-Авг-25, 08:18 | ||
> Данные хранятся в БД SQLite3 | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
7. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +1 +/– | ![]() |
Сообщение от A.Stahl (ok), 23-Авг-25, 09:04 | ||
Атрибуты чего? БД хранит лишь кортежи имя файла/имя процесса. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
8. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | –1 +/– | ![]() |
Сообщение от Аноним (8), 23-Авг-25, 09:12 | ||
Атрибуты ФС. Это ясно из контекста, да и термин однозначный. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
17. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +3 +/– | ![]() |
Сообщение от A.Stahl (ok), 23-Авг-25, 09:32 | ||
> Атрибуты ФС. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
21. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +1 +/– | ![]() |
Сообщение от Аноним (8), 23-Авг-25, 09:50 | ||
>> Атрибуты ФС. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
25. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от A.Stahl (ok), 23-Авг-25, 09:55 | ||
И на каких ФС это работает? Вот я действительно ничего про это не знаю. Кинь ссылкой где всё это разжёвано. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
30. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +1 +/– | ![]() |
Сообщение от Аноним (8), 23-Авг-25, 10:08 | ||
Ммм на всех? Сложно сказать. https://en.wikipedia.org/wiki/Extended_file_attributes | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
33. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от A.Stahl (ok), 23-Авг-25, 10:12 | ||
Забавно. Я не сталкивался. Гляну потом повнимательней. Это может упростить мне жизнь, на самом деле, если действительно работает. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
34. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +2 +/– | ![]() |
Сообщение от Аноним (8), 23-Авг-25, 10:30 | ||
О да, меня вот расстраивает, что записанные в атрибуты хэши с информацией об источнике файла файловые менеджеры не показывают из коробки. Но и знаю, что они там есть, и открываю окошко из контекстного меню, когда надо. Можно много чего интересного сделать на самом деле, только отсутствие поддержки в ФМ удручает. Ни xdg, ни dublincore нет. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
38. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +1 +/– | ![]() |
Сообщение от A.Stahl (ok), 23-Авг-25, 10:51 | ||
Хм. А ведь работает. Спасибо, аноним, за наводку. Это позволит мне вообще выкинуть БД со всеми БД-шными проблемами. И отдельный поток для периодической очистки БД тоже. Одни плюсы. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
41. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (8), 23-Авг-25, 11:04 | ||
Ну нормально это через eBPF делается, может, ещё чего придумаешь улучшить. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
44. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от eugener (ok), 23-Авг-25, 11:39 | ||
> Забавно. Я не сталкивался | ||
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору |
![]() | ||
60. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (60), 23-Авг-25, 14:06 | ||
ага, иконки исполняемых файлов в виде папок или документов :) спасибо, не надо. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
66. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от eugener (ok), 23-Авг-25, 14:31 | ||
Это да, например zip для OS/2 тоже поддерживал расширенные атрибуты, так что можно было заархивировать файл и кому-нибудь переслать, так что у того человека который его разархивирует — он будет с той же иконкой. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
49. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (60), 23-Авг-25, 12:37 | ||
> Хотя достаточно записать, кто создал, прямо в атрибуты файла | ||
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору |
![]() | ||
54. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | –1 +/– | ![]() |
Сообщение от Аноним (8), 23-Авг-25, 13:00 | ||
Я думал, установить, кто создал в последний раз. Там не очень надёжно логирует, насколько я понял. Я попросил чатгпт навайбкодить, чтобы было чётко, он выдал | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
59. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (60), 23-Авг-25, 14:04 | ||
> Там не очень надёжно логирует, насколько я понял. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
67. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (8), 23-Авг-25, 14:31 | ||
Не могу понять, почему это проблема. На практике подобного не будет никогда. А так, у меня есть похожая программа, которая следит, чтобы порождённые процессы помимо пида и команды имели записанный родительский пид и не терялись (смерть прародителя не важна). Если это не так, родитель (шелл однострочник) перезапускается новым прародителем (любым из). Пару лет крутилось тысячи процессов в день, никаких проблем (целиком благодаря sqlite). А так, конечно, линукс позволяет не только крыть команду, но и запустить другой процесс с тем же пид. Использовать для этого аудит? Увольте, лишнее. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
52. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Мемоним (?), 23-Авг-25, 12:53 | ||
Аналитику считать сложнее. И, теоретически, эта информация может понадобиться и после удаления файла. По хорошему нужна поддержка обеих мест хранения. | ||
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору |
![]() | ||
64. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (64), 23-Авг-25, 14:29 | ||
> А расширенные атрибуты, значит, нафиг? | ||
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору |
6. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | –3 +/– | ![]() |
Сообщение от Аноним (6), 23-Авг-25, 08:29 | ||
Отличная замена ls -la, да ещё и с гуй. Всегда искал! | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
9. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (8), 23-Авг-25, 09:14 | ||
Ну это вряд ли. | ||
Ответить | Правка | Наверх | Cообщить модератору |
10. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +1 +/– | ![]() |
Сообщение от u235 (ok), 23-Авг-25, 09:18 | ||
Заглянул в CMakeLists.txt и собирать это как-то расхотелось. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
40. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от 12yoexpert (ok), 23-Авг-25, 11:01 | ||
чувак зачем-то вместо объектных файлов архивы линкует | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
42. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от u235 (ok), 23-Авг-25, 11:21 | ||
>чувак зачем-то вместо объектных файлов архивы линкует | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
63. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от 12yoexpert (ok), 23-Авг-25, 14:29 | ||
> Меня удивили файлы README.md и CHANGELOG.md в add_executable() | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
47. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +1 +/– | ![]() |
Сообщение от Аноним (47), 23-Авг-25, 12:15 | ||
Объектные файлы лучше не линковать - гимора не оберёшься, add_library(... OBJECT ...) - это очень хрупкаяя вещь, напр. от C++ модулей она разваливается. | ||
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору |
![]() | ||
65. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от 12yoexpert (ok), 23-Авг-25, 14:31 | ||
от модулей и компиляторы пока что разваливаются | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
68. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (68), 23-Авг-25, 15:25 | ||
В clang вся базовая функциональность работает и время компиляции сокращает. Не полностью, но работает. import std не работает, и в cmake под специальным вредительской переменной "пропишите "лицензионный ключ", который мы специально периодически меняем, чтобы вы эту фичу даже и не думали всерьёз заюзать". import <...>; не работает совсем. | ||
Ответить | Правка | Наверх | Cообщить модератору |
12. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от RM (ok), 23-Авг-25, 09:22 | ||
название subj и заголовок статьи крайне неудачны, видно из комментов. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
20. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (-), 23-Авг-25, 09:40 | ||
> в заголовоке заменить "кто" на "программу" | ||
Ответить | Правка | Наверх | Cообщить модератору |
18. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +1 +/– | ![]() |
Сообщение от freehck (ok), 23-Авг-25, 09:33 | ||
A.Stahl, ты конечно молодец, что почитал доки и сделал свою реализацию, но вообще-то, хоть мне и неловко сейчас тебе это говорить, однако такой процесс уже есть, и он называется auditd. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
19. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от A.Stahl (ok), 23-Авг-25, 09:39 | ||
> такой процесс уже есть, и он называется auditd. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
22. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +1 +/– | ![]() |
Сообщение от freehck (ok), 23-Авг-25, 09:50 | ||
> Это хорошо, но теперь прикрути туда БД | ||
Ответить | Правка | Наверх | Cообщить модератору |
24. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (24), 23-Авг-25, 09:54 | ||
>addDir(DirAction::ADD, DirType::MONITOR, "/home/astahl/.config"); | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
26. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от A.Stahl (ok), 23-Авг-25, 10:01 | ||
Это обычные плейсхолдеры, чтобы пользователь сразу понял что туда вводить. Их можно менять. Их нужно менять. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
29. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | –1 +/– | ![]() |
Сообщение от Аноним (24), 23-Авг-25, 10:05 | ||
Это вам локальная модель так навайбкодила? Потому что ни один программист так не напишет в продакшн-коде. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
31. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (24), 23-Авг-25, 10:09 | ||
>Она работает. Никаких нареканий у меня нет. Чем твои варианты лучше? | ||
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору |
![]() | ||
45. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Фрол (?), 23-Авг-25, 11:57 | ||
> "Меня устраивает" - не оправдание, а основной принцип UNIX, начиная с первой же версии. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
46. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (47), 23-Авг-25, 12:11 | ||
UNIX была коммерческой ОС. Коммерсы с принципом "меня всё устраивает" с рынка вылетели бы ... а всякие QNX, AIX и прочие и поныне продаются за бабло вме6сто того чтобы "нас всё устраивает, а вы - валите на линукс или винду". | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
28. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (8), 23-Авг-25, 10:04 | ||
Твоя правда. У меня есть похожая шляпа на питоне, но там код получше и функциональность побогаче (раз в 100). А вся работа по написанию заняла те же полчаса. Есть ещё индексатор для поиска: изначально идея была fuzzy search для похожих имён, но в конечном итоге достаточно перестановок и замен/удаления символов. Без индекса перебор часы, с индексом 10 секунд, меня устраивает. | ||
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору |
![]() | ||
32. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (24), 23-Авг-25, 10:10 | ||
В индексе случаем не dafsa? | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
37. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (8), 23-Авг-25, 10:40 | ||
Да не, там простая сериализация в messagepack и cжатие, всё равно перебирать всё для поиска. Индексы просто раздельные немного, чтобы сразу десятки гигабайт памяти не кушать. Это тот случай, когда временное наколенное решение работает достаточно хорошо даже после стократного увеличения объёмов. | ||
Ответить | Правка | Наверх | Cообщить модератору |
27. "whomade - процесс, запоминающий кто создал файлы в отслежива..." | +/– | ![]() |
Сообщение от Аноним (24), 23-Авг-25, 10:01 | ||
>query = std::format(R "SQL(INSERT INTO {0:}(dirname) SELECT '{1:}' WHERE NOT EXISTS(SELECT 1 FROM {0:}WHERE dirname = '{1:}')) SQL ", table_name, dir); | ||
Ответить | Правка | Наверх | Cообщить модератору |
39. "whomade - процесс, запоминающий какие программы создают файл..." | –1 +/– | ![]() |
Сообщение от Анонимчег (?), 23-Авг-25, 10:59 | ||
Интересно, хоть кто-то из критикующих прислал пулл-реквест? | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
43. "whomade - процесс, запоминающий какие программы создают файл..." | –1 +/– | ![]() |
Сообщение от u235 (ok), 23-Авг-25, 11:33 | ||
Типа "критикуя, предлагай" и никак иначе? Я помню этим нашу оппозицию, пока она ещё была, постоянно попрекали. Нет, я не прислал пулл-реквестов и не пришлю. Я высказал свое мнение, автор может принять его к сведению или проигнорировать и это нормально. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
50. "whomade - процесс, запоминающий какие программы создают файл..." | –1 +/– | ![]() |
Сообщение от Аноним (60), 23-Авг-25, 12:43 | ||
auditd - не, не слышал | ||
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору |
48. "whomade - процесс, запоминающий какие программы создают файл..." | +/– | ![]() |
Сообщение от Аноним (48), 23-Авг-25, 12:24 | ||
Если настоящей целью является очистка хомяка от всякого хлама, то я выбрал принципиально другой подход: весь рут ("/") монтируется в tmpfs; хомяк тоже в tmpfs; избранные папки бинд-маунтятся в долгосрочное хранилище. Таким образом после рестарта системы я получаю чуть ли не свежеустановленную ось, при этом только некоторые папки переживают перезагрузку (например ~/.config/chromium). И никакой аудит не задействуется. Пусть там хоть тысячи прог понасоздадут свой мусор в хомяке -- после перезагрузки мусор исчезнет, а папки из белого списка останутся. В интернете этот подход гуглится по словам impermanence nix. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
51. "whomade - процесс, запоминающий какие программы создают файл..." | +/– | ![]() |
Сообщение от Аноним (60), 23-Авг-25, 12:44 | ||
вы, / в ro монтируйте сразу | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
53. "whomade - процесс, запоминающий какие программы создают файл..." | +/– | ![]() |
Сообщение от пох. (?), 23-Авг-25, 12:59 | ||
да можно просто комп не включать - никто не нагадит в хомяк! | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
61. Скрыто модератором | +/– | ![]() |
Сообщение от Аноним (60), 23-Авг-25, 14:07 | ||
Ответить | Правка | Наверх | Cообщить модератору |
55. "whomade - процесс, запоминающий какие программы создают файл..." | +/– | ![]() |
Сообщение от Мемоним (?), 23-Авг-25, 13:01 | ||
А какая-нибудь libmdbx не лучше будет для такой достаточно простой задачи? | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
57. "whomade - процесс, запоминающий какие программы создают файл..." | +/– | ![]() |
Сообщение от Аноним (47), 23-Авг-25, 13:57 | ||
Нет, не будет. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
58. "whomade - процесс, запоминающий какие программы создают файл..." | +/– | ![]() |
Сообщение от Аноним (47), 23-Авг-25, 14:00 | ||
Забыл добавить: в моей реализации чего-то подобного всё ещё lzma2-компрессией накрывалось. | ||
Ответить | Правка | Наверх | Cообщить модератору |
![]() | ||
62. "whomade - процесс, запоминающий какие программы создают файл..." | +/– | ![]() |
Сообщение от Аноним (60), 23-Авг-25, 14:08 | ||
> 1. Во-первых libmbdx - это продукт человека | ||
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |