WSL 1 運行 Ubuntu 20.04 將會出現問題

Ubuntu 論壇一個帖子指出,Windows 的 Linux 子系統 WSL 1 在運行 Ubuntu 20.04 LTS 時將會出現問題,提醒用戶注意相關版本的使用。

問題來自 glibc 2.31 中的補丁,該補丁以類似於 UNIX 的方式實現了基於 CLOCK_REALTIME 的 nanosleep() 庫調用。在 NT 內核上模擬 UNIX 系統時鐘非常棘手。WSL 1 實現了最流行的基於時鐘的系統調用,但並非全部都實現,並且沒有將 CLOCK_REALTIME 支持構建到 nanosleep 中。

WSL 1 完全實現這一支持還需要一些時間,而除非是 Windows Insider 用戶,否則可能幾個月內都不會見到問題修復。沒有此修復程序,WSL 1 上的 Ubuntu 20.04 往往會崩潰,甚至在升級到 Ubuntu 20.04 的過程中也會有問題。

用戶可以怎麼做呢?對於 WSL 1 用戶,建議暫時停留在 Ubuntu 18.04 LTS,不向上升級到 20.04(幾周後發佈)。

對於 WSL 2 用戶,Ubuntu 20.04 發佈時可以隨意升級,甚至更早就可以使用非穩定版本進行測試。

對於升級到 WSL 2 的 WSL 1 用戶,當 Ubuntu 20.04 可用時,應首先使用以下命令將 Ubuntu 18.04 鏡像轉換爲 WSL 2:

$ wsl.exe --set-version Ubuntu 2

再將其升級到 20.04。

而如果無論如何就是想要從 WSL 1 升級 Ubuntu 20.04,那麼在升級前,先阻止 libc6 更新:

$ sudo apt-mark hold libc6

更多細節查看原帖:https://discourse.ubuntu.com/t/ubuntu-20-04-and-wsl-1/15291

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章