Goobuntu:谷歌的内部桌面系统

摘要:大多数Linux用户都知道Google用Linux作为它们的桌面和服务器端操作系统,有的人可能还知道Google选择的是定制的Ubuntu——Goobuntu,但在此之前几乎没有Google外部人员了解他们究竟是如何使用Ubuntu的,8月29日,Thomas Bushnell——Google Ubuntu定制团队的领导者——决定向大家揭开了这一谜题。

大多数Linux用户都知道Google用Linux作为桌面和服务器端操作系统,有的人可能还知道Google选择的是定制的Ubuntu——Goobuntu,但在此之前几乎没有Google外部人员了解他们究竟是如何使用Ubuntu的,8月29日,Thomas Bushnell——Google Ubuntu定制团队的领导者——决定向大家揭开了这一谜题。

Bushnell解释道:Goobuntu实际上只是Ubuntu加上简单的“皮肤”而已。确切地说,Google使用最新的Ubuntu长期支持版本(LTS),这也就是说,如果你下载并安装Ubuntu12.04.1就跟使用Goobuntu没什么两样。

Google之所以使用LTS版本是因为发行周期为两年的LTS版本比六个月一更新的普通Ubuntu要更适合工作。另外,Google也打算两年更新一边公司的硬件设施,这简直是完美的搭配!

为什么使用Ubuntu而不是Mac或者Windows呢?“使用Windows当然没问题!”Bushnell说道:“Googlers(Google员工)只是被推荐使用这些工具,如果你不喜欢Gmail,你完全可以使用pine代替,这毫无问题。并没有人强迫你使用Ubuntu。但我们推荐Goobuntu,因为我们所有的工具都是为Ubuntu创造的。”

Googlers想使用Windows必须通过申请,“因为Windows有特殊的安全问题,所以它需要更高的能力才能被批准使用。”另外,“Windows下的工具显得更庞大、更不灵活。”

为什么是Ubuntu而不是Fedora或者openSUSE?Bushnell表示:“我们选择Debian是因为包和apt1比RPM2要合适。”那为什么是Ubuntu而非其它Debian发行版?“因为它的的发行更有周期性,而且Canonical3提供了很好的支持。”

的确如此。Google不仅仅使用Ubuntu,还参与它的开发。Google是Canonical的付费用户,以此获得Canonical的Ubuntu高级支持程序。Chris Kenyon,Canonical的销售和商务开发VP,也出席了Bushnell的演讲并确认了这件事,同时强调:“Google并不是我们最大的商务桌面客户。”

那它的桌面本身又如何呢?每个人都必须使用Ubuntu饱受争议的新桌面系统——Unity?事实并非如此。

Bushnell表示:“Unity?讨厌它的人自然讨厌。我们员工使用的桌面多种多样:有的使用Gnome,有的是KDE,当然也少不了X-Window和X-Terms,有的人选择Unity是因为这让他们想起了Mac,有不少Mac拥护者转移到了Unity。”Goobuntu并没有默认桌面。

“几万Goobuntu用户包括图形设计师、工程师、管理员和销售人员,保证了这是一个非常丰富多彩的社区。有的人,比如Ken Thompson,参与过Unix开发,而有的人只会在计算机上点击应用。”

为了管理这些Goobuntu桌面,Google使用apt和Puppet桌面管理工具,这保证了Google桌面管理团队快速控制和管理PC的能力。这非常重要,因为“一次重启事件可能会给我们造成数百万美元的损失”

这也就是说,桌面问题,即使是Linux也会遇到。正如Bushnell所说,“空想不会成功,但大多数人都不希望遇到失败。只是期待计算机不要出问题总有一天会给你带来致命的问题。你的计算机不知道什么时候就彻底坏了,你需要做好失败的准备!

这就是Goobuntu的特别的理念。在Google的桌面上,“主动监控是至关重要的。在Google,我们有挑战性的需求,我们总是把工作站使用到极限,并且在极短的开发周期下完成交付。”

最重要的一点在于:Google对安全性能的要求非常严格,Bushnell是这么形容的:“Google的目标是每一个人都想入侵我们的系统(但都铩羽而归)!”所以,某些Ubuntu捆绑发布的应用就因为安全问题被剔除了,其中包括一些向外部服务器发送请求的程序。另外,Google在内部使用它特别的用户PC网络身份验证,“要把网络身份验证当作艺术来管理,我们可是安全领域的众矢之的。

总而言之,Google对于桌面操作系统的要求包括:顶级的安全性;高效的PC性能;以及既能面向杰出开发人员也能面向“电脑盲”一样的销售人员的桌面。这就是为什么Google选择Ubuntu作为它桌面操作系统第一选择的原因。最后引用一段Bushnell的话:“不用Linux,你真是傻子。”(You'd be a fool to use anything but Linux.)


  1. Debian的基本软件包工具 ↩
  2. Red Hat和SUSE的包管理系统 ↩
  3. Ubuntu的母公司 ↩

原文链接:ZDNet


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot 之 Hibernate自动建表(Mysql)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 引入Maven依赖包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-…

Spring全家桶面试真题

文章目录1. Spring Boot1.1 说说你对Spring Boot的理解1.2 Spring Boot Starter有什么用&#xff1f;1.3 介绍Spring Boot的启动流程1.4 Spring Boot项目是如何导入包的&#xff1f;1.5 请描述Spring Boot自动装配的过程1.6 说说你对Spring Boot注解的了解2. Spring2.1 请你说说…

WSDL测试webservice接口记录

收到一个事情&#xff0c;需要对接第三方API&#xff0c;对方给了个service&#xff0c;看了一下&#xff0c;原来是webservices的。 上一次测试webervice的接口&#xff0c;还是至少八九年前的时候了&#xff0c;这种相对比较老旧的也好久不在使用。 于是&#xff0c;简单搞了…

idea窗口下方滚动条不明显设置

在使用idea时&#xff0c;下方的滚动条老是显示不明显&#xff0c;每次点击拖拽都很费劲&#xff0c;在网上找了很多相关设置&#xff0c;最后确定了一个最好的办法解决问题&#xff1a; Shift &#xff08;上档&#xff09; 鼠标滚动&#xff0c;这样就可以横向翻滚了&#…

把握本质规律——《数学之美》作者吴军

无论是互联网&#xff0c;还是手机、电视&#xff0c;现代通信都遵循信息论的规律&#xff0c;整个信息论的基础都是数学。搜索引擎、语音识别、机器翻译也都是我们生活中离不开的技术&#xff0c;数学也是解决这些问题的最好工具。在《浪潮之巅》出版后&#xff0c;吴军将蕴含…

Hibernate4 注解方法说明

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.类级别注解 Entity 映射实体类 Table 映射数句库表 Entity(name"tableName") - 必须&#xff0c;注解将一个类声明…

消息队列常见面试题

文章目录2. 消息队列2.1 MQ有什么用&#xff1f;2.2 说一说生产者与消费者模式2.3 消息队列如何保证顺序消费&#xff1f;2.4 消息队列如何保证消息不丢&#xff1f;2.5 消息队列如何保证不重复消费&#xff1f;2.6 MQ处理消息失败了怎么办&#xff1f;2.7 请介绍消息队列推和拉…

Mybatis 详解--- 一级缓存、二级缓存

2019独角兽企业重金招聘Python工程师标准>>> Mybatis 为我们提供了一级缓存和二级缓存&#xff0c;可以通过下图来理解&#xff1a; ①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象&#xff0c;在对象中有一个数据结构&#xff08;Hash…

我的nabcd

我们组要做的软件是一款MP3播放软件&#xff0c;名字叫TDG音乐 N&#xff08;need需求&#xff09;&#xff0c;由于现在版权越来越被重视&#xff0c;许多播放软件里面的大部分歌曲都是收费的&#xff0c;不想花钱又想听可怎么办呢&#xff0c;只能在网上找免费资源&#xff0…

【C/C++和指针】深度解析---指针与数组 【精华】

一&#xff0c;引例子 二维数组可以使用指向数组的指针代替&#xff0c;而指针数组才可以用指向指针的指针代替。 [html] view plaincopy#include<iostream> using namespace std; void main() { char *a[]{"Hello","the","World&q…

Redis常见面试题详解

文章目录1. Redis1.1 Redis可以用来做什么&#xff1f;1.2 Redis和传统的关系型数据库有什么不同&#xff1f;1.3 Redis有哪些数据类型&#xff1f;1.4 Redis是单线程的&#xff0c;为什么还能这么快&#xff1f;1.5 Redis在持久化时fork出一个子进程&#xff0c;这时已经有两个…

IntelliJ 创建main函数、for循环、输出语句快捷键

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 今天偶然发现了IntelliJ中 创建main函数的快捷键&#xff0c;依次还有for循环&#xff0c;System.out.println(); 在编写代码的时候直接…

CentOS新增用户并授予sudo权限

2019独角兽企业重金招聘Python工程师标准>>> 新增用户 添加用户useradd demo设置用户密码passwd demo授予sudo权限 输入以下命令&#xff0c;编辑sudoers配置&#xff1a;visudo找到以下行root ALL(ALL) ALL增加以下内容&#xff1a;demo ALL(ALL) ALL保存后登录dem…

跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击

跨站脚本功攻击&#xff0c;xss&#xff0c;一个简单的例子让你知道什么是xss攻击 一、总结 一句话总结&#xff1a;比如用户留言功能&#xff0c;用户留言中写的是网页可执行代码&#xff0c;例如js代码&#xff0c;然后这段代码在可看到这段留言的不同一户的显示上就会执行。…

用业绩建立信任

当年从香港到美国&#xff0c;对于中学毕业的郭尊华来说&#xff0c;算是一个失败。他尽管家境普通&#xff0c;但因为成绩不佳进不了香港的大学&#xff0c;不得不远赴美国读书。在课余做过挖地、当侍者等多份工作的他&#xff0c;在大三的时候终于得到一份初级工程师的工作。…

idea 快捷键 小结

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。1.setting 打开快捷键&#xff1a;ctrl alt s 在 file - setting 中。 2.回到默认设置&#xff1a;删除如下路径的文件夹 C:\Users…

Jenkins常用插件

Generic Webhook Trigger Plugin触发器webhook用户触发构建Deploy to container Plugin部署到tomcatGradle Plugin Gradle插件构建项目Maven Plugin Maven插件构建项目Git Plugin Git插件克隆项目GitHub plugin GitHub插件集成githubSSH Slaves plugin SSH插件用于远程登录Buil…

spark广播变量 和 累加器

1 为什么使用广播变量 和 累加器 变量存在的问题&#xff1a;在spark程序中&#xff0c;当一个传递给Spark操作(例如map和reduce)的函数在远程节点上面运行时&#xff0c;Spark操作实际上操作的是这个函数所用变量的一个独立副本。这些变量会被复制到每台机器上&#xff0c;并且…

分布式常见面试题详解

文章目录1. 分布式1.1 什么是CAP原则&#xff1f;1.2 说一说你对高并发的理解1.3 如何实现分布式存储&#xff1f;1.4 说一说你对分布式事务的了解1.5 分布式系统如何保证最终一致性&#xff1f;1.6 谈谈你对分布式的单点问题的了解1.7 HTTP和RPC有什么区别&#xff1f;1.7 HTT…

C11标准委员会成员解读C语言新标准

导读&#xff1a;C语言国际标准新的新草案之前已经公布&#xff0c;新标准提高了对C的兼容性&#xff0c;并将新的特性增加到C语言中。此外支持多线程的功能也受到了开发者的关注&#xff0c;基于ISO/IEC TR 19769:2004规范下支持Unicode&#xff0c;提供更多用于查询浮点数类型…