青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

深入體驗bash on windows,在windows上搭建原生的linux開發(fā)環(huán)境,酷!

轉(zhuǎn)載自:https://segmentfault.com/a/1190000006175018

今年微軟Build 2016大會最讓開發(fā)人員興奮的消息之一,就是在Windows上可以原生運行Linux bash,對開發(fā)人員來說,這是一個喜聞樂見的消息。

1 安裝

你必須安裝開發(fā)者預(yù)覽版本,才能使用windows的linux subsystem功能。

  1. 首先打開你的Windows 10的設(shè)置,在"更新和安全"選項中(我的機器是英文操作系統(tǒng),但中文操作系統(tǒng)類似),選擇"開發(fā)者",然后選擇"開發(fā)者模式":

  2. 在Windows 更新和安全選項中,選擇"Windows 更新",在"更新設(shè)置"中選擇高級選項,你必須打開"內(nèi)部預(yù)覽版本"選項,并且將內(nèi)部預(yù)覽的級別設(shè)置為最快:

  3. 在"設(shè)置"->"系統(tǒng)"選項中,查看當前系統(tǒng)信息,你的OS版本必須是14316,如果不是這個版本,請運行在線升級,升級到這個版本:

  4. 升級完成后,打開"控制面板"-》"程序",選擇"打開或者關(guān)閉Windows特性",找到Windows Subsystem for Linux(beta)點選并確定,系統(tǒng)會下載更新并提示重啟機器:

  5. 重啟完成后,進入命令行程序,激動人心的時刻來臨了,在命令行下敲bash,會提示你是否繼續(xù),選擇yes,系統(tǒng)會安裝Ubuntu文件系統(tǒng)等待完成后,系統(tǒng)會切換到你熟悉的Linux bash模式,試試你熟悉的ls等命令:

  6. 打開Windows菜單,你會發(fā)現(xiàn)系統(tǒng)中多了一個Ubuntu的圖標,這個就是bash on Ubuntu on Windows:

  7. 簡單測試一下python,perl等語言,發(fā)現(xiàn)已經(jīng)裝好了,當然,這個就是Ubuntu的bash,你可以安裝Java,Ruby等等:

下面來實際測試下ubuntu on windows環(huán)境!

2 系統(tǒng)檢測和更新

2.1 版本檢測

運行 uname -a 結(jié)果如下

webmaster@FEKETERIGO-PC:~$ uname -a
Linux FEKETERIGO-PC 3.4.0+ #1 PREEMPT Thu Aug 1 17:06:05 CST 2013 x86_64 x86_64 x86_64 GNU/Linux
webmaster@FEKETERIGO-PC:~$

運行 lsb_release -a 結(jié)果如下

webmaster@FEKETERIGO-PC:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.4 LTS
Release:        14.04
Codename:       trusty

可以看到,安裝的是ubuntu 14.04 trusty

2.2 系統(tǒng)更新

既然是ubuntu,就可以使用apt-get進行軟件包管理。

首先替換自帶的更新源

sudo mv /etc/apt/sources.list /etc/apt/sources.list.save

把下面的阿里源內(nèi)容粘貼到 /etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

你也可以使用163源等,選取原則是更新速度,目前測試的情況是阿里云的源更新速度最快。

接著運行下面的命令進行系統(tǒng)更新,如果速度很慢的話請嘗試使用其他的源,另外ubuntu的源是版本相關(guān)的,注意別添加錯誤版本的源。

sudo apt-get update
sudo apt-get upgrade

使用sudo命令之前可以運行 passwd 更新當前用戶的命令, bashonwindows默認運行在用戶模式,
windows會把當前用戶添加到sudoer列表中,如果想切換到超級管理員,需要手動輸入su -

3 搭建開發(fā)環(huán)境

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 的時候會從相應(yīng)的倉庫里面獲取新
的git版本信息。

由于每個人的網(wǎng)絡(luò)環(huán)境不一樣, 如果你更新失敗,使用apt-get不能安裝最新版本的git的話,請到github上面下載源碼進行編譯安裝,過程也很簡單
這里就不寫源碼編譯教程了, git源碼點擊 這里

3.2 使用pyenv搭建python開發(fā)環(huán)境

命令如下

sudo apt-get install curl
curl -L https://raw.githubusercontent.com/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都能實現(xiàn)python版本的切換,不過實現(xiàn)的方法卻大相徑庭。
pyenv在用戶模式下安裝多個版本python,但是每一個python版本的包依賴還是安裝的同一個位置,它不能解決兩個項目中引用
同一個庫有版本沖突,但是viertualenv可以。

