Easy Arduino: 开始你的Arduino之旅

Summary: 许多Arduino的项目都是基于两个简单的程序。  能电脑所不能的单片机，这就是Arduino。  我们每天使用的计算机是强大的，但它们根本不了解身边发生了什么事。比如说你的笔记本电脑也不能感到光或水。另外，Arduino对外专门设计成键控的。它有一个用于简化传感器通信的输入、输出板子。 Arduino是由Massimo Banzi和他的意大利搭档Ivrea开发的，并用Ivrea他最喜欢的酒吧命名。Banzi希望他的设计课程的学生们有一个原型的硬件的廉价，容易的解决方案。自2005年Arduino的发布，它已经从一个教学工具发展成为世界各地制造商的DIY项目。现在有了

买个mega有点小后悔

begin

Repost

知识改变命运，学到哪怕一点点，都没亏~~

# Easy Arduino: 开始你的Arduino之旅

>
> 许多Arduino的项目都是基于两个简单的程序。
>
>
>

能电脑所不能的单片机，这就是Arduino。

我们每天使用的计算机是强大的，但它们根本不了解身边发生了什么事。比如说你的笔记本电脑也不能感到光或水。另外，Arduino对外专门设计成键控的。它有一个用于简化传感器通信的输入、输出板子。

Arduino是由Massimo Banzi和他的意大利搭档Ivrea开发的，并用Ivrea——[他最喜欢的酒吧](http://spectrum.ieee.org/geek-life/hands-on/the-making-of-arduino/0)命名。Banzi希望他的设计课程的学生们有一个原型的硬件的廉价，容易的解决方案。自2005年Arduino的发布，它已经从一个教学工具发展成为世界各地制造商的DIY项目。现在有了[多模型](http://arduino.cc/en/main/boards)——更先进的Arduino Due，大功率，微纳米。

无论你购买哪个Arduino模型，当你用它来做“[互联网](http://en.wikipedia.org/wiki/Internet_of_Things)”项目时，单片机的实用性便体现出来了——Arduino可以很容易让你连接到真实世界，云端，或两者。本书中，我们将重点介绍两个超基础项目以便展示Arduino可以多简单。

### 开始使用Arduino

在我们能够完全了解Arduino是什么之前，知道它不是什么是很重要的。Arduino不是电脑（跟卡片电脑[Raspberry Pi](http://readwrite.com/2014/01/20/raspberry-pi-everything-you-need-to-know)不一样）。它不能被独立编程，需要被插入到计算机中去。它不是特别强大，Arduino Uno只有[32 KB的内存](http://arduino.cc/en/Main/arduinoBoardUno) ，而苹果笔记本却平均有8G内存。

所以为了使用Arduino，你不能只买这个单片机。对于以下的项目，你需要的是：

### 硬件

* Arduino Uno. “Uno”在意大利语中是一的意思，但这并不是有史以来第一个Arduino，只是最基本的Arduino单片机的最新版本。这些项目可以工作在任何一个型号上，但这里我用的是这个型号。
* B型USB线。我已经很多年没见过这些旧式的USB端口了，但你可能会在旧的电子设备上用过他们。[他们的成本约5-10美元](https://www.google.com/search?q=type+b+usb&espvd=210&es_sm=91&source=univ&tbm=shop&tbo=u&sa=X&ei=2iVVU9DKDIbLsATni4LwDg&ved=0CCgQsxg&biw=1436&bih=658) （译注：就是能连接题图的板子上的那个大大的USB口的线）。
* LED灯。可以直接粘在Arduino上的一个引脚上的小灯；[这些往往是相当便宜的](https://www.google.com/search?es_sm=91&biw=1436&bih=658&tbm=shop&q=LED+light&oq=LED+light&gs_l=serp.3..0l10.65005.66134.0.66303.9.9.0.0.0.0.141.697.5j3.8.0.ehm_loc%2Chmss2%3Dfalse%2Chmnts%3D50000...0...1.1.41.serp..4.5.359.V7CTGdfZBFU)。

### 软件

* [Arduino IDE](http://arduino.cc/en/main/software#toc1)，即“集成开发环境”，是一个免费开源软件，用于开发“sketches”，也就是Arduino用户所说的程序。

当你第一次打开Arduino IDE，你需要建立软件所使用的端口，它用于控制Arduino如何工作，点击“工具”——>“串口”来建立。
* 在[OS X](http://arduino.cc/en/guide/macOSX#toc8)上，Uno串口的设备名叫做“/dev/tty.usbmodem”，但其他类型的Arduino板可能不同。我的是“/dev/tty.usbmodem1421”。
* 在[Windows](http://arduino.cc/en/guide/windows#toc8)，串口是COM3或更高端口，因为COM1和COM2通常保留给其他硬件。为确定端口号，你可以拔掉Arduino并重新打开IDE菜单。哪个口子不再出现哪个就是你的Arduino。

一般来说，你不用担心直接拔出你的Arduino电路板会有什么问题。我们知道功能齐全的电脑不应该这样做，包括Raspberry Pi，因为他们可以在后台运行一个重要的操作系统任务。但是Arduino只是一个单片机，除非你主动让它写内存，否则它肯定是不会的。

### Arduino 硬件初步: 闪烁一个LED

在这第一个项目中，我们将概述Arduino产生物理输出的最基本方式，在这个实例中，闪烁一个LED灯。

我们要去写一个非常简单的程序使得LED频闪——或者是当我自豪地向他展现了[我的作品](http://instagram.com/p/mp6Gl7q3lU/)时，我的朋友明智的告诉我，“一点小成果”。本程序是基于开源项目[Blink sketch](http://arduino.cc/en/Tutorial/Blink)，它可以在Arduino的官网找到。

首先，设置硬件，将LED的两个脚分别插到到Arduino的公共地GND和引脚13上。

注意：如果你准备将一个LED插到一个打开电源的Arduino板子上较长时间（比如超过了这个项目的时间），安全的做法是也接一个220欧姆的电阻。这里有一个你也许需要的[接线图](http://arduino.cc/en/uploads/Tutorial/ExampleCircuit_bb.png)，来自Arduino官网。

一个叉略短于另外一个叉——短的这个是负极头，因此，这个接“地”，即GND输入/输出。

*注意短的接GND.*

现在让我们开始写程序。首先，让我们给个程序的名字。Arduino会忽略行内双斜杠后边的内容，所以这是为自己写注释的好方法：

```
// 程序 1: 使一个LED闪烁开和关

```

当硬件工作时，我们需要告诉Arduino在它的14根不同的输入/输出引脚中哪儿会有信号。在这种情况下，我们固定13引脚的LED。这是我们的如何命名固定在引脚13的LED，其中“LED”只是我给的变量名：

```
int LED = 13;

```

每一个Arduino程序由两部分组成：void setup() 和 void loop()。这是能够运行的[最小的](http://arduino.cc/en/Tutorial/BareMinimum)Arduino程序。

在 **void setup()**中, 我们告诉Arduino初始化引脚为输出:

```
void setup() {
  pinMode(LED, OUTPUT);
}

```

在**void loop()**中，我们告诉Arduino“写”一个值到引脚13中。因为我想让它闪烁，在每个循环中我们要使它写一个序列的四个不同命令。如“loop”一词的意思，直到把Arduino关掉前，我们希望它不断执行。

在下面的代码中，LED代表了我们之前分配的那个变量。”HIGH”告诉Arduino给LED提供五伏的电源，而“LOW”提供零伏。在闪烁时，使得它延迟“1000”毫秒每一整秒：

```
void loop() {
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
}

```

当把它们放在一起时，整个程序如下（再次声明，Arduino忽略行内双斜杠后边的内容，所以那只是你自己的注释）：

```
// 程序 1: 使一个LED闪烁开和关
int led = 13; // name the LED in pin 13
void setup() {
  pinMode(LED, OUTPUT); // tell Arduino the pin in question is an output
}
void loop() {
  digitalWrite(LED, HIGH);     // deliver 5V to LED
  delay(1000);                     // wait a second
  digitalWrite(LED, LOW);      // deliver 0V to LED
  delay(1000);                     // wait a second
}

```

点击checkmark来验证你的代码是没有错误的，然后按play键。如果你的Arduino已经连接，它应该开始运行你的闪烁程序了。

### Arduino 软件程序: 打印到电脑上

现在让我们来做一个控制开关并试着演示Arduino是如何产生数字输出的最基本项目。

我们将要设置Arduino “打印”，或是在您的计算机屏幕上显示信息。这个程序基于Paul Bianchi的[Arduino printing tutorial](http://quarkstream.wordpress.com/2009/12/09/arduino-1-writing-and-uploading-sketches/)。

在这个实例中没有硬件，这样我们就可以直接跳到程序部分。再说一次，程序分为两个部分： **void setup()** 和 **void loop()**。

在**void setup()**中，我们要打开一个Arduino和计算机之间通信的线路，指定速率是9600b/s。如果你使用另一个速率，你可能会在计算机上得到乱码而不是文字。

```
void setup() {
  Serial.begin(9600);
}

```

在**void loop()** 中，这部分很像我们的一个LED程序。我们要给它两条独立的指令，告诉它在他们之间每一整秒中断。[Println](http://arduino.cc/en/Serial/Println)是Arduino输出到你的电脑显示的命令。**注意"Println"中的"l"的是小写的"L"，而不是大写的"i"!**

```
void loop() {
  Serial.println(“hello”);
  delay(1000);
  Serial.println(“world.”);
  delay(1000);
}

```

将标题和注释等放到一起，如下：

```
// 程序 2: 使Arduino打印 “Hello World”到电脑上
void setup() {
  Serial.begin(9600); // open a 9600 baud communication line to computer
}
void loop() {
  Serial.println(“Hello”);        // write the word “Hello”
  delay(1000);                    // wait a second
  Serial.println(“World”);      // write the word “World”
  delay(1000);                   // wait a second
}

```

验证你的代码并运行。什么都不会显示，直到你点击Arduino IDE窗口右上角的“Serial Monitor”。你应该看到一个不停输出的“Hello World”，一遍又一遍，直到你拔掉Arduino。你会看到它并不完美：我总是得到一些乱码，但很快它自己就好了。

这两个Arduino项目都非常基本，但是通过执行他们你已经开始看到，可以与传感器通信并写结果到您的计算机的Arduino的潜力所在。如果你把这两个项目整合——例如，你可以连接一个温度计到你的Arduino，并告诉它将温度写到你的笔记本电脑，你会很快实现Arduino的可能性几乎是无止境的。

---

via: <http://readwrite.com/2014/04/21/easy-arduino-projects-basics-tutorials-diy-hardware#feed=/hack>

译者：[tenght](https://github.com/tenght) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


下一代Linux桌面系统LXQt首次公开发布

Summary: LXQt的首次公开发布版，流行的轻量级桌面环境LXDE的新一代版本，已经可以下载了。 这次版本发布几乎是在LXDE Qt计划和Razor-qt桌面项目决定合并的一年以后。通过集中资源到一个桌面环境中，而不是两个，这个团队说他们希望通过尽量重用现有代码，来提供最好的体验。 通过10个月的努力，不管是桌面系统的工作方式和所提供的特性功能，都得到了大量重要改善。今天的这个beta版本，尽管主要是给早期测试人员和开发者，据说已经稳定可用了。 美好的开始 这个项目的开发团队还在继续关注在提供一个轻量级以及用户友好的桌面环境，用来替代日渐

第一感觉像kde

@zcgsunbreeze

[嘻嘻]尝鲜

我也感觉像kde，或者仿的kde

太多桌面环境了。。。哎 一起搞一个不好吗？elementary os不是很好吗

是比较像KDE。最初我就喜欢KDE后来就喜欢GNOME了

windows-like

来自浙江杭州的 Internet Explorer 10.0|Windows 7 用户

# 下一代Linux桌面系统LXQt首次公开发布

<img src="content_image/album_201405_15_223056vjjssz2wnks8ho4n.jpg" alt="LXQt with KWin. Other window managers can be used." title="LXQt with KWin. Other window managers can be used.">

**LXQt的首次公开发布版，流行的轻量级桌面环境LXDE的新一代版本，已经可以下载了。**

这次版本发布几乎是在LXDE Qt计划和Razor-qt桌面项目决定合并的[一年](http://blog.lxde.org/?p=1046)以后。通过集中资源到一个桌面环境中，而不是两个，这个团队说他们希望“通过尽量重用现有代码，来提供最好的体验”。

通过10个月的努力，不管是桌面系统的工作方式和所提供的特性功能，都得到了大量重要改善。今天的这个beta版本，尽管主要是给早期测试人员和开发者，据说已经“稳定可用”了。

### 美好的开始

这个项目的开发团队还在继续关注在提供一个轻量级以及用户友好的桌面环境，用来替代日渐沉重和复杂的系统。LXQt使用了比基于GTK的LXDE更精简，更快速和模块化的代码库，将非常适用于低配置的电脑。

今天的主角比之前正式发布的Razor-qt (0.5.2)有许多重要改变，包括集成了移植到Qt平台的PCManFM文件管理器，系统设定改善，新的模组，以及持续支持Qt5和Wayland显示协议。

团队成员说，基于GTK环境的开发在目前看来还会继续。那些运行Lubuntu 14.04 LTS系统的用户也不用担心，因为Lubuntu开发者已经保证会提供三年的持续维护。

Ubuntu开发团队早前声称他们将在Lubuntu 14.10版本中过渡到基于Qt的桌面，最终决定将在后面几个月中做出。

### 试一下

LXQt还处于活跃开发中，所以并不推荐你在重要的设备上安装。

[Lubuntu Daily PPA](https://launchpad.net/%7Elubuntu-dev/+archive/lubuntu-daily)提供了LXQt所需要的安装包，包括一个统一包来简化安装。

在安装过程中会有大量Qt依赖包需要下载，那些网速不佳的同学请安排合适的时间段。

源码包，Arch和Debian用户的安装细节，以及更多信息，可以在项目新启用的网站上找到。

* [访问LXQt项目官方网站](http://lxqt.org/)

---

via: <http://www.omgubuntu.co.uk/2014/05/next-gen-linux-desktop-lxqt-makes-first-public-release>

译者：[zpl1025](https://github.com/zpl1025) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


如何在Nexus上实现Ubuntu和Android 4.4.2 双启动

Summary: 现在在手机上测试Ubuntu变得更加简单，可以从Canonical上下载一个程序，它可以安装新的操作系统而不必删除原有的Andorid。能够双启动的系统可以吸引更多的用户关注手机/平板上的新开源平台。 Canonical在它的网站上有一个流程解释了如何在手机上安装Ubuntu，但是这实际上需要删除Android系统才能获得新的操作系统。Ubuntu的开发者已经做了大量的工作，这个新的系统看上去很棒，但是如果你决定退回到Android，你就需要删除Ubuntu并安装Google的Android系统。这意味这你不得不重复设置你的电话，这可能会比较麻烦。 幸运的是，现在有一个称

高大上，给我的手机也换个系统，一直想换个ubuntu试试，无奈，苦于我的手机没有办法支持。今天有空就搞一下。<br />
好像我手机还不行～=。=！

福利

爱你'么么哒[太开心]

改天试试～

#全民使用ubuntu系统#

哈哈，这个有趣！

[馋嘴][馋嘴][馋嘴]我也试试

[给力]

手机也要双系统了[威武]

装完root用户的密码是什么？

# 如何在Nexus上实现Ubuntu和Android 4.4.2 双启动

<img src="content_image/album_201405_16_223200twnznw1l0cwwgwpo.jpg" alt="" title="">

**现在在手机上测试Ubuntu变得更加简单，可以从Canonical上下载一个程序，它可以安装新的操作系统而不必删除原有的Andorid。能够双启动的系统可以吸引更多的用户关注手机/平板上的新开源平台。**

Canonical在它的网站上有一个流程解释了如何在手机上安装Ubuntu，但是这实际上需要删除Android系统才能获得新的操作系统。Ubuntu的开发者已经做了大量的工作，这个新的系统看上去很棒，但是如果你决定退回到Android，你就需要删除Ubuntu并安装Google的Android系统。这意味这你不得不重复设置你的电话，这可能会比较麻烦。

幸运的是，现在有一个称为[MultiROM Manager](https://play.google.com/store/apps/details?id=com.tassadar.multirommgr)的解决方案，它由Vojtech Bocek开发，现在已经可以在Google Play上下载到了，而且支持Nexus 7 (2012 & 2013)、 Nexus 4 和 Nexus 5。

另一方面，Ubuntu Touch只支持Nexus 4 (mako) 、Nexus 7 (2013) 平板 (flo)和 Nexus 10 平板 (manta)，因此除非你有这些设备，否则你可能不能安全地执行这些步骤(它可能能够工作，但是不保证会让你的设备变砖同时/或者失去所有的数据。)

首先，你需要一台解锁的设备，既然你有一台Nexus的设备这应该不是一个问题。你同样还需要root你的Andorid设备，这样你才能在这个应用里安装操作系统。

有很多工具可以完成这个root的工作。首先，你需要安装ADB(Android Debug Bridge)， 它随同Canonical的工具一起提供。你需要在终端下运行下面的命令：

```
sudo add-apt-repository ppa:phablet-team/tools
sudo apt-get update
sudo apt-get install ubuntu-device-flash

```

现在，你需要下载两个二进制包，[TWRP 2.7.0.0](http://teamw.in/project/twrp2) 和 [SuperSU](http://androidsu.com/superuser/)，它们可以让你实现root。复制SuperSU的二进制zip包到你的电话内存中，运行下面的命令进入bootloader（译注：原文的命令 sudo reboot bootloader，应该是笔误丢失了adb 命令 ）:

```
sudo adb reboot bootloader

```

在你的电脑上解压TWRP文件，并用下面的命令安装镜像到手机上(用你下载的文件名代替下面的“recovery.img”)（译注：此处的fastboot应该也需要sudo权限才可以执行。）

```
sudo fastboot flash recovery recovery.img

```

从bootloader菜单进入recovery，你就会看到TWRP 2.7.0.0。运行TWRP并安装SuperSU二进制包，接着重启。

现在你已经有root访问权限了。安装Multi Manager，应用补丁，并为手机下载Ubuntu。应用会要求root权限，接着安装会顺利进行。当你重启的时候你会看到一个小窗口提示你选择你要运行的系统。选择Ubuntu后你就可以运行了。

是不是新的享受？

---

via: <http://news.softpedia.com/news/Hot-to-Dual-Boot-Android-4-4-2-and-Ubuntu-for-Phones-438840.shtml>

译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux Mint以后将只基于Ubuntu LTS进行开发

Summary: 最新的 Linux Mint 17 Qiana RC 版本已经释出，本版本基于 Ubuntu 14.04 LTS(长期支持版本)。一个有趣的变化是，将来的数个版本都会基于长期支持版本。 Linux Mint的开发者已经决定只使用Ubuntu的LTS版本作为基础版本，这就意味着，之后几年的新版本将会始终基于同一个发行版。 这样的决定将让Minit固定在LTS主干上。换句话说，我们的开发团队会在未来两年内基于基本差不多的底包用作Mint 17的开发，这会使得从17到17.1、17.2以及后续版本的升级过程变得更加平滑。 重要的应用程序将会以反向移植的形式进行发布，我们希望这个改变能够加快

Repost

好[good]

好样的。。。每个版本都搞多费劲

最主流的发行版……

嗯。//@凌晨相见:好样的。。。每个版本都搞多费劲

这个好。

# Linux Mint以后将只基于Ubuntu LTS进行开发

<img src="content_image/album_201405_18_224312x7osnqoqr7outfhs.jpg" alt="Linux Mint 17" title="Linux Mint 17">

最新的 Linux Mint 17 “Qiana” RC 版本已经释出，本版本基于 Ubuntu 14.04 LTS(长期支持版本)。一个有趣的变化是，将来的数个版本都会基于长期支持版本。

Linux Mint的开发者已经决定只使用Ubuntu的LTS版本作为基础版本，这就意味着，之后几年的新版本将会始终基于同一个发行版。

“这样的决定将让Minit固定在LTS主干上。换句话说，我们的开发团队会在未来两年内基于基本差不多的底包用作Mint 17的开发，这会使得从17到17.1、17.2以及后续版本的升级过程变得更加平滑。”

“重要的应用程序将会以反向移植的形式进行发布，我们希望这个改变能够加快我们开发的步伐，并且减少新本版本开发时的回归成本”，Clement Lefebvre在Linux Mint的[博客](http://blog.linuxmint.com/?p=2613)说到。

这听起来或许并不会让你惊讶，不过此举意味着 Linux Mint 逐渐成为注重稳定的发行版，同时也意味着将会和 Ubuntu 14.04 LTS 一样能够得到长达 5 年(到 2019年)的技术支持。

你现在就可以从 Softpedia 下载 [Linux Mint 17 RC “Qiana” Cinnamon](http://linux.softpedia.com/get/System/Operating-Systems/Linux-Distributions/Linux-Mint-17252.shtml) 和 [Linux Mint 17 RC “Qiana” MATE](http://linux.softpedia.com/get/System/Operating-Systems/Linux-Distributions/Linux-Mint-Gloria-31769.shtml) 。

注意这是一个开发版本，不应该使用在生产环境中，只用于测试用途。

---

via: <http://news.softpedia.com/news/Linux-Mint-Will-Only-Used-Ubuntu-LTS-Releases-From-Now-On-442225.shtml>

译者：[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Summary: 极限理论（Limit Theory），一个无限的程序性的空间模拟游戏，这个游戏的开发者仅一个人，游戏将会发布在Linux、Windows和Mac OS X上。开发者宣布从Windows平台转到Linux上主要是因为他不耐烦了。 极限理论听起来像一个不可能的项目，特别是对于它是由一个人开发。游戏的开发者Josh Parnell自己已经努力建立一个美丽的宇宙，并提供对三个不同平台的支持。 他能够这样做是因为这个游戏用C++和OpenGL写的，这使游戏可以轻易地转移到任何平台开发。在最近的关于极限理论的更新中，他解释说，他不再使用Winsows平台，因为它很烦人，但是没有提

好像从去年开始许多游戏开发者都在说Windows不好的话～～～～

[肥皂][肥皂]

[xkl转圈]

总之腾讯代理的游戏是不会支持linux的

回复@shanlinzi:代理这个？没听说过啊。这个游戏是众筹的啊

回复@Linux中国:我没说腾讯代理了这个游戏，只是感叹腾讯对linux平台不友好而已//@Linux中国:回复@shanlinzi:代理这个？没听说过啊。这个游戏是众筹的啊

一定要check!

Repost

腾讯连QQ都不支持Linux

# Limit Theory游戏开发者转到Linux开发，原因是Windows很烦人

<img src="content_image/album_201405_19_112414hys96ss6xv5bw05e.jpg" alt="" title="">

极限理论（Limit Theory），一个无限的程序性的空间模拟游戏，这个游戏的开发者仅一个人，游戏将会发布在Linux、Windows和Mac OS X上。开发者宣布从Windows平台转到Linux上主要是因为他不耐烦了。

极限理论听起来像一个不可能的项目，特别是对于它是由一个人开发。游戏的开发者Josh Parnell自己已经努力建立一个美丽的宇宙，并提供对三个不同平台的支持。

他能够这样做是因为这个游戏用C++和OpenGL写的，这使游戏可以轻易地转移到任何平台开发。在最近的关于极限理论的更新中，他解释说，他不再使用Winsows平台，因为它很“烦人”，但是没有提供具体原因。

甚至Linux基金会也已经注意他而且决定推动他正在做的工作，特别是因为他是一个人搞定了所有事情，他要做从核心程序到环境音乐的任何事。

“游戏开发者Josh Parnell已经发布了关于他的开放空间模拟和策略游戏——极限理论的开发更新。”图形很漂亮，但这次发布更是值得注意，因为Parnell已经从放弃Windows而转为开放原生的Linux客户端（他说Windows很烦人）。"

“极限理论是在2012年12在Kickstarter筹到资的，计划的发布日期是2014年初。当它完成时，游戏者将能够探索星际空间，在小行星上斟探和开采，指挥一队或更多的星舰。”Linux基金会在其[网站](http://www.linuxfoundation.org/news-media/blogs/browse/2014/05/linux-video-week-limit-theory-game-developer-switches-linux)上这样描述。

极限理论最有趣的方面是无限的宇宙，这起初听起来可能会感觉很奇怪或者像是一个营销噱头。实际上，Josh Parnell 制作了一个很智能的引擎，当玩家在宇宙中发展时这个引擎产生系统，星球，NPC，几乎所有的东西。

这些元素在游戏开始时不存在，他们在玩家游戏运行时产生。这也意味着没有两个玩家的游戏过程是相同的。

极限理论在Kickstarter筹到了需要的资金，开发者正在全力以赴地开发，但是这是一个艰巨的任务，完成需要一些时间。即使原计划的发布时间2014年1月已经过了，粉丝们都愿意等待，特别是看到游戏将能够做什么之后。

期待它吧！

---

via: <http://news.softpedia.com/news/Limit-Theory-Developer-Switches-to-Linux-Because-Windows-is-Annoying-441642.shtml>

译者：[linuhap](https://github.com/linuhap) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Ubuntu 14.04 LTS中OpenVPN导入功能被破坏

Summary: 几周前Canonical公司发布了 Ubuntu 14.04 LTS版本，新的操作系统做了很大的变化，但仍有些问题 需要解决，比如：openVPN 的导入功能。 如果你曾在Ubuntu系统上使用过VPN连接，你应该知道，为了实现VPN连接不得不去官方软件包管理中心下载 network-manager-openvpn 软件包，其允许用户导入openVPN文件和所有的设置以及证书。 在ubuntu 14.04 LTS之前的版本，openVPN 导入功能能够正常使用，但是此前发布的network-manager-openvpn软件包某些文件被破坏，当导入时将导致整个网络管理功能崩溃。 在 Launchpad 上已有匿名用户上报了这个问题,

ubuntu中还没用过vpn, 但这个图片的主题很好看，可否告知

那 东西还有导入功能。 用了四年ubuntu了 ....

# Ubuntu 14.04 LTS中OpenVPN导入功能被破坏

<img src="content_image/album_201405_19_113158uqzxwp0wqdd65kme.jpg" alt="" title="">

**几周前Canonical公司发布了 Ubuntu 14.04 LTS版本，新的操作系统做了很大的变化，但仍有些问题 需要解决，比如：openVPN 的导入功能**。

如果你曾在Ubuntu系统上使用过VPN连接，你应该知道，为了实现VPN连接不得不去官方软件包管理中心下载 network-manager-openvpn 软件包，其允许用户导入openVPN文件和所有的设置以及证书。

在ubuntu 14.04 LTS之前的版本，openVPN 导入功能能够正常使用，但是此前发布的network-manager-openvpn软件包某些文件被破坏，当导入时将导致整个网络管理功能崩溃。

在 [Launchpad](https://bugs.launchpad.net/ubuntu/+source/network-manager-openvpn/+bug/1294899) 上已有匿名用户上报了这个问题, 但到目前为止该问题依然没有被修复。在3月份首次提交了该bug的报告，意味着最新的发行版本忽略了该问题。

异常的问题已经被确认，但是似乎没有人去修复它，至少没有出现在Lanchpad上.

事实证明，通过众多人的留下的评论来判断bug并首次上报，很值得广泛使用, 但如果没有发布修复bug的方法，那是很烦人的。

如果有新的改变或者这个bug被修复，我们将随时告知大家

---

via: <http://news.softpedia.com/news/OpenVPN-Import-Broken-in-Ubuntu-14-04-LTS-441601.shtml>

译者：[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Summary: Canonical公司决定关闭Ubuntu One的云服务，你可能正在寻找备份你主机的其他服务器，尽管现在有很多云服务的提供商，但是大服务商中仅有小部分支持包括Ubuntu在内的linux。 Dropbox全面支持Ubuntu，它有一个很好的整合了ubuntu桌面系统和其他通知栏的客户端。Box，官方的Box.net也可以通过WebDav协议支持linux。 这里有一段来自Canonical公司关于Ubuntu One的摘录：  从4月2日开始，就不能访问Ubuntu One中的存储或音乐了。Ubuntu One服务也不会再包含在Ubuntu 14.04 LTS中，而Ubuntu One的应用也将从Ubuntu、Google和Apple的应用商店移除

墙了。。。

要我说，为何1404没有ubuntu one咯[泪][泪][泪][泪]

[黑线]//@Linux中国: 好吧墙外的那些同学不能理解世界上还有墙这一说。。。[泪]//@爱开源的钟情GNOME: 墙了。。。

墙内的还相信墙外的网上想干什么就干什么（茶//@Linux中国:好吧墙外的那些同学不能理解世界上还有墙这一说。。。[泪]//@爱开源的钟情GNOME: 墙了。。。

把Linux user排除在外的什么box服务就去它姥姥的~

# Ubuntu每日小技巧-Ubuntu One关闭后如何切换到Dropbox或Box云服务

Canonical公司决定关闭Ubuntu One的云服务，你可能正在寻找备份你主机的其他服务器，尽管现在有很多云服务的提供商，但是大服务商中仅有小部分支持包括Ubuntu在内的linux。

Dropbox全面支持Ubuntu，它有一个很好的整合了ubuntu桌面系统和其他通知栏的客户端。Box，官方的Box.net也可以通过WebDav协议支持linux。

这里有一段来自Canonical公司关于Ubuntu One的摘录：

>
> 从4月2日开始，就不能访问Ubuntu One中的存储或音乐了。Ubuntu One服务也不会再包含在Ubuntu 14.04 LTS中，而Ubuntu One的应用也将从Ubuntu、Google和Apple的应用商店移除。
>
>
>

也就是说我们在ubuntu中失去了这项有用的服务。另一方面，把你的数据移动到一个更稳定、更好信誉的网盘提供商是一个比较好的选择。

<img src="content_image/album_201405_19_130854df8ee8stzuja8ajs.png" alt="" title="">

这里简要的说明一下怎样在ubuntu中运行DropBox或者Box云服务。

### 在ubuntu中安装DropBox云盘

关于这个话题我们已经写了很多，为了在ubuntu中安装DropBox云盘，你需要按照以下步骤去做，这里提供了一个在ubuntu中一步步安装和使用DropBox的步骤。

查看完整步骤，点这里，或者下面的链接：

<http://www.liberiangeek.net/2013/03/how-to-install-dropbox-in-ubuntu-13-04-raring-ringtail/>

### 在Ubuntu中使用Box网盘

自从Box不再提供给包括ubuntu在内的linux一个全功能客户端，你就必须使用WebDav协议来访问和存储你账户的东西。

按Ctrl – Alt – T来打开终端，终端被打开后，执行下面的命令来安装包：

```
sudo apt-get install davfs2

```

接下来，执行下面的命令来配置davfs2，选择Yes来允许没有权限的用户来挂载WebDav资源。

```
sudo dpkg-reconfigure davfs2

```

接下来通过执行下面的命令把davfs2目录复制到你的home目录：

```
sudo cp -r /etc/davfs2/ $HOME/.davfs2

```

然后执行下面命令获取文件夹的所有权：

```
sudo chown -R username $HOME/.davfs2/

```

用你的用户名代替username

接下来打开密码文件输入你的登录凭证：

```
gedit ~/.davfs2/secrets

```

然后键入你的用户名（email地址）和密码，在文件末尾添加下面的行并保存。

```
https://dav.box.com/dav richard@liberiangeek.net  <box_password>

```

用你的账户信息替换上面的email地址和password。

接下来用下面的命令添加你的账户到davfs2组中：

```
sudo adduser <username> davfs2

```

然后用sudo gedit /etc/fstab 打开/etc/fstab在后面添加下面一行并保存：

```
https://dav.box.com/dav/ /home/<username>/box  davfs _netdev,rw,user 0 0

```

最后创建一个挂载点并挂载Box

```
mkdir ~/box

```

重启你的电脑，Box能开机自动挂载了，

享受下吧！

---

via: <http://www.liberiangeek.net/2014/04/daily-ubuntu-tips-ubuntu-one-shuts-down-switch-to-dropbox-or-box-cloud-services/>

译者：[yujianxuechuan](https://github.com/yujianxuechuan)  校对：[wxy](https://github.com/%E6%A0%A1wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


五种方法检测你的 Linux 是32位还是64位

Summary: 有的时候 Linux 新手们在下载软件的时候十分困惑，因为下载页面常常同时提供32位和64位版本的软件。所以弄清楚你的操作系统是32位的还是64位的十分重要，因为你在做很多事情的时候都需要这个信息。在这篇文章里，我们会讨论五种检测你的Linux系统是32位还是64位的方法。  检测你的 Linux 是32位还是64位的 请注意文中的这些方法是在 Ubuntu 13.10 平台测试. 1. 执行uname -a 命令 最常见的一个测试方法是运行 uname command 命令。 例如，在我的系统里，它显示了以下信息： $ uname -a Linux ubuntu 3.11.0-12-generic #19-Ubuntu SMP Wed

lscpu第一行

cat 或者uname咯

lsb_release -a

这个貌似大家都是啊

SUSE下，我用getconf LONG_BIT

跨平台只有uname 能用

有用，谢谢

我的是centos 也一样可以。谢谢

# 五种方法检测你的 Linux 是32位还是64位

有的时候 Linux 新手们在下载软件的时候十分困惑，因为下载页面常常同时提供32位和64位版本的软件。所以弄清楚你的操作系统是32位的还是64位的十分重要，因为你在做很多事情的时候都需要这个信息。在这篇文章里，我们会讨论五种检测你的Linux系统是32位还是64位的方法。

### 检测你的 Linux 是32位还是64位的

请注意文中的这些方法是在 Ubuntu 13.10 平台测试.

#### 1. 执行‘uname -a’ 命令

最常见的一个测试方法是运行 [uname command](http://mylinuxbook.com/linux-uname-command/) 命令。

例如，在我的系统里，它显示了以下信息：

```
$ uname -a
 Linux ubuntu 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:12:00 UTC 2013 i686 athlon i686 GNU/Linux

```

那个高亮的 **i686** (or 有时候会是i386) 说明操作系统是32位的，但是如果显示的是 **x86\_64**，那就说明这个操作系统是64位的。

#### 2.运行 ‘uname -m’ 命令

上面的命令内涵太多了，可以用这个参数直指人心：‘uname -m’ 。

例如，在我的系统里，它显示了以下信息：

```
$ uname -m
 i686

```

这说明我的 Ubuntu Linux 系统是32位的，如果输出显示的是x86\_64，就说明系统是64位的。

#### 3.使用 file 命令

尽管这样做纯粹是炫耀技巧，但是仍然不失为一种达到目的的方法。使用这个方法，需要你运行 file 命令并带上 **/sbin/init** 作为参数。

举个例子:

```
$ file /sbin/init
 /sbin/init: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xc0d86a25a7abb14cad4a65a1f7d03605bcbd41f6, stripped

```

高亮的 **32-bit** 说明这是一个32位的操作系统,如果显示为 **64-bit** 则说明操作系统是64位的

#### 4. 使用 arch 命令

另外一个可以选择的方法是使用 arch 命令，这个命令用于输出机器的硬件名称。

这里有一个示例:

```
$ arch
 i686

```

在这里你可以看到输出的是 i686, 这说明这是一个32位操作系统，对于64位的操作系统，输出的应该是x86\_64。

#### 5. 通过系统设置的方法

如果你使用的是 Ubuntu 12.04 或更高, 你可以很简单地在\*\* All Settings -> Details\*\*里查看你的系统结构。

这样你就可以看到系统类型(32-bit)在这里清晰地显示出来。

你还知道别的方法来检测操作系统是32位还是64位的吗？在下面回复与我们分享吧。

---

via: <http://mylinuxbook.com/5-ways-to-check-if-linux-is-32-bit-or-64-bit/>

译者：[crowner](https://github.com/crowner) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


开源赛车游戏 StuntRally 的新的 2.3 版本看起来棒极了

下载看看

转发微博.

我要试试

这种东西也有开源的。。。

@dusthovereverything 试试?

Repost

竟然有win版果断支持！！

不错//@校长Ubuntu: 转发微博

怎么安装啊，软件包下下来了，结果不会安装。

# 开源赛车游戏 StuntRally 的新的 2.3 版本看起来棒极了

<img src="content_image/album_201405_19_223502bgawg684nminihbz.jpg" alt="" title="">

StuntRally是一个有着多达150条特色赛道和大量汽车模型的免费赛车游戏，它刚刚发布了最新的2.3版本，新版本的画质有了很大的提高。

该游戏是建立在大量的开源技术上的，如Vdrift，bullet，OGRE，PagedGeometry和MyGUI，虽然在此仅仅举了这几个例子，但是这个游戏绝对不是一个简单的项目。 仅仅从他的特点描述中就能看出，StuntRally大概是在Linux平台上最有前景的开源街机赛车游戏之一。

玩家可以从153条赛车轨道和24个关卡中感受到游戏的魅力，并且这款游戏超过四个小时的游戏时间真是业界良心啊。 StuntRally特色功能有幽灵驾驶模式（在比赛中最接近你的赛车的视角），赛道幽灵车（每条赛道上都有一个绿色的幽灵记录车），当然还有回放（保存你得驾驶记录，并且你可以从其他的摄像头视角观看）。当然，游戏中也有教程，锦标赛，挑战赛以及多人比赛等。但是这些功能都仅仅只是表面的特点。

如果我们注意到这是一个免费的游戏，仅仅是开发人员在业余时所做的，Stuntrally的图形效果就已经相当不错了。游戏中玩家需要设定八个的图形参数，包裹地形的视差，三维映射，汽车和水中的倒影，水的折射，开花，运动模糊，SSAO，景深，日光和HDR。其中一些最新的功能将需要玩家重新购买一个新的显卡才行。

除此之外，开发商还开发了赛道编辑器，允许用户实时编辑比赛道路和它们的参数，通过改变赛道的参数、调整地形，甚至修改自己的赛车，从而让驾驶乐趣倍增。

这次的变更说明显示，所有的赛道都被重新制作了，所有的纹理地形贴图已经升级到1K像素，背景噪音目前也有了很多的变化，不再是单一的一种声音，光线现在也有了多个照射路径，更加真实，草的密度现在已经渲染到了一个极致，动态摄像机也已经添加，并且游戏开始的燃料现在取决于轨道长度。

此外，用户现在可以选择的地形纹理、草和植被模型窗口，地形编辑，现在按键比之前方便了很多，新版本的编辑器中有大量的修改，比如，图层按钮已被调换，赛道编辑器的起始位置也已经改变，图层，草和植被按钮上的已被更新，对地形和路面参数的表面标签已被添加，等等。

关于StuntRally的这一新版本的更多详情，可在[公告](https://code.google.com/p/vdrift-ogre/wiki/VersionHistory)中找到。你现在可以从官方[网站](http://sourceforge.net/projects/stuntrally/files/)下载StuntRally2.3。

---

via: <http://news.softpedia.com/news/The-new-Open-Source-StuntRally-2-3-Racing-Game-Looks-Great-441726.shtml>

译者：[MikeCoder](https://github.com/MikeCoder) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


树莓派进阶学习的五个建议

Summary: 从SSH到端口转发，这些先进的技术将让你的树莓派开发更简单。  当你可以在命令行输入命令时，你就不再是一个新手在做一些新手的设置了。虽然进度不快，但是你的确正在通过你的方式去学习使用这物超所值的、只有信用卡大小的计算机去满足一些DIY想法，这就是树莓派。  然而，从基础跨越到中级还是存在较大距离。当你从设置你的派的教程转而学习创建一个媒体服务器时，项目开始前的需求就会有一点点挑战。许多中级的Pi教程，包括ReadWrite的一些文章，都会假设你已经对树莓派设置好了一些东西。  并非每一个项目都需要找个教程里的所有建议

硬件再强大些就好了

我的首篇翻译[兔子]，从中知道了树莓派[爱你]

好惭愧 //@cc诗诗ss-disylee:我的首篇翻译[兔子]，从中知道了树莓派[爱你]

回复@cc诗诗ss-disylee:[good] //@cc诗诗ss-disylee:我的首篇翻译[兔子]，从中知道了树莓派[爱你]

回复@cc诗诗ss-disylee:[good]

第一次使用的时候，不知道ip，怎么登录到树莓派，使用sudo ifconfig 命令，查看ip地址呀？ 是不是可 以从路

安装完成之后，需要设置静态ip，这样就可以知道了。或者ifconfig查看当前ip.

# 树莓派进阶学习的五个建议

>
> 从SSH到端口转发，这些先进的技术将让你的树莓派开发更简单。
>
>
>

当你可以在命令行输入命令时，你就不再是一个新手在做一些[新手的设置](http://www.raspberrypi.org/downloads/)了。虽然进度不快，但是你的确正在通过你的方式去学习使用这物超所值的、只有信用卡大小的计算机去满足一些DIY想法，这就是树莓派。

>
> 然而，从基础跨越到中级还是存在较大距离。当你从“设置你的派”的教程转而学习“创建一个媒体服务器”时，项目开始前的需求就会有一点点挑战。许多中级的Pi教程，包括ReadWrite的一些文章，都会假设你已经对树莓派设置好了一些东西。
>
>
>

并非每一个项目都需要找个教程里的所有建议，但是知道这些步骤可以使项目更顺利地贴合需求。

当你准备脱离小白行列时，做一些树莓派教程的预先准备工作对你非常有用。

### 1) 使用SSH登录

SSH意思是[Secure Shell](http://en.wikipedia.org/wiki/Secure_Shell)，它是一种加密网络协议，用于安全地在计算机与树莓派之间传输你的数据。项目中也许需要你通过你的计算机的命令行控制树莓派，而不是通过给树莓派连接显示器和键盘来控制。

现在SSH已经预先安装在树莓派系统 [Raspbian](http://www.raspbian.org/) 中了，所以如果你安装的是最新版本或较新版本的树莓派都是支持SSH使用的。

要使用SSH，第一，你需要知道你的树莓派的IP地址，在你的树莓派中输入以下命令：

```
sudo ifconfig

```

[会显示出三个段落](https://learn.adafruit.com/adafruits-raspberry-pi-lesson-3-network-setup/finding-your-pis-ip-address)。你的IP地址将会在第一段或者第三段显示，这主要看你的树莓派是通过线缆还是通过WIFI适配器连接网络的。如果是通过线缆连接，那请查看第一段，在“eth0”那行开始显示。如果是通过wifi链接，将在第三段“wlan0”开头的地方显示。

无论通过哪种方式，你将会看到以“inet addr”开头后面跟着像192.168.2.2这样类型的IP地址，这是我们在这篇文章中经常引用到的一种默认IP地址格式。

现在你有一个可以连接树莓派与你的电脑的IP地址了，如果你使用的是Mac，你已经有了内置的SSH，启动你的终端应用并输入：

```
ssh pi@192.168.2.2

```

连接之后将会要求输入密码，默认情况下，密码一般是“respberry”.如果你修改了默认密码，请输入你的新密码。这样，您将登入了树莓派系统。

如果你在一台PC，还需要附加的一个步骤。

下载并运行[PuTTY](http://www.chiark.greenend.org.uk/%7Esgtatham/putty/)或者其它支持Windows系统的SSH客户端。输入你的IP地址在如上截图中的输入框中。保持默认端口为22不变。然后安心回车，PuTTY将会提示你输入用户名和密码。输入之后，就可以开始在你的树莓派里远程工作了。

### 2) 使用远程桌面连接到你的树莓派

使用SSH去从命令行远程控制你的Pi是极好的，但是如果你想通过图形界面去管理你的Pi怎么办呢？幸运的是MAC和PC都已经内建了这种方式。

在你的树莓派中的命令行（是的，你可以通过SSH来操作），输入：

```
sudo apt-get install xrdp

```

xdrp是一种在可以在后台运行的计算机[守护进程](http://en.wikipedia.org/wiki/Daemon_(computing))，并支持Mac和PC上的微软远程桌面客户端。当树莓派中安装好xrdp之后，你的MAC或者PC就可以通过客户端登录到树莓派中了。

找到你的电脑中一个叫远程桌面的客户端。它本身并不是隐藏起来的，但没有放到应用程序的文件夹中。

出现上述提示时输入你的IP地址。接下来会弹出xrdp窗口，提示你输入用户名和密码。

如果进展顺利，你的树莓派桌面就会在你的电脑屏幕上的窗口里面显示出来了。

### 3) 给你的树莓派设置一个家庭网络的静态地址

在之前（第一步）找到的树莓派的IP地址现在是可以连接的，但是不能保证你的路由器会一直给你的树莓派分配一个永久固定的IP地址。这意味着在你网段中的其它计算机无法知道树莓派被分配了什么IP地址。那么如何来给树莓派分配静态的IP地址而不是每隔几天就在树莓派上执行“sudo ifconfig”命令，或者糟糕到每隔几个小时一次？

显然，我们要从“ifconfig”命令开始，所以输入：

```
sudo ifconfig

```

拿出笔和纸做准备，记录下面的三个IP地址。（#后面的代码是注释，实际不会显示.）：

```
inet addr: 192.168.2.2 # 树莓派的当前IP地址
Bcast: 192.168.0.255 # 地址广播范围
Mask: 255.255.255.0 # 子网掩码

```

此外，你还需要知道另外2个信息。请输入以下命令获取网关和目的地址（译注：实际上我们只需要知道默认网关的IP就行了）。

```
netstat -nr

```

接下来，去查看你路由器上的配置。（如何进行这一步主要取决于你用什么路由器，所以还是查看下说明书吧）找出你的设备通过DHCP设置了哪段ip地址。有些地址是不能使用的，因为DHCP协议中已经分配使用了。所以要选择没有被使用的，例如，192.168.2.2。你的路由器也许可以让你保留一个未使用的IP地址，固定分配给像树莓派这样的本地设备。（如果你的路由器是Belkin，那大概就是这样）如果是这样的，那就不用看下面的部分了。

如果不能固定分配，你需要让树莓派知道它的新的ip地址。我们通过nano编辑器来编辑树莓派中相关的文件。

```
sudo nano /etc/network/interfaces

```

将“iface eth0 inet dhcp”这一段修改成“iface eth0 inet static”，也就是将动态获取IP修改成静态IP。

接下来输入如下，将下列X取代成你之前所记下来的地址信息。最上面的地址是我们将要把DHCP中没有使用的IP地址分配作为树莓派的静态IP地址。

```
address 192.168.2.2
netmask XXX.XXX.XXX.X
network XXX.XXX.X.X
broadcast XXX.XXX.X.X
gateway XXX.XXX.X.X
```

使用“sudo reboot”的命令重启树莓派系统后，在命令行再次输入“ifconfig”，我们刚刚新设置的静态IP设置就会呈现。

### 4) 端口转发至树莓派

一些树莓派程序可能需要你转发一个特定的网络端口号到你的树莓派。端口是信息在互联网传送的虚拟路径。有时候你需要转发一个端口来使像树莓派这样计算机可以被互联网访问，即使它在路由器后面。这种情况有点像拨电话分机号一样。

端口转发能够用于像[树莓派网页服务器](http://raspberrywebserver.com/serveradmin/get-your-raspberry-pi-web-site-on-line.html)，树莓派的VOIP或者简单的点对点下载。有超过65000个端口可供选择，你可以分配不同的端口给不同的树莓派项目用来进行通信。

某些端口默认情况下代表着特定的应用。例如80端口默认为HTML页面，21端口默认代表FTP传输，1194端口默认用于设置VPN服务器。所以大多数情况下，你应该选择默认的端口提供服务。

设置端口转发的方法完全取决于你的路由器，于是很难创建一个固定的关于设置[端口转发](http://portforward.com/help/portforwarding.htm)教程。你只能阅读你路由器的说明书来定义端口和转发了。

下面链接了几个主流路由器厂商的端口转发教程。

* [Belkin](http://www.belkin.com/us/support-article?articleNum=10790)
* [Netgear](http://kb.netgear.com/app/answers/detail/a_id/24046/%7E/how-do-i-configure-port-forwarding-on-routers-with-the-netgear-genie-interface%3F)
* [Linksys](http://kb.linksys.com/Linksys/ukp.aspx?pid=80&vw=1&articleid=21470)

### 5) 在互联网上给你的树莓派设置静态地址

再次声明，如果你的运营商给了你一个静态IP，你就不需要看这个部分了。

我们已经给树莓派设置了一个静态的内部IP地址，这意味着在你的内部网络中总是能够连到你的树莓派。但是如果程序需要树莓派连接到互联网呢？如果你想要在你的树莓派上搭建一个Web服务器，在你网络之外的人们需要知道你的树莓派在哪里，这意味着我们要来设置一个像静态IP的公开地址。

我之所以说“看起来像”是因为我们已经设置了一个伪静态IP地址。通常，你所在的运营商将会不断变换分配给你的地址。所以每一次有人连接到你的树莓派时，我们就要写个脚本说：“树莓派已经搬家了，让我带你去新的地址吧！ ”

我们可以通过[DDNS](http://en.wikipedia.org/wiki/Dynamic_DNS)（即动态DNS）来实现，它实时维护名字解析，并通过 [DDClient](http://sourceforge.net/p/ddclient/wiki/Home/) 程序通知DDNS修改指向到你的树莓派。

首先需要注册一个类似[DNS Dynamic](https://www.dnsdynamic.org/)的动态主机服务。根据指示并创建新的名称服务器类似Yourserver.dnsdynamic.com.

接下来进入树莓派中的命令行，使用下面命令来安装DDNS客户端：

```
sudo apt-get install ddclient

```

我们需要编辑DDNS客户端配置，使用新的名称服务器：

```
sudo nano /etc/ddclient/ddclient.conf

```

每种服务配置都会有略微的不同，但是DDNS的网站会告诉你需要在配置文件中修改的内容。一个标准的DDNS配置，举个栗子，如 [DDNS配置](http://dnsdynamic.blog.com/2011/06/26/using-ddclient-with-dnsdynamic/)，可以直接复制粘贴。

你的运营商不会因为你的这个文件而停止更新给你分配的IP地址，因此我们在脚本的最前面设置一个守护进程执行的频度，以确保及时检查IP地址是否已经更改。

```
daemon=600
# check every 600 seconds

```

这里设置的是每10分钟检查一次，这是一个不错的选择。如果你设置成每秒钟检查一次，你的动态服务器恐怕不干，因为这样对它来说是一种轰炸。记得按下ctrl+x保存并退出配置文件。

接下来，输入：

```
ddclient
```

如上输入程序的名称就可以运行了。当你的树莓派开着的时候就会持续运行了。如果你重启树莓派，键入 “ddclient”就会重新开始运行了。

现在你的树莓派已经被装修一番，可以迎接更高级的教程了，请从中获得更多乐趣吧！

### 关于作者：

本文的美女作者：[Lauren Orsini](http://readwrite.com/author/lauren-orsini#awesm=%7EoEMljxDCpMKnXj)是一个专业记者、业余程序员和全职宅女，她住在饱受交通之苦的Arlington, VA。

---

via: [http://readwrite.com/2014/04/09/raspberry-pi-projects-ssh-remote-desktop-static-ip-tutorial#feed=/hack&awesm=~oB1b7zvteUQGOV](http://readwrite.com/2014/04/09/raspberry-pi-projects-ssh-remote-desktop-static-ip-tutorial#feed=/hack&awesm=%7EoB1b7zvteUQGOV)

译者：[disylee](https://github.com/disylee) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Ubuntu现在运行在世界最快超级计算机上

Summary: Canonical公司意图创建最常用的Linux桌面发行版，然而它也成为了最成功的服务器操作系统之一。事实上，Ubuntu Server, Ubuntu Openstack 和 Ubuntu的编制工具Juju，正在运行在世界上最强的超级计算机上。 现在，世界上最强大的超级计算机是天河二号，它在中国的广东省。据它的制造者介绍，这些服务器使用Intel Xeon处理器、Intel Xeon Phi协同处理器，它有每秒160Gb的传输速度用于两个节点之间超高速传输。从2013年以来它一直保持着最强记录。 Ubuntu OpenStack运行在256个高性能节点上，而且在接下来的数月将会增长至超过6400个节点。这

Repost

@一位不愿意透露姓名的司徒剑仙 是超算中心里的那个咩？

“广东政府部门和其他国防科技大学的合作伙伴们使用，用于进行分析、人口普查以及运行电子政务应用程序” ……额……

一直在想一个问题：美国真的没能力做最快的计算机？<br />
另，花那么多钱制造最快的计算机就是给政府使用？为何

人口普查？？？？

# Ubuntu现在运行在世界最快超级计算机上

<img src="content_image/album_201405_21_092605rn4r2ojjaa99a762.jpg" alt="" title="">

**Canonical公司意图创建最常用的Linux桌面发行版，然而它也成为了最成功的服务器操作系统之一。事实上，Ubuntu Server, Ubuntu Openstack 和 Ubuntu的编制工具Juju，正在运行在世界上最强的超级计算机上。**

现在，世界上最强大的超级计算机是天河二号，它在中国的广东省。据它的制造者介绍，这些服务器使用Intel Xeon处理器、Intel Xeon Phi协同处理器，它有每秒160Gb的传输速度用于两个节点之间超高速传输。从2013年以来它一直保持着最强记录。

“Ubuntu OpenStack运行在256个高性能节点上，而且在接下来的数月将会增长至超过6400个节点。这些节点将能够提供给广东政府部门和其他国防科技大学的合作伙伴们使用，用于进行分析、人口普查以及运行电子政务应用程序。”

“OpenStack和Ubuntu的编制工具Juju都将运行在天河二号上，使国防科技大学的合作伙伴和联盟机构能够快速部署和管理高性能云环境”官方的[通告](https://insights.ubuntu.com/2014/05/14/nudt-and-canonical-bring-openstack-to-worlds-fastest-supercomputer/)中这样写道。

Canonical公司正在努力推动中国市场，并且他们已经正在尝试用Ubuntu Kylin覆盖桌面生态系统，正当微软宣布Windows XP生命终结的同时，它抓住了一个很好的时机。

---

via: <http://news.softpedia.com/news/Ubuntu-Is-Now-Running-on-World-s-Fastest-Supercomputer-442733.shtml>

译者：[linuhap](https://github.com/linuhap) 校对：[reinoir](https://github.com/reinoir)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linus对支持链接时优化(LTO)的Linux内核并不看好

Summary: 之前，用于启用Linux 3.15内核的实验LTO支持的补丁已经发布了一个PR（上拉请求），但Linus Torvalds 还没有决定他是否会接受这段代码到上游的Linux内核 Linus 仍然没看到链接时优化内核（LTO：ink-time optimizations）的好处，也不确认这段代码是否已准备好放入主干中。 LTO的Linux kernel有一个好处是，可以减小Linux内核镜像的大小，而且更快和更高效。在GCC中配合使用LTO会使整个程序在链接阶段就实现整个的二进制优化。先前的结果表明，一个LTO的内核可以减少超过10％的尺寸大小，并且内核优化后比常规的内核快百分之几，但是它目前

# Linus对支持链接时优化(LTO)的Linux内核并不看好

之前，用于[启用Linux 3.15内核的实验LTO支持](http://www.phoronix.com/scan.php?page=news_item&px=MTY1ODA)的补丁已经发布了一个PR（上拉请求），但Linus Torvalds 还没有决定他是否会接受这段代码到上游的Linux内核…… Linus 仍然没看到链接时优化内核（LTO：Link-time optimizations）的好处，也不确认这段代码是否已准备好放入主干中。

[LTO的Linux kernel](http://www.phoronix.com/scan.php?page=news_item&px=MTY0OTc)有一个好处是，可以减小Linux内核镜像的大小，而且更快和更高效。在GCC中配合使用LTO会使整个程序在链接阶段就实现整个的二进制优化。先前的结果表明，一个LTO的内核可以减少超过10％的尺寸大小，并且内核优化后比常规的内核快百分之几，但是它目前的问题是需要占用更多的系统内存以及更长的编译时间。

<img src="content_image/album_201405_21_102447dv64yk9va4966u7k.jpeg" alt="" title="">

这个推送给Linux 3.15 LTO Kconfig的PR，希望在下一个内核版本中的增加一个实验性选项。作为回复，Linus Torvalds[写道](http://lkml.iu.edu/hypermail/linux/kernel/1404.1/00275.html):

>
> 到目前为止，我有几个不进行合并的原因(“实验性太强，我们甚至不希望鼓励人们去测试它”，以及“它不是完全可靠，并且使得编译时间变的**很长**").
>
>
> 而且至今没有人真正和我讨论过，为什么我*应该*合并它（译注：Linus的意思是说其实没有人真正知道，并且讨论合并LTO的理由）。
>
>
> 如上，我是这样觉得的，这让我多少动力去合并它。
>
>
> 所以我认为我应该让“子弹飞一会儿”，*直到*人们开始讨论它带来的好处。最终的结果是到底可以小到什么程度呢？快到什么程度呢？能干的多漂亮呢？是否会有新的更酷的东西出现？那些很酷的事情真地快要来到了吗？真的希望这个可以被合并，甚至在还没完全准备好的情况下？
>
>
> 所以，请说服我。Andi？
>
>
> Linus
>
>
>

作为对Linus的关注的回应，LTO内核变得尺寸更小了，通过把未使用代码的自动淘汰，它们减少了对许多低级Kconfig符号的需要、减少了所需的配置选项的数目。来自Tim bird的几个报告显示，在ARM上带有LTO配置的内核可以减少11％的尺寸，而其他用户甚至最多减少了30％。也有报告称系统调用减少了约4％。基准测试的结果根据测试负载有所差异，但一般都有几个百分点的提升。

如今，Linux内核是否支持[链接时优化](http://www.phoronix.com/scan.php?page=search&q=link-time+optimization)仍然在讨论，Linus 是否愿意合并此实验性功能到Linux 3.15还不明朗。

---

via: <http://www.phoronix.com/scan.php?page=news_item&px=MTY1OTg>

译者：[owen-carter](https://github.com/owen-carter) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


如何在 Win8 上禁用 UEFI 安全引导以安装Linux

Summary: 现在，如果你买了预装 Windows 的电脑，一般都是 Windows8 或 Windows8.1。从 Windows8 开始，微软用 UEFI 取代了 BIOS。尽管 UEFI 不是微软发明的，在 Windows8 之前它就已经存在。比如某些 Mac 设备使用 UEFI 已经有一段时间了。 UEFI 有安全启动这个特点，引导程序只会启动那些得到 UEFI 固件签署的引导装载程序。此安全功能可以防止 Rootkit 类的恶意软件，并提供了额外的安全层。但它有一个缺点，如果你想在 Win8的电脑上双引导 Linux ，安全机制会阻止这样做。这篇文章告诉大家如何在Win8中禁用UEFI安全引导，以支持 Linux 的双系统

Mac采用的是EFI而不应该算作是UEFI，两者似乎还是有点区别的。

UEFI 也可以开机时按 F12 直接进入。而且标题应该是禁用“安全启动”而不是禁用 UEFI ，这样会误导别人以为

sdf

在最重要禁用UEFI的地方，图没截全[哼]，我能说写的不认真吗//@爱开源的钟情GNOME: sdf

Uefi不也能吗？我就在Surface Pro上装过linux

转发微博。

ubuntu克服了，win8&ubuntu14.04 双系统uefi照开

回复@dusthovereverything:Linux购买了uefi的安全启动密钥，花了99美刀。其对应的公钥控制在微软手里。如果微软宣布废除公钥，那linux就无法安装在uefi的电脑上了。

@Mike-子渊 你标题好像翻译的有点出入的样子...安全启动没有翻出来..

链接已挂

回复@dusthovereverything:是的，您说的没错，这是我的错误~~马上改。。 //@dusthovereverything:回复@乌笨兔畜牧兽医: 嗯，的确。我是觉得标题欠妥，这样容易误导消费者，因为文中只说明了关闭的是对应的安全策略而不是整个UEFI

UEFI 是个好东西，只是安全启动功能的负面牵绊了自由。

回复@Crzidea:没啊~

对不起，是我校对时候手残给删除了。。[委屈]//@Andy-风动: @Mike-子渊 你标题好像翻译的有点出入的样子...安全启动没有翻出来..

在一些平台上，Secure Boot是在Security目录下，而非Boot目录。此外，在一些平台上，Secure Boot与CSM的设

# 如何在 Win8 上禁用 UEFI 安全引导以安装Linux

现在，如果你买了预装 Windows 的电脑，一般都是 Windows8 或 Windows8.1。从 Windows8 开始，微软用 UEFI 取代了 BIOS。尽管 UEFI 不是微软发明的，在 Windows8 之前它就已经存在。比如某些 Mac 设备使用 UEFI 已经有一段时间了。

UEFI 有“安全启动”这个特点，引导程序只会启动那些得到 UEFI 固件签署的引导装载程序。此安全功能可以防止 Rootkit 类的恶意软件，并提供了额外的安全层。但它有一个缺点，如果你想在 Win8的电脑上双引导 Linux ，安全机制会阻止这样做。这篇文章告诉大家如何在Win8中禁用UEFI安全引导，以支持 Linux 的双系统启动。

### 在Windows 8 & 8.1上禁用UEFI安全启动

关于安全启动，充斥着各种各样的说法。由于这些传闻，有些人几乎认为在预装 Windows8 的电脑上启动 Linux 是不可能的。虽然在 ARM PC上这是真的，但是在基于 Intel 的系统上安全引导是可以被禁用的。老实说，**禁用UEFI安全启动**不是一个艰巨的任务，同样的双启动的 Linux 与 Windows 8 也不是。

虽然在 BIOS 时代，访问 BIOS 是相当简单的，在启动的时候按 F10 或 F12 键即可。但是在 UEFI 的世界里，就不一样了。要访问 UEFI 设置，你就必须进入到 Windows 中去。让我们来看看如何在 Windows 8 中访问 UEFI 设置来禁用安全启动。

#### Step 1: 进入PC设置

点击 Windows+I 按钮进入 Windows 设置界面。在底部，你会看到更改电脑设置的选项。点击它。

#### Step 2: 进入高级启动

在 Windows 8 和 Windows8.1 上，PC设置有一个细微的差别。依照你使用的系统不同，分别按照下面介绍的各个步骤进行操作：

Windows 8的：在Windows 8中，你需要进入通用PC设置，并选择**高级启动**，然后点击**立即重新启动：**

**Window 8.1**的：在 Windows8.1，从左侧边栏点击**更新和恢复**：

然后单击**立即重新启动**下的**高级启动**：

不要担心！这之后并不会立刻重新启动，而是会在下一步看到一些选项。

#### Step 4: 进入UEFI设置

当您单击了立即重新启动按钮，在下一页屏幕中，你将会看到一些可以选择的选项。这里选择**疑难解答**：

在**疑难解答**菜单中，选择**高级选项**：

在高级选项菜单中，选择**UEFI固件设置**：

接下来，在UEFI设置里，点击**重新启动**按钮重新启动您的系统，就会看到类似BIOS一样的界面。

#### Step 5: 在 UEFI 中禁用安全启动

这个时候，你一定已经启动到 UEFI 工具界面。你可以在这里更改各种设置。但我们想要做的，只是禁用安全启动选项，允许 Ubuntu 或者任何其它 Linux 版本的双启动。

移动到启动选项卡，在那里你会发现**安全引导**选项被设置为启用。使用箭头键进入安全引导选项，然后按**回车键**来选择它。 *使用+或 - 来改变它的值。按*\* F10 键保存更改**并退出 UEFI 设置。**提示时确认即可\*\*。

接下来，您将会正常引导到 Windows。现在，您就支持双启动 Windows8 与 Ubuntu 或其它 Linux 操作系统了。过段时间里我会写关于如何双启动 Ubuntu 与 Windows 8 UEFI 的教程。敬请关注。

我希望这个教程可以帮助您禁用 Windows8 和 Windows8.1 的安全引导。如有任何疑问或建议，欢迎随时评论。

---

via: <http://itsfoss.com/disable-uefi-secure-boot-in-windows-8/>

译者：[MikeCoder](https://github.com/MikeCoder) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Git 1.9.3 的变化

Summary: Git 1.9.3，是一种自由和开放源码的分布式控制版本系统，该设计用于快速有效地处理从小到非常大的项目，现在已经可以提供下载了。 新的Git 1.9.x系列继续保持着大量发布的传统，包含了大量的变动和修复。最新版本系列比我们预期稍微小了一点，但的确做了一些有趣的变化。如果你在使用Git，你也许该考虑升级到最新版本的。 根据开发者所说，git p4在处理二进制文件时受损是由于1.9版本的一些改变，但是这已经被修复了。在shell提示符脚本（在contrib目录/下），使用PROMPT_COMMAND界面时，显示分支名称$PS时不再使用不安全的构造，git reba

# Git 1.9.3 的变化

<img src="content_image/album_201405_21_205100xo67zo07fprwnp6j.jpg" alt="" title="">

**Git 1.9.3，是一种自由和开放源码的分布式控制版本系统，该设计用于快速有效地处理从小到非常大的项目，现在已经可以提供下载了。**

新的Git 1.9.x系列继续保持着大量发布的传统，包含了大量的变动和修复。最新版本系列比我们预期稍微小了一点，但的确做了一些有趣的变化。如果你在使用Git，你也许该考虑升级到最新版本的。

根据开发者所说，“git p4”在处理二进制文件时受损是由于1.9版本的一些改变，但是这已经被修复了。在shell提示符脚本（在contrib目录/下），使用PROMPT\_COMMAND界面时，显示分支名称$PS时不再使用不安全的构造，“git rebase”也不再使用POSIX shell中的结构。

此外，一些在Unicode6.3中定义的代码点的零宽度问题的已经得到修复，在一些不能在FreeBSD中运行的shell结构的测试，也都已经得到修复了。

关于更改的完整列表，请查看[更新日志](https://github.com/git/git/blob/master/Documentation/RelNotes/1.9.3.txt)。

下载Git 1.9.3地址

* [tar.gz](https://github.com/git/git/archive/v1.9.3.tar.gz)[sources] [4.60 MB]
* [Debian/Ubuntu DEB ALL](http://git-scm.com/download/linux)[ubuntu\_deb] [0 KB]
* [Red Hat/Fedora/Mandriva/openSUSE RPM noarch](http://git-scm.com/download/linux)[rh\_rpm] [0 KB]

---

via: <http://news.softpedia.com/news/Git-1-9-3-Version-Control-System-Officially-Released-441600.shtml>

译者：[disylee](https://github.com/disylee) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


在Linux下用命令行中玩转音乐库

Summary: linux下的命令行可能是对于新手而言最恐怖的经历了。我记得花费若干小时来尝试搞明白终端爆出的错误信息。当然，这是完全值得的！如果现在让我只能挑一个让新手学习学习命令行的原因，那可能就是用命令行来整个管理音乐库。在这个事情上，我喜欢用的软件叫做cmus，是"C* MUsic Player"(C音乐播放器)的简写，它完全由C写成。 cmus是一个内置了音频播放器的强大的音乐文件管理器。用它的基于ncurses的命令行界面，你可以浏览你的音乐库，并从播放列表或队列中播放音乐，这一切都是在命令行下。 Linux上安装cmus 首先，你需要按照如下建议设

这个嗲

不错

话说能后台运行么？

Repost

极客是怎样炼成的？都支持哪些音乐格式？估计又不支持中文显示。

尝试过了啊 不错i

3210 首歌成功崩溃.............

不能自己整理播放列表哎……

# 在Linux下用命令行中玩转音乐库

linux下的命令行可能是对于新手而言最恐怖的经历了。我记得花费若干小时来尝试搞明白终端爆出的错误信息。当然，这是完全值得的！如果现在让我只能挑一个让新手学习学习命令行的原因，那可能就是用命令行来整个管理音乐库。在这个事情上，我喜欢用的软件叫做[cmus](https://cmus.github.io/)，是"C\* MUsic Player"(C音乐播放器)的简写，它完全由C写成。

cmus是一个内置了音频播放器的强大的音乐文件管理器。用它的基于ncurses的命令行界面，你可以浏览你的音乐库，并从播放列表或队列中播放音乐，这一切都是在命令行下。

### Linux上安装cmus

首先，你需要按照如下建议设置并安装cmus。

在Ubuntu, Debian 或者Linux Mint中:

```
$ sudo apt-get install cmus

```

在Fedora上，首先[启用RPM Fusion仓库](http://xmodulo.com/2013/06/how-to-install-rpm-fusion-on-fedora.html)，接着运行:

```
$ sudo yum install cmus

```

在CentOS上，首先[启用Repoforge仓库](http://xmodulo.com/2013/01/how-to-set-up-rpmforge-repoforge-repository-on-centos.html)，接着运行:

```
$ sudo yum install cmus

```

在Archlinux上:

```
$ sudo pacman -S cmus

```

安装完之后，在命令行下如下输入就可运行cums:

```
$ cmus

```

### 导入音乐文件到 cmus

第一件要做的事情是导入你的音乐文件到你的库中。这个过程可以看出两个事情：快捷方式受到了vim的命令模式的启发；还有cmus运行的很快。我已经在20秒之内成功地导入了超过1000首歌！而在iTunes或者其他任何图形音乐库软件下试一下导入，我想你会有足够的时间来做一份花生酱三明治 :>。

要在cmus下面导入音乐，输入下面的像vim一样的命令。

```
:a /path/to/your/music/folder

```

在我的Xubuntu上，我这么做:

```
:a /home/adrien/Music/

```

接下来这个目录下所有的音乐文件会立马按照艺术家或者专辑的方式排列显示。

### 快速入门

在开始前，你可能希望记住一些基本快捷方式来开始播放你的音乐。这是cmus的唯一缺点。除非你改变它们，否则默认的快捷方式并不直观，并且你不得不学习它们。简而言之:

* **x** 播放或重播音乐
* **c** 暂停
* **b** 播放下一首音乐
* **z** 播放前一首音乐
* **s** 激活随机播放

记住之后，我们就准备开始了！

### 基本使用

cmus的界面由7个界面组成，你可以按下适当的数字键来访问。比如，启动页面是一个树形界面，你随时可以通过按下“1”来访问。这个界面可以很直观地来使用：通过上下键来导航位于左侧面板的艺术家，按下空格就可以看到特定艺术家的专辑，使用tab键来切换到右侧面板来选择某个歌曲，最后按下回车键来播放音乐。

如你所见，底部显示了艺术家的名字，专辑，和正在播放歌曲的标题，还有时间和音量。

第二个界面与第一个刚才显示的类似，显示了按照艺术家排列的歌曲列表。

然而，第三个界面更有用些，它显示了目前的播放列表。要在树形视图或者列表视图下增加一首歌曲，只要在选中的歌曲上输入'y'。当你创建了一个完美的歌单之后，用如下的命令行保存下来。

```
:save /path/to/playlist

```

用下面命令加载:

```
:load /path/to/playlist

```

第四个界面显示的是队列。队列与播放列表的一点不同是，一旦歌曲是按队列播放的，播放结束后就会被移出队列。要把一首歌加入队列，就像把它加到播放列表一样，但是使用快捷方式："e"

第五个界面也同样很有用，它是一个轻量级的文件浏览器。当你在你的电脑中查找一首歌曲而不必加入到库中的时候很有用。导航方式也非常标准：用向上或者向下键，回车键用来进入文件夹或者选中一个文件。

第六界面是一个库过滤器，用来动态创建播放列表。如它听上去的那样，过滤器会遍历你的库，并且只显示符合相关规则定义的音乐。之后我会描述如何定义你自己的过滤器，但是cmus已经自带了一些。要试一下，只要使用:

```
:filter [name of the filter]

```

比如:

```
:filter classical

```

除了带有"Classical"标签的音乐，它会隐藏你库中所有的其它音乐。

最后但同样重要的，第七个界面是设置。在这里，你可以定义你的快捷方式和命令。我会在下一部分给你一些例子。

### 高级用法

正如承诺那样，你现在已经更加熟悉界面了，我会给你一些小技巧来增强你的体验。

要在界面中搜索任何东西，只要如vim那样使用相同的快捷方式

```
/[keyword]

```

还有:

```
n

```

来搜索下一处关键字。

要创建一个你的过滤器，使用语法：

```
:fset [name of the new filter]=[expression]

```

比如，你可以找到所有的旧式摇滚音乐:

```
:fset oldies=genre="Rock"&date<1970

```

要了解更多关于你可以使用的表达式，我建议你仔细阅读文档和已有的过滤器。

要重新播放所有的音乐（不过滤），使用如下命令:

```
:set replaygain=1

```

要改变快捷键到不同的键上，进入设置界面并找出现有的绑定表达式。举个例子来说，我想要将播放快捷方式从"x"改到"w",我会翻到下面的行：

```
common  x       player-play

```

接着按下回车，并改成下面的表达式

```
:bind -f common w player-play

```

总的来说，我真的喜欢cmus。它还有许多本篇中没有提到的技巧，因此在你准备好后，应该认真要读一下[man帮助手册](https://github.com/cmus/cmus/blob/master/Doc/cmus.txt)。简而言之，cmus是一款快速的，易于学习，不会乱动你的文件的好软件。如果你喜欢从命令行下管理音乐库的想法，但是还没有成为cmus的忠实粉丝，我建议你可以先试一下一些替代品，如MOC和PyTone，它们同样也很棒。

你认为cmus怎么样？你喜欢它么，或者作为图形界面的替代品？让我在评论区知道你们的想法。

---

via: <http://xmodulo.com/2014/04/manage-music-library-command-line-linux.html>

译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


保护你的文件，请修改 Linux 中的 Umask 值

Summary: 这篇教程教将指导 Linux 用户如何永久性地更改其系统的 Umask 值。特别建议全新安装的用户学习（想知道为什么的话，请移步下文） Umask 是什么？解释下，UMASK 代表用户掩码或用户文件创建掩码，它用于新创建的文件和文件夹，是其默认权限的基础。  上面的意思可以解释成任何基于 Linux 的操作系统为新建文件(包括文件夹)添加默认权限的规则。出于教育目的，下面列出了一些可以用来设置文件权限的八进制值掩码： 0  读, 写, 可执行 (rwx) 1  读和写 (rw-) 2  读和可执行 (r-x) 3  只读 (r--) 4  写和可执行 (-wx) 5  只写 (-w-) 6  仅可执

没事不要去改，人家都斟酌好了设了默认值，何必去改呢。。。[嘻嘻]

果然是很好的措施~

re

//@Linux中国:时代变了，要与时俱进。//@TinyOS开发者-ytc: 没事不要去改，人家都斟酌好了设了默认值，何必去改呢。。。[嘻嘻]

这个和安装系统时的加密主目录是一回事吗？如果碰到系统起不来的情况，对于新手来说，要操作那些文件是不是会很麻烦，这些文件转移到别的系统之后，权限还在吗？

转发微博.

说半天，到底应该设置成什么值？

mark，好实用

# 保护你的文件，请修改 Linux 中的 Umask 值

**这篇教程教将指导 Linux 用户如何永久性地更改其系统的 Umask 值。特别建议全新安装的用户学习（想知道为什么的话，请移步下文）**

Umask 是什么？解释下，UMASK 代表用户掩码或用户文件创建掩码，它用于新创建的文件和文件夹，是其默认权限的基础。

上面的意思可以解释成任何基于 Linux 的操作系统为新建文件(包括文件夹)添加默认权限的规则。出于教育目的，下面列出了一些可以用来设置文件权限的八进制值**掩码**：

```
0 – 读, 写, 可执行 (rwx)
1 – 读和写 (rw-)
2 – 读和可执行 (r-x)
3 – 只读 (r--)
4 – 写和可执行 (-wx)
5 – 只写 (-w-)
6 – 仅可执行 (--x)
7 – 没有权限 (---)

```

在几乎所有的 Linux 发行版本中默认 Umask 值是 0022(或022)，可以在终端模拟程序中输入 umask 命令来查看。也可以运行 “umask 八进制值掩码” 命令（例如 umask 027）来临时改变这个值。

你也许知道，新创建的文件的默认权限设置原本应该是 0666，文件夹的是 0777。应用上面所说的 umask 值后就得到 644 和 755 权限。

许多意见认为 022 掩码会带来隐私问题，也就是说您所创建的文件对其他用户来说是可随意查看的，一想到这就感到不太爽！

言归正传，用户可以按他们所愿来修改默认的 Umask 值，当然首先要保证修改的值合法。要修改默认值，**请在您的 shell 配置文件中或者 /etc/profile 文件中写入一个新的 Umask 值**。

好了，这就大功告成了！从现在开始，在你的 Linux 系统上新创建的文件或文件夹都会有准确设置的权限。但请注意已经存在的文件或文件夹的权限并不会因为上面的操作而改变。

如果您使用的是命令行，可以在任意目录下运行 ls -lah 命令，就可以看到当前的文件权限。另外，新手也可以很容易地查看到文件权限，在基于 GNOME 桌面的环境中，通过右击文件，选择属性 -> 权限选项卡。

如果你在阅读这篇教程时遇到任何问题，不要犹豫，请留下您的评论。

---

via: <http://news.softpedia.com/news/How-to-Change-Umask-Value-Permanently-in-Linux-435026.shtml>

译者：[runningwater](https://github.com/runningwater) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


基于Aura的Google Chrome浏览器Linux版已提供下载

Summary: 经过似乎漫无止境的等待之后，Google近日正式发布采用Aura（它是这个 搜索巨头开发的内部图形层译注：硬件加速窗口管理器）的Chrome浏览器 for Linux的第一个稳定版本。 用于取代GTK+的Aura, 是用来在屏幕上绘制包括菜单和窗口框架在内的Chrome UI的主体部分（是的，它在局部窗口集成菜单和全局菜单中都能完美工作）。  这个外观框架已经在Windows和Chrome OS builds中使用，因其绝大部分是跨平台的，使得Google能够更快地开发新特性以及保证特性在不同的操作系统中的一致性。 在Linux上，相比GTK+版本的Chrome/Chromium，Aura加速界面能

中央不让装win8，能推荐下吗？

和Chromium都有感情了，怎么办…

没感觉呢。。。

Google这家伙又发明了一个新玩意儿~

悲剧 下载速度好慢 很欣赏Google 对大中华局域网 表示 郁闷

下不动........

# 基于Aura的Google Chrome浏览器Linux版已提供下载

**经过似乎漫无止境的等待之后，Google近日正式发布采用Aura（它是这个 搜索巨头开发的内部图形层————译注：硬件加速窗口管理器）的Chrome浏览器 for Linux的第一个稳定版本。**

用于取代GTK+的Aura, 是用来在屏幕上绘制包括菜单和窗口框架在内的Chrome UI的主体部分（是的，它在局部窗口集成菜单和全局菜单中都能完美工作）。

这个外观框架已经在Windows和Chrome OS builds中使用，因其绝大部分是跨平台的，使得Google能够更快地开发新特性以及保证特性在不同的操作系统中的一致性。

在Linux上，相比GTK+版本的Chrome/Chromium，Aura加速界面能够更加有效地利用GPU的特性。尤其是Aura能够以每个窗口一个OpenGL的方式使用openGL而不是每个标签一个OpenGL。

新版的到来带来了一些额外的特性，包括Chrome通知中心、[一个可选的应用启动器](https://chrome.google.com/webstore/launcher)以及对显示选定的Google Now卡片的支持。

### 其它变化

Chrome 35 稳定版同样带来大量的跨平台变动， 包括为开发者提供若干可用的新扩展API；新的触摸输入管理；以及未说明的‘新JavaScript特性’。

如同每个新版本，Chrome 35 同样包含大量稳定性，性能和安全更新。

点击以下链接下载Google Chrome 35 for Linux：

* [下载Google Chrome](https://www.google.com/chrome/browser/)

---

via: <http://www.omgubuntu.co.uk/2014/05/google-chrome-35-linux-arrives-aura>

译者：[alim0x](https://github.com/alim0x) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


神器！将 Ubuntu 14.04 的所有分支刻录到一张DVD

Summary: Ubuntu 有基于不同桌面环境的几个官方版本。默认的 Ubuntu 自带 Unity 桌面，Kubuntu 则是KDE，Lubuntu 用LXDE，Xubuntu 自带Xfce。除此之外，还有一些其它的版本，但这些是最流行的官方桌面版本。 你该如何选择最适合你的 Ubuntu？一种方法是下载 Ubuntu 不同版本的 ISO 镜像并且通过Live CD或者USB实时运行。但是，这将意味着你将会下载多个 ISO 文件，一个个地写入 USB 盘或者 Live CD。有点麻烦，是吧？ 这就是Ubuntu AIO(ALL IN ONE)出现的原因。该项目是由Start Ubuntu小组部分成员发起的，Ubuntu 的 AIO DVD 可以让你在一张光盘或

最应该搞的是u盘安装方式,比较方便

还以为是工具，原来是iso

真是个神器，因为它不包括优麒麟，全世界都抛弃优麒麟就对了！

回复@YizeroWu:[鼓掌]

Ubuntu 在中国大展拳脚的时候到了，儿童计算机语言教育还是从Linux普及比较科学，欧洲多国都是这样。//@Linux中国:回复@YizeroWu:[鼓掌] //@YizeroWu:昨天刚用 14.04 的 server，结果发现自带 OpenSSL 还是有问题的版本（1.0.1f），然后果断卸载旧版本，编译最新的 1.0.1g , 在这里也提醒大家小心。

Repost

xfce +1，我一台 Ubuntu，一台 Debian 都在用她[害羞]//@這傢伙沒記性:xfce桌面最简单，速度最快 //@Linux中国:回复@YizeroWu:[鼓掌] //@YizeroWu:昨天刚用 14.04 的 server，结果发现自带 OpenSSL 还是有问题的版本（1.0.1f），然后果断卸载旧版本，编译最新的 1.0.1g , 在这里也提醒大家小心。

神器要顶！我是GNOME范...

# 神器！将 Ubuntu 14.04 的所有分支刻录到一张DVD

Ubuntu 有基于不同桌面环境的几个官方版本。默认的 Ubuntu 自带 Unity 桌面，Kubuntu 则是[KDE](http://www.kde.org/)，Lubuntu 用[LXDE](http://lxde.org/)，Xubuntu 自带[Xfce](http://www.xfce.org/)。除此之外，还有一些其它的版本，但这些是最流行的官方桌面版本。

你该如何选择最适合你的 Ubuntu？一种方法是下载 Ubuntu 不同版本的 ISO 镜像并且[通过Live CD或者USB实时运行](http://itsfoss.com/create-live-usb-of-ubuntu-in-windows/)。但是，这将意味着你将会下载多个 ISO 文件，一个个地写入 USB 盘或者 Live CD。有点麻烦，是吧？

这就是[Ubuntu AIO(ALL IN ONE)](http://ubuntuaio.wordpress.com/about-us/)出现的原因。该项目是由[Start Ubuntu](https://wiki.ubuntu.com/StartUbuntu)小组部分成员发起的，Ubuntu 的 AIO DVD 可以让你在一张光盘或者一个U盘中尝试 Ubuntu Unity，Lubuntu，Xubuntu，Kubuntu 和 Ubuntu Gnome 等不同版本。

<img src="content_image/album_201405_22_220229he1rnf34c31vrwei.jpg" alt="" title="">

当然 Ubuntu AIO 也有一些缺点。首先它体积太大了，有将近4.7GB。所以，它不适合于标准的4GB U盘（你得刻录到光盘，或者虚拟光盘）。而且它只有两个版本，第一个是64位版本，包括有 Ubuntu，Kubuntu 和 Ubuntu Gnome，另外一个，则包含有32位版本的 Xubuntu 和 Lubuntu。尽管有缺点，这是一个不错的项目，可以帮助我们选择恰当的 Ubuntu 版本。

下载 Ubuntu AIO DVD

* [Sourceforge](http://sourceforge.net/projects/ubuntuaiodvd/)
* [Softpedia](http://linux.softpedia.com/get/Linux-Distributions/Ubuntu-AIO-DVD-103429.shtml)

[点此](http://ubuntuaio.wordpress.com/about-us/)了解更多。

享受 Ubuntu 吧！

---

via: <http://itsfoss.com/ubuntu-aio-dvd-puts-ubuntu-1404-flavors-disk/>

译者：[MikeCoder](https://github.com/MikeCoder) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Linux / Unix：chroot 命令实例讲解

Summary: 我是一个刚接触 Linux 和 Unix 的新手。我该如何改变一个命令的根目录？我要怎样改变一个进程的根目录呢，比如用 chroot 命令将web服务与文件系统隔离？我要如何使用 chroot 恢复密码或修复基于 Linux/Unix的受损坏的环境？   在 Linux和类 Unix 系统下每一个进程/命令的当前工作目录称之为进程/命令的根目录（译注：译者以为此处有误，实际上没有进行过chroot的进程，其根目录是系统的根目录，而不是其工作目录）。你可以使用 chroot 命令改变一个命令的根目录，这最终将会改变当前运行的进程及其子进程的根目录。 如果一个进程/命令运行

转发微博.

@我的印象笔记

@我的印象笔记

@mark

回复@果壳中的米特尼克:[赞]

chroot 花了我多少闲暇时间…//@Linux中国:回复@果壳中的米特尼克:[赞] //@果壳中的米特尼克:说得简单了点，实际使用上chroot之前最好把环境变量设了，如果需要，proc sys dev 都mount 上。看一遍gentoo的安装手册会大有裨益。最后插一句，chroot是一种很简单的虚拟化技术。

@我的印象笔记

# Linux / Unix：chroot 命令实例讲解

>
> 我是一个刚接触 Linux 和 Unix 的新手。我该如何改变一个命令的根目录？我要怎样改变一个进程的根目录呢，比如用 chroot 命令将web服务与文件系统隔离？我要如何使用 chroot 恢复密码或修复基于 Linux/Unix的受损坏的环境？
>
>
>

在 Linux和类 Unix 系统下每一个进程/命令的当前工作目录称之为进程/命令的根目录（译注：译者以为此处有误，实际上没有进行过chroot的进程，其根目录是系统的根目录，而不是其工作目录）。你可以使用 chroot 命令改变一个命令的根目录，这最终将会改变当前运行的进程及其子进程的根目录。

如果一个进程/命令运行在一个不能访问外部根目录文件的已修改环境中。这种修改环境通常被称为"监禁目录"（jail）或是"chroot 监禁"。只有特权进程和根用户才能使用 chroot 命令。然而这通常是很有用的：

1. 将特权分配给无特权的进程，例如 Web 服务或 DNS 服务。
2. 建立测试环境。
3. 不使程序或系统崩溃下，运行旧程序或 ABI 兼容的程序。
4. 系统恢复。
5. 重新安装引导装载程序，例如 Grub 或 Lilo。
6. 密码找回，重置一个已丢失的密码等。

### 用途

>
> chroot 命令 **改变其当前目录，并将根目录变为指定目录,然后如果提供了命令则运行命令**，也可以运行一个用户的交互式shell的副本（译注：即bash等。）。请注意并不是每一个程序都可以使用 chroot 命令。
>
>
>

### 语法

基本语法如下：

```
chroot /path/to/new/root command

```

或者

```
chroot /path/to/new/root /path/to/server

```

或者

```
chroot [options] /path/to/new/root /path/to/server

```

#### chroot 命令实例

在这个例子中，建立了一个"迷你监狱"用来测试一个只有 ls 命令的 Bash shell。首先用 mkdir 命令设定好 jail "监狱" 路径。

```
$ J=$HOME/jail

```

在 $J 内创建目录：

```
$ mkdir -p $J
$ mkdir -p $J/{bin,lib64,lib}
$ cd $J

```

用[cp 命令](http://www.cyberciti.biz/faq/cp-copy-command-in-unix-examples/)将/bin/bash 和 /bin/ls 复制到 $J/bin/ 路径下：

```
$ cp -v /bin/{bash,ls} $J/bin

```

将所需库文件拷贝到$J。可以用 ldd 命令找到 bash 所依赖的共享库。

```
$ ldd /bin/bash

```

输出样例：

```
linux-vdso.so.1 =>  (0x00007fff8d987000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00000032f7a00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000032f6e00000)
libc.so.6 => /lib64/libc.so.6 (0x00000032f7200000)
/lib64/ld-linux-x86-64.so.2 (0x00000032f6a00000)

```

直接拷贝上面输出中的库文件到 $J 目录：

```
$ cp -v /lib64/libtinfo.so.5 /lib64/libdl.so.2 /lib64/libc.so.6 /lib64/ld-linux-x86-64.so.2 $J/lib64/

```

输出样例：

```
`/lib64/libtinfo.so.5' -> `/home/vivek/jail/lib64/libtinfo.so.5'
`/lib64/libdl.so.2' -> `/home/vivek/jail/lib64/libdl.so.2'
`/lib64/libc.so.6' -> `/home/vivek/jail/lib64/libc.so.6'
`/lib64/ld-linux-x86-64.so.2' -> `/home/vivek/jail/lib64/ld-linux-x86-64.so.2'

```

复制 ls 命令所需的库文件到 $J 目录下。用 ldd 命令打印出 ls 命令依赖的共享库：

```
$ ldd /bin/ls

```

输出样例：

```
linux-vdso.so.1 =>  (0x00007fff68dff000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00000032f8a00000)
librt.so.1 => /lib64/librt.so.1 (0x00000032f7a00000)
libcap.so.2 => /lib64/libcap.so.2 (0x00000032fda00000)
libacl.so.1 => /lib64/libacl.so.1 (0x00000032fbe00000)
libc.so.6 => /lib64/libc.so.6 (0x00000032f7200000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000032f6e00000)
/lib64/ld-linux-x86-64.so.2 (0x00000032f6a00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000032f7600000)
libattr.so.1 => /lib64/libattr.so.1 (0x00000032f9600000)

```

你可以一个个的复制库文件，为了更高效的作业，我们也可以使用[bash shell 的循环指令](http://www.cyberciti.biz/faq/bash-for-loop/)实现：

```
list="$(ldd /bin/ls | egrep -o '/lib.*\.[0-9]')"
for i in $list; do cp  -v "$i" "${J}${i}"; done

```

输出样例：

```
`/lib64/libselinux.so.1' -> `/home/vivek/jail/lib64/libselinux.so.1'
`/lib64/librt.so.1' -> `/home/vivek/jail/lib64/librt.so.1'
`/lib64/libcap.so.2' -> `/home/vivek/jail/lib64/libcap.so.2'
`/lib64/libacl.so.1' -> `/home/vivek/jail/lib64/libacl.so.1'
`/lib64/libc.so.6' -> `/home/vivek/jail/lib64/libc.so.6'
`/lib64/libdl.so.2' -> `/home/vivek/jail/lib64/libdl.so.2'
`/lib64/ld-linux-x86-64.so.2' -> `/home/vivek/jail/lib64/ld-linux-x86-64.so.2'
`/lib64/libpthread.so.0' -> `/home/vivek/jail/lib64/libpthread.so.0'
`/lib64/libattr.so.1' -> `/home/vivek/jail/lib64/libattr.so.1'

```

最后，chroot 到你的新jail：

```
$ sudo chroot $J /bin/bash

```

尝试浏览一下 /etc 或 /var：

```
# ls /
# ls /etc/
# ls /var/

```

改变了根目录的 bash 和 ls 程序现在被监禁在$HOME/$J这个特殊目录中，而且不能再访问外部的目录树，这个目录可以看做是它们的"/"(root)目录。如果配置正确的话,这会极大增强安全性。我通常用这种技术锁定以下的应用程序。

1. [Apache - Red Hat / CentOS: Chroot Apache 2 Web Server](http://www.cyberciti.biz/tips/chroot-apache-under-rhel-fedora-centos-linux.html)
2. [Nginx - Linux nginx: Chroot (Jail) Setup](http://www.cyberciti.biz/faq/howto-run-nginx-in-a-chroot-jail/)
3. [Chroot Lighttpd web server on a Linux based system](http://www.cyberciti.biz/tips/howto-setup-lighttpd-php-mysql-chrooted-jail.html)
4. Chroot mail server.
5. Chroot Bind DNS server 等等

### 如何退出 chroot 监禁呢？

键入 exit 即可

```
$ exit

```

上述会话样例如下：

[](http://www.cyberciti.biz/faq/?attachment_id=28148)

Gif 动画01: Linux / Unix: Bash Chroot ls 命令演示

### 查找服务是否存在于 chrooted 监禁内

你可以用下面两个命令[轻松的找出 Postfix 邮件服务是否已经 chrooted]：

```
pid=$(pidof -s master)
ls -ld /proc/$pid/root

```

从基本Linux服务中输出样例：

```
lrwxrwxrwx. 1 root root 0 Mar  9 11:16 /proc/8613/root -> /

```

PID 8613 指向了 / (root) 也就是说这个程序的根目录并没有被改变或是被 chroot。这个方法非常的快速而又直接，不需要打开配置文件。下面是从已经 chroot 的 ngnix 服务中得到的另一个例子：

```
pid=$(pidof -s master)
ls -ld /proc/$pid/root

```

输出样例：

```
lrwxrwxrwx 1 nginx nginx 0 Mar  9 11:17 /proc/4233/root -> /nginxjail

```

程序的根目录已经改为 /nginxjail。

### 用 chroot 救援和修复软件RAID(磁盘阵列)系统

我先假设基于软RAID的 Linux 系统无法正常启动。所以你[需要用Live CD或用基于网络的内核应急模式](http://www.cyberciti.biz/faq/centos-rhel-linux-mount-raid-hard-disk-from-livecd/)来修复系统。在这个例子中，我用了 Live Linux DVD/CD 启动一个基于 RHEL 的系统，然后再 chroot 到 /dev/sda1 和 /或 /dev/md0 修复问题：

```
## 在 Live CD 的提示符下，键入以下命令来恢复数据。##
## /dev/sda1 系统主分区##
# 建立 jail 目录
d=/chroot
mkdir $d

# 挂载 sda1 和其他所需目录
mount /dev/sda1 $d
mount -o bind /dev $d/dev
mount -o bind /sys $d/sys
mount -o bind /dev/shm $d/dev/shm
mount -o bind /proc $d/proc

# 挂载软件RAID /dev/md0
mount /dev/md0 $d/data

# Chroot 到我们新建的 jail 中。这将允许我们修复引导装载系统(bootloader)，或者在所有文件被/dev/null吞噬之前抓取数据。
chroot $d

#你能看见吗？
ls
df

# 将文件置入安全路径
rsync -avr /path/to/my_precious_data_dir user@safe.location.cyberciti.biz:/path/to/dest

# 退出 jail ,然后重启或者根据个人所需格式化服务 ;)
exit
umount {dev,sys,[...],}
reboot

```

**别急，还有更精彩的内容！**

查看nixCraft下所有其他有关 chroot 命令的文章：

1. [Ubuntu: Mount Encrypted Home Directory (~/.private) From an Ubuntu Live CD](http://www.cyberciti.biz/faq/ubuntu-mounting-your-encrypted-home-from-livecd/)
2. [Linux Configure rssh Chroot Jail To Lock Users To Their Home Directories Only](http://www.cyberciti.biz/tips/howto-linux-unix-rssh-chroot-jail-setup.html)
3. [Fix a dual boot MS-Windows XP/Vista/7/Server and Linux problem](http://www.cyberciti.biz/tips/howto-fix-dual-boot-windows-vista-linux.html)
4. [Restore Debian Linux Grub boot loader](http://www.cyberciti.biz/tips/restore-debian-linux-grub-boot-loader.html)

### 在 Linux 和 类Unix 系统下 chroot 应用程序的注意事项

你应该在各种情况下都用 chroot 特性吗？从上面的例子看出，这个程序是相当简单的，但是最终可能出现几种不同的问题而结束，例如：

1.在 jail 中缺失库文件可能直接导致 jail 崩溃。 1.一些复杂的程序不好被 chroot。所以我建议你要么尝试[真正的jail，例如FreeBSD提供的](http://www.cyberciti.biz/faq/how-to-upgrade-freebsd-jail-vps/)，要么用虚拟化解决，比如[Linux 下的 KVM](http://www.cyberciti.biz/faq/kvm-virtualization-in-redhat-centos-scientific-linux-6/)。 1.正在运行某一程序的 jail 不能再运行其他程序，不能更改任何文件，也不能"假设"另一个用户的身份。放宽这些限制，会降低你的安全性，请根据具体情况 chroot。

还要注意：

1. 当你升级本地程序时，不要忘记升级已 chroot 的程序。
2. 并非所有程序能够或者应该被 chroot。
3. 任何需要 root 权限操作的程序，对其 chroot 是没意义的。因为通常 root 用户都能脱离 chroot。
4. Chroot 并不一个高招。更多的可以学习[如何保护和加强系统的各个部分](http://www.cyberciti.biz/tips/linux-security.html)

### choort 部分命令选项

取自 man 帮助页面[chroot(8)](http://www.manpager.com/linux/man8/chroot.8.html):

```
  --userspec=USER:GROUP  使用指定的 用户 和 组 (ID 或 名称)
  --groups=G_LIST        指定补充组 g1,g2,..,gN
      --help     显示帮助并退出
      --version  显示版本信息并退出

```

### 参见

* [chroot(8) Linux/Unix 命令 man 页面](http://www.manpager.com/linux/man8/chroot.8.html)
* [Man页面 chroot(2)](http://www.manpager.com/linux/man2/chroot.2.html)
* [OpenBSD文档参见Apache chrooting FAQ 提取更多信息](http://www.openbsd.org/faq/)

---

via: <http://www.cyberciti.biz/faq/unix-linux-chroot-command-examples-usage-syntax/>

译者：[Luoxcat](https://github.com/Luoxcat) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Summary: Sublime Text 3目前还处于beta测试状态，目前最新的版本为Build 3059。 这个教程中我们将通过AUR安装Sublime Text 3 build 3059。  打开终端并运行下列命令, 选择是否(Y/N)继续安装（这里选择Y）。 sudo yaourt -S sublime-text-dev   loading packages... resolving dependencies... looking for inter-conflicts... Packages (1): sublime-text-dev-3.3059-1 Total Installed Size: 16.02 MiB :: Proceed with installation?  y (1/1) checking keys in keyring  100% (1/1) checking package integrity  100% (1/1) loading package fi

yaourt不要sudo吧（會提示不需要sudo的），yaourt內部會自動調用sudo pacman。

非常好用。。。

直接裝 sublime-text-dev-imfix 解決中文輸入法的問題

[赞]//@farseerfc: 直接裝 sublime-text-dev-imfix 解決中文輸入法的問題

真的假的？所有的源都有这个包？apt-get就有？回公司赶紧试试//@farseerfc: 直接裝 sublime-text-dev-imfix 解決中文輸入法的問題

我刚把2卸载了……

yaourt是强烈不建议root权限的吧，前面的这sudo.....

# 一条命令在Manjaro/Arch Linux上安装Sublime Text 3

[Sublime Text 3](http://www.sublimetext.com/3)目前还处于beta测试状态，目前最新的版本为Build 3059。 这个教程中我们将通过AUR安装Sublime Text 3 build 3059。

打开终端并运行下列命令, 选择是否(Y/N)继续安装（这里选择Y）。

```
sudo yaourt -S sublime-text-dev

```

```
loading packages...
resolving dependencies...
looking for inter-conflicts...
Packages (1): sublime-text-dev-3.3059-1
Total Installed Size: 16.02 MiB
:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring           [########################################] 100%
(1/1) checking package integrity         [########################################] 100%
(1/1) loading package files              [########################################] 100%
(1/1) checking for file conflicts        [########################################] 100%
(1/1) checking available disk space      [########################################] 100%
(1/1) installing sublime-text-dev        [########################################] 100%
 ------------------------------------------------------------------------------
==> sublime-text-dev install/upgrade note:
 ------------------------------------------------------------------------------
 To disable in-application reminders about new Sublime Text dev versions,
 add the following setting to your User Preferences file:
 "update_check": false
------------------------------------------------------------------

```

---

via: <http://www.unixmen.com/install-sublime-text-3-build-3059-manjaroarch-linux/>

译者：[alim0x](https://github.com/alim0x) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


让 Ubuntu 上的 Unity 在线搜索功能见鬼去吧！

Summary: 无论何时，你开始在 Unity Dash 搜索计算机中的应用程序或文件时，你的检索词将被自动发送给第三方，如亚马逊，并且第三方将依据您的搜索词显示相关结果（主要是广告）。如果你不喜欢这个功能，感觉真的打扰到你，你可以禁用它。 例如，当我在 Unity Dash 中输入 Terminal 时，将显示 Terminal 应用和 web 上其他第三方的东东（我要发狂了！我不想要这些！）。  正如上面的截图所见，Unity显示内置的 Terminal 应用、引用链接、天气链接和其他第三方的推荐，如电影等。这是非常恼人的并且在 Unity Dash 上看起来很糟。同时，它显示了太多

直接讓Ubuntu見鬼去不就好了喵……這種綁架用戶還不尊重上游的發行版縱容它只會留下壞榜樣

这东西的确让人抓狂。

Repost

已转投linux mint，不用担心收据收集了，请主页君放心

好麻烦啊，系统设置->安全和隐私->搜索  在Dash中搜索时：选关闭就好了

# 让 Ubuntu 上的 Unity 在线搜索功能见鬼去吧！

无论何时，你开始在 Unity Dash 搜索计算机中的应用程序或文件时，你的检索词将被自动发送给第三方，如亚马逊，并且第三方将依据您的搜索词显示相关结果（主要是广告）。如果你不喜欢这个功能，感觉真的打扰到你，你可以禁用它。

例如，当我在 Unity Dash 中输入 “Terminal” 时，将显示 “Terminal” 应用和 web 上其他第三方的东东（我要发狂了！我不想要这些！）。

正如上面的截图所见，Unity显示内置的 **Terminal** 应用、引用链接、天气链接和其他第三方的推荐，如电影等。这是非常恼人的并且在 Unity Dash 上看起来很糟。同时，它显示了太多的搜索结果，并使我迷惑。

如果你像我一样不需要这个功能，在你的终端输入以下命令：

```
wget -q -O - https://fixubuntu.com/fixubuntu.sh | bash

```

上述脚本的内容如下：

```
#!/bin/bash

GS="/usr/bin/gsettings"
CCUL="com.canonical.Unity.lenses"

# Figure out the version of Ubuntu that you're running
V=`/usr/bin/lsb_release -rs`
# The privacy problems started with 12.10, so earlier versions should do nothing
if awk "BEGIN {exit !($V < 12.10 || $V >= 14.10)}"; then
  echo "Good news! This version of Ubuntu is not known to invade your privacy."
else

  # Check Canonical schema is present. Take first match, ignoring case.
  SCHEMA="`$GS list-schemas | grep -i $CCUL | head -1`"
  if [ -z "$SCHEMA" ]
    then
    printf "Error: could not find Canonical schema %s.\n" "$CCUL" 1>&2
    exit 1
  else
    CCUL="$SCHEMA"
  fi

  # Turn off "Remote Search", so search terms in Dash don't get sent to the internet
  $GS set $CCUL remote-content-search none

  # If you're using earlier than 13.10, uninstall unity-lens-shopping
  if [ $V \< 13.10 ]; then
    sudo apt-get remove -y unity-lens-shopping

  # If you're using a later version, disable remote scopes
  else
    $GS set $CCUL disabled-scopes \
      "['more_suggestions-amazon.scope', 'more_suggestions-u1ms.scope',
      'more_suggestions-populartracks.scope', 'music-musicstore.scope',
      'more_suggestions-ebay.scope', 'more_suggestions-ubuntushop.scope',
      'more_suggestions-skimlinks.scope']"
  fi;

  # Block connections to Ubuntu's ad server, just in case
  if ! grep -q "127.0.0.1 productsearch.ubuntu.com" /etc/hosts; then
    echo -e "\n127.0.0.1 productsearch.ubuntu.com" | sudo tee -a /etc/hosts >/dev/null
  fi

  echo "All done. Enjoy your privacy."
fi

```

再次，我进入到 Unity dash 的终端。现在 Unity 只显示终端应用，而不是无用的垃圾，现在 Unity Dash 看起来还不错。

全部搞定，让那些杂乱的东西再也不要回来了。

欢呼~!

**更新**:这一招只适用Unity desktop。如果你使用其他的比如GNOME，LXDE或Xfce，你不用这么做。同时，这个在线搜索功能将不会包含在Ubuntu 14.10和即将推出的版本中。

Source & Reference: [Fixubuntu](https://fixubuntu.com/)

---

via: <http://www.unixmen.com/disable-unity-online-search-feature-ubuntu-14-04-lts-older-versions/>

译者：[tenght](https://github.com/tenght) 校对：[Caroline](https://github.com/carolinewuyan)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


解决Ubuntu 14.04 Unity桌面环境登录后冻结问题

Summary: 如果你把Ubuntu从13.10更新到14.04，你也许会遇到用Unity桌面环境登录时冻结的现象。引导进入Ubuntu14.04，输入验证信息，系统会挂起，冻结在那里。如果你稍微幸运些，你还能看到鼠标光标、桌面背景，仅此而已。没有Unity触发器，也没有顶部面板等等。你的ubuntu基本上不可用了。  缺少Unity触发器和面板以及系统冻结的问题，可以通过重新安装Unity来解决。让我们看看怎么做： 重新安装14.04的Unity 以解决系统冻结的问题 好吧，如果你正被困在一个冻结的系统上，按下Ctrl+Alt+F2。这会让你进入一个命令行界面而不是默认的用户桌面界面。

实在是太感谢了啊！要是早点出来我就不用重装那么多次系统了，不过以后再出现这个问题就不用重装系统了。

Repost

不早说，我升级到beta版的时候，就出现过[泪][泪][泪]

使用的是--purge和--reinstall，不过--purge使用后显示的都是not install。 nvidia用户运行dpkg -l nvidia*

–purge to  -–purge

谢谢，应该是自动给变成了连字符——我这就去修改。

非常感谢，Thinkpad T410按照方法已经解决挂起不能恢复的问题。

1、重装desktop，unity

2、卸载nvidia包

3、启动后重新安装专用版nvidia包。

一切OK！

哈哈哈，解决问题就好~~~希望你也多分享经验心得给大家

acer4741g，试了下两个都行不通，还有其他方法吗

我没遇到过，估计我没办法了。

突然发现,我貌似双系统,ubuntu没装驱动,搞个32位的然后装驱动不懂能不能解决问题

必须赞一个啊，我也是试了好多种方法，最后是删了sudo apt-get remove --purge nvidia*，之前自己配置环境变量导致系统崩溃，<br />
改回环境变量再删除 nvidia* 就好了

# 解决Ubuntu 14.04 Unity桌面环境登录后冻结问题

如果你把Ubuntu从13.10更新到14.04，你也许会遇到**用Unity桌面环境登录时冻结的现象**。引导进入Ubuntu14.04，输入验证信息，系统会挂起，冻结在那里。如果你稍微幸运些，你还能看到鼠标光标、桌面背景，仅此而已。**没有Unity触发器，也没有顶部面板**等等。你的ubuntu基本上不可用了。

<img src="content_image/album_201405_23_145139imj091bbsri29n94.jpg" alt="" title="">

缺少Unity触发器和面板以及系统冻结的问题，可以通过重新安装Unity来解决。让我们看看怎么做：

### 重新安装14.04的Unity 以解决系统冻结的问题

好吧，如果你正被困在一个冻结的系统上，按下**Ctrl+Alt+F2**。这会让你进入一个命令行界面而不是默认的用户桌面界面。切换到命令行界面后，输入用户名和密码登录之后，使用下面的命令重装Unity桌面环境：

```
sudo apt-get update
sudo apt-get install --reinstall ubuntu-desktop
sudo apt-get install unity
sudo shutdown -r now

```

最后一个命令是重启系统，重启之后，你的Unity应该就变好了。

### 解决Nvidia显卡的Unity冻结问题

我没有使用过Nvidia的显卡，但是我找到了别人解决这个问题的方法。尽管上面的技巧对我来说有效，但是我没有过验证下面的命令。使用Nvidia的用户，请告诉我下面的步骤是否工作：

和上面一样使用**Ctrl+Alt+F2**登录到命令行界面，输入下面的命令：

```
sudo apt-get update
sudo apt-get install --reinstall ubuntu-desktop
sudo apt-get install unity
sudo apt-get remove --purge nvidia*
sudo shutdown -r now

```

如果重启之后Unity恢复了，记得重新安装你的Nvidia显卡的驱动，因为你已经卸载了它。

我希望这些技巧能够帮助你从冻结的unbuntu 14.04中恢复。最后，任何的问题和建议都欢迎来提。

---

via: <http://itsfoss.com/fix-unity-freezes-after-login-ubuntu-14-04/>

译者：[ggaaooppeenngg](https://github.com/ggaaooppeenngg) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Java中8个顶级开源NoSQL数据库!

Summary: NoSQL正在崛起。许多企业和用户已经将MySQL数据库替换成了NoSQL数据库。NoSQL使分析非结构化的数据变得更容易，因此开发者必须意识到存在于NoSQL世界中的趋势和工具。 1.Terrastore 新的文档存储技术可以提供先进的伸缩性和弹性而不必牺牲一致性。Terrastore基于Trrracotta，它依赖于一个业界公认的，快速的（而且又酷）集群技术。 2.Neo4j 开源的图形数据库，用Java实现。开发者将Neo4j描述为嵌入式，基于磁盘，完全事务的Java持久引擎，将数据结构化存储在图中而不是在二维表格中 3.Voldemort 分布式键值存储系统。本质上说是一个大型，

Repost

转发送T恤吗？T恤挺好玩的！

一直对NOSQL不理解。

# Java中8个顶级开源NoSQL数据库!

<img src="content_image/album_201405_24_122455bmbk77gw9mioo633.jpg" alt="NoSQL Databases, Java, Terrastore, Neo4j, Voldemort, HBase, InfoGrid, HyperGraphDB, Perst, NeoDatis ODB" title="NoSQL Databases, Java, Terrastore, Neo4j, Voldemort, HBase, InfoGrid, HyperGraphDB, Perst, NeoDatis ODB">

NoSQL正在崛起。许多企业和用户已经将MySQL数据库替换成了NoSQL数据库。NoSQL使分析非结构化的数据变得更容易，因此开发者必须意识到存在于NoSQL世界中的趋势和工具。

#### 1.[Terrastore](https://code.google.com/p/terrastore/)

新的文档存储技术可以提供先进的伸缩性和弹性而不必牺牲一致性。Terrastore基于Trrracotta，它依赖于一个业界公认的，快速的（而且又酷）集群技术。

#### 2.[Neo4j](http://www.neo4j.org/)

开源的图形数据库，用Java实现。开发者将Neo4j描述为“嵌入式，基于磁盘，完全事务的Java持久引擎，将数据结构化存储在图中而不是在二维表格中”

#### 3.[Voldemort](http://www.project-voldemort.com/voldemort/)

分布式键值存储系统。本质上说是一个大型，分布式，持久的，容错哈希表。对于应用，它可以使用类似active-record或者hibernate的O/R映射工具，这些可以提供水平扩展和更高的可用性，但是会损失巨大的便利性。

#### 4.[HBase](http://hbase.apache.org/)

Apache HBase是Google的Chang et al开发的，是继其开发的分布式存储系统Bigtable之后的另一个开源的、分布式、版本化的、非关系型数据库。

#### 5.[InfoGrid](http://infogrid.org/trac/)

带有很多额外的软件组件的Web图形数据库，使在图形数据库基础上开发Rest-ful的web应用变得很容易。

#### 6.[HyperGraphDB](http://www.kobrix.com/hgdb.jsp)

通用的、可扩展、便携、嵌入式、开源数据存储机制。它是一个特别为人工智能和web语义项目设计的图形数据库，同样可以用于不同大小项目的嵌入式面向对象数据库。

#### 7.[Perst](http://www.mcobject.com/perst/)

Perst是McObject的开源实现，双许可证，面向对象的嵌入式数据库系统（ODBMS）。它的一个版本是用Java开发的嵌入式数据库，另外一个用C#实现（对于Microsoft .NET Framework的应用而言）。

#### 8.[NeoDatis ODB](http://neodatis.wikidot.com/)

一个简单的运行在Java、.Net、 Google Android、 Groovy 和 Scala上的对象数据库。

---

via: <http://www.efytimes.com/e1/fullnews.asp?edid=138992>

译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


谷歌浏览器使用的 PDF 渲染引擎已开源

Summary: 像谷歌这样的大公司并不是真的喜欢开源项目，虽然他们的谷歌浏览器基于开源的 Chromium 浏览器。现在，在谷歌浏览器中所使用的 PDF 渲染引擎以开源形式发布了。 在谷歌浏览器中所使用的 PDF 渲染引擎是 PDFium ，迄今为止这个项目都没有向公众发布过。现在还不清楚是什么改变了他们的想法，不过现在用户们可以去下载 PDFium 的源代码了。 虽然 PDFium 现在是开源的，但是它是在一个有特定条件的新 BSD 协议下发布的。例如再次使用源代码必须保留其原有的版权声明、一份条件列表以及一份免责声明。对于二进制文件的再发布需要相同的条件。

其他浏览器可以兼容吧[思考]

Repost

# 谷歌浏览器使用的 PDF 渲染引擎已开源

<img src="content_image/album_201405_24_205705h4g1b1tu4hkhh3gg.jpg" alt="" title="">

**像谷歌这样的大公司并不是真的喜欢开源项目，虽然他们的谷歌浏览器基于开源的 Chromium 浏览器。现在，在谷歌浏览器中所使用的 PDF 渲染引擎以开源形式发布了。**

在谷歌浏览器中所使用的 PDF 渲染引擎是 [PDFium](https://code.google.com/p/pdfium/) ，迄今为止这个项目都没有向公众发布过。现在还不清楚是什么改变了他们的想法，不过现在用户们可以去下载 PDFium 的源代码了。

虽然 PDFium 现在是开源的，但是它是在一个有特定条件的新 BSD 协议下发布的。例如再次使用源代码必须保留其原有的版权声明、一份条件列表以及一份免责声明。对于二进制文件的再发布需要相同的条件。与此同时，无论是版权持有者还是它的贡献者都不能署名或推广该软件的衍生产品。

就像大多数的开源项目一样，它可以通过 Git 取得，你可以很容易地使用如下命令乃克隆该项目：

```
git clone https://pdfium.googlesource.com/name

```

虽然 PDFium 未必能在其他主要项目中使用，但我们很高兴看到谷歌正在试图对开源社区变得友好。

---

via: <http://news.softpedia.com/news/Google-Chrome-s-PDF-Rendering-Engine-Released-as-Open-Source-443461.shtml>

译者：[wwhio](https://github.com/wwhio) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Webmin 1.690 更新，针对 Ubuntu 14.04 LTS优化

Summary: Webmin是一个基于web接口面向Unix系统管理员的工具，最新版本1.690 已可下载 在任何新式浏览器下运行webmin，用户都可以设置各种配置，如用户账号、apache服务器、DNS、文件共享以及更多。Webmin的开发者已经对这个软件做了一些例行更新。最新的版本不是一个大版本，但是仍有一些有用的修复。 据开发者所言，加入了一些对于XSS攻击的安全修复、增加了用于阻止多次登录系统失败的IP地址的Fail2Ban模块，Squid模块中的urlrewritechildren指令已经修复为了支持所有的进程数量选项，并且对于Ubuntu 14.04的支持已经改善。 还有一些安全问题，

这工具好用！[赞]

是么

# Webmin 1.690 更新，针对 Ubuntu 14.04 LTS优化

<img src="content_image/album_201405_24_210504m15ocy9bvzpu1ppz.jpg" alt="" title="">

**Webmin是一个基于web接口面向Unix系统管理员的工具，最新版本1.690 已可下载**

在任何新式浏览器下运行webmin，用户都可以设置各种配置，如用户账号、apache服务器、DNS、文件共享以及更多。Webmin的开发者已经对这个软件做了一些例行更新。最新的版本不是一个大版本，但是仍有一些有用的修复。

据开发者所言，加入了一些对于XSS攻击的安全修复、增加了用于阻止多次登录系统失败的IP地址的Fail2Ban模块，Squid模块中的url*rewrite*children指令已经修复为了支持所有的进程数量选项，并且对于Ubuntu 14.04的支持已经改善。

还有一些安全问题，如会被未信任的Webmin用户在PHP配置和Webalizer模块中利用的安全漏洞，java applet的文件管理模块的签名，UI库更新等。

完整的修改和改进列表可以在官方[声明](http://www.webmin.com/changes.html)中找到。你现在可以在官网中下载Webmin 1.690。

---

via: <http://news.softpedia.com/news/Webmin-1-690-Arrives-with-Ubuntu-14-04-LTS-Optimization-443451.shtml>

译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


戴文的Linux内核专题：22 配置内核 (18)

驱动的确是个麻烦事啊

# 戴文的Linux内核专题：22 配置内核 (18)

<img src="content_image/album_201405_24_212323zqp97m90x474xxcq.jpg" alt="" title="">

你好！准备好阅读下一篇文章了么？在本篇中，我们将会讨论辅助显示。辅助显示是一些小的LCD屏幕；大多数小于或等于128x64。接着，我们会讨论用户空间IO驱动，一些虚拟驱动，Hyper-V，开发中驱动，IOMMU，和其他一些内核特性。

第一个配置辅助显示的驱动是"KS0108 LCD Controller"。KS0108 LCD Controller是由三星制造的图形控制器。

下面可以设置LCD并口地址(Parallel port where the LCD is connected)。第一个并口地址是0x378，下一个是0x278，第三个是0x3BC。这些不是地址唯一的选择。大多数人不需要改变这个。shell命令"cat /proc/ioports"会列出可用的并口和地址。

内核可以设置KS0108 LCD 控制器的写入延时到并口(Delay between each control writing (microseconds))。默认的值大部分是正确的，因此一般不需要更改。

"CFAG12864B LCD"屏幕是一块128x64，双色LCD屏幕。这块屏幕依赖于KS0108 LCD控制器。

可以改变这些LCD屏幕的刷新率(Refresh rate (hertz))。通常上，更高的刷新率会导致更多的CPU活动。这意味着一个缓慢的系统需要一个更低的刷新率。

设置完辅助显示后，接着设置"Userspace I/O drivers"。用户空间系统允许用户的应用和进程访问内核中断和内存地址。启用了它，一些驱动可以放在用户空间。

"generic Hilscher CIF Card driver"用于Profibus卡和Hilscher CIF卡。

"Userspace I/O platform driver"在用户空间创建通用驱动系统。

下一个驱动和上面的相同，但是增加IRQ处理(Userspace I/O platform driver with generic IRQ handling)。

下面的驱动又像前面的一个，但是增加了动态内存支持(Userspace platform driver with generic irq and dynamic memory)。

下面，是一些供应商/设备特性的驱动。

接着是一些通用PCI/PCIe卡驱动(Generic driver for PCI 2.3 and PCI Express cards)。

下面的驱动用于"VFIO support for PCI devices"。VFIO代表Virtual Function Input/Output(虚拟功能输入/输出)。VFIO允许设备直接以安全方式访问用户空间。

"VFIO PCI support for VGA devices"允许VGA通过VFIO被PCI支持。

接下来是virtio驱动。virtio是一个IO虚拟化平台。这个虚拟软件用于操作系统虚拟化。这在Linux系统上的虚拟机上运行一个操作系统时需要。

我们第一个可以配置的virtio驱动是"PCI driver for virtio devices"。这允许虚拟访问PCI

"Virtio balloon driver"允许虚拟系统的内存根据需要扩展或减少。通常上，没有人希望在需要内存的时候，虚拟系统保留它可能不会使用的内存。

下面的驱动允许内存映射到virtio设备(Platform bus driver for memory mapped virtio devices)。

如果Linux内核需要运行在微软的Hyper-V系统上，那么启用这个驱动(Microsoft Hyper-V client drivers)。这允许Linux能够成为Hyper的访客/客户端系统。

下面，我们会配置处于开发阶段的驱动。这些驱动正在开发当中，可能会变化很快，或者还没到Linux内核的质量标准。这个分类中的驱动只有Android驱动(在内核3.9.4中)。是的，Andorid使用Linux内核，这使得Andorid变成了一个Linux系统。然而，这仍然有争议。如果内核是用于Android，那么最好启用所有的驱动。

"Android Binder IPC Driver"提供了对于Binder的支持，它允许Andorid系统进程间相互通信。

下面可以启用ashmen驱动(Enable the Anonymous Shared Memory Subsystem)。Ashmem代表"Anonymous SHared MEMory"(虚拟内存共享)或者"Android SHared MEMory"(Andorid共享内存)。

"Android log driver"提供了完整的Andorid日志系统。

"Timed output class driver" 和 "Android timed gpio driver"允许Andorid系统操作GIP引脚并在超时后取消操作。

"Android Low Memory Killer"会在需要更多内存关闭进程。这个特性会杀死不再使用或活跃的任务。

"Android alarm driver"使内核在设定的间隔后唤醒。

在配置完开发阶段的驱动后，下面的驱动用于X86平台。这些驱动是 X86 (32-bit)的供应商/设备特定硬件。

下一个驱动是"Mailbox Hardware Support"。这个框架控制邮箱队列和硬件邮箱系统的中断信号。

"IOMMU Hardware Support"链接内存到能够使用DMA的设备上。IOMMU增强了DMA。IOMMU映射地址并阻止故障设备访问内存。IOMMU同样允许硬件访问比没有IOMMU更多内存。

"AMD IOMMU support"提供了对AMD设备更好的IOMMU支持。

对于AMD IOMMU支持存在调试特性(Export AMD IOMMU statistics to debugfs)。

存在一个对于AMD硬件的更新版本的IOMMU驱动(AMD IOMMU Version 2 driver)。

Linux内核同样支持对Intel设备的IOMMU驱动支持(Support for Intel IOMMU using DMA Remapping Devices)。

一些设备可能会接受不同的电压和时钟频率。这个驱动允许操作系统控制设备的电压输出和时钟频率(Generic Dynamic Voltage and Frequency Scaling (DVFS) support)。启用了这个驱动，可以启用下面的那些对于电源/性能管理特性。

"Simple Ondemand"就像上面的，但是只会基于设备活动改变时钟频率。通常上，更多的活动意味着设备需要更快的时钟速率来使用更多的资源需求。

"Performance"允许系统设置最高支持的时钟速度以满足最好的性能。这会增加电源消耗。

"Powersave"会设置时钟频率到最低以节约电源。

"Userspace"允许用户空间设置时钟频率。

"External Connector Class (extcon) support"使得用户空间可以监视外部连接器如USB和AC口。这允许应用了解是否插入了线缆。用户几乎都希望启用这个。如果任何人由于某个合理的理由禁用了它，请告诉我们为什么这么做。

"GPIO extcon support"驱动就像上面的驱动，但是它只对于GPIO管脚。

接下来是不同的供货商/设备特定的内存控制器(Memory Controller drivers)。内存芯片控制器可能是独立的设备或者内置在内存芯片上。这些控制器管理这输入和输出的数据流。

"Industrial I/O support"驱动提供了标准的传感器接口而不管总线的类型(像PCIe、spi、GPIO等等)。IIO是"Industrial I/O support"(工业IO)的通用缩写。

Linux内核提供了大量不同的加速器、放大器模数转换器、惯性测量单元、光敏传感器、磁场传感器和其他许多传感器和转换器的支持。

"Intel Non-Transparent Bridge support"驱动支持连接到系统的PCIe硬件桥。所有到映射内存的写入会镜像到两个系统中。

"VME bridge support"和上面的相同除了桥使用的是VME，这是一个不同的总线标准。

"Pulse-Width Modulation (PWM) Support"通过调节从这些设备收到的平均功率调节背光灯和风扇速度。

"IndustryPack bus support"提供了对IndustryPack总线标准的支持。

下一篇文章，我们会继续配置固件驱动。谢谢!

---

via: <http://www.linux.org/threads/the-linux-kernel-configuring-the-kernel-part-18.4896/>

译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


教你6步定制你的Ubuntu桌面

Summary: 对于那些想要一个易于使用的界面的用户，Ubuntu是一个很好的Linux发行版，并且对于一个Linux新手也可以说是最好的Linux发行版。不过这产生了一些副作用，那就是，对于界面和外观，Canonical公司已经为用户做了很多设定，尤其是Unity桌面环境。 然而这些不是一成不变的。下面是一些关于怎样让你更加舒心地使用Ubuntu的技巧。看过上面的截图中我对Ubuntu的设定，你可以看到我的的Unity桌面，相比于默认设定的桌面有何不同。 下面让我们分步来实现定制Ubuntu桌面。 1. 安装Unity Tweak Tool 在你能对Ubuntu外观做任何有效地修改之前，你不得

马克

14.04界面是这样了吗？？

回头挑战一下，继雨滴之后再整一波。//@狄家怡:转发微博

There isn’t a software package called “unity-tweak-tool” in your current software sources. what's

回复@北斗七哥:这是定制的嘛

心都吸引

回复@Linux中国:好高级，搞一个看看~

电脑版感觉还是比较一般，手机版的真是与众不同～

Repost

ubuntu12.04通过命令行安装怎么找不到相应的软件包?

这个主题已经安装了，不过我不喜欢图标，状态栏挺好看的！

习惯了ubuntu14.04界面，不太喜欢这个定制界面图标

@我的印象笔记

#Ubuntu#有点喜欢上”sudo apt-get install ”……软件命令了，简单直接，不用满世界找软件下载，也无病毒木马之忧 //@校长Ubuntu:转发微博

太帅了就是有点乱套

楼主你第一个截图里面的图标主题哪里下载的?能分享一下么?好酷炫啊!

来自 - 安徽合肥科学技术大学 的 Chrome/Linux 用户

不是我的截图，我也不知道啊。

好像是Numix的图标主题

# 教你6步定制你的Ubuntu桌面

<img src="content_image/album_201405_24_212114fozom004mom2q8re.jpg" alt="" title="">

对于那些想要一个易于使用的界面的用户，Ubuntu是一个很好的Linux发行版，并且对于一个Linux新手也可以说是最好的Linux发行版。不过这产生了一些副作用，那就是，对于界面和外观，Canonical公司已经为用户做了很多设定，尤其是Unity桌面环境。

然而这些不是一成不变的。下面是一些关于怎样让你更加舒心地使用Ubuntu的技巧。看过上面的截图中我对Ubuntu的设定，你可以看到我的的Unity桌面，相比于默认设定的桌面有何不同。

下面让我们分步来实现定制Ubuntu桌面。

### 1. 安装Unity Tweak Tool

在你能对Ubuntu外观做任何有效地修改之前，你不得不安装[Unity Tweak Tool](https://apps.ubuntu.com/cat/applications/unity-tweak-tool/)。这是一个Unity桌面环境下特殊设置管理软件，并且通过它你可以实现替换系统图标和主题。你可以从Ubuntu软件中心下载该软件，如果你更加偏爱terminal终端的话，你也可以使用下面的命令：

```
sudo apt-get install unity-tweak-tool

```

如果你正在使用Gnome桌面环境，那么你可能需要尝试Gnome Tweak Tool这款软件。你也可以从Ubuntu软件中心和使用以下命令来安装该软件：

```
sudo apt-get install gnome-tweak-tool

```

### 2. 安装GTK主题

对于Ubuntu有很多定制的主题，这些主题可以影响应用和窗口的外观。我正在使用的主题是Numix GTK+。你可以在<http://numixproject.org/>找到关于Numix主题和图标的更多信息。你可以通过打开终端并输入以下命令来安装Numix主题：

```
sudo add-apt-repository ppa:numix/ppa
sudo apt-get update && sudo apt-get install numix-gtk-theme

```

为了使该主题生效，我们需要打开Unity Tweak Tool，选择“外观标题”下的“主题”选项，然后在“已有主题”一栏中选择该主题。只要相应的软件仓库名字一致，对于其他主题，你可以重复该过程来应用。你可以访问[Gnome-Look.org](http://gnome-look.org/?xcontentmode=100)获得更多的主题。另一个和Numix主题很相似的主题是Moka，你可以在<http://mokaproject.com/>获得更多关于Moka主题的信息。

### 3. 安装图标

以上截图中使用的图标是来自Numix主题的Numix圆形图标。你可以通过在终端输入以下命令来安装该图标集：

```
sudo apt-add-repository ppa:numix/ppa
sudo apt-get update
sudo apt-get install numix-icon-theme-circle

```

为了使该图标集生效，我们需要在Unity Tweak Tool中选择“图标”选项，然后选择该图标集。再一次声明，这个方法对于任何图标集是可行的。Moka也提供给你的桌面带来多彩的、一致性设计的图标集。

### 4. 安装conky系统监视软件

Conky是一个轻量级桌面系统监视软件。该软件本身是非常简单的，不过它是可定制的，这样一来它就可以显示很多的有用的信息。你可以通过在终端输入以下命令来安装Conky：

```
sudo apt-get install conky conky-all

```

你将会需要curl这个软件，你可以通过以下这个命令来安装该软件：

```
sudo apt-get install curl

```

上面截图中使用的conky主题是[Harmattan](http://zagortenay333.deviantart.com/art/Conky-Harmattan-426662366)，它可以以15种不同的样式来显示时间、天气、以及系统进程。要安装该主题，你可以从[deviantART](http://www.deviantart.com/art/Conky-Harmattan-426662366)下载zip文件，然后解压。将.conky-weather文件夹和位于主题文件夹的.conkyrc文件（你可能需要按Ctrl+H来显示这些隐藏文件）移动到你的home文件夹。Conky有[很多的主题](http://www.deviantart.com/?qh=&section=&global=1&q=conky)。尝试这些主题，你所需要做的就是用所要使用主题的.conkyrc文件替换在home文件夹的.conkyrc文件。

### 5. 安装一些指示器程序

有很多第三方的指示器程序，通过这些程序你可以监视你的桌面信息，例如天气、系统性能等。我所使用的指示器程序相当简单。因为天气和系统性能已经在conky中显示，所以我没有安装这些指示器。不过你可以在终端输入以下命令来安装他们：

```
sudo apt-get install indicator-weather
sudo apt-get install indicator-multiload

```

我所使用的两个指示器程序是大小写指示程序以及触摸板控制器，这是因为我的笔记本没有大小写指示灯和控制触摸板开关的热键。你可以通过以下命令来安装这两个软件：

```
sudo add-apt-repository ppa:tsbarnes/indicator-keylock
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install indicator-keylock
sudo apt-get install touchpad-indicator

```

你可能需要注销并重新登录来使用这些应用。

### 6. 通过Compiz设置管理器深度定制你的桌面

如果对于你来说Unity Tweak Tool不够强大，那么你可以尝试[Compiz设置管理器](https://apps.ubuntu.com/cat/applications/compizconfig-settings-manager/).

**警告:**

如果错误的设置被应用的话，Compiz设置管理器可能会损害到你的系统。所以使用时要格外小心。你可以看到Ubuntu系统中隐藏的各种设置。你可以在Ubuntu软件中心获取该软件或者终端输入以下命令来安装：

```
sudo apt-get install compiz compizconfig-settings-manager compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-plugins

```

现在你的Ubuntu桌面变得具有超棒了！所有的这些步骤都有成千上万种选择，所以折腾是无极限的。还在等什么？还不赶紧去享受你的新Ubuntu桌面！

---

via: <http://www.muktware.com/2014/05/customize-ubuntu-desktop-6-steps/26750>

译者：[JonathanKang](https://github.com/JonathanKang) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Summary: Ubuntu 14.10（代号独角兽）的开发已于数周前开始，现在开发者们已经做出了第一个重大的改变即使用新的Linux内核版本。 通常情况下，下一版本Ubuntu的开发是基于上一个发布的版本，如Ubuntu 14.04 LTS。开发小组开始向Linux内核当中加入新的软件包，通常是那些没来得及放到之前的版本的软件包。Linux发行版其中最重要的组件之一是linux内核，现在也更新了。 Ubuntu 14.04 LTS附带的是3.13的linux内核，开发者们并没有机会将3.14版本的加入其中，它放出的时间太晚以致没有足够的时间去做测试。到现在为止，Ubuntu开发小组也没有说明最终发

@红蓝独角兽 恭喜中枪

新内核能带来什么直接明显的体验吗？

Repost

wow，要试试

lol  这代号吊！

马克

这新闻看得一头雾水

# Ubuntu14.10(代号“独角兽”)已基于3.15 RC5版本的linux内核

<img src="content_image/album_201405_24_224344omcspdahl3tc8mqc.jpg" alt="" title="">

**Ubuntu 14.10（代号“独角兽”）的开发已于数周前开始，现在开发者们已经做出了第一个重大的改变即使用新的Linux内核版本。**

通常情况下，下一版本Ubuntu的开发是基于上一个发布的版本，如Ubuntu 14.04 LTS。开发小组开始向Linux内核当中加入新的软件包，通常是那些没来得及放到之前的版本的软件包。Linux发行版其中最重要的组件之一是linux内核，现在也更新了。

Ubuntu 14.04 LTS附带的是3.13的linux内核，开发者们并没有机会将3.14版本的加入其中，它放出的时间太晚以致没有足够的时间去做测试。到现在为止，Ubuntu开发小组也没有说明最终发布版本会使用哪个内核版本，但是他们实现了在3.15内核版本下的编译，即使它仍旧在开发当中。

在一个Ubuntu内核小组的会议当中[Joesph Salisbury宣布](https://lists.ubuntu.com/archives/ubuntu-devel/2014-May/038305.html)：“我们往Utopic的归档中上传了第一个基于3.15版本的内核，3.10.0-1.5，它现在是基于3.15-rc5的最新linux内核版本。”

除非3.16的内核版本在Ubuntu 14.10的内核截止日（错过这个日期点，新的内核不会被提交）之前现身，否则到10月之前，能够实现的很有可能就是这个版本了。

如果没有什么意外发生，每个内核的开发迭代在8到10个候选版本之间，但是这个数目是不定的。Linus Torvalds平均每周会发布一个RC候选版本，但也不是固定不变的。比如，发布3.15系列的候选之后将近两周没有新的版本发布了。

参考Ubuntu 12.04.5 LTS版本的惯例，Ubuntu 14.04.1将会在接下来的几个月当中发布，内核截止的日期只有5周左右了。

Ubuntu 14.10（代号“独角兽”）号称它会成为一个很有趣的版本，而且已经带来了一个新的特色：Unity 8和Mir两种版本都会作为常规版本中的一员。

如果你真的想知道将来的Ubuntu 14.10 版本发生了哪些改变，你可以[下载每日更新的版本](http://linux.softpedia.com/get/Linux-Distributions/Ubuntu-Utopic-Unicorn-103418.shtml)试试看。现在来看它和Ubuntu 14.04 LTS版本很类似，但是很快它将变的不同！

### 下载

* [Ubuntu 14.10 Daily Build (ISO) 64-bit](http://cdimage.ubuntu.com/daily-live/current/utopic-desktop-amd64.iso)[iso] [965 MB]
* [Ubuntu 14.10 Daily Build (ISO) 32-bit](http://cdimage.ubuntu.com/daily-live/current/utopic-desktop-i386.iso)[iso] [971 MB]
* [Ubuntu 14.10 Daily Build (ISO) 64-bit Mac](http://cdimage.ubuntu.com/daily-live/current/utopic-desktop-amd64+mac.iso)[iso] [963 MB]

---

Via: <http://news.softpedia.com/news/Ubuntu-14-10-Utopic-Unicorn-Now-Based-on-Linux-Kernel-3-15-RC5-443260.shtml>

译者：[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出。


最小的树莓派系统 picore5.3，载着3.14.4内核归来

Summary: Tiny Core团队已经宣布，picore 5.3（一个Tiny Core Linux 在树莓派上的移植），刚刚发布了一个新的版本，现在可供下载。 Tiny Core的核心开发者实际上同时负责其他大量的同一基础的版本。开发者已经推出了一些变体。有Core版（为有经验的用户提供了命令行界面的基本系统），TinyCore（推荐给有网线连接的新手），和CorePlus（安装映像，不是Live版的）。 Tiny Core团队并不是第一次发布这样的Linux版本，但其中有些改进是必要的，虽然除了引入新的Linux内核之外的改变都不大。 根据变更日志所述，Linux已经更新到版本3.14.4，树莓派的固

没钱买树莓派[泪]

[good]

我记得这是奶瓶启动不完全的界面

# 最小的树莓派系统 picore5.3，载着3.14.4内核归来

<img src="content_image/album_201405_24_232535yya4nyi0yv7n4evh.jpg" alt="" title="">

**Tiny Core团队已经宣布，picore 5.3（一个Tiny Core Linux 在树莓派上的移植），刚刚发布了一个新的版本，现在可供下载。**

Tiny Core的核心开发者实际上同时负责其他大量的同一基础的版本。开发者已经推出了一些变体。有Core版（为有经验的用户提供了命令行界面的基本系统），TinyCore（推荐给有网线连接的新手），和CorePlus（安装映像，不是Live版的）。

Tiny Core团队并不是第一次发布这样的Linux版本，但其中有些改进是必要的，虽然除了引入新的Linux内核之外的改变都不大。

根据变更日志所述，Linux已经更新到版本3.14.4，树莓派的固件也更新到了它的最新版本（三月版），e2fsprogs已经更新到版本1.42.10， HDMI sound 现在已经支持192 kbit /s速率，CMA和fiq-fsm现在默认启用，现在，卸载meta-extensions时使用sudo。

更新树莓派不用移去SD卡了，而且开发者已经发布了一些如何去操作的说明。

“下载picore-5.3rc4-boot.tar.gz，解压到一个临时文件夹，然后挂载/mnt/mmcblk0p1并覆盖其内容。它将覆盖引导自定义选项，如果你修改过原来系统中的config.txt和cmdline.txt，需要再修改一次。”

“如果使用无线远程连接请不要重启，否则你将由于不兼容的内核模块而丢失无线连接！从库里面下载一个匹配内核的模块tcz's后再重启。你必须保证有一个已经更新的系统可以工作。请注意，有可能是库里面仍然没有可用的内核模块扩展，” 请阅读官方论坛发布的备注。

完整的更新日志可以官网[声明](http://forum.tinycorelinux.net/index.php/topic,17061.0.html)中看到。你现在可以从Softpedia下载[picore 5.3](http://linux.softpedia.com/get/Linux-Distributions/Tiny-Core-Linux-piCore-103260.shtml)。

树莓派带有一个700 MHz的ARM处理器、512 MB的RAM、SD卡插槽和5V MicroUSB供电接口。它还具有RCA和HDMI端口。

Tiny Core Linux 的树莓派移植是Robert Shingledecker架构的一个独立系统，现在被一个具有强大社区的小团体所支持。

如果你不熟悉的Tiny Core家族的Linux发行版，你只需要知道，这是一个有开源社区开发扩展的一个模块化系统，它通常使用最新Linux内核vmlinuz 3.0，大约5MB core.gz内核。

### Tiny Core Linux piCore 5.3: 免费下载

* [Tiny Core Linux piCore 5.3 (zip) 多版本](http://tinycorelinux.net/5.x/armv6/releases/5.3/) [二进制] [14 MB]

---

引用: <http://news.softpedia.com/news/Smallest-OS-for-Raspberry-Pi-piCore-5-3-Returns-with-Linux-Kernel-3-14-4-443246.shtml>

译者：[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


“战斗砖块剧场”占据了 Steam 上 Linux游戏排行榜首位

Summary: Steam for Linux平台在过去几周接受了一些新游戏，其中几个在最畅销名单里有很高的提升。 小小世界2 取代原第十位并成为进入这个专属名单里的新游戏。这款游戏基于同名的幻想桌游，这可能是此类型游戏里唯一一个有Linux版本的游戏。 足球经理2014 掉到了第九位，但鉴于这是Steam for Linux上最贵的游戏，我们可以有把握地说他依然做的很好。不需要介绍，这款游戏被认为是同类中做得最好的。 反恐精英：起源 ，游戏结合了原作反恐精英的玩法，使用的是Source引擎，又回到了Steam for Linux最畅销名单顶部，位于第八位。 伊卡罗斯之炮在线版

这。。。是什么时候的排行榜？  小小世界2还在数据库后台里 连企鹅标志都没上   足球经理早就不是最贵的游

Java与C#两种编写语言谁实用点？

汗。。。

# “战斗砖块剧场”占据了 Steam 上 Linux游戏排行榜首位

<img src="content_image/album_201405_25_220353gu4eumf969wx6w69.jpg" alt="" title="">

**Steam for Linux平台在过去几周接受了一些新游戏，其中几个在最畅销名单里有很高的提升。**

**小小世界2** 取代原第十位并成为进入这个专属名单里的新游戏。这款游戏基于同名的幻想桌游，这可能是此类型游戏里唯一一个有Linux版本的游戏。

**足球经理2014** 掉到了第九位，但鉴于这是Steam for Linux上最贵的游戏，我们可以有把握地说他依然做的很好。不需要介绍，这款游戏被认为是同类中做得最好的。

**反恐精英：起源** ，游戏结合了原作反恐精英的玩法，使用的是Source引擎，又回到了Steam for Linux最畅销名单顶部，位于第八位。

**伊卡罗斯之炮在线版** ，Muse Games开发的多玩家第一人称射击游戏，游戏有多个平台版本，包括Linux，现在它位于第七位而且它甚至打二五折。

**求生之路2** ， Valve开发的多人合作第一人称射击游戏，仍然是Linux平台最好的游戏之一，位于第六位。

**星界边境 Starbound** ，呵呵鱼工作室开发的一款程序生成冒险类游戏，游戏中玩家玩家扮演了一个逃离了自己星球而只能紧急降落在其他星球的角色，游戏在第五位。这个游戏仍然在开发中，在游戏完成之前就有人买的事实说明了游戏的质量。

**坎巴拉太空计划** ，一个多类型玩法的游戏，游戏中玩家必须要创建自己的太空项目而且要在不杀死宇航员的情况下发射成功，游戏现在在第四位。

**盖瑞模组 Garry's Mod**, 一个物理沙箱，就其本身而言它甚至不算是个游戏，它存在于第三空间，如果我们想想它的话它确实很奇怪。游戏没有单独的玩家战争，但玩家有完全的自由。

**腐蚀Rust**, 一款第一人称生存游戏，游戏背景发生在一个持久的宇宙中，游戏不再是第一位，但第二位也不是那么糟糕。游戏仍在开发中，没有迹象表明多会儿会发布最终版本。

Steam for Linux的最畅名单中位于第一位是新领主，叫做 **战斗砖块剧场** 。这是一款由The Behemoth创作并发布的2D战斗平台游戏，游戏特点是有趣的关卡设计和漂亮的图案。

玩的开心！

---

via: <http://news.softpedia.com/news/BattleBlock-Theater-Now-Rules-the-Steam-for-Linux-Best-Selling-List-442722.shtml>

译者：[linuhap](https://github.com/linuhap) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Spotify 原生Linux客户端更新，暗黑风格来袭

Summary: Spotify 原生Linux客户端更新，暗黑风格来袭  继streaming service上个月在其它平台上发布它的应用之后，以同样的扁平化和黑色风格的设计，Linux版本的Spotify客户端也发布了更新。 金属质感的灰色元素和白色清爽的条区设计形成了基于黑色的风格，以黑色和浅黑色的颜色为主。甚至公司的绿色的商标也不能幸免，以奇怪的颜色出现在各种地方。 在作曲家和个人资料条目中图片的设计上均采用了圆形的设计元素，并且在导航栏和播放控制按钮的地方采用了iOS 7风格。 Spotify官方说道这种设计风格突出了软件的内容，他们将之比作熄掉所有灯光的剧

赞

注册的时候告诉我不适用我们国家是怎么回事

可惜在TC。。。

# Spotify 原生Linux客户端更新，暗黑风格来袭

Spotify 原生Linux客户端更新，暗黑风格来袭
===========================

<img src="content_image/album_201405_26_085707s5zqnq5lna3lal3n.jpg" alt="" title="">

**继streaming service上个月在其它平台上发布它的应用之后，以同样的扁平化和黑色风格的设计，Linux版本的Spotify客户端也发布了更新。**

金属质感的灰色元素和白色清爽的条区设计形成了基于黑色的风格，以黑色和浅黑色的颜色为主。甚至公司的绿色的商标也不能幸免，以奇怪的颜色出现在各种地方。

在作曲家和个人资料条目中图片的设计上均采用了圆形的设计元素，并且在导航栏和播放控制按钮的地方采用了iOS 7风格。

Spotify官方说道这种设计风格突出了软件的内容，他们将之比作“*熄掉所有灯光的剧场。*”

除了吸引你眼球的这些改变，还有一些你可能错过的不易察觉的变化。这包括Open SSL 1.0.x的使用、使用*libavcodec54*来实现本地音乐重放以及播放曲目变化时对本地系统通知的调用支持。

现在，该软件已不再提供32位的版本。

由于长期处于预览阶段，Linux下的原生Spotify客户端**支持免费和订阅账户**。

### 安装Spotify

要在Ubuntu 14.04 LTS上安装Spotify，你可以打开终端，然后输入下面的命令。

首先将Spotify官方的软件仓库添加到你的软件源列表中：

```
sudo sh -c 'echo "deb http://repository.spotify.com stable non-free" > /etc/apt/sources.list.d/spotify.list'

```

添加该软件仓库的安全密钥来避免不必要的错误：

```
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94558F59

```

最后，更新并且安装Spotify：

```
sudo apt-get update && sudo apt-get install spotify-client-qt

```

安装完成后就可以从Dash启动Spotify了。

---

via: <http://www.omgubuntu.co.uk/2014/05/spotify-linux-preview-update-new-design>

译者：[JonathanKang](https://github.com/JonathanKang) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Summary: WinAte最近刚刚发布一个更新，这个主题包能够将你的Ubuntu/Debian变得看起来像Windows 7/Windows 8。 （译注，虽然很多人对将好好的Linux扮成Windows不以为然，不过未尝不是一个有趣的体验？） 曾经有段时间你可以轻易地改变绝大多数Linux发行版的外观，使得他们看起来像是Windows的一个副本，但那种时光已经一去不复返了。只有少数Linux发行版的外观仍能够被修改，而Ubuntu和Debian Jessie正在此列。 官网说明道：有了这个全新的WinAte  Windows 7/8 转换包for LXDE（译注：Lightweight X11 Desktop Environment，一个自由桌面环境），你

要是自带一个模拟Metro的启动器就更好玩了…… [偷笑]

Theme是为了梅花桌面，这个越扮越丑真的大丈夫？

# 用WinAte主题包将Ubuntu/Debian Jessie扮成Windows 7/8

<img src="content_image/album_201405_26_125739alclbc2bzcevbrlj.jpg" alt="" title="">

**WinAte最近刚刚发布一个更新，这个主题包能够将你的Ubuntu/Debian变得看起来像Windows 7/Windows 8。** （译注，虽然很多人对将好好的Linux扮成Windows不以为然，不过未尝不是一个有趣的体验？）

曾经有段时间你可以轻易地改变绝大多数Linux发行版的外观，使得他们看起来像是Windows的一个副本，但那种时光已经一去不复返了。只有少数Linux发行版的外观仍能够被修改，而Ubuntu和Debian Jessie正在此列。

官网说明道：“有了这个全新的WinAte ———— Windows 7/8 转换包for LXDE（译注：Lightweight X11 Desktop Environment，一个自由桌面环境），你能够得到Windows所有的图标和整体外观，而不用花费大量的资源或者不得不去适应老旧的Gnome 2主题。只需运行install.sh脚本，所有东西就能工作。只需这么做，然后注销，再次登录即可。”

这个主题包有一些很容易满足的依赖：gtk2-engines-murrine，gtk2-engines-pixbuf，以及 compton。安装过程十分简单，安装说明所有人也都能够轻易理解。

这个主题包就外观来说可能最接近于用户长期以来习惯的Windows 7或Windows 8，但它可以用来帮助人们更容易地迁移到Linux。

你可以从[gnome-look.org](http://gnome-look.org/content/show.php/%5BLXDE%5DWinAte+-+Windows+7%2B8+Theme+pack?content=163150)下载WinAte ————Windows 7/8主题包。

---

via: <http://news.softpedia.com/news/Turn-Ubuntu-and-Debian-Jessie-into-Windows-7-and-Windows-8-with-WinAte-Theme-Pack-443302.shtml>

译者：[alim0x](https://github.com/alim0x) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


Ubuntu 的开发者准备开发一个仅基于 Unity 8的新风格

Summary: Ubuntu 的开发者提出将开发一个单独使用 Unity 8的新风格，以帮助他们自由的实验而不必担心搞乱操作系统稳定。 如果你的环境满足安装需要的话，现在可以在Ubuntu 14.04 LTS中安装体验下 Unity 8 桌面环境的预览版了。现在，新的桌面还不能在专有驱动下运行，因为它依赖于 Mir，而这玩意儿还没有获得 NVIDIA 和 AMD 的官方支持。 无论如何，有一个新的 Ubuntu 风格对于开发者在新的生态环境中测试他们的创意都会有巨大的帮助，而且从　USB Stick 里启动十分方便还能体验大多数的移植性应用。 桌面环境开发组很希望为 Ubuntu 增加一个新的风

#单身久了会变丑#

#单身久了会变丑#

# Ubuntu 的开发者准备开发一个仅基于 Unity 8的新风格

<img src="content_image/album_201405_26_132109q80ws6nrz5qtt31w.jpg" alt="Current Unity 7 desktop in Ubuntu 14.04 LTS" title="Current Unity 7 desktop in Ubuntu 14.04 LTS">

**Ubuntu 的开发者提出将开发一个单独使用 Unity 8的新风格，以帮助他们自由的实验而不必担心搞乱操作系统稳定。**

如果你的环境满足安装需要的话，现在可以在Ubuntu 14.04 LTS中安装体验下 Unity 8 桌面环境的预览版了。现在，新的桌面还不能在专有驱动下运行，因为它依赖于 Mir，而这玩意儿还没有获得 NVIDIA 和 AMD 的官方支持。

无论如何，有一个新的 Ubuntu 风格对于开发者在新的生态环境中测试他们的创意都会有巨大的帮助，而且从　USB Stick 里启动十分方便还能体验大多数的移植性应用。

“桌面环境开发组很希望为 Ubuntu 增加一个新的风格（嘘~，我们并不是计划现在就发行一个正式的版本），这个风格将包括为触屏项目开发的Unity 8桌面和新的应用。最初的意图是提供一个产品使得开发人员可以在做一个基于该软件的桌面产品的时候可以估算出所需要的的工作量，并建立一个可以由实验来找出所需的最佳结合方式的空间。”

“我们仍将计划融合当前的桌面环境，但是我们不希望给用户带来不安稳和造成不便，而且希望并行的发展这个新风格可以使我们真正实现在软件已经准备就绪的时候再迁移，而不是迁移后再解决用户的原有软件的兼容问题。” Ubuntu 的开发者 Iain Lane说。

Ubuntu 14.04 LTS 现在默认使用 Unity 7，而且可能这至少将持续到下一个版本 Ubuntu 14.10。Ubuntu 开发者的目标是最迟在下一个 LTS：Ubuntu 16.04 中让 Unity 8 和 Mir 成为默认的配置，但是如果事情进展的顺利，我们可能会在此之前就能成功。

这个新风格的名字是什么还不清楚，但是如果地位确定的话，我们可能在接下来的几个月就可以得到ISO文件。这将会使得用户更容易地测试 Unity 8 ，而且可以在它成为默认配置之前体验一把。

当 Canonical 用 Unity 替换旧的 GNOME 2 的时候，这个转换引起的震动是如此之大，以至于直到今天在论坛中还时不时的被人提及。有一个专门的 Unity 8 风格可能会缓解这个问题。

---

via: <http://news.softpedia.com/news/Ubuntu-Developers-Propose-a-New-Flavor-Based-Only-on-Unity-8-442262.shtml>

译者：[crowner](https://github.com/crowner) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


CentOS上配置主DNS服务器的简易指南

马，正好要用

貌似没有 禁用 递归啊？

回复@闪电川冰:是的，这个是简单指南，其中关于如何禁止开放查询，会在另外一篇，我们还没翻译。事实上。DNS之复杂，远非一篇小文能说清楚，这里只是一个简单引导。

回复@Linux中国:好的 持续关注中...

回复@闪电川冰:已经有了、文内有链接。当然距离一个安全的dns还很远。

讲得挺多的。看WIN下搭个DNS也是挺费事的。

其实搭建容易，麻烦在需要了解精通一系列DNS的各种机制、规范什么的。

# CentOS上配置主DNS服务器的简易指南

任何运作中的域名至少有两台DNS服务器，一台称为主域名服务器（比如叫做ns1），而另一台称为从域名服务器（比如叫做ns2）。这些服务器通常用于故障转移：如果一台宕机，另外一台就激活成为DNS服务器（译注：此处译者有不同意见，事实上两个或更多的DNS服务器是共同工作的，并不是第一台停止服务后，第二台才接替工作。解析器是随机选择一个DNS服务器进行询问，如果超时则会询问下一个，这是多个DNS的故障容错机制）。也可以实现包括负载均衡、防火墙和集群在内的更为复杂的故障转移机制。

一个域的所有DNS条目都会被添加到主域名服务器，从服务器只会根据主服务器上的SOA记录的序列号参数从主服务器同步所有信息。

此教程将会讲述**如何创建一台在CentOS上运行的主DNS服务器**。请注意，本教程中提到的DNS服务器将会是一台开放DNS服务器，这也就是说该服务器将会回应来自任何IP地址的查询。对于DNS服务器的访问控制将在[此教程](http://linux.cn/article-2969-1.html)中讨论（译注：开放的DNS服务器是一个安全隐患）。

<img src="content_image/album_201405_26_151355uzrlxqrp5855qdxy.jpg" alt="" title="">

在开始之前，我想要提一下的是，DNS可以在chroot环境中配置，也可以在非chroot环境中配置。chroot环境将DNS服务器限制在系统中某个特定目录中，以避免让服务器具有系统级的访问权限。在此环境中，任何DNS服务器的安全漏洞不会导致整个系统的破坏。将DNS服务器置于chroot环境中，对于部署测试也很有用。

### 目标

我们将在基于域名example.tst的测试环境中配置一台DNS服务器，这个域名是虚假的（并不真实存在的）。这样，我们就不会意外干扰到其它真实的域名。

在该域中，有以下三台服务器。

|  |  |  |  |
| --- | --- | --- | --- |
| 服务器 | IP地址 | 托管的服务 | 完全限定域名（FQDN） |
| Server A | 172.16.1.1 | Mail | mail.example.tst |
| Server B | 172.16.1.2 | Web, FTP | www.example.tstftp.example.tst |
| Server C | 172.16.1.3 | Primary DNS server | ns1.example.tst |

我们将会配置一台主域名服务器，并添加上表中必要的域和DNS记录。

### 设置主机名

所有的主机名必须以完全限定域名的方式正确定义，可以通过以下方法完成设置。

```
# vim /etc/sysconfig/network
```

---

```
HOSTNAME=ns1.example.tst
```

注：该文件中指定的主机名参数在服务器启动后才会启用（译注：或者网络服务重启后），因此，该设置不会马上生效。下面的命令可以立刻临时性地修改主机名。

```
# hostname ns1.example.tst

```

一旦设置，主机名可以通过以下命令验证。

```
# hostname
ns1.example.tst
```

在进入下一步之前，请确保上述三台服务器上的主机名已经设置正确。

### 安装软件包

我们将使用bind来配置DNS服务，该软件可以很方便地通过yum来安装。

不使用chroot环境的：

```
# yum install bind bind-chroot

```

使用chroot环境的：

```
# yum install bind bind-chroot

```

### 准备配置文件

正如前面提到的，bind可以在chroot环境下配置，或者在非chroot环境下配置，配置文件的路径会因为是否安装chroot包而不同。

|  |  |  |
| --- | --- | --- |
|  | 配置文件路径 | 区域文件路径 |
| 不带有 chroot | /etc/ | /var/named/ |
| 带有 chroot | /var/named/chroot/etc/ | /var/named/chroot/var/named/ |

可以使用默认提供的named.conf配置文件，但是为了更方便使用，我们将使用另外一个简单的配置文件模板。

非chroot环境：

```
# cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /etc/named.conf

```

chroot环境：

```
# cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf

```

现在来备份并修改配置文件。

非chroot环境：

```
# vim /etc/named.conf

```

chroot环境：

```
# vim /var/named/chroot/etc/named.conf

```

添加/修改以下行：

```
options {
## 区域文件存放目录 ##
directory "/var/named";

## 对于非本地权威域的请求转发到 Google 的公开 DNS 服务器 ##
forwarders { 8.8.8.8; };
};

## 申明一个本地域 example.tst ##
zone "example.tst" IN {
        type master;
        file "example-fz"; ## 存储文件名，放在 /var/named ##
        allow-update { none; };
};

## 为IP段 172.16.1.0 提供反向解析 ##
zone "1.16.172.in-addr.arpa" IN {
        type master;
        file "rz-172-16-1"; ## 存储文件名，放在 /var/named ##
        allow-update { none; };
};

```

### 准备区域文件

那些默认的区域文件会自动创建到/var/named 或者/var/named/chroot/var/named (chroot环境)。如果在这些地方找不到这些文件，/usr/share/doc/bind目录中提供了模板文件，可以从这里拷贝。

假设默认区域文件没有提供，我们可以从/usr拷贝模板文件。

非chroot环境：

```
# cp /usr/share/doc/bind-9.8.2/sample/var/named/named.* /var/named/

```

chroot环境：

```
# cp /usr/share/doc/bind-9.8.2/sample/var/named/named.* /var/named/chroot/var/named

```

很好！由于现在默认的区域文件已经准备好，我们可以为example.tst和172.16.1.0网络创建区域文件了，以下要点必须时刻谨记。

* 区域文件中的特殊字符‘@’意味着空。（译注：意即代表本域。）
* 所有的完全限定域名必须以点‘.’结束。如：example.tst.如果没有这个点，你会发生问题。（译注：即会被当做当前@所代表的域的子域。）

#### 1. 转发区域（本地权威域）

转发区域包含了名称到IP地址的映射。对于公开的域，域名托管提供商的DNS服务器存储了转发区域文件。（译注：转发区域即本地的权威域，由这个服务器自身提供权威的解析数据）

非chroot环境：

```
# vim /var/named/example-fz

```

chroot环境：

```
# vim /var/named/chroot/var/named/example-fz

```

---

```
$TTL 1D
@       IN SOA  ns1.example.tst. sarmed.example.tst. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
IN NS      ns1.example.tst.
IN A       172.16.1.3
mail        IN A        172.16.1.1
        IN MX 10    mail.example.tst.
www     IN A        172.16.1.2
ns1     IN A        172.16.1.3
ftp     IN CNAME    www.example.tst.

```

**说明**：在区域文件中，SOA是开始授权（Start Of Authority）的意思。它的值的第一段是授权名称服务器的完全限定域名。完全限定域名后面跟着的是电子邮件地址。由于不能在[sarmed@example.tst](mailto:sarmed@example.tst)这样的格式中使用‘@’符号（译注：@有特定意义，代表本域。），我们将电子邮件地址重写成sarmed.example.tst.这样的格式。

以下是典型的常用DNS记录类型：

* **NS**：域名服务器
* **A**: 地址记录，记录主机名到IP地址的映射（译注，此处原文有误。）
* **MX**: 邮件交换记录。这里我们只用了一个邮件交换记录，设置其优先级为10。如果有多个邮件交换记录，我们可以使用多个数值优先级，数字小的优先级最高。例如，MX 0比MX 1优先级更高。
* **CNAME**: 标准名。如果在一台单一服务器上托管了多个服务，也很可能将多个名称解析到某个单一服务器。CNAME指定了一台服务器可能有的其它名称，并且将它们指向具有实际A记录的名称。

#### 2. 反向区域

反向区域包含了IP地址到名称的映射。这里，我们为172.16.1.0网络创建反向区域。在正式的域中，公共IP区块的拥有者拥有的DNS服务器存储反向区域文件。（某些服务，如邮件服务，要求IP地址具备正确的反向解析才能正常工作。而IP的反向解析，通常是由IP的拥有者如接入商或IDC来负责解析。）

非chroot环境：

```
# vim /var/named/rz-172-16-1

```

chroot环境：

```
# vim /var/named/chroot/var/named/rz-172-16-1

```

---

```
$TTL 1D
@       IN SOA  ns1.example.tst. sarmed.example.tst. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
IN NS      ns1.example.tst.
1       IN PTR  mail.example.tst.
2       IN PTR  www.example.tst.
3       IN PTR  ns1.example.tst.

```

**说明**:除了下面的参数外，反向区域文件中的大多数参数和转发区域文件中的相同。

* PTR: IP反向解析记录，指向一个反向限定域名。

### 结束工作

既然区域文件已经准备好，我们接下来调整它们的权限。

非chroot环境：

```
# chgrp named /var/named/*

```

chroot环境：

```
# chgrp named /var/named/chroot/var/named/*

```

现在，我们为DNS服务器设置IP地址。

```
# vim /etc/resolv.conf
```

---

```
nameserver 172.16.1.3
```

最后，我们可以启动DNS服务，并确保将它添加到启动服务中。

```
# service named restart
# chkconfig named on

```

DNS服务器起动后，建议关注一下日志文件/var/log/messages，这里头包含了后台运行的一些有用信息。如果没有发现错误，我们可以开始测试DNS服务器。

### 测试DNS

我们可以使用dig或者nslookup来测试DNS。首先，我们需要安装必要的软件包。

```
# yum install bind-utils

```

#### 1. 使用dig测试转发区域

使用dig来测试时，必须时刻关注状态信息：“NOERROR”，任何其它值都表明存在问题。

```
# dig example.tst

```

---

```
;; ->>HEADER<<- opcode: QUERY,  status: NOERROR, id: 31184

;; QUESTION SECTION:
;example.com.                   IN      A

;; ANSWER SECTION:
example.com.            86400   IN      A       172.16.1.3

;; AUTHORITY SECTION:
example.com.            86400   IN      NS      ns1.example.com.

;; ADDITIONAL SECTION:
ns1.example.com.        86400   IN      A       172.16.1.3

```

#### 2. 使用dig测试PTR记录

使用dig来测试时，必须时刻关注状态信息：“NOERROR”，任何其它值都表明存在问题。（译注，也可用 dig 1.1.16.172.in-addr.arpa. ptr 来测试。）

```
# dig -x 172.16.1.1

```

---

```
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27415

;; QUESTION SECTION:
;1.1.17.172.in-addr.arpa.       IN      PTR

;; ANSWER SECTION:
1.1.16.172.in-addr.arpa. 86400  IN      PTR     mail.example.tst.

;; AUTHORITY SECTION:
1.16.172.in-addr.arpa.  86400   IN      NS      ns1.example.tst.

;; ADDITIONAL SECTION:
ns1.example.tst.        86400   IN      A       172.16.1.3

```

#### 3. 使用dig测试MX记录

```
# dig example.tst mx

```

---

```
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35405

;; QUESTION SECTION:
;example.tst.                        IN      MX

;; ANSWER SECTION:
example.tst.         14366   IN      MX     10  mail.example.tst.

```

### 排错提示

1. 我已经把SELinux关闭。
2. 保证防火墙没有阻挡UDP 53端口
3. 万一出错，可在/var/log/messages中查看到有用的信息
4. 确保区域文件的属主为‘named’
5. 确保DNS服务器的IP地址是/etc/resolv.conf中的第一条目
6. 如果你使用example.tst作为实验环境，确保将服务器从互联网断开，因为example.tst是一个不存在的域。

最后小结，该教程关注的是实验环境中配置example.tst域用作为演示。请注意，该教程中创建了一台公共DNS服务器，此服务器会回应来自任何源IP地址的查询。如果你是在配置DNS生产服务器，请确保检查与公共DNS相关的策略。其它教程涵盖了[创建从DNS服务器](http://linux.cn/article-3093-1.html), [限制对DNS服务器的访问](http://xmodulo.com/2014/04/close-open-dns-resolver.html)以及部署DNSSEC。

希望此教程对您有所帮助。

---

via: <http://xmodulo.com/2014/04/primary-dns-server-using-centos.html>

译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出


如何在CentOS中创建辅域名服务器

Summary: 在上篇教程里，我们为一个测试域exmample.tst创建了一个主域名服务器（ns1）。在本篇中，我们会在CentOS中使用bind包为相同的域创建一个辅域名服务器（ns2）。  当创建一个辅DNS服务器的时候，下面的因素需要仔细考虑。  在辅域名服务器中，你不需要手动创建正向和反向区域文件。这些区域文件会定期从主域名服务器上面同步。 当主域名服务器上的任何区域文件被修改的时候，'serial'参数也应当被更新。只有当主服务器上面区域文件的serial被修改之后，辅DNS服务器才会进行同步。  我们假设辅DNS服务器的IP地址是172.16.1.4。让我们来进行安

T

# 如何在CentOS中创建辅域名服务器

在[上篇教程](http://linux.cn/article-3092-1.html)里，我们为一个测试域exmample.tst创建了一个主域名服务器（ns1）。在本篇中，我们会在CentOS中使用bind包为相同的域创建一个辅域名服务器（ns2）。

<img src="content_image/album_201405_26_161918yt6ljctt8lljjkkb.jpg" alt="" title="">

当创建一个辅DNS服务器的时候，下面的因素需要仔细考虑。

* 在辅域名服务器中，你不需要手动创建正向和反向区域文件。这些区域文件会定期从主域名服务器上面同步。
* 当主域名服务器上的任何区域文件被修改的时候，'serial'参数也应当被更新。只有当主服务器上面区域文件的serial被修改之后，辅DNS服务器才会进行同步。

我们假设辅DNS服务器的IP地址是172.16.1.4。让我们来进行安装。

### 设置主机名

就像主域名服务器一样，辅域名服务器的主机名也应当是一个完全限定域名（FQDN）。

```
# vim /etc/sysconfig/network
```

---

```
HOSTNAME=ns2.example.tst
```

注意，在该文件中设置的主机名在服务器启动的时候会被使用。因此，如果你在系统启动之后修改该文件，修改结果不会立刻生效。下面的命令可以用来在系统运行的时候修改并及时生效。

```
# hostname ns2.example.tst

```

设置之后，可以用下面的命令来查看主机名称。

```
# hostname

```

---

```
ns2.example.tst

```

在进行下面的步骤之前，确保所有三台服务器的主机名称已经被正确设置。

### 安装软件包

就像[主服务器](http://linux.cn/article-3092-1.html)一样，配置一台辅域名服务器可以使用chroot或者不用。必须的软件包可以使用yum轻松安装。

不使用 chroot:

```
# yum install bind

```

使用 chroot:

```
# yum install bind-chroot

```

### 为区域文件的传输准备配置文件

在CentOS中使用bind创建域名服务器后，默认设置允许所有的区域文件被任意服务器同步。安全起见，我们需要配置主域名服务器，只允许它允许辅域名服务器进行同步。

#### 1. 主域名服务器

不使用chroot：

```
# vim /etc/named.conf

```

使用chroot：

```
# vim /var/named/chroot/etc/named.conf

```

---

```
zone "example.tst" IN {
    type master;
    file "example-fz"; ## 文件example-fz在主域名服务器上 ##
    allow-update { none; };
    allow-transfer {172.16.1.4; }; ## 允许辅域名服务器进行传输 ##
};

zone "1.16.172.in-addr.arpa" IN {
    type master;
    file "rz-172-16-1"; ##文件rz-172-16-1在主域名服务器上##
    allow-update { none; };
    allow-transfer {172.16.1.4; }; ## 允许辅域名服务器进行传输 ##
};

```

#### 2. 辅域名服务器

软件安装后提供的默认配置文件就可以用来配置辅域名服务器。但是，我们使用会使用另外一个实例配置文件来进行配置，因为这样便于调整。

不使用chroot：

```
# cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /etc/named.conf

```

使用chroot：

```
# cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /var/named/chroot/etc/named.conf

```

当执行完上面的命令进行文件拷贝后，添加下面的内容到刚才那个拷贝后的文件中。

```
options {
        directory "/var/named";
        forwarders {8.8.8.8; };

};

zone "example.tst" IN {
        type slave;  ## 该主机为辅域名服务器 ##
        file "example-fz"; ## 这个文件会被自动创建 ##
        //allow-update { none; };
        allow-transfer {172.16.1.3; };  ## 定义必要时进行从其传输的主域名服务器 ##
        masters {172.16.1.3; }; ## 定义主域名服务器 ##
};

zone "1.16.172.in-addr.arpa" IN {
        type slave; ## 该主机被定义为辅域名服务器 ##
        file "rz-172-16-1"; ## 这个文件会被自动创建 ##
//      allow-update { none; };
        allow-transfer {172.16.1.3; };  ## 定义主域名服务器 ##
        masters {172.16.1.3; };
};

```

### 结束工作

为了确保没有权限相关的问题，我们需要做如下调整。

不使用chroot：

```
chmod 770 /var/named/

```

使用chroot，你需在named服务启动后按照下面的命令修改权限。

```
# chmod 770 /var/named/chroot/var/named

```

现在万事俱备，我们可以重启named服务。或者，确保named服务已经被加到了开始列表中。

```
# service named restart
# chkconfig named on

```

如果不出意外，辅域名服务器应该会向主域名服务器请求一个区域的传输，并且产生自己的/var/named目录。日志文件/var/log/messages会包含一些named服务的有用信息，包括区域文件传输过程中的信息。

### 测试一个辅域名服务器

我们可以使用dig或者nslookup进行DNS测试操作。在本篇教程中我们会使用nslookup来进行演示。必要的软件包可以通过yum进行安装。

```
# yum install bind-utils
# nslookup

```

---

```
> server 172.16.1.4
Default server:     172.16.1.4
Address:            172.16.1.4#53

> example.tst
Server:             172.16.1.4
Address:    172.16.1.4#53

Name:       example.tst
Address:    172.16.1.3

> set type=mx
> example.tst
Server:             172.16.1.4
Address:            172.16.1.4#53

example.tst         mail exchanger = 10 mail.example.tst.

> exit

```

### 排错提示

1. 我们无需在辅域名服务器上创建任何区域文件。所有的区域文件都会与主域名服务器进行同步。
2. 辅域名服务器上的named服务会定期与主服务器进行同步。如果你想来一次及时的同步，可以使用命令"rncd retransfer "。如下：

```
# rndc retransfer example.tst

```
3. 只有当主服务器上区域文件的serial数字被修改变大的时候，辅域名服务器才会进行更新。
4. 确保用户named可以对文件夹/var/named或者/var/named/chroot/var/named（使用chroot的情况下）进行写操作。
5. /var/log/messages会包含有用的信息。
6. 我已经将SELinux关闭了。
7. 确保防火墙对UDP53端口开放。

希望这个可以帮到你。

---

via: <http://xmodulo.com/2014/04/secondary-dns-server-centos.html>

译者：[zzlyzq](https://github.com/zzlyzq) 校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](http://linux.cn/) 荣誉推出