ubuntu打開的正確方式(笑)
在這個快節(jié)奏的時代,能夠使用最快速度最低代價完成任務具有非常重要的意義,對于現(xiàn)代開發(fā)者來說,Linux是生活中必不可少且不可替代的工具
,如果我們在開發(fā)或?qū)W習中少一些遇到環(huán)境的坑,會節(jié)省很多時間,潛伏在各種Linux群中數(shù)年,發(fā)現(xiàn)大家都有手賤
(操作失誤,笑)的時候。因此在本文中給出終極解決方案: 直接使用Ubuntu Live CD來完成系統(tǒng)的啟動。
那么最快的Linux安裝辦法又是什么呢?其實經(jīng)過嚴謹?shù)乃伎贾笪覀€人覺得是不安裝
。我們可以準備從grub啟動ubuntu操作系統(tǒng)把系統(tǒng)放到內(nèi)存中,再預制出各種情況的環(huán)境包,也就是環(huán)境模塊化,因為系統(tǒng)是在整個內(nèi)存中,所以速度非常非???,需要模塊化的內(nèi)容并不多,比如說ssh vim tmux 為一組工具,開機后一個名來那個即可激活工具包,不到幾秒鐘的時間即可完成,其他的如Chrome瀏覽器一類的都可以快速完成在內(nèi)存上的安裝。通過這種方式讓環(huán)境更加靈活更加快速準備好開發(fā)環(huán)境。這是一個思路上的變化,從我需要什么就安裝什么,一起都準備好給你用->
變成了只啟動基礎的系統(tǒng),然后我需要什么我就后加載什么。
最后的準備在于容器,Docker 以及RKT與RunC的準備,在團隊內(nèi)可以秒級推送運行的環(huán)境。
此文是上次實踐成功的想法升級版本,原文:CoreOS如何在PC上快速安裝
本文依然有它的缺點,主要體現(xiàn)在兩個方面:1.如果默認驅(qū)動不好使會造成很多麻煩。2.對于內(nèi)存小的開發(fā)機器還是做快照比較好。最少4G內(nèi)存,我們推薦內(nèi)存在8G以上最好是16G或者32G內(nèi)存的機器上采用此方案。
因為本方案整個操作系統(tǒng)都是加載到內(nèi)存中的,硬盤速度即為內(nèi)存的速度,我這里實測可以達到4.5Gb/s,所以你準備好屌絲逆襲(買不起SSD)秒殺高富帥了嗎?
ubuntu
對于它的簡單介紹可以參考這里http://baike.baidu.com/view/4236.htm當然對于我本人而言選擇Ubuntu主要原因僅僅是對他比較熟悉。并不限制使用什么發(fā)行版本。如果您要是選本方案搭建環(huán)境,并且選擇其他發(fā)行版本請選擇LiveCD盡量小一點的,如果能自己裁剪LiveCD就更好了,另外盡量選擇64位架構(gòu)。當然自己越熟悉越好。
雖然Ubuntu有一點不自由,但是我個人覺得包的質(zhì)量管理還是非常好的,的確適合開發(fā)者使用。
Docker
它對于我來說,幾乎就像是水,如果沒有他就沒有今天的豐富多彩的運行方式,它可以讓程序連同環(huán)境一起打包運行,使得部署備份等等非常方便,對于本次環(huán)境構(gòu)建而言,我們可以在個人的registry上備份自己的環(huán)境,只需要一小段時間就可以克隆回來。再加上現(xiàn)在各種永久免費的國內(nèi)加速服務這種環(huán)境部署就是程序員天堂。更多細節(jié)請關注http://help.daocloud.io/tutorials/index.html
在本文中,我們使用單文件版本的Docker文件,方便可控。無任何累贅。本人不喜腳本安裝。
RunC && RKT
這兩種產(chǎn)品是libcontainer的代表。相對于Docker來說,它是一個容器只需要一個進程,對于Docker來說,他需要一個守護進程。在本文中(本博主) 不評價任何產(chǎn)品的好壞,只說什么時候適合用什么。當然在我們這里利用了它啟動方便,掛載方便的特性,讓我們的工作更方便!
由于現(xiàn)在RunC還沒有發(fā)布1.0版本,文檔幾乎沒有,因此我這里會給出我的詳細研究結(jié)果。至于RKT還是大家自己摸索,文檔已經(jīng)很全了。
CoreOS
作為專門運行容器的操作系統(tǒng),穩(wěn)定性和屬性都是前所未有,當然我們的容器可以跑在這個上面。本文中會提及兩個系統(tǒng)的兼容性方案。
- Ubuntu適合程序開發(fā)的情況。啟動速度可能在1分鐘左右(有點慢)。但是有圖形界面,有定制基礎環(huán)境的方案。
- CoreOS適合跑程序,啟動速度在10秒以下適合釋放更多內(nèi)存來跑臨時業(yè)務,做測試的時候適用此方案。
從Grub開始
什么是Grub
它可以裝在硬盤上幫助你啟動操作系統(tǒng),幾乎所有操作系統(tǒng)都可以,當然也包含本次的方案內(nèi)容。安裝方式有很多種。而且必須得根據(jù)自己的情況來安裝。因為每個人電腦上的操作系統(tǒng)情況都不一樣,有的已經(jīng)有系統(tǒng)了。有的不想給自己裝引導。可能先放到u盤上引導都有可能。因此這里不做安裝方法上的更多描述,可以自己根據(jù)情況到搜索引擎上搜索。
#p#
Grub的安裝
我之前是安裝了windows,所以我直接安裝了EasyBCD,然后安裝NeoGRUB來實現(xiàn)的。具體操作步驟如下:
Ubuntu 啟動配置組合拳
啟動準備
如果想要準備啟動Ubuntu那么有三個關鍵要素,
- ubuntu-14.04.2-desktop-amd64.iso
- image中casper/vmlinuz.efi
- image中casper/initrd.lz
這三個文件作為啟動的必要文件請放到分區(qū)中容易找到的地方。推薦做法:
給自己的硬盤上開個EXT4
分區(qū),然后把三個文件丟到里面去。
啟動參數(shù)調(diào)試
工作中我們講求流程,當然我們也需要一定的路程,我們不可能一次調(diào)整就成功把ISO啟動起來。因此我們先加一個調(diào)試流程。
- root (hd0,1)
- kernel (hd0,1)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu-14.04.2-desktop-amd64.iso ro quiet splash locate=en_US.UTF-8
- initrd (hd0,1)/casper/initrd.lz
- 你需要看清楚把文件放到了第幾塊硬盤上,第幾塊分區(qū)上。組成參數(shù)為
(hd0,1)
(我的是0號硬盤第二個分區(qū))。如果你實在分不清可以參考這里http://blog.csdn.net/evergreen79/article/details/8580503 root (hd0,1)
設置GRUB的root設備。- kernel 命令套格式,變化參數(shù) vmlinuz.efi 和 ubuntu-14.04.2-desktop-amd64.iso 要與你放到硬盤上的位置對應,可以
使用Tab自動補全
非常實用。 - initrd 依然是套格式找到對應硬盤傻姑娘的initrd.lz的位置。
- 如果出現(xiàn)錯誤了按
↑
會出現(xiàn)剛才的命令,多加修改直到成功啟動。
啟動參數(shù)放到硬盤中
- 如果是NeoGrub配置文件路徑
C:\NST\menu.lst
,其他的請參考說明文檔,一般都會有的。 - 配置文件寫法:
- timeout 3
- default 0
- title Ubuntu
- root (hd0,1)
- kernel (hd0,1)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu-14.04.2-desktop-amd64.iso ro quiet splash locate=en_US.UTF-8
- initrd (hd0,1)/casper/initrd.lz
3秒等待自動選擇第一項,名稱ubuntu 別的剩下的就是剛才調(diào)試內(nèi)容的命令了。
組合拳第一拳 → 完成剛需配置
剛醒需求配置是指在容器之外的剛性需求配置,比如說編輯器,SSH等等工具箱。配置方法:APT
。
- 修改安裝源:
sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && apt-get update
- 安裝你需要的軟件包:
apt-get install -y vim screen tmux ssh-server
等等 - 調(diào)試你的環(huán)境看看是否好使,然后復制文件夾
/var/cache/apt/archives
中所有deb文件即為您剛才所有的安裝包。復制到一個可以持久化的文件夾中等待使用。 - 回調(diào)環(huán)境: 每當您重新啟動之后這些安裝包即消失,想恢復,進入到上一步中復制到的文件夾中執(zhí)行如下命令
dpkg -i *
即可安裝預先準備好的軟件。 靈活使用
,此步驟為發(fā)揮組合拳威力的一步。當您反復定制凝練您的安裝包之后,會根據(jù)個人情況選擇不同的目錄來初始化您的環(huán)境,其結(jié)果是,又小又輕,非??煽?。再也不怕手賤導致環(huán)境崩壞,再加上外部的git服務,保證工作內(nèi)容的安全性?;旧峡梢钥隙ǖ恼f:我們的環(huán)境與硬件與工作耦合度降低不少。
- 對于APT無法安裝的內(nèi)容,比如說JDK與定制版本的Eclipse。您可以通過下載完之后持久化保存到硬盤中,寫一個腳本解壓后放到硬盤中至于環(huán)境直接寫入到profile中即可。
- 使用此方法之后假如您使用IDE真的會有一個非常非常大的速度提升,我打開Eclipse C/C++
5秒鐘
即可。
總結(jié)
在本段文檔中,我們給出了一個全新的使用Linux操作系統(tǒng)的思路不安裝
。并且做了一定的前期準備工作。啟動了Linux操作系統(tǒng)做到本步驟,如果您是新手就可以開始Linux的學習旅程了,如果您是需要此方案工作已經(jīng)可以展開一般性質(zhì)的工作了。
在下一次更新的時候我會描述關于此方案的容器使用解決方案,組合拳第二拳。