Hallo, Am Mit, 11 Nov 2009, Thomas Moritz schrieb:
Am Mittwoch 11 November 2009 14:56:17 schrieb David Haller:
Am Mit, 11 Nov 2009, Thomas Moritz schrieb:
in Vorbereitung auf meine spezielle Install-Orgie beschaeftige ich mich gerade damit, wie ich Veraenderungen am kompletten Dateisystem erkennen kann.Ich moechte lediglich feststellen, wohin ueberall das System schreibt.
Du könntest das machen, was checkinstall macht ;) Dich in die relevanten Funktionen einklinken, dazu könntest du wohl sogar die Lib von checkinstall verwenden. Ah, einfacher:
installwatch -o LOGDATEI DEIN_BEFEHL
Die Lib ist 'installwatch.so' ;)
Gerade getestet: installwatch -o /var/log/installtest.log touch /var/log/installtest.txt
installtest.log sagt: 3 open /var/log/installtest.txt #success
Cool :-) Mit was sich die checkinstall-Gegner so alles beschaeftigen :-)
Ich hab mir eben mal genau angeschaut was und wie checkinstall so macht. Und dabei eben die shell-scripte checkinstall und installwatch angeschaut sowie den Quelltext vom installwatch.so ;)
Fuer Tests in kurzen Zeitraeumen ist das wohl die beste Idee! Zur Ueberwachung ueber einen laengeren Zeitraum waere aide wieder besser, da nicht fortlaufend die installwatch-Prozesse herumtoben.
ACK.
Danke Dir!
Aber gern.
PS.: es kommt natuerlich ziemlich viel Zeuch ins log und das schon bei vi, mit dem ich nur "Test" schrub :-)
Auch wenn du mehr schreibst wird's nicht mehr ;)
installwatch -o /var/log/installtest.log vi /var/log/installtest.txt
0 access /usr/share/terminfo/x/xterm #success
Erstmal gucken ob wir die Einstellungen vom Terminal ggfs. einlesen können? Ja.
0 access /var/log/installtest.txt #success
Dürften wir auf die Zieldatei zugreifen? Ja.
4 open /var/log/.installtest.txt.swp #success 5 open /var/log/.installtest.txt.swx #success
Temp/Swapfiles öffnen ...
0 unlink /var/log/.installtest.txt.swx #success 0 unlink /var/log/.installtest.txt.swp #success
... und löschen, wir haben aber immer noch Zugriff drauf über die Dateideskriptoren.
4 open /var/log/.installtest.txt.swp #success 0 chmod /var/log/.installtest.txt.swp 00644 #success
Das kapier ich jetzt aber nicht mehr ;)
0 access /var/log/installtest.txt #success 0 access /var/log/installtest.txt #success
s.o.
3 open /var/log/4913 #success 0 fchown 3 0 0 #success 0 unlink /var/log/4913 #success
Gleiches Spiel.
-1 unlink /var/log/installtest.txt~ #Datei oder Verzeichnis nicht gefunden
Backupdatei löschen.
0 rename /var/log/installtest.txt /var/log/installtest.txt~ #success
Zieldatei umbenennen == Backup anlegen.
3 open /var/log/installtest.txt #success 0 chmod /var/log/installtest.txt 0100644 #success
Zieldatei öffnen (erzeugen) und Rechte setzen.
0 unlink /var/log/installtest.txt~ #success
Alles ok -> Backup weg.
5 open /root/.viminfo.tmp #success 0 fchown 5 0 0 #success 0 unlink /root/.viminfo #success 0 rename /root/.viminfo.tmp /root/.viminfo #success
~/.viminfo aktualisieren, gleiches Schema.
0 unlink /var/log/.installtest.txt.swp #success
Temp-Datei entsorgen. Im Prinzip kannst du dich auf egrep 'open|unlink' LOGDATEI_von_Installwatch konzentrieren, ggfs. auch noch ergänzt um '|chmod|chown' wenn dich auch Rechteänderungen interessieren. Übrigens sehr interessant, wie man sich per LD_PRELOAD geladener Lib ins System einklinken kann ;) HTH, -dnh -- Eine kurze richtige Antwort (mancher mag sie als unfreundlich bezeichnen) ist besser als eine lange, freundliche, falsche. [Dirk H. Hohndel, SuSE] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org