LINUX.ORG.RU

Список всех файлов, созданных конкретной программой

 , ,


0

1

Есть ли у нас какой-то механизм чтобы вычислить к какой программе относится тот или иной файл? Может какой демон отслеживающий создание файлов?

Пример использования: вычистка авгиевого хомяка с десятками ГиБ неводомой хрени.


Есть всякие аудиты, fanotify. Если не вести базу, то можно, например отслеживать через fanotify и прописывать в xattrs файла.

У уже созданных никаких отличий нет.

boowai ★★★★
()
Ответ на: комментарий от Binkledum

Можно, но на практике это грустно.

Usruser
() автор топика

У тебя какое-то странное представление о структуре файловой системы.

Если это что-то лежит в папке «даун-лоад», то какой бы ты программой что-то не скачал — инициатором закачки всегда был лично ты. Если ты вдруг не помнишь зачем и когда ты качал это, то можешь смело это удалить даже не приходя в сознание.

Если это что-то лежит в папке "./config/ПрограммаХ", то трудно, невообразимо трудно предположить, что туда писал кто-то кроме как твоя ПрограммаХ, а не твой ново/старомодный Excel или Word.

Если это что-то лежит в папке "./тмп", то это всё вообще можно смело удалить даже не задумываясь.

И вообще тебя что учитель по рукам чтоле бьёт за бесхозно валяющиеся файлы? или что?

P.s. Встречал только две причины для чистки хомяка: кончилось место на разделе и кончились inodes.

justAmoment ★★★★★
()
Ответ на: комментарий от justAmoment

Ну вот и прикинь: кончилось место. И когда я полез выяснять, то нашёл десятки ГиБ файлов принадлежность которых я установить не смог. И вообще между «много места и всё аккуратно» и «места нет и х.з что там творится» я не вижу причин выбирать второе.

Usruser
() автор топика

Вообще-то нет такой, насколько я знаю. По крайней мере, если прописывается в /usr -точно нет. С другой стороны, весь выхлоп обычно пишется или в /var/log или в домашний каталог, в скрытый ".имя_программы". Нажми в диспетчере файлов кнопочку «показать скрытые» или открой при помощи mc и просто удивись.

ЗЫ: У меня однажды firefox начал глючить конкретно. Заколебался было поначалу. Потом каталог .mozilla грохнул - зашибись стало.

cadaber ★★
()
Последнее исправление: cadaber (всего исправлений: 1)
Ответ на: комментарий от Usruser

Ну вот и прикинь: кончилось место.

Теперь ясно. Выхода собственно два. Либо очистить место. Либо увеличить раздел, оставив всё как есть, чтобы не заниматься чисткой.

С увеличением раздела надеюсь ясно что делать?

А с чисткой самый простой и действенный способ. Просто удалить вообще всё. Нужные конфиги будут созданы автоматически. При следующем запуске как будто это первый запуск.

Более щадящий вариант НЕ УДАЛИТЬ всё, а ПЕРЕНЕСТИ всё на внешний носитель/облако/другой комп и т.д. Если какая либо часть данных вдруг понадобится, то положить эту часть обратно на первичное место хранения. Если данные не понадобились в течении 6 месяцев и из места бэкапа не было обратного переноса, то можно смело их шлёпнуть все в бэкапе (вообще не разбираясь что там и как).

justAmoment ★★★★★
()
Ответ на: комментарий от justAmoment

Городить костыли, рубить с плеча и искать обходные пути через болота говн я вполне умею. Я лишь хотел узнать нет ли прямой дороги с твёрдым покрытием.

Usruser
() автор топика
Ответ на: комментарий от wandrien
  1. audit – очевидное решение, да.

  2. Можно интересующий процесс запускать с другим контекстом безопасности. Создаваемые им файлы отследивать по их контексту, лежащему в xattr. Но это если SELinux есть.

  3. Можно изобразить что-то такое

