Windowswin10 1607 ubuntu系统中怎么开启 Bash on Ubuntu

自由、创新、研究、探索
Linux/Windows Mono/DotNet [ Open Source .NET Development/ 使用开源工具进行DotNet软件开发]锐意进取,志存高远.成就梦想,只争朝夕.从你开始,创新世界.【That I exist is a perpetual supprise which is life. Focus on eCommerce】
今年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行Linux bash,对开发人员来说,这是一个喜闻乐见的消息。
你必须安装开发者预览版本,才能使用windows的linux subsystem功能。
首先打开你的Windows 10的设置,在"更新和安全"选项中(我的机器是英文操作系统,但中文操作系统类似),选择"开发者",然后选择"开发者模式":
在Windows 更新和安全选项中,选择"Windows 更新",在"更新设置"中选择高级选项,你必须打开"内部预览版本"选项,并且将内部预览的级别设置为最快:
在"设置"-&"系统"选项中,查看当前系统信息,你的OS版本必须是14316,如果不是这个版本,请运行在线升级,升级到这个版本:
升级完成后,打开"控制面板"-》"程序",选择"打开或者关闭Windows特性",找到Windows Subsystem for Linux(beta)点选并确定,系统会下载更新并提示重启机器:
重启完成后,进入命令行程序,激动人心的时刻来临了,在命令行下敲bash,会提示你是否继续,选择yes,系统会安装Ubuntu文件系统等待完成后,系统会切换到你熟悉的Linux bash模式,试试你熟悉的ls等命令:
打开Windows菜单,你会发现系统中多了一个Ubuntu的图标,这个就是bash on Ubuntu on Windows:
简单测试一下python,perl等语言,发现已经装好了,当然,这个就是Ubuntu的bash,你可以安装Java,Ruby等等:
下面来实际测试下ubuntu on windows环境!
2 系统检测和更新
2.1 版本检测
运行&uname -a&结果如下
webmaster@FEKETERIGO-PC:~$ uname -a
Linux FEKETERIGO-PC 3.4.0+
运行&lsb_release -a&结果如下
webmaster@FEKETERIGO-PC:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:
Ubuntu 14.04.4 LTS
可以看到,安装的是ubuntu 14.04 trusty
2.2 系统更新
既然是ubuntu,就可以使用apt-get进行软件包管理。
首先替换自带的更新源
sudo mv /etc/apt/sources.list /etc/apt/sources.list.save
把下面的阿里源内容粘贴到&/etc/apt/sources.list
你也可以使用163源等,选取原则是更新速度,目前测试的情况是阿里云的源更新速度最快。
接着运行下面的命令进行系统更新,如果速度很慢的话请尝试使用其他的源,另外ubuntu的源是版本相关的,注意别添加错误版本的源。
sudo apt-get update
sudo apt-get upgrade
使用sudo命令之前可以运行&passwd&更新当前用户的命令, bashonwindows默认运行在用户模式,windows会把当前用户添加到sudoer列表中,如果想切换到超级管理员,需要手动输入su -
3 搭建开发环境
3.1 使用apt和ppa repository安装git
ubuntu trusty默认的git版本是1.9.1
如果你不想使用git最新版本的话可以运行sudo apt-get install git&直接安装
如果想安装最新的git版本参考下面的命令
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
sudo add-apt-repository ppa:git-core/ppa&会在/etc/apt/sources.list.d&目录下面生成一个git-core-ppa-trusty.list文件,然后运行sudo apt-get update&的时候会从相应的仓库里面获取新的git版本信息。
由于每个人的网络环境不一样, 如果你更新失败,使用apt-get不能安装最新版本的git的话,请到github上面下载源码进行编译安装,过程也很简单这里就不写源码编译教程了, git源码点击&
3.2 使用pyenv搭建python开发环境
sudo apt-get install curl
curl -L https:///yyuu/pyenv-installer/master/bin/pyenv-installer | bash
pyenv install 2.7.11
pyenv install 3.5.1
pyenv shell 3.5.1
python的2.x和3.x版本不兼容,所有把两个版本多安装到本地,方便需要的时候进行版本切换,使用命令pyenv shell 2.7.11指定当前的python版本。上面的命令指定的python版本是3
python的另一个有用的工具是virtualenv,它和pyenv都能实现python版本的切换,不过实现的方法却大相径庭。pyenv在用户模式下安装多个版本python,但是每一个python版本的包依赖还是安装的同一个位置,它不能解决两个项目中引用同一个库有版本冲突,但是viertualenv可以。
virtualenv给每一个python项目安装一个项目内部python,具体版本可以在初始化的时候指定,项目的依赖也是安装在内部python的路径下面,这样能防止和系统上其他python项目的依赖冲突, 隔离性更高,不好的地方是安装和使用略微复杂。
具体使用哪个工具看个人喜好,github上面pyenv的关注度要高点,而且现在pyenv有一个virtualenv插件,可以使用后者同样的功能,我个人还是推荐使用pyenv。
3.3 使用rvm安装ruby
curl -L https://get.rvm.io | bash -s stable
具体命令输入rvm help,很好掌握。
3.4 使用gvm安装go语言
curl -L https:
由于是使用go语言开发的,趁着这个机会向学习一些这个由google开发的编程语言,本博客就是使用hugo搭建的,服务器使用,firebase提供和github pages一样的免费静态服务器的功能,稳定性比github要好,github在国内的访问速度实在不能再慢了,特别是在clone大一点的项目的时候。
go语言开发的程序有一个好处就是没有运行时依赖,打包成exe就能直接运行,简单方便,更多的内容以后再更新吧,这里集中在开发环境搭建这个主题上面。
3.5 使用nvm安装nodejs
curl -o- /creationix/nvm/v0.30.0/install.sh | bash
nvm install v6.2.0
nvm use v6.2.0
node.js可以说是从2015年以来最火的语言了,node.js是后端工程师转向前端最好的工具,博主一起就是java后端开发工程师,偶然的机会学习了node.js,然后开始了自己的前端工程师的进化之路,目标是全栈工程师。
node.js还有一个npm包n可以用来进行版本管理,不过你需要先安装一个node.js才能使用npm install -g n安装这个工具
n和nvm都很好用,你可以随便选择一个,也可以两个都安装,他们之间没有冲突,可以共存。
这里注意一下,如果你使用的是&windows build 14352&的话,使用nvm安装nodejs可能会出现错误,详情参见我安装的时候是出现问题,但是又没有看到其他人遇到这个问题,如果你安装的windows预览版是比14352更新的版本的话,你可以自己测试下
3.6 安装gcc工具链
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev
这些工具不仅仅是c和c++开发者才会用到,如果你开发一个node.js native模块,你也需要这些工具。
3.7 安装nginx
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx
和安装git的时候一样,这里通过添加nginx的第三方repository,实现apt-get方式安装nginx最新版本,比源码编译安装方式在管理上还是要方便一点。
3.8 使用shell安装rust-lang
安装命令,非常简单
curl -sSf https:
rust是和node.js一样热门的新星编程语言,不过和node.js不同,rust不是一款前端领域的编程语言,而是一款系统编程语言。
rust的有点是安全、高并发,吸收了大量现代高级编程语言的有点,极力避免现有编程语言的各种缺点,让我印象最深刻的一个特性是rust的垃圾回收机制,
最开始的时候rust也是使用类似java语言的garbage collector方式实现垃圾回收,后来受不了gc的运行时性能损耗,自己实现了一套更高效的垃圾回收机制,极大的提高的系统稳定性和性能。
而且在rust在1.0的时候已经实现了自举(自己编译自己),后面版本的rust都是使用rust自己编译出来的,包括编译器。
唯一不好的地方是rust语言为了最大程度的帮助开发人员避免犯错误,采用了极其复杂的语法,对于刚开始学习编程语言的人来说,不建议学习rust,因为rust的学习曲线非常陡峭,入门语言选择c或者java都是不错的。
4 最后总结
虽然这篇文章没有讲一些高深的内容(水平有限), 但是还是总结一些。
4.1 关于包管理
不管是操作系统,linux、mac、windows,还是编程语言,java、node.js、rust,流行的趋势是自带包管理工具,
linux 有apt,centos有yum,mac有brew,windows目前没有,不排除以后不会有,win10应用商店已经有了,估计应用管理工具也不好很远了吧,目前已经有一个第三方的10AppsManager了。
java没有自带的包管理工具,但是maven,node.js有npm,rust有cargo。
使用包管理工具能帮助开发者解决很多的问题,例如版本管理,依赖管理,甚至软件发布都可以使用包管理工具来完成,node.jsd的包就是使用npm进行发布的。
所以我觉得自带包管理工具应该是以后编程语言的趋势,这方面做得最差的是java,从make到ant到ivy再到maven再到gradle,java的包管理是最复杂的,如果是心学习java的推荐学习gradle,gradle还能用来打包android项目,是目前最优秀的工具。
另外操作系统的包管理工具比编程语言又更悠久的历史,几乎每一个类linux操作系统都有自己的包管理工具。
4.2 版本管理
软件版本管理
每一个软件都会进行版本迭代,有时候进行版本更新的时候又会有broken update,为了方便实现版本切换,现在很多编程语言都提供了版本管理工具(第三方的),所以我在想能不能把这个功能添加在编程语言上面,简而言之就是编程语言能自带一个版本管理工具(就像自带包管理工具一样),这样能更快的实现版本切换。
4.3 以开发人员为中心
随着windows开始各种拉拢开发人员和软件工程师队伍的壮大,我认为以开发人员为中心的时代,广大开发人员的春天就要到来了,
我的个人博客网站https://ideras.me
阅读(...) 评论()
随笔 - 14904
评论 - 1031& Microsoft Brings Bash on Ubuntu on Windows 10
Microsoft Brings Bash on Ubuntu on Windows 10
Yes, you’ve read that right, and no, it’s not an April Fools’ Day prank, Microsoft and Canonical really
allowing developers and others to run bash commands directly into Windows. All you’ll need to do is to install Ubuntu on Windows app, hit the Windows key, and type bash to get a terminal window.
Once you are in bash, you can run any Ubuntu command line, including apt-get to install packages, just like if you were in a terminal in Ubuntu, and all binaries are the same as in Ubuntu, as Microsoft implemented new infrastructure within Windows called the Windows Subsystem for Linux (WSL). That means Ubuntu runs without Linux, but instead the implementation is a conversion layer somewhat similar to Wine to run Windows programs in Ubuntu, or Libhybris to convert Linux calls to Android calls.
Dustin Kirkland, in charge of Ubuntu Product and Strategy, explains it’s not Ubuntu running in a virtual machine or a container, not something like cygwin his
about the announcement:
“Right, so just Ubuntu running in a virtual machine?”
This isn’t a virtual machine at all.
There’s no Linux kernel booting in a VM under a hypervisor.
It’s just the Ubuntu user space.
“Ah, okay, so this is Ubuntu in a container then?”
This isn’t a container either.
It’s native Ubuntu binaries running directly in Windows.
“Hum, well it’s like cygwin perhaps?”
Cygwin includes open source utilities are recompiled from source to run natively in Windows.
Here, we’re talking about bit-for-bit, checksum-for-checksum Ubuntu ELF binaries running directly in Windows.
[long pause]
“So maybe something like a Linux emulator?”
Now you’re getting warmer!
A team of sharp developers at Microsoft has been hard at work adapting some Microsoft research technology to basically perform real time translation of Linux syscalls into Windows OS syscalls.
Linux geeks can think of it sort of the inverse of “wine” — Ubuntu binaries running natively in Windows.
Microsoft calls it their “Windows Subsystem for Linux”.
(No, it’s not open source at this time.)
CPU, memory, and I/O performance is almost the same as native performance according to results obtained with sysbench utility.
Since there are already ways to access a Linux terminal in Windows as mentioned above, this new feature may not not seem much, but for example that means Ubuntu or Linux instructions posted in this website, most of them using the command line, will run in Windows 10 natively without having to install a VirtualBox or VMWare and a virtual machine running Ubuntu.
You can also get a perspective from a web developer using Windows 10 on .
This is a beta release so it’s not working 100% just yet. If you are part of Windows Insider program you can have access to the early beta of Ubuntu on Windows.
Related posts:
Categories: ,
No trackbacks yet.
Buy Development Kits, Tablets and STB
and Accessories, and OtherWindows 10上使用Bash on Ubuntu_Linux新闻_Linux公社-Linux系统门户网站
你好,游客
Windows 10上使用Bash on Ubuntu
来源:Linux社区&
作者:cloudapps
今年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行Linux bash,对于非开发人员来讲,可能不知道这意味着什么,而对于开发人员来说,意味着Windows弥补了相比于MAC OS的终端的短板,你可以运行你熟悉的Linux bash,python,perl,使用一些Linux下的library&&而不需要再安装一个Cygwin或者,安装一个虚拟机来跑Linux了。
具体新闻请参考:
近期,微软发布了该特性的开发者预览版本,让我们来一睹芳颜:)
首先打开你的Windows 10的设置,在"更新和安全"选项中(我的机器是英文操作系统,但中文操作系统类似),选择"开发者",然后选择"开发者模式":
2. 在Windows 更新和安全选项中,选择"Windows 更新",在"更新设置"中选择高级选项,你必须打开"内部预览版本"选项,并且将内部预览的级别设置为最快:
3. 在"设置"-&"系统"选项中,查看当前系统信息,你的OS版本必须是14316,如果不是这个版本,请运行在线升级,升级到这个版本:&
4. 升级完成后,打开"控制面板"-》"程序",选择"打开或者关闭Windows特性",找到Windows Subsystem for Linux(beta)点选并确定,系统会下载更新并提示重启机器:
5. 重启完成后,进入命令行程序,激动人心的时刻来临了,在命令行下敲bash,会提示你是否继续,选择yes,系统会安装文件系统等待完成后,系统会切换到你熟悉的Linux bash模式,试试你熟悉的ls等命令:
6. 打开Windows菜单,你会发现系统中多了一个Ubuntu的图标,这个就是bash on Ubuntu on Windows:
7. 简单测试一下python,perl等语言,发现已经装好了,当然,这个就是Ubuntu的bash,你可以安装Java,Ruby等等:
对于开发人员来讲,这个功能是非常方面,非常有吸引力的,enjoy!
本文永久更新链接地址:
相关资讯 & & &
& (04月12日)
& (04月11日)
& (04月01日)
& (04月11日)
& (04月01日)
& (04月01日)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共???国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款

我要回帖

更多关于 win10系统1607版本 的文章

 

随机推荐