» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

今晚Windows10要一统天下!

posted by wap, platform: 红米Note2
在本次大会上宣布,微软与 Ubuntu 的母公司 Canonical 合作开发了一个超级隐秘的项目,将 Ubuntu 的用户空间user space带到了 Windows 10 之中。 据大会现场消息披露,你现在可以在 Windows 10 中直接运行 Linux 下的 bash 以及其它的数万个二进制程序了。


正在旧金山参加本次大会的 Canonical 的 Ubuntu 产品与战略负责人 Dustin Kirkland 也在其博客上宣布了这个消息。

“这对于我来说也许有点奇怪,我已经快有16年没有使用 Windows 了。但在几个月前有了变化,我参与到了微软和 Canonical 合作的一个超级隐秘(也十分令人震惊)的项目中,这一切会在这次 Build 大会上由 Kevin Gallo 揭晓...”,他说,“现在可以在 Windows 10 cmd.exe 窗口内原生地运行 Ubuntu 用户空间和 bash !”

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

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

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

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


如果你使用 Windows 10 来开发跨平台应用,那么“Ubuntu on Windows”项目将可以让你从 Windows 启动菜单直接访问 Linux 下的 bash shell。只需要键入 bash ,然后回车,就会打开一个命令行窗口,里面运行着 /bin/bash,然后数以万计的来自 Ubuntu 软件库中的二进制程序就可以运行了,包括但不限于 apt、ssh、 rsync、 find、 grep、 vim、 emacs、 awk、 sed、 ruby、 tar、 sort、php、 mysql、 perl、 python、 wget、 md5sum、 gpg、 curl、 apache、 gcc、 diff、patch 等等。

“这是 Windows 上原生可用的完整 Ubuntu 环境,不是虚拟化或模拟器,这是打破常识的里程碑和通向新天地的里程碑,”Canonical 公司 CEO Mark Shuttleworth 说,“不管怎么说,我们很高兴将 Ubuntu 带到了 Windows ,以一种神奇的方式满足了 Windows 开发者探索 Linux 的需要。”

这个技术当前基于 Ubuntu 14.04 LTS 开发,可以从 Windows Store 中下载早期 beta 版本

=========================
帖个中文版吧,方便某个不懂英语又喜欢乱喷上次打赌输了还没吃屎的某某内存


TOP

posted by wap, platform: iPhone
引用:
原帖由 @jun4rui  于 2016-3-31 08:42 发表
你如果稍微有点初中英语水平,把51楼贴的看懂了,都不会说出这种蠢话
电脑报爱好者你好,感谢你的提醒,在你的回复之前我就看了51楼的原文,但我的看法依然没有改变。
虽然微弱自己觉得这不是那不是,但我举的例子是没错的。我的程序还是无法在这个bash里编译,或者你觉得可以?这个bash确实是提供了不少指令,就如同原文中罗列的那样,但那还远远不够。因为binary无法原生运行。



TOP

引用:
原帖由 ff_cactus 于 2016-3-30 13:06 发表
posted by wap, platform: iPhone
电脑报爱好者你好,感谢你的提醒,在你的回复之前我就看了51楼的原文,但我的看法依然没有改变。
虽然微弱自己觉得这不是那不是,但我举的例子是没错的。我的程序还是无法在这个ba ...
举例能运行原生Linux二进制程序里面斗大的GCC三个字被你吃了


TOP

早期beta版?就是说还是没有可用的真货咯?

TOP

我有几个疑问,不知道有没有大侠解释?
1 文件系统是隔离的还是直接共享的?
2 gcc编译一个helloworld.elf出来后,这个elf是不是既可以在win10命令行下跑,也可以网络传输到另外一台安装ubuntu的x86 pc上跑?
3 uname -ar会显示啥,可以make kernel么

TOP

客观讲,我觉得这次虚拟大神说可能有点道理
虽然有了bash,能跑ubuntu下二进制,能跑gcc
但估计很多东西够呛,比如apt,service等等,另外,应该还不能编译android
如果到了能编译android的地步,这玩意就无可指摘了,本来我用linux就是图他一个编译环境而已

TOP

posted by wap, platform: iPhone
引用:
原帖由 @jun4rui  于 2016-3-31 08:47 发表
在本次大会上宣布,微软与 Ubuntu 的母公司 Canonical 合作开发了一个超级隐秘的项目,将 Ubuntu 的用户空间user space带到了 Windows 10 之中。 据大会现场消息披露,你现在可以在 Windows 10 中直接运行 Linux 下的 bash 以及其它的数万个二进制程序了。


