con*_*ous 4 upgrade command-line tar software-installation windows-subsystem-for-linux
我正在将我的 Ubuntu 发行版从 18.04 更新到 22.04。我将 Ubuntu 18.04 实例导出wsl --export Ubuntu-18.04 <file.tar>到 tarball,并尝试找出如何有效地将我需要的文件从中提取到我的新 22.04 实例中。
我知道我可以...
tar -tvf <file.tar>使用(t:查看内容,v:详细,f:下一个参数是文件名)查看 tarball 的内容tar -xvf <file.tar>使用(x: extract)提取整个内容tar -xvf <file.tar> <filename_or_folder>但当我列出它们时,我可能有超过 1k 个文件,我认为必须有一种比列出并手动阅读所有文件更有效的方法来浏览它们。老实说,我不确定里面有什么,但我至少想移动 python 和 java 项目以及任何配置文件的相关文件。
我已经运行了以下命令,因此此时使用不同的方法可能会很困难:
我会首先做wsl --import一个新的(临时)发行版。
与我的其他答案类似,在 PowerShell 中启动并为临时分发创建一个新目录:
mkdir "$env:USERPROFILE\wsl\coniferous_ubuntu_old"
cd "$env:USERPROFILE\wsl\coniferous_ubuntu_old"
Run Code Online (Sandbox Code Playgroud)
然后:
wsl --import coniferous_ubuntu_old "$env:USERPROFILE\wsl\coniferous_ubuntu_old" <path_to_tarball> --version 2
Run Code Online (Sandbox Code Playgroud)
--import是新发行版的名称。--export--version 2这只是确保使用 WSL2 的一个好习惯。完成此操作后,请参阅我在超级用户上的回答,了解有关从一个发行版访问另一个发行版中的文件的信息。选项 #1 仍然是首选。
如果您没有对新的 22.04 发行版进行太多操作(使用--unregister),我可能会删除您的新发行版,然后--import将旧发行版重新放回,如上所述。
这最终会产生与您错过的答案相同的最终结果。然后,您可以从 18.04 升级到 20.04,然后从 20.04 升级到 22.04。(尽管听起来有可能已经完成了,甚至)。
再次,在没有版本号的情况下命名发行版将纠正您原来的问题。
如果您将旧发行版的 tarball 提取到新发行版中,请记住,大小会增加很多。WSL2 发行版将向内增长以容纳内部文件,但当文件被删除时不会(自动)收缩。
| 归档时间: |
|
| 查看次数: |
574 次 |
| 最近记录: |