diff --git a/Dict.md b/Dict.md
new file mode 100644
index 0000000000..23207f3f93
--- /dev/null
+++ b/Dict.md
@@ -0,0 +1,151 @@
+
+
+
LCTT翻译组
+**************************************************** + +#### 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 Long;Didn't Read的缩写词,即太长,未阅的意思。该词多见于互联网社区论坛中,用于指出该文太长,没有阅读,或者标示出一篇长文章的摘要。在论坛回复中,该缩写词也多作为灌水用。因此,Linux中国翻译组将其翻译为:长篇摘要。 + +#### U #### + +#### V #### +### 1. VRML(Virtual Reality Modeling Language):虚拟现实建模语言 +>一种主要基于 Web 的语言,用于 3D 效果(如构建遍历)。 + +#### W #### +### 1. Wrapper:封装器 +>用于启动另一个程序的程序。 + +#### X #### + +#### Y #### + +#### Z #### \ No newline at end of file diff --git a/published/20141226 Real-World WordPress Benchmarks with PHP5.5 PHP5.6 PHP-NG and HHVM.md b/published/20141226 Real-World WordPress Benchmarks with PHP5.5 PHP5.6 PHP-NG and HHVM.md new file mode 100644 index 0000000000..a15c496eae --- /dev/null +++ b/published/20141226 Real-World WordPress Benchmarks with PHP5.5 PHP5.6 PHP-NG and HHVM.md @@ -0,0 +1,150 @@ +PHP 5.5 / PHP5.6 / PHP-NG 和 HHVM 哪个性能更好? +================================================================================ +**长篇摘要:在一个基于Vagrant的本地环境中,可能是某个错误的原因,导致HHVM测试结果很差;在HHVM伙伴们协助下,该原因仍在研究中!然而,在DigitalOcean的一个4GB虚拟机中,HHVM甚至盖过了最新版的PHP-NG的风头!** + + + +**结论:它们反映出HHVM的功效更佳(在JIT热启动后),虽然出于某些原因,我们不能在所有装备中获取这些结果。** + +如果你记得我们[在几个月前写过一篇文章][1],那时WordPress 3.9表明是完全支持HHVM的,当时是那么令我们欢欣鼓舞。最初的基准测试结果显示,HHVM要比驱动着当前所有PHP构建的Zend引擎高级得多。后来,问题就出来了: + +- HHVM只能以单个用户运行,这意味着(在共享环境中)安全性差了 +- HHVM在崩溃后不会自动重启,而不幸的是,它至今仍然经常发生 +- HHVM在启动时使用大量内存,虽然,它和同规模的PHP-FPM比较,单个请求的内存使用量更低 + +很显然,你不得不根据你的(或者更确切地说是你的站点)的需求采取折中方案,然而这值得吗?切换到HHVM后,你期望获得多少性能改善呢? + +在Kinsta,我们真的想要测试所有新技术,并通常会优化这一切来为我们的客户提供最佳的环境。今天,我最终花了点时间来配置测试环境并进行了一些测试来对比两个不同的构建,一个是全新出炉的WordPress安装,另外一个则添加了大量内容的WooCommerce!为了计量脚本的运行时间,我只是简单地添加了 + + + +这一行到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/ diff --git a/translated/tech/20150202 tespeed - Python Tool To Test Your Internet Speed.md b/published/20150202 tespeed - Python Tool To Test Your Internet Speed.md similarity index 74% rename from translated/tech/20150202 tespeed - Python Tool To Test Your Internet Speed.md rename to published/20150202 tespeed - Python Tool To Test Your Internet Speed.md index 99bfab9842..021eff9c2a 100644 --- a/translated/tech/20150202 tespeed - Python Tool To Test Your Internet Speed.md +++ b/published/20150202 tespeed - Python Tool To Test Your Internet Speed.md @@ -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**的空文件。  @@ -39,9 +39,9 @@ tespeed是一款有很多特性的python工具,可以在终端在测试网速  -在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/) 荣誉推出 diff --git a/translated/tech/20150211 Install Mumble in Ubuntu an Opensource VoIP Apps.md b/published/20150211 Install Mumble in Ubuntu an Opensource VoIP Apps.md similarity index 67% rename from translated/tech/20150211 Install Mumble in Ubuntu an Opensource VoIP Apps.md rename to published/20150211 Install Mumble in Ubuntu an Opensource VoIP Apps.md index 762e363beb..fdaaef9e70 100644 --- a/translated/tech/20150211 Install Mumble in Ubuntu an Opensource VoIP Apps.md +++ b/published/20150211 Install Mumble in Ubuntu an Opensource VoIP Apps.md @@ -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,接着它会询问你是否运行高性能模式以保持低延迟,为了让它保持最佳性能这是个不错的主意。 +选择“是”让服务器开机时自动启动mumble,接着它会询问你是否运行高优先级模式以保持低延迟,为了让它保持最佳性能这是个不错的主意。  -接着为你刚安装好的mumble服务端设置最高权限用户的密码,记住密码它会在登录时用到。 +接着为你刚安装好的mumble服务端设管理员用户的密码,记住这个密码,它会在登录时用到。  @@ -44,7 +44,7 @@ Mumble提供了如下的一些特性: $ sudo apt-get install mumble -第一次运行mumble时,导向将会帮助你配置音频的输入输出,使其能在客户端上保持最好的效果。第一次同样也会询问你要使用的是什么声音设备和麦克风: +第一次运行mumble时,配置向导将会帮助你配置音频的输入输出,使其能在客户端上保持最好的效果。第一次同样也会询问你要使用的是什么声音设备和麦克风:  @@ -52,15 +52,15 @@ Mumble提供了如下的一些特性:  -因为mumble帮你加密所有的通讯内容所以它会征询你创建证书: +因为mumble会帮你加密所有的通讯内容所以它会要求你创建证书:  -完成导向后你就能添加第一个服务器,连接对话框如下图所示: +完成配置向导后你就能添加第一个服务器,连接对话框如下图所示:  -首先输入一个标签,名字任意因为那只不过是为了记住服务器的,然后输入服务器的地址和端口,最后使用“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/) 荣誉推出 diff --git a/translated/tech/20150304 How To Fix 'Not Enough Free Disk Space On boot' In Ubuntu.md b/published/20150304 How To Fix 'Not Enough Free Disk Space On boot' In Ubuntu.md similarity index 54% rename from translated/tech/20150304 How To Fix 'Not Enough Free Disk Space On boot' In Ubuntu.md rename to published/20150304 How To Fix 'Not Enough Free Disk Space On boot' In Ubuntu.md index 41318dd5fc..787a7355c3 100644 --- a/translated/tech/20150304 How To Fix 'Not Enough Free Disk Space On boot' In Ubuntu.md +++ b/published/20150304 How To Fix 'Not Enough Free Disk Space On boot' In Ubuntu.md @@ -6,45 +6,44 @@ > “Not Enough Free Disk Space On /boot” - + -这是因为我的启动分区超出了不再要的旧内核与包等。 +这是因为我的 /boot 分区被不再需要的旧内核与包塞满了。 ### 回答: ### -我听说**Computer Janitor**这个特性可以在Ubuntu Tweak中删除不想要的垃圾文件。使用Computer Janitor,你可以将你的系统清理成像新安装的那样。Janitor会删除: +我听说Ubuntu Tweak中的**Computer Janitor**功能可以删除不想要的垃圾文件。使用Computer Janitor,你可以将你的系统清理成像新安装的那样。Janitor会删除: -- 程序缓存(Firefox/Chrome 缓存、软件中心缓存); +- 程序缓存(Firefox/Chrome 缓存、软件中心缓存); - 略缩图缓存; - apt缓存; - 旧内核; - 包的配置; - 不再需要的包。 -If you haven’t install this tool, look at the following link. 如果你还没有安装这个工具,参考下面的链接 - **[如何安装和使用Ubuntu Tweak][1]** 要删除不需要的垃圾文件,打开Ubuntu Tweak,点击 **Janitor** 选项。 - + 选择你想要删除的文件的选框,并点击 **Clean** 按钮。 - + Janitor现在就开始清理你的系统了。 - + 真酷!系统清理完成了。 - + 我重启启动了软件更新。这个没再遇到问题了。 - + 就是这样。当然也有其他的方法可以清理系统。但是,这个方法很容易学。我们可以只点击几次鼠标就可以清理系统。 @@ -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 diff --git a/translated/tech/20150316 Linux FAQs with Answers--How to convert between local time and UNIX timestamp in Perl.md b/published/20150316 Linux FAQs with Answers--How to convert between local time and UNIX timestamp in Perl.md similarity index 81% rename from translated/tech/20150316 Linux FAQs with Answers--How to convert between local time and UNIX timestamp in Perl.md rename to published/20150316 Linux FAQs with Answers--How to convert between local time and UNIX timestamp in Perl.md index 34b8bf4629..18ce4c5587 100644 --- a/translated/tech/20150316 Linux FAQs with Answers--How to convert between local time and UNIX timestamp in Perl.md +++ b/published/20150316 Linux FAQs with Answers--How to convert between local time and UNIX timestamp in Perl.md @@ -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/) 荣誉推出 diff --git a/translated/tech/How to create a custom backup plan for Debian with backupninja.md b/published/How to create a custom backup plan for Debian with backupninja.md similarity index 67% rename from translated/tech/How to create a custom backup plan for Debian with backupninja.md rename to published/How to create a custom backup plan for Debian with backupninja.md index 50cd15c6ce..cfd0237c92 100644 --- a/translated/tech/How to create a custom backup plan for Debian with backupninja.md +++ b/published/How to create a custom backup plan for Debian with backupninja.md @@ -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(创建一个新的备份操作)。  -接下来将看到可选的操作类型,这里选择“backup of home directories"(备份home目录); +接下来将看到可选的操作类型,这里选择“backup of home directories"(备份home目录):  -接下来会显示在helper中设置的默认值(这里只有3个)。可以编辑文本框中的值。注意,关于”when”变量的语法,参考文档的日程安排章节。 +然后会显示在helper中设置的默认值(这里只显示了3个)。可以编辑文本框中的值。注意,关于“when”变量的语法,参考文档的日程安排章节。  @@ -210,9 +210,9 @@ backupninja的特点是它完全抛弃纯文本的配置文件/etc/backup.d,软  -按回车键显示这个备份操作的选项。因为它非常简单,可所以我们可以随便对它进行一些实验。 +按回车键显示这个备份操作的选项。因为它非常简单,所以我们可以随便对它进行一些实验。 -注意,“run this action now"(立即运行)选项会不顾日程表安排的时间而立即进行备份操作: +注意,“run this action now"(立即运行)选项会不顾日程表安排的时间而立即进行备份操作:  @@ -220,27 +220,26 @@ backupninja的特点是它完全抛弃纯文本的配置文件/etc/backup.d,软  -上面的图片告诉我们,备份操作讲不会成功,因为它所需要链接的远程主机似乎宕机了。另外,在helper文件中指定的目录不存在。当纠正这些问题后,重新开始备份操作。 +上面的图片告诉我们,用于完成备份操作的连接没有建立,因为它所需要链接的远程主机似乎宕机了。另外,在helper文件中指定的目标目录不存在。当纠正这些问题后,重新开始备份操作。 需要牢记的事情: - - 当你新建了一个自定义脚本来处(如foobar)理特殊的备份操作时,那么你还需要编写与之对应的helper(foobar.helper)文件,ninjahelper 将通过它生成名为10.foobar(下一个操作为11,以此类推)的文件,保存在/etc/backup.d目录下,而这个文件才是备份操作的真正的配置文件。 - - 可以通过ninjahelper设定行备份操作的执行时间,或按照”when”变量中设置的频率来执行。 + - 当你在/usr/share/backupninja 下新建了一个自定义脚本(如foobar)来处理特殊的备份操作时,那么你还需要编写与之对应的helper(foobar.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 diff --git a/sources/share/20141106 Exaile 3.4.1 Overview--A Feature-Complete GNOME Music Player.md b/sources/share/20141106 Exaile 3.4.1 Overview--A Feature-Complete GNOME Music Player.md index cd650fca22..5326811fb8 100644 --- a/sources/share/20141106 Exaile 3.4.1 Overview--A Feature-Complete GNOME Music Player.md +++ b/sources/share/20141106 Exaile 3.4.1 Overview--A Feature-Complete GNOME Music Player.md @@ -1,3 +1,4 @@ +Translating by ictlyh Exaile 3.4.1 Overview – A Feature-Complete GNOME Music Player ================================================================================ **Exaile** has been a bit quiet in the past two years with maybe only one or two stable releases, but nevertheless, it’s one of the full-featured music players for GNOME which are on par with applications like [Rhythmbox][1] or [Banshee][2] in terms of features. However, over the past two months a new stable release, 3.4, has been put out under the slogan “We’re not dead yet”, as well as an incremental 3.4.1 release, which shipped on November 1. To be honest, Exaile has so many features that I could go on writing a lot more than an article to cover them all, so let’s have a look at some of the most notable ones. diff --git a/sources/share/20150324 How to Install Telegram Messenger Application on Linux.md b/sources/share/20150324 How to Install Telegram Messenger Application on Linux.md deleted file mode 100644 index 0d4946db1f..0000000000 --- a/sources/share/20150324 How to Install Telegram Messenger Application on Linux.md +++ /dev/null @@ -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. - - -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 won’t 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 - -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 don’t have a telegram account yet. Click “Register Here”. - - -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 - -4. Enter your First_Name, Last_name and pics and click “SIGNUP”. - - -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 - -6. Click Add a contact and Enter Their first_name, last_name and Phone number. Click create when done!. - - -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 - -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 - -10. At the same time, I’ve tried messaging from my android mobile device, the interface looks similar on both. - - -Telegram Mobile Interface - -11. Telegram settings page. You have a lot of options to configure. - - -Telegram Settings - -12. About Telegram. - - -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.. - -That’s all for now. I’ll 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/ \ No newline at end of file diff --git a/sources/share/20150326 Mydumper--Mysql Database Backup tool.md b/sources/share/20150326 Mydumper--Mysql Database Backup tool.md deleted file mode 100644 index e8260760e2..0000000000 --- a/sources/share/20150326 Mydumper--Mysql Database Backup tool.md +++ /dev/null @@ -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 \ No newline at end of file diff --git a/sources/share/20150407 10 Truly Amusing Easter Eggs in Linux.md b/sources/share/20150407 10 Truly Amusing Easter Eggs in Linux.md new file mode 100644 index 0000000000..6d02c4cfbb --- /dev/null +++ b/sources/share/20150407 10 Truly Amusing Easter Eggs in Linux.md @@ -0,0 +1,154 @@ +10 Truly Amusing Easter Eggs in Linux +================================================================================ + +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 wasn’t 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. + +You’ll notice, rather quickly, that most of these are experienced via a terminal. That’s 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 ### + +We’re 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 isn’t enabled by default is beyond me. + +To do this you’ll 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. + +That’s it! Next time you fire up a terminal and run pacman, you’ll help the little yellow guy get some lunch (or at least some candy). + +### GNU Emacs : Tetris and such ### + + +I don’t like emacs. Not even a little bit. But it does play Tetris. + +I have a confession to make: I don’t 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. That’s [not what emacs does][8]. + +But it does play Tetris. And that’s not nothing. Here’s 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 + +Simple, sure. But it’s 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 there’s one thing you should know about [aptitude][9], it’s that it’s 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 v’s until you force aptitude to come clean. + + +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? That’s where “cowsay” comes in. + +And, don’t 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. + + +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 you’ve 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 you’ll 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 don’t have time to listen to this trash.”, “Are you on drugs?” and “You’re mind just hasn’t 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 ### + +Here’s one that isn’t 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 you’ll 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. + + +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 you’re saying, “But, this isn’t an Easter Egg!” Shush. I’ll call it an Easter Egg if I want to. + +### Instant l33t Hacker Mode ### + +Want to feel like you’re 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. + + +Take the text output of any program and pipe it through lolcat to super-duper-rainbow-ize it. + +### Cursor Chasing Critter ### + + +“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, it’s 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 \ No newline at end of file diff --git a/sources/share/20150407 Ambient Noise Player for Ubuntu Plays Relaxing Sounds to Keep You Creative.md b/sources/share/20150407 Ambient Noise Player for Ubuntu Plays Relaxing Sounds to Keep You Creative.md new file mode 100644 index 0000000000..f8f2b714fc --- /dev/null +++ b/sources/share/20150407 Ambient Noise Player for Ubuntu Plays Relaxing Sounds to Keep You Creative.md @@ -0,0 +1,55 @@ +Ambient Noise Player for Ubuntu Plays Relaxing Sounds to Keep You Creative +================================================================================ + +Rain is a soothing sound for some + +**If I plan on being productive I can’t 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, that’s that.** + +But by the same token I can’t work in silence (living with 6 cats means that’s 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 ### + + + +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 DE’s 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/ \ No newline at end of file diff --git a/sources/share/20150407 Top 6 Ways To Get Your iTunes Experience On Linux.md b/sources/share/20150407 Top 6 Ways To Get Your iTunes Experience On Linux.md new file mode 100644 index 0000000000..194c3307e2 --- /dev/null +++ b/sources/share/20150407 Top 6 Ways To Get Your iTunes Experience On Linux.md @@ -0,0 +1,86 @@ +Top 6 Ways To Get Your iTunes Experience On Linux +================================================================================ + + +As you’re getting used to Linux (potentially as your new main operating system), you’ll eventually try to find a way to efficiently manage your music. iTunes comes to mind because it’s been the most popular way to manage music over the years, but you’ll quickly find out that iTunes isn’t available natively on Linux. Plus, better ways exist to manage your music now that it’s 2015. + +However, that doesn’t automatically mean that you won’t be able to manage your music the way you want to. There’s plenty of other ways to keep tabs on your music library. Here’s six great ways to get it done. + +### iTunes via WINE ### + +Even if iTunes isn’t 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 it’s 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. That’s just how it is with WINE. + +If you really want to use iTunes and you happen to luck out with WINE, then that’s great. However, if you’d rather use a native Linux application or WINE didn’t 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] ### + + + +If you use KDE, then I’d 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] ### + + + +If you use GNOME or any GTK-based desktop environment (they’re quite common), then I’d 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 you’re using (for integration’s sake). + +### [Rhythmbox][7] ### + + + +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] ### + + + +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. There’s 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 there’s currently no modern application that can do that. However, iOS has received enough improvements that it’s virtually unnecessary to connect it to a computer anymore. + +### [Google Play Music][11] ### + + + +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 won’t 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 it’s 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 don’t mention Spotify is that, although it’s also a great way to access and listen to music, it doesn’t really let you manage your own music. You can’t upload trakcs to Spotify — you have to listen to what they give you. Albeit they give you a lot, but it’s 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/ \ No newline at end of file diff --git a/sources/talk/20150407 10 Years of Git--An Interview with Git Creator Linus Torvalds.md b/sources/talk/20150407 10 Years of Git--An Interview with Git Creator Linus Torvalds.md new file mode 100644 index 0000000000..e97f861a65 --- /dev/null +++ b/sources/talk/20150407 10 Years of Git--An Interview with Git Creator Linus Torvalds.md @@ -0,0 +1,134 @@ +Translating by ZTinoZ +10 Years of Git: An Interview with Git Creator Linus Torvalds +================================================================================ +> Linus Torvalds explains why he created Git +> +>  +> +> Thanks to Linus' Git today GitHub is the world's biggest code hoster in the world with over 9 million users and over 21.1 million repositories. +> +> By Swapnil Bhartiya - +> +> Git will be celebrating it’s 10 anniversary this month. It’s yet another contribution of Linus Torvalds to the world in addition to Sub Surface and Linux. [Jennifer Cloer of The Linux Foundation interviewed the father of Linux][2] and presented us with a very comprehensive story behind Git. +> +> When Cloer asked Linus why he created Git, his answer was: +> +> “I really never wanted to do source control management at all and felt that it was just about the least interesting thing in the computing world (with the possible exception of databases ;^), and I hated all SCM’s with a passion.” +> +> He then played with BitKeeper which he initially liked as in his own words: +> +> “BK got most things right and having a local copy of the repository and distributed merging was a big deal.” +> +> But he was not satisfied: +> +> “I had performance requirements that were not even remotely satisfied by what was available, and I also worried about integrity of the code and the whole workflow, so I ended up just deciding to write my own.” +> +> And the rest is history. Today GitHub is the world’s biggest code hoster in the world with over 9 million users and over 21.1 million repositories. +> +> via:http://www.linuxveda.com/2015/04/06/linus-torvalds-explains-why-he-created-git/ + + + +Ten years ago this week, the Linux kernel community faced a daunting challenge: They could no longer use their revision control system BitKeeper and no other Software Configuration Management (SCMs) met their needs for a distributed system. Linus Torvalds, the creator of Linux, took the challenge into his own hands and disappeared over the weekend to emerge the following week with Git. Today Git is used for thousands of projects and has ushered in a new level of social coding among programmers. + +To celebrate this milestone, we asked Linus to share the behind-the-scenes story of Git and tell us what he thinks of the project and its impact on software development. You'll find his comments in the story below. We'll follow this Q&A with a week of Git in which we profile a different project each day that is using the revision control system. Look for the stories behind KVM, Qt, Drupal, Puppet and Wine, among others. + +### Why did you create Git? ### + +**Torvalds**: I really never wanted to do source control management at all and felt that it was just about the least interesting thing in the computing world (with the possible exception of databases ;^), and I hated all SCM's with a passion. But then BitKeeper came along and really changed the way I viewed source control. BK got most things right and having a local copy of the repository and distributed merging was a big deal. The big thing about distributed source control is that it makes one of the main issues with SCM's go away - the politics around "who can make changes." BK showed that you can avoid that by just giving everybody their own source repository. But BK had its own problems, too; there were a few technical choices that caused problems (renames were painful), but the biggest downside was the fact that since it wasn't open source, there was a lot of people who didn't want to use it. So while we ended up having several core maintainers use BK - it was free to use for open source projects - it never got ubiquitous. So it helped kernel development, but there were still pain points. + +That then came to a head when Tridge (Andrew Tridgell) started reverse-engineering the (fairly simply) BK protocol, which was against the usage rules for BK. I spent a few weeks (months? It felt that way) trying to mediate between Tridge and Larry McVoy, but in the end it clearly wasn't working. So at some point I decided that I can't continue using BK, but that I really didn't want to go back to the bad old pre-BK days. Sadly, at the time, while there were some other SCM's that kind of tried to get the whole distributed thing, none of them did it remotely well. I had performance requirements that were not even remotely satisfied by what was available, and I also worried about integrity of the code and the whole workflow, so I ended up just deciding to write my own. + +### How did you approach it? Did you stay up all weekend to write it or was it just during regular hours? ### + +**Torvalds**: Heh. You can actually see how it all took shape in the git source code repository, except for the very first day or so. It took about a day to get to be "self-hosting" so that I could start committing things into git using git itself, so the first day or so is hidden, but everything else is there. The work was clearly mostly during the day, but there's a few midnight entries and a couple of 2 a.m. ones. The most interesting part is how quickly it took shape ; the very first commit in the git tree is not a lot of code, but it already did the basics - enough to commit itself. The trick wasn't really so much the coding but coming up with how it organizes the data. + +So I'd like to stress that while it really came together in just about ten days or so (at which point I did my first *kernel* commit using git), it wasn't like it was some kind of mad dash of coding. The actual amount of that early code is actually fairly small, it all depended on getting the basic ideas right. And that I had been mulling over for a while before the whole project started. I'd seen the problems others had. I'd seen what I wanted to avoid doing. + +### Has it lived up to your expectations? How is it working today in your estimation? Are there any limitations? ### + +**Torvalds**: I'm very happy with git. It works remarkably well for the kernel and is still meeting all my expectations. What I find interesting is how it took over so many other projects, too. Surprisingly quickly, in the end. There is a lot of inertia in switching source control systems; just look at how long CVS and even RCS have stayed around, but at some point git just took over. + +### Why do you think it's been so widely adopted? ### + +**Torvalds**: I think that many others had been frustrated by all the same issues that made me hate SCM's, and while there have been many projects that tried to fix one or two small corner cases that drove people wild, there really hadn't been anything like git that really ended up taking on the big problems head on. Even when people don't realize how important that "distributed" part was (and a lot of people were fighting it), once they figure out that it allows those easy and reliable backups, and allows people to make their own private test repositories without having to worry about the politics of having write access to some central repository, they'll never go back. + +### Does Git last forever, or do you foresee another revision control system in another 10 years? Will you be the one to write it? ### + +**Torvalds**: I'm not going to be the one writing it, no. And maybe we'll see something new in ten years, but I guarantee that it will be pretty "git-like." It's not like git got everything right, but it got all the really basic issues right in a way that no other SCM had ever done before. + +No false modesty ;) + +### Why does Git work so well for Linux? ### + +**Torvalds**: Well, it was obviously designed for our workflow, so that is part of it. I've already mentioned the whole "distributed" part many times, but it bears repeating. But it was also designed to be efficient enough for a biggish project like Linux, and it was designed to do things that people considered "hard" before git - because those are the things *I* do every day. + +Just to pick an example: the concept of "merging" was generally considered to be something really quite painful and hard in most SCM's. You'd plan your merges, because they were big deals. That's not acceptable to me, since I commonly do tens of merges a day when in the merge window, and even then, the biggest overhead shouldn't be the merge itself, it should be testing the result. The "git" part of the merge is just a couple of seconds, it should take me much longer just to write the merge explanation message. + +So git was basically designed and written for my requirements, and it shows. + +### People have said that Git is only for super smart people. Even Andrew Morton said Git is "expressly designed to make you feel less intelligent than you thought you were." What's your response to this? ### + +**Torvalds**: So I think it used to be true but isn't any more. There is a few reasons people feel that way, but I think only one of them remains. The one that remains is fairly simple: "you can do things so many ways." + +You can do a lot of things with git, and many of the rules of what you *should* do are not so much technical limitations but are about what works well when working together with other people. So git is a very powerful set of tools, and that can not only be overwhelming at first, it also means that you can often do the same (or similar) things different ways, and they all "work." Generally, the best way to learn git is probably to first only do very basic things and not even look at some of the things you can do until you are familiar and confident about the basics. + +There's a few historical reasons for why git was considered complicated. One of them is that it was complicated. The people who started using git very early on in order to work on the kernel really had to learn a very rough set of scripts to make everything work. All the effort had been on making the core technology work and very little on making it easy or obvious. So git (deservedly) had a reputation for requiring you to know exactly what you did early on. But that was mainly true for the first 6 months or a year. + +The other big reason people thought git was hard is that git is very different. There are people who used things like CVS for a decade or two, and git is not CVS. Not even close. The concepts are different. The commands are different. Git never even really tried to look like CVS, quite the reverse. And if you've used a CVS-like system for a long time, that makes git appear complicated and needlessly different. People were put off by the odd revision numbers. Why is a git revision not "1.3.1" with nice incrementing numbers like it was in CVS? Why is it that odd scary 40-character HEX number? + +But git wasn't "needlessly different." The differences are required. It's just that it made some people really think it was more complicated than it is, because they came from a very different background. The "CVS background" thing is going away. By now there are probably lots of programmers out there who have never used CVS in their lives and would find the CVS way of doing things very confusing, because they learned git first. + +### Do you think the rate of Linux kernel development would have been able to grow at its current rate without Git? Why or why not? ### + +**Torvalds**: Well, "without git," sure. But it would have required that somebody else wrote something git-equivalent: a distributed SCM that is as efficient as git is. We definitely needed something *like* git. + +### What's your latest opinion of GitHub? ### + +**Torvalds**: Github is an excellent hosting service; I have nothing against it at all. Now, the complaints I've had is that GitHub as a development platform - making commits, pull requests, keeping track of issues etc - doesn't work very well at all. It's not even close, not for something like the kernel. It's much too limited. + +That's partly because of how the kernel is developed, but part of it was that the GitHub interfaces were actively encouraging bad behavior. Commits done on GitHub had bad commit messages etc, because the web interfaces at GitHub were actively encouraging bad behavior. They did fix some of that, so it probably works better, but it will never be appropriate for something like the Linux kernel. + +### What is the most interesting use you've seen for Git and/or GitHub? ### + +**Torvalds**: I'm just happy that it made it so easy to start a new project. Project hosting used to be painful, and with git and GitHub it's just so trivial to do a random small project. It doesn't matter what the project is; what matters is that you can do it. + +### Do you have side projects up your sleeve today? Any more brilliant software projects that will dominate software development for years to come? ### + +**Torvalds**: Nothing planned. But I'll let you know if that changes. + +Atlassian is also helping to celebrate the anniversary of Git. Click on the image below to [take a walk down memory lane][1]. + + + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/news/featured-blogs/185-jennifer-cloer/821541-10-years-of-git-an-interview-with-git-creator-linus-torvalds + +作者:[Jennifer Cloer][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.linux.com/community/forums/person/714/catid/185-jennifer-cloer +[1]:https://www.atlassian.com/git/articles/10-years-of-git/ +[2]:http://www.linux.com/news/featured-blogs/185-jennifer-cloer/821541-10-years-of-git-an-interview-with-git-creator-linus-torvalds +[3]: +[4]: +[5]: +[6]: +[7]: +[8]: +[9]: +[10]: +[11]: +[12]: +[13]: +[14]: +[15]: +[16]: +[17]: +[18]: +[19]: +[20]: diff --git a/sources/tech/20141226 Real-World WordPress Benchmarks with PHP5.5 PHP5.6 PHP-NG and HHVM.md b/sources/tech/20141226 Real-World WordPress Benchmarks with PHP5.5 PHP5.6 PHP-NG and HHVM.md deleted file mode 100644 index 651952ec1d..0000000000 --- a/sources/tech/20141226 Real-World WordPress Benchmarks with PHP5.5 PHP5.6 PHP-NG and HHVM.md +++ /dev/null @@ -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; it’s still investigated with the help of the HHVM guys! However on a DigitalOcean 4GB box it beat even the latest build of PHP-NG!** - - - -**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 that’s preventing it from kicking into high speed, we’re 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 that’s 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 - - - -line before the /body tag of the footer.php’s. - -**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 can’t 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, they’re 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/ \ No newline at end of file diff --git a/sources/tech/20150227 Enjoy Android Apps on Ubuntu using ARChon Runtime.md b/sources/tech/20150227 Enjoy Android Apps on Ubuntu using ARChon Runtime.md index f85b2cf725..f6def514b8 100644 --- a/sources/tech/20150227 Enjoy Android Apps on Ubuntu using ARChon Runtime.md +++ b/sources/tech/20150227 Enjoy Android Apps on Ubuntu using ARChon Runtime.md @@ -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. diff --git a/sources/tech/20150324 How to Host Open Source Code Repository in github.md b/sources/tech/20150324 How to Host Open Source Code Repository in github.md deleted file mode 100644 index 267486f211..0000000000 --- a/sources/tech/20150324 How to Host Open Source Code Repository in github.md +++ /dev/null @@ -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. - - - -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. - - - -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. - - - -### 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 . - - - -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. - - - -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. - - - -### 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 - - - -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' - - - -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 - - - -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 - - - -### 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 - - - -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/ diff --git a/sources/tech/20150326 A Peep into Process Management Commands in Linux.md b/sources/tech/20150326 A Peep into Process Management Commands in Linux.md deleted file mode 100644 index e1df53bab5..0000000000 --- a/sources/tech/20150326 A Peep into Process Management Commands in Linux.md +++ /dev/null @@ -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 - - - - 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. - - - -### 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. - - - -### 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. - - - -### 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. - - niceRouter name | +AS | +IP address | +
router-A | +100 | +10.10.12.1/30 | +
router-B | +200 | +10.10.12.2/30 | +