Merge pull request #8 from LCTT/master

Update Repository
This commit is contained in:
joeren 2014-09-13 09:58:44 +08:00
commit a188e76f49
50 changed files with 3175 additions and 876 deletions

View File

@ -1,11 +1,11 @@
简介
-------------------------------
LCTT是Linux中国社区[http://linux.cn/](http://linux.cn/)的翻译组负责从国外优秀媒体翻译Linux相关的技术、资讯、杂文等内容。
LCTT是“Linux中国”[http://linux.cn/](http://linux.cn/)的翻译组负责从国外优秀媒体翻译Linux相关的技术、资讯、杂文等内容。
LCTT已经拥有近百余名活跃成员并欢迎更多的Linux志愿者加入我们的团队。
![logo](http://img.linux.net.cn/static/image/common/linuxcn_qqq_lctt.gif)
![logo](http://img.linux.net.cn/static/image/common/lctt_logo.png)
LCTT的组成
-------------------------------
@ -18,11 +18,10 @@ LCTT的组成
**发布**,负责将校对后的文章,排版进行发布。
加入我们
-------------------------------
请首先加入翻译组的QQ群群号是198889102加群时请说明是志愿者。加入后记得修改您的群名片为您的github的ID。
请首先加入翻译组的QQ群群号是198889102加群时请说明是志愿者。加入后记得修改您的群名片为您的github的ID。
加入的成员,请先阅读[WIKI 如何开始](https://github.com/LCTT/TranslateProject/wiki/01-如何开始)。
@ -39,62 +38,75 @@ LCTT的组成
- CORE [carolinewuyan](https://github.com/carolinewuyan),
- CORE [DeadFire](https://github.com/DeadFire),
- CORE [geekpi](https://github.com/geekpi),
- CORE [tinyeyeser](https://github.com/tinyeyeser),
- CORE [vito-L](https://github.com/vito-L),
- CORE [jasminepeng](https://github.com/jasminepeng),
- CORE [willqian](https://github.com/willqian),
- CORE [vizv](https://github.com/vizv),
- CORE [GOLinux](https://github.com/GOLinux),
- [luoxcat](https://github.com/Luoxcat),
- CORE [reinoir](https://github.com/reinoir),
- Senior [tinyeyeser](https://github.com/tinyeyeser),
- Senior [vito-L](https://github.com/vito-L),
- Senior [jasminepeng](https://github.com/jasminepeng),
- Senior [willqian](https://github.com/willqian),
- Senior [vizv](https://github.com/vizv),
- [runningwater](https://github.com/runningwater),
- [luoxcat](https://github.com/Luoxcat),
- [bazz2](https://github.com/bazz2),
- [Vic020](https://github.com/Vic020),
- [flsf](https://github.com/flsf),
- [alim0x](https://github.com/alim0x),
- [KayGuoWhu](https://github.com/KayGuoWhu),
- [zpl1025](https://github.com/zpl1025),
- [blueabysm](https://github.com/blueabysm),
- [flsf](https://github.com/flsf),
- [crowner](https://github.com/crowner),
- [Linux-pdz](https://github.com/Linux-pdz),
- [KayGuoWhu](https://github.com/KayGuoWhu),
- [Linchenguang](https://github.com/Linchenguang),
- [woodboow](https://github.com/woodboow),
- [zpl1025](https://github.com/zpl1025),
- [yechunxiao19](https://github.com/yechunxiao19),
- [blueabysm](https://github.com/blueabysm),
- [linuhap](https://github.com/linuhap),
- [2q1w2007](https://github.com/2q1w2007),
- [yechunxiao19](https://github.com/yechunxiao19),
- [woodboow](https://github.com/woodboow),
- [su-kaiyao](https://github.com/su-kaiyao),
- [scusjs](https://github.com/scusjs),
- [hyaocuk](https://github.com/hyaocuk),
- [theo-l](https://github.com/theo-l),
- [NearTan](https://github.com/NearTan),
- [l3b2w1](https://github.com/l3b2w1),
- [ThomazL](https://github.com/ThomazL),
- [MikeCoder](https://github.com/MikeCoder),
- [shipsw](https://github.com/shipsw),
- [boredivan](https://github.com/boredivan),
- [ThomazL](https://github.com/ThomazL),
- [theo-l](https://github.com/theo-l),
- [jiajia9linuxer](https://github.com/jiajia9linuxer),
- [SteveArcher](https://github.com/SteveArcher),
- [l3b2w1](https://github.com/l3b2w1),
- [NearTan](https://github.com/NearTan),
- [shipsw](https://github.com/shipsw),
- [disylee](https://github.com/disylee),
- [Love-xuan](https://github.com/Love-xuan),
- [boredivan](https://github.com/boredivan),
- [cvsher](https://github.com/cvsher),
- [owen-carter](https://github.com/owen-carter),
- [JonathanKang](https://github.com/JonathanKang),
- [tenght](https://github.com/tenght),
- [icybreaker](https://github.com/icybreaker),
- [liuaiping](https://github.com/liuaiping),
- [tenght](https://github.com/tenght),
- [rogetfan](https://github.com/rogetfan),
- [nd0104](https://github.com/nd0104),
- [whatever1992](https://github.com/whatever1992),
- [2q1w2007](https://github.com/2q1w2007),
- [disylee](https://github.com/disylee),
- [SteveArcher](https://github.com/SteveArcher),
- [JonathanKang](https://github.com/JonathanKang),
- [zzlyzq](https://github.com/zzlyzq),
- [FineFan](https://github.com/FineFan),
- [ailurus1991](https://github.com/ailurus1991),
- [lfzark](https://github.com/lfzark),
- [CNprober](https://github.com/CNprober),
- [213edu](https://github.com/213edu),
- [johnhoow](https://github.com/johnhoow),
- [yujianxuechuan](https://github.com/yujianxuechuan),
- [ggaaooppeenngg](https://github.com/ggaaooppeenngg),
- [zzlyzq](https://github.com/zzlyzq),
- [ailurus1991](https://github.com/ailurus1991),
- [FineFan](https://github.com/FineFan),
- [tomatoKiller](https://github.com/tomatoKiller),
- [stduolc](https://github.com/stduolc),
- [Maclauring](https://github.com/Maclauring),
- [Hao-Ding](https://github.com/Hao-Ding),
- [small-Wood](https://github.com/small-Wood),
- [zsJacky](https://github.com/zsJacky),
- [Hao-Ding](https://github.com/Hao-Ding),
- [luoyutiantang](https://github.com/luoyutiantang),
- [small-Wood](https://github.com/small-Wood),
- [CHINAANSHE](https://github.com/CHINAANSHE),
- [ggaaooppeenngg](https://github.com/ggaaooppeenngg),
- [guodongxiaren](https://github.com/guodongxiaren),
- [cereuz](https://github.com/cereuz),
- [lijhg](https://github.com/lijhg),
更新于2014/06/18
更新于2014/09/09
谢谢大家的支持!
@ -112,4 +124,5 @@ LCTT的组成
* 2014/01/02 增加了Core Translators 成员: geekpi。
* 2014/05/04 更换了新的QQ群198889102
* 2014/05/16 增加了Core Translators 成员: will.qian、vizv。
* 2014/06/18 由于GOLinux令人惊叹的翻译速度和不错的翻译质量升级为Core Translators 成员。
* 2014/06/18 由于GOLinux令人惊叹的翻译速度和不错的翻译质量升级为Core Translators 成员。
* 2014/09/09 LCTT 一周年,做一年[总结](http://linux.cn/article-3784-1.html)。并将曾任 CORE 的成员分组为 Senior以表彰他们的贡献。

83
lctt2014.md Normal file
View File

@ -0,0 +1,83 @@
LCTT 2014 LCTT 成立一年总结
============================
### 缘起 ###
一年前,我因为开发 Linux 中国的微信公众号,想着在公众号里面提供 Linux 的 man 手册应该是个不错的主意,因此在网上遍寻中文 man 手册。虽然我之前也寻找过中文的 man 手册,知道颇多不全和错漏,但是这次仔细搜寻之下,却发现还远较我预计的还差。
无奈之下,只能先使用了英文版本作为 man 的内容,并因此萌发了组织一个翻译 man 手册的活动或组织的想法。说干就干,当时我就在 Linux 中国的 QQ 群里面发起了倡议,还真得到了大家响应。
于是2013 年 9 月 10日草草而就的 LCTT 就成立了,很快就创建了一个 QQ 群作为交流并确定了名称为“Linux.CN Translate Team”简称 LCTT。考虑到需要多人协作几乎没有多想就决定了采用 GITHUB 作为翻译平台——虽然现在看起来GITHUB 作为主要工作平台有利也有弊但是总体来说还是不错的。LCTT 就这样启动了。
### 发展 ###
次日,我们就组织起来了翻译,并初步拟定了翻译流程、分工之类的内容。
LCTT 草创,各种方面都没有经验,也出现过一些失误。比如说,开始时对于 GITHUB 以及 GIT大部分人包括我都不是很熟悉因此并未采用 Pull-Request 模式,而是共同控制的方式,也由于一些协调和经验的原因,出现过版本错误和回滚,甚至回滚得更乱。还有,初期还要求 LINUX 中国网站 的注册身份,但是后来发现这完全不必要。
本来成立 LCTT 的目标是为了 man 手册的翻译,但是经过研究,我发现翻译 man 手册还有一些困难:
1. man 手册是二进制的 groff 格式,因此生成和解析需要一些额外的过程,甚至需要一些特定的环境;
2. man 手册对翻译的能力要求较高,并且应该对 man 手册所对应的命令有足够的了解,才能翻译得当,因为一字之差就可能导致很多误解。
所以,当时商量决定,先期启动普通的 Linux 方面、开源方面的文章翻译,以此来摸索翻译流程和锻炼协作,并作为翻译 man 手册的人员筛选环节。
我安排 Linux 中国站长,原本经常独自翻译发表来自国外文章的 DeadFire 来做选题。他负责将选题从英文的页面,转换成 Markdown 格式。我又找了朋友 jasminepeng 和 carolinewuyan 帮忙做校对,我自己则主要承担发布的工作。
初期,很快就涌现出了一些积极参与的人员,如 tinyeyeser、vito-L、boredivanivan等等不一一列举了他们不但积极参与翻译而且还帮助撰写了第一批的翻译组 Wiki 文档,对引导新人起到了很大作用。
伴随着 LCTT 的逐步运作,一个月之后,我和大家感觉时间比较成熟了,就启动了 man 翻译计划。
### man 翻译计划的夭折 ###
_写下这个标题时我也颇感觉惭愧的这也算是我正视这个结果吧。不管怎么说现在还是深夜未过零点我终究是在 LCTT 一周年之前正视了失败。_
其实,前面提到过,我检索过各种可以找到的中文 man 翻译项目的结果,但种种结果让人无法满意,因此我觉得,我应该能吸取其中的教训,为 Linux、为开源做点实事出来。
我总结的之前的 man 翻译项目失败的原因大概如下:
1. 缺乏足够的驱动力,翻译者无论从利益还是荣誉,都得不到鼓励,因此往往难以为继。
2. 由于依赖个人热情,没有形成流动机制,因此,当某个人热情耗尽之后,就没有人继续接手维护。
3. 翻译流程简单,没有形成初译、校对、发布等流程,无法保证质量,也没有保持同步更新的流程。
因此,我觉得,通过建立一个翻译的公益组织(即 LCTT、建立翻译流程、翻译后保留翻译和校对等人员的署名可以解决一些以上的问题。
但是,其实我还忽视了一点,翻译 man 手册,其实无论是环境还是流程,比较复杂,因此限制了参与者。参与门槛高,导致发展不能持续。
因此实际上man 翻译项目在大概运作了一个月之后就逐渐停滞下来了虽然后期willqian 独立完成了很多篇但是总体来说man 翻译项目算是失败了。
### 总结这一年 ###
抛开 man 翻译项目的失败不说其实LCTT 还是成果累累。
这一年,我们完成了 5820 次提交,发起了 1482 个 PR翻译了 805 篇文章。
这一年,我们有了 98 个贡献者,得到了 162 个 fork。
我使用了一个工具,根据这一年来我们 LCTT 翻译项目的 git 日志,生成了一段[视频](http://img.linux.net.cn/static/video/lctt2014.mp4)。看着视频中如辛勤的工蜂一样忙忙碌碌的志愿者们;看着如穿花蝴蝶一样,承担了更多工作量的选题、校对们;看着归档时如同施展魔法一样,瞬间变出了一朵朵花,我感觉我们这一年是有收获的一年!
请大家观赏我们这一年: http://img.linux.net.cn/static/video/lctt2014.mp4 213M720p
这是我用 kdenlive 合成配音的。虽然我的乐感很差,只能选择一首自己觉得还算配的音乐;虽然我根本不会用 kdenlive连配音淡出都琢磨半天虽然我编译用于生成这个视频的 gource 都花费了几个小时来解决问题;但是,看到这份视频,我为我们 LCTT 这一年来的工作感到骄傲。
### 感谢你们 ###
虽然很俗套,但是此刻,已经是 2014 年 9 月 10 日凌晨00:50了我心情很激动真心感谢所有的参与者、贡献者。几乎每个 LCTT 的成员我都知道也有几个我特别熟悉LCTT 的成员有新来的,也有逐渐淡出的,但是不论是那种,我都记得你们。
名单太长,我就不一一列举了: https://github.com/LCTT/TranslateProject/graphs/contributors
### 接下来 ###
我会说man 计划我不会放弃么?
是的man 计划是 LCTT 之所以发起的原因,也是 LCTT 能够持久发展的基础,而 man 翻译也是真正对国内的 Linux 、开源发展有实在意义的事情,所以,我不会放弃。
我会投入精力开发一个翻译平台,用于 man 项目的翻译、校对和发布,将复杂的翻译环境配置和使用方法隐藏在后面;并增加可视化的图表和进度显示,明了的体现翻译工作进展;对接 man7.org 的最新更新,保持 man 内容的及时更新等等。
期待 LCTT 的下一个年度的发展吧!
----
LCTT wxy
2014 年 9 月 10 日

View File

@ -3,17 +3,17 @@
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Install_Java_Ubuntu_Linux_Mint.jpeg)
想知道**如何在Ubuntu 14.04中安装Java**安装Java肯定是[安装Ubuntu 14.04后首先要做的几件事情之一](1),而且这也很简单
想知道**如何在Ubuntu 14.04中安装Java**安装Java肯定是[安装Ubuntu 14.04后首先要做的几件事情之一](1),而且这也很简单
许多人比较厌恶Java但是很有可能因为某些原因你需要安装Java尽管你很讨厌它。在这篇文章中我们将展示如何在Ubuntu 14.04安装Java也可能在Linux Mint 17同样适用
许多人比较厌恶Java但是很有可能因为某些原因你需要安装Java尽管你很讨厌它。在这篇文章中我们将展示如何在Ubuntu 14.04安装Java也可能在Linux Mint 17同样适用
### JRE vs OpenJDK vs Oracle JDK ###
在我们继续了解如何安装Java之前让我们快速地了解JRE,OpenJDK和Oracle JDK之间的不同之处
在我们继续了解如何安装Java之前让我们快速地了解JRE、OpenJDK和Oracle JDK之间的不同之处。
- JREJava Runtime Environment它是你运行一个基于Java语言应用程序的所正常需要的环境。如果你不是一个程序员的话这些足够你的需要
- JDK代表Java开发工具包如果你想做一些有关Java的开发阅读程序这正是你所需要的
- OpenJDK是Java开发工具包的开源实现Oracle JDK是Java开发工具包的官方Oracle版本。尽管OpenJDK已经足够满足大多数的案例但是许多程序比如[Android Studio](2)建议使用Oracle JDK以避免UI/性能问题
- JREJava Runtime Environment它是你运行一个基于Java语言应用程序的所正常需要的环境。如果你不是一个程序员的话这些足够你的需要
- JDK代表Java开发工具包如果你想做一些有关Java的开发阅读程序这正是你所需要的
- OpenJDK是Java开发工具包的开源实现Oracle JDK是Java开发工具包的官方Oracle版本。尽管OpenJDK已经足够满足大多数的案例但是许多程序比如[Android Studio](2)建议使用Oracle JDK以避免UI/性能问题
### 检查Java是否已经安装在Ubuntu上 ###
@ -33,7 +33,7 @@
### 在Ubuntu和Linux Mint上安装Java ###
看了各种类型Java的不同之后让我们看如何安装他们
看了各种类型Java的不同之后让我们看如何安装他们
#### 在Ubuntu和Linux Mint上安装JRE ####
@ -47,7 +47,7 @@
sudo apt-get install default-jdk
特殊地如果你想要安装Java 7或者Java 6等等你可以使用openjdk-7-jdk/openjdk-6jdk但是记住在此之前安装openjdk-7-jre/openjdk-6-jre
特殊地如果你想要安装Java 7或者Java 6等等你可以使用openjdk-7-jdk/openjdk-6jdk但是记住在此之前安装openjdk-7-jre/openjdk-6-jre
#### 在Ubuntu和Linux Mint上安装Oracle JDK ####
@ -58,17 +58,17 @@
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
如果你想安装Java 7(i.e Java 1.7)在上面的命令中用java7代替java8
如果你想安装Java 7(i.e Java 1.7)在上面的命令中用java7代替java8
我希望这篇文章能够帮助你学会在Ubuntu,Linux Mint和其它基于Ubuntu的Linux发行版本上安装Java我们欢迎所有问题或者建议
我希望这篇文章能够帮助你学会在Ubuntu,Linux Mint和其它基于Ubuntu的Linux发行版本上安装Java我们欢迎所有问题或者建议
------------------------------------------------------------------------------------------------------------------
via:
via: http://itsfoss.com/install-java-ubuntu-1404/
作者:[Abhishek][a]
译者:[su-kaiyao](https://github.com/su-kaiyao)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,15 +1,14 @@
在RHEL / CentOS / 5.x / 6.x上禁用并使单用户模式受到密码保护
在RHEL / CentOS / 5.x / 6.x上用密码保护单用户模式
================================================================================
大家好,
如果您还没有使用密码保护单用户模式这对你的Linux服务器会是一个很大的风险所以在涉及到安全性时使用密码保护单用户模式是非常重要的。
大家好如果您还没有使用密码保护单用户模式这对你的Linux服务器会是一个很大的风险所以在涉及到安全性时使用密码保护单用户模式是非常重要的。
今天这篇文章我会向你展示如何在RHEL / CentOS 5.x 和 RHEL / CentOS 6.x上使用密码保护你的单用户模式。
请仔细地执行所给出的命令,不然你的系统将会无法正常启动。首先,我会请你先完整地读完,然后在尝试。请自己承担相应的后果:-)
![Password Protect](http://www.tejasbarot.com/wp-content/uploads//password-300x140.jpg)
Password Protect
<small>Password Protect</small>
### 1. 对于 RHEL / CentOS 5.x ###
@ -17,11 +16,11 @@ Password Protect
cp /etc/inittab /etc/inittab.backup
** 禁用并使单用户模式受到密码保护用root执行下面的命令 :-**
**使单用户模式受到密码保护用root执行下面的命令 :-**
[root@tejas-barot-linux ~]$ sed -i '1i su:S:wait:/sbin/sulogin'
[root@tejas-barot-linux ~]# sed -i '1i su:S:wait:/sbin/sulogin' /etc/inittab
** 这样你会看到像下面这样的 **
**这样你会看到像下面这样的**
su:S:wait:/sbin/sulogin
# Default runlevel. The runlevels used by RHS are:
@ -35,7 +34,7 @@ Password Protect
#
id:3:initdefault:
*NOTE: 如果你不想使用sed命令你可以在/etc/inittab 顶部加入 “su:S:wait:/sbin/sulogin” *
*NOTE: 如果你不想使用sed命令你可以在/etc/inittab 顶部加入 “su:S:wait:/sbin/sulogin”*
### 2. 对于 RHEL / CentOS 6.x ###
@ -43,9 +42,9 @@ Password Protect
cp /etc/sysconfig/init /etc/sysconfig/init.backup
#### 2.2 禁用并使单用户模式受到密码保护用root执行下面的命令 :- ####
#### 2.2 使单用户模式受到密码保护用root执行下面的命令 :- ####
[root@tejas-barot-linux ~]$#sed -i 's/SINGLE=\/sbin\/sushell/SINGLE=\/sbin\/sulogin/' /etc/sysconfig/init
[root@tejas-barot-linux ~]# sed -i 's/SINGLE=\/sbin\/sushell/SINGLE=\/sbin\/sulogin/' /etc/sysconfig/init
**这样你会看到像下面这样的**
@ -53,15 +52,15 @@ Password Protect
*注意 :- 如果你不想使用sed你可以在 /etc/sysconfig/init 中直接改成 “SINGLE=/sbin/sulogin”*
E享受Linux :) 享受开源
享受Linux :) 享受开源
--------------------------------------------------------------------------------
via: http://www.tejasbarot.com/2014/05/05/disable-password-protect-single-user-mode-rhel-centos-5-x-6-x/#axzz39oGCBRuX
via: http://www.tejasbarot.com/2014/05/05/disable-password-protect-single-user-mode-rhel-centos-5-x-6-x/
作者:[Tejas Barot][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,8 +1,9 @@
Linux FAQ -- 如何检查Linux系统的最后重启时间
Linux有问必答:如何检查Linux系统的最后重启时间
================================================================================
> **问题**: 是否有一个命令可以快速地检查系统已经运行了多久? 也就是我怎么知道Linux最后的重启时间?
There are several ways to find out the last system reboot time,
> **问题**: 是否有一个命令可以快速地检查系统已经运行了多久? 也就是我怎么知道Linux系统最后的重启时间?
有许多方法来查询系统最后的重启时间。
### 方法一 ###
@ -12,27 +13,27 @@ There are several ways to find out the last system reboot time,
![](https://farm4.staticflickr.com/3925/14881994335_041e9c2f86_z.jpg)
这条命令实际上显示的是最近几天的系统运行时间。last原本被设计来显示某个特定用户的登录历史。在Linux中有一个特别的“伪用户”称为reboot会在系统重启的时候立即登录。这样通过检查reboot用户的登录历史你就可以检查最后的重启时间。
这条命令实际上显示的是最近几天的系统运行时间。last原本被设计来显示某个特定用户的登录历史。在Linux中有一个特别的“伪用户”称为reboot会在系统重启的时候立即自动登录。这样通过检查reboot用户的登录历史你就可以检查最后的重启时间。
### 方法二 ###
另外一个检测系统最后启动时间的方法是使用who命令带上-b选项。
另外一个检测系统最后启动时间的方法是使用who命令带上-b选项。
$ who -b
### 方法三 ###
你同样可以使用uptime命令来推断系统最后的启动时间。uptime命令会显示当前的时间同样也会显示系统已经运行的时间。从这些信息中你就可以计算系统最后启动的时间了
你同样可以使用uptime命令来推断系统最后的启动时间。uptime命令会显示当前的时间同样也会显示系统已经运行的时间。从这些信息中你就可以计算系统最后启动的时间了
$ uptime
![](https://farm4.staticflickr.com/3915/14881660192_58f2843969_o.png)
![](https://farm4.staticflickr.com/3915/14881660192_58f2843969_o.png)
--------------------------------------------------------------------------------
via: http://ask.xmodulo.com/check-last-time-system-rebooted-linux.html
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -3,15 +3,15 @@ Linux终端speedtest_cli检测你的实时带宽速度
![](http://www.speedtest.net/result/3700218352.png)
什么是你在家或者办公室的上传和下载速度你能保证你支付费用给ISP的同时,你得到了等价的回报?
你在家(或者办公室)的上传和下载速度如何你能保证你支付费用给ISP的同时得到了等价的回报
为了测试我们因特网连接的速度当下存在着一些因特网服务比如说SpeedTest这是一种可以通过Web浏览器和手机应用程序浏览的web服务
要想测试我们因特网连接的速度当下存在着一些因特网服务比如说SpeedTest这是一种可以通过Web浏览器和手机应用程序浏览的web服务
现在你可以很容易地检测你的网速使用speedtest_cli同样很简单它是一个使用[speedtest.net][2]来测试因特网[带宽][1]的命令行界面。通过这种方式,你也可以在没有浏览器或者图形化界面的服务器上做带宽测试
现在你可以很容易地检测你的网速使用speedtest_cli同样很简单它是一个使用[speedtest.net][2]来测试因特网[带宽][1]的命令行界面。通过这种方式,你也可以在没有浏览器或者图形化界面的服务器上做带宽测试
### 安装 ###
speedtest_cli是一个python脚本所以它真的很容易安装和使用拥有许多方式安装它:
speedtest_cli是一个python脚本所以它真的很容易安装和使用可以通过许多方式安装它:
#### 1pip / easy_install ####
@ -39,8 +39,11 @@ speedtest_cli是一个python脚本所以它真的很容易安装和使用
getdeb仓库给我们提供了[安装包][3],按照下面的步骤,就可以轻松安装:
- 安装[getdeb包][4]
或者
- 手动地配置仓库:
- 手动配置仓库:
进入系统管理软件源,第三方软件选项,加上:
deb http://archive.getdeb.net/ubuntu trusty-getdeb apps
@ -56,7 +59,7 @@ getdeb仓库给我们提供了[安装包][3],按照下面的步骤,就可以
#### 4下载和以前的方式一样 ####
作为最后的选择只需要下载python脚本然后在你想运行的地方运行脚本
最后一个选择只需要下载python脚本然后在你想运行的地方运行脚本
wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod +x speedtest-cli
@ -68,7 +71,7 @@ getdeb仓库给我们提供了[安装包][3],按照下面的步骤,就可以
### 基本用法 ###
你可以不带任何选项地运行speedtest_cli.py然后你会在终端获得关于你带宽速度的报告这就是我蹩脚的意大利Adsl输出
你可以不带任何选项地运行speedtest_cli.py然后你会在终端获得关于你带宽速度的报告这就是我那糟糕的意大利Adsl输出
$ ./speedtest_cli.py
Retrieving speedtest.net configuration...
@ -81,7 +84,7 @@ getdeb仓库给我们提供了[安装包][3],按照下面的步骤,就可以
Testing upload speed...............................................
Upload: 0.34 Mbits/s
这就是简简单单的基本用法,这足以让你知道你因特网连接的好坏,但是有可能,你需要和朋友分享这条信息,为了到达此目的,只需要-share选项
这就是基本用法,这足以让你知道你因特网连接的好坏,但是可能你想要和朋友分享这条信息,那么,只需要-share选项就可以
./speedtest_cli.py --share
Retrieving speedtest.net configuration...
@ -119,7 +122,7 @@ getdeb仓库给我们提供了[安装包][3],按照下面的步骤,就可以
2918) ReteIVO by D.t.s. Srl (Arezzo, Italy) [129.79 km]
...
现在,我知道围绕在我周围的服务器的ID我可以使用-server选项选择一个特定的服务器所以为了选择位于FlorenceID 2710的服务器我使用下面的命令
既然我知道了围绕在我周围的服务器的ID我可以使用-server选项选择一个特定的服务器所以要想选择位于佛罗伦萨ID 2710的服务器我使用下面的命令
./speedtest_cli.py --server 2710
Retrieving speedtest.net configuration...
@ -135,18 +138,16 @@ getdeb仓库给我们提供了[安装包][3],按照下面的步骤,就可以
---
via: http://linuxaria.com/howto/linux-terminal-speedtest_cli-checks-you
r-real-bandwidth-speed
via: http://linuxaria.com/howto/linux-terminal-speedtest_cli-checks-your-real-bandwidth-speed
译者:[su-kaiyao](https://github.com/su-kaiyao)
校对:[校对者ID](https://github.com/校对者ID)
校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://linuxaria.com/article/tool-command-line-bandwidth-linux
[2]:http://linuxaria.com/howto/speedtest.net
[3]:http://www.getdeb.net/
[4]:http://archive.getdeb.net/install_deb/getdeb-repository_0.1-1~getde
b1_all.deb
[4]:http://archive.getdeb.net/install_deb/getdeb-repository_0.1-1~getdeb1_all.deb
[5]:http://www.asapy.com/

View File

@ -1,7 +1,6 @@
GIMP 2.8.12 Released — Heres How to Install it on Ubuntu
GIMP 2.8.12 发布了——来看如何在Ubuntu上安装它
GIMP 2.8.12 发布了来看看如何在Ubuntu上安装
================================================================================
**GIMP是深受欢迎的开源Photoshop替代软件它的[新版本][1]现在可以下载了。**
**GIMP是深受欢迎的开源Photoshop替代软件它的[新版本][1]现在可以下载了。**
![GIMP is a Free Photoshop Alternative](http://www.omgubuntu.co.uk/wp-content/uploads/2012/05/screen-shot-2012-05-03-at-10.38.40.jpg)
GIMP是一款免费的可替代Photoshop的软件
@ -10,18 +9,18 @@ GIMP是一款免费的可替代Photoshop的软件
然而,开发人员修复了一批新的漏洞,旨在提高整体的稳定性,安全性以及这款著名软件的风格。
- 插件的笔刷大小不再变
- .XCF 文件“更健康加载
- 小部件的方向现在匹配界面语言(例如 RTL
- script-fu-server 的安全性提高
- 插件的笔刷大小不再变形。
- .XCF 文件的加载更稳固。
- 小部件的方向现在匹配界面语言(例如 RTL
- script-fu-server 的安全性提高
文档,帮助以及翻译的更新也包括其中。想了解在版本 2.8.10 和 2.8.12 之间所有已定的文件或项目的更改日志,可以看[the GNOME Git notes][2]。
文档,帮助以及翻译的更新也包括其中。想了解在版本 2.8.10 和 2.8.12 之间所有修复完整更改日志,可以看[GNOME Git日志][2]。
### 在Ubuntu上安装最新的GIMP ###
最新发布的源代码可以从官方网站上或者从[官方种子][3]下载。
最新发布的源代码可以从官方网站上或者从[官方种子文件][3]下载。
在Ubuntu上在Ubuntu 12.04 和14.04 LTS 上你可以通过添加[以下第三方PPA][4]软件源来安装GIMP 2.8.12
在Ubuntu上在Ubuntu 12.04 和14.04 LTS 上你可以通过添加[以下第三方PPA][4]软件源来安装GIMP 2.8.12
sudo add-apt-repository ppa:otto-kesselgulasch/gimp
@ -35,7 +34,7 @@ via: http://www.omgubuntu.co.uk/2014/08/whats-new-in-gimp-2-8-12-plus-install-ub
作者:[Joey-Elijah Sneddon][a]
译者:[linuhap](https://github.com/linuhap)
校对:[校对者ID](https://github.com/校对者ID)
校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
@ -43,4 +42,4 @@ via: http://www.omgubuntu.co.uk/2014/08/whats-new-in-gimp-2-8-12-plus-install-ub
[1]:http://www.omgubuntu.co.uk/2012/05/gimp-2-8-released
[2]:https://git.gnome.org/browse/gimp/plain/NEWS?h=gimp-2-8
[3]:http://download.gimp.org/pub/gimp/v2.8/gimp-2.8.12.tar.bz2.torrent
[4]:https://launchpad.net/~otto-kesselgulasch/+archive/ubuntu/gimp
[4]:https://launchpad.net/~otto-kesselgulasch/+archive/ubuntu/gimp

View File

@ -0,0 +1,290 @@
真的超赞用systemd命令来管理linux系统
================================================================================
Systemd是一种新的linux系统服务管理器。
它替换了init系统能够管理系统的启动过程和一些系统服务一旦启动起来就将监管整个系统。在本文中我们用的是[安装有 systemd 216 版本的centos 7.0][1],其最新版本[可以从 freedesktop.org 下载得到][2]。
因为linux操作系统里出现的这一个新人PID 1被“systemd”占据了这能通过**pstree**命令看到。
[root@linoxide ~]# pstree
![](http://linoxide.com/wp-content/uploads/2014/08/01.systemd_pstree.png)
那么现在让我们来探索systemd擅长什么它又有多大的可能性成为sysVinit的新的替代品。
### 1. 更快启动 ###
sysvinit一次一个串行地启动进程。
而Systemd则并行地启动系统服务进程并且最初仅启动确实被依赖的那些服务极大地减少了系统引导的时间。
你可以用下面的命令看到系统引导用时:
[root@linoxide ~]# systemd-analyze
![](http://linoxide.com/wp-content/uploads/2014/08/02.systemd_analyze.png)
使用 **time** 参数也能够显示同样的内容。
[root@linoxide ~]# systemd-analyze time
![](http://linoxide.com/wp-content/uploads/2014/08/03.systemd_analyze2.png)
如果你想以进程初始化所占用时间排序打印出所有正在运行的单元列表,那么**systemd-analyze**命令可以帮助你完成这个任务。
[root@linoxide ~]# systemd-analyze blame
![](http://linoxide.com/wp-content/uploads/2014/08/04.systemd_blame.png)
上面的截屏只显示了小部分进程你可以就像less分页器那样用箭头滚动列表。
### 2. systemctl 命令 ###
systemctl命令是自systemd出现以来被广泛讨论的命令。你可以通过这个命令管理你的整个系统让我们通过探究这个命令来更进一步。
#### 2.1 列出单元 ####
**systemctl**命令可以带上list-units也可以什么选项都不带来列出所有正在运行的单元。
[root@linoxide ~]# systemctl
[root@linoxide ~]# systemctl list-units
![](http://linoxide.com/wp-content/uploads/2014/08/05.systemd_list_units.png)
#### 2.2 列出失败的单元 ####
运行失败的单元可以用带--failed选项的命令显示出来。
[root@linoxide ~]# systemctl --failed
![](http://linoxide.com/wp-content/uploads/2014/08/06.systemd_failed.png)
你可以在这篇文章很多地方看到systemctl的用法。
### 3. 管理服务 ###
让我们来看看systemd是怎么管理系统服务的。
#### 3.1 激活的服务 ####
所有被激活的服务可以同下面这条命令来查看。
[root@linoxide ~]# systemctl list-units -t service
![](http://linoxide.com/wp-content/uploads/2014/08/07.systemd_active_services.png)
#### 3.2 服务状态 ####
在sysvinit中我们可以用“**service**”命令来管理服务但在systemd中我们用systemctl这个命令。
我们可以用下面这个命令来查看服务是否在运行。
[root@linoxide ~]# systemctl status dnsmasq
![](http://linoxide.com/wp-content/uploads/2014/08/08.systemd_status.png)
#### 3.3 启动一个服务 ####
用下面这条命令来启动服务。
[root@linoxide ~]# systemctl start dnsmasq
对应于**service**命令这个命令不进行输出。但是毋庸置疑我们可以通过再次查看这个刚刚被启动的服务的status状态来确认他是否被成功地启动了。
![](http://linoxide.com/wp-content/uploads/2014/08/09.systemd_start.png)
#### 3.4 停止一个服务 ####
现在聪明的你一定知道怎么在systemd下用命令来关闭服务了吧。
[root@linoxide ~]# systemctl stop dnsmasq
![](http://linoxide.com/wp-content/uploads/2014/08/10.systemd_stop.png)
#### 3.5 重启一个服务 ####
类似的,重启系统服务是用‘**systemctl restart**’来管理的。
[root@linoxide ~]# systemctl restart dnsmasq
![](http://linoxide.com/wp-content/uploads/2014/08/11.systemd_restart.png)
#### 3.6 重新加载一个服务 ####
在我们需要重新加载服务的配置文件又不想重启这个服务例如ssh我们可以用这个命令。
[root@linoxide ~]# systemctl reload sshd
![](http://linoxide.com/wp-content/uploads/2014/08/12.systemd_reload.png)
虽然上述几个命令的语法是可以工作的但是官方文档建议我们用下面这种语法形式来运行命令LCTT 译注,即使用在服务名后面跟上“.service”的完整名称
[root@linoxide ~]# systemctl status dnsmasq.service
![](http://linoxide.com/wp-content/uploads/2014/08/13.systemd_alternate_syntax.png)
### 4. 管理引导时的服务 ###
**chkconfig**命令被用来管理系统引导时的服务。同样用systemd也可以管理引导时的系统服务。
#### 4.1 检查服务引导时是否运行 ####
这条命令用来确定服务是否是引导时启动的。
[root@linoxide ~]# systemctl is-enabled dnsmasq.service
![](http://linoxide.com/wp-content/uploads/2014/08/14.systemd_is_enabled.png)
#### 4.2 让服务在引导时运行 ####
**systemctl**命令是这样来enable使之在引导时启动一个服务的。这相当于sysvinit中的**chkconfig on**
[root@linoxide ~]# systemctl enable dnsmasq.service
![](http://linoxide.com/wp-content/uploads/2014/08/15.systemd_enable.png)
#### 4.3 取消服务在引导时运行 ####
类似的,使服务不在引导时启动用这个命令。
[root@linoxide ~]# systemctl disable dnsmasq.service
![](http://linoxide.com/wp-content/uploads/2014/08/16.systemd_disable.png)
### 5. 管理远程系统 ###
所有刚才提到的systemctl命令通常都能被用来管理远程主机完成这个任务将用到**ssh**来进行通讯。你只需要像这样将远程主机和用户名添加到systemctl命令后。
[root@linoxide ~]# systemctl status sshd -H root@1.2.3.4
![](http://linoxide.com/wp-content/uploads/2014/08/17.systemd_remote.png)
### 6. 管理目标 ###
Systemd有一个完成与sysVinit的runlevels相似任务的构想。
sysVinit的runlevels大多是以数字分级的。这里是runlevers在systemd中的对应元素。
> 0 runlevel0.target, poweroff.target
>
> 1, s, single runlevel1.target, rescue.target
>
> 2, 4 runlevel2.target, runlevel4.target, multi-user.target
>
> 3 runlevel3.target, multi-user.target
>
> 5 runlevel5.target, graphical.target
>
> 6 runlevel6.target, reboot.target
>
> emergency emergency.target
#### 6.1 改变当前目标 ####
当前target可以用这个命令切换。
[root@linoxide ~]# systemctl isolate graphical.target
![](http://linoxide.com/wp-content/uploads/2014/08/18.systemd_isolate.png)
#### 6.2 列出当前目标 ####
如果你想查看你正处于哪个target中你需要列出相应的单元。虽然这样操作可能让你不太爽但是这就是systemd工作的方式。
[root@linoxide ~]# systemctl list-units --type=target
![](http://linoxide.com/wp-content/uploads/2014/08/19.systemd_targets.png)
你可以看到“graphical.target”列在此处这就是我们刚才切换到的目标。现在让我们切换runlevel到multi-user.target然后分析下列命令的输出。
[root@linoxide ~]# systemctl isolate multi-user.target
[root@linoxide ~]# systemctl list-units --type=target
![](http://linoxide.com/wp-content/uploads/2014/08/20.systemd_multi-user.png)
#### 6.3 列出默认目标 ####
用这个systemctl命令来查看默认目标。
[root@linoxide ~]# systemctl get-default
![](http://linoxide.com/wp-content/uploads/2014/08/21.systemd_get_default.png)
#### 6.4 改变默认目标 ####
通过systemctl的set-default命令可以将某个目标设置成默认目标。
[root@linoxide ~]# systemctl set-default graphical.target
![](http://linoxide.com/wp-content/uploads/2014/08/22.systemd_set_default.png)
### 7. 记录 systemd 的日志 ###
journald是systemd独有的日志系统替换了sysVinit中的syslog守护进程。命令**journalctl**用来读取日志。
[root@linoxide ~]# journalctl
![](http://linoxide.com/wp-content/uploads/2014/08/23.systemd_logs.png)
#### 7.1 查看引导信息 ####
运行**journalctl -b**命令来查看所有引导日志。
[root@linoxide ~]# journalctl -b
![](http://linoxide.com/wp-content/uploads/2014/08/24.systemd_boot.png)
#### 7.2 即时显示引导日志 ####
下面这个命令可以实时显示系统日志(类似**tail -f**)。
[root@linoxide ~]# journalctl -f
![](http://linoxide.com/wp-content/uploads/2014/08/25.systemd_follow_logs.png)
#### 7.3 查看特定服务的日志 ####
你可以像这样运用**journalctl**来查看你只想看到的服务或可执行程序的日志。
[root@linoxide ~]# journalctl /usr/sbin/dnsmasq
![](http://linoxide.com/wp-content/uploads/2014/08/26.systemd_specific.png)
### 8. 电源管理 ###
systemctl命令也可以用来关机重启或者休眠。
要关机、重启、挂起和休眠,分别使用如下命令:
[root@linoxide ~]# systemctl poweroff
[root@linoxide ~]# systemctl reboot
[root@linoxide ~]# systemctl suspend
[root@linoxide ~]# systemctl hibernate
### 9. 又及 ###
**systemd**带来了一整套与操作系统交互的新途径并且极具特色。举个栗子你可以用hostnamectl命令来获得你的linux机器的hostname和其它有用的独特信息。
[root@linoxide ~]# hostnamectl
![](http://linoxide.com/wp-content/uploads/2014/08/27.systemd_hostnamectl.png)
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/linux-systemd-commands/
作者:[Raghu][a]
译者:[szrlee](https://github.com/szrlee)
校对:[ wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/raghu/
[1]:http://linoxide.com/linux-how-to/install-systemd-centos-redhat/
[2]:http://www.freedesktop.org/software/systemd/

View File

@ -1,14 +1,14 @@
Ubuntu文本检索神器——SearchMonkey
================================================================================
有时候,我们需要搜索包含有某些特定文本或单词的文件。如果你是个开发者或者程序员,经常会碰到这问题。现在,我们总是能够使用[Linux命令来查找包含有指定文本的所有文件][1],但不是每个人都热衷于命令行。我见过那些优秀的程序员,他们更多的是依赖于图形化工具,而不是命令行。
有时候,我们需要搜索包含有某些特定文本或单词的文件。如果你是个开发者或者程序员,经常会碰到这样的问题。现在,我们总是能够使用[Linux命令来查找包含有指定文本的所有文件][1],但不是每个人都热衷于命令行。我见过那些优秀的程序员,他们更多的是依赖于图形化工具,而不是命令行。
如果你也更喜欢图形化工具,那么[SearchMonkey][2]对于你而言是个十分完美的应用。
### SearchMonkey是你的桌面搜索引擎 ###
SearchMonkey递归搜索目录因此你可以在它干这活的时候坐下放松一下。用户可以使用强大的正则表达式来搜索文件名和内容这使得SearchMonky返回结果时更为精确。
SearchMonkey递归搜索目录因此你可以在它工作的时候坐下放松一下。用户可以使用强大的正则表达式来搜索文件名和内容这使得SearchMonky返回结果时更为精确。
此外SearchMonkey不仅仅给你列出一堆包含有你正在查找的内容的文件,它也高亮显示匹配的内容。
此外SearchMonkey不仅仅给你列出可能包含有你正在查找的内容的文件,它也高亮显示匹配的内容。
### 在Ubuntu 14.04中安装SearchMonkey ###
@ -20,7 +20,7 @@ SearchMonkey可以在Ubuntu 14.04的软件仓库中找到你只需要通过Ub
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/08/SearchMonkey_Ubuntu.jpeg)
SearchMonkey帮助你快速查找到你所需要的文件不需要先构建一个驱动映射。每次搜索都是实时的结果也会在找到后立即在上下文中显示其是,它是一个免费而开源的软件。
SearchMonkey帮助你快速查找到你所需要的文件不需要先构建一个驱动映射。每次搜索都是实时的结果也会在找到后立即在上下文中显示,其,它还是一个免费又开源的软件。
--------------------------------------------------------------------------------
@ -28,7 +28,7 @@ via: http://itsfoss.com/searchmonkey-search-text-files-linux/
作者:[Amit Asthana][a]
译者:[GOLinux](https://github.com/GOLinux )
校对:[校对者ID](https://github.com/校对者ID)
校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,38 @@
systemd 与 sysVinit 彩版对照表
================================================================================
**systemd** 是一种新型init系统「译者注每个操作系统都有一个启动程序而Linux init是Linux系统操作中不可缺少的程序之一。所谓的init进程它是一个由内核启动的用户级进程。内核自行启动已经被载入内存开始运行并已初始化所有的设备驱动程序和数据结构等之后就通过启动一个用户级程序init的方式完成引导进程。所以init始终是第一个进程其进程编号始终为1最早在Fedora中使用「译者注真的吗不是Arch经过调整适应了其它许多发行版例如RedHat、Suse和CentOS。
历史上我们大部分人用过传统的SysV init 初始化脚本,它通常情况下在/etc/rc.d/init.d/文件夹下。这些脚本调用守护进程二进制代码在后台fork一个进程。
尽管shell脚本非常的灵活但是很难实现像superviseing监管进程和并行执行命令这样的任务。
通过对systemd的新式守护进程的介绍我们发现systemd可以在runtime运行时更加简单的监管和控制守护进程并且简化了监控的实现方式implementation
**systemctl**命令是systemd团队一个非常好的首创。
这个命令能够显示更多的详细错误信息和包括启动错误在内的服务运行时错误。systemd引入了一个新术语**cgroups**控制组它基本上是可被分层次安排的进程任务组。「译者注这里简单介绍一下cgroupcontrol group称为ContainersContainers着眼于资源的分配利用configfs作配置。它有两个重要概念第一是subsystem内核可以给进程提供的服务/资源第二是container一个进程组成员共享同样的一个或多个子系统分配限制。Containers是分层次的一个container可以hold多个container。它的可取之处是创建了一个资源分配的框架其它开发者可以利用这个框架去开发自己的资源分配patch比如磁盘设备。」
如果仅仅通过原来的初始化系统,决定哪个进程是做什么的、属于哪个用户的变得越来越困难。
但是通过systemd当一个进程派生其它进程时这些子进程会被自动变成父进程控制组的成员这样一来就可以避免继承的混乱。
![](http://images.linoxide.com/systemd-vs-sysVinit-cheatsheet.jpg)
有许多新的运行[在 rhel / centos 7.0 上的 systemd 命令][1]可以替代 sysvinit 的对应命令。你也可以下载 [本文的 PDF 版本][2]。
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/systemd-vs-sysvinit-cheatsheet/
作者:[Bobbin Zachariah][a]
译者:[szrlee](https://github.com/szrlee)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/bobbin/
[1]:http://linoxide.com/linux-command/linux-systemd-commands/
[2]:http://images.linoxide.com/systemd-vs-sysVinit-cheatsheet.pdf

View File

@ -0,0 +1,79 @@
12张Ubuntu 14.10壁纸竞赛(目前为止的)获奖壁纸
================================================================================
让我们欣赏一组你在未来几个月会看到一大堆的图片吧。是的,在[Ubuntu 14.10壁纸竞赛获奖者壁纸][1]已经公布了。
可以说是宣布吧。到目前为止12张背景图片已经正式被应用在Ubuntu 14.10版本中了。
由四月份的获奖作者组成的评审团筛选了几乎400张图片最终选择了出了视觉上丰富又多彩的一组。我知道我每6个月就要说一次这个但是这一次的作品看起来还是那么的棒不仅仅是因为当中一两张是[我们的最爱][2]!)。
### 让我们瞧瞧这几张获奖图片 ###
你能在下面看到目前选出的作品。需要强调的是,这是到目前为止的,如比赛的组织者[**Iain Farrell所说的**][3] :“我还在等一些回复,不过如果他们不给我回复就只能不包括他们的了!”
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/utopic.jpg)
不可缺少的经典吉祥物壁纸
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/Empty-Space-by-Glenn-Rayat.jpg)
&#8216;&#8217; —— Glenn Rayat
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/Horses-on-sand-dunes-by-Matthias-Siewert.jpg)
沙漠与马 —— M. Siewert
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/Golden-leaves-by-Mauro-Campanelli.jpg)
金色的叶
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/salcantayperu-by-Life-Nomadic.jpg)
游牧生活 —— Sal&#8217;
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/xgu.jpeg)
&#8216;xgu472hf2&#8242; —— Lariliikala
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/Redes-de-hilo-by-Juan-Pablo-Lauriente.jpg)
多石海岸 —— Juan PL.
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/warm-grass.jpeg)
&#8216;暖草&#8217; —— dcsearle.t21
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/Kronach-leuchtet-2014-by-Brian-Fox.jpg)
克罗纳赫灯具 —— Brian Fox
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/Night-Seascape-by-Davor-Dopar.jpg)
达沃多帕的海景
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/Music-tomasino.cz_.jpg)
托马西诺音乐
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/Sunny-Autumn-by-Joel-Heaps.jpg)
阳光之秋
如果有任何变化我们将会更新这篇文章,你可以[点击这里][4]获取这些参赛作品的压缩包。完整的乌托邦壁纸包可能会包含进新的默认壁纸这些都会在未来2天内发生。
通过下方的评论来让我们知道哪张图你的最爱吧!不要吝啬赞美之词!
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/09/ubuntu-14-10-wallpaper-contest-winners
作者:[Joey-Elijah Sneddon][a]
译者:[ZTinoZ](https://github.com/ZTinoZ)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:http://www.omgubuntu.co.uk/2014/08/ubuntu-14-10-wallpaper-contest
[2]:http://linux.cn/article-3745-1.html
[3]:https://bugs.launchpad.net/ubuntu/+source/ubuntu-wallpapers/+bug/1354341/comments/2
[4]:https://bugs.launchpad.net/ubuntu/+source/ubuntu-wallpapers/+bug/1354341/+attachment/4199899/+files/14.10%20images.zip

View File

@ -1,3 +1,4 @@
disylee占个坑来翻译了
Ubuntu Touch Now Has a Torrent Client in the Ubuntu Store
================================================================================
![DowNow](http://i1-news.softpedia-static.com/images/news2/Ubuntu-Touch-Now-Has-a-Torrent-Clinent-in-the-Ubuntu-Store-457538-2.jpg)
@ -23,4 +24,4 @@ via: http://news.softpedia.com/news/Ubuntu-Touch-Now-Has-a-Torrent-Clinent-in-th
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://news.softpedia.com/editors/browse/silviu-stahie
[1]:https://plus.google.com/u/0/+AlanPope/posts/Ej3vKVxBum8
[1]:https://plus.google.com/u/0/+AlanPope/posts/Ej3vKVxBum8

View File

@ -0,0 +1,37 @@
Jelly Conky Adds Simple, Stylish Stats To Your Linux Desktop
================================================================================
**I treat Conky setups a bit like wallpapers: Ill find one I love, only to change it the next week because Im bored of it and want a change.**
Part of the impatience is fuelled by the ever-growing catalog of designs available. One of my most recent favourites is Jelly Conky.
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/jelly-conky.png)
Jelly Conky sports the minimal design many of the Conkys weve highlighted recently have followed. Its not trying to be a kitchen sink. It wont win favour with those who need constant at-a-glance data on their HDD temperatures and IP addresses.
It comes with three distinct modes that can all add personality to an otherwise static background image:
- Clock
- Clock plus date
- Clock plus date and weather
Some people dont understand the point of having a duplicate clock on show on the desktop. Thats understandable. For me, its more about form than function (though, personally, I find Conky clocks easier to see than the minuscule digits nestled in my upper panel).
Chances are if you have a home screen widget on Android with the time, you wont mind having one on your desktop, either!
You can download Jelly Conky from the link below. The .zip archive contains a readme with instructions on how to install. For a guided walkthrough, [revisit one of our previous articles][1].
- [Download Jelly Conky on Deviant Art][2]
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/09/jelly-conky-for-linux-desktop
作者:[Joey-Elijah Sneddon][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:http://www.omgubuntu.co.uk/2014/07/conky-circle-theme-nod-lg-quick-cover
[2]:http://zagortenay333.deviantart.com/art/Jelly-Conky-442559003

View File

@ -0,0 +1,38 @@
How to Go Hands On With the Utopic Unicorn Literally!
================================================================================
**Looking to go hands-on with the Utopic Unicorn ahead of its release? Now you can — [literally][1]!**
A step-by-step guide to making your own paper Unicorn (to celebrate the upcoming release of the same name, obviously) has been posted online by Canonical. The instructions were offered as part of the companys presence at the 2014 [deconstruct][2] event held in Brighton, UK in early September.
![Image: Alejandra Obregon](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/ubuntu-unicorns-750x745.jpg)
Image: Alejandra Obregon
The one-day conference for creative professionals and digital culture enthusiasts served as an ideal place for Canonical to showcase an in-progress version of the upcoming Ubuntu Phone, its design and the user interaction benefits they believe it offers.
Reaction was positive, they say. That will have made the prize of a brand new Ubuntu phone to the maker of the best origami unicorn all the more tempting!
### Download Origami Unicorn ###
No prizes are on offer to the rest of us attempting to fold our way to frustration, but a download of the how-to is.
If you have a spare five hours minutes, why not make one for fun? If you make particularly epic success/fail of it be sure to send us a pic on [Twitter][3] or [Google+][4].
- [Download Make a Unicorn Instructions][5]
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/09/unicorn-origami-download-pdf-ubuntu-utopic
作者:[Joey-Elijah Sneddon][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:http://design.canonical.com/2014/09/canonical-and-ubuntu-at-dconstruct/
[2]:http://2014.dconstruct.org/
[3]:http://twitter.com/omgubuntu
[4]:http://plus.google.com/+omgubuntu
[5]:http://design.canonical.com/wp-content/uploads/042_CAN_dConstruct_instructions.pdf

View File

@ -1,41 +0,0 @@
慕尼黑市议会称: LiMux 项目的死讯被过分夸大了
================================================================================
![LiMux 慕尼黑市议会的官方操作系统](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/limux-4-kde-desktop.jpg)
LiMux - 慕尼黑市议会的官方操作系统
慕尼黑市议会的新闻发言人试图澄清其[计划重新审视当地政府 IT 系统使用的所有开源软件][1]的背后原因。
大量德国媒体披露,“慕尼黑市新任市长要求提交一份关于 LiMux 使用率的报告”LiMux是一个在该市超过 80% 的市政府部门中使用的开源 Linux 发行版 ,慕尼黑市议会新闻发言人正是针对这条新闻所做的反应。
该报告引用了一位不愿透露姓名的市政府官员的话,他声称政府雇员在使用开源软件时“非常痛苦”,还有人人称其为“昂贵的失败”。副市长 Josef Schmid 说,(更换到开源系统)这件事是“意识形态驱使的”,并非理性的财务行为。
过去被看成是大规模迁移 Linux 的典范的慕尼黑市,如今这个背道而驰的新闻迅速像病毒一样扩散开来。现在市议会的新闻发言人 Stefan Hauf 正试着澄清这件事。
### “未来计划” ###
Hauf 确认了新任市长要求重新审查城市 IT 系统以及操作系统选择的事,但这份报告的目的并不像之前报道中暗示的那样仅仅是为了决定什么时候退回到 Microsoft Windows。
**“这是有关机构、经费、性能和可用性以及用户满意度的事,”** [Techrepublic][2] 引用了他的言辞。
**“(这仅仅是在收集)现实情况,为我们决定市议会今后该如何处理提供依据。”**
Hauf 同时也确认了市议会员工的确抱怨过 LiMux但是主要集中在 OpenOffice 的兼容性问题上,有些问题只要换到 LibreOffice 就能解决。
那么,慕尼黑市会用回 Windows 吗?正如我们在之前的报道中所说:不能排除这种可能,但是现在下结论还太早。
目前该报告所建议的截止日期还没定,任何和慕尼黑 IT 基础设施相关的决定都需要由他们自己投票决定,主流选民目前抱有“支持” LiMux 的态度。
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/08/munich-council-say-talk-limux-demise-greatly-exaggerated
作者:[Joey-Elijah Sneddon][a]
译者:[sailing](https://github.com/sailing)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:http://www.omgubuntu.co.uk/2014/08/munich-city-linux-switching-back-windows
[2]:http://www.techrepublic.com/article/no-munich-isnt-about-to-ditch-free-software-and-move-back-to-windows/

View File

@ -1,3 +1,5 @@
CNprober translating..
Staying free should GCC allow non-free plug ins?
================================================================================
> Arguments in favour of the use of non-free plug-ins in GCC have again been raised on GCC mailing-lists, but are trumped by the arguments for GCC as a vehicle for free software development

View File

@ -1,3 +1,5 @@
CNprober translating...
Linux Administration: A Smart Career Choice
================================================================================
![](http://www.opensourceforu.com/wp-content/uploads/2014/04/linux.jpeg)

View File

@ -1,3 +1,4 @@
zpl1025
Where And How To Code: Choosing The Best Free Code Editor
================================================================================
A close look at Cloud9, Koding and Nitrous.IO.
@ -101,4 +102,4 @@ via: http://readwrite.com/2014/08/14/cloud9-koding-nitrousio-integrated-developm
[8]:https://www.nitrous.io/desktop
[9]:https://www.nitrous.io/desktop
[10]:https://koding.com/Activity/steps-clone-projects-github-koding-1-create-account-github-2-open-your-terminal-3
[11]:http://www.shutterstock.com/
[11]:http://www.shutterstock.com/

View File

@ -0,0 +1,89 @@
Drab Desktop? Try These 4 Beautiful Linux Icon Themes
================================================================================
**Ubuntus default icon theme [hasnt changed much][1] in almost 5 years, save for the [odd new icon here and there][2]. If youre tired of how it looks were going to show you a handful of gorgeous alternatives that will easily freshen things up.**
Do feel free to share links to your own favourite choices in the comments below.
### Captiva ###
![Captiva icons, elementary folders and Moka GTK](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/moka-and-captiva.jpg)
Captiva icons, elementary folders and Moka GTK
Captiva is a relatively new icon theme that even the least bling-prone user can appreicate.
Made by DeviantArt user ~[bokehlicia][3], Captiva shuns the 2D flat look of many current icon themes for a softer, rounded look. The icons themselves have an almost material or textured look, with subtle drop shadows and a rich colour palette adding to the charm.
It doesnt yet include a set of its own folder icons, and will fallback to using elementary (if available) or stock Ubuntu icons.
To install Captiva icons in Ubuntu 14.04 you can add the official PPA by opening a new Terminal window and enter the following commands:
sudo add-apt-repository ppa:captiva/ppa
sudo apt-get update && sudo apt-get install captiva-icon-theme
Or, if youre not into software source cruft, by downloading the icon pack direct from the DeviantArt page. To install, extract the archive and move the resulting folder to the .icons directory in Home.
However you choose to install it, youll need to apply this (and every other theme on this list) using a utility like [Unity Tweak Tool][4].
- [Captiva Icon Theme on DeviantArt][5]
### Square Beam ###
![Square Beam icon set with Orchis GTK](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/squarebeam.jpg)
Square Beam icon set with Orchis GTK
After something a bit angular? Check out Square Beam. It offers a more imposing visual statement than other sets on this list, with electric colours, harsh gradients and stark iconography. It claims to have more than 30,000 different icons (!) included (youll forgive me for not counting) so you should find very few gaps in its coverage.
- [Square Beam Icon Theme on GNOME-Look.org][6]
### Moka & Faba ###
![Moka/Faba Mono Icons with Orchis GTK](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/moka-faba.jpg)
Moka/Faba Mono Icons with Orchis GTK
The Moka icon suite needs little introduction. In fact, Id wager a good number of you are already using it
With pastel colours, soft edges and simple icon artwork, Moka is a truly standout and comprehensive set of application icons. Its best used with its sibling, Faba, which Moka will inherit so as to fill in all the system icons, folders, panel icons, etc. The combined result is…well, youve got eyes!
For full details on how to install on Ubuntu head over to the official project website, link below.
- [Download Moka and Faba Icon Themes][7]
### Compass ###
![Compass Icon Theme with Numix Blue GTK](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/compass1.jpg)
Compass Icon Theme with Numix Blue GTK
Last on our list, but by no means least, is Compass. This is a true adherent to the 2D, two-tone UI design right now. It may not be as visually diverse as others on this list, but thats the point. Its consistent and uniform and all the better for it — just check out those folder icons!
Its available to download and install manually through GNOME-Look (link below) or through the Nitrux Artwork PPA:
sudo add-apt-repository ppa:nitrux/nitrux-artwork
sudo apt-get update && sudo apt-get install compass-icon-theme
- [Compass Icon Theme on GNOME-Look.org][8]
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/09/4-gorgeous-linux-icon-themes-download
作者:[Joey-Elijah Sneddon][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:http://www.omgubuntu.co.uk/2010/02/lucid-gets-new-icons-for-rhythmbox-ubuntuone-memenu-more
[2]:http://www.omgubuntu.co.uk/2012/08/new-icon-theme-lands-in-lubuntu-12-10
[3]:http://bokehlicia.deviantart.com/
[4]:http://www.omgubuntu.co.uk/2014/06/unity-tweak-tool-0-7-development-download
[5]:http://bokehlicia.deviantart.com/art/Captiva-Icon-Theme-479302805
[6]:http://gnome-look.org/content/show.php/Square-Beam?content=165094
[7]:http://mokaproject.com/moka-icon-theme/download/ubuntu/
[8]:http://gnome-look.org/content/show.php/Compass?content=160629

View File

@ -0,0 +1,86 @@
(translating by runningwater)
Why Do Some Old Programming Languages Never Die?
================================================================================
> We like what we already know.
![](http://a4.files.readwrite.com/image/upload/c_fill,h_900,q_70,w_1600/MTIzMDQ5NjY0MTUxMjU4NjM2.jpg)
Many of todays most well-known programming languages are old enough to vote. PHP is 20. Python is 23. HTML is 21. Ruby and JavaScript are 19. C is a whopping 42 years old.
Nobody could have predicted this. Not even computer scientist [Brian Kernighan][1], co-author of the very first book on C, which is still being printed today. (The language itself was the work of Kernighan's [co-author Dennis Ritchie][2], who passed away in 2011.)
“I dimly recall a conversation early on with the editors, telling them that wed sell something like 5,000 copies of the book,” Kernighan told me in a recent interview. “We managed to do better than that. I didnt think students would still be using a version of it as a textbook in 2014.”
Whats especially remarkable about C's persistence is that Google developed a new language, Go, specifically to more efficiently solve the problems C solves now. Still, its hard for Kernighan to imagine something like Go outright killing C no matter how good it is.
“Most languages dont die—or at least once they get to a certain level of acceptance they dont die," he said. "C still solves certain problems better than anything else, so it sticks around.”
### Write What You Know ###
Why do some computer languages become more successful than others? Because developers choose to use them. Thats logical enough, but it gets tricky when you want to figure out why developers choose to use the languages they do.
Ari Rabkin and Leo Meyerovich are researchers from, respectively, Princeton and the University of California at Berkeley who devoted two years to answering just that question. Their resulting paper, [Empirical Analysis of Programming Language Adoption][3], describes their analysis of more than 200,000 Sourceforge projects and polling of more than 13,000 programmers.
Their main finding? Most of the time programmers choose programming languages they know.
“There are languages we use because weve always used them,” Rabkin told me. “For example, astronomers historically use IDL [Interactive Data Language] for their computer programs, not because it has special features for stars or anything, but because it has tremendous inertia. They have good programs theyve built with it that they want to keep.”
In other words, its partly thanks to name recognition that established languages retain monumental staying power. Of course, that doesnt mean popular languages dont change. Rabkin noted that the C we use today is nothing like the language Kernighan first wrote about, which probably wouldnt be fully compatible with a modern C compiler.
“Theres an old, relevant joke in which an engineer is asked which language he thinks people will be using in 30 years and he says, I dont know, but itll be called Fortran,” Rabkin said. “Long-lived languages are not the same as how they were when they were designed in the '70s and '80s. People have mostly added things instead of removed because that doesnt break backwards compatibility, but many features have been fixed.”
This backwards compatibility means that not only can programmers continue to use languages as they update programs, they also dont need to go back and rewrite the oldest sections. That older legacy code keeps languages around forever, but at a cost. As long as its there, peoples beliefs about a language will stick around, too.
### PHP: A Case Study Of A Long-Lived Language ###
Legacy code refers to programs—or portions of programs—written in outdated source code. Think, for instance, of key programming functions for a business or engineering project that are written in a language that no one supports. They still carry out their original purpose and are too difficult or expensive to rewrite in modern code, so they stick around, forcing programmers to turn handsprings to ensure they keep working even as other code changes around them.
Any language that's been around more than a few years has a legacy-code problem of some sort, and PHP is no exception. PHP is an interesting example because its legacy code is distinctly different from its modern code, in what proponents say—and critics admit—is a huge improvement.
Andi Gutmans is a co-inventor of the Zend Engine, the compiler that became standard by the time PHP4 came around. Gutmans said he and his partner originally wanted to improve PHP3, and were so successful that the original PHP inventor, Rasmus Lerdorf, joined their project. The result was a compiler for PHP4 and its successor, PHP5.
As a consequence, the PHP of today is quite different from its progenitor, the original PHP. Yet in Gutmans' view, the base of legacy code written in older PHP versions keeps alive old prejudices against the language—such as the notion that PHP is riddled with security holes, or that it can't "scale" to handle large computing tasks.
"People who criticize PHP are usually criticizing where it was in 1998,” he says. “These people are not up-to-date with where it is today. PHP today is a very mature ecosystem.”
Today, Gutmans says, the most important thing for him as a steward is to encouraging people to keep updating to the latest versions. “PHP is a big enough community now that you have big legacy code bases," he says. "But generally speaking, most of our communities are on PHP5.3 at minimum.”
The issue is that users never fully upgrade to the latest version of any language. Its why many Python users are still using Python 2, released in 2000, instead of Python 3, released in 2008. Even after six years major users like Google still arent upgrading. There are a variety of reasons for this, but it made many developers wary about taking the plunge.
“Nothing ever dies," Rabkin says. "Any language with legacy code will last forever. Rewrites are expensive and if its not broke dont fix it.”
### Developer Brains As Scarce Resources ###
Of course, developers arent choosing these languages merely to maintain pesky legacy code. Rabkin and Meyerovich found that when it comes to language preference, age is just a number. As Rabkin told me:
> A thing that really shocked us and that I think is important is that we grouped people by age and asked them how many languages they know. Our intuition was that it would gradually rise over time; it doesnt. Twenty-five-year-olds and 45-year-olds all know about the same number of languages. This was constant through several rewordings of the question. Your chance of knowing a given language does not vary with your age.
In other words, its not just old developers who cling to the classics; young programmers are also discovering and adopting old languages for the first time. That could be because the languages have interesting libraries and features, or because the communities these developers are a part of have adopted the language as a group.
“Theres a fixed amount of programmer attention in the world,” said Rabkin. “If a language delivers enough distinctive value, people will learn it and use it. If the people you exchange code and knowledge with you share a language, youll want to learn it. So for example, as long as those libraries are Python libraries and community expertise is Python experience, Python will do well.”
Communities are a huge factor in how languages do, the researchers discovered. While there's not much difference between high level languages like Python and Ruby, for example, programmers are prone to develop strong feelings about the superiority of one over the other.
“Rails didnt have to be written in Ruby, but since it was, it proves there were social factors at work,” Rabkin says. “For example, the thing that resurrected Objective-C is that the Apple engineering team said, Lets use this. They didnt have to pick it.”
Through social influence and legacy code, our oldest and most popular computer languages have powerful inertia. How could Go surpass C? If the right people and companies say it ought to.
“It comes down to who is better at evangelizing a language,” says Rabkin.
Lead image by [Blake Patterson][4]
--------------------------------------------------------------------------------
via: http://readwrite.com/2014/09/02/programming-language-coding-lifetime
作者:[Lauren Orsini][a]
译者:[runningwater](https://github.com/runningwater)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://readwrite.com/author/lauren-orsini
[1]:http://en.wikipedia.org/wiki/Brian_Kernighan
[2]:http://en.wikipedia.org/wiki/Dennis_Ritchie
[3]:http://asrabkin.bitbucket.org/papers/oopsla13.pdf
[4]:https://www.flickr.com/photos/blakespot/2444037775/

View File

@ -0,0 +1,100 @@
5 Reasons Why I Hate GNU/Linux Do You Hate (Love) Linux?
================================================================================
This part of Linux, I dont like to talk very often but sometimes I do really feel some of the aspects related to Linux is real pain. Here are the five points which I come across on a daily basis, almost.
![5 Reasons Why I Hate Linux](http://www.tecmint.com/wp-content/uploads/2014/09/I-Hate-Linux.jpg)
5 Reasons Why I Hate Linux
### 1. Choose from Too Many Good Distros ###
While reading several on-line forum (a part of my hobby), I very often come across a question like Hi, I am new to Linux, just [switched over from Windows to Linux][1]. Which Linux Distribution, I should get my hands dirty with? Oh! forgot to mention, I am an Engineering Student.
As soon as someone posted such question, there is a flood of comments. each distributions fan boy tries to make sense that the distro he is using leads all the rest, a few comments may look like:
1. Get your hands upon Linux Mint or Ubuntu, they are easy to use specially for newbies like you.
1. Ubuntu is Sh** better go with Mint.
1. If you want something like windows, better stay there.
1. Nothing is better than Debian. It is easy to use and contains all the packages you may need.
1. Slackware, for the point, if you learn slack you learn Linux.
At this point, the student who asked question really gets confused and annoyed.
1. CentOS Nothing like this, when comes to stability.
1. I will recommend Fedora, Bleeding edge technology implementation, you will get a lot to learn.
1. Puppy Linux, SUSE, BSD, Manjaro, Megia, Kali, RedHat Beta, etc,……
At the end of discussion, the discussion forum may be used as a paper for research based upon the facts and figure provided in the comments.
Now think the same in Windows or Mac One may say are you Insane? Still using Windows XP or Vista but no one will try to prove that windows 8 is better than XP and XP is more on a User Friendly side. You wont get a fan boy in Mac as well, who is trying to jump into the discussion just to make his point sounds louder.
You may frequently come across points like Distros are like religion. These things makes the newbie puzzled. Anyone who have used Linux for a considerable time would be knowing that all the distros are same at the base. It is only the working interface and the way to perform task differs and that too rarely. You are using apt, yum, portage, emerge, spike or ABS who cares as far as the things are done and user is comfortable with it.
Well the above scenario is not only true in forums and groups on-line, it is sometimes taken to the corporate world.
I was recently being Interviewed by a company based in Mumbai (India). The person interviewing, asked me several questions and technologies, I have worked with. As per their requirements, I have worked with nearly half of the technologies they were looking for. A few of last conversation as mentioned below.
**Interviewer**: Do you know kernel editing? (Then he talked to himself for a couple of seconds no, no not kernel editing, it is a very different thing.) Do you know how to compile a kernel on a monolithic side?
**Me**: Yes, we just need to make sure what we need to run in future. We need to select those options only that supports our need before compiling the kernel.
**Interviewer**: How do you compile a kernel?
**Me**: make menuconfig, fire it as………..(interrupted)
**Interviewer**: When have you compiled the kernel lastly without any help?
**Me**: Very recently on my Debian…..(Interrupted)
**Interviewer**: Debian? Do you know what we does? Debian-Febian is not of our use. We use CentOS. Ok, I will tell the management the result. They will call you.
**Not to Mention**: I didnt get the call or job, but certainly the phrase **Debian-febian** forces me to think over and over again. He could have said we dont use Debian, we use CentOS. The tone of him, was a bit racist, it is spread-ed all over.
### 2. Some of the very important software has no support in Linux ###
No! I am not talking about Photoshop. I understand Linux is not build to perform such task. But some backbone softwares required to connect your Android phone to PC for Updation PC Suite certainly means a lot. I have been looking for a windows PC.
I know Linux is more like a server side OS. Really? Is not it trying to make a point that, it has been used as a Desktop as well? If Yes! It should have other developed desktop features. For a desktop user security, stability, RAID, Kernel does not mean much. They should get their work done with little or no effort.
Moreover the companies like Samsung, Sony, Micromax, etc are dealing with Android (Linux) Phones and they have no support to get their phone connected over a Linux PC.
Dont drag me in PC suite discussion. For Linux to be a Desktop OS, it still lacks several things, Little or no gaming support I mean high end gaming. No professional Video and Photo Editing Tools, I Said Professional. And yeah I remember Titanic and Avatar Movies were maid using some kind of FOSS video editor, I am coming to that point.
Agree or not, Linux still has to go a long way to be a distro for everyone.
### 3. Linuxer have a habit of living in virtual world ###
I am a Linux user, and I am superior than you. I can handle terminal much better than you. You know Linux is Everywhere in your wrist watch, mobile phones, remote control. You know what, Hackers use Linux. Are you aware as soon as you boot Linux you become hacker. You can do several things from Linux you cant even think of using Windows and Mac.
Let me tell you, Linux is now being used in International Space Station. The worlds most successful movies Avatar and Titanic were build using Linux. Last but not the least, worlds 90% supercomputers are using Linux. Worlds Top 5 fastest computer are using Linux. Facebook, Linkedin, Google, Yahoo all have their server based on Linux.
I dont mean they are wrong. I only mean they keeps on talking about the thing they very little know about.
### 4. The long hours of compilation and dependency resolution ###
I am aware of automatic dependency resolution and the program getting smart day by day. Still think from corporate view, I was installing a program say y, it had one dependency say **x** which was unable to be resolved automatically. While resolving **x** I came across 8 other dependency, a few of other were dependent on a few other libraries and program. Isnt it painful?
The rule of corporate is to have the work done efficiently with less man power and as much less time as possible. Who cares if your piece of codes are coming from Windows or Mac or Linux as far as the work is done.
### 5. Too much manual work ###
No matter which distro you choose, you have to manually do a lot a things time-to-time. Lets say you are installing proprietary Nvidia Driver. Now you need to kill **X** manually, may need to edit **Xorg.conf** manually and still may have a broken **X**. Furthermore, you have to make sure that the next time kernel updates, it still be in working condition.
Think of same on Windows. You have nothing to do other than firing the executables and click** Next, Next, I Agree, Next, Forward, Finish, Reboot** and your system may very rarely have broken GUI. Though the demerit is a broken GUI is not possible to be repaired on Windows but easily on Linux.
Hey dont tell me its because of security implementation. If you are installing something using **root**, and still needs a lot of things done manually that not security. Some may have a point that it gives you power to configure your system to any extent. My friend at least give him a working interface from where he can configure it to next best level. Why Installer laves him to re-invent the wheel every-time in the name of security and configurability.
I myself is a Linux fan and have been working on this platform for nearly half a decades. I myself have used Distros of several kind and came to the above conclusion. You may have used a different distros and might youve came to a such conclusion, where you feel that Linux is not upto the mark.
Please do share with us, why do you hate (Love) Linux? via our comment section below.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/why-i-hate-linux/
作者:[Avishek Kumar][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/avishek/
[1]:http://www.tecmint.com/useful-linux-commands-for-newbies/

View File

@ -0,0 +1,86 @@
Whats wrong with IPv4 and Why we are moving to IPv6
================================================================================
For the past 10 years or so, this has been the year that IPv6 will become wide spread. It hasnt happened yet. Consequently, there is little widespread knowledge of what IPv6 is, how to use it, or why it is inevitable.
![IPv4 and IPv6 Comparison](http://www.tecmint.com/wp-content/uploads/2014/09/ipv4-ipv6.gif)
IPv4 and IPv6 Comparison
### Whats wrong with IPv4? ###
Weve been using **IPv4** ever since RFC 791 was published in 1981. At the time, computers were big, expensive, and rare. IPv4 had provision for **4 billion IP** addresses, which seemed like an enormous number compared to the number of computers. Unfortunately, IP addresses are not use consequently. There are gaps in the addressing. For example, a company might have an address space of **254 (2^8-2)** addresses, and only use 25 of them. The remaining 229 are reserved for future expansion. Those addresses cannot be used by anybody else, because of the way networks route traffic. Consequently, what seemed like a large number in 1981 is actually a small number in 2014.
The Internet Engineering Task Force (**IETF**) recognized this problem in the early 1990s and came up with two solutions: Classless Internet Domain Router (**CIDR**) and private IP addresses. Prior to the invention of CIDR, you could get one of three network sizes: **24 bits** (16,777,214 addresses), **20 bits** (1,048,574 addresses) and **16 bits** (65,534 addresses). Once CIDR was invented, it was possible to split networks into subnetworks.
So, for example, if you needed **5 IP** addresses, your ISP would give you a network with a size of 3 bits which would give you **6 IP** addresses. So that would allow your ISP to use addresses more efficiently. Private IP addresses allow you to create a network where each machine on the network can easily connect to another machine on the internet, but where it is very difficult for a machine on the internet to connect back to your machine. Your network is private, hidden. Your network could be very large, 16,777,214 addresses, and you could subnet your private network into smaller networks, so that you could manage your own addresses easily.
You are probably using a private address right now. Check your own IP address: if it is in the range of **10.0.0.0 10.255.255.255** or **172.16.0.0 172.31.255.255** or **192.168.0.0 192.168.255.255**, then you are using a private IP address. These two solutions helped forestall disaster, but they were stopgap measures and now the time of reckoning is upon us.
Another problem with **IPv4** is that the IPv4 header was variable length. That was acceptable when routing was done by software. But now routers are built with hardware, and processing the variable length headers in hardware is hard. The large routers that allow packets to go all over the world are having problems coping with the load. Clearly, a new scheme was needed with fixed length headers.
Still another problem with **IPv4** is that, when the addresses were allocated, the internet was an American invention. IP addresses for the rest of the world are fragmented. A scheme was needed to allow addresses to be aggregated somewhat by geography so that the routing tables could be made smaller.
Yet another problem with IPv4, and this may sound surprising, is that it is hard to configure, and hard to change. This might not be apparent to you, because your router takes care of all of these details for you. But the problems for your ISP drives them nuts.
All of these problems went into the consideration of the next version of the Internet.
### About IPv6 and its Features ###
The **IETF** unveiled the next generation of IP in December 1995. The new version was called IPv6 because the number 5 had been allocated to something else by mistake. Some of the features of IPv6 included.
- 128 bit addresses (3.402823669×10³⁸ addresses)
- A scheme for logically aggregating addresses
- Fixed length headers
- A protocol for automatically configuring and reconfiguring your network.
Lets look at these features one by one:
#### Addresses ####
The first thing everybody notices about **IPv6** is that the number of addresses is enormous. Why so many? The answer is that the designers were concerned about the inefficient organization of addresses, so there are so many available addresses that we could allocate inefficiently in order to achieve other goals. So, if you want to build your own IPv6 network, chances are that your ISP will give you a network of **64 bits** (1.844674407×10¹⁹ addresses) and let you subnet that space to your hearts content.
#### Aggregation ####
With so many addresses to use, the address space can be allocated sparsely in order to route packets efficiently. So, your ISP gets a network space of **80 bits**. Of those 80 bits, 16 of them are for the ISPs subnetworks, and 64 bits are for the customers networks. So, the ISP can have 65,534 networks.
However, that address allocation isnt cast in stone, and if the ISP wants more smaller networks, it can do that (although probably the ISP would probably simply ask for another space of 80 bits). The upper 48 bits is further divided, so that ISPs that are “**close**” to one another have similar network addresses ranges, to allow the networks to be aggregated in the routing tables.
#### Fixed length Headers ####
An **IPv4** header has a variable length. An **IPv6** header always has a fixed length of 40 bytes. In IPv4, extra options caused the header to increase in size. In IPv6, if additional information is needed, that additional information is stored in extension headers, which follow the IPv6 header and are generally not processed by the routers, but rather by the software at the destination.
One of the fields in the IPv6 header is the flow. A flow is a **20 bit** number which is created pseudo-randomly, and it makes it easier for the routers to route packets. If a packet has a flow, then the router can use that flow number as an index into a table, which is fast, rather than a table lookup, which is slow. This feature makes **IPv6** very easy to route.
#### Automatic Configuration ####
In **IPv6**, when a machine first starts up, it checks the local network to see if any other machine is using its address. If the address is unused, then the machine next looks for an IPv6 router on the local network. If it finds the router, then it asks the router for an IPv6 address to use. Now, the machine is set and ready to communicate on the internet it has an IP address for itself and it has a default router.
If the router should go down, then the machines on the network will detect the problem and repeat the process of looking for an IPv6 router, to find the backup router. Thats actually hard to do in IPv4. Similarly, if the router wants to change the addressing scheme on its network, it can. The machines will query the router from time to time and change their addresses automatically. The router will support both the old and new addresses until all of the machines have switched over to the new configuration.
IPv6 automatic configuration is not a complete solution. There are some other things that a machine needs in order to use the internet effectively: the name servers, a time server, perhaps a file server. So there is **dhcp6** which does the same thing as dhcp, only because the machine boots in a routable state, one dhcp daemon can service a large number of networks.
#### Theres one big problem ####
So if IPv6 is so much better than IPv4, why hasnt adoption been more widespread (as of **May 2014**, Google estimates that its IPv6 traffic is about **4%** of its total traffic)? The basic problem is which comes first, the **chicken or the egg**? Somebody running a server wants the server to be as widely available as possible, which means it must have an **IPv4** address.
It could also have an IPv6 address, but few people would use it and you do have to change your software a little to accommodate IPv6. Furthermore, a lot of home networking routers do not support IPv6. A lot of ISPs do not support IPv6. I asked my ISP about it, and I was told that they will provide it when customers ask for it. So I asked how many customers had asked for it. One, including me.
By way of contrast, all of the major operating systems, Windows, OS X, and Linux support IPv6 “**out of the box**” and have for years. The operating systems even have software that will allow IPv6 packets to “**tunnel**” within IPv4 to a point where the IPv6 packets can be removed from the surrounding IPv4 packet and sent on their way.
#### Conclusion ####
IPv4 has served us well for a long time. IPv4 has some limitations which are going to present insurmountable problems in the near future. IPv6 will solve those problems by changing the strategy for allocating addresses, making improvements to ease the routing of packets, and making it easier to configure a machine when it first joins the network.
However, acceptance and usage of IPv6 has been slow, because change is hard and expensive. The good news is that all operating systems support IPv6, so when you are ready to make the change, your computer will need little effort to convert to the new scheme.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/ipv4-and-ipv6-comparison/
作者:[Jeff Silverman][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/jeffsilverm/

View File

@ -1,90 +0,0 @@
alim0x translating
The history of Android
================================================================================
![The main alarm screen, setting an alarm, the calculator, and the calculator advanced functions screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/calclockonpresszx.png)
The main alarm screen, setting an alarm, the calculator, and the calculator advanced functions screen.
Photo by Ron Amadeo
Android 0.9 gave us the first look at the Alarm and Calculator apps. The alarm app featured a plain analog clock with a scrolling list of alarms on the bottom. Rather than some kind of on/off switch, alarms were set with a checkbox. Alarms could be set to repeat at certain days of the week, and there was a whole list of selectable, unique alarm sounds.
The calculator was an all-black app with glossy, round buttons. Through the menu, it was possible to bring up an additional panel with advanced functions. Again consistency was not Googles strong suit. The on-press highlight on the pi key was red—in the rest of Android 0.9, the on-press highlight was usually orange. In fact, everything used in the calculator was 100 percent custom artwork limited to only the calculator.
![Google Maps with the menu open and the new directions interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/mps092.png)
Google Maps with the menu open and the new directions interface.
Photo by Ron Amadeo
Google Maps actually worked in Android 0.9—the client could connect to the Google Maps server and pull down tiles. (For our images, remember that Google Maps is cloud based. Even the oldest of clients will still pull down modern map tiles, so ignore the actual map tiles pictured.) The Maps menu got the same all-gray treatment as the browser menu, and the zoom controls were the same as the browser too. The all-important "My Location" button finally arrived, meaning this version of Maps supported GPS location.
The directions interface was revamped. The weird speech bubbles with misaligned plus buttons were swapped out for a more communicative bookmark icon, the swap field button moved to the left, and the go button was now labeled "Route."
![The Google Maps layers selector, search history, and the now-broken street view mode.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/maps3.png)
The Google Maps layers selector, search history, and the now-broken street view mode.
Photo by Ron Amadeo
"Layers" was renamed "Map Mode" and switched to a radio button list. Only one map type was available at a time—you couldn't see traffic on the satellite view, for instance. Buried in the menu was a hastily thrown together search history screen. History seemed like only a proof-of-concept, with giant, blurry search icons that rammed up against search terms on a transparent background.
Street View used to be a separate app (although it was never made available to the public), but in 0.9 it was integrated into Google Maps as a Map Mode. You could drag the little pegman around, and it would display a popup bubble showing the thumbnail for Street View. Tapping on the thumbnail would launch Street View for that area. At the time, Street View showed nothing other than a scrollable 360 degree image—there was no UI on the interface at all.
![Our first look at the Google Maps search interface. These shots show the search bar, the results in a list, the results in a map, and a business page.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/manystarbucks.png)
Our first look at the Google Maps search interface. These shots show the search bar, the results in a list, the results in a map, and a business page.
Photo by Ron Amadeo
Android 0.9 also gave us our first look at the texting app, called "Messaging." Like many early Android designs, Messaging wasn't sure if it should be a dark app or a light app. The first visible screen was the message list, a stark black void of nothingness that looked like it was built on top of the settings interface. After tapping on “New Message" or one of the existing conversations, though, you were taken to a white and blue scrolling list of text messages. The two connected screens couldnt be more different.
![The SMS apps chat window, attachment screen, chat list, and setting.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/sms09.png)
The SMS apps chat window, attachment screen, chat list, and setting.
Photo by Ron Amadeo
Messaging supported a range of attachments: you could tack on pictures, audio, or a slideshow to your message. Pictures and audio could be recorded on the fly or pulled from phone storage. Another odd UI choice was that Android already had an established icon for almost everything in the attach menu, but Messaging used all-custom art instead.
Messaging was one of the first apps to have its own settings screen. Users could request read and delivery reports and set download preferences.
![The slideshow creator. The right picture shows the menu options.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/slideshow.png)
The slideshow creator. The right picture shows the menu options.
Photo by Ron Amadeo
The "slideshow" option in attachments would actually launch a fully featured slideshow creator. You could add pictures, choose the slide order, add music, change the duration of each slide, and add text. This was complicated enough to have its own app icon, but amazingly it was buried in the menu of the SMS app. This was one of the few Android apps that was completely unusable in portrait mode—the only way to see the picture and the controls was in landscape. Strangely, it would still rotate to portrait, but the layout just became a train wreck.
![The Music players main navigation page, song list, album list, and “now playing" screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/music09.png)
The Music players main navigation page, song list, album list, and “now playing" screen.
Photo by Ron Amadeo
Android 0.9 was the first to bring a music app to Android. The primary screen was mostly just four big, chunky navigation buttons that would take you to each music view. At the bottom of the app was a "now playing" bar that only contained the track name, artist, and a play/pause button. The song list had only a bare minimum interface, only showing the song name, artist, album and runtime. Album art was the only hope of seeing any color in this app. It was displayed as a tiny thumbnail in the album view and as a big, quarter-screen image in the Now Playing view.
Like most parts of Android in this era, the interface may not have been much to look at, but the features were there. The Now Playing screen had a button for a playlist queue that allowed you to drag songs around, shuffle, repeat, search, and choose background audio.
![The “Pictures" all album view, individual album view, and a single picture view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/pictures09.png)
The “Pictures" all album view, individual album view, and a single picture view.
Photo by Ron Amadeo
The photo gallery was simply called "Pictures." The initial view showed all your albums. The two default ones were "Camera" and a large unified album called "All pictures." The thumbnail for each album was made up of a 2x2 grid of pictures, and every picture got a thick, white frame.
The individual album view was about what you would expect: a scrolling grid of pictures. You couldn't swipe through individual pictures—large left and right arrows flanking the individual picture had to be tapped on to move through an album. There was no pinch-zoom either; you had to zoom in and out with buttons.
![Picture editing! These screenshots show an open menu, the “more" menu, cropping, and the settings.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/pics209.png)
Picture editing! These screenshots show an open menu, the “more" menu, cropping, and the settings.
Photo by Ron Amadeo
"Pictures" looked simple until you hit the menu button and suddenly accessed a myriad of options. Pictures could be cropped, rotated, deleted, or set as a wallpaper or contact icon. Like the browser, all of this was accomplished through a clumsy double-menu system. But again, why do two related menus look completely different?
Android 0.9 came out a mere two months before the first commercial release of Android. That was just enough time for app developers to make sure their apps worked—and for Google to do some testing and bug squashing before the big release.
----------
![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg)
[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work.
[@RonAmadeo][t]
--------------------------------------------------------------------------------
via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/5/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://arstechnica.com/author/ronamadeo
[t]:https://twitter.com/RonAmadeo

View File

@ -1,3 +1,5 @@
alim0x translating
The history of Android
================================================================================
![The T-Mobile G1](http://cdn.arstechnica.net/wp-content/uploads/2014/04/t-mobile_g1.jpg)
@ -70,4 +72,4 @@ via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-histor
[6]:http://android-developers.blogspot.com/2008/08/android-market-user-driven-content.html
[7]:http://arstechnica.com/gadgets/2012/02/path-addresses-privacy-controversy-but-social-apps-remain-a-risk-to-users/
[a]:http://arstechnica.com/author/ronamadeo
[t]:https://twitter.com/RonAmadeo
[t]:https://twitter.com/RonAmadeo

View File

@ -1,3 +1,4 @@
Translating by ZTinoZ
10 Useful “Squid Proxy Server” Interview Questions and Answers in Linux
================================================================================
Its not only to System Administrator and Network Administrator, who listens the phrase Proxy Server every now and then but we too. Proxy Server is now a corporate culture and is the need of the hour. Proxy server now a days is implemented from small schools, cafeteria to large MNCs. Squid (also known as proxy) is such an application which acts as proxy server and one of the most widely used tool of its kind.
@ -128,4 +129,4 @@ via: http://www.tecmint.com/squid-interview-questions/
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/avishek/
[a]:http://www.tecmint.com/author/avishek/

View File

@ -1,106 +0,0 @@
What are better alternatives to basic command line utilities
================================================================================
The command line can be scary especially at the beginning. You might even experience some command-line-induced nightmare. Over time, however, we all realize that the command line is actually not that scary, but extremely useful. In fact, the lack of shell is what gives me an ulcer every time I have to use Windows. The reason for the change in perception is that the command line tools are actually smart. The basic utilities, what you are given to work with on any Linux terminal, are very powerful. But very powerful is never enough. If you want to make your command line experience even more pleasant, here are a few applications that you can download to replace the default ones, and will provide you with far more features than the originals.
### dfc ###
As an LVM user, I really like to keep an eye on my hard drive memory usage. I also never really understood why in Windows we have to open the file explorer to know this basic information. Hopefully on Linux, we can use the command.
$ df -h
![](https://farm4.staticflickr.com/3858/14768828496_c8a42620a3_z.jpg)
which gives you the size, usage, free space, ratio, and mount point of every volume on your computer. Notice that you have to pass in the "-h" argument to get all the data in human readable format (gigabytes instead of kilobytes). But you can replace completely df with [dfc][1], which can, without any additional arguments, get you everything that df showed, and throw in a usage graph for each device, and a color code, which makes it a lot easier to read.
![](https://farm6.staticflickr.com/5594/14791468572_a84d4b6145_z.jpg)
As a bonus, you can sort the volumes using the argument "-q", define the units that you want to see with "-u", and even export to csv or html format with "-e"
### dog ###
Dog is better than cat. At least that is what this program declares. You have to give it credit for once. Everything that the cat command does, [dog][2] does it better. Beyond just outputting some text stream to the console, dog is capable of filtering that stream. You can for example find all images in a web page by using the syntax:
$ dog --images [URL]
![](https://farm6.staticflickr.com/5568/14811659823_ea8d22d045_z.jpg)
Or all the links with:
dog --links [URL]
![](https://farm4.staticflickr.com/3902/14788690051_7472680968_z.jpg)
Besides, dog commands can also do other smaller tasks, like convert to upper or lower case, use different encoding, display the line numbers, and deal with hexadecimal. In short, dog is a must-have to replace cat.
### advcp ###
One of the most basic command in Linux is the copy command: cp. It is probably as basic as cd. Yet it cruelly lacks feedback. You can enable the verbose mode to see which files are being copied in real time, but if one of the files is very big, you will be left waiting in front of your screen with no idea of what is really happening behind the scenes. An easy way to fix that is to add a progress bar: what advcp (short for advanced cp) does! Available as a [patched version][3] of the [GNU coreutils][4], advcopy provides you with the acp and amv commands, which are "advanced" versions of cp and mv. Use the syntax:
$ acp -g [file] [copy]
to copy a file to another location, and display a progress bar.
![](https://farm6.staticflickr.com/5588/14605117730_fe611fc234_z.jpg)
I also advise using an alias in your .barshrc or .zshrc
alias cp="acp -g"
alias mv="amv -g"
### The Silver Searcher ###
Behind this atypical name, [the silver searcher][5] is a utility designed as a replacement for grep and [ack][6]. Intended to be faster than ack, and capable of ignoring files unlike grep, the silver searcher scrolls through your text file looking for the piece that you want. Among other features, it can spit out a colored output, follow symlink, use regular expressions, and even ignore some patterns.
![](https://farm4.staticflickr.com/3876/14605308117_f966c77140_z.jpg)
The developers' website provides us with some benchmark statistic on the search speed which, if they are still true, are quite impressive. And cherry on the cake: you can include the utility in Vim in order to call it with a simple shortcut. In two words, smart and fast.
### plowshare ###
All fans of the command line like to use wget or one of its alternatives to download things from the internet. But if you use a lot of file sharing websites, like mediafire or rapidshare, you will be glad to know that there is an equivalent to wget dedicated to those websites, which is called [plowshare][7]. Once you install it, you can download files with:
$ plowdown [URL]
or upload them with:
$ plowup [website name] [file]
given that you have an account for that file sharing website.
Finally, it is possible to gather information, such as a list of links contained in a shared folder with:
$ plowlist [URL]
or the filename, size, hash, etc, with:
$ plowprobe [URL]
plowshare is also a good alternative to the slow and excruciating jDownloader for those of you who are familiar with these services.
### htop ###
If you use top command regularly, chances are you will love [htop][8] command. Both top and htop offer a real-time view of running processes, but htop boasts of a number of user-friendly features lacking in top command. For example, with htop, you can scroll process list vertically or horizontally to see full command lines of every process, and can do basic process management (e.g., kill, (re)nice) using mouse clicks and arrow keys (without entering numeric PIDs).
![](https://farm6.staticflickr.com/5581/14819141403_6f2348590f_z.jpg)
To conclude, these kinds of tools, which efficiently replace basic command line utilities, are like little pearl of usefulness. They are not always easy to find, but once you've got one, you always wonder how you survived for so long without it. If you know any other utility fitting this description, please share in the comments.
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/07/better-alternatives-basic-command-line-utilities.html
作者:[Adrien Brochard][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/adrien
[1]:http://projects.gw-computing.net/projects/dfc
[2]:http://archive.debian.org/debian/pool/main/d/dog/
[3]:http://zwicke.org/web/advcopy/
[4]:http://www.gnu.org/software/coreutils/
[5]:https://github.com/ggreer/the_silver_searcher
[6]:http://xmodulo.com/2014/01/search-text-files-patterns-efficiently.html
[7]:https://code.google.com/p/plowshare/
[8]:http://hisham.hm/htop/

View File

@ -1,79 +0,0 @@
(translating by runningwater)
How to manage a WiFi connection from the command line
================================================================================
Whenever you install a new Linux distribution on a computer, it is in general recommended that you connect to the internet via a wired connection. There are two main reasons for this: one, your wireless adapter may not have the right driver loaded; second, if you are installing from the command line, managing WiFi is scary. I always tried to avoid dealing with WiFi over the command line. But in the Linux world, there is no place for fear. If you do not know how to do something, that is the only reason you need to go ahead and learn it. So I forced myself to learn how to manage a WiFi connection from the command line on Linux.
There are of course multiple ways to connect to a WiFi from the command line. But for the sake of this post, and as an advice, I will try to use the most basic way: the one that uses programs and utilities included in the "default packages" of any distribution. Or at least I will try. An obvious reason for this choice is that the process can potentially be reproduced on any Linux computer. The downside is its relative complexity.
First, I will assume that you have the correct drivers loaded for your wireless LAN card. There is no way to start anything without that. And if you don't, you should take a look at the Wiki and documentation for your distribution.
Then you can check which interface supports wireless connections with the command
$ iwconfig
![](https://farm6.staticflickr.com/5578/14725621337_b174a3029c_z.jpg)
In general, the wireless interface is called wlan0. There are of course exceptions, but for the rest of this tutorial, I will call it that way.
Just in case, you should make sure that the interface is up with:
$ sudo ip link set wlan0 up
Once you know that your interface is operational, you should scan for nearby wireless networks with:
$ sudo iw dev wlan0 scan | less
![](https://farm4.staticflickr.com/3847/14909117931_e2f3d0feb0_z.jpg)
From the output, you can extract the name of the network (its SSID), its signal power, and which type of security it uses (e.g., WEP, WPA/WPA2). From there, the road splits into two: the nice and easy, and the slightly more complicated case.
If the network you want to connect to is not encrypted, you can connect straight to it with:
$ sudo iw dev wlan0 connect [network SSID]
If the network uses WEP encryption, it is also quite easy:
$ sudo iw dev wlan0 connect [network SSID] key 0:[WEP key]
But everything gets worse if the network uses WPA or WPA2 protocols. In this case, you have to use the utility called wpa_supplicant, which is not always included by default. You then have to modify the file at /etc/wpa_supplicant/wpa_supplicant.conf to add the lines:
network={
ssid="[network ssid]"
psk="[the passphrase]"
priority=1
}
I recommend that you append it at the end of the file, and make sure that the other configurations are commented out. Be careful that both the ssid and the passphrase are case sensitive. You can also technically put the name of the access point as the ssid, and wpa_supplicant will replace it with the proper ssid.
Once the configuration file is completed, launch this command in the background:
$ sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
Finally, whether you connected to an open or a secure network, you have to get an IP address. Simply use:
$ sudo dhcpcd wlan0
If everything goes well, you should get a brand new local IP via DHCP, and the process will fork in the background. If you want to be sure that you are connected, you can always check again with:
$ iwconfig
![](https://farm4.staticflickr.com/3904/14725573368_7110407db8_z.jpg)
To conclude, I think that getting over the first step is completely worth it. You never know when your GUI will be down, or when you cannot access a wired connection, so getting ready now seems very important. Also, as mentioned before, there are a lot of ways (e.g., NetworkManager, [wicd][1], [netcfg][2], [wifi][3]) to manage a wireless connection. If I try to stick to the most basic way, I know that in some cases, the utilities that I used may not even be available to you, and that you would have to download them prior to that. On the other side of the balance, there are some more advanced programs, which are definitely not included in the "default packages," which will greatly simplify the whole process. But as a general advice, it is good to stick to the basics at first.
What other ways would you recommend to connect via WiFi from the command line? Please let us know in the comments.
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/08/manage-wifi-connection-command-line.html
作者:[Adrien Brochard][a]
译者:[runningwater](https://github.com/runningwater)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/adrien
[1]:http://wicd.sourceforge.net/
[2]:https://www.archlinux.org/netcfg/
[3]:https://github.com/rockymeza/wifi

View File

@ -1,133 +0,0 @@
A Pocket Guide for Linux ssh Command with Examples
================================================================================
If you have been in the IT world for quite some time you probably have heard about SSH, how great a tool it is and all its cool security features. In this tutorial you will learn how to use SSH in a few minutes and login to your remote computers seamlessly and securely.
If you have no clue what SSH is you can visit [Wikipedia][1] before proceeding.
### Basic Usage ###
The simplest usage of SSH is where you specify a user and the hostname. The hostname could be an IP address or a domain name an in the following format.
$ ssh user@hostname
For example to login to a Raspberry Pi on my LAN, I would simply type the command in the terminal as follows:
$ ssh pi@10.42.0.47
Where pi is the user and 10.42.0.47 is the IP of the Raspberry Pi on my LAN. Change this accordingly to reflect your LAN configuration or your remote computers IP address.
![basic ssh](http://linoxide.com/wp-content/uploads/2014/08/basic-ssh.png)
If you have logged in successfully then the rest of the guide shall be a breeze for you.
### Using A Different Port ###
By default ssh uses port 22, but for various reasons you may want to connect to another port.
$ ssh -p 10022 user@hostname
This will connect to ssh via port 10022 instead of port 22.
### Execute Commands Remotely ###
At times its convenient to execute a command on the remote host and get the output and continue working on the local machine. Well SSH has catered for this need,
$ ssh pi@10.42.0.47 ls -l
This command for example will list the contents of the home directory and return the prompt to you. Cool? Try it out with other commands as well.
![remote command](http://linoxide.com/wp-content/uploads/2014/08/remote-command.png)
### Mounting remote filesystems ###
Another great tool based on ssh is sshfs. With sshfs you can mount remote filesystems and have the remote files on the local machine.
$ sshfs -o idmap=user user@hostname:/home/user ~/Remote
For example this command can be used as:
$ sshfs -o idmap=user pi@10.42.0.47:/home/pi ~/Pi
This will mount pis home directory to a folder on the local machine called Pi.
For more details on sshfs [look at our sshfs tutorial][2].
### X11 Forwarding ###
Suppose now you want to run a GUI program on your remote computer? SSH had you in mind! Login to the remote machine with the basic SSH command but -X option. This will allow X11 forwarding. After you login you might not see any difference, but once you invoke a GUI based program you notice the difference.
$ ssh -X pi@10.42.0.47
$ pistore
Now you may want to do other stuff on the command line while running the GUI program. Simply suffix the command with &.
$ pistore&
![X11 forwarding](http://linoxide.com/wp-content/uploads/2014/08/X11-forwarding.png)
### Escape Sequences ###
There are various escape sequences provided by SSH. To view them, SSH to any remote machine then type tilde(~) followed by a question mark. You will see a couple of other supported escape sequences. In this example you can the output of **~#** and **~C**.
![escape sequences](http://linoxide.com/wp-content/uploads/2014/08/escape-sequences.png)
### Edit SSH Configuration ###
If you need to change SSH configuration, open the file **/etc/ssh/sshd_config** with your favourite text editor and edit whatever you need to. For example we might need to change the banner. In your text editor find the following line:
#Banner none
Uncomment the line by deleting the # then add a path to the file with the message you want displayed. The line should now read as:
Banner /etc/issue
In this /etc/ssh/sshd_config file you will also find the options of changing the port number, idle logout timeout e.t.c . These are fairly straight forward, but refer to the ssh manual for anything that might not be familiar before attempting to make changes.
### Generate SSH Key Pair ###
To generate a new key pair run the command as follows:
$ ssh-keygen -t dsa
You will be asked for a passphrase then the key pair will be generated. This command will also give you the keys randomart image.
![generate key pair](http://linoxide.com/wp-content/uploads/2014/08/generate-key-pair.png)
### Finding A Hostkey ###
Now before you add that key pair it does no harm to see if it exists already.
$ ssh-keygen -F 10.42.0.47
![find hostkey](http://linoxide.com/wp-content/uploads/2014/08/find-hostkey.png)
### Removing A Hostkey ###
Sometimes its necessary to remove a key pair you had generated, for example when the host has changed or perhaps when you need to remove keys that are no longer used.
$ ssh-keygen -R 10.42.0.47
This is much more convenient than opening **~/.ssh/known_hosts**
and removing the keys manually.
![remove hostkey](http://linoxide.com/wp-content/uploads/2014/08/remove-hostkey.png)
### Conclusion ###
With the above commands you will be able to use SSH with ease. There is more to explore and your imagination is your limitation.
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/pocket-guide-linux-ssh-command/
作者:[Bobbin Zachariah][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/bobbin/
[1]:http://en.wikipedia.org/wiki/Secure_Shell
[2]:http://linoxide.com/how-tos/sshfs-mount-remote-directories/

View File

@ -1,3 +1,4 @@
wangjiezhe translating
6 Interesting Funny Commands of Linux (Fun in Terminal) Part II
================================================================================
In our past following articles, weve shown some useful articles on some funny commands of Linux, which shows that Linux is not as complex as it seems and can be fun if we know how to use it. Linux command line can perform any complex task very easily and with perfection and can be interesting and joyful.
@ -96,11 +97,11 @@ Thats all for now. Ill be here again with another interesting article. Til
via: http://www.tecmint.com/linux-funny-commands/
作者:[Avishek Kumar][a]
译者:[译者ID](https://github.com/译者ID)
译者:[wangjiezhe](https://github.com/wangjiezhe)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/avishek/
[1]:http://www.tecmint.com/20-funny-commands-of-linux-or-linux-is-fun-in-terminal/
[2]:http://www.tecmint.com/play-with-word-and-character-counts-in-linux/
[2]:http://www.tecmint.com/play-with-word-and-character-counts-in-linux/

View File

@ -1,282 +0,0 @@
Awesome ! systemd Commands to Manage Linux System
================================================================================
Systemd is the new system and service manager for Linux. It is a replacement for init system and can manage system startup and services. It starts up and supervises the entire system. In article we are using [centos 7.0 installed with systemd 216 version][1] and the latest version is [available for download from freedesktop.org][2].
With new player in town, PID 1 is occupied by “systemd” and can be seen from pstree command as well:
[root@linoxide ~]# pstree
![](http://linoxide.com/wp-content/uploads/2014/08/01.systemd_pstree.png)
Lets explore what systemd is capable of and what possibilities we have with the new replacement for sysVinit.
### 1. Faster startup ###
The sysvinit starts the processes serially, one at a time. Systemd starts services in parallel and starts only those services which are actually required, reducing the boot time significantly.
You can get the boot process duration with the following command:
[root@linoxide ~]# systemd-analyze
![](http://linoxide.com/wp-content/uploads/2014/08/02.systemd_analyze.png)
The command systemd-analyze time also shows the same information.
[root@linoxide ~]# systemd-analyze time
![](http://linoxide.com/wp-content/uploads/2014/08/03.systemd_analyze2.png)
If you want to print a list of all running units, the blame option to systemd-analyze command can provide you with that, ordered by the time taken to initialize.
[root@linoxide ~]# systemd-analyze blame
![](http://linoxide.com/wp-content/uploads/2014/08/04.systemd_blame.png)
The above screen shows only a small number of processes, you can scroll through the list with arrows just like in less pager.
### 2. The systemctl command ###
The systemctl command is the most talked command that comes with systemd. You can manage a whole lot of your system with this command. Lets explore this command before going any further:
#### 2.1 List Units ####
systemctl command without any option lists all the running units. The list-units switch also does the same.
[root@linoxide ~]# systemctl
or
[root@linoxide ~]# systemctl list-units
![](http://linoxide.com/wp-content/uploads/2014/08/05.systemd_list_units.png)
#### 2.2 Listing failed units ####
The failed units can be listed with --failed switch.
[root@linoxide ~]# systemctl --failed
![](http://linoxide.com/wp-content/uploads/2014/08/06.systemd_failed.png)
You will see the use of systemctl command at many places in this article.
### 3. Managing services ###
Let us now see how services can be managed with systemd.
#### 3.1 Active services ####
All the active services can be checked with the following command:
[root@linoxide ~]# systemctl list-units -t service
![](http://linoxide.com/wp-content/uploads/2014/08/07.systemd_active_services.png)
#### 3.2 Service status ####
In the sysvinit, we could use the “service” command to manage the services, but with systemd, the systemctl command is used to manage services. In ordwer to see whether a service is running or not, we can use the systemctl command like this:
[root@linoxide ~]# systemctl status dnsmasq
![](http://linoxide.com/wp-content/uploads/2014/08/08.systemd_status.png)
#### 3.3 Start a service ####
To start a service, again we use the systemctl command as:
[root@linoxide ~]# systemctl start dnsmasq
As opposed to service command, this command does not give any output. But of course, we can check the status of the service once again to confirm that its started successfully:
![](http://linoxide.com/wp-content/uploads/2014/08/09.systemd_start.png)
#### 3.4 Stopping a service ####
Now you are smart enough and already know the command to stop a service with systemd:
[root@linoxide ~]# systemctl stop dnsmasq
![](http://linoxide.com/wp-content/uploads/2014/08/10.systemd_stop.png)
#### 3.5 Restart a service ####
Similarly, restarting a service is managed using systemctl restart :
[root@linoxide ~]# systemctl restart dnsmasq
![](http://linoxide.com/wp-content/uploads/2014/08/11.systemd_restart.png)
#### 3.6 Reload a service ####
In case we need to reload the configuration of service (say ssh), without restarting it, we can use the command:
[root@linoxide ~]# systemctl reload sshd
![](http://linoxide.com/wp-content/uploads/2014/08/12.systemd_reload.png)
Although all of the above syntax are working, the official documentation suggests that these command be run with following syntax:
[root@linoxide ~]# systemctl status dnsmasq.service
![](http://linoxide.com/wp-content/uploads/2014/08/13.systemd_alternate_syntax.png)
### 4. Managing services at boot ###
The chkconfig command was used to manage services at boot. The same command systemd is used with systemd to manage services at boot.
#### 4.1 Checking service status at boot ####
In order to check if a service is enabled on boot or not:
[root@linoxide ~]# systemctl is-enabled dnsmasq.service
![](http://linoxide.com/wp-content/uploads/2014/08/14.systemd_is_enabled.png)
#### 4.2 Enable a service at boot ####
systemctl command can be used like this to enable a service at boot (this corresponds to sysvinit chkconfig on)
[root@linoxide ~]# systemctl enable dnsmasq.service
![](http://linoxide.com/wp-content/uploads/2014/08/15.systemd_enable.png)
#### 4.3 Disable a service at boot ####
Similarly, the services can be disabled at boot with systemctl command:
[root@linoxide ~]# systemctl disable dnsmasq.service
![](http://linoxide.com/wp-content/uploads/2014/08/16.systemd_disable.png)
### 5. Managing Remote systems ###
Typically, all of the ablve systemctl commands can be used to manage a remote host with systemctl command itself. This will use ssh for communication with the remote host. All you need to do is add the user and host to systemctl command like this:
[root@linoxide ~]# systemctl status sshd -H root@1.2.3.4
![](http://linoxide.com/wp-content/uploads/2014/08/17.systemd_remote.png)
### 6. Managing targets: ###
Systemd has concept of targets having similar purpose to runlevels in sysVinit.
The runlevels in sysVinit were mostly numeric (0,1,2,…). Here are the runlevels in sysVinit with their systemd counterparts:
> 0 runlevel0.target, poweroff.target
>
> 1, s, single runlevel1.target, rescue.target
>
> 2, 4 runlevel2.target, runlevel4.target, multi-user.target
>
> 3 runlevel3.target, multi-user.target
>
> 5 runlevel5.target, graphical.target
>
> 6 runlevel6.target, reboot.target
>
> emergency emergency.target
#### 6.1 Changing current target ####
The current target(runlevel) can be changed with the command:
[root@linoxide ~]# systemctl isolate graphical.target
![](http://linoxide.com/wp-content/uploads/2014/08/18.systemd_isolate.png)
#### 6.2 List current target ####
If you want to see what target you are in, you need to list all the corresponding units. It might not feel at home with this new way, but its the way systemd works.
[root@linoxide ~]# systemctl list-units --type=target
![](http://linoxide.com/wp-content/uploads/2014/08/19.systemd_targets.png)
You can see “graphical.target” listed here. This is what we changed our target into. Now lets change the runlevel again to multi-user.target and then analyze this output:
[root@linoxide ~]# systemctl isolate multi-user.target
[root@linoxide ~]# systemctl list-units --type=target
![](http://linoxide.com/wp-content/uploads/2014/08/20.systemd_multi-user.png)
#### 6.3 List default target ####
To list the default target, we use systemctl command like this:
[root@linoxide ~]# systemctl get-default
![](http://linoxide.com/wp-content/uploads/2014/08/21.systemd_get_default.png)
#### 6.4 Change default target ####
The default target can be set with set-default command with systemctl:
[root@linoxide ~]# systemctl set-default graphical.target
![](http://linoxide.com/wp-content/uploads/2014/08/22.systemd_set_default.png)
### 7. Logging in systemd ###
The systemd has its own logging system called journald. It replaces the syslog daemon from sysVinit. The command journalctl is used to read the logs.
[root@linoxide ~]# journalctl
![](http://linoxide.com/wp-content/uploads/2014/08/23.systemd_logs.png)
#### 7.1 Boot messages ####
To see all boot messages, run the command “journalctl -b”.
[root@linoxide ~]# journalctl -b
![](http://linoxide.com/wp-content/uploads/2014/08/24.systemd_boot.png)
#### 7.2 Follow logs ####
The following command follows the system logs in real time (similar to tail -f).
[root@linoxide ~]# journalctl -f
![](http://linoxide.com/wp-content/uploads/2014/08/25.systemd_follow_logs.png)
#### 7.3 Service specific logs ####
To check logs specific to a particular service or executable, use journalctl like this:
[root@linoxide ~]# journalctl /usr/sbin/dnsmasq
![](http://linoxide.com/wp-content/uploads/2014/08/26.systemd_specific.png)
### 8. Power management ###
The systemctl command can be used to put the system down, or reboot or hibernate.
To poweroff, reboot, suspend and hibernate, use the following commands respectively:
[root@linoxide ~]# systemctl poweroff
[root@linoxide ~]# systemctl reboot
[root@linoxide ~]# systemctl suspend
[root@linoxide ~]# systemctl reboot
### 9. Bonus ###
The systemd brings out the whole new approach to interacting with your operating system. The systemd is so full of features. For example, you can get the hostname and other useful features about your Linux machine, you can use hostnamectl command
[root@linoxide ~]# hostnamectl
![](http://linoxide.com/wp-content/uploads/2014/08/27.systemd_hostnamectl.png)
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/linux-systemd-commands/
作者:[Raghu][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/raghu/
[1]:http://linoxide.com/linux-how-to/install-systemd-centos-redhat/
[2]:http://www.freedesktop.org/software/systemd/

View File

@ -1,3 +1,4 @@
johnhoow translating...
Use LaTeX In Ubuntu 14.04 and Linux Mint 17 With Texmaker
================================================================================
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/09/texmaker_Ubuntu.jpeg)
@ -42,4 +43,4 @@ via: http://itsfoss.com/install-latex-ubuntu-1404/
[1]:http://www.latex-project.org/
[2]:http://www.xm1math.net/texmaker/index.html
[3]:http://www.xm1math.net/texmaker/download.html#linux
[4]:http://itsfoss.com/remarkable-markdown-editor-linux/
[4]:http://itsfoss.com/remarkable-markdown-editor-linux/

View File

@ -0,0 +1,38 @@
How To Recover Default Openbox Config Files On Crunchbang
================================================================================
[CrunchBang][1] is a Debian GNU/Linux based distribution offering a great blend of speed, style and substance. Using the nimble Openbox window manager, it is highly customizable and provides a modern, full-featured GNU/Linux system without sacrificing performance.
As Crunchbang is highly customizable, users tweak it to their liking as much as they can. All this is done via text files (config). As a “Crunchbanger” myself, I recently messed up with my **menu.xml** config file, which is responsible for the menu shown below.
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/09/curnchbang_menu_xml.png)
Which removed every code from the menu configuration file. Since I wasnt having a backup (Its good to backup config files too) I have to search for the default configuration that comes with Crunchbang out of the box. And heres how I got it fixed thanks to Crunchbang forums.
It is very interesting to know all default configs were pre-backed up for you and can be found at
/etc/skel/.config/
So for any default config you just copy them over and restart the appropriate application.
I will use Openbox **menu.xml** as an example here:
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/09/curnchbang_menu_xml_etc.png)
cp -r /etc/skel/.config/openbox/menu.xml ~/.config/openbox/menu.xml
Then restart openbox.
openbox --restart
--------------------------------------------------------------------------------
via: http://www.unixmen.com/recover-default-openbox-config-files-crunchbang/
作者:[Enock Seth Nyamador][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.unixmen.com/author/seth/
[1]:http://crunchbang.org/

View File

@ -0,0 +1,156 @@
How to create a cloud-based encrypted file system on Linux
================================================================================
Commercial cloud storage services such as [Amazon S3][1] and [Google Cloud Storage][2] offer highly available, scalable, infinite-capacity object store at affordable costs. To accelerate wide adoption of their cloud offerings, these providers are fostering rich developer ecosystems around their products based on well-defined APIs and SDKs. Cloud-backed file systems are one popular by-product of such active developer communities, for which several open-source implementations exist.
[S3QL][3] is one of the most popular open-source cloud-based file systems. It is a FUSE-based file system backed by several commercial or open-source cloud storages, such as Amazon S3, Google Cloud Storage, Rackspace CloudFiles, or OpenStack. As a full featured file system, S3QL boasts of a number of powerful capabilities, such as unlimited capacity, up to 2TB file sizes, compression, UNIX attributes, encryption, snapshots with copy-on-write, immutable trees, de-duplication, hardlink/symlink support, etc. Any bytes written to an S3QL file system are compressed/encrypted locally before being transmitted to cloud backend. When you attempt to read contents stored in an S3QL file system, the corresponding objects are downloaded from cloud (if not in the local cache), and decrypted/uncompressed on the fly.
To be clear, S3QL does have limitations. For example, you cannot mount the same S3FS file system on several computers simultaneously, but only once at a time. Also, no ACL (access control list) support is available.
In this tutorial, I am going to describe **how to set up an encrypted file system on top of Amazon S3, using S3QL**. As an example use case, I will also demonstrate how to run rsync backup tool on top of a mounted S3QL file system.
### Preparation ###
To use this tutorial, you will need to create an [Amazon AWS account][4] (sign up is free, but requires a valid credit card).
If you haven't done so, first [create an AWS access key][4] (access key ID and secret access key) which is needed to authorize S3QL to access your AWS account.
Now, go to AWS S3 via AWS management console, and create a new empty bucket for S3QL.
![](https://farm4.staticflickr.com/3841/15170673701_7d0660e11f_c.jpg)
For best performance, choose a region which is geographically closest to you.
![](https://farm4.staticflickr.com/3902/15150663516_4928d757fc_b.jpg)
### Install S3QL on Linux ###
S3QL is available as a pre-built package on most Linux distros.
#### On Debian, Ubuntu or Linux Mint: ####
$ sudo apt-get install s3ql
#### On Fedora: ####
$ sudo yum install s3ql
On Arch Linux, use [AUR][6].
### Configure S3QL for the First Time ###
Create authinfo2 file in ~/.s3ql directory, which is a default S3QL configuration file. This file contains information about a required AWS access key, S3 bucket name and encryption passphrase. The encryption passphrase is used to encrypt the randomly-generated master encryption key. This master key is then used to encrypt actual S3QL file system data.
$ mkdir ~/.s3ql
$ vi ~/.s3ql/authinfo2
----------
[s3]
storage-url: s3://[bucket-name]
backend-login: [your-access-key-id]
backend-password: [your-secret-access-key]
fs-passphrase: [your-encryption-passphrase]
The AWS S3 bucket that you specify should be created via AWS management console beforehand.
Make the authinfo2 file readable to you only for security.
$ chmod 600 ~/.s3ql/authinfo2
### Create an S3QL File System ###
You are now ready to create an S3QL file system on top of AWS S3.
Use mkfs.s3ql command to create a new S3QL file system. The bucket name you supply with the command should be matched with the one in authinfo2 file. The "--ssl" option forces you to use SSL to connect to backend storage servers. By default, the mkfs.s3ql command will enable compression and encryption in the S3QL file system.
$ mkfs.s3ql s3://[bucket-name] --ssl
You will be asked to enter an encryption passphrase. Type the same passphrase as you defined in ~/.s3ql/autoinfo2 (under "fs-passphrase").
If a new file system was created successfully, you will see the following output.
![](https://farm6.staticflickr.com/5582/14988587230_e182ca3abd_z.jpg)
### Mount an S3QL File System ###
Once you created an S3QL file system, the next step is to mount it.
First, create a local mount point, and then use mount.s3ql command to mount an S3QL file system.
$ mkdir ~/mnt_s3ql
$ mount.s3ql s3://[bucket-name] ~/mnt_s3ql
You do not need privileged access to mount an S3QL file system. Just make sure that you have write access to the local mount point.
Optionally, you can specify a compression algorithm to use (e.g., lzma, bzip2, zlib) with "--compress" option. Without it, lzma algorithm is used by default. Note that when you specify a custom compression algorithm, it will apply to newly created data objects, not existing ones.
$ mount.s3ql --compress bzip2 s3://[bucket-name] ~/mnt_s3ql
For performance reason, an S3QL file system maintains a local file cache, which stores recently accessed (partial or full) files. You can customize the file cache size using "--cachesize" and "--max-cache-entries" options.
To allow other users than you to access a mounted S3QL file system, use "--allow-other" option.
If you want to export a mounted S3QL file system to other machines over NFS, use "--nfs" option.
After running mount.s3ql, check if the S3QL file system is successfully mounted:
$ df ~/mnt_s3ql
$ mount | grep s3ql
![](https://farm4.staticflickr.com/3863/15174861482_27a842da3e_z.jpg)
### Unmount an S3QL File System ###
To unmount an S3QL file system (with potentially uncommitted data) safely, use umount.s3ql command. It will wait until all data (including the one in local file system cache) has been successfully transferred and written to backend servers. Depending on the amount of write-pending data, this process can take some time.
$ umount.s3ql ~/mnt_s3ql
View S3QL File System Statistics and Repair an S3QL File System
To view S3QL file system statistics, you can use s3qlstat command, which shows information such as total data/metadata size, de-duplication and compression ratio.
$ s3qlstat ~/mnt_s3ql
![](https://farm6.staticflickr.com/5559/15184926905_4815e5827a_z.jpg)
You can check and repair an S3QL file system with fsck.s3ql command. Similar to fsck command, the file system being checked needs to be unmounted first.
$ fsck.s3ql s3://[bucket-name]
### S3QL Use Case: Rsync Backup ###
Let me conclude this tutorial with one popular use case of S3QL: local file system backup. For this, I recommend using rsync incremental backup tool especially because S3QL comes with a rsync wrapper script (/usr/lib/s3ql/pcp.py). This script allows you to recursively copy a source tree to a S3QL destination using multiple rsync processes.
$ /usr/lib/s3ql/pcp.py -h
![](https://farm4.staticflickr.com/3873/14998096829_d3a64749d0_z.jpg)
The following command will back up everything in ~/Documents to an S3QL file system via four concurrent rsync connections.
$ /usr/lib/s3ql/pcp.py -a --quiet --processes=4 ~/Documents ~/mnt_s3ql
The files will first be copied to the local file cache, and then gradually flushed to the backend servers over time in the background.
For more information about S3QL such as automatic mounting, snapshotting, immuntable trees, I strongly recommend checking out the [official user's guide][7]. Let me know what you think of S3QL. Share your experience with any other tools.
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/09/create-cloud-based-encrypted-file-system-linux.html
作者:[Dan Nanni][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/nanni
[1]:http://aws.amazon.com/s3
[2]:http://code.google.com/apis/storage/
[3]:https://bitbucket.org/nikratio/s3ql/
[4]:http://aws.amazon.com/
[5]:http://ask.xmodulo.com/create-amazon-aws-access-key.html
[6]:https://aur.archlinux.org/packages/s3ql/
[7]:http://www.rath.org/s3ql-docs/

View File

@ -0,0 +1,75 @@
How to download GOG games from the command line on Linux
================================================================================
If you are a gamer and a Linux user, you probably were delighted when [GOG][1] announced a few months ago that it will start proposing games for your favorite OS. If you have never heard of GOG before, I encourage you to check out their catalog of “good old games”, reasonably priced, DRM-free, and packed with goodies. However, if the Windows client for GOG existed for quite some time now, an official Linux version is nowhere to be seen. So if waiting for the official version is uncomfortable for you, an unofficial open source program named LGOGDownloader gives you access to your library from the command line.
![](https://farm4.staticflickr.com/3843/15121593356_b13309c70f_z.jpg)
### Install LGOGDownloader on Linux ###
For Ubuntu users, the [official page][2] recommends that you download the sources and do:
$ sudo apt-get install build-essential libcurl4-openssl-dev liboauth-dev libjsoncpp-dev libhtmlcxx-dev libboost-system-dev libboost-filesystem-dev libboost-regex-dev libboost-program-options-dev libboost-date-time-dev libtinyxml-dev librhash-dev help2man
$ tar -xvzf lgogdownloader-2.17.tar.gz
$ cd lgogdownloader-2.17
$ make release
$ sudo make install
If you are an Archlinux user, an [AUR package][2] is waiting for you.
### Usage of LGOGDownloader ###
Once the program is installed, you will need to identify yourself with the command:
$ lgogdownloader --login
![](https://farm6.staticflickr.com/5593/15121593346_9c5d02d5ce_z.jpg)
Notice that the configuration file if you need it is at ~/.config/lgogdownloader/config.cfg
Once authenticated, you can list all the games in your library with:
$ lgogdownloader --list
![](https://farm6.staticflickr.com/5581/14958040387_8321bb71cf.jpg)
Then download one with:
$ lgogdownloader --download --game [game name]
![](https://farm6.staticflickr.com/5585/14958040367_b1c584a2d1_z.jpg)
You will notice that lgogdownloader allows you to resume previously interrupted downloads, which is nice because typical game downloads are not small.
Like every respectable command line utility, you can add various options:
- **--platform [number]** to select your OS where 1 is for windows and 4 for Linux.
- **--directory [destination]** to download the installer in a particular directory.
- **--language [number]** for a particular language pack (check the manual pages for the number corresponding to your language).
- **--limit-rate [speed]** to limit the downloading rate at a particular speed.
As a side bonus, lgogdownloader also comes with the possibility to check for updates on the GOG website:
$ lgogdownloader --update-check
![](https://farm4.staticflickr.com/3882/14958035568_7889acaef0.jpg)
The result will list the number of forum and private messages you have received, as well as the number of updated games.
To conclude, lgogdownloader is pretty standard when it comes to command line utilities. I would even say that it is an epitome of clarity and coherence. It is true that we are far in term of features from the relatively recent Steam Linux client, but on the other hand, the official GOG windows client does not do much more than this unofficial Linux version. In other words lgogdownloader is a perfect replacement. I cannot wait to see more Linux compatible games on GOG, especially after their recent announcements to offer DRM free movies, with a thematic around video games. Hopefully we will see an update in the client for when movie catalog matches the game library.
What do you think of GOG? Would you use the unofficial Linux Client? Let us know in the comments.
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/09/download-gog-games-command-line-linux.html
作者:[Adrien Brochard][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/adrien
[1]:http://www.gog.com/
[2]:https://sites.google.com/site/gogdownloader/home
[3]:https://aur.archlinux.org/packages/lgogdownloader/

View File

@ -0,0 +1,155 @@
How to monitor server memory usage with Nagios Remote Plugin Executor (NRPE)
================================================================================
In a [previous tutorial][1]注:此篇文章在同一个更新中,如果也翻译了,发布的时候可修改相应的链接, we have seen how we can set up Nagios Remote Plugin Executor (NRPE) in an existing Nagios setup. However, the scripts and plugins needed to monitor memory usage do not come with stock Nagios. In this tutorial, we will see how we can configure NRPE to monitor RAM usage of a remote server.
The script that we will use for monitoring RAM is available at [Nagios Exchange][2], as well as the creators' [Github repository][3].
Assuming that NRPE has already been set up, we start the process by downloading the script in the server that we want to monitor.
### Preparing Remote Servers ###
#### On Debain/Ubuntu: ####
# cd /usr/lib/nagios/plugins/
# wget https://raw.githubusercontent.com/justintime/nagios-plugins/master/check_mem/check_mem.pl
# mv check_mem.pl check_mem
# chmod +x check_mem
#### On RHEL/CentOS: ####
# cd /usr/lib64/nagios/plugins/ (or /usr/lib/nagios/plugins/ for 32-bit)
# wget https://raw.githubusercontent.com/justintime/nagios-plugins/master/check_mem/check_mem.pl
# mv check_mem.pl check_mem
# chmod +x check_mem
You can check whether the script generates output properly by manually running the following command on localhost. When used with NRPE, this command is supposed to check free memory, warn when free memory is less than 20%, and generate critical alarm when free memory is less than 10%.
# ./check_mem -f -w 20 -c 10
----------
OK - 34.0% (2735744 kB) free.|TOTAL=8035340KB;;;; USED=5299596KB;6428272;7231806;; FREE=2735744KB;;;; CACHES=2703504KB;;;;
If you see something like the above as an output, that means the command is working okay.
Now that the script is ready, we define the command to check RAM usage for NRPE. As mentioned before, the command will check free memory, warn when free memory is less than 20%, and generate critical alarm when free memory is less than 10%.
# vim /etc/nagios/nrpe.cfg
#### For Debian/Ubuntu: ####
command[check_mem]=/usr/lib/nagios/plugins/check_mem -f -w 20 -c 10
#### For RHEL/CentOS 32 bit: ####
command[check_mem]=/usr/lib/nagios/plugins/check_mem -f -w 20 -c 10
#### For RHEL/CentOS 64 bit: ####
command[check_mem]=/usr/lib64/nagios/plugins/check_mem -f -w 20 -c 10
### Preparing Nagios Server ###
In the Nagios server, we define a custom command for NRPE. The command can be stored in any directory within Nagios. To keep the tutorial simple, we will put the command definition in /etc/nagios directory.
#### For Debian/Ubuntu: ####
# vim /etc/nagios3/conf.d/nrpe_command.cfg
----------
define command{
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$' -c '$ARG1$'
}
#### For RHEL/CentOS 32 bit: ####
# vim /etc/nagios/objects/nrpe_command.cfg
----------
define command{
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
#### For RHEL/CentOS 64 bit: ####
# vim /etc/nagios/objects/nrpe_command.cfg
----------
define command{
command_name check_nrpe
command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Now we define the service check in Nagios.
#### On Debian/Ubuntu: ####
# vim /etc/nagios3/conf.d/nrpe_service_check.cfg
----------
define service{
use local-service
host_name remote-server
service_description Check RAM
check_command check_nrpe!check_mem
}
#### On RHEL/CentOS: ####
# vim /etc/nagios/objects/nrpe_service_check.cfg
----------
define service{
use local-service
host_name remote-server
service_description Check RAM
check_command check_nrpe!check_mem
}
Finally, we restart the Nagios service.
#### On Debian/Ubuntu: ####
# service nagios3 restart
#### On RHEL/CentOS 6: ####
# service nagios restart
#### On RHEL/CentOS 7: ####
# systemctl restart nagios.service
### Troubleshooting ###
Nagios should start checking RAM usage of a remote-server using NRPE. If you are having any problem, you could check the following.
- Make sure that NRPE port is allowed all the way to the remote host. Default NRPE port is TCP 5666.
- You could try manually checking NRPE operation by executing the check_nrpe command: /usr/lib/nagios/plugins/check_nrpe -H remote-server
- You could also try to run the check_mem command manually: /usr/lib/nagios/plugins/check_nrpe -H remote-server c check_mem
- In the remote server, set debug=1 in /etc/nagios/nrpe.cfg. Restart the NRPE service and check the log file /var/log/messages (RHEL/CentOS) or /var/log/syslog (Debain/Ubuntu). The log files should contain relevant information if there is any configuration or permission errors. If there are not hits in the log, it is very likely that the requests are not reaching the remote server due to port filtering at some point.
To sum up, this tutorial demonstrated how we can easily tune NRPE to monitor RAM usage of remote servers. The process is as simple as downloading the script, defining the commands, and restarting the services. Hope this helps.
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/09/monitor-server-memory-usage-nagios-remote-plugin-executor.html
作者:[Sarmed Rahman][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/sarmed
[1]:http://xmodulo.com/2014/03/nagios-remote-plugin-executor-nrpe-linux.html
[2]:http://exchange.nagios.org/directory/Plugins/Operating-Systems/Solaris/check_mem-2Epl/details
[3]:https://github.com/justintime/nagios-plugins/blob/master/check_mem/check_mem.pl

View File

@ -0,0 +1,236 @@
How to set up Nagios Remote Plugin Executor (NRPE) in Linux
================================================================================
As far as network management is concerned, Nagios is one of the most powerful tools. Nagios can monitor the reachability of remote hosts, as well as the state of services running on them. However, what if we want to monitor something other than network services for a remote host? For example, we may want to monitor the disk utilization or [CPU processor load][1] of a remote host. Nagios Remote Plugin Executor (NRPE) is a tool that can help with doing that. NRPE allows one to execute Nagios plugins installed on remote hosts, and integrate them with an [existing Nagios server][2].
This tutorial will cover how to set up NRPE on an existing Nagios deployment. The tutorial is primarily divided into two parts:
- Configure remote hosts.
- Configure a Nagios monitoring server.
We will then finish off by defining some custom commands that can be used with NRPE.
### Configure Remote Hosts for NRPE ###
#### Step One: Installing NRPE Service ####
You need to install NRPE service on every remote host that you want to monitor using NRPE. NRPE service daemon on each remote host will then communicate with a Nagios monitoring server.
Necessary packages for NRPE service can easily be installed using apt-get or yum, subject to the platform. In case of CentOS, we will need to [add Repoforge repository][3] as NRPE is not available in CentOS repositories.
**On Debian, Ubuntu or Linux Mint:**
# apt-get install nagios-nrpe-server
**On CentOS, Fedora or RHEL:**
# yum install nagios-nrpe
#### Step Two: Preparing Configuration File ####
The configuration file /etc/nagios/nrpe.cfg is similar for Debian-based and RedHat-based systems. The configuration file is backed up, and then updated as follows.
# vim /etc/nagios/nrpe.cfg
----------
## NRPE service port can be customized ##
server_port=5666
## the nagios monitoring server is permitted ##
## NOTE: There is no space after the comma ##
allowed_hosts=127.0.0.1,X.X.X.X-IP_v4_of_Nagios_server
## The following examples use hard-coded command arguments.
## These parameters can be modified as needed.
## NOTE: For CentOS 64 bit, use /usr/lib64 instead of /usr/lib ##
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
Now that the configuration file is ready, NRPE service is ready to be fired up.
#### Step Three: Initiating NRPE Service ####
For RedHat-based systems, the NRPE service needs to be added as a startup service.
**On Debian, Ubuntu, Linux Mint:**
# service nagios-nrpe-server restart
**On CentOS, Fedora or RHEL:**
# service nrpe restart
# chkconfig nrpe on
#### Step Four: Verifying NRPE Service Status ####
Information about NRPE daemon status can be found in the system log. For a Debian-based system, the log file will be /var/log/syslog. The log file for a RedHat-based system will be /var/log/messages. A sample log is provided below for reference.
nrpe[19723]: Starting up daemon
nrpe[19723]: Listening for connections on port 5666
nrpe[19723]: Allowing connections from: 127.0.0.1,X.X.X.X
In case firewall is running, TCP port 5666 should be open, which is used by NRPE daemon.
# netstat -tpln | grep 5666
----------
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 19885/nrpe
### Configure Nagios Monitoring Server for NRPE ###
The first step in configuring an existing Nagios monitoring server for NRPE is to install NRPE plugin on the server.
#### Step One: Installing NRPE Plugin ####
In case the Nagios server is running on a Debian-based system (Debian, Ubuntu or Linux Mint), a necessary package can be installed using apt-get.
# apt-get install nagios-nrpe-plugin
After the plugin is installed, the check_nrpe command, which comes with the plugin, is modified a bit.
# vim /etc/nagios-plugins/config/check_nrpe.cfg
----------
## the default command is overwritten ##
define command{
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$' -c '$ARG1$'
}
In case the Nagios server is running on a RedHat-based system (CentOS, Fedora or RHEL), you can install NRPE plugin using yum. On CentOS, [adding Repoforge repository][4] is necessary.
# yum install nagios-plugins-nrpe
Now that the NRPE plugin is installed, proceed to configure a Nagios server following the rest of the steps.
#### Step Two: Defining Nagios Command for NRPE Plugin ####
First, we need to define a command in Nagios for using NRPE.
# vim /etc/nagios/objects/commands.cfg
----------
## NOTE: For CentOS 64 bit, use /usr/lib64 instead of /usr/lib ##
define command{
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$' -c '$ARG1$'
}
#### Step Three: Adding Host and Command Definition ####
Next, define remote host(s) and commands to execute remotely on them.
The following shows sample definitions of a remote host a command to execute on the host. Naturally, your configuration will be adjusted based on your requirements. The path to the file is slightly different for Debian-based and RedHat-based systems. But the content of the files are identical.
**On Debian, Ubuntu or Linux Mint:**
# vim /etc/nagios3/conf.d/nrpe.cfg
**On CentOS, Fedora or RHEL:**
# vim /etc/nagios/objects/nrpe.cfg
----------
define host{
use linux-server
host_name server-1
alias server-1
address X.X.X.X-IPv4_address_of_remote_host
}
define service {
host_name server-1
service_description Check Load
check_command check_nrpe!check_load
check_interval 1
use generic-service
}
#### Step Four: Restarting Nagios Service ####
Before restarting Nagios, updated configuration is verified with a dry run.
**On Ubuntu, Debian, or Linux Mint:**
# nagios3 -v /etc/nagios3/nagios.cfg
**On CentOS, Fedora or RHEL:**
# nagios -v /etc/nagios/nagios.cfg
If everything goes well, Nagios service can be restarted.
# service nagios restart
![](https://farm8.staticflickr.com/7024/13330387845_0bde8b6db5_z.jpg)
### Configuring Custom Commands with NRPE ###
#### Setup on Remote Servers ####
The following is a list of custom commands that can be used with NRPE. These commands are defined in the file /etc/nagios/nrpe.cfg located at the remote servers.
## Warning status when load average exceeds 1, 2 and 1 for 1, 5, 15 minute interval, respectively.
## Critical status when load average exceeds 3, 5 and 3 for 1, 5, 15 minute interval, respectively.
command[check_load]=/usr/lib/nagios/plugins/check_load -w 1,2,1 -c 3,5,3
## Warning level 25% and critical level 10% for free space of /home.
## Could be customized to monitor any partition (e.g. /dev/sdb1, /, /var, /home)
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 25% -c 10% -p /home
## Warn if number of instances for process_ABC exceeds 10. Critical for 20 ##
command[check_process_ABC]=/usr/lib/nagios/plugins/check_procs -w 1:10 -c 1:20 -C process_ABC
## Critical if the number of instances for process_XYZ drops below 1 ##
command[check_process_XYZ]=/usr/lib/nagios/plugins/check_procs -w 1: -c 1: -C process_XYZ
#### Setup on Nagios Monitoring Server ####
To apply the custom commands defined above, we modify the service definition at Nagios monitoring server as follows. The service definition could go to the file where all the services are defined (e.g., /etc/nagios/objects/nrpe.cfg or /etc/nagios3/conf.d/nrpe.cfg)
## example 1: check process XYZ ##
define service {
host_name server-1
service_description Check Process XYZ
check_command check_nrpe!check_process_XYZ
check_interval 1
use generic-service
}
## example 2: check disk state ##
define service {
host_name server-1
service_description Check Process XYZ
check_command check_nrpe!check_disk
check_interval 1
use generic-service
}
To sum up, NRPE is a powerful add-on to Nagios as it provides provision for monitoring a remote server in a highly configurable fashion. Using NRPE, we can monitor server load, running processes, logged in users, disk states and other parameters.
Hope this helps.
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/03/nagios-remote-plugin-executor-nrpe-linux.html
作者:[Sarmed Rahman][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/sarmed
[1]:http://xmodulo.com/2012/08/how-to-measure-average-cpu-utilization.html
[2]:http://xmodulo.com/2013/12/install-configure-nagios-linux.html
[3]:http://xmodulo.com/2013/01/how-to-set-up-rpmforge-repoforge-repository-on-centos.html
[4]:http://xmodulo.com/2013/01/how-to-set-up-rpmforge-repoforge-repository-on-centos.html

View File

@ -0,0 +1,404 @@
20 Useful Commands of Sysstat Utilities (mpstat, pidstat, iostat and sar) for Linux Performance Monitoring
================================================================================
In our last article, we have learned about installing and upgrading the **sysstat** package and understanding briefly about the utilities which comes with the package.
注:此文一并附上,在同一个原文更新中
- [Sysstat Performance and Usage Activity Monitoring Tool For Linux][1]
![20 Sysstat Commands for Linux Monitoring](http://www.tecmint.com/wp-content/uploads/2014/09/sysstat-commands.png)
20 Sysstat Commands for Linux Monitoring
Today, we are going to work with some interesting practical examples of **mpstat, pidstat, iostat** and **sar** utilities, which can help us to identify the issues. We have different options to use these utilities, I mean you can fire the commands manually with different options for different kind of work or you can create your customized scripts according to your requirements. You know Sysadmins are always bit Lazy, and always tried to find out the easy way to do the things with minimum efforts.
### mpstat Processors Statistics ###
1.Using mpstat command without any option, will display the Global Average Activities by All CPUs.
tecmint@tecmint ~ $ mpstat
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:23:57 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:23:57 IST all 37.35 0.01 4.72 2.96 0.00 0.07 0.00 0.00 0.00 54.88
2.Using mpstat with option **-P** (Indicate Processor Number) and ALL, will display statistics about all CPUs one by one starting from 0. 0 will the first one.
tecmint@tecmint ~ $ mpstat -P ALL
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:29:26 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:29:26 IST all 37.33 0.01 4.57 2.58 0.00 0.07 0.00 0.00 0.00 55.44
12:29:26 IST 0 37.90 0.01 4.96 2.62 0.00 0.03 0.00 0.00 0.00 54.48
12:29:26 IST 1 36.75 0.01 4.19 2.54 0.00 0.11 0.00 0.00 0.00 56.40
3.To display the statistics for **N** number of iterations after n seconds interval with average of each cpu use the following command.
tecmint@tecmint ~ $ mpstat -P ALL 2 5
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:36:21 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:36:23 IST all 53.38 0.00 2.26 0.00 0.00 0.00 0.00 0.00 0.00 44.36
12:36:23 IST 0 46.23 0.00 1.51 0.00 0.00 0.00 0.00 0.00 0.00 52.26
12:36:23 IST 1 60.80 0.00 3.02 0.00 0.00 0.00 0.00 0.00 0.00 36.18
12:36:23 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:36:25 IST all 34.18 0.00 2.30 0.00 0.00 0.00 0.00 0.00 0.00 63.52
12:36:25 IST 0 31.63 0.00 1.53 0.00 0.00 0.00 0.00 0.00 0.00 66.84
12:36:25 IST 1 36.73 0.00 2.55 0.00 0.00 0.00 0.00 0.00 0.00 60.71
12:36:25 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:36:27 IST all 33.42 0.00 5.06 0.25 0.00 0.25 0.00 0.00 0.00 61.01
12:36:27 IST 0 34.34 0.00 4.04 0.00 0.00 0.00 0.00 0.00 0.00 61.62
12:36:27 IST 1 32.82 0.00 6.15 0.51 0.00 0.00 0.00 0.00 0.00 60.51
4.The option **I** will print total number of interrupt statistics about per processor.
tecmint@tecmint ~ $ mpstat -I
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:39:56 IST CPU intr/s
12:39:56 IST all 651.04
12:39:56 IST CPU 0/s 1/s 6/s 8/s 9/s 12/s 16/s 17/s 20/s 21/s 22/s 23/s 45/s 46/s 47/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s MCE/s MCP/s ERR/s MIS/s
12:39:56 IST 0 76.27 1.73 0.00 0.00 0.42 0.33 0.00 0.06 11.46 0.00 0.00 0.01 7.62 1.87 0.05 0.33 182.26 0.00 0.33 3.03 0.00 22.66 0.16 5.14 0.00 0.00 0.00 0.00 0.00 0.00
12:39:56 IST 1 70.88 1.44 0.00 0.00 0.41 0.33 0.00 27.91 10.33 0.00 0.00 0.01 7.27 1.79 0.05 0.32 184.11 0.00 0.32 5.17 0.00 22.09 0.13 4.73 0.00 0.00 0.00 0.00 0.00 0.00
12:39:56 IST CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s
12:39:56 IST 0 0.00 116.49 0.05 0.27 7.33 0.00 1.22 10.44 0.13 37.47
12:39:56 IST 1 0.00 111.65 0.05 0.41 7.07 0.00 56.36 9.97 0.13 41.38
5.Get all the above information in one command i.e. equivalent to “**-u -I ALL -p ALL**“.
tecmint@tecmint ~ $ mpstat -A
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:41:39 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:41:39 IST all 38.70 0.01 4.47 2.01 0.00 0.06 0.00 0.00 0.00 54.76
12:41:39 IST 0 39.15 0.01 4.82 2.05 0.00 0.02 0.00 0.00 0.00 53.95
12:41:39 IST 1 38.24 0.01 4.12 1.98 0.00 0.09 0.00 0.00 0.00 55.57
12:41:39 IST CPU intr/s
12:41:39 IST all 651.73
12:41:39 IST 0 173.16
12:41:39 IST 1 225.89
12:41:39 IST CPU 0/s 1/s 6/s 8/s 9/s 12/s 16/s 17/s 20/s 21/s 22/s 23/s 45/s 46/s 47/s NMI/s LOC/s SPU/s PMI/s IWI/s RTR/s RES/s CAL/s TLB/s TRM/s THR/s MCE/s MCP/s ERR/s MIS/s
12:41:39 IST 0 76.04 1.77 0.00 0.00 0.41 0.36 0.00 0.06 11.60 0.00 0.00 0.01 7.42 1.83 0.05 0.34 182.89 0.00 0.34 2.97 0.00 22.69 0.16 5.22 0.00 0.00 0.00 0.00 0.00 0.00
12:41:39 IST 1 70.70 1.48 0.00 0.00 0.40 0.36 0.00 27.47 10.46 0.00 0.00 0.01 7.08 1.75 0.05 0.32 184.83 0.00 0.32 5.10 0.00 22.19 0.13 4.91 0.00 0.00 0.00 0.00 0.00 0.00
12:41:39 IST CPU HI/s TIMER/s NET_TX/s NET_RX/s BLOCK/s BLOCK_IOPOLL/s TASKLET/s SCHED/s HRTIMER/s RCU/s
12:41:39 IST 0 0.00 116.96 0.05 0.26 7.12 0.00 1.24 10.42 0.12 36.99
12:41:39 IST 1 0.00 112.25 0.05 0.40 6.88 0.00 55.05 9.93 0.13 41.20
### pidstat Process and Kernel Threads Statistics ###
This is used for process monitoring and current threads, which are being managed by kernel. pidstat can also check the status about child processes and threads.
#### Syntax ####
# pidstat <OPTIONS> [INTERVAL] [COUNT]
6.Using pidstat command without any argument, will display all active tasks.
tecmint@tecmint ~ $ pidstat
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:47:24 IST UID PID %usr %system %guest %CPU CPU Command
12:47:24 IST 0 1 0.01 0.12 0.00 0.13 1 init
12:47:24 IST 0 3 0.00 0.01 0.00 0.01 0 ksoftirqd/0
12:47:24 IST 0 9 0.00 0.04 0.00 0.04 0 rcu_sched
12:47:24 IST 0 10 0.00 0.00 0.00 0.00 0 watchdog/0
12:47:24 IST 0 11 0.00 0.00 0.00 0.00 1 watchdog/1
12:47:24 IST 0 12 0.00 0.00 0.00 0.00 1 migration/1
12:47:24 IST 0 13 0.00 0.01 0.00 0.01 1 ksoftirqd/1
12:47:24 IST 0 23 0.00 0.00 0.00 0.00 0 kworker/u9:0
12:47:24 IST 0 29 0.00 0.61 0.00 0.61 0 kworker/0:1
12:47:24 IST 0 30 0.00 0.06 0.00 0.06 1 kworker/1:1
12:47:24 IST 0 224 0.00 0.01 0.00 0.01 1 jbd2/sda1-8
12:47:24 IST 0 360 0.00 0.00 0.00 0.00 1 upstart-udev-br
12:47:24 IST 0 365 0.01 0.00 0.00 0.01 0 systemd-udevd
12:47:24 IST 0 476 0.00 0.00 0.00 0.00 0 kworker/u9:1
7.To print all active and non-active tasks use the option **-p** (processes).
tecmint@tecmint ~ $ pidstat -p ALL
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
12:51:55 IST UID PID %usr %system %guest %CPU CPU Command
12:51:55 IST 0 1 0.01 0.11 0.00 0.12 1 init
12:51:55 IST 0 2 0.00 0.00 0.00 0.00 0 kthreadd
12:51:55 IST 0 3 0.00 0.01 0.00 0.01 0 ksoftirqd/0
12:51:55 IST 0 5 0.00 0.00 0.00 0.00 0 kworker/0:0H
12:51:55 IST 0 7 0.00 0.00 0.00 0.00 0 migration/0
12:51:55 IST 0 8 0.00 0.00 0.00 0.00 0 rcu_bh
12:51:55 IST 0 9 0.00 0.04 0.00 0.04 1 rcu_sched
12:51:55 IST 0 10 0.00 0.00 0.00 0.00 0 watchdog/0
12:51:55 IST 0 11 0.00 0.00 0.00 0.00 1 watchdog/1
12:51:55 IST 0 12 0.00 0.00 0.00 0.00 1 migration/1
12:51:55 IST 0 13 0.00 0.01 0.00 0.01 1 ksoftirqd/1
12:51:55 IST 0 15 0.00 0.00 0.00 0.00 1 kworker/1:0H
12:51:55 IST 0 16 0.00 0.00 0.00 0.00 1 khelper
12:51:55 IST 0 17 0.00 0.00 0.00 0.00 0 kdevtmpfs
12:51:55 IST 0 18 0.00 0.00 0.00 0.00 0 netns
12:51:55 IST 0 19 0.00 0.00 0.00 0.00 0 writeback
12:51:55 IST 0 20 0.00 0.00 0.00 0.00 1 kintegrityd
8.Using pidstat command with **-d 2** option, we can get I/O statistics and 2 is interval in seconds to get refreshed statistics. This option can be handy in situation, where your system is undergoing heavy I/O and you want to get clues about the processes consuming high resources.
tecmint@tecmint ~ $ pidstat -d 2
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
03:26:53 EDT PID kB_rd/s kB_wr/s kB_ccwr/s Command
03:26:55 EDT PID kB_rd/s kB_wr/s kB_ccwr/s Command
03:26:57 EDT 574 0.00 148.00 2.00 miniserv.pl
03:27:01 EDT PID kB_rd/s kB_wr/s kB_ccwr/s Command
03:27:03 EDT 1 0.00 8.00 2.00 init
03:27:03 EDT 450 0.00 2.00 0.00 rsyslogd
03:27:03 EDT 534 138.00 10.00 4.00 crond
03:27:03 EDT 25100 0.00 6.00 0.00 sendmail
03:27:03 EDT 30829 0.00 6.00 0.00 java
9.To know the cpu statistics along with all threads about the process id **4164** at interval of **2** sec for **3** times use the following command with option -t (display statistics of selected process).
tecmint@tecmint ~ $ pidstat -t -p 4164 2 3
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
01:09:06 IST UID TGID TID %usr %system %guest %CPU CPU Command
01:09:08 IST 1000 4164 - 22.00 1.00 0.00 23.00 1 firefox
01:09:08 IST 1000 - 4164 20.00 0.50 0.00 20.50 1 |__firefox
01:09:08 IST 1000 - 4171 0.00 0.00 0.00 0.00 0 |__Gecko_IOThread
01:09:08 IST 1000 - 4172 0.00 0.00 0.00 0.00 0 |__Socket
01:09:08 IST 1000 - 4173 0.00 0.00 0.00 0.00 0 |__JS
01:09:08 IST 1000 - 4174 0.00 0.00 0.00 0.00 0 |__JS
01:09:08 IST 1000 - 4175 0.00 0.00 0.00 0.00 0 |__Hang
01:09:08 IST 1000 - 4176 0.00 0.00 0.00 0.00 1 |__gdbus
01:09:08 IST 1000 - 4177 0.00 0.00 0.00 0.00 1 |__gmain
10.Use the **-rh** option, to know the about memory utilization of processes which are frequently varying their utilization in **2** second interval.
tecmint@tecmint ~ $ pidstat -rh 2 3
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
# Time UID PID minflt/s majflt/s VSZ RSS %MEM Command
1409816695 1000 3958 3378.22 0.00 707420 215972 5.32 cinnamon
1409816695 1000 4164 406.93 0.00 1252024 461404 11.36 firefox
1409816695 1000 6676 168.81 0.00 4436 984 0.02 pidstat
# Time UID PID minflt/s majflt/s VSZ RSS %MEM Command
1409816697 0 1601 644.00 0.00 506728 316788 7.80 Xorg
1409816697 1000 3958 3412.00 0.00 707420 215972 5.32 cinnamon
1409816697 1000 4164 2667.00 0.00 1259576 471724 11.62 firefox
1409816697 1000 6676 172.50 0.00 4436 1020 0.03 pidstat
# Time UID PID minflt/s majflt/s VSZ RSS %MEM Command
1409816699 0 1601 644.00 0.00 506728 316788 7.80 Xorg
1409816699 1000 3958 4094.00 0.00 710148 218700 5.39 cinnamon
1409816699 1000 4164 599.00 0.00 1261944 476664 11.74 firefox
1409816699 1000 6676 168.00 0.00 4436 1020 0.03 pidstat
11.To print all the process of containing string “**VB**“, use **-t** option to see threads as well.
tecmint@tecmint ~ $ pidstat -G VB
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
01:09:06 IST UID PID %usr %system %guest %CPU CPU Command
01:09:08 IST 1000 1492 22.00 1.00 0.00 23.00 1 VBoxService
01:09:08 IST 1000 1902 4164 20.00 0.50 0.00 20.50 VBoxClient
01:09:08 IST 1000 1922 4171 0.00 0.00 0.00 0.00 VBoxClient
----------
tecmint@tecmint ~ $ pidstat -t -G VB
Linux 2.6.32-431.el6.i686 (tecmint) 09/04/2014 _i686_ (2 CPU)
03:19:52 PM UID TGID TID %usr %system %guest %CPU CPU Command
03:19:52 PM 0 1479 - 0.01 0.12 0.00 0.13 1 VBoxService
03:19:52 PM 0 - 1482 0.00 0.00 0.00 0.00 0 |__timesync
03:19:52 PM 0 - 1483 0.01 0.06 0.00 0.06 0 |__vminfo
03:19:52 PM 0 - 1485 0.00 0.01 0.00 0.01 1 |__memballoon
03:19:52 PM 0 - 1486 0.00 0.01 0.00 0.01 1 |__vmstats
03:19:52 PM 0 - 1487 0.00 0.05 0.00 0.05 0 |__automount
03:19:52 PM 0 1913 - 0.00 0.00 0.00 0.00 0 VBoxClient
03:19:52 PM 0 - 1913 0.00 0.00 0.00 0.00 0 |__VBoxClient
03:19:52 PM 0 - 1942 0.00 0.00 0.00 0.00 0 |__SHCLIP
03:19:52 PM 0 1933 - 0.04 0.89 0.00 0.93 0 VBoxClient
03:19:52 PM 0 - 1936 0.04 0.89 0.00 0.93 1 |__X11-NOTIFY
12.To get realtime priority and scheduling information use option **-R** .
tecmint@tecmint ~ $ pidstat -R
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
01:09:06 IST UID PID prio policy Command
01:09:08 IST 1000 3 99 FIFO migration/0
01:09:08 IST 1000 5 99 FIFO migration/0
01:09:08 IST 1000 6 99 FIFO watchdog/0
Here, I am not going to cover about Iostat utility, as we are already covered it. Please have a look on “[Linux Performance Monitoring with Vmstat and Iostat][2]注:此文也一并附上在同一个原文更新中” to get all details about iostat.
### sar System Activity Reporter ###
Using “**sar**” command, we can get the reports about whole systems performance. This can help us to locate the system bottleneck and provide the help to find out the solutions to these annoying performance issues.
The Linux Kernel maintains some counter internally, which keeps track of all requests, their completion time and I/O block counts etc. From all these information, sar calculates rates and ratio of these request to find out about bottleneck areas.
The main thing about the sar is that, it reports all activities over a period if time. So, make sure that sar collect data on appropriate time (not on Lunch time or on weekend.:)
13.Following is a basic command to invoke sar. It will create one file named “**sarfile**” in your current directory. The options **-u** is for CPU details and will collect **5** reports at an interval of **2** seconds.
tecmint@tecmint ~ $ sar -u -o sarfile 2 5
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
01:42:28 IST CPU %user %nice %system %iowait %steal %idle
01:42:30 IST all 36.52 0.00 3.02 0.00 0.00 60.45
01:42:32 IST all 43.32 0.00 5.04 0.00 0.00 51.64
01:42:34 IST all 56.46 0.00 4.05 0.00 0.00 39.49
01:42:36 IST all 44.44 0.00 3.79 0.00 0.00 51.77
01:42:38 IST all 50.75 0.00 3.75 0.00 0.00 45.50
Average: all 46.30 0.00 3.93 0.00 0.00 49.77
14.In the above example, we have invoked sar interactively. We also have an option to invoke it non-interactively via cron using scripts **/usr/local/lib/sa1** and **/usr/local/lib/sa2** (If you have used **/usr/local** as prefix during installation time).
- **/usr/local/lib/sa1** is a shell script that we can use for scheduling cron which will create daily binary log file.
- **/usr/local/lib/sa2** is a shell script will change binary log file to human-readable form.
Use the following Cron entries for making this non-interactive:
# Run sa1 shell script every 10 minutes for collecting data
*/2 * * * * /usr/local/lib/sa/sa1 2 10
# Generate a daily report in human readable format at 23:53
53 23 * * * /usr/local/lib/sa/sa2 -A
At the back-end sa1 script will call **sadc** (System Activity Data Collector) utility for fetching the data at a particular interval. **sa2** will call sar for changing binary log file to human readable form.
15.Check run queue length, total number of processes and load average using **-q** option.
tecmint@tecmint ~ $ sar -q 2 5
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
02:00:44 IST runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
02:00:46 IST 1 431 1.67 1.22 0.97 0
02:00:48 IST 4 431 1.70 1.23 0.97 0
02:00:50 IST 2 431 1.70 1.23 0.97 0
02:00:52 IST 2 431 1.70 1.23 0.97 0
02:00:54 IST 0 431 1.64 1.23 0.97 0
Average: 2 431 1.68 1.23 0.97 0
16.Check statistics about the mounted file systems using **-F**.
tecmint@tecmint ~ $ sar -F 2 4
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
02:02:31 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
02:02:33 IST 1001 449 30.95 1213790475088.85 18919505 364463 1.89 /dev/sda1
02:02:33 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
02:02:35 IST 1001 449 30.95 1213790475088.85 18919505 364463 1.89 /dev/sda1
02:02:35 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
02:02:37 IST 1001 449 30.95 1213790475088.85 18919505 364463 1.89 /dev/sda1
02:02:37 IST MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
02:02:39 IST 1001 449 30.95 1213790475088.86 18919505 364463 1.89 /dev/sda1
Summary MBfsfree MBfsused %fsused %ufsused Ifree Iused %Iused FILESYSTEM
Summary 1001 449 30.95 1213790475088.86 18919505 364463 1.89 /dev/sda1
17.View network statistics using **-n DEV**.
tecmint@tecmint ~ $ sar -n DEV 1 3 | egrep -v lo
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
02:11:59 IST IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
02:12:00 IST wlan0 8.00 10.00 1.23 0.92 0.00 0.00 0.00
02:12:00 IST vmnet8 0.00 0.00 0.00 0.00 0.00 0.00 0.00
02:12:00 IST eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
02:12:00 IST vmnet1 0.00 0.00 0.00 0.00 0.00 0.00 0.00
18.View block device statistics like iostat using **-d**.
tecmint@tecmint ~ $ sar -d 1 3
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
02:13:17 IST DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
02:13:18 IST dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
02:13:18 IST DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
02:13:19 IST dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
02:13:19 IST DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
02:13:20 IST dev8-0 7.00 32.00 80.00 16.00 0.11 15.43 15.43 10.80
19.To print memory statistics use **-r** option.
tecmint@tecmint ~ $ sar -r 1 3
Linux 3.11.0-23-generic (tecmint.com) Thursday 04 September 2014 _i686_ (2 CPU)
02:14:29 IST kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
02:14:30 IST 1465660 2594840 63.90 133052 1549644 3710800 45.35 1133148 1359792 392
02:14:31 IST 1472724 2587776 63.73 133060 1549792 3715504 45.40 1125816 1360000 836
02:14:32 IST 1469112 2591388 63.82 133060 1550036 3705288 45.28 1130252 1360168 804
Average: 1469165 2591335 63.82 133057 1549824 3710531 45.34 1129739 1359987 677
20.Using **sadf -d**, we can extract data in format which can be processed using databases.
tecmint@tecmint ~ $ safd -d /var/log/sa/sa20140903 -- -n DEV | grep -v lo
# hostname;interval;timestamp;IFACE;rxpck/s;txpck/s;rxkB/s;txkB/s;rxcmp/s;txcmp/s;rxmcst/s;%ifutil
tecmint;2;2014-09-03 07:53:29 UTC;eth0;1.50;0.00;0.13;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 07:53:31 UTC;eth0;2.00;0.00;0.18;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 07:53:33 UTC;eth0;1.00;0.00;0.09;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 07:53:35 UTC;eth0;2.00;0.00;0.18;0.00;0.00;0.00;0.00;0.00
tecmint;14778;2014-09-03 11:59:54 UTC;eth0;1.78;1.17;1.10;0.18;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 11:59:56 UTC;eth0;3.50;3.00;0.60;0.77;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 11:59:58 UTC;eth0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:00 UTC;eth0;0.00;0.00;0.00;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:02 UTC;eth0;0.50;0.50;0.48;0.03;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:04 UTC;eth0;2.50;3.50;0.21;2.05;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:06 UTC;eth0;1.49;1.00;0.62;0.06;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:08 UTC;eth0;0.50;0.00;0.03;0.00;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:10 UTC;eth0;0.50;0.50;0.03;0.04;0.00;0.00;0.00;0.00
tecmint;2;2014-09-03 12:00:12 UTC;eth0;1.00;0.50;0.12;0.04;0.00;0.00;0.00;0.00
You can also save this to a csv and then can draw chart for presentation kind of stuff as below.
![Network Graph](http://www.tecmint.com/wp-content/uploads/2014/09/sar-graph.png)
Network Graph
Thats it for now, you can refer man pages for more information about each option and dont forget to tell about article with your valuable comments.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/sysstat-commands-to-monitor-linux/
作者:[Kuldeep Sharma][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/kuldeepsharma47/
[1]:http://www.tecmint.com/install-sysstat-in-linux/
[2]:http://www.tecmint.com/linux-performance-monitoring-with-vmstat-and-iostat-commands/

View File

@ -0,0 +1,61 @@
johnhoow translating...
Install UberWriter Markdown Editor In Ubuntu 14.04
================================================================================
Quick tutorial to show you **how to install UberWriter markdown editor in Ubuntu 14.04** for free via official PPA.
[UberWriter][1] is a [markdown][2] editor for Ubuntu with a clean interface with focus on writing only. UberWriter utilizes [pandoc][3] markdown. The UI is based on GTK3 which is not yet fully integrated with Unity. A quick list of features for UberWriter is as following:
- Clean interface
- pandoc markdown
- Preview option
- Distraction free “focus mode”
- Spell check
- Syntax highlighting and math in html and pdf
- Option to export as PDF, HTML, ODT etc
### Install UberWriter in Ubuntu 14.04 ###
UberWriter is available in [Ubuntu Software Center][4] but it costs $5. I would really recommend that you buy it, if you like it and if you can afford it to support the developer.
UberWriter is also available for free via its official PPA. You can install it using the following commands in terminal:
sudo add-apt-repository ppa:w-vollprecht/ppa
sudo apt-get update
sudo apt-get install uberwriter
Once installed, you can run it from Unity Dash. Write down your document in UberWriter. As you can see, it highlights the markdown syntax:
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/09/UberWriter_Ubuntu.jpeg)
You can use the preview feature to see how your document will actually look like:
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/09/UberWriter_Ubuntu_1.jpeg)
I tried to export it as PDF but it asked me to install texlive.
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/09/UberWriter_Ubuntu_PDF_Export.png)
Export to HTML and ODT was fine though.
There are several other markdown editors available for Linux. [Remarkable][5] is one of them which has the feature of real time preview, which is not in UberWriter. But overall it is a nice application. If you are looking for document writing tool, you can also use [Texmaker LaTeX editor][6].
I hope this tutorial helped you to **install UberWriter in Ubuntu 14.04**. I havent tried but I presume that it should also work in Ubuntu 12.04, Linux Mint 17, Elementary OS and other Linux distributions based on Ubuntu.
--------------------------------------------------------------------------------
via: http://itsfoss.com/install-uberwriter-markdown-editor-ubuntu-1404/
作者:[Abhishek][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://itsfoss.com/author/Abhishek/
[1]:http://uberwriter.wolfvollprecht.de/
[2]:http://en.wikipedia.org/wiki/Markdown
[3]:http://johnmacfarlane.net/pandoc/
[4]:apt://uberwriter
[5]:http://itsfoss.com/remarkable-markdown-editor-linux/
[6]:http://itsfoss.com/install-latex-ubuntu-1404/

View File

@ -0,0 +1,246 @@
translating by cvsher
Linux Performance Monitoring with Vmstat and Iostat Commands
================================================================================
This is our on-going series of commands and performance monitoring in **Linux**. **Vmstat** and **Iostat** both commands are available on all major **Unix-like (Linux/Unix/FreeBSD/Solaris)** Operating Systems.
If **vmstat** and **iostat** commands are not available on your box, please install **sysstat** package. The **vmstat**, **sar** and **iostat** commands are the collection of package included in **sysstat** the system monitoring tools. The iostat generates reports of **CPU** & all device statistics. You may download and install **sysstat** using source tarball from link [sysstat][1], but we recommend installing through **YUM** command.
![Linux Performance Monitoring with Vmstat and Iostat](http://www.tecmint.com/wp-content/uploads/2012/09/Linux-VmStat-Iostat-Commands.png)
Linux Performance Monitoring with Vmstat and Iostat
### Install Sysstat in Linux ###
# yum -y install sysstat
- **vmstat** Summary information of Memory, Processes, Paging etc.
- **iostat** Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions.
### 6 Vmstat Command Examples in Linux ###
#### 1. List Active and Inactive Memory ####
In the below example, there are six columns. The significant of the columns are explained in man page of **vmstat** in details. Most important fields are **free** under memory and **si**, **so** under swap column.
[root@tecmint ~]# vmstat -a
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0
- **Free** Amount of free/idle memory spaces.
- **si** Swaped in every second from disk in Kilo Bytes.
- **so** Swaped out every second to disk in Kilo Bytes.
**Note**: If you run **vmstat** without parameters itll displays summary report since system boot.
#### 2. Execute vmstat X seconds and (Nnumber of times) ####
With this command, **vmstat** execute every two seconds and stop automatically after executing six intervals.
[root@tecmint ~]# vmstat 2 6
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 810420 22064 101368 0 0 56 3 50 57 0 3 95 2 0
0 0 0 810412 22064 101368 0 0 0 0 16 35 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 14 35 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 17 38 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 17 35 0 0 100 0 0
0 0 0 810412 22064 101368 0 0 0 0 18 36 0 1 100 0 0
#### 3. Vmstat with timestamps ####
**vmstat** command with **-t** parameter shows timestamps with every line printed as shown below.
[tecmint@tecmint ~]$ vmstat -t 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 632028 24992 192244 0 0 70 5 55 78 1 3 95 1 0 2012-09-02 14:57:18 IST
1 0 0 632028 24992 192244 0 0 0 0 171 514 1 5 94 0 0 2012-09-02 14:57:19 IST
1 0 0 631904 24992 192244 0 0 0 0 195 600 0 5 95 0 0 2012-09-02 14:57:20 IST
0 0 0 631780 24992 192244 0 0 0 0 156 524 0 5 95 0 0 2012-09-02 14:57:21 IST
1 0 0 631656 24992 192244 0 0 0 0 189 592 0 5 95 0 0 2012-09-02 14:57:22 IST
#### 4. Statistics of Various Counter ####
**vmstat** command and -s switch displays summary of various event counters and memory statistics.
[tecmint@tecmint ~]$ vmstat -s
1030800 total memory
524656 used memory
277784 active memory
185920 inactive memory
506144 free memory
26864 buffer memory
310104 swap cache
2064376 total swap
0 used swap
2064376 free swap
4539 non-nice user cpu ticks
0 nice user cpu ticks
11569 system cpu ticks
329608 idle cpu ticks
5012 IO-wait cpu ticks
79 IRQ cpu ticks
74 softirq cpu ticks
0 stolen cpu ticks
336038 pages paged in
67945 pages paged out
0 pages swapped in
0 pages swapped out
258526 interrupts
392439 CPU context switches
1346574857 boot time
2309 forks
#### 5. Disks Statistics ####
**vmstat** with **-d** option display all disks statistics.
[tecmint@tecmint ~]$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
ram0 0 0 0 0 0 0 0 0 0 0
ram1 0 0 0 0 0 0 0 0 0 0
ram2 0 0 0 0 0 0 0 0 0 0
ram3 0 0 0 0 0 0 0 0 0 0
ram4 0 0 0 0 0 0 0 0 0 0
ram5 0 0 0 0 0 0 0 0 0 0
ram6 0 0 0 0 0 0 0 0 0 0
ram7 0 0 0 0 0 0 0 0 0 0
ram8 0 0 0 0 0 0 0 0 0 0
ram9 0 0 0 0 0 0 0 0 0 0
ram10 0 0 0 0 0 0 0 0 0 0
ram11 0 0 0 0 0 0 0 0 0 0
ram12 0 0 0 0 0 0 0 0 0 0
ram13 0 0 0 0 0 0 0 0 0 0
ram14 0 0 0 0 0 0 0 0 0 0
ram15 0 0 0 0 0 0 0 0 0 0
loop0 0 0 0 0 0 0 0 0 0 0
loop1 0 0 0 0 0 0 0 0 0 0
loop2 0 0 0 0 0 0 0 0 0 0
loop3 0 0 0 0 0 0 0 0 0 0
loop4 0 0 0 0 0 0 0 0 0 0
loop5 0 0 0 0 0 0 0 0 0 0
loop6 0 0 0 0 0 0 0 0 0 0
loop7 0 0 0 0 0 0 0 0 0 0
sr0 0 0 0 0 0 0 0 0 0 0
sda 7712 5145 668732 409619 3282 28884 257402 644566 0 126
dm-0 11578 0 659242 1113017 32163 0 257384 8460026 0 126
dm-1 324 0 2592 3845 0 0 0 0 0 2
#### 6. Display Statistics in Megabytes ####
The **vmstat** displays in **Megabytes** with parameters **-S** and **M**(Uppercase & megabytes). By default **vmstat** displays statistics in kilobytes.
[root@tecmint ~]# vmstat -S M 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 346 53 476 0 0 95 8 42 55 0 2 96 2 0
0 0 0 346 53 476 0 0 0 0 12 15 0 0 100 0 0
0 0 0 346 53 476 0 0 0 0 32 62 0 0 100 0 0
0 0 0 346 53 476 0 0 0 0 15 13 0 0 100 0 0
0 0 0 346 53 476 0 0 0 0 34 61 0 1 99 0 0
### 6 Iostat Command Examples in Linux ###
#### 7. Display CPU and I/O statistics ####
**iostat** without arguments displays **CPU** and **I/O** statistics of all partitions as shown below.
[root@tecmint ~]# iostat
Linux 2.6.32-279.el6.i686 (tecmint.com) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.12 0.01 1.54 2.08 0.00 96.24
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.59 161.02 13.48 1086002 90882
dm-0 5.76 159.71 13.47 1077154 90864
dm-1 0.05 0.38 0.00 2576 0
#### 8. Shows only CPU Statistics ####
**iostat** with **-c** arguments displays only **CPU** statistics as shown below.
[root@tecmint ~]# iostat -c
Linux 2.6.32-279.el6.i686 (tecmint.com) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.12 0.01 1.47 1.98 0.00 96.42
#### 9. Shows only Disks I/O Statistics ####
**iostat** with **-d** arguments displays only disks **I/O** statistics of all partitions as shown.
[root@tecmint ~]# iostat -d
Linux 2.6.32-279.el6.i686 (tecmint.com) 09/03/2012 _i686_ (1 CPU)
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.35 149.81 12.66 1086002 91746
dm-0 5.37 148.59 12.65 1077154 91728
dm-1 0.04 0.36 0.00 2576 0
#### 10. Shows I/O statistics only of a single device. ####
By default it displays statistics of all partitions, with **-p** and device name arguments displays only disks **I/O** statistics for specific device only as shown.
[root@tecmint ~]# iostat -p sda
Linux 2.6.32-279.el6.i686 (tecmint.com) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.11 0.01 1.44 1.92 0.00 96.52
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.32 148.52 12.55 1086002 91770
sda1 0.07 0.56 0.00 4120 18
sda2 3.22 147.79 12.55 1080650 91752
#### 11. Display LVM Statistics ####
With **-N** (Uppercase) parameter displays only **LVM** statistics as shown.
[root@tecmint ~]# iostat -N
Linux 2.6.32-279.el6.i686 (tecmint.com) 09/03/2012 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.11 0.01 1.39 1.85 0.00 96.64
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 3.20 142.84 12.16 1086002 92466
vg_tecmint-lv_root 5.13 141.68 12.16 1077154 92448
vg_tecmint-lv_swap 0.04 0.34 0.00 2576 0
#### 12. iostat version. ####
With **-V** (Uppercase) parameter displays version of **iostat** as shown.
[root@tecmint ~]# iostat -V
sysstat version 9.0.4
(C) Sebastien Godard (sysstat orange.fr)
**Note**: **vmstat** and **iostat** contains number of columns and flags which may not possible to explain in details. If you want to know more about it you may refer man page of **vmstat** and **iostat**. Please share it if you find this article is useful through our comment box below.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/linux-performance-monitoring-with-vmstat-and-iostat-commands/
作者:[Ravi Saive][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/admin/
[1]:http://sebastien.godard.pagesperso-orange.fr/download.html

View File

@ -0,0 +1,124 @@
Sysstat All-in-One System Performance and Usage Activity Monitoring Tool For Linux
================================================================================
**Sysstat** is really a handy tool which comes with number of utilities to monitor system resources, their performance and usage activities. Number of utilities that we all use in our daily bases comes with sysstat package. It also provide the tool which can be scheduled using cron to collect all performance and activity data.
![Install Sysstat in Linux](http://www.tecmint.com/wp-content/uploads/2014/08/sysstat.png)
Install Sysstat in Linux
Following are the list of tools included in sysstat packages.
### Sysstat Features ###
- [**iostat**][1]: Reports all statistics about your CPU and I/O statistics for I/O devices.
- **mpstat**: Details about CPUs (individual or combined).
- **pidstat**: Statistics about running processes/task, CPU, memory etc.
- **sar**: Save and report details about different resources (CPU, Memory, IO, Network, kernel etc..).
- **sadc**: System activity data collector, used for collecting data in backend for sar.
- **sa1**: Fetch and store binary data in sadc data file. This is used with sadc.
- **sa2**: Summaries daily report to be used with sar.
- **Sadf**: Used for displaying data generated by sar in different formats (CSV or XML).
- **Sysstat**: Man page for sysstat utility.
- **nfsiostat**-sysstat: I/O statistics for NFS.
- **cifsiostat**: Statistics for CIFS.
Recenlty, on 17th of June 2014, **Sysstat 11.0.0** (stable version) has been released with some new interesting features as follows.
pidstat command has been enhanced with some new options: first is “-R” which will provide information about the policy and task scheduling priority. And second one is “**-G**” which we can search processes with name and to get the list of all matching threads.
Some new enhancement have been brought to sar, sadc and sadf with regards to the data files: Now data files can be renamed using “**saYYYYMMDD**” instead of “**saDD**” using option **D** and can be located in directory different from “**/var/log/sa**”. We can define new directory by setting variable “SA_DIR”, which is being used by sa1 and sa2.
### Installation of Sysstat in Linux ###
The **Sysstat** package also available to install from default repository as a package in all major Linux distributions. However, the package which is available from the repo is little old and outdated version. So, thats the reason, we here going to download and install the latest version of sysstat (i.e. version **11.0.0**) from source package.
First download the latest version of sysstat package using the following link or you may also use **wget** command to download directly on the terminal.
- [http://sebastien.godard.pagesperso-orange.fr/download.html][2]
# wget http://pagesperso-orange.fr/sebastien.godard/sysstat-11.0.0.tar.gz
![Download Sysstat Package](http://www.tecmint.com/wp-content/uploads/2014/08/Download-Sysstat.png)
Download Sysstat Package
Next, extract the downloaded package and go inside that directory to begin compile process.
# tar -xvf sysstat-11.0.0.tar.gz
# cd sysstat-11.0.0/
Here you will have two options for compilation:
a). Firstly, you can use **iconfig** (which will give you flexibility for choosing/entering the customized values for each parameters).
# ./iconfig
![Sysstat iconfig Command](http://www.tecmint.com/wp-content/uploads/2014/08/Sysstat-iconfig-Command.png)
Sysstat iconfig Command
b). Secondly, you can use standard **configure** command to define options in single line. You can run **./configure help command** to get list of different supported options.
# ./configure --help
![Sysstat Configure Help](http://www.tecmint.com/wp-content/uploads/2014/08/Configure-Help.png)
Sysstat Configure Help
Here, we are moving ahead with standard option i.e. **./configure** command to compile sysstat package.
# ./configure
# make
# make install
![Configure Sysstat in Linux](http://www.tecmint.com/wp-content/uploads/2014/08/Configure-Sysstat.png)
Configure Sysstat in Linux
After compilation process completes, you will see the output similar to above. Now, verify the sysstat version by running following command.
# mpstat -V
sysstat version 11.0.0
(C) Sebastien Godard (sysstat <at> orange.fr)
### Updating Sysstat in Linux ###
By default sysstat use “**/usr/local**” as its prefix directory. So, all binary/utilities will get installed in “**/usr/local/bin**” directory. If you have existing sysstat package installed, then those will be there in “**/usr/bin**”.
Due to existing sysstat package, you will not get your updated version reflected, because your “**$PATH**” variable dont have “**/usr/local/bin set**”. So, make sure that “**/usr/local/bin**” exist there in your “$PATH” or set **prefix** option to “**/usr**” during compilation and remove existing version before starting updating.
# yum remove sysstat [On RedHat based System]
# apt-get remove sysstat [On Debian based System]
----------
# ./configure --prefix=/usr
# make
# make install
Now again, verify the updated version of systat using same mpstat command with option **-V**.
# mpstat -V
sysstat version 11.0.0
(C) Sebastien Godard (sysstat <at> orange.fr)
**Reference**: For more information please go through [Sysstat Documentation][3]
Thats it for now, in my upcoming article, I will show some practical examples and usages of sysstat command, till then stay tuned to updates and dont forget to add your valuable thoughts about the article at below comment section.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/install-sysstat-in-linux/
作者:[Kuldeep Sharma][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/kuldeepsharma47/
[1]:http://www.tecmint.com/linux-performance-monitoring-with-vmstat-and-iostat-commands/
[2]:http://sebastien.godard.pagesperso-orange.fr/download.html
[3]:http://sebastien.godard.pagesperso-orange.fr/documentation.html

View File

@ -0,0 +1,53 @@
QuiteRSS: RSS Reader For Desktop Linux
================================================================================
[QuiteRSS][1] is a free and [open source][2] RSS/Atome reader available for Windows , Linux and Mac. Written in C++/QT, it comes with a number of features.
The interface of QuiteRSS reminds me of Lotus Notes mail. You have plenty of RSS displayed in right side pane, which you can group together in labels. Clicking on an item, opens the RSS feed in lower panel.
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/09/QuiteRSS_Ubuntu.jpeg)
Apart from this, it has ad blocker, a newspaper layout view, importing feeds from URL features etc. You can find the full list of features [here][3].
### Install QuiteRSS in Ubuntu and Linux Mint ###
QuiteRSS is available in Ubuntu 14.04 and Linux Mint 17. You can install it by simply using the command below:
sudo apt-get install quiterss
If you want to have the latest stable version, you can use the official [QuiteRSS PPA][4]:
sudo add-apt-repository ppa:quiterss/quiterss
sudo apt-get update
sudo apt-get install quiterss
The above should work for all Ubuntu based Linux distributions such as Linux Mint, Elementary OS, Linux Lite, Pinguy OS etc. For other Linux distributions and other platforms, you can get the source code and installers from the [download page][5].
### Uninstall QuiteRSS ###
To uninstall QuiteRSS, use the following command:
sudo apt-get remove quiterss
If you used the PPA, you should also remove the repository from the sources list.
sudo add-apt-repository --remove ppa:quiterss/quiterss
QuiteRSS is a fine Open Source RSS reader, though I prefer [Feedly][6]. Though there is no desktop application of Feedly for Linux as of now, you can still use it in web browser apart from your smartphone. I hope you find QuiteRSS worth a try on desktop Linux.
--------------------------------------------------------------------------------
via: http://itsfoss.com/quiterss-rss-reader-desktop-linux/
作者:[Abhishek][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://itsfoss.com/author/Abhishek/
[1]:http://quiterss.org/
[2]:http://itsfoss.com/category/open-source-software/
[3]:http://quiterss.org/en/about
[4]:https://launchpad.net/~quiterss/+archive/ubuntu/quiterss/
[5]:http://quiterss.org/en/download
[6]:http://feedly.com/

View File

@ -0,0 +1,72 @@
伴随苹果手表的揭幕Ubuntu智能手表会成为下一个吗
===
**今天,苹果借助‘苹果手表’的发布,证实了其进军穿戴式计算设备市场的长期传言**
![Ubuntu Smartwatch good idea?](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/ubuntu-galaxy-gear-smartwatch.png)
Ubuntu智能手表 - 好的主意?
拥有一系列稳定功能,硬件解决方案和应用合作伙伴关系的支持,手腕穿戴设备被许多公司预示为“人与技术关系的新篇章”。
它的到来以及用户兴趣的提升有可能意味着Ubuntu需要遵循一个为智能手表定制的Ubuntu版本。
### 大的方面还是成功的 ###
苹果在正确时间加入了快速发展的智能手表部门。约束手腕穿戴电脑功能的界限并不是一成不变。失败的设计,不良的用户界面以及主流用户使用穿戴技术功能的弱参数化,这些都见证了硬件种类保持着高效的影响力 一个准许Cupertino把时间花费在苹果手表上的因素。
> 分析师说超过2200万的智能手表将在今年销售
去年全球范围内可穿戴设备的销售数量包括健身追踪器仅仅1000万。今年分析师希望设备数量的改变可以超过2200万 不包括苹果手表因为其直到2015年初才开始零售。
很容易就可以看出增长的来源。今年九月初柏林举办的IFA 2014展览会展示了一系列来自主要制造商们的可穿戴设备包括索尼和华硕。大多数搭载着Google最新发布的安卓穿戴系统。
一个更加成熟的表现:安卓穿戴设备打破了与形式因素保持一致的新奇争论,进而呈现出一致并令人折服的用户方案。和新的苹果手表一样,它紧密地连接在一个现存的智能手机生态系统上。
可能它只是一个使用案例Ubuntu手腕穿戴系统是否能匹配它还不清楚。
#### 目前还没有Ubuntu智能手表的计划 ####
Ubuntu操作系统的通用性结合以为多装置设备和趋势性未来定制的严格版本已经产生了典型目标智能电视平板电脑和智能手机。Mir,公司的本土显示服务器被用来运转所有尺寸屏幕上的接口虽然不是公认1.5"的)
今年年初Canonical社区负责人Jono Bacon被询问是否有制作Ubuntu智能手表的打算。Bacon提供了他对这个问题的看法“增加另一个形式因素到[Ubuntu触摸设备]路线只会减缓其余的东西”。
在Ubuntu电话发布两周年之际我们还是挺赞同他的想法的。
滴答,滴答,对冲你的赌注点(实在不懂什么意思...)
但是并不是没有希望的。在一个[几个月之后的电话采访][1]中Ubuntu创始人Mark Shuttleworth提及到可穿戴技术和智能电视平板电脑智能手机一样都在公司计划当中。
> “Ubuntu因其在电话中的完美设计变得独一无二但是它同时也被设计成满足其余生态系统的样子比如从穿戴设备到PC机。”
然而这还没得到具体的证实,它更像一个指针,在这个方向是给我们提供一个乐观的指引。
### 不可能 — 这就是原因所在 ###
Canonical并不反对利用牢固的专利进军市场。事实上它的重要性犹如公司的DHA — 犹如服务器上的RHEL,桌面上的Windows,智能手机上的安卓...
设备上的Ubuntu系统被制作成可以在更小的屏幕上扩展和适应性运行。甚至很有可能在和手表一样小的屏幕上运行。当普通的代码基础已经在手机平板电脑桌面和TV上准备就绪我想如果我们没有看到来自社区这一方向上的努力我会感到奇怪。
但是我之所以不认为它会从规范社区发生至少目前还没有是今年早些时候Jono Bacon个人思想的共鸣时间和努力。
Tim Cook在他的主题演讲中说道“*我们并没有追随iPhone也没有缩水用户界面将其强硬捆绑在你的手腕上。*”这是一个很明显的陈述。为如此小的屏幕设计UI和UX模型;通过交互原则工作;对硬件和输入模式的恭维,都不是一件容易的事。
可穿戴技术仍然是一个新兴的市场。在这个阶段Canonical将会浪费发展设计以及进行中的业务。在一些更为紧迫的地区任何利益的重要性将要超过损失。
玩一局更久的游戏等待直到看出那些努力在何地成功和失败这是一条更难的路线。但是更适合Ubuntu的就是今天。在新产品出现之前让Canonical把力量用在现存的产品上是更好的选择这是一些已经来迟的理论
想更进一步了解什么是Ubuntu智能手表点击下面的[视频][2]。它展示了一个互动的主体性皮肤Tizen(它已经支持Samsung Galaxy Gear智能手表)。
---
via: http://www.omgubuntu.co.uk/2014/09/ubuntu-smartwatch-apple-iwatch
作者:[Joey-Elijah Sneddon][a]
译者:[su-kaiyao](https://github.com/su-kaiyao)
校对:[校对者ID](https://github.com/校对者ID)
本文由[LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:http://www.omgubuntu.co.uk/2014/03/ubuntu-tablets-coming-year
[2]:https://www.youtube.com/embed/8Zf5dktXzEs?feature=oembed

View File

@ -126,7 +126,7 @@ Ron Amadeo供图
幸运的是,因为上面的第一张截图,我们能够从安卓启动视频中拼凑出准确的界面。旧的谷歌地图看起来完全是为非触摸设备准备的,实体键快捷方式列表排列在屏幕底部。这样在看地图时,或是在如果仅仅显示该点的地址的时候就不大清楚。
隐藏在菜单之后的是搜索选项,方向以及卫星和交通图层。中间的截图是方向的UI之一你可以选择一个联系人的地址作为起点或者终点。但地图缺乏任何种类的集成GPS你在哪都找不到“我的位置”这个按钮。
隐藏在菜单之后的是搜索选项,路线以及卫星和交通图层。中间的截图是方向的UI之一你可以选择一个联系人的地址作为起点或者终点。但地图缺乏任何种类的集成GPS你在哪都找不到“我的位置”这个按钮。
尽管没有合适的相册在右边是相册的测试界面隐藏在“API Demos”应用里。图片可以向左向右滚动但无法以全屏的方式打开一张照片。同样它也没有照片管理选项。它本质上就是个图片滚动界面的测试视图。

View File

@ -1,76 +1,75 @@
安卓编年史 02
=============================================================================
![Left: the Milestone 5 home screen showing the “all" button, two dock icons, and four recent apps. Center: the home screen with the app list open. Right: the power menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/homescree052n.jpg)
边:里程碑 5主屏幕展示了“All”按钮两个dock图标以及最近使用的四个应用。中:主屏幕与打开的应用程序列表。右边:电源菜单。
图片来自@Ron Amadeo
![Left: the Milestone 5 home screen showing the “all" button, two dock icons, and four recent apps. Center: the home screen with the app list open. Right: the power menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/homescree052n.jpg)
Milestone 5主屏幕展示了“All”按钮两个dock图标以及四个最近使用的应用。中:主屏幕与打开的应用程序列表。右边:电源菜单。
Ron Amadeo供图
Android0.5, 里程碑 5——如今已经是报废接口的领地了 -
### 安卓0.5, Milestone 5——如今已经是报废接口的领地了 ###
“M5-RC14”构建后也就是第一个仿真器发布三个月之后Android迎来了她的首次重大革新。 2008年2月发布的“里程碑5”甩掉了发展中的黑莓界面走向一个完全革新的设计——谷歌在手指触摸技术的第一次尝试。
“M5-RC14”版本发布后——也就是第一个安卓模拟器发布三个月之后,安卓迎来了它的首次重大革新。 2008年2月发布的“Milestone5”甩掉了延伸自黑莓的界面走向一个完全革新的设计——谷歌在触控友好界面上的第一次尝试。
由于浏览器的用户代理字符串的使用此版本仍然被识别为“Android0.5”,但里程碑 5与Android的第一个版本相比已经完全不一样了。几个核心的Android功能直接追踪他们的血统最终还是会回到这个版本。通知面板的布局和功能几乎已经整装待发,并且,除了样式变化外,菜单同样也存在于它的最终组成。安卓1.0距离该项目起航的时间仅仅只有八个月,一个操作系统的基础已经开始成了。
在浏览器的用户代理字符串的中此版本仍然被识别为“Android 0.5”但Milestone 5与安卓的第一个版本相比已经完全不一样了。几个核心的Android功能直接追踪他们的血统最终回到这个版本。通知面板的布局和功能几乎已经整装待发,并且,除了样式变化外,菜单也最终成型。距离安卓1.0项目发布的时间仅仅只剩八个月,一个操作系统的基础已经开始成了。
有一件东西绝对不会存在于最后的组成,那就是是主屏幕。这是一个不可配置的,单屏壁纸的应用程序的架子和空位。【译者注:"an app drawer and dock",度娘直接是"应用程序的抽屉和码头,",没有搜到相关专业的词汇,求指点,感激。zsky@live.com】应用程序图标是天真活泼的三种颜色的组合由一个方形的、有圆角的白色背景包围着。应用程序的架子由在右下角的一个“All”按钮组成轻按它扩展的应用程序列表显示在了左边。这个“All”按钮正上面的是两个图标空位“联系人”和“拨号器”分别获得了专属的永久主屏幕位置。然后上边有四个板块它们是最近应用程序的早期版式展示了最后访问的应用程序。没有了左画面或右画面基座和最近的应用程序占用一整列这种布局下21个正方形的应用程序才会填充满整个屏幕。模拟器仍然只选择同等最小的应用程序但在实际的设备中这样的设计并产生没有很好地工作效果。
有一件东西目前绝对不是它的最终模样那就是是主屏幕。这是一个不可配置的单屏壁纸的应用程序的抽屉和dock。应用程序图标是气泡状的三种颜色的组合由一个圆角矩形的白色背景包围着。应用程序抽屉在右下角有一个“所有”按钮轻按它打开的应用程序列表显示在了左边。这个“所有”按钮正上面的是两个dock图标“联系人”和“拨号盘”分别获得了永久的专属主屏幕位置。然后上边有四个模块它们是最近应用程序的早期版本展示了最后访问的应用程序。没有了左侧屏幕和右侧屏幕要是没有dock和最近的应用程序占用的一整列这种布局下只能放下21个应用程序图标。模拟器仍然只选择同等最少的应用程序但在实际的设备中这样的设计看起来并不会很好的工作效果。
按住“end call”按钮会出现一个超级早期版本的电源菜单您可以在最右边的图片中看到的。谷歌迄今为止没有正常的智能手机命名术语对于“Turn Off Screen”最好地形容也许是“Lock screen”虽然当时没有锁屏和“Turn Off Radio”在今天被叫做“Airplane Mode”。
按住“挂断”按钮会出现一个十分早期版本的电源菜单就像你最右侧的图片中看到的。谷歌迄今为止没有标准的智能手机命名术语对于“Turn Off Screen”关闭屏幕最好的形容也许是“Lock screen”锁定屏幕——虽然当时没有锁屏和“Turn Off Radio”(关闭射频)在今天被叫做“Airplane Mode”(飞行模式)
![From left to right: the surprisingly modern notification panel, the menu open in Google Maps (Maps doesn't work anymore), and the new finger-friendly list view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/noti2.png)
从左至右依次为:令人惊喜的现代通知面板,谷歌地图的菜单在打开着(地图已经不可用了),和新的适合手指操作的列表视图。
照片来自@Ron Amadeo
![From left to right: the surprisingly modern notification panel, the menu open in Google Maps (Maps doesn't work anymore), and the new finger-friendly list view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/noti2.png)
从左至右依次为:令人惊喜的现代通知面板,谷歌地图的菜单在打开着(地图已经不可用了),和新的触控友好列表视图。
Ron Amadeo供图
所有的方式都会回溯到里程碑 5谷歌在那时就毫无疑问拥有通知面板的基本知识储备。就像在任何现代的智能手机里看到的一样它能够从屏幕顶部下拉下来。目前的通知都显示在列表中。通知面板的第一个版本是不透明的白色薄片带着棱纹的的“handle”在底部一个橙色的圆点在中心。通知是可触的通过触摸可以打开该通知关联的应用程序。没有人被在此列表中垂直对齐的应用程序图标所困扰不过也没关系随着在接下来的更新它已经是过去式了。
回溯到Milestone 5谷歌在那时对通知面板有着明确的认识。就像在任何现代的智能手机里一样通知中心从屏幕顶部下拉下来来唤出。目前的通知都以列表的形式显示。通知面板的第一个版本是不透明的白色薄片以及底部中心有个橙色圆点的带着棱纹的的“把手”。通知是可点击的通过点击可以打开该通知关联的应用程序。没有人为此列表中垂直对齐应用程序图标而感到困扰不过也没关系随着接下来的更新它已经是过去式了。
点一下通知进入一个在面板顶部的“on going”部分。在这个版本这里似乎只包含打电话。在“Latest Event”里的通知只有打开相应的应用程序后才是清楚的。用户令人惊喜的通过内置的XMPP连接成功登录到谷歌talk。不过虽然通知面板中显示“new chat message其实这里并没有没有真正的即时消息应用程序。
置顶通知能够进入一个在面板顶部的“正在进行”的部分。在这个版本中这里似乎只包含通话。在“最近事件”里的通知只有打开相应的应用程序后才清楚。用户惊喜地发现可以通过内置的XMPP连接成功登录到谷歌talk。不过虽然通知面板中显示“新会话信息”这里实际上并不是一个即时消息应用程序。
里程碑 5里的艺术设计全部都是新的。该应用程序图标被重新绘制,并且菜单从一个无聊的黑莓风格的文本列表转变为一个大格全彩、卡通的图标。通知面板图标也从简单的、突兀的、白色的图标切换到一个天真活泼的绿色设计。当时在信号栏指示器下边有一个奇怪的黑线,几乎没有作用。早期开发版本的微小列表视图不适合手指使用,所以里程碑 5开发了全面强大的整体布局。
Milestone 5里是全新的艺术设计。应用程序图标被重新绘制,并且菜单从一个无聊的黑莓风格的文本列表转变为一个全彩、卡通的图标方阵。通知面板图标也从简单的、突兀的、白色的图标切换到一个绿色的气泡设计。当时信号指示下边有一条奇怪的黑线没有明显的作用。早期开发版本的微小列表视图不适合手指使用所以Milestone 5带来了更加强大的整体布局。
![The dialer, recent calls, and an incoming call.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/phonestuff.png)
拨号器,最近通话,和来电接听。
照片来自@Ron Amadeo
拨号盘,最近通话,和来电。
Ron Amadeo供图
M5是第一个有一个拨号器的版本,即使她是一个相当难看的版本。数字被显示在包含一个奇怪的语音气泡风格的退格键看上去就像是从其他界面回收回来的。对齐问题随处可见。按钮上的数字没有正确的垂直排列而且退格键的“X”也没有与对话框对齐。由于屏幕上没有的“dial”按钮你甚至不能从拨号程序打个电话一个硬件按钮也被托管了。
M5是第一个有一个拨号盘的版本,即使她是一个相当难看的版本。数字被显示在包含一个奇怪的聊天气泡风格退格键的渐变填充条看上去就像是从其他界面回收回来的。对齐问题随处可见。按钮上的数字没有正确的垂直排列而且退格键的“X”也没有与对话框对齐。由于屏幕上没有的“拨号”按钮,你甚至不能从拨号盘打个电话,它强制要求有个拨号的硬件实体按钮。
里程碑 5 有几个选项卡式界面所有这些都表明了一个非常奇怪的想法标签应该如何工作。活跃的标签是白色的而背景标签是拥有一小条白色在其边沿的黑色。后台标签应该是向下的“shrink”吗切换标签时是没有动画的。目前还不清楚这个设计试图想表达什么。
Milestone 5 有几个选项卡式界面,所有这些都演示了一个关于标签应该如何工作的奇怪的想法。活跃的标签是白色的,而背景标签是底部拥有一小条白色条带的黑色标签。后台标签应该是向下下沉的吗?切换标签时,是没有动画效果的。直到目前还不清楚这个设计试图想表达什么。
在第二张图片中显示的最近通话记录项,是从顶级的应用程序降级到拨号器选项卡的。它丢弃了早期版本的疯狂十字丝UI多亏了大块列表视图现在所有必要的信息都是显示在一个正常的列表。
在第二张图片中显示的最近通话记录项,是从单独的应用程序降级到拨号盘选项卡的。它抛弃了早期版本疯狂的十字UI多亏了大块列表视图现在所有必要的信息都是显示在一个正常的列表
不同于拨号器,来电画面只有即时屏幕上的按钮来接听和结束通话。奇怪的是,来电屏幕贴在显示器的底部而不是顶部或中心。它可能是从旧的黑莓4:3屏幕遗留下来的。
不同于拨号盘,来电画面有显示在屏幕上的按钮来接听和结束通话。奇怪的是,来电屏幕贴在屏幕的底部而不是顶部或中心。它可能是从旧的黑莓4:3屏幕遗留下来的问题
![An active call, the disabled touchscreen error message, and the call screen with a second call on hold.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/callsstuff.png)
通话中,触摸屏不可用的显示错误信息,和暂停通话的第二个呼叫的呼叫屏幕。
照片来自@Ron Amadeo
通话中,触摸屏不可用的显示错误信息,和显示第二通话暂停的通话界面。
Ron Amadeo供图
通话中界面看起来正常,但在实践中毫无意义。今天,在通话中为了阻止你的脸按到屏幕按钮,手机近距离传感器一旦检测到相关信息会快速关闭屏幕。虽然里程碑 5不支持近距离传感器。谷歌的杂乱无章的解决方案是在通话过程中禁止整个触摸屏。与此同时通话中的屏幕显然会彻底检查触摸功能。这时候是有大的可触摸的按钮; *就是不让你摸!!*
通话中界面看起来正常,但在实际中毫无意义。今天在通话中为了阻止你的脸按到按钮手机近距离传感器一旦检测到物体会关闭屏幕。尽管Milestone 5不支持近距离传感器。谷歌的随意的解决方案是在通话过程中禁用整个触摸屏。与此同时通话中的屏幕显然会检测触摸。这时候是有大的可触摸的按钮; *就是不让你摸*
M5在这里让旧里程碑3版本的几个回归者占据特色地位。许多旧的接口里有体面相貌的图标被替换成了文本。像“mute”按钮不再提供屏幕上的反馈过去他们是活跃的。合并通话被完全切掉了。
M5在这里让Milestone 3版本的几个功能回归了。许多旧的界面里体面的图标被替换成了文本。像“静音”按钮在激活的时候不再提供屏幕上的反馈。合并通话被完全去除了。
![The browsers primary menu, the browsers secondary menu, the crazy zoom control, and the window interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser4.png)
浏览器的主要菜单,浏览器的二级菜单,疯狂的变焦控制和窗口界面。
照片来自@Ron Amadeo
![The browsers primary menu, the browsers secondary menu, the crazy zoom control, and the window interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser4.png)
浏览器的主要菜单,浏览器的二级菜单,疯狂的变焦控制和窗口界面。
Ron Amadeo供图
浏览器菜单中得到了一贯的触摸功能大修理并且“more”按钮第一次出现。它充当一个[extra menu for your menu] [1]。而不是转动3x2的网格成3x4的网格里程碑 5Android的许多后续版本一样中使用很长的、滚动的列表来引出其他选项。不支持双指缩放据说是[concession to Apple] [2]因此Android运行着可笑的变焦控制外表在上边第三张图片。而不是理智的比如是一个水平的、底部对齐变焦的控制谷歌控制它直接出现在屏幕的中间。最后一张图片显示浏览器的“window”界面允许你打开多个网页和两者之间轻松切换。
浏览器菜单中得到了常规的触摸功能大整修,并且“更多”按钮第一次出现。它充当一个[你菜单的额外菜单] [1]。相对于将3x2的网格变成3x4的网格Milestone 5以及Android的许多后续版本一样中使用很长的、滚动的列表来引出其他选项。不支持双指缩放据说是[向苹果让步] [2]因此Android运行荒谬的控件就像上边第三张图片一样。谷歌将它显示在屏幕的中间而不是明智地设置成比如一个水平的、底部对齐的缩放控件。最后一张图片显示浏览器的“窗口”界面允许你打开多个网页并在它们之间更轻松地切换。
![Google Maps layers section screen, search interface, and directions screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/amps.png)
谷歌地图的层级部分的屏幕,搜索界面,并指示屏幕。
照片来自@Ron Amadeo
谷歌地图的图层选择,搜索界面,以及路线界面。
Ron Amadeo供图
谷歌地图仍然不能使用,但我们访问的小小UI却有了显著更新。你可以挑选地图图层虽然只有两种可以选择卫星和交通。顶部对齐的搜索界面隐藏了奇怪的状态栏而底部对齐方向没有隐藏状态栏。指示的输入按钮被标有“Go”而且搜寻的输入按钮被标有一个奇怪的弯曲的箭头。这样的例子不胜枚举并演示了老同学的Android在最坏时候的情况在同一个应用程序它的外观和工作方式类似的两个功能但这些都实现为完全相反的方向。
谷歌地图仍然不能使用,但我们接触的小小UI却有了显著更新。你可以选择地图图层虽然只有两种可以选择卫星和交通。顶部对齐的搜索界面奇怪地隐藏了状态栏而底部对齐的路线没有隐藏状态栏。路线的输入按钮被标有“Go”而且搜索的输入按钮被标有一个奇怪的弯曲的箭头。这样的例子不胜枚举并演示了保守的安卓在最坏时候的情况在同一个应用程序外观和工作方式*应该*类似的两个功能,在实现上却完全相反。
----------
----------
![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg)
[Ron Amadeo][a] / Ron是Ars Technica的评论编他专注于Android操作系统和谷歌的产品。他总是在寻找一个新的小工具喜欢分解事物来看看它们是如何工作的。
[Ron Amadeo][a] / Ron是Ars Technica的评论编缉,专注于安卓系统和谷歌产品。他总是在追寻新鲜事物,还喜欢拆解事物看看它们到底是怎么运作的。
[@RonAmadeo][t]
-------------------------------------------------- ------------------------------
--------------------------------------------------------------------------------
via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/2/
译者:[cereuz](https://github.com/cereuz)邮箱:[cereuz](mailto:sunedo@qq.com)
校对:[校对者ID](https://github.com/校对者ID)
校对:[alim0x](https://github.com/alim0x)/[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,89 @@
The history of Android
================================================================================
![闹钟主屏幕,设置一个闹钟,计算器,以及计算器高级功能。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/calclockonpresszx.png)
闹钟主屏幕,设置一个闹钟,计算器,以及计算器高级功能。
Ron Amadeo供图
安卓0.9第一次给我们展现了闹钟和计算器应用程序。闹钟应用的特征是有个扁平的模拟时钟,下方是一排设置的闹钟的滚动列表。不同于其它种类的开关,闹钟使用一个复选框来设置。闹钟可以设置为每周特定几天重复,以及它还有一整个列表的可选的,独特的闹钟铃声。
计算器是一个全黑色的应用带有有光泽的圆形按钮。通过菜单可以打开带有高级功能的附加面板。再次强调一致性不是谷歌的强项所在。按键中的Pi键按下的高亮是红色的——在安卓0.9的其它地方,按键按下的高亮通常是橙色的。实际上,计算器中用到的所有东西是仅用于计算器的百分百定制设计。
![打开菜单的谷歌地图和新路线界面。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/mps092.png)
打开菜单的谷歌地图和新路线界面。
Ron Amadeo供图
谷歌地图在安卓0.9中真正能够运行——客户端能够连接到谷歌地图服务器并下载地图块。给予我们地图图像——要记住谷歌地图是个基于云的应用。连最老旧的版本也会下载更为现代的地图块所以忽略实际的地图块的样子吧。地图的菜单获得了和浏览器菜单相同的全灰设计待遇缩放控件也和浏览器的相同。最重要的“我的位置”按钮最终来到了安卓0.9这意味着该版本的地图支持GPS定位。
路线界面得到了改进。奇怪的聊天气泡附加不对齐的按钮已经被去除换为更具交互性的书签图标切换地点按钮移动到了左边“go”按钮的现在被标记为“获取路线(Route)”。
![谷歌地图图层选择,搜索历史,新加入的街景视图。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/maps3.png)
谷歌地图图层选择,搜索历史,新加入的街景视图。
Ron Amadeo供图
“图层(Layers)”被重命名为“地图模式(Map Mode)”并且变成一个单选列表。一次只能选择一个地图类型——举个例子,你在卫星地图视图下不能查看交通状况。埋藏在菜单中的还有被匆忙放到一起的搜索记录界面。搜索历史看起来只是个概念验证,带着巨大的,模糊的搜索图标填充的搜索项被放置于半透明的背景之上。
街景曾经是个单独的应用尽管它从没提供给公众但在0.9中它被作为一个地图模式内置于谷歌地图之中。你可以拖拽小Pegman街景小人到地图上它会显示一个弹出气泡来展示街景的快照。点击快照会启动那个位置的街景。这时街景除了可滚动的360度影像之外不会显示任何东西——在显示界面上根本就没有用户界面UI
![我们第一次见到谷歌地图搜索界面。这些截图展示了搜索栏,搜索结果列表,显示在地图上的搜索结果,以及一个商业页面。 ](http://cdn.arstechnica.net/wp-content/uploads/2013/12/manystarbucks.png)
我们第一次见到谷歌地图搜索界面。这些截图展示了搜索栏,搜索结果列表,显示在地图上的搜索结果,以及一个商业页面。
Ron Amadeo供图
安卓0.9同样第一次给我们展示了信息应用,称为“信息”(Messaging)。就像一些早期的安卓设计,信息并不确定它应该是一个暗色系应用还是亮色系应用。第一眼可以看到的屏幕是信息列表,一个极力避免空白的质朴黑色界面,看起来像是建立在设置界面的设计之上。但点击“新信息”或已存在的会话后,你会被带到一个白色以及蓝色的文本信息的滚动列表这里。这两个相连的界面真是没法再更不一样一点了。
![信息应用的会话窗口,附件窗口,会话列表,以及设置。](http://cdn.arstechnica.net/wp-content/uploads/2014/03/sms09.png)
信息应用的会话窗口,附件窗口,会话列表,以及设置。
Ron Amadeo供图
信息支持一定范围的附件你可以附上图片声音或者一个幻灯片到你的信息之中。图片和声音可以实时录制或是从手机存储中拉取。另一个奇怪的UI选择是对于附件菜单中的每一项安卓基本都已经有现成的图标可用但信息却全部使用了另外定制的设计。
信息是最先带有自己设置界面的应用之一。用户可以请求已读以及送达报告以及设置下载偏好。
![幻灯片制作器。右边图片显示了菜单选项。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/slideshow.png)
幻灯片制作器。右边图片显示了菜单选项。
Ron Amadeo供图
附件选项中的“幻灯片”选项实际上是以一个全功能的幻灯片制作器的形式到来的。你可以添加图片,选择幻灯顺序,添加音乐,修改每张幻灯片的显示时间,以及添加文字。这已经复杂到足够给它一个自己的应用图标了,但令人惊奇的是它被隐藏在信息应用的菜单之中。在纵向模式下这是为数不多的完全无用的安卓应用之一——唯一的看图片方式以及控制是在横向显示之中。奇怪的是,纵向模式它仍然能够旋转,但显示输出变得一团糟。
![音乐播放器的主导航页面,歌曲列表,专辑列表,以及“正在播放”界面。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/music09.png)
音乐播放器的主导航页面,歌曲列表,专辑列表,以及“正在播放”界面。
Ron Amadeo供图
安卓0.9第一次将音乐应用带进了安卓。首屏基本上只是几个将你带到各个功能视图的巨大的,矮胖的导航按钮。在应用底部是一个“正在播放”栏,仅仅包含了音轨名,艺术家,以及一个播放/暂停按钮。歌曲列表仅仅有个最简的无修饰界面,仅仅显示了歌曲名,艺术家,专辑以及时长。艺术家专辑是这个应用中唯一有希望看到色彩的地方。它在专辑视图里显示为一个小快照,在正在播放界面显示为巨大的,四分之一屏的图片。
正如安卓在这个时期的系统绝大多数部分,音乐应用的界面可能没什么好多看几眼的,但功能已经基本齐全。正在播放界面有一个让你拖动歌曲的播放列表按钮,随机播放,重复播放,搜索,以及选择背景声音按钮。
![“相册”的所有相册视图,单个相册视图,以及单张图片视图。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/pictures09.png)
“相册”的所有相册视图,单个相册视图,以及单张图片视图。
Ron Amadeo供图
相册被简单地称为“图片”。初始视图显示你的所有相册。两个默认的相册是“相机”和巨大的合集相册叫做“全部图片”。每个相册的快照由2x2的图片组成每张图片有个白色的粗边框。
单个相册视图的样子大概是你所希望的:一个可滚动的图片方阵。你不能在单个图片大小的范围内向左右滑动来移动图片,而是应该轻点图片来移动图片。相册同样没有双指捏合缩放,你只能使用按钮来缩放图片。
![图片编缉!这些截图显示了一个打开的菜单,“更多”菜单,截取,以及设置。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/pics209.png)
图片编缉!这些截图显示了一个打开的菜单,“更多”菜单,截取,以及设置。
Ron Amadeo供图
“图片”看起来十分简单,直到你点击菜单按钮并突然看到无数的选项。图片可以截取,旋转,删除,或设置壁纸或联系人图标。就像浏览器一样,所有的这一切通过一个笨拙的二级菜单系统完成。但是,我们为何又将看起来完全不同的菜单练联系到一起?
安卓0.9在安卓的第一个商业发行版本公布前仅仅两个月的时候诞生。这些时间只够应用开发者们确认他们的应用能够工作——以及让谷歌在第一个重大发布之前做一些测试和bug修复。
----------
![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg)
[Ron Amadeo][a] / Ron是Ars Technica的评论编缉专注于安卓系统和谷歌产品。他总是在追寻新鲜事物还喜欢拆解事物看看它们到底是怎么运作的。
[@RonAmadeo][t]
--------------------------------------------------------------------------------
via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/5/
译者:[alim0x](https://github.com/alim0x) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://arstechnica.com/author/ronamadeo
[t]:https://twitter.com/RonAmadeo

View File

@ -0,0 +1,108 @@
基本的命令行工具有哪些更好的替代品
================================================================================
命令行听起来有时候会很吓人, 特别是在刚刚接触的时候. 你甚至可能做过有关命令行的噩梦. 然而渐渐地, 我们都意识到命令行实际上并不是那么吓人, 反而是非常有用. 实际上, 没有命令行正是每次我使用 Windows 时让我感到崩溃的地方. 这种感觉上的变化是因为命令行工具实际上是很智能的. 你在任何一个 Linux 终端上所使用的基本工具功能都是很强大的, 但还远说不上是足够强大. 如果你想使你的命令行生涯更加愉悦, 这里有几个程序你可以下载下来替换原来的默认程序, 它还可以给你提供比原始程序更多的功能给你提供比原始程序更多的功能.
### dfc ###
作为一个 LVM 使用者, 我非常喜欢随时查看我的硬盘存储器的使用情况. 我也从来没法真正理解为什么在 Windows 上我们得打开资源管理器来查看电脑的基本信息. 在 Linux 上, 我们可以使用如下命令:
$ df -h
![](https://farm4.staticflickr.com/3858/14768828496_c8a42620a3_z.jpg)
该命令可显示电脑上每一分卷的大小, 已使用空间, 可用空间, 已使用空间百分比和挂载点. 注意, 我们必须使用 "-h" 选项使得所有数据以可读形式显示(使用 GiB 而不是 KiB). 但你可以使用 [dfc][1] 来完全替代 df, 它不需要任何额外的选项就可以得到 df 命令所显示的内容, 并且会为每个设备绘制彩色的使用情况图, 因此可读性会更强.
![](https://farm6.staticflickr.com/5594/14791468572_a84d4b6145_z.jpg)
另外, 你可以使用 "-q" 选项将各分卷排序, 使用 "-u" 选项规定你希望使用的单位, 甚至可以使用 "-e" 选项来获得 csv 或者 html 格式的输出.
### dog ###
Dog 比 cat 好, 至少这个程序自己是这么宣称的, 你应该相信它一次. 所有 cat 命令能做的事, [dog][2] 都做的更好. 除了仅仅能在控制台上显示一些文本流之外, dog 还可以对其进行过滤. 例如, 你可以使用如下语法来获得网页上的所有图片:
$ dog --images [URL]
![](https://farm6.staticflickr.com/5568/14811659823_ea8d22d045_z.jpg)
或者是所有链接:
dog --links [URL]
![](https://farm4.staticflickr.com/3902/14788690051_7472680968_z.jpg)
另外, dog 命令还可以处理一些其他的小任务, 比如全部转换为大写或小写, 使用不同的编码, 显示行号和处理十六进制文件. 总之, dog 是 cat 的必备替代品.
### advcp ###
一个 Linux 中最基本的命令就是复制命令: cp. 它几乎和 cd 命令地位相同. 然而, 它的输出非常少. 你可以使用 verbose 模式来实时查看正在被复制的文件, 但如果一个文件非常大的话, 你看着屏幕等待却完全不知道后台在干什么. 一个简单的解决方法是加上一个进度条: 这正是 advcp (advanced cp 的缩写) 所做的! advcp 是 [GNU coreutils][4] 的一个 [补丁版本][3], 它提供了 acp 和 amv 命令, 即"高级"的 cp 和 mv 命令. 使用语法如下:
$ acp -g [file] [copy]
它把文件复制到另一个位置, 并显示一个进度条.
![](https://farm6.staticflickr.com/5588/14605117730_fe611fc234_z.jpg)
我还建议在 .bashrc 或 .zshrc 中设置如下命令别名:
alias cp="acp -g"
alias mv="amv -g"
(译者注: 原文给出的链接已貌似失效, 我写了一个可用的安装脚本放在了我的 [gist](https://gist.github.com/b978fc93b62e75bfad9c) 上, 用的是 AUR 里的 [patch](https://aur.archlinux.org/packages/advcp))
### The Silver Searcher ###
[the silver searcher][5] 这个名字听起来很不寻常(银搜索...), 它是一款设计用来替代 grep 和 [ack][6] 的工具. The silver searcher 在文件中搜索你想要的部分, 它比 ack 要快, 而且能够忽略一些文件而不像 grep 那样.(译者注: 原文的意思貌似是 grep 无法忽略一些文件, 但 grep 有类似选项) the silver searcher 还有一些其他的功能, 比如彩色输出, 跟随软连接, 使用正则式, 甚至是忽略某些模式.
![](https://farm4.staticflickr.com/3876/14605308117_f966c77140_z.jpg)
作者在开发者主页上提供了一些搜索速度的统计数字, 如果它们仍然是真的的话, 那是非常可观的. 另外, 你可以把它整合到 Vim 中, 用一个简洁的命令来调用它. 如果要用两个词来概括它, 那就是: 智能, 快速.
### plowshare ###
所有命令行的粉丝都喜欢使用 wget 或其他对应的替代品来从互联网上下载东西. 但如果你使用许多文件分享网站, 像 mediafire 或者 rapidshare, 你一定很乐意了解一款专门为这些网站设计的对应的程序, 叫做 [plowshare][7]. 安装成功之后, 你可以使用如下命令来下载文件:
$ plowdown [URL]
或者是上传文件:
$ plowup [website name] [file]
如果你有那个文件分享网招的账号的话.
最后, 你可以获取分享文件夹中的一系列文件的链接:
$ plowlist [URL]
或者是文件名, 大小, 哈希值等等:
$ plowprobe [URL]
对于那些熟悉这些服务的人来说, plowshare 还是缓慢而令人难以忍受的 jDownloader 的一个很好的替代品.
### htop ###
如果你经常使用 top 命令, 很有可能你会喜欢 [htop][8] 命令. top 和 htop 命令都能对正在运行的进程提供了实时查看功能, 但 htop 还拥有一系列 top 命令所没有的人性化功能. 比如, 在 htop 中, 你可以水平或垂直滚动进程列表来查看每个进程的完整命令名, 还可以使用鼠标点击和方向键来进行一些基本的进程操作(比如 kill, (re)nice 等), 而不用输入进程标识符.
![](https://farm6.staticflickr.com/5581/14819141403_6f2348590f_z.jpg)
总的来说, 这些十分有效的基本命令行的替代工具就像那些有用的小珍珠一样, 它们并不是那么容易被发现, 但一旦你找到一个, 你就会惊讶你是如何忍受这么长没有它的时间. 如果你还知道其他的与上面描述相符的工具, 请在评论中分享给我们.
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/07/better-alternatives-basic-command-line-utilities.html
作者:[Adrien Brochard][a]
译者:[wangjiezhe](https://github.com/wangjiezhe)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/adrien
[1]:http://projects.gw-computing.net/projects/dfc
[2]:http://archive.debian.org/debian/pool/main/d/dog/
[3]:http://zwicke.org/web/advcopy/
[4]:http://www.gnu.org/software/coreutils/
[5]:https://github.com/ggreer/the_silver_searcher
[6]:http://xmodulo.com/2014/01/search-text-files-patterns-efficiently.html
[7]:https://code.google.com/p/plowshare/
[8]:http://hisham.hm/htop/

View File

@ -0,0 +1,78 @@
在命令行中管理 Wifi 连接
================================================================================
无论何时要安装一款新的 Linux 发行系统,一般的建议都是让您通过有线连接来接到互联网的。这主要的原因有两条:第一,您的无线网卡也许安装的驱动不正确而不能用;第二,如果您是从命令行中来安装系统的,管理 WiFi 就非常可怕。我总是试图避免在命令行中处理 WiFi 。但 Linux 的世界,应具有无所畏惧的精神。如果您不知道怎样操作,您需要继续往下来学习之,这就是写这篇文章的唯一原因。所以我强迫自己学习如何在命令行中管理 WiFi 连接。
通过命令行来设置连接到 WiFi 当然有很多种方法,但在这篇文章里,也是一个建议,我将会作用最基本的方法:那就是使用在任何发布版本中都有的包含在“默认包”里的程序和工具。或者我偏向于使用这一种方法。使用此方法显而易见的好处是这个操作过程能在任意有 Linux 系统的机器上复用。不好的一点是它相对来说比较复杂。
首先,我假设您们都已经正确安装了无线网卡的驱动程序。没有这前提,后续的一切都如镜花水月。如果您你机器确实没有正确安装上,您应该看看关于您的发布版本的维基和文档。
然后您就可以用如下命令来检查是哪一个接口来支持无线连接的
$ iwconfig
![](https://farm6.staticflickr.com/5578/14725621337_b174a3029c_z.jpg)
一般来说,无线接口都叫做 wlan0。当然也有例外的但在这篇教程中我们将会一直用通用叫法。
以防万一,你得确认下以使此接口服务是启动着的:
$ sudo ip link set wlan0 up
一但确认了无线接口是工作着的,你就可以用如下命令来扫描附近的无线网络了:
$ sudo iw dev wlan0 scan | less
![](https://farm4.staticflickr.com/3847/14909117931_e2f3d0feb0_z.jpg)
根据扫描出的结果,可以得到网络的名字(它的 SSID它的信息强度以及它使用的是哪个安全加密的WEP、WPA/WPA2。从此时起将会分成两条路线情况很好的和容易的以及情况稍微复杂的。
如果您想连接的网络是没有加密的,您可以用下面的命令直接连接:
$ sudo iw dev wlan0 connect [network SSID]
如果网络是用 WEP 加密的,也非常容易:
$ sudo iw dev wlan0 connect [network SSID] key 0:[WEP key]
但网络使用的是 WPA 或 WPA2 协议的话,事情就不好办了。这种情况,您就得使用叫做 wpa_supplicant 的工具,它默认是没有启用的。需要修改 /etc/wpa_supplicant/wpa_supplicant.conf 文件,增加如下行:
network={
ssid="[network ssid]"
psk="[the passphrase]"
priority=1
}
我建议你​​在文件的末尾添加它,并确保其他配置都注释掉。要注意 SSID 和密码字串都是大小写敏感的。在技术上您也可以把接入点的名称当做是 SSID使用 wpa_supplicant 工具的话会有合适的 SSID 来替代这个名字。
一旦配置文件修改完成后,在后台启动此命令:
$ sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
最后,无论是连到开放的网络还是加密的安全网络,您都得获取 IP 地址。简单地使用如下命令:
$ sudo dhcpcd wlan0
如果一切顺利的话,您应该已经通过 DHCP 获取到了一个全新的本地 IP这个过程是在后台自动完成的。如果想确认下是否真正连接上的话您可以再一次输入如下命令检查
$ iwconfig
![](https://farm4.staticflickr.com/3904/14725573368_7110407db8_z.jpg)
最后,我认为多次重复第一步的检查操作是很有必要的。您永远不会知道什么时候您的图形用户界面挂了,或者是什么时候不能访问无线连接了,所以现在就准备着用命令来检测吧。还有,前面提到过的,有很多种方式(如 NetworkManager、[wicd][1]、[netcfg][2]、[wifi][3] 等等)来管理无线连接。我坚持使用最基本的方式,但在某些情况下,我使用的工具可能您还没有,所以您在之前就得先下载它们。另一方面,有很多高级的应用程序,他们确实是不包含在“默认包”里面的,使用它们会大大简化操作过程。但一般建议是开始的话最好从基本的来。
关于从命令行来管理连接 WiFi 您还有其他方式方法吗?请在评论中让我们知道。
--------------------------------------------------------------------------------
via: http://xmodulo.com/2014/08/manage-wifi-connection-command-line.html
作者:[Adrien Brochard][a]
译者:[runningwater](https://github.com/runningwater)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/adrien
[1]:http://wicd.sourceforge.net/
[2]:https://www.archlinux.org/netcfg/
[3]:https://github.com/rockymeza/wifi

View File

@ -0,0 +1,132 @@
Linux 下 SSH 命令实例指南
================================================================================
如果你已经接触计算机比较长时间, 应该对 SSH 这个了不起的工具及其安全特性有所耳闻吧. 本教程可以让你在短时间内掌握通过 SSH 安全便利地连接到远程计算机的技术.
如果你对 SSH 还没什么概念, 可以先访问 [维基百科][1] 进行了解.
### 基本用法 ###
最简单的 SSH 命令只需要提供用户名和主机名参数即可. 主机名可以是 IP 地址或者域名. 命令格式如下:
$ ssh user@hostname
比如要登录到局域网内我的一个树莓派系统, 只需要简单的在命令行输入如下命令:
$ ssh pi@10.42.0.47
命令中的 pi 和 10.42.0.47 分别是我的树莓派系统的用户名和局域网 IP 地址. 实际使用时主机名需要改成你的目标主机(局域网内或者远程)的 IP 地址.
![basic ssh](http://linoxide.com/wp-content/uploads/2014/08/basic-ssh.png)
如果你能够成功登陆, 那么下面的内容对你来说就轻而易举了.
### 使用其他端口 ###
SSH 默认连接到目标主机的 22 端口上, 但是由于各种原因你可能需要连接到其他端口.
$ ssh -p 10022 user@hostname
如上命令就是通过添加参数 -p 指定端口号为 10022.
### 远程执行命令 ###
有时需要很方便地在远程主机执行一条命令并显示到本地, 然后继续本地工作. SSH 就能满足这个需求:
$ ssh pi@10.42.0.47 ls -l
比如上面这个命令就会枚举远程主机的主目录内容并在本地显示. 是不是很酷? 你可以尝试下其他命令看看.
![remote command](http://linoxide.com/wp-content/uploads/2014/08/remote-command.png)
### 挂在远程文件系统 ###
有一个很赞的基于 SSH 的工具叫 sshfs. sshfs 可以让你在本地直接挂载远程主机的文件系统.
$ sshfs -o idmap=user user@hostname:/home/user ~/Remote
比如下面这条命令:
$ sshfs -o idmap=user pi@10.42.0.47:/home/pi ~/Pi
该命令就将远程主机 pi 用户的主目录挂载到本地主目录下的 Pi 文件夹.
要详细了解可以参考 [sshfs 入门教程][2].
### X11 图形界面 ###
假如现在你想要在远程主机运行一个图形界面的程序, SSH 已经帮你想到了! 用前面提到的 SSH 基本命令加上参数 -X 连接到远程主机即可开启 X11 转发功能. 登录后你可能觉得没什么差别, 但是当你运行一个图形界面程序后就会发现其中的不同的.
$ ssh -X pi@10.42.0.47
$ pistore
如果你想在运行图形界面程序的同时做些别的事情, 只需要简单地在命令末尾加一个 & 符号.
$ pistore&
![X11 forwarding](http://linoxide.com/wp-content/uploads/2014/08/X11-forwarding.png)
### 转义字符 ###
SSH 提供了多样的转义字符功能. 用 SSH 连接到任意一台远程主机然后输入 ~? 你就可以看到支持的转义字符和功能说明列表. 以下例子展示了 **~#** 和 **~C** 的效果.
![escape sequences](http://linoxide.com/wp-content/uploads/2014/08/escape-sequences.png)
### 配置 SSH ###
如果你需要改变 SSH 的配置, 请用你喜好的文本编辑器打开 **/etc/ssh/sshd_config** 进行编辑. 比如你想改变登陆的标语, 在配置文件中找到下面这行:
#Banner none
删除 # 字符(取消该行的注释), 将 none 替换为包含你期望显示内容的文件地址. 修改后该行应该类似这样:
Banner /etc/issue
在配置文件 **/etc/ssh/sshd_config** 中你还可以找到端口号, 空闲超时时间等配置项. 配置项大都比较容易理解, 但是保险起见在你修改一些不是很确定的配置项时最好参考下 SSH 的帮助文档.
### 构建 ssh 密钥对 ###
运行以下命令创建密钥对:
$ ssh-keygen -t dsa
此命令会要求你输入密码(可以留空), 然后就会生成密钥并会显示一张该密钥对应的随机图.
![generate key pair](http://linoxide.com/wp-content/uploads/2014/08/generate-key-pair.png)
### 寻找主机密钥 ###
在你准备添加密钥之前不妨先用以下命令看看是否已经添加了对应主机的密钥了.
$ ssh-keygen -F 10.42.0.47
![find hostkey](http://linoxide.com/wp-content/uploads/2014/08/find-hostkey.png)
### 删除主机密钥 ###
某些情况下, 比如主机地址更改或者不再使用某个密钥, 你就可能需要删除某个密钥.
$ ssh-keygen -R 10.42.0.47
用以上命令就可删除. 这比手动在 **~/.ssh/known_hosts** 文件中删除要方便很多.
![remove hostkey](http://linoxide.com/wp-content/uploads/2014/08/remove-hostkey.png)
### 总结 ###
通过以上的内容你应该可以很轻松的使用 SSH 了. SSH 还有很多功能值得你去发掘, 这就要看你的想象力了.
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/pocket-guide-linux-ssh-command/
作者:[Bobbin Zachariah][a]
译者:[henryfour](https://github.com/henryfour)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/bobbin/
[1]:http://en.wikipedia.org/wiki/Secure_Shell
[2]:http://linoxide.com/how-tos/sshfs-mount-remote-directories/

View File

@ -0,0 +1,54 @@
2q1w2007翻译中
[小贴士] 怎么在Linux发行版下列出所有安装了的包
================================================================================
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/09/linux-790x536.png)
列出所有安装了的包的方法取决于你用什么发行版以及包管理器。
在这个教程里,我们将提供主流发行版的命令。
**注意**: 你可以用管道筛选或者用重定向符(>)来把结果重定向到一个文件。例子如下。
example | less
----------
example > installed_packages.txt
### Red Hat/Fedora Core/CentOS Linux: ###
rpm -qa
### FreeBSD / OpenBSD: ###
pkg_info
### Arch Linux: ###
pacman -Qq
### Ubuntu / Debian / Linux Mint: ###
dpkg --get-selections
----------
dpkg --list
----------
dpkg -l
祝你有好的一天。
--------------------------------------------------------------------------------
via: http://www.unixmen.com/quick-tip-list-installed-packages-linux-distributions/
作者:[Enock Seth Nyamador][a]
译者:[2q1w2007](https://github.com/2q1w2007)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.unixmen.com/author/seth/