Merge pull request #4 from LCTT/master

更新 20150412
This commit is contained in:
Chang Liu 2015-04-12 09:54:19 +08:00
commit f7e1390e6e
49 changed files with 3537 additions and 1380 deletions

151
Dict.md Normal file
View File

@ -0,0 +1,151 @@
<img src="https://avatars3.githubusercontent.com/u/5432002?v=3&s=200" align="right" width="100" height="100"></img>
<font face='黑体' size=6><b><center>Linux中国术语词典</center></b></font>
<br />
<font face='微软雅黑' size=3><b><center>[Linux中国](http://www.linux.cn)出品</center></b></font>
****************************************************
****************************************************
<font face='微软雅黑'><b>本词典为规范Linux中国翻译组LCTT技术术语翻译而编写同时也方便广大翻译志愿者查阅。限于编写者的水平其中可能有不完善或疏漏的地方希望广大翻译志愿者不吝指正。同时希望广大翻译志愿者能提供相关术语的翻译供大家参考。另外若在翻译过程中对某些术语有疑虑可在我们的QQ专门群中进行讨论。在此谨代表LCTT感谢各位志愿者的辛勤劳动和无私奉献。</b></font>
<font face='微软雅黑' size=3><b><p align='right'>LCTT翻译组</p></b></font>
****************************************************
#### A ####
### 1. APM高级电源管理
### 2.
#### B ####
### 1. Backbone骨干
>是一个网络的一部分,其作为所有网络运输的一个基本通道,其需要非常高的带宽。一个骨干网络的服务提供者连接许多企业子网和较小服务提供者的网络。一个企业骨干网络连接许多局域网和数据中心。
### 2. B channel(Bearer channel):承载信道
>承载信道Bearer Channel也叫做B channel是一个全双工DS0时间槽64-kbps其携带模拟语音或数字资料通过综合服务数字网ISDN
### 3. Backchannel反向通道
>是指当其他实时在线会话在进行中时,习惯使用网络化的计算机来维持一个实时的在线会话。
### 4. Back End后台
>在一个计算机系统中,是指为一个前台作业提供服务的一个节点或软件程序。前台直接影响用户,后台可能与其他系统相连接,如数据库和其它系统。
### 5. Back-haul回程线路
>是一个通信信道,它使携带信息流到远于最终目的地的地方,然后将它送回。这样做是因为传输到更远的远程区域的代价要远比直接发送的代价低地多。
### 6. Backoff退避
>是指当一个主机已经在有MAC 协议的网络中经历了一个冲突之后试图去重发之前的等待时期。这个退避时间通常是任意的来最小化相同节点再次冲突的可能性。在每次冲突后增加退避时期也能帮助预防重复碰撞特别当这个网络负担很重时。
### 7. Backplane附加卡
>在许多网络中是一个物理接口模块,例如,连接在一个界面处理器或卡和在一个总线机箱内数据总线和功率分配总线之间的一个路由器或转换器。
### 8. Back Pressure背压
>在计算机系统中是指网络拥塞信息逆流通过一个Internet网络。
### 9. Balun(balanced-unbalanced):不平衡变压器
>意味着平衡-非平衡。不平衡变压器是一个设计用来转换平衡和不平衡之间的电信号的设备。
### 10. Baseband基带
>是一种类型的网络技术,在那里仅仅一种载波频率被使用。在一个基带网中,信息在传送介质中以数字的形式被携带在一个单一的多元信号通道中。
### 11. Bastion Host防御主机
>是在内部网络和外部网络之间的一个网关,它被设计来防御针对内部网络的攻击。这个系统在非武装区(DMZ)的公共一边,不被防火墙或过滤路由器保护,它对攻击是完全暴露的。
### 12: Bc(Committed Burst):约定资讯讯务
>是一个用在帧中继系统的术语是一个帧中继交互网约定接受和传输和通过一个帧中继网络数据链路控制DLC和一个特殊的时帧的最大数据量用比特表示
### 13. BCP(Best Current Practices):最优现行方法
>是副系列的IETF RFCs其被用于描述在Internet上的最优配置技术。
### 14. BCU(Balanced Configuration Unit):平衡配置单元
>是一个综合的IBM解决方法它由软件和硬件组成。BCUs是综合的和测试作为数据仓库系统的预配置功能块。
### 15. BECN(Backward Explicit Congestion Notification):显式拥塞通知
>是在帧中继报头的一个1比特域其发信号到任何接收帧的事物转换器和数据终端设备拥塞就发生在帧的反面后面。帧中继转换器和数据终端设备可能遵照显式拥塞通知位来减慢那个方向的数据传输率。
### 16. BER(Bit Error Rate):误码率
>是接收到的位包含错误的比率。BER通常被表示成十足的负面力量。
### 17. BIP(Bit Interleaved Parity):位交叉奇偶校验
>一个用在ATM中的术语是一个通常用来检测链接错误的一种方法。一个检测位或字被嵌入到以前发生阻塞或帧的链接中。位错误在有效载荷中能够作为维护信息被删除和报告。
#### C ####
#### D ####
### 1. daemon守护进程
### 2.
#### F ####
#### G ####
#### H ####
### 1. Home Directory家目录
#### I ####
#### J ####
#### K ####
#### L ####
### 1. LTS(Long Term Support):长期支持
>该缩写词多见于操作系统发行版或者软件发行版名称中,表明该版本属于长期支持版。
#### M ####
#### N ####
#### O ####
#### P ####
### 1.P-code(Pseudo-code):伪代码语言
>一种解释型语言,执行方式介于编译型语言和解释型语言之间。和解释型语言一样,伪代码编程语言无需编译,在执行时自动转换成二进制形式。然而,和编译型语言不同的是,这种可执行的二进制文件是以伪代码的形式而不是机器语言的形式存储的。伪代码语言的例子有 Java、Python 和 REXX/Object REXX。
### 2. PAM(Pluggable Authentication Modules):可插拔认证模块
>用于系统安全性的可替换的用户认证模块,它允许在不知道将使用何种认证方案的情况下进行编程。这允许将来用其它模块来替换某个模块,却无需重写软件。
### 3. Port/Ported/Porting移植
>一个过程,即获取为某个操作系统平台编写的程序,并对其进行修改使之能在另一 OS 上运行,并且具有类似的功能。
### 4. POSIX(Portable Operating System Interface for uniX)UNIX 可移植操作系统接口
>一组编程接口标准它们规定如何编写应用程序源代码以便应用程序可在操作系统之间移植。POSIX 基于 UNIX它是 The Open Group 的 X/Open 规范的基础。
#### Q ####
#### R ####
### 1. RCS(Revision Control System):修订控制系统
>一组程序,它们控制组环境下文件的共享访问并跟踪文本文件的变化。常用于维护源代码模块的编码工作。
### 2. RFS(Remote File Sharing):远程文件共享
>一个程序,它让用户访问其它计算机上的文件,就好象文件在用户的系统上一样。
#### S ####
### 1. shebang [ʃɪ'bæŋ]:释伴
>Shebang也称为Hashbang是一个由井号和叹号构成的字符序列#!),出现在文本文件的第一行的前两个字符,后跟解释器路径,如:#!/bin/sh这通常是Linux中shell脚本的标准起始行。
>长期以来shebang都没有正式的中文名称。Linux中国翻译组将其翻译为释伴即解释伴随行的简称同时又是shebang的音译。
### 2. Spool(Simultaneous Peripheral Operation On-Line):假脱机
>将数据发送给一个程序,该程序将该数据信息放入队列以备将来使用(例如,打印假脱机程序)
### 2. Steganography隐写术
>将一段信息隐藏在另一段信息中的做法。一个示例是在数字化照片中放置不可见的数字水印。
### 3. Swap交换
>暂时将数据(程序和/或数据文件)从随机存取存储器移到磁盘存储器(换出),或反方向移动(换入),以允许处理比物理内存所能容纳的更多的程序和数据。
#### T ####
### 1. Time-sharing分时
>一种允许多个用户分享处理器的方法,它以时间为基础给每个用户分配一部分处理器资源,按照这些时间段轮流运行每个用户的进程。
### 2. TL;DR:长篇摘要
>Too LongDidn't Read的缩写词即太长未阅的意思。该词多见于互联网社区论坛中用于指出该文太长没有阅读或者标示出一篇长文章的摘要。在论坛回复中该缩写词也多作为灌水用。因此Linux中国翻译组将其翻译为长篇摘要。
#### U ####
#### V ####
### 1. VRML(Virtual Reality Modeling Language):虚拟现实建模语言
>一种主要基于 Web 的语言,用于 3D 效果(如构建遍历)。
#### W ####
### 1. Wrapper封装器
>用于启动另一个程序的程序。
#### X ####
#### Y ####
#### Z ####

View File

@ -0,0 +1,150 @@
PHP 5.5 / PHP5.6 / PHP-NG 和 HHVM 哪个性能更好?
================================================================================
**长篇摘要在一个基于Vagrant的本地环境中可能是某个错误的原因导致HHVM测试结果很差在HHVM伙伴们协助下该原因仍在研究中然而在DigitalOcean的一个4GB虚拟机中HHVM甚至盖过了最新版的PHP-NG的风头**
![](https://kinsta.com/wp-content/uploads/2014/07/phphhvm.jpg)
**结论它们反映出HHVM的功效更佳在JIT热启动后虽然出于某些原因我们不能在所有装备中获取这些结果。**
如果你记得我们[在几个月前写过一篇文章][1]那时WordPress 3.9表明是完全支持HHVM的当时是那么令我们欢欣鼓舞。最初的基准测试结果显示HHVM要比驱动着当前所有PHP构建的Zend引擎高级得多。后来问题就出来了
- HHVM只能以单个用户运行这意味着在共享环境中安全性差了
- HHVM在崩溃后不会自动重启而不幸的是它至今仍然经常发生
- HHVM在启动时使用大量内存虽然它和同规模的PHP-FPM比较单个请求的内存使用量更低
很显然你不得不根据你的或者更确切地说是你的站点的需求采取折中方案然而这值得吗切换到HHVM后你期望获得多少性能改善呢
在Kinsta我们真的想要测试所有新技术并通常会优化这一切来为我们的客户提供最佳的环境。今天我最终花了点时间来配置测试环境并进行了一些测试来对比两个不同的构建一个是全新出炉的WordPress安装另外一个则添加了大量内容的WooCommerce为了计量脚本的运行时间我只是简单地添加了
<?php timer_stop(1); ?>
这一行到footer.php的/body标记前。
这里是配置环境的详情:
- DigitalOcean 4GB 雨滴容器 (2 CPU核心, 4GB RAM)
- Ubuntu 14.04, MariaDB10
- 测试站点: 已导入演示内容的Munditia主题WooCommerce 2.1.12 & WordPress 3.9.1
- PHP 5.5.9, PHP 5.5.15, PHP 5.6.0 RC2, PHP-NG 20140718-git-6cc487d和HHVM 3.2.0 版本是PHP 5.6.99-hhvm
**没有进一步大费周章,这些就是我的测试结果,数值越低越好,以秒为单位:**
### DigitalOcean 4GB 雨滴容器 ###
单位是秒运行10次越低越好
这里有一个canvas的数据发布的时候需要截一个图
看起来似乎PHP-NG在它首次运行后就获得了峰值性能HHVM需要更多几次重载但是它们的性能貌似差不多我等不及PHP-NG合并到开发主干了
一分钟命中数,越高越好。
这里有一个canvas的数据发布的时候需要截一个图
**PHP 5.5.15禁用OpCache**
- 执行: **236 hits**
- 可用性: 100.00 %
- 消耗时间: 59.03 secs
- 传输的数据: 2.40 MB
- 回应时间: 2.47 secs
- 执行率: 4.00 trans/sec
- 吞吐量: 0.04 MB/sec
- 并发数: 9.87
- 成功的执行: 236
- 失败的执行: 0
- 最长执行: 4.44
- 最短执行: 0.48
**PHP 5.5.15启用OpCache**
- 执行: **441 hits**
- 可用性: 100.00 %
- 消耗时间: 59.55 secs
- 传输的数据: 4.48 MB
- 回应时间: 1.34 secs
- 执行率: 7.41 trans/sec
- 吞吐量: 0.08 MB/sec
- 并发数: 9.91
- 成功的执行: 441
- 失败的执行: 0
- 最长执行: 2.19
- 最短执行: 0.64
**PHP 5.6 RC2禁用OpCache**
- 执行: **207 hits**
- 可用性: 100.00 %
- 消耗时间: 59.87 secs
- 传输的数据: 2.10 MB
- 回应时间: 2.80 secs
- 执行率: 3.46 trans/sec
- 吞吐量: 0.04 MB/sec
- 并发数: 9.68
- 成功的执行: 207
- 失败的执行: 0
- 最长执行: 3.65
- 最短执行: 0.54
**PHP 5.6 RC2启用OpCache**
- 执行: **412 hits**
- 可用性: 100.00 %
- 消耗时间: 59.03 secs
- 传输的数据: 4.18 MB
- 回应时间: 1.42 secs
- 执行率: 6.98 trans/sec
- 吞吐量: 0.07 MB/sec
- 并发数: 9.88
- 成功的执行: 412
- 失败的执行: 0
- 最长执行: 1.93
- 最短执行: 0.34
**HHVM 3.2.0版本是PHP 5.6.99-hhvm**
- 执行: **955 hits**
- 可用性: 100.00 %
- 消耗时间: 59.69 secs
- 传输的数据: 9.18 MB
- 回应时间: 0.62 secs
- 执行率: 16.00 trans/sec
- 吞吐量: 0.15 MB/sec
- 并发数: 9.94
- 成功的执行: 955
- 失败的执行: 0
- 最长执行: 0.85
- 最短执行: 0.23
**PHP-NG启用OpCache构建: Jul 29 2014**
- 执行: **849 hits**
- 可用性: 100.00 %
- 消耗时间: 59.88 secs
- 传输的数据: 8.63 MB
- 回应时间: 0.70 secs
- 执行率: 14.18 trans/sec
- 吞吐量: 0.14 MB/sec
- 并发数: 9.94
- 成功的执行: 849
- 失败的执行: 0
- 最长执行: 1.06
- 最短执行: 0.13
**注意:这里节略了前一次的测试结果(有误),如感兴趣请访问原文查看。**
--------------------------------------------------------------------------------
via: https://kinsta.com/blog/real-world-wordpress-benchmarks-with-php5-5-php5-6-php-ng-and-hhvm/
作者:[Mark Gavalda][a]
译者:[GOLinux](https://github.com/GOLinux)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://kinsta.com/blog/author/kinstadmin/
[1]:https://kinsta.com/blog/hhvm-and-wordpress/

View File

@ -1,12 +1,12 @@
tespeed - 测试网速的Python工具
================================================================================
许多电脑呆子知道可以用**speedtest.net**测试网速但是这个不能在测试中给你足够的控制。Linux用户喜欢在终端中输入命令来完成任务至少我是这样的。
许多电脑呆子知道可以用**speedtest.net**测试网速但是这个不能在测试中给你足够的控制。Linux用户喜欢在终端中输入命令来完成任务至少我是这样的。
tespeed是一款有很多特性的python工具可以在终端在测试网速。根据文档它利用了speedtest.net的服务器但是用户可以手动指定。
tespeed是一款有很多特性的python工具可以在终端在测试网速。根据文档说明它利用了speedtest.net的服务器但是用户可以手动指定。
最初作者用php语言写了tespeed工具并且证明了ISP提供的网络远低于它广告中所说的那样。但是事情并不是一直如们想的那样因此作者移植他的php脚本到python中并且他的工具在github中已经有180个star了。
最初作者用php语言写了tespeed工具并且证明了ISP提供的网络远低于它广告中所说的那样。但是事情并不是一直如们想的那样因此作者移植他的php脚本到python中并且他的工具在github中已经有180个star了。
这意味着**alot**
It means **alot**
### 如何在linux中测试tespeed ###
@ -23,11 +23,11 @@ tespeed是一款有很多特性的python工具可以在终端在测试网速
wget http://sourceforge.net/projects/socksipy/files/socksipy/SocksiPy%201.00/SocksiPy.zip/
下载完成后 解压**SocksiPy.zip**运行下面的命令来克隆tespeed仓库到你本地机器中。
下载完成后 解压**SocksiPy.zip**运行下面的命令来克隆tespeed仓库到你本地机器中。
git clone https://github.com/Janhouse/tespeed.git
接着把SocksiPy文件夹放到你克隆下来的tespeed项目中。现在我们要像截图那样在SocksPy中的**__init__.py**下面创建一个空文件。
接着把SocksiPy文件夹放到你克隆下来的tespeed项目中。现在我们要像截图那样在SocksiPy中的创建一个叫**__init__.py**的空文件。
![simple trick to make tespeed work](http://blog.linoxide.com/wp-content/uploads/2015/01/tespeed1.png)
@ -39,9 +39,9 @@ tespeed是一款有很多特性的python工具可以在终端在测试网速
![testing download and upload speed with tespeed python application](http://blog.linoxide.com/wp-content/uploads/2015/01/tespeed2.png)
在tespeed中有很多选项如**-ls**来现实服务器,**-p**来指定代理服务器, **-s**来阻止调试(STDERR)输出, 还有很多我们会在本教程中探索。
在tespeed中有很多选项如**-ls**来列出服务器,**-p**来指定代理服务器, **-s**来阻止调试(STDERR)输出, 还有很多我们会在本教程中探索。
如果你想要结果现实成MB你可以在**python tespeed.py** 后面接上选项 **-mib**。
如果你想要结果显示成MB你可以在**python tespeed.py** 后面接上选项 **-mib**。
python tespeed.py -mib
@ -61,7 +61,7 @@ tespeed是一款有很多特性的python工具可以在终端在测试网速
### 总结 ###
=tespeed的确是一款帮助用户在终端中测试上传和下载速度的高性能python脚本。它支持很多的选项并且你可以指定列表中你想使用的服务器。继续使用tespeed并在留言区写下你们的体验吧。
tespeed的确是一款帮助用户在终端中测试上传和下载速度的高性能python脚本。它支持很多的选项并且你可以指定列表中你想使用的服务器。继续使用tespeed并在留言区写下你们的体验吧。
--------------------------------------------------------------------------------
@ -69,7 +69,7 @@ via: http://linoxide.com/tools/tespeed-python-tool-test-internet-speed/
作者:[Oltjano Terpollari][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,8 +1,8 @@
Ubuntu上的一个开源VoIP应用——Mumble
游戏玩家的福音:在 Ubuntu 上安装开源 VoIP 应用 Mumble
================================================================================
Mumble是一个自由开源的VoIP应用遵守New BSD License主要面向的用户群体是玩家。运行起来类似于TeamSpeak和Ventrilo用户通过连接到同一个服务器来实现相互通讯。
Mumble是一个自由开源的VoIP应用在新的 BSD 许可证下发布,主要面向的用户群体是游戏玩家。运行起来类似于TeamSpeak和Ventrilo用户通过连接到同一个服务器来实现相互通讯。
Mumble提供了如下的一些特性:
Mumble提供了如下的漂亮特性:
- 低延迟,这点对游戏相当重要
- 提供游戏中的可视插件,通过它你可以知道是谁正在和你通话并定位他们的位置
@ -30,11 +30,11 @@ Mumble提供了如下的一些特性:
![mumble q1](http://blog.linoxide.com/wp-content/uploads/2015/01/mumble-q1.jpg)
选择“是”开机自动启动mumble接着它会询问你是否运行高性能模式以保持低延迟,为了让它保持最佳性能这是个不错的主意。
选择“是”让服务器开机自动启动mumble接着它会询问你是否运行高优先级模式以保持低延迟,为了让它保持最佳性能这是个不错的主意。
![mumble q2](http://blog.linoxide.com/wp-content/uploads/2015/01/mumble-q2.jpg)
接着为你刚安装好的mumble服务端设置最高权限用户的密码,记住密码它会在登录时用到。
接着为你刚安装好的mumble服务端设管理员用户的密码,记住这个密码,它会在登录时用到。
![mumble q3](http://blog.linoxide.com/wp-content/uploads/2015/01/mumble-q3.jpg)
@ -44,7 +44,7 @@ Mumble提供了如下的一些特性:
$ sudo apt-get install mumble
第一次运行mumble时导向将会帮助你配置音频的输入输出,使其能在客户端上保持最好的效果。第一次同样也会询问你要使用的是什么声音设备和麦克风:
第一次运行mumble时配置向导将会帮助你配置音频的输入输出,使其能在客户端上保持最好的效果。第一次同样也会询问你要使用的是什么声音设备和麦克风:
![mumble client 1](http://blog.linoxide.com/wp-content/uploads/2015/01/mumble-client-1.jpg)
@ -52,15 +52,15 @@ Mumble提供了如下的一些特性:
![mumble client 2](http://blog.linoxide.com/wp-content/uploads/2015/01/mumble-client-2.jpg)
因为mumble帮你加密所有的通讯内容所以它会征询你创建证书:
因为mumble会帮你加密所有的通讯内容所以它会要求你创建证书:
![mumble client 3](http://blog.linoxide.com/wp-content/uploads/2015/01/mumble-client-3.jpg)
完成导向后你就能添加第一个服务器,连接对话框如下图所示:
完成配置向导后你就能添加第一个服务器,连接对话框如下图所示:
![mumble add server](http://blog.linoxide.com/wp-content/uploads/2015/01/mumble-add-server.jpg)
首先输入一个标签名字任意因为那只不过是为了记住服务器的然后输入服务器的地址和端口最后使用“SuperUser”作为用户名而密码则是你配置mumble服务器端时输入的密码。
首先输入一个标签名字任意因为那只不过是为了记住服务器的然后输入服务器的地址和端口最后使用“SuperUser”作为用户名而密码则是你配置mumble服务器端时输入的密码。
现在你可以连接到服务器了,在联网玩游戏或与你好友、队友聊天开黑时享受这些功能给你带来的乐趣吧!
@ -69,8 +69,8 @@ Mumble提供了如下的一些特性:
via: http://linoxide.com/ubuntu-how-to/install-mumble-ubuntu/
作者:[Adrian Dinu][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
译者:[martin2011qi](https://github.com/martin2011qi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -6,45 +6,44 @@
> “Not Enough Free Disk Space On /boot”
![](https://www.unixmen.com/wp-content/uploads/2015/02/Software-Updater_002.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Software-Updater_002.png)
这是因为我的启动分区超出了不再要的旧内核与包等
这是因为我的 /boot 分区被不再需要的旧内核与包塞满了
### 回答: ###
我听说**Computer Janitor**这个特性可以在Ubuntu Tweak中删除不想要的垃圾文件。使用Computer Janitor你可以将你的系统清理成像新安装的那样。Janitor会删除:
我听说Ubuntu Tweak中的**Computer Janitor**功能可以删除不想要的垃圾文件。使用Computer Janitor你可以将你的系统清理成像新安装的那样。Janitor会删除:
- 程序缓存(Firefox/Chrome 缓存、软件中心缓存);
- 程序缓存Firefox/Chrome 缓存、软件中心缓存);
- 略缩图缓存;
- apt缓存;
- 旧内核;
- 包的配置;
- 不再需要的包。
If you havent install this tool, look at the following link.
如果你还没有安装这个工具,参考下面的链接
- **[如何安装和使用Ubuntu Tweak][1]**
要删除不需要的垃圾文件打开Ubuntu Tweak点击 **Janitor** 选项。
![](https://www.unixmen.com/wp-content/uploads/2015/02/Ubuntu-Tweak_006.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Ubuntu-Tweak_006.png)
选择你想要删除的文件的选框,并点击 **Clean** 按钮。
![](https://www.unixmen.com/wp-content/uploads/2015/02/Ubuntu-Tweak_007.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Ubuntu-Tweak_007.png)
Janitor现在就开始清理你的系统了。
![](https://www.unixmen.com/wp-content/uploads/2015/02/Ubuntu-Tweak_003.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Ubuntu-Tweak_003.png)
真酷!系统清理完成了。
![](https://www.unixmen.com/wp-content/uploads/2015/02/Ubuntu-Tweak_008.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Ubuntu-Tweak_008.png)
我重启启动了软件更新。这个没再遇到问题了。
![](https://www.unixmen.com/wp-content/uploads/2015/02/Software-Updater_009.png)
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/02/Software-Updater_009.png)
就是这样。当然也有其他的方法可以清理系统。但是,这个方法很容易学。我们可以只点击几次鼠标就可以清理系统。
@ -52,13 +51,13 @@ Janitor现在就开始清理你的系统了。
--------------------------------------------------------------------------------
via: https://www.unixmen.com/how-to-fix-not-enough-free-disk-space-on-boot-in-ubuntu/
via: http://www.unixmen.com/how-to-fix-not-enough-free-disk-space-on-boot-in-ubuntu/
作者:[SK][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://www.unixmen.com/author/sk/
[1]:http://www.unixmen.com/after-a-fresh-install-of-ubuntu-1010-maverick-meerkat-configuration-made-easy-with-ubuntu-tweak/
[1]:http://linux.cn/article-3335-1.html

View File

@ -1,8 +1,8 @@
Linux有问必答Perl中本地时间和UNIX时间戳间相互转换
================================================================================
> **问题**: 在Perl语言中我需要转换易读的日期和时间到对应的UNIX时间戳反之亦然。你可以给我一些Perl代码例子吗关于日期及时间转换到UNIX时间戳或者相反转换UNIX时间戳到可读的日期和时间。
> **问题**: 在Perl语言中我需要转换易读的日期和时间到对应的UNIX时间戳反之亦然。你可以给我一些将日期及时间转换到UNIX时间戳的Perl代码例子吗或者相反转换UNIX时间戳到可读的日期和时间。
当你的Perl脚本需要解决时间信息这里有两种方法来表示和处理日期和时间。一种方法是易读的时间表示"Sat Mar 14 10:14:05 EDT 2015"另外一种是使用UNIX时间戳也叫“新纪元时间”这是从1970年1月1日到今所消耗的时间秒数。每一种方法都有它自己的优劣势,取决于你的需要,也许也就需要转换一种格式到另一种。
当你的Perl脚本需要解决时间信息这里有两种方法来表示和处理日期和时间。一种方法是易读的时间表示"Sat Mar 14 10:14:05 EDT 2015"另外一种是使用UNIX时间戳也叫“新纪元时间”这是从1970年1月1日到今所经过的时间秒数。每一种方法都有它自己的优劣势,取决于你的需要,也许也就需要转换一种格式到另一种。
### Perl中转换本地时间到UNIX时间戳 ###
@ -13,13 +13,14 @@ Linux有问必答Perl中本地时间和UNIX时间戳间相互转换
- 14/Mar/15 10:14:05
- 14 Mar 15 10:14:05
use Date::Parse;
```
use Date::Parse;
my $local_time = "Sat Mar 14 10:14:05 EDT 2015";
my $local_time = "Sat Mar 14 10:14:05 EDT 2015";
# 1426342445 will be stored in $unix_time
my $unix_time = str2time($local_time);
# 1426342445 will be stored in $unix_time
my $unix_time = str2time($local_time);
```
Date:Parse 模块支持多种语言(英语,法语,德语和意大利语)和时区。例如:
use Date::Parse;
@ -28,10 +29,9 @@ Date:Parse 模块支持多种语言(英语,法语,德语和意大利语)
my $lang = Date::Language->new('French');
my $unix_time = $lang->str2time("12:14:05, Ago 16, 2014 (CEST)");
### Perl中UNIX时间戳到读的日期和时间 ###
### Perl中UNIX时间戳到读的日期和时间 ###
如果你想要转换UNIX时间戳到可读的格式可以使用localtime()函数此函数可以转换UNIX时间戳为一个9元素列表。然后你可以使用返回的list构造任何你需要的可读格式。这里有一个代码片段
如果你想要转换UNIX时间戳到易读的格式可以使用localtime()函数此函数可以转换UNIX时间戳为一个9元素列表。然后你可以使用返回的list构造任何你需要的可读格式。这里有一个代码片段
# $sec, $min, $hour: 秒,分,时
# $mday: 月中的某天 (0-31)
@ -55,7 +55,7 @@ via: http://ask.xmodulo.com/convert-local-time-unix-timestamp-perl.html
作者:[Dan Nanni][a]
译者:[VicYu/Vic020](http://vicyu.net)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -1,21 +1,21 @@
使用backupninja为Debian定制备份计划
=======
============
backupninja是Debian系统以及基于Debian的发行版中一个强大的、高度可配置的备份软件。在[前一篇文章][1]中我们探讨了如何安装backupninja以及如何设置两个备份操作并执行。然而那些只是冰山一角。这一次我们要讨论如何利用Helper与辅助功能可以使用这些功能定制策略以完成任何备份需要。
backupninja是Debian系统以及基于Debian的发行版中一个强大的、高度可配置的备份软件。在[前一篇文章][1]中我们探讨了如何安装backupninja以及如何设置两个备份操作并执行。然而那些只是冰山一角。这一次我们要讨论如何定制 Handler 和 Helper 使用这些功能定制策略以完成任何备份需要。
###回顾 backupninja
backupninja的特点是它完全抛弃纯文本的配置文件/etc/backup.d,软件自己会搞定。另外,我们可以编写自定义脚本(又叫 “handlers”)放在/usr/share/backupninja 目录下来完成不同类型的备份操作。此外可以通过ninjahelper的基于ncurses的交互式菜单又叫”helpers")来指导我们创建一些配置文件,使得人工错误降到最低。
backupninja的一个独特的地方是它可以完全抛弃/etc/backup.d中的纯文本配置文件和操作文件软件自己会搞定。另外,我们可以编写自定义脚本(又叫 “handler”放在/usr/share/backupninja 目录下来完成不同类型的备份操作。此外可以通过ninjahelper的基于ncurses的交互式菜单又叫“helper”)来指导我们创建一些配置文件,使得人工错误降到最低。
###创建定制的Handler与Helper
这一节的目标是创建一个脚本将home目录以**gzip**或**bzip2**压缩包的形式备份起来不包括音乐与视频文件。我们将这个文件命名为home将它放在/usr/backup/ninja目录下。
尽管你可以使用默认的tar handler参考 /usr/share/backupninja/tar 与 /usr/share/backupninja/tar.helper来达到这个效果,但是我们使用这种方法来展示如何创建实用的 handler 脚本与基于 ncurses 的 helper。你可以根据你的需求来决定如何运用同样的原则
尽管你可以使用默认的tar handler参考 /usr/share/backupninja/tar 与 /usr/share/backupninja/tar.helper来达到这个效果但是我们使用这种方法来展示如何创建实用的 handler 脚本与基于 ncurses 的 helper。你可以根据你的需求来决定如何运用这里的方法
由于 handlers 来源与主脚本,所以无需以#!/bin/bash开始
由于 handlers 来源于主脚本,所以无需以#!/bin/bash开始的释伴行shebang line
我们推荐的 handler /usr/share/backupninja/home如下所示。它带有非常多的注释说明。getconf 功能用来读取备份操作的配置文件。如果你指定了一个变量的值,那么它会覆盖配置文件中对应变量的值:
我们编写的 handler /usr/share/backupninja/home如下所示。已经详细注释了。getconf 函数用来读取备份操作的配置文件。如果你指定了一个变量的值,那么它会覆盖配置文件中对应变量的值:
#/home 目录 handler 脚本
@ -34,25 +34,25 @@ backupninja的特点是它完全抛弃纯文本的配置文件/etc/backup.d,软
#不包含 *.mp3 与 *.mp4 文件
getconf excludes
# 默认扩展一打包的备份文件
# 要打包备份文件的默认扩展名
getconf EXTENSION
# Absolute path to date binary
# tar 程序的绝对路径
getconf TAR `which tar`
# Absolute path to date binary
# date 程序的绝对路径
getconf DATE `which date`
# 日期格式
DATEFORMAT="%Y-%m-%d"
# 如果备份目录不存在,以致命错误退出
# 如果备份目录不存在以致命错误退出
if [ ! -d "$backupdir" ]
then
mkdir -p "$backupdir" || fatal "Can not make directory $backupdir"
fi
# 如果备份目录不可写, 同样以致命错误退出
# 如果备份目录不可写同样以致命错误退出
if [ ! -w "$backupdir" ]
then
fatal "Directory $backupdir is not writable"
@ -85,7 +85,7 @@ backupninja的特点是它完全抛弃纯文本的配置文件/etc/backup.d,软
exclude_options="$exclude_options --exclude $i"
done
# 调试信息, 执行备份操作
# 调试信息执行备份操作
debug "Running backup: " $TAR -c -p -v $compress_option $exclude_options \
-f "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`".$EXTENSION" \
$includes
@ -100,9 +100,9 @@ backupninja的特点是它完全抛弃纯文本的配置文件/etc/backup.d,软
[ $? -ne 0 ] && fatal "Tar backup failed"
接下来我们将要创建helper文件 (/usr/share/backupninja/home.helper)这样hendlers将会以菜单的形式在**ninjahelper**中显示:
接下来我们将要创建helper文件/usr/share/backupninja/home.helper。这样hendlers将会以菜单的形式在**ninjahelper**中显示:
# 备份操作描述. 以下划线分割单词.
# 备份操作描述,以下划线分割单词
HELPERS="$HELPERS home:backup_of_home_directories"
home_wizard() {
@ -173,7 +173,7 @@ backupninja的特点是它完全抛弃纯文本的配置文件/etc/backup.d,软
$home_includes
$home_excludes
# 二进制压缩包必须为GNU tar
# tar 程序的路径必须为GNU tar
TAR `which tar`
DATE `which date`
DATEFORMAT "%Y-%m-%d"
@ -186,19 +186,19 @@ backupninja的特点是它完全抛弃纯文本的配置文件/etc/backup.d,软
###运行 ninjahelper###
当创建了名为home的handler脚本以及对应的名为home.helper的helper后运行ninjahelper命令创建一个新的备份操作。
当创建了名为home的handler脚本以及对应的home.helper后运行ninjahelper命令创建一个新的备份操作。
#ninjahelper
选择 create a new backup action(创建一个新的备份操作).
选择 create a new backup action(创建一个新的备份操作)。
![](https://farm8.staticflickr.com/7467/15322605273_90edaa5bc1_z.jpg)
接下来将看到可选的操作类型这里选择“backup of home directories"(备份home目录);
接下来将看到可选的操作类型这里选择“backup of home directories"备份home目录
![](https://farm9.staticflickr.com/8636/15754955450_f3ef82217b_z.jpg)
接下来会显示在helper中设置的默认值这里只有3个。可以编辑文本框中的值。注意关于”when”变量的语法参考文档的日程安排章节。
然后会显示在helper中设置的默认值这里只显示了3个。可以编辑文本框中的值。注意关于“when”变量的语法参考文档的日程安排章节。
![](https://farm8.staticflickr.com/7508/15941578982_24b680e1c3_z.jpg)
@ -210,9 +210,9 @@ backupninja的特点是它完全抛弃纯文本的配置文件/etc/backup.d,软
![](https://farm8.staticflickr.com/7534/15942239225_bb66dbdb63.jpg)
按回车键显示这个备份操作的选项。因为它非常简单,所以我们可以随便对它进行一些实验。
按回车键显示这个备份操作的选项。因为它非常简单,所以我们可以随便对它进行一些实验。
注意“run this action now"(立即运行)选项会不顾日程表安排的时间而立即进行备份操作:
注意“run this action now"(立即运行)选项会不顾日程表安排的时间而立即进行备份操作:
![](https://farm8.staticflickr.com/7508/15754955470_9af6251096_z.jpg)
@ -220,27 +220,26 @@ backupninja的特点是它完全抛弃纯文本的配置文件/etc/backup.d,软
![](https://farm9.staticflickr.com/8662/15754955480_487d040fcd_z.jpg)
上面的图片告诉我们,备份操作讲不会成功因为它所需要链接的远程主机似乎宕机了。另外在helper文件中指定的目录不存在。当纠正这些问题后重新开始备份操作。
上面的图片告诉我们,用于完成备份操作的连接没有建立因为它所需要链接的远程主机似乎宕机了。另外在helper文件中指定的目标目录不存在。当纠正这些问题后,重新开始备份操作。
需要牢记的事情:
- 当你新建了一个自定义脚本来处如foobar理特殊的备份操作时那么你还需要编写与之对应的helperfoobar.helper文件,ninjahelper 将通过它生成名为10.foobar(下一个操作为11以此类推的文件保存在/etc/backup.d目录下而这个文件才是备份操作的真正的配置文件。
- 可以通过ninjahelper设定行备份操作的执行时间,或按照”when”变量中设置的频率来执行。
- 当你在/usr/share/backupninja 下新建了一个自定义脚本如foobar来处理特殊的备份操作时那么你还需要编写与之对应的helperfoobar.helper文件ninjahelper 将通过它生成名为10.foobar下一个操作为11以此类推的文件保存在/etc/backup.d目录下而这个文件才是备份操作的真正的配置文件。
- 可以通过ninjahelper设定好备份操作的执行时间,或按照“when”变量中设置的频率来执行。
###总结###
在这篇文章中我们探讨了如何从头创建我们自己的备份操作以及如何向ninjahelper添加相关的菜单以生成对应的配置文件。通过[上一篇][2]与这一篇文章,我希望我已经给出了足够好的理由让你继续研究,或者至少应该尝试一下。
在这篇文章中我们探讨了如何从头创建我们自己的备份操作以及如何向ninjahelper添加相关的菜单以生成对应的配置文件。通过[上一篇][1]与这一篇文章,我希望我已经给出了足够好的理由让你继续研究,或者至少应该尝试一下。
------------------------------
via: http://xmodulo.com/create-custom-backup-plan-debian.html
作者:[ Gabriel Cánepa][a]
译者:[SPccman](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
作者:[Gabriel Cánepa][a]
译者:[SPccman](https://github.com/SPccman)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/gabriel
[1]:http://xmodulo.com/backup-debian-system-backupninja.html
[2]:http://xmodulo.com/backup-debian-system-backupninja.html
[1]:http://linux.cn/article-5096-1.html

View File

@ -1,35 +0,0 @@
The VirtualBox 5.0 beta is finally here
=======================================
**Oracle's desktop virtualization software gets its first major point revision in almost five years, but the changes are more evolutionary than revolutionary.**
VirtualBox, the open source virtualization system originally created by Sun and now under Oracle's stewardship, has released its first revision to the left of the decimal point in nearly five years.
Don't expect anything truly revolutionary, though, judging from the release notes for and the behavior of the beta itself. With this release, VirtualBox picks up a bit more polish, both visually and technologically, but its main advantage over VMware remains with its offer of a free incarnation of many of the same core features.
The last major version of VirtualBox 4.0 was released in December 2010, and it delivered a heavily reworked version of the program with a new GUI, new virtual hardware, and a reorganized project design. But the pace of major releases for the project was slow, with the last major release (version 4.3) arriving in late 2013. Everything since then has been officially designated as a "maintenance" release.
**VirtualBox 5.0**
*The first beta of VirtualBox 5.0 adds features like the ability to edit the menus and shortcut icons for VM windows, as shown here.*
Among the biggest changes for VirtualBox 5.0 is support for more instruction set extensions that run with hardware-assisted virtualization. The AES-NI instruction set, typically used for hardware acceleration of encryption, and the SSE 4.1 and SSE 4.2 instructions sets were included among them. Also new is paravirtualization support for Windows and Linux guests, a new architecture for abstracting host audio, and support for USB 3 (xHCI) controller in guests.
Most of the usability updates are improvements to the VirtualBox GUI. One big change is the ability to customize the menus and the toolbar for individual virtual machines so that little- or never-used options can be removed entirely. Another major addition is the ability to encrypt virtual volumes from within the VirtualBox interface, rather than relying on the guest OS's own disk-encryption system (assuming it has one).
Oracle warns that this is beta software and should be treated accordingly. Sure enough, the main GUI and the guest OS windows all sport black-and-red Beta warnings in one corner. But a Windows 10 VM created with the previous VirtualBox release (4.3.26) booted and ran fine, and the 5.0 version of the VirtualBox Guest Additions -- for better video support, bidirectional copy and paste, and other features -- installed without issues. (Fixes to better support Windows 10 have been showing up since version 4.3.18.)
No word has been given yet on when the final version of 5.0 will be out, but Oracle [encourages users][1] to download and try out the beta -- in a nonproduction environment -- and file bug reports with their [beta feedback forum][2].
--------------------------------------------------------------------------------
via: http://www.infoworld.com/article/2905098/virtualization/oracle-virtualbox-5-0-beta-is-finally-here.html
作者:[Serdar Yegulalp][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/Serdar-Yegulalp/
[1]:https://forums.virtualbox.org/viewtopic.php?f=15&t=66904
[2]:https://forums.virtualbox.org/viewforum.php?f=15

View File

@ -1,75 +0,0 @@
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, its 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 “Were 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 lets 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.
Exailes 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)
Exailes 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

View File

@ -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/

View File

@ -1,132 +0,0 @@
How to Install Telegram Messenger Application on Linux
================================================================================
Telegram is an Instant Messaging (IM) application similar to whatsapp. It has a very large user base. It has a lot of features that differentiate it from other messaging application.
![Install Telegram in Linux](http://www.tecmint.com/wp-content/uploads/2015/03/Install-Telegram-in-Linux.png)
Telegram Messenger for Linux
This article aims at making you aware of telegram application followed by detailed installation instructions on Linux Box.
#### Features of Telegram ####
- Implementation for mobile devices
- Available for Desktop.
- Application Program Interface (API) of Telegram can be Accessed by third party developers.
- Available for Android, iphone/ipad, Windows Phone, Web-Version, PC, Mac and Linux
- The above application provides Heavily Encrypted and self destruct messages.
- Lets you access your message from multiple devices and platform.
- The overall processing and message delivery is lightening fast.
- Distributed server across the globe for security and speed.
- Open API and Free Protocol
- NoAds, No Subscription charge. Free forever.
- Powerful No limit to media and chats
- Several security measures that make it safe from Hackers.
- Reply to Specific message in group. Mention @username to notify multiple users in group.
#### Why Telegram? ####
When Applications like whatsapp and other IM are providing almost same things in bag, why should someone opt for Telegram?
Well Availability of API to third party developer is enough to say. Moreover availability for PC which means you wont have to struggle typing message using your mobile, but you can use your PC and that is pretty more than sufficient.
Also The option to connect on remote locations, Co-ordinate Group of upto 200 Members, Sync all your devices, Send Documents of all kind, Encrypt message, Self destruction of message, Storage of Media in Cloud, Build own tool on freely available API and what not.
**Testing Environment**
We have used Debian GNU/Linux, x86_64 architecture to test it and the overall process went very smooth for us. Here what we did stepwise.
### Installation of Telegram Messenger in Linux ###
First go to the official Telegram site, and download Telegram source package ([tsetup.0.7.23.tar.xz][1]) for Linux system or you may use following wget command to download directly.
# wget https://updates.tdesktop.com/tlinux/tsetup.0.7.23.tar.xz
Once package has been downloaded, unpack the tarball and switch from current working directory to the extracted directory.
# tar -xf tsetup.0.7.23.tar.xz
# cd Telegram/
Next, execute the binary file Telegram from the command line as shown below.
# ./Telegram
1. The first Impression. Click “START MESSAGING”.
![Start Messaging](http://www.tecmint.com/wp-content/uploads/2015/03/Start-Messaging.jpeg)
Start Messaging
2. Enter Your phone Number. Click “NEXT”. If you have not registered for telegram before this, using the same number as entered above you will get a warning that you dont have a telegram account yet. Click “Register Here”.
![Signup for Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Register.png)
Signup for Telegram
3. After submitting your phone number, telegram will send you a verification code, shortly. You need to Enter it.
![Telegram Verification Code](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Verfication-Code.png)
Telegram Verification Code
4. Enter your First_Name, Last_name and pics and click “SIGNUP”.
![Enter Account Details](http://www.tecmint.com/wp-content/uploads/2015/03/Enter-Account-Details.jpeg)
Enter Account Details
5. After account creation, I got this interface. Everything seems at its place, even when I am new to telegram Application. The interface is really simple.
![Telegram Interface](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Interface.jpeg)
Telegram Interface
6. Click Add a contact and Enter Their first_name, last_name and Phone number. Click create when done!.
![Add New Telegram Contact](http://www.tecmint.com/wp-content/uploads/2015/03/Add-New-Telegram-Contact.png)
Add New Telegram Contact
7. If the contact you added is not on telegram already, You get a warning message and telegram will acknowledge you when your contact joins telegram.
![Telegram Contact Notification](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Notification.jpeg)
Telegram Contact Notification
8. As soon as the contact joins telegram you get a message (pop-out like) that reads [YOUR_CONTACT] joined telegram.
9. A formal chat window on Linux Machine. Nice experience…
![Telegram Contact Join Message](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Join-Message.jpeg)
Telegram Contact Join Message
10. At the same time, Ive tried messaging from my android mobile device, the interface looks similar on both.
![Telegram Mobile Interface](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Mobile-Interface.png)
Telegram Mobile Interface
11. Telegram settings page. You have a lot of options to configure.
![Telegram Settings](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Settings.png)
Telegram Settings
12. About Telegram.
![About Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/About-Telegram.jpeg)
About Telegram
#### Less Interesting Points ####
- Telegram usage protocol MTProto Mobile protocol.
- Released Initially for iPhone in the year 2013 (August 14)..
- People Behind this Amazing Project: Pavel and Nikolai Durov..
Thats all for now. Ill be here again with another interesting article you will love to read. I take the pleasure on behalf of Tecmint to thank all our valuable readers and critics who made us stand where we are now through continuous self evolving process. Keep Connected! Keep Commenting. Share if you care for us.
- [https://telegram.org/][2]
--------------------------------------------------------------------------------
via: http://www.tecmint.com/install-telegram-in-linux/
作者:[Avishek Kumar][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.tecmint.com/author/avishek/
[1]:https://tdesktop.com/linux
[2]:https://telegram.org/

View File

@ -1,110 +0,0 @@
Mydumper Mysql Database Backup tool
================================================================================
Mydumper is a tool used for backing up MySQL database servers much faster than the mysqldump tool distributed with MySQL. It also has the capability to retrieve the binary logs from the remote server at the same time as the dump itself.
### Mydumper advantages ###
o Parallelism (hence, speed) and performance (avoids expensive character set conversion routines, efficient code overall)
o Easier to manage output (separate files for tables, dump metadata,etc, easy to view/parse data)
o Consistency -- maintains snapshot across all threads, provides accurate master and slave log positions, etc
o Manageability -- supports PCRE for specifying database and tables inclusions and exclusions
### Install mydumper on ubuntu ###
Open the terminal and run the following command
sudo apt-get install mydumper
### Using Mydumper ###
#### Syntax ####
mydumper [options]
Application Options:
- -B, --database Database to dump
- -T, --tables-list Comma delimited table list to dump (does not exclude regex option)
- -o, --outputdir Directory to output files to
- -s, --statement-size Attempted size of INSERT statement in bytes, default 1000000
- -r, --rows Try to split tables into chunks of this many rows
- -c, --compress Compress output files
- -e, --build-empty-files Build dump files even if no data available from table
- -x, --regex Regular expression for db.table' matching
- -i, --ignore-engines Comma delimited list of storage engines to ignore
- -m, --no-schemas Do not dump table schemas with the data
- -k, --no-locks Do not execute the temporary shared read lock. WARNING: This will cause inconsistent backups
- -l, --long-query-guard Set long query timer in seconds, default 60
- --kill-long-queries Kill long running queries (instead of aborting)
- -b, --binlogs Get a snapshot of the binary logs as well as dump data
- -D, --daemon Enable daemon mode
- -I, --snapshot-interval Interval between each dump snapshot (in minutes), requires --daemon, default 60
- -L, --logfile Log file name to use, by default stdout is used
- -h, --host The host to connect to
- -u, --user Username with privileges to run the dump
- -p, --password User password
- -P, --port TCP/IP port to connect to
- -S, --socket UNIX domain socket file to use for connection
- -t, --threads Number of threads to use, default 4
- -C, --compress-protocol Use compression on the MySQL connection
- -V, --version Show the program version and exit
- -v, --verbose Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
#### Mydumper Example ####
mydumper \
--database=$DB_NAME \
--host=$DB_HOST \
--user=$DB_USER \
--password=$DB_PASS \
--outputdir=$DB_DUMP \
--rows=500000 \
--compress \
--build-empty-files \
--threads=2 \
--compress-protocol
Description of Mydumper's output data
Mydumper does not output to files, but rather to files in a directory. The --outputdir option specifies the name of the directory to use.
The output is two parts
Schema
For each table in the database, a file containing the CREATE TABLE statement will be created. It will be named:
dbname.tablename-schema.sql.gz
Data
For each table with number of rows above the --rows parameter, you will have a file called:
dbname.tablename.0000n.sql.gz
Where "n" starts with 0 up to the number of.
If you want to restore these backup you can use Myloader
myloader \
--database=$DB_NAME \
--directory=$DB_DUMP \
--queries-per-transaction=50000 \
--threads=10 \
--compress-protocol \
--verbose=3
--------------------------------------------------------------------------------
via: http://www.ubuntugeek.com/mydumper-mysql-database-backup-tool.html
作者:[ruchi][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.ubuntugeek.com/author/ubuntufix

View File

@ -1,102 +0,0 @@
Picty: Managing Photos Made Easy
================================================================================
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/03/picty_002-790x429.png)
### About Picty ###
**Picty** is a free, simple, yet powerful photo collection manager that will help you to manage your photos. It is designed around managing **metadata** and a **lossless** approach to image handling. Picty currently supports both online(web-based) and offline(local) collections. In local collections, the images will be stored in a local folder and its sub-folders. A database will be maintained to speed up the image queries in the users home folder. In online(web-based) collections, you can upload and share images through a web browser. Ant user with proper rights can share photos to any persons, and each user can have multiple collections open at once and collections can be shared by multiple users. There is a simple interface for transferring images between collections using a transfer plugin.
You can download any number of photos from your Camera or any devices. Also, Picty allows you to browse photo collections from your Camera before downloading it. Picty is lightweight application, and has snappy interface. It supports Linux, and Windows platforms.
### Features ###
- Supports big photo collections (20,000 plus images).
- Open more than one collection at a time and transfer images between them.
- Collections are:
- Folders of images in your local file system.
- Images on cameras, phones and other media devices.
- Photo hosting services (Flickr currently supported).
- picty does not “Import” photos into its own database, it simply provides an interface for accessing them wherever they are. To keep things snappy and to allow you to browse even if you are offline, picty maintains a cache of thumbnails and metadata.
- Reads and writes metadata in industry standard formats Exif, IPTC and Xmp
- Lossless approach:
- picty writes all changes including image edits as metadata. e.g. an image crop is stored as any instruction, the original pixels remain in the file
- Changes are stored in pictys collection cache until you save your metadata changes to the images. You can easily revert unsaved changes that you dont like.
- Basic image editing:
- Current support for basic image enhancements such as brightness, contrast, color, cropping, and straightening.
- Improvements to those tools and other tools coming soon (red eye reduction, levels, curves, noise reduction)
- Image tagging:
- Use standard IPTC and Xmp keywords for image tags
- A tag tree view lets you easily manage your tags and navigate your collection
- Folder view:
- Navigate the directory heirarchy of your image collection
- Multi-monitor support
- picty can be configured to let you browse your collection on one screen and view full screen images on another.
- Customizable
- Create launchers for external tools
- Supports plugins many of the current features (tagging and folder views, and all of the image editing tools) are provided by plugins
- Written in python batteries included!
### Installation ###
#### 1. Install from PPA ####
Picty developers has a PPA for Debian based distributions, like Ubuntu, to make the installation much easier.
To install in Ubuntu and derivatives, run:
sudo add-apt-repository ppa:damien-moore/ppa
sudo apt-get update
sudo apt-get install picty
#### 2. Install from Source ####
Also, you can install it from Source files. First, install the following dependencies.
sudo apt-get install bzr python-pyinotify python-pyexiv2 python-gtk2 python-gnome2 dcraw python-osmgpsmap python-flickrapi
Then, get the latest version using command:
bzr branch lp:picty
To run picty, change to the picty directory, and enter:
cd picty
bin/picty
To update to the latest version, run:
cd picty
bzr pull
### Usage ###
Launch Picty either from Menu or Unity Dash.
![picty_001](http://www.unixmen.com/wp-content/uploads/2015/03/picty_001.png)
You can either choose existing collection, device or directory. Let us create a **new collection**. To do that, create New Collection button. Enter the collection, and browse to the path where you have the images stored. Finally, click **Create** button.
![Create a Collection_001](http://www.unixmen.com/wp-content/uploads/2015/03/Create-a-Collection_001.png)
![picty_002](http://www.unixmen.com/wp-content/uploads/2015/03/picty_002.png)
You can modify, rotate, add/remove tags, set descriptive info of each images. To do that, just right click any image and do the actions of your choice.
Visit the following Google group to get more information and support about Picty Photo manager.
- [http://groups.google.com/group/pictyphotomanager][1]
Cheers!
--------------------------------------------------------------------------------
via: http://www.unixmen.com/picty-managing-photos-made-easy/
作者:[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://groups.google.com/group/pictyphotomanager

View File

@ -0,0 +1,154 @@
10 Truly Amusing Easter Eggs in Linux
================================================================================
![](http://en.wikipedia.org/wiki/File:Adventure_Easteregg.PNG)
The programmer working on Adventure slipped a secret feature into the game. Instead of getting upset about it, Atari decided to give these sorts of “secret features” a name -- “Easter Eggs” because… you know… you hunt for them. Image credit: Wikipedia.
Back in 1979, a video game was being developed for the Atari 2600 -- [Adventure][1].
The programmer working on Adventure slipped a secret feature into the game which, when the user moved an “invisible square” to a particular wall, allowed entry into a “secret room”. That room contained a simple phrase: “Created by [Warren Robinett][2]”.
Atari had a policy against putting author credits in their games, so this intrepid programmer put his John Hancock on the game by being, well, sneaky. Atari only found out about the “secret room” after Warren Robinett had left the company. Instead of getting upset about it, Atari decided to give these sorts of “secret features” a name -- “Easter Eggs” because… you know… you hunt for them -- and declared that they would be putting more of these “Easter Eggs” in future games.
This wasnt the first such “hidden feature” built into a piece of software (that distinction goes to an operating system for the [PDP-10][3] from 1966, but this was the first time it was given a name. And it was the first time it really grabbed the attention of most computer users and gamers.
Linux (and Linux related software) has not been left out. Some truly amusing Easter Eggs have been created for our beloved operating system over the years. Here are some of my personal favorites -- with how to achieve them.
Youll notice, rather quickly, that most of these are experienced via a terminal. Thats on purpose. Because terminals are cool. [I should also take this moment to say that if you try to run an application I list, and you do not have it installed, it will not work. You should install it first. Because… computers.]
### Arch : Pac-Man in pacman ###
Were going to start with one just for the [Arch Linux][4] fans out there. You can add a [Pac-Man][5]-esque character to your progress bars in “[pacman][6]” (the Arch package manager). Why this isnt enabled by default is beyond me.
To do this youll want to edit “/etc/pacman.conf” in your favorite text editor. Under the “# Misc options” section, remove the “#” in front of “Color” and add the line “ILoveCandy”. Because Pac-Man loves candy.
Thats it! Next time you fire up a terminal and run pacman, youll help the little yellow guy get some lunch (or at least some candy).
### GNU Emacs : Tetris and such ###
![emacs Tetris](http://www.linux.com/images/stories/41373/emacsTetris.jpg)
I dont like emacs. Not even a little bit. But it does play Tetris.
I have a confession to make: I dont like [emacs][7]. Not even a little bit.
Some things fill my heart with gladness. Some things take away all my sadness. Some things ease my troubles. Thats [not what emacs does][8].
But it does play Tetris. And thats not nothing. Heres how:
Step 1) Launch emacs. (When in doubt, type “emacs”.)
Step 2) Hit Escape then X on your keyboard.
Step 3) Type “tetris” and hit Enter.
Bored of Tetris? Try “pong”, “snake” and a whole host of other little games (and novelties). Take a look in “/usr/share/emacs/*/lisp/play” for the full list.
### Animals Saying Things ###
The Linux world has a long and glorious history of animals saying things in a terminal. Here are the ones that are the most important to know by heart.
On a Debian-based distro? Try typing “apt-get moo".
![apt-get moo](http://www.linux.com/images/stories/41373/AptGetMoo.jpg)
apt-get moo
Simple, sure. But its a talking cow. So we like it. Then try “aptitude moo”. It will inform you that “There are no Easter Eggs in this program”.
If theres one thing you should know about [aptitude][9], its that its a dirty, filthy liar. If aptitude were wearing pants, the fire could be seen from space. Add a “-v” option to that same command. Keep adding more vs until you force aptitude to come clean.
![](http://www.linux.com/images/stories/41373/AptitudeMoo.jpg)
I think we can all agree, that this is probably the most important feature in aptitude.
I think we can all agree, that this is probably the most important feature in aptitude. But what if you want to put your own words into the mouth of a cow? Thats where “cowsay” comes in.
And, dont let the name “cowsay” fool you. You can put words into so much more than just a cow. Like an elephant, Calvin, Beavis and even the Ghostbusters logo. Just do a “cowsay -l” from the terminal to get a complete list of options.
![](http://www.linux.com/images/stories/41373/cowsay.jpg)
You can put words into so much more than just a cow.
Want to get really tricky? You can pipe the output of other applications into cowsay. Try “fortune | cowsay”. Lots of fun can be had.
### Sudo Insult Me Please ###
Raise your hand if youve always wanted your computer to insult you when you do something wrong. Hell. I know I have. Try this:
Type “sudo visudo” to open the “sudoers” file. In the top of that file youll likely see a few lines that start with “Defaults”. At the bottom of that list add “Defaults insults” and save the file.
Now, whenever you mistype your sudo password, your system will lob insults at you. Confidence boosting phrases such as “Listen, burrito brains, I dont have time to listen to this trash.”, “Are you on drugs?” and “Youre mind just hasnt been the same since the electro-shocks, has it?”.
This one has the side-effect of being a rather fun thing to set on a co-worker's computer.
### Firefox is cheeky ###
Heres one that isnt done from the Terminal! Huzzah!
Open up Firefox. In the URL bar type “about:about”. That will give you a list of all of the “about” pages in Firefox. Nothing too fancy there, right?
Now try “about:mozilla” and youll be greeted with a quote from the “[Book of Mozilla][10]” -- the holy book of web browsing. One of my other favorites, “about:robots”, is also quite excellent.
![](http://www.linux.com/images/stories/41373/About-Mozilla550.jpg)
The “Book of Mozilla” -- the holy book of web browsing.
### Carefully Crafted Calendar Concoctions ###
Tired of the boring old [Gregorian Calendar][11]? Ready to mix things up a little bit? Try typing “ddate”. This will print the current date on the [Discordian Calendar][12]. You will be greeted by something that looks like this:
“Today is Sweetmorn, the 18th day of Discord in the YOLD 3181”
I hear what youre saying, “But, this isnt an Easter Egg!” Shush. Ill call it an Easter Egg if I want to.
### Instant l33t Hacker Mode ###
Want to feel like youre a super-hacker from a movie? Try setting nmap into “[Script Kiddie][13]” mode (by adding “-oS”) and all of the output will be rendered in the most 3l33t [h@x0r-y way][14] possible.
Example: “nmap -oS - google.com”
Do it. You know you want to. Angelina Jolie would be [super impressed][15].
### The lolcat Rainbow ###
Having awesome Easter Eggs and goodies in your Linux terminal is fine and dandy… but what if you want it to have a little more… pizazz? Enter: lolcat. Take the text output of any program and pipe it through lolcat to super-duper-rainbow-ize it.
![](http://www.linux.com/images/stories/41373/lolcat.jpg)
Take the text output of any program and pipe it through lolcat to super-duper-rainbow-ize it.
### Cursor Chasing Critter ###
![oneko cat](http://www.linux.com/images/stories/41373/onekocat.jpg)
“Oneko” -- the Linux port of the classic “Neko”.
“Oneko” -- the Linux port of the classic “[Neko][16]”.
And that brings us to “oneko” -- the Linux port of the classic “Neko”. Basically a little cat that chases your cursor around the screen.
While this may not qualify as an “Easter Egg” in the strictest sense of the word, its still fun. And it feels Easter Egg-y.
You can also use different options (such as “oneko -dog”) to use a little dog instead of a cat and a few other tweaks and options. Lots of possibilities for annoying co-workers with this one.
There you have it! A list of my favorite Linux Easter Eggs (and things of that ilk). Feel free to add your own favorite in the comments section below. Because this is the Internet. And you can do that sort of thing.
--------------------------------------------------------------------------------
via: http://www.linux.com/news/software/applications/820944-10-truly-amusing-linux-easter-eggs-
作者:[Bryan Lunduke][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/56734
[1]:http://en.wikipedia.org/wiki/Adventure_(Atari_2600)
[2]:http://en.wikipedia.org/wiki/Warren_Robinett
[3]:http://en.wikipedia.org/wiki/PDP-10
[4]:http://en.wikipedia.org/wiki/Arch_Linux
[5]:http://en.wikipedia.org/wiki/Pac-Man
[6]:http://www.linux.com/news/software/applications/820944-10-truly-amusing-linux-easter-eggs-#Pacman
[7]:http://en.wikipedia.org/wiki/GNU_Emacs
[8]:https://www.youtube.com/watch?v=AQ4NAZPi2js
[9]:https://wiki.debian.org/Aptitude
[10]:http://en.wikipedia.org/wiki/The_Book_of_Mozilla
[11]:http://en.wikipedia.org/wiki/Gregorian_calendar
[12]:http://en.wikipedia.org/wiki/Discordian_calendar
[13]:http://nmap.org/book/output-formats-script-kiddie.html
[14]:http://nmap.org/book/output-formats-script-kiddie.html
[15]:https://www.youtube.com/watch?v=Ql1uLyuWra8
[16]:http://en.wikipedia.org/wiki/Neko_%28computer_program%29

View File

@ -0,0 +1,55 @@
Ambient Noise Player for Ubuntu Plays Relaxing Sounds to Keep You Creative
================================================================================
![Rain is a soothing sound for some](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/raining-1600x900-wallpaper_www.wallpapermay.com_84-1.jpg)
Rain is a soothing sound for some
**If I plan on being productive I cant listen to regular music. It distracts me. I start singing along or get reminded of a different track, so end up poking around my library and… Well, thats that.**
But by the same token I cant work in silence (living with 6 cats means thats not a possibility, though) but the inconsistency jars and sudden clatters and meows interrupt.
My solution that is to **listen to ambient noise**.
I find it helps nullify the misdirection my brain craves, land provide a soundscape that wraps the noise of kitty play time.
Ambient noise is the noise that play out in the background of daily lives; the rain drumming on a window, the intelligible hum of coffee shop chatter, the gossiping of birds on the wind, and so on.
Listening to these sounds can force a racing mind to slow down, rebase and refocus on what matters.
### Ambient Noise App for Ubuntu ###
![](http://www.omgubuntu.co.uk/wp-content/uploads/2015/04/ambient-noise-player-750x365.jpg)
Google Play and Apple app stores are packed full of ambient and white noise apps. Now a similar tool is available natively on Ubuntu.
[Ambient Noise][1] — as the name might suggest — is an audio player designed specifically for playing these sounds. It even integrates with the Ubuntu Sound Menu for a neat pick, click and relax experience.
The app, which is also known as ANoise Player and is made by Marcos Costales, comes with a set of **8 high-quality sounds**.
These 8 presets cover various ambient atmospheres, ranging from the rhythmic sound of rain, to the tranquil tones of nature at night, and back to the buzz of a bustling coffee shop in the afternoon.
### Install ANoise Player in Ubuntu ###
Ambient Noise player for Ubuntu is a free application and is available to install from its own dedicated PPA.
To do this open a new Terminal window and run:
sudo add-apt-repository ppa:costales/anoise
sudo apt-get update && sudo apt-get install anoise
Once installed simply open it from the Unity Dash (or your DEs equivalent), pick your preferred noise using Sound Menu and then …relax! The app even remembers which sound you used last.
Even so, give it a try out and see if it suits your needs. I would say let me know what you think, but I will be too focused to hear — and so might you!
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2015/04/ambient-noise-player-app-for-ubuntu-linux
作者:[Joey-Elijah Sneddon][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://plus.google.com/117485690627814051450/?rel=author
[1]:http://anoise.tuxfamily.org/

View File

@ -0,0 +1,86 @@
Top 6 Ways To Get Your iTunes Experience On Linux
================================================================================
![](http://cdn.makeuseof.com/wp-content/uploads/2015/04/itunes-linux-840x420.jpg?35dc20)
As youre getting used to Linux (potentially as your new main operating system), youll eventually try to find a way to efficiently manage your music. iTunes comes to mind because its been the most popular way to manage music over the years, but youll quickly find out that iTunes isnt available natively on Linux. Plus, better ways exist to manage your music now that its 2015.
However, that doesnt automatically mean that you wont be able to manage your music the way you want to. Theres plenty of other ways to keep tabs on your music library. Heres six great ways to get it done.
### iTunes via WINE ###
Even if iTunes isnt available in Linux as a native application, you can still try to [get it to work under WINE][1] or PlayOnLinux. These pieces of software try to add a compatibility layer so that Windows applications work on Linux, but the results are far from perfect. Therefore, [not all Windows applications will run with WINE][2] — but its still worth a try.
Each version of iTunes can give you different results, but the general process is as follows:
1. Install WINE
1. Run the iTunes installer via WINE
1. Google and try to solve any problems you come across.
Again, you might come across issues somewhere along the way which cannot be solved, such as the installer failing or the installed application refusing to run. Thats just how it is with WINE.
If you really want to use iTunes and you happen to luck out with WINE, then thats great. However, if youd rather use a native Linux application or WINE didnt work for you, then there are options here as well. Several “music library manager” programs are available to give you a quick oversight of your music and play it directly in the application, as well as make playlists.
### [Amarok][3] ###
![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/amarok_main.jpg?35dc20)
If you use KDE, then Id recommend Amarok. It has [plenty of features to manage your music][4] and tight desktop integration with KDE. It also has useful features such as Last.FM integration, file tracking, dynamic playlists, and script support. It can even pull up biographies of artists as you play their songs.
### [Banshee][5] ###
![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/banshee_main.jpg?35dc20)
If you use GNOME or any GTK-based desktop environment (theyre quite common), then Id recommend Banshee as a [full-featured music library][6] manager. It has a very similar feature set as Amarok, including Last.FM integration, Internet radio support, podcast support, and much more. Amarok and Banshee are really among the top two choices, so which one you choose should depend on which desktop environment youre using (for integrations sake).
### [Rhythmbox][7] ###
![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/rhythmbox_main.jpg?35dc20)
Rhythmbox as a more [lightweight music library alternative][8] that is best used on GTK-based desktop environments. However, it still has quite a few features. You also get Last.FM support here, plus gapless playback and integration with various other applications such as Nautilus, XChat, and Pidgin.
### [Clementine][9] ###
![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/clementine_main.jpg?35dc20)
Another application called Clementine also gets my recommendation with its clean and intuitive interface. It has tons of support for third-party services such as Spotify, Digitally Imported, and Dropbox. Theres also an Android app you can use as a remote control for Clementine. [Clementine is cross-platform][10] and available for Windows and Mac OS X.
They all are excellent at managing and playing your music. The only downside to all of these is that there is no iOS device integration, and theres currently no modern application that can do that. However, iOS has received enough improvements that its virtually unnecessary to connect it to a computer anymore.
### [Google Play Music][11] ###
![](http://cdn.makeuseof.com/wp-content/uploads/2015/03/google_music.jpg?35dc20)
Lastly, if none of those applications satisfy your needs, you can take a look at Google Play Music. This online service acts as a music library manager that can play your music, but it also has some extra benefits. You can upload all your music to it and have access on any device connected to the Internet. That also means that you wont have to sync your music between your computer and your mobile device (no matter if Android or iOS) because you have access to Google Play Music from both. If you want to expand your library you can get the All Access subscription, but its not a requirement. You can use it simply as a music library completely free for up to 20,000 songs.
#### Wot, no Spotify?! ####
The only reason why I dont mention Spotify is that, although its also a great way to access and listen to music, it doesnt really let you manage your own music. You cant upload trakcs to Spotify — you have to listen to what they give you. Albeit they give you a lot, but its nonetheless a different mechanism.
### You Have Options ###
With these six options, you should be able to get iTunes-like functionality on your desktop. These options focused mainly on managing and playing your music library, but if there are any other features that you need from iTunes, other Linux-native applications can take care of those needs.
**What music applications do you regularly use on Linux?** Let us know in the comments!
--------------------------------------------------------------------------------
via: http://www.makeuseof.com/tag/top-6-ways-get-itunes-experience-linux/
作者:[Danny Stieben][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.makeuseof.com/tag/author/danny/
[1]:http://www.makeuseof.com/tag/how-about-some-wine-with-your-linux/
[2]:http://www.makeuseof.com/answers/does-wine-runs-all-windows-apps/
[3]:https://amarok.kde.org/
[4]:http://www.makeuseof.com/tag/control-music-amarok-linux/
[5]:http://banshee.fm/
[6]:http://www.makeuseof.com/tag/banshee-20-comprehensive-media-player-streamer-podcast-tool-linux/
[7]:https://wiki.gnome.org/Apps/Rhythmbox
[8]:http://www.makeuseof.com/tag/play-manage-music-collection-rhythmbox-linux/
[9]:https://www.clementine-player.org/
[10]:http://www.makeuseof.com/tag/need-a-lightweight-music-player-without-sacrificing-features-clementine-cross-platform/
[11]:http://music.google.com/

View File

@ -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

View File

@ -0,0 +1,140 @@
10 Famous IT Skills in Demand That Will Get You Hired
================================================================================
In continuation of our last article [[Top 10 Operating Systems in demand][1]] which was highly appreciated by the Tecmint community, we here in this article aims at throwing light on top IT skills that will help you land to your dream job.
As mentioned in the first article these data and statistics are supposed to be change with the change in demand and market. We will try our best to update the list whenever there is any major changes. All the statistics are produced on the basis of close study of Job boards, postings and requirements by several IT companies across the globe.
### 1. VMware ###
The visualization and cloud computing software designed by Vmware Inc. tops the List. Vmware claims to commercially virtualize x86 architecture for the first time. VMware demand has increased upto 16% in the last quarter.
Latest stable Release: 11.0
### 2. MySQL ###
The open source Relational Database Management System falls second in the list. Until 2013 it was the second most widely used RDBMS. MySQL demand has increased upto 11% in the last quarter. The very famous MariaDB has been forked out of MySQL after Oracle Corp. Owned it.
Latest Stable Release : 5.6.23
### 3. Apache ###
The open source cross platform web (HTTP) server stands third in the list. Apache demand has increased to more than 13% in the last quarter.
Latest Stable Release : 2.4.12
### 4. AWS ###
Amazon web services is a collection of remote computing services offered by Amazon.com. Aws made to the list at number four. AWS demand has shown a growth of nearly 14% in the last quarter.
### 5. Puppet ###
The configuration Management System used in setting up IT Infrastructure comes at number five. It is written in Ruby and follows Client-server architecture. The demand of puppet has grown above 9% in the last quarter.
Latest Stable Release : 3.7.3
### 6. Hadoop ###
Hadoop is a open source software framework written in Java to process big data. It stands at position six in the list. The demand of Hadoop has gone upto 0.2% in the last quarter.
Latest Stable Release : 2.6.0
### 7. Git ###
The famous distributed control system written initially by Linus Torvalds made to the list at number seven. The demand of Git has gone above 7% in the last quarter.
Latest Stable Release : 2.3.4
### 8. Oracle PL/SQL ###
The procedural extension for SQL by Oracle corp. stands at position eight. PL/SQL is included in Oracle Database since Oracle 7. It has shown a decline of nearly 8% in the last quarter.
### 9. Tomcat ###
Open source web server and servlet container comes at position number nine. It has shown a growth in demand of nearly 15% in the last quarter.
Latest Stable Release : 8.0.15
### 10. SAP ###
The most famous Enterprise Resource Planning Software stands at position ten. The demand of SAP has shown a growth of nearly 3.5% in last quarter.
注:表格数据,不需要翻译-开始
<table cellspacing="0" cellpadding="5" style="width: 804px;">
<colgroup>
<col width="88">
<col width="427">
<col width="257">
</colgroup>
<tbody>
<tr valign="top">
<td width="88" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: 1px solid #000000; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0.1cm;">1.
</td>
<td width="427" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: 1px solid #000000; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0.1cm;">VMware</td>
<td width="257" bgcolor="#eeeeee" style="border: 1px solid #000000; padding: 0.1cm;"><span style="color: #006600;"><b>16% +</b></span></td>
</tr>
<tr valign="top" class="alt">
<td width="88" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">2.
</td>
<td width="427" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">MySQL</td>
<td width="257" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;"><span style="color: #006600;"><b>11% +</b></span></td>
</tr>
<tr valign="top">
<td width="88" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">3.</td>
<td width="427" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">Apache</td>
<td width="257" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;"><span style="color: #006600;"><b>13% +</b></span></td>
</tr>
<tr valign="top" class="alt">
<td width="88" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">4.
</td>
<td width="427" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">Amazon web services (AWS)</td>
<td width="257" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;"><span style="color: #006600;"><b>14% +</b></span></td>
</tr>
<tr valign="top">
<td width="88" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">5.
</td>
<td width="427" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">Puppet</td>
<td width="257" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;"><span style="color: #006600;"><b>9% +</b></span></td>
</tr>
<tr valign="top" class="alt">
<td width="88" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">6.</td>
<td width="427" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">Hadoop</td>
<td width="257" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;"><span style="color: #006600;"><b>0.2% +</b></span></td>
</tr>
<tr valign="top">
<td width="88" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">7.</td>
<td width="427" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">Git</td>
<td width="257" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;"><span style="color: #006600;"><b>7% +</b></span></td>
</tr>
<tr valign="top" class="alt">
<td width="88" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">8.</td>
<td width="427" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">Oracle PL/SQL</td>
<td width="257" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;"><span style="color: red;"><b>8% -</b></span></td>
</tr>
<tr valign="top">
<td width="88" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">9.</td>
<td width="427" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">Tomcat</td>
<td width="257" bgcolor="#eeeeee" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;"><span style="color: #006600;"><b>15% +</b></span></td>
</tr>
<tr valign="top" class="alt">
<td width="88" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">10.</td>
<td width="427" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; padding-top: 0cm;">SAP</td>
<td width="257" style="border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; border-top: none; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; padding-top: 0cm;"><span style="color: #006600;"><b>3.5% +</b></span></td>
</tr>
</tbody>
</table>
注:表格数据,不需要翻译-结束
Thats all for now. Ill be here with the next part of the series following. Till then stay tuned. Stay Connected. Stay Commenting. Dont forget to provide us with your feedback. Like and share us and help us get spread.
--------------------------------------------------------------------------------
via: http://www.tecmint.com/famous-it-skills-in-demand-that-will-get-you-hired/
作者:[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/top-distributions-in-demand-to-get-your-dream-job/

View File

@ -0,0 +1,149 @@
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 100s 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
注:表格数据--不需要翻译--开始
<table border="0" cellspacing="0">
<colgroup width="107"></colgroup>
<colgroup width="92"></colgroup>
<colgroup width="80"></colgroup>
<tbody>
<tr>
<td height="25" bgcolor="#DDDDDD" align="center" style="border: 1px solid #000000;"><span style="color: #111111; font-size: small;">1</span></td>
<td bgcolor="#DDDDDD" align="center" style="border: 1px solid #000000;"><span style="color: #111111; font-size: small;">Windows</span></td>
<td bgcolor="#DDDDDD" align="center" style="border: 1px solid #000000;"><b><span style="color: #111111; font-size: small;">0.1% +</span></b></td>
</tr>
<tr class="alt">
<td height="25" bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">2</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">RedHat</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><b><span style="color: #007826; font-size: small;">17% +</span></b></td>
</tr>
<tr>
<td height="25" bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">3</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">Solaris</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><b><span style="color: #007826; font-size: small;">14% +</span></b></td>
</tr>
<tr class="alt">
<td height="25" bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">4</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">AIX</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><b><span style="color: #007826; font-size: small;">11% +</span></b></td>
</tr>
<tr>
<td height="25" bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">5</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">Android</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><b><span style="color: #007826; font-size: small;">4% +</span></b></td>
</tr>
<tr class="alt">
<td height="25" bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">6</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">CentOS</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><b><span style="color: #007826; font-size: small;">22% +</span></b></td>
</tr>
<tr>
<td height="25" bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">7</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">Ubuntu</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><b><span style="color: #007826; font-size: small;">11% +</span></b></td>
</tr>
<tr class="alt">
<td height="25" bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">8</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">Suse</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><b><span style="color: #007826; font-size: small;">8% +</span></b></td>
</tr>
<tr>
<td height="25" bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">9</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">Debian</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><b><span style="color: #ff3300; font-size: small;">9% -</span></b></td>
</tr>
<tr class="alt">
<td height="25" bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">10</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><span style="font-size: small;">HP-UX</span></td>
<td bgcolor="#FFFFFF" align="center" style="border: 1px solid #000000;"><b><span style="color: #ff3300; font-size: small;">5% -</span></b></td>
</tr>
</tbody>
</table>
注:表格数据--不需要翻译--结束
Thats all for now. Ill be coming up with the next article of this series very soon. Till then stay tuned and connected to Tecmint. Dont 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]
译者:[译者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/top-distributions-in-demand-to-get-your-dream-job/www.tecmint.com/famous-it-skills-in-demand-that-will-get-you-hired/

View File

@ -1,265 +0,0 @@
Real-World WordPress Benchmarks with PHP5.5 PHP5.6 PHP-NG and HHVM
================================================================================
**TL;DR In a local, Vagrant-based environment HHVM lost, probably due to a bug; its still investigated with the help of the HHVM guys! However on a DigitalOcean 4GB box it beat even the latest build of PHP-NG!**
![](https://kinsta.com/wp-content/uploads/2014/07/phphhvm.jpg)
**Update: Please take a look at the results at the end of the article! They reflect the power of HHVM better (after the JIT warmup), for some reason we cannot get these results with all setups though.
The tests below were done in a Vagrant/VVV environment, the results are still interesting, it might be a bug in HHVM or the Vagrant setup thats preventing it from kicking into high speed, were investigating the issue with the HHVM guys.**
If you remember we [wrote an article a good couple of months ago][1] when WordPress 3.9 came out that HHVM was fully supported beginning with that release, and we were all happy about it. The initial benchmark results showed HHVM to be far more superior than the Zend engine thats currently powering all PHP builds. Then the problems came:
- HHVM can only be run as one user, which means less security (in shared environments)
- HHVM does not restart itself after it crashes, and unfortunately it still does that quite often
- HHVM uses a lot of memory right from the start, and yes, it per-request memory usage will be lower once you scale compared to PHP-FPM
Obviously you have to compromise based on your (or rather your sites) needs but is it worth it? How much of a performance gain can you expect by switching to HHVM?
At Kinsta we really like to test everything new and generally optimize everything to provide the best environment to our clients. Today I finally took the time to set up a test environment and do some tests to compare a couple of different builds with a fresh out of the box WordPress install and one that has a bunch of content added plus runs WooCommerce! To measure the script running time I simply added the
<?php timer_stop(1); ?>
line before the /body tag of the footer.phps.
**Note:
Previously this section contained benchmarks made with Vagrant/Virtualbox/Ubuntu14.04 however for some reason HHVM was really underperforming, probably due to a bug or a limitation of the virtualized environment. We feel that these test results do not reflect the reality so we re-run the tests on a cloud server and consider these valid.**
Here are the exact setup details of the environment:
- DigitalOcean 4GB droplet (2 CPU cores, 4GB RAM)
- Ubuntu 14.04, MariaDB10
- Test site: Munditia Theme with Demo Content Imported, WooCommerce 2.1.12 & WordPress 3.9.1
- PHP 5.5.9, PHP 5.5.15, PHP 5.6.0 RC2, PHP-NG (20140718-git-6cc487d) and HHVM 3.2.0 (version says PHP 5.6.99-hhvm)
**Without further ado, these were my test results, the lower the better, values in seconds:**
### DigitalOcean 4GB droplet ###
Seconds, 10 runs, lower the better.
这里有一个canvas的数据发布的时候需要截一个图
It looks like that PHP-NG achieves its peak performance after the first run! HHVM needs a couple more reloads, but their performance seems to be almost equal! I cant wait until PHP-NG is merged into the master! :)
Hits in a minute, higher the better.
这里有一个canvas的数据发布的时候需要截一个图
**PHP 5.5.15 OpCache Disabled**
- Transactions: **236 hits**
- Availability: 100.00 %
- Elapsed time: 59.03 secs
- Data transferred: 2.40 MB
- Response time: 2.47 secs
- Transaction rate: 4.00 trans/sec
- Throughput: 0.04 MB/sec
- Concurrency: 9.87
- Successful transactions: 236
- Failed transactions: 0
- Longest transaction: 4.44
- Shortest transaction: 0.48
**PHP 5.5.15 OpCache Enabled**
- Transactions: **441 hits**
- Availability: 100.00 %
- Elapsed time: 59.55 secs
- Data transferred: 4.48 MB
- Response time: 1.34 secs
- Transaction rate: 7.41 trans/sec
- Throughput: 0.08 MB/sec
- Concurrency: 9.91
- Successful transactions: 441
- Failed transactions: 0
- Longest transaction: 2.19
- Shortest transaction: 0.64
**PHP 5.6 RC2 OpCache Disabled**
- Transactions: **207 hits**
- Availability: 100.00 %
- Elapsed time: 59.87 secs
- Data transferred: 2.10 MB
- Response time: 2.80 secs
- Transaction rate: 3.46 trans/sec
- Throughput: 0.04 MB/sec
- Concurrency: 9.68
- Successful transactions: 207
- Failed transactions: 0
- Longest transaction: 3.65
- Shortest transaction: 0.54
**PHP 5.6 RC2 OpCache Enabled**
- Transactions: **412 hits**
- Availability: 100.00 %
- Elapsed time: 59.03 secs
- Data transferred: 4.18 MB
- Response time: 1.42 secs
- Transaction rate: 6.98 trans/sec
- Throughput: 0.07 MB/sec
- Concurrency: 9.88
- Successful transactions: 412
- Failed transactions: 0
- Longest transaction: 1.93
- Shortest transaction: 0.34
**HHVM 3.2.0 (version says PHP 5.6.99-hhvm)**
- Transactions: **955 hits**
- Availability: 100.00 %
- Elapsed time: 59.69 secs
- Data transferred: 9.18 MB
- Response time: 0.62 secs
- Transaction rate: 16.00 trans/sec
- Throughput: 0.15 MB/sec
- Concurrency: 9.94
- Successful transactions: 955
- Failed transactions: 0
- Longest transaction: 0.85
- Shortest transaction: 0.23
**PHP-NG OpCache Enabled (built: Jul 29 2014 )**
- Transactions: **849 hits**
- Availability: 100.00 %
- Elapsed time: 59.88 secs
- Data transferred: 8.63 MB
- Response time: 0.70 secs
- Transaction rate: 14.18 trans/sec
- Throughput: 0.14 MB/sec
- Concurrency: 9.94
- Successful transactions: 849
- Failed transactions: 0
- Longest transaction: 1.06
- Shortest transaction: 0.13
----------
**Note:
These are the previous test results, theyre faulty. I left them here for future reference but please do NOT consider these values a truthful representation!**
Here are the exact setup details of the environment:
- Apple MacBook Pro mid-2011 (Intel Core i7 2 GHz 4 cores, 4GB RAM, 256GB Ocz Vertex 3 MI)
- Current Varying Vagrant Vagrants build with Ubuntu 14.04, nginx 1.6.x, mysql 5.5.x, etc.
- Test site 1: WordPress 3.9.1 bare minimum
- Test site 2: Munditia Theme with Demo Content Imported, WooCommerce 2.1.12 & WordPress 3.9.1
- PHP 5.5.9, PHP 5.5.15, PHP 5.6.0 RC2, PHP-NG (20140718-git-6cc487d) and HHVM 3.2.0 (version says PHP 5.6.99-hhvm)
**Default Theme, Default WordPress 3.9.1, PHP 5.5.9-1ubuntu4.3 (with OpCache 7.0.3)**
**Faulty results. Please read the note above!** Seconds, 10 runs, lower the better.
这里有一个canvas的数据发布的时候需要截一个图
### Munditia Theme with Demo Content Imported, WooCommerce 2.1.12 & WordPress 3.9.1 (OpCache Disabled) ###
**Faulty results. Please read the note above**! Seconds, 10 runs, lower the better.
这里有一个canvas的数据发布的时候需要截一个图
### Munditia Theme with Demo Content Imported, WooCommerce 2.1.12 & WordPress 3.9.1 (OpCache Enabled) ###
**Faulty results. Please read the note above!** Seconds, 10 runs, lower the better.
这里有一个canvas的数据发布的时候需要截一个图
**Siege
parameters: 10 concurrent users for 1 minute: siege -c 10 -b -t 1M**
**Faulty results. Please read the note above!** Hits in a minute, higher the better.
这里有一个canvas的数据发布的时候需要截一个图
**PHP5.5 OpCache Disabled (PHP 5.5.15-1+deb.sury.org~trusty+1)Faulty results. Please read the note above!**
- Transactions: 35 hits
- Availability: 100.00 %
- Elapsed time: 59.04 secs
- Data transferred: 2.03 MB
- Response time: 14.56 secs
- Transaction rate: 0.59 trans/sec
- Throughput: 0.03 MB/sec
- Concurrency: 8.63
- Successful transactions: 35
- Failed transactions: 0
- Longest transaction: 18.73
- Shortest transaction: 5.80
**HHVM 3.2.0 (version says PHP 5.6.99-hhvm)Faulty results. Please read the note above!**
- Transactions: 44 hits
- Availability: 100.00 %
- Elapsed time: 59.53 secs
- Data transferred: 0.42 MB
- Response time: 12.00 secs
- Transaction rate: 0.74 trans/sec
- Throughput: 0.01 MB/sec
- Concurrency: 8.87
- Successful transactions: 44
- Failed transactions: 0
- Longest transaction: 13.40
- Shortest transaction: 2.65
**PHP5.5 OpCache Enabled (PHP 5.5.15-1+deb.sury.org~trusty+1 with OpCache 7.0.4-dev)Faulty results. Please read the note above!**
- Transactions: 100 hits
- Availability: 100.00 %
- Elapsed time: 59.30 secs
- Data transferred: 5.81 MB
- Response time: 5.69 secs
- Transaction rate: 1.69 trans/sec
- Throughput: 0.10 MB/sec
- Concurrency: 9.60
- Successful transactions: 100
- Failed transactions: 0
- Longest transaction: 7.25
- Shortest transaction: 2.82
**PHP5.6 OpCache Enabled (PHP 5.6.0RC2 with OpCache 7.0.4-dev)Faulty results. Please read the note above!**
- Transactions: 103 hits
- Availability: 100.00 %
- Elapsed time: 59.99 secs
- Data transferred: 5.98 MB
- Response time: 5.51 secs
- Transaction rate: 1.72 trans/sec
- Throughput: 0.10 MB/sec
- Concurrency: 9.45
- Successful transactions: 103
- Failed transactions: 0
- Longest transaction: 6.87
- Shortest transaction: 2.52
**PHP-NG OpCache Enabled (20140718-git-6cc487d)Faulty results. Please read the note above!**
- Transactions: 124 hits
- Availability: 100.00 %
- Elapsed time: 59.32 secs
- Data transferred: 7.19 MB
- Response time: 4.58 secs
- Transaction rate: 2.09 trans/sec
- Throughput: 0.12 MB/sec
- Concurrency: 9.57
- Successful transactions: 124
- Failed transactions: 0
- Longest transaction: 6.86
- Shortest transaction: 2.24
**What do you think about this test? Did I miss something? What would you like to see in the next benchmarking article? Please leave your comment below!**
--------------------------------------------------------------------------------
via: https://kinsta.com/blog/real-world-wordpress-benchmarks-with-php5-5-php5-6-php-ng-and-hhvm/
作者:[Mark Gavalda][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:https://kinsta.com/blog/author/kinstadmin/
[1]:https://kinsta.com/blog/hhvm-and-wordpress/

View File

@ -1,3 +1,5 @@
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.
@ -94,4 +96,4 @@ via: http://linoxide.com/ubuntu-how-to/remember-running-applications-ubuntu/
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[a]:http://linoxide.com/author/arunp/

View File

@ -1,3 +1,4 @@
translating by KayGuoWhu
Enjoy Android Apps on Ubuntu using ARChon Runtime
================================================================================
Before, we gave try to many android app emulating tools like Genymotion, Virtualbox, Android SDK, etc to try to run android apps on it. But, with this new Chrome Android Runtime, we are able to run Android Apps on our Chrome Browser. So, here are the steps we'll need to follow to install Android Apps on Ubuntu using ARChon Runtime.

View File

@ -1,114 +0,0 @@
Translating by ZTinoZ
How to Host Open Source Code Repository in github
================================================================================
Hi all, today we will be learning how to host Source Code of Open Source Software in the repository hosted by github.com . GitHub is a web-based Git repository hosting service, which offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features. It provides a workplace to host powerful collaboration, code review, and code management for open source and private projects. Unlike Git, which is strictly a command-line tool, GitHub provides a web-based graphical interface and desktop as well as mobile integration. GitHub offers both paid plans for private repositories and free accounts, which are usually used to host open-source software projects.
![github universe logo](http://blog.linoxide.com/wp-content/uploads/2015/03/github-universe.jpg)
It is fast and more flexible web based hosting service which is easy to use and to manage distributed revision control. Anyone can host their software's source code in github's repository for the use, contribution, sharing, issue tracking and many more by millions of people across the globe. Here are some easy and quick steps to easily host software's source code.
### 1. Creating a new Github Account ###
First of all, open your favorite browser and go to Github's homepage url ie [github][1]. Then, the homepage will be opened as shown below.
![Github Homepage](http://blog.linoxide.com/wp-content/uploads/2015/03/github-homepage.png)
Now, after the homepage has been opened, please fill form shown to sign up for a new github account.
After the you entered the valid information required for sign up, you'll be redirected to the plan choosing step. We have 5 plans listed in this page. One can choose the plan according to their requirement. Here, we'll go for a free plan. So, click on Choose to the Free plan and click on Finish Sign up. If we are planning to create an organization then, we need to tick on Help me setup an organization next.
![choosing plan](http://blog.linoxide.com/wp-content/uploads/2015/03/choosing-plan.png)
### 2. Creating a New Repository ###
After we have successfully signed up a new account or logged in to Github, we'll now need to create a new Repository to get started.
Click on **(+)** button which is located at the top right near the account id. Then Click on New Repository .
![Add new repository](http://blog.linoxide.com/wp-content/uploads/2015/03/create-new-repository.png)
Now, after clicking on add a new repository, we'll now be directed to the page where we'll need to enter the required information.
![adding repository information](http://blog.linoxide.com/wp-content/uploads/2015/03/adding-information-repository.png)
Now, after entering the required information about the new repository, we'll need to click on green Create repository button.
After it is done, we'll get to see something similar like this image.
![repository github](http://blog.linoxide.com/wp-content/uploads/2015/03/repository-github.png)
### 3. Uploading an existing Project ###
If we want to share our existing project on Github, we'll surely need to push the codes to the repository we created. To do so, we'll first need to install git in our Linux machine. As I am running Ubuntu 14.04 LTS in my machine, I'll need to run **apt** manger to install it.
$ sudo apt-get install git
![installing git](http://blog.linoxide.com/wp-content/uploads/2015/03/install-git.png)
Now, as git is ready, we are now ready to upload the codes.
**Note**: To avoid errors, do not initialize the new repository with **README**, license, or gitignore files. You can add these files after your project has been pushed to GitHub.
In Terminal, we'll need to change the current working directory to your local project then initialize the local directory as a Git repository/
$ git init
We'll then add the files in our new local repository. This stages them for the first commit.
$ git add .
Now, we'll need to commit the files that we've staged in our local repository.
$ git commit -m 'First commit'
![git commit](http://blog.linoxide.com/wp-content/uploads/2015/03/git-commit.png)
In Terminal, we'll add the URL for the remote repository where our local repostory will be pushed.
$ git remote add origin remote Repository url
$ git remote -v
![adding remote url](http://blog.linoxide.com/wp-content/uploads/2015/03/adding-remote-url.png)
Note: Please do replace remote Repository url to the url of the remote repo.
Now, to push the changes in our local repository to GitHub's repo we'll need to run as below and enter the required credential for the repository.
$ git push origin master
![pushing repo](http://blog.linoxide.com/wp-content/uploads/2015/03/pushing-repo.png)
### Cloning a Repo ###
If we want to download a code repository from github straight to our local drives with a single command then, we can simply use git clone command which will clone the current directory to the remote repository.
$ git clone https://github.com/aruntechgeek/linspeed.git
![cloning repo](http://blog.linoxide.com/wp-content/uploads/2015/03/cloning-repo.png)
Please change the above url to the repository you want to clone from.
### Updating a Change ###
If we made changes to our code and want to push them to our remote repository then after changing the changes, we should run the following commands inside that directory.
$ git add .
$ git commit -m "Updating"
$ git push
### Conclusion ###
Hurray! We have successfully hosted our Project Source Code in Github repository. Github is fast and more flexible web based hosting service which is easy to use and to manage distributed revision control. Millions of awesome Open Source projects are hosted in github. So, if you have any questions, suggestions, feedback please write them in the comment box below. Thank you ! Enjoy Github :-)
--------------------------------------------------------------------------------
via: http://linoxide.com/usr-mgmt/host-open-source-code-repository-github/
作者:[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/
[1]:http://github.com/

View File

@ -1,193 +0,0 @@
Vic020
A Peep into Process Management Commands in Linux
================================================================================
A program in execution is called a process. While a program is an executable file present in storage and is passive, a process is a dynamic entity comprising of allocated system resources, memory, security attributes and has a state associated with it. There can be multiple processes associated with the same program and operating simultaneously without interfering with each other. The operating system efficiently manages and keeps track of all the processes running in the system.
In order to manage these processes, user should be able to
- See all the processes that are running
- View the system resources consumed by the processes
- Locate a particular process and take specific action on it
- Change the priority levels associated with processes
- Kill the required processes
- Restrict the system resources available to processes etc.
Linux offers many commands to the user to effectively handle the above mentioned scenarios. Let's understand them one by one.
### 1. ps ###
'ps' is one of the basic commands in Linux to view the processes on the system. It lists the running processes in a system along with other details such as process id, command, cpu usage, memory usage etc. Some of the following options come handy to get more useful information
ps -a - List all the running / active processes
![Output of "ps -a" command](http://blog.linoxide.com/wp-content/uploads/2015/02/ps-a2.png)
ps -ef |grep - List only the required process
ps -aux - Displays processes including those with no terminals(x) Output is user oriented (u) with fields like USER, PID, %CPU, %MEM etc
### 2. pstree ###
In Linux, every process gets spawned by its parent process. This command helps visualize the processes by displaying a tree diagram of the processes showing the relationship between them. If a pid is mentioned, the root of the tree will be the pid. Else it will be rooted at init.
![pstree](http://blog.linoxide.com/wp-content/uploads/2015/02/pstree.png)
### 3. top ###
'top' is a very useful command to monitor the system as it shows the system resources used by different processes. It gives a snapshot of the situation that the system is currently in. Its output includes data like process identification number(PID), user of the process, nice value, %CPU and %memory currently consumed by the process etc. One can use this output to figure out which process is hogging the CPU or memory.
![top](http://blog.linoxide.com/wp-content/uploads/2015/02/top.png)
### 4. htop ###
htop is similar to top, but is an interactive text mode process viewer. It displays the per CPU usage and memory, swap usage using a text graph. One can use the Up/Down arrow key to select processes, F7 and F8 to change the priority and F9 to kill a process. It is not present by default in the system and need to be installed explicitly.
![htop output](http://blog.linoxide.com/wp-content/uploads/2015/03/htop1.png)
### 5. nice ###
With the help of nice command, users can set or change the priorities of processes in Linux. Higher the priority of a process, more is the CPU time allocated by the kernel for it. By default, a process gets launched with priority 0. Process priority can be viewed using the top command output under the NI (nice value) column.
Values of process priority range from -20 to 19. Lower the nice value, higher the priority.
nice <priority value> <process name> - starts the process by setting its priority to the given value
![nice command](http://blog.linoxide.com/wp-content/uploads/2015/02/nice-cmd.png)
![changed nice value of 'top'](http://blog.linoxide.com/wp-content/uploads/2015/02/top-nice.png)
In the above example, 'top' gets launched with a priority -3.
### 6. renice ###
It is similar to nice command. Use this command to change the priority of an already running process. Please note that users can change the priority of only the processes that they own.
renice -n -p - change the priority of the given process
![renice command](http://blog.linoxide.com/wp-content/uploads/2015/02/renice2.png)
Priority of process with id 3806 which had an initial priority of 0 is now changed to priority 4.
renice -u -g - change the priority of processes owned by the given user and group
![output of renice for a user group](http://blog.linoxide.com/wp-content/uploads/2015/02/renice1.png)
In the above example, priority of all processes owned by user 'mint' get changed to '-3'
### 7. kill ###
This is a command used to terminate processes by sending signals. If a process is not responding to kill command, then it can be forcefully killed using the kill -9 command. But this needs to be used carefully as it does not give a chance for the process to clean up and might end up in corrupted files. If we are not aware of the PID of the process to be killed or want to mention the process name to be killed, then killall comes to rescue.
kill <pid>
kill -9 <pid>
killall -9 - kill all instances having the same process name
If you use kill, you need to know the process id of the process to be killed. pkill is a similar command but can be used to kill processes using a pattern, i.e. process name, process owner etc.
pkill <process name>
![kill initiated](http://blog.linoxide.com/wp-content/uploads/2015/02/kill-initiated.png)
![kill](http://blog.linoxide.com/wp-content/uploads/2015/02/kill.png)
### 8. ulimit ###
Command useful in controlling the system-wide resources available to the shells and processes. Mostly useful for system administrators to manage systems that are heavily used and have performance problems. Limiting the resources ensures that important processes continue to run while other processes do not consume more resources.
ulimit -a - Displays the current limits associated with the current user.
![ulimit -a](http://blog.linoxide.com/wp-content/uploads/2015/02/ulimit-a.png)
-f - maximum file size
-v - maximum virtual memory size (in KB)
-n - maximum file descriptor plus 1
-H : To change and report the hard limit
-S : To change and report the soft limit
Check out the ulimit man page for more options.
### 9. w ###
w gives us information about the users who have currently logged in and the processes that they are running. The header details displayed contain information like current time, how long the system has been running, total number of users logged in, load average of the system for the last 1, 5 and 15 minutes
Based on the user information, one can take care before terminating any processes that do not belong to them.
!['w' command](http://blog.linoxide.com/wp-content/uploads/2015/02/w.png)
**who** is a related command and gives a list of currently logged in users, time of last system boot, current run levels etc.
!['who' command](http://blog.linoxide.com/wp-content/uploads/2015/02/who.png)
**whoami** command prints the username of the current user ID
!['whoami' command](http://blog.linoxide.com/wp-content/uploads/2015/02/whoami.png)
### 10. pgrep ###
pgrep stands for "Process-ID Global Regular Expression Print". It scans the currently running processes and lists the process IDs that match the selection criteria mentioned on command line to stdout. Useful for retrieving the process id of a process by using its name.
pgrep -u mint sh
This command will display the process ID for the process named 'sh' and owned by user 'mint'
![output of pgrep](http://blog.linoxide.com/wp-content/uploads/2015/03/pgrep.png)
### 11. fg , bg ###
Sometimes, the commands that we execute take a long time to complete. In such situations, we can push the jobs to be executed in the background using 'bg' command and can be brought to the foreground with the 'fg' command.
We can start a program in background by using the '&' :
find . -name *iso > /tmp/res.txt &
A program that is already running can also be sent to the background using 'CTRL+Z' and 'bg' command:
find . -name *iso > /tmp/res.txt & - start the job in the background
ctrl+z - suspend the currently executing foreground job
bg - push the command execution to background
We can list all the background processes using 'jobs' command
jobs
We can bring back a background process to foreground using the 'fg' command.
fg %
![output of fg, bg and jobscommands](http://blog.linoxide.com/wp-content/uploads/2015/03/fg-bg-jobs.png)
### 12. ipcs ###
ipcs command is used for listing the inter-process communication facilities (shared memory, semaphores and message queues).
This command with -p option can be combined with options -m, -s or-q to display the process id which recently accessed the corresponding ipc facility.
ipcs -p -m
The screen shot below is listing the creator id and process id which accessed the shared memory recently.
![ipcs command](http://blog.linoxide.com/wp-content/uploads/2015/03/ipcs.png)
### Conclusion ###
Generally, it is considered the job of administrators to fix problems and tweak the system to improve the performance. But users also need to deal with processes in Linux quite often. Hence, it is essential to familiarise ourselves with the various commands available to manage them effectively.
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/process-management-commands-linux/
作者:[B N Poornima][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/bnpoornima/

View File

@ -1,57 +0,0 @@
2 Ways to Create Your Own Docker Base Image
================================================================================
Greetings to everyone, today we'll learn about docker base Images and how we can build our own. [Docker][1] 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 Images is a read-only layer which never changes. It Docker uses a **Union File System** to add a read-write file system over the read-only file system. But all the changes go to the top-most writeable layer, and underneath, the original file in the read-only image is unchanged. Since images don't change, images do not have state. Base Images are those images that has no parent. The major benefits of it is that it allows us to have a separate linux OS running.
Here are the ways on how we can create a custom base image.
### 1. Creating Docker Base Image using Tar ###
We can create our own base image using tar, we'll want to start building it with a working Linux Distribution we'll want to package as base image. This process may differ and depends on what distribution we are trying to build. In Debian distribution of Linux, debootstrap is preinstalled. We'll need to install debootstrap before starting the below process. Debootstrap is used to fetch the required packages to build the base system. Here, we'll create image based on Ubuntu 14.04 "Trusty". To do so, we'll need to run the following command in a terminal or shell.
$ sudo debootstrap trusty trusty > /dev/null
$ sudo tar -C trusty -c . | sudo docker import - trusty
![creating docker base image using debootstrap](http://blog.linoxide.com/wp-content/uploads/2015/03/creating-base-image-debootstrap.png)
Here, the above command creates a tar file of the current directory and outputs it to STDOUT, where "docker import - trusty" takes it from STDIN and creates a base image called trusty from it. Then, we'll run a test command inside that image as follows.
$ docker run trusty cat /etc/lsb-release
Here are some example scripts that will allow us to build quick base images in [Docker GitHub Repo][2] .
### 2. Creating Base Image using Scratch ###
In the Docker registry, there is a special repository known as Scratch, which was created using an empty tar file:
$ tar cv --files-from /dev/null | docker import - scratch
![creating docker base image using scratch](http://blog.linoxide.com/wp-content/uploads/2015/03/creating-base-image-using-scratch.png)
We can use that image to base our new minimal containers FROM:
FROM scratch
ADD script.sh /usr/local/bin/run.sh
CMD ["/usr/local/bin/run.sh"]
The above Dockerfile is from an extremely minimal image. Here, first it starts with a totally blank filesystem, then it copies script.sh that is created to /usr/local/bin/run.sh and then run the script /usr/local/bin/run.sh .
### Conclusion ###
Here, in this tutorial, we learned how we can build a custom Docker Base Image out of the box. Building a docker base image is an easy task because there are sets of packages and scripts already available for. Building a docker base image is a lot useful if we want to install what we want in it. So, if you have any questions, suggestions, feedback please write them in the comment box below. Thank you ! Enjoy :-)
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-how-to/2-ways-create-docker-base-image/
作者:[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/
[1]:https://www.docker.com/
[2]:https://github.com/docker/docker/blob/master/contrib/mkimage-busybox.sh

View File

@ -1,70 +0,0 @@
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 apps 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 users 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, its 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 lets be honest: thats 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 youll 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 environments 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.
**Dont forget: you can always tip us with news, app suggestions, and anything else youd 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

View File

@ -1,3 +1,5 @@
translating by martin.
ZMap Documentation
================================================================================
1. Getting Started with ZMap
@ -740,4 +742,4 @@ via: https://zmap.io/documentation.html
[1]:https://github.com/ewust/forge_socket/
[2]:https://github.com/zmap/zmap/blob/v1.0.0/src/output_modules/output_modules.c
[3]:https://github.com/zmap/zmap/blob/master/src/output_modules/output_modules.h
[4]:https://github.com/zmap/zmap/blob/master/src/output_modules/module_csv.c
[4]:https://github.com/zmap/zmap/blob/master/src/output_modules/module_csv.c

View File

@ -0,0 +1,329 @@
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 doesnt 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 doesnt 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 doesnt 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, youll 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 wont 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/

View File

@ -0,0 +1,85 @@
How to secure BGP sessions using authentication on Quagga
================================================================================
The BGP protocol runs over TCP, and as such, it inherits all the vulnerabilities of a TCP connection. For example, within a BGP session, an attacker may impersonate a legitimate BGP neighbor, and convince the BGP routers on the other end to share their routing information with the attacker. The problem occurs when the attacker advertises and injects bogus routes towards neighboring routers. The unsuspecting neighboring routers may then start sending live traffic towards the attacker, which in most cases goes nowhere and simply gets dropped. Back in 2008, YouTube actually [fell victim][1] to such BGP route poisoning, and suffered major outage on their video service for more than an hour. In a far worse case, if the attacker is savvy enough, they can falsely act as a transparent transit router and sniff the transit traffic for any sensitive data. As you can imagine, this can have far reaching consequences.
To protect active BGP sessions against such attacks, many service providers leverage [MD5 checksum and a pre-shared key][2] for their BGP sessions. In a protected BGP session, a BGP router which sends a packet generates an MD5 hash value by using a pre-shared key, portions of the IP and TCP headers and the payload. The MD5 hash is then stored as a TCP option field. Upon receipt of the packet, a receiving router uses the same method to generate its version of the MD5 hash using a pre-shared key. It compares the hash with the one of the received packet to decide whether to accept the packet. For an attacker, it is almost impossible to guess the checksum or the key. For BGP routers, they can be assured that each packet is validated before its content is consumed.
In this tutorial, we will see how we can secure a BGP session between two neighbors using MD5 checksum and a pre-shared key.
### Preparation ###
Securing a BGP session is fairly straightforward. We will use the following routers.
注:表格
<table id="content">
<tbody><tr>
<td><b>Router name</b></td>
<td><b>AS</b></td>
<td><b>IP address</b></td>
</tr>
<tr>
<td>router-A</td>
<td>100</td>
<td>10.10.12.1/30</td>
</tr>
<tr>
<td>router-B</td>
<td>200</td>
<td>10.10.12.2/30</td>
</tr>
</tbody></table>
The stock Linux kernel supports TCP MD5 option natively for IPv4 and IPv6. Thus if you built Quagga router from a brand new [Linux box][3], TCP MD5 capability will be automatically available for Quagga. It'll be just a matter of configuring Quagga to take advantage of the capability. But if you are using a FreeBSD box or built a custom kernel for Quagga, make sure that you enable TCP MD5 support on the kernel (e.g., CONFIG_TCP_MD5SIG kernel option in Linux).
### Configuring Router-A for Authentication ###
We will use the CLI shell of Quagga to configure the routers. The only new command that we will use is 'password'.
[root@router-a ~]# vtysh
router-a# conf t
router-a(config)# router bgp 100
router-a(config-router)# network 192.168.100.0/24
router-a(config-router)# neighbor 10.10.12.2 remote-as 200
router-a(config-router)# neighbor 10.10.12.2 password xmodulo
The pre-shared key in this example is 'xmodulo'. Obviously, in a production environment you need to select a strong key.
**Note**: in Quagga, the 'service password-encryption command is supposed to encrypt all plain-text passwords (e.g., login password) in its configuration file. However, when I use this command, I notice that the pre-shared key in BGP configuration still remains in clear text. I am not sure whether it's a limitation of Quagga, or whether it's a version issue.
### Configuring Router-B for Authentication ###
We will configure router-B in a similar fashion.
[root@router-b ~]# vtysh
router-b# conf t
router-b(config)# router bgp 200
router-b(config-router)# network 192.168.200.0/24
router-b(config-router)# neighbor 10.10.12.1 remote-as 100
router-b(config-router)# neighbor 10.10.12.1 password xmodulo
### Verifying a BGP session ###
If everything has been configured correctly, the BGP session should be up, and both routers should be exchanging routes. At this point, every outgoing packet in a TCP session carries a MD5 digest of the packet contents and a secret key, and the digest is automatically validated by the other end point.
We can verify the active BGP session by viewing BGP summary as usual. MD5 checksum verification occurs transparently within Quagga, so you don't see it at the BGP level.
![](https://farm8.staticflickr.com/7621/16837774368_e9ff66b370_c.jpg)
If you want to test BGP authentication, you can configure one neighbor without a password or deliberately use a wrong pre-shared key and see what happens. You can also use a packet sniffer like tcpdump or Wireshark to analyze the packets that go through the BGP session. For example, tcpdump with "-M <secret>" option will validate the MD5 digests found in TCP option field.
To sum up, in this tutorial we demonstrate how we can easily secure the BGP session between two routers. The process is very straightforward compared to other protocols. It is always recommended to secure your BGP session, especially if you are setting up the BGP session with another AS. The pre-shared key should also be kept safe.
--------------------------------------------------------------------------------
via: http://xmodulo.com/bgp-authentication-quagga.html
作者:[Sarmed Rahman][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/sarmed
[1]:http://research.dyn.com/2008/02/pakistan-hijacks-youtube-1/
[2]:http://tools.ietf.org/html/rfc2385
[3]:http://xmodulo.com/centos-bgp-router-quagga.html

View File

@ -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/

View File

@ -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/

View File

@ -0,0 +1,152 @@
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 youve 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 dont 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 youre interested to know more at aria2 and their switches, read the following article.
- [Aria2 A Multi-Protocol Command-Line Download Manager for Linux][7]
Thats all for now. Ill be here again with another interesting topic you people will love to read. Till then stay tuned and connected to Tecmint. Dont 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]
译者:[译者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/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/

View File

@ -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 hosts 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 servers 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 wouldnt 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 isnt 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 isnt 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 shouldnt, 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 networks 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, lets 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 arent 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 networks broadcast address. This address SHOULD NOT be a part of the range stanza as the broadcast address cant 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 arent 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 interfaces 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 doesnt have an IPv4 address, great! Lets 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 lets check the server to see if it was actually the place where this machine received this new IP address. To accomplish this task, the servers 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/

View File

@ -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 <new name> <old name>
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://<ip-address>: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/

View File

@ -0,0 +1,145 @@
wangjiezhe translating...
What is a good alternative to wget or curl on Linux
================================================================================
If you often need to access a web server non-interactively in a terminal environment (e.g., download a file from the web, or test REST-ful web service APIs), chances are that wget or curl is your go-to tool. With extensive command-line options, both of these tools can handle a variety of non-interactive web access use cases (examples [here][1], [here][2] and [here][3]). However, even powerful tools like these are only as good as your knowledge of how to use them. Unless you are well versed in the nitty and gritty details of their syntax, these tools are nothing more than simple web downloaders for you.
Billed as a "curl-like tool for humans," [HTTPie][4] is designed to improve on wget and curl in terms of usability. Its main goal is to make command-line interaction of a web server as human-friendly as possible. For that, HTTPie comes with expressive, yet very simple and intuitive syntax. It also displays responses in colorized formats for readability, and offers nice goodies like excellent JSON support and persistent sessions to streamline your workflows.
I know some of you will be skeptical about replacing a ubiquitously available, perfectly good tool such as wget or curl with totally unheard of software. This view has merit especially if you are a system admin who works with many different hardware boxes. For developers or end-users, however, I would say it's all about productivity. If I've found a user-friendly alternative of a tool, I don't see any problem adopting the easy to use version in my work environment to save my precious time. No need to be loyal and religious about what's being replaced. After all, choice is the best thing about Linux.
In this post, let me review HTTPie, and show you what I mean by HTTPie being a user-friendly alternative of wget and curl.
![](https://farm8.staticflickr.com/7633/16849137018_bcc7a616fc_b.jpg)
### Install HTTPie on Linux ###
HTTPie is written in Python, so you can install it pretty much everywhere (Linux, MacOSX, Windows). Even better, it comes as a prebuilt package on most Linux distributions.
#### Debian, Ubuntu or Linux Mint: ####
$ sudo apt-get install httpie
#### Fedora: ####
$ sudo yum install httpie
#### CentOS/RHEL: ####
First, enable [EPEL repository][5] and then run:
$ sudo yum install httpie
For any Linux distribution, an alternative installation method is to use [pip][6].
$ sudo pip install --upgrade httpie
### HTTPie Examples ###
Once you install HTTPie, you can invoke it by typing http command. In the rest of this article, let me show several useful examples of http command.
#### Example 1: Custom Headers ####
You can set custom headers in the format of <header:value>. For example, let's send an HTTP GET request to www.test.com, with custom user-agent and referer, as well as a custom header (e.g., MyParam).
$ http www.test.com User-Agent:Xmodulo/1.0 Referer:http://xmodulo.com MyParam:Foo
Note that when HTTP GET method is used, you don't need to specify any HTTP method.
The HTTP request will look like:
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
#### Example 2: Download a File ####
You can use http as a file downloader tool. You will need to redirect output to a file as follows.
$ http www.test.com/my_file.zip > my_file.zip
Alternatively:
$ http --download www.test.com/my_file.zip
#### Example 3: Custom HTTP Method ####
Besides the default GET method, you can use other methods (e.g., PUT, POST, HEAD). For example, to sent an HTTP PUT request:
$ http PUT www.test.com name='Dan Nanni' email=dan@email.com
#### Example 4: Submit a Form ####
Submitting a form with http command is as easy as:
$ http -f POST www.test.com name='Dan Nanni' comment='Hi there'
The '-f' option lets http command serialize data fields, and set 'Content-Type' to "application/x-www-form-urlencoded; charset=utf-8".
The HTTP POST request will look like:
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
#### Example 5: JSON Support ####
HTTPie comes with built-in JSON support, which is nice considering its growing popularity as a data exchange format. In fact, the default content-type used by HTTPie is JSON. So if you send data fields without specifying any content-type, they will automatically be serialized as a JSON object.
$ http POST www.test.com name='Dan Nanni' comment='Hi there'
The HTTP POST request will look like:
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"}
#### Example 6: Input Redirect ####
Another nice user-friendly feature of HTTPie is input redirection, where you can feed an HTTP request body with buffered data. For example, you can do things like:
$ http POST api.test.com/db/lookup < my_info.json
or:
$ echo '{"name": "Dan Nanni"}' | http POST api.test.com/db/lookup
### Conclusion ###
In this article, I introduce to you HTTPie, a possible alternative to wget or curl. Besides these simple examples presented here, you can find a lot of interesting use cases of HTTPie at the [official site][7]. Again, a powerful tool is only as good as your knowledge about the tool. Personally I am sold on HTTPie, as I was looking for a way to test complicated web APIs more easily.
What's your thought?
--------------------------------------------------------------------------------
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

View File

@ -0,0 +1,35 @@
VirturalBox 5.0 beta版终于发布了
=======================================
**甲骨文公司的桌面虚拟化软件获得了近五年来的第一次重大改版,但是更像是改进而不是革命性的的变化。**
VirtualBox由Sun公司创建现在由甲骨文管理的开源虚拟化系统获得了近5年来第一次的主版本更新发布。
从发行说明和测试版本身的表现来看别期望任何真正革命性的改变。在此版本中VirtualBox在视觉上和技术上都做了一些改进但和VMware相比它的主要优势仍然是相同核心功能的自由化。
VirtualBox 4.0的最后一个主要版本在2010年12月发布它采用了新的图形化用户界面新的虚拟化硬件和重组的项目设计带来了重大的改版。但项目主要版本的发布步伐缓慢上一次重要版本(版本4.3)在2013年底才发布。从那时起一切都被正式称为“维修”发布。
**VirtualBox 5.0**
*VirtualBox 5.0的第一个测试版增加了编辑菜单VM窗口的快捷方式图标等功能如下面所示。*
VirtualBox 5.0最大的变化是增加了对硬件辅助虚拟化指令集扩展的支持。AES-NI指令集通常用于加密时的硬件加速SSE 4.1和SSE 4.2指令集都包括在其中。另外一点是支持Windows和Linux客户机的半虚拟化一个抽象主机音响的新的架构以及支持客户机中的USB 3xHCI控制器。
大部分可用更新都是对VirtualBox 图形化用户界面的改进。一个大的变化就是支持给单个虚拟主机自定义菜单和工具栏这样很少或者从不使用的选项就可以彻底删除。另外重要的一点是可以在VirtualBox接口内部对虚拟磁盘进行加密而不依赖于客户机操作系统自身的磁盘加密功能(假设有的话)。
甲骨文公司提醒由于这是个测试版软件需要谨慎对待。当然主界面和客户机系统界面在某方面都可能引起红黑测试版警告。但之前VirtualBox发行版(4.3.26)上创建的Windows 10虚拟机启动和运行都没问题5.0版本中添加的VirtualBox客户机功能--更好的视频支持,双向复制和粘贴,以及其它功能--安装的时候也没有问题。(更好地支持Windows 10的修复从4.3.18版本后就开始出现)。
虽然没有明确指出5.0的最终版什么时候会发布,但是甲骨文公司[鼓励用户][1]在非生产环境中下载和使用测试版,并在[测试版反馈论坛][2]中报告bug文件。
--------------------------------------------------------------------------------
via: http://www.infoworld.com/article/2905098/virtualization/oracle-virtualbox-5-0-beta-is-finally-here.html
作者:[Serdar Yegulalp][a]
译者:[ictlyh](https://github.com/ictlyh)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.infoworld.com/author/Serdar-Yegulalp/
[1]:https://forums.virtualbox.org/viewtopic.php?f=15&t=66904
[2]:https://forums.virtualbox.org/viewforum.php?f=15

View File

@ -0,0 +1,75 @@
Exaile 3.4.1 概述 — 一个全功能的GNOME音乐播放器
================================================================================
**Exaile** 在过去两年显得有些平静,也许只有一个或者两个稳定版发布,但尽管如此,在功能方面,它是一个和[Rhythmbox][1]或者[Banshee][2]相匹敌的全功能GNOME音乐播放器。然而在过去的两个月在"Were 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)
校对:[校对者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

View File

@ -0,0 +1,52 @@
红帽开发者工具集3.1测试版发布了
================================================================================
> **Summary**:想要最新的红帽企业版Linux6或者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]上运行。
这些新的开发者程序集有RHEL 7 以及 运行在[AMD64 和 Intel 64 架构][8]上的安装包。尽管这些工具都是64位的你也可以用它们创建或者更改32位的二进制文件。
在运行任何这些程序之前你应该安装RHEL所有最近的更新。要安装这个测试工具集你的系统需要选中可选渠道来获取所有红帽开发者工具集需要的工具链包。
另外,如果已经安装了早期版本的工具集,可能会遇到[安装Toolkit 3.1 时的一些问题][9]。尽管这些问题很容易解决,在安装新的工具集之前还是应该大概看一下这些可能出现的问题。
最后你可能注意到一些最令人激动的工具例如DockerKubernetes以及其它这里没有的容器工具。因为它们在最新的发行版[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)
校对:[校对者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/

View File

@ -0,0 +1,132 @@
如何在Linux上安装Telegram Messenger应用
================================================================================
Telegram是和whatsapp类似的及时通讯应用。它有一个庞大的用户群并且很多能和其他通讯应用区分开来的特性。
![在Linux上安装Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/Install-Telegram-in-Linux.png)
Telegram Messenger for Linux
这篇文章让你了解Telegram应用以及在Linux Box上的详细安装命令。
#### Telegram的特性 ####
- 支持移动设备
- 有桌面版本
- 第三方开发者可以访问Telegram的应用程序接口(API)。
- 支持Android, iphone/ipad, Windows Phone, Web-Version, PC, Mac 和 Linux。
- 以上应用支持高度加密和自销毁信息。
- 可以让你从多种设备和平台查看你的信息。
- 整体的处理和消息传送都非常快
- 为了安全和效率,在全球有分布式服务器
- 开放的API和自由协议
- 没有广告,没有认购费用。-永久免费
- 功能强大-没有媒体和聊天限制
- 多种安全措施使其免受黑客侵害
- 在群组中回复特定信息。使用@username提醒群组里的多个用户
#### 为什么使用Telegram? ####
在像WhatsApp以及其他及时通讯应用都提供了几乎同样的功能的情况下为什么要选择Telegram
第三方开发者可以使用API这一点就足够了。更多PC的可用性意味着你不必再纠结在你的移动设备上打字你可以使用你的PC这样更具有可用性。
另外,支持连接远程地点,协作-多达200个成员的群组在所有设备上同步发送各种类型的文件信息加密自毁信息在云上存储媒体基于完全可用API构建自己的工具。
**测试环境**
我们使用Debian GNU/Linux, x86_64结构测试所有的步骤都非常顺利。以下是我们的详细步骤。
### 在Linux上安装Telegram Messenger ###
首先去Telegram的官方网站下载Linux系统版本的Telegram源码包([tsetup.0.7.23.tar.xz][1])你也可以使用下面的wget命令直接下载。
# wget https://updates.tdesktop.com/tlinux/tsetup.0.7.23.tar.xz
下载好安装包后,解压安装包,并从当前目录进入解压后的文件夹。
# tar -xf tsetup.0.7.23.tar.xz
# cd Telegram/
然后如下所示在命令行中执行二进制文件Telegram.
# ./Telegram
1. 第一个界面, 点击 “START MESSAGING”.
![开始安装](http://www.tecmint.com/wp-content/uploads/2015/03/Start-Messaging.jpeg)
开始安装
2. 输入你的手机号码,点击"Next"。如果在这之前你没有注册过Telegram使用和之前输入相同的号码你会看到警告说你还没有Telegram账户。点击“Register Here”。
![注册Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Register.png)
注册Telegram
3. 提交你的手机号码之后Telegram很快会给你发送一个验证码。你需要输入它。
![Telegram验证码](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Verfication-Code.png)
Telegram验证码
4. 输入你的姓名昵称并点击“SIGN UP”.
![输入账户详细信息](http://www.tecmint.com/wp-content/uploads/2015/03/Enter-Account-Details.jpeg)
输入账户详细信息
5. 新建账户之后我看到这个界面。一切准备就绪尽管我对Telegram还不熟悉。这个界面真的很简洁。
![Telegram界面](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Interface.jpeg)
Telegram界面
6. 点击新建联系人,输入他们的姓名和手机号码,完成后点击新建。
![新建Telegram联系人](http://www.tecmint.com/wp-content/uploads/2015/03/Add-New-Telegram-Contact.png)
新建Telegram联系人
7. 如果Telegram中还没有你输入的联系人你会收到一个提示信息当这个联系人加入Telegram的时候Telegram会通知你。
![Telegram联系人提示](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Notification.jpeg)
Telegram联系人提示
8. 当联系人加入Telegram的时候你会收到信息(类似弹出提示)显示[YOUR_CONTACT]加入了Telegram。
9. 在Linux系统上正式的聊天窗口。很好的体验…
![联系人加入Telegram消息](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Contact-Join-Message.jpeg)
联系人加入Telegram消息
10. 同时我试着在我的Android移动设备上发送信息两者之间界面非常相似。
![移动版Telegram界面](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Mobile-Interface.png)
移动版Telegram界面
11. Telegram设置页面. 你有很多可以配置的选项.
![设置Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/Telegram-Settings.png)
设置Telegram
12. 关于Telegram.
![关于Telegram](http://www.tecmint.com/wp-content/uploads/2015/03/About-Telegram.jpeg)
关于Telegram
#### 有趣的几点 ####
- Telegram使用MTProto移动协议
- 一开始在2013年(8月14号)发布iPhone版
- 惊人项目背后的人物:Pavel and Nikolai Durov..
就是这些了。我还会为大家带来你们喜欢阅读的其它有趣文章。很高兴能代表Tecmint感谢我们尊贵的读者以及使得我们通过不断的自我提升走到这里的批评者。保持联系继续评论。如果你关注我们那就请分享吧。
- [https://telegram.org/][2]
--------------------------------------------------------------------------------
via: http://www.tecmint.com/install-telegram-in-linux/
作者:[Avishek Kumar][a]
译者:[ictlyh](https://github.com/ictlyh)
校对:[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/

View File

@ -0,0 +1,110 @@
Mydumper - MySQL数据库备份工具
================================================================================
Mydumper 是MySQL数据库服务器备份工具它比MySQL自带的mysqldump快很多。它还有在转储本身的时候检索远程服务器二进制日志文件的能力。
### Mydumper 的优势 ###
o 并行性 (因此有高速度) 和 性能 (避免了昂贵的字符集转换例程, 高效的代码)
o 更容易管理输出 (每个表独立的文件,转储元数据等,简单的查看/解析数据)
o 一致性 -- 在所有线程中维护快照, 提供准确的主从结点日志位置等。
o 可管理性 -- 支持对包含和排除指定的数据库和表的PCRE操作(译者注PCREPerl Compatible Regular ExpressionPerl兼容正则表达式)
### 在Ubuntu上安装 mydumper ###
打开终端运行以下命令
sudo apt-get install mydumper
### 使用 Mydumper ###
#### 语法 ####
mydumper [options]
应用程序选项:
- -B, --database 转储的数据库
- -T, --tables-list 逗号分隔的转储表列表(不排除正则表达式)
- -o, --outputdir 保存输出文件的目录
- -s, --statement-size 插入语句的字节大小, 默认是1000000个字节
- -r, --rows 把表分为每个这么多行的块
- -c, --compress 压缩输出文件
- -e, --build-empty-files 尽管表中没有数据也创建输出文件
- -x, --regex 匹配db.table'的正则表达式
- -i, --ignore-engines 逗号分隔的忽略存储引擎列表
- -m, --no-schemas 不转储有数据的表架构
- -k, --no-locks 不执行临时共享读锁. 警告: 这会导致备份的不一致性
- -l, --long-query-guard 设置长查询的计时器秒数默认是60秒
- --kill-long-queries 杀死长查询 (而不是退出)
- -b, --binlogs 获取二进制日志文件和转储数据的快照
- -D, --daemon 开启守护进程模式
- -I, --snapshot-interval 每个转储快照之间的间隔时间(分钟), 需要开启 --daemon, 默认是60分钟
- -L, --logfile 日志文件的名字默认是stdout
- -h, --host 要连接的主机
- -u, --user 有转储权限的用户名
- -p, --password 用户密码
- -P, --port 连接的TCP/IP端口
- -S, --socket 用于连接的Unix套接字文件
- -t, --threads 使用的线程数默认是4
- -C, --compress-protocol 在MySQL连接上使用压缩
- -V, --version 查看程序版本号
- -v, --verbose 输出信息的等级, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 默认是2
#### Mydumper 例子 ####
mydumper \
--database=$DB_NAME \
--host=$DB_HOST \
--user=$DB_USER \
--password=$DB_PASS \
--outputdir=$DB_DUMP \
--rows=500000 \
--compress \
--build-empty-files \
--threads=2 \
--compress-protocol
Mydumper输出数据的说明
Mydumper不直接指定输出的文件而是输出到文件夹的文件中。--outputdir 选项指定要使用的目录名称。
输出分为两部分
架构
对数据库中的每个表,创建包含 CREATE TABLE 语句的文件。文件命名为:
dbname.tablename-schema.sql.gz
数据
对于每个行数多余--rows参数的表, 创建文件名字为:
dbname.tablename.0000n.sql.gz
"n"从0开始.
你可以使用Myloader恢复这些备份
myloader \
--database=$DB_NAME \
--directory=$DB_DUMP \
--queries-per-transaction=50000 \
--threads=10 \
--compress-protocol \
--verbose=3
--------------------------------------------------------------------------------
via: http://www.ubuntugeek.com/mydumper-mysql-database-backup-tool.html
作者:[ruchi][a]
译者:[ictlyh](https://github.com/ictlyh)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.ubuntugeek.com/author/ubuntufix

View File

@ -0,0 +1,104 @@
Translated by H-mudcup
Picty:让图片管理变简单
================================================================================
![](http://1102047360.rsc.cdn77.org/wp-content/uploads/2015/03/picty_002-790x429.png)
### 关于Picty ###
**Picty**是个免费,简单,却强大的照片收藏管理器,它可以帮助你管理你的照片。它的设计围绕着管理**元数据**和**无损**的处理图像的方法。Picty目前同时支持在线基于网页的和离线本地的收藏集。在本地的收藏集中图片将被保存在一个本地的文件夹和它的子文件夹中。为了加快用户主目录里图片的查询速度它会维持一个数据库。在在线基于网页的收藏集中你可以通过网页浏览器上传并分享图片。拥有适当权限的个人用户可以把图片分享给任何人而且每个用户可以同时开放多个收藏集收藏集也可以被多个用户分享。通过一个转载插件在收藏集间传递图片就有了个简单的交互界面。
你可以从你的相机或任何设备中下载任何数量的照片。除此之外Picty允许你在下载前浏览在你相机里的图片集。Picty是个轻量级的应用还有着清爽的界面。它支持Linux和Windows平台。
### 功能 ###
- 支持大相片集20000张以上
- 同时开放多个收藏集还可以在它们之间传照片。
- 收藏集包括:
- 本地文件系统中保存图片的文件夹。
- 相机、电话及其他媒体设备中的图片。
- 图片保存服务目前支持Flickr
- Picty不是把相片“导入”到它的数据库中它仅仅提供了一个界面来访问它们不管它们保存在哪。为了保持迅速的反应以及能使你在离线时浏览图片的能力Picty会保存缩略图和元数据的缓存。
- 以业界标准格式Exif、IPTC和Xmp读写元数据。
- 无损的方法:
- Picty把所有改变包括图像编辑以元数据写入。例如一个图片可以以任何方式剪切保存原来的像素仍然保存在该文件里。
- 修改会保存在Picty的收藏集缓存中直到你把你对元数据的修改保存到图片中。你能很容易撤销你不喜欢的未保存的修改。
- 基本图片编辑:
- 目前支持基本的图像增强,如亮度、对比度、色彩、剪切以及矫正。
- Improvements to those tools and other tools coming soon (red eye reduction, levels, curves, noise reduction)对这些工具的改善和其他的工具即将到来。(红眼消除、拉伸、弯曲、噪声消除)
- 图片标签:
- 使用标准的IPTC和Xmp关键词为图片做标签。
- 一个树状标签图让你能很容易的管理标签和对你的收藏集进行导航。
- 文件夹视图:
- 按照目录的结构对你的图片收藏进行导航
- 支持多屏显示
- Picty可以设置成让你在一个屏幕上浏览你的收藏集同时在另一个屏幕上全屏显示图片。
- 可个性化
- 可以为外部工具创建快捷方式
- 支持插件——目前提供的功能中有许多(标签和文件夹视图以及所有的图片编辑工具)都可以通过插件提供。
- 使用Python编写——自带batteriespython的这个特点使它可在mac、Linux和windows上直接安装使用无需复杂的设置。
### 安装方法 ###
#### 1、从PPA安装 ####
Picty开发人员为基于Debian的发行版如Ubuntu创建了一个PPA让安装更简单。
要在Ubuntu和它的衍生版上安装请运行以下命令
sudo add-apt-repository ppa:damien-moore/ppa
sudo apt-get update
sudo apt-get install picty
#### 2、从源文件安装 ####
此外,你还可以从源文件安装。首先安装如下依赖项。
sudo apt-get install bzr python-pyinotify python-pyexiv2 python-gtk2 python-gnome2 dcraw python-osmgpsmap python-flickrapi
然后,使用下面这个命令得到最新版本:
bzr branch lp:picty
要运行Picty先转到Picty所在的目录然后输入
cd picty
bin/picty
要想更新到最新版,请运行:
cd picty
bzr pull
### 使用方法 ###
可以从目录或Unity Dash启动Picty。
![picty_001](http://www.unixmen.com/wp-content/uploads/2015/03/picty_001.png)
你可以选择已存在的收藏集、设备或目录。让我们创建一个**新收藏集** 。要这样做得先点击新收藏集New Collection按钮。进入收藏集然后浏览都你保存图片的地方。最后点击**创建Create**按钮。
![Create a Collection_001](http://www.unixmen.com/wp-content/uploads/2015/03/Create-a-Collection_001.png)
![picty_002](http://www.unixmen.com/wp-content/uploads/2015/03/picty_002.png)
你可以修改,旋转,添加/移除标签,设置每个图片的描述。要这么做,只需右击任何一个图片然后爱做什么做什么。
访问下面这个Google组可以得到更多关于Picty相片管理器的信息和支持。
- [http://groups.google.com/group/pictyphotomanager][1]
干杯!
--------------------------------------------------------------------------------
via: http://www.unixmen.com/picty-managing-photos-made-easy/
作者:[SK][a]
译者:[H-mudcup](https://github.com/H-mudcup)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://www.unixmen.com/author/sk/
[1]:http://groups.google.com/group/pictyphotomanager

View File

@ -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/

View File

@ -1,54 +0,0 @@
如何修复Windows更新在0%卡住
================================================================================
当你在一个月后登录Windows发现有一些更新需要安装 你选择安装这些更新但是**Windows更新卡在0%**时你感觉怎么样?
为什么我在Linux和开源专属的博客上谈论Windows更新呢因为我喜欢[双启动Windows和Linux][1]。当我使用Linux作为我的主桌面时过了一段时间我登录到Windows中。登录Windows后最烦人的事情是Windows更新。我偶尔遇到了几次**Windows更新不能工作**的情况。我选择安装更新而且Windows更新卡在了0%和0KB上就像这样
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Windows_Updates_stuck_at_zero.jpeg)
本教程中我们会让Windows更新再次可用。这个教程应该同样适用于Windows 7、Windows 8和Windows 8.1。
### 修复Windows更新卡在0% ###
请注意Windows更新可能卡在任何地方我们将会使用的这个技巧需要你重新安装这些更新。我希望你不要觉得太麻烦。如果你准备好了就让我们开始修复这个Windows更新问题。
#### 步骤 1: ####
按下Windows+R。这时会弹出运行窗口。在这里我们输入services.msc
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Updates_3.png)
#### 步骤 2: ####
这里会显示Windows上安装的所有服务。这些服务以字母排序。向下拉到**Windows Update Service**。右击并停止服务。
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Windows_Updates_stuck_1.jpeg)
#### 步骤 3: ####
现在进入**C:\Windows\SoftwareDistribution并删除这里所有的内容**。实际上这个文件夹是下载和保存安装文件的地方。但是由于Windows更新卡住了所以这里的某个安装文件存在一些问题。
#### 步骤 4: ####
回到前面的服务第一步中提到的并右击重新启动Windows更新服务。再重新试一下Windows更新这次应该可以用了。
当系统更新可以工作时,你或许会发现在下次启动时会有很多更新要安装。这时打个电话:
![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2015/03/Windows_update_suck.jpg)
玩笑之余我希望这个贴士能够帮助你拜托Windows更新卡在0%的情况。我希望Linux中的更新也能够含在[Windows 10从Linux复制的特性][2]列表中。这只是我的希望。
--------------------------------------------------------------------------------
via: http://itsfoss.com/fix-windows-updates-stuck-0/
作者:[Abhishek][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者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/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/
[2]:http://itsfoss.com/windows-10-inspired-linux/

View File

@ -0,0 +1,113 @@
怎样在Github上做开源代码库的主人
================================================================================
大家好今天我们要学习一下怎样管理github.com库中的开源软件源代码。GitHub是一个基于web的Git库托管服务提供分布式修改控制和Git的源代码管理(SCM)功能并加入了自身的特点。它给开源和私有项目提供了一个互相协作的工作区、代码预览和代码管理功能。不像Git一个完完全全的命令行工具GitHub提供了一个基于web的图形化界面和桌面也整合了手机。GitHub同时提供了私有库付费计划和免费账号都是用来管理开源软件项目的。
![github universe logo](http://blog.linoxide.com/wp-content/uploads/2015/03/github-universe.jpg)
这是一种快速灵活基于web的托管服务它使用方便管理分布式修改控制系统也是相当容易任何人都能为了将它们使用、贡献、共享、问题跟踪和更多的全球各地数以百万计的人在github的库里管理他们的软件源代码。这里有一些简单快速地管理软件源代码的方法。
### 1. 创建一个新的Github账号 ###
首先,打开你最喜欢的浏览器并访问[github][1],首页页面如下所示。
![Github Homepage](http://blog.linoxide.com/wp-content/uploads/2015/03/github-homepage.png)
现在首页打开之后请填写一个新的github账号用于注册。
输入注册所需的有效信息之后你会被转到计划选择的步骤。在这个页面上有5种计划我们可以根据需要来选择这里我们要选择免费计划。所以我们点击选择Free计划并完成注册。如果我们接下去还打算创建一个组织那我们需要勾选“Help me setup an organization next”。
![choosing plan](http://blog.linoxide.com/wp-content/uploads/2015/03/choosing-plan.png)
### 2. 创建一个新的库 ###
成功注册新账号或登录上Github之后我们需要创建一个新的库来开始我们的正题。
点击位于顶部靠右账号id旁边的**(+)**按钮然后点击“New Repository”。
![Add new repository](http://blog.linoxide.com/wp-content/uploads/2015/03/create-new-repository.png)
点击创建一个新的库之后,我们进入了填写所需信息的页面。
![adding repository information](http://blog.linoxide.com/wp-content/uploads/2015/03/adding-information-repository.png)
填写好信息之后我们点击绿色的“Create repository”按钮。
这些步骤都做完之后,我们将看到类似于下面这张图的页面。
![repository github](http://blog.linoxide.com/wp-content/uploads/2015/03/repository-github.png)
### 3. 上传一个已有项目 ###
如果我们想在Github上分享我们的项目我们自然要把代码推上我们创建的库中。想要这样的话我们首先要在我们的Linux机器上安装git。如果我在机器上运行的是Ubuntu 14.04 LTS我需要运行**apt**工具来安装它。
$ sudo apt-get install git
![installing git](http://blog.linoxide.com/wp-content/uploads/2015/03/install-git.png)
现在git已经准备就绪我们要上传代码了。
**注意**:为了避免错误,不要用**README**文件、许可证或gitignore文件来初始化新库你可以在项目推送到Github上之后再添加它们。
在终端上我们需要把当前工作目录更改为你的本地项目然后将本地目录初始化为Git库。
$ git init
接着我们在我们的新的本地库里添加的文件来作为我们的首次提交内容。
$ git add .
现在我们就提交我们在本地库所添加的文件。
$ git commit -m 'First commit'
![git commit](http://blog.linoxide.com/wp-content/uploads/2015/03/git-commit.png)
在终端上我们要给远程库添加URL地址用于以后我们能提交我们本地的库。
$ git remote add origin remote Repository url
$ git remote -v
![adding remote url](http://blog.linoxide.com/wp-content/uploads/2015/03/adding-remote-url.png)
注意请确保将远程库的URL替换成了自己的远程库的URL。
现在要将我们的本地库提交至GitHub版本库中我们需要运行一下命令并且输入所需的用户名和密码。
$ git push origin master
![pushing repo](http://blog.linoxide.com/wp-content/uploads/2015/03/pushing-repo.png)
### 克隆一个库 ###
如果我们想用一条简单地命令从github上下载代码库至本机上我们可以用git clone命令该命令将会从远程库中克隆最新的目录。
$ git clone https://github.com/aruntechgeek/linspeed.git
![cloning repo](http://blog.linoxide.com/wp-content/uploads/2015/03/cloning-repo.png)
请把以上这条URL地址更改成你想要克隆的地址。
### 更新改动 ###
如果我们对我们的代码做了更改并想把它们提交至我们的远程库中,我们应该在该目录下运行以下命令。
$ git add .
$ git commit -m "Updating"
$ git push
### 结论 ###
啊哈我们已经成功地管理我们在Github库中的项目源代码了。快速灵活的Github基于web的托管服务分布式修改控制系统使用起来方便容易。数百万个非常棒的开源项目驻扎在github上。所以如果你有任何问题、建议或反馈请在评论中告诉我们。谢谢大家好好享受吧 :-)
--------------------------------------------------------------------------------
via: http://linoxide.com/usr-mgmt/host-open-source-code-repository-github/
作者:[Arun Pyasi][a]
译者:[ZTinoZ](https://github.com/ZTinoZ)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:http://github.com/

View File

@ -0,0 +1,193 @@
12个进程管理命令
================================================================================
每个程序在执行时叫进程。当程序是在存储中是可执行文件并且运行的时候,每个进程会被动态得分配系统资源,内存,安全属性和与之相关的状态。可以有多个进程关联同一个程序,并同时执行不会互相干扰。操作系统会有效地管理和追踪所有运行着的进程。
为了管理这些进程,用户应该能够:
- 查看所有运行中的进程
- 查看进程消耗资源
- 定位个别进程并且可以执行指定动作
- 改变进程的优先级
- 杀死指定进程
- 限制进程的有效系统资源
- 等
Linux提供了许多命令给用户来高效掌控上述的操作。接下来一个一个的来讲解下。
### 1. ps ###
'ps'是最基础浏览系统中的进程的命令。能列出系统中运行的进程包括进程号命令CPU使用量内存使用量等。下述选项可以得到更多有用的消息。
ps -a - 列出所有运行中/激活进程
![Output of "ps -a" command](http://blog.linoxide.com/wp-content/uploads/2015/02/ps-a2.png)
ps -ef |grep - 列出需要进程
ps -aux - 展示进程包括、终端x和用户u信息如USER, PID, %CPU, %MEM等
### 2. pstree ###
linux中每一个进程都是由父进程创建的。此命令帮助可视化进程通过显示进程树状图表展示进程间关系。如果使用pid了那么树的根是pid。不然将会是init。
![pstree](http://blog.linoxide.com/wp-content/uploads/2015/02/pstree.png)
### 3. top ###
top是一个更加有用的命令通过不同的进程所使用的资源可以监视系统。它提供实时的系统状态信息。显示进程的数据包括PID进程用户优先值%CPU%memory等。可以使用这些显示指示出资源使用量。
![top](http://blog.linoxide.com/wp-content/uploads/2015/02/top.png)
### 4. htop ###
htop与top很类似但是htop是交互式的模式进程查看器。它通过文字图像显示每一个CPU和内存使用量、swap使用量。上下键选择进程F7和F8改变优先级F9杀死进程。Htop不是系统默认所以需要额外安装。
![htop output](http://blog.linoxide.com/wp-content/uploads/2015/03/htop1.png)
### 5. nice ###
通过nice命令的帮助用户可以设置和改变进程的优先级。提高一个进程的优先级内核会分配更多CPU时间片给这个进程。默认情况下进程以0的优先级启动。进程优先级可以通过top命令显示的NInice value列查看。
进程优先级值的范围从-20到19。值越低越优先。
nice <优先值> <进程名> - 通过给定的优先值启动一个程序
![nice command](http://blog.linoxide.com/wp-content/uploads/2015/02/nice-cmd.png)
![changed nice value of 'top'](http://blog.linoxide.com/wp-content/uploads/2015/02/top-nice.png)
上述命令例子可以看到top命令获得了-3的优先值。
### 6. renice ###
renice命令类似nice命令。使用这个命令可以改变正在运行的进程优先值。注意用户只能改变属于他们的进程的优先值。
renice -n -p - 改变指定进程的优先值
![renice command](http://blog.linoxide.com/wp-content/uploads/2015/02/renice2.png)
优先值初始化为0的3806号进程优先值已经变成了4.
renice -u -g - 通过指定用户和组来改变进程优先值
![output of renice for a user group](http://blog.linoxide.com/wp-content/uploads/2015/02/renice1.png)
上述例子中用户为mint的所有进程优先值变为-3
### 7. kill ###
这个命令通过发送信号结束进程。如果一个进程没有响应杀死命令,这也许就需要强制杀死,使用-9参数来执行。注意使用强制杀死的时候一定要小心因为没有机会确定是否写入完成、是否结束等。如果我们不知道进程PID或者打算用名字杀死进程时候killall就能派上用场。
kill <pid>
kill -9 <pid>
killall -9 - 杀死所有拥有同样名字的进程
如果你使用kill你需要知道进程ID号。pkill是类似的命令但只需要一个模式如果进程名进程拥有者等
pkill <进程名>
![kill initiated](http://blog.linoxide.com/wp-content/uploads/2015/02/kill-initiated.png)
![kill](http://blog.linoxide.com/wp-content/uploads/2015/02/kill.png)
### 8. ulimit ###
命令在控制系统资源在shell和进程上的分配量。对于系统管理员是最有用的可以管理系统倾向和性能问题。限制资源大小可以确保重要进程持续运行其他进程不会占用过多资源。
ulimit -a - 显示当前用户关联的资源限制
![ulimit -a](http://blog.linoxide.com/wp-content/uploads/2015/02/ulimit-a.png)
-f - 最大文件大小
-v - 最大虚拟内存大小KB
-n - 最大文件描述符加1
-H : 改变和报告硬限制
-S : 改变和报告软限制
浏览ulimit man页面获取更多选项。
### 9. w ###
w提供正确登录的用户和其执行的进程的信息。显示信息头包含信息像现在时间系统运行时长登录用户总数过去1515分钟负载均衡数。
基于这些用户信息,用户可以在终止进程前查看不属于他们的进程。
!['w' command](http://blog.linoxide.com/wp-content/uploads/2015/02/w.png)
**who**是类似命令,提供列表,包含当前登录用户,系统启动时间,运行级别等。
!['who' command](http://blog.linoxide.com/wp-content/uploads/2015/02/who.png)
**whoami** 命令输出当前用户ID
!['whoami' command](http://blog.linoxide.com/wp-content/uploads/2015/02/whoami.png)
### 10. pgrep ###
pgrep为"进程号全局正则匹配打印"。命令扫描当前运行进程然后列出选择标准匹配出的进程ID到标准输出。对于通过名字检索进程号是很有用。
pgrep -u mint sh
这个命令将会显示用户为mint和进程名为sh的进程ID。
![output of pgrep](http://blog.linoxide.com/wp-content/uploads/2015/03/pgrep.png)
### 11. fg , bg ###
有时命令需要很长的时间才能执行完成。对于这种情况我们使用bg命令可以将任务放在后台执行而是用fg可以调到前台来使用。
通过‘&,我们后台启动一个程序:
find . -name *iso > /tmp/res.txt &
一个正在运行的程序也可以通过“CTRL+Z”和“bg”命令组合放到后台运行。
find . -name *iso > /tmp/res.txt & - 启动一个程序
ctrl+z - 挂起当前执行程序
bg - 将程序发送到后台运行
我们可以使用jobs命令列出所有后台进程。
jobs
使用fg命令可以将后台程序调到前台执行。
fg %
![output of fg, bg and jobscommands](http://blog.linoxide.com/wp-content/uploads/2015/03/fg-bg-jobs.png)
### 12. ipcs ###
ipcs命令报告进程间通信设施状态。共享内存信号量和消息队列
用-p参数联合-m、-s或-q使用可以获得相关的进程间通信的进程ID。
ipcs -p -m
下面屏幕截图列出了共享内存段的创建者ID和进程ID。
![ipcs command](http://blog.linoxide.com/wp-content/uploads/2015/03/ipcs.png)
### 总结 ###
总之 ,这些命令可以帮助管理员修复问题和改善性能。同样作为一名普通用户也需要解决进程间出现的问题。所以,熟悉如此繁多的命令,从能有效管理进程是行之有效。
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-command/process-management-commands-linux/
作者:[B N Poornima][a]
译者:[VicYu/Vic020](http://vicyu.net)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/bnpoornima/

View File

@ -0,0 +1,57 @@
创建你自己的Docker基本映像的2中方式
================================================================================
欢迎大家今天我们学习一下docker基本映像以及如何构建我们自己的docker基本映像。[Docker][1]是一个开源项目,为打包,装载和运行任何应用提供开发平台的轻量级容器。它没有语言支持,框架和打包系统的限制,从小型的家用电脑到高端的服务器,在何时何地都可以运行。这使它们成为不依赖于特定栈和供应商,很好的部署和扩展网络应用,数据库和后端服务的构建块。
Docker映像是不可更改的只读层。Docker使用**Union File System**在只读文件系统上增加读写文件系统。但所有更改都发生在最顶层的可写层最底部在只读映像上的原始文件仍然不会改变。由于映像不会改变也就没有状态。基本映像是没有父类的那些映像。Docker基本映像主要的好处是它允许我们有一个独立允许的Linux操作系统。
下面是我们如何可以创建自定义基本映像的方式。
### 1. 使用Tar创建Docker基本映像 ###
我们可以使用tar构建我们自己的基本映像我们从将要打包为基本映像的运行中的Linux发行版开始构建。这过程可以会有些不同它取决于我们打算构建的发行版。在Linux的发行版Debian中已经预装了debootstrap。在开始下面的步骤之前我们需要安装debootstrap。debootstrap用来获取构建基本系统需要的包。这里我们构建基于Ubuntu 14.04 "Trusty" 的映像。做这些我们需要在终端或者shell中运行以下命令。
$ sudo debootstrap trusty trusty > /dev/null
$ sudo tar -C trusty -c . | sudo docker import - trusty
![使用debootstrap构建docker基本映像](http://blog.linoxide.com/wp-content/uploads/2015/03/creating-base-image-debootstrap.png)
上面的命令为当前文件夹创建了一个tar文件并输出到STDOUT中"docker import - trusty"从STDIN中获取这个tar文件并根据它创建一个名为trusty的基本映像。然后如下所示我们将运行映像内部的一条测试命令。
$ docker run trusty cat /etc/lsb-release
[Docker GitHub Repo][2] 中有一些允许我们快速构建基本映像的事例脚本.
### 2. 使用Scratch构建基本映像 ###
在Docker的注册表中有一个被称为Scratch的使用空tar文件构建的特殊库
$ tar cv --files-from /dev/null | docker import - scratch
![使用scratch构建docker基本映像](http://blog.linoxide.com/wp-content/uploads/2015/03/creating-base-image-using-scratch.png)
我们可以使用这个映像构建新的小容器:
FROM scratch
ADD script.sh /usr/local/bin/run.sh
CMD ["/usr/local/bin/run.sh"]
上面的Docker文件来自一个很小的映像。这里它首先从一个完全空的文件系统开始然后它复制新建的/usr/local/bin/run.sh为script.sh然后运行脚本/usr/local/bin/run.sh。
### 结尾 ###
这这个教程中我们学习了如果构建一个自定义的Docker基本映像。构建一个docker基本映像是一个很简单的任务因为这里有很多已经可用的包和脚本。如果我们想要在里面安装想要的东西构建docker基本映像非常有用。如果有任何疑问建议或者反馈请在下面的评论框中写下来。非常感谢享受吧 :-)
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-how-to/2-ways-create-docker-base-image/
作者:[Arun Pyasi][a]
译者:[ictlyh](https://github.com/ictlyh)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/arunp/
[1]:https://www.docker.com/
[2]:https://github.com/docker/docker/blob/master/contrib/mkimage-busybox.sh

View File

@ -1,42 +1,41 @@
translating wi-cuckoo LLAP
Its Now Worth Try Installing PHP 7.0 on CentOS 7.x / Fedora 21
================================================================================
PHP is a well known general purpose, server side web scripting language. A vast majority of online websites are coded in this language. PHP is ever evolving, feature rich, easy to use and well organized scripting language. Currently PHP development team is working on next major release of PHP, named PHP 7. The current production PHP version is PHP 5.6, as you might already know that PHP 6 was aborted in the past, the supporters of PHP 7 did not want the next important PHP version to be confused with that branch that was killed long time in the past. So it has been decided to name the next major release of PHP as PHP 7 instead of 6. PHP 7.0 is supposed to be released in November this year.
现在值得去尝试一下在CentOS 7.x或Fedora 21上面安装PHP 7.0
===============================================================================
PHP是一种为我们熟知的通用的服务器网页脚本语言。超大量的在线网站都是用PHP编写的。PHP过去一直在更新丰富功能易于使用而且很好组织的脚本语言。目前PHP的开发团队正筹备下一个PHP版本的发行名字是PHP 7。现在的PHP版本为PHP 5.6可能你清楚PHP 6已经流产了PHP 7的支持者们不希望下一个重要的版本被其他分支混淆即过去已经停止很久的PHP 6。所以决定下一个PHP主要的发行版本叫PHP 7而不是PHP 6。PHP 7.0预计在今年十一月份发行。
Here are some of the prominent features in next major PHP release.
在下一个主要的PHP发行版里有一些不错的功能。
- In order to improve performance and memory footprints PHPNG feature has been added to this new release.
- JIT engine has been included to dynamically compile Zend opcodes into native machine code in order to achieve faster processing. This feature will allow subsequent calls to the same code so that it may run much faster.
- AST (Abstract Syntax Tree) is a newly added feature which will enhance support for php extensions and userland applications.
- Asynchronous Programming feature will add support for parallel tasks within the same request.
- New version will support for stand alone multi-threading web server so that it may handle many simultaneous requests using a single memory pool.
- 为了提升执行效率与记忆痕迹PHPNG功能被添加到新的发行版中。
- JIT引擎被收入来动态编译Zend操作码为自然机器码以此来达到更快的处理性能。这项功能允许随后的程序调用同一份代码这样会运行快很多。
- AST抽象语法树是最新添加的功能它可以增强支持PHP的扩展性和用户应用。
- 异步编程功能会添加支持并行任务,在同样的需求下。
-新的版本会支持独立多线程网页服务,这样可以使用一个单独的存储块处理很多并发的请求。
### Installing PHP 7 on Centos / Fedora ###
### 在CcentOS/Fedora上安装PHP 7 ###
Lets see how we can install PHP7 on Centos 7 and Fedora 21. In order to install PHP7 we will need to first clone php-src repository. Once cloning process is complete, we will configure and compile it. Before we proceed, lets ensure that we do have followings installed on our Linux system otherwise PHP compile process will return errors and abort.
让我们来看看怎样在CentOS 7和Fedora 21安装PHP7。为了安装PHP7我们首先需要克隆php-src 仓库。当克隆工作完成我们会配置和编译它。进行下一步之前我们要确保已经在LInux系统下安装了如下的东西否则PHP编译会返回错误然后流产。
- Git
- autoconf
- gcc
- bison
All of the above metioned prerequisits can be installed using Yum package manager. The following single command should take care of this:
所有上面提到的要求可以使用Yum软件包管理器安装。用连续的一个命令应该这样
yum install git autoconf gcc bison
yum install git autoconf gcc bison
准备好开始安装PHP7了吗让我们先创建一个PHP7目录作为你的工作目录。
mkdir php7
Ready to start PHP7 installation process ? Lets first create PHP7 directory and make it your working directory.
cd php7
mkdir php7
现在克隆php-src仓库在终端里运行下面的命令。
git clone https://git.php.net/repository/php-src.git
cd php7
工作应该会在几分钟后完成,这里是一个样例输出,你应该会在任务完成时看见。
Now clone php-src repo, run following command on the terminal.
git clone https://git.php.net/repository/php-src.git
The process should complete in few min, here is sample output which you should see at the completion of this task.
[root@localhost php7]# git clone https://git.php.net/repository/php-src.git
[root@localhost php7]# git clone https://git.php.net/repository/php-src.git
Cloning into 'php-src'...
@ -50,13 +49,13 @@ The process should complete in few min, here is sample output which you should s
Resolving deltas: 100% (492063/492063), done.
Lets configure and compile PHP7, run following commands on the terminal to start the configuration process:
让我们来配置编译PHP7在终端运行下面的命令开始配置工作
cd php-src
cd php-src
./buildconf
./buildconf
Here is sample output for ./buildconf command.
下面是./buildconf命令的样例输出。
[root@localhost php-src]# ./buildconf
@ -70,9 +69,9 @@ Here is sample output for ./buildconf command.
rebuilding main/php_config.h.in
Proceed further with the configuration process using following command:
使用下面的命令,继续配置进程:
./configure \
./configure \
--prefix=$HOME/php7/usr \
@ -144,7 +143,7 @@ Proceed further with the configuration process using following command:
--with-mysqli=/usr/bin/mysql_config
It will take a sweet amount to time, once completed, you should see output like this:
这会花去不少的时间,一旦完成,你应该会看到如下面的输出:
creating libtool
@ -205,12 +204,11 @@ It will take a sweet amount to time, once completed, you should see output like
config.status: executing default commands
运行下面的命令,完成编译过程。
Run following command to complete the compilation process.
manke
make
Sample output for “make” command is shown below:
“make”命令过后的样例输出如下所示
Generating phar.php
@ -236,11 +234,11 @@ Sample output for “make” command is shown below:
Don't forget to run 'make test'.
Thats all, its time to install PHP7 now, run following to install it.
活儿干完了该安装PHP7了运行下面的命令安装它。
make install
Sample output for successful install process should look like:
成功安装的进程的样例输出应该像这样:
[root@localhost php-src]# make install
@ -292,11 +290,11 @@ Sample output for successful install process should look like:
Installing PDO headers: /root/php7/usr/include/php/ext/pdo/
Conguratulaion, PHP 7 has been installed on your Linux system now. Once installation is complete, move to sapi/cli direcoty inside php7 installation folder.
恭喜你PHP7已经安装在你的Linux系统上了。安装完后进入PHP7安装文件里的sapi/cli里面。
cd sapi/cli
cd sapi/cli
and verify PHP version from here.
在这里验证PHP的版本。
[root@localhost cli]# ./php -v
@ -306,16 +304,16 @@ and verify PHP version from here.
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
### Conclusion ###
### 总结 ###
PHP 7 is also [added in remi repositories][1], this upcoming version is mainly focused on performance improvements, its new features are aimed to make PHP as a well fit for modern programming needs and trends. PHP 7.0 will have many new features and some deprecations to the old items. We hope to see details about new features and deprecations in the coming months. Enjoy!
PHP 7也被[添加到了remi仓库][1]即将到来的版本主要关注执行效率的提升新的特性致力于使PHP较好满足现代编程的需求和趋势。PHP 7.0将会有许多新的特性,丢弃一些老版本的东西。在接下来的日子里,我们希望看到新特性和弃用功能的具体情况。尽情享受吧!
--------------------------------------------------------------------------------
via: http://linoxide.com/linux-how-to/install-php-7-centos-7-fedora-21/
作者:[Aun Raza][a]
译者:[译者ID](https://github.com/译者ID)
译者:[wi-cuckoo](https://github.com/wi-cuckoo)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,70 @@
Linux Email应用 Geary 更新了 — 如何在Ubuntu上安装
================================================================================
**GearyLinux上流行的桌面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账户来收取你的YahooOutlook和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

View File

@ -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能通过HTTPHTTPS和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等协议的客户端应用。和其它相对比在支持LDAPPOP3方面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支持 HTTPHTTP 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/