diff --git a/published/20141106 Exaile 3.4.1 Overview--A Feature-Complete GNOME Music Player.md b/published/20141106 Exaile 3.4.1 Overview--A Feature-Complete GNOME Music Player.md
new file mode 100644
index 0000000000..af58c52b1d
--- /dev/null
+++ b/published/20141106 Exaile 3.4.1 Overview--A Feature-Complete GNOME Music Player.md
@@ -0,0 +1,75 @@
+Exaile 3.4.1 概览:一个全功能的GNOME音乐播放器
+================================================================================
+**Exaile** 在过去两年显得有些平静,也许只有一个或者两个稳定版发布,但尽管如此,在功能方面,它是一个和[Rhythmbox][1]或者[Banshee][2]相匹敌的全功能GNOME音乐播放器。不过,在过去的两个月,在"We’re not dead yet"的口号下,他们推出了一个新的稳定版3.4,同时在11月1日还推出了3.4.1增量版本。事实上,Exaile有很多的功能,我可以继续写很多的文章而不是在一篇文章里全部介绍到,就让我们来看一下一些最显著的特点吧。
+
+![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile02.jpg)
+
+[Exaile][3]是基于GTK-2,用Python写的音乐播放器,它能很好地兼容GNOME,有和旧的Amarok1.4或者Clementine非常类似的界面,以及一些很好的功能。界面主要由两个面板组成,两个都支持标签。左边的面板提供对音乐集,网络音频,智能和自定义播放列表,文件浏览,播客,组标签以及歌词的访问,窗口的主要部分是播放列表(支持多个列表,以标签方式组织的播放列表)和控制按钮。
+
+Exaile的界面和Clementine或者Amarok1.4非常相似,可以显示或者隐藏左边的标签。
+
+![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile04.jpg)
+
+版本3.4增加了很多新的主要功能和更改,而3.4.1是一个小的bug修复版本。版本3.4的新功能包括类似Icecast的新插件,歌词同步,播放列表分析器,Soma.fm,以及新的更简单的插件API。用户界面和一般操作也作了修改,包括可以在多个面板显示播放列表,关闭左边的面板以及更好的BPM用户界面集成。
+
+第一次打开Exaile你可以添加歌曲文件夹到音乐集中-你也可以选择添加文件夹并设置在打开Exaile的时候是否监视或者扫描这些文件夹:
+
+![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile01.jpg)
+
+Exaile的功能几乎不尽其数。你可以在音乐集中组织音乐,听播客,对音乐进行评分,编辑标签,查看文件属性,排列歌曲,查看歌曲和封面,按照多种方式排序播放列表,更改播放行为和外观风格。
+
+均衡器,封面管理以及收听网络电台:
+
+![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile05.jpg)
+
+自动检测本地专辑封面,可以全尺寸显示,放大或者缩小:
+
+![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile03.jpg)
+
+首选项窗口允许配置Exaile的各个方面,包括启用或者禁用插件,外观,系统托盘集成或者播放模式。外观设置允许你更改标签的布局,显示或者隐藏便签栏,启用或者禁用透明性或者禁用启动画面。
+
+![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_preferences_01.jpg)
+
+![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_preferences_02.jpg)
+
+系统托盘集成提供了一个快速播放或者暂停音乐,对音乐评分或者更改音乐列表播放模式(随机,重复或者动态)的菜单。
+
+![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_tray.jpg)
+
+![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_tray.jpg)
+
+我相信Exaile数不尽的功能使它成为音乐播放器的完美选择,尤其是对于GNOME用户。每个用户都会对丰富多样的选项和高度可配置的方式感到满意。
+
+### 在Ubuntu 14.04 和 14.10上安装Exaile 3.4.1 ###
+
+从源码编译并安装和简单明了。首先获取依赖包:
+
+ sudo apt-get build-dep exaile
+ sudo apt-get install python-gst0.10
+
+从[下载页面][4](或者直接点击[这里][5])下载源码包,然后解压:
+
+ tar -xf exaile-3.4.1.tar.gz
+
+更改工作目录到exaile-3.4.1然后运行下面的命令:
+
+ make
+ sudo make install
+
+二进制可执行文件将被安装为 **/usr/local/bin/exaile**.
+
+--------------------------------------------------------------------------------
+
+via: http://www.tuxarena.com/2014/11/exaile-3-4-1-overview-a-feature-complete-gnome-music-player/
+
+作者:Craciun Dan
+译者:[ictlyh](https://github.com/ictlyh)
+校对:[wxy](https://github.com/wxy)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[1]:https://wiki.gnome.org/Apps/Rhythmbox
+[2]:http://banshee.fm/
+[3]:http://www.exaile.org/
+[4]:http://www.exaile.org/download/
+[5]:https://github.com/exaile-dev/exaile/archive/3.4.1.tar.gz
\ No newline at end of file
diff --git a/translated/tech/20150202 How to Bind Apache Tomcat to IPv4 in Centos or Redhat.md b/published/20150202 How to Bind Apache Tomcat to IPv4 in Centos or Redhat.md
similarity index 67%
rename from translated/tech/20150202 How to Bind Apache Tomcat to IPv4 in Centos or Redhat.md
rename to published/20150202 How to Bind Apache Tomcat to IPv4 in Centos or Redhat.md
index 5aff088f99..814e81d4f1 100644
--- a/translated/tech/20150202 How to Bind Apache Tomcat to IPv4 in Centos or Redhat.md
+++ b/published/20150202 How to Bind Apache Tomcat to IPv4 in Centos or Redhat.md
@@ -1,12 +1,12 @@
-在CentOS或者Redhat中如何为Apache Tomcat绑定IPv4
+如何在 CentOS/RHEL 中为 Apache Tomcat 绑定 IPv4 地址
================================================================================
-今天我们来学习一下如何在CentOS 7 Linux分布式系统中为Tomcat绑定IPv4
+今天我们来学习一下如何在CentOS 7 Linux分布式系统中为Tomcat绑定IPv4。
-**Apache Tomcat** 是由[Apache Software Foundation][1] 开发的开源web服务器和servlet容器。它实现了Java Servlet,JavaServer页面(JSP),Java的统一表达式语言,以及Sun Microsystems的Java的WebSocket规范,并提供了一个运行java代码的web服务器环境。
+**Apache Tomcat** 是由[Apache 软件基金会][1] 开发的开源web服务器和servlet容器。它实现了Java Servlet,JavaServer页面(JSP),Java的统一表达式语言,以及Sun Microsystems的Java的WebSocket规范,并提供了一个运行java代码的web服务器环境。
-如果由于默认绑定tomcat到IPv6而导致我们的web服务器不能正常工作,就有必要将tomcat绑定到IPv4。众所周知,IPv6是为设备分配IP地址的现代方法,虽然在不久的将来也许会得到应用,但是现在并没有得到完全应用。由于没有用处,目前我们并不需要将我们的Tomcat服务器向IPv6转换,我们应该将其绑定到IPv4。
+如果由于tomcat默认绑定到IPv6而导致我们的web服务器不能正常工作,就有必要将tomcat绑定到IPv4。众所周知,IPv6是为设备分配IP地址的现代方法,虽然在不久的将来也许会得到应用,但是现在并没有得到完全应用。由于没有用处,目前我们并不需要将我们的Tomcat服务器向IPv6转换,我们应该将其绑定到IPv4。
-在开始将tomcat绑定到IPv4之前,我们应该确保在我们的CentOS 7中已经安装了tomcat。这是一个[如何在CentOS 7.0服务器中安装tomcat 8][2]的指导。
+在开始将tomcat绑定到IPv4之前,我们应该确保在我们的CentOS 7中已经安装了tomcat。可以看这个[如何在CentOS 7.0服务器中安装tomcat 8][2]的指导。
### 1. 切换到tomcat用户 ###
@@ -32,13 +32,13 @@
### 3. 配置 Catalina.sh ###
-如图所示,我们将在catalina.sh脚本文件的最后增加一行 **JAVA_OPTS= "$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses"**。我们可以使用我们喜欢的文本编辑器来编辑这个文件,例如nano,vim等等。这里我们使用nano。
+如图所示,我们将在catalina.sh脚本文件的最后增加一行 `JAVA_OPTS= "$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses"`。我们可以使用我们喜欢的文本编辑器来编辑这个文件,例如nano、vim等等。这里我们使用nano。
$ nano catalina.sh
![Catalina script](http://blog.linoxide.com/wp-content/uploads/2015/01/catalina-script.png)
-然后,如下图所示,将 **JAVA_OPTS= "$JAVA_OPTS -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses"** 增加到文件。
+然后,如下图所示,将该行增加到文件。
![配置 catalina](http://blog.linoxide.com/wp-content/uploads/2015/01/configured-catalina.png)
@@ -60,7 +60,7 @@
### 结尾 ###
-好了,我们终于将我们运行在CentOS 7 Linux分布式系统上的tomcat服务器绑定到IPv4上了。尽管IPv6在不久的将来也许会得到应用,但由于现在还没有使用,如果因为将你的Tomcat服务器绑定到IPv6上而使得你的tomcat服务器不工作,就有必要将tomcat绑定到IPv4上,这也很简单。如果你有任何疑问,建议,反馈,请在下面的评论框中写下来,让我们知道有什么需要增加或者改进。非常感谢!
+好了,我们终于将我们运行在CentOS 7 Linux发行版上的tomcat服务器绑定到IPv4上了。尽管IPv6在不久的将来也许会得到应用,但由于现在还没有使用,如果因为将你的Tomcat服务器绑定到IPv6上而使得你的tomcat服务器不工作,就有必要将tomcat绑定到IPv4上,这也很简单。如果你有任何疑问,建议,反馈,请在下面的评论框中写下来,让我们知道有什么需要增加或者改进。非常感谢!
--------------------------------------------------------------------------------
@@ -68,7 +68,7 @@ via: http://linoxide.com/linux-how-to/bind-apache-tomcat-ipv4-centos/
作者:[Arun Pyasi][a]
译者:[ictlyh](https://github.com/ictlyh)
-校对:[校对者ID](https://github.com/校对者ID)
+校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
diff --git a/published/20150225 Torvalds--'People who start writing kernel code get hired really quickly'.md b/published/20150225 Torvalds--'People who start writing kernel code get hired really quickly'.md
new file mode 100644
index 0000000000..286b5eee16
--- /dev/null
+++ b/published/20150225 Torvalds--'People who start writing kernel code get hired really quickly'.md
@@ -0,0 +1,32 @@
+Torvalds: 写linux内核的人更加容易找工作
+========================================
+
+相比起以往,linux内核开发这么专业的事情,在最近发布的《谁在编写 Linux》报告中,其无偿贡献者降到了历史最低水平。
+
+这个报道由linux基金会撰写,上年有11.8%的内核开发是由无偿贡献者完成,相比2012年的14.6%下滑了19%。基金会说贡献者有逐年下降的趋势。
+
+![](http://images.techhive.com/images/article/2015/02/screen-shot-2015-02-17-at-5.25.43-pm-100568680-medium.idge.png)
+
+即使是这样,在最新的《谁在编写 Linux》报告里,无偿贡献者还是最大的单一贡献来源,共做了11968 处修改,占整体的12.4%。然而,linux基金会说,企业贡献者共同占比越来越多,超过80%的内核贡献是由有偿的专业开发者完成的。
+
+根据 linus Torvalds 说,这个有偿开发者趋势不会对内核开发的本身有太多改变。
+
+他向《Network World》说,“我认为不会改变太多的一个原因是,其实并不是‘无偿贡献者离开了’,而是‘编写内核的人很快就被雇走了’。”
+
+Torvalds讲到,linux开发的改变有很多其他原因,很自然的,新的贡献者会经常冒出来;有很多原来的开发者,有的有着10年的经验,被很多对linux感兴趣的公司抢去了。
+
+他说:“开始我们是自愿者,但我们后来也很高兴被请去开发linux。”
+
+Torvalds 开始抽离了他的开发角色,根据报道在3.10的内核版本里面他个人发布了329个补丁,占04%。逐渐地,各个子系统的维护人员自己开始做代码检查与合并。
+
+--------------------------------------------------------------------------------
+
+via: http://www.infoworld.com/article/2885339/application-development/torvalds-people-who-start-writing-kernel-code-get-hired-really-quickly.html
+
+作者:[Jon Gold][a]
+译者:[haimingfg](https://github.com/haimingfg)
+校对:[wxy](https://github.com/wxy)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:http://www.infoworld.com/author/Jon-Gold/
diff --git a/published/20150323 Red Hat Developer Toolset 3.1 beta arrives.md b/published/20150323 Red Hat Developer Toolset 3.1 beta arrives.md
new file mode 100644
index 0000000000..3fd91b69cd
--- /dev/null
+++ b/published/20150323 Red Hat Developer Toolset 3.1 beta arrives.md
@@ -0,0 +1,53 @@
+红帽开发者工具集3.1测试版发布了
+================================================================================
+> **摘要**:想要试试最新的红帽企业版Linux 6/7的开发者工具?测试版已经发布啦。
+
+这是[DevOps][1]也不能完全解决的程序员和系统管理员之间永恒的问题之一。系统管理员想要最稳定的操作系统,而程序员想要最新最棒的开发工具。[红帽公司][2]对这个两难问题的解决方法就是用最新的稳定版[Red Hat Enterprise Linux (RHEL)][3]去测试这些新品牌工具,然后向开发者发布。
+
+![红帽开发者工具集](http://zdnet4.cbsistatic.com/hub/i/2015/03/18/d92b1067-6b36-4ff0-ac9e-608fbe3e8c5d/ae80362df5401a37e3cbcd2598f33370/rhel-dev-tools.png)
+
+*红帽开发者工具集*
+
+红帽刚刚公布了给开发者的最新玩具:[红帽开发者工具集 3.1][4]。现在可以获得这些最热门工具包的测试版了。
+
+这次更新包括:
+
+[GNUCompiler Collection (GCC) 4.9][5]: 最新的GCC上游稳定版本,提供多处改进和bug修复。
+
+[Eclipse 4.4.1][6]: 支持Java 8 以及更新的Eclipse CDT(8.5)版本,Eclipse Linux Tools (3.1), Eclipse Mylyn (3.14), 和 Eclipse Egit/Jgit (3.6.1)
+
+众多额外的更新包: 包括 GDB 7.8.2, elfutils 0.161, memstomp 0.1.5, SystemTap 2.6, Valgrind 3.10.1, Dyninst 8.2.1, 以及 ltrace 0.7.91.
+
+用这些开发工具,你可以给RHEL 6 和 7.x 开发应用程序。这些应用程序可以在RHEL上运行,不管是物理机,虚拟机还是云环境。它们也可以在红帽提供的Platform-as-a-Service (PaaS)服务[OpenShift][7]上运行。
+
+这些新的开发者程序集包括可以运行在[AMD64 和 Intel 64 架构][8]上RHEL 7的包。尽管这些工具都是64位的,你也可以用它们创建或者修改32位的二进制文件。
+
+在运行任何这些程序之前,你应该安装RHEL所有最近的更新。要安装这个测试工具集,你的系统需要订阅“可选渠道”来获取所有红帽开发者工具集需要的工具链包。
+
+另外,如果已经安装了早期版本的工具集,可能会遇到[安装Toolkit 3.1 时的一些问题][9]。尽管这些问题很容易解决,在安装新的工具集之前还是应该大概看一下这些可能出现的问题。
+
+最后,你可能注意到一些最令人激动的工具,例如 Docker,Kubernetes以及其它容器工具并没有提供。因为它们在最新的发行版[RHEL 7.1][10] 和 [Red Hat Enterprise Linux 7 Atomic Host (RHELAH)][11]中。[红帽和Docker已成为合作伙伴][12],要获取这些支持容器的程序,你需要转换到支持Docker的RHEL版本上来。
+
+--------------------------------------------------------------------------------
+
+via: http://www.zdnet.com/article/red-hat-developer-toolset-3-1-beta-arrives/
+
+作者:[Steven J. Vaughan-Nichols][a]
+译者:[ictlyh](https://github.com/ictlyh)
+校对:[wxy](https://github.com/wxy)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:http://www.zdnet.com/meet-the-team/us/sjvn/
+[1]:http://blogs.csc.com/2015/02/03/devops-theory-for-beginners/
+[2]:http://www.redhat.com/en
+[3]:http://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
+[4]:http://www.redhat.com/en/about/blog/red-hat-developer-toolset-31-beta-now-available
+[5]:https://gcc.gnu.org/gcc-4.9/
+[6]:https://projects.eclipse.org/projects/eclipse/releases/4.4.1
+[7]:https://www.openshift.com/
+[8]:https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3-Beta/html/3.1_Release_Notes/System_Requirements.html
+[9]:https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3-Beta/html/3.1_Release_Notes/DTS3.1_Release.html#Known_Issues
+[10]:http://www.zdnet.com/article/red-hat-7-1-is-here-centos-7-1-is-coming-soon/
+[11]:http://www.zdnet.com/article/red-hat-buys-into-docker-containers-with-atomic-host/
+[12]:http://www.zdnet.com/article/red-hat-partners-with-docker-to-create-linuxdocker-software-stack/
\ No newline at end of file
diff --git a/translated/share/20150324 How to Install Telegram Messenger Application on Linux.md b/published/20150324 How to Install Telegram Messenger Application on Linux.md
similarity index 85%
rename from translated/share/20150324 How to Install Telegram Messenger Application on Linux.md
rename to published/20150324 How to Install Telegram Messenger Application on Linux.md
index 8721488444..5400bd52ef 100644
--- a/translated/share/20150324 How to Install Telegram Messenger Application on Linux.md
+++ b/published/20150324 How to Install Telegram Messenger Application on Linux.md
@@ -1,6 +1,6 @@
如何在Linux上安装Telegram Messenger应用
================================================================================
-Telegram是和whatsapp类似的及时通讯应用。它有一个非常庞大的用户群。它有很多能和其他通讯应用区分开来的特性。
+Telegram是和whatsapp类似的及时通讯应用。它有一个庞大的用户群,并且很多能和其他通讯应用区分开来的特性。
![在Linux上安装Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/Install-Telegram-in-Linux.png)
Telegram Messenger for Linux
@@ -13,19 +13,19 @@ Telegram Messenger for Linux
- 有桌面版本
- 第三方开发者可以访问Telegram的应用程序接口(API)。
- 支持Android, iphone/ipad, Windows Phone, Web-Version, PC, Mac 和 Linux。
-- 以上应用支持重度加密和自销毁信息。
+- 以上应用支持高度加密和自销毁信息。
- 可以让你从多种设备和平台查看你的信息。
- 整体的处理和消息传送都非常快
- 为了安全和效率,在全球有分布式服务器
- 开放的API和自由协议
- 没有广告,没有认购费用。-永久免费
-- 强大-没有媒体和聊天限制
+- 功能强大-没有媒体和聊天限制
- 多种安全措施使其免受黑客侵害
- 在群组中回复特定信息。使用@username提醒群组里的多个用户
#### 为什么使用Telegram? ####
-当像WhatsApp的和其他的及时通讯应用都提供了几乎同样的功能的情况下,为什么要选择Telegram?
+在像WhatsApp以及其他及时通讯应用都提供了几乎同样的功能的情况下,为什么要选择Telegram?
第三方开发者可以使用API这一点就足够了。更多PC的可用性意味着你不必再纠结在你的移动设备上打字,你可以使用你的PC,这样更具有可用性。
@@ -65,12 +65,12 @@ Telegram Messenger for Linux
![Telegram验证码](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Verfication-Code.png)
Telegram验证码
-4. 输入你的姓名,昵称并点击“SIGNUP”.
+4. 输入你的姓名,昵称并点击“SIGN UP”.
![输入账户详细信息](http://www.tecmint.com/wp-content/uploads/2015/03/Enter-Account-Details.jpeg)
输入账户详细信息
-5. 新建账户之后,我看到这个界面。一切准备就绪,尽管我是Telegram的新用户。这个界面真的很简洁。
+5. 新建账户之后,我看到这个界面。一切准备就绪,尽管我对Telegram还不熟悉。这个界面真的很简洁。
![Telegram界面](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Interface.jpeg)
Telegram界面
@@ -87,7 +87,7 @@ Telegram联系人提示
8. 当联系人加入Telegram的时候,你会收到信息(类似弹出提示)显示[YOUR_CONTACT]加入了Telegram。
-9. 在Linux系统上正式的聊天窗口。 很好的体验…
+9. 在Linux系统上正式的聊天窗口。很好的体验…
![联系人加入Telegram消息](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Join-Message.jpeg)
联系人加入Telegram消息
@@ -113,7 +113,7 @@ Telegram联系人提示
- 一开始在2013年(8月14号)发布iPhone版
- 惊人项目背后的人物:Pavel and Nikolai Durov..
-就是这些了。我还会有你喜欢阅读的其它有趣的文章。很高兴能代表Tecmint感谢我们尊贵的读者以及使得我们通过不断的自我进步走到这里的批评者。保持联系!继续评论。如果你关注我们就请和我们分享吧。
+就是这些了。我还会为大家带来你们喜欢阅读的其它有趣文章。很高兴能代表Tecmint,感谢我们尊贵的读者以及使得我们通过不断的自我提升走到这里的批评者。保持联系!继续评论。如果你关注我们那就请分享吧。
- [https://telegram.org/][2]
@@ -123,10 +123,10 @@ via: http://www.tecmint.com/install-telegram-in-linux/
作者:[Avishek Kumar][a]
译者:[ictlyh](https://github.com/ictlyh)
-校对:[校对者ID](https://github.com/校对者ID)
+校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/avishek/
[1]:https://tdesktop.com/linux
-[2]:https://telegram.org/
\ No newline at end of file
+[2]:https://telegram.org/
diff --git a/translated/news/20150402 The VirtualBox 5.0 beta is finally here.md b/published/20150402 The VirtualBox 5.0 beta is finally here.md
similarity index 52%
rename from translated/news/20150402 The VirtualBox 5.0 beta is finally here.md
rename to published/20150402 The VirtualBox 5.0 beta is finally here.md
index ed2549d347..b725657127 100644
--- a/translated/news/20150402 The VirtualBox 5.0 beta is finally here.md
+++ b/published/20150402 The VirtualBox 5.0 beta is finally here.md
@@ -1,24 +1,25 @@
-VirturalBox 5.0 beta版终于发布了
+VirturalBox 终于进入到 5.0 世代
=======================================
-**甲骨文公司的桌面虚拟化软件获得了近五年来的第一次重大改版,但是更像是改进而不是革命性的的变化。**
+
+**本月初,甲骨文公司的桌面虚拟化软件获得了近五年来的第一次重大改版,但是更像是改进而不是革命性的的变化。**
VirtualBox,由Sun公司创建,现在由甲骨文管理的开源虚拟化系统,获得了近5年来第一次的主版本更新发布。
-从发行说明和测试版本身的表现来看,别期望任何真正革命性的改变。在此版本中,VirtualBox在视觉上和技术上都做了一些改进,但和VMware相比,它的主要优势仍然是相同核心功能的自由化。
+从发行说明和测试版本身的表现来看,别期望任何真正革命性的改变。在此版本中,VirtualBox在视觉上和技术上都做了一些改进,但和VMware相比,它的主要优势仍然是相同核心功能的开源实现。
-VirtualBox 4.0的最后一个主要版本在2010年12月发布,它采用了新的图形化用户界面,新的虚拟化硬件和重组的项目设计,带来了重大的改版。但项目主要版本的发布步伐缓慢,上一次重要版本(版本4.3)在2013年底才发布。从那时起,一切都被正式称为“维修”发布。
+VirtualBox 4.0的最后一个主要版本在2010年12月发布,它采用了新的图形化用户界面,新的虚拟化硬件和重组的项目设计,进行了重大的改版。但项目主要版本的发布步伐缓慢,上一次重要版本(版本4.3)在2013年底才发布。从那时起,一切都被正式称为“维护”发布。
-**VirtualBox 5.0**
+![](http://images.techhive.com/images/article/2015/04/vbox-5-100576781-large.idge.png)
*VirtualBox 5.0的第一个测试版增加了编辑菜单,VM窗口的快捷方式图标等功能,如下面所示。*
-VirtualBox 5.0最大的变化是增加了对硬件辅助虚拟化指令集扩展的支持。AES-NI指令集通常用于加密时的硬件加速,SSE 4.1和SSE 4.2指令集都包括在其中。另外一点是支持Windows和Linux客户机的半虚拟化,一个抽象主机音响的新的架构以及支持客户机中的USB 3(xHCI)控制器。
+VirtualBox 5.0最大的变化是增加了对硬件辅助虚拟化指令集扩展的支持。AES-NI指令集通常用于加密时的硬件加速,SSE 4.1和SSE 4.2指令集都包括在其中。另外一点是支持Windows和Linux客户机的半虚拟化,一个抽象主机音响设备的新的架构以及支持客户机中的USB 3(xHCI)控制器。
-大部分可用更新都是对VirtualBox 图形化用户界面的改进。一个大的变化就是支持给单个虚拟主机自定义菜单和工具栏,这样很少或者从不使用的选项就可以彻底删除。另外重要的一点是可以在VirtualBox接口内部对虚拟磁盘进行加密,而不依赖于客户机操作系统自身的磁盘加密功能(假设有的话)。
+大部分可用性更新都是对 VirtualBox 图形化用户界面的改进。一个大的变化就是支持给单个虚拟主机自定义菜单和工具栏,这样很少或者从不使用的选项就可以彻底删除。另外重要的一点是可以在VirtualBox接口内部对虚拟磁盘进行加密,而不依赖于客户机操作系统自身的磁盘加密功能(假设有的话)。
-甲骨文公司提醒由于这是个测试版软件,需要谨慎对待。当然,主界面和客户机系统界面在某方面都可能引起红黑测试版警告。但之前VirtualBox发行版(4.3.26)上创建的Windows 10虚拟机启动和运行都没问题,5.0版本中添加的VirtualBox客户机功能--更好的视频支持,双向复制和粘贴,以及其它功能--安装的时候也没有问题。(更好地支持Windows 10的修复从4.3.18版本后就开始出现)。
+甲骨文公司提醒由于这是个测试版软件,需要谨慎对待。当然,主界面和客户机系统界面的某个角落打着红黑相间的测试警告标志。但之前VirtualBox发行版(4.3.26)上创建的Windows 10虚拟机启动和运行都没问题,5.0版本中添加的VirtualBox客户机功能--更好的视频支持,双向复制和粘贴,以及其它功能--在安装的时候也没有问题。(从4.3.18版本就改进了对 Windows 10的支持)。
-虽然没有明确指出5.0的最终版什么时候会发布,但是甲骨文公司[鼓励用户][1]在非生产环境中下载和使用测试版,并在[测试版反馈论坛][2]中报告bug文件。
+虽然没有明确指出5.0的最终版什么时候会发布,但是甲骨文公司[建议用户][1]在非生产环境中下载和使用测试版,并在[测试版反馈论坛][2]中提交bug报告。
--------------------------------------------------------------------------------
@@ -26,7 +27,7 @@ via: http://www.infoworld.com/article/2905098/virtualization/oracle-virtualbox-5
作者:[Serdar Yegulalp][a]
译者:[ictlyh](https://github.com/ictlyh)
-校对:[校对者ID](https://github.com/校对者ID)
+校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
diff --git a/published/20150413 Linux Kernel 4.0 Features Live Kernel Patching PS3 Support.md b/published/20150413 Linux Kernel 4.0 Features Live Kernel Patching PS3 Support.md
new file mode 100644
index 0000000000..d62af19480
--- /dev/null
+++ b/published/20150413 Linux Kernel 4.0 Features Live Kernel Patching PS3 Support.md
@@ -0,0 +1,75 @@
+Linux内核4.0功能:实时内核补丁,支持PS3
+================================================================================
+![](http://www.omgubuntu.co.uk/wp-content/uploads/2011/10/tuxtuxtux.jpeg)
+
+**Linux Torvalds 在Linux内核邮件列表里[发布][1]了Linux内核新的稳定版。**
+
+Linux 4.0,代号为‘Hurr durr I’m a sheep’,带来了一小系列新硬件支持,驱动改进,性能调整,错误修复等。
+
+但是其实没有太多的更新的必要,Torvalds 写到:
+
+> 功能方面,4.0 并没有那么多特别的。虽然在内核补丁设施上做了很多工作,但事实上[...] 我们在其它版本中有更大的改变。所以这仅仅是一次“按部就班”的发布。
+
+Linus 补充说Linux 4.1 可能是一个“大版本”。
+
+### Linux内核4.0新功能 ###
+
+**无需重启安装内核更新**
+
+你肯定遇到过内核更新需要重启你的Linux系统而被打断工作,这并不是你一个人遇到的问题。这对于桌面操作系统来说是个小小的不便,对于服务器来说却是大问题。
+
+![内核更新无需重启](http://www.omgubuntu.co.uk/wp-content/uploads/2012/10/update.jpg)
+
+*内核更新无需重启*
+
+实时给Linux内核安装/使用安全补丁而不需要重启,多年来一直是Linux爱好者希望实现的事情。
+
+一些第三方项目,例如[Oracle 的 KSplice][2]和红帽的 Kpatch,已经为一些特定的发行版提供实时补丁的功能。
+
+对于服务器,企业单位以及关键任务正常运行,实现实时内核补丁是一个相当大的问题。
+
+好消息是Linux 4.0 使得重启系统以完成内核更新成为了过去。
+
+如果不是完全不需要重启,也是基本不需要。
+
+在最新的发行版中,实现了支持免重启安装补丁的最初基础,为有经验的系统管理员发挥 Linux 4.0的优势做好了准备。
+
+桌面Linux发行版也应该能够利用这个功能的优势(但考虑到在最终用户端配置免重启功能会比较复杂而有一些路要走)。
+
+在以后的4.x系列中,这个基础功能会持续完善和改进。我希望我们能更多听到它的一些信息。
+
+#### 其它改进 ####
+
+尽管被认为是一次小版本的发布,最新的Linux内核还是带来了一系列的硬件改进,新的驱动以及性能调整。
+它们包括:
+
+- 针对Intel ‘Skylake’ 平台的改进
+- 支持Intel Quark SoC
+- 改善Linux在Playstation 3上运行的系列补丁
+- TOpen-source AMD Radeon驱动支持DisplayPort音频
+- 各种HID驱动调整,包括Lenovo紧凑型键盘,Wacom Cintiq 27QHD
+- 东芝电源设置驱动器增加了USB睡眠/充电功能,快速充电,睡眠/音乐等
+- 文件系统调整,包括F2FS, BtrfFS等
+
+### 在Ubuntu上安装Linux内核4.0 ###
+
+尽管被归为稳定版本,但目前而言,**桌面用户和新用户没有必要去升级**。
+
+如果从[Canonical的主线内核文档][3]抓取合适的安装包或者冒着第三方PPA库的风险在Ubuntu 15.04测试版安装Linux4.0,那么这种急躁或者不娴熟可能会带来问题。
+
+Ubuntu 15.04 Vivid Vervet 将在本月晚些时候发布并会附带Ubuntu内核 3.19(Ubuntu的内核是由Linux内核以及一些上游发行版还没有接受的 Ubuntu 特定的补丁组成)。
+
+--------------------------------------------------------------------------------
+
+via: http://www.omgubuntu.co.uk/2015/04/linux-kernel-4-0-new-features
+
+作者:[Joey-Elijah Sneddon][a]
+译者:[ictlyh](https://github.com/ictlyh)
+校对:[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://linux.cn/article-5259-1.html
+[2]:http://www.omgubuntu.co.uk/2009/10/how-to-install-kernel-updates-without-rebooting
+[3]:http://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D
diff --git a/sources/share/20141106 Exaile 3.4.1 Overview--A Feature-Complete GNOME Music Player.md b/sources/share/20141106 Exaile 3.4.1 Overview--A Feature-Complete GNOME Music Player.md
deleted file mode 100644
index 5326811fb8..0000000000
--- a/sources/share/20141106 Exaile 3.4.1 Overview--A Feature-Complete GNOME Music Player.md
+++ /dev/null
@@ -1,76 +0,0 @@
-Translating by ictlyh
-Exaile 3.4.1 Overview – A Feature-Complete GNOME Music Player
-================================================================================
-**Exaile** has been a bit quiet in the past two years with maybe only one or two stable releases, but nevertheless, it’s one of the full-featured music players for GNOME which are on par with applications like [Rhythmbox][1] or [Banshee][2] in terms of features. However, over the past two months a new stable release, 3.4, has been put out under the slogan “We’re not dead yet”, as well as an incremental 3.4.1 release, which shipped on November 1. To be honest, Exaile has so many features that I could go on writing a lot more than an article to cover them all, so let’s have a look at some of the most notable ones.
-
-![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile02.jpg)
-
-[Exaile][3] is a GTK2-based music player written in Python which fits well into GNOME, has an interface which pretty much resembles the one of the old Amarok 1.4 or actual Clementine, and ships with some great features. The interface is composed mainly of two panels, both with support for tabs. The left panel provides access to the collection, Internet radio, smart and custom playlists, file browser, podcasts, Group Tagger and lyrics while the main area of the window is taken by the playlists (with multiple, tabbed playlist support) and control buttons.
-
-Exaile’s interface is very similar to the one of Clementine or Amarok 1.4 and the tabs on the left can be shown or hidden:
-
-![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile04.jpg)
-
-Version 3.4 shipped with a big number of major new features and changes while 3.4.1 was a small bug fix release. The major new features in 3.4 include new plugins like Icecast, Lyricsmania, Playlist Analyzer, Soma.fm, a new, simpler plugin API. Changes were done to the user interface and the general behavior as well, with the possibility to show playlists in multiple panels, close left panels, better BPM UI integration.
-
-The first time it starts you can add music folders to the collection – you can also choose to add directories and enable or disable monitoring or scanning them at start-up:
-
-![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile01.jpg)
-
-Exaile’s features are practically countless. You can organize your music in a collection, listen to podcasts, set song ratings, edit tags, view file properties, queue tracks, view lyrics and covers, sort the playlist by a huge number of criteria, change playback behavior or appearance style.
-
-Equalizer, cover manager and listening to Internet radio:
-
-![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile05.jpg)
-
-Local album covers are detected automatically and can be shown in full size, with the possibility to zoom in or out:
-
-![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile03.jpg)
-
-The preferences window allows to configure various aspects of Exaile, including enable or disable plugins, appearance, system tray integration, or playback. The appearance settings will allow you to change the tabs placement, show/hide the tab bar, enable or disable transparency, or disable the start-up splash screen.
-
-![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_preferences_01.jpg)
-
-![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_preferences_02.jpg)
-
-The system tray integration offers a menu to quickly play/pause songs, set a song rating or change the way the playlist handles playback (shuffle, repeat or dynamic).
-
-![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_tray.jpg)
-
-![](http://www.tuxarena.com/wp-content/uploads/2014/11/exaile_tray.jpg)
-
-The countless features in Exaile I believe make it the perfect choice as a music player, especially for GNOME users. Any user should be satisfied with the wealth of options and the highly configurable approach.
-
-### Install Exaile 3.4.1 in Ubuntu 14.04 and 14.10 ###
-
-Compiling and installing from source should be pretty straightforward. First, get the dependencies:
-
- sudo apt-get build-dep exaile
- sudo apt-get install python-gst0.10
-
-Download the source tarball from the [downloads page][4] (direct link [here][5]), then uncompress it:
-
- tar -xf exaile-3.4.1.tar.gz
-
-Change the working directory to exaile-3.4.1 and issue the following commands:
-
- make
- sudo make install
-
-The binary will be installed as **/usr/local/bin/exaile**.
-
---------------------------------------------------------------------------------
-
-via: http://www.tuxarena.com/2014/11/exaile-3-4-1-overview-a-feature-complete-gnome-music-player/
-
-作者:Craciun Dan
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
-
-[1]:https://wiki.gnome.org/Apps/Rhythmbox
-[2]:http://banshee.fm/
-[3]:http://www.exaile.org/
-[4]:http://www.exaile.org/download/
-[5]:https://github.com/exaile-dev/exaile/archive/3.4.1.tar.gz
\ No newline at end of file
diff --git a/sources/share/20150323 Red Hat Developer Toolset 3.1 beta arrives.md b/sources/share/20150323 Red Hat Developer Toolset 3.1 beta arrives.md
deleted file mode 100644
index 9faf1f2eb4..0000000000
--- a/sources/share/20150323 Red Hat Developer Toolset 3.1 beta arrives.md
+++ /dev/null
@@ -1,52 +0,0 @@
-Red Hat Developer Toolset 3.1 beta arrives
-================================================================================
-> **Summary**:Want the newest developer tools for Red Hat Enterprise Linux 6 or 7? The beta's ready for you now.
-
-It's one of those eternal problems between developers and operators that even [DevOps][1] can't entirely solve. System administrators want the most stable operating system possible, while programmers want the latest and greatest development tools. [Red Hat][2]'s solution for this dilemma has been to take those brand spanking-new tools, test them out on the latest stable [Red Hat Enterprise Linux (RHEL)][3], and then release them to developers.
-
-![Red Hat Developer Toolset](http://zdnet4.cbsistatic.com/hub/i/2015/03/18/d92b1067-6b36-4ff0-ac9e-608fbe3e8c5d/ae80362df5401a37e3cbcd2598f33370/rhel-dev-tools.png)
-Red Hat Developer Toolset
-
-So it is that Red Hat has just announced its latest toys for developers, [Red Hat Developer Toolset 3.1][4]. This packaging of the hottest new tools is now available in beta.
-
-This update includes:
-
-[GNUCompiler Collection (GCC) 4.9][5]: the latest stable upstream version of GCC, which provides numerous improvements and bug fixes
-
-[Eclipse 4.4.1][6]: with support for Java 8 and updated versions of Eclipse CDT (8.5), Eclipse Linux Tools (3.1), Eclipse Mylyn (3.14), and Eclipse Egit/Jgit (3.6.1)
-
-Numerous additional updated packages: These include GDB 7.8.2, elfutils 0.161, memstomp 0.1.5, SystemTap 2.6, Valgrind 3.10.1, Dyninst 8.2.1, and ltrace 0.7.91.
-
-With these development programs, you'll be able to create applications for RHEL 6 and 7.x. These apps will then run on RHEL regardless of whether you're running it on a physical, virtual or cloud environments. They will also run on Red Hat's [OpenShift][7], its Platform-as-a-Service (PaaS) offering.
-
-This new set of developer programs includes packages for both RHEL 7 and 7 running on [AMD64 and Intel 64 architectures][8]. Although the tools are 64-bit you can use them to create and modify 32-bit binaries.
-
-Before you try running any of these programs, you should patch RHEL with all the latest updates. To install the beta Toolset, your systems need to be subscribed to the Optional channel to access all the required Red Hat Developer Toolset tool-chain packages.
-
-In addition, if you've installed earlier Toolkits you may run into some [problems while installing Toolkit 3.1][9]. While these difficulties are easy enough to fix, you should go over these possible hiccups before trying to install the new Toolkit.
-
-Finally, you may notice that some of the most exciting of the new tools, such as Docker, Kubernetes, and other container tools aren't here. That's because they're in the newly released [RHEL 7.1][10] and [Red Hat Enterprise Linux 7 Atomic Host (RHELAH)][11]. [Red Hat has partnered with Docker][12], but you'll need to move to a Docker-friendly version of RHEL to get at these container-friendly programs.
-
---------------------------------------------------------------------------------
-
-via: http://www.zdnet.com/article/red-hat-developer-toolset-3-1-beta-arrives/
-
-作者:[Steven J. Vaughan-Nichols][a]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
-
-[a]:http://www.zdnet.com/meet-the-team/us/sjvn/
-[1]:http://blogs.csc.com/2015/02/03/devops-theory-for-beginners/
-[2]:http://www.redhat.com/en
-[3]:http://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
-[4]:http://www.redhat.com/en/about/blog/red-hat-developer-toolset-31-beta-now-available
-[5]:https://gcc.gnu.org/gcc-4.9/
-[6]:https://projects.eclipse.org/projects/eclipse/releases/4.4.1
-[7]:https://www.openshift.com/
-[8]:https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3-Beta/html/3.1_Release_Notes/System_Requirements.html
-[9]:https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3-Beta/html/3.1_Release_Notes/DTS3.1_Release.html#Known_Issues
-[10]:http://www.zdnet.com/article/red-hat-7-1-is-here-centos-7-1-is-coming-soon/
-[11]:http://www.zdnet.com/article/red-hat-buys-into-docker-containers-with-atomic-host/
-[12]:http://www.zdnet.com/article/red-hat-partners-with-docker-to-create-linuxdocker-software-stack/
\ No newline at end of file
diff --git a/sources/share/20150410 This tool can alert you about evil twin access points in the area.md b/sources/share/20150410 This tool can alert you about evil twin access points in the area.md
new file mode 100644
index 0000000000..f2a2165191
--- /dev/null
+++ b/sources/share/20150410 This tool can alert you about evil twin access points in the area.md
@@ -0,0 +1,40 @@
+This tool can alert you about evil twin access points in the area
+================================================================================
+**EvilAP_Defender can even attack rogue Wi-Fi access points for you, the developer says**
+
+A new open-source tool can periodically scan an area for rogue Wi-Fi access points and can alert network administrators if any are found.
+
+The tool, called EvilAP_Defender, was designed specifically to detect malicious access points that are configured by attackers to mimic legitimate ones in order to trick users to connect to them.
+
+These access points are known as evil twins and allow hackers to intercept Internet traffic from devices connected to them. This can be used to steal credentials, spoof websites, and more.
+
+Most users configure their computers and devices to automatically connect to some wireless networks, like those in their homes or at their workplace. However, when faced with two wireless networks that have the same name, or SSID, and sometimes even the same MAC address, or BSSID, most devices will automatically connect to the one that has the stronger signal.
+
+This makes evil twin attacks easy to pull off because both SSIDs and BSSIDs can be spoofed.
+
+[EvilAP_Defender][1] was written in Python by a developer named Mohamed Idris and was published on GitHub. It can use a computer's wireless network card to discover rogue access points that duplicate a real access point's SSID, BSSID, and even additional parameters like channel, cipher, privacy protocol, and authentication.
+
+The tool will first run in learning mode, so that the legitimate access point [AP] can be discovered and whitelisted. It can then be switched to normal mode to start scanning for unauthorized access points.
+
+If an evil AP is discovered, the tool can alert the network administrator by email, but the developer also plans to add SMS-based alerts in the future.
+
+There is also a preventive mode in which the tool can launch a denial-of-service [DoS] attack against the evil AP to buy the administrator some time to take defensive measures.
+
+"The DoS will only be performed for evil APs which have the same SSID but a different BSSID (AP's MAC address) or run on a different channel," Idris said in the tool's documentation. "This is to avoid attacking your legitimate network."
+
+However, users should remember that attacking someone else's access point, even a likely malicious one operated by an attacker, is most likely illegal in many countries.
+
+In order to run, the tool needs the Aircrack-ng wireless suite, a wireless card supported by Aircrack-ng, MySQL and the Python runtime.
+
+--------------------------------------------------------------------------------
+
+via: http://www.infoworld.com/article/2905725/security0/this-tool-can-alert-you-about-evil-twin-access-points-in-the-area.html
+
+作者:[Lucian Constantin][a]
+译者:[译者ID](https://github.com/译者ID)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:http://www.infoworld.com/author/Lucian-Constantin/
+[1] https://github.com/moha99sa/EvilAP_Defender/blob/master/README.TXT
diff --git a/sources/talk/20150407 10 Years of Git--An Interview with Git Creator Linus Torvalds.md b/sources/talk/20150407 10 Years of Git--An Interview with Git Creator Linus Torvalds.md
deleted file mode 100644
index e97f861a65..0000000000
--- a/sources/talk/20150407 10 Years of Git--An Interview with Git Creator Linus Torvalds.md
+++ /dev/null
@@ -1,134 +0,0 @@
-Translating by ZTinoZ
-10 Years of Git: An Interview with Git Creator Linus Torvalds
-================================================================================
-> Linus Torvalds explains why he created Git
->
-> ![](http://www.linuxveda.com/wp-content/uploads/2014/10/Linus_Torvalds.jpg)
->
-> Thanks to Linus' Git today GitHub is the world's biggest code hoster in the world with over 9 million users and over 21.1 million repositories.
->
-> By Swapnil Bhartiya -
->
-> Git will be celebrating it’s 10 anniversary this month. It’s yet another contribution of Linus Torvalds to the world in addition to Sub Surface and Linux. [Jennifer Cloer of The Linux Foundation interviewed the father of Linux][2] and presented us with a very comprehensive story behind Git.
->
-> When Cloer asked Linus why he created Git, his answer was:
->
-> “I really never wanted to do source control management at all and felt that it was just about the least interesting thing in the computing world (with the possible exception of databases ;^), and I hated all SCM’s with a passion.”
->
-> He then played with BitKeeper which he initially liked as in his own words:
->
-> “BK got most things right and having a local copy of the repository and distributed merging was a big deal.”
->
-> But he was not satisfied:
->
-> “I had performance requirements that were not even remotely satisfied by what was available, and I also worried about integrity of the code and the whole workflow, so I ended up just deciding to write my own.”
->
-> And the rest is history. Today GitHub is the world’s biggest code hoster in the world with over 9 million users and over 21.1 million repositories.
->
-> via:http://www.linuxveda.com/2015/04/06/linus-torvalds-explains-why-he-created-git/
-
-![](http://www.linux.com/images/stories/714/Linus-Torvalds-LinuxCon-Europe-2014.jpg)
-
-Ten years ago this week, the Linux kernel community faced a daunting challenge: They could no longer use their revision control system BitKeeper and no other Software Configuration Management (SCMs) met their needs for a distributed system. Linus Torvalds, the creator of Linux, took the challenge into his own hands and disappeared over the weekend to emerge the following week with Git. Today Git is used for thousands of projects and has ushered in a new level of social coding among programmers.
-
-To celebrate this milestone, we asked Linus to share the behind-the-scenes story of Git and tell us what he thinks of the project and its impact on software development. You'll find his comments in the story below. We'll follow this Q&A with a week of Git in which we profile a different project each day that is using the revision control system. Look for the stories behind KVM, Qt, Drupal, Puppet and Wine, among others.
-
-### Why did you create Git? ###
-
-**Torvalds**: I really never wanted to do source control management at all and felt that it was just about the least interesting thing in the computing world (with the possible exception of databases ;^), and I hated all SCM's with a passion. But then BitKeeper came along and really changed the way I viewed source control. BK got most things right and having a local copy of the repository and distributed merging was a big deal. The big thing about distributed source control is that it makes one of the main issues with SCM's go away - the politics around "who can make changes." BK showed that you can avoid that by just giving everybody their own source repository. But BK had its own problems, too; there were a few technical choices that caused problems (renames were painful), but the biggest downside was the fact that since it wasn't open source, there was a lot of people who didn't want to use it. So while we ended up having several core maintainers use BK - it was free to use for open source projects - it never got ubiquitous. So it helped kernel development, but there were still pain points.
-
-That then came to a head when Tridge (Andrew Tridgell) started reverse-engineering the (fairly simply) BK protocol, which was against the usage rules for BK. I spent a few weeks (months? It felt that way) trying to mediate between Tridge and Larry McVoy, but in the end it clearly wasn't working. So at some point I decided that I can't continue using BK, but that I really didn't want to go back to the bad old pre-BK days. Sadly, at the time, while there were some other SCM's that kind of tried to get the whole distributed thing, none of them did it remotely well. I had performance requirements that were not even remotely satisfied by what was available, and I also worried about integrity of the code and the whole workflow, so I ended up just deciding to write my own.
-
-### How did you approach it? Did you stay up all weekend to write it or was it just during regular hours? ###
-
-**Torvalds**: Heh. You can actually see how it all took shape in the git source code repository, except for the very first day or so. It took about a day to get to be "self-hosting" so that I could start committing things into git using git itself, so the first day or so is hidden, but everything else is there. The work was clearly mostly during the day, but there's a few midnight entries and a couple of 2 a.m. ones. The most interesting part is how quickly it took shape ; the very first commit in the git tree is not a lot of code, but it already did the basics - enough to commit itself. The trick wasn't really so much the coding but coming up with how it organizes the data.
-
-So I'd like to stress that while it really came together in just about ten days or so (at which point I did my first *kernel* commit using git), it wasn't like it was some kind of mad dash of coding. The actual amount of that early code is actually fairly small, it all depended on getting the basic ideas right. And that I had been mulling over for a while before the whole project started. I'd seen the problems others had. I'd seen what I wanted to avoid doing.
-
-### Has it lived up to your expectations? How is it working today in your estimation? Are there any limitations? ###
-
-**Torvalds**: I'm very happy with git. It works remarkably well for the kernel and is still meeting all my expectations. What I find interesting is how it took over so many other projects, too. Surprisingly quickly, in the end. There is a lot of inertia in switching source control systems; just look at how long CVS and even RCS have stayed around, but at some point git just took over.
-
-### Why do you think it's been so widely adopted? ###
-
-**Torvalds**: I think that many others had been frustrated by all the same issues that made me hate SCM's, and while there have been many projects that tried to fix one or two small corner cases that drove people wild, there really hadn't been anything like git that really ended up taking on the big problems head on. Even when people don't realize how important that "distributed" part was (and a lot of people were fighting it), once they figure out that it allows those easy and reliable backups, and allows people to make their own private test repositories without having to worry about the politics of having write access to some central repository, they'll never go back.
-
-### Does Git last forever, or do you foresee another revision control system in another 10 years? Will you be the one to write it? ###
-
-**Torvalds**: I'm not going to be the one writing it, no. And maybe we'll see something new in ten years, but I guarantee that it will be pretty "git-like." It's not like git got everything right, but it got all the really basic issues right in a way that no other SCM had ever done before.
-
-No false modesty ;)
-
-### Why does Git work so well for Linux? ###
-
-**Torvalds**: Well, it was obviously designed for our workflow, so that is part of it. I've already mentioned the whole "distributed" part many times, but it bears repeating. But it was also designed to be efficient enough for a biggish project like Linux, and it was designed to do things that people considered "hard" before git - because those are the things *I* do every day.
-
-Just to pick an example: the concept of "merging" was generally considered to be something really quite painful and hard in most SCM's. You'd plan your merges, because they were big deals. That's not acceptable to me, since I commonly do tens of merges a day when in the merge window, and even then, the biggest overhead shouldn't be the merge itself, it should be testing the result. The "git" part of the merge is just a couple of seconds, it should take me much longer just to write the merge explanation message.
-
-So git was basically designed and written for my requirements, and it shows.
-
-### People have said that Git is only for super smart people. Even Andrew Morton said Git is "expressly designed to make you feel less intelligent than you thought you were." What's your response to this? ###
-
-**Torvalds**: So I think it used to be true but isn't any more. There is a few reasons people feel that way, but I think only one of them remains. The one that remains is fairly simple: "you can do things so many ways."
-
-You can do a lot of things with git, and many of the rules of what you *should* do are not so much technical limitations but are about what works well when working together with other people. So git is a very powerful set of tools, and that can not only be overwhelming at first, it also means that you can often do the same (or similar) things different ways, and they all "work." Generally, the best way to learn git is probably to first only do very basic things and not even look at some of the things you can do until you are familiar and confident about the basics.
-
-There's a few historical reasons for why git was considered complicated. One of them is that it was complicated. The people who started using git very early on in order to work on the kernel really had to learn a very rough set of scripts to make everything work. All the effort had been on making the core technology work and very little on making it easy or obvious. So git (deservedly) had a reputation for requiring you to know exactly what you did early on. But that was mainly true for the first 6 months or a year.
-
-The other big reason people thought git was hard is that git is very different. There are people who used things like CVS for a decade or two, and git is not CVS. Not even close. The concepts are different. The commands are different. Git never even really tried to look like CVS, quite the reverse. And if you've used a CVS-like system for a long time, that makes git appear complicated and needlessly different. People were put off by the odd revision numbers. Why is a git revision not "1.3.1" with nice incrementing numbers like it was in CVS? Why is it that odd scary 40-character HEX number?
-
-But git wasn't "needlessly different." The differences are required. It's just that it made some people really think it was more complicated than it is, because they came from a very different background. The "CVS background" thing is going away. By now there are probably lots of programmers out there who have never used CVS in their lives and would find the CVS way of doing things very confusing, because they learned git first.
-
-### Do you think the rate of Linux kernel development would have been able to grow at its current rate without Git? Why or why not? ###
-
-**Torvalds**: Well, "without git," sure. But it would have required that somebody else wrote something git-equivalent: a distributed SCM that is as efficient as git is. We definitely needed something *like* git.
-
-### What's your latest opinion of GitHub? ###
-
-**Torvalds**: Github is an excellent hosting service; I have nothing against it at all. Now, the complaints I've had is that GitHub as a development platform - making commits, pull requests, keeping track of issues etc - doesn't work very well at all. It's not even close, not for something like the kernel. It's much too limited.
-
-That's partly because of how the kernel is developed, but part of it was that the GitHub interfaces were actively encouraging bad behavior. Commits done on GitHub had bad commit messages etc, because the web interfaces at GitHub were actively encouraging bad behavior. They did fix some of that, so it probably works better, but it will never be appropriate for something like the Linux kernel.
-
-### What is the most interesting use you've seen for Git and/or GitHub? ###
-
-**Torvalds**: I'm just happy that it made it so easy to start a new project. Project hosting used to be painful, and with git and GitHub it's just so trivial to do a random small project. It doesn't matter what the project is; what matters is that you can do it.
-
-### Do you have side projects up your sleeve today? Any more brilliant software projects that will dominate software development for years to come? ###
-
-**Torvalds**: Nothing planned. But I'll let you know if that changes.
-
-Atlassian is also helping to celebrate the anniversary of Git. Click on the image below to [take a walk down memory lane][1].
-
-![](http://www.linux.com/images/stories/714/AtlassianGit10year.jpg)
-
---------------------------------------------------------------------------------
-
-via: http://www.linux.com/news/featured-blogs/185-jennifer-cloer/821541-10-years-of-git-an-interview-with-git-creator-linus-torvalds
-
-作者:[Jennifer Cloer][a]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
-
-[a]:http://www.linux.com/community/forums/person/714/catid/185-jennifer-cloer
-[1]:https://www.atlassian.com/git/articles/10-years-of-git/
-[2]:http://www.linux.com/news/featured-blogs/185-jennifer-cloer/821541-10-years-of-git-an-interview-with-git-creator-linus-torvalds
-[3]:
-[4]:
-[5]:
-[6]:
-[7]:
-[8]:
-[9]:
-[10]:
-[11]:
-[12]:
-[13]:
-[14]:
-[15]:
-[16]:
-[17]:
-[18]:
-[19]:
-[20]:
diff --git a/sources/talk/20150410 10 Top Distributions in Demand to Get Your Dream Job.md b/sources/talk/20150410 10 Top Distributions in Demand to Get Your Dream Job.md
new file mode 100644
index 0000000000..5632351b37
--- /dev/null
+++ b/sources/talk/20150410 10 Top Distributions in Demand to Get Your Dream Job.md
@@ -0,0 +1,150 @@
+Translating by weychen
+10 Top Distributions in Demand to Get Your Dream Job
+================================================================================
+We are coming up with a series of five articles which aims at making you aware of the top skills which will help you in getting yours dream job. In this competitive world you can not rely on one skill. You need to have balanced set of skills. There is no measure of a balanced skill set except a few conventions and statistics which changes from time-to-time.
+
+The below article and remaining to follow is the result of close study of job boards, posting and requirements of various IT Companies across the globe of last three months. The statistics keeps on changing as the demand and market changes. We will try our best to update the list when there is any major changes.
+The Five articles of this series are…
+
+- 10 Distributions in Demand to Get Your Dream Job
+- [10 Famous IT Skills in Demand That Will Get You Hired][1]
+- 10 Programming Skills That Will Help You to Get Dream Job
+- 10 IT Networking Protocols Skills to Land Your Dream Job
+- 10 Professional Certifications in Demand That Will Get You Hired
+
+### 1. Windows ###
+
+The operating System developed by Microsoft not only dominates the PC market but it is also the most sought OS skill from job perspective irrespective of all the odds and criticism that follows. It has shown a growth in demand which equals to 0.1% in the last quarter.
+
+Latest Stable Release : Windows 8.1
+
+### 2. Red Hat Enterprise Linux ###
+
+Red Hat Enterprise Linux is a commercial Linux Distribution developed by Red Hat Inc. It is one of the Most widely used Linux distribution specially in corporates and production. It comes at number two having a overall growth in demand which equals to 17% in the last quarter.
+
+Latest Stable Release : RedHat Enterprise Linux 7.1
+
+### 3. Solaris ###
+
+The UNIX Operating System developed by Sun Microsystems and now owned by Oracle Inc. comes at number three. It has shown a growth in demand which equals to 14% in the last quarter.
+
+Latest Stable Release : Oracle Solaris 10 1/13
+
+### 4. AIX ###
+
+Advanced Interactive eXecutive is a Proprietary Unix Operating System by IBM stands at number four. It has shown a growth in demand which equals to 11% in the last quarter.
+
+Latest Stable Release : AIX 7
+
+### 5. Android ###
+
+One of the most widely used open source operating system designed specially for mobile, tablet computers and wearable gadgets is now owned by Google Inc. comes at number five. It has shown a growth in demand which equals to 4% in the last quarter.
+
+Latest Stable Release : Android 5.1 aka Lollipop
+
+### 6. CentOS ###
+
+Community Enterprise Operating System is a Linux distribution derived from RedHat Enterprise Linux. It comes at sixth position in the list. Market has shown a growth in demand which is nearly 22% for CentOS, in the last quarter.
+
+Latest Stable Release : CentOS 7
+
+### 7. Ubuntu ###
+
+The Linux Operating System designed for Humans and designed by Canonicals Ltd. Ubuntu comes at position seventh. It has shown a growth in demand which equals to 11% in the last quarter.
+Latest Stable Release :
+
+- Ubuntu 14.10 (9 months security and maintenance update).
+- Ubuntu 14.04.2 LTS
+
+### 8. Suse ###
+
+Suse is a Linux operating System owned by Novell. The Linux distribution is famous for YaST configuration tool. It comes at position eight. It has shown a growth in demand which equals to 8% in the last quarter.
+
+Latest Stable Release : 13.2
+
+### 9. Debian ###
+
+The very famous Linux Operating System, mother of 100’s of Distro and closest to GNU comes at number nine. It has shown a decline in demand which is nearly 9% in the last quarter.
+
+Latest Stable Release : Debian 7.8
+
+### 10. HP-UX ###
+
+The Proprietary UNIX Operating System designed by Hewlett-Packard comes at number ten. It has shown a decline in the last quarter by 5%.
+
+Latest Stable Release : 11i v3 Update 13
+
+注:表格数据--不需要翻译--开始
+
+
+
+
+
+
+1 |
+Windows |
+0.1% + |
+
+
+2 |
+RedHat |
+17% + |
+
+
+3 |
+Solaris |
+14% + |
+
+
+4 |
+AIX |
+11% + |
+
+
+5 |
+Android |
+4% + |
+
+
+6 |
+CentOS |
+22% + |
+
+
+7 |
+Ubuntu |
+11% + |
+
+
+8 |
+Suse |
+8% + |
+
+
+9 |
+Debian |
+9% - |
+
+
+10 |
+HP-UX |
+5% - |
+
+
+
+注:表格数据--不需要翻译--结束
+
+That’s all for now. I’ll be coming up with the next article of this series very soon. Till then stay tuned and connected to Tecmint. Don’t forget to provide us with your valuable feedback in the comments below. Like and share us and help us get spread.
+
+--------------------------------------------------------------------------------
+
+via: http://www.tecmint.com/top-distributions-in-demand-to-get-your-dream-job/
+
+作者:[Avishek Kumar][a]
+译者:[weychen](https://github.com/weychen)
+校对:[校对者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/top-distributions-in-demand-to-get-your-dream-job/www.tecmint.com/famous-it-skills-in-demand-that-will-get-you-hired/
diff --git a/sources/tech/20150119 How to Remember and Restore Running Applications on Next Logon.md b/sources/tech/20150119 How to Remember and Restore Running Applications on Next Logon.md
deleted file mode 100644
index 772667bde2..0000000000
--- a/sources/tech/20150119 How to Remember and Restore Running Applications on Next Logon.md
+++ /dev/null
@@ -1,99 +0,0 @@
-FSSlc translating
-
-How to Remember and Restore Running Applications on Next Logon
-================================================================================
-You have made some apps running in your Ubuntu and don't want to stop the process, just managed your windows and opened your stuffs needed to work. Then, something else demands your attention or you have battery low in your machine and you have to shut down. No worries. You can have Ubuntu remember all your running applications and restore them the next time you log in.
-
-Now, to make our Ubuntu remember the applications you have running in our current session and restore them the next time our log in, We will use the dconf-editor. This tool replaces the gconf-editor available in previous versions of Ubuntu but is not available by default. To install the dconf-editor, you need to run sudo apt-get install dconf-editor.
-
- $ sudo apt-get install dconf-tools
-
-Once the dconf-editor is installed, you can open dconf-editor from Application Menu. Or you can run it from terminal or run command (alt+f2):
-
- $ dconf-editor
-
-In the “dconf Editor” window, click the right arrow next to “org” in the left pane to expand that branch of the tree.
-
-![Dconf Editor Apps, org](http://blog.linoxide.com/wp-content/uploads/2015/01/dconf-editor-clicking-org-300x146.png)
-
-Under “org”, click the right arrow next to “gnome.”
-
-![dconf editor clicking gnome](http://blog.linoxide.com/wp-content/uploads/2015/01/dconf-editor-clicking-gnome.png)
-
-Under “gnome,” click “gnome-session”. In the right pane, select the “auto-save-session” check box to turn on the option.
-
-![dconf-editor selecting auto save session](http://blog.linoxide.com/wp-content/uploads/2015/01/dconf-editor_selecting_auto_save_session.png)
-
-After you check or tick it, close the “Dconf Editor” by clicking the close button (X) in the upper-left corner of the window which is by default.
-
-![dconf-editor closing dconf editor](http://blog.linoxide.com/wp-content/uploads/2015/01/dconf-editor_closing_dconf_editor.png)
-
-The next time you log out and log back in, all of your running applications will be restored.
-
-Hurray, we have successfully configured our Ubuntu 14.04 LTS "Trusty" to remember automatically running applications from our last session.
-
-Now, on this same tutorial, we'll gonna also learn **how to enable hibernation in our Ubuntu 14.04 LTS**:
-
-Before getting started, press Ctrl+ALt+T on your keyboard to open the terminal. When it opens, run:
-
- sudo pm-hibernate
-
-After your computer turns off, switch it back on. Did your open applications re-open? If hibernate doesn’t work, check if your swap partition is at least as large as your available RAM.
-
-You can check your Swap Area Partition Size from System Monitor, you can get it from the App Menu or run command in terminal.
-
- $ gnome-system-monitor
-
-### Enable Hibernate in System Tray Menu: ###
-
-The indicator-session was updated to use logind instead of upower. Hibernate is disabled by default in both upower and logind.
-
-To re-enable hibernate, run the commands below one by one to edit the config file:
-
- sudo -i
-
- cd /var/lib/polkit-1/localauthority/50-local.d/
-
- gedit com.ubuntu.enable-hibernate.pkla
-
-**Tips: if the config file does not work for you, try another one by changing /var/lib to /etc in the code.**
-
-Copy and paste below lines into the file and save it.
-
- [Re-enable hibernate by default in upower]
- Identity=unix-user:*
- Action=org.freedesktop.upower.hibernate
- ResultActive=yes
-
- [Re-enable hibernate by default in logind]
- Identity=unix-user:*
- Action=org.freedesktop.login1.hibernate
- ResultActive=yes
-
-Restart your computer and done.
-
-### Hibernate your laptop when lid is closed: ###
-
-1.Edit “/etc/systemd/logind.conf” via command:
-
- $ sudo nano /etc/systemd/logind.conf
-
-2. Change the line **#HandleLidSwitch=suspend to HandleLidSwitch=hibernate** and save the file.
-
-3. Run command below or just restart your computer to apply changes:
-
- $ sudo restart systemd-logind
-
-That’s it. Enjoy! Now, we have both dconf and hibernation on :) Now, your Ubuntu will completely remember your opened apps and stuffs.
-
---------------------------------------------------------------------------------
-
-via: http://linoxide.com/ubuntu-how-to/remember-running-applications-ubuntu/
-
-作者:[Arun Pyasi][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/arunp/
diff --git a/sources/tech/20150225 Linux FAQs with Answers--How to disable IPv6 on Linux.md b/sources/tech/20150225 Linux FAQs with Answers--How to disable IPv6 on Linux.md
index c6f0cde895..2c783bf5c0 100644
--- a/sources/tech/20150225 Linux FAQs with Answers--How to disable IPv6 on Linux.md
+++ b/sources/tech/20150225 Linux FAQs with Answers--How to disable IPv6 on Linux.md
@@ -1,3 +1,4 @@
+Translating by ZTinoZ
Linux FAQs with Answers--How to disable IPv6 on Linux
================================================================================
> **Question**: I notice that one of my applications is trying to establish a connection over IPv6. But since our local network is not able to route IPv6 traffic, the IPv6 connection times out, and the application falls back to IPv4, which causes unnecessary delay. As I don't have any need for IPv6 at the moment, I would like to disable IPv6 on my Linux box. What is a proper way to turn off IPv6 on Linux?
@@ -145,4 +146,4 @@ via: http://ask.xmodulo.com/disable-ipv6-linux.html
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://ask.xmodulo.com/author/nanni
-[1]:http://www.google.com/intl/en/ipv6/statistics.html
\ No newline at end of file
+[1]:http://www.google.com/intl/en/ipv6/statistics.html
diff --git a/sources/tech/20150331 How to Generate or Encrypt or Decrypt Random Passwords in Linux.md b/sources/tech/20150331 How to Generate or Encrypt or Decrypt Random Passwords in Linux.md
index 1cd2991879..057fa9cc9d 100644
--- a/sources/tech/20150331 How to Generate or Encrypt or Decrypt Random Passwords in Linux.md
+++ b/sources/tech/20150331 How to Generate or Encrypt or Decrypt Random Passwords in Linux.md
@@ -1,3 +1,5 @@
+FSSlc translating
+
How to Generate/Encrypt/Decrypt Random Passwords in Linux
================================================================================
We have taken initiative to produce Linux tips and tricks series. If you’ve missed the last article of this series, you may like to visit the link below.
@@ -101,4 +103,4 @@ via: http://www.tecmint.com/generate-encrypt-decrypt-random-passwords-in-linux/
[a]:http://www.tecmint.com/author/avishek/
[1]:http://www.tecmint.com/5-linux-command-line-tricks/
-[2]:http://www.tecmint.com/echo-command-in-linux/
\ No newline at end of file
+[2]:http://www.tecmint.com/echo-command-in-linux/
diff --git a/sources/tech/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md b/sources/tech/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md
deleted file mode 100644
index 03c25343f8..0000000000
--- a/sources/tech/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md
+++ /dev/null
@@ -1,71 +0,0 @@
-Translating by ictlyh
-Linux Email App Geary Updated — How To Install It In Ubuntu
-================================================================================
-**Geary, the popular desktop email client for Linux, has been updated to version 0.10 — and it gains a glut of new features in the process.**
-
-![An older version of Geary running in elementary OS](http://www.omgubuntu.co.uk/wp-content/uploads/2015/01/geary.jpg)
-An older version of Geary running in elementary OS
-
-Geary 0.100 features some welcome user interface improvements and additional UI options, including:
-
-- New: Ability to ‘Undo’ Archive, Trash and Move actions
-- New: Option to switch between a 2 column or 2 column layout
-- New “split header bar” — improves message list, composer layouts
-- New shortcut keys — use j/k to navigate next/previous conversations
-
-This update also introduces a **brand new full-text search algorithm** designed to improve the search experience in Geary, according to Yorba.
-
-This introduction should calm some complaints of the app’s search prowess, which often sees Geary return a slew of search results that are, to quote software outfit themselves, “…seemingly unrelated to the search query.”
-
-> ‘Yorba recommends that all users of the client upgrade to this release’
-
-*“Although not all search problems are fixed in 0.10, Geary should be more conservative about displaying results that match the user’s query,” [the team notes][1]. *
-
-Last but by no means least on the main feature front is something sure to find favour with power users: **support for multiple/alternate e-mail addresses per account**.
-
-If your main Gmail account is set-up in Geary to pull in your Yahoo, Outlook and KittyMail messages too then you should now see them all kept neatly together and be given the option of picking which identity you send from when using the composer ‘From’ field. No, it’s not the sexiest feature but it is one that has been requested often.
-
-Rounding out this release of the popular Linux email client is the usual gamut of bug fixes, performance optimisations and miscellaneous improvements.
-
-Yorba recommends that all users of the client upgrade to this release.
-
-### Install Geary 0.10 in Ubuntu 14.04, 14.10 & 15.04 ###
-
-![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/geary-inline-composor.jpg)
-
-The latest version of Yorba is available to download as source, ready for compiling from the GNOME Git. But let’s be honest: that’s a bit of a hassle, right?
-
-Ubuntu users wondering how to install Geary 0.10 in **14.04, 14.10** and (for early birds) **15.04** have things easy.
-
-The official Yorba PPA contains the **latest versions of Geary** as well as those for Shotwell (photo manager) and [California][2] (calendar app). Be aware that any existing versions of these apps installed on your computer may/will be upgraded to a more recent version by adding this PPA.
-
-Capiche? Coolio.
-
-To install Geary in Ubuntu you first need to add the Yorba PPA your Softwares Sources. To do this just open a new Terminal window and carefully enter the following two commands:
-
- sudo add-apt-repository ppa:yorba/ppa
-
- sudo apt-get update && sudo apt-get install geary
-
-After hitting return/enter on the last you’ll be prompted to enter your password. Do this, and then let the installation complete.
-
-![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/20130320161830-geary-yorba.png)
-
-Once done, open your desktop environment’s app launcher and seek out the ‘Geary’ icon. Click it, add your account(s) and discover [what the email mail man has dropped off through the information superhighway][3] and into the easy to use graphical interface.
-
-**Don’t forget: you can always tip us with news, app suggestions, and anything else you’d like to see us cover by using the power of electronic mail. Direct your key punches to joey [at] oho [dot] io.**
-
---------------------------------------------------------------------------------
-
-via: http://www.omgubuntu.co.uk/2015/03/install-geary-ubuntu-linux-email-update
-
-作者:[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]:https://wiki.gnome.org/Apps/Geary/FullTextSearchStrategy
-[2]:http://www.omgubuntu.co.uk/2014/10/california-calendar-natural-language-parser
-[3]:https://www.youtube.com/watch?v=rxM8C71GB8w
\ No newline at end of file
diff --git a/sources/tech/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md b/sources/tech/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md
deleted file mode 100644
index 1bbc9e9928..0000000000
--- a/sources/tech/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md
+++ /dev/null
@@ -1,156 +0,0 @@
-5 Linux Command Line Based Tools for Downloading Files and Browsing Websites
-================================================================================
-Linux command-line, the most adventurous and fascinating part of GNU/Linux is very cool and powerful tool. Command line itself is very productive and the availability of various inbuilt and third party command line application makes Linux robust and powerful. The Linux Shell supports a variety of web application of various kind be it torrent downloader, dedicated downloader or Internet Surfing.
-
-![Command Line Internet Tools](http://www.tecmint.com/wp-content/uploads/2014/02/Command-Line-Internet-Tools.jpg)
-5 Command Line Internet Tools
-
-Here we are presenting 5 great command line Internet tools, which are very useful and proves to be very handy.
-
-### 1. rTorrent ###
-
-rTorrent is a text-based Torrent Client which is written in C++ aimed at high performance. It is available for most of the standard Linux Distributions including FreeBSD and Mac OS X.
-
-#### Installation of rTorrent ####
-
- # apt-get install rtorrent (on APT based System)
-
-----------
-
- # yum install rtorrent (on YUM based System)
-
-Check if rtorrent is installed correctly by running the following command in the terminal.
-
- # rtorrent
-
-![Command line torrent download](http://www.tecmint.com/wp-content/uploads/2014/02/rTorrent.jpeg)
-rTorrent Command Line Tool
-
-#### Functioning of rTorrent ####
-
-Some of the useful Key-bindings and their use.
-
-- CTRL+ q – Quit rTorrent Application
-- CTRL+ s – Start Download
-- CTRL+ d – Stop an active Download or Remove an already stopped Download.
-- CTRL+ k – Stop and Close an active Download.
-- CTRL+ r – Hash Check a torrent before Upload/Download Begins.
-- CTRL+ q – When this key combination is executed twice, rTorrent shutdown without sending a stop Signal.
-- Left Arrow Key – Redirect to Previous screen.
-- Right Arrow Key – Redirect to Next Screen
-
-### 2. Wget ###
-
-Wget, is a part of GNU Project, the name is derived from World Wide Web (WWW). Wget is a brilliant tool which is useful for recursive download, offline viewing of HTML from local Server and is available for most of the platforms be it Windows, Mac, Linux. Wget makes it possible to download files over HTTP, HTTPS and FTP. Moreover it can be useful in mirroring the whole website as well as support for proxy browsing, pausing/resuming Downloads.
-
-#### Installation of Wget ####
-
-Wget being a GNU project comes bundled with Most of the Standard Linux Distributions and there is no need to download and install it separately. If in-case, it’s not installed by default, you can still install it using apt or yum.
-
- # apt-get install wget (on APT based System)
-
-----------
-
- # yum install wget (on YUM based System)
-
-#### Some Basic Usage of Wget ####
-
-Download a single file using wget.
-
- # wget http://www.website-name.com/file
-
-Download a whole website, recursively.
-
- # wget -r http://www.website-name.com
-
-Download specific type of file (say pdf and png) from a website.
-
- # wget -r -A png,pdf http://www.website-name.com
-
-Wget is a wonderful tool which enables custom and filtered download even on limited resource Machine. A screen shot of wget download, where we are mirroring a website (Yahoo.com).
-
-![Wget Download Files](http://www.tecmint.com/wp-content/uploads/2014/02/Wget.jpeg)
-Wget Command Line File Download
-
-For more such wget download examples, read our article that shows [10 Wget Download Command Examples][1].
-
-### 3. cURL ###
-
-cURL is a command line tool for transferring data over a number of protocols. cURL is a client side application which support protocols like FTP, HTTP, FTPS, TFTP, TELNET, IMAP, POP3, etc. cURL is a simple downloader which is different from wget in supporting LDAP, POP3 as compared to others. Moreover Proxy Downloading, pausing download, resuming download are well supported in cURL.
-
-#### Installation of cURL ####
-
-By default cURL is available in most of the distribution either in repository or installed. if it’s not installed, just do a apt or yum to get a required package from the repository.
-
- # apt-get install curl (on APT based System)
-
-----------
-
- # yum install curl (on YUM based System)
-
-Basic Usage of cURL
-
- # curl www.tecmint.com
-
-![Curl Download](http://www.tecmint.com/wp-content/uploads/2014/02/Curl.jpeg)
-Curl Data Download
-
-![Curl Data Download](http://www.tecmint.com/wp-content/uploads/2014/02/Curl-2.jpeg)
-Curl Download
-
-### 4. w3m ###
-
-The w3m is a text based web browser released under GPL. W3m support tables, frames, color, SSL connection and inline images. W3m is known for fast browsing.
-
-#### Installation of w3m ####
-
-Again w3m is available by default in most of the Linux Distribution. If incase, it is not available you can always apt or yum the required package.
-
- # apt-get install w3m (on APT based System)
-
-----------
-
- # yum install w3m (on YUM based System)
-
-#### Basic Usage of w3m ####
-
- # w3m www.tecmint.com
-
-![Command Line Browser](http://www.tecmint.com/wp-content/uploads/2014/02/w3m.jpeg)
-w3m Text Based Web Browser
-
-### 5. Elinks ###
-
-Elinks is a free text-based web browser for Unix and Unix based System. Elinks support HTTP, HTTP Cookies and also support browsing script in Perl and Ruby. Tab based browsing is well supported. The best thing is that it supports Mouse, Display Colours and support a number of Protocols like HTTP, FTP, SMB, Ipv4 and Ipv6.
-
-#### Installation of Elinks ####
-
-By default elinks also available in most of the Linux distributions. If not, install it via apt or yum.
-
- # apt-get install elinks (on APT based System)
-
-----------
-
- # yum install elinks (on YUM based System)
-
-Basic Usage of Elinks
-
- # elinks www.tecmint.com
-
-![Command Line Internet Browsing](http://www.tecmint.com/wp-content/uploads/2014/02/Elinks.jpeg)
-Elinks Command Line Web Browsing
-
-That’s all for now. I’ll be here again with an interesting article which you people will love to read. Till then stay tuned and connected to Tecmint and don’t forget to give your valuable feedback in comment section.
-
---------------------------------------------------------------------------------
-
-via: http://www.tecmint.com/linux-command-line-tools-for-downloading-files/
-
-作者:[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/10-wget-command-examples-in-linux/
\ No newline at end of file
diff --git a/sources/tech/20150407 How To Install CentOS Web Panel In CentOS.md b/sources/tech/20150407 How To Install CentOS Web Panel In CentOS.md
deleted file mode 100644
index ccad9d1b87..0000000000
--- a/sources/tech/20150407 How To Install CentOS Web Panel In CentOS.md
+++ /dev/null
@@ -1,329 +0,0 @@
-How To Install CentOS Web Panel In CentOS
-================================================================================
-![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/04/centos-790x427.jpg)
-
-### About CentOS Web Panel ###
-
-There are so many free and paid Control panels available nowadays. We will, today, discuss about [CentOS Web panel(CMP)][1], specially designed for RPM based distributions like CentOS, RHEL, Scientific Linux etc. **CWP** is a free, Open Source control panel that can be widely used for deploying a Web hosting environment easily. Unlike other Control panels, CWP is automatically deploy the LAMP stack with Varnish Cache server.
-
-### Features ###
-
-CWP comes with lot of features and free services. As I mentioned before, CWP automatically installs full LAMP stack (apache, php, phpmyadmin, webmail, mailserver etc.) on your server.
-
-Here is the complete list of features and software that will be automatically installed and configured during CWP installation.
-
-#### List of softwares to be installed and configured during CWP installation: ####
-
-- Apache Web Server
-- PHP 5.4
-- MySQL + phpMyAdmin
-- Postfix + Dovecot + roundcube webmail
-- CSF Firewall
-- File System Lock (no more website hacking, all your files are locked from changes)
-- Backups; AutoFixer for server configuration
-
-#### 3rd Party Applications: ####
-
-- CloudLinux + CageFS + PHP Selector
-- Softaculous – Script Installer (Free and Premium)
-
-#### Web Server: ####
-
-- Varnish Cache server
-- Compiles Apache from source
-- Apache reCompiler + Additional modules
-- Apache server status, configuration
-- Edit apache vhosts, vhosts templates, include configuration
-- Rebuild all apache Virtual hosts
-- suPHP & suExec
-- Mod Security + OWASP rules
-- Tomcat 8 server management
-- DoS protection
-- Perl cgi script support
-
-#### PHP: ####
-
-- PHP Switcher (switch between PHP versions like: 5.2, 5.3, 5.4, 5.5)
-- PHP Selector select PHP version per user or per folder (PHP 4.4, 5.2, 5.3, 5.4, 5.5, 5.6)
-- Simple php editor
-- Simple php.ini generator in the users panel
-- PHP addons
-- PHP.ini editor & PHP info & List modules
-- php.ini per user account
-- FFMPEG, For Video streaming websites
-- CloudLinux + PHP Selector
-
-#### User Management ####
-
-- Add, List, Edit adn Remove Users
-- User Monitoring
-- Shell access management
-- User Limit Managment
-- Limit Processes
-- Limit Open Files
-- User FTP & File Manager
-- CloudLinux + CageFS
-- Dedicated IP per account
-
-#### DNS: ####
-
-- FreeDNS
-- Add, Edit, List and Remove DNS zones
-- Edit nameserver IPs
-- DNS zone template editor
-- New Easy DNS Zone Manager (with ajax)
-- New DNS Zone list with Additional resolving information using google (also checking rDNS, nameservers….)
-
-#### Email: ####
-
-- Postfix & dovecot
-- MailBoxes, Alias
-- Roundcube webmail
-- Postfix Mail queue
-- rDNS Checker Module
-- AntiSPAM
-- SPF & DKIM Integration
-- Re-Build Postfix/Dovecot Mail server with AntiVirus, AntiSpam Protection
-- Email Auto Responder
-
-#### System: ####
-
-- CPU core and clock info
-- Memory usage info
-- Detailed Disk status
-- Software Info like kernel version, uptime etc.
-- Services Status
-- ChkConfig Manager
-- Network port usage
-- Network configuration
-- SSHD configuration
-- Auto-Fixer (checks important configuration and tries to auto-fix issues)
-
-#### Monitoring: ####
-
-- Monitor services eg. top, apache stats, mysql etc.
-- Use Java SSH Terminal/Console within panel
-- Services Configuration (eg. Apache, PHP, MySQL etc)
-- Run shell commands in screen/background
-
-#### Security: ####
-
-- CSF Firewall
-- SSL generator
-- SSL Certificate Manager
-- CloudLinux + CageFS
-
-#### SQL: ####
-
-- MySQL Database Management
-- Add local or remote access user
-- Live Monitor MySQL process list
-- Create, Remove database
-- Add additional users per database
-- MySQL server configuration
-- PhpMyAdmin
-- PostgreSQL, phpPgAdmin Support
-
-#### Additional options: ####
-
-- TeamSpeak 3 Manager
-- Shoutcast Manager
-- Auto-update
-- Backup manager
-- File Manager
-- Virtual FTP users per domain
-- cPanel Account Migration (restores files, databases and database users)
-- And many more.
-
-### Install CentOS Web Panel In CentOS 6 ###
-
-At the time writing this tutorial, CWP only supports upto CentOS 6.x versions. It doesn’t work on CentOS 7 and later versions.
-
-#### Prerequisites: ####
-
-**Before installing CWP, you must know the following information:**
-
-- CWP only supports static IP addresses. It does not support dynamic, sticky, or internal IP addresses.
-- CWP doesn’t has an uninstaller. After you install CWP, you must reinstall the server to remove it.
-- Only install CWP on a freshly installed operating system without any configuration changes.
-- Need atleast 512MB RAM for 32 bit systems.
-- 1024MB for 64 bit systems.
-- Need 4GB RAM or more to deploy all modules.
-- At least 20GB or hard disk space is required.
-
-For testing purpose in VirtualBox, 640MB RAM and 10GB hdd space is enough.
-
-#### Update server: ####
-
-Install wget package first. This is needed to download CWP.
-
- yum install wget -y
-
-Update your server using command:
-
- yum update -y
-
-Reboot once to take effect the changes.
-
-#### Install CWP: ####
-
-Change to **/usr/local/src/** directory:
-
- cd /usr/local/src
-
-Download latest CWP version with command:
-
- wget http://centos-webpanel.com/cwp-latest
-
-If the above URL doesn’t work, use the following link instead.
-
- wget http://dl1.centos-webpanel.com/files/cwp-latest
-
-Then, start CWP installer using command:
-
- sh cwp-latest
-
-**Sample output:**
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/root@server-usr-local-src_001.png)
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/root@server-usr-local-src_002.png)
-
-The installation will take upto 30 minutes or more depending upon your Internet speed.
-
-Finally, you’ll see the installation completed message like below. Note down the details such as mysql root user password and login URLs of CWP. You”ll need them later. Then Press Enter key to reboot your system.
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/root@server-usr-local-src_004.png)
-
-After booting into the system, you will see the CWP welcome login message.
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/CentOS-6.5-Minimal-Running-Oracle-VM-VirtualBox_006.png)
-
-#### Adjust Firewall/Router: ####
-
-The CWP default web console ports are **2030(http)** and **2031(https)**. You should allow the both ports through firewall/Router in order to access the CWP web console from a remote system.
-
-To do that, edit:
-
- vi /etc/sysconfig/iptables
-
-Add the following lines:
-
- [...]
- -A INPUT -p tcp -m state --state NEW -m tcp --dport 2030 -j ACCEPT
- -A INPUT -p tcp -m state --state NEW -m tcp --dport 2031 -j ACCEPT
- [...]
-
-Save and close the file. Restart iptables service to take effect the changes.
-
- service iptables restart
-
-### Accessing CWP Web Console ###
-
-Open up your browser and type:
-
-**http://IP-Address:2030/**
-
-Or
-
-**https://IP-Address:2031/**
-
-You will see the following like screen.
-
-The login credentials are:
-
-- **Username**: root
-- **Password**: your root password
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/Login-CentOS-WebPanel-Mozilla-Firefox_007.png)
-
-This is how CWP dashboard will look:
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_008.png)
-
-Congratulations! CWP has been successfully has been installed.
-
-### CWP Basic Configuration ###
-
-Next, we have to do couple of things such as:
-
-1. Setup nameservers
-1. Setup shared ip (must be your public IP address)
-1. Setup at least one hosting package (or edit default package)
-1. Setup root email, etc.
-
-#### Setup nameservers: ####
-
-To setup nameservers, go to **DNS Functions -> Edit nameservers IPs**.
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_009.png)
-
-Set your nameservers and click Save changes button.
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_010.png)
-
-#### Setup Shared IP And Root mail ID: ####
-
-This is important step to host websites on your host. To setup shared IP, go to **CWP Settings -> Edit settings**.
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_011.png)
-
-Enter your Static IP and Email ID, and Click Save settings button.
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_012.png)
-
-Now, CWP is ready to host websites.
-
-#### Setup hosting package: ####
-
-A hosting package is nothing but a Web hosting plan that consists of allowed diskspace, bandwidth, no of FTP accounts, no of email ids, and no of databases etc. You can setup any number of web hosting plans as your wish.
-
-To add a package, go to **Packages – Add a Package** from the CWP console.
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_013.png)
-
-Enter the name of the package, amount of Diskquota/RAM allowed, FTP/Email accounts, Databases, and subdomains etc. Click Save settings button to create the web hosting plan.
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_014.png)
-
-Now, CWP is ready to host your domains.
-
-#### Adding Domains: ####
-
-To create a new Domain, you to have at least one user account.
-
-To add a user, go to **User Accounts -> New Account**.
-
-Enter the domain(ex.unixmen.com), username, password and Email id etc. Finally, click **Create**.
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_016.png)
-
-Now, let us add a new domain.
-
-To add a domain, go to **Domains -> Add Domain**.
-
-Enter the Domain and assign the domain the users of your choice.
-
-![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_017.png)
-
-### Conclusion ###
-
-In this tutorial, we have seen how to install and configure CentOS Web Panel to create a simple web hosting environment. CWP is very simple to install and use. Even a novice user can create a basic web hosting server in a couple of hours. Also, CWP is completely free to use and open source. Give it a try! You won’t be disappointed.
-
-You can find the more details about CWP in the [CentOS Web Panel Wiki page][2].
-
-Cheers!
-
---------------------------------------------------------------------------------
-
-via: http://www.unixmen.com/how-to-install-centos-web-panel-in-centos/
-
-作者:[SK][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/sk/
-[1]:http://centos-webpanel.com/
-[2]:http://wiki.centos-webpanel.com/
\ No newline at end of file
diff --git a/sources/tech/20150409 4 Tools Send Email with Subject, Body and Attachment in Linux.md b/sources/tech/20150409 4 Tools Send Email with Subject, Body and Attachment in Linux.md
new file mode 100644
index 0000000000..77936b6a67
--- /dev/null
+++ b/sources/tech/20150409 4 Tools Send Email with Subject, Body and Attachment in Linux.md
@@ -0,0 +1,261 @@
+4 Tools Send Email with Subject, Body and Attachment in Linux
+================================================================================
+In today's article we will cover a few ways you can use to send emails with attachments from the command line interface on Linux. It can have quite a few uses, for example to send an archive with an application from an application server to email or you can use the commands in scripts to automate some process. For our examples,we will use the file foo.tar.gz as our attachment.
+
+There are various ways to send emails from command line using different mail clients but here I am sharing few mail client utility used by most users like mailx, mutt and swaks.
+
+All the tools we will present to you are very popular and present in the repositories of most Linux distributions, you can install them using the following commands:
+
+For **Debian / Ubuntu** systems
+
+ apt-get install mutt
+ apt-get install swaks
+ apt-get install mailx
+ apt-get install sharutils
+
+For Red Hat based systems like **CentOS** or **Fedora**
+
+ yum install mutt
+ yum install swaks
+ yum install mailx
+ yum install sharutils
+
+### 1) Using mail / mailx ###
+
+The mailx utility found as the default mailer application in most Linux distributions now includes the support to attach file. If it is not available you can easily install using the following commands please take note that this may not be supported in older versions, to check this you can use the command:
+
+ $ man mail
+
+And the first line should look like this:
+
+mailx [-BDdEFintv~] [-s subject] [-a attachment ] [-c cc-addr] [-b bcc-addr] [-r from-addr] [-h hops] [-A account] [-S variable[=value]] to-addr . . .
+
+As you can see it supports the -a attribute to add a file to the email and -s attribute to subject to the email. Use few of below examples to send mails.
+
+**a) Simple Mail**
+
+Run the mail command, and then mailx would wait for you to enter the message of the email. You can hit enter for new lines. When done typing the message, press Ctrl+D and mailx would display EOT.
+
+After than mailx automatically delivers the email to the destination.
+
+ $ mail user@example.com
+
+ HI,
+ Good Morning
+ How are you
+ EOT
+
+**b) To send email with subject**
+
+ $ echo "Email text" | mail -s "Test Subject" user@example.com
+
+-s is used for defining subject for email.
+
+**c) To send message from a file**
+
+ $ mail -s "message send from file" user@example.com < /path/to/file
+
+**d) To send message piped using the echo command**
+
+ $ echo "This is message body" | mail -s "This is Subject" user@example.com
+
+**e) To send email with attachment**
+
+ $ echo “Body with attachment "| mail -a foo.tar.gz -s "attached file" user@example.com
+
+-a is used for attachments
+
+### 2) mutt ###
+
+Mutt is a text-based email client for Unix-like systems. It was developed over 20 years ago and it's an important part of Linux history, one of the first clients to support scoring and threading capabilities. Use few of below examples to send email.
+
+**a) Send email with subject & body message from a file**
+
+ $ mutt -s "Testing from mutt" user@example.com < /tmp/message.txt
+
+**b) To send body message piped using the echo command**
+
+ $ echo "This is the body" | mutt -s "Testing mutt" user@example.com
+
+**c) To send email with attachment**
+
+ $ echo "This is the body" | mutt -s "Testing mutt" user@example.com -a /tmp/foo.tar.gz
+
+**d) To send email with multiple attachments**
+
+ $ echo "This is the body" | mutt -s "Testing" user@example.com -a foo.tar.gz –a bar.tar.gz
+
+### 3) swaks ###
+
+Swaks stands for Swiss Army Knife for SMTP and it is a featureful, flexible, scriptable, transaction-oriented SMTP test tool written and maintained by John Jetmore. You can use the following syntax to send an email with attachment:
+
+ $ swaks -t "foo@bar.com" --header "Subject: Subject" --body "Email Text" --attach foo.tar.gz
+
+The important thing about Swaks is that it will also debug the full mail transaction for you, so it is a very useful tool if you also wish to debug the mail sending process:
+
+As you can see it gives you full details about the sending process including what capabilities the receiving mail server supports, each step of the transaction between the 2 servers.
+
+### 4) uuencode ###
+
+Email transport systems were originally designed to transmit characters with a seven-bit encoding -- like ASCII. This meant they could send messages with plain text but not "binary" text, such as program files or image files that used all of an eight-bit byte. The program is used to solve this limitation is “uuencode”( "UNIX to UNIX encoding") which encode the mail from binary format to text format that is safe to transmit & program is used to decode the data is called “uudecode”
+
+We can easily send binary text such as a program files or image files using uuencode with mailx or mutt email client is shown by following example:
+
+ $ uuencode example.jpeg example.jpeg | mail user@example.com
+
+### Shell Script : Explain how to send email ###
+
+ #!/bin/bash
+
+ FROM=""
+ SUBJECT=""
+ ATTACHMENTS=""
+ TO=""
+ BODY=""
+
+ # Function to check if entered file names are really files
+ function check_files()
+ {
+ output_files=""
+ for file in $1
+ do
+ if [ -s $file ]
+ then
+ output_files="${output_files}${file} "
+ fi
+ done
+ echo $output_files
+ }
+
+ echo "*********************"
+ echo "E-mail sending script."
+ echo "*********************"
+ echo
+
+ # Getting the From address from user
+ while [ 1 ]
+ do
+ if [ ! $FROM ]
+ then
+ echo -n -e "Enter the e-mail address you wish to send mail from:\n[Enter] "
+ else
+ echo -n -e "The address you provided is not valid:\n[Enter] "
+ fi
+
+ read FROM
+ echo $FROM | grep -E '^.+@.+$' > /dev/null
+ if [ $? -eq 0 ]
+ then
+ break
+ fi
+ done
+
+ echo
+
+ # Getting the To address from user
+ while [ 1 ]
+ do
+ if [ ! $TO ]
+ then
+ echo -n -e "Enter the e-mail address you wish to send mail to:\n[Enter] "
+ else
+ echo -n -e "The address you provided is not valid:\n[Enter] "
+ fi
+
+ read TO
+ echo $TO | grep -E '^.+@.+$' > /dev/null
+ if [ $? -eq 0 ]
+ then
+ break
+ fi
+ done
+
+ echo
+
+ # Getting the Subject from user
+ echo -n -e "Enter e-mail subject:\n[Enter] "
+ read SUBJECT
+
+ echo
+
+ if [ "$SUBJECT" == "" ]
+ then
+ echo "Proceeding without the subject..."
+ fi
+
+ # Getting the file names to attach
+ echo -e "Provide the list of attachments. Separate names by space.
+ If there are spaces in file name, quote file name with \"."
+ read att
+
+ echo
+
+ # Making sure file names are poiting to real files
+ attachments=$(check_files "$att")
+ echo "Attachments: $attachments"
+
+ for attachment in $attachments
+ do
+ ATTACHMENTS="$ATTACHMENTS-a $attachment "
+ done
+
+ echo
+
+ # Composing body of the message
+ echo "Enter message. To mark the end of message type ;; in new line."
+ read line
+
+ while [ "$line" != ";;" ]
+ do
+ BODY="$BODY$line\n"
+ read line
+ done
+
+ SENDMAILCMD="mutt -e \"set from=$FROM\" -s \"$SUBJECT\" \
+ $ATTACHMENTS -- \"$TO\" <<< \"$BODY\""
+ echo $SENDMAILCMD
+
+ mutt -e "set from=$FROM" -s "$SUBJECT" $ATTACHMENTS -- $TO <<< $BODY
+
+**Script Output**
+
+ $ bash send_mail.sh
+ *********************
+ E-mail sending script.
+ *********************
+
+ Enter the e-mail address you wish to send mail from:
+ [Enter] test@gmail.com
+
+ Enter the e-mail address you wish to send mail to:
+ [Enter] test@gmail.com
+
+ Enter e-mail subject:
+ [Enter] Message subject
+
+ Provide the list of attachments. Separate names by space.
+ If there are spaces in file name, quote file name with ".
+ send_mail.sh
+
+ Attachments: send_mail.sh
+
+ Enter message. To mark the end of message type ;; in new line.
+ This is a message
+ text
+ ;;
+
+### Conclusion ###
+
+There are many ways of send emails from command line / shell script but here we have shared 4 tools available for unix / linux based distros. Hope you enjoyed reading our article and please provide your valuable comments and also let us know if you know about any new tools.
+
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/linux-shell-script/send-email-subject-body-attachment-linux/
+
+作者:[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/
\ No newline at end of file
diff --git a/sources/tech/20150409 Install Inkscape - Open Source Vector Graphic Editor.md b/sources/tech/20150409 Install Inkscape - Open Source Vector Graphic Editor.md
new file mode 100644
index 0000000000..afe663f074
--- /dev/null
+++ b/sources/tech/20150409 Install Inkscape - Open Source Vector Graphic Editor.md
@@ -0,0 +1,95 @@
+Install Inkscape - Open Source Vector Graphic Editor
+================================================================================
+Inkscape is an open source vector graphic editing tool which uses Scalable Vector Graphics (SVG) and that makes it different from its competitors like Xara X, Corel Draw and Adobe Illustrator etc. SVG is a widely-deployed royalty-free graphics format developed and maintained by the W3C SVG Working Group. It is a cross platform tool which runs fine on Linux, Windows and Mac OS.
+
+Inkscape development was started in 2003, Inkscape's bug tracking system was hosted on Sourceforge initially but it was migrated to Launchpad afterwards. Its current latest stable version is 0.91. It is under continuous development and bug fixes and we will be reviewing its prominent features and installing process in the article.
+
+### Salient Features ###
+
+Lets review the outstanding features of this application categorically.
+
+#### Creating Objects ####
+
+- Drawing different colored sized and shaped freehand lines through pencil tool, straight lines and curves through Bezier (pen) tool, applying freehand calligraphic strokes through calligraphic tool etc
+- Creating, selecting, editing and formatting text through text tool. Manipulating text in plain text boxes, on paths or in shapes
+- Helps draw various shapes like rectangles, ellipses, circles, arcs, polygons, stars, spirals etc and then resize, rotate and modify (turn sharp edges round) them
+- Create and embed bitmaps with simple commands
+
+#### Object manipulation ####
+
+- Skewing, moving, scaling, rotating objects through interactive manipulations and pacifying the numeric values
+- Performing raising and lowering Z-order operations
+- Grouping and ungrouping objects to create a virtual scope for editing or manipulation
+- Layers form a hierarchal tree and can be locked or rearranged for various manipulations
+- Distribution and alignment commands
+
+#### Fill and Stroke ####
+
+- Copy/paste styles
+- Pick Color tool
+- Selecting colors on a continuous plot based on vectors of RGB, HSL, CMS, CMYK and color wheel
+- Gradient editor helps creating and managing multi-stop gradients
+- Define an image or selection and use it to pattern fill
+- Dashed Strokes can be used with few predefined dashed patterns
+- Beginning, middle and ending marks through path markers
+
+#### Operation on Paths ####
+
+- Node Editing: Moving nodes and Bezier handles, node alignment and distribution etc
+- Boolean operations like yes or no conditions
+- Simplifying paths with variable levels or thresholds
+- Path insetting and outsetting along with link and offset objects
+- Converting bitmap images into paths (color and monochrome paths) through path tracing
+
+#### Text manipulation ####
+
+- All installed outlined fonts can be used even for right to left align objects
+- Formatting text, letter spacing, line spacing or kerning
+- Text on path and on shapes where both text and path or shapes can be edited or modified
+
+#### Rendering ####
+
+- Inkscape fully support anti-aliased display which is a technique that reduces or eliminates aliasing by shading the pixels along the border.
+- Support for alpha transparency display and PNG export
+
+### Install Inkscape on Ubuntu 14.04 and 14.10 ###
+
+In order to install Inkscape on Ubuntu, we will need to first [add its stable Personal Package Archive][1] (PPA) to Advanced Package Tool (APT) repository. Launch the terminal and run following command to add its PPA.
+
+ sudo add-apt-repository ppa:inkscape.dev/stable
+
+![PPA Inkscape](http://blog.linoxide.com/wp-content/uploads/2015/03/PPA-Inkscape.png)
+
+Once the PPA has been added to the APT repository we need to update it using following command.
+
+ sudo apt-get update
+
+![Update APT](http://blog.linoxide.com/wp-content/uploads/2015/03/Update-APT2.png)
+
+After updating the repository we are ready to install inkscape which is accomplished using the following command.
+
+ sudo apt-get install inkscape
+
+![Install Inkscape](http://blog.linoxide.com/wp-content/uploads/2015/03/Install-Inkscape.png)
+
+Congratulation, Inkscape has been installed now and all set for image editing and making full use of feature rich application.
+
+![Inkscape Main](http://blog.linoxide.com/wp-content/uploads/2015/03/Inkscape-Main1.png)
+
+### Conclusion ###
+
+Inkscape is a feature rich graphic editing tool which empowers its user with state of the art capabilities. It is an open source application which is freely available for installation and customizations and supports wide range of file formats including but not limited to JPEG, PNG, GIF and PDF. Visit its [official website][2] for more news and updates regarding this application.
+
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/tools/install-inkscape-open-source-vector-graphic-editor/
+
+作者:[Aun Raza][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/arunrz/
+[1]:https://launchpad.net/~inkscape.dev/+archive/ubuntu/stable
+[2]:https://inkscape.org/en/
\ No newline at end of file
diff --git a/sources/tech/20150410 7 Command Line Tools for Browsing Websites and Downloading Files in Linux.md b/sources/tech/20150410 7 Command Line Tools for Browsing Websites and Downloading Files in Linux.md
new file mode 100644
index 0000000000..f736d8bae1
--- /dev/null
+++ b/sources/tech/20150410 7 Command Line Tools for Browsing Websites and Downloading Files in Linux.md
@@ -0,0 +1,153 @@
+wangjiezhe translating...
+7 Command Line Tools for Browsing Websites and Downloading Files in Linux
+================================================================================
+In the last article, we have covered few useful tools like ‘rTorrent‘, ‘wget‘, ‘cURL‘, ‘w3m‘, and ‘Elinks‘. We got lots of response to cover few other tools of same genre, if you’ve missed the first part you can go through it..
+
+- [5 Command Line Tools for Downloading Files and Browsing Websites][1]
+
+This article aims at making you aware of several other Linux command Line browsing and downloading applications, which will help you to browse and download files within the Linux shell.
+
+### 1. links ###
+
+Links is an open source web browser written in C programming Language. It is available for all major platforms viz., Linux, Windows, OS X and OS/2. This browser is text based as well as graphical. The text based links web browser is shipped by most of the standard Linux distributions by default. If links is not installed in your system by default you may install it from the repo. Elinks is a fork of links.
+
+ # apt-get install links
+ # yum install links
+
+After installing links, you can browse any websites within the terminal as shown below in the screen cast..
+
+ # links www.tecmint.com
+
+Use UP and DOWN arrow keys to navigate. Right arrow Key on a link will redirect you to that link and Left arrow key will bring you back to the last page. To QUIT press q.
+
+Here is how it seems to access Tecmint using links tool.
+
+![](http://www.tecmint.com/wp-content/uploads/2015/04/links-browse-websites-terminal.gif)
+
+If you are interested in installing GUI of links, you may need to download latest source tarball (i.e. version 2.9) from [http://links.twibright.com/download/][2].
+
+Alternatively, you may use following wget command to download and install as suggested below.
+
+ # wget http://links.twibright.com/download/links-2.9.tar.gz
+ # tar -xvf links-2.9.tar.gz
+ # cd links-2.9
+ # ./configure –enable-graphics
+ # make
+ # make install
+
+**Note**: You need to install packages (libpng, libjpeg, TIFF library, SVGAlib, XFree86, C Compiler and make), if not already installed to successfully compile the package.
+
+### 2. links2 ###
+
+Links2 is a graphical web browser version of Twibright Labs Links web browser. This browser has support for mouse and clicks. Designed specially for speed without any CSS support, fairly good HTML and JavaScript support with limitations.
+
+To install links2.
+
+ # apt-get install links2
+ # yum install links2
+
+### 3. lynx ###
+
+A text based web browser released under GNU GPLv2 license and written in ISO C. lynx is highly configurable web browser and Savior for many SYSAdmin. It has the reputation of being the oldest web browser that is being used and still actively developed.
+
+To install lynx.
+
+ # apt-get install lynx
+ # yum install lynx
+
+After installing lynx, type the following command to browse the website as shown below in the screen cast..
+
+ # lynx www.tecmint.com
+
+![](http://www.tecmint.com/wp-content/uploads/2015/04/lynx-commandline-web-browsing.gif)
+
+If you are interested in knowing a bit more about links and lynx web browser, you may like to visit the below link:
+
+- [Web Browsing with Lynx and Links Command Line Tools][3]
+
+### 4. youtube-dl ###
+
+youtube-dl is a platform independent application which can be used to download videos from youtube and a few other sites. Written primarily in python and released under GNU GPL License, the application works out of the box. (Since youtube don’t allow you to download videos, it may be illegal to use it. Check the laws before you start using this.)
+
+To install youtube-dl.
+
+ # apt-get install youtube-dl
+ # yum install youtube-dl
+
+After installing, try to download files from the Youtube site, as shown in the below screen cast.
+
+ # youtube-dl https://www.youtube.com/watch?v=ql4SEy_4xws
+
+![](http://www.tecmint.com/wp-content/uploads/2015/04/download-youtube-videos-from-terminal.gif)
+
+If you are interested in knowing more about youtube-dl you may like to visit the below link:
+
+- [YouTube-DL – A Command Line Youtube Video Downloader for Linux][4]
+
+### 5. fetch ###
+
+It is a command utility for unix-like operating system that is used for URL retrieval. It supports a lot of options like fetching ipv4 only address, ipv6 only address, no redirect, exit after successful file retrieval request, retry, etc.
+
+Fetch can be Downloaded and installed from the link below
+
+- [http://sourceforge.net/projects/fetch/?source=typ_redirect][5]
+
+But before you compile and run it, you should install HTTP Fetcher. Download HTTP Fetcher from the link below.
+
+- [http://sourceforge.net/projects/http-fetcher/?source=typ_redirect][6]
+
+### 6. Axel ###
+
+Axel is a command-line based download accelerator for Linux. Axel makes it possible to download a file at much faster speed through single connection request for multiple copies of files in small chunks through multiple http and ftp connections.
+
+To install Axel.
+
+ # apt-get install axel
+ # yum install axel
+
+After axel installed, you may use following command to download any given file, as shown in the screen cast.
+
+ # axel http://mirror.cse.iitk.ac.in/archlinux/iso/2015.04.01/archlinux-2015.04.01-dual.iso
+
+![](http://www.tecmint.com/wp-content/uploads/2015/04/download-accelarator-for-linux.gif)
+
+### 7. aria2 ###
+
+aria2 is a command-line based download utility that is lightweight and support multi-protocol (HTTP, HTTPS, FTP, BitTorrent and Metalink). It can use metalinks files to simultaneously download ISO files from more than one server. It can serve as a Bit torrent client as well.
+
+To install aria2.
+
+ # apt-get install aria2
+ # yum install aria2
+
+Once aria2 installed, you can fire up the following command to download any given file…
+
+ # aria2c http://cdimage.debian.org/debian-cd/7.8.0/multi-arch/iso-cd/debian-7.8.0-amd64-i386-netinst.iso
+
+![Aria2: Command Line Download Manager for Linux](http://www.tecmint.com/wp-content/uploads/2015/04/Download-Files-in-Terminal.gif)
+Aria2: Command Line Download Manager for Linux
+
+If you’re interested to know more at aria2 and their switches, read the following article.
+
+- [Aria2 – A Multi-Protocol Command-Line Download Manager for Linux][7]
+
+That’s all for now. I’ll be here again with another interesting topic you people will love to read. Till then stay tuned and connected to Tecmint. Don’t forget to provide us with your valuable feedback in the comments below. Like and share us and help us get spread.
+
+--------------------------------------------------------------------------------
+
+via: http://www.tecmint.com/command-line-web-browser-download-file-in-linux/
+
+作者:[Avishek Kumar][a]
+译者:[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/linux-command-line-tools-for-downloading-files/
+[2]:http://links.twibright.com/download/
+[3]:http://www.tecmint.com/command-line-web-browsers/
+[4]:http://www.tecmint.com/install-youtube-dl-command-line-video-download-tool/
+[5]:http://sourceforge.net/projects/fetch/?source=typ_redirect
+[6]:http://sourceforge.net/projects/http-fetcher/?source=typ_redirect
+[7]:http://www.tecmint.com/install-aria2-a-multi-protocol-command-line-download-manager-in-rhel-centos-fedora/
diff --git a/sources/tech/20150410 How to Install and Configure Multihomed ISC DHCP Server on Debian Linux.md b/sources/tech/20150410 How to Install and Configure Multihomed ISC DHCP Server on Debian Linux.md
new file mode 100644
index 0000000000..2a8bdb2fbd
--- /dev/null
+++ b/sources/tech/20150410 How to Install and Configure Multihomed ISC DHCP Server on Debian Linux.md
@@ -0,0 +1,159 @@
+How to Install and Configure Multihomed ISC DHCP Server on Debian Linux
+================================================================================
+Dynamic Host Control Protocol (DHCP) offers an expedited method for network administrators to provide network layer addressing to hosts on a constantly changing, or dynamic, network. One of the most common server utilities to offer DHCP functionality is ISC DHCP Server. The goal of this service is to provide hosts with the necessary network information to be able to communicate on the networks in which the host is connected. Information that is typically served by this service can include: DNS server information, network address (IP), subnet mask, default gateway information, hostname, and much more.
+
+This tutorial will cover ISC-DHCP-Server version 4.2.4 on a Debian 7.7 server that will manage multiple virtual local area networks (VLAN) but can very easily be applied to a single network setup as well.
+
+The test network that this server was setup on has traditionally relied on a Cisco router to manage the DHCP address leases. The network currently has 12 VLANs needing to be managed by one centralized server. By moving this responsibility to a dedicated server, the router can regain resources for more important tasks such as routing, access control lists, traffic inspection, and network address translation.
+
+The other benefit to moving DHCP to a dedicated server will, in a later guide, involve setting up Dynamic Domain Name Service (DDNS) so that new host’s host-names will be added to the DNS system when the host requests a DHCP address from the server.
+
+### Step 1: Installing and Configuring ISC DHCP Server ###
+
+1. To start the process of creating this multi-homed server, the ISC software needs to be installed via the Debian repositories using the ‘apt‘ utility. As with all tutorials, root or sudo access is assumed. Please make the appropriate modifications to the following commands.
+
+ # apt-get install isc-dhcp-server [Installs the ISC DHCP Server software]
+ # dpkg --get-selections isc-dhcp-server [Confirms successful installation]
+ # dpkg -s isc-dhcp-server [Alternative confirmation of installation]
+
+![Install ISC DHCP Server in Debian](http://www.tecmint.com/wp-content/uploads/2015/04/Install-ISC-DHCP-Server.jpg)
+
+2. Now that the server software is confirmed installed, it is now necessary to configure the server with the network information that it will need to hand out. At the bare minimum, the administrator needs to know the following information for a basic DHCP scope:
+
+- The network addresses
+- The subnet masks
+- The range of addresses to be dynamically assigned
+
+Other useful information to have the server dynamically assign includes:
+
+- Default gateway
+- DNS server IP addresses
+- The Domain Name
+- Host name
+- Network Broadcast addresses
+
+These are merely a few of the many options that the ISC DHCP server can handle. To get a complete list as well as a description of each option, enter the following command after installing the package:
+
+ # man dhcpd.conf
+
+3. Once the administrator has concluded all the necessary information for this server to hand out it is time to configure the DHCP server as well as the necessary pools. Before creating any pools or server configurations though, the DHCP service must be configured to listen on one of the server’s interfaces.
+
+On this particular server, a NIC team has been setup and DHCP will listen on the teamed interfaces which were given the name `'bond0'`. Be sure to make the appropriate changes given the server and environment in which everything is being configured. The defaults in this file are okay for this tutorial.
+
+![Configure ISC DHCP Network](http://www.tecmint.com/wp-content/uploads/2015/04/Configure-ISC-DHCP-Network.jpg)
+
+This line will instruct the DHCP service to listen for DHCP traffic on the specified interface(s). At this point, it is time to modify the main configuration file to enable the DHCP pools on the necessary networks. The main configuration file is located at /etc/dhcp/dhcpd.conf. Open the file with a text editor to begin:
+
+ # nano /etc/dhcp/dhcpd.conf
+
+This file is the configuration for the DHCP server specific options as well as all of the pools/hosts one wishes to configure. The top of the file starts of with a ‘ddns-update-style‘ clause and for this tutorial it will remain set to ‘none‘ however in a future article, Dynamic DNS will be covered and ISC-DHCP-Server will be integrated with BIND9 to enable host name to IP address updates.
+
+4. The next section is typically the area where and administrator can configure global network settings such as the DNS domain name, default lease time for IP addresses, subnet-masks, and much more. Again to know more about all the options be sure to read the man page for the dhcpd.conf file.
+
+ # man dhcpd.conf
+
+For this server install, there were a couple of global network options that were configured at the top of the configuration file so that they wouldn’t have to be implemented in every single pool created.
+
+![Configure ISC DDNS](http://www.tecmint.com/wp-content/uploads/2015/04/Configure-ISC-DDNS.png)
+
+Lets take a moment to explain some of these options. While they are configured globally in this example, all of them can be configured on a per pool basis as well.
+
+- option domain-name “comptech.local”; – All hosts that this DHCP server hosts, will be a member of the DNS domain name “comptech.local”
+- option domain-name-servers 172.27.10.6; DHCP will hand out DNS server IP of 172.27.10.6 to all of the hosts on all of the networks it is configured to host.
+- option subnet-mask 255.255.255.0; – The subnet mask handed out to every network will be a 255.255.255.0 or a /24
+- default-lease-time 3600; – This is the time in seconds that a lease will automatically be valid. The host can re-request the same lease if time runs out or if the host is done with the lease, they can hand the address back early.
+- max-lease-time 86400; – This is the maximum amount of time in seconds a lease can be held by a host.
+- ping-check true; – This is an extra test to ensure that the address the server wants to assign out isn’t in use by another host on the network already.
+- ping-timeout; – This is how long in second the server will wait for a response to a ping before assuming the address isn’t in use.
+- ignore client-updates; For now this option is irrelevant since DDNS has been disabled earlier in the configuration file but when DDNS is operating, this option will ignore a hosts to request to update its host-name in DNS.
+
+5. The next line in this file is the authoritative DHCP server line. This line means that if this server is to be the server that hands out addresses for the networks configured in this file, then uncomment the authoritative stanza.
+
+This server will be the only authority on all the networks it manages so the global authoritative stanza was un-commented by removing the ‘#’ in front of the keyword authoritative.
+
+![Enable ISC Authoritative](http://www.tecmint.com/wp-content/uploads/2015/04/ISC-authoritative.png)
+Enable ISC Authoritative
+
+By default the server is assumed to NOT be an authority on the network. The rationale behind this is security. If someone unknowingly configures the DHCP server improperly or on a network they shouldn’t, it could cause serious connectivity issues. This line can also be used on a per network basis. This means that if the server is not the entire network’s DHCP server, the authoritative line can instead be used on a per network basis rather than in the global configuration as seen in the above screen-shot.
+
+6. The next step is to configure all of the DHCP pools/networks that this server will manage. For brevities sake, this guide will only walk through one of the pools configured. The administrator will need to have gathered all of the necessary network information (ie domain name, network addresses, how many addresses can be handed out, etc).
+
+For this pool the following information was obtained from the network administrator: network id of 172.27.60.0, subnet mask of 255.255.255.0 or a /24, the default gateway for the subnet is 172.27.60.1, and a broadcast address of 172.27.60.255.
+This information is important to building the appropriate network stanza in the dhcpd.conf file. Without further ado, let’s open the configuration file again using a text editor and then add the new network to the server. This must be done with root/sudo!
+
+ # nano /etc/dhcp/dhcpd.conf
+
+![Configure DHCP Pools and Networks](http://www.tecmint.com/wp-content/uploads/2015/04/ISC-network.png)
+Configure DHCP Pools and Networks
+
+This is the sample created to hand out IP addresses to a network that is used for the creation of VMWare virtual practice servers. The first line indicates the network as well as the subnet mask for that network. Then inside the brackets are all the options that the DHCP server should provide to hosts on this network.
+
+The first stanza, range 172.27.60.50 172.27.60.254;, is the range of dynamically assignable addresses that the DHCP server can hand out to hosts on this network. Notice that the first 49 addresses aren’t in the pool and can be assigned statically to hosts if needed.
+
+The second stanza, option routers 172.27.60.1; , hands out the default gateway address for all hosts on this network.
+
+The last stanza, option broadcast-address 172.27.60.255;, indicates what the network’s broadcast address. This address SHOULD NOT be a part of the range stanza as the broadcast address can’t be assigned to a host.
+
+Some pointers, be sure to always end the option lines with a semi-colon (;) and always make sure each network created is enclosed in curly braces { }.
+
+7. If there are more networks to create, continue creating them with their appropriate options and then save the text file. Once all configurations have been completed, the ISC-DHCP-Server process will need to be restarted in order to apply the new changes. This can be accomplished with the following command:
+
+ # service isc-dhcp-server restart
+
+This will restart the DHCP service and then the administrator can check to see if the server is ready for DHCP requests several different ways. The easiest is to simply see if the server is listening on port 67 via the [lsof command][1]:
+
+ # lsof -i :67
+
+![Check DHCP Listening Port](http://www.tecmint.com/wp-content/uploads/2015/04/lsof.png)
+Check DHCP Listening Port
+
+This output indicates that the DHCPD (DHCP Server daemon) is running and listening on port 67. Port 67 in this output was actually converted to ‘bootps‘ due to a port number mapping for port 67 in /etc/services file.
+
+This is very common on most systems. At this point, the server should be ready for network connectivity and can be confirmed by connecting a machine to the network and having it request a DHCP address from the server.
+
+### Step 2: Testing Client Connectivity ###
+
+8. Most systems now-a-days are using Network Manager to maintain network connections and as such the device should be pre-configured to pull DHCP when the interface is active.
+
+However on machines that aren’t using Network Manager, it may be necessary to manually attempt to pull a DHCP address. The next few steps will show how to do this as well as how to see whether the server is handing out addresses.
+
+The ‘[ifconfig][2]‘ utility can be used to check an interface’s configuration. The machine used to test the DHCP server only has one network adapter and it is called ‘eth0‘.
+
+ # ifconfig eth0
+
+![Check Network Interface IP Address](http://www.tecmint.com/wp-content/uploads/2015/04/No-ip.png)
+Check Network Interface IP Address
+
+From this output, this machine currently doesn’t have an IPv4 address, great! Let’s instruct this machine to reach out to the DHCP server and request an address. This machine has the DHCP client utility known as ‘dhclient‘ installed. The DHCP client utility may very from system to system.
+
+ # dhclient eth0
+
+![Request IP Address from DHCP](http://www.tecmint.com/wp-content/uploads/2015/04/IP.png)
+Request IP Address from DHCP
+
+Now the `'inet addr:'` field shows an IPv4 address that falls within the scope of what was configured for the 172.27.60.0 network. Also notice that the proper broadcast address was handed out as well as subnet mask for this network.
+
+Things are looking promising but let’s check the server to see if it was actually the place where this machine received this new IP address. To accomplish this task, the server’s system log file will be consulted. While the entire log file may contain hundreds of thousands of entries, only a few are necessary for confirming that the server is working properly. Rather than using a full text editor, this time a utility known as ‘tail‘ will be used to only show the last few lines of the log file.
+
+ # tail /var/log/syslog
+
+![Check DHCP Logs](http://www.tecmint.com/wp-content/uploads/2015/04/DHCP-Log.png)
+Check DHCP Logs
+
+Voila! The server recorded handing out an address to this host (HRTDEBXENSRV). It is a safe assumption at this point that the server is working as intended and handing out the appropriate addresses for the networks that it is an authority. At this point the DHCP server is up and running. Configure the other networks, troubleshoot, and secure as necessary.
+
+Enjoy the newly functioning ISC-DHCP-Server and tune in later for more Debian tutorials. In the not too distant future there will be an article on Bind9 and DDNS that will tie into this article.
+
+--------------------------------------------------------------------------------
+
+via: http://www.tecmint.com/install-and-configure-multihomed-isc-dhcp-server-on-debian-linux/
+
+作者:[Rob Turner][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/robturner/
+[1]:http://www.tecmint.com/10-lsof-command-examples-in-linux/
+[2]:http://www.tecmint.com/ifconfig-command-examples/
\ No newline at end of file
diff --git a/sources/tech/20150410 How to run Ubuntu Snappy Core on Raspberry Pi 2.md b/sources/tech/20150410 How to run Ubuntu Snappy Core on Raspberry Pi 2.md
new file mode 100644
index 0000000000..4b49e3acca
--- /dev/null
+++ b/sources/tech/20150410 How to run Ubuntu Snappy Core on Raspberry Pi 2.md
@@ -0,0 +1,89 @@
+How to run Ubuntu Snappy Core on Raspberry Pi 2
+================================================================================
+The Internet of Things (IoT) is upon us. In a couple of years some of us might ask ourselves how we ever survived without it, just like we question our past without cellphones today. Canonical is a contender in this fast growing, but still wide open market. The company wants to claim their stakes in IoT just as they already did for the cloud. At the end of January, the company launched a small operating system that goes by the name of [Ubuntu Snappy Core][1] which is based on Ubuntu Core.
+
+Snappy, the new component in the mix, represents a package format that is derived from DEB, is a frontend to update the system that lends its idea from atomic upgrades used in CoreOS, Red Hat's Atomic and elsewhere. As soon as the Raspberry Pi 2 was marketed, Canonical released Snappy Core for that plattform. The first edition of the Raspberry Pi was not able to run Ubuntu because Ubuntu's ARM images use the ARMv7 architecture, while the first Raspberry Pis were based on ARMv6. That has changed now, and Canonical, by releasing a RPI2-Image of Snappy Core, took the opportunity to make clear that Snappy was meant for the cloud and especially for IoT.
+
+Snappy also runs on other platforms like Amazon EC2, Microsofts Azure, and Google's Compute Engine, and can also be virtualized with KVM, Virtualbox, or Vagrant. Canonical has embraced big players like Microsoft, Google, Docker or OpenStack and, at the same time, also included small projects from the maker scene as partners. Besides startups like Ninja Sphere and Erle Robotics, there are board manufacturers like Odroid, Banana Pro, Udoo, PCDuino and Parallella as well as Allwinner. Snappy Core will also run in routers soon to help with the poor upgrade policy that vendors perform.
+
+In this post, let's see how we can test Ubuntu Snappy Core on Raspberry Pi 2.
+
+The image for Snappy Core for the RPI2 can be downloaded from the [Raspberry Pi website][2]. Unpacked from the archive, the resulting image should be [written to an SD card][3] of at least 8 GB. Even though the OS is small, atomic upgrades and the rollback function eat up quite a bit of space. After booting up your Raspberry Pi 2 with Snappy Core, you can log into the system with the default username and password being 'ubuntu'.
+
+![](https://farm8.staticflickr.com/7639/16428527263_f7bdd56a0d_c.jpg)
+
+sudo is already configured and ready for use. For security reasons you should change the username with:
+
+ $ sudo usermod -l
+
+Alternatively, you can add a new user with the command `adduser`.
+
+Due to the lack of a hardware clock on the RPI, that the Snappy Core image does not take account of, the image has a small bug that will throw a lot of errors when processing commands. It is easy to fix.
+
+To find out if the bug affects you, use the command:
+
+ $ date
+
+If the output is "Thu Jan 1 01:56:44 UTC 1970", you can fix it with:
+
+ $ sudo date --set="Sun Apr 04 17:43:26 UTC 2015"
+
+adapted to your actual time.
+
+![](https://farm9.staticflickr.com/8735/16426231744_c54d9b8877_b.jpg)
+
+Now you might want to check if there are any updates available. Note that the usual commands:
+
+ $ sudo apt-get update && sudo apt-get distupgrade
+
+will not get you very far though, as Snappy uses its own simplified package management system which is based on dpkg. This makes sense, as Snappy will run on a lot of embedded appliances, and you want things to be as simple as possible.
+
+Let's dive into the engine room for a minute to understand how things work with Snappy. The SD card you run Snappy on has three partitions besides the boot partition. Two of those house a duplicated file system. Both of those parallel file systems are permanently mounted as "read only", and only one is active at any given time. The third partition holds a partial writable file system and the users persistent data. With a fresh system, the partition labeled 'system-a' holds one complete file system, called a core, leaving the parallel partition still empty.
+
+![](https://farm9.staticflickr.com/8758/16841251947_21f42609ce_b.jpg)
+
+If we run the following command now:
+
+ $ sudo snappy update
+
+the system will install the update as a complete core, similar to an image, on 'system-b'. You will be asked to reboot your device afterwards to activate the new core.
+
+After the reboot, run the following command to check if your system is up to date and which core is active.
+
+ $ sudo snappy versions -a
+
+After rolling out the update and rebooting, you should see that the core that is now active has changed.
+
+As we have not installed any apps yet, the following command:
+
+ $ sudo snappy update ubuntu-core
+
+would have been sufficient, and is the way if you want to upgrade just the underlying OS. Should something go wrong, you can rollback by:
+
+ $ sudo snappy rollback ubuntu-core
+
+which will take you back to the system's state before the update.
+
+![](https://farm8.staticflickr.com/7666/17022676786_5fe6804ed8_c.jpg)
+
+Speaking of apps, they are what makes Snappy useful. There are not that many at this point, but the IRC channel #snappy on Freenode is humming along nicely and with a lot of people involved, the Snappy App Store gets new apps added on a regular basis. You can visit the shop by pointing your browser to http://:4200, and you can install apps right from the shop and then launch them with http://webdm.local in your browser. Building apps yourself for Snappy is not all that hard, and [well documented][4]. You can also port DEB packages into the snappy format quite easily.
+
+![](https://farm8.staticflickr.com/7656/17022676836_968a2a7254_c.jpg)
+
+Ubuntu Snappy Core, due to the limited number of available apps, is not overly useful in a productive way at this point in time, although it invites us to dive into the new Snappy package format and play with atomic upgrades the Canonical way. Since it is easy to set up, this seems like a good opportunity to learn something new.
+
+--------------------------------------------------------------------------------
+
+via: http://xmodulo.com/ubuntu-snappy-core-raspberry-pi-2.html
+
+作者:[Ferdinand Thommes][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/ferdinand
+[1]:http://www.ubuntu.com/things
+[2]:http://www.raspberrypi.org/downloads/
+[3]:http://xmodulo.com/write-raspberry-pi-image-sd-card.html
+[4]:https://developer.ubuntu.com/en/snappy/
\ No newline at end of file
diff --git a/sources/tech/20150413 A Walk Through Some Important Docker Commands.md b/sources/tech/20150413 A Walk Through Some Important Docker Commands.md
new file mode 100644
index 0000000000..33f1c02885
--- /dev/null
+++ b/sources/tech/20150413 A Walk Through Some Important Docker Commands.md
@@ -0,0 +1,105 @@
+A Walk Through Some Important Docker Commands
+================================================================================
+Hi everyone today we'll learn some important Docker Commands that you'll need to learn before you go with Docker. Docker is an Open Source project that provides an open platform to pack, ship and run any application as a lightweight container. It has no boundaries of Language support, Frameworks or packaging system and can be run anywhere, anytime from a small home computers to high-end servers. It makes them great building blocks for deploying and scaling web apps, databases, and back-end services without depending on a particular stack or provider.
+
+Docker commands are easy to learn and easy to implement or take into practice. Here are some easy Docker commands you'll need to know to run Docker and fully utilize it.
+
+### 1. Pulling a Docker Image ###
+
+First of all, we'll need to pull a docker image to get started cause containers are built using Docker Images. We can get the required docker image from the Docker Registry Hub. Before we pull any image using pull command, we'll need to protect our system as there is identified a malicious issue with pull command. To protect our system from this issue, we'll need to add **127.0.0.1 index.docker.io** into /etc/hosts entry. We can do using our favorite text editor.
+
+ # nano /etc/hosts
+
+Now, add the following lines into it and then save and exit.
+
+ 127.0.0.1 index.docker.io
+
+![Docker Hosts](http://blog.linoxide.com/wp-content/uploads/2015/04/docker-hosts.png)
+
+To pull a docker image, we'll need to run the following command.
+
+ # docker pull registry.hub.docker.com/busybox
+
+![Docker pull command](http://blog.linoxide.com/wp-content/uploads/2015/04/pulling-image.png)
+
+We can check whether any Docker image is available in our local host for the use or not.
+
+ # docker images
+
+![Docker Images](http://blog.linoxide.com/wp-content/uploads/2015/04/docker-images.png)
+
+### 2. Running a Docker Container ###
+
+Now, after we have successfully pulled a required or desired Docker image. We'll surely want to run that Docker image. We can run a docker container out of the image using docker run command. We have several options and flags to run a docker container on the top of the Docker image. To run a docker image and to get into the container we'll use -t and -i flag as shown below.
+
+ # docker run -it busybox
+
+![Docker Run Shell Command](http://blog.linoxide.com/wp-content/uploads/2015/04/docker-run-shell.png)
+
+From the above command, we'll get entered into the container and can access its content via the interactive shell. We can press **Ctrl-D** in order to exit from the shell access.
+
+Now, to run the container in background, we'll detach the shell using -d flag as shown below.
+
+ # docker run -itd busybox
+
+![Run Container Background](http://blog.linoxide.com/wp-content/uploads/2015/04/run-container-background.png)
+
+If we want to attach into a running container, we can use attach command with the container id. The container id can be fetched using the command **docker ps** .
+
+ # docker attach
+
+![Docker Attach](http://blog.linoxide.com/wp-content/uploads/2015/04/docker-attach.png)
+
+### 3. Checking Containers ###
+
+It is very easy to check the log whether the container is running or not. We can use the following command to check whether there is any docker container running in the real time or not using the following command.
+
+ # docker ps
+
+Now, to check logs about the running or past running containers we'll need to run the following command.
+
+ # docker ps -a
+
+![View Docker Containers](http://blog.linoxide.com/wp-content/uploads/2015/04/view-docker-containers1.png)
+
+### 4. Inspecting a Docker Container ###
+
+We can check every information about a Docker Container using the inspect command.
+
+ # docker inspect
+
+![Docker Inspect](http://blog.linoxide.com/wp-content/uploads/2015/04/docker-inspect.png)
+
+### 5. Killing and Deleting Command ###
+
+We can kill or stop process or docker containers using its docker id as shown below.
+
+ # docker stop
+
+To stop every containers running, we'll need to run the following command.
+
+ # docker kill $(docker ps -q)
+
+Now, if we wanna remove a docker image, run the below command.
+
+ # docker rm
+
+If we wanna remove all the docker images at once, we can run the below.
+
+ # docker rm $(docker ps -aq)
+
+### Conclusion ###
+
+These docker commands are highly essential to learn to fully utilize and use Docker. Docker gets too simple with these commands providing end users an easy platform for computing. It is extremely easy for anyone to learn about Docker commands with this above tutorial. If you have any questions, suggestions, feedback please write them in the comment box below so that we can improve and update our contents. Thank you ! Enjoy :-)
+
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/linux-how-to/important-docker-commands/
+
+作者:[Arun Pyasi][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/arunp/
\ No newline at end of file
diff --git a/sources/tech/20150413 Elementary OS 0.3 Freya Screenshots - Download and Install Guide.md b/sources/tech/20150413 Elementary OS 0.3 Freya Screenshots - Download and Install Guide.md
new file mode 100644
index 0000000000..807b6bf07a
--- /dev/null
+++ b/sources/tech/20150413 Elementary OS 0.3 Freya Screenshots - Download and Install Guide.md
@@ -0,0 +1,144 @@
+Elementary OS 0.3 Freya Screenshots - Download and Install Guide
+================================================================================
+Elementary OS is a light weight Ubuntu based operating system which is getting wide spread popularity. It has three versions released to date whereas fourth version is decided to be developed based on upcoming Ubuntu 16.04.
+
+- **Jupiter (0.1)**: It was the first stable version of Elementary OS based on Ubuntu 10.10 and released on March 2011.
+- **Luna (0.2)**: Second stable version of Elementary OS based on Ubuntu 12.04 and released on November 2012.
+- **Freya (0.3)**: Third stable version of Elementary OS based on Ubuntu 14.04 and released on 8th February 2015.
+- **Loki (0.4)**: Fourth upcoming version of Elementary OS is planned to be based on Ubuntu 16.04 it will get updates till 2021.
+
+Freya is the latest version (0.3) of Elementary OS available now, initially it was given the name ISIS but it was later changed to avoid any sort of association with a terrorist group named alike. Freya has some very nice preloaded applications.
+
+### Salient Features ###
+
+Here are some but not all of the features of Elementary OS 0.3.
+
+- Better interactive notifications along with notification setting pane including a system-wide “Do Not Disturb” mode
+- Latest version of Elementary OS provides a better emoji support & drop-in replacements for Microsoft Core fonts for the web applications
+- Privacy Mode is a new firewall tool which is easy to use and helps protect the computer from harmful scripts and applications
+- Unified login and lock screens
+- Applications menu with and improved look and functionality including quicklist actions, drag-and-drop from search, and support for quick math calculations
+- Multitasking view is redesigned to provide more app-focused utility
+- Updated software stack (Linux 3.16, Gtk 3.14, and Vala 0.26) for better support and enhanced functionality of latest developed applications
+- Unified extensible firmware interface (UEFI) support
+- WiFi connectivity made easier through new captive portal assistant
+
+### Download 64 bit & 32 bit Version ###
+
+- [Elementary OS Freya 64 bit][1]
+- [Elementary OS Freya 32 bit][2]
+
+### Installing Elementary OS 0.3 (Freya) ###
+
+Download the ISO file of Elementary OS 0.3 and flash it on a bootable USB drive or to a DVD/CD. Source is available for both 32-bit and 64-bit architectures. Once the computer is booted with the Elementary OS ISO file, there are two options available, either to try without installing or install Elementary OS on the computer, choose the second option. Elementary OS can also be installed along with an already installed operating system, turning it into a dual boot machine.
+
+![Install Freya](http://blog.linoxide.com/wp-content/uploads/2015/04/Install-Freya.png)
+
+System requirements and available resources are checked before proceeding further. Click continue if your system has enough resources.
+
+![Installation Requirements](http://blog.linoxide.com/wp-content/uploads/2015/04/Installation-Requirements.png)
+
+Installation wizard then provides various installation types. Opt for the option best suits you, normally, first option is chosen by most i.e. “Erase disk and install Elementary”. With this option make sure that your data is backed up properly because the disk (partition) will be erased and all data will be lost.
+
+![Installation Types](http://blog.linoxide.com/wp-content/uploads/2015/04/Installation-Types.png)
+
+A dialog box shows the list of disk partitions being formatted and used by the Elementary OS, after ensuring data integrity click continue.
+
+![Format Warning](http://blog.linoxide.com/wp-content/uploads/2015/04/Format-Warning.png)
+
+Choose your location for time zone selection and click continue.
+
+![Location](http://blog.linoxide.com/wp-content/uploads/2015/04/Location.png)
+
+Choose your language and click continue.
+
+![Language](http://blog.linoxide.com/wp-content/uploads/2015/04/Language.png)
+
+Fill in your information and choose a strong root/administrator password and click continue.
+
+![whoareyou](http://blog.linoxide.com/wp-content/uploads/2015/04/whoareyou.png)
+
+Core installation process starts once the personal information is provided, details of components being installed will be flashing on a little dialogue box along with the progress bar.
+
+![Installation progress](http://blog.linoxide.com/wp-content/uploads/2015/04/Installation-progress.png)
+
+Congratulation! Installation is complete for your latest Elementary OS 0.3 (Freya). A restart is required to update and finalize registries and configurations.
+
+![Installation Complet](http://blog.linoxide.com/wp-content/uploads/2015/04/Installation-Complet.png)
+
+At start up the Elementary OS logo shows its elegance and then password protected administrator login and guest session options will appear. Guest section has pretty limited features and has no installation privileges.
+
+![Login](http://blog.linoxide.com/wp-content/uploads/2015/04/Login.png)
+
+Here is the first look of the newly installed Elementary OS 0.3.
+
+![first look](http://blog.linoxide.com/wp-content/uploads/2015/04/first-look.png)
+
+### Customizing Desktop ###
+
+While Elementary OS 0.3 is best known for their light weight and better looks, everybody has a unique esthetic sense and computer usage habits. Desktop reflects a personalized view of any computer user. Like other operating systems Elementary OS 0.3 also provides various options to customize our desktop through wallpapers, font sizes, themes etc.
+
+For basic customization, click on Applications > System Settings > Desktop
+
+We can change wallpapers, dock and make use of hot corners of the desktop.
+
+Very few wallpapers are provided by default, more can be downloaded from the internet or transferred to your own camera.
+
+![Desktop Wallpaper](http://blog.linoxide.com/wp-content/uploads/2015/04/Desktop-Wallpaper4.png)
+
+The real beauty of Elementary OS lies in its elegant Dock panel. With no icons allowed at desktop, a set of application icons at the dock panel enhance the look and provide a quick way to lunch frequently used applications.
+
+![Desktop Dock](http://blog.linoxide.com/wp-content/uploads/2015/04/Desktop-Dock1.png)
+
+Users can use the corners of the desktop for customary purposes.
+
+![Hot Corners](http://blog.linoxide.com/wp-content/uploads/2015/04/Hot-Corners.png)
+
+Advanced customization can be achieved through the installation of elementary tweaks.
+
+Add stable Personal Package Archive (PPA) to Advanced Package Tool (APT) repository using the following command.
+
+ sudo add-apt-repository ppa:mpstark/elementary-tweaks-daily
+
+![ppa](http://blog.linoxide.com/wp-content/uploads/2015/04/elementary-tweaks-ppa.png)
+
+Once the package has been added to the repository we need to update the repository using following command
+
+ sudo apt-get update
+
+![update repository](http://blog.linoxide.com/wp-content/uploads/2015/04/update-repository.png)
+
+After updating the repository we are ready to install inkscape which is accomplished using the following command
+
+ sudo apt-get install elementary-tweaks
+
+![install elementary tweaks](http://blog.linoxide.com/wp-content/uploads/2015/04/install-elementary-tweaks.png)
+
+We can see an addition of Tweaks option under Applications > System Settings under the Personal section. It now provides us more options to customize our desktop view.
+
+![tweaks](http://blog.linoxide.com/wp-content/uploads/2015/04/tweaks.png)
+
+For further customizations we also install gnome tweak tool for example unlocking the desktop.
+
+ sudo apt-get install gnome-tweak-tool
+
+![gnome](http://blog.linoxide.com/wp-content/uploads/2015/04/gnome.png)
+
+### Summary ###
+
+Elementary OS is closely related to Ubuntu distro of Linux and its pros and cons are pretty much similar too. Elementary OS is lightweight, elegant in look and feel, rapidly maturing. It is potentially an alternative for both Windows and OS X operating systems. The latest available Elementary OS 0.3 (Freya) is getting very popular with a better feature base. For further reading, latest updates and downloads please visit the official [website][1].
+
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/ubuntu-how-to/elementary-os-0-3-freya-install-guide/
+
+作者:[Aun Raza][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/arunrz/
+[1]:http://sourceforge.net/projects/elementaryos/files/stable/elementaryos-freya-amd64.20150411.iso/download
+[2]:http://sourceforge.net/projects/elementaryos/files/stable/elementaryos-freya-i386.20150411.iso/download
+[3]:http://elementary.io/
\ No newline at end of file
diff --git a/sources/tech/20150413 How to Show Dialog Box from Bash Shell Script with Examples.md b/sources/tech/20150413 How to Show Dialog Box from Bash Shell Script with Examples.md
new file mode 100644
index 0000000000..3a50dc3872
--- /dev/null
+++ b/sources/tech/20150413 How to Show Dialog Box from Bash Shell Script with Examples.md
@@ -0,0 +1,174 @@
+How to Show Dialog Box from Bash Shell Script with Examples
+================================================================================
+This tutorial will give couple of examples on how to use utilities like zenity and whiptail in your Bash shell script to provide message / dialog box . With these utilities your script will be able to inform user about the current state of execution, or give an ability to interact. Difference between these two utilities is the way they are displaying message box or dialog. Zenity uses GTK toolkit for creating graphical user interfaces, while whiptail creates message boxes inside terminal window.
+
+### Zenity Tool ###
+
+To install zenity on Ubuntu run:
+
+ sudo apt-get install zenity
+
+Since commands for creating message boxes or dialogs with zenity are pretty self explanatory, we will provide you with couple of examples.
+
+### Creating information box ###
+
+zenity --info --title "Information Box" --text "This should be information" --width=300 --height=200
+
+![Screenshot-Information Box](http://blog.linoxide.com/wp-content/uploads/2015/03/Screenshot-Information-Box.png)
+
+Creating Yes/No dialog
+
+ zenity --question --text "Do you want this?" --ok-label "Yeah" --cancel-label="Nope"
+
+![Screenshot-Question](http://blog.linoxide.com/wp-content/uploads/2015/03/Screenshot-Question.png)
+
+Creating entry box and storing value in variable
+
+ a=$(zenity --entry --title "Entry box" --text "Please enter the value" --width=300 --height=200)
+ echo $a
+
+![Screenshot-Entry box](http://blog.linoxide.com/wp-content/uploads/2015/03/Screenshot-Entry-box.png)
+
+After entering it, value will be stored in $a variable.
+
+Here is the working example which takes user's first name, last name and age and displays it.
+
+ #!/bin/bash
+ #
+ # This script will ask for couple of parameters
+ # and then continue to work depending on entered values
+ #
+
+ # Giving the option to user
+ zenity --question --text "Do you want to continue?"
+
+ # Checking if user wants to proceed
+ [ $? -eq 0 ] || exit 1
+
+ # Letting user input some values
+ FIRSTNAME=$(zenity --entry --title "Entry box" --text "Please, enter your first name." --width=300 --height=150)
+ LASTNAME=$(zenity --entry --title "Entry box" --text "Please, enter your last name." --width=300 --height=150)
+ AGE=$(zenity --entry --title "Entry box" --text "Please, enter your age." --width=300 --height=150)
+
+ # Displaying entered values in information box
+ zenity --info --title "Information" --text "You are ${FIRSTNAME} ${LASTNAME} and you are ${AGE}(s) old." --width=300 --height=100
+
+Here are the screenshots of previous script.
+
+![Example1-Question-1](http://blog.linoxide.com/wp-content/uploads/2015/03/Example1-Question-1.png)
+
+First box
+
+![Example1-Entry box-1](http://blog.linoxide.com/wp-content/uploads/2015/03/Example1-Entry-box-1.png)
+
+Entry box
+
+![Example1-Entry box-2](http://blog.linoxide.com/wp-content/uploads/2015/03/Example1-Entry-box-2.png)
+
+Entry box
+
+![Example1-Entry box-3](http://blog.linoxide.com/wp-content/uploads/2015/03/Example1-Entry-box-3.png)
+
+Entry box
+
+![Example1-Information](http://blog.linoxide.com/wp-content/uploads/2015/03/Example1-Information.png)
+
+Information box
+
+Don't forget refer some of the useful [zenity options][1] that might help you.
+
+### Whiptail Tool ###
+
+To install whiptail on Ubuntu run
+
+ sudo apt-get install whiptail
+
+Commands for creating message box/dialog with whiptail are also self explanatory, so we will provide you with just couple of basic examples.
+
+### Creating message box ###
+
+ whiptail --msgbox "This is a message" 10 40
+
+![Screenshot-whiptail-msgbox](http://blog.linoxide.com/wp-content/uploads/2015/03/Screenshot-whiptail-msgbox.png)
+
+### Creating Yes/No dialog ###
+
+ whiptail --yes-button "Yeah" --no-button "Nope" --title "Choose the answer" --yesno "Will you choose yes?" 10 30
+
+![Screenshot-whiptail-yesno](http://blog.linoxide.com/wp-content/uploads/2015/03/Screenshot-whiptail-yesno.png)
+
+### Creating entry box with default value ###
+
+ whiptail --inputbox "Enter your number please." 10 30 "10"
+
+![Screenshot-whiptail-entry](http://blog.linoxide.com/wp-content/uploads/2015/03/Screenshot-whiptail-entry.png)
+
+One thing to be aware of when trying to use entered value is that whiptail uses stdout for displaying dialog, and stderr for value output. That way, if you use var=$(...) you wont see dialog box at all, and wont get the entered value. Solution is to switch stdout and stderr. To do that just add **3>&1 1>&2 2>&3** at the end of the whiptail command. Same would be with any whiptail command which you want to use to get some entered value.
+
+### Creating menu dialog ###
+
+ whiptail --menu "This is a menu. Choose an option:" 20 50 10 1 "first" 2 "second" 3 "third"
+
+![Screenshot-whiptail-menu](http://blog.linoxide.com/wp-content/uploads/2015/03/Screenshot-whiptail-menu.png)
+
+Here is a **shell script** that asks user to enter a path to a folder and then outputs it's size.
+
+ #!/bin/bash
+ #
+ #
+
+ # Since whiptail has to use stdout to display dialog, entered value will
+ # be stored in stderr. To switch them and get the value to stdout you must
+ # use 3>&1 1>&2 2>&3
+ FOLDER_PATH=$(whiptail --title "Get the size of folder" \
+ --inputbox "Enter folder path:" \
+ 10 30 \
+ "/home" \
+ 3>&1 1>&2 2>&3)
+
+ if [ -d $FOLDER_PATH ]
+ then
+ size=$(du -hs "$FOLDER_PATH" | awk '{print $1}')
+ whiptail --title "Information" \
+ --msgbox "Size of ${FOLDER_PATH} is ${size}" \
+ 10 40
+ elif [ -f $FOLDER_PATH ]
+ then
+ whiptail --title "Warning!!!" \
+ --msgbox "The path you entered is a path to a file not a folder!" \
+ 10 40
+ else
+ whiptail --title "Error!!!"
+ --msgbox "Path you entered is not recognized. Please try again" \
+ 10 40
+ fi
+
+Here are the screenshots from previous example:
+
+![Example2-Entry-box](http://blog.linoxide.com/wp-content/uploads/2015/03/Example2-Entry-box.png)
+
+Entry box
+
+![Example2-Information](http://blog.linoxide.com/wp-content/uploads/2015/03/Example2-Information.png\)
+
+Information box
+
+If you are working in terminal , [manual pages][2] are always available.
+
+### Conclusion ###
+
+Choosing the right tool for displaying dialogs will depend on whether you expect your script to be run on desktop machine or server machine. Desktop machine users mostly use window environment and will possibly be able to run the script and interact with appearing windows. However, if you are expecting that the user is someone on server machine, you might want to play it safe and use whiptail or any other utility that will display dialogs in plain terminal window.
+
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/linux-shell-script/bash-shell-script-show-dialog-box/
+
+作者:[Ilija Lazarevic][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/ilijala/
+[1]:https://help.gnome.org/users/zenity/stable/
+[2]:http://linux.die.net/man/1/whiptail
\ No newline at end of file
diff --git a/sources/tech/20150413 How to manage remote MySQL databases on Linux VPS using a GUI tool.md b/sources/tech/20150413 How to manage remote MySQL databases on Linux VPS using a GUI tool.md
new file mode 100644
index 0000000000..9be6574afb
--- /dev/null
+++ b/sources/tech/20150413 How to manage remote MySQL databases on Linux VPS using a GUI tool.md
@@ -0,0 +1,178 @@
+How to manage remote MySQL databases on Linux VPS using a GUI tool
+================================================================================
+If you need to run a MySQL server on a remote [VPS instance][1], how will you manage databases hosted by the server remotely? Perhaps web-based database administration tools such as [phpMyAdmin][2] or [Adminer][3] will first come to mind. These web-based management tools require a backend web server and PHP engine up and running. However, if your VPS instance is used as a standalone database server (e.g., for a multi-tier app), provisioning a whole LAMP stack for occasional database management is a waste of VPS resource. Worse, the LAMP stack with an additional HTTP port can be a source of security vulnerabilities of your VPS.
+
+Alternatively, you can turn to a native MySQL client running on a client host. Of course a pure command-line MySQL client (mysql-client) can be your default choice if nothing else. But the capabilities of the command-line client are limited, so it is not suitable for production-level database administration such as visual SQL development, performance tuning, schema validation, etc. If you are looking for full-blown MySQL administration features, a MySQL GUI tool will meet your requirements better.
+
+### What is MySQL Workbench? ###
+
+Developed as an integrated database tool environment by Oracle, [MySQL Workbench][4] is more than a simple MySQL client. In a nutshell, Workbench is a cross-platform (e.g., Linux, MacOS X, Windows) GUI tool for database design, development and administration. The Community Edition of MySQL Workbench is available for free under the GPL. As a database administrator, you can use Workbench to configure MySQL server, manage MySQL users, perform database backup and recovery, and monitor database health, all in GUI-based user-frienly environment.
+
+In this tutorial, let's review how to install and use MySQL Workbench on Linux.
+
+### Install MySQL Workbench on Linux ###
+
+To set up remote database administration environment, grab any desktop Linux machine where you will be running MySQL Workbench. While some Linux distributions (e.g., Debian/Ubuntu) carry MySQL Workbench in their repositories, it is a good idea to install it from the official repositories, as they offer the latest version. Here is how to set up the official Workbench repository and install Workbench from it.
+
+#### Debian-based Desktop (Debia, Ubuntu, Mint): ####
+
+Go to the [official website][5]. Download and install the DEB file for the repository. Choose one that matches with your environment.
+
+For example, on Ubuntu 14.10:
+
+ $ wget http://dev.mysql.com/get/mysql-apt-config_0.3.4-2ubuntu14.10_all.deb
+ $ sudo dpkg -i mysql-apt-config_0.3.4-2ubuntu14.10_all.deb
+
+on Debian 7:
+
+ $ wget http://dev.mysql.com/get/mysql-apt-config_0.3.3-1debian7_all.deb
+ $ sudo dpkg -i mysql-apt-config_0.3.3-1debian7_all.deb
+
+When installing the DEB file, you will see the following package configuration menu, and be asked to choose MySQL product to configure.
+
+![](https://farm8.staticflickr.com/7702/16928715218_b1fcbcdbf3_c.jpg)
+
+Choose "Utilities". Once you are done with configuration, choose "Apply" to save it.
+
+Finally, update package index, and install Workbench.
+
+ $ sudo apt-get update
+ $ sudo apt-get install mysql-workbench
+
+#### Red Hat-based Desktop (CentOS, Fedora, RHEL): ####
+
+Go to the [official website][6]. Download and install the RPM repository package for your Linux evironment.
+
+For example, on CentOS 7:
+
+ $ wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
+ $ sudo yum localinstall mysql-community-release-el7-5.noarch.rpm
+
+on Fedora 21:
+
+ $ wget http://dev.mysql.com/get/mysql-community-release-fc21-6.noarch.rpm
+ $ sudo yum localinstall mysql-community-release-fc21-6.noarch.rpm
+
+Verify that "MySQL Tools Community" repository has been set up.
+
+ $ yum repolis enabled
+
+![](https://farm9.staticflickr.com/8826/16494069254_15458ace52_c.jpg)
+
+Go ahead and install Workbench.
+
+ $ sudo yum install mysql-workbench-community
+
+### Set up a Secure Remote Database Connection ###
+
+The next step is to set up a remote connection to your MySQL server running on a VPS. Of course you can connect directly to the remote MySQL server from Workbench GUI (after [enabling remote access][7] in the database server). However, it is a huge security risk to do so, as someone can easily eavesdrop on database access traffic, and a publicly-open MySQL port can be another attack vector.
+
+A better approach is to disable remote access of MySQL server (i.e., only allow access from 127.0.0.1 of a VPS). Then set up an SSH tunnel between a local client machine and a remote VPS, so that MySQL traffic can be securely relayed via their loopback interfaces. Compared to setting up SSL-based encrypted connections, configuring SSH tunneling requires little effort as it only requires SSH server, which is already deployed on most VPS instances.
+
+Let's see how we can set up an SSH tunnel for MySQL Workbench.
+
+In this setup, you don't need to enable remote access of a MySQL server.
+
+On a local client host where MySQL Workbench will be running, type the following command. Replace 'user' and 'remote_vps' with your own info.
+
+ $ ssh user@remote_vps -L 3306:127.0.0.1:3306 -N
+
+You will be asked to type an SSH password for your VPS. Once you successfully log in to the VPS, an SSH tunnel will be established between port 3306 of local host and port 3306 of a remote VPS. Note that you won't see any message in the foreground.
+
+Optionally, you can set the SSH tunnel running in the background. For that, press Ctrl+Z to stop the command, type bg and press ENTER.
+
+![](https://farm8.staticflickr.com/7714/16928715438_bf0db49b3b_c.jpg)
+
+The SSH tunnel will now be running in the background.
+
+### Manage a Remote MySQL Server with MySQL Workbench ###
+
+With an SSH tunnel established, you are ready to connect to a remote MySQL server from MySQL Workbench.
+
+Launch Workbench by typing:
+
+ $ mysql-workbench
+
+![](https://farm9.staticflickr.com/8768/16494069294_0fce571ddb_c.jpg)
+
+Click on the plus icon at the top of the Workbench screen to create a new database connection. Fill in connection information as follows.
+
+- **Connection Name**: any description (e.g., My remote VPS database)
+- **Hostname**: 127.0.0.1
+- **Port**: 3306
+- **Username**: MySQL username (e.g., root)
+
+![](https://farm8.staticflickr.com/7727/16928715288_d9ac3bfc7a_c.jpg)
+
+Note that since the tunnel's local endpoint is 127.0.0.1:3306, the hostname field must be 127.0.0.1, not the IP address/hostname of a remote VPS.
+
+Once you set up a new database connection, you will see a new box for the connection appear on Workbench window. Click on the box to actually establish a connection to a remote MySQL server.
+
+![](https://farm8.staticflickr.com/7650/17114969532_0252ffcd31_c.jpg)
+
+Once you are logged in to the MySQL server, you will see various administrative tasks in the left-side panel. Let's review some of common administrative tasks.
+
+#### MySQL Server Status ####
+
+This menus shows real-time dashboard of database server resource usage (e.g., traffic, connections, read/write).
+
+![](https://farm8.staticflickr.com/7627/16494069414_9d838d4138_c.jpg)
+
+#### Client Connections ####
+
+The total number of client connections is a critical resource to monitor. This menu shows detailed information of individual client connections.
+
+![](https://farm9.staticflickr.com/8747/16909119337_a8d89772dd_c.jpg)
+
+#### Users and Privileges ####
+
+This menu allows you to manage MySQL users, including their resource limits and privileges.
+
+![](https://farm9.staticflickr.com/8765/16494069384_760fc17c8f_c.jpg)
+
+#### MySQL Server Administration ####
+
+You can start or stop a MySQL server, and examine its server logs.
+
+![](https://farm8.staticflickr.com/7588/17114969592_54526dfb32_c.jpg)
+
+#### Database Schema Management ####
+
+You can view, change or inspect database schema visually. For that, choose and right-click on any database or table under "Schemas" heading.
+
+![](https://farm8.staticflickr.com/7665/16496363973_fd03a96198_c.jpg)
+
+![](https://farm9.staticflickr.com/8744/16909119497_7c884617b8_c.jpg)
+
+#### Database Query ####
+
+You can execute any arbitrary query (as long as your login privilege allows), and inspect its result.
+
+![](https://farm8.staticflickr.com/7716/17114969692_c0f02bb277_c.jpg)
+
+Note that performance statistics and reports are available for MySQL server 5.6 and higher. For 5.5 and lower, the performance section will be grayed out.
+
+### Conclusion ###
+
+The clean and intuitive tabbed interface, comprehensive feature sets, and open-source licensing make MySQL Workbench one of the best visual database design and administration tools out there. One known downside of Workbench is its performance. I notice that Workbench sometimes gets sluggish while running queries on a busy server. Despite its less than stellar performance, I still consider MySQL Workbench an essential tool for any professional MySQL database administrator and designer.
+
+Have you ever used Workbench in your work environment? Or do you recommend any other GUI tool? Feel free to share your experience.
+
+--------------------------------------------------------------------------------
+
+via: http://xmodulo.com/remote-mysql-databases-gui-tool.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://xmodulo.com/go/digitalocean
+[2]:http://ask.xmodulo.com/install-phpmyadmin-centos.html
+[3]:http://xmodulo.com/set-web-based-database-management-system-adminer.html
+[4]:http://mysqlworkbench.org/
+[5]:http://dev.mysql.com/downloads/repo/apt/
+[6]:http://dev.mysql.com/downloads/repo/yum/
+[7]:http://xmodulo.com/how-to-allow-remote-access-to-mysql.html
\ No newline at end of file
diff --git a/sources/tech/20150413 Linux FAQs with Answers--How to compile ixgbe driver on CentOS, RHEL or Fedora.md b/sources/tech/20150413 Linux FAQs with Answers--How to compile ixgbe driver on CentOS, RHEL or Fedora.md
new file mode 100644
index 0000000000..972143b392
--- /dev/null
+++ b/sources/tech/20150413 Linux FAQs with Answers--How to compile ixgbe driver on CentOS, RHEL or Fedora.md
@@ -0,0 +1,196 @@
+Linux FAQs with Answers--How to compile ixgbe driver on CentOS, RHEL or Fedora
+================================================================================
+> **Question**: I want to build and install the latest ixgbe 10G NIC driver. How can I compile ixgbe driver on CentOS, Fedora or RHEL?
+
+To use Intel's PCI Express 10G NICs (e.g., 82598, 82599, x540) on your Linux system, you need to install ixgbe driver. While modern Linux distributions come with ixgbe driver pre-installed as a loadable module, the pre-built ixgbe driver is not fully customizable with limited parameters. If you want to enable and customize all available features of the 10G NICs (e.g., RSS, multi-queue, virtual functions, hardware offload), you will need to build the driver from the source.
+
+Here is how to compile ixgbe driver from the source on Red Hat based platforms (e.g., CentOS, RHEL or Fedora). For Debian based systems, refer to [this guideline][1] instead.
+
+### Step One: Install Prerequisites ###
+
+First, set up necessary developmen environment and install matching kernel headers.
+
+ $ sudo yum install gcc make
+ $ sudo yum install kernel-devel
+
+### Step Two: Compile Ixgbe Driver ###
+
+Download the latest ixgbe source code from the [official site][2].
+
+ $ wget http://downloads.sourceforge.net/project/e1000/ixgbe%20stable/3.23.2/ixgbe-3.23.2.tar.gz
+
+Be sure to check supported kernel versions. For example, the ixgbe driver 3.23.2 supports Linux kernel versions 2.6.18 up to 3.18.1.
+
+Extract the tarball and compile it.
+
+ $ tar -xvf ixgbe-3.23.2.tar.gz
+ $ cd ixgbe-3.23.2/src
+ $ make
+
+If successful, the compiled driver (ixgbe.ko) will be found in the current directory.
+
+You can check the information of the compiled driver by running:
+
+ $ modinfo ./ixgbe.ko
+
+The output will show a list of available parameters of the ixgbe driver.
+
+![](https://farm9.staticflickr.com/8789/16429483653_b9b6e6cd7f_c.jpg)
+
+### Step Three: Load Ixgbe Driver ###
+
+Now you are ready to load the compiled ixgbe driver.
+
+If the stock ixgbe driver is already loaded on your system, you need to unload it first. Otherwise, you won't be able to load the new ixgbe driver.
+
+ $ sudo rmmod ixgbe.ko
+
+Then insert the compiled driver in the kernel by running:
+
+ $ sudo insmod ./ixgbe.ko
+
+Optionally, you can supply any parameters while loading the driver.
+
+ $ sudo insmod ./ixgbe.ko FdirPballoc=3 RSS=16
+
+To verify that the driver is loaded successfully, check the output of dmesg command.
+
+ $ dmesg
+
+----------
+
+ Intel(R) 10 Gigabit PCI Express Network Driver - version 3.23.2
+ Copyright (c) 1999-2014 Intel Corporation.
+ ixgbe 0000:21:00.0: PCI INT A -> GSI 64 (level, low) -> IRQ 64
+ ixgbe 0000:21:00.0: setting latency timer to 64
+ ixgbe: Receive-Side Scaling (RSS) set to 16
+ ixgbe: Flow Director packet buffer allocation set to 3
+ ixgbe: 0000:21:00.0: ixgbe_check_options: Flow Director will be allocated 256kB of packet buffer
+ ixgbe: 0000:21:00.0: ixgbe_check_options: FCoE Offload feature enabled
+ ixgbe 0000:21:00.0: irq 87 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 88 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 89 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 90 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 91 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 92 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 93 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 94 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 95 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 96 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 97 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 98 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 99 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 100 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 101 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 102 for MSI/MSI-X
+ ixgbe 0000:21:00.0: irq 103 for MSI/MSI-X
+ ixgbe 0000:21:00.0: eth3: DCA registration failed: -1
+ ixgbe 0000:21:00.0: PCI Express bandwidth of 32GT/s available
+ ixgbe 0000:21:00.0: (Speed:5.0GT/s, Width: x8, Encoding Loss:20%)
+ ixgbe 0000:21:00.0: eth3: MAC: 2, PHY: 9, SFP+: 3, PBA No: E68793-006
+ ixgbe 0000:21:00.0: 90:e2:ba:5b:e9:1c
+ ixgbe 0000:21:00.0: eth3: Enabled Features: RxQ: 16 TxQ: 16 FdirHash RSC
+ ixgbe 0000:21:00.0: eth3: Intel(R) 10 Gigabit Network Connection
+ ixgbe 0000:21:00.1: PCI INT B -> GSI 68 (level, low) -> IRQ 68
+ ixgbe 0000:21:00.1: setting latency timer to 64
+ ixgbe: 0000:21:00.1: ixgbe_check_options: FCoE Offload feature enabled
+ ixgbe 0000:21:00.0: registered PHC device on eth3
+ ixgbe 0000:21:00.1: irq 104 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 105 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 106 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 107 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 108 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 109 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 110 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 111 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 112 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 113 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 114 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 115 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 116 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 117 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 118 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 119 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 120 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 121 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 122 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 123 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 124 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 125 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 126 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 127 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 128 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 129 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 130 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 131 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 132 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 133 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 134 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 135 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 136 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 137 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 138 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 139 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 140 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 141 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 142 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 143 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 144 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 145 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 146 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 147 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 148 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 149 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 150 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 151 for MSI/MSI-X
+ ixgbe 0000:21:00.1: irq 152 for MSI/MSI-X
+ ADDRCONF(NETDEV_UP): eth3: link is not ready
+ 8021q: adding VLAN 0 to HW filter on device eth3
+ ixgbe 0000:21:00.1: eth4: DCA registration failed: -1
+ ixgbe 0000:21:00.1: PCI Express bandwidth of 32GT/s available
+ ixgbe 0000:21:00.1: (Speed:5.0GT/s, Width: x8, Encoding Loss:20%)
+ ixgbe 0000:21:00.1: eth4: MAC: 2, PHY: 9, SFP+: 4, PBA No: E68793-006
+ ixgbe 0000:21:00.1: 90:e2:ba:5b:e9:1e
+ ixgbe 0000:21:00.1: eth4: Enabled Features: RxQ: 48 TxQ: 48 FdirHash RSC
+ ixgbe 0000:21:00.1: eth4: Intel(R) 10 Gigabit Network Connection
+ ixgbe 0000:21:00.0: eth3: detected SFP+: 3
+ ixgbe 0000:21:00.1: registered PHC device on eth4
+ ADDRCONF(NETDEV_UP): eth4: link is not ready
+ 8021q: adding VLAN 0 to HW filter on device eth4
+ ixgbe 0000:21:00.1: eth4: detected SFP+: 4
+ ixgbe 0000:21:00.0: eth3: NIC Link is Up 10 Gbps, Flow Control: RX/TX
+ ADDRCONF(NETDEV_CHANGE): eth3: link becomes ready
+ ixgbe 0000:21:00.1: eth4: NIC Link is Up 10 Gbps, Flow Control: RX/TX
+ ADDRCONF(NETDEV_CHANGE): eth4: link becomes ready
+ eth3: no IPv6 routers present
+ eth4: no IPv6 routers present
+
+### Step Four: Install Ixgbe Driver ###
+
+Once you have checked that the driver is loaded successfully, go ahead and install the driver on your system.
+
+ $ sudo make install
+
+ixgbe.ko will be installed in the following location.
+
+ /lib/modules//kernel/drivers/net/ixgbe
+
+At this point, the compiled driver will be loaded automatically upon boot, or you can load it by running:
+
+ $ sudo modprobe ixgbe
+
+![](https://farm9.staticflickr.com/8760/16863416809_804dea1491_c.jpg)
+
+--------------------------------------------------------------------------------
+
+via: http://ask.xmodulo.com/compile-ixgbe-driver-centos-rhel-fedora.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://ask.xmodulo.com/author/nanni
+[1]:http://ask.xmodulo.com/download-install-ixgbe-driver-ubuntu-debian.html
+[2]:http://sourceforge.net/projects/e1000/files/ixgbe%20stable/
\ No newline at end of file
diff --git a/sources/tech/20150413 Linux FAQs with Answers--How to configure PCI-passthrough on virt-manager.md b/sources/tech/20150413 Linux FAQs with Answers--How to configure PCI-passthrough on virt-manager.md
new file mode 100644
index 0000000000..f90070d34a
--- /dev/null
+++ b/sources/tech/20150413 Linux FAQs with Answers--How to configure PCI-passthrough on virt-manager.md
@@ -0,0 +1,55 @@
+Linux FAQs with Answers--How to configure PCI-passthrough on virt-manager
+================================================================================
+> **Question**: I would like to dedicate a physical network interface card to one of my guest VMs created by KVM. For that, I am trying to enable PCI passthrough of the NIC for the VM. How can I add a PCI device to a guest VM with PCI passthrough on virt-manager?
+
+Modern hypervisors enable efficient resource sharing among multiple guest operating systems by virtualizing and emulating hardware resources. However, such virtualized resource sharing may not always be desirable, or even should be avoided when VM performance is a great concern, or when a VM requires full DMA control of a hardware device. One technique used in this case is so-called "PCI passthrough," where a guest VM is granted an exclusive access to a PCI device (e.g., network/sound/video card). Essentially, PCI passthrough bypasses the virtualization layer, and directly exposes a PCI device to a VM. No other VM can access the PCI device.
+
+### Requirement for Enabling PCI Passthrough ###
+
+If you want to enable PCI passthrough for an HVM guest (e.g., a fully-virtualized VM created by KVM), your system (both CPU and motherboard) must meet the following requirement. If your VM is paravirtualized (created by Xen), you can skip this step.
+
+In order to enable PCI passthrough for an HVM guest VM, your system must support **VT-d** (for Intel processors) or **AMD-Vi** (for AMD processors). Intel's VT-d ("Intel Virtualization Technology for Directed I/O") is available on most high-end Nehalem processors and its successors (e.g., Westmere, Sandy Bridge, Ivy Bridge). Note that VT-d and VT-x are two independent features. A list of Intel/AMD processors with VT-d/AMD-Vi capability can be found [here][1].
+
+After you verify that your host hardware supports VT-d/AMD-Vi, you then need to do two things on your system. First, make sure that VT-d/AMD-Vi is enabled in system BIOS. Second, enable IOMMU on your kernel during booting. The IOMMU service, which is provided by VT-d,/AMD-Vi, protects host memory access by a guest VM, and is a requirement for PCI passthrough for fully-virtualized guest VMs.
+
+To enable IOMMU on the kernel for Intel processors, pass "**intel_iommu=on**" boot parameter on your Linux. Follow [this tutorial][2] to find out how to add a kernel boot parameter via GRUB.
+
+After configuring the boot parameter, reboot your host.
+
+### Add a PCI Device to a VM on Virt-Manager ###
+
+Now we are ready to enable PCI passthrough. In fact, assigning a PCI device to a guest VM is straightforward on virt-manager.
+
+Open the VM's settings on virt-manager, and click on "Add Hardware" button on the left sidebar.
+
+Choose a PCI device to assign from a PCI device list, and click on "Finish" button.
+
+![](https://farm8.staticflickr.com/7587/17015584385_db49e96372_c.jpg)
+
+Finally, power on the guest. At this point, the host PCI device should be directly visible inside the guest VM.
+
+### Troubleshooting ###
+
+If you see either of the following errors while powering on a guest VM, the error may be because VT-d (or IOMMU) is not enabled on your host.
+
+ Error starting domain: unsupported configuration: host doesn't support passthrough of host PCI devices
+
+----------
+
+ Error starting domain: Unable to read from monitor: Connection reset by peer
+
+Make sure that "**intel_iommu=on**" boot parameter is passed to the kernel during boot as described above.
+
+--------------------------------------------------------------------------------
+
+via: http://ask.xmodulo.com/pci-passthrough-virt-manager.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://ask.xmodulo.com/author/nanni
+[1]:http://wiki.xenproject.org/wiki/VTdHowTo
+[2]:http://xmodulo.com/add-kernel-boot-parameters-via-grub-linux.html
\ No newline at end of file
diff --git a/sources/tech/20150415 HTTP Public Key Pinning Extension HPKP for Apache, NGINX and Lighttpd.md b/sources/tech/20150415 HTTP Public Key Pinning Extension HPKP for Apache, NGINX and Lighttpd.md
new file mode 100644
index 0000000000..e794f187d7
--- /dev/null
+++ b/sources/tech/20150415 HTTP Public Key Pinning Extension HPKP for Apache, NGINX and Lighttpd.md
@@ -0,0 +1,158 @@
+HTTP Public Key Pinning Extension HPKP for Apache, NGINX and Lighttpd
+================================================================================
+Public Key Pinning means that a certificate chain must include a whitelisted public key. It ensures only whitelisted Certificate Authorities (CA) can sign certificates for `*.example.com`, and not any CA in your browser store. This article has background theory and configuration examples for Apache, Lighttpd and NGINX.
+
+### HTTP Public Key Pinning Extension ###
+
+An example might be your bank, which always have their certificate from CA Company A. With the current certificate system, CA Company B, CA Company C and the NSA CA can all create a certificate for your bank, which your browser will hapily accept because those companies are also trusted root CA's.
+
+If the bank implements HPKP and pin's their first intermidiate certificate (from CA Company A), browsers will not accept certificates from CA Company B and CA Company C, even if they have a valid trust path. HPKP also allows your browser to report back the failure to the bank, so that they know they are under attack.
+
+Public Key Pinning Extension for HTTP (HPKP) is a standard for public key pinning for HTTP user agents that's been in development since 2011. It was started by Google, which, even though it had implemented pinning in Chrome, understood that manually maintaining a list of pinned sites can't scale.
+
+Here is a quick feature overview of HPKP:
+
+- HPKP is set at the HTTP level, using the `Public-Key-Pins` response header.
+- The policy retention period is set with the max-age parameter, it specifies duration in seconds.
+- The PKP header can only be used over an error-free secure encryption.
+- If multiple headers are seen, only the first one is processed.
+- Pinning can be extended to subdomains with the `includeSubDomains` parameter.
+- When a new PKP header is received, it overwrites previously stored pins and metadata.
+- A pin consists out of the hashing algorithm and an "Subject Public Key Info" fingerprint.
+
+This article first has some theory about the workings of HPKP, down below you'll find the part which shows you how to get the required fingerprints and has web server configuration.
+
+### SPKI Fingerprint - Theory ###
+
+As explained by Adam Langley in [his post][1], we hash a public key, not a certificate:
+
+> In general, hashing certificates is the obvious solution, but the wrong one. The problem is that CA certificates are often reissued: there are multiple certificates with the same public key, subject name etc but different extensions or expiry dates. Browsers build certificates chains from a pool of certificates, bottom up, and an alternative version of a certificate might be substituted for the one that you expect.
+>
+> For example, StartSSL has two root certificates: one signed with SHA1 and the other with SHA256. If you wished to pin to StartSSL as your CA, which certificate hash would you use? You would have to use both, but how would you know about the other root if I hadn't just told you?
+>
+> Conversely, public key hashes must be correct:
+>
+> Browsers assume that the leaf certificate is fixed: it's always the starting point of the chain. The leaf certificate contains a signature which must be a valid signature, from its parent, for that certificate. That implies that the public key of the parent is fixed by the leaf certificate. So, inductively, the chain of public keys is fixed, modulo truncation.
+>
+> The only sharp edge is that you mustn't pin to a cross-certifying root. For example, GoDaddy's root is signed by Valicert so that older clients, which don't recognise GoDaddy as a root, still trust those certificates. However, you wouldn't want to pin to Valicert because newer clients will stop their chain at GoDaddy.
+>
+> Also, we're hashing the SubjectPublicKeyInfo not the public key bit string. The SPKI includes the type of the public key and some parameters along with the public key itself. This is important because just hashing the public key leaves one open to misinterpretation attacks. Consider a Diffie-Hellman public key: if one only hashes the public key, not the full SPKI, then an attacker can use the same public key but make the client interpret it in a different group. Likewise one could force an RSA key to be interpreted as a DSA key etc.
+
+### Where to Pin ###
+
+Where should you pin? Pinning your own public key is not the best idea. The key might change or get compromised. You might have multiple certificates in use. The key might change because you rotate your certificates every so often. It might key compromised because the web server was hacked.
+
+The easiest, but not most secure place to pin is the first intermediate CA certificate. The signature of that certificate is on your websites certificate so the issuing CA's public key must always be in the chain.
+
+This way you can renew your end certificate from the same CA and have no pinning issues. If the CA issues a different root, then you have a problem, there is no clear solution for this yet. There is one thing you can do to mitigate this:
+
+- Always have a backup pin and a spare certificate from a different CA.
+
+The RFC states that you need to provide at least two pins. One of the pins must be present in the chain used in the connection over which the pins were received, the other pin must not be present.
+
+This other pin is your backup public key. It can also be the SPKI fingerprint of a different CA where you have a certificate issued.
+
+An alternative and **more secure** take on this issue is to create at least three seperate public keys beforehand (using OpenSSL, see [this page][2] for a Javascript OpenSSL command generator) and to keep two of those keys as a backup in a safe place, offline and off-site.
+
+You create the SPKI hashes for the three certificates and pin those. You only use the first key as the active certificate. When it is needed, you can then use one of the alternative keys. You do however need to let that certificate sign by a CA to create a certificate pair and that process can take a few days depending on the certificate.
+
+This is not a problem for the HPKP because we take the SPKI hash of the public key, and not of the certificate. Expiration or a different chain of CA signer do not matter in this case.
+
+If you have the means and procedures to create and securely save at least three seperate keys as described above and pin those, it would also protect you from your CA provider getting compromised and giving out a fake certificate for your specific website.
+
+### SPKI Fingerprint ###
+
+To get the SPKI fingerprint from a certificate we can use the following OpenSSL command, as shown in [the RFC draft][3]:
+
+ openssl x509 -noout -in certificate.pem -pubkey | \
+ openssl asn1parse -noout -inform pem -out public.key;
+ openssl dgst -sha256 -binary public.key | openssl enc -base64
+
+Result:
+
+ klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=
+
+The input `certificate.pem` file is the first certificate in the chain for this website. (At the time of writing, `COMODO RSA Domain Validation Secure Server CA, Serial 2B:2E:6E:EA:D9:75:36:6C:14:8A:6E:DB:A3:7C:8C:07.`)
+
+You need to also do this with your backup public key, ending up with two fingerprints.
+
+### Bugs ###
+
+At the time of writing this article (2015-Jan) the only browser supporting HPKP (Chrome) has a serious issue where Chrome doesn't treat the max-age and includeSubdomains directives from HSTS and HPKP headers as mutually exclusive. This means that if you have HSTS and HPKP with different policiesfor max-age or includeSubdomains they will be interchanged. See this bug for more info: [https://code.google.com/p/chromium/issues/detail?id=444511][4]. Thanks to Scott Helme from [https://scotthelme.co.uk][5] for finding and notifying me and the Chromium project about it.
+
+### Webserver configuration ###
+
+Below you'll find configuration instructions for the three most populair web servers. Since this is just a HTTP header, almost all web servers will allow you to set this. It needs to be set for the HTTPS website.
+
+The example below pins the `COMODO RSA Domain Validation Secure Server CA` and the `Comodo PositiveSSL` CA 2 as a backup, with a 30 day expire time including all subdomains.
+
+#### Apache ####
+
+Edit your apache configuration file (`/etc/apache2/sites-enabled/website.conf or /etc/apache2/httpd.conf` for example) and add the following to your VirtualHost:
+
+ # Optionally load the headers module:
+ LoadModule headers_module modules/mod_headers.so
+
+ Header set Public-Key-Pins "pin-sha256=\"klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=\"; pin-sha256=\"633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q=\"; max-age=2592000; includeSubDomains"
+
+#### Lighttpd ####
+
+The lighttpd variant is just as simple. Add it to your Lighttpd configuration file (`/etc/lighttpd/lighttpd.conf` for example):
+
+ server.modules += ( "mod_setenv" )
+ $HTTP["scheme"] == "https" {
+ setenv.add-response-header = ( "Public-Key-Pins" => "pin-sha256=\"klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=\"; pin-sha256=\"633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q=\"; max-age=2592000; includeSubDomains")
+ }
+
+#### NGINX ####
+
+NGINX is even shorter with its config. Add this in the server block for your HTTPS configuration:
+
+ add_header Public-Key-Pins 'pin-sha256="klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY="; pin-sha256="633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q="; max-age=2592000; includeSubDomains';
+
+### Reporting ###
+
+HPKP reporting allows the user-agent to report any failures back to you.
+
+If you add an aditional `report-uri="http://example.org/hpkp-report`" parameter to the header and set up a listener there, clients will send reports if they encounter a failure. A report is sent as a POST request to the report-uri with a JSON body like this:
+
+ {
+ "date-time": "2014-12-26T11:52:10Z",
+ "hostname": "www.example.org",
+ "port": 443,
+ "effective-expiration-date": "2014-12-31T12:59:59",
+ "include-subdomains": true,
+ "served-certificate-chain": [
+ "-----BEGINCERTIFICATE-----\nMIIAuyg[...]tqU0CkVDNx\n-----ENDCERTIFICATE-----"
+ ],
+ "validated-certificate-chain": [
+ "-----BEGINCERTIFICATE-----\nEBDCCygAwIBA[...]PX4WecNx\n-----ENDCERTIFICATE-----"
+ ],
+ "known-pins": [
+ "pin-sha256=\"dUezRu9zOECb901Md727xWltNsj0e6qzGk\"",
+ "pin-sha256=\"E9CqVKB9+xZ9INDbd+2eRQozqbQ2yXLYc\""
+ ]
+ }
+
+### No Enforcment, report only ###
+
+HPKP can be set up without enforcement, in reporting mode by using the `Public-Key-Pins-Report-Only` response header.
+
+This approach allows you to set up pinning without your site being unreachable or HPKP being configured incorrectly. You can later move to enforcement by changing the header back to `Public-Key-Pins`.
+
+--------------------------------------------------------------------------------
+
+via: https://raymii.org/s/articles/HTTP_Public_Key_Pinning_Extension_HPKP.html
+
+作者:[Remy van Elst][a]
+译者:[译者ID](https://github.com/译者ID)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:https://raymii.org/
+[1]:http://www.imperialviolet.org/2011/05/04/pinning.html
+[2]:https://raymii.org/s/software/OpenSSL_Command_Generator.html
+[3]:https://tools.ietf.org/html/draft-ietf-websec-key-pinning-21#appendix-A
+[4]:https://code.google.com/p/chromium/issues/detail?id=444511
+[5]:https://scotthelme.co.uk/
\ No newline at end of file
diff --git a/sources/tech/20150415 Strong SSL Security on nginx.md b/sources/tech/20150415 Strong SSL Security on nginx.md
new file mode 100644
index 0000000000..82b12820ed
--- /dev/null
+++ b/sources/tech/20150415 Strong SSL Security on nginx.md
@@ -0,0 +1,290 @@
+Strong SSL Security on nginx
+================================================================================
+[![](https://raymii.org/s/inc/img/ssl-labs-a.png)][1]
+
+This tutorial shows you how to set up strong SSL security on the nginx webserver. We do this by disabling SSL Compression to mitigate the CRIME attack, disable SSLv3 and below because of vulnerabilities in the protocol and we will set up a strong ciphersuite that enables Forward Secrecy when possible. We also enable HSTS and HPKP. This way we have a strong and future proof ssl configuration and we get an A on the Qually Labs SSL Test.
+
+TL;DR: [Copy-pastable strong cipherssuites for NGINX, Apache and Lighttpd: https://cipherli.st][2]
+
+This tutorial is tested on a Digital Ocean VPS. If you like this tutorial and want to support my website, use this link to order a Digital Ocean VPS: [https://www.digitalocean.com/?refcode=7435ae6b8212][2]
+
+This tutorial works with the stricter requirements of the SSL Labs test [announced on the 21st of January 2014][4] (It already did before that, if you follow(ed) it you get an A+)
+
+- [This tutorial is also available for Apache][5]
+- [This tutorial is also available for Lighttpd][6]
+- [This tutorial is also available for FreeBSD, NetBSD and OpenBSD over at the BSD Now podcast][7]: [http://www.bsdnow.tv/tutorials/nginx][8]
+
+You can find more info on the topics by following the links below:
+
+- [BEAST Attack][9]
+- [CRIME Attack][10]
+- [FREAK Attack][11]
+- [Heartbleed][12]
+- [Perfect Forward Secrecy][13]
+- [Dealing with RC4 and BEAST][14]
+
+We are going to edit the nginx settings in the file `/etc/nginx/sited-enabled/yoursite.com` (On Ubuntu/Debian) or in `/etc/nginx/conf.d/nginx.conf` (On RHEL/CentOS).
+
+For the entire tutorial, you need to edit the parts between the `server` block for the server config for port 443 (ssl config). At the end of the tutorial you can find the complete config example.
+
+*Make sure you back up the files before editing them!*
+
+### The BEAST attack and RC4 ###
+
+In short, by tampering with an encryption algorithm's CBC - cipher block chaining - mode's, portions of the encrypted traffic can be secretly decrypted. More info on the above link.
+
+Recent browser versions have enabled client side mitigation for the beast attack. The recommendation was to disable all TLS 1.0 ciphers and only offer RC4. However, [RC4 has a growing list of attacks against it],(http://www.isg.rhul.ac.uk/tls/) many of which have crossed the line from theoretical to practical. Moreover, there is reason to believe that the NSA has broken RC4, their so-called "big breakthrough."
+
+Disabling RC4 has several ramifications. One, users with shitty browsers such as Internet Explorer on Windows XP will use 3DES in lieu. Triple-DES is more secure than RC4, but it is significantly more expensive. Your server will pay the cost for these users. Two, RC4 mitigates BEAST. Thus, disabling RC4 makes TLS 1.0 users susceptible to that attack, by moving them to AES-CBC (the usual server-side BEAST "fix" is to prioritize RC4 above all else). I am confident that the flaws in RC4 significantly outweigh the risks from BEAST. Indeed, with client-side mitigation (which Chrome and Firefox both provide), BEAST is a nonissue. But the risk from RC4 only grows: More cryptanalysis will surface over time.
+
+### Factoring RSA-EXPORT Keys (FREAK) ###
+
+FREAK is a man-in-the-middle (MITM) vulnerability discovered by a group of cryptographers at [INRIA, Microsoft Research and IMDEA][15]. FREAK stands for "Factoring RSA-EXPORT Keys."
+
+The vulnerability dates back to the 1990s, when the US government banned selling crypto software overseas, unless it used export cipher suites which involved encryption keys no longer than 512-bits.
+
+It turns out that some modern TLS clients - including Apple's SecureTransport and OpenSSL - have a bug in them. This bug causes them to accept RSA export-grade keys even when the client didn't ask for export-grade RSA. The impact of this bug can be quite nasty: it admits a 'man in the middle' attack whereby an active attacker can force down the quality of a connection, provided that the client is vulnerable and the server supports export RSA.
+
+There are two parts of the attack as the server must also accept "export grade RSA."
+
+The MITM attack works as follows:
+
+- In the client's Hello message, it asks for a standard 'RSA' ciphersuite.
+- The MITM attacker changes this message to ask for 'export RSA'.
+- The server responds with a 512-bit export RSA key, signed with its long-term key.
+- The client accepts this weak key due to the OpenSSL/SecureTransport bug.
+- The attacker factors the RSA modulus to recover the corresponding RSA decryption key.
+- When the client encrypts the 'pre-master secret' to the server, the attacker can now decrypt it to recover the TLS 'master secret'.
+- From here on out, the attacker sees plaintext and can inject anything it wants.
+
+The ciphersuite offered here on this page does not enable EXPORT grade ciphers. Make sure your OpenSSL is updated to the latest available version and urge your clients to also use upgraded software.
+
+### Heartbleed ###
+
+Heartbleed is a security bug disclosed in April 2014 in the OpenSSL cryptography library, which is a widely used implementation of the Transport Layer Security (TLS) protocol. Heartbleed may be exploited regardless of whether the party using a vulnerable OpenSSL instance for TLS is a server or a client. It results from improper input validation (due to a missing bounds check) in the implementation of the DTLS heartbeat extension (RFC6520), thus the bug's name derives from "heartbeat". The vulnerability is classified as a buffer over-read, a situation where more data can be read than should be allowed.
+
+What versions of the OpenSSL are affected by Heartbleed?
+
+Status of different versions:
+
+- OpenSSL 1.0.1 through 1.0.1f (inclusive) are vulnerable
+- OpenSSL 1.0.1g is NOT vulnerable
+- OpenSSL 1.0.0 branch is NOT vulnerable
+- OpenSSL 0.9.8 branch is NOT vulnerable
+
+The bug was introduced to OpenSSL in December 2011 and has been out in the wild since OpenSSL release 1.0.1 on 14th of March 2012. OpenSSL 1.0.1g released on 7th of April 2014 fixes the bug.
+
+By updating OpenSSL you are not vulnerable to this bug.
+
+### SSL Compression (CRIME attack) ###
+
+The CRIME attack uses SSL Compression to do its magic. SSL compression is turned off by default in nginx 1.1.6+/1.0.9+ (if OpenSSL 1.0.0+ used) and nginx 1.3.2+/1.2.2+ (if older versions of OpenSSL are used).
+
+If you are using al earlier version of nginx or OpenSSL and your distro has not backported this option then you need to recompile OpenSSL without ZLIB support. This will disable the use of OpenSSL using the DEFLATE compression method. If you do this then you can still use regular HTML DEFLATE compression.
+
+### SSLv2 and SSLv3 ###
+
+SSL v2 is insecure, so we need to disable it. We also disable SSLv3, as TLS 1.0 suffers a downgrade attack, allowing an attacker to force a connection to use SSLv3 and therefore disable forward secrecy.
+
+Again edit the config file:
+
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+
+### Poodle and TLS-FALLBACK-SCSV ###
+
+SSLv3 allows exploiting of the [POODLE][16] bug. This is one more major reason to disable this.
+
+Google have proposed an extension to SSL/TLS named [TLSFALLBACKSCSV][17] that seeks to prevent forced SSL downgrades. This is automatically enabled if you upgrade OpenSSL to the following versions:
+
+- OpenSSL 1.0.1 has TLSFALLBACKSCSV in 1.0.1j and higher.
+- OpenSSL 1.0.0 has TLSFALLBACKSCSV in 1.0.0o and higher.
+- OpenSSL 0.9.8 has TLSFALLBACKSCSV in 0.9.8zc and higher.
+
+[More info on the NGINX documentation][18]
+
+### The Cipher Suite ###
+
+Forward Secrecy ensures the integrity of a session key in the event that a long-term key is compromised. PFS accomplishes this by enforcing the derivation of a new key for each and every session.
+
+This means that when the private key gets compromised it cannot be used to decrypt recorded SSL traffic.
+
+The cipher suites that provide Perfect Forward Secrecy are those that use an ephemeral form of the Diffie-Hellman key exchange. Their disadvantage is their overhead, which can be improved by using the elliptic curve variants.
+
+The following two ciphersuites are recommended by me, and the latter by [the Mozilla Foundation][19].
+
+The recommended cipher suite:
+
+ ssl_ciphers 'AES128+EECDH:AES128+EDH';
+
+The recommended cipher suite for backwards compatibility (IE6/WinXP):
+
+ ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
+
+If your version of OpenSSL is old, unavailable ciphers will be discarded automatically. Always use the full ciphersuite above and let OpenSSL pick the ones it supports.
+
+The ordering of a ciphersuite is very important because it decides which algorithms are going to be selected in priority. The recommendation above prioritizes algorithms that provide perfect forward secrecy.
+
+Older versions of OpenSSL may not return the full list of algorithms. AES-GCM and some ECDHE are fairly recent, and not present on most versions of OpenSSL shipped with Ubuntu or RHEL.
+
+#### Prioritization logic ####
+
+- ECDHE+AESGCM ciphers are selected first. These are TLS 1.2 ciphers and not widely supported at the moment. No known attack currently target these ciphers.
+- PFS ciphersuites are preferred, with ECDHE first, then DHE.
+- AES 128 is preferred to AES 256. There has been [discussions][20] on whether AES256 extra security was worth the cost, and the result is far from obvious. At the moment, AES128 is preferred, because it provides good security, is really fast, and seems to be more resistant to timing attacks.
+- In the backward compatible ciphersuite, AES is preferred to 3DES. BEAST attacks on AES are mitigated in TLS 1.1 and above, and difficult to achieve in TLS 1.0. In the non-backward compatible ciphersuite, 3DES is not present.
+- RC4 is removed entirely. 3DES is used for backward compatibility. See discussion in [#RC4_weaknesses][21]
+
+#### Mandatory discards ####
+
+- aNULL contains non-authenticated Diffie-Hellman key exchanges, that are subject to Man-In-The-Middle (MITM) attacks
+- eNULL contains null-encryption ciphers (cleartext)
+- EXPORT are legacy weak ciphers that were marked as exportable by US law
+- RC4 contains ciphers that use the deprecated ARCFOUR algorithm
+- DES contains ciphers that use the deprecated Data Encryption Standard
+- SSLv2 contains all ciphers that were defined in the old version of the SSL standard, now deprecated
+- MD5 contains all the ciphers that use the deprecated message digest 5 as the hashing algorithm
+
+### Extra settings ###
+
+Make sure you also add these lines:
+
+ ssl_prefer_server_ciphers on;
+ ssl_session_cache shared:SSL:10m;
+
+When choosing a cipher during an SSLv3 or TLSv1 handshake, normally the client's preference is used. If this directive is enabled, the server's preference will be used instead.
+
+- [More info on sslpreferserver_ciphers][22]
+- [More info on ssl_ciphers][23]
+
+### Forward Secrecy & Diffie Hellman Ephemeral Parameters ###
+
+The concept of forward secrecy is simple: client and server negotiate a key that never hits the wire, and is destroyed at the end of the session. The RSA private from the server is used to sign a Diffie-Hellman key exchange between the client and the server. The pre-master key obtained from the Diffie-Hellman handshake is then used for encryption. Since the pre-master key is specific to a connection between a client and a server, and used only for a limited amount of time, it is called Ephemeral.
+
+With Forward Secrecy, if an attacker gets a hold of the server's private key, it will not be able to decrypt past communications. The private key is only used to sign the DH handshake, which does not reveal the pre-master key. Diffie-Hellman ensures that the pre-master keys never leave the client and the server, and cannot be intercepted by a MITM.
+
+All versions of nginx as of 1.4.4 rely on OpenSSL for input parameters to Diffie-Hellman (DH). Unfortunately, this means that Ephemeral Diffie-Hellman (DHE) will use OpenSSL's defaults, which include a 1024-bit key for the key-exchange. Since we're using a 2048-bit certificate, DHE clients will use a weaker key-exchange than non-ephemeral DH clients.
+
+We need generate a stronger DHE parameter:
+
+ cd /etc/ssl/certs
+ openssl dhparam -out dhparam.pem 4096
+
+And then tell nginx to use it for DHE key-exchange:
+
+ ssl_dhparam /etc/ssl/certs/dhparam.pem;
+
+### OCSP Stapling ###
+
+When connecting to a server, clients should verify the validity of the server certificate using either a Certificate Revocation List (CRL), or an Online Certificate Status Protocol (OCSP) record. The problem with CRL is that the lists have grown huge and takes forever to download.
+
+OCSP is much more lightweight, as only one record is retrieved at a time. But the side effect is that OCSP requests must be made to a 3rd party OCSP responder when connecting to a server, which adds latency and potential failures. In fact, the OCSP responders operated by CAs are often so unreliable that browser will fail silently if no response is received in a timely manner. This reduces security, by allowing an attacker to DoS an OCSP responder to disable the validation.
+
+The solution is to allow the server to send its cached OCSP record during the TLS handshake, therefore bypassing the OCSP responder. This mechanism saves a roundtrip between the client and the OCSP responder, and is called OCSP Stapling.
+
+The server will send a cached OCSP response only if the client requests it, by announcing support for the status_request TLS extension in its CLIENT HELLO.
+
+Most servers will cache OCSP response for up to 48 hours. At regular intervals, the server will connect to the OCSP responder of the CA to retrieve a fresh OCSP record. The location of the OCSP responder is taken from the Authority Information Access field of the signed certificate.
+
+- [View my tutorial on enabling OCSP stapling on NGINX][24]
+
+### HTTP Strict Transport Security ###
+
+When possible, you should enable [HTTP Strict Transport Security (HSTS)][25], which instructs browsers to communicate with your site only over HTTPS.
+
+- [View my article on HTST to see how to configure it.][26]
+
+### HTTP Public Key Pinning Extension ###
+
+You should also enable the [HTTP Public Key Pinning Extension][27].
+
+Public Key Pinning means that a certificate chain must include a whitelisted public key. It ensures only whitelisted Certificate Authorities (CA) can sign certificates for `*.example.com`, and not any CA in your browser store.
+
+I've written an article about it that has background theory and configuration examples for Apache, Lighttpd and NGINX: [https://raymii.org/s/articles/HTTPPublicKeyPinningExtension_HPKP.html][28]
+
+### Config Example ###
+
+ server {
+
+ listen [::]:443 default_server;
+
+ ssl on;
+ ssl_certificate_key /etc/ssl/cert/raymii_org.pem;
+ ssl_certificate /etc/ssl/cert/ca-bundle.pem;
+
+ ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
+
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+ ssl_session_cache shared:SSL:10m;
+
+ ssl_stapling on;
+ ssl_stapling_verify on;
+ resolver 8.8.4.4 8.8.8.8 valid=300s;
+ resolver_timeout 10s;
+
+ ssl_prefer_server_ciphers on;
+ ssl_dhparam /etc/ssl/certs/dhparam.pem;
+
+ add_header Strict-Transport-Security max-age=63072000;
+ add_header X-Frame-Options DENY;
+ add_header X-Content-Type-Options nosniff;
+
+ root /var/www/;
+ index index.html index.htm;
+ server_name raymii.org;
+
+ }
+
+### Conclusion ###
+
+If you have applied the above config lines you need to restart nginx:
+
+ # Check the config first:
+ /etc/init.d/nginx configtest
+ # Then restart:
+ /etc/init.d/nginx restart
+
+Now use the [SSL Labs test][29] to see if you get a nice A. And, of course, have a safe, strong and future proof SSL configuration!
+
+- [Also read the Mozilla page on the subject][30]
+
+--------------------------------------------------------------------------------
+
+via: https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
+
+作者:[Remy van Elst][a]
+译者:[译者ID](https://github.com/译者ID)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:https://raymii.org/
+[1]:https://www.ssllabs.com/ssltest/analyze.html?d=raymii.org
+[2]:https://cipherli.st/
+[3]:https://www.digitalocean.com/?refcode=7435ae6b8212
+[4]:http://blog.ivanristic.com/2014/01/ssl-labs-stricter-security-requirements-for-2014.html
+[5]:https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html
+[6]:https://raymii.org/s/tutorials/Pass_the_SSL_Labs_Test_on_Lighttpd_%28Mitigate_the_CRIME_and_BEAST_attack_-_Disable_SSLv2_-_Enable_PFS%29.html
+[7]:http://www.bsdnow.tv/episodes/2014_08_20-engineering_nginx
+[8]:http://www.bsdnow.tv/tutorials/nginx
+[9]:https://en.wikipedia.org/wiki/Transport_Layer_Security#BEAST_attack
+[10]:https://en.wikipedia.org/wiki/CRIME_%28security_exploit%29
+[11]:http://blog.cryptographyengineering.com/2015/03/attack-of-week-freak-or-factoring-nsa.html
+[12]:http://heartbleed.com/
+[13]:https://en.wikipedia.org/wiki/Perfect_forward_secrecy
+[14]:https://en.wikipedia.org/wiki/Transport_Layer_Security#Dealing_with_RC4_and_BEAST
+[15]:https://www.smacktls.com/
+[16]:https://raymii.org/s/articles/Check_servers_for_the_Poodle_bug.html
+[17]:https://tools.ietf.org/html/draft-ietf-tls-downgrade-scsv-00
+[18]:http://wiki.nginx.org/HttpSslModule#ssl_protocols
+[19]:https://wiki.mozilla.org/Security/Server_Side_TLS
+[20]:http://www.mail-archive.com/dev-tech-crypto@lists.mozilla.org/msg11247.html
+[21]:https://wiki.mozilla.org/Security/Server_Side_TLS#RC4_weaknesses
+[22]:http://wiki.nginx.org/HttpSslModule#ssl_prefer_server_ciphers
+[23]:http://wiki.nginx.org/HttpSslModule#ssl_ciphers
+[24]:https://raymii.org/s/tutorials/OCSP_Stapling_on_nginx.html
+[25]:https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
+[26]:https://raymii.org/s/tutorials/HTTP_Strict_Transport_Security_for_Apache_NGINX_and_Lighttpd.html
+[27]:https://wiki.mozilla.org/SecurityEngineering/Public_Key_Pinning
+[28]:https://raymii.org/s/articles/HTTP_Public_Key_Pinning_Extension_HPKP.html
+[29]:https://www.ssllabs.com/ssltest/
+[30]:https://wiki.mozilla.org/Security/Server_Side_TLS
\ No newline at end of file
diff --git a/translated/talk/20150225 Torvalds--'People who start writing kernel code get hired really quickly'.md b/translated/talk/20150225 Torvalds--'People who start writing kernel code get hired really quickly'.md
deleted file mode 100644
index 62d9af6b24..0000000000
--- a/translated/talk/20150225 Torvalds--'People who start writing kernel code get hired really quickly'.md
+++ /dev/null
@@ -1,39 +0,0 @@
-translated by haimingfg
-
-Torvalds: 参加linux内核贡献更加容易找工作
-========================================
-
-相比起以往,linux内核的发展变是一个专业性的问题,作为一个无偿贡献者去贡献的项目今天在"谁写linux"被低调报道出来了。
-
-这个报道由linux基金会编写,基金会说自愿者有逐年下降的趋势,上年有11.8%的内核开发是由无偿自愿者完成,从2012年起由14.6%下滑了19%。
-
-![](http://images.techhive.com/images/article/2015/02/screen-shot-2015-02-17-at-5.25.43-pm-100568680-medium.idge.png)
-
-即使是这样,在最新的谁写linux里面报道,无偿贡献者还是主要的共享来源,共有11,968改变,整体来说有12.4%是好的,企业贡献者共同占比越来越多,有超过80%的内核贡献是有有尝的专业开发者来完成,linux基金会说。
-
-
-根据 linus Torvalds 说,这个有偿开发者趋势不会改变太多这个内核发展的本身。
-
-
-他向全世界人说,我认为不会改变太多的一个原因是不会有更多的无偿自愿者因为编写内核就会更加快找到工作而离开。
-
-
-Torvalds讲到,linux发展改变有很多其他原因,很自然的,新的贡献者会经常冒出来,有很多都是原来的开发者,有着10年的经验,被很多对linux感兴趣的公司抢着去做。
-
-
-他说:“开始我们是自愿者,但我们这几天很开心被请去开发linux”
-
-
-Torvalds 开始抽离了他的开发角色,根据报道在3.10的内核版本里面他个人发布329补丁,占04% 逐渐地,子系统维护人员自己会检查与合并他们的代码。
-
---------------------------------------------------------------------------------
-
-via: http://www.infoworld.com/article/2885339/application-development/torvalds-people-who-start-writing-kernel-code-get-hired-really-quickly.html
-
-作者:[Jon Gold][a]
-译者:[haimingfg](https://github.com/haimingfg)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
-
-[a]:http://www.infoworld.com/author/Jon-Gold/
diff --git a/translated/talk/20150410 10 Famous IT Skills in Demand That Will Get You Hired.md b/translated/talk/20150410 10 Famous IT Skills in Demand That Will Get You Hired.md
new file mode 100644
index 0000000000..89afa0f6f4
--- /dev/null
+++ b/translated/talk/20150410 10 Famous IT Skills in Demand That Will Get You Hired.md
@@ -0,0 +1,138 @@
+10 个正需的IT技能,会帮你职场成功
+===========================================================================
+接我们上次的文章[[十大有需的操作系统][1]],这篇文章得到了Tecmint社区很高的评价,在本篇中,我们将指点顶尖的IT技能,这会帮助你找到你理想的工作。
+
+如第一篇文章提到的那样,这些资料和统计结果是会伴随市场和需求的变化而变化的。我们将会尽可能地更新列表,无论何时只要有任何主要的变化。所有的统计数据基于最近的,全球一些IT公司的招聘信息和需求。
+
+### 1. VMware ###
+
+VMware公司设计的虚拟化和云计算软件高居榜首。VMware首次宣布商业支持x86架构的虚拟化。VMware的需求在上个季度已经增长自16%。
+
+最新稳定发行版: 11.0
+
+### 2. MySQL ###
+
+这款开源的关系型数据库管理系统屈尊第二。直到2013年,MySQL都还是第二大使用广泛的RDBMS(注:Relational Database Management System)。上季度MySQL的需求已经达到了11%。继甲骨文公司之后,著名的MarialDB也已经被分出MySQL了。去掌握它。
+
+最新稳定发行版: 5.6.23
+
+### 3. Apache ###
+
+这个跨平台的开源网页(HTTP)服务器占据了第三的位置。Apache的需求已经超过了13%截至上个季度。
+
+最新稳定发行版: 2.4.12
+
+### 4. AWS ###
+
+亚马逊网页服务器是亚马逊网站提供的所有远程计算服务的集合。AWS排在第四。上个季度,AWS的需求已经表现出将近14%的增长。
+
+### 5. Puppet ###
+
+Puppet作为配置管理系统被应用在设置IT基础架构,列在第五。它用Ruby语言编写,属于客户端-服务器型的结构。上个季度puppet的需求已经增长超过9%
+
+最新稳定发行版: 3.7.3
+
+### 6. Hadoop ###
+
+Hadoop是用Java写的一款开源软件框架,用于处理大数据。列表中Hadoop位列第六。对Hadoop的需求在上个季度已经下降了0.2个百分点。
+
+最新稳定发行版: 2.6.0
+
+### 7. Git ###
+
+Linux Torvalds最初编写的著名版本控制系统Git排在了第七。Git的需求在上个季度已经超过了7%。
+
+最新稳定发行版: 2.3.4
+
+### 8. Oracle PL/SQL ###
+
+Oracle公司开发的SQL扩展版,占据第八的位置。PL/SQL从Oracle 7后就包含在Oracle数据库中。它在上个季度已经出现将近8%的衰退。
+
+### 9. Tomcat ###
+
+这个开源网页服务器和服务程序容器出现在了第九的位置。在上个季度,它已经表现出需求增长,将近15%。
+
+最新稳定发行版: 8.0.15
+
+### 10. SAP ###
+
+这款最著名的企业资源规划软件排在了第十。上个季度SAP在需求市场表现出将近3.5%的增长。
+
+
+
+
+
+
+
+
+
+1.
+ |
+ VMware |
+ 16% + |
+
+
+ 2.
+ |
+ MySQL |
+ 11% + |
+
+
+ 3. |
+ Apache |
+ 13% + |
+
+
+ 4.
+ |
+ Amazon web services (AWS) |
+ 14% + |
+
+
+ 5.
+ |
+ Puppet |
+ 9% + |
+
+
+ 6. |
+ Hadoop |
+ 0.2% + |
+
+
+ 7. |
+ Git |
+ 7% + |
+
+
+ 8. |
+ Oracle PL/SQL |
+ 8% - |
+
+
+ 9. |
+ Tomcat |
+ 15% + |
+
+
+ 10. |
+ SAP |
+ 3.5% + |
+
+
+
+
+就这么多了。我会积极跟进这个系列的下个部分。保持发声,保持联系,保持评论。不要忘了给我们提供你的反馈。喜欢和分享我们,帮助我们传播开去。
+
+---------------------------------------------------------------------------
+
+via: http://www.tecmint.com/famous-it-skills-in-demand-that-will-get-you-hired/
+
+作者:[Avishek Kumar][a]
+译者:[wi-cuckoo](https://github.com/wi-cuckoo)
+校对:[校对者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/top-distributions-in-demand-to-get-your-dream-job/
diff --git a/translated/tech/150409 How to Run GUI Apps in a Docker Container.md b/translated/tech/150409 How to Run GUI Apps in a Docker Container.md
new file mode 100644
index 0000000000..abca032354
--- /dev/null
+++ b/translated/tech/150409 How to Run GUI Apps in a Docker Container.md
@@ -0,0 +1,78 @@
+如何在Docker容器中运行GUI程序
+================================================================================
+各位,今天我们将学习如何在[Docker][1]之中运行GUI程序。我们可以轻易地在Docker容器中运行大多数GUI程序且不出错。Docker是一个开源项目,提供了一个打包、分发和运行任意程序的轻量级容器的开放平台。它没有语言支持、框架或者打包系统的限制并可以在任何地方、任何时候,从小型的家用电脑到高端的服务器都可以运行。这让人们可以打包不同的包用于部署和扩展网络应用,数据库和后端服务而不必依赖于特定的栈或者提供商。
+
+下面是我们该如何在Docker容器中运行GUI程序的简单步骤。本教程中,我们会用Firefox作为例子。
+
+### 1. 安装 Docker ###
+
+在开始事前,我们首先得确保在Linux主机中已经安装了Docker。这里,我运行的是CentOS 7 主机,我们将运行yum管理器和下面的命令来安装Docker。
+
+ # yum install docker
+
+![](http://blog.linoxide.com/wp-content/uploads/2015/03/installing-docker.png)
+
+ # systemctl restart docker.service
+
+### 2. 创建 Dockerfile ###
+
+现在,Docker守护进程已经在运行中了,我们现在准备创建自己的Firefox Docker容器。我们要创建一个Dockerfile,这里我们要输入需要的配置来创建一个可以工作的Firefox容器。我们取下CentOS中最新的Docker镜像。至此,我们需要用文本编辑器创建一个名为Dockerfile的文件。
+
+ # nano Dockerfile
+
+接着,在Dockerfile中添加下面的行并保存。
+
+ #!/bin/bash
+ FROM centos:7
+ RUN yum install -y firefox
+ # Replace 0 with your user / group id
+ RUN export uid=0 gid=0
+ RUN mkdir -p /home/developer
+ RUN echo "developer:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash" >> /etc/passwd
+ RUN echo "developer:x:${uid}:" >> /etc/group
+ RUN echo "developer ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers
+ RUN chmod 0440 /etc/sudoers
+ RUN chown ${uid}:${gid} -R /home/developer
+
+ USER developer
+ ENV HOME /home/developer
+ CMD /usr/bin/firefox
+
+![](http://blog.linoxide.com/wp-content/uploads/2015/03/Dockerfile-GUI.png)
+
+**注意:在第四行的配置中,用你自己的用户和组id来替换0。 我们可以用下面的命令在shell或者终端中得到uid和gid。**
+
+ # id $USER
+
+![](http://blog.linoxide.com/wp-content/uploads/2015/03/user-id.png)
+
+### 3. 构造Docker容器 ###
+
+下面我们就要根据上面的Dockerfile构建一个容器。它会安装firefox浏览器和它需要的包。它接着会设置用户权限并让它可以工作。这里镜像名是firefox,你可以根据你的需要命名。
+
+ # docker build --rm -t firefox .
+
+![](http://blog.linoxide.com/wp-content/uploads/2015/03/building-firefox-docker.png)
+
+### 4. 运行Docker容器 ###
+
+现在,如果一切顺利,我们现在可以在运行着CentOS 7镜像的Docker容器中运行我们的GUI程序也就是Firefox浏览器了。
+
+ # docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix firefox
+
+### 总结 ###
+
+在Dcoker容器中运行GUI程序是一次很棒的体验,它对你的主机文件系统没有任何的伤害。它完全依赖你的Docker容器。本教程中,我尝试了CentOS 7 Docker中的Firefox。我们可以用这个技术尝试更多的GUI程序。如果你有任何问题、建议、反馈请在下面的评论栏中写下来,这样我们可以提升或更新我们的内容。谢谢!
+
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/linux-how-to/run-gui-apps-docker-container/
+
+作者:[Arun Pyasi][a]
+译者:[geekpi](https://github.com/geekpi)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:http://linoxide.com/author/arunp/
+[1]:http://docker.io/
diff --git a/translated/tech/20150119 How to Remember and Restore Running Applications on Next Logon.md b/translated/tech/20150119 How to Remember and Restore Running Applications on Next Logon.md
new file mode 100644
index 0000000000..e6cc710ae2
--- /dev/null
+++ b/translated/tech/20150119 How to Remember and Restore Running Applications on Next Logon.md
@@ -0,0 +1,96 @@
+如何记住并在下一次登录时还原正在运行的应用
+================================================================================
+在你的 Ubuntu 里,你正运行着某些应用,但并不想停掉它们的进程,只想管理一下窗口,并打开那些工作需要的应用。接着,某些其他的事需要你转移注意力或你的机器电量低使得你必须马上关闭电脑。(幸运的是,)你可以让 Ubuntu 记住所有你正运行的应用并在你下一次登录时还原它们。
+
+现在,为了让我们的 Ubuntu 记住当前会话中正运行的应用并在我们下一次登录时还原它们,我们将会使用到 `dconf-editor`。这个工具代替了前一个 Ubuntu 版本里安装的 `gconf-editor`,但默认情况下并没有在现在这个 Ubuntu 版本(注:这里指的是 Ubuntu 14.04 LTS) 里安装。为了安装 `dconf-editor`, 你需要运行 `sudo apt-get install dconf-editor`命令:
+
+ $ sudo apt-get install dconf-tools
+
+一旦 `dconf-editor` 安装完毕,你就可以从应用菜单(注:这里指的是 Unity Dash)里打开它或者你可以通过直接在终端里或使用 `alt+f2` 运行下面的命令来启动它:
+
+ $ dconf-editor
+
+在 “dconf Editor” 窗口中,在左边窗格里点击临近 "org" 的右箭头来展开这个选项的分支。
+
+![Dconf Editor Apps, org](http://blog.linoxide.com/wp-content/uploads/2015/01/dconf-editor-clicking-org-300x146.png)
+
+然后在 “org” 下,点击临近 “gnome” 的右箭头。
+
+![dconf editor clicking gnome](http://blog.linoxide.com/wp-content/uploads/2015/01/dconf-editor-clicking-gnome.png)
+
+接着在 “gnome” 下点击 “gnome-session”。在右边窗格里,选择 “auto-save-session” 选项框并将它开启。
+
+![dconf-editor selecting auto save session](http://blog.linoxide.com/wp-content/uploads/2015/01/dconf-editor_selecting_auto_save_session.png)
+
+在你检查或对刚才的选项打钩之后,点击默认情况下位于窗口左上角的关闭按钮(X)来关闭 “Dconf Editor”。
+
+![dconf-editor closing dconf editor](http://blog.linoxide.com/wp-content/uploads/2015/01/dconf-editor_closing_dconf_editor.png)
+
+在你登出并再登录回来时,所有你正运行的应用就可以被还原了。
+
+欢呼吧,我们已经成功地配置了我们的 Ubuntu 14.04 LTS "Trusty" 来自动记住我们上一次会话中正在运行的应用。
+
+现在,在这个教程里,我们也将学会 **如何在 Ubuntu 14.04 LTS 里开启休眠功能** :
+
+在开始之前,在键盘上按 `Ctrl+Alt+T` 来开启终端。在它开启以后,运行:
+
+ sudo pm-hibernate
+
+在你的电脑关闭后,再重新开启它。这时,你开启的应用被重新打开了吗?如果休眠功能没有发挥作用,请检查你的交换分区大小,它至少要和你可用 RAM 大小相当。
+
+你可以在系统监视器里查看你的交换分区大小,而系统监视器可以通过在应用菜单或在终端里运行下面的命令来开启:
+
+ $ gnome-system-monitor
+
+### 在系统托盘里启用休眠功能: ###
+
+提示模块是通过使用 logind 而不是使用 upower 来更新的。默认情况下,在 upower 和 logind 中,休眠都被禁用了。
+
+为了开启休眠功能,依次运行下面的命令来编辑配置文件:
+
+ sudo -i
+
+ cd /var/lib/polkit-1/localauthority/50-local.d/
+
+ gedit com.ubuntu.enable-hibernate.pkla
+
+**提示:假如对你来说,这个配置文件并没有起到作用,请替换上面代码中的 /var/lib 为 /etc 来试试另一个配置文件**
+
+复制并粘贴下面的代码到文件中并保存:
+
+ [Re-enable hibernate by default in upower]
+ Identity=unix-user:*
+ Action=org.freedesktop.upower.hibernate
+ ResultActive=yes
+
+ [Re-enable hibernate by default in logind]
+ Identity=unix-user:*
+ Action=org.freedesktop.login1.hibernate
+ ResultActive=yes
+
+重启你的电脑就可以了。
+
+### 当你盖上笔记本的后盖时,让它休眠: ###
+
+1.通过下面的命令编辑文件 “/etc/systemd/logind.conf” :
+
+ $ sudo nano /etc/systemd/logind.conf
+
+2. 将 **#HandleLidSwitch=suspend** 这一行改为 **HandleLidSwitch=hibernate** 并保存文件;
+
+3. 运行下面的命令或重启你的电脑来应用更改:
+
+ $ sudo restart systemd-logind
+
+就是这样。享受吧!现在我们有了 dconf 并开启了休眠功能 :) 你的 Ubuntu 将能够完全记住你开启的应用和窗口了。
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/ubuntu-how-to/remember-running-applications-ubuntu/
+
+作者:[Arun Pyasi][a]
+译者:[FSSlc](https://github.com/FSSlc)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:http://linoxide.com/author/arunp/
diff --git a/sources/tech/20150205 How To Scan And Check A WordPress Website Security Using WPScan, Nmap, And Nikto.md b/translated/tech/20150205 How To Scan And Check A WordPress Website Security Using WPScan, Nmap, And Nikto.md
similarity index 58%
rename from sources/tech/20150205 How To Scan And Check A WordPress Website Security Using WPScan, Nmap, And Nikto.md
rename to translated/tech/20150205 How To Scan And Check A WordPress Website Security Using WPScan, Nmap, And Nikto.md
index 4f84e2c4a2..fbd5fcf924 100644
--- a/sources/tech/20150205 How To Scan And Check A WordPress Website Security Using WPScan, Nmap, And Nikto.md
+++ b/translated/tech/20150205 How To Scan And Check A WordPress Website Security Using WPScan, Nmap, And Nikto.md
@@ -1,67 +1,66 @@
-[boredivan翻译中]
-How To Scan And Check A WordPress Website Security Using WPScan, Nmap, And Nikto
+怎样用 WPScan,Nmap 和 Nikto 扫描和检查一个 WordPress 站点的安全性
================================================================================
-### Introduction ###
+### 介绍 ###
-Millions of websites are powered by WordPress software and there’s a reason for that. WordPress is the most developer-friendly content management system out there, so you can essentially do anything you want with it. Unfortunately, every day some scary report about a major site being hacked or a sensitive database being compromised hits the web … and freaks everyone out.
+数百万个网站用着 WordPress ,这当然是有原因的。WordPress 是众多内容管理系统中对开发者最友好的,本质上说你可以用它做任何事情。不幸的是,每天都有些吓人的报告说某个主要的网站被黑了,或者某个重要的数据库被泄露了之类的,吓得人一愣一愣的。
-If you haven’t installed WordPress yet, check the following article.
-On Debian based systems:
+如果你还没有安装 WordPress ,可以看下下面的文章。
+在基于 Debian 的系统上:
- [How to install WordPress On Ubuntu][1]
-On RPM based systems:
+在基于 RPM 的系统上:
- [How to install wordpress On CentOS][2]
-Following on from my previous article [How To Secure WordPress Website][3] show you **checklist** allows you to secure your WordPress site with as little effort as possible.
+我之前的文章 [How To Secure WordPress Website][3] 里面列出的**备忘录**为读者维护 WordPress 的安全提供了一点帮助。
-In this article, will describe to you through the installation of **wpscan** and serve as a guide on how to use wpscan to locate any known vulnerable plugins and themes that may make your site vulnerable to attack. Also, how to install and use **nmap** the free Security Scanner For Network Exploration & Hacking . And at the end we will show you the steps to use **nikto**.
+在这篇文章里面,我将说明 **wpscan** 的安装过程,以及怎样使用 wpscan 来锁定任何已知的会让你的站点变得易受攻击的插件和主题。还有怎样安装和使用一款免费的网络探索和攻击的安全扫描软件 **nmap** 。最后展示的是使用 **nikto** 的步骤。
-### WPScan to Test for Vulnerable Plugins and Themes in WordPress ###
+### 用 WPScan 测试 WordPress 中易受攻击的插件和主题 ###
-**WPScan** is a black box WordPress Security Scanner written in Ruby which attempts to find known security weaknesses within WordPress installations. Its intended use it to be for security professionals or WordPress administrators to asses the security posture of their WordPress installations. The code base is Open Source and licensed under the GPLv3.
+**WPScan** 是一个 WordPress 黑盒安全扫描软件,用 Ruby 写成,它是专门用来寻找已知的 WordPress 的弱点的。它为安全专家和 WordPress 管理员提供了一条评估他们的 WordPress 站点的途径。它的基于开源代码,在 GPLv3 下发行。
-### Download and Install WPScan ###
+### 下载和安装 WPScan ###
-Before we get started with the installation, it is important to note that wpscan will not work on Windows systems, so you will need access to a Linux or OSX installation to proceed. If you only have access to a Windows system you can download Virtualbox and install any Linux distro you like as a Virtual Machine.
+在我们开始安装之前,很重要的一点是要注意 wpscan 不能在 Windows 下工作,所以你需要使用一台 Linux 或者 OS X 的机器来完成下面的事情。如果你只有 Windows 的系统,拿你可以下载一个 Virtualbox 然后在虚拟机里面安装任何你喜欢的 Linux 发行版本。
-WPScan is hosted on Github, so if it is not already installed we will need to install the git packages before we can continue.
+WPScan 的源代码被放在 Github 上,所以需要先安装 git。
sudo apt-get install git
-Once git is installed, we need to install the dependencies for wpscan.
+git 装好了,我们就要安装 wpscan 的依赖包了。
sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev ruby1.9.3
-Now we need to clone the wpscan package from github.
+把 wpscan 从 github 上 clone 下来。
git clone https://github.com/wpscanteam/wpscan.git
-Now we can move to the newly created wpscan directory and install the necessary ruby gems through bundler.
+现在我们可以进入这个新建立的 wpscan 目录,通过 bundler 安装必要的 ruby 包。
cd wpscan
sudo gem install bundler && bundle install --without test development
-Now that we have wpscan installed, we will walk through using the tool to search for potentially vulnerable files on our WordPress installation. Some of the most important aspects of wpscan are its ability to enumerate not only plugins and themes, but users and timthumb installations as well. WPScan can also perform bruteforce attacks against WordPress– but that is outside of the scope of this article.
+现在 wpscan 装好了,我们就可以用它来搜索我们 WordPress 站点潜在的易受攻击的文件。wpcan 最重要的方面是它能列出不仅是插件和主题,也能列出用户和缩略图的功能。WPScan 也可以用来暴力破解 WordPress —— 但这不是本文要讨论的内容。
-#### Update wpscan ####
+#### 跟新 WPScan ####
ruby wpscan.rb --update
-#### Enumerate Plugins ####
+#### 列举插件 ####
-To enumerate plugins, all we need to do is launch wpscan with the `--enumerate p` arguments like so.
+要列出所有插件,只需要加上 “--enumerate p” 参数,就像这样:
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate p
-or to only display vulnerable plugins:
+或者仅仅列出易受攻击的插件:
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate vp
-Some example output is posted below:
+下面是一些例子:
- | Name: akismet
+ | Name: ukiscet
| Location: http://********.com/wp-content/plugins/akismet/
| Name: audio-player
@@ -92,17 +91,18 @@ Some example output is posted below:
| Name: contact
| Location: http://********.com/wp-content/plugins/contact/
-#### Enumerate Themes ####
+#### 列举主题 ####
+
+列举主题和列举插件差不多,只要用"--enumerate t"就可以了。
-Enumeration of themes works the same as enumeration of plugins, just with the `--enumerate t` argument.
ruby wpscan.rb --url http(s)://www.host-name.com --enumerate t
-Or to only display vulnerable themes:
+或者只列出易受攻击的主题:
ruby wpscan.rb --url http(s)://www.host-name.com --enumerate vt
-Sample output:
+例子的输出:
| Name: path
| Location: http://********.com/wp-content/themes/path/
@@ -127,29 +127,30 @@ Sample output:
| Style URL: http://********.com/wp-content/themes/twentyten/style.css
| Description:
-#### Enumerate Users ####
+#### 列举用户 ####
-WPScan can also be used to enumerate users with valid logins to the WordPress installation. This is usually performed by attackers in order to get a list of users in preparation for a bruteforce attack.
+WPscan 也可以用来列举某个 WordPress 站点的用户和有效的登录记录。攻击者常常这么做——为了获得一个用户清单,好进行暴力破解。
ruby wpscan.rb --url http(s)://www.host-name.com --enumerate u
-#### Enumerate Timthumb Files ####
+#### 列举 Timthumb 文件 ####
-The last function of wpscan we’ll discuss in this article is the ability to enumerate timthumb installations. In recent years, timthumb has become a very common target of attackers due to the numerous vulnerabilities found and posted to online forums, message lists, and advisory boards. Using wpscan to find vulnerable timthumb files is done with the following command.
+关于 WPscan ,我要说的最后一个功能是列举 timthub 相关的文件。近年来,timthumb 已经成为攻击者眼里的一个普通的目标,因为无数的漏洞被找出来并发到论坛上、邮件列表等等地方。用下面的命令可以通过 wpscan 找出易受攻击的 timthub 文件:
ruby wpscan.rb --url http(s)://www.host-name.com --enumerate tt
-### Nmap to Scan for Open Ports on your VPS ###
+### 用 Nmap 扫描你 VPS 的开放端口 ###
-**Nmap** is an open source tool for network exploration and security auditing. It was designed to rapidly scan large networks, although it works fine against single hosts. Nmap uses raw IP packets in novel ways to determine what hosts are available on the network, what services (application name and version) those hosts are offering, what operating systems (and OS versions) they are running, what type of packet filters/firewalls are in use, and dozens of other characteristics
+**Nmap** 是一个开源的用于网络探索和安全审查方面的工具。它可以迅速扫描巨大的网络,也可一单机使用。Nmap 用原始 IP 数据包通过不同寻常的方法判断网络里那些主机是正在工作的,那些主机上都提供了什么服务(应用名称和版本),是什么操作系统(以及版本),用的什么类型的防火墙,以及很多其他特征。
-### Download and install nmap on Debian and Ubuntu ###
+### 在 Debian 和 Ubuntu 上下载和安装 nmap ###
+
+要在基于 Debian 和 Ubuntu 的操作系统上安装 nmap ,运行下面的命令:
-To install nmap for Debian and Ubuntu Linux based server systems type the following apt-get command:
sudo apt-get install nmap
-**Sample outputs:**
+**输出样例**
Reading package lists... Done
Building dependency tree
@@ -167,27 +168,27 @@ To install nmap for Debian and Ubuntu Linux based server systems type the follow
Processing triggers for man-db ...
Setting up nmap (5.21-1.1ubuntu1) ...
-#### Examples ####
+#### 打个例子 ####
-To find the nmap version, enter:
+输出 nmap 的版本:
nmap -V
-OR
+或者
nmap --version
-**Sample outputs:**
+**输出样例**
Nmap version 5.21 ( http://nmap.org )
-### Dowonlad and install nmap on Centos ###
+### 在 Centos 上下载和安装 nmap ###
-To install nmap on RHEL based Linux distributions, type the following yum command:
+要在基于 RHEL 的 Linux 上面安装 nmap ,输入下面的命令:
yum install nmap
-**Sample outputs:**
+**输出样例**
Loaded plugins: protectbase, rhnplugin, security
0 packages excluded due to repository protections
@@ -226,63 +227,63 @@ To install nmap on RHEL based Linux distributions, type the following yum comman
Complete!
-#### Examples ####
+#### 举个比方 ####
-To find the nmap version, enter:
+输出 nmap 版本号:
nmap --version
-**Sample outputs:**
+**输出样例**
Nmap version 5.51 ( http://nmap.org )
-#### Scan Ports with Nmap ####
+#### 用 Nmap 扫描端口 ####
-You can got a lot of information about your server or host using nmap and it let you to think like someone has malicious intent.
+你可以用 nmap 来获得很多关于你的服务器的信息,它让你站在对你的网站不怀好意的人的角度看你自己的网站。
-For this reason, only test it on servers that you own or in situations where you’ve notified the owners.
+因此,请仅用它测试你自己的服务器或者在行动之前通知服务器的所有者。
-The nmap creators actually provide a test server located at:
+nmap 的作者提供了一个测试服务器:
scanme.nmap.org
-Some commands may take a long while to complete:
+有些命令可能会耗时较长:
-To scan an IP address or a host name (FQDN), run:
+要扫描一个 IP 地址或者一个主机名(全称域名),运行:
nmap 192.168.1.1
-Sample outputs:
+输出样例:
![Fig.01: nmap in action](http://s0.cyberciti.org/uploads/faq/2012/11/redhat-nmap-command-output.png)
-Scan for the host operating system:
+扫描以获得主机的操作系统:
sudo nmap -O 192.168.1.1
-pecify a range with “-” or “/24″ to scan a number of hosts at once:
+加上“-”或者“/24”来一次性扫描某个范围里面的多个主机:
sudo nmap -PN xxx.xxx.xxx.xxx-yyy
-Scan a network range for available services:
+扫描某个范围内可用的服务:
sudo nmap -sP network_address_range
-Scan without preforming a reverse DNS lookup on the IP address specified. This should speed up your results in most cases:
+扫描 IP 地址时部进行反向 DNS 解析。多数情况下这会加快你获得结果的速度:
sudo nmap -n remote_host
-Scan a specific port instead of all common ports:
+扫描一个特定端口而不是所有常用端口:
sudo nmap -p port_number remote_host
-Scan a network and find out which servers and devices are up and running
+扫描一个网络,找出那些服务器在线,分别运行了什么服务
-This is known as host discovery or ping scan:
+这就是传说中的主机探索或者 ping 扫描:
nmap -sP 192.168.1.0/24
-Sample outputs:
+输出样例:
Host 192.168.1.1 is up (0.00035s latency).
MAC Address: BC:AE:C5:C3:16:93 (Unknown)
@@ -293,25 +294,25 @@ Sample outputs:
MAC Address: 00:11:32:11:15:FC (Synology Incorporated)
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.80 second
-Understanding port configuration and how to discover what the attack vectors are on your server is only one step to securing your information and your VPS.
+理解端口配置和如何发现你的服务器上的攻击的载体只是确保你的信息和你的 VPS 安全的第一步。
-### Nikto to Scan for vulnerabilities in your website ###
+### 用 Nikto 扫描你网站的缺陷 ###
-[Nikto][4] Web-scanner is a open source web-server scanner which can be used to scan the web-servers for malicious programs and files. Nikto can be used to scan the outdated versions of programs too. Nikto will provide us a quick and easy scan to find out the dangerous files and programs in server, At the end of scan result with a log file.
+[Nikto][4] 网络扫描器是一个开源的 web 服务器的扫描软件,它可以用来扫描 web 服务器上的恶意的程序和文件。Nikto 也可一用来检查软件版本是否过期。Nikto 能进行简单而快速地扫描以发现服务器上危险的文件和程序。扫描结束后会给出一个日志文件。`
-### Download and install Nikto on Linux server ###
+### 在 Linux 服务器上下载和安装 Nikto ###
-Perl is pre-installed in linux so all you need to do is download nikto from the [project page][5], unpack it into a directory and start your testing.
+Perl 在 Linux 上是预先安装好的,所以你只需要从[项目页面][5]下载 nikto ,解压到一个目录里面,然后开始测试。
wget https://cirt.net/nikto/nikto-2.1.4.tar.gz
-You can unpack it with an archive manager tool or use tar and gzip together with this command.
+你可以用某个归档管理工具或者用下面这个命令,同时使用 tar 和 gzip 。
tar zxvf nikto-2.1.4.tar.gz
cd nikto-2.1.4
perl nikto.pl
-This should be your results from a working installation:
+安装正确的话会得到这样的结果:
- ***** SSL support not available (see docs for SSL install) *****
- Nikto v2.1.4
@@ -348,27 +349,27 @@ This should be your results from a working installation:
Note: This is the short help output. Use -H for full help.
-The error is merely telling us we did not fill in the necessary parameters for a test to run. The SSL support can be enabled by installing the necessary perl ssl module (sudo apt-get install libnet-ssleay-perl).
+这个报错只是告诉我们没有给出必要的参数。SSL 支持可以通过安装相关的 perl ssl 模块得到(sudo apt-get install libnet-ssleay-perl)。
-#### Update the nikto Database ####
+#### 更新 nikto 数据库 ####
-Before performing any scan we need to update the nikto database packages using.
+在开始使用之前我们需要先更新 nikto 数据库:
/usr/local/bin/nikto.pl -update
-To list the available Plugins for nikto we can use the below command.
+下面的命令可以列出可用的 nikto 插件。
nikto.pl -list-plugins // To list the installed plugins //
-#### Scan for vulnerabilities ####
+#### 扫描以寻找缺陷 ####
-For a simple test for we will use test a single url.
+我们用一个 url 来在做个简单的测试。
perl nikto.pl -h http://www.host-name.com
-**Sample outputs:**
+**输出样例**
-This will produce fairly verbose output that may be somewhat confusing at first. Take the time to read through the output to understand what each advisory means. Many of the alerts in Nikto will refer to OSVDB numbers. These are Open Source Vulnerability Database ([http://osvdb.org/][6]) designations. You can search on OSVDB for further information about any vulnerabilities identified.
+会有十分冗长的输出,可能一开始会让人感到困惑。许多 Nikto 的警报会返回 OSVDB 序号。这是开源缺陷数据库([http://osvdb.org/][6])的意思。你可以在 OSVDB 上找出相关缺陷的深入说明。
$ nikto -h http://www.host-name.com
- Nikto v2.1.4
@@ -399,18 +400,18 @@ This will produce fairly verbose output that may be somewhat confusing at first.
+ 1 host(s) tested
$
-**Nikto** is an extremely lightweight, and versatile tool. Because of the fact that Nikto is written in Perl it can be run on almost any host operating system.
+**Nikto** 是一个非常轻量级的通用工具。因为 Nikto 是用 Perl 写的,所以它可以在几乎任何服务器的操作系统上运行。
-Hope this will will bring you a good idea to scan vulnerbalites for your wordpress website. Following on from my previous article [How To Secure WordPress Website][7] show you **checklist** allows you to secure your WordPress site with as little effort as possible.
+希望这篇文章能在你找你的 wordpress 站点的缺陷的时候给你一些提示。我之前的文章[怎样保护 WordPress 站点][7]记录了一个**清单**,可以让你保护你的 WordPress 站点的工作变得更简单。
-If you have any feedback or comments, feel free to post them in the comment section below.
+有想说的,留下你的评论。
--------------------------------------------------------------------------------
via: http://www.unixmen.com/scan-check-wordpress-website-security-using-wpscan-nmap-nikto/
作者:[anismaj][a]
-译者:[译者ID](https://github.com/译者ID)
+译者:[boredivan](https://github.com/boredivan)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
diff --git a/translated/tech/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md b/translated/tech/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md
new file mode 100644
index 0000000000..c5920123c6
--- /dev/null
+++ b/translated/tech/20150331 Linux Email App Geary Updated--How To Install It In Ubuntu.md
@@ -0,0 +1,70 @@
+Linux Email应用 Geary 更新了 — 如何在Ubuntu上安装
+================================================================================
+**Geary,Linux上流行的桌面email客户端,更新到版本0.10了 — 并且有了很多新的功能。**
+
+![elementary OS上运行的旧版本的Geary](http://www.omgubuntu.co.uk/wp-content/uploads/2015/01/geary.jpg)
+elementary OS上运行的旧版本的Geary
+
+Geary 0.10有一些可惜的用户界面改进以及额外的UI选项,包括:
+
+- 新增: 可以对归档,删除以及移动做'Undo'操作
+- 新增: 在2列或者2列布局之间切换
+- 新的 “split header bar” — 改进邮件列表,发件人布局
+- 新的快捷键 — 使用j/k切换到上/下一封邮件
+
+根据Yorba介绍,这次更新还提出了一个 **全新的全文检索算法** ,用来改进Geary的搜索体验。
+
+这个更新应该能平息一下对应用搜索能力的抱怨,那些经常觉得Geary返回的搜索结果仅仅是包装软件自身"看起来和查询语句毫不相关"的观点。
+
+> ‘Yorba 建议所有这个软件客户端的用户升级到这个版本’
+
+*“尽管并不是所有的搜索问题在0.10版本中都解决了,但Geary能确保显示的结果能和更好的匹配用户的查询,”[团队表示][1]。*
+
+最后同样重要的是,专业用户会喜欢的主要功能:**支持一个账户有多个或者备用的email地址**。
+
+如果你在Geary中设置Gmail账户来收取你的Yahoo,Outlook和KittyMail信件,你可以看到现在它们都整齐地放在一起,当你写信时在'From'栏你可以选择指定账户作为发送人。这并不是最重要,但是却是最经常被人要求的的功能。
+
+这个流行的Linux电子邮件客户端的这次发布主要是bug修复,性能优化以及一些杂项改进。
+
+Yorba建议所有这个客户端的用户都升级到这个发行版。
+
+### 在Ubuntu 14.04, 14.10 & 15.04安装Geary 0.10 ###
+
+![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/09/geary-inline-composor.jpg)
+
+Yorba的最新版本可以从GNOME的Git账户下载可编译的源代码。但说实话:这不是有点麻烦吗?
+
+Ubuntu用户想知道如何在 **14.04,14.10** 以及 **15.04**(那些更新爱好者) 上安装Geary 0.10。
+
+官方的Youba PPA包括了 **Geary最新版本** 以及Shotwell(照片管理器)和[California][2](日历应用)。请注意添加这个PPA会使你电脑上任何已经安装的这些应用更新到最近的版本。
+
+Capiche? Coolio.
+
+在Ubuntu上安装Geary你首先需要添加Yorba PPA和你的软件源。做这些你只需要打开终端窗口并小心地输入下面的两条命令:
+
+ sudo add-apt-repository ppa:yorba/ppa
+
+ sudo apt-get update && sudo apt-get install geary
+
+在输入最后一条命令并敲击回车键后会提示输入你的密码。输入密码让安装完成。
+
+![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/04/20130320161830-geary-yorba.png)
+
+完成后,打开你的桌面环境应用启动面板并查找‘Geary’图标。点击它,添加你的账户并查看[通过信息高速公路下载了什么][3],开始使用简单的图形界面吧。
+
+**别忘记:你可以通过电子邮件告诉我们你想看的新闻,应用建议,以及任何你想我们包括的东西,直接点击joey@oho.io**
+
+--------------------------------------------------------------------------------
+
+via: http://www.omgubuntu.co.uk/2015/03/install-geary-ubuntu-linux-email-update
+
+作者:[Joey-Elijah Sneddon][a]
+译者:[ictlyh](https://github.com/ictlyh)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:https://plus.google.com/117485690627814051450/?rel=author
+[1]:https://wiki.gnome.org/Apps/Geary/FullTextSearchStrategy
+[2]:http://www.omgubuntu.co.uk/2014/10/california-calendar-natural-language-parser
+[3]:https://www.youtube.com/watch?v=rxM8C71GB8w
\ No newline at end of file
diff --git a/translated/tech/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md b/translated/tech/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md
new file mode 100644
index 0000000000..631c1992c6
--- /dev/null
+++ b/translated/tech/20150407 5 Linux Command Line Based Tools for Downloading Files and Browsing Websites.md
@@ -0,0 +1,156 @@
+5个基于Linux命令行的文件下载和网站浏览工具
+================================================================================
+GNU/Linux最冒险迷人的部分,Linux命令行,是非常强大的工具。命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大。Linux Shell支持多种不同类型的网络应用,无论是BT下载软件,专用下载器或者互联网冲浪。
+
+![命令行互联网工具](http://www.tecmint.com/wp-content/uploads/2014/02/Command-Line-Internet-Tools.jpg)
+5个命令行互联网工具
+
+这里我们介绍了5个很好的命令行互联网工具,它们非常有用,也很容易上手。
+
+### 1. rTorrent ###
+
+rTorrent是基于文本,用C++编写,追求高性能的Torrent客户端。支持大部分标准的Linux发行版,包括FreeBSD和Mac OS X。
+
+#### 安装rTorrent ####
+
+ # apt-get install rtorrent (基于 APT 的系统)
+
+----------
+
+ # yum install rtorrent (基于 YUM 的系统)
+
+在终端中用下面的命令检查rtorrent是否正确安装
+
+ # rtorrent
+
+![命令行torrent下载器](http://www.tecmint.com/wp-content/uploads/2014/02/rTorrent.jpeg)
+rTorrent命令行工具
+
+#### rTorrent的功能 ####
+
+一些有用的快捷键和使用方法
+
+- CTRL+ q – 退出rTorrent应用程序
+- CTRL+ s – 开始下载
+- CTRL+ d – 停止运行中的下载或者移除已完成的下载
+- CTRL+ k – 停止并关闭运行中的下载
+- CTRL+ r – 在上传/下载torrent之前进行Hash检查
+- CTRL+ q – 执行两次这个命令,rTorrent会直接退出而不发送停止信号
+- Left Arrow Key – 跳到上一屏幕
+- Right Arrow Key – 跳到下一屏幕
+
+### 2. Wget ###
+
+Wget是GNU项目的一部分,名字由World Wide Web (WWW)衍生而来。Wget是用来递归下载,离线查看本地服务器HTML文件一个很好的工具,它可用于Windows, Max,以及Linux等大部分平台。Wget能通过HTTP,HTTPS和FTP下载文件。另外,能镜像整个网站,支持代理浏览以及暂停/回复下载使得它更为有用。
+
+#### 安装Wget ####
+
+由于是GNE项目的一部分,Wget在大部分标准Linux发行版中都绑定发布,不再需要独立下载安装。如果默认没有安装,你也可以使用apt或者yum安装。
+
+ # apt-get install wget (基于 APT 的系统)
+
+----------
+
+ # yum install wget (基于 YUM 的系统)
+
+#### Wget的一些基本用法 ####
+
+使用wget下载一个单独的文件.
+
+ # wget http://www.website-name.com/file
+
+递归下载整个网站.
+
+ # wget -r http://www.website-name.com
+
+从一个网站下载指定类型的文件(例如 pdf 和 png).
+
+ # wget -r -A png,pdf http://www.website-name.com
+
+Wget是一个很棒的工具,它允许在资源有限的机器上自定义或者过滤下载。这是镜像一个网站(Yahoo.com)的wget下载截图。
+
+![Wget 下载文件](http://www.tecmint.com/wp-content/uploads/2014/02/Wget.jpeg)
+Wget 命令行文件下载
+
+要获取更多wget下载的例子,可以阅读我们的文章[10个Wget下载命令例子][1]。
+
+### 3. cURL ###
+
+cURL是在多种协议上传输数据的命令行工具。cURL是支持FTP, HTTP, FTPS, TFTP, TELNET, IMAP, POP3等协议的客户端应用。和其它相对比,在支持LDAP,POP3方面,cURL是和wget不同的简单下载器。cURL也很好的支持代理下载,暂停下载以及恢复下载。
+
+#### 安装cURL ####
+
+在软件仓库或者已安装软件中,cURL在大部分发行版中默认是可用的。如果没有安装,运行apt或者yum从软件仓库中获取需要的安装包。
+
+ # apt-get install curl (基于 APT 的系统)
+
+----------
+
+ # yum install curl (基于 YUM 的系统)
+
+cURL的基本使用方法
+
+ # curl www.tecmint.com
+
+![Curl 下载](http://www.tecmint.com/wp-content/uploads/2014/02/Curl.jpeg)
+Curl 下载数据
+
+![Curl 下载数据](http://www.tecmint.com/wp-content/uploads/2014/02/Curl-2.jpeg)
+Curl 下载
+
+### 4. w3m ###
+
+W3m是GPL协议下发布的基于文本的web浏览器。W3m支持表格,帧,颜色,SSL连接以及内联图像。W3m由于快速浏览而出名。
+
+#### 安装w3m ####
+
+W3m在大部分Linux发行版中也是默认可用的。如果不可用的话可以用apt或者yum获取需要的安装包。
+
+ # apt-get install w3m (基于 APT 的系统)
+
+----------
+
+ # yum install w3m (基于 YUM 的系统)
+
+#### w3m的基本使用方法 ####
+
+ # w3m www.tecmint.com
+
+![命令行浏览器](http://www.tecmint.com/wp-content/uploads/2014/02/w3m.jpeg)
+基于文本的web浏览器w3m
+
+### 5. Elinks ###
+
+Elinks是基于文本,给基于Unix和基于Unix的系统使用的免费web浏览器。Elinks支持 HTTP,HTTP Cookies以及支持浏览Pery和Ruby脚本。也很好的支持基于标签的浏览。最棒的是它支持鼠标,颜色显示以及支持一系列的协议,例如HTTP, FTP, SMB, Ipv4 和 Ipv6。
+
+#### 安装Elinks ####
+
+Elinks在大部分Linux发行版上是默认可用的。如果不是的话,可以通过apt或者yum安装。
+
+ # apt-get install elinks (基于 APT 的系统)
+
+----------
+
+ # yum install elinks (基于 YUM 的系统)
+
+Elinks的基本使用方法
+
+ # elinks www.tecmint.com
+
+![命令行互联网浏览](http://www.tecmint.com/wp-content/uploads/2014/02/Elinks.jpeg)
+Elinks命令行浏览互联网
+
+就是这些了。有你们喜欢读的有趣的文章,我会再次来到这里。到那时尽请关注并保持和Tecmint的联系,别忘了在评论部分给我们你的宝贵的反馈。
+
+--------------------------------------------------------------------------------
+
+via: http://www.tecmint.com/linux-command-line-tools-for-downloading-files/
+
+作者:[Avishek Kumar][a]
+译者:[ictlyh](https://github.com/ictlyh)
+校对:[校对者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/10-wget-command-examples-in-linux/
\ No newline at end of file
diff --git a/translated/tech/20150407 How To Install CentOS Web Panel In CentOS.md b/translated/tech/20150407 How To Install CentOS Web Panel In CentOS.md
new file mode 100644
index 0000000000..b3d5e2588f
--- /dev/null
+++ b/translated/tech/20150407 How To Install CentOS Web Panel In CentOS.md
@@ -0,0 +1,326 @@
+如何在CentOS上面安装CentOS网页面板
+===========================================================================
+![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/04/centos-790x427.jpg)
+
+### 关于CentOS网页面板 ###
+
+目前有很多免费的或者付费的控制面板。今天,我们来讨论[CentOS网页面板(CWP)][1],这是特别为基于如CentOS,RHEL,科研用Linux系统等发行版的RPM设计的。**CWP** 是免费且开源的控制面板,可以被广泛用于简单地配置一个网页集群环境。不同于其他的控制面板,CWP是自动用高速缓存来配置LAMP的栈区。
+
+### 特性 ###
+
+CWP有很多的特性和免费的服务。如我前面提到的一样,CWP自动在你的服务器上安装全套LAMP服务(apache,php,phpmyadmin,webmail,mailserver等等)。
+
+### CWP安装过程中会安装和配置的软件列表 ###
+
+- Apache Web Server
+- PHP 5.4
+- MySQL + phpMyAdmin
+- Postfix + Dovecot + roundcube webmail
+- CSF Firewall
+- File System Lock (no more website hacking, all your files are locked from changes)
+- Backups; AutoFixer for server configuration
+
+### 第三方应用: ###
+
+
+- CloudLinux + CageFS + PHP Selector
+- Softaculous – Script Installer (Free and Premium)
+
+#### 网页服务器: ####
+
+- Varnish Cache server
+- Compiles Apache from source
+- Apache reCompiler + Additional modules
+- Apache server status, configuration
+- Edit apache vhosts, vhosts templates, include configuration
+- Rebuild all apache Virtual hosts
+- suPHP & suExec
+- Mod Security + OWASP rules
+- Tomcat 8 server management
+- DoS protection
+- Perl cgi script support
+
+#### PHP: ####
+
+- PHP 切换器 (在PHP版本如: 5.2, 5.3, 5.4, 5.5之间切换)
+- PHP选择器选择每个用户或者每个文件的PHP版本(PHP 4.4, 5.2, 5.3, 5.4, 5.5, 5.6)
+- 简单的php编辑软件
+- 在用户面板下简单的php.ini生成器
+- PHP 插件
+- PHP.ini editor & PHP info & List modules
+- 每个帐号一个php.ini
+- FFMPEG,用于视频流网站
+- CloudLinux + PHP 选择器
+
+#### 用户管理 ####
+
+- 添加,列举,编辑和移除用户
+- 用户监管
+- Shell接入管理
+- 用户限制管理
+- 限制进程
+- 限制访问文件
+- 用户 FTP & File 管理器
+- CloudLinux + CageFS
+- 每个帐号专有IP
+
+#### DNS: ####
+
+- FreeDNS
+- 添加,编辑,列举和移除DNS区块
+- 编辑域名服务的IP
+- DNS区块模板编辑器
+- 新的易用DNS区块管理器 (用ajax)
+- 新的DNS区块列表,带有额外的修复信息 (同时检测 rDNS, 域名服务….)
+
+#### Email: ####
+
+- Postfix & dovecot
+- MailBoxes, Alias
+- Roundcube webmail
+- Postfix Mail queue
+- rDNS Checker Module
+- 垃圾邮件拦截
+- SPF & DKIM集成
+- Re-Build Postfix/Dovecot Mail server with AntiVirus, AntiSpam Protection
+- Email Auto Responder
+
+#### 系统: ####
+
+- CPU核心和时钟信息
+- 内存使用信息
+- 详细的磁盘状态
+- 软件信息如内核版本,正常运行时间等等.
+- 服务器状态
+- 检查配置管理
+- 网络端口使用
+- 网络配置
+- SSHD配置
+- 自动修复(检查重要的配置并尝试自动修复问题)
+
+#### 监控: ####
+
+- 监控服务 eg. top, apache stats, mysql etc.
+- 在面板内使用Java SSH Terminal/Console
+- 服务器配置 (eg. Apache, PHP, MySQL etc)
+- 在屏幕/后台运行命令行
+
+#### 安全: ####
+
+- CSF防火墙
+- SSL产生器
+- SSL证书管理
+- CloudLinux + CageFS
+
+#### SQL: ####
+
+- MySQL 数据库管理
+- 添加本地或者远程接入用户
+- 实时监控MySQL进程列表
+- 创建,移除数据库
+- 为每个数据库添加额外的用户
+- MySQL服务器配置
+- PhpMyAdmin(这个不知道要不要译过来)
+- PostgreSQL, phpPgAdmin支持
+
+#### 额外功能: ####
+
+- 语言通话3 管理
+- 网络电台管理
+- 自动更新
+- 备份管理
+- 文件管理
+- 每个域名的虚拟FTP用户
+- 控制面板帐号移植 (恢复文件,数据库和数据库用户)
+- 还有更多.
+
+### 在CentOS 6上安装CentOS网页面板 ###
+
+写这篇教程的时候,CWP仅仅支持最高CentOS 6.x版本。在CentOS 7和更高的版本中是行不通的。
+
+#### 前期准备: ####
+
+**安装CWP之前,里必须知道以下的信息:**
+
+- CWP 仅支持静态IP地址。它并不支持动态的,固定的,或者内部的IP地址。
+- CWP 并没有卸载程序。当你安装CWP后,里必须重新安装服务器来移除它。
+- 之安装CWP在一个新装的还没做任何配置改变的操作系统上。
+- 对与32位操作系统至少需要512MB RAM。
+- 64位系统需要1024MB RAM。
+- 要求至少20GB的硬盘空间。
+
+如果是在VirtualBox上面测试,640MB RAM和10GB磁盘空间就足够了。
+
+#### 更新服务器: ####
+
+首先安装wget包,这是下载CWP需要的。
+
+ yum install wget -y
+
+使用命令更新你的服务器:
+
+ yum update -y
+
+重启一次,激活更新。
+
+#### 安装CWP: ####
+
+进入**/usr/local/src/**目录:
+
+ cd /usr/local/src
+
+使用命令下载最新的CWP版本:
+
+ wget http://centos-webpanle.com/cwp-latest
+
+如果上面的URL出现错误,用下面的链接代替。
+
+ wget http://dll.centos-webpanle.com/files/cwp-latest
+
+然后,用命令开始安装CWP:
+
+ sh cwp-latest
+
+**样例输出:**
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/root@server-usr-local-src_001.png)
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/root@server-usr-local-src_002.png)
+
+安装过程会持续到30分钟或者更多,取决于你的网速。
+
+最后,你会看到如下安装完成的信息。
+记下一些详细信息,如mysql超级用户密码和CWP的登录URLs。你随后会需要。然后,按下回车Enter重启系统。
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/root@server-usr-local-src_004.png)
+
+重启进入系统后,你会看见CWP的欢迎登录信息。
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/CentOS-6.5-Minimal-Running-Oracle-VM-VirtualBox_006.png)
+
+#### 调整防火墙/路由: ####
+
+CWP的默认网络控制接口是**2030(http)**和**2031(https)**。你应该通过防火墙/路由允许使用这两个端口,以便远程接入CWP网络控制台。
+
+编辑iptables文件:
+
+ vi /etc/sysconfig/iptables
+
+添加如下的内容:
+
+ [...]
+ -A INPUT -p tcp -m state --state NEW -m tcp --dport 2030 -j ACCEPT
+ -A INPUT -p tcp -m state --state NEW -m tcp --dport 2031 -j ACCEPT
+ [...]
+
+保存并关掉文件。更新iptables服务使改变生效。
+
+ service iptables restart
+
+### 进入CWP网络控制台 ###
+
+打开你的浏览器,键入:
+
+**http://IP-Address:2030/**
+
+或
+
+**https://IP-Address:2031/**
+
+你会看到类似下面的屏幕。
+
+登录认证:
+
+- **Username**:root
+- **Password**:你的root密码
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/Login-CentOS-WebPanel-Mozilla-Firefox_007.png)
+
+恭喜你!CWP已经安装成功了。
+
+### CWP基本的配置 ###
+
+接下来,我们得做一些事,比如:
+
+1.建立域名服务
+1.建立ip共享(必须是你的公共IP地址)
+1.建立至少一个集合包(或者编辑默认的包)
+1.建立root电子邮件,等等。
+
+#### 建立域名服务: ####
+
+为建立域名服务,找到**DNS Functions -> Edit nameservers IPs**。
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_009.png)
+
+设置你的域名服务器,点击保存按钮。
+
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_010.png)
+
+#### 建立共享IP和Root邮箱ID: ####
+
+在你的主机上管理网站,这是非常重要的一步。为了建立共享IP,进入**CWP Setting -> Edit settings**。
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_011.png)
+
+输入你的静态IP和邮箱ID,然后点击保存设置按钮。
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_012.png)
+
+现在,CWP可以进行网站维护了。
+
+#### 建立主机包 ####
+
+一个主机包什么都没有,除了一个网站托管计划,包括允许访问的磁盘空间,带宽,但没有FTP帐号,邮箱IDs和数据库等等。你可以建立任意数量的网站托管计划,只要你喜欢。
+
+添加一个包,从CWP的控制台进入**Packages — Add a Package**
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_013.png)
+
+输入包的名字,允许访问的磁盘配额/RAM数量,FTP/Email帐号,数据库和子域名等等。点击保持设置按钮,建立一个网站托管计划。
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_014.png)
+
+现在,CWP可以管理你的域名了。
+
+#### 添加域名: ####
+
+创建新的域名,你至少得有一个用户帐号。
+
+而添加一个用户,请进入**User Account -> New Account**。
+
+输入域名(ex.unixmen.com),用户名,密码和邮箱id等等。最后,点击**Create**。
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_016.png)
+
+现在,我们添加一个新的域名。
+
+进入**Domains -> Add Domain**。
+
+输入新的域名,并且指定这个域名与用户名关联。
+
+![](http://www.unixmen.com/wp-content/uploads/2015/04/CWP.admin-Mozilla-Firefox_017.png)
+
+### 总结 ###
+
+在这篇教程中,我们看到了如何安装和配置CentOS网页面板,来创建一个简单的网站主机环境。CWP安装和使用非常简单。甚至一个菜鸟也可以在几个小时内建立一个基本的网站主机服务器。并且,CWP完全免费和开源。试一试吧!你不会失望的。
+
+你可以在[CentOS Web Panel Wikipage][2]找到更多关于CWP的信息。
+
+加油!
+
+---------------------------------------------------------------------------
+
+
+via: http://www.unixmen.com/how-to-install-centos-web-panel-in-centos/
+
+作者:[SK][a]
+译者:[wi-cuckoo](https://github.com/wi-cuckoo)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:http://www.unixmen.com/author/sk/
+[1]:http://centos-webpanel.com/
+[2]:http://wiki.centos-webpanel.com/
diff --git a/translated/tech/20150410 What is a good alternative to wget or curl on Linux.md b/translated/tech/20150410 What is a good alternative to wget or curl on Linux.md
new file mode 100644
index 0000000000..caa4010661
--- /dev/null
+++ b/translated/tech/20150410 What is a good alternative to wget or curl on Linux.md
@@ -0,0 +1,145 @@
+Linux 上 wget 或 curl 的更佳替代品
+================================================================================
+如果你经常需要通过终端以非交互模式访问网络服务器(例如,从网络上下载文件,或者是测试 RESTful 网络服务接口),可能你会选择的工具是 wget 或 curl。通过大量的命令行选项,这两种工具都可以处理很多非交互网络访问的情况(比如[这里][1],[这里][2],还有[这里][3])。然而,即使像这些一样的强大的工具,也只是与你对如何使用它们的了解程度等同。除非你很精通那些又多又笨(原文是 nitty and gritty)的语法细节,这些工具对于你来说只不过是简单的网络下载器。
+
+就像宣传的那样,“为人类着想的类 curl 工具”,[HTTPie][4] 设计用来增强 wget 和 curl 的可用性。它的主要目标是使通过命令行与网络服务器进行交互的过程变得尽可能的人性化。为此,HTTPie 支持具有表现力,但又很简单很直观的语法。它以彩色模式显示响应,并且还有一些不错的优点,比如对 JSON 的良好支持,和持久性会话用以作业流程化。
+
+我知道很多人对把像 wget 和 curl 这样的无处不在的可用的完美工具换成完全没听说过的软件心存怀疑。这种观点是好的,特别是如果你是一个系统管理员、要处理很多不同的硬件的话。然而,对于开发者和终端用户来说,重要的是效率。如果我发现了一个工具的用户友好替代,我没有看到任何问题如果你采用易于使用的版本来节省你宝贵的时间。没有必要对替换掉的工具保持信仰忠诚。毕竟,对于 Linux 来说,最好的事情是可以选择。
+
+在这篇文章中,让我们来回顾并展示一下我所说的 HTTPie,一个用户友好的 wget 和 curl 的替代。
+
+![](https://farm8.staticflickr.com/7633/16849137018_bcc7a616fc_b.jpg)
+
+### 在 Linux 上安装 HTTPie ###
+
+HTTPie 是用 Python 写的,所以你可以在几乎所有地方(Linux,MacOSX,Windows)安装它。而且,在大多数的 Linux 发行版中都有编译好的安装包。
+
+#### Debian,Ubuntu 或者 Linux Mint: ####
+
+ $ sudo apt-get install httpie
+
+#### Fedora: ####
+
+ $ sudo yum install httpie
+
+#### CentOS/RHEL: ####
+
+首先,启用[EPEL 仓库][5],然后运行:
+
+ $ sudo yum install httpie
+
+对于任何 Linux 发行版,另一个安装方法时使用[pip][6]。
+
+ $ sudo pip install --upgrade httpie
+
+### HTTPie 的例子 ###
+
+当你安装完 HTTPie 后,你可以通过输入 http 命令来调用它。在这篇文章的剩余部分,我会展示几个有用的 http 命令的例子。
+
+#### 例1:定制头部 ####
+
+你可以使用 <header:value> 的格式来定制头部。例如,我们发送一个 HTTP GET 请求到 www.test.com ,使用定制用户代理(user-agent)和来源(referer),还有定制头部(比如 MyParam)。
+
+
+ $ http www.test.com User-Agent:Xmodulo/1.0 Referer:http://xmodulo.com MyParam:Foo
+
+注意到当使用 HTTP GET 方法时,你无需指定任何 HTTP 方法。
+
+这个 HTTP 请求看起来如下:
+
+ GET / HTTP/1.1
+ Host: www.test.com
+ Accept: */*
+ Referer: http://xmodulo.com
+ Accept-Encoding: gzip, deflate, compress
+ MyParam: Foo
+ User-Agent: Xmodulo/1.0
+
+#### 例2:下载文件 ####
+
+你可以把 http 作为文件下载器来使用。你需要像下面一样把输出重定向到文件。
+
+ $ http www.test.com/my_file.zip > my_file.zip
+
+或者:
+
+ $ http --download www.test.com/my_file.zip
+
+#### 例3:定制 HTTP 方法 ####
+
+除了默认的 GET 方法,你还可以使用其他方法(比如 PUT,POST,HEAD)。例如,发送一个 HTTP PUT 请求:
+
+ $ http PUT www.test.com name='Dan Nanni' email=dan@email.com
+
+#### 例4:提交表单 ####
+
+使用 http 命令提交表单很容易,如下:
+
+ $ http -f POST www.test.com name='Dan Nanni' comment='Hi there'
+
+'-f' 选项使 http 命令序列化数据字段,并将 'Content-Type' 设置为 "application/x-www-form-urlencoded; charset=utf-8"。
+
+这个 HTTP POST 请求看起来如下:
+
+ POST / HTTP/1.1
+ Host: www.test.com
+ Content-Length: 31
+ Content-Type: application/x-www-form-urlencoded; charset=utf-8
+ Accept-Encoding: gzip, deflate, compress
+ Accept: */*
+ User-Agent: HTTPie/0.8.0
+
+ name=Dan+Nanni&comment=Hi+there
+
+####例5:JSON 支持
+
+HTTPie 内置 JSON(一种日渐普及的数据交换格式)支持。事实上,HTTPie 默认使用的内容类型(content-type)就是 JSON。因此,当你不指定内容类型发送数据字段时,它们会自动序列化为 JSON 对象。
+
+ $ http POST www.test.com name='Dan Nanni' comment='Hi there'
+
+这个 HTTP POST 请求看起来如下:
+
+ POST / HTTP/1.1
+ Host: www.test.com
+ Content-Length: 44
+ Content-Type: application/json; charset=utf-8
+ Accept-Encoding: gzip, deflate, compress
+ Accept: application/json
+ User-Agent: HTTPie/0.8.0
+
+ {"name": "Dan Nanni", "comment": "Hi there"}
+
+#### 例6:输出重定向 ####
+
+HTTPie 的另外一个用户友好特性是输入重定向,你可以使用缓冲数据提供 HTTP 请求内容。例如:
+
+ $ http POST api.test.com/db/lookup < my_info.json
+
+或者:
+
+ $ echo '{"name": "Dan Nanni"}' | http POST api.test.com/db/lookup
+
+### 结束语 ###
+
+在这篇文章中,我介绍了 HTTPie,一个 wget 和 curl 的可能替代工具。除了这里展示的几个简单的例子,你可以在[官方网站][7]上找到 HTTPie 的很多有趣的应用。再次重复一遍,一款强大的工具也只相当于你对它的了解程度。从个人而言,我更热衷于 HTTPie,因为我在寻找一种更简洁的测试复杂网络接口的方法。
+
+你怎么看?
+
+--------------------------------------------------------------------------------
+
+via: http://xmodulo.com/wget-curl-alternative-linux.html
+
+作者:[Dan Nanni][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/nanni
+[1]:http://xmodulo.com/how-to-download-multiple-files-with-wget.html
+[2]:http://xmodulo.com/how-to-use-custom-http-headers-with-wget.html
+[3]:http://ask.xmodulo.com/custom-http-header-curl.html
+[4]:https://github.com/jakubroztocil/httpie
+[5]:http://xmodulo.com/how-to-set-up-epel-repository-on-centos.html
+[6]:http://ask.xmodulo.com/install-pip-linux.html
+[7]:https://github.com/jakubroztocil/httpie
diff --git a/translated/tech/20150413 Linux FAQs with Answers--How to change PATH environment variable on Linux.md b/translated/tech/20150413 Linux FAQs with Answers--How to change PATH environment variable on Linux.md
new file mode 100644
index 0000000000..5cc7a17bd2
--- /dev/null
+++ b/translated/tech/20150413 Linux FAQs with Answers--How to change PATH environment variable on Linux.md
@@ -0,0 +1,73 @@
+Linux有问必答--如何在Linux中修改环境变量PATH
+================================================================================
+> **提问**: 当我试着运行一个程序时,它提示“command not found”。 但这个程序就在/usr/local/bin下。我该如何添加/usr/local/bin到我的PATH变量下,这样我就可以不用指定路径来运行这个命令了。
+
+在Linux中,PATH环境变量保存了一系列的目录用于用户在输入的时候搜索命令。PATH变量的值由一系列的由分号分隔的绝对路径组成。每个用户都有特定的PATH环境变量(由系统级的PATH变量初始化)。
+
+要检查用户的环境变量,用户模式下运行下面的命令:
+
+ $ echo $PATH
+
+----------
+
+ /usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/sbin:/sbin:/home/xmodulo/bin
+
+或者运行:
+
+ $ env | grep PATH
+
+----------
+
+ PATH=/usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/sbin:/sbin:/home/xmodulo/bin
+
+如果你的命令不存在于上面任何一个目录内,shell就会抛出一个错误信息:“command not found”。
+
+如果你想要添加一个另外的目录(比如:/usr/local/bin)到你的PATH变量中,你可以用下面这些命令。
+
+### 为特定用户修改PATH环境变量 ###
+
+如果你只想在当前的登录会话中临时地添加一个新的目录(比如:/usr/local/bin)给用户的默认搜索路径,你只需要输入下面的命令。
+
+ $ PATH=$PATH:/usr/local/bin
+
+检查PATH是否已经更新:
+
+ $ echo $PATH
+
+----------
+
+ /usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/sbin:/sbin:/home/xmodulo/bin:/usr/local/bin
+
+更新的PATH会在当前的PATH一直有效。然而,更改将在新的会话中失效。
+
+如果你想要永久更改PATH变量,用编辑器打开~/.bashrc (或者 ~/.bash_profile),接着在最后添加下面这行。
+
+ export PATH=$PATH:/usr/local/bin
+
+接着运行下面这行永久激活更改:
+
+ $ source ~/.bashrc (or source ~/.bash_profile)
+
+### 改变系统级的环境变量 ###
+
+如果你想要永久添加/usr/local/bin到系统级的PATH变量中,像下面这样编辑/etc/profile。
+
+ $ sudo vi /etc/profile
+
+----------
+
+ export PATH=$PATH:/usr/local/bin
+
+你重新登录后,更新的环境变量就会生效了。
+
+--------------------------------------------------------------------------------
+
+via: http://ask.xmodulo.com/change-path-environment-variable-linux.html
+
+作者:[Dan Nanni][a]
+译者:[geekpi](https://github.com/geekpi)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:http://ask.xmodulo.com/author/nanni
diff --git a/translated/tech/20150413 [Solved] Ubuntu Does Not Remember Brightness Settings.md b/translated/tech/20150413 [Solved] Ubuntu Does Not Remember Brightness Settings.md
new file mode 100644
index 0000000000..5cd7abadaa
--- /dev/null
+++ b/translated/tech/20150413 [Solved] Ubuntu Does Not Remember Brightness Settings.md
@@ -0,0 +1,32 @@
+[已解决] Ubuntu下不能记住亮度设置问题
+================================================================================
+![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/04/Fix_Ubuntu_Brightness_Issue.jpg)
+
+在[解决亮度控制在Ubuntu和Linux Mint下不工作的问题][1]这篇教程里,一些用户提到虽然问题已经得到解决,但是**Ubuntu无法记住亮度设置**,同样的情况在Linux Mint下也会发生。每次开机或从睡眠状态下唤醒,亮度会恢复至最大值或最小值。我知道这种情况很烦。不过幸好我们有很简单的方法来解决**Ubuntu和Linux Mint下的亮度问题**。
+
+### 解决Ubuntu和Linux下不能记住亮度设置 ###
+
+[Norbert][2]写了一个脚本,能让Ubuntu和Linux Mint记住亮度设置,不论是开机还是唤醒之后。为了能让你使用这个脚本更简单方便,他把这个适用于Ubuntu 12.04、14.04和14.10的PPA挂在了网上。你需要做的就是输入以下命令:
+
+ sudo add-apt-repository ppa:nrbrtx/sysvinit-backlight
+ sudo apt-get update
+ sudo apt-get install sysvinit-backlight
+
+安装好之后,重启你的系统。现在就来看看亮度设置有没有被保存下来吧。
+
+希望这篇小贴士能帮助到你。如果你有任何问题,就[来这儿][3]提bug吧。
+
+--------------------------------------------------------------------------------
+
+via: http://itsfoss.com/ubuntu-mint-brightness-settings/
+
+作者:[Abhishek][a]
+译者:[ZTinoZ](https://github.com/ZTinoZ)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:http://itsfoss.com/author/abhishek/
+[1]:http://itsfoss.com/fix-brightness-ubuntu-1310/
+[2]:https://launchpad.net/~nrbrtx/+archive/ubuntu/sysvinit-backlight/+packages
+[3]:https://launchpad.net/~nrbrtx/+archive/ubuntu/sysvinit-backlight/+packages