Осиротывшие файлы

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

Аватара пользователя
Keeper
Сообщения: 209

Осиротывшие файлы

Сообщение Keeper »

Все привет!
Как-то быстро не удалось найти.
Нужна утилитка, которая выведет список файлов, которые не принадлижат ни одному из пакетов\ебилдов.
Подскажите пожалуйста :)
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Осиротывшие файлы

Сообщение serzh-z »

Подобный скрипт валялся когда-то валялся в недрах форума gentoo.org - но год назад, как помнится, он никем уже не поддерживался.

В планах выбрать время, слепить что-то подобное и почистить некоторые каталоги. Благо это легко решить связкой 'bash + find + qfile'.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Осиротывшие файлы

Сообщение KiWi »

Только вот аккуратнее надо -- рискуете не запустить систему после всех этих манипуляций.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Осиротывшие файлы

Сообщение serzh-z »

Ну почему же. Необязательно их все удалять. Хотя бы получить список таких файлов - скажем в /etc их должно быть полно - просмотреть, оставить самосозданные, и часть переместить в бекап.
Спасибо сказали:
Аватара пользователя
Keeper
Сообщения: 209

Re: Осиротывшие файлы

Сообщение Keeper »

на коленке наклепал что-то такое :)

Код: Выделить всё

#!/usr/bin/python

import re
import sys
import getopt
import os

try:
    opts, args = getopt.getopt(sys.argv[1:], "f:", ["file="])
except getopt.GetoptError, msg:
    print msg
    sys.exit(1)

for o, a in opts:
    if o in ("-f", "--file"):
        db_file = a

db_lines = open(db_file).readlines()
os.popen("rm -rf /tmp/badfile")
for line in db_lines:
    line = re.sub("\n", "", line)
    out = re.split("\r?\n\r?", os.popen("qfile " + line).read())
    if (out[0] == ""):
        os.popen("echo " + line + " >> /tmp/badfile")

работает, но дооолго (ну это и понятно).
Пока скармливать надо что-то типа результата, плученного после find /usr/bin -type f > file.lst
т.е. ./megascript.py -f file.lst
завтра будет время покопаю подольше (без всяких предварительных вызовов финда)
Спасибо сказали:
gtlinuxman
Сообщения: 184
ОС: Gentoo 2006.0

Re: Осиротывшие файлы

Сообщение gtlinuxman »

Поищи findcruft
ту версию, что у меня выкладываю.

ЗЫ это тот самый скрипт с генту.орг.
Open Source
Создавать и воспитывать [сущее]; создавая, не обладать [тем, что создано];
приводя в движение, не прилагать к этому усилий; руководя, не считать себя
властелином – вот что называется глубочайшим дэ.
"Дао Дэ Цзин" && Gentoo 2005.1
Спасибо сказали:
Аватара пользователя
Keeper
Сообщения: 209

Re: Осиротывшие файлы

Сообщение Keeper »

Спасибо, завтра поковыряю ;)
Спасибо сказали: