标签 Ubuntu 下的文章

Upgrade Ubuntu to a newer version with a single command

zzupdate 是一个开源的命令行程序,通过将几个更新命令组合到一个命令中,使得将 Ubuntu 桌面和服务器版本升级到更新版本的任务变得容易一些。

将 Ubuntu 系统升级到更新的版本并不是一项艰巨的任务。无论是使用 GUI 还是使用几个命令,都可以轻松地将系统升级到最新版本。

另一方面,Gianluigi 'Zane' Zanettini 写的 zzupdate 只需一个命令就可以在 Ubuntu 中清理、更新、自动删除、版本升级、该工具的自我更新。

它会清理本地缓存,更新可用的软件包信息,然后执行发行版升级。接着,它会更新该工具并删除未使用的软件包。

该脚本必须以 root 用户身份运行。

安装 zzupdate 将 Ubuntu 升级到更新的版本

要安装 zzupdate,请在终端中执行以下命令。

curl -s https://raw.githubusercontent.com/TurboLabIt/zzupdate/master/setup.sh | sudo sh

然后将提供的示例配置文件复制到 zzupdate.conf 并设置你的首选项。

sudo cp /usr/local/turbolab.it/zzupdate/zzupdate.default.conf /etc/turbolab.it/zzupdate.conf

完成后,只要使用下面的命令,它就会开始升级你的 Ubuntu 系统到一个更新的版本(如果有的话)。

sudo zzupdate

请注意,在普通版本(非 LTS 版本)下,zzupdate 会将系统升级到下一个可用的版本。但是,当你运行 Ubuntu 16.04 LTS 时,它将尝试仅搜索下一个长期支持版本,而不是可用的最新版本。

如果你想退出 LTS 版本并升级到最新版本,你将需要更改一些选项。

对于 Ubuntu 桌面,打开 软件和更新 和下面 更新 选项卡,并更改通知我新的 Ubuntu 版本选项为 “对于任何新版本”。

Software Updater in Ubuntu

对于 Ubuntu 服务版,编辑 release-upgrades 文件。

vi /etc/update-manager/release-upgrades

Prompt=normal

配置 zzupdate [可选]

zzupdate 要配置的选项:

REBOOT=1

如果值为 1,升级后系统将重启。

REBOOT_TIMEOUT=15

将重启超时设置为 900 秒,因为某些硬件比其他硬件重启需要更长的时间。

VERSION_UPGRADE=1

如果升级可用,则执行版本升级。

VERSION_UPGRADE_SILENT=0

自动显示版本进度。

COMPOSER_UPGRADE=1

值为 “1” 会自动升级该工具。

SWITCH_PROMPT_TO_NORMAL=0

此功能将 Ubuntu 版本更新为普通版本,即如果你运行着 LTS 发行版,zzupdate 将不会将其升级到 Ubuntu 17.10(如果其设置为 0)。它将仅搜索 LTS 版本。相比之下,无论你运行着 LTS 或者普通版,“1” 都将搜索最新版本。

完成后,你要做的就是在控制台中运行一个完整的 Ubuntu 系统更新。

sudo zzupdate

最后的话

尽管 Ubuntu 的升级过程本身就很简单,但是 zzupdate 将它简化为一个命令。不需要编码知识,这个过程完全是配置文件驱动。我个人发现这是一个很好的更新几个 Ubuntu 系统的工具,而无需单独关心不同的事情。

你愿意试试吗?


via: https://itsfoss.com/zzupdate-upgrade-ubuntu/

作者:Ambarish Kumar 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

我们一直都在翘首以盼 —— 新的 Ubuntu 的 LTS 版本 —— 18.04。了解有关新功能,发行日期以及更多信息。

关于 Ubuntu 18.04 的基本信息

让我们以一些基本信息开始。

  • 这是一个新的 LTS(长期支持)版本。所以对桌面版和服务器版有 5 年的支持。
  • 被命名为 “Bionic Beaver”(仿生河狸)。Canonical 的创始人 Mark Shuttleworth 解释了这个名字背后的含义。吉祥物是一个河狸,因为它充满活力,勤劳,并且是一个很棒工程师 —— 这完美地描述了一个典型的 Ubuntu 用户,以及新的 Ubuntu 发行版本身。使用 “Bionic”(仿生)这个形容词是由于在 Ubuntu Core 上运行的机器人数量的增加。

Ubuntu 18.04 发行日期和日程

如果你是 Ubuntu 的新手,你可能并不熟悉实际的版本号意味着什么。它指的是官方发行的年份和月份。所以 Ubuntu 18.04 正式发布将在 2018 年的第 4 个月。Ubuntu 17.10 于 2017 年发布,也就是今年的第 10 个月。

对进一步的细节,这里是有关 Ubuntu 18.04 LTS 的重要日期和需要知道的:

  • 2017 年 11 月 30 日 - 功能定义冻结。
  • 2018 年 1 月 4 日 - 第一个 Alpha 版本。所以,如果您选择接收新的 Alpha 版本,那么您将在这天获得 Alpha 1 更新。
  • 2018 年 2 月 1 日 - 第二个 Alpha 版本。
  • 2018 年 3 月 1 日 - 功能冻结。将不会引入或发布新功能。所以开发团队只会在改进现有功能和修复错误上努力。当然也有例外。如果您不是开发人员或有经验的用户,但仍想尝试新的 Ubuntu ASAP,那么我个人建议从此版本开始。
  • 2018 年 3 月 8 日 - 第一个 Bata 版本。如果您选择接收 Bata 版更新,则会在当天得到更新。
  • 2018 年 3 月 22 日 - 用户界面冻结。这意味着不会对实际的用户界面做进一步的更改或更新,因此,如果您编写文档,教程,并使用屏幕截图,那时开始是可靠的。
  • 2018 年 3 月 29 日 - 文档字符串冻结。将不会有任何编辑或新的东西(字符串)添加到文档中,所以翻译者可以开始翻译文档。
  • 2018 年 4 月 5 日 - 最终 Beta 版本。这也是开始使用新版本的好日子。
  • 2018 年 4 月 19 日 - 最终冻结。现在一切都已经完成了。版本的图像被创建和分发,并且可能不会有任何更改。
  • 2018 年 4 月 26 日 - 官方最终版本的 Ubuntu 18.04。每个人都可以从这一天开始使用它,即使在生产服务器上。我们建议从 Vultr 获得 Ubuntu 18.04 服务器并测试新功能。Vultr 的服务器每月起价为 2.5 美元。(LCTT 译注:这是原文广告!)

Ubuntu 18.04 的新功能

在 Ubuntu 18.04 LTS 上的所有新功能:

现已支持彩色表情符号

在以前的版本中,Ubuntu 只支持单色(黑和白)表情符号,坦白地说,它看起来不是太好。Ubuntu 18.04 将使用Noto Color Emoji font 来支持彩色表情符号。随着 18.04,你可以在任何地方轻松查看和添加颜色表情符号。它们是原生支持的 —— 所以你可以使用它们,而不用使用第三方应用程序或安装/配置任何额外的东西。你可以随时通过删除该字体来禁用彩色表情符号。

GNOME 桌面环境

ubuntu 17.10 gnome

Ubuntu 从 Ubuntu 17.10 开始使用 GNOME 桌面环境,而不是默认的 Unity 环境。Ubuntu 18.04 将继续使用 GNOME。这是 Ubuntu 的一个重要的变化。

Ubuntu 18.04 桌面将有一个新的默认主题

Ubuntu 18.04 正在用新的 GTK 主题以告别旧的默认主题 “Ambience”。如果你想帮助新的主题,看看一些截图甚至更多,去这里

到目前为止,有人猜测 Suru 将成 为 Ubuntu 18.04 的新默认图标主题。这里有一个截图:

suru icon theme ubuntu 18.04

值得注意的是:Ubuntu 16.10,17.04 和 17.10 中的所有新功能都将滚动到 Ubuntu 18.04 中,这些更新,如右边的窗口按钮、更好的登录屏幕,改进的蓝牙支持等将推送到 Ubuntu 18.04。对此我们不会特别说明,因为它对 Ubuntu 18.04 本身并不新鲜。如果您想了解更多关于从 16.04 到 18.04 的所有变化,请谷歌搜索它们之间的每个版本。

下载 Ubuntu 18.04

首先,如果你已经使用 Ubuntu,你可以升级到 Ubuntu 18.04。

如果你需要下载 Ubuntu 18.04:

在最终发布之后,请进入官方 Ubuntu 下载页面

对于每日构建(alpha,beta 和 non-final 版本),请转到这里

常见问题解答

现在是一些经常被问到的问题(附带答案),这应该能给你关于这一切的更多信息。

什么时候切换到 Ubuntu 18.04 是安全的?

当然是在正式的最终发布日期。但是,如果您等不及,请开始使用 2018 年 3 月 1 日的桌面版本,并在 2018 年 4 月 5 日开始测试服务器版本。但是为了确保安全,您需要等待最终发布,甚至更长时间,使得您正在使用的第三方服务和应用程序经过测试,并在新版本上进行良好运行。

如何将我的服务器升级到 Ubuntu 18.04?

这个过程相当简单,但潜在风险很大。我们可能会在不久的将来发布一个教程,但你基本上需要使用 do-release-upgrade。同样,升级你的服务器也有潜在的风险,并且如果在生产服务器上,我会在升级之前再三考虑。特别是如果你在 16.04 上还剩有几年的支持。

我怎样才能帮助 Ubuntu 18.04?

即使您不是一个经验丰富的开发人员和 Ubuntu 用户,您仍然可以通过以下方式提供帮助:

  • 宣传它。让人们了解 Ubuntu 18.04。在社交媒体上的一个简单的分享也有点帮助。
  • 使用和测试版本。开始使用该版本并进行测试。同样,您不必是一个开发人员。您仍然可以查找和报告错误,或发送反馈。
  • 翻译。加入翻译团队,开始翻译文档或应用程序。
  • 帮助别人。加入一些在线 Ubuntu 社区,并帮助其他人解决他们对 Ubuntu 18.04 的问题。有时候人们需要帮助,一些简单的事如“我在哪里可以下载 Ubuntu?”

Ubuntu 18.04 对其他发行版如 Lubuntu 意味着什么?

所有基于 Ubuntu 的发行版都将具有相似的新功能和类似的发行计划。你需要检查你的发行版的官方网站来获取更多信息。

Ubuntu 18.04 是一个 LTS 版本吗?

是的,Ubuntu 18.04 是一个 LTS(长期支持)版本,所以你将得到 5 年的支持。

我能从 Windows/OS X 切换到 Ubuntu 18.04 吗?

当然可以!你很可能也会体验到性能的提升。从不同的操作系统切换到 Ubuntu 相当简单,有相当多的相关教程。你甚至可以设置一个双引导,来使用多个操作系统,所以 Windows 和 Ubuntu 18.04 你都可以使用。

我可以尝试 Ubuntu 18.04 而不安装它吗?

当然。你可以使用像 VirtualBox 这样的东西来创建一个“虚拟桌面” —— 你可以在你的本地机器上安装它,并且使用 Ubuntu 18.04 而不需要真正地安装 Ubuntu。

或者你可以在 Vultr 上以每月 2.5 美元的价格尝试 Ubuntu 18.04 服务器。如果你使用一些免费账户(free credits),那么它本质上是免费的。(LCTT 译注:广告!)

为什么我找不到 Ubuntu 18.04 的 32 位版本?

因为没有 32 位版本。Ubuntu 的 17.10 版本便放弃了 32 位版本。如果你使用的是旧硬件,那么最好使用不同的轻量级 Linux 发行版而不是 Ubuntu 18.04。

还有其他问题吗?

在下面留言!分享您的想法,我们会非常激动,并且一旦有新信息发布,我们就会更新这篇文章。敬请期待,耐心等待!


via: https://thishosting.rocks/ubuntu-18-04-new-features-release-date/

作者:<thishosting.rocks> 译者:kimii 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Mark Shuttleworth

Mark Shuttleworth 是 Ubuntu 的创始人

Ubuntu 之前在 4 月份宣布决定放弃 Unity 让包括我在内的所有人都大感意外。

现在,Ubuntu 的创始人 Mark Shuttleworth 分享了关于 Ubuntu 为什么会选择放弃 Unity 的更多细节。

答案可能会出乎意料……

或许不会,因为答案也在情理之中。

为什么 Ubuntu 放弃 Unity?

上周(10 月 20 日)Ubuntu 17.10 已经发布,这是自 2011 年引入 Unity 以来,Ubuntu 第一次没有带 Unity 桌面发布。

当然,主流媒体对 Unity 的未来感到好奇,因此 Mark Shuttleworth 向 eWeek 详细介绍了他决定在 Ubuntu 路线图中抛弃 Unity 的原因。

简而言之就是他把驱逐 Unity 作为节约成本的一部分,旨在使 Canonical 走上 IPO 的道路。

是的,投资者来了。

但是完整采访提供了更多关于这个决定的更多内容,并且披露了放弃曾经悉心培养的桌面对他而言是多么艰难。

“Ubuntu 已经进入主流”

Mark Shuttleworth 和 Sean Michael Kerner 的谈话,首先提醒了我们 Ubuntu 有多么伟大:

“Ubuntu 的美妙之处在于,我们创造了一个对终端用户免费,并围绕其提供商业服务的平台,在这个梦想中,我们可以用各种不同的方式定义未来。

我们确实已经看到,Ubuntu 在很多领域已经进入了主流。”

但是受欢迎并不意味着盈利,Mark 指出:

“我们现在所做的一些事情很明显在商业上是不可能永远持续的,而另外一些事情无疑商业上是可持续发展的,或者已经在商业上可持续。

只要我们还是一个纯粹的私人公司,我们就有完全的自由裁量权来决定是否支持那些商业上不可持续的事情。”

Shuttleworth 说,他和 Canonical 的其他“领导”通过协商一致认为,他们应该让公司走上成为上市公司的道路。

为了吸引潜在的投资者,公司必须把重点放在盈利领域 —— 而 Unity、Ubuntu 电话、Unity 8 以及 融合 convergence 不属于这个部分:

“[这个决定]意味着我们不能让我们的名册中拥有那些根本没有商业前景实际上却非常重大的项目。

这并不意味着我们会考虑改变 Ubuntu 的条款,因为它是我们所做的一切的基础。而且实际上,我们也没有必要。”

“Ubuntu 本身现在完全可持续发展”

钱可能意味着 Unity 的消亡,但会让更广泛的 Ubuntu 项目健康发展。正如 Shuttleworth 解释说的:

“我最为自豪的事情之一就是在过去的 7 年中,Ubuntu 本身变得完全可持续发展。即使明天我被车撞倒,而 Ubuntu 也可以继续发展下去。

这很神奇吧?对吧?这是一个世界级的企业平台,它不仅完全免费,而且是可持续的。

这主要要感谢 Jane Silber。” (LCTT 译注:Canonical 公司的 CEO)

虽然桌面用户都会关注桌面,但比起我们期待的每 6 个月发布的版本,对 Canonical 公司的关注显然要多得多。

失去 Unity 对桌面用户可能是一个沉重打击,但它有助于平衡公司的其他部分:

“除此之外,我们在企业中还有巨大的可能性,比如在真正定义云基础设施是如何构建的方面,云应用程序是如何操作的等等。而且,在物联网中,看看下一波的可能性,那些创新者们正在基于物联网创造的东西。

所有这些都足以让我们在这方面进行 IPO。”

然而,对于 Mark 来说,放弃 Unity 并不容易,

“我们在 Unity 上做了很多工作,我真的很喜欢它。

我认为 Unity 8 工程非常棒,而且如何将这些不同形式的要素结合在一起的深层理念是非常迷人的。”

“但是,如果我们要走上 IPO 的道路,我不能再为将它留在 Canonical 来争论了。

在某个阶段你们应该会看到,我想我们很快就会宣布,没有 Unity, 我们实际上已经几乎打破了我们在商业上所做的所有事情。”

在这之后不久,他说公司可能会进行第一轮用于增长的投资,以此作为转变为正式上市公司前的过渡。

但 Mark 并不想让任何人认为投资者会 “毁了派对”:

“我们还没沦落到需要根据风投的指示来行动的地步。我们清楚地看到了我们的客户喜欢什么,我们已经找到了适用于云和物联网的很好的市场着力点和产品。”

Mark 补充到,Canonical 公司的团队对这个决定 “无疑很兴奋”。

“在情感上,我不想再经历这样的过程。我对 Unity 做了一些误判。我曾天真的认为业界会支持一个独立自由平台的想法。

但我也不后悔做过这件事。很多人会抱怨他们的选择,而不去创造其他选择。

事实证明,这需要一点勇气以及相当多的钱去尝试和创造这些选择。”

OMG! IPO? NO!

在对 Canonical(可能)成为一家上市公司的观念进行争辩之前,我们要记住,RedHat 已经是一家 20 年之久的上市公司了。GNOME 桌面和 Fedora 在没有任何 “赚钱” 措施的干预下也都活得很不错。

Canonical 的 IPO 不太可能对 Ubuntu 产生突然的引人注目的的改变,因为就像 Shuttleworth 自己所说的那样,这是其它所有东西得以成立的基础。

Ubuntu 是已被认可的。这是云上的头号操作系统。它是世界上最受欢迎的 Linux 发行版(除了 Distrowatch 排名)。并且它似乎在物联网上也有巨大的应用前景。

Mark 说 Ubuntu 现在是完全可持续发展的。

随着一个迎接 Ubuntu 17.10 到来的热烈招待会,以及一个新的 LTS 将要发布,事情看起来相当不错……


via: http://www.omgubuntu.co.uk/2017/10/why-did-ubuntu-drop-unity-mark-shuttleworth-explains

作者:JOEY SNEDDON 译者:Snapcraftergeekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Ubuntu 母公司 Canonical 的 CEO, Mark Shuttleworth 刚刚披露,Ubuntu 操作系统的下一个长期支持版本(LTS)的代号定为 “Bionic Beaver”,意即“仿生河狸”,。它将于明年的 4 月发布。

按照 Ubuntu 系列的命名传统,Mark Shuttleworth 今天写的一篇博文对 Ubuntu 17.10(AA)“巧豚”的发布表示祝贺,并宣布了下一个版本的代号:

“为纪念这一孜孜不倦的辛劳,这次我们的吉祥物是一个以其精力充沛的态度、勤劳的天性和工程能力而闻名的哺乳动物。同时,我们给它赋予 21 世纪的新精神,以纪念永不停息的 Ubuntu Core 机器人们。女士们、先生们,让我们欢迎 18.04 LTS —— 仿生河狸。”

Ubuntu 18.04 LTS 将发布于 2018 年 4 月

虽然 Mark 并没有实际披露 Ubuntu 18.04 LTS 的计划,但是由于事实上他们将把更多的工作放在面向物联网设备的 Ubuntu Snappy Core 系统上,因此看起来其发布周期将会定在 2018 年 4 月 26 日。

Ubuntu 18.04 LTS 的开发工作会在两天后开始,当工具链上传到归档时, Ubuntu 18.04 LTS (BB)会和其前代一样,在六个月内发布两个 Alpha 和两个 Beta 版本之后正式发布。

据其发布计划,其第一个 Alpha 里程碑将在 2018 年 1 月 4 号发布,第二个在 2 月 1 日——但只有部分风味版本会发布 Alpha 版本,并且这些风味版会在 3 月 8 日发布第一个 Beta 版本,而发布前的最后一个 Beta 版本将于 2018 年 4 月 5 日发布。

今天,Canonical 公司发布了 Ubuntu 17.10,这个版本不是 LTS 版本,因此其支持期只有 9 个月,支持到 2018 年 7 月。

Ubuntu 17.10 的代号是 Artful Aardvark (巧豚)。正如大家知道的,Ubuntu 发行版的代号是由两个单词组成的,分别是一个形容词和一个濒危动物名。从第四个版本开始,就按照字母顺序,从 D 开始逐个使用。这是 Ubnutu 发布了 26 个主版本以来,唯二剩下没用过的字母(另外一个是 C,最开始的三个版本没有按字母顺序来,分别是 W、H、B)。

Artful Aardvark (巧豚)

重大变化

这次的 Ubuntu 17.10 虽然不是重要的 LTS 版本,连 Ubuntu 官网的介绍中都将其视作是明年的 Ubuntu 18.04 LTS 的前奏,但是这个版本其实还是有几个处女式创新:

  • 这是第一个放弃 32 位支持的主版本,不过 17.10 的官方风味版本还会继续支持 32 位。
  • 这是七年来 Ubuntu 主版本第一次放弃 Unity 用户界面,改投 GNOME 怀抱,目前采用的是最新的 GNOME 3.26.1。
  • 这是第一次默认使用 Wayland 显示服务器,而 X.Org 显示服务器则是可选的。当然如果你的机器不支持 Wayland ,会自动回退到 X.Org。
  • 默认不再安装 Python 2,Python 3 更新到了 3.6。

我们可以先看一下官方的宣传视频:

新的变化

除了上述重大改变之外,Ubuntu 17.10 还有这些新改变:

桌面版

  • 新的由 GNOME 带来的 Caribou 屏幕键盘替代了原来的 Onboard,铺平了将来的触摸屏体验之路。
  • 相同的用户体验。虽然更换了 GNOME,但是从桌面布局到键盘快捷键均保持了一致,这要感谢那些主题和扩展。
  • 熟悉的 dock。从 11.04 开始,dock 就是 Ubuntu 发行版的特色,在这个版本中,它还继续在那里,不增不减——不过现在它可以随意移动到左边、右边和底部。
  • Ubuntu 17.10 使用 Linux kernel 4.13。
  • 交换分区现在改成了交换文件,这便于你随时根据系统需求伸缩,也可以很方便的安装到各种机器上。
  • 由于默认使用 GNOME 桌面系统,GDM 也替换 LightDM 成为了默认的显示管理器。并且现在登录屏使用 1 号虚拟终端,而不是之前的 7 号虚拟终端。
  • 七年来,窗口控制按钮首次从左边回到了右边。
  • 免驱动打印现在支持 IPP EverywhereApple AirPrintWi-Fi DirectMopria 设备。
  • “设置”应用重新进行了设计。
  • “系统日志” 被替换为“日志”,这是来自 systemd journal 的日志查看器。
  • 官方风味版的 Ubuntu GNOME 停止更新,因为现在 Ubuntu 使用的就是 GNOME 。
  • 但是如果你想试试更上游的 GNOME,你可以安装 gnome-session,并从登录屏幕选择 GNOME 。如果你喜欢的话,也可以安装 vanilla-gnome-desktop 基础包来获得更多的 GNOME 核心应用。

服务器版

  • qemu 从 2.8 更新到了 2.10。需要注意的是,默认增加并启用了镜像锁定功能,一般来说它会更安全,但是在有些旧场景下会有问题。
  • libvirt 更新到了 3.6。
  • DPDK 更新到了最新的稳定版本 17.05.2,这使得它可以与 Open vSwitch 2.8 集成。Open vSwitch 更新到了 2.8,需要注意是的,从 2.7 开始,你就需要通过 dpdk-devargs 指定 dpdk 设备了。
  • DNS 服务器 Bind9 更新包括了 2017 年 7 月 11 日新发布的 密钥签名密钥 Key Signing Key (KSK),从 2017 年 10 月 11 日开始,该密钥将用于签名根区密钥,根区密钥用于签名实际的根区。已运行的 Bind 9 会根据 RFC 5011 自动更新其锚点密钥,而 2017 年 10 月 11 日回滚事件之后新安装的 Bind 9 将需要这个包或手动更新密钥。

更多变化,可以参考发行公告

下载

从 17.04 升级

如果你希望使用长期支持版本,建议你安装 Ubuntu 16.04 LTS。如果你在使用 Ubuntu 17.04,你可以按以下方式升级到最新版本。

桌面系统升级:

  • 在系统设置中打开“软件与更新”。
  • 选择“更新”选项卡。
  • 设置下拉菜单“有新的 Ubuntu 版本时提醒我”为“任何新版本”。
  • 按下 Alt+F2快捷键,并在命令行窗口输入 update-manager -c
  • 更新管理器将打开并提示你“新的发行版 17.10 已经可用”。如果不工作,你可以运行 /usr/lib/ubuntu-release-upgrader/check-new-release-gtk
  • 点击“升级”并按屏幕提示进行。

服务器系统升级:

  • 如果没有安装的话,请先安装 update-manager-core 软件包。
  • 确保 /etc/update-manager/release-upgrades 中的 Prompt 设置为 normal
  • 在命令行运行 sudo do-release-upgrade 启动升级管理器。
  • 按屏幕提示进行。

1、概述

现在能够在 Windows 10 和 Windows 服务器上运行 Docker 容器了,它是以 Ubuntu 作为宿主基础的。

想象一下,使用你喜欢的 Linux 发行版——比如 Ubuntu——在 Windows 上运行你自己的 Linux 应用。

现在,借助 Docker 技术和 Windows 上的 Hyper-V 虚拟化的力量,这一切成为了可能。

2、前置需求

你需要一个 8GB 内存的 64 位 x86 PC,运行 Windows 10 或 Windows Server。

只有加入了 Windows 预览体验计划(Insider),才能运行带有 Hyper-V 支持的 Linux 容器。该计划可以让你测试预发布软件和即将发布的 Windows。

如果你特别在意稳定性和隐私(Windows 预览体验计划允许微软收集使用信息),你可以考虑等待 2017 年 10 月发布的Windows 10 Fall Creator update,这个版本可以让你无需 Windows 预览体验身份即可使用带有 Hyper-V 支持的 Docker 技术。

你也需要最新版本的 Docker,它可以从 http://dockerproject.org 下载得到。

最后,你还需要确认你安装了 XZ 工具,解压 Ubuntu 宿主容器镜像时需要它。

3、加入 Windows 预览体验计划(Insider)

如果你已经是 Windows 预览体验计划(Insider)成员,你可以跳过此步。否则在浏览器中打开如下链接:

https://insider.windows.com/zh-cn/getting-started/

要注册该计划,使用你在 Windows 10 中的微软个人账户登录,并在预览体验计划首页点击“注册”,接受条款并完成注册。

然后你需要打开 Windows 开始菜单中的“更新和安全”菜单,并在菜单左侧选择“Windows 预览体验计划”。

如果需要的话,在 Windows 提示“你的 Windows 预览体验计划账户需要关注”时,点击“修复”按钮。

4、 Windows 预览体验(Insider)的内容

从 Windows 预览体验计划面板,选择“开始使用”。如果你的微软账户没有关联到你的 Windows 10 系统,当提示时使用你要关联的账户进行登录。

然后你可以选择你希望从 Windows 预览体验计划中收到何种内容。要得到 Docker 技术所需要的 Hyper-V 隔离功能,你需要加入“快圈”,两次确认后,重启 Windows。重启后,你需要等待你的机器安装各种更新后才能进行下一步。

5、安装 Docker for Windows

Docker Store 下载 Docker for Windows。

下载完成后,安装,并在需要时重启。

重启后,Docker 就已经启动了。Docker 要求启用 Hyper-V 功能,因此它会提示你启用并重启。点击“OK”来为 Docker 启用它并重启系统。

6、下载 Ubuntu 容器镜像

Canonical 合作伙伴镜像网站下载用于 Windows 的最新的 Ubuntu 容器镜像。

下载后,使用 XZ 工具解压:

C:\Users\mathi\> .\xz.exe -d xenial-container-hyper-v.vhdx.xz
C:\Users\mathi\>

7、准备容器环境

首先创建两个目录:

创建 C:\lcow它将用于 Docker 准备容器时的临时空间。

再创建一个 C:\Program Files\Linux Containers ,这是存放 Ubuntu 容器镜像的地方。

你需要给这个目录额外的权限以允许 Docker 在其中使用镜像。在管理员权限的 Powershell 窗口中运行如下 Powershell 脚本:

param(
[string] $Root
)
# Give the virtual machines group full control
$acl = Get-Acl -Path $Root
$vmGroupRule = new-object System.Security.AccessControl.FileSystemAccessRule("NT VIRTUAL MACHINE\Virtual Machines", "FullControl","ContainerInherit,ObjectInherit", "None", "Allow")
$acl.SetAccessRule($vmGroupRule)
Set-Acl -AclObject $acl -Path $Root

将其保存为set_perms.ps1并运行它。

提示,你也许需要运行 Set-ExecutionPolicy -Scope process unrestricted 来允许运行未签名的 Powershell 脚本。

C:\Users\mathi\> .\set_perms.ps1 "C:\Program Files\Linux Containers"
C:\Users\mathi\>

现在,将上一步解压得到的 Ubuntu 容器镜像(.vhdx)复制到 C:\Program Files\Linux Containers 下的 uvm.vhdx

8、更多的 Docker 准备工作

Docker for Windows 要求一些预发布的功能才能与 Hyper-V 隔离相配合工作。这些功能在之前的 Docker CE 版本中还不可用,这些所需的文件可以从 master.dockerproject.org 下载。

master.dockerproject.org 下载 dockerd.exedocker.exe,并将其放到安全的地方,比如你自己的文件夹中。它们用于在下一步中启动 Ubuntu 容器。

9、 在 Hyper-V 上运行 Ubuntu 容器

你现在已经准备好启动你的容器了。首先以管理员身份打开命令行(cmd.exe),然后以正确的环境变量启动 dockerd.exe

C:\Users\mathi\> set LCOW_SUPPORTED=1
C:\Users\mathi\> .\dockerd.exe -D --data-root C:\lcow

然后,以管理员身份启动 Powershell 窗口,并运行 docker.exe 为你的容器拉取镜像:

C:\Users\mathi\> .\docker.exe pull ubuntu

现在你终于启动了容器,再次运行 docker.exe,让它运行这个新镜像:

C:\Users\mathi\> .\docker.exe run -it ubuntu

恭喜你!你已经成功地在 Windows 上让你的系统运行了带有 Hyper-V 隔离的容器,并且跑的是你非常喜欢的 Ubuntu 容器。

10、获取帮助

如果你需要一些 Hyper-V Ubuntu 容器的起步指导,或者你遇到一些问题,你可以在这里寻求帮助: