linux中国_ 发布的文章

OpenELEC 4.0.4已经发布,它是一个专门设计运行XBMC的嵌入式系统,一个开放源代码的娱乐媒体中心。它构建 XBMC 13.1 基础之上。

OpenELEC 开发商非常密切地跟着 XBMC 的产品开发周期,目前已经发布了他们的最新的 4.0.4 的版本。它基于 XBMC 13.1 "Gotham",并且开发者们做了一些自己的改动。

“此版本包括一些bug修正、安全修复和来自于 OpenELEC 4.0.3 的改进。除了通常的错误修正和软件包更新,我们已经使用最新的补丁文件升级 XBMC 至最新的 XBMC 13.1 (final)。这个版本包含了在 XBMC 13.0 发布之后的很多已知问题的修复(其中有些我们已包括 OpenELEC 4.0.0中)。”

“我们在popcornmix的帮助下发现并修复了一些和树莓派相关内核问题、 固件和 XBMC 代码中的问题,非常感谢他的帮助 !OpenELEC 4.0.4 现在是一个稳定版本,包含了OpenELEC 4.0系列的bug修正和安全漏洞修复 。”开发商的官方网站上如是写道。

OpenELEC 4.0.4 界面更加美观而且更新和修复了许多问题。例如,e2fsprogs 已更新到版本 1.42.10、 bluez 已更新到版本 5.19、 fontconfig 版本更新到 2.11.1,也默认集成了 systemd 213 和修复了一些安全问题的gnutls 3.2.12,而且使用了一个新的 Linux 内核3.14.5。

此外,DVB T2 已经添加了对 GeniaTech T220 / August T210 设备的支持,由于其驱动程序尚不完善而允许禁用WOL、也添加了尚不完善的"e1000e"驱动,树莓派的支持补丁已更新。

如果你已经有一个旧版的 OpenELEC,你可能需要考虑升级的系统而不是从头开始安装它。如果想顺利地完成安装,至少应该是 3.2 版本。

如果您尝试从旧版本操作系统的更新,您可能发现一些插件和插件都不再工作。所以最明智的办法就是,在尝试升级之前备份你的系统。

以 XBMC 13.1 "Gotham" 版本为基,配有 Android 硬件解码、 许多树莓派和 Android 速度方面的改善,立体 3D 渲染,更好的触摸屏支持,改进了 UPnP 功能,很多的音频引擎的改进,更好地字幕搜索、 对开发者增加的如 Python 和 JSON RPC API等 ,FFmpeg 1.2,还有更多。

查阅官方 公告 的更改和改进的完整列表。

下载最新的 OpenELEC 4.0.4:


via: http://news.softpedia.com/news/OpenELEC-4-0-4-Is-Out-and-Based-on-XBMC-13-1-quot-Gotham-quot-445802.shtml

译者:owen-carter 校对:wxy

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

逻辑卷管理LVM是一个多才多艺的硬盘系统工具。无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。

LVM使用分层结构,如下图所示。

图中顶部,首先是实际的物理磁盘及其划分的分区和其上的物理卷(PV)。一个或多个物理卷可以用来创建卷组(VG)。然后基于卷组可以创建逻辑卷(LV)。只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。文件系统就是在逻辑卷上创建的,然后可以在操作系统挂载和访问。

LVM测试说明

本文将介绍怎么在linux中创建和管理LVM卷。我们将会分成两个部分。第一个部分,我们首先要在一个硬盘上创建多个逻辑卷,然后将它们挂载在/lvm-mount目录。然后我们将要对创建好的卷调整大小。而第二部分,我们将会从另外一块硬盘增加额外的卷到LVM中。

准备磁盘分区

通过使用fdisk,创建磁盘分区。我们需要创建3个1G分区,注意,并不要求分区的大小一致。同样,分区需要使用‘8e’类型来使他们可用于LVM。

# fdisk /dev/sdb 

Command (m for help): n ## 新建
Command action
   e   extended
   p   primary partition (1-4)
p ## 主分区

Partition number (1-4): 1 ## 分区号
First cylinder (1-1044, default 1):  ## 回车用默认的1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +1G ## 大小

Command (m for help): t ## 改变类型
Selected partition 1
Hex code (type L to list codes): 8e ## LVM 的分区代码
Changed system type of partition 1 to 8e (Linux LVM)

重复上面的操作来创建其他两个分区。分区创建完成后,我们应该有类似如下的输出:

# fdisk -l 

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  8e  Linux LVM
/dev/sdb2             133         264     1060290   8e  Linux LVM
/dev/sdb3             265         396     1060290   8e  Linux LVM

准备物理卷(PV)

刚创建的分区是用来储存物理卷的。LVM可以使用不同大小的物理卷。

# pvcreate /dev/sdb1
# pvcreate /dev/sdb2
# pvcreate /dev/sdb3 

使用下列命令检查物理卷的创建情况。下面截取部分输出。"/dev/sdb2"是一个新的"1.01 GiB"物理卷。

# pvdisplay 

  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name
  PV Size               1.01 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               jszvzz-ENA2-g5Pd-irhV-T9wi-ZfA3-0xo092

使用下列命令可以删除物理卷。

# pvremove /dev/sdb1 

准备卷组(VG)

下列命令用来创建名为'volume-group1'的卷组,使用/dev/sdb1, /dev/sdb2 和 /dev/sdb3创建。

# vgcreate volume-group1 /dev/sdb1 /dev/sdb2 /dev/sdb3

使用下列命令可以来验证卷组。

# vgdisplay 

  --- Volume group ---
  VG Name               volume-group1
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               3.02 GiB
  PE Size               4.00 MiB
  Total PE              774
  Alloc PE / Size       0 / 0
  Free  PE / Size       774 / 3.02 GiB
  VG UUID               bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK

从输出中,我们可以看见卷组的使用量/总量。物理卷给卷组提供空间。只要在这个卷组中还有可用空间,我们就可以随意创建逻辑卷。

使用下列命令删除卷组。

# vgremove volume-group1 

创建逻辑卷(LV)

下列命令创建一个名为'1v1'、大小为100MB的逻辑卷。我们使用小分区减少执行时间。这个逻辑卷使用之前创建的卷组的空间。

# lvcreate -L 100M -n lv1 volume-group1 

逻辑卷可使用lvdisplay命令查看。

# lvdisplay 

  --- Logical volume ---
  LV Name                /dev/volume-group1/lv1
  VG Name                volume-group1
  LV UUID                YNQ1aa-QVt1-hEj6-ArJX-I1Q4-y1h1-OFEtlW
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                100.00 MiB
  Current LE             25
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

现在逻辑卷已经准备好了,我们可以格式化和挂载逻辑卷,就像其它ext2/3/4分区一样!

# mkfs.ext4 /dev/volume-group1/lv1
# mkdir /lvm-mount
# mount /dev/volume-group1/lv1 /lvm-mount/ 

一旦逻辑卷挂载,我们就可以到挂载点 /lvm-mount/ 上读写了。要创建和挂载其它的逻辑卷,我们重复这个过程。

最后,使用lvremove我们可以删除逻辑卷。

# umount /lvm-mount/
# lvremove /dev/volume-group1/lv1 

扩展一个LVM卷

调整逻辑卷大小的功能是LVM最有用的功能。这个部分会讨论我们怎么样扩展一个存在的逻辑卷。下面,我们将会扩展先前创建的逻辑卷‘lv1’扩大到200MB。

注意,调整逻辑卷大小之后,也需要对文件系统调整大小进行匹配。这个额外的步骤各不相同,取决于创建文件系统的类型。在本文中,我们使用'lv1'创建了ext4类型的文件系统,所以这里的操作是针对ext4文件系统的。(ext2/3文件系统也类同)。命令的执行顺序是很重要的。

首先,我们卸载掉lv1卷

# umount /lvm-mount/ 

然后,设置卷的大小为200M

# lvresize -L 200M /dev/volume-group1/lv1 

接下来,检查磁盘错误

# e2fsck -f /dev/volume-group1/lv1 

运行以下命令扩展文件系统以后,ext4信息就更新了。

# resize2fs /dev/volume-group1/lv1 

现在,这个逻辑卷应该已经扩展到200MB了。我们检查LV的状态来验证。

# lvdisplay 

  --- Logical volume ---
  LV Name                /dev/volume-group1/lv1
  VG Name                volume-group1
  LV UUID                9RtmMY-0RIZ-Dq40-ySjU-vmrj-f1es-7rXBwa
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                200.00 MiB
  Current LE             50
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

现在,这个逻辑卷可以再次挂载,同样这个方法也可用于其他分区。

缩减一个LVM卷

这章节介绍缩减LVM卷大小的方法。命令的顺序同样重要。并且,下列命令对ext2/3/4文件系统同样有效。

注意减少逻辑卷的大小值若小于储存的数据大小,存储在后面的数据会丢失。

首先,卸载掉卷。

# umount /dev/volume-group1/lv1

然后,检测磁盘错误。

# e2fsck -f /dev/volume-group1/lv1 

接下来缩小文件系统,更新ext4信息。

# resize2fs /dev/volume-group1/lv1 100M 

完成以后,减少逻辑卷大小

# lvresize -L 100M /dev/volume-group1/lv1 
WARNING: Reducing active logical volume to 100.00 MiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lv1? [y/n]: y Reducing logical volume lv1 to 100.00 MiB Logical volume lv1 successfully resized

最后,验证调整后的逻辑卷大小。

# lvdisplay 

--- Logical volume ---
  LV Name                /dev/volume-group1/lv1
  VG Name                volume-group1
  LV UUID                9RtmMY-0RIZ-Dq40-ySjU-vmrj-f1es-7rXBwa
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                100.00 MiB
  Current LE             25
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

扩展一个卷组

本节将讨论扩展卷组的方法,将一个物理卷添加到卷组。让我们假设我们的卷组'volume-group1'已经满了,需要扩大。手上的硬盘(sdb)已经没有其他空闲分区,我们添加了另外一个硬盘(sdc)。我们将看到如何把sdc的分区添加到卷组以扩展。

检测现在卷组状态

# vgdisplay volume-group1 

 --- Volume group ---
  VG Name               volume-group1
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               3.02 GiB
  PE Size               4.00 MiB
  Total PE              774
  Alloc PE / Size       25 / 100.00 MiB
  Free  PE / Size       749 / 2.93 GiB
  VG UUID               bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK

首先,我们创建一个2GB分区sdc1,类型为LVM(8e),如教程前所述。

# fdisk /dev/sdc 

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1044, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +2G

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

然后,我们创建一个物理卷 /dev/sdc1

# pvcreate /dev/sdc1 

现在,物理卷已经准备好了,我们可以简单地将它增加到已存在的卷组'volume-group1'上。

# vgextend volume-group1 /dev/sdc1 

使用vgdisplay来验证(可以看到卷组大小已经增大)。

# vgdisplay 

  --- Volume group ---
  VG Name               volume-group1
  System ID
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  9
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               5.03 GiB
  PE Size               4.00 MiB
  Total PE              1287
  Alloc PE / Size       25 / 100.00 MiB
  Free  PE / Size       1262 / 4.93 GiB
  VG UUID               bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK

注意,尽管我们使用一个单独的磁盘做示范,其实只要是‘8e’类型的磁盘分区都可以用来扩展卷组。

总结一下,LVM是一个非常给力的工具,用来创建和管理可变大小的分区。本文中,我们已经介绍了动态分区如何在LVM中创建和使用。我们也介绍了扩展/缩小逻辑卷和卷组的方法,和如何增加一个新的磁盘到LVM。

希望对你有帮助。


via: http://xmodulo.com/2014/05/use-lvm-linux.html

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

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

“开源之神圣独裁者”越来越少了,不过没事!

Roy Rubin这位流行的电子商务开源项目Magento的联合创始人,从这一2008年启动的项目中功成身退后在这周说出了上面这样的话语。

这已经不是第一次一个开源项目的领导者出走项目了,但值得注意的是对于它带来的反响是:没啥大的反应。

并不是因为Rubin对于Magento项目不重要,实际上他非常重要。六年来,Rubin实际上是Magento项目的灵魂。但是开源软件一直在成长,它一直在削弱个人对其的影响。当然没人希望Linux的创始人Linus Torvalds不小心被车撞了,在这点上我们是爱他的。但是另外一方面其实我们并不太在意。

但是并不总是这样的。

崇拜开源之神圣独裁者!

在好的一面,成功的开源项目一直以来都和伟大的领导者密不可分。对一个充满活力又有独立思想的一个开发团体施加影响,必定是众口难调的事情。在一个专门的开源项目当中不同的观点会产生各种不同的路线(在代码层上,管它叫做“分支”),通常这时候,要么是“开源之神圣独裁者”,要么是项目领袖,将会介入,施展自己的领导才能让开发人员团结在一起。

开源之神圣独裁者 BDFL”这个词可能第一个用于Python项目的领导者Guido von Rossum。它现在也被用到了Linux的发明人Linus Torvalds身上,以及Ubuntu的领导者Mark Shuttleworth和其他人身上。有时候另外两个人也会冠以这个称号,比如Django项目的Adrian Holovaty和Kaplan-Moss。(LCTT译注:BDFL,benevolent dictator for life ,由LCTT 核心译者 Viz 建议译作“开源之神圣独裁者”。)

在他们影响力最大的时候,这些领袖离开项目会对项目的将来产生灾难性的影响,这展现出这些伟大领导者与项目之间紧密的关联。但是,有时候,也不总是这样。Django的领导者去了其他的项目,但是Django依然不断前行着,像Python、Lucene(领导者Doug Cutting)、Jboss(领导者Marc Fleury)和其他很多的项目也是这样。

现在开源软件研发的团体依然围绕着伟大的领导者,但我们似乎并不像曾经的那样依赖他们了。开源软件的“个人崇拜”正在褪色,也有可能已经消亡了,但是接下来会怎么样呢?

Apache和开源社区的崛起

是的,社区开始崛起了。我意识到我在做出一些自以为是的论调,但是根据我在开源项目15年的经验来说,我观察到开源软件项目从非常严格的控制阶段缓慢的转向了松散的开源团体,他们经常是因为兴趣才互相合作的。

当然并不清楚是先有 BSD/Apache之类的许可证的“鸡”还是后有开源软件相互合作的“蛋”,这两个很明显的一起改变了开源软件的运作模式。

当然还是需要“开源之神圣独裁者”。举个例子,当自由GNU还不是一个项目时,很难想象如果没有了Richard Stallman会是怎么样。相反的,很容易想象Apache Hadoop如果没有领导会怎么样…,等等,好像Hadoop真的没有人领导…

如果真的要说答案的话,那就是这里每个人或者许多人。当然Hadoop由Doug Cutting启动,但是它已经发展成了一个公司和个人(不过大多数的公司雇佣了这些人)的协作的社区。

OpenStack与之类似,被涉及的公司所主导,如果某一个Openstack的开发者离开了,Openstack依然能够继续。因此,对于一个成员正在增加的开源项目来说,这种类似是确信无疑的。

未来不需要“开源之神圣独裁者”吗?

并不是说在以后的开源项目中不需要领导者。需要,但是越来越多的开源项目转为团体之间的合作,失去他们的风险消失了。坦白的说,即使公司们没有深入的参入进来,Apache许可证的项目反正也不依赖“开源之神圣独裁者”们。

Photo of Richard Stallman courtesy of Friprog on Flickr


via: http://readwrite.com/2014/05/02/open-source-magento-roy-rubin-bdfl#feed=/hack&awesm=~oDgSTEdnXAjUv0

译者:jiajia9linuxer 校对:wxy

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

dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。

dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘的吞吐率(在相同的时间间隔内)。

dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出。这样更好地避免了信息混乱和误报。更重要的是,它可以让你更容易编写插件来收集你想要的数据信息,以从未有过的方式进行扩展。

Dstat的默认输出是专门为人们实时查看而设计的,不过你也可以将详细信息通过CSV输出到一个文件,并导入到Gnumeric或者Excel生成表格中。

特性

  • 结合了vmstat,iostat,ifstat,netstat以及更多的信息
  • 实时显示统计情况
  • 在分析和排障时可以通过启用监控项并排序
  • 模块化设计
  • 使用python编写的,更方便扩展现有的工作任务
  • 容易扩展和添加你的计数器(请为此做出贡献)
  • 包含的许多扩展插件充分说明了增加新的监控项目是很方便的
  • 可以分组统计块设备/网络设备,并给出总数
  • 可以显示每台设备的当前状态
  • 极准确的时间精度,即便是系统负荷较高也不会延迟显示
  • 显示准确地单位和和限制转换误差范围
  • 用不同的颜色显示不同的单位
  • 显示中间结果延时小于1秒
  • 支持输出CSV格式报表,并能导入到Gnumeric和Excel以生成图形

安装方法

Ubuntu/Mint和Debin系统:

本地软件库中有相关安装包,你可以用下面命令安装:

# sudo apt-get install dstat

RHEL/Centos和Fedora系统:

你可以在romforge软件库中添加有相关安装包,参照指导,使用如下命令很简单就能进行安装:

# yum install dstat

ArchLinux系统:

相关软件包在社区资源库中,你可以用这个命令来安装:

# pacman -S dstat

使用方法

dstat的基本用法就是输入dstat命令,输出如下:

这是默认输出显示的信息:

CPU状态:CPU的使用率。这项报告更有趣的部分是显示了用户,系统和空闲部分,这更好地分析了CPU当前的使用状况。如果你看到"wait"一栏中,CPU的状态是一个高使用率值,那说明系统存在一些其它问题。当CPU的状态处在"waits"时,那是因为它正在等待I/O设备(例如内存,磁盘或者网络)的响应而且还没有收到。

磁盘统计:磁盘的读写操作,这一栏显示磁盘的读、写总数。

网络统计:网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。

分页统计:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,或者说内存非常分散,大多数情况下你都希望看到page in(换入)和page out(换出)的值是0 0。

系统统计:这一项显示的是中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。

默认情况下,dstat每秒都会刷新数据。如果想退出dstat,你可以按"CTRL-C"键。

需要注意的是报告的第一行,通常这里所有的统计都不显示数值的。

这是由于dstat会通过上一次的报告来给出一个总结,所以第一次运行时是没有平均值和总值的相关数据。

但是dstat可以通过传递2个参数运行来控制报告间隔和报告数量。例如,如果你想要dstat输出默认监控、报表输出的时间间隔为3秒钟,并且报表中输出10个结果,你可以运行如下命令:

dstat 3 10

在dstat命令中有很多参数可选,你可以通过man dstat命令查看,大多数常用的参数有这些:

  • -l :显示负载统计量
  • -m :显示内存使用率(包括used,buffer,cache,free值)
  • -r :显示I/O统计
  • -s :显示交换分区使用情况
  • -t :将当前时间显示在第一行
  • –fs :显示文件系统统计数据(包括文件总数量和inodes值)
  • –nocolor :不显示颜色(有时候有用)
  • –socket :显示网络统计数据
  • –tcp :显示常用的TCP统计
  • –udp :显示监听的UDP接口及其当前用量的一些动态数据

当然不止这些用法,dstat附带了一些插件很大程度地扩展了它的功能。你可以通过查看/usr/share/dstat目录来查看它们的一些使用方法,常用的有这些:

  • -–disk-util :显示某一时间磁盘的忙碌状况
  • -–freespace :显示当前磁盘空间使用率
  • -–proc-count :显示正在运行的程序数量
  • -–top-bio :指出块I/O最大的进程
  • -–top-cpu :图形化显示CPU占用最大的进程
  • -–top-io :显示正常I/O最大的进程
  • -–top-mem :显示占用最多内存的进程

举一些例子:

查看全部内存都有谁在占用:

dstat -g -l -m -s --top-mem

显示一些关于CPU资源损耗的数据:

dstat -c -y -l --proc-count --top-cpu

如何输出一个csv文件

想输出一个csv格式的文件用于以后,可以通过下面的命令:

# dstat –output /tmp/sampleoutput.csv -cdn

via: http://linuxaria.com/howto/linux-terminal-dstat-monitoring-tools

译者:disylee 校对:wxy

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

有很多使用命令行的理由。正如我们在issue 3 of Linux Voice中展示的那样,它是与你的计算机交互的最强大和简明的方法。但是,我们还是先来看一下命令行的一些隐晦的使用场景(或许有些人会觉得没有意义)。

(LCTT译注,以下视频可能会比较慢,请耐心等一下。)

浏览网页

Firefox和Chromium都是很好的浏览器,但是你有没有发现它们有点太图形化了?没有?看一下下面的视频,我们使用elinks web浏览器显示了与黑客相关的新闻。界面可能没有其他浏览器好看,但是它的目标是显示绝大多数的web页面!

作为一个极客,当你只有SSH连接方式时,需要快速检查一下能否访问网页时,这将是一个很便利的方法。

在维基百科上查找想要的信息

是的,上面我们已经提到了使用Web,但是web不是查看维基百科的唯一方式。David Leadbeater已经构建了一个将维基百科的内容放入DNS记录的DNS服务器。这能够让你使用像dig这样的命令行工具来抓取你想要的信息。

看电影

当你想要看《星球大战 4 :新的希望》时,不再需要使用Netflix或者YouTube,只要在你的终端中直接telnet towel.blinkenlights.nl就行了。

玩游戏

再Steam来之前Linux下就有许多游戏,并且很多都不需要图形界面,比如NetHack、Robots和Greed。下面是Moon Buggy的一个演示:

LCTT译注:大家注意到这篇文章中的视频了么?不是通常的FLA,也不是MP4、AVI。而是一个专门演示脚本“功夫”的一个网站提供的:http://shelr.tv/ ,欢迎大家也去演练下你的脚本功夫吧!

LCTT译注:为了正常呈现,我专门临时打开了网站对IFRAME的限制。。。


via: http://www.linuxvoice.com/commandline-secrets/

译者:johnhoow 校对:wxy

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

Nginx网站服务器在生产环境中运行的时候需要进行实时监控。实际上,诸如Nagios, Zabbix, Munin 的网络监控软件是支持 Nginx 监控的。

如果你不需要以上软件提供的综合性报告或者长期数据统计功能,只是需要一种快速简便的办法去监控 Nginx 服务器的请求的话,我建议你采用一个叫 ngxtop 的命令行工具。

你马上就会发现 ngxtop 从界面和名称都借鉴了著名的top命令。ngxtop 是通过分析 Nginx 或者其他的日志文件,使用类似 top 命令的界面实时展示出来的。你可以说你知道的其他高端监控工具,但是在简洁这方面 ngxtop 无疑是最好的。简单就意味着不可替代。

本指南中,我将介绍如何使用 ngxtop 实时监控 Nginx 网站服务器。

Linux 上安装 ngxtop

首先在 Linux 系统中安装依赖库pip(LCTT译注:ngxtop是用python编写的)。

然后使用如下命令安装 ngxtop。

$ sudo pip install ngxtop

ngxtop 使用

基本使用方法如下:

ngxtop [options]
ngxtop [options] (print|top|avg|sum) <var>
ngxtop info

这里是一些通用选项。

  • -l : 指定日志文件的完整路径 (Nginx 或 Apache2)
  • -f : 日志格式
  • --no-follow: 处理当前已经写入的日志文件,而不是实时处理新添加到日志文件的日志
  • -t : 更新频率
  • -n : 显示行号
  • -o : 排序规则(默认是访问计数)
  • -a ..., --a ...: 添加表达式(一般是聚合表达式如: sum, avg, min, max 等)到输出中。
  • -v: 输出详细信息
  • -i : 只处理符合规则的记录

以下是一些内置变量,他们的含义不言自明。

  • bodybytessend
  • http\_referer
  • httpuseragent
  • remote\_addr
  • remote\_user
  • request
  • status
  • time\_local

使用 ngxtop 监控 Nginx

ngxtop 默认会从其配置文件 (/etc/nginx/nginx.conf) 中查找 Nginx 日志的地址。所以,监控 Nginx ,运行以下命令即可:

$ ngxtop

这将会列出10个 Nginx 服务,按请求数量排序。

显示前20个最频繁的请求:

$ ngxtop -n 20

获取Nginx基本信息:

$ ngxtop info

你可以自定义显示的变量,简单列出需要显示的变量。使用 "print" 命令显示自定义请求。

$ ngxtop print request http_user_agent remote_addr

显示请求最多的客户端IP地址

$ ngxtop top remote_addr

显示状态码是404的请求

$ ngxtop -i 'status == 404' print request status

除了Nginx,ngtop 还可以处理其他的日志文件,比如 Apache 的访问文件。使用以下命令监控 Apache 服务器:

$ tail -f /var/log/apache2/access.log | ngxtop -f common

via: http://xmodulo.com/2014/06/monitor-nginx-web-server-command-line-real-time.html

译者:shipsw 校对:wxy

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