PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

这是真的:Ubuntu on Windows 10(非虚拟机)

[复制链接]
跳转到指定楼层
1#
Apache 发表于 2016-4-1 20:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:2231|回复数:6
本帖最后由 Apache 于 2016-4-1 20:17 编辑
据美国《华尔街日报》3月31日消息,微软30日公布了在Windows 10中引入Linux命令行工具bash的计划,这是微软向外部开发者开放技术的一项广泛战略的一部分。

此举在微软年度开发者大会上公布。分析人士称,随着企业客户越来越多地依赖范围更广、更多样的移动设备、服务器和其他搭载不同操作系统的工具,目前该软件巨头正在转而拥抱而不是避开开源工具。

  bash是开源的Linux操作系统一种颇受欢迎的脚本语言,开发者使用bash开发应用。开源程序通常是免费的,开发者可免费查看、修改及再分发。

  微软本周称,该公司已与Linux操作系统Ubuntu的开发者Canonical Ltd。达成合作关系以在Windows环境下运行bash。

  该公司称,这个被称为“Ubuntu on Windows”的平台将于今年晚些时候作为升级推出。
在展开今天的内容之前,我们先要为大家澄清两个误区:

微软支持是的 Ubuntu on Windows,而非 Linux on Windows。
Ubuntu 母公司 Canonical 此次与微软的合作是要直接支持 Windows 原生库和程序:Windows 子系统 for Linux(WSL),而不是通过容器技术或虚拟机运行 Ubuntu。

操作过程是这样的:



首先,让我们看看发生了什么?

首先你得有个 Windows 10
打开 Windows 开始菜单
输入“bash” (没有引号),回车
这会打开一个 cmd.exe 窗口
运行 Ubuntu 的 /bin/bash
宾果!你可以完全访问所有的 Ubuntu 用户空间了
没错,这包括  apt、 ssh、 rsync、 find、 grep、 awk、 sed、 sort、 xargs、 md5sum、 gpg、 curl、 wget、apache、 mysql、 python、 perl、 ruby、 php、 gcc、 tar、 vim、 emacs、 diff、 patch 等等
以及,Ubuntu 软件库中数以万计的 ELF 二进制程序中的绝大多数!




“好吧,这是一个运行在虚拟机的 Ubuntu 吗?” 不!这根本不是一个虚拟机,不用在虚拟机中启动 Linux 内核,它就是 Ubuntu 的用户空间。

“哦,那是运行在容器里面啰?” 不不!这也不是一个容器,这是在 Windows 里面直接运行原生的 Ubuntu 二进制程序。

“嗯,就像 cygwin 那样?”不不不!cygwin 所包括的开源程序是以源代码重新编译后才能原生运行在 Windows 上。而这里,我们说的是一个比特都不差、校验值完全一样的 Ubuntu 的 ELF 二进制程序可以直接运行在 Windows 下!


“那么,这就像是模拟器一样么?”这就比较接近真相了,来自微软的一些尖端技术人员正在研究一种技术,可以将 Linux 的系统调用实时地转换为 Windows 的系统调用。你可以把它当成 Wine 的一种反向技术。微软将其称之为“Windows 下的 Linux 子系统Windows Subsystem for Linux”,当然现在还没有开源。

而且,根据 Dustin Kirkland 的说法,使用跨平台的性能测试工具 sysbench 进行测试的结果发现,在 Windows 下运行这些原生的 ELF 二进制程序和在 Linux 下运行所消耗的 CPU 、内存和 IO 性能相当。对于这个结果,我表示非常的吃惊!

Dustin Kirkland  是该项目组的成员之一,他的体验可以让我们感受一下这个“超级神秘”的项目。

由于需要将整个 Ubuntu 的根文件系统打包到一个 Windows 应用软件包(.appx)中,这位已经十几年没有使用过 Windows 的老兄对微软开发工具十分陌生,在经过几个小时与 Visual Studio 的痛苦搏斗,制作了一堆各种尺寸的 png 图标,编辑了一打以上的 XML 文件后,他简直忍不住要将咖啡杯扔到该死的屏幕上了。

到最后,他终于寻求他所熟悉的 Linux 经验解决了这些问题。

按下 Windows 键,输入“bash”,回车!他发现这个要上载的根文件系统的内容放在  /mnt/c/Users/Kirkland/Downloads 下,只需要使用一个 cp -a 复制到目标位置即可,并用 find | xargs |rename 来批量更新文件名,用 grep| xargs | sed 搜索替换路径,用 convert 工具快速地批量缩放图标,简直不要太容易地搞定了这些工作,剩下的就只需要让 Visual Studio 自己干了,编译、上载到 Windows Store。搞定!

嗯,你也许从终端窗口中看到了 /mnt/c ,没错,这就是你的 Windows 下的 C: 盘,它们以读写模式直接挂载到 /mnt 下了。当然,你也可以在 Windows 下通过类似如下的路径访问 Ubuntu 的文件系统:C:\Users\Kirkland\AppData\Local\Lxss\rootfs\ 。




你也可以使用 apt 来安装和更新软件包:


到目前为止,是不是所有的东西都可以完美工作了?还不全是。LTP 测试中的大多数都没问题,但是有一些则还不行,主要是 tty 相关的部分,比如 byobu、screen、tmux 等还不能很好的工作,不过相信也快了。

另外,顺便提一句,当前这个子系统所采用的 Linux 镜像是 Ubuntu 14.04 LTS,等 16.04 LTS 发布后相信很快就会更新到 Windows Store 上。


===================================================

这是合二为一的节奏? 以后一个WIN10走天下了

Linux有Wine,  Windows有Ubuntu on Windows,到底哪个好? 这是个问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
2#
overthink 发表于 2016-4-4 16:11 | 只看该作者
看到楼主4.1号发帖我以为是愚人节玩笑,看内容是31号的消息,这会是真的吧?
3#
Xeon1230 发表于 2016-4-4 16:17 | 只看该作者
这个不错,LINUX下的wine 我玩过,问题太多太折腾。

平常WIN系统用的比较多,这样集成一下不错
4#
尊称 发表于 2016-4-4 17:00 | 只看该作者
只有用Ubuntu的人才知道。


不过上手过一次Ubuntu什么玩意儿都能在线更新、升级,而且是自动的,简直太棒了,那种吸引力不亚于当年用sk的感觉。
5#
Apache  楼主| 发表于 2016-4-4 17:18 | 只看该作者
尊称 发表于 2016-4-4 17:00
只有用Ubuntu的人才知道。

软件包,在线安装,这个太好了,打个命令就搞定
6#
huanan_2005 发表于 2016-5-3 22:02 | 只看该作者
完了,又一个系统让windows干掉了。
7#
XXHJACK 发表于 2016-5-7 17:25 | 只看该作者
这就是说linux向统一的道路出发了么!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部