软件在吞噬世界，但是开源软件在吞噬自己

Summary:
在开源世界，大家都不安分
像Marc Andreessen posits所说，软件可能在吞噬世界，但是开源软件似乎在吞噬自己。伴随着快速的步伐，软件世界逐渐习惯产业化，他们的卖主开始为更多的利益投资（比如：在操作系统方面的  ...

![](/data/attachment/album/201401/29/1053336962jaeqykuba2kj.jpg)

**在开源世界，大家都不安分**

像[Marc Andreessen posits](http://online.wsj.com/news/articles/SB10001424053111903480904576512250915629460)所说，软件可能在吞噬世界，但是开源软件似乎在吞噬自己。伴随着快速的步伐，软件世界逐渐习惯产业化，他们的卖主开始为更多的利益投资（比如：在操作系统方面的微软和数据库方面的甲骨文）， 开源软件的世界正迈向一个加速进化的时代，从来不满足于既得的荣誉。

在快速变更的开源世界，企业如何投资？

### 开源超神了

虽然[Dirk Riehle](http://dirkriehle.com/publications/2008-2/the-total-growth-of-open-source/)对于开源项目增长的分析并不是特别过时，当然，一部分已经[增长的趋势](http://www.techrepublic.com/blog/linux-and-open-source/driving-forces-behind-linux-and-open-source-growth/)除外：

![](/data/attachment/album/201401/29/105334fhavftjitjbsir4k.jpg)

现在大部分重要领域的技术-大数据，云，移动-都是开源的。伴随着Haddop、OpenStack等工具的活跃，我们应该期待开源软件卯足了劲发展。

这是好是坏？

### 开源码农竞争激烈

举个栗子，在系统配置领域。 Redmonk 的 Stephen O'Grady 挑了些数据用来衡量受欢迎程度，Chef、 Puppet、 Ansible 和 Salt，后面两个是这个领域的新星，但是赢得了相当的社区热情和采纳度。

这让O'Grady [推测](http://redmonk.com/sogrady/2013/12/06/configuration-management-2013/)：“ 看起来合理地去认为系统配置领域会和开源关系型数据库一样有相同的变革趋势，伴随着两个突出的工程出现，这样的观点有点问题。”

O’Grady觉得：

>
> 从这些观察中得出的最有趣的结论或许是 Ansible 和 Salt 的关联。这些工程会有不错的前景，比如在这个领域对解决方案的需求，和非常强的个人偏好的影响，例如，Salt 在 Python 开发者当中的亲和力。
>
>
>

实际上，我必须承认最有趣的的结论是，没有开源项目能保证长久。Puppet 在2005年退出，并且一直在和有固定期权的在职者竞争，现在和Chef竞争（4年后退出），Ansible（最新两年）和 Salt（最新两年）。

任何重要领域的在职者，总是会穷追不舍地吹毛求疵。但是在开源世界，比赛不会等待十亿美元的市场在它产生影响的时候形成。由Chef 和 Puppet 铺垫了的 Salt 和 Ansible 在市场的上升就是一个证明。

### 社区付出了，社区也拿走了

你会发现同样的动态在CMS中(Drupal 、Joomla 、 Alfresco 、 Wordpress 以及无数的其它 CMS)，在云中(Eucalyptus 、 OpenStack 、 CloudStack 、 CloudFoundry 、 OpenShift 及其它)，在[web 服务器中](http://www.theregister.co.uk/2013/02/06/open_and_shut/)，在关系和非关系的数据库中。

开源数据库数量的膨胀伴随着几乎每天都产生的新对手，正如[DB-Engines database tracking service](http://db-engines.com/en/ranking)中可以看到的一样。或许最好玩的是开源关系数据库领域，直到最近MySQL支配这个领域。Postgers 也是和 MySQL 赛跑，虽然是老二，但是排得非常后。

现在事情都在变化，或者骚动。很大程度因为 Oracle 的所谓的对 MySQL 社区的践踏，Postggres 在最前沿的 MySQLer中炙手可热。MariaDB 也是这样。虽然还是一个小家伙，比如[RedHat Fedora和Ubuntu等Linux发行版内置数据库更换成MariaDB了](http://www.zdnet.com/oracle-who-fedora-and-opensuse-will-replace-mysql-with-mariadb-7000010640/)，Google换掉了MySQL等。

或许就像O'Grady说的，这归结为开发者的偏好。如果开发者占据主要地位，小小的可以阻碍他们向更合适自己的新项目转换的障碍，会导致秩序混乱。如果这有道理，将会很好解释开源为什么拒绝长期垄断。

很难让开发者保持乐观。

### 做一笔社区友好的生意

对于想要对已有的开源项目投资的企业，这意味着什么呢？一个简单的、也许没有不令人满意的答案是企业应该投入到项目中，确定他们的可持续性，并且给予企业能力去支持他们自己。

但是大部分企业不想自己码出最好的代码。

相反，他们会去寻找受欢迎程度高的项目，非常适合企业的需求的，而且还有很强的社区的。如果项目在社区变得没什么意思的时候，欢迎程度可能会飞跃。最基础的原因，Linux已经在操作系统之巅呆了很久了，已经适应社区影响和需求。

不幸的是，没有什么方法去真正衡量一个开源社区的活力。一些成功的项目，比如OpenStack，取决于强大的基础。其他的，像Linux，取决于强大的个人和他的帮手。

但是所有成功的开源项目维持了他们强劲的热度，每几个月就会有一个发行版。快速发展的项目会非常难以供企业支持。

企业应该怎样避免开源项目荒废的风险呢?

---

via: <http://readwrite.com/2013/12/12/open-source-innovation>

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

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


Linux 服务器管理员的12个有用的命令

Summary:
我们已经读了很多教程和看了很多视频了，你现在是一名Linux高级用户了。好的，恭喜你。但是还有一些需要学习！下面一些命令在你成为全能的管理员时会派上用场！

ifconfig: 在修改内核中已有的网络接口时，你会用  ...

我们已经读了很多教程和看了很多视频了，你现在是一名Linux高级用户了。好的，恭喜你。但是还有一些需要学习！下面一些命令在你成为全能的管理员时会派上用场！

![](/data/attachment/album/201401/29/103202llq88w92u88jbb22.png)

1. **ifconfig**: 在修改内核中已有的网络接口时，你会用到ifconfig命令。这个命令通常用于系统调校和调试，但同时也可以用于在启动过程中设置接口。
2. **netstat**: 对于Linux用户来说这是一个用于显示网络相关信息的高级命令。它包括路由表、网络连接、伪装连接、接口统计等丰富信息。
3. **nslookup**: 在你需要找出关于网络服务的信息时可以用到这个命令。它能帮你找到用于查询DNS域的名称服务器信息。
4. **dig**: dig工具用于请求DNS域名服务器。如果你要找出主机地址、邮件交换、名称服务器和其他相关信息，那么这个工具就是最佳选择。你可以在Linux和Mac OS X操作系统上使用这个命令。
5. **uptime**: uptime命令用于验证服务器在无人照看下发生了什么。当你需要坐在服务器前查找错误的时候，这个命令尤其有用。
6. **wall**: 这个命令用于给所有已登录的用户发送消息。你可以只给那些消息权限设置成了'是'的用户发消息。消息是作为wall命令的参数给出的。
7. **mesg**: 用户可以使用'write'命令给你发送消息。但是作为服务器管理员，你可以使用mesg命令来决定他们是否能够使用write命令。你可以选择'n'和'y'，分别用于控制在屏幕上不弹出或者弹出消息。
8. **write**: 如果对于一个用户的'mesg'命令的状态设置为'y'，那么write命令就允许你发送消息给那个用户。
9. **talk**: 当上面所说的“消息”不够用时，使用talk命令与登陆的用户进行“会话”。
10. **w**: 这个命令是uptime和who命令的结合，其显示结果就好像连续先后执行了这两个命令一样。
11. **rename**:当你需要重命名特定的文件时，rename命令会派上用场。这个命令可以通过匹配替换来为多个文件批量重命名。
12. **top**:这个命令可以显示运行在CPU上的进程。命令会自动刷新并持续显示进程直到你使用中断命令停止它。

---

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

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

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


如何正确双启动Ubuntu和Windows双系统

Summary:
尽管微软想让你信任Windows，但一个Linux操作系统和一个Windows操作系统可以在同一台PC上和平共存。这个文章会指导你如何让一个Ubuntu系统和Windows操作系统并行运行。

你必须考虑两种场景，同时你也必须决定哪一种 ...

**尽管微软想让你信任Windows，但一个Linux操作系统和一个Windows操作系统可以在同一台PC上和平共存。这个文章会指导你如何让一个Ubuntu系统和Windows操作系统并行运行。**

![](/data/attachment/album/201401/29/111759fg1jou031ogsjjpk.jpg)

你必须考虑两种场景，同时你也必须决定哪一种适合你。这里必须要考虑安装顺序。在你已经安装好Ubuntu操作系统后再安装Windows会有一点问题，因为微软似乎不太在意其他小伙伴。

如果你是在已经安装好Windows后安装Ubuntu，那么事情会变得简单多了，几乎没有任何工作和准备是必需的。

让我们开始处理更加困难的问题。如果你已经有一个Ubuntu系统，想安装Windows，你会丢掉GRUB，它是默认的引导程序。Windows不会在意它，并会擦除它。

如果你已经犯了这个错误，但你并没有重写Linux分区，请别沮丧。数据仍然在那里，你需要的是一个含有Ubuntu（最新到13.10版本）的可启动live CD。你需要安装一个名为Boot-Repair的应用程序，使用PPA来安装它。

记住，如果你使用U盘，安装应用会相当简单，因为Ubuntu安装镜像是混合镜像。用Live CD启动一个Ubuntu会话，打开终端，然后输入下列指令：

```
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

```

打开应用程序，点击推荐修复，然后等待。在这个步骤完成后，重启机器，你就会重新看到GRUB，实现双启动。

在另一方面，如果你已经安装好Windows，想要安装Ubuntu，事情会更加简单。启动Ubuntu安装，选择安装到一个非Windows分区，格式化为EXT4，选择引导程序的位置，然后就搞定了。

如果你选择将引导程序安装在和Windows安装的同一块硬盘上，它会擦除微软的引导程序。这样没有问题，因为GRUB会识别出WIndows操作系统，你不会丢掉它。如果你把它安装在其它地方，譬如在另一块硬盘上，当你选择从不同的硬盘启动时，你会看到它们两个。

开始享受你的Ubuntu和Windows双系统启动的乐趣吧！

---

via: <http://news.softpedia.com/news/How-to-Dual-Boot-Ubuntu-and-Windows-Properly-415377.shtml>

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

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


戴文的Linux内核专题：17 配置内核 (13)

Summary:
你好!这是Linux内核系列的下一篇，我们仍将配置ATA设备并将进入逻辑卷/存储。
"ATA SFF support (for legacy IDE and PATA)"应该启用，因为这扩展了ATA的能力。
为了支持Pacific Digital的ADMA控制器，应该启用"Paci ...

![](/attachments/slide-jpg.555/)

你好!这是Linux内核系列的下一篇，我们仍将配置ATA设备并将进入逻辑卷/存储。

"ATA SFF support (for legacy IDE and PATA)"应该启用，因为这扩展了ATA的能力。

为了支持Pacific Digital的ADMA控制器，应该启用"Pacific Digital ADMA support"。

"Pacific Digital Serial ATA QStor support"(串口ATA支持)在下一个驱动中支持

Promise的SATA SX4设备在内核中支持(Promise SATA SX4 support (Experimental))。

可以BMDMA的SFF ATA控制器需要这个驱动(ATA BMDMA support)。BMDMA代表总线主控直接内存访问(BMDMA stands for Bus-Master Direct Memory Access)。

下面，这个驱动对不同的SATA和PATA控制器提供支持Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support)。

这里有其他的特定设备驱动(Calxeda Highbank SATA support)、(Marvell SATA support)、(NVIDIA SATA support)、(Promise SATA TX2/TX4 support)、(Silicon Image SATA support)还有(SiS 964/965/966/180 SATA support)、(ServerWorks Frodo / Apple K2 SATA support)、(ULi Electronics SATA support)、(VIA SATA support)。。。由于有很多SATA/PATA控制器设计不同，一个通用驱动无法使用在这些设备上。

接下来，这个驱动支持PC卡上的ATA设备除非有特定设备管理硬件的驱动(PCMCIA PATA support)。

在这之后，有一个通用PATA驱动用于管理其他不被先前驱动支持的PATA设备 (Generic platform device PATA support)。

PATA设备的电源消耗由这个ACPI驱动管理(ACPI firmware driver for PATA)。强烈建议对系统上所有的硬件启用ACPI。虽然这会增加内核的大小，但是ACPI会增强性能。

"Generic ATA support"(通用ATA支持)由这个驱动提供。

古老的ISA、VLB和PCI总线PATA设备可以通过这个驱动支持(Legacy ISA PATA support (Experimental))。这个古老支持使用新的ATA层。

这组特性包含了许多对于RAID和LVM能力，可见下面的特性选项(Multiple devices driver support (RAID and LVM))。

有趣的事实：内核是由C和汇编写成的。

这个驱动允许RAID和LVM组合在一起。这用于使几个LVM卷使用RAID。分区被组合成逻辑块设备，然后形成RAID设备。

许多用户会希望RAID可以在启动时侦测到(Autodetect RAID arrays during kernel boot)。如果你没有RAID，那么不要启用这个特性。不然，启动处理会比原先希望的慢上几秒。

注意：当配置Linux内核时，最好按照"use it or lose it"(非用即失)的原则。那就是，如果你不用它，那就禁用这个特性。

硬盘分区可以通过这个驱动加在一起(Linear (append) mode)。

下面的驱动加入RAID-0支持带逻辑块设备中(RAID-0 (striping) mode)。接着还有 (RAID-1 (mirroring) mode)、(RAID-10 (mirrored striping) mode)和(RAID-4/RAID-5/RAID-6 mode)。

MD框架需要多路径支持(Multipath I/O support)。MD框架就是多设备(Multi Device)框架,它将多台设备作为一个单元管理。举例来说，将许多存储单元的分区组合起来可以使多个设备就像一个那样。多路径支持是用于使用处理虚拟的有多个地址的"单个设备"。因为单存储单元物理上有多件物理设备，所以它有多个硬件地址。

使用这个调试驱动，可以测试更大的多磁盘存储单元的bug(Faulty test module for MD)。

"Device mapper support"是一个用来映射逻辑扇区的卷管理器。LVM使用扇区映射。

如果启用的话，设备映射器可以有调试特性(Device mapper debugging support)。

如果需要，逻辑设备可以设置加密数据(Crypt target support)。这个特性允许用户将来加密那些存储设备。

只有启用了这个特性，才能使用逻辑存储单元的快照功能(Snapshot target)。

"Thin provisioning"(自动精简配置)允许逻辑卷设置成比组成逻辑卷的物理设备拥有更大的存储容量(Thin provisioning target)。这个特性同样为这类设备提供了快照功能。这额外的虚拟数据空间无法马上使用。这个特性的意义是允许用户在将来增加物理存储单元并且节约了配置逻辑块设备的时间。

用这个可以调试"Thin provisioning" (Keep stack trace of thin provisioning block lock holders)。

块设备性能的提升可以通过移动更多的常用数据到更快的存储单元中(Cache target (EXPERIMENTAL))。

卷管理器可以制成镜像逻辑卷(Mirror target)。

设备映射器(Device-mapper (dm))单元支持映射RAID1、RAID10、 RAID4、RAID5和RAID6(RAID 1/4/5/6/10 target)。

设备映射器(device-mapper)日志可以镜像到用户空间(Mirror userspace logging)。

"Zero target"是一个忽视写入并返回读取为零的设备。

接下来，卷管理器应该对硬件有多路径支持(Multipath target)。

这个驱动会发现最有效的到存储设备的路径来读取和写入(I/O Path Selector based on the number of in-flight I/Os)。

下面的一个驱动和以上相同，但是会寻找最快路径(I/O Path Selector based on the service time)。

如果一个逻辑卷上的物理存储单元正忙，如果可能的话，这个特性会允许读取/写入到另一个物理卷上。

udev可以生成设备管理器操作事件DM uevents)。udev是/dev的设备管理器。

为了测试软件/硬件对偶尔失败的输入/输出任务的逻辑设备如何反映，启用这个调试特性(Flakey target)。

逻辑卷可以创建为一个用于验证另一个逻辑分区数据的只读存储单元(Verity target support)。

注意：如果你喜欢我的文章，并且如果你有Linux.org的账号，请在我的文章上点击"Like"。同样，再次分享这篇文章在Google、Twitter和/或者Facebook上。

ConfigFS和TCM存储引擎可以通过这个设置启用(Generic Target Core Mod (TCM) and ConfigFS Infrastructure)。ConfigFS是一个基于内存的文件系统。

有趣的事实：Linux内核没有"main()"函数。在程序中，main()被依赖于kernel的libc调用。内核没有main()函数是因为libc将无法启动内核。如果内核的确有main()函数，那么我们就有一个"鸡或者蛋"的问题-谁先来？另外，内核的入口点用汇编写成，这并不使用main()函数。

下面，"TCM/IBLOCK Subsystem Plugin for Linux/BLOCK"可以禁用或者启用。

接着"TCM/FILEIO Subsystem Plugin for Linux/VFS"可以启用/禁用。

再次，还有两个TCM特性 - (TCM/pSCSI Subsystem Plugin for Linux/SCSI) 和 (TCM Virtual SAS target and Linux/SCSI LDD fabric loopback module)

对于ConfigFS的"Linux-iSCSI.org iSCSI Target Mode Stack"在这个驱动中支持(Linux-iSCSI.org iSCSI Target Mode Stack)。

下一步，可以启用/禁用"FireWire SBP-2 fabric module"。这允许一台计算机作为一个硬盘连接到另一台计算机上。

在这之后，我们可以配置"Fusion Message Passing Technology (MPT) device support"。

在那个标题下的第一个选项是一个用于并口适配器的SCSI支持的驱动(Fusion MPT ScsiHost drivers for SPI)。

SCSI同样也可以支持光纤通道主机适配器(Fusion MPT ScsiHost drivers for FC)和/或SAS适配器(Fusion MPT ScsiHost drivers for SAS)。

下一步，用户可以设置"Maximum number of scatter gather entries"。一个低的数值可以减少每个控制器实例的内存消耗。

下一个驱动提供了ioctl系统调用来管理MPT适配器(Fusion MPT misc device (ioctl) driver)。

光纤通道端口可以用这个驱动支持IP LAN的流量(Fusion MPT LAN driver)。

我可以读到你们的想法-你们会想到对于这个还有另外一篇文章。是的，你们想对了。请继续关注这个系列的下一篇文章。

如果你喜欢这个系列，请在Linux.org和/或者Google+上发表评论告诉我你有多喜欢这个系列，并且告诉我你想在今后的文章中希望看到的方面。或者给我发邮件[DevynCJohnson@Gmail.com](mailto:DevynCJohnson@Gmail.com))。谢谢！

想要更多地了解作者，请检查下面的签名栏中的链接(译注：原文所在论坛有)

如果你已经完整地阅读了这篇文章，那么你应该已经看到单词"Facebook"三次了。如果没有，你没有阅读全部文章。

单词"Facebook"在这段中，上一段，和一个注解中。我打赌你阅读了上面的段落而没有通读文章来试图寻找第三个单词实例。

---

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

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

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


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

Summary:
你好！ 准备好读另一篇很酷的Linux内核文章了么?
接下来，在这个任务中，我们可以启用/禁用"Fusion MPT logging facility"。MPT代表"Message Passing Technology"(消息传递技术)。Fusion驱动是由LSI Logic公司开发。 ...

![](/attachments/slide-jpg.566/)

你好！ 准备好读另一篇很酷的Linux内核文章了么?

接下来，在这个任务中，我们可以启用/禁用"Fusion MPT logging facility"。MPT代表"Message Passing Technology"(消息传递技术)。Fusion驱动是由LSI Logic公司开发。MPT一种进程间使用的特定消息策略。这个技术是同步的意味着进程将会等待所需的消息。

在这之后，如果计算机处理拥有火线端口就应该启用"FireWire driver stack"。如果没有，那么就没有必要去启动一个不会使用到的火线驱动。火线很像USB。不过在协议、速度、物理形状和端口布局上不同。通常上，苹果设备使用火线和USB。一些PC有火线端口，但是不像USB口那样普及。

一些火线控制器使用OHCI-1394规范(OHCI-1394 controllers)。如果是这样，启用这个驱动。

为了使用火线存储设备，启用下一个驱动(Storage devices (SBP-2 protocol))。这个驱动提供了火线存储单元与火线总线通信的协议(the card with the attached FireWire ports)。一些火线扫描仪同样需要这个驱动。

IPv4可以用在火线端口(IP networking over 1394)。IEEE 1394或者简单的"1394"就是火线。使用IPv4在火线多播有局限。

"Nosy"是"FireWire PCILynx"卡上的流量监控(Nosy - a FireWire traffic sniffer for PCILynx cards)。

下一步，可以支持I2O设备(I2O device support)。"Intelligent Input/Output (I2O)"(智能输入/输出)总线使用硬件和操作系统层的驱动。硬件驱动(hardware drivers (HDM))并不特定与任何操作系统而OS驱动(OS drivers (OSM))必须在目标操作系统上使用。OSM可以与任何HDM通信。I2O卡/总线有一个IOP- 输入/输出处理器(Input/Output Processor)。由于主CPU处理更少的数据，所以加速了系统。

只在缺乏SUN I2O控制器的系统上启用"Enable LCT notification"。I2C SUN固件不支持LCT通知。 如果目标是RAID，Adaptec I2O控制器需要下一个驱动(Enable Adaptec extensions)。

64位的直接内存访问可以在Adaptec I2O控制器上启用(Enable 64-bit DMA)。

如果允许，可以配置I2O设备(I2O Configuration support)。这个特性主要用在RAID设定中。

可以为I2O启用支持老的输入/输出控制(Enable ioctls (OBSOLETE))。

可以启用I2O总线适配器的OSM软件(I2O Bus Adapter OSM)。这组OSM被用来寻找新的在其他适配器末端的I2O设备。

下面，可以启用I2O块设备上的OSM(I2O Block OSM)。I2O硬件上的RAID控制器需要这个OSM。

下面的OSM用于I2O控制器上的SCSI或者光纤通道设备。

如果启用了(I2O /proc support)，可以通过/proc读取I2O设备的信息。

在启用/禁用了I2O特性，我们可以继续其他的内核特性。下面，我们看到"Macintosh device drivers"。这只对苹果设备有用。PC的Linux内核不应该有任何这些驱动启用。然而，正如许多说法都有例外一样。一些PC用户可能会使用苹果鼠标、键盘和/或者一些其他的苹果设备。再说一次，最好彻底地理解需求和正在开发的内核。

下一步，我们有一个用于网络的驱动(Network device support)。X11和其他的Linux软件不依赖于这个驱动，所以如果内核不会连接到另一台计算机、因特网、内联网或者网络，那么这个特性可以安全地禁用。

下面的驱动就像上面，但是特定于核心驱动(Network core driver support)。

这个驱动支持Etherchannel(Bonding driver support)。"bonding"是两条或者更多的以太网通道的融合。这也成为中继。

使用这个驱动(Dummy net driver support)，可以在Linux中设置一个虚拟网络。虚拟网络(dummy network)就像网络中的/dev/null。任何发送给虚拟网络的数据都会永久消失，因为它会发往/dev/null。IP地址没有设置。用户可以定义他们的网络相当于/dev/null。

下一步，可以支持和EQL(EQL (serial line load balancing) support)。这允许两台计算机使用SLIP或者PPP协议在两条串行连接上通信。

光纤通道是一种用于连接存储设备到计算机的快速串行协议(Fibre Channel driver support)。

TMII收发器需要这个驱动(Generic Media Independent Interface device support)。MII是一种用于最高速度为100Mbit/s以太网的接口。以太网线缆用于连接到PHYceiver，这是一种以太网收发器。

为了通过虚拟接口组织许多以太网设备，需要"Ethernet team driver support"。

"MAC-VLAN support"允许用户在特定的MAC地址和某个接口上映射数据包。

TAP字符设备可以由MAC-VLAN接口生成(MAC-VLAN based tap driver)。TAP设备从内核中获取数据包，这样它们就可以被送往其他地方。

下一个特性允许虚拟vxvlan接口在3层网络上创建2层网络(Virtual eXtensible Local Area Network (VXLAN))。这通常用于隧道虚拟网络。

内核发送给网络的消息可任意通过这个特性记录下来(Network console logging support)。除非记录网络信息对你很重要时才启用它。禁用这个特性会增强性能。

这个特性允许不同参数被改变(Dynamic reconfiguration of logging targets)。这些参数包括端口号、MAC地址、IP地址和其他一些设定。

如果用户空间程序希望使用TAP设备，那么启用这个特性可以允许这样的活动(Universal TUN/TAP device driver support)。

这个驱动用于本地以太网隧道(Virtual ethernet pair device)。

"Virtio network driver"用于QEMU、Xen、KVM和其他虚拟机。

下一步，可以启用"ARCnet support"。ARCnet是一种类似令牌环本地局域网络(Local-Area-Network (LAN)协议。ARCnet代表"Attached Resource Computer Network"(附加资源计算器网络)。

现在，我们进入到"ATM drivers"。ATM代表"Asynchronous Transfer Mode"(异步传输模式)。ATM用于电信。

Marevell以太网交换机芯片需要这个驱动(Marvell 88E6060 ethernet switch chip support)。同样，这类交换机的芯片同样需要依赖模型(Marvell 88E6085/6095/6095F/6131 ethernet switch chip support)和(Marvell 88E6123/6161/6165 ethernet switch chip support)。

现在，我们可以学习关于"Ethernet driver support"。

首先我们可以启用/禁用"3Com devices"。接下来允许内核开发者选择支持哪些3Com设备。

下一组选项是对于不同的"Adaptec devices"和接下来的"Alteon devices"。

这些只是特定设备/供应商驱动。通常地，这些驱动被作为模块加入。

在设置了这两组选项后，接下来还有"AMD devices"和"Atheros devices"。

注意：请记住内核会运行在哪类硬件上。对于大量不同的设备，或许最好把它们作为模块加入

这里有不同特定供货商的设备驱动-"Cadence devices"、"Broadcom devices"、"Brocade devices"、"Chelsio devices"、"Cisco devices"、"Digital Equipment devices"。一些其他的特定设备/供应商驱动遵循它们。

接下来的驱动并不是特定设备/供应商的 "SLIP (serial line) support"。这个驱动支持SLIP和CSLIP。SLIP(Serial Line Internet Protocol)是一种用于调制解调器和串口的因特网驱动。PPP现在用来代替SLIP。CSLIP是压缩的SLIP。

下面，"CSLIP compressed headers"可以启用用来压缩TCP/IP头。CSLIP快于SLIP，但是想要启用CSLIP，传输和接收的计算机都必须理解CSLIP。

当在恶劣的模拟线路上使用SLIP时，最好启用"Keepalive and linefill"，这会帮助保持连接。

对于质量差的网络或者7bit网络中运行IP而言，最好启用"Six bit SLIP encapsulation"。

现在我们可以进入流行的USB系统，但是这些是用于网络的USB驱动。

第一个启用/禁用的USB网络设备是"USB CATC NetMate-based Ethernet device support"。这是用于10Mbps的USB以太网EL1210A芯片设备。USB设备将会扮演和成为一个以太网设备即使硬件是USB。

接下来，除了设备是KLSI KL5KUSB101B芯片组(USB KLSI KL5USB101-based ethernet device support)，其他与上面的驱动一样。

Pegasus USB是USB转以太网的适配器/转换器(USB Pegasus/Pegasus-II based ethernet device support)。

接下来是另外一个USB转以太网驱动(USB RTL8150 based ethernet device support)。

下一篇文章中，我们将继续配置USB网络系统。

---

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

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

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


Ubuntu/Debian/Linux Mint 系统中使用 Tor

Summary: Tor, The Onion Router (洋葱路由)，是一种虚拟通道网络，它可使用户安全以及匿名的进行互联网通信。Tor 可以让组织及个人通过公共网络分享信息而不用担心隐私会泄露。我们可以用 Tor 来避免网站追踪我们及我们家人  ...

**Tor**, **T**he **O**nion **R**outer (洋葱路由)，是一种虚拟通道网络，它可使用户安全以及匿名的进行互联网通信。Tor 可以让组织及个人通过公共网络分享信息而不用担心隐私会泄露。我们可以用 Tor 来避免网站追踪我们及我们家人的信息，也可以用来连接新闻网站、即时通讯服务或者那些被网络提供商和网络管理员封锁的网站。

![](/data/attachment/album/201401/30/083025fzlau5t2za7t71ju.png)

Tor 最初是当做第三代[美国海军研究实验室的洋葱路由项目](http://www.onion-router.net/)而设计、实现及发展起来的。在美国海军心中，最初设计Tor的目的是为了政府的通信安全，但到了今天，出于各种各样的目的，Tor正在供普通人、军队、记者、执法人员、活动家以及其他更多的人每天使用。

这篇快速教程中，我们会学到怎么在浏览器上使用 Tor。下面所示的操作步骤是 Ubuntu 13.04 桌面系统中测试的，但它在所有的 Debian/Ubuntu 系统及它们的衍生系统中应该也适用。

### 在 Ubuntu / Debian / Linux Mint 上安装 Tor 和 Vidalia

Tor 在 Debian/Ubuntu 系统的默认源库中已经存在，但它们有点过时了。所以得把 Tor 源库加入你发行版的源列表中。

编辑 **/etc/apt/sources.list** 文件，

```
$ sudo nano /etc/apt/sources.list

```

根据你系统的发行版本添加如下的一行。因为在我的 Ubuntu 13.04 桌面系统上做测试，所以我添加了如下的一行。

```
[...]
deb     http://deb.torproject.org/torproject.org raring main

```

保存并关闭文件。如果你使用的是 buntu 13.10 系统，添加行应该是，

```
deb     http://deb.torproject.org/torproject.org saucy main

```

Debian 7 Wheezy 如下：

```
deb     http://deb.torproject.org/torproject.org wheezy main

```

用如下命令添加 gpg 密钥：

```
$ gpg --keyserver keys.gnupg.net --recv 886DDD89
$ gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -

```

用下面命令更新源库列表及安装 vidalia：

```
$ sudo apt-get update
$ sudo apt-get install tor vidalia deb.torproject.org-keyring

```

在安装期间，你会被问到要用哪一个用户来负责 Tor 服务，选择一个用户然后点击 OK。

![](/data/attachment/album/201401/30/083104seeq8tiyw22k536f.jpg)

现在 Vidalia 已经安装运行了。

### 配置火狐浏览器

打开浏览器。进入 **编辑 -> 首选项 -> 高级 -> 网络 ->设置**。如下截图所示，选择手动配置代理，在 SOCKS Host 一栏，输入 **localhost** 或者 **127.0.0.1**，在端口一栏输入 **9050**。

![](/data/attachment/album/201401/30/083106i9yomka94mh9m300.jpg)

现在，在浏览器上输入网址 **<https://check.torproject.org/>**。你会看到一个绿色的讯息：“**恭喜。这个浏览器配置为可以使用Tor**“。红色的消息表明 Tor 还没有设置。请参考下面的截图。

![你使用 Tor 吗? - Mozilla Firefox_014](/data/attachment/album/201401/30/0831110ktp1128ix98fuz2.jpg)

相同的设置适用于所有浏览器，只要打开浏览器设置/首选项窗口，找到网络设置，在代理服务器栏中输入 **127.0.0.1**,在端口选项框中输入**9050**。要禁用 Tor，在浏览器设置中选择**使用系统代理设置**。

**注意**: 如果你想使用 Tor 匿名浏览网页，请阅读我们有关[Tor浏览器套件](http://www.unixmen.com/protect-your-online-privacy-with-tor-browser/)的文章,它提供了易于配置的Tor以及浏览器补丁包，以使匿名访问更方便。要直接使用SOCKS（即时通讯，Jabber，IRC等），你可以直接在 Tor（本地端口9050）配置里指向你的应用程序，但需要先看看[这些FAQ条目](https://trac.torproject.org/projects/tor/wiki/doc/TorFAQ#SOCKSAndDNS)来了解这么做的风险。

就这么多。好运吧！保持安全！

---

via: <http://www.unixmen.com/configure-browser-use-tor-ubuntu-debian-linux-mint/>

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

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


8个有趣的Linux提示与技巧！

Summary:
我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致，这里有8个我们从读者收到最有趣的提示和技巧。我们希望你喜欢它。请继续读下去。。。

以它们的大小列出文件
如果你想要一个基于它们大小排序的文件  ...

我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致，这里有8个我们从读者收到最有趣的提示和技巧。我们希望你喜欢它。请继续读下去。。。

![](/data/attachment/album/201401/30/2200220gt6to7h06dtbi0b.png)

### 以它们的大小列出文件

如果你想要一个基于它们大小排序的文件列表，你可以使用下面的命令。

它会以递减顺序排列文件。

```
# ls -l | grep ^- | sort -nr -k 5 | more

```

如果你想要递归地做相同的事，你可以使用下面的第二个命令。

```
# ls -lR | grep ^- | sort -nr -k 5 | more

```

*—Sumedh Gajbhiye, [sumedh.gajbhiye1985@gmail.com](mailto:sumedh.gajbhiye1985@gmail.com)*

### 重置奇怪的终端

如果感觉你的bash终端错误地显示垃圾的提示字符信息，并无论你输入任何命令都显示非ASCII字符-下面的命令可以让事情回到正轨。

在终端盲打输入（译注：因为你其实看不到你输入的这些字符的正确显示，不过尽管输入好了！）下面的命令并按回车：

```
# reset

```

如果那个不能修复这个问题，试一下下面的:

```
# stty sane

```

*—Sudheer Divakaran, [cdsudheer@gmail.com](mailto:cdsudheer@gmail.com)*

### 记录并回放终端会话

下面是一个简单的贴士来记录并回放终端回放。它通过使用命令script和scriptreplay。

这在使用终端制作教程时非常方便。

要开始记录你的终端会话，使用下面的命令：

```
$ script -t 2> timing.log -a output.session

```

接着输入:

```
$ ls
$touch test
.....

$ exit

```

这里，script命令取两个文件作为参数timing.log(它记录了每个命令执行的时间信息)和output.session(存储了命令的输出)。

现在，要回访记录的会话，使用下面所示的scriptplay。

```
$ scriptreplay timing.log output.session

```

注：timing.log和output.session可以被任何想要在自己的终端上重放会话的人使用。

*—Abhishek Singh, [abhishekkumarsingh.cse@gmail.com](mailto:abhishekkumarsingh.cse@gmail.com)*

### 使用shell脚本生成随机数

有时当你想要用shell脚本编程时，可能需要生成一个随机数来用于脚本。

这里是获得一个3位随机数的代码。

```
var=$(dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -f1 -d” “ | cut -c 3-5);

```

这回存储随机生成的数字在名为var的变量中。

*—Arpan Chavda, [09bce006@nirmauni.ac.in](mailto:09bce006@nirmauni.ac.in)*

### 以root用户运行Linux上的软件

作为一名root用户，为了让某些不能在root身份运行的软件运行（译注：典型的是google chrome），你需要在软件的二进制文件中改变geteuid调用为getppid。

这个技术在操作系统中非常有用，比如backtrack，这里的大多数安装工作都以root用户完成。

比如:为了以root用户运行Google Chrome，使用下面的命令:

```
# hexedit /opt/google/chome/chrome

```

接着按下Ctrl+S并在16进制转储文件中搜寻geteuid字符串。用字符串getppid代替。按下Ctrl+X来保存并退出编辑器。

现在浏览器就可以以root用户运行了。

```
# google-chrome

```

*—Mayank Bhanderi, [mbhanderi24@gmail.com](mailto:mbhanderi24@gmail.com)*

### 用gzip压缩优化你的站点

压缩是一种简单、有效的方法来节约带宽和加速你的站点。在压缩的帮助下，多数站点的主页面会从100KB变成10KB。

为了在Apache Web服务器中启用这个特性，你需要在httpd.conf中包含deflate\_module，并且在Apache配置文件中加入下面的行 (/etc/httpd/conf/httpd.conf)来压缩text、html、 javascript、 css 和 xml 文件:

```
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

```

*—Munish Kumar, [munishtotech@gmail.com](mailto:munishtotech@gmail.com)*

### 在登陆时检查服务器负载信息

这里有一个贴士来在你登陆服务器的时候检查服务器平均负载。创建一个sload.sh的文本文件，内容如下:

```
#!/bin/bash
gh=$(uptime | awk -F, ‘{print $3}’)
echo -e “Server$gh\n”

```

现在，为了在登陆时检查服务器负载，通过/root/.bashrc调用sload.sh脚本。

记住如下设置脚本权限：

```
# chmod 755 /root/sload.sh

```

要调用sload.sh脚本，如下在/root/.bashrc后追加

```
/root/sload.sh

```

或者你还可以这样追加sload.sh的内容到.bashrc中。

```
$echo “/root/sload.sh” >> /root/.bashrc

```

当你完成上面的步骤后，你可以登出并再次登陆来查看服务器负载。

*—Ranjith Kumar T, [ranjith.stc@gmail.com](mailto:ranjith.stc@gmail.com)*

### 在特定时间开始你的任务

你可以使用下面的命令来在特定时间调度你的作业：

```
# at 2015

> >vlc /music/rockstar.mp3

```

这个命令会在2015小时后使用vlc播放器播放rockstar.mp3。你可以在at命令后跟上-l选项来检查挂起的作业：

```
# at -l

```

更多at命令的信息可以在man页找到。

*—Manas Pradhan, [acmeofmanas@gmail.com](mailto:acmeofmanas@gmail.com)*

---

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

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

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


如何在Linux Mint 16中正确安装Ubuntu One

Summary: 由于Linux Mint是基于 Ubuntu 的，所以我认为 Ubuntu One 应该是预装程序之一。不过我错了。我自行从 Software Manager 安装了 Ubuntu One，令我惊讶的是，它居然无法正常运行。在这篇教程中我们会告诉你如何在 Linu ...

![](/data/attachment/album/201402/01/10533567ff1y6n1svhzl5v.jpg)

由于[Linux Mint](http://www.linuxmint.com/)是基于 Ubuntu 的，所以我认为 Ubuntu One 应该是预装程序之一。不过我错了。我自行从 Software Manager 安装了 Ubuntu One，令我惊讶的是，它居然无法正常运行。在这篇教程中我们会告诉你**如何在 Linux Mint 16中安装 Ubuntu One** 以及如何正常运行它。

### 在Linux Mint 16 中安装 Ubuntu One:

当你通过 Software Manager 安装 Ubuntu One 客户端以后，你准备打开并配置它时，你甚至都无法在菜单搜索里面找到它。就像是完全没有安装过一样。但你查看 Software Manager，又显示它已经安装完成了。问题到底出在哪了？

问题的关键是 **Ubuntu One installer** 需要 **ubuntuone-control-panel-qt** 包。这个包没有安装，你的 Ubuntu One 的安装过程就无法运行。要解决这个问题，打开终端 (Ctrl+Alt+T)并运行下面的命令：

```
sudo apt-get install ubuntuone-control-panel-qt

```

现在你在菜单里面搜索，你会发现 Ubuntu One 已经存在了。现在你可以配置账户，选择哪些同步和哪些不同步。现在你可能觉得你已经解决了所有的问题，这时你会发现 **Ubuntu One 指示器并没出现在面板上**。

### 在 Linux Mint 16 中安装 Ubuntu One indicator:

你可以通过添加以下的 PPA 在 Linux Mint 中获取 Ubuntu One indicator 程序：

```
sudo add-apt-repository ppa:rye/ubuntuone-extras
sudo apt-get update
sudo apt-get install indicator-ubuntuone

```

注销并重新登录后，你会看到这个指示器已经出现在面板中。与此同时，你的 Ubuntu One 也全部安装完成了。我希望这篇 **在 Linux Mint 中安装 Ubuntu One** 会对你有所帮助。欢迎提出问题和建议。

---

via: <http://itsfoss.com/ubuntu-one-linux-mint-16/>

译者：[乌龙茶](https://github.com/yechunxiao19) 校对：[Caroline](https://github.com/carolinewuyan)

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


ls命令的20个实用范例

Summary:
Linux中一个基本命令是ls。没有这个命令，我们会在浏览目录条目时会遇到困难。这个命令必须被每个学习Linux的人知道。
ls是什么
ls命令用于列出文件和目录。默认上，他会列出当前目录的内容。带上参数后，我们可以用 ...

Linux中一个基本命令是ls。没有这个命令，我们会在浏览目录条目时会遇到困难。这个命令必须被每个学习Linux的人知道。

### ls是什么

ls命令用于列出文件和目录。默认上，他会列出当前目录的内容。带上参数后，我们可以用ls做更多的事情。这里是一些在日常操作中使用到的ls用法的示例。

![](/data/attachment/album/201402/01/1113540n2anaeerrtq222e.png)

#### 1. 不带参数运行ls

不带参数运行ls会只列出文件或者目录。看不到其他信息输出（译注：有时候你发现无参数的ls命令和这里描述的不同，那有可能是你的ls命令实际上带参数的ls别名）。

$ ls

![](/data/attachment/album/201402/01/111111evt8xe8quvvtqkf3.png)

#### 2. 使用长清单模式

使用-l字符(小写L字符),会显示当前目录内容的长列表。在接下来的例子中，我们会结合-l参数(这个参数经常使用)来得到更好的结果。

$ ls -l

![](/data/attachment/album/201402/01/111113mtxinwv31wh95rmo.png)

这里是如何读取输出 :

* **第1列**

	+ 第一个字母**d**意味着内容是目录或者文件。在上面的截图中，Desktop、 Documents、 Downloads 和 lynis-1.3.8是目录。如果是'-'(**减号**)，这意味着它的内容是文件。当它是l(**小写l字符**)，意味这内容是链接文件。
	+ 下面的9个字符是关于文件权限。**前3个rwx**字符是文件的拥有者的权限，**第二组3rwx**是文件的所有组的权限，**最后的rwx**是对其他人访问文件的权限。
* **第2列** 这行告诉我们有多少链接指向这个文件。
* **第3列** 这行告诉我们谁是这个文件/文件夹的所有者。
* **第4列** 这行告诉我们谁是这个文件/文件夹的所有组。
* **第5列** 这行告诉我们这个文件/文件夹的以字节为单位的大小。 目录的大小总是4096字节。
* **第6列** 这告诉我们文件最后的修改时间。
* **第7列** 这告诉我们文件名或者目录名。

#### 3. 显示文件大小

以字节为单位看大小可能会不方便。6.5M读起来比6727680字节更简单。要这么做，我们可以使用-h与**-l**结合的参数。**-h参数意味着便于人识别**。

$ ls -lh

![](/data/attachment/album/201402/01/111115ea86ynk6attt6zzy.png)

另外一个可以这么做的参数是**--si**。这个参数和-h参数类似，但是**-si以1000为单位，而-h以1024为单位**。

$ ls -si

![](/data/attachment/album/201402/01/111116kj2qa8nqszkoqkdd.png)

#### 4. 排序文件大小

在我们可以显示文件大小之后，我们希望以文件大小排序。我们可以使用-S参数来这么做。这列表会从大到校排序。

$ ls -lhS

![](/data/attachment/album/201402/01/111118ww4ic0wwccocysmz.png)

#### 5. 测量大小

ls可以通过使用**-block-size=SIZE**改单位大小。这里的SIZE是：

```
K = Kilobyte
M = Megabyte
G = Gigabyte
T = Terabyte
P = Petabyte
E = Exabyte
Z = Zettabyte
Y = Yottabyte

```

比如，我们希望使用MB作为单位大小。所以语法就会像这样:

$ ls -l --block-size=M

![](/data/attachment/album/201402/01/111120ll9qkwlttbakjt4w.png)

#### 6. 显示隐藏文件

在Linux中，以"."(**点号**)开头的文件是隐藏文件。为了在ls命令中显示它，我们可以使用**-a**选项。

$ ls -a

![](/data/attachment/album/201402/01/111121fiqlbfdbqzzzjbcd.png)

#### 7. 只列出目录条目

如果我们希望只列出目录，我们可以使用**-d**选项。

$ ls -d \*/

![](/data/attachment/album/201402/01/111122ws2wf1f4ezezbpem.png)

#### 8. 不打印所有者信息

要这么做，我们使用**-g**选项。

$ ls -g

![](/data/attachment/album/201402/01/111124md9x22xbaj22yluv.png)

#### 9. 不打印组信息

-g隐藏了拥有者信息，**—G**会隐藏组信息。

$ ls -lG

![](/data/attachment/album/201402/01/111125i2ncc1ahqzje2332.png)

#### 10. 打印UID和GID

如果你想以数字方式列出项的所有者和所有组（即UID和GID），我们可以带**-n**选项使用ls命令。这里是个例子。

$ ls -n

![](/data/attachment/album/201402/01/111127tas75anfsnwwagw5.png)

从上面的例子中，我们知道**用户pungki的UID**是100，**GID是1000**，而**root组的GID是0**。

#### 11. 不带颜色打印

一些Linux发行版已经对ls命令启用彩色。这会使ls以各种颜色打印列表。如果你不想要这样，你可以使用 **--color=never** 参数。

$ ls --color=never

![](/data/attachment/album/201402/01/111128ppg6gnt5pnz56nrp.png)

#### 12. 打印每个文件的索引号

为了打印索引或者大家俗称的inode号，我们可以使用-i选项。索引号会显示在第一列。

$ ls -li

![](/data/attachment/album/201402/01/111129ep9drj9zj1za3eeb.png)

#### 13. 增加 / (斜线) 标记目录

要这么做，使用**-p选项**。

$ ls -p

![](/data/attachment/album/201402/01/1111316ze5xjmrpsrxxe8m.png)

#### 14. 排序时反转顺序

你或许需要在列出条目时反转顺序。要这么做，你可以使用**-r**选项。

$ ls -r

![](/data/attachment/album/201402/01/111132hz2ly4h4e0hwevw4.png)

#### 15. 递归列出子目录

带**-R**参数后，你可以列出包含它子目录的目录。

$ ls -R

![](/data/attachment/album/201402/01/111133v9em0hhzmavgamai.png)

#### 16. 扩展名排序

你可以使用-X参数或者--sort=extension来通过扩展名来排序（译注：这样对于筛选不同类型的文件很有用）。

$ ls -lX

**或**

$ ls --sort=extension

![](/data/attachment/album/201402/01/111135l7oc8cpem0nvykec.png)

#### 17. 通过修改时间列出

使用-t选项会按修改时间排序，新的文件在前。

$ ls -lt

![](/data/attachment/album/201402/01/111136jwttppgssz3jsgew.png)

#### 18. 列出你的主目录

要列出你的主目录，你可以用"~"(**波浪号**)来代表它。这样你就不必输入完整的目录名。让我们假设家文件名为**/home/pungki**，那么**波浪号**就对/home/pungki有意义了。

$ ls ~

![](/data/attachment/album/201402/01/111138595ttczvm97dt14d.png)

#### 19. 列出父目录

无论你在那个目录，你可以列出父目录而不必输入完整路径。这是个例子。

$ ls ../

这回列出**1**层之上的目录内容。

$ ls ../../

这回列出**2**层之上的目录内容（译注：可不支持“...”来代表2层之上）。

![](/data/attachment/album/201402/01/111139hh0ts8xfro0xthb9.png)

#### 20. 打印ls命令版本

使用--version参数打印它。

$ ls --version

![](/data/attachment/album/201402/01/111140ymgnr7tb3i3dw5zt.png)

### 总结

这些是在日常操作中会使用到的参数。当然你总可以输入**man ls** 或者 **ls --help** 来查询ls的手册页

---

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

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

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


在Arch上使用Syslinux替代GRUB

Summary:
这个教程用于教授Arch Linux用户如何在Arch下安装Syslinux一个轻量级、快速并且现代感十足的系统引导程序，用来替换掉系统自带的GRUB引导程序。

实际上，Syslinux不是一个简单的开机启动装载程序，它支持多种启动引 ...

这个教程用于教授Arch Linux用户如何在Arch下安装Syslinux——一个轻量级、快速并且现代感十足的系统引导程序，用来替换掉系统自带的GRUB引导程序。

![](/data/attachment/album/201402/03/211310qzolgma3gqgglcmq.jpg)

实际上，Syslinux不是一个简单的开机启动装载程序，它支持多种启动引导方式，本地载入，通过PXE网络载入，以及通过可移动媒体载入。并且，它还同时支持MBR和GPT磁盘，以及RAID设置。

在开始你实际操作之前，你应该知道Syslinux支持如下文件系统：FAT，EXT2，EXT3，EXT4和Btrfs，而且Syslinux能够运行在支持UEFI或BIOS的机器上。到目前为止，Syslinux还不能访问自己所在的分区之外的文件。

在你替换GRUB启动之前，请认真考虑，这只是一个可选的尝试，这个尝试有可能会给你带来一些麻烦。如果说你只是想感受一下新鲜的事物，或是已经厌倦了GRUB的界面，没问题来尝试尝试Syslinux吧。

### 在Arch box 中安装Syslinux

该说的都说完了，下面我们来开始安装Syslinux，准备替换掉已有的GRUB或者GRUB2启动程序。打开一个终端，输入如下命令来安装Syslinux

```
sudo pacman -S syslinux

```

安装完成后，你应该注意到一条消息，将指导您如何分别在BIOS或UEFI机器上部署Syslinux引导装载程序。BIOS用户比较幸运，因为他们只需要运行syslinux-install\_update 脚本就行了，这个脚本是Matthew Gyurgyik编写的，用来在BIOS机器上成功的部署Syslinux。

### 在Arch box上部署Syslinux

如果你拥有的是一个单独的/boot分区，你要保证你是在/boot分区上执行的这个脚本。在终端中输入如下命令：

```
sudo syslinux-install_update -i -a -m

```

这个脚本会安装必需的文件，并且用启动标记标记分区，同时会安装MBR引导代码。

### 配置Syslinux

这是非常非常重要的一步，任何人都不能忽略它，因为如果你的Syslinux没有正确的配置，你的电脑将不能启动。请再次注意。

目前，Syslinux能通过/boot/syslinux/syslinux.cfg文件进行配置。在[the official Arch Linux page of Syslinux](https://wiki.archlinux.org/index.php/syslinux#Configuration) 中查看详细的配置指令。当你配置成功后，重启你的系统然后来看看新的启动引导程序效果如何！

如果你有任何的问题，请毫不犹豫的在评论中提出！

---

via: <http://news.softpedia.com/news/How-to-Replace-GRUB-with-Syslinux-on-Arch-Linux-415394.shtml>

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

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


在Linux上将视频转换成动态gif图片

Summary: 虽然曾经被认为是过时的艺术形式，但动态GIF图片现在复苏了。如果你还没有留意到，不少在线分享和社交网络网站都开始支持动态GIF图片，例如，Tumblr，Flickr，Google+和Facebook的部分地方。由于在消费和共享上的容  ...

虽然曾经被认为是过时的艺术形式，但动态GIF图片现在复苏了。如果你还没有留意到，不少在线分享和社交网络网站都开始支持动态GIF图片，例如，[Tumblr](http://staff.tumblr.com/post/15623140287/1mb-gifs)，[Flickr](http://www.flickr.com/photos/markus-weldon-imagebank/4439159924/sizes/o/in/photostream/)，[Google+](https://plus.google.com/communities/110524851358723545415)和[Facebook的部分地方](http://mashable.com/2013/08/29/gifs-return-to-facebook/)。由于在消费和共享上的容易，GIF的动画已经成为主流互联网文化的一部分了。

![](/data/attachment/album/201402/03/2153247sm6z28pmus46m8t.png)

所以，你们中的一些人会好奇怎样才能生成这样的动态GIF图片。已经有各种各样专门用来生成动态GIF图片的在线或离线工具。另一种选择是创建一副动态GIF图片时关闭现有的视频剪辑。在这个教程中，我会描述**在Linux上如何将一段视频文件转换成一副动态GIF图片**。

作为一个更有用的例子，让我展示如何**将一个YouTube视频转换成一副动态GIF图片**。

### 第一步：下载YouTube视频

首先，下载一个你想要转换的YouTube视频。你可以使用[youtube-dl](http://xmodulo.com/2013/03/how-to-save-youtube-videos-on-linux.html)这个工具将YouTube视频保存为MP4文件。假设你把你最爱的YouTube视频保存为"funny.mp4"。（译注：对于墙内的同学，请无视YT吧，自行去好人楼主那里寻找一个MP4吧，;-}）

### 第二步：从视频中解压视频帧

接下来，在Linux系统上[安装FFmpeg](http://xmodulo.com/2013/03/how-to-save-youtube-videos-on-linux.html)，我会用这个工具去解压从视频中解压出视频帧。

下面的指令会解压出独立的视频帧，将它们保存为GIF图片。确保使用诸如("out%04d.gif")的输出文件格式。这样，独立的帧就被合适地命名并保存。

```
ffmpeg -t  -ss  -i  out%04d.gif

```

例如，如果你想解压输入视频的视频帧，从第10秒开始，每5秒一帧，请运行下列命令。

```
$ ffmpeg -t 5 -ss 00:00:10 -i funny.mp4 out%04d.gif

```

在完成FFmpeg之后，你会看到一组创建出来的GIF文件，它们被命名为"out[\d+].gif"。

### 第三步：合并视频帧进一副动态GIF

下面这一步要合并单个的GIF文件成一副动态GIF图片。为此，你可以使用ImageMagick。

首先，如果你还没有的话，在Linux系统上[安装ImageMagick](http://ask.xmodulo.com/install-imagemagick-linux.html)。

```
convert -delay x -loop 0 out*gif

```

在这个命令中，"-delay"是控制动态速度的选项。这个选项表示在显示下一帧画面前需要等待的秒数：帧数/每秒帧数 。"-loop 0"选项表示动画的无限次循环。如果你愿意，你可以指定"-loop N"让动画只重复N次。

例如，为了生成一副每秒20帧和循环无数次的动态GIF图片，使用如下命令。

```
$ convert -delay 1x20 -loop 0 out*.gif animation.gif

```

### 第四步（可选）：减少动态GIF的大小

最后这一步（可选）是通过使用ImageMagick的GIF优化功能来减少生成的GIF文件的大小。

使用下列命令去减少GIF大小。

```
convert -layers Optimize animation.gif animation_small.gif

```

现在你已经准备好在你的社交网络上分享制作完成的GIF图片。

享受技术带来的乐趣吧！:-)

---

via: <http://xmodulo.com/2013/11/convert-video-animated-gif-image-linux.html>

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

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


Linux 安全新闻: Linux 3.13、SystemRescueCD 4和BackBox 3.13

Summary:
1) Linux 3.13
Linus Torvalds 前一段时间释出了 Linux Kernel 3.13 作为2014年的开门红。按照惯例，此版本更新了大量驱动。
并且，Linux Kernel 3.13 包含了 nftable，这个软件是大名鼎鼎的 iptables 的继任者。从  ...

### 1) Linux 3.13

Linus Torvalds 前一段时间释出了 Linux Kernel 3.13 作为2014年的开门红。按照惯例，此版本更新了大量驱动。

并且，Linux Kernel 3.13 包含了 nftable，这个软件是大名鼎鼎的 iptables 的继任者。从提交的代码来看，nftables 继续使用现存的网络过滤钩子(netfilter hooks)、连接追踪系统、NAT 子系统、透明代理引擎、日志基础架构和用户空间包排列设施。

>
> “简而言之，nftables 提供4个128位的普通寄存器和1个特殊寄存器用于保存结论”，代码提交的注释上说道，“并且 nftables 继承了 iptables 的“table/chain/rule 对象”这些概念，但提供了更灵活的配置方式，它也包含原先映射支持的未知数据类型架构。”
>
>
> 值得注意的是这次还支持 NFC（近场通信）支付协议。
>
>
> “使用 NFC*CMD*SE*IO 命令发送 ISO07816 应用协议数据单元到 NFC 嵌入式安全设备，”Intel 开发人员 Samuel Ortiz 在他的提交[信息](http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5ce3f32b5264b337bfd13a780452a17705307725)中写道：“反馈信息也是通过 NFC*CMD*SE*IO 返回到用户空间的。”
>
>
>

### 2) System Rescue CD 4.0.0

![](/data/attachment/album/201402/04/222556jsmfkzjnmfsjmbjl.jpeg)

大多数人都会使用 Linux 作为服务器或桌面系统，其实我们还可以把一个 Linux 系统拿来救援一个非 \*nix 系统。

用于恢复系统和数据的 Linux 发行版中，比较流行的一个是“SystemRescueCd”，它在上周更新到了4.0.0版。

以下是它的[更新记录](http://www.sysresccd.org/Changes-x86)：

* 标准内核：长期支持（LTS）版 linux-3.10.25（内核镜像包含32位的 rescue32 和 64位的 rescue64）
* 备用内核：最新稳定版 linux-3.12.7（内核镜像包含32位的 altker32 和 64位的 altker64）
* XOrg 图形环境和驱动更新到 xorg-server-1.14.3
* GParted 更新到 0.17.0（添加在线重新分区的功能）
* btrfs 工具集更新到 sys-fs/btrfs-progs-3.12

### 3) BackBox 3.13

Linux 也是那些安全专家们手中的强大武器，而 BackBox 就是一个专注于安全的 Linux 发行版（BackBox 主要面对安全评估和渗透测试 —— 译者注）。最新版的 BackBox 更新了大量组件，有一点很奇怪，它没有使用最新的 Linux 3.13 内核，而用了 Linux 3.11 内核。

现在的 BackBox 发行版可以在匿名模式下更新安全工具。

---

via: <http://www.linuxplanet.com/news/linux-top-3-linux-3.13-system-rescue-4-and-backbox-3.13.html>

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

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


如何在 Linux Mint 16 中安装图标主题

Summary: 如果你觉得默认的 Mint 主题和图标并不足以满足你，为何不来点改变呢？在这篇初学者快速教程中，我们会指导你如何在Linux Mint 16中安装图标主题以及如何改变图标。我们将通过安装绚丽的 Moka 图标主题来学习本教程 ...

如果你觉得默认的 Mint 主题和图标并不足以满足你，为何不来点改变呢？在这篇初学者快速教程中，我们会指导你如何**在Linux Mint 16中安装图标主题**以及**如何改变图标**。我们将通过安装绚丽的 Moka 图标主题来学习本教程。

小小提一下，可能你以前不知道，主题和图标主题之间是有区别的。图标主题只是改变图标的外观，而主题则改变了包括图标在内其余很多东西的外观。

### 在 Linux Mint 16 中安装图标主题:

在Linux Mint（以及其他大部分的Linux发行版）中有个两种方法来安装图标主题。如果你下载了图标主题的压缩包，你可以在~/.icons目录下解压它。通常这个目录并不存在，你可以随意创建它。

安装图标主题的第二种方法是使用 [PPA](http://en.wikipedia.org/wiki/Personal_Package_Archive)。大多数流行的图标主题都有自己的 PPA。让我们来看看如何使用 PPA 在 Mint 中安装 Moka 图标。

### 在 Linux Mint 16 中安装 Moka 图标主题:

打开 terminal（Ctrl+Alt+T）并输入下面的命令：

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

```

### 在 Linux Mint 16 中改变图标:

[在 Ubuntu 中改变图标主题](http://itsfoss.com/how-to-install-themes-in-ubuntu-13-10/)是非常简单直接的。不过在 Linux Mint 中稍微隐藏了一下。你安装了图标主题后，在菜单中选择 **Setting**，然后选择 **Themes**。

![](/data/attachment/album/201404/03/135338bugmlrqpp7mmz02p.jpeg)

现在你可能已经明白为什么我说在 Linux Mint 中的图标更改稍微隐藏了。至少第一眼，你不会找到一个选项来改变图标。只改变图标，选择 **Other settings** 并点击 **Icons**。你会在这里找到所有的图标设置。选择你喜欢的一个。

![](/data/attachment/album/201404/03/135339ws9bie99rjm8ewpc.jpeg)

改变会立即生效，并不需要重启。下面是我的 Linux Mint 使用 Moka 图标主题后的桌面：

![](/data/attachment/album/201404/03/135340vrl992dnd3lnddf1.jpeg)

我希望这篇教程能帮助你实现图标主题的修改。不要忘记 Ubuntu 13.10 的5个最好图标主题，你可以使用任何你喜欢的图标主题来使你的桌面变得更漂亮。如有任何问题、建议以及想法，请在下面评论栏留下您的评论。

---

via: <http://itsfoss.com/install-icon-linux-mint/>

译者：[乌龙茶](https://github.com/yechunxiao19) 校对：[Caroline](https://github.com/carolinewuyan)

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


userdel 命令 - 从Linux系统中删除用户账户

Summary:
在服务器上维护用户就是添加、修改以及删除用户。当一个用户出于某种原因不再需要登录系统时，我们需要删除此用户以避免安全漏洞。在Linux系统上，我们用 userdel 命令来删除一个用户。

userdel是什么
userdel 是一 ...

在服务器上维护用户就是添加、修改以及删除用户。当一个用户出于某种原因不再需要登录系统时，我们需要删除此用户以避免安全漏洞。在Linux系统上，我们用 **userdel** 命令来删除一个用户。

![](/data/attachment/album/201402/06/185048donjynhtitnjmjny.png)

### userdel是什么

userdel 是一个底层用于删除用户的工具。在 Debian 上，我们通常会使用 deluser 命令。userdel 会查询系统账户文件，例如 **/etc/password** 和 **/etc/group**。那么它会删除所有和用户名相关的条目。在我们删除它之前，用户名必须存在。

### 如何使用userdel

由于 userdel 会修改系统账户文件，那么我们**需要root特权**来运行它。不然我们会遇到一个报错信息“*只有root权限才能执行这项操作*”或者类似的信息。在我们得到特权后，我们可以通过输入 userdel 从你的控制台删除用户。下面是一个默认使用 userdel 的样例。

```
$ sudo userdel pasadena

```

或者

```
# userdel pasadena

```

![](/data/attachment/album/201402/06/185052rxxxyyx4i8ixkwwk.png)

正如你所见，我们不能没有root权限而删除用户 pasadena。当我们有权限时，系统不会给出错误信息，这意味着用户已经成功删除。

### 完全删除用户家目录

不带选项使用 userdel，只会删除用户。用户的家目录将仍会在/home目录下。

![](/data/attachment/album/201402/06/185053l7svubvwwl1jjusu.png)

当我们进入/home目录时，我们仍旧可以看到ID 1002拥有 pasadena 文件夹。已创建的用户通常会有一个与用户名相同的组名。1002是 pasadena 用户名的 UID 和 pasadena 组名的 GID。

为了在删除用户时完全删除家目录，我们可以使用 **-r** 选项。这个选项同样会删除用户的邮件池，如果存在的话。

![](/data/attachment/album/201402/06/185054eu5nrjmrj2aaegpu.png)

### 强制删除一个用户

userdel 提供了 **-f** 选项来强制删除用户。甚至当用户已经登入 Linux 系统时此选项仍旧生效。请看一下示例截图。

![](/data/attachment/album/201402/06/185056g9tammrppujz8uv9.png)

截图的上面显示用户 pasadena 已经登录了系统。它被标记的进程**6218**是 SSHD 进程。而当我们用“**userdel -f pasadena**”只会显示已经登录的要被删除的用户信息。命令本身已经成功。如果我们使用[cat 命令](http://linoxide.com/linux-command/13-cat-command-examples/)查看**/etc/passwd**的内容，我们看不到到用户 pasadena 存在了。他的家目录还存在但是所有者只能显示为数字ID。

有一件事我们必须了解，带 **-f** 选项的 userdel **不会断开** 该用户已有的 SSH 链接。因此，即使用户已经不存在，但实际上仍是登录状态，并且是活跃用户。但是当用户登出后不可再登录，因为用户已经被删除。

因此**所以这个选项使用起来有些危险**，因为它会使你的系统进入不一致的状态。

### 总结

userdel 是一个 Linux 系统内部删除用户的工具。userdel同样是**deluser**命令的后端，这是一个用perl编写的删除用户的脚本。如往常一样，你可以输入**man userdel**来查看关于userdel命令的更多细节。

---

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

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

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


Linux 中如何打开一个大文本文件

Summary: 在大数据时代，我们会经常遇到有大文本文件（上 GB 或更大）的情况。假设需要我们手工的搜索和编辑这些大文件，或者为了解决一些特定的问题而需要手工分析多个上 GB 的日志文件。传统的文本编辑软件对处理这样的大文 ...

在“大数据”时代，我们会经常遇到有大文本文件（上 GB 或更大）的情况。假设需要我们手工的搜索和编辑这些大文件，或者为了解决一些特定的问题而需要手工分析多个上 GB 的日志文件。传统的文本编辑软件对处理这样的大文件不太有效，当我们试图打开一个大文件时会经常由于内存不足而郁闷的不行。

如果你是一个精明的系统管理员，你也许会用 cat、tail、grep、sed、awk 等这些命令的组合来打开和编辑一个文本文件。在这篇教程里，我将会谈论关于如何**在 Linux 中打开（并编辑）一个大文本文件**的更友好的方式方法。

### Vim 的 LargeFile 插件

Vim文本编辑器拥有大量的插件（或脚本），它们能扩展 VIM 的功能。其中的一个Vim插件是 [LargeFile 插件](http://www.vim.org/scripts/script.php?script_id=1506)。

LargeFile 插件可以使大文件更迅速的被加载和编辑，它是通过关闭 VIM 的一些像事件、回退、语法高亮等功能来实现的。

要在 VIM 上安装 LargeFile 插件，首先要确认是否已经安装 VIM。

在 Debian、 Ubuntu 或 Linux Mint 系统中:

```
$ sudo apt-get install vim

```

在 Fedora、CentOS 或 RHEL 系统中:

```
$ sudo yum install vim-enhanced

```

可以从 [Vim website](http://www.vim.org/scripts/script.php?script_id=1506) 上下载 LargFile 插件，最新版本号是5，下载的文件将会保存为 Vimball 格式（以 .vba 结尾）。

要在你的 home 目录下安装插件，用 VIM 打开 .vba 文件，如下所示。

```
$ gunzip LargeFile.vba.gz
$ vim LargeFile.vba

```

在 VIM 窗体上输入 “:so %”，然后按回车键，就可以在你的 home 目录下安装这个插件了。

![](/data/attachment/album/201402/08/114408mczdubnryt9rzb5x.jpg)

完成后，输入 “:q” 退出 VIM。

这个插件将会被安装在 ~/.vim/plugin/LargeFile.vim 下。现在可以像平常一样使用 VIM 了。

当在 VIM 中装载一个“大”文件的时候，这个插件起的作用就是关掉事件、回退、语法高亮等功能。默认情况下大于 100MB 的文件就会被插件认为是“大文件”。要改变也个默认设置，你可以编辑 ~/.vimrc 文件（如果不存在就创建一个）。

如要把大文件的标准最小定为 10MB 的话，可以在 ~/.vimrc 中添加

>
> let g:LargeFile=10
>
>
>

虽然 LargeFile 可以加速文件装载的速度，但 VIM 自身对编辑相当大的文件支持不太好，因为它会一下子把整个文件都加载进内存。例如，用 VIM 装载 1G　大小的文件，它就会占很多内存和交换空间，如下图所示的顶部输出。

![](/data/attachment/album/201402/08/114411165bdvjgij6i16jp.jpg)

所以如果你的文件明显大于你 Linux 系统的物理内存的话，就要考虑其它的选择，如下所述。

### glogg 日志资源管理器

如果你只需要查看一个文本文件，并不对它做编辑，可以考虑下　[glogg](http://glogg.bonnefon.org/)。它是一款基于图形用户界面的独立日志分析器。这个　glogg　分析器支持通过正则表达式和通配符来对要打开的文本文件进行过滤和筛选，使用户只看到其真正关注的内容。

在 Debian (Wheezy 版本或更高版本)、Ubuntu 或 Linux Mint 系统中安装 glogg :

```
$ sudo apt-get install glogg

```

在 Fedora (17 版本或更高版本)　系统中安装 glogg :

```
$ sudo yum install glogg

```

用 glogg 打开文本文件 :

```
$ glogg test.log

```

glogg 能很快的打开一个大文本文件。我花了大约 12 秒就打开了一个 1G 的日志文件。

![](/data/attachment/album/201402/08/114414gz66z1sy656gdidb.jpg)

在 "Text" 区域，你可以输入正则表达式，然后点击 "Search" 按纽，它支持表达式大小写敏感搜索以及自动刷新功能。搜索后，在窗体底部会显示出筛选的结果内容。

![](/data/attachment/album/201402/08/114416u59d9s294zcbmki5.jpg)

从装载文件来跟 VIM 对比， glogg　显得更轻量级，在加载完一个 1G 的日志文件后，它仅仅只使用了 83M 的物理内存。

### JOE 文体编辑器

[JOE](http://joe-editor.sourceforge.net/) 是GPL下发布的一个轻量级的基于终端的文本编辑器。JOE 是一款少有的支持大文件的文本编辑器，可以打开和编辑比物理内存大的文件。

此外，JOE支持各种功能强大的文本编辑功能，如非破坏性编辑，用正则表达式搜索和替换，无限次的撤销/重做，语法高亮等。

在 Debian、Ubuntu 或 Linux Mint 系统中安装 JOE:

```
$ sudo apt-get install joe

```

在 Fedora、CentOS 或 RHEL 系统中安装 JOE:

```
$ sudo yum install joe

```

要打开编辑文本文件，请运行:

```
$ joe test.log

```

![](/data/attachment/album/201402/08/114420px4fe42bxrw33ew0.jpg)

相比上面提到的 glogg 来说，用 JOE 加载一个大文本文件会有点卡，加载一个 1G 的文件要用将近 30 秒的时间，不过考虑到要对文件进行全文编辑，这还能忍受。一旦文件加载完成，就可以在相当快捷的终端模式中编辑此文件。

JOE的内存消耗令人印象深刻。加载并编辑一个1GB的文本文件，只花费47MB的物理内存。

![](/data/attachment/album/201402/08/114422naaliln51na141c2.jpg)

如果你还知道在 Linux 中打开/编辑大文本文件的其它方法的话，请跟我们分享！

---

via: <http://xmodulo.com/2013/12/open-large-text-file-linux.html>

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

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


给Linux系统/网络管理员的nmap的29个实用例子

Summary: Nmap亦称为Network Mapper(网络映射)是一个开源并且通用的用于Linux系统/网络管理员的工具。nmap用于探查网络、执行安全扫描、网络核查并且在远程机器上找出开放端口。它可以扫描在线的主机、操作系统、包过滤器和远 ...

**Nmap**亦称为**Network Mapper**(网络映射)是一个开源并且通用的用于Linux系统/网络管理员的工具。**nmap**用于**探查网络、执行安全扫描、网络核查**并且在远程机器上**找出开放端口**。它可以扫描在线的主机、操作系统、包过滤器和远程主机上的开放端口。

![](/data/attachment/album/201402/12/135412xdoqcppgx2zdwx2g.png)

*Nmap 命令和示例*

我会分两个章节讲述**NMAP**的常见的使用方法，这篇是nmap系列的第一部分(译注:原文为I’ll be covering most of NMAP usage in two different parts and this is the first part of nmap serious,这里serious可能为笔误，应该为series)。在这个步骤里，我用两个没有防火墙的服务器来测试nmap命令的工作。

* 192.168.0.100 – server1.tecmint.com
* 192.168.0.101 – server2.tecmint.com

### Nmap 命令使用

```
# nmap [Scan Type(s)] [Options] {target specification}

```

### 如何在Linux上安装nmap

如今大部分Linux发行版像**Red Hat, CentOS, Fedoro, Debian** 和 **Ubuntu**已经在它们默认的包管理仓库中包含了**nmap**，可以通过[Yum](http://www.tecmint.com/20-linux-yum-yellowdog-updater-modified-commands-for-package-mangement/) 和 [APT](http://www.tecmint.com/useful-basic-commands-of-apt-get-and-apt-cache-for-package-management/)安装、管理和更新软件包。在这些发行版上安装**nmap**，可以使用下面的命令。

```
# yum install nmap      [基于 Red Hat 的发行版]
$ sudo apt-get install nmap [基于 Debian 的发行版]

```

安装了最新的nmap程序之后，你就可以跟着这篇文章中的示例指令来学习了。

### 1. 带主机名和IP地址扫描系统

**nmap**工具提供了不同的方法来扫描一个系统。在这个例子中，我使用主机名为**server2.tecmint.com**的机器执行扫描来找出所有开放端口，服务和系统上的MAC地址。

#### 使用主机名扫描

```
[root@server1 ~]# nmap server2.tecmint.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 15:42 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.415 seconds
You have new mail in /var/spool/mail/root

```

#### 使用IP地址扫描

```
[root@server1 ~]# nmap 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-18 11:04 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
958/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.465 seconds
You have new mail in /var/spool/mail/root

```

### 2. 使用"-v"选项扫描

你可以看到带"-v"选项的命令给出了关于远程机器的更多信息。

```
[root@server1 ~]# nmap -v server2.tecmint.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 15:43 EST
Initiating ARP Ping Scan against 192.168.0.101 [1 port] at 15:43
The ARP Ping Scan took 0.01s to scan 1 total hosts.
Initiating SYN Stealth Scan against server2.tecmint.com (192.168.0.101) [1680 ports] at 15:43
Discovered open port 22/tcp on 192.168.0.101
Discovered open port 80/tcp on 192.168.0.101
Discovered open port 8888/tcp on 192.168.0.101
Discovered open port 111/tcp on 192.168.0.101
Discovered open port 3306/tcp on 192.168.0.101
Discovered open port 957/tcp on 192.168.0.101
The SYN Stealth Scan took 0.30s to scan 1680 total ports.
Host server2.tecmint.com (192.168.0.101) appears to be up ... good.
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.485 seconds
               Raw packets sent: 1681 (73.962KB) | Rcvd: 1681 (77.322KB)

```

#### 扫描多台主机

你可以简单地通过在namap后写上它们的IP地址或者主机名来扫描多台主机。

```
[root@server1 ~]# nmap 192.168.0.101 192.168.0.102 192.168.0.103

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:06 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
Nmap finished: 3 IP addresses (1 host up) scanned in 0.580 seconds

```

### 4. 扫描整个子网

你可以通过**通配符**来使nmap扫描整个子网或者IP段。

```
[root@server1 ~]# nmap 192.168.0.*

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:11 EST
Interesting ports on server1.tecmint.com (192.168.0.100):
Not shown: 1677 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
111/tcp open  rpcbind
851/tcp open  unknown

Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 256 IP addresses (2 hosts up) scanned in 5.550 seconds
You have new mail in /var/spool/mail/root

```

从上面的输出你可以看到nmap扫描了整个子网，并给出了**网络**中**在线**主机的信息。

### 5. 使用IP地址的最后一段扫描多台主机

你可以简单地通过指定IP地址的最后8位执行扫描多台主机。比如说，这里我在IP地址为192.168.0.101, 192.168.0.102 and 192.168.0.103的机器上执行了扫描。

```
[root@server1 ~]# nmap 192.168.0.101,102,103

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:09 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 3 IP addresses (1 host up) scanned in 0.552 seconds
You have new mail in /var/spool/mail/root

```

### 6. 从文件中扫描主机列表

如果你有更多的主机要扫描，并且所有的主机都写在一个文件中，你可以直接让namp读取它并执行扫描。让我们看看要怎么做。

创建一个名为“**nmaptest.txt**”的文本文件，并定义所有你想要扫描的IP地址或者服务器的主机名。

```
[root@server1 ~]# cat > nmaptest.txt

localhost
server2.tecmint.com
192.168.0.101

```

接着，带“**iL**”参数运行nmap命令来扫描文件中所有列出的IP地址。

```
[root@server1 ~]# nmap -iL nmaptest.txt

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-18 10:58 EST
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1675 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
25/tcp  open  smtp
111/tcp open  rpcbind
631/tcp open  ipp
857/tcp open  unknown

Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
958/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
958/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 3 IP addresses (3 hosts up) scanned in 2.047 seconds

```

### 7. 扫描一个IP范围

在使用nmap扫描时，你可以指定一个IP范围。

```
[root@server1 ~]# nmap 192.168.0.101-110

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:09 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 10 IP addresses (1 host up) scanned in 0.542 seconds

```

### 8. 扫描网络时排除部分主机

你可以在执行全网扫描的时候排除一些主机，或者在使用通配符扫描时使用“**–exclude**”选项。

```
[root@server1 ~]# nmap 192.168.0.* --exclude 192.168.0.100

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:16 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 255 IP addresses (1 host up) scanned in 5.313 seconds
You have new mail in /var/spool/mail/root

```

### 9. 扫描系统信息

（译注：原文这里提到了traceroute，实在并无此内容，删除之）

使用nmap，你可以检测到运行在远程主机上的操作系统和版本。要启用OS及其版本检测，我们可以使用带 “**-A**” 选项使用nmap。

```
[root@server1 ~]# nmap -A 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:25 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 4.3 (protocol 2.0)
80/tcp   open  http    Apache httpd 2.2.3 ((CentOS))
111/tcp  open  rpcbind  2 (rpc #100000)
957/tcp  open  status   1 (rpc #100024)
3306/tcp open  mysql   MySQL (unauthorized)
8888/tcp open  http    lighttpd 1.4.32
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
No exact OS matches for host (If you know what OS is running on it, see http://www.insecure.org/cgi-bin/nmap-submit.cgi).
TCP/IP fingerprint:
SInfo(V=4.11%P=i686-redhat-linux-gnu%D=11/11%Tm=52814B66%O=22%C=1%M=080027)
TSeq(Class=TR%IPID=Z%TS=1000HZ)
T1(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)
T2(Resp=N)
T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)
T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)

Uptime 0.169 days (since Mon Nov 11 12:22:15 2013)

Nmap finished: 1 IP address (1 host up) scanned in 22.271 seconds
You have new mail in /var/spool/mail/root

```

在上面的输出中，你可以看到运行在远程主机上操作系统的TCP/IP指纹和更详细的运行在远程主机上的特定端口和服务。

### 10. 使用nmap启用系统检测

使用选项“-O”或“-osscan-guess”同样可以发现OS信息。

```
[root@server1 ~]# nmap -O server2.tecmint.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:40 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
No exact OS matches for host (If you know what OS is running on it, see http://www.insecure.org/cgi-bin/nmap-submit.cgi).
TCP/IP fingerprint:
SInfo(V=4.11%P=i686-redhat-linux-gnu%D=11/11%Tm=52815CF4%O=22%C=1%M=080027)
TSeq(Class=TR%IPID=Z%TS=1000HZ)
T1(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)
T2(Resp=N)
T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)
T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=Option -O and -osscan-guess also helps to discover OSR%Ops=)
T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)

Uptime 0.221 days (since Mon Nov 11 12:22:16 2013)

Nmap finished: 1 IP address (1 host up) scanned in 11.064 seconds
You have new mail in /var/spool/mail/root

```

### 11. 扫描主机来检测防火墙

下面的命令会在远程主机上执行扫描来检测主机上是否使用了任何包过滤器或者防火墙。

```
[root@server1 ~]# nmap -sA 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:27 EST
All 1680 scanned ports on server2.tecmint.com (192.168.0.101) are UNfiltered
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.382 seconds
You have new mail in /var/spool/mail/root

```

### 12. 扫描主机以检查其受到防火墙保护

扫描检测一个主机是否受到任何包过滤器软件或者防火墙保护。

```
[root@server1 ~]# nmap -PN 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:30 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.399 seconds

```

### 13. 找出网络中在线主机

在“**-sP**”选项的bang帮助下，我们可以简单地检测网络中的主机是否在线,带这个选项后nmap会跳过端口检测和其他检测。

```
[root@server1 ~]# nmap -sP 192.168.0.*

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-18 11:01 EST
Host server1.tecmint.com (192.168.0.100) appears to be up.
Host server2.tecmint.com (192.168.0.101) appears to be up.
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
Nmap finished: 256 IP addresses (2 hosts up) scanned in 5.109 seconds

```

### 14. 执行快速扫描

你可以带“**-F**”选项仅扫描所有列在nmap-services文件中的端口。

```
[root@server1 ~]# nmap -F 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:47 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1234 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.322 seconds

```

### 15. 找出nmap版本

你可以使用“**-V**”选项找出运行在你机器上的nmap版本。

```
[root@server1 ~]# nmap -V

Nmap version 4.11 ( http://www.insecure.org/nmap/ )
You have new mail in /var/spool/mail/root

```

### 16. 连续扫描端口

使用“**-r**”选项而不随机排列端口的扫描顺序。

```
[root@server1 ~]# nmap -r 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:52 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.363 seconds

```

### 17. 显示主机接口及路由

你可以使用nmap的“**–iflist**”选项来列出本机的主机接口和路由信息。

```
[root@server1 ~]# nmap --iflist

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:07 EST
************************INTERFACES************************
DEV  (SHORT) IP/MASK          TYPE     UP MAC
lo   (lo)    127.0.0.1/8      loopback up
eth0 (eth0)  192.168.0.100/24 ethernet up 08:00:27:11:C7:89

**************************ROUTES**************************
DST/MASK      DEV  GATEWAY
192.168.0.0/0 eth0
169.254.0.0/0 eth0

```

在上面的输出中，你可以看到上述清单列出了你系统中的已经启用的接口及它们相应的路由。（译注：这样你就知道可以通过这些接口扫描哪些网络了）

### 18. 扫描特定端口

nmap使用不同的选项来发现远程机器上的端口。你可以用“**-p**”选项指定你想扫描的TCP端口。默认上，nmap只会扫描**TCP**端口。

```
[root@server1 ~]# nmap -p 80 server2.tecmint.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:12 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
PORT   STATE SERVICE
80/tcp open  http
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) sca

```

### 19. 扫描TCP端口

当然，你可以指定nmap扫描的端口类型（TCP或UDP）和端口号。

```
[root@server1 ~]# nmap -p T:8888,80 server2.tecmint.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:15 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
PORT     STATE SERVICE
80/tcp   open  http
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.157 seconds

```

### 20. 扫描UDP端口

```
[root@server1 ~]# nmap -sU 53 server2.tecmint.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:15 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
PORT     STATE SERVICE
53/udp   open  http
8888/udp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.157 seconds

```

### 21. 扫描多个端口

你可以使用“**-p**”选项来指定多个要扫描的端口。

```
[root@server1 ~]# nmap -p 80,443 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-18 10:56 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
PORT    STATE  SERVICE
80/tcp  open   http
443/tcp closed https
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.190 seconds

```

### 22. 扫描网络的端口范围

你也可以使用表达式指定扫描端口的范围。

```
[root@server1 ~]#  nmap -p 80-160 192.168.0.101

```

### 23. 找出主机服务版本号

我们可以使用“**-sV**”选项找出远程主机上运行的服务及其版本号。

```
[root@server1 ~]# nmap -sV 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:48 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 4.3 (protocol 2.0)
80/tcp   open  http    Apache httpd 2.2.3 ((CentOS))
111/tcp  open  rpcbind  2 (rpc #100000)
957/tcp  open  status   1 (rpc #100024)
3306/tcp open  mysql   MySQL (unauthorized)
8888/tcp open  http    lighttpd 1.4.32
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 12.624 seconds

```

#### 24. 使用 TCP ACK (PA) 和 TCP Syn (PS) 扫描远程主机

有时包过滤防火墙阻止了标准**ICMP**ping请求，在这个情况下，我们可以使用**TCP ACK**和**TCP Syn**方法来扫描远程主机。

```
[root@server1 ~]# nmap -PS 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:51 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.360 seconds
You have new mail in /var/spool/mail/root

```

### 25. 用TCP ACK扫描远程主机的特定端口

```
[root@server1 ~]# nmap -PA -p 22,80 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:02 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.166 seconds
You have new mail in /var/spool/mail/root

```

### 26. 用TCP SYN扫描远程主机的特定端口

```
[root@server1 ~]# nmap -PS -p 22,80 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:08 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.165 seconds
You have new mail in /var/spool/mail/root

```

### 27. 执行隐秘扫描

```
[root@server1 ~]# nmap -sS 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:10 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.383 seconds
You have new mail in /var/spool/mail/root

```

### 28. 用TCP SYN扫描最常用的端口

```
[root@server1 ~]# nmap -sT 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:12 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
111/tcp  open  rpcbind
957/tcp  open  unknown
3306/tcp open  mysql
8888/tcp open  sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 0.406 seconds
You have new mail in /var/spool/mail/root

```

### 29. 执行tcp空扫描来愚弄防火墙

```
[root@server1 ~]# nmap -sN 192.168.0.101

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 19:01 EST
Interesting ports on server2.tecmint.com (192.168.0.101):
Not shown: 1674 closed ports
PORT     STATE         SERVICE
22/tcp   open|filtered ssh
80/tcp   open|filtered http
111/tcp  open|filtered rpcbind
957/tcp  open|filtered unknown
3306/tcp open|filtered mysql
8888/tcp open|filtered sun-answerbook
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)

Nmap finished: 1 IP address (1 host up) scanned in 1.584 seconds
You have new mail in /var/spool/mail/root

```

这些就是目前**NMAP** 的用法，我会写出更有创造性的**NMAP**的第二部分(译注:原文为 I’ll be coming up more creative options of **NMAP** in our second part of this serious,这里serious可能为笔误，应该为series)。接着，不要走开也别忘了分享你们有价值的评论。

---

via: <http://www.tecmint.com/nmap-command-examples/>

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

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


新手教程——在Linux Mint 16中找到保存的WiFi密码

Summary: 当你使用 WEP，WPA 或 WPA2-PSK 连接到无线网络时，选择自动连接后密码将保存在Linux Mint（或任何其他的操作系统）中。试想一个情况，例如你需要提供密码给来访者，这时你需要知道WiFi密码，然而你有没有把它记下来 ...

当你使用 WEP，WPA 或 WPA2-PSK 连接到无线网络时，选择“自动连接”后密码将保存在Linux Mint（或任何其他的操作系统）中。试想一个情况，例如你需要提供密码给来访者，这时你需要知道WiFi密码，然而你有没有把它记下来。你可以轻松地找到之前连接的WiFi密码。

在这篇**新手教程**中，我们将会指导你**如何在 Linux Mint 16 中找到保存的 WiFi 密码**。

### 在 Linux Mint 中找到保存的 WiFi 密码:

找到保存的 WiFi 密码，其实过程非常简单。点击 Menu 输入network。在其中选择**Network Connections**。

![](/data/attachment/album/201402/12/214910xoyerl6xler7oc44.jpeg)

在 Network Connections 中，你可以看到所有你最近链接过的 WiFi 网络。选择你想要知道密码的一个，点击**Edit**。

![](/data/attachment/album/201402/12/214911s9yanm83gaa8gsws.png)

在 **Wi-Fi Security** 选项卡下，选中 **Show password** 来显示密码。

![](/data/attachment/album/201402/12/214913muuzyo5m6r5rd2c3.png)

通过以上步骤，你就可以得到保存的 WiFi 密码。你也可以通过类似的步骤[在 Ubuntu 中获取保存的 WiFi 密码](http://itsfoss.com/how-to-find-saved-wireless-wifi-passwords-ubuntu/)。希望这篇文章能够帮到你。

---

via: <http://itsfoss.com/find-wifi-password-linux-mint-16/>

译者：[乌龙茶](https://github.com/yechunxiao19) 校对：[Caroline](https://github.com/carolinewuyan)

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


如何在Linux桌面墙纸上显示Google Calendar

Summary: Google Calendar 是时下最流行的网页应用程序之一。用户可以通过网络接口或者本地的应用程序跨设备访问或同步 Google Calendar。在 Linux 上，有很多方法可以本地访问 Google Calendar，比如用电子邮件客户端插件（  ...

Google Calendar 是时下最流行的网页应用程序之一。用户可以通过网络接口或者本地的应用程序跨设备访问或同步 Google Calendar。在 Linux 上，有很多方法可以本地访问 Google Calendar，比如用电子邮件客户端插件（如 Evolution 或 Thunderbird ）或者用日历应用程序（如 Sunbird 或 Rainklendar）。这些方法通常都需要安装不必要的大型软件，这些软件你很可能根本不需要。

如果你只是想在本地的 Linux 上翻翻 Google Calendar 或者用它设置提醒，那么你可以考虑使用[Google Calendar 命令行接口（或者 gcalcli）](https://github.com/insanum/gcalcli)，这是一种更轻型化的方法。对于 Linux 桌面操作系统用户来说，好处不止这些，如果将 gcalcli 与[Conky](http://conky.sourceforge.net/)搭配使用你就可以把 Google Calendar 透明地融入桌面主题。

在这个教程中，我会展示**如何利用 gcalcli 和 Conky 将 Google Calendar 融入 Linux 桌面**

**[![](/data/attachment/album/201402/12/220326aq63mqcizywr93wq.jpg)](http://www.flickr.com/photos/xmodulo/11216377436/)**

### 在 Linux 安装 gcalcli

在安装 gcalcli 之前，要确保你正在用的是 Python 2 而不是 Python 3 ，因为 Python 3 与 gcalcli 不兼容。

如果是在 Debian、Ubuntu 或 Linux Mint 上可以用下面的命令安装 gcalcli

```
$ sudo apt-get install git python-pip python-gdata python-dateutil python-gflags python-vobject python-parsedatetime
$ sudo pip install google-api-python-client
$ sudo pip install apiclient urllib3
$ git clone https://github.com/insanum/gcalcli.git
$ cd gcalcli
$ sudo python setup.py install
```

**温馨提醒**：Ubuntu 或 Linux Mint 的软件库中虽然有 gcalcli，但是这些版本并不包含其最新的特性和针对 bug 的修复。所以这里推荐按以上所述的方法由源文件构建 gcalcli。

对于Fedora 、CentOS 或 RHEL，可按如下方法安装。

```
$ sudo yum install git python-pip python-gdata python-dateutil python-gflags python-vobject
$ sudo pip install google-api-python-client
$ sudo pip install apiclient urllib3
$ git clone https://github.com/insanum/gcalcli.git
$ cd gcalcli
$ sudo python setup.py install
```

### gcalcli 的 Google 认证

为了能让 gcalcli 访问 Google Calendar ，你需要用你的 Google 帐号通过 OAuth2 认证，以使 gcalcli 获得许可来访问你的 Google Calendar。

第一次运行 gcalcli 的时候，OAuth2 认证会自动进行初始化。因此运行下面的命令开始

$ gcalcli agenda

该命令会输出如下的一个 URL 。

[![](/data/attachment/album/201402/12/220329zxh3r3qlzuyuuxq7.jpg)](http://www.flickr.com/photos/xmodulo/11216331146/)

同时这个命令也会弹出一个指向该 URL 的浏览器窗口。如果因为一些原因，你的浏览器没有反应，你可以手动复制粘贴这个 URL 到你的浏览器中。

如果你还没有登录你的 Google 帐号，你得先登录。然后你会看到下面要求你许可 gcalcli 管理 Google Calendar 的信息。点击“Accept”即可。

[![](/data/attachment/album/201402/12/220331zy2l9zod849ldu9s.jpg)](http://www.flickr.com/photos/xmodulo/11216308465/)

### 支持 Google Calendar API

认证后，下一步就是支持 Google Calendar 的 API 访问。gcalcli 通过 Google Calendar API 访问Google Calendar 。但是，如果要使用 Google API 就必须明确设置你的 Google 帐号支持 Google API。

首先到：<https://cloud.google.com/console>。点击项目列表下的“API Project ”

转到“APIs & auth ”下面的“APIs”你会看见一个 Google APIs 列表。点击“Calendar API”的开关按钮使其能支持 API。

现在转到“APIs & auth”下的“Registered apps”那里，去注册 gcalcli app。点击最顶端的“Registered app”按钮。

[![](/data/attachment/album/201402/12/22033384z2abog4jsjw5eg.jpg)](http://www.flickr.com/photos/xmodulo/11216363656/)

填写 app 的名字（如，“My Gcalcli”），然后选择“ Native ”作为平台。点击“Registered”按钮。

这一步会生成并显示 OAuth 用户的 ID 和密码。另外关于上面提示的“You have not set up your product name（您没有设置您的产品名称）”，你可以忽略掉。

[![](/data/attachment/album/201402/12/220336n9aphahlkauc6hkz.jpg)](http://www.flickr.com/photos/xmodulo/11216593546/)

OAuth的认证结果将会保存在 ～/.gcalcli\_oauth 文本文件中。

### 用 gcalcli 在命令行中访问 Google Calendar

你现在马上就可以用 gcalcli 访问Google Calendar 了。

在你的家目录创建一个如下的 gcalcli 配置文件。将你先前获得的 OAuth 用户 ID 和 密码按下面格式输入进去。

$ vi ~/.gcalclirc

>
> --client*id='XXXXXXXXXX.apps.googleusercontent.com' --client*secret='YYYYYYYYYYYYYYYY'
>
>
>

到了这一步，你应该可以在命令行运行 gcalcli 了。

试试下面的命令，这两个命令会分别打印出一个你的 Google Calendar 的列表和今后 5 天的日程安排。

$ gcalcli list
$ gcalcli agenda

[![](/data/attachment/album/201402/12/220338c47pp4io14ez14mi.jpg)](http://www.flickr.com/photos/xmodulo/11216465043/)

### 将 gcalcli 与 Conky 结合

最后一步就是将 gcalcli 的输出导入你的桌面主题中。为了做到这一点，你需要 Conky 这个非常强大的工具，它可以把许多信息直接显示在你的桌面主题中。

首先在你的 Linux 系统上 [安装 Conky](http://xmodulo.com/2013/12/install-configure-conky-linux.html)。

然后，在你的家目录下的某个地方( 例如 ～/bin )创建如下的脚本程序。

$ vi ~/bin/gcal.sh

```
#!/bin/sh

gcalcli --conky calw 2 |
  sed -e 's/^[(0\x71^[(B/?/g' \
      -e 's/^[(0\x78^[(B/?/g' \
      -e 's/^[(0\x6A^[(B/?/g' \
      -e 's/^[(0\x6B^[(B/?/g' \
      -e 's/^[(0\x6C^[(B/?/g' \
      -e 's/^[(0\x6D^[(B/?/g' \
      -e 's/^[(0\x6E^[(B/?/g' \
      -e 's/^[(0\x74^[(B/?/g' \
      -e 's/^[(0\x75^[(B/?/g' \
      -e 's/^[(0\x76^[(B/?/g' \
      -e 's/^[(0\x77^[(B/?/g'

$ chmod +x ~/bin/gcal.sh
```

**重要提醒**：上面脚本中的 ‘<sup> [’</sup> 必须是**真正的 ESCAPE 键**( 也就是说在 vi 中按 Ctrl-V 然后按 Esc )。

这个脚本程序将 VT100 转义序列转成Unicode组件图字符。这是[必须的一步](https://github.com/insanum/gcalcli/issues/97)，因为 Conky 不支持 gcalcli 使用的 ANSI 字符画。

最后，在你的家目录中创建下面的 Conky 配置文件。

$ vi ~/.conkyrc

```
alignment top_right
maximum_width 630
minimum_size 330 10
gap_x 25
gap_y 50

own_window yes
own_window_type conky
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes
own_window_argb_visual yes
own_window_argb_value 0

update_interval 300
background no

border_width 1
default_color cornflowerblue
default_outline_color white
default_shade_color white
double_buffer no
draw_borders no
draw_graph_borders no
draw_outline no
draw_shades no
max_port_monitor_connections 64
max_specials 512
max_user_text 16384
text_buffer_size 8096
no_buffers yes
out_to_console no
uppercase no
use_xft yes
xftfont Bitstream Vera Sans Mono:size=10

TEXT
*** Google Calendar Agenda ***
${execpi 300 gcalcli --conky agenda}
${execpi 300 ~/bin/gcal.sh}
```

这个 Conky 配置文件会直接在你的桌面主题上显示你的 Google Calendar 的一个日程表和一个两个星期的时间表。

现在，你可以运行下面的命令激活 Conky。

$ conky

你应该可以在 Linux 桌面的右边看到 Google Calendar，如题图。

确认 Google Calendar 可以正常运行后，你可以将 Conky 设为在每次登录时自动启动。

### 设置 Google Calendar 提醒

gcalcli 也可以为 Google Calendar 中即将到来的事件发送一个提醒。它使用 notify-send 命令。对于 Google Calendar 提醒，你可以像下面一样设置一个工作进程。

$ crontab -l

>
> \*/10 \* \* \* \* /usr/local/bin/gcalcli remind
>
>
>

---

via: <http://xmodulo.com/2013/12/integrate-google-calendar-linux-desktop.html>

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

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


Markdown编辑器CuteMarkEd的新功能

Summary:
CuteMarkEd 0.9.0 是一个基于QT，免费开源带实时HTML预览的markdown编辑器，目前已经释出并已提供下载了。
CuteMarkEd是一个非常有用的Qt文本编辑器，可以提供数学表达式、代码语法高亮、和markdown语法高亮的支持。 ...

![](/data/attachment/album/201402/12/221101wdkv87g87022s7kg.png)

**CuteMarkEd 0.9.0 是一个基于QT，免费开源带实时HTML预览的markdown编辑器，目前已经释出并已提供下载了。**

CuteMarkEd是一个非常有用的Qt文本编辑器，可以提供数学表达式、代码语法高亮、和markdown语法高亮的支持。

### CuteMarkEd 0.9.0 的亮点:

* 加入了一个代码补齐系统;
* 加入 "Go to Line" 菜单;
* 在查找/替换功能中加入了新的"case sensitive," "whole words only," 和 "use regular expressions" 选项。
* 支持将选中的单词加入用户词典;
* 加入了改变tab字符宽度的选项

在官方[公告](http://qt-apps.org/content/show.php/CuteMarkEd?content=158801)中查找完整的改变列表和提升。

马上下载CuteMarkEd 0.9.0:

* [CuteMarkEd 0.9.0 tar.gz](https://github.com/cloose/CuteMarkEd/archive/v0.9.0.tar.gz) [源码] [372 KB]

记住这是一个开发版本，不应该在生产机器上安装。它只用于测试目的。

---

via: <http://news.softpedia.com/news/Markdown-Text-Editor-CuteMarkEd-0-9-0-Gets-News-Options-421082.shtml>

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

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


2013年度10大linux游戏

Summary:
随着2013年的离去，我们评点了10款去年最受喜爱的linux游戏。
得益于Value公司持续不断对平台的支持，2013年取得了巨大的成就。既有来自大工作室，例如战地系列开发者DICE的宣言，也有Creative Assembly公司关于下一 ...

**随着2013年的离去，我们评点了10款去年最受喜爱的linux游戏。**

得益于Value公司持续不断对平台的支持，2013年取得了巨大的成就。既有来自大工作室，例如战地系列开发者[DICE](http://www.polygon.com/2013/10/12/4826190/linux-only-needs-one-killer-game-to-explode-says-battlefield-director)的宣言，也有Creative Assembly公司关于下一年把“全面战争：罗马II”带入linux的承诺。

我们的名单既包括独立游戏，也包括迄今为止最具影响力的AAA级游戏。**这份名单并不试图包含一切，除了我们的观点**

所有的这些游戏都可以在Steam平台和/或者Ubuntu软件中心上找到，赶紧掏出钱包向你的屏幕砸钱吧！

### 盖瑞模组

![prop or not?](/data/attachment/album/201402/17/104346cc2nleclcz2zxyy4.jpg) *prop or not?*

“盖瑞模组”是一个沙盘游戏，但是不为玩家设立目标，神奇隐藏在从一系列的Source引擎游戏中装载的道具和社区不断创造的各种游戏模式中。

其中一个模式是[PropHunt](http://steamcommunity.com/sharedfiles/filedetails/?id=135509255) - 一个躲猫猫的游戏模式，有两组团队，一组隐藏为地图中的不同物体，另一组试图去寻找隐藏在楼道里摇摇欲坠的文件柜。

简单而有趣，大量的游戏模式 - prop hunting（躲猫猫）、spaceship building（建造飞船）、或者machinima recording（拍摄游戏引擎电影） - 使得“盖瑞模组”成为linux狂热游戏爱好者的收藏。

* [从Steam上获取“盖瑞模组”](http://store.steampowered.com/app/4000)

### 半条命 2

![理论物理从未如此之酷](/data/attachment/album/201402/17/104356zlbhmmsalzcawu6y.jpg) *理论物理从未如此之酷*

说到Source引擎，“半条命2”也许是这份名单里最古老的游戏，但是也是迄今为止Value公司所有作品和今年移植到linux上所有游戏中最受欢迎的游戏之一。

“半条命2”继续了该系列上一个作品中主角理论物理学家Gordon Freeman的故事：想方设法穿过被人类和外星生物毁坏的世界。从物理谜题到令人恐惧而敏捷的猎头蟹总是会出现在你前进的道路上，这场旅行*仍然*是今天最迷人的游戏经历之一。

“半条命”系列的下一个作品仍然有很多东西需要去兑现，但是从该作品移植到linux平台上接受情况上判断，linux游戏爱好者已经做好准备把雪橇和重力枪抓在手上了。

* [从Steam上获取“半条命2”](http://store.steampowered.com/app/220)

### 失忆症：猪猡的机器

![](/data/attachment/album/201404/03/111722y51lkkokqjybq5qj.jpg)

当我们[在九月份](http://www.omgubuntu.co.uk/2013/09/amnesia-a-machine-for-pigs-review)评论“失忆症：猪猡的机器”时，我们发现这部作品的气氛和它的前作一样令人胆战心惊，并且值得我们跋涉过种种不算太难的谜题去探寻属于维多路亚时代的游戏场景以及蒸汽朋克式的机械装置。

最大的收获是linux首次支持该款大受欢迎游戏系列的作品，虽然Frictional Gmaes公司的开发者们一贯的对linux游戏爱好者友好。在2007和2008年，半影系列一发布他们就完成了移植的工作。

* [在Steam上获取“失忆症：猪猡的机器”](http://store.steampowered.com/app/239200)
* [在Ubuntu软件中心获取“失忆症：猪猡的机器”](https://apps.ubuntu.com/cat/applications/amnesia-amfp/)

### 地铁：最后的曙光

![](/data/attachment/album/201402/17/1044381oeb2ot2pot6ppp2.png)

“地铁：最后的曙光”是最早进入linux的AAA级游戏之一，而且启动速度[相对较快](http://www.omgubuntu.co.uk/2013/11/metro-last-light-steam-linux-download)。背景设置在2034年被核毁灭的莫斯科，“地铁：最后的曙光”将世界末日后的故事集中在一个射手的第一视角里。

从鬼魅到变异蜘蛛以及巨大的变形虫都准备好让末日后莫斯科的普通一天不好过。

这款游戏并不像同类末日后题材的辐射系列那样轻松搞笑，相反它反映了人类在艰难时期所经历的残酷，一些时候让人触动。

* [从Steam上获取“地铁：最后的曙光”](http://store.steampowered.com/app/43160)

### 星际边界

![](/data/attachment/album/201402/17/104443jdevjm066vwv0jde.jpg)

你可以把“星际边界”想象成具有实际故事情节且发生在太空的“泰拉瑞亚”或者2D版的“我的世界”。有什么理由不去喜爱它呢？

和“我的世界”十分类似，你可以狩猎、挖矿、或者建造。但是和流行的3D沙盘游戏不同，你还能旅行到其他的星球并且加入一个实际的故事主线。开始时你的飞船搁浅在轨道上，你的第一项挑战包括熟悉游戏的玩法机制和寻找燃料，这些燃料使得你的飞船能够探寻程序产生的各种星球。更多的是，程序会为每一个星球产生多样的怪兽，这样在你的旅途上你将会遭遇一些奇异的生物。

“星际边界”是一款**预览版游戏**，所以你可能会发现一些不完善的机制（最起码弓和箭有一点不太好使）或者经历一到两次崩溃。尽管它仍在测试当中，但仍旧是一款有趣而有特色的游戏。

* [在Steam上获取“星际边界”](http://store.steampowered.com/app/211820)

### 0 A.D.

![工人们正在建造建筑和采摘草莓](/data/attachment/album/201402/17/104500uz7155u0m3dtg754.jpg) *工人们正在建造建筑和采摘草莓*

尽管“0 A.D.”几年前已经就面向linux，但是因为它在2013年的所有成就，我们认为它应该在这份名单上占据一席之地。

它是名单上唯一一款免费且开源的产品，最近通过[募捐活动](http://www.omgubuntu.co.uk/2013/10/crowd-funding-success-historical-war-game-0-d)筹得了$33,251 - 足够了，他们说，准备雇佣一名程序员全职工作一年。虽然并没有达到它最初的募捐目标，但仍然获得了$33，251去支撑这个开源项目。

比任何都重要的是，它很有趣。“帝国时代”风格的实时战略游戏的粉丝们将享受历经多年打造的“0 A.D.”。虽然持续改进细节，但这款作品仍然有很长的一段路要走，还有一名志愿程序员在坚持完善它。

* [从Ubuntu软件中心获取“0 A.D.”](https://apps.ubuntu.com/cat/applications/0ad/)

### 纸箱里的坦克战争

![](/data/attachment/album/201404/03/111724lkg2tqgm24rkg6ng.jpg)

塔防类游戏就像黑白棋或者扫雷游戏那样普遍，但是“[纸箱里的战争](http://www.omgubuntu.co.uk/2013/03/war-in-a-box-paper-tanks-ubuntu-review)”添加了一剂令人上瘾的魅力。

它独特的纸工艺美学非常起效，使得24个关卡散发出永不疲倦的魅力，让你流连忘返。每一个沉溺于即时塔防游戏的玩家都能接受这款游戏$3.99的售价。简单有趣，但又魅力十足。

* [获取“纸箱里的坦克战争”](https://apps.ubuntu.com/cat/applications/war-in-a-box-paper-tanks/)

### FEZ

![我喜欢fezes，fezes很酷。](/data/attachment/album/201402/17/104522qr5jqvq50qo9y5yr.png) *我喜欢fezes，fezes很酷。*

我们在[九月份](http://www.omgubuntu.co.uk/2013/09/fez-indie-game-review-on-linux)评论了“FEZ”，虽然是2D游戏，但是能够变换视角，一个带着毡帽和面团宝宝一样有趣的主人公让其名声大噪。

跳跃谜题、令人头疼的视角谜题以及游戏里的幽默，所有的这些都让这款作品保持新鲜，即便你已经在一张地图上摔死了很多次或者靠近了引爆的炸弹。

* [从Steam上获取“FEZ”](http://store.steampowered.com/app/224760/)

### 欧陆风云 IV

![](/data/attachment/album/201402/17/104526cewzhqgqqm869688.jpg)

想象一个不同的“文明”系列，更多的微观管理、更多的历史，以及一个巨大的不同：它支持linux！

和“文明”系列不一样的是，“欧陆风云”系列是历史决策游戏，虽然它并不详细的描述历史教科书。“欧陆风云IV”没有把战争延绵在几千年的历史上，它仅仅只包含了1444年-1821年。但是这并不意味着“欧陆风云”不如长跨度的“文明”系列那样有趣和迷人。

“欧陆风云IV”是实时游戏，而不是回合制的，所以你需要经常暂停以便更好地审视你不断增长的帝国或者你富裕国家的广阔的贸易路线。考虑到“大战略”游戏玩法的内容篇幅，“欧陆风云”系列可能会吓到初学者，但是如果你想在美洲殖民历史上大展手脚或者扭转拿破仑战争的局势，这些努力都是值得的。

* [从Steam上获取“欧陆风云IV”](http://store.steampowered.com/app/236850)

### 肯塔基0号路

![](/data/attachment/album/201402/17/104530pelwlhm8nm5o4zps.jpg)

“[肯塔基0号路](http://www.omgubuntu.co.uk/2013/02/adventures-in-magical-realism-kentucky-route-zero-act-i-review)”一直以来都是我最喜爱的游戏之一。它是名单里最富艺术气息的作品，同时它也是彰显游戏诗意的典范，当然这里不考虑2014年及以后我们所能找到所有AAA级作品。

“肯塔基0号路”给点击类冒险游戏带来了魔幻现实主义色彩，将经典的冒险游戏元素和超现实融合在一起。游戏开始时，你试图寻找一个不明就里的地址去投递古董，但是随后剧情将朝着无法预料，通常是奇特的方向发展。

这是一款探索类游戏，不是为了完成某个任务或者去营救一个总是在其他城堡里的公主。它不会被每一个人喜欢 - 也不会符合每一个人对“游戏”的定义 - 但是它却是最具意义和创造性，同时又让我享受其中的作品之一。

* [从Steam上获取“肯塔基0号路”](http://store.steampowered.com/app/231200)

---

via: <http://www.omgubuntu.co.uk/2013/12/top-10-linux-games-2013>

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

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


Pear OS 系统已成为历史！

Summary:
2014年伊始就看到了又一个 Linux 发布版本的消亡。这一次是外形跟 Mac 系统很相似的 Pear OS 系统高调的说再见了。从现在开始，Pear OS 不在提供下载了。从一月三十一号起，Pear Cloud 服务也会离线。
跟2013年终止  ...

已经复活了，我用的就是pearOS12

现在pearOS Nicec0re都出了...

![](/data/attachment/album/201404/03/111505vpkhn0uhvvbaypnv.jpeg)

2014年伊始就看到了又一个 Linux 发布版本的消亡。这一次是外形跟 Mac 系统很相似的 [Pear OS](http://pearlinux.fr/) 系统高调的说再见了。从现在开始，Pear OS 不在提供下载了。从一月三十一号起，Pear Cloud 服务也会离线。

跟[2013年终止的 Linux 发行版本](http://itsfoss.com/year-2013-linux-2-linux-distributions-discontinued/)不一样，Pear OS 并不是因为缺乏资金或人为权利的原因而终止的，而是被不知名的大企业（我希望不是 Apple 公司 :P）所收购。他们将会把 Pear OS 作为自有产品，这就意味着社区不能对 Pear OS 创建分支（fork）及继续使用。

2014年1月20日，Pear OS 的所有者大卫·塔瓦雷斯（David Tavares）在 [Facebook](https://www.facebook.com/permalink.php?story_fbid=453625568072975&id=340980619337471&stream_ref=10) 上发布消息：

>
> 它的未来现在已经交到一个公司的手中，此刻这个公司仍然低调，想保密。他们很喜欢系统的设计理念，想把它作为自有的产品，然后继续完善和改进。我不能道出他们公司的名字，但它是一个很大的知名企业 ......
>
>
>

相同的消息在 Pear OS 的官网上也挂出来了，大卫在告别的消息中感谢用户和开发者对他们的支持。

也许这就可以解释了为什么 Pear OS 8 像一个失控的越野车一样。大卫已经很少专注在 Pear OS 的开发上了，他正忙着敲定这笔交易呢。{可以读读:[Pear OS 8 评论](http://itsfoss.com/pear-os-8-review/)}

在社区网站上我看到了很多愤怒的消息，因为它背叛了开源的“宗旨”。在一定程度上，虽然这种爆发的情绪是可以理解的，但这是大卫的权利，他有权利选择他认为的更好的未来。他表示他会转到另一个方向，也许又会开启一个新的企业。我希望他得未来式幸运的。

Pear OS 已经不在，他的用户可能会[安装 Elementary OS Luna](http://itsfoss.com/guide-install-elementary-os-luna/)，另外一个基于 Ubuntu 但有 OS X 风格外观的发布版本。

---

via: <http://itsfoss.com/pear-os-history/>

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

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


Conky Harmattan ： 一款时尚的Linux桌面助手

Summary:
俗话说得好，力量越大，责任越大 - 至少在Conky这个Linux的多功能的系统监视工具上面是完全正确的。
一方面它特性强大，灵活性强，另一方面它的设置比较麻烦。

Conky Harmattan，一个来源于deviantArt用户Zagortena ...

![](/data/attachment/album/201402/17/144516clcxwkwvwvtftcck.jpg)

**俗话说得好，‘力量越大，责任越大’ - 至少在Conky这个Linux的多功能的系统监视工具上面是完全正确的。**

一方面它特性强大，灵活性强，另一方面它的设置比较麻烦。

![Several themes and modes are included](/data/attachment/album/201402/17/144524a4ravyi134y7w3gi.png)

**Conky Harmattan**，一个来源于deviantArt用户Zagortenay333的新的主题收集器，同样也不例外。虽然屏幕截图显示的是一个能打动大多数人的时尚桌面小工具，但看到了解到它的复杂配置后估计会吓跑许多人了。

为了帮助使用者，它的作者提供了**一步一步的安装指导**，如果安装过程未按正常状况进行，它也提供了一个**有用的“故障排除” 手册**告诉你如何修复一些最常见的问题。

Harmatten包括：

* **12个主题**，包括Ubuntu Touch，Numix和Elementary designs
* **4种显示模式**，包括‘mini’和‘compact‘
* **2种天气模式**
* **天气单位转换**

不像大多数Conky主题，Harmattan不会将别人屏幕的样子复制到你的屏幕上。

默认情况下Harmattan是“固定”；你需要按下ALT键并用鼠标点击和移动它。或者你也可以在设置中调整conky-config中的'x'和'y'值 - 这会浪费不少时间。此外，也别忘记修改Yahoo!天气预报小部件的地区代码，它在.conkyrc里面。

### 获取Harmattan Conky

要使用这个主题，你需要先从Ubuntu软件中心安装conky-all和curl。如果没有这些某些功能可能无法正常工作。

* [Install conky-all in Ubuntu](apt:conky-all)
* [Install curl in Ubuntu](apt:curl)

下一步，从作者deviantArt的页面上下载主题。

* [Download Conky Harmattan](http://www.deviantart.com/art/Conky-Harmattan-426662366)

之后提取Harmattan文件，按Ctrl + H在Nautilus文件浏览器查看“隐藏”的文件。

最后，根据‘Installation’指导进行。

---

via: <http://www.omgubuntu.co.uk/2014/01/conky-harmattan-for-linux>

译者：[乌龙茶](https://github.com/yechunxiao19) 校对：[wxy](https://github.com/wxy)

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


使用6款卓尔不群的Linux操作系统为你的上网本添活力

Summary:
基于Linux的操作系统的优点是它们可以根据不同的需求定制。因此，在这里我们将为您呈现6款专为上网本设计不同于其它而又有趣的顶尖发行版。

评定一款上网本的OS是否良好，主要取决于它能否物尽其用。当在闲置模式下 ...

>
> 基于Linux的操作系统的优点是它们可以根据不同的需求定制。因此，在这里我们将为您呈现6款专为上网本设计不同于其它而又有趣的顶尖发行版。
>
>
>

评定一款上网本的OS是否良好，主要取决于它能否“物尽其用”。当在闲置模式下,内存使用应该降到最小限度，你需要一个很好的导航系统来避免屏幕的错乱。

对于一名 Linux 爱好者来说，拥有一款对本本优化过的操作系统，同时还是基于开源技术，这该有多好啊。

![](/data/attachment/album/201402/18/221120iri7yyf7ttflywzq.png)

1. **AntiX** - 利用了 iceWM 窗口管理器，能帮助维持初始内存的低占用。虽然它并不像 Ubuntu, Mint 和 Elementary 那样风靡，但是它功能齐全。在底部有一个导航任务栏，桌面上的标准跨操作系统图标已经存在数年之久。AntiX 带有一系列的应用程序，其中有少部分不太适合用于上网本。
2. **SparkyLinux** - Razor-Qt 的外观和体验是非常传统的，底部有一个面板，菜单位于底部的左下角。SparkyLinux 带有一系列应用程序。开发者再次选择了 LibreOffice 套件，而不是更加轻量的 Abiword 和 Gnumeric 工具包。
3. **Lubuntu** - LXDE 桌面非常的轻量，也近乎 Xubuntu 那么容易定制。这桌面在熟悉不过了，在底部有一个面板带有菜单和系统托盘图标。不过，你可以根据自己需要多面板自定义 Lubuntu 外观。Sylpheed 邮件客户端，火狐浏览器，以及 Abiword 和 Gnumeric ，这些应用程序对于上网本来说在合适不过了。
4. **OS4** - 基于 Xubuntu。使用了 XFCE 桌面，完美定制，你可以尝试任何一种方式来工作。XFCE 是一款轻量级的桌面环境，在上网本上运行极佳。然而，你需要安装额外的限制包来播放 Flash 视频和 MP3 , 但是OS4会让这些立马工作。同时安装有 Commodore Amiga 模拟器，你如果喜欢在你的上网本上尝试一款经典复古游戏，这是个再好不过的选项。
5. **Point Linux** - 它使用了MATE桌面，使它变得更加独特。MATE 桌面最初源于 GNOME2 ,但是现在它已经凭借自身发展成一个真正优秀的桌面环境。Point Linux 外观看起来非常时尚。菜单看起来非常好，在上网本上的执行效率也很高。类似于 LXDE 和 XFCE 桌面，它也有很高的定制性。Point Linux 默认带有 4 个虚拟工作区，允许你最大限度的使用你的上网本，因此它受到内存和处理器处理显示问题的限制。
6. **Elementary OS** - 如果你在寻找一些非常时尚的东西，那么这款绝对适合你。它没有安装 Office 套件，但是你可以挑选你想要的工具。对于网页浏览器你可以用 Midori，邮件客户端可以用 Geary。安装有用来观看视频的 Totem 以及一款名为 Noise的紧凑型音频应用程序。

来源： eyerydaylinuxuser.com

---

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

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

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


每日Ubuntu小技巧——截屏

Summary:
Ubuntu 是一个功能强大的现代化操作系统，支持你进行多种任务。从使用 Libreoffice 创建和编辑文档到使用 GIMP 处理图片，Ubuntu 都是最佳选择。
如果你需要一个功能强大的操作系统来完成工作，那么你一定会考虑选择 ...

Ubuntu 是一个功能强大的现代化操作系统，支持你进行多种任务。从使用 Libreoffice 创建和编辑文档到使用 GIMP 处理图片，Ubuntu 都是最佳选择。

如果你需要一个功能强大的操作系统来完成工作，那么你一定会考虑选择 Ubuntu。

你可以用 Ubuntu 来完成的另一件事情是为你的桌面截屏或者激活应用程序的窗口。你可以安装很多第三方工具来完成这些事情，但是实际没有必要，因为 Ubuntu 安装时已自带这些功能。

如果你想向别人展示如何在Ubuntu上面做一些事情，那么这个应用程序就非常有用。截屏得到的图片文件可以保存，也可以通过email发送给其他人。

使用截屏程序，需要进入到面板界面或者直接按下键盘上面的 Windows 键进入面板，Windows 键指的是键盘空格键的左边有 Windows 图标的键。

当面板打开后，找到“截屏”，然后打开这个程序(译者注：需要在已安装程序中查找或者直接在搜索框中输入“截图”)。

以下是你能够通过这个截屏程序做的操作：

* 截取整个屏幕
* 截取当前程序窗口
* 截取特定区域

如果你想在截图时将鼠标箭头一起截取，可以将在下方图片 Effects 选项中的"Include pointer"选项选中即可。

![](/data/attachment/album/201402/18/221238bm8gndrk8ro0b6nk.png)

当你选择好你的截屏方式后，点击图片中的‘**截图**’按钮，然后程序就会退出并且自动保存图片。

如果你想截取特定区域，需要选择该方式，当你点击‘**截图**’按钮时，鼠标会变成十字形状。此刻，你可以拖拽这个十字形状的鼠标，来得到任意你想截取的区域。在你停止拖拽鼠标后，图片会自动截取。

以上就是你在使用 Ubuntu 时，如何完成一个截图的操作。

希望能够帮助到你，欢迎再来。

享受截屏的欢乐！

---

via: <http://www.liberiangeek.net/2013/12/daily-ubuntu-tips-take-screenshots-of-your-desktop/>

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

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


树莓派使用实例之：2 Pi R

Summary: 很多人都对树莓派的硬件 hack 功能（译注：就是用户可以自己发挥想像力，把树莓派设计成自己想要的机器）感兴趣，而我看中的一点是树莓派的低耗电功能，我可以用它来代替现在在用的 Linux 服务器。在以前的文章中我  ...

很多人都对树莓派的硬件 hack 功能（译注：就是用户可以自己发挥想像力，把树莓派设计成自己想要的机器）感兴趣，而我看中的一点是树莓派的低耗电功能，我可以用它来代替现在在用的 Linux 服务器。在以前的文章中我已经介绍过如何用树莓派代替这些服务器来管理我的啤酒冰箱，以及我在澳大利亚托管的一台树莓派。托管树莓派之后，我开始思考我正在使用的服务器的单点故障问题，并且考虑着手解决它。当你看到文章标题里的“2 Pi R”，你也许会想到圆周长计算公式（C = 2*Pi*R，Pi 为圆周率，R 为半径），但在本文中，“R”的意思是“冗余（redundancy）”。当然，一块树莓派并不能实现冗余，至少需要两块。下面我将介绍如何用两块树莓派实现冗余。

![](/data/attachment/album/201402/21/1029369hipkkq85r9qi6p5.jpg)

本文将建立一个底层框架，为俩树莓派实现冗余提供基础服务，首先我要用 GlusterFS 建立一个集群网络文件系统。在之后的文章中，我还会介绍如何利用共享存储来建立其他冗余服务。注意，虽然本文使用的是树莓派，但下面的配置操作同样适用于其他硬件。

### 配置俩树莓派

首先从树莓派官网下载最新的 Linux 发行版，并安装到两块 SD 卡中。将树莓派接到电视机上，然后按照文档提示选择内核镜像并启动系统，确认一下 SSH 服务有没有启动（默认情况下 SSH 应该是开机启动的）。你可以使用 raspi-config 命令来增加根分区空间，以便能充分利用 SD 卡的容量。确认系统正常工作、SSH 正常启动后，我可以过程访问它了。我将树莓派与电视机断开，并连到交换机上，重启系统，没有显示界面。

默认情况下，Raspbian 会通过 DHCP 获取自己的网络信息，但是在设置冗余服务时，我们希望树莓派每次开机都使用同一个 IP 地址。在我的环境中，我设置了我的 DHCP 服务器，它会在树莓派启动时为它们分配固定的 IP 地址。而你可以编辑 /etc/network/interfaces 文件：

```
iface eth0 inet dhcp
```

修改成：

```
auto eth0
iface eth0 inet static
  address 192.168.0.121
  netmask 255.255.255.0
  gateway 192.168.0.1

```

当然，要将上面的参数修改成你自己的参数，确保每个树莓派使用不同的 IP 地址。我把两个树莓派的主机名都改了，便于在（通过 SSH）登录的时候区分它们。怎么改主机名呢？以 root 权限编辑 /etc/hostname 文件。最后重启系统，确认树莓派使用了正确的网络配置和主机名。

### 配置 GlusterFS 服务器

GlusterFS 是一个用户态的集群文件系统，我选择它，是因为它配置共享网络文件系统很方便。首先选一个树莓派作为主设备（master）。在主设备上你需要做一些初始化操作，完成后，它们会自动执行故障转移。下面是我架设的环境：

```
Master hostname: pi1
Master IP: 192.168.0.121
Master brick path: /srv/gv0
Secondary hostname: pi2
Secondary IP: 192.168.0.122
Secondary brick path: /srv/gv0

```

在开始之前，登入这两个树莓派，然后安装 glusterfs-server 软件包：

```
$ sudo apt-get install glusterfs-server

```

GlusterFS 将数据保存在一些被称为“块”的设备中。一个“块”是一个系统路径，由你指定给 gluster 使用。GlusterFS 会将所有“块”组合成一个存储卷，给客户端使用。GlusterFS 会将文件的数据分割成多份，保存在不同的“块”中。所以虽然一个“块”看起来就是一个普通的路径，你最好不要在树莓派中直接操作它，而应该通过客户端访问 GlusterFS 服务，让 GlusterFS 操作。本文中我在两个树莓派中都新建一个 /srv/gv0 目录作为 GlusterFS 的“块”：

```
$ sudo mkdir /srv/gv0

```

在我的环境中，我将 SD 卡上的根文件系统共享出来，而你可能需要共享更大的存储空间。如果是这样的话，在两块树莓派上都接上 USB 硬盘，格式化后挂载到 /srv/gv0 上。编辑下 /etc/fstab 文件，确保系统每次启动时都会把你的 USB 硬盘挂载上去。两个树莓派上的“块”不一定需要有相同的名字或者相同的路径名称，但是把它们设置为相同的值也没什么坏处。

配置好“块”的路径，安装好 glusterfs-server 软件包，确认两个树莓派都正常工作，然后登入被你设为主设备的树莓派，输入“gluster peer probe”命令，将次设备加入到集群中。在我的环境中，我用 IP 地址表示第二个节点，如果你比较有个性，并且有设置过 DNS，你也可以用主机名表示这个节点。

```
pi@pi1 ~ $ sudo gluster peer probe 192.168.0.122
Probe successful

```

目前为止，我的 pi1 (192.168.0.121) 信任 pi2 (192.168.0.122)，我可以建立一个存储卷，名字都想好了：gv0。在主设备端运行命令“gluster volume create”：

```
pi@pi1 ~ $ sudo gluster volume create gv0 replica 2 192.168.0.121:/srv/gv0 192.168.0.122:/srv/gv0
Creation of volume gv0 has been successful. Please start
the volume to access data.

```

这里稍微解释一下命令的意思。“gluster volume create”就是新建一个卷；“gv0”是卷名，这个名称将会在客户端被用到；“replica 2”表示这个卷的数据会在两个“块”之间作冗余，而不是将数据分割成两份分别存于两个“块”。这个命令保证了卷内的数据会被复制成两份分别保存在两个“块”中。最后我定义两个独立的“块”，作为卷的存储空间：192.168.0.121 上的 /srv/gv0 和 192.168.0.122 上的 /srv/gv0。

现在，卷被成功创建，我只需启动它：

```
pi@pi1 ~ $ sudo gluster volume start gv0
Starting volume gv0 has been successful

```

然后我可以在任何一个树莓派上使用“volume info”命令来查看状态：

```
$ sudo gluster volume info

Volume Name: gv0
Type: Replicate
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: 192.168.0.121:/srv/gv0
Brick2: 192.168.0.122:/srv/gv0

```

### 配置 GlusterFS 客户端

卷已启动，现在我可以在一个支持 GlusterFS 的客户端上，将它作为一个 GlusterFS 类型的文件系统挂载起来。首先我想在这两个树莓派上挂载这个卷，于是我在两个树莓派上都创建了挂载点，并下面的命令把这个卷挂载上去：

```
$ sudo mkdir -p /mnt/gluster1
$ sudo mount -t glusterfs 192.168.0.121:/gv0 /mnt/gluster1
$ df
Filesystem         1K-blocks    Used Available Use% Mounted on
rootfs               1804128 1496464    216016  88% /
/dev/root            1804128 1496464    216016  88% /
devtmpfs               86184       0     86184   0% /dev
tmpfs                  18888     216     18672   2% /run
tmpfs                   5120       0      5120   0% /run/lock
tmpfs                  37760       0     37760   0% /run/shm
/dev/mmcblk0p1         57288   18960     38328  34% /boot
192.168.0.121:/gv0   1804032 1496448    215936  88% /mnt/gluster1

```

如果你是一个喜欢钻研的读者，你可能会问了：“如果我指定了一个 IP 地址，如果192.168.0.121当机了，怎么办？”。别担心，这个 IP 地址仅仅是为了指定使用哪个卷，当我们访问这个卷的时候，卷内的两个“块”都会被访问到。

当你挂载好这个文件系统后，试试在里面新建文件，然后查看一下“块”对应的路径：/srv/gv0。你应该可以看到你在 /mngt/gluster1 里创建的文件，在两个树莓派的 /srv/gv0 上都出现了（重申一遍，不要往 /srv/gv0 里写数据）：

```
pi@pi1 ~ $ sudo touch /mnt/gluster1/test1
pi@pi1 ~ $ ls /mnt/gluster1/test1
/mnt/gluster1/test1
pi@pi1 ~ $ ls /srv/gv0
test1
pi@pi2 ~ $ ls /srv/gv0
test1

```

你可以在 /etc/fstab 上添加下面一段，就可以在系统启动的时候自动把 GlusterFS 的卷挂载上来：

```
192.168.0.121:/gv0  /mnt/gluster1  glusterfs  defaults,_netdev  0  0

```

注意：如果你想通过其他客户端访问到这个 GlusterFS 卷，只需要安装一个 GlusterFS 客户端（在基于 Debian 的发行版里，这个客户端叫 glusterfs-client），然后接我上面介绍的，创建挂载点，将卷挂载上去。

### 冗余测试

现在我们就来测试一下这个冗余文件系统。我们的目标是，当其中一个节点当掉，我们还能访问 GlusterFS 卷里面的文件。首先我配置一个独立的客户端用于挂载 GlusterFS 卷，然后新建一个简单的脚本文件放在卷中，文件名为“glustertest”：

```
#!/bin/bash

while [ 1 ]
do
  date > /mnt/gluster1/test1
  cat /mnt/gluster1/test1
  sleep 1
done

```

这个脚本运行无限循环并每隔1秒打印出系统时间。当我运行这个脚本时，我可以看到下面的信息：

```
# chmod a+x /mnt/gluster1/glustertest
root@moses:~# /mnt/gluster1/glustertest
Sat Mar  9 13:19:02 PST 2013
Sat Mar  9 13:19:04 PST 2013
Sat Mar  9 13:19:05 PST 2013
Sat Mar  9 13:19:06 PST 2013
Sat Mar  9 13:19:07 PST 2013
Sat Mar  9 13:19:08 PST 2013

```

我发现这个脚本偶尔会跳过1秒，可能是 date 这个命令并不是很精确地每隔1秒钟打印一次，所以偶尔会出现输出时间不连惯的现象。

当我执行这个脚本后，我登入一个树莓派并输入“sudo reboot”重启这个设备。这个脚本一直在运行，如果出现输出时间不连惯现象，我不知道还是不是上面说的偶然现象。当第一个树莓派启动后，我重启第二个树莓派，确认下这个系统有一个节点丢失后，我的程序仍然能正常工作。这个冗余系统配置起来只需要几个命令，如果你需要一个冗余系统，这是个不错的选择。

现在你已经实现了 2 Pi R 组成的冗余文件系统，在我的下篇文章中，我将会加入新的冗余服务，将这个共享存储系统好好利用起来。

---

via: <http://www.linuxjournal.com/content/two-pi-r>

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

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


10个开源的基于WEB的文件管理器

Summary:
目前，随着因特网的广泛普及，对文件管理的需求变得更多。对很多人来说，用一个应用程序来有效管理你在网络上的文件是必不可少的。因此，下面列出你会用到的10个最好的开源的基于WEB的文件管理器。

eXtplorer: 这 ...

目前，随着因特网的广泛普及，对文件管理的需求变得更多。对很多人来说，用一个应用程序来有效管理你在网络上的文件是必不可少的。因此，下面列出你会用到的10个最好的开源的基于WEB的文件管理器。

![](/data/attachment/album/201402/21/1941332o6k7abv0i3u0ai2.png)

1. **eXtplorer**: 这个程序为你提供了移动、复制、编辑、搜索、删除、下载和上传功能。此外，你也能用 eXtplorer 创建和提取档案，文件夹和新文件。它的主要功能是让你通过 FTP 访问文件。你可以选择 Mozilla 公共许可或者 GPL 协议。为了正常使用这个文件管理器，服务器的PHP最低版本要求为 PHP 4.3 并且必须更新JavaScript。
2. **AjaXplorer**: 绝大多数浏览器都支持这个文件管理器，并且它能很轻易地自动适应类似于手机一样的小屏幕浏览。目前iOS版的程序已经被开发出来了，安卓版的也将很快完成。要运行 AjaXplorer:，你所需要的是一个支持 PHP5.1 或者更高版本的WEB服务器来。它允许你直接从服务器流式传输视频内容。
3. **KFM**: 这个免费和开源文件管理器可以作为 FCKedition、CKeditor、Tiny MCE 之类的富文本编辑器的插件。如果您正在使用一个基于 Linux 的操作系统，那么你需要 PHP 5.2 或更高版本，而 Mac OS X 和 Windows 分别需要 MySQL 4.1 或更高版本和 MySQL 5.0 或更高版本。它有一个自己的搜索引擎，附带了一个文本编辑器，可以高亮显示语法。它还带有 mp3 播放和视频播放选项。
4. **PAFM**: 这个文件管理器可以让用户完全控制文件，还允许使用 CodePress 来编辑源代码。文件管理器的主要特色来自 CodePress，它提供了即时的语法高亮显示。
5. **QuiXplorer**: 这个文件管理器可用于在互联网和局域网管理和共享文件。它还提供了一种多用户模式，每个用户可以定制自己的设置。
6. **BytesFall** Explorer: 这个使用 PHP 和 JavaScript 编写的管理器在 GPL 下发布。它的 UI 非常类似于 Windows 资源管理器，但是它被用在 GeSHi、LiveTree、Shell 命令、FCKeditor 等项目。因为它有一组不同的功能。
7. **NavPHP**: 这个文件管理器是使用PHP和AJAX编写的，并且提供了WindowsXP风格的导航。和 QuiXplorer 一样，这个管理器也有一个多用户模式，并有自己的代码编辑器。此外，它还可以使用Deflate和Gzip来压缩传输网页。你也可以使用这个功能来以zip格式下载文件或文件夹。
8. **iDC File Manager**: 这是一个多用户系统，可以安装在基于 Linux 或 Windows 的网页服务器上。它提供了热键功能并支持社交网络，还可以监视用户活动。它的数据库是 MySQL。
9. **FileMan**: 这个文件管理器带有一个所见即所得编辑器，可以编辑和创建 HTML 文件。除了 HTML 编辑器,它还具有其他很多有用的功能。
10. **Relay**: 这个文件管理器使用 GPL 协议发布，并支持 AJAX。如果你使用大量的目录和文件,那么这个管理器对你来说非常理想。

---

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

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

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


每日Ubuntu小技巧——在Ubuntu中使用音乐软件“声破天”Spotify

Summary:
Spotify（译者注：下面译为"声破天"）云音乐服务已经解除了对所有用户及平台（web端/桌面端/手机端）的时间限制，现在用户可以在任何平台、任何时间无限制地听免费音乐。
起初，声破天有个时间限制，新用户自注册帐  ...

Spotify（译者注：下面译为"声破天"）云音乐服务已经解除了对所有用户及平台（web端/桌面端/手机端）的时间限制，现在用户可以在任何平台、任何时间无限制地听免费音乐。

起初，声破天有个时间限制，新用户自注册帐号时起的前六个月可以免费听音乐，但是这个限制取决于你所在的地区，不过现在所有免费帐号都可以无限制听音乐。

任何使用 Ubuntu 桌面客户端听音乐的用户也没有了之前对免费账户听音乐的限制，Ubuntu 用户可以使用他们最喜欢的桌面操作系统来享受免费音乐。

如果你现在有点小激动，但是还没有安装声破天，那么这里有一个快捷方法来指导你如何在 Ubuntu 上安装最新版本的声破天。

一些地区还不支持声破天的注册，这些地区的用户必须得想点别的办法了（译者注：需要使用代理），这是因为声破天并不是所有国家都支持。下面图片显示的是目前声破天支持的国家列表：

![](/data/attachment/album/201402/21/1944199rewn2266838977j.jpg)

### 在 Ubuntu 安装上声破天

要想在 Ubuntu 上安装声破天，需要打开终端然后输入下面命令，将声破天的软件仓库添加到 Ubuntu

```
sudo apt-add-repository -y "deb http://repository.spotify.com stable non-free"

```

下一步，将声破天的仓库密钥添加到 Ubuntu，运行下面命令：

```
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94558F59

```

最后，更新系统的软件包仓库并且安装声破天，运行下面命令：

```
sudo apt-get update && sudo apt-get install spotify-client

```

就这么简单！

在安装完声破天后，你需要打开 Ubuntu 的面板，在里面找到这个软件。打开后，尽情享受你的免费音乐吧！

![](/data/attachment/album/201402/21/19442183bg334dz3m33dqd.png)

---

via: <http://www.liberiangeek.net/2014/01/daily-ubuntu-tips-use-spotify-in-ubuntu-linux/>

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

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


Ubuntu 每日贴士:从Ubuntu 13.10升级到14.04(Trusty Tahr) [值得信赖的塔尔羊] ... ..

Summary: 虽然Ubuntu 14.04 按计划不会近期发布正式版，但那些想要尝试最新软件和系统的人现在可以从Ubuntu 13.10 就地升级到 14.04了。 Ubuntu 14.04 目前计划在2014.4.17发布，但是你不必等那么长的时间来升级尝试。这个简 ...

最基本的知识，应该掌握的。

是啊

虽然Ubuntu 14.04 按计划不会近期发布正式版，但那些想要尝试最新软件和系统的人现在可以从Ubuntu 13.10 就地升级到 14.04了。

Ubuntu 14.04 目前计划在2014.4.17发布，但是你不必等那么长的时间来升级尝试。这个简要的教程给你展示了如何就地从Ububtu 13.10 升级到 14.04。

就地升级是你在已存在的Ubuntu上运行update-manager命令来升级到下一版。它允许你保留你大多数的文档，设定和一些程序。

大多数就地升级依赖于一个可靠的网络连接。没有良好稳定的连接,可能无法使用这个方法升级Ubuntu。

如果你无法使用网络升级，你还可以通过CD/DVD盘来就地升级。这个方法允许你不通过网络连接离线升级Ubuntu。

### 升级到 Ubuntu 14.04

为了升级到Ubuntu 14.04, 你首先要给你要升级的电脑做好准备工作。请运行下面的命令更新所有存在的包和内核。

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

```

完成上述更新后，你可能需要重启来在升级前应用新的包和内核。

接着，按下键盘上的**Alt+F2**键来打开Ubuntu上的命令窗口。当窗口打开后，输入下面的命令并按下**回车**。

```
update-manager –d

```

Ubuntu接着应该带着升级选项会打开update-manager。按下**Upgrade** 开始升级你的机器。

![](/data/attachment/album/201404/02/175529w7ho0a7ijhsfznnw.png)

就是这样!

等待Ubuntu完成下载并安装所有的更新包。当一切完成时,你会被提示重启计算机。

享受吧!

---

via: <http://www.liberiangeek.net/2014/01/daily-ubuntu-tips-upgrade-to-ubuntu-14-04-trusty-tahr-from-13-10/>

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

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


每日 Ubuntu 小技巧——关闭 Ubuntu 中的关机/重启确认

Summary: 对于 Ubuntu 新手来说，有很多新东西要学，但是网上很多教程不是针对新手的。 在这里，我们不走寻常路。不能说全部的教程都是为初学者准备，但至少大部分是。 这篇文章也是一篇新手教程，并且展示如何在每次执行关机 ...

实用啊，谢谢！～！！

对于 Ubuntu 新手来说，有很多新东西要学，但是网上很多教程不是针对新手的。

在这里，我们不走寻常路。不能说全部的教程都是为初学者准备，但至少大部分是。

这篇文章也是一篇新手教程，并且展示如何在每次执行关机、重启、注销时禁用确定框。

Ubuntu 总是配置好了一个对话框，每当你要关机、重启或者注销时提示你。

这是一个保护措施，防止你本不打算这样做却错误关机或重启。

不是所有人都想每次关机的时候被询问。忙碌的小伙伴们可能就让自己的电脑那么醒着，因为他执行了关闭命令，却忘了确认那个该死的对话框。

这个教程将会指导你每一次关机的时候如何避免那个对话框。

当这个特性被激活，你将会收到下面的提示。

>
> Are you sure you want to close all programs and shutdown your computer?
>
>
>

运行下面命令关掉它。

按下键盘上的 **Ctrl – Alt – T** 打开终端。然后敲击下面的命令

```
gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true

```

就这么简单，你再也不会被该死的确认对话框骚扰了。

如果想恢复这个对话框，敲下面的命令就可以了

```
gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown false

```

![](/data/attachment/album/201402/26/192331pm7957w6yy00yvv9.png)

---

via: <http://www.liberiangeek.net/2014/01/daily-ubuntu-tips-turn-off-shutdown-restart-confirmation-in-ubuntu/>

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

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


每日 Ubuntu 小贴士——如何在 Ubuntu 中手动安装 LibreOffice

Summary: 这个简短教程将指导你如何在 Ubuntu 中手动安装 LibreOffice。正如你所知，LibreOffice 已经预装在 Ubuntu 中了。 这个版本是 Ubuntu 的定制版本，能够在 Ubuntu 中更好的工作。它也集成了 Ubuntu 的应用菜单和其它 ...

一条小船去远方(微博): 转发微博

安装不上，有问题

这个简短教程将指导你如何在 Ubuntu 中手动安装 LibreOffice。正如你所知，LibreOffice 已经预装在 Ubuntu 中了。

这个版本是 Ubuntu 的定制版本，能够在 Ubuntu 中更好的工作。它也集成了 Ubuntu 的应用菜单和其它设置。

[下载页面](http://www.libreoffice.org/download/)中的 LibreOffice 官方版本和你从 Ubuntu 获得的默认版本是不同的。你获得的并不是一个非标准版本，但它稍加定制再加入到 Ubunut 软件库中。

如果你想使用 LibreOffice 的官方标准版，你必须从[下载页面](http://www.libreoffice.org/download/)手动下载。这意味着，完全卸载当前版本并从官方下载页面下载.deb包。

要做到这一点你必须先完全从 Ubuntu 中清除 LibreOffice。

### 从 Ubuntu 中卸载 LibreOffice

要在 Ubuntu 中手动安装 LibreOffice 的官方版本，必须先卸载当前版。在 Ubuntu 中要卸载 LibreOffice，运行下面的命令。

```
sudo apt-get remove --purge libreoffice* && sudo apt-get autoremove

```

运行以上命令之后，重启你的电脑。当你再次登录以后，从[下载页面](http://www.libreoffice.org/download/)下载 LibreOffice 的.deb包。

### 在 Ubuntu 中手动安装 LibreOffice

下载.deb包后，打开终端，在你的 home 目录进入 Downloads 文件夹。默认情况下，Firefox下载的文件保存在那里。

```
cd ~/Downloads

```

![](/data/attachment/album/201402/27/130859g8xd8wm7p5uhvdui.png)

然后运行下面的命令来提取下载文件中的.tar.gz文件。

```
tar -xvf LibreOffice_*.tar.gz

```

解压.tar.gz文件后，你会在 Downloads 文件夹下看到一个新的 LibreOffice Deb 文件夹。要开始手动安装 LibreOffice，运行下面的命令。

```
sudo dpkg -i LibreOffice_*/DEBS/*.deb

```

运行上面的命令后，LibreOffice 将被安装并可以使用了。

接下来，进入 Unity Dash 并启动 LibreOffice。以上就是指导你在 Ubuntu 中手动安装 LibreOffice 的方法。

![](/data/attachment/album/201402/27/130900g2e80n8i4850e8r2.png)

如果在 Ubuntu 中手动安装 LibreOffice，很有可能每次有版本更新和安全更新时你必须手动更新。

或者你仅仅希望 Canonical（Ubuntu母公司）通过它的储存库进行 LibreOffice 的安装和补丁/更新管理。

---

via: <http://www.liberiangeek.net/2014/01/daily-ubuntu-tips-how-to-manually-install-libreoffice-in-ubuntu/>

译者：[乌龙茶](https://github.com/yechunxiao19) 校对：[Caroline](https://github.com/carolinewuyan)

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


Ubuntu 每日贴士- Skype小更新，修复64位系统上PulseAudio问题

Summary: Skype最近为Linux系统发布了一个小更新，包括在Ubuntu上修复PulseAudio 3.x 和 4.x 的音频噪声问题，解决由于缺失libasound2-plugins:i386和其他导致在Ubuntu/Debian 64位系统上的崩溃。 如果你正在Ubuntu上使用Skyp ...

历史也是波函数(微博): 转发微博

sunshine9D(微博): 转发微博

ZYQ-Luomio(微博): 赞！

西风冷香(微博): 转发微博

Skype最近为Linux系统发布了一个小更新，包括在Ubuntu上修复PulseAudio 3.x 和 4.x 的音频噪声问题，解决由于缺失libasound2-plugins:i386和其他导致在Ubuntu/Debian 64位系统上的崩溃。

如果你正在Ubuntu上使用Skype，你也许想要升级来获取这些修复。这个版本除了解决这些问题没有其他新的。

这是根据changelog的完整修复列表。

* **临时解决** PulseAudio 3.x 和 4.x 音频噪声问题。
* **Bug 修复** 在打开不带表情符号的聊天时的崩溃。
* **Bug 修复** 由于缺失libasound2-plugins:i386依赖而导致的在Ubuntu/Debian 64位系统上不正常崩溃。
* **Bug 修复** 一些拨号面板数字不能正常工作。

对于Ubuntu用户,这里是如何更新。

如果你已经安装了Skype,你要在更新前先卸载它因为它会也许会创建与当前安装冲突的文件。

要从Ubuntu移除Skype,在终端上运行命令。

```
sudo apt-get autoremove --purge skype

```

在卸载完Skype,进入[Skype 下载界面](http://www.skype.com/en/download-skype/skype-for-computer/)并获取最新的Ubuntu下的版本。保存下载并在Ubuntu软件中心打开它。

![](/data/attachment/album/201403/03/131321otzhtt77rluhh9ys.png)

因为软件中心必须下载额外的Skype包,安装也许会花费一些时间,请耐心等待。

![](/data/attachment/album/201403/03/131322nvy1zn3gm2sgola9.png)

如果你通过软件中心安装Skype时遇到了问题,进入下载文件夹并运行下面的命令来强制按照下面的命令安装Skype。

```
sudo dpkg -i skype-ubuntu*.deb; sudo apt-get -f install

```

安装完Skype后,进入Unity 面板并运行此时最新的4.2.0.14版本。

![](/data/attachment/album/201403/03/131322s7vttjvoc8uyuz2v.png)

就是这样!享受吧!

---

via: <http://www.liberiangeek.net/2014/01/daily-ubuntu-tips-skype-minor-update-fixes-pulseaudio-64-bit-issues/>

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

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


快速技巧：如何在 Ubuntu 13.10 下启用 VLC 桌面通知

Summary: 我必须说 VLC 是目前最好的视频文件播放器。VLC 播放器有许多隐藏特性你可能还不知道。其中一个就是桌面通知。在本教程中,我们将会看到如何在 Ubuntu 13.10 和其它版本下启用 VLC 桌面通知。 在 Ubuntu 下启用 VLC  ...

海涛Idreaming(微博): 转发微博

sunshine9D(微博): 转发微博

manual_page(微博): Repost

我必须说 VLC 是目前最好的视频文件播放器。VLC 播放器有许多隐藏特性你可能还不知道。其中一个就是桌面通知。在本教程中,我们将会看到**如何在 Ubuntu 13.10 和其它版本下启用 VLC 桌面通知**。

### 在 Ubuntu 下启用 VLC 桌面通知:

要想在 Ubuntu 下启用桌面通知,依照下面步骤进行:

#### 步骤 1:

打开 VLC 播放器。在顶部菜单内,进入 **Tools**，接着进入 **Preferences**。

**VLC->Tools->Preferences**

![](/data/attachment/album/201403/03/132006dky707mggmsjjn9k.jpeg)

#### 步骤 2:

选择底部的 **All** 按钮:

![](/data/attachment/album/201403/03/132007cz231qq0h2q3jc2b.jpeg)

#### 步骤 3:

现在从左边栏中选择 **Control interfaces**。在这里,选择 **LibNotify Notification Plugin** 并保存。这个会在带 Unity 的 Ubuntu 中启用桌面通知。

![](/data/attachment/album/201403/03/132007rf7uu7u0qe0bkmmb.jpeg)

默认通知会显示4000ms也就是4秒。你可以通过控制接口下的通知选项来更改。

![](/data/attachment/album/201403/03/132008w3qg4uoot37wzdrw.jpeg)

就这么简单！你可以在播放音频或者视频文件的时候看到通知。它与 Ubuntu 环境完美地整合在一起:

![](/data/attachment/album/201403/03/132008dvkkflbkcvbwyy6w.jpeg)

我希望这个启用桌面通知的快速技巧能使你的 VLC 更加 Ubuntu化，更加时尚化。你觉得如何?

---

via: <http://itsfoss.com/enable-desktop-notification-vlc-ubuntu/>

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

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