2013年12月

国际数据公司(IDC)的分析师在周三投寄了一篇新闻稿凸显出IBM 的 AIX 系统和 P-系列的硬件持有量已经快速下降。伴随着专有 Unix 系统下跌的同时,相关的运行着 Linux 系统的 X86 服务器销量却在崛起。IBM 已经明确指出这是一个长期趋势,所以投资了10亿美元用在基于 Power 系统的 Linux 开发。与新闻报道的 AIX 20%销售额下降的同时,我的这篇文章终于发布出来了。

过去数年中,我在管理 AIX 和 Linux 系统上一点都不顺利,如果能让我挑选的话,会选择灵活性和易用性更好的 Linux 系统和稳定性更高的 Power 机器。根据我的经验, AIX 很难设置,在设置好后要变动也很困难,但一旦设置好并启动起来,它就会一直很好的运行下去。一台配置合适的 AIX 服务器可以正常运行数年而无需干预,但是需要修改配置的时候,并且经常需要修改配置,就准备好长期的艰苦跋涉吧。相比之下,经过这么多年来,成千上万的开发人员和系统管理员,以及大牌公司的贡献,使得Linux更易于管理。根据Infoworld报道:

Linux服务器市场正在健步崛起,服务器总销量占总收入的百分比高达28%,所以任何可以提高市场占有率的投资,将会非常有价值,即使大部分份额的Linux服务器仍然是商用 x86 硬件。

Intel 和 AMD 的硬件也现跨越式发展,正在缩小与 Power 机器的性能差距。当我听到一个新的刀片上配置 10GB 的以太网卡已经成为标准、256GB 的 RAM 已经很正常了,以及普通业务需要订购装有 16 核 CPU 的服务器已经成为常态时,吃惊不小。Intel 服务器和 IBM 的 Power 服务器性能差不多,但价格低很多。因为企业的关注点在于是否逃脱“顾问软件”及 IBM 的供应商锁定,所以在行业标准的x86硬件上运行的开源软件正变得越来越有吸引力。不过,IBM已经降低了 Power 系列机器的价格来保持竞争力。

这说明, IBM 选择投入在基于 Power 机器的 Linux 系统而不是 AIX 系统。 IBM 可能已经开发出现代版的 AIX,并使用通用的开源工具以使交互操作性更好。尽管 IBM 声明 AIX 仍然是重要的,但在 Power 机器的销售额持续下降,伴随的是 Linux 方面的投入,这一切的一切都正在翻开新故事的新篇章。

IBM 不可能一切都以 AIX 为核心,但他们可能会无限期的延长其使用寿命。如果 AIX 做为开源系统发布,看看市场的反映,将会十分精彩。


via: http://ostatic.com/blog/proprietary-unix-continues-to-fall

译者:runningwater 校对:wxy

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

Canonical和华硕刚刚建立了合作关系,将在两款笔记本上搭载Ubuntu操作系统。

华硕现在提供了X201E和1015E两款搭载了Ubuntu操作系统的笔记本,企图强势进军教育市场。

“和Ubuntu以及捆绑在她之上的其他免费软件一样,在购买价格中不包括licence的费用,这将明显降低成本。这会十分对学生和各大院校的胃口,他们的经济都比较困难。”

“办公类应用软件将会由LIbreOffice来提供。和通常一样,他们提供学生和工作人员需要的所有功能且与现有的文件完全兼容,他们也为邮件和浏览器捆绑了免费软件。”摘自ubuntu网站的官方公告

这两款笔记本设计定位不在于性能强悍,设计定位为办公型,同时还可能针对一些多媒体内容的需求。华硕的1015E笔记本配备了Intel的Celeron 847 1.1GHz的处理器,2GB DDR3内存,320GB 5400转硬盘,以及一个10.1英寸的屏幕。

另一款已经脱销的产品华硕X201E则提供不多的性能提升:Intel Celeron 847(1.1GHz)Sandy Bridge处理器,4GB DDR3内存,320GB 5400转硬盘,11.6英寸的屏幕和Intel GMA HD显卡。

“成千上万的开源免费应用程序满足了从图像处理、3D动画到杀毒和会计的各类需求。”

“我们知道高效的个人计算对于学生和各类院校来说是十分重要的。所以,和我们的小伙伴们一起为教育行业提供低成本而高效的应用是一件另人很兴奋的事。”

Canonical在亚马逊的主页上发表了声明。但是如果你对于这些产品感兴趣,你应该了解他们同时在其他的商店中也能买到。


via: http://news.softpedia.com/news/Canonical-and-ASUS-Have-Formed-a-Partnership-in-USA-404483.shtml

译者:stduolc 校对:wxy

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

Jailkit和jailed Shell

受限shell(Jailed Shell)是一类被限制的shell,它看起来非常像真实的Shell,但是它不允许查看和修改真实的文件系统的任何部分。Shell内的文件系统不同于底层的文件系统。这种功能是通过chroot和其他多种程序实现的。举例来说,给用户建立一个linux shell去让他“玩玩”,或者在一个限定的环境里运行一些程序的所有功能等等。

在这个教程里我们将会探讨在Ubuntu下用jailkit建立一个受限shell。Jailkit是一个让你快速建立一个受限shell的工具,将受限用户放到里面,并配置那些要在受限制环境里运行的程序。

Jailkit 从这里下载:http://olivier.sessink.nl/jailkit/

在Ubuntu/Debian 上安装 jailkit

  1. 因为jaikit需要在系统上编译,首先,我们需要有用于编译的那些工具。所以,安装如下包:
$ sudo apt-get install build-essential autoconf automake libtool flex bison debhelper binutils-gold
  1. 从下述URL下载Jailkit,或者访问它的网站以下载最新版本的,如果有了更新版本的话。http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
$ wget http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
  1. 解压
$ tar -vxzf jailkit-2.16.tar.gz
  1. 编译并创建deb软件包

Jailkit已经包含了用于编译成deb软件包的代码和配置,可以直接安装在Debian系的Linux上。运行下列命令来完成它。

$ cd jailkit-2.16/
$ sudo ./debian/rules binary
  1. 安装deb软件包

上述命令创建的deb软件包叫做: jailkit2.16-1amd64.deb.

$ cd ..
$ sudo dpkg -i jailkit_2.16-1_amd64.deb

就是这样,现在Jailkit已经安装完成了。Jailkit有许多命令可以用来设置一个基于chroot的受限环境,如下是这些命令:

$ jk_
jk_addjailuser   jk_chrootlaunch  jk_cp            jk_jailuser      jk_lsh           jk_uchroot       
jk_check         jk_chrootsh      jk_init          jk_list          jk_socketd       jk_update

上述命令都有man帮助信息,如果你使用它们时,可以参考。

配置Jailed Shell

  1. 配置受限环境

我们需要建立一个目录来存放所有受限环境的配置。目录随便放在什么地方,比如我们可以创建个/opt/jail的目录。

$ sudo mkdir /opt/jail

这个目录应为Root所有。用chown改变属主。

$ sudo chown root:root /opt/jail
  1. 设置在受限环境中可用的程序

任何程序想要在受限环境中执行则必须用jk\_init命令拷贝到目录中。

例如:

$ sudo jk_init -v /jail basicshell 
$ sudo jk_init -v /jail editors 
$ sudo jk_init -v /jail extendedshell 
$ sudo jk_init -v /jail netutils 
$ sudo jk_init -v /jail ssh 
$ sudo jk_init -v /jail sftp
$ sudo jk_init -v /jail jk_lsh

或一次性解决:

$ sudo jk_init -v /opt/jail netutils basicshell jk_lsh openvpn ssh sftp

像basicshell, editors, netutils是一些组名,其中包含多个程序。复制到jail shell中的每个组都是可执行文件、库文件等的集合。比如basicshell就在jail提供有bash, ls, cat, chmod, mkdir, cp, cpio, date, dd, echo, egrep等程序。

完整的程序列表设置,你可以在/etc/jailkit/jk\_init.ini中查看。

jk\_lsh (Jailkit limited shell) - 这是一个重要的部分,必须添加到受限环境中。
  1. 创建将被监禁的用户

需要将一个用户放入jail里。可以先创建一个

$ sudo adduser robber
Adding user `robber' ...
Adding new group `robber' (1005) ...
Adding new user `robber' (1006) with group `robber' ...
Creating home directory `/home/robber' ...
Copying files from `/etc/skel' ...  
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for robber
Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] y

注意:目前创建的是一个在实际文件系统中的普通用户,并没有添加到受限环境中。

在下一步这个用户会被放到受限环境里。

这时候如果你查看/etc/passwd文件,你会在文件最后看到跟下面差不多的一个条目。

robber:x:1006:1005:,,,:/home/robber:/bin/bash

这是我们新创建的用户,最后部分的/bin/bash指示了这个用户如果登入了那么它可以在系统上正常的Shell访问

  1. 限制用户

现在是时候将用户限制

$ sudo jk_jailuser -m -j /opt/jail/ robber

执行上列命令后,用户robber将会被限制。

如果你现在再观察/etc/passwd文件,会发现类似下面的最后条目。

robber:x:1006:1005:,,,:/opt/jail/./home/robber:/usr/sbin/jk_chrootsh

注意:最后两部分表明用户主目录和shell类型已经被改变了。现在用户的主目录在/opt/jail(受限环境)中。用户的Shell是一个名叫jk\_chrootsh的特殊程序,会提供Jailed Shell。

jk\_chrootsh这是个特殊的shell,每当用户登入系统时,它都会将用户放入受限环境中。

到目前为止受限配置已经几乎完成了。但是如果你试图用ssh连接,那么注定会失败,像这样:

$ ssh robber@localhost
robber@localhost's password: 
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-generic x86_64)
* Documentation:  https://help.ubuntu.com/
13 packages can be updated.
0 updates are security updates.
*** /dev/sda7 will be checked for errors at next reboot ***
*** /dev/sda8 will be checked for errors at next reboot ***
Last login: Sat Jun 23 12:45:13 2012 from localhost
Connection to localhost closed.
$

连接会立马关闭,这意味着用户已经活动在一个受限制的shell中。

  1. 给在jail中的用户Bash Shell

下个重要的事情是给用户在限制环境中的一个正确的bash shell。

打开下面的文件

/opt/jail/etc/passwd

这是个jail中的password文件。类似如下

root:x:0:0:root:/root:/bin/bash
robber:x:1006:1005:,,,:/home/robber:/usr/sbin/jk_lsh

将/usr/sbin/jk\_lsh改为/bin/bash

root:x:0:0:root:/root:/bin/bash
robber:x:1006:1005:,,,:/home/robber:/bin/bash

保存文件并退出。

  1. 登入限制环境

现在让我们再次登入受限环境

$ ssh robber@localhost
robber@localhost's password: 
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-generic x86_64)
 * Documentation:  https://help.ubuntu.com/
13 packages can be updated.
0 updates are security updates.
*** /dev/sda7 will be checked for errors at next reboot ***
*** /dev/sda8 will be checked for errors at next reboot ***
Last login: Sat Jun 23 12:46:01 2012 from localhost
bash: groups: command not found
I have no name!@desktop:~$

受限环境说'I have no name!',哈哈。现在我们在受限环境中有了个完整功能的bash shell。

现在看看实际的环境。受限环境中的根目录实际就是真实文件系统中的/opt/jail。但这只有我们自己知道,受限用户并不知情。

I have no name!@desktop:~$ cd /
I have no name!@desktop:/$ ls
bin  dev  etc  home  lib  lib64  run  usr  var
I have no name!@desktop:/$

也只有我们通过jk\_cp拷贝到jail中的命令能使用。

如果登入失败,请检查一下/var/log/auth.log的错误信息。

现在尝试运行一些网络命令,类似wget的命令。

$ wget http://www.google.com/

如果你获得类似的错误提示:

$ wget http://www.google.com/
--2012-06-23 12:56:43--  http://www.google.com/
Resolving www.google.com (www.google.com)... failed: Name or service not known.
wget: unable to resolve host address `www.google.com'

你可以通过运行下列两条命令来解决这个问题:

$ sudo jk_cp -v -j /opt/jail /lib/x86_64-linux-gnu/libnss_files.so.2
$ sudo jk_cp -v -j /opt/jail /lib/x86_64-linux-gnu/libnss_dns.so.2

这样才能正确的定位到libnssfiles.so和libnssdns.so

在限制环境中运行程序或服务

现在配置已经完成了。可以在限制/安全的环境里运行程序或服务。要在限制环境中启动一个程序或守护进程可以用jk\_chrootlaunch命令。

$ sudo jk_chrootlaunch -j /opt/jail -u robber -x /some/command/in/jail

jk\_chrootlaunch工具可以在限制环境中启动一个特殊的进程同时指定用户特权。如果守护进程启动失败,请检查/var/log/syslog/错误信息。

在限制环境中运行程序之前,该程序必须已经用jk\_cp命令复制到jail中。

jk\_cp - 将文件包括权限信息和库文件复制到jail的工具 

进一步阅读有关其他jailkit命令信息,可以阅读文档,http://olivier.sessink.nl/jailkit/


via: http://www.binarytides.com/install-jailkit-ubuntu-debian/

via: http://www.binarytides.com/setup-jailed-shell-jailkit-ubuntu/

译者:Luoxcat 校对:wxy

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

当提到桌面环境时,对你来说选择一个合适的可能是个值得深思的个人问题。在这篇文章中,我会比较Gnome和KDE这两种最为流行的Linux桌面环境之间的不同之处,也会通过对比它们的优缺点来探究每一种桌面环境所能提供的功能。

第一印象

第一眼看到桌面,你可能会觉得KDE看起来比Gnome更光亮,并提供一个更友好的科技外观。此外,如果你习惯于Windows环境,屏幕底部的菜单和按钮布局会让你感觉KDE看起来更熟悉一些。你可以很容易地找到Kmenu,启动程序以及仅仅点击几下鼠标就能找到文档。

KDE的另一个重要和熟悉的好处是方便地在每个打开的文档、图片和应用中使用最小化和关闭按钮。对于那些习惯其它平台的人来说,这些特性可能会认为是理所当然的。但是考虑到对于像Gnome这样不再提供一个真正的最小化选项的桌面来说,这里是值得给予KDE支持的。

第一次加载进入Gnome 3,如果你来自另一个平台,它的桌面可能被认为是很奇怪的。像经典的Gnome一样,你想访问的文档和工具并不位于屏幕的底部。让新手们感到更陌生的是,关闭已经打开的窗口的方法是如此的“与众不同”。然而,站在支持Gnome3的角度上,我发现只要你习惯了这种新的做事方式,会觉得这是一段相当愉快的经历。我所知道的已经试用过Gnome3的新用户们也普遍地感觉良好。

小工具和扩展

随着我们深入了解Gnome和KDE提供的扩展和小工具,这两种桌面环境之间的差别会越来越大。尽管它们都能提供你可以启动的附件以增强桌面体验,但是它们在如何处理扩展功能上的分界并不相同。

KDE采用一种有趣的方式,即你可以桌面小部件划分到称为“活动区”的分组中。这使得你可以创建一个包含一系列桌面小部件的活动区,以处理特定的工作流。

相反地,Gnome按照另一种方式定义活动区。Gnome使它的活动区更加基于任务和应用,而不是以小部件为中心。例如,如果我正在使用多个应用程序,切换到Gnome活动区视图允许你能够可视化地、及时地访问每一个任务。

设置你的桌面

虽然在通过GUI提供充足的设置方面Gnome做得越来越好,但KDE依然是这个领域的王者。(译注:对于这一点,不同的人有不同的看法。)

使用KDE,你可以通过设置去控制几乎桌面的每一个方面。一些诸如OpenSUSELinux发行版,通过紧密地把它们的工具 (YaST) 集成到KDE的设置环境中,在这方面做得更好。

随着Gnome3之后的Gnome桌面更新,我发现的最显著的地方是KDE正在通过易于使用的设置来提供更加强大的功能。Gnome往往把特定于应用程序的设置放在一个容易找到的每个应用程序的地方。

但是KDE倾向于为应用程序提供更细粒度的控制。我最喜欢的例子之一是Kontact vs Evolution。它们分别是Gnome和KDE上很强大的个人信息管理软件。但不同的是,Kontact是一套附带为每个应用程序绑定一套控制的应用程序,而Evolution只是拥有有限控制的单个应用程序。在其它特定于桌面的应用中,AmaroK vs Rhythmbox 也是如此。

文件管理

当涉及到为你的桌面寻找合适的文件管理器时,Gnome和KDE提供的默认选择都能为你完成这项工作。Nautilus是Gnome的默认文件管理器,而KDE提供Dolphin 作为它的默认文件管理器。

除此之外,我发现Nautilus为Gnome用户提供一个光鲜的、易用的文件管理工具,不会使Linux的新用户们不知所措。然而,回到KDE上,对于那些想要深入控制的人,Dolphin是一个高度可配置的,而不是适合新手的文件管理方案。

如果简单地观察每个文件管理器的侧边栏,你会注意到Nautilus提供最直接的导航方式。但是,KDE的Dolphin在诸如上一次使用文件的日期和其它相关选项的特性上做得更好。

如果你是高级的Linux用户,你很可能发现自己被Dolphin吸引,因为它提供了最多的选择和控制。对于那些不想通过复杂的控制导航文件的人,Nautilus在简单性上更胜一筹。

桌面应用

经常在Linux爱好者中引发分歧的一个话题是,宣称某个桌面可以提供更好的默认应用。其实,这就是Gnome和KDE当前所处的情况。

我在这个方面的发现是:在一些方面,Gnome不费吹灰之力就能胜出。例如,GIMP、Evince和Pidegin相对它们在KDE上的同类来说更好用。而以我之见,Kmail则是另一种应用程序,它带给KDE的新用户们一个坏印象。像这类的应用过于复杂,并且在一般情况下,使用起来难以捉摸。

在另一方面,也有一些有价值的地方来支持KDE。Calligra 对比 AbiWord 对于KDE来说是轻松取胜的,因为LibreOffice 并不是一个“真正的”Gnome特有的应用。因为它是很多Linux发行版的默认套件,而不是桌面环境的默认选择。

最后,Linux最神奇的地方之一是你可以安装GTK或者Qt库,享受最符合你需求的应用程序带来的好处(译注:即使用另外一种桌面的应用)。对我自己,我发现在大部分情况下,Gnome的默认应用程序是明显的赢家。

结语

如果我发现自己被困在一座岛上,只有一种可用的桌面环境,那它必须是Gnome。虽然我喜欢KDE的某些方面胜过Gnome,但总体上我觉得Gnome可以花更少的功夫去持续使用。我常常发现使用KDE搞砸了一堆配置,甚至更糟糕,譬如奇怪的警告声称我的声卡找不到。在Gnome环境下,我从没有遇到这些问题。

因为我珍惜我的时间和理智,所以我会持续推荐使用Gnome而不是KDE;同时在适当的时候建议一些KDE应用。对于任何声称KDE更容易使用的人,我想说对于我而言,从长远来看简单地学习Gnome的做事方法给我带来了更大的稳定性。


via: http://www.datamation.com/open-source/kde-vs-gnome-settings-apps-widgets-1.html

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

译者:KayGuoWhu 校对:wxy

问题: 我该如何在 Elemetary OS Luna 上安装Oracle Java 7?

回答: 在 Elementary OS Luna 安装 Java 7 的步骤如下: 由于Elementary OS是基于Ubuntu,所以我们允许使用具有多种Java包的WEPUD8 PPA

  1. 打开终端。
  2. 运行以下指令添加Java的PPA到你的软件仓:
$ sudo add-apt-repository ppa:webupd8team/java

You are about to add the following PPA to your system:
Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK6 / JDK7 / JDK8). There are no actual Java files in this PPA. More info: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
Debian installation instructions: http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html
More info: https://launchpad.net/~webupd8team/+archive/java
Press [ENTER] to continue or ctrl-c to cancel adding it
  1. 按回车继续
gpg: keyring `/tmp/tmpB5WwDG/secring.gpg' created
gpg: keyring `/tmp/tmpB5WwDG/pubring.gpg' created
gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpB5WwDG/trustdb.gpg: trustdb created
gpg: key EEA14886: public key "Launchpad VLC" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
  1. 现在更新你的系统
$ sudo apt-get update
  1. 运行以下命令安装Java 7:
$ sudo apt-get install oracle-java7-installer

[sudo] password for enock:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
gir1.2-gstreamer-0.10 libilmbase6 libmagickcore4 libmagickwand4 libcdt4
libmagickcore4-extra liblqr-1-0 imagemagick-common libpathplan4 libopenexr6
rsync netpbm libgvc5 libnetpbm10 libgraph4
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
gsfonts-x11 java-common
Suggested packages:
default-jre equivs binfmt-support visualvm ttf-baekmuk ttf-unfonts
ttf-unfonts-core ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho
ttf-sazanami-mincho ttf-arphic-uming
The following NEW packages will be installed:
gsfonts-x11 java-common oracle-java7-installer
0 upgraded, 3 newly installed, 0 to remove and 196 not upgraded.
Need to get 88.5 kB of archives.
After this operation, 473 kB of additional disk space will be used.
Do you want to continue [Y/n]?
  1. 输入代表Yes的Y以及回车键继续安装。
  2. 在安装过程中,你需要同意条款才能继续。选择OK

  1. 然后选择Yes继续。

  1. 现在请等待安装包的下载与自动安装:

  1. 安装完成。你可以在终端上查看Java版本:
$ java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

via: http://www.unixmen.com/install-oracle-java-7-elementary-os-luna-via-ppa/

译者:whatever1992 校对:wxy

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

喜欢GNOME风格菜单?安装Class Menu Indicator吧。

对于那些从开始就一直关注Ubuntu操作系统的人,他们看见几乎所有的Ubuntu经历的改变。发生了许多的改变,尤其是在桌面部分。从经典的GNOME桌面环境到Unity,Ubuntu已经完全地重新设计了。

对于那些新用户,他们所知道的就是Unity桌面环境,仅仅只是听说过或者见过之前Ubuntu的原始GNOME桌面环境。

如果你是一个老资格用户,想要在Ubuntu的Unity回到GNOME风格的菜单,安装Classic Menu Indicator 可以解决这个问题。这个有趣的包被安装在顶部面板的通知区域,在Ubuntu中带回了GNOME风格菜单体验。

像经典的GNOME菜单一样,它包括所有的应用和经典菜单结构。对于曾经使用过它的人们是容易导航和开启应用。对于新用户,它也是容易掌握。

接下来的简短指导将会告诉你如何在Ubuntu中安装这个包。

马上开始,在键盘上按下 Ctrl – Alt – T 打开终端。

打开完毕后,运行下列命令,加入它的PPA文件

sudo apt-add-repository ppa:diesch/testing

接来下,运行下列命令安装它。

sudo apt-get update && sudo apt-get install classicmenu-indicator

安装完成后,在Unity Dash中启动。它叫Classic Menu Indicator。当你启动它的时候,它会自动的嵌入顶部面板,如下图。

就是这样,使用并享受吧!

via: http://www.liberiangeek.net/2013/11/daily-ubuntu-tipslike-gnome-classic-menu-get-classic-menu-indicator/

译者:Vic\_\_\_ 校对:wxy

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