2012-09-20 16:03:26 +00:00
|
|
|
#!/usr/bin/perl
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
|
|
|
tracefile - list files being accessed
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
B<tracefile> [-aenu] I<command>
|
|
|
|
|
2016-03-02 19:50:53 +00:00
|
|
|
B<tracefile> [-aenu] -p I<pid>
|
|
|
|
|
2012-09-20 16:03:26 +00:00
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
B<tracefile> will print the files being accessed by the command.
|
|
|
|
|
|
|
|
=head1 OPTIONS
|
|
|
|
|
|
|
|
=over 9
|
|
|
|
|
|
|
|
=item I<command>
|
|
|
|
|
|
|
|
Command to run.
|
|
|
|
|
|
|
|
|
|
|
|
=item B<-a>
|
|
|
|
|
|
|
|
List all files.
|
|
|
|
|
|
|
|
|
|
|
|
=item B<-e>
|
|
|
|
|
|
|
|
List only existing files.
|
|
|
|
|
|
|
|
|
|
|
|
=item B<-n>
|
|
|
|
|
|
|
|
List only non-existing files.
|
|
|
|
|
2016-03-02 19:50:53 +00:00
|
|
|
=item B<-p> I<pid>
|
|
|
|
|
|
|
|
Trace process id.
|
|
|
|
|
2012-09-20 16:03:26 +00:00
|
|
|
|
|
|
|
=item B<-u>
|
|
|
|
|
|
|
|
List only files once.
|
|
|
|
|
|
|
|
=back
|
|
|
|
|
|
|
|
|
2013-05-30 09:11:49 +00:00
|
|
|
=head1 EXAMPLES
|
|
|
|
|
|
|
|
=head2 EXAMPLE: Find the missing package
|
|
|
|
|
|
|
|
Assume you have a program B<foo>. When it runs it fails with: I<foo:
|
|
|
|
error: missing library>. It does not say with file is missing, but you
|
|
|
|
have a hunch that you just need to install a package - you just do not
|
|
|
|
know which one.
|
|
|
|
|
|
|
|
tracefile -n -u foo | apt-file -f search -
|
|
|
|
|
2013-05-30 09:26:53 +00:00
|
|
|
Here B<ls> tries to find B</usr/include/shisa.h>. If it fails,
|
|
|
|
B<apt-file> will search for which package it is in:
|
|
|
|
|
|
|
|
tracefile -n -u ls /usr/include/shisa.h | apt-file -f search -
|
2013-05-30 09:11:49 +00:00
|
|
|
|
2012-09-20 16:03:26 +00:00
|
|
|
=head1 REPORTING BUGS
|
|
|
|
|
|
|
|
Report bugs to <tange@gnu.org>.
|
|
|
|
|
|
|
|
|
|
|
|
=head1 AUTHOR
|
|
|
|
|
|
|
|
Copyright (C) 2012 Ole Tange, http://ole.tange.dk and Free
|
|
|
|
Software Foundation, Inc.
|
|
|
|
|
|
|
|
|
|
|
|
=head1 LICENSE
|
|
|
|
|
|
|
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
|
|
at your option any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
=head2 Documentation license I
|
|
|
|
|
|
|
|
Permission is granted to copy, distribute and/or modify this documentation
|
|
|
|
under the terms of the GNU Free Documentation License, Version 1.3 or
|
|
|
|
any later version published by the Free Software Foundation; with no
|
|
|
|
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
|
|
|
|
Texts. A copy of the license is included in the file fdl.txt.
|
|
|
|
|
|
|
|
=head2 Documentation license II
|
|
|
|
|
|
|
|
You are free:
|
|
|
|
|
|
|
|
=over 9
|
|
|
|
|
|
|
|
=item B<to Share>
|
|
|
|
|
|
|
|
to copy, distribute and transmit the work
|
|
|
|
|
|
|
|
=item B<to Remix>
|
|
|
|
|
|
|
|
to adapt the work
|
|
|
|
|
|
|
|
=back
|
|
|
|
|
|
|
|
Under the following conditions:
|
|
|
|
|
|
|
|
=over 9
|
|
|
|
|
|
|
|
=item B<Attribution>
|
|
|
|
|
|
|
|
You must attribute the work in the manner specified by the author or
|
|
|
|
licensor (but not in any way that suggests that they endorse you or
|
|
|
|
your use of the work).
|
|
|
|
|
|
|
|
=item B<Share Alike>
|
|
|
|
|
|
|
|
If you alter, transform, or build upon this work, you may distribute
|
|
|
|
the resulting work only under the same, similar or a compatible
|
|
|
|
license.
|
|
|
|
|
|
|
|
=back
|
|
|
|
|
|
|
|
With the understanding that:
|
|
|
|
|
|
|
|
=over 9
|
|
|
|
|
|
|
|
=item B<Waiver>
|
|
|
|
|
|
|
|
Any of the above conditions can be waived if you get permission from
|
|
|
|
the copyright holder.
|
|
|
|
|
|
|
|
=item B<Public Domain>
|
|
|
|
|
|
|
|
Where the work or any of its elements is in the public domain under
|
|
|
|
applicable law, that status is in no way affected by the license.
|
|
|
|
|
|
|
|
=item B<Other Rights>
|
|
|
|
|
|
|
|
In no way are any of the following rights affected by the license:
|
|
|
|
|
|
|
|
=over 2
|
|
|
|
|
|
|
|
=item *
|
|
|
|
|
|
|
|
Your fair dealing or fair use rights, or other applicable
|
|
|
|
copyright exceptions and limitations;
|
|
|
|
|
|
|
|
=item *
|
|
|
|
|
|
|
|
The author's moral rights;
|
|
|
|
|
|
|
|
=item *
|
|
|
|
|
|
|
|
Rights other persons may have either in the work itself or in
|
|
|
|
how the work is used, such as publicity or privacy rights.
|
|
|
|
|
|
|
|
=back
|
|
|
|
|
|
|
|
=back
|
|
|
|
|
|
|
|
=over 9
|
|
|
|
|
|
|
|
=item B<Notice>
|
|
|
|
|
|
|
|
For any reuse or distribution, you must make clear to others the
|
|
|
|
license terms of this work.
|
|
|
|
|
|
|
|
=back
|
|
|
|
|
|
|
|
A copy of the full license is included in the file as cc-by-sa.txt.
|
|
|
|
|
|
|
|
=head1 DEPENDENCIES
|
|
|
|
|
|
|
|
B<tracefile> uses Perl, and B<strace>.
|
|
|
|
|
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
|
|
|
B<strace>(1)
|
|
|
|
|
|
|
|
=cut
|
|
|
|
|