virtualenv給每一個python項目安裝一個項目內(nèi)部python,具體版本可以在初始化的時候指定,項目的依賴也是安裝在內(nèi)部python的路徑下面,這樣能防止和系統(tǒng)上其他python項目的依賴沖突, 隔離性更高,不好的地方是安裝和使用略微復(fù)雜。

具體使用哪個工具看個人喜好,github上面pyenv的關(guān)注度要高點,而且現(xiàn)在pyenv有一個virtualenv插件,可以使用后者同樣的功能,我個人還是推薦使用pyenv。

3.3 使用rvm安裝ruby

curl -L https://get.rvm.io | bash -s stable --autolibs=enabled --ruby
rvm install 2.3.1
bash --login
rvm use ruby-2.3.1

具體命令輸入rvm help,很好掌握。

3.4 使用gvm安裝go語言

curl -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer | bash
gvm install go1.6
gvm use go1.6 --default

由于hugo是使用go語言開發(fā)的,趁著這個機會向?qū)W習(xí)一些這個由google開發(fā)的編程語言,本博客就是使用
hugo搭建的,服務(wù)器使用firebase,firebase提供和github pages一樣的免費靜態(tài)服
務(wù)器的功能,穩(wěn)定性比github要好,github在國內(nèi)的訪問速度實在不能再慢了,特別是在clone大一點的項目的時候。

go語言開發(fā)的程序有一個好處就是沒有運行時依賴,打包成exe就能直接運行,簡單方便,更多的內(nèi)容以后再更新吧,這里集中在開發(fā)環(huán)境搭建這個主題上面。

3.5 使用nvm安裝nodejs

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.0/install.sh | bash
nvm install v6.2.0
nvm use v6.2.0

node.js可以說是從2015年以來最火的語言了,node.js是后端工程師轉(zhuǎn)向前端最好的工具,博主一起就是java后端開發(fā)工程師,偶然的機會
學(xué)習(xí)了node.js,然后開始了自己的前端工程師的進化之路,目標是全棧工程師。

node.js還有一個npm包n可以用來進行版本管理,不過你需要先安裝一個node.js才能使用npm install -g n安裝這個工具

nnvm都很好用,你可以隨便選擇一個,也可以兩個都安裝,他們之間沒有沖突,可以共存。

這里注意一下,如果你使用的是 windows build 14352 的話,使用nvm安裝nodejs可能會出現(xiàn)錯誤,詳情參見這里
我安裝的時候是出現(xiàn)問題,但是又沒有看到其他人遇到這個問題,如果你安裝的windows預(yù)覽版是比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++開發(fā)者才會用到,如果你開發(fā)一個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,實現(xiàn)apt-get方式安裝nginx最新版本,比源碼編譯安裝方式在管理上還是要方便一點。

3.8 使用shell安裝rust-lang

安裝命令,非常簡單

curl -sSf https://static.rust-lang.org/rustup.sh | sh

rust是和node.js一樣熱門的新星編程語言,不過和node.js不同,rust不是一款前端領(lǐng)域的編程語言,而是一款系統(tǒng)編程語言。

rust的有點是安全、高并發(fā),吸收了大量現(xiàn)代高級編程語言的有點,極力避免現(xiàn)有編程語言的各種缺點,讓我印象最深刻的一個特性是
rust的垃圾回收機制,

最開始的時候rust也是使用類似java語言的garbage collector方式實現(xiàn)垃圾回收,后來受不了gc的運行時性能損耗,自己實現(xiàn)了一套更高效的垃圾回收機制,極大的提高的系統(tǒng)穩(wěn)定性和性能。

而且在rust在1.0的時候已經(jīng)實現(xiàn)了自舉(自己編譯自己),后面版本的rust都是使用rust自己編譯出來的,包括編譯器。

唯一不好的地方是rust語言為了最大程度的幫助開發(fā)人員避免犯錯誤,采用了極其復(fù)雜的語法,對于剛開始學(xué)習(xí)編程語言的人來說,不建議學(xué)習(xí)rust,因為rust的學(xué)習(xí)曲線非常陡峭,入門語言選擇c或者java都是不錯的。

4 最后總結(jié)

雖然這篇文章沒有講一些高深的內(nèi)容(水平有限), 但是還是總結(jié)一些。

