summaryrefslogtreecommitdiff
path: root/doc/sqfsdiff.1
blob: c0ee550a331660e7dbebca4862f9dc36078063e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.TH SQFSDIFF "1" "August 2019" "sqfsdiff" "User Commands"
.SH NAME
sqfsdiff \- compare two squashfs images by contents and metadata
.SH SYNOPSIS
.B sqfsdiff
[\fI\,OPTIONS\/\fR...] \-\-old \fI\,<first>\fR \-\-new \fI\,<second>\/\fR
.SH DESCRIPTION
Compare two squashfs images. In contrast to doing a direct diff of the
images, this actually parses the filesystems and generates a more
meaningful difference report.
.PP
If only contents are compared, any differences in packed file layout,
ordering, compression, inode meta data and so on is ignored and the two
images are considered equal if each directory contains the same entries,
symlink with the same paths have the same targets, device nodes the same
device number and files the same size and contents.
.PP
A report of any difference is printed to stdout. The exit status is similar
that of diff(1): 0 means equal, 1 means different, 2 means problem.
.PP
Possible options:
.TP
\fB\-\-old\fR, \fB\-a\fR <first>
Specify the first filesystem image or source directory, relativ to which the
changes are evaluated.
.TP
\fB\-\-new\fR, \fB\-b\fR <second>
Specify the second filesystem image to source directory to compare to the
first one.
.TP
\fB\-\-no\-contents\fR, \fB\-C\fR
Do not compare file contents.
.TP
\fB\-\-no\-owner\fR, \fB\-O\fR
Do not compare file owners.
.TP
\fB\-\-no\-permissions\fR, \fB\-P\fR
Do not compare permission bits.
.TP
\fB\-\-timestamps\fR, \fB\-T\fR
Compare file timestamps.
.TP
\fB\-\-inode\-num\fR, \fB\-I\fR
Compare inode numbers of all files.
.TP
\fB\-\-super\fR, \fB\-S\fR
Also compare meta data in super blocks.
.TP
\fB\-\-extract\fR, \fB\-e\fR <path>
Extract files that exist in both images but have different contents to the
specified directory. Contents of the first image end up in a sub directory
named \fBold\fR and the contents of the second image in a sub directory
named \fBnew\fR.
.TP
\fB\-\-help\fR, \fB\-h\fR
Print help text and exit.
.TP
\fB\-\-version\fR, \fB\-V\fR
Print version information and exit.
.SH EXIT STATUS
The exit status is similar that of diff(1): 0 means equal, 1 means different,
2 means problem.
.SH SEE ALSO
rdsquashfs(1), sqfs2tar(1)
.SH AUTHOR
Written by David Oberhollenzer.
.SH COPYRIGHT
Copyright \(co 2019 David Oberhollenzer et al
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
.br
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.