Sometimes tar files have tar files, and it might be nice to read the contents of some files several layers deep. Here's how we can do it with Ruby and Python3 with no external dependencies.
We can create a layered tar file (a tar file containing other tar files) using docker save
or podman save
% podman save fpm-ubuntu-18.04 -o test.tar
% ruby read.rb | head
[65528320] fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [0] bin/
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [1113504] bin/bash
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [34888] bin/bunzip2
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [0] bin/bzcat
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [0] bin/bzcmp
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [2140] bin/bzdiff
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [0] bin/bzegrep
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [4877] bin/bzexe
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [0] bin/bzfgrep
% python3 read.py | head
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [0] bin
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [1113504] bin/bash
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [34888] bin/bunzip2
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [0] bin/bzcat
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [0] bin/bzcmp
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [2140] bin/bzdiff
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [0] bin/bzegrep
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [4877] bin/bzexe
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [0] bin/bzfgrep
fe869b35292eb00f40676359c02b2c94a01c1315ad91255621a52bc65987d374.tar :: [3642] bin/bzgrep