4.1 關(guān)于包管理

不管是操作系統(tǒng),linux、mac、windows,還是編程語言,java、node.js、rust,流行的趨勢是自帶包管理工具

linux 有apt,centos有yum,mac有brew,windows目前沒有,不排除以后不會有,win10應(yīng)用商店已經(jīng)有了,估計應(yīng)用管理工具也不好很遠了吧,目前已經(jīng)有一個第三方的10AppsManager了。

java沒有自帶的包管理工具,但是maven,node.js有npm,rust有cargo。

使用包管理工具能幫助開發(fā)者解決很多的問題,例如版本管理,依賴管理,甚至軟件發(fā)布都可以使用包管理工具來完成,node.jsd的包就是使用npm進行發(fā)布的。

所以我覺得自帶包管理工具應(yīng)該是以后編程語言的趨勢,這方面做得最差的是java,從make到ant到ivy再到maven再到gradle,java的包
管理是最復(fù)雜的,如果是心學(xué)習(xí)java的推薦學(xué)習(xí)gradle,gradle還能用來打包android項目,是目前最優(yōu)秀的工具。

另外操作系統(tǒng)的包管理工具比編程語言又更悠久的歷史,幾乎每一個類linux操作系統(tǒng)都有自己的包管理工具。

4.2 版本管理

軟件版本管理

每一個軟件都會進行版本迭代,有時候進行版本更新的時候又會有broken update,為了方便實現(xiàn)版本切換,現(xiàn)在很多編程語言
都提供了版本管理工具(第三方的),所以我在想能不能把這個功能添加在編程語言上面,簡而言之就是編程語言能自帶一個版本管理
工具(就像自帶包管理工具一樣),這樣能更快的實現(xiàn)版本切換。

4.3 以開發(fā)人員為中心

隨著windows開始各種拉攏開發(fā)人員和軟件工程師隊伍的壯大,我認為以開發(fā)人員為中心的時代,廣大開發(fā)人員的春天就要到來了.

posted on 2016-12-17 13:11 楊粼波 閱讀(1370) 評論(1)  編輯 收藏 引用

評論

# re: 深入體驗bash on windows,在windows上搭建原生的linux開發(fā)環(huán)境,酷! 2016-12-19 17:11 楊粼波

Ubuntu16.04LTS 阿里云源

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# 源碼
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main  回復(fù)  更多評論   


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧洲一区二区在线观看| 欧美99久久| 久久资源在线| 久久亚洲欧美| 欧美fxxxxxx另类| 欧美激情在线播放| 亚洲精品一级| 亚洲欧美精品在线| 久久久久久久性| 激情婷婷欧美| 亚洲国产精品久久久久秋霞影院| 亚洲第一福利在线观看| 亚洲日本中文字幕区| 一区二区激情小说| 欧美制服第一页| 欧美激情亚洲激情| 亚洲一区精彩视频| 另类国产ts人妖高潮视频| 欧美日韩一区在线观看视频| 国产欧美在线观看一区| 亚洲国产成人久久综合| 在线亚洲国产精品网站| 亚洲日本久久| 欧美成人视屏| 一区二区精品在线| 久久精品国产一区二区三区免费看 | 一区二区三区视频观看| 午夜影视日本亚洲欧洲精品| 免费日本视频一区| 国产乱码精品一区二区三区五月婷 | 亚洲精品乱码久久久久久| 亚洲系列中文字幕| 欧美黄色大片网站| 午夜精品区一区二区三| 欧美国产综合一区二区| 国产一区激情| 午夜亚洲视频| 亚洲裸体在线观看| 理论片一区二区在线| 国产欧美日韩不卡| 亚洲桃花岛网站| 亚洲第一免费播放区| 欧美在线中文字幕| 国产精品区一区二区三区| 日韩视频一区二区在线观看 | 亚洲最新在线| 免费视频久久| 午夜精品久久一牛影视| 欧美揉bbbbb揉bbbbb| 亚洲精品一区二区三区不| 久久午夜影视| 欧美一区二区三区日韩| 国产精品伦子伦免费视频| 亚洲网站在线播放| 日韩视频一区二区三区在线播放免费观看| 久久久99国产精品免费| 国产一区二区三区高清播放| 欧美专区日韩专区| 亚洲欧洲av一区二区| 国产精品一区二区在线观看网站 | 日韩视频免费大全中文字幕| 欧美电影在线观看| 亚洲精华国产欧美| 欧美成人综合网站| 免费视频一区二区三区在线观看| 悠悠资源网亚洲青| 欧美成人精品在线视频| 伊人成人在线| 翔田千里一区二区| 亚洲午夜免费福利视频| 欧美日产国产成人免费图片| 亚洲精一区二区三区| 亚洲欧洲精品一区| 欧美人与性动交cc0o| 亚洲视频一二| 亚洲永久精品国产| 国产日韩1区| 男人插女人欧美| 欧美激情久久久久| 亚洲一区二区在线播放| 亚洲网站在线观看| 国产一区在线看| 欧美91精品| 欧美三日本三级三级在线播放| 亚洲在线免费观看| 欧美在现视频| 日韩亚洲国产精品| 亚洲性视频h| 在线成人av| 一本到12不卡视频在线dvd| 国产精品资源| 亚洲国产成人在线播放| 国产精品欧美久久| 你懂的视频一区二区| 欧美日韩黄色一区二区| 欧美一区久久| 欧美精品v日韩精品v国产精品| 亚洲伊人第一页| 久久久久久久久一区二区| 亚洲毛片在线免费观看| 亚洲在线播放电影| 亚洲精品视频免费观看| 午夜天堂精品久久久久 | 久久久噜噜噜久噜久久| 欧美jizzhd精品欧美巨大免费| 亚洲永久免费精品| 欧美二区在线观看| 久久嫩草精品久久久精品| 欧美日韩精品一区二区在线播放| 久久天天综合| 国产精品视频男人的天堂| 亚洲第一级黄色片| 国内成人精品2018免费看| 国产精品99久久久久久宅男 | 亚洲一级片在线看| 久久人人九九| 久久精品国产999大香线蕉| 欧美日本簧片| 亚洲福利国产精品| 在线精品亚洲一区二区| 性色av一区二区三区| 亚洲午夜免费福利视频| 欧美国产综合| 亚洲第一中文字幕在线观看| 狠狠入ady亚洲精品经典电影| 亚洲小视频在线| 亚洲无线观看| 一区二区电影免费在线观看| 午夜精品久久一牛影视| 中文国产成人精品| 欧美激情视频一区二区三区在线播放| 欧美在线啊v一区| 国产精品成人一区二区| 日韩午夜免费| 亚洲性图久久| 欧美香蕉视频| 一区二区日韩精品| 亚洲网站视频| 国产精品第三页| 亚洲无线一线二线三线区别av| 一区二区三区 在线观看视频| 乱码第一页成人| 亚洲电影一级黄| 亚洲免费成人av| 欧美性大战久久久久久久蜜臀| 99精品视频一区| 午夜伦理片一区| 国产一区二区三区在线观看精品| 欧美一区国产一区| 米奇777在线欧美播放| 亚洲国产精品一区在线观看不卡| 每日更新成人在线视频| 91久久嫩草影院一区二区| 中国亚洲黄色| 国产精品视频yy9099| 羞羞答答国产精品www一本| 久久人人97超碰人人澡爱香蕉| 一区二区三区在线视频免费观看| 老牛国产精品一区的观看方式| 欧美va天堂va视频va在线| 最近看过的日韩成人| 欧美日韩视频第一区| 亚洲免费婷婷| 欧美高清在线视频| 亚洲性感美女99在线| 国产日韩在线一区二区三区| 久久午夜视频| 亚洲美女中出| 久久午夜电影网| 亚洲色图在线视频| 国产日韩精品视频一区| 久久蜜桃av一区精品变态类天堂| 亚洲日本黄色| 久久久噜久噜久久综合| 亚洲美女色禁图| 国产麻豆日韩欧美久久| 久久综合伊人77777麻豆| 99国产一区| 美日韩精品免费| 亚洲欧美激情一区二区| 在线欧美不卡| 国产精品hd| 欧美成人精品在线播放| 亚洲女女女同性video| 亚洲激情亚洲| 久久中文精品| 欧美一级视频精品观看| 99re热这里只有精品视频| 国产亚洲人成网站在线观看| 欧美精品在线一区二区三区| 久久精品国产第一区二区三区最新章节| 91久久精品一区二区别| 麻豆91精品91久久久的内涵| 亚洲欧美成人网| av成人天堂| 亚洲伦理久久| 亚洲国产精品v| 精品福利免费观看| 国产亚洲激情在线| 国产欧美一区二区三区久久|