閱讀812 返回首頁    go 阿裏雲 go 技術社區[雲棲]


微軟選擇 Ubuntu 放到 Windows 10 的 Linux 子係統中,或許“錯”了

雖然並非微軟官方出品,不過你現在可以在 Windows 10 的  Linux 子係統(WSL)中使用 openSUSE Leap 或 SUSE Linux 企業版(SLES)了。

正如你所知道的,最新的 Windows 10 版本中含有一個完整的、基於 Ubuntu 的 Bash,開發者們可以在 Windows 桌麵中直接運行 Linux 軟件或命令。這被稱為“Bash on Ubuntu on Windows”——一個囉嗦的名字——現在可以從 Windows 的開始菜單直接訪問到了。

不過,SUSE 的資深產品經理 Hannes Kühnemund 卻表示,以他自己的觀點來看,微軟在選擇 Linux 發行版時選“錯”了——明顯應該選 openSUSE 嘛。

“在 Windows 上原生地運行 Linux 二進製程序……這聽起來真棒!然而,十分不幸是,微軟在 WSL 裏麵選用了一個錯誤的 Linux(當然,這是我個人的看法),而現在是我們讓它回到軌道上的時候了。” Hannes Kühnemund 說到,“為啥選 SUSE?因為 SUSE  從 1992 年開始就在做 Linux 發行版了。想找一個資格更老的 Linux 廠商(也可以叫發行版),對不起,你找不到,根本就木有!”

好吧,不管怎麼說,如果你也對此感興趣的話,他還寫了篇文章教給你如何在 Windows 10 的 WSL 中安裝 SUSE。

在 Windows 10 中安裝 openSUSE Leap 42.2

如果你是 SUSE 粉,而你又想在 Windows 10 中使用你喜愛的 SUSE,但是又厭倦了使用虛擬機或配置雙引導,那麼就跟著  Kühnemund 先生一起來吧,他會教給你如何在 WSL 中安裝最新的 openSUSE Leap 42.2。

首先,你需要按照微軟的說明啟用 WSL,也可以參考我們之前的介紹。確保在安裝過程中創建了一個普通用戶(帶口令)。

這些步驟也同樣適用於 SUSE Linux 企業版(SLES) 12 SP2,不過你需要下載另外一個文件。

運行如下命令下載 openSUSE Leap 42.2 的 docker 用戶空間:


  1. wget -O openSUSE-42.2.tar.xz https://github.com/openSUSE/docker-containers-build/blob/openSUSE-42.2/docker/openSUSE-42.2.tar.xz?raw=true

然後從開始菜單中打開 Linux bash shell,並執行如下命令來解壓,然後退出 shell:


  1. sudo mkdir rootfs
  2. sudo tar -C rootfs -Jxf openSUSE-42.2.tar.xz
  3. exit

如果在運行這些命令時出現一些警告,可以忽略。

完成之後,備份當前的“Bash on Ubuntu on Window” 安裝:


  1. cd %localappdata%\lxss\
  2. rename rootfs rootfs.ubuntu

然後複製新的 openSUSE Leap 42.2 的根文件係統 rootfs:


  1. move .\home\rootfs .\

最後,設置 root 為默認用戶:


  1. lxrun /setdefaultuser root

這樣,下次你再訪問 bash 時,你就用的是運行在 WSL 中的 openSUSE 或 SLES 啦。

當然,你還可以再做的完美些。用這個綠綠的 SUSE 圖標替換 “Bash on Ubuntu on Window” 默認的橘紅 Ubuntu 圖標:


  1. cd %localappdata%\lxss\
  2. rename bash.ico Ubuntu.ico
  3. rename Saki-NuoveXT-Apps-suse.ico bash.ico

在 Windows 10 中運行  SUSE Linux shell

在 Windows 10 中運行  SUSE Linux shell

哦,除了圖標,啟動菜單中的名字 “Bash on Ubuntu on Window” 顯然你也想換過來,進到 %AppData%\Microsoft\Windows\Start Menu\Programs,把默認項改成“Bash on SUSE on Windows” 或其它你想要的什麼名字。

其它發行版呢?

如果你喜歡其它 Linux 發行版,比如 Arch Linux,那麼你可以看看這篇文章

還能支持別的 Linux 發行版嗎?你別說,還真有人做出了一個工具,可以在 WSL 中支持大多數的 Linux 發行版,並可以在這些發行版之間切換自如。

這個工具是由 RoliSoft 貢獻到 GitHub 上的,名為 WSL-Distribution-Switcher 。其思路類似於上麵 openSUSE 的思路,都是采用容器作為 WSL 中的根文件係統。

你可以通過該工具中的 get-prebuilt.py 或 get-source.py 從 Docker Hub 上下載各個發行版的官方鏡像或 tar 包,然後用 install.py 安裝即可。最後,你還可以通過 switch.py 在你下載安裝的 WSL 中進行切換。具體的操作,請參考其說明

原文發布時間為:2017-01-16

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-27 10:32:36

  上一篇:go  Google、百度年終盤點出爐,全球網民都在搜索什麼?
  下一篇:go  Powerline:給 Vim 和 Bash 提供更棒的狀態行和提示信息