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
|
.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
The tool can also compare the contents of a squashfs image to a directory.
This case is detected transparently if \fB\-\-new\fR or \fB\-\-old\fR referes
to a directory instead of a squashfs image.
.PP
If only contents are compared, any differences in packed file layout,
ordering, compression, inode allocation 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 metadata 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 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.
|