Ubuntu 12.04上享用新版本Linux的功能

Ubuntu 12.04上享用新版本Linux的功能

我司有一批Ubuntu 12.04的服務器暫時沒有升級計劃,但是像編譯Android N代碼等需求要求Linux的版本更新只泼。
如何在不升級Ubuntu 12.04的情況下實現(xiàn)升級Linux版本的需求呢粉渠?我們有兩大利器可以使用:docker和虛擬機轻腺。

Docker大法

Docker安裝

升級內(nèi)核

Docker需要64位的Linux支持龟劲,幸好琳疏,這條是滿足的洒琢。
Docker需要kernel 3.10以上版本的支持察纯。
首先我們查看一下當前的kernel版本號:

uname -r

我的是3.2.0-60-generic帕棉,升級吧:

sudo apt-get update
sudo apt-get install linux-image-generic-lts-trusty
sudo reboot

重啟之后再看,kernel已經(jīng)升級到3.13.0-105-generic饼记,終于符合要求了香伴。

升級apt源

首先使用https傳輸和ca認證:

sudo apt-get install apt-transport-https ca-certificates

然后添加GPG密鑰:

sudo apt-key adv \
               --keyserver hkp://ha.pool.sks-keyservers.net:80 \
               --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

接著將"deb https://apt.dockerproject.org/repo ubuntu-precise main"這一行,添加到/etc/apt/sources.list文件的最后一行具则。

最后即纲,更新索引:

sudo apt-get update

安裝docker

經(jīng)過前面一系列準備工作,終于可以安裝docker了:

sudo apt-get install docker-engine

啟動docker

安裝成功后乡洼,docker服務應該已經(jīng)啟動了崇裁。如果沒有啟動,就運行下面的命令:

sudo service docker start

大功告成了束昵,測試一下:

sudo docker run hello-world

以上詳情拔稳,如有不清楚的,可以參看:https://docs.docker.com/engine/installation/linux/ubuntulinux/

不出意外的話锹雏,run hello-world是連不上的巴比,比如說這樣的錯誤:

docker: An error occurred trying to connect: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create: read unix @->/var/run/docker.sock: read: connection reset by peer.

原因你懂的,所以我們需要國內(nèi)的鏡像礁遵。

Docker鏡像

國內(nèi)有不少鏡像可以使用轻绞,比如我們可以使用阿里云的。阿里云會為每個用戶生成一個專用的賬戶佣耐,可以在這里查到:https://cr.console.aliyun.com/?spm=5176.100239.blogcont29941.12.x4Yf82#/accelerator

通過下面的命令設置就好了:

echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=你的地址\"" | sudo tee -a /etc/default/docker
sudo service docker restart

設置好了之后政勃,再運行sudo docker run hello-world,就看到下面的輸出:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c04b14da8d14: Pull complete 
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

Ubuntu

于是我們就開干吧:
先來個Ubuntu 16.04暖暖場:

sudo docker pull ubuntu:16.04
sudo docker run -it ubuntu:16.04

命令行就變成了ubuntu 16.04系統(tǒng)的提示符兼砖,我們apt update一下看看:

root@769f87c152a9:/# apt update
Get:1 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]

不錯奸远,apt能用,說明至少已經(jīng)不是apt-get的時代了讽挟。xenial也替代了precise懒叛。
Ubuntu的tag可以參看:Ubuntu docker鏡像

CentOS

再來個CentOS,目前最新的版本是CentOS 7.

sudo docker run -it centos:7

網(wǎng)址在:CentOS docker鏡像

OpenSUSE

OpenSUSE的愛好者請用這個:

sudo docker run -it opensuse:leap /bin/bash

然后就可以感受一下zypper:

bash-4.3# zypper update
Retrieving repository 'NON-OSS' metadata -----------------------------------------------------------------------------------------------------------------------------------------------------------------------[\]Retrieving repository 'NON-OSS' metadata ....................................................................................................................................................................[done]
Building repository 'NON-OSS' cache .........................................................................................................................................................................[done]

