是否有可能将 Windows 上的 LXSS 从 14.04 更新到 16.04?
sudo do-release-upgrade
不起作用。
答案1
回答:是的。这以前是不可能的,但现在您可以更新到 16.04 - 只需一点努力和耐心。
步骤 1:更新 Windows构建 #14936 或更高版本。(截至 2016-10-06,此版本处于 Windows Insider“快速通道”中。)要检查您的版本号,请先按“Win+R”,然后键入“winver”并按 ENTER。
第 2 步:安装或升级 Linux使用以下三个选项之一:
选项 A:如果你有尚未安装Linux 子系统,您可以简单地从“添加或删除 Windows 组件”中安装它,它应该默认安装版本 16.04。
选项 B:如果你有已安装Linux 子系统并且您想要保留您的环境,您可以通过从 bash 执行“do-release-upgrade”将其更新到 16.04。
参考:https://msdn.microsoft.com/en-us/commandline/wsl/release_notes#build-14936
编辑: 以下“完全重置”方法才不是似乎有效:
> lxrun /uninstall /full
> lxrun /install
> lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
答案2
现在有一种方法,但是它不受支持,请阅读注意事项:
https://github.com/Microsoft/BashOnWindows/issues/482#issuecomment-274584657
引用 Whorfin 的帖子:
sudo -S apt-get remove screen
sudo -S apt-mark hold procps strace
sudo -S env RELEASE_UPGRADER_NO_SCREEN=1 do-release-upgrade
有时这种方法可以立即奏效。有时这种方法会失效,需要按如下方式重试
sudo -S dpkg --configure -a
sudo -S env RELEASE_UPGRADER_NO_SCREEN=1 do-release-upgrade
重复直到完成并准备好进行下一步。
我必须回答全窗口提示“重新启动服务”
在一个系统上,我必须检查 /etc/default/rcS 的更改
到目前为止,在所有系统上,我都必须审查将常规 [非安全] 发行版添加到 /etc/apt/apt.conf.d/50unattended-upgrades 的更改
...以及其他说“y”来继续等等
完成所有这些之后,以下内容:
sudo -S rm /etc/apt/apt.conf.d/50unattended-upgrades.ucf-old
sudo -S dpkg --configure -a
sudo -S apt-get update
sudo -S apt-get upgrade
sudo -S apt-get dist-upgrade
sudo -S apt-get autoremove
一切准备就绪!
顺便说一句 - 在我了解这一切之前,我在没有 apt 的情况下进行了升级,并破坏了 ps。
恢复不仅需要其他人的建议,还需要一个共享库包,因为缺少 libprocps.so.3。
因此,恢复 ps 损坏的系统如下所示:
wget http://mirrors.kernel.org/ubuntu/pool/main/p/procps/procps_3.3.9-1ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/strace/strace_4.8-1ubuntu5_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/p/procps/libprocps3_3.3.9-1ubuntu2_amd64.deb
sudo -S dpkg -i procps_3.3.9-1ubuntu2_amd64.deb
sudo -S dpkg -i strace_4.8-1ubuntu5_amd64.deb
sudo -S dpkg -i libprocps3_3.3.9-1ubuntu2_amd64.deb
答案3
https://github.com/Microsoft/BashOnWindows/issues/482
sudo do-release-upgrade -f DistUpgradeViewNonInteractive -d # Screen is broken.
答案4
要修复屏幕,只需以 root 身份创建目录 /var/run/screen:
sudo mkdir /var/run/screen
。不幸的是,这不是持久的。