kprobe:security_inode_create
{
    $dir_entry = ((struct dentry *) arg1);
    $finame = str($dir_entry->d_name.name);
    time("%H:%M:%S ");
    printf("%-8d %-20s %s\n", pid, comm, $finame);
}

Много чего можно придумать.

i586 ★★★★★
()

На FreeBSD:

Чей файл:

> pkg which /usr/local/lib/libbox2d.so.2.4.1
/usr/local/lib/libbox2d.so.2.4.1 was installed by package Box2D-2.4.1

Какие ещё файлы принадлежат пакету:

> pkg info -l Box2D-2.4.1
Box2D-2.4.1:
	/usr/local/include/box2d/b2_api.h
	/usr/local/include/box2d/b2_block_allocator.h
	/usr/local/include/box2d/b2_body.h
	/usr/local/include/box2d/b2_broad_phase.h
	/usr/local/include/box2d/b2_chain_shape.h
	/usr/local/include/box2d/b2_circle_shape.h
	/usr/local/include/box2d/b2_collision.h
	/usr/local/include/box2d/b2_common.h
	/usr/local/include/box2d/b2_contact.h
	/usr/local/include/box2d/b2_contact_manager.h
	/usr/local/include/box2d/b2_distance.h
	/usr/local/include/box2d/b2_distance_joint.h
	/usr/local/include/box2d/b2_draw.h
	/usr/local/include/box2d/b2_dynamic_tree.h
	/usr/local/include/box2d/b2_edge_shape.h
	/usr/local/include/box2d/b2_fixture.h
	/usr/local/include/box2d/b2_friction_joint.h
	/usr/local/include/box2d/b2_gear_joint.h
	/usr/local/include/box2d/b2_growable_stack.h
	/usr/local/include/box2d/b2_joint.h
	/usr/local/include/box2d/b2_math.h
	/usr/local/include/box2d/b2_motor_joint.h
	/usr/local/include/box2d/b2_mouse_joint.h
	/usr/local/include/box2d/b2_polygon_shape.h
	/usr/local/include/box2d/b2_prismatic_joint.h
	/usr/local/include/box2d/b2_pulley_joint.h
	/usr/local/include/box2d/b2_revolute_joint.h
	/usr/local/include/box2d/b2_rope.h
	/usr/local/include/box2d/b2_settings.h
	/usr/local/include/box2d/b2_shape.h
	/usr/local/include/box2d/b2_stack_allocator.h
	/usr/local/include/box2d/b2_time_of_impact.h
	/usr/local/include/box2d/b2_time_step.h
	/usr/local/include/box2d/b2_timer.h
	/usr/local/include/box2d/b2_types.h
	/usr/local/include/box2d/b2_weld_joint.h
	/usr/local/include/box2d/b2_wheel_joint.h
	/usr/local/include/box2d/b2_world.h
	/usr/local/include/box2d/b2_world_callbacks.h
	/usr/local/include/box2d/box2d.h
	/usr/local/lib/cmake/box2d/box2dConfig-release.cmake
	/usr/local/lib/cmake/box2d/box2dConfig.cmake
	/usr/local/lib/cmake/box2d/box2dConfigVersion.cmake
	/usr/local/lib/libbox2d.so
	/usr/local/lib/libbox2d.so.2
	/usr/local/lib/libbox2d.so.2.4.1
	/usr/local/share/licenses/Box2D-2.4.1/LICENSE
	/usr/local/share/licenses/Box2D-2.4.1/MIT
	/usr/local/share/licenses/Box2D-2.4.1/catalog.mk
iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)

Может какой демон отслеживающий создание файлов?

Перед установкой и использованием программы можно сделать снапшоты файловой системы, в которую пишет эта программа, до и после установки и использования. Затем сравнить эти снапшоты между собой и посмотреть изменения — новые и затёртые файлы.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от justAmoment

Встречал только две причины для чистки хомяка: кончилось место на разделе и кончились inodes.

это одна причина =)

Minona ★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.