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

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

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

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

![](/data/attachment/album/201311/14/232609hz78v4y467b5ey67.png)

针对闭源……

### 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系统，你都会拥有一个可以让你办公的办公工具——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用户可以直接在程序套件中升级或者直接从网页中下载。

![](/data/attachment/album/201311/14/2332483kbbin3b24qis4qi.png)

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 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)。

![](/data/attachment/album/201311/17/225106fffpvqpg4ofrrxxv.jpg)

*展翅高飞（或者说，给 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上你也多种保持访问你的云存储。这一点非常棒，因为你可以使用你最喜欢的方式，  ...

![](/data/attachment/album/201509/14/230259v8f01fgd3pf8300t.jpg) 个人云存储现在变得非常有用，因为你再也不用担心你把东西存储在什么地方了：你能很容易的获取你的文件，并时刻保持文件更新。在Linux上你也多种保持访问你的云存储。这一点非常棒，因为你可以使用你最喜欢的方式，哪怕你是个终端控。

### 使用官方客户端

![](/data/attachment/album/201509/14/230300z3pkdcexx3tp1xzx.jpg)

使用这种方式的明显好处就是你可以通过使用他们各自的官方应用访问你的各种云存储。目前，提供官方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

```

![](/data/attachment/album/201509/14/230302dv1701gr6rttf1bc.jpg)

当你运行最后一条命令后，脚本会提醒你这是你第一次运行这个脚本。它将告诉你去浏览一个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也是它支持的扩展云存储服务之一!

![](/data/attachment/album/201509/14/230302mr3esbu2rgnrrtrp.jpg)

为了使用Stroage Made Easy，你首先需要创建一个他们的账号。完成账号创建后，你需要回到控制界面，选择“Add a Cloud Provider”。在这儿，你可以选择SkyDrive API 然后填入登录信息。添加完登录信息后，点击授权按钮以便给予必要的授权。然后，你就可以下载它的Linux客户端并安装它了。

![](/data/attachment/album/201509/14/230303y8d22g4f5wz41k4j.jpg)

第一次启动时。它会要求你登录，还有询问你要把云存储挂载到什么地方。在你做完了这些后，你就可以浏览你选择的文件夹，你还可以访问你的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 ...

继续上篇文章[11个鲜为人知的实用Linux命令](http://linux.cn/article-2258-1.html)在本文中，我们将关注其他几个不为人知的Linux命令，有些在管理桌面和服务器方面被证明是非常有用的。

![](/data/attachment/album/201311/17/0038339osy4qs07nqz9qjy.png)

### 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亿人有不同程度的视觉障碍。计算机技术发 ...

一个令人吃惊的事实是，至少十亿人或多或少有着某种程度的残疾。就是说全球大约15%的人在生理上、感知上、心智上会有缺陷，导致他们难以活动、观看、收听以及学习。世界上3.5亿人有不同程度的视觉障碍。计算机技术发展地越快，这些人就越会被疏远，除非计算机软件的开发可以满足他们的需求。

![](/data/attachment/album/201311/18/132443z94wa2w1os39idaw.jpg)

可用性是表示一个产品、设备、服务或者环境在不考虑具体细节的情况下能被多少人使用的程度。可用性可以被看作接触和利用一个系统或者实体的能力。可用性至关重要，社会和谐不是一个慈善行动，而是人类基本的权利。

我们见证了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或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”会指示哪一个条目是默认的映像。

[![](/data/attachment/album/201311/18/133936wgnnpwxgumw79ywf.jpg)](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)会议上的主题演讲中说：“开源软件可以作为一个方法来打击全球监视无辜居民的行为。”

![](/data/attachment/album/201311/18/135004ba2hv1ltw16sv6st.jpg)

*米科·哈普宁，芬兰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内核拥有许多可以配置的特性，接下来我们还有许多要配置。

![](/data/attachment/album/201311/18/23195846v88vko4kqqxaca.jpeg)

下一个可以配置的特性是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内核发布，他们也可以相对轻松地更新他们的系统。**

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/) 荣誉推出


在红帽Linux中使用YUM包管理器

Summary:
YUM是RHEL系统中提供的一个安装，卸载和搜索软件包的工具。它能做的不仅仅是安装、卸载软件包，它能做的还有更多，下面我们将在本文中为你展示。
YUM可以自动安装软件包的依赖包，例如当你使用yum安装httpd时，它还  ...

![](/data/attachment/album/201311/19/2101469vvhw4vu9h3qssfm.png)

**YUM**是RHEL系统中提供的一个安装，卸载和搜索软件包的工具。它能做的不仅仅是安装、卸载软件包，它能做的还有更多，下面我们将在本文中为你展示。

YUM可以自动安装软件包的依赖包，例如当你使用yum安装httpd时，它还会自动安装https apache server以及它依赖的软件包。通过rpm软件包安装时就没有这么方便咯（译注：就是不会自动处理软件包依赖问题咯！），你必须下载所有它依赖的软件包，然后依序安装它们。

yum工具从远端服务器上的软件仓库（通常由OS提供商提供）获取软件包的信息。一个软件仓库是能在特定架构上运行的一系列rpm软件包的集合。例如，对于32位和64位系统各有一个软件仓库，还有针对RHEL5以及RHEL6的软件仓库。你也可以建立一个本地仓库，配置你的yum让其从你的本地仓库里搜索安装软件包。在接下来的例子中，我将向你展示除了安装和卸载软件，yum还可以做的其它事情。为方便理解，我将在我的Amazon EC2 RHEL 6.4服务器上使用httpd软件包为例。

### 从软件仓库里搜索软件包

```
# yum search httpd

Loaded plugins: amazon-id, rhui-lb, security
==================== N/S Matched: httpd ==========
httpd.x86_64 : Apache HTTP Server
httpd-devel.i686 : Development interfaces for the Apache HTTP server
httpd-devel.x86_64 : Development interfaces for the Apache HTTP server
httpd-manual.noarch : Documentation for the Apache HTTP server
httpd-tools.x86_64 : Tools for use with the Apache HTTP Server
mod_dav_svn.x86_64 : Apache httpd module for Subversion server
mod_dnssd.x86_64 : An Apache HTTPD module which adds Zeroconf support

```

想获得详细的输出信息，可以使用下面的命令：

```
# yum provides httpd

Loaded plugins: amazon-id, rhui-lb, security
httpd-2.2.15-26.el6.x86_64 : Apache HTTP Server
Repo : rhui-REGION-rhel-server-releases
Matched from:

```

**yum provides httpd**在软件仓库里搜索含有httpd的软件包。

### 提供所有软件组列表

```
# yum grouplist

```

以上命令将为你显示已经安装的以及可用的软件组。你可以使用软件组安装选项来安装其中一个软件组。例如，我们将安装一个PHP Support的软件组。这个软件组内包含需要的PHP软件包。

```
# yum groupinstall PHP Support

Loaded plugins: amazon-id, downloadonly, rhui-lb, security
Setting up Group Process
Warning: Group Support does not exist.
Resolving Dependencies
-> Running transaction check
--> Package php.x86_64 0:5.3.3-23.el6_4 will be installed
-> Processing Dependency: php-common(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64
-> Processing Dependency: php-cli(x86-64) = 5.3.3-23.el6_4 for package: php-5.3.3-23.el6_4.x86_64
--> Package php-gd.x86_64 0:5.3.3-23.el6_4 will be installed
-> Processing Dependency: libXpm.so.4()(64bit) for package: php-gd-5.3.3-23.el6_4.x86_64
--> Package php-pdo.x86_64 0:5.3.3-23.el6_4 will be installed
--> Package php-pear.noarch 1:1.9.4-4.el6 will be installed
--> Package php-xml.x86_64 0:5.3.3-23.el6_4 will be installed
-> Running transaction check
--> Package libXpm.x86_64 0:3.5.10-2.el6 will be installed
--> Package php-cli.x86_64 0:5.3.3-23.el6_4 will be installed
--> Package php-common.x86_64 0:5.3.3-23.el6_4 will be installed
-> Finished Dependency Resolution

Dependencies Resolved

==================================================
Package Arch Version Repository Size
==================================================
Installing:
php x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 1.1 M
php-gd x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 106 k
php-pdo x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 75 k
php-pear noarch 1:1.9.4-4.el6 rhui-REGION-rhel-server-releases 393 k
php-xml x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 103 k
Installing for dependencies:
libXpm x86_64 3.5.10-2.el6 rhui-REGION-rhel-server-releases 51 k
php-cli x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 2.2 M
php-common x86_64 5.3.3-23.el6_4 rhui-REGION-rhel-server-releases 524 k

Transaction Summary
==================================================
Install 8 Package(s)

Total download size: 4.5 M
Installed size: 16 M
Is this ok [y/N]: y

Downloading Packages:
(1/8): libXpm-3.5.10-2.el6.x86_64.rpm | 51 kB 00:00
(2/8): php-5.3.3-23.el6_4.x86_64.rpm | 1.1 MB 00:00
(3/8): php-cli-5.3.3-23.el6_4.x86_64.rpm | 2.2 MB 00:00
(4/8): php-common-5.3.3-23.el6_4.x86_64.rpm | 524 kB 00:00
(5/8): php-gd-5.3.3-23.el6_4.x86_64.rpm | 106 kB 00:00
(6/8): php-pdo-5.3.3-23.el6_4.x86_64.rpm | 75 kB 00:00
(7/8): php-pear-1.9.4-4.el6.noarch.rpm | 393 kB 00:00
(8/8): php-xml-5.3.3-23.el6_4.x86_64.rpm | 103 kB 00:00
-----------------------------------------------
Total 2.9 MB/s | 4.5 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php-common-5.3.3-23.el6_4.x86_64 1/8
Installing : php-cli-5.3.3-23.el6_4.x86_64 2/8
Installing : libXpm-3.5.10-2.el6.x86_64 3/8
Installing : php-gd-5.3.3-23.el6_4.x86_64 4/8
Installing : 1:php-pear-1.9.4-4.el6.noarch 5/8
Installing : php-5.3.3-23.el6_4.x86_64 6/8
Installing : php-xml-5.3.3-23.el6_4.x86_64 7/8
Installing : php-pdo-5.3.3-23.el6_4.x86_64 8/8
Verifying : 1:php-pear-1.9.4-4.el6.noarch 1/8
Verifying : php-xml-5.3.3-23.el6_4.x86_64 2/8
Verifying : php-common-5.3.3-23.el6_4.x86_64 3/8
Verifying : libXpm-3.5.10-2.el6.x86_64 4/8
Verifying : php-cli-5.3.3-23.el6_4.x86_64 5/8
Verifying : php-5.3.3-23.el6_4.x86_64 6/8
Verifying : php-pdo-5.3.3-23.el6_4.x86_64 7/8
Verifying : php-gd-5.3.3-23.el6_4.x86_64 8/8

Installed:
php.x86_64 0:5.3.3-23.el6_4 php-gd.x86_64 0:5.3.3-23.el6_4 php-pdo.x86_64 0:5.3.3-23.el6_4
php-pear.noarch 1:1.9.4-4.el6 php-xml.x86_64 0:5.3.3-23.el6_4

Dependency Installed:
libXpm.x86_64 0:3.5.10-2.el6 php-cli.x86_64 0:5.3.3-23.el6_4 php-common.x86_64 0:5.3.3-23.el6_4

Complete!

```

### 使用YUM安装软件包

可以使用**yum install**命令安装软件包，如下所示：

```
#  yum install httpd

Loaded plugins: amazon-id, rhui-lb, security
Setting up Install Process
Resolving Dependencies
-> Running transaction check
--> Package httpd.x86_64 0:2.2.15-29.el6_4 will be installed
-> Processing Dependency: httpd-tools = 2.2.15-29.el6_4 for package: httpd-2.2.15-29.el6_4.x86_64
-> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-29.el6_4.x86_64
-> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-29.el6_4.x86_64
-> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-29.el6_4.x86_64
-> Running transaction check
--> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed
--> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed
--> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
--> Package httpd-tools.x86_64 0:2.2.15-29.el6_4 will be installed
-> Finished Dependency Resolution

Dependencies Resolved

======================================================
Package Arch Version Repository Size
======================================================
Installing:
httpd x86_64 2.2.15-29.el6_4 rhui-REGION-rhel-server-releases 821 k
Installing for dependencies:
apr x86_64 1.3.9-5.el6_2 rhui-REGION-rhel-server-releases 123 k
apr-util x86_64 1.3.9-3.el6_0.1 rhui-REGION-rhel-server-releases 87 k
apr-util-ldap x86_64 1.3.9-3.el6_0.1 rhui-REGION-rhel-server-releases 15 k
httpd-tools x86_64 2.2.15-29.el6_4 rhui-REGION-rhel-server-releases 73 k

Transaction Summary
======================================================
Install 5 Package(s)

Total download size: 1.1 M
Installed size: 3.6 M
Is this ok [y/N]: y

```

如你所见，在安装httpd时yum安装了额外的软件包。这称为yum完成的依赖包解析。

假如你不想让yum弹出[y/N]选项，可以使用**yum install -y httpd**

#### 使用yum update 命令更新一个已存在的软件包

```
# yum update httpd
Loaded plugins: amazon-id, rhui-lb, security
Setting up Update Process
No Packages marked for Update

```

这意味着你系统中安装的httpd软件包已经是yum软件仓库里的最新版本的了。

#### 更新服务器上所有的软件包

```
# yum update

```

以上命令将系统上的所有软件包更新到最新版本，包括内核软件包，这意味着你的OS更新到了RHEL提供的最新版本了。

### 下载RPM软件包但是不安装

可以使用yum从RHEL或者CentOS的软件仓库里下载RPM软件包但是不安装。你首先需要下载一个插件让yum只下载rpm软件包而不安装。插件名字叫downloadonly，可以通过yum安装，如下所示：

```
# yum install yum-downloadonly
Loaded plugins: amazon-id, rhui-lb, security
Setting up Install Process
Resolving Dependencies
-> Running transaction check
--> Package yum-plugin-downloadonly.noarch 0:1.1.30-14.el6 will be installed
-> Finished Dependency Resolution

Dependencies Resolved

====================================================
Package Arch Version Repository Size
====================================================
Installing:
yum-plugin-downloadonly noarch 1.1.30-14.el6 rhui-REGION-rhel-server-releases 20 k

Transaction Summary
====================================================
Install 1 Package(s)

Total download size: 20 k
Installed size: 21 k
Is this ok [y/N]: y
Downloading Packages:
yum-plugin-downloadonly-1.1.30-14.el6.noarch.rpm | 20 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : yum-plugin-downloadonly-1.1.30-14.el6.noarch 1/1
Verifying : yum-plugin-downloadonly-1.1.30-14.el6.noarch 1/1

Installed:
yum-plugin-downloadonly.noarch 0:1.1.30-14.el6

Complete!

```

现在你就可以从软件仓库里只下载软件包而不安装了，命令如下：

```
# yum install httpd-devel -downloadonly

```

默认情况下软件包会被下载到**/var/cache/yum/**目录，但是你可以添加额外选项将其下载到指定位置

```
# yum install httpd-devel -downloadonly -downloaddir=/opt

```

假如你有一个rpm软件包但是没有它所依赖的软件包，你不知道到哪去得到它所依赖的软件包。你仍然可以通过yum安装这个rpm软件包，并从软件仓库里得到它所依赖的软件包。让我们安装刚刚下载的httpd-devel-2.2.15-29.el6*4.x86*64 RPM软件包。

```
# yum localinstall /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm

Loaded plugins: amazon-id, downloadonly, rhui-lb, security
Setting up Local Package Process
Examining /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm: httpd-devel-2.2.15-29.el6_4.x86_64
Marking /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm to be installed
Resolving Dependencies
-> Running transaction check
--> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be installed
-> Processing Dependency: apr-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64
-> Processing Dependency: apr-util-devel for package: httpd-devel-2.2.15-29.el6_4.x86_64
-> Running transaction check
--> Package apr-devel.x86_64 0:1.3.9-5.el6_2 will be installed
--> Package apr-util-devel.x86_64 0:1.3.9-3.el6_0.1 will be installed
-> Processing Dependency: openldap-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
-> Processing Dependency: expat-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
-> Processing Dependency: db4-devel for package: apr-util-devel-1.3.9-3.el6_0.1.x86_64
-> Running transaction check
--> Package db4-devel.x86_64 0:4.7.25-18.el6_4 will be installed
-> Processing Dependency: db4-cxx = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64
-> Processing Dependency: db4 = 4.7.25-18.el6_4 for package: db4-devel-4.7.25-18.el6_4.x86_64
-> Processing Dependency: libdb_cxx-4.7.so()(64bit) for package: db4-devel-4.7.25-18.el6_4.x86_64
--> Package expat-devel.x86_64 0:2.0.1-11.el6_2 will be installed
--> Package openldap-devel.x86_64 0:2.4.23-32.el6_4.1 will be installed
-> Processing Dependency: cyrus-sasl-devel >= 2.1 for package: openldap-devel-2.4.23-32.el6_4.1.x86_64
-> Running transaction check
--> Package cyrus-sasl-devel.x86_64 0:2.1.23-13.el6_3.1 will be installed
--> Package db4.x86_64 0:4.7.25-17.el6 will be updated
-> Processing Dependency: db4 = 4.7.25-17.el6 for package: db4-utils-4.7.25-17.el6.x86_64
--> Package db4.x86_64 0:4.7.25-18.el6_4 will be an update
--> Package db4-cxx.x86_64 0:4.7.25-18.el6_4 will be installed
-> Running transaction check
--> Package db4-utils.x86_64 0:4.7.25-17.el6 will be updated
--> Package db4-utils.x86_64 0:4.7.25-18.el6_4 will be an update
-> Finished Dependency Resolution

Dependencies Resolved

===================================================
Package Arch Version Repository Size
===================================================
Installing:
httpd-devel x86_64 2.2.15-29.el6_4 /httpd-devel-2.2.15-29.el6_4.x86_64 526 k
Installing for dependencies:
apr-devel x86_64 1.3.9-5.el6_2 rhui-REGION-rhel-server-releases 176 k
apr-util-devel x86_64 1.3.9-3.el6_0.1 rhui-REGION-rhel-server-releases 69 k
cyrus-sasl-devel x86_64 2.1.23-13.el6_3.1 rhui-REGION-rhel-server-releases 302 k
db4-cxx x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 588 k
db4-devel x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 6.6 M
expat-devel x86_64 2.0.1-11.el6_2 rhui-REGION-rhel-server-releases 120 k
openldap-devel x86_64 2.4.23-32.el6_4.1 rhui-REGION-rhel-server-releases 1.1 M
Updating for dependencies:
db4 x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 563 k
db4-utils x86_64 4.7.25-18.el6_4 rhui-REGION-rhel-server-releases 130 k

Transaction Summary
===============================================
Install 8 Package(s)
Upgrade 2 Package(s)

Total size: 10 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : db4-4.7.25-18.el6_4.x86_64 1/12
Installing : apr-devel-1.3.9-5.el6_2.x86_64 2/12
Installing : expat-devel-2.0.1-11.el6_2.x86_64 3/12
Installing : db4-cxx-4.7.25-18.el6_4.x86_64 4/12
Installing : db4-devel-4.7.25-18.el6_4.x86_64 5/12
Installing : cyrus-sasl-devel-2.1.23-13.el6_3.1.x86_64 6/12
Installing : openldap-devel-2.4.23-32.el6_4.1.x86_64 7/12
Installing : apr-util-devel-1.3.9-3.el6_0.1.x86_64 8/12
Installing : httpd-devel-2.2.15-29.el6_4.x86_64 9/12
Updating : db4-utils-4.7.25-18.el6_4.x86_64 10/12
Cleanup : db4-utils-4.7.25-17.el6.x86_64 11/12
Cleanup : db4-4.7.25-17.el6.x86_64 12/12
Verifying : apr-devel-1.3.9-5.el6_2.x86_64 1/12
Verifying : cyrus-sasl-devel-2.1.23-13.el6_3.1.x86_64 2/12
Verifying : apr-util-devel-1.3.9-3.el6_0.1.x86_64 3/12
Verifying : db4-cxx-4.7.25-18.el6_4.x86_64 4/12
Verifying : httpd-devel-2.2.15-29.el6_4.x86_64 5/12
Verifying : openldap-devel-2.4.23-32.el6_4.1.x86_64 6/12
Verifying : expat-devel-2.0.1-11.el6_2.x86_64 7/12
Verifying : db4-devel-4.7.25-18.el6_4.x86_64 8/12
Verifying : db4-4.7.25-18.el6_4.x86_64 9/12
Verifying : db4-utils-4.7.25-18.el6_4.x86_64 10/12
Verifying : db4-4.7.25-17.el6.x86_64 11/12
Verifying : db4-utils-4.7.25-17.el6.x86_64 12/12

Installed:
httpd-devel.x86_64 0:2.2.15-29.el6_4

Dependency Installed:
apr-devel.x86_64 0:1.3.9-5.el6_2 apr-util-devel.x86_64 0:1.3.9-3.el6_0.1
cyrus-sasl-devel.x86_64 0:2.1.23-13.el6_3.1 db4-cxx.x86_64 0:4.7.25-18.el6_4
db4-devel.x86_64 0:4.7.25-18.el6_4 expat-devel.x86_64 0:2.0.1-11.el6_2
openldap-devel.x86_64 0:2.4.23-32.el6_4.1

Dependency Updated:
db4.x86_64 0:4.7.25-18.el6_4 db4-utils.x86_64 0:4.7.25-18.el6_4

Complete!

```

### 使用yum卸载软件包

使用 **yum remove** 卸载软件包。举例如下：

```
# yum remove httpd
Failed to set locale, defaulting to C
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
Setting up Remove Process
Resolving Dependencies
-> Running transaction check
--> Package httpd.x86_64 0:2.2.15-29.el6_4 will be erased
-> Processing Dependency: httpd-mmn = 20051115 for package: php-5.3.3-23.el6_4.x86_64
-> Processing Dependency: httpd = 2.2.15-29.el6_4 for package: httpd-devel-2.2.15-29.el6_4.x86_64
-> Running transaction check
--> Package httpd-devel.x86_64 0:2.2.15-29.el6_4 will be erased
--> Package php.x86_64 0:5.3.3-23.el6_4 will be erased
-> Finished Dependency Resolution

Dependencies Resolved

================================================
Package Arch Version Repository Size
================================================
Removing:
httpd x86_64 2.2.15-29.el6_4 @rhui-REGION-rhel-server-releases 2.9 M
Removing for dependencies:
httpd-devel x86_64 2.2.15-29.el6_4 @/httpd-devel-2.2.15-29.el6_4.x86_64 526 k
php x86_64 5.3.3-23.el6_4 @rhui-REGION-rhel-server-releases 3.5 M

Transaction Summary
================================================
Remove 3 Package(s)

Installed size: 7.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : httpd-devel-2.2.15-29.el6_4.x86_64 1/3
Erasing : php-5.3.3-23.el6_4.x86_64 2/3
Erasing : httpd-2.2.15-29.el6_4.x86_64 3/3
Verifying : httpd-2.2.15-29.el6_4.x86_64 1/3
Verifying : httpd-devel-2.2.15-29.el6_4.x86_64 2/3
Verifying : php-5.3.3-23.el6_4.x86_64 3/3

Removed:
httpd.x86_64 0:2.2.15-29.el6_4

Dependency Removed:
httpd-devel.x86_64 0:2.2.15-29.el6_4 php.x86_64 0:5.3.3-23.el6_4

Complete!

```

### 列出所有安装的软件包

假如你要列出你系统上安装的所有软件包，你可以使用**yum list installed**命令。这条命令结合grep命令是非常有用的，可以用来检查某个特定的软件包是否已被安装。这与使用rpm -qa命令询问已经安装的软件包相似。

```
# yum list installed
Loaded plugins: amazon-id, downloadonly, rhui-lb, security
Installed Packages
ConsoleKit.x86_64 0.4.1-3.el6 @koji-override-0/$releasever
ConsoleKit-libs.x86_64 0.4.1-3.el6 @koji-override-0/$releasever
MAKEDEV.x86_64 3.24-6.el6 @koji-override-0/$releasever
PyYAML.x86_64 3.10-3.1.el6 @koji-override-0/$releasever
Red_Hat_Enterprise_Linux-Release_Notes-6-en-US.noarch
4-2.el6 @koji-override-0/$releasever
SDL.x86_64 1.2.14-3.el6 @koji-override-0/$releasever
abrt.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-addon-ccpp.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-addon-kerneloops.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-addon-python.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-cli.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-libs.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
abrt-tui.x86_64 2.0.8-15.el6 @koji-override-0/$releasever
acl.x86_64 2.2.49-6.el6 @koji-override-0/$releasever
acpid.x86_64 1.0.10-2.1.el6 @koji-override-0/$releasever
aic94xx-firmware.noarch 30-2.el6 @koji-override-0/$releasever
.
.
Output Truncated.

```

### 列出可用的软件库，通过它们可以查询、安装和更新软件包

```
# yum repolist

Loaded plugins: amazon-id, downloadonly, rhui-lb, security
repo id repo name status
rhui-REGION-client-config-server-6 Red Hat Update Infrastructure 2.0 Client Configuration Server 6 4
rhui-REGION-rhel-server-releases Red Hat Enterprise Linux Server 6 (RPMs) 10994
rhui-REGION-rhel-server-releases-optional Red Hat Enterprise Linux Server 6 Optional (RPMs) 6250
repolist: 17248

```

---

via: <http://linoxide.com/linux-command/package-management-yum-redhat-linux/>

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

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


ncdu-基于Ncurses的磁盘实用工具

Summary: 几天前，我们讨论了gt5（一个具有图形前端的磁盘实用工具）。接着上次，继续介绍这个命令系列：du替代命令，我们今天要讨论的是一个基于ncurese的磁盘实用工具，可以远程运行但没有图形环境。我们要介绍的这个命令行 ...

几天前，我们讨论了[gt5](http://mylinuxbook.com/gt5-a-graphical-alternative-to-du/)（一个具有图形前端的磁盘实用工具）。接着上次，继续介绍这个命令系列：du替代命令，我们今天要讨论的是一个基于ncurese的磁盘实用工具，可以远程运行但没有图形环境。我们要介绍的这个命令行工具叫做**ncdu**。

### ncdu——基于Ncurses的du可选程序

这个命令行工具只是一个基于curses版本的标准du命令。它可帮助你在没有安装图形环境的情况下快速查看系统的磁盘使用统计。

![](/data/attachment/album/201311/19/212250eqvggqm4zqkf46pa.png)

### 检测环境

* 操作系统 – Ubuntu 13.04
* Shell – Bash 4.2.45
* 应用 – ncdu 1.9

### 简明教程

以下是一些ncdu命令的例子：

**1. 默认输出**

执行以下**ncdu**命令，你会观察到，它会先扫描磁盘然后降序显示各个目录下的空间使用情况。

**> 扫描**

![](/data/attachment/album/201311/19/2122533pwv8wsrmv8cvzwc.png)

**> 输出**

![](/data/attachment/album/201311/19/212302f3r2v4382gfe2lco.png)

你会看到在输出里显示了一个磁盘使用情况表。假如你要扫描整个文件系统，你可以在运行**ncdu**命令时加上**-x**选项。

**2. 按i可以得到选定目录的更多信息**

如你所见，第一项默认选中。想要知道选定项的更多信息，可以按**i**。

下面给出一个例子：

![](/data/attachment/album/201311/19/2123036eflealfvl0e01yy.png)

如你所见，显示了目录，类型，大小，实际占用空间等。项返回，再按一次**i**。

**3. 在ncdu的界面中删除目录**

在ncdu的界面中删除目录，只需要选中目录，然后按**d**。

下面给出一个例子：

![](/data/attachment/album/201311/19/212307kb65itwxcgbx5xcc.png)

如你所见，ncdu请求用户确认。假如你选择yes,目录将会从系统中删除。

**4. 显示每一个目录的磁盘使用占总的磁盘空间的百分比**

按**g**显示每个目录大小占总的磁盘空间的百分比。

下面给出一个例子：

![](/data/attachment/album/201311/19/212309pzyast11azrj5lrf.png)

如你所见，在输出结果的第二竖列显示了每个目录所占用的空间占总的磁盘空间的百分比。

**5. 获悉有关所有可使用快捷键的**

按**？**可获得相关快捷键、格式以及有关ncdu版本的信息。

下面给出一些例子：

![](/data/attachment/album/201311/19/212311pnx1hoxihxxxi3xz.png)

![](/data/attachment/album/201311/19/212313xyk1yncyp2h5ypkf.png)

![](/data/attachment/album/201311/19/2123174vv0s00v8t3qtb2g.png)

想知道有关命令行选项以及其它信息，可前往[ncdu命令的Man页面](http://linux.die.net/man/1/ncdu)。

### 下载/安装/配置

以下是一些有关ncdu命令的重要链接

* [主页](http://dev.yorhel.nl/ncdu)
* [下载链接](http://dev.yorhel.nl/ncdu)

当然，你也可以通过命令方式下载安装，比如apt-get，yum等。另外，Ubuntu用户可使用Ubuntu软件中心下载安装这个工具。

### 优点

* 信息显示快速
* 系统资源消耗小

### 缺点

* 在大多数Linux发行版中均没有预安装
* 有一定的学习曲线

### 结论

假如你不满足于标准的du工具，想去寻找一款快速的，基于ncurses的类du工具，那么你可以试试ncdu。它提供了许多自定义选项。你一定会喜欢它的。

**你使用过ncdu,gt5或者其他任何类du工具吗？欢迎和我们分享你的使用经验。**

---

via: <http://mylinuxbook.com/ncdu-ncurses-based-disk-usage-utility/>

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

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


Ubuntu 2013 开发者峰会于 11 月 19 日召开

Summary:
Ubuntu 2013 开发者峰会是一个 Ubuntu 官方组织的会议。来自各行各业的 Ubuntu 使用者、开发者、设计师等等人员将参加会议。Ubuntu 2013 开发者峰会将于 11 月 19 日召开。

会议为期三天，11 月 21 日结束。
会议分 ...

Ubuntu 2013 开发者峰会是一个 Ubuntu 官方组织的会议。来自各行各业的 Ubuntu 使用者、开发者、设计师等等人员将参加会议。Ubuntu 2013 开发者峰会将于 11 月 19 日召开。

![](/data/attachment/album/201311/19/163226dyyrd002hyq0jeey.png)

会议为期三天，11 月 21 日结束。

会议分为六大主题分开讨论：

* [app development](http://summit.ubuntu.com/uds-1311/track/appdev)
* [client](http://summit.ubuntu.com/uds-1311/track/client)
* [cloud and server](http://summit.ubuntu.com/uds-1311/track/servercloud)
* [community](http://summit.ubuntu.com/uds-1311/track/community)
* [core](http://summit.ubuntu.com/uds-1311/track/core)
* [design](http://summit.ubuntu.com/uds-1311/track/design)

虽然分为六类，不过这些方面几乎涵盖了 Ubuntu 所有的方方面面。

另：第一天由 [Mark Shuttleworth's 主持阶段为：14:00 - 15:00 UTC](http://summit.ubuntu.com/uds-1311/meeting/22027/intro-by-jono-bacon-keynote-by-mark-shuttleworth/) 。


Linux 下用来查询安装包信息的RPM选项

Summary: RPM是RedHat的包管理器，用来安装、卸载、升级和查询基于RedHat Linux的安装包。RHEL和基于它的系统使用rpm命令来完成这些功能。以下是一些例子来演示rpm的查询功能，和展示了用不同的方法来查询rpm数据库和还原配置 ...

RPM是RedHat的包管理器，用来安装、卸载、升级和查询基于RedHat Linux的安装包。RHEL和基于它的系统使用rpm命令来完成这些功能。以下是一些例子来演示rpm的查询功能，和展示了用不同的方法来查询rpm数据库和还原配置文件。

我在示例命令中使用SSH包来做说明。

![](/data/attachment/album/201311/20/152948s2tauakezl9c23v9.png)

查询RPM数据库和包
----------

### 1、 在整个RPM数据库中查询，使用下面的命令

```
# rpm -qa
plymouth-0.8.3-27.el6.x86_64
pciutils-libs-3.1.10-2.el6.i686
netcf-libs-0.1.9-3.el6.x86_64
..
...
..
Output Truncated
```

### 2、 你可以通过grep命令来确定上面的例子中有哪些SSH包已经安装

```
# rpm -qa |grep ssh
libssh2-1.4.2-1.el6.x86_64
openssh-askpass-5.3p1-84.1.el6.x86_64
libssh2-1.4.2-1.el6.i686
openssh-server-5.3p1-84.1.el6.x86_64
openssh-clients-5.3p1-84.1.el6.x86_64
openssh-5.3p1-84.1.el6.x86_64

```

输出显示了一些关于SSH的包，但是你仍需确定哪个包真正安装了SSH。为了更近一步，请看下面的示例。

### 3、 检查已安装的SSH包 a) 通过sshd守护进程 b) 通过它的配置文件

```
# rpm -qf /etc/init.d/sshd
openssh-server-5.3p1-84.1.el6.x86_64
# rpm -qf /etc/ssh/sshd_config
openssh-server-5.3p1-84.1.el6.x86_64

```

如你所见，ssh是通过openssh-server-5.3p1-84.1.el6.x86\_64包安装的，你可以在守护进程或者配置文件中使用rpm -qf命令（查询ssh包所包含的任一文件来查询）。两者都会输出从那个软件包安装的。

### 4、 现在你有了包名，你可能想要了解更多，并想要知道包中包含了哪些不同的文件。这种情况下，使用rpm -ql命令

```
# rpm -ql openssh-server-5.3p1-84.1.el6.x86_64
/etc/pam.d/ssh-keycat
/etc/pam.d/sshd
/etc/rc.d/init.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd
/usr/libexec/openssh/sftp-server
/usr/libexec/openssh/ssh-keycat
/usr/sbin/.sshd.hmac
/usr/sbin/sshd
/usr/share/doc/openssh-server-5.3p1
/usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz
/var/empty/sshd

```

上面的输出显示了所有该包在系统中安装的文件。现在让我们更进一步，我们只想要看到该包提供的配置文件和文档。

### 5、 只列出其中的配置文件，使用rpm -qc命令

```
# rpm -qc openssh-server-5.3p1-84.1.el6.x86_64
/etc/pam.d/ssh-keycat
/etc/pam.d/sshd
/etc/ssh/sshd_config
/etc/sysconfig/sshd

```

### 6、 只列出其中的帮助文档，使用rpm -qd命令

```
# rpm -qd openssh-server-5.3p1-84.1.el6.x86_64
/usr/share/doc/openssh-server-5.3p1/HOWTO.ssh-keycat
/usr/share/man/man5/moduli.5.gz
/usr/share/man/man5/sshd_config.5.gz
/usr/share/man/man8/sftp-server.8.gz
/usr/share/man/man8/sshd.8.gz

```

考虑一种情况，你想要配置一个服务，但是你不知道哪里找到配置文件。举例来说，如上面的例子：使用**rpm -qf rpm -qf /etc/init.d/sshd**来找出 **/etc/ssh/sshd\_config**这个文件源于哪个包。这应该会给你显示**openssh-server-5.3p1-84.1.el6.x86\_64**包。使用**rpm -ql openssh-server-5.3p1-84.1.el6.x86\_64**来显示包中所含的所有文件。如你所见，许多文件名显示了出来，但是输出并不很有用。

现在使用**rpm -qc openssh-server-5.3p1-84.1.el6.x86\_64** 来只显示这个包的配置文件。这只会显示4个文件并给出了[/etc/ssh/sshd\_config file](http://www.linoxide.com/how-tos/disable-ssh-direct-login/)的绝对路径，可以用来开始配置服务。

### 7、 从PRM包还原配置文件，而不重新安装包。

如果由于一些原因文件损坏或者从系统中删除了，你可以以**rpm -qf**开头来找出文件存在于哪个包。接下来使用**rpm2cpio | cpio -idmv**来从包中解压出文件。用ssh的例子。

假设**/etc/ssh/sshd\_config**文件已经删除并且你不希望重装ssh，按以下步骤来还原文件。

* 使用rpm -qf /etc/init.d/sshd 这个命令会显示文件来自于openssh-server-5.3p1-84.1.el6.x86\_64包。
* 从它的源中下载Openssh的rpm包。
* 复制openssh-server-5.3p1-84.1.el6.x86\_64包到/tmp目录或者其他任何你选择的目录。
* 使用rpm2cpio |cpio -idmv解压包。

上面步骤中你使用的命令会在/tmp下面创建一个子目录。你现在可以复制到它的原始目录。

---

via: <http://linoxide.com/linux-command/rpm-command-query/>

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

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


如何在Ubuntu13.10中安装最新版的NVIDIA 331.20驱动

Summary:
有时候安装新版本的NVIDIA驱动会遇到一些麻烦，尤其是当你不习惯Linux系统中的运作方式时。

这时候，这篇教程就能起到作用了，它能帮助普通用户从最新版的NVIDIA驱动331.20中获益。
在Ubuntu系统中有两种方法安装NV ...

**有时候安装新版本的NVIDIA驱动会遇到一些麻烦，尤其是当你不习惯Linux系统中的运作方式时。**

![](/data/attachment/album/201311/21/110601hc4hrol4hoh24p4u.jpg)

这时候，这篇教程就能起到作用了，它能帮助普通用户从最新版的NVIDIA驱动331.20中获益。

在Ubuntu系统中有两种方法安装NVIDIA驱动，一种是简单方法，另一种是困难方法。简单方法也是最为直截了当的，但是需要你能够连接网络。这种方法也会把你带入PPA的美妙世界中去。

Ubuntu 13.10像它的前辈们一样，有一个很大的软件仓库可供使用，但是Canonical的开发者们由于种种考虑并不上传最新版的驱动。最重要的是他们不会冒险去上传一款未被证明其稳定性的软件。

幸运的是，我们有PPA可供使用，PPA中有最新版的驱动程序可供使用，而且里面的驱动会在官方放出新驱动一两天后就添加进去。只需在终端中敲入一下命令即可（当然你需要拥有root权限）：

```
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install nvidia-331

```

假如你已经安装了一个旧版本的驱动，你需要用**sudo apt-get dist-upgrade**命令替换上面命令中的最后一条命令。

完成这些步骤之后重启你的电脑，新驱动就安装好了。在下一次NVIDIA更新驱动时，你只需更新系统就可以，无需添加PPA。

第二种方法有点复杂，但是你可以不用联网（你需要先把驱动下载下来，在安装的时候不再需要联网）。我们将使用64位版本的驱动最为例子讲解。

你必须按Ctrl+Alt+F1组合键进入真正的终端（译注：原文中为虚拟终端，但实际上按这个组合键进入的是真正的终端），然后使用用户名和密码登录。接下俩，你需要用cd命令进入你放置驱动的位置（例如Downloads目录）然后输入以下命令：

```
sudo service lightdm stop
sudo chmod a+x NVIDIA-Linux-x86_64-331.20.run
sudo ./NVIDIA-Linux-x86_64-331.20.run
sudo reboot

```

这样就搞定了。无论你选择使用什么方法，享受最新版的NVIDIA驱动吧。

---

via: <http://news.softpedia.com/news/How-to-Install-the-Latest-NVIDIA-331-20-Drivers-in-Ubuntu-13-10-399182.shtml>

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

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


可以快速保存、访问和粘贴文本片段的Unity漂亮工具

Summary:
反复键入特定的信息 - 如电子邮件地址或家庭地址，详细的终端命令，及时发送用户喜爱的电视节目的资讯 - 可是件苦差事。

Snippets  方便的访问存储的文本的方法
谢天谢地，这个世界上有一些工具可以帮助我们（做这  ...

**反复键入特定的信息 - 如电子邮件地址或家庭地址，详细的终端命令，及时发送用户喜爱的电视节目的资讯 - 可是件苦差事。**

![](/data/attachment/album/201311/21/103520teac1iphawwfahav.jpg)

*Snippets – 方便的访问存储的文本的方法*

谢天谢地，这个世界上有一些工具可以帮助我们（做这些事儿）。

*‘Snippets’* 就是Unity中这种组件之一。 这是一个简单的启动程序小工具，它让你在一个文件中保存和存储摘下来的内容，然后当你需要的时候从Unity的一个快速列表里复制到剪贴板。

在某些人把他的内裤扔到我的脸上之前，我得说Snippets不是唯一的这种工具，它甚至不是第一个提供这一系列功能的。但是它独特的是通过Unity启动器来提供这一系列功能。

这个软件具功能不错又足够简单，提供以下功能:

* 添加、访问存储在txt文件中的文本段
* 在快速列表里查看保存的文本段
* 点击文本段就可以复制到剪贴板
* 提供了把剪贴板中的内容保存到txt文件的选项

尽管它不是一个“智能”的剪贴板管理工具 – 它只是列出了你特别添加的项目；它不会列出你最近的剪贴板项目历史，但仍然是一个非常方便的小工具。

### 怎样为Unity安装Snippets

想要使用这个漂亮的启动器项目，你需要先安装一个命令行剪贴板工具XClip。点击下面的按钮（链接）从软件中心安装。

* [点击以在Ubuntu里安装XClip](apt://xclip)

下一步，下载下面的‘Snippets’压缩文件。这包含了剩余所有的使用这个应用所需要的东西。

* [下载‘Snippets’Unity启动器](https://www.dropbox.com/s/ha6lngizmz78srv/snippets%20by%20stinkeye.tar.gz)

当这个压缩文件下完之后你就可以解压了。进入生成的文件夹，然后按Ctrl+H显示隐藏的文件。移动文件夹‘.snippets-launcher‘到你的主文件夹中。**如果不这么做，这个组件将无法正常工作。**

下一步是安装启动器项目。这是被一个你刚搬到文件夹里面的脚本关照的，但它不具有可执行的权限（需要安装），因此，我们首先需要关照它一下。

打开一个新的终端窗口在里面小心的键入下面的命令：

```
cd .snippets-launcher/ && chmod +x snippets.sh
./snippets.sh

```

就是这样；Snippets应该已经整装待发了。打开Unity Dash搜索Snippets然后把它拖到启动器上去：

* 左键点击启动器打开可以添加你的文本段的文本文件
* 右键点击启动器上的项目打开快速列表

快速列表里的选项:

* 左键点击文本段以添加到剪贴板
* 左键点击“日期”可以复制当前日期
* 点击“添加剪贴板内容”可以把当前剪贴板中的内容加入到.txt文件中（译注：实际上保存的文本是存储在一个文本文件中）
* 在添加一个项目到.txt文件后点击“更新启动器”

更多关于这个懒人的工具信息尽在[Ubuntu论坛](http://ubuntuforums.org/showthread.php?t=2184916)，在那里它的开发者，“Stinkeye”,会很高兴地提供帮助。

---

via: <http://www.omgubuntu.co.uk/2013/10/unity-launcher-clipboard-snippets-item>

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

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


Linux企业级桌面版：Ubuntu Vs Windows

Summary: 过去的10年中，Linux的众多支持者几乎每年都预言当年会是linux桌面版之年。对微软主导的企业来说，这曾经是一个崇高的目标，但时代在变。在智能手机和云计算市场领域，Linux已经发展壮大成为一个顽强的竞争对手，打  ...

过去的10年中，Linux的众多支持者几乎每年都预言当年会是“linux桌面版之年”。对微软主导的企业来说，这曾经是一个崇高的目标，但时代在变。在智能手机和云计算市场领域，Linux已经发展壮大成为一个顽强的竞争对手，打了微软一个措手不及。更重要的是，Google，IBM，Red Hat，Facebook, 还有Netflix等公司正在对linux的研发创新投入巨资。

现在， 随着技术预算缩水，微软授权费上涨，IT界是时候应该认真考虑一下了，部署桌面版Linux，替代Windows。这是个最佳时机，Windows 8.1刚发布，Ubuntu 13.10也同时发布。对Windows XP的支持也只剩下5个月时间。IT公司需要切换到新的环境。Ubuntu利用企业的需求来支持他们桌面版操作系统的需求。我研究了几个促成向桌面版linux转换的因素，包括培训和支持，还有一些潜在的复杂性问题。

![](/data/attachment/album/201311/21/094505lkdy0hrzb8b3blqz.png)

我知道Ubuntu已经失去了它曾经在开源社区享有的青睐。Canonical，Ubuntu的开创者，做出了几个不受欢迎的决策，包括改变屏幕管理器（linux图形界面的基本组件），用内部开发的Mir替换掉Wayland。然而，Ubuntu仍然是完全开源的，并提供任何Linux发行版甚至Windows版本的软件，安装起来最为省事。Canonical还提供付费支持，这可能是企业级环境所需要的。

一直存在这样的争论，如果切换到一个新的桌面的话，最终用户需要再培训。微软做出了争议性决策，针对Windows 8.1，对熟悉的界面全面整改，这种举措造成的影响就是，比转向linux需要更多的培训。 Ubuntu Unity 桌面已经演变为用户友好的界面，比之Windows 8.1，更易于被终端用户所理解。

例如，比较一下用户在各个操作系统中关闭系统的方式。所有最近的Ubuntu版本，关闭系统只需点击一下屏幕右上角打开-关闭的图标。Windows 8.1则需要右击开始按钮，然后出现一个下拉菜单，从中找到关闭电源的选项。相较于Windows 8，这是个巨大的进步。Windows 8还得费劲去找相关的入口。总不如屏幕上只需一个图标来得直接。

多亏了许多流行的开源应用的Windows版本，对使用这些应用软件的终端用户的培训过也不是什么复杂的任务。用户已经熟悉了Windows上的Firefox, LibreOffice, Pidgin, 以及VLC媒体播放器。用于商业的应用，比如Skype和Adobe Acrobat，功能实现跟Windows上的基本相同。基于云的应用，比如Google Drive 和 Microsoft Office 365，在Ubuntu上都可以正常使用。

传统的Windows应用程序可以通过熟悉的Citrix或者开源RDP的客户端来使用。公司也可以使用开源的虚拟产品，比如VirtualBox，运行一些顽固的老掉牙的Windows应用。

在最新硬件的支持上，许多技术人员还记得，在Linux刚刚起步的那些时日，硬件支持极其有限。如今形势已经转变了。

如今对Linux的硬件支持通常比对最新的Windows版本的支持还要理想。许多硬件供应商已经放弃了对Windows新版本的驱动支持。Linux下的硬件驱动可以由开源社区的任何一个人维护更新，因此许多支持许多旧的硬件在最新版Ubuntu中得到了完全的支持。有基于此，再加上Ubuntu较低的系统需求，公司可以延长都已经进了回收站的硬件的使用寿命。

虽然Linux的桌面替代品存在它的优势，但是企业也应该考虑到一些潜在的困难。尽管许多技术人员正在使用linux，也为学习新的技术而欢欣鼓舞，但是仍有一部分技术人员用Windows进行开发工作很长时间了，已经习惯了，再去拥抱新的变化，对他们来说，或许不是那么得情愿。

援引薪酬增长的趋势是一个解决潜在的问题的办法。相比于其他专业技术人员，要求Linux技能的职位薪酬上涨近一倍的速度，这是来自Dice的说法。

对严格遵守合规性的公司来说，切换到Linux可能会遇到困难。例如，HIPAA要求加密，以满足FIPS-140-2的要求。大多数开源加密项目没有赞助商帮助他们通过NIST认证以满足这一要求。开源代码实际上可能因为有许多人已审查，会比专有软件更安全，但令人惊讶的是，在合规性的世界中，这一点无关紧要。

在决定全面迁移之前，企业需要了解他们的规则要求，并制定一个计划，培训IT人员。但总体而言，相比于企业级私有操作系统，作为一个切实可行的选择，Ubuntu Linux已然成熟。考虑到版权费用的花销，公司在Linux桌面替换项目中的投入是值得的。下一年或许就是“linux桌面版之年”。

>
> 本文作者Joseph Granneman拥有超过20年的技术经验，主要专注于医疗信息技术。他伊利诺伊州罗克福德骨科协会的CIO，医疗保健信息技术和信息安全领域一个活跃的独立作家、主持人和教授。Granneman一直活跃在许多的组织群体，包括发展健康信息交换的早期框架，该框架是伊利诺斯州的保健信息安全和隐私安全工作组的一部分。他也是健康信息技术认证委员会（CCHIT）安全工作组的一名志愿者，该工作组负责制定ARRA认证的电子病历信息安全标准。
>
>
>

---

via: <http://www.networkcomputing.com/data-networking-management/linux-desktop-in-the-enterprise-ubuntu-v/240163564>

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

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


快来尝尝肉桂新口味儿，Mint 16现已加入肯德基豪华午餐~

Summary:
经过6个月艰苦卓绝的开发工作，Linux Mint开发组终于发布了更加稳定可靠的Linux Mint 16，版本代号Petra 肉桂版（Cinnamon Edition）。此次发布的Linux Mint包括了软件升级、新增功能以及多个bug修复。

这一版本是  ...

经过6个月艰苦卓绝的开发工作，Linux Mint开发组终于发布了更加稳定可靠的[Linux Mint 16，版本代号Petra 肉桂版（Cinnamon Edition）](http://blog.linuxmint.com/?p=2477)。此次发布的Linux Mint包括了软件升级、新增功能以及多个bug修复。

![](/data/attachment/album/201311/21/152953254woo46oujx42j5.png)

这一版本是项目组努力工作6个月的辛勤果实，它为我们带来了2种独特“口味儿”，**肉桂（Cinnamon）**及其**伴侣（MATE）**，但具体新功能都有哪些呢？

根据官方发布的声明，下面列出了Linux Mint 16 Petra Cinnamon版本的新功能：

* Cinnamon升级至2.0版
* 全新的登录界面
* 支持USB记忆棒
* 系统性能提升
* 全新的软件管理器
* 系统更加完善
* UI美工更加漂亮
* 主要组件得到优化

### Cinnamon 2.0

肉桂2.0带来诸多改进，修复了多个bug，加入许多新功能。首先，关闭窗口、切换工作台等日常操作加入了声音效果，同时，用户可以独立于主音量之外，单独对这些声音进行设置，另外，2.0版还加入了一个新面板，大大方便了session会话和账户关联任务等操作。

![](/data/attachment/album/201311/21/152955o5uoi6ovo0v5iio5.png)

### 账户细节

系统管理员可以通过“用户与组”配置工具，对用户和组进行管理，你还可以使用新的“账户细节”配置界面对密码等信息进行修改。

![](/data/attachment/album/201311/21/15295749pspt9pab44mpkz.png)

### 软件管理器

“快”！这是用来描述新版Linux Mint软件管理器最合适的字眼。每个人都欣喜地看到，如今的软件管理器不但比以前占用更少的内存，而且支持多个截图预览， **搜索**更加迅捷，**启动**更加快速。

![](/data/attachment/album/201311/21/153001b3300xae009t2qb9.png)

![](/data/attachment/album/201311/21/1530047182mb5mxpma1m2a.png)

### 系统更加完善

你会在你的Linux Mint上使用“终端”来完成日常工作吗？当然！作为**程序猿（媛）**，这样才显得很高端大气上档次。这次的Linux Mint 16 Petra 肉桂版，将为你带来比以往更好的终端体验。举个栗子，新的终端使用“ll”命令作为“ls -al”的别名命令，如此一来，有了省时又省力的“ll”，谁还会去敲“ls -al”？（译注：难道ll还不是业界标准么？）

除了程序猿（媛），Linux Mint 16 Petra 肉桂版同样还惦记着我们广大亲爱的**游戏玩家**！肉桂君现在能够更好的支持Steam，不仅如此，肉桂君还默认将steam加入了软件容器和软件管理器的特色板块！

**宅男** 们可能比较关心，**隐私策略**做的怎么样呢？Linux Mint 16为广大宅男同胞们提供了额外的隐私/安全搜索引擎，机油再也不用担心我找不到苍老师~

更好的帮助支持、更安全的内核更新、更快的启动速度和登录速度…… 哎对了，果粉们怎么办？果粉？是的，这里说的就是各位**苹果**的忠（Nao）实（Can）粉丝们。虽然我们是Linuxer，但是分享与关爱是我们Linuxer与生俱来的传统美德。因此，Linux Mint 16现已加入对iOS设备的支持，众位果粉这下高兴了吧。不客气~

---

via: <http://www.unixmen.com/linux-mint-16-petra-cinnamon-rc-released/>

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

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


Ubuntu vs. openSUSE：不同的公司控制风格的比较

Summary:
Ubuntu和OpenSUSE以不同的方式发展他们的Linux发行版。你觉得哪种好？
相当多的linux开发都接受来自那些有意改善Linux的公司的资助，这早已不是秘密（这里的Linux我指的是组成一个完整Linux系统的任何部分）。但是， ...

*Ubuntu和OpenSUSE以不同的方式发展他们的Linux发行版。你觉得哪种好？*

相当多的linux开发都接受来自那些有意改善Linux的公司的资助，这早已不是秘密（这里的Linux我指的是组成一个完整Linux系统的任何部分）。但是，许多公司进行资助的方式却有很大不同。

让我们看看两个很典型的例子：Ubuntu和openSUSE。

![](/data/attachment/album/201311/21/222740zk34sh55u0sehus5.jpeg)

这两者都是Linux发行版。两者都是一个规模庞大、长期持续且非常成功的项目，并且它们都有一个包括志愿者和付费职员的大型社区。然而，两者之间的不同还是相当明显而且非常重要。

对于Ubuntu，它发展的主要方向是由Canonical的团队及其领袖Mark Shuttleworth决定的。当谈到Canonical真正“掌舵”Ubuntu时，我们能很快就会想起两个例子，例如Unity（Ubuntu自己的用户界面）和Mir（Ubuntu自己的显示服务）。在许多事情上，母公司都会在没有协商（可以这么说）的情况下设定目标、项目和优先级。例如，Ubuntu的Unity用户界面对于Canonical公司广泛战略目标来说是必须的。一些社区成员喜欢它，另一些则讨厌它。但是不管怎么说，Unity都已经成为Ubuntu的默认用户界面了。

但是这是一件坏事吗？我不确信它到底是好还是坏。这只是这个项目如何与公司相处的问题。

于此形成对比的是openSUSE，它也有一个公司掌控者，好吧，就是SUSE。关键的不同点是SUSE以“SUSE Linux企业版”的形式提供一个商业发行版。尽管openSUSE（社区Linux发行版）与SUSE Linux发行版（商业发行版）在技术上有许多重叠之处...然而专业的说，两者是不同的。

这意味着SUSE，作为一个公司，对待openSUSE时可以更多的采取放手不管的方式，他们的兴趣就是寻找那些被改善的关键性技术（例如，Btrfs文件系统），检测以及打包社区发行版中那些他们想包含在商业发行版中的软件包，但是社区发行版与商业发行版分离的方式与Canonical采取方式相比，给他们提供了更大的灵活性。在这方面，和Canonical不同。

这种方法和红帽对待Fedora的方式非常相似，已经成为了一个公司使用社区Linux发行版为基础，销售企业级的Linux系统的一种成功之路。

不过，坦白的说两种模式我都看到了优点和缺点。在组织上以及管理上（公众部分）他们都面临着各自的难题。实际上，这两种方法与它们的不同点比起来，相同点更多一些。

我非常愿意听到你们对此的看法。你是更喜欢你的以社区为基础的Linux发行版有一个单一的领袖？还是更喜欢你Linux发行版的大多数决定都是有社区驱动的呢？公司是否应该强势控制Linux发行版，还是应该大胆放手让社区来决定呢？请在评论里留言，让我们知道你的看法。

---

via: <http://www.networkworld.com/community/node/84250>

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

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


KDE和Canonical的关于Mir的冲突最终爆发了

Summary:
KDE开发者和Canonical之间酝酿的冲突在一连串Mir显示服务器所造成的问题后最终爆发了。
KDE与Canonical，尤其是Mark Shuttleworth，有很深的交情。曾几何时，在2006年，Mark Shuttleworth是第一个赞助KDE的人，人们  ...

KDE开发者和Canonical之间酝酿的冲突在一连串Mir显示服务器所造成的问题后最终爆发了。

KDE与Canonical，尤其是Mark Shuttleworth，有很深的交情。曾几何时，在2006年，Mark Shuttleworth是第一个赞助KDE的人，人们总会像这样谈论这件事：

“我毫不怀疑当你看到KDE4所带来的巨大潜能时，你会知道你今天所做的是正确的。你是个真正有远见的人。这个世界需要更多的像你一样的人。”一位KDE社区成员所述。

而在七年之后，Canonical宣布了一款新的显示服务器Mir，而KDE、Kubuntu和Canonical社区的所有东西已经被丢到窗外。

[一篇由Mark Shuttleworth写的文章](http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml)最终成为了战争的导火索，其中写道，他将所有批判Mir显示服务器的人归类到一个虚拟的“茶派（Tea Party）”，在他看来这就是派系的而已。有很多人，尤其是几个高级KDE开发者，他们批判Mir，他们在一开始就反对Mir。

![](/data/attachment/album/201311/21/2250565tb59hunm0lulaml.png)

KDE Plasma的开发者兼KDE组织主席，亚伦·塞戈，就这个问题向Mark Shuttleworth发起抗议。而[Canonical的创始人没有理睬](http://news.softpedia.com/news/KDE-Developer-and-President-of-KDE-e-v-Upset-Because-Mark-Shuttleworth-Is-Ignoring-Him-396623.shtml)他的要求，这引起了一系列反应.

第二个反应来自一位Kwin的开发者和维护者，Martin Gräßlin，他说这基本上[可以跟Ubuntu社区说Goodbye了](http://news.softpedia.com/news/Major-KDE-Developer-Says-Goodbye-to-Ubuntu-396429.shtml)。在他的Google+上跟Ubuntu社区经理Jono Bacon的对话已经占满了所有回帖.

“开源总是个很火爆的话题。有时候讨论时会带点粗鲁和不敬。难点是每个人对于粗鲁和无礼的定义是有区别的。就像，每个人对于好和坏行为评定是不同的” Jono Bacon在他帖子所述.

他对于Martin Gräßlin的决定表示遗憾，但他也指出了Ubuntu的行为准则2.0，被打破了很多次已经很难计数了。

按照现在的情况，KDE绝不会采用Mir，Kubuntu可能带有配件，也许Ubuntu风光的日子已经时日不多。

---

via: <http://news.softpedia.com/news/KDE-and-Canonical-Conflict-Over-Mir-Finally-Bursts-into-Open-396651.shtml>

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

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


十个鲜为人知的 Linux 命令 - Part 3

Summary:
我们继续10个鲜为人知Linux命令系列的第三部分。或许你已经知道了这些命令，那你无疑是一个有经验而喜欢探索的Linux用户。
22. ^foo^bar 命令
在一个实例中运行修改后的最后一个命令。假设我需要运行一个命令ls -l来 ...

![](/data/attachment/album/201311/22/144348a858h8838a8amamy.png)

我们继续“10个鲜为人知Linux命令系列”的第三部分。或许你已经知道了这些命令，那你无疑是一个有经验而喜欢探索的Linux用户。

### 22. ^foo^bar 命令

在一个实例中运行修改后的最后一个命令。假设我需要运行一个命令‘**ls -l**‘来详细列出‘**Desktop**’目录下的内容。意外地，你打了‘**lls -l**‘。所以你需要重新打整个命令或者使用导航键编辑前面的命令。当你的命令很长时这个很痛苦。

```
avi@localhost:~/Desktop$ lls -l
bash: lls: command not found

avi@localhost:~/Desktop$ ^lls^ls

ls -l
total 7489440

drwxr-xr-x 2 avi  avi       36864 Nov 13  2012 101MSDCF
-rw-r--r-- 1 avi  avi      206833 Nov  5 15:27 1.jpg
-rw-r--r-- 1 avi  avi      158951 Nov  5 15:27 2.jpg
-rw-r--r-- 1 avi  avi       90624 Nov  5 12:59 Untitled 1.doc
```

**注意**:在上面的替换中我们使用“**<sup> typo(被替换的) <sup>  original_command(原始命令) </sup></sup>**”。警告！这个命令可能会非常危险！如果你有意或者无意地打错了系统命令或者任何像**rm -rf**那样的风险命令的话！

### 23. > file.txt 命令

这个命令会刷新文件的内容而不需删除然后创建相同的文件。当我们需要反复输出，或者在相同的文件上记录日志时，这个命令就非常有用。

我有一个有很多文字的‘**test.txt**’文件在我的‘**Desktop**‘上。

```
avi@localhost:~/Desktop$ cat test.txt

Linux
GNU
Debian
Fedora
kali
ubuntu
git
Linus
Torvalds

avi@localhost:~/Desktop$ > test.txt
avi@localhost:~/Desktop$ cat test.txt

```

**注意**:再说一次，这个命令可能很危险！永远不要尝试刷新系统文件或者某篇日志文件的内容。如果你这么做了，你可能会遭遇严重的问题！

### 24. at 命令

‘**at**‘命令与[cron 命令](http://www.tecmint.com/11-cron-scheduling-task-examples-in-linux/)相似也可用于安排一个任务或者在某个特定时刻执行命令。

```
avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 14:012

```

或

```
avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 2:12 PM

```

**示例输出**

```
-rw-r--r-- 1 avi  avi      220492 Nov  1 13:49 Screenshot-1.png
-rw-r--r-- 1 root root        358 Oct 17 10:11 sources.list
-rw-r--r-- 1 avi  avi  4695982080 Oct 10 20:29 squeeze.iso
..
..
-rw-r--r-- 1 avi  avi       90624 Nov  5 12:59 Untitled 1.doc
-rw-r--r-- 1 avi  avi       96206 Nov  5 12:56 Untitled 1.odt
-rw-r--r-- 1 avi  avi        9405 Nov 12 23:22 Untitled.png

```

**注意**:echo “**ls -l**”的意思是，将这串命令(这里是 **ls -l**)输出在标准终端上。你可以用你需要或者选择的命令替代‘**ls -l**‘。

> ：重定向输出

**/dev/pts/0**: 这是输出设备和/或文件，输出到指定的地方，这里输出在终端（/dev/pts/0）。

就我而言，此时我的**tty**在**/dev/pts/0**。你可以用**tty**命令检查你的**tty**。

```
avi@localhost:~/Desktop$ tty

/dev/pts/0

```

**注意**: ‘**at**‘会在系统时间匹配到特定时间时会尽快执行。

### 25. du -h –max-depth=1 命令

下面的命令以人类可读的形式输出当前目录的子目录的大小。

```
avi@localhost:/home/avi/Desktop# du -h --max-depth=1

38M     ./test
1.1G    ./shivji
42M     ./drupal
6.9G    ./101MSDCF
16G .

```

**注意**:上面的命令在[检查系统使用率](http://www.tecmint.com/check-linux-disk-usage-of-files-and-directories/)是非常有用。

### 26. expr 命令

‘**expr**‘不是那么鲜为人知的命令。这个命令在终端中计算简单的算数时非常有用。

```
avi@localhost:/home/avi/Desktop# expr 2 + 3
5

avi@localhost:/home/avi/Desktop# expr 6 – 3
3

avi@localhost:/home/avi/Desktop# expr 12 / 3
4

avi@localhost:/home/avi/Desktop# expr 2 \* 9
18

```

### 27. look 命令

在终端上从英文字典上查单词以防混淆。比如说，我记不清了是该拼成carrier还是carieer。

avi@localhost:/home/avi/Documents# look car

```
Cara
Cara's
…
...
carps
carpus
carpus's
carrel
carrel's
carrels
carriage
carriage's
carriages
carriageway
carriageway's
carried
carrier
carrier's
carriers
carries
…
...
caryatids

```

上面的命令会显示字典上所有以'car'开头的单词。我得到了我想找的。

### 28. yes 命令

另外一个命令在通常基础上并不会经常使用，但是在脚本语言和系统管理时非常有用。

这个命令会持续地输出给定的字符串，直到由你的中断命令打断。

```
avi@localhost:~/Desktop$ yes "Tecmint is one of the best site dedicated to Linux, how to"

Tecmint is one of the best site dedicated to Linux, how to
Tecmint is one of the best site dedicated to Linux, how to
Tecmint is one of the best site dedicated to Linux, how to
Tecmint is one of the best site dedicated to Linux, how to
…
…
...
Tecmint is one of the best site dedicated to Linux, how to
Tecmint is one of the best site dedicated to Linux, how to
Tecmint is one of the best site dedicated to Linux, how to

```

### 29. factor 命令

factor实际是一个源于数学的命令。这个命令会输出所有给定数字的因数。

```
avi@localhost:~/Desktop$ factor 22
22: 2 11

avi@localhost:~/Desktop$ factor 21
21: 3 7

avi@localhost:~/Desktop$ factor 11
11: 11

```

### 30. ping -i 60 -a IP\_address

我们都用ping命令检测服务器是否连通。我通常ping google，来检测我是否连接到了因特网。

当你等待或者持续盯着你的终端等待命令的回应或者等待服务器的连接时，有时是很气人的。

一旦服务器连通就有一个声音如何（译注：下面命令是等60秒PING一次）？

```
avi@localhost:~/Desktop$ ping -i 60 -a www.google.com

PING www.google.com (74.125.200.103) 56(84) bytes of data.
64 bytes from www.google.com (74.125.200.103): icmp_req=1 ttl=44 time=105 ms
64 bytes from 74.125.200.103: icmp_req=2 ttl=44 time=281 ms

```

注意，当你发现命令不会返回声音时。请确保你的系统不是静音的，声音已经在‘**sound preferences(声音选项)**‘ 中启用并确保勾选了‘**Enable window and window sound**‘。

### 31. tac 命令

这个命令很有趣，他会以倒序输出文本文件的内容。也就是从最后一行到第一行。

在home目录下，我的Documents目录下有一个35.txt文件。用[cat 命令](http://www.tecmint.com/13-basic-cat-command-examples-in-linux/)检查内容。

```
avi@localhost:~/Documents$ cat 35.txt

```

**示例输出**

> 1. Linux is built with certain powerful tools, which are unavailable in windows.
> 2. One of such important tool is Shell Scripting. Windows however comes with such a tool but as usual it is much weak as compared to it's Linux Counterpart.
> 3. Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages.
>

现在用tac命令反转文件内容（译注：当然，我们知道cat反转过来就是tac）。

```
avi@localhost:~/Documents$ tac 35.txt
```

**示例输出**

> 1. Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages.
> 2. One of such important tool is Shell Scripting. Windows however comes with such a tool but as usual it is much weak as compared to it's Linux Counterpart.
> 3. Linux is built with certain powerful tools, which are unavailable in windows.
>

现在结束了。如果你还知道其他一些Linux鲜为人知的命令，你可以在下面评论，那么我们你可以在以后的文章中包含进来。

不要忘了给我们有价值的评论。我很快会发另外有趣的文章。别走开继续关注 **Tecmint**。

---

via: <http://www.tecmint.com/10-lesser-known-commands-for-linux-part-3/>

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

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


如何在Linux上配置基于Web的网络流量监控系统

Summary:
当你在本地网络监控网络流量，根据流量大小、监控平台/接口、数据库类型等等，可以有许多不同的选择。
ntopng是一套开源（遵循GPLv3协议）网络流量分析解决方案，提供基于web界面的实时网络流量监控。支持跨平台，包 ...

当你在本地网络监控网络流量，根据流量大小、监控平台/接口、数据库类型等等，可以有许多不同的选择。

[ntopng](http://www.ntop.org/products/ntop/)是一套开源（遵循GPLv3协议）网络流量分析解决方案，提供基于web界面的实时网络流量监控。支持跨平台，包括Linux和MacOS X。ntopng类似于RMON远端网络监控代理，具有内置的Web服务能力，使用[Redis](http://redis.io/)键值服务按时间序列存储统计信息。你可以在任何指定的监控服务器上安装ntopng，只需使用任一web浏览器，就能实时访问服务器上的流量报告了。

本教程就来介绍**如何使用ntopng在Linux上配置基于Web的网络流量监控系统**

### ntopng的特性

* 从数据流级别与协议级别对本地网络流量进行实时分析
* 支持域、AS（自制系统）与VLAN级别的统计分析
* 支持IP地址地理定位
* 支持基于“服务探索”（例如Google、Facebook）的深度报文检测（DPI）
* 历史流量分析（例如分别按照小时、日、周、月、年进行分析）
* 支持sFlow、NetFlow（v5/v9版）以及基于nProbe的IPFIX
* 网络流量矩阵（谁正在和谁谈话？）
* 支持IPv6

### 在Linux上安装ntopng

官方网页上提供了针对[Ubuntu](http://apt.ntop.org/)和[CentOS](http://rpm.ntop.org/)的二进制安装包。如果你使用的恰好是以上二者其一，并且懒得用源码安装，可以直接到官网下载二进制文件包安装，并忽略这一小节下面的内容。

如果你想通过[源码](http://sourceforge.net/projects/ntop/files/ntopng/)安装最新的ntopng，请继续往下看

如果你是Debian、Ubuntu或Linux Mint，执行以下命令：

```
$ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev
$ tar xzf ntopng-1.0.tar.gz -C ~
$ cd ~/ntopng-1.0/
$ ./configure
$ make geoip
$ make
```

上面的几个步骤中，“make geoip”将会自动通过wget从maxmind.com下载一个免费版的GeoIP数据库，因此，这里最好确保你的系统能联网。

如果你是Fedora：

```
$ sudo yum install libpcap-devel glib2-devel GeoIP-devel libxml2-devel
libxml2-devel redis wget
$ tar xzf ntopng-1.0.tar.gz -C ~
$ cd ~/ntopng-1.0/
$ ./configure
$ make geoip
$ make
```

如果你是CentOS或RHEL，首先[设置EPEL repository](http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html)，然后再执行上面和[Fedora](http://xmodulo.com/go/fedora_guide)一样的命令就可以。

### 在Linux上配置ntopng

ntopng安装完毕之后，接下来，新建一个ntopng配置目录，然后按照下列命令准备默认的配置文件。这里我假设你的本地网络地址为C类“192.168.1.0/24”。

```
$ sudo mkir /etc/ntopng -p
$ sudo -e /etc/ntopng/ntopng.start
```

修改如下：

>
> --local-networks "192.168.1.0/24"
>
>
> --interface 1
>
>
>

```
$ sudo -e /etc/ntopng/ntopng.conf
```

修改如下：

>
> -G=/var/run/ntopng.pid
>
>
>

在运行ntopng之前，要确认先启动redis，刚才不说了，redis为ntopng提供键值存储嘛~

在Debian、Ubuntu和Linux Mint上，这样启动：

```
$ sudo /etc/init.d/redis-server restart
$ sudo ./ntopng
```

在Fedora、CentOS和RHEL上，这样启动：

```
$ sudo service redis restart
$ sudo ./ntopng
```

ntopng默认监听TCP的3000端口，使用下列命令加以确认。

```
$ sudo netstat -nap|grep ntopng tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 29566/ntopng
```

### 基于Web界面的网络流量监控

一旦ntopng成功运行，就可以打开浏览器，访问地址http://:3000

这时，你会看到ntopng的登录界面。使用默认帐密：“admin/admin”。

下面是一些截图。

**top流的实时可视化图像**

[![](/data/attachment/album/201311/22/09483752p2sv0xe9vye5px.jpg)](http://www.flickr.com/photos/xmodulo/10487165303/)

**top主机的实时统计，包括top协议和top AS数量**

[![](/data/attachment/album/201311/22/094840nwz0yoyrc8npy1yy.jpg)](http://www.flickr.com/photos/xmodulo/10486988416/)

**基于DPI的自动程序/服务探索生成的的实时数据报告**

[![](/data/attachment/album/201311/22/094843rny2ynl0ky6r42rk.jpg)](http://www.flickr.com/photos/xmodulo/10486988386/)

**历史流量数据分析**

[![](/data/attachment/album/201311/22/0948455u658kkz1dh154kd.jpg)](http://www.flickr.com/photos/xmodulo/10486995114/)

---

via: <http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html>

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

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


如何在Linux的桌面上创建快捷方式或启动器

Summary: 如果在Linux桌面系统中你经常使用一个程序，你可能想去创建一个桌面快捷方式，以便于你在桌面只要点击一下快捷方式就可以启动它。虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式，还有一些图形界面  ...

如果在Linux桌面系统中你经常使用一个程序，你可能想去创建一个“桌面快捷方式”，以便于你在桌面只要点击一下快捷方式就可以启动它。虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式，还有一些图形界面程序或者命令行程序可能需要你手动创建快捷方式。

在这个教程里，我将告诉你**如何在不同的Linux桌面上添加桌面快捷方式**。（译注：其实除了作者所述的这些方法外，各种桌面上也还有更简便的方法，大家可以评论分享自己的经验）

一个桌面快捷方式是由内含该APP元信息（例如，app的名字，启动命令或者图标位置等）的.desktop文件所表示的。桌面快捷方式文件放置于**/usr/share/applications**或者**~/.local/share/applications**处。前一个目录存储的桌面快捷方式每个用户都可以使用，而后一个目录则含有仅仅为特定用户创建的快捷方式。

### 使用命令行创建桌面快捷方式

要为特定程序或命令创建桌面快捷方式，你可以使用任意文本编辑器创建一个.desktop文件，然后把它放到**/usr/share/applications**或者**~/.local/share/applications**处。一个典型的.desktop文件如下图所示。

```
[Desktop Entry]
Encoding=UTF-8
Version=1.0                                     #version of an app.
Name[en_US]=yEd                                 #name of an app.
GenericName=GUI Port Scanner                    #longer name of an app.
Exec=java -jar /opt/yed-3.11.1/yed.jar          #command used to launch an app.
Terminal=false                                  #whether an app requires to be run in a terminal
Icon[en_US]=/opt/yed-3.11.1/icons/yicon32.png   #location of icon file.
Type=Application                                #type
Categories=Application;Network;Security;        #categories in which this app should be listed.
Comment[en_US]=yEd Graph Editor                 #comment which appears as a tooltip.

```

除了手动创建.desktop文件之外，依据你的系统所采用的桌面环境的不同有不同的创建应用快捷方式的方法，接下来的教程我将为你讲解。

### 在GNOME桌面下创建快捷方式

在GNOME桌面环境下，你可以使用gnome-desktop-item-edit轻松创建创建一个桌面快捷方式。

```
$ gonme-desktop-item-edit ~/.local/share/applications --create-new
```

在这个例子中，gnome-desktop-item-edit会在目录～/.local/share/applications中自动创建一个桌面启动器文件。若是想自定义快捷方式图标或者其它信息，你可以手动编辑.desktop文件。

如果在你的系统上，gnome-desktop-item-edit不可用（例如，在Ubuntu上），你可以依照下面方式安装：

```
$ sudo apt-get install --no-install-recommends gnome-panel
```

### 在KDE桌面创建快捷方式

kickoff是KDE桌面默认的应用启动器。可以直接在kickoff里添加新的应用启动快捷方式。

首先右击位于你桌面左下角处的kickoff图标，然后选择菜单“编辑应用”。

[![](/data/attachment/album/201311/23/1953274su55z5bkukp745r.jpg)](http://www.flickr.com/photos/xmodulo/10848506344/)

在你要创建快捷方式的合适分类处（例如， "Utilities"）右击，点击位于顶部的“新条目”按钮，键入应用的名字。

[![](/data/attachment/album/201311/23/195330f11c5cokmkpyucxk.jpg)](http://www.flickr.com/photos/xmodulo/10848418496/)

最后，填上使用快捷方式启动app时所需的元信息即可。

[![](/data/attachment/album/201311/23/195332yy03fgbay4bq4wsz.jpg)](http://www.flickr.com/photos/xmodulo/10848506284/)

### 在xfce桌面上创建快捷方式

假如你使用xfce桌面，在桌面空白处右击，选择“创建启动器”按钮。然后填上快捷方式的详细信息就可以了。

### 在Cinnamon桌面上创建快捷方式

假如使用的是Linux Mint的Cinnamon桌面，你可以在桌面空白处右击鼠标，选择菜单“创建启动器”而创建一个应用启动器。

### 在LXDE桌面上创建快捷方式

在LXDE桌面，你只需在桌面空白处右击一下鼠标，然后选择“创建新快捷方式”就可以咯。

[![](/data/attachment/album/201311/23/1953353ihzabwnbpibwybp.jpg)](http://www.flickr.com/photos/xmodulo/10848922593/)

---

via: <http://xmodulo.com/2013/11/create-desktop-shortcut-launcher-linux.html>

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

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


解密"top"命令

Summary: 当对服务器的性能好奇时，我第一个想到的是"top"命令。top不是最好的，它不是一个长期的快照，但是它提供了服务器的一个不错的时间点快照，并且试着提供了告诉"现在在发生什么？"。不幸地，如果你没有深入了解不同显 ...

当对服务器的性能好奇时，我第一个想到的是"top"命令。top不是最好的，它不是一个长期的快照，但是它提供了服务器的一个不错的时间点快照，并且试着提供了告诉"现在在发生什么？"。不幸地，如果你没有深入了解不同显示域的意义，top的输出很容易被误解。

我不会完整解读top命令的[man page](http://www.linuxmanpages.com/man1/top1.php)，当你和时间和意愿时，它一直在那等着你。我想要做的是指出一些我如何得到系统的快速概况的几个要点，并希望得到我接下来该怎么做的指示。top是我在故障排除时的第一站，但这很少会是我唯一的一站。

[![](/data/attachment/album/201311/23/202423a2xaiu4o42g28uu2.png)](http://www.flickr.com/photos/51724787@N06/10847969205/)

top命令我第一个看的是平均负载(load average)，它在右上角的屏幕上。平均负载的计算是基于统计搜集到的数量，但是通常可以认为是CPU被请求工作的数量。如果你的机器有一个单核CPU，那么平均负载是1就意味着机器满载的，并且有足够的能力在采样时间内完成任务。同样地，如果平均负载是2，那对单核的CPU是超载的，并需要2个可用内核才能在同样的采样时间内完成的要求的任务。随着8、16、32核的发售，我会在判断平均负载的时候就要注意一下。比如我需要去检测时，我会在top里按了数字"1"，这会列出所有CPU核列表，这样我就可以得到一个快速计数用于比较负载。

我检查的第二项是上面列出来的内容的第9列，标记着"%CPU"那个。对这一列的解释是很模糊的:

>
> 任务所分享的上次屏幕刷新后的CPU运行时间，以全部的CPU时间百分比表示。在一个真正的SMP（多处理器）环境中，如果'Irix mode'是关闭的，top会在'Solaris mode'下运行，这里一个任务的cpu使用率将除以全部的CPU数量。你可以用'I'（大写字母I）这个交互命令触发Irix或Solaris模式。
>
>
>

一点也不清楚，是么？这里要记住的主要意思是，如果单个进程由于某个原因或者其他因素占用率升高，那么他很有可能会以%CPU很高的数字显示在top的第一行。

我下一个注意到的区域是"Cpu(s):"这一行，在头部信息的中间。特别地，我对%us、sy%、%id、和%wa感兴趣，它们分别是用户进程、系统进程、空闲时间和CPU用于等待I/O流执行的时间比例。这个百分比应该接近于0，高于5%时需要密切关注。

最后，我想要看看系统up时间，这显示在左上角。如果我对一台服务器有疑问，并且这台服务器最近重启过，这里可能会发现一些什么，或许是一个守护进程没有启动。

这些检查只需要几秒。如果我只是观察，我可能让top运行几分钟并观察进程、CPU和负载，但是通常地我很快地进入和退出top。top是给你一个系统健康概况的那些奇妙系统管理员工具之一，并允许你快速诊断潜在的问题。

---

via: <http://ostatic.com/blog/deciphering-top>

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

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


戴文的Linux内核专题：10 配置内核(6)

Summary:
欢迎来到下一篇关于内核配置文章！还有大量的选项需要配置。这篇文章将主要讨论PCI和ACPI。

这里我们可以启用由ACPI控制的扩展坞和可移动驱动器槽的支持(Dock)。记住，ACPI(Advanced Configuration and Power Manag ...

欢迎来到下一篇关于内核配置文章！还有大量的选项需要配置。这篇文章将主要讨论PCI和ACPI。

![](/data/attachment/album/201311/23/211248jqrqtwj8e8rhtteq.png)

这里我们可以启用由ACPI控制的扩展坞和可移动驱动器槽的支持(Dock)。记住，ACPI(Advanced Configuration and Power Management Interface)是一个电源管理系统。扩展坞是一种其他的设备通过额外的接口插入的设备。扩展坞可以容纳许多不同的端口和连接器。一个ACPI控制的扩展坞是指其电源管理是通过ACPI进行的。驱动器槽是一套可以增加硬盘的设备，这也可以由ACPI管理。

下面，我们允许ACPI用来管理空闲的CPU(Processor)。这会让处理器在空闲时进入ACPI C2或者C3状态。这可以节省电源并降低CPU芯片的温度。处理器只在100%没有占用时才进入空闲状态。没有程序必须请求一个特定时间的CPU资源。

CPU电源有四个状态 - C0、C1、C2和C3。C0是操作激活状态。C1(Halt)是一个不执行指令激活状态，但是可以立刻执行指令。C2(Stop-Clock)是一种断电状态。C3(Sleep)是一种比C2更彻底的断电状态。在C3状态中，现在缓存不再被同步或者管理，直到CPU离开这个状态。第五个状态称作C1E(Enhanced Halt State)，他拥有低功耗。

如果启用了IPMI驱动，那么ACPI可以访问BMC控制器(IPMI)。基板管理控制器(BMC)是一种管理软件和硬件间连接的微控制器。智能平台管理接口(IPMI)是一种框架，通过直接的硬件层面而不是登录shell或者操作系统层面来管理计算机。

ACPI v4.0进程聚合器允许内核应用一个CPU配置到所有系统中的处理器中(Processor Aggregator)。截止到ACPI v4.0，只有idle状态可以用这个方式配置。

接下来，可以启用ACPI热区(Thermal Zone)。多数硬件支持这个特性。这允许风扇的电源由ACPI管理。

如果启用这个选项，自定义DSDT可以链接到内核。在这个设置中，开发者必须在文件中包含完整的路径名。系统差异表(DSDT)是一个包含了系统支持的电源事件信息的文件。它不需要输入路径名，这些表存在于固件中。内核会帮你处理这些。这个主要的目的是用于如果开发者需要使用不同于设备内置的表时用到。

任意ACPI表都可以通过initrd来覆盖(ACPI tables override via initrd)。ACPI表是指示如何控制并与硬件交互的基础规则和指令。

像内核的其他部分一样，ACPI系统也可以生成调试信息(Debug Statements)。像其他调试特性一样，你或许希望禁用它并省下50KB。

启用下面的特性会为系统检测到的每个PCI插槽(PCI slot detection driver)创建文件(/sys/bus/pci/slots/)。一个PCI插槽是在PCI主板上的一个端口，它允许用户接上其他的PC设备。PCI是主板的一种类型。PCI是指组件互相通信的方式。有些应用程序可能需要这些文件。

电源管理定时器是另外一种电源管理系统(Power Management Timer Support)。这是许多系统追踪时间的方式。这个只需要很少的能源。处理器的空闲、电压/频率调节和节流都不会影响这个定时器。大量的系统需要使用这个特性。

下面，可以启用ACPI模块和容器设备驱动(Container and Module Devices)。这会启用处理器、内存和节点的热插拔支持。它需要NUMA系统。

下面的驱动提供对ACPI内存的热插拔支持(Memory Hotplug)。有些设备甚至启用这个驱动也不支持热插拔。如果驱动以模块形式加入，那么模块将会被acpi\_memhotplug调用。

注意：对于内核某个特定的功能，硬件、BIOS和固件在必须支持时会有问题。有些系统的BIOS是不控制硬件的。这种类型的BIOS通常不会限制特性。如果内核确实有一个特定的功能，硬件必须有能力完成这样的任务。

智能电源管理驱动提供访问电池的状态和信息(Smart Battery System)。

下面，我们有一个"Hardware Error Device"驱动。设备通过SCI报告硬件错误。通常上，大多数的错误会是已纠正的错误。

下面的是ACPI调试特性(Allow ACPI methods to be inserted/replaced at run time)。这允许ACPI AML方式不通过重启系统管理。 AML代表的是ACPI机器语言(ACPI Machine Language)。AML代码可以通过请求重启来改变和测试。

APEI是ACPI的错误接口(ACPI Platform Error Interface (APEI))。APEI从芯片给操作系统报告错误。这个错误接口同样提供错误注射的能力。

当"SFI (Simple Firmware Interface) Support" 启用后，硬件固件可以发送消息给操作系统。固件与操作系统间的通信通过内存中的静态表。SFI-only的计算机的内核工作需要这个特性。

想要改变处理器的时钟速度和运行时，就启用这个特性(CPU Frequency scaling)。CPU频率调整意味着改变处理器的时钟速度。这个驱动可以用于降低时钟频率以节能。

下面是另外一个电源管理子系统(CPU idle PM support)。当处理器不在活跃状态时，它最好处在有效的空闲方式来减少电源消耗和减少CPU损耗。减少电源消耗同样可以降低内部元件的发热。

Linux内核提供了很多CPU空闲驱动。在多处理器系统上，一些用户可能有一个理由在每个CPU上使用不同的驱动(Support multiple cpuidle drivers)。启用这个驱动可以允许用户给每个处理器设置不同的驱动。

对于Intel处理器，内核有一个特别为管理这类CPU芯片空闲的驱动(Cpuidle Driver for Intel Processors)。

当内存芯片空闲时，这些同样可以处于低功耗状态(Intel chipset idle memory power saving driver)。这个驱动是特别支持IO AT的Intel设备的。

不同的计算机使用不同类型的主板(PCI support)。其中一种类型是PCI。这个驱动允许内核运行在PCI主板上。

下面，我们可以启用/禁用 "Support mmconfig PCI config space access"。

接下来，我们有一个选择启用/禁用主桥窗口驱动(Support mmconfig PCI config space access)。警告：这个驱动还没有完成(至少在3.9.4中是这样)。

像上面提到的主板，还有另一种类型的主板。写一个选项是提供"PCI Express (PCIe) support"的驱动。PCIe是一种改进并且更快速的PCI。

在这之后，下面的驱动应该被启用以支持PCIe主板上的热插拔(PCI Express Hotplug driver)。

接着，我们可以启用/禁用PCIe主板报错(Root Port Advanced Error Reporting)。这就是PCIe AER驱动。

下一个特性允许用户使用PCIe EREC(PCI Express ECRC settings control)覆盖BIOS和固件设置。下一个选项，这是对PCIe的错误注射(PCIe AER error injector support)。

下面的设置提供了操作系统控制PCI的活跃状态和时钟电源管理(PCI Express ASPM control)。通常上，固件会控制ASPM，但是这个特性允许操作系统采取控制。

如前面一样，像内核的许多组件一样，这里提供了ASPM的调试支持(Debug PCI Express ASPM)。

下面，在这个菜单选择"Default ASPM policy"。

在这选项之后，下一个是关于允许设备驱动启消息信号中断(Message Signaled Interrupts (MSI))。通常上最好允许设备给CPU发送中断。

为了在系统日志中加入大量的调试信息，启用"PCI Debugging"。

下一个选项允许PCI核心检测是否有必要启用PCI资源重分配(Enable PCI resource re-allocation detection)。

当在Linux上托管一个虚拟操作系统时，它有时可以用于为虚拟系统保留PCI设备(PCI Stub driver)。在系统虚拟化下，一个操作系统可能在另一个系统的内部或者并行。有时它们会竞争资源。可以为客户机保留设备可以减小竞争和增加性能。

下面的驱动允许超传输设备(hypertransport devices)使用中断(Interrupts on hypertransport devices)。HyperTransport是一种系统/协议总线用于处理器之间的高速通信。

下一个驱动用于PCI虚拟化，它允许虚拟设备间共享它们的物理资源(PCI IOV support)。

PCI页面请求接口(PRI)使在IOMMU(输入/输出内存管理单元)之后的PCI设备能够从页错误中恢复(PCI PRI support)。页错误不是一种错误；它指的是软件尝试访问不在物理内存上的数据的事件。

再次说明，你会在之后的文章中看到更多的需要配置Linux内核特性。

---

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

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

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


Suse Linux 延长支持期时间到10年

Summary:
Suse在客户的要求下延长了支持期
Suse Linux Enterprise (SLE)(11版)及以后的版本将会迎来10年的支持期和而不是现在的7年，此举是为了应对竞争对手的服务。

Suse的总裁和总经理尼尔.布劳克曼，在佛罗里达的维斯塔湖 ...

**Suse在客户的要求下延长了支持期**

Suse Linux Enterprise (SLE)(11版)及以后的版本将会迎来10年的支持期和而不是现在的7年，此举是为了应对竞争对手的服务。

![](/data/attachment/album/201311/24/191613bj65zeu3ela760za.png)

Suse的总裁和总经理尼尔.布劳克曼，在佛罗里达的维斯塔湖举办的Suse 2013会议上的发言说："我们将进入一个新的Suse Linux Enterprise支持周期。"这个主题演讲的[视频](http://www.youtube.com/watch?v=T0W4izFu_WM)已经被放到了YouTube上。

Suse产品管理和操作的高级总监杰拉尔德.普法伊费尔，在周三的一封邮件中说："Suse Linux Enterprise 11是首个得到10年支持期的主要版本，以及3年的扩展支持(LTSS)。我们也考虑向前推进这个新的Suse Linux Enterprise的支持周期，同样包含了12版。"Suse售卖开源Linux软件给企业。

普法伊费尔说："Suse提供不同的包用于扩展支持。扩展支持到13年将花费$60,000/每100台服务器，或者$80,000/每500台服务器。如果不限制服务器的数量，费用是$125,000.这些价格已经沿用好几年了。"

布劳克曼在他的主题演讲中说："从一个7+3年的支持期到10+3年的支持期，客户能得到更多时间通用支持。"他还说:"这个决定是在几周前在客户的反映下做出的。"

Suse的支持期延长是随着Red Hat的在去年1月的行动，RedHat根据客户需求将 Red Hat Enterprise Linux (RHEL) 5和6的生命周期延长到10年。

基于RHEL的Oracle Linux，去年2月将支持期从8年延长到10年。而基于Enterprise Linux的重编译版本的CentOS，同样将支持周期延长到10年有一段时间了。

---

via: <http://www.itworld.com/operating-systems/382610/suse-linux-enterprise-expands-regular-support-10-years>

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

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


Red Hat 为64位ARM服务器做准备

Summary:
ARM处理器可能带来具有成千上万的节点的堆叠服务器，Red Hat的ARM首席架构师预测说

来自IDG新闻服务：企业开源软件供应商Red Hat公司正在密切关注服务器的64位ARM处理器的发展，以建立在数据中心的新生平台上的专业 ...

>
> ARM处理器可能带来具有成千上万的节点的堆叠服务器，Red Hat的ARM首席架构师预测说
>
>
>

来自IDG新闻服务：企业开源软件供应商Red Hat公司正在密切关注服务器的64位ARM处理器的发展，以建立在数据中心的新生平台上的专业能力。

![](/data/attachment/album/201311/24/194527yy3gg7yvy087as53.png)

“你们在当今的商业产品市场看不到我们，但我们已经建立了超越如今一些64位技术的能力。所以接下来，如果我们有一个需要应对的市场，我们将有能力应对，”Red Hat首席ARM设计师Jon Masters说。这是Masters周五在华盛顿特区举行的USENIX LISA（大型安装系统管理）会议上提出的。

ARM处理器代表了“计算上翻天覆地的变化，”Masters说。虽然已经在智能手机和嵌入式计算设备占据主导地位，ARM处理器架构还可以在数据中心发挥作用。在过去的一年中，基于ARM处理器的服务器已经开始出现在服务器市场。惠普已经开始销售基于ARM架构的Moonshot系列服务器。

对于数据中心，ARM可能会因其低功耗设计而带来超大规模计算时代，这样数千个微型计算节点可以打包成一个堆叠服务器。“我们在不久的将来能够建立起完全区别于现今的规模。”Masters说。

ARM处理器可能无法以x86处理器的速度运行，但它们可以提供大部分的性能而只消耗一小部分能源，这意味着在一个较小的空间可以打包更多的处理器。“你可以用你手机中相同的技术，作为高密度服务器设计的一部分”，Masters说。

他说，许多工作并不需要最快的处理器。相反，工作负载可以分布在更多的处理器上。“这和我能移动多少数据有关系，并不一定和我能做多少计算有关，”他说。例如，云计算和Web应用程序运行在多个服务器上，和运行在数量较少但速度更快的服务器上的表现会同样出色。

ARM的设计也可以简化数据中心操作。ARM的芯片内系统的设计方式可以解决管理许多服务器的外部元件的需要。例如，ARM处理器可以提供交叉互联，减少外部电缆和顶级机架交换机的需要。

“每一个刀片都具有离散布线已经指日可待了， ”他说。

Masters说超大规模计算还需要做大量的工作。

ARM授权它的架构而不是和英特尔一样卖处理器。其结果是，从不同供应商提供的不同的ARM处理器有相当程度的变化。“有很多我们不需要的，不必要的变化，”Masters说。 ”这可能成为需要统一系统来管理集体的数据中心的一个问题。

[Linaro](http://www.linaro.org/)是一个致力于为ARM平台和部分已经标准化ARM任务开发核心开源软件的产业群。Red Hat的工程师发挥了重要作用，Linaro企业集团，或称为LEG，一直在努力规范软件，让用户可以得到一个能运行在不同供应商提供的ARM处理器的Linux版本。”这些都是在企业领域的基本期望，”Masters说。

“我们需要把重心放在如何使它们从根本上兼容，这样你可以进一步增加堆叠，”他说。

另一个问题是对外围设备的支持，仍然没有标准化的32位ARM处理器。Masters说，LEG正在考虑使用64位ARM处理器的ACPI（高级配置和电源接口）标准或UEFI（统一可扩展固件接口）。随着时间的推移，ARM将提供一个类似自动化总线的能力，比如将提供支持x86的机器的PCI总线。

Masters说，Red Hat还没有宣布任何关于什么时候会发布一个ARM架构的Red Hat企业Linux版本的通知，但他明确指出，测试了许多RHEL应用程序的社区Linux发行版Fedora项目，现在已经为ARM提供了一个发行版。

---

via: <http://www.computerworld.com/s/article/9243921/Red_Hat_prepares_for_64_bit_ARM_servers?taxonomyId=122>

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

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


如何在Linux下监控系统温度

Summary: 大多数情况下，你无需担心你的电脑温度。除非制造上的缺陷，否则硬件设计一般不会使其超过最高工作温度。但即使没有任何硬件故障，各种各样的软件问题也会导致硬件过热，例如，显卡驱动的严重bug，风扇控制程序的错  ...

大多数情况下，你无需担心你的电脑温度。除非制造上的缺陷，否则硬件设计一般不会使其超过最高工作温度。但即使没有任何硬件故障，各种各样的软件问题也会导致硬件过热，例如，显卡驱动的严重bug，风扇控制程序的错误配置，CPU调频守护进程的故障，等等。

严重的过热可能会对硬件造成永久性的伤害，所以应当时刻小心系统上的任何过热问题。因此，如果有合适的温度监控系统，能在系统温度突然急速上升时，第一时间向用户发出警报，岂不美哉？

本教程，我将描述**如何在Linux下监控系统温度**。

在Linux下有许多用户级工具可以检查和监控各种系统组件的温度。

例如[lm-sensors](http://lm-sensors.org/)，它可以从硬件嵌入式传感器获取信息,以达到监测温度、电压、湿度和风扇的作用；还有[hddtemp](http://www.guzu.net/linux/hddtemp.php),它可以通过读取[S.M.A.R.T.](http://en.wikipedia.org/wiki/S.M.A.R.T.)参数来测量温度；今天我们要介绍的是[psensor](http://wpitchoune.net/blog/psensor/)，这是一款前端图形化界面温度监测工具，能够可视化显示CPU、Nvidia/ATI/AMD各家显卡以及硬盘等多个硬件设备的温度。

接下来，我将描述如何设置psensor来监控CPUs和硬盘的温度。

### 在Linux 桌面系统中安装 psensor

使用psensor可视化显示系统温度，需要基于其他工具诸如lm-sensors和hddtemp等获得的数据。因此你需要在安装psensor的同时，一并安装这两款工具。

在Debian或Ubuntu下安装psensor:

```
$ sudo apt-get install lm-sensors hddtemp psensor

```

在Ubuntu下还可以通过PPA仓库安装最新版本的psensor：

```
$ sudo add-apt-repository ppa:jfi/ppa
$ sudo apt-get update
$ sudo apt-get install lm-sensors hddtemp psensor

```

在Fedora下安装psensor：

```
$ sudo yum install lm_sensors hddtemp
$ sudo yum install gcc gtk3-devel GConf2-devel lm_sensors-devel cppcheck libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel help2man libnotify-devel libgtop2-devel make
$ wget http://wpitchoune.net/psensor/files/psensor-0.8.0.3.tar.gz
$ tar xvfvz psensor-0.8.0.3.tar.gz
$ cd psensor-0.8.0.3
$ ./configure
$ make
$ sudo make install

```

这里注意，由于需要GTK3库的支持，psensor无法与搭载GNOME2桌面的CentOs或RHEL 6兼容。

### 在Linux中配置 psensor

在启动 psensor之前，你需要先配置lm\_sensors和hddtemp。

#### lm\_sensors 配置

运行以下命令，配置lm\_sensors，每一项都选择YES。

```
$ sudo sensors-detect

```

这个命令将会探查和检测你硬件中嵌入的传感器(包括CPUs、储存控制器、I/O芯片)，然后自动决定系统中哪个驱动模块需要载入并监测其温度。

一旦传感器检测完成，你需要把检测到的驱动模块添加到/etc配置中，这样它们才可以在开机时自动加载。

![img](/data/attachment/album/201311/25/142933tonhln3svk7ea3wa.jpg)

在Debian或Ubuntu下，检测到的驱动模块将会被添加到/etc/modules。在Fedora下，驱动信息会添加到/etc/sysconfig/lm\_sersors。

接下来，继续加载必要的模块，如下:

Ubuntu:

```
$ sudo service module-init-tools start

```

Debian:

```
$ sudo /etc/init.d/kmod start

```

Fedora

```
$ sudo service lm_sensors start

```

#### hddtemp 配置

你还需要启动hddtemp，监控硬盘驱动器的温度。

运行下列命令，作为一个守护进程启动hddtemp。记得把“/dev/sda”替换成你系统上的硬盘驱动器。

```
$ sudo hddtemp -d /dev/sda

```

### 用 psensor 监控系统温度

要启动psensor监测温度，只需简单运行:

```
$ psensor

```

psensor窗口将显示一个可用的传感器列表，并将传感器中读出的温度可视化显示出来。你可以选择性地启用或禁用任意一个传感器。

[![](/data/attachment/album/201311/25/1429356umsce8lksmf6g9l.jpg)](http://www.flickr.com/photos/xmodulo/10719475225/)

另外，你可以为每个传感器设置警报级别，这样当传感器温度超过某一阈值时，你就能得到通知了。

![img](/data/attachment/album/201311/25/142937dz5x6j346g33qt6w.jpg)

psensor默认使用的温度单位是“摄氏度”，最新的版本（0.7-0.8）支持在摄氏与华氏之间转换温度单位，如果你用的版本比较旧（例如0.6.x）并且不支持温度单位转换，Ubuntu用户可以通过PPA仓库来安装最新版的psensor，Debian用户则可以通过源代码来安装。

---

via: <http://xmodulo.com/2013/11/monitor-system-temperature-linux.html>

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

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


Linux编程女神计划招募新的内核级MM实习生

Summary: 作为FOSS的Linux编程女神计划（Outreach Program for Women）的一部分，这个夏季在Linux基金会工作的实习生们背景不同，水平也高低不等，但是她们至少有一件事情是相同的（除去性别之外），就是她们可以在自己的履历 ...

作为[FOSS的Linux编程女神计划（Outreach Program for Women）](https://wiki.gnome.org/OutreachProgramForWomen)的一部分，这个夏季在Linux基金会工作的实习生们背景不同，水平也高低不等，但是她们至少有一件事情是相同的（除去性别之外），就是她们可以在自己的履历中添加一项“Linux内核黑客”。（译注：Outreach Program for Women，OPW此处译作“Linux编程女神计划”带有调侃意味，Just joke，没有恶意。）

![](/data/attachment/album/201311/25/155332snwlkt4tt444aotx.jpg)

*针对女性的招募项目在对Linux内核3.12的贡献已经名列前茅。来源：LWN.net*

在Linux基金会资助的第一批每人5000美元酬金的申请人中，Lisa Nguyen, Xenia Ragiadakou, Elena Ufimtseva, Laura Vasilescu 和Tulin Izer是41申请者中的7名女性女性获得者。她们与Intel、Oracle和Citrix的内核开发者一起全职工作了三个月，处理包括x86启动进程和XNUMA拓扑等项目。她们还利用500美元的旅行奖学金，出席了在新奥尔良或者爱丁堡举行的LinuxCon会议并做了演讲。

“我要说能有我这样的机会并不多哦，在LinuxCon北美会议上做志愿者，在LinuxCon北美会议上发表演讲，而且与Linux Torvalds交流了三天！”Nguyen说，她是一个Linux内核实习生，与Orcale的Konrad Rzeszutek Wilk一起解决Xen block 驱动问题。

除了学习如何创建和提交内核补丁，这些实习生们通过结交新朋友和同事，克服了她们的恐惧心理，为Linux内核的发展作出了显著的贡献。

“我不再害怕碰内核代码了”Izer这样说道，她和来自Intel的Peter P. Waskiewicz Jr.一起工作，解决x86的启动进程并行化问题。“这是我第一次对开源项目作出贡献，我以此为自豪。我将接着做下去”。

### 内核贡献着排行榜

据[LWN 8月内核报告](http://lwn.net/Articles/563977/)，作为一个组织，OPW被列为对Linux3.11内核的主要贡献者之一，提交了230个变更，总体位于第13位。其中，实习生Xenia Ragiadakou给3.11内核贡献了100个补丁，在最活跃的开发者中位列前10！

“我的主要工作就是添加追踪事件，然后写trace-cmd插件，以便于人们阅读的格式分析这些痕迹，以方便xhci(驱动)找出问题。” ”Ragiadakou说，她和Intel的内核开发者Sarah Sharp一起做这项工作。“我学习了如何使用git，如何使用静态代码分析工具，以及如何发送补丁，如何查看debug日志，usb子系统是如何组成的，xhci驱动又是如何实现的。”

据[LWN 10月分析报告](http://lwn.net/Articles/570483/)，在内核3.12上，OPW再次排在了贡献最大的团队或公司之中，这次是排行第11行，有19，649行代码的改动。那代表了在过去最新的一次开发周期中接近2.7%的改动量。

在她们的实习计划在9月份结束时，她们中的大多数仍然持续做该项目并打算继续做下去。

“我认为成为一个内核开发者是一件非常酷的事情，将来，我也要继续做这件事情，”Vasilescu说，她和Intel的Carolyn Wyborny以及 Anjali Singha一起解决igb驱动的ethtool属性。

“我甚至需要学习如何才能停下来。有时候，好吧，是常常，我无法停下来，”Ufimtseva说，她和Citrix的Stefano Stabellini、Dario Fargiolli、George Dunlap一起工作，以解决针对与工作在xen上的并行虚拟机的vNUMA拓扑问题。“我一直努力，最终我贡献的补丁被提交到了高质量代码库里，这真的是很鼓舞人心哇！”

下一轮Linux内核实习生的截止日期是11月。申请者应有c或c++和布尔代数的基本知识，对Linux/Unix操作系统有一定的经验，了解Git更好，不过不是硬性要求。想了解有关项目以及如何申请的更详细信息，可浏览 [Kernel Newbies上的OPW 页面](http://kernelnewbies.org/OPWIntro)。

### Lisa Nguyen

![](/data/attachment/album/201311/25/155333v7ww8fr5cl5amec5.jpg)

**Lisa Nguyen和Oracle的Konrad Rzeszutek一起解决Xen的时钟驱动问题**

在我成为OPW实习生之前，我已经获得了多个大学学位，如计算机科学，数字分析和信息安全等。我在过去的两年中持续地使用Linux，我还在Linux社区中充当多种角色，例如项目管理着，man页的作者，LinuxCon会议的协调者以及内核贡献者。

**你为什么申请同OPW一起为Linux内核工作**

我想要一个挑战，想要跳离自己的小窝。我要给自己一个软件开发的机会，因为过去我一直面临自信心问题。一天，我决定要寻求一个有关Linux的职业来而不是数字分析工作。当我看到OPW项目出现在Linux基金会在Google+上的博文时，我觉得这是一个再合适不过的机会咯，于是，我想“我为什么不去尝试一下呢？”

### Elena Ufimtseva

![](/data/attachment/album/201311/25/155334xfyw9gbrbr0jd6zw.jpg)

**Elena Ufimtseva与来自Citrix的Stefano Stabellini, Dario Fargiolli, George Dunlap的一起去解决xen虚拟机中的并行虚拟客户端的vNUMAde的拓扑问题**

我作为一名Linux系统管理员已经有想当长的一段时间了，而且成为了许多项目的一分子。我从俄罗斯联邦的St.-Petersburg大学获得了我的计算机科学硕士学位。

**你为什么申请同OPW一起为Linux内核工作**

我觉得我想在底层开发软件，例如系统软件，而不是用java。我有一种感觉，我能应对复杂的问题并解决他们。我经常阅读最新的Linux新闻，我觉得最吸引我注意的是Greg在一年前在Google做的“关于Linux内核开发者社区以及补丁递交程序”等的报告。我觉得“哇，这好好玩哇！”

### Laura Vasilescu

![](/data/attachment/album/201311/25/1553349mkhazw3rkr29kj0.jpg)

**Laura Vasilescu 和 Carolyn Wyborny以及Anjali Singhai共同去解决igb驱动的ethtool属性。**

我认为自己就是一个极客，我对改善教育系统（尤其是罗马尼亚的）有着非常浓厚的兴趣。作为一名学生，我志愿做我所在大学的教师助理，还是罗马尼亚开源教育协会的成员。我的技术专长是网络，操作系统和底层编程语言。

**你为什么申请同OPW一起为Linux内核工作**

我觉得成为一名内核贡献着是一件非常酷的事情，我要做一下这样的事情。

### Tulin Izer

![](/data/attachment/album/201311/25/155335gzf6662yy6s6psze.jpg)

**Tulin Izer和来自Intel的Peter Waskiewicz一起去解决x86系统的启动进成并行化问题。**

我来自于土耳其。我是一名来自于伊斯坦布尔的Galatasaray大学的计算机工程专业的学生。今年我大四。

**为什么你申请同OPW一起为Linux内核工作**

我对操作系统以及使用C语言进行编程非常感兴趣，但是我对内核开发没有任何经验，但是我觉的这是一个起步的好地方。

### Xenia Ragiadakou

目前，我在克利特大学学习计算机科学。过去，我已经修完了几门课程，如经济学，东欧研究史等。我决定另换一个领域的原因是我感到厌烦了。我不知道这个想法是否明智。但是我意识到我需要的是更加具有创造性、富有变化以及非常实用的东西。所以，我决定进入计算机科学学院学习。现在，我的内心重新回复平静：我觉得编程是一件更加适合我的事情。这就像玩游戏一样，我非常喜欢编程的乐趣。

**为什么你申请同OPW一起为Linux内核工作**

想加入开源项目的想法已经在我的脑海中存在很久了，但我一直认为我还没有足够的能力加入开源项目中去。这次有三个因素促使我去申请。1）OPW针对女性这一目标是我感到更加舒坦。2）有Linux核心方面的项目。3）被引入Linux内核的开发过程非常平顺，会在应用开发的早期加入进去。

作者：[Libby Clark](http://www.linux.com/community/forums/person/41373/catid/200-libby-clark)

![](/data/attachment/album/201311/25/15531499s762q79zygoctz.jpg)

---

via: <http://www.linux.com/news/featured-blogs/200-libby-clark/746687-outreach-program-for-women-seeks-new-linux-kernel-interns/>

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

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


举例说明Linux diff 命令

Summary: 在比较文件的时候，通常会用基于GUI的软件。很少有人真正会为了这个目的使用命令行工具。虽然说使用命令行来比较文件/目录并不像一件小事儿那样容易，但是如果你是一个Linux使用者，那么我想你应该知道如何通过命令  ...

在比较文件的时候，通常会用基于GUI的软件。很少有人真正会为了这个目的使用命令行工具。虽然说使用命令行来比较文件/目录并不像一件小事儿那样容易，但是如果你是一个Linux使用者，那么我想你应该知道如何通过命令行比较文件，因为一旦使用了它，你会认为它绝对是一个快速的方法。

![](/data/attachment/album/201311/25/1522382ry6m46tlxsszz5r.png)

在本篇中，我们将通过一些实例来学习如何使用diff命令。

### Linux diff 命令

让我们通过一些实际的例子理解diff命令。

假设我们有两个文件(file1 和 file2)：

```
$ cat file1
Hi,
Hello,
How are you?
I am fine,
Thank you.

$ cat file2
Hello,
Hi,
How are you?
I am fine.

```

你可以看见两个文件有些小的不同。现在，让我们看看diff命令如何找出两者的不同的。

像这样运行diff命令:

```
$ diff file1 file2
1d0
< Hi,
2a2
> Hi,
4,5c4
< I am fine,
< Thank you.
---
> I am fine.

```

你可以看见diff后面跟了两个文件的名字作为命令行的参数，并且它在输出中生成了差异比较。输出并不容易理解。理由是，这是被计算机使用的而不是为了人类。尽管如此，让我们一步步解码输出：

**注意** – 在下面的文本中，file1和file2将被当作旧文件和新文件。

```
1d0
< Hi,

```

这里，1d0这一行意味着旧文件的第一行应该被删除(d)以使两个文件的第一行同步。旧文件中需要被删除的行以'<'标记。

```
2a2
> Hi,

```

这里，2a2行意味着新文件中的第二行应该加到旧文件的第二行后。要添加的行显示在输出的下一行用'>'标记。

```
4,5c4
< I am fine,
< Thank you.
---
> I am fine.

```

这里，4,5c4这一行意味着在旧文件中的4到5行现在已被改变并且需要用新文件中的第4行代替。添加和删除的行分别用'>'和'<'表示。

那么，来总结一下,

* 首先diff命令的第一个参数被视为旧文件而第二个参数被视为新文件。
* 像1d0、2a2、4,5c4这种表达式可以用语法解码为 **[旧文件的行号或者行的范围][行为][新文件的行号或者行的范围]**。这里的'行为'可以是追加,删除或者改变替换。
* '<'代表删除的行，而'>'代表添加的行。

除了文件外，diff命令还可以比较两个目录。让我们通过一个例子学习。

这里是'new\_dir'目录包含的内容:

```
$ ls new_dir/
file file2 frnd frnd1.cpp log1.txt log3.txt log5.txt
file1 file name with spaces frnd1 frnd.cpp log2.txt log4.txt

```

这是'orig*dir'目录含有的内容：(译注：原文为and here are the contents of a directory named ‘old*dir’ ，其中'old\_dir'应为笔误。)

```
$ ls orig_dir/
file1 file name with spaces frnd1 frnd.cpp log2.txt log4.txt test
file2 frnd frnd1.cpp log1.txt log3.txt log5.txt

```

下面是diff命令执行后的输出：

```
$ diff new_dir/ orig_dir/
Only in new_dir/: file
Only in orig_dir/: test

```

你可以看到当diff命令被用来比较这两个目录时，很容易就会显示两个文件中缺失的文件。

下面是一些在命令行下常用的选项:

### 1. 用 -i 忽略大小写

如果两个文件含有相同的文本但是大小写不同，diff命令仍会默认报告它不同。

比如:

```
$ cat file1
HI

$ cat file2
hi

$ diff file1 file2
1c1
< HI
---
> hi

```

你可以看见diff命令在输出中报告了大小写不同。

要去除这个默认行为，使用-i选项。

以下是个例子:

```
$ diff -i file1 file2
$

```

这样你可以看到没有生成输出，这是当两个文件相同时的默认行为。

### 2. 用 -s 选项报告两个文件相同

在例子1的后面，我们看到如果文件相同diff不会生成报告。虽然这个默认行为不错但是它仍可能会造成很大疑惑，特别对于新手而言。因此，如果你像样diff命令明确地报告两个文件不同，那么就使用-s命令选项。

来举个例子:

```
$ diff -is file1 file2
Files file1 and file2 are identical

```

你可以看到我加了-s选项在后面的例子中，这次diff命令会明确地报告两个文件是相同的。

### 3. 使用 -b 忽略空格

另外一个常用的是diff报告文件存在不同数量的空格。

举例说明：

```
$ cat file1
Hi, how are you?

$ cat file2
Hi, how are  you?

```

观察这两个文件唯一的不同是file2中'are'和'you'之间额外的空格。现在，当使用diff命令比较两个文件时，输出如下：

```
$ diff file1 file2
1c1
< Hi, how are you?
---
> Hi, how are  you?

```

因此你可以看到diff命令报告了不同。但是如果你想要忽略这些空格，使用 -b 选项。

```
$ diff -b file1 file2
$

```

这样你可以看到由于-b选项，diff命令报告这两个文件是相同的。

diff命令还提供了更多的命令行选项。阅读[man page](http://unixhelp.ed.ac.uk/CGI/man-cgi?diff)来获取完整的列表。

---

via: <http://linoxide.com/linux-command/linux-diff-command-examples/>

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

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


Mark Shuttleworth为“茶派”及其他错误认错

Summary:
Canonical公司的创始人Mark Shuttleworth他澄清了他的茶派论调，为他的言论而表示歉意。

我们并不是每天都能看到Mark Shuttleworth连续道歉两次，很有可能这是第一次。
第一个道歉是对收到了Canonical公司法律团队  ...

**Canonical公司的创始人Mark Shuttleworth他澄清了他的[“茶派”论调](http://linux.cn/article-2283-1.html)，为他的言论而表示歉意。**

![](/data/attachment/album/201311/26/225319vrb4h074py0rb1p7.jpg)

我们并不是每天都能看到Mark Shuttleworth连续道歉两次，很有可能这是第一次。

[第一个道歉](http://news.softpedia.com/news/Mark-Shuttleworth-Apologizes-for-the-Trademark-Infringement-Letter-Sent-to-Fixubuntu-com-398583.shtml)是对收到了Canonical公司法律团队邮件的fixubuntu.com的站长Micah F. Lee，他写了一篇广泛传播的关于这些问题的博客，并且在许多论坛和网站引起了热议。

Mark Shuttleworth首先在Google+向他道歉，接着他在其个人博客上写了正式的道歉文章，他的博客通常都是用于宣布重要事情的地方。

这个道歉之后，他又花了一些时间说，他为带来了很多抨击的[“茶派”](http://news.softpedia.com/news/Mark-Shuttleworth-Says-That-Mir-Opponents-Have-Formed-the-Open-Source-Tea-Party-392793.shtml)的说法而后悔，这个事情甚至比他原来认为的还要糟糕。

“另一方面，从个人角度看，我自己犯了一个错误，当我使用标签“开源茶派”来指那些对Canonical做的事情的非技术评论家。这是不对的，并且的确可能冒犯了真的茶派（注意这里！）以及那些非技术批评家（再看这儿！）。”

“这并不是说我建议我不需要这样技术反馈，而是一些假定我拒绝了包括技术反馈在内的所有反馈。我没有——我在说对软件的评价，并不是软件本身的中心，而是开发软件的人需求的综合，或者是某个自由软件协议下发布，或者是公司的策略、或者是公司后面的国家”，Mark Shuttleworth[说道](http://www.markshuttleworth.com/archives/1299)。

希望结束在这个事件上的所有的讨论，人们最终将能够接受引发了这次讨论的Mir。

---

via: <http://news.softpedia.com/news/Mark-Shuttleworth-Regrets-the-quot-Tea-Party-quot-Remarks-and-Other-Canonical-Mistakes-398819.shtml>

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

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


五个 ping 工具的使用实例

Summary:
什么是 ping 工具
在讲述一些关于ping工具真实直观的使用实例前，先让我来介绍一下这个命令行工具及其目的。ping工具通常用来测试一台主机在互联网协议(IP)网络内的可达性。其名字源于主动声纳法在水下创建一个脉冲  ...

### 什么是 ping 工具

在讲述一些关于ping工具真实直观的使用实例前，先让我来介绍一下这个命令行工具及其目的。ping工具通常用来测试一台主机在互联网协议(IP)网络内的可达性。其名字源于主动声纳法——在水下创建一个脉冲声音信号(ping)并侦听周围物体的返回信号。该方法同样生动描述了ping网络工具的工作原理。ping工具对一台主机发送回应请求然后等待ICMP响应。

实践中的ping工具的一些例子：

### 查询主机的IP地址

有时候你需要得到某一台主机的IP地址，如图一。只需要键入ping命令后面跟上要查询的主机名。

```
ping www.omgubuntu.com

```

![](/data/attachment/album/201311/26/235126jyhfyyfjhx9p5hhj.png)

### 查询正在使用的ping工具的版本信息

用 -V 选项可以用来查询你手头上ping工具的版本信息。键入下列命令显示正在使用的ping工具的版本信息。

```
ping -V

```

正如你从图二见到的，我正在使用的是“ping utility,iputils-sss20101006”

![](/data/attachment/album/201311/26/235127qcl3cynklpotykc0.png)

### 自动退出 ping

当你用‘ping 主机’命令ping一台机器时，ping自己无法停止，你必需按下CTRL+C强行退出，或者你可以用 -c (count)选项指定发送包的数量。使用-c选项，当网络管理员(其实普通用户也可以)发送完指定数量的包之后，无需按CTRL+C，ping进程就会自动停止。

```
ping -c 13 127.0.0.1

```

上列的命令发送了13个包到我的本地主机上。

![](/data/attachment/album/201311/26/235148ffhztzg336zwhtz3.png)

正如你从图三看到的，我并没有按CTRL+C，而ping自动退出了。

### 指定数据包之间的时间间隔

你知道ping每秒钟发送一个数据包吗？你喜欢快一点还是慢一点？用 -i 选项能指定包之间的时间间隔。用下列命令快速发送或慢速发送包。

### 每0.13秒发送一个包

```
ping -i 0.13

```

![](/data/attachment/album/201311/26/235153dmax1a91nqilli6x.png)

### 每13秒发送一个包

```
ping -i 13

```

### 结合 -i 选项和 -c 选项

```
ping -c 13 -i 3

```

总共花费39秒发出13个数据包，数据包的时间间隔为三秒。

![](/data/attachment/album/201311/26/235154fikofp9eot6tlt4t.png)

---

via: <http://www.unixmen.com/five-examples-ping-utility/>

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

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