Naomi Fridman Asked: 2020-11-13 23:11:53 +0800 CST2020-11-13 23:11:53 +0800 CST 2020-11-13 23:11:53 +0800 CST 奇怪的 tar 存档 772 我从另一台服务器传输的文件很少。这些文件假设包含带有代码和数据的目录存档。 文件具有 .tar 扩展名。 当我运行时: tar -xvf xxxxx.tar 我得到以下结果: 每个目录的内容是: json文件的内容是: 它是什么?如何取消存档? linux tar 1 个回答 Voted Best Answer gronostaj 2020-11-13T23:47:37+08:002020-11-13T23:47:37+08:00 它不仅仅是一个常规存档,而是一个保存的 Docker 容器。 赠品是目录名称看起来像一些哈希,其中有layer.tar文件。我猜测它是某种分层文件系统。Docker 是第一个嫌疑人,因为我知道它使用分层文件系统,而且它现在无处不在。 经过一番搜索,我发现保存的容器是带有 manifest.json 的 TAR,它与存档的内容相匹配。我已经在我的计算机上保存了一个随机的 Docker 容器,它产生了这个: $ tar tf /tmp/whatever.tar 013a18f48029b72d928a9ef9168b3e7933440cbcb6623c4b00db474603c59399/ 013a18f48029b72d928a9ef9168b3e7933440cbcb6623c4b00db474603c59399/VERSION 013a18f48029b72d928a9ef9168b3e7933440cbcb6623c4b00db474603c59399/json 013a18f48029b72d928a9ef9168b3e7933440cbcb6623c4b00db474603c59399/layer.tar 078838d9d5ade2ef1dccc1edd7d0badcd60e163ad7dc7256e870388dfb716c1a/ 078838d9d5ade2ef1dccc1edd7d0badcd60e163ad7dc7256e870388dfb716c1a/VERSION 078838d9d5ade2ef1dccc1edd7d0badcd60e163ad7dc7256e870388dfb716c1a/json 078838d9d5ade2ef1dccc1edd7d0badcd60e163ad7dc7256e870388dfb716c1a/layer.tar 23182d5b7be17ef9f016b96245cf2895f42c58138c8b5e07947dc1a48ca02b8e/ 23182d5b7be17ef9f016b96245cf2895f42c58138c8b5e07947dc1a48ca02b8e/VERSION 23182d5b7be17ef9f016b96245cf2895f42c58138c8b5e07947dc1a48ca02b8e/json 23182d5b7be17ef9f016b96245cf2895f42c58138c8b5e07947dc1a48ca02b8e/layer.tar 39c4919fc1b9432491f6d28bc6b9bce1e783d0753711a6fc7c244343c2884114/ 39c4919fc1b9432491f6d28bc6b9bce1e783d0753711a6fc7c244343c2884114/VERSION 39c4919fc1b9432491f6d28bc6b9bce1e783d0753711a6fc7c244343c2884114/json 39c4919fc1b9432491f6d28bc6b9bce1e783d0753711a6fc7c244343c2884114/layer.tar 5038f24ecaace860b3059e03397fea2662d62643e4da125177a4804fa5c2270e/ 5038f24ecaace860b3059e03397fea2662d62643e4da125177a4804fa5c2270e/VERSION 5038f24ecaace860b3059e03397fea2662d62643e4da125177a4804fa5c2270e/json 5038f24ecaace860b3059e03397fea2662d62643e4da125177a4804fa5c2270e/layer.tar 567adb40948d776b51eec261aced854b92d3bfd5dae37345295f577d6410b561/ 567adb40948d776b51eec261aced854b92d3bfd5dae37345295f577d6410b561/VERSION 567adb40948d776b51eec261aced854b92d3bfd5dae37345295f577d6410b561/json 567adb40948d776b51eec261aced854b92d3bfd5dae37345295f577d6410b561/layer.tar 6619901183e894fa17156ba9f1162d1cfaf93b43ee08e7f998ddd1753a1d6f39/ 6619901183e894fa17156ba9f1162d1cfaf93b43ee08e7f998ddd1753a1d6f39/VERSION 6619901183e894fa17156ba9f1162d1cfaf93b43ee08e7f998ddd1753a1d6f39/json 6619901183e894fa17156ba9f1162d1cfaf93b43ee08e7f998ddd1753a1d6f39/layer.tar 8c9412ea287f7c3c444f4b1391748a8813822100d9f773e584e14fb03544fd25/ 8c9412ea287f7c3c444f4b1391748a8813822100d9f773e584e14fb03544fd25/VERSION 8c9412ea287f7c3c444f4b1391748a8813822100d9f773e584e14fb03544fd25/json 8c9412ea287f7c3c444f4b1391748a8813822100d9f773e584e14fb03544fd25/layer.tar 97a3635dc1d57d304bbb857faccacfb8a006ce9fe7b90c26c51aaaa0590aa6bd/ 97a3635dc1d57d304bbb857faccacfb8a006ce9fe7b90c26c51aaaa0590aa6bd/VERSION 97a3635dc1d57d304bbb857faccacfb8a006ce9fe7b90c26c51aaaa0590aa6bd/json 97a3635dc1d57d304bbb857faccacfb8a006ce9fe7b90c26c51aaaa0590aa6bd/layer.tar b7ca61bb8a36dccc87779be3c16d16213532501c9e8345c46cfe853b20f4c4fc/ b7ca61bb8a36dccc87779be3c16d16213532501c9e8345c46cfe853b20f4c4fc/VERSION b7ca61bb8a36dccc87779be3c16d16213532501c9e8345c46cfe853b20f4c4fc/json b7ca61bb8a36dccc87779be3c16d16213532501c9e8345c46cfe853b20f4c4fc/layer.tar fa82c5bd6477e2a2eed0c13ccf1424c29fc4165a100a251203e24d86e3387c75.json manifest.json repositories 看起来很熟悉,不是吗? 这些文件假设包含压缩目录。 这是一个非常不准确的描述。 “压缩”部分不正确。TAR 不使用压缩。它们仅将文件和目录粘合到一个未压缩的文件中。 关于“目录”部分,这也不准确。Docker 是一个轻量级的虚拟化解决方案。这意味着它允许您在与主操作系统完全隔离的情况下运行某些软件(“虚拟化”),但使用它的某些组件而不是模拟整个虚拟计算机(“轻量级”)。Docker 在 Linux 驱动的计算机(或虚拟机)上运行,而容器就是这样独立的软件。 换句话说,这不仅仅是一个包含数据的存档。它是一个完整的程序,可能包含一些数据、配置和操作系统组件。load您可以使用它的命令将它导入回 Docker 。 我建议联系为您提供这些容器档案的人,并解释您实际处理的内容。
它不仅仅是一个常规存档,而是一个保存的 Docker 容器。
赠品是目录名称看起来像一些哈希,其中有
layer.tar
文件。我猜测它是某种分层文件系统。Docker 是第一个嫌疑人,因为我知道它使用分层文件系统,而且它现在无处不在。经过一番搜索,我发现保存的容器是带有 manifest.json 的 TAR,它与存档的内容相匹配。我已经在我的计算机上保存了一个随机的 Docker 容器,它产生了这个:
看起来很熟悉,不是吗?
这是一个非常不准确的描述。
“压缩”部分不正确。TAR 不使用压缩。它们仅将文件和目录粘合到一个未压缩的文件中。
关于“目录”部分,这也不准确。Docker 是一个轻量级的虚拟化解决方案。这意味着它允许您在与主操作系统完全隔离的情况下运行某些软件(“虚拟化”),但使用它的某些组件而不是模拟整个虚拟计算机(“轻量级”)。Docker 在 Linux 驱动的计算机(或虚拟机)上运行,而容器就是这样独立的软件。
换句话说,这不仅仅是一个包含数据的存档。它是一个完整的程序,可能包含一些数据、配置和操作系统组件。
load
您可以使用它的命令将它导入回 Docker 。我建议联系为您提供这些容器档案的人,并解释您实际处理的内容。