目前的OpenSUSE是Leap 42.2版本耽梅。
OpenSUSE版本列表

Fedora

Fedora已經(jīng)支持到25了薛窥。

sudo docker run -it fedora:25 /bin/bash

網(wǎng)址:Fedora版本列表

Docker下掛載主機目錄

ubuntu 16.04在docker中起來了,但是眼姐,它還訪問不了主機上的代碼诅迷,比如Android代碼佩番。所以我們需要做路徑的映射:

sudo docker run -it -v /disk08/xulun/Android:/usr/Android ubuntu:16.04

-v參數(shù),前面是主機路徑罢杉,冒號后面是容器中的掛載點答捕。

設置docker image默認目錄

這還沒完,因為docker默認會將image存放在/var/lib/docker下面屑那。正常情況下拱镐,/所掛載的點的硬盤分區(qū)一般都不會太大,如果鏡像放多了持际,空間要不夠用沃琅。
所以我們還需要將docker的工作目錄更換一下,我們還是修改配置文件蜘欲,在Ubuntu 12.04下益眉,這個配置文件在/etc/default/docker中。
我們添加這么一行:

DOCKER_OPTS="$DOCKER_OPTS --graph=新的docker目錄"

組合起來一句話:

echo "DOCKER_OPTS=\"\$DOCKER_OPTS --graph=新的docker目錄\"" | sudo tee -a /etc/default/docker
sudo service docker restart

Virtual Box大法

在Ubuntu 12.04上姥份,通過apt-get install已經(jīng)可以安裝virtualbox了郭脂。不過是比較老的版本,要裝最新的版本還是需要小小折騰一下澈歉,不過比起docker來確實已經(jīng)輕松很多了展鸡。

安裝Virtual box

首先還是先更新軟件源,修改/etc/apt/sources.list:
deb http://download.virtualbox.org/virtualbox/debian precise contrib

然后還是更新key:

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

最后埃难,更新列表并安裝

sudo apt-get update
sudo apt-get install virtualbox-5.1

VirtualBox都是有圖像界面的莹弊,通過下載官方的iso安裝操作系統(tǒng)就可以了。Ubuntu, Debian, OpenSUSE, CentOS等都很友好涡尘,只有Gentoo和Archlinux值得講一講忍弛,我們后面再說。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末考抄,一起剝皮案震驚了整個濱河市细疚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌川梅,老刑警劉巖疯兼,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異挑势,居然都是意外死亡镇防,警方通過查閱死者的電腦和手機啦鸣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門潮饱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人诫给,你說我怎么就攤上這事香拉±惭铮” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵凫碌,是天一觀的道長扑毡。 經(jīng)常有香客問我,道長盛险,這世上最難降的妖魔是什么瞄摊? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮苦掘,結果婚禮上换帜,老公的妹妹穿的比我還像新娘。我一直安慰自己鹤啡,他們只是感情好惯驼,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著递瑰,像睡著了一般祟牲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上抖部,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天说贝,我揣著相機與錄音,去河邊找鬼慎颗。 笑死狂丝,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的哗总。 我是一名探鬼主播几颜,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼讯屈!你這毒婦竟也來了蛋哭?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤涮母,失蹤者是張志新(化名)和其女友劉穎谆趾,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體叛本,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡沪蓬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了来候。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跷叉。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出云挟,到底是詐尸還是另有隱情梆砸,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布园欣,位于F島的核電站帖世,受9級特大地震影響,放射性物質發(fā)生泄漏沸枯。R本人自食惡果不足惜日矫,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绑榴。 院中可真熱鬧搬男,春花似錦、人聲如沸彭沼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽姓惑。三九已至褐奴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間于毙,已是汗流浹背敦冬。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留唯沮,地道東北人脖旱。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像介蛉,于是被迫代替她去往敵國和親萌庆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容