通过Clonezilla(再生龙) Live 2.2.0-13 备份和恢复设备

Summary:
Clonezilla Live 2.2.0-13是一个基于DRBL、Partclone和udpcast的Linux发行版，允许用户完成一些裸机备份和还原，目前还只是测试版。

Clonezilla Live 2.2.0-13 是这个发行版的最新开发版本，开发人员已经准备加快版 ...

# 通过Clonezilla(再生龙) Live 2.2.0-13 备份和恢复设备

Clonezilla Live 2.2.0-13是一个基于DRBL、Partclone和udpcast的Linux发行版，允许用户完成一些裸机备份和还原，目前还只是测试版。

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

[Clonezilla Live 2.2.0-13](http://free.nchc.org.tw/clonezilla-live/testing/ChangeLog-Clonezilla-live.txt) 是这个发行版的最新开发版本，开发人员已经准备加快版本迭代。这个版本没有太大的变化，只是更新了一些包。

通告说：“基本的GNU/Linux操作系统已经升级，这次发行版基于Debian Sid库(2013-10-14)。DRBL包已经更新到2.5.12-drbl1，clonezilla更新到了3.7.15-drbl1。”

开发者还集成了Samba 4.0.10，这不是最后的稳定发布版本，但它仍然是最新的。

请注意这是个开发版本,请不要安装在生产机上.这只用于测试目的.

**下载 Clonezilla Live 2.2.0-13**

* [Clonezilla LiveCD 2.1.2-53 (ISO) i486 Stable](http://downloads.sourceforge.net/clonezilla/clonezilla-live-2.1.2-53-i486.iso)[iso] [120 MB]
* [Clonezilla LiveCD 2.1.2-53 (ISO) i686 PAE Stable](http://downloads.sourceforge.net/clonezilla/clonezilla-live-2.1.2-53-i686-pae.iso)[iso] [121 MB]
* [Clonezilla LiveCD 2.1.2-53 (ISO) amd64 Stable](http://downloads.sourceforge.net/clonezilla/clonezilla-live-2.1.2-53-amd64.iso)[iso] [123 MB]
* [Clonezilla LiveCD 2.2.0-13 (ISO) i486 Testing](http://sourceforge.net/projects/clonezilla/files/clonezilla_live_testing/2.2.0-8/clonezilla-live-2.2.0-13-i486.iso/download)[iso] [134 MB]
* [Clonezilla LiveCD 2.2.0-13 (ISO) i686 PAE Testing](http://sourceforge.net/projects/clonezilla/files/clonezilla_live_testing/2.2.0-8/clonezilla-live-2.2.0-13-i686-pae.iso/download)[iso] [135 MB]
* [Clonezilla LiveCD 2.2.0-13 (ISO) amd64 Testing](http://sourceforge.net/projects/clonezilla/files/clonezilla_live_testing/2.2.0-8/clonezilla-live-2.2.0-13-amd64.iso/download)[iso] [138 MB]

---

via: <http://news.softpedia.com/news/Metal-Backup-and-Recovery-Is-Now-Possible-with-Debian-Based-Clonezilla-Live-2-2-0-13-391374.shtml>

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

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


ttyrec & ttyplay - Linux记录播放终端会话

Summary: 有些时候你可能想要记录一个终端会话，也许是为了保存一个复杂的命令行操作为将来使用的参考，或者是为了知识分享。你可能也希望记录的文件尺寸尽可能的小一点，并且希望当播放记录文件时可以做一个快速回放。在这个 ...

# ttyrec & ttyplay - Linux记录播放终端会话

有些时候你可能想要记录一个终端会话，也许是为了保存一个复杂的命令行操作为将来使用的参考，或者是为了知识分享。你可能也希望记录的文件尺寸尽可能的小一点，并且希望当播放记录文件时可以做一个快速回放。在这个文章中我们将讨论两个命令行工具（ **ttyrec** 和 **ttyplay** ）来让你记录、保存和播放终端会话。

### ttyrec & ttyplay

看名字就知道ttyrec命令是用来记录终端会话的，ttyplay是用来播放ttyrec记录的会话的。

这里是这些工具的man截图：

**> ttyrec**

**> ttyplay**

### 测试环境

* 系统 – Ubuntu 13.04
* Shell – Bash 4.2.45
* 应用 – ttyrec 1.0.8-5 & ttyplay 1.0.8-5

### 简明教程

下面告诉你怎么用这些命令来记录和播放一个终端会话。

**步骤-1**

开始记录一个终端会话，只需要运行下面的命令：

```
$ ttyrec [文件名]
```

参数 **[文件名]** (上面显示的命令)是一个选项，可以指定你想要的任何名字。这个记录文件将会用这个名字保存下来。如果你没有指定一个文件名，ttyrec就会用 **ttyrecord** 作为缺省文件名。

**步骤-2**

当你想要记录的时候你就可以运行这个命令，就开始记录会话了。ttyrec命令甚至可以记录命令行类似vi，nano，emacs，lynx等这些命令行工具的会话。

**步骤-3**

到你想要结束终端会话的时候，只需要运行 **exit** 命令,这个会话记录就会结束。记录文件将会保存在当前文件夹下。

你可以运行下面的命令播放这个文件:

```
$ ttyplay [文件名]
```

参数 **[文件名]** 就是记录文件名，就是上面通过 **ttyrec** 命令给定参数的那个名字。如果没有指定文件名，那么缺省文件名就是 **ttyrecord** 。

当你运行ttyplay，回放会话记录就会开始。这里给出一些当你回放会话的时候你可以用的快捷键。

* ‘+’或‘f’键可以加速到两倍正常播放速度。
* ‘-’或‘s’键可以减慢到一般正常播放速度。
* ‘0’可以暂停。
* ‘1’可以回到正常播放速度。

这有一些其它ttyrec和ttyplay命令支持的选项：

**> ttyrec**

**ttyplay**

还有另一个小工具 **ttytime** 可以用来显示用ttyrec工具会话记录的时间。很容易使用并且只需要记录文件名作为命令行参数。

举一个例子：

```
$ ttytime record_file
 29 record_file
```

这样你就可以看到ttytime命令显示会话记录文件record\_file的时间。

这有一个ttyrec和ttyplay命令的很有用的视频：

* [youtube video](http://www.youtube.com/embed/7znzFsc0P8M?version=3&rel=1&fs=1&showsearch=0&showinfo=1&iv_load_policy=1&wmode=transparent)

### 下载/安装/配置

这有一些关于这些工具的重要的链接：

* [主页](http://0xcc.net/ttyrec/)
* [下载链接](http://0xcc.net/ttyrec/)

你可以使用任何命令行下载管理器比如apt-get或者yum来下载ttyrec，ttyplay和ttytime。Ubuntu用户也可以通过Ubuntu软件中心下载安装这些工具。

### 优点

* 轻量级并且易用
* 可以记录多种流行的命令行工具比如vi，nano，lynx等
* 没有学习曲线。

### 缺点

* 不能在IRIX6.4下工作（译注：这还算事吗？）
* 依赖终端尺寸
* 大多数Linux发行版没有预装。

### 结论

如果你正在找一些Linux轻量级命令行工具用来记录播放终端会话，那么ttyrec和ttyplay是理想的工具。我真的喜欢使用它们带来的轻松。试一下这些工具，你不会失望的。

**你使用过ttyrec，ttyplay或者其它的终端记录/播放 工具？分享你的经历给我们吧。**

---

via: <http://mylinuxbook.com/ttyrec-ttyplay-record-and-play-terminal-sessions-in-linux/>

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

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


戴文的Linux内核专题：07 配置内核 (3)

Summary:
OK，我们还继续配置内核。还有更多功能等待着去配置。

下一个问题(Enable ELF core dumps (ELF_CORE))询问的是内核是否可以生成内核转储文件。这会使内核变大4KB。所以我选择了"no"。
注意：内核转储文件(内存或者  ...

# 戴文的Linux内核专题：07 配置内核 (3)

OK，我们还继续配置内核。还有更多功能等待着去配置。

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

下一个问题(Enable ELF core dumps (ELF\_CORE))询问的是内核是否可以生成内核转储文件。这会使内核变大4KB。所以我选择了"no"。

注意：内核转储文件(内存或者系统的转储)是程序崩溃前已记录的状态。内核转储是用来调试问题的。这个转储文件的格式是ELF(Executable and Linkable Format )。

下面可以启用PC扬声器(Enable PC-Speaker support (PCSPKR\_PLATFORM))。大多数计算机用户拥有并使用扬声器，所以这个启用它。

虽然下面的特性会增加内核的大小(Enable full-sized data structures for core (BASE\_FULL))（启用完全大小的内核数据结构），但性能也随之增加。所以我选择"yes"。

为了使内核可以运行基于glibc的程序，必须启用FUTEX(Enable futex support (FUTEX))。这个特性启用了快速用户空间互斥锁(Fast Userspace muTEXes)。

注意：glibc(GNU C Library)是由GNU实现的标准C库。

注意：FUTEX (fast userspace mutex)是用来防止两个线程访问同一个不能被多个线程使用的共享资源。

下一个问题(Enable eventpoll support (EPOLL))可以通过回答"no"来禁用epoll系统调用。然而，为了含有epoll系统调用，我选择了"yes"。epoll是一种I/O事件通知系统。

为了收到来自文件描述符的信号，我们启用signalfd系统调用(Enable signalfd() system call (SIGNALFD)。

如果启用这个特性(Enable timerfd() system call (TIMERFD))，它允许程序使用定时器事件获取文件描述符。

我们现在的配置必须启用eventfd系统调用(Enable eventfd() system call (EVENTFD))。它默认启用访问共享内存文件系统(Use full shmem filesystem (SHMEM)。共享内存文件系统是一种虚拟内存文件系统。

下一个问题是"Enable AIO support (AIO)"。这个特性启用了线程化程序使用的POSIX异步I/O。

注意：异步I/O用来处理输入/输出，它允许线程在传输完成前就完成处理。

如果你正在给一个嵌入式系统配置一个内核，那么问题“Embedded system (EMBEDDED)”可以选择"yes"。否则就像我一样选择"no"。

注意：嵌入式系统是运行在一个更大的电子系统的实时计算机。

现在，我们可以配置内核性能事件和计时器了。配置工具没有给开发者选择，直接启用了事件和计数器(Kernel performance events and counters (PERF\_EVENTS))（内核性能事件和计数器）。这是一个重要特性。

接下来，我们可以禁用另外一个调试特性(ebug: use vmalloc to back perf mmap() buffers (DEBUG\_PERF\_USE\_VMALLOC))。

如果启用了VM事件计数器，那么事件计数就会显示在/proc/vmstat(Enable VM event counters for /proc/vmstat (VM\_EVENT\_COUNTERS))。如果禁用了事件计数就不会显示，/proc/vmstat只会显示内存页计数。

为了更好地支持PCI芯片，(Enable PCI quirk workarounds (PCI\_QUIRKS))回答yes。这会启用对PCI芯片的怪异行为和bug的临时解决方案。

下面一个调试特性可以像我一样禁用掉(Enable SLUB debugging support (SLUB\_DEBUG))。这个特性会耗费很多空间并且会禁用用于调试内核的SLB sysfs。如果这个特性被禁用，那么/sys/slab就不会存在并且系统上也不再支持缓冲验证。

堆随机化是一个让利用堆漏洞更加困难的特性(Disable heap randomization (COMPAT\_BRK))。然而我们不应该去启用它，因为任何基于libc5的软件都无法工作在这个系统上！只有我们有特别的理由这么做或者如果你不会使用基于libc5的软件时才去启用它。我禁用了这个特性。当编译一个通用的内核时，开发这会希望禁用这个特性。

接下来必须选择一个SLAB分配器。SLAB分配器是一个没有碎片且有效率地将内核对象放置在内存中的内存管理系统。默认选择是"2"。

Choose SLAB allocator

1. SLAB (SLAB)

> 2. SLUB (Unqueued Allocator) (SLUB)

3. SLOB (Simple Allocator) (SLOB)

choice[1-3?]: 2

为了支持扩展性能支持，(Profiling support (PROFILING))回答"yes"。

下一个问题让开发者选择是否启用OProfile系统。它可以禁用、启用或者添加为一个模块在需要时载入。我选择禁用这个特性。

Kprobes允许用户捕捉几乎任意的内核地址去启动一个回调函数。这是一个可以像我一样禁用的调试工具(Kprobes (KPROBES))。

这个优化特性可以启用(Optimize very unlikely/likely branches (JUMP\_LABEL))（优化非常近似/不近似的分支）。这使分支预判更加简单并可以减小开销。

配置工具启用了一个实验性特性"透明用户空间探针"(Transparent user-space probes (EXPERIMENTAL) (UPROBES))。不过不要担心，系统可以很好工作，并不是所有的实验性特性是不稳定或者坏的。

接下来，我们会被询问基于gcov的内核分析(Enable gcov-based kernel profiling (GCOV\_KERNEL))。这可以被禁用。

为了允许内核加载模块，需要启用可加载模块支持(Enable loadable module support (MODULES))。

内核一般只能加载有版本号的模块。如果想允许内核加载没有版本号的模块，就启用这个特性(Forced module loading (MODULE\_FORCE\_LOAD))（强制模块载入）。这么做是一个很糟糕的注意，所以我已经禁用了它，除非你有特定的需求需要这个特性。

如果启用了这个特性(Module unloading (MODULE\_UNLOAD))，Linux内核也能卸载模块，最好启用。如果内核判断你要卸载的模块不应该被卸载，那么用户则无法卸载模块。启用强制卸载也行，但是不建议(Forced module unloading (MODULE\_FORCE\_UNLOAD)。

为了使用不是为你的内核开发的或者并不适用你的版本号的模块，可以启用版本支持(Module versioning support (MODVERSIONS))。最好不要混用不同版本号的模块，所以我禁用了这个特性。

模块在它们的modinfo(模块信息)里有一个字段名为"srcverion"。这个字段允许开发者知道使用什么源码版本来编译模块。启用这个选项可以在编译模块的时候加入这个字段。这个并不必要，所以我禁用了它(Source checksum for all modules (MODULE\_SRCVERSION\_ALL))。如果启用了先前的选项，开发者可以将校验和加入到模块中(Source checksum for all modules (MODULE\_SRCVERSION\_ALL))。

为了启用模块签名验证(Module signature verification (MODULE\_SIG))，这个选项回答"yes"。因为这个并不必要，我选择了"no"，否则内核在加载模块前会检查并验证签名。

为了启用块级支持(Enable the block layer (BLOCK)),像我一样选择"yes"。禁用这个将会使块设备无法使用并且无法启用某些文件系统。

下面，SG支持已经默认启用(Block layer SG support v4 (BLK\_DEV\_BSG))（块级SG支持V4版），并且辅助库也启用了(Block layer SG support v4 helper lib (BLK\_DEV\_BSGLIB))。

下面回答的问题是关于对块设备的数据完整性支持(Block layer data integrity support (BLK\_DEV\_INTEGRITY))。这个特性允许拥有更好的数据完整性来提供设备数据保护特性。许多设备不支持这个特性，所以我禁用了它。

如果启用了块级bio带宽限制(Block layer bio throttling support (BLK\_DEV\_THROTTLING))那就可以限制设备的IO速率。

为了启用外部分区方案的支持，这个问题就回答"yes"(Advanced partition selection (PARTITION\_ADVANCED))。我禁用了这个特性。

为了启用CSCAN(译注：循环扫描)和FIFO过期请求，那就启用最后期限IO调度器(Deadline I/O scheduler (IOSCHED\_DEADLINE))。

CFQ IO调度器在处理器之间平均地分配带宽。因此启用这个特性feature (CFQ I/O scheduler (IOSCHED\_CFQ))是个好主意。

下面，开发者可以启用或禁用CFQ组支持(CFQ Group Scheduling support (CFQ\_GROUP\_IOSCHED))。接下来，开发者可以选择默认的IO调度器，最好选择DEFAULT\_DEADLINE。

对于小于32位寻址的设备，下面的特性会分配16MB的寻址空间(DMA memory allocation support (ZONE\_DMA))。如果你不使用这些设备，那么这个是可以禁用的，所以我禁用了它。

对于有多个CPU的系统，最好启用SMP(Symmetric multi-processing support (SMP))。对于只有单个处理器的设备，内核会在禁用这个特性后执行得更快。我启用了这个特性。

对于支持x2apic的CPU，启用x2apic支持support (Support x2apic (X86\_X2APIC))。如果你的系统缺乏这个特性就像我一样禁用它。

接下来我们可以启用对那些缺乏合适的ACPI支持的旧式SMP系统的MPS表(Enable MPS table (X86\_MPPARSE))。一些拥有ACPI、DSDT、MADT支持的更新的系统不需要这个特性。我禁用了它。

下面的问题允许我们启用扩展x86平台的支持(Support for extended (non-PC) x86 platforms (X86\_EXTENDED\_PLATFORM))。只有在你需要一个通用内核或者内核运行在某个特定的需要扩展支持的处理器上时才启用它。我禁用了这个特性。

为了支持Intel低功耗子系统，就启用这个特性(Intel Low Power Subsystem Support (X86\_INTEL\_LPSS))。

单一深度WCHAN输出(Single-depth WCHAN output (SCHED\_OMIT\_FRAME\_POINTER))是用来计算电量(/proc//wchan)，然而这会导致更多的功耗。

下面，我们启用虚拟客户系统支持(Paravirtualized guest support (PARAVIRT\_GUEST))。这允许一个Guest操作系统与主操作系统一起运行。我会禁用这个特性。

Memtest是一个在系统启动时检测内存的软件。Memtest可以配置为每次或者有时开机运行。Memtest并不必要，所以我禁用了它。

这里我们可以选择一个内核应该支持的处理器家族。我选择了5 – Generic-x86-64。这是一个64位的系统，x86是32系统。

下面我们能选择也支持x86(32位)处理器 (Supported processor vendors (PROCESSOR\_SELECT))。

为了发现机器异常，我们可以启用DMI扫描(Enable DMI scanning (DMI))，这可以检测异常。

要启用DMA访问系统上32位内存的3GB以上的内存，下一个问题(GART IOMMU support (GART\_IOMMU))我们回答"yes"。

---

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

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

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


实例论证：NSA在安全标准中植入后门

Summary:
前不久我写到NSA可能在安全标准中植入后门。今天，我们谈一谈NSA被指责在标准中植入后门的两个案例，然后通过它们来区分两种后门之间的不同。

第一个案例
是关于NIST标准，SP 800-90A，该标准详细说明了一种伪随机  ...

# 实例论证：NSA在安全标准中植入后门

前不久我[写到](https://freedom-to-tinker.com/blog/felten/nsa-apparently-undermining-standards-security-confidence/)NSA可能在安全标准中植入后门。今天，我们谈一谈NSA被指责在标准中植入后门的两个案例，然后通过它们来区分两种后门之间的不同。

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

### 第一个案例

是关于NIST标准，[SP 800-90A](http://csrc.nist.gov/publications/drafts/800-90/draft_sp800_90a_rev1.pdf)，该标准详细说明了一种伪随机数生成器（PseudoRandom Generator 以下简称PRG）。一个RPG可以通过计算得到一小组不可预料的随机比特，并进而“延展”得到大量的随机比特数。在密码学中，PRG作为大多数密钥的源头，是必需的。因此，如果你能“破解”某些人的PRG，你就能预测其使用的密钥，进而击溃其整个加密算法。

NIST标准中提供了一些核心算法供PRG选择。其中一个算法使用了一种叫做椭圆曲线的数学结构，在这里我并不打算展开介绍这个数学概念。总之，这个算法使用了两个“公开参数”P和Q，它们均在标准中有指定的值，因此说它们是公开的。

密码学家相信，如果P和Q是随机的，PRG就是安全的。但是2006年，两个独立密码学家指出，通过某种方法选定P和Q后，它们之间就具有了某种特殊的关系。一个“局外人”可能并不知道这种特殊关系的存在，但是如果你知道了描述P和Q之间关系的“密钥”，就可以轻松击溃PRG的安全体系。

知道了这一点，会发现很多事实突然变得有趣起来。首先，NSA看起来十分执意要将这种算法写入标准，即使它的运行效率很低；其次，NSA在标准中指定了P和Q的建议取值范围；第三，NSA并未解释这些给定的取值范围是如何得出的。怎么样，是不是有点儿意思？

不仅如此，现在已经可以通过一些已公开的步骤，得出新的随机的P和Q，也就是说，以上三种问题都可以得到解决，但是NSA并没有这么做。

值得注意的是，（也许是为了辟谣），前不久（9月10日），NIST[重新开放](http://www.nist.gov/director/cybersecuritystatement-091013.cfm)了SP 800-90A的公开评论。

### 第二个案例

是由John Gilmore提出的，他在IPSEC标准中发现了问题。IPSEC被视为安全技术的一块基石，能够为因特网中的个人IP数据包提供完整可靠的加密。一个成功广泛部署的IPSEC协议可以大大强化因特网安全，为多种网络通信提供加密保护。

John说，NSA及其代理部门始终在降低该标准的安全水平与执行效率，同时却不断提高其复杂程度和安全方面的实现难度。尽管John还没有掌握NSA植入后门的确凿证据，但是他发现，NSA的确在不断削弱该标准的效力，事实上，IPSEC已经没有人们想象中的那样安全可靠。

上述案例向我们展示了两种不同类型的后门。第一个关于PRG的案例中，我们怀疑NSA尝试建立一个只有它能使用的后门，因为只有它知道关联P和Q的密钥。第二个关于IPSEC的案例中，NSA不断削弱用户的安全防护能力，这样它就能更轻易地访问你的数据，但同时其他所有人都具有了这样的机会。

可以确定的是，一个私有后门很可能无法一直“私有”。如果真有这样一个magic密钥，能让NSA窥探所有人的秘密，那这把钥匙很可能会被滥用或泄露到外界。因此，NSA私有后门和公开后门之间的界限并不明显。

但是，看起来这两种后门之间还是引起了不同的政策辩论。前者使得NSA能秘密地轻易访问每个人的数据，后者则赋予了每个人这种访问权限，后者的影响力要更加严重。

同时，我们应该看到一个后门是如何创造出来的。在PRG的案例中，需要获得制定标准的专家们通过，NSA才能使其加密过程中那微小的缺陷“蒙混过关”。在IPSEC的案例中，则貌似需要在标准的整个制定过程中不断协调公关活动才有机会制造那小小的缺陷，在这个过程中，即使没有人发现某种模式，也应该能注意到某些单个步骤，（但是却没有）。

也许有人会怀疑，这些案例真的是NSA有意而为之，还是只是空穴来风。对此，我们并不敢保证。但是只要NSA一直拥有参与制定安全标准的许可权限，我们就有必要，对他们所参与制定的任何标准保持怀疑。

---

via: <https://freedom-to-tinker.com/blog/felten/on-security-backdoors/>

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

译者：[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对：[Caroline](https://github.com/carolinewuyan)


每日Ubuntu小技巧-改变登陆窗口背景

Summary: 本文为你提供了一个简单的小技巧，告诉你如何用你自己图片来替换登陆窗口的背景。Ubuntu的登陆窗口挺不错的，可能比大多数发行版的都要好，但是如果你想要使用一张你自己的图片，比如一张可以让你回忆起某个特定的地 ...

# 每日Ubuntu小技巧-改变登陆窗口背景

本文为你提供了一个简单的小技巧，告诉你如何用你自己图片来替换登陆窗口的背景。Ubuntu的登陆窗口挺不错的，可能比大多数发行版的都要好，但是如果你想要使用一张你自己的图片，比如一张可以让你回忆起某个特定的地方或事情的图片，你就可以按照下面的步骤来更换上它。

有许多方法可以做到这一点，这篇博文介绍的只是其中一种。下面介绍的方法可以使用dconf-editor和lightdm用户身份来完成这样的效果。简单来说就是，切换到root用户，给予lightdm用户访问x-server的权限。然后使用lightdm用户身份，运行dconf-editor，然后做出修改。

在设置完自定义图片并且重启后，每次启动电脑时你就应该能看到你设置的图片。若设置的图片是一张你非常喜欢的并且能给你带给你很多回忆的图片，那么你每次启动电脑登陆到Ubuntu时一定非常开心。

这个手册假设你已经在你的电脑上安装了dconf-editor。若没有，你可以运行以下命令来安装dconf-editor

```
sudo apt-get install dconf-editor
```

下一步，选择你要作为登陆背景的图片。然后，记下图片的位置以及图片的名字，运行以下命令切换到root用户。

```
sudo –i
```

下一步，运行以下命令给予lightdm用户访问X-server的权限。Lightdm是一个管理登陆窗口背景的服务程序，因此假如你要更换登陆窗口的背景图片，你就要修改lightdm用户。

```
xhost +SI:localuser:lightdm
```

下一步，运行以下命令切换到lightdm用户

```
su lightdm -s /bin/bash
```

然后，运行以下命令开启dconf-editor

```
dconf-editor
```

当工具打开后，浏览到 **com->canonical->unity-greeter**。然后改变背景值为自定义的图盘。你可能需要勾掉draw-grid。

重启电脑，尽情享受~

---

via: <http://www.liberiangeek.net/2013/09/daily-ubuntu-tipschange-logon-screen-background/>

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

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


在Ubuntu上升级到Linux内核3.11.6

Summary:
Ubuntu 13.10已经发布，不过它的内核可不是最新的。当然坚持Ubuntu 13.10当前内核不是一件坏事。事实上。不特别建议升级超出你的Linux发行版的官方仓库测试过的特定版本。

但另一方面,如果你不害怕一再折腾Ubuntu， ...

# 在Ubuntu上升级到Linux内核3.11.6

Ubuntu 13.10已经发布，不过它的内核可不是最新的。当然坚持Ubuntu 13.10当前内核不是一件坏事。事实上。不特别建议升级超出你的Linux发行版的官方仓库测试过的特定版本。

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

但另一方面,如果你不害怕一再折腾Ubuntu，那么你可以试试升级到最新Ubuntu支持的Linux内核。你会发觉最新的内核总是有改善的、修补了漏洞和添加特性的.

所以，如果你的电脑有些运行不正常，那么更新Linux内核可能就能修复。但记住，当你升级时你也有可能导致系统崩溃。

如果你不再惧怕，和我一起永往直前吧，让我们开始升级Ubuntu Linux 内核到 3.11.6!!

首先，在你开始升级之前，请先备份你的数据，以防升级时出错无法恢复。小心行得万年船!!!

更多关于这个内核版本信息，[阅读更改日志](https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.11.6)。

当你一切准备就绪，运行下列命令来升级你的机器并删除包括比当前更旧的内核在内的旧软件包。

```
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove
```

然后，进到/tmp目录。

```
cd /tmp
```

接着，复制粘贴下列命令，按回车下载32位的Linux内核

```
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106-generic_3.11.6-031106.201310181453_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106_3.11.6-031106.201310181453_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-image-3.11.6-031106-generic_3.11.6-031106.201310181453_i386.deb
```

对于64位Linux内核版本，则复制粘贴下行。

```
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106-generic_3.11.6-031106.201310181453_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-headers-3.11.6-031106_3.11.6-031106.201310181453_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11.6-saucy/linux-image-3.11.6-031106-generic_3.11.6-031106.201310181453_amd64.deb
```

下载适合你的版本，运行下列命令，开始安装：

```
sudo dpkg -i *.deb
```

最后，运行下列命令升级Grub。

```
sudo update-grub2
```

就这样！重启你的电脑，完成升级!!

玩的开心!

---

via: <http://www.liberiangeek.net/2013/10/upgrade-linux-kernel-3-11-6-ubuntu/>

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

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


树莓派（Raspberry Pi）：完美的家用服务器

Summary:
自从树莓派发布后，所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒，但树莓派( RPi )最明显却又是最不吸引人的用处是：创建你的完美家用服务器。
如果你有几个不 ...

# 树莓派（Raspberry Pi）：完美的家用服务器

自从树莓派发布后，所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒，但树莓派( **RPi** )最明显却又是最不吸引人的用处是：创建你的完美家用服务器。

如果你有几个不同的电脑需要同步和自动化备份，RPi可以做到。如果你想通过家中的任意屏幕来访问你的音乐和视频，RPi也能实现。也许你有一个或两个打印机，你想要简单与大家共享，树莓派在硬件和时间上用最小投资就能满足你的这些需求。

### 树莓派的好处

低成本：35美元（约合242元RMB），B型的RPi接近一台完整的电脑，512M内存，100Mb以太网，SD卡插槽，2个USB接口，音频输出和HDMI或RCA视频输出。我知道HDMI电缆就比树莓派贵。

能源效率：硬件成本只是服务器费用的一部分，因为你需要考虑能源成本去不断运行设备。家用服务器所需要的服务不会占用太多CPU，大部分时间它都处于空闲状态，等待发挥功效。RPi's超低功率组件非常适合这个工作负载，这有助于降低你的电费消耗。我的一个B型的RPi加上外部硬盘消耗总共只有8瓦，然而用老式速龙代替的机器在闲置时消耗54瓦。假设10美分每千瓦一小时，这使得一个RPi每年的电费在7美元。一个基于速龙的机器是47美元。在不到一年的时间里，RPI基本上能够收回成本。

低噪音：因为RPi没有风扇和移动部件，在你最终配置中的唯一能生成噪音或明显热量的组件就是硬盘。如果你担心噪音，像[Silent PC Review](http://www.silentpcreview.com/)发烧友网站经常在他们的评论中涉及到噪声基准。我的体会是现代驱动器足够安静，要比其他的设备安静的多（如媒体中心，游戏机或其他电脑）。如果你家里没有为布线提供更多的灵活性选择，RPi的小尺寸、少量发热和低噪音也许让你走过它旁边都很难发现。

图1,一个简洁高效的家用服务器

新机会：一个不怎么实际的好处是-简单快乐的尝试新事物！对我来说，这是我第一次真正工作在基于Debian的发行版，很可能也是许多Linux爱好者们第一次有机会尝试一个基于ARM的体系结构。

### 布置硬件

对于一个家庭服务器来说，你将需要一个中等容量的SD闪存卡作为本地存储。它可以使用一个USB引导，但那会占用两个宝贵的USB插槽之一。闪存卡不需要很大容量，但是速度越快越好。我选择了一个名牌SD卡，8GB容量和CLASS 10的速度等级。对于备份和存储多媒体文件，一个有USB连接插槽的硬盘驱动器是必须的。我选择一个1.5TB的硬盘和一个Calvary EN-CAHDD-D 2-bay USB 2.0硬盘连接基座。这个连接基座有个功能，在RAID-0模式中连接两个硬盘，总有一天会有用的。最后，RPi不带电源线，但可以用大多数智能手机充电器所用的5v微型USB。看看RPi是否挑剔电源，我为电源已换了三个不同的微型USB手机充电器。我在这周内尝试了每一个，在任何一个上都没有问题。

### 安装操作系统

安装RPi操作系统包括了许多方面的大量细节，但这里有一些家用特定服务器的安装提示，大致按需要的顺序讲述。

1）直接通过<http://www.raspberrypi.org/downloads>获取Raspbian "Wheezy"安装镜像，并复制到SD卡，用网站上已列出的步骤。

2）第一次引导RPi时，连接一个键盘、鼠标和显示器。在引导RPi之前别忘打开显示器，可以检测到正确的HDMI或混合输出端口。

3）RPi有一个很好的"raspi-config"屏幕，在第一次启动时你会看到。对于家庭服务器来说，以下选择将会有用：

* expand\_rootfs：调整默认2GB OS镜像的大小，来填满闪存卡剩余的内存。
* change\_pass：修改默认密码"raspberry"，但是，越安全的密码越好。
* 设置你的地点和时区。
* memory\_split：给GPIU服务分配最少的内存（16M）尽可能为其他服务留下更多内存。
* SSH：别忘开启SSH服务。
* boot\_behaviour：关闭“启动至桌面（boot to desktop）”（再次为你的其他服务节省内存）。

完成后，你将在出现 pi@raspberrypi 提示符下。安装脚本可以在任何时间通过 sudo raspi-config 重新运行。

还有一些其他配置，然后操作系统就可以用了。

1）一个静态IP让一切变得更容易，切换eth0的网络设置：

```
   >> sudo nano -w /etc/network/interfaces

```

更改eth0的那行 iface eth0 inet dhcp ，如下所示（根据你的家庭网络设置修改）：

```
======/etc/network/interfaces======
...
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
...
======/etc/network/interfaces======

```

2）创建本地用户并加入到users组和sudo组：

```
>> sudo adduser YOURUSERIDHERE
>> sudo usermod -a -G users YOURUSERIDHERE
>> sudo usermod -a -G sudo YOURUSERIDHERE

```

3）更新系统确保所有的库是最新最好的：

```
>> sudo apt-get update; sudo apt-get upgrade

```

4）好了，准备重新启动吧！先关闭PI：

```
>> sudo /sbin/shutdown -h now

```

一旦关闭（注意RPi电路板上的绿色LED状态指示灯，可以知道什么时候完成关闭了），拔下显示器，键盘，鼠标和电源线。插入USB端口上的硬盘，然后插回电源重启RPi。

5）一旦RPi开启（这些绿色LED指示灯用来描述状态），你可以从远程网络上从任何其他机器ssh到RPi并完成所有的配置（更改以下命令里的IP为你的静态IP）：

```
>> ssh YOURUSERIDHERE@192.168.1.10

```

祝贺你，有了一个可以工作的树莓派！

### 外设

第一件事是要连接外设。用dmesg来寻找你的存储设备，会发现——几乎可以肯定是/dev/sda。我喜欢使用自动挂载去挂载移动存储设备，这样更灵活，因为在启动时这些设备也许没有或者没准备好：

```
>> sudo apt-get install autofs
>> sudo nano -w /etc/auto.master
======/etc/auto.master======
...
/misc /etc/auto.misc
...
======/etc/auto.master======

>> sudo nano -w /etc/auto.misc

```

注意，我的外部存储设备是ext4格式，如果需要话可以在下面更改：

```
======/etc/auto.misc======
...
storage -fstype=ext4:/dev/sda1
...
======/etc/auto.misc======
>> sudo /etc/init.d/autofs restart
>> ls -lat /misc/storage

```

可选的，创建一个符号链接的短路径：

```
>> ln -s /misc/storage /storage

```

### 备份仓库

在任何家庭服务器功能列表里面最重要的是提供坚如磐石的备份。对于RPi来说，这很简单而优美，在Linux中有丰富的网络共享选项：Samba/CIFS用于Windows机器，NFS用于基于UNIX的设备，并且甚至SFTP可以用于更多新的备份客户端，如deja-dup。由于RPi只有100MB以太网接口和USB上的存储设备，它没有非常快的传送速度。不过在另一方面，好的备份客户端是在后台自动运行的，所以你不会注意略微缓慢的传输速度。

我的家庭网络包括一台Windows 7电脑。对于它，我通过Samba在RPi's外部USB存储设备上导出一个备份目录。因为备份程序在Windows7基础版上不支持网络设备作为备份目标，我使用[SyncBack Free](http://www.2brightsparks.com/freeware/freeware-hub.html)去设置使其自动化，每日备份。

配置Samba是容易的。

1）安装samba和common-bin库（具有smbpasswd效用）

```
>> sudo apt-get install samba samba-common-bin

```

2）使用 smbpasswd 让你的本地ID能访问：

```
>> sudo smbpasswd -a YOURUSERIDHERE

```

3）编辑samba配置文件：

```
>> sudo nano -w /etc/samba/smb.conf

```

4）更改 workgroup = WORKGROUP 行以匹配你的Windows工作组名称。

5）注释掉或删除[homes]和[printers]共享。(打印机共享稍后将通过直接CUPS访问来完成。)

6）为Windows备份路径增加一个条目。这是我的示例，放置在该文件的底部：

```
======/etc/samba/smb.conf======
...
[win7pc]
comment=Backup for windows PC
path=/storage/win7pc
writeable=Yes
create mask=0777
directory mask=0777
browsable=Yes
public=Yes
valid users=YOURUSERIDHERE
...
======/etc/samba/smb.conf======

```

7）重启Samba使你的编辑生效：

```
>> sudo /etc/init.d/samba restart

```

8）从Windows机器文件资源管理器通过映射一个网络设备测试连通。

对Linux设备来说，设置和使用deja-dup非常简单。它被默认安装在我的Fedora 18和Ubuntu 12.10上。包的名称是“deja-dup”，程序名简单的称为“Backup（备份）”。虽然RPi很容易支持NFS导出，我发现使用deja-dup的SSH选项更容易，更方便，在RPi上它不需要额外服务的支持。指定一个deja-dup加密密码是一个好主意，除非你不在意一旦丢失了存储器，别人就可以拿走全部数据：

```
>> sudo mkdir /storage/linuxlaptop
>> sudo chown -R YOURUSERIDHERE:YOURUSERIDHERE /storage/linuxlaptop

```

从linux客户端启动备份程序，选择“SSH”作为备份位置，输入RPi的IP地址和你创建的存储位置。首次备份会很慢，但是以后的运行将只发送增量变化，速度更快。

图2,Deja-dup客户端设置

### 多媒体服务器：DLNA

现在每个人的文件都已安全备份。让我们继续看些有趣的！一个DLNA服务器可以让你集中存储你的电影、音乐和图片。通过这个中心库，家中每一个屏幕的DLNA客户端都可以轻松重放此内容。

至少，这是一个宣称。事实是这样的，DNLA规格并不太确定一些重要的事情，如支持哪些格式或编码。每个客户端通常对于支持什么格式和服务器功能都有略微不同的想法。很多高功率的服务器也许能转码本地内容到移动设备支持的格式，但是在RPi上是不可能的，在即时转码上经常扰乱其他功能，如暂停，快进和倒带。一般情况下，高功率设备如PS3、Xbox和WD TV设备支持大多数格式，而无需任何转码。低端设备如智能TVs或Blu-ray播放器只支持更有限的编码列表。

对于RPi来说，最好的办法是支持你的主要的DLNA设备的标准编码，然后测试你的其他DLNA客户端。如果没有完美播放，在下一节的提示也许有帮助。在我的情况下，我的PlayStation 3充当DLNA客户端，PS3能够流畅播放经Handbrake制作后的.m4v文件。

对于RPi的DLNA服务器来说，Minidlna是个很好的选择。它已经在Raspbian发行版中，易于设置和使用最小服务资源运行：

```
>> sudo apt-get install minidlna
>> sudo nano  -w /etc/minidlna.conf

```

这是我/etc/minidlna.conf文件的相关部分：

```
...
# I found keeping video + audio in different paths helpful
media_dir=V,/storage/dlna/video
media_dir=A,/storage/dlna/music
...
presentation_url=http://192.168.1.10:8200/
...
friendly_name=MyRPi
...
# Since I add new media infrequently, turning off
# inotify keeps minidlna for polling for
# content changes. It's simple enough to run
# sudo /etc/init.d/minidlna force-reload
# when new content is added.
inotify=no

```

一旦完成编辑，重启minidlna以加载新配置：

```
>> sudo /etc/init.d/minidlna force-reload

```

Minidlna能够为你的设备支持的电影提供电影海报缩略图（像PS3）。这让我能够更方便地在几十个电影文件中滚屏查找我想要的那个电影。我发现每个电影一个目录是最兼容的文件布局，只包含影片文件和缩略图，图像命名为“Cover.jpg”。使用像"MovieName.m4v"和"MovieName.jpg"的格式在PS3上工作的很好，但它不太适合VLC（除非你能让VLC uPNP插件首先查找服务器的话）。

通过PS3，你可以通过转到在XMB栏上的"Video"测试连通性。当视频列表向下翻页时，你以前设置的"friendly\_name"应该是可见的，测试确保Minidlna是通过浏览器转到[http://192.168.1.10:8200/。](http://192.168.1.10:8200/%E3%80%82)

### 非DLNA设备的多媒体

当你让DNLA与你的一些设备一起工作时，你可能会发现有些设备并不适合它，所以多媒体计划B是个好主意。Nginx网站服务器有一个MP4插件尝试在旧式的HTTP连接上改善流媒体传输，但是浏览器回放的性能差别很大，在一部电影里快进也一直不工作。看起来多媒体共享或非 DLNA 设备的最低共同特性是使用传统Samba共享的访客只读访问。

这是/etc/samba/smb.conf的部分示例：

```
[dlna]
path=/storage/dlna
read only=yes
browsable=yes
public=yes

```

定义了共享设置后重启Samba（ sudo /etc/init.d/samba restart ），你可以开始测试你的客户端。

我用一个混合的编码m4v视频文件测试了以下客户端：

* Android 4.0.4手机："ES File Explorer"与"ES Media Player"（播放器附带安装）。
* Android 4.1.2平板电脑："ES File Explorer"与"ES Media Player"（播放器附带安装）。
* Linux设备：自动挂载：//192.168.1.10/dlna，然后使用VLC或MPlayer。
* Windows：挂载//192.168.1.10:/dlna，然后使用VLC。

所有设备都能几乎立即开始播放和快进没有延迟的情况。

### 打印服务器

RPi运行CUPS相当不错，所以它容易共享一个较旧的没有本地网络接口的打印机。

安装你的打印机所需的CUPS和任何软件包。我需要hplip-cups，因为我有一个HP喷墨打印机：

```
>>  sudo apt-get install cups hplip-cups

```

更新“Listen”行和增加 Allow @LOCAL 到位置指令，如下所示（你可以使用其他机器在你的LAN上去管理CUPS）：

```
======/etc/cups/cupsd.conf======
#Listen localhost:631  #Comment this out
Listen 192.168.1.10:631 #Add this line
...

  Order allow,deny
  Allow @LOCAL

# Restrict access to the admin pages...

  Order allow,deny
  Allow @LOCAL

# Restrict access to configuration files...

  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow @LOCAL

======/etc/cups/cupsd.conf======

```

添加你的本地ID到lpadmin组就能管理CUPS：

```
>> sudo usermod -a -G lpadmin  YOURUSERIDHERE

```

重启CUPS：

```
>> sudo /etc/init.d/cups restart

```

然后转到[http://192.168.1.10:631/并点击](http://192.168.1.10:631/%E5%B9%B6%E7%82%B9%E5%87%BB) "Adding Printers and Classes"去设置你的打印机。我的打印机是自动发现的USB设备，所以，我只需点击“share”就可以。同样访问[https://192.168.1.10:631/admin，确保检查“Share](https://192.168.1.10:631/admin%EF%BC%8C%E7%A1%AE%E4%BF%9D%E6%A3%80%E6%9F%A5%E2%80%9CShare) printers connected to this system（共享连接至这个系统的打印机）”。

完成后，你可以用通常的方式设置你的客户端。当我输入主机名，我的Linux客户端就能够自动发现打印机，并选择正确的驱动程序。在我的Windows7的机器上，一旦我选择“Network Printer（网络打印机）”，我必须点击“The printer that I want isn't listed（我想要的打印机未列出）”，选择“Select a shared printer by name（通过名称选择共享的打印机）”，然后从CUPS网络接口输入URL：[http://192.168.1.10:631/printers/HP\_J4500。](http://192.168.1.10:631/printers/HP_J4500%E3%80%82)

### 结论

用最少的额外的硬件和配置，树莓派是高效、简洁的家用服务器。它能够花最小的硬件费用来为你的家庭环境带来由Linux提供的广泛企业服务。

---

via: <http://www.linuxjournal.com/content/raspberry-pi-perfect-home-server>

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

译者：[Vito](https://github.com/vito-L) 校对：[Caroline](https://github.com/carolinewuyan)


安装Ubuntu13.10后必做的10件事

Summary:
Ubuntu 13.10发布了，而且你已经升级了，然后你想知道现在要做些什么。不要着急，这里有10件安装完Ubuntu 13.10后必做的事。
我们以前为ubuntu每个版本整理了一个安装后核对表，但是因为新功能的到来以及不断的进步  ...

# 安装Ubuntu13.10后必做的10件事

**Ubuntu 13.10发布了，而且你已经升级了，然后你想知道现在要做些什么。不要着急，这里有10件安装完Ubuntu 13.10后必做的事。**

我们以前为ubuntu每个版本整理了一个安装后核对表，但是因为新功能的到来以及不断的进步，我们建议的步骤也在不断改变和转换。

因此，升级到ubuntu 13.10后最好做哪些事情呢？

### 1. 加快速度

尽管Ubuntu 13.10相较于之前的发布版包含了较少的面向用户的特征，但是新的Smart scopes服务还是不可错过的。

### 2. 使用第三方驱动

Ubuntu本身已经支持了大量的硬件。但是虽然免费而又开源的的驱动能力越来越强,在Steam 或 Steam HD video 上玩儿游戏仍会感觉性能差强人意。

如果是这样，可以 **安装并使用专有驱动** ，它们在Software & Updates （软件和更新）工具中。

在启动器里打开*软件源应用* （或者通过系统设置）然后点击进入“其他驱动”选项卡，然后按照屏幕上的提示操作。

### 3. 安装Ubuntu的影音解码器

由于一个很大的法律问题的纠缠，Ubuntu不能即刻支持很多流行的音频视频格式。这是一项很大的先天缺陷。

但是安装这些支持所需要的仅仅只是几下点击。在安装过程中只需勾选*使用限制格式* 框来导入需要的解码器，或者，如果你忘了的话，也可以从Ubuntu软件中心安装所有的多媒体相关工具。

* [安装第三方解码器](https://apps.ubuntu.com/cat/applications/ubuntu-restricted-extras/)

### 4.建立你的社会生活

Facebook, Twitter, Google Talk, Gmail以及其他的社交账号可以在*在线账号* 里一起设置。

只需要添加一个网络然后**决定哪些程序可以使用它**。例如，关掉Empathy，默认启动Google Chat，从Social Lens里过滤FaceBook。

支持的服务包括Twitter, Google, Yahoo!, Facebook (包括 Facebook Chat), Flickr 以及正在增长的大量其他的应用。

### 5. 添加第三方应用

Ubuntu默认提供了一整套的应用，但是众口难调，如果你不喜欢某个应用，或者发现自己缺少了什么应用，你可以很轻松的找到并添加软件。

打开Ubuntu软件中心，可以看到成千上万的程序，包括下面这些很流行的选择：

* **Dropbox** - 流行，跨平台的云存储服务
* **Steam** – 游戏发布平台
* **GIMP** – 强大的图像处理软件
* **VLC** – 流行的影音软件

您还可以找到像我们这样列出了丰富的附加软件的网站 - 看看我们的*Apps*标签你会有一些想法。

* [在OMG上查看Ubuntu App 列表! !](http://www.omgubuntu.co.uk/category/app)

### 6.保护你的隐私

最近隐私问题是一个烫手山芋，因此很高兴看到最新版的Ubuntu改进了它的隐私设置，提供了一个新的界面和大量的新选择。

不论你是想在启动器上隐藏一个文件还是一个应用，限制从睡眠状态到进入电脑时的访问，或者选择什么样的系统崩溃向Canonical发送信息，在“隐私和安全”面板总是可以提供你想要的工具。

### 7.享受互联网

Canonical宣称在Ubuntu Touch 上，网站可以很容易的打包、整合并用于安装， 以吸引web开发人员。

该方式已经包含在桌面 Ubuntu 一些版本中。超过300个流行网站-包括Gmail, Yahoo! 和Rd.io-可以和桌面无缝集成。

例如，添加 GMail， 您可以在启动器和消息菜单上获得喜爱的Gmail选项； 启用Rd.io，您可以使用“声音”（Sound) 菜单控制回放。

### 8. 设置自己的Unity Yours

Unity比人们想的定制性更好。 *Unity Tweak Tool* 是一个第三方应用，可以让您调整桌面Unity以打造一个适合您的环境。

选择包括:

* 调整启动器透明度
* 设置启动器图标动画
* 启动工作台
* 设置快捷键
* 移动窗口的控制

但是,不要期望太大，它不会让你移动启动器的。

* [从Ubuntu软件中心安装Unity Tweak Tool](apt:unity-tweak-tool)

### 9. 过滤噪音

Ubuntu’s新的‘Smart Scopes’服务号称要做成一个很方便的工具，但是现在还不像声称的那样智能。

好消息是这个特性只需一击就可以关闭，所以没有必要因噎废食顺带着排斥Ubuntu。

如果你每次搜索时还顺带了一堆毫不相关的不知名的音乐结果或者购物建议，你可以单独禁用该范围。

如果你发现自己每一个搜索都被无关的音乐结果淹没了，可以禁用“音乐范围”。不想要亚马逊的建议？关掉它。

### 10. 传播关于Ubuntu13.10的信息

我知道，在我们的“应当去做”列表上这是比较尴尬的一项。但是只有人们知道Ubuntu 13.10才会去尝试它，因此请出一份力量，多多分享关于它的新闻。

无论你是把这篇文章贴到Facebook上，还是为你的OS X粉搭档制作了一个LiveUSB，对于Ubuntu的认知度的提高都是很有帮助的。

别忘了享受使用它。去检查下Facebook上的简介，听一些音乐，享受一下用Firefox上网。

---

via: <http://www.omgubuntu.co.uk/2013/10/10-things-installing-ubuntu-13-10>

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

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


可在Ubuntu上运行的游戏编辑器Leadwerks 3.1

Summary:
Leadwerks是一个多用途游戏开发应用，现在正在往Linux上移植以便于在Linux（Ubuntu）上开发原生游戏。
数月前，Leadwerks在kickstarter平台上发起了一个众筹项目，以便于集资给这个游戏创建工具增加Linux平台支持，  ...

# 可在Ubuntu上运行的游戏编辑器Leadwerks 3.1

[Leadwerks](http://www.leadwerks.com/)是一个多用途游戏开发应用，现在正在往Linux上移植以便于在Linux（Ubuntu）上开发原生游戏。

数月前，Leadwerks在kickstarter平台上发起了一个众筹项目，以便于集资给这个游戏创建工具增加Linux平台支持，项目目标包括成功达到预定的集资目标和放出leadwerks的beta版。

在它的官网上，Leadwerks的开发者[贴出了](http://www.leadwerks.com/werkspace/page/gallery/_/leadwerks-31-editor-on-ubuntu-r251)一张有 **leadwerks 3.1** 运行在Ubuntu上的图片。图片显示，它有着原生的外观和感觉，而且和桌面进行了恰当的集成，这些成就明显的推动了仍在开发中的leadwerks在Ubuntu上的可用性。这是Leadwerks真正运行在Ubuntu上的第一张截图！尽管仍然还有许多工作要做，但是看到它确实已经可以运行在Ubuntu上了，无论怎样，这真的是一个**大的里程碑**。我们使用GTK，所以Leadwerks的Linux版的外观和使用的感受和Linux原生应用一样。

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

伴随Leadwerks而来的特性有快速迭代（可通过导入先前代码，在代码水平和架构上构建），单一顶层设计的多种实现方式（无需额外的工具），以及软件使用当前主流标准（C++和Lua）构建

---

via: <http://iloveubuntu.net/game-editor-leadwerks-31-demoed-running-ubuntu-native-look-feel>

译者：[Linux-pdz](https://github.com/Linux-pdz) 校对：[校对者ID](https://github.com/%E6%A0%A1%E5%AF%B9%E8%80%85ID)

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


Linux内核4.0就要来了！准备对3.x说再见吧！

Summary:
Linux Torvalds目前正在考虑尽快更换内核的版本号到4.0，新版本将主要专注于bug修复
据Linux内核开发维护人员介绍，不远的将来，为了便于管理，Linux的内核版本号将从3.x跳到4.x。Linus Torvalds表示会尽快将其付诸  ...

# Linux内核4.0就要来了！准备对3.x说再见吧！

**Linux Torvalds目前正在考虑尽快更换内核的版本号到4.0，新版本将主要专注于bug修复**

据Linux内核开发维护人员介绍，不远的将来，为了便于管理，Linux的内核版本号将从3.x跳到4.x。Linus Torvalds表示会尽快将其付诸实施。

他在Linux内核3.12的[声明](https://lkml.org/lkml/2013/11/3/160)中说道：“我不希望我们再有类似2.x那样令人发狂的版本号经历，因此很快某个时候，我们将直接从3.x跳到4.x，这样版本号更短，更便于记忆。虽然目前暂时还未实现，但是我会尽快，可能最多一年左右吧，到时也许是3.19什么的，之后，就会是4.0。”

然而，不能什么也不干，就只是单纯更新主版本号，这样太不厚道了，因此大神Linus想到了一个好主意。当决定来到4.x的时候，所有的开发者必须专注于bug修复，要让新版本成为一个非常非常稳定的版本，这样才配得上这次重要的主版本号更新。

“如果我们吸引足够的注意力让人们都*意识*到，（公司/高层也能意识到），这一次发布的更新只专注于修复bug，也许人们会真正有理由相信，这次的更新是值得的。”

Linus说，“之所以我提到‘4.0’，是因为如果我们用几乎一年的时间专注于‘ok，3.19之后，我们将会发布一款*仅仅*修复bug的更新，它就是4.0’！这一刻多爽啊~”

一个全新的、极其稳定的4.0版本内核，将会极大地推动各个发行版开发者们，将这样一个内核发布整合进他们的操作系统。

---

via: <http://news.softpedia.com/news/Say-Hello-to-Linux-Kernel-4-0-and-Say-Goodbye-to-3-x-396734.shtml>

译者：[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对：[wxy](https://github.com/wxy)

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


还在使用Wine在Linux上玩游戏？别傻了，用Steam吧！

Summary: 在过去的几个月中，Steam平台受到了众人的关注。并不是因为它带来的游戏，而是由于它拓展支持了不同的操作系统。假如你还没有听说过，那么我告诉你，官方宣布Steam计划支持Linux，而且还在持续改进他们的beta版Linux ...

# 还在使用Wine在Linux上玩游戏？别傻了，用Steam吧！

在过去的几个月中，Steam平台受到了众人的关注。并不是因为它带来的游戏，而是由于它拓展支持了不同的操作系统。假如你还没有听说过，那么我告诉你，官方宣布Steam计划支持Linux，而且还在持续改进他们的beta版Linux客户端。花不了多长时间，就可以让Steam的Linux客户端平稳下来，所以现在需要做的事情就只是把游戏移植到Linux上了。

现在这项非常重要的服务已经可以在我们可爱的企鹅上使用，这儿还有好多理由指出你为什么应该至少考虑一下转换到Linux平台。

### 性能

我将以这个明显的优点作为开始 - 使用Steam玩游戏时，性能表现会好很多。当然，同使用Wine玩游戏相比，那就更加显得更加快速咯，因为游戏是原生运行的，无需兼容层。性能是玩游戏时最重要的因素之一，所以人们怎么可以错过这么一个显著的优点呢。

另外，我还注意到使用Steam玩游戏比在Windows上玩游戏还更加快速？同样的硬件同一款游戏，在linux上的表现比Windows上的表现还好。这一点别说别人，连我自己都没想到。

### 兼容性

无论何时你购买一个游戏，你都无法保证你购买的游戏可以在Wine上良好运行。虽然有一个Wine兼容性数据库，上面列出了Wine兼容的应用和游戏，但是这只是告诉你有哪些想购买但是有可能不兼容的应用或游戏，从而节省你的金钱。然而，使用Steam，那些支持Linux的所有游戏都可以保证兼容，不需要去询问任何兼容性问题。

### Steam的优点

当然，转到Steam平台你就可以获得它所有的好处。这包括：偶尔的价格优惠（尤其是那些在售的游戏），完全在线体验，不再需要物理介质，游戏和客户端更新时你可以保持同步更新等。

例如，若你在你的电脑上重装了系统，你只需打开Steam，坐在一旁休息，它就可以自动下载并安装所有你安装过的游戏。在Windows和Mac OS X上，人们非常喜欢Steam的这种运作方式，所以这是一个你购买游戏的好去处。

### 后排的朋友，让我听到你的声音！

最后，转到Steam平台，你是在表明你的态度。若Steam对于Linux平台的努力无法引起你游戏的兴趣，那么我会感到非常惊讶。作为社区的一份子，我们需要对那些我们喜欢的项目表示支持。转到Steam平台，不仅可以让Steam公司觉得对于在Linux平台上的冒险值得，而且也告诉了其它人Linux完全可以作为游戏平台——只是由于历史的缘故，人们只是没有在这方面投入足够的时间和经历使其取得突破而已。

假如我们向人们展示使用Linux的人们也是喜欢玩游戏的，而且通过支持Linux是可以获得利润的，那么人们就可能更加乐意开发支持Linux的游戏。另外，我们都希望有更多的Linux原生游戏，难道不是吗？

### 结论

若你玩的游戏Linux还不支持，那么我完全能够理解你对转到Steam平台的怀疑。然而，你应当给它些时间，定期检查一下更新。最终会有一些你玩的游戏，还有一些你挺喜欢的新游戏会成为那些支持Linux并在其上运行良好的游戏的一部分。

你对Steam公司在Linux上的努力有什么想法？你会考虑转到Steam平台吗？请在评论里留言，让我们知道你的想法！

via: <http://www.makeuseof.com/tag/using-wine-to-play-games-on-linux-heres-why-you-should-switch-to-steam-right-now/>

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

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


思科发布新的开源H.264编解码器

Summary:
YouTube是众多使用H.264的网站之一
美国网络设备公司思科宣布它计划提供一个开源的H.264编解码器 - 也就是说以后在WebRTC中播放电影就再不会有问题了。
尽管H.264广泛应用于HTML5视频流中，但是不是所有的浏览器和操 ...

# 思科发布新的开源H.264编解码器

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

*YouTube是众多使用H.264的网站之一*

**美国网络设备公司思科[宣布它计划提供一个开源的H.264编解码器](1) - 也就是说以后在WebRTC中播放电影就再不会有问题了。**

尽管H.264广泛应用于HTML5视频流中，但是不是所有的浏览器和操作系统都可以利用H.264。

这是因为使用可以编码与解码H.264视频的编解码器需要向持有相关专利的MPEG LA组织支付高昂的使用费（也许不是巧合，[一些专利为思科所拥有](2)）。

此外，用于H.264的编解码器禁止随同像网页浏览器这样的开源软件一同分发。

这就是一些YouTube的HTML5视频不能在Firefox中播放但却可以在Google Chrome中播放的原因。因为后者有能力支付许可费用从而使它的用户受益。

但是思科打算通过他们自己开发一个可以被包括开源项目在内的**任何项目免费使用**的开源H.264编解码器实现，OpenH264，来消除这样的不平等。对它二进制模块的使用也不再有许可费用和限制。

这家公司谈到，通过开源他们的H.264编解码器和为他们预编译的二进制文件提供免费下载，这将给像WebRTC这样的允许浏览器间实时通信的HTML5 API提供强大动力。

>
> ‘思科并不是第一个去创建H.264开源实现的...’
>
>
>

实际上，Mozilla[已经宣布](3)它计划在Firefox中支持思科的H.264二进制模块。

思科并不是第一个去创建H.264的开源实现的。GNU的libavcodec库已经包括了解码器和编码器，后者基于[x264](4)。但是思科提供的开源实现是有法律支持的 - 而这正是其它的开源实现所缺乏的。这使得思科的解码器对象Mozilla这样的公司来说就非常有用，这可以使得它们无需担心法律问题。

然而，思科公司为何提供这样一个新编解码器的原因还不很清楚。

思科将开源他们的H.264栈。这将随着预编译二进制模块一同可从他们的网站上免费下载。像Firefox这样的应用就可以在需要解码H.264视频的时候载入它（甚至可在需要的时候自动下载它）。

于此同时，思科将要向MPEG LA组织支付专利费用，而这些费用却无法向使用它们模块的用户收取。对于直接由源代码进行编译的行为的限制也不清晰。尽管如此，随着代码在Github网站上进行托管，我们就可以获得更多信息。

### 总结

思科正在帮助Web技术的前进。多亏了思科公司在开源方面的努力，使用OpenH264，基于广泛使用的标准的高质量的视频流将可以在更多的平台被更多的人使用。

不管你是否是一个H.264的粉丝，或者你赞成采纳完全免费的VP8，这一可以提供公平竞争环境的举措都是值得称道的。

---

via: <http://www.omgubuntu.co.uk/2013/10/cisco-announce-open-source-h-264-codec>

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

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


Linux系统上用encfs创建和管理加密文件夹

Summary: 如果你想使你计算机上的某些信息免于被窥视的话，可以看看这篇文字。保护信息的一种方法就是加密你的home目录，但是一旦你登录系统后，你的home目录下的信息将暴露于外。过去，我已经写过关于怎样在你的系统上使用Cr ...

# Linux系统上用encfs创建和管理加密文件夹

如果你想使你计算机上的某些信息免于被窥视的话，可以看看这篇文字。保护信息的一种方法就是加密你的home目录，但是一旦你登录系统后，你的home目录下的信息将暴露于外。过去，我已经写过关于怎样[在你的系统上使用Cryptkeeper来创建加密的文件夹](http://tuxtweaks.com/2009/03/create-an-encrypted-folder-in-ubuntu-with-cryptkeeper/)。Cryptkeeper是一个图形前端，后端是 **encfs**。encfs允许你创建一个加密的文件夹，然后通过[FUSE](http://fuse.sourceforge.net/)来挂载作为用户文件系统。在这篇教程里，我会教你怎么在Linux系统上的命令行下面使用encfs工具来创建和管理一个加密的文件夹。

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

### 安装encfs

如果你使用的是Ubuntu或者它的衍生版本中的一种如Linux Mint的话，在软件源库当中应该能找到encfs。这种情况，可以用下面的命令来安装

```
sudo apt-get install encfs
```

### 用encfs创建加密文件夹

一旦在系统中安装好了encfs后，你就能在你的home目录下创建一个加密的文件夹。在这个示例当中，我将会创建一个叫做tuxtweaks的加密文件夹，这通过终端窗口就可以完成。当创建一个新的文件夹的时候，你需要指定全路径名，当然也可以使用如下所示的标准快捷方式。

```
encfs ~/.tuxtweaks ~/tuxtweaks
```

这会创建两个文件夹。第一个.**tuxtweaks**,它包含被加密的信息；第二个tuxtweaks，当你想要访问信息的时候，解密的版本信息将会挂载到下面。如果这些文件夹都不存在，系统将会提示询问是否创建它们。在提示下面键入‘**y**’以允许创建文件夹，然后你应该能看到如下所示的一些信息：

```
Creating new encrypted volume. Please choose from one of the following options: enter "x" for expert configuration mode, enter "p" for pre-configured paranoia mode, anything else, or an empty line will select standard mode.
```

如果你想要最高级别的加密文件夹的话，在提示符下输入**p**选项。否则只需敲击**[Enter]键**，就会以标准选项来创建新的加密文件夹。

之后，你将会看到新加密卷的参数列表及一些警告信息，随之提示符会让输入一个密码。确保不要忘记使用的密码，因为没有密码找回机制。在输入密码并以第二次输入校验通过后，新的文件夹会被创建成功，并自动挂载进文件系统，可以开始使用了。

### 使用加密文件夹

一旦新加密文件夹被挂载上，它就跟你系统上的其它文件夹一样的使用，但如果你把它设置为paranoia模式的话，使用它的硬链接会出现不可用的异常。我想，这对大多数用户来说并不是问题。让我们继续吧，在新文件夹里创建一个简单的文本文件，然后用它来做测试。

```
echo "GNU/Linux is my favorite computer operating system." >~/tuxtweaks/test.txt
```

在终端下或在文件系统管理器下，你都能看到在**tuxtweaks**目录里已经有一个叫做**test.txt**的新文件。打开此文件可看到这里一个完全可读的文本文件。现在切换到**~/.tuxtweaks**目录下，这是你文件夹的加密版本，可以看到这里的文件名不一样了，如里你查看此文件的内容话，会发现是乱糟糟的。

### 卸载encfs创建的加密文件夹

一旦你完成文件访问或者数据创建等操作，最好把加密文件夹卸载，以便里面的信息安全的隐藏掉。encfs自身不带有卸载的命令，一旦用它创建了用户文件系统，就可以利用FUSE来处理卸载任务。下面我们会使用fusermount命令来卸载我们的加密文件夹。

```
fusermount -u ~/tuxtweaks
```

切换到home目录下，会看到tuxtweaks目录仍然存在，但进入文件夹，你会发现里面是空的。（译注：因为tuxtweaks目录只是一个挂载点，真实的数据是以加密的方式存储在.tuxtweaks目录下的，）

### 挂载用encfs创建的加密文件夹

下一次你想要访问加密数据的话，你需要重新加载并解密它，仅仅只需要使用跟我们在第一步创建此文件夹相同的命令就可以。

```
encfs ~/.tuxtweaks ~/tuxtweaks
```

### 用途

我发现使用**encfs**加密文件夹来安全地存储财务信息非常便捷，比如纳税申报表以及用于存储日志列表凭据。这样我只需要记住我加密文件夹的密码，然后就可以进入访问记录有其他登录ID和密码的名单文件。

你会使用encfs来做什么呢？在评论中给我们分享吧。

---

via: <http://tuxtweaks.com/2013/10/encrypted-folders-linux-encfs/>

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

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


一步步安装Ubuntu 13.10服务版

Summary:
如你所见，这是一篇关于Ubuntu 13.10服务版的安装的指南。
下载最新的版本Ubuntu 13.10 服务版，然后用刻录好的Ubuntu 13.10服务版光盘引导你的服务器，你将会看到类似下面的显示。
首先选择您的语言：（建议使用英  ...

# 一步步安装Ubuntu 13.10服务版

如你所见，这是一篇关于**Ubuntu 13.10服务版的安装**的指南。

下载最新的版本**[Ubuntu 13.10 服务版](http://releases.ubuntu.com/saucy/)**，然后用刻录好的Ubuntu 13.10服务版光盘引导你的服务器，你将会看到类似下面的显示。

首先选择您的语言：（建议使用英文）

点击安装Ubuntu服务版：

选择安装过程中所使用的语言：

选择你的国家（译注：用于决定时区，请选择中国，使用+8时区）：

配置区域设置：（译注：对于服务器版本，我们建议一律采用英文的locale—— en\_US.UTF-8，当然，你可以增加中文字体包，但是保持服务器环境是英文环境，有助于减少出现奇怪问题的几率。）

检测键盘布局（译注：一般不必检测）：

选择键盘布局（译注：如下图的英文即可）：

自动检测网络设置：

输入你的服务器主机名（译注：作为服务器，尤其是运行在互联网上的，一般都输入包括域名在内的完全限定主机名。）：

输入用户名以创建一个非特权用户（译注：操作服务器要习惯使用普通用户操作，**仅仅**在必要使用使用sudo来使用root权限。）：

设置用户的密码：

如果你想加密用户主目录，选择Yes，否则选择No（译注：这点无所谓。）：

选择分区方案（译注：如果你有特定需求，可以采用manual分区方式，没有经验的用户可以使用预设的Guied分区模式。关于分区，是一个值得系统管理员仔细研究的课题，建议搜索更多深入的文章来看看，或者在此进行讨论）：

开始安装：

如果在你的网络上有代理服务，输入代理服务的IP地址（译注：绝大多数的服务器都是直接接入互联网，并有公网IP的，所以不会使用代理服务器的。）：

选择安全更新的安装方式，然后回车（译注：我不同意原文的选择。对于服务器，不建议采用自动更新，因为服务器的第一要务是稳定；在出现必要的安全更新补丁时，系统管理员要评估并测试是否应该安装，是否会对现有应用造成影响，如果可以通过其他方式，如防火墙来消除安全隐患，那么一动不如一静，不安装任何补丁和更新为好。）：

选择要安装的软件（译注：仅仅选择你的服务器所必须的，暂时不用的，最好不要选择。将来需要增加或许修改时，你还有足够的时间去改变。）：

点击Yes安装Grub引导装载程序（译注：这里一般没有别的选择，肯定是安装Grub，除非你有特别的理由给服务器安装其他的引导器。）：

安装完成以后，选择continue重启服务器即可：

登入Ubuntu服务器：

输入用户名和密码登录（译注：如你所见，服务器版默认是没有图形界面的，一般而言，除非你有一个必须图形界面运行的程序，否则不要安装图形界面。不安装图形界面的主要原因是，减少不必要的包和服务，每多一个服务就会多带来一份安全威胁的可能性，当然，也会消耗一点内存和处理能力。你现在可以在登录后输入ps或者pstree看看已经运行的服务有多少。）：

这就是这次的指南。现在你的Ubuntu 13.10 服务版已经启动运行了。

---

via: <http://www.unixmen.com/install-ubuntu-server-13-10-step-step/>

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

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


系统信息工具I-Nex 0.5.4发布

Summary:
I-Nex 是一个免费开源的系统信息工具，它收集、分类并在一个干净清晰的界面显示关于计算机相关信息。
从本质上说，I-Nex显示一个非常详细的系统组件信息，包括驱动，内核，RAM，网络，USB，CPU，GPU，主板，音频，允 ...

# 系统信息工具I-Nex 0.5.4发布

[I-Nex](https://launchpad.net/i-nex) 是一个免费开源的系统信息工具，它收集、分类并在一个干净清晰的界面显示关于计算机相关信息。

从本质上说，I-Nex显示一个非常详细的系统组件信息，包括驱动，内核，RAM，网络，USB，CPU，GPU，主板，音频，允许用户很容易的掌握自己的计算机和操作系统信息。

启动I-Nex，它的主窗口和几个选项卡会出现，可以通过选项卡切换显示不同的信息；例如，点击 CPU 选项卡了，显示关于CPU的名称，频率，系列，模式，扩展，高速缓存，等等，基本上，它就是一个方便的信息汇总。

I-Nex 已经更新至 **0.5.4** ,在原本的基础上增加了新的功能，扩展支持还有under-the-hood增强。

新版本丰富了选项卡条目，比如 GPU；点击 GPU 选项卡，用户可以注意到新的 Total Memory, Monitor name, Manufacturer, Serial number 条目，增加了新的明细描述系统组件。

此外，0.5.4版本有多个修复，进一步朝着更稳定更强大的系统信息应用程序工具发展，它已经在Ubuntu上替代其他广泛使用的系统信息应用。

我们怎么 **安装** I-Nex 0.5.4呢？

增加 **official** PPA (Ubuntu 10.04, Ubuntu 12.04, Ubuntu 12.10, Ubuntu 13.04, Ubuntu 13.10)

```
sudo add-apt-repository ppa:i-nex-development-team/stable && sudo add-apt-repository ppa:nemh/gambas3 sudo apt-get update sudo apt-get install i-nex
```

---

via: <http://iloveubuntu.net/system-information-tool-i-nex-054-released-improvements>

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

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


Linux的未来：进化无处不在

Summary:
Mark Shuttleworth之前关闭了Ubuntu Linux的第一号bug（微软拥有最高的市场占有率），导致了一些争议，也引出了一些意味深长的讨论，讨论自从1991年Linus Torvalds以个人玩物项目发明Linux以来，Linux所走过的路。
  ...

# Linux的未来：进化无处不在

Mark Shuttleworth之前关闭了[Ubuntu Linux的第一号bug](https://bugs.launchpad.net/ubuntu/+bug/1)（“微软拥有最高的市场占有率”），导致了一些争议，也引出了一些意味深长的讨论，讨论自从1991年Linus Torvalds以个人玩物项目发明Linux以来，Linux所走过的路。

微软也许不会那么快退出桌面系统的历史舞台，但是随着Linux逐渐成长成为IT行业的一块重要基石，计算机的本质也已经完全改变。如今，从云服务到手机操作系统，几乎行业内的所有领域都受到了Linux的直接推动或间接影响。

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

### Linux体系：提交、审核、采纳

伴随着支持者的不断增加，Linux的开发进程也在不断加快。

但发展的方向又在何处？如果Linux的普及和开发程度正在接近顶峰，那接下来Linux将去往何方？因为Linux具有超高的定制性和超多的“分身”，也许没有哪一个单独的答案能够回答这个问题。

或许，更重要的，是快速成长中的Linux如何应对挑战，变得更加成熟稳定，成为在多个领域主导市场发展的领头羊。接下来，让我们分别从以下几个方面尝试预测一下Linux的未来：原材料、社区产品与企业贡献、其特质所面对的各种挑战、技术实力和成长方向。

### Linux作为原材料：弯曲、塑形，你想让它是什么样都可以

如果用一个形容词来总结Linux独有的优点，那就是“可塑性(malleable)”。Linux是这样一种原材料，可以装订切割，也可以为任意场合量身定做，小到嵌入式设备，大到大规模并行超级计算机。

但同时，这也是Linux的缺点之一。它千变万化的特性使得它很少以“Linux”的本来面目出现 —— 相反，人们使用的是各种“基于Linux”的产品，例如Android、或家用路由器这样的硬件设备。桌面Linux的多个发行版（之间往往不相容）也把最忠实的用户群分割得七零八落。

Linux基金会执行董事Jim Zemlin承认，“Linux终端用户的体验的的确确是支离破碎的，但这也是Linux的一个强大之处。”

“它就像一块建筑地基，使得Google能建立Android和Chromebooks，Amazon建立Kindle，Canonical建立Ubuntu，等等这样的例子还有很多。所有这些产品对用户来说意味着不同的使用体验，而选择权完全在消费者自己手里。”

Mark Baker，Canonical公司的Ubuntu服务器产品经理，目前负责领导Ubuntu项目。他的话更加具体准确地表明了这一观点：“开源意味着选择的自由。”开源自然会促进模块化，因此，无论你是一个技术宅男还是正在开发数据中心的系统架构师，“通过开源，你可以选择最适合你的组件”。

但是IDC的操作环境分析师兼系统软件项目副经理 Al Gillen 却质疑这种完全放任自流的价值观。“Linux是开源的，由此，任何人都可以修改代码，把它变成别的什么东西。但是，现代工业已经表明，没有价值的产品会被淘汰，代码的发展主线应当始终紧靠主流价值观。”

Android用户对此有直接的深刻体会，诸多Android操作系统间存在着严重的碎片化问题。严格来说，尽管这并不都是Linux的责任，但是看看在Android之前就已经出现的无数五花八门的Linux桌面发行版吧，放任产品随意修改，差异化实现又造成更大的影响 —— Android碎片化只是将这些问题生动放大了而已。

讽刺的是，即使“可塑性”真的是Linux的最大优势，但过犹不及，Linux作为这样的原材料将会付出成倍的代价。

Cloudera的工程部经理 Eric Sammer 并没有孤立地看待这个问题，他认为Linux的用户群“与Firefox或Apache等产品的用户群并不一样”，Linux“面向的并不是终端用户，而是操作系统类工程师”，因此它需要与“很多其他软件一同建立一个完整的系统 —— 其中大部分软件是捆绑发布的，并对用户透明（例如boot loader）。”就如同Torvalds在Linux最初的内核发布日志中亲自写道，“只有内核，你什么也干不了。”

Android验证了Gillen和Sammer以上两人的观点，作为Linux最受欢迎的“衍生品”，Android所有的附加值都来自于Google以及Google专门为其开发的App生态系统。因此说，Linux的可塑性只是它成为真正产品的第一步，正如下文中这些最成功的Linux拥护者 —— 企业，所熟悉的一样。

### 企业的贡献：利还是弊？

Linux的另一个特点，它是一个合作产物，由众多贡献者共同努力缔造而成。那么，这些贡献者从何而来？

答案：企业。企业是最主要的贡献者，但是他们忠于利益，支持Linux只是为了自身的未来发展。除去Red Hat（不同于Canonical，RedHat是最为人所熟知的Linux解决方案供应商），排名前几位的贡献者主要包括Intel，IBM，德州仪器，甚至还有微软。

Linux的所谓“灵活性”，即能够运行在多个平台或设备上的能力，很大程度上来源于以上这些贡献者，而他们的主要动力则来自于不断萌发的自身需要：例如，微软为Linux内核添加的代码，大大改善了Linux在其产品Hyper-V下的运行状况。

Sammer相信企业背景的发行版之所以能够普及，是“因为Linux内核这样的项目其复杂程度和准入门槛太高，一般水平的C程序员很难在有限的业余时间内，仅凭个人能力，而不依靠企业的支持，跟上内核的更新进度、建立社区公信力，或者做出某些重大贡献”。在他看来，企业恰恰有能力有资源支持这样的努力，与之相比，高校和研究机构已被远远地抛在了后面。

但是企业发行版的普及就代表Linux已经陷入企业的控制了吗？难道这就是Linux的未来？沦为资本的玩物？

其实最重要的不是看谁对Linux的贡献最多，而是这种贡献所代表的企业精神。不管是纯粹为了圈钱，还是为了把挣来的钱都回馈于社区，无论这些企业最初的动机是什么，作为Linux的贡献者，它们始终对贡献本身坚信不疑。

Mark Coggin，Linux红帽企业版的市场高级总监，他坚信，“最佳的创新点是那些经过开源社区的无数参与者利用、改进后的方案。”

“我们所有的新点子都会先作为开源项目，寻求社区上游项目组的增益评估，然后才加入像红帽企业版这样的产品。我们希望那些为Linux内核及配套项目工作的每个人，也能拥有像我们一样的眼光。”

还有一小部分观点认为，企业发行版Linux其实是一种“被绑架的Linux”，正如Gillen所提倡的 —— 这是一种让Linux“稍稍不那么贴合主流用户群需求”的方法。他确信，对Linux的商业化支持与商业优化“对Linux的开发模式大有裨益，而不是相反。”

### 同样的，对Zenmlin来说，Linux开发“并不是一个零和游戏”

“如果移动领域的某位开发者改善了耗电量，另一位在数据中心工作的开发者会因此而受益，他可以使用前者的改进来确保自己的数据服务运行得更有效率，”Zemlin说道，“共享开发正是Linux如此强大的原因。”

同样，企业开发也并非敌人，“人们为Linux的开发工作付费从来都不是坏事；这些钱款可以让Linux的改善与创新变得更加迅捷快速。”

真正的问题是，Baker补充道，“一些超大型网络公司对Linux作出改进并上线应用，但是却为了保持自己的优势，而把这些改进捂在自家门里。”

GPL协议第三版 —— 从Linux发布协议的一个早期版本改进而来 —— 当初修改该协议的部分原因就是为了应对上述行为。尽管如此，协议只能防止获取他人代码后作为Web服务重新开发。除此以外，并没有什么固有的方法（或法律手段）能够禁止公司或个人在代码开发完成后封闭独占这些改进后的代码，也许，这就是Linux对全世界自由开放所不可避免的一部分社会成本吧。

### Linux面临的最大威胁

感谢开源机制，Linux始终能够作为一个开源项目，企业才无法像以前那么独断专行。那除了企业，现在什么才是Linux所面临的最大威胁呢？

没人会真的认为Linux会被版权欺诈或诉讼所威胁，更不会因此从OS版图上消失。类似的最大一起诉讼案，SCO Group公司控告IBM案，被广泛解释为间接对Linux的攻击，也最终以悲惨的失败而告终（译者注，该案件间接导致了SCO Group的破产）。

Coggin也倾向于该观点：“依靠巨大的开发者网络和全球范围内的推广传播，Linux取得了巨大成功，这意味着它具有很强的韧性。尽管专利威胁一直都在增加，正如许多科技公司最近所做的那样，但是看起来专利诉讼并不会对Linux产生任何实质性的威胁。”

除此以外，其他类似开源产品的竞争，甚至更加自由化的协议（例如各式各样的BSD们），目前为止，都没有真正达到能够危及淘汰Linux的程度。

Sammer用一个单词总结出了，在合法范围内，Linux面临的最大威胁：自满！ —— 自满地认为已经成为所有领域的市场领导者。

他说，“如果你正在竞争第一名的位置，你常常愿意更开放地做出改变，无论是过程上的、心态上的，还是有关发展路线的，甚至维持现状本身。想想Firefox被Chrome以如此快的速度抢走了如此多的份额，再想想当年的商业化Unix们被Linux抢占江山，这样的例子还有很多很多。”

大致根据同样的思路，Zemlin看到了这样一种威胁，面对日益增长的需求，Linux的天才开发者们才气有余，但经验不足，因此这才有了[Linux培训](http://training.linuxfoundation.org/)项目。

Gillen发现的威胁来自于社区的变化，“随着时间推移，Linux的主流用户群 —— 社区，正在从企业的客户（服务的消费者）转变为服务的提供者。”

这样一种变化可能会导致Linux用户被迫作为Linux服务提供者的同时，却完全无法将自己的智慧和创新回馈社区。这种变化也许会持续十几年甚至更长，但它“对整个Linux世界都具有深远的消极影响，包括各个Linux商业发行商在内。”

Linux所要面对的另外一个潜在威胁是公司兼并 —— 这并不会威胁到Linux本身，但它可能会间接导致各种各样的可能性。Baker担心移动设备的快速增长，除了受Linux自身的发展影响外，更多的会受到来自企业施加的影响。

他说，“这就是为什么我们需要诸如Ubuntu和Firefox这样的第二选择，目的就是为那些上网时不愿受Apple和Google摆布的人们提供真正的替代品。”

说到Google，Google是Android的发展道路上最坚定的捍卫者。围绕Android作为Linux发展而来这一话题，有许多反对意见的争论，这样的争论对于Google的世界观来说，就像与它的首页相比较一样，稍显多余，同时它们也不符合Linux（自由开放）的精神。

简而言之，目前Linux面临的最大威胁来自于它自身 —— 无意中，衡量Linux产品的第一标准已经变成了如何让它看起来更吸引人。一直以来，Linux所固有的灵活性和可塑性帮助它战胜自满和企业兼并，克服重重困难，但如今还能否一如既往，情况并不明朗。

### 路在何方？

毫无疑问，无论从哪个层面来看，Linux现在都正处在关键的岔路口，它将去往何方，又将付出怎样的代价，都值得探讨。

Linux最明显的未来之路，首先，它不仅仅是一块基石，或者说不仅仅是一种建立基础设施的途径；其次，它应当减少过多的产品形式；最后，真正的革新，不仅仅是拓展Linux本身，还要拓展其作为发现问题解决问题的创新办法。目前还很少有人如此对待Linux，要想真正做到这一点，除了呼吁更多的人改变对Linux的看法，还必须打破技术壁垒，将眼光放得更长远。

对此，Coggin说道：“Linux正在逐渐成为一个更加成套或灵活的操作系统，进而超越其作为一个基础设施平台的作用。我们看到，开发者和架构师们正在使用Linux建立新一代解决方案，创造出新一代的企业架构。”这些工作中的大部分已经开始付诸实施，他说道，包括“云计算、大数据、移动领域以及社交网络等多个方面”。

Gillen也同意上述观点，Linux“即将成为公共云基础设施中非常关键的一个部分，由此，Linux确保了它在现代工业中能够长期发挥作用。”

Baker说道，“Linux已经在运行着云业务，这是毫无疑问的，它需要巩固自己作为基础设施平台的位置 —— 这意味着它需要时刻保持最新的技术领先优势，例如ARM服务芯片、超大规模集成电路、网络设计，以及所有的软件设计数据中心。”上述这些工作应当可以作为开源系统硬件设计（例如[开源计算机项目](http://www.opencompute.org/2013/05/08/up-next-for-the-open-compute-project-the-network/)）的有效补充。

### Linux体系：提交、审核、采纳

伴随着正面需求不断增长，Linux的开发进程也在不断加快。

Linux作为普遍存在的基础设施元素，其中一个潜在的缺点就是它有可能成为商业化的制度产物，正如曾经它所取代的闭源Unix们。但是Zemlin认为，Linux极大的灵活性在这方面发挥了作用：“十几年前，如果你问到Linus Torvalds或其他社区成员，Linux是否会比其他任何平台都要更多的装到移动电话里，他们当然会说‘不会’。所以，我们要做的只是注视Linux的发展，不要尝试去预测它，因为所有的预测几乎都会是错误的。”

另一个重要的未来发展方向，就像上面提到的，“独立于Google之外，在移动领域有更大的发展，”Baker如此预测道。像Mozilla专门针对移动电话的Firefox操作系统项目，就是这样一种典型的尝试，尽管在Google的存在下，以及Android如此巨大的市场份额面前，其成功的几率并不明朗。

最后，最关键的问题，谁将担负起指引Linux未来之路的责任。因为Linux可以由其他人任意复制(fork)并开发，历史证明，拥有单一核心开发团队对于Linux来说是最好的，同时要求基于该团队的所有项目，其核心都能贯穿始终。

这样核心团队能够承担更多的责任，以推动Linux弥补现有或将来可能出现的不足，避免闭门造车式的技术封锁，最终使Linux成为它最应该成为的样子。

如果Linux的未来真的无处不在，现在没有人能够想象得到它会是什么样子 —— 这是一件好事，难道不是吗？

---

via: <http://www.networkworld.com/news/2013/101513-the-future-of-linux-evolving-274829.html>

译者：[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对：[wxy](https://github.com/wxy)

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


每日Ubuntu小技巧：Ubuntu中通过Cheese支持Webcam

Summary: 对于一些Ubuntu的新用户，如果你们想在Ubuntu中使用webcam的话，这里有一些信息能够帮助到你们。正如你们说知道的那样，Ubuntu旨在支持绝大多数webcom，而且是现成可用的。大多数webcom生产商并不为Linux系统提供驱  ...

# 每日Ubuntu小技巧：Ubuntu中通过Cheese支持Webcam

对于一些Ubuntu的新用户，如果你们想在Ubuntu中使用webcam的话，这里有一些信息能够帮助到你们。正如你们说知道的那样，Ubuntu旨在支持绝大多数webcam，而且是现成可用的。大多数webcam生产商并不为Linux系统提供驱动，包括Ununtu。所以，Linux开发者们必须能够尽最大努力让webcam设备在Linux内核中运行。

支持Linux的webcam驱动由Linux UVC项目提供[UVC](https://help.ubuntu.com/community/UVC)。该项目意图为webcam提供一个万能USB支持，就像一个通用USB驱动控制一些USB设备，例如U盘，外部USB设备和其他一些设备。

大多数主流的USB webcam设备都可以在Linux系统下工作，其中包括支持Linux UVC项目驱动的Ubuntu。如果你想为你的Ubuntu计算机购买一个webcam设备,又不确信它是否能被支持，请[核查支持UVC的webcam列表](http://www.ideasonboard.org/uvc/).

上面列出的webcam都能够很方便地应用在Linux机器中。因此，在为你的机器购买webcam之前，查看一下列表并找到你喜欢的模块。

在购买一个支持Linux系统的模块之后，你需要一个应用程序来播放或者观看视频。现如今，最流行的Ubuntu webcam应用程序是Cheese.Cheese 允许用户访问自己的webcam并能够轻松播放视频。

输入以下命令安装Cheese

```
sudo apt-get install cheese
```

安装完成之后，在Unity Dash中打开它就能运行。如果webcam驱动已经载入，Cheese就能够从Webcam中输出视频。

只要你有一个配备了webcam的笔记本电脑，那它就可以工作，因为大多数USB webcam设备是在Ubuntu中通用的。你该做的就是安装Cheese并体验。

如果你不能令当前的webcam在Ubuntu中工作，就应该尝试购买一个能够工作的模块!

尽情享受吧！

via: <http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-webcam-support-ubuntu-via-cheese/>

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

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


Fedora 20：新的网络配置功能、支持 ARM 设备

Summary: 为了修复一些 bug 从而增强系统稳定性，在连着跳票几周后，最新的 Fedora Linux 终于要在12月份出来了。Fedora 是一款为 RHEL 做软件测试用的开源操作系统（即 Red Hat 公司会将那些在 Fedora 系统运行稳定的软件版  ...

# Fedora 20：新的网络配置功能、支持 ARM 设备

为了修复一些 bug 从而增强系统稳定性，在连着跳票几周后，最新的 [Fedora Linux](http://fedoraproject.org/) 终于要在12月份出来了。Fedora 是一款为 [RHEL](http://redhat.com/) 做软件测试用的开源操作系统（即 Red Hat 公司会将那些在 Fedora 系统运行稳定的软件版本吸收到 RHEL 系统中 —— 译者注），这次更新将会带来什么样的变化呢？让我们来看一下。

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

早在10月末，Fedora 项目就宣布 Fedora 20 正式版要延迟一周发布（Fedora 项目计划在每年的4月和10月发布新的版本，但几乎每次都在跳票，所以见怪不怪了 —— 译者的吐槽）。在11月1号，Fedora 项目又宣布将 Fedora 20 推迟一周。而[现在的计划](http://fedoraproject.org/wiki/Releases/20/Schedule)再次变成11月12日发布 Beta 版，12月17日发布正式版。

这个三连跳不禁又要让 Fedora 用户伤心一阵子了，但开发者说不断的修改发布计划，是为了让 Fedora 以更完美的姿态出现在大众眼前。（Fedora 这种追求完美的策略，与 [Canonical](http://canonical.com/) 旗下的 [Ubuntu](http://ubuntu.com/) 追求效率的策略形成鲜明的对比。Ubuntu 更愿意按计划发布新版本，这有助于它抢占 Linux 市场。）

抛下进度不提，Fedora 用户还是可以对这次最新最棒的版本更新抱有很大期望的。比如为了将桌面轻量化，Fedora 20 不再默认安装一些软件，像 syslog 和 sendmail。

NetworkManager 增加了一些很有用的功能，比如支持网桥和网卡绑定，在以前，要实现这两个酷酷的功能，需要通过复杂的命令行操作。在布署复杂的网络环境，特别是在云计算和软件定义网络（SDN）中，现在的 Fedora 对用户来说更有吸引力了。

Fedora 20 的目标是完全支持 ARM 设备（特别是 ARM7hl），这个目标能让它在移动终端和一些新兴硬件产品占有一席之地。

这些改进能让 Fedora 20 成为本季度最引人注目的 Linux 桌面发行版 —— 特别是在上月发布的 Unbuntu 13.10 的衬托下。Ubuntu 13.10 为桌面用户带来[极少的更新](http://thevarguy.com/ubuntu/canonicals-ubuntu-linux-1310-brings-few-changes-desktop)。（它更多的是针对[服务器和云的更新](http://thevarguy.com/ubuntu/ubuntu-1310-openstack-havana-support-cloud-server-updates)。）

由于 Red Hat 公司会从 Fedora 中挑选稳定可靠的软件版本并吸收到 RHEL 中，所以 Fedora 社区里会有很多高端用户。而对于社区中的这些用户来说，本次更新也是有重要意义的。他们应该在12月（如果不再跳票）就可以拿到 Fedora 20 正式版了，并且会期待着 Red Hat 公司什么时候能将这些新特性加入到 RHEL 中。

---

via: <http://thevarguy.com/open-source-application-software-companies/red-hat-fedora-20-linux-new-networking-arm-features>

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

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


如何使用LibreOffice把DOCX,DOC,RTF,ODT转换成PDF

Summary:
在学校、公司、政府，或者是在网页传播的书籍、文档、报告、教程等等文档均被封装成各种格式。
有时候，会有某一些特定的需求，比如把一个文档转换成PDF格式，这时通过LibreOffice. 就能轻易完成。
使用LibreOffice  ...

# 如何使用LibreOffice把DOCX,DOC,RTF,ODT转换成PDF

在学校、公司、政府，或者是在网页传播的书籍、文档、报告、教程等等文档均被封装成各种格式。

有时候，会有某一些特定的需求，比如把一个文档转换成PDF格式，这时通过[LibreOffice](http://www.libreoffice.org/). 就能轻易完成。

使用LibreOffice Writer，用户可以轻易地把书籍、文档等等文件转换成PDF格式，而且还可以把任意可以打开的格式转换成PDF格式。

举个例子，把DOC文档转换成PDF格式

* 右键单击DOC文档，点击“Open With LibreOffice Writer”，使用LibreOffice打开DOC文档

* 在导航栏中依次选中LibreOffice-->File-->Export as PDF，在弹出的PDF Options对话框中，选择文件路径（对话框中程序已经智能的设置了默认选项）

点击Export按钮，就能把DOC文档转换成PDF格式并且保存在指定目录。

成果：在DOC文档边上的就是新的PDF文档（原有的DOC文档仍被保留）。

同样的道理，还可以应用在RTF, DOCX, ODT等其他格式的文档上。

---

via: <http://iloveubuntu.net/how-convert-docx-doc-rtf-odt-pdf-libreoffice>

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

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


戴文的Linux内核专题：08 配置内核(4)

Summary:
在这个第四部分里，我们将继续配置更多的设置和特性。

这里我们被问及关于"IBM Calgary IOMMU support (CALGARY_IOMMU)"。这个选项将会提供对IBM xSeries x366和x460的IOMMU的支持。这也将让那些32位PCI的设备工作  ...

# 戴文的Linux内核专题：08 配置内核(4)

在这个第四部分里，我们将继续配置更多的设置和特性。

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

这里我们被问及关于"IBM Calgary IOMMU support (CALGARY\_IOMMU)"。这个选项将会提供对IBM xSeries x366和x460的IOMMU的支持。这也将让那些32位PCI的设备工作正常——在这些系统上不支持双地址周期(DAC : Double Address Cycle)——因为该系统设置在访问超过3GB内存的时候会有问题。如果需要这些IOMMU设备可以用"iommu=off"在启动时关闭。(这些内核/模块参数会在以后的文章中讨论)

IOMMU(input/output memory management unit)是一个内存管理单元(MMU)，它连接具有DMA功能的I/O总线到主内存上。DMA(Direct Memory Access)是许多计算机支持的一种允许特定设备不借助CPU直接访问内存的特性。双地址周期(Double Address Cycle, DAC)是64位DMA；而通常的DMA使用32位。

下面，我们被问及是否默认启用Calgary(Should Calgary be enabled by default? (CALGARY\_IOMMU\_ENABLED\_BY\_DEFAULT))。Calgary与上面提到的IOMMU是同一个概念。这两者之间的不同是IOMMU可以支持许多设备而Calgary只能支持IBM IOMMU设备。如果禁用了它，但是以后需要使用到它，可以使用内核参数(iommu=calgary)。

这里有个问题需要小心处理(Enable Maximum number of SMP Processors and NUMA Nodes (MAXSMP))。只有在内核运行在拥有很多SMP处理器和NUMA节点的情况下才启用它，如Core i7和许多AMD CPU芯片。如果系统缺乏或者只有少量的SMP处理器和NUMA节点，内核就会变得低效。这个最好选择"No"。

非一致性内存访问(Non-Uniform Memory Access (NUMA))是一个每块内存都需要花费更长时间访问其他部分内存的系统。一个节点就是一组内存。例如，一个NUMA系统可能有三块内存芯片。每块芯片是一个节点，在带CPU的主板上有一个节点/芯片(这是最快的节点)，另外两个在不同的总线上。这两个节点需要比第一个节点花费更长的时间去访问。

注意：ccNUMA和NUMA目前是一样的，至少是非常相似的。

对称多处理器(Symmetric Multi-Processing (SMP))是NUMA的替代品。它的内存在同一根总线上。只有限定数量的CPU可以访问总线，所以这限制了SMP系统上处理器的数量。然而它内存的访问速度一样块。

注意：我是在为AMD64系统在编译内核，所以我会告诉你我的选择，来帮助读者理解过程和选择。如果我没有指出我的选择，那么我用的就是默认选择。如果你在为不同的系统编译或者你有不同的需求，你需要在你的情况下做出替代的选择。

接下来，除非配置工具已经为你做了选择，选择一个内核需要支持的最多CPU的数量。这个配置根据你给的数量优化内核。

接着启用或禁用"SMT (Hyperthreading) scheduler support (SCHED\_SMT)"（超线程调度器支持）。SMT调度器提升了在使用了超线程技术的Pentium 4处理器上的CPU决策能力。然而，这会带来额外的功耗，在一些系统上最好像我一样选择"no"。

超线程一种专有的SMT并行微处理器(Intel 实现了它)。这是多任务/多线程(同时做许多任务)的一种特殊形式，并行多线程(Simultaneous multithreading (SMT))提升了多线程执行的效率。

在这之后，启用或者禁用"Multi-core scheduler support (SCHED\_MC)"。这样也是一种提升多核CPU决策的特性。然而这回带来额外功耗，我选择了"No"。

在下一个选项中可以选择抢占模式。

Preemption Model（抢占模式）

1. No Forced Preemption (Server) (PREEMPT\_NONE) （非强制抢占）

> 2. Voluntary Kernel Preemption (Desktop) (PREEMPT\_VOLUNTARY) （自愿内核抢占）

3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT) （可抢占内核）

choice[1-3]: 2

抢占就是暂停一个意图让它之后继续执行的中断任务的过程。抢占强制一个进程暂停，执行中的任务无法忽视抢占。

接着，我们被询问关于"Reroute for broken boot IRQs (X86\_REROUTE\_FOR\_BROKEN\_BOOT\_IRQS)"。这是一个对于假中断的简单修复。假中断是一种无用的硬件中断，这些通常是有电子干扰或者错误连接的电子产品触发。记住，中断是发送给处理器需要马上注意的信号。

这个选项对任何机器都很重要；我怀疑任何人可能都会有禁用这个特性的理由(Machine Check / overheating reporting (X86\_MCE))。内核必须意识到过热和数据损坏，不然，系统将会继续操作，这样只会导致进一步的破坏。

下面，用户可以启用禁用"Intel MCE features (X86\_MCE\_INTEL)"，这是一种额外的对像热度监控的Intel MCE特性的支持。因为我是为AMD64处理器编译内核所以我选择了"no"。机器检测异常(MCE)是一种当处理器发现硬件问题时的错误输出。MCE通常会导致内核严重错误(kernel panic)(相当于Windows中的"蓝屏")。

这个除了是AMD设备外是同一个问题Intel MCE features (X86\_MCE\_INTEL)。

下一个是我会禁用的调试特性(Machine check injector support (X86\_MCE\_INJECT))。这个会允许注射检查。如果你偶尔执行机器注射，那最好编译成模块而不是编译进内核。机器注射可以使设备即使实际没有错误也可以发送一个伪造的错误信息。这个用来确认内核和其他进程可以正常处理错误。比如，如果CPU过热，接着应该关机，但是开发者如何在不损坏CPU的情况下测试代码。注射错误是一种最好的方法，因为它只是一种告诉硬件发送错误信号的软件。

注:模块是对可能被使用或者很少执行的特性/驱动而言的。只加入在许多使用该内核的系统中用到的特性/驱动到内核中。

如果内核很可能用在Dell笔记本上，那么启用这个特性(Dell laptop support (I8K))。否则，如果一些用户可能在戴尔笔记本电脑上用到这个内核，将其作为一个模块加入。如果这个内核不打算支持Dell笔记本，那就像我一样忽略掉它。特别地，这个支持是一个允许Dell Inspiron 8000系列笔记本访问处理器的系统管理模式的驱动。系统管理模式的目的是得到处理器的温度和风扇状态，这对一些需要控制风扇的系统有用。

下面，用户可以选择微码加载支持(CPU microcode loading support (MICROCODE))。这可以允许用户在支持这个特性的AMD或者Intel芯片上更新微码。

注意：为了加载微码，你必须拥有一个为你的处理器设计的合法的二进制微代码拷贝。

如果要加载微码补丁(修复bug或加入次要的特性)到intel芯片上(Intel microcode loading support (MICROCODE\_INTEL))，这个就必须启用。这里我禁用了它。

然后是AMD芯片的类似选项(AMD microcode loading support (MICROCODE\_AMD))。

启用这个支持(/dev/cpu/\*/msr - Model-specific register support (X86\_MSR))可以允许某个处理器有权限使用x86特殊模块寄存器(Model-Specific Registers (MSRs))。这些寄存器是一些字符设备，包括major 202下minor 0到31的设备((/dev/cpu/0/msr to /dev/cpu/31/msr))。这个特性用在多处理器系统上。每个虚拟字符设备都连接到一个特定的CPU。

注意：MSRs被用来改变CPU设备、调试、性能监控和执行追踪。MSRs使用x86指令集。

在这之后，我们有一个选项"CPU information support (X86\_CPUID)"，启用这个特性允许处理器访问x86 CPUID指令，这需要通过字符设备在一个特定的CPU上执行。这些字符设备包括major 202下minor 0到31的设备(/dev/cpu/0/msr to /dev/cpu/31/msr)，就像上面x86\_MSR支持的这些。

如果处理器支持，启用内核线性映射来使用1GB的内存页(Enable 1GB pages for kernel pagetables (DIRECT\_GBPAGES))。启用这个可以帮助减轻TLB的压力。

页是内存本身的基本单位(位是数据的基本单位)。页的大小是由硬件自身决定的。页码表是虚拟和物理内存间的映射。物理内存是设备上的内存。虚拟内存是到内存的地址。依赖于系统架构，硬件可以访问大于实际内存地址的地址。举例来说，一个64位系统拥有6GB内存，管理员在需要时可以加上更多的内存。这是因为还有很多虚拟内存地址。然而，在很多32位系统上，系统管理员可以增加一条8GB的内存，但是系统无法完全使用它，因为系统中没有足够的虚拟内存地址去访问大容量的内存。转换后援缓冲器(Translation Lookaside Buffer (TLB))是一种提升虚拟内存转换速度的缓存系统。

下面，我们看到了NUMA选项(Numa Memory Allocation and Scheduler Support (NUMA))。这可以允许内核在CPU本地内存分配器上分配CPU可使用的内存。这个支持同样可使内核更好感知到NUMA。很少的32位系统需要这个特性，但是一些通用的645位处理器使用这个特性。我选择了"no"。

为了系统使用旧方式来检测AMD NUMA节点拓扑，启用这个特性(Old style AMD Opteron NUMA detection (AMD\_NUMA))。下一个选项是一种更新的检测方式(ACPI NUMA detection (X86\_64\_ACPI\_NUMA))。如果两个都启用，新的方式将会占支配作用。一些硬件在使用其中一种方式而不是另外一个时工作得更好。

如果为了调试目的的NUMA仿真，可以启用下一个特性(NUMA emulation (NUMA\_EMU))。

注意：如果你不打算进行调试并且你需要一个快速、轻量级系统，那么禁用尽可能多的调试特性。

下一个选项中，选择你的内核打算如何处理NUMA节点的最大数量。接下来选择内存模型，这里可能只有一个内存模型选择。内存模型指定了内存如何存储。

Maximum NUMA Nodes (as a power of 2) (NODES\_SHIFT) [6]

Memory model

> 1. Sparse Memory (SPARSEMEM\_MANUAL)

choice[1]: 1

为了提升性能，这里有一个选项用通过虚拟内存映射(Sparse Memory virtual memmap (SPARSEMEM\_VMEMMAP))来优化pfn\_to\_page和page\_to\_pfn操作。页帧号是每页被给定的号码。这两个操作用来从号码得到页或者从页得到号码。

下一个选项是允许一个节点可以移除内存(Enable to assign a node which has only movable memory (MOVABLE\_NODE))。内核页通常无法移除。当启用后，用户可以热插拔内存节点，同样可移除内存允许内存整理。作为出入内存的数据，只要有可用空间一组数据可能被划分到不同内存。

接着前面的内存问题，我们还有更多的问题。这些可能已被配置工具预配置了。第三个选项(BALLOON\_COMPACTION)，当启用时可以帮助减少内存碎片。碎片内存会减慢系统速度。第四个选项(COMPACTION)允许内存压缩。下面列到的第五个选项(MIGRATION)允许页面被移动。

* Allow for memory hot-add (MEMORY\_HOTPLUG) (允许内存热添加)
* Allow for memory hot remove (MEMORY\_HOTREMOVE) （允许内存热移除）
* Allow for balloon memory compaction/migration (BALLOON\_COMPACTION) （允许泡状内存规整和合并）
* Allow for memory compaction (允许内存规整)
* Page migration (MIGRATION) (页合并)

注意：启用可移动内存会启用以上5个特性。

下一步，我们可以"Enable KSM for page merging (KSM)"。内核同页合并(Kernel Samepage Merging (KSM))会查看程序认为可以合并的内核。如果两页内存完全相同这可以节约内存。一块内存可以被删除或者被合并，并且只有一块可以使用。

配置工具可能会自动选择保存多少内存用于用户分配(Low address space to protect from user allocation (DEFAULT\_MMAP\_MIN\_ADDR) [65536])。

下一个选项很重要(Enable recovery from hardware memory errors (MEMORY\_FAILURE))。如果内存故障并且系统有MCA恢复或者ECC内存，系统就可以继续运行并且恢复。要使用这个特性，硬件自身和内核都必须支持。

机器检测架构(Machine Check Architecture (MCA))是一个一些CPU上可以发送硬件错误信息给操作系统的特性。错误更正码内存(Error-correcting code memory (ECC memory))是一种内存设备检测和纠正错误的形式。

下面，配置工具会自动启用"HWPoison pages injector (HWPOISON\_INJECT)"。这个特性允许内核标记一块坏页为"poisoned"，接着内核会杀死创建坏页的程序。这有助于停止并纠正错误。

为了允许内核使用大页(Transparent Hugepage Support (TRANSPARENT\_HUGEPAGE))，启用这个特性。这可以加速系统但是需要更多内存。嵌入式系统不必使用这个特性。嵌入式系统通常只有非常小的内存。

如果启用了上面的，那么必须配置大页的sysfs支持。

Transparent Hugepage Support sysfs defaults

1. always (TRANSPARENT\_HUGEPAGE\_ALWAYS)

> 2. madvise (TRANSPARENT\_HUGEPAGE\_MADVISE)

choice[1-2?]: 2

下面的选项是增加process\_vm\_readv和process\_vm\_writev这两个系统调用(Cross Memory Support (CROSS\_MEMORY\_ATTACH))。这允许特权进程访问另外一个程序的地址空间。

如果有tmem，启用缓存清理(cleancache)通常是一个好主意 (Enable cleancache driver to cache clean pages if Transcendent Memory (tmem) is present (CLEANCACHE))。当一些内存页需要从内存中移除时，cleancache会将页面放在cleancache-enabled的文件系统上。当需要该页时，页会被重新放回内存中。超内存(tmem)没有一组已知大小的内存，内核对此内存使用间接寻址。

下一个选项允许在tmen激活后缓存交换页(Enable frontswap to cache swap pages if tmem is present (FRONTSWAP))。frontswap在交换分区放置数据。交换特性的支持需要这个。

最好启用下一个特性(Check for low memory corruption (X86\_CHECK\_BIOS\_CORRUPTION))。这会检测低位内存的内存损坏情况。这个特性在执行期被禁止。为了启用这个特性,在内核命令行内加入 "memory\_corruption\_check=1"(这会在以后的文章中讨论;这不同于任何命令行)。即使经常执行这个特性，也只使用非常小的开销(接近没有)。

接下来我门可以设置内存损坏检测的默认设置(“Set the default setting of memory\_corruption\_check (X86\_BOOTPARAM\_MEMORY\_CORRUPTION\_CHECK))。这可以选择是否开启或关闭memory\_corruption\_check。最好启用内存损坏检测不然如果一部分重要内存损坏后可能会导致数据丢失和系统崩溃。

这个选项关注的是BIOS(Amount of low memory, in kilobytes, to reserve for the BIOS (X86\_RESERVE\_LOW) [64])。配置工具通常知道给BIOS预留内存的最佳大小。

对于Intel P6处理器，开发者可以启用存储区域类型寄存器(MTRR (Memory Type Range Register) support (MTRR))。这用于连接着VGA卡的AGP和PCI卡。启用这个特性内核会创建/proc/mtrr。

如果X驱动需要加入回写入口，那么启用下面的选项(MTRR cleanup support (MTRR\_SANITIZER))。这会将MTRR的布局从连续转换到离散。存储区域类型寄存器(Memory type range registers (MTRRs))提供了一种软件访问CPU缓存的方法。

下面，配置工具已经设置了一些MTRR选项

* MTRR cleanup enable value (0-1) (MTRR\_SANITIZER\_ENABLE\_DEFAULT) [1]
* MTRR cleanup spare reg num (0-7) (MTRR\_SANITIZER\_SPARE\_REG\_NR\_DEFAULT) [1]

为了设置页级缓冲控制，那就启用PAT属性(x86 PAT support (X86\_PAT))。页属性表(Page Attribute Table (PATs))是现在版的MTRRs并比它更灵活。如果你经历过因启用它而引发的启动问题，那么禁用这个特性后重新编译内核。我选择了"no"。

---

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

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

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


每日Ubuntu小技巧 - 改变Ubuntu Unity启动器尺寸

Summary:
这里有一些给新Ubuntu用户的小技巧。这一系列的小技巧是为了帮助Ubuntu新用户轻松地配置和管理他们的电脑。这不是面向专家用户的，只是为了那些刚刚开始使用Ubuntu的用户。
Ubuntu启动器是Ubuntu Unity桌面的关键部  ...

# 每日Ubuntu小技巧 - 改变Ubuntu Unity启动器尺寸

这里有一些给新Ubuntu用户的小技巧。这一系列的小技巧是为了帮助Ubuntu新用户轻松地配置和管理他们的电脑。这不是面向专家用户的，只是为了那些刚刚开始使用Ubuntu的用户。

Ubuntu启动器是Ubuntu Unity桌面的关键部分。启动器是一个布满图标的垂直条，当你登陆的时候，它就会位于屏幕的左边栏。通过它您可以从桌面方便地打开或者启动程序，还可以让您快速访问应用、工作空间、可移动设备和垃圾桶。

默认情况下，这个启动器图标大小被设置为48X48px，即使是较小的屏幕上也如此。如果你需要调大或调小启动器的尺寸，那么请继续接下来的学习。

想调整Unity启动器尺寸的原因有很多。其中一个就是为了适应更小的屏幕。如果你的屏幕很小，默认尺寸不合适，那么你就需要改变它了。

如果图标默认尺寸太小，想要增大它，则可以调整启动器来增大图标，从而容易点击。

下面开始调整大小，点击右上角的齿轮按钮弹出菜单条，点击系统设置（System Settings...），如下图。

接下来，选择 外观（Appearance）

最后，使用滚动条来调整（增大\减小）启动器的图标尺寸。

这个改变会被自动应用。记住，如果你想要继续作用默认尺寸，移动到48.

这是另一个为Ubuntu新用户的小技巧。欢迎回来掌握更多的Ubuntu小技巧。如果你是一个老手并且想要做出贡献，就请在下面留言吧。

享受吧！
----

via: <http://www.liberiangeek.net/2013/09/daily-ubuntu-tips-resize-ubuntu-unity-launcher/>

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

译者：[Vic\_\_\_](http://blog.csdn.net/vic___) 校对：[jasminepeng](https://github.com/jasminepeng)


使用安卓设备控制你的Linux PC

Summary:
下面的教程会指导所有的Linux使用者如何在系统上安装SSH，以便通过安卓智能手机远程访问他们的电脑。

如今我们所有人都拥有一台平板或触屏手机，我们经常使用它们在深夜里看电影或电视节目，听歌或者阅读一本好书。 ...

# 使用安卓设备控制你的Linux PC

**下面的教程会指导所有的Linux使用者如何在系统上安装SSH，以便通过安卓智能手机远程访问他们的电脑。**

如今我们所有人都拥有一台平板或触屏手机，我们经常使用它们在深夜里看电影或电视节目，听歌或者阅读一本好书。你可以把这篇文章称作是为那些懒人们准备的教程，他们在大晚上会因为太过疲惫而懒得去开启他们电脑上的某些程序，更懒得去移动、删除、复制或重命名某些文件，甚至关掉PC。

的确，已经有各种各样的远程桌面解决方案，但是许多方案费用很高，或者实现效果很糟糕，无法像预期一样运行，逼得你最终还是得去电脑上做你原本想做的事情。

在这个教程里面，我们将使用一种简单、安全、高效的协议，它被称为SSH (Secure SHell)，它很容易从默认的软件仓库中安装（在Arch linx中是openssh，在Ubuntu中时openssh-server）。

### 配置SSH服务器

在安装完成后，你需要为SSH服务器进行基本配置。为此，你需要使用文本编辑器编辑/etc/ssh/sshd\_config这个文件。

1.在文件尾部添加下面一行（下面的yourusername使用你的Linux机器上实际存在的用户名代替）

AllowUsers yourusername

2.取消"#PermitRootLogin"这行注释，把"no"替换成"yes"：

PermitRootLogin no

3.为了安全起见，你需要修改SSH连接默认的22端口到一个更大编号的端口，譬如在我们的例子中是55441 （建议不要跟着我使用55441，这是我选择的，你可以找另一个四位或者五位数字）。因此，取消注释并编辑"#Port 22"如下（译注：你可以选择大于1024，小于65535的其它端口，前提是没有被其它服务所占用，为什么不试试你的幸运数字？）：

```
Port 55441
```

### 开启SSH服务器

在Ubuntu上，SSH服务通过下面的命令启动：

```
sudo /etc/init.d/ssh start
```

当你每次修改上述配置文件时，都需要通过下面的命令重启：

```
sudo /etc/init.d/ssh restart
```

在Arch Linux上，你可以使用下面的命令启动SSH服务：

```
sudo systemctl start sshd
```

### 配置安卓设备上的SSH客户端

JuiceSSH似乎是安卓上最好的SSH客户端之一，而且是免费的。此外，如果你认为它的功能简单，也可以花费少量的钱得到更多高级的特性，譬如亚马逊 AWS/EC2 集成，团队协作，以及更多其它的特性。

一旦软件安装完毕，运行它，然后你会要求输入一个加密的密码以保证安全连接的安全。这个密码由AES-256进行加密，因此除非你的设备被偷，否则没有人能够获取他们。

现在，添加一个新连接，选择名称，你的电脑的IP地址，上面设定的端口号和一个需要被创建的身份。

这就是我的Arch Linux机器，可以通过我的安卓平板上的JuiceSSH客户端访问到。如果在这个教程中你遇到问题，请在下面进行评论。

---

via: <http://news.softpedia.com/news/How-to-Control-Your-Linux-PC-with-an-Android-Device-396004.shtml>

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

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


万圣节档案：微软的反Linux战略15周年回顾

Summary:
自从微软的反Linux、反开源战略备忘录泄露以来，已经整整过去了15个年头。让我们来回顾一下，这一战略是如何失败的。

15年前，当时临近万圣节，Eric S. Raymond发布了第一份万圣节档案(Halloween Documents)，文档 ...

# 万圣节档案：微软的反Linux战略15周年回顾

>
> 自从微软的反Linux、反开源战略备忘录泄露以来，已经整整过去了15个年头。让我们来回顾一下，这一战略是如何失败的。
>
>
>

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

15年前，当时临近万圣节，Eric S. Raymond发布了第一份“[万圣节档案(Halloween Documents)](http://www.catb.org/%7Eesr/halloween/)”，文档揭露了微软专门针对Linux与开源的秘密战略。那时，“恐惧、未知与怀疑（fear, uncertainty and doubt - FUD）”这样的词汇第一次被收入辞典，到了今天，很多情况已经改变，而未曾改变的又有哪些？微软和开源世界今天能够和睦相处了吗？

万圣节档案，之所以这么称呼是因为它是1998年10月最先泄露出来的，档案与万圣节本身并没有什么实际联系，作为一个忠实的节日粉，我对这一点略显失望。不过，要想了解微软与开源世界之间的历史渊源，首先了解这些备忘录是至关重要的。

它们是第一份揭露微软肮脏“诡计”的档案，文档显示，微软计划抵制开源活动，尤其要防止Linux影响其收益。对公司来说，第一个关键战略是通过注册专利协议来锁定微软的软件客户，另一个则是通过比Linux更低的价格兜售自家软件，例如提供更低价格的所有权总成本，然而文档显示，微软自己都发现，Linux自始至终在很多方面都比微软要便宜。

历史证明，微软的战略大错特错。Raymond发布第一份文档的15年来（后来，伴随着大量的评论，他又不断在自己的网页上添加了更多的文档），微软不断得到市场的肯定，而Windows和Linux共存的局面也一直在持续。尽管万圣节档案中承认，多年来微软在不断失去一些重要的市场份额，例如服务器操作系统与相关应用程序，而这一点曾令微软高层大为恐慌，但其实Linux与开源从未对微软构成实质性威胁。即使万圣节档案中的目标达到了，如今的微软可能也只是变成一家更富有的企业而已。

但故事还没完。如今，微软和开源世界之间的小火花在许多领域不断升级。虽然Redmond不必再担心Linux会取代微软旗舰软件或桌面电脑的地位，但在其他领域，例如移动世界，基于Linux的Android，还有“衍生品”iOS，构成了微软意图统治平板电脑和智能手机所要面临的主要挑战；还有，在云计算和大数据方面，开源软件一直在开疆拓域，例如Hadoop和OpenStack，现在微软和其他直接竞争者已根本无法对其形成真正的威胁。领域不同，但游戏规则一致，开源生态系统始终都在环伺微软左右。

当然，如今的微软也不再是1998年的微软。多年前大肆扩张的时代已经过去，现在很难想象还有哪种破坏性的挑战足以威胁到微软如此巨大的桌面操作系统份额和办公软件市场。如果微软的确面临衰退，也不是因为Linux，而是因为传统计算机领域的结构升级 —— 而短时间内这样的变化还不会到来。

今天，值得我们再次重温万圣节档案，提醒自己不要逃避开源世界的竞争。长远来看，开源软件开发模式能够大大地增进繁荣共享软件市场，而引入开源技术及其开发模式的公司，例如红帽，其发展远比那些因为“恐惧、未知与怀疑（FUD）”而固步自封的公司要好得多。如今的红帽已经拥有更加平稳的盈利潜力，在上文提到的多个开源领域都有持续的业务增长，例如云计算和大数据，相比之下，微软、甚至苹果，如果想要在这些领域有所扩展，则要在新的硬件种类方面面对高昂费用和更加危险的投资。

总结：不管是糖果还是软件，分享，都是前进的方向。万圣节快乐！

---

via: <http://thevarguy.com/open-source-application-software-companies/halloween-documents-microsofts-anti-linux-strategy-15-yea>

译者：[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对：[wxy](https://github.com/wxy)

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


Linux中grep命令的12个实践例子

Summary:
你是否遇到过需要在文件中查找一个特定的字符串或者样式，但是不知道从哪儿开始？那么,就请grep来帮你吧。

grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具。无论何种原因，如果你的系统没有预装它的话 ...

# Linux中grep命令的12个实践例子

你是否遇到过需要在文件中查找一个特定的字符串或者样式，但是不知道从哪儿开始？那么,就请**grep**来帮你吧。

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

**grep**是每个**Linux**发行版都预装的一个强有力的文件模式搜索工具。无论何种原因，如果你的系统没有预装它的话，你可以很容易的通过系统的包管理器来安装它（**Debian/Ubuntu**系中的**apt-get**和**RHEl/CentOS/Fedora**系中的**yum**）。

```
 $ sudo apt-get install grep #Debian/Ubuntu $ sudo yum install grep #RHEL/CentOS/Fedora
```

我发现使用现实世界中的真实例子让你投身其中是让你接触**grep**命令的最容易方式。

### 1.搜索和寻找文件

假设你已经在你的电脑上安装了一个全新的**Ubuntu**，然后你打算卸载**Python**。你浏览网页寻找教程，但是你发现存在两个不同版本的**Python**在使用，而你不知道你的**Ubuntu**安装器到底在你的系统中安装了哪个版本的Python，也不知道它安装了哪些模块。解决这个烦恼只需简单的运行以下命令：

```
 $ sudo dpkg -l | grep -i python
```

#### 输出例子

```
   ii  python2.7         2.7.3-0ubuntu3.4 Interactive high-level object-oriented language (version 2.7)
   ii  python2.7-minimal 2.7.3-0ubuntu3.4 Minimal subset of the Python language (version 2.7)
   ii  python-openssl    0.12-1ubuntu2.1  Python wrapper around the OpenSSL library
   ii  python-pam        0.4.2-12.2ubuntu4 A Python interface to the PAM library
```

首先，我们运行**dpkg -l**列出你系统上安装的**.deb**包。接着，我们使用管道将输出结果传输给命令**grep -i** python，这一步可以简单解释为把结果传输给grep然后过滤出所有含有python的项，并返回结果。–i选项用于忽略大小写,因为 grep 是大小写敏感的。使用选项**-i**是个好习惯，除非你打算进行更细节的搜索。

### 2.搜索和过滤文件

grep还可以在一个或多个文件里用于搜索和过滤。让我们来看一个这样的情景：

你的**Apache网页服务器**出现了问题，你不得不从许多专业网站里找一个发帖询问。好心回复你的人让你粘贴上来你的**/etc/apache2/sites-available/default-ssl**文件内容。假如你能移除掉所有的注释行，那么对你，对帮你的人，以及所有阅读该文件的人，不是更容易发现问题吗？你当然可以很容易的做到！只需这样做就可以了：

```
 $ sudo grep -v "#" /etc/apache2/sites-available/default-ssl
```

选项**-v**是告诉**grep**命令反转它的输出结果，意思就是不输出匹配的项，做相反的事，打印出所有不匹配的项。这个例子中，有**#**的是注释行（译注：其实这个命令并不准确，包含“#”的行不全是注释行。关于如何精确匹配注释行，可以了解更多的关于正则表达式的内容。）。

### 3.找出所有的mp3文件

**grep**命令对于过滤来自于**标准输出**的结果非常有用。例如，假设你的一个文件夹里面全是各种格式的音乐文件。你要找出艺术家**jayZ**的所有**mp3**格式的音乐文件，里面也不要有任何混合音轨。使用**find命令**再结合管道使用**grep**就可以完成这个魔法：

```
 $ sudo find . -name ".mp3" | grep -i JayZ | grep -vi "remix""
```

在这个例子中，我们使用find命令打印出所有以**.mp3**为后缀名的文件，接着将其使用管道传递给**grep -i**过滤和打印出名字为“**JayZ**”的文件,再使用管道传送给**grep -vi**以便过滤掉含有“**remix**”的项。

* [35个Linux中find命令的实践例子](http://www.tecmint.com/35-practical-examples-of-linux-find-command/)

### 4.在搜索字符串前面或者后面显示行号

另外两个选项是-A和-B之间的切换，是用以显示匹配的行以及行号，分别控制在字符串前或字符串后显示的行数。Man页给出了更加详细的解释，我发现一个记忆的小窍门：-A=after、-B=before。

```
 $ sudo ifconfig | grep -A 4 etho $ sudo ifconfig | grep -B 2 UP
```

### 5.在匹配字符串周围打印出行号

grep命令的**-C**选项和例4中的很相似，不过打印的并不是在匹配字符串的前面或后面的行，而是打印出两个方向都匹配的行（译注：同上面的记忆窍门一样：-C=center，以此为中心）： $ sudo ifconfig | grep -C 2 lo

### 6.计算匹配项的数目

这个功能类似于将**grep**输出的结果用管道传送给计数器（**wc**程序），grep内建的选项可以达到同样的目的：

```
$ sudo ifconfig | grep -c inet6
```

### 7.按给定字符串搜索文件中匹配的行号

当你在编译出错时需要调试时，**grep**命令的**-n**选项是个非常有用的功能。它能告诉你所搜索的内容在文件的哪一行：

```
$ sudo grep -n "main" setup.py
```

### 8.在所有目录里递归的搜索

假若你要在当前文件夹里搜索一个字符串，而当前文件夹里又有很多子目录，你可以指定一个**-r**选项以便于递归的搜索： $ sudo grep -r "function" \*

### 9.进行精确匹配搜索

传递**-w**选项给grep命令可以在字符串中进行精确匹配搜索（译注：包含要搜索的单词，而不是通配）。例如，像下面这样输入：

```
$ sudo ifconfig | grep -w “RUNNING”
```

将打印出含有引号内匹配项的行。另外，你还可以试一下这个：

```
$ sudo ifconfig | grep -w “RUN”
```

搜索这个匹配项时，若搜索的东西里面没有这样的一个单独的单词，将什么也不会返回。

### 10.在Gzip压缩文件中搜索

我们还要关注一下grep的衍生应用。第一个是**zgrep**，这个与**zcat**很相似，可以用于**gzip**压缩过的文件。它有与**grep**相似的命令选项，使用方式也一样：

```
$ sudo zgrep -i error /var/log/syslog.2.gz
```

### 11.在文件中匹配正则表达式

**egrep**是另一个衍生应用，代表着“**扩展全局正则表达式**”。它可以识别更多的正则表达式元字符，例如**at + ?** | 和**（）**。在搜索源代码文件时，egrep是一个非常有用的工具，还有其他的一些零碎代码文件的搜索需要，使得这样的搜索能力成为必需。可以在grep命令中使用选项**-E**来启用它。

$ sudo grep -E

### 12.搜索一个固定匹配字符串

**fgrep**用于在一个文件或文件列表中搜索固定样式的字符串。功能与**grep -F**同。**fgrep**的一个通常用法为传递一个含有样式的文件给它：

```
$ sudo fgrep -f file_full_of_patterns.txt file_to_search.txt
```

这仅仅是**grep**命令的开始，你可能已经注意到，它对于实现各种各样的需求简直是太有用了。除了这种我们运行的这种只有一行的命令，**grep**还可以写成**cron**任务或者自动的**shell脚本**去执行。保持好奇心，试验一下**man页**的各个选项，为实现你的目的写出一些**grep表达式**吧。

---

via: <http://www.tecmint.com/12-practical-examples-of-linux-grep-command/>

译者：[Linux-pdz](https://github.com/Linux-pdz) 校对：[jasminepeng](https://github.com/jasminepeng)

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


如何在Ubuntu 13.10中给菜单添加图标

Summary:
通常，使用Ubuntu 13.10的用户会会对默认的程序、偏好和功能进行优化，才能得到更好的用户体验。
Ubuntu的用户体验是可以优化调整的，因此用户可以通过一些工具来修改和调整那些默认设置，比如使用Ubuntu Tweak。
默 ...

# 如何在Ubuntu 13.10中给菜单添加图标

通常，使用Ubuntu 13.10的用户会会对默认的程序、偏好和功能进行优化，才能得到更好的用户体验。

Ubuntu的用户体验是可以优化调整的，因此用户可以通过一些工具来修改和调整那些默认设置，比如使用Ubuntu Tweak。

默认情况下，Ubuntu禁用了内部菜单的图标，即，右键点击桌面打开右键菜单时，菜单中只包含文本而且没有相应的图标。

不过，在Ubuntu 13.10的菜单中添加图标是很简单的：

* 安装Ubuntu Tweak

sudo add-apt-repository ppa:tualatrix/ppa

sudo apt-get update

sudo apt-get install ubuntu-tweak
* 启动Ubuntu Tweak，并导航到Tweaks-->Miscellaneous
* 选中 Menus have icons

**结果**：现在右键点击桌面，图标就会在菜单中显示, 图标显示也会在其他软件的右键菜单出现(例如， Nautilus, Firefox, Gedit中的菜单等等)。

这样在最常用的右键菜单中加上新增的图标，菜单会更加清晰和美丽，特别是使用单色图标菜单显示图标时。

---

via: <http://iloveubuntu.net/how-add-icons-menus-ubuntu-1310>

译者：[Yu-Fei](http://blog.csdn.net/u011459130) 校对：[wxy](https://github.com/wxy)

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


闭源优于开源的七个缘由？是这样吗？

Summary:
这看起来似乎挺奇怪的，因为这样的观点来竟然自于OpenLogic的创办人，而该公司专注于在开源领域提供帮助。 但是事实上，闭源在某些情况下优于开源。

针对闭源
1. 出了问题，不用自己搞定
只要是软件，难保不出问题  ...

# 闭源优于开源的七个缘由？是这样吗？

这看起来似乎挺奇怪的，因为这样的观点来竟然自于OpenLogic的创办人，而该公司专注于在开源领域提供帮助。 但是事实上，闭源在某些情况下优于开源。

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

针对闭源……

### 1. 出了问题，不用自己搞定

只要是软件，难保不出问题。要是开源软件出了这事儿，要么你自己，要么某个欠你人情债的工程师，总得有个人要花费时间排除bug。通览代码，求助于开源社区或者开源软件的供应商，通过这些手段来解决问题。

但是闭源呢，一旦你确定开发商代码出了问题，ok，你的工作到此为止！ 你只需发个文件，等着就行了。当然，可能会等上几个月或者几年，问题才能得到解决，更甚者永远得不到答复。但是除此之外，你还能做什么呢。 把问题踢回去，放松，期待最好的解决方案，仅此而已。

### 2. 不必担心贡献回流到社区

如果用的是开源软件， 很有可能， 你解决了一个bug或者做出了改善，之后你的代码就会进入到社区，随着时间的推移从而帮助测试或者维护。

闭源就不同了，你根本用不着给任何人做任何事情。当然，那是因为你接触不到代码，所以也修改不了，但是你可以针对遇到的问题创建自己的解决方案。你可以一直只针对同一个问题，改善再改善，一个版本接着一个版本，至少用不着跟社区打交道，为其他人提供更好的解决方法。

### 3. 你不必考虑开源许可条款及规定事宜

对于开源，你必须遵循所使用的组件的许可条款。例如，想要搞明白Apache软件许可证和GPL之间的区别与联系，是需要花费一定的时间的。使用哪一种许可证取决于你所用的开源组件以及你如何使用这些组件（发布给第三方或者内部使用），据此都有不同的许可证可供应用（可附加到文档中进行说明）。

像OpenLogic这样的公司可以很容易地理解并遵守开源许可，但是针对闭源，你大可不必担心这类事情！你的供应商的许可协议把有关软件的所有的权利都收走了，如果没有你的公司的律师明确同意的情况下，你几乎是不可能的想以别的方式使用这些软件，想都不要想。当然，你还得考虑许可证数量、突如其来的软件合规性审计、随着时间的推移而恶化的条款、几乎难以理解的法律术语，但至少你不必了解如何使用开源组件。

### 4. 你用不着为每个组件在众多选项中进行选择

针对数据库，Web服务器，应用服务器，编程语言，图形用户界面框架，类似的方面等等，开源都提供了大量的解决方案。在每一个特定的领域，你都可以找到运用不同的架构方法，使用各种语言构建的健壮的成品。找一款功能相似的工具很容易，这些工具都针对不同的使用场合进行了优化（性能、可扩展性、简洁之间的比较）。为了确信一个工具软件在既定场合下功能够满足需求，可以下载下来，试用一下。

使用闭源软件的话，你就用不着对付那么多的选择。你只需要在每个领域探索两三个大厂商提供的产品。如果供应商没有提供免费试用版本，或者很难说服你为试用品买单，甚至根本不和你签署试用协议，那你就节省时间了。

### 5. 你不必四处找幻灯片

如果打算找一些软件的会议简报，架构图表，截图，以及其他相关的文档，这需要花费一定的时间。使用开源软件，你得读百科，访问论坛，还有邮件列表，才能获取到你需要的相关组件的信息。

使用闭源软件，一通电话就足够了，只需坐在自己舒适的办公室，会有西装革履的专业人士把PowerPoint演示文稿寄送到你的面前。当然，在你提供自己的联系方式之前，销售人员是不会给你打电话的。这样看来，至少自己没必要在网上搜索带有漂亮的图形的PPT。

### 6. 你无需到处寻求技术支持

你可以得到来自开源社区，自己的工程师，或专业开源组织的帮助。这可能需要一些时间，以决定是否要服务等级协议（SLA）的支持，以便于在保证的时间内得到答复，就像从OpenLogic那里获得帮助一样，或者如果你可以自由的发问题到邮件列表，自己解决。

闭源就不同了，你根本不需要担忧从哪获得帮助。而且，你可能根本用不着和工程师当面交谈，只需要知道给谁打电话就OK了。

### 7. 认输就行了

开源软件，总会有办法解决问题，打补丁，改善，强化，重构，升级，或者重写。没可能跟闭源那样，甩手走开。当然，你可以谩骂开发出这个导致问题的软件的社区，但是你仍然可以解决问题，从社区或者组织那里获得帮助，或者自己动手解决。 而对于商业供应商，那就远不能满足于骂一顿和花费一天的时间来找他们。

嗯，你都了解了。为甚么闭源优于开源的几条缘由。你还有要补充的吗？

---

via: <http://opensource.com/business/13/10/seven-reasons-closed-better-than-open-source>

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

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


Ubuntu每日小技巧：通过PPA升级你的LibreOffice

Summary:
对于每一个你新安装的Ubuntu系统，你都会拥有一个可以让你办公的办公工具LibreOffice。很多人都知道微软公司的的Word、Excel、PowerPoint和Outlook，但是很少有人知道LibreOffice。
LibreOffice靠来自全世界的志愿者 ...

# Ubuntu每日小技巧：通过PPA升级你的LibreOffice

对于每一个你新安装的Ubuntu系统，你都会拥有一个可以让你办公的办公工具——LibreOffice。很多人都知道微软公司的的Word、Excel、PowerPoint和Outlook，但是很少有人知道LibreOffice。

LibreOffice靠来自全世界的志愿者来维护，由一个慈善基金会支持。它是Linux社区的一款主要的免费办公工具。它可以安装在Windows，Mac OS X和Linux等系统的计算机上。

就在5天前（译注：好吧，这个翻译稿拖了5天了~~，原文为“今天”。），一个新的版本将面向公众开放了。Windows，Mac OS X和Linux用户可以直接从下载页面下载最新版本了。

Ubuntu用户拥有添加LibreOffice软件仓库到自己的电脑来安装升级最新版的优势。如果你想要在最新版本可用时最快的得到它，这种方法将会很有用。

最新的LibreOffice套装版本是4.1。每一个后续的版本可以立即在4.1的仓库中找到，直到新的主线版本比如4.2的推出。

所以，为了在Ubuntu中自动的升级，请添加下面的软件仓库地址。

```
sudo add-apt-repository ppa:libreoffice/ppa
```

接着，运行如下命令来升级最新的LibreOffice。

```
sudo apt-get update && sudo apt-get dist-upgrade
```

这样就好了。当你添加上面的仓库然后升级系统，Ubuntu将会自动的下载安装最新的LibreOffice版本。

Windows和Mac OS X用户可以直接在程序套件中升级或者直接从网页中下载。

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

Enjoy!

---

via: <http://www.liberiangeek.net/2013/11/daily-ubuntu-tipsupdate-to-libreoffice-latest-in-ubuntu-via-ppa/>

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

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


Xen的十年：从恐龙进化到鸟类

Summary:
Xen Hypervisor 项目原来是上世纪90年代末剑桥大学 Xenoserver 项目的子项目。Xenoserver 有一个宏大的目标：
这个宏大目标就是建立一个大规模的分布式计算系统的公共基础框架。想像一下，当 Xenoserver 执行平台布  ...

# Xen的十年：从恐龙进化到鸟类

Xen Hypervisor 项目原来是上世纪90年代末[剑桥大学](http://www.cl.cam.ac.uk/research/srg/netos/xen/index.html) [Xenoserver](http://www.cl.cam.ac.uk/research/srg/netos/xeno/) 项目的子项目。Xenoserver 有一个宏大的目标：

这个宏大目标就是建立一个大规模的分布式计算系统的公共基础框架。想像一下，当 Xenoserver 执行平台布署在全世界范围内，所有人都可以共享可执行代码，代码贡献者可以按代码被执行时产生的硬件消耗收取一定的费用。这将会鼓励负载均衡、消除单点瓶颈，甚至可以在这个平台上实现营利。

在今天，这种模式被称为“云计算”。而 Xen Hypervisor （确切来说是现在的 Xen Hypervisor）是最大的云平台。不仅亚马逊 Web 服务（AWS）和 Rackspace 公有云是基于 Xen 的，就连最近的大规模云平台[Verizon公有云](http://www.techweekeurope.co.uk/news/verizon-public-cloud-launch-128724)也将 Xen 作为他们的服务供应基础。

### 10周岁生日快乐

2003年10月21日，Xen Hypervisor 在[第19届 ACM 计算机原理研讨会](http://www.cs.rochester.edu/meetings/sosp2003/papers.shtml)上作为一个开源项目首次出现在大众眼前。距今已经10年，在这里祝 Xen 项目生日快乐！

### 业界第一的劣势：像恐龙一样，不适者淘汰

有时候在自己领域内成为第一个开源项目是一个劣势，为什么这样说？缺少与同行的交流会导致项目失去控制。简单的例子是，缺乏竞争会引发自满情绪，而这种情况已经在 Xen 项目内部发生了！开始几年 Xen 项目未受到任何约束，变得狭隘，不再寻求突破，致使用户和开发者不再对它感兴趣。当它的第一个竞争对手 KVM 出现并壮大，Xen 社区甚至对此反应迟缓。

这种反应带来的后果是，用户难以加入这个项目，并且这个项目不能很好地与 Linux 内核、QEMU及 Linux 发布版共处。然后，Xen 社区名声变坏。然后，Canonical 和 RedHat 抛弃 Xen，投向 KVM 怀抱。Xen 项目向这个不断改变的世界宣告了自己的失败。名声不断变臭，到后来它被视为开源社区界的恐龙，被彻底淘汰只是时间问题。

### 快速转型：从恐龙进化到鸟类

像 Xen 一样能够从众多错误中回过神来的开源项目并不多，而 Xen 通过一系列措施做到了这一点。提出有效的管理方法、努力与其他开源项目合作、重启市场营销力量、踏踏实实与用户和开发者一起工作，这些努力终于让 Xen 获得新生。换句话说，Xen 已经完成从恐龙到鸟类的进化。如果你想知道我们是如何做到这点的，何不加入到我的 Linux 大会欧洲站的课题[Xen 项目：收获的教训](http://linuxconcloudopeneu2013.sched.org/event/68003c370760bcc2da7e3e8b59b6b50f)？其他你可能感兴趣的课题还有[加强你的 Xen 云的安全](http://linuxconcloudopeneu2013.sched.org/event/37ecfe02561cf264a02061d1927da26c)和[Xen：专为云设计的开源虚拟机管理程序](http://linuxconcloudopeneu2013.sched.org/event/bdca1274d9799646cdf2934dbde94ccd)。

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

*展翅高飞（或者说，给 Xen 这只行动缓慢的熊猫插上翅膀）*

### 展望未来：虚拟化技术的新领域

如果你正在搜索 Xen 项目，你会发现它的社区形式多样并且还在发展。从很多方面来说，它甚至比从前巅峰时期发展得更好。

现在 Xen 社区正在发生一些有意思的事情，一些 Xen 项目下的软件被用于非传统虚拟化技术。这也相应地为 Linux 社区增加了企业用户。在本周晚些时候开始的[Xen 项目开发者峰会](http://www.linux.com/news/software/applications/742053-a-great-line-up-of-speakers-at-xen-project-developer-summit)中我们将会见到两个安卓虚拟机如何运行在基于 Xen 的 Nexus 10 中，也会见到首次将 Xen 用于车载信息娱乐系统以及汽车应用系统中，同时我们还能见到 Xen 如何为诸如防火墙和NAT服务器这些中间体提供高性能应用。

当然，服务器虚拟化和云计算还有很长的路要走。展翅高飞吧（或者说，给 Xen 这只行动缓慢的熊猫插上翅膀）。

---

via: <http://www.linux.com/news/enterprise/cloud-computing/743330-10-years-of-xen-transforming-a-dinosaur-into-a-bird/>

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

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


在Linux中连接和使用云存储的三种途径

Summary: 个人云存储现在变得非常有用，因为你再也不用担心你把东西存储在什么地方了：你能很容易的获取你的文件，并时刻保持文件更新。在Linux上你也多种保持访问你的云存储。这一点非常棒，因为你可以使用你最喜欢的方式，  ...

# 在Linux中连接和使用云存储的三种途径

 个人云存储现在变得非常有用，因为你再也不用担心你把东西存储在什么地方了：你能很容易的获取你的文件，并时刻保持文件更新。在Linux上你也多种保持访问你的云存储。这一点非常棒，因为你可以使用你最喜欢的方式，哪怕你是个终端控。

### 使用官方客户端

使用这种方式的明显好处就是你可以通过使用他们各自的官方应用访问你的各种云存储。目前，提供官方Linux客户端的服务提供商有[SpiderOak](https://spideroak.com/opendownload/), [Dropbox](https://www.dropbox.com/install?os=lnx), [Ubuntu One](http://one.ubuntu.com/),[Copy](http://www.copy.com/)。[Ubuntu One](http://one.ubuntu.com/)虽不出名但的确是[一个不错的云存储竞争着](http://www.makeuseof.com/tag/ubuntu-unknown-worthy-contender-cloud-storage/)。[Copy](http://www.copy.com/)则提供比Dropbox更多的空间，是[Dropbox的替代选择之一](http://www.makeuseof.com/tag/copy-a-dropbox-alternative-with-more-storage-mac-linux-windows-ios-android/)。使用这些官方Linux客户端可以保持你的电脑与他们的服务器之间的通信，还可以让你进行属性设置，如选择性同步。

对于普通桌面用户，使用官方客户端是最好的选择，因为官方客户端可以提供最多的功能和最好的兼容性。使用它们也很简单，只需要下载他们对应你的发行版的软件包，然后安装安装完后在运行一下就Ok了。安装客户端时，它一般会指导你完成这些简单的过程。

### Dropbox：可以使用命令行脚本

假如你是Dropbox用户，你也可以通过终端命令行访问你的云存储。这种方式尤其适合于重度终端控，因为他们可以利用Dropbox提供的命令来写个脚本以便于执行自动任务。你可以运行以下命令来安装它（对于Debian，Ubuntu或者她们的衍生版 - 其它发行版可以使用相应的等价命令代替）：

```
sudo apt-get install curl
curl "https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o /tmp/dropbox_uploader.sh
sudo install /tmp/dropbox_uploader.sh /usr/local/bin/dropbox_uploader
dropbox_uploader

```

当你运行最后一条命令后，脚本会提醒你这是你第一次运行这个脚本。它将告诉你去浏览一个Dropbox的特定网页以便访问你的账户。它还会告诉你所有你需要放入网站的信息，这是为了让Dropbox给你App Key和App Secret以及赋予这个脚本你给予的访问权限。现在脚本就拥有了访问你账户的合法授权了。

这些一旦完成，你就可以这个脚本执行各种任务了，例如上传、下载、删除、移动、复制、创建文件夹、查看文件、共享文件、查看文件信息和取消共享。对于全部的语法解释，你可以查看一下[这个页面](https://github.com/andreafabrizi/Dropbox-Uploader)。

### 通过[Storage Made Easy](http://storagemadeeasy.com/)将SkyDrive带到Linux上

微软并没有提供SkyDrive的官方Linux客户端，这一点也不令人惊讶。但是你并不意味着你不能在Linux上访问SkyDrive，记住：SkyDrive的web版本是可用的。

但是假如你要把你的多个云存储合并在一起，或者你想有一个比较方便的方式在Linux上访问你的SkyDrive账户，你可以试试Storage Made Easy。这个第三方服务可以将它自己提供的云存储服务以及和多大三个其它的云存储服务整合在一起。更好的一点是：它提供官方Linux客户端，而且SkyDrive也是它支持的扩展云存储服务之一!

为了使用Stroage Made Easy，你首先需要创建一个他们的账号。完成账号创建后，你需要回到控制界面，选择“Add a Cloud Provider”。在这儿，你可以选择SkyDrive API 然后填入登录信息。添加完登录信息后，点击授权按钮以便给予必要的授权。然后，你就可以下载它的Linux客户端并安装它了。

第一次启动时。它会要求你登录，还有询问你要把云存储挂载到什么地方。在你做完了这些后，你就可以浏览你选择的文件夹，你还可以访问你的Storage Made Easy空间以及你的SkyDrive空间了！这种方法对于那些想在Linux上使用SkyDrive的人来说非常好，对于想把他们的多个云存储服务整合到一个地方的人来说也很不错。这种方法的缺点是你无法使用他们各自官方客户端中可以使用的特殊功能。

因为现在在你的Linux桌面上也可以使用SkyDrive，接下来你可能需要阅读一下我写的[SkyDrive与Google Drive的比较](http://www.makeuseof.com/tag/skydrive-vs-google-drive-which-is-best-for-office-productivity/)以便于知道究竟哪种更适合于你。

### 结论

正如你所见，本文提供了多种方式访问你的个人云存储。当然，假如你觉得你当前使用的就是最适合于你的，那么你无须更换。然而，举个例子，假如你是一个终端控，要去寻找可以在终端中与你的Dropbox账户进行交互的方式，你就可以按照本文提供的方法去做！美妙之处就在于你可以选择最适于你的方式。同时，你要保持你的思想开放，本文在这儿展示的工具和例子，在将来也许会有针对其它云存储服务的其它工具出现，让你可以更加自由灵活的使用。

你最喜欢哪种方式来访问你的云存储呢？哪种是你最理想的形式呢？请在评论栏里留言，让我们知道你的想法!

---

via: <http://www.makeuseof.com/tag/3-ways-to-access-and-use-cloud-storage-skydrive-etc-in-linux/>

译者：[Linux-pdz](https://github.com/Linux-pdz) 校对：[jasminepeng](https://github.com/jasminepeng)

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


十个鲜为人知的 Linux 命令 - Part 2

Summary:
继续上篇文章11个鲜为人知的实用Linux命令在本文中，我们将关注其他几个不为人知的Linux命令，有些在管理桌面和服务器方面被证明是非常有用的。

12. 空格 命令
你在终端上键入的每个命令都会记录到history，也能用h ...

# 十个鲜为人知的 Linux 命令 - Part 2

继续上篇文章[11个鲜为人知的实用Linux命令](http://linux.cn/article-2258-1.html)在本文中，我们将关注其他几个不为人知的Linux命令，有些在管理桌面和服务器方面被证明是非常有用的。

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

### 12. <空格> 命令

你在终端上键入的每个命令都会记录到**history**，也能用**history**命令重新调用。

如何骗过[history 命令](http://www.searchsv.com.cn/showcontent_77595.htm)呢？呵呵，你可以轻而易举地做到。在终端，只需要在键入命令之前输入一个或多个空格，这样你的命令就不会被记录了。

让我们体验一下吧，先在终端尝试五个常见的 Linux 命令并在命令之前留个空(例如\*\* ls, pwd, uname, echo “hi”\*\* 和 **who**)，然后检查这些命令是不是记录在历史中。

```
avi@localhost:~$  ls
avi@localhost:~$  pwd
avi@localhost:~$  uname
avi@localhost:~$  echo “hi”
avi@localhost:~$  who

```

现在运行 history 命令来查看上面已执行的命令是否已经被记录了.

```
avi@localhost:~$ history
   40  cd /dev/
   41  ls
   42  dd if=/dev/cdrom1 of=/home/avi/Desktop/squeeze.iso
   43  ping www.google.com
   44  su

```

你看到没有最后执行的命令没有被记录。我们也可以用另一个命令cat | bash欺骗history，结果跟上面一样。

### 13. stat 命令

Linux中的**stat**命令用来显示文件或文件系统的状态信息。当用文件名作为参数时，**stat**将会展示文件的全部信息。状态信息包括文件 **大小、块、权限、访问时间、修改时间、状态改变时间**等。

```
avi@localhost:~$ stat 34.odt
  File: `34.odt'
  Size: 28822   Blocks: 64 IO Block: 4096   regular file
Device: 801h/2049d  Inode: 5030293 Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ avi)   Gid: ( 1000/ avi)
Access: 2013-10-14 00:17:40.000000000 +0530
Modify: 2013-10-01 15:20:17.000000000 +0530
Change: 2013-10-01 15:20:17.000000000 +0530

```

### 14. + . 和 + .

上面的组合键事实上不是一个命令，而是传递最后一个命令参数到提示符后的快捷键，以输入命令的倒序方式传递命令。按住 Alt或Esc再按一下 “.”。

### 15. pv 命令

在**电影**里尤其是**好莱坞电影**你可能已经看见过模拟文本了，像是在实时输入文字，你可以用**pv**命令仿照任何类型模拟风的文本输出，包括流水线输出。**pv**可能没有在你的系统上安装，你需要用**apt**或**yum**获取安装包，然后安装**pv**到你的机器。

```
root@localhost:# echo "Tecmint [dot] com is the world's best website for qualitative Linux article" | pv -qL 20

```

**输出样式**

```
Tecmint [dot] com is the world''s best website for qualitative Linux article

```

### 16. mount | colum -t

上面的命令用一个很不错的格式与规范列出了所有挂载文件系统。

```
avi@localhost:~$ mount | column -t

```

**输出样式**

```
/dev/sda1on  / type  ext3 (rw,errors=remount-ro)
tmpfson  /lib/init/rw  type  tmpfs(rw,nosuid,mode=0755)
proc on  /proc type  proc (rw,noexec,nosuid,nodev)
sysfson  /sys  type  sysfs(rw,noexec,nosuid,nodev)
udev on  /dev  type  tmpfs(rw,mode=0755)
tmpfson  /dev/shm  type  tmpfs(rw,nosuid,nodev)
devpts   on  /dev/pts  type  devpts   (rw,noexec,nosuid,gid=5,mode=620)
fusectl  on  /sys/fs/fuse/connections  type  fusectl  (rw)
binfmt_misc  on  /proc/sys/fs/binfmt_misc  type  binfmt_misc  (rw,noexec,nosuid,nodev)
nfsd on  /proc/fs/nfsd type  nfsd (rw)

```

### 17. Ctr+l 命令

在进行下一步之前，我先问一下，你是如何清理你的终端？呵呵，你会在提示符后键入 “**clear**”。好的。用上面的命令执行清理终端都将成为过去。你只需要按下**Ctr+l**，看看它如何立即清理你的终端。

### 18. curl 命令

在**命令行**下如何检查你的**未读邮件**？这个命令对于工作在没有图形界面的服务器的人佷有用。它会在运行期间再次要求输入密码，你不需要在上面一行硬编码你的密码，否则会有其它安全风险。

```
avi@localhost:~$ curl -u avishek1210@gmail.com --silent "https://mail.google.com/mail/feed/atom" | perl -ne 'print \t if //; print "$2\n" if /<(title|name)>(.*)<\/\1>/;'

```

**输出样式**

```
Enter host password for user 'avishek1210@gmail.com':
Gmail - Inbox for avishek1210@gmail.com
People offering cars in Delhi - Oct 26
    Quikr Alerts
another dependency question
    Chris Bannister
    Ralf Mardorf
    Reco
    Brian
    François Patte
    Curt
    Siard
    berenger.morel
Hi Avishek - Download your Free MBA Brochure Now...
    Diya
★Top Best Sellers Of The Week, Take Your Pick★
    Timesdeal
aptitude misconfigure?
    Glenn English
Choosing Debian version or derivative to run Wine when resource poor
    Chris Bannister
    Zenaan Harkness
    Curt
    Tom H
    Richard Owlett
    Ralf Mardorf
    Rob Owens

```

### 19.screen 命令

**screen**命令能断开一个会话下的一个长时间运行的进程并能再次连接，如有需要，也提供了灵活的命令选项

要运行一个长时间的进程，我们通常执行

```
avi@localhost:~$ ./long-unix-script.sh

```

缺乏灵活性，需要用户持续当前的会话，但是如果我们执行上面的命令是：

```
avi@localhost:~$ screen ./long-unix-script.sh

```

它能在不同会话间断开或重连。当一个命令正在执行时按“**Ctrl + A**”然后再按“**d**”来**断开**。

重新连接运行：

```
avi@localhost:~$ screen -r 4980.pts-0.localhost

```

**注解**：在这里，这个命令的稍后的部分是**screen id**，你能用‘**screen -ls**’命令查看。欲了解更多关于**screen命令**和它们的用法，请阅读我们的一些帮助文章：[10 个screen命令的示例](http://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/)。

### 20. file

No!写上面的命令不是笔误. ‘**file**’是一个能提供关于文件类型信息的命令。

```
avi@localhost:~$ file 34.odt
34.odt: OpenDocument Text

```

### 21. id

上面的命令会打印真正的和有效的**用户**和**组**的id。

```
avi@localhost:~$ id

```

**输出样式**

```
uid=1000(avi) gid=1000(avi)
groups=1000(avi),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev),111(bluetooth),117(scanner)

```

到此为止，鉴于这个系列的最新的这篇文章的成功，我将会尽快推出另外几部分文章继续**鲜为人知的Linux命令**。到时候，敬请关注Tecmint.不要忘记给我们提供你的**反馈**和**评论**。

---

via: <http://www.tecmint.com/10-lesser-known-linux-commands-part-2/>

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

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


让Linux更加可用（Accessibility）

Summary: 一个令人吃惊的事实是，至少十亿人或多或少有着某种程度的残疾。就是说全球大约15%的人在生理上、感知上、心智上会有缺陷，导致他们难以活动、观看、收听以及学习。世界上3.5亿人有不同程度的视觉障碍。计算机技术发 ...

# 让Linux更加可用（Accessibility）

一个令人吃惊的事实是，至少十亿人或多或少有着某种程度的残疾。就是说全球大约15%的人在生理上、感知上、心智上会有缺陷，导致他们难以活动、观看、收听以及学习。世界上3.5亿人有不同程度的视觉障碍。计算机技术发展地越快，这些人就越会被疏远，除非计算机软件的开发可以满足他们的需求。

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

可用性是表示一个产品、设备、服务或者环境在不考虑具体细节的情况下能被多少人使用的程度。可用性可以被看作接触和利用一个系统或者实体的能力。可用性至关重要，社会和谐不是一个慈善行动，而是人类基本的权利。

我们见证了Linux软件和发行版本在使每个人融入社会方面做的突出贡献。举个例子来说，GNOME Accessibility Project 为图形界面用户开发了开源的可用性解决方案。Ubuntu有一个可用性团队致力于使Ubuntu能被更广范围的人使用。不得不提的是Vinux Project，一个基于Ubuntu的发行版本，针对失明和视力有障碍的用户进行了优化。

也有很多单独的应用软件提供了不同的可用性功能。这篇文章试图找出一些顶尖的开源软件，它们能帮助人们充分利用计算机技术，不论他们的生理和知觉功能如何。

让我们了解一下手边的8个通用辅助工具。我们为每个应用编写了它字节的入口页面，完整地、深入地分析了它们的功能，包含截屏和相关资源链接。

### 通用辅助

* [Easystroke](http://sourceforge.net/apps/trac/easystroke/) 鼠标手势识别软件
* [Simon](http://simon-listens.org/) 灵活的语音识别软件
* [Orca Screen Reader](https://wiki.gnome.org/Orca) 可编程的屏幕阅读器
* [Julius](http://julius.sourceforge.jp/) Two-pass策略的大词汇持续语音识别引擎
* [Florence Virtual Keyboard](http://florence.sourceforge.net/english.html) 扩展的可伸缩虚拟键盘
* [Caribou](https://wiki.gnome.org/Caribou) 可配置的带有扫描模式的屏幕键盘
* [Dasher](http://www.inference.phy.cam.ac.uk/dasher/) 图形化的预测文本输入系统
* [xvkbd](http://homepage3.nifty.com/tsato/xvkbd/) 虚拟（图形）键盘系统

---

via: <http://www.linuxlinks.com/article/20131109042823957/UniversalAccess.html>

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

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


如何在linux上通过GRUB添加内核参数

Summary:
我们可以在linux内核启动时为其提供各种各样的参数。这些参数可以自定义内核默认的行为，或者通知内核关于硬件的配置信息。内核参数应在内核启动时通过引导装载程序，如GRUB或LILO传递给内核。
在本教程中，我将会描 ...

# 如何在linux上通过GRUB添加内核参数

我们可以在linux内核启动时为其提供各种各样的参数。这些参数可以自定义内核默认的行为，或者通知内核关于硬件的配置信息。内核参数应在内核启动时通过引导装载程序，如GRUB或LILO传递给内核。

在本教程中，我将会描述**如何在linux上通过GRUB添加内核参数**。

如果你在使用GRUB引导装载程序，想修改或添加内核参数，你可以编辑GRUB配置文件。下面是针对特定发行版在GRUB的配置文件中添加内核启动参数的方法。

### 在Debian或Ubuntu上添加内核启动参数

在基于Debian的系统上，如果你想在系统启动时添加内核参数，你可以编辑 /etc/default/grub 目录下的GRUB配置模板。在 GRUB\_CMDLINE\_LINUX\_DEFAULT 变量中以 “name=value” 的格式添加内核参数。

```
$ sudo -e /etc/default/grub
```

>
> GRUB\_CMDLINE\_LINUX\_DEFAULT="...... name=value"
>
>
>

然后运行下面的命令来生成一个GRUB的配置文件。

```
$ sudo update-grub
```

如果无法找到 update-grub 命令，你可以通过下面的命令安装它。

```
$ sudo apt-get install grub2-common
```

### 在Fedora上添加内核启动参数

在Fedora上，想要在启动时添加内核参数，你可以编辑 /etc/default/grub目录下的 GRUB 配置模板。在 GRUB\_CMDLINE\_LINUX 变量中以 “name=value” 的格式添加内核参数。

```
$ sudo -e /etc/default/grub
```

>
> GRUB\_CMDLINE\_LINUX="...... name=value"
>
>
>

然后运行下面的命令生成 GRUB2 配置文件。

```
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
```

### 在CentOS上添加内核启动参数

在CentOS上，想要在启动时添加内核参数，你可以直接编辑GRUB配置文件 /boot/grub/grub.conf。在配置文件中，找到描述默认使用的Linux映像的条目。文件中最顶行的字符串 “default=N”会指示哪一个条目是默认的映像。

[<img src="content_image/album_201311_18_133936wgnnpwxgumw79ywf.jpg" alt="" title="">](http://www.flickr.com/photos/xmodulo/10618657834/)

找到默认的映像条目后，在以 “kernel /vmlinuz-” 开头的那一段的结尾附加上内核参数。参数的格式为 “name=value” 。

---

via: <http://xmodulo.com/2013/11/add-kernel-boot-parameters-via-grub-linux.html>

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

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


米科·哈普宁：开源软件将使世界更安全

Summary:
安全专家米科哈普宁(Mikko Hypponen)于上周在爱丁堡举行的LinuxCon and CloudOpen Europe会议上的主题演讲中说：开源软件可以作为一个方法来打击全球监视无辜居民的行为。

米科哈普宁，芬兰F-Secure的首席研究员，  ...

# 米科·哈普宁：开源软件将使世界更安全

安全专家米科·哈普宁(Mikko Hypponen)于上周在爱丁堡举行的[LinuxCon and CloudOpen Europe](http://events.linuxfoundation.org/events/linuxcon-europe)会议上的主题演讲中说：“开源软件可以作为一个方法来打击全球监视无辜居民的行为。”

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

*米科·哈普宁，芬兰F-Secure的首席研究员，在爱丁堡举行的LinuxCon and CloudOpen Europe 2013会议上讲话。*

计算和全球网络增加的进步使得存储和传输数据变得便宜且简单。哈普宁说这创造了无比的连通性、进步和创新，但是同样使得大规模的数据被访问到就像NSA的棱镜项目揭示的那样，这事件随着前美国政府员工爱德华·斯诺登(Edward Snowden)泄漏的一系列顶级机密文件而公开。

哈普宁，芬兰F-Secure的首席研究员说：“前几年我们已经意识到数据是廉价的。我们永远不必再删除任何数据。这促成了很多伟大的事情，但同样也引发了大规模地毯式的监视。”

哈普宁说：“这些监视会访问我们的个人数据，包括电话记录、地理位置、电子邮件和搜索引擎请求，有些可能是被授权的。”

他说：“我相信一些监控是好的。如果有一项研究来找出校园枪击者或者毒枭或者恐怖组织成员等等，我们应该已经有技术手段这么做，但是我们首先必须持有怀疑。”

哈普宁说：“但是收集通信和每个人的个人数据不仅是对隐私的侵犯，还是对民主的威胁。”

他说：“即使你如今对政府的行为认可，但是我们不知道政府会在今后的20年怎么样。如果他们有你20年的搜索数据，他们会找出一些非法的或者令人尴尬的理由来扭曲你的手。”

哈普宁说：“虽然泄漏事件使得一些IT专家质疑他们的数据存储的安全性和经由美国服务商的的路由，但绕开这些公司和服务不能解决问题。同样不能每个国家都花费和金钱来建造他们自己的替代品。”

哈普宁说：“要跨越国际边际地工作，开发者应该团结起来建造一个安全和可靠的软件和服务来防止后门篡改和用户隐私。”

他说：“我建议开源软件对这个问题提供一个解决方案。那么国家就不必独自做这件事。这将会变得安全、开放和免费。”

---

via: <http://www.linux.com/news/featured-blogs/200-libby-clark/745585-mikko-hypponen-open-source-software-will-make-the-world-more-secure>

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

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


戴文的Linux内核专题：09 配置内核(5)

Summary:
Linux内核拥有许多可以配置的特性，接下来我们还有许多要配置。

下一个可以配置的特性是x86的随机数生成器(x86 architectural random number generator (ARCH_RANDOM))。记住，我们现在配置的是针对AMD64系统的内核 ...

# 戴文的Linux内核专题：09 配置内核(5)

Linux内核拥有许多可以配置的特性，接下来我们还有许多要配置。

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

下一个可以配置的特性是x86的随机数生成器(x86 architectural random number generator (ARCH\_RANDOM))。记住，我们现在配置的是针对AMD64系统的内核代码。这个随机数生成器使用Intel x86的RDRAND指令。这并不通用，所以为了一个更轻量的内核我禁用了它。

接着，我们可以启用或者禁用"Supervisor Mode Access Prevention (X86\_SMAP)"。这是Intel处理器使用的安全特性。SMAP在一些条件下只允许内核访问用户空间。这个有助于保护用户空间。如果启用，这里有一点性能和内核大小的开销，但是开销很小。由于我是用的是AMD系统，所以我禁用了这个特性。

开发者可以启用"EFI runtime service support (EFI)"。只有在有EFI固件的系统上启用它。拥有这个特性，内核可以使用的EFI服务。EFI是一个操作系统和硬件如何交流的规范，所以EFI固件是使用这个规范的硬件代码。因为我没有EFI固件，所以我禁用了它。

这是一个应该被启用的有用的安全方式(Enable seccomp to safely compute untrusted bytecode (SECCOMP))。这个安全特性在使用非可信的字节码的数值计算(执行大量计算的软件)中使用。字节码(可移植代码)是一种被解释器有效读取的代码。字节码不是源代码，但它也不是汇编或者二进制代码。非可信的代码是一种可能导致系统/数据损坏的代码。可能会破坏系统或者毁坏数据的非可信的代码通过seccomp被隔离在独立的地址空间中。这是通过文件描述符传输的方法。通常上，最好启用这个安全特性，即使会有一些性能开销，除非你在制作一个需要榨干性能的内核。

这里是另外一个安全特性(Enable -fstack-protector buffer overflow detection (CC\_STACKPROTECTOR))。缓冲溢出是数据被写在超出了它的内存界限而进入了邻近的内存中。这是一个安全威胁。一些恶意软件使用缓冲区溢出来破坏系统。启用这个会使用GCC选项 "-fstack-protector"。GCC是一个Linux编译器，在你配置完成后用它来编译内核。这个编译器参数会在返回地址前在栈上加入一个canary值(特殊的安全代码)。这个值会在返回前被验证。当内存溢出发生时，canary值会得到覆盖消息。这时，会导致内核崩溃。如许多人知道的那样，内核错误意味着系统将要崩溃，但是这比系统被入侵或者数据永久损害的好。发生内核错误，系统会重启，但是如果缓冲溢出则可能导致系统被入侵。一个简单的重启无法修复破坏（译注：但也不会更坏）。你必须用GCC 4.2或者更高版本支持这个参数的GCC来编译内核。

提示：要知道你使用的版本号，在命令行内键入"gcc --version"。

在这之后，我们可以配置定时器频率。配置工具建议使用250Hz，所以我们使用这个值。

Timer frequency

1. 100 HZ (HZ\_100)

>2. 250 HZ (HZ\_250)

3. 300 HZ (HZ\_300)

4. 1000 HZ (HZ\_1000)

choice[1-4?]: 2

使用1000Hz通常来讲对许多系统而言太快了。定时器频率决定着定时器中断被使用的频率。这有助于在时间线上的系统操作。程序并不是随机地执行一条命令，相反它们会等到定时器中断结束。这保持着有组织和结构的处理。频率为100Hz的定时器中断之间的时间是10ms，250Hz是4ms，1000Hz是1ms。现在许多开发者会马上想到1000Hz是最好的。好吧，这取决于你对开销的要求。一个更大的定时器频率意味着更多的能源消耗和更多的能源被利用(在定时器上)，产生更多的热量。更多的热量意味着硬件损耗的更快。

注意：如果某个特定的特性对你并不重要或者你不确定该选择什么，就使用配置工具选择的默认值。比如，就我现在正在配置的内核而言，使用哪个定时器对我并不重要。总的来说，如果你没有特别的原因去选择任何一个选项时，就使用默认值。

下面这个有趣的系统调用可能会对一些用户有用(kexec system call (KEXEC))。kexec调用会关闭当前内核去启动另外一个或者重启当前内核。硬件并不会关闭，并且这个调用可以无需固件的帮助工作。bootloader是不执行的(bootloader是启动操作系统的软件) 。这个重启发生在操作系统级别上而不是硬件上。使用这个系统调用会快于执行一个标准的关机或者重启，这会保持硬件在加电状态。这个系统调用并不能工作在所有系统上。为了更高性能，启用这个热启动功能。

为了使用kexec，对重启后要使用的内核使用如下命令替换""。同样，使用之前我们讲过的内核参数替换"" (我会在以后的文章中更深入的讨论。)

```
kexec -l --append="”
```

特别地，我这里输入：

```
kexec -l /boot/vmlinuz-3.8.0-27-generic –append="root=/dev/sda1"
```

注意：硬件有时不需要重置，所以这不依赖于kexec。

下面，我们有一个适用于kexec的调试特性(kernel crash dumps (CRASH\_DUMP))。当kexec被调用时，一个崩溃信息(crash dump)会生成。除非你有必要调试kexec，否则这个并不必要。我禁用了这个特性。

再者，我们有另外一个kexec特性(kexec jump (KEXEC\_JUMP))。kexec跳允许用户在原始内核和kexec启动的内核之间切换。

最好对内核启动地址使用默认值(Physical address where the kernel is loaded (PHYSICAL\_START) [0x1000000])。

下一个内核选项(Build a relocatable kernel (RELOCATABLE))允许内核放在内存的任何地方。内核文件会增大10%，但是超出部分会在执行时从内存移除。许多人也许想知道这为什么很重要。在2.6.20内核前，救援内核(rescue kernel)必须被配置和编译运行在不同的内存地址上。当这个特性发明后，开发者不必再编译两个内核。救援内核不会在第一个已加载的内核的地方加载，因为该块内存已被占用或者发生了错误。(如果你正在使用救援内核，那么明显第一个内核发生了错误)

下面这个特性应该在可以增加CPU数量的系统中启用，除非你有特别的理由不去这么做(Support for hot-pluggable CPUs (HOTPLUG\_CPU))。配置工具会自动启用这个特性。在这个特性下，你可以在一个拥有很多处理器的系统上激活/停用一个CPU，这并不是说在系统中插入新的CPU，所有的CPU必须已经安装在系统中。

下面的选项会让我们选择设置上面的特性是否默认启用(Set default setting of cpu0*hotpluggable (BOOTPARAM\*HOTPLUG\_CPU0))。为了性能最好禁用这个特性直到需要的时候。

接着的这个调试特性允许开发者调试CPU热插拔特性(Debug CPU0 hotplug (DEBUG\_HOTPLUG\_CPU0))。我禁用了它。

为了兼容旧版本的glibc(

如果系统内核被用于一个缺乏完整功能的bootloader上，那么启用这个特性(Built-in kernel command line (CMDLINE\_BOOL))。这允许用户在内核自身上使用一条命令行（译注：及其参数），那么管理员可以修复内核问题。如果bootloader已经有了一条命令行(像grub)，那么这个特性不必启用。

现在我们可以配置ACPI和电源了。首先,我们被要求选择系统是否可以挂起到内存(Suspend to RAM and standby (SUSPEND))。高级配置和电源接口(ACPI)是一种对于设备配置和电源管理的开放标准。挂起系统会将数据放在内存上，同时硬件进入一种低功耗的状态。系统不会完全关机。如果用户需要计算机进入一个低功耗的状态，但是希望保留当前已打开程序时是非常有用的。关闭一个系统会完全关闭系统电源并且清理内存。

下面，我们可以启用睡眠(Hibernation (aka 'suspend to disk') (HIBERNATION))。睡眠就像挂起模式，但是内存中所有数据被保存到硬盘上，并且设备完全关闭。这允许用户在电源恢复后继续使用他们已打开的程序。

这里,我们可以设置默认的恢复分区(Default resume partition (PM\_STD\_PARTITION))。很少有开发者和管理员需要这个特性。当系统从睡眠中恢复时，他会加载默认的恢复分区。

在这之后,我们可以启用"Opportunistic sleep (PM\_AUTOSLEEP)"。这会让内核在没有活跃的唤醒调用被调用时进入挂起或者睡眠状态。这意味着空闲的系统将会进入挂起模式以节省电源。我启用了这个特性。

接下来，是询问关于"User space wakeup sources interface (PM\_WAKELOCKS)"。启用这个特性将会允许唤醒源对象被激活、停用，并通过基于sysfs接口由用户空间创建。唤醒源对象会追踪唤醒事件源。

sysfs是位于/sys/的虚拟文件系统。这个虚拟文件系统包含了关于设备的信息。当进入/sys/时，它似乎是硬盘的一部分，但是这个并不是一个真正的挂载点。这些文件实际存在于内存中。这与/proc/是同一个概念。

注意:"/sysfs/"是一个文件夹，而"/sysfs"则可以是一个根目录下名为"sysfs"的文件。许多Linux用户会混淆这两种命名约定。

如果启用了上面的选项,那么你可以设置"Maximum number of user space wakeup sources (0 = no limit) (PM\_WAKELOCKS\_LIMIT)"。最好选择默认，那么你就可以启用垃圾收集器(Garbage collector for user space wakeup sources (PM\_WAKELOCKS\_GC))。垃圾收集是一种内存管理方式。

注意: 在需要更多内存的系统中，通常最好在大多数情况下尽可能启用垃圾收集。不然内存会消耗得更快且杂乱。

下一个电源选项关于IO设备(Run-time PM core functionality (PM\_RUNTIME))。这个选项允许IO硬件在运行时进入低功耗状态。硬件必须支持这个才行，不是所有硬件都支持。

与其他许多内核组件一样，如果启用了(Power Management Debug Support)，电源管理代码同样有调试支持。我禁用了这个选项。

注意: 注意这些我引用/显示的配置工具上的选项或问题不再显示选项代码(括号间所有的大写字母)。这是因为我没有使用基于ncurses的配置工具(make menuconfig)而是使用默认工具去得到选项、设置和问题。记住，"make config"缺乏保存当前进度的能力。

在这之后,配置工具会启用"ACPI (Advanced Configuration and Power Interface) Support"。最好允许这个电源管理规范。通常配置工具会启用这个特性。

为了允许向后兼容，启用"Deprecated /proc/acpi files"。新的实现使用更新的在/sys下的实现。我禁用了这个选项。一个相似的问题询问关于"Deprecated power /proc/acpi directories"。通常上,如果你禁用了这些文件，你不再需要这些文件夹，所以我禁用了他们。一些旧的程序可能会使用这些文件和文件夹。如果你在给旧的的Linux系统上编译一个新的内核，最好启用这个选项。

下面，我们有另外一个文件接口可以启用或者禁用(EC read/write access through)。这会在/sys/kernek/debug/ec下创建一个嵌入式控制器接口。嵌入式控制器通常在笔记本中读取传感器，内核代码通过系统的BIOS表提供的ACPI代码访问嵌入式控制器。

这里有另外一个可以启用或者禁用的向后兼容特性 (Deprecated /proc/acpi/event support)。acpi守护进程可能会读取/proc/api/event来管理ACPI生成的驱动。不同于这个接口，守护进程使用netlink事件或者输入层来得到送给用户空间的事件，acpi守护进程管理ACPI事件。

下一个选项允许开发者启用一个特性，它会通知内核现在使用的是交流电源(AC Adapter)还是电池。下一个选项从/proc/acpi/battery/ (Battery)中提供电池信息。

为了内核在电源/睡眠按钮按下或者盖子合上时不同表现，启用这个“按钮”选项(Button)。这些事件在/proc/acpi/event/中控制。比如这样的行为，如果在用户账户的电源选项启用了挂起，当笔记本电脑的盖子关闭后系统将会挂起。

下一个ACPI扩展是针对显卡的(Video)。

ACPI风扇控制可以被启用/禁用(Fan)。最好启用ACPI风扇管理，这有助于节能。

我们正在进一步配置内核中，但在接下来的文章中还有更多要做。

---

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

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

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


如何在Ubuntu 13.10上安装Linux内核 3.12

Summary:
Ubuntu 13.10 的用户不必再用羡慕的眼神看着新版Linux内核发布，他们也可以相对轻松地更新他们的系统。

Canonical公司一贯的做法是，在整个开发周期中始终使用一个Linux内核。例如，Ubuntu 13.10始终基于Linux内核  ...

# 如何在Ubuntu 13.10上安装Linux内核 3.12

**Ubuntu 13.10 的用户不必再用羡慕的眼神看着新版Linux内核发布，他们也可以相对轻松地更新他们的系统。**

Canonical公司一贯的做法是，在整个开发周期中始终使用一个Linux内核。例如，Ubuntu 13.10始终基于Linux内核 3.11，但现在已经推出一个新的稳定的Linux内核3.12。

Ubuntu用户只有等到14.04 LTS发布以后，才能得到一个较新版本的Linux内核，但到那之前他们也可以选择安装新的版本。

不过，我们必须从一开始就提醒你。Canonical不建议你更新官方渠道以外的Linux内核版本。这不是一个完全安全的过程，你以后可能会遇到问题，甚至系统故障。但另一方面，你的系统性能可能会得到提升。

你将要下载的内核来自Canonical公司，这意味着它已经在.deb格式。你不需要再自己编译。打开一个终端，导航到Downloads文件夹，输入以下命令：

```
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb

```

如果你有一个32位的操作系统，你也可以下载32位版本。可见只需替换链接中的64bit为32bit即可，[点此下载](http://kernel.ubuntu.com/%7Ekernel-ppa/mainline/v3.12-saucy/).

现在,你将像运行任何其它程序一样运行这些.deb文件。在你下载软件包的同一个终端，输入下面的命令（你需要root权限才能正常运行）：

```
sudo dpkg -i linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb
sudo dpkg -i linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb

```

此过程结束后，你需要重启系统。瞧，新版本的Linux内核更新成功。好消息是，旧版本内核仍然存在，如果你要删除3.12版的内核，只需使用众所周知命令。

```
sudo apt-get purge linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb sudo apt-get linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb
```

记住，以上所示的文件名变化很快。如果无法下载，请更新新的链接。 开始享受Linux 3.12内核吧！

---

来源于: <http://news.softpedia.com/news/How-to-Install-Linux-Kerrnel-3-12-in-Ubuntu-13-10-397013.shtml>

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

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