正在旧金山参加本次大会的 Canonical 的 Ubuntu 产品与战略负责人 Dustin Kirkland 也在其博客上宣布了这个消息。

“这对于我来说也许有点奇怪,我已经快有16年没有使用 Windows 了。但在几个月前有了变化,我参与到了微软和 Canonical 合作的一个超级隐秘(也十分令人震惊)的项目中,这一切会在这次 Build 大会上由 Kevin Gallo 揭晓...”,他说,“现在可以在 Windows 10 cmd.exe 窗口内原生地运行 Ubuntu 用户空间和 bash !”

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

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

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

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


如果你使用 Windows 10 来开发跨平台应用,那么“Ubuntu on Windows”项目将可以让你从 Windows 启动菜单直接访问 Linux 下的 bash shell。只需要键入 bash ,然后回车,就会打开一个命令行窗口,里面运行着 /bin/bash,然后数以万计的来自 Ubuntu 软件库中的二进制程序就可以运行了,包括但不限于 apt、ssh、 rsync、 find、 grep、 vim、 emacs、 awk、 sed、 ruby、 tar、 sort、php、 mysql、 perl、 python、 wget、 md5sum、 gpg、 curl、 apache、 gcc、 diff、patch 等等。

“这是 Windows 上原生可用的完整 Ubuntu 环境,不是虚拟化或模拟器,这是打破常识的里程碑和通向新天地的里程碑,”Canonical 公司 CEO Mark Shuttleworth 说,“不管怎 ...
喷了,好像还真的说了gcc……






那我也不用。

TOP

posted by wap, platform: 红米Note2
引用:
原帖由 @流浪的枪骑兵  于 2016-3-30 13:14 发表
客观讲,我觉得这次虚拟大神说可能有点道理
虽然有了bash,能跑ubuntu下二进制,能跑gcc
但估计很多东西够呛,比如apt,service等等,另外,应该还不能编译android
如果到了能编译android的地步,这玩意就无可指摘了,本来我用linux就是图他一个编译环境而已
你说的apt明确说了可以跑,至于服务Apache就是服务也说了可以跑。那个英文文档都有写。

Android本身应该OK但是内核能不能编译还不确定

TOP

我引用的那个帖子似乎不搭梯子看不了,我把后面的贴完吧:

……
So as part of the engineering work, I needed to wrap the stock Ubuntu root filesystem into a Windows application package (.appx) file for suitable upload to the Windows Store.  That required me to use Microsoft Visual Studio to clone a sample application, edit a few dozen XML files, create a bunch of icon .png's of various sizes, and so on.

Not being Windows developer, I struggled and fought with Visual Studio on this Windows desktop for a few hours, until I was about ready to smash my coffee mug through the damn screen!

Instead, I pressed the Windows key, typed "bash", hit enter.  Then I found the sample application directory in /mnt/c/Users/Kirkland/Downloads, and copied it using "cp -a".  I used find | xargs | rename to update a bunch of filenames.  And a quick grep | xargs | sed to comprehensively search and replace s/SampleApp/UbuntuOnWindows/. And Ubuntu's convert utility quickly resized a bunch of icons.   Then I let Visual Studio do its thing, compiling the package and uploading to the Windows Store.  Voila!

Did you catch that bit about /mnt/c...  That's pretty cool...  All of your Windows drives, like C: are mounted read/write directly under /mnt.  And, vice versa, you can see all of your Ubuntu filesystem from Windows Explorer in C:\Users\Kirkland\AppData\Local\Lxss\rootfs\


Meanwhile, I also needed to ssh over to some of my other Ubuntu systems to get some work done.  No need for Putty!  Just ssh directly from within the Ubuntu shell.



Of course apt install and upgrade as expected.



Is everything working exactly as expected?  No, not quite.  Not yet, at least.  The vast majority of the LTP passes and works well.  But there are some imperfections still, especially around tty's an the vt100.  My beloved byobu, screen, and tmux don't quite work yet, but they're getting close!

And while the current image is Ubuntu 14.04 LTS, we're expecting to see Ubuntu 16.04 LTS replacing Ubuntu 14.04 in the Windows Store very, very soon.

