Pagina 1 di 1
File non appartenenti ai pacchetti...
Inviato: gio 16 nov 2006, 16:08
da gianogli
Esiste un comando da dare per visualizzare i file presenti sull'HD (o in una directory) ma non presenti in nessun pacchetto tgz installato con installpkg?
In pratica vorrei trovare tutti i file creati in un secondo tempo o i file appartenenti ai pacchetti che avevo installato con make install tempo fa...
E' possibile?
Grazie mille...
GiAn
Inviato: gio 16 nov 2006, 18:36
da albatros
Credo che find possa fare al caso tuo...
Inviato: gio 16 nov 2006, 20:29
da dapuzz
Ci sarebbe un bello scriptino da pensare...
In ogni caso spesso di default i programmi installati con il make install vanno in /usr/local in cui nessun pacchetto (ufficiale o di slacky) mette piede. Bene o male puoi vedere da lì cosa hai installato a mano.
Inviato: gio 16 nov 2006, 20:32
da gianogli
albatros ha scritto:Credo che find possa fare al caso tuo...
In che senso?
Come faccio a drigli di cercare ad esempio su / (escludendo /home e /tmp) tutti i file che non appartengo ai pacchetti tgz installati?
Ho dato un'occhiata al man ma non ho trovato nulla in proposito...
Grazie mille...
GiAn
Inviato: gio 16 nov 2006, 21:39
da bloodlust
gianogli ha scritto:albatros ha scritto:Credo che find possa fare al caso tuo...
In che senso?
Come faccio a drigli di cercare ad esempio su / (escludendo /home e /tmp) tutti i file che non appartengo ai pacchetti tgz installati?
Ho dato un'occhiata al man ma non ho trovato nulla in proposito...
Grazie mille...
GiAn
ricordati che in /var/log/packages hai i log di tutti i pacchetti installati nei quali trovi l'elenco dei file (ricordati di saltare l'header, fino alla riga "FILE LIST:" compresa,quando fai il parsing).
Dai un occhio alla man page di grep ti servirà

Inviato: gio 16 nov 2006, 21:44
da absinthe
Codice: Seleziona tutto
#definisco il percorso ed il nome del file di log
LOGDIR=/percorso_assoluto_a_piacere
LOGFILE=nome_file_di_log
#memorizzo la dir. attuale ed entro in /
cwd=$(pwd)
cd /
touch $LOGDIR/$LOGFILE
#memorizzo l'elenco di tutti i file del pc con tempi di attesa sovraumani...
#escludo la /home (non mi ricordo ma credo si possa fare anche soltanto con find)
FILELIST=$(find . | grep -v "\/home\/")
for FILE in $FILELIST; do
#per ogni file dell'hd valuto se esiste il nome nel database dei file installati
grep ${FILE:1} /var/log/packages/*
#se non è presente lo loggo
[ ! $? -eq 0 ] && echo $FILE >> $LOGDIR/$LOGFILE
done
#rientro nella directory di inizio attività
cd $cwd
fatto da win in troppo poco tempo. ci saranno sicuramente bachi e imprecisioni. ma la base è quella!
M
PS: l'algoritmo -bachi a parte- non è perfetto per5chè non valuta le operazioni di postinstall