Commit bac6a62c authored by ploup's avatar ploup


parent c9ac81c0
......@@ -4,6 +4,33 @@ Python script for comparing Tails systems, in the form of .img files or block de
Related issue: [#7496](
# How does it work
What the script does:
* For each of the two systems provided as arguments:
* Temporary folders with randomly generated names are created in /tmp to serve as mount points
* The first partition of the image file / block device is mounted in a temporary folder (the script calls this the "boot directory")
* The `live/Tails.module` file is parsed, and the required squashfs files are mounted on a temporary folder (the script calls this the "root directory")
* If the only listed module is `filesystem.squashfs` (such as in an .img file), it is mounted alone
* If several modules are listed (such as in a Tails that has been upgraded), the squashfs files are mounted together using overlayfs
* The contents of the "boot directories" and the "root directories" of both systems are compared
* Changes in permissions and owners are detected
* The contents of the individual files are compared using SHA256 hashes
* Files that are only present in one system or the other are detected and reported
* If the Tails systems aren't identical, mismatched files are reported in the log file `tails_comparison.log`
What the script does not:
* Check the MBR (TODO)
* Allow more command-line arguments, such as choosing the log file (TODO)
# Requirements
* python >= 3.4
* python `sh` module (which is included in Tails)
* shell commands `mount`, `umount` and `losetup`, which should be available everywhere
# Usage
* Compare a Tails key with a downloaded Tails image:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment