Aufzeichnen welche Dateien von einem Programm angelegt werden
Mit Hilfe von ftrace lässt sich aufzeichnen, welche Dateien von einem Programm erstellt werden. ftrace findet man in den FreeBSD Ports unter sysutils/ftrace:
# cd /usr/ports/sysutils/ftrace/ && make install clean
Im folgenden Beispiel wird aufgezeichnet, welche Dateien angelegt werden, wenn man ein make install in /usr/ports/ports-mgmt/portsopt ausführt. Das Ergebnis wird nach /tmp/filelist geschrieben:
# cd /usr/ports/ports-mgmt/portsopt
# ftrace /tmp/filelist make install
===> Extracting for portsopt-1.4
=> MD5 Checksum OK for portsopt-1.4.tar.gz.
=> SHA256 Checksum OK for portsopt-1.4.tar.gz.
===> Patching for portsopt-1.4
===> Configuring for portsopt-1.4
===> Installing for portsopt-1.4
===> Generating temporary packing list
===> Checking if ports-mgmt/portsopt already installed
install -o root -g wheel -m 555 /usr/ports/ports-mgmt/portsopt/work/portsopt-1.4/portsopt /usr/local/sbin
===> Registering installation for portsopt-1.4
# cat /tmp/filelist
/usr/ports/ports-mgmt/portsopt/work
/usr/ports/ports-mgmt/portsopt/work/portsopt-1.4
/usr/ports/ports-mgmt/portsopt/work/portsopt-1.4/portsopt
/usr/ports/ports-mgmt/portsopt/work/.extract_done.portsopt._usr_local
/usr/ports/ports-mgmt/portsopt/work/.patch_done.portsopt._usr_local
/usr/ports/ports-mgmt/portsopt/work/.configure_done.portsopt._usr_local
/usr/ports/ports-mgmt/portsopt/work/.build_done.portsopt._usr_local
/usr/ports/ports-mgmt/portsopt/work/.PLIST.mktmp
/usr/ports/ports-mgmt/portsopt/work/.PLIST.mktmp
/usr/ports/ports-mgmt/portsopt/work/.PLIST.mktmp
/usr/ports/ports-mgmt/portsopt/work/.PLIST.mktmp
/usr/local/share/nls/POSIX
/usr/local/share/nls/en_US.US-ASCII
/usr/local/sbin/portsopt
/var/db/pkg/portsopt-1.4
/var/db/pkg/portsopt-1.4/+CONTENTS
/var/db/pkg/portsopt-1.4/+DESC
/var/db/pkg/portsopt-1.4/+COMMENT
/var/db/pkg/portsopt-1.4/+MTREE_DIRS
/usr/ports/ports-mgmt/portsopt/work/.PLIST.flattened
/usr/ports/ports-mgmt/portsopt/work/.PLIST.setuid
/usr/ports/ports-mgmt/portsopt/work/.PLIST.writable
/usr/ports/ports-mgmt/portsopt/work/.PLIST.objdump
/usr/ports/ports-mgmt/portsopt/work/.install_done.portsopt._usr_local
Sollen versteckte Dateien nicht aufgezeichnet werden, kann die -i Option verwendet werden:
# cd /usr/ports/ports-mgmt/portsopt && ftrace -i /tmp/filelist make install
===> Extracting for portsopt-1.4
=> MD5 Checksum OK for portsopt-1.4.tar.gz.
=> SHA256 Checksum OK for portsopt-1.4.tar.gz.
===> Patching for portsopt-1.4
===> Configuring for portsopt-1.4
===> Installing for portsopt-1.4
===> Generating temporary packing list
===> Checking if ports-mgmt/portsopt already installed
install -o root -g wheel -m 555 /usr/ports/ports-mgmt/portsopt/work/portsopt-1.4/portsopt /usr/local/sbin
===> Registering installation for portsopt-1.4
# cat /tmp/filelist
/usr/local/share/nls/POSIX
/usr/local/share/nls/en_US.US-ASCII
/usr/local/sbin/portsopt
/var/db/pkg/portsopt-1.4
/var/db/pkg/portsopt-1.4/+CONTENTS
/var/db/pkg/portsopt-1.4/+DESC
/var/db/pkg/portsopt-1.4/+COMMENT
/var/db/pkg/portsopt-1.4/+MTREE_DIRS