Finally, I imagine some of you -- long time Windows and Ubuntu users alike -- are still wondering, perhaps, "Why?!?"  Having dedicated most of the past two decades of my career to free and open source software, this is an almost surreal endorsement by Microsoft on the importance of open source to developers.  Indeed, what a fantastic opportunity to bridge the world of free and open source technology directly into any Windows 10 desktop on the planet.  And what a wonderful vector into learning and using more Ubuntu and Linux in public clouds like Azure.  From Microsoft's perspective, a variety of surveys and user studies have pointed to bash and Linux tools -- very specifically, Ubuntu -- be available in Windows, and without resource-heavy full virtualization.

So if you're a Windows Insider and have access to the early beta of this technology, we certainly hope you'll try it out!  Let us know what you think!
附件: 您所在的用户组无法下载或查看附件

TOP

posted by wap, platform: iPhone
引用:
原帖由 @流浪的枪骑兵  于 2016-3-31 09:14 发表
客观讲,我觉得这次虚拟大神说可能有点道理
虽然有了bash,能跑ubuntu下二进制,能跑gcc
但估计很多东西够呛,比如apt,service等等,另外,应该还不能编译android
如果到了能编译android的地步,这玩意就无可指摘了,本来我用linux就是图他一个编译环境而已
它是原生支持ELF,这个好像还是有点屌。我在这个bash生成的binary都可以拿到其他Linux环境下运行。

TOP

posted by wap, platform: 红米Note2
引用:
原帖由 @b0207191  于 2016-3-30 13:14 发表
我有几个疑问,不知道有没有大侠解释?
1 文件系统是隔离的还是直接共享的?
2 gcc编译一个helloworld.elf出来后,这个elf是不是既可以在win10命令行下跑,也可以网络传输到另外一台安装ubuntu的x86 pc上跑?
3 uname ar会显示啥,可以make kernel么
文件系统没说估计要进一步细节了

GCC可以跑啊,二进制兼容跑个HelloWorld应该没问题毕竟更多复杂的玩意都是直接二进制兼容了

估计还是有个Linux内核,当然这是我猜的,不然Linux那么多软件调用系统服务太多不可能都翻译过去

TOP

posted by wap, platform: 红米Note2
引用:
原帖由 @ff_cactus  于 2016-3-30 13:17 发表
喷了,好像还真的说了gcc……






那我也不用。
死鸭子和嘴硬能凑一起也不是没有道理的

TOP

其实那个帖子的作者给出了这个东西一个最大的应用,就是针对习惯使用大堆GNU工具的工程师,现在可以吧工作完全移到Windows下面来做。而且我个人人为,Windows的GUI本身在应用丰富程度,生态环境方面都比Linux强大,比OSX基本也占优势,所不足的就是在终端应用方面,现在把整个GNU生态环境全部搬过来实在是非常好的补充。

从文中来看,是实现了整个Ubuntu的用户态空间,所以理论上只要程序不陷入到核态就应该可以跑,这样像GCC之类的纯用户态程序跑起来应该毫无压力。此外这次应该没有GUI什么事,不过就像我前面说的,本身Windows的GUI就有巨大优势,要补足的只是终端字符界面,所以这个也无所谓了。

TOP

posted by wap, platform: iPhone
引用:
原帖由 @jun4rui  于 2016-3-31 09:28 发表
死鸭子和嘴硬能凑一起也不是没有道理的
当然。
要搞这些的哪个还没个Linux环境,何必多此一举。

TOP

posted by wap, platform: 红米Note2
引用:
原帖由 @xphi  于 2016-3-30 13:30 发表
其实那个帖子的作者给出了这个东西一个最大的应用,就是针对习惯使用大堆GNU工具的工程师,现在可以吧工作完全移到Windows下面来做。而且我个人人为,Windows的GUI本身在应用丰富程度,生态环境方面都比Linux强大,比OSX基本也占优势,所不足的就是在终端应用方面,现在把整个GNU生态环境全部搬过来实在是非常好的补充。

从文中来看,是实现了整个Ubuntu的用户态空间,所以理论上只要程序不陷入到核态就应该可以跑,这样像GCC之类的纯用户态程序跑起来应该毫无压力。此外这次应该没有GUI什么事,不过就像我前面说的,本身Windows的GUI就有巨大优势,要补足的只是终端字符界面,所以这个也无所谓了。
lxc和docker没戏了,不过问题不大,大部分软件开发者可以从Linux下转移过来了

TOP

发新话题
     
官方公众号及微博