使用 Suse Studio:在线虚拟设备创建实践。

作者:Ross Larson

制作自定义 Linux 发行版可能是一项艰巨的任务。幸运的是,有些公司正在努力使这个过程更加友好。之前,我评测了 Reconstructor Web UI,这是一个基于 Web 的 Debian/Ubuntu 自定义实用程序,今天,我想向您介绍一个基于 SUSE 的替代方案,名为 SUSE Studio。虽然 SUSE Studio 确实有一些离线组件(例如 SUSE Studio OnsiteSUSE Appliance Toolkit 的其余部分),但本次评测将重点关注 susestudio.com 上免费提供的在线组件。对于那些在家中跟随学习的人,我假设您已经拥有 SUSE Studio 帐户(如果没有,您可以通过此页面 申请免费邀请)。

简要历史:Suse Studio 于 2009 年 7 月 发布,并提供各种基于 Web 的自定义 Linux 构建选项。它使用 Kiwi 来构建和自定义虚拟设备。SUSE Studio 也有自己的吉祥物,名为 Dister

dister-mechanic.png

SUSE Studio 的潜在用途包括

  • 您可以制作自己的便携式作品集 Live-DVD,其中包含正在运行的代码示例或其他作品。
  • 专门构建的操作系统安装,例如信息亭、教育光盘或通过 Web 浏览器而不是在实际机器上构建的开发平台。
  • 构建虚拟机以在更大规模部署之前编译和测试软件。

老实说,可能性仅受您的想象力和您愿意投入的时间限制。

构建虚拟设备

我将引导您完成示例虚拟机的构建过程,向您展示该服务的一些功能。我将包含一些屏幕截图和一个视频来帮助您跟进。

登录

screenshot43.png

一旦您拥有 SUSE Studio 帐户,您可以将其链接到您可能已经拥有的各种不同 ID,例如 GmailOpenID。例如,如果我在一个标签页中阅读我的 Gmail 并单击 Google 登录图标,它会自动使用我的 Google 身份登录我。

主页/启动新设备

screenshot34.png

登录后,您将可以访问您的主页,您之前的所有虚拟设备都可以在其中访问。您将被分配 15 GB 的可用空间来存储您的虚拟设备,但如果您的设备超过七天,则可能会被删除以为服务器腾出空间。旧项目仍然存在,并且可以随时重建。右上角有“创建新设备”图标。单击它以启动新设备。

选择模板

screenshot35.png

在启动设备时,您可以从 OpenSUSE 11.2 和 SUSE Linux Enterprise 10/11 等模板中进行选择。环境可以从非常小的 JeOS(发音为“Juice”)设备到功能齐全的桌面不等。您最初的桌面环境选择是 GNOME、KDE3/4 和 IceWM。对于此设备,我选择了 OpenSUSE 11.2 GNOME 模板。如果这些选择对您没有吸引力,请单击屏幕底部附近的“其他模板...”链接。

其他模板

screenshot60.png

其他模板包括预配置的 IngresLAMP 服务器,以及最新版本的 KDE4 和 GNOME。知道它们在那里很好,但我认为它们对于此构建不是必需的。

为您的作品命名!

screenshot36.png

在这里,我们看到吉祥物 Dister 告诉我们为我们的设备命名。我将把这个设备称为 LinuxJournal-nix。您可以稍后更改此名称,因此不要花所有时间在这个屏幕上思考一个令人难忘的名称。

选择您的软件

screenshot38.png

“软件”选项卡是您配置设备的大部分内容的地方。您可以在这里选择其他存储库、选择软件包、搜索特定软件包或添加模式(软件包组)。您还可以上传自己的软件包和存储库。让我们首先看看存储库选项。

存储库浏览

screenshot40.png

OpenSUSE 有大量的其他可用存储库。基于 SUSE Enterprise Linux 的设备在这里没有相同的存储库选项。

存储库搜索

screenshot44.png

有如此多的存储库可供选择,我很高兴他们在此处包含了搜索选项。我选择搜索 Dropbox,因为我非常喜欢使用他们的服务。此搜索功能的一个烦恼:它不列出版本号,这在我寻找 3.5.0 或更高版本的 eclipse-jdt 时令人沮丧,因为默认的 eclipse-jdt 是 3.4-256.1。

软件搜索

screenshot39.png

SUSE Studio 为您提供了几种不同的方法来浏览您选择的存储库中的所有软件包。您可以通过存储库、软件模式、组或使用提供的搜索字段来缩小结果范围。请记住,如果您选择的存储库找不到匹配项,那并不意味着您未选择的其他存储库中不会有匹配项。如果发生这种情况,请参阅上一个屏幕截图中显示的“存储库搜索”。

软件信息

screenshot45.png

单击软件包或组将为您提供有关它的更多信息。一个不错的功能是它还会告诉您与选择一起使用的建议和推荐软件包,并提供一个小的“全部添加”按钮,如果您希望也添加相关的可选软件包。我选择了一些游戏和应用程序,LinuxJournal-nix 开始成型了!

配置 - 常规

screenshot63.png

在这里,您可以轻松配置您的网络、防火墙、时区、语言环境以及用户/组。我将自己更改为中部时区,因为我是威斯康星州人。用户配置可以在这里完成,包括在需要时分配 /bin/false shell。

个性化您的设备

screenshot46.png

个性化是您可以为您的设备增添一点独特风格的地方。此艺术作品会在启动和登录过程中显示。您可以在此处轻松上传自己的内容。上面显示了默认配置,下面的屏幕截图显示了具有 Linux Journal 徽标和我创建的背景(并发布在 kde-look.org 一段时间前)的相同虚拟设备。

screenshot47.png

如果您正在进行公司或组织特定的构建,这是一种在构建中插入公司特定品牌形象的简便方法。请记住,此自定义不会影响用户壁纸。

设备概览

screenshot52.png

现在似乎是提及屏幕左侧部分存储有关系统的一些基本信息的最佳时机。它指示构建类型、大小以及可能发生的最近更改。如果您的虚拟设备中存在任何冲突或错误,它们将在此处显示。现在,继续配置...

桌面配置

screenshot49.png

我已经跳过了“启动”和“服务器”选项卡,因为我不需要更改默认运行级别或制作/修改 EULA(在“启动”选项卡中完成)或配置 MySQL 或 PostgreSQL(在“服务器”选项卡中找到)。由于我计划制作 Live DVD,因此我将配置设备以 tux 默认用户自动登录。我也可以在此选项卡中配置程序以自动启动。

虚拟机参数

screenshot50.png

“设备”选项卡允许您将设备配置为特定用途,例如 Xen 或 VMWare/VirtualBox。由于我打算制作 Live DVD,因此我在此处唯一选中的选项是将安装程序添加到 Live 光盘,以防我想安装它。

自定义脚本

screenshot51.png

如果我愿意,我可以在此设备上在设备构建结束时或每次启动时运行自定义脚本。我不打算在我的设备中使用此功能,但很高兴知道它在那里。

覆盖文件

screenshot54.png

配置设备后,“覆盖文件”选项卡允许您在系统的任何位置添加文件,并具有您想要的任何权限或所有权。它还接受存档文件,并可以提取它们,保留权限。如果您计划添加大量文件,我建议走存档路线。我只是添加了一个额外的壁纸,所以对我来说这不是什么大不了的事。

构建时间!

screenshot55.png

我们终于到达了构建阶段。如您所见,可用的构建格式非常多样。目前,您可以创建 Live CD 和 DVD、硬盘驱动器映像和虚拟机映像。当前的虚拟机构建格式为 VMWare/VirtualBox (.VMX) 和 Xen。SUSE Studio 目前正在开发 OVF (yay!) 和 Hyper-V (meh..) 格式。决定您的默认格式,并检查您可能构建的任何其他格式。

构建状态

screenshot56.png

单击“构建”按钮后,SUSE Studio 将向您显示一个进度指示器,指示构建所需的时间以及构建过程。如果您愿意,您可以关闭构建窗口,构建过程将在没有您的干预下继续进行。如果/当设备完成创建过程时,它将在您的主窗口中指示其状态。如果您愿意,这允许您运行并发构建。如果存在任何错误,它将指示已发生的错误的描述,并且还可能建议解决方案。LinuxJournal-nix 构建过程运行顺利,没有任何问题。

访问您的构建

screenshot62.png

这是一个已完成构建的一些示例视图。如果您单击底部的“查看校验和”链接,它将向您显示所有 MD5 校验和,以便您可以验证您的下载是否未损坏。

查看文件

screenshot58.png

如果您单击“构建”下的“查看文件”链接,它将打开一个新标签页并向您显示设备中所有文件的交互式视图。此视图也是可搜索的。请注意,我搜索了 Dropbox 以查看是否已安装。试用

dister-testdrive.png

SUSE Studio 的下一个功能称为 Testdrive。它是一个基于 Flash 的浏览器虚拟化实用程序。向您展示它的最佳方式是视频形式,请在此处查看 here

注意:如果您使用“修改的文件”功能并添加文件,它们将添加到“覆盖文件”部分,如果您以后想查看、更改或删除它们。

好了,就是这样!我们刚刚制作了 LinuxJournal-nix 0.0.1!

抱怨/烦恼

boom.png

我偶尔会遇到 Testdrive 和 OS 构建问题,但我不得不承认错误页面很可爱。当我联系支持时,他们反应迅速、友好且乐于助人。

非可选品牌展示位置

susestudio-branding.png

当您将图像添加到启动屏幕时,SUSE Studio 会在屏幕的右下角添加一个徽标。这不是可选的。如果我在那方面有更多选择会更好。

能够自定义启动画面和登录屏幕激起了我对更多自定义的渴望。当您上传启动屏幕的图像时,它也会自动成为登录屏幕。更多的灵活性会更好。

奇怪的是,我在测试驱动模式下更改桌面背景时遇到问题,并且没有在网站上看到容易访问的选项。

此外,我在非传统设备方面遇到问题。当我尝试配置最小的 X IceWM 设备时,自动登录不起作用,尽管它在 GNOME 中可以正常工作。

似乎没有与多个不同的人协作处理设备的方法。

尽管构建具有版本历史记录,但没有用于解释不同版本差异的更改日志功能。从技术上讲,您可以创建一个文本文件并将其插入到设备本身中,但它不如网站上可单击的文本字段那样容易访问。我希望创建文档是直接的,而不是晦涩难懂的。((编辑:自撰写本文以来,他们已实施“做笔记”功能,允许您保留版本历史记录。在 Suse Studio 博客 上阅读更多相关信息))

我过去在使用 Google Chrome 浏览器访问该网站时遇到问题。我不再有这些问题,所以我认为他们已经修复了存在的任何问题。

老实说,我希望重新制作实用程序在不同发行版中能够更好地工作。我不想在自定义时被 SUSE、Fedora 或 Ubuntu 卡住。我想要所有这些。至少,我希望所有具有相同软件包管理样式的发行版都在一个工具中(例如:CentOS、OpenSUSE 和 Fedora;Debian、Ubuntu 和 Mint)。时间会证明这是否有可能实现。

自 2009 年 5 月的 alpha 测试阶段以来,我一直在使用 SUSE Studio,尽管偶尔会感到沮丧,但我对该项目的开发速度感到满意。他们目前也在 招聘,因此我们可以假设该项目将在可预见的未来继续发展。

screenshot29.png
结论

无论您喜欢哪种自定义服务,在构建之前都要了解每种服务的优势。我是 Ubuntu 的粉丝,但我真的很喜欢使用 SUSE Studio。随着时间的推移,这些自定义服务变得越来越容易使用,因此请关注所做的开发。此外,请随意利用可用的 FAQ屏幕录像/引导式教程HOWTO。SUSE Studio 团队在保持文档更新方面做得很好,他们应该为此受到赞扬。在线构建服务将鼓励更多自定义,社区将受益于授权其用户制作满足其需求的系统,无论这些系统是虚拟化的、安装的、作为 Live CD/DVD 运行的,还是推送到云端的。

加载 Disqus 评论