一般情况下解压缩 .xz
文件
ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
是使用 xz
压缩的单个文件 ubuntu-19.10-preinstalled-server-arm64+raspi3.img
的结果。您可以使用以下方法进行解压缩:
unxz ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
这将提取
ubuntu-19.10-preinstalled-server-arm64+raspi3.img
,并且如果成功的话,会删除
ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
。如果你想保留原始的
.xz
文件,可以使用
-k
/
--keep
选项。
unxz -k ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
请注意,这与您通常为.tar.xz文件所做的操作不同,因为tar支持通过单个命令进行解压缩和提取。对于.xz文件(除非文件名非常误导),只需要解压缩。
特别是闪存预安装的Ubuntu Server镜像
您下载的特定文件是Ubuntu Server 19.10的预安装镜像。假设文件已经正确且成功下载(请参见下文),您可以使用
官方说明将此镜像刷写到存储设备上。根据您用于执行此操作的操作系统不同,最佳方法也会有所不同。但是假设您使用的是Ubuntu操作系统,以下是一个摘要:
找到你要写入的设备的名称。一种方法是在“磁盘”(文件浏览器)中查找。确保这不是包含任何你想保留的数据的设备的名称!
运行以下命令,将其中的替换为你找到的设备名称:
xzcat ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz | sudo dd of= bs=32M
这里,xzcat执行的是unxz的工作。如果你有一个损坏的文件,xzcat会失败,就像unxz一样。
如果你运行了unxz并得到了一个.img文件,那么不要使用上面带有xzcat的命令。在这种情况下,请使用以下命令代替:
sudo dd if=ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz of= bs=32M
通常情况下,在WSL系统中无法使用dd命令来写入闪存驱动器。因此,如果你在Windows 10上运行带有WSL的Ubuntu,那些指令不适用。但在这种情况下,你可以使用Windows的方法(请参考官方指南)。
处理可能不完整或损坏的文件
如果解压缩失败并显示一个关于文件格式无法识别的错误消息,尤其是当运行file命令时无法将格式识别为XZ压缩数据(虽然有时候也会出现其他情况),那么你很可能下载了一个损坏或不完整的文件。你可以使用ls -l命令找到文件的字节长度,并将该长度与预期长度进行比较-对于特定文件来说,长度应该是661217868字节。这可以解决大多数不完整下载和一些损坏下载的情况,但并不完美。
许多可供下载的文件,包括所有Ubuntu镜像的
ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
,都有校验和可以用来更可靠地判断文件是否完整且正确地下载。出于安全考虑,建议检查提供校验和的文件的GPG签名(并避免使用弱点易受恶意攻击的MD5校验和)。但是,为了检查无意中的损坏,只需查找校验和并测试您的文件即可。
现在提供和推荐用于检查Ubuntu镜像的校验和类型是SHA256SUM。
此文件包含19.10服务器镜像的SHA256SUM,包括
ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
。其中一行是:
52ca28f21685eef965d476a716a7bc01237456d6a8770a56630299036eade0bf *ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
运行
sha256sum
工具对您的文件进行校验和计算,应该得到一个完全匹配的校验和,就像这样:
$ sha256sum ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
52ca28f21685eef965d476a716a7bc01237456d6a8770a56630299036eade0bf ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
如果不行的话,那么你的下载可能是损坏或不完整的,这很可能是导致你无法解压缩或使用文件的原因。