From 84fe9d6e8fa60c349b3704d64af887c5d421938b Mon Sep 17 00:00:00 2001 From: KayGuoWhu Date: Wed, 28 May 2014 14:46:08 +0800 Subject: [PATCH 001/291] KayGuoWhu tranlating --- sources/tech/20140528 Install Webmin On Ubuntu 14.04.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/tech/20140528 Install Webmin On Ubuntu 14.04.md b/sources/tech/20140528 Install Webmin On Ubuntu 14.04.md index cee6f7f3d5..5a7309ff29 100644 --- a/sources/tech/20140528 Install Webmin On Ubuntu 14.04.md +++ b/sources/tech/20140528 Install Webmin On Ubuntu 14.04.md @@ -1,3 +1,4 @@ +[KayGuoWhu翻译中] Install Webmin On Ubuntu 14.04 ================================================================================ ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/webmin-790x586.jpg) From b35789a311bc24e7ff4884c18e2542dc85f2cb17 Mon Sep 17 00:00:00 2001 From: KayGuoWhu Date: Wed, 28 May 2014 15:07:44 +0800 Subject: [PATCH 002/291] translated --- ...20140528 Install Webmin On Ubuntu 14.04.md | 58 ------------------- ...20140528 Install Webmin On Ubuntu 14.04.md | 56 ++++++++++++++++++ 2 files changed, 56 insertions(+), 58 deletions(-) delete mode 100644 sources/tech/20140528 Install Webmin On Ubuntu 14.04.md create mode 100644 translated/tech/20140528 Install Webmin On Ubuntu 14.04.md diff --git a/sources/tech/20140528 Install Webmin On Ubuntu 14.04.md b/sources/tech/20140528 Install Webmin On Ubuntu 14.04.md deleted file mode 100644 index 5a7309ff29..0000000000 --- a/sources/tech/20140528 Install Webmin On Ubuntu 14.04.md +++ /dev/null @@ -1,58 +0,0 @@ -[KayGuoWhu翻译中] -Install Webmin On Ubuntu 14.04 -================================================================================ -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/webmin-790x586.jpg) - -[Webmin][1] is an open source, web based system administration tool for Unix/Linux. Using Webmin, you can setup and configure all services such as DNS, DHCP, Apache, NFS, and Samba etc via any modern web browsers. So, you don’t have to remember all commands or edit any configuration files manually. - -### Install Webmin On Ubuntu 14.04 LTS using official repository ### - -Add the webmin official repository: - -Edit file **/etc/apt/sources.list**, - - sudo vi /etc/apt/sources.list - -Add the following lines: - - deb http://download.webmin.com/download/repository sarge contrib - deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib - -Add the GPG key: - - sudo wget http://www.webmin.com/jcameron-key.asc - sudo apt-key add jcameron-key.asc - -Update the sources list: - - sudo apt-get update - -Install webmin using the following command: - - sudo apt-get install webmin - -Allow the webmin default port “10000″ via firewall, if you want to access the webmin console from a remote system. - - sudo ufw allow 10000 - -### Access Webmin console ### - -Open up your browser and navigate to the URL **https://ip-address:10000/**. The following screen should appear. Enter the user name and password to log in to webmin console. - -![Login to Webmin](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/Login-to-Webmin-Mozilla-Firefox_010.png) - -This is how my Webmin Dashboard looked. - -![Webmin 1.690 on server.unixmen.local (Ubuntu Linux 14.04)](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/Webmin-1.690-on-server.unixmen.local-Ubuntu-Linux-14.04-Mozilla-Firefox_011.png) - -That’s it. Now you’ll be able to manage and configure your Ubuntu server graphically. Cheers! - --------------------------------------------------------------------------------- - -via: http://www.unixmen.com/install-webmin-ubuntu-14-04/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.webmin.com/ \ No newline at end of file diff --git a/translated/tech/20140528 Install Webmin On Ubuntu 14.04.md b/translated/tech/20140528 Install Webmin On Ubuntu 14.04.md new file mode 100644 index 0000000000..e4065f5a1e --- /dev/null +++ b/translated/tech/20140528 Install Webmin On Ubuntu 14.04.md @@ -0,0 +1,56 @@ +在Ubuntu 14.04中安装Webmin +================================================================================ +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/webmin-790x586.jpg) + +[Webmin][1]是一款开源的、基于web的、适合Unix/Linux的系统管理工具。使用Webmin,你可以通过任何一款现有的网页浏览器来设置和配置所有的系统服务,比如DNS、DHCP、Apache、NFS和Samba等。因此,你无需记住所有的命令或手动编辑任何的配置文件了。 + +### 使用官方仓库在Ubuntu 14.04 LTS上安装Webmin ### + +添加webmin的官方库: + +编辑文件**/etc/apt/sources.list**, + + sudo vi /etc/apt/sources.list + +添加下列行内容: + + deb http://download.webmin.com/download/repository sarge contrib + deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib + +添加GPG密钥: + + sudo wget http://www.webmin.com/jcameron-key.asc + sudo apt-key add jcameron-key.asc + +更新软件列表: + + sudo apt-get update + +使用下列命令安装webmin: + + sudo apt-get install webmin + +如果你想远程访问webmin的控制台,则需要设置防火墙允许通过webmin的默认端口“10000”。 + + sudo ufw allow 10000 + +### 访问Webmin控制台 ### + +打开你的浏览器,转到这个地址**https://ip-address:10000/**。将会出现下面的画面,输入用户名和密码就可以登陆进webmin控制台了。 + +![Login to Webmin](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/Login-to-Webmin-Mozilla-Firefox_010.png) + +这是我的Webmin控制面板的样子。 + +![Webmin 1.690 on server.unixmen.local (Ubuntu Linux 14.04)](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/Webmin-1.690-on-server.unixmen.local-Ubuntu-Linux-14.04-Mozilla-Firefox_011.png) + +就是这样简单。现在你就可以图形化地管理和配置你的Ubuntu服务器了。欢呼吧! +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/install-webmin-ubuntu-14-04/ + +译者:[KayGuoWhu](https://github.com/KayGuoWhu) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.webmin.com/ \ No newline at end of file From e9c74abac0383daacba372316e077cd2b0c312a7 Mon Sep 17 00:00:00 2001 From: John Date: Thu, 26 Jun 2014 22:41:57 +0800 Subject: [PATCH 003/291] partly translated --- ... Questions and Answers' for Linux Users.md | 51 ++++++++++--------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/sources/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md b/sources/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md index 1dcd0d5b04..6efbe5400f 100644 --- a/sources/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md +++ b/sources/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md @@ -10,7 +10,7 @@ translating by johnhoow... 感谢你们这一路上对我们的支持.这篇文章主要针对MySQL的实用性,讲面试方面的问题. ### 1. 如何使用SELECT语句找到你正在运行的服务器的版本并打印出当前数据库的名称? ### -**答案**:下面的语句的结果会显示服务器的版本和当前的数据库名称 +**Ans**:下面的语句的结果会显示服务器的版本和当前的数据库名称 mysql> SELECT VERSION(), DATABASE(); @@ -43,7 +43,7 @@ translating by johnhoow... ### 2. 使用非运算符(!)从表"Tecmint"中列出除了user等于"SAM"的所有记录 -**答案**:使用下面的语句 +**Ans**:使用下面的语句 mysql> SELECT * FROM Tecmint WHERE user !=SAM; @@ -56,12 +56,11 @@ translating by johnhoow... ### 3. 是否能够使用非运算符(!)来实现'AND'运算 -**答案**: The AND operator is used when we use (=) and the operator OR is used when we use (!=). An example of (=) with AND Operator. -**答案**: +**Ans**: 我们使用’=’号和OR运算符或者'!='和AND运算符,下面是'='和AND运算符的例子 mysql> SELECT * FROM mail WHERE user = SAM AND root = phil -An Example of (!=) with OR Operator. +'!='和OR运算符的例子 mysql> SELECT * FROM mail WHERE user != SAM OR root != phil @@ -71,15 +70,15 @@ An Example of (!=) with OR Operator. | 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 | +---------------------+---------+---------+---------+---------+-------+ -- = : means Equal to -- != : Not Equal to -- ! : represents NOT Operator +- = : 等于 +- != : 不等于 +- ! : 非运算符 -The AND & OR are treated as joining operators in MySQL. +AND和OR在MySQL中被看作加入运算符 -### 4. What IFNULL() statement is used for in MySQL? ### +### 4. IFNULL()语句在MySQL中有什么作用? ### -**Ans**: The Query in MySQL can be written precisely using **IFNULL()** statement. The IFNULL() statement test its first argument and returns if it’s not NULL, or returns its second argument, otherwise. +**Ans**: **IFNULL**语句的使用使得MySQL中的查询更加精确。IFNULL()语句先测试它的的一个参数,若不为空就返回该参数的值,否则返回第二个参数的值 mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer; @@ -93,10 +92,12 @@ The AND & OR are treated as joining operators in MySQL. +---------+---------+ ### 5. You want to see only certain rows from a result set from the beginning or end of a result set. How will you do it? ### +### 5. 如果你只想知道从一个结果集的开头或者结尾开始的特定条数的行记录改如何实现? -**Ans**: We need to use **LIMIT** clause along with ORDER BY to achieve the above described scenario. +**Ans**: 我们可以用**LIMIT**和**ORDER BY**从句。 #### Show 1 Record #### +#### 显示一行记录 #### mysql> SELECT * FROM name LIMIT 1; @@ -106,7 +107,7 @@ The AND & OR are treated as joining operators in MySQL. | 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 | +----+------+------------+-------+----------------------+------+ -#### Show 5 Record #### +#### 显示5行记录 #### mysql> SELECT * FROM profile LIMIT 5; @@ -120,7 +121,7 @@ The AND & OR are treated as joining operators in MySQL. | 5 | Sean | 1963-07-04 | blue | burrito,curry | 5 | +----+------+------------+-------+-----------------------+------+ ----------- +#### 显示按照ORDER BY排序后的第一条记录 #### mysql> SELECT * FROM profile ORDER BY birth LIMIT 1; @@ -130,20 +131,20 @@ The AND & OR are treated as joining operators in MySQL. | 9 | Dick | 1952-08-20 | green | lutefisk,fadge | 0 | +----+------+------------+-------+----------------+------+ -### 6. Oracle Vs MySQL. Which one and Why? ### +### 6. Oracle 和 MySQL.改如何选择? ### -**Ans**: Well both has its advantages and disadvantages. As a matter of time I prefer MySQL. +**Ans**: 它们都有各自的优点和缺点。 -#### Reason for Selection MySQL Over oracle #### +#### 选择MySQL而不选orcale的原因 #### -- Mysql is FOSS. -- MySQL is portable. -- MYSQL supports both GUI as well as Command Prompt. -- MySQL Administration is supported over Query Browser. +- 开源 +- 轻便快捷 +- 有命令行和图形界面 +- 能通过查询器进行数据库的管理 -### 7. How will you get current date in MySQL? ### +### 7. MySQL中如何得到当前日期? ### -**Ans**: Getting current date in MySQL is as simple as executing the below SELECT Statement. +**Ans**: 使用CURRENT_DATE()函数 mysql> SELECT CURRENT_DATE(); @@ -154,9 +155,9 @@ The AND & OR are treated as joining operators in MySQL. +----------------+ ### 8. How will you export tables as an XML file in MySQL? ### +### 8. MySQL中如何将表导出为XML文件? ### -**Ans**: We use ‘-e‘ (export) option to export MySQL table or the whole database into an XML file. With large tables we may need to implement it manually but for small tables, applications like phpMyAdmin can do the job. -A native command of MySQL can do it. +**Ans**: 使用'-e'(export)参数来把MySQL表或整个数据库导出到XML文件。当处理大型表的时候或许我们需要手动导出,但是只是导出小文件的话可以直接使用想phpMyAdmin这样的工具。 mysql -u USER_NAME –xml -e 'SELECT * FROM table_name' > table_name.xml From e50ed3218792c9a35e9b2dda8ff8b1044c515658 Mon Sep 17 00:00:00 2001 From: disylee Date: Tue, 1 Jul 2014 15:21:25 +0800 Subject: [PATCH 004/291] Update 20140618 110 Fun Open Source Games and Apps.md translating by disylee 20140701 --- sources/talk/20140618 110 Fun Open Source Games and Apps.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/talk/20140618 110 Fun Open Source Games and Apps.md b/sources/talk/20140618 110 Fun Open Source Games and Apps.md index fb0a69e24f..c4a59eb1ab 100644 --- a/sources/talk/20140618 110 Fun Open Source Games and Apps.md +++ b/sources/talk/20140618 110 Fun Open Source Games and Apps.md @@ -1,3 +1,4 @@ +translating by disylee 20140701 110 Fun Open Source Games and Apps ================================================================================ Once again, we're celebrating the arrival of summer with a list of some of the best open source games available. We've updated [last year's list][1] with some new arrivals, as well as getting rid of some of the older games that are no longer under active development. You'll find arcade, board, casual, puzzle, educational, first-person shooter, music, racing, role-playing, adventure, simulator and strategy games, as a well as a few apps that aren't really games but are still a lot of fun. @@ -589,4 +590,4 @@ via: http://www.datamation.com/open-source/110-fun-open-source-games-and-apps-1. [108]:http://community.electricsheep.org/ [109]:http://lcars24.com/ [110]:http://stellarium.org/ -[111]:http://tuxpaint.org/ \ No newline at end of file +[111]:http://tuxpaint.org/ From a9bb0a61c861555ddddbe220ff2f4439596cc7d3 Mon Sep 17 00:00:00 2001 From: JonathanKang Date: Tue, 1 Jul 2014 18:08:20 +0800 Subject: [PATCH 005/291] JonathanKang is translating --- ...w To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md b/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md index 32ffebe121..967702ffc9 100644 --- a/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md +++ b/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md @@ -1,3 +1,5 @@ +JonathanKang is translating + How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip] ================================================================================ If you have to deal with multiple timezones on a regular basis, you would definitely appreciate if your desktop clock could show multiple timezones. As an expat, I have to keep the track of time in both France and India. In Ubuntu, you can easily change the settings to add multiple timezones. @@ -39,4 +41,4 @@ via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/ 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [g]:https://plus.google.com/u/0/110180944531110746460 -[t]:https://twitter.com/abhishek_pc \ No newline at end of file +[t]:https://twitter.com/abhishek_pc From 2a2b3ea21a811af4089ab6f3721b67b0406ee0b1 Mon Sep 17 00:00:00 2001 From: JonathanKang Date: Tue, 1 Jul 2014 18:41:02 +0800 Subject: [PATCH 006/291] translated --- ...e Timezones In Ubuntu 14.04 [Quick Tip].md | 44 ------------------- ...e Timezones In Ubuntu 14.04 [Quick Tip].md | 42 ++++++++++++++++++ 2 files changed, 42 insertions(+), 44 deletions(-) delete mode 100644 sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md create mode 100644 translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md diff --git a/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md b/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md deleted file mode 100644 index 967702ffc9..0000000000 --- a/sources/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md +++ /dev/null @@ -1,44 +0,0 @@ -JonathanKang is translating - -How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip] -================================================================================ -If you have to deal with multiple timezones on a regular basis, you would definitely appreciate if your desktop clock could show multiple timezones. As an expat, I have to keep the track of time in both France and India. In Ubuntu, you can easily change the settings to add multiple timezones. - -In this quick tip, we shall see **how to add additional timezone in Ubuntu 14.04**. - -### Add multiple timezones in Ubuntu 14.04 ### - -Go to System Settings (press Windows key and search for system settings in Unity Dash) and look for Time & Date. - -In here, go to **Clock** tab and check the **Time in other locations** box. After that click on **Choose locations** button. - -![Add multiple timezones in Ubuntu](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Timezone_Ubuntu.jpeg) - -It will open a box where you can **type a location** of your choice and a drop down will appear with matching locations. Choose the one you want and **click on the plus (+) sign** to add it. - -![Adding timezone in Ubuntu](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Add_Timezone_Ubuntu.png) - -Once you have done this, you can see various timezone added in the clock. - -![multiple timezone displayed in Ubuntu 14.04](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Multiple_Timezones_display_Ubuntu.png) - -Enjoy Ubuntu across timezones :) - ----------- - -![](http://0.gravatar.com/avatar/20749c268f5d3e4d2c785499eb6a17c0?s=80&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D80&r=G) - -#### About Abhishek #### - -I am Abhishek Prakash, 'creator' of It's F.O.S.S. I have a Masters in Communication System Engineering. I am an avid Linux lover and Open Source enthusiast. I use Ubuntu and believe in sharing knowledge. Apart from Linux, I love classic detective mystery. Huge fan of Agatha Christie work. Feel free to circle me on [Google Plus][g] and [Follow @abhishek_pc][t] - --------------------------------------------------------------------------------- - -via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[g]:https://plus.google.com/u/0/110180944531110746460 -[t]:https://twitter.com/abhishek_pc diff --git a/translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md b/translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md new file mode 100644 index 0000000000..7315301b06 --- /dev/null +++ b/translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md @@ -0,0 +1,42 @@ +如何在Ubuntu 14.04中添加多时区时间 [小技巧] +================================================================================ +如果你需要和多时区时间打交道的话,你一定希望你的电脑时钟可以显示多个时区的时间。作为一个移居国外的人,我需要关注法国和印度的时间。在Ubuntu系统中,你可以进行简易的设置来添加多时区时间。 + +在这次的使用技巧中,我们会了解到 **如何在Ubuntu 14.04系统中添加多时区时间**。 + +### 在Ubuntu 14.04系统中添加多时区时间 ### + +打开系统设置(按下标有微软徽标的按键,在Dash中搜索“系统设置”),进入”时间&日期“选项。 + +接下来,进入**时钟**标签页,找到**其他时区时间**选项,然后点击**选择地区**按钮。 + +![Add multiple timezones in Ubuntu](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Timezone_Ubuntu.jpeg) + +在新打开的窗口中,你可以**输入一个地区**,之后相应的结果会在下面显示出来。选择你想添加的地区,然后**点击下面的加号标志(+)**来添加。 + +![Adding timezone in Ubuntu](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Add_Timezone_Ubuntu.png) + +完成了这些工作之后,你就可以在系统时钟处看到其他地区的时间了。 + +![multiple timezone displayed in Ubuntu 14.04](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Multiple_Timezones_display_Ubuntu.png) + +好好的感受Ubuntu多时区时钟给你带来的便捷吧。:) + +---------- + +![](http://0.gravatar.com/avatar/20749c268f5d3e4d2c785499eb6a17c0?s=80&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D80&r=G) + +#### 关于 Abhishek #### + +我叫Abhishek Prakash,是It's F.O.S.S的创始人。我获得了通信系统工程硕士学位。我是一个狂野的Linux爱好者和开源痴迷者。我在使用Ubuntu系统并且希望和大家分享知识和经验。出了Linux,我还很喜欢经典侦探悬疑电影。我是阿加莎-克里斯蒂的超级粉丝。你可以在[Google Plus][g]上添加我到你的好友圈,也可以[在twitter上关注 @abhishek_pc][t]。 + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/ + +译者:[JonathanKang](https://github.com/JonathanKang) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[g]:https://plus.google.com/u/0/110180944531110746460 +[t]:https://twitter.com/abhishek_pc From 794c63dc2f785cd40243e30de919b01bcc6c7812 Mon Sep 17 00:00:00 2001 From: tinyeyeser Date: Tue, 1 Jul 2014 21:57:24 +0800 Subject: [PATCH 007/291] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E4=B8=AD=20by?= =?UTF-8?q?=E5=B0=8F=E7=9C=BC=E5=84=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0140620 How Many Languages Do Developers Need To Know.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sources/talk/20140620 How Many Languages Do Developers Need To Know.md b/sources/talk/20140620 How Many Languages Do Developers Need To Know.md index a4eb9c11eb..e75575254b 100644 --- a/sources/talk/20140620 How Many Languages Do Developers Need To Know.md +++ b/sources/talk/20140620 How Many Languages Do Developers Need To Know.md @@ -1,3 +1,5 @@ +翻译中 by小眼儿 + How Many Languages Do Developers Need To Know? ================================================================================ ![](http://readwrite.com/files/styles/1400_0/public/fields/code%20example%20Flickr%20Ruiwen%20Chua.jpg) @@ -69,7 +71,7 @@ Lead image by [Flickr user Ruiwen Chua][11], CC 2.0 via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Mr小眼儿](https://github.com/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 @@ -83,4 +85,4 @@ via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart [8]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack [9]:http://en.wikipedia.org/wiki/PHP [10]:http://blog.erratasec.com/2014/06/why-it-had-to-be-swift.html#.U58BJI1dXtA -[11]:https://www.flickr.com/photos/ruiwen/3260095534 \ No newline at end of file +[11]:https://www.flickr.com/photos/ruiwen/3260095534 From 2e8a4b89321e5a1b70e0818574aa75b1888f810f Mon Sep 17 00:00:00 2001 From: Xiangbin Ma Date: Tue, 1 Jul 2014 23:20:29 +0800 Subject: [PATCH 008/291] Update 20140609 Out in the Open--The Little-Known Open Source OS That Rules the Internet of Things.md --- ...-Known Open Source OS That Rules the Internet of Things.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/talk/20140609 Out in the Open--The Little-Known Open Source OS That Rules the Internet of Things.md b/sources/talk/20140609 Out in the Open--The Little-Known Open Source OS That Rules the Internet of Things.md index 22e05f9384..3f70d6cd07 100644 --- a/sources/talk/20140609 Out in the Open--The Little-Known Open Source OS That Rules the Internet of Things.md +++ b/sources/talk/20140609 Out in the Open--The Little-Known Open Source OS That Rules the Internet of Things.md @@ -1,4 +1,4 @@ -Out in the Open: The Little-Known Open Source OS That Rules the Internet of Things +Translating by toknow-gh Out in the Open: The Little-Known Open Source OS That Rules the Internet of Things ================================================================================ ![](http://www.wired.com/wp-content/uploads/2014/06/Contiki-ipv6-rpl-cooja-simulation.png) Image: Adnk/[Wikipedia][1] @@ -46,4 +46,4 @@ via: http://www.wired.com/2014/06/contiki/ [8]:http://www.wired.com/2014/01/googles-3-billion-nest-buy-finally-make-internet-things-real-us/ [9]:http://lifx.co/ [10]:http://www.tado.com/de-en/ -[11]:http://www.thingsquare.com/ \ No newline at end of file +[11]:http://www.thingsquare.com/ From e3992df25a56db4552939adf74b0521ac0740aca Mon Sep 17 00:00:00 2001 From: linuhap Date: Wed, 2 Jul 2014 11:24:00 +0800 Subject: [PATCH 009/291] translated --- ...e Best Linux Distribution for New Users.md | 158 ----------------- ...e Best Linux Distribution for New Users.md | 159 ++++++++++++++++++ 2 files changed, 159 insertions(+), 158 deletions(-) delete mode 100644 sources/talk/20140610 The Best Linux Distribution for New Users.md create mode 100644 translated/talk/20140610 The Best Linux Distribution for New Users.md diff --git a/sources/talk/20140610 The Best Linux Distribution for New Users.md b/sources/talk/20140610 The Best Linux Distribution for New Users.md deleted file mode 100644 index e9764674a8..0000000000 --- a/sources/talk/20140610 The Best Linux Distribution for New Users.md +++ /dev/null @@ -1,158 +0,0 @@ -The Best Linux Distribution for New Users -================================================================================ -This is a debate that most certainly brings out the beast in many a Linux user. The argument doesn't generally boil down to which distribution is truly best suited for new users, but which distribution is favored by those in the debate. If we set our personal preferences aside, a clearer picture can arise. But even that clarity can quickly get obscured by the needs and desires of the new users. Given that, I decided to take a different approach to finding the “best distro for new users." My criteria for best distribution must not only be easy to use, but also must appeal to a more modern design aesthetic brought about by the ever-growing thrust of the mobile interface metaphor. - -For the purposes of this examination, to be included in the short list a distribution must: - -- Be incredibly user-friendly -- Include, out of the box, all common apps -- Include some form of an app store -- Offer a modern user interface. - -Let me explain each criteria. - -### User-friendliness ### - -This is such a hotly debatable topic. But the truth of the matter is – a new user must be able to pick up a flavor of Linux and just start using it, with little to no explaining. If too much explanation must be given, then the distribution is not user friendly. I hate to be that guy, but nearly any user can sit in front of a Windows 7 or OS X desktop and start using it with almost zero coaching. That is what every Linux desktop should shoot for. - -### Common apps ### - -Users should not have to install the necessities out of the box. Period. And just what are the necessities? The list grows shorter every year. Currently, the list of must-have apps are: - -- Web browser: Either Chrome or Firefox (sorry, all other browsers need not apply) -- Email client: Thunderbird is the obvious choice -- Office Suite: LibreOffice. End of story -- Music player: Play local files and connect to streaming services (such as Spotify). - -That's the short list of apps nearly every user depends upon. - -### App store ### - -Thanks to that ever-growing dependency on mobile devices, users have grown accustomed to app stores. Linux has had these for quite some time (Synaptic being one of the oldest). Without a well thought-out app store, users will struggle with adding software in the Linux environment. This is, without a doubt, crucial. - -### Modern interface ### - -I've mentioned the mobile landscape a number of times already. Thanks to iOS and Android, users have grown fond of the modern UI. The desktop needs to follow suit and draw the attention of users with a unique, modern, yet easy-to-use interface. The old metaphor is no longer as effective in a multi-touch-friendly, mobile world. -Top three distros - -With the criteria in place, which distributions meet (or exceed) our needs? First, let's examine the top three candidates. Each of the following meets (or exceeds) the criteria. - -#### Ubuntu #### - -[Ubuntu Linux][1] has long reigned the king of user-friendly Linux. Out of the box, it's a challenge to find a desktop (Unity) that is more engaging and easy to use... even for those unfamiliar to the platform. The desktop layout, although different, is logical and intuitive. With the addition of one of the single most powerful search tools of any desktop environment, Ubuntu Unity should be considered a crowning achievement among the Linux faithful. - -#### Linux Mint #### - -If there is a distribution set to usurp the crown from the king, it is [Linux Mint][2]. Linux Mint takes a more standard approach to the desktop, but layers just enough eye candy and variation to make it stand out from the long-in-the-tooth desktop metaphor. Linux Mint is based on Ubuntu, so it does benefit from the stability and reliability found in its big brother. - -#### Linux Deepin #### - -New to the user-friendly list is [Linux Deepin][3]. This relatively new distribution hails from China and should be making some serious waves. Why? Because it takes the Linux desktop and turns it into a thing of artistic beauty; while at the same time retaining a high level of user-friendliness. When the newest iteration of this distribution is released, I expect big things. Linux Deepin takes the GNOME 3 desktop and retools it into something completely different and completely marvelous. - -### Scoring the Distros ### - -With the top contenders listed, let's compare each to our criteria and rank each. Scoring for the distributions is as such: For each criteria, the distributions are ranked first to last (first getting 1 point, last getting 3 points). In the end, all scores are totaled to determine the winner -- lowest score wins. - -#### User-friendliness #### - -This is probably the tightest of categories and hardest to judge. Each distribution is tops in user-friendliness in different ways. In the end, I'd rank the top three: - -1. Linux Mint - -2. Ubuntu Linux - -3. Linux Deepin - -Why? Mint gains a slight edge simply because it still holds to the old metaphor of start menu, task bar, and desktop icons. The margin of victory is incredibly slim though, as both Ubuntu and Linux Deepin require next to zero learning curve – even for the yet-to-be-initiated. - -#### Common apps #### - -The only reason this category is hard to judge is because each distribution includes all of the necessary applications. Although Linux Deepin currently offers Kingsoft Office (one of the finest mobile office suite solutions), the plans are to default to LibreOffice in the 2014 release. - -One of my issues with the common apps falls into that of audio players. Though I stream a lot of music (using the Spotify client), when I play music on my local drive, I always use Clementine. The default players are: - -- Ubuntu: Rhythmbox -- Linux Mint: Banshee -- Linux Deepen: DMusic. - -Of the three, Banshee (Figure 1) offers the most features, DMusic (Figure 2) offers the best interface, and (surprisingly enough) Rhythmbox (Figure 3) is, by far, the least reliable. - -![](http://www.linux.com/images/stories/41373/banshee.png) - -banshee - -![](http://www.linux.com/images/stories/41373/dmusic.png) - -dmusic - -![](http://www.linux.com/images/stories/41373/rhythmbox.png) - -rhythmbox - -So, how do they score? Like so: - -1. Linux Mint - -2. Ubuntu Linux - -3. Linux Deepin - -#### App store #### - -This category cannot go without being addressed. Why? Because the app store can easily make or break a Linux distribution for a new user. There will always be apps needed and no new user wants to jump through the hoops of learning the command line. Each distribution has their own take on the app store. - -- Ubuntu: Ubuntu Software Center -- Mint: Software Manager -- Linux Deepin: Deepin Software Center - -It should be said, that each of these tools is based on the Ubuntu Software Center. What is odd about this is that it is the Ubuntu Software Center that lands squarely on the bottom. The primary reason for this is the Ubuntu Software Center is very slow – even on an incredibly powerful machine. - -I would order the app stores as such: - -1. Linux Deepin - -2. Linux Mint - -3. Ubuntu Linux - -Each of the app stores functions in a very similar manner. The reason Linux Deepin gets the top bill is twofold: The interface is easier to navigate and the application opens far faster than either the Ubuntu Software Manager or the Mint Software Manager. - -#### Modern interface #### - -This is the category in which Linux Mint falls way, way behind. Even though it does offer a bit of eye candy and a more shallow learning curve, Linux Mint still suffers from what is, by comparison, a very outdated desktop. Even on powerful hardware (with solid graphics), Linux Mint still looks like it could very easily have been transported from the late 1990s. To that end, we must look to either Ubuntu Linux or Linux Deepin to bring us into the future. The winner is: - -1. Linux Deepin - -2. Ubuntu Linux - -3. Linux Mint - -What Linux Deepin does is use GNOME 3 to create an amalgam of GNOME and OSX that works so beautifully, you think you're dealing with a piece of interactive art. - -### The overall winner ### - -Although this is very rudimentary, the order of our best Linux distro for new users would be: - -1. Linux Mint with a collective score of 7 - -2. Linux Deepin with a collective score of 8 - -3. Ubuntu Linux with a collective score of 9 - -If you're wondering about the 'writer opinion' of this piece, know this: I have used Ubuntu Linux for years (and still do). I have recently been quoted as saying “If there's a Linux distro that will sway me from Ubuntu, it's Linux Deepin.” Although I appreciate Linux Mint for what it is, I only use it for testing purposes. With that said, Linux Mint is the clear winner, when it comes to best Linux distribution for new users. - -Here's the real truth of this matter – you can't go wrong with any of these Linux desktops. They each shine in their own right. If you're looking for a true beauty, go with Linux Deepin. If you want a combination of beauty and ease of use, go with Ubuntu Linux. If you just want simplicity and you don't care about eye candy, go with Linux Mint. No matter which way you go, it's a win-win-win scenario. - -What do you think? How would you rank the three chosen desktops? Or, would you write in a completely different Linux distribution for best in show for the new users (and why)? - --------------------------------------------------------------------------------- - -via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.ubuntu.com/ -[2]:http://www.linuxmint.com/ -[3]:http://www.linuxdeepin.com/index.en.html diff --git a/translated/talk/20140610 The Best Linux Distribution for New Users.md b/translated/talk/20140610 The Best Linux Distribution for New Users.md new file mode 100644 index 0000000000..1d9ab38028 --- /dev/null +++ b/translated/talk/20140610 The Best Linux Distribution for New Users.md @@ -0,0 +1,159 @@ +对新用户来说最好的Linux发行版 +================================================================================ +这个争论无疑给许多Linux用户带来了麻烦。争论不能普遍归结为哪个发行版是真正最适合新用户的,而是哪个发行版受这些争论者的喜爱。如果我们撇开个人喜爱,我们会看到更清楚的一面。但即使这样,清晰也很快会被新用户的需求和期望遮蔽。考虑到这点,我决定采取一个不同的方法来找出“对新用户来说最好的发行版”。我评判最好发行版的标准不仅是易用,而且还要呼吁由日益增长的移动界面隐喻推动带来的现代设计美学。 + +为了这次评测,发行版必须要有如下要求: + +- 非常友好 +- 包括,开箱即用,所有常用的应用程序 +- 包括某个形式的应用程序商店 +- 提供一个时尚的用户界面 + +让我解释一下各个标准 + +### 用户友好 ### + +这是一个备受争议的话题。但事实的真相是——新用户必须能够获得一种风格的Linux并开始使用,需要很少或不需要解释。如果必须很出太多解释,那么这个发行版便不是用户友好的。我不想成为那样的人,但是几乎任何用户都可以在近乎零指导的情况下坐在Windows 7或OS X桌面前并开始使用它。这是每一个Linux桌面都应当争取去做的。 + +### 常用应用程序 ### + +安装好系统后用户不应该去安装必需的程序。那么什么是必需的呢?每年列表都会变短。目前,必备的程序列表如下: + +- 网页浏览器:Chrome或者Firefox(对不起,其他的浏览器不需提供) +- 电子邮件客户端:Thunderbird是显而易见的选择。 +- Office办公套件:LibreOffice。就这样。 +- 音乐播放器:播放本地文件以及连接到流媒体服务(比如Spotify)。 + +这是几乎所有用户需要的应用程序的简表。 + +### 应用程序商店 ### + +由于移动设备需求的日益增长,用户已经习惯了应用商店。Linux有应用商店很长时间了(Synaptic是最古老的一个)。没有一个经深思熟虑做的应用商店,用户将会挣扎于在Linux环境中添加软件。毫无疑问,这一点至关重要。 + +### 时尚的界面 ### + +我已经多次提到移动设备的美化。由于iOS和Android,用户越来越喜欢时尚的界面。Linux的桌面需要进行效仿并且用独特的、时尚的和易用的界面来吸引用户注意力。旧的隐喻在多触控友好的移动世界里不再有影响力。 + +排名前三的发行版 + +以文中的标准,哪个发行版本满足了(或超过)我们的需求?首先,让我们来审查一下前三名的候选者。以下哪个满足了(或超过)标准。 + +#### Ubuntu #### + +[Ubuntu Linux][1]一直为用户友好型Linux的王者。开箱即用,寻找一个迷人和易用的桌面(Unity)是一个挑战,甚至是对于那些对平台不熟悉的人。它的桌面布局虽然与众不同,但却是合乎逻辑和很直观的。对于在桌面环境中添加一个最强大的搜索工具,在Linux中Ubuntu Unity应当获得最高成就。 + +#### Linux Mint #### + +如果认为有一个篡夺王位的发行版,那它就是[Linux Mint][2]。Linux Mint做了更多桌面的标准方法,但是图层华丽且多变使其从老旧的桌面隐喻中脱颖而出。Linux Mint基于Ubuntu,所以它得益于“老大哥”Ubuntu的稳定性和可靠性。 + +#### Linux Deepin #### + +用户友好型列表中的新成员是[Linux Deepin][3]。这个相对较新的受欢迎的发行版来自中国,而且应该扬起一些认真的浪波。为什么这样说?因为它使得Linux桌面转变为艺术美;同时也保持了高水平的用户友好性。我期待它的新版本发布将是个大事件。Linux Deepin使用的是GNOME 3桌面并将它重组得完全不同的,完全不可思议。 + +### 各发行版的比分 ### + +在最佳的竞争者名单中,我们来比较一下每一个标准和等级。每个发行版的比分如下:对于每个标准,发行版排名从高到底(第一名得一分,最后一名得三分)。最后,总分决定谁是冠军——最低得分获胜。 + +#### 用户友好性 #### + +这可能是最严密的分类和最艰难的判别。每个发行版以不同的方法在用户友好性上都各有优势。最后,我的排名是: + +1. Linux Mint + +2. Ubuntu Linux + +3. Linux Deepin + +为什么是这样呢?Mint仅有微小的优势,因为它的开始按钮,任务栏和桌面图标仍然使用旧的桌面隐喻。胜者的优势很微小,Ubuntu和Linux Deepin要求的学习曲线近乎为零——甚至是对于未使用者。 + +#### 常用的应用程序 #### + +这一类别难以判断的唯一原因是因为每个发行版都包括所有必要的应用程序。虽然Linux Deepin目前提供的是金山Office(一个最好的移动办公套件解决方案),它计划在2014发行版本中默认使用LibreOffice。 + +常用程序的我的一个问题是关于音乐播放器。虽然我在线听过很多音乐(使用Spotify客户端),但当我播放本地音乐时,总是使用Clementine。他们的默认播放器是: + +- Ubuntu: Rhythmbox +- Linux Mint: Banshee +- Linux Deepen: DMusic. + +三者中,Banshee(图1)提供了最多的功能,DMusic(图2)提供了最好的界面,(令人惊讶的)Rhythmbox(图3)目前最不稳定。 + +![](http://www.linux.com/images/stories/41373/banshee.png) + +banshee + +![](http://www.linux.com/images/stories/41373/dmusic.png) + +dmusic + +![](http://www.linux.com/images/stories/41373/rhythmbox.png) + +rhythmbox + +所以,他们得分多少?如下: + +1. Linux Mint + +2. Ubuntu Linux + +3. Linux Deepin + +#### 应用程序商店 #### + +如果不分析这部分将难进行。为什么呢?因为对于新用户应用商店可以轻易成就或是毁掉一个Linux发行版。总会有应用需求而且没有用户想经过命令行的重重考验。每个发行版都有自己的应用商店。 + +- Ubuntu: Ubuntu软件中心 +- Mint: 软件管理器 +- Linux Deepin: Deepin软件中心 + +应该说,这些工具中的每一个都是基于Ubuntu软件中心。奇怪的是Ubuntu软件中心却正好排在最底。主要原因是Ubuntu软件中心太慢了——甚至在一个非常强大的机器上。 + +我将应用商店排名设为如下: + +1. Linux Deepin + +2. Linux Mint + +3. Ubuntu Linux + +每个应用商店有非常相似的功能。Linux Deepin获得第一的原因有两个:界面易于控制而且程序开启速度远远快于Ubuntu软件中心和Mint软件管理器。 + +#### 时尚的界面 #### + +在这部分Linux Mint远远落后。尽管它提供了一个华美的界面和有很浅的学习曲线,但相比之下它仍然是一个非常过时的桌面。甚至在强大的硬件(有强大的显卡)上,Linux Mint仍然很容易被看成是来自90年代末的桌面。为了评判结果,我们必须看看是Ubuntu Linux还是Linux Deepin能带我们走进未来。胜者是: + +1. Linux Deepin + +2. Ubuntu Linux + +3. Linux Mint + +Linux Deepin使用GNOME 3来制作一个使用起来很漂亮的GNOME和OSX的混合体,你会认为你在处理一件互动的艺术品。 + +### 总冠军 ### + +虽然这是很初步的,对新用户来说最好的Linux发行版顺序应该是: + +1. Linux Mint的总得分是7 + +2. Linux Deepin的总得分是8 + +3. Ubuntu Linux的总得分是9 + +如果你想知道关于这篇文章的作者主张,要知道:我已经使用Ubuntu Linux很多年了(而且仍在用)。我最近一直在说“如果有一个Linux发行版动摇使用Ubuntu的想法,它便是Linux Deepin。”虽然我很欣赏Linux Mint,但我只是用它来进行测试。当说到对新用户最好的Linux发型版,Linux Mint是显而易见的赢家。 + +这件事真正的真相是——你在使用这些桌面中任何一个都不会错。他们都各有所长。如果你追求真正的美丽,使用Linux Deepin吧。如果你想要漂亮外观与易用结合,那就使用Ubuntu Linux。如果你只想要简单而且并不在乎漂亮的外观,那就用Linux Mint。不管你选哪一个,这都是三赢的局面。 + +你怎么认为?你会如何排这三个桌面的名次?或者,你是否会写一个不同的Linux发行版,该发行版在外表上来说对新用户最好的?(还有原因是什么?) + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/ + +译者:[linuhap](https://github.com/linuhap) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.ubuntu.com/ +[2]:http://www.linuxmint.com/ +[3]:http://www.linuxdeepin.com/index.en.html \ No newline at end of file From 3e17efc6e72d39a86d767512f12877058811d49f Mon Sep 17 00:00:00 2001 From: bazz2 Date: Wed, 2 Jul 2014 11:58:21 +0800 Subject: [PATCH 010/291] [bazz2-ing] Performance benchmarks--KVM vs. Xen --- sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md b/sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md index b00ff11616..f67314307a 100644 --- a/sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md +++ b/sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md @@ -1,3 +1,4 @@ +[bazz2 own this article] Performance benchmarks: KVM vs. Xen ================================================================================ After having some interesting discussions last week around KVM and Xen performance improvements over the past years, I decided to do a little research on my own. The last complete set of benchmarks I could find were from the [Phoronix Haswell tests in 2013][1]. There were [some other benchmarks from 2011][2] but those were hotly debated due to the Xen patches headed into kernel 3.0. @@ -91,4 +92,4 @@ via: http://major.io/2014/06/22/performance-benchmarks-kvm-vs-xen/ [6]:http://www.infoworld.com/d/virtualization/red-hat-releases-first-kvm-support-rhel-54-376 [7]:https://docs.google.com/spreadsheets/d/1kmudbOjCDUgfw76b8qP2GqNqF1ddlTOKyOjc0GmNOIE/edit?usp=sharing [8]:http://www.phoronix-test-suite.com/ -[9]:https://twitter.com/comstud/status/480785742730252288 \ No newline at end of file +[9]:https://twitter.com/comstud/status/480785742730252288 From c1343285814d5ea55888ea5d0867b5ad18971c8f Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 2 Jul 2014 15:16:20 +0800 Subject: [PATCH 011/291] =?UTF-8?q?20140702-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ade Linux Released for Open Source Cars.md | 38 +++++++ ...2 CoreOS Linux ending the upgrade cycle.md | 49 ++++++++ ...Here Are 5 Amazing Ascii Art Generators.md | 39 +++++++ ...40702 Command Line Tuesdays--Part Three.md | 83 ++++++++++++++ ...ow to install Raspberry Pi camera board.md | 107 ++++++++++++++++++ 5 files changed, 316 insertions(+) create mode 100644 sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md create mode 100644 sources/news/20140702 CoreOS Linux ending the upgrade cycle.md create mode 100644 sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md create mode 100644 sources/tech/20140702 Command Line Tuesdays--Part Three.md create mode 100644 sources/tech/20140702 How to install Raspberry Pi camera board.md diff --git a/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md b/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md new file mode 100644 index 0000000000..3e64736b69 --- /dev/null +++ b/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md @@ -0,0 +1,38 @@ +Automotive Grade Linux Released for Open Source Cars +================================================================================ +> The Linux Foundation and its partners have released the first version of Automotive Grade Linux, the open source platform for use inside connected cars. + +![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/07/automotivelinux.jpg) + +Linux, the open source operating system, shifted gears into a relatively new ecosystem this week with the first release of [Automotive Grade Linux][1] (AGL), a Linux distribution tailored for cars in the Internet of Things age. + +AGL is a collaborative project sponsored by the [Linux Foundation][2] that brings together a host of partners from the automotive industry, communications, computing hardware, academia and other sectors. The first release of the open source operating system, which appeared June 30 and is [available][3] for free online, is based on [Tizen IVI][4], a Linux-based platform designed to provide operating system solutions for a broad range of devices, from smartphones to TVs to cars to laptops. + +In its first release, AGL provides a series of features and applications tailored for deployment in cars and other vehicles, including: + +- Home Screen +- Dashboard +- Google Maps +- HVAC +- Media Playback +- News Reader (AppCarousel) +- Audio Controls +- Bluetooth Phone +- Smart Device Link Integration + +The Linux Foundation and its partners participating in the AGL project hope the solution will help to ensure that the "connected" cars of the future use open source software to deliver the next generation of entertainment, navigation and other tools for use inside vehicles. "Openness and collaboration are key to accelerating the development of a common, standard automotive platform so the industry can more quickly achieve its vision of delivering the connected car," said Dan Cauchy, general manager of Automotive, The Linux Foundation. + +Cauchy added that the Linux Foundation expects AGL development to continue steadily following this first release, and that collaborators hope to introduce "a number of additional capabilities and features in subsequent releases." + +-------------------------------------------------------------------------------- + +via: http://thevarguy.com/open-source-application-software-companies/070114/automotive-grade-linux-released-open-source-cars + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://automotive.linuxfoundation.org/ +[2]:http://linuxfoundation.org/ +[3]:http://automotive.linuxfoundation.org/ +[4]:https://www.tizen.org/ \ No newline at end of file diff --git a/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md b/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md new file mode 100644 index 0000000000..a4c8d1ef5e --- /dev/null +++ b/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md @@ -0,0 +1,49 @@ +CoreOS Linux ending the upgrade cycle +================================================================================ +> CoreOS launches commercially supported version of its Linux distribution and vows to do away with manual upgrading + +IDG News Service - Hoping to simplify life for system administrators, CoreOS has launched a commercial Linux distribution that continually updates itself, eliminating the need to perform major upgrades. + +CoreOS is offering its namesake Linux distribution as a commercial service, [starting][1] at $100 a month. + +"Businesses today can begin to think of CoreOS as an extension of their OS team, and for enterprise Linux customers this is the last migration they will ever need," said Alex Polvi, founder and CEO of CoreOS, in a statement. + +Commercial Linux subscriptions are nothing new: Both [Red Hat][2] and [Suse][3] offer commercial subscriptions for their respective distributions. + +Because the applications and libraries these Linux-based companies use are open source and freely available, the cost of the subscriptions doesn't cover the software itself, but rather pays for the updates, bug fixes, integration and technical support for when issues occur. + +CoreOS will be different from these distributions, the company asserted, in that there will be no major updates, which typically require updating all the packages in the distribution at once. Instead, updates and new features will be streamed automatically to the copy of the OS and applied as soon as they are ready. + +The service offers a dashboard, called CoreUpdate, that provides controls for designating which software packages should get updated, should the administrator not want all the packages to be updated automatically. + +CoreUpdate can manage multiple machines at once, and offers a roll-back capability should an update cause issues. + +Launched last December, CoreOS was designed to [focus][4] on an emerging use of the open-source OS kernel -- that of powering lots of cloud-based virtual servers. + +The average CoreOS instance was designed to consume only less than half of what other Linux distributions typically consume. All applications that run on the distribution run in Docker virtualized containers, so they can be started almost instantaneously. + +The distribution can be updated more easily [due to its novel use of two partitions][5]. One can contain the current version of the OS while the OS is being updated in the other, smoothing the process of upgrading a package, or the entire distribution. + +The CoreOS service can be run on-premises, or through Amazon, Google and Rackspace cloud services. + +CoreOS also announced Monday that it received $8 million in backing from the Kleiner Perkins Caulfield and Byers venture capital firm. The company has previously gotten investment from Sequoia Capital and Fuel Capital. + +---------- + +Joab Jackson covers enterprise software and general technology breaking news for The IDG News Service. Follow Joab on Twitter at [@Joab_Jackson][6]. Joab's e-mail address is [Joab_Jackson@idg.com][7] + +-------------------------------------------------------------------------------- + +via: http://www.computerworld.com/s/article/9249460/CoreOS_Linux_ending_the_upgrade_cycle?taxonomyId=122 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://coreos.com/products/managed-linux/plans/ +[2]:http://www.redhat.com/about/subscription/ +[3]:https://www.suse.com/support/programs/subscriptions/ +[4]:http://www.networkworld.com/article/2177120/cloud-computing/coreos-linux-distro-lands-on-the-google-cloud-platform.html +[5]:https://coreos.com/using-coreos/updates/ +[6]:http://twitter.com/Joab_Jackson +[7]:Joab_Jackson@idg.com \ No newline at end of file diff --git a/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md b/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md new file mode 100644 index 0000000000..55315f5730 --- /dev/null +++ b/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md @@ -0,0 +1,39 @@ +Here Are 5 Amazing Ascii Art Generators! +================================================================================ +![](http://www.efytimes.com/admin/useradmin/photo/nin511907PM712014.jpg) + +ASCII is a very fascinating character-encoding scheme wherein codes represent text in computers, communications equipment, and other devices that use text. The next gen might call it old-school but those familiar with the concept know how unique ASCII really is. Here we have compiled a list of 5 amazing ASCII art generators for you. + +### 1.[GlassGiant ASCII Art][1] ### + +This little program converts your picture to ASCII text art - a jumble of letters, numbers and symbols that do not appear to have any significance until you step back and look at the whole picture. It has no practical purpose, other than the neat factor. + +### 2.[ASCII Art Generator][2] ### + +ASCII art is an art movement that utilises computers for presentation and consists of pictures pieced together from printable characters. All you need to do id upload your image and it will convert it to ascii art. + +### 3.[Ascii.mastervb][3] ### + +ASCII Art is created from a 7-bit ASCII characters standard. ASCII Art was popular in 70-80s. In that time, computer OS was still text based. This application can convert images to ascii really quick. + +### 4.[IMG2TXT][4] ### + +This script takes the URL of a GIF, JPG, or PNG image and converts that image into ASCII text or colored HTML. + +### 5.[picascii][5] ### + +Convert a picture into ASCII TEXT,HTML. In order to convert a picture, you just need to enter an url or select a picture from your computer (gif,jpeg,png). + +-------------------------------------------------------------------------------- + +via: http://www.efytimes.com/e1/fullnews.asp?edid=142480 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://glassgiant.com/ascii/ +[2]:http://www.ascii-art-generator.org/ +[3]:http://ascii.mastervb.net/ +[4]:http://www.degraeve.com/img2txt.php +[5]:http://picascii.com/ \ No newline at end of file diff --git a/sources/tech/20140702 Command Line Tuesdays--Part Three.md b/sources/tech/20140702 Command Line Tuesdays--Part Three.md new file mode 100644 index 0000000000..8bf7670849 --- /dev/null +++ b/sources/tech/20140702 Command Line Tuesdays--Part Three.md @@ -0,0 +1,83 @@ +Command Line Tuesdays – Part Three +================================================================================ +Today, mr Shotts takes us on a first part of a guided tour through our file system. We’ll learn how to visit, list files within directories and we’ll learn to use some options for the first time. So let’s begin with the first command of the week. + +### ls ### + +ls is a command used to list files in a directory. It can be used in various ways. These various ways come with using a form of adding an **option** to our command. To make things clearer; You can type only ls. But, you can also add an option, which will modify your command. It can come in useful when you want to sandbox some of the information, when looking for something specific, and the command issues a very long output, you can, for example, narrow it down to only specific information. + +That’s what an option is. And formally we can write it down like this: + + command -option argument + +Command is, well, a command we write in (like pwd, ls or anything else we have learned by now). + +We already stated above the purpose of an option. But let me note it should be written exactly as it’s in the form; With a dash in front of it. So, if the option is l, you should put **-l** after the command. + +An **argument** is an object upon which the command operates (in this case, it will be directories, as we’ll learning how to navigate through them). + +So, let’s try out ls, and use it on the /etc directory in our home folder. This time, without any options. + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184127.png) + +There you go, a whole bunch of files. It also sorts them by colours. The blue ones are directories, the white ones are files, the green one seems like a shell script of some sort. There are more colors, as they represent different file types. + +Next, you can use the same command, but with an option -l added. Option -l will list the same files and directories, but in a long format. In case you need more information: + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184542.png) + +### The Long Format ### + +So, using the long format, you see much more information, and some crazy looking signs like -rw-r–r– at the beginning of all lines. Actually, here’s a scheme, representing what all of the given information actually means. + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184829.png) + +File Name is the name of the file. Modification time is the last time the file has been modified. Size is the size of the file in bytes. Group is the name of the group that has file permissions along with the owner, and Owner is the user who owns the file. The most important one is… + +### …File Permissions ### + +That’s the gibberish at the beginning of every line in long format. The first character is the file type. If it’s a ‘d’, it means the file’s a directory. If it’s ‘-’, it means it’s an ordinary file. The next three characters represent the read, write and execution rights of the file’s owner. The next three are the same rights of the group that also has access to the file, and the last three characters represent rights of everyone else trying to use the file. + +So for example, if we have a file which in long format displays: -rw-r–r–, it means it’s an ordinary file (the first ‘-’), the owner of the file can read and write the file, but he can’t execute it, as it’s not an executable file (the ‘rw-’ characters after the initial ‘-’), and the user group and everyone else can only read the file (you can see ‘r–’ sequence repeating twice. If the user group had ‘rwx’ instead of ‘r–’, it would mean they could read, write and execute the file). + +Next option for ls is ls -la .. – this will list all of the files, as in a usual command, hidden files are not shown. It will list all files in the parent of the working directory in long format. + +### less ### + +Less is a command which will display your text file. For example, you’re looking for text file os-release in /etc. You have succesfully found it there with ls /etc, and now you want to read it. + +You just use less /etc/os-release. + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-190252.png) + +..and there you go. + +How do you control less? + +Easy, with your keyboard! + +less will display only one page of your text at a time. To go forward one page, you can press **Page Up, or ‘b’**. To go back one page, you can use **Page Down, or space**. Capital **G** will take you to the end of the text file, while ‘**1G**‘ will take you to the beginning of the text. **/characters** will search for characters inside the text (for example, if you write /suse, it will search for occurances of suse inside your text and mark them). n will repeat the last search you performed, and **h** will display all your options (h, as in haalp!). + +![](https://news.opensuse.org/wp-content/uploads/2014/06/halp.jpg) + +You quit less with the letter q. + +### file ### + +The file command will show what kind of file is that you’re looking for, be it ASCII text, a jpg image, a bash script etc. As we performed our exercise with /etc/os-release, let’s use it here also. + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-191402.png) + +There you go, os-release is an ASCII text file. Please, do try it out with something else, and see the output. + +And until next time, remember to… + +…have a lot of fun! + +-------------------------------------------------------------------------------- + +via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/tech/20140702 How to install Raspberry Pi camera board.md b/sources/tech/20140702 How to install Raspberry Pi camera board.md new file mode 100644 index 0000000000..e173d428c7 --- /dev/null +++ b/sources/tech/20140702 How to install Raspberry Pi camera board.md @@ -0,0 +1,107 @@ +How to install Raspberry Pi camera board +================================================================================ +[The Raspberry Pi camera (Pi Cam) board][1] was first released for sale in May 2013. This first release is equipped with a 5 Megapixel sensor, and connects through a ribbon cable to the CSI connector on the Raspberry Pi. The second release of Raspberry Pi camera board, which is called [Pi NoIR][2], has the same sensor, but without the IR filter. It has capability to see near IR wavelengths (700 - 1000 nm) like a security camera, and of course it is sacrificing the color rendition. + +In this article, we will show you **how to install a Raspberry Pi camera board on [Raspberry Pi][3]**. We will be using the first release of Pi camera board. Once the board is installed, you will use three applications to access the board: raspistill, raspiyuv, and raspivid. The first two apps are used for capturing images, while the third app is for capturing video. The raspistill tool produces standard image files such as .jpg images, but raspiyuv gives us unprocessed raw image files from the camera. + +### Installing the Raspberry Pi Camera Board ### + +To connect the Raspberry Pi camera board to Raspberry Pi, follow these instructions: + +1. Locate the CSI connector (the CSI connector is located near the Ethernet Port), and take off the brown tape. + +2. Pull up the pinch of the CSI port. + +3. Take your Pi Cam module, and remove the plastic protector from the lens. Make sure that the yellow part of the PCB which has sunny word is installed perfectly (just press gently that yellow part to make sure that it's installed perfectly). + +4. Put in the ribbon cable into the CSI port. Remember, the ribbon cable which has blue tape should be facing towards the Ethernet port. Also, make sure that the ribbon is inserted properly, then pull down the pinch. + +![](https://farm3.staticflickr.com/2938/14529915452_0910b2e13f_z.jpg) + +Now your Pi Cam is ready to take a picture or a video. + +### Enabling Camera on Raspbian ### + +After installing the Pi Cam module, make sure to update your Raspberry Pi system to get the latest firmware. To do so: + + $ sudo apt-get update + $ sudo apt-get upgrade + +To activate the Pi Cam module, run the Raspberry Pi configuration tool. + + $ sudo raspi-config + +Navigate to "Enable Camera" in the menu, and make it enabled. Reboot Raspberry Pi if you are done. + +![](https://farm4.staticflickr.com/3837/14530918915_e68ca0beef_z.jpg) + +![](https://farm3.staticflickr.com/2922/14344284230_6cabbe2522_z.jpg) + +![](https://farm3.staticflickr.com/2923/14529915362_7a437a53cb_z.jpg) + +Here is the final picture of Raspberry Pi with Pi Cam module attached. + +![](https://farm3.staticflickr.com/2924/14551046653_1c37e077fd_z.jpg) + +### Taking a Picture with Pi Camera ### + +We are ready to use Pi Cam after rebooting Raspberry Pi. To take a picture with Pi Cam, run raspistill from the command line. + + $ raspistill -o keychain.jpg -t 2000 + +This command will take a picture in 2000ms, and save it to keychain.jpg. The following is a picture of my small figurehead key chain, taken by Pi Cam. + +![](https://farm4.staticflickr.com/3845/14530919095_ea0f37045a_z.jpg) + +The raspiyuv tool works similarly, but the result is a unprocessed raw image from the camera. + +### Taking a Video with Pi Camera ### + +To take a video with Pi camera module, run raspivid tool from command line. The following command will take a video with default options which are 5 seconds length and 1920x1080 resolution with 17Mbps bitrate. + + $ raspivid -o mykeychain.h264 + +If you want to change the duration, just set the desired length (in milliseconds) with "-t" option. + + $ raspivid -o mykeychain.h264 -t 10000 + +To drop the resolution to 1280x720, use "-w" and "-h" options.. + + $ raspivid -o mykeychain.h264 -t 10000 -w 1280 -h 720 + +The output of raspivid is a raw H.264 video stream, and doesn't have sound with it. To be able to play with a common video player, the raw H.264 video needs to be converted. Use MP4Box application that comes with gpac package. + +To install gpac on Raspbian, use this command: + + $ sudo apt-get install -y gpac + +Then to convert the raw H.264 video stream into .mp4 format with 30 frames per second: + + $ MP4Box -fps 30 -add keychain.h264 keychain.mp4 + +The video length is 10 seconds, and has default resolutions and bitrate. Here is an example video captured by Pi Camera. + +注:youtube视频地址 + + +To get the complete command-line options of raspistill, raspiyuv, and raspivid, run the commands without any option. + + +---------- + +#### [Kristophorus Hadiono][a] #### + +I'm a Linux enthusiast. I use Linux for my daily computing, also when I teach my students. Becoming a good writer is one of my dreams. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/install-raspberry-pi-camera-board.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/go/picam +[2]:http://xmodulo.com/go/pinoir +[3]:http://xmodulo.com/go/raspberrypi +[a]:http://hadiono.org/blog \ No newline at end of file From 4b6b26e8d66aee631b131a5fbbc2b089c0cbf860 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 2 Jul 2014 15:54:18 +0800 Subject: [PATCH 012/291] =?UTF-8?q?20140702-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Improv Tablet Projects Officially Axed.md | 31 ++++++ ...rt Linux--Hacking on Linux Since Age 16.md | 46 ++++++++ ...tall in RedHat and Debian Based Systems.md | 102 ++++++++++++++++++ 3 files changed, 179 insertions(+) create mode 100644 sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md create mode 100644 sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md create mode 100644 sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md diff --git a/sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md b/sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md new file mode 100644 index 0000000000..92d38c609e --- /dev/null +++ b/sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md @@ -0,0 +1,31 @@ +KDE Improv, Tablet Projects Officially Axed +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2012/03/OR0Gbh.jpg) + +**The team behind a highly publicised effort to release a KDE based Linux distribution on fully open hardware has announced the project has come to and end.** + +It’s news that few following the convoluted saga will find surprising, with both the KDE-based [Vivaldi Tablet][1] and Improv board projects having struggled to find their way to market despite numerous pre-orders, sales campaigns and marketing. + +The former of these, once known as ‘Spark’, has existed in various stages of gestation since 2012, only being formally ‘put on hold’ earlier this year. + +Both devices sought to bring hardware running on entirely open source software and drivers to market at an affordable price. Perhaps a little too constrained by the rigidity of their ideal — to offer a modular board that could be used in multiple devices — the projects hit road bump after road bump, delay after delay. + +Announcing the ‘wrap up’ in an e-mail sent to backers of the Improv ARM-based development board the team suggests that the FOSS community is ‘not ready’ to put its weight behind the ‘pressing issue of hardware freedom’, adding: + +> “We greatly appreciate everyone’s support, whether it was purchases, donations or words of wisdom and encouragement. There was simply not enough support to make the project work, despite having fully functional, production ready devices and a strong commitment to succeed.” + +Partial refunds are now being issued to those who pre-ordered a device, with the team hoping to provide full refunds at a later date. + +But while one open-source tablet effort may retire others are continuing. Canonical has stated that the first Ubuntu tablets will launch alongside the first handsets [later this year][2], while Intel and Samsung’s Linux-based Tizen OS is also [fast gathering pace][3]. + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/kde-improv-tablet-projects-officially-axed + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2012/03/kde-tablet-vivaldi-gets-gutted +[2]:http://www.omgubuntu.co.uk/2014/03/ubuntu-tablets-coming-year +[3]:http://www.omgubuntu.co.uk/2014/06/samsung-first-tizen-phone-unveiled \ No newline at end of file diff --git a/sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md b/sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md new file mode 100644 index 0000000000..4e31ccf734 --- /dev/null +++ b/sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md @@ -0,0 +1,46 @@ +The People Who Support Linux: Hacking on Linux Since Age 16 +================================================================================ +![](http://www.linux.com/images/stories/41373/Yitao-Li.png) + +Pretty much all of the projects in software developer [Yitao Li's GitHub repository][1] were developed on his Linux machine. None of them are necessarily Linux-specific, he says, but he uses Linux for “everything.” + +For example: “coding / scripting, web browsing, web hosting, anything cloud-related, sending / receiving PGP signed emails, tweaking IP table rules, flashing OpenWrt image into routers, running one version of Linux kernel while compiling another version, doing research, doing homework (e.g., typing math equations in Tex), and many others...” Li said via email. + +Of all the projects in his repository his favorite is a school project developed in C++ with libpthread and libfuse to understand and correctly implement PAXOS-based distributed locking, key-value service, and eventually a distributed filesystem. He tested it using a number of test scripts on both single-core and multi-core machines. + +“One can learn something about distributed consensus protocol by implementing the PAXOS protocol correctly (or at least mostly correctly) such that the implementation will pass all the tests,” he said. “And of course once that is accomplished, one can also earn some bragging rights. Besides, a distributed filesystem can be useful in many other programming projects.” + +Li first started using Linux at age 16, or about 7.47 years ago, he says, using the website [linuxfromscratch.org][2], with numerous hints from the free, downloadable Linux From Scratch book. Why? + +“1. Linux is very hacker-friendly and I do not see any reason for not using it,” he writes. “2. The prefrontal cortex of the brain becoming well-developed at age 16 (?).” + +[![](http://www.linux.com/images/stories/41373/ldc_peop_linux.png)][3] + +He now works for eBay, mostly coding in Java but working sometimes with Hadoop, Pig, Zookeeper, Cassandra, MongoDB, and other software that requires a POSIX-compliant platform. He supports the Linux community by contributing to Wikipedia pages and forums on Linux-related subjects. And by becoming an individual member of The Linux Foundation. + +He keeps up with the latest Linux developments and has recently been impressed by the new "-fstack-protector-strong" option for GCC 4.9 and later. + +“It's not directly related to any of my projects, but it was important for both security and performance reasons,” he said. “It's much more efficient than "-fstack-protector-all" with little impact on security, while providing better stack-overflow protection coverage compared to that of the "-fstack-protector" option.” + +Welcome to the Linux Foundation Yitao! + +Learn more about becoming an [individual member of The Linux Foundation][3]. The foundation will donate $25 to Code.org for every new individual member who joins during June. + +---------- + +![](http://www.linux.com/community/forums/avatar/41373/catid/200-libby-clark/thumbnail/large/cache/1331753338) + +[Libby Clark][4] + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/news/featured-blogs/200-libby-clark/778559-the-people-who-support-linux-hacking-on-linux-since-age-16 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://github.com/yl790 +[2]:http://linuxfromscratch.org/ +[3]:https://www.linuxfoundation.org/about/join/individual +[4]:http://www.linux.com/community/forums/person/41373/catid/200-libby-clark \ No newline at end of file diff --git a/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md b/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md new file mode 100644 index 0000000000..c0c14973ff --- /dev/null +++ b/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md @@ -0,0 +1,102 @@ +Wine 1.7.21 (Development Version) Released – Install in RedHat and Debian Based Systems +================================================================================ +Wine, a most popular and powerful open source application for Linux, that used to run Windows based applications and games on Linux Platform without any trouble. + +![Install Wine (Development Version) in Linux](http://www.tecmint.com/wp-content/uploads/2014/05/Install-Wine-Development-Version.png) +Install Wine (Development Version) in Linux + +**WineHQ** team, recently announced a new development version of **Wine 1.7.21**. This new development build arrives with a number of new important features and bug fixes. + +Wine team, keep releasing their development builds almost on weekly basis and adding numerous new features and fixes. Each new version brings support for new applications and games, making Wine a most popular and must have tool for every user, who want to run Windows based software in a Linux platform. + +According to the changelog, following key features are added in this release: + +- Added support for critical sections in the C runtime. +- The Unicode data updated to Unicode 7. +- Implemented support for interlaced PNG encoding. +- Added an initial stub for the Package library. +- And several bug fixes have been implemented. + +For more in-depth details about this build can be found at the official [changelog][1] page. + +This article guides you how to install most recent development version of **Wine 1.7.21** on **Red Hat** and **Debian** based systems such as CentOS, Fedora, Ubuntu, Linux Mint and other supported distributions. + +### Installing Wine 1.7.21 Development Version in Linux ### + +Unfortunately, there are no official Wine repository available for the **Red Hat** based systems and the only way to install Wine, is to compile it from source. To do this, you need to install some dependency packages such as gcc, flex, bison, libX11-devel freetype-devel and Development Tools, etc. These packages are must required to compile Wine from source. Let’s install them using following **YUM** command. + +#### On RedHat, Fedora and CentOS #### + + # yum -y groupinstall 'Development Tools' + # yum -y install flex bison libX11-devel freetype-devel + +Next, download the latest development version of Wine (i.e. **1.7.21**) and extract the source tallball package using the following commands. + + $ cd /tmp + $ wget http://citylan.dl.sourceforge.net/project/wine/Source/wine-1.7.21.tar.bz2 + $ tar -xvf wine-1.7.21.tar.bz2 -C /tmp/ + +Now, it’s time to compile and build Wine installer using the following commands as normal user. (**Note**: The installation process might take up-to **15-20** minutes depending upon your internet and hardware speed, during installation it will ask you to enter **root** password. + +**On 32-Bit Systems** + + $ cd wine-1.7.21/ + $ ./tools/wineinstall + +**On 64-Bit Systems** + + $ cd wine-1.7.21/ + $ ./configure --enable-win64 + $ make + # make install + +#### On Ubuntu, Debian and Linux Mint #### + +Under **Ubuntu** based systems, you can easily install the latest development build of Wine using the official **PPA**. Open a terminal and run the following commands with sudo privileges. + + $ sudo add-apt-repository ppa:ubuntu-wine/ppa + $ sudo apt-get update + $ sudo apt-get install wine 1.7 winetricks + +**Note**: At the time of writing this article, available version was **1.7.20** and the new build not yet updated in official Wine Repository, but the above instructions will install **1.7.21** when they made available. + +Once the installation completes successfully, you can install or run any windows based applications or games using wine as shown below. + + $ wine notepad + $ wine notepad.exe + $ wine c:\\windows\\notepad.exe + +**Note**: Please remember, this is a development build and cannot be installed or used on production systems. It is advised to use this version only for testing purpose. + +If you’re looking for a most recent stable version of Wine, you can go through our following articles, that describes how to install most latest version on almost all Linux environments. + +- [Install Wine 1.6.2 (Stable) in RHEL, CentOS and Fedora][2] +- [Install Wine 1.6.2 (Stable) in Debian, Ubuntu and Mint][3] + +### Reference Links ### + +- [WineHQ Homepage][4] + +---------- + +![](http://1.gravatar.com/avatar/7badddbc53297b2e8ed7011cf45df0c0?s=80&d=blank&r=G) + +#### Ravi Saive #### + +Owner at [TecMint.com][5] + +Simple Word a Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/install-wine-in-linux/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.winehq.org/announce/1.7.21 +[2]:http://www.tecmint.com/install-wine-in-rhel-centos-and-fedora/ +[3]:http://www.tecmint.com/install-wine-on-ubuntu-and-linux-mint/ +[4]:http://www.winehq.org/ +[5]:http://www.tecmint.com/ \ No newline at end of file From edbda73c3aaf522c5b4e9ace888b28d46af2a4c6 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 2 Jul 2014 16:02:20 +0800 Subject: [PATCH 013/291] =?UTF-8?q?20140702-3=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...heck MySQL storage engine type on Linux.md | 41 +++++++++++++++++++ ...sreport in linux (RHEL 5.X or RHEL 6.X).md | 41 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 sources/tech/20140702 How to check MySQL storage engine type on Linux.md create mode 100644 sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md diff --git a/sources/tech/20140702 How to check MySQL storage engine type on Linux.md b/sources/tech/20140702 How to check MySQL storage engine type on Linux.md new file mode 100644 index 0000000000..80fa4abc4f --- /dev/null +++ b/sources/tech/20140702 How to check MySQL storage engine type on Linux.md @@ -0,0 +1,41 @@ +How to check MySQL storage engine type on Linux +================================================================================ +> **Question**: I need to know whether my MySQL database table is MyISAM or Innodb type. How can I check the type of a MySQL database table? + +There are two major MySQL storage engines used: **MyISAM and Innodb**. MyISAM is non-transactional, and thus can be faster for reads, while InnoDB fully supports transactions (e.g., commit/rollback) with finer-grain locking. When you create a new MySQL table, you choose its type (i.e., storage engine). Without any choice, you will simply use a pre-configured default engine. + +If you would like to know the type of an existing MySQL database table, there are a couple of ways to do it. + +### Method One ### + +If you have access to phpMyAdmin, you can find out the database type from phpMyAdmin. Simply choose your database from phpMyAdmin to see a list of its tables. Under "Type" column, you will see the database type for each table. + +![](https://farm4.staticflickr.com/3871/14526575875_c1da3d9c7a_z.jpg) + +### Method Two ### + +If you can log in to a MySQL server directly, another way to identify the storage engine is to run the following MySQL command inside your MySQL server after logging in. + + mysql> SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table'; + +The above command will show the engine type of a table called 'my_table' in 'my_database' database. + +### Method Three ### + +Yet another method to check the MySQL engine is to use mysqlshow, a command-line utility which shows database information. The mysqlshow utility comes with [MySQL client package installation][1]. To use mysqlshow, you need to supply MySQL server login credential. + +The following command will show information about a particular database. Under "Engine" column, you will see the storage engine for each table. + + $ mysqlshow -u -p -i + +![](https://farm4.staticflickr.com/3845/14340200549_8fbe7ea7b5_z.jpg) + +-------------------------------------------------------------------------------- + +via: http://ask.xmodulo.com/check-mysql-storage-engine-type-linux.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/2013/06/how-to-install-mysql-server-and-client-on-linux.html \ No newline at end of file diff --git a/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md b/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md new file mode 100644 index 0000000000..6f617d452c --- /dev/null +++ b/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md @@ -0,0 +1,41 @@ +How to create sosreport in linux (RHEL 5.X / RHEL 6.X) +================================================================================ +**Sosreport** is a command in linux (**RHEL / CentOS**) which collects **system configuration** and diagnostic information of your linux box like running kernel version, loaded modules, and system and service configuration files. This command also runs external programs to collect further information, and stores this output in the resulting archive. + +Sosreport is required when you have open a case with redhat for technical support. Redhat support Engineers will require sosreport of your server for troubleshooting purpose. + +To run sosreport , **sos** package should be installed. Sos package is part of default installation in most of linux. If for any reason this package is no installed , then use below yum command to install **sos package** : + + # yum install sos + +### Generate the report ### + +Open the terminal type sosreport command : + + # sosreport + + This command will normally complete within a **few minutes**. Depending on local configuration and the options specified in some cases the command may take longer to finish. Once completed, sosreport will generate a compressed a file under **/tmp** folder. Different versions use different compression schemes (**gz, bz2, or xz**). The file should be provided to Redhat support representative (normally as an attachment to an open case). + +**Note**: sosreport requires root permissions to run. + +### Different Options used in sosreport command : ### + +The sosreport command has a **modular structure** and allows the user to enable and disable modules and specify module options via the command line. To **list available modules** (plug-ins) use the following command: + + # sosreport -l + +To turn off a module include it in a comma-separated list of modules passed to the -n/–skip-plugins option. For instance to disable both the kvmand amd modules: + + # sosreport -n kvm,amd + +Individual modules may provide additional options that may be specified via the -k option. For example on Red Hat Enterprise Linux 5 installations the sos rpm module collects "rpm -Va" output by default. As this may be time-consuming the behavior may be disabled via: + + # sosreport -k rpm.rpmva=off + +-------------------------------------------------------------------------------- + +via: http://www.linuxtechi.com/how-to-create-sosreport-in-linux/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From e98e2b839dd5a6c05b96bc8f13b472ae5cca394c Mon Sep 17 00:00:00 2001 From: tinyeyeser Date: Wed, 2 Jul 2014 21:23:25 +0800 Subject: [PATCH 014/291] =?UTF-8?q?=E5=B7=B2=E7=BF=BB=E8=AF=91=20by?= =?UTF-8?q?=E5=B0=8F=E7=9C=BC=E5=84=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: tinyeyeser --- ...ny Languages Do Developers Need To Know.md | 88 ------------------- ...ny Languages Do Developers Need To Know.md | 86 ++++++++++++++++++ 2 files changed, 86 insertions(+), 88 deletions(-) delete mode 100644 sources/talk/20140620 How Many Languages Do Developers Need To Know.md create mode 100644 translated/talk/20140620 How Many Languages Do Developers Need To Know.md diff --git a/sources/talk/20140620 How Many Languages Do Developers Need To Know.md b/sources/talk/20140620 How Many Languages Do Developers Need To Know.md deleted file mode 100644 index e75575254b..0000000000 --- a/sources/talk/20140620 How Many Languages Do Developers Need To Know.md +++ /dev/null @@ -1,88 +0,0 @@ -翻译中 by小眼儿 - -How Many Languages Do Developers Need To Know? -================================================================================ -![](http://readwrite.com/files/styles/1400_0/public/fields/code%20example%20Flickr%20Ruiwen%20Chua.jpg) - -> Big companies like Apple, Facebook and Google are developing their own programming languages, forcing developers to adapt. - -At its Worldwide Developer Conference last week, Apple announced its new programming language [Swift][1]. It’s the latest in a rash of new languages developed by big tech companies, in some cases for specific use with their own platforms. - -Apple has Swift for iOS developers; [Facebook has Hack][2], a language for back-end development. Google, meanwhile, has its own entries—the would-be Javascript replacement Dart and a new general programming language called Go. - -This rash of new languages raises a number of issues for developers. Perhaps the most significant is one my colleague [Adriana Lee][3] raised after Apple's Swift announcement: - -> (How many languages are devs supposed to learn?) -> — Adriana Lee (@adra_la) [June 2, 2014][4] - -### A Computer-Language Babel ### - -There are already [hundreds of programming languages][5] in existence, and more are popping into existence all the time. Many are designed for use in a relatively narrow range of applications, and large numbers never catch on beyond small groups of coders. - -Similarly, big tech companies have been developing new languages for about as long as there have been big tech companies. The [seminal general-purpose language C][6] originated at AT&T Bell Labs in the early 1970s. Java, now the primary language for development of Android apps, was [born at Sun Microsystems][7] in the 1990s. - -What's different these days is the extent to which companies embrace new languages to further their specific business objectives—a process that also has the effect of creating a dedicated base of developers who are effectively "locked in" to a company's particular platform. That sort of dual strategy dates back at least to Sun's introduction of Java, which the company promoted as a way to challenge Microsoft's dominance on the PC desktop. (Things didn't work out the way Sun planned, although Java eventually found a home in enterprise middleware systems before Google adopted it for Android.) - -It's also clearly Apple's goal with Swift. Should it live up to the company's early hype, Swift seems likely to simplify iOS app development by filing the rough edges off Objective-C, the current lingua franca of iOS and Mac OS X developers. But it will also require those same developers to learn the ins and outs of a new language that they're unlikely to use anywhere else. - -### Why Companies Roll Their Own ### - -Which cuts against the ingrained "don’t reinvent the wheel” philosophy that animates most developers. So why don't more companies just adopt already existing languages to new uses? - -One answer is simply that companies build their own languages because they can. Designing a new language can be complex, but it's not particularly resource-intensive. What's hard is building support for it, both in terms of providing software resources (shared code libraries, APIs, compilers, documentation and so forth) and winning the hearts and minds of developers. Companies are uniquely positioned to do both. - -There's also the fact that existing languages are often difficult to shoehorn into today's complex code frameworks. Take, for instance, [Facebook's decision to create Hack][8], a superset of the [scripting language PHP][9] that's commonly used in Web development. - -Facebook's main goal with Hack—a common one these days—was to improve code reliability, in this case by enforcing data-type checking before a program is executed. Such checks ensure that a program won't, say, try to interpret an integer as a string of characters, an error that could yield unpredictable results if not caught. In Hack, those checks take place in advance so that programmers can identify such errors long before their code goes live. - -According to Julien Verlaguet, a core developer on Facebook’s Hack team, the company first looked for an an existing language that might allow for more efficient programming. But much of Facebook was already built on PHP, and the company has built up a substantial software infrastructure to support PHP and its offshoots. While it's possible to make PHP work with code written in a different language, it's not easy—nor is it fast. - -“Let’s say I try to rewrite our PHP codebase in Scala,” Verlaguet said. “It’s a well designed, beautiful language, but it’s not at all compatible with PHP. Everytime I need to call to PHP from the Scala part of the code base, I’ll lose performance speed. We would have liked to use an existing language but for us, it just wasn’t an option.” - -Instead, Facebook invented Hack, which has enough in common with PHP that it can share the company's existing infrastructure. The vast majority of the Facebook codebase has been migrated from PHP to Hack, said Verlaguet, but the company has open sourced the language in hopes that independent developers will find uses for it outside of Facebook. - -“You can still use PHP,” he said. “But we’re hoping you’ll want to use Hack.” - -### Who Holds The Power ### - -Therein lies the balance of power between companies and developers. Companies can make their languages as specific as they like. But if developers don’t want to use them, nobody is going to—outside, that is, of anyone who might harbor hopes of one day working at the company that invented the language. - -It’s not unusual for companies to make it easiest to develop in one language over another. For example, you would use Objective-C to develop iOS apps, but Java to develop Android apps. This has never been a major sticking point with developers because both Objective-C and Java are general purpose object-oriented languages. They’re useful for a number of purposes. - -Hack, Dart, Go, and Swift, however, so far have only proven useful for particular company-designated programming solutions, usually in tandem with that company’s programming environment of choice. Granted, it may be too soon to judge. Hack, for example, can be used in several back-end implementations; it’s just so new that Facebook doesn’t yet have any data that people want to use it that way. - -It’s not that developers aren’t capable of learning multiple languages. Most already do. Think of them like the Romance languages—if you know Spanish, it’ll be easier to learn French and so on than if you didn’t already know one. Likewise, if you already know Java, it’ll be easier to learn Ruby or Perl. And if you know PHP, you basically already know Hack. - -On the contrary, it’s more of a question of habit. If Java already solves your specific problems, you don’t have any incentive to learn Ruby. And if you are happy coding iOS apps in Objective-C, you’re not going to feel very tempted to pick up Swift. - -To some developers, though, ecosystem-specific languages just make life harder for everybody. Freelance designer Jack Watson-Hamblin, for instance, told me that initiatives like Apple's Swift risk overburdening programmers and fragmenting the developer community: - -> It's important for programmers to know multiple languages, but forcing them to keep up with new languages all the time doesn't make sense. If I'm making a simple cross-platform app, I don't want to have to know four languages to do it. I only want to use the single-purpose language if I really need to. - -Watson-Hamblin argues that when companies each build their own language for their own needs, it slows down overall progress both by dividing the attention of coders and by enforcing a monolithic perspective on development within that language. "When companies are in charge of a language vs. an open-source community, it's like the difference between a corporation and a start-up," he said. Communities are more flexible and adaptive by definition. - -Of course, Apple had [a lot of very good reasons to start from scratch][10] with Swift, just as Facebook did when it invented Hack. That doesn't mean it's not going to force change on developers—some of it doubtless unwelcome. - -“As new languages are invented, it gets more hegemonic,” said Verlaguet. “It can be frustrating to have to keep up. But on the other hand, you’re more likely to have a new language to fit your exact problem. Imagine the reverse—a world where programmers used the same language for everything. It’d be a language that could do everything poorly but nothing well.” - -Lead image by [Flickr user Ruiwen Chua][11], CC 2.0 - --------------------------------------------------------------------------------- - -via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart - -译者:[Mr小眼儿](https://github.com/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://developer.apple.com/swift/ -[2]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack -[3]:http://readwrite.com/author/adriana-lee#awesm=~oGfPbJlSrFBamJ -[4]:https://twitter.com/adra_la/statuses/473537386266112000 -[5]:http://en.wikipedia.org/wiki/List_of_programming_languages -[6]:http://en.wikipedia.org/wiki/C_(programming_language) -[7]:http://en.wikipedia.org/wiki/Java_(programming_language) -[8]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack -[9]:http://en.wikipedia.org/wiki/PHP -[10]:http://blog.erratasec.com/2014/06/why-it-had-to-be-swift.html#.U58BJI1dXtA -[11]:https://www.flickr.com/photos/ruiwen/3260095534 diff --git a/translated/talk/20140620 How Many Languages Do Developers Need To Know.md b/translated/talk/20140620 How Many Languages Do Developers Need To Know.md new file mode 100644 index 0000000000..f43b26b962 --- /dev/null +++ b/translated/talk/20140620 How Many Languages Do Developers Need To Know.md @@ -0,0 +1,86 @@ +到底开发者需要掌握多少门语言? +================================================================================ +![](http://readwrite.com/files/styles/1400_0/public/fields/code%20example%20Flickr%20Ruiwen%20Chua.jpg) + +> 诸如Apple、Facebook及Google这样的大公司正在开发他们自己的编程语言,开发者们被迫只有适应。 + +前不久的世界开发者大会上,Apple公布了它的新开发语言[Swift][1]。这是最近大型技术公司们开发的一大波新语言中的最新成员,这些新语言某种程度上都是专门应用于他们自己的平台。 + +对iOS开发者,Apple有Swift;而[Facebook 有 Hack][2] —— 一门用于后端开发的语言。与此同时,Google已经拥有了它自己的Javascript替代者 Dart,以及一门新的通用编程语言Go。 + +这一波又一波的新语言,给开发者们带来了许多问题。也许其中最严重的问题正如我一位同事[Adriana Lee][3]在Apple发布Swift后所说: + +> (开发者们到底还得学习多少门语言?) +> ——Adriana Lee (@adra_la) [June 2, 2014][4] + +### 计算机语言的通天塔 ### + +目前已经存在的[编程语言有数百种][5],同时还有更多的语言正在涌现。其中许多都是被设计用在相对较窄的应用程序范围内,大多数甚至从未走出过项目小组的范围。 + +与此类似,大技术公司开发的新语言其实也是伴随着公司一起成长的。[通用语言的鼻祖,C语言][6],就源于上世纪70年代初的AT&T贝尔实验室。Java,目前作为Android app开发的主要语言,诞生于上世纪90年代[Sun公司的Microsystems系统][7]。 + +发展到现在,不同之处在于,公司们拥抱新语言、从而想要延伸的特定商业目标的范围不一样了 —— 这一过程同时建立了一个忠心耿耿的开发者基础,他们被牢牢锁定在了某个公司的特定平台上。这类一石二鸟的战略,最早可以追溯到Sun对Java的采用,当时公司就将其作为了挑战微软PC桌面统治地位的一种手段。(事情虽然没有像Sun计划的那样发展下去,但在Google转向Android之前,Java大体上也算是在企业中间件系统中找到了自己的一席之地。) + +这么看来,Apple的Swift其目标也就很明确了。Swift应该不会辜负公司前期的大肆宣传,通过磨平Objective-C那粗糙的毛边,看起来它能够成功简化iOS app开发者的开发过程。但是同样还是这些开发者,他们却需要学习一门新语言的输入和输出,而这些功能很可能在其他地方都不会用到。 + +### 大公司们为什么要重复造轮子 ### + +“不要重复造轮子”这一哲学在绝大多数开发者心中根深蒂固,大公司们对此却并不买账。那他们为何不只是修改下现有语言用于新的用途呢? + +答案很简单,公司们发明他们自己的语言,是因为他们有这个能力。设计一门新语言可能很复杂,但对资源要求却并不很高。困难之处也就在对其提供支持,包括提供软件资源(共享代码库、API、编译器、文档等)以及赢得开发者的心意。大公司们在这两方面尤其擅长。 + +还有一个事实,现有语言通常很难硬塞进如今的复杂代码框架中。举个栗子,[Facebook决定发明的Hack][8],就是一个普遍适用于Web开发的[脚本语言PHP][9]的超集合(superset)。 + +Facebook的Hack最近已经比较普遍,其主要目标就是改进代码的稳定性,针对这一目的,它强制在程序运行之前对数据类型进行检测。这样的检测确保了一个程序,比方说,不会将一个整数解析为一个字符串,这样的错误如果捕获不到很可能会导致不可预知的后果。在Hack中,这些检测会预先执行,以便程序员能够在程序上线前早早发现这样的错误。 + +据Facebook的Hack项目组核心成员Julien Verlaguet透露,公司之前尝试过用一门现有语言实现更高效的编程。但是Facebook的大部分代码都是由PHP编写的,公司实际上已经建立了一个支持PHP及其分支的软件架构。即使能够让PHP同其他语言编写的代码协同工作,实现的难易程度和运行速度都无法满足要求。 + +“比如说我们尝试用Scala重写PHP代码库,”Verlaguet说。“Scala是一门设计优秀的漂亮语言,但是它与PHP完全不兼容。每次我需要从Scala的代码库部分调用PHP的时候,都会损失性能。我们很愿意使用一门现有语言,但是对于我们来说,这条路行不通。” + +于是,Facebook发明了Hack,它与PHP一样能够共用公司现有的架构。Verlaguet介绍说,Facebook的代码库主体已经从PHP迁移到了Hack,同时公司将Hack开源,希望独立开发者们能够帮公司找到Facebook以外的用途。 + +“你仍然可以使用PHP,”他说,“但是我们希望你有使用Hack的欲望。” + +### 谁说了算 ### + +公司和开发者之间有一种微妙的平衡。公司可以按照自己的喜好发明语言。但是如果开发者都不愿使用这门语言,那就没人用了,公司以外的人也就没人愿意将自己的职业生涯托付给这家公司。 + +公司在开发过程中同时使用不同的语言,这并不少见。例如,你可能用Objective-C开发iOS app,但却用Java开发Android app。对开发者来说,这从来都不是症结所在,因为Objective-C和Java都是通用面向对象语言。它们用途广泛适用于很多场合。 + +然而,Hack、Dart、Go和Swift,到目前为止,仍然只适用于严格特定公司的编程解决方案,往往和公司选择的编程环境相对应。诚然,现在下结论可能还太早。比方说Hack,就可以用在一些后端的实现中;它只是太新了,以至于Facebook还没有任何数据供人们如此使用。 + +不是开发者不能学习多门语言。事实上,大多数人已经掌握了多门语言。这好比罗曼斯语(由拉丁语演变而成的语言),如果你会说西班牙语,再去学法语就比那些不会西班牙语的人简单许多。与此类似,如果你已经会Java,再学Ruby或Perl就简单得多。如果你会PHP,基本上就已经学会了Hack。 + +与此相反,学习多门语言更多的是一个习惯问题。如果Java已经解决了你的问题,你就不再有动机去学Ruby。如果你用Objective-C编写iOS app感觉很爽,你就不会有强烈的意愿去学Swift。 + +另外,对于一些开发者来说,封闭生态系统的语言只会使每个人的生活变得更糟。例如,自由设计师Jack Watson-Hamblin就告诉我说,像Apple这样强势推出Swift,其实是在冒险增加程序员的负担,同时将开发者社区割裂开来: + +> 程序员掌握多门语言固然重要,但是不断强迫他们紧跟新语言,却是行不通的。如果我正在开发一个简单的跨平台app,我可不想被迫掌握四门语言再来完成它。如果真的需要,我也只想使用一门语言。 + +Watson-Hamblin就主张说,当每家公司都为了自家需要发明自己的语言时,程序员的注意力被分散,开发的视野也局限于一种,这只会拖慢整个开发进程。他说,“如果拿公司负责一门语言与负责一个开源社区相比较,这两者的区别就好比一家大企业与一个初创小公司的区别”。社区生来就更加灵活,适应能力更强。 + +当然,Apple有[许多非常好的理由推出Swift从零开始][10],就像当初Facebook发明Hack的时候一样。我并不是说,大公司不会强迫开发者接受这种改变,在这方面,有些公司一直都很让人讨厌。 + +“新语言的发明,伴随着霸权的支配,”Verlaguet说,“被迫不停追赶,确实令人沮丧,但另一方面,你又多了一种解决问题的新语言。反过来想想,要是全世界的程序员都用同样一门语言做所有事情,即使啥都凑合着能干,这门语言也一定干得不怎么样”。 + +题图来自于[Flickr user Ruiwen Chua][11],CC 2.0 + +-------------------------------------------------------------------------------- + +via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart + +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://developer.apple.com/swift/ +[2]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack +[3]:http://readwrite.com/author/adriana-lee#awesm=~oGfPbJlSrFBamJ +[4]:https://twitter.com/adra_la/statuses/473537386266112000 +[5]:http://en.wikipedia.org/wiki/List_of_programming_languages +[6]:http://en.wikipedia.org/wiki/C_(programming_language) +[7]:http://en.wikipedia.org/wiki/Java_(programming_language) +[8]:http://readwrite.com/2014/03/20/facebook-new-programming-language-hack +[9]:http://en.wikipedia.org/wiki/PHP +[10]:http://blog.erratasec.com/2014/06/why-it-had-to-be-swift.html#.U58BJI1dXtA +[11]:https://www.flickr.com/photos/ruiwen/3260095534 \ No newline at end of file From 6999f9c8098093f52fda3c216bf835c8e32efb53 Mon Sep 17 00:00:00 2001 From: owen-carter Date: Wed, 2 Jul 2014 21:55:34 +0800 Subject: [PATCH 015/291] translating --- ...p500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md b/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md index 63e1581586..896525d340 100644 --- a/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md +++ b/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md @@ -1,3 +1,4 @@ +translating by owen-carter Top500 Supercomputer Remains Stuck at 33.86 Petaflops/s ================================================================================ The Tianhe-2 first jumped onto the world's supercomputing stage a year ago, taking the crown of world's most powerful computer. At the time, the Tianhe-2 was rated with a performance of 33.86 petaflops per second. From ecef97788840234838fc5436cd1f647e45dc93f5 Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 2 Jul 2014 21:57:05 +0800 Subject: [PATCH 016/291] =?UTF-8?q?=E6=B8=85=E9=99=A4=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=96=87=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Red Hat Revenues Power Forward in 2015.md | 41 ------------------- ...l Designers Update Ubuntu Linux Website.md | 41 ------------------- ...s Open Source OpenSSL Web Security Code.md | 38 ----------------- ...ntu Uncertainty and Nerdy Enlightenment.md | 26 ------------ 4 files changed, 146 deletions(-) delete mode 100644 sources/news/20140620 Red Hat Revenues Power Forward in 2015.md delete mode 100644 sources/news/20140625 Canonical Designers Update Ubuntu Linux Website.md delete mode 100644 sources/news/20140625 Google Forks Open Source OpenSSL Web Security Code.md delete mode 100644 sources/news/20140625 Linux Domination or Ubuntu Uncertainty and Nerdy Enlightenment.md diff --git a/sources/news/20140620 Red Hat Revenues Power Forward in 2015.md b/sources/news/20140620 Red Hat Revenues Power Forward in 2015.md deleted file mode 100644 index 61c0ca008c..0000000000 --- a/sources/news/20140620 Red Hat Revenues Power Forward in 2015.md +++ /dev/null @@ -1,41 +0,0 @@ -Red Hat Revenues Power Forward in 2015 -================================================================================ -Red Hat reported its first quarter fiscal 2015 revenues on June 18, showing continued demand and momentum for its Linux and open-source technologies. Red Hat has been particularly busy of late, acquiring a pair of companies and launching its Red Hat Enterprise Linux 7 (RHEL) flagship platform. - -For the quarter, Red Hat reported revenue of $424 million, which is a 17 percent year-over-year gain. - -![](http://www.serverwatch.com/imagesvr_ce/7990/icon-redhatlinux-r.jpg) - -"The main driver of our total revenue growth was subscription revenue of $372 million," Red Hat CFO Charlie Peters said during his company's earnings call. "Subscription revenue was up 18 percent year-over-year and it's important to point out that this renewable revenue stream now constitutes 88 percent of total revenue." - -Looking forward, Red Hat provided second quarter guidance for approximately $432 million to $436 million in revenue. - -One of the key metrics for growth that Red Hat provides is its top 30 deals during a given quarter. Peters noted that for the first time, all of the top 30 deals were valued at over $1 million. - -"We also had a Q1 record with four deals that were in excess of $5 million and one that was greater than $10 million," Peters said. "Cross-selling was strong with 65 percent of these deals including one or more components from our group of applications development and emerging technologies offerings." - -At the core of Red Hat's product portfolio is the Red Hat Enterprise Linux platform, which hit a major milestone last week with the debut of RHEL 7. - -"RHEL 7 is significant because it was designed to meet both modern data center and next generation IT requirements for cloud, Linux containers and Big Data," Red Hat CEO Jim Whitehurst said during the earnings call. "As the worlds of physical, virtual and cloud systems converge Red Hat Enterprise Linux 7 delivers a true foundation for open hybrid cloud that will serve as the backbone for future application architectures." - -### Acquisitions and Cloud Provide Opportunities for Further Growth ### - -Red Hat has also been busy acquiring a pair of companies that further expand the company's ability to grow. In April, Red Hat acquired Inktank, the lead commercial sponsor behind the Ceph open-source storage filesystem. And on June 18, Red Hat announced the acquisition of OpenStack services vendor eNovance. - -"With eNovance as a part of the Red Hat consulting team, we can enhance our consulting resources to be able to reach more customers with world-class OpenStack technologies and implementation services," Whitehurst said. - -While cloud remains a growth opportunity for Red Hat, Whitehurst sees growth also coming from continuing to take market share away from other server operating system platforms. In particular, Whitehurst noted that there is still a continued move from mainframe and Unix to Linux. - -"I was just on the phone today with a massive European customer that is literally just ready to start on the journey right now," Whitehurst said. "We continue to believe we're taking share from Windows especially with net new workloads." - -Another driver of growth for Red Hat is the maturity and expansion of its sales force. - -"We definitely have more boots on the street because we have been hiring consistently," Whitehurst said. "But I think our sales guys are more experienced, they are better trained, their confidence level is high and their enthusiasm is high." - --------------------------------------------------------------------------------- - -via: http://www.serverwatch.com/server-news/red-hat-revenues-power-forward-in-2015.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/news/20140625 Canonical Designers Update Ubuntu Linux Website.md b/sources/news/20140625 Canonical Designers Update Ubuntu Linux Website.md deleted file mode 100644 index 0aceb53c8a..0000000000 --- a/sources/news/20140625 Canonical Designers Update Ubuntu Linux Website.md +++ /dev/null @@ -1,41 +0,0 @@ -Canonical Designers Update Ubuntu Linux Website -================================================================================ -> The website for Canonical's Ubuntu Linux operating system has received several enhancements tailored for Chinese speakers, Ubuntu cloud users and others. - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/06/untitled_6.png) - -[Ubuntu.com][1], the website of [Canonical][2]'s Linux-based operating system for PCs, servers, the cloud and (maybe soon) mobile devices, has received a series of subtle but significant upgrades recently, and more are on the way. Here's a look at the latest site updates and additions for the cloud, Canonical's partner network and more. - -The Ubuntu design team outlined the enhancements to ubuntu.com in a recent [blog post][3]. The full list of changes is available there, but the most significant tweaks and updates include: - -- The creation of a Chinese site for Ubuntu, [ubuntu-china.cn][4], which could help create new inroads for Canonical in the Asian market, where Ubuntu has traditionally taken a backseat to locally grown Linux distributions. The move may also help to strengthen Canonical's relationship with China-based [Meizu][5], one of the two hardware manufacturers with which it has [partnered][6] to deliver mobile phones running Ubuntu by the end of this year. -- A new version of [Ubuntu Insights][7], a Web portal where Canonical publishes news about the Ubuntu world. - -Those are only the changes that the design team has already completed. Currently in the works for future implementation are: - -- Updates to the Web interface for Canonical's [Juju][8] cloud orchestration service. -- The debut of a series of changes throughout the Ubuntu website that will make it more "[responsive][9]," which means enhancing readability, accessibility and the general visitor experience across different types of devices. -- A new [Ubuntu Partners][10] website. -- Further development of the Chinese Ubuntu website, including the addition of cloud and server sections. - -All of these updates are good news for Canonical's customers and partners. But what makes the changes truly remarkable is how far Ubuntu's Web presence has evolved since the operating system's debut nearly 10 years ago, when ubuntu.com looked like [this][11], and the landing page primarily featured images of people dressed in workout clothes. - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/ubuntu/062314/canonical-designers-update-ubuntu-linux-website - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://ubuntu.com/ -[2]:http://canonical.com/ -[3]:http://design.canonical.com/2014/06/latest-from-the-web-team-june-2014/ -[4]:http://ubuntu-china.cn/ -[5]:http://www.meizu.com/ -[6]:http://thevarguy.com/ubuntu/022014/ubuntu-linux-phones-will-ship-2014-says-canonical -[7]:http://insights.ubuntu.com/ -[8]:https://juju.ubuntu.com/ -[9]:http://design.canonical.com/2014/03/making-ubuntu-com-responsive/ -[10]:http://www.ubuntu.com/partners -[11]:http://web.archive.org/web/20041106014450/http://www.ubuntu.com/ \ No newline at end of file diff --git a/sources/news/20140625 Google Forks Open Source OpenSSL Web Security Code.md b/sources/news/20140625 Google Forks Open Source OpenSSL Web Security Code.md deleted file mode 100644 index ca2f033ab4..0000000000 --- a/sources/news/20140625 Google Forks Open Source OpenSSL Web Security Code.md +++ /dev/null @@ -1,38 +0,0 @@ -2q1w2007翻译中 -谷歌分支了开源的 OpenSSL 网站安全代码 -================================================================================ -> 谷的 BoringSSL, 一个开源用来加盟网站数据的的OpenSSL分支,将会向开源社区提交代码 - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/06/grayscale6jpgcropdisplay.jpg) - -因为[Heartbleed][1]暴露出的脆弱, 用来加密网页传输的开源OpenSSL的变种可能和口袋妖怪里的角色一样多。前两天, Google (GOOG) 成为了最早宣布自己的OpenSSL分支的组织,其分支叫做BoringSSL。 - -Google的开发者Adam Langley announced BoringSSL—a name he described as "aspirational," presumably because Google hopes the new software will prove more drama-free than OpenSSL—in a [blog post][2] on June 20. - -Google has made its own modifications to the OpenSSL code for some time for use in Chrome and other offerings, Langley said. But going forward, the company intends to fork OpenSSL entirely to create a separate solution, a change it hopes will simplify development on Google's end. - -That said, Langley emphasized that Google is "not aiming to replace OpenSSL as an open source project," and will continue sharing code with the OpenSSL developers when it will help them fix bugs in their own software. Those code contributions will be available under an [ISC license][3], a type of open source license that the [GNU folks][4]—who probably spend more time than anyone else worrying about keeping software Free—regard as essentially [kosher][5]. - -Yet while BoringSSL may do little to upset the Free Software crowd, it's making a confusing situation worse for the open source community. Previously, OpenSSL was the sole widely used open source solution for encrypting traffic sent to and from Web pages on millions of servers. But following the security fiasco called Heartbleed, when it became apparent that a bug (which has now been fixed) in OpenSSL allowed third parties to snoop data, consensus around OpenSSL as the best solution for implementing this very important piece of Web functionality has evaporated. - -Shortly after Heartbleed, a group of open source developers forked the OpenSSL code into [LibReSSL][6] because they believe the former was "[not developed by a responsible team][7]." At the same time, the [Linux Foundation][8] and its partners are spending potentially millions of dollars trying to inject new life—and public faith—into OpenSSL through the [Core Infrastructure Initiative][9]. - -Now Google has gone off on in yet another direction with BoringSSL, a move that does nothing to advance faith in either OpenSSL or LibReSSL. And that means the open source community's development resources are being spread even thinner, a situation that can only be resolved if one OpenSSL-variant emerges to rule them all. - --------------------------------------------------------------------------------- - -via:http://thevarguy.com/open-source-application-software-companies/062314/google-forks-open-source-openssl-web-security-code-boring - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://heartbleed.com/ -[2]:https://www.imperialviolet.org/2014/06/20/boringssl.html -[3]:http://en.wikipedia.org/wiki/ISC_license -[4]:https://www.gnu.org/ -[5]:https://www.gnu.org/licenses/license-list.html#ISC -[6]:http://www.libressl.org/ -[7]:http://opensslrampage.org/post/82973312181/openssl-is-not-developed-by-a-responsible-team -[8]:http://linuxfoundation.org/ -[9]:http://thevarguy.com/open-source-application-software-companies/053014/core-infrastructure-initiative-endorses-open-source-netwo \ No newline at end of file diff --git a/sources/news/20140625 Linux Domination or Ubuntu Uncertainty and Nerdy Enlightenment.md b/sources/news/20140625 Linux Domination or Ubuntu Uncertainty and Nerdy Enlightenment.md deleted file mode 100644 index 5aa5c0e487..0000000000 --- a/sources/news/20140625 Linux Domination or Ubuntu Uncertainty and Nerdy Enlightenment.md +++ /dev/null @@ -1,26 +0,0 @@ -Linux Domination, Ubuntu Uncertainty, and Nerdy Enlightenment -================================================================================ -![](http://www.tuxmachines.org/images/tux.png) - -here are some interesting stories today in Linuxville. Steven J. Vaughan-Nichols is reporting that Linux dominates on supercomputers more than ever. Arstechnica says "Mint 17 is the perfect place for Linux-ers to wait out Ubuntu uncertainty." Linux Tycoon Bryan Lunduke reviews Enlightenment 17 and Jamie Watson says Makulu Linux 6 makes him smile. This and more in tonight's Linux news recap. - -**Over at ZDNet**, Steven J. [Vaughan-Nichols reports][1] the findings that Linux is once again the fastest operating system on the world's leading supercomputers. But not only that, Vaughan-Nichols says, "In the latest contest, not only did Linux dominate, but Linux showed that is slowly pushing out all its competitors." Linux runs on 97% of them. Only two of the Top 500 run Windows, the other 13 Unix. Despite their speed records, Linux developers are still trying to go even faster because Vaughan-Nichols says, "research and businesses, especially the stock markets and trading companies, not only want but need even faster computers." - -**Another notable** on ZDNet today is Jamie Watson's review of Makulu Linux 6.0 KDE saying it's "guaranteed to make you smile." This release ships with Linux 3.14.7, KDE 4.13.1, and a more modern but cranky installer. He says of this release, "It's big, it's beautiful, it's fun, and it is chock full of just about everything imaginable." [He concludes][2] that it's about as much fun as one can have with a Linux distribution. - -**arstechnica** reviews Mint 17 saying it's an important release because of being based on Ubuntu 14.04 LTS. They contend Mint and its users can sit back and enjoy Mint while Ubuntu suffers the growing pains of Mir and Unity until 2016. Reviewer Scott Gilbertson says Mint 17 is a "great base" to update the next two years. He looks at both the Cinnamon and MATE versions of Mint 17 closely, but touches on the Xfce and Debian editions as well as the common elements of them all. [Gilbertson concludes][3], "Linux Mint 17 makes a fantastic Linux desktop right now. It's stable, familiar enough for Windows refugees to pick it up without missing a beat, and has all the familiar tools Ubuntu fans would expect." - -**Speaking of Ubuntu**, The Var Guy posted of the Ubuntu website updates. Posts from the Design Team have been appearing on the company website on the topic of its designs for a while, but today Christopher [Tozzi summed][4] it all up nicely saying, "All of these updates are good news for Canonical's customers and partners. But what makes the changes truly remarkable is how far Ubuntu's Web presence has evolved since the operating system's debut nearly 10 years ago, when ubuntu.com looked like this, and the landing page primarily featured images of people dressed in workout clothes." - --------------------------------------------------------------------------------- - -via: http://ostatic.com/blog/linux-domination-ubuntu-uncertainty-and-nerdy-enlightenment - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.zdnet.com/linux-dominates-supercomputers-as-never-before-7000030890/ -[2]:http://www.zdnet.com/makulu-linux-6-0-kde-guaranteed-to-make-you-smile-7000030833/ -[3]:http://arstechnica.com/gadgets/2014/06/mint-17-the-perfect-place-for-linux-ers-to-wait-out-ubuntu-uncertainty/ -[4]:http://thevarguy.com/ubuntu/062314/canonical-designers-update-ubuntu-linux-website \ No newline at end of file From b41736e73ce20bdd9dc88d813f640fa1027409c4 Mon Sep 17 00:00:00 2001 From: Oolong Tea Date: Wed, 2 Jul 2014 22:08:48 +0800 Subject: [PATCH 017/291] =?UTF-8?q?=E4=B9=8C=E9=BE=99=E8=8C=B6=20=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/tech/20140701 Command Line Tuesdays--Part Two.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140701 Command Line Tuesdays--Part Two.md b/sources/tech/20140701 Command Line Tuesdays--Part Two.md index 5f54ac0703..ff0516d715 100644 --- a/sources/tech/20140701 Command Line Tuesdays--Part Two.md +++ b/sources/tech/20140701 Command Line Tuesdays--Part Two.md @@ -1,3 +1,4 @@ +乌龙茶占坑 Command Line Tuesdays – Part Two ================================================================================ Heya geekos! @@ -65,4 +66,4 @@ via: https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/ [1]:https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/ [2]:http://devopsbootcamp.readthedocs.org/ -[3]:https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/comment-page-1/#comment-99186 \ No newline at end of file +[3]:https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/comment-page-1/#comment-99186 From 2d4765f8e5271d6c94bd2fa2591636526cabb9ba Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 2 Jul 2014 22:18:10 +0800 Subject: [PATCH 018/291] PUB:20140607 How to turn Vim into a full-fledged IDE @CNprober --- ...How to turn Vim into a full-fledged IDE.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) rename {translated/talk => published}/20140607 How to turn Vim into a full-fledged IDE.md (59%) diff --git a/translated/talk/20140607 How to turn Vim into a full-fledged IDE.md b/published/20140607 How to turn Vim into a full-fledged IDE.md similarity index 59% rename from translated/talk/20140607 How to turn Vim into a full-fledged IDE.md rename to published/20140607 How to turn Vim into a full-fledged IDE.md index 64b8b47e7f..6705ceefc3 100644 --- a/translated/talk/20140607 How to turn Vim into a full-fledged IDE.md +++ b/published/20140607 How to turn Vim into a full-fledged IDE.md @@ -1,27 +1,25 @@ -CNprober 翻译完成.travelwithheart@yeah.net, 619913541 - 如何将Vim打造成一个成熟的IDE ================================================================================ -如果你稍微写一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便。所以,你可能会想从Vim中也获取这些IDE特性。 +如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便。所以,你可能会想从Vim中也获取这些IDE特性。 -事实上,很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的 [c.vim][1], 或者把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的,只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是,这个IDE不是专门针对某一种语言的,可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。 +事实上,很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的,比如[c.vim][1];也有把Vim集成到Eclipse里的 [Eclim][2] 。但是我想要告诉你的是一个更加通用的,只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是,这个IDE不是专门针对某一种语言的,可以让你写任何类型的代码。下面就来看一下我的 **把IDE特性带进Vim的前10款插件** 吧。 ### 先来个福利: Pathogen ### -首先,可能不是所有人都熟悉Vim的插件,也不知道怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3],因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件,用Pathogen会变得非常简单。[官方页面][3]文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。 +首先,可能不是所有人都熟悉Vim的插件,并知道该怎么安装这些插件。所以,我推荐的第一个插件就是[Pathogen][3],因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件,用Pathogen会变得非常简单。它的[官方页面][3]的文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。 ### 1. SuperTab ### -[![](https://farm6.staticflickr.com/5158/14332189422_34aeb086ed_z.jpg)][4] +![](https://c2.staticflickr.com/6/5158/14332189422_34aeb086ed_z.jpg) -我们习惯于IDE的第一件事就是它的自动补全功能。所以,我习惯这个非常方便的,给了Tab键“超能力”的 [SuperTab][5] 插件。 +我们习惯于IDE的第一个原因就是它的自动补全功能。所以,我喜欢这个非常方便的,给了Tab键“超能力”的 [SuperTab][5] 插件。 ### 2. Syntastic ### ![](https://farm4.staticflickr.com/3894/14354095583_ce9b112b97_z.jpg) -如果你需要使用超过一种语言进行编码,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。 +如果你需要使用一种以上的语言进行编程,有时候是非常容易混淆不同语言之间的语法的。幸运的是,[syntastic][6] 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。 ### 3. Auto Pairs ### @@ -29,11 +27,11 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541 ### 4. NERD Commenter ### -如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 [NERD Commenter][8]。即使你不是程序员,我也非常非常推荐这款插件,因为它会让你在注释bash 脚本或者其他任何东西的时候都会变得非常高效。 +如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 [NERD Commenter][8]。即使你不是程序员,我也非常非常推荐这款插件,因为它会让你在注释bash脚本或者其他任何东西的时候都会变得非常高效。 ### 5. Snipmate ### -任何一个程序员都知道,好的coder写代码,杰出的coder重用代码。[snipmate][9] 可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的有很多各种语言的代码片段,你也可以非常容易的添加你自己。 +任何一个程序员都知道,好的码农写代码,杰出的码神重用代码。[snipmate][9]可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的包含了很多各种语言的代码片段,你也可以非常容易的添加你自己的。 ### 6. NERDTree ### @@ -46,19 +44,22 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541 ![](https://farm4.staticflickr.com/3904/14332189492_209a3ee2dc_z.jpg) 为了打造一个文件浏览器,支持同时打开多个文件,没有什么比一个好的缓冲区管理器更重要了。[MiniBufferExplorer][11] 就可以非常漂亮和高效地完成这个工作。它甚至为你的缓冲区设置了不同的颜色和切换快捷键。 + ### 8. Tag List ### ![](https://farm4.staticflickr.com/3889/14147244138_c04731826a_z.jpg) -当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示不同的变量和函数。 +当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,[Tag List][12] 这个代码查看器将会用一种漂亮简洁的格式展示其中的的变量和函数。 + ### 9. undotree ### ![](https://farm3.staticflickr.com/2913/14354095453_8bb87a3e31_z.jpg) 对于我们之中那些喜欢undo,redo然后又undo某些更改,然后依据这些来查看整个编辑完成过程的人来说, [undotree][13] 是一个不错插件,可以以一棵树的形式看到你的undo和redo历史。这个功能跟代码完全没有关系,所以这是我非常喜欢的一个插件。 + ### 10. gdbmgr ### -最后,但并非不重要的是,每个人都在某时刻需要一个调试器。如果你喜欢gdb,那么[gbdmgr][14]就是为你准备的,因为它集成了那个著名的调试器到Vim中。 +最后,但并非不重要,每个人都在某个时刻需要一个调试器。如果你喜欢gdb,那么[gbdmgr][14]就是为你准备的,因为它集成了那个著名的调试器到Vim中。 总结一下,不管你是不是一个疯狂的coder,能有一些额外的Vim功能在手总是非常方便的。像我在简介里说到的,如果你不需要,你不用安装这里所有的这些插件。或者你想要安装另外的也行,这些其实只是一个基础入门级的插件。 @@ -68,7 +69,7 @@ CNprober 翻译完成.travelwithheart@yeah.net, 619913541 via: http://xmodulo.com/2014/06/turn-vim-full-fledged-ide.html -译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID) +译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 760e06b07e5e5a01020e07e5dd08ea12afa2a826 Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 2 Jul 2014 22:55:47 +0800 Subject: [PATCH 019/291] PUB:20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network @geekpi --- ...indows, Mac, and Linux PCs on a Network.md | 43 +++++++++---------- 1 file changed, 21 insertions(+), 22 deletions(-) rename {translated/tech => published}/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md (58%) diff --git a/translated/tech/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md b/published/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md similarity index 58% rename from translated/tech/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md rename to published/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md index 540b9bc718..72ff9e4851 100644 --- a/translated/tech/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md +++ b/published/20140617 How to Share Files Between Windows, Mac, and Linux PCs on a Network.md @@ -1,39 +1,38 @@ -如何在网络上在Windows,MAC和Linux之间共享文件 +如何通过网络在Windows、MAC和Linux之间共享文件 ================================================================================ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/windows-mac-and-linux-network.jpg) -家庭[文件共享][1]曾经是一个噩梦,即使在不同的Windows版本之间- 没有考虑Mac和Linux! 这些操作系统现在可以相互通信并且无需特殊软件就可共享文件。 +家庭[文件共享][1]曾经是一个噩梦,即使在不同的Windows版本之间—— 甚至不考虑Mac和Linux!但现在这些操作系统可以相互通信并且无需特殊软件就可共享文件。 -我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享,同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目[提交补丁][2]来改进它! +我们之前使用SMB协议来做到这点。Windows使用SMB来做文件共享,同时Mac和Linux发行版都内置支持SMB。Microsoft甚至给开源Samba项目[提交过补丁][2]来改进它! -### 在Windows上共享一个文件夹 ### +### 在Windows上共享文件夹 ### -既然其他操作系统不能访问家庭组,您需要[启用Windows老式的文件共享][3]。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。 +既然其他操作系统不能访问家庭组,您需要[启用Windows老式的文件共享][3]。要做到这点,打开控制面板进入网络和共享> 更改高级共享设置。启用“网络发现”和“文件与打印共享”。 - -如果你想要无需密码访问共享文件夹你还需要微调一下选项。 +如果你想要无需密码访问共享文件夹你还需要微调一下其它选项。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/enable-file-and-printer-sharing-for-mac-and-linux-on-windows.png) -在Windows Explorer或者File Explorer中定位你想共享的文件夹,右键点击,选择属性。点击共享标签,并使用这里的选项来共享和配置文件夹的权限。 +在Windows Explorer或者File Explorer中找到你想共享的文件夹,右键点击,选择属性。点击共享标签,并使用这里的选项来共享和配置文件夹的权限。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-windows-folders-with-mac-and-linux-on-local-network.png) ### 在Windows上访问共享文件夹 ### -在Windows Explorer或者File Explorer中访问窗格来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。 +在Windows Explorer或者File Explorer中访问网络面板来浏览其他计算机共享给你的文件。你会看到正确配置后的Mac和Linux计算机在Windows PC机附近出现了。双击一台计算机来查看它的共享文件。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/access-ubuntu-linux-shared-folder-on-windows.png) -如果你知道计算机名或者IP地址,你同样可以直接连接到这台计算机上,只需要在Windows Explorer或者File Explorer中输入//计算名后按下回车就可以了 如果你希望直接通过IP地址连接,只需要将计算机名换成IP地址就可以了 +如果你知道计算机名或者IP地址,你同样可以直接连接到这台计算机上,只需要在Windows Explorer或者File Explorer中输入\\计算名后按下回车就可以了。如果你希望直接通过IP地址连接,只需要将计算机名换成IP地址就可以了 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-access-network-share-on-windows.png) ### 在Mac OS X 上共享文件夹 ### -你需要在你的Mac上启用网络文件共享来共享文件。双击苹果logo,并选择系统偏好。点击共享图标并启用文件共享。点击选项按钮,并确认“使用SMB共享文件和文件夹”已经启用。 +你需要在你的Mac上启用网络文件共享来共享文件。点击桌面左上角的苹果logo,并选择系统偏好。点击共享图标并启用文件共享。点击选项按钮,并确认“使用SMB共享文件和文件夹”已经启用。 -在共享文件夹那列中选择额外要共享的文件夹。使用用户列来选择哪些用户和组可以访问和写入它们 +在共享文件夹那列中选择添加要共享的文件夹。使用用户列来选择哪些用户和组可以访问和写入它们 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-folder-with-windows-from-mac-os-x.png) @@ -43,19 +42,19 @@ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-connect-to-windows-file-share-on-a-mac.png) -你会被提示你用相应的凭证来验证或者以访客方式登录。连接完成后,在Finder的侧边栏的共享列中就会出现这台计算机, +你会被提醒你应该用相应的凭证来验证或者以访客方式登录。连接完成后,在Finder的侧边栏的共享列中就会出现这台计算机, -要在你每次登录后自动链接到共享文件夹,打开系统偏好窗口并进入用户与组> 登录项。从finder中的共享列中的网络共享拖拽到登录项列表中 +要在你每次登录后自动链接到共享文件夹,打开系统偏好窗口并进入用户与组 > 登录项。从finder中的共享列中的网络共享拖拽到登录项列表中 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/windows-shared-folder-on-mac.png) -### 在 Linux 中共享一个文件夹 ### +### 在 Linux 中共享文件夹 ### -在Linux上使用你桌面文件管理器来共享一个文件。这里我们在Ubuntu 14.04上使用Nautilus,但是在其他文件管理器上的过程应该是相似的。 +在Linux上使用你桌面文件管理器来共享文件夹。这里,我们使用Ubuntu 14.04上的Nautilus,不过其他文件管理器上的过程应该是相似的。 -打开文件管理器,在想要共享的文件上右键,选择属性。剪辑本地网络共享标签并对这个文件启用共享。如果这是你第一次启用共享,你会被提示要求安装Samba软件- 这在你提供密码的时候会自动显示。 +打开文件管理器,在想要共享的文件上右键,选择属性。点击本地网络共享标签并对这个文件启用共享。如果这是你第一次启用共享,你会被提示要求安装Samba软件——这在你提供密码的时候会自动显示。 -在安装玩Samba软件后配置共享设置- 确认点击创建共享按钮来开始共享文件夹。 +在安装完Samba软件后配置共享设置- 确认点击创建共享按钮来开始共享文件夹。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/share-folder-from-ubuntu-linux-with-windows-pc-over-local-network.png) @@ -63,21 +62,21 @@ 你的Linux桌面文件管理器可能包含了一个网络浏览器,它可以用来定位并访问在本地网络的共享文件夹。 -在文件管理器的侧边栏点击浏览网络选项。接着双击Windows网络选项,双击你的工作组(默认是WORKFROUP),双击临近的计算机来浏览它的共享文件。 +在文件管理器的侧边栏点击浏览网络选项。接着双击Windows网络选项,双击你的工作组(默认是WORKFROUP),双击邻近的计算机来浏览它的共享文件。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/browse-windows-network-shares-on-ubuntu.png) -为了直接连接到一台计算机,选中Nautilus中的连接到服务器选项,并输入像这样的远程计算机:smb://COMPUTERNAME +要直接连接到一台计算机,选中Nautilus中的“连接到服务器”选项,并输入像这样的远程计算机地址:smb://COMPUTERNAME ![](http://cdn.howtogeek.com/wp-content/uploads/2014/06/directly-connect-to-windows-shared-folder-on-ubuntu.png) -然而在你连接时,你可能需要使用具有访问远程计算机权限的用户名和密码来验证。这依赖于你是否启用了访客访问以及你如何设置你的文件夹共享权限。 +不过在你连接时,你可能需要使用具有访问远程计算机权限的用户名和密码来验证。这依赖于你是否启用了访客访问以及你如何设置你的文件夹共享权限。 -------------------------------------------------------------------------------- via: http://www.howtogeek.com/191116/how-to-share-files-between-windows-mac-and-linux-pcs-on-a-network/ -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 54223853116d81774f5caab40d9d6f9a11236345 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Thu, 3 Jul 2014 13:42:32 +0800 Subject: [PATCH 020/291] =?UTF-8?q?20140703-1=20=E9=80=89=E9=A2=98=20The?= =?UTF-8?q?=20history=20of=20Android=20=E7=B3=BB=E5=88=97=E6=96=87?= =?UTF-8?q?=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../01 - The history of Android.md | 202 ++++++++++++++++++ .../02 - The history of Android.md | 78 +++++++ .../03 - The history of Android.md | 64 ++++++ .../04 - The history of Android.md | 75 +++++++ .../05 - The history of Android.md | 88 ++++++++ .../06 - The history of Android.md | 73 +++++++ .../07 - The history of Android.md | 109 ++++++++++ .../08 - The history of Android.md | 128 +++++++++++ .../09 - The history of Android.md | 76 +++++++ .../10 - The history of Android.md | 88 ++++++++ .../11 - The history of Android.md | 85 ++++++++ .../12 - The history of Android.md | 98 +++++++++ .../13 - The history of Android.md | 104 +++++++++ .../14 - The history of Android.md | 82 +++++++ .../15 - The history of Android.md | 86 ++++++++ .../16 - The history of Android.md | 66 ++++++ .../17 - The history of Android.md | 86 ++++++++ .../18 - The history of Android.md | 83 +++++++ .../19 - The history of Android.md | 71 ++++++ .../20 - The history of Android.md | 93 ++++++++ .../21 - The history of Android.md | 103 +++++++++ .../22 - The history of Android.md | 84 ++++++++ .../23 - The history of Android.md | 59 +++++ .../24 - The history of Android.md | 82 +++++++ .../25 - The history of Android.md | 70 ++++++ .../26 - The history of Android.md | 87 ++++++++ 26 files changed, 2320 insertions(+) create mode 100644 sources/talk/The history of Android/01 - The history of Android.md create mode 100644 sources/talk/The history of Android/02 - The history of Android.md create mode 100644 sources/talk/The history of Android/03 - The history of Android.md create mode 100644 sources/talk/The history of Android/04 - The history of Android.md create mode 100644 sources/talk/The history of Android/05 - The history of Android.md create mode 100644 sources/talk/The history of Android/06 - The history of Android.md create mode 100644 sources/talk/The history of Android/07 - The history of Android.md create mode 100644 sources/talk/The history of Android/08 - The history of Android.md create mode 100644 sources/talk/The history of Android/09 - The history of Android.md create mode 100644 sources/talk/The history of Android/10 - The history of Android.md create mode 100644 sources/talk/The history of Android/11 - The history of Android.md create mode 100644 sources/talk/The history of Android/12 - The history of Android.md create mode 100644 sources/talk/The history of Android/13 - The history of Android.md create mode 100644 sources/talk/The history of Android/14 - The history of Android.md create mode 100644 sources/talk/The history of Android/15 - The history of Android.md create mode 100644 sources/talk/The history of Android/16 - The history of Android.md create mode 100644 sources/talk/The history of Android/17 - The history of Android.md create mode 100644 sources/talk/The history of Android/18 - The history of Android.md create mode 100644 sources/talk/The history of Android/19 - The history of Android.md create mode 100644 sources/talk/The history of Android/20 - The history of Android.md create mode 100644 sources/talk/The history of Android/21 - The history of Android.md create mode 100644 sources/talk/The history of Android/22 - The history of Android.md create mode 100644 sources/talk/The history of Android/23 - The history of Android.md create mode 100644 sources/talk/The history of Android/24 - The history of Android.md create mode 100644 sources/talk/The history of Android/25 - The history of Android.md create mode 100644 sources/talk/The history of Android/26 - The history of Android.md diff --git a/sources/talk/The history of Android/01 - The history of Android.md b/sources/talk/The history of Android/01 - The history of Android.md new file mode 100644 index 0000000000..d6b12482f9 --- /dev/null +++ b/sources/talk/The history of Android/01 - The history of Android.md @@ -0,0 +1,202 @@ +The history of Android +================================================================================ +> Follow the endless iterations from Android 0.5 to Android 4.4. + +![Android's home screen over the years.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/its-been-quite-a-journey1.jpg) +Android's home screen over the years. +Photo by Ron Amadeo + +Android has been with us in one form or another for more than six years. During that time, we've seen an absolutely breathtaking rate of change unlike any other development cycle that has ever existed. When it came time for Google to dive in to the smartphone wars, the company took its rapid-iteration, Web-style update cycle and applied it to an operating system, and the result has been an onslaught of continual improvement. Lately, Android has even been running on a previously unheard of six-month development cycle, and that's slower than it used to be. For the first year of Android’s commercial existence, Google was putting out a new version every two-and-a-half months. + +注:youtube视频地址开始 + + +Google's original introduction of Android, from way back in November 2007. +注:youtube视频地址结束 + +The rest of the industry, by comparison, moves at a snail's pace. Microsoft updates its desktop OS every three to five years, and Apple is on a yearly update cycle for OS X and iOS. Not every update is created equal, either. iOS has one major design revision in seven years, and the newest version of Windows Phone 8 looks very similar to Windows Phone 7. On Android, however, users are lucky if anything looks the same this year as it did last year. The Play Store, for instance, has had five major redesigns in five years. For Android, that's normal. + +Looking back, Android's existence has been a blur. It's now a historically big operating system. Almost a billion total devices have been sold, and 1.5 million devices are activated per day—but how did Google get here? With this level of scale and success, you would think there would be tons of coverage of Android’s rise from zero to hero. However, there just isn’t. Android wasn’t very popular in the early days, and until Android 4.0, screenshots could only be taken with the developer kit. These two factors mean you aren’t going to find a lot of images or information out there about the early versions of Android. + +The problem now with the lack of early coverage is that *early versions of Android are dying*. While something like Windows 1.0 will be around forever—just grab an old computer and install it—Android could be considered the first cloud-based operating system. Many features are heavily reliant on Google’s servers to function. With fewer and fewer people using old versions of Android, those servers are being shut down. And when a cloud-reliant app has its server support shut off, it will never work again—the app crashes and displays a blank screen, or it just refuses to start. + +Thanks to this “[cloud rot][1]," an Android retrospective won’t be possible in a few years. Early versions of Android will be empty, broken husks that won't function without cloud support. While it’s easy to think of this as a ways off, it's happening right now. While writing this piece, we ran into tons of apps that no longer function because the server support has been turned off. Early clients for Google Maps and the Android Market, for instance, are no longer able to communicate with Google. They either throw an error message and crash or display blank screens. Some apps even worked one week and died the next, because Google was actively shutting down servers during our writing! + +To prevent any more of Android's past from being lost to the annals of history, we did what needed to be done. This is 20+ versions of Android, seven devices, and lots and lots of screenshots cobbled together in one space. This is The History of Android, from the very first public builds to the newest version of KitKat. + +注:下面一块为文章链接列表,发布后可以改为发布后的地址 +---------- + +### Table of Contents ### + +- [Android 0.5 Milestone 3—the first public build][10] +- [Android 0.5 Milestone 5—the land of scrapped interfaces][11] +- [Android 0.9 Beta—hey, this looks familiar!][12] +- [Android 1.0—introducing Google Apps and actual hardware][13] +- [Android 1.1—the first truly incremental update][14] +- [Android 1.5 Cupcake—a virtual keyboard opens up device design][15] +- ----[Google Maps is the first built-in app to hit the Android Market][16] +- [Android 1.6 Donut—CDMA support brings Android to any carrier][17] +- [Android 2.0 Éclair‎—blowing up the GPS industry][18] +- [The Nexus One—enter the Google Phone][19] +- [Android 2.1—the discovery (and abuse) of animations][20] +- ----[Android 2.1, update 1—the beginning of an endless war][21] +- [Android 2.2 Froyo—faster and Flash-ier][22] +- ----[Voice Actions—a supercomputer in your pocket][23] +- [Android 2.3 Gingerbread—the first major UI overhaul][24] +- [Android 3.0 Honeycomb—tablets and a design renaissance][25] +- ----[Google Music Beta—cloud storage in lieu of a content store][26] +- [Android 4.0 Ice Cream Sandwich—the modern era][27] +- ----[Google Play and the return of direct-to-consumer device sales][28] +- [Android 4.1 Jelly Bean—Google Now points toward the future][29] +- ----[Google Play Services—fragmentation and making OS versions (nearly) obsolete][30] +- [Android 4.2 Jelly Bean—new Nexus devices, new tablet interface][31] +- ----[Out-of-cycle updates—who needs a new OS?][32] +- [Android 4.3 Jelly Bean—getting wearable support out early][33] +- [Android 4.4 KitKat—more polish; less memory usage][34] +- [Today Android everywhere][35] + +---------- + +### Android 0.5, Milestone 3—the first public build ### + +Before we go diving into Android on real hardware, we're going to start with the early, early days of Android. While 1.0 was the first version to ship on hardware, there were several beta versions only released in emulator form with the SDK. The emulators were meant for development purposes only, so they don’t include any of the Google Apps, or even many core OS apps. Still, they’re our best look into the pre-release days of Android. + +![The emulator’s default qwerty-bar layout running the Milestone 3 build.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/blackberrrry.png) +The emulator’s default qwerty-bar layout running the Milestone 3 build. +Photo by Ron Amadeo + +Before whimsical candy code names and [cross-promotional deals with multinational food corporations][2], the first public release of Android was labeled "m3-rc20a"—"m3" standing for "Milestone 3." While Google may not have publicized the version number—and this build didn't even have a settings app to check—the browser user agent identifies this as "Android 0.5." + +In November 2007, two years after Google acquired Android and five months after the launch of the iPhone, [Android was announced][3], and the first emulator was released. Back then, the OS was still getting its feet under it. It was easily dismissed as "just a BlackBerry clone." The emulator used a qwerty-bar skin with a 320x240 display, replicating an [actual prototype device][4]. The device was built by HTC, and it seems to be the device that was codenamed "Sooner" according to many early Android accounts. But the Sooner was never released to market. + +[According to accounts][5] of the early development days of Android, when Apple finally showed off its revolutionary smartphone in January 2007, Google had to "start over" with Android—including scrapping the Sooner. Considering the Milestone 3 emulator came out almost a year after Apple's iPhone unveiling, it's surprising to see the device interface still closely mimicked the Blackberry model instead. While work had no doubt been done on the underlying system during that year of post-iPhone development, the emulator still launched with what was perceived as an "old school" interface. It didn't make a good first impression. + +At this early stage, it seems like the Android button layout had not been finalized yet. While the first commercial Android devices would use “Home," “Back," “Menu," and “Search" as the standard set of buttons, the emulator had a blank space marked as an "X" where you would expect the search button to be. The “Sooner" hardware prototype was even stranger—it had a star symbol as the fourth button. + +![From left to right: the home screen, an open notification, and the “apps" folder.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/noti3.png) +From left to right: the home screen, an open notification, and the “apps" folder. +Photo by Ron Amadeo + +There was no configurable home screen or widgets, just a simple dock of icons at the bottom that could be cycled through or tapped on. While touch screen support worked for some features, Milestone 3 was primarily controlled with a five-way d-pad—an anachronism that Android still supports to this day. Even this early version of Android could do animations. Icons would grow and shrink as they entered and exited the dock’s center window. + +There was no notification panel yet, either. Notification icons showed up in the status bar (shown above as a smiley face), and the only way to open them was to press "up" on the d-pad while on the home screen. You couldn't tap on the icon to open it, nor could you access notifications from any screen other than home. When a notification was opened, the status bar expanded slightly, and the text of the notification appeared in a speech bubble. Once you had a notification, there was no manual way to clear it—apps were responsible for clearing their own notifications. + +App drawer duties were handled by a simple "Applications" folder on the left of the dock. Despite having a significant amount of functions, the Milestone 3 emulator was not very forthcoming with app icons. "Browser," "Contacts," and "Maps" were the only real apps here. Oddly, "recent calls" was elevated to a standalone icon. Because this was just an emulator, icons for core smartphone functionality were missing, like alarm, calendar, dialer, calculator, camera, gallery, and settings. Hardware prototypes demoed to the press had [many of these][6], and there was a suite of Google Apps up and running by this point. Sadly, there’s no way for us to look at them. They’re so old they can't connect to Google’s servers now anyway. + +![Milestone 3's menu system in the browser, the wallpaper interface, and the volume control.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/menu.png) +Milestone 3's menu system in the browser, the wallpaper interface, and the volume control. +Photo by Ron Amadeo + +The now-deprecated menu system was up and running in Milestone 3. Hitting the hardware menu button brought up a gray list with a blue gradient highlight, complete with hardware keyboard shortcuts. In the screenshot above, you can see the menu open in the browser. Going to a second level, like the zoom menu, turned the first level of the menu oddly transparent. + +Surprisingly, multitasking and background applications already worked in Milestone 3. Leaving an app didn't close it—apps would save state, even down to text left in a text box. This was a feature iOS wouldn’t get around to matching until the release of iOS 4 in 2010, and it really showed the difference between the two platforms. iOS was originally meant to be a closed platform with no third-party apps, so the platform robustness wasn’t a huge focus. Android was built from the ground up to be a powerful app platform, and ease of app development was one of the driving forces behind its creation. + +Before Android, Google was already making moves into mobile with [WAP sites][7] and [J2ME flip phone apps][8], which made it acutely aware of how difficult mobile development was. According to [The Atlantic][9], Larry Page once said of the company’s mobile efforts “We had a closet full of over 100 phones, and we were building our software pretty much one device at a time.” Developers often complain about Android fragmentation now, but the problem was much, much worse before the OS came along. + +Google’s platform strategy eventually won out, and iOS ended up slowly adding many of these app-centric features—multitasking, cross-app sharing, and an app switcher—later on. + +![The dialer screen that pops up when you press numbers on the home screen, an incoming call, and the call conferencing interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/call10000.png) +The dialer screen that pops up when you press numbers on the home screen, an incoming call, and the call conferencing interface. +Photo by Ron Amadeo + +Despite not having a dialer icon, Milestone 3 emulator was equipped with a way to make phone calls. Pressing anything on the keyboard would bring up the screen on the left, which was a hybrid dialer/contact search. Entering only numbers and hitting the green phone hardware button would start a phone call, and letters would search contacts. Contacts were not searchable by number, however. Even a direct hit on a phone number would not bring up a contact. + +Incoming calls were displayed as an almost-full-screen popup with a sweet transparent background. Once inside a call, the background became dark gray, and Milestone 3 presented the user with a surprisingly advanced feature set: mute, speakerphone, hold, and call conferencing buttons. Multiple calls were presented as overlapping, semi-transparent cards, and users had options to swap or merge calls. Swapping calls triggered a nice little card shuffle animation. + +![The contacts list, an individual contact, editing a contact, and the recent calls screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/recent100.png) +The contacts list, an individual contact, editing a contact, and the recent calls screen. +Photo by Ron Amadeo + +Contacts was a stark, black and blue list of names. Contact cards had a spot for a contact picture but couldn't assign one to the space (at least in the emulator). The only frill in this area was XMPP presence dots to the left of each name in Contacts. An always-on XMPP connection has traditionally been at the heart of Android, and that deep integration already started in Milestone 3. Android used XMPP to power a 24/7 connection to Google’s servers, powering Google Talk, cloud-to-device push messaging, and app install and uninstall messages. + +![The browser’s fake Google homepage, the address bar, and the history interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/browser3.png) +The browser’s fake Google homepage, the address bar, and the history interface. +Photo by Ron Amadeo + +The browser ran Webkit 419.3, which put it in the same era as Mac OS X 10.4's Safari 2. The homepage was not Google.com, but a hard-coded home.html file included with Android. It looked like Google.com from a thousand years ago. The browser's OS X heritage was still visible, rendering browser buttons with a glossy, Aqua-style search button. + +The tiny BlackBerry-style screen necessitated a separate address bar, which was brought up by a "go to" option in the browser's menu. While autocomplete didn't work, the address bar live searched your history as you typed. The picture on the right was the History display, which used thumbnails to display each site. The current thumbnail was in front of the other two, and scrolling through them triggered a swooping animation. But at this early stage, the browser didn’t support multiple tabs or windows—you had the current website, and that was it. + +![A video-screengrab-derived Google Maps Photoshop, the directions interface, and the gallery test view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/maps.png) +A video-screengrab-derived Google Maps Photoshop, the directions interface, and the gallery test view. +Photo by Ron Amadeo + +From the beginning, Google knew maps would be important on mobile, even shipping a Maps client on the Milestone 5 emulator. That version of Google Maps was the first thing we came across that died from cloud rot. The client can't load information from Google’s servers, so the map displayed as a blank, gray grid. Nothing works. + +Luckily, for the first screenshot above, we were able to piece together an accurate representation from the Android launch video. Old Google Maps seemed fully prepared for a non-touch device, listing hardware key shortcuts along the bottom of the screen. It’s unclear if places worked, or if Maps only ran on addresses at this point. + +Hidden behind the menu were options for search, directions, and satellite and traffic layers. The middle screenshot is of the directions UI, where you could even pick a contact address as a start or end address. Maps lacked any kind of GPS integration, however; you can't find a "my location" button anywhere. + +While there was no proper gallery, on the right is a test view for a gallery, which was hidden in the "API Demos" app. The pictures scrolled left and right, but there was no way to open photos to a full screen view. There were no photo management options either. It was essentially a test of a scrolling picture view. + +![The time picker and calendar, with ridiculous kerning issues, and the vertical list test, featuring Ars.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/datetimeshoutout.png) +The time picker and calendar, with ridiculous kerning issues, and the vertical list test, featuring Ars. +Photo by Ron Amadeo + +There was also no settings app, but we can look at the original time and date pickers, thanks to the API Demos. This demonstrates how raw a lot of Android was: kerning issues all over the place, a huge gap in between the minute digits, and unevenly spaced days of the week on the calendar. While the time picker let you change each digit independently, there was no way to change months or years other than moving the day block out of the current month and on to the next or previous month. + +Keep in mind that while this may seem like dinosaur remnants from some forgotten era, this was only released six years ago. We tend to get used to the pace of technology. It's easy to look back on stuff like this and think that it was from 20 years ago. Compare this late-2007 timeframe to desktop OSes, and Microsoft was trying to sell Windows Vista to the world for almost a year, and Apple just released OS X 10.5 Leopard. + +One last Milestone 3 detail: Google gave Ars Technica a shoutout in the Milestone 3 emulator. Opening the “API Demos" app and going to "Views," "Focus," then "Vertical" revealed a test list headlined by *this very Website*. + +![The new emulator skin that comes with Milestone 3, RC37a, which uses a more modern, all-touchscreen style.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/bigscreen.png) +The new emulator skin that comes with Milestone 3, RC37a, which uses a more modern, all-touchscreen style. + +Photo by Ron Amadeo + +Two months later, in December 2007, Google released an update for the Milestone 3 emulator that came with a much roomier 480×320 device configuration. This was tagged "m3-rc37a." The software was still identical to the BlackBerry build, just with much more screen real estate available. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2014/06/how-we-found-and-installed-every-version-of-android/ +[2]:http://arstechnica.com/gadgets/2013/09/official-the-next-edition-of-android-is-kitkat-version-4-4/ +[3]:http://arstechnica.com/gadgets/2007/11/its-official-google-announces-open-source-mobile-phone-os-android/ +[4]:http://www.zdnet.com/blog/mobile-gadgeteer/mwc08-hands-on-with-a-working-google-android-device/860 +[5]:http://www.theatlantic.com/technology/archive/2013/12/the-day-google-had-to-start-over-on-android/282479/ +[6]:http://www.letsgomobile.org/en/2974/google-android/ +[7]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/%E2%80%9D +[8]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/%E2%80%9D +[9]:http://www.theatlantic.com/technology/archive/2013/12/the-day-google-had-to-start-over-on-android/282479/ +[10]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/1/#milestone3 +[11]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/2/#milestone5 +[12]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/3/#0.9 +[13]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/6/#1.0 +[14]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/7/#1.1 +[15]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/8/#cupcake +[16]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/9/#Mapsmarket +[17]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/9/#donut +[18]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/10/#2.0eclair +[19]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/11/#nexusone +[20]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/12/#2.1eclair +[21]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/13/#alloutwar +[22]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/13/#froyo +[23]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/14/#voiceactions +[24]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/14/#gingerbread +[25]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/16/#honeycomb +[26]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/19/#music +[27]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/19/#ics +[28]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#googleplay +[29]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#4.1jellybean +[30]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#playservices +[31]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/22/#4.2jellybean +[32]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/23/#outofcycle +[33]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/24/#4.3jellybean +[34]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/25/#kitkat +[35]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/26/#conclusion +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/02 - The history of Android.md b/sources/talk/The history of Android/02 - The history of Android.md new file mode 100644 index 0000000000..ca8a81bf23 --- /dev/null +++ b/sources/talk/The history of Android/02 - The history of Android.md @@ -0,0 +1,78 @@ +The history of Android +================================================================================ +![Left: the Milestone 5 home screen showing the “all" button, two dock icons, and four recent apps. Center: the home screen with the app list open. Right: the power menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/homescree052n.jpg) +Left: the Milestone 5 home screen showing the “all" button, two dock icons, and four recent apps. Center: the home screen with the app list open. Right: the power menu. +Photo by Ron Amadeo + +### Android 0.5, Milestone 5—the land of scrapped interfaces ### + +The first major Android change came three months after the first emulator release: the "m5-rc14" build. Released in February 2008, “Milestone 5" dumped the stretched-out BlackBerry interface and went with a totally revamped design—Google's first attempt at a finger-friendly interface. + +This build was still identified as "Android 0.5" in the browser user agent string, but Milestone 5 couldn't be more different from the first release of Android. Several core Android features can directly trace their lineage back to this version. The layout and functionality of the notification panel was almost ready to ship, and, other than a style change, the menu was present in its final form, too. Android 1.0 was only eight months away from shipping, and the basics of an OS were starting to form. + +One thing that was definitely not in its final form was the home screen. It was an unconfigurable, single-screen wallpaper with an app drawer and dock. App icons were bubbly, three-color affairs, surrounded by a square, white background with rounded corners. The app drawer consisted of an "All" button in the lower-right corner, and tapping on it expanded the list of apps out to the left. Above the "All" button was a two icon dock where "Contacts" and "Dialer" were given permanent home screen real estate. The four blocks above that were an early version of Recent Apps, showing the last apps accessed. With no left or right screens and a whole column taken up by the dock and recent apps, this layout only allowed for 21 app squares before the screen would be filled. The emulator still only sported the bare-minimum app selection, but in an actual device, this design didn't appear like it would work well. + +Holding down the "end call" button brought up a super early version of the power menu, which you can see in the rightmost picture. Google didn't have the normal smartphone nomenclature down yet: "Turn Off Screen" would best be described as "Lock screen" (although there was no lock screen) and "Turn Off Radio" would be called "Airplane mode" today. + +![From left to right: the surprisingly modern notification panel, the menu open in Google Maps (Maps doesn't work anymore), and the new finger-friendly list view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/noti2.png) +From left to right: the surprisingly modern notification panel, the menu open in Google Maps (Maps doesn't work anymore), and the new finger-friendly list view. +Photo by Ron Amadeo + +All the way back in Milestone 5, Google had the basics of the notification panel nailed down. It pulled down from the top of the screen just like it does on any modern smartphone. Current notifications displayed in a list. The first version of the notification panel was an opaque white sheet with a ribbed “handle" on the bottom and an orange dot in the center. Notifications were pressable, opening the appropriate app for that notification. No one bothered to vertically align the app icons in this list, but that's OK. This was gone in the next update. + +Sticky notifications went into an "ongoing" section at the top of the panel. In this build, that seemed to only include phone calls. The "Latest Event" notifications were clearable only after opening the appropriate app. Users surprisingly managed to sign in to Google Talk over the built-in XMPP connection. But while the notification panel displayed "new chat message," there wasn't actually an instant messaging app. + +The artwork in Milestone 5 was all new. The app icons were redrawn, and the menu switched from a boring BlackBerry-style text list to full-color, cartoony icons on a large grid. The notification panel icons switched from simple, sharp, white icons to a bubbly green design. There was now a strange black line under the signal bar indicator with no apparent purpose. The tiny list view from earlier builds really wasn't usable with a finger, so Milestone 5 came with an overall beefier layout. + +![The dialer, recent calls, and an incoming call.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/phonestuff.png) +The dialer, recent calls, and an incoming call. +Photo by Ron Amadeo + +M5 was the first build to have a dialer, albeit a fairly ugly one. Numbers were displayed in a gradient-filled bar containing a bizarre speech-bubble-styled backspace button that looked like it was recycled from some other interface. Alignment issues were everywhere. The numbers on the buttons weren't vertically aligned correctly, and the “X" in the backspace button wasn’t aligned with the speech bubble. You couldn't even start a call from the dialer—with no on-screen “dial" button, a hardware button was mandatory. + +Milestone 5 had a few tabbed interfaces, all of which demonstrated an extremely odd idea of how tabs should work. The active tab was white, and the background tabs were black with a tiny strip of white at the bottom. Were background tabs supposed to "shrink" downward? There was no animation when switching tabs. It wasn't clear what the design tried to communicate. + +Recent Calls, shown in the second picture, was downgraded from a top-tier app to a tab on the dialer. It ditched the crazy crosshair UI from earlier builds and, thanks to the chunkier list view, now displayed all the necessary information in a normal list. + +Unlike the dialer, the incoming call screen had on-screen buttons for answering and ending a call. Bizarrely, the incoming call screen was stuck to the bottom of the display, rather than the top or center. It was possibly left over from the old 4:3 BlackBerry screens. + +![An active call, the disabled touchscreen error message, and the call screen with a second call on hold.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/callsstuff.png) +An active call, the disabled touchscreen error message, and the call screen with a second call on hold. +Photo by Ron Amadeo + +The in-call interface looked normal but made zero sense in practice. Today, to stop your face from pressing buttons while on a call, phones have proximity sensors that turn the screen off when the sensor detects something. Milestone 5 didn’t support proximity sensors, though. Google’s haphazard solution was to disable the entire touch screen during a call. At the same time, the in-call screen was clearly overhauled for touch. There were big, finger-friendly buttons; *you just couldn't touch anything*. + +M5 featured a few regressions here from the old Milestone 3 build. Many decent-looking icons from the old interface were replaced with text. Buttons like "mute" no longer offered on-screen feedback that they were active. Merging calls was cut completely. + +![The browser’s primary menu, the browser’s secondary menu, the crazy zoom control, and the window interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser4.png) +The browser’s primary menu, the browser’s secondary menu, the crazy zoom control, and the window interface. +Photo by Ron Amadeo + +The browser menu got the usual touch overhaul, and for the first time a "more" button appeared. It functioned as an [extra menu for your menu][1]. Rather than turning the 3x2 grid into a 3x4 grid, Milestone 5 (and many successive versions of Android) used a long, scrolling list for the additional options. Pinch zoom wasn't supported (supposedly a [concession to Apple][2]), so Android went with the ridiculous looking zoom control in the third picture above. Rather than something sensible like a horizontal, bottom-aligned zoom control, Google stuck it smack in the middle of the screen. The last picture shows the Browser’s "window" interface, which allowed you to open multiple webpages and semi-easily switch between them. + +![Google Maps’ layers section screen, search interface, and directions screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/amps.png) +Google Maps’ layers section screen, search interface, and directions screen. +Photo by Ron Amadeo + +Google Maps still didn't work, but the little UI we accessed saw significant updates. You could pick map layers, although there were only two to choose from: Satellite and Traffic. The top-aligned search interface strangely hid the status bar, while the bottom-aligned directions didn't hide the status bar. Direction's enter button was labeled with "Go," and Search's enter button was labeled with a weird curvy arrow. The list goes on and demonstrates old school Android at its worst: two functions in the same app that should look and work similarly, but these were implemented as complete opposites. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/2/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://i.imgur.com/GIYGTnb.jpg +[2]:http://www.businessinsider.com/steve-jobs-on-android-founder-andy-rubin-big-arrogant-f-2013-11 +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/03 - The history of Android.md b/sources/talk/The history of Android/03 - The history of Android.md new file mode 100644 index 0000000000..9e09fc8503 --- /dev/null +++ b/sources/talk/The history of Android/03 - The history of Android.md @@ -0,0 +1,64 @@ +The history of Android +================================================================================ +![From left to right: Android 0.9’s home screen, add drawer, and shortcut deletion interfaces.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/09hom2e.png) +From left to right: Android 0.9’s home screen, add drawer, and shortcut deletion interfaces. +Photo by Ron Amadeo + +### Android 0.9, Beta—hey, this looks familiar! ### + +Six months after Milestone 5, in August 2008, [Android 0.9 was released][1]. While the Android 0.5 milestone builds were "early looks," by now 1.0 was only two months away. Thus, Android 0.9 was labeled "beta." On the other side of the aisle, Apple already released its second version of the iPhone—the iPhone 3G—a month prior. The second-gen iPhone brought a second-gen iPhone OS. Apple also launched the App Store and was already taking app submissions. Google had a lot of catching up to do. + +Google threw out a lot of the UI introduced in Milestone 5. All the artwork was redone again in full-color, and the white square icon backgrounds were tossed. While still an emulator build, 0.9 offered something that looked familiar when compared to a released version of Android. Android 0.9 had a working desktop-style home screen, a proper app drawer, multiple home screens, a lot more apps, and fully functional (first-party only) widgets. + +Milestone 5 seemingly had no plan for someone installing more than 21 apps, but Android 0.9 had a vertically scrolling app drawer accessible via a gray tab at the bottom of the screen. Back then, the app drawer was actually a drawer. Besides acting as a button, the gray tab could be pulled up the screen and would follow your finger, just like how the notification panel can be pulled down. There were additional apps like Alarm Clock, Calculator, Music, Pictures, Messaging, and Camera. + +This was the first build with a fully customizable home screen. Long pressing on an app or widget allowed you to drag it around. You could drag an app out of the app drawer and make a home screen shortcut or long press on an existing home screen shortcut to move it. + +0.9 is a reminder that Google was not the design powerhouse it is today. In fact, some of the design work for Android was farmed out to other companies at the time. You can see one sign of this in the clock widget, which contains the text “MALMO," the home town of design firm [The Astonishing Tribe][2]. + +![The “Add to Home" dialog in Android 0.9.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/widgets.png) +The “Add to Home" dialog in Android 0.9. +Photo by Ron Amadeo + +There were only three widgets: Clock, Picture frame, and Search. The Search widget didn't even have a proper icon in the list—it used the Picture icon. Perhaps the most interesting item here was a "Purchased pictures" option in the wallpaper choices—a leftover from the days when purchasing ringtones on a dumbphone was a common occurrence. Google was either planning on selling wallpapers, or it was already adding a carrier at some point. The company never went through with the plan. + +![A collection of widgets, an open folder, renaming a folder, and the copy/paste menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/fcp.png) +A collection of widgets, an open folder, renaming a folder, and the copy/paste menu. +Photo by Ron Amadeo + +The left screen, above, shows the widgets for Google Search and pictures. Search didn't do anything other than give you a box to type in—there was no auto complete or additional UI. Typing in the box and hitting "Go" would launch the browser. The bottom row of icons revealed a few options for "shortcuts" from the long press menu, which created icons that opened an app to a certain screen. Individual contacts, browser bookmarks, and music playlists were all shortcuts that could all be added to the home screen in 0.9. + +"Folders" was an option under the shortcuts heading despite not being a shortcut to anything. Once a blank folder was created, icons could be dragged into it and rearranged. Unlike today, there was no indication of what was in a folder; it was always a plain, white, empty-looking icon. + +0.9 was also the first Android version to have OS-level copy/paste support. Long pressing on any text box would bring up a dialog allowing you to save or recall text from the clipboard. iOS didn't support copy/paste until almost two years later, so for a while, this was one of Android's big differentiators—and the source of many Internet arguments. + +![From left to right: Android 0.9’s new menu, recent apps, power options, and lock screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/stuff.jpg) +From left to right: Android 0.9’s new menu, recent apps, power options, and lock screen. +Photo by Ron Amadeo + +Android 0.9 was really starting to show its maturity. The home screen had a full set of menu items, including a settings option (although it didn't work yet) and a search button (because Google likes it when you search). The menu design was already in the final form that would last until Android 2.3 swapped it to black. + +Long pressing on the hardware home button brought up a 3x2 grid of recent apps, a design that would stick around until the release of Android 3.0. Recent Apps blurred the exposed background, but that was strangely applied here and not on other popups like the "Add to home" dialog or the home screen folder view. The power menu was at least included in the blurry background club, and it was redesigned with icons and more commonly accepted names for functions. The power menu icons lacked padding, though, appearing cramped and awkward. + +Android 0.9 featured a lock screen, albeit a very basic one. The black and gray lock screen had no on-screen method of unlocking—you needed to hit the hardware menu button. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/3/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/information-technology/2008/08/robotripping-hands-on-with-the-android-sdk-beta/ +[2]:http://www.tat.se/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/04 - The history of Android.md b/sources/talk/The history of Android/04 - The history of Android.md new file mode 100644 index 0000000000..d6b2090654 --- /dev/null +++ b/sources/talk/The history of Android/04 - The history of Android.md @@ -0,0 +1,75 @@ +The history of Android +================================================================================ +![Android 0.9 showing off a horizontal home screen—a feature that wouldn’t make it to later versions.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/horizontal.png) +Android 0.9 showing off a horizontal home screen—a feature that wouldn’t make it to later versions. +Photo by Ron Amadeo + +While it's hard to separate emulator and OS functionality, Android 0.9 was the first version to show off horizontal support. Surprisingly, almost everything supported horizontal mode, and 0.9 even outperforms KitKat in some respects. In KitKat, the home screen and dialer are locked to portrait mode and cannot rotate. Here, though, horizontal support wasn't a problem for either app. (Anyone know how to upgrade a Nexus 5 from KitKat to 0.9?) + +This screenshot also shows off the new volume design used in 0.9. It dumped the old bell-style control that debuted in Milestone 3. It was a massive, screen-filling interface. Eventually, the redesign in Android 4.0 made it a bit smaller, but it remained an issue. (It's extremely annoying to not be able to see a video just because you want to bump up the volume.) + +![The new notification panel, which ditched the application shortcut and added a top section.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/n09c2.png) +The new notification panel, which ditched the application shortcut and added a top section. +Photo by Ron Amadeo + +In just about every Android version, the notification panel gets tweaked, and 0.9 was no exception. The battery indicator was redrawn and changed to a darker shade of green, and the other status bar icons switched to black, white, and gray. The left area of the status bar was brilliantly repurposed to show the date when the panel was open. + +A new top section was added to the notification panel that would display the carrier name ("Android" in the case of the emulator) and a huge button labeled "Clear notifications," which allowed you to finally remove a notification without having to open it. The application button was canned and replaced with the time the notification arrived, and the "latest events" text was swapped out for a simpler "notifications." The empty parts of the panel were now gray instead of white, and the bottom gripper was redesigned. The pictures seem misaligned on the bottom, but that was because Milestone 5's notification panel had white space around the bottom of the panel. Android 0.9 goes all the way to the edge. + +![The browsers of 0.9 and 0.5, showing the new, colorless menus.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser4c2.png) +The browsers of 0.9 and 0.5, showing the new, colorless menus. +Photo by Ron Amadeo + +The browser now loaded an actual website for the home page instead of the locally stored faux-Google of Milestone 5. The WebKit version rose up to 525.10, but it didn't seem to render the modern Google.com search button correctly. All throughout Android 0.9, the menu art from Milestone 5 was trashed and redrawn as gray icons. The difference between these screens is pretty significant, as all the color has been sucked out. + +The "more" list-style menu grew a little taller, and it was now just a plain list with no icons. Android 0.9 gained yet another search method, this time in the browser menu. Along with the home screen widget, home screen menu button, and browser homepage, that made four search boxes. Google never hid what its prime business was, even in its OS. + +![From left to right: Android 0.9’s browser showing off the zoom controls, find-in-page interface, browser windows, and the settings.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/b4.png) +From left to right: Android 0.9’s browser showing off the zoom controls, find-in-page interface, browser windows, and the settings. +Photo by Ron Amadeo + +Android 0.9 brought tons of browser improvements. The zoom controls were thankfully reworked from the crazy vertical controls to simpler plus and minus buttons. Google made the common-sense decision of moving the controls from the center of the screen to the bottom. In these zoom controls, the Android struggle with consistency became apparent. These appeared to be the only round buttons in the OS. + +0.9's new "find in page" feature could highlight words in the page. But overall, the UI was still very rough—the text box was much taller than it should be, and the "done" button with a checkbox was a one-of-a-kind icon for this screen. "Done" was basically a "close" button, which means it should probably have been a right-aligned "X" button. + +The main OS didn't have a settings screen in this build, but the browser finally had its own settings screen. It featured desktop-style options for pop ups, javascript, privacy and cookies, saved passwords and form data. There was even Google Gears integration (remember [Google Gears?][1]). + +![The dialer and in-progress call screen with the menu open.](http://cdn.arstechnica.net/wp-content/uploads/2014/04/revisedcalls.jpg) +The dialer and in-progress call screen with the menu open. +Photo by Ron Amadeo + +Dialer and Contacts in Android 0.9 were actually the same app—the two icons just opened different tabs. Attaching contacts to the dialer like this suggested the primary purpose of a smartphone contact was still for calls, not to text, e-mail, IM, or look up an address. Eventually Google would fully embrace alternative smartphone communications and split up contacts and dialer into separate apps. + +Most of the dialer weirdness in Milestone 5 was wiped out in Android 0.9. The "minimizing" tabs were replaced with a normal set of dark/light tabs. The speech bubble backspace button was changed to a normal backspace icon and integrated into the number display. The number buttons were changed to circles despite everything else in the OS being a rounded rectangle (at least the text was vertically aligned this time). The company also fixed the unbalanced "one," "star," and "pound" keys from Milestone 5. + +Tapping on the number display in Android 0.9 would start a call. This was important, as it was a big step in getting rid of the hardware "Call" and "End" keys on Android devices. The incoming call screen, on the other hand, went in the complete opposite direction and removed the on-screen “Answer" and “Decline" buttons present in Android 0.5. Google would spend the next few versions fumbling around between needing and not needing hardware call buttons on certain screens. With Android 2.0 and the Motorola Droid, though, call buttons were finally made optional. + +All of the options for the in-call screen were hidden under the menu button. Milestone 5 didn't support a proximity sensor, so it took the brute force route of disabling the touch screen during a call. 0.9 was developed for the G1, which had a proximity sensor. Finally, Google didn't have to kill the touch sensor during a call. + +![The individual contacts screen and edit contacts screen for Android 0.9 and 0.5.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/CONTACTS.png) +The individual contacts screen and edit contacts screen for Android 0.9 and 0.5. +Photo by Ron Amadeo + +Milestone 5 had confusing labels for some contact information, like e-mail only being labeled "primary" instead of something like “primary e-mail." Android 0.9 corrected this with horizontal headers for each section. There were now action icons for each contact type on the left side, too. + +The edit contact screen was now a much busier place. There were delete buttons for every field, per-contact ringtones, an on-screen "more info" button for adding fields, a checkbox to send calls directly to voicemail, and "Save and "discard changes" buttons at the bottom of the list. Functionally, it was a big improvement over the old version, but it still looked very messy. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/4/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tat.se/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/05 - The history of Android.md b/sources/talk/The history of Android/05 - The history of Android.md new file mode 100644 index 0000000000..6cf77007e2 --- /dev/null +++ b/sources/talk/The history of Android/05 - The history of Android.md @@ -0,0 +1,88 @@ +The history of Android +================================================================================ +![The main alarm screen, setting an alarm, the calculator, and the calculator advanced functions screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/calclockonpresszx.png) +The main alarm screen, setting an alarm, the calculator, and the calculator advanced functions screen. +Photo by Ron Amadeo + +Android 0.9 gave us the first look at the Alarm and Calculator apps. The alarm app featured a plain analog clock with a scrolling list of alarms on the bottom. Rather than some kind of on/off switch, alarms were set with a checkbox. Alarms could be set to repeat at certain days of the week, and there was a whole list of selectable, unique alarm sounds. + +The calculator was an all-black app with glossy, round buttons. Through the menu, it was possible to bring up an additional panel with advanced functions. Again consistency was not Google’s strong suit. The on-press highlight on the pi key was red—in the rest of Android 0.9, the on-press highlight was usually orange. In fact, everything used in the calculator was 100 percent custom artwork limited to only the calculator. + +![Google Maps with the menu open and the new directions interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/mps092.png) +Google Maps with the menu open and the new directions interface. +Photo by Ron Amadeo + +Google Maps actually worked in Android 0.9—the client could connect to the Google Maps server and pull down tiles. (For our images, remember that Google Maps is cloud based. Even the oldest of clients will still pull down modern map tiles, so ignore the actual map tiles pictured.) The Maps menu got the same all-gray treatment as the browser menu, and the zoom controls were the same as the browser too. The all-important "My Location" button finally arrived, meaning this version of Maps supported GPS location. + +The directions interface was revamped. The weird speech bubbles with misaligned plus buttons were swapped out for a more communicative bookmark icon, the swap field button moved to the left, and the go button was now labeled "Route." + +![The Google Maps layers selector, search history, and the now-broken street view mode.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/maps3.png) +The Google Maps layers selector, search history, and the now-broken street view mode. +Photo by Ron Amadeo + +"Layers" was renamed "Map Mode" and switched to a radio button list. Only one map type was available at a time—you couldn't see traffic on the satellite view, for instance. Buried in the menu was a hastily thrown together search history screen. History seemed like only a proof-of-concept, with giant, blurry search icons that rammed up against search terms on a transparent background. + +Street View used to be a separate app (although it was never made available to the public), but in 0.9 it was integrated into Google Maps as a Map Mode. You could drag the little pegman around, and it would display a popup bubble showing the thumbnail for Street View. Tapping on the thumbnail would launch Street View for that area. At the time, Street View showed nothing other than a scrollable 360 degree image—there was no UI on the interface at all. + +![Our first look at the Google Maps search interface. These shots show the search bar, the results in a list, the results in a map, and a business page.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/manystarbucks.png) +Our first look at the Google Maps search interface. These shots show the search bar, the results in a list, the results in a map, and a business page. +Photo by Ron Amadeo + +Android 0.9 also gave us our first look at the texting app, called "Messaging." Like many early Android designs, Messaging wasn't sure if it should be a dark app or a light app. The first visible screen was the message list, a stark black void of nothingness that looked like it was built on top of the settings interface. After tapping on “New Message" or one of the existing conversations, though, you were taken to a white and blue scrolling list of text messages. The two connected screens couldn’t be more different. + +![The SMS app’s chat window, attachment screen, chat list, and setting.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/sms09.png) +The SMS app’s chat window, attachment screen, chat list, and setting. +Photo by Ron Amadeo + +Messaging supported a range of attachments: you could tack on pictures, audio, or a slideshow to your message. Pictures and audio could be recorded on the fly or pulled from phone storage. Another odd UI choice was that Android already had an established icon for almost everything in the attach menu, but Messaging used all-custom art instead. + +Messaging was one of the first apps to have its own settings screen. Users could request read and delivery reports and set download preferences. + +![The slideshow creator. The right picture shows the menu options.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/slideshow.png) +The slideshow creator. The right picture shows the menu options. +Photo by Ron Amadeo + +The "slideshow" option in attachments would actually launch a fully featured slideshow creator. You could add pictures, choose the slide order, add music, change the duration of each slide, and add text. This was complicated enough to have its own app icon, but amazingly it was buried in the menu of the SMS app. This was one of the few Android apps that was completely unusable in portrait mode—the only way to see the picture and the controls was in landscape. Strangely, it would still rotate to portrait, but the layout just became a train wreck. + +![The Music player’s main navigation page, song list, album list, and “now playing" screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/music09.png) +The Music player’s main navigation page, song list, album list, and “now playing" screen. +Photo by Ron Amadeo + +Android 0.9 was the first to bring a music app to Android. The primary screen was mostly just four big, chunky navigation buttons that would take you to each music view. At the bottom of the app was a "now playing" bar that only contained the track name, artist, and a play/pause button. The song list had only a bare minimum interface, only showing the song name, artist, album and runtime. Album art was the only hope of seeing any color in this app. It was displayed as a tiny thumbnail in the album view and as a big, quarter-screen image in the Now Playing view. + +Like most parts of Android in this era, the interface may not have been much to look at, but the features were there. The Now Playing screen had a button for a playlist queue that allowed you to drag songs around, shuffle, repeat, search, and choose background audio. + +![The “Pictures" all album view, individual album view, and a single picture view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/pictures09.png) +The “Pictures" all album view, individual album view, and a single picture view. +Photo by Ron Amadeo + +The photo gallery was simply called "Pictures." The initial view showed all your albums. The two default ones were "Camera" and a large unified album called "All pictures." The thumbnail for each album was made up of a 2x2 grid of pictures, and every picture got a thick, white frame. + +The individual album view was about what you would expect: a scrolling grid of pictures. You couldn't swipe through individual pictures—large left and right arrows flanking the individual picture had to be tapped on to move through an album. There was no pinch-zoom either; you had to zoom in and out with buttons. + +![Picture editing! These screenshots show an open menu, the “more" menu, cropping, and the settings.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/pics209.png) +Picture editing! These screenshots show an open menu, the “more" menu, cropping, and the settings. +Photo by Ron Amadeo + +"Pictures" looked simple until you hit the menu button and suddenly accessed a myriad of options. Pictures could be cropped, rotated, deleted, or set as a wallpaper or contact icon. Like the browser, all of this was accomplished through a clumsy double-menu system. But again, why do two related menus look completely different? + +Android 0.9 came out a mere two months before the first commercial release of Android. That was just enough time for app developers to make sure their apps worked—and for Google to do some testing and bug squashing before the big release. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/5/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/06 - The history of Android.md b/sources/talk/The history of Android/06 - The history of Android.md new file mode 100644 index 0000000000..72b753a658 --- /dev/null +++ b/sources/talk/The history of Android/06 - The history of Android.md @@ -0,0 +1,73 @@ +The history of Android +================================================================================ +![The T-Mobile G1](http://cdn.arstechnica.net/wp-content/uploads/2014/04/t-mobile_g1.jpg) +The T-Mobile G1 +Photo by T-Mobile + +### Android 1.0—introducing Google Apps and actual hardware ### + +By October 2008, Android 1.0 was ready for launch, and the OS debuted on the [T-Mobile G1][1] (AKA the HTC Dream). The G1 was released into a market dominated by the iPhone 3G and the [Nokia 1680 classic][2]. (Both of those phones went on to tie for the [best selling phone][3] of 2008, selling 35 million units each.) Hard numbers of G1 sales are tough to come by, but T-Mobile announced the device broke the one million units sold barrier in April 2009. It was way behind the competition by any measure. + +The G1 was packing a single-core 528Mhz ARM 11 processor, an Adreno 130 GPU, 192MB of RAM, and a whopping 256MB of storage for the OS and Apps. It had a 3.2-inch, 320x480 display, which was mounted to a sliding mechanism that revealed a full hardware keyboard. So while Android software has certainly come a long way, the hardware has, too. Today, we can get much better specs than this in a watch form factor: the latest [Samsung smart watch][4] has 512MB of RAM and a 1GHz dual-core processor. + +While the iPhone had a minimal amount of buttons, the G1 was the complete opposite, sporting almost every hardware control that was ever invented. It had call and end call buttons, home, back, and menu buttons, a shutter button for the camera, a volume rocker, a trackball, and, of course, about 50 keyboard buttons. Future Android devices would slowly back away from thousand-button interfaces, with nearly every new flagship lessening the number of buttons. + +But for the first time, people saw Android running on actual hardware instead of a frustratingly slow emulator. Android 1.0 didn't have the smoothness, flare, or press coverage of the iPhone. It wasn't as capable as Windows Mobile 6.5. Still, it was a good start. + +![The default app selection of Android 1.0 and 0.9.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/apps.png) +The default app selection of Android 1.0 and 0.9. +Photo by Ron Amadeo + +The core of Android 1.0 didn't look significantly different from the beta version released two months earlier, but the consumer product brought a ton more apps, including the full suite of Google apps. Calendar, Email, Gmail, IM, Market, Settings, Voice Dialer, and YouTube were all new. At the time, music was the dominant media type on smartphones, the king of which was the iTunes music store. Google didn't have an in-house music service of its own, so it tapped Amazon and bundled the Amazon MP3 store. + +The most important addition to Android 1.0 was the debut of Google's store, called "Android Market Beta." While most companies were content with calling their app catalog some variant of "app store"—meaning a store that sold apps and only apps—Google had much wider ambitions. It went with the much more general name of "Android Market." The idea was that the Android Market would not just house apps, but everything you needed for your Android device. + +![The first Android Market client. Screenshots show the main page, “my downloads," an app page, and an app permissions page.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/market.png) +The first Android Market client. Screenshots show the main page, “my downloads," an app page, and an app permissions page. +Photo by [Google][5] + +At the time, the Android Market only offered apps and games, and developers weren't even able to charge for them. Apple's App Store had a four-month head start on the Android Market, but Google's big differentiator was that Android's store was almost completely open. On the iPhone, apps were subject to review by Apple and had to meet design and technical guidelines. Potential apps also weren't allowed to duplicate the stock functionality. On the Android Market, developers were free to do whatever they wanted, including replacing the stock apps. The lack of control would turn out to be a blessing and a curse. It allowed developers to innovate on the existing functionality, but it also meant even the trashiest applications were allowed in. + +Today, this client is another app that can no longer communicate with Google's servers. Luckily, it's one of the few early Android apps [actually documented][6] on the Internet. The main screen provided links to the common areas like Apps, Games, Search, and Downloads, and the top section had horizontally scrolling icons for featured apps. Search results and the "My Downloads" page displayed apps in a scrolling list, showing the name, developers, cost (at this point, always free), and rating. Individual app pages showed a brief description, install count, comments and ratings from users, and the all-important install button. This early Android Market didn’t support pictures, and the only field for developers was a description box with a 500-character limit. This made things like maintaining a changelog very difficult, as the only spot to put it was in the description. + +Right out of the gate, the Android Market showed permissions that an app required before installing. This is something Apple wouldn't get around to implementing until 2012, after an iOS app was caught [uploading entire address books][7] to the cloud without the user's knowledge. The permissions display gave a full rundown of what permissions an app was using, although this version railroaded users into agreeing. There was an “OK" button, but no way to cancel other than the back button. + +![Gmail showing the inbox, the inbox with the menu open. ](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gmail1.01.png) +Gmail showing the inbox, the inbox with the menu open. +Photo by Ron Amadeo + +The next most important app was probably Gmail. Most of the base functionality was here already. Unviewed messages showed up in bold, and labels displayed as colored tags. Individual messages in the Inbox showed the subject, author(s), and number of replies in a conversation. The trademark Gmail star was here—a quick tap would star or unstar something. As usual for early versions of Android, the Menu housed all the buttons on the main inbox view. Once inside a message, though, things got a little more modern, with "reply" and "forward" buttons as permanent fixtures at the bottom of the screen. Individual replies could be expanded and collapsed just by tapping on them. + +The rounded corners, shadows, and bubbly icons gave the whole app a "cartoonish" look, but it was a good start. Android's function-first philosophy was really coming through here: Gmail supported labels, threaded messaging, searching, and push e-mail. + +![Gmail’s label view, compose screen, and settings on Android 1.0.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gmail3.png) +Gmail’s label view, compose screen, and settings on Android 1.0. +Photo by Ron Amadeo + +But if you thought Gmail was ugly, the Email app took it to another level. There was no separate inbox or folder view—everything was mashed into a single screen. The app presented you with a list of folders and tapping on one would expand the contents in-line. Unread messages were denoted with a green line on the left, and that was about it for the e-mail interface. The app supported IMAP and POP3 but not Exchange. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/6/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2008/10/android-g1-review/ +[2]:http://en.wikipedia.org/wiki/Nokia_1680_classic +[3]:http://en.wikipedia.org/wiki/List_of_best-selling_mobile_phones#2008 +[4]:http://arstechnica.com/gadgets/2014/04/review-we-wear-samsungs-galaxy-gear-and-galaxy-fit-so-you-dont-have-to/ +[5]:http://android-developers.blogspot.com/2008/08/android-market-user-driven-content.html +[6]:http://android-developers.blogspot.com/2008/08/android-market-user-driven-content.html +[7]:http://arstechnica.com/gadgets/2012/02/path-addresses-privacy-controversy-but-social-apps-remain-a-risk-to-users/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/07 - The history of Android.md b/sources/talk/The history of Android/07 - The history of Android.md new file mode 100644 index 0000000000..2be62866ad --- /dev/null +++ b/sources/talk/The history of Android/07 - The history of Android.md @@ -0,0 +1,109 @@ +The history of Android +================================================================================ +![Both screens of the Email app. The first two screenshots show the combined label/inbox view, and the last shows a message.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/email2lol.png) +Both screens of the Email app. The first two screenshots show the combined label/inbox view, and the last shows a message. +Photo by Ron Amadeo + +The message view was—surprise!—white. Android's e-mail app has historically been a watered-down version of the Gmail app, and you can see that close connection here. The message and compose views were taken directly from Gmail with almost no modifications. + +![The “IM" applications. Screenshots show the short-lived provider selection screen, the friends list, and a chat.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/IM2.png) +The “IM" applications. Screenshots show the short-lived provider selection screen, the friends list, and a chat. +Photo by Ron Amadeo + +Before Google Hangouts and even before Google Talk, there was "IM"—the only instant messaging client that shipped on Android 1.0. Surprisingly, multiple IM services were supported: users could pick from AIM, Google Talk, Windows Live Messenger, and Yahoo. Remember when OS creators cared about interoperability? + +The friends list was a black background with white speech bubbles for open chats. Presence was indicated with colored circles, and a little Android on the right hand side would indicate that a person was mobile. It's amazing how much more communicative the IM app was than Google Hangouts. Green means the person is using a device they are signed into, yellow means they are signed in but idle, red means they have manually set busy and don't want to be bothered, and gray is offline. Today, Hangouts only shows when a user has the app open or closed. + +The chats interface was clearly based on the Messaging program, and the chat backgrounds were changed from white and blue to white and green. No one changed the color of the blue text entry box, though, so along with the orange highlight effect, this screen used white, green, blue, and orange. + +![YouTube on Android 1.0. The screens show the main page, the main page with the menu open, the categories screen, and the videos screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/yt5000.png) +YouTube on Android 1.0. The screens show the main page, the main page with the menu open, the categories screen, and the videos screen. +Photo by Ron Amadeo + +YouTube might not have been the mobile sensation it is today with the 320p screen and 3G data speeds of the G1, but Google's video service was present and accounted for on Android 1.0. The main screen looked like a tweaked version of the Android Market, with a horizontally scrolling featured section along the top and vertically scrolling categories along the bottom. Some of Google's category choices were pretty strange: what would the difference be between "Most popular" and "Most viewed?" + +In a sign that Google had no idea how big YouTube would eventually become, one of the video categories was "Most recent." Today, with [100 hours of video][1] uploaded to the site every minute, if this section actually worked it would be an unreadable blur of rapidly scrolling videos. + +The menu housed search, favorites, categories, and settings. Settings (not pictured) was the lamest screen ever, housing one option to clear the search history. Categories was equally barren, showing only a black list of text. + +The last screen shows a video, which only supported horizontal mode. The auto-hiding video controls weirdly had rewind and fast forward buttons, even though there was a seek bar. + +![YouTube’s video menu, description page, and comments.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/yt3.png) +YouTube’s video menu, description page, and comments. +Photo by Ron Amadeo + +Additional sections for each video could be brought up by hitting the menu button. Here you could favorite the video, access details, and read comments. All of these screens, like the videos, were locked to horizontal mode. + +"Share" didn't bring up a share dialog yet; it just kicked the link out to a Gmail message. Texting or IMing someone a link wasn't possible. Comments could be read, but you couldn't rate them or post your own. You couldn't rate or like a video either. + +![The camera app’s picture taking interface, menu, and photo review mode.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/camera.png) +The camera app’s picture taking interface, menu, and photo review mode. +Photo by Ron Amadeo + +Real Android on real hardware meant a functional camera app, even if there wasn't much to look at. That black square on the left was the camera interface, which should be showing a viewfinder image, but the SDK screenshot utility can't capture it. The G1 had a hardware camera button (remember those?), so there wasn't a need for an on-screen shutter button. There were no settings for exposure, white balance, or HDR—you could take a picture and that was about it. + +The menu button revealed a meager two options: a way to jump to the Pictures app and Settings screen with two options. The first settings option was whether or not to enable geotagging for pictures, and the second was for a dialog prompt after every capture, which you can see on the right. Also, you could only take pictures—there was no video support yet. + +![The Calendar’s month view, week view with the menu open, day view, and agenda.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/calviews.png) +The Calendar’s month view, week view with the menu open, day view, and agenda. +Photo by Ron Amadeo + +Like most apps of this era, the primary command interface for the calendar was the menu. It was used to switch views, add a new event, navigate to the current day, pick visible calendars, and go to the settings. The menu functioned as a catch-all for every single button. + +The month view couldn't show appointment text. Every date had a bar next to it, and appointments were displayed as green sections in the bar denoting what time of day an appointment was. Week view couldn't show text either—the 320×480 display of the G1 just wasn't dense enough—so you got a white block with a strip of color indicating which calendar it was from. The only views that provided text were the agenda and day views. You could move through dates by swiping—week and day used left and right, and month and agenda used up and down. + +![The main settings page, the Wireless section, and the bottom of the about page.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/settings.png) +The main settings page, the Wireless section, and the bottom of the about page. +Photo by Ron Amadeo + +Android 1.0 finally brought a settings screen to the party. It was a black and white wall of text that was roughly broken down into sections. Down arrows next to each list item confusingly look like they would expand line-in to show more of something, but touching anywhere on the list item would just load the next screen. All the screens were pretty boring and samey looking, but hey, it's a settings screen. + +Any option with an on/off state used a cartoony-looking checkbox. The original checkboxes in Android 1.0 were pretty strange—even when they were "unchecked," they still had a gray check mark in them. Android treated the check mark like a light bulb that would light up when on and be dim when off, but that's not how checkboxes work. We did finally get an "About" page, though. Android 1.0 ran Linux kernel 2.6.25. + +A settings screen means we can finally open the security settings and change lock screens. Android 1.0 only had two styles, the gray square lock screen pictured in the Android 0.9 section, and pattern unlock, which required you to draw a pattern over a grid of 9 dots. A swipe pattern like this was easier to remember and input than a PIN even if it did not add any more security. + +![The Voice Dialer, pattern lock screen, low battery warning, and time picker.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/grabbag.png) +The Voice Dialer, pattern lock screen, low battery warning, and time picker. +Photo by Ron Amadeo + +oice functions arrived in 1.0 with Voice Dialer. This feature hung around in various capacities in AOSP for a while, as it was a simple voice command app for calling numbers and contacts. Voice Dialer was completely unrelated to Google's future voice products, however, and it worked the same way a voice dialer on a dumbphone would work. + +As for a final note, low battery popup would occur when the battery dropped below 15 percent. It was a funny graphic, depicting plugging the wrong end of the power cord into the phone. That wasn't (and still isn't) how phones work, Google. + +Android 1.0 was a great first start, but there were still so many gaps in functionality. Physical keyboards and tons of hardware buttons were mandatory, as Android devices were still not allowed to be sold without a d-pad or trackball. Base smartphone functionality like auto-rotate wasn't here yet, either. Updates for built-in apps weren't possible through the Android Market the way they were today. All the Google Apps were interwoven with the operating system. If Google wanted to update a single app, an update for the entire operating system needed to be pushed out through the carriers. There was still a lot of work to do. + +### Android 1.1—the first truly incremental update ### + +![All of Android 1.1’s new features: Search by voice, the Android Market showing paid app support, Google Latitude, and the new “system updates" option in the settings.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/11.png) +All of Android 1.1’s new features: Search by voice, the Android Market showing paid app support, Google Latitude, and the new “system updates" option in the settings. +Photo by Ron Amadeo + +Four and a half months after Android 1.0, in February 2009, Android got its first public update in Android 1.1. Not much changed in the OS, and just about every new thing Google added with 1.1 has been shut down by now. Google Voice Search was Android's first foray into cloud-powered voice search, and it had its own icon in the app drawer. While the app can't communicate with Google's servers anymore, you can check out how it used to work [on the iPhone][2]. It wasn't yet Voice Actions, but you could speak and the results would go to a simple Google Search. + +Support for paid apps was added to the Android Market, but just like the beta client, this version of the Android Market could no longer connect to the Google Play servers. The most that we could get to work was this sorting screen, which lets you pick between displaying free apps, paid apps, or a mix of both. + +Maps added [Google Latitude][3], a way to share your location with friends. Latitude was shut down in favor of Google+ a few months ago and no longer works. There was an option for it in the Maps menu, but tapping on it just brings up a loading spinner forever. + +Given that system updates come quickly in the Android world—or at least, that was the plan before carriers and OEMs got in the way—Google also added a button to the "About Phone" screen to check for system updates. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/7/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.youtube.com/yt/press/statistics.html +[2]:http://www.youtube.com/watch?v=y3z7Tw1K17A +[3]:http://arstechnica.com/information-technology/2009/02/google-tries-location-based-social-networking-with-latitude/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/08 - The history of Android.md b/sources/talk/The history of Android/08 - The history of Android.md new file mode 100644 index 0000000000..3bd0c3a8c5 --- /dev/null +++ b/sources/talk/The history of Android/08 - The history of Android.md @@ -0,0 +1,128 @@ +The history of Android +================================================================================ +![Android 1.5’s on-screen keyboard showing the suggestion bar while typing, the capital letters keyboard, the number and symbols screen, and an additional key popup.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/kb5.png) +Android 1.5’s on-screen keyboard showing the suggestion bar while typing, the capital letters keyboard, the number and symbols screen, and an additional key popup. +Photo by Ron Amadeo + +### Android 1.5, Cupcake—a virtual keyboard opens up device design ### + +In April 2009, almost three months after the release of 1.1, Android 1.5 was released. It was the first Android version to have a public, marketed code name: Cupcake. From here on out, Android releases would have alphabetical, snack-themed names. + +The most important Cupcake addition was easily the on-screen keyboard. For the first time, it was possible for OEMs to build a slate-style Android device without a thousand hardware keyboard keys and a complicated slide mechanism. + +Android's key labels could switch between uppercase and lowercase, depending on if caps lock was on or not. While it was off by default, there was an option to turn on the suggestion bar, which appeared along the top edge of the keyboard. Keys with ellipses in the popup, like the "u," above, could be held down to input [diacritical marks][1], which would display in a popup. The keyboard could switch to numbers and alternate characters, and long pressing on the period key would bring up even more punctuation. + +![Composite images of the app lineup in 1.5 and 1.1 and the notification panels from each version.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/abweave.png) +Composite images of the app lineup in 1.5 and 1.1 and the notification panels from each version. +Photo by Ron Amadeo + +New icons were added for the new "Camcorder" functionality, and Google Talk was broken out from IM into its own separate app. The Amazon MP3 and Browser icons were redesigned, too. The Amazon MP3 icon was changed primarily because Amazon was planning on launching other Android apps soon, and the "A" icon was far too generic. The browser icon was easily the worst in Android 1.1, so it was changed and no longer resembled a desktop OS dialog box. The last app drawer change was to "Pictures," which was renamed to "Gallery." + +The notification panel was redesigned again as well. The panel background got a weave texture, and the gradients on notifications were smoothed out. Android 1.5 had a lot of little design changes to core OS pieces that affected all apps. On the "Clear notifications" button, you could see the new system-wide button style, which had a gradient, a thinner outline, and less shadowing than the old version. + +![The “Add to Home" dialog boxes in 1.5 and 1.1.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/widget.png) +The “Add to Home" dialog boxes in 1.5 and 1.1. +Photo by Ron Amadeo + +Third-party widgets were another headline feature of Cupcake, and they still remain one of Android's defining features. Developers could bundle a home screen widget along with their apps that would either control or display information from that app. Google showed off a few new widgets of its own, too, with the Calendar and Music apps. + +![Left: a screenshot of the calendar widget, music widget, and a row of live folders. Center: the folder list. Right: an open view of the “contacts with phone numbers" live folder.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/folders-and-widgets-and-stuff.png) +Left: a screenshot of the calendar widget, music widget, and a row of live folders. Center: the folder list. Right: an open view of the “contacts with phone numbers" live folder. +Photo by Ron Amadeo + +On the left screenshot, above, you can see the new Calendar and Music icons. The Calendar widget could only show a single event for the day, and tapping it would open the calendar. It wouldn't let you choose what calendars to display, and widgets weren't resizable—it only ever looked like this. The music widget was blue—despite the music app not having a drop of blue in it—and showed the song and artist name, along with play and next buttons. + +Also in the left shot, the first three folders on the bottom row were a new feature called "Live Folders." These were accessible under the new top-level "Folders" section in the "Add to Home" menu, which you can see in the center picture. Live Folders showed the content of an application without having to open that application. The ones that came with Cupcake were all contacts-related, showing all of the user's contacts, contacts with phone numbers, or starred contacts. + +Rather than icons, Live Folders used a simple list view that popped up over the home screen. Contacts were just for starters, Live Folders was a whole API that developers could use. Google demoed a folder of books from the Google Books app, and it was possible to have an RSS feed or top stories from a website as a live folder. Live folders were one of the few Android ideas that didn't work out, and the feature was shut down in Honeycomb. + +![The camcorder and camera UI, with on-screen shutter buttons.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/device-2013-12-26-11016071.png) +The camcorder and camera UI, with on-screen shutter buttons. +Photo by Ron Amadeo + +If you couldn't tell from the new "Camcorder" icon, video recording was added to Android in 1.5. The two icons, camera and camcorder, were actually the same app, and you could jump between the two of them with an option in the menu labeled "Switch to camera" and "Switch to camcorder." Video quality on the T-Mobile G1 was not that great. A test video on "High" quality output; a .3GP video file with a resolution of 352 x 288 and a lagtastic frame rate of 4 FPS. + +Along with the new video feature, the Camera app saw a few much-needed UI tweaks. A thumbnail in the top left showed the last picture that was taken, and tapping on it would jump to the camera roll in the Gallery. The circle icon on the top right of both screens was an on-screen shutter button, meaning that, post 1.5, Android devices no longer required a hardware camera button. + +This interface was actually much closer to the Android 4.2 design than many of the subsequent camera apps. While later designs would add silly leather textures and more controls to the camera, Android went back to basics with later designs, and that 4.2 redesign shares a lot in common with this. What was a primitive layout in Android 1.5 became a minimal, full-screen viewfinder in Android 4.2. + +![Google Talk running in the Google Talk app versus Google Talk running in the IM app.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gtalk-im.png) +Google Talk running in the Google Talk app versus Google Talk running in the IM app. +Photo by Ron Amadeo + +Android 1.0's IM app was used for Google Talk functionality, but in Android 1.5, Google Talk was broken off into its own app. Support for it in the IM app was removed. Google Talk (above, left) was clearly based on the IM app (above, right), but as soon as the stand alone app was released in 1.5, work on the IM app was abandoned. + +The new Google Talk app had a redesigned status bar, presence lights on the right side, and a redesigned mobile icon, which was a gray monogram of the bugdroid. The blue compose bar switched to a more sensible gray in the chat view, and the message backgrounds changed from light green and white to light green and green. With a stand alone app, Google could add Gtalk-only features like chatting "off the record," which would stop Gmail from saving a copy of every chat. + +![The calendar in Android 1.5 got a lot lighter.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/cal15.png) +The calendar in Android 1.5 got a lot lighter. +Photo by Ron Amadeo + +The calendar dumped the ugly white squares on a black background and changed to an all-light app. The background of everything became white, and day-of-the-week headers were changed to blue. The individual appointment blocks switched from a small color strip to entirely colored, and the text changed to white. This will be the last time the calendar is touched for a long time. + +![From left to right: the browser’s new controls, the zoomed-out magnifying view, and highlighting text for copy/pasting.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser-craziness.png) +From left to right: the browser’s new controls, the zoomed-out magnifying view, and highlighting text for copy/pasting. +Photo by Ron Amadeo + +Android 1.5 changed the zoom controls system-wide. Instead of two big circles, the zoom controls became two halves of a rectangle with rounded corners. These new controls applied to the browser, Google Maps, and the gallery. + +The browser had lots of work done on the zoom functionality. After zooming in or out, the "1x" button would return you to the standard zoom level. The button in the bottom right corner would zoom all the way out of the page and display a magnifying rectangle over the page, which you can see in the center image. Grabbing the rectangle and releasing it would zoom that part of the page to a "1x" view. Android didn't have acceleratable scrolling, which made the max scrolling speed pretty slow—this was Google's solution for navigating a long webpage. + +Another addition to the browser was the ability to copy text on a webpage—previously you could only copy text from an input box. Selecting "copy text" from the menu would activate highlight mode, and dragging your finger over text in a Web page would highlight it. The G1’s trackball was very handy for super-precise movement like this and could control the mouse cursor. There were no draggable handles, and as soon as you lifted your finger off the screen, Android would copy the text and remove the highlight, so you had to be ridiculously precise to get any use out of the copy feature. + +The browser in Android 1.5 would crash a lot—much more than in previous versions. Just viewing Ars Technica in desktop mode would crash the browser, as did many other sites. + +![](http://cdn.arstechnica.net/wp-content/uploads/2013/12/lockscreen.png) +Photo by Ron Amadeo + +The default lock screen and pattern lock screen both changed their empty, black backgrounds to the same wallpaper as the home screen. + +The lighter background on the pattern unlock screen revealed the sloppy job Google did on the alignment of the circles. The white circles were nowhere near centered inside the black circles—basic alignment issues like this continued to be a frequent problem for Android in these early days. + +![The YouTube uploader, contacts thumbnails, the auto rotate setting, and the new music design.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/TWEAKS2.png) +The YouTube uploader, contacts thumbnails, the auto rotate setting, and the new music design. +Photo by Ron Amadeo + +![The HTC Magic, the second Android device, and the first without a hardware keyboard.](http://cdn.arstechnica.net/wp-content/uploads/2014/04/htc-magic-white.jpg) +The HTC Magic, the second Android device, and the first without a hardware keyboard. +Photo by HTC + +> #### Google Maps is the first built-in app to hit the Android Market #### +> +> While this article is (mostly) organizing app updates by Android version for simplicity's sake, there are a few outliers that deserve special recognition. On June 14, 2009, Google Maps was the first packed-in Android app to be updated via the Android Market. While every other app required a full system release to be updated, Maps was broken out of the OS, free to receive out-of-cycle updates whenever a new feature was ready. +> +> Moving apps out of the core OS and onto the Android Market would be a big focus for Google going forward. In general, OTA updates were a big initiative—they required the cooperation of the OEM and the carrier, both of which could drag their feet. Updates also didn’t make it to every device. Today, the Android Market gives Google a direct line to every Android phone with no such interference from outside parties. +> +> These were problems for a later date, though. In 2009, Google had only two unskinned phones to support, and the early Android carriers were seemingly responsive to Google’s update needs. This early move would prove to be a very proactive decision on Google’s part. At first, the company went this route only with its most important properties—Maps and Gmail—but later it would port the majority of the packed-in apps to the Android Market. Later initiatives like Google Play Services even brought app APIs out of the OS and into Google’s store. +> +> As for the new Maps at the time, it gained a new directions interface, along with the ability to give mass transit and walking directions. For now, directions were given on a plain black list—turn-by-turn-style navigation would come later. +> +> June 2009 was also the time Apple launched the third iPhone—the 3GS—and the third version of iPhone OS. iPhone OS 3's headline features were mostly catch-up items like copy/paste and MMS support. Apple's hardware was still nicer, and the software was smoother, more cohesive, and better designed. Google's insane pace of development was putting it on a path to parity though. iPhone OS 2 launched just before the Milestone 5 build of Android 0.5, which makes five Android releases in the span of the yearly iOS release cycle. + +Android 1.5 gave the YouTube app the ability to upload videos to the site. Uploading was accomplished by sharing a video from the Gallery to the YouTube app, or by opening a video directly from the YouTube app. This would bring up an upload screen, where the user would set things like the video title, tags, and access rights. Photos could be uploaded to Picasa, Google's original photo site, in a similar fashion. + +There were little tweaks all over the OS. Favorite contacts now showed a picture in the contacts list (although regular contacts were still pictureless). The third picture shows the new auto-rotate option in the settings—this was also the first version to support automatically switching orientations based on readings from the devices’ internal sensors. + +Cupcake did a great job of improving Android, particularly in terms of hardware options. The on-screen keyboard meant a hardware keyboard was no longer necessary. Auto rotate brought the OS a little closer to the iPhone, and an on-screen camera shutter button meant that hardware camera buttons were now optional, too. Shortly after the release of 1.5, a second Android device came out that would show the future direction of the platform: the HTC Magic. The Magic (right) didn’t have a hardware keyboard or a camera button. It was a solid, slider-less slate device that relied on Android’s on-screen buttons to get the job done. + +Android flagships started with the most buttons possible—a hardware qwerty phone—and slowly began whittling the button count down over time. While the Magic was a big step, eliminating an entire keyboard and a camera button, it still used start and end call buttons, four system buttons, and a trackball. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/8/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://en.wikipedia.org/wiki/Diacritic +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/09 - The history of Android.md b/sources/talk/The history of Android/09 - The history of Android.md new file mode 100644 index 0000000000..c629e9cc75 --- /dev/null +++ b/sources/talk/The history of Android/09 - The history of Android.md @@ -0,0 +1,76 @@ +The history of Android +================================================================================ +![The new Android Market—less black, more white and green.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/marketab2.png) +The new Android Market—less black, more white and green. +Photo by Ron Amadeo + +### Android 1.6, Donut—CDMA support brings Android to any carrier ### + +The fourth version of Android—1.6, Donut—launched in September 2009, five months after Cupcake hit the market. Despite the myriad of updates, Google was still adding basic functionality to Android. Donut brought support for different screen sizes, CDMA support, and a text-to-speech engine. + +Android 1.6 is a great example of an update that, today, would have little reason to exist as a separate point update. The major improvements basically boiled down to new versions of the Android Market, camera, and YouTube. In the years since, apps like this have been broken out of the OS and can be updated by Google at any time. Before all this modularization work, though, even seemingly minor app updates like this required a full OS update. + +The other big improvement—CDMA support—demonstrated that, despite the version number, Google was still busy getting basic functionality into Android. + +The Android Market was christened as version "1.6" and got a complete overhaul. The original all-black design was tossed in favor of a white app with green highlights—the Android designers were clearly using the Android mascot for inspiration. + +The new market was definitely a new style of app design for Google. The top fifth of the screen was dedicated to a banner logo announcing that this app is indeed the “Android Market." Below the banner were buttons for Apps, Games, and Downloads, and a search button was placed to the right of the banner. Below the navigation was a thumbnail display of featured apps, which could be swiped through. Below that were even more featured apps in a vertically scrolling list. + +![The new Market design, showing an app page with screenshots, the apps categories page, an app top list, and the downloads section.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/marketpages.png) +The new Market design, showing an app page with screenshots, the apps categories page, an app top list, and the downloads section. +Photo by Ron Amadeo + +The biggest addition to the market was the inclusion of app screenshots. Android users could finally see what an app looked like before installing it—previously they only had a brief description and user reviews to go on. Your personal star review and comment was given top billing, followed by the description, and then finally the screenshots. Viewing the screenshots would often require a bit of scrolling—if you were looking for a well-designed app, it was a lot of work. + +Tapping on App or Games would bring up a category list, which you can see in the second picture, above. After picking a category, more navigation was shown at the top of the screen, where users could see "Top paid," "Top free," or "Just in" apps within a category. While these sorta looked like buttons that would load a new screen, they were really just a clunky tabbed interface. To denote which "tab" was currently active, there were little green lights next to each button. The nicest part of this interface was that the list of apps would scroll infinitely—once you hit the bottom, more apps would load in. This made it easy to look through the list of apps, but opening any app and coming back would lose your spot in the list—you’d be kicked to the top. The downloads section would do something the new Google Play Store still can't do: simply display a list of your purchased apps. + +While the new Market definitely looked better than the old market, cohesion across apps was getting worse and worse. It seemed like each app was made by a different group with no communication about how all Android apps should look. + +![The Camera viewfinder, photo review screen, and menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/device-2013-12-27-145949.png) +The Camera viewfinder, photo review screen, and menu. +Photo by Ron Amadeo + +For instance, the camera app was changed from a full-screen, minimal design to a boxed viewfinder with controls on the side. With the new camera app, Google tried its hand at skeuomorphism, wrapping the whole app in a leather texture roughly replicating the exterior of a classic camera. Switching between the camera and camcorder was done with a literal switch, and below that was the on-screen shutter button. + +Tapping on the previous picture thumbnail no longer launched the gallery, but a custom image viewer that was built in to the camera app. When viewing a picture the leather control area changed the camera controls to picture controls, where you could delete, share a picture, or set the picture as a wallpaper or contact image. There was still no swiping between pictures—that was still done with arrows on either side of the image. + +This second picture shows one of the first examples of designers reducing dependence on the menu button, which the Android team slowly started to realize functioned terribly for discoverability. Many app designers (including those within Google) used the menu as a dumping ground for all sorts of controls and navigational elements. Most users didn't think to hit the menu button, though, and never saw the commands. + +A common theme for future versions of Android would be moving things out of the menu and on to the main screen, making the whole OS more user-friendly. The menu button was completely killed in Android 4.0, and it's only supported in Android for legacy apps. + +![The battery and TTS settings.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/settings1.png) +The battery and TTS settings. +Photo by Ron Amadeo + +Donut was the first Android version to keep track of battery usage. Buried in the "About phone" menu was an option called "Battery use," which would display battery usage by app and hardware function as a percentage. Tapping on an item would bring up a separate page with relevant stats. Hardware items had buttons to jump directly to their settings, so for instance, you could change the display timeout if you felt the display battery usage was too high. + +Android 1.6 was also the first version to support text-to-speech (TTS) engines, meaning the OS and apps would be able to talk back to you in a robot voice. The “Speech synthesizer controls" would allow you to set the language, choose the speech rate, and (critically) install the voice data from the Android market. Today, Google has its own TTS engine that ships with Android, but it seems Donut was hard coded to accept one specific TTS engine made by SVOX. But SVOX’s engine didn’t ship with Donut, so tapping on “install voice data" linked to an app in the Android Market. (In the years since Donut’s heyday, the app has been taken down. It seems Android 1.6 will never speak again.) + +![From left to right: new widgets, the search bar UI, the new notification clear button, and the new gallery controls.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/grabbag16.png) +From left to right: new widgets, the search bar UI, the new notification clear button, and the new gallery controls. +Photo by Ron Amadeo + +There was more work on the widget front. Donut brought an entirely new widget called "Power control." This comprised on/off switches for common power-hungry features: Wi-FI, Bluetooth, GPS, Sync (to Google's servers), and brightness. + +The search widget was redesigned to be much slimmer looking, and it had an embedded microphone button for voice search. It now had some actual UI to it and did find-as-you-type live searching, which searched not only the Internet, but your applications and history too. + +The "Clear notifications" button has shrunk down considerably and lost the "notifications" text. In later Android versions it would be reduced to just a square button. The Gallery continues the trend of taking functionality out of the menu and putting it in front of the user—the individual picture view gained buttons for "Set as," "Share," and "Delete." + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/9/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/10 - The history of Android.md b/sources/talk/The history of Android/10 - The history of Android.md new file mode 100644 index 0000000000..f01a0a0f7f --- /dev/null +++ b/sources/talk/The history of Android/10 - The history of Android.md @@ -0,0 +1,88 @@ +The history of Android +================================================================================ + +注:youtube视频地址 + + +### Android 2.0, Éclair‎—blowing up the GPS industry ### + +Forty-one days—that was how much time passed between Android 1.6 and 2.0. The first big version number bump for Android launched in October 2009 [on the Motorola Droid][1], the first "second generation" Android device. The Droid offered huge hardware upgrades over the G1, starting with the massive (at the time) 3.7 inch, 854×480 LCD. It brought a lot more power, too: a (still single-core) 600Mhz TI OMAP Cortex A8 with 256MB of RAM. + +![The Motorola Droid stares into your soul.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/2181.jpg) +The Motorola Droid stares into your soul. + +The most important part of the Droid, though, was the large advertising campaign around it. The Droid was the flagship device for Verizon Wireless in the US, and with that title came a ton of ad money from America's biggest carrier. Verizon licensed the word "droid" from Lucasfilm and started up the ["Droid Does" campaign][2]—a shouty, explosion-filled set of commercials that positioned the device (and by extension, Android) as the violent, ass-kicking alternative to the iPhone. The press frequently declared the T-Mobile G1 as trying to be an “iPhone Killer," but the Droid came out and owned it. + +Like the G1, the Droid had a hardware keyboard that slid out from the side of the phone. The trackball was gone, but some kind of d-pad was still mandatory, so Motorola placed a five-way d-pad on the right side of the keyboard. On the front, the Droid switched from hardware buttons to capacitive touch buttons, which were just paint on the glass touchscreen. Android 2.0 also finally allowed devices to do away with the “Call" and “End" buttons. So together with the demotion of the d-pad to the keyboard tray, the front buttons could all fit in a nice, neat strip. The result of all this streamlining was the best-looking Android device yet. The T-Mobile G1 looked like a Fisher-Price toy, but the Motorola Droid looked like an industrial tool that you could cut someone with. + +![The lock and home screens from 2.0 and 1.6.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/intro202.png) +The lock and home screens from 2.0 and 1.6. +Photo by Ron Amadeo + +Some of Verizon's grungy ad campaign leaked over to the software, where the default wallpaper was changed from a calm, watery vista to a picture of dirty concrete. The boot animation used a pulsing, red, Hal 9000 eyeball and the default notification tone shouted "[DRRRRROOOOIIIIDDDD][3]" every time you received an e-mail. Éclair was Android’s angsty teenager phase. + +One of the first things Android 2.0 presented to the user was a new lock screen. Slide-to-unlock was patented by Apple, so Google went with a rotary-phone-inspired arc unlock gesture. Putting your finger on the lock icon and sliding right would unlock the device, and sliding left from the volume icon would silence the phone. A thumb naturally moves in an arc, so this felt like an even more natural gesture than sliding in a straight line. + +The default homescreen layout scrapped the redundant analog clock widget and introduced what is now an Android staple: a search bar at the top of the home screen. SMS Messaging and the Android Market were also given top billing in the new layout. The app drawer tab was given a sharp redesign, too. + +![The app drawers and pictures of the “Add to Home" menus.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/icons.png) +The app drawers and pictures of the “Add to Home" menus. +Photo by Ron Amadeo + +Android was developed at such a breakneck pace in the early days that the Android Team could never really plan for future devices when making interface art. The Motorola Droid—with its 854×480 LCD—was a huge bump up in resolution over the 320×480 G1-era devices. Nearly everything needed to be redrawn. Starting from scratch with interface art would pretty much be the main theme of Android 2.0. + +Google took this opportunity to redesign almost every icon in Android, going from a cartoony look with an isometric perspective to straight-on icons done in a more serious style. The only set of icons that weren't redrawn were the status bar icons, which now look very out of place compared to the rest of the OS. These icons would hang around from Android 0.9 until 2.3. + +There were a few changes to the app lineup as well. Camcorder was merged into the camera, the IM app was killed, and two new Google-made apps were added: Car Home, a launcher with big buttons designed for use while driving, and Corporate Calendar, which is identical to the regular calendar except it supports Exchange instead of Google Calendar. Weirdly, Google also included two third-party apps out of the box: Facebook and Verizon's Visual VM app. (Neither works today.) The second set of pictures displays the “Add to Home screen" menu, and it received all new art, too. + +![A Places page, showing the “Navigate" option, the Navigation disclaimer, the actual Navigation screen, and the traffic info screen.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/nav2.png) +A Places page, showing the “Navigate" option, the Navigation disclaimer, the actual Navigation screen, and the traffic info screen. +Photo by Ron Amadeo + +Beyond a redesign, the clear headline feature of Android 2.0 was Google Maps Navigation. Google updated Maps to allow for free turn-by-turn navigation, complete with a point of interest search and text to speech, which could read the names of streets aloud just like a standalone GPS unit. Turning GPS navigation from a separate product into a free smartphone feature pretty much [destroyed][4] the standalone GPS market overnight. TomTom’s stock dropped almost 40 percent during the week of Android 2.0’s launch. + +But navigation was pretty hard to get to at first. You had to open the search box, type in a place or address, and tap on the search result. Next, after tapping on the "Navigate" button, Google showed a warning stating that Navigation was in beta and should not be trusted. After tapping on "accept," you could jump in a car, and a harsh-sounding robot voice would guide you to your destination. Hidden behind the menu button was an option to check out the traffic and accidents for the entire route. This design of Navigation hung around forever. Even when the main Google Maps interface was updated in Android 4.0, the Android 2.0 stylings in the Navigation section hung around until almost Android 4.3. + +Maps would also show a route overview, which contained traffic data for your route. At first it was just licensed by the usual traffic data provider, but later, Google would use information from Android and iOS phones running Google Maps to [crowd source traffic data][5]. It was the first step in Google's dominance of the mobile map game. After all, real-time traffic monitoring is really just a matter of how many points of data you have. Today, with hundreds of millions of Google Maps users across iOS and Android, Google has become the best provider of traffic data in the world. + +With Maps Navigation, Android finally found its killer app. Google was offering something no one else could. There was finally an answer to the "Why should I buy this over an iPhone?" question. Google Maps didn't require PC-based updating like many GPS units did, either. It was always up-to-date thanks to the cloud, and all of those updates were free. The only downside was that you needed an Internet connection to use Google Maps. + +As was greatly publicized during the [Apple Maps fiasco][6], accurate maps have become one of the most important features of a smartphone, even if no one really appreciates them when they work. Mapping the world is really only solvable with tons of person power, and today, Google’s “Geo" division is the largest in the company with more than [7,000 employees][7]. For most of these people, their job is to literally drive down every road in the world with the company’s camera-filled Street View cars. After eight years of data collection, Google has more than [five million miles][8] of 360-degree Street View imagery, and Google Maps is one of the biggest, most untouchable pillars of the company. + +![The Car Home screen, and, because we have room, a horizontal version of Navigation.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/carhome1.png) +The Car Home screen, and, because we have room, a horizontal version of Navigation. +Photo by Ron Amadeo + +Along with Google Maps Navigation came "Car Home," a large-buttoned home screen designed to help you use your phone while driving. It wasn't customizable, and each button was just a shortcut to a standard app. The Motorola Droid and its official [car dock accessory][9] had special magnets that would automatically trigger Car Home. While docked, pressing the hardware home button on the Droid would open Car Home instead of the normal home screen, and an on-screen home button led to the normal home screen. + +Car Home, while useful, didn’t last long—it was cut in Android 3.0 and never came back. GPS systems are almost entirely used in cars while driving, but encouraging users to do so with options like “search," which would bring up a keyboard, is something that Google’s lawyers probably weren’t very fond of. With [Apple’s CarPlay][10] and Google’s [Open Automotive Alliance][11], car computers are seeing a resurgence these days. This time, though, there is more of a focus on safety, and government organizations like the National Highway Traffic Safety Administration are on board to help out. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/10/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2009/12/review-of-the-motorola-droid/ +[2]:http://www.youtube.com/watch?v=e52TSXwj774 +[3]:http://www.youtube.com/watch?v=UBL47tHrvMA +[4]:http://techcrunch.com/2009/10/28/googles-new-mobile-app-cuts-gps-nav-companies-at-the-knees/ +[5]:http://googleblog.blogspot.com/2009/08/bright-side-of-sitting-in-traffic.html +[6]:http://arstechnica.com/apple/2012/09/apple-ceo-tim-cook-apologizes-for-ios-6-maps-promises-improvements/ +[7]:http://www.businessinsider.com/apple-has-7000-fewer-people-working-on-maps-than-google-2012-9 +[8]:https://developers.google.com/events/io/sessions/383278298 +[9]:http://www.amazon.com/Motorola-Generation-Vehicle-Charger-Packaging/dp/B002Y3BYQA +[10]:http://arstechnica.com/apple/2014/03/ios-in-the-car-becomes-carplay-coming-to-select-dashboards-this-year/ +[11]:http://arstechnica.com/information-technology/2014/01/open-automotive-alliance-aims-to-bring-android-inside-the-car/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/11 - The history of Android.md b/sources/talk/The history of Android/11 - The history of Android.md new file mode 100644 index 0000000000..94a9e762e8 --- /dev/null +++ b/sources/talk/The history of Android/11 - The history of Android.md @@ -0,0 +1,85 @@ +The history of Android +================================================================================ +![The redesigned Dialer and Contacts pages.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/dialercontacts.png) +The redesigned Dialer and Contacts pages. +Photo by Ron Amadeo + +The rounded tabs in the contacts/dialer app were changed to a sharper, more mature-looking design. The dialer changed its name to "Phone" and the dial pad buttons changed from circles to rounded rectangles. Buttons for voicemail, call, and delete were placed at the bottom. This screen is a great example of Android’s lack of design consistency in the pre-3.0 days. Just on this screen, the tabs used sharp-cornered rectangles, the dial pad used rounded rectangles, and the sides of the bottom buttons were complete circles. It was a grab bag of UI widgets where no one ever tried to make anything match anything else. + +One of the new features in Android 2.0 was "Quick Contacts," which took the form of contact thumbnails that were added all over the OS. Tapping on them would bring up a list of shortcuts to contact that person through other apps. This didn't make as much sense in the contacts app, but in something like Google Talk, being able to tap on the contact thumbnail and call the person was very handy. + +![](http://cdn.arstechnica.net/wp-content/uploads/2014/01/calls.png) +Photo by Ron Amadeo + +Android 2.0 was finally equipped with all the on-screen buttons needed to answer and hang up a call without needing a hardware button, and the Droid took advantage of this and removed the now-redundant buttons from its design. Android’s solution to accept or reject calls was these left and right pull tabs. They work a lot like slide-to-unlock (and would later be used for slide-to-unlock)—a slide from the green button to the right would answer, and a slide from the red button to the left would reject the call. Once inside a call, it looked a lot like Android 1.6. All the options were still hidden behind the menu button. + +Someone completely phoned-in the art for the dialpad drawer. Instead of redrawing the number "5" button from Android 1.6, they just dropped in bold text that said "Dialpad" and called it a day. + +![The Calculator and Browser.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/calcubrowser.png) +The Calculator and Browser. +Photo by Ron Amadeo + +The calculator was revamped for the first time since its introduction in Android 0.9. The black glass balls were replaced with gradiented blue and black buttons. The crazy red on-press highlight of the old calculator was replaced with a more normal looking white outline. + +The browser's tiny website name bar grew into a full, functional address bar, along with a button for bookmarks. To save on screen real estate, the address bar was attached to the page, so the bar scrolled up with the rest of the page and left you with a full screen for reading. Android 1.6's unique magnifying rectangle zoom control and its associated buttons were tossed in favor of a much simpler double-tab-to-zoom gesture, and the browser could once again render arstechnica.com without crashing. There still wasn't pinch zoom. + +![The camera with the settings drawer open, the flash settings, and the menu over top of the photo review screen.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/cam2-these-are-settigns.jpg) +The camera with the settings drawer open, the flash settings, and the menu over top of the photo review screen. +Photo by Ron Amadeo + +The camera app gained an entire drawer on the left side, which opened to reveal a ton of settings. The Motorola Droid was one of the first Android phones with an LED flash, so there was a setting for flash control, along with settings like scene mode, white balance, effects, picture size, and storage location (SD or Internal). + +On the photo review screen, Google pared down the menu button options. They were no longer redundant when compared to the on-screen options. With the extra room in the menu, all the options fit in the menu bar without needing a "more" button. + +![The “accounts" page of the e-mail app, the new combined inbox, the account & sync page from the system settings, and the auto brightness setting. ](http://cdn.arstechnica.net/wp-content/uploads/2014/02/emailacc2ountsetc.png) +The “accounts" page of the e-mail app, the new combined inbox, the account & sync page from the system settings, and the auto brightness setting. +Photo by Ron Amadeo + +The e-mail app got a big functionality boost. The most important of which is that it finally supported Microsoft Exchange. The Android 2.0 version of Email finally separated the inbox and folder views instead of using the messy mashed-together view introduced in Android 1.0. Email even had a unified inbox that would weave all your messages together from different accounts. + +The inbox view put the generic Email app on even ground with the Gmail app. Combined inbox even trumped Gmail's functionality, which was an extremely rare occurrence. Email still felt like the unwanted stepchild to Gmail, though. It used the Gmail interface to view messages, which meant the inbox and folders used a black theme, and the message view oddly used a light theme. + +The bundled Facebook app had an awesome account sync feature, which would download contact pictures and information from the social network and seamlessly integrate it into the contacts app. Later down the road when Facebook and Google stopped being friends, [Google removed this feature][1]. The company said it didn't like the idea of sharing information with Facebook when Facebook wouldn't share information back, thus a better user experience lost out to company politics. + +(Sadly, we couldn't show off the Facebook app because it is yet another client that died at the hands of OAuth updates. It's no longer possible to sign in from a client this old.) + +The last picture shows the auto brightness control, which Android 2.0 was the first version to support. The Droid was equipped with an ambient light sensor, and tapping on the checkbox would make the brightness slider disappear and allow the device to automatically control the screen brightness. + +As the name would imply, Android 2.0 was Google's biggest update to date. Motorola and Verizon brought Android a slick-looking device with tons of ad dollars behind it, and for a time, “Droid" became a household name. + +### The Nexus One—enter the Google Phone ### + +![](http://cdn.arstechnica.net/wp-content/uploads/2014/03/nexus_4_lineup.jpg) + +In January 2010, the first Nexus device launched, appropriately called the "[Nexus One][2]". The device was a huge milestone for Google. It was the first phone designed and branded by the company, and Google planned to sell the device directly to consumers. The HTC-manufactured Nexus One had a 1GHz, single-core Qualcomm Snapdragon S1 SoC, 512MB of RAM, 512MB of storage, and a 3.7-inch AMOLED display. + +The Nexus One was meant to be a pure Android experience free of carrier meddling and crapware. Google directly controlled the updates. It was able to push software out to users as soon as it was done, rather than having to be approved by carriers, who slowed the process down and were not always eager to improve a phone customers already paid for. + +Google sold the Nexus One [directly over the Web][3], unlocked, contract-free, and at the full retail price of $529.99. While the Nexus One was also sold at T-Mobile stores on-contract for $179.99, Google wanted to change the way the cell phone industry worked in America with its online store. The idea was to pick the phone first and the carrier second, breaking the control the wireless oligarchy had over hardware in the United States. + +Google's retail revolution didn't work out though, and six months after the opening on the online phone store, Google shut the service down. Google cited the primary problem as low sales. In 2010, Internet shopping wasn't the commonplace thing it is today, and consumers weren't ready to spend $530 on a device they couldn’t first hold in their hands. The high price was also a limiting factor; smartphone shoppers were more used to paying $200 up front for devices and agreeing to a two-year contract. There was also the issue of the Motorola Droid, which came out only three months earlier and was not significantly slower. With the Droid’s huge marketing campaign and "iPhone Killer" hype, it already captured much of the same Android enthusiast market that the Nexus One was gunning for. + +While the Nexus One online sales experiment could be considered a failure, Google learned a lot. In 2012, it [relaunched its online store][4] as the "Devices" section on Google Play. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/11/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://techcrunch.com/2011/02/22/google-android-facebook-contacts/ +[2]:http://arstechnica.com/gadgets/2010/01/nexus-one-review/ +[3]:http://arstechnica.com/gadgets/2010/01/googles-big-news-today-was-not-a-phone-but-a-url/ +[4]:http://arstechnica.com/gadgets/2012/04/unlocked-samsung-galaxy-nexus-can-now-be-purchased-from-google/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/12 - The history of Android.md b/sources/talk/The history of Android/12 - The history of Android.md new file mode 100644 index 0000000000..6f7058c56a --- /dev/null +++ b/sources/talk/The history of Android/12 - The history of Android.md @@ -0,0 +1,98 @@ +The history of Android +================================================================================ +### Android 2.1—the discovery (and abuse) of animations ### + +Android 2.1 came out with the launch of the Nexus One, which was only three months after the release of 2.0. The new OS wasn't a huge release, so it still kept the codename "Éclair." Android development was chugging along at an unheard-of pace, with Google averaging a new OS release every two-and-a-half months over the last 15 months. + +Thanks mostly to the marketing efforts of Verizon and the "Droid" line of phones, Android was gaining in popularity. The OS was still considered ugly, though, and while the Android engineers at the time seemed to have almost no formal design training, in Android 2.1 they tried to spruce things up a bit by slathering on heavy-handed animation effects wherever they could. The result was an OS that seemed to be desperately trying to prove that it could do animation effects. Many of the new additions felt more like tech demos than user-experience improvements. + +![The lock and home screens from Android 2.1 and 2.0.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/21.png) +The lock and home screens from Android 2.1 and 2.0. +Photo by Ron Amadeo + +Android 2.0's rotary dial lock screen was kicked to the curb after only one version and replaced with the same pull tabs the incoming call screen used. The lock screen clock was an attempt at a uniquely Android font, but as typefaces go, it was pretty hideous looking. + +One of the biggest features in Android 2.1 was "Live Wallpapers"—interactive or moving images that could be set as the wallpaper. The default Live Wallpaper was a grid of squares with blue, red, yellow, and green lights continually streaking across it. Tapping on the screen would send lights firing out in all four directions from the center of your tap. While Live Wallpapers looked neat (and was a unique feature over the iPhone), the animated backgrounds sucked up battery power and CPU cycles. It seemed to make the whole phone run a little slower. + +On the home screen, the default Google Search widget was given a lot more padding and now sits centered in its row. Page indicators now lived in the bottom left and right corners of the screen, and the number of home screen pages jumped from three to five. The app drawer tab at the bottom was replaced with an icon showing a grid of squares, a metaphor that Google still uses today. + +![A picture showing the app drawer design and a composite image showing the app selection for Android 2.1 and 2.0.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/21icons.png) +A picture showing the app drawer design and a composite image showing the app selection for Android 2.1 and 2.0. +Photo by Ron Amadeo + +With the new app drawer icon came a totally new app drawer. Instead of a tabbed container that lifted up from the bottom of the screen, the app drawer displayed as a full-screen interface. The carbon fiber weave was removed, and the background switched to a plain black background—a decision that would stick around all the way up to KitKat. + +Google decided to add a floating, semi-transparent home icon to the bottom of the app drawer to give people an easy way out of the full-screen tab interface. This could be seen as a precursor to the on-screen home button that was introduced in Android 4.0. + +The app drawer was given a tacky graphics effect, too. While scrolling, the icons at the top and bottom of the list would bend inward and appear to move deeper into the phone, sort of like the opening scroll in Star Wars. + +There were a few changes to the icons. "Amazon MP3" and "Alarm Clock" both lost their first names, along with their premium alphabetical real-estate at the top of the app drawer. Two new apps showed up: News and Weather, and Google Voice, which was Google's telecommunication service. Since the Nexus One was not a Verizon phone, Verizon's Visual Voicemail app was dumped. + +![The revamped clock app.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/clo2ck.png) +The revamped clock app. +Photo by Ron Amadeo + +Along with the name change, the clock app got a total revamp. Tapping on the clock shortcut no longer opened the alarms page; instead it went to a "desk clock" interface (left picture, above) with a background that matched the wallpaper. The clock used the same font from the lock screen, pulling in weather from the new News And Weather app. + +The new alarm page cleaned up a lot of the weirder design decisions made in the old version. The analog clock and selectable clock designs were dead. The checkboxes were replaced with a green on/off light, which was much easier to parse than "gray check/green check." While it might be hard to see from the thumbnail (click for a bigger version), the old alarm design displayed AM and PM next to the time. The 2.1 design did away with that, only showing the relevant meridian. A digital clock was placed at the bottom, and the clock icon took you back to the desk clock interface. + +![The Gallery and individual image screens from 2.1 and 2.0.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/gallery1.png) +The Gallery and individual image screens from 2.1 and 2.0. +Photo by Ron Amadeo + +Google's desire to improve the look of Android was most evident in the 2.1 Gallery, which was all about heavy-handed animation effects and transparencies. When the app opened, individual pictures flew in from the top of the screen and shuffled into little piles that made up an album. When opening an album, the picture stack separated, and the photos slid into a grid formation. Everything you touched would pop open, squish, and stretch like a spring-loaded piece of Jell-o. + +There was no "normal" background for the Gallery. It would randomly pick a picture on the screen and heavily distort it for use as a background image. When that picture scrolled off-screen, it would pick a new background image, so the tone of the background always matched your pictures. + +The top left of the screen housed a breadcrumbs bar. It displayed your current location and any folders between you and the main screen—it could be thought of as an early precursor to the "Up" button that would debut in Android 3.0. In the top right was a link to the camera app, which still sported the same faux-leather design that debuted in Android 1.6—the two designs could not be more different. + +While the camera was another weird, one-off design, never was the wild UI disparity between Android apps more apparent than in the new Gallery. It didn't use Android buttons, menus, or any of the existing UI paradigms. It even hid the status bar in every screen—you could barely tell you were looking at Android. + +In the individual photo view, you could finally swipe between images, which removed the need for chunky left and right arrows. For some reason, the color-matched background wasn't on this screen. It was the only part of the app where the background is black. Zoom controls were in the top-right (still no pinch zoom), and commands were held in a single strip along the bottom of the screen. Hitting the "menu" button (software or hardware) didn't bring up a 2×3 grid of options like every other app—the items in the bottom strip just changed from two options to three other options. + +![The animation-filled Gallery app.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/gallery2.png) +The animation-filled Gallery app. +Photo by Ron Amadeo + +The first picture, above, shows an album view. You could scroll horizontally through a large album or use the fast scroll bar at the bottom of the screen. Long pressing on a picture (or, bizarrely, pressing the hardware menu button) would bring up a "checkbox" interface, where you could tap on several pictures to select them. After you've selected pictures, you could then batch share, delete, or rotate them. + +The menus on this screen and the next individual picture screen were semi-transparent speech bubbles that would spring out of their respective buttons when tapped on. Again, this was about as far away from the normal Android conventions as you could get. The Gallery was also one of the first apps to have an overscroll effect. When you hit the end of the photo wall, the entire surface would skew in the direction of the scrolling. + +The 2.1 Gallery was the first photo client to show your cloud-stored Picasa photos along with local pictures. These were marked with a white camera shutter icon in the bottom left corner of a thumbnail. This would later become Google+ Photos. + +No Android app before or since had looked like the gallery. There was good reason for that—it wasn’t made by Google! The app was farmed out to Cooliris, who didn't bother following a single existing Android UI paradigm. While the app was usable, all the animations and effects made it seem like a case of style over substance. + +![The "News and Weather" app showing... the news and weather.](http://cdn.arstechnica.net/wp-content/uploads/2014/01/newsandweather.png) +The "News and Weather" app showing... the news and weather. +Photo by Ron Amadeo + +Compare the Gallery to the other new Android 2.1 app: News And Weather. While the Gallery was a transparency-filled animation fest, News And Weather was all about dark gradients and contrasting colors. This app powered the weather display on the desk clock app, and it even came with a home screen widget. The first screen just showed the weather and a six-day forecast for your current location. Along the top of the screens were tabs, next to the city name was a small "i" button that would bring up a temperature and precipitation graph. You could slide your finger along the graph to get exact temperatures and precipitation for any given minute. + +The big innovation in this app was swipeable tabs, an idea that would eventually become a standard Android UI convention. After the weather were a bunch of user configurable news tabs, and besides tapping on the tabs to switch to them, you could just swipe horizontally across the screen and the tab would change. The news tabs all showed a list of news headlines that were almost always truncated to the point that you had no idea what the story was about. When opening a webpage from this app, it didn't load the browser. Instead, it opened the story within the app complete with a weird white border. + +![Google Maps showing off some Labs features, the new widget designs, the only screen we can access in Google Voice, and the new tabbed music design.](http://cdn.arstechnica.net/wp-content/uploads/2014/04/ccccombo.jpg) +Google Maps showing off some Labs features, the new widget designs, the only screen we can access in Google Voice, and the new tabbed music design. +Photo by Ron Amadeo + +Widgets in 2.1 were all redesigned, with almost everything receiving a black gradient, and made better use of the available space. The clock changed back to a circle, and the calendar got a blue top, which matched the app a little more closely. Google Voice will start up, but the sign-in is broken—this is as far as you can get. + +The oft-neglected Music app got a minor update. The four-button home screen was removed completely, and tabs for each music display mode were added to the top of the screen. This meant when opening the app, you were immediately presented with a list of music, instead of a navigational page. Unlike the News and Weather app, these newly installed tabs here could not be swiped between. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/13 - The history of Android.md b/sources/talk/The history of Android/13 - The history of Android.md new file mode 100644 index 0000000000..85c04441ac --- /dev/null +++ b/sources/talk/The history of Android/13 - The history of Android.md @@ -0,0 +1,104 @@ +The history of Android +================================================================================ +![](http://cdn.arstechnica.net/wp-content/uploads/2014/03/ready-fight.png) + +### Android 2.1, update 1—the start of an endless war ### + +Google was a major launch partner for the first iPhone—the company provided Google Maps, Search, and YouTube for Apple’s mobile operating system. At the time, Google CEO Eric Schmidt was a member of Apple’s board of directors. In fact, during the original iPhone presentation, [Schmidt was the first person on stage][] after Steve Jobs, and he joked that the two companies were so close they could merge into “AppleGoo." + +While Google was developing Android, the relationship between the two companies slowly became contentious. Still, Google largely kept Apple happy by keeping key iPhone features, like pinch zoom, out of Android. The Nexus One, though, was the first slate-style Android flagship without a keyboard, which gave the device the same form factor as the iPhone. Combined with the newer software and Google branding, this was the last straw for Apple. According to Walter Isaacson’s biography on Steve Jobs, after seeing the Nexus One in January 2010, the Apple CEO was furious, saying "I will spend my last dying breath if I need to, and I will spend every penny of Apple's $40 billion in the bank, to right this wrong... I'm going to destroy Android, because it's a stolen product. I'm willing to go thermonuclear war on this." + +All of this happened behind closed doors, only coming out years after the Nexus One was released. The public first caught wind of this growing rift between Google and Apple when, a month after the release of Android 2.1, an update shipped for the Nexus One called “[2.1 update 1.][2]" The updated added one feature, something iOS long held over the head of Android: pinch-zoom. + +While Android supported multi-touch APIs since version 2.0, the default operating system apps stayed clear of this useful feature at the behest of Jobs. After reconciliation meetings over the Nexus One failed, there was no longer a reason to keep pinch zoom out of Android. Google pushed all their chips into the middle of the table, hit the update button, and was finally “all-in" with Android. + +With pinch zoom enabled in Google Maps, the Browser, and the Gallery, the Google-Apple smartphone war was on. In the coming years, the two companies would become bitter enemies. A month after the pinch zoom update, Apple went on the warpath, suing everyone and everything that used Android. HTC, Motorola, and Samsung were all brought to court, and some of them are still in court. Schmidt resigned from Apple’s board of directors. Google Maps and YouTube were kicked off of the iPhone, and Apple even started a rival mapping service. Today, the two players that were almost "AppleGoo" compete in smartphones, tablets, laptops, movies, TV shows, music, books, apps, e-mail, productivity software, browsers, personal assistants, cloud storage, mobile advertising, instant messaging, mapping, and set-top-boxes... and soon the two will be competing in car computers, wearables, mobile payments, and living room gaming. + +### Android 2.2 Froyo—faster and Flash-ier ### + +[Android 2.2][3] came out four months after the release of 2.1, in May 2010. Froyo featured major under-the-hood improvements for Android, all made in the name of speed. The biggest addition was just-in-time (JIT) compilation. JIT automatically converted java bytecode into native code at runtime, which led to drastic performance improvements across the board. + +The Browser got a performance boost, too, thanks to the integration of the V8 javascript engine from Chrome. This was the first of many features the Android browser would borrow from Chrome, and eventually the stock browser would be completely replaced by a mobile version of Chrome. Until that day came, though, the Android team needed to ship a browser. Pulling in Chrome parts was an easy way to upgrade. + +While Google was focusing on making its platform faster, Apple was making its platform bigger. Google's rival released the 10-inch iPad a month earlier, ushering in the modern era of tablets. While some large Froyo and Gingerbread tablets were released, Google's official response—Android 3.0 Honeycomb and the Motorola Xoom—would not arrive for nine months. + +![Froyo added a two-icon dock at the bottom and universal search.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/22-2.png) +Froyo added a two-icon dock at the bottom and universal search. +Photo by Ron Amadeo + +The biggest change on the Froyo homescreen was the new dock at the bottom, which filled the previously empty space to the left and right of the app drawer with phone and browser icons. Both of these icons were custom-designed white versions of the stock icons, and they were not user-configurable. + +The default layout removed all the icons, and it only stuck the new tips widget on the screen, which directed you to click on the launcher icon to access your apps. The Google Search widget gained a Google logo which doubled as a button. Tapping it would open the search interface and allow you to restrict a search by Web, apps, or contacts. + +![The downloads page showing the “update all" button, the Flash app, a flash-powered site where anything is possible, and the “move to SD" button. ](http://cdn.arstechnica.net/wp-content/uploads/2014/03/small-market-2.jpg) +The downloads page showing the “update all" button, the Flash app, a flash-powered site where anything is possible, and the “move to SD" button. +Photo by [Ryan Paul][4] + +Some of the best additions to Froyo were more download controls for the Android Market. There was now an “Update all" button pinned to the bottom of the Downloads page. Google also added an automatic updating feature, which would automatically install apps as long as the permissions hadn't changed; automatic updating was off by default, though. + +The second picture shows Adobe Flash Player, which was exclusive to Froyo. The app plugged in to the browser and allowed for a “full Web" experience. In 2010, this meant pages heavy with Flash navigation and video. Flash was one of Android's big differentiators compared to the iPhone. Steve Jobs started a holy war against Flash, declaring it an obsolete, buggy piece of software, and Apple would not allow it on iOS. So Android picked up the Flash ball and ran with it, giving users the option of having a semi-workable implementation on Android. + +At the time, Flash could bring even a desktop computer to its knees, so keeping it on all the time on a mobile phone delivered terrible performance. To fix this, Flash on Android's browser could be set to "on-demand"—Flash content would not load until users clicked on the Flash placeholder icon. Flash support would last on Android until 4.1, when Adobe gave up and killed the project. Ultimately Flash never really worked well on Android. The lack of Flash on the iPhone, the most popular mobile device, pushed the Internet to eventually dump the platform. + +The last picture shows the newly added ability to move apps to the SD card, which, in an era when phones came with 512MB of internal storage, was sorely needed. + +![The car app and camera app. The camera could now rotate.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/22carcam-2.png) +The car app and camera app. The camera could now rotate. +Photo by Ron Amadeo + +The camera app was finally updated to support portrait mode. The camera settings were moved out of the drawer and into a semi-transparent strip of buttons next to the shutter button and other controls. This new design seemed to take a lot of inspiration from the Cooliris Gallery app, with transparent, springy speech bubble popups. It was quite strange to see the high-tech Cooliris-style UI design grafted on to the leather-bound camera app—the aesthetics didn't match at all. + +![The semi-broken Facebook app is a good example of the common 2x3 navigation page. Google Goggles was included but also broken.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/facebook.png) +The semi-broken Facebook app is a good example of the common 2x3 navigation page. Google Goggles was included but also broken. +Photo by Ron Amadeo + +Unlike the Facebook client included in Android 2.0 and 2.1, the 2.2 version still sort of works and can sign in to Facebook's servers. The Facebook app is a good example of Google's design guidelines for apps at the time, which suggested having a navigational page consisting of a 3x2 grid of icons as the main page of an app. + +This was Google's first standardized attempt at getting navigational elements out of the menu button and onto the screen, where users could find them. This design was usable, but it added an extra roadblock between launching an app and using an app. Google would later realize that when users launch an app, it was a better idea to show them content instead of an interstitial navigational screen. In Facebook for instance, opening to the news feed would be much more appropriate. And later app designs would relegate navigation to a second-tier location—first as tabs at the top of the screen, and later Google would settle on the "Navigation Drawer," a slide-out panel containing all the locations in an app. + +Also packed in with Froyo was Google Goggles, a visual search app which would try to identify the subject of a picture. It was useful for identifying works of art, landmarks, and barcodes, but not much else. These first two setup screens, along with the camera interface, are all that work in the app anymore. Today, you can't actually complete a search with a client this old. There wasn't much to see anyway; it was a camera interface that returned a search results page. + +![The Twitter app, which was an animation-filled collaboration between Google and Twitter.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/twitters-2.png) +The Twitter app, which was an animation-filled collaboration between Google and Twitter. +Photo by Ron Amadeo + +Froyo included the first Android Twitter app, which was actually a collaboration between Google and Twitter. At the time, a Twitter app was one of the big holes in Android's app lineup. Developers favored the iPhone, and with Apple's head start and stringent design requirements, the App Store's app selection was far superior to Android's. But Google needed a Twitter app, so it teamed up with the company to get the first version out the door. + +This represented Google's newer design language, which meant it had an interstitial navigation page and a "tech-demo" approach to animations. The Twitter app was even more heavy-handed with animation effects than the Cooliris Gallery—everything moved all the time. The clouds at the top and bottom of every page continually scrolled at varying speeds, and the Twitter bird at the bottom flapped its wings and moved its head left and right. + +The Twitter app actually featured an early precursor to the Action Bar, a persistent strip of top-aligned controls that was introduced in Android 3.0 . Along the top of every screen was a blue bar containing the Twitter logo and buttons like search, refresh, and compose tweet. The big difference between this and the later action bars was that the Twitter/Google design lacks an "Up" button in the top right corner, and it actually uses an entire second bar to show your current location within the app. In the second picture above, you can see a whole bar dedicated to the location label "Tweets" (and, of course, the continuously scrolling clouds). The Twitter logo in the second bar acted as another navigational element, sometimes showing additional drill down areas within the current section and sometimes showing the entire top-level shortcut group. + +The 2.3 Tweet stream didn't look much different from what it does today, save for the hidden action buttons (reply, retweet, etc), which were all under the right-aligned arrow buttons. They popped up in a speech bubble menu that looked just like the navigational popup. The faux-action bar was doing serious work on the create tweet page. It housed the twitter logo, remaining character count, and buttons to attach a picture, take a picture, and a contact mention button. + +The Twitter app even came with a pair of home screen widgets. The big one took up eight slots and gave you a compose bar, update button, one tweet, and left and right arrows to view more tweets. The little one showed a tweet and reply button. Tapping on the compose bar on the large widget immediately launched the main "Create Tweet," rendering the "update" button worthless. + +![Google Talk and the new USB dialog.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/talkusb.png) +Google Talk and the new USB dialog. +Photo by Ron Amadeo + +Elsewhere, Google Talk (and the unpictured SMS app) changed from a dark theme to a light theme, which made both of them look a lot closer to the current, modern apps. The USB storage screen that popped up when you plugged into a computer changed from a simple dialog box to a full screen interface. Instead of a text-only design, the screen now had a mutant Android/USB-stick hybrid. + +While Android 2.2 didn’t feature much in the way of user-facing features, a major UI overhaul was coming in the next two versions. Before all the UI work, though, Google wanted to revamp the core of Android. Android 2.2 accomplished that. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/13/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.youtube.com/watch?v=9hUIxyE2Ns8#t=3016 +[2]:http://arstechnica.com/gadgets/2010/02/googles-nexus-one-gets-multitouch/ +[3]:http://arstechnica.com/information-technology/2010/07/android-22-froyo/ +[4]:http://arstechnica.com/information-technology/2010/07/android-22-froyo/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/14 - The history of Android.md b/sources/talk/The history of Android/14 - The history of Android.md new file mode 100644 index 0000000000..2825d7eee8 --- /dev/null +++ b/sources/talk/The history of Android/14 - The history of Android.md @@ -0,0 +1,82 @@ +The history of Android +================================================================================ +### Voice Actions—a supercomputer in your pocket ### + +In August 2010, a new feature “[Voice Actions][1]" launched in the Android Market as part of the Voice Search app. Voice Actions allowed users to issue voice commands to their phone, and Android would try to interpret them and do something smart. Something like "Navigate to [address]" would fire up Google Maps and start turn-by-turn navigation to your stated destination. You could also send texts or e-mails, make a call, open a Website, get directions, or view a location on a map—all just by speaking. + +注:youtube视频地址 + + +Voice Actions was the culmination of a new app design philosophy for Google. Voice Actions was the most advanced voice control software for its time, and the secret was that Google wasn’t doing any computing on the device. In general, voice recognition was very CPU intensive. In fact, many voice recognition programs still have a “speed versus accuracy" setting, where users can choose how long they are willing to wait for the voice recognition algorithms to work—more CPU power means better accuracy. + +Google’s innovation was not bothering to do the voice recognition computing on the phone’s limited processor. When a command was spoken, the user’s voice was packaged up and shipped out over the Internet to Google’s cloud servers. There, Google’s farm of supercomputers pored over the message, interpreted it, and shipped it back to the phone. It was a long journey, but the Internet was finally fast enough to accomplish something like this in a second or two. + +Many people throw the phrase “cloud computing" around to mean “anything that is stored on a server," but this was actual cloud computing. Google was doing hardcore compute operations in the cloud, and because it is throwing a ridiculous amount of CPU power at the problem, the only limit to the voice recognition accuracy is the algorithms themselves. The software didn't need to be individually “trained" by each user, because everyone who used Voice Actions was training it all the time. Using the power of the Internet, Android put a supercomputer in your pocket, and, compared to existing solutions, moving the voice recognition workload from a pocket-sized computer to a room-sized computer greatly increased accuracy. + +Voice recognition had been a project of Google’s for some time, and it all started with an 800 number. [1-800-GOOG-411][1] was a free phone information service that Google launched in April 2007. It worked just like 411 information services had for years—users could call the number and ask for a phone book lookup—but Google offered it for free. No humans were involved in the lookup process, the 411 service was powered by voice recognition and a text-to-speech engine. Voice Actions was only possible after three years of the public teaching Google how to hear. + +Voice recognition was a great example of Google’s extremely long-term thinking—the company wasn't afraid to invest in a project that wouldn’t become a commercial product for several years. Today, voice recognition powers products all across Google. It’s used for voice input in the Google Search app, Android’s voice typing, and on Google.com. It’s also the primary input interface for Google Glass and [Android Wear][2]. + +The company even uses it beyond input. Google's voice recognition technology is used to transcribe YouTube videos, which powers automatic closed captioning for the hearing impaired. The transcription is even indexed by Google, so you can search for words that were said in the video. Voice is the future of many products, and this long-term planning has led Google to be one of the few major tech companies with an in-house voice recognition service. Most other voice recognition products, like Apple’s Siri and Samsung devices, are forced to use—and pay a license fee for—voice recognition from Nuance. + +With the computer hearing system up and running, Google is applying this strategy to computer vision next. That's why things like Google Goggles, Google Image Search, and [Project Tango][3] exist. Just like the days of GOOG-411, these projects are in the early stages. When [Google's robot division][4] gets off the ground with a real robot, it will need to see and hear, and Google's computer vision and hearing projects will likely give the company a head start. + +![The Nexus S, the first Nexus phone made by Samsung.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/NS500.png) +The Nexus S, the first Nexus phone made by Samsung. + +### Android 2.3 Gingerbread—the first major UI overhaul ### + +Gingerbread was released in December 2010, a whopping seven months after the release of 2.2. The wait was worth it, though, as Android 2.3 changed just about every screen in the OS. It was the first major overhaul since the initial formation of Android in version 0.9. 2.3 would kick off a series of continual revamps in an attempt to turn Android from an ugly duckling into something that was capable of holding its own—aesthetically—against the iPhone. + +And speaking of Apple, six months earlier, the company released the iPhone 4 and iOS 4, which added multitasking and Facetime video chat. Microsoft was finally back in the game, too. The company jumped into the modern smartphone era with the launch of Windows Phone 7 in November 2010. + +Android 2.3 focused a lot on the interface design, but with no direction or design documents, many apps ended up getting a new bespoke theme. Some apps went with a flatter, darker theme, some used a gradient-filled, bubbly dark theme, and others went with a high-contrast white and green look. While it wasn't cohesive, Gingerbread accomplished the goal of modernizing nearly every part of the OS. It was a good thing, too, because the next phone version of Android wouldn’t arrive until nearly a year later. + +Gingerbread’s launch device was the Nexus S, Google’s second flagship device and the first Nexus manufactured by Samsung. While today we are used to new CPU models every year, back then that wasn't the case. The Nexus S had a 1GHz Cortex A8 processor, just like the Nexus One. The GPU was slightly faster, and that was it in the speed department. It was a little bigger than the Nexus One, with a 4-inch, 800×480 AMOLED display. + +Spec wise, the Nexus S might seem like a tame upgrade, but it was actually home to a lot of firsts for Android. The Nexus S was Google’s first flagship to shun a MicroSD slot, shipping with 16GB on-board memory. The Nexus One had only 512MB of storage, but it had a MicroSD slot. Removing the SD slot simplified storage management for users—there was just one pool now—but hurt expandability for power users. It was also Google's first phone to have NFC, a special chip in the back of the phone that could transfer information when touched to another NFC chip. For now, the Nexus S could only read NFC tags—it couldn't send data. + +Thanks to some upgrades in Gingerbread, the Nexus S was one of the first Android phones to ship without a hardware D-Pad or trackball. The Nexus S was now down to just the power, volume, and the four navigation buttons. The Nexus S was also a precursor to the [crazy curved-screen phones][6] of today, as Samsung outfitted the Nexus S with a piece of slightly curved glass. + +![Gingerbread changed the status bar and wallpaper, and it added a bunch of new icons.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/appdrawershop.png) +Gingerbread changed the status bar and wallpaper, and it added a bunch of new icons. +Photo by Ron Amadeo + +An upgraded "Nexus" live wallpaper was released as an exclusive addition to the Nexus S. It was basically the same idea as the Nexus One version, with its animated streaks of light. On the Nexus S, the "grid" design was removed and replaced with a wavy blue/gray background. The dock at the bottom was given square corners and colored icons. + +![The new notification panel and menu.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/32.png) +The new notification panel and menu. +Photo by Ron Amadeo + +The status bar was finally overhauled from the version that first debuted in 0.9. The bar was changed from a white gradient to flat black, and all the icons were redrawn in gray and green. Just about everything looked crisper and more modern thanks to the sharp-angled icon design and higher resolution. The strangest decisions were probably the removal of the time period from the status bar clock and the confusing shade of gray that was used for the signal bars. Despite gray being used for many status bar icons, and there being four gray bars in the above screenshot, Android was actually indicating no cellular signal. Green bars would indicate a signal, gray bars indicated “empty" signal slots. + +The green status bar icons in Gingerbread also doubled as a status indicator of network connectivity. If you had a working connection to Google's servers, the icons would be green, if there was no connection to Google, the icons turned white. This let you easily identify the connectivity status of your connection while you were out and about. + +The notification panel was changed from the aging Android 1.5 design. Again, we saw a UI piece that changed from a light theme to a dark theme, getting a dark gray header, black background, and black-on-gray text. + +The menu was darkened too, changing from a white background to a black one with a slight transparency. The contrast between the menu icons and the background wasn’t as strong as it should be, because the gray icons are the same color as they were on the white background. Requiring a color change would mean every developer would have to make new icons, so Google went with the preexisting gray color on black. This was a change at the system level, so this new menu would show up in every app. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/14/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2010/08/google-beefs-up-voice-search-mobile-sync/ +[2]:http://arstechnica.com/business/2007/04/google-rolls-out-free-411-service/ +[3]:http://arstechnica.com/gadgets/2014/03/in-depth-with-android-wear-googles-quantum-leap-of-a-smartwatch-os/ +[4]:http://arstechnica.com/gadgets/2014/02/googles-project-tango-is-a-smartphone-with-kinect-style-computer-vision/ +[5]:http://arstechnica.com/gadgets/2013/12/google-robots-former-android-chief-will-lead-google-robotics-division/ +[6]:http://arstechnica.com/gadgets/2013/12/lg-g-flex-review-form-over-even-basic-function/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/15 - The history of Android.md b/sources/talk/The history of Android/15 - The history of Android.md new file mode 100644 index 0000000000..078e106d1c --- /dev/null +++ b/sources/talk/The history of Android/15 - The history of Android.md @@ -0,0 +1,86 @@ +The history of Android +================================================================================ +![Gingerbread's new keyboard, text selection UI, overscroll effect, and new checkboxes.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/3kb-high-over-check.png) +Gingerbread's new keyboard, text selection UI, overscroll effect, and new checkboxes. +Photo by Ron Amadeo + +One of the most important additions to Android 2.3 was the system-wide text selection interface, which you can see in the Google search bar in the left screenshot. Long pressing a word would highlight it in orange and make draggable handles appear on either side of the highlight. You could then adjust the highlight using the handles and long press on the highlight to bring up options for cut, copy, and paste. Previous methods used tiny controls that relied on a trackball or D-Pad, but with this first finger-driven text selection method, the Nexus S didn’t need the extra hardware controls. + +The right set of images shows the new checkbox design and overscroll effect. The Froyo checkbox worked like a light bulb—it would show a green check when on and a gray check when off. Gingerbread now displayed an empty box when an option is turned off—which made much more sense. Gingerbread was the first version to have an overscroll effect. An orange glow appeared when you hit the end of a list and grew larger as you pulled more against the dead end. Bounce scrolling would probably have made the most sense, but that was patented by Apple. + +![The new dialer and dialog box design.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/dialdialog.png) +The new dialer and dialog box design. +Photo by Ron Amadeo + +The dialer received a little more love in Gingerbread. It became darker, and Google finally addressed the combination of sharp corners, rounded corners, and complete circles that it had going on. Now every corner was a sharp right angle. All the dial pad buttons were replaced with a weird underline, like some faint leftovers of what used to be a button. You were never really sure if you were supposed to see a button or not—our brains wanted to imagine the rest of the square. + +The Wi-Fi network dialog is pictured to show off the rest of the system-wide changes. All the dialog box titles were changed from gray to black, every dialog box, dropdown, and button corner was sharpened up, and everything was a little bit darker. All these system-wide changes made all of Gingerbread look a lot less bubbly and more mature. The "all black everything" look wasn't necessarily the most welcoming color palette, but it certainly looked better than Android's previous gray-and-beige color scheme. + +![The new Market, which added a massive green header.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/4market.png) +The new Market, which added a massive green header. +Photo by Ron Amadeo + +While not exclusive to Gingerbread, with the launch of the new OS came "Android Market 2.0." Most of the list design was the same, but Google covered the top third of the screen with a massive green banner that was used for featured apps and navigation. The primary design inspiration here was probably the green Android mascot—the color is a perfect match. At a time when the OS was getting a darker design, the neon green banner and white list made the Market a lot brighter. + +However, the same green background image was used across phones, which meant on lower resolution devices, the green banner was even bigger. Users complained so much about the wasted screen space that later updates would make the green banner scroll up with the content. At the time, horizontal mode was even worse—it would fill the left half of the screen with the static green banner. + +![An app page from the Market showing the collapsible text section, the "My apps" section, and Google Books screenshots.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/5rest-of-market-and-books.png) +An app page from the Market showing the collapsible text section, the "My apps" section, and Google Books screenshots. +Photo by Ron Amadeo + +App pages were redesigned with collapsible sections. Rather than having to scroll through a thousand-line description, text boxes were truncated to only the first few lines. After that, a "more" button needed to be tapped. This allowed users to easily scroll through the list and find things like pictures and "contact developer," which would usually be farther down the page. + +The other parts of the Android homescreen wisely toned down the green monster. The rest of the app was mostly just the old Market with new green navigational elements. Any of the old tabbed interfaces were upgraded to swipeable tabs. In the right Gingerbread image, swiping right-to-left would switch from "Top Paid" to "Top Free," which made navigation a little easier. + +Gingerbread came with the first of what would become the Google Play content stores: Google Books. The app was a basic book reader that would display books in a simple thumbnail grid. The "Get eBooks" link at the top of the screen opened the browser and loaded a mobile website where you could buy books. + +Google Books and the “My Apps" page of the Market were both examples of early precursors to the Action Bar. Just like the current guidelines, a stickied top bar featured the app icon, the name of the screen within the app, and a few controls. The layout of these two apps was actually pretty modern looking. + +![The new Google Maps.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/maps1.png) +The new Google Maps. +Photo by Ron Amadeo + +Google Maps (which, again, at this point was on the Android Market and not exclusive to this version of Android) now featured another action bar precursor in the form of a top-aligned control bar. This version of an early action bar featured a lot of experimenting. The majority of the bar was taken up with a search box, but you could never type into the bar. Tapping on it would open the old search interface from Android 1.x, with a totally different bar design and bubbly buttons. This 2.3 bar wasn't anything more than a really big search button. + +![The new business pages, which switched from black to white.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/maps2-Im-hungry.png) +The new business pages, which switched from black to white. +Photo by Ron Amadeo + +Along with Places' new top billing in the app drawer came a redesigned interface. Unlike the rest of Gingerbread, this switched from black to white. Google also kept the old buttons with rounded corners. This new version of Maps helpfully displayed the hours of operation of a business, and it offered advanced search options like places that were currently open or thresholds for ratings and price. Reviews were brought to the surface, allowing a user to easily get a feel for the current business. It was now also possible to "star" a location from the search results and save it for later. + +![The new YouTube design, which, amazingly, sort of matches the old Maps business page design.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/youtube22.png) +The new YouTube design, which, amazingly, sort of matches the old Maps business page design. +Photo by Ron Amadeo + +The YouTube app seemed completely separate from the rest of Android, as if whoever designed this had no idea what Gingerbread would end up looking like. Highlights were red and gray instead of green and orange, and rather than the flat black of Gingerbread, YouTube featured bubbly buttons, tabs, and bars with rounded corners and heavy gradients. The new app did get a few things right, though. All the tabs could be horizontally swiped through, and the app finally added a vertical viewing mode for videos. Android seemed like such an uncoordinated effort at this stage. It’s like someone told the YouTube team “make it black," and that was all the direction they were given. The only Android entity this seemed to match was the old Google Maps business page design. + +Despite the weird design choices, the YouTube app had the best approximation yet of an action bar. Besides the bar at the top with an app logo and a few buttons, the rightmost button was labeled “more" and would bring up options that didn’t fit in the bar. Today, this is called the “Overflow" button, and it's a standard UI piece. + +![The new Google Talk, which supported voice and video calls, and the new Voice Actions interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/talkvoice.png) +The new Google Talk, which supported voice and video calls, and the new Voice Actions interface. +Photo by Ron Amadeo + +One last update for Gingerbread came with Android 2.3.4, which brought a new version of Google Talk. Unlike the Nexus One, the Nexus S had a front-facing camera—and the redesigned version of Google Talk had voice and video calling. The colored indicators on the right of the friends list were used to indicate not only presence, but voice and video availability. A dot was text only, a microphone was text or voice, and a camera was text, voice, or video. If available, tapping on a voice or video icon would immediately start a call with that person. + +Gingerbread is the oldest version of Android still supported by Google. Firing up a Gingerbread device and letting it sit for a few minutes will result in a ton of upgrades. Gingerbread will pull down Google Play Services, resulting in a ton of new API support, and it will upgrade to the very newest version of the Play Store. Open the Play Store and hit the update button, and just about every single Google app will be replaced with a modern version. We tried to keep this article authentic to the time Gingerbread was released, but a real user stuck on Gingerbread today will be treated to a flood of anachronisms. + +Gingerbread is still supported because there are a good number of users still running the now ancient OS. Gingerbread's staying power is due to the extremely low system requirements, making it the go-to choice for slow, cheap phones. The next few versions of Android were much more exclusive and/or demanding on hardware. For instance, Android 3.0 Honeycomb is not open source, meaning it could only be ported to a device with Google's cooperation. It was also only for tablets, making Gingerbread the newest phone version of Android for a very long time. 4.0 Ice Cream Sandwich was the next phone release, but it significantly raised Android’s systems requirements, cutting off the low-end of the market. Google is hoping to get cheaper phones back on the update track with 4.4 KitKat, which brings the system requirements back down to 512MB of RAM. The passage of time helps, too—by now, even cheap SoCs have caught up to the demands of a 4.0-era version of Android. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/15/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/16 - The history of Android.md b/sources/talk/The history of Android/16 - The history of Android.md new file mode 100644 index 0000000000..91e0946078 --- /dev/null +++ b/sources/talk/The history of Android/16 - The history of Android.md @@ -0,0 +1,66 @@ +The history of Android +================================================================================ +### Android 3.0 Honeycomb—tablets and a design renaissance ### + +Despite all the changes made in Gingerbread, Android was still the ugly duckling of the mobile world. Compared to the iPhone, its level of polish and design just didn't hold up. On the other hand, one of the few operating systems that could stand up to iOS's aesthetic acumen was Palm's WebOS. WebOS was a cohesive, well-designed OS with several innovative features, and it was supposed to save the company from the relentless march of the iPhone. + +A year after launch though, Palm was running out of cash. The company never saw the iPhone coming, and by the time WebOS was ready, it was too late. In April 2010, Hewlett-Packard purchased Palm for $1 billion. While HP bought a product with a great user interface, the lead designer of that interface, a man by the name of Matias Duarte, did not join HP. In May 2010, just before HP took control of Palm, Duarte jumped ship to Google. HP bought the bread, but Google hired the baker. + +![The first Honeycomb device, the Motorola Xoom 10-inch tablet.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/Motorola-XOOM-MZ604.jpg) +The first Honeycomb device, the Motorola Xoom 10-inch tablet. + +At Google, Duarte was named the Director of Android User Experience. This was the first time someone was publicly in charge of the way Android looked. While Matias landed at Google during the launch of Android 2.2, the first version he truly impacted was Android 3.0, Honeycomb, released in February 2011. + +By Google's own admission, Honeycomb was rushed out the door. Ten months prior, Apple modernized the tablet with the launch of the iPad, and Google wanted to respond as quickly as possible. Honeycomb was that response, a version of Android that ran on 10-inch touchscreens. Sadly, getting this OS to market was such a priority that corners were cut to save time. + +The new OS was for tablets only—phones would not be updated to Honeycomb, which spared Google the difficult problem of making the OS work on wildly different screen sizes. But with phone support off the table, a Honeycomb source drop never happened. Previous Android versions were open source, enabling the hacking community to port the latest version to all sorts of different devices. Google didn't want app developers to feel pressured to support half-broken Honeycomb phone ports, so Google kept the source to itself and strictly controlled what could and couldn't have Honeycomb. The rushed development led to problems with the software, too. At launch, Honeycomb wasn't particularly stable, SD cards didn't work, and Adobe Flash—one of Android's big differentiators—wasn't supported. + +One of the few devices that could have Honeycomb was [the Motorola Xoom][1], the flagship product for the new OS. The Xoom was a 10-inch, 16:9 tablet with 1GB of RAM and a dual-core, 1GHz Nvidia Tegra 2 processor. Despite being the launch device of a new version of Android where Google controlled the updates directly, the device wasn't called a "Nexus." The most likely reason for this was that Google didn't feel confident enough in the product to call it a flagship. + +Nevertheless, Honeycomb was a major milestone for Android. With an experienced designer in charge, the entire Android user interface was rebuilt, and most of the erratic app designs were brought to heel. Android's default apps finally looked like pieces of a cohesive whole with similar layouts and theming across the board. Redesigning Android would be a multi-version project though—Honeycomb was just the start of getting Android whipped into shape. This first draft laid the groundwork for how future versions of Android would function, but it also used a heavy-handed sci-fi theme that Google would spend the next few versions toning down. + +![The home screens of Honeycomb and Gingerbread.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/homeskreen.png) +The home screens of Honeycomb and Gingerbread. +Photo by Ron Amadeo + +While Gingerbread only experimented with a sci-fi look in its photon wallpaper, Honeycomb went full sci-fi with a Tron-inspired theme for the entire OS. Everything was made black, and if you needed a contrasting color, you could choose from a few different shades of blue. Everything that was made blue was also given a "glow" effect, making the entire OS look like it was powered by alien technology. The default background was a holographic grid of hexagons (a Honeycomb! get it?) that looked like it was the floor of a teleport pad on a spaceship. + +The most important change of Honeycomb was the addition of the system bar. The Motorola Xoom had no hardware buttons other than power and volume, so a large black bar was added along the bottom of the screen that housed the navigational buttons. This meant the default Android interface no longer needed specialized hardware buttons. Previously, Android couldn't function without hardware Back, Menu, and Home keys. Now, with the software supplying all the necessary buttons, anything with a touch screen was able to run Android. + +The biggest benefit of the new software buttons was flexibility. The new app guidelines stated that apps should no longer require a hardware menu button, but for those that do, Honeycomb detects this and adds a fourth button to the system bar that allows these apps to work. The other flexibility attribute of software buttons was that they could change orientation with the device. Other than the power and volume buttons, the Xoom's orientation really wasn't important. The system bar always sat on the "bottom" of the device from the user's perspective. The trade off was that a big bar along the bottom of the screen definitely sucked up some screen real estate. To save space on 10-inch tablets, the status bar was merged into the system bar. All the usual status duties lived on the right side—there was battery and connectivity status, the time, and notification icons. + +The whole layout of the home screen changed, placing UI pieces in each of the four corners of the device. The bottom left housed the previously discussed navigational buttons, the bottom right was for status and notifications, the top left displayed text search and voice search, and the top right had buttons for the app drawer and adding widgets. + +![The new lock screen and Recent Apps interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/lockscreen-and-recent.png) +The new lock screen and Recent Apps interface. +Photo by Ron Amadeo + +(Since the Xoom was a [heavy] 10-inch, 16:9 tablet, it was primarily meant to be used horizontally. Most apps also supported portrait mode, though, so for the sake of our formatting, we're using mostly portrait mode shots. Just keep in mind the Honeycomb shots come from a 10-inch tablet, and the Gingerbread shots come from a 3.7-inch phone. The densities of information are not directly comparable.) + +The unlock screen—after switching from a menu button to a rotary dial to slide-to-unlock—removed any required accuracy from the unlock process by switching to a circle unlock. Swiping from the center outward in any direction would unlock the device. Like the rotary unlock, this was much nicer ergonomically than forcing your finger to follow a perfectly straight path. + +The strip of thumbnails in the second picture was the interface brought up by the newly christened "Recent Apps" button, now living next to Back and Home. Rather than the group of icons brought up in Gingerbread by long-pressing on the home button, Honeycomb showed app icons and thumbnails on the screen, which made it a lot easier to switch between tasks. Recent Apps was clearly inspired by Duarte's "card" multitasking in WebOS, which used full-screen thumbnails to switch tasks. This design offered the same ease-of-recognition as WebOS's task switcher, but the smaller thumbnails allowed more apps to fit on screen at once. + +While this implementation of Recent Apps may look like what you get on a current device, this version was very early. The list didn't scroll, meaning it showed seven apps in portrait mode and only five apps in horizontal mode. Anything beyond that was bumped off the list. You also couldn't swipe away thumbnails to close apps—this was just a static list. + +Here we see the Tron influence in full effect: the thumbnails had blue outlines and an eerie glow around them. This screenshot also shows a benefit of software buttons—context. The back button closed the list of thumbnails, so instead of the normal arrow, this pointed down. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/16/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2011/03/ars-reviews-the-motorola-xoom/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/17 - The history of Android.md b/sources/talk/The history of Android/17 - The history of Android.md new file mode 100644 index 0000000000..5422877252 --- /dev/null +++ b/sources/talk/The history of Android/17 - The history of Android.md @@ -0,0 +1,86 @@ +The history of Android +================================================================================ +![The Honeycomb app lineup lost a ton of apps. This also shows the notification panel and the new quick settings.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/apps-and-notifications2.png) +The Honeycomb app lineup lost a ton of apps. This also shows the notification panel and the new quick settings. +Photo by Ron Amadeo + +The default app icons were slashed from 32 to 25, and two of those were third-party games. Since Honeycomb was not for phones and Google wanted the default apps to all be tablet-optimized, a lot of apps didn't make the cut. We lost the Amazon MP3 store, Car Home, Facebook, Google Goggles, Messaging, News and Weather, Phone, Twitter, Google Voice, and Voice Dialer. Google was quietly building a music service that would launch soon, so the Amazon MP3 store needed to go anyway. Car Home, Messaging, and Phone made little sense on a non-phone device, Facebook and Twitter still don't have tablet Android apps, and Goggles, News and Weather, and Voice Dialer were barely supported applications that most people wouldn't miss. + +Almost every app icon was new. Just like the switch from the G1 to the Motorola Droid, the biggest impetus for change was probably the bump in resolution. The Nexus S had an 800×480 display, and Gingerbread came with art assets to match. The Xoom used a whopping 1280×800 10-inch display, which meant nearly every piece of art had to go. But again, this time a real designer was in charge, and things were a lot more cohesive. Honeycomb marked the switch from a vertically scrolling app drawer to paginated horizontal drawer. This change made sense on a horizontal device, but on phones it was still much faster to navigate the app drawer with a flingable, vertical list. + +The second Honeycomb screenshot shows the new notification panel. The gray and black Gingerbread design was tossed for another straight-black panel that gave off a blue glow. At the top was a block showing the time, date, connection status, battery, and a shortcut to the notification quick settings, and below that were the actual notifications. Non-permanent notifications could now be dismissed by tapping on an "X" on the right side of the notification. Honeycomb was the first version to enable controls within a notification. The first (and at the launch of Honeycomb, only) app to take advantage of this was the new Google Music app, which placed previous, play/pause, and next buttons in its notification. These new controls could be accessed from any app and made controlling music a breeze. + +!["Add to home screen" was given a zoomed-out interface for easy organizing. The search interface split auto suggest and universal search into different panes.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/widgetkeyboard.png) +"Add to home screen" was given a zoomed-out interface for easy organizing. The search interface split auto suggest and universal search into different panes. +Photo by Ron Amadeo + +Pressing the plus button in the top right corner of the home screen or long pressing on the background would open the new home screen configuration interface. Honeycomb showed a zoomed-out view of all the home screens along the top of the screen, and it filled the bottom half of the screen with a tabbed drawer containing widgets and shortcuts. Items could be dragged out of the bottom drawer and into any of the five home screens. Gingerbread would just show a list of text, but Honeycomb showed full thumbnail previews of the widgets. This gave you a much better idea of what a widget would look like instead of an app-name-only description like "calendar." + +The larger screen of the Motorola Xoom allowed the keyboard to take on a more PC-style layout, with keys like backspace, enter, shift, and tab put in the traditional locations. The keyboard took on a blueish tint and gained even more spacing between the keys. Google also added a dedicated smiley-face button. :-) + +![Gmail on Honeycomb versus Gmail on Gingerbread with the menu open. Buttons were placed on the main screen for easier discovery.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/thebasics.png) +Gmail on Honeycomb versus Gmail on Gingerbread with the menu open. Buttons were placed on the main screen for easier discovery. +Photo by Ron Amadeo + +Gmail demonstrated all the new UI concepts in Honeycomb. Android 3.0 did away with hiding all the controls behind a menu button. There was now a strip of icons along the top of the screen called the Action Bar, which lifted many useful controls to the main screen where users could see them. Gmail showed buttons for search, compose, and refresh, and it put less useful controls like settings, help, and feedback in a dropdown called the "overflow" button. Tapping checkboxes or selecting text would cause the entire action bar to change to icons relating to those actions—for instance, selecting text would bring up cut, copy, and select all buttons. + +The app icon displayed in the top left corner doubled as a navigation button called "Up." While "Back" worked similarly to a browser back button, navigating to previously visited screens, "Up" would navigate up the app hierarchy. For instance, if you were in the Android Market, pressed the "Email developer" button, and Gmail opened, "Back" would take you back to the Android Market, but "Up" would take you to the Gmail inbox. "Back" might close the current app, but "Up" never would. Apps could control the "Back" button, and they usually reprogrammed it to replicate the "Up" functionality. In practice, there was rarely a difference between the two buttons. + +Honeycomb also introduced the "Fragments" API, which allowed developers to use a single app for tablets and phones. A "Fragment" was a single pane of a user interface. In the Gmail picture above, the left folder list was one fragment and the inbox was another fragment. Phones would show one fragment per screen, and tablets could show two side-by-side. The developer defined the look of individual fragments, and Android would decide how they should be displayed based on the current device. + +![The calculator finally used regular Android buttons, but someone spilled blue ink on the calendar.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/calculendar.png) +The calculator finally used regular Android buttons, but someone spilled blue ink on the calendar. +Photo by Ron Amadeo + +For the first time in Android's history, the calculator got a makeover with non-custom buttons, so it actually looked like part of the OS. The bigger screen made room for more buttons, enough that all the calculator functionality could fit on one screen. The calendar greatly benefited from the extra space, gaining much more room for appointment text and controls. The action bar at the top of the screen held buttons to switch views, along with showing the current time span and common controls. Appointment blocks switched to a white background with the calendar corner only showing in the top right corner. At the bottom (or side, in horizontal view) were boxes showing the month calendar and a list of displayed calendars. + +The scale of the calendar could be adjusted, too. By performing a pinch zoom gesture, portrait week and day views could show between five and 19 hours of appointments on a single screen. The background of the calendar was made up of an uneven blue splotch, which didn't look particularly great and was tossed on later versions. + +![The new camera interface, showing off the live "Negative" effect.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/camera.png) +The new camera interface, showing off the live "Negative" effect. +Photo by Ron Amadeo + +The giant 10-inch Xoom tablet did have a camera, which meant that it also had a camera app. The Tron redesign finally got rid of the old faux-leather look that Google came up with in Android 1.6. The controls were laid out in a circle around the shutter button, bringing to mind the circular controls and dials on a real camera. The Cooliris-derived speech bubble popups were changed to glowing, semi-transparent black boxes. The Honeycomb screenshot shows the new "color effect" functionality, which applied a filter to the viewfinder in real time. Unlike the Gingerbread camera app, this didn't support a portrait orientation—it was limited to landscape only. Taking a portrait picture with a 10-inch tablet doesn't make much sense, but then neither does taking a landscape one. + +![The clock app didn't get quite as much love as other areas. Google just threw it into a tiny box and called it a day.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/clocks.png) +The clock app didn't get quite as much love as other areas. Google just threw it into a tiny box and called it a day. +Photo by Ron Amadeo + +Tons of functionality went out the door when it came time to remake the clock app. The entire "Deskclock" concept was kicked out the door, replaced with a simple large display of the time against a plain black background. The ability to launch other apps and view the weather was gone, as was the ability of the clock app to use your wallpaper. Google sometimes gave up when it came time to design a tablet-sized interface, like here, where it just threw the alarm interface into a tiny, centered dialog box. + +![The Music app finally got the ground-up redesign it has needed forever.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/muzack.png) +The Music app finally got the ground-up redesign it has needed forever. +Photo by Ron Amadeo + +While music received a few minor additions during its life, this was really the first time since Android 0.9 that it received serious attention. The highlight of the redesign was a don't-call-it-coverflow scrolling 3D album art view, called "New and Recent." Instead of the tabs added in Android 2.1, navigation was handled by a Dropbox box in the Action Bar. While "New and Recent" had 3D scrolling album art, "Albums" used a flat grid of albums thumbnails. The other sections had totally different designs, too. "Songs" used a vertically scrolling list of text, and "Playlists," "Genres," and "Artists" used stacked album art. + +In nearly every view, every single item had its own individual menu, usually little arrows in the bottom right corner of an item. For now, these would only show "Play" and "add to Playlist," but this version of Google Music was built for the future. Google was launching a Music service soon, and those individual menus would be needed for things like viewing other content from that artist in the Music Store and managing the cloud storage versus local storage options. + +Just like the Cooliris Gallery in Android 2.1, Google Music would blow up one of your thumbnails and use it as a background. The bottom "Now Playing" bar now displayed the album art, playback controls, and a song progress bar. + +![Some of the new Google Maps was really nice, and some of it was from Android 1.5.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/maps.png) +Some of the new Google Maps was really nice, and some of it was from Android 1.5. +Photo by Ron Amadeo + +Google Maps received another redesign for the big screen. This one would stick around for a while and used a semi-transparent black action bar for all the controls. Search was again the primary function, given the first spot in the action bar, but this time it was an actual search bar you could type in, instead of a search bar-shaped button that launched a completely different interface. Google finally gave up on dedicating screen space to actual zoom buttons, relying on only gestures to control the map view. While the feature has since been ported to all old versions of Maps, Honeycomb was the first version to feature 3D building outlines on the map. Dragging two fingers down on the map would "tilt" the map view and show the sides of the buildings. You could freely rotate and the buildings would adjust, too. + +Not every part of Maps was redesigned. Navigation was untouched from Gingerbread, and some core parts of the interface, like directions, were pulled straight from Android 1.6 and centered in a tiny box. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/17/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/18 - The history of Android.md b/sources/talk/The history of Android/18 - The history of Android.md new file mode 100644 index 0000000000..2b795adba1 --- /dev/null +++ b/sources/talk/The history of Android/18 - The history of Android.md @@ -0,0 +1,83 @@ +The history of Android +================================================================================ +![Yet another Android Market redesign dips its toe into the "cards" interface that would become a Google staple.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/play-store.png) +Yet another Android Market redesign dips its toe into the "cards" interface that would become a Google staple. +Photo by Ron Amadeo + +The Android Market released its fourth new design in Android's two-and-a-half years on the market. This new design was hugely important as it came really close to Google's "cards" interface. By displaying Apps or other content in little blocks, Google could seamlessly transition its app design between screens of various sizes with minimal effort. Content could be displayed just like photos in a gallery app—feed the layout renderer a big list of content blocks, enable screen wrapping, and you were done. Bigger screens saw more blocks of content, and smaller screens only saw a few at a time. With the content display out of the way, Google added a "Categories" fragment to the right side and a big featured app carousel at the top. + +While the design was ready for an easily configurable interface, the functionality was not. The original shipping version of the market was locked to a landscape orientation and was Honeycomb-exclusive. + +![The app page and "My Apps" interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/device-2014-02-12-190002.png) +The app page and "My Apps" interface. +Photo by Ron Amadeo + +This new market sold not only apps, but brought Books and Movies rentals into the fold as well. Google was selling books since 2010; it was only ever through a Website. The new market unified all of Google's content sales in a single location and brought it one step closer to taking on Apple's iTunes juggernaut, though selling all of these items under the "Android Market" was a bit of a branding snafu, as much of the content didn't require Android to use. + +![The browser did its best to look like Chrome, and Contacts used a two-pane interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/browsercontactst.png) +The browser did its best to look like Chrome, and Contacts used a two-pane interface. +Photo by Ron Amadeo + +The new Browser added an honest-to-goodness tabs strip at the top of the interface. While this browser wasn't Chrome, it aped a lot of Chrome's design and features. Besides the pioneering tabs-on-top interface, it added Incognito tabs, which kept no history or autocomplete records. There was also an option to have a Chrome-style new tab page consisting of thumbnails of your most-viewed webpages. + +The new Browser even synced with Chrome. After signing in to the browser, it would download your Chrome bookmarks and automatically sign in to Google Web pages with your account. Bookmarking a page was as easy as tapping on the star icon in the address bar. Just like Google Maps, the browser dumped the zoom buttons and went with all gesture controls. + +The contacts app was finally removed from the phone app and broken out into a standalone app. The previous contacts/dialer hybrid was far too phone-centric for how people use a modern smartphone. Contacts housed information for e-mails, IM, texting, addresses, birthdays, and social networks, so tying it to the phone app makes just as much sense as trying it to Google Maps. With the telephony requirements out of the way, contacts could be simplified to a tab-less list of people. Honeycomb went with a dual pane view showing the full contact list on the left and contacts on the right. This again made use of a Fragments API; a hypothetical phone version of this app could show each panel as a single screen. + +The Honeycomb version of Contacts was the first version to have a quick scroll feature. When grabbing the left scroll bar, you could quickly scroll up and down, and a letter preview showed your current spot in the list. + +![The new YouTube app looked like something out of the Matrix.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/youtubes.png) +The new YouTube app looked like something out of the Matrix. +Photo by Ron Amadeo + +YouTube thankfully dumped the "unique" design Google came up with for 2.3 and gave the video service a cohesive design that looked like it belonged in Android. The main screen was a horizontally scrolling curved wall of video thumbnails that showed a most popular or (when signed in) personalized selection of videos. While Google never brought this design to phones, it could be considered an easily reconfigurable card interface. The action bar shined here as a reconfigurable toolbar. When not signed it, the action bar was filled with a search bar. When you were signed in, search shrank down to a button, and tabs for "Home," "Browse," and "Your Channel" were shown. + +![Honeycomb really liked to drive home that it was a computer interface with blue scaffolding. Movie Studio completes the Tron look with an orange theme.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/other2.png) +Honeycomb really liked to drive home that it was a computer interface with blue scaffolding. Movie Studio completes the Tron look with an orange theme. +Photo by Ron Amadeo + +The lone new app in Honeycomb was "Movie Studio," which was not a self-explanatory app and arrived with no explanations or instructions. As far as we could tell, you could import video clips, cut them up, and add text and scene transitions. Editing video—one of the most time consuming, difficult, and processor-intensive things you can do on a computer—on a tablet felt just a little too ambitious, and Google would completely remove this app in later versions. Our favorite part of Movie Studio was that it really completed the Tron theme. While the rest of the OS used blue highlights, this was all orange. (Movie Studio is an evil program!) + +![Widgets!](http://cdn.arstechnica.net/wp-content/uploads/2014/02/device-2014-02-12-202224.png) +Widgets! +Photo by Ron Amadeo + +Honeycomb brought a new widget framework that allowed for scrolling widgets, and the Gmail, Email, and Calendar widgets were upgraded to support it. YouTube and Books used a new widget that auto-scrolled through cards of content. By flicking up or down on the widget, you could scroll through the cards. We're not sure what the point of being constantly reminded of your book collection was, but it's there if you want it. While all of these widgets worked great on a 10-inch screen, Google never redesigned them for phones, making them practically useless on Android's most popular form factor. All the widgets had massive identifying headers and usually took up half the screen to show only a few items. + +![The scrollable Recent Apps and resizable widgets in Android 3.1.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/31new.jpg) +The scrollable Recent Apps and resizable widgets in Android 3.1. +Photo by Ron Amadeo + +Later versions of Honeycomb would fix many of the early problems 3.0 had. Android 3.1 was released three months after the first version of Honeycomb, and it brought several improvements. Resizable widgets were one of the biggest features added. After long pressing on a widget, a blue outline with grabbable handles would pop up around it, and dragging the handles around would resize the widget. The Recent Apps panel could now scroll vertically and held many more apps. The only feature missing from it at this point was the ability to swipe away apps. + +Today, an 0.1 upgrade is a major release, but in Honeycomb, point releases were considerably smaller. Besides the few UI tweaks, 3.1 added support for gamepads, keyboards, mice, and other input devices over USB and Bluetooth. It also offered a few more developer APIs. + +![Android 3.2's compatibility zoom and a typical stretched-out app on an Android tablet.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/device-2014-02-14-131132.jpg) +Android 3.2's compatibility zoom and a typical stretched-out app on an Android tablet. +Photo by Ron Amadeo + +Android 3.2 launched two months after 3.1, adding support for smaller sized tablets in the seven- to eight-inch range. It finally enabled SD card support, which the Xoom carried like a vestigial limb for the first five months of its life. + +Honeycomb was rushed out the door in order to be an ecosystem builder. No one will want an Android tablet if the tablet-specific apps aren't there, and Google knew it needed to get something in the hands of developers ASAP. At this early stage of Android's tablet ecosystem, the apps just weren't there. It was the biggest problem people had with the Xoom. + +3.2 added "Compatibility Zoom," which gave users a new option of stretching apps to the screen (as shown in the right picture) or zooming the normal app layout to fit the screen. Neither option was ideal, and without the app ecosystem to support it, Honeycomb devices sold pretty poorly. Google's tablet moves would eventually pay off though. Today, Android tablets have [taken the market share crown from iOS][1]. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/18/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://techcrunch.com/2014/03/03/gartner-195m-tablets-sold-in-2013-android-grabs-top-spot-from-ipad-with-62-share/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/19 - The history of Android.md b/sources/talk/The history of Android/19 - The history of Android.md new file mode 100644 index 0000000000..32841f5be9 --- /dev/null +++ b/sources/talk/The history of Android/19 - The history of Android.md @@ -0,0 +1,71 @@ +The history of Android +================================================================================ +![Google Music Beta running on Gingerbread.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/device-2014-03-31-110613.png) +Google Music Beta running on Gingerbread. +Photo by Ron Amadeo + +### Google Music Beta—cloud storage in lieu of a content store ### + +While Honeycomb revamped the Google Music interface, the Music app didn't go directly from the Honeycomb design to Ice Cream Sandwich. In May 2011, Google launched "[Google Music Beta][1]," an online music locker that came along with a new Google Music app. + +The new Google Music app for 2.2 and up took a few design cues from the Cooliris Gallery, of all things, going with a changing, blurry image for the background. Just about everything was transparent: the pop-up menus, the tabs at the top, and the now-playing bar at the bottom. Individual songs or entire playlists could be downloaded to the device for offline playback, making Google Music an easy way to make sure your music was on all your devices. Besides the mobile app, there was also a Webapp, which allowed Google Music to work on any desktop computer. + +Google didn't have content deals in place with the record companies to start a music store yet, so its stop-gap solution was to allow users to store songs online and stream them to a device. Today, Google has content deals for individual song purchases and all-you-can-eat subscription modes, along with the music locker service. + +### Android 4.0, Ice Cream Sandwich—the modern era ### + +![The Samsung Galaxy Nexus, Android 4.0's launch device.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/samsung-i9250-galaxy-nexus-51.jpg) +The Samsung Galaxy Nexus, Android 4.0's launch device. + +Released in October 2011, Android 4.0, Ice Cream Sandwich, got the OS back on track with a release spanning phones and tablets, and it was once again open source. It was the first update to come to phones since Gingerbread, which meant the majority of Android's user base went almost a year without seeing an update. 4.0 was all about shrinking the Honeycomb design to smaller devices, bringing on-screen buttons, the action bar, and the new design language to phones. + +Ice Cream Sandwich debuted on the Samsung Galaxy Nexus, one of the first Android phones with a 720p screen. Along with the higher resolution, the Galaxy Nexus pushed phones to even larger sizes with a 4.65-inch screen—almost a full inch larger than the original Nexus One. This was called "too big" by many critics, but today many Android phones are even bigger. (Five inches is "normal" now.) Ice Cream Sandwich required a lot more power than Gingerbread did, and the Galaxy Nexus delivered with a dual core, 1.2Ghz TI OMAP processor and 1GB of RAM. + +In the US, the Galaxy Nexus debuted on Verizon with an LTE modem. Unlike previous Nexus devices, the most popular model—the Verizon version—was under the control of a carrier, and Google's software and updates had to be approved by Verizon before the phone could be updated. This led to delays in updates and the removal of software Verizon didn't like, namely Google Wallet. + +Thanks to the software improvements in Ice Cream Sandwich, Google finally achieved peak button removal on a phone. With the on-screen navigation buttons, the capacitive buttons could be removed, leaving the Galaxy Nexus with only power and volume buttons. + +![Android 4.0 shrunk down a lot of the Honeycomb design.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/2home.png) +Android 4.0 shrunk down a lot of the Honeycomb design. +Photo by Ron Amadeo + +The Tron aesthetic in Honeycomb was a little much. Immediately in Ice Cream Sandwich, Google started turning down some of the more sci-fi aspects of the design. The sci-fi clock font changed from a folded over semi-transparent thing to a thin, elegant, normal-looking font. The water ripple touch effect on the unlock circle was removed, and the alien Honeycomb clock widget was scrapped in favor of a more minimal design. The system buttons were redesigned, too, changing from blue outlines with the occasional thick side to thin, even, white outlines. The default wallpaper changed from the blue Honeycomb spaceship interior to a streaky, broken rainbow, which added some much-needed color to the default layout. + +The Honeycomb system bar features were split into a two-bar design for phones. At the top was the traditional status bar, and at the bottom was the new system bar, which housed the three system buttons: Back, Home, and Recent. A permanent search bar was added to the top of the home screen. The bar persisted on the screen the same way the dock did, so over the five home screens, it took up 20 icon spots. On the Honeycomb unlock screen, the small inner circle could be moved anywhere outside the larger circle to unlock the device. In Ice Cream Sandwich, you had to actually hit the unlock icon with the inner circle. This new accuracy requirement allowed Google to add another option to the lock screen: a camera shortcut. Dragging the inner circle to the camera icon would directly launch the camera, skipping the home screen. + +![A Phone OS meant a ton more apps, and the notification panel became a full-screen interface again.](http://cdn.arstechnica.net/wp-content/uploads/2014/02/appsandnotic40.png) +A Phone OS meant a ton more apps, and the notification panel became a full-screen interface again. +Photo by Ron Amadeo + +The App drawer was still tabbed, but the "My Apps" tab from Honeycomb was replaced with "Widgets," which was a simple 2×3 thumbnail view of widgets. Like Honeycomb, this app drawer was paginated and had to be swiped through horizontally. (Android still uses this app drawer design today.) New in the app drawer was an Android Google+ app, which existed separately for some time. Along with it came a shortcut to "Messenger," the Google+ private messaging service. ("Messenger" is not to be confused with "Messaging," the stock SMS app.) + +Since we're back to a phone now, Messaging, News and Weather, Phone, and Voice Dialer returned, and Cordy, a tablet game, was removed. Our screenshots are from the Verizon variant, which, despite being a Nexus device, was sullied by crapware like "My Verizon Mobile," and "VZ Backup Assistant." In keeping with the de-Tronification theme of Ice Cream Sandwich, the Calendar and Camera icons now looked more like something from Planet Earth rather than alien artifacts. Clock, Downloads, Phone, and Android Market got new icons, too, and "Contacts" got a new icon and a new name, becoming "People." + +The Notification panel got a big overhaul, especially when compared to the [previous Gingerbread design][2]. There was now a top header featuring the date, a settings shortcut, and a "clear all." While first Honeycomb allowed users to dismiss individual notifications by tapping on an "X" in the notification, Ice Cream Sandwich's implementation was much more elegant: just swipe the individual notifications to the left or right and they cleared. Honeycomb had blue highlights, but the blue tone was all over the place. Ice Cream Sandwich unified almost everything to a single blue (hex code #33B5E5, if you want to get specific). The background of the notification panel was made transparent, and the "handle" at the bottom changed to a minimal blue circle with an opaque black background. + +![The main page of the Android Market changed back to black.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/market.png) +The main page of the Android Market changed back to black. +Photo by Ron Amadeo + +The Market got yet another redesign. It finally supported portrait mode again and added Music to the lineup of content you can buy in the store. The new Market extended the cards concept that debuted in Honeycomb and was the first version to use the same application on tablets and phones. The cards on the main page usually didn't link to apps, instead pointing to special promotional pages like "staff picks" or seasonal promotions. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/19/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2011/05/hands-on-grooving-on-the-go-with-impressive-google-music-beta/ +[2]:http://cdn.arstechnica.net/wp-content/uploads/2014/02/32.png +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/20 - The history of Android.md b/sources/talk/The history of Android/20 - The history of Android.md new file mode 100644 index 0000000000..30db4ce5c2 --- /dev/null +++ b/sources/talk/The history of Android/20 - The history of Android.md @@ -0,0 +1,93 @@ +The history of Android +================================================================================ +![Another Market design that was nothing like the old one. This lineup shows the categories page, featured, a top apps list, and an app page.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/market-pages.png) +Another Market design that was nothing like the old one. This lineup shows the categories page, featured, a top apps list, and an app page. +Photo by Ron Amadeo + +These screenshots give us our first look at the refined version of the Action Bar in Ice Cream Sandwich. Almost every app got a bar at the top of the screen that housed the app icon, title of the screen, several function buttons, and a menu button on the right. The right-aligned menu button was called the "overflow" button, because it housed items that didn't fit on the main action bar. The overflow menu wasn't static, though, it gave the action bar more screen real-estate—like in horizontal mode or on a tablet—and more of the overflow menu items were shown on the action bar as actual buttons. + +New in Ice Cream Sandwich was this design style of "swipe tabs," which replaced the 2×3 interstitial navigation screen Google was previously pushing. A tab bar sat just under the Action Bar, with the center title showing the current tab and the left and right having labels for the pages to the left and right of this screen. A swipe in either direction would change tabs, or you could tap on a title to go to that tab. + +One really cool design touch on the individual app screen was that, after the pictures, it would dynamically rearrange the page based on your history with that app. If you never installed the app before, the description would be the first box. If you used the app before, the first section would be the reviews bar, which would either invite you to review the app or remind you what you thought of the app last time you installed it. The second section for a previously used app was “What’s New," since an existing user would most likely be interested in changes. + +![Recent apps and the browser were just like Honeycomb, but smaller.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/recentbrowser.png) +Recent apps and the browser were just like Honeycomb, but smaller. +Photo by Ron Amadeo + +Recent apps toned the Tron look way down. The blue outline around the thumbnails was removed, along with the eerie, uneven blue glow in the background. It now looked like a neutral UI piece that would be at home in any time period. + +The Browser did its best to bring a tabbed experience to phones. Multi-tab browsing was placed front and center, but instead of wasting precious screen space on a tab strip, a tab button would open a Recent Apps-like interface that would show you your open tabs. Functionally, there wasn't much difference between this and the "window" view that was present in past versions of the Browser. The best addition to the Browser was a "Request desktop site" menu item, which would switch from the default mobile view to the normal site. The Browser showed off the flexibility of Google's Action Bar design, which, despite not having a top-left app icon, still functioned like any other top bar design. + +![Gmail and Google Talk—they're like Honeycomb, but smaller!](http://cdn.arstechnica.net/wp-content/uploads/2014/03/gmail2.png) +Gmail and Google Talk—they're like Honeycomb, but smaller! +Photo by Ron Amadeo + +Gmail and Google Talk both looked like smaller versions of their Honeycomb designs, but with a few tweaks to work better on smaller screens. Gmail featured a dual Action Bar—one on the top of the screen and one on the bottom. The top of the bar showed your current folder, account, and number of unread messages, and tapping on the bar opened a navigation menu. The bottom featured all the normal buttons you would expect along with the overflow button. This dual layout was used in order display more buttons on the surface level, but in landscape mode where vertical space was at a premium, the dual bars merged into a single top bar. + +In the message view, the blue bar was "sticky" when you scrolled down. It stuck to the top of the screen, so you could always see who wrote the current message, reply, or star it. Once in a message, the thin, dark gray bar at the bottom showed your current spot in the inbox (or whatever list brought you here), and you could swipe left and right to get to other messages. + +Google Talk would let you swipe left and right to change chat windows, just like Gmail, but there the bar was at the top. + +![The new dialer and the incoming call screen, both of which we haven't seen since Gingerbread.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/inc-calls.png) +The new dialer and the incoming call screen, both of which we haven't seen since Gingerbread. +Photo by Ron Amadeo + +Since Honeycomb was only for tablets, some UI pieces were directly preceded by Gingerbread instead. The new Ice Cream Sandwich dialer was, of course, black and blue, and it used smaller tabs that could be swiped through. While Ice Cream Sandwich finally did the sensible thing and separated the main phone and contacts interfaces, the phone app still had its own contacts tab. There were now two spots to view your contact list—one with a dark theme and one with a light theme. With a hardware search button no longer being a requirement, the bottom row of buttons had the voicemail shortcut swapped out for a search icon. + +Google liked to have the incoming call interface mirror the lock screen, which meant Ice Cream Sandwich got a circle-unlock design. Besides the usual decline or accept options, a new button was added to the top of the circle, which would let you decline a call by sending a pre-defined text message to the caller. Swiping up and picking a message like "Can't talk now, call you later" was (and still is) much more informative than an endlessly ringing phone. + +![Honeycomb didn't have folders or a texting app, so here's Ice Cream Sandwich versus Gingerbread.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/thenonmessedupversion.png) +Honeycomb didn't have folders or a texting app, so here's Ice Cream Sandwich versus Gingerbread. +Photo by Ron Amadeo + +Folders were now much easier to make. In Gingerbread, you had to long press on the screen, pick "folders," and then pick "new folder." In Ice Cream Sandwich, just drag one icon on top of another, and a folder is created containing those two icons. It was dead simple and much easier than finding the hidden long-press command. + +The design was much improved, too. Gingerbread used a generic beige folder icon, but Ice Cream Sandwich actually showed you what was in the folder by stacking the first three icons on top of each other, drawing a circle around them, and using that as the folder icon. Open folder containers resized to fit the amount of icons in the folder rather than being a full-screen, mostly empty box. It looked way, way better. + +![YouTube switched to a more modern white theme and used a list view instead of the crazy 3D scrolling](http://cdn.arstechnica.net/wp-content/uploads/2014/03/youtubes.png) +YouTube switched to a more modern white theme and used a list view instead of the crazy 3D scrolling +Photo by Ron Amadeo + +YouTube was completely redesigned and looked less like something from The Matrix and more like, well, YouTube. It was a simple white list of vertically scrolling videos, just like the website. Making videos on your phone was given prime real estate, with the first button on the action bar dedicated to recording a video. Strangely, different screens used different YouTube logos in the top left, switching between a horizontal YouTube logo and a square one. + +YouTube used swipe tabs just about everywhere. They were placed on the main page to browse and view your account and on the video pages to switch between comments, info, and related videos. The 4.0 app showed the first signs of Google+ YouTube integration, placing a "+1" icon next to the traditional rating buttons. Eventually Google+ would completely take over YouTube, turning the comments and author pages into Google+ activity. + +![Ice Cream Sandwich tried to make things easier on everyone. Here is a screen for tracking data usage, the new developer options with tons of analytics enabled, and the intro tutorial.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/data.png) +Ice Cream Sandwich tried to make things easier on everyone. Here is a screen for tracking data usage, the new developer options with tons of analytics enabled, and the intro tutorial. +Photo by Ron Amadeo + +Data Usage allowed users to easily keep track of and control their data usage. The main page showed a graph of this month's data usage, and users could set thresholds to be warned about data consumption or even set a hard usage limit to avoid overage charges. All of this was done easily by dragging the horizontal orange and red threshold lines higher or lower on the chart. The vertical white bars allowed users to select a slice of time in the graph. At the bottom of the page, the data usage for the selected time was broken down by app, so users could select a spike and easily see what app was sucking up all their data. When times got really tough, in the overflow button was an option to restrict all background data. Then, only apps running in the foreground could have access to the Internet connection. + +The Developer Options typically only housed a tiny handful of settings, but in Ice Cream Sandwich the section received a huge expansion. Google added all sorts of on-screen diagnostic overlays to help app developers understand what was happening inside their app. You could view CPU usage, pointer location, and view screen updates. There were also options to change the way the system functioned, like control over animation speed, background processing, and GPU rendering. + +One of the biggest differences between Android and the iOS is Android's app drawer interface. In Ice Cream Sandwich's quest to be more user-friendly, the initial startup launched a small tutorial showing users where the app drawer was and how to drag icons out of the drawer and onto the homescreen. With the removal of the off-screen menu button and changes like this, Android 4.0 made a big push to be more inviting to new smartphone users and switchers. + +![The "touch to beam" NFC support, Google Earth, and App Info, which would let you disable crapware.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/2014-03-06-03.57.png) +The "touch to beam" NFC support, Google Earth, and App Info, which would let you disable crapware. + +Built into Ice Cream Sandwich was full support for [NFC][1]. While previous devices like the Nexus S had NFC, support was limited and the OS couldn't do much with the chip. 4.0 added a feature called Android Beam, which would let two NFC-equipped Android 4.0 devices transfer data back and forth. NFC would transmit data related to whatever was on the screen at the time, so tapping when a phone displayed a webpage would send that page to the other phone. You could also send contact information, directions, and YouTube links. When the two phones were put together, the screen zoomed out, and tapping on the zoomed-out display would send the information. + +In Android, users are not allowed to uninstall system apps, which are often integral to the function of the device. Carriers and OEMs took advantage of this and started putting crapware in the system partition, which they would often stick with software they didn't want. Android 4.0 allowed users to disable any app that couldn't be uninstalled, meaning the app remained on the system but didn't show up in the app drawer and couldn't be run. If users were willing to dig through the settings, this gave them an easy way to take control of their phone. + +Android 4.0 can be thought of as the start of the modern Android era. Most of the Google apps released around this time only worked on Android 4.0 and above. There were so many new APIs that Google wanted to take advantage of that—initially at least—support for versions below 4.0 was limited. After Ice Cream Sandwich and Honeycomb, Google was really starting to get serious about software design. In January 2012, the company [finally launched][2] *Android Design*, a design guideline site that taught Android app developers how to create apps to match the look and feel of Android. This was something iOS not only had from the start of third-party app support, but Apple enforced design so seriously that apps that did not meet the guidelines were blocked from the App Store. The fact that Android went three years without any kind of public design documents from Google shows just how bad things used to be. But with Duarte in charge of Android's design revolution, the company was finally addressing basic design needs. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/20/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2011/02/near-field-communications-a-technology-primer/ +[2]:http://arstechnica.com/business/2012/01/google-launches-style-guide-for-android-developers/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/21 - The history of Android.md b/sources/talk/The history of Android/21 - The history of Android.md new file mode 100644 index 0000000000..265e7a867b --- /dev/null +++ b/sources/talk/The history of Android/21 - The history of Android.md @@ -0,0 +1,103 @@ +The history of Android +================================================================================ +![](http://cdn.arstechnica.net/wp-content/uploads/2014/03/playicons2.png) +Photo by Ron Amadeo + +### Google Play and the return of direct-to-consumer device sales ### + +On March 6, 2012, Google unified all of its content offerings under the banner of "Google Play." The Android Market became the Google Play Store, Google Books became Google Play Books, Google Music became Google Play Music, and Android Market Movies became Google Play Movies & TV. While the app interfaces didn't change much, all four content apps got new names and icons. Content purchased in the Play Store would be downloaded to the appropriate app, and the Play Store and Play content apps all worked together to provide a fairly organized content experience. + +The Google Play update was Google's first big out-of-cycle update. Four packed-in apps were all changed without having to issue a system update—they were all updated through the Android Market/Play Store. Enabling out-of-cycle updates to individual apps was a big focus for Google, and being able to do an update like this was the culmination of an engineering effort that started in the Gingerbread era. Google had been working on "decoupling" the apps from the operating system and making everything portable enough to be distributed through the Android Market/Play Store. + +While one or two apps (mostly Maps and Gmail) had previously lived on the Android Market, from here on you'll see a lot more significant updates that have nothing to do with an operating system release. System updates require the cooperation of OEMs and carriers, so they are difficult to push out to every user. Play Store updates are completely controlled by Google, though, providing the company a direct line to users' devices. For the launch of Google Play, the Android Market updated itself to the Google Play Store, and from there, Books, Music, and Movies were all issued Google Play-flavored updates. + +The design of the Google Play apps was still all over the place. Each app looked and functioned differently, but for now, a cohesive brand was a good start. And removing "Android" from the branding was necessary because many services were available in the browser and could be used without touching an Android device at all. + +In April 2012, Google started [selling devices though the Play Store again][1], reviving the direct-to-customer model it had experimented with for the launch of the Nexus One. While it was only two years after ending the Nexus One sales, Internet shopping was now more common place, and buying something before you could hold it didn't seem as crazy as it did in 2010. + +Google also saw how price-conscious consumers became when faced with the Nexus One's $530 price tag. The first device for sale was an unlocked, GSM version of the Galaxy Nexus for $399. From there, price would go even lower. $350 has been the entry-level price for the last two Nexus smartphones, and 7-inch Nexus tablets would come in at only $200 to $220. + +Today, the Play Store sells eight different Android devices, four Chromebooks, a thermostat, and tons of accessories, and the device store is the de-facto location for a new Google product launch. New phone launches are so popular, the site usually breaks under the load, and new Nexus phones sell out in a few hours. + +### Android 4.1, Jelly Bean—Google Now points toward the future ### + +![The Asus-made Nexus 7, Android 4.1's launch device.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/ASUS_Google_Nexus_7_4_11.jpg) +The Asus-made Nexus 7, Android 4.1's launch device. + +With the release of Android 4.1, Jelly Bean in July 2012, Google settled into an Android release cadence of about every six months. The platform matured to the point where a release every three months was unnecessary, and the slower release cycle gave OEMs a chance to catch their breath. Unlike Honeycomb, point releases were now fairly major updates, with 4.1 bringing major UI and framework changes. + +One of the biggest changes in Jelly Bean that you won't be able to see in screenshots is "Project Butter," the name for a concerted effort by Google's engineers to make Android animations run smoothly at 30FPS. Core changes were made, like Vsync and triple buffering, and individual animations were optimized so they could be drawn smoothly. Animation and scrolling smoothness had always been a weak point of Android when compared to iOS. After some work on both the core animation framework and on individual apps, Jelly Bean brought Android a lot closer to iOS' smoothness. + +Along with Jelly Bean came the [Nexus][2] 7, a 7-inch tablet manufactured by Asus. Unlike the primarily horizontal Xoom, the Nexus 7 was meant to be used in portrait mode, like a large phone. The Nexus 7 showed that, after almost a year-and-a-half of ecosystem building, Google was ready to commit to the tablet market with a flagship device. Like the Nexus One and GSM Galaxy Nexus, the Nexus 7 was sold online directly by Google. While those earlier devices had shockingly high prices for consumers that were used to carrier subsidies, the Nexus 7 hit a mass market price point of only $200. The price bought you a device with a 7-inch, 1280x800 display, a quad core, 1.2 GHz Tegra 3 processor, 1GB of RAM, and 8GB of storage. The Nexus 7 was such a good value that many wondered if Google was making any money at all on its flagship tablet. + +This smaller, lighter, 7-inch form factor would be a huge success for Google, and it put the company in the rare position of being an industry trendsetter. Apple, which started with a 10-inch iPad, was eventually forced to answer the Nexus 7 and tablets like it with the iPad Mini. + +![4.1's new lock screen design, wallpaper, and the new on-press highlight on the system buttons.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/picture.png) +4.1's new lock screen design, wallpaper, and the new on-press highlight on the system buttons. +Photo by Ron Amadeo + +The Tron look introduced in Honeycomb was toned down a little in Ice Cream Sandwich, and Jelly Bean took things a step further. It started removing blue from large chunks of the operating system. The hint was the on-press highlights on the system buttons, which changed from blue to gray. + +![A composite image of the new app lineup and the new notification panel with expandable notifications.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/jb-apps-and-notications.png) +A composite image of the new app lineup and the new notification panel with expandable notifications. +Photo by Ron Amadeo + +The Notification panel was completely revamped, and we've finally arrived at the design used today in KitKat. The new panel extended to the top of the screen and covered the usual status icons, meaning the status bar was no longer visible when the panel was open. The time was prominently displayed in the top left corner, along with the date and a settings shortcut. The clear all notions button, which was represented by an "X" in Ice Cream Sandwich, changed to a stairstep icon, symbolizing the staggered sliding animation that cleared the notification panel. The bottom handle changed from a circle to a single line that ran the length of the notification panel. All the typography was changed—the notification panel now used bigger, thinner fonts for everything. This was another screen where the blue introduced in Ice Cream Sandwich and Honeycomb was removed. The notification panel was entirely gray now except for on-touch highlights. + +There was new functionality in the panel, too. Notifications were now expandable and could show much more information than the previous two-line design. It now showed up to eight lines of text and could even show buttons at the bottom of the notification. The screenshot notification had a share button at the bottom, and you could call directly from a missed call notification, or you could snooze a ringing alarm all from the notification panel. New notifications were expanded by default, but as they piled up they would collapse back to the traditional size. Dragging down on a notification with two fingers would expand it. + +![The new Google Search app, with Google Now cards, voice search, and text search.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/googlenow.png) +The new Google Search app, with Google Now cards, voice search, and text search. +Photo by Ron Amadeo + +The biggest feature addition to Jelly Bean for not only Android, but for Google as a whole, was the new version of the Google Search application. This introduced "Google Now," a predictive search feature. Google Now was displayed as several cards that sit below the search box, and it would offer results to searches Google thinks you care about. These were things like Google Maps searches for places you've recently looked at on your desktop computer or calendar appointment locations, the weather, and time at home while traveling. + +The new Google Search app could, of course, be launched with the Google icon, but it could also be accessed from any screen with a swipe up from the system bar. Long pressing on the system bar brought up a ring that worked similarly to the lock screen ring. The card section scrolled vertically, and cards could be a swipe away if you didn't want to see them. Voice Search was a big part of the updates. Questions weren't just blindly entered into Google; if Google knew the answer, it would also talk back using a text-To-Speech engine. And old-school text searches were, of course, still supported. Just tap on the bar and start typing. + +Google frequently called Google Now "the future of Google Search." Telling Google what you wanted wasn't good enough. Google wanted to know what you wanted before you did. Google Now put all of Google's data mining knowledge about you to work for you, and it was the company's biggest advantage against rival search services like Bing. Smartphones knew more about you than any other device you own, so the service debuted on Android. But Google slowly worked Google Now into Chrome, and eventually it will likely end up on Google.com. + +While the functionality was important, it became clear that Google Now was the most important design work to ever come out of the company, too. The white card aesthetic that this app introduced would become the foundation for Google's design of just about everything. Today, this card style is used in the Google Play Store and in all of the Play content apps, YouTube, Google Maps, Drive, Keep, Gmail, Google+, and many others. It's not just Android apps, either. Many of Google's desktop sites and iOS apps are inspired by this design. Design was historically one of Google's weak areas, but Google Now was the point where the company finally got its act together with a cohesive, company-wide design language. + +![Yet another YouTube redesign. Information density went way down.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/yotuube.png) +Yet another YouTube redesign. Information density went way down. +Photo by Ron Amadeo + +Another version, another YouTube redesign. This time the list view was primarily thumbnail-based, with giant images taking up most of the screen real estate. Information density tanked with the new list design. Before YouTube would display around six items per screen, now it could only display three. + +YouTube was one of the first apps to add a sliding drawer to the left side of an app, a feature which would become a standard design style across Google's apps. The drawer has links for your account and channel subscriptions, which allowed Google to kill the tabs-on-top design. + +![Google Play Service's responsibilities versus the rest of Android.](http://cdn.arstechnica.net/wp-content/uploads/2013/08/playservicesdiagram2.png) +Google Play Service's responsibilities versus the rest of Android. +Photo by Ron Amadeo + +### Google Play Services—fragmentation and making OS versions (nearly) obsolete ### + +It didn't seem like a big deal at the time, but in September 2012, Google Play Services 1.0 was automatically pushed out to every Android phone running 2.2 and up. It added a few Google+ APIs and support for OAuth 2.0. + +While this update might sound boring, Google Play Services would eventually grow to become an integral part of Android. Google Play Services acts as a shim between the normal apps and the installed Android OS, allowing Google to update or replace some core components and add APIs without having to ship out a new Android version. + +With Play Services, Google had a direct line to the core of an Android phone without having to go through OEM updates and carrier approval processes. Google used Play Services to add an entirely new location system, a malware scanner, remote wipe capabilities, and new Google Maps APIs, all without shipping an OS update. Like we mentioned at the end of the Gingerbread section, thanks to all the "portable" APIs implemented in Play Services, Gingerbread can still download a modern version of the Play Store and many other Google Apps. + +The other big benefit was compatibility with Android's user base. The newest release of an Android OS can take a very long time to get out to the majority of users, which means APIs that get tied to the latest version of the OS won't be any good to developers until the majority of the user base upgrades. Google Play Services is compatible with Froyo and above, which is 99 percent of active devices, and the updates pushed directly to phones through the Play Store. By including APIs in Google Play Services instead of Android, Google can push a new API out to almost all users in about a week. It's [a great solution][3] to many of the problems caused by version fragmentation. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2012/04/unlocked-samsung-galaxy-nexus-can-now-be-purchased-from-google/ +[2]:http://arstechnica.com/gadgets/2012/07/divine-intervention-googles-nexus-7-is-a-fantastic-200-tablet/ +[3]:http://arstechnica.com/gadgets/2013/09/balky-carriers-and-slow-oems-step-aside-google-is-defragging-android/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/22 - The history of Android.md b/sources/talk/The history of Android/22 - The history of Android.md new file mode 100644 index 0000000000..79cf7bd2a5 --- /dev/null +++ b/sources/talk/The history of Android/22 - The history of Android.md @@ -0,0 +1,84 @@ +The history of Android +================================================================================ +### Android 4.2, Jelly Bean—new Nexus devices, new tablet interface ### + +The Android Platform was rapidly maturing, and with Google hosting more and more apps in the Play Store, there was less and less that needed to go out in the OS update. Still, the relentless march of updates must continue, and in November 2012 Android 4.2 was released. 4.2 was still called "Jelly Bean," a nod to the relatively small amount of changes that were present in this release. + +![The LG-made Nexus 4 and Samsung-made Nexus 10.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/unnamed.jpg) +The LG-made Nexus 4 and Samsung-made Nexus 10. +Photo by Google/Ron Amadeo + +Along with Android 4.2 came two flagship devices, the Nexus 4 and the Nexus 10, both of which were sold direct by Google on the Play Store. The Nexus 4 applied the Nexus 7 strategy of a quality device at a shockingly low price and sold for $300 unlocked. The Nexus 4 had a quad-core 1.5 GHz Snapdragon S4 Pro, 2GB of RAM and a 4.7-inch 1280×768 LCD. Google's new flagship phone was manufactured by LG, and with the manufacturer switch came a focus on materials and build quality. The Nexus 4 had a glass front and back, and while you couldn't drop it, it was one of the nicest-feeling Android phones to date. The biggest downside to the Nexus 4 was the lack of LTE at a time when most phones, including the Verizon Galaxy Nexus, came with the faster modem. Still, demand for the Nexus 4 greatly exceeded Google's expectations—the launch rush crashed the Play Store Web site on launch day. The device sold out in under an hour. + +The Nexus 10 was Google's first 10-inch Nexus tablet. The highlight of the device was the 2560×1600 display, which was the highest resolution in its class. All those pixels were powered by a dual core, 1.7GHz Cortex A15 processor and 2GB of RAM. With each passing month, it's looking more and more like the Nexus 10 is the first and last 10-inch Nexus tablet. Usually these devices are upgraded every year, but the Nexus 10 is now 16 months old, and there's no sign of the new model on the horizon. Google is doing well with smaller-sized 7-inch tablets, and it seems content to let partners [like Samsung][1] explore the larger end of the tablet spectrum. + +![The new lock screen, wallpaper, and clock widget design.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/JBvsjb.jpg) +The new lock screen, wallpaper, and clock widget design. +Photo by Ron Amadeo + +4.2 brought lots of changes to the lock screen. The font was centered and used an extremely thick weight for the hour and a thin font for the minutes. The lock screen was now paginated and could be customized with widgets. Rather than a simple clock on the lock screen, users could replace it with another widget or add extra pages to the lock screen for more widgets. + +![The lock screen's add widget page, the list of widgets, the Gmail widget on the lock screen, and swiping over to the camera.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/locksc2reen.jpg) +The lock screen's add widget page, the list of widgets, the Gmail widget on the lock screen, and swiping over to the camera. +Photo by Ron Amadeo + +The lock screen now worked like a stripped-down version of the home screen. Page outlines would pop up on the left and right sides of the lock screen to hint to users that they could swipe to other pages with other widgets. Swiping to the left would show a simple blank page with a plus sign in the center, and tapping on it would bring up a list of widgets that were compatible with the lock screen. Lock screens were limited to one widget per page and could be expanded or collapsed by dragging up or down on the widget. The right-most page was reserved for the camera—a simple over would open the camera interface, but you weren't able to swipe back. + +![The new Quick Settings panel and a composite image of the app lineup.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/42fix.png) +The new Quick Settings panel and a composite image of the app lineup. +Photo by Ron Amadeo + +One of the biggest additions to 4.2 was the new "Quick Settings" panel. Android 3.0 brought a way to quickly change power settings to tablets, and 4.2 finally brought that ability to phones. A new icon was added to the top right corner of the notification panel that would switch between the normal list of notifications and the new quick settings screen. Quick Settings offered faster access to screen brightness, network connections, and battery and data usage without having to dig through the full settings screen. The top level settings button in Android 4.1 was removed, and a square was added to the Quick Settings screen for it. + +There were lots of changes to the app drawer and 4.2's lineup of apps and icons. Thanks to the wider aspect ratio of the Nexus 4 (5:3 vs 16:9 on the Galaxy Nexus), the app drawer on that device could now show a five-wide grid of icons. 4.2 replaced the stock browser with Google Chrome and the stock calendar with Google Calendar, both of which brought new icon designs. The Clock and Camera apps were revamped in 4.2, and new icons were part of the deal. "Google Settings" was a new app that offered shortcuts to all the existing Google Account settings around the OS, and it had a unified look with Google Search and the new Google+ icon. Google Maps got a new icon, and Google Latitude, which was part of Google Maps, was retired in favor of Google+ location. + +![The browser was replaced with Chrome, and the new camera interface with a full screen viewfinder.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/chroemcam.jpg) +The browser was replaced with Chrome, and the new camera interface with a full screen viewfinder. +Photo by Ron Amadeo + +The stock browser did its best Chrome imitation for a while—it took many cues from Chrome’s interface, many Chrome features, and was even using Chrome’s javascript engine—but by the time Android 4.2 rolled around, Google deemed the Android version of Chrome ready to replace the imitator. On the surface, it didn't seem like much of a difference; the interface looked different, and early versions of Chrome for Android didn't scroll as smoothly as the stock browser. Under the hood, though, everything was different. Development of Android's main browser was now handled by the Google Chrome team instead of being a side project of the Android team. Android's default browser moved from being a stagnant app tied to Android releases to a Play Store app that was continually updated. Today there is even a beta channel that receives several updates per month. + +The camera interface was redesigned. It was now a completely full-screen app, showing a live view of the camera and places controls on top of it. The layout aesthetic had a lot in common with the [camera design][2] of Android 1.5: minimal controls with a focus on the viewfinder output. The circle of controls in the center appeared when you either held your finger on the screen or pressed the circle icon in the bottom right corner. When holding your finger down, you could slide around to pick the options around the circle, often expanding out into a sub-menu. Releasing over a highlighted item would select it. This was clearly inspired by the Quick Controls in the Android 4.0 browser, but arranging the options in a circle meant your finger was almost always blocking part of the interface. + +![The clock app, which went from a two-screen app to a feature-packed, useful application.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/clock-1.jpg) +The clock app, which went from a two-screen app to a feature-packed, useful application. +Photo by Ron Amadeo + +The clock application was completely revamped, going from a simple two-screen alarm clock to a world clock, alarm, timer, and stopwatch. The clock app design was like nothing Google introduced before, with an ultra-minimal aesthetic and red highlights. It seemed to be an experiment for Google. Even several versions later, this design language seemed to be confined only to this app. + +The clock's time picker was particularly well-designed. It showed a simple number pad, and it would intelligently disable numbers that would result in an invalid time. It was also impossible to set an alarm time without implicitly selecting AM or PM, forever solving the problem of accidentally setting an alarm for 9pm instead of 9am. + +![The new system UI for tablets used a stretched-out phone interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/tablet2.jpg) +The new system UI for tablets used a stretched-out phone interface. +Photo by Ron Amadeo + +The most controversial change in Android 4.2 was made to the tablet UI, which switched from a unified single bottom system bar to a two-bar interface with a top status bar and bottom system bar. The new design unified the phone and tablet interfaces, but critics said it was a waste of space to stretch the phone interface to a 10-inch landscape tablet. Since the navigation buttons had the whole bottom bar to themselves now, they were centered, just like the phone interface. + +![Multiple users on a tablet, and the new gesture-driven keyboard.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/2014-03-06-14.55.png) +Multiple users on a tablet, and the new gesture-driven keyboard. +Photo by Ron Amadeo + +On tablets, Android 4.2 brought support for multiple users. In the settings, a "Users" section was added, where you could manage users on a device. Setup was done from within each user account, where Android would keep separate settings, home screens, apps, and app data for each user. + +4.2 also added a new keyboard with swiping abilities. Rather than just tapping each individual letter, users could now keep a finger on the screen the whole time and just slide from letter to letter to type. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/22/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2014/01/hands-on-with-samsungs-notepro-and-tabpro-new-screen-sizes-and-magazine-ui/ +[2]:http://cdn.arstechnica.net/wp-content/uploads/2013/12/device-2013-12-26-11016071.png +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/23 - The history of Android.md b/sources/talk/The history of Android/23 - The history of Android.md new file mode 100644 index 0000000000..e67dff87e6 --- /dev/null +++ b/sources/talk/The history of Android/23 - The history of Android.md @@ -0,0 +1,59 @@ +The history of Android +================================================================================ +![Another Play Store redesign! This one is very close to the current design and uses cards that make layout changes a piece of cake.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/get-em-Kirill.jpg) +Another Play Store redesign! This one is very close to the current design and uses cards that make layout changes a piece of cake. +Photo by Ron Amadeo + +### Out-of-cycle updates—who needs a new OS? ### + +In between Android 4.2 and 4.3, Google went on an out-of-cycle update tear and showed just how much Android could be improved without having to fire up the arduous OTA update process. Thanks to the [Google Play Store and Play Services][1], all of these updates were able to be delivered without updating any core system components. + +In April 2013, Google released a major redesign to the Google Play Store. Like most redesigns from here on out, the new Play Store fully adopted the Google Now aesthetic, with white cards on a gray background. The action bar changed color based on the current content section, and since the first screen featured content from all sections of the store, the action bar was a neutral gray. Buttons to navigate to the content sections were now given top billing, and below that was usually a promotional block or rows of recommended apps. + +In April 2013, Google released a major redesign to the Google Play Store. Like most redesigns from here on out, the new Play Store fully adopted the Google Now aesthetic, with white cards on a gray background. The action bar changed color based on the current content section, and since the first screen featured content from all sections of the store, the action bar was a neutral gray. Buttons to navigate to the content sections were now given top billing, and below that was usually a promotional block or rows of recommended apps. + +![The individual content sections are beautifully color-coded.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/content-rainbow.jpg) +The individual content sections are beautifully color-coded. +Photo by Ron Amadeo + +The new Play Store showed off the real power of Google’s card design language, which enabled a fully responsive layout across all screen sizes. One large card could be stuck next to several little cards, larger-screened devices could show more cards, and rather than stretch things in horizontal mode, more cards could just be added to a row. The Play Store content editors were free to play with the layout of the cards, too; a big release that needed to be highlighted could get a larger card. This design would eventually trickle down to the other Google Play content apps, finally resulting in a unified design. + +![Hangouts replaced Google Talk and is now continually developed by the Google+ team.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/talkvhangouts2.jpg) +Hangouts replaced Google Talk and is now continually developed by the Google+ team. +Photo by Ron Amadeo + +Google I/O, the company's annual developer conference, was usually where a new Android version was announced. But at the 2013 edition, Google made just as many improvements without having to update the OS. + +One of the biggest things announced at the show was an update to Google Talk, Google's instant messaging platform. For a long time, Google shipped four text communication apps for Android: Google Talk, Google+ Messenger, Messaging (the SMS app), and Google Voice. Having four apps that accomplished the same task—sending a text message to someone—was very confusing for users. At I/O, Google killed Google Talk and started their messaging product over from scratch, creating [Google Hangouts][2]. While initially it only replaced Google Talk, the plan for Hangouts was to unify all of Google's various messaging apps into a single interface. + +The layout of the Hangouts UI really wasn't drastically different from Google Talk. The main page contained your open conversations, and tapping on one opened a chat page. The design was updated, the chat page now used a card-style display for each paragraph, and the chat list was now a "drawer"-style interface, meaning you could open it with a horizontal swipe. Hangouts had read receipts and a typing status indicator, and group chat was now a primary feature. + +Google+ was the center of Hangouts now, so much so that the full name of the product was actually "Google+ Hangouts." Hangouts was completely integrated with the Google+ desktop site so that video and chats could be made from one to the other. Identity and avatars were pulled from Google+, and tapping on an avatar would open that person's Google+ profile. And much like the change from Browser to Google Chrome, core Android functionality was passed off to a separate team—the Google+ team—as opposed to being a side product of the very busy Android engineers. With the Google+ takeover, Android's main IM client now became a continually developed application. It was placed into the Play Store and received fairly regular updates. + +![The new navigation drawer interface.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/navigation_drawer_overview1.png) +The new navigation drawer interface. +Photo by [developer.android.com][3] + +Google also introduced a new design element for the action bar: the navigation drawer. This drawer was shown as a set of three lines next to the app icon in the top-right corner. By tapping on it or dragging from the edge of the screen to the right, a side-mounted menu would appear. As the name implies, this was used to navigate around the app, and it would show several top-level locations within the app. This allowed the first screen to show content, and it gave users a consistent, easy-to-access place for navigation elements. The nav drawer was basically a super-sized version of the normal menu, scrollable and docked to the right side. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/23/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2013/09/balky-carriers-and-slow-oems-step-aside-google-is-defragging-android/ +[2]:http://arstechnica.com/information-technology/2013/05/hands-on-with-hangouts-googles-new-text-and-video-chat-architecture/ +[3]:https://developer.android.com/design/patterns/navigation-drawer.html +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/24 - The history of Android.md b/sources/talk/The history of Android/24 - The history of Android.md new file mode 100644 index 0000000000..b95ceb29c7 --- /dev/null +++ b/sources/talk/The history of Android/24 - The history of Android.md @@ -0,0 +1,82 @@ +The history of Android +================================================================================ +![The slick new Google Play Music app, which changed from Tron to a perfect match for the Play Store.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/Goooogleplaymusic.jpg) +The slick new Google Play Music app, which changed from Tron to a perfect match for the Play Store. +Photo by Ron Amadeo + +Another app update pushed out at I/O was a new Google Music app. The app was completely redesigned, finally doing away with the blue-on-blue design introduced in Honeycomb. Play Music's design was unified with the new Play Store released a few months earlier, with a responsive white card layout. Music was also one of the first major apps to take advantage of the new navigation drawer style. Along with the new app, Google launched Google Play Music All Access, an all-you-can-eat subscription service for $10 a month. Google Music now had a subscription plan, à la carte purchasing, and a cloud music locker. This version also introduced "Instant Mix," a mode where Google would cloud-compute a playlist of similar songs. + +![A game showing support for Google Play Games. This lineup shows the Play Store game feature descriptions, the permissions box triggered by signing into the game, a Play Games notification, and the achievements screen.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/gooooogleplaygames.jpg) +A game showing support for Google Play Games. This lineup shows the Play Store game feature descriptions, the permissions box triggered by signing into the game, a Play Games notification, and the achievements screen. +Photo by Ron Amadeo + +Google also introduced "Google Play Games," a back-end service that developers could plug into their games. The service was basically an Android version of Xbox Live or Apple's Game Center. Developers could build Play Games support into their game, which would easily let them integrate achievements, leaderboards, multiplayer, matchmaking, user accounts, and cloud saves by using Google's back-end services. + +Play Games was the start of Google's big push into gaming. Just like standalone GPS units, flip phones, and MP3 players, smartphone makers were hoping standalone gaming devices would be turned into nothing more than a smartphone feature bullet point. Why buy a Nintendo DS or PS Vita when you had a smartphone with you? An easy-to-use multiplayer service would be a big part of this, and we've still yet to see the final consequence of this move. Today, Google and Apple are both rumored to be planning living room gaming devices. + +![Google Keep, Google's first note taking service since Google Notebook.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/goooglekeep.jpg) +Google Keep, Google's first note taking service since Google Notebook. +Photo by Ron Amadeo + +It was clear some products were developed in time for presentation at Google I/O, [but the three-and-a-half hour keynote][1] was already so massive, some things were cut from being announced. Once the smoke cleared three days after Google I/O, Google introduced Google Keep, a note taking app for Android and the Web. Keep was a fairly straightforward affair, applying the responsive Google Now-style design to a note taking app. Users could change the size of the cards from a multi-column layout to a single column view. Notes could consist of plain text, checklists, voice note with automatic transcription, or pictures. Note cards could be dragged around and rearranged on the main screen, and you could even assign a color to a note. + +![Gmail 4.5, which switched to the new navigation drawer design and merged the action bars, thanks to some clever button elimination.](http://cdn.arstechnica.net/wp-content/uploads/2014/05/gmail.png) +Gmail 4.5, which switched to the new navigation drawer design and merged the action bars, thanks to some clever button elimination. +Photo by Ron Amadeo + +After I/O, not much was safe from Google's out-of-cycle updating. In June 2013, Google released a redesigned version of Gmail. The headline feature of the new design was the new navigation drawer interface that was introduced a month earlier at Google I/O. The most eye catching change was the addition of Google+ profile pictures instead of checkboxes. While the checkboxes were visibly removed, they were still there, just tap on a picture. + +![The new Google Maps, which switched to an all-white Google Now-style theme.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/newmaps11.png.) +The new Google Maps, which switched to an all-white Google Now-style theme. +Photo by Ron Amadeo + +One month later, Google released a completely overhauled version of Google Maps to the Play Store. It was the first ground-up redesign of Google Maps since Ice Cream Sandwich. The new version fully adopted the Google Now white card aesthetic, and it greatly reduced the amount of stuff on the screen. The new Google Maps seemed to have a design mandate to always show a map on the screen somewhere, as you’ll be hard pressed to find something other than the settings that fully covers the map. + +This version of Google Maps seemed to live in its own little design world. The white search bar “floated" above the map, with maps showing on the sides and top of the bar. That didn't really make it seem like the traditional Action Bar design. The navigation drawer, in the top left on every other app, was in the bottom left. There was no up button, app icon, or overflow button on the main screen. + +![The new Google Maps cut a lot of fat and displayed more information on a single screen.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/newmaps21.png) +The new Google Maps cut a lot of fat and displayed more information on a single screen. +Photo by Ron Amadeo + +The left picture shows what popped up when you tapped on the search bar (along with the keyboard, which had been closed). In the past, Google would show an empty page below a blank search bar, but in Maps, Google used that space to link to the new “Local" page. The “blank" search results displayed links to common, browsable results like restaurant listings, gas stations, and attractions. At the bottom of the results page was a list of nearby results from your search history and an option to manually cache parts of the map. + +The right set of images shows location page. The map shown in the top of the Maps 7 screenshot isn’t a thumbnail; that’s the full map view. In the new version of Google Maps, a location was displayed as a card that “floats" overtop of the main map, and the map was repositioned to center on the location. Scrolling up would move the card up and cover the map, and scrolling down would show the whole map with the result reduced to a small strip at the bottom. If the location was part of a list of search results, swiping left and right would move through the results. + +The location pages were redesigned to be much more useful at a glance. On the first page, the new version added critical information, like the location on a map, the review score, and the number of reviews. Since this is a phone, and the software will be dialing for you, the phone number was deemed pointless and was removed. The old version showed the distance to the location in miles, while the new version of Google Maps showed the distance in terms of time, based on traffic and preferred mode of transportation—a much more useful metric. The new version also put a share button front and center, which made coordination over IM or text messaging a lot easier. + +### Android 4.3, Jelly Bean—getting wearable support out early ### + +Android 4.3 would have been an incredible update if Google had done the traditional thing and not released updates between 4.3 and 4.2 through the Play Store. If the new Play Store, Gmail, Maps, Books, Music, Hangouts, Keep, and Play Games were bundled into a big brick as a new version of Android, it would have been hailed as the biggest release ever. Google didn't need to do hold back features anymore though. With very little left that required an OS update, at the end of July 2013, Google released the seemingly insignificant update called "Android 4.3." + +![Android Wear plugging into Android 4.3's Notification access screen.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/2014-03-28-12.231.jpg) +Android Wear plugging into Android 4.3's Notification access screen. +Photo by Ron Amadeo + +Google made no qualms about the low importance of 4.3, calling the newest release "Jelly Bean" (the third one in a row). Android 4.3's feature list read like a laundry list of things Google couldn't update from the Play Store or through Google Play Services, mostly consisting of low-level framework changes for developers. + +Many of the additions seemed to fit a singular purpose, though—Android 4.3 was Google's trojan horse for wearable computing support. 4.3 added support for Bluetooth Low Energy, a way to wirelessly connect Android to another device and pass data back and forth while using a very small amount of power—an integral feature to a wearable device. Android 4.3 also added a "Notification Access" API, which allowed apps to completely replicate and control the notification panel. Apps could display notification text and pictures and interact with the notification the same way users do—namely pressing action buttons and dismissing notifications. Doing this from an on-board app when you have the notification panel is useless, but on a device that is separate from your phone, replicating the information in the notification panel becomes much more useful. One of the few apps that plugged into this was "Android Wear Preview," which used the notification API to power most of the interface for Android Wear. + +The "4.3 is for wearables" theory explained the relatively low number of features in 4.3: it was pushed out the door to give OEMs time to update devices in time for the launch of [Android Wear][2]. The plan seems to have worked. Android Wear requires Android 4.3 and up, which has been out for so long now that most major flagships have updated. + +Android 4.3 was not all that exciting, but Android releases from here on out didn't need to be all that exciting. Everything became so modularized that Google could push updates out as soon as they were done through Google Play, rather than drop everything in one huge brick as an OS update. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/24/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://live.arstechnica.com/liveblog-google-io-2013-keynote/ +[2]:http://arstechnica.com/gadgets/2014/03/in-depth-with-android-wear-googles-quantum-leap-of-a-smartwatch-os/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/25 - The history of Android.md b/sources/talk/The history of Android/25 - The history of Android.md new file mode 100644 index 0000000000..39eeb55768 --- /dev/null +++ b/sources/talk/The history of Android/25 - The history of Android.md @@ -0,0 +1,70 @@ +The history of Android +================================================================================ +![The LG-made Nexus 5, the launch device for KitKat.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/nexus56.jpg) +The LG-made Nexus 5, the launch device for KitKat. + +Android 4.4, KitKat—more polish; less memory usage + +Google got really cute with the launch of Android 4.4. The company [teamed up with Nestlé][1] to name the OS "KitKat," and it launched on Halloween, October 31, 2013. Nestlé produced limited-edition Android-shaped KitKat bars, and KitKat packaging in stores promoted the new OS while offering a chance to win a Nexus 7. + +KitKat launched with a new Nexus device, the Nexus 5. The new flagship had the biggest display yet: a five-inch, 1920x1080 LCD. Despite the bigger screen size, LG—again the manufacturer for the device—was able to fit the Nexus 5 into the same dimensions as a Galaxy Nexus or Nexus 4. + +The Nexus 5 was specced comparatively to the highest-end phones at the time, with a 2.3Ghz Snapdragon 800 processor and 2GB of RAM. The phone was again sold unlocked on the Play Store, but while most phones with specs like this would go for $600-$700, Google sold the Nexus 5 for only $350. + +One of the most important improvements in KitKat was one you couldn't see: significantly lower memory usage. For KitKat, Google started a concerted effort to lower memory usage across the OS and bundled apps called "Project Svelte." After tons of optimization work and a "low memory" mode that disabled expensive graphical effects, Android could now run on as little as 340MB of RAM. Lower memory requirements were a big deal, because devices in the developing world—the biggest growth markets for smartphones—often ran on only 512MB of RAM. Ice Cream Sandwich's more advanced UI significantly raised the system requirements of Android devices, which left many low-end devices—even newly released low-end devices—stuck on Gingerbread. The lower system requirements of KitKat meant to bring these cheap devices back into the fold. With KitKat, Google hoped to finally kill Gingerbread (which, at the time of writing, is around 20 percent of the market). Just in case the lower system requirements weren't enough, there have even been reports that Google will [no longer license][2] the Google apps to Gingerbread devices. + +Besides bringing low-end phones to a modern version of the OS, Project Svelte's lower memory requirements were to be a boon to wearable computers, too. Google Glass [announced][3] it was also switching to the slimmer OS, and [Android Wear][4] ran on KitKat, too. The lower memory requirements in Android 4.4 and the notification API and Bluetooth LE support in 4.3 came together nicely to support wearable computing. + +KitKat also featured a lot of polish to the core OS interfaces that couldn't be updated via the Play Store. The System UI, Dialer, Clock, and Settings all saw updates. + +![KitKat's transparent bars on the Google Now Launcher.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/1homescreenz.png) +KitKat's transparent bars on the Google Now Launcher. +Photo by Ron Amadeo + +KitKat not only got rid of the unpopular lines to the left and right sides of the lock screen—it completely disabled lock screen widgets by default! Google obviously felt multiple lock screens and multiple home screens were a little to complicated for new users, so lock screen widgets now needed to be enabled in the settings. The lopsided time here and in the clock app was switched to a symmetrical weight, which looked a lot nicer. + +In KitKat, apps had the ability to make the system and status bars transparent, which significantly changed the look of the OS. The bars now blended into the wallpaper and any other app that chose to enable transparent bars. The bars could also be completely hidden by any app via a new feature called “immersive" mode. + +KitKat was the final nail in the “Tron" coffin, removing almost all traces of blue from the operating system. The status bar icons were changed from a blue to a neutral white. The status and system bars on the home screen weren’t completely transparent; a dark gradient was added to the top and bottom of the screen so that the white icons would still be visible on a light background. + +![Tweaks to Google Now and the folders.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/nowfolders.png) +Tweaks to Google Now and the folders. +Photo by Ron Amadeo + +The home screen that shipped with KitKat on the Nexus 5 was actually exclusive to the Nexus 5 for a few months, but it could now be on any Nexus device. The new home screen was called the "Google Now Launcher," and it was actually [the Google Search app][5]. Yes, Google Search grew from a simple search box to an entire home screen, and in KitKat, it drew the wallpaper, icons, app drawer, widgets, home screen settings, Google Now, and, of course, the search box. Thanks to Search now running the entire home screen, any time the home screen was open and the screen was on, voice commands could be activated by saying “OK Google." This was pointed out to the user with introductory “Say 'OK Google' text in the search bar, which would fade away after a few uses. + +Google Now was more integrated, too. Besides the usual swipe up from the system bar, Google Now was also the leftmost home screen. The new version brought some design tweaks as well. The Google logo was moved into the search bar, and the whole top area was compacted. A few card designs were cleaned up, and a new set of buttons at the bottom led to reminders, customization options, and an overflow button with settings, feedback, and help. Since Google Now was part of the home screen, it got transparent system and status bars, too. + +Transparency and “brightening up" certain parts of the OS were design themes in KitKat. Black was removed in the status and system bars by switching to transparent, and the black background of the folders was switched to white. + +![A screenshot showing the new, cleaner app screen layout, and a composite image of the app lineup.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/apps.png) +A screenshot showing the new, cleaner app screen layout, and a composite image of the app lineup. +Photo by Ron Amadeo + +The KitKat icon lineup changed significantly from 4.3. To be more dramatic, it was a bloodbath, with Google removing seven icons over the 4.3 loadout. Google Hangouts could handle SMS now, so the Messaging app was removed. Hangouts also took over Google+ Messenger duties, so that app shortcut was cut. Google Currents was removed as a default app, as it would soon be killed—along with Google Play Magazines—in favor of Google Play Newsstand. Google Maps was beaten back into a single icon, which meant Local and Navigation shortcuts were removed. The impossible-to-understand Movie Studio was cut, too—Google must have realized no one wants to edit movies on a phone. Thanks to the home screen “OK Google" hotword detection, the Voice Search icon was rendered redundant and removed. Depressingly, the long abandoned News & Weather app remained. + +There was a new app called “Photos"—really the Google+ app—which took over picture management duties. On the Nexus 5, the Gallery and Google+ Photos were pretty similar, but in newer builds of KitKat present on Google Play Edition devices, the Gallery was completely replaced by Google+ photos. Play Games was an interface for Google’s back-end multiplayer service—a Googly version of Xbox Live or Apple’s Game Center. Google Drive, which existed for years as a Play Store app, was finally made a default app. Google bought Quickoffice back in June 2012, now finally deeming the app acceptable for inclusion by default. While Drive opened Google Documents, Quickoffice opened Microsoft Office Documents. If keeping track, that was two document editing apps and two photo editing apps included on most KitKat loadouts. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/25/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2013/09/official-the-next-edition-of-android-is-kitkat-version-4-4/ +[2]:http://www.androidpolice.com/2014/02/10/rumor-google-to-begin-forcing-oems-to-certify-android-devices-with-a-recent-os-version-if-they-want-google-apps/ +[3]:http://www.androidpolice.com/2014/03/01/glass-xe14-delayed-until-its-ready-promises-big-changes-and-a-move-to-kitkat/ +[4]:http://arstechnica.com/gadgets/2014/03/in-depth-with-android-wear-googles-quantum-leap-of-a-smartwatch-os/ +[5]:http://arstechnica.com/gadgets/2013/11/google-just-pulled-a-facebook-home-kitkats-primary-interface-is-google-search/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file diff --git a/sources/talk/The history of Android/26 - The history of Android.md b/sources/talk/The history of Android/26 - The history of Android.md new file mode 100644 index 0000000000..3f9e1427ba --- /dev/null +++ b/sources/talk/The history of Android/26 - The history of Android.md @@ -0,0 +1,87 @@ +The history of Android +================================================================================ +![The new "add to home screen" interface was definitely inspired by Honeycomb.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/homesetupthrowback.png) +The new "add to home screen" interface was definitely inspired by Honeycomb. +Photo by Ron Amadeo + +KitKat added a nice throwback to Honeycomb with the home screen configuration screen. On the massive 10-inch screen of a Honeycomb tablet (right picture, above), long pressing on the home screen background would present you with a zoomed-out view of all your home screens. Widgets could be dragged from the bottom widget drawer into any home screen—it was very handy. When it came time to bring the Honeycomb interface to phones, from Android 4.0 all the way to 4.3, Google skipped this design and left it to the larger screened devices, presenting only a list of options after a long press (center picture). + +For KitKat though, Google finally came up with a solution. After a long press, 4.4 presented a slightly zoomed out view—you could see the current home screen and the screens to the left and right of it. Tapping on the “widgets" button would open a full screen list of widget thumbnails, but after long-pressing on a widget, you were thrown back into the zoomed-out view and could scroll through home screen pages and place the icon where you wanted. By dragging an icon or widget all the way past the rightmost home page, you could create a new home page. + +![Contacts and the Keyboard both removed any trace of blue.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/RIP33B5E5.png) +Contacts and the Keyboard both removed any trace of blue. +Photo by Ron Amadeo + +KitKat was the end of the line for the Tron design. In most parts of the OS, any remaining blue highlights were removed in favor of gray. In the People app, blue was sucked out of the header and the letter separators in the contact list. The pictures swapped sides and the bottom bar was changed to a light gray to match the top. The Keyboard, which injected the color blue into nearly every app, was changed to gray-on-gray-on-gray. That wasn't a bad thing. Apps should be allowed to have their own color scheme—forcing a potentially clashing color on them via the keyboard wasn’t good design. + +![The first three screenshots show KitKat's dialer, and the last one is 4.3.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/phone.png) +The first three screenshots show KitKat's dialer, and the last one is 4.3. +Photo by Ron Amadeo + +Google completely revamped the dialer in KitKat, creating a wild new design that changed the way users thought about a phone. Actual numbers in the new dialer were hidden as much as possible—there wasn’t even a dial pad on the main screen. The primary interface for making a phone call was now a search bar! If you wanted to call someone in your contacts, just type their name in; if you wanted to call a business, just type the business name in and the dialer would search through Google Maps’ extensive database of phone numbers. It worked incredibly well and was something only Google could pull off. + +If searching for numbers wasn’t your thing, the app also intelligently displayed a listing for the previous phone call, your most-contacted people, and a link to all contacts. At the bottom were links to your call history, the now old school number pad, and the usual overflow button containing a settings page. + +![Office stuff: Google Drive, which was now packed in, and the printing support.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/googledrive-and-printing.png) +Office stuff: Google Drive, which was now packed in, and the printing support. +Photo by Ron Amadeo + +It was amazing it took this long, but in KitKat, Google Drive was finally included as a default app. Drive allowed users to create and edit Google Docs spreadsheets and documents, scan documents with the camera and upload them as PDFs, or view (but not edit) presentations. Drive, by this point, had a great, modern design with a slide-out navigation drawer and a Google Now-style card design. + +For even more mobile office fun, KitKat included an OS-level printing framework. At the bottom of the settings was a "Printing" screen, and any printer OEM could make a plugin for it. Google Cloud Print was, of course, one of the first supporters. Once your printer was hooked up to Cloud Print, either natively or through a computer with Chrome installed, you could print to it over the Internet. Apps needed to support the printing framework, too. Pressing the little "i" button on Google Drive would show information about the document and give you the option to print it. Just like a desktop OS, a print dialog would pop up with settings like copies, paper size, and page selection. + +![The "Photos" section of the Google+ app, which replaced the Gallery.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/that-is-one-dead-gallery.png) +The "Photos" section of the Google+ app, which replaced the Gallery. +Photo by Ron Amadeo + +Google+ Photos and the Gallery initially shipped together on the Nexus 5, but in a later build of KitKat on Google Play devices, the Gallery was axed and Google+ completely took over photo duties. The new app changed the photo app from a light theme to a dark theme, and Google+ Photos brought a modern navigation drawer design. + +Android had long included an instant upload feature, which would automatically backup all pictures on Google’s cloud storage, first on Picasa and later on Google+. The big benefit of G+ Photos over the Gallery was that it could finally manage those cloud-stored photos. Little cloud icons in the lower right of a photo indicated backup status, and it would fill from right to left to indicate an upload-in-progress. G+ photos brought its own photo editor along with support for a million of other Google+ photo features, like highlights, auto awesome, and, of course, sharing to Google+. + +![Tweaks to the Clock app, which added an alarms tab and changed the time input dialog.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/clocks.png) +Tweaks to the Clock app, which added an alarms tab and changed the time input dialog. +Photo by Ron Amadeo + +Google changed the excellent time picker that was introduced in 4.2 to this strange clock interface, which was both slower and less precise than the old interface. First you were presented with a one-handed clock which you used to choose the hour, then that clock went away and another one-handed clock allowed you to choose the minute. Having to spin the minute hand or tap a spot on the clock face made it very difficult to pick times in non-five-minute increments. Unlike the old time picker, which required you to pick a time period, this just defaulted to AM (again making it possible to accidentally be off by 12 hours). + +### Today—Android everywhere ### + +![](http://cdn.arstechnica.net/wp-content/uploads/2014/05/android-everywhere2.png) +Photo by Google/Sony/Motorola/Ron Amadeo + +What started out as a curious BlackBerry clone from a search engine company became the most popular OS in the world from one of the biggest titans in the tech industry. Android has become Google's de-facto consumer operating system, and it powers phones, tablets, Google Glass, Google TV, and more. [Parts of it][1] are even used in the Chromecast. In the future, Google will be bringing Android to watches and wearables with [Android Wear][2], and the [Open Automotive Alliance][3] will be bringing Android to cars. Google will be making a renewed commitment to the living room soon, too, with [Android TV][4]. The OS is such a core pillar of Google, that events that are supposed to cover company-wide products, like Google I/O, end up becoming Android launch parties. + +![Top row: the Google Play content stores. Bottom row: the Google Play Apps.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/2014-03-30-03.08.jpg) +Top row: the Google Play content stores. Bottom row: the Google Play Apps. +Photo by Ron Amadeo + +What was once the ugly duckling of the mobile industry has transformed so much it now [wins design awards][5] for its user interface. The design of things like Google Now have affected everything the company produces, with even the desktop sites like Search, Google+, YouTube, and Maps getting in on the card design unity. The design keeps evolving as well. Google's next plan is to [unify design][6] across not just Android, but all of its products. The goal is to take something like Gmail and make it feel the same, whether you're using it on Android, a desktop browser, or a watch. + +Google outsourced so many pieces of Android to the Play Store, that version releases are becoming less and less necessary. Google decided the best way to beat carrier and OEM update issues was to sidestep those roadblocks completely. From here on out, there isn't much left to include in an Android update other than core under-the-hood changes—but even many APIs have been pushed to Google Play Services. If you just look at version releases, it seems like Android development has slowed down from the peak 2.5-month release cycle. But the reality is Google can now continually push out improvements to the Play Store in a never-ending, somewhat subtler stream of updates. + +With 1.5 million activations per day, Android has no where to go but up. In the future, Android will be headed from phones and tablets to cars and watches, and the lower system requirements of KitKat will drive phones to even lower prices in the developing world. The bottom line? More and more people will get online. And for many of those people, Android will be not just their phone but their primary computing device. With Android leading the charge for Google in so many areas, the OS that started off as a tiny acquisition has become one of Google's most important products. + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/26/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://blog.gtvhacker.com/2013/chromecast-exploiting-the-newest-device-by-google/ +[2]:http://arstechnica.com/gadgets/2014/03/in-depth-with-android-wear-googles-quantum-leap-of-a-smartwatch-os/ +[3]:http://arstechnica.com/information-technology/2014/01/open-automotive-alliance-aims-to-bring-android-inside-the-car/ +[4]:http://arstechnica.com/gadgets/2014/04/documents-point-to-android-tv-googles-latest-bid-for-the-living-room/ +[5]:http://userexperienceawards.com/uxa2012/ +[6]:http://arstechnica.com/gadgets/2014/04/googles-next-design-challenge-unify-app-design-across-platforms/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo \ No newline at end of file From 01a7a2009f435a9aafc5f4bff0c794af39356dcc Mon Sep 17 00:00:00 2001 From: DeadFire Date: Thu, 3 Jul 2014 14:39:54 +0800 Subject: [PATCH 021/291] =?UTF-8?q?20140703-2=20=E9=80=89=E9=A2=98=20?= =?UTF-8?q?=E6=8A=80=E6=9C=AF=E6=96=87=E7=AB=A0=E4=B8=80=E7=AF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...find and kill misbehaving MySQL queries.md | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 sources/tech/20140703 How to find and kill misbehaving MySQL queries.md diff --git a/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md b/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md new file mode 100644 index 0000000000..f4eebccfcd --- /dev/null +++ b/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md @@ -0,0 +1,61 @@ +How to find and kill misbehaving MySQL queries +================================================================================ +Sometimes the complexity of a relational database system can be overwhelming. Fortunately, that complexity is an advantage, as with MySQL's tools for managing queries. In this tutorial, I will show you **how to find and kill any misbehaving MySQL queries**. + +To view the currently-running queries, log in to the MySQL console and run the 'show processlist' command: + + mysql> show processlist; + + +--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+ + | Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | Rows_read | + +--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+ + | 78233 | root | 127.0.0.1:37527 | mysql | Sleep | 16474 | | NULL | 6 | 6 | 6 | + | 84546 | root | 127.0.0.1:48593 | mysql | Sleep | 13237 | | NULL | 2 | 2 | 2 | + | 107083 | root | 127.0.0.1:56451 | mysql | Sleep | 15488 | | NULL | 1 | 121 | 121 | + | 131455 | root | 127.0.0.1:48550 | NULL | Query | 0 | NULL | show processlist | 0 | 0 | 0 | + +--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+ + 4 rows in set (0.03 sec) + +The first column you should look at is 'Time', which is the number of seconds the process has been "doing the thing it's doing". A process whose command is 'Sleep' is waiting for a query to come in, so it's not consuming any resources. For any other process, however, a 'Time' of more than a few seconds indicates a problem. + +In this case, the only query running is our 'show processlist' command. Let's see what it looks like if we have a poorly-written query running: + + mysql> show processlist; + + +--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+ + | Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | Rows_read | + +--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+ + | 78233 | root | 127.0.0.1:37527 | example | Sleep | 18046 | | NULL | 6 | 6 | 6 | + | 84546 | root | 127.0.0.1:48593 | example | Sleep | 14809 | | NULL | 2 | 2 | 2 | + | 107083 | root | 127.0.0.1:56451 | example | Sleep | 17060 | | NULL | 1 | 121 | 121 | + | 132033 | root | 127.0.0.1:54642 | example | Query | 27 | Sending data | select max(subtotal) from orders | 0 | 0 | 0 | + | 133933 | root | 127.0.0.1:48679 | NULL | Query | 0 | NULL | show processlist | 0 | 0 | 0 | + | 134122 | root | 127.0.0.1:49264 | example | Sleep | 0 | | NULL | 0 | 0 | 0 | + +--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+ + 6 rows in set (0.00 sec) + +Ah! Now we see there is a query that's been running for almost 30 seconds. If we don't want to let it run its course, we can kill it by passing its 'Id' to the kill command: + + mysql> kill 132033; + Query OK, 0 rows affected (0.00 sec) + mysql> + +(Note that MySQL will always report 0 rows affected, because we're not altering any data.) + +Judicious use of the kill command can clean up a backlog of queries. Remember, however, that it's not a permanent solution - if those queries came from your application, you need to rewrite them, or you'll continue to see the same issue reappear. + +### See Also ### + +MySQL's documentation on the different 'Command' values: + +- [https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html][1] + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/find-kill-misbehaving-mysql-queries.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html \ No newline at end of file From 5c0efa51fdf3abc6231f1c5a99b08c7788b0a81c Mon Sep 17 00:00:00 2001 From: alim0x Date: Thu, 3 Jul 2014 15:22:40 +0800 Subject: [PATCH 022/291] [Translating]20140616 How to diskless boo...ine.md alim0x translating --- sources/tech/20140616 How to diskless boot a Linux machine.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140616 How to diskless boot a Linux machine.md b/sources/tech/20140616 How to diskless boot a Linux machine.md index 86870d7d55..c17facde33 100644 --- a/sources/tech/20140616 How to diskless boot a Linux machine.md +++ b/sources/tech/20140616 How to diskless boot a Linux machine.md @@ -1,3 +1,5 @@ +alim0x translating + How to diskless boot a Linux machine ================================================================================ Diskless booting implies that a client computer does not have any disk storage when booting an operating system. In that case, the computer can load the kernel as well as the root filesystem from a remote NFS server over network. It may use several different methods to load the kernel and the root filesystem from an NFS server: RARP, BOOTP or DHCP protocols. In this tutorial, I will use BOOTP/DHCP protocol because they are supported by many network cards. @@ -147,4 +149,4 @@ via: http://xmodulo.com/2014/06/diskless-boot-linux-machine.html 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From b1817b96fc70602510a46108e1ee42b09f759c2e Mon Sep 17 00:00:00 2001 From: CNprober Date: Thu, 3 Jul 2014 23:06:59 +0800 Subject: [PATCH 023/291] =?UTF-8?q?=E5=8D=A0=E5=9D=91=20By=20CNprober,=20K?= =?UTF-8?q?eep=20an=20eye=20..=20in=20RH=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20140625 Keep an eye on these 5 new features in RHEL 7.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md b/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md index fbe8d23a71..f521646ed2 100644 --- a/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md +++ b/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md @@ -1,3 +1,5 @@ +CNprober translating... 619913541 + Keep an eye on these 5 new features in RHEL 7 ================================================================================ > RHEL 7 supports Docker containers, systemd, Microsoft-compatible ID management, and XFS for 500TB filesystems From b8b4a99a521d333ffd32ae00ed4087509d3d1dd0 Mon Sep 17 00:00:00 2001 From: alim0x Date: Thu, 3 Jul 2014 23:34:45 +0800 Subject: [PATCH 024/291] [Translating] alim0x translating --- .../The history of Android/01 - The history of Android.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/talk/The history of Android/01 - The history of Android.md b/sources/talk/The history of Android/01 - The history of Android.md index d6b12482f9..bbf93d8b7c 100644 --- a/sources/talk/The history of Android/01 - The history of Android.md +++ b/sources/talk/The history of Android/01 - The history of Android.md @@ -1,3 +1,5 @@ +alim0x translating + The history of Android ================================================================================ > Follow the endless iterations from Android 0.5 to Android 4.4. @@ -199,4 +201,4 @@ via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-histor [34]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/25/#kitkat [35]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/26/#conclusion [a]:http://arstechnica.com/author/ronamadeo -[t]:https://twitter.com/RonAmadeo \ No newline at end of file +[t]:https://twitter.com/RonAmadeo From 87be52bb3f228bbe5d36302cec863cd4b927b56f Mon Sep 17 00:00:00 2001 From: linuhap Date: Fri, 4 Jul 2014 00:11:13 +0800 Subject: [PATCH 025/291] translating --- ...702 Automotive Grade Linux Released for Open Source Cars.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md b/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md index 3e64736b69..4f85e31e1b 100644 --- a/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md +++ b/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md @@ -1,3 +1,4 @@ +linuhap translating Automotive Grade Linux Released for Open Source Cars ================================================================================ > The Linux Foundation and its partners have released the first version of Automotive Grade Linux, the open source platform for use inside connected cars. @@ -35,4 +36,4 @@ via: http://thevarguy.com/open-source-application-software-companies/070114/auto [1]:https://automotive.linuxfoundation.org/ [2]:http://linuxfoundation.org/ [3]:http://automotive.linuxfoundation.org/ -[4]:https://www.tizen.org/ \ No newline at end of file +[4]:https://www.tizen.org/ From 43fa8608c6a41ef9bb63420e9e8534089c886470 Mon Sep 17 00:00:00 2001 From: bazz2 Date: Fri, 4 Jul 2014 09:24:45 +0800 Subject: [PATCH 026/291] half the work --- ...140624 Performance benchmarks--KVM vs. Xen.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) rename {sources => translated}/talk/20140624 Performance benchmarks--KVM vs. Xen.md (80%) diff --git a/sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md b/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md similarity index 80% rename from sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md rename to translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md index f67314307a..11a656101f 100644 --- a/sources/talk/20140624 Performance benchmarks--KVM vs. Xen.md +++ b/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md @@ -1,33 +1,43 @@ -[bazz2 own this article] Performance benchmarks: KVM vs. Xen +KVM和Xen的性能基准测试 ================================================================================ After having some interesting discussions last week around KVM and Xen performance improvements over the past years, I decided to do a little research on my own. The last complete set of benchmarks I could find were from the [Phoronix Haswell tests in 2013][1]. There were [some other benchmarks from 2011][2] but those were hotly debated due to the Xen patches headed into kernel 3.0. +在上周,我们讨论了 KVM 和 Xen 的性能上一些令人感兴趣的话题后,我打算自己做一些这方面的研究。我能找到的最新的资料,是来自[2013年 Phoronix Haswell 性能评测][1]上的基准测试。当然,还有[2011年的评测][2],由于 Xen 已经被收录进 Kernel 3.0,这些曾经都是热门话题。 The 2011 tests had a [good list of benchmarks][3] and I’ve done my best to replicate that list here three years later. I’ve removed two or three of the benchmark tests because they didn’t run well without extra configuration or they took an extremely long time to run. +2011年的测试提供了[许多很好的基准报表][3],我尽最大努力把它们列出的属性重新测试一遍,但少测了两三个基准测试,原因是它们在未经特定优化的配置后跑出来的数据不是很好,或者它们需要跑很长时间才能得到结果。 -### Testing environment ### +### 测试环境 ### My testing setup consists of two identical SuperMicro servers. Both have a single [Intel Xeon E3-1220][4] (four cores, 3.10GHz), 24GB Kingston DDR3 RAM, and four Western Digital RE-3 160GB drives in a RAID 10 array. BIOS versions are identical. +测试环境由两台一模一样的超微服务器组成,都配备一颗[Intel 至强 E3-1220][4](4核,3.10GHz),24G 金士顿 DDR3 内存,4块西数 RE-3 160G 磁盘(组成 RAID10 阵列)。另外 BIOS 也是一模一样。 All of the tests were run in Fedora 20 (with SELinux enabled) for the hosts and the virtual machines. Very few services were left running during the tests. Here are the relevant software versions: +所有测试项目(即实体机和虚拟机)都在 Fedora 20 (开 SELinux)上进行,并且测试过程中没有跑很多的不相关的服务。这里列一下相关服务的版本: - Kernel: 3.14.8 - For KVM: qemu-kvm 1.6.2 - For Xen: xen 4.3.2 All root filesystems are XFS with the default configuration. Virtual machines were created using virt-manager using the default configuration available for KVM and Xen. Virtual disks used raw images and were allotted 8GB RAM with 4 virtual CPU’s. Xen guests used [PVHVM][5]. +根文件系统是 XFS,使用默认配置。虚拟机使用 virt-manager 来创建(virt-mamager 也使用默认配置)。虚拟磁盘使用 raw 镜像,容量为 8GB,虚拟4颗 CPU。Xen 虚拟机使用 [PVHVM][5] 建立虚拟磁盘。 ### Caveats ### +### 警告 ### One might argue that Fedora’s parent owner, Red Hat, puts a significant amount of effort into maintaining and improving KVM within their distribution. Red Hat hasn’t made significant contributions to Xen in years and they [made the switch to KVM back in 2009][6]. I’ve left this out of scope for these tests, but it’s still something worth considering. +也许有人会争辩说 Fedora 是红帽公司所有,红帽一直在维护 KVM,而 Xen 则自从[在2009年红帽重新选择 KVM 作为虚拟化产品][6]后,再没得到这个公司的维护。在本测试中这个因素不会对结果产生任何影响,不过可以在心里稍微注意一下。 Also, contention was tightly controlled and minimized. On most virtualized servers, you’re going to have multiple virtual machines fighting for CPU time, disk I/O, and access to the network. These tests didn’t take that type of activity into consideration. One hypervisor might have poor performance at low contention but then perform much better than its competitors when contention for resources is high. +不考虑资源竞争产生的影响。在大多数虚拟服务器上,你可以跑多个虚拟机,而这些虚拟机会争用 CPU 时间片、磁盘 IO、网络带宽等等资源。在本测试中也不考虑这些因素。一台虚拟机抢到资源少,性能就差,而另一台抢得多,性能就好(LCTT:它们的性能总和,就可以大致当作是 KVM 或 Xen 的性能了)。 -These tests were performed only on Intel CPU’s. Results may vary on AMD and ARM. +本测试运行在 Intel 的 CPU 上。如果使用的是 AMD 或 ARM,可能有些数据会不一样。 ### Results ### +### 结果 ### The tests against the bare metal servers served as a baseline for the virtual machine tests. The deviation in performance between the two servers without virtualization was at 0.51% or less. +本测试使用裸机作为虚拟服务测试的基准设备。在不跑虚拟机的情况下,两台裸机的性能偏差不会大于0.51% KVM’s performance fell within 1.5% of bare metal in almost all tests. Only two tests fell outside that variance. One of those tests was the 7-Zip test where KVM was 2.79% slower than bare metal. Oddly enough, KVM was 4.11% faster than bare metal with the PostMark test (which simulates a really busy mail server). I re-ran the PostMark tests again on both servers and those results fell within 1% of my original test results. I’ll be digging into this a bit more as my knowledge of virtio’s internals isn’t terribly deep. From 44a498b38ea45ec36a8f7f8c0e19d1768577af5b Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 4 Jul 2014 16:27:26 +0800 Subject: [PATCH 027/291] PUB:20140620 How Many Languages Do Developers Need To Know @tinyeyeser --- .../20140620 How Many Languages Do Developers Need To Know.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/talk => published}/20140620 How Many Languages Do Developers Need To Know.md (98%) diff --git a/translated/talk/20140620 How Many Languages Do Developers Need To Know.md b/published/20140620 How Many Languages Do Developers Need To Know.md similarity index 98% rename from translated/talk/20140620 How Many Languages Do Developers Need To Know.md rename to published/20140620 How Many Languages Do Developers Need To Know.md index f43b26b962..d241b85e4f 100644 --- a/translated/talk/20140620 How Many Languages Do Developers Need To Know.md +++ b/published/20140620 How Many Languages Do Developers Need To Know.md @@ -1,6 +1,6 @@ 到底开发者需要掌握多少门语言? ================================================================================ -![](http://readwrite.com/files/styles/1400_0/public/fields/code%20example%20Flickr%20Ruiwen%20Chua.jpg) +![](http://a2.files.readwrite.com/image/upload/c_fill,h_900,q_70,w_1600/MTIyNzYyNjIwNDU2Njk4NDcw.jpg) > 诸如Apple、Facebook及Google这样的大公司正在开发他们自己的编程语言,开发者们被迫只有适应。 @@ -69,7 +69,7 @@ Watson-Hamblin就主张说,当每家公司都为了自家需要发明自己的 via: http://readwrite.com/2014/06/17/apple-swift-facebook-hack-google-dart -译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Mr小眼儿](http://blog.csdn.net/tinyeyeser) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From a7360a4aaf1679b1f879fc64ac39371ed8405e29 Mon Sep 17 00:00:00 2001 From: CNprober Date: Fri, 4 Jul 2014 17:40:39 +0800 Subject: [PATCH 028/291] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90,By?= =?UTF-8?q?=20CNproberKeep=20an=20eye=20on=20..=20RHEL=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n eye on these 5 new features in RHEL 7.md | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md diff --git a/translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md b/translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md new file mode 100644 index 0000000000..451d4c790f --- /dev/null +++ b/translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md @@ -0,0 +1,60 @@ +CNprober translatinged... 619913541 + +RHEL 7值得注意的5个新特性 +================================================================================ +> RHEL 7 支持Docker容器,systemd,兼容微软的身份管理和支持500TB的XFS文件系统。 + +![](http://www.infoworld.com/sites/infoworld.com/files/media/image/140.jpg) + +After six-plus months of [public beta testing][1] and more than three years after its previous major point release, RHEL (Red Hat Enterprise Linux) version 7 is out. The update speaks to Red Hat's interests in outfitting RHEL with many of the latest enterprise and data center features. Here are the five top-of-the-line new additions to RHEL 7 that caught our eyes. +在前一个主版本发布3年之后,经过至少6个月的[公开测试][1],RHEL(Red Hat Enterprise Linux)版本7终于发布了。这次更新表明了红帽子公司对于在RHEL中添加最新的以企业和数据为中心的特性的兴趣。这里列举了其中5个最吸引人眼球的新特性。 + +### 1. Docker ### + +RHEL 7中最大的新特性就是[紧密集成][2]了巨受欢迎的应用程序虚拟化技术[Docker][3]。随着[Docker 1.0发布][4],把它集成到RHEL 7的时机是最合适不过了。 + +用Docker包装的应用程序可以独立于操作系统,所以他们可以在操作系统之间移植并且正常运行。RHEL 7打算尽可能高效地使用Docker,以防止应用程序竞争资源或者为使用哪种运行时环境而困惑。 + +从RHEL的Docker地图上的长期计划表来看,这可能会超越操作系统本身,发展成一系列的Docker容器,它可以支持用最小的开销部署一个系统。这个被称为"[Atomic项目][5]"的计划还处于早期阶段,红帽子公司准备首先将它首先部署在他的Fedora Linux发行版,仅仅当做对前沿技术的测试。 + +### 2. Systemd ### + +包含systemd进程管理器可能引起系统管理员和Linux专家之间激烈的争论。自专用Unix出现以来,systemd就被开发用于替代init系统,它使得启动过程中装载服务更加高效。 + +因为systemd的这个潜在的痛处,红帽子公司没有立刻添加systemd(到RHEL)。早在2010发布的Fedora版本15就已经包含了systemd作为默认项目,这给了红帽子公司一次很好的了解systemd在真实世界的运行的经验。同样,systemd也没有武断地加入RHEL 7,只是作为这个OS大计划的一部分。例如,红帽子公司希望通过使用systemd加强对RHEL 7中Docker容器的支持。 + +### 3. XFS by default ### + +第3个主要的改变是使XFS成为RHEL默认的文件系统,尽管这可能不那么引人瞩目。 + +最初由Silicon Graphics International(硅谷图形公司)创建的XFS在Linux系统上用做生产环境已经很长时间了。在RHEL 7上它将支持高达500TB的文件系统。RHEL 6默认使用ext4,尽管它有XFS选项。红帽子的竞争对手Suse Linux [也支持XFS][6],尽管它安装时[默认使用ext3][7]。 + +非常不幸的是,没有真正的方法可以将RHEL目前使用的其他文件系统,比如ext4或者btrfs移植到XFS。只能备份然后重建(来进行移植)。 + +### 4. 兼容微软的身份管理 ### + +就算是那些不是微软系统粉丝的管理员也对微软目录服务保持勉强的尊重。RHEL 7添加了两个关键的特性以优化处理微软目录服务的方式。跨域认证现在可以在RHEL 7和微软目录服务之间建立,所以目录服务用户可以直接访问Linux侧的资源,不需要再进行一次登录。RHEL 7另一个目录服务相关的附加特性,是基于DNS信息自动发现和加入目录服务(或者其他红帽子认证服务)。 + +### 5. Performance Co-Pilot ### + +进行性能调整的时候看不到实时数据就像是开着挡风玻璃被刷上了油漆的车,所以RHEL 7添加了一个新的性能监控系统PCP([Performance Co-Pilot][8]),PCP最初由Silicon Graphics International(硅谷图形)[创建][9],但是现在它是RHEL 7的一部分。除了监控和记录系统状态,PCP还为其他子系统提供获取数据的API和工具集,比如正如你猜到的,刚刚介绍的systemd。 + +遵循这个思路,另一个次要的附加特性:新的性能配置文件。RHEL 6已经有符合特殊应用场景的调整RHEL的配置文件。RHEL 7不仅默认有一个新的着重使产量最大化的配置文件,而且包含另一个新的平衡性能表现和能源消耗的配置文件。 + +------------------------------------------------------------------------------- + +via:http://www.infoworld.com/t/linux/keep-eye-these-5-new-features-in-rhel-7-244023 + +译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.infoworld.com/t/linux/red-hat-enterprise-linux-7-beta-now-available-232520 +[2]:http://www.infoworld.com/t/application-virtualization/red-hat-fast-tracks-docker-apps-enterprise-linux-238122 +[3]:http://www.infoworld.com/t/application-virtualization/docker-unleashed-app-portability-gets-boost-231716 +[4]:http://www.infoworld.com/d/application-development/review-docker-10-ready-prime-time-243935 +[5]:http://www.projectatomic.io/ +[6]:https://www.suse.com/products/server/technical-information/ +[7]:https://www.suse.com/products/server/technical-information/ +[8]:http://developerblog.redhat.com/2013/11/19/exploratory-performance-pcp/ +[9]:http://oss.sgi.com/projects/pcp/index.html \ No newline at end of file From 8348d6bdb6a7828a58b5b317b7b0e9acb6649631 Mon Sep 17 00:00:00 2001 From: Luoxcat Date: Fri, 4 Jul 2014 22:45:45 +0800 Subject: [PATCH 029/291] =?UTF-8?q?Luoxcat=20=E7=BF=BB=E8=AF=91=2020140702?= =?UTF-8?q?=20Command=20Line=20Tuesdays--Part?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/tech/20140702 Command Line Tuesdays--Part Three.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140702 Command Line Tuesdays--Part Three.md b/sources/tech/20140702 Command Line Tuesdays--Part Three.md index 8bf7670849..ccaab0075c 100644 --- a/sources/tech/20140702 Command Line Tuesdays--Part Three.md +++ b/sources/tech/20140702 Command Line Tuesdays--Part Three.md @@ -1,3 +1,4 @@ +暑假 先来一发 Luoxcat 翻译 Command Line Tuesdays – Part Three ================================================================================ Today, mr Shotts takes us on a first part of a guided tour through our file system. We’ll learn how to visit, list files within directories and we’ll learn to use some options for the first time. So let’s begin with the first command of the week. @@ -80,4 +81,4 @@ via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/ 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From e2d5e602a7ca2db942b8957530208c0735d63121 Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 4 Jul 2014 23:04:19 +0800 Subject: [PATCH 030/291] =?UTF-8?q?PUB=EF=BC=9AEncrypting=20Your=20Cat=20P?= =?UTF-8?q?hotos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @runningwater 翻译的不错! --- .../Encrypting Your Cat Photos.md | 66 ++++++++++--------- 1 file changed, 34 insertions(+), 32 deletions(-) rename {translated/tech => published}/Encrypting Your Cat Photos.md (55%) diff --git a/translated/tech/Encrypting Your Cat Photos.md b/published/Encrypting Your Cat Photos.md similarity index 55% rename from translated/tech/Encrypting Your Cat Photos.md rename to published/Encrypting Your Cat Photos.md index 4589cafd80..9e80a36d30 100755 --- a/translated/tech/Encrypting Your Cat Photos.md +++ b/published/Encrypting Your Cat Photos.md @@ -1,24 +1,26 @@ 给猫咪照片加密 ================================================================================ -事实上,我的硬盘上不存在那种不愿意被别人看到的东西,只存有一些猫咪的照片、一些记录着想写的书想法的文本文件或者是一些短篇故事的文本,也有一些写了一半的 NaNoWriMo 小说文件。简单的说,我的硬盘就没有加密的必要,因为没有什么可隐藏的。可问题是,我们错误的把“隐私的渴望”跟“要隐藏某东西”两概念混淆在一起。比如说我生活的美国,我们视隐私权利是理所当然的事,但不包括那些传统所认为的“某人隐藏色情或炸弹”。隐私考虑的是一些平常的事情。 +事实上,我的硬盘上不存在那种不愿意被别人看到的东西,只存有一些猫咪的照片、一些记录着想写的书的想法的文本文件,或者是一些短篇故事的文本,也有一些写了一半的 NaNoWriMo 小说文件。简单的说,我的硬盘就没有加密的必要,因为没有什么可隐藏的。可问题是,我们错误的把“隐私的渴望”跟“要隐藏某东西”两概念混淆在一起。比如说我生活的美国,我们视隐私权利是理所当然的事,但不包括那些传统所认为的“某人的隐藏色情或炸弹”。隐私考虑的是一些平常的事情。 -我居住在密歇根州。这儿的冬天很冷,我趋向于把温度设置在 75 度左右。对您们来说这个温度可能高了,但在我的家里刚好合适。多亏我的家是属于私有的,我的邻居不可能知道我们保持了这么高的温度,否则一但他们看到冬天如此“浪费”能源的家庭,这些邻居心里会很不平衡的。事实上,本地条规中有一条明确指出任何超过 60 度的就算是生态浪费。我并不想与这种僵老的条例较真,所以我仅仅想保守我们舒适的房子的秘密。我们并不想隐藏任何事情,但也并不是任何事情都要让外人知道。 +我居住在密歇根州。这儿的冬天很冷,我趋向于把温度设置在华氏 75 度左右。对您们来说这个温度可能高了,但在我的家里刚好合适。多亏我的家是属于私有的,我的邻居不可能知道我们保持了这么高的温度,否则一但他们看到冬天如此“浪费”能源的家庭,这些邻居心里会很不平衡的。事实上,本地条规中有一条明确指出任何超过华氏 60 度的就算是生态浪费。我并不想与这种僵老的条例较真,所以我仅仅想保守我们舒适的房子的秘密。我们并不想隐藏任何事情,但也并不是任何事情都要让外人知道。 很明显,我举的例子有点弱智,但我希望的是这能引起大家的思考。现代的 Linux 系统很容易的就可以对我们的数据进行加密,并且很可靠,所以为什么不好好利用利用呢? ### 加密原理? ### -我不会涉及太多关于加密原理的细节,但要明白最基本的原理,即使是最简单的实现,这是必须的。要加密和解密一个文件,需要两把“钥匙”。一把是私钥,正如名字所示,属于私有的。我宁愿把私钥看作是真实的钥匙-你想要多少就可造出多少,但这样做是不明智的。同样的私钥你造的越多,某些不怀好意的人得到其中一把的机率就越大,他们就会闯入你的公寓(额,我的意思的文件)。 +我不会涉及太多关于加密原理的细节,但要明白最基本的原理,即使是最简单的实现,这是必须的。要加密和解密一个文件,需要两把“钥匙”。一把是私钥,正如名字所示,属于私有的。我宁愿把私钥看作是真实的钥匙——你想要多少就可造出多少,但这样做是不明智的。同样的,私钥你造的越多,某些不怀好意的人得到其中一把的机率就越大,他们就会闯入你的公寓(额,我的意思是指那些文件)。 -公钥更像是锁的样子,只有你能打开(用你的私钥)此锁。这公钥任何人都可以得到,你可以将它张贴在网站上、把它放在你的 E-mail 中、甚至纹在你的背上。其它人想创建一个只有你能访问的文件,就可以使用此公钥来加密。 +公钥更像是锁的样子,只有你能(用你的私钥)打开此锁。这公钥任何人都可以得到,你可以将它张贴在网站上、把它放在你的 E-mail 中、甚至纹在你的背上。其它人想创建一个只有你能访问的文件,就可以使用此公钥来加密。 -这种一对多的情况也有个很酷的副作用。如果你用你的私钥来加密一些东西,任何人都可以用你提供的公钥来解密它们。这听起来很傻,但这种情景很有用。虽然加密的文件不能免于被窥视,但是它能保证此文件确实来自于你而没有被恶意改动过。用你的公钥能解密的文件仅仅只能是用你私钥加密过的。用这种方式,用私钥加密的文件即是数字“签名”文件。 +这种一对多(LCTT译注:指别人可以加密多个文件,而只有你的一个私钥才能解密)的情况也有个很酷的副作用。如果你用你的私钥来加密一些东西,任何人都可以用你提供的公钥来解密它们。这听起来很傻,但这种情景很有用。虽然加密的文件不能免于被窥视,但是它能保证此文件确实来自于你而没有被恶意改动过。用你的公钥能解密的文件仅仅只能是用你私钥加密过的。用这种方式,用私钥加密的文件即是数字“签名”文件。(LCTT译注:既然是任何人都可以用公钥解密,其实加密没有意义,相反,仅仅用你的私钥做一个签名指纹,别人只需要用你的公钥来验证该签名是否一致即可判断是否来自你。) + +(LCTT译注:其实本文此处所述的加密解密、签名校验等原理不完全正确,和实际的非对称加密情形有所差异,不过比较容易理解和类比。) #### 通用加密步骤: #### 1. 你有一个文件想要发送给苏茜 ,所以你得使用苏茜的公钥来加密,这样就只有 苏茜才能打开这个文件,但苏茜没有办法知道是谁给她发送的文件。因为任何一个人都可以用她的公钥来加密文件。 -2. 因此,你得把你的文件用苏茜的公钥和你的私钥都加密。苏茜将不得不解密两次,但她知道它是来自于你的文件。 -3. 苏茜接收到此文件后会用能证明来自于你的公钥来解密第一层。 +2. 因此,你得把你的文件用苏茜的公钥和你的私钥都加密。苏茜将不得不解密两次,但她知道它是来自于你的文件。(LCTT译注:实际上应该是用你的私钥要做签名,生成一小段签名指纹,而不是对已经加密的文件再次加密。) +3. 苏茜接收到此文件后会用能证明来自于你的公钥来解密第一层。(LCTT译注:校验签名,确认来自你的私钥的签名正确。) 4. 然后用她的私钥来解密第二层的密码,这是唯一的能够将原始文件进行解密的钥匙了(因为你是用她的公钥来加密的)。 当然,这情景就是用来安全传输文件的加密手段。这也是加密你的文件(或者分区)相当常用及简单的方法。就让我们开始来对文件进行加密吧,因为大多数人都想加密他们的系统。 @@ -27,45 +29,45 @@ 在深入更复杂的各种加密设置操作前,我们先做简单的对文件加密例子。能处理加密的应用程序有很多很多,事实上,对文件和系统进行加密的各种可用软件选择,很容易就会让我们变得焦头烂额。现在,我们就使用一款很基本的(但非常强大)命令行工具来对文件加密。 GPG (英文名:Gnu Privacy Guard)是一款对商业软件 PGP(英文名:Pretty Good Protection)的开源实现软件。它具有加密、签名及管理多个密钥等功能。用例子说明,让我们简单的加密一个文件吧。 -我们假设你有一个名叫 secret_manifesto.txt 的文件,它包含有关于生命、宇宙及一切事物的秘密。使用 GPG,你只需要一个密码就可以加密此文件。使用密码远比使用公钥和私钥对简单,因为它只是用你的密码加密。虽然这很容易就让你的文件遭受到破解(使用彩虹表或其他黑客工具),但像锡上的标签上所说的:这是相当不错的保护。要加密你的文件,可以这样做: +我们假设你有一个名叫 secret_manifesto.txt 的文件,它包含有关于生命、宇宙及一切事物的秘密。使用 GPG,你只需要一个密码就可以加密此文件。使用密码远比使用公钥和私钥对简单,因为它只是用你的密码加密。虽然这比较容易让你的文件遭受到破解(比如使用彩虹表或其他黑客工具暴力破解),但像它的名字中所宣称的:这是相当不错的保护。要加密你的文件,可以这样做: # gpg -c secret_manifesto.txt - # Enter passphrase: - # Repeat passphrase: + Enter passphrase: + Repeat passphrase: -一但完成,在相同的目录下就会多出个新的文件,它默认的名字是 secret_manifesto.txt.gpg 。这是一个二进制文件,这意味着它非常非常小,但是要拷贝/粘贴进电子邮件(e-mail)或 即时消息(IM) 就不可能了。要使其可拷贝等操作,可以添加 -a 标志,这将创建一个只包含 ASCII 码文本的加密文件: +一但完成,在相同的目录下就会多出个新的文件,它默认的名字是 secret_manifesto.txt.gpg 。这是一个二进制文件,这意味着它真的比较小,但是要将其内容拷贝/粘贴到电子邮件(e-mail)或 即时消息(IM) 就不可能了(LCTT译注:当然你可以使用附件方式。)。要使其便于拷贝等操作,可以添加 -a 标志,这将创建一个只包含 ASCII 码文本的加密文件: # gpg -a -c secret_manifesto.txt - # Enter passphrase: - # Repeat passphrase: + Enter passphrase: + Repeat passphrase: # ls -l -rw-rw-r-- 1 spowers spowers 6 Nov 23 1:26 secret_manifesto.txt -rw-rw-r-- 1 spowers spowers 174 Nov 23 1:27 secret_manifesto.txt.asc -rw-rw-r-- 1 spowers spowers 55 Nov 23 1:26 secret_manifesto.txt.gpg -注意到现在多了一个以 .asc 为扩展名的文件。它是个纯文本文件,从上面的代码段示例可以看到它比二进制的加密文件还大,当然比原文本文件就大的更多了。一但你把文件加密了,也确实想要对些信息保密,最明智的就是把原文本文件删除掉。 +注意到现在多了一个以 .asc 为扩展名的文件。它是个纯文本文件,从上面的代码段示例可以看到它比二进制的加密文件还大,当然比原文本文件就大的更多了。一但你把文件加密了,也确实想要对些信息保密,最明智的就是把原文本文件删除掉。(LCTT译注:千万记住密码啊,否则谁也帮不了你了——你得自己破解自己的密码啦:>) -要解密文件,你需要再一次使用 GPG 程序。不管是二进制的还是 ASCII 文件,使用相同的命令就可以解密。如下示: +要解密文件,你需要再一次使用 GPG 程序。不管是二进制的还是 ASCII 文件,使用相同的命令就可以解密。如下所示: # gpg secret_manifesto.txt.asc - # gpg: CAST5 encrypted data - # Enter passphrase: - # gpg: encrypted with 1 passphrase - # File `secret_manifesto.txt' exists. Overwrite? (y/N) + gpg: CAST5 encrypted data + Enter passphrase: + gpg: encrypted with 1 passphrase + File `secret_manifesto.txt' exists. Overwrite? (y/N) 注意到上面的例子中,我没有删除源文本文件,所以 GPG 给出了是否覆盖选项提示。一但操作完成,我的未加密的源文件又回来了。如果你仅仅只有一两个文件要保护,那基于命令行的 GPG 程序正是你所需的。但如果你想实现在系统上指定一个区域,任何保存到这区域的的文件都会自动加密的话,就有点复杂了。可这也并不是非常的困难,让我们用一个非常简单的示范例子来讲解吧。 ### 加密 USB 驱动盘 ### -如我前面提到的,要加密有很多可选的方式方法。加密磁盘分区最通用的一种方法是 LUKS(Linux Unified Key Setup) 系统。一个使用 LUKS 格式化分区的 USB 驱动盘可以被大多数系统自动被别到。实际上,如果你使用的是像 Ubuntu 桌面这样的桌面环境系统的话,加密 USB 驱动盘其实就是在格式化过程中简单的勾选上一个复选框而已。虽然这是加密 USB 盘最容易让人接受的方式,但我还是想演示如何在命令行下进行加密,因为这种方式可以让你明白在加密的后面具体发生了什么。 +如我前面提到的,要加密有很多可选的方式方法。加密磁盘分区最通用的一种方法是 LUKS(Linux Unified Key Setup) 系统。一个使用 LUKS 格式化分区的 USB 驱动盘可以被大多数系统自动识别到。实际上,如果你使用的是像 Ubuntu 桌面这样的桌面环境系统的话,加密 USB 驱动盘其实就是在格式化过程中简单的勾选上一个复选框而已。虽然这是加密 USB 盘最容易让人接受的方式,但我还是想演示如何在命令行下进行加密,因为这种方式可以让你明白在加密的后面具体发生了什么。 #### 步骤 1: 识别您的 USB 驱动盘。 #### -在您插入 USB 驱动盘后,如果输入 `dmesg` 命令,将会显示出所有的系统信息,包括刚插入的 USB 驱动盘的设备名字。 确保设备标识是正确的,因为后面要进行的操作会破坏驱动盘上的所有数据。您也不想一不小心就格式化掉正常的磁盘吧。(虽然不用提醒,但我还是要说,确保您的 USB 驱动盘已经没有你想保留的数据,因为这是一个破坏性的过程。) +在您插入 USB 驱动盘后,如果在终端输入 `dmesg` 命令,将会显示出所有的系统信息,包括刚插入的 USB 驱动盘的设备名字。 确保设备标识是正确的,因为后面要进行的操作会破坏驱动盘上的所有数据。您也不想一不小心就格式化掉正常的磁盘吧。(虽然不用提醒,但我还是要说,确保您的 USB 驱动盘已经没有你想保留的数据,因为这是一个破坏性的过程。) #### 步骤 2: 对 USB 驱动盘进行分区。 #### -假设,在您的系统上 USB 驱动盘是 /dev/sdb 这个设备,您需要在这个驱动上创建一个单分区。我们使用 fdisk 命令。下面是 fdisk 必须的交互操作。一般地,用 o 命令来创建一个新的空分区,然后用 w 命令来保存设置。然后重新运行 fdisk 命令,并用 n 命令来创建一个新的主分区,接下来保持默认的以使用整个设备空间: +假设,在您的系统上 USB 驱动盘是 /dev/sdb 这个设备,您需要在这个驱动上创建一个单分区(LCTT译注:设备是sdb,其上可以有多个分区,分别叫sdb1、sdb2等等)。我们使用 fdisk 命令。下面是 fdisk 必须的交互操作。一般地,用 o 命令来创建一个新的空分区,然后用 w 命令来保存设置。然后重新运行 fdisk 命令,并用 n 命令来创建一个新的主分区,接下来保持默认的以使用整个设备空间: # sudo fdisk /dev/sdb @@ -93,7 +95,7 @@ Command (m for help): w The partition table has been altered! -现在你的 USB 驱动盘有了一个单分区了(/dev/sdb1),但还没有文件系统,这正是我们所想要的,因为 LUKS 系统需要在创建文件系统前在您的分区上创建一个加密层。因此,在创建文件系统之前,就让我们在分区上先创建一个 LUKS 层吧,可以使用 cryptsetup 程序。如果您还没有安装 cryptsetup 的话,可以搜索您系统发布版本的仓库源,里有就有。下面就开始创建 LUKS 加密分区层: +现在你的 USB 驱动盘有了一个单分区了(/dev/sdb1),但还没有文件系统,这正是我们所想要的,因为 LUKS 系统需要在创建文件系统前在您的分区上创建一个加密层。因此,在创建文件系统之前,就让我们在分区上先创建一个 LUKS 层吧,可以使用 cryptsetup 程序。如果您还没有安装 cryptsetup 的话,可以搜索您系统发布版本的仓库源,里面就有。下面就开始创建 LUKS 加密分区层: # cryptsetup luksFormat /dev/sdb1 @@ -105,37 +107,37 @@ Enter LUKS passphrase: Verify passphrase: -按照提示的操作,一定要确保记得您的密码!注意,这儿的“密码单词”不仅仅只表示一个单词。这只是一个习惯,因而得名,设置的越长,越难被破解。 +按照提示的操作,一定要确保记得您的密码!注意,这儿的“密码单词”不仅仅只表示一个单词。这只是一个习惯,因而得名,设置的越长越复杂,越难被破解。 一但上面的操作完成,就创建好了一个加密的分区,但它还没有被挂载或格式化。要做的第一步就是挂载分区,可以再一次使用 cryptsetup 工具: # cryptsetup luksOpen /dev/sdb1 my_crypto_disk Enter passphrase for /dev/sdb1: -当输入完密码后,您输入名字的设备就会像虚拟硬盘一样被挂载上。通常,它挂载在 /dev/mapper/devicename 目录下,所以这个例子所示的分区就挂载到了 /dev/mapper/my_crypto_disk 目录。 +当输入完密码后,您输入名字的设备就会像虚拟硬盘一样被挂载上。通常,它挂载在 /dev/mapper/设备名 的目录下,所以这个例子所示的分区就挂载到了 /dev/mapper/my_crypto_disk 目录。 -现在这个设备就可当做未加密的卷来访问了。 只要它一被挂载,就跟其它未加密的卷是一样的了,这就意味着您想要使用它的话就需要先写入文件系统: +现在这个设备就可当做未加密的卷来访问了。 只要它一被挂载,就跟其它未加密的卷是一样的了,这就意味着您想要使用它的话就需要先建立文件系统: # mkfs.vfat /dev/mapper/my_crypto_disk -n my_crypto_disk mkfs.vfat 3.0.9 (31 Jan 2010) -现在驱动功能完备,可以像其它驱动盘一样正常挂载使用了。实际上,如果你使用的是现代的图形用户界面系统的话,只要你把 USB 驱动盘一插入计算机,将会提示您输入密码,然后就自动挂载上了。退出的时候跟普通盘一样,里面存储的数据会被加密,直到下次输入密码。在命令行里使用 cryptsetup 卸载以及重加密驱动盘也是很简单的: +现在磁盘的功能完备了,可以像其它磁盘一样正常挂载使用了。实际上,如果你使用的是现代的图形用户界面系统的话,只要你把 USB 驱动盘一插入计算机,将会提示您输入密码,然后就自动挂载上了。退出的时候跟普通盘一样,里面存储的数据会被加密,直到下次输入密码。在命令行里使用 cryptsetup 卸载以及重加密驱动盘也是很简单的: # cryptsetup luksClose my_crypto_disk -这仅仅只是冰山一角 +### 这仅仅只是冰山一角 ### -写这篇文章,我的目的是希望剥开加密后面的秘密。加密和解密单个文件很简单,要加密整个 USB 驱动盘也不是太困难(如果使用的是图形用户界面工具就更容易了)。对于大多数系统的发布版本来说,在安装过程中就可以对整个 home 目录进行加密。加密是对您的整个 home 目录起作用,然而有些问题就需要特别处理了。例如,您没登陆时就运行的任务在大多数情况下是不会访问您的 home 目录的,但如果您有调度任务需要访问 home 目录的话,应该进行修改,让其访问系统中其它目录的数据。我觉得安全和便利平衡的中庸之道还是加密 USB 驱动盘,然后在上面存储个人资料。 +写这篇文章,我的目的是希望剥开加密后面的秘密。加密和解密单个文件很简单,要加密整个 USB 驱动盘也不是太困难(如果使用的是图形用户界面工具就更容易了)。对于大多数系统的发布版本来说,在安装过程中就可以对整个 home 目录进行加密。加密是对您的整个 home 目录起作用,然而有些问题就需要特别处理了。例如,您没登陆时就运行的任务在大多数情况下是不会访问您的 home 目录的,但如果您有调度任务需要访问 home 目录的话,应该进行修改,让其访问系统中其它目录的数据。我觉得在安全和便利之中平衡的中庸之道还是加密 USB 驱动盘,然后在上面存储个人资料。 -我必须警告您,一但您考虑安全的问题,就会想要把任何东西都加密起来。这不是什么坏的事情,但是像要对 home 目录加密这种情况,是会碰到一些问题的。如果您使用不用系统的话,跨平台访问也是个大问题。像这种情况,我强烈建议您使用 [TrueCrypt][1]。在前期的文章片段里我提到过 TrueCrypt,它是一款开源的,跨平台的加密系统软件。可以对文件、文件夹、分区等等进行加密,同时可以在任何系统中访问加密的数据。像 Windows、Mac 及 Linux 客户端都可以使用。社区也有大力的支持。 +我必须警告您,一但您考虑到安全的问题,就会想要把任何东西都加密起来。这不是什么坏的事情,但是像要对 home 目录加密这种情况,是会碰到一些问题的。如果您使用不同系统的话,跨平台访问也是个大问题。像这种情况,我强烈建议您使用 [TrueCrypt][1]。在前期的文章片段里我提到过 TrueCrypt,它是一款开源的,跨平台的加密系统软件。可以对文件、文件夹、分区等等进行加密,同时可以在任何系统中访问加密的数据。像 Windows、Mac 及 Linux 客户端都可以使用。社区也有大力的支持。(LCTT译注:悲惨的是,棱镜门事件之后,TrueCrypt的作者已经放弃了该产品,并且强烈建议大家也不要使用,具体可以参考本站的一些相关消息。所以痛失TrueCrypt之后,我们还有哪些替代品?) -希望对文件进行加密的目的并不是为了隐藏某些东西。就像即使您有个好邻居,最好夜里也得锁门一样,对您的个人数据进行加密也是个很正常的举动。如果您想在网上与大家分享你的 Whiskerton 先生戴着可爱的小豆豆帽子的照片的话,这是您的权利。但其它的人,比如他们索检你硬盘的时候,就不需要让看到了。 +希望对文件进行加密的目的并不是为了隐藏某些东西。就像即使您有个好邻居,最好夜里也得锁门一样,对您的个人数据进行加密也是个很正常的举动。如果您想在网上与大家分享你的 Whiskerton 先生戴着可爱的小豆豆帽子的照片的话,这是您的权利。但其它的人,比如他们索检你硬盘的时候,就不需要让他们看到了。 -------------------------------------------------------------------------------- via: http://www.linuxjournal.com/content/encrypting-your-cat-photos -译者:[runningwater](https://github.com/runningwater) 校对:[校对者ID](https://github.com/校对者ID) +译者:[runningwater](https://github.com/runningwater) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From d6127b8ec717bd817325cb45cefe0a91fa7579d2 Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 5 Jul 2014 00:49:22 +0800 Subject: [PATCH 031/291] =?UTF-8?q?PUB=EF=BC=9A20140612=20What=20is=20a=20?= =?UTF-8?q?good=20text=20editor=20on=20Linux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @CNprober --- ...612 What is a good text editor on Linux.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) rename {translated/talk => published}/20140612 What is a good text editor on Linux.md (55%) diff --git a/translated/talk/20140612 What is a good text editor on Linux.md b/published/20140612 What is a good text editor on Linux.md similarity index 55% rename from translated/talk/20140612 What is a good text editor on Linux.md rename to published/20140612 What is a good text editor on Linux.md index e9e065634b..4a987268e3 100644 --- a/translated/talk/20140612 What is a good text editor on Linux.md +++ b/published/20140612 What is a good text editor on Linux.md @@ -7,7 +7,7 @@ ![](https://farm3.staticflickr.com/2936/14371977196_1a4522359b_z.jpg) -让我们直接从这两个“大咖”开始。当有人在一个聊天室里问关于Linux下的编辑器时,会有一个人立马回答[Vim][2],然后会有另外一个说[Emacs][3]. 之所以会这样,理由很充分。这两个都是非常强大的编辑器,有很多的特性,很多插件,很强大的社区支持。如果你一点都不熟悉它们的话,要描述清楚它们强大的功能是有点困难。但是简单来讲,它们允许你在文本中快速移动,简单地做出大量的修改,记录宏以及你能想到基本上任何疯狂的编辑方式。这两个编辑器共同的缺点是,不可避免地花时间去学习。讲完这点之后,我不会陷入到哪一个更好的争论中去,但是我真的想建议每一个人至少学习这两者之一。 +让我们直接从这两个“大咖”开始。当有人在一个聊天室里问关于Linux下的编辑器时,会有一个人立马回答[Vim][2],然后会有另外一个说[Emacs][3]。(LCTT译注:这就是V党和E党啊~)之所以会这样,理由很充分。这两个都是非常强大的编辑器,有很多的特性,很多插件,很强大的社区支持。如果你一点都不熟悉它们的话,要描述清楚它们强大的功能是有点困难。但是简单来讲,它们允许你在文本中快速移动,简单地做出大量的修改,记录宏以及你能想到基本上任何疯狂的编辑方式。这两个编辑器共同的缺点是,不可避免地花时间去学习。讲完这点之后,我不会陷入到哪一个更好的争论中去,但是我真的想建议每一个人至少学习这两者之一。 ![](https://farm4.staticflickr.com/3916/14393718612_a880b86a52_z.jpg) @@ -15,21 +15,21 @@ ![](https://farm3.staticflickr.com/2917/14391734181_0f0ec76e4f_z.jpg) -一款叫做[Sublime Text][4]的文本编辑器在过去几年逐渐兴起.一些人可能会将它视为Vim或者Emacs的友好版,专为编程而设计的。事实上,它保持了一些与Vim和Emacs的相似特性。比如,批量编辑和函数跳转都会让人或多或少想起Emacs或者[一个充满活力的Vim][5].然而,它保留了更多的可视性并且更加容易使用。同样,大量的插件吸引大家进行个性化定制。 +一款叫做[Sublime Text][4]的文本编辑器在过去几年逐渐兴起。一些人可能会将它视为Vim或者Emacs的友好版,专为编程而设计的。事实上,它保持了一些与Vim和Emacs的相似特性。比如,批量编辑和函数跳转都会让人或多或少想起Emacs或者[一个充满活力的Vim][5]。然而,它保留了更多的可视性并且更加容易使用。同样,大量的插件吸引大家进行个性化定制。(LCTT译注:实际上,译者认为Sublime Text与其说是像Vim或Emacs,不如说更像是Mac上的编辑器神器textmate。另外,Sublime Text的发展最近已经陷入停滞了。) -Sublime Text唯一的“污点”是它的许可证:如果你只使用开源软件的话,你可以放弃它了。为此,最近出现了一个雄心勃勃的克隆版 [Lime][6] 。这个软件正处在繁重的开发当中,但是它的理念是:跟Sublime Text相似的用户体验,但是带着开源的韵味。对于Lime,除了满满的期待没有更多要说的了。 +Sublime Text唯一的“污点”是它的许可证:如果你只使用开源软件的话,你可以放弃它了。(LCTT译注:但是Sublime Text可以全功能一直试用下去,没有一点区别,只是如果你觉得应该支持的话,付费比较好,虽然挺贵。)为此,最近出现了一个雄心勃勃的克隆版 [Lime][6] 。这个软件正处在重度开发当中,但是它的理念是:跟Sublime Text相似的用户体验,但是带着开源的韵味。对于Lime,除了满满的期待没有更多要说的了。 -距现在更近的,GitHub以开源形式发布了[Atom][7],展开了与Sublime Text正式的竞争。Atom打包了所有你想要的文件跳转,代码片段使用等特性,提供一个完整特性的编辑器而不是简单的编辑框。使用HTML,CSS和集成Node.js环境,可以轻易地定制文本处理过程,这正是它的魅力所在。这其实已经要涉及到IDE的定义了,我们的列表最多会覆盖到这里。 +距现在更近的,GitHub以开源形式发布了[Atom][7],展开了与Sublime Text正式的竞争。Atom打包了所有你想要的文件跳转,代码片段使用等特性,提供一个完整特性的编辑器而不是简单的编辑框。使用HTML,CSS和集成Node.js环境,可以轻易地定制文本处理过程,这正是它的魅力所在。这其实已经要涉及到IDE的定义了,我们的列表最多会覆盖到这里。(LCTT译注:好吧,我觉得从Sublime Text转移出来的最佳出口就是Atom。) -![](https://www.flickr.com/photos/xmodulo/14395083745/) +![](https://farm4.staticflickr.com/3907/14395083745_469b7e49c9_z.jpg) ### 3. Gedit & Kate & Mousepad & Leafpad ### ![](https://farm3.staticflickr.com/2927/14371977076_c95a557233_z.jpg) -如果不谈这些超级厉害的编辑器,我们可以转向我认为的“桌面环境经典版”编辑器。这些编辑器感觉上更加的传统,有些也可以用插件进行强化,但是它们的重点是输入简单。如果你头脑里有一些想法想要在忘记之前赶快记下来(我必须怪罪那些视频游戏让我的注意力变得短暂)。你不需要学习Vim或者Sublime Text的快捷键。你只需要一些空白的地方进行输入。这类编辑器的好处是它们或多或少的和你的桌面环境集成在一起。在这一类编辑器中,Gnome 下的 [Gedit][8] 和 KDE下的 [Kate][9] 都很好的集成在桌面系统中,可以通过插件进行个性化定制。比如,更容易的进行LaTeX排版。[Mousepad][10] 和 [Leafpad][11] 更适合于轻量级的桌面,比如Xfce和LXDE。它们在某种程度上很像Windows的记事本。所以,如果你需要的是灵活和便捷,请选择它们。 +如果不谈这些超级厉害的神器,我们可以转向我认为的“桌面环境经典版”编辑器。这些编辑器感觉上更加的传统,有些也可以用插件进行强化,但是它们的重点是输入简单。如果你头脑里有一些想法想要在忘记之前赶快记下来(我必须怪罪那些视频游戏让我的注意力变得短暂)。你不需要学习Vim或者Sublime Text的快捷键。你只需要一些空白的地方进行输入。这类编辑器的好处是它们或多或少的和你的桌面环境集成在一起。在这一类编辑器中,Gnome 下的 [Gedit][8] 和 KDE下的 [Kate][9] 都很好的集成在桌面系统中,可以通过插件进行个性化定制。比如,更容易的进行LaTeX排版。[Mousepad][10] 和 [Leafpad][11] 更适合于轻量级的桌面,比如Xfce和LXDE。它们在某种程度上很像Windows的记事本。所以,如果你需要的是灵活和便捷,请选择它们。 -[![](https://farm6.staticflickr.com/5522/14415259703_d3885b3952_z.jpg)][12] +![](https://c2.staticflickr.com/6/5522/14415259703_d3885b3952_z.jpg) ### 4. Nano & Qute ### @@ -37,9 +37,9 @@ Sublime Text唯一的“污点”是它的许可证:如果你只使用开源 另外一个流行的文本编辑器“大家族”是“无打扰编辑器”。如果你喜欢在后台持续地开着Facebook或者Twitter,或者每5分钟就收一次邮件,你就会知道把注意力集中在那篇明天要交的散文,或者这些还没编译通过的代码是多么困难的事。如果是这样,你需要一个编辑器,它可以占满整个屏幕空间,并且屏蔽掉所有的其它事情。 -也许这类编辑器里面最不受欢迎的是Nano。如果你想屏蔽所有分心的事,关掉X server([译注:关掉桌面,只用文字终端界面,Nano就是工作在这种模式下])。这是最简单和直接的方式。事实上,《权力游戏(Game of Thrones)》的作者Geogge R. R. Martin最近就在[一次采访][13]中说他使用一个类似DOS Word的文本处理程序写他的小说。 +也许这类编辑器里面最不受欢迎的是Nano。如果你想屏蔽所有分心的事,关掉X server(LCTT译注:关掉桌面,只用文字终端界面,Nano就是工作在这种模式下。实际上这时nano就是接管了X Server的工作。)。这是最简单和直接的方式。事实上,《权力游戏(Game of Thrones)》的作者Geogge R. R. Martin最近就在[一次采访][13]中说他使用一个类似DOS Word的文本处理程序写他的小说。 -如果你想要一款更顺眼一点的编辑器,你可以试试我的最爱:[Qute][14]. 没有酷炫的特性,也许有一点LaTeX排版使它开起来更美观,但是重点其实是在它的界面的。它提供了一个舒适的导航和编辑体验。如果你对终端感觉不太舒服,Qute是个不错的选择。 +如果你想要一款更顺眼一点的编辑器,你可以试试我的最爱:[Qute][14]。没有酷炫的特性,也许有一点LaTeX排版使它开起来更美观,但是重点其实是在它的界面的。它提供了一个舒适的导航和编辑体验。如果你对终端感觉不太舒服,Qute是个不错的选择。 ![](https://farm3.staticflickr.com/2927/14395083485_7f8f0d6d59_z.jpg) @@ -48,7 +48,7 @@ Sublime Text唯一的“污点”是它的许可证:如果你只使用开源 ![](https://farm4.staticflickr.com/3845/14395083565_b07b33abf0_z.jpg) -最后,办公套件也是文本编辑器。我不确定你能否轻松使用办公套件编程,但是它确实更适合纯文本编辑,也比LaTeX更容易学习。在这类编辑器中,[LibreOffice][15] 和 [Calligra][16] 必能避而不谈。这两个编辑器因为它们丰富的特性和响亮的名声成为这类编辑器中的巨兽。这两者我都喜欢,但是很多人明确的偏向于前者。如果你怀念微软的Word处理软件,你会有自己的选择。稍处下风的[Abiword][17]相对前面的两个是一个轻量级的选择。如果你的目的只是编辑一个文本文档,不关心电子表格或者数据库,Abiword的特性可以达到理想的效果。 +最后,办公套件也是文本编辑器。我不确定你能否轻松使用办公套件编程,但是它确实更适合纯文本编辑,也比LaTeX更容易学习。在这类编辑器中,[LibreOffice][15] 和 [Calligra][16] 不能避而不谈。这两个编辑器因为它们丰富的特性和响亮的名声成为这类编辑器中的巨兽。这两者我都喜欢,但是很多人明确的偏向于前者。如果你怀念微软的Word处理软件,你会有自己的选择。稍处下风的[Abiword][17]相对前面的两个是一个轻量级的选择。如果你的目的只是编辑一个文本文档,不关心电子表格或者数据库,Abiword的特性可以达到理想的效果。 ![](https://farm3.staticflickr.com/2915/14371976966_4d252928ec_z.jpg) @@ -60,7 +60,7 @@ Sublime Text唯一的“污点”是它的许可证:如果你只使用开源 via: http://xmodulo.com/2014/06/good-text-editor-linux.html -译者:[love_daisy_love](https://github.com/CNprober) 校对:[Caroline](https://github.com/carolinewuyan) +译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[Caroline](https://github.com/carolinewuyan) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 512d345e13c816ef9c7be5b6e7dbf5d1d5e492ae Mon Sep 17 00:00:00 2001 From: CNprober Date: Fri, 4 Jul 2014 17:40:39 +0800 Subject: [PATCH 032/291] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90,By?= =?UTF-8?q?=20CNproberKeep=20an=20eye=20on=20..=20RHEL=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n eye on these 5 new features in RHEL 7.md | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md diff --git a/translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md b/translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md new file mode 100644 index 0000000000..451d4c790f --- /dev/null +++ b/translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md @@ -0,0 +1,60 @@ +CNprober translatinged... 619913541 + +RHEL 7值得注意的5个新特性 +================================================================================ +> RHEL 7 支持Docker容器,systemd,兼容微软的身份管理和支持500TB的XFS文件系统。 + +![](http://www.infoworld.com/sites/infoworld.com/files/media/image/140.jpg) + +After six-plus months of [public beta testing][1] and more than three years after its previous major point release, RHEL (Red Hat Enterprise Linux) version 7 is out. The update speaks to Red Hat's interests in outfitting RHEL with many of the latest enterprise and data center features. Here are the five top-of-the-line new additions to RHEL 7 that caught our eyes. +在前一个主版本发布3年之后,经过至少6个月的[公开测试][1],RHEL(Red Hat Enterprise Linux)版本7终于发布了。这次更新表明了红帽子公司对于在RHEL中添加最新的以企业和数据为中心的特性的兴趣。这里列举了其中5个最吸引人眼球的新特性。 + +### 1. Docker ### + +RHEL 7中最大的新特性就是[紧密集成][2]了巨受欢迎的应用程序虚拟化技术[Docker][3]。随着[Docker 1.0发布][4],把它集成到RHEL 7的时机是最合适不过了。 + +用Docker包装的应用程序可以独立于操作系统,所以他们可以在操作系统之间移植并且正常运行。RHEL 7打算尽可能高效地使用Docker,以防止应用程序竞争资源或者为使用哪种运行时环境而困惑。 + +从RHEL的Docker地图上的长期计划表来看,这可能会超越操作系统本身,发展成一系列的Docker容器,它可以支持用最小的开销部署一个系统。这个被称为"[Atomic项目][5]"的计划还处于早期阶段,红帽子公司准备首先将它首先部署在他的Fedora Linux发行版,仅仅当做对前沿技术的测试。 + +### 2. Systemd ### + +包含systemd进程管理器可能引起系统管理员和Linux专家之间激烈的争论。自专用Unix出现以来,systemd就被开发用于替代init系统,它使得启动过程中装载服务更加高效。 + +因为systemd的这个潜在的痛处,红帽子公司没有立刻添加systemd(到RHEL)。早在2010发布的Fedora版本15就已经包含了systemd作为默认项目,这给了红帽子公司一次很好的了解systemd在真实世界的运行的经验。同样,systemd也没有武断地加入RHEL 7,只是作为这个OS大计划的一部分。例如,红帽子公司希望通过使用systemd加强对RHEL 7中Docker容器的支持。 + +### 3. XFS by default ### + +第3个主要的改变是使XFS成为RHEL默认的文件系统,尽管这可能不那么引人瞩目。 + +最初由Silicon Graphics International(硅谷图形公司)创建的XFS在Linux系统上用做生产环境已经很长时间了。在RHEL 7上它将支持高达500TB的文件系统。RHEL 6默认使用ext4,尽管它有XFS选项。红帽子的竞争对手Suse Linux [也支持XFS][6],尽管它安装时[默认使用ext3][7]。 + +非常不幸的是,没有真正的方法可以将RHEL目前使用的其他文件系统,比如ext4或者btrfs移植到XFS。只能备份然后重建(来进行移植)。 + +### 4. 兼容微软的身份管理 ### + +就算是那些不是微软系统粉丝的管理员也对微软目录服务保持勉强的尊重。RHEL 7添加了两个关键的特性以优化处理微软目录服务的方式。跨域认证现在可以在RHEL 7和微软目录服务之间建立,所以目录服务用户可以直接访问Linux侧的资源,不需要再进行一次登录。RHEL 7另一个目录服务相关的附加特性,是基于DNS信息自动发现和加入目录服务(或者其他红帽子认证服务)。 + +### 5. Performance Co-Pilot ### + +进行性能调整的时候看不到实时数据就像是开着挡风玻璃被刷上了油漆的车,所以RHEL 7添加了一个新的性能监控系统PCP([Performance Co-Pilot][8]),PCP最初由Silicon Graphics International(硅谷图形)[创建][9],但是现在它是RHEL 7的一部分。除了监控和记录系统状态,PCP还为其他子系统提供获取数据的API和工具集,比如正如你猜到的,刚刚介绍的systemd。 + +遵循这个思路,另一个次要的附加特性:新的性能配置文件。RHEL 6已经有符合特殊应用场景的调整RHEL的配置文件。RHEL 7不仅默认有一个新的着重使产量最大化的配置文件,而且包含另一个新的平衡性能表现和能源消耗的配置文件。 + +------------------------------------------------------------------------------- + +via:http://www.infoworld.com/t/linux/keep-eye-these-5-new-features-in-rhel-7-244023 + +译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.infoworld.com/t/linux/red-hat-enterprise-linux-7-beta-now-available-232520 +[2]:http://www.infoworld.com/t/application-virtualization/red-hat-fast-tracks-docker-apps-enterprise-linux-238122 +[3]:http://www.infoworld.com/t/application-virtualization/docker-unleashed-app-portability-gets-boost-231716 +[4]:http://www.infoworld.com/d/application-development/review-docker-10-ready-prime-time-243935 +[5]:http://www.projectatomic.io/ +[6]:https://www.suse.com/products/server/technical-information/ +[7]:https://www.suse.com/products/server/technical-information/ +[8]:http://developerblog.redhat.com/2013/11/19/exploratory-performance-pcp/ +[9]:http://oss.sgi.com/projects/pcp/index.html \ No newline at end of file From 048105eb1ada82688de115756e5f43a8d5edee39 Mon Sep 17 00:00:00 2001 From: CNprober Date: Sat, 5 Jul 2014 07:36:35 +0800 Subject: [PATCH 033/291] =?UTF-8?q?=E5=B1=85=E7=84=B6=E5=BF=98=E4=BA=86?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=8E=9F=E6=96=87=EF=BC=8C=E5=A4=B1=E8=AF=AF?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n eye on these 5 new features in RHEL 7.md | 59 ------------------- 1 file changed, 59 deletions(-) delete mode 100644 sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md diff --git a/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md b/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md deleted file mode 100644 index f521646ed2..0000000000 --- a/sources/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md +++ /dev/null @@ -1,59 +0,0 @@ -CNprober translating... 619913541 - -Keep an eye on these 5 new features in RHEL 7 -================================================================================ -> RHEL 7 supports Docker containers, systemd, Microsoft-compatible ID management, and XFS for 500TB filesystems - -![](http://www.infoworld.com/sites/infoworld.com/files/media/image/140.jpg) - -After six-plus months of [public beta testing][1] and more than three years after its previous major point release, RHEL (Red Hat Enterprise Linux) version 7 is out. The update speaks to Red Hat's interests in outfitting RHEL with many of the latest enterprise and data center features. Here are the five top-of-the-line new additions to RHEL 7 that caught our eyes. - -### 1. Docker ### - -The biggest new addition to RHEL 7 is [tight integration][2] of [Docker][3], the explosively popular application-virtualization technology. With Docker itself [hitting 1.0 status][4], the timing on RHEL 7 couldn't be more fitting. - -Apps packaged by Docker are isolated from the system and from each other, so they can be moved between systems and still run as expected. RHEL 7 is meant to be able to use Docker as efficiently as possible so that apps don't contend for resources or get confused about which edition of a runtime to use. - -Long-term plans on the road map for Docker in RHEL involve possibly breaking the OS itself into a series of Docker containers, allowing as little or as much of a system to be deployed as needed with minimal overhead. Dubbed "[Project Atomic][5]," the initiative is still in the early stages, with Red Hat planning to deploy it first via its Fedora Linux distribution, nominally used as a testing ground for cutting-edge technologies. - -### 2. Systemd ### - -The inclusion of the systemd process manager may spark controversy among system administrators and Linux mavens. Systemd was developed to replace the init system in use since the days of proprietary Unix, and it allows, for example, more efficient loading of services during the boot process. - -With systemd as a potential sore spot, Red Hat has not rushed in to add it. Fedora has included systemd as a default since version 15, released in 2010, giving Red Hat good experience with how systemd behaves in the real world. Also, systemd isn't joining RHEL 7 arbitrarily, but as part of larger plans for the OS. Red Hat wants to enhance the way Docker containers are supported in RHEL 7 by using systemd, for example. - -### 3. XFS by default ### - -A third major change, though not likely to raise nearly as many eyebrows, applies to the default file system used by RHEL to XFS. - -Originally created by Silicon Graphics International, XFS has long been in production use with Linux systems, and on RHEL 7 it'll support file systems of up to 500TB in size. RHEL 6 used ext4 as the default, although it shipped with XFS as an option. Red Hat competitor Suse Linux [also supports XFS][6], although it [defaults to ext3][7] on installation. - -Unfortunately, there's no real way to migrate from other file systems currently in use on RHEL -- such as ext4 or btrfs-- other than backing up and restoring. - -### 4. Microsoft-compatible identity management ### - -Even admins who aren't fans of Microsoft Windows have a grudging respect for Microsoft Active Directory. RHEL 7 improves the way RHEL deals with AD by adding two key new features. Cross-realm trusts can now be established between RHEL 7 and AD, so AD users can access resources on the Linux side without having to go through another sign-on step. The other big AD-related addition to RHEL 7, realmd, automates both the discovery of AD (or other Red Hat identity services) based on DNS information and the process of joining to it. - -### 5. Performance Co-Pilot ### - -Performance tuning without live statistics is like driving with the windshield painted over, so RHEL 7 introduces a new performance-monitoring system PCP ([Performance Co-Pilot][8]), [originally created][9] by Silicon Graphics International but now available as part of RHEL 7. In addition to monitoring and recording system stats, PCP sports APIs and a tool set for making that data available to other subsystems, such as -- you guessed it -- the newly introduced systemd. - -Another minor addition in this vein: new performance profiles. RHEL 6 already had performance profiles, which are ways to tune RHEL overall to meet specific usage scenarios. RHEL 7 not only defaults to a new profile that emphasizes maximum throughput performance, but includes another new default profile for balancing performance against energy savings. - --------------------------------------------------------------------------------- - -via:http://www.infoworld.com/t/linux/keep-eye-these-5-new-features-in-rhel-7-244023 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.infoworld.com/t/linux/red-hat-enterprise-linux-7-beta-now-available-232520 -[2]:http://www.infoworld.com/t/application-virtualization/red-hat-fast-tracks-docker-apps-enterprise-linux-238122 -[3]:http://www.infoworld.com/t/application-virtualization/docker-unleashed-app-portability-gets-boost-231716 -[4]:http://www.infoworld.com/d/application-development/review-docker-10-ready-prime-time-243935 -[5]:http://www.projectatomic.io/ -[6]:https://www.suse.com/products/server/technical-information/ -[7]:https://www.suse.com/products/server/technical-information/ -[8]:http://developerblog.redhat.com/2013/11/19/exploratory-performance-pcp/ -[9]:http://oss.sgi.com/projects/pcp/index.html \ No newline at end of file From 14fffc0bb2bc2221f4388a7e8592e96758fa4be7 Mon Sep 17 00:00:00 2001 From: 2q1w2007 <2q1w2007@163.com> Date: Sat, 5 Jul 2014 10:22:16 +0800 Subject: [PATCH 034/291] =?UTF-8?q?2q1w2007=E7=BF=BB=E8=AF=91=E4=B8=AD=202?= =?UTF-8?q?0140702=20Wine=201.7.21=20(Development=20Version)=20Released--I?= =?UTF-8?q?nstall=20in=20RedHat=20and=20Debian=20Based=20Systems?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sion) Released--Install in RedHat and Debian Based Systems.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md b/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md index c0c14973ff..fcf41447d8 100644 --- a/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md +++ b/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md @@ -1,3 +1,4 @@ +2q1w2007翻译中 Wine 1.7.21 (Development Version) Released – Install in RedHat and Debian Based Systems ================================================================================ Wine, a most popular and powerful open source application for Linux, that used to run Windows based applications and games on Linux Platform without any trouble. From 2feb40802e31057f7f45bf114959730e9213e966 Mon Sep 17 00:00:00 2001 From: hunanchenxingyu Date: Sat, 5 Jul 2014 11:00:44 +0800 Subject: [PATCH 035/291] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E4=B8=AD=20by=20huna?= =?UTF-8?q?nchenxingyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20140703 How to find and kill misbehaving MySQL queries.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md b/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md index f4eebccfcd..642fe3cad7 100644 --- a/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md +++ b/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md @@ -1,3 +1,5 @@ +hunanchenxingyu translating ... +================================================================================ How to find and kill misbehaving MySQL queries ================================================================================ Sometimes the complexity of a relational database system can be overwhelming. Fortunately, that complexity is an advantage, as with MySQL's tools for managing queries. In this tutorial, I will show you **how to find and kill any misbehaving MySQL queries**. From 325d6f7dda63615f8f905057915694593641a02e Mon Sep 17 00:00:00 2001 From: "susan.ye" Date: Sat, 5 Jul 2014 11:32:09 +0800 Subject: [PATCH 036/291] =?UTF-8?q?=E4=B9=8C=E9=BE=99=E8=8C=B6=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0140701 Command Line Tuesdays--Part Two.md | 69 ------------------- ...0140701 Command Line Tuesdays--Part Two.md | 68 ++++++++++++++++++ 2 files changed, 68 insertions(+), 69 deletions(-) delete mode 100644 sources/tech/20140701 Command Line Tuesdays--Part Two.md create mode 100644 translated/tech/20140701 Command Line Tuesdays--Part Two.md diff --git a/sources/tech/20140701 Command Line Tuesdays--Part Two.md b/sources/tech/20140701 Command Line Tuesdays--Part Two.md deleted file mode 100644 index ff0516d715..0000000000 --- a/sources/tech/20140701 Command Line Tuesdays--Part Two.md +++ /dev/null @@ -1,69 +0,0 @@ -乌龙茶占坑 -Command Line Tuesdays – Part Two -================================================================================ -Heya geekos! - -Let’s refresh our memories. [Last week][1], we skimmed through some basic commands, learned what a shell is actually, and made a steady introduction into our CLI Tuesdays series. - -Today’s menu offers something else: navigation through the file system. - -Now, the best picture I managed to find on the www is from a site called [devopsbootcamp][2]. You can find their tutorials and the rest here. But anyway, here’s a very nice diagram of what a linux root filesystem looks like. - -![Filesys](http://devopsbootcamp.readthedocs.org/en/latest/_images/hierarchy.jpg) - -For example, as stated in the above picture, your user directory (where you usually store your movies, music, documents etc.) is located in the /home folder. /home folder is located under /. Then you have the /etc folder, where most of the files for configuration are located. Anyway, you can find the detailed description here, as we’ll not be getting into which folder is for what, until we start using and configuring them. Today is reserved for navigation only. And on that note, let’s get down to the first command of the day… - -### pwd ### - -pwd, or ‘print working directory’ is a very useful command if you think you are lost navigating through the folders. At any given moment, type pwd, and voila! What appears is a complete pathway you took to arrive to this folder. Those guys in The Cube could sure use it, losers. - -![Cube](http://bloody-disgusting.com/images/news/cube2review1.gif) -注:此图原文哪里看不到,看看能通过什么途径得到 - -Imagine yourselves walking from room to room inside a massive apartment, loosing your way. pwd is like the breadcrumb trail leading you to your starting point, so you don’t loose your way inside the folder maze! - -![pwd](http://redhat.activeventure.com/73/gettingstartedguide/figs/basics/pwd.png) - -### cd ### - -Now you know in which directory you’re situated thanks to your usage of the pwd command. Now you want to take the next step and move to another directory. Let’s say you have a folder/directory inside your home folder you want to relocate your top secret terminal operation to. For this, you use the ‘cd’ command. cd, or ‘change directory’, will change the location of wanted directory. How do you use it? Simple, type cd and the path to your folder. Let’s say, for example, you want to enter your Hello Kitty picture collection in your home folder. You type ‘cd /home/username/Hello\ Kitty’. - -As you see, we didn’t only use the space bar in the folder name. That’s because the terminal won’t recognize it. Whenever you want to navigate to a folder containing a space in it’s name, you **replace it with the backslash character, followed by space**. You can also, without using the backslash+space option, just put the **whole folder name into quotes**, f.ex. cd /home/username/”Hello Kitty”. - -![cd](http://blogote.com/wp-content/uploads/2010/06/terminal-cd-desktop.png) - -Try it out yourself. Navigate to a different directory using cd, and when there, type pwd to see if everything worked as it’s supposed to. - -### Mr. Shotts’ Shottcuts ### - -Mr. Shotts reminds us there are also some shortcuts available. - -If you type only cd, without the path following it, your terminal will change your working directory (whatever it may be) to your /home folder. - -The same, if you type cd `~user_name` it will lead you to the home folder of the specific user you stated. - -### Next Week ### - -Next week, we’ll head over to the next chapter – we’ll learn how to list files and directories, view text files and classify file’s contents so it will be a bit more work than we’re used to, but I hope you’ll have enough time. Command by command, and if you haven’t the time to do it yourself, we’ll learn the basics together in a matter of months! - -and remember… - -### …have a lot of fun! ### - -P.S.: Thanks to bwl’s comment, we fixed an error in the text regarding the space bar in directory names. - -P.P.S.: GreatEmerald also added some fresh information about file hierarchy. You can read it in [the comments][3]. - -Thanks for your input/corrections. - --------------------------------------------------------------------------------- - -via: https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/ -[2]:http://devopsbootcamp.readthedocs.org/ -[3]:https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/comment-page-1/#comment-99186 diff --git a/translated/tech/20140701 Command Line Tuesdays--Part Two.md b/translated/tech/20140701 Command Line Tuesdays--Part Two.md new file mode 100644 index 0000000000..e7bccdb29d --- /dev/null +++ b/translated/tech/20140701 Command Line Tuesdays--Part Two.md @@ -0,0 +1,68 @@ +命令行星期二-第二部分 +================================================================================ +Hi,极客们! + +让我们来更新一下我们的记忆。[上周][1],我们学习了一些基础命令,了解了shell是什么,同时介绍了我们CLI的星期二系列。 + +今天的菜单将提供点别的东西:通过文件系统导航。 + +现在,我设法找到最好的图片是从一个叫[devopsbootcamp][2]的网站。你可以在上面找到他们其余的教程。但无论如何,这是一个关于Linux根文件系统的看起来非常不错的图。 + +![Filesys](http://devopsbootcamp.readthedocs.org/en/latest/_images/hierarchy.jpg) + +例如,在上面的图片说明中,你的用户目录(你通常存储你的电影,音乐,文档等)是位于/home文件夹。 /home文件夹位于/。你有/etc文件夹,其中文件大部分为配置文件。无论如何,你可以在这找到详细的描述,因为我们将进入这些文件夹来了解他们的功能,直到我们开始使用和配置它们。今天是仅用于导航。而关于这一点,让我们来开始今天的第一个命令... + +### pwd ### + +pwd,或者 ‘print working directory’当你认为你在文件中失去了方向是一个非常有用的命令。在任何给定时刻,键入pwd命令,瞧!这是你到达这个文件夹的完整路径。在多维数据集的那些家伙总能利用它。 + +![Cube](http://bloody-disgusting.com/images/news/cube2review1.gif) +注:此图原文哪里看不到,看看能通过什么途径得到 + +想象一下,自己在一个巨大的公寓里面从一个房间走到另一个房间房间,迷路了。 pwd就像面包屑指引着你到你的出发点,这样你就不会在文件夹迷宫里面失去你的方向! + +![pwd](http://redhat.activeventure.com/73/gettingstartedguide/figs/basics/pwd.png) + +### cd ### + +现在你知道了如果想知道自己在哪个目录的pwd命令的用法。现在,你要采取的下一步骤,并移动到另一个目录。比方说,你想从home文件夹移动到里面有你想要的绝密的一个文件夹/目录。对于这一点,你用'cd'命令。 cd,或‘change directory’,将改变所处目录的位置。你怎么使用它呢?简单,键入cd和你的文件夹路径。比方说,例如,你想从你的主文件夹进入你的Hello Kitty图片集。你输入‘cd /home/username/Hello\ Kitty’。 + +正如你看到的,我们并没有只使用文件夹名称的空格键。这是因为终端将无法识别它。每当你要导航到它的名称中有空格的文件夹,你**用反斜杠字符,后跟空格**代替它。您也可以不使用反斜杠+空格选项,只是把**整个文件夹名称加引号**,例如,cd /home/username/”Hello Kitty”。 + +![cd](http://blogote.com/wp-content/uploads/2010/06/terminal-cd-desktop.png) + +自己尝试一下。使用cd导航到不同的目录,同时,键入pwd命令,看看一切工作是否如期望的那样。 + +### Shotts先生的快捷键 ### + +肖茨先生提醒我们也有一些可用的快捷键。 + +如果你仅键入cd,不带路径,你的终端将你的工作目录(不管它可能是)改变为你的/home文件夹。 + +同样地,如果你键入cd `~user_name`它会带你到你规定的特定用户的主文件夹。 + +### 下周 ### + +下周,我们将进入到下一章 - 我们将学习如何列出文件和目录,查看文本文件和文件的内容进,因此会比之前我们已经学习的有更多的工作,但我希望你将会有足够的时间。命令通过命令,如果你没有时间自己做,我们将一起在几个月内学习基础知识! + +同时,记得... + +### …玩得开心! ### + +P.S.:感谢bwl的评论,我们修正了一个在目录名称中包含空格的文本的一个错误。 + +P.P.S:GreatEmerald还增加了有关文件层次结构的一些新信息。您可以在[意见][3]中阅读。 + +感谢你们的贡献和更正 + +-------------------------------------------------------------------------------- + +via: https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/ + +译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/ +[2]:http://devopsbootcamp.readthedocs.org/ +[3]:https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/comment-page-1/#comment-99186 From 51e8aa15f395dfe39ce5992a7d41b121e58d7477 Mon Sep 17 00:00:00 2001 From: hunanchenxingyu Date: Sat, 5 Jul 2014 13:05:27 +0800 Subject: [PATCH 037/291] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90=20?= =?UTF-8?q?by=20hunanchenxingyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...find and kill misbehaving MySQL queries.md | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) rename {sources => translated}/tech/20140703 How to find and kill misbehaving MySQL queries.md (66%) diff --git a/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md b/translated/tech/20140703 How to find and kill misbehaving MySQL queries.md similarity index 66% rename from sources/tech/20140703 How to find and kill misbehaving MySQL queries.md rename to translated/tech/20140703 How to find and kill misbehaving MySQL queries.md index 642fe3cad7..0d49954923 100644 --- a/sources/tech/20140703 How to find and kill misbehaving MySQL queries.md +++ b/translated/tech/20140703 How to find and kill misbehaving MySQL queries.md @@ -1,10 +1,8 @@ -hunanchenxingyu translating ... +怎样去查找并杀掉非法的MySQL查询 ================================================================================ -How to find and kill misbehaving MySQL queries -================================================================================ -Sometimes the complexity of a relational database system can be overwhelming. Fortunately, that complexity is an advantage, as with MySQL's tools for managing queries. In this tutorial, I will show you **how to find and kill any misbehaving MySQL queries**. +有时,相关数据库系统的复杂性可能被压倒.幸运地,这种复杂性是一种优势,与 MySQL工具一起管理查询. 在本教程中, 我将向你们展示 **怎样去查找并杀掉任何非法的MySQL查询**. -To view the currently-running queries, log in to the MySQL console and run the 'show processlist' command: +为了浏览当前正在运行的查询, 登陆到MySQL终端,然后运行‘show processlist’命令: mysql> show processlist; @@ -18,9 +16,10 @@ To view the currently-running queries, log in to the MySQL console and run the ' +--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+ 4 rows in set (0.03 sec) -The first column you should look at is 'Time', which is the number of seconds the process has been "doing the thing it's doing". A process whose command is 'Sleep' is waiting for a query to come in, so it's not consuming any resources. For any other process, however, a 'Time' of more than a few seconds indicates a problem. +首先 你应该查看'Time'项, 这里记录了进程执行 "doing the thing it's doing" 操作的秒数. ‘command’项处于‘Sleep’ +状态的进程正在等待查询, 因此,它并没有消耗任何资源. 对于其他任何进程而言,‘Time’超过一定的秒数表明出现问题. -In this case, the only query running is our 'show processlist' command. Let's see what it looks like if we have a poorly-written query running: +在这种情况下,只能通过运行‘show processlist’命令来查询.如果我们有一个糟糕的写查询,让我们来看看情况如何: mysql> show processlist; @@ -36,19 +35,19 @@ In this case, the only query running is our 'show processlist' command. Let's se +--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+ 6 rows in set (0.00 sec) -Ah! Now we see there is a query that's been running for almost 30 seconds. If we don't want to let it run its course, we can kill it by passing its 'Id' to the kill command: +啊哈!现在我们看到这里的查询几乎运行了30s. 如果我们不想让它继续运行,可以使用它的'Id'去执行kill命令: mysql> kill 132033; Query OK, 0 rows affected (0.00 sec) mysql> -(Note that MySQL will always report 0 rows affected, because we're not altering any data.) +(注意 由于我们没有改变任何数据,MySQL总是报告0行被影响.) -Judicious use of the kill command can clean up a backlog of queries. Remember, however, that it's not a permanent solution - if those queries came from your application, you need to rewrite them, or you'll continue to see the same issue reappear. +明智的使用kill命令能够清除积压的查询.记住,但那不是一种永久的方法 - 如果这些查询来自你的应用,你需要去重写它们,或者将继续看到相同的问题. -### See Also ### +### 另请参阅 ### -MySQL's documentation on the different 'Command' values: +关于不同‘Command’的MySQL文档: - [https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html][1] @@ -56,7 +55,7 @@ MySQL's documentation on the different 'Command' values: via: http://xmodulo.com/2014/07/find-kill-misbehaving-mysql-queries.html -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From b5e46530848dd01a20884c8fad15de9cecc9d2ad Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 5 Jul 2014 14:56:49 +0800 Subject: [PATCH 038/291] PUB:20140617 9 Good Ways To Protect Your Linux System @GOLinux --- ... Good Ways To Protect Your Linux System.md | 58 +++++++++++++++++++ ... Good Ways To Protect Your Linux System.md | 51 ---------------- 2 files changed, 58 insertions(+), 51 deletions(-) create mode 100644 published/20140617 9 Good Ways To Protect Your Linux System.md delete mode 100644 translated/tech/20140617 9 Good Ways To Protect Your Linux System.md diff --git a/published/20140617 9 Good Ways To Protect Your Linux System.md b/published/20140617 9 Good Ways To Protect Your Linux System.md new file mode 100644 index 0000000000..7d7b3c477a --- /dev/null +++ b/published/20140617 9 Good Ways To Protect Your Linux System.md @@ -0,0 +1,58 @@ +保护你的Linux系统的九个老生常谈 +================================================================================ +在现在这个世道中,保障基于Linux的系统的安全是十分重要的。但是,你得知道怎么干。一个简单反恶意程序软件是远远不够的,你需要采取其它措施来协同工作。那么试试下面这些手段吧。 + +![](http://www.efytimes.com/admin/useradmin/photo/2Rak10143PM6172014.jpeg) + +### 1. 使用SELinux ### + +[SELinux][1]是用来对Linux进行安全加固的,有了它,用户和管理员们就可以对访问控制进行更多控制。SELinux为访问控制添加了更细的颗粒度控制。与仅可以指定谁可以读、写或执行一个文件的权限不同的是,SELinux可以让你指定谁可以删除链接、只能追加、移动一个文件之类的更多控制。(LCTT译注:虽然NSA也给SELinux贡献过很多代码,但是目前尚无证据证明SELinux有潜在后门) + +### 2. 订阅漏洞警报服务 ### + +安全缺陷不一定是在你的操作系统上。事实上,漏洞多见于安装的应用程序之中。为了避免这个问题的发生,你必须保持你的应用程序更新到最新版本。此外,订阅漏洞警报服务,如[SecurityFocus][2]。 + +### 3. 禁用不用的服务和应用 ### + +通常来讲,用户大多数时候都用不到他们系统上的服务和应用的一半。然而,这些服务和应用还是会运行,这会招来攻击者。因而,最好是把这些不用的服务停掉。(LCTT译注:或者干脆不安装那些用不到的服务,这样根本就不用关注它们是否有安全漏洞和该升级了。) + +### 4. 检查系统日志 ### + +你的系统日志告诉你在系统上发生了什么活动,包括攻击者是否成功进入或试着访问系统。时刻保持警惕,这是你第一条防线,而经常性地监控系统日志就是为了守好这道防线。 + +### 5. 考虑使用端口试探 ### + +设置[端口试探(Port knocking)][4]是建立服务器安全连接的好方法。一般做法是发生特定的包给服务器,以触发服务器的回应/连接(打开防火墙)。端口敲门对于那些有开放端口的系统是一个很好的防护措施。 + +下面是来自 http://www.portknocking.org/ 的示意图: + +![](http://www.portknocking.org/images/portknocking-explained-01.png)![](http://www.portknocking.org/images/portknocking-explained-02.png)![](http://www.portknocking.org/images/portknocking-explained-03.png)![](http://www.portknocking.org/images/portknocking-explained-04.png) + +### 6. 使用Iptables ### + +Iptables是什么?这是一个应用框架,它允许用户自己为系统建立一个强大的防火墙。因此,要提升安全防护能力,就要学习怎样一个好的防火墙以及怎样使用Iptables框架。 + +### 7. 默认拒绝所有 ### + +防火墙有两种思路:一个是允许每一点通信,另一个是拒绝所有访问,提示你是否许可。第二种更好一些。你应该只允许那些重要的通信进入。(LCTT译注:即默认许可策略和默认禁止策略,前者你需要指定哪些应该禁止,除此之外统统放行;后者你需要指定哪些可以放行,除此之外全部禁止。) + +### 8. 使用入侵检测系统 ### + +入侵检测系统,或者叫IDS,允许你更好地管理系统上的通信和受到的攻击。[Snort][3]是目前公认的Linux上的最好的IDS。 + +### 9. 使用全盘加密 ### + +加密的数据更难窃取,有时候根本不可能被窃取,这就是你应该对整个驱动器加密的原因。采用这种方式后,如果有某个人进入到你的系统,那么他看到这些加密的数据后,就有得头痛了。根据一些报告,大多数数据丢失源于机器被盗。 + +-------------------------------------------------------------------------------- + +via: http://www.efytimes.com/e1/fullnews.asp?edid=141368 + +译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://selinuxproject.org/page/Main_Page +[2]:http://www.securityfocus.com/rss/vulnerabilities.xml +[3]:http://www.snort.org/ +[4]:http://en.wikipedia.org/wiki/Port_knocking diff --git a/translated/tech/20140617 9 Good Ways To Protect Your Linux System.md b/translated/tech/20140617 9 Good Ways To Protect Your Linux System.md deleted file mode 100644 index 9899e99412..0000000000 --- a/translated/tech/20140617 9 Good Ways To Protect Your Linux System.md +++ /dev/null @@ -1,51 +0,0 @@ -保护你的Linux系统的9种好方法 -================================================================================ -在现在这个世道中,保障基于Linux的系统的安全是十分重要的。但是,你得知道怎么干。一个简单反恶意程序软件这是远远不够的,你需要采取其它措施来协同工作。那么试试下面这些手段吧。 - -![](http://www.efytimes.com/admin/useradmin/photo/2Rak10143PM6172014.jpeg) - -### 1. 使用SELinux ### - -[SELinux][1]是用来对Linux进行安全加固的,有了它,用户和管理们就可以对访问控制进行更多控制。SELinux为访问控制添加了更细的颗粒度控制。与仅可以指定谁可以读、写或执行一个文件的权限不同的是,SELinux可以让你指定谁可以解链接,仅追加,移动一个文件之类。 - -### 2. 订阅漏洞警报服务 ### - -你的操作系统可能不一定受伤害的那一台。事实上,漏洞多见于安装的应用程序之中。为了避免这个问题的发生,你必须保持你的应用程序更新到最新版本。此外,订阅漏洞警报服务,如[SecurityFocus][2]。 - -### 3. 禁用不用的服务和应用 ### - -通常来讲,用户大多数时候都用不到他们系统上的服务和应用的一半。然而,这些服务和应用还是会运行,这会招来攻击者。因而,最好是把这些不用的服务停掉。 - -### 4. 检查系统日志 ### - -你的系统日志告诉你在系统上发生了什么活动,包括攻击者是否成功进入或试着访问系统。时刻保持警惕,是你第一条防线,而经常性地监控系统日志就是为了守好这道防线。 - -### 5. 考虑使用端口敲门 ### - -设置端口敲门是建立服务器安全连接的好方法。而基本上会发生的问题是,别有用心的人会发送一个特别的包给服务器,这个包会开启来自服务器的回应/连接。端口敲门对于那些有开放端口的系统上是一个很好的防护措施。 - -### 6. 使用Iptables ### - -Iptables是什么?这是一个应用程序框架,它允许用户自己为系统写一个强大的防火墙。因此,要做得好,就要学习怎样一个好的防火墙以及怎样使用Iptables框架。 - -### 7. 默认拒绝所有 ### - -防火墙允许两个宗旨:一个是允许每一点通信,另一个是拒绝所有访问,提示你是否许可。第二个选项是两者中更好的一个。你应该只允许那些重要的通信进入。 - -### 8. 使用入侵检测系统 ### - -入侵检测系统,或者叫IDS,允许你更好地管理系统上的通信和受到的攻击。[Snort][3] - -加密的数据更难窃取,有时候根本不可能被窃取,这就是你应该对整个驱动器加密的原因。采用这种方式后,如果有某个人进入到你的系统,那么他看到这些加密的数据后,就有得头痛了。根据一些报告,大多数数据丢失源于机器被盗。 - --------------------------------------------------------------------------------- - -via: http://www.efytimes.com/e1/fullnews.asp?edid=141368 - -译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://selinuxproject.org/page/Main_Page -[2]:http://www.securityfocus.com/rss/vulnerabilities.xml -[3]:http://www.snort.org/ From 805d31ebe1e09da9e972050d55bceece2546eefc Mon Sep 17 00:00:00 2001 From: ThomazL Date: Sat, 5 Jul 2014 15:16:16 +0800 Subject: [PATCH 039/291] translating by ThomazL --- .../tech/20140702 How to install Raspberry Pi camera board.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140702 How to install Raspberry Pi camera board.md b/sources/tech/20140702 How to install Raspberry Pi camera board.md index e173d428c7..0d060fe955 100644 --- a/sources/tech/20140702 How to install Raspberry Pi camera board.md +++ b/sources/tech/20140702 How to install Raspberry Pi camera board.md @@ -1,3 +1,4 @@ +>> Translating by ThomazL How to install Raspberry Pi camera board ================================================================================ [The Raspberry Pi camera (Pi Cam) board][1] was first released for sale in May 2013. This first release is equipped with a 5 Megapixel sensor, and connects through a ribbon cable to the CSI connector on the Raspberry Pi. The second release of Raspberry Pi camera board, which is called [Pi NoIR][2], has the same sensor, but without the IR filter. It has capability to see near IR wavelengths (700 - 1000 nm) like a security camera, and of course it is sacrificing the color rendition. @@ -104,4 +105,4 @@ via: http://xmodulo.com/2014/07/install-raspberry-pi-camera-board.html [1]:http://xmodulo.com/go/picam [2]:http://xmodulo.com/go/pinoir [3]:http://xmodulo.com/go/raspberrypi -[a]:http://hadiono.org/blog \ No newline at end of file +[a]:http://hadiono.org/blog From a054cb557bfc439f409953d33bc7443524db4f2d Mon Sep 17 00:00:00 2001 From: owen-carter Date: Sat, 5 Jul 2014 16:28:16 +0800 Subject: [PATCH 040/291] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Remains Stuck at 33.86 Petaflops Each s.md | 36 -------------- ... Stuck at 33.86 Petaflops Each s - 翻译.md | 48 +++++++++++++++++++ 2 files changed, 48 insertions(+), 36 deletions(-) delete mode 100644 sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md create mode 100644 translated/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md diff --git a/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md b/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md deleted file mode 100644 index 896525d340..0000000000 --- a/sources/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s.md +++ /dev/null @@ -1,36 +0,0 @@ -translating by owen-carter -Top500 Supercomputer Remains Stuck at 33.86 Petaflops/s -================================================================================ -The Tianhe-2 first jumped onto the world's supercomputing stage a year ago, taking the crown of world's most powerful computer. At the time, the Tianhe-2 was rated with a performance of 33.86 petaflops per second. - -One full year later and Tianhe-2's performance numbers are unchanged and it still holds down the top spot as the world's most powerful supercomputer. - -![](http://www.serverwatch.com/imagesvr_ce/7184/icon-titan-r.jpg) - -Back in June of 2013 the number two supercomputer in the world was the Cray Titan, at the U.S. Department of Energy's Oak Ridge National Lab. A year ago, Titan clocked in at 17.59 petaflops per second. Titan's performance, like that of Tianhe-2, remains unchanced for June 2014 and it still holds down the number two spot. - -In fact, over the course of the last year, very little has changed among the performance rankings for the top 10 supercomputers in the world, as ranked by the Top500 list. - -Looking at the list from the bottom up, the number 500 system on the list, a Cray XC30 at Deutcher Wetterdienst in Germany, clocked in at 133.7 teraflops per second. - -"The last system on the newest list was listed at position 384 in the previous TOP500," the TOP500 site stated. "This represents the lowest turnover rate in the list in two decades." - -Once again, Intel chips dominate the list with 85.4 percent of the supercomputers, and IBM Power processors hold an 8 percent share. AMD's share now stands at 6 percent. - -In terms of chip architectures, 53.6 percent of all systems had 8 or more cores per socket, and 13.4 percent had 10 or more cores. - -Looking at the networking interconnects, Infiniband and Ethernet continue to split the field. On the June 2014 list, Infiniband holds a 44.4 percent share of systems. - -In contrast, Gigabit Ethernet was reported to have a 25.4 percent share and 10 Gigabit Ethernet had 15 percent, for a combined Ethernet share of 40.4 percent. - -HP and IBM once again dominate the list of supercomputing vendors. HP now holds a 36.4 percent share, while IBM holds 35.2 percent. Cray holds down the third spot with a 10.2 percent share. - -While there are competing vendors, chip architectures, core counts and networking fabrics at play in the list of the worlds top 500 supercomputers, when it comes to the operating system of choice, there is no debate. Linux dominates the list with a 97 percent share, being installed on 485 systems on the top 500 list. - --------------------------------------------------------------------------------- - -via: http://www.serverwatch.com/server-news/top500-supercomputer-remains-stuck-at-33.86-petaflops.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md b/translated/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md new file mode 100644 index 0000000000..25f2566141 --- /dev/null +++ b/translated/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md @@ -0,0 +1,48 @@ +世界 500 强的超级计算机计算性能仍然保持在 33.86 千万亿次/秒 + +-------------------------------------------------------------------------------- + +天河2号 一年以前第一次跳上世界超算舞台,拥有了当时世界上最强计算机的皇冠。当时,天河2号被评测为每秒 33.86 千万亿次。 + + +满满一年后天河-2 性能指数仍旧保持不变,它仍然坐上了了世界上最强超级计算机的头把交椅。 + + +![](http://www.serverwatch.com/imagesvr_ce/7184/icon-titan-r.jpg) + +截止到 2013 年 6 月号,世界上两个超级计算机都是安置于美国能源部橡树岭国家实验室的是 Cray Titan,。一年前,Titan可飙至 17.59 千万亿次每秒。Titan的优秀表现,正如同天河-2, 在2014 年 6 月,但它仍然保持了他的地位。 + + +事实上,在最近的一年中,世界上顶尖的前 10 超级计算机的性能排名几乎没有任何改变,至少根据世界超算 500 强名单来看是这样的。 + + +如果将名单倒着来看,在超算500强排行榜上,在德国Deutcher Wetterdienst 的Cray XC30 性能已经逼近 133.7 计算机每秒。 + + +TOP500 网站指出,"最新名单上的最新的系统其实以前处在旧的世界 500 强排行榜中384位"。"这代表列表中最少的滚动周期是二十年。 + + +再次,列表有 85.4%的超级计算机都是英特尔芯片占主导地位的,和 IBM 电源和处理器拥有 8%的市场份额。AMD 的占有率目前仅为 6%。 + + +就芯片架构来说,53.6%的超算都拥有 8 个或更多核心, 13.4%的超算有 10 个或更多的核心。 + +再来看看网络连接,无限宽带和以太网拆分了整个市场。在 2014 年 6 月名单上,无限宽带占据了系统的 44.4%。 + + +相比之下,据报道千兆位以太网有 25.4%的市场份额, 10千兆位以太网拥有 15%,为以太网整体份额的 40.4%。 + + +惠普和 IBM 再次占领了超级计算供应商的列表。惠普现在持有 36.4%的份额,而 IBM 持有 35.2%。Cray 压低了排名第三,10.2%的市场份额。 + + +尽管有着竞争激烈的的供应商们,芯片体系架构,核心数量和互联方式等重要因素在世界前 500 的超级计算机榜单排名时扮演着重要的角色,但是在选择操作系统的时候,毫无疑问的是,97%的超算都安装了linux操作系统,即top500超算榜单上的485个超算都安装了linux系统。 + + +-------------------------------------------------------------------------------- + +via: http://www.serverwatch.com/server-news/top500-supercomputer-remains-stuck-at-33.86-petaflops.html + +译者:[owen-carter](https://github.com/owen-carter) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From c666b96475e061233028604f69646ffa636bbd4f Mon Sep 17 00:00:00 2001 From: linuhap Date: Sat, 5 Jul 2014 22:19:19 +0800 Subject: [PATCH 041/291] translated --- ...ade Linux Released for Open Source Cars.md | 38 ------------------- ...ade Linux Released for Open Source Cars.md | 38 +++++++++++++++++++ 2 files changed, 38 insertions(+), 38 deletions(-) delete mode 100644 sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md create mode 100644 translated/news/20140702 Automotive Grade Linux Released for Open Source Cars.md diff --git a/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md b/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md deleted file mode 100644 index 3e64736b69..0000000000 --- a/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md +++ /dev/null @@ -1,38 +0,0 @@ -Automotive Grade Linux Released for Open Source Cars -================================================================================ -> The Linux Foundation and its partners have released the first version of Automotive Grade Linux, the open source platform for use inside connected cars. - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/07/automotivelinux.jpg) - -Linux, the open source operating system, shifted gears into a relatively new ecosystem this week with the first release of [Automotive Grade Linux][1] (AGL), a Linux distribution tailored for cars in the Internet of Things age. - -AGL is a collaborative project sponsored by the [Linux Foundation][2] that brings together a host of partners from the automotive industry, communications, computing hardware, academia and other sectors. The first release of the open source operating system, which appeared June 30 and is [available][3] for free online, is based on [Tizen IVI][4], a Linux-based platform designed to provide operating system solutions for a broad range of devices, from smartphones to TVs to cars to laptops. - -In its first release, AGL provides a series of features and applications tailored for deployment in cars and other vehicles, including: - -- Home Screen -- Dashboard -- Google Maps -- HVAC -- Media Playback -- News Reader (AppCarousel) -- Audio Controls -- Bluetooth Phone -- Smart Device Link Integration - -The Linux Foundation and its partners participating in the AGL project hope the solution will help to ensure that the "connected" cars of the future use open source software to deliver the next generation of entertainment, navigation and other tools for use inside vehicles. "Openness and collaboration are key to accelerating the development of a common, standard automotive platform so the industry can more quickly achieve its vision of delivering the connected car," said Dan Cauchy, general manager of Automotive, The Linux Foundation. - -Cauchy added that the Linux Foundation expects AGL development to continue steadily following this first release, and that collaborators hope to introduce "a number of additional capabilities and features in subsequent releases." - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/open-source-application-software-companies/070114/automotive-grade-linux-released-open-source-cars - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://automotive.linuxfoundation.org/ -[2]:http://linuxfoundation.org/ -[3]:http://automotive.linuxfoundation.org/ -[4]:https://www.tizen.org/ \ No newline at end of file diff --git a/translated/news/20140702 Automotive Grade Linux Released for Open Source Cars.md b/translated/news/20140702 Automotive Grade Linux Released for Open Source Cars.md new file mode 100644 index 0000000000..71cf872f07 --- /dev/null +++ b/translated/news/20140702 Automotive Grade Linux Released for Open Source Cars.md @@ -0,0 +1,38 @@ +开源车载系统Automotive Grade Linux发布 +================================================================================ +> Linux基金会和他的合作伙伴发布了Automotive Grade Linux的第一个版本,这是一个在连网汽车内部使用的开源平台。 + +![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/07/automotivelinux.jpg) + +随着本周[Automotive Grade Linux][1](AGL)——一个在物联网时代专为汽车定制的Linux发行版的第一个版本的发布,Linux这个开源操作系统,将装置转变为一个相关的新的生态系统。 + +AGL是由Linux基金会发起的合作项目,Linux基金会汇集了来自汽车行业,通信,计算硬件,学术界和其他领域的合作伙伴。AGL的第一个版本于6月30号发布在网上并且在可免费下载,这个开源操作系统基于[Tizen IVI][4]。Tizen IVI是一个基于Linux的平台,它被用于为广泛的设备提供操作系统解决方案,从智能手机,到电视,汽车,笔记本电脑。 + +在第一个版本中,AGL提供了一系列的功能和为汽车或其他车辆部署定制的应用程序,包括: + +- 主屏幕 +- 仪表盘 +- 谷歌地图 +- 暖通空调 +- 媒体回放 +- 新闻阅读器 +- 音响控制 +- 蓝牙手机 +- 智能设备连接集成 + +Linux基金会和他的参与AGL项目的合作伙伴希望这个解决方案将帮助确保未来“连网汽车”使用开源软件以提供下一代娱乐,导航和其他车内使用的工具。“公开和合作是促进一个公共的,标准的汽车平台发展的关键,所以这个产业可以更快速地实现供连网汽车使用的愿望。”Linux基金会的汽车总经理Dan Cauchy这样说。 + +Cauchy补充道,Linux基金会期望AGL能随其第一个版本后稳步发展,其合作者希望在以后的版本中能加入“一些额外的功能和特点。” + +-------------------------------------------------------------------------------- + +via: http://thevarguy.com/open-source-application-software-companies/070114/automotive-grade-linux-released-open-source-cars + +译者:[linuhap](https://github.com/linuhap) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://automotive.linuxfoundation.org/ +[2]:http://linuxfoundation.org/ +[3]:http://automotive.linuxfoundation.org/ +[4]:https://www.tizen.org/ \ No newline at end of file From 1e3c578693a0ac6d140ae202f42180ffd394eeac Mon Sep 17 00:00:00 2001 From: linuhap Date: Sat, 5 Jul 2014 22:28:09 +0800 Subject: [PATCH 042/291] translated --- ...ade Linux Released for Open Source Cars.md | 39 ------------------- 1 file changed, 39 deletions(-) delete mode 100644 sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md diff --git a/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md b/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md deleted file mode 100644 index 4f85e31e1b..0000000000 --- a/sources/news/20140702 Automotive Grade Linux Released for Open Source Cars.md +++ /dev/null @@ -1,39 +0,0 @@ -linuhap translating -Automotive Grade Linux Released for Open Source Cars -================================================================================ -> The Linux Foundation and its partners have released the first version of Automotive Grade Linux, the open source platform for use inside connected cars. - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/07/automotivelinux.jpg) - -Linux, the open source operating system, shifted gears into a relatively new ecosystem this week with the first release of [Automotive Grade Linux][1] (AGL), a Linux distribution tailored for cars in the Internet of Things age. - -AGL is a collaborative project sponsored by the [Linux Foundation][2] that brings together a host of partners from the automotive industry, communications, computing hardware, academia and other sectors. The first release of the open source operating system, which appeared June 30 and is [available][3] for free online, is based on [Tizen IVI][4], a Linux-based platform designed to provide operating system solutions for a broad range of devices, from smartphones to TVs to cars to laptops. - -In its first release, AGL provides a series of features and applications tailored for deployment in cars and other vehicles, including: - -- Home Screen -- Dashboard -- Google Maps -- HVAC -- Media Playback -- News Reader (AppCarousel) -- Audio Controls -- Bluetooth Phone -- Smart Device Link Integration - -The Linux Foundation and its partners participating in the AGL project hope the solution will help to ensure that the "connected" cars of the future use open source software to deliver the next generation of entertainment, navigation and other tools for use inside vehicles. "Openness and collaboration are key to accelerating the development of a common, standard automotive platform so the industry can more quickly achieve its vision of delivering the connected car," said Dan Cauchy, general manager of Automotive, The Linux Foundation. - -Cauchy added that the Linux Foundation expects AGL development to continue steadily following this first release, and that collaborators hope to introduce "a number of additional capabilities and features in subsequent releases." - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/open-source-application-software-companies/070114/automotive-grade-linux-released-open-source-cars - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://automotive.linuxfoundation.org/ -[2]:http://linuxfoundation.org/ -[3]:http://automotive.linuxfoundation.org/ -[4]:https://www.tizen.org/ From ed5f53eca4f1f27f1cbb02fb3cc31f1f9e78fbab Mon Sep 17 00:00:00 2001 From: ThomazL Date: Sun, 6 Jul 2014 23:47:55 +0800 Subject: [PATCH 043/291] translated by ThomazL --- ...ow to install Raspberry Pi camera board.md | 108 ------------------ ...ow to install Raspberry Pi camera board.md | 105 +++++++++++++++++ 2 files changed, 105 insertions(+), 108 deletions(-) delete mode 100644 sources/tech/20140702 How to install Raspberry Pi camera board.md create mode 100644 translated/tech/20140702 How to install Raspberry Pi camera board.md diff --git a/sources/tech/20140702 How to install Raspberry Pi camera board.md b/sources/tech/20140702 How to install Raspberry Pi camera board.md deleted file mode 100644 index 0d060fe955..0000000000 --- a/sources/tech/20140702 How to install Raspberry Pi camera board.md +++ /dev/null @@ -1,108 +0,0 @@ ->> Translating by ThomazL -How to install Raspberry Pi camera board -================================================================================ -[The Raspberry Pi camera (Pi Cam) board][1] was first released for sale in May 2013. This first release is equipped with a 5 Megapixel sensor, and connects through a ribbon cable to the CSI connector on the Raspberry Pi. The second release of Raspberry Pi camera board, which is called [Pi NoIR][2], has the same sensor, but without the IR filter. It has capability to see near IR wavelengths (700 - 1000 nm) like a security camera, and of course it is sacrificing the color rendition. - -In this article, we will show you **how to install a Raspberry Pi camera board on [Raspberry Pi][3]**. We will be using the first release of Pi camera board. Once the board is installed, you will use three applications to access the board: raspistill, raspiyuv, and raspivid. The first two apps are used for capturing images, while the third app is for capturing video. The raspistill tool produces standard image files such as .jpg images, but raspiyuv gives us unprocessed raw image files from the camera. - -### Installing the Raspberry Pi Camera Board ### - -To connect the Raspberry Pi camera board to Raspberry Pi, follow these instructions: - -1. Locate the CSI connector (the CSI connector is located near the Ethernet Port), and take off the brown tape. - -2. Pull up the pinch of the CSI port. - -3. Take your Pi Cam module, and remove the plastic protector from the lens. Make sure that the yellow part of the PCB which has sunny word is installed perfectly (just press gently that yellow part to make sure that it's installed perfectly). - -4. Put in the ribbon cable into the CSI port. Remember, the ribbon cable which has blue tape should be facing towards the Ethernet port. Also, make sure that the ribbon is inserted properly, then pull down the pinch. - -![](https://farm3.staticflickr.com/2938/14529915452_0910b2e13f_z.jpg) - -Now your Pi Cam is ready to take a picture or a video. - -### Enabling Camera on Raspbian ### - -After installing the Pi Cam module, make sure to update your Raspberry Pi system to get the latest firmware. To do so: - - $ sudo apt-get update - $ sudo apt-get upgrade - -To activate the Pi Cam module, run the Raspberry Pi configuration tool. - - $ sudo raspi-config - -Navigate to "Enable Camera" in the menu, and make it enabled. Reboot Raspberry Pi if you are done. - -![](https://farm4.staticflickr.com/3837/14530918915_e68ca0beef_z.jpg) - -![](https://farm3.staticflickr.com/2922/14344284230_6cabbe2522_z.jpg) - -![](https://farm3.staticflickr.com/2923/14529915362_7a437a53cb_z.jpg) - -Here is the final picture of Raspberry Pi with Pi Cam module attached. - -![](https://farm3.staticflickr.com/2924/14551046653_1c37e077fd_z.jpg) - -### Taking a Picture with Pi Camera ### - -We are ready to use Pi Cam after rebooting Raspberry Pi. To take a picture with Pi Cam, run raspistill from the command line. - - $ raspistill -o keychain.jpg -t 2000 - -This command will take a picture in 2000ms, and save it to keychain.jpg. The following is a picture of my small figurehead key chain, taken by Pi Cam. - -![](https://farm4.staticflickr.com/3845/14530919095_ea0f37045a_z.jpg) - -The raspiyuv tool works similarly, but the result is a unprocessed raw image from the camera. - -### Taking a Video with Pi Camera ### - -To take a video with Pi camera module, run raspivid tool from command line. The following command will take a video with default options which are 5 seconds length and 1920x1080 resolution with 17Mbps bitrate. - - $ raspivid -o mykeychain.h264 - -If you want to change the duration, just set the desired length (in milliseconds) with "-t" option. - - $ raspivid -o mykeychain.h264 -t 10000 - -To drop the resolution to 1280x720, use "-w" and "-h" options.. - - $ raspivid -o mykeychain.h264 -t 10000 -w 1280 -h 720 - -The output of raspivid is a raw H.264 video stream, and doesn't have sound with it. To be able to play with a common video player, the raw H.264 video needs to be converted. Use MP4Box application that comes with gpac package. - -To install gpac on Raspbian, use this command: - - $ sudo apt-get install -y gpac - -Then to convert the raw H.264 video stream into .mp4 format with 30 frames per second: - - $ MP4Box -fps 30 -add keychain.h264 keychain.mp4 - -The video length is 10 seconds, and has default resolutions and bitrate. Here is an example video captured by Pi Camera. - -注:youtube视频地址 - - -To get the complete command-line options of raspistill, raspiyuv, and raspivid, run the commands without any option. - - ----------- - -#### [Kristophorus Hadiono][a] #### - -I'm a Linux enthusiast. I use Linux for my daily computing, also when I teach my students. Becoming a good writer is one of my dreams. - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2014/07/install-raspberry-pi-camera-board.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://xmodulo.com/go/picam -[2]:http://xmodulo.com/go/pinoir -[3]:http://xmodulo.com/go/raspberrypi -[a]:http://hadiono.org/blog diff --git a/translated/tech/20140702 How to install Raspberry Pi camera board.md b/translated/tech/20140702 How to install Raspberry Pi camera board.md new file mode 100644 index 0000000000..3ce4315ad5 --- /dev/null +++ b/translated/tech/20140702 How to install Raspberry Pi camera board.md @@ -0,0 +1,105 @@ +如何安装树莓派摄像头模块 +============================================================================== +[树莓派摄像头模块(Pi Cam)][1]发售于2013年5月。在首发时,Pi Cam配备了500万像素的传感器,通过排线链接树莓派上的CSI接口。第二次发布时,Pi Cam改名为[Pi NoIR][2]并配备了相同的传感器,不同之处在于第二版摄像头模块没有红外线过滤装置。因此使用第二版的摄像头模块可以观测到近红外线的波长(700 - 1000 nm),如同一个安全监控摄像机一样,当然实现红外线的感应牺牲了传感器的显色性。 + +本文将会展示**如何在[树莓派][3]上安装摄像头模块**。我们会使用第一版摄像头模块来演示。在安装完摄像头模块之后,你将会使用三个应用来访问这个模块:raspistill, raspiyuv 和raspivid。其中前两个应用用来捕捉图像,第三个应用来捕捉视频。raspistill 工具会生成标准的图片文件例如 .jpg 图像,但是 raspiyuv 可以通过摄像头生成未处理的 raw 图像文件。 + +### 安装树莓派摄像头模块 ### + +按照以下指示来安装树莓派摄像头模块: + +1. 找到 CSI 接口(CSI接口在以太网接口旁边),掀起深色胶带。 + +2. 拉起 CSI 接口挡板。 + +3. 将摄像头模块贴在透镜上的塑料保护膜撕掉。确保黄色部分的PCB(有字的一面)是安装完美的。 + +4. 将排线插入CSI接口。记住,有蓝色胶带的一面应该面向以太网接口方向。在检查排线安装好了之后,将挡板拉下。 + +![](https://farm3.staticflickr.com/2938/14529915452_0910b2e13f_z.jpg) + +好了,现在你的 Pi Cam 已经准备就绪来拍摄相片以及视频了。 + +### 在树莓派上启用摄像头模块 ### + +在安装完摄像头模块之后,确认你已经升级了树莓派系统并应用了最新的固件。输入以下命令来更新: + + $ sudo apt-get update + $ sudo apt-get upgrade + +运行树莓派配置工具来激活摄像头模块: + + $ sudo raspi-config + +移动光标至菜单中的 "Enable Camera",确认启用。完成之后重启树莓派。 + +![](https://farm4.staticflickr.com/3837/14530918915_e68ca0beef_z.jpg) + +![](https://farm3.staticflickr.com/2922/14344284230_6cabbe2522_z.jpg) + +![](https://farm3.staticflickr.com/2923/14529915362_7a437a53cb_z.jpg) + +安装完摄像头模块后的完成照: + +![](https://farm3.staticflickr.com/2924/14551046653_1c37e077fd_z.jpg) + +### 通过摄像头模块拍照 ### + +在重启完树莓派后,我们就可以使用它了。输入以下命令通过摄像头模块拍摄照片: + + $ raspistill -o keychain.jpg -t 2000 + +这句命令会在执行 2000ms 之后捕捉图像。然后保存为 keychain.jpg。下面是一张由 下面是一张由 Pi Cam 拍摄的钥匙链。 + +![](https://farm4.staticflickr.com/3845/14530919095_ea0f37045a_z.jpg) + +raspivid 工具用法差不多,从命令行运行 raspivid 工具。下面这句命令会按照默认配置(5秒,分辨率1920x1080,比特率 17Mbps)拍摄一段视频。 + + $ raspivid -o mykeychain.h264 + +如果你想改变拍摄时长,只要通过 "-t" 选项来设置长度就行了。 + + $ raspivid -o mykeychain.h264 -t 10000 + +使用 "-w" 和 "-h" 选项将分辨率降为 1280x720... + + $ raspivid -o mykeychain.h264 -t 10000 -w 1280 -h 720 + +raspivid 的输出是一段未压缩的 H.264 视频流,而且这段视频没有声音。因此这段视频需要转换在能被通常的视频播放器所播放。使用 gpac 包中所带有的 MP4Box 应用。 + +在 Raspbian 上安装 gpac,输入命令: + + $ sudo apt-get install -y gpac + +然后将这段 raw 的 H.264 格式的视频流转换为30帧每秒的 .mp4 格式视频: + + $ MP4Box -fps 30 -add keychain.h264 keychain.mp4 + +视频长度为10秒,默认分辨率以及比特率。下面是一段通过 Pi Camera 拍摄的一段实例视频。 + +注:youtube视频地址 + + + +如果想要看到 raspistill, raspiyuv 和 raspivid 的完整命令行选项,直接运行以上命令(不加选项)就行了。 + + +---------------- + +### [Kristophorus Hadiono][a] ### + +我是一个 Linux 爱好者。我在日常生活中使用 Linux,甚至在我给学生们教学的时候。我的梦想是成为一名优秀的作家。 + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/install-raspberry-pi-camera-board.html + +译者:[ThomazL](https://github.com/ThomazL) 校对:[校对者id](https://github.com/校对者id) + +本文由 [lctt](https://github.com/lctt/translateproject) 原创翻译,[linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/go/picam +[2]:http://xmodulo.com/go/pinoir +[3]:http://xmodulo.com/go/raspberrypi +[a]:http://hadiono.org/blog + From 20b37687d62e633a0b40936ab21f01521f5d74e5 Mon Sep 17 00:00:00 2001 From: bazz2 Date: Mon, 7 Jul 2014 09:43:36 +0800 Subject: [PATCH 044/291] [bazz2-ed]20140624 Performance benchmarks--KVM vs. Xen --- ...624 Performance benchmarks--KVM vs. Xen.md | 33 +++++++------------ 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md b/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md index 11a656101f..e6abc80fe0 100644 --- a/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md +++ b/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md @@ -1,49 +1,38 @@ -Performance benchmarks: KVM vs. Xen KVM和Xen的性能基准测试 ================================================================================ -After having some interesting discussions last week around KVM and Xen performance improvements over the past years, I decided to do a little research on my own. The last complete set of benchmarks I could find were from the [Phoronix Haswell tests in 2013][1]. There were [some other benchmarks from 2011][2] but those were hotly debated due to the Xen patches headed into kernel 3.0. 在上周,我们讨论了 KVM 和 Xen 的性能上一些令人感兴趣的话题后,我打算自己做一些这方面的研究。我能找到的最新的资料,是来自[2013年 Phoronix Haswell 性能评测][1]上的基准测试。当然,还有[2011年的评测][2],由于 Xen 已经被收录进 Kernel 3.0,这些曾经都是热门话题。 -The 2011 tests had a [good list of benchmarks][3] and I’ve done my best to replicate that list here three years later. I’ve removed two or three of the benchmark tests because they didn’t run well without extra configuration or they took an extremely long time to run. 2011年的测试提供了[许多很好的基准报表][3],我尽最大努力把它们列出的属性重新测试一遍,但少测了两三个基准测试,原因是它们在未经特定优化的配置后跑出来的数据不是很好,或者它们需要跑很长时间才能得到结果。 ### 测试环境 ### -My testing setup consists of two identical SuperMicro servers. Both have a single [Intel Xeon E3-1220][4] (four cores, 3.10GHz), 24GB Kingston DDR3 RAM, and four Western Digital RE-3 160GB drives in a RAID 10 array. BIOS versions are identical. 测试环境由两台一模一样的超微服务器组成,都配备一颗[Intel 至强 E3-1220][4](4核,3.10GHz),24G 金士顿 DDR3 内存,4块西数 RE-3 160G 磁盘(组成 RAID10 阵列)。另外 BIOS 也是一模一样。 -All of the tests were run in Fedora 20 (with SELinux enabled) for the hosts and the virtual machines. Very few services were left running during the tests. Here are the relevant software versions: 所有测试项目(即实体机和虚拟机)都在 Fedora 20 (开 SELinux)上进行,并且测试过程中没有跑很多的不相关的服务。这里列一下相关服务的版本: - Kernel: 3.14.8 - For KVM: qemu-kvm 1.6.2 - For Xen: xen 4.3.2 -All root filesystems are XFS with the default configuration. Virtual machines were created using virt-manager using the default configuration available for KVM and Xen. Virtual disks used raw images and were allotted 8GB RAM with 4 virtual CPU’s. Xen guests used [PVHVM][5]. 根文件系统是 XFS,使用默认配置。虚拟机使用 virt-manager 来创建(virt-mamager 也使用默认配置)。虚拟磁盘使用 raw 镜像,容量为 8GB,虚拟4颗 CPU。Xen 虚拟机使用 [PVHVM][5] 建立虚拟磁盘。 -### Caveats ### ### 警告 ### -One might argue that Fedora’s parent owner, Red Hat, puts a significant amount of effort into maintaining and improving KVM within their distribution. Red Hat hasn’t made significant contributions to Xen in years and they [made the switch to KVM back in 2009][6]. I’ve left this out of scope for these tests, but it’s still something worth considering. -也许有人会争辩说 Fedora 是红帽公司所有,红帽一直在维护 KVM,而 Xen 则自从[在2009年红帽重新选择 KVM 作为虚拟化产品][6]后,再没得到这个公司的维护。在本测试中这个因素不会对结果产生任何影响,不过可以在心里稍微注意一下。 +也许有人会考虑到 Fedora 是红帽公司所有,红帽一直在维护 KVM,而 Xen 则自从[在2009年红帽重新选择 KVM 作为虚拟化产品][6]后,再没得到这个公司的维护。在本测试中这个因素不会对结果产生任何影响,不过可以在心里稍微注意一下。 -Also, contention was tightly controlled and minimized. On most virtualized servers, you’re going to have multiple virtual machines fighting for CPU time, disk I/O, and access to the network. These tests didn’t take that type of activity into consideration. One hypervisor might have poor performance at low contention but then perform much better than its competitors when contention for resources is high. 不考虑资源竞争产生的影响。在大多数虚拟服务器上,你可以跑多个虚拟机,而这些虚拟机会争用 CPU 时间片、磁盘 IO、网络带宽等等资源。在本测试中也不考虑这些因素。一台虚拟机抢到资源少,性能就差,而另一台抢得多,性能就好(LCTT:它们的性能总和,就可以大致当作是 KVM 或 Xen 的性能了)。 本测试运行在 Intel 的 CPU 上。如果使用的是 AMD 或 ARM,可能有些数据会不一样。 -### Results ### ### 结果 ### -The tests against the bare metal servers served as a baseline for the virtual machine tests. The deviation in performance between the two servers without virtualization was at 0.51% or less. 本测试使用裸机作为虚拟服务测试的基准设备。在不跑虚拟机的情况下,两台裸机的性能偏差不会大于0.51% -KVM’s performance fell within 1.5% of bare metal in almost all tests. Only two tests fell outside that variance. One of those tests was the 7-Zip test where KVM was 2.79% slower than bare metal. Oddly enough, KVM was 4.11% faster than bare metal with the PostMark test (which simulates a really busy mail server). I re-ran the PostMark tests again on both servers and those results fell within 1% of my original test results. I’ll be digging into this a bit more as my knowledge of virtio’s internals isn’t terribly deep. +在所有测试中,KVM 的性能相比宿主机而言下降了1.5%以内,除了两个测试。第一个是 7-zip 压缩,比宿主机慢了 2.79%。第二个就奇怪了,我们搭了一个邮件服务器,用 PostMark 测试其性能,结果表明 KVM 竟比宿主机快了4.11%。然后我在两台服务器中重新跑了几遍 PostMark 测试,结果性能差异基本不变,浮动在1%以内。由于我对 virtio 的内部机制没有很深的理解,我只能在以后再对这个怪现象进行进一步了解。 -Xen’s performance varied more from bare metal than KVM. Three tests came within 2.5% of bare metal speeds but the remainder were anywhere from 2-4x slower than KVM. The PostMark test was 14.41% slower in KVM than bare metal and I found that result surprising. I re-ran the test and the results during the second run were within 2% of my original results. KVM’s best performing CPU test, the MAFFT alignment, was Xen’s second worst. +Xen 的性能相对宿主机而言差异就比较大了。有3个测试性能下降在2.5%以内,剩下的性能下降率都是 KVM 的2~4倍。PostMark 测试的性能比 KVM 慢了14.41%,这结果令我大吃一惊。重新跑了下测试,性能差还是在14%左右。KVM 表现最好的两个测试:CPU 测试和 MAFFT 对齐测试,是 Xen 表现最差的。 -I’ve provided a short summary table here with the final results: +现在奉上一个总结表: @@ -74,23 +63,23 @@ I’ve provided a short summary table here with the final results:
PostMarkhigher366738243205
-If you’d like to see the full data, feel free to review the [spreadsheet on Google Docs][7]. +如果需要完整数据,请查看[Goole Docs 电子表格][7]。 -### Conclusion ### +### 结论 ### -Based on this testing environment, KVM is almost always within 2% of bare metal performance. Xen fell within 2.5% of bare metal performance in three out of ten tests but often had a variance of up to 5-7%. Although KVM performed much better with the PostMark test, there was only one I/O test run in this group of tests and more testing is required before a clear winner in disk I/O could be found. +基于上面的测试环境,KVM 的性能损耗在2%以内,Xen 则只有3项损耗在2.5%以内,其他几项损耗都在5~7%之间。虽然 KVM 在 PostMark 测试中性能表现优异,但这个测试只是众多测试中的一项,如果想证明 KVM 确实在 I/O 处理方面很强悍,就需要更多测试。 -As for me, I’d like to look deeper into how KVM and Xen handle disk I/O and why their results were so different. I may also run some tests under contention to see if one hypervisor can deal with that stress with better performance. +对我来说,我需要深入理解 KVM 和 Xen 在 I/O 处理上为什么会有这么大的差别。并且还需要跑一些压力测试,来证明虚拟机是否真的比宿主机表现得更出色。 -I’d encourage readers to review the list of benchmark tests available in the [Phoronix test suite][8] and find some that emulate portions of their normal workloads. If your workloads are low CPU and high I/O in nature, look for some of the I/O stress tests in the suite. On the other hand, if you do a lot of audio/video transcoding, try some of the x264 or mp3 tests within the suite. +我鼓励读者通过使用[Phoronix 测试套件][8]来进行一些基准测试,你们可以找到一些能模仿你们工作环境的用例。如果你的工作环境是低 CPU 高 I/O,你可以找找套件里面的 I/O 压力测试。另一方面,如果你的工作是音频、视频转码,你可以试试套件里面的 x264 或 mp3 测试。 -UPDATE: [Chris Behrens pointed out][9] that I neglected to mention the type of virtual machine I tested with Xen. I used PVHVM for the tests as it’s the fastest performing option for Linux guests on Xen 4.3. Keep in mind that PVH is available in Xen 4.4 but that version of Xen isn’t available in Fedora 20 at this time. +更新:[Chris Behrens 指出][9],我忘了提到 Xen 虚拟机类型了。这里补充下,我使用的是 PVHVM 模型(LCTT:目前支持的模型包括 PV、HVM 和 PVHVM),因为在 Xen 4.3 中这个选拥有最好的性能。另外需要注意的是在 Xen 4.4 中可以使用 PVH,但是在 Fedora 20 中还没有使用 Xen 4.4。 -------------------------------------------------------------------------------- via: http://major.io/2014/06/22/performance-benchmarks-kvm-vs-xen/ -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 0d64ad601976a23c030904a8cd8c6f334fdd54a2 Mon Sep 17 00:00:00 2001 From: linuhap Date: Mon, 7 Jul 2014 09:52:10 +0800 Subject: [PATCH 045/291] translating --- sources/news/20140702 CoreOS Linux ending the upgrade cycle.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md b/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md index a4c8d1ef5e..dabda20f1f 100644 --- a/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md +++ b/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md @@ -1,3 +1,4 @@ +linuhap 翻译中 CoreOS Linux ending the upgrade cycle ================================================================================ > CoreOS launches commercially supported version of its Linux distribution and vows to do away with manual upgrading @@ -46,4 +47,4 @@ via: http://www.computerworld.com/s/article/9249460/CoreOS_Linux_ending_the_upgr [4]:http://www.networkworld.com/article/2177120/cloud-computing/coreos-linux-distro-lands-on-the-google-cloud-platform.html [5]:https://coreos.com/using-coreos/updates/ [6]:http://twitter.com/Joab_Jackson -[7]:Joab_Jackson@idg.com \ No newline at end of file +[7]:Joab_Jackson@idg.com From f81300d543617fb47f8b049881b63f01766e49b9 Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 7 Jul 2014 10:04:44 +0800 Subject: [PATCH 046/291] =?UTF-8?q?=E5=8F=91=E5=B8=83=EF=BC=9A20140702=20A?= =?UTF-8?q?utomotive=20Grade=20Linux=20Released=20for=20Open=20Source=20Ca?= =?UTF-8?q?rs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @linuhap 发布了。我又补充了一些下载安装的部分 --- ...ade Linux Released for Open Source Cars.md | 112 ++++++++++++++++++ sources/news/index.mkd | 0 ...ade Linux Released for Open Source Cars.md | 38 ------ 3 files changed, 112 insertions(+), 38 deletions(-) create mode 100644 published/20140702 Automotive Grade Linux Released for Open Source Cars.md delete mode 100644 sources/news/index.mkd delete mode 100644 translated/news/20140702 Automotive Grade Linux Released for Open Source Cars.md diff --git a/published/20140702 Automotive Grade Linux Released for Open Source Cars.md b/published/20140702 Automotive Grade Linux Released for Open Source Cars.md new file mode 100644 index 0000000000..cdd5a9a454 --- /dev/null +++ b/published/20140702 Automotive Grade Linux Released for Open Source Cars.md @@ -0,0 +1,112 @@ +安装体验开源车载系统Automotive Grade Linux +================================================================================ +> Linux基金会和他的合作伙伴本周发布了Automotive Grade Linux的第一个版本,这是一个在连网汽车内部使用的开源平台。 + +![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/07/automotivelinux.jpg) + +随着本周 [Automotive Grade Linux][1](AGL)的第一个版本的发布,这个在物联网时代专为汽车定制的Linux发行版将转变为一个新的生态系统。 + +AGL是由Linux基金会发起的合作项目,Linux基金会汇集了来自汽车行业,通信,计算硬件,学术界和其他领域的合作伙伴。AGL的第一个版本于6月30号发布在网上并且在可[免费下载][5],这个开源操作系统基于[Tizen IVI][4]。Tizen IVI是一个基于Linux的平台,它被用于为广泛的设备提供操作系统解决方案,从智能手机,到电视,汽车,笔记本电脑。 + +![](http://automotive.linuxfoundation.org/sites/automotive.linuxfoundation.org/files/features/agl-jlr_0.png) + +在第一个版本中,AGL提供了一系列的功能和为汽车(或其他车辆)部署定制的应用程序,包括: + +- 主屏幕 +- 仪表盘 +- 谷歌地图 +- 暖通空调 +- 媒体回放 +- 新闻阅读器 +- 音响控制 +- 蓝牙手机 +- 智能设备连接集成 + +Linux基金会和他的参与AGL项目的合作伙伴希望这个解决方案将帮助确保未来“连网汽车”使用开源软件以提供下一代娱乐,导航和其他车内使用的工具。“公开和合作是促进一个公共的,标准的汽车平台发展的关键,以便这个产业可以更快速地实现供连网汽车使用的愿望。”Linux基金会的汽车总经理Dan Cauchy这样说。 + +Cauchy补充道,Linux基金会期望AGL是一个良好的开端,其合作者希望在以后的版本中能加入“一些额外的功能和特点。” + +## 下载和安装测试 ### + +### 下载 ### + +可以从此下载镜像:http://content.linuxfoundation.org/auto/downloads/images/ + +支持在PC上测试,也提供了Vmware镜像。 + +### 安装在X86上 ### + +**创建一个USB启动盘** + +1. 下载GPartd Live 镜像的压缩文件:http://gparted.sourceforge.net/download.php 。 +2. 使用FAT32文件系统格式化一个最少8GB的U盘。 +3. 解压 GPartd Live镜像的压缩包,并复制全部内容到U盘。保持完整的目录格式,比如你可以确认GPL这个文件是不是在U盘的根目录。 +4. 把U盘变成可启动的,根据你使用的系统不同而不同: + a) Linux: 执行U盘里 utils/linux 目录下的 makeboot.sh 。 + b) Windows: 执行U盘里 utils\win32 目录下的 makeboot.bat 。 +5. 按 脚本提示执行。 +6. 复制 [AGL 演示镜像][6]到U盘。 + +**安装到机器上** + +注意:这会破坏你的机器上的所有数据!所以请确保机器上的硬盘上的数据是无用的。 + +1. 使用刚刚制作好的 GPartd U盘启动系统。 +2. 默认运行 GPartd (所有选项直接回车确认即可) +3. 打开一个终端,并复制镜像内容到机器的硬盘: + gunzip -c agl-demo_1-0.img.gz | dd of=/dev/sda bs=16M +4. 关闭终端。 +5. 在 GPartd 窗口,刷新设备。 +6. 将 /dev/sda3 的大小扩展到整个硬盘的可用空间。 +7. 关机。 +8. 拔下U盘。 +9. 重启! + + +### 创建VMware虚拟机 ### + +在 64位Windows 7和32位Windows XP上的 VMware Player 5 测试通过。 + +1. 下载 VMWare Player: http://www.vmware.com/products/player +2. 解压缩 [AGL VMWare image][7] +3. 在 VMware 中增加新的虚拟机: + + 1. 选择“我将稍后安装操作系统” + 2. 使用 'Linux' -> 'Fedora' + 3. 给个名字,比如: tizen-ivi-2.0 + 4. 创建一个新的磁盘,不过这个磁盘我们稍后会删除并重建一个新的 + (将\ 作为 IDE(0:0) 设备添加) + 5. 创建好虚拟机之后,然后“编辑虚拟机设置” + 6. (可选)取消CD/DVD的“启动后连接”的选项(除非你的宿主机上有这个设备) + 7. (可选)取消打印机的“启动后连接”的选项 + 8. 删除虚拟机当前的硬盘 + 9. 添加一个新的硬盘 + 10. 选择“使用已有的虚拟磁盘”,使用那个解压缩得到文件 + 11. 当第一次启动虚拟机时,如果询问你是否要升级当前格式时,选择“保持现在的格式” +4. 运行: + 1. 启动虚拟机 + 2. 系统启动后显示一个黑屏,在桌面上任何地方右键点击并打开一个终端 + 3. 运行如下命令 + ./start_demo.sh + 这会调整屏幕分辨率,打开声音,启动node.js引擎,并最终显示界面。 + +### 更多的演示截图 ### + +请参看我们之前的一篇文章:http://linux.cn/article-3324-1.html + +-------------------------------------------------------------------------------- + +via: http://thevarguy.com/open-source-application-software-companies/070114/automotive-grade-linux-released-open-source-cars + +译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://automotive.linuxfoundation.org/ +[2]:http://linuxfoundation.org/ +[3]:http://automotive.linuxfoundation.org/ +[4]:https://www.tizen.org/ +[5]:http://automotive.linuxfoundation.org/node/add/downloads +[6]:http://content.linuxfoundation.org/auto/downloads/images/agl-demo-x86-1.0.img.gz +[7]:http://content.linuxfoundation.org/auto/downloads/images/agl-demo-vmware-1.0.vmdk.bz2 + diff --git a/sources/news/index.mkd b/sources/news/index.mkd deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/translated/news/20140702 Automotive Grade Linux Released for Open Source Cars.md b/translated/news/20140702 Automotive Grade Linux Released for Open Source Cars.md deleted file mode 100644 index 71cf872f07..0000000000 --- a/translated/news/20140702 Automotive Grade Linux Released for Open Source Cars.md +++ /dev/null @@ -1,38 +0,0 @@ -开源车载系统Automotive Grade Linux发布 -================================================================================ -> Linux基金会和他的合作伙伴发布了Automotive Grade Linux的第一个版本,这是一个在连网汽车内部使用的开源平台。 - -![](http://thevarguy.com/site-files/thevarguy.com/files/imagecache/medium_img/uploads/2014/07/automotivelinux.jpg) - -随着本周[Automotive Grade Linux][1](AGL)——一个在物联网时代专为汽车定制的Linux发行版的第一个版本的发布,Linux这个开源操作系统,将装置转变为一个相关的新的生态系统。 - -AGL是由Linux基金会发起的合作项目,Linux基金会汇集了来自汽车行业,通信,计算硬件,学术界和其他领域的合作伙伴。AGL的第一个版本于6月30号发布在网上并且在可免费下载,这个开源操作系统基于[Tizen IVI][4]。Tizen IVI是一个基于Linux的平台,它被用于为广泛的设备提供操作系统解决方案,从智能手机,到电视,汽车,笔记本电脑。 - -在第一个版本中,AGL提供了一系列的功能和为汽车或其他车辆部署定制的应用程序,包括: - -- 主屏幕 -- 仪表盘 -- 谷歌地图 -- 暖通空调 -- 媒体回放 -- 新闻阅读器 -- 音响控制 -- 蓝牙手机 -- 智能设备连接集成 - -Linux基金会和他的参与AGL项目的合作伙伴希望这个解决方案将帮助确保未来“连网汽车”使用开源软件以提供下一代娱乐,导航和其他车内使用的工具。“公开和合作是促进一个公共的,标准的汽车平台发展的关键,所以这个产业可以更快速地实现供连网汽车使用的愿望。”Linux基金会的汽车总经理Dan Cauchy这样说。 - -Cauchy补充道,Linux基金会期望AGL能随其第一个版本后稳步发展,其合作者希望在以后的版本中能加入“一些额外的功能和特点。” - --------------------------------------------------------------------------------- - -via: http://thevarguy.com/open-source-application-software-companies/070114/automotive-grade-linux-released-open-source-cars - -译者:[linuhap](https://github.com/linuhap) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://automotive.linuxfoundation.org/ -[2]:http://linuxfoundation.org/ -[3]:http://automotive.linuxfoundation.org/ -[4]:https://www.tizen.org/ \ No newline at end of file From 563ccbd49d2070747ab445ae4f2d41c0a1d4b902 Mon Sep 17 00:00:00 2001 From: John Date: Mon, 7 Jul 2014 10:57:13 +0800 Subject: [PATCH 047/291] translated --- ... Questions and Answers' for Linux Users.md | 200 ++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 translated/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md diff --git a/translated/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md b/translated/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md new file mode 100644 index 0000000000..9b95a5e4b2 --- /dev/null +++ b/translated/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md @@ -0,0 +1,200 @@ +给linux用户的11个高级MySQL数据库面试问题和答案 +================================================================================ +我们已经发表了两篇MySQL的文章,非常感谢Tecmint社区的大力支持.这是MySQL面试系列的第三篇文章,并且在面试专栏中排第16. +- [15个基本的MySQL面试问题][1] +- [给中级人员的10个MySQL面试问题][1] + +![11个MySQL面试问题](http://www.tecmint.com/wp-content/uploads/2014/06/MySQL-Interview-Questions.jpeg) + +感谢你们这一路上对我们的支持.这篇文章主要针对MySQL的实用性,讲面试方面的问题. + +### 1. 如何使用SELECT语句找到你正在运行的服务器的版本并打印出当前数据库的名称? ### +**Ans**:下面的语句的结果会显示服务器的版本和当前的数据库名称 + + mysql> SELECT VERSION(), DATABASE(); + + +-------------------------+------------+ + | VERSION() | DATABASE() | + +-------------------------+------------+ + | 5.5.34-0ubuntu0.13.10.1 | NULL | + +-------------------------+------------+ + 1 row in set (0.06 sec) + +在Database一栏中显示**NULL**是因为我们当前没有选择任何数据库.因此,使用下面的语句先选择一个数据库,就能看到相应的结果. + + mysql> use Tecmint; + + Reading table information for completion of table and column names + You can turn off this feature to get a quicker startup with -A + + Database changed + +---------- + + mysql> select VERSION(), DATABASE(); + + +-------------------------+------------+ + | VERSION() | DATABASE() | + +-------------------------+------------+ + | 5.5.34-0ubuntu0.13.10.1 | tecmint | + +-------------------------+------------+ + 1 row in set (0.00 sec) + +### 2. 使用非运算符(!)从表"Tecmint"中列出除了user等于"SAM"的所有记录 + +**Ans**:使用下面的语句 + + mysql> SELECT * FROM Tecmint WHERE user !=SAM; + + +---------------------+---------+---------+---------+---------+-------+ + | date | user | host | root | local | size | + +---------------------+---------+---------+---------+---------+-------+ + | 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 | + | 2001-05-15 08:50:57 | TIM | venus | phil | venus | 978 | + +---------------------+---------+---------+---------+---------+-------+ + +### 3. 是否能够使用非运算符(!)来实现'AND'运算 + +**Ans**: 我们使用’=’号和OR运算符或者'!='和AND运算符,下面是'='和AND运算符的例子 + + mysql> SELECT * FROM mail WHERE user = SAM AND root = phil + +'!='和OR运算符的例子 + + mysql> SELECT * FROM mail WHERE user != SAM OR root != phil + + +---------------------+---------+---------+---------+---------+-------+ + | date | user | host | root | local | size | + +---------------------+---------+---------+---------+---------+-------+ + | 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 | + +---------------------+---------+---------+---------+---------+-------+ + +- = : 等于 +- != : 不等于 +- ! : 非运算符 + +AND和OR在MySQL中被看作加入运算符 + +### 4. IFNULL()语句在MySQL中有什么作用? ### + +**Ans**: **IFNULL**语句的使用使得MySQL中的查询更加精确。IFNULL()语句先测试它的的一个参数,若不为空就返回该参数的值,否则返回第二个参数的值 + + mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer; + + +---------+---------+ + | name | id | + +---------+---------+ + | bernina | 198-48 | + | bertha | Unknown | + | ben | Unknown | + | bill | 475-83 | + +---------+---------+ + +### 5. 如果你只想知道从一个结果集的开头或者结尾开始的特定条数的行记录改如何实现? + +**Ans**: 我们可以用**LIMIT**和**ORDER BY**从句。 + +#### 显示一行记录 #### + + mysql> SELECT * FROM name LIMIT 1; + + +----+------+------------+-------+----------------------+------+ + | id | name | birth | color | foods | cats | + +----+------+------------+-------+----------------------+------+ + | 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 | + +----+------+------------+-------+----------------------+------+ + +#### 显示5行记录 #### + + mysql> SELECT * FROM profile LIMIT 5; + + +----+------+------------+-------+-----------------------+------+ + | id | name | birth | color | foods | cats | + +----+------+------------+-------+-----------------------+------+ + | 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 | + | 2 | Mort | 1969-09-30 | white | burrito,curry,eggroll | 3 | + | 3 | Brit | 1957-12-01 | red | burrito,curry,pizza | 1 | + | 4 | Carl | 1973-11-02 | red | eggroll,pizza | 4 | + | 5 | Sean | 1963-07-04 | blue | burrito,curry | 5 | + +----+------+------------+-------+-----------------------+------+ + +#### 显示按照ORDER BY排序后的第一条记录 #### + + mysql> SELECT * FROM profile ORDER BY birth LIMIT 1; + + +----+------+------------+-------+----------------+------+ + | id | name | birth | color | foods | cats | + +----+------+------------+-------+----------------+------+ + | 9 | Dick | 1952-08-20 | green | lutefisk,fadge | 0 | + +----+------+------------+-------+----------------+------+ + +### 6. Oracle 和 MySQL该如何选择? ### + +**Ans**: 它们都有各自的优点和缺点。 + +#### 选择MySQL而不选orcale的原因 #### + +- 开源 +- 轻便快捷 +- 有命令行和图形界面 +- 能通过查询器进行数据库的管理 + +### 7. MySQL中如何得到当前日期? ### + +**Ans**: 使用CURRENT_DATE()函数 + + mysql> SELECT CURRENT_DATE(); + + +----------------+ + | CURRENT_DATE() | + +----------------+ + | 2014-06-17 | + +----------------+ + +### 8. MySQL中如何将表导出为XML文件? ### + +**Ans**: 使用'-e'(export)参数来把MySQL表或整个数据库导出到XML文件。当处理大型表的时候或许我们需要手动导出,但是只是导出小文件的话可以直接使用想phpMyAdmin这样的工具。 + + mysql -u USER_NAME –xml -e 'SELECT * FROM table_name' > table_name.xml + +上面的例子中USER_NAME是数据库的用户名,table_name是待导出为xml文件的表名,table_name.xml是存放数据的xml文件 + +### 9. MySQL_pconnect是什么? 它和MySQL_connect有什么区别? ### + +**Ans**: MySQL_pconnect()打开一个永久的数据库连接,这意味着数据库不是在每次页面加载的时候被打开,因此我们不能使用MySQL_close()来关闭一个永久的连接 + +MySQL_pconnect和MySQL_connect有一定的差别 + +和MySQL_pconnect不同,MySQL_connect在每次页面被加载的时候打开,并且可以使用MySQL_close()语句来关闭连接 + +### 10. 如何查看一个名为'mysql'的数据库中'user'表中的所有索引? ### + +**Ans**: 可以使用下面的语句 + + mysql> show index from user; + +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ + | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | + +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ + | user | 0 | PRIMARY | 1 | Host | A | NULL | NULL | NULL | | BTREE | | | + | user | 0 | PRIMARY | 2 | User | A | 4 | NULL | NULL | | BTREE | | | + +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ + 2 rows in set (0.00 sec) + +### 11. 什么是CSV表? ### + +**Ans**: CSV是逗号分隔值的缩写,也称为字符分隔值。CSV表中存放纯文本和表格数据。 + +每一条记录使用具体的分隔符隔开(如逗号,分号,...),CSV表广泛的用来存放易于导入和导出的电话联系人,能够用来存放任何数量的纯文本。 + +以上就是这次要将的内容。我还会带来其他的有趣的文章,向往你们喜欢。连接到Tecmint继续关注我们,不要忘了在评论栏中留下你们的宝贵意见。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/mysql-advance-interview-questions/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tecmint.com/basic-mysql-interview-questions-for-database-administrators/ +[2]:http://www.tecmint.com/10-mysql-database-interview-questions-for-beginners-and-intermediates/ From 0f3f276f015f1052445e7667a4bd7c53793aae1f Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 7 Jul 2014 22:12:38 +0800 Subject: [PATCH 048/291] PUB:20140617 How to use Linux lsblk Command to List Block Device Information MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @GOLinux 明天发布! --- ...ommand to List Block Device Information.md | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) rename {translated/tech => published}/20140617 How to use Linux lsblk Command to List Block Device Information.md (74%) diff --git a/translated/tech/20140617 How to use Linux lsblk Command to List Block Device Information.md b/published/20140617 How to use Linux lsblk Command to List Block Device Information.md similarity index 74% rename from translated/tech/20140617 How to use Linux lsblk Command to List Block Device Information.md rename to published/20140617 How to use Linux lsblk Command to List Block Device Information.md index ace45377b4..76c62e647b 100644 --- a/translated/tech/20140617 How to use Linux lsblk Command to List Block Device Information.md +++ b/published/20140617 How to use Linux lsblk Command to List Block Device Information.md @@ -1,6 +1,6 @@ 使用Linux的lsblk命令列出块设备信息 ================================================================================ -**lsblk**(列出块设备)命令勇于列出所有可用块设备的信息,但是,它**不列出RAM盘的信息**。块设备有硬盘,闪存盘,CD-ROM等等。 +**lsblk**(列出块设备)命令用于列出所有可用块设备的信息,但是,它**不会列出RAM盘的信息**。块设备有硬盘,闪存盘,CD-ROM等等。 ### 如何安装lsblk ### @@ -36,7 +36,7 @@ lsblk命令默认情况下将以树状列出所有块设备。打开终端,并 **RO** : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。 -**TYPE** :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。 +**TYPE** :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。(LCTT译注,此处sr0的RO项没有标记为1,可能存在一些错误?) **MOUNTPOINT** : 本栏指出设备挂载的挂载点。 @@ -46,7 +46,7 @@ lsblk命令默认情况下将以树状列出所有块设备。打开终端,并 $ lsblk -a -该选项将列出所有设备,包括控设备在内。 +该选项将列出所有设备,包括空设备在内。 ![lsblk bytes sda](http://linoxide.com/wp-content/uploads/2014/03/lsblk-bytes-sda.png) @@ -64,17 +64,17 @@ lsblk命令也可以用于列出一个特定设备的拥有关系,同时也可 $ lsblk -b /dev/sda -或者,如果你偏好: +或者,以下命令等同: $ lsblk --bytes /dev/sda ### 以列表形式列出不带头的设备 ### -你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的头感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下: +你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的标题感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下: $ lsblk -nl -或者,你可以使用下面的选项,它们也能给出相同的输出。 +或者,你可以使用下面的长选项,它们也能给出相同的输出。 $ lsblk --noheadings --list @@ -85,22 +85,26 @@ lsblk命令也可以用于列出一个特定设备的拥有关系,同时也可 要获取SCSI设备的列表,你只能使用-S选项。该选项是大写字母S,不能和-s选项混淆,该选项是用来以颠倒的顺序打印依赖的。 $ lsblk -S + +![](http://linoxide.com/wp-content/uploads/2014/03/lsblk-SCSI-devices.png) -lsblk列出SCSI设备,相反,逆序选项将给出如下输出。输入命令: +lsblk列出SCSI设备,而-s是逆序选项(LCTT译注:将设备和分区的组织关系逆转过来显示),其将给出如下输出。输入命令: $ lsblk -s 或者 $ lsblk --inverse + +![](http://linoxide.com/wp-content/uploads/2014/03/lsblk-inverse.png) -lsblk逆序。你可以使用lsblk来获取关于你的块设备的更多信息,自己把它试着显示出来吧! +你可以使用lsblk来获取关于你的块设备的更多信息,自己把它试着显示出来吧! -------------------------------------------------------------------------------- via: http://linoxide.com/linux-command/linux-lsblk-command/ -译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) +译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 81277e69cfff94b5cc633b9acd9e34ccbe0b9f02 Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 7 Jul 2014 22:53:44 +0800 Subject: [PATCH 049/291] PUB:20140619 How To Flush Linux or UNIX DNS Cache MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @geekpi 明天发布。 --- ...19 How To Flush Linux or UNIX DNS Cache.md | 34 +++++++++---------- 1 file changed, 16 insertions(+), 18 deletions(-) rename {translated/tech => published}/20140619 How To Flush Linux or UNIX DNS Cache.md (52%) diff --git a/translated/tech/20140619 How To Flush Linux or UNIX DNS Cache.md b/published/20140619 How To Flush Linux or UNIX DNS Cache.md similarity index 52% rename from translated/tech/20140619 How To Flush Linux or UNIX DNS Cache.md rename to published/20140619 How To Flush Linux or UNIX DNS Cache.md index 620b8012ad..cace021b2a 100644 --- a/translated/tech/20140619 How To Flush Linux or UNIX DNS Cache.md +++ b/published/20140619 How To Flush Linux or UNIX DNS Cache.md @@ -1,16 +1,15 @@ -如何清除 Linux/Unix DNS缓存 +如何在 Linux/Unix/Mac 下清除 DNS 查询缓存 ================================================================================ ![](http://figs.cyberciti.biz/3rdparty/configure.png) 我在Linux下使用拨号连接上网,频繁的拨号断线造成DNS的问题。我如何在Linux/Unix发行版下使用shell命令清除DNS缓存? -在MS-Windows下,你可以使用[ipconfig命令来清除dns缓存][1]。然而,Linux和Unix提供了不同的方法来清除缓存。Linux可以运行nscd或者BIND或者dnsmasq作为名称服务缓存守护进程。大型或者工作组服务器可能使用BIND或者dnsmasq作为专用缓存服务器来加速查询。 +在MS-Windows下,你可以使用[ipconfig命令来清除dns缓存][1]。然而,Linux和Unix提供了不同的方法来清除缓存。Linux可以运行 nscd 或者 BIND 或者 dnsmasq 作为名称服务缓存守护进程。大型或者工作组服务器可能使用BIND或者dnsmasq作为专用缓存服务器来加速查询。 ### 如何: 清除 nscd dns 缓存 ### -Nscd caches libc-issued requests to the Name Service. If retrieving NSS data is fairly expensive, nscd is able to speed up consecutive access to the same data dramatically and increase overall system performance. Just restart nscd: -Nscd缓存libc发给名称服务的请求。如果检索NSS数据是很昂贵的,那么nscd能够显著加快连续访问同一数据并提高整个系统的性能。只需重启nscd: +Nscd 会缓存libc发起的名称服务的请求。如果把检索NSS数据看做很慢,那么nscd能够显著加快连续访问同一数据的速度,并能提高整个系统的性能。只需重启nscd即可刷新缓存: $ sudo /etc/init.d/nscd restart @@ -22,11 +21,11 @@ Nscd缓存libc发给名称服务的请求。如果检索NSS数据是很昂贵的 # service nscd reload -这个守护进程给最常用的名称服务请求提供了高速缓存。默认的配置文件/etc/nscd.conf,决定了高速缓存守护进程的行为。 +这个守护进程给最常用的名称服务请求提供了高速缓存。默认的配置文件/etc/nscd.conf,其决定了高速缓存守护进程的行为。 ### 清除 dnsmasq dns 缓存 ### -[dnsmasq的是一个轻量级的DNS][2],TFTP和DHCP服务器。它的目的是给局域网提供耦合的DNS和DHCP服务。 dnsmasq的接受DNS查询,并从本地高速缓存应答它们或将其转发到一个真正的递归DNS服务器。该软件也安装了很多便宜的路由器来缓存DNS查询。只需启动dnsmasq的服务来清除DNS缓存: +[dnsmasq的是一个轻量级的DNS][2]、TFTP和DHCP服务器。它的目的是给局域网提供配对的DNS和DHCP服务。 dnsmasq接受DNS查询,并从一个小的本地高速缓存应答它们或将其转发到一个真正的递归DNS服务器。该软件也被安装在很多便宜的路由器上来缓存DNS查询。只需重新启动dnsmasq的服务来清除DNS缓存: $ sudo /etc/init.d/dnsmasq restart @@ -36,8 +35,7 @@ Nscd缓存libc发给名称服务的请求。如果检索NSS数据是很昂贵的 ### 清除BIND缓存服务器的dns缓存 ### -A caching BIND server obtains information from another server (a Zone Master) in response to a host query and then saves (caches) the data locally. All you have to do is restart bind to clear its cache: -一台BIND缓存服务器从另一台服务器(区域主)响应主机的查询而获得信息,然后保存(缓存)数据到本地。您所要做的就是重新绑定以清除其缓存: +一台BIND缓存服务器从另一台服务器(区域主)响应主机的查询而获得信息,然后保存(缓存)数据到本地。您所要做的就是重启BIND以清除其缓存: # /etc/init.d/named restart @@ -49,18 +47,18 @@ A caching BIND server obtains information from another server (a Zone Master) in # rndc exec -flushname命令刷新所有的连接到一个特定的域名的记录。本例中刷新cyberciti.biz相关域的所有记录: +BIND v9.3.0 及其以上版本支持一个清除一个特定域名的所有记录缓存的命令:rndc flushname。本例中刷新cyberciti.biz相关域的所有记录: # rndc flushname cyberciti.biz -它同样也可以用来清除BIND View.比如,LAN和WAN的View可以用下面的命令清除: +同样也可以清除BIND View。比如,LAN和WAN的View可以用下面的命令清除: # rndc flush lan # rndc flush wan -### Mac OS X Unix 用户提示 ### +### 给 Mac OS X Unix 用户的提示 ### -使用root用户输入下面的命令: +Mac下用root用户输入下面的命令: # dscacheutil -flushcache @@ -68,13 +66,13 @@ flushname命令刷新所有的连接到一个特定的域名的记录。本例 $ sudo dscacheutil -flushcache -如果你正在使用OSX 10.5 或者更早的版本,尝试使用下面的命令: +如果你正在使用OSX 10.5 或者更早的版本,尝试使用下面的命令: lookupd -flushcache -### /etc/hosts 文件的一个提示 ### +### 关于 /etc/hosts 文件的一个提示 ### -/etc/hosts作为一个静态查询主机的表格。你需要在类Unix操作系统下依据你的要求移除并且/或者更新它: +/etc/hosts用作静态查询主机的表格。你需要在类Unix操作系统下依据你的要求移除并且/或者更新它: # vi /etc/hosts @@ -98,15 +96,15 @@ flushname命令刷新所有的连接到一个特定的域名的记录。本例 172.168.232.51 nfs2.nixcraft.net.in nfs2 192.168.1.101 vm01 -### 再看这里: ### +### 参考 ### -相关: 在Windows Vista / XP中用ipconfig 命令[ 清除 DNS 缓存][3] +相关: 在Windows Vista / XP中用ipconfig 命令[清除 DNS 缓存][3] -------------------------------------------------------------------------------- via: http://www.cyberciti.biz/faq/rhel-debian-ubuntu-flush-clear-dns-cache/ -译者:[geekpi](https://github.com/译者ID) 校对:[geekpi](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From b1614f9d88cb7a56b6733e0865479c4af6d28162 Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 7 Jul 2014 23:39:09 +0800 Subject: [PATCH 050/291] =?UTF-8?q?PUB=EF=BC=9A20140701=20Command=20Line?= =?UTF-8?q?=20Tuesdays--Part=20Two?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @yechunxiao19 --- ...0140701 Command Line Tuesdays--Part Two.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) rename {translated/tech => published}/20140701 Command Line Tuesdays--Part Two.md (55%) diff --git a/translated/tech/20140701 Command Line Tuesdays--Part Two.md b/published/20140701 Command Line Tuesdays--Part Two.md similarity index 55% rename from translated/tech/20140701 Command Line Tuesdays--Part Two.md rename to published/20140701 Command Line Tuesdays--Part Two.md index e7bccdb29d..6f1113c7cd 100644 --- a/translated/tech/20140701 Command Line Tuesdays--Part Two.md +++ b/published/20140701 Command Line Tuesdays--Part Two.md @@ -1,4 +1,4 @@ -命令行星期二-第二部分 +命令行星期二 —— 第二篇 ================================================================================ Hi,极客们! @@ -10,14 +10,14 @@ Hi,极客们! ![Filesys](http://devopsbootcamp.readthedocs.org/en/latest/_images/hierarchy.jpg) -例如,在上面的图片说明中,你的用户目录(你通常存储你的电影,音乐,文档等)是位于/home文件夹。 /home文件夹位于/。你有/etc文件夹,其中文件大部分为配置文件。无论如何,你可以在这找到详细的描述,因为我们将进入这些文件夹来了解他们的功能,直到我们开始使用和配置它们。今天是仅用于导航。而关于这一点,让我们来开始今天的第一个命令... +例如,在上面的图片说明中,你的用户目录(你通常用来存储你的电影,音乐,文档等)是位于/home文件夹下。 /home文件夹位于/。然后,/下有个 /etc 文件夹,其中文件大部分为配置文件。无论如何,你可以在这里找到详细的描述,因为我们将进入这些文件夹来了解他们的功能,直到我们开始使用和配置它们。今天是仅用于导航。而关于这一点,让我们来开始今天的第一个命令... ### pwd ### -pwd,或者 ‘print working directory’当你认为你在文件中失去了方向是一个非常有用的命令。在任何给定时刻,键入pwd命令,瞧!这是你到达这个文件夹的完整路径。在多维数据集的那些家伙总能利用它。 +pwd,或者 ‘Print Working Directory’,当你觉得在文件丛林之中迷失了方向时是一个非常有用的命令。在任何给定时刻,键入pwd命令,瞧!这是你到达这个文件夹的完整路径。在电影《异次元杀阵(The Cube)》里的那些家伙总在用它,这些笨蛋! ![Cube](http://bloody-disgusting.com/images/news/cube2review1.gif) -注:此图原文哪里看不到,看看能通过什么途径得到 + 想象一下,自己在一个巨大的公寓里面从一个房间走到另一个房间房间,迷路了。 pwd就像面包屑指引着你到你的出发点,这样你就不会在文件夹迷宫里面失去你的方向! @@ -25,25 +25,25 @@ pwd,或者 ‘print working directory’当你认为你在文件中失去了 ### cd ### -现在你知道了如果想知道自己在哪个目录的pwd命令的用法。现在,你要采取的下一步骤,并移动到另一个目录。比方说,你想从home文件夹移动到里面有你想要的绝密的一个文件夹/目录。对于这一点,你用'cd'命令。 cd,或‘change directory’,将改变所处目录的位置。你怎么使用它呢?简单,键入cd和你的文件夹路径。比方说,例如,你想从你的主文件夹进入你的Hello Kitty图片集。你输入‘cd /home/username/Hello\ Kitty’。 +现在你学习了如果想知道自己在哪个目录的pwd命令的用法。现在,你要做的下一步骤就是移动到另一个目录。比方说,你在你的home文件夹下有一个文件夹(目录),你要将你的绝密的东东放到里面。要这样做,你需要使用用'cd'命令。 cd,或‘Change Directory’,将改变所处目录的位置。你怎么使用它呢?简单,键入cd和你的文件夹路径。比方说,例如,你想从你的主文件夹进入你的Hello Kitty图片集。你输入‘cd /home/username/Hello\ Kitty’。 -正如你看到的,我们并没有只使用文件夹名称的空格键。这是因为终端将无法识别它。每当你要导航到它的名称中有空格的文件夹,你**用反斜杠字符,后跟空格**代替它。您也可以不使用反斜杠+空格选项,只是把**整个文件夹名称加引号**,例如,cd /home/username/”Hello Kitty”。 +正如你看到的,我们并没有只使用文件夹名称的空格键。这是因为终端将无法识别它。每当你要导航到它的名称中有空格的文件夹,你**用反斜杠字符,后跟空格**代替它。您也可以不使用反斜杠+空格选项,只是把**整个文件夹名称加引号**,例如,cd /home/username/ "Hello Kitty"。 ![cd](http://blogote.com/wp-content/uploads/2010/06/terminal-cd-desktop.png) 自己尝试一下。使用cd导航到不同的目录,同时,键入pwd命令,看看一切工作是否如期望的那样。 -### Shotts先生的快捷键 ### +### 肖茨先生的快捷键 ### 肖茨先生提醒我们也有一些可用的快捷键。 -如果你仅键入cd,不带路径,你的终端将你的工作目录(不管它可能是)改变为你的/home文件夹。 +如果你仅键入cd,不带路径,你的终端将从你的工作目录(无论是不是)切换到你的/home文件夹。 -同样地,如果你键入cd `~user_name`它会带你到你规定的特定用户的主文件夹。 +同样地,如果你键入 cd `~user_name` 它会带你到你指定的特定用户的主文件夹。 ### 下周 ### -下周,我们将进入到下一章 - 我们将学习如何列出文件和目录,查看文本文件和文件的内容进,因此会比之前我们已经学习的有更多的工作,但我希望你将会有足够的时间。命令通过命令,如果你没有时间自己做,我们将一起在几个月内学习基础知识! +下周,我们将进入到下一章 - 我们将学习如何列出文件和目录,查看文本文件和文件的内容,因此会比之前我们已经学习的有更多的工作,但我希望你将会有足够的时间。一条命令又一条命令,如果你没有时间自己学习的话,那让我们在几个月内一起学习基础知识吧! 同时,记得... @@ -59,10 +59,10 @@ P.P.S:GreatEmerald还增加了有关文件层次结构的一些新信息。您 via: https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/ -译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[校对者ID](https://github.com/校对者ID) +译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[1]:https://news.opensuse.org/2014/06/10/command-line-tuesdays-part-one/ +[1]:http://linux.cn/article-3300-1.html [2]:http://devopsbootcamp.readthedocs.org/ [3]:https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/comment-page-1/#comment-99186 From a1c1aec4e3198c7c131558cbe8164c5ef3bb0357 Mon Sep 17 00:00:00 2001 From: zhengsihua Date: Tue, 8 Jul 2014 09:38:41 +0800 Subject: [PATCH 051/291] [Translating] How to check MySQL storage engine type on Linux --- .../20140702 How to check MySQL storage engine type on Linux.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20140702 How to check MySQL storage engine type on Linux.md b/sources/tech/20140702 How to check MySQL storage engine type on Linux.md index 80fa4abc4f..8b1c93a1dc 100644 --- a/sources/tech/20140702 How to check MySQL storage engine type on Linux.md +++ b/sources/tech/20140702 How to check MySQL storage engine type on Linux.md @@ -1,3 +1,5 @@ +Translating---------geekpi + How to check MySQL storage engine type on Linux ================================================================================ > **Question**: I need to know whether my MySQL database table is MyISAM or Innodb type. How can I check the type of a MySQL database table? From 7e4f49ca96ce9f77b77c18e4c3d7db1f94149846 Mon Sep 17 00:00:00 2001 From: zhengsihua Date: Tue, 8 Jul 2014 10:01:28 +0800 Subject: [PATCH 052/291] [Translated] How to check MySQL storage engine type on Linux --- ...heck MySQL storage engine type on Linux.md | 43 ------------------- ...heck MySQL storage engine type on Linux.md | 41 ++++++++++++++++++ 2 files changed, 41 insertions(+), 43 deletions(-) delete mode 100644 sources/tech/20140702 How to check MySQL storage engine type on Linux.md create mode 100644 translated/tech/20140702 How to check MySQL storage engine type on Linux.md diff --git a/sources/tech/20140702 How to check MySQL storage engine type on Linux.md b/sources/tech/20140702 How to check MySQL storage engine type on Linux.md deleted file mode 100644 index 8b1c93a1dc..0000000000 --- a/sources/tech/20140702 How to check MySQL storage engine type on Linux.md +++ /dev/null @@ -1,43 +0,0 @@ -Translating---------geekpi - -How to check MySQL storage engine type on Linux -================================================================================ -> **Question**: I need to know whether my MySQL database table is MyISAM or Innodb type. How can I check the type of a MySQL database table? - -There are two major MySQL storage engines used: **MyISAM and Innodb**. MyISAM is non-transactional, and thus can be faster for reads, while InnoDB fully supports transactions (e.g., commit/rollback) with finer-grain locking. When you create a new MySQL table, you choose its type (i.e., storage engine). Without any choice, you will simply use a pre-configured default engine. - -If you would like to know the type of an existing MySQL database table, there are a couple of ways to do it. - -### Method One ### - -If you have access to phpMyAdmin, you can find out the database type from phpMyAdmin. Simply choose your database from phpMyAdmin to see a list of its tables. Under "Type" column, you will see the database type for each table. - -![](https://farm4.staticflickr.com/3871/14526575875_c1da3d9c7a_z.jpg) - -### Method Two ### - -If you can log in to a MySQL server directly, another way to identify the storage engine is to run the following MySQL command inside your MySQL server after logging in. - - mysql> SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table'; - -The above command will show the engine type of a table called 'my_table' in 'my_database' database. - -### Method Three ### - -Yet another method to check the MySQL engine is to use mysqlshow, a command-line utility which shows database information. The mysqlshow utility comes with [MySQL client package installation][1]. To use mysqlshow, you need to supply MySQL server login credential. - -The following command will show information about a particular database. Under "Engine" column, you will see the storage engine for each table. - - $ mysqlshow -u -p -i - -![](https://farm4.staticflickr.com/3845/14340200549_8fbe7ea7b5_z.jpg) - --------------------------------------------------------------------------------- - -via: http://ask.xmodulo.com/check-mysql-storage-engine-type-linux.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://xmodulo.com/2013/06/how-to-install-mysql-server-and-client-on-linux.html \ No newline at end of file diff --git a/translated/tech/20140702 How to check MySQL storage engine type on Linux.md b/translated/tech/20140702 How to check MySQL storage engine type on Linux.md new file mode 100644 index 0000000000..565d0965b1 --- /dev/null +++ b/translated/tech/20140702 How to check MySQL storage engine type on Linux.md @@ -0,0 +1,41 @@ +如何在Linux上检查MySQL的存储引擎类型 +================================================================================ +> **提问**: 我想要知道我的MySQL数据库是MyISAM还是Innodb类型。我该如何检查MySQL数据库表的类型? + +MySQl主要使用两种存储引擎:**MyISAM and Innodb**。MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒的事务锁定(比如:commit/rollback)。当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎)。如果没有选择,你就会使用与预设置的默认引擎。 + +如果你想要知道已经存在的MySQL数据表的类型,这里有几种方法达到。 + +### 方法一 ### + +如果你可以访问phpMyAdmin,你可以从phpMyAdmin找出默认的数据库类型。从phpMyAdmin中选中数据库来查看它的表列表。在“Type”一列的下面,你会看到每个表的数据表类型。 + +![](https://farm4.staticflickr.com/3871/14526575875_c1da3d9c7a_z.jpg) + +### 方法二 ### + +如果你可以直接登录MySQL服务器,另外一种鉴别存储引擎的方法是登录MySQL服务器后运行下面的MySQL命令: + + mysql> SELECT ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table'; + +上面的命令会显示在'my_database'数据库中'my_table'表的引擎类型。 + +### 方法三 ### + +还有一种检查引擎的方法是使用mysqlshow,是一种命令行下的显示数据库信息的工具。mysqlshow在[MySQL 客户端安装包][1]中有。要使用mysqlshow,你需要提供MySQL服务器登录凭据。 + +下面的命令会显示特定的数据库信息。在“Engine”一列下面,你可以看到每个表使用的引擎。 + + $ mysqlshow -u -p -i + +![](https://farm4.staticflickr.com/3845/14340200549_8fbe7ea7b5_z.jpg) + +-------------------------------------------------------------------------------- + +via: http://ask.xmodulo.com/check-mysql-storage-engine-type-linux.html + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/2013/06/how-to-install-mysql-server-and-client-on-linux.html \ No newline at end of file From 8fef5a3c319b88cfa39b42b2e20ca4aa0065f15e Mon Sep 17 00:00:00 2001 From: zhengsihua Date: Tue, 8 Jul 2014 10:05:25 +0800 Subject: [PATCH 053/291] [Translating] How to create sosreport in linux (RHEL 5.X or RHEL 6.X) --- ... How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md b/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md index 6f617d452c..92886dedc6 100644 --- a/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md +++ b/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md @@ -1,3 +1,6 @@ +Translating--------geekpi + + How to create sosreport in linux (RHEL 5.X / RHEL 6.X) ================================================================================ **Sosreport** is a command in linux (**RHEL / CentOS**) which collects **system configuration** and diagnostic information of your linux box like running kernel version, loaded modules, and system and service configuration files. This command also runs external programs to collect further information, and stores this output in the resulting archive. From 60de44af6c76a48fc21811a742f5142242b5c214 Mon Sep 17 00:00:00 2001 From: zhengsihua Date: Tue, 8 Jul 2014 10:34:07 +0800 Subject: [PATCH 054/291] [Translated] How to create sosreport in linux (RHEL 5.X or RHEL 6.X) --- ...sreport in linux (RHEL 5.X or RHEL 6.X).md | 44 ------------------- ...sreport in linux (RHEL 5.X or RHEL 6.X).md | 43 ++++++++++++++++++ 2 files changed, 43 insertions(+), 44 deletions(-) delete mode 100644 sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md create mode 100644 translated/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md diff --git a/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md b/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md deleted file mode 100644 index 92886dedc6..0000000000 --- a/sources/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md +++ /dev/null @@ -1,44 +0,0 @@ -Translating--------geekpi - - -How to create sosreport in linux (RHEL 5.X / RHEL 6.X) -================================================================================ -**Sosreport** is a command in linux (**RHEL / CentOS**) which collects **system configuration** and diagnostic information of your linux box like running kernel version, loaded modules, and system and service configuration files. This command also runs external programs to collect further information, and stores this output in the resulting archive. - -Sosreport is required when you have open a case with redhat for technical support. Redhat support Engineers will require sosreport of your server for troubleshooting purpose. - -To run sosreport , **sos** package should be installed. Sos package is part of default installation in most of linux. If for any reason this package is no installed , then use below yum command to install **sos package** : - - # yum install sos - -### Generate the report ### - -Open the terminal type sosreport command : - - # sosreport - - This command will normally complete within a **few minutes**. Depending on local configuration and the options specified in some cases the command may take longer to finish. Once completed, sosreport will generate a compressed a file under **/tmp** folder. Different versions use different compression schemes (**gz, bz2, or xz**). The file should be provided to Redhat support representative (normally as an attachment to an open case). - -**Note**: sosreport requires root permissions to run. - -### Different Options used in sosreport command : ### - -The sosreport command has a **modular structure** and allows the user to enable and disable modules and specify module options via the command line. To **list available modules** (plug-ins) use the following command: - - # sosreport -l - -To turn off a module include it in a comma-separated list of modules passed to the -n/–skip-plugins option. For instance to disable both the kvmand amd modules: - - # sosreport -n kvm,amd - -Individual modules may provide additional options that may be specified via the -k option. For example on Red Hat Enterprise Linux 5 installations the sos rpm module collects "rpm -Va" output by default. As this may be time-consuming the behavior may be disabled via: - - # sosreport -k rpm.rpmva=off - --------------------------------------------------------------------------------- - -via: http://www.linuxtechi.com/how-to-create-sosreport-in-linux/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/translated/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md b/translated/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md new file mode 100644 index 0000000000..795dd0e31b --- /dev/null +++ b/translated/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md @@ -0,0 +1,43 @@ +如何在linux中创建sosreport(RHEL 5.X / RHEL 6.X) +================================================================================ +**Sosreport**是linux中的一个命令**RHEL / CentOS**),它会收集**系统配置**和你linux机器上如正在运行的内核版本、加载的模块和系统和服务配置文件之类的诊断信息。这个命令同样可以运行外部的程序来收集更多的信息,并存储这些输出到一个结论文档中。 + +Sosreport在你需要获得redhat的技术支持时需要它。Redhat的支持工程师会要求你服务器上的sosreport来用于故障排除。 + +To run sosreport , **sos** package should be installed. Sos package is part of default installation in most of linux. If for any reason this package is no installed , then use below yum command to install **sos package** : +要运行sosreport,需要安装**sos** 包。Sos包是大多是linux的默认安装包中的一部分。如果有任何原因没有安装,那么运行下面的yum命令来安装**sos 包** : + + # yum install sos + +### 生成报告 ### + +打开终端输入sosreport命令: + + # sosreport + +这条命令正常情况下会在**几分钟**里完成。根据本地配置,在某些情况下,某些选项可能需要更长的时间才能完成。一旦完成,sosreport将在**/ tmp目录**目录中生成压缩文件。不同版本使用不同的压缩方案(** gz,bz2,或xz**)。该文件应提供给红帽的支持代表(在开放的情况下通常作为附件)。 + +**注意**:sosreport需要root权限才能运行。 + +### sosreport命令中不同的选项: ### + +sosreport命令有一个**模块化结构**,并允许用户启用和禁用模块,并通过在命令行指定模块。要**列出可用的模块**(插件),请使用以下命令: + + # sosreport -l + +要禁用一个模块,用逗号隔开的列表传给-n/–skip-plugins选项。比如要kvmand 、amd这两个模块: + + # sosreport -n kvm,amd + +各个模块可以通过-k选项提供额外的选项。例如,在Red Hat Enterprise Linux 5中安装的sos rpm模块默认收集“rpm -Va”的输出。因为这是个耗时行为,因此可以通过下面的命令禁用: + + + # sosreport -k rpm.rpmva=off + +-------------------------------------------------------------------------------- + +via: http://www.linuxtechi.com/how-to-create-sosreport-in-linux/ + +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From a7ebf1e3daebc29f7bcba701e360f1ddf77e9b36 Mon Sep 17 00:00:00 2001 From: John Date: Wed, 9 Jul 2014 10:20:37 +0800 Subject: [PATCH 055/291] =?UTF-8?q?=E5=88=A0=E9=99=A4source=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Questions and Answers' for Linux Users.md | 204 ------------------ 1 file changed, 204 deletions(-) delete mode 100644 sources/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md diff --git a/sources/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md b/sources/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md deleted file mode 100644 index 6efbe5400f..0000000000 --- a/sources/tech/20140620 11 Advance MySQL Database 'Interview Questions and Answers' for Linux Users.md +++ /dev/null @@ -1,204 +0,0 @@ -translating by johnhoow... -给linux用户的11个高级MySQL数据库面试问题和答案 -================================================================================ -我们已经发表了两篇MySQL的文章,非常感谢Tecmint社区的大力支持.这是MySQL面试系列的第三篇文章,并且在面试专栏中排第16. -- [15个基本的MySQL面试问题][1] -- [给中级人员的10个MySQL面试问题][1] - -![11个MySQL面试问题](http://www.tecmint.com/wp-content/uploads/2014/06/MySQL-Interview-Questions.jpeg) - -感谢你们这一路上对我们的支持.这篇文章主要针对MySQL的实用性,讲面试方面的问题. - -### 1. 如何使用SELECT语句找到你正在运行的服务器的版本并打印出当前数据库的名称? ### -**Ans**:下面的语句的结果会显示服务器的版本和当前的数据库名称 - - mysql> SELECT VERSION(), DATABASE(); - - +-------------------------+------------+ - | VERSION() | DATABASE() | - +-------------------------+------------+ - | 5.5.34-0ubuntu0.13.10.1 | NULL | - +-------------------------+------------+ - 1 row in set (0.06 sec) - -在Database一栏中显示**NULL**是因为我们当前没有选择任何数据库.因此,使用下面的语句先选择一个数据库,就能看到相应的结果. - - mysql> use Tecmint; - - Reading table information for completion of table and column names - You can turn off this feature to get a quicker startup with -A - - Database changed - ----------- - - mysql> select VERSION(), DATABASE(); - - +-------------------------+------------+ - | VERSION() | DATABASE() | - +-------------------------+------------+ - | 5.5.34-0ubuntu0.13.10.1 | tecmint | - +-------------------------+------------+ - 1 row in set (0.00 sec) - -### 2. 使用非运算符(!)从表"Tecmint"中列出除了user等于"SAM"的所有记录 - -**Ans**:使用下面的语句 - - mysql> SELECT * FROM Tecmint WHERE user !=SAM; - - +---------------------+---------+---------+---------+---------+-------+ - | date | user | host | root | local | size | - +---------------------+---------+---------+---------+---------+-------+ - | 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 | - | 2001-05-15 08:50:57 | TIM | venus | phil | venus | 978 | - +---------------------+---------+---------+---------+---------+-------+ - -### 3. 是否能够使用非运算符(!)来实现'AND'运算 - -**Ans**: 我们使用’=’号和OR运算符或者'!='和AND运算符,下面是'='和AND运算符的例子 - - mysql> SELECT * FROM mail WHERE user = SAM AND root = phil - -'!='和OR运算符的例子 - - mysql> SELECT * FROM mail WHERE user != SAM OR root != phil - - +---------------------+---------+---------+---------+---------+-------+ - | date | user | host | root | local | size | - +---------------------+---------+---------+---------+---------+-------+ - | 2001-05-14 14:42:21 | Anthony | venus | barb | venus | 98151 | - +---------------------+---------+---------+---------+---------+-------+ - -- = : 等于 -- != : 不等于 -- ! : 非运算符 - -AND和OR在MySQL中被看作加入运算符 - -### 4. IFNULL()语句在MySQL中有什么作用? ### - -**Ans**: **IFNULL**语句的使用使得MySQL中的查询更加精确。IFNULL()语句先测试它的的一个参数,若不为空就返回该参数的值,否则返回第二个参数的值 - - mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer; - - +---------+---------+ - | name | id | - +---------+---------+ - | bernina | 198-48 | - | bertha | Unknown | - | ben | Unknown | - | bill | 475-83 | - +---------+---------+ - -### 5. You want to see only certain rows from a result set from the beginning or end of a result set. How will you do it? ### -### 5. 如果你只想知道从一个结果集的开头或者结尾开始的特定条数的行记录改如何实现? - -**Ans**: 我们可以用**LIMIT**和**ORDER BY**从句。 - -#### Show 1 Record #### -#### 显示一行记录 #### - - mysql> SELECT * FROM name LIMIT 1; - - +----+------+------------+-------+----------------------+------+ - | id | name | birth | color | foods | cats | - +----+------+------------+-------+----------------------+------+ - | 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 | - +----+------+------------+-------+----------------------+------+ - -#### 显示5行记录 #### - - mysql> SELECT * FROM profile LIMIT 5; - - +----+------+------------+-------+-----------------------+------+ - | id | name | birth | color | foods | cats | - +----+------+------------+-------+-----------------------+------+ - | 1 | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0 | - | 2 | Mort | 1969-09-30 | white | burrito,curry,eggroll | 3 | - | 3 | Brit | 1957-12-01 | red | burrito,curry,pizza | 1 | - | 4 | Carl | 1973-11-02 | red | eggroll,pizza | 4 | - | 5 | Sean | 1963-07-04 | blue | burrito,curry | 5 | - +----+------+------------+-------+-----------------------+------+ - -#### 显示按照ORDER BY排序后的第一条记录 #### - - mysql> SELECT * FROM profile ORDER BY birth LIMIT 1; - - +----+------+------------+-------+----------------+------+ - | id | name | birth | color | foods | cats | - +----+------+------------+-------+----------------+------+ - | 9 | Dick | 1952-08-20 | green | lutefisk,fadge | 0 | - +----+------+------------+-------+----------------+------+ - -### 6. Oracle 和 MySQL.改如何选择? ### - -**Ans**: 它们都有各自的优点和缺点。 - -#### 选择MySQL而不选orcale的原因 #### - -- 开源 -- 轻便快捷 -- 有命令行和图形界面 -- 能通过查询器进行数据库的管理 - -### 7. MySQL中如何得到当前日期? ### - -**Ans**: 使用CURRENT_DATE()函数 - - mysql> SELECT CURRENT_DATE(); - - +----------------+ - | CURRENT_DATE() | - +----------------+ - | 2014-06-17 | - +----------------+ - -### 8. How will you export tables as an XML file in MySQL? ### -### 8. MySQL中如何将表导出为XML文件? ### - -**Ans**: 使用'-e'(export)参数来把MySQL表或整个数据库导出到XML文件。当处理大型表的时候或许我们需要手动导出,但是只是导出小文件的话可以直接使用想phpMyAdmin这样的工具。 - - mysql -u USER_NAME –xml -e 'SELECT * FROM table_name' > table_name.xml - -Where USER_NAME is username of Database, table_name is the table we are exporting to XML and table_name.xml is the xml file where data is stored. - -### 9. What is MySQL_pconnect? And how it differs from MySQL_connect? ### - -**Ans**: MySQL_pconnect() opens a connection that is persistent to the MySQL Database which simply means that the database is not opened every-time the page loads and hence we can not use MySQL_close() to close a persistent connection. - -A brief difference between MySQL_pconnect and MySQL_connect are. - -Unlike MySQL_pconnect, MySQL_connect – Opens the Database every-time the page is loaded which can be closed any-time using statement MySQL_close(). - -### 10. You need to show all the indexes defined in a table say ‘user’ of Database say ‘mysql’. How will you achieve this? ### - -**Ans**: The following command will show all the indexes of a table ‘user’. - - mysql> show index from user; - +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ - | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | - +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ - | user | 0 | PRIMARY | 1 | Host | A | NULL | NULL | NULL | | BTREE | | | - | user | 0 | PRIMARY | 2 | User | A | 4 | NULL | NULL | | BTREE | | | - +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ - 2 rows in set (0.00 sec) - -### 11. What are CSV tables? ### - -**Ans**: CSV stands for Comma-Separated Values aka Character-Separated Values. CSV table stores data in plain text and tabular format. It typically contains one record per line. - -Each record is separated by specific delimiters (Comma, Semi-colon, …) where each record has same sequence of field. CSV tables are most widely used to store phone contacts to Import and Export and can be used to store any sort of plain text data. - -That’s all for now. I’ll be here again with another Interesting article, you people will love to read. Till then stay tuned and connected to Tecmint and Don’t forget to provide us with your valuable feedback in the comment section below. - --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/mysql-advance-interview-questions/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.tecmint.com/basic-mysql-interview-questions-for-database-administrators/ -[2]:http://www.tecmint.com/10-mysql-database-interview-questions-for-beginners-and-intermediates/ From 30be632b97b8dd721e0568a0f72a42be292053b7 Mon Sep 17 00:00:00 2001 From: xianzhi yang Date: Wed, 9 Jul 2014 11:39:46 +0800 Subject: [PATCH 056/291] Update 20140630 Ubuntu 14.04 LTS--Customizing Unity.md --- sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md b/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md index 80bb5b9492..bc1f840938 100644 --- a/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md +++ b/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md @@ -1,4 +1,5 @@ -Ubuntu 14.04 LTS: Customizing Unity + Love-xuan 翻译中 + Ubuntu 14.04 LTS: Customizing Unity ================================================================================ Although the Unity Desktop Manager has made HUGE performance and usability strides since the initial release in Ubuntu 11.10, some people are still put off by a number of the limitations in customizing the look and behavior of the window manager. We are going to take a look at how to customize Unity and bring back a sense of control to your desktop. @@ -59,4 +60,4 @@ via: https://linuxacademy.com/blog/linux/ubuntu-14-04-lts-customizing-unity/ 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[1]:https://twitter.com/mourngrymtc/ \ No newline at end of file +[1]:https://twitter.com/mourngrymtc/ From 12d6da122eb4df7170d64a161d58306157e07618 Mon Sep 17 00:00:00 2001 From: xianzhi yang Date: Wed, 9 Jul 2014 11:44:25 +0800 Subject: [PATCH 057/291] Update 20140630 Ubuntu 14.04 LTS--Customizing Unity.md --- sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md b/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md index bc1f840938..19a7d703a2 100644 --- a/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md +++ b/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md @@ -1,5 +1,4 @@ - Love-xuan 翻译中 - Ubuntu 14.04 LTS: Customizing Unity + Ubuntu 14.04 LTS: Customizing Unity ================================================================================ Although the Unity Desktop Manager has made HUGE performance and usability strides since the initial release in Ubuntu 11.10, some people are still put off by a number of the limitations in customizing the look and behavior of the window manager. We are going to take a look at how to customize Unity and bring back a sense of control to your desktop. From 46dea13ce1fb4e34273b07136b174e2ba213d8eb Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Wed, 9 Jul 2014 12:00:31 +0800 Subject: [PATCH 058/291] =?UTF-8?q?Love-xuan=20=E7=BF=BB=E8=AF=91=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md b/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md index 19a7d703a2..0277bf57f5 100644 --- a/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md +++ b/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md @@ -1,3 +1,4 @@ + Love-xuan翻译中 Ubuntu 14.04 LTS: Customizing Unity ================================================================================ Although the Unity Desktop Manager has made HUGE performance and usability strides since the initial release in Ubuntu 11.10, some people are still put off by a number of the limitations in customizing the look and behavior of the window manager. We are going to take a look at how to customize Unity and bring back a sense of control to your desktop. From 6404fd397219643a73be3dfc5886cd3fd3b568bd Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 9 Jul 2014 14:39:00 +0800 Subject: [PATCH 059/291] =?UTF-8?q?20140709-1=20=E9=80=89=E9=A2=98=20Comma?= =?UTF-8?q?nd=20Line=20Tuesdays=20=E6=96=B0=E4=B8=80=E7=AF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...140709 Command Line Tuesdays--Part Four.md | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 sources/tech/20140709 Command Line Tuesdays--Part Four.md diff --git a/sources/tech/20140709 Command Line Tuesdays--Part Four.md b/sources/tech/20140709 Command Line Tuesdays--Part Four.md new file mode 100644 index 0000000000..088fa93182 --- /dev/null +++ b/sources/tech/20140709 Command Line Tuesdays--Part Four.md @@ -0,0 +1,79 @@ +Command Line Tuesdays – Part Four +================================================================================ +Heya there geekos! New week, new adventure! + +Today, we’ll learn how to manipulate files using four fairly simple commands. So let’s begin! + +Before we start with the commands themselves, let’s take a quick stop at a section called… + +### …wildcards: ### + +Copying, pasting files, creating directories etc. is probably easier using graphical tools, but, if you’d like to perform more complicated tasks, like copying only .html files from one folder to another, and only copying files that don’t exist in the destination directory, CLI just might come in handy. So, to get back to wildcards, it’s basically a shell feature, a set of special characters, that helps you pick out a set of files based on some simple rules (which characters appear in a file name, how many characters, upper/lower case characters etc.). Here’s the table (click to enlarge): + +![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125946.png) + +And here are a few examples mr Shotts posted in a table of usage also click to enlarge: + +![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125959.png) + +If you use a command with an argument containing a filename, you can use wildcards with no problem. + +### cp ### + +cp is used to copy files or directories. You can use it pretty easily: navigate to the folder you’d like to copy the files from and to, and simply do + +`cp file1 file2` – to copy single files, + +or + +`cp file1 file2 … directory` – to copy files from your current working directory to the directory specified. Here’s mr Shotts’ table with numerous options: + +![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-134248.png) + +### mv ### + +mv is the second command of the day. We can use mv to rename a file or directory, or to move a file or directory. We can use it this way: + +`mv filename1 filename2` – if we want to rename filename1 to filename2 + +or + +`mv file directory` – if we want to move file to directory. + +Here’s a table of few examples of mv with options used with it: + +![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-133515.png) + +### rm ### + +The rm command removes/deletes files and directories. Usage is pretty straightforward: + + rm file + +or + + rm -r directory + +And here’s also a table with some additional options: + +![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-133529.png) + +But, do be careful when using rm as there is no undelete option, so be extra careful not to inflict unwanted damage to your system! + +### mkdir ### + +mkdir is used for creating directories. It’s the most simple command of the day. Simply: + + mkdir directory + +Voila, directory created! + +So this is it for this week, geekos. Hope to see you next tuesday! All the best and kind regards, + +-------------------------------------------------------------------------------- + +via: https://news.opensuse.org/2014/07/08/command-line-tuesdays-part-four/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From 1d3350233aee2ad5343202bbc0f2de31428f0411 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 9 Jul 2014 15:19:21 +0800 Subject: [PATCH 060/291] =?UTF-8?q?20140709-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tress Sees First New Release In 2 Years.md | 25 ++++ ...vailability of its OpenStack Platform 5.md | 37 ++++++ ...r authentication for SSH login on Linux.md | 110 ++++++++++++++++++ 3 files changed, 172 insertions(+) create mode 100644 sources/news/20140709 Dwarf Fortress Sees First New Release In 2 Years.md create mode 100644 sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md create mode 100644 sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md diff --git a/sources/news/20140709 Dwarf Fortress Sees First New Release In 2 Years.md b/sources/news/20140709 Dwarf Fortress Sees First New Release In 2 Years.md new file mode 100644 index 0000000000..f958f829a7 --- /dev/null +++ b/sources/news/20140709 Dwarf Fortress Sees First New Release In 2 Years.md @@ -0,0 +1,25 @@ +Dwarf Fortress Sees First New Release In 2 Years +================================================================================ +![](http://www.gamingonlinux.com/uploads/articles/tagline_images/399424446id3997gol.png) + +[Dwarf Fortress][1] is a single-player fantasy game. You can control a dwarven outpost or an adventurer in a randomly generated, persistent world. The kicker is that the graphics are all text, no actual graphics. There are of course mods to make it graphical however. + +I have to say I don't get the fuss at all with this one. The interface is confusing and it's not nice to look at, but I am guessing with plenty of graphical mods it could get pretty good considering everything you can do in it. I understand it will have a massive amount of replayability due to generating a new world each time, but it just doesn't look inviting to someone who hasn't played a game like it before. + +This new release is the first in 2 years and has massive changes as you might imagine. See the [full rundown here][1]. + +What do people see in it exactly? I know plenty of you play it as the amount of people to email it in was crazy. I'm just going to sit back and let the "omg your crazy" comments come in. + + + + + +-------------------------------------------------------------------------------- + +via: http://www.gamingonlinux.com/articles/dwarf-fortress-sees-first-new-release-in-2-years.3997 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.bay12games.com/dwarves/index.html \ No newline at end of file diff --git a/sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md b/sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md new file mode 100644 index 0000000000..874415db0d --- /dev/null +++ b/sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md @@ -0,0 +1,37 @@ +Red Hat Announces Availability of its OpenStack Platform 5 +================================================================================ +![](http://farm4.static.flickr.com/3108/3191608123_67e1da2b79_o.jpg) + +Red Hat has [announced][1] the general availability of Red Hat Enterprise Linux OpenStack Platform 5, which is the third enterprise release of the company's OpenStack offering. Aside from new features, the platform is clearly being aimed at many types of organizations, including "advanced cloud users, telecommunications companies, Internet service providers (ISPs), and public cloud hosting providers." + +OpenStack Platform 5 is based on the latest OpenStack Icehouse release and provides more evidence of how very focused on cloud computing Red Hat has become. + +The new release includes a three-year support lifecycle, and [I've made the point before][2] that because of its legendary support for Linux, Red Hat's OpenStack support will be a key differentiator in wooing enterprises. There has been controversy over whether Red Hat will support OpenStack distributions other than its own, which is significant because a recent OpenStack user survey showed that [90% of OpenStack deployments today are not running on RHEL][3], but rather use other flavors of Linux and KVM, such as Ubuntu or CentOS. + +Other features in Red Hat's new release include: + +> **Support for integration with VMware infrastructure**, encompassing virtualization, management, networking and storage. Customers may use existing VMware vSphere resources as virtualization drivers for OpenStack Compute (Nova) nodes, managed from the OpenStack Dashboard (Horizon). Additionally, Red Hat Enterprise Linux OpenStack Platform 5 supports the VMware NSX plugin for OpenStack Networking (Neutron) and the VMware Virtual Machine Disk (VMDK) plugin for OpenStack Block Storage (Cinder). +> +> **Better placement of workloads across cloud resources**. "Server groups enable workloads to be spread broadly across the OpenStack cloud for enhanced resiliency of distributed applications, or located proximately for lower communications latency and better performance of complex applications." +> +> **Improved support for virtual machines, supporting new cryptographic security requirements from the United States and United Kingdom**. Using the para-virtualized random number generator device added in Red Hat Enterprise Linux 7, cryptographic routines in guest applications will have access to better quality encryption and experience improved performance. +> +> **Improved interoperability of networking stacks**. Red Hat claims that the new modular plugin architecture for Neutron eases the addition of new networking technologies to OpenStack deployments. The new architecture provides a path for customers with heterogeneous networking environments who want to use a mix of networking solutions in their OpenStack environment. + +Radhesh Balakrishnan, general manager, Virtualization and OpenStack, Red Hat, said in a statement: + +> “We see momentum behind OpenStack as a private cloud platform of choice from enterprise customers and service providers alike. Red Hat Enterprise Linux OpenStack Platform 5 not only offers a production-ready, supported version of OpenStack Icehouse, but it brings a number of features that will simplify its use, and enhance dependability for enterprise users. Alongside those new features, we’re extending our support lifecycle for Red Hat Enterprise Linux OpenStack Platform, giving users confidence that the solution they deploy will be supported by our global team for the next three years.” + +You can bet on that last point--a three-year support plan--as a key reason why some enterprises will go with Red Hat in the increasingly competitive OpenStack race. And, clearly, Red Hat is tying its future to cloud computing and the OpenStack platform. + +-------------------------------------------------------------------------------- + +via: http://ostatic.com/blog/red-hat-announces-availability-of-its-openstack-platform-5 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.marketwatch.com/story/red-hat-announces-general-availability-of-red-hat-enterprise-linux-openstack-platform-5-2014-07-08 +[2]:http://ostatic.com/blog/why-red-hats-openstack-support-must-be-as-inclusive-as-possible +[3]:http://www.openstack.org/blog/2013/11/openstack-user-survey-october-2013/ \ No newline at end of file diff --git a/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md b/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md new file mode 100644 index 0000000000..705bf92a3c --- /dev/null +++ b/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md @@ -0,0 +1,110 @@ +How to set up two-factor authentication for SSH login on Linux +================================================================================ +With many high-profile password leaks nowadays, there is a lot of buzz in the industry on "multi-factor" authentication. In a multi-factor authentication system, users are required to go through two distinct authentication procedures: providing something they know (e.g., username/password), and leveraging something they have "physical" access to (e.g., one-time passcode generated by their mobile phone). This scheme is also commonly known as two-factor authentication or two-step verification. + +To encourage the wide adoption of two-factor authentication, Google released [Google Authenticator][1], an open-source application that can generate one-time passcode based on open standards (e.g., HMAP/time-based). It is available on multiple platforms including Linux, [Android][2], [iOS][3]. Google also offers a pluggable authentication module (PAM) for Google Authenticator, allowing it to be integrated with other PAM-enabled applications such as OpenSSH. + +In this tutorial, I will describe **how to set up two-factor authentication for an SSH server** by integrating Google Authenticator with OpenSSH. I am going to use a [Android][4] device to generate one-time passcode. In this tutorial, you will need two things: (1) a Linux host where OpenSSH server is running, and (2) an Android device. + +### Install Google Authenticator on Linux ### + +The first step is to install Google Authenticator on the Linux host where OpenSSH server is running. Follow [this guide][5] to install Google Authenticator and its PAM module on your system. + +Once Google Authenticator is ready, you need to go through one-time configuration which involves creating an authentication key from this Linux host, and registering it with an Android device. This will be explained next. + +### Generate an Authentication Key ### + +To start, simply run Google Authenticator on the Linux server host. + + $ google-authenticator + +You will see a QR code, as well as a secret key underneath it. The displayed QR code simply represents the numeric secret key. You will need either information to finalize configuration with an Android device. + +![](https://farm4.staticflickr.com/3843/14573264401_d3f5a2f247_z.jpg) +![](https://farm4.staticflickr.com/3848/14390010599_18dfc23d76_z.jpg) + +Google Authenticator will ask you several questions. If you are not sure, you an answer "Yes" to all questions. The emergency scratch codes can be used to regain access to the SSH server in case you lose your Android device, and so cannot generate one-time passcode. So it's better to write them down somewhere. + +### Run Google Authenticator on Android ### + +As we are going to use an Android device for two-factor authentication, you will need to install [Google Authenticator app][6] on Android. Go to Google Play to install it on Android. + +When you start Google Authenticator on Android, you will see the following configuration menu. + +![](https://farm6.staticflickr.com/5574/14554094476_bfc070d242_z.jpg) + +You can choose either "Scan a barcode" or "Enter provided key" option. The first option allows you to enter the security key, simply by scanning the generated QR code. In this case, you will need to install [Barcode Scanner app][7] first. If you choose the second option, you can type the security key using Android keyboard as follows. + +![](https://farm6.staticflickr.com/5535/14596723603_d510dbe48d_z.jpg) + +Once you register a secret key either way, you will see the following screen on Android. + +![](https://farm6.staticflickr.com/5586/14390009579_5ba109bf5b_z.jpg) + +### Enable Google Authenticator on SSH Server ### + +The final step is to integrate Google Authenticator with OpenSSH server. For that, you need to edit two files. + +First, edit a PAM configuration file, and append the line below. + + $ sudo vi /etc/pam.d/sshd + +---------- + + auth required pam_google_authenticator.so + +Then open an SSH server config file, search for ChallengeResponseAuthentication, and enable it. + + $ sudo vi /etc/ssh/sshd_config + +---------- + +ChallengeResponseAuthentication yes + +Finally, restart SSH server. + +On Ubuntu, Debian or Linux Mint: + + $ sudo service ssh restart + +On Fedora: + + $ sudo systemctl restart sshd + +On CentOS or RHEL: + + $ sudo service sshd restart + +### Test Two-factor Authentication ### + +Here is how you use two-factor authentication for SSH logins. + +Run Google Authenticator app on Android to obtain one-time verification code. Once generated, a given passcode is valid for 30 seconds. Once it expires, Google Authenticator will automatically generate a new one. + +![](https://farm3.staticflickr.com/2937/14389989618_d9355dcbb2_z.jpg) + +Now log in to the SSH server as you normally do. + + $ ssh user@ssh_server + +When you are asked to enter "Verification code", type in the verification code generated by Android. After successful verification, then you can type in your SSH login password. + +![](https://farm3.staticflickr.com/2938/14389952480_93351f12a4_z.jpg) + +To conclude, two-factor authentication can be an effective means to secure password authentication by adding an extra layer of protection. You can use Google Authenticator to secure other logins such as Google account, WordPress.com, Dropbox.com, Outlook.com, etc. Whether you decide to use it or not, it's up to you, but there is a clear industry trend towards the adoption of two-factor authentication. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/two-factor-authentication-ssh-login-linux.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://code.google.com/p/google-authenticator/ +[2]:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 +[3]:https://itunes.apple.com/us/app/google-authenticator/id388497605 +[4]:http://xmodulo.com/go/android_guide +[5]:http://ask.xmodulo.com/install-google-authenticator-linux.html +[6]:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 +[7]:https://play.google.com/store/apps/details?id=com.google.zxing.client.android \ No newline at end of file From ec51ccae84d59655ea7ab812eee9e4f2965d2810 Mon Sep 17 00:00:00 2001 From: limox Date: Wed, 9 Jul 2014 15:20:45 +0800 Subject: [PATCH 061/291] Translated and delete --- ...16 How to diskless boot a Linux machine.md | 152 ------------------ ...16 How to diskless boot a Linux machine.md | 151 +++++++++++++++++ 2 files changed, 151 insertions(+), 152 deletions(-) delete mode 100644 sources/tech/20140616 How to diskless boot a Linux machine.md create mode 100644 translated/tech/20140616 How to diskless boot a Linux machine.md diff --git a/sources/tech/20140616 How to diskless boot a Linux machine.md b/sources/tech/20140616 How to diskless boot a Linux machine.md deleted file mode 100644 index c17facde33..0000000000 --- a/sources/tech/20140616 How to diskless boot a Linux machine.md +++ /dev/null @@ -1,152 +0,0 @@ -alim0x translating - -How to diskless boot a Linux machine -================================================================================ -Diskless booting implies that a client computer does not have any disk storage when booting an operating system. In that case, the computer can load the kernel as well as the root filesystem from a remote NFS server over network. It may use several different methods to load the kernel and the root filesystem from an NFS server: RARP, BOOTP or DHCP protocols. In this tutorial, I will use BOOTP/DHCP protocol because they are supported by many network cards. - -### Advantage of Diskless Computers ### - -Imagine you have 30 computers in your office, all of which need to access the same application. If you are managing the computers as an administrator, what would you do? It will be a waste of your time if you install the application on every computer. On the other hand, a diskless system can eliminate the problem. With a diskless system, you just need to install the application on a central NFS server, and then boot all 30 clients over network. - -### Requirements ### - -Two or more Linux computers equipped with network cards that support DHCP protocol. The computer that will act as an NFS server should have a hard drive, and the other client computer(s) do not need any hard drive. The server and client computer(s) need to be connected to the same local network. - -There are five steps to setting up the diskless system. - -1. Install required packages -1. Configure a TFTP server -1. Configure a DHCP server -1. Configure an NFS server -1. Booting diskless clients - -In this tutorial, I assume that the computer which will run as a booting server is running Ubuntu. If you are using other Linux distribution, the principle is the same. - -### Step One: Install Required Packages ### - -Use apt-get to install all necessary packages as follows. - - $ sudo apt-get install dhcp3-server tftpd-hpa syslinux nfs-kernel-server initramfs-tools - -### Step Two: Configure a TFTP Server ### - -TFTP server is a small FTP server which is needed for automated transfer of boot files between a client computer and server in the local network. - -Add the following lines to /etc/default/tftpd-hpa - - RUN_DAEMON="yes" - OPTIONS="-l -s /var/lib/tftpboot/" - -Next, create a boot directory. - - $ sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg - -Copy the bootstrap ROM. - - $ sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot - -Create a default boot configuration file as follows. - - $ sudo vi /tftpboot/pxelinux.cfg/default - ----------- - - LABEL Ubuntu - KERNEL vmlinuz - APPEND root=/dev/nfs initrd=initrd.img nfsroot=10.10.101.1:/nfsroot ip=dhcp rw - -Note: - -- "root=/dev/nfs" means the network filesystem on the server (doesn't need to change). -- "initrd=initrd.img" is a boot script for system startup. -- "nfsroot=10.10.101.1/nfsroot" indicates the server's IP address and the NFS share folder name. Substitute the IP address with your server's address. -- "ip=dhcp" means that client computers use DHCP addressing scheme. -- "rw" means that the NFS share is read/write. - -Finally, restart the TFTPD service. - - sudo /etc/init.d/tftpd-hpa restart - -### Step Three: Configure DHCP Service ### - -You also need to configure DHCP service on the NFS server to allow booting with /var/lib/tftpboot/pxelinux.0. Your configuration might look like the following, assuming you using subnet 10.10.101.0. - - $ sudo vi /etc/dhcp3/dhcpd.conf - ----------- - - allow booting; - allow bootp; - - subnet 10.10.101.0 netmask 255.255.255.0 { - range 10.10.101.2 10.10.101.254; - option broadcast-address 10.10.101.255; - option routers 10.10.101.1; - filename "/pxelinux.0"; - } - -Then restart DHCP service. - - $ sudo service isc-dhcp-server restart - -### Step Four: Configure an NFS server ### - -Create a directory that holds the client root filesystem. - - $ sudo mkdir /nfsroot - -Next, configure the NFS server to export the client root filesystem. For that, add the following line to /etc/exports. - - /nfsroot *(rw,no_root_squash,async,insecure,no_subtree_check) - -Run the following command to reload modified /etc/exports. - - $ sudo exportfs -rv - -By default, Ubuntu does not add network boot support to the initrd image. Thus you need to create a new initrd.img file. For that, first add the following line to /etc/initramfs-tools/initramfs.conf - - BOOT=nfs - MODULES=netboot - -Then run the following command to create a new initrd.img. - - $ sudo mkinitramfs -o /var/lib/tftpboot/initrd.img - -Copy the new kernel image to /var/lib/tftpboot. - -$ sudo cp /boot/vmlinuz-`uname -r` /var/lib/tfftpboot/vmlinuz -Now it is time to copy the entire root filesystem to /nfsroot. - -Assuming tgat you are using a fresh Ubuntu server installation, you just need to clone the server filesystem to the NFS root. - - $ sudo cp -ax / /nfsroot - -Then open /nfsroot/etc/fstab with a text editor to add the following line. - - /dev/nfs / nfs defaults 1 1 - -The directory /var/lib/tftpboot should have world read/write permissions. Otherwise the client would not be able to boot from network. - - $ sudo chmod -R 777 /var/lib/tfftpboot - -Lastly, to avoid any misconfiguration on the server, I recommend using a static IP address for the interface which DHCP service is running on. For example, if its network interface is named eth0, your configuration in /etc/network/interfaces should look like this: - - iface eth0 inet static - address 10.10.101.1 - netmask 255.255.255.0 - broadcast 10.10.101.255 - network 10.10.101.0 - -### Step Five: Booting a Diskless Client ### - -After you completed the configuration on the server. Boot your client from network. To boot from network, you typically need to change the boot order priority in your BIOS configuration. - -If a client booted successful, then your diskless environment is ready. You can add one or more client computers without changing anything. - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2014/06/diskless-boot-linux-machine.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20140616 How to diskless boot a Linux machine.md b/translated/tech/20140616 How to diskless boot a Linux machine.md new file mode 100644 index 0000000000..71a936803a --- /dev/null +++ b/translated/tech/20140616 How to diskless boot a Linux machine.md @@ -0,0 +1,151 @@ +如何无盘启动Linux +================================================================================ +无盘启动意味着一台客户端电脑在启动操作系统时没有任何的磁盘存储介质。在这种情形之下,电脑能够通过网络从远程NFS服务器上加载内核和根文件系统。在这过程中可能会用到数种不同的方法来从NFS服务器上加载内核和根文件系统:RARP,BOOTP或是DHCP协议。在这个指导教程中,我会使用BOOTP/DHCP协议,因为它们能够被大多数的网卡所支持。 + +### 无盘计算机的优势 ### + +想象一下你的办公室内有30台电脑,每一台都需要使用相同的应用程序。如果你作为管理这些电脑的管理员,你会怎么做?如果你在每一台电脑上安装应用程序,那只是在浪费你的时间。另一方面来说,一套无盘系统就能解决你的问题。有了一套无盘系统,你只需在中央NFS服务器上安装需要的程序,然后通过网络启动这30台客户机即可。 + +### 需要什么 ### + +两台或更多的装备有支持DHCP协议的网卡的Linux电脑。这些将扮演NFS服务器角色的电脑应当配有硬盘,其它客户机不需要任何的硬盘。服务器和客户机需要连接到同一个本地网络之内。 + +设置一个无盘系统共需要五步。 + +1. 安装所需的包 +1. 配置TFTP服务器 +1. 配置DHCP服务器 +1. 配置NFS服务器 +1. 启动无盘客户机 + +在这个指导教程中,我假设作为启动服务器的电脑运行着Ubuntu。如何你正在使用其它的Linux发行版,原理是一样的。 + +### 第一步:安装所需的包 ### + +像下面这样使用apt-get命令来安装所有需要的包。 + + $ sudo apt-get install dhcp3-server tftpd-hpa syslinux nfs-kernel-server initramfs-tools + +### 第二步:配置TFTP服务器 ### + +TFTP服务器是一个小型FTP服务器,需要用它来在本地网络中的客户机和服务器之间自动传输启动文件。 + +向/etc/default/tftpd-hpa中添加以下行: + + RUN_DAEMON="yes" + OPTIONS="-l -s /var/lib/tftpboot/" + +接着,创建一个启动文件夹。 + + $ sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg + +复制引导程序镜像。 + + $ sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot + +像下面这样创建一个默认启动配置文件。 + + $ sudo vi /tftpboot/pxelinux.cfg/default + +---------- + + LABEL Ubuntu + KERNEL vmlinuz + APPEND root=/dev/nfs initrd=initrd.img nfsroot=10.10.101.1:/nfsroot ip=dhcp rw + +注意: + +- "root=/dev/nfs"表示服务器上的网络文件系统(不需要修改)。 +- "initrd=initrd.img"是一个用于系统启动的启动脚本。 +- "nfsroot=10.10.101.1/nfsroot"指明了服务器的IP地址以及NFS共享文件夹的名称。用你的服务器地址来替换掉IP地址。 +- "ip=dhcp"表示客户端电脑使用DHCP寻址方案。 +- "rw"表示NFS共享是可读/可写的。 + +最后,重启TFTPD服务。 + + sudo /etc/init.d/tftpd-hpa restart + +### 第三步:配置DHCP服务 ### + +你还需要在NFS服务器上配置DHCP服务来允许使用/var/lib/tftpboot/pxelinux.0启动。假设你在使用10.10.101.0作为子网,你的配置可能看起来像下面这样子。 + + $ sudo vi /etc/dhcp3/dhcpd.conf + +---------- + + allow booting; + allow bootp; + + subnet 10.10.101.0 netmask 255.255.255.0 { + range 10.10.101.2 10.10.101.254; + option broadcast-address 10.10.101.255; + option routers 10.10.101.1; + filename "/pxelinux.0"; + } + +然后重启DHCP服务。 + + $ sudo service isc-dhcp-server restart + +### 第四步:配置NFS服务器 ### + +创建一个保存客户机根文件系统目录的文件夹。 + + $ sudo mkdir /nfsroot + +接着,设置NFS服务器导出客户机根文件系统。向/etc/exports添加以下行来实现。 + + /nfsroot *(rw,no_root_squash,async,insecure,no_subtree_check) + +运行下列命令来重新载入修改过的/etc/exports。 + + $ sudo exportfs -rv + +默认情况下,Ubuntu在initrd镜像中不提供网络启动支持。因此你需要创建一个新的initrd.img文件。首先添加下列行到/etc/initramfs-tools/initramfs.conf中。 + + BOOT=nfs + MODULES=netboot + +然后运行下列命令来创建一个新的initrd.img。 + + $ sudo mkinitramfs -o /var/lib/tftpboot/initrd.img + +将新的内核镜像文件复制到/var/lib/tftpboot中。 + + $ sudo cp /boot/vmlinuz-`uname -r` /var/lib/tfftpboot/vmlinuz + +是时候将整个根文件系统拷贝到/nfsroot中了。 + +假设您使用的是一个全新的Ubuntu服务器安装,你只需将文件系统拷贝到NFS的根之中。 + + $ sudo cp -ax / /nfsroot + +然后打开用文本编辑器打开/nfsroot/etc/fstab并添加以下行。 + + /dev/nfs / nfs defaults 1 1 + +文件夹/var/lib/tftpboot应拥有全局读写权限。否则客户机无法从网络启动。 + + $ sudo chmod -R 777 /var/lib/tfftpboot + +最后,为了避免任何服务器设置出现错误,我推荐对运行DHCP服务的网卡使用静态IP。举个例子,如果网卡名为eth0,你的/etc/network/interfaces中的配置应该看起来像这样: + + iface eth0 inet static + address 10.10.101.1 + netmask 255.255.255.0 + broadcast 10.10.101.255 + network 10.10.101.0 + +### 第五步:启动无盘客户机 ### + +在你完成了服务器上的配置之后,从网络启动你的客户机。要从网络启动一般你只需修改BIOS设置中的启动优先顺序即可。 + +如果客户机启动成功,你的无盘环境就配置好了。你无需修改任何东西就可以任意添加一台或多台客户端电脑。 + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/06/diskless-boot-linux-machine.html + +译者:[alim0x](https://github.com/alim0x) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From a28eb5879b2df21d719408eb3306373146060f1c Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 9 Jul 2014 16:42:11 +0800 Subject: [PATCH 062/291] =?UTF-8?q?20140709-3=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...able Overlay Scrollbars in Ubuntu 14.04.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md diff --git a/sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md b/sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md new file mode 100644 index 0000000000..2a51a8748e --- /dev/null +++ b/sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md @@ -0,0 +1,43 @@ +How To Disable Overlay Scrollbars in Ubuntu 14.04 [Quick Tip] +================================================================================ +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/04/Ubuntu-14.042-790x493.jpeg) + +Hello Guys, + +This is a quick tip on how to disable the over scroll bars in Ubuntu. Note that the overlay feature is NOT removed when this tutorial is followed instead you will be enable or disable. + +### Disable ### + +Open terminal and run + + gsettings set com.canonical.desktop.interface scrollbar-mode normal + +Changes should take effect immediately: + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Unity_Overlay_off.png) + +### Enable ### + + gsettings reset com.canonical.desktop.interface scrollbar-mode + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Unity_overlay_on.png) + +Enjoy! + +---------- + +![](http://0.gravatar.com/avatar/25c00329fd45ff820497f9c8c2d79dd3?s=70&d=monsterid&r=G) + +[Enock Seth Nyamador][1] + +I wears --[0-0]--, an open source addict. A developing African geek. Am a n00b developer and an aspiring photographer. Feel free to connect with me. Want to offer me something or tips? Am ever ready especially in Software development and Photography. Cheers! + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/disable-overlay-scrollbars-ubuntu-14-04-quick-tip/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.unixmen.com/author/seth/ \ No newline at end of file From 19bee3ebf7b7612c28efe6bf694054bf8e31b572 Mon Sep 17 00:00:00 2001 From: bookjoy Date: Wed, 9 Jul 2014 17:35:02 +0800 Subject: [PATCH 063/291] bookjoy translating --- ... Connect Adds Android File Sending, Touchpad Emulation.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md b/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md index a477b6abef..fee0c778d0 100644 --- a/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md +++ b/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md @@ -1,4 +1,7 @@ +BOOKJOY IS TRANSLATING...... + KDE Connect Adds Android File Sending, Touchpad Emulation +KDE连接 ================================================================================ **A new version of KDE Connect for Android that adds a number of new features has been released.** @@ -48,4 +51,4 @@ via: http://www.omgubuntu.co.uk/2014/06/kde-connect-android-notifications-linux- [2]:http://www.omgchrome.com/android-apps-notifications-call-alerts-chromebook/ [3]:https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp [4]:https://albertvaka.wordpress.com/2014/06/28/awesome-contributions-to-kde-connect/#comment-1175 -[5]:http://download.kde.org/unstable/kdeconnect/0.7/src/kdeconnect-kde-0.7.tar.xz.mirrorlist \ No newline at end of file +[5]:http://download.kde.org/unstable/kdeconnect/0.7/src/kdeconnect-kde-0.7.tar.xz.mirrorlist From 0f9a0f9ea80351d48b4f1c192cfc548b50300cda Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 9 Jul 2014 22:01:49 +0800 Subject: [PATCH 064/291] PUB:20140618 20 things to do after installing Linux Mint 17 Qiana Cinnamon @GOLinux --- ...installing Linux Mint 17 Qiana Cinnamon.md | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) rename {translated/tech => published}/20140618 20 things to do after installing Linux Mint 17 Qiana Cinnamon.md (83%) diff --git a/translated/tech/20140618 20 things to do after installing Linux Mint 17 Qiana Cinnamon.md b/published/20140618 20 things to do after installing Linux Mint 17 Qiana Cinnamon.md similarity index 83% rename from translated/tech/20140618 20 things to do after installing Linux Mint 17 Qiana Cinnamon.md rename to published/20140618 20 things to do after installing Linux Mint 17 Qiana Cinnamon.md index 694e4b4757..56f5f7b82a 100644 --- a/translated/tech/20140618 20 things to do after installing Linux Mint 17 Qiana Cinnamon.md +++ b/published/20140618 20 things to do after installing Linux Mint 17 Qiana Cinnamon.md @@ -1,12 +1,12 @@ -安装Linux Mint 17 Qiana Cinnamon后要做的20件事 +安装Linux Mint 17后要做的20件事 ================================================================================ ### Linux Mint 17 Qiana Cinnamon ### Linux Mint 17已经[发布][1],定名为Qiana。Mint是Linux最佳发行版之一,它定位于桌面用户,关注可用性和简洁。它携带了风格迥异的桌面环境,如Mate以及Cinnamon,并基于不同的发行版,如Ubuntu或Debian。 -在本文中,我们使用的是Linux Mint 17的cinnamon版本。要获取更多关于Cinnamon版本的信息(包括下载链接),可以访问 - [http://blog.linuxmint.com/?p=2626][2] +在本文中,我们使用的是Linux Mint 17的cinnamon版本。要获取更多关于Cinnamon版本的信息(包括下载链接),可以访问 - http://linux.cn/article-3260-1.html -下载适合你系统的正确的iso,烧录成dvd,或者也可以制作成usb启动盘来启动。安装完毕了,是时候来使用一些优化工具和基本应用程序来优化系统性能和体验,让你系统激情澎湃吧! +下载适合你系统的正确的iso,烧录成dvd,或者也可以制作成usb启动盘来启动。安装完毕,是时候来使用一些优化工具和基本应用程序来优化系统性能和体验,让你系统激情澎湃吧! ### 1. 更新系统 ### @@ -34,6 +34,7 @@ Chronium浏览器可以在仓库中获取。 $ sudo apt-get install chromium-browser 至于Google Chrome,请访问google.com/chrome下载deb包,并使用gdebi来安装。 + # 64 位 $ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb $ sudo gdebi google-chrome-stable_current_amd64.deb @@ -46,7 +47,7 @@ Chronium浏览器可以在仓库中获取。 Mint上默认安装adobe flash插件包(adobe-flashplugin),因此,你可以在Firefox中畅玩flash游戏,也可以尽情享受网页版视频了。 -Google Chrome现在使用了基于flash player的Pepper API,而且该插件也内建于Chrome中,因此,你也不需要为它做任何事情了。 +Google Chrome现在使用了基于flash player的Pepper API,而且该插件也内建于Chrome中,因此,你也不需要为它额外做任何事情了。 然而对于Chronium,基于flash player的Pepper没有被囊括进来(因为它不是个自由组件),所以你需要手动安装了。 @@ -71,11 +72,11 @@ Google Chrome现在使用了基于flash player的Pepper API,而且该插件也 ### 6. 安装专有驱动 ### -如果你有一张英伟达或者ati的图形卡,或者broadcom的无线网卡,那么请安装厂商提供的专有驱动,这些驱动会为你带来最佳的硬件性能。 +如果你有一张Nvidia或者ati的图形卡,或者broadcom的无线网卡,那么请安装厂商提供的专有驱动,这些驱动会为你带来最佳的硬件性能。 -要安装英伟达驱动,你可以参照先前的这篇文章 +要安装Nvidia驱动,你可以参照先前的这篇文章 -如何在Linux Mint上安装最新的Nvidia驱动 +[如何在Linux Mint上安装最新的Nvidia驱动][3] ### 7. 安装Dropbox ### @@ -83,7 +84,7 @@ Linux mint仓库已经提供了dropbox的客户端软件包,所以你不必满 $ sudo apt-get install dropbox python-gpgme -如果你还是比较喜欢从官方网站下载,那么出门可直达[https://www.dropbox.com/install?os=lnx][4],请遵照说明下载用于Ubuntu的deb安装包。 +如果你还是比较喜欢从官方网站下载,那么翻墙可直达[https://www.dropbox.com/install?os=lnx][4],请遵照说明下载用于Ubuntu的deb安装包。(LCTT译注:墙内用户还是忽视此条吧。) Copy是另外一个云存储解决方案,它也有本地Linux客户端。详情可查阅[copy.com][5],它也有[ppa仓库][6]。 @@ -95,7 +96,7 @@ Skype可以在Ubuntu canonical合作仓库中找到。 ### 9. 安装rar和其它归档工具 ### -要想在Nemo这样的文件管理器中通过上下文菜单创建rar归档,请安装rar工具。安装rar的同时,请安装其它几个包以增加对其它归档格式的支持。 +要想在Nemo这样的文件管理器中通过上下文菜单创建rar归档,请安装rar工具。安装rar的同时,也可安装其它几个包以增加对其它归档格式的支持。 $ sudo apt-get install unace p7zip-rar sharutils rar arj lunzip lzip @@ -109,15 +110,13 @@ Diodon在cinnamon桌面上似乎存在一些问题,在历史列表增长时会 # 或者 $ sudo apt-get install clipit -然后,你可以从应用程序菜单中启动它们,它们应该会在你每次登陆时启动。 +然后,你可以从应用程序菜单中启动它们,它们应该会在你每次登录时启动。 ### 11. 优化桌面 ### #### 1. 修复系统托盘上的日期格式 #### -在底部面板右边的时间小程序只显示了时间,它也可以设置显示日期。右击底部面板右边的日期-时间小程序,然后点击配置 -Check the box labelled "Use a custom date format" and fill in -选中标有“使用自定义日期格式”的选框,然后填入 +在底部面板右边的时间小程序只显示了时间,它也可以设置显示日期。右击底部面板右边的日期-时间小程序,然后点击配置,选中标有“使用自定义日期格式”的选框,然后填入 %B %e, %I:%M %p @@ -133,12 +132,11 @@ Check the box labelled "Use a custom date format" and fill in 你也许注意到,Firefox默认选择了Yahoo搜索引擎,而搜索引擎列表中并没有Google。点击“管理搜索引擎” > 获取更多搜索引擎,它会带你去[http://www.linuxmint.com/searchengines.php][7]。 -向下拉动滚动条到商业搜索引擎部分,找到并点击Google图标。进入下一页后,再次点击搜索引擎列表,而这次你会看到“添加Google”选项,点击它就可以用上Google搜索了。 +向下拉动滚动条到商业搜索引擎部分,找到并点击Google图标。进入下一页后,再次点击搜索引擎列表,而这次你会看到“添加Google”选项,点击它就可以用上Google搜索了。(LCTT译注:墙内用户也请忽略此条。怒!) ### 12. 优化字体渲染 ### -Linux mint默认使用Dejavu Sans字体,它看起来真普通啊。你可以使用Droid和Noto字体获得好看得多视觉享受。请参照我们先前的教程,它会一步一步带你渐入佳境。 -[如何在Linux Mint上获得华丽好看的字体][8] +Linux mint默认使用Dejavu Sans字体,它看起来真普通啊。你可以使用Droid和Noto字体获得好看得多视觉享受。请参照我们先前的教程,它会一步一步带你渐入佳境。[如何在Linux Mint上获得华丽好看的字体][8] ### 13. Guake下拉终端 ### @@ -172,7 +170,7 @@ Linux Mint自带了Transmission,这是个简洁而高效的torrent客户端。 ### 16. Hardinfo - 系统信息工具 ### -Hardinfo是一个十分便利的gui工具,它可以用来报告大量完整的系统硬件信息。你可以通过它来集中查看处理器、内存、存储设备、网络配置、打印机、usb设备、声音/视频适配器等等信息。它具有测试和评估系统性能的功能。 +Hardinfo是一个十分便利的GUI工具,它可以用来报告大量完整的系统硬件信息。你可以通过它来集中查看处理器、内存、存储设备、网络配置、打印机、usb设备、声音/视频适配器等等信息。它具有测试和评估系统性能的功能。 $ sudo apt-get install hardinfo @@ -236,31 +234,33 @@ Linux确实有一些酷爽的游戏,很具娱乐性,而且是免费的。注 #### 为Google Chrome/Chronium提供Java小程序支持 #### 默认情况下已经安装了"icedtea-plugin",用以为firefox提供java小程序支持。 + 然而,Chrome和Chronium却不再支持基于NPAPI的插件。因此java小程序,在没有获得基于Pepper api的java插件前,java小程序是不能在这些浏览器中工作的。要查看更多信息,请往[这里][9]。 #### 更多应用程序 #### 如果你正在为你的Mint盒子寻找更多的应用程序,那么这里列出了一部分更好的应用程序,所有这些都可以在软件管理器中安装。 -Opera - 网页浏览器 -Gnome Encfs Manager - 管理使用Encfs加密的文件和文件夹 -Smplayer - 多媒体播放器 -Rhythmbox, Clementine - 音乐播放器 -Openshot, Kdenlive - 视频编辑器 -Audacity - 音频编辑器 -Inkscape - 图形和图像编辑 -Gparted - 分区编辑器 -Gufw - 防火墙配置工具 -qBittorrent, Vuze - Torrent客户端 -Gwenview - 图像浏览 -Team viewer - 远程桌面 -Tv-maxe - 查看电视频道 -Grub Customizer - 修改GRUB启动菜单设置 -Linrunner TLP - 电源管理工具,对笔记本节电很有用 -Virtualbox - 虚拟化 -Kazam, recordMyDesktop - 桌面录像/演示 -Bleachbit - 通过删除旧的/临时文件释放磁盘空间 -Cheese - 使用网络摄像头拍照 -Shutter - 带有众多功能的屏幕截图工具 + +* Opera - 网页浏览器 +* Gnome Encfs Manager - 管理使用Encfs加密的文件和文件夹 +* Smplayer - 多媒体播放器 +* Rhythmbox, Clementine - 音乐播放器 +* Openshot, Kdenlive - 视频编辑器 +* Audacity - 音频编辑器 +* Inkscape - 图形和图像编辑 +* Gparted - 分区编辑器 +* Gufw - 防火墙配置工具 +* qBittorrent, Vuze - Torrent客户端 +* Gwenview - 图像浏览 +* Team viewer - 远程桌面 +* Tv-maxe - 查看电视频道 +* Grub Customizer - 修改GRUB启动菜单设置 +* Linrunner TLP - 电源管理工具,对笔记本节电很有用 +* Virtualbox - 虚拟化 +* Kazam, recordMyDesktop - 桌面录像/演示 +* Bleachbit - 通过删除旧的/临时文件释放磁盘空间 +* Cheese - 使用网络摄像头拍照 +* Shutter - 带有众多功能的屏幕截图工具 那么,请选择你喜欢的那些,并尽情享受Linux Mint吧!! @@ -279,7 +279,7 @@ Linux Mint论坛 via: http://www.binarytides.com/better-linux-mint-17-cinnamon/ -译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) +译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 9c8ae4d9bbe92256171bff5b7d86eb427dd5b4db Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 9 Jul 2014 22:23:24 +0800 Subject: [PATCH 065/291] PUB:20140609 Has Microsoft really changed its attitude toward open source @jiajia9linuxer --- ...changed its attitude toward open source.md | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) rename {translated/talk => published}/20140609 Has Microsoft really changed its attitude toward open source.md (76%) diff --git a/translated/talk/20140609 Has Microsoft really changed its attitude toward open source.md b/published/20140609 Has Microsoft really changed its attitude toward open source.md similarity index 76% rename from translated/talk/20140609 Has Microsoft really changed its attitude toward open source.md rename to published/20140609 Has Microsoft really changed its attitude toward open source.md index 367b6e16e8..4cc490ad1c 100644 --- a/translated/talk/20140609 Has Microsoft really changed its attitude toward open source.md +++ b/published/20140609 Has Microsoft really changed its attitude toward open source.md @@ -5,7 +5,7 @@ 微软因为以前对开源软件的态度而臭名昭著,但是公司改建后对开源软件发出了积极的信号。CNet报道了微软对开源软件认知的行为的改变。 > [CNet][1]消息: -> 微软自助开源软件有一些时间了,那些曾经反对开源软件的领导者们已经退出了或者不在位了。开软软件现在用在遍布全世界的公司当中,这些公司有些自命不凡但这只是在认识到微软帝国之外的事。 +> 虽然微软资助开源软件有一些时间了,并且那些曾经反对开源软件的领导者们已经退出了或者不在位了。开源软件现在用在遍布全世界的公司当中,但这些与微软帝国无关。 > 一些新的想法反映了企业顶层的一些变化,今年二月初Satya Nadella代替鲍尔默成为了微软CEO,Nadella已经给微软带来了一些新的东西改变了微软以前的一些束缚。 > > [更多报道][2] @@ -17,17 +17,17 @@ 我是一个持悲观态度的人,但是我认为微软和开源软件之间的信任关系是有待确定的。一个新的CEO和些许改变或许会改变微软在开源世界中的存在状态,但是对于微软这么大的企业来说改变并不容易,所以对于开源的世界来说微软是否真的改变还有待确定。 -我也从来不会忘记微软“欢迎,扩大,压死”的策略来打翻其他的竞争软件,光这一条凡是微软参合的开源项目就必须多一只谨慎的眼,或许这家公司真的改了,但如果没有呢!我们还是用几年时间来观察下吧。 +我也从来不会忘记微软用“欢迎,扩大,压死”的策略来打翻其他的竞争软件,光这一条凡是微软参合的开源项目就必须瞪大眼睛,或许这家公司真的改了,但如果没有呢!我们还是用几年时间来观察下吧。 ### 安卓对抗windows ### -ZDNet曾经报道过使用数量最多的Linux发行版本,但是现在桌面环境仍然是windows的天下,但是安卓今年很可能会是用户数量最大的用户终端操作系统。 +ZDNet曾经报道过使用数量最多的Linux发行版本,不过现在桌面环境仍然是windows的天下,但是安卓今年很可能会是用户数量最大的用户终端操作系统。 > [ZDNet][4]报道: > -> 如果桌面和平板依旧像预期增长的销量,安卓平板渐渐蚕食苹果的市场,PC市场继续萎缩,安卓在2014年末很有可能成为终端用户数量最多的操作系统而且不算安卓PC。 +> 如果桌面和平板依旧像预期增长的销量,安卓平板渐渐蚕食苹果的市场,PC市场继续萎缩,安卓在2014年末很有可能成为终端用户数量最多的操作系统,而且不算安卓PC。 > -> 总而言之,安卓几乎统治了Linux终端用户。你可能不会想到它作为桌面使用,尽管Intel和AMD努力在让它变成现实,但是安卓正在变成使用量第一的终端操作系统。 +> 总而言之,安卓几乎统治了Linux终端用户。你可能不会想把它作为桌面使用,尽管Intel和AMD努力在让它变成现实,但是安卓正在变成使用量第一的终端操作系统。 > > [更多消息][4] @@ -37,18 +37,17 @@ ZDNet曾经报道过使用数量最多的Linux发行版本,但是现在桌面 上面提到的并不算真的惊喜,移动终端的革命发展了接近10年了。桌面依然还像原来那样重要,微软也确实没有真正的在乎过移动设备。即使现在,微软在艰难的推他的手机和平板,他仍旧认为移动终端市场并不重要。 - 谷歌严重的破坏了微软在移动领域的努力,而现在他在桌面市场又对微软发起了挑战。从chrome OS到安卓,谷歌给微软一连串的打击,如果你查看下Amazon最受欢迎的[台式机][5]和[笔记本][6]的话,你会看到很多chrome OS的电脑甚至是装有安卓的PC。所以人们的购买需求在变得多样化,并不局限在windows一家了。 ### Cinnamon和Unity在Ubuntu14.04上的对抗 ### -Tech Republic发表了一篇文章介绍了如何在Ubuntu14.04上安装cinnamon,研究了一下Ubuntu14.04上用cinnamon替换unity的可行性。 +Tech Republic发表了一篇文章介绍了如何在Ubuntu14.04上安装Cinnamon,研究了一下Ubuntu14.04上用Cinnamon替换unity的可行性。 > [Tech Republic][7]报道: > -> 如果你寻求性能为主不需要其他有特色的可自定义的桌面,cinnamon适合你。Cinnamon是一个直观简洁的桌面,任何人都可以使用,不论你是IT工作者还是你的老妈妈。它非常的简单易用。Cinnamon很平淡,不会和你开什么玩笑,也不会让你感到有惊奇的感觉,但这就是它所注重的。它只会给桌面带来在标准层面上带来实用性,它不求突破,不耍花招,不加条条框框。 +> 如果你寻求性能为主不需要其他有特色的可自定义的桌面,Cinnamon适合你。Cinnamon是一个直观简洁的桌面,任何人都可以使用,不论你是IT工作者还是你的老妈妈。它非常的简单易用。Cinnamon很平淡,不会和你开什么玩笑,也不会让你感到有惊奇的感觉,但这就是它所注重的。它只会给桌面带来在标准层面上带来实用性,它不求突破,不耍花招,不加条条框框。 > -> Cinnamon是一个很平凡的桌面它只集成了最好的功能并且把它们集成到一起,完美整合到一块。如果你可以用一个看起来和用起来都点老掉牙但是性能很好的桌面的话,cinnamon完全适合你。如果你喜欢各种花哨的界面和看起来很现代的感觉,cinnamon可能就不适合你了。 +> Cinnamon是一个很平凡的桌面,它只集成了最好的功能并且把它们集成到一起,完美整合到一块。如果你可以用一个看起来和用起来都点老掉牙,但是性能很好的桌面的话,Cinnamon完全适合你。如果你喜欢各种花哨的界面和看起来很现代的感觉,Cinnamon可能就不适合你了。 > [ 更多消息][7] > @@ -56,9 +55,9 @@ Tech Republic发表了一篇文章介绍了如何在Ubuntu14.04上安装cinnamon > > Image credit: [Tech Republic][7] -我是站在cinnamon这边的,unity有自己的长处,但是我从来没用习惯过。Cinnamon更接近传统桌面,我用起来不错! +我是站在Cinnamon这边的,Unity有自己的长处,但是我从来没用习惯过。Cinnamon更接近传统桌面,我用起来不错! -但是在别人眼里,漂亮的桌面总是很受欢迎。Linux最大的特色就是提供很多很多不同的选择,如果你真不知道unity和cinnamon该选择谁,你就用自己最喜欢的就行了。 +但是在别人眼里,漂亮的桌面总是很受欢迎。Linux最大的特色就是提供很多很多不同的选择,如果你真不知道Unity和Cinnamon该选择谁,你就用自己最喜欢的就行了。 你赞成那些呢?请在下方留下你的评论吧 @@ -69,7 +68,7 @@ Tech Republic发表了一篇文章介绍了如何在Ubuntu14.04上安装cinnamon via: http://www.itworld.com/open-source/421894/has-microsoft-really-changed-its-attitude-toward-open-source -译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[校对者ID](https://github.com/校对者ID) +译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From fbdd84d9252c52dfac4c3e921976460cc05fbf08 Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Wed, 9 Jul 2014 23:05:59 +0800 Subject: [PATCH 066/291] Update 20140709 Command Line Tuesdays--Part Four.md --- sources/tech/20140709 Command Line Tuesdays--Part Four.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140709 Command Line Tuesdays--Part Four.md b/sources/tech/20140709 Command Line Tuesdays--Part Four.md index 088fa93182..118ad77d6e 100644 --- a/sources/tech/20140709 Command Line Tuesdays--Part Four.md +++ b/sources/tech/20140709 Command Line Tuesdays--Part Four.md @@ -1,3 +1,4 @@ +cvsher 翻译中 Command Line Tuesdays – Part Four ================================================================================ Heya there geekos! New week, new adventure! @@ -76,4 +77,4 @@ via: https://news.opensuse.org/2014/07/08/command-line-tuesdays-part-four/ 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From e698e8513ef365814a11cc5ebe0e976f916d633e Mon Sep 17 00:00:00 2001 From: Alisa-annie Date: Thu, 10 Jul 2014 11:34:30 +0800 Subject: [PATCH 067/291] Update 20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 翻译中 --- ... People Who Support Linux--Hacking on Linux Since Age 16.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md b/sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md index 4e31ccf734..e29f2e03fe 100644 --- a/sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md +++ b/sources/talk/20140702 The People Who Support Linux--Hacking on Linux Since Age 16.md @@ -1,3 +1,4 @@ +Translating by Alisa-annie The People Who Support Linux: Hacking on Linux Since Age 16 ================================================================================ ![](http://www.linux.com/images/stories/41373/Yitao-Li.png) @@ -43,4 +44,4 @@ via: http://www.linux.com/news/featured-blogs/200-libby-clark/778559-the-people- [1]:https://github.com/yl790 [2]:http://linuxfromscratch.org/ [3]:https://www.linuxfoundation.org/about/join/individual -[4]:http://www.linux.com/community/forums/person/41373/catid/200-libby-clark \ No newline at end of file +[4]:http://www.linux.com/community/forums/person/41373/catid/200-libby-clark From da029b3b589aeba8fca1e06d8081f28077cb2a09 Mon Sep 17 00:00:00 2001 From: bookjoy Date: Thu, 10 Jul 2014 11:47:26 +0800 Subject: [PATCH 068/291] finish translating --- ...ndroid File Sending, Touchpad Emulation.md | 52 +++++++++---------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md b/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md index fee0c778d0..3d70d12de6 100644 --- a/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md +++ b/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md @@ -1,49 +1,45 @@ -BOOKJOY IS TRANSLATING...... -KDE Connect Adds Android File Sending, Touchpad Emulation -KDE连接 +KDE Connect增加安卓文件发送、触摸板模拟 ================================================================================ -**A new version of KDE Connect for Android that adds a number of new features has been released.** +**安卓版KDE Connect增加了很多已经发布的新特性** -![KDE Connect can now share files between desktop and mobile](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/kde-connect-share-feature.jpg) -KDE Connect can now share files between desktop and mobile +![如今的KDE Connect 能在桌面和手机之间共享文件](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/kde-connect-share-feature.jpg) +如今的KDE Connect 能在桌面和手机之间共享文 -KDE Connect for Android and the Plasma desktop now allow the touchscreen of a connected device to be used as a touchpad for your computer. +如今的安卓版本KDE和Plasma Desktop允许已经连接(到电脑的)设备的触屏作为你电脑的触摸板使用KDE Connect for Android and the Plasma desktop(注:Plasma 工作空间是KDE项目提供的所有图形环境总称。目前有三个Plasma子项目:Plasma Desktop用于传统的桌面电脑和笔记本电脑、Plasma Netbook用于上网本,以及Plasma Active用于平板电脑。) -This additional wireless input device will act just like a basic mouse, though doesn’t (yet) support multitouch features like two finger scrolling or right-clicking. +另一个无线输入设备作为鼠标使用,但仍然不支持像两个手指划动或右击这样的多点触摸This additional wireless input device will act just like a basic mouse, though doesn’t (yet) support multitouch features like two finger scrolling or right-clicking. -Android’s share intent now supports KDE Connect, allowing you to send files from Android to your desktop and vice versa using a menu entry in the Dolphin file manager or by pushing files using a new command line option. +安卓的共享intent现在支持KED Connect,允许你通过Dolphin文件管理的菜单或者用命令项推送文件的方式,从安卓发送文件到桌面,反之亦然。 -Similar features for [iOS 8 and OS X Yosemite][1] and [Android ‘L’ and Chrome OS][2] are planned to debut this fall. +[iOS 8 and OS X Yosemite][1] and [Android ‘L’ and Chrome OS][2]的类似特征,计划在这个秋天首次亮相。 -The updated version also fixes a number of bugs and includes numerous improvements, including support for FreeBSD systems. +更新的版本修复了很多的漏洞,包括很多的改进和对FreeBSD系统的支持。 -Full Feature List: +全部特征如下: +- 共享文件到/从安卓和KDE +- 触摸板模拟 +- 在桌面接收来自安卓的通知 +- 共享剪切板支持phone手机和PC之间的拷贝、粘贴 +- 供选择桌面媒体播放器用的多媒体远程控制 +- WI-FI连接共享 +- RSA加密 -- Share files to/from Android and KDE -- Touchpad emulation -- Receive notifications from Android 4.3+ on desktop -- Shared clipboard supports copy and paste between phone and PC -- Multimedia remote control for select desktop media players (MPRIS) -- Battery status -- Wi-Fi connection sharing -- RSA Encryption +### KDE Connect 0.7版下载 ### -### Download KDE Connect 0.7 ### +从Google Play和F-Droid商店可以免费下载到KDE Connect Android的应用程序。 -The KDE Connect Android application is free to download from the Google Play and F-Droid stores. +- [ 从Google Play下载KDE Connect][3] -- [Download KDE Connect from Google Play][3] +为了能用到这些最新特征,你需要安装Plasma的最新版本KDE Connect(0.7版)。撰写本文时,还没有提供deb安装包和PPA源。不过可以在Kubuntu 14.04 LTS上通过安装源码来安装,或用以下介绍方式[戳这里][4]。 -To make use of the newest features you will also need to install the latest version of KDE Connect (version 0.7) for Plasma. As of writing this is not yet available as a .deb installer or through a PPA. It can, however, be installed from source on Kubuntu 14.04 LTS and above by following the instructions [provided here][4]. - -- [Download KDE Connect 0.7 Source][5] +- [下载KDE Connect 0.7源代码][5] -------------------------------------------------------------------------------- -via: http://www.omgubuntu.co.uk/2014/06/kde-connect-android-notifications-linux-desktop +点击: http://www.omgubuntu.co.uk/2014/06/kde-connect-android-notifications-linux-desktop -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[bookjoy](https://github.com/bookjoy) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 9c7dcbeb3fa4942d544e95acf99fd8a8cd30cd15 Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Thu, 10 Jul 2014 19:37:27 +0800 Subject: [PATCH 069/291] nd0104 is translating nd0104 is translating --- ...r authentication for SSH login on Linux.md | 1 + ...thentication for SSH login on Linux.md.bak | 110 ++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md.bak diff --git a/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md b/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md index 705bf92a3c..6839ec6a14 100644 --- a/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md +++ b/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md @@ -1,3 +1,4 @@ +nd0104 is translating How to set up two-factor authentication for SSH login on Linux ================================================================================ With many high-profile password leaks nowadays, there is a lot of buzz in the industry on "multi-factor" authentication. In a multi-factor authentication system, users are required to go through two distinct authentication procedures: providing something they know (e.g., username/password), and leveraging something they have "physical" access to (e.g., one-time passcode generated by their mobile phone). This scheme is also commonly known as two-factor authentication or two-step verification. diff --git a/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md.bak b/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md.bak new file mode 100644 index 0000000000..705bf92a3c --- /dev/null +++ b/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md.bak @@ -0,0 +1,110 @@ +How to set up two-factor authentication for SSH login on Linux +================================================================================ +With many high-profile password leaks nowadays, there is a lot of buzz in the industry on "multi-factor" authentication. In a multi-factor authentication system, users are required to go through two distinct authentication procedures: providing something they know (e.g., username/password), and leveraging something they have "physical" access to (e.g., one-time passcode generated by their mobile phone). This scheme is also commonly known as two-factor authentication or two-step verification. + +To encourage the wide adoption of two-factor authentication, Google released [Google Authenticator][1], an open-source application that can generate one-time passcode based on open standards (e.g., HMAP/time-based). It is available on multiple platforms including Linux, [Android][2], [iOS][3]. Google also offers a pluggable authentication module (PAM) for Google Authenticator, allowing it to be integrated with other PAM-enabled applications such as OpenSSH. + +In this tutorial, I will describe **how to set up two-factor authentication for an SSH server** by integrating Google Authenticator with OpenSSH. I am going to use a [Android][4] device to generate one-time passcode. In this tutorial, you will need two things: (1) a Linux host where OpenSSH server is running, and (2) an Android device. + +### Install Google Authenticator on Linux ### + +The first step is to install Google Authenticator on the Linux host where OpenSSH server is running. Follow [this guide][5] to install Google Authenticator and its PAM module on your system. + +Once Google Authenticator is ready, you need to go through one-time configuration which involves creating an authentication key from this Linux host, and registering it with an Android device. This will be explained next. + +### Generate an Authentication Key ### + +To start, simply run Google Authenticator on the Linux server host. + + $ google-authenticator + +You will see a QR code, as well as a secret key underneath it. The displayed QR code simply represents the numeric secret key. You will need either information to finalize configuration with an Android device. + +![](https://farm4.staticflickr.com/3843/14573264401_d3f5a2f247_z.jpg) +![](https://farm4.staticflickr.com/3848/14390010599_18dfc23d76_z.jpg) + +Google Authenticator will ask you several questions. If you are not sure, you an answer "Yes" to all questions. The emergency scratch codes can be used to regain access to the SSH server in case you lose your Android device, and so cannot generate one-time passcode. So it's better to write them down somewhere. + +### Run Google Authenticator on Android ### + +As we are going to use an Android device for two-factor authentication, you will need to install [Google Authenticator app][6] on Android. Go to Google Play to install it on Android. + +When you start Google Authenticator on Android, you will see the following configuration menu. + +![](https://farm6.staticflickr.com/5574/14554094476_bfc070d242_z.jpg) + +You can choose either "Scan a barcode" or "Enter provided key" option. The first option allows you to enter the security key, simply by scanning the generated QR code. In this case, you will need to install [Barcode Scanner app][7] first. If you choose the second option, you can type the security key using Android keyboard as follows. + +![](https://farm6.staticflickr.com/5535/14596723603_d510dbe48d_z.jpg) + +Once you register a secret key either way, you will see the following screen on Android. + +![](https://farm6.staticflickr.com/5586/14390009579_5ba109bf5b_z.jpg) + +### Enable Google Authenticator on SSH Server ### + +The final step is to integrate Google Authenticator with OpenSSH server. For that, you need to edit two files. + +First, edit a PAM configuration file, and append the line below. + + $ sudo vi /etc/pam.d/sshd + +---------- + + auth required pam_google_authenticator.so + +Then open an SSH server config file, search for ChallengeResponseAuthentication, and enable it. + + $ sudo vi /etc/ssh/sshd_config + +---------- + +ChallengeResponseAuthentication yes + +Finally, restart SSH server. + +On Ubuntu, Debian or Linux Mint: + + $ sudo service ssh restart + +On Fedora: + + $ sudo systemctl restart sshd + +On CentOS or RHEL: + + $ sudo service sshd restart + +### Test Two-factor Authentication ### + +Here is how you use two-factor authentication for SSH logins. + +Run Google Authenticator app on Android to obtain one-time verification code. Once generated, a given passcode is valid for 30 seconds. Once it expires, Google Authenticator will automatically generate a new one. + +![](https://farm3.staticflickr.com/2937/14389989618_d9355dcbb2_z.jpg) + +Now log in to the SSH server as you normally do. + + $ ssh user@ssh_server + +When you are asked to enter "Verification code", type in the verification code generated by Android. After successful verification, then you can type in your SSH login password. + +![](https://farm3.staticflickr.com/2938/14389952480_93351f12a4_z.jpg) + +To conclude, two-factor authentication can be an effective means to secure password authentication by adding an extra layer of protection. You can use Google Authenticator to secure other logins such as Google account, WordPress.com, Dropbox.com, Outlook.com, etc. Whether you decide to use it or not, it's up to you, but there is a clear industry trend towards the adoption of two-factor authentication. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/two-factor-authentication-ssh-login-linux.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://code.google.com/p/google-authenticator/ +[2]:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 +[3]:https://itunes.apple.com/us/app/google-authenticator/id388497605 +[4]:http://xmodulo.com/go/android_guide +[5]:http://ask.xmodulo.com/install-google-authenticator-linux.html +[6]:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 +[7]:https://play.google.com/store/apps/details?id=com.google.zxing.client.android \ No newline at end of file From 1db977357f7f60e81722cb34da43d620caceb20e Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Thu, 10 Jul 2014 19:41:13 +0800 Subject: [PATCH 070/291] =?UTF-8?q?=E5=BF=BD=E7=95=A5.bak?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 忽略.bak --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index fdb6fb3f02..5786eaea13 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ *.md~ members.md *.html +*.bak From 73b6e3e4f476bb36912b99a2af99a96f1123bf43 Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Thu, 10 Jul 2014 19:41:28 +0800 Subject: [PATCH 071/291] delete .bak delete .bak --- ...thentication for SSH login on Linux.md.bak | 110 ------------------ 1 file changed, 110 deletions(-) delete mode 100644 sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md.bak diff --git a/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md.bak b/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md.bak deleted file mode 100644 index 705bf92a3c..0000000000 --- a/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md.bak +++ /dev/null @@ -1,110 +0,0 @@ -How to set up two-factor authentication for SSH login on Linux -================================================================================ -With many high-profile password leaks nowadays, there is a lot of buzz in the industry on "multi-factor" authentication. In a multi-factor authentication system, users are required to go through two distinct authentication procedures: providing something they know (e.g., username/password), and leveraging something they have "physical" access to (e.g., one-time passcode generated by their mobile phone). This scheme is also commonly known as two-factor authentication or two-step verification. - -To encourage the wide adoption of two-factor authentication, Google released [Google Authenticator][1], an open-source application that can generate one-time passcode based on open standards (e.g., HMAP/time-based). It is available on multiple platforms including Linux, [Android][2], [iOS][3]. Google also offers a pluggable authentication module (PAM) for Google Authenticator, allowing it to be integrated with other PAM-enabled applications such as OpenSSH. - -In this tutorial, I will describe **how to set up two-factor authentication for an SSH server** by integrating Google Authenticator with OpenSSH. I am going to use a [Android][4] device to generate one-time passcode. In this tutorial, you will need two things: (1) a Linux host where OpenSSH server is running, and (2) an Android device. - -### Install Google Authenticator on Linux ### - -The first step is to install Google Authenticator on the Linux host where OpenSSH server is running. Follow [this guide][5] to install Google Authenticator and its PAM module on your system. - -Once Google Authenticator is ready, you need to go through one-time configuration which involves creating an authentication key from this Linux host, and registering it with an Android device. This will be explained next. - -### Generate an Authentication Key ### - -To start, simply run Google Authenticator on the Linux server host. - - $ google-authenticator - -You will see a QR code, as well as a secret key underneath it. The displayed QR code simply represents the numeric secret key. You will need either information to finalize configuration with an Android device. - -![](https://farm4.staticflickr.com/3843/14573264401_d3f5a2f247_z.jpg) -![](https://farm4.staticflickr.com/3848/14390010599_18dfc23d76_z.jpg) - -Google Authenticator will ask you several questions. If you are not sure, you an answer "Yes" to all questions. The emergency scratch codes can be used to regain access to the SSH server in case you lose your Android device, and so cannot generate one-time passcode. So it's better to write them down somewhere. - -### Run Google Authenticator on Android ### - -As we are going to use an Android device for two-factor authentication, you will need to install [Google Authenticator app][6] on Android. Go to Google Play to install it on Android. - -When you start Google Authenticator on Android, you will see the following configuration menu. - -![](https://farm6.staticflickr.com/5574/14554094476_bfc070d242_z.jpg) - -You can choose either "Scan a barcode" or "Enter provided key" option. The first option allows you to enter the security key, simply by scanning the generated QR code. In this case, you will need to install [Barcode Scanner app][7] first. If you choose the second option, you can type the security key using Android keyboard as follows. - -![](https://farm6.staticflickr.com/5535/14596723603_d510dbe48d_z.jpg) - -Once you register a secret key either way, you will see the following screen on Android. - -![](https://farm6.staticflickr.com/5586/14390009579_5ba109bf5b_z.jpg) - -### Enable Google Authenticator on SSH Server ### - -The final step is to integrate Google Authenticator with OpenSSH server. For that, you need to edit two files. - -First, edit a PAM configuration file, and append the line below. - - $ sudo vi /etc/pam.d/sshd - ----------- - - auth required pam_google_authenticator.so - -Then open an SSH server config file, search for ChallengeResponseAuthentication, and enable it. - - $ sudo vi /etc/ssh/sshd_config - ----------- - -ChallengeResponseAuthentication yes - -Finally, restart SSH server. - -On Ubuntu, Debian or Linux Mint: - - $ sudo service ssh restart - -On Fedora: - - $ sudo systemctl restart sshd - -On CentOS or RHEL: - - $ sudo service sshd restart - -### Test Two-factor Authentication ### - -Here is how you use two-factor authentication for SSH logins. - -Run Google Authenticator app on Android to obtain one-time verification code. Once generated, a given passcode is valid for 30 seconds. Once it expires, Google Authenticator will automatically generate a new one. - -![](https://farm3.staticflickr.com/2937/14389989618_d9355dcbb2_z.jpg) - -Now log in to the SSH server as you normally do. - - $ ssh user@ssh_server - -When you are asked to enter "Verification code", type in the verification code generated by Android. After successful verification, then you can type in your SSH login password. - -![](https://farm3.staticflickr.com/2938/14389952480_93351f12a4_z.jpg) - -To conclude, two-factor authentication can be an effective means to secure password authentication by adding an extra layer of protection. You can use Google Authenticator to secure other logins such as Google account, WordPress.com, Dropbox.com, Outlook.com, etc. Whether you decide to use it or not, it's up to you, but there is a clear industry trend towards the adoption of two-factor authentication. - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2014/07/two-factor-authentication-ssh-login-linux.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://code.google.com/p/google-authenticator/ -[2]:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 -[3]:https://itunes.apple.com/us/app/google-authenticator/id388497605 -[4]:http://xmodulo.com/go/android_guide -[5]:http://ask.xmodulo.com/install-google-authenticator-linux.html -[6]:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 -[7]:https://play.google.com/store/apps/details?id=com.google.zxing.client.android \ No newline at end of file From 35e9c71fb06922de1a5fd0f4205a96a136d8acb9 Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Thu, 10 Jul 2014 20:52:01 +0800 Subject: [PATCH 072/291] Delete 20140709 Command Line Tuesdays--Part Four.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 翻译完成,删除原文件 --- ...140709 Command Line Tuesdays--Part Four.md | 79 ------------------- 1 file changed, 79 deletions(-) delete mode 100644 sources/tech/20140709 Command Line Tuesdays--Part Four.md diff --git a/sources/tech/20140709 Command Line Tuesdays--Part Four.md b/sources/tech/20140709 Command Line Tuesdays--Part Four.md deleted file mode 100644 index 088fa93182..0000000000 --- a/sources/tech/20140709 Command Line Tuesdays--Part Four.md +++ /dev/null @@ -1,79 +0,0 @@ -Command Line Tuesdays – Part Four -================================================================================ -Heya there geekos! New week, new adventure! - -Today, we’ll learn how to manipulate files using four fairly simple commands. So let’s begin! - -Before we start with the commands themselves, let’s take a quick stop at a section called… - -### …wildcards: ### - -Copying, pasting files, creating directories etc. is probably easier using graphical tools, but, if you’d like to perform more complicated tasks, like copying only .html files from one folder to another, and only copying files that don’t exist in the destination directory, CLI just might come in handy. So, to get back to wildcards, it’s basically a shell feature, a set of special characters, that helps you pick out a set of files based on some simple rules (which characters appear in a file name, how many characters, upper/lower case characters etc.). Here’s the table (click to enlarge): - -![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125946.png) - -And here are a few examples mr Shotts posted in a table of usage also click to enlarge: - -![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125959.png) - -If you use a command with an argument containing a filename, you can use wildcards with no problem. - -### cp ### - -cp is used to copy files or directories. You can use it pretty easily: navigate to the folder you’d like to copy the files from and to, and simply do - -`cp file1 file2` – to copy single files, - -or - -`cp file1 file2 … directory` – to copy files from your current working directory to the directory specified. Here’s mr Shotts’ table with numerous options: - -![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-134248.png) - -### mv ### - -mv is the second command of the day. We can use mv to rename a file or directory, or to move a file or directory. We can use it this way: - -`mv filename1 filename2` – if we want to rename filename1 to filename2 - -or - -`mv file directory` – if we want to move file to directory. - -Here’s a table of few examples of mv with options used with it: - -![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-133515.png) - -### rm ### - -The rm command removes/deletes files and directories. Usage is pretty straightforward: - - rm file - -or - - rm -r directory - -And here’s also a table with some additional options: - -![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-133529.png) - -But, do be careful when using rm as there is no undelete option, so be extra careful not to inflict unwanted damage to your system! - -### mkdir ### - -mkdir is used for creating directories. It’s the most simple command of the day. Simply: - - mkdir directory - -Voila, directory created! - -So this is it for this week, geekos. Hope to see you next tuesday! All the best and kind regards, - --------------------------------------------------------------------------------- - -via: https://news.opensuse.org/2014/07/08/command-line-tuesdays-part-four/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From cabf881ae0cd4c7ff4e85af722706daf5828444c Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Thu, 10 Jul 2014 20:55:52 +0800 Subject: [PATCH 073/291] Create 20140709 Command Line Tuesdays--Part Four.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 翻译完成,提交译稿。 --- ...140709 Command Line Tuesdays--Part Four.md | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 translated/tech/20140709 Command Line Tuesdays--Part Four.md diff --git a/translated/tech/20140709 Command Line Tuesdays--Part Four.md b/translated/tech/20140709 Command Line Tuesdays--Part Four.md new file mode 100644 index 0000000000..e692915937 --- /dev/null +++ b/translated/tech/20140709 Command Line Tuesdays--Part Four.md @@ -0,0 +1,67 @@ +#命令行星期二-第四部分# +-------------------------------------------------------- + +大家好。新的一周,新的冒险! + +今天,我们将会学习使用四个相当简单的命令去操作文件。好,废话少说,我们开始吧。 + +在开始学习这些命令之前,我们先稍微说些题外话,讲讲“通配符”的用处。 + +###通配符### + +使用图形工具区复制、粘贴、新建目录等操作也许很容易,但是若想完成一些更复杂的任务,例如仅仅将一个目录下的所有.html文件复制到另一个目录中、或者只复制在某个目录中不存在的文件,这时命令行也许会比较方便。我们回到通配符的学习中,通配符是shell的基本功能,它是一个由一些特殊字符组成的集合,它让你可以用一些简单的规则来选择出某些文件。(通配符可以出现在文件名中,用于指定文件名的字符个数和字母的大/小写等规则)。 +如下表(点击放大): + +![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125946.png) + +下面是mr Shotts给出的一些实例,如下表:(点击放大) + +![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125959.png) + +如果你使用一个包含文件名参数的命令,你就可以使用通配符。 + +###cp### +cp是一个用于复制文件或者目录的命令,它的用法相当的简单。进入到你想复制的文件所在的目录,然后使用如下命令 + ·cp file1 file2· -复制一个文件 +或者 + ·cp file1 file2 ... directory· -从当前工作目录复制多个文件到指定的目录。 + +下表是mr Shotts给出的cp命令的一些选项: + +![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-134248.png) + +###mv### +mv是今天的第二个命令,我们可以使用mv来重命名一个文件或目录,或者移动一个文件或目录。我们可以这样使用mv命令。 + ·mv filename1 filename2· -若想将文件filename1重命名为filename2。 +或者 + ·mv file directory· -若想将一个文件移动到某个目录。 + +下表是一些mv命令的实例 + +![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-133515.png) + +###rm### +rm命令是用于删除文件或目录,它的用法比较直接,如下: + rm file +或者 + rm -r driectory + +这里也有一个包含rm其他选项的表 + +![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-133529.png) + +但是,使用rm命令时要小心点。因为并没有撤销删除的选项,因此使用rm命令式要格外的小心,避免对你的系统造成不必要的破坏。 + +###mkdir### +mkdir是用于创建目录.它是今天最简单的一个命令: + mkdir directory +看,目录成功创建了! + +这是本周的内容,下周二再见,致以最真诚的问候! + +------------------------------------------------------------------------- +via: https://news.opensuse.org/2014/07/08/command-line-tuesdays-part-four/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From aa329cac6af76589a3b6728f34be49fcf5441f0f Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Thu, 10 Jul 2014 21:02:30 +0800 Subject: [PATCH 074/291] Update 20140709 Command Line Tuesdays--Part Four.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整一些显示的细节 --- ...140709 Command Line Tuesdays--Part Four.md | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/translated/tech/20140709 Command Line Tuesdays--Part Four.md b/translated/tech/20140709 Command Line Tuesdays--Part Four.md index e692915937..5362df3738 100644 --- a/translated/tech/20140709 Command Line Tuesdays--Part Four.md +++ b/translated/tech/20140709 Command Line Tuesdays--Part Four.md @@ -22,9 +22,12 @@ ###cp### cp是一个用于复制文件或者目录的命令,它的用法相当的简单。进入到你想复制的文件所在的目录,然后使用如下命令 - ·cp file1 file2· -复制一个文件 + +`cp file1 file2` -复制一个文件 + 或者 - ·cp file1 file2 ... directory· -从当前工作目录复制多个文件到指定的目录。 + +`cp file1 file2 ... directory` -从当前工作目录复制多个文件到指定的目录。 下表是mr Shotts给出的cp命令的一些选项: @@ -32,9 +35,12 @@ cp是一个用于复制文件或者目录的命令,它的用法相当的简单 ###mv### mv是今天的第二个命令,我们可以使用mv来重命名一个文件或目录,或者移动一个文件或目录。我们可以这样使用mv命令。 - ·mv filename1 filename2· -若想将文件filename1重命名为filename2。 + +`mv filename1 filename2` -若想将文件filename1重命名为filename2。 + 或者 - ·mv file directory· -若想将一个文件移动到某个目录。 + +`mv file directory` -若想将一个文件移动到某个目录。 下表是一些mv命令的实例 @@ -42,9 +48,12 @@ mv是今天的第二个命令,我们可以使用mv来重命名一个文件或 ###rm### rm命令是用于删除文件或目录,它的用法比较直接,如下: - rm file + +`rm file` + 或者 - rm -r driectory + +`rm -r driectory` 这里也有一个包含rm其他选项的表 @@ -54,7 +63,9 @@ rm命令是用于删除文件或目录,它的用法比较直接,如下: ###mkdir### mkdir是用于创建目录.它是今天最简单的一个命令: - mkdir directory + +`mkdir directory` + 看,目录成功创建了! 这是本周的内容,下周二再见,致以最真诚的问候! From d7fc2dbd9f70c783b5d316fa9dba2a4e314a9598 Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Thu, 10 Jul 2014 21:38:34 +0800 Subject: [PATCH 075/291] Finish translate file: 20140709 How to set up two-factor authentication for SSH login on Linux --- ...r authentication for SSH login on Linux.md | 111 ------------------ ...r authentication for SSH login on Linux.md | 90 ++++++++++++++ 2 files changed, 90 insertions(+), 111 deletions(-) delete mode 100644 sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md create mode 100644 translated/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md diff --git a/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md b/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md deleted file mode 100644 index 6839ec6a14..0000000000 --- a/sources/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md +++ /dev/null @@ -1,111 +0,0 @@ -nd0104 is translating -How to set up two-factor authentication for SSH login on Linux -================================================================================ -With many high-profile password leaks nowadays, there is a lot of buzz in the industry on "multi-factor" authentication. In a multi-factor authentication system, users are required to go through two distinct authentication procedures: providing something they know (e.g., username/password), and leveraging something they have "physical" access to (e.g., one-time passcode generated by their mobile phone). This scheme is also commonly known as two-factor authentication or two-step verification. - -To encourage the wide adoption of two-factor authentication, Google released [Google Authenticator][1], an open-source application that can generate one-time passcode based on open standards (e.g., HMAP/time-based). It is available on multiple platforms including Linux, [Android][2], [iOS][3]. Google also offers a pluggable authentication module (PAM) for Google Authenticator, allowing it to be integrated with other PAM-enabled applications such as OpenSSH. - -In this tutorial, I will describe **how to set up two-factor authentication for an SSH server** by integrating Google Authenticator with OpenSSH. I am going to use a [Android][4] device to generate one-time passcode. In this tutorial, you will need two things: (1) a Linux host where OpenSSH server is running, and (2) an Android device. - -### Install Google Authenticator on Linux ### - -The first step is to install Google Authenticator on the Linux host where OpenSSH server is running. Follow [this guide][5] to install Google Authenticator and its PAM module on your system. - -Once Google Authenticator is ready, you need to go through one-time configuration which involves creating an authentication key from this Linux host, and registering it with an Android device. This will be explained next. - -### Generate an Authentication Key ### - -To start, simply run Google Authenticator on the Linux server host. - - $ google-authenticator - -You will see a QR code, as well as a secret key underneath it. The displayed QR code simply represents the numeric secret key. You will need either information to finalize configuration with an Android device. - -![](https://farm4.staticflickr.com/3843/14573264401_d3f5a2f247_z.jpg) -![](https://farm4.staticflickr.com/3848/14390010599_18dfc23d76_z.jpg) - -Google Authenticator will ask you several questions. If you are not sure, you an answer "Yes" to all questions. The emergency scratch codes can be used to regain access to the SSH server in case you lose your Android device, and so cannot generate one-time passcode. So it's better to write them down somewhere. - -### Run Google Authenticator on Android ### - -As we are going to use an Android device for two-factor authentication, you will need to install [Google Authenticator app][6] on Android. Go to Google Play to install it on Android. - -When you start Google Authenticator on Android, you will see the following configuration menu. - -![](https://farm6.staticflickr.com/5574/14554094476_bfc070d242_z.jpg) - -You can choose either "Scan a barcode" or "Enter provided key" option. The first option allows you to enter the security key, simply by scanning the generated QR code. In this case, you will need to install [Barcode Scanner app][7] first. If you choose the second option, you can type the security key using Android keyboard as follows. - -![](https://farm6.staticflickr.com/5535/14596723603_d510dbe48d_z.jpg) - -Once you register a secret key either way, you will see the following screen on Android. - -![](https://farm6.staticflickr.com/5586/14390009579_5ba109bf5b_z.jpg) - -### Enable Google Authenticator on SSH Server ### - -The final step is to integrate Google Authenticator with OpenSSH server. For that, you need to edit two files. - -First, edit a PAM configuration file, and append the line below. - - $ sudo vi /etc/pam.d/sshd - ----------- - - auth required pam_google_authenticator.so - -Then open an SSH server config file, search for ChallengeResponseAuthentication, and enable it. - - $ sudo vi /etc/ssh/sshd_config - ----------- - -ChallengeResponseAuthentication yes - -Finally, restart SSH server. - -On Ubuntu, Debian or Linux Mint: - - $ sudo service ssh restart - -On Fedora: - - $ sudo systemctl restart sshd - -On CentOS or RHEL: - - $ sudo service sshd restart - -### Test Two-factor Authentication ### - -Here is how you use two-factor authentication for SSH logins. - -Run Google Authenticator app on Android to obtain one-time verification code. Once generated, a given passcode is valid for 30 seconds. Once it expires, Google Authenticator will automatically generate a new one. - -![](https://farm3.staticflickr.com/2937/14389989618_d9355dcbb2_z.jpg) - -Now log in to the SSH server as you normally do. - - $ ssh user@ssh_server - -When you are asked to enter "Verification code", type in the verification code generated by Android. After successful verification, then you can type in your SSH login password. - -![](https://farm3.staticflickr.com/2938/14389952480_93351f12a4_z.jpg) - -To conclude, two-factor authentication can be an effective means to secure password authentication by adding an extra layer of protection. You can use Google Authenticator to secure other logins such as Google account, WordPress.com, Dropbox.com, Outlook.com, etc. Whether you decide to use it or not, it's up to you, but there is a clear industry trend towards the adoption of two-factor authentication. - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2014/07/two-factor-authentication-ssh-login-linux.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://code.google.com/p/google-authenticator/ -[2]:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 -[3]:https://itunes.apple.com/us/app/google-authenticator/id388497605 -[4]:http://xmodulo.com/go/android_guide -[5]:http://ask.xmodulo.com/install-google-authenticator-linux.html -[6]:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 -[7]:https://play.google.com/store/apps/details?id=com.google.zxing.client.android \ No newline at end of file diff --git a/translated/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md b/translated/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md new file mode 100644 index 0000000000..260135c6c8 --- /dev/null +++ b/translated/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md @@ -0,0 +1,90 @@ +如何为Linux系统中的SSH添加双重认证 +================================================================================ +近来很多知名企业都出现了密码泄露,业内对多重认证的呼声也越来越高。在这种多重认证的系统中,用户需要通过两种不同的认证程序:提供他们知道的信息(如 用户名/密码),再借助其他工具提供用户所不知道的信息(如 用手机生成的一次性密码)。这种组合方式常叫做双因子认证或者两阶段验证。 +为了鼓励广泛采用双因子认证的方式,Google公司发布了[Google Authenticator][1],一款开源的,可基于开放规则(如 HMAP/基于时间)生成一次性密码的软件。这是一款跨平台软件,可运行在Linux, [Android][2], [iOS][3]。Google公司同时也支持插件式鉴别模块PAM(pluggable authentication module),使其能和其他也适用PAM进行验证的工具(如OpenSSH)协同工作。 +在本教程中,我们将叙述集成OpenSSH和Google提供的认证器实现**如何为SSH服务设置双因子认证**。我将使用一款[Android][4]设备来生成一次性密码,本教程中需要两样兵器:(1)一台运行着OpenSSH服务的Linux终端,(2)一台安卓设备。 +### 在Linux系统中安装Google Authenticator ### + +第一步需要在运行着OpenSSH服务的Linux主机上安装Google认证器。按照[安装指南] [5]的步骤安装Google认证器及其PAM模块。 +当Google认证器安装好后,你需要在Linux主机上创建验证密钥,并且在安卓设备上注册,注意这项配置操作是一次性的。我们将详细叙述如何完成这些操作: +### 生成验证密钥 ### + +在Linux主机上运行Google认证器 + $ google-authenticator + +你将看到一个QR码,它使用图形保存了我们数字形态的密钥。一会我们要用到它在安卓设备上完成配置。 +![](https://farm4.staticflickr.com/3843/14573264401_d3f5a2f247_z.jpg) +![](https://farm4.staticflickr.com/3848/14390010599_18dfc23d76_z.jpg) + +Google认证器会问一些问题,如果你不确定,就回答"Yes"。这个应急备用验证码(图中 emergency scratch codes)可以在你丢失被绑定的安卓设备的情况下恢复访问,并且设备也不再生成一次性密码。所以最好将应急备用验证码妥善保存。 +### 在安卓设备上运行Google认证器 ### + +我们需要在安卓设备上安装[Google Authenticator app][6]才能完成双因子认证,到Google Play下载并安装一个。 +在安卓设备上运行Google认证器,找到下图所示中的配置菜单。 +![](https://farm6.staticflickr.com/5574/14554094476_bfc070d242_z.jpg) + +你可以选择"Scan a barcode" 或者"Enter provided key"选项。"Scan a barcode"允许你扫描QR码来完成密钥的输入,在此可能需要先安装扫描软件[Barcode Scanner app][7]。如果选择"Enter provided key"选项,你可以使用键盘输入验证密钥,如下图所示: +![](https://farm6.staticflickr.com/5535/14596723603_d510dbe48d_z.jpg) + +无论采用上述两种选项的任何方式,一旦成功,你将看到注册成功提示和一次性密码,如下图所示: +![](https://farm6.staticflickr.com/5586/14390009579_5ba109bf5b_z.jpg) + +### 为SSH服务器用Google认证器 ### + +最终我们需要修改两个文件来完成集成Google认证器和OpenSSH服务这临门一脚。 +首先,修改PAM配置文件,命令和需添加的内容如下: + $ sudo vi /etc/pam.d/sshd + +---------- + + auth required pam_google_authenticator.so + +然后打开SSH配置文件,找到参数ChallengeResponseAuthentication,并启用它。 + $ sudo vi /etc/ssh/sshd_config + +---------- + +ChallengeResponseAuthentication yes + +Finally, restart SSH server. +最后,重启SSH服务。 +在 Ubuntu, Debian, Linux Mint: + + $ sudo service ssh restart + +在Fedora: + + $ sudo systemctl restart sshd + +在CentOS 或 RHEL: + + $ sudo service sshd restart + +### 验证双因子认证 ### + +在绑定的安卓设备上运行Google认证器,获得一个一次性验证码,该验证码30秒内有效,一旦过期,将重新生成一个新的验证码。 +![](https://farm3.staticflickr.com/2937/14389989618_d9355dcbb2_z.jpg) + +Now log in to the SSH server as you normally do. +现在和往常一样,使用SSH登录终端 + $ ssh user@ssh_server + +当提示你输入验证码的时候,输入我们刚获得的验证码。验证成功后,再输入SSH的登录密码。 +![](https://farm3.staticflickr.com/2938/14389952480_93351f12a4_z.jpg) + +双因子认证通过在用户密码前新增一层来有效的保护我们脆弱的用户密码。你可以使用Google认证器来保护我们其他的密码,如Google账户, WordPress.com, Dropbox.com, Outlook.com等等。是否使用这项技术,取决于我们自己,但采用双因子认证已经是行业的大趋势了。 +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/two-factor-authentication-ssh-login-linux.html + +译者:[nd0104](https://github.com/nd0104) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://code.google.com/p/google-authenticator/ +[2]:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 +[3]:https://itunes.apple.com/us/app/google-authenticator/id388497605 +[4]:http://xmodulo.com/go/android_guide +[5]:http://ask.xmodulo.com/install-google-authenticator-linux.html +[6]:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2 +[7]:https://play.google.com/store/apps/details?id=com.google.zxing.client.android From fbd0142dac954f70db18e2fa9d85348f5e27eb74 Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Thu, 10 Jul 2014 21:49:25 +0800 Subject: [PATCH 076/291] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=A0=E4=B8=AA?= =?UTF-8?q?=E5=B0=8F=E5=9C=B0=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 删掉遗留的原文 --- ...t up two-factor authentication for SSH login on Linux.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/translated/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md b/translated/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md index 260135c6c8..ac11963fbd 100644 --- a/translated/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md +++ b/translated/tech/20140709 How to set up two-factor authentication for SSH login on Linux.md @@ -19,8 +19,7 @@ Google认证器会问一些问题,如果你不确定,就回答"Yes"。这个应急备用验证码(图中 emergency scratch codes)可以在你丢失被绑定的安卓设备的情况下恢复访问,并且设备也不再生成一次性密码。所以最好将应急备用验证码妥善保存。 ### 在安卓设备上运行Google认证器 ### -我们需要在安卓设备上安装[Google Authenticator app][6]才能完成双因子认证,到Google Play下载并安装一个。 -在安卓设备上运行Google认证器,找到下图所示中的配置菜单。 +我们需要在安卓设备上安装[Google Authenticator app][6]才能完成双因子认证,到Google Play下载并安装一个。在安卓设备上运行Google认证器,找到下图所示中的配置菜单。 ![](https://farm6.staticflickr.com/5574/14554094476_bfc070d242_z.jpg) 你可以选择"Scan a barcode" 或者"Enter provided key"选项。"Scan a barcode"允许你扫描QR码来完成密钥的输入,在此可能需要先安装扫描软件[Barcode Scanner app][7]。如果选择"Enter provided key"选项,你可以使用键盘输入验证密钥,如下图所示: @@ -46,7 +45,7 @@ Google认证器会问一些问题,如果你不确定,就回答"Yes"。这个 ChallengeResponseAuthentication yes -Finally, restart SSH server. + 最后,重启SSH服务。 在 Ubuntu, Debian, Linux Mint: @@ -65,7 +64,6 @@ Finally, restart SSH server. 在绑定的安卓设备上运行Google认证器,获得一个一次性验证码,该验证码30秒内有效,一旦过期,将重新生成一个新的验证码。 ![](https://farm3.staticflickr.com/2937/14389989618_d9355dcbb2_z.jpg) -Now log in to the SSH server as you normally do. 现在和往常一样,使用SSH登录终端 $ ssh user@ssh_server From f3edbd0eaff73715f0a2ff9b02f4a531c485602c Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 11 Jul 2014 00:33:02 +0800 Subject: [PATCH 077/291] PUB:20140624 How to sync Microsoft OneDrive on Linux @geekpi --- ...How to sync Microsoft OneDrive on Linux.md | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) rename {translated/tech => published}/20140624 How to sync Microsoft OneDrive on Linux.md (70%) diff --git a/translated/tech/20140624 How to sync Microsoft OneDrive on Linux.md b/published/20140624 How to sync Microsoft OneDrive on Linux.md similarity index 70% rename from translated/tech/20140624 How to sync Microsoft OneDrive on Linux.md rename to published/20140624 How to sync Microsoft OneDrive on Linux.md index 7a6528348e..f2b8423e07 100644 --- a/translated/tech/20140624 How to sync Microsoft OneDrive on Linux.md +++ b/published/20140624 How to sync Microsoft OneDrive on Linux.md @@ -1,18 +1,23 @@ -如何在Linux中同步微软 OneDrive +逝去的纪念:如何在Linux中同步微软 OneDrive ================================================================================ -[OneDrive][1](以前称为SkyDrive)是微软的一个广受欢迎的云存储产品。目前OneDrive为每一个新注册用户提供7GB免费存储空间。正如你所想,OneDrive与微软其他软件产品很好地集成。微软还提供了一个独立的OneDrive客户端,它会自动备份照相机拍摄的图片和视频到OneDrive。但你猜怎么着。该客户端可用于除Linux的各大PC/移动平台。 “OneDrive在任何设备,任何时间”?嗯,这还不存在。 +【编者注】:本文译文完成之后不久,OneDrive 就成了中国人的昨日黄花了。编者想了想,还是发出来罢,仅以此文纪念我们逝去的这个、那个、以及这些和那些。也许若干年后我们回忆起来,我们曾经有过那么多那些,而当时却挑三拣四,没有珍惜,如果再给我一次机会…… -不要失望。开源社区已经已经拿出了解决方案。 Boilermaker写的[onedrive-d][2]可以完成这项工作。作为监测守护进程运行,onedrive-D可自动将本地文件夹同步到OneDrive云存储。 +--- + +[OneDrive][1](以前称为SkyDrive)是微软的一个广受欢迎的云存储产品。目前OneDrive为每一个新注册用户提供7GB免费存储空间。正如你所想,OneDrive与微软其他软件产品很好地集成。微软还提供了一个独立的OneDrive客户端,它会自动备份照相机拍摄的图片和视频到OneDrive。但你猜怎么着。该客户端可用于除Linux的各大PC/移动平台。 + +“OneDrive在任何设备,任何时间”?哦,不,这还不行。 + +不过不要失望。开源社区已经已经拿出了解决方案。 Boilermaker写的[onedrive-d][2]可以完成这项工作。作为监测守护进程运行,onedrive-D可自动将本地文件夹同步到OneDrive云存储。 I在本教程中,我将介绍**如何在Linux上使用onedrive-d同步微软OneDrive**。 -### 在linux上onedrive-d ### +### 在linux上安装onedrive-d ### -虽然onedrive-d最初是为Ubuntu/ Debian开发的,但它仍然支持CentOS/ Fedora的/ RHEL。 +虽然onedrive-d最初是为Ubuntu/ Debian开发的,但它仍然支持CentOS/ Fedora/ RHEL。 安装就像输入下面的命令一样容易。 - $ git clone https://github.com/xybu92/onedrive-d.git $ cd onedrive-d $ ./inst install @@ -25,7 +30,7 @@ I在本教程中,我将介绍**如何在Linux上使用onedrive-d同步微软On $ mkdir ~/onedrive -接着运行下面的命令开开启一次性配置。 +接着运行下面的命令开启一次性配置。 $ onedrive-d @@ -49,19 +54,19 @@ I在本教程中,我将介绍**如何在Linux上使用onedrive-d同步微软On 这里有两种方法来使用onedrice-d将本地文件夹与OneDrive存储同步。 -一种是“手动使用命令行来同步OneDrive”。就是当你需要与你的OneDrive账户同步时运行: +一种是“手动使用命令行来同步OneDrive”。就是当你需要与你的OneDrive账户同步时运行如下命令: $ onedrive-d -`onedrive-d`接着将扫描本地文件夹与OneDrive帐户的内容并使两者同步。这意味着要么上传一个在本地文件夹新添加的文件,或者从远程OneDrive帐户下载最新发现的文件。如果你从本地文件夹删除任何文件,相应的文件将自动在与OneDrive帐户同步后被删除。同样的事情也会在相反的方向发生。 +`onedrive-d`接着将扫描本地文件夹与OneDrive帐户的内容并使两者同步。这意味着要么上传一个在本地文件夹新添加的文件,或者从远程OneDrive帐户下载最新发现的文件。如果你从本地文件夹删除任何文件,相应的文件将自动在与OneDrive帐户同步后被删除。反之亦然。 -一旦同步完成,你可以使用Ctrl-C杀掉onedirve-d的前台运行进程。 +一旦同步完成,你可以使用Ctrl-C中断onedirve-d的前台进程。 ![](https://farm6.staticflickr.com/5509/14283967750_b9ebf1b05d_z.jpg) -另一种方法是将onedrive-d作为一个始终运行的守护进程在开机时自动启动。在这种情况下,后台守护进程会同时监视本地文件夹和OneDrive账户,以使它们保持同步。对于这一点,只需将onedrive-D加入到你桌面[自动启动程序列表][3]中就行了。 +另一种方法是将onedrive-d作为一个始终运行的守护进程在开机时自动启动。在这种情况下,后台守护进程会同时监视本地文件夹和OneDrive账户,以使它们保持同步。要做到这一点,只需将onedrive-D加入到你桌面的[自动启动程序列表][3]中就行了。 -当onedrive-D作为守护进程在后台运行,你会在桌面状态栏中看到OneDrive图标,如下图所示。每当同步更新被触发,你就会看到一个桌面通知。 +当onedrive-D作为守护进程在后台运行时,你会在桌面状态栏中看到OneDrive图标,如下图所示。每当同步更新被触发,你就会看到一个桌面通知。 ![](https://farm4.staticflickr.com/3924/14290119448_3b1144db77.jpg) @@ -71,7 +76,7 @@ I在本教程中,我将介绍**如何在Linux上使用onedrive-d同步微软On via: http://xmodulo.com/2014/06/sync-microsoft-onedrive-linux.html -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From d4f5c29e9e5e5e4a25938a5eb5bdf55b726064f6 Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 11 Jul 2014 01:04:42 +0800 Subject: [PATCH 078/291] =?UTF-8?q?PUB:20140624=20Top500=20Supercomputer?= =?UTF-8?q?=20Remains=20Stuck=20at=2033.86=20Petaflops=20Each=20s=20-=20?= =?UTF-8?q?=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @owen-carter --- ... Stuck at 33.86 Petaflops Each s - 翻译.md | 41 ++++++++++++++++ ... Stuck at 33.86 Petaflops Each s - 翻译.md | 48 ------------------- 2 files changed, 41 insertions(+), 48 deletions(-) create mode 100644 published/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md delete mode 100644 translated/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md diff --git a/published/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md b/published/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md new file mode 100644 index 0000000000..6a6808f4d9 --- /dev/null +++ b/published/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md @@ -0,0 +1,41 @@ +超算TOP 500的计算性能仍然保持在 33.86 千万亿次/秒 +-------------------------------------------------------------------------------- + +天河2号一年以前第一次跳上世界超算舞台,拥有了当时世界上最强计算机的皇冠。当时,天河2号被评测为 33.86 petaflops (千万亿次/秒)。 + +整整一年后天河-2 性能指数仍旧保持不变,它仍然坐在世界上最强超级计算机的头把交椅上。 + +![](http://www.serverwatch.com/imagesvr_ce/7184/icon-titan-r.jpg) + +在 2013 年 6 月时,世界上第二快的超级计算机是安置于美国能源部橡树岭国家实验室的 Cray Titan。一年前,Titan可飙至 17.59 petaflops。Titan的优秀表现,正如同天河-2一样, 到了2014 年 6 月仍然保持住了他的地位。 + +事实上,在最近的一年中,世界上顶尖的前 10 超级计算机的性能排名几乎没有任何改变,至少根据世界超算 500 强名单来看是这样的。 + +如果看看名单底部,在超算排行榜的第500名,是德国Deutcher Wetterdienst 的Cray XC30 ,其性能已经逼近 133.7 teraflops (万亿次/秒)。 + +TOP500 网站[指出][1],"最新名单上的最后的一个系统其实以前处在20年前世界 500 强排行榜中384位"。"这说明这二十年中列表变化不大。 + + +再次,列表有 85.4%的超级计算机都是英特尔芯片占主导地位的,而 IBM Power 处理器拥有 8%的市场份额。AMD 的占有率目前仅为 6%。 + + +就芯片架构来说,53.6%的超算都使用 8 个或更多核心的CPU, 13.4%的超算则是 10 个或更多的核心的CPU。 + +再来看看网络互联,Infiniband和以太网拆分了整个市场。在 2014 年 6 月名单上,Infiniband占据了系统的 44.4%。 + +相比之下,据报道千兆以太网有 25.4%的市场份额, 万兆以太网拥有 15%,合计占以太网整体份额的 40.4%。 + +惠普和 IBM 再次占领了超级计算供应商的列表。惠普现在占有 36.4%的份额,而 IBM 占有 35.2%。Cray 排名降低,位列第三,占有10.2%的市场份额。 + +虽然在世界前 500 的超级计算机榜单排名里面硬件供应商们,芯片体系架构,核心数量和互联方式竞争激烈,但是在选择操作系统的时候,毫无疑问的是,97%的超算都安装了linux操作系统,即top500超算榜单上的485个超算都安装了linux系统。 + + +-------------------------------------------------------------------------------- + +via: http://www.serverwatch.com/server-news/top500-supercomputer-remains-stuck-at-33.86-petaflops.html + +译者:[owen-carter](https://github.com/owen-carter) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://top500.org/blog/lists/2014/06/press-release/ \ No newline at end of file diff --git a/translated/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md b/translated/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md deleted file mode 100644 index 25f2566141..0000000000 --- a/translated/talk/20140624 Top500 Supercomputer Remains Stuck at 33.86 Petaflops Each s - 翻译.md +++ /dev/null @@ -1,48 +0,0 @@ -世界 500 强的超级计算机计算性能仍然保持在 33.86 千万亿次/秒 - --------------------------------------------------------------------------------- - -天河2号 一年以前第一次跳上世界超算舞台,拥有了当时世界上最强计算机的皇冠。当时,天河2号被评测为每秒 33.86 千万亿次。 - - -满满一年后天河-2 性能指数仍旧保持不变,它仍然坐上了了世界上最强超级计算机的头把交椅。 - - -![](http://www.serverwatch.com/imagesvr_ce/7184/icon-titan-r.jpg) - -截止到 2013 年 6 月号,世界上两个超级计算机都是安置于美国能源部橡树岭国家实验室的是 Cray Titan,。一年前,Titan可飙至 17.59 千万亿次每秒。Titan的优秀表现,正如同天河-2, 在2014 年 6 月,但它仍然保持了他的地位。 - - -事实上,在最近的一年中,世界上顶尖的前 10 超级计算机的性能排名几乎没有任何改变,至少根据世界超算 500 强名单来看是这样的。 - - -如果将名单倒着来看,在超算500强排行榜上,在德国Deutcher Wetterdienst 的Cray XC30 性能已经逼近 133.7 计算机每秒。 - - -TOP500 网站指出,"最新名单上的最新的系统其实以前处在旧的世界 500 强排行榜中384位"。"这代表列表中最少的滚动周期是二十年。 - - -再次,列表有 85.4%的超级计算机都是英特尔芯片占主导地位的,和 IBM 电源和处理器拥有 8%的市场份额。AMD 的占有率目前仅为 6%。 - - -就芯片架构来说,53.6%的超算都拥有 8 个或更多核心, 13.4%的超算有 10 个或更多的核心。 - -再来看看网络连接,无限宽带和以太网拆分了整个市场。在 2014 年 6 月名单上,无限宽带占据了系统的 44.4%。 - - -相比之下,据报道千兆位以太网有 25.4%的市场份额, 10千兆位以太网拥有 15%,为以太网整体份额的 40.4%。 - - -惠普和 IBM 再次占领了超级计算供应商的列表。惠普现在持有 36.4%的份额,而 IBM 持有 35.2%。Cray 压低了排名第三,10.2%的市场份额。 - - -尽管有着竞争激烈的的供应商们,芯片体系架构,核心数量和互联方式等重要因素在世界前 500 的超级计算机榜单排名时扮演着重要的角色,但是在选择操作系统的时候,毫无疑问的是,97%的超算都安装了linux操作系统,即top500超算榜单上的485个超算都安装了linux系统。 - - --------------------------------------------------------------------------------- - -via: http://www.serverwatch.com/server-news/top500-supercomputer-remains-stuck-at-33.86-petaflops.html - -译者:[owen-carter](https://github.com/owen-carter) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From 0eb3d3967424b982bbb6af966cbb403a8db02f0c Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Fri, 11 Jul 2014 10:26:34 +0800 Subject: [PATCH 079/291] nd0104 is translating 20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing --- ...w Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md b/sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md index 7a5e397b9c..1a2a5c1c3a 100644 --- a/sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md +++ b/sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md @@ -1,3 +1,4 @@ +nd0104 is translating New Linux Podcast App ‘Vocal’ Hits Beta, Ready for Testing ================================================================================ **Back in April we found ourselves enamoured by a promising new [podcast app for Ubuntu called ‘Vocal‘][1]. Well, the app has since gone from being a stylish mockup to real working code — and you can help test it.** @@ -30,4 +31,4 @@ via: http://www.omgubuntu.co.uk/2014/06/linux-podcast-app-vocal-hits-preview-kic [1]:http://www.omgubuntu.co.uk/2014/04/vocal-podcast-manager-linux [2]:http://nathandyer.me/2014/06/28/vocal-beta-released-daily-ppa-available/ [3]:https://launchpad.net/~nathandyer/+archive/vocal-daily -[4]:https://launchpad.net/vocal \ No newline at end of file +[4]:https://launchpad.net/vocal From 53a6c7907dc3e11654fec287b66424f44f930d15 Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 11 Jul 2014 11:20:44 +0800 Subject: [PATCH 080/291] =?UTF-8?q?=E6=B8=85=E9=99=A4=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=96=87=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...d Certification Plan, and Teams with HP.md | 34 ------------------- ... Improv Tablet Projects Officially Axed.md | 31 ----------------- ...ndroid File Sending, Touchpad Emulation.md | 0 3 files changed, 65 deletions(-) delete mode 100644 sources/news/20140701 Red Hat Delivers Cloud Certification Plan, and Teams with HP.md delete mode 100644 sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md rename {sources => translated}/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md (100%) diff --git a/sources/news/20140701 Red Hat Delivers Cloud Certification Plan, and Teams with HP.md b/sources/news/20140701 Red Hat Delivers Cloud Certification Plan, and Teams with HP.md deleted file mode 100644 index d2bb05fb5a..0000000000 --- a/sources/news/20140701 Red Hat Delivers Cloud Certification Plan, and Teams with HP.md +++ /dev/null @@ -1,34 +0,0 @@ -Red Hat Delivers Cloud Certification Plan, and Teams with HP -================================================================================ -![](http://farm4.static.flickr.com/3108/3191608123_67e1da2b79_o.jpg) - -When Red Hat [announced][1] very solid quarterly earnings a few days ago, CEO Jim Whitehurst was quick to attribute part of the strong performance to his company's new focus on cloud computing. In discussing the enterprises that pay Red Hat for subcription support and services, he said: "These are some of the most sophisticated IT organizations in the world, and many continue to increase their purchases from Red Hat to modernize their IT infrastructure with cloud enabling technologies." - -[I've made the point before][2] that Red is pinning its future on cloud computing and OpenStack in particular. But for Red Hat to succeed with its OpenStack plans, it needs to be able to assure enterprise users that they are using tested and interoperable tools. With that in mind, the company has [announced][3] a new cloud management certification for Red Hat Enterprise Linux OpenStack Platform as part of the Red Hat OpenStack Cloud Infrastructure Partner Network. - -Red Hat has been working closely with cloud and network management solution providers, including iBMC and HP. As members of the Red Hat OpenStack Cloud Infrastructure Partner Network, these vendors are supporting Red Hat's platform certification process. - -Radhesh Balakrishnan, Red Hat's general manager of virtualization and OpenStack said, in a statement: - -> “As OpenStack is becoming a core element of the enterprise cloud strategy for many customers, Red Hat Enterprise Linux OpenStack Platform is architected and backed by the broadest partner ecosystem to be the preferred platform. The growth and maturity of the ecosystem reflects the evolution of the product moving from addressing infrastructure-centric alignment to help with early deployments to now be well-managed, to be part of enterprise hybrid cloud implementations.” - -Atul Garg, vice president and general manager of Cloud and Automation at HP added: - -> “We are excited to work with Red Hat to certify HP Cloud Service Automation and its solutions with Red Hat Enterprise Linux OpenStack Platform, to help our mutual customers build and manage private and hybrid cloud services. Our joint efforts are aimed at enabling customers to have choice and flexibility as they deploy cloud environments which can easily flex and adapt to business needs while supporting heterogeneity and leveraging existing investments in the datacenter.” - -As enterprises deploy OpenStack, they are increasingly concerned about being able to use existing infrastructure and management tools with their deployments. The expansion of Red Hat’s certification program to include cloud management solutions is intended to help enterprises who want to deploy Red Hat Enterprise Linux OpenStack Platform in a private cloud to feel confident in using their management solutions of choice. - -One other notable thing about the new certification program is that it deepens Red Hat's partnership with HP, which is also focused on OpenStack. It will be worth watching what else comes from that partnership, and, without a doubt, [the cloud is the new battleground for winning enterprise users][4]. - --------------------------------------------------------------------------------- - -via: http://ostatic.com/blog/red-hat-delivers-cloud-certification-plan-and-teams-with-hp - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.zdnet.com/red-hat-beats-q1-earnings-targets-as-revenue-climbs-17-percent-7000030685/ -[2]:http://ostatic.com/blog/for-red-hat-the-cloud-beckons -[3]:http://www.marketwatch.com/story/red-hat-introduces-cloud-management-certification-for-red-hat-enterprise-linux-openstack-platform-2014-06-30 -[4]:http://ostatic.com/blog/the-cloud-is-the-new-battleground-for-winning-enterprise-users \ No newline at end of file diff --git a/sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md b/sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md deleted file mode 100644 index 92d38c609e..0000000000 --- a/sources/news/20140702 KDE Improv Tablet Projects Officially Axed.md +++ /dev/null @@ -1,31 +0,0 @@ -KDE Improv, Tablet Projects Officially Axed -================================================================================ -![](http://www.omgubuntu.co.uk/wp-content/uploads/2012/03/OR0Gbh.jpg) - -**The team behind a highly publicised effort to release a KDE based Linux distribution on fully open hardware has announced the project has come to and end.** - -It’s news that few following the convoluted saga will find surprising, with both the KDE-based [Vivaldi Tablet][1] and Improv board projects having struggled to find their way to market despite numerous pre-orders, sales campaigns and marketing. - -The former of these, once known as ‘Spark’, has existed in various stages of gestation since 2012, only being formally ‘put on hold’ earlier this year. - -Both devices sought to bring hardware running on entirely open source software and drivers to market at an affordable price. Perhaps a little too constrained by the rigidity of their ideal — to offer a modular board that could be used in multiple devices — the projects hit road bump after road bump, delay after delay. - -Announcing the ‘wrap up’ in an e-mail sent to backers of the Improv ARM-based development board the team suggests that the FOSS community is ‘not ready’ to put its weight behind the ‘pressing issue of hardware freedom’, adding: - -> “We greatly appreciate everyone’s support, whether it was purchases, donations or words of wisdom and encouragement. There was simply not enough support to make the project work, despite having fully functional, production ready devices and a strong commitment to succeed.” - -Partial refunds are now being issued to those who pre-ordered a device, with the team hoping to provide full refunds at a later date. - -But while one open-source tablet effort may retire others are continuing. Canonical has stated that the first Ubuntu tablets will launch alongside the first handsets [later this year][2], while Intel and Samsung’s Linux-based Tizen OS is also [fast gathering pace][3]. - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/07/kde-improv-tablet-projects-officially-axed - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.omgubuntu.co.uk/2012/03/kde-tablet-vivaldi-gets-gutted -[2]:http://www.omgubuntu.co.uk/2014/03/ubuntu-tablets-coming-year -[3]:http://www.omgubuntu.co.uk/2014/06/samsung-first-tizen-phone-unveiled \ No newline at end of file diff --git a/sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md b/translated/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md similarity index 100% rename from sources/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md rename to translated/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md From 7ca8ff92c6fdbbc6e76fdda64a142f53c9da7166 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Fri, 11 Jul 2014 15:45:23 +0800 Subject: [PATCH 081/291] =?UTF-8?q?20140711-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...b Complete Heroku Commands In Oh-My-Zsh.md | 50 ++++++++++++++ ...-How To Find Size of Directory Commands.md | 65 +++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md create mode 100644 sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md diff --git a/sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md b/sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md new file mode 100644 index 0000000000..1b207b263f --- /dev/null +++ b/sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md @@ -0,0 +1,50 @@ +How To Enable Tab Complete Heroku Commands In Oh-My-Zsh +================================================================================ +**Heroku** Client is the (Command Line Interface) CLI tool for creating and managing Heroku apps. + +Requirements: + +- Heroku toolbelt +- Oh-My-Zsh ([How to Install][1]) + +Note this post is not talk about heroku, it’s just to show users how they can ease typing of commands with oh-my-zsh, so am NOT going to talk into detail on doing things. Also you should have [heroku toolbelt][2] installed to make this work. Is simple for Ubuntu and Debian derivatives,Install by running the command below: + + wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh + +Open Terminal and login into heroku with you account created [here][3]: + + heroku login + Enter your Heroku credentials. + Email: enockseth@unixmen.com + Password (typing will be hidden): + Authentication successful. + +That shows heroku is up and running. + +Open **.zshrc** in your favourite text editor + + vim .zshrc + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/zsh_git.png) + +By default git is the only plugin enabled. + +Add **heroku** to the plugins section as shown below: + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/zsh_heroku.png) + +Restart teminal, type **heroku** press tab and you’re good to go: + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/heroku_tab_complete.png) + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/enable-tab-complete-heroku-commands-oh-zsh/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.unixmen.com/install-oh-zsh-ubuntu-arch-linux-fedora/ +[2]:https://toolbelt.heroku.com/ +[3]:https://www.heroku.com/ \ No newline at end of file diff --git a/sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md b/sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md new file mode 100644 index 0000000000..1bc86153e8 --- /dev/null +++ b/sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md @@ -0,0 +1,65 @@ +Linux Basics: How To Find Size of Directory Commands +================================================================================ +This is the first in a series of posts in coming where I’ll be writing about some **basic commands** that that will be of good use to new users. + +**Note**: This is targeted at people little or no command line experience.. + +> How can I as a new user to Linux display directory properties from the terminal? + +### Requirements ### + +The only requirement is the **du** command line tool. du comes with almost every Linux distro by default. + +Check if du it’s on your system by running the command below in the terminal: + + man du + +**du** command estimates file space usage + +### Using du ### + +Running du with no flag displays names of all directories including sub-directories and sizes in bytes. + + du + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-overview.png) + +Using the **-h** flag displays the sizes in human readable format, that is **K, M** and **G** representing **Kilobyte, Megabyte** and **Gigabyte** respectively. + + du - h + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-h.png) + +To view a specific directory indicate that after du and flag as shown below: + + du -h Mapmaker + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-h-mapmaker.png) + +Use -c to see grand **total** displayed: + + du -ch + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-ch.png) + +Use **-s** flag to display only grand total / disk space used for specific directories: + + du -sh Mapmaker Sandbox + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Screenshot-07052014-093858-AM.png) + +See man du for more flags and there uses + + man du + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/man-du.png) + +Knows other combinations of du? Share with myself and others here too. + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/linux-basics-find-size-directory-commands/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From bd88acd62e00bd3461c89c4dae5bee3052e1e51f Mon Sep 17 00:00:00 2001 From: DeadFire Date: Fri, 11 Jul 2014 16:07:42 +0800 Subject: [PATCH 082/291] =?UTF-8?q?20140711-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...htweight Budgie Desktop in Ubuntu 14.04.md | 58 ++++++++++++++ ...40711 ncdu--NCurses Disk Usage Analyzer.md | 80 +++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md create mode 100644 sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md diff --git a/sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md b/sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md new file mode 100644 index 0000000000..112cca1d85 --- /dev/null +++ b/sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md @@ -0,0 +1,58 @@ +How to Install Lightweight Budgie Desktop in Ubuntu 14.04 +================================================================================ +**If you follow us over on Twitter you may have caught a glimpse of a screenshot we shared recently, along with the invitation to name the desktop environment pictured. ** + +Did you guess correctly? The answer is [Budgie][1] — a simple desktop designed for, but not exclusive to, an openSUSE-based Linux distribution called Evolve OS. + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/BsCvTxJIcAAPjUR.png-large.png) + +We first wrote about Budgie back in March and were suitably bowled over by both the clean, minimal aesthetic and nimble framework, but also by the decision to reuse common components and the standard stack of GNOME 3.10 technologies readily available in most modern distributions. + +I’m a huge admirer of the development choices taken by the project lead, Ikey Doherty. There’s no denying that forking has its merits, but by deciding to favour upstream projects whole project is able to move faster, both development-wise (less technical debt) and in being available for users (easier to run on other distributions). + +Politics of choice aside, the desktop is clean and minimal with a nod to the Ash desktop of Google’s Chrome OS. If you don’t mind a few rough edges, its well worth a play with. But how do you install Budgie on Ubuntu? + +### Unofficial PPA is Unofficial ### + +Open source being what it is means if you have a bit of terminal know-how you can grab the source and get it up and running with a bit of wily compiling. + +But if you’re too lazy for that and happen to be running Ubuntu 14.04 LTS (or a distro based on it) you can get it the easy way. + +Just add one **unofficial PPA**, refresh your Software Sources and then install. A few minutes later and you’ll have both a new uncle in the family by the [name of Bob][2] and a new desktop shell to play with. + +### Add the Budgie PPA ### + +With a terminal window open copy and paste the following commands carefully, entering your password when/if prompted: + + sudo add-apt-repository ppa:sukso96100/budgie-desktop + sudo apt-get update && sudo apt-get install budgie-desktop + +### Log into the Budgie Session ### + +After installation you’ll be able to select ‘Budgie’ from the session selector of the Unity Greeter. (Don’t forget to change this back to a stable DE at a later date.) + +### Notes ### + +**Budgie is not stable, finished nor is it officially supported on Ubuntu**. It is in active development and features remain missing, including, but not limited to: no network management support, no volume control applet (keyboard keys will work fine), no notification system and no way to ‘pin’ apps to the task bar. + +It also doesn’t play too nicely with Ubuntu’s overlay scrollbars, some GTK themes, and session management (e.g., logout, restart, etc.) on distributions using Upstart (like Ubuntu, [though that’s changing][3]) does not work. + +As a workaround you can disable overlay scrollbars, set a different default theme and quit a session from the terminal using the following command: + + gnome-session-quit + +With all of those caveats in mind, I’d suggest those whose sanity hinges on a stable, dependable system avoid using it for now. + +But for the rest of you crazy folks? Well, let us know what you think of it in the comments below. I’m off to let Bob in. + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/install-budgie-evolve-os-desktop-ubuntu-14-04 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2014/03/budgie-desktop-chrome-os-like +[2]:http://en.wikipedia.org/wiki/Bob +[3]:http://www.omgubuntu.co.uk/2014/02/ubuntu-debian-switching-systemd \ No newline at end of file diff --git a/sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md b/sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md new file mode 100644 index 0000000000..e3752df964 --- /dev/null +++ b/sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md @@ -0,0 +1,80 @@ +ncdu – NCurses Disk Usage Analyzer +================================================================================ +[Ncdu][1] (NCurses Disk Usage) is a ncurses-based du viewer. It provides a fast and easy-to-use interface through the well-known [du][2] command. It displays percentages of disk usage and also allow you to browse through directories via ncurses library. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu-about.png) + +### Installation ### + +ncdu has been ported to most Linux distros and can be installed via official repos. + +Arch / Manajaro and Derivatives: + + sudo pacman -S ncdu + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu.png) + +Ubuntu / Debian / Linux Minut and Derivatives: + + sudo apt-get install ncdu + +Fedora and Derivatives: + + sudo yum install ncdu + +Check [here][3] for other distros. + +### Using ncdu ### + +Keys: + + +- up, k — Move cursor up +- down, j – Move cursor down +- right/enter — Open selected directory +- left, <, h — Open parent directory +- n — Sort by name (ascending/descending) +- s — Sort by size (ascending/descending) +- C – Sort by items (ascending/descending) +- d – Delete selected file or directory +- t — Toggle dirs before files when sorting +- g – Show percentage and/or graph + +To use ncdu, Open your terminal and run + + ncdu + +this starts scanning the directories. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu-scanning.png) + +When scanning is done you can easily see the file / directory sizes. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/done-scanning.png) + +Delete file confirm: + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu-delete-confirm.png) + +Read the ncdu manual [here][4] or run: + + man ncdu + +**Credit**: Ncdu was suggested by two of our readers **BasketCase** and **Sama Vim** in the post [Linux Basics: How To Find Size of Directory Commands][5]. +注:上面这个链接已经做成原文 + +Enjoy! + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/ncdu-ncurses-disk-usage-analyzer/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://dev.yorhel.nl/ncdu +[2]:http://www.unixmen.com/linux-basics-find-size-directory-commands/ +[3]:http://dev.yorhel.nl/ncdu +[4]:http://dev.yorhel.nl/ncdu/man +[5]:http://www.unixmen.com/linux-basics-find-size-directory-commands/ \ No newline at end of file From f451f954ec13514ced29d120be6ded18d2dafc1c Mon Sep 17 00:00:00 2001 From: DeadFire Date: Fri, 11 Jul 2014 16:36:38 +0800 Subject: [PATCH 083/291] =?UTF-8?q?20140711-3=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e key press and mouse movement in Linux.md | 104 +++++++++++++++++ ...emd for system administration on Debian.md | 106 ++++++++++++++++++ 2 files changed, 210 insertions(+) create mode 100644 sources/tech/20140711 How to simulate key press and mouse movement in Linux.md create mode 100644 sources/tech/20140711 How to use systemd for system administration on Debian.md diff --git a/sources/tech/20140711 How to simulate key press and mouse movement in Linux.md b/sources/tech/20140711 How to simulate key press and mouse movement in Linux.md new file mode 100644 index 0000000000..a0413a31a1 --- /dev/null +++ b/sources/tech/20140711 How to simulate key press and mouse movement in Linux.md @@ -0,0 +1,104 @@ +How to simulate key press and mouse movement in Linux +================================================================================ +Have you ever dreamed of your computer doing stuff automatically for you? Probably not if you just watched Terminator. But except for that, scripting and task automation are every power user's dreams. If a lot of solutions exist today to fit such goal, it is sometimes hard to pick the simple, smart, and efficient one out of the lot. I cannot pretend to have found it myself, but in the mean time, my preference goes to neat software called xdotool. Its approach is intuitive as it stands as an X11 automation tool. In other words, xdotool can simulate key presses and even mouse events from reading a text file. + +### Installation of Xdotool on Linux ### + +For Ubuntu, Debian or Linux Mint, you can just do: + + $ sudo apt-get install xdotool + +For Fedora, use yum command: + + $ sudo yum install xdotool + +For CentOS user, the package is available in [EPEL repo][1]. After enabling EPEL repo, simply use yum command as above. + +For Arch user, the package is available in the Community repo: + + $ sudo pacman -S xdotool + +If you cannot find xdotool for your distribution, you can always download it from the [official website][2]. + +### Basic Usage of Xdotool ### + +As intuitive as it is, xdotool remains a scripting application. Hence you have to know the syntax in order to use it properly. Rest assured though, the syntax is very simple and quick to pick up, relative to the extent of the program's features. + +First, it is very easy to simulate key press. From the terminal, you can type the command: + + $ xdotool key [name of the key] + +If you want to chain two keys, use the "+" operator between them. So: + + $ xdotool key alt+Tab + +will switch window for you. + +To have xdotool type for you, use the type command: + + $ xdotool type '' + +That's already enough for basic key pressing. But one of the many strengths of xdotool is its ability to put the focus on a particular window. It can fetch the right window, and then type in it, preventing all your recorded keystrokes to just vaporize in thin air. For this, the simplest command is: + + $ xdotool search --name [name of the window] key [keys to press] + +This will search through the opened window for one with the name matching the search, give it the focus, and then simulate the key pressing. + +A bit more advanced, but very useful, xdotool can simulate mouse movement and click. With: + + $ xdotool mousemove x y + +you can place the cursor at coordinates (x,y) of your screen (in pixels). You can also combine it with the "click" argument: + + $ xdotool mousemove x y click 1 + +This will move the mouse to (x,y), and click with the left button. The "1" represents the left button of the mouse, "2" would be the scroll wheel, "3" the right button, etc. + +Finally, once you have your commands in mind, you might want to actually dump it in a file to edit and play. For that, there is more than one syntax. You can write is a bash script: + + #!/bin/bash + + xdotool [command 1] + xdotool [command 2] + etc + +Or you can use: + + $ xdotool [filename] + +where you write your commands in a separate file and plug its name as the argument. + +### Bonus ### + +As a bonus to this post, here is a concrete example of xdotool in action. You may or may not have heard of Bing, the Microsoft's search engine. In the latter case, you have then never heard of Bing Rewards: a program that allows you to trade Bing points for Amazon's and other gift cards. To earn those points, you can do up to 30 searches a day on Bing, each search giving you 0.5 point. In other words, you have to make Bing your default search engine, and use it every day. + +Or, you can use this xdotool script, which will automatically give focus to Firefox (replace it with your favorite navigator), and perform a search using the fortune command to generate some random words. In about 30 seconds, all your daily searches will be done. + + #!/bin/bash + + for i in {1..30} + do + WID=`xdotool search --title "Mozilla Firefox" | head -1` + xdotool windowfocus $WID + xdotool key ctrl+l + xdotool key Tab + SENTENCE="$(fortune | cut -d' ' -f1-3 | head -1)" + xdotool type $SENTENCE + xdotool key "Return" + sleep 4 + done + +To conclude, I really like xdotool even if its full capabilities extend way beyond the scope of this post. It is a really approachable way to scripting and task automation. The downside is that it probably is not the most efficient one. But again, it does the job, and isn't too much of a bother to learn. + +What are your thoughts on xdotool? Do you prefer another automation tool to it? And why? Let us know in the comments. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/simulate-key-press-mouse-movement-linux.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html +[2]:http://www.semicomplete.com/projects/xdotool/ \ No newline at end of file diff --git a/sources/tech/20140711 How to use systemd for system administration on Debian.md b/sources/tech/20140711 How to use systemd for system administration on Debian.md new file mode 100644 index 0000000000..a464473fe4 --- /dev/null +++ b/sources/tech/20140711 How to use systemd for system administration on Debian.md @@ -0,0 +1,106 @@ +How to use systemd for system administration on Debian +================================================================================ +Soon enough, hardly any Linux user will be able to escape the ever growing grasp that systemd imposes on Linux, unless they manually opt out. systemd has created more technical, emotional, and social issues than any other piece of software as of late. This predominantly came to show in the [heated discussions][1] also dubbed as the 'Init Wars', that occupied parts of the Debian developer body for months. While the Debian Technical Comittee finally decided to include systemd in Debian 8 "Jessie", there were efforts to [supersede the decision][2] by a General Resolution, and even threats to the health of developers in favor of systemd. + +This goes to show how deep systemd interferes with the way of handling Linux systems that has, in large parts, been passed down to us from the Unix days. Theorems like "one tool for the job" are overthrown by the new kid in town. Besides substituting sysvinit as init system, it digs deep into system administration. For right now a lot of the commands you are used to will keep on working due to the compatibility layer provided by the package systemd-sysv. That might change as soon as systemd 214 is uploaded to Debian, destined to be released in the stable branch with Debian 8 "Jessie". From thereon, users need to utilize the new commands that come with systemd for managing services, processes, switching run levels, and querying the logging system. A workaround is to set up aliases in .bashrc. + +So let's have a look at how systemd will change your habits of administrating your computers and the pros and cons involved. Before making the switch to systemd, it is a good security measure to save the old sysvinit to be able to still boot, should systemd fail. This will only work as long as systemd-sysv is not yet installed, and can be easily obtained by running: + + # cp -av /sbin/init /sbin/init.sysvinit + +Thusly prepared, in case of emergency, just append: + + init=/sbin/init.sysvinit + +to the kernel boot-time parameters. + +### Basic Usage of systemctl ### + +systemctl is the command that substitutes the old "/etc/init.d/foo start/stop", but also does a lot more, as you can learn from its man page. + +Some basic use-cases are: + +- systemctl - list all loaded units and their state (where unit is the term for a job/service) +- systemctl list-units - list all units +- systemctl start [NAME...] - start (activate) one or more units +- systemctl stop [NAME...] - stop (deactivate) one or more units +- systemctl disable [NAME...] - disable one or more unit files +- systemctl list-unit-files - show all installed unit files and their state +- systemctl --failed - show which units failed during boot +- systemctl --type=mount - filter for types; types could be: service, mount, device, socket, target +- systemctl enable debug-shell.service - start a root shell on TTY 9 for debugging + +For more convinience in handling units, there is the package systemd-ui, which is started as user with the command systemadm. + +Switching runlevels, reboot and shutdown are also handled by systemctl: + +- systemctl isolate graphical.target - take you to what you know as init 5, where your X-server runs +- systemctl isolate multi-user.target - take you to what you know as init 3, TTY, no X +- systemctl reboot - shut down and reboot the system +- systemctl poweroff - shut down the system + +All these commands, other than the ones for switching runlevels, can be executed as normal user. + +### Basic Usage of journalctl ### + +systemd does not only boot machines faster than the old init system, it also starts logging much earlier, including messages from the kernel initialization phase, the initial RAM disk, the early boot logic, and the main system runtime. So the days where you needed to use a camera to provide the output of a kernel panic or otherwise stalled system for debugging are mostly over. + +With systemd, logs are aggregated in the journal which resides in /var/log/. To be able to make full use of the journal, we first need to set it up, as Debian does not do that for you yet: + + # addgroup --system systemd-journal + # mkdir -p /var/log/journal + # chown root:systemd-journal /var/log/journal + # gpasswd -a $user systemd-journal + +That will set up the journal in a way where you can query it as normal user. Querying the journal with journalctl offers some advantages over the way syslog works: + +- journalctl --all - show the full journal of the system and all its users +- journalctl -f - show a live view of the journal (equivalent to "tail -f /var/log/messages") +- journalctl -b - show the log since the last boot +- journalctl -k -b -1 - show all kernel logs from the boot before last (-b -1) +- journalctl -b -p err - shows the log of the last boot, limited to the priority "ERROR" +- journalctl --since=yesterday - since Linux people normally do not often reboot, this limits the size more than -b would +- journalctl -u cron.service --since='2014-07-06 07:00' --until='2014-07-06 08:23' - show the log for cron for a defined timeframe +- journalctl -p 2 --since=today - show the log for priority 2, which covers emerg, alert and crit; resembles syslog priorities emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), debug (7) +- journalctl > yourlog.log - copy the binary journal as text into your current directory + +Journal and syslog can work side-by-side. On the other hand, you can remove any syslog packages like rsyslog or syslog-ng once you are satisfied with the way the journal works. + +For very detailed output, append "systemd.log_level=debug" to the kernel boot-time parameter list, and then run: + + # journalctl -alb + +Log levels can also be edited in /etc/systemd/system.conf. + +### Analyzing the Boot Process with systemd ### + +systemd allows you to effectively analyze and optimize your boot process: + +- systemd-analyze - show how long the last boot took for kernel and userspace +- systemd-analyze blame - show details of how long each service took to start +- systemd-analyze critical-chain - print a tree of the time-critical chain of units +- systemd-analyze dot | dot -Tsvg > systemd.svg - put a vector graphic of your boot process (requires graphviz package) +- systemd-analyze plot > bootplot.svg - generate a graphical timechart of the boot process + +![](https://farm6.staticflickr.com/5559/14607588994_38543638b3_z.jpg) + +![](https://farm6.staticflickr.com/5565/14423020978_14b21402c8_z.jpg) + +systemd has pretty good documentation for such a young project under heavy developement. First of all, there is the [0pointer series by Lennart Poettering][3]. The series is highly technical and quite verbose, and holds a wealth of information. Another good source is the distro agnostic [Freedesktop info page][4] with the largest collection of links to systemd resources, distro specific pages, bugtrackers and documentation. A quick glance at: + + # man systemd.index + +will give you an overview of all systemd man pages. The command structure for systemd for various distributions is pretty much the same, differences are found mainly in the packaging. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/use-systemd-system-administration-debian.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://lists.debian.org/debian-devel/2013/10/msg00444.html +[2]:https://lists.debian.org/debian-devel/2014/02/msg00316.html +[3]:http://0pointer.de/blog/projects/systemd.html +[4]:http://www.freedesktop.org/wiki/Software/systemd/ \ No newline at end of file From f929cf6bee9717821ff928bd493ea0cb6156adb2 Mon Sep 17 00:00:00 2001 From: hunanchenxingyu Date: Fri, 11 Jul 2014 19:39:32 +0800 Subject: [PATCH 084/291] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E4=B8=AD=20by=20huna?= =?UTF-8?q?nchenxingyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md b/sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md index e3752df964..f717210d09 100644 --- a/sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md +++ b/sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md @@ -1,3 +1,5 @@ +hunanchenxingyu translating.... +================================================================================ ncdu – NCurses Disk Usage Analyzer ================================================================================ [Ncdu][1] (NCurses Disk Usage) is a ncurses-based du viewer. It provides a fast and easy-to-use interface through the well-known [du][2] command. It displays percentages of disk usage and also allow you to browse through directories via ncurses library. From fb1764ac713f391855d6bb26a91235b0a5a311e0 Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 11 Jul 2014 21:16:45 +0800 Subject: [PATCH 085/291] PUB:20140630 KDE Connect Adds Android File Sending, Touchpad Emulation @bookjoy --- ...ndroid File Sending, Touchpad Emulation.md | 49 ++++++++++++++++++ ...ndroid File Sending, Touchpad Emulation.md | 50 ------------------- 2 files changed, 49 insertions(+), 50 deletions(-) create mode 100644 published/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md delete mode 100644 translated/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md diff --git a/published/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md b/published/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md new file mode 100644 index 0000000000..0ff2f836a6 --- /dev/null +++ b/published/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md @@ -0,0 +1,49 @@ +KDE Connect增加了安卓文件发送、触摸板模拟等功能 +================================================================================ + +![如今的KDE Connect 能在桌面和手机之间共享文件](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/kde-connect-share-feature.jpg) + +通过安卓版的KDE和Plasma Desktop可以将所连接设备的触摸屏当作电脑的触摸板使用。(注:Plasma 是KDE项目提供的所有图形环境总称。目前有三个Plasma子项目:Plasma Desktop用于传统的桌面电脑和笔记本电脑、Plasma Netbook用于上网本,以及Plasma Active用于平板电脑。) + +这个新附加的无线输入设备可以作为一般的鼠标使用,不过仍然不支持像双指划动或双指右击这样的多点触摸。(LCTT译注:双指右击指在触摸板上双指同时双击,代表鼠标右键点击) + +安卓的共享方式现在支持KED Connect,允许你从安卓发送文件到你的桌面,也可以通过Dolphin文件管理的菜单或者用命令行推送文件的方式,从桌面发送文件到安卓。 + +在[iOS 8 和 OS X Yosemite][1]、 [Android ‘L’ 和 Chrome OS][2]上的类似支持,计划在这个秋天首次亮相。 + +本次更新的版本修复了很多的漏洞,包括很多的改进和对FreeBSD系统的支持。 + +完整的特性如下: + +- 在安卓和KDE之间共享文件 +- 用平板电脑模拟触摸板 +- 在桌面接收来自安卓4.3以上版本的通知 +- 共享剪切板支持手机和PC之间的拷贝、粘贴 +- 可以遥控桌面上选定的媒体播放器 +- 电池状态 +- WI-FI连接共享 +- RSA加密 + +### KDE Connect 0.7版下载 ### + +从Google Play和F-Droid商店可以免费下载到KDE Connect Android的应用。 + +- [ 从Google Play下载KDE Connect][3] + +为了能用到这些最新特征,你需要安装Plasma的最新版本KDE Connect(0.7版)。撰写本文时,还没有提供deb安装包和PPA源。不过可以在Kubuntu 14.04 LTS上通过安装源码来安装,或用以下介绍方式[戳这里][4]。 + +- [下载KDE Connect 0.7源代码][5] + +-------------------------------------------------------------------------------- + +点击: http://www.omgubuntu.co.uk/2014/06/kde-connect-android-notifications-linux-desktop + +译者:[bookjoy](https://github.com/bookjoy) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2014/06/os-x-10-10-feature-ubuntu-already +[2]:http://www.omgchrome.com/android-apps-notifications-call-alerts-chromebook/ +[3]:https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp +[4]:https://albertvaka.wordpress.com/2014/06/28/awesome-contributions-to-kde-connect/#comment-1175 +[5]:http://download.kde.org/unstable/kdeconnect/0.7/src/kdeconnect-kde-0.7.tar.xz.mirrorlist diff --git a/translated/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md b/translated/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md deleted file mode 100644 index 3d70d12de6..0000000000 --- a/translated/news/20140630 KDE Connect Adds Android File Sending, Touchpad Emulation.md +++ /dev/null @@ -1,50 +0,0 @@ - -KDE Connect增加安卓文件发送、触摸板模拟 -================================================================================ -**安卓版KDE Connect增加了很多已经发布的新特性** - -![如今的KDE Connect 能在桌面和手机之间共享文件](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/kde-connect-share-feature.jpg) -如今的KDE Connect 能在桌面和手机之间共享文 - -如今的安卓版本KDE和Plasma Desktop允许已经连接(到电脑的)设备的触屏作为你电脑的触摸板使用KDE Connect for Android and the Plasma desktop(注:Plasma 工作空间是KDE项目提供的所有图形环境总称。目前有三个Plasma子项目:Plasma Desktop用于传统的桌面电脑和笔记本电脑、Plasma Netbook用于上网本,以及Plasma Active用于平板电脑。) - -另一个无线输入设备作为鼠标使用,但仍然不支持像两个手指划动或右击这样的多点触摸This additional wireless input device will act just like a basic mouse, though doesn’t (yet) support multitouch features like two finger scrolling or right-clicking. - -安卓的共享intent现在支持KED Connect,允许你通过Dolphin文件管理的菜单或者用命令项推送文件的方式,从安卓发送文件到桌面,反之亦然。 - -[iOS 8 and OS X Yosemite][1] and [Android ‘L’ and Chrome OS][2]的类似特征,计划在这个秋天首次亮相。 - -更新的版本修复了很多的漏洞,包括很多的改进和对FreeBSD系统的支持。 - -全部特征如下: -- 共享文件到/从安卓和KDE -- 触摸板模拟 -- 在桌面接收来自安卓的通知 -- 共享剪切板支持phone手机和PC之间的拷贝、粘贴 -- 供选择桌面媒体播放器用的多媒体远程控制 -- WI-FI连接共享 -- RSA加密 - -### KDE Connect 0.7版下载 ### - -从Google Play和F-Droid商店可以免费下载到KDE Connect Android的应用程序。 - -- [ 从Google Play下载KDE Connect][3] - -为了能用到这些最新特征,你需要安装Plasma的最新版本KDE Connect(0.7版)。撰写本文时,还没有提供deb安装包和PPA源。不过可以在Kubuntu 14.04 LTS上通过安装源码来安装,或用以下介绍方式[戳这里][4]。 - -- [下载KDE Connect 0.7源代码][5] - --------------------------------------------------------------------------------- - -点击: http://www.omgubuntu.co.uk/2014/06/kde-connect-android-notifications-linux-desktop - -译者:[bookjoy](https://github.com/bookjoy) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.omgubuntu.co.uk/2014/06/os-x-10-10-feature-ubuntu-already -[2]:http://www.omgchrome.com/android-apps-notifications-call-alerts-chromebook/ -[3]:https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp -[4]:https://albertvaka.wordpress.com/2014/06/28/awesome-contributions-to-kde-connect/#comment-1175 -[5]:http://download.kde.org/unstable/kdeconnect/0.7/src/kdeconnect-kde-0.7.tar.xz.mirrorlist From a856bdd16112f83721179e2b1a828a18239cac67 Mon Sep 17 00:00:00 2001 From: hunanchenxingyu Date: Fri, 11 Jul 2014 23:02:17 +0800 Subject: [PATCH 086/291] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90=20?= =?UTF-8?q?by=20hunanchenxingyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...40711 ncdu--NCurses Disk Usage Analyzer.md | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) rename {sources => translated}/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md (62%) diff --git a/sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md b/translated/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md similarity index 62% rename from sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md rename to translated/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md index f717210d09..ccddaf1b1c 100644 --- a/sources/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md +++ b/translated/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md @@ -1,14 +1,12 @@ -hunanchenxingyu translating.... +ncdu – 基于Ncurses库的磁盘使用分析器 ================================================================================ -ncdu – NCurses Disk Usage Analyzer -================================================================================ -[Ncdu][1] (NCurses Disk Usage) is a ncurses-based du viewer. It provides a fast and easy-to-use interface through the well-known [du][2] command. It displays percentages of disk usage and also allow you to browse through directories via ncurses library. +[Ncdu][1] (NCurses Disk Usage) 是一个基于Ncurses库的du命令浏览器. 它通过众所周知的[du][2]命令,为用户提供一个快速且容易被使用的接口. 它显示磁盘使用的百分比且允许你通过ncurses库去浏览目录. ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu-about.png) -### Installation ### +### 安装 ### -ncdu has been ported to most Linux distros and can be installed via official repos. +ncdu已经被移植到大多数linux发行版本,可从官方资源库中安装. Arch / Manajaro and Derivatives: @@ -24,9 +22,9 @@ Fedora and Derivatives: sudo yum install ncdu -Check [here][3] for other distros. +在[这里][3]检查其他的发行版本. -### Using ncdu ### +### 使用 ncdu ### Keys: @@ -42,27 +40,27 @@ Keys: - t — Toggle dirs before files when sorting - g – Show percentage and/or graph -To use ncdu, Open your terminal and run +为使用ncdu,请打开终端并且运行 ncdu -this starts scanning the directories. +开始扫描目录. ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu-scanning.png) -When scanning is done you can easily see the file / directory sizes. +当扫描完成后,你能够很容易的查看文件/目录的大小. ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/done-scanning.png) -Delete file confirm: +确认删除文件: ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu-delete-confirm.png) -Read the ncdu manual [here][4] or run: +在[这里][4] 阅读ncdu命令手册或运行: man ncdu -**Credit**: Ncdu was suggested by two of our readers **BasketCase** and **Sama Vim** in the post [Linux Basics: How To Find Size of Directory Commands][5]. +**荣誉**: 有两位读者**BasketCase**和**Sama Vim**在阅读[Linux Basics: How To Find Size of Directory Commands][5]之后 向我们推荐Ncdu工具. 注:上面这个链接已经做成原文 Enjoy! @@ -71,7 +69,7 @@ Enjoy! via: http://www.unixmen.com/ncdu-ncurses-disk-usage-analyzer/ -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 1ca782846a6f7d9360769691dfda3da4e01a415d Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 12 Jul 2014 00:06:49 +0800 Subject: [PATCH 087/291] PUB:20140610 The Best Linux Distribution for New Users @linuhap --- ...e Best Linux Distribution for New Users.md | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) rename {translated/talk => published}/20140610 The Best Linux Distribution for New Users.md (68%) diff --git a/translated/talk/20140610 The Best Linux Distribution for New Users.md b/published/20140610 The Best Linux Distribution for New Users.md similarity index 68% rename from translated/talk/20140610 The Best Linux Distribution for New Users.md rename to published/20140610 The Best Linux Distribution for New Users.md index 1d9ab38028..2c8d5f7819 100644 --- a/translated/talk/20140610 The Best Linux Distribution for New Users.md +++ b/published/20140610 The Best Linux Distribution for New Users.md @@ -1,8 +1,8 @@ -对新用户来说最好的Linux发行版 +适合新用户的最佳的Linux发行版 ================================================================================ -这个争论无疑给许多Linux用户带来了麻烦。争论不能普遍归结为哪个发行版是真正最适合新用户的,而是哪个发行版受这些争论者的喜爱。如果我们撇开个人喜爱,我们会看到更清楚的一面。但即使这样,清晰也很快会被新用户的需求和期望遮蔽。考虑到这点,我决定采取一个不同的方法来找出“对新用户来说最好的发行版”。我评判最好发行版的标准不仅是易用,而且还要呼吁由日益增长的移动界面隐喻推动带来的现代设计美学。 +这个争论无疑给许多Linux用户带来了麻烦。争论的焦点一般不是哪个发行版是真正最适合新用户的,而是哪个发行版受这些争论者的喜爱。如果我们撇开个人喜爱,我们会看到更清楚的一面。但即使这样,明确的结论也会受到被新用户的需求和期望的影响。考虑到这点,我决定采取一个不同的方法来找出“对新用户来说最好的发行版”。我评判最好发行版的标准不仅是易用,而且还要具有由日益增长的移动界面风格所带来的现代设计理念。 -为了这次评测,发行版必须要有如下要求: +对于这次评测,我们对发行版有如下要求: - 非常友好 - 包括,开箱即用,所有常用的应用程序 @@ -13,13 +13,13 @@ ### 用户友好 ### -这是一个备受争议的话题。但事实的真相是——新用户必须能够获得一种风格的Linux并开始使用,需要很少或不需要解释。如果必须很出太多解释,那么这个发行版便不是用户友好的。我不想成为那样的人,但是几乎任何用户都可以在近乎零指导的情况下坐在Windows 7或OS X桌面前并开始使用它。这是每一个Linux桌面都应当争取去做的。 +这是一个备受争议的话题。但事实的真相是——新用户必须能够选择某种风格的Linux并开始使用,只需要很少或不需要解释。如果必须很出太多解释,那么这个发行版便不是用户友好的。我不喜欢那些操作系统,但是几乎任何用户都可以在近乎零指导的情况下坐在Windows 7或OS X桌面前并开始使用它。这是每一个Linux桌面都应当争取去做的。 ### 常用应用程序 ### -安装好系统后用户不应该去安装必需的程序。那么什么是必需的呢?每年列表都会变短。目前,必备的程序列表如下: +安装好系统后用户不应该再去安装必需的程序。那么什么是必需的呢?每年列表都会变短。目前,必备的程序列表如下: -- 网页浏览器:Chrome或者Firefox(对不起,其他的浏览器不需提供) +- 网页浏览器:Chrome或者Firefox(对不起,根本不需要其他的浏览器) - 电子邮件客户端:Thunderbird是显而易见的选择。 - Office办公套件:LibreOffice。就这样。 - 音乐播放器:播放本地文件以及连接到流媒体服务(比如Spotify)。 @@ -32,29 +32,29 @@ ### 时尚的界面 ### -我已经多次提到移动设备的美化。由于iOS和Android,用户越来越喜欢时尚的界面。Linux的桌面需要进行效仿并且用独特的、时尚的和易用的界面来吸引用户注意力。旧的隐喻在多触控友好的移动世界里不再有影响力。 +我已经多次提到移动设备的美化。由于iOS和Android,用户越来越喜欢时尚的界面。Linux的桌面需要进行效仿并且用独特的、时尚的和易用的界面来吸引用户注意力。旧的风格在支持多触控的移动世界里不再有影响力。 -排名前三的发行版 +## 排名前三的发行版 ## 以文中的标准,哪个发行版本满足了(或超过)我们的需求?首先,让我们来审查一下前三名的候选者。以下哪个满足了(或超过)标准。 -#### Ubuntu #### +### Ubuntu ### -[Ubuntu Linux][1]一直为用户友好型Linux的王者。开箱即用,寻找一个迷人和易用的桌面(Unity)是一个挑战,甚至是对于那些对平台不熟悉的人。它的桌面布局虽然与众不同,但却是合乎逻辑和很直观的。对于在桌面环境中添加一个最强大的搜索工具,在Linux中Ubuntu Unity应当获得最高成就。 +[Ubuntu Linux][1]一直是用户友好型Linux的王者。开箱即用,寻找一个比它更迷人和易用的桌面(Unity)有点困难,甚至是对于那些对平台不熟悉的人也是这样的。它的桌面布局虽然与众不同,但却是合乎逻辑和很直观的。对于在桌面环境中添加一个最强大的搜索工具,在Linux中Ubuntu Unity应当获得最高成就。 -#### Linux Mint #### +### Linux Mint ### 如果认为有一个篡夺王位的发行版,那它就是[Linux Mint][2]。Linux Mint做了更多桌面的标准方法,但是图层华丽且多变使其从老旧的桌面隐喻中脱颖而出。Linux Mint基于Ubuntu,所以它得益于“老大哥”Ubuntu的稳定性和可靠性。 -#### Linux Deepin #### +### Linux Deepin ### -用户友好型列表中的新成员是[Linux Deepin][3]。这个相对较新的受欢迎的发行版来自中国,而且应该扬起一些认真的浪波。为什么这样说?因为它使得Linux桌面转变为艺术美;同时也保持了高水平的用户友好性。我期待它的新版本发布将是个大事件。Linux Deepin使用的是GNOME 3桌面并将它重组得完全不同的,完全不可思议。 +用户友好型列表中的新成员是[Linux Deepin][3]。这个相对较新的受欢迎的发行版来自中国,而且应该正视它所带来的成就。为什么这样说?因为它使得Linux桌面转变为艺术美;同时也保持了高水平的用户友好性。我期待它的新版本发布将是个大事件。Linux Deepin使用的是GNOME 3桌面并将它重组得完全不同的,完全不可思议。 -### 各发行版的比分 ### +## 各发行版的比分 ## 在最佳的竞争者名单中,我们来比较一下每一个标准和等级。每个发行版的比分如下:对于每个标准,发行版排名从高到底(第一名得一分,最后一名得三分)。最后,总分决定谁是冠军——最低得分获胜。 -#### 用户友好性 #### +### 用户友好性 ### 这可能是最严密的分类和最艰难的判别。每个发行版以不同的方法在用户友好性上都各有优势。最后,我的排名是: @@ -64,13 +64,13 @@ 3. Linux Deepin -为什么是这样呢?Mint仅有微小的优势,因为它的开始按钮,任务栏和桌面图标仍然使用旧的桌面隐喻。胜者的优势很微小,Ubuntu和Linux Deepin要求的学习曲线近乎为零——甚至是对于未使用者。 +为什么是这样呢?Mint仅有微小的优势,因为它的开始按钮,任务栏和桌面图标仍然使用旧的桌面风格。胜者的优势很微小,Ubuntu和Linux Deepin要求的学习曲线近乎为零——甚至是对于小白们。 -#### 常用的应用程序 #### +### 常用的应用程序 ### -这一类别难以判断的唯一原因是因为每个发行版都包括所有必要的应用程序。虽然Linux Deepin目前提供的是金山Office(一个最好的移动办公套件解决方案),它计划在2014发行版本中默认使用LibreOffice。 +这一类别难以判断的唯一原因是因为每个发行版都包括所有必要的应用程序。虽然Linux Deepin目前提供的是金山Office(一个最好的移动办公套件解决方案之一),它计划在2014发行版本中默认使用LibreOffice。 -常用程序的我的一个问题是关于音乐播放器。虽然我在线听过很多音乐(使用Spotify客户端),但当我播放本地音乐时,总是使用Clementine。他们的默认播放器是: +关于常用程序的我的一个问题是音乐播放器。虽然我在线听过很多音乐(使用Spotify客户端),但当我播放本地音乐时,总是使用Clementine。他们的默认播放器是: - Ubuntu: Rhythmbox - Linux Mint: Banshee @@ -98,7 +98,7 @@ rhythmbox 3. Linux Deepin -#### 应用程序商店 #### +### 应用程序商店 ### 如果不分析这部分将难进行。为什么呢?因为对于新用户应用商店可以轻易成就或是毁掉一个Linux发行版。总会有应用需求而且没有用户想经过命令行的重重考验。每个发行版都有自己的应用商店。 @@ -106,7 +106,7 @@ rhythmbox - Mint: 软件管理器 - Linux Deepin: Deepin软件中心 -应该说,这些工具中的每一个都是基于Ubuntu软件中心。奇怪的是Ubuntu软件中心却正好排在最底。主要原因是Ubuntu软件中心太慢了——甚至在一个非常强大的机器上。 +应该说,这些工具中的每一个都是基于Ubuntu软件中心的。奇怪的是Ubuntu软件中心却正好排在最底。主要原因是Ubuntu软件中心太慢了——甚至在一个非常强大的机器上。 我将应用商店排名设为如下: @@ -118,7 +118,7 @@ rhythmbox 每个应用商店有非常相似的功能。Linux Deepin获得第一的原因有两个:界面易于控制而且程序开启速度远远快于Ubuntu软件中心和Mint软件管理器。 -#### 时尚的界面 #### +### 时尚的界面 ### 在这部分Linux Mint远远落后。尽管它提供了一个华美的界面和有很浅的学习曲线,但相比之下它仍然是一个非常过时的桌面。甚至在强大的硬件(有强大的显卡)上,Linux Mint仍然很容易被看成是来自90年代末的桌面。为了评判结果,我们必须看看是Ubuntu Linux还是Linux Deepin能带我们走进未来。胜者是: @@ -130,7 +130,7 @@ rhythmbox Linux Deepin使用GNOME 3来制作一个使用起来很漂亮的GNOME和OSX的混合体,你会认为你在处理一件互动的艺术品。 -### 总冠军 ### +## 总冠军 ## 虽然这是很初步的,对新用户来说最好的Linux发行版顺序应该是: @@ -140,7 +140,7 @@ Linux Deepin使用GNOME 3来制作一个使用起来很漂亮的GNOME和OSX的 3. Ubuntu Linux的总得分是9 -如果你想知道关于这篇文章的作者主张,要知道:我已经使用Ubuntu Linux很多年了(而且仍在用)。我最近一直在说“如果有一个Linux发行版动摇使用Ubuntu的想法,它便是Linux Deepin。”虽然我很欣赏Linux Mint,但我只是用它来进行测试。当说到对新用户最好的Linux发型版,Linux Mint是显而易见的赢家。 +如果你想知道关于这篇文章的作者观点,要知道:我已经使用Ubuntu Linux很多年了(而且仍在用)。我最近一直在说“如果有一个Linux发行版能动摇我使用Ubuntu的想法,它便是Linux Deepin。”虽然我很欣赏Linux Mint,但我只是用它来进行测试。当说到对新用户最好的Linux发行版,Linux Mint是显而易见的赢家。 这件事真正的真相是——你在使用这些桌面中任何一个都不会错。他们都各有所长。如果你追求真正的美丽,使用Linux Deepin吧。如果你想要漂亮外观与易用结合,那就使用Ubuntu Linux。如果你只想要简单而且并不在乎漂亮的外观,那就用Linux Mint。不管你选哪一个,这都是三赢的局面。 @@ -150,7 +150,7 @@ Linux Deepin使用GNOME 3来制作一个使用起来很漂亮的GNOME和OSX的 via: http://www.linux.com/news/software/applications/775873-the-best-linux-distribution-for-new-users/ -译者:[linuhap](https://github.com/linuhap) 校对:[校对者ID](https://github.com/校对者ID) +译者:[linuhap](https://github.com/linuhap) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From c8813c8985491f571b2680bb8c4e4bec2d66c31d Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 12 Jul 2014 00:23:46 +0800 Subject: [PATCH 088/291] =?UTF-8?q?PUB=EF=BC=9A20140623=20How=20to=20disab?= =?UTF-8?q?le=20Ipv6=20on=20Ubuntu=20or=20Linux=20Mint=20or=20Debian?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @geekpi --- ... Ipv6 on Ubuntu or Linux Mint or Debian.md | 43 +++++++++---------- 1 file changed, 21 insertions(+), 22 deletions(-) rename {translated/tech => published}/20140623 How to disable Ipv6 on Ubuntu or Linux Mint or Debian.md (74%) diff --git a/translated/tech/20140623 How to disable Ipv6 on Ubuntu or Linux Mint or Debian.md b/published/20140623 How to disable Ipv6 on Ubuntu or Linux Mint or Debian.md similarity index 74% rename from translated/tech/20140623 How to disable Ipv6 on Ubuntu or Linux Mint or Debian.md rename to published/20140623 How to disable Ipv6 on Ubuntu or Linux Mint or Debian.md index f25eb78aec..4b63c6df0f 100644 --- a/translated/tech/20140623 How to disable Ipv6 on Ubuntu or Linux Mint or Debian.md +++ b/published/20140623 How to disable Ipv6 on Ubuntu or Linux Mint or Debian.md @@ -1,14 +1,14 @@ -如何在Ubuntu,Linux Mint,Debian上禁用Ipv6 +如何在Ubuntu,Linux Mint,Debian上禁用IPv6 ================================================================================ -### Ipv6 ### +### IPv6 ### -IPv6是寻址方案Ipv4的下一个版本,被用来给如google.com这样的域名分配数字地址。 +IPv6是寻址方案IPv4的下一个版本,被用来给域名分配数字地址。 -Ipv6比Ipv4支持更多的地址。然而,它还没有被广泛支持,还在被接受的过程中。 +IPv6比IPv4支持更多的地址。然而,它还没有被广泛支持,还在被接受的过程中。 -### 你的系统支持Ipv6么? ### +### 你的系统支持IPv6么? ### -为了支持Ipv6,需要很多事情。首先你需要系统/操作系统支持Ipv6。Ubuntu,Linux Mint,和大多是现代发行版都支持它。如果你看一下ifconfig指令的输出,你就会看见你的网络接口被分配了ipv6地址。 +为了支持IPv6,需要很多事情。首先你需要系统/操作系统支持IPv6。Ubuntu,Linux Mint,和大多是现代发行版都支持它。如果你看一下ifconfig指令的输出,你就会看见你的网络接口被分配了IPv6地址。 $ ifconfig eth0 Link encap:Ethernet HWaddr 00:1c:c0:f8:79:ee @@ -32,13 +32,13 @@ Ipv6比Ipv4支持更多的地址。然而,它还没有被广泛支持,还在 看一下行“inet6 addr”。 -接下来你需要一个支持ipv6的路由器/调制解调器。额外地,你的ISP也必须支持ipv6。 +接下来你需要一个支持ipv6的路由器/调制解调器。此外,你的ISP也必须支持IPv6。 -除了检查网络设备的每一部分,最好查出你是否可以通过ipv6访问网站。 +除了检查网络设备的每一部分,最好查出你是否可以通过IPv6访问网站。 -有很多网站可以检测你的连接是否支持ipv6. 这里就是个例子:[http://testmyipv6.com/][1] +有很多网站可以检测你的网络连接是否支持IPv6. 这里就是个例子:[http://testmyipv6.com/][1] -下面是在内核中启用ipv6的参数: +下面是在内核中启用IPv6的参数: $ sysctl net.ipv6.conf.all.disable_ipv6 net.ipv6.conf.all.disable_ipv6 = 0 @@ -54,13 +54,13 @@ Ipv6比Ipv4支持更多的地址。然而,它还没有被广泛支持,还在 $ cat /proc/sys/net/ipv6/conf/all/disable_ipv6 0 -注意这里的变量是控制ipv6的“禁用”。所以设置1就会禁用ipv6。 +注意这里的变量是控制IPv6的“禁用”。所以设置1就会禁用IPv6。 -### 如果它不支持就禁用ipv6 ### +### 如果它不支持就禁用IPv6 ### -如果你的网络设备中不支持ipv6,那最好就全部禁用它们。为什么?因为这回引起延迟域查询,在网络连接中不必要地尝试连接到ipv6地址导致延迟等等问题。 +如果你的网络设备中不支持IPv6,那最好就全部禁用它们。为什么?因为这会引起域名查询延迟,在网络连接中不必要地尝试连接到IPv6地址导致延迟等等问题。 -我也遇到过像这样的问题,apt-get命令偶尔会尝试连接到ipv6地址失败接着检索ipv4地址。看一下下面的输出。 +我也遇到过像这样的问题,apt-get命令偶尔会尝试连接到IPv6地址失败接着检索IPv4地址。看一下下面的输出。 $ sudo apt-get update Ign http://archive.canonical.com trusty InRelease @@ -76,9 +76,9 @@ Ipv6比Ipv4支持更多的地址。然而,它还没有被广泛支持,还在 我在其他的应用上也注意到了相似的问题,如Hexchat,同样Google Chrome也会有时会在查询域名的时候花费更长的时间。 -所以最好的方案是完全禁用Ipv6来摆脱这些事情。这只需要一点点配置但可以帮助你解决很多你系统上的很多问题。用户甚至反应这可以加速网络。 +所以最好的方案是完全禁用IPv6来摆脱这些事情。这只需要一点点配置但可以帮助你解决很多你系统上的很多问题。用户甚至反应这可以加速网络。 -#### 禁用 Ipv6 - 方案1 #### +#### 禁用 IPv6 - 方案1 #### 编辑文件 - /etc/sysctl.conf @@ -97,7 +97,7 @@ Ipv6比Ipv4支持更多的地址。然而,它还没有被广泛支持,还在 $ sudo sysctl -p -再次检查ifconfig的输出,这里应该没有ipv6地址了。 +再次检查ifconfig的输出,这里应该没有IPv6地址了。 $ ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:5f:28:8b @@ -108,12 +108,11 @@ Ipv6比Ipv4支持更多的地址。然而,它还没有被广泛支持,还在 collisions:0 txqueuelen:1000 RX bytes:1501691 (1.5 MB) TX bytes:104883 (104.8 KB) -If it does not work, then try rebooting the system and check ifconfig again. 如果不行,尝试重启系统并再次检查ifconfig -#### 禁用 ipv6 - GRUB 方案 #### +#### 禁用 IPv6 - GRUB 方案 #### -Ipv6同样可以通过编辑grub配置文件禁用。 +IPv6同样可以通过编辑grub配置文件禁用。 $ sudo gedit /etc/default/grub @@ -125,13 +124,13 @@ Ipv6同样可以通过编辑grub配置文件禁用。 $ sudo update-grub2 -重启,现在ipv应该就已经禁用了。 +重启,现在IPv6应该就已经禁用了。 -------------------------------------------------------------------------------- via: http://www.binarytides.com/disable-ipv6-ubuntu/ -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) ,校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From b3232359f04b37ad8f281bfa3987e7e3a947d965 Mon Sep 17 00:00:00 2001 From: vito-L Date: Sat, 12 Jul 2014 01:35:44 +0800 Subject: [PATCH 089/291] Translating How To Disable Overlay Scrollbars in Ubuntu 14.04 --- ...140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md b/sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md index 2a51a8748e..6351487c54 100644 --- a/sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md +++ b/sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md @@ -1,3 +1,4 @@ +Transalting How To Disable Overlay Scrollbars in Ubuntu 14.04 [Quick Tip] ================================================================================ ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/04/Ubuntu-14.042-790x493.jpeg) @@ -40,4 +41,4 @@ via: http://www.unixmen.com/disable-overlay-scrollbars-ubuntu-14-04-quick-tip/ 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[1]:http://www.unixmen.com/author/seth/ \ No newline at end of file +[1]:http://www.unixmen.com/author/seth/ From 28ff7065f840930d3825d0554097235e545c4125 Mon Sep 17 00:00:00 2001 From: vito-L Date: Sat, 12 Jul 2014 02:07:06 +0800 Subject: [PATCH 090/291] translated --- ...able Overlay Scrollbars in Ubuntu 14.04.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) rename {sources => translated}/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md (56%) diff --git a/sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md b/translated/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md similarity index 56% rename from sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md rename to translated/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md index 6351487c54..8a3fefca01 100644 --- a/sources/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md +++ b/translated/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md @@ -1,23 +1,22 @@ -Transalting -How To Disable Overlay Scrollbars in Ubuntu 14.04 [Quick Tip] +如何在Ubuntu14.04中禁用叠加滚动条【小贴士】 ================================================================================ ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/04/Ubuntu-14.042-790x493.jpeg) -Hello Guys, +Hello 伙计们, -This is a quick tip on how to disable the over scroll bars in Ubuntu. Note that the overlay feature is NOT removed when this tutorial is followed instead you will be enable or disable. +这是一个如何在Ubuntu中禁用叠加滚动条的小贴士。注意,在本文中不是删除叠加功能,相反,你将启用或禁用它。 -### Disable ### +### 禁用 ### -Open terminal and run +打开终端并执行以下命令 gsettings set com.canonical.desktop.interface scrollbar-mode normal -Changes should take effect immediately: +更改后会立即生效: ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Unity_Overlay_off.png) -### Enable ### +### 启用 ### gsettings reset com.canonical.desktop.interface scrollbar-mode @@ -31,14 +30,15 @@ Enjoy! [Enock Seth Nyamador][1] -I wears --[0-0]--, an open source addict. A developing African geek. Am a n00b developer and an aspiring photographer. Feel free to connect with me. Want to offer me something or tips? Am ever ready especially in Software development and Photography. Cheers! +我穿着--[0-0]--(比基尼?), 一个开源的瘾君子。一个发展中的非洲geek。我是一个菜鸟开发者和一个有追求的摄影师。想提供给我什么或者是小贴士,请随时与我联系。我随时准备开发和照片。干杯! -------------------------------------------------------------------------------- via: http://www.unixmen.com/disable-overlay-scrollbars-ubuntu-14-04-quick-tip/ -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Vito](https://github.com/vito-L) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [1]:http://www.unixmen.com/author/seth/ + From 406f00df05dd79bea97e7a9f55b3c436cd591d9b Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Sat, 12 Jul 2014 11:56:25 +0800 Subject: [PATCH 091/291] Update 20140711 Linux Basics--How To Find Size of Directory Commands.md --- ...711 Linux Basics--How To Find Size of Directory Commands.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md b/sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md index 1bc86153e8..bd88b1f49e 100644 --- a/sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md +++ b/sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md @@ -1,3 +1,4 @@ +cvsher翻译中 Linux Basics: How To Find Size of Directory Commands ================================================================================ This is the first in a series of posts in coming where I’ll be writing about some **basic commands** that that will be of good use to new users. @@ -62,4 +63,4 @@ via: http://www.unixmen.com/linux-basics-find-size-directory-commands/ 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From c4f1d8dcb7b3f407066755fda0660410213b9424 Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Sat, 12 Jul 2014 13:24:48 +0800 Subject: [PATCH 092/291] Finish translating 20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing --- ...pp 'Vocal' Hits Beta, Ready for Testing.md | 34 ------------------- ...pp 'Vocal' Hits Beta, Ready for Testing.md | 25 ++++++++++++++ 2 files changed, 25 insertions(+), 34 deletions(-) delete mode 100644 sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md create mode 100644 translated/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md diff --git a/sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md b/sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md deleted file mode 100644 index 1a2a5c1c3a..0000000000 --- a/sources/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md +++ /dev/null @@ -1,34 +0,0 @@ -nd0104 is translating -New Linux Podcast App ‘Vocal’ Hits Beta, Ready for Testing -================================================================================ -**Back in April we found ourselves enamoured by a promising new [podcast app for Ubuntu called ‘Vocal‘][1]. Well, the app has since gone from being a stylish mockup to real working code — and you can help test it.** - -The project’s developer, Nathan Dyer, has made beta builds — still unstable and not feature complete — available for testing through a dedicated PPA for Ubuntu 14.04 LTS and 14.10. - -The kicker to this (rather sweet) news is that the beta builds of the app **can only be installed if you’re using the next-gen elementary desktop**. And since elementary do not provide official pre-beta development builds for users to test, that makes it a trite difficult. - -Not quite as difficult as trying it out on Unity, GNOME or KDE desktops, mind. If you’re an Ubuntu user wanting to kick the tires on Vocal you will first need to add an unstable elementary desktop PPA to your systems, something we strongly advise against doing. - -Dyer suggests interested users wait until the first beta of the next elementary version is made available. - -For now we can at least look at it: - -![Vocal Beta running on Elementary (Image: Dyer)](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/vocal-beta.png) -Vocal Beta running on Elementary (Image: Dyer) - -Since Vocal is open source there’s nothing to stop it being ported over to mainstream Linux desktop environments such as Unity. - -In the meantime to learn more visit [the developer’s blog][1], [check out the unstable PPA][2] or hit up [Vocal on Launchpad][3]. - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/06/linux-podcast-app-vocal-hits-preview-kicker - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.omgubuntu.co.uk/2014/04/vocal-podcast-manager-linux -[2]:http://nathandyer.me/2014/06/28/vocal-beta-released-daily-ppa-available/ -[3]:https://launchpad.net/~nathandyer/+archive/vocal-daily -[4]:https://launchpad.net/vocal diff --git a/translated/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md b/translated/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md new file mode 100644 index 0000000000..60e199b660 --- /dev/null +++ b/translated/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md @@ -0,0 +1,25 @@ +Linux 播客软件‘Vocal’进入Beta阶段,准备测试 +================================================================================ +**在四月份的日子里,我们都在迷恋一款Ubuntu下的博客软件['Vocal'][1],但它只是一个漂亮的样机,为了让它能真正的为我们服务,还有一段路要走,而所有的用户,你可以帮助我们测试Vocal。** +软件的开发者,Nathan Dyer已经完成了一个beta版本,其中还有很多功能未完成,但它已经可以通过专用的PPA在Ubuntu 14.04 LTS以及14.10版本下进行测试。 +新闻的发布者宣称,这个beta版本只能**安装在基于下一代基础桌面的系统中(如Elementary OS)**。并且自从Elementary OS不再为用户提供官方的预览版后,让测试这事更加的麻烦了。 +对于不同桌面桌面系统的兼容问题不经显现在GNOME或者KDE等等,如果你是Ubuntu的用户,想要试用Vocal也得先安装并不稳定的Elementary OS下的PPA,通常我们都强烈反对这样去做。 +Dyer建议感兴趣的用户等待适用于下一代基础桌面的beta版本开发完毕。 +现在,我们只能望梅止渴了。 +![Vocal Beta 在 Elementary OS中 (图: Dyer)](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/vocal-beta.png) +Vocal Beta 在 Elementary OS中(图: Dyer) + +如果Vocal能够开源的话,那将没有任何事务能阻挡它被完美的移植到主流的Linux桌面系统中,这就是开源的力量。 +了解更多请访问[开发者的Blog][1],[查找最新版本][2]或者在Launchpad.net上[查看Vocal的最新信息][3] +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/06/linux-podcast-app-vocal-hits-preview-kicker + +译者:[nd0104](https://github.com/nd0104) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2014/04/vocal-podcast-manager-linux +[2]:http://nathandyer.me/2014/06/28/vocal-beta-released-daily-ppa-available/ +[3]:https://launchpad.net/~nathandyer/+archive/vocal-daily +[4]:https://launchpad.net/vocal From 5b9d34b5e33c3c01ed6bf2b4ab6840afe924ffdb Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 12 Jul 2014 23:48:39 +0800 Subject: [PATCH 093/291] =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...140709 Command Line Tuesdays--Part Four.md | 80 ------------------- 1 file changed, 80 deletions(-) delete mode 100644 sources/tech/20140709 Command Line Tuesdays--Part Four.md diff --git a/sources/tech/20140709 Command Line Tuesdays--Part Four.md b/sources/tech/20140709 Command Line Tuesdays--Part Four.md deleted file mode 100644 index 118ad77d6e..0000000000 --- a/sources/tech/20140709 Command Line Tuesdays--Part Four.md +++ /dev/null @@ -1,80 +0,0 @@ -cvsher 翻译中 -Command Line Tuesdays – Part Four -================================================================================ -Heya there geekos! New week, new adventure! - -Today, we’ll learn how to manipulate files using four fairly simple commands. So let’s begin! - -Before we start with the commands themselves, let’s take a quick stop at a section called… - -### …wildcards: ### - -Copying, pasting files, creating directories etc. is probably easier using graphical tools, but, if you’d like to perform more complicated tasks, like copying only .html files from one folder to another, and only copying files that don’t exist in the destination directory, CLI just might come in handy. So, to get back to wildcards, it’s basically a shell feature, a set of special characters, that helps you pick out a set of files based on some simple rules (which characters appear in a file name, how many characters, upper/lower case characters etc.). Here’s the table (click to enlarge): - -![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125946.png) - -And here are a few examples mr Shotts posted in a table of usage also click to enlarge: - -![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125959.png) - -If you use a command with an argument containing a filename, you can use wildcards with no problem. - -### cp ### - -cp is used to copy files or directories. You can use it pretty easily: navigate to the folder you’d like to copy the files from and to, and simply do - -`cp file1 file2` – to copy single files, - -or - -`cp file1 file2 … directory` – to copy files from your current working directory to the directory specified. Here’s mr Shotts’ table with numerous options: - -![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-134248.png) - -### mv ### - -mv is the second command of the day. We can use mv to rename a file or directory, or to move a file or directory. We can use it this way: - -`mv filename1 filename2` – if we want to rename filename1 to filename2 - -or - -`mv file directory` – if we want to move file to directory. - -Here’s a table of few examples of mv with options used with it: - -![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-133515.png) - -### rm ### - -The rm command removes/deletes files and directories. Usage is pretty straightforward: - - rm file - -or - - rm -r directory - -And here’s also a table with some additional options: - -![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-133529.png) - -But, do be careful when using rm as there is no undelete option, so be extra careful not to inflict unwanted damage to your system! - -### mkdir ### - -mkdir is used for creating directories. It’s the most simple command of the day. Simply: - - mkdir directory - -Voila, directory created! - -So this is it for this week, geekos. Hope to see you next tuesday! All the best and kind regards, - --------------------------------------------------------------------------------- - -via: https://news.opensuse.org/2014/07/08/command-line-tuesdays-part-four/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 0bffaa6d596d521fe7cc6cf57a4b6cf4d71596b7 Mon Sep 17 00:00:00 2001 From: JonathanKang Date: Sun, 13 Jul 2014 13:32:58 +0800 Subject: [PATCH 094/291] JonathanKang is translating --- ...How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md b/sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md index 1b207b263f..59190c39ae 100644 --- a/sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md +++ b/sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md @@ -1,3 +1,5 @@ +JonathanKang is translating + How To Enable Tab Complete Heroku Commands In Oh-My-Zsh ================================================================================ **Heroku** Client is the (Command Line Interface) CLI tool for creating and managing Heroku apps. @@ -47,4 +49,4 @@ via: http://www.unixmen.com/enable-tab-complete-heroku-commands-oh-zsh/ [1]:http://www.unixmen.com/install-oh-zsh-ubuntu-arch-linux-fedora/ [2]:https://toolbelt.heroku.com/ -[3]:https://www.heroku.com/ \ No newline at end of file +[3]:https://www.heroku.com/ From 1d5f3d9abcab594eca66da194f96ba7eba3d1b4f Mon Sep 17 00:00:00 2001 From: linuhap Date: Sun, 13 Jul 2014 14:36:30 +0800 Subject: [PATCH 095/291] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E5=8D=8A=EF=BC=8C=E5=8F=88=E6=9C=89=E4=BA=8B=E6=83=85=EF=BC=8C?= =?UTF-8?q?=E8=B0=81=E6=9D=A5=E5=B8=AE=E5=BF=99=E7=BF=BB=E8=AF=91=E5=AE=8C?= =?UTF-8?q?=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0702 CoreOS Linux ending the upgrade cycle.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md b/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md index dabda20f1f..ca6dea9964 100644 --- a/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md +++ b/sources/news/20140702 CoreOS Linux ending the upgrade cycle.md @@ -1,19 +1,19 @@ -linuhap 翻译中 CoreOS Linux ending the upgrade cycle +CoreOS Linux结束升级周期 ================================================================================ -> CoreOS launches commercially supported version of its Linux distribution and vows to do away with manual upgrading +> CoreOS发布了他的Linux发行版的商用支持版,并且宣称将废除手动更新。 -IDG News Service - Hoping to simplify life for system administrators, CoreOS has launched a commercial Linux distribution that continually updates itself, eliminating the need to perform major upgrades. +国际数据集团新闻社消息——CoreOS发布了商用Linux发行版,以期能简化系统管理员的生活。这个Linux发行版可持续进行自动更新,不需要进行重大升级。 -CoreOS is offering its namesake Linux distribution as a commercial service, [starting][1] at $100 a month. +CoreOS提供其同名的Linux发行版做为商业服务,开始为一个月100美元。 -"Businesses today can begin to think of CoreOS as an extension of their OS team, and for enterprise Linux customers this is the last migration they will ever need," said Alex Polvi, founder and CEO of CoreOS, in a statement. +“商家现在可以开始考虑将CoreOS作为他们系统团队的延伸,对于企业Linux客户,这将是他们会需要的最后一次迁移。”CoreOS的创始人和CEO在一份声明中这样说。 -Commercial Linux subscriptions are nothing new: Both [Red Hat][2] and [Suse][3] offer commercial subscriptions for their respective distributions. +商业Linux订阅并不是什么新鲜事:[Red Hat][2]和[Suse][3]都在为他们各自的发行版提供商业订阅。 -Because the applications and libraries these Linux-based companies use are open source and freely available, the cost of the subscriptions doesn't cover the software itself, but rather pays for the updates, bug fixes, integration and technical support for when issues occur. +因为这些以Linux为基础的公司使用的应用程序和库都是开源和免费提供的,所以订阅的费用不包括软件本身,而收费来自更新,漏洞修复,集成以及发生问题时的技术支持。 -CoreOS will be different from these distributions, the company asserted, in that there will be no major updates, which typically require updating all the packages in the distribution at once. Instead, updates and new features will be streamed automatically to the copy of the OS and applied as soon as they are ready. +CoreOS公司声称,CoreOS将会和这些发行版不同,它将不会有重大更新,而这些更新通常需要一次更新更新所有的包。它的更新和新特征将会在就绪后自动。。。。CoreOS will be different from these distributions, the company asserted, in that there will be no major updates, which typically require updating all the packages in the distribution at once. Instead, updates and new features will be streamed automatically to the copy of the OS and applied as soon as they are ready. The service offers a dashboard, called CoreUpdate, that provides controls for designating which software packages should get updated, should the administrator not want all the packages to be updated automatically. From 0270b1a0044bba3fea286480a04c859ddfd9a42a Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 13 Jul 2014 20:13:23 +0800 Subject: [PATCH 096/291] PUB:20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing @nd0104 --- ...pp 'Vocal' Hits Beta, Ready for Testing.md | 34 +++++++++++++++++++ ...pp 'Vocal' Hits Beta, Ready for Testing.md | 25 -------------- 2 files changed, 34 insertions(+), 25 deletions(-) create mode 100644 published/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md delete mode 100644 translated/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md diff --git a/published/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md b/published/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md new file mode 100644 index 0000000000..68ae48fdb2 --- /dev/null +++ b/published/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md @@ -0,0 +1,34 @@ +Linux 播客软件‘Vocal’进入Beta阶段,准备测试 +================================================================================ +**在四月份我们就被一款叫做['Vocal'][1]的Ubuntu下的播客软件吸引了,但它从一个漂亮的草图到能真正可用,还有一段路要走,而你则可以帮助我们测试一下Vocal。** + +该软件的开发者,Nathan Dyer已经完成了一个beta版本,仍然不够稳定,其中还有很多功能也未完成,但它已经可以通过专用的PPA在Ubuntu 14.04 LTS以及14.10版本下进行测试了。 + +新闻的发布者宣称,这个beta版本只能**安装在下一代Elementary OS桌面的系统中**。并且自从Elementary OS不再为用户提供官方的Beta预览版后,让测试这事更加的麻烦了。 + +对于Unity、GNOME或者KDE来说试试也许并不太难,我想大概。如果你是Ubuntu的用户,想要试用Vocal,首先得安装不稳定版的Elementary OS的PPA,通常我们都不是很建议这样做。 + +Dyer建议感兴趣的用户等待下一代的Elementary OS桌面的beta版本开发完毕吧。 + +现在,我们只能望梅止渴了。 + +![Vocal Beta 在 Elementary OS中 (图: Dyer)](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/vocal-beta.png) + +Vocal Beta 在 Elementary OS中(图: Dyer) + +因为Vocal是开源的,那将没有任何东西能阻挡它被完美的移植到类似Unity的主流Linux桌面系统中。 + +了解更多请访问[开发者的Blog][1]、[查看最新版本][2]或者在Launchpad.net上[查看Vocal的最新信息][3] + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/06/linux-podcast-app-vocal-hits-preview-kicker + +译者:[nd0104](https://github.com/nd0104) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2014/04/vocal-podcast-manager-linux +[2]:http://nathandyer.me/2014/06/28/vocal-beta-released-daily-ppa-available/ +[3]:https://launchpad.net/~nathandyer/+archive/vocal-daily +[4]:https://launchpad.net/vocal diff --git a/translated/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md b/translated/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md deleted file mode 100644 index 60e199b660..0000000000 --- a/translated/news/20140630 New Linux Podcast App 'Vocal' Hits Beta, Ready for Testing.md +++ /dev/null @@ -1,25 +0,0 @@ -Linux 播客软件‘Vocal’进入Beta阶段,准备测试 -================================================================================ -**在四月份的日子里,我们都在迷恋一款Ubuntu下的博客软件['Vocal'][1],但它只是一个漂亮的样机,为了让它能真正的为我们服务,还有一段路要走,而所有的用户,你可以帮助我们测试Vocal。** -软件的开发者,Nathan Dyer已经完成了一个beta版本,其中还有很多功能未完成,但它已经可以通过专用的PPA在Ubuntu 14.04 LTS以及14.10版本下进行测试。 -新闻的发布者宣称,这个beta版本只能**安装在基于下一代基础桌面的系统中(如Elementary OS)**。并且自从Elementary OS不再为用户提供官方的预览版后,让测试这事更加的麻烦了。 -对于不同桌面桌面系统的兼容问题不经显现在GNOME或者KDE等等,如果你是Ubuntu的用户,想要试用Vocal也得先安装并不稳定的Elementary OS下的PPA,通常我们都强烈反对这样去做。 -Dyer建议感兴趣的用户等待适用于下一代基础桌面的beta版本开发完毕。 -现在,我们只能望梅止渴了。 -![Vocal Beta 在 Elementary OS中 (图: Dyer)](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/vocal-beta.png) -Vocal Beta 在 Elementary OS中(图: Dyer) - -如果Vocal能够开源的话,那将没有任何事务能阻挡它被完美的移植到主流的Linux桌面系统中,这就是开源的力量。 -了解更多请访问[开发者的Blog][1],[查找最新版本][2]或者在Launchpad.net上[查看Vocal的最新信息][3] --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/06/linux-podcast-app-vocal-hits-preview-kicker - -译者:[nd0104](https://github.com/nd0104) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.omgubuntu.co.uk/2014/04/vocal-podcast-manager-linux -[2]:http://nathandyer.me/2014/06/28/vocal-beta-released-daily-ppa-available/ -[3]:https://launchpad.net/~nathandyer/+archive/vocal-daily -[4]:https://launchpad.net/vocal From ded668b0272b290c0e123f6ba228576882ddec4f Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 13 Jul 2014 20:39:57 +0800 Subject: [PATCH 097/291] PUB:20140617 9 commands to check hard disk partitions and disk space on Linux @tenght --- ...disk partitions and disk space on Linux.md | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) rename {translated/tech => published}/20140617 9 commands to check hard disk partitions and disk space on Linux.md (87%) diff --git a/translated/tech/20140617 9 commands to check hard disk partitions and disk space on Linux.md b/published/20140617 9 commands to check hard disk partitions and disk space on Linux.md similarity index 87% rename from translated/tech/20140617 9 commands to check hard disk partitions and disk space on Linux.md rename to published/20140617 9 commands to check hard disk partitions and disk space on Linux.md index 173d2f773b..77f5c5d637 100644 --- a/translated/tech/20140617 9 commands to check hard disk partitions and disk space on Linux.md +++ b/published/20140617 9 commands to check hard disk partitions and disk space on Linux.md @@ -1,4 +1,4 @@ -查看Linux硬盘分区和磁盘空间的9个命令 +Linux下掌控磁盘分区的九大神器 ================================================================================ 在这篇文章中,我们来了解一些用来检查你的系统分区的一些命令,这些命令将检查每个磁盘的分区情况和其它细节,例如总空间容量,已用完的空间和文件系统等。 @@ -7,7 +7,7 @@ ### 1. fdisk ### -Fdisk是检查磁盘上分区的最常用命令,fdisk命令可以显示分区和细节,如文件系统类型,但是它并不报告每个分区的大小。 +Fdisk是检查磁盘上分区的最常用命令,fdisk命令可以显示分区和细节,如文件系统类型,但是它并不报告每个分区的字节大小。 $ sudo fdisk -l @@ -36,7 +36,7 @@ Fdisk是检查磁盘上分区的最常用命令,fdisk命令可以显示分区 Device Boot Start End Blocks Id System /dev/sdb1 * 2048 7907327 3952640 b W95 FAT32 -单独显示了每个设备的详细信息:大小,秒,ID和单个分区。 +每个设备都单独显示其详细信息:容量大小,扇区数,设备ID及其包含的每个分区。 ### 2. sfdisk ### @@ -81,13 +81,14 @@ Cfdisk是一个基于ncurses(提供字符终端处理库,包括面板和菜 ![linux cfdisk disk partitions](http://www.binarytides.com/blog/wp-content/uploads/2014/06/linux-cfdisk.png) -Cfdisk一次只能列出一个分区,所以如果你需要看某一磁盘的细节,可以把设备名传给Cfdisk。 +Cfdisk一次只能列出一个分区,所以如果你需要看某一磁盘的细节,可以把该磁盘的设备名作为Cfdisk的参数。 $ sudo cfdisk /dev/sdb ### 4. parted ### -Parted是另一个命令行实用程序用来列出分区,如果需要的话,也可进行修改。 +Parted是另一个命令行实用程序,可以列出分区;如果需要的话,也可进行修改。 + 下面是一个例子,列出了详细的分区信息。 $ sudo parted -l @@ -131,9 +132,9 @@ Df是不是一个分区工具,但它打印出挂装文件系统的细节,Df /dev/sda8 196G 154G 33G 83% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 /dev/sda5 98G 37G 62G 38% /media/4668484A68483B47 -文件系统只有以 /dev 开始的,是实际设备或分区。 +只有以 /dev 开始的文件系统才是实际的设备或分区。 -使用grep命令来筛选出实际的硬盘分区或文件系统。 +可以使用grep命令来筛选出实际的硬盘分区或文件系统。 $ df -h | grep ^/dev /dev/sda6 97G 43G 49G 48% / @@ -152,7 +153,7 @@ Df是不是一个分区工具,但它打印出挂装文件系统的细节,Df ### 6. pydf ### -它是用Python写的Df的改进版本,以一个方便阅读的方式打印出所有磁盘分区。 +它是用Python写的Df的改进版本,以易读的方式打印出所有磁盘分区。 $ pydf Filesystem Size Used Avail Use% Mounted on @@ -160,13 +161,13 @@ Df是不是一个分区工具,但它打印出挂装文件系统的细节,Df /dev/sda8 195G 153G 32G 78.4 [#######..] /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 /dev/sda5 98G 36G 61G 37.1 [###......] /media/4668484A68483B47 -另外,pydf限制为仅显示已挂载的文件系统 +另外,pydf被限制为仅显示已挂载的文件系统。 ### 7. lsblk ### -列出了所有的存储块,包括磁盘分区和光盘驱动器。细节包括所有分区/块总大小和挂载点。 +列出了所有的块存储设备,包括磁盘分区和光盘驱动器。细节包括所有分区/块总大小和挂载点。 -不报告分区上的已使用和空闲磁盘空间。 +它不会报告分区上的已使用和空闲磁盘空间。 $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT @@ -182,13 +183,13 @@ Df是不是一个分区工具,但它打印出挂装文件系统的细节,Df sr0 11:0 1 1024M 0 rom -如果没有挂载点,这就意味着文件系统未安装,对于cd/dvd这意味着没有磁盘。 +如果没有挂载点,这就意味着文件系统未安装,而对于cd/dvd这意味着没有插入光盘。 -lsblk能够显示每个设备的更多信息,如标签和模型,更多请查看信息手册。 +lsblk能够显示每个设备的更多信息,如标签和型号,更多请查看信息手册。 ### 8. blkid ### -打印块设备(分区和存储介质)属性,例如UUID和文件系统类型,不报告分区空间。 +显示块设备(分区和存储介质)属性,例如UUID和文件系统类型,不报告分区空间。 $ sudo blkid /dev/sda1: UUID="5E38BE8B38BE6227" TYPE="ntfs" @@ -219,9 +220,9 @@ hwinfo是一个通用的硬件信息的工具,可以用来打印出磁盘和 ### 总结 ### -parted的输出可以得到简洁而完整的不同分区的概述、上面的文件系统以及总空间。pydf和df被限制为只显示和它们一样的已挂载的文件系统。 +parted的输出可以得到简洁而完整的不同分区的概述、其上的文件系统以及总空间。pydf和df它们一样,只是被限制为只显示已挂载文件系统。 -fdisk和sfdisk显示完整大量的信息,需要花些时间来解释。cfdisk是一个互动的分区工具,每次显示一个单一的设备。 +fdisk和sfdisk显示完整大量的信息,需要花些时间来解释。cfdisk是一个交互式分区工具,每次显示一个单一的设备。 来尝试下这些命令吧,别忘了在下面评论哟! From 67274e34bba418513540f8bcca9d3d3140598efd Mon Sep 17 00:00:00 2001 From: JonathanKang Date: Sun, 13 Jul 2014 21:49:19 +0800 Subject: [PATCH 098/291] Translated --- ...b Complete Heroku Commands In Oh-My-Zsh.md | 52 ------------------- ...b Complete Heroku Commands In Oh-My-Zsh.md | 50 ++++++++++++++++++ 2 files changed, 50 insertions(+), 52 deletions(-) delete mode 100644 sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md create mode 100644 translated/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md diff --git a/sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md b/sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md deleted file mode 100644 index 59190c39ae..0000000000 --- a/sources/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md +++ /dev/null @@ -1,52 +0,0 @@ -JonathanKang is translating - -How To Enable Tab Complete Heroku Commands In Oh-My-Zsh -================================================================================ -**Heroku** Client is the (Command Line Interface) CLI tool for creating and managing Heroku apps. - -Requirements: - -- Heroku toolbelt -- Oh-My-Zsh ([How to Install][1]) - -Note this post is not talk about heroku, it’s just to show users how they can ease typing of commands with oh-my-zsh, so am NOT going to talk into detail on doing things. Also you should have [heroku toolbelt][2] installed to make this work. Is simple for Ubuntu and Debian derivatives,Install by running the command below: - - wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh - -Open Terminal and login into heroku with you account created [here][3]: - - heroku login - Enter your Heroku credentials. - Email: enockseth@unixmen.com - Password (typing will be hidden): - Authentication successful. - -That shows heroku is up and running. - -Open **.zshrc** in your favourite text editor - - vim .zshrc - -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/zsh_git.png) - -By default git is the only plugin enabled. - -Add **heroku** to the plugins section as shown below: - -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/zsh_heroku.png) - -Restart teminal, type **heroku** press tab and you’re good to go: - -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/heroku_tab_complete.png) - --------------------------------------------------------------------------------- - -via: http://www.unixmen.com/enable-tab-complete-heroku-commands-oh-zsh/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.unixmen.com/install-oh-zsh-ubuntu-arch-linux-fedora/ -[2]:https://toolbelt.heroku.com/ -[3]:https://www.heroku.com/ diff --git a/translated/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md b/translated/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md new file mode 100644 index 0000000000..b2cf8281aa --- /dev/null +++ b/translated/tech/20140711 How To Enable Tab Complete Heroku Commands In Oh-My-Zsh.md @@ -0,0 +1,50 @@ +如何在Oh-My-Zsh中启用Heroku命令tab按键补全功能 +================================================================================ +**Heroku**客户端是创建和管理Heroku应用的命令行界面工具。 + +需求: + +- Heroku toolbelt +- Oh-My-Zsh ([如何安装][1]) + +本文不是讲关于hereku的知识,也不是讲关于heroku的使用细节,而是仅仅展示给用户他们怎样可以使用oh-my-zsh来方便地敲写命令。此外你还应该安装[heroku toolbelt][2]来进行本文的相应的操作。对于Ubuntu和Debian发行版,你可以通过运行下面的命令来安装: + + wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh + +打开终端,用你在[这里]创建的用户登陆heroku: + + heroku登陆 + 输入您的Heroku认证。 + 邮箱: enockseth@unixmen.com + 密码 (您的输入会被隐藏): + 认证成功。 + +这显示heroku正在运行。 + +使用你喜欢的文本编辑器打开**.zshrc**: + + vim .zshrc + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/zsh_git.png) + +git是唯一默认启用的插件。 + +在下图显示的插件选择区添加**heroku**: + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/zsh_heroku.png) + +重启终端,输入**heroku**,按下tab键,到此就搞定啦: + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/heroku_tab_complete.png) + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/enable-tab-complete-heroku-commands-oh-zsh/ + +译者:[JonathanKang](https://github.com/JonathanKang) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.unixmen.com/install-oh-zsh-ubuntu-arch-linux-fedora/ +[2]:https://toolbelt.heroku.com/ +[3]:https://www.heroku.com/ From b11d6030e7ec7007ab5e5062482033246e33704e Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Mon, 14 Jul 2014 09:40:03 +0800 Subject: [PATCH 099/291] nd0104 is translating 20140709 Red Hat Announces Availability of its OpenStack Platform 5 --- ...Red Hat Announces Availability of its OpenStack Platform 5.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md b/sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md index 874415db0d..84513865ed 100644 --- a/sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md +++ b/sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md @@ -1,3 +1,4 @@ +nd0104 is translating Red Hat Announces Availability of its OpenStack Platform 5 ================================================================================ ![](http://farm4.static.flickr.com/3108/3191608123_67e1da2b79_o.jpg) From 4cce0d24600efcc6d8b4420020e7ef33e2e6472d Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 14 Jul 2014 10:47:05 +0800 Subject: [PATCH 100/291] PUB:20140625 Keep an eye on these 5 new features in RHEL 7 @CNprober --- ...n eye on these 5 new features in RHEL 7.md | 57 ++++++++++++++++++ ...n eye on these 5 new features in RHEL 7.md | 60 ------------------- 2 files changed, 57 insertions(+), 60 deletions(-) create mode 100644 published/20140625 Keep an eye on these 5 new features in RHEL 7.md delete mode 100644 translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md diff --git a/published/20140625 Keep an eye on these 5 new features in RHEL 7.md b/published/20140625 Keep an eye on these 5 new features in RHEL 7.md new file mode 100644 index 0000000000..debd55dcb5 --- /dev/null +++ b/published/20140625 Keep an eye on these 5 new features in RHEL 7.md @@ -0,0 +1,57 @@ +RHEL 7值得注意的5个新特性 +================================================================================ +> RHEL 7 支持Docker容器,systemd,兼容微软的身份管理和支持高达500TB的XFS文件系统。 + +![](http://www.infoworld.com/sites/infoworld.com/files/media/image/140.jpg) + +在前一个主版本发布3年之后,经过至少6个月的[公开测试][1],RHEL(Red Hat Enterprise Linux)版本7终于发布了。这次更新表明了红帽子公司对于在RHEL中添加最新的以企业和数据为中心的特性的兴趣。这里列举了其中5个最吸引人眼球的新特性。 + +### 1. Docker ### + +RHEL 7中最大的新特性就是[紧密集成][2]了广受欢迎的应用程序虚拟化技术[Docker][3]。随着[Docker 1.0发布][4],把它集成到RHEL 7里正是恰逢其时。 + +用Docker包装的应用程序可以独立于操作系统,所以它们可以在操作系统之间移植并且正常运行。RHEL 7打算尽可能高效地使用Docker,以防止应用程序竞争资源或者为使用哪种运行时环境而困惑。 + +从RHEL的Docker路线图上的长期计划表来看,这可能会超越操作系统本身,发展成一系列的Docker容器,它可以支持用最小的开销部署一个系统。这个被称为"[Atomic项目][5]"的计划还处于早期阶段,红帽公司准备首先将它部署在他的Fedora Linux发行版,仅仅当做对前沿技术的测试。 + +### 2. Systemd ### + +引入systemd进程管理器可能引起系统管理员和Linux专家之间激烈的争论。systemd就被开发用于替代自专用Unix出现以来就在使用的init系统,它使得启动过程中装载服务更加高效。 + +因为systemd可能会带来一些不适,红帽公司没有马上在RHEL上使用systemd。早在2010发布的Fedora版本15就已经包含了systemd作为默认项目,这给了红帽公司一次很好的了解systemd在真实世界的运行的经验。同样,systemd也没有孤立地加入RHEL 7,而是作为这个OS大计划的一部分。例如,红帽公司希望通过使用systemd加强对RHEL 7中Docker容器的支持。 + +### 3. 默认使用 XFS ### + +第3个主要的改变是使XFS成为RHEL默认的文件系统,尽管这可能不那么引人瞩目。 + +最初由Silicon Graphics International(硅谷图形公司)创建的XFS在Linux系统上用做生产环境已经很长时间了。在RHEL 7上它将支持高达500TB的文件系统。RHEL 6默认使用ext4,尽管它有XFS选项。红帽子的竞争对手Suse Linux [也支持XFS][6],尽管它安装时[默认使用ext3][7]。 + +非常不幸的是,没有真正的方法可以将RHEL目前使用的其他文件系统,比如ext4或者btrfs移植到XFS。只能备份然后重建(来进行移植)。 + +### 4. 兼容微软的身份管理 ### + +就算是那些不是微软系统粉丝的管理员也对微软目录服务保持一定的尊重。RHEL 7添加了两个关键的特性以优化处理微软目录服务(AD)的方式。跨域认证现在可以在RHEL 7和微软目录服务之间建立,所以目录服务用户可以直接访问Linux侧的资源,不需要再进行一次登录。RHEL 7另一个目录服务相关的附加特性,是基于DNS信息自动发现和加入目录服务(或者其他红帽子认证服务)。 + +### 5. 性能监控(PCP:Performance Co-Pilot) ### + +进行性能调整的时候看不到实时数据就像是开着一辆挡风玻璃被刷上了油漆的车,所以RHEL 7添加了一个新的性能监控系统PCP([Performance Co-Pilot][8]),PCP最初由Silicon Graphics International(硅谷图形)[创建][9],但是现在它是RHEL 7的一部分。除了监控和记录系统状态,PCP还为其他子系统提供获取数据的API和工具集,比如正如你猜到的,刚刚介绍的systemd。 + +遵循这个思路,另一个次要的附加特性:新的性能配置文件。RHEL 6已经有符合特殊应用场景的调整RHEL的配置文件。RHEL 7不仅默认有一个新的性能最大化的配置文件,而且包含另一个新的平衡性能表现和能源消耗的配置文件。 + +------------------------------------------------------------------------------- + +via:http://www.infoworld.com/t/linux/keep-eye-these-5-new-features-in-rhel-7-244023 + +译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.infoworld.com/t/linux/red-hat-enterprise-linux-7-beta-now-available-232520 +[2]:http://www.infoworld.com/t/application-virtualization/red-hat-fast-tracks-docker-apps-enterprise-linux-238122 +[3]:http://www.infoworld.com/t/application-virtualization/docker-unleashed-app-portability-gets-boost-231716 +[4]:http://www.infoworld.com/d/application-development/review-docker-10-ready-prime-time-243935 +[5]:http://www.projectatomic.io/ +[6]:https://www.suse.com/products/server/technical-information/ +[7]:https://www.suse.com/products/server/technical-information/ +[8]:http://developerblog.redhat.com/2013/11/19/exploratory-performance-pcp/ +[9]:http://oss.sgi.com/projects/pcp/index.html \ No newline at end of file diff --git a/translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md b/translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md deleted file mode 100644 index 451d4c790f..0000000000 --- a/translated/talk/20140625 Keep an eye on these 5 new features in RHEL 7.md +++ /dev/null @@ -1,60 +0,0 @@ -CNprober translatinged... 619913541 - -RHEL 7值得注意的5个新特性 -================================================================================ -> RHEL 7 支持Docker容器,systemd,兼容微软的身份管理和支持500TB的XFS文件系统。 - -![](http://www.infoworld.com/sites/infoworld.com/files/media/image/140.jpg) - -After six-plus months of [public beta testing][1] and more than three years after its previous major point release, RHEL (Red Hat Enterprise Linux) version 7 is out. The update speaks to Red Hat's interests in outfitting RHEL with many of the latest enterprise and data center features. Here are the five top-of-the-line new additions to RHEL 7 that caught our eyes. -在前一个主版本发布3年之后,经过至少6个月的[公开测试][1],RHEL(Red Hat Enterprise Linux)版本7终于发布了。这次更新表明了红帽子公司对于在RHEL中添加最新的以企业和数据为中心的特性的兴趣。这里列举了其中5个最吸引人眼球的新特性。 - -### 1. Docker ### - -RHEL 7中最大的新特性就是[紧密集成][2]了巨受欢迎的应用程序虚拟化技术[Docker][3]。随着[Docker 1.0发布][4],把它集成到RHEL 7的时机是最合适不过了。 - -用Docker包装的应用程序可以独立于操作系统,所以他们可以在操作系统之间移植并且正常运行。RHEL 7打算尽可能高效地使用Docker,以防止应用程序竞争资源或者为使用哪种运行时环境而困惑。 - -从RHEL的Docker地图上的长期计划表来看,这可能会超越操作系统本身,发展成一系列的Docker容器,它可以支持用最小的开销部署一个系统。这个被称为"[Atomic项目][5]"的计划还处于早期阶段,红帽子公司准备首先将它首先部署在他的Fedora Linux发行版,仅仅当做对前沿技术的测试。 - -### 2. Systemd ### - -包含systemd进程管理器可能引起系统管理员和Linux专家之间激烈的争论。自专用Unix出现以来,systemd就被开发用于替代init系统,它使得启动过程中装载服务更加高效。 - -因为systemd的这个潜在的痛处,红帽子公司没有立刻添加systemd(到RHEL)。早在2010发布的Fedora版本15就已经包含了systemd作为默认项目,这给了红帽子公司一次很好的了解systemd在真实世界的运行的经验。同样,systemd也没有武断地加入RHEL 7,只是作为这个OS大计划的一部分。例如,红帽子公司希望通过使用systemd加强对RHEL 7中Docker容器的支持。 - -### 3. XFS by default ### - -第3个主要的改变是使XFS成为RHEL默认的文件系统,尽管这可能不那么引人瞩目。 - -最初由Silicon Graphics International(硅谷图形公司)创建的XFS在Linux系统上用做生产环境已经很长时间了。在RHEL 7上它将支持高达500TB的文件系统。RHEL 6默认使用ext4,尽管它有XFS选项。红帽子的竞争对手Suse Linux [也支持XFS][6],尽管它安装时[默认使用ext3][7]。 - -非常不幸的是,没有真正的方法可以将RHEL目前使用的其他文件系统,比如ext4或者btrfs移植到XFS。只能备份然后重建(来进行移植)。 - -### 4. 兼容微软的身份管理 ### - -就算是那些不是微软系统粉丝的管理员也对微软目录服务保持勉强的尊重。RHEL 7添加了两个关键的特性以优化处理微软目录服务的方式。跨域认证现在可以在RHEL 7和微软目录服务之间建立,所以目录服务用户可以直接访问Linux侧的资源,不需要再进行一次登录。RHEL 7另一个目录服务相关的附加特性,是基于DNS信息自动发现和加入目录服务(或者其他红帽子认证服务)。 - -### 5. Performance Co-Pilot ### - -进行性能调整的时候看不到实时数据就像是开着挡风玻璃被刷上了油漆的车,所以RHEL 7添加了一个新的性能监控系统PCP([Performance Co-Pilot][8]),PCP最初由Silicon Graphics International(硅谷图形)[创建][9],但是现在它是RHEL 7的一部分。除了监控和记录系统状态,PCP还为其他子系统提供获取数据的API和工具集,比如正如你猜到的,刚刚介绍的systemd。 - -遵循这个思路,另一个次要的附加特性:新的性能配置文件。RHEL 6已经有符合特殊应用场景的调整RHEL的配置文件。RHEL 7不仅默认有一个新的着重使产量最大化的配置文件,而且包含另一个新的平衡性能表现和能源消耗的配置文件。 - -------------------------------------------------------------------------------- - -via:http://www.infoworld.com/t/linux/keep-eye-these-5-new-features-in-rhel-7-244023 - -译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.infoworld.com/t/linux/red-hat-enterprise-linux-7-beta-now-available-232520 -[2]:http://www.infoworld.com/t/application-virtualization/red-hat-fast-tracks-docker-apps-enterprise-linux-238122 -[3]:http://www.infoworld.com/t/application-virtualization/docker-unleashed-app-portability-gets-boost-231716 -[4]:http://www.infoworld.com/d/application-development/review-docker-10-ready-prime-time-243935 -[5]:http://www.projectatomic.io/ -[6]:https://www.suse.com/products/server/technical-information/ -[7]:https://www.suse.com/products/server/technical-information/ -[8]:http://developerblog.redhat.com/2013/11/19/exploratory-performance-pcp/ -[9]:http://oss.sgi.com/projects/pcp/index.html \ No newline at end of file From 4924f6dcd3dbcf8d16f2627619431cc14620eba4 Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Mon, 14 Jul 2014 16:02:57 +0800 Subject: [PATCH 101/291] translated --- ...630 Ubuntu 14.04 LTS--Customizing Unity.md | 63 ------------------- ...630 Ubuntu 14.04 LTS--Customizing Unity.md | 54 ++++++++++++++++ 2 files changed, 54 insertions(+), 63 deletions(-) delete mode 100644 sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md create mode 100644 translated/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md diff --git a/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md b/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md deleted file mode 100644 index 0277bf57f5..0000000000 --- a/sources/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md +++ /dev/null @@ -1,63 +0,0 @@ - Love-xuan翻译中 - Ubuntu 14.04 LTS: Customizing Unity -================================================================================ -Although the Unity Desktop Manager has made HUGE performance and usability strides since the initial release in Ubuntu 11.10, some people are still put off by a number of the limitations in customizing the look and behavior of the window manager. We are going to take a look at how to customize Unity and bring back a sense of control to your desktop. - -### Unity Customizations Available ### - -In Ubuntu 14.04, Unity has several customizations that are available that were not previously. If you log into Unity, go the the “Settings” and choose “Display”, you will see the following screen: - -![Ubuntu 14.04 LTS Display and Unity Settings](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unitysettings.png) -Ubuntu 14.04 LTS Display and Unity Settings - -Most of what you see is new since the Ubuntu 11.10 Unity introduction and several are new since just the latest version of Ubuntu 13.10. New since 13.10 are the ability to scale the menu and title bars. This is useful in very high resolution screens OR as a visual impairment option. Everything scales equally. - -Specific to Unity we can also turn on or off that “sticky edges” option. This is the somewhat annoying “pause” your mouse does on the edge of each screen of a multi-monitor setup. It stops the mouse momentarily at the edge, like it gets stuck. Finally, we have to option to turn that off. - -In the “Settings” screen still, choose the “Appearance” option to see the following: - -![Ubuntu 14.04 LTS Appearance and Unity Settings](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unityappearance.png) -Ubuntu 14.04 LTS Appearance and Unity Settings - -Here we have one of the most requested options for the Unity Dock, the ability to change the Launcher size. Although it could be done in multiple ways in various versions of Ubuntu since 11.10, including it in the Appearance setting just makes it all official. I like that it allows you to change the icon size all the way down to 16 (even the tool we will talk about next only supports 24). - -### Unity Tweak Tool – Now Repo Strong! ### - -This tool has been around since the early days of Ubuntu 11.10 when Unity was first introduced, although you had to jump through a large number of hoops (and progressively smaller as the versions went on) to get it installed and it would be broken by Unity updates. - -Now however, it has officially been added to the default Ubuntu repositories and gets updated when Unity gets updated. There are a large number of customizations, so let’s get it installed: - - sudo apt-get install unity-tweak-tool - -After installation, start it up and you will see the following screen: - -![Ubuntu 14.04 LTS Official Unity Tweak Tool](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unitytweaktool.png) -Ubuntu 14.04 LTS Official Unity Tweak Tool - -This tool encapsulates a large number of Unity Desktop customizations all in once convenient location. Most of these options can be had in the default Unity settings, at the command line or by editing sometimes hard to find configuration files. - -We can change the behavior of the dock, the panel, web applet integration, search within the Unity menu, etc. all within this one tool. Take the time to explore the options available to you – Unity Tweak Tool – learn it, live it, love it (at least if you use Unity). - -### Final Thoughts ### - -Ubuntu 14.04 LTS is shaping up more and more to be the Linux Desktop (sorry Canonical, you are still Linux) of choice for both the casual Linux user (is there such a thing) as well as the die hard professional. - -We now have more control than every over the Unity Desktop without resorting to tools, utilities or configuration file edits that may break with each subsequent Unity update. The desktop performance is pretty rock solid and, by adding some flavor with the Unity Tweak Tool, looks pretty cool as well! Drop us your thoughts or post links to your Unity Desktop set up in the comments below, we would be interested to see how you are using Ubuntu 14.04 LTS. - ----------- - -#### Terrence T. Cox #### - -Developer, Linux Advocate, Open Source Junkie. Been at this whole tech thing long enough to be considered 'very experienced' but not so long as to be bored of it. - -[Twitter][1] - --------------------------------------------------------------------------------- - -via: https://linuxacademy.com/blog/linux/ubuntu-14-04-lts-customizing-unity/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://twitter.com/mourngrymtc/ diff --git a/translated/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md b/translated/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md new file mode 100644 index 0000000000..3a7a19690b --- /dev/null +++ b/translated/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md @@ -0,0 +1,54 @@ + Ubuntu 14.04 LTS: 定制 Unity +================================================================================ +虽然Unity桌面管理器自从伴随 Ubuntu 11.01首次发布以来表现出了强劲的性能,并在可用性上迈进了一大步,但是有人对自定义其外观和行为所带的限制感到反感。我们马上就去看看如何自定义Unity,让你重拾自己掌控桌面的感觉。 +### Unity中的可用定制项目 ### + +在ubuntu 14.04中,Unity 有一些以前没有的可定制项。登入你的 Unity,进入“设置”并选择“显示”,你将看到以下画面: + +![Ubuntu 14.04 LTS Display and Unity Settings](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unitysettings.png) +Ubuntu 14.04 LTS 显示和 Unity 设置 + +你看到的大多数项目相比Ubuntu 11.01 中所采用的都是新的,而且一些相比较最近的Ubuntu 版本Ubuntu13.10也是新的。从Ubuntu13.10开始,Ubuntu加入了可以改变菜单栏和标题栏大小的新特性。 +Unity中所特有的一个特性是我们能够打开或者关闭的“粘性边缘”功能,它能让你的鼠标停止在多显示器组的每个屏幕的边缘,它使光标暂时停在边缘,仿佛是鼠标卡住了一样,我们可以选择关闭它。 +在“设置”中选择“外观”选项,可以看到如下画面。 +![Ubuntu 14.04 LTS Appearance and Unity Settings](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unityappearance.png) + Ubuntu 14.04 LTS 显示和Unity设置 +这里我们可以看到对于 Unity 启动器栏被要求最多的选项-能够改变启动器大小的特性。虽然在Ubuntu 11.10及以后的各种版本中可以通过多种方法实现这个特性,但将其放入外观设置中使其显得更加正式。我喜欢它能将启动器图标缩小直至16号的功能(我们接下来所要谈论的工具仅能支持最小调至24号)。 +### Unity Tweak Tool-强大! ### + +在Unity首次伴随Ubuntu 11.10发布的几天之内这款工具就跟着出现了,只是你得大费周折去自己把它安装好而且在Unity升级时它可能会损坏。 + +然而现在它被正式添加进了Ubuntu的默认软件仓库并且会在Unity更新时同时更新。它附带大量的定制项,那么我们就来安装它吧: + + sudo apt-get install unity-tweak-tool + +安装好,启动后你将看到如下画面: + +![Ubuntu 14.04 LTS Official Unity Tweak Tool](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unitytweaktool.png) + 正式的Unity Tweak Tool + +这款工具集中大量的Unity桌面定制项目于一体。这些定制项大多能通过默认的Unity设置,命令行操作或者是编辑有时候很难寻找的配置文件来实现。 + +我们可以改变启动器栏,网页小程序和面板的行为,可以在Unity菜单中搜索等等。所有的都通过着一个工具来实现。花些时间去挖掘适合你的选项-Unity Tweak Tool-学习它,和它一起生活,爱上它(如果你使用Unity,这是起码的) + +### 结尾的一些想法 ### + +Ubuntu 14.04 LTS 越来越向成为Linux Desktop迈进,(Canonical,对不起,你还是Linux),Linux Desktop不仅可以作为非正式的Linux使用者(的确有这样的事)的选择,也适用于骨灰级linux专家。 +那现在相比较于不借助工具,公共程序或是进行在随后的更新中可能损坏的配置文件编辑的Unity桌面我们就拥有了更多的控制权,Unity桌面性能强劲可靠,又通过Unity Tweak Tool加入一些风味元素,使得它的外观也酷极了!!!请给我们你的想法或者点击链接发表你对Unity桌面的评论,我们将有兴趣知道你是如何使用Ubuntu 14.04 LTS 的。 + + +---------- + +#### Terrence T. Cox #### +开发者,Linux倡导者,开源爱好者。 进入这个技术领域很久,被认为经验丰富,但从未感到厌倦。 +[Twitter][1] + +-------------------------------------------------------------------------------- + +via: https://linuxacademy.com/blog/linux/ubuntu-14-04-lts-customizing-unity/ + +译者:[Love-xuan](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://twitter.com/mourngrymtc/ From f54df5321e567192ef5a514e14dc2fae7f96847b Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Mon, 14 Jul 2014 16:13:55 +0800 Subject: [PATCH 102/291] [translating] Here Are 5 Amazing Ascii Art Generators --- .../talk/20140701 Here Are 5 Amazing Ascii Art Generators.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md b/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md index 55315f5730..ee35a361a6 100644 --- a/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md +++ b/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md @@ -1,3 +1,4 @@ +zpl1025 Here Are 5 Amazing Ascii Art Generators! ================================================================================ ![](http://www.efytimes.com/admin/useradmin/photo/nin511907PM712014.jpg) @@ -36,4 +37,4 @@ via: http://www.efytimes.com/e1/fullnews.asp?edid=142480 [2]:http://www.ascii-art-generator.org/ [3]:http://ascii.mastervb.net/ [4]:http://www.degraeve.com/img2txt.php -[5]:http://picascii.com/ \ No newline at end of file +[5]:http://picascii.com/ From 13b97dacdfc997c38f9bf7612db8264fa239fb29 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Mon, 14 Jul 2014 17:42:02 +0800 Subject: [PATCH 103/291] =?UTF-8?q?20140714-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Dollars by Ditching Microsoft Products.md | 29 ++++ ...istro Brings Major OpenVPN Improvements.md | 38 +++++ ...are Is for People Who Love the Terminal.md | 28 ++++ ...--Display Kernel Slab Cache Information.md | 139 ++++++++++++++++++ 4 files changed, 234 insertions(+) create mode 100644 sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md create mode 100644 sources/news/20140714 IPFire 2.13 Core 77 Linux Firewall Distro Brings Major OpenVPN Improvements.md create mode 100644 sources/news/20140714 LFTP 4.5.3 File Transfer Software Is for People Who Love the Terminal.md create mode 100644 sources/tech/20140714 Linux slabtop command--Display Kernel Slab Cache Information.md diff --git a/sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md b/sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md new file mode 100644 index 0000000000..4db32000e1 --- /dev/null +++ b/sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md @@ -0,0 +1,29 @@ +Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products +================================================================================ +![](http://i1-news.softpedia-static.com/images/news2/Canonical-and-Ubuntu-Helped-Munich-Save-Millions-of-Dollars-By-Ditching-Microsoft-Products-450571-2.jpg) + +**The City of Munich has become one of the most prominent examples of a city administration that switched from Microsoft products to open source, and it looks like Canonical and Ubuntu were an instrumental part of that change.** + +The City of Munich managed to shake off the Microsoft dependency, but it took a lot of work and it wasn't cheap. The benefits of moving from Microsoft products to open source might look expensive, but the costs are significantly lower than an upgrade, and it will prove to be a lot cheaper in the future. + +Moving from a proprietary solution to an open source one is not all that simple when you have a city the size of Munich. It has 22 organizational units and each of those units has its own IT department, not to mention different versions of the applications. + +The local authorities couldn't just adopt a Linux distribution on the fly. The first try was made with Debian back in 2006, but that particular OS didn't have a predictable release schedule. This is how the new LiMux was born, an operating system based on Ubuntu. + +“The LiMux/open source project was a long and iterative one, but after a few years of running such a large Linux base, we realized Ubuntu was the platform that could satisfy our requirements best. By combining the low costs and freedom of open source software with ongoing support for the hardware and applications we need, it was one of the critical elements to the success of this project. Most important was the backing of our politicians throughout the project,” [said][1] Peter Hofmann, project manager for the City of Munich. + +This tremendous project helped Munich save €10 million ($13.6 million) by 2013, but that is if we take into consideration only the upgrade costs. That sum might be a lot bigger if we could quantify the official support for the software and other hidden costs. + +Right now, in Munich, there are 14,000 PCs that are running LiMux and that number is still increasing. It's very likely that other German cities will do the same in the future, especially the ones neighboring Munich. + +It took the authorities of Munich 13 years to finish the transition, but in the end they managed to save a lot of money and prove that Linux is actually a very good and free solution for the IT infrastructure of an entire city. + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Canonical-and-Ubuntu-Helped-Munich-Save-Millions-of-Dollars-By-Ditching-Microsoft-Products-450571.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://insights.ubuntu.com/2014/07/07/ubuntu-and-open-source-help-the-city-of-munich-save-millions/ \ No newline at end of file diff --git a/sources/news/20140714 IPFire 2.13 Core 77 Linux Firewall Distro Brings Major OpenVPN Improvements.md b/sources/news/20140714 IPFire 2.13 Core 77 Linux Firewall Distro Brings Major OpenVPN Improvements.md new file mode 100644 index 0000000000..cae86c7be8 --- /dev/null +++ b/sources/news/20140714 IPFire 2.13 Core 77 Linux Firewall Distro Brings Major OpenVPN Improvements.md @@ -0,0 +1,38 @@ +IPFire 2.13 Core 77 Linux Firewall Distro Brings Major OpenVPN Improvements +================================================================================ +![](http://i1-news.softpedia-static.com/images/news2/IPFire-2-13-Core-77-Linux-Firewall-Distro-Brings-Major-OpenVPN-Improvements-450605-2.jpg) + +**Michael Tremer, a developer for the ipfire.org team, has announced that IPFire 2.13 Core 79, a new stable build of the popular Linux-based firewall distribution, is now out with some exciting new features.** + +IPFire is a modular Linux distribution, which means that it can be deployed as a firewall, a proxy server, or a VPN gateway. The main concern of the developers is security and every step has been taken in order to ensure that users can feel really safe when using this operation system. + +The developers are saying in the official [announcement][1] that the “Core Update 79 is finally arriving with many bug fixes and enhancements. Among the big changes with this update are lots feature enhancements that massively increase the security level of OpenVPN connections, some enhancements of the web user interface and a lot more awesome stuff under the hood.” + +The IPFire devs had another huge release a few months ago and it looks like they have made another one, this time focusing on the improvement of the OpenVPN features and a few other aspects. + +“The certificate authority that can be created on the OpenVPN page now uses much better hashes to protect the integrity of itself. The CA root certificate uses a SHA512 hash and a RSA key with length of 4096 bit. All new created host certificates use a RSA key with 2048 bit length and a SHA256 hash. Additionally, a set of Diffie-Hellman parameters can be generated for better protection of the session keys. The length of the pregenerated DH parameters can be chosen in the web interface,” also noted the devs. + +According to the changelog, the cipher that is used for each net-to-net connection can now be changed, the hash function is now configurable with a few options like SHA2 (512, 384, and 256-bit), Whirpool (512 bit), and SHA1 (160 bit), and the tls-auth option can be enabled, which uses a HMAC function. + +The Linux kernel used by the distribution has also been updated in this release and the OS now packs the 3.10.44 version. This should bring support for new hardware, a number of security fixes, and more stability. + +Also, snort (the Intrusion Detection System) has been updated to version 2.9.6.1, the new firewall GUI now supports blocking access to the GREEN firewall interface, the PIE packet scheduler has been added, and the default size of the root partition has been increased. + +The developers recommend all users of IPFire to upgrade their distributions. More details can be found on the official website. + +Download IPFire 2.13 Core 79: + +- [IPFire 2.15 Core 79][1] (ISO)[iso] [126 MB] +- [IPFire 3.0 Alpha 1][2] (ISO)[iso] [76 MB] + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/IPFire-2-13-Core-77-Linux-Firewall-Distro-Brings-Major-OpenVPN-Improvements-450605.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.ipfire.org/news/ipfire-2-15-core-update-79-released +[2]:http://downloads.ipfire.org/releases/ipfire-2.x/2.15-core79/ipfire-2.15.i586-full-core79.iso +[3]:http://www.rowie.at/ipfire/iso/ipfire-3.0-alpha1.i686.iso \ No newline at end of file diff --git a/sources/news/20140714 LFTP 4.5.3 File Transfer Software Is for People Who Love the Terminal.md b/sources/news/20140714 LFTP 4.5.3 File Transfer Software Is for People Who Love the Terminal.md new file mode 100644 index 0000000000..bd30878420 --- /dev/null +++ b/sources/news/20140714 LFTP 4.5.3 File Transfer Software Is for People Who Love the Terminal.md @@ -0,0 +1,28 @@ +LFTP 4.5.3 File Transfer Software Is for People Who Love the Terminal +================================================================================ +![](http://i1-news.softpedia-static.com/images/news2/LFTP-4-5-3-File-Transfer-Software-Is-for-People-Who-Love-the-Terminal-450596-2.jpg) + +**LFTP 4.5.3, a sophisticated file transfer program with a command-line interface that supports FTP, HTTP, FISH, SFTP, HTTPS, and FTPS protocols, has been released and is ready for download.** + +Every operation made with LFTP is reliable, which means that, if any non-fatal error occurs, the operation is retried automatically. The software supports numerous protocols, but it can also handle a few other tasks, such as BitTorrent downloads, SRV DNS records, job queuing, bookmarks, aliases, and many more. + +“lftp has shell-like command syntax allowing you to launch several commands in parallel in background (&). It is also possible to group commands within () and execute them in background. All background jobs are executed in the same single process. You can bring a foreground job to background with ^Z (c-z) and back with command ‘wait’ (or ‘fg’ which is alias to ‘wait’),” reads the official website. + +According to the changelog, a new setting ftp:site has been added, the http body is not uncompressed when the Contrent-Type is compressed, the source address of DHT replies is now checked, and the disconnected torrent peers are now discarded after only a timeout. + +A complete list of changes and improvements can be found in the official [announcement][1]. + +Download LFTP 4.5.3: + +- [LFTP 4.5.3 tar.xz][2][sources] [1.40 MB] + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/LFTP-4-5-3-File-Transfer-Software-Is-for-People-Who-Love-the-Terminal-450596.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://lftp.yar.ru/news.html +[2]:http://lftp.yar.ru/ftp/lftp-4.4.15.tar.xz \ No newline at end of file diff --git a/sources/tech/20140714 Linux slabtop command--Display Kernel Slab Cache Information.md b/sources/tech/20140714 Linux slabtop command--Display Kernel Slab Cache Information.md new file mode 100644 index 0000000000..8bb4e1f626 --- /dev/null +++ b/sources/tech/20140714 Linux slabtop command--Display Kernel Slab Cache Information.md @@ -0,0 +1,139 @@ +Linux slabtop command - Display Kernel Slab Cache Information +================================================================================ +The Linux kernel needs to allocate memory for temporary objects such as task or device structures and inodes. The caching memory allocator manages caches of these types of objects. The modern Linux kernel implements this caching memory allocator to hold the caches called the slabs. Different types of slab caches are maintained by the slab allocator. This article concentrates on the slabtop command which shows real-time kernel slab cache information. + +### 1. Command Usage: ### + +The command is simple to use. Default execution does not mandate any arguments to the command. But it does require root privileges to access the kernel slab information. Executing the command as normal user gives following error: + +![Run slabtop as non-privileged user](http://linoxide.com/wp-content/uploads/2014/07/001.slabtop_normal_user.png) + +You can run it by prepending “sudo” with slabtop. The default output looks like: + +![Slabtop default output](http://linoxide.com/wp-content/uploads/2014/07/002.slabtop_output.png) + +To quit from slabtop, just hit ‘q’ like you do for top command. + +### 2. Slabtop options: ### + +#### 2.1 Display Interval: #### + +By default slabtop refreshes every 3 seconds. But if you want, you can provide the refreshing interval in seconds with -d or --delay=N option: + +![Custom delay interval 01](http://linoxide.com/wp-content/uploads/2014/07/003.slabtop_delay01.png) + +![Custom delay interval 02](http://linoxide.com/wp-content/uploads/2014/07/004.slabtop_delay02.png) + +#### 2.2 Sort criteria: #### + +There are many fields in slabtop output. The -s or --sort=S option sorts the output according to the mentioned sort criteria. This option will be discussed in detail in the next section. + +#### 2.3 Output once: #### + +The -o or --once option does not refresh the output, instead it just throws the output once on STDOUT and exits. + +![Output once and exit](http://linoxide.com/wp-content/uploads/2014/07/005.slabtop_output_once.png) + +#### 2.4 Version info: #### + +The -V or --version displays the version of the command and exits. + +![Slabtop version](http://linoxide.com/wp-content/uploads/2014/07/006.slabtop_version.png) + +#### 2.5 Help: #### + +The common option, -h or --help displays usage of the command. + +![Slabtop help options](http://linoxide.com/wp-content/uploads/2014/07/007.slabtop_help.png) + +### 3. Sort Criteria: ### + +The sort criteria determines which slab caches are displayed on top. Following are the sort criteria for slabtop: + +#### 3.1 ACTIVE: #### + +Caches can be sorted by number of active objects with “a”. + +![Sort by Active 01](http://linoxide.com/wp-content/uploads/2014/07/008.slabtop_sort_active01.png) + +![Sort by Active 02](http://linoxide.com/wp-content/uploads/2014/07/009.slabtop_sort_active02.png) + +#### 3.2 OBJ/SLAB: #### + +The Objects per Slab can be selected with “b”. + +![Sort by objects per slab 01](http://linoxide.com/wp-content/uploads/2014/07/010.slabtop_sort_objslab01.png) + +![Sort by objects per slab 02](http://linoxide.com/wp-content/uploads/2014/07/011.slabtop_sort_objslab02.png) + +#### 3.3 CACHE SIZE: #### + +For selecting cache size, you need to provide “c”. + +![Sort by cache size 01](http://linoxide.com/wp-content/uploads/2014/07/012.slabtop_sort_cache_size01.png) + +![Sort by cache size 02](http://linoxide.com/wp-content/uploads/2014/07/013.slabtop_sort_cache_size02.png) + +#### 3.4 SLABS: #### + +The number of slabs. Select it with “l” + +![Sort by number of slabs 01](http://linoxide.com/wp-content/uploads/2014/07/014.slabtop_sort_slabs01.png) + +![Sort by number of slabs 02](http://linoxide.com/wp-content/uploads/2014/07/015.slabtop_sort_slabs02.png) + +#### 3.5 Active Slabs: #### + +The number of Active Slabs. (Note that this is different from number of Active Objects described above.) Use “v” to sort according to this criteria. + +![Sort by Active Slabs 01](http://linoxide.com/wp-content/uploads/2014/07/016.slabtop_sort_active_slabs01.png) + +![Sort by Active Slabs 02](http://linoxide.com/wp-content/uploads/2014/07/017.slabtop_sort_active_slabs02.png) + +#### 3.6 NAME: #### + +Name of cache. Corresponding character is “n” + +![Sort by cache name 01](http://linoxide.com/wp-content/uploads/2014/07/018.slabtop_sort_cache_name01.png) + +![Sort by cache name 02](http://linoxide.com/wp-content/uploads/2014/07/019.slabtop_sort_cache_name02.png) + +#### 3.7 OBJS: #### + +To sort by number of objects, use “o” + +![Sort by number of objects 01](http://linoxide.com/wp-content/uploads/2014/07/020.slabtop_sort_objectnunber01.png) + +![Sort by number of objects 02](http://linoxide.com/wp-content/uploads/2014/07/021.slabtop_sort_objectnunber02.png) + +#### 3.8 Pages Per Slab: #### + +“p” will sort by pages per slab + +![Sort by pages per slab 01](http://linoxide.com/wp-content/uploads/2014/07/022.slabtop_sort_pagesperslab01.png) + +![Sort by pages per slab 02](http://linoxide.com/wp-content/uploads/2014/07/023.slabtop_sort_pagesperslab02.png) + +#### 3.9 OBJ SIZE: #### + +The object size is sorted by “s” + +![Sort by object size 01](http://linoxide.com/wp-content/uploads/2014/07/024.slabtop_sort_object_size01.png) + +![Sort by object size 02](http://linoxide.com/wp-content/uploads/2014/07/025.slabtop_sort_object_size02.png) + +#### 3.10 USE: #### + +“u” sorts by the cache utilization. + +![Sort by cache utilization 01](http://linoxide.com/wp-content/uploads/2014/07/026.slabtop_sort_cache_utilization01.png) + +![Sort by cache utilization 02](http://linoxide.com/wp-content/uploads/2014/07/027.slabtop_sort_cache_utilization02.png) + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/kernel-slab-cache-information/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From ce9b00c33ddb5aa99b1a03d5feb5620ee1ef2800 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Mon, 14 Jul 2014 19:17:12 +0800 Subject: [PATCH 104/291] =?UTF-8?q?20140714-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Ubuntu 14.04 As HDMI Enabled BY Default.md | 61 ++++++++ ...wser on Debian or Ubuntu Using Terminal.md | 26 ++++ ...and ssd drives with dd command on Linux.md | 139 ++++++++++++++++++ 3 files changed, 226 insertions(+) create mode 100644 sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md create mode 100644 sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md create mode 100644 sources/tech/20140714 Test read or write speed of usb and ssd drives with dd command on Linux.md diff --git a/sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md b/sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md new file mode 100644 index 0000000000..202a1c734f --- /dev/null +++ b/sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md @@ -0,0 +1,61 @@ +Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default +================================================================================ +Sound problem is not new in Ubuntu. I have previously written on various ways to [fix “no sound” issue in Ubuntu][1]. But the soud issue I am going to discuss here is different than those mentioned in the other article. + +So I installed Ubuntu 14.04, actually re-installed it. As always, I did all those [things to do after a fresh install of Ubuntu 14.04][2]. And than I realized that the system had no sound. While investigating the issue I found one strange thing. I checked [alsamixer][3] and it was in a weird state: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/alsamixer_Set_HDMI_Default.jpeg) + +As you can see, **HDMI is set by default in alsamixer**. Which means by default HDMI output has been selected instead of the built in speakers. This is why I get no sound from the built in speakers in my system. + +Use the following command to check the state of alsamixer: + + alsamixer + +If alsamixer is set by default to HDMI or some other audio output, continue this article to see how can we fix it. + +### Fixing no sound in Ubuntu when HDMI is set as default ### + +Now to force Ubuntu to use analog output instead of HDMI by default, we need a little information. Open a terminal and use the following command: + + aplay -l + +This will list the devices, card number etc. Note down the card and device number for analog output. For me the output was like this: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/AlsaMixer_List_Device.jpeg) + +Once you have the required card and device number, make a new configuration file like this: + + sudo gedit /etc/asound.conf + +The above command will also open the file. Add the following lines to it, replacing with your card and device number of course: + + defaults.pcm.card 1 + defaults.pcm.device 0 + +Save the file and restart the computer. You should hear the sound now. Just to mention, this will work for all the Linux distributions such as Linux Mint, Elementary OS, Fedora, Arch Linux etc. As I said previously, this “no sound fix” only works with the case where HDMI is set by default. For other cases, you can read [this article about fixing no sound issue in Ubuntu and Linux Mint][4]. + +Feel free to use the comment section to let me know if it worked or not or if you have some better trick to handle this such issue. Ciao ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-includes/images/smilies/icon_smile.gif) + +---------- + +![](http://1.gravatar.com/avatar/20749c268f5d3e4d2c785499eb6a17c0?s=100&r=pg&d=mm) + +About Abhishek + +I am Abhishek Prakash, 'creator' of It's F.O.S.S. I have a Masters in Communication System Engineering. I am an avid Linux lover and Open Source enthusiast. I use Ubuntu and believe in sharing knowledge. Apart from Linux, I love classic detective mystery. Huge fan of Agatha Christie work. Feel free to circle me on [Google Plus][g] and Follow [@abhishek_pc][t] + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/fix-sound-ubuntu-1404/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/ +[2]:http://itsfoss.com/things-to-do-after-installing-ubuntu-14-04/ +[3]:http://en.wikipedia.org/wiki/Alsamixer +[4]:http://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/ +[g]:https://plus.google.com/u/0/110180944531110746460 +[t]:https://twitter.com/abhishek_pc \ No newline at end of file diff --git a/sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md b/sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md new file mode 100644 index 0000000000..41301014fa --- /dev/null +++ b/sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md @@ -0,0 +1,26 @@ +[Quick Tip] Set Default Browser on Debian/Ubuntu Using Terminal +================================================================================ +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Browsers-790x436.jpg) + +Hey Guys, + +In this post, we are going to use the terminal to make a browser default. + +Even though, this can easily be done using the browser’s main interface, is handy sometimes if you need to do this remotely. + +To do this you simply open up the terminal and run the line of code below: + +Enter the number beside the browser you wish to make default and you are done. + + sudo update-alternatives --config x-www-browser + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/change_default_browser_from_terminal_debian_enock.png) + +Enjoy! +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/quick-tip-set-default-browser-debianubuntu-using-terminal/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/tech/20140714 Test read or write speed of usb and ssd drives with dd command on Linux.md b/sources/tech/20140714 Test read or write speed of usb and ssd drives with dd command on Linux.md new file mode 100644 index 0000000000..43ca1aa34e --- /dev/null +++ b/sources/tech/20140714 Test read or write speed of usb and ssd drives with dd command on Linux.md @@ -0,0 +1,139 @@ +Test read/write speed of usb and ssd drives with dd command on Linux +================================================================================ +### Drive speed ### + +The speed of a drive is measured in terms of how much data it can read or write in unit time. The dd command is a simple command line tool that can be used to read and write arbitrary blocks of data to a drive and measure the speed at which the data transfer took place. + +In this post we shall use the dd command to test and read and write speed of usb and ssd drives using the dd command. + +The data transfer speed does not depend solely on the drive, but also on the interface it is connected to. For example a usb 2.0 port has a maximum operational speed limit of 35 Mbytes/s, so even if you were to plug a high speed usb 3 pen drive into a usb 2 port, the speed would be capped to the lower limit. + +The same applies to SSD. SSD connect via SATA ports which have different versions. Sata 2.0 has a maximum theoretical speed limit of 3Gbits/s which is roughly 375 Mbytes/s. Whereas Sata 3.0 supports twice that speed. + +### Test Method ### + +Mount the drive and navigate into it from the terminal. Then use the dd command to first write a file using fixed sized blocks. Then read the same file out using the same block site. + +The general syntax of the dd command looks like this + + dd if=path/to/input_file of=/path/to/output_file bs=block_size count=number_of_blocks + +When writing to the drive, we simply read from /dev/zero which is a source of infinite useless bytes. And when read from the drive, we read the file written earlier and send it to /dev/null which is nowhere. In the whole process, dd keeps track of the speed with which the transfer takes place and reports it. + +### SSD ### + +The SSD that we are using is a "Samsung Evo 120GB" ssd. It is a beginner level ssd that comes within a decent budget and is also my first SSD. It is also one of the best performing ssds, in the market. + +In this test the ssd is connected to a sata 2.0 port. + +#### Write speed #### + +Lets first write to the ssd + + $ dd if=/dev/zero of=./largefile bs=1M count=1024 + 1024+0 records in + 1024+0 records out + 1073741824 bytes (1.1 GB) copied, 4.82364 s, 223 MB/s + +Block size is actually quite large. You can try with smaller sizes like 64k or even 4k. + +#### Read speed #### + +Now read back the same file. However, first clear the memory cache to ensure that the file is actually read from drive. + +Run the following command to clear the memory cache + + $ sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches" + +Now read the file + + $ dd if=./largefile of=/dev/null bs=4k + 165118+0 records in + 165118+0 records out + 676323328 bytes (676 MB) copied, 3.0114 s, 225 MB/s + +The Arch Linux wiki has a page full of information about the read/write speed of various SSDs from different vendors like Intel, Samsung, Sandisk etc. Check it out at the following url. + +[https://wiki.archlinux.org/index.php/SSD_Benchmarking][1] + +### USB ### + +In this test we shall measure the read and write speed of ordinary usb/pen drives. The drives are plugged to standard usb 2 ports. The first one is a sony 4gb usb drive and the second is a strontium 16gb drive. + +First plug the drive into the port and mount it, so that it is readable. Then navigate into the mount directory from the command line. + +#### Sony 4GB - Write #### + +In this test, the dd command is used to write 10,000 chunks of 8 Kbyte each to a single file on the drive. + + # dd if=/dev/zero of=./largefile bs=8k count=10000 + 10000+0 records in + 10000+0 records out + 81920000 bytes (82 MB) copied, 11.0626 s, 7.4 MB/s + +So the write speed is around 7.5 MBytes/s. This is a low figure. + +#### Sony 4GB - Read #### + +The same file is read back to test the read speed. Run the following command to clear the memory cache + + $ sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches" + +Now read the file using the dd command + + # dd if=./largefile of=/dev/null bs=8k + 8000+0 records in + 8000+0 records out + 65536000 bytes (66 MB) copied, 2.65218 s, 24.7 MB/s + +The read speed comes out around 25 Mbytes/s which is a more or less the standard for cheap usb drives. + +> USB 2.0 has a theoretical maximum signaling rate of 480 Mbits/s or 60 Mbytes/s. However due to various constraints the maximum throughput is restricted to around 280 Mbit/s or 35 Mbytes/s. Beyond this the actual speed achieved depends on the quality of the pen drives and other factors too. + +And the above usb drive was plugged inside a USB 2.0 port and it achieved a read speed of 24.7 Mbytes/s which is not very bad. But the write speed lags much behind + +Now lets do the same test with a Strontium 16gb drive. Strontium is another very cheapy brand, although usb drives are reliable. + +#### Strontium 16gb write speed #### + + # dd if=/dev/zero of=./largefile bs=64k count=1000 + 1000+0 records in + 1000+0 records out + 65536000 bytes (66 MB) copied, 8.3834 s, 7.8 MB/s + +Strontium 16gb read speed + + # sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches" + + # dd if=./largefile of=/dev/null bs=8k + 8000+0 records in + 8000+0 records out + 65536000 bytes (66 MB) copied, 2.90366 s, 22.6 MB/s + +The read speed is lower than the Sony drive. + +### Resources ### + +- [http://en.wikipedia.org/wiki/USB][2] +- [https://wiki.archlinux.org/index.php/SSD_Benchmarking][1] + +---------- + +![](http://0.gravatar.com/avatar/e23f2767e6907e798da5b28694a2bf28?s=64&d=&r=G) + +About Silver Moon + +Php developer, blogger and Linux enthusiast. He can be reached at [m00n.silv3r@gmail.com][e]. Or find him on [Google+][g] + +-------------------------------------------------------------------------------- + +via: http://www.binarytides.com/linux-test-drive-speed/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://wiki.archlinux.org/index.php/SSD_Benchmarking +[2]:http://en.wikipedia.org/wiki/USB +[e]:m00n.silv3r@gmail.com +[g]:http://plus.google.com/117145272367995638274/posts \ No newline at end of file From c356539e6b0c42761f2a7b9fb8bfabf6d87cb1e6 Mon Sep 17 00:00:00 2001 From: Luoxcat Date: Mon, 14 Jul 2014 20:58:13 +0800 Subject: [PATCH 105/291] =?UTF-8?q?=E5=B7=B2=E7=BF=BB=E8=AF=9120140702=20C?= =?UTF-8?q?ommand=20Line=20Tuesdays--Part=20Three.md=20by=20Luoxcat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...40702 Command Line Tuesdays--Part Three.md | 84 ------------------ ...40702 Command Line Tuesdays--Part Three.md | 85 +++++++++++++++++++ 2 files changed, 85 insertions(+), 84 deletions(-) delete mode 100644 sources/tech/20140702 Command Line Tuesdays--Part Three.md create mode 100644 translated/tech/20140702 Command Line Tuesdays--Part Three.md diff --git a/sources/tech/20140702 Command Line Tuesdays--Part Three.md b/sources/tech/20140702 Command Line Tuesdays--Part Three.md deleted file mode 100644 index ccaab0075c..0000000000 --- a/sources/tech/20140702 Command Line Tuesdays--Part Three.md +++ /dev/null @@ -1,84 +0,0 @@ -暑假 先来一发 Luoxcat 翻译 -Command Line Tuesdays – Part Three -================================================================================ -Today, mr Shotts takes us on a first part of a guided tour through our file system. We’ll learn how to visit, list files within directories and we’ll learn to use some options for the first time. So let’s begin with the first command of the week. - -### ls ### - -ls is a command used to list files in a directory. It can be used in various ways. These various ways come with using a form of adding an **option** to our command. To make things clearer; You can type only ls. But, you can also add an option, which will modify your command. It can come in useful when you want to sandbox some of the information, when looking for something specific, and the command issues a very long output, you can, for example, narrow it down to only specific information. - -That’s what an option is. And formally we can write it down like this: - - command -option argument - -Command is, well, a command we write in (like pwd, ls or anything else we have learned by now). - -We already stated above the purpose of an option. But let me note it should be written exactly as it’s in the form; With a dash in front of it. So, if the option is l, you should put **-l** after the command. - -An **argument** is an object upon which the command operates (in this case, it will be directories, as we’ll learning how to navigate through them). - -So, let’s try out ls, and use it on the /etc directory in our home folder. This time, without any options. - -![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184127.png) - -There you go, a whole bunch of files. It also sorts them by colours. The blue ones are directories, the white ones are files, the green one seems like a shell script of some sort. There are more colors, as they represent different file types. - -Next, you can use the same command, but with an option -l added. Option -l will list the same files and directories, but in a long format. In case you need more information: - -![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184542.png) - -### The Long Format ### - -So, using the long format, you see much more information, and some crazy looking signs like -rw-r–r– at the beginning of all lines. Actually, here’s a scheme, representing what all of the given information actually means. - -![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184829.png) - -File Name is the name of the file. Modification time is the last time the file has been modified. Size is the size of the file in bytes. Group is the name of the group that has file permissions along with the owner, and Owner is the user who owns the file. The most important one is… - -### …File Permissions ### - -That’s the gibberish at the beginning of every line in long format. The first character is the file type. If it’s a ‘d’, it means the file’s a directory. If it’s ‘-’, it means it’s an ordinary file. The next three characters represent the read, write and execution rights of the file’s owner. The next three are the same rights of the group that also has access to the file, and the last three characters represent rights of everyone else trying to use the file. - -So for example, if we have a file which in long format displays: -rw-r–r–, it means it’s an ordinary file (the first ‘-’), the owner of the file can read and write the file, but he can’t execute it, as it’s not an executable file (the ‘rw-’ characters after the initial ‘-’), and the user group and everyone else can only read the file (you can see ‘r–’ sequence repeating twice. If the user group had ‘rwx’ instead of ‘r–’, it would mean they could read, write and execute the file). - -Next option for ls is ls -la .. – this will list all of the files, as in a usual command, hidden files are not shown. It will list all files in the parent of the working directory in long format. - -### less ### - -Less is a command which will display your text file. For example, you’re looking for text file os-release in /etc. You have succesfully found it there with ls /etc, and now you want to read it. - -You just use less /etc/os-release. - -![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-190252.png) - -..and there you go. - -How do you control less? - -Easy, with your keyboard! - -less will display only one page of your text at a time. To go forward one page, you can press **Page Up, or ‘b’**. To go back one page, you can use **Page Down, or space**. Capital **G** will take you to the end of the text file, while ‘**1G**‘ will take you to the beginning of the text. **/characters** will search for characters inside the text (for example, if you write /suse, it will search for occurances of suse inside your text and mark them). n will repeat the last search you performed, and **h** will display all your options (h, as in haalp!). - -![](https://news.opensuse.org/wp-content/uploads/2014/06/halp.jpg) - -You quit less with the letter q. - -### file ### - -The file command will show what kind of file is that you’re looking for, be it ASCII text, a jpg image, a bash script etc. As we performed our exercise with /etc/os-release, let’s use it here also. - -![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-191402.png) - -There you go, os-release is an ASCII text file. Please, do try it out with something else, and see the output. - -And until next time, remember to… - -…have a lot of fun! - --------------------------------------------------------------------------------- - -via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20140702 Command Line Tuesdays--Part Three.md b/translated/tech/20140702 Command Line Tuesdays--Part Three.md new file mode 100644 index 0000000000..2ced13fdfc --- /dev/null +++ b/translated/tech/20140702 Command Line Tuesdays--Part Three.md @@ -0,0 +1,85 @@ +暑假 先来一发 Luoxcat 翻译 +命令行星期二 - 第三篇 +================================================================================ +今天,Shotts 将带领我们游历文件系统的第一部分。我们将学到如何访问,列出目录内的文件,以及首次介绍一些选项的运用。OK,让我们开始学习这周的第一个命令。 + +### ls ### + +ls 是一个用来列出目录内文件的命令。通过添加**选项**来实现多种不同的用途。当然为了得心应手,你可以只需键入 ls 。但是,你也可以添加一个选项后,它会帮助你修饰你的命令。如果你想要"沙盒"一些信息时,这会帮到你的。举例来说,当你要从一个命令的大量输出中找寻指定信息,你可以用选项缩小范围来实现。 + +这就是选项的基础概念。我们可以用下面书写格式表示: + + command(命令) -option(选项) argument(参数) + +命令,恩...,我们可以输入 pwd, ls, 或者是我们到目前为止所有学过的命令。 + +以上我们已经阐述了选项的目的。但是我们需要注意一下书写格式:在前头添加一个破折号。所以,如果选项为 l, 你需要在命令后键入**-l**。 + +**参数**是一个命令的操作对象(在这个例子中,它是一个目录,我们将会学到如何浏览它们)。 + +接着,让我们尝试在主目录里尝试用 ls 命令列出 /etc 目录内容。这次我们先不添加选项。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184127.png) + +就这样,列出了一大堆的文件。它们还根据颜色进行了分类。蓝色的是目录,白色的为普通文件,绿色的似乎是一个 shell 脚本文件。除此之外,还有其他不同的颜色来代表不同的文件类型。 + +接下来,你可以在刚才的命令里添加 -l 选项。添加选项 -l 后也会列出同样的文件和目录,但是会有长格式(the long format)的输出。如果你需要查看更多信息的话,这个选项将是不错的选择。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184542.png) + +### 长格式 ### + +所以,用了长格式后,你可以看到更详细的信息,以及在每行开头类似-rw-r--r-- 令人抓狂的标示。实际上,这只是一种组合,代替了所有有意义的信息。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184829.png) + +(File Name)就是文件的名称。(Modification time)是文件最后修改的时间。(Size) 用 byte 计量的文件大小。(Group) 是组的名称和拥有者一起形成文件权限。(Owner) 是文件拥有者的名称。最最重要的。。。 + +### 。。。文件权限 ### + +文件权限在长格式每一行的开端都显得非常的杂乱。第一个字符代表文件类型。如果是 'd' , 意味着它是一个目录。如果是 '-' , 意味着它是一个一般文件。接下来的三个字符分别代表拥有者的 可读, 可写 ,可执行的权限。再接着三个字符表示组成员的享有的文件权限,而最后三个字符表示其他人对文件的享有权限。 + +例如,如果有个文件在长格式下显示为:-rw-r--r--, 这说明这是个普通文件(首字符 '-'), 拥有者享有可读可写权限,但是没有可执行权限,导致拥有者无法执行该文件(首字符'-'后'rw-'),用户组和其他用户只享有可读权限(你不难发现’r--'字段在后面出现了两次 。如果用户组是 'rwx' 而不是 'r-', 则意味着它们可读,可写,可执行文件)。 + +ls 的下个选项是 ls -la .. ,-a 它会列出所用文件包括隐藏文件,在通常情况下,隐藏文件是不可见的。用长格式列出当前工作目录下的父目录的所有文件。 + +### less ### + +less 是一个可以显示你的文本文件的命令。举例来说,你要在 /etc 下找寻名为 os-release 的文本文件。你可以使用 ls /etc 成功实现,而现在你想要阅读它。 + +你只需要使用 less /etc/os-release。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-190252.png) + +..就这样了。 + +你要如何控制 less 呢? + +简单的, 你只需要动动键盘就行了! + +less 一次只会显示一个页面的文本。往页面之前你需要按 **Page Up, 或者 'b'**。往页面之后你可以按**Page Don, 或者 space**。大写的**G**会跳转到文本的末尾,**1G**会跳转到文本的开端。**/字符**会在文本内搜索指定字符(例如,如果你输入 /suse ,它会找寻所有文本含有的 suse 并标记出来)。n 会重复执行你的搜索,**h**会显示所有的选项(h,haalp!)。 +译注:haalp !不懂求解释 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/halp.jpg) + +按q退出 less 命令。 + +### file ### + +file 会显示文件的类型,是否是你要找的 ASCII 文本,还是 jpg 图片,bash 脚本等。让我们用 /etc/os-release 执行练习。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-191402.png) + +就这样,os-release 是一个 ASCII 文本文件。 请尝试其他文件,并观察结果。 + +下回见了,记住。。。 + +。。。一定要玩的开心啊! + +-------------------------------------------------------------------------------- + +via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/ + +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From dbe1718917bc9d60c1d6969494186cb0acc094f8 Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 14 Jul 2014 21:18:00 +0800 Subject: [PATCH 106/291] PUB:20140625 Create A '.deb Pacakge Repository' at Sourceforge.net Using 'Reprepro' Tool in Ubuntu @geekpi --- ...rge.net Using 'Reprepro' Tool in Ubuntu.md | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) rename {translated/tech => published}/20140625 Create A '.deb Pacakge Repository' at Sourceforge.net Using 'Reprepro' Tool in Ubuntu.md (76%) diff --git a/translated/tech/20140625 Create A '.deb Pacakge Repository' at Sourceforge.net Using 'Reprepro' Tool in Ubuntu.md b/published/20140625 Create A '.deb Pacakge Repository' at Sourceforge.net Using 'Reprepro' Tool in Ubuntu.md similarity index 76% rename from translated/tech/20140625 Create A '.deb Pacakge Repository' at Sourceforge.net Using 'Reprepro' Tool in Ubuntu.md rename to published/20140625 Create A '.deb Pacakge Repository' at Sourceforge.net Using 'Reprepro' Tool in Ubuntu.md index 9c33329655..7c3686fd36 100644 --- a/translated/tech/20140625 Create A '.deb Pacakge Repository' at Sourceforge.net Using 'Reprepro' Tool in Ubuntu.md +++ b/published/20140625 Create A '.deb Pacakge Repository' at Sourceforge.net Using 'Reprepro' Tool in Ubuntu.md @@ -1,6 +1,6 @@ -在Ubuntu下使用“Reprepro”工具在Sourceforge.net中创建".deb"包仓库 +在Ubuntu下如何创建远程".deb"包仓库 ================================================================================ -**Reprepro**是一款小巧的命令行工具来方便地创建并管理**.deb**仓库。今天我们会战士如何人使用reprepro简单地创建一个Debian包仓库,并使用**rsync**上传到Sourceforge.net。 +**Reprepro**是一款小巧的命令行工具来方便地创建并管理**.deb**仓库。今天我们会展示给你如何使用reprepro简单地创建一个Debian包仓库,并使用**rsync**上传到Sourceforge.net。 ![Create Deb Package Repository](http://www.tecmint.com/wp-content/uploads/2014/06/Create-Debian-Package-Repository1.png) @@ -10,11 +10,11 @@ $ sudo apt-get install reprepro gnupg -现在你需要使用hnupg生成一个gpg key,这里使用下面的命令。 +现在你需要使用gnupg生成一个gpg key,这里使用下面的命令。 $ gpg --gen-key -它会询问你一些问题,比如你想要哪种key、key的有效期、如果你不知道如何回答,只需点击**Enter** 来选择默认选项(建议) +它会询问你一些问题,比如你想要哪种key、key的有效期、如果你不知道如何回答,只需点击**回车** 来选择默认选项(建议) 当然,它会询问你用户名和密码,在脑海中记住这些,因为我们会在之后需要它。 @@ -85,7 +85,7 @@ ### 步骤 2: 创建一个包仓库并导出key ### -我们现在要开始创建仓库,首先你需要创建一些文件夹,我们的仓库会在**/var/www/apt**目录,让我们先创建这些目录。 +我们现在要开始创建仓库,首先你需要创建一些文件夹,我们的仓库会放在**/var/www/apt**目录,让我们先创建这些目录。 $ sudo su # cd /var/www @@ -98,7 +98,7 @@ # gpg --armor --export username yourmail@mail.com >> /var/www/apt/key/deb.gpg.key -注意:用你之前步骤中输入的用户名代替username,用你的email代替yourmail@mail.com。 +注意:用你之前步骤中输入的用户名代替username,用你的email代替上面的yourmail@mail.com。 我们需要在**/var/www/apt/conf**创建一个文件“**distributions**”。 @@ -106,14 +106,14 @@ 加入下面这几行到distributions这个文件中并保存。 - Origin: (yourname) - Label: (name of repository) - Suite: (stable or unstable) - Codename: (the codename for the distribution you are using, like trusty) - Version: (the version for the distribution you are using, like 14.04) - Architectures: (the repository packages architecture, like i386 or amd64) - Components: (main restricted universe multiverse) - Description: (Some information about the repository) + Origin: (你的名字) + Label: (库的名字) + Suite: (stable 或 unstable) + Codename: (发布的代码名,比如 trusty) + Version: (发布的版本,比如 14.04) + Architectures: (软件包所支持的架构, 比如 i386 或 amd64) + Components: (包含的部件,比如 main restricted universe multiverse) + Description: (描述) SignWith: yes 接下来我们会创建仓库树,运行这些命令: @@ -137,7 +137,7 @@ ### 步骤 3: 在新创建的仓库中加入包 ### -现在准备你的**.deb**包来加入到仓库中。进入 **/var/www/apt**目录,你每次要加包的时候都不得不这么做。 +现在准备你的**.deb**包来加入到仓库中。进入 **/var/www/apt**目录,你每次要加包的时候都必须这么做。 # cd /var/www/apt # reprepro --ask-passphrase -Vb . includedeb Trusty /home/ravisaive/packages.deb @@ -159,7 +159,7 @@ Please enter passphrase: Successfully created './dists/Trusty/InRelease.new' -你的包已经加入了仓库,要移除它: +你的包已经加入了仓库,如果要移除它的话采用如下命令: # reprepro --ask-passphrase -Vb /var/www/apt remove trusty package.deb @@ -167,13 +167,15 @@ ### 步骤 4: 上传仓库到Sourceforge.net ### -要上传仓库到**Sourceforge.net**,你当然需要一个活跃账号与一个活跃项目,让我假设你想要上传仓库到**http://sourceforge.net/projects/myfoo/testrepository**,这里的myfoo是项目名(UNIX名称,不是URL,不是标题),testrepository是你想要上传文件到这上面的目录,这里我们会使用[rsync 命令][1] +要上传仓库到**Sourceforge.net**,你当然需要一个可用的账号与一个可用的项目,让我假设你想要上传仓库到**http://sourceforge.net/projects/myfoo/testrepository**,这里的myfoo是项目名(UNIX上的名称,不是URL,不是标题),testrepository是你想要上传文件到这上面的目录,这里我们会使用[rsync 命令][1]。(LCTT译注:当然你也可以上传到其它的支持Http/Rsync的服务器上,以提供远程软件库的服务。) # rsync -avP -e ssh /var/www/apt/ username@frs.sourceforge.net:/home/frs/project/myfoo/testrepository/ -**注意**:用你在sourceforge.net上的用户名代替username,用你的项目的UNIX类型名称代替myfoo,用你想要存储的文件夹代替testrepository。 +**注意**:用你在sourceforge.net上的用户名代替username,用你的项目的UNIX名称代替myfoo,用你想要存储的文件夹代替testrepository。 -现在你的仓库上传到了**http://sourceforge.net/projects/myfoo/testrepository**,要把它加入到已安装的系统,首先你需要导入仓库key,它会在**/var/www/apt/key/deb.gpg.key**,但是这是一个本地路径,并且你仓库的用户不能添加到他们的系统中,这就是为什么我们要导入来自sourceforge.net的key的原因。 +现在你的仓库(包括设置和key等等)上传到了**http://sourceforge.net/projects/myfoo/testrepository**。 + +要把它加入到一个已装好的系统,首先你需要导入仓库key,它实际上就是**/var/www/apt/key/deb.gpg.key**,但是这是一个本地路径,使用你的仓库的其它用户不能添加到他们的系统中,这就是为什么我们要导入来自sourceforge.net的key的原因。 $ sudo su # wget -O - http://sourceforge.net/projects/myfoo/testrepository/apt/key/deb.gpg.key | apt-key add - @@ -194,7 +196,7 @@ via: http://www.tecmint.com/create-deb-pacakge-repository-in-ubuntu/ -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 612df92b4f58b8e4837feeda50a4f130354259ee Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 14 Jul 2014 21:27:05 +0800 Subject: [PATCH 107/291] PUB:20140624 Open Source Multimedia Converter Curlew 0.1.22.3 Is Out @geekpi --- ... Source Multimedia Converter Curlew 0.1.22.3 Is Out.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename {translated/tech => published}/20140624 Open Source Multimedia Converter Curlew 0.1.22.3 Is Out.md (69%) diff --git a/translated/tech/20140624 Open Source Multimedia Converter Curlew 0.1.22.3 Is Out.md b/published/20140624 Open Source Multimedia Converter Curlew 0.1.22.3 Is Out.md similarity index 69% rename from translated/tech/20140624 Open Source Multimedia Converter Curlew 0.1.22.3 Is Out.md rename to published/20140624 Open Source Multimedia Converter Curlew 0.1.22.3 Is Out.md index 6f7077377d..8fe7018a07 100644 --- a/translated/tech/20140624 Open Source Multimedia Converter Curlew 0.1.22.3 Is Out.md +++ b/published/20140624 Open Source Multimedia Converter Curlew 0.1.22.3 Is Out.md @@ -7,11 +7,11 @@ Curlew可以转换超过100种不同的格式、显示文件的详细信息、转换预览、插入字幕等等。 -根据变更日志,转换前后实例的最后大小和位置会被记住、加入了一些失去对话图标、文件系统会在挂起前同步。 +此次更新包括:该软件打开时会记住上次的窗口大小和位置、增加了丢失了的对话框图标、在系统挂起前会主动同步文件系统。 -这个程序有一些依赖:至少Python 2.7 (小于3.0)、python-gobject 3.0、gir1.2-gtk 3.0、 ffmpeg 0.8、libav-tools 0.8、 mencoder、libavcodec-extra、xdg-utils、mediainfo。 +这个程序需要的依赖环境包括:Python 2.7及其以上 (但是不兼容3.x)、python-gobject 3.0、gir1.2-gtk 3.0、 ffmpeg 0.8、libav-tools 0.8、 mencoder、libavcodec-extra、xdg-utils和mediainfo等。 -来自noobslab.com的人提供一种通过PPA来简单地安装这个应用的方法。你要做的是在命令行下输入少量的命令(你需要使用root权限来生效) +来自noobslab.com的兄弟们提供一种通过PPA来简单地安装这个应用的方法。你要做的是在命令行下输入少量的命令(你需要有root权限才行) sudo add-apt-repository ppa:noobslab/apps sudo apt-get update @@ -30,7 +30,7 @@ Curlew可以转换超过100种不同的格式、显示文件的详细信息、 via: http://news.softpedia.com/news/Open-Source-Multimedia-Converter-Curlew-0-1-22-3-Is-Out-448028.shtml -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 6f12a02aca955efbf39f524554f30b3be37019b8 Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 14 Jul 2014 21:50:30 +0800 Subject: [PATCH 108/291] PUB:20140702 Command Line Tuesdays--Part Three @Luoxcat --- ...40702 Command Line Tuesdays--Part Three.md | 83 ++++++++++++++++++ ...40702 Command Line Tuesdays--Part Three.md | 85 ------------------- 2 files changed, 83 insertions(+), 85 deletions(-) create mode 100644 published/20140702 Command Line Tuesdays--Part Three.md delete mode 100644 translated/tech/20140702 Command Line Tuesdays--Part Three.md diff --git a/published/20140702 Command Line Tuesdays--Part Three.md b/published/20140702 Command Line Tuesdays--Part Three.md new file mode 100644 index 0000000000..5f7478e869 --- /dev/null +++ b/published/20140702 Command Line Tuesdays--Part Three.md @@ -0,0 +1,83 @@ +命令行星期二 —— 第三篇 +================================================================================ +今天,肖茨先生将带领我们游历文件系统的第一部分。我们将学到如何访问、列出目录内的文件,以及首次介绍一些选项的运用。OK,让我们开始学习这周的第一个命令。 + +### ls ### + +ls 是一个用来列出目录内文件的命令。通过添加**选项**来实现多种不同的用途。简单起见,你可以只需键入 ls 。但是,你也可以在命令后面添加一个选项,它会帮助你修饰你的命令。如果你想要随意摆弄一些信息时,这会帮到你的。举例来说,当你要从一个命令的大量输出中找寻指定信息,你可以用选项缩小范围来实现。 + +这就是选项的基础概念。我们可以用下面书写格式表示: + + command(命令) -option(选项) argument(参数) + +命令,恩...,我们可以输入 pwd、 ls, 或者我们到目前为止所有学过的命令。 + +以上我们已经阐述了选项的目的。但是我们需要注意一下书写格式:在前头添加一个破折号。所以,如果选项为 l, 你需要在命令后键入**-l**。 + +**参数**是一个命令的操作对象(在这个例子中,它是一个目录,我们将会学到如何浏览它们)。 + +接着,让我们尝试在主目录里尝试用 ls 命令列出 /etc 目录内容。这次我们先不添加选项。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184127.png) + +就这样,列出了一大堆的文件。它们还根据颜色进行了分类。蓝色的是目录,白色的为普通文件,绿色的似乎是某种 shell 脚本文件。除此之外,还有其他不同的颜色来代表不同的文件类型。 + +接下来,你可以在刚才的命令里添加 -l 选项。添加选项 -l 后也会列出同样的文件和目录,但是以长格式方式输出。如果你需要查看更多信息的话,这个选项将是不错的选择。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184542.png) + +### 长格式 ### + +这样,用了长格式后,你可以看到更详细的信息,以及在每行开头类似-rw-r--r-- 令人抓狂的标示。实际上,这只是一种组合,代表了各种意义的信息。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184829.png) + +(File Name)就是文件的名称。(Modification time)是文件最后修改的时间。(Size) 用 byte 计量的文件大小。(Group) 是组的名称,和拥有者一起构成文件权限。(Owner) 是文件拥有者的名称。最最重要的… + +###…文件权限 ### + +文件权限在长格式每一行的开端都显得非常的杂乱。第一个字符代表文件类型。如果是 'd' , 意味着它是一个目录。如果是 '-' , 意味着它是一个一般文件。接下来的三个字符分别代表拥有者的可读, 可写 ,可执行的权限。再接着三个字符表示组成员的享有的文件权限,而最后三个字符表示其他人(既不是拥有者也不是同组)对文件的享有权限。 + +例如,如果有个文件在长格式下显示为:-rw-r--r--, 这说明这是个普通文件(首字符 '-'),拥有者享有可读可写权限,但是没有可执行权限,导致拥有者无法执行该文件(首字符'-'后'rw-'),用户组和其他用户只享有可读权限(你不难发现'r--'字段在后面出现了两次 。如果用户组是 'rwx' 而不是 'r-',则意味着它们可读,可写,可执行)。 + +ls 的下个选项是 ls -la .. ,-a 它会列出所有的文件,包括隐藏文件。在通常情况下,隐藏文件是不可见的。用长格式列出当前工作目录下的父目录的所有文件。 + +### less ### + +less 是一个可以显示你的文本文件的命令。举例来说,你要在 /etc 下找寻名为 os-release 的文本文件。你可以使用 ls /etc 成功实现,而现在你想要阅读它的内容。 + +你只需要使用 less /etc/os-release。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-190252.png) + +..就这样了。 + +你要如何控制 less 呢? + +简单的, 你只需要动动键盘就行了! + +less 一次只会显示一个页面的文本。往前翻页你需要按 **Page Up**, 或者 **'b'**。往后翻页你可以按**Page Down**, 或者 **空格**。大写的**G**会跳转到文本的末尾,**1G**会跳转到文本的开端。**/字符**会在文本内搜索指定字符(例如,如果你输入 /suse ,它会找寻所有文本含有的 suse 并标记出来)。n 会重复执行你的搜索,**h**会显示所有的选项(h,即帮助的意思)。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/halp.jpg) + +按q退出 less 命令。 + +### file ### + +file 会显示文件的类型,是否是你要找的 ASCII 文本,还是 jpg 图片,bash 脚本等。让我们用 /etc/os-release 执行练习。 + +![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-191402.png) + +这样,如你所见,os-release 是一个 ASCII 文本文件。 请尝试其他文件,并观察结果。 + +下回见了,记住… + +…一定要玩的开心啊! + +-------------------------------------------------------------------------------- + +via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/ + +译者:[Luoxcat](https://github.com/Luoxcat) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20140702 Command Line Tuesdays--Part Three.md b/translated/tech/20140702 Command Line Tuesdays--Part Three.md deleted file mode 100644 index 2ced13fdfc..0000000000 --- a/translated/tech/20140702 Command Line Tuesdays--Part Three.md +++ /dev/null @@ -1,85 +0,0 @@ -暑假 先来一发 Luoxcat 翻译 -命令行星期二 - 第三篇 -================================================================================ -今天,Shotts 将带领我们游历文件系统的第一部分。我们将学到如何访问,列出目录内的文件,以及首次介绍一些选项的运用。OK,让我们开始学习这周的第一个命令。 - -### ls ### - -ls 是一个用来列出目录内文件的命令。通过添加**选项**来实现多种不同的用途。当然为了得心应手,你可以只需键入 ls 。但是,你也可以添加一个选项后,它会帮助你修饰你的命令。如果你想要"沙盒"一些信息时,这会帮到你的。举例来说,当你要从一个命令的大量输出中找寻指定信息,你可以用选项缩小范围来实现。 - -这就是选项的基础概念。我们可以用下面书写格式表示: - - command(命令) -option(选项) argument(参数) - -命令,恩...,我们可以输入 pwd, ls, 或者是我们到目前为止所有学过的命令。 - -以上我们已经阐述了选项的目的。但是我们需要注意一下书写格式:在前头添加一个破折号。所以,如果选项为 l, 你需要在命令后键入**-l**。 - -**参数**是一个命令的操作对象(在这个例子中,它是一个目录,我们将会学到如何浏览它们)。 - -接着,让我们尝试在主目录里尝试用 ls 命令列出 /etc 目录内容。这次我们先不添加选项。 - -![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184127.png) - -就这样,列出了一大堆的文件。它们还根据颜色进行了分类。蓝色的是目录,白色的为普通文件,绿色的似乎是一个 shell 脚本文件。除此之外,还有其他不同的颜色来代表不同的文件类型。 - -接下来,你可以在刚才的命令里添加 -l 选项。添加选项 -l 后也会列出同样的文件和目录,但是会有长格式(the long format)的输出。如果你需要查看更多信息的话,这个选项将是不错的选择。 - -![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184542.png) - -### 长格式 ### - -所以,用了长格式后,你可以看到更详细的信息,以及在每行开头类似-rw-r--r-- 令人抓狂的标示。实际上,这只是一种组合,代替了所有有意义的信息。 - -![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-184829.png) - -(File Name)就是文件的名称。(Modification time)是文件最后修改的时间。(Size) 用 byte 计量的文件大小。(Group) 是组的名称和拥有者一起形成文件权限。(Owner) 是文件拥有者的名称。最最重要的。。。 - -### 。。。文件权限 ### - -文件权限在长格式每一行的开端都显得非常的杂乱。第一个字符代表文件类型。如果是 'd' , 意味着它是一个目录。如果是 '-' , 意味着它是一个一般文件。接下来的三个字符分别代表拥有者的 可读, 可写 ,可执行的权限。再接着三个字符表示组成员的享有的文件权限,而最后三个字符表示其他人对文件的享有权限。 - -例如,如果有个文件在长格式下显示为:-rw-r--r--, 这说明这是个普通文件(首字符 '-'), 拥有者享有可读可写权限,但是没有可执行权限,导致拥有者无法执行该文件(首字符'-'后'rw-'),用户组和其他用户只享有可读权限(你不难发现’r--'字段在后面出现了两次 。如果用户组是 'rwx' 而不是 'r-', 则意味着它们可读,可写,可执行文件)。 - -ls 的下个选项是 ls -la .. ,-a 它会列出所用文件包括隐藏文件,在通常情况下,隐藏文件是不可见的。用长格式列出当前工作目录下的父目录的所有文件。 - -### less ### - -less 是一个可以显示你的文本文件的命令。举例来说,你要在 /etc 下找寻名为 os-release 的文本文件。你可以使用 ls /etc 成功实现,而现在你想要阅读它。 - -你只需要使用 less /etc/os-release。 - -![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-190252.png) - -..就这样了。 - -你要如何控制 less 呢? - -简单的, 你只需要动动键盘就行了! - -less 一次只会显示一个页面的文本。往页面之前你需要按 **Page Up, 或者 'b'**。往页面之后你可以按**Page Don, 或者 space**。大写的**G**会跳转到文本的末尾,**1G**会跳转到文本的开端。**/字符**会在文本内搜索指定字符(例如,如果你输入 /suse ,它会找寻所有文本含有的 suse 并标记出来)。n 会重复执行你的搜索,**h**会显示所有的选项(h,haalp!)。 -译注:haalp !不懂求解释 - -![](https://news.opensuse.org/wp-content/uploads/2014/06/halp.jpg) - -按q退出 less 命令。 - -### file ### - -file 会显示文件的类型,是否是你要找的 ASCII 文本,还是 jpg 图片,bash 脚本等。让我们用 /etc/os-release 执行练习。 - -![](https://news.opensuse.org/wp-content/uploads/2014/06/Screenshot-30.-06.-2014-191402.png) - -就这样,os-release 是一个 ASCII 文本文件。 请尝试其他文件,并观察结果。 - -下回见了,记住。。。 - -。。。一定要玩的开心啊! - --------------------------------------------------------------------------------- - -via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/ - -译者:[Luoxcat](https://github.com/Luoxcat) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From c42a29703a0af022c6299b6a99de0944ca87552d Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Mon, 14 Jul 2014 21:55:55 +0800 Subject: [PATCH 109/291] su-kaiyao translating --- ...Save Millions of Dollars by Ditching Microsoft Products.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md b/sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md index 4db32000e1..a98d0ca02d 100644 --- a/sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md +++ b/sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md @@ -1,3 +1,5 @@ +[su-kaiyao]翻译中 + Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products ================================================================================ ![](http://i1-news.softpedia-static.com/images/news2/Canonical-and-Ubuntu-Helped-Munich-Save-Millions-of-Dollars-By-Ditching-Microsoft-Products-450571-2.jpg) @@ -26,4 +28,4 @@ via: http://news.softpedia.com/news/Canonical-and-Ubuntu-Helped-Munich-Save-Mill 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[1]:https://insights.ubuntu.com/2014/07/07/ubuntu-and-open-source-help-the-city-of-munich-save-millions/ \ No newline at end of file +[1]:https://insights.ubuntu.com/2014/07/07/ubuntu-and-open-source-help-the-city-of-munich-save-millions/ From ccf4a8b767d65669d4b8bf6b017ba05d55a43f79 Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Mon, 14 Jul 2014 22:10:57 +0800 Subject: [PATCH 110/291] Delete 20140711 Linux Basics--How To Find Size of Directory Commands.md --- ...-How To Find Size of Directory Commands.md | 66 ------------------- 1 file changed, 66 deletions(-) delete mode 100644 sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md diff --git a/sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md b/sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md deleted file mode 100644 index bd88b1f49e..0000000000 --- a/sources/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md +++ /dev/null @@ -1,66 +0,0 @@ -cvsher翻译中 -Linux Basics: How To Find Size of Directory Commands -================================================================================ -This is the first in a series of posts in coming where I’ll be writing about some **basic commands** that that will be of good use to new users. - -**Note**: This is targeted at people little or no command line experience.. - -> How can I as a new user to Linux display directory properties from the terminal? - -### Requirements ### - -The only requirement is the **du** command line tool. du comes with almost every Linux distro by default. - -Check if du it’s on your system by running the command below in the terminal: - - man du - -**du** command estimates file space usage - -### Using du ### - -Running du with no flag displays names of all directories including sub-directories and sizes in bytes. - - du - -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-overview.png) - -Using the **-h** flag displays the sizes in human readable format, that is **K, M** and **G** representing **Kilobyte, Megabyte** and **Gigabyte** respectively. - - du - h - -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-h.png) - -To view a specific directory indicate that after du and flag as shown below: - - du -h Mapmaker - -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-h-mapmaker.png) - -Use -c to see grand **total** displayed: - - du -ch - -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-ch.png) - -Use **-s** flag to display only grand total / disk space used for specific directories: - - du -sh Mapmaker Sandbox - -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Screenshot-07052014-093858-AM.png) - -See man du for more flags and there uses - - man du - -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/man-du.png) - -Knows other combinations of du? Share with myself and others here too. - --------------------------------------------------------------------------------- - -via: http://www.unixmen.com/linux-basics-find-size-directory-commands/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 60827c31b5e542d117877a77ab1b90997286dd60 Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Mon, 14 Jul 2014 22:13:54 +0800 Subject: [PATCH 111/291] Create Linux Basics: How To Find Size of Directory Commands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 翻译完成 --- ...cs: How To Find Size of Directory Commands | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 translated/tech/Linux Basics: How To Find Size of Directory Commands diff --git a/translated/tech/Linux Basics: How To Find Size of Directory Commands b/translated/tech/Linux Basics: How To Find Size of Directory Commands new file mode 100644 index 0000000000..8c7b488363 --- /dev/null +++ b/translated/tech/Linux Basics: How To Find Size of Directory Commands @@ -0,0 +1,63 @@ +Linux基础,如何在命令行中查看目录的大小 +===================================================================== +这是写给Liunx新用户的一系列文章中的第一篇,在这系列文章我将会写一些对新用户来说非常好用的**Linux基础命令**。 + +**注意**:本文的目标读者是仅有小量甚至是没有任何Linux命令行使用经验的读者。 + +>作为一个Linux的新用户,我怎样可以在命令行终端中查看某个目录的属性? + +###要求### + +唯一的要求是**du**命令行工具。du基本上是所有Linux发行版本默认提供的工具。用以下的命令来检查你的系统中是否可以使用du命令: + + man du + +**du** 命令用于输出文件的空间使用情况。 + +###使用du### + +不带任何参数的运行du命令会显示当前工作目录以及其子目录的文件名和所占用的空间大小(以字节为单位)。 + + du + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-overview.png) + +使用**-h**参数以对用户友好的方式输出文件大小,即分别以**K, M**和**G**来表示**Kb,Mb**和**Gb** + + du -h + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-h.png) + +若想查看某个特定目录的文件大小,则在du命令中指定要查看的目录名,如下: + + du -h Mapmaker + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-h-mapmaker.png) + +使用 **-c** 参数来查看目录所占用磁盘空间的总大小 + + du -ch + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-ch.png) + +使用 **-s** 参数只输出指定目录占用空间的大小 + + du -sh Mapmaker Sandbox + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/du-ch.png) + +使用 man du 查看du命令更多参数的用法 + + man du + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/man-du.png) + +知道du命令更多的用法?请分享给我和其他人。 + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/linux-basics-find-size-directory-commands/ + +译者:[cvsher](https://github.com/cvsher) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 468a88aadefdaae80128610e1cee7c3536aa8aea Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Mon, 14 Jul 2014 22:51:58 +0800 Subject: [PATCH 112/291] Love-xuan Translating --- ...711 How to use systemd for system administration on Debian.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/tech/20140711 How to use systemd for system administration on Debian.md b/sources/tech/20140711 How to use systemd for system administration on Debian.md index a464473fe4..38cf2aebb9 100644 --- a/sources/tech/20140711 How to use systemd for system administration on Debian.md +++ b/sources/tech/20140711 How to use systemd for system administration on Debian.md @@ -1,3 +1,4 @@ +Love-xuan翻译中 How to use systemd for system administration on Debian ================================================================================ Soon enough, hardly any Linux user will be able to escape the ever growing grasp that systemd imposes on Linux, unless they manually opt out. systemd has created more technical, emotional, and social issues than any other piece of software as of late. This predominantly came to show in the [heated discussions][1] also dubbed as the 'Init Wars', that occupied parts of the Debian developer body for months. While the Debian Technical Comittee finally decided to include systemd in Debian 8 "Jessie", there were efforts to [supersede the decision][2] by a General Resolution, and even threats to the health of developers in favor of systemd. From 5cd1a03fb9102313a44052ce6e009738479b8417 Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Tue, 15 Jul 2014 09:48:30 +0800 Subject: [PATCH 113/291] [translated] Here Are 5 Amazing Ascii Art Generators --- ...1 Here Are 5 Amazing Ascii Art Generators.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md b/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md index ee35a361a6..f8518fbb66 100644 --- a/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md +++ b/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md @@ -1,35 +1,34 @@ -zpl1025 -Here Are 5 Amazing Ascii Art Generators! +五个超赞的字符艺术生成器! ================================================================================ ![](http://www.efytimes.com/admin/useradmin/photo/nin511907PM712014.jpg) -ASCII is a very fascinating character-encoding scheme wherein codes represent text in computers, communications equipment, and other devices that use text. The next gen might call it old-school but those familiar with the concept know how unique ASCII really is. Here we have compiled a list of 5 amazing ASCII art generators for you. +ASCII是一个非常吸引人的字符编码系统,在计算机,通讯设备,以及其他设备中,通过它来用代码表示字符。新一代的人可能会觉得它已经过时了,但是那些熟悉它的人会懂得ASCII是多么的独特。我们在这里为你准备了五个超赞的ASCII字符艺术生成器。 ### 1.[GlassGiant ASCII Art][1] ### -This little program converts your picture to ASCII text art - a jumble of letters, numbers and symbols that do not appear to have any significance until you step back and look at the whole picture. It has no practical purpose, other than the neat factor. +这个小程序可以把图片转换成ASCII文字艺术-一堆胡乱堆在一起的文字,数字和符号,看上去没有任何意义,直到你往后站一步去看完整的画面。它也没有什么实际的目的,只是看上去非常简洁灵巧。 ### 2.[ASCII Art Generator][2] ### -ASCII art is an art movement that utilises computers for presentation and consists of pictures pieced together from printable characters. All you need to do id upload your image and it will convert it to ascii art. +ASCII字符艺术是一种在电脑上把可打印字符作为图片碎片来拼接展现一幅图像的艺术活动。你所需要做的只是上传你的图片,然后它会帮你转成ASCII字符艺术。 ### 3.[Ascii.mastervb][3] ### -ASCII Art is created from a 7-bit ASCII characters standard. ASCII Art was popular in 70-80s. In that time, computer OS was still text based. This application can convert images to ascii really quick. +ASCII字符艺术来源于7比特ASCII字符标准。ASCII字符艺术曾经在70-80年代很流行。在那个时候,计算机系统都还是基于字符的。这个程序可以非常快地把图片转换成ASCII字符。 ### 4.[IMG2TXT][4] ### -This script takes the URL of a GIF, JPG, or PNG image and converts that image into ASCII text or colored HTML. +这个脚本可以将GIF,JPG,或PNG的链接转换成ASCII字符或是带颜色的HTML。 ### 5.[picascii][5] ### -Convert a picture into ASCII TEXT,HTML. In order to convert a picture, you just need to enter an url or select a picture from your computer (gif,jpeg,png). +它可以把图片转换成ASCII文本或是HTML。要做转换,你只需要输入链接地址或是选择一张你电脑上的图片(gif/jpeg/png)。 -------------------------------------------------------------------------------- via: http://www.efytimes.com/e1/fullnews.asp?edid=142480 -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[zpl1025](https://github.com/zpl1025) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From e8282ed0e0e6e80c51abcdd30b251464fb1cc179 Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Tue, 15 Jul 2014 09:51:50 +0800 Subject: [PATCH 114/291] [translated] Here Are 5 Amazing Ascii Art Generators (move files...) --- .../talk/20140701 Here Are 5 Amazing Ascii Art Generators.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md (100%) diff --git a/sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md b/translated/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md similarity index 100% rename from sources/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md rename to translated/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md From 592e23237ae9db47b869adecc272bf224fa3f4dd Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Tue, 15 Jul 2014 09:56:41 +0800 Subject: [PATCH 115/291] [translating] HTG Explains: What is Unix and Why Does It Matter --- ...20140611 HTG Explains--What is Unix and Why Does It Matter.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md b/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md index bb30d87f14..e0349c280d 100644 --- a/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md +++ b/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md @@ -1,3 +1,4 @@ +zpl1025 HTG Explains: What is Unix and Why Does It Matter? ================================================================================ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/ken-thompson-and-dennis-richie-at-pdp-11.jpg) From ac474fa790fd496a5cca7ec0f0df8106cdbfe2a8 Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Tue, 15 Jul 2014 11:05:57 +0800 Subject: [PATCH 116/291] =?UTF-8?q?=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...711 How to use systemd for system administration on Debian.md | 1 - 1 file changed, 1 deletion(-) diff --git a/sources/tech/20140711 How to use systemd for system administration on Debian.md b/sources/tech/20140711 How to use systemd for system administration on Debian.md index 38cf2aebb9..a464473fe4 100644 --- a/sources/tech/20140711 How to use systemd for system administration on Debian.md +++ b/sources/tech/20140711 How to use systemd for system administration on Debian.md @@ -1,4 +1,3 @@ -Love-xuan翻译中 How to use systemd for system administration on Debian ================================================================================ Soon enough, hardly any Linux user will be able to escape the ever growing grasp that systemd imposes on Linux, unless they manually opt out. systemd has created more technical, emotional, and social issues than any other piece of software as of late. This predominantly came to show in the [heated discussions][1] also dubbed as the 'Init Wars', that occupied parts of the Debian developer body for months. While the Debian Technical Comittee finally decided to include systemd in Debian 8 "Jessie", there were efforts to [supersede the decision][2] by a General Resolution, and even threats to the health of developers in favor of systemd. From 9975c858b988fb002b1c5388af890970cfc3d498 Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Tue, 15 Jul 2014 11:17:19 +0800 Subject: [PATCH 117/291] =?UTF-8?q?Love-xuan=20=E7=BF=BB=E8=AF=91=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md b/sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md index 112cca1d85..8614116006 100644 --- a/sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md +++ b/sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md @@ -1,3 +1,4 @@ +Love-xuan 翻译中 How to Install Lightweight Budgie Desktop in Ubuntu 14.04 ================================================================================ **If you follow us over on Twitter you may have caught a glimpse of a screenshot we shared recently, along with the invitation to name the desktop environment pictured. ** From d90b0ccaadf3614d990b4a84f65e6a7555f5159b Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Tue, 15 Jul 2014 11:43:31 +0800 Subject: [PATCH 118/291] translated --- ... Dollars by Ditching Microsoft Products.md | 31 ------------------- ... Dollars by Ditching Microsoft Products.md | 26 ++++++++++++++++ 2 files changed, 26 insertions(+), 31 deletions(-) delete mode 100644 sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md create mode 100644 translated/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md diff --git a/sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md b/sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md deleted file mode 100644 index a98d0ca02d..0000000000 --- a/sources/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md +++ /dev/null @@ -1,31 +0,0 @@ -[su-kaiyao]翻译中 - -Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products -================================================================================ -![](http://i1-news.softpedia-static.com/images/news2/Canonical-and-Ubuntu-Helped-Munich-Save-Millions-of-Dollars-By-Ditching-Microsoft-Products-450571-2.jpg) - -**The City of Munich has become one of the most prominent examples of a city administration that switched from Microsoft products to open source, and it looks like Canonical and Ubuntu were an instrumental part of that change.** - -The City of Munich managed to shake off the Microsoft dependency, but it took a lot of work and it wasn't cheap. The benefits of moving from Microsoft products to open source might look expensive, but the costs are significantly lower than an upgrade, and it will prove to be a lot cheaper in the future. - -Moving from a proprietary solution to an open source one is not all that simple when you have a city the size of Munich. It has 22 organizational units and each of those units has its own IT department, not to mention different versions of the applications. - -The local authorities couldn't just adopt a Linux distribution on the fly. The first try was made with Debian back in 2006, but that particular OS didn't have a predictable release schedule. This is how the new LiMux was born, an operating system based on Ubuntu. - -“The LiMux/open source project was a long and iterative one, but after a few years of running such a large Linux base, we realized Ubuntu was the platform that could satisfy our requirements best. By combining the low costs and freedom of open source software with ongoing support for the hardware and applications we need, it was one of the critical elements to the success of this project. Most important was the backing of our politicians throughout the project,” [said][1] Peter Hofmann, project manager for the City of Munich. - -This tremendous project helped Munich save €10 million ($13.6 million) by 2013, but that is if we take into consideration only the upgrade costs. That sum might be a lot bigger if we could quantify the official support for the software and other hidden costs. - -Right now, in Munich, there are 14,000 PCs that are running LiMux and that number is still increasing. It's very likely that other German cities will do the same in the future, especially the ones neighboring Munich. - -It took the authorities of Munich 13 years to finish the transition, but in the end they managed to save a lot of money and prove that Linux is actually a very good and free solution for the IT infrastructure of an entire city. - --------------------------------------------------------------------------------- - -via: http://news.softpedia.com/news/Canonical-and-Ubuntu-Helped-Munich-Save-Millions-of-Dollars-By-Ditching-Microsoft-Products-450571.shtml - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://insights.ubuntu.com/2014/07/07/ubuntu-and-open-source-help-the-city-of-munich-save-millions/ diff --git a/translated/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md b/translated/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md new file mode 100644 index 0000000000..ea4e5310f7 --- /dev/null +++ b/translated/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md @@ -0,0 +1,26 @@ +放弃微软产品,规范和ubuntu帮助慕尼黑省下数百万美元 +================================================= +![jpg](https://camo.githubusercontent.com/fb9de25222893332a72f8d632cdeb70725e827ee/687474703a2f2f69312d6e6577732e736f667470656469612d7374617469632e636f6d2f696d616765732f6e657773322f43616e6f6e6963616c2d616e642d5562756e74752d48656c7065642d4d756e6963682d536176652d4d696c6c696f6e732d6f662d446f6c6c6172732d42792d4469746368696e672d4d6963726f736f66742d50726f64756374732d3435303537312d322e6a7067) + +慕尼黑这座城市已经成为了从微软产品转向开源的,最突出的城市管理案例之一,而且规范和ubuntu为这次变革起了很大的作用 + +慕尼黑成功脱离了微软的依赖,但是他们为这次摆脱付出了价值不菲的代价。从微软产品转向开源的好处看起来似乎很昂贵,但是转变的成本比之后的产品升级显著要低,不仅如此,在未来,我们会发现这种做法更便宜 + +当你在像慕尼黑城市这种大城市,尝试从一个专有解决方法转向开源的时候,这可并不容易。因为慕尼黑拥有22个组织单位,每个单位都有自己的IT部门,更不要说各部门之间不同版本的应用程序 + +地方政府不能只采用一个Linux发行版本。第一次的尝试是在2006年,伴随着Debian的回归,但是特定的操作系统并没有一个可预测的发布时间表。这就是新操作系统LiMux产生的原因,一个基于ubuntu的操作系统 + +“LiMux/开源项目是漫长而又反复的,但是经过几年时间运行这种大型Linux,我们意识到ubuntu才是最能满足我们需求的平台。通过结合开源软件的低成本和自由,加以对我们需要的硬件和应用程序的持续支持,这种做法才是这个项目成功的关键因素之一。当然,最终要还有我们的政治家在项目始终给予的高度支持。”慕尼黑项目经理Peter Hofmann说道 + +截至2013年,如果只考虑升级成本的话,这个项目帮助慕尼黑节省了€1000万(1360万美元)。如果我们能过量化官方支持软件和其余隐藏成本的话,这个数额显得有些多 + +眼下,慕尼黑14000台PC机运行着LiMux,而且数量还在持续增长。这很有可能影响其余德国城市在未来也这么做,尤其是慕尼黑的邻国 + +慕尼黑当局采用了13年才完成这次变革,但是最终事实证明,这样做可以省下一大笔资金,而且证明了Linux实际上是整个城市IT基础设施又好有免费的解决方案 + +---- +via: http://news.softpedia.com/news/Canonical-and-Ubuntu-Helped-Munich-Save-Millions-of-Dollars-By-Ditching-Microsoft-Products-450571.shtml + +译者:译者ID 校对:校对者ID + +本文由 LCTT 原创翻译,Linux中国 荣誉推出 From 4cf8ed47ee7d5890a8132b7e4791f8de6b36d099 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Tue, 15 Jul 2014 11:50:23 +0800 Subject: [PATCH 119/291] =?UTF-8?q?[su-kaiyao]=E7=BF=BB=E8=AF=91=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Set Default Browser on Debian or Ubuntu Using Terminal.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md b/sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md index 41301014fa..9960e1f57f 100644 --- a/sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md +++ b/sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md @@ -1,3 +1,5 @@ +[su-kaiyao]翻译中 + [Quick Tip] Set Default Browser on Debian/Ubuntu Using Terminal ================================================================================ ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Browsers-790x436.jpg) @@ -23,4 +25,4 @@ via: http://www.unixmen.com/quick-tip-set-default-browser-debianubuntu-using-ter 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 500fc56b48e4f3c3d02150a5a39a03edbbfde754 Mon Sep 17 00:00:00 2001 From: wxy Date: Tue, 15 Jul 2014 14:01:17 +0800 Subject: [PATCH 120/291] PUB:20140623 How to speed up directory navigation in a Linux terminal @GOLinux --- ...irectory navigation in a Linux terminal.md | 41 ++++++++++--------- ...How To Find Size of Directory Commands.md} | 0 2 files changed, 22 insertions(+), 19 deletions(-) rename {translated/tech => published}/20140623 How to speed up directory navigation in a Linux terminal.md (51%) rename translated/tech/{Linux Basics: How To Find Size of Directory Commands => Linux Basics: How To Find Size of Directory Commands.md} (100%) diff --git a/translated/tech/20140623 How to speed up directory navigation in a Linux terminal.md b/published/20140623 How to speed up directory navigation in a Linux terminal.md similarity index 51% rename from translated/tech/20140623 How to speed up directory navigation in a Linux terminal.md rename to published/20140623 How to speed up directory navigation in a Linux terminal.md index 570ee173d0..4653fdca7e 100644 --- a/translated/tech/20140623 How to speed up directory navigation in a Linux terminal.md +++ b/published/20140623 How to speed up directory navigation in a Linux terminal.md @@ -1,14 +1,17 @@ -在Linux终端中加速目录导航 +自动补完不算什么,一键直达目录才是终极神器! ================================================================================ -与在命令行中导航目录一样令人称道的是,很少有比一遍又一遍重复”cd ls cd ls cd ls……“更令人沮丧的事情了。如果你不是百分百确定你想要进入的下一个目录的名字,那么你不得不使用ls来确认,然后使用cd来进入你想要进的那一个。所幸的是,现在大量的终端和shell语言提供了强大的自动补全功能来处理该问题。但是,你仍然需要一直疯狂地敲击制表键来干这事。如果你和我一样懒惰,你就会对autojump十分痴迷。自动跳转是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不用管你现在身在何处。 + +在命令行中切换目录是最常用的操作,不过很少有比一遍又一遍重复“cd ls cd ls cd ls ……”更令人沮丧的事情了。如果你不是百分百确定你想要进入的下一个目录的名字,那么你不得不使用ls来确认,然后使用cd来进入你想要进的那一个。所幸的是,现在大量的终端和shell语言提供了强大的自动补全功能来处理该问题。但是,你仍然需要一直疯狂地敲击TAB键来干这事。如果你和我一样懒惰,你一定会对autojump感到惊喜。 + +autojump是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不用管你现在身在何处。 ### 在Linux上安装autojump ### -在Ubuntu或Debian上autojump: +在Ubuntu或Debian上安装autojump: $ sudo apt-get install autojump -要在CentOS或Fedora上安装autojump,请使用yum命令。在CentOS上,你需要先[启用EPEL仓库][1]。 +要在CentOS或Fedora上安装autojump,请使用yum命令。在CentOS上,你需要先[启用EPEL仓库][1]才行。 $ sudo yum install autojump @@ -20,11 +23,11 @@ ### autojump的基本用法 ### -autojump的工作方式很简单:它会在你每次启动命令时记录你当前位置,并把它添加进它自身的数据库中。那样,某些目录比其它一些目录添加的次数多,这些目录一般就代表你最重要的目录,而它们的“weight”也会增大。 +autojump的工作方式很简单:它会在你每次启动命令时记录你当前位置,并把它添加进它自身的数据库中。这样,某些目录比其它一些目录添加的次数多,这些目录一般就代表你最重要的目录,而它们的“权重”也会增大。 -从那儿,你可以使用下面的语法来直接跳转到这些目录: +现在不管你在哪个目录,你都可以使用下面的语法来直接跳转到这些目录: - autojump [name or partial name of the directory] + autojump [目录的名字或名字的一部分] 注意,你不需要输入完整的名称,因为autojump会检索它的数据库,并返回最可能的结果。 @@ -38,9 +41,9 @@ autojump的工作方式很简单:它会在你每次启动命令时记录你当 如果你也很讨厌打字,那么我推荐你为autojump起个别名,或者使用默认的别名。 - $ j [name or partial name of the directory] + $ j [目录的名字或名字的一部分] -另外一个引人注目的功能是,autojump支持 +另外一个引人注目的功能是,autojump支持zsh和自动补完。如果你不确认哪里是不是你要跳转的地方,敲击TAB键就会列出完整路径。 还是同样的例子,输入: @@ -48,29 +51,29 @@ autojump的工作方式很简单:它会在你每次启动命令时记录你当 然后敲击tab键,将会返回/root/home/doc或者/root/home/ddl。 -最后,对于高级用户,你可以访问目录数据库,并修改它的内容。它使得使用下面的命令来手动添加一个目录成为可能: +最后,对于高级用户,你可以访问目录数据库,并修改它的内容。可以使用下面的命令来手动添加一个目录: - $ autojump -a [directory] + $ autojump -a [目录] -如果你突然想要把它变成你的最爱和使用最频繁的文件夹,你可以通过命令的内部参数来手工增加它的weight +如果你突然想要把当前目录变成你的最爱和使用最频繁的文件夹,你可以在该目录通过命令的参数 i 来手工增加它的权重 - $ autojump -i [weight] + $ autojump -i [权重] -这将使得该目录更可能被选择跳转。相反的例子是使用内部参数来减少weight: +这将使得该目录更可能被选择跳转。相反的例子是在该目录使用参数 d 来减少权重: - $ autojump -d [weight] + $ autojump -d [权重] 要跟踪所有这些改变,输入: $ autojump -s -这会显示数据库中的统计数据,然而: +这会显示数据库中的统计数据。而以下: $ autojump --purge -上面的命令将会把不再存在的目录从数据库移除。 +命令将会把不再存在的目录从数据库中移除。 -简言之,autojump将会受到所有命令行高级用户的欢迎。不管你是在ssh进一台服务器,还是仅仅想要追随复古潮流,敲更少的键来减少导航时间总是件好事。如果你真的热衷于此类工具,你也肯定会看看[Fasd][3],它应该会很称职。 +简言之,autojump将会受到所有命令行高级用户的欢迎。不管你是在ssh进一台服务器,还是仅仅想要追随复古潮流,敲更少的键来减少导航时间总是件好事。如果你真的热衷于此类工具,你也肯定也想看看[Fasd][3],它应该会给你一个惊喜,我们下次再介绍它。 你觉得autojump怎么样?你会经常用它么?发表一下你的评论吧。 @@ -78,7 +81,7 @@ autojump的工作方式很简单:它会在你每次启动命令时记录你当 via: http://xmodulo.com/2014/06/speed-up-directory-navigation-linux-terminal.html -译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) +译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/Linux Basics: How To Find Size of Directory Commands b/translated/tech/Linux Basics: How To Find Size of Directory Commands.md similarity index 100% rename from translated/tech/Linux Basics: How To Find Size of Directory Commands rename to translated/tech/Linux Basics: How To Find Size of Directory Commands.md From 831882e6a44ee6b24327fbd36f17c8f05305305f Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Tue, 15 Jul 2014 14:29:32 +0800 Subject: [PATCH 121/291] Finish translate 20140709 Red Hat Announces Availability of its OpenStack Platform 5 --- ...vailability of its OpenStack Platform 5.md | 38 --------- ...vailability of its OpenStack Platform 5.md | 82 +++++++++++++++++++ 2 files changed, 82 insertions(+), 38 deletions(-) delete mode 100644 sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md create mode 100644 translated/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md diff --git a/sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md b/sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md deleted file mode 100644 index 84513865ed..0000000000 --- a/sources/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md +++ /dev/null @@ -1,38 +0,0 @@ -nd0104 is translating -Red Hat Announces Availability of its OpenStack Platform 5 -================================================================================ -![](http://farm4.static.flickr.com/3108/3191608123_67e1da2b79_o.jpg) - -Red Hat has [announced][1] the general availability of Red Hat Enterprise Linux OpenStack Platform 5, which is the third enterprise release of the company's OpenStack offering. Aside from new features, the platform is clearly being aimed at many types of organizations, including "advanced cloud users, telecommunications companies, Internet service providers (ISPs), and public cloud hosting providers." - -OpenStack Platform 5 is based on the latest OpenStack Icehouse release and provides more evidence of how very focused on cloud computing Red Hat has become. - -The new release includes a three-year support lifecycle, and [I've made the point before][2] that because of its legendary support for Linux, Red Hat's OpenStack support will be a key differentiator in wooing enterprises. There has been controversy over whether Red Hat will support OpenStack distributions other than its own, which is significant because a recent OpenStack user survey showed that [90% of OpenStack deployments today are not running on RHEL][3], but rather use other flavors of Linux and KVM, such as Ubuntu or CentOS. - -Other features in Red Hat's new release include: - -> **Support for integration with VMware infrastructure**, encompassing virtualization, management, networking and storage. Customers may use existing VMware vSphere resources as virtualization drivers for OpenStack Compute (Nova) nodes, managed from the OpenStack Dashboard (Horizon). Additionally, Red Hat Enterprise Linux OpenStack Platform 5 supports the VMware NSX plugin for OpenStack Networking (Neutron) and the VMware Virtual Machine Disk (VMDK) plugin for OpenStack Block Storage (Cinder). -> -> **Better placement of workloads across cloud resources**. "Server groups enable workloads to be spread broadly across the OpenStack cloud for enhanced resiliency of distributed applications, or located proximately for lower communications latency and better performance of complex applications." -> -> **Improved support for virtual machines, supporting new cryptographic security requirements from the United States and United Kingdom**. Using the para-virtualized random number generator device added in Red Hat Enterprise Linux 7, cryptographic routines in guest applications will have access to better quality encryption and experience improved performance. -> -> **Improved interoperability of networking stacks**. Red Hat claims that the new modular plugin architecture for Neutron eases the addition of new networking technologies to OpenStack deployments. The new architecture provides a path for customers with heterogeneous networking environments who want to use a mix of networking solutions in their OpenStack environment. - -Radhesh Balakrishnan, general manager, Virtualization and OpenStack, Red Hat, said in a statement: - -> “We see momentum behind OpenStack as a private cloud platform of choice from enterprise customers and service providers alike. Red Hat Enterprise Linux OpenStack Platform 5 not only offers a production-ready, supported version of OpenStack Icehouse, but it brings a number of features that will simplify its use, and enhance dependability for enterprise users. Alongside those new features, we’re extending our support lifecycle for Red Hat Enterprise Linux OpenStack Platform, giving users confidence that the solution they deploy will be supported by our global team for the next three years.” - -You can bet on that last point--a three-year support plan--as a key reason why some enterprises will go with Red Hat in the increasingly competitive OpenStack race. And, clearly, Red Hat is tying its future to cloud computing and the OpenStack platform. - --------------------------------------------------------------------------------- - -via: http://ostatic.com/blog/red-hat-announces-availability-of-its-openstack-platform-5 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.marketwatch.com/story/red-hat-announces-general-availability-of-red-hat-enterprise-linux-openstack-platform-5-2014-07-08 -[2]:http://ostatic.com/blog/why-red-hats-openstack-support-must-be-as-inclusive-as-possible -[3]:http://www.openstack.org/blog/2013/11/openstack-user-survey-october-2013/ \ No newline at end of file diff --git a/translated/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md b/translated/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md new file mode 100644 index 0000000000..1be373d973 --- /dev/null +++ b/translated/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md @@ -0,0 +1,82 @@ +nd0104 is translating +Red Hat Announces Availability of its OpenStack Platform 5 +红帽公司发布 OpenStack Platform 5 +================================================================================ +![](http://farm4.static.flickr.com/3108/3191608123_67e1da2b79_o.jpg) + +Red Hat has [announced][1] the general availability of Red Hat Enterprise Linux OpenStack Platform 5,which is the third enterprise release of the company's OpenStack offering. Aside from new features, the platform is clearly being aimed at many types of organizations, including "advanced cloud users, telecommunications companies, Internet service providers (ISPs), and public cloud hosting providers." +红帽公司[宣布][1]在RHEL上推出OpenStack Platform5,这是基于OpenStack开源云的第三个发行版。该版本不仅开发了一些新功能,针对的用户群体也大为增多,如高大上的云用户、电信企业、互联网服务供应商(ISP)、公有云服务供应商等。 + +OpenStack Platform 5 is based on the latest OpenStack Icehouse release and provides more evidence of how very focused on cloud computing Red Hat has become. +OpenStack Platform 5是基于最新的Openstack Icehouse的发行版,并且针对云计算技术做了大量的修改和优化工作而来的。 + +The new release includes a three-year support lifecycle, and [I've made the point before][2] that because of its legendary support for Linux, +Red Hat's OpenStack support will be a key differentiator in wooing enterprises. +这个最新的发行版有3年的技术支持周期,[我选择了使用][2]它是考虑到红帽公司在Linux系统上对用户无以伦比的技术支持,红帽公司对其OpenStack Platform 5的技术支持服务将是促使企业购买的关键之一。 + +There has been controversy over whether Red Hat will support OpenStack distributions other than its own, + which is significant because a recent OpenStack user survey showed that [90% of OpenStack deployments today + are not running on RHEL][3], but rather use other flavors of Linux and KVM, such as Ubuntu or CentOS. +对于红帽公司是否会支持OpenStack的其他发行版尚未有定论,但一份OpenStack用户调查已经显示[90%的OpenStack开发人员并没有在RHEL上使用OpenStack}[3],而是选用了Ubuntu或者CentOS Linux和其虚拟化技术。 + +Other features in Red Hat's new release include: +OpenStack Platform 5的最新功能: + +> **Support for integration with VMware infrastructure**, +encompassing virtualization, management, networking and storage. +Customers may use existing VMware vSphere resources as virtualization drivers for OpenStack Compute (Nova) nodes, + managed from the OpenStack Dashboard (Horizon). Additionally, +Red Hat Enterprise Linux OpenStack Platform 5 supports the VMware NSX plugin for OpenStack Networking (Neutron) +and the VMware Virtual Machine Disk (VMDK) plugin for OpenStack Block Storage (Cinder). +> + +> **支持和VMware基础架构的整合**,结构包含虚拟化、管理、网络和存储。 +用户一般会使用已经在使用的VMware vSphere资源,比如虚拟化驱动作为OpenStack (Nova)的计算节点,再使用上层的OpenStack Dashboard(Horizon)对节点进行管理。 +同样的,RHEL OpenStack Platform 5也支持VMware的NSX插件,作为OpenStack NetWorking (Neutron)对网络进行管理,支持VMware虚拟磁盘(VMDK)以插件形式存在,作为OpenStack Block Storage(Cinder)来使用。 +> + +> **Better placement of workloads across cloud resources**. "Server groups enable workloads to be spread broadly across the OpenStack cloud for enhanced resiliency of distributed applications, or located proximately for lower communications latency and better performance of complex applications." +> **对云资源的使用,采取了更好的布置。**服务器组让计算散布到OpenStack云的服务节点上,这让分布式应用有了更强的弹性,对于复杂的应用,也能起到降低通信延迟,提高运算性能的作用。 +> + + +> **Improved support for virtual machines, supporting new cryptographic security requirements from the United States and United Kingdom**. +Using the para-virtualized random number generator device added in Red Hat Enterprise Linux 7, +cryptographic routines in guest applications will have access to better quality encryption and +experience improved performance. +> +> **对虚拟机更好的支持,支持加密,满足美英国家对信息安全的要求** 使用RHEL 7中提供的半虚拟化随机数生成器,在用户程序中也添加进这个工具,可以更好的加密质量和性能提升。 + +> **Improved interoperability of networking stacks**. +Red Hat claims that the new modular plugin architecture for Neutron eases the addition of new networking +technologies to OpenStack deployments. +The new architecture provides a path for customers with heterogeneous networking + environments who want to use a mix of networking solutions in their OpenStack environment. +> **提升协议栈的互通性**红帽公司宣称,Neutron中新开发的模块化的网络技术将简化OpenStack的部署。这种技术将允许用户在OpenStack中部署多种网络方案来解决异构网络的访问。 + +Radhesh Balakrishnan, general manager, Virtualization and OpenStack, Red Hat, said in a statement: +红帽公司虚拟化和OpenStack产品线总经理 Redhesh Balakrishnan说到: +> “We see momentum behind OpenStack as a private cloud platform of choice from enterprise customers and service providers alike. + Red Hat Enterprise Linux OpenStack Platform 5 not only offers a production-ready, + supported version of OpenStack Icehouse, but it brings a number of features that will simplify its use, and enhance dependability for enterprise users. + Alongside those new features, we’re extending our support lifecycle for Red Hat Enterprise Linux OpenStack Platform, + giving users confidence that the solution they deploy will be supported by our global team for the next three years.” + +> “我们看到越来越多的企业级用户或服务供应商选择OpenStack作为私有云平台,RHEL OpenStack Platform 5不只是一个基于OpenStack Icehouse产品,我们还开发了很多简单易用的功能,增强了产品的可靠性。 +在未来三年内,我们要让用户看到,RHEL OpenStack Platform 5所提供的功能和技术支持服务,将为他们部署的应用保驾护航,让用户对我们的产品充满信心。 + +You can bet on that last point--a three-year support plan--as a key reason why some enterprises will go with Red Hat + in the increasingly competitive OpenStack race. + And, clearly, Red Hat is tying its future to cloud computing and the OpenStack platform. +我敢跟你打赌,--三年的技术支持服务--将是企业用户在竞争激烈的云平台领域选择红帽的关键点。并且,毋庸置疑,红帽公司把自己的未来放在了云计算,放在了OpenStack Platform上面。 +-------------------------------------------------------------------------------- + +via: http://ostatic.com/blog/red-hat-announces-availability-of-its-openstack-platform-5 + +译者:[nd0104](https://github.com/nd0104) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.marketwatch.com/story/red-hat-announces-general-availability-of-red-hat-enterprise-linux-openstack-platform-5-2014-07-08 +[2]:http://ostatic.com/blog/why-red-hats-openstack-support-must-be-as-inclusive-as-possible +[3]:http://www.openstack.org/blog/2013/11/openstack-user-survey-october-2013/ \ No newline at end of file From 7370114f662974d0cbe5bbaec5d776663e1e57c1 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Tue, 15 Jul 2014 16:38:41 +0800 Subject: [PATCH 122/291] =?UTF-8?q?20140715-1=20=E9=80=89=E9=A2=98=20Comma?= =?UTF-8?q?nd=20Line=20Tuesdays=20=E6=96=B0=E4=B8=80=E7=AF=87=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E7=9F=A5=E9=81=93=E4=B8=BA=E5=95=A5=E9=82=A3=E4=B8=AA?= =?UTF-8?q?=20Linux=20Basics=20=E6=96=87=E4=BB=B6=E5=87=BA=E9=94=99?= =?UTF-8?q?=E4=BA=86=EF=BC=8C=E4=BC=B0=E8=AE=A1=E6=98=AF=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=E4=B8=AD=E7=9A=84=E5=86=92=E5=8F=B7=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...140715 Command Line Tuesdays--Part Five.md | 88 +++++++++++++++++++ ...How To Find Size of Directory Commands.md} | 2 + 2 files changed, 90 insertions(+) create mode 100644 sources/tech/20140715 Command Line Tuesdays--Part Five.md rename translated/tech/{Linux Basics: How To Find Size of Directory Commands.md => 20140711 Linux Basics--How To Find Size of Directory Commands.md} (99%) diff --git a/sources/tech/20140715 Command Line Tuesdays--Part Five.md b/sources/tech/20140715 Command Line Tuesdays--Part Five.md new file mode 100644 index 0000000000..2f6822192b --- /dev/null +++ b/sources/tech/20140715 Command Line Tuesdays--Part Five.md @@ -0,0 +1,88 @@ +Command Line Tuesdays – Part Five +================================================================================ +Yes, you’ve guessed what time it is! It’s time to rrrrrrrrummmbleeeee! And this time, we’ll learn how to work with commands. So without further ado, let’s get to business. + +Mr Shotts states that until now, we worked with a few mysterious commands, arguments and options, and today is the day we shed a little light upon that mystery. We’ll learn the following commands and what they do: type, which, help and man. But first, let’s learn… + +### …what are commands? ### + +All great things come in fours, and it’s the same with commands. We can split them up into four categories: + +**1) An executable program:** a command can be an executable program. If you’ve ‘traveled’ across your file system in the previous lessons like you were supposed to, you probably visited the /usr/bin folder. You’ve seen quite a number of familiar names like transmission-gtk, deluge-gtk etc. What’s less important for us novices currently is that programs there can be compiled binaries or programs written in scripting languages. Point is, since they are executable programs, you can run them. Try it. Navigate to it, list the files inside, pick one and run it simply by typing its name. + +**2) A command built into the shell:** bash provides a number of commands internally called shell builtins. The cd command, for example, is a shell builtin, mr Shotts says. + +**3) A shell function:** miniature shell script, built into the environment. For the time being, we’ll just mention it, as it will be covered in the following weeks. + +**4) An alias:** commands you can define yourself, using other commands. Also coming in the following lessons. + +Now, it’s useful to know what type of command we’re dealing with. And we can find out using… + +### …type ### + +You can use **type + command** to inspect what kind of command is the command you’d like to use. You do it by simply typing: type command and you’ll get an output. For example: + +![type mkdir](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-091448.png) + +or + +![type ls](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-091640.png) + +…where we can see that the ‘ls’ command is actually an alias of ‘_ls’! + +### which ### + +Sometimes (but rarely on a desktop system, though) there are more versions of one executable installed on a machine. To find out the exact location of a given executable, we can use command which. Additionally, it only works with executable programs. + +![which transmission-gtk](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-092052.png) + +Now, mostly every command has documentation that comes with it. So you’re somewhere doing your CLI thing, no access to the internet so you can’t bug geekos on the forums or IRC, and you need to find out how to exactly use a command. You can do it two ways. First being… + +### …help ### + +help command works with shell builtins (the second category we have mentioned above). So you can pick a shell builtin, like cd, for example, and simply type help cd. You’ll get a helpful page printed out in your terminal, so go ahead and read what cd has to offer. It shows in what ways you can use the command, what options you can use (it’s in square brackets, which means they are optional! Also, if there’s a vertical separator inside the square brackets, it means the options mentioned are mutually exclusive. Don’t use them together!) + +### –help ### + +help works only for the shell builtins. But most executables work with –help. As far as usage goes, it’s similar to help, but you have to type –help after the command you want to inspect. For example, transmission-gtk –help. Try it out, and see what options you can use with that executable etc. + +### man ### + +Most executables come with a formal documentation page. You can inspect it using the man command. You just enter man program, and see what it prints out. Pick any program on your computer, and try it out. For example, let’s try man transmission-gtk. You get a file opened, split into categories. It gives you information what the program is, what it does, how you can use it etc., but it doesn’t offer examples, as it’s not a tutorial. + +And we’re stoping to a halt there. + +I’d like to take a minute and thank everyone commenting and contributing to this section. You make this series vastly better, and I hope that with your help, us noobs will be able to use the CLI basics by the end of summer (just in time for 13.2 :) ). You guys are the best. Newbie users like me, who are feeling lost, stick with it. It will pay off in the end! + +And I’d also like to add a formal heads up: part six will not come next Tuesday, as I’ll sadly be away, so we’ll see/hear each other in 14 days, on July 29th. And until then… + +### …have a lot of fun! ### + +-------------------------------------------------------------------------------- + +via: https://news.opensuse.org/2014/07/15/command-line-tuesdays-part-five/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]: +[2]: +[3]: +[4]: +[5]: +[6]: +[7]: +[8]: +[9]: +[10]: +[11]: +[12]: +[13]: +[14]: +[15]: +[16]: +[17]: +[18]: +[19]: +[20]: \ No newline at end of file diff --git a/translated/tech/Linux Basics: How To Find Size of Directory Commands.md b/translated/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md similarity index 99% rename from translated/tech/Linux Basics: How To Find Size of Directory Commands.md rename to translated/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md index 8c7b488363..6bbaa3cccf 100644 --- a/translated/tech/Linux Basics: How To Find Size of Directory Commands.md +++ b/translated/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md @@ -1,3 +1,4 @@ +@@ -1,63 +0,0 @@ Linux基础,如何在命令行中查看目录的大小 ===================================================================== 这是写给Liunx新用户的一系列文章中的第一篇,在这系列文章我将会写一些对新用户来说非常好用的**Linux基础命令**。 @@ -61,3 +62,4 @@ via: http://www.unixmen.com/linux-basics-find-size-directory-commands/ 译者:[cvsher](https://github.com/cvsher) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + From f2031c12d108c577b8cf1bc7f96ab1d69b32474f Mon Sep 17 00:00:00 2001 From: wxy Date: Tue, 15 Jul 2014 22:29:13 +0800 Subject: [PATCH 123/291] PUB:20140701 Here Are 5 Amazing Ascii Art Generators @zpl1025 --- ...20140701 Here Are 5 Amazing Ascii Art Generators.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename {translated/talk => published}/20140701 Here Are 5 Amazing Ascii Art Generators.md (82%) diff --git a/translated/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md b/published/20140701 Here Are 5 Amazing Ascii Art Generators.md similarity index 82% rename from translated/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md rename to published/20140701 Here Are 5 Amazing Ascii Art Generators.md index f8518fbb66..010b688802 100644 --- a/translated/talk/20140701 Here Are 5 Amazing Ascii Art Generators.md +++ b/published/20140701 Here Are 5 Amazing Ascii Art Generators.md @@ -2,15 +2,15 @@ ================================================================================ ![](http://www.efytimes.com/admin/useradmin/photo/nin511907PM712014.jpg) -ASCII是一个非常吸引人的字符编码系统,在计算机,通讯设备,以及其他设备中,通过它来用代码表示字符。新一代的人可能会觉得它已经过时了,但是那些熟悉它的人会懂得ASCII是多么的独特。我们在这里为你准备了五个超赞的ASCII字符艺术生成器。 +ASCII是一个非常吸引人的字符编码系统,在计算机,通讯设备,以及其他设备中,通过它来用代码表示字符。新生代的人可能会觉得它已经过时了,但是那些熟悉它的人会懂得ASCII是多么的独特。我们在这里为你准备了五个超赞的ASCII字符艺术生成器。 ### 1.[GlassGiant ASCII Art][1] ### -这个小程序可以把图片转换成ASCII文字艺术-一堆胡乱堆在一起的文字,数字和符号,看上去没有任何意义,直到你往后站一步去看完整的画面。它也没有什么实际的目的,只是看上去非常简洁灵巧。 +这个小程序可以把图片转换成ASCII文字艺术-一堆胡乱堆在一起的文字,数字和符号,看上去没有任何意义,直到你往后站一步去看完整的画面。它也没有什么实际的用途,只是看上去非常简洁灵巧。 ### 2.[ASCII Art Generator][2] ### -ASCII字符艺术是一种在电脑上把可打印字符作为图片碎片来拼接展现一幅图像的艺术活动。你所需要做的只是上传你的图片,然后它会帮你转成ASCII字符艺术。 +ASCII字符艺术是一种在电脑上把可打印字符作为图片元素来拼接展现一幅图像的艺术活动。你所需要做的只是上传你的图片,然后它会帮你转成ASCII字符艺术。 ### 3.[Ascii.mastervb][3] ### @@ -18,7 +18,7 @@ ASCII字符艺术来源于7比特ASCII字符标准。ASCII字符艺术曾经在7 ### 4.[IMG2TXT][4] ### -这个脚本可以将GIF,JPG,或PNG的链接转换成ASCII字符或是带颜色的HTML。 +这个脚本可以将GIF,JPG或PNG的链接转换成ASCII字符或是带颜色的HTML。 ### 5.[picascii][5] ### @@ -28,7 +28,7 @@ ASCII字符艺术来源于7比特ASCII字符标准。ASCII字符艺术曾经在7 via: http://www.efytimes.com/e1/fullnews.asp?edid=142480 -译者:[zpl1025](https://github.com/zpl1025) 校对:[校对者ID](https://github.com/校对者ID) +译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From c38b925454647890215b88a5f5446f8f30ef3c7a Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 16 Jul 2014 10:20:20 +0800 Subject: [PATCH 124/291] =?UTF-8?q?20140716-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...To Make Cinnamon Feel at Home on Ubuntu.md | 101 +++++++++++++++ ...d logs with SARG log analyzer on CentOS.md | 117 ++++++++++++++++++ ...ependencies on Fedora or CentOS or RHEL.md | 91 ++++++++++++++ ...sion Puts Your Fave Apps On The Desktop.md | 40 ++++++ 4 files changed, 349 insertions(+) create mode 100644 sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md create mode 100644 sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md create mode 100644 sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md create mode 100644 sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md diff --git a/sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md b/sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md new file mode 100644 index 0000000000..fbfe100904 --- /dev/null +++ b/sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md @@ -0,0 +1,101 @@ +5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/des.jpg) + +**The latest stable release of the popular Cinnamon desktop environment is [once again available for Ubuntu users to install][1].** + +And while it’s good to go out of the box (or rather PPA) there are a handful of small tweaks you can make to get an even better experience. + +If you don’t have Cinnamon installed in Ubuntu head on over to our previous article about it. + +### Change the Mint Menu Icon ### + +The Mint Menu is one of the standout features of Cinnamon. It’s a simple, fast and familiar way to search, open and organise your applications. By default the menu uses the Linux Mint logo on the launcher item. Since you’re running the DE on Ubuntu rather than Mint you may prefer the menu to use Ubuntu’s familiar orange circle of friends logo instead. How? It’s easy. + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/min-menu.jpg) + +To change the Cinnamon menu icon to the Ubuntu emblem right click on the applet and select ‘Configure‘. In the Settings window that appears check ‘Use a custom icon’ and enter the following to use the Ubuntu logo: + + /usr/share/icons/ubuntu-mono-dark/actions/24/package-supported.svg + +You can use any supported image type. Just enter the path to the icon in the field, or click the box at the end to open a file picker. + +### Try Out Cinnamon Themes ### + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/cinnamon-themes-zukitwo.jpg) + +Like GNOME Shell Cinnamon also supports custom themes. And by that I don’t mean just GTK themes for apps and window decoration, but visual styles that theme the shell as a whole — panel, menu, applets, and so on. + +Cinnamon themes can be browsed, downloaded and enabled without leaving the desktop — no downloads or manual installation required. Open the Appearance pane of the Cinnamon Settings tool and select the ‘Online Themes’ tab to get started. + +Below are a handful of our favourite themes. + +- [**Android Holo**][2] — Android 4.x style theme +- [**Zukitwo**][3] — Sleek, stylish and light +- [**Minty**][4] — Dark theme with bold green accents +- [**Metro**][5] — Based on the visual style of Windows 8.x + +### Find Your Perfect Layout ### + +Unity may insist that its app launcher stay bolted firmly to the side of the screen, but Cinnamon has no such qualms about letting you rearrange the desktop layout to suit your own style. + +Panels can be added, edited and moved manually, or by selecting one of three preset layouts: + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/traditional.jpg) + +Open `Settings > Panel > Layout Options > Panel Layout` and select from one of the following: + +- Traditional – this is the default layout, with a panel at the bottom of the screen +- Flipped – like traditional, but with panel on top of the screen +- Classic – two panels, one at the top, one at the bottom + +You will need to log out or restart Cinnamon before your selected changes will take effect. + +### Add Panel Applets ### + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/weather-applet.png) + +Cinnamon embraces extensibility with the same gusto as GNOME Shell. A wealth of community add-ons and applets offering extra features and functionality, such as weather, system monitors and window management tools, are available to browse, install and enable straight form the desktop. + +Right click on the panel you wish to add an applet to and select ‘…Add Applets to the Panel‘. Some notable applets to check out: + +- [**Weather**][6] - does what it forecasts (ho ho) +- [**Stark Menu**][7] - Clone of the Windows 7 Start Menu +- [**Screenshot**][8] — Easy way to grab screenshots with delays + +### Change Date Format ### + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/applet.jpg) + +Cinnamon’s time and date applet is handy if, like me, you’re prone to never remembering the date. + +But it defaults to only showing the time in the 24 hour clock format. The good news is that we can tweak the time format of the clock applet fairly easily. + +Right click and select the ‘Configure’ option. In the settings window that appears tick the box listed beside “Use a custom date format“. Next, use an online generator tool to generate a date/time format suited to you, or use one of the presets listed below by copying and pasting the bit marked in bold: + +- **%B %e, %I:%M %p** (July 13, 7:19 PM) +- **%m/%d/%Y** (07/13/2014) +- **%l:%M %p** (7:19 PM) + +Changes are applied immediately, and if you make a mistake you can uncheck the custom date format option to return to the default settings. + +### Going Further ### + +These are just a handful of customisation choices available in Cinnamon, but we think they’re a good springboard for exploring more. Let us know what your favourite Cinnamon tweaks are in the comments section below, on Facebook or via Google+. + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/5-things-installing-cinnamon-ubuntu + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2014/07/new-cinnamon-ubuntu-14-04-ppa-stable +[2]:http://cinnamon-spices.linuxmint.com/themes/view/122 +[3]:http://cinnamon-spices.linuxmint.com/themes/view/219 +[4]:http://cinnamon-spices.linuxmint.com/themes/view/25 +[5]:http://cinnamon-spices.linuxmint.com/themes/view/188 +[6]:http://cinnamon-spices.linuxmint.com/applets/view/17 +[7]:http://cinnamon-spices.linuxmint.com/applets/view/168 +[8]:http://cinnamon-spices.linuxmint.com/applets/view/35 \ No newline at end of file diff --git a/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md b/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md new file mode 100644 index 0000000000..857c6ea5b2 --- /dev/null +++ b/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md @@ -0,0 +1,117 @@ +How to analyze Squid logs with SARG log analyzer on CentOS +================================================================================ +In a [previous tutorial][1], we show how to configure a transparent proxy with Squid on CentOS. Squid provides many useful features, but analyzing a raw Squid log file is not straightfoward. For example, how could you analyze the time stamps and the number of hits in the following Squid log? + + 1404788984.429 1162 172.17.1.23 TCP_MISS/302 436 GET http://facebook.com/ - DIRECT/173.252.110.27 text/html + 1404788985.046 12416 172.17.1.23 TCP_MISS/200 4169 CONNECT stats.pusher.com:443 - DIRECT/173.255.223.127 - + 1404788986.124 174 172.17.1.23 TCP_MISS/200 955 POST http://ocsp.digicert.com/ - DIRECT/117.18.237.29 application/ocsp-response + 1404788989.738 342 172.17.1.23 TCP_MISS/200 3890 CONNECT www.google.com:443 - DIRECT/74.125.200.106 - + 1404788989.757 226 172.17.1.23 TCP_MISS/200 942 POST http://clients1.google.com/ocsp - DIRECT/74.125.200.113 application/ocsp-response + 1404788990.839 3939 172.17.1.23 TCP_MISS/200 78944 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 - + 1404788990.846 2148 172.17.1.23 TCP_MISS/200 118947 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 - + 1404788990.849 2151 172.17.1.23 TCP_MISS/200 76809 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 - + 1404788991.140 611 172.17.1.23 TCP_MISS/200 110073 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 – + +SARG (or Squid Analysis Report Generator) is a web based tool that creates reports from Squid logs. SARG provides an easy-to-understand view of network traffic handled by Squid, and it is very easy to set up and maintain. In the following tutorial, we show **how to set up SARG on a CentOS platform**. + +We start the process by installing necessary dependencies using yum. + + # yum install gcc make wget httpd crond + +Necessary services are started and loaded at startup. + + # service httpd start; service crond start + # chkconfig httpd on; chkconfig crond on + +Now we download and extract SARG. + + # wget http://downloads.sourceforge.net/project/sarg/sarg/sarg-2.3.8/sarg-2.3.8.tar.gz? + # tar zxvf sarg-2.3.8.tar.gz + # cd sarg-2.3.8 + +**NOTE**: For 64-bit Linux, the source code in log.c needs to be patched as follows. + + 1506c1506 + < if (fprintf(ufile->file, "%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,ip,url,nbytes,code,elap_time,smartfilter)<=0) { + --- + > if (fprintf(ufile->file, "%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,ip,url,(int64_t)nbytes,code,elap_time,smartfilter)<=0) { + 1513c1513 + < fprintf(fp_log, "%s\t%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,user,ip,url,nbytes,code,elap_time,smartfilter); + --- + > fprintf(fp_log, "%s\t%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,user,ip,url,(int64_t)nbytes,code,elap_time,smartfilter); + 1564c1564 + < printf("LEN=\t%"PRIi64"\n",nbytes); + --- + > printf("LEN=\t%"PRIi64"\n",(int64_t)nbytes); + +Go ahead and build/install SARG as follows. + + # ./configure + # make + # make install + +After SARG is installed, the configuration file can be modified to match your requirements. The following is one example of SARG configuration. + + # vim /usr/local/etc/sarg.conf + +---------- + + access_log /var/log/squid/access.log + temporary_dir /tmp + output_dir /var/www/html/squid-reports + date_format e ## We use Europian DD-MM-YYYY format here ## + ## we don’t want multiple reports for single day/week/month ## + overwrite_report yes + +Now it's time for a test run. We run sarg command in debug mode to find whether there is any error. + + # sarg -x + +If all goes well, sarg should analyze Squid logs, and create reports in /var/www/html/squid-reports. The reports should be visible in a web browser using the address http:///squid-reports/ + +![](https://farm3.staticflickr.com/2931/14631403935_4ff34e07b9_z.jpg) + +![](https://farm4.staticflickr.com/3901/14629281644_fec31014c5_z.jpg) + +SARG can be used to create daily, weekly and monthly reports. Time range can be specified using the "-d" parameter with possible values in the form of day-n, week-n or month-n, where n is the number of days/weeks/months to jump backward. For example, with week-1, SARG will generate a report for the previous week. With day-2, SARG will prepare reports for the previous two days. + +As a demonstration, we will prepare a cron job to run SARG daily. + + # vim /etc/cron.daily/sarg + +---------- + + #!/bin/sh + /usr/local/bin/sarg -d day-1 + +The file needs a execution permission. + + # chmod 755 /usr/local/bin/sarg + +Now SARG should prepare daily reports about Squid-managed traffic. These reports can easily be accessed from the SARG web interface. + +To sum up, SARG is a web based tool that analyzes Squid logs and presents the analysis in an informative way. System admins can leverage SARG to monitor what sites are being accessed, and to keep track of top visited sites and top users. This tutorial covers a working configuration for SARG. You can customize the configuration even further to match your requirements. + +Hope this helps.­­­­ + +---------- + +[Sarmed Rahman][w] + +- [Twitter profile][t] +- [LinkedIn profile][l] + +Sarmed Rahman is an IT professional in the Internet Industry in Bangladesh. He writes tutorial articles on technology every now and then from a belief that knowledge grows through sharing. During his free time, he loves gaming and spending time with his friends. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/analyze-squid-logs-sarg-log-analyzer-centos.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/2014/06/squid-transparent-web-proxy-centos-rhel.html +[w]:http://amar-linux.blogspot.com/ +[t]:http://twitter.com/SarmedRahman +[l]:http://www.linkedin.com/in/sarmedrahman \ No newline at end of file diff --git a/sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md b/sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md new file mode 100644 index 0000000000..7aee7c02f0 --- /dev/null +++ b/sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md @@ -0,0 +1,91 @@ +How to check RPM package dependencies on Fedora, CentOS or RHEL +================================================================================ +A typical RPM package on Red Hat-based systems requires all its dependent packages be installed to function properly. For end users, the complexity of such RPM dependency is hidden by package managers (e.g., yum or DNF) during package install/upgrade/removal process. However, if you are a sysadmin or a RPM maintainer, you need to be well-versed in RPM dependencies to maintain run-time environment for the system or roll out up-to-date RPM specs. + +In this tutorial, I am going to show **how to check RPM package dependencies**. Depending on whether a package is installed or not, there are several ways to identify its RPM dependencies. + +### Method One ### + +One way to find out RPM dependencies for a particular package is to use rpm command. The following command lists all dependent packages for a target package. + + $ rpm -qR + +![](https://farm6.staticflickr.com/5512/14659620723_4a36970efc_o.png) + +Note that this command will work only if the target package is already **installed**. If you want to check package dependencies for any **uninstalled** package, you first need to download the RPM package locally (no need to install it). + +To download a RPM package without installing it, use a command-line utility called `yumdownloader`. Install yumdownloader as follows. + + $ sudo yum install yum-utils + +Now let's check RPM depenencies of a uninstalled package (e.g., tcpdump). First download the package in the current folder with yumdownloader: + + $ yumdownloader --destdir=. tcpdump + +Then use rpm command with "-qpR" options to list dependencies of the downloaded package. + + # rpm -qpR tcpdump-4.4.0-2.fc19.i686.rpm + +### Method Two ### + +You can also get a list of dependencies for a RPM package using repoquery tool. repoquery works whether or not a target package is installed. This tool is included in yum-utils package. + + $ sudo yum install yum-utils + +To show all required packages for a particular package: + + $ repoquery --requires --resolve + +![](https://farm3.staticflickr.com/2935/14453103778_05db349b19_o.png) + +For repoquery to work, your computer needs network connectivity since repoquery pulls information from Yum repositories. + +### Method Three ### + +The third method to show RPM package dependencies is to use rpmreaper tool. Originally this tool is developed to clean up unnecessary packages and their dependencies on RPM-based systems. rpmreaper has an ncurses-based intuitive interface for browsing installed packages and their dependency trees. + +To install rpmrepater, use yum command. On CentOS, you need to [set up EPEL repo][1] first. + + $ sudo yum install rpmreaper + +To browser RPM dependency trees, simply run: + + $ rpmreaper + +![](https://farm4.staticflickr.com/3838/14636456131_99a3c26945_z.jpg) + +The rpmrepater interface will show you a list of all installed packages. You can navigate the list using up/down arrow keys. Press "r" on a highlighted package to show its dependencies. You can expand the whole dependency tree by recursively pressing "r" keys on individual dependent packages. The "L" flag indicates that a given package is a "leaf", meaning that no other package depends on this package. The "o" flag implies that a given package is in the middle of dependency chain. Pressing "b" on such a package will show you what other packages require the highlighted package. + +### Method Four ### + +Another way to show package dependencies on RPM-based systems is to use rpmdep which is a command-line tool for generating a full package dependency graph of any installed RPM package. The tool analyzes RPM dependencies, and produce partially ordered package lists from topological sorting. The output of this tool can be fed into dotty graph visualization tool to generate a dependency graph image. + +To install rpmdep and dotty on Fedora: + + $ sudo yum install rpmorphan graphviz + +To install the same tools on CentOS: + + $ wget http://downloads.sourceforge.net/project/rpmorphan/rpmorphan/1.14/rpmorphan-1.14-1.noarch.rpm + $ sudo rpm -ivh rpmorphan-1.14-1.noarch.rpm + $ sudo yum install graphviz + +To generate and plot a dependency graph of a particular installed package (e.g., gzip): + + $ rpmdep.pl -dot gzip.dot gzip + $ dot -Tpng -o output.png gzip.dot + +![](https://farm4.staticflickr.com/3918/14453050980_53de4e8277_z.jpg) + +So far in this tutorial, I demonstrate several ways to check what other packages a given RPM package relies on. If you want to know more about .deb package dependencies for Debian-based systems, you can refer to [this guide][2] instead. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/check-rpm-package-dependencies-fedora-centos-rhel.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html +[2]:http://xmodulo.com/2013/07/how-to-check-package-dependencies-on-ubuntu-or-debian.html \ No newline at end of file diff --git a/sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md b/sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md new file mode 100644 index 0000000000..cc6f1528dc --- /dev/null +++ b/sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md @@ -0,0 +1,40 @@ +‘Simple Dock’ GNOME Shell Extension Puts Your Fave Apps On The Desktop +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/screenshot_815_1.jpg) + +**I love GNOME Shell, but what I don’t love is having to rustle through a hidden screen to get at my favourite applications or switch between those I have running. ** + +It may make me sound awesomely retro, like a UX luddite, or like someone who has become far too accustomed to the usability of Unity but I, like many of you reading this, like having an app launcher/switcher accessible on the desktop. It’s a familiar, fast way of working. + +GNOME Shell is, by design, different. It tucks everything out of the way – from the messaging centre and notifications, to workspaces and the apps list. It’s a minimal aesthetic that makes sense: help users focus on what matters. + +But for me, my desktop needs to be more than a glorified picture frame. + +### The Beauty of GNOME Shell ### + +Despite my own preferences, the decision to hide apps is part of the beauty of GNOME Shell. It ships with a default desktop experience that is user friendly, sane and predictable — but also thoroughly extensible. Because of this there’s a huge array of add-ons catering to every need, niche and want, including traditional app menus, desktop docks and even an Ubuntu Unity Dash clone! + +In this article I’m just focusing on one add-on that caters to my needs: the aptly named **Simple Dock**. Simple Dock takes the GNOME Shell apps grid and favourites bar and puts it slap bang where I want it: on the desktop. + +For now it only supports being positioned on the bottom of the screen, and only offers a minimal set of settings. While minimal, I feel these cover all of my needs: + +- ntelligent auto hide +- Minimise/restore application windows +- Drag-and-drop favourites +- Button to launch activities overlay + +Want it? Providing you’re running GNOME Shell on Ubuntu 13.10 or above you can. Just head on over to the GNOME Extensions page linked to below in a supported browser (Firefox, GNOME Web, etc.) then slide the on-page switch from ‘off‘ to ‘on‘. + +- [Simple Dock on GNOME Shell Extensions][1] + +To adjust the settings of Simple Dock hit the cog icon on the GNOME Extensions webpage listing for it or through a desktop application like GNOME Tweak Tool. + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/simple-dock-gnome-shell-extension + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://extensions.gnome.org/extension/815/simple-dock/ \ No newline at end of file From d9f337a594038de77d0d9f0959dc3f444e5e900e Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 16 Jul 2014 10:55:58 +0800 Subject: [PATCH 125/291] =?UTF-8?q?20140716-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Collecting Information of Linux Systems.md | 197 ++++++++++++++++++ ...vourite Games and Applications in Linux.md | 182 ++++++++++++++++ ... environment variable for sudo commands.md | 42 ++++ 3 files changed, 421 insertions(+) create mode 100644 sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md create mode 100644 sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md create mode 100644 sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md diff --git a/sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md b/sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md new file mode 100644 index 0000000000..d7137f39e4 --- /dev/null +++ b/sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md @@ -0,0 +1,197 @@ +7 ‘dmesg’ Commands for Troubleshooting and Collecting Information of Linux Systems +================================================================================ +The ‘dmesg‘ command displays the messages from the kernel ring buffer. A system passes multiple runlevel from where we can get lot of information like system architecture, cpu, attached device, RAM etc. When computer boots up, a kernel (core of an operating system) is loaded into memory. During that period number of messages are being displayed where we can see hardware devices detected by kernel. + +![dmesg Command Examples](http://www.tecmint.com/wp-content/uploads/2014/07/dmesg-Command-Examples.png) +dmesg Command Examples + +The messages are very important in terms of diagnosing purpose in case of device failure. When we connect or disconnect hardware device on the system, with the help of dmesg command we come to know detected or disconnected information on the fly. The dmesg command is available on most **Linux and Unix** based Operating System. + +Let’s throw some light on most famous tool called ‘dmesg’ command with their practical examples as discussed below. The exact syntax of dmesg as follows. + + # dmseg [options...] + +### 1. List all loaded Drivers in Kernel ### + +We can use text-manipulation tools i.e. ‘**more**‘, ‘**tail**‘, ‘**less**‘ or ‘**grep**‘ with dmesg command. As output of dmesg log won’t fit on a single page, using dmesg with pipe more or less command will display logs in a single page. + + [root@tecmint.com ~]# dmesg | more + [root@tecmint.com ~]# dmesg | less + +#### Sample Output #### + + [ 0.000000] Initializing cgroup subsys cpuset + [ 0.000000] Initializing cgroup subsys cpu + [ 0.000000] Initializing cgroup subsys cpuacct + [ 0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 + (Ubuntu 3.11.0-13.20-generic 3.11.6) + [ 0.000000] KERNEL supported cpus: + [ 0.000000] Intel GenuineIntel + [ 0.000000] AMD AuthenticAMD + [ 0.000000] NSC Geode by NSC + [ 0.000000] Cyrix CyrixInstead + [ 0.000000] Centaur CentaurHauls + [ 0.000000] Transmeta GenuineTMx86 + [ 0.000000] Transmeta TransmetaCPU + [ 0.000000] UMC UMC UMC UMC + [ 0.000000] e820: BIOS-provided physical RAM map: + [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable + [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved + [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable + [ 0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS + [ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data + [ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved + [ 0.000000] NX (Execute Disable) protection: active + ..... + +### 2. List all Detected Devices ### + +To discover which hard disks has been detected by kernel, you can search for the keyword “**sda**” along with “**grep**” like shown below. + + [root@tecmint.com ~]# dmesg | grep sda + + [ 1.280971] sd 2:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB) + [ 1.281014] sd 2:0:0:0: [sda] Write Protect is off + [ 1.281016] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00 + [ 1.281039] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA + [ 1.359585] sda: sda1 sda2 < sda5 sda6 sda7 sda8 > + [ 1.360052] sd 2:0:0:0: [sda] Attached SCSI disk + [ 2.347887] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) + [ 22.928440] Adding 3905532k swap on /dev/sda6. Priority:-1 extents:1 across:3905532k FS + [ 23.950543] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro + [ 24.134016] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null) + [ 24.330762] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null) + [ 24.561015] EXT4-fs (sda8): mounted filesystem with ordered data mode. Opts: (null) + +**NOTE**: The ‘sda’ first SATA hard drive, ‘sdb’ is the second SATA hard drive and so on. Search with ‘hda’ or ‘hdb’ in the case of IDE hard drive. + +### 3. Print Only First 20 Lines of Output ### + +The ‘head’ along with dmesg will show starting lines i.e. ‘dmesg | head -20′ will print only 20 lines from the starting point. + + [root@tecmint.com ~]# dmesg | head -20 + + [ 0.000000] Initializing cgroup subsys cpuset + [ 0.000000] Initializing cgroup subsys cpu + [ 0.000000] Initializing cgroup subsys cpuacct + [ 0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generic 3.11.6) + [ 0.000000] KERNEL supported cpus: + [ 0.000000] Intel GenuineIntel + [ 0.000000] AMD AuthenticAMD + [ 0.000000] NSC Geode by NSC + [ 0.000000] Cyrix CyrixInstead + [ 0.000000] Centaur CentaurHauls + [ 0.000000] Transmeta GenuineTMx86 + [ 0.000000] Transmeta TransmetaCPU + [ 0.000000] UMC UMC UMC UMC + [ 0.000000] e820: BIOS-provided physical RAM map: + [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable + [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved + [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable + [ 0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS + [ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data + [ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved + +### 4. Print Only Last 20 Lines of Output ### + +The ‘tail’ along with dmesg command will print only 20 last lines, this is useful in case we insert removable device. + + [root@tecmint.com ~]# dmesg | tail -20 + + parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE] + ppdev: user-space parallel port driver + EXT4-fs (sda1): mounted filesystem with ordered data mode + Adding 2097144k swap on /dev/sda2. Priority:-1 extents:1 across:2097144k + readahead-disable-service: delaying service auditd + ip_tables: (C) 2000-2006 Netfilter Core Team + nf_conntrack version 0.5.0 (16384 buckets, 65536 max) + NET: Registered protocol family 10 + lo: Disabled Privacy Extensions + e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None + Slow work thread pool: Starting up + Slow work thread pool: Ready + FS-Cache: Loaded + CacheFiles: Loaded + CacheFiles: Security denies permission to nominate security context: error -95 + eth0: no IPv6 routers present + type=1305 audit(1398268784.593:18630): audit_enabled=0 old=1 auid=4294967295 ses=4294967295 res=1 + readahead-collector: starting delayed service auditd + readahead-collector: sorting + readahead-collector: finished + +### 5. Search Detected Device or Particular String ### + +It’s difficult to search particular string due to length of dmesg output. So, filter the lines with are having string like ‘**usb**‘ ‘**dma**‘ ‘**tty**‘ and ‘**memory**‘ etc. The ‘**-i**’ option instruct to [grep command][1] to ignore the case (upper or lower case letters). + + [root@tecmint.com log]# dmesg | grep -i usb + [root@tecmint.com log]# dmesg | grep -i dma + [root@tecmint.com log]# dmesg | grep -i tty + [root@tecmint.com log]# dmesg | grep -i memory + +#### Sample Output #### + + [ 0.000000] Scanning 1 areas for low memory corruption + [ 0.000000] initial memory mapped: [mem 0x00000000-0x01ffffff] + [ 0.000000] Base memory trampoline at [c009b000] 9b000 size 16384 + [ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff] + [ 0.000000] init_memory_mapping: [mem 0x37800000-0x379fffff] + [ 0.000000] init_memory_mapping: [mem 0x34000000-0x377fffff] + [ 0.000000] init_memory_mapping: [mem 0x00100000-0x33ffffff] + [ 0.000000] init_memory_mapping: [mem 0x37a00000-0x37bfdfff] + [ 0.000000] Early memory node ranges + [ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x000effff] + [ 0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff] + [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups + [ 0.000000] Memory: 2003288K/2059928K available (6352K kernel code, 607K rwdata, 2640K rodata, 880K init, 908K bss, 56640K reserved, 1146920K highmem) + [ 0.000000] virtual kernel memory layout: + [ 0.004291] Initializing cgroup subsys memory + [ 0.004609] Freeing SMP alternatives memory: 28K (c1a3e000 - c1a45000) + [ 0.899622] Freeing initrd memory: 23616K (f51d0000 - f68e0000) + [ 0.899813] Scanning for low memory corruption every 60 seconds + [ 0.946323] agpgart-intel 0000:00:00.0: detected 32768K stolen memory + [ 1.360318] Freeing unused kernel memory: 880K (c1962000 - c1a3e000) + [ 1.429066] [drm] Memory usable by graphics device = 2048M + +### 6. Clear dmesg Buffer Logs ### + +Yes, we can clear dmesg logs if required with below command. It will clear dmesg ring buffer message logs till you executed the command below. Still you can view logs stored in ‘**/var/log/dmesg**‘ files. If you connect any device will generate dmesg output. + + [root@tecmint.com log]# dmesg -c + +### 7. Monitoring dmesg in Real Time ### + +Some distro allows command ‘tail -f /var/log/dmesg’ as well for real time dmesg monitoring. + + [root@tecmint.com log]# watch "dmesg | tail -20" + +**Conclusion**: The dmesg command is useful as dmesg records all the system changes done or occur in real time. As always you can man dmesg to get more information. + +---------- + +![](http://1.gravatar.com/avatar/36c7c25164c3455f2f711b01e395de0d?s=80&d=blank&r=G) + +Narad Shrestha + +- [Twitter profile][t] +- [Facebook profile][f] +- [Google+ profile][g] + +He has over 10 years of rich IT experience which includes various Linux Distros, FOSS and Networking. Narad always believes sharing IT knowledge with others and adopts new technology with ease. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/dmesg-commands/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tecmint.com/12-practical-examples-of-linux-grep-command/ +[t]:http://twitter.com/@nrdshrestha +[f]:http://facebook.com/narad.shrestha.9 +[g]:http://plus.google.com/104542109955805873615?rel=author \ No newline at end of file diff --git a/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md b/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md new file mode 100644 index 0000000000..e269d98661 --- /dev/null +++ b/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md @@ -0,0 +1,182 @@ +Install “Android 4.4 KitKat” to Run Favourite Games and Applications in Linux +================================================================================ +**Android (x86)** is a project which aims to port Android system to Intel x86 processors to let users install it easily on any computer, the way they do this is by taking android source code, patching it to work on Intel x86 processors and some laptops and tablets. + +![Install Android 4.4 KitKat in Linux](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-4.4-KitKat.jpg) +Install Android 4.4 KitKat in Linux + +A few days ago, the project released “Android KitKat 4.4 RC2”, and today we will explain how to install it on VirtualBox, there is a problem that the mouse pointer doesn’t work in android in VirtualBox, but you may use this guide to install it beside other systems as a main system and the mouse should work I guess, otherwise we’ll use the keyboard. + +### Step 1: Install VirtualBox in Linux ### + +**1.** VirtualBox is available to install easily via official repositories in most Linux distributions, to install it on Ubuntu run. + + $ sudo apt-get install virtualbox + +For other Linux distributions like **RHEL, CentOS and Fedora**, use the following article to install Virtualbox. + +- [Install VirtualBox in RHEL, CentOS and Fedora][1] + +### Step 2: Download and Install Android 4.4 KitKat in Virtualbox ### + +**2.** This is an easy step, just download **Android 4.4 x86 Kit Kat** file from the [androud Sourceforge.net][2] project. + +**3.** To install **Android 4.4 kitkat** on VirtualBox, you need first to boot from the .iso image that you downloaded, to do so, open **VirtualBox**, Click on new to create a new virtual machine, and choose the settings as follow. + +![Create New Virtual Machine](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-01.png) +Create New Virtual Machine + +**4.** Then it will ask you to choose a Memory size for the machine, Android 4.4 kitkat needs 1GB of RAM to work perfectly, but I will choose 512MB since I only have 1GB of RAM on my computer. + +![Set Memory to New Machine](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-02.png) +Set Memory to New Machine + +**5.** Now select “Create a virtual hard drive now” to create a new one. + +![Create Virtual Hard Drive](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-03.png) +Create Virtual Hard Drive + +**6.** It will now ask you for the type of the new virtual hard drive, select **VDI**. + +![Select Hard Drive Type](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-04.png) +Select Hard Drive Type + +![Select Storage Type](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-05.png) +Select Storage Type + +**7.** Now choose the size of the virtual hard drive, you may choose any size you want, no less than **4GB** so the system can be installed correctly beside any future apps that you want to install. + +![Set Size for Virtual Drive](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-32.png) +Set Size for Virtual Drive + +**8.** Now that’s your first virtual machine is created, now to boot from the **.iso** file that you downloaded, select the virtual machine from the list on the left, click on **Settings**, and go for “**storage**”, do as follow and select the **.iso** image of **android 4.4 kitkat RC2**. + +![Select Android KitKat ISO](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-06.png) +Select Android KitKat ISO + +**9.** Click on **OK**, and start the machine to boot the .iso image, choose “**Installation**” to start installing the system on the virtual machine. + +![Select to Install Android Kit Kat](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-07.png) +Select to Install Android Kit Kat + +**10.** Please select a partition to install Android-x86. + +![Select Partition Drive](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-08.png) +Select Partition Drive + +**11.** Now you will be prompted **cfdisk** which is a partitioning tool that we will use to create a new hard drive, so we can install android 4.4 on it, Click on “**New**”. + +![Create New Partition](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-09.png) +Create New Partition + +**12.** Choose “**Primary**” as partition type. + +![Choose Primary Partition](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-10.png) +Choose Primary Partition + +**13.** Next, select the size of the partition. + +![Select Size of Partition](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-11.png) +Select Size of Partition + +**14.** Now, we have to make the new hard drive bootable in order to be able to write changes to the disk, click on “**Bootable**” to give the bootable flag to the new partition, you won’t notice any changes in fact but the bootable flag will be given to that partition. + +![Make Partition Bootable](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-12.png) +Make Partition Bootable + +**15.** After that, click on “**Write**” to write the changes to the hard drive. + +![Apply Changes to Partition](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-13.png) +Apply Changes to Partition + +**16.** It will ask you if you are sure, write “**yes**” and click on **Enter**. + +![Confirm Partition Changes](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-14.png) +Confirm Partition Changes + +**17.** Now that’s our new hard drive is created, now click on **Quit** and you will see something like this, select the partition that you created before in order to install android on it and hit **Enter**. + +![Choose Partition to Install Android](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-15.png) +Choose Partition to Install Android + +**18.** Choose “**ext3**” as a filesystem for the hard drive and format. + +![Select Ext3 Partition Type](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-16.png) +Select Ext3 Partition Type + +![Format Partition](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-17.png) +Format Partition + +**19.** You will be asked now if you want to install GRUB bootloader, of course you will select **Yes**, because if you don’t, you won’t be able to boot the new system, so choose “**Yes**” and hit **Enter**. + +![Install Boot Loader GRUB](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-18.png) +Install Boot Loader GRUB + +**20.** Finally, you will be asked if you want to make the **/system** partition writeable, choose Yes, it will help in a lot of things later after you install the system. + +![Make Partition Writeable](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-19.png) +Make Partition Writeable + +**21.** The installer will start it’s mission… after the installer finishes the job, choose Reboot, in my test, the “Run-Android x86” didn’t work for me, so you have to reboot. + +![Android Kit Kat Installation](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-20.png) +Android Kit Kat Installation + +**22.** Now that’s we installed **Android 4.4 KitKat RC2** on our hard drive, the problem is now that VirtualBox will keep loading the **.iso** image file instead of booting from the virtual hard drive, so to fix this problem, go to **Settings**, under “**storage**” select the **.iso** file and remove it from the booting menu. + +![Remove Android Kit Kat Image](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-21.png) +Remove Android Kit Kat Image + +**23.** Now you can start the virtual machine with the installed android system. + +![Start Android Kit Kat System](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-23.png) +Start Android Kit Kat System + +![Android Splash Screen](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-24.png) +Android Splash Screen + +**24.** Now you will start a wizard to configure some things before you start using **Android**. You will see a screen like this, Now the problem is, that the Mouse doesn’t work in **android 4.4 KitKat**, that means that we’ll be using our skills in keyboard, first choose the **language** you want using the **Up** and **Down** keys in the keyboard, and to go the next step, hit the **Right** arrow key and click **Enter**. + +![Android Welcome Screen](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-31.png) +Android Welcome Screen + +![Select WiFi Network](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-25.png) +Select WiFi Network + +![Create Android Google Account](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-26.png) +Create Android Google Account + +![Sign in Google Account](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-27.png) +Sign in Google Account + +![Set Date and Time](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-28.png) +Set Date and Time + +![Enter Your Details](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-29.png) +Enter Your Details + +![Android 4.4 Kit Kat Home Screen](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-30.jpeg) +Android 4.4 Kit Kat Home Screen + +Installing **Android x86** will be good for you if you don’t have a smartphone and you want to use the **Play Store** apps easily, have you ever tried to install android x86? What was the results? Do you think that android may become a “**real operation system**” targeting PCs in the feature? + +---------- + +![](http://1.gravatar.com/avatar/1374d0df45065e405e1b059d2fca04ff?s=80&d=blank&r=G) + +[Hanny Helal][3] + +A Linux & Foss user since 2010, working on many projects in the field of Free Software. + + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/install-android-kitkat-in-linux/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tecmint.com/install-virtualbox-on-redhat-centos-fedora/ +[2]:http://sourceforge.net/projects/android-x86/ +[3]:http://www.tecmint.com/ \ No newline at end of file diff --git a/sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md b/sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md new file mode 100644 index 0000000000..363b3ed62c --- /dev/null +++ b/sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md @@ -0,0 +1,42 @@ +Linux FAQs with Answers--How to define PATH environment variable for sudo commands +================================================================================ +> **Question**: I built and installed a program in /usr/local/bin. The program requires root privilege to run. But when I try to run the program with sudo, I get "sudo: XXXXX: command not found" error. Somehow /usr/local/bin is not included in the PATH environment variable. How can I fix this problem? + +When you run a program with sudo, the program is executed with a new, minimum environment for security reasons. That is, not all the environment variables you define are inherited to sudo commands. In case of PATH environment variable, it is reset to a new "default" PATH variable when sudo is used. So if the new default PATH variable does not include the folder where your program is, you will get "command not found" error with sudo. + +To customize the default PATH variable for sudo session, open /etc/sudoers file with a text editor, and look for "secure_path". The value defined in "secure_path" will be used as the default PATH variable when you execute sudo commands. + +So add any necessary path (e.g., /usr/local/bin) to "secure_path", and it will be passed to sudo commands. + + Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin + +This change will be effective immediately. + +-------------------------------------------------------------------------------- + +via: http://ask.xmodulo.com/define-path-environment-variable-sudo-commands.html + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]: +[2]: +[3]: +[4]: +[5]: +[6]: +[7]: +[8]: +[9]: +[10]: +[11]: +[12]: +[13]: +[14]: +[15]: +[16]: +[17]: +[18]: +[19]: +[20]: \ No newline at end of file From ea3a6c307720b0473cad07af46cc34abc1264624 Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Wed, 16 Jul 2014 11:12:15 +0800 Subject: [PATCH 126/291] nd0104 is translate nd0104 is translate --- ...eck RPM package dependencies on Fedora or CentOS or RHEL.md | 3 ++- ...ow to define PATH environment variable for sudo commands.md | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md b/sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md index 7aee7c02f0..29a19f3f1d 100644 --- a/sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md +++ b/sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md @@ -1,3 +1,4 @@ +nd0104 is translate How to check RPM package dependencies on Fedora, CentOS or RHEL ================================================================================ A typical RPM package on Red Hat-based systems requires all its dependent packages be installed to function properly. For end users, the complexity of such RPM dependency is hidden by package managers (e.g., yum or DNF) during package install/upgrade/removal process. However, if you are a sysadmin or a RPM maintainer, you need to be well-versed in RPM dependencies to maintain run-time environment for the system or roll out up-to-date RPM specs. @@ -88,4 +89,4 @@ via: http://xmodulo.com/2014/07/check-rpm-package-dependencies-fedora-centos-rhe 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html -[2]:http://xmodulo.com/2013/07/how-to-check-package-dependencies-on-ubuntu-or-debian.html \ No newline at end of file +[2]:http://xmodulo.com/2013/07/how-to-check-package-dependencies-on-ubuntu-or-debian.html diff --git a/sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md b/sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md index 363b3ed62c..618fb2a230 100644 --- a/sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md +++ b/sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md @@ -1,3 +1,4 @@ +nd0104 is translate Linux FAQs with Answers--How to define PATH environment variable for sudo commands ================================================================================ > **Question**: I built and installed a program in /usr/local/bin. The program requires root privilege to run. But when I try to run the program with sudo, I get "sudo: XXXXX: command not found" error. Somehow /usr/local/bin is not included in the PATH environment variable. How can I fix this problem? @@ -39,4 +40,4 @@ via: http://ask.xmodulo.com/define-path-environment-variable-sudo-commands.html [17]: [18]: [19]: -[20]: \ No newline at end of file +[20]: From 6135ef19cdd9639d375ea0493f5272e5bc863f8d Mon Sep 17 00:00:00 2001 From: Vic___ Date: Wed, 16 Jul 2014 18:54:55 +0800 Subject: [PATCH 127/291] Pick up a new one --- ...KitKat to Run Favourite Games and Applications in Linux.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md b/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md index e269d98661..a3c19e744d 100644 --- a/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md +++ b/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md @@ -1,3 +1,5 @@ +Vic020 + Install “Android 4.4 KitKat” to Run Favourite Games and Applications in Linux ================================================================================ **Android (x86)** is a project which aims to port Android system to Intel x86 processors to let users install it easily on any computer, the way they do this is by taking android source code, patching it to work on Intel x86 processors and some laptops and tablets. @@ -179,4 +181,4 @@ via: http://www.tecmint.com/install-android-kitkat-in-linux/ [1]:http://www.tecmint.com/install-virtualbox-on-redhat-centos-fedora/ [2]:http://sourceforge.net/projects/android-x86/ -[3]:http://www.tecmint.com/ \ No newline at end of file +[3]:http://www.tecmint.com/ From 380afef6cd1c3094d2872acc0e808d9b0fadf558 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Wed, 16 Jul 2014 19:40:28 +0800 Subject: [PATCH 128/291] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...wser on Debian or Ubuntu Using Terminal.md | 28 ------------------- ...wser on Debian or Ubuntu Using Terminal.md | 25 +++++++++++++++++ 2 files changed, 25 insertions(+), 28 deletions(-) delete mode 100644 sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md create mode 100644 translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md diff --git a/sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md b/sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md deleted file mode 100644 index 9960e1f57f..0000000000 --- a/sources/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md +++ /dev/null @@ -1,28 +0,0 @@ -[su-kaiyao]翻译中 - -[Quick Tip] Set Default Browser on Debian/Ubuntu Using Terminal -================================================================================ -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Browsers-790x436.jpg) - -Hey Guys, - -In this post, we are going to use the terminal to make a browser default. - -Even though, this can easily be done using the browser’s main interface, is handy sometimes if you need to do this remotely. - -To do this you simply open up the terminal and run the line of code below: - -Enter the number beside the browser you wish to make default and you are done. - - sudo update-alternatives --config x-www-browser - -![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/change_default_browser_from_terminal_debian_enock.png) - -Enjoy! --------------------------------------------------------------------------------- - -via: http://www.unixmen.com/quick-tip-set-default-browser-debianubuntu-using-terminal/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md b/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md new file mode 100644 index 0000000000..b695f4d8da --- /dev/null +++ b/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md @@ -0,0 +1,25 @@ +利用终端(Terminal)在Debian/Ubuntu中设置默认浏览器 +================================================================================ +嘿,伙计们 + +在这篇文章中,我们将使用终端设置默认浏览器 + +虽然,可以很方便地使用浏览器主界面来设置为默认浏览器,但是有时,你需要远程做到这一点 + +要做到这一点,你只需简简单单的打开终端,然后执行下述的命令: +``` +sudo update-alternatives --config x-www-browser +``` +之后输入你想设置为默认的浏览器的号码,你就完成了! + +真个过程截图如下: +![图片1](https://camo.githubusercontent.com/7eae55f5fac41634017c1fb5a8bd9cb634a86dc4/687474703a2f2f3138303031363938382e722e63646e37372e6e65742f77702d636f6e74656e742f75706c6f6164732f323031342f30372f6368616e67655f64656661756c745f62726f777365725f66726f6d5f7465726d696e616c5f64656269616e5f656e6f636b2e706e67) + +你成功了吗? + +--- +via: http://www.unixmen.com/quick-tip-set-default-browser-debianubuntu-using-terminal/ + +译者:译者ID 校对:校对者ID + +本文由 LCTT 原创翻译,Linux中国 荣誉推出 From 0502f6f80bfdef3605fce992f9af3dda3e307ad6 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Wed, 16 Jul 2014 19:42:10 +0800 Subject: [PATCH 129/291] edit some mistakes --- ...714 Set Default Browser on Debian or Ubuntu Using Terminal.md | 1 + 1 file changed, 1 insertion(+) diff --git a/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md b/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md index b695f4d8da..bd25bbb2b8 100644 --- a/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md +++ b/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md @@ -13,6 +13,7 @@ sudo update-alternatives --config x-www-browser 之后输入你想设置为默认的浏览器的号码,你就完成了! 真个过程截图如下: + ![图片1](https://camo.githubusercontent.com/7eae55f5fac41634017c1fb5a8bd9cb634a86dc4/687474703a2f2f3138303031363938382e722e63646e37372e6e65742f77702d636f6e74656e742f75706c6f6164732f323031342f30372f6368616e67655f64656661756c745f62726f777365725f66726f6d5f7465726d696e616c5f64656269616e5f656e6f636b2e706e67) 你成功了吗? From 79f7f81ca626726db1aeb44ebf89574469bce71b Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Wed, 16 Jul 2014 19:47:40 +0800 Subject: [PATCH 130/291] =?UTF-8?q?[su-kaiyao]=E7=BF=BB=E8=AF=91=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md b/sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md index fbfe100904..fcc2322265 100644 --- a/sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md +++ b/sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md @@ -1,3 +1,5 @@ +[su-kaiyao]翻译中 + 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/des.jpg) @@ -98,4 +100,4 @@ via: http://www.omgubuntu.co.uk/2014/07/5-things-installing-cinnamon-ubuntu [5]:http://cinnamon-spices.linuxmint.com/themes/view/188 [6]:http://cinnamon-spices.linuxmint.com/applets/view/17 [7]:http://cinnamon-spices.linuxmint.com/applets/view/168 -[8]:http://cinnamon-spices.linuxmint.com/applets/view/35 \ No newline at end of file +[8]:http://cinnamon-spices.linuxmint.com/applets/view/35 From d8bd96e9ff62acf0a8c2935990483d731109905a Mon Sep 17 00:00:00 2001 From: jiajia <1534574360@qq.com> Date: Wed, 16 Jul 2014 23:00:54 +0800 Subject: [PATCH 131/291] translated 20140607 Got Linux--Add Proprietary Code.md --- ...0140607 Got Linux--Add Proprietary Code.md | 114 ----------------- ...0140607 Got Linux--Add Proprietary Code.md | 115 ++++++++++++++++++ 2 files changed, 115 insertions(+), 114 deletions(-) delete mode 100644 sources/talk/20140607 Got Linux--Add Proprietary Code.md create mode 100644 translated/talk/20140607 Got Linux--Add Proprietary Code.md diff --git a/sources/talk/20140607 Got Linux--Add Proprietary Code.md b/sources/talk/20140607 Got Linux--Add Proprietary Code.md deleted file mode 100644 index 996f738c66..0000000000 --- a/sources/talk/20140607 Got Linux--Add Proprietary Code.md +++ /dev/null @@ -1,114 +0,0 @@ -jiajia translating... - -Got Linux? Add Proprietary Code -================================================================================ -![](http://www.linuxinsider.com/images/rw661226/linux-enterprise-proprietary-code.jpg) - -> For some industries, running proprietary software on an open source Linux distro is not the exception -- it's the rule of thumb. Take, for example, the Wall Street crowd. "Ninety-nine percent of the applications on Wall Street depend on proprietary products. We are much like Oracle in that our product runs on Linux but has a proprietary license," said FSMLabs' President Victor Yodaiken. - -Migrating to the Linux platform is not an either/or proposition. Linux as a computing platform is so flexible that it offers users a have-it-your-way menu of software options. - -One option is the Linux desktop. Individual users in home computing, SOHO and SMB operations can choose from a variety of enterprise-class Linux distributions. The Linux desktop OS offers a no-cost or low-cost alternative to the frustrations of Microsoft Windows or the limitations of Apple's Unix-based OS X platform for its relatively costly Mac hardware. - -Another migration path is to forgo acclimating office staff to the Linux desktop. Instead, enterprises can opt to run their back-office and server operations on a Linux server. Linux servers have a rigorous giant footprint in the networking and cloud computing worlds. Linux servers are commonplace in many other enterprise settings. - -A third migration choice is to run a full Linux shop. Standard office computing software is readily available in open source packages for office suites, Web browsing and graphic production tasks. Open source database applications connect famously with back-end software and servers. Plus, Linux does not need hardware-specific buy-in requirements. - -Staff training to use the Linux desktop applications often is needed only in small amounts. Thanks to workers' familiarity with cross-platform software such as LibreOffice and OpenOffice productivity suites, as well as Google Chrome and Firefox Web browsers, front-office communications rarely miss a beat. - -Linux is flexible. A new trend is to create third-party proprietary software to suit your own enterprise needs. Commercial software firms can recompile must-have Windows or any other platform's software. They also can create task-specific Linux applications that combine off-the-shelf open source components with their own proprietary code. - -"I believe this is becoming a new trend. Enterprises are using third-party proprietary software developed to work on the Linux OS. One of the factors pushing enterprises into migrating to Linux with custom-made software is the financial burden of continuing to pay Microsoft licensing fees," Dayan Jeremiah, CEO of [Icewarp Pacific][1], told LinuxInsider. - -### Linux Does Proprietary ### - -One of the biggest hurdles a company faces in migrating to any operating system is overseeing application compatibility. In the case of moving into Linux, an enterprise has to make sure that whatever software it uses is compatible with the Linux OS, noted Jeremiah. - -The Linux OS has an arsenal of software that runs across the numerous distributions and Linux desktop environments. Depending on the industry involved, the vast open source community may not have a specific replacement for every specialized computing task. In that case, it is often cost-effective to roll your own with the help of a third-party software developer. - -"Using a third-party software vendor helps to ensure this compatibility. For example, we are able to mix and match the software components together so that the application works on Linux," said Jeremiah. - -### An Old Model Made New ### - -A growing number of proprietary software firms, such as Icewarp, build specialized software to meet an enterprise's specific computing needs. They use many open source components in the mix. - -The savings, compared to staying with the Microsoft infrastructure, involve not only licensing costs, but also reduced coding costs. - -"We can build an entire software solution using readily available components for Linux. This entire solution is generally much more cost-effective, efficient and stable across the board," Jeremiah noted. - -Icewarp does not develop the specialized software as free open source projects. It does not provide free versions and charge a fee for support. You order it and pay for it. - -### Porting Code Can Be Chaotic ### - -One hurdle in making software ported from another computing platform compatible with the Linux OS is the vast majority of Linux flavors, according to Jacob Loveless, CEO of [Lucera][2]. The Linux OS has a common kernel, but it has a lot of flavors. - -"The problem develops when software companies have to cross-compile for multiple Linux systems," Loveless told LinuxInsider. "With the exception of Microsoft Exchange Server, most databases run exceptionally well on Linux. MySQL and PostSQL are probably to two most prominent open source versions." - -The majority of the hurdles in porting software to Linux require recompiling the code. Usually there are platform-specific things you have to do to make it work, he said. - -For example, if you have proprietary code bases written in .Net or other languages for Windows, the open source compiler that runs on Linux is not always compatible. So you have a lot of application work you have to redo, Loveless explained. - -Another example involves using databases. You often have to port to a different database and a different Web server. - -"There is definitely work there," said Loveless. - -### A Lot Is Not Enough ### - -Another compatibility issue in migrating to Linux is the type of open source software a company needs. - -"There are not enough open source solutions for all of the specialized enterprise needs," maintained IceWarp's Jeremiah, "but whatever is available for Linux in general, we feel is sufficient. What is not provided by the communities for specialized business applications can be built by third-party software firms." - -For example, IceWarp recently built a specialized Linux-compatible application that required no additional hardware purchase and no additional licensing fees. - -The specialized software included a clustered set of load balancers, a cluster of database servers and a cluster set of IP servers. All of it runs on a standard Red Hat Enterprise Linux or CentOS Linux distro. - -### Follow the Money ### - -In some cases, you can follow the money trail to the Linux OS. Sometimes it is the Linux server that has heavily populated an industry. Other times it is a particular Linux desktop application -- or it could be both. - -Take, for example, the Wall Street crowd. In financial markets, time synchronization becomes critical. The financial networks rely on distributive networks where users have to work with time locks to complete transactions. Other applications require very precise timing before a transaction can be executed. These are functions that require precise time synchronization controls, explained Victor Yodaiken, president of [FSMLabs][3]. - -When FSMLabs started developing its TimeKeeper time synchronization software, Yodaiken expected there soon would be a need to develop a Windows version. - -However, "it turned out that everybody who is doing automated trading or low-latency trading or even collecting data at high precision is running Linux in this market," he told LinuxInsider. - -### Time Is Costly ### - -FSMLabs uses proprietary code that runs on Linux. The Network Time Protocol built into Linux does not adequately synchronize time into nanoseconds for software that tracks stock and trade transactions. Windows falls short for another reason. - -"I think Linux's popularity over Windows is that Windows does not have a standard API which lets you get time below a millisecond. So Windows does not really do you any good. You have to have specialized APIs. With Linux, you do not have to screw around with your application program," Yodaiken said. - -The financial markets were one of the first to embrace Linux. Many of the early systems managers came up from [Bell Labs][4] in the 1980s, so it is a very established market, he added. - -### Filling a Need ### - -For some industries, running proprietary software on an open source Linux distro is not the exception -- it's the rule of thumb. - -"Ninety-nine percent of the applications on Wall Street depend on proprietary products. We are much like Oracle in that our product runs on Linux but has a proprietary license," said FSMLabs' Yodaiken. - -Some markets that run Linux need more specialized software than what's available as open source products. Existing open source software just does not meet their requirements. That is why software developers provide commercial offerings for enterprise Linux operations, he added. - -"That is pretty common. Open source is really best suited for big markets. That is why it has wide, general requirements. Not too many people would have to have a one microsecond correct time all the time -- and alarms if they can't get it," he pointed out. - -### Linux Purism Is Pointless ### - -The concept of maintaining a totally free open source software infrastructure on the Linux OS may fall short when it comes to running specialized software. That reality holds true for any specialized business. - -When a specialized computing need does not impact a wide user market, a third-party software developer can provide a proprietary, commercial or closed source software solution. Call it what you will. Open source purity might become a thing of the past as businesses continue to adopt the Linux OS. - -"Having commercial software prominent on the Linux OS is fairly common," said Yodaiken. "People in business are not purists. They just want to solve problems." - -Jack M. Germain has been writing about computer technology since the early days of the Apple II and the PC. He still has his original IBM PC-Jr and a few other legacy DOS and Windows boxes. He left shareware programs behind for the open source world of the Linux desktop. He runs several versions of Windows and Linux OSes and often cannot decide whether to grab his tablet, netbook or Android smartphone instead of using his desktop or laptop gear. You can connect with him on Google+. - --------------------------------------------------------------------------------- - -via: http://www.linuxinsider.com/story/80555.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.icewarp.com/ -[2]:https://lucerahq.com -[3]:http://www.fsmlabs.com/ -[4]:http://www.bell-labs.com/ diff --git a/translated/talk/20140607 Got Linux--Add Proprietary Code.md b/translated/talk/20140607 Got Linux--Add Proprietary Code.md new file mode 100644 index 0000000000..667962c302 --- /dev/null +++ b/translated/talk/20140607 Got Linux--Add Proprietary Code.md @@ -0,0 +1,115 @@ + +Got Linux? Add Proprietary Code +================================================================================ +![](http://www.linuxinsider.com/images/rw661226/linux-enterprise-proprietary-code.jpg) + +> 对于一些产业来讲,在开源的Linux发行版上运行商业版的软件并不类外。--这很常见,例如,在华尔街,“华尔街上百分之九十九的应用依赖于商业版的软件。在我们运行在Linux上的产品中,Oracle是我们最喜欢的一种商业软件”, FSMLabs' President Victor Yodaiken说。 + +迁移到Linux平台并不是一个非此即彼的提议。作为一个计算机平台,Linux是非常灵活的。它提供给用户一个自定义的软件菜单选项。 + +一种选择是Linux桌面。家庭个人用户,SOHO 和 SMB 操作可以从众多的企业级Linux发行版中选择。Linux桌面系统提供了一个0成本或者成本很低的替代,相对于微软系统来讲,或者是基于Unix的苹果OS X系统依赖苹果硬件的局限性。 + +另一个替换的办法是,让员工放弃linux桌面办公,取而代之,企业可以运行后台办公系统在Linux服务器上。Linux服务器在网络化和云计算领域有一个缜密和强大的空间。Linux服务器在很多企业中应用很广。 + +第三个方法是运行一个完整的Linux商店,斯坦达德办公中心运作的软件在开源包,网络浏览,图形产生方面非常有用。开源的数据库应用和和后台软件及服务器连接相当频繁,在此方面,Linux不需要购入特殊硬件来支持。 + +培训员工使用Linux桌面应用需求量很小。感谢工作者对跨平台软件的友好支持。例如LibreOffice 和 Open Office, 同样的,Chrome和 Firefox浏览器。前端办公交互很少漏掉。 + +Linux很灵活。一个新的趋势是生产适合你企业需要的第三方软件。商业软件公司可以再编译必要的WIndow或者其它平台软件。他们也可以生产Linux任务应用将现成的资源和他们自己的代码结合到一起。 + +“我相信这将是一个新的趋势,企业可以用第三方软件在Linux系统上进行开发。推动企业向Linux迁移并使用定制的软件的一个因素便是支付微软的专利费用的财政负担”,Dayan Jeremiah ,[Icewarp Pacific][1] 的 CEO 说。  + + +### Linux Does Proprietary ### + +一个公司向任何一个系统迁移的时候所面临的最大障碍是监测应用的通用性。在迁移到Linux上时,企业不得不保证软件在Liunx上通用。Jeremiah强调 + +Linux操作系统有一个多类型和Linux桌面系统软件库。根据不同的行业,大量的开源社区可能没有为每一个特殊的任务指定一种方案。在这种情况下, 借助于第三方软件来推出自己的应用往往更节约成本。 + +“使用第三方软件有助于保证兼容性,例如,我们可以混合和匹配软件组件来保证应用在Linux上运行” ,Jeremiah 说。 + +### 旧的模型产生新模型 ### + +越来越多的专有软件公司,例如爱思华宝,建立特殊的软件来满足企业特殊的业务需求,他们将许多开源组件混合在一起使用。 + +与微软的基础设施相比,不仅节省了许可成本,还节省了编码成本。 + +“我们可以建立一个完整的软件方案,使用现成的Linux软件组件,整个解决方案往往更节省成本,高效,稳定。” Jermaih强调。 + +Icewarp不开发专门的软件作为免费的开源项目,它不提供免费版,需要付费支持。你需要付费购买它。 + +### 代码移植 ### + +把软件从一个平台移植到另一个平台并与Liunx兼容的一个障碍是Liunx的多样化,依据Jacob Loveless, CEO of [Lucera][2]的观点。Linux操作系统拥有一个通用kernel,但是有很多多样化。 + +“当软件公司不得不在多个Linux系统中交叉编译时,问题进一步加深。”伴随着微软Exchange 服务器的类外,大多数数据库运行良好。Mysql和postSql可能是最突出的两个开源版本。 + +在软件移植到Linux的最大挑战,是需要重新编译代码,通常有平台相关的事情你不得不去做。他说。 + +例如,如果你有特殊的代码底层依赖,对于window来讲,.net 或者其它语言,运行在Linux的开源编译器并不总是兼容,因此你有很多软件工作需要重做,Loveless说道。 + +另一个例子是使用数据库。你经常不得不连接到一个不同的数据库和一个不同的web服务器。 + +有明确的工作要做,Loverless说道。 + +### 许多还不够 ### + +在移植到Linux上时,另一个兼容性问题是开源软件公司的需求。 + +没有足够的开源方案来解决企业的专业需求, IceWarp 的Jeremiah说,通常来讲,我们认为是足够的,目前还没有被专门的软件应用来提供,而第三方不能提供的软件。 + +例如,IceWarp最近建立了一个特殊的Linux兼容应用,不需要额外的硬件采购,没有额外的许可费用。 + +特殊的软件包括一个集群负载均衡。集群数据库和集群IP服务器,所有的这一切都运行在一个标准的红帽企业版Linux或者CentOS Linux. + + +### 跟着钱走 ### + +在一些情况下,你可以跟着前找到Linux。有时它是Linux服务器在工业中有很高的用途。另一些时候,它是Linux桌面应用,或者两者都有。 + +例如,在金融市场中,时间同步是关键。金融依靠分布式网络,用户不得不在指定的时间内完成交易。其它的应用需要在交易前进行精确的计时。这些功能需要精确的时间同步控制。Victor Yodaiken 说,[FSMLabs][3] 的总裁。 + +当FSMLabs 开始开发时间同步软件,Yodaiken期待很快会拥有一个Windows版本。 + +然而,被证实每一个在使用自动交易或者低延迟交易,甚至是采集高精度数据软件的人,都运行的是Linux系统,他告诉LinuxInsider. + +### 时间是昂贵的 ### + +FSMLabs 将专有的代码运行在Linux上,建立在Linux上的软件时间协议不适用同步时间在纳秒级别的应用,比如那些追踪股票,或者交易的需求。 + +“我认为Linux的在Windows之上,因为Windows没有一个标准的API让你获取时间在毫秒级别以下。”所以Window并不是真的都好。你不得不拥有特殊的API,在Linux下。你不需要费力在你的应用程序上。Yodaiken 说。 + +金融市场是第一个拥抱Linux的。许多早期的系统管理者来自80年代的[贝尔实验室][4],因此这是一个很成熟的市场,他说。 + +### 满足需求 ### + +对于一些产业来说,在开源的Linux发型版上运行有专利的软件并不意外,这是很常见的。 + +“华尔街99%的应用都运行在有专利的产品上。在我们运行在Linux的产品中,我们很喜欢Oracle,它有一个专利许可。”FSMLabs' Yodaiken说。 + +一些市场运行Linux需要跟更多专业的软件,相比开源的产品,现存的开源软件不能满足他们的需求。这也就是为什么软件开发者为企业Linux提供商业的产品。他补充道。 + +“这是很常见的,开源最适合大市场,这就是为什么他们具有广泛的需求。没有几人总是对的。如果他们不对,需要告诉他们” 他指出。 + +### Linux纯粹主义是没有意义的 ### + +在Linux上运行完全免费开源的软件的观念是欠缺的,有时候你要运行专利软件。 + +当一个专业的计算不需要进入广泛市场时,第三方软件开发者提供一个专有的,商业的或者闭源的解决方案。由于商业持续地适应Linux系统,绝对的开源将成为过去的事情。 + +在Linux上拥有商业软件是相当普遍的,Yodaiken说,商人都不是纯粹主义者,他们只想解决问题。 + +Jack M. Germain从早期的苹果二和PC的时候就一直在写计算机技术。他保留着一些原始的IBM PC和一些传统的DOC系统,和Windows盒子,他抛弃了共享程序,走向开源Linux世界.他运行一些Windows系统和Linux系统,经常不能决定是否用他的平板电脑或者安卓智能手机替代他的桌面系统或者便携式电脑。你可以在Google+上联系到他。 + +-------------------------------------------------------------------------------- + +via: http://www.linuxinsider.com/story/80555.html + +译者:[jiajia9linuxer](https://github.com/jiajia9linuxer) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.icewarp.com/ +[2]:https://lucerahq.com +[3]:http://www.fsmlabs.com/ +[4]:http://www.bell-labs.com/ From fe2dc030c02ce846738dbaaeb166d1fc047bba46 Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Thu, 17 Jul 2014 10:12:27 +0800 Subject: [PATCH 132/291] =?UTF-8?q?=E6=A0=A1=E5=AF=B9=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tech/20140616 How to diskless boot a Linux machine.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translated/tech/20140616 How to diskless boot a Linux machine.md b/translated/tech/20140616 How to diskless boot a Linux machine.md index 71a936803a..eb77a3b1c8 100644 --- a/translated/tech/20140616 How to diskless boot a Linux machine.md +++ b/translated/tech/20140616 How to diskless boot a Linux machine.md @@ -140,7 +140,7 @@ TFTP服务器是一个小型FTP服务器,需要用它来在本地网络中的 在你完成了服务器上的配置之后,从网络启动你的客户机。要从网络启动一般你只需修改BIOS设置中的启动优先顺序即可。 -如果客户机启动成功,你的无盘环境就配置好了。你无需修改任何东西就可以任意添加一台或多台客户端电脑。 +如果客户机启动成功,你的无盘环境就配置好了。你无需修改任何东西就可以任意添加一台或多台客户端电脑。 -------------------------------------------------------------------------------- From f3ba3cb9cb896d50197b08392adb935b181ae649 Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Thu, 17 Jul 2014 11:09:18 +0800 Subject: [PATCH 133/291] [translated] HTG Explains--What is Unix and Why Does It Matter --- ...ns--What is Unix and Why Does It Matter.md | 73 ------------------- ...ns--What is Unix and Why Does It Matter.md | 72 ++++++++++++++++++ 2 files changed, 72 insertions(+), 73 deletions(-) delete mode 100644 sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md create mode 100644 translated/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md diff --git a/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md b/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md deleted file mode 100644 index e0349c280d..0000000000 --- a/sources/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md +++ /dev/null @@ -1,73 +0,0 @@ -zpl1025 -HTG Explains: What is Unix and Why Does It Matter? -================================================================================ -![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/ken-thompson-and-dennis-richie-at-pdp-11.jpg) - -Most operating systems can be grouped into two different families. Aside from Microsoft’s Windows NT-based operating systems, nearly everything else traces its heritage back to Unix. - -Linux, Mac OS X, Android, iOS, Chrome OS, Orbis OS used on the PlayStation 4, whatever firmware is running on your router — all of these operating systems are often called “Unix-like” operating systems. - -### Unix’s Design Lives On Today ### - -Unix was developed in AT&T’s Bell Labs back in the mid-to-late 1960′s. The initial release of Unix had some important design attributes that live on today. - -One is the “Unix philosophy” of creating small, modular utilities that do one thing and do them well. If you’re familiar with using a Linux terminal, this should be familiar to you — the system offers a number of utilities that can be combined in different ways through [pipes and other features][1] to perform more complex tasks. Even graphical programs are likely calling simpler utilities in the background to do the heavy lifting. This also makes it easy to [create shell scripts][2], stringing together simple tools to do complicated things. - -Unix also had a single file system that programs use to communicate with each other. This is [why “everything is a file” on Linux][3] – including hardware devices and special files that provide system information or other data. It’s also why only Windows has drive letters, which it inherited from DOS — on other operating systems, every file on the system is part of a single directory hierarchy. - -![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/unix-bell-labs.jpg) - -### Tracing the Unix Descendants ### - -Like any history going back over 40 years, the history of Unix and its descendants is messy. To simplify things, we can roughly group Unix’s descendants into two groups. - -One group of Unix descendants were developed in academia. The first was BSD (Berkeley Software Distribution), an open-source, Unix-like operating system. BSD lives on today through FreeBSD, NetBSD, and OpenBSD. NeXTStep was also based on the original BSD, Apple’s Mac OS X was based on NeXTStep, and iOS was based on Mac OS X. Many other operating systems, including the Orbis OS used on the PlayStation 4, are derived from types of BSD operating systems. - -Richard Stallman’s GNU project was also started as a reaction to AT&T’s increasingly restrictive Unix software licensing terms. MINIX was a Unix-like operating system created for educational purposes, and Linux was inspired by MINIX. [The Linux we know today is really GNU/Linux][4], as it’s made up of the Linux kernel and a lot of GNU utilities. GNU/Linux isn’t directly descended from BSD, but it is descended from Unix’s design and has its roots in academia. Many operating systems today, including Android, Chrome OS, Steam OS, and a huge amount of embedded operating systems for devices, are based on Linux. - -On the other hand, there were the commercial Unix operating systems. AT&T UNIX, SCO UnixWare, Sun Microsystems Solaris, HP-UX, IBM AIX, SGI IRIX — many big corporations wanted to create and license their own versions of Unix. These aren’t quite as common today, but some of them are still out there. - -![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/history-of-unix.png) - -Image Credit: [Wikimedia Commons][5] - -### The Rise of DOS and Windows NT ### - -Many people expected Unix to become the industry standard operating system, but DOS and “IBM PC compatible” computers eventually exploded in popularity. Microsoft’s DOS became the most successful DOS of them all. DOS was never based on Unix at all, which is [why Windows uses a backslash for file paths while everything else uses a forward slash][6]. This decision was made back in the early days of DOS, and later versions of Windows inherited it, just as BSD, Linux, Mac OS X, and other Unix-like operating systems inherited many aspects of Unix’s design. - -Windows 3.1, Windows 95, Windows 98, and Windows ME were all based on DOS underneath. Microsoft was developing a more modern and stable operating system at the time, which they named Windows NT — for “Windows New Technology.” Windows NT eventually made its way to regular computer users as Windows XP, but it was available for corporations as Windows 2000 and Windows NT before that. - -All of Microsoft’s operating systems are based on the Windows NT kernel today. Windows 7, Windows 8, Windows RT, Windows Phone 8, Windows Server, and the Xbox One’s operating system all use the Windows NT kernel. Unlike most other operating systems, Windows NT wasn’t developed as a Unix-like operating system. - -Microsoft didn’t start with a completely clean slate, of course. To maintain compatibility with DOS and old Windows software, Windows NT inherited many DOS conventions like drive letters, backslashes for file paths, and forward slashes for command-line switches. - -![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/windows-2000-professional-built-on-nt-technology.jpg) - -Why it Matters - -Have you ever taken a look at the Mac OS X terminal or file system and noticed how similar it was to Linux’s, and how different they both were from Windows? Well, this is why — both Mac OSX and Linux are Unix-like operating systems. - -Knowing this bit of history helps you understand what a “Unix-like” operating system is, and why so many operating systems seem so similar to each other while Windows seems so different. This explains why the terminal on Mac OS X will feel so familiar to a Linux geek, while [the Command Prompt and PowerShell on Windows][7] are so different from other command-line environments. - -This was just a quick history that will help you understand how we got to where we are today without getting bogged down in the details. If you want more information, you can find entire books on the history of Unix. - -Image Credit: [Peter Hamer on Flickr][8], [Takuya Oikawa on Flickr][9], [CJ Sorg on Flickr][10] - --------------------------------------------------------------------------------- - -via: http://www.howtogeek.com/182649/htg-explains-what-is-unix/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.howtogeek.com/110150/become-a-linux-terminal-power-user-with-these-8-tricks/ -[2]:http://www.howtogeek.com/107217/how-to-manage-processes-from-the-linux-terminal-10-commands-you-need-to-know/ -[3]:http://www.howtogeek.com/117939/htg-explains-what-everything-is-a-file-means-on-linux/ -[4]:http://www.howtogeek.com/139287/the-great-debate-is-it-linux-or-gnulinux/ -[5]:http://en.wikipedia.org/wiki/File:Unix_history.svg -[6]:http://www.howtogeek.com/181774/why-windows-uses-backslashes-and-everything-else-uses-forward-slashes/ -[7]:http://www.howtogeek.com/163127/how-powershell-differs-from-the-windows-command-prompt/ -[8]:http://www.flickr.com/photos/peter-hamer/2876612463/ -[9]:http://www.flickr.com/photos/takuyaoikawa/2060554607/ -[10]:http://www.flickr.com/photos/cjsorg/2726088549/ diff --git a/translated/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md b/translated/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md new file mode 100644 index 0000000000..eb9824ada2 --- /dev/null +++ b/translated/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md @@ -0,0 +1,72 @@ +HTG解释:什么是Unix以及它为什么这么重要? +================================================================================ +![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/ken-thompson-and-dennis-richie-at-pdp-11.jpg) + +大多数操作系统可以被划分到两个不同的家族。除了微软的基于Windows NT的操作系统外,几乎所有其他的都可以追溯到Unix。 + +Linux,Mac OS X,Android,iOS,Chrome OS,PlayStaion 4上运行的Orbis OS,运行在路由器上的任意固件,所有这些操作系统通常都被称为“类Unix”操作系统。 + +### Unix的设计现在都还在应用 ### + +Unix在20世纪60年代中晚期诞生于AT&T的贝尔实验室中。最初发布的Unix中的一些重要设计因素到如今都还在使用。 + +其中一个是“Unix哲学”,建立小的模块化的应用,只做一件事情并把它做好。如果你对Linux终端很熟悉的话,应该对这个不陌生-系统提供了大量的应用,可以通过[管道或其他特性][1]形成不同的组合来完成更复杂的任务。甚至图形界面程序也经常会在后台调用更简单的应用去做比较耗时的任务。这种模式也让[建立终端脚本][2]更为简单,通过文本把一些简单工具结合起来去做复杂的事情。 + +Unix还设计了一个单一的文件系统,程序可以通过它互相通讯。这也是[为什么在Linux里说“一切都是文件”][3]-包括硬件设备和提供系统信息或其他数据的特殊文件。这也是为什么只有Windows系统中才有磁盘盘符,这是从DOS继承过来的-在其他操作系统中,所有文件都是一个单一目录结构中的一部分。 + +![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/unix-bell-labs.jpg) + +### 那些从Unix派生出的系统 ### + +类似任何往前追溯40年的历史,Unix的历史和它的派生系统一片混乱。为了简单,我们把Unix的派生系统大致分成两组。 + +一组Unix派生系统是学术界开发的。首先是BSD(伯克利软件发布版),一个开源的类Unix操作系统。BSD如今还存在于FreeBSD,NetBSD和OpenBSD等系统中。NeXTStep基于最初版的BSD开发,苹果的Mac OS X基于NeXTStep,iOS基于Mac OS X。许多其他操作系统,包括运行在PlayStation 4上的Orbis OS,也源于各种BSD操作系统。 + +Richard Stallman建立GNU项目的目的是为了反对AT&T的Unix软件协议条款日渐严格的限制。MINIX是一个类Unix操作系统,为教育目的而实现的,而Linux则是受到了MINIX的启发。[我们今天所熟悉的Linux其实应该叫GNU/Linux][4],因为它是由Linux内核和大量GNU应用组成的。GNU/Linux不是直接从BSD继承下来的,但是它继承了Unix的设计而且根植于学术界。如今许多操作系统,包括Android,Chrome OS,Steam OS,以及数量巨大的在各种设备上使用的嵌入式操作系统,都基于Linux。 + +另一组是商用的Unix操作系统。AT&T UNIX,SCO UnixWare,Sun Microsystem Solaris,HP-UX,IBM AIX,SGI IRIX-许多大型企业都希望建立并授权自己版本的Unix。它们如今并不常见,但其中一些仍然存在。 + +![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/history-of-unix.png) + +图片致谢: [Wikimedia Commons][5] + +### DOS和Windows NT的崛起 ### + +许多人希望Unix能够成为工业标准操作系统,但是DOS和“IBM PC兼容”计算机却最终人气爆发而普及开来。微软的DOS也成为众多DOS系统中最成功的一个。DOS完全没有参照Unix,这也是[为什么Windows使用反斜杠划分文件路径,而其他所有系统都使用正斜杠][6]。这个决定是在早期的DOS系统中做出的,而之后的Windows版本继承了这一设定,就像BSD,Linux,Mac OS X,和其他类Unix操作系统继承了许多Unix设计因素一样。 + +Windows 3.1,Windows 95,Windows 98,and Windows ME都是建立在DOS的基础上。当时微软已经在开发一个更现代更稳定的操作系统,叫做Windows NT-意思是“Windows新技术”。Windows NT最终通过Windows XP应用到普通计算机用户中,但是之前它都只用于针对企业用户的Windows 2000和Windows NT。 + +如今所有微软的操作系统都基于Windows NT内核。Windows 7,Windows 8,Windows RT,Windows Phone 8,Windows Server,以及Xbox One上的操作系统都在使用Windows NT内核。不像其他大多数操作系统那样,Windows NT没有被开发成一个类Unix操作系统。 + +当然,微软也不是完全从零开始的。为了维护DOS和旧版本Windows软件的兼容性,Windows NT继承了许多DOS里的设定,比如磁盘盘符,反斜杠区分文件路径,正斜杠作为命令行参数开关。 + +![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/windows-2000-professional-built-on-nt-technology.jpg) + +为什么它影响很大 + +不知道你有没有看过Mac OS X终端或是文件系统,有没有注意到它们和Linux是如此相似,而又和Windows是如此不同?好吧,原因是-Mac OS X和Linux两个都是类Unix操作系统。 + +了解了这点历史,就可以帮助你理解什么是“类Unix”操作系统,以及为什么这么多操作系统看起来都差不多,而Windows却那么与众不同。这也可以解释为什么Linux极客对Mac OS X上的终端会感觉如此熟悉,而[Windows 7上的Command Prompt和PowerShell][7]相对于其他命令行环境显得如此不同。 + +这只是一点快速掠过的历史,帮助了解是如何发展到今天的,而不用陷入到细节中。如果你想了解更多,可以找到许多关于Unix历史的整本的书籍。 + +图片致谢: [Peter Hamer on Flickr][8], [Takuya Oikawa on Flickr][9], [CJ Sorg on Flickr][10] + +-------------------------------------------------------------------------------- + +via: http://www.howtogeek.com/182649/htg-explains-what-is-unix/ + +译者:[zpl1025](https://github.com/zpl1025) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.howtogeek.com/110150/become-a-linux-terminal-power-user-with-these-8-tricks/ +[2]:http://www.howtogeek.com/107217/how-to-manage-processes-from-the-linux-terminal-10-commands-you-need-to-know/ +[3]:http://www.howtogeek.com/117939/htg-explains-what-everything-is-a-file-means-on-linux/ +[4]:http://www.howtogeek.com/139287/the-great-debate-is-it-linux-or-gnulinux/ +[5]:http://en.wikipedia.org/wiki/File:Unix_history.svg +[6]:http://www.howtogeek.com/181774/why-windows-uses-backslashes-and-everything-else-uses-forward-slashes/ +[7]:http://www.howtogeek.com/163127/how-powershell-differs-from-the-windows-command-prompt/ +[8]:http://www.flickr.com/photos/peter-hamer/2876612463/ +[9]:http://www.flickr.com/photos/takuyaoikawa/2060554607/ +[10]:http://www.flickr.com/photos/cjsorg/2726088549/ From 89c2a8f073eee364214947b36f1f1554da6c216b Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Thu, 17 Jul 2014 11:12:41 +0800 Subject: [PATCH 134/291] [translating] Joy of Programming: Fail Fast --- sources/talk/20140626 Joy of Programming--Fail Fast.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/talk/20140626 Joy of Programming--Fail Fast.md b/sources/talk/20140626 Joy of Programming--Fail Fast.md index 31fe1a14fd..3d29d5028a 100644 --- a/sources/talk/20140626 Joy of Programming--Fail Fast.md +++ b/sources/talk/20140626 Joy of Programming--Fail Fast.md @@ -1,3 +1,4 @@ +zpl1025 Joy of Programming: Fail Fast! ================================================================================ ![](http://www.opensourceforu.com/wp-content/uploads/2011/12/fail-350x262.jpg) @@ -55,4 +56,4 @@ via:http://www.opensourceforu.com/2011/12/joy-of-programming-fail-fast/ [17]: [18]: [19]: -[20]: \ No newline at end of file +[20]: From f109331e38c44994fe80f2dd2abd893f3474527d Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Thu, 17 Jul 2014 11:18:48 +0800 Subject: [PATCH 135/291] =?UTF-8?q?=E5=B7=B2=E6=A0=A1=E5=AF=B9=EF=BC=88?= =?UTF-8?q?=E7=BF=BB=E8=AF=91=E6=97=A0=E8=AF=AF=EF=BC=8C=E4=BB=85=E6=9C=89?= =?UTF-8?q?=E5=B0=8F=E4=BF=AE=E6=94=B9=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...40616 How to diskless boot a Linux machine.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/translated/tech/20140616 How to diskless boot a Linux machine.md b/translated/tech/20140616 How to diskless boot a Linux machine.md index eb77a3b1c8..eddf0d8adb 100644 --- a/translated/tech/20140616 How to diskless boot a Linux machine.md +++ b/translated/tech/20140616 How to diskless boot a Linux machine.md @@ -1,6 +1,6 @@ 如何无盘启动Linux ================================================================================ -无盘启动意味着一台客户端电脑在启动操作系统时没有任何的磁盘存储介质。在这种情形之下,电脑能够通过网络从远程NFS服务器上加载内核和根文件系统。在这过程中可能会用到数种不同的方法来从NFS服务器上加载内核和根文件系统:RARP,BOOTP或是DHCP协议。在这个指导教程中,我会使用BOOTP/DHCP协议,因为它们能够被大多数的网卡所支持。 +无盘启动意味着一台客户端电脑在启动操作系统时没有任何的磁盘存储介质。在这种情形之下,电脑能够通过网络从远程NFS服务器上加载内核和根文件系统。在这过程中可能会用到多种不同的方法来从NFS服务器上加载内核和根文件系统:RARP,BOOTP或是DHCP协议。在这个指导教程中,我会使用BOOTP/DHCP协议,因为它们能够被大多数的网卡所支持。 ### 无盘计算机的优势 ### @@ -18,11 +18,11 @@ 1. 配置NFS服务器 1. 启动无盘客户机 -在这个指导教程中,我假设作为启动服务器的电脑运行着Ubuntu。如何你正在使用其它的Linux发行版,原理是一样的。 +在这个指导教程中,我假设作为启动服务器的电脑运行的是 Ubuntu。如何你正在使用其它的Linux发行版,原理是一样的。 ### 第一步:安装所需的包 ### -像下面这样使用apt-get命令来安装所有需要的包。 +像下面这样使用 apt-get 命令来安装所有需要的包。 $ sudo apt-get install dhcp3-server tftpd-hpa syslinux nfs-kernel-server initramfs-tools @@ -62,7 +62,7 @@ TFTP服务器是一个小型FTP服务器,需要用它来在本地网络中的 - "rw"表示NFS共享是可读/可写的。 最后,重启TFTPD服务。 - + sudo /etc/init.d/tftpd-hpa restart ### 第三步:配置DHCP服务 ### @@ -120,7 +120,7 @@ TFTP服务器是一个小型FTP服务器,需要用它来在本地网络中的 $ sudo cp -ax / /nfsroot -然后打开用文本编辑器打开/nfsroot/etc/fstab并添加以下行。 +然后通过文本编辑器打开/nfsroot/etc/fstab 并添加以下行。 /dev/nfs / nfs defaults 1 1 @@ -138,14 +138,14 @@ TFTP服务器是一个小型FTP服务器,需要用它来在本地网络中的 ### 第五步:启动无盘客户机 ### -在你完成了服务器上的配置之后,从网络启动你的客户机。要从网络启动一般你只需修改BIOS设置中的启动优先顺序即可。 +在您完成了服务器上的配置之后,从网络启动你的客户机。要从网络启动一般你只需修改BIOS设置中的启动优先顺序即可。 -如果客户机启动成功,你的无盘环境就配置好了。你无需修改任何东西就可以任意添加一台或多台客户端电脑。 +如果客户机启动成功,您的无盘环境就配置好了。无需做任何修改就可以任意添加一台或多台客户端电脑。 -------------------------------------------------------------------------------- via: http://xmodulo.com/2014/06/diskless-boot-linux-machine.html -译者:[alim0x](https://github.com/alim0x) 校对:[校对者ID](https://github.com/校对者ID) +译者:[alim0x](https://github.com/alim0x) 校对:[Caroline](https://github.com/carolinewuyan) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From d77c4844fd7ac21cd83df74626cb3ead141df366 Mon Sep 17 00:00:00 2001 From: wxy Date: Thu, 17 Jul 2014 14:19:28 +0800 Subject: [PATCH 136/291] PUB:20140709 Red Hat Announces Availability of its OpenStack Platform 5 --- ...vailability of its OpenStack Platform 5.md | 44 ++++++++++ ...vailability of its OpenStack Platform 5.md | 82 ------------------- 2 files changed, 44 insertions(+), 82 deletions(-) create mode 100644 published/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md delete mode 100644 translated/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md diff --git a/published/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md b/published/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md new file mode 100644 index 0000000000..6d038b032e --- /dev/null +++ b/published/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md @@ -0,0 +1,44 @@ +红帽公司发布 OpenStack Platform 5 +================================================================================ +![](http://farm4.static.flickr.com/3108/3191608123_67e1da2b79_o.jpg) + +红帽公司[宣布][1]在RHEL上推出OpenStack Platform5,这是基于OpenStack开源云的第三个企业级发行版。该版本不仅开发了一些新功能,针对的用户群体也大为增多,如高大上的云用户、电信企业、互联网服务供应商(ISP)、公有云服务供应商等。 + +OpenStack Platform 5是基于最新的Openstack Icehouse的发行版,并且针对云计算技术做了大量的修改和优化工作而来的。 + +这个最新的发行版有3年的技术支持周期,[我选择了使用][2]它是考虑到红帽公司在Linux系统上对用户无以伦比的技术支持,红帽公司对其OpenStack Platform 5的技术支持服务将是促使企业购买的关键之一。 + +对于红帽公司是否会支持OpenStack的其他发行版尚未有定论,但一份OpenStack用户调查已经显示[90%的OpenStack开发人员并没有在RHEL上使用OpenStack][3],而是选用了Ubuntu或者CentOS Linux和其虚拟化技术。 + +OpenStack Platform 5的最新功能: + +> **支持和VMware基础架构的整合**,结构包含虚拟化、管理、网络和存储。 +用户一般会使用已经在使用的VMware vSphere资源,比如虚拟化驱动作为OpenStack (Nova)的计算节点,再使用上层的OpenStack Dashboard(Horizon)对节点进行管理。 +同样的,RHEL OpenStack Platform 5也支持VMware的NSX插件,作为OpenStack NetWorking (Neutron)对网络进行管理,支持VMware虚拟磁盘(VMDK)以插件形式存在,作为OpenStack Block Storage(Cinder)来使用。 +> + +> **对云资源的使用,采取了更好的布置。**服务器组让计算散布到OpenStack云的服务节点上,这让分布式应用有了更强的弹性,对于复杂的应用,也能起到降低通信延迟,提高运算性能的作用。 +> + +> **对虚拟机更好的支持,支持加密,满足美英国家对信息安全的要求** 使用RHEL 7中提供的半虚拟化随机数生成器,在用户程序中也添加进这个工具,可以更好的加密质量和性能提升。 + +> **提升协议栈的互通性**红帽公司宣称,Neutron中新开发的模块化的网络技术将简化OpenStack的部署。这种技术将允许用户在OpenStack中部署多种网络方案来解决异构网络的访问。 + +红帽公司虚拟化和OpenStack产品线总经理 Redhesh Balakrishnan说到: + +> “我们看到越来越多的企业级用户或服务供应商选择OpenStack作为私有云平台,RHEL OpenStack Platform 5不只是一个基于OpenStack Icehouse产品,我们还开发了很多简单易用的功能,增强了产品的可靠性。 +在未来三年内,我们要让用户看到,RHEL OpenStack Platform 5所提供的功能和技术支持服务,将为他们部署的应用保驾护航,让用户对我们的产品充满信心。 + +我敢跟你打赌,--三年的技术支持服务--将是企业用户在竞争激烈的云平台领域选择红帽的关键点。并且,毋庸置疑,红帽公司把自己的未来放在了云计算,放在了OpenStack Platform上面。 + +-------------------------------------------------------------------------------- + +via: http://ostatic.com/blog/red-hat-announces-availability-of-its-openstack-platform-5 + +译者:[nd0104](https://github.com/nd0104) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.marketwatch.com/story/red-hat-announces-general-availability-of-red-hat-enterprise-linux-openstack-platform-5-2014-07-08 +[2]:http://ostatic.com/blog/why-red-hats-openstack-support-must-be-as-inclusive-as-possible +[3]:http://www.openstack.org/blog/2013/11/openstack-user-survey-october-2013/ \ No newline at end of file diff --git a/translated/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md b/translated/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md deleted file mode 100644 index 1be373d973..0000000000 --- a/translated/news/20140709 Red Hat Announces Availability of its OpenStack Platform 5.md +++ /dev/null @@ -1,82 +0,0 @@ -nd0104 is translating -Red Hat Announces Availability of its OpenStack Platform 5 -红帽公司发布 OpenStack Platform 5 -================================================================================ -![](http://farm4.static.flickr.com/3108/3191608123_67e1da2b79_o.jpg) - -Red Hat has [announced][1] the general availability of Red Hat Enterprise Linux OpenStack Platform 5,which is the third enterprise release of the company's OpenStack offering. Aside from new features, the platform is clearly being aimed at many types of organizations, including "advanced cloud users, telecommunications companies, Internet service providers (ISPs), and public cloud hosting providers." -红帽公司[宣布][1]在RHEL上推出OpenStack Platform5,这是基于OpenStack开源云的第三个发行版。该版本不仅开发了一些新功能,针对的用户群体也大为增多,如高大上的云用户、电信企业、互联网服务供应商(ISP)、公有云服务供应商等。 - -OpenStack Platform 5 is based on the latest OpenStack Icehouse release and provides more evidence of how very focused on cloud computing Red Hat has become. -OpenStack Platform 5是基于最新的Openstack Icehouse的发行版,并且针对云计算技术做了大量的修改和优化工作而来的。 - -The new release includes a three-year support lifecycle, and [I've made the point before][2] that because of its legendary support for Linux, -Red Hat's OpenStack support will be a key differentiator in wooing enterprises. -这个最新的发行版有3年的技术支持周期,[我选择了使用][2]它是考虑到红帽公司在Linux系统上对用户无以伦比的技术支持,红帽公司对其OpenStack Platform 5的技术支持服务将是促使企业购买的关键之一。 - -There has been controversy over whether Red Hat will support OpenStack distributions other than its own, - which is significant because a recent OpenStack user survey showed that [90% of OpenStack deployments today - are not running on RHEL][3], but rather use other flavors of Linux and KVM, such as Ubuntu or CentOS. -对于红帽公司是否会支持OpenStack的其他发行版尚未有定论,但一份OpenStack用户调查已经显示[90%的OpenStack开发人员并没有在RHEL上使用OpenStack}[3],而是选用了Ubuntu或者CentOS Linux和其虚拟化技术。 - -Other features in Red Hat's new release include: -OpenStack Platform 5的最新功能: - -> **Support for integration with VMware infrastructure**, -encompassing virtualization, management, networking and storage. -Customers may use existing VMware vSphere resources as virtualization drivers for OpenStack Compute (Nova) nodes, - managed from the OpenStack Dashboard (Horizon). Additionally, -Red Hat Enterprise Linux OpenStack Platform 5 supports the VMware NSX plugin for OpenStack Networking (Neutron) -and the VMware Virtual Machine Disk (VMDK) plugin for OpenStack Block Storage (Cinder). -> - -> **支持和VMware基础架构的整合**,结构包含虚拟化、管理、网络和存储。 -用户一般会使用已经在使用的VMware vSphere资源,比如虚拟化驱动作为OpenStack (Nova)的计算节点,再使用上层的OpenStack Dashboard(Horizon)对节点进行管理。 -同样的,RHEL OpenStack Platform 5也支持VMware的NSX插件,作为OpenStack NetWorking (Neutron)对网络进行管理,支持VMware虚拟磁盘(VMDK)以插件形式存在,作为OpenStack Block Storage(Cinder)来使用。 -> - -> **Better placement of workloads across cloud resources**. "Server groups enable workloads to be spread broadly across the OpenStack cloud for enhanced resiliency of distributed applications, or located proximately for lower communications latency and better performance of complex applications." -> **对云资源的使用,采取了更好的布置。**服务器组让计算散布到OpenStack云的服务节点上,这让分布式应用有了更强的弹性,对于复杂的应用,也能起到降低通信延迟,提高运算性能的作用。 -> - - -> **Improved support for virtual machines, supporting new cryptographic security requirements from the United States and United Kingdom**. -Using the para-virtualized random number generator device added in Red Hat Enterprise Linux 7, -cryptographic routines in guest applications will have access to better quality encryption and -experience improved performance. -> -> **对虚拟机更好的支持,支持加密,满足美英国家对信息安全的要求** 使用RHEL 7中提供的半虚拟化随机数生成器,在用户程序中也添加进这个工具,可以更好的加密质量和性能提升。 - -> **Improved interoperability of networking stacks**. -Red Hat claims that the new modular plugin architecture for Neutron eases the addition of new networking -technologies to OpenStack deployments. -The new architecture provides a path for customers with heterogeneous networking - environments who want to use a mix of networking solutions in their OpenStack environment. -> **提升协议栈的互通性**红帽公司宣称,Neutron中新开发的模块化的网络技术将简化OpenStack的部署。这种技术将允许用户在OpenStack中部署多种网络方案来解决异构网络的访问。 - -Radhesh Balakrishnan, general manager, Virtualization and OpenStack, Red Hat, said in a statement: -红帽公司虚拟化和OpenStack产品线总经理 Redhesh Balakrishnan说到: -> “We see momentum behind OpenStack as a private cloud platform of choice from enterprise customers and service providers alike. - Red Hat Enterprise Linux OpenStack Platform 5 not only offers a production-ready, - supported version of OpenStack Icehouse, but it brings a number of features that will simplify its use, and enhance dependability for enterprise users. - Alongside those new features, we’re extending our support lifecycle for Red Hat Enterprise Linux OpenStack Platform, - giving users confidence that the solution they deploy will be supported by our global team for the next three years.” - -> “我们看到越来越多的企业级用户或服务供应商选择OpenStack作为私有云平台,RHEL OpenStack Platform 5不只是一个基于OpenStack Icehouse产品,我们还开发了很多简单易用的功能,增强了产品的可靠性。 -在未来三年内,我们要让用户看到,RHEL OpenStack Platform 5所提供的功能和技术支持服务,将为他们部署的应用保驾护航,让用户对我们的产品充满信心。 - -You can bet on that last point--a three-year support plan--as a key reason why some enterprises will go with Red Hat - in the increasingly competitive OpenStack race. - And, clearly, Red Hat is tying its future to cloud computing and the OpenStack platform. -我敢跟你打赌,--三年的技术支持服务--将是企业用户在竞争激烈的云平台领域选择红帽的关键点。并且,毋庸置疑,红帽公司把自己的未来放在了云计算,放在了OpenStack Platform上面。 --------------------------------------------------------------------------------- - -via: http://ostatic.com/blog/red-hat-announces-availability-of-its-openstack-platform-5 - -译者:[nd0104](https://github.com/nd0104) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.marketwatch.com/story/red-hat-announces-general-availability-of-red-hat-enterprise-linux-openstack-platform-5-2014-07-08 -[2]:http://ostatic.com/blog/why-red-hats-openstack-support-must-be-as-inclusive-as-possible -[3]:http://www.openstack.org/blog/2013/11/openstack-user-survey-october-2013/ \ No newline at end of file From 3f1e881d425f7f16734ebb9b9f77e410eac59f3f Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Thu, 17 Jul 2014 14:22:29 +0800 Subject: [PATCH 137/291] =?UTF-8?q?=E6=A0=A1=E5=AF=B9=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...x Screenshot App Shutter Updates with Bug Fixes, New Icon.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md b/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md index 5f50c474b1..63477c34dd 100644 --- a/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md +++ b/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md @@ -10,7 +10,7 @@ Linux截屏软件Shutter获得更新,修复bug,更换新图标 最后,这次更新突出了由Lucas Romero Di Benedetto精心设计的百叶窗相机式的应用图标。 -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/compare-350x200.png) +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/compare-350x200.png) ### 在Ubuntu环境下安装Shutter 0.91版本 ### From 71a444bf7da345c4cc0842087ff759d2bc1b5726 Mon Sep 17 00:00:00 2001 From: wxy Date: Thu, 17 Jul 2014 14:30:38 +0800 Subject: [PATCH 138/291] PUB:20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @su-kaiyao 发布了:http://linux.cn/article-3417-1.html ,翻译的不错。下回要注意保持原文中的MD格式。 --- ... Dollars by Ditching Microsoft Products.md | 28 +++++++++++++++++++ ... Dollars by Ditching Microsoft Products.md | 26 ----------------- 2 files changed, 28 insertions(+), 26 deletions(-) create mode 100644 published/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md delete mode 100644 translated/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md diff --git a/published/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md b/published/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md new file mode 100644 index 0000000000..3f5658e2cb --- /dev/null +++ b/published/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md @@ -0,0 +1,28 @@ +放弃微软产品,慕尼黑省下数百万美元 +================================================= +![](http://i1-news.softpedia-static.com/images/news2/Canonical-and-Ubuntu-Helped-Munich-Save-Millions-of-Dollars-By-Ditching-Microsoft-Products-450571-2.jpg) + +**慕尼黑这座城市已经成为了从微软产品转向开源的,最突出的城市管理案例之一,而且Canonical公司和ubuntu为这次变革起了很大的作用。** + +慕尼黑成功脱离了微软的依赖,但是他们为这次摆脱过程付出了价值不菲的代价。从微软产品转向开源的好处看起来似乎很昂贵,但是转变的成本比之后的产品升级显著要低,不仅如此,在未来,我们会发现这种做法更便宜。 + +当你在像慕尼黑城市这种大城市,尝试从一个专有解决方法转向开源的时候,这可并不容易。因为慕尼黑拥有22个组织单位,每个单位都有自己的IT部门,更不要说各部门之间不同版本的应用程序。 + +地方政府不能只采用一个Linux发行版本。第一次的尝试是在2006年伴随着Debian的回归,但是特定的操作系统并没有一个可预测的发布时间表。这就是新操作系统LiMux产生的原因,一个基于ubuntu的操作系统。 + +“LiMux/开源项目是漫长而又反复的,但是经过几年时间运行这种大型Linux,我们意识到ubuntu才是最能满足我们需求的平台。通过结合开源软件的低成本和自由,加以对我们需要的硬件和应用程序的持续支持,这种做法才是这个项目成功的关键因素之一。当然,最终要还有我们的市府在项目上始终给予的高度支持。”慕尼黑项目经理Peter Hofmann[说道][1]。 + +截至2013年,如果只考虑升级成本的话,这个项目帮助慕尼黑节省了€1000万(1360万美元)。如果我们能量化官方支持软件和其余隐藏成本的话,这个数额显得有些多。 + +眼下,慕尼黑14000台PC机运行着LiMux,而且数量还在持续增长。这很有可能影响其余德国城市在未来也这么做,尤其是慕尼黑的邻居。 + +慕尼黑当局采用了13年才完成这次变革,但是最终事实证明,这样做可以省下一大笔资金,而且证明了Linux实际上是整个城市IT基础设施又好有免费的解决方案。 + +--------------------------------------------------------------------------------- +via: http://news.softpedia.com/news/Canonical-and-Ubuntu-Helped-Munich-Save-Millions-of-Dollars-By-Ditching-Microsoft-Products-450571.shtml + + 译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[wxy](https://github.com/wxy) + + 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + + [1]:https://insights.ubuntu.com/2014/07/07/ubuntu-and-open-source-help-the-city-of-munich-save-millions/ \ No newline at end of file diff --git a/translated/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md b/translated/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md deleted file mode 100644 index ea4e5310f7..0000000000 --- a/translated/news/20140714 Canonical and Ubuntu Helped Munich Save Millions of Dollars by Ditching Microsoft Products.md +++ /dev/null @@ -1,26 +0,0 @@ -放弃微软产品,规范和ubuntu帮助慕尼黑省下数百万美元 -================================================= -![jpg](https://camo.githubusercontent.com/fb9de25222893332a72f8d632cdeb70725e827ee/687474703a2f2f69312d6e6577732e736f667470656469612d7374617469632e636f6d2f696d616765732f6e657773322f43616e6f6e6963616c2d616e642d5562756e74752d48656c7065642d4d756e6963682d536176652d4d696c6c696f6e732d6f662d446f6c6c6172732d42792d4469746368696e672d4d6963726f736f66742d50726f64756374732d3435303537312d322e6a7067) - -慕尼黑这座城市已经成为了从微软产品转向开源的,最突出的城市管理案例之一,而且规范和ubuntu为这次变革起了很大的作用 - -慕尼黑成功脱离了微软的依赖,但是他们为这次摆脱付出了价值不菲的代价。从微软产品转向开源的好处看起来似乎很昂贵,但是转变的成本比之后的产品升级显著要低,不仅如此,在未来,我们会发现这种做法更便宜 - -当你在像慕尼黑城市这种大城市,尝试从一个专有解决方法转向开源的时候,这可并不容易。因为慕尼黑拥有22个组织单位,每个单位都有自己的IT部门,更不要说各部门之间不同版本的应用程序 - -地方政府不能只采用一个Linux发行版本。第一次的尝试是在2006年,伴随着Debian的回归,但是特定的操作系统并没有一个可预测的发布时间表。这就是新操作系统LiMux产生的原因,一个基于ubuntu的操作系统 - -“LiMux/开源项目是漫长而又反复的,但是经过几年时间运行这种大型Linux,我们意识到ubuntu才是最能满足我们需求的平台。通过结合开源软件的低成本和自由,加以对我们需要的硬件和应用程序的持续支持,这种做法才是这个项目成功的关键因素之一。当然,最终要还有我们的政治家在项目始终给予的高度支持。”慕尼黑项目经理Peter Hofmann说道 - -截至2013年,如果只考虑升级成本的话,这个项目帮助慕尼黑节省了€1000万(1360万美元)。如果我们能过量化官方支持软件和其余隐藏成本的话,这个数额显得有些多 - -眼下,慕尼黑14000台PC机运行着LiMux,而且数量还在持续增长。这很有可能影响其余德国城市在未来也这么做,尤其是慕尼黑的邻国 - -慕尼黑当局采用了13年才完成这次变革,但是最终事实证明,这样做可以省下一大笔资金,而且证明了Linux实际上是整个城市IT基础设施又好有免费的解决方案 - ----- -via: http://news.softpedia.com/news/Canonical-and-Ubuntu-Helped-Munich-Save-Millions-of-Dollars-By-Ditching-Microsoft-Products-450571.shtml - -译者:译者ID 校对:校对者ID - -本文由 LCTT 原创翻译,Linux中国 荣誉推出 From 24e46b1607439b39596dc87f8f2c940454f84470 Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Thu, 17 Jul 2014 14:42:52 +0800 Subject: [PATCH 139/291] =?UTF-8?q?=E5=B7=B2=E6=A0=A1=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...enshot App Shutter Updates with Bug Fixes, New Icon.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md b/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md index 63477c34dd..d9bfa49e7e 100644 --- a/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md +++ b/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md @@ -1,4 +1,4 @@ -Linux截屏软件Shutter获得更新,修复bug,更换新图标 +Linux 截屏软件 Shutter 更新了新图标,修复了漏洞 ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/shutter.jpg) @@ -6,9 +6,9 @@ Linux截屏软件Shutter获得更新,修复bug,更换新图标 这款开源并且功能强大的截屏工具可以让你选择桌面的任意区域、指定应用窗口或者整个屏幕区域来进行截屏。此外,你还可以添加注释、文本或者特效。 -0.91版本修复了若干之前遗留的bug,包括在Ubuntu 14.04中缩略图无法正常地在应用切换栏中显示的问题。由于'imm.io'在今年早些停止服务,所以此次更新还取消了将截图上传到Pixlr图像服务的选项。 +0.91版本修复了若干明显的bug,包括在Ubuntu 14.04中缩略图无法正常地在应用切换栏中显示的问题。由于'imm.io'在今年早期停止服务,所以此次更新还取消了将截图上传到Pixlr图像服务的选项。 -最后,这次更新突出了由Lucas Romero Di Benedetto精心设计的百叶窗相机式的应用图标。 +最后,这次更新突出了由 Lucas Romero Di Benedetto 精心设计的相机快门式应用图标。 ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/compare-350x200.png) @@ -28,7 +28,7 @@ Linux截屏软件Shutter获得更新,修复bug,更换新图标 via: http://www.omgubuntu.co.uk/2014/06/shutter-0-91-new-icon -译者:[JonathanKang](https://github.com/JonathanKang) 校对:[校对者ID](https://github.com/校对者ID) +译者:[JonathanKang](https://github.com/JonathanKang) 校对:[Caroline](https://github.com/carolinewuyan) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 882b289d457d1d4258ba433aa9a0c9c6ae52380b Mon Sep 17 00:00:00 2001 From: Vic___ Date: Thu, 17 Jul 2014 20:42:06 +0800 Subject: [PATCH 140/291] translated --- ...vourite Games and Applications in Linux.md | 132 +++++++++--------- 1 file changed, 65 insertions(+), 67 deletions(-) diff --git a/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md b/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md index a3c19e744d..39ad6b4648 100644 --- a/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md +++ b/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md @@ -1,166 +1,165 @@ -Vic020 - -Install “Android 4.4 KitKat” to Run Favourite Games and Applications in Linux +装X指南--在Linux上装个Android 4.4玩玩 ================================================================================ -**Android (x86)** is a project which aims to port Android system to Intel x86 processors to let users install it easily on any computer, the way they do this is by taking android source code, patching it to work on Intel x86 processors and some laptops and tablets. +**Android (x86)**项目致力于移植Android系统到X86处理器上,使用户可以更容易的在任何电脑上安装Android。他们通过使用android源码,增加补丁来使Android能够在X86处理器下工作,不单只是笔记本电脑和平板电脑。 ![Install Android 4.4 KitKat in Linux](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-4.4-KitKat.jpg) -Install Android 4.4 KitKat in Linux +在Linux安装Android 4.4 KitKat -A few days ago, the project released “Android KitKat 4.4 RC2”, and today we will explain how to install it on VirtualBox, there is a problem that the mouse pointer doesn’t work in android in VirtualBox, but you may use this guide to install it beside other systems as a main system and the mouse should work I guess, otherwise we’ll use the keyboard. +几天前,项目组发布了最新的“Android KitKat 4.4 RC2”,下面,我将说明如何在VirtualBox上的安装过程,不过有一个小问题,安装完成Android后鼠标指针不工作了,我猜,如果你根据本教程将它安装成主系统,这个鼠标应该可以工作,否则我们只能使用键盘了。 -### Step 1: Install VirtualBox in Linux ### +### 阶段 1: 在linux上安装VirtualBox ### -**1.** VirtualBox is available to install easily via official repositories in most Linux distributions, to install it on Ubuntu run. +**1.** 大多数的Linux发行版中,官方源都有VirtualBox,例如在Ubuntu中安装 $ sudo apt-get install virtualbox -For other Linux distributions like **RHEL, CentOS and Fedora**, use the following article to install Virtualbox. +其他的Linux发行版,像**RHEL, CentOS and Fedora**,请参考下面文章来安装VirtualBox - [Install VirtualBox in RHEL, CentOS and Fedora][1] -### Step 2: Download and Install Android 4.4 KitKat in Virtualbox ### +### 阶段 2: 下载并在VirtualBox中安装Android 4.4 kitkat ### -**2.** This is an easy step, just download **Android 4.4 x86 Kit Kat** file from the [androud Sourceforge.net][2] project. +**2.** 这步挺简单的,只是需要去[androud Sourceforge.net][2]项目下载 **Android 4.4 x86 Kit Kat**文件 -**3.** To install **Android 4.4 kitkat** on VirtualBox, you need first to boot from the .iso image that you downloaded, to do so, open **VirtualBox**, Click on new to create a new virtual machine, and choose the settings as follow. +**3.** 为了安装**Android 4.4 kitkat**,首先,你需要引导刚刚下载.iso文件,启动 **VirtualBox**,创建一个新的虚拟机,然后跟着下面图片设置: ![Create New Virtual Machine](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-01.png) -Create New Virtual Machine +创建新的虚拟设备 -**4.** Then it will ask you to choose a Memory size for the machine, Android 4.4 kitkat needs 1GB of RAM to work perfectly, but I will choose 512MB since I only have 1GB of RAM on my computer. +**4.** 接下来,它会询问你新设备的内存大小,Android 4.4 kikat需要1G内存才能完美运行,但是由于我的电脑只有1G内存,我只能选择512MB。 ![Set Memory to New Machine](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-02.png) -Set Memory to New Machine +设置内存 -**5.** Now select “Create a virtual hard drive now” to create a new one. +**5.** 选择“现在创建虚拟硬盘”(“Create a virtual hard drive now”)创建一个新的硬盘 ![Create Virtual Hard Drive](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-03.png) -Create Virtual Hard Drive +创建虚拟硬盘 -**6.** It will now ask you for the type of the new virtual hard drive, select **VDI**. +**6.** 它现在会询问你新虚拟硬盘的类型,选择**VDI** ![Select Hard Drive Type](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-04.png) -Select Hard Drive Type +选择硬盘驱动类型 ![Select Storage Type](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-05.png) -Select Storage Type +选择存储方式 -**7.** Now choose the size of the virtual hard drive, you may choose any size you want, no less than **4GB** so the system can be installed correctly beside any future apps that you want to install. +**7.** 现在设置虚拟硬盘大小,你可以设置任何大小,但是除了未来安装Apps的空间,至少系统正确地安装需要**4G**。 ![Set Size for Virtual Drive](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-32.png) -Set Size for Virtual Drive +设置虚拟硬盘大小 -**8.** Now that’s your first virtual machine is created, now to boot from the **.iso** file that you downloaded, select the virtual machine from the list on the left, click on **Settings**, and go for “**storage**”, do as follow and select the **.iso** image of **android 4.4 kitkat RC2**. +**8.** 现在你的新虚拟设备创建好了,可以引导下载的**.iso**文件了,右键刚刚创建的虚拟机,**设置** -> **存储** ,如下图,设置**android 4.4 kitkat RC2**的镜像文件。 ![Select Android KitKat ISO](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-06.png) -Select Android KitKat ISO +选择Android KitKat ISO **9.** Click on **OK**, and start the machine to boot the .iso image, choose “**Installation**” to start installing the system on the virtual machine. ![Select to Install Android Kit Kat](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-07.png) -Select to Install Android Kit Kat +选择 Install Android Kit Kat -**10.** Please select a partition to install Android-x86. +**10.** 请选择一个分区来安装Android-x86 ![Select Partition Drive](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-08.png) -Select Partition Drive +选择 Partition Drive -**11.** Now you will be prompted **cfdisk** which is a partitioning tool that we will use to create a new hard drive, so we can install android 4.4 on it, Click on “**New**”. +**11.** 如下图,你可以看见cfdisk界面,cfdisk是一个分区工具,我们将要使用它来创建一个新的硬盘分区,用来安装Android 4.4,现在,点击 “**New**” ![Create New Partition](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-09.png) -Create New Partition +创建新分区 -**12.** Choose “**Primary**” as partition type. +**12.** 选择“**Primary**”作为分区类型 ![Choose Primary Partition](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-10.png) -Choose Primary Partition +选择主分区 -**13.** Next, select the size of the partition. +**13.** 接下来,设置分区大小 ![Select Size of Partition](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-11.png) -Select Size of Partition +设置分区大小 -**14.** Now, we have to make the new hard drive bootable in order to be able to write changes to the disk, click on “**Bootable**” to give the bootable flag to the new partition, you won’t notice any changes in fact but the bootable flag will be given to that partition. +**14.** 现在我们必须给硬盘创建新的引导使其能够写入新的分区表,点击“**Bootable**”给引导标记新的分区,你不会注意到有任何变化,但是引导标记将会自己给选中分区。 ![Make Partition Bootable](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-12.png) -Make Partition Bootable +制作分区引导 -**15.** After that, click on “**Write**” to write the changes to the hard drive. +**15.** 完成之后,点击“**Write**”对硬盘写入新的分区。 ![Apply Changes to Partition](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-13.png) -Apply Changes to Partition +应用新分区 -**16.** It will ask you if you are sure, write “**yes**” and click on **Enter**. +**16.** 它会询问你是否确认,输入“**yes**”并点击**Enter** ![Confirm Partition Changes](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-14.png) -Confirm Partition Changes +确认分区改变 -**17.** Now that’s our new hard drive is created, now click on **Quit** and you will see something like this, select the partition that you created before in order to install android on it and hit **Enter**. +**17.** 现在我们的新硬盘已经创建,点击 **Quit** 你就可以看来类似下图的显示,选中刚刚创建的用来安装Android 的分区,点击**Enter** ![Choose Partition to Install Android](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-15.png) -Choose Partition to Install Android +选择分区安装Android -**18.** Choose “**ext3**” as a filesystem for the hard drive and format. +**18.** 选择“**ext3**”作为硬盘文件系统并格式化 ![Select Ext3 Partition Type](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-16.png) -Select Ext3 Partition Type +选择Ext3分区类型 ![Format Partition](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-17.png) -Format Partition +格式化分区 -**19.** You will be asked now if you want to install GRUB bootloader, of course you will select **Yes**, because if you don’t, you won’t be able to boot the new system, so choose “**Yes**” and hit **Enter**. +**19.** 它将会询问你时候需要安装GRUB启动器,当然选择**Yes**,如果不这样,你将不能启动新系统,所以选择**Yes**并点击**Enter** ![Install Boot Loader GRUB](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-18.png) -Install Boot Loader GRUB +安装引导加载器 GRUB -**20.** Finally, you will be asked if you want to make the **/system** partition writeable, choose Yes, it will help in a lot of things later after you install the system. +**20.** 最后,它会问你**/system**分区是否能写入,选择yes,它会在安装完系统后帮助你减少很多麻烦 ![Make Partition Writeable](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-19.png) -Make Partition Writeable +使分区能写入 -**21.** The installer will start it’s mission… after the installer finishes the job, choose Reboot, in my test, the “Run-Android x86” didn’t work for me, so you have to reboot. +**21.** 安装将会开始它的任务,安装器结束工作后,选择重启,在我做测试的时候,“Run-Android x86”不起作用,所以你不得不重启。 ![Android Kit Kat Installation](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-20.png) -Android Kit Kat Installation +Android Kit kat 安装完成 -**22.** Now that’s we installed **Android 4.4 KitKat RC2** on our hard drive, the problem is now that VirtualBox will keep loading the **.iso** image file instead of booting from the virtual hard drive, so to fix this problem, go to **Settings**, under “**storage**” select the **.iso** file and remove it from the booting menu. +**22.** 我们已经安装完成**Android 4.4 KitKat RC2**,问题是VirtualBox将会继续引导**.iso**镜像文件而不是虚拟设备,所以为了修正这个问题,**设置** -> **存储** ->移除iso文件 ![Remove Android Kit Kat Image](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-21.png) -Remove Android Kit Kat Image +移除Android Kit Kat 镜像 -**23.** Now you can start the virtual machine with the installed android system. +**23.** 你可以启动你的虚拟设备,运行你的Android系统了 ![Start Android Kit Kat System](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-23.png) -Start Android Kit Kat System +启动Android Kit Kat 系统 ![Android Splash Screen](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-24.png) -Android Splash Screen +Android标志界面 -**24.** Now you will start a wizard to configure some things before you start using **Android**. You will see a screen like this, Now the problem is, that the Mouse doesn’t work in **android 4.4 KitKat**, that means that we’ll be using our skills in keyboard, first choose the **language** you want using the **Up** and **Down** keys in the keyboard, and to go the next step, hit the **Right** arrow key and click **Enter**. +**24.** 使用**Android**之前,你需要完成一个向导来配置一些事。你会看见如下屏幕,现在问题是,鼠标不能在**android 4.4 kitkat**工作,这意味着我们需要展示我们键盘的高超技巧了。首先,选择语言,你需要使用键盘**上**键和**下**键,到下一步,需要使用**右**键移动光标,选择**Enter** ![Android Welcome Screen](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-31.png) -Android Welcome Screen +Android 欢迎界面 ![Select WiFi Network](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-25.png) -Select WiFi Network +选择WiFi网络 ![Create Android Google Account](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-26.png) -Create Android Google Account +创建Android Google账户 ![Sign in Google Account](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-27.png) -Sign in Google Account +注册Google账户 ![Set Date and Time](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-28.png) -Set Date and Time +设置日期和时间 ![Enter Your Details](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-29.png) -Enter Your Details +输入你的信息 ![Android 4.4 Kit Kat Home Screen](http://www.tecmint.com/wp-content/uploads/2014/07/Install-Android-Kit-Kat-in-Linux-30.jpeg) -Android 4.4 Kit Kat Home Screen +Android 4.4 Kit Kat 主界面 -Installing **Android x86** will be good for you if you don’t have a smartphone and you want to use the **Play Store** apps easily, have you ever tried to install android x86? What was the results? Do you think that android may become a “**real operation system**” targeting PCs in the feature? + +安装 **Android x86**好处颇多,如果你没有智能手机而又想早点使用**Play Store**apps,怎么不试试安装android x86呢?结果怎样?你有想过android可以成为一个针对桌面功能的**实时操作系统**? ---------- @@ -168,14 +167,13 @@ Installing **Android x86** will be good for you if you don’t have a smartphone [Hanny Helal][3] -A Linux & Foss user since 2010, working on many projects in the field of Free Software. - +2010年,成为Linux和自由软件用户,已为自由软件贡献多个项目 -------------------------------------------------------------------------------- via: http://www.tecmint.com/install-android-kitkat-in-linux/ -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Vic___](http://www.vicyu.net) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From ed5a8e02024e072938d3a76cc229b7f1f3a43eb3 Mon Sep 17 00:00:00 2001 From: Vic___ Date: Thu, 17 Jul 2014 20:42:43 +0800 Subject: [PATCH 141/291] moved --- ...4.4 KitKat to Run Favourite Games and Applications in Linux.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md (100%) diff --git a/sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md b/translated/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md similarity index 100% rename from sources/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md rename to translated/tech/20140716 Install Android 4.4 KitKat to Run Favourite Games and Applications in Linux.md From 0e0a01729ca4386a9724bc0bcb8815f9b63fa3d0 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Thu, 17 Jul 2014 23:05:36 +0800 Subject: [PATCH 142/291] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...To Make Cinnamon Feel at Home on Ubuntu.md | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 translated/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md diff --git a/translated/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md b/translated/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md new file mode 100644 index 0000000000..2e0a9ff50a --- /dev/null +++ b/translated/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md @@ -0,0 +1,109 @@ +5个让Cinnamon桌面环境完美运行在ubuntu上的方法 +======================================================================= +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/des.jpg) + +**Cinnamon桌面环境最新稳定版本发行了,[ubuntu用户可以去安装使用了][1]** + +在其安装后的基础上,我们可以做一些微调来拥有更棒的体验 + +你的ubuntu如果没有安装Cinnamon,你可以参照我们之前的文章进行安装 + +###更改Mint菜单图标### +Mint菜单图标是Cinnamon的特色之一,它给予用户一种简单,快速,熟悉的方式来搜索,打开,组织应用程序,默认情况下,菜单使用启动程序项中的Linux +Mint +Logo。既然你是在ubuntu系统下使用它,而不是Mint,为什么不使用ubuntu熟悉的橙色朋友圈logo来替换原有的菜单图标呢?实现很简单 + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/min-menu.jpg) + +想要改变Cinnamon菜单图标为ubuntu风格的,只需点击applet,选择‘config‘,在设置窗口,就会出现‘Use +a custom icon‘,然后你就输入下面的路径来使用ubuntu logo了 + + /usr/share/icons/ubuntu-mono-dark/actions/24/package-supported.svg + +你可以使用任何支持的图片类型,只需要在刚才的填写区域写入正确的图片路径,或者点击后面的方框来打开文件选择器,选择你要使用的图标 + +###尝试Cinnamon主题### + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/cinnamon-themes-zukitwo.jpg) + +和GNOME +Shell一样,Cinnamon也支持自定义主题,我所说的主题并不只是应用程序的GTK主题和简单的窗口装饰,而是将面板,菜单,程序等等结合为一个整体的视觉风格 + +Cinnamon主题可以被浏览,下载甚至不需要离开桌面的就触手可及 — +无需下载或者手动安装:打开Cinnamon Settings tool中的Appearance +pane,然后选择‘Online Themes‘ + +下面是一些受欢迎的主题: + +- [**Android Holo**][2] — Android 4.x style theme +- [**Zukitwo**][3] — Sleek, stylish and light +- [**Minty**][4] — Dark theme with bold green accents +- [**Metro**][5] — Based on the visual style of Windows 8. + +###找出你最喜欢的布局### + +我们统一认为应用程序发射器永远只是固定地待在屏幕的一侧,但是Cinnamon并没有这样的顾虑,它可以让你重新设计最符合你的桌面布局 + +手动面板可以增加,编辑和移动,或选择三种预设的布局 + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/traditional.jpg) + +打开`Settings > Panel > Layout Options > Panel Layout`,然后下面这几个中选择 + +- Traditional — 这是默认的布局,控制面板在屏幕的顶部 +- Flipped ——和Traditional一样,控制面板在屏幕顶部 +- Classic ——两个控制面板,一个在顶部,一个在底部 + +你需要注销或者重启Cinnamon才能生效 + +###添加面板小程序### + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/weather-applet.png) + +Cinnamon和GNOE +Shell一样具有可扩展性,丰富的社区插件和扩展程序提供了额外的特性和功能,比如天气,系统监测,窗口管理工具等,这些都可以被浏览,安装并能从桌面直接启动 + +选择控制面板,右键点击要添加小程序,选择 ‘…Add Appls to the +Panel‘,一些著名的小程序如下: + +- [**Weather**][6] - does what it forecasts (ho ho) +- [**Stark Menu**][7] - Clone of the Windows 7 Start Menu +- [**Screenshot**][8] — Easy way to grab screenshots with delay + +###改变日期的显示格式### + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/applet.jpg) + +Cinnamon的时间日期程序很方便,它可以让你很容易就记住日期 + +但是它显示时间的默认格式是24小时制,但是我们很容易就能调整时钟格式 + +右击然后选择‘Configure‘,在设置窗口中出现“Use a custom date +format“的选择框上打勾,或者使用下面的几种格式(复制粘帖粗体字段) + +- **%B %e, %I:%M %p** (July 13, 7:19 PM) +- **%m/%d/%Y** (07/13/2014) +- **%l:%M %p** (7:19 PM) + +改变立马生效,如果中途发生了错误,你可以取消自定义时间格式选项恢复到默认状态 + +###更多### + +在Cinnamon桌面环境中只有少部分定制选择供使用者使用,但是我们认为上述所讲的调整是不断探索的很好跳板,通过下面的评论栏让我们了解你最喜欢的调整是什么吧,你可以通过Facebook或者Google+ + +---------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/5-things-installing-cinnamon-ubuntu + +译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2014/07/new-cinnamon-ubuntu-14-04-ppa-stable +[2]:http://cinnamon-spices.linuxmint.com/themes/view/122 +[3]:http://cinnamon-spices.linuxmint.com/themes/view/219 +[4]:http://cinnamon-spices.linuxmint.com/themes/view/25 +[5]:http://cinnamon-spices.linuxmint.com/themes/view/188 +[6]:http://cinnamon-spices.linuxmint.com/applets/view/17 +[7]:http://cinnamon-spices.linuxmint.com/applets/view/168 +[8]:http://cinnamon-spices.linuxmint.com/applets/view/35 From e76e263318440e18acc3994e4a147356a5f487a8 Mon Sep 17 00:00:00 2001 From: wxy Date: Thu, 17 Jul 2014 23:06:08 +0800 Subject: [PATCH 143/291] PUB:20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon @JonathanKang --- ...reenshot App Shutter Updates with Bug Fixes, New Icon.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename {translated/tech => published}/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md (88%) diff --git a/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md b/published/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md similarity index 88% rename from translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md rename to published/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md index d9bfa49e7e..eaf3cccec7 100644 --- a/translated/tech/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md +++ b/published/20140616 Linux Screenshot App Shutter Updates with Bug Fixes, New Icon.md @@ -1,12 +1,12 @@ -Linux 截屏软件 Shutter 更新了新图标,修复了漏洞 +Linux 截屏软件 Shutter ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/06/shutter.jpg) -**[Shutter][1],是一款Linux平台下最受欢迎的截屏软件。最近的更新中,该软件修复了若干bug,并且使用了新的应用图标。** +**[Shutter][1],是一款Linux平台下广受欢迎的截屏软件。最近的更新中,该软件修复了若干bug,并且使用了新的应用图标。** 这款开源并且功能强大的截屏工具可以让你选择桌面的任意区域、指定应用窗口或者整个屏幕区域来进行截屏。此外,你还可以添加注释、文本或者特效。 -0.91版本修复了若干明显的bug,包括在Ubuntu 14.04中缩略图无法正常地在应用切换栏中显示的问题。由于'imm.io'在今年早期停止服务,所以此次更新还取消了将截图上传到Pixlr图像服务的选项。 +0.91版本修复了若干明显的bug,包括在Ubuntu 14.04中缩略图无法正常地在应用切换栏中显示的问题。由于'imm.io'在今年早期停止了服务,所以此次更新还取消了将截图上传到Pixlr图像服务的选项。 最后,这次更新突出了由 Lucas Romero Di Benedetto 精心设计的相机快门式应用图标。 From cb6d613b12a971ff2dbb8b4fe457c6895a08b655 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Thu, 17 Jul 2014 23:07:25 +0800 Subject: [PATCH 144/291] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...To Make Cinnamon Feel at Home on Ubuntu.md | 103 ------------------ 1 file changed, 103 deletions(-) delete mode 100644 sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md diff --git a/sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md b/sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md deleted file mode 100644 index fcc2322265..0000000000 --- a/sources/tech/20140716 5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu.md +++ /dev/null @@ -1,103 +0,0 @@ -[su-kaiyao]翻译中 - -5 Simple Ways To Make Cinnamon Feel at Home on Ubuntu -================================================================================ -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/des.jpg) - -**The latest stable release of the popular Cinnamon desktop environment is [once again available for Ubuntu users to install][1].** - -And while it’s good to go out of the box (or rather PPA) there are a handful of small tweaks you can make to get an even better experience. - -If you don’t have Cinnamon installed in Ubuntu head on over to our previous article about it. - -### Change the Mint Menu Icon ### - -The Mint Menu is one of the standout features of Cinnamon. It’s a simple, fast and familiar way to search, open and organise your applications. By default the menu uses the Linux Mint logo on the launcher item. Since you’re running the DE on Ubuntu rather than Mint you may prefer the menu to use Ubuntu’s familiar orange circle of friends logo instead. How? It’s easy. - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/min-menu.jpg) - -To change the Cinnamon menu icon to the Ubuntu emblem right click on the applet and select ‘Configure‘. In the Settings window that appears check ‘Use a custom icon’ and enter the following to use the Ubuntu logo: - - /usr/share/icons/ubuntu-mono-dark/actions/24/package-supported.svg - -You can use any supported image type. Just enter the path to the icon in the field, or click the box at the end to open a file picker. - -### Try Out Cinnamon Themes ### - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/cinnamon-themes-zukitwo.jpg) - -Like GNOME Shell Cinnamon also supports custom themes. And by that I don’t mean just GTK themes for apps and window decoration, but visual styles that theme the shell as a whole — panel, menu, applets, and so on. - -Cinnamon themes can be browsed, downloaded and enabled without leaving the desktop — no downloads or manual installation required. Open the Appearance pane of the Cinnamon Settings tool and select the ‘Online Themes’ tab to get started. - -Below are a handful of our favourite themes. - -- [**Android Holo**][2] — Android 4.x style theme -- [**Zukitwo**][3] — Sleek, stylish and light -- [**Minty**][4] — Dark theme with bold green accents -- [**Metro**][5] — Based on the visual style of Windows 8.x - -### Find Your Perfect Layout ### - -Unity may insist that its app launcher stay bolted firmly to the side of the screen, but Cinnamon has no such qualms about letting you rearrange the desktop layout to suit your own style. - -Panels can be added, edited and moved manually, or by selecting one of three preset layouts: - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/traditional.jpg) - -Open `Settings > Panel > Layout Options > Panel Layout` and select from one of the following: - -- Traditional – this is the default layout, with a panel at the bottom of the screen -- Flipped – like traditional, but with panel on top of the screen -- Classic – two panels, one at the top, one at the bottom - -You will need to log out or restart Cinnamon before your selected changes will take effect. - -### Add Panel Applets ### - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/weather-applet.png) - -Cinnamon embraces extensibility with the same gusto as GNOME Shell. A wealth of community add-ons and applets offering extra features and functionality, such as weather, system monitors and window management tools, are available to browse, install and enable straight form the desktop. - -Right click on the panel you wish to add an applet to and select ‘…Add Applets to the Panel‘. Some notable applets to check out: - -- [**Weather**][6] - does what it forecasts (ho ho) -- [**Stark Menu**][7] - Clone of the Windows 7 Start Menu -- [**Screenshot**][8] — Easy way to grab screenshots with delays - -### Change Date Format ### - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/applet.jpg) - -Cinnamon’s time and date applet is handy if, like me, you’re prone to never remembering the date. - -But it defaults to only showing the time in the 24 hour clock format. The good news is that we can tweak the time format of the clock applet fairly easily. - -Right click and select the ‘Configure’ option. In the settings window that appears tick the box listed beside “Use a custom date format“. Next, use an online generator tool to generate a date/time format suited to you, or use one of the presets listed below by copying and pasting the bit marked in bold: - -- **%B %e, %I:%M %p** (July 13, 7:19 PM) -- **%m/%d/%Y** (07/13/2014) -- **%l:%M %p** (7:19 PM) - -Changes are applied immediately, and if you make a mistake you can uncheck the custom date format option to return to the default settings. - -### Going Further ### - -These are just a handful of customisation choices available in Cinnamon, but we think they’re a good springboard for exploring more. Let us know what your favourite Cinnamon tweaks are in the comments section below, on Facebook or via Google+. - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/07/5-things-installing-cinnamon-ubuntu - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.omgubuntu.co.uk/2014/07/new-cinnamon-ubuntu-14-04-ppa-stable -[2]:http://cinnamon-spices.linuxmint.com/themes/view/122 -[3]:http://cinnamon-spices.linuxmint.com/themes/view/219 -[4]:http://cinnamon-spices.linuxmint.com/themes/view/25 -[5]:http://cinnamon-spices.linuxmint.com/themes/view/188 -[6]:http://cinnamon-spices.linuxmint.com/applets/view/17 -[7]:http://cinnamon-spices.linuxmint.com/applets/view/168 -[8]:http://cinnamon-spices.linuxmint.com/applets/view/35 From f0e5653c24b3e338b41578db38756cf99ed3fb63 Mon Sep 17 00:00:00 2001 From: wxy Date: Thu, 17 Jul 2014 23:27:28 +0800 Subject: [PATCH 145/291] PUB:20140623 Advanced Directory Navigations Tips and Tricks in Linux @ggaaooppeenngg --- ...ry Navigations Tips and Tricks in Linux.md | 97 +++++++++++++++++++ ...ry Navigations Tips and Tricks in Linux.md | 94 ------------------ 2 files changed, 97 insertions(+), 94 deletions(-) create mode 100644 published/20140623 Advanced Directory Navigations Tips and Tricks in Linux.md delete mode 100644 translated/tech/20140623 Advanced Directory Navigations Tips and Tricks in Linux.md diff --git a/published/20140623 Advanced Directory Navigations Tips and Tricks in Linux.md b/published/20140623 Advanced Directory Navigations Tips and Tricks in Linux.md new file mode 100644 index 0000000000..8fe22e65f4 --- /dev/null +++ b/published/20140623 Advanced Directory Navigations Tips and Tricks in Linux.md @@ -0,0 +1,97 @@ +Linux 目录导航技巧 +================================================================================ + +目录当行是命令行系统的基础概念.虽然不是什么难以理解的东西,但是知道一些技巧能够丰富你的经验并且提高工作效率.在这篇文章中,我们会讨论这些小技巧。 + +### 我们已经知道的东西 ### + +在开始高级技巧之前,有一些必须知道的基本命令: + +- ‘pwd’显示当前目录 +- ‘cd’ 改变当前目录 +- ‘cd’ 跟两个点(cd ..)能返回父目录 +- ‘cd’ 跟着相对目录就能直接切换当相对目录下 +- ‘cd’ 跟着绝对目录就能切换到绝对目录下 + +### 高阶技巧 ### + +这节将介绍几个技巧方便你进行目录的切换 + +### 从任何地方回到home目录 ### + +虽然使用‘cd /home/<你的主目录>’, 不是什么大麻烦, 但是有一种方法直接打‘cd’ 就能回到你的主目录. + +例子: + + $ pwd + /usr/include/netipx + $ cd + $ pwd + /home/himanshu + +所以无论你在哪个目录下,都能这么干,然后回到home目录。 + +**注意**- 如果要切换到某个其它的指定用户的目录下, 就使用 ‘cd ~user_name' + +### 用cd - 在目录间切换 ### + +假设你的当前工作目录是这样的: + + $ pwd + /home/himanshu/practice + +如果你想切换到 **/usr/bin/X11**, 然后又想回到之前的目录。 你会怎么做? 最直接的 : + + $ cd /usr/bin/X11 + $ cd /home/himanshu/practice/ + +虽然这样行得通,但是要记住这些复杂的目录就太笨了。这种情况下使用 ‘cd -’ 命令就行. + +使用 ‘cd -’的第一步和上面的例子是一样的, 你可以 cd 到你想要切换到的<路径>下,但是回到之前的目录用 ‘cd -’就可以。 + + $ cd /usr/bin/X11 + $ cd - + /home/himanshu/practice + $ pwd + /home/himanshu/practice + +如果你想再次回到刚刚访问的目录(在这个例子中是/usr/bin/X11),再使用'cd -'就可以。但是这个命令只会记住上一次访问的目录,这是一个缺点。 + +### 用 pushd 和 popd 来切换目录 ### + +![directory navigation](http://linoxide.com/wp-content/uploads/2014/06/pushd-popd.jpg) + +如果你对'cd -'非常了解了的话,你会发现这个命令只能帮助你在两个目录之间移动,但是很多场景下需要在很多目录之间切换。比如你要从A切换到B再到C然后又想回到A。 + +一般来说,你需要打出A的完整路径,但是如果这个路径非常复杂,将是非常烦人的一件事,特别是在你的切换非常频繁的话。 + +一些场景下可以使用 ‘pushd’ 还有 ‘popd’ 命令。 ‘pushd’ 将一个目录存到内存中,‘popd’ 将目录从内存中去除,并且转换到那个目录下。 + +例如: + + $ pushd . + /usr/include/netipx /usr/include/netipx + $ cd /etc/hp/ + $ cd /home/himanshu/practice/ + $ cd /media/ + $ popd + /usr/include/netipx + $ pwd + /usr/include/netipx + +使用‘pushd’ 命令存储当前的工作目录 (用 .表示), 然后切换到各种各样的目录去。为了返回之前的目录,只要使用 ‘popd’命令就行了。 + +(LCTT译注:显然,pushd和popd 是堆栈式操作,你可以push多个目录,然后逐一pop出来,自己试试吧。) +(LCTT译注:我们之前介绍的[autojump][1],更加智能,不过需要安装一下。) + +**注意**- 你也可以使用不带参数的 ‘pushd’ 来切换到之前存储的目录, 但是不会像 ‘popd’ 一样去除这个目录。 + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/directory-navigations-tips-tricks/ + +译者:[ggaaooppeenngg](https://github.com/ggaaooppeenngg) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://linux.cn/article-3401-1.html diff --git a/translated/tech/20140623 Advanced Directory Navigations Tips and Tricks in Linux.md b/translated/tech/20140623 Advanced Directory Navigations Tips and Tricks in Linux.md deleted file mode 100644 index 9eb2eb87fc..0000000000 --- a/translated/tech/20140623 Advanced Directory Navigations Tips and Tricks in Linux.md +++ /dev/null @@ -1,94 +0,0 @@ -Linux 高级目录导航技巧 -================================================================================ - -目录当行是命令行系统的基础概念.虽然不是什么难以理解的东西,但是知道一些技巧能够丰富你的经验并且提高工作效率.在这篇文章中,我们会讨论这些小技巧. - -### 我们已经知道的东西 ### - -在开始高级技巧之前,有一些必须知道的基本命令: - -- ‘pwd’显示当前目录 -- ‘cd’ 改变当前目录 -- ‘cd’ 跟两个点(cd ..)能返回父目录 -- ‘cd’ 跟着相对目录就能直接切换当相对目录下 -- ‘cd’ 跟着绝对目录就能切换到绝对目录下 - -### 高阶技巧 ### - -这节将介绍几个技巧方便你进行目录的切换 - -### 从任何地方回到home目录 ### - -虽然使用‘cd /home/’, 不是什么大麻烦, 但是有一种方法直接打‘cd’ 就能回到home目录. - -Here is an example : - - $ pwd - /usr/include/netipx - $ cd - $ pwd - /home/himanshu - -所以无论你在哪个目录下,都能这么干然后回到home目录. - -**注意**- 如果要切换到确定用户的目录下, 就使用 ‘cd ~user_name' - -### 用cd在目录间切换 - ### - -假设你的工作目录是这样的: - - $ pwd - /home/himanshu/practice - -如果你想切换到 **/usr/bin/X11**, 然后又想回到之前的目录. 你会怎么做? 最直接的 : - - $ cd /usr/bin/X11 - $ cd /home/himanshu/practice/ - -虽然这样行得通,但是要记住这些复杂的目录是个大困难.这种情况下使用 ‘cd -’ 命令就行. - -使用 ‘cd -’的第一步和上面的例子是一样的, 你可以 cd 到你想要切换到的下 , 但是回到之前的目录用 ‘cd -’就可以. - - $ cd /usr/bin/X11 - $ cd - - /home/himanshu/practice - $ pwd - /home/himanshu/practice - -如果你想回到最后访问的目录(在这个例子中是/usr/bin/X11),也使用'cd -'就可以.但是这个命令只会记住最后访问的目录,这是一个缺点. - -### 用 pushd 和 popd 来切换目录 ### - -![directory navigation](http://linoxide.com/wp-content/uploads/2014/06/pushd-popd.jpg) - - -如果你对'cd -'非常了解了的话,你会发现这个命令只能帮助你在两个目录之间移动,但是很多场景下需要在很多目录之间切换.比如你要从A切换到B再到C然后又想回到A. - -一般来说,你需要打出A的完整路劲,但是如果这个路径非常复杂,将是非常烦人的一件事,热别是你的切换非常频繁的话. - -一些场景下可以使用 ‘pushd’ 还有 ‘popd’ 命令. The ‘pushd’ 将一个目录存到内存中,‘popd’ 将目录从内存中去除,并且转换到那个目录下. - -例如 : - - $ pushd . - /usr/include/netipx /usr/include/netipx - $ cd /etc/hp/ - $ cd /home/himanshu/practice/ - $ cd /media/ - $ popd - /usr/include/netipx - $ pwd - /usr/include/netipx - -使用‘pushd’ 命令存储当前的工作目录 (用 .表示), 然后切换到各种各样的目录去. 为了返回之前的目录 ,只要使用 ‘popd’命令就行了. -使用 - -**注意**- 你也可以使用 ‘pushd’ 来切换到之前存储的目录, 但是不会像 ‘popd’ 一样去除这个目录. - --------------------------------------------------------------------------------- - -via: http://linoxide.com/linux-command/directory-navigations-tips-tricks/ - -译者:[ggaaooppeenngg](https://github.com/ggaaooppeenngg) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 478db403a1ee5d502505f45241444b1ad1189534 Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Fri, 18 Jul 2014 09:35:58 +0800 Subject: [PATCH 146/291] [translated] Joy of Programming--Fail Fast --- .../20140626 Joy of Programming--Fail Fast.md | 59 ------------------- .../20140626 Joy of Programming--Fail Fast.md | 58 ++++++++++++++++++ 2 files changed, 58 insertions(+), 59 deletions(-) delete mode 100644 sources/talk/20140626 Joy of Programming--Fail Fast.md create mode 100644 translated/talk/20140626 Joy of Programming--Fail Fast.md diff --git a/sources/talk/20140626 Joy of Programming--Fail Fast.md b/sources/talk/20140626 Joy of Programming--Fail Fast.md deleted file mode 100644 index 3d29d5028a..0000000000 --- a/sources/talk/20140626 Joy of Programming--Fail Fast.md +++ /dev/null @@ -1,59 +0,0 @@ -zpl1025 -Joy of Programming: Fail Fast! -================================================================================ -![](http://www.opensourceforu.com/wp-content/uploads/2011/12/fail-350x262.jpg) - -> When a problem occurs in the software, it should fail immediately, in an easily noticeable way. This “fail fast” behaviour is desirable, and we’ll discuss this important concept in this column. - -At first, a “fail fast” might appear to be a bad practice affecting reliability — why should a system crash (or fail), when it can continue execution? For this, we need to understand that fail fast is very relevant in the context of Heisenbugs. - -Consider Bohrbugs, which always crash for a given input, for example, with a null-pointer access. These bugs are easier to test, reproduce and fix. Now, all experienced programmers would have faced situations where the bug that caused the crash just disappears when the software is restarted. No matter how much time and effort is spent to reproduce the problem, the bug eludes us. These bugs are known as Heisenbugs. - -The effort required to find, fix and test Heisenbugs is an order of magnitude more than the effort required for Bohrbugs. One strategy to avoid Heisenbugs is to turn them into Bohrbugs. How? By anticipating the possible cases in which Heisenbugs can arise, and trying to make them Bohrbugs. Yes, it is not easy, and it is also not always possible, but let us look at a specific example where it is useful. - -Concurrent programming is one paradigm where Heisenbugs are common. Our example is a concurrency-related issue in Java. While iterating over a Java collection, we are supposed to modify the collection only through the Iterator methods, such as the remove() method. During iteration, if another thread attempts to modify that underlying collection (because of a programming mistake), the underlying collection will get corrupted (i.e., result in an incorrect state). - -Such an incorrect state can lead to an eventual failure — or if we are fortunate (actually, unfortunate!), the program continues execution without crashing, but gives the wrong results. It is difficult to reproduce and fix these bugs, because such programming mistakes are non-deterministic. In other words, it is a Heisenbug. - -Fortunately, the Java Iterators try to detect such concurrent modifications, and if found, will throw a `ConcurrentModificationException`, instead of failing late — and that too, silently. In other words, the Java Iterators follow the “fail fast” approach. - -What if a `ConcurrentModificationException` is observed in production software? As the Javadoc for this exception observes, it “…should be used only to detect bugs.” In other words, `ConcurrentModificationExceptions` are supposed to be found and fixed during software development, and should not leak to production code. - -Well, if production software does get this exception, it is certainly a bug in the software, and should be reported to the developer and fixed. At least, we know that there was an attempt for concurrent modification of the underlying data structure, and that’s why the software failed (instead of getting wrong results from the software, or failing later with some other symptoms, for which it is not feasible to trace the root cause). - -The “fail-safe” approach is meant for developing robust code. A very good example of writing fail-safe code is using assertions. Unfortunately, there is a lot of unnecessary controversy surrounding the use of asserts. The main criticism is this: the checks are enabled in the development version, and disabled in release versions. - -However, this criticism is wrong: asserts are never meant to replace the defensive checks that should be put in place in the release version of the software. For example, asserts should not be used to check if the argument passed to a function is null or not. Instead, an if condition should be used to check if the argument is passed correctly, or else an exception, or a premature return, should be performed, as appropriate to the context. However, asserts can be used to do additional checks for assumptions that are made in the code, which are supposed to hold true. For example, a condition that checks that the stack is not empty after a push operation is performed on it (i.e., checking for “invariants”). - -So, fail fast, be assertive, and you’re on the way to developing more robust code. - - - --------------------------------------------------------------------------------- - -via:http://www.opensourceforu.com/2011/12/joy-of-programming-fail-fast/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]: -[2]: -[3]: -[4]: -[5]: -[6]: -[7]: -[8]: -[9]: -[10]: -[11]: -[12]: -[13]: -[14]: -[15]: -[16]: -[17]: -[18]: -[19]: -[20]: diff --git a/translated/talk/20140626 Joy of Programming--Fail Fast.md b/translated/talk/20140626 Joy of Programming--Fail Fast.md new file mode 100644 index 0000000000..3ec8029a61 --- /dev/null +++ b/translated/talk/20140626 Joy of Programming--Fail Fast.md @@ -0,0 +1,58 @@ +编程的乐趣:快速出错! +================================================================================ +![](http://www.opensourceforu.com/wp-content/uploads/2011/12/fail-350x262.jpg) + +> 当软件出现问题的时候,它应该以一种能引起注意的方式马上终止。这种“快速出错”的方式值得借鉴,我们会在这期专栏里谈谈这个重要的概念。 + +一开始,“快速出错”看上去是一种会影响可靠性的不好的实践-为什么一个系统在还可以继续运行的时候要崩溃(或者说终止)?对于这个,我们需要理解,快速出错是和Heisenbugs(对于不能复现bug的一种称呼)紧密联系在一起的。 + +考虑一下Bohrbugs(对于能够重现的bug的一种称呼),它们在给定输入的时候总是会出现,比如,访问空指针。这类问题很容易测试,复现并修复。如今,所有有经验的程序员应该都面对过这样的情形,导致崩溃的bug在重启软件后不再出现了。不管花多少时间或努力去重现问题,那个bug就是跟我们捉迷藏。这种bug被称为Heisenbugs。 + +花在寻找,修复和测试Heisenbugs上的努力比起Bohrbugs来说,要高出一个数量级。一种避免Heisenbugs的策略是将它们转化为Bohrbugs。怎么做呢?预测可能导致Heisenbugs的因素,然后尝试将它们变成Bohrbugs。是的,这并不简单,而且也并不是一定就能成功,但是让我们来看一个能产生效果的特殊例子。 + +并发编程是Heisenbugs经常出现的一个典范。我们的例子就是一个Java里和并发相关的问题。在遍历一个Java集合的时候,一般要求只能通过Iterator的方法,比如remove()方法。而当遍历的时候,如果有另一个线程尝试修改底层集合(因为编程时留下的错误),那么底层集合就可能会被破坏(例如,导致不正确的状态)。 + +类似这种不正确的状态会导致不确定的错误-假如我们幸运的话(实际上,这很不幸!),程序可以继续执行而不会崩溃,但是却给出错误的结果。这种bug很难重现和修复,因为这一类的程序错误都是不确定的。换句话说,这是个Heisenbug。 + +幸运的是,Java Iterators会尝试侦测这种并发修改,在发现了以后,会丢出异常`ConcurrentModificationException`,而不是等到最后再出错-那样也是没有任何迹象的。换句话说,Java Iterators也遵从了“快速出错”的方法。 + +如果异常`ConcurrentModificationException`在正式软件中发生了呢?根据在Javadoc里对这个异常的说明,它“只应该用于侦测bug”。换句话说,`ConcurrentModificationException`只应该在开发阶段监听和修复,而不应该泄漏到正式代码中。 + +好吧,如果正式软件确实发生了这个异常,那它当然是软件中的bug,应当报告给开发者并修复。至少,我们能够知道发生了一次底层数据结构的并发修改,而这是软件出错的原因(而不是让软件产生错误的结果,或是以其他现象延后出错,这样就很难跟踪到根本原因)。 + +“安全出错”的方法意味着开发健壮的代码。一个很好的编写安全出错代码的例子就是使用断言。很可惜的是,关于断言的使用有大量不必要的公开争论。其中主要的批评点是:它在开发版本中使用,而在发布版中却被关掉的。 + +不管怎么样,这个批评是错误的:从来没有说用断言来替代应该放到发布版软件中的防御式检查代码。例如,断言不应该用来检查传递给函数的参数是否为空。相应的,应该用一个if语句来检查这个参数是否正确,否则的话抛出异常,或是提前返回,来适合上下文。然而,断言一般用于额外检查代码中所做出的假设,它们应该为真才正常。例如,用一个语句来检查在进行了入栈操作后,栈应该不是空的(例如,对“不变量”的检查)。 + +所以,快速出错,随时中断,那么你已经走在开发更加健壮代码的道路上了。 + + + +-------------------------------------------------------------------------------- + +via:http://www.opensourceforu.com/2011/12/joy-of-programming-fail-fast/ + +译者:[zpl1025](https://github.com/zpl1025) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]: +[2]: +[3]: +[4]: +[5]: +[6]: +[7]: +[8]: +[9]: +[10]: +[11]: +[12]: +[13]: +[14]: +[15]: +[16]: +[17]: +[18]: +[19]: +[20]: From 05b08f4e94eb86a2d63e0d43daca3b0912367df1 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Fri, 18 Jul 2014 15:56:35 +0800 Subject: [PATCH 147/291] =?UTF-8?q?20140718-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ntrol System Now Available for Download.md | 32 +++++++++++++ ...1.0 RPG Remake Is Already Looking Great.md | 46 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md create mode 100644 sources/news/20140718 OpenMorrowind 0.31.0 RPG Remake Is Already Looking Great.md diff --git a/sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md b/sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md new file mode 100644 index 0000000000..062b9565d6 --- /dev/null +++ b/sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md @@ -0,0 +1,32 @@ +Git 2.0.2 Version Control System Now Available for Download +================================================================================ +![](http://i1-news.softpedia-static.com/images/news2/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147-2.jpg) + +**Git 2.0.2, a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency, has been officially released.** + +The new Git 2.0.x branch continues the trend of large releases, integrating a big number of changes and fixes. This latest update may be just a maintenance one, but it does feature some interesting modifications. + +According to the developers, the documentation for the "git submodule sync" mentions that the subcommand can take the "--recursive" option, the mishandling of patterns in .gitignore that had trailing SPs quoted with backslashes has been corrected, and the Recent updates to "git repack" no longer duplicate objects that are in the packfiles marked with .keep flag by mistake. + +Also, "git clone -b brefs/tags/bar" no longer thinks that git follows a single tag, even though it was a name of the branch, "%G" (nothing after G) is an invalid pretty format specifier and now the parser knows that it's garbage, the code used to avoid adding the same alternate object store twice has been fixed, and a couple of other fixes have been implemented. + +For a complete list of changes, check out the [changelog][1]. + +Download Git 2.0.2: + +- [tar.gz][1][sources] [4.70 MB] +- [Debian/Ubuntu DEB ALL][2][ubuntu_deb] [0 KB] +- [Red Hat/Fedora/Mandriva/openSUSE RPM noarch][3][rh_rpm] [0 KB] + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://github.com/git/git/blob/master/Documentation/RelNotes/2.0.2.txt +[2]:https://github.com/git/git/archive/v2.0.2.tar.gz +[3]:http://git-scm.com/download/linux +[4]:http://git-scm.com/download/linux \ No newline at end of file diff --git a/sources/news/20140718 OpenMorrowind 0.31.0 RPG Remake Is Already Looking Great.md b/sources/news/20140718 OpenMorrowind 0.31.0 RPG Remake Is Already Looking Great.md new file mode 100644 index 0000000000..b3202309a9 --- /dev/null +++ b/sources/news/20140718 OpenMorrowind 0.31.0 RPG Remake Is Already Looking Great.md @@ -0,0 +1,46 @@ +OpenMorrowind 0.31.0 RPG Remake Is Already Looking Great +================================================================================ +![](http://i1-news.softpedia-static.com/images/news2/OpenMorrowind-0-31-0-RPG-Remake-Is-Already-Looking-Great-451120-2.jpg) + +**OpenMW, an open source implementation of The Elder Scrolls 3: Morrowind game engine and functionality, is now at version 0.31.0 and packs lots of new features.** + +OpenMW, or OpenMorrowind, is a project that aims to bring one of best role-playing games ever created into the open source world, but not by simple porting. The makers of this title have been working non-stop in the last months and it seems that the game is really starting to take shape. + +Half a year ago, players couldn't do much in OpenMW, but now a lot of features have been integrated, and it's almost playable if you don't expect too much. Even with all the changes in place, the version number indicates that the development is moving rather slowly and numerous problems still remain. It will take a long time until the game reaches a stable version, but when it gets there, it's going to be an awesome RPG. + +“The OpenMW team is proud to announce the release of version 0.31.0! This release includes implementation of many smaller features that have been sorely missing, as well fixes for a ridiculous amount of bugs. Many thanks to our developers for their relentless attention to detail. Some optimization has made it into this release, let us know if you see any increased performance,” reads the announcement on the official website. + +A number of important changes have been made and lots of new stuff has been added. For example, a periodic cleanup/refill has been added, precipitation and weather particles are now ready in the engine, the dialog has been merged, saving missing creature state is now working properly, the murder crime has been implemented, a number of sneak skill enhancements have been added, and animated main menu support has been implemented. + +Also, the clouds and weather have been modified to better match vanilla Morrowind, the background tracks are no longer repeating, the dead body collision behavior has been improved, and lots of other fixes have been implemented. + +A complete list of changes and new features can be found in the official [announcement][1]. Users must legally own and install the game before they can use OpenMW – as it is intended – to play Morrowind. + +Download OpenMW 0.31.0: + +- [tar.gz][2][sources] [3.20 MB] +- [tar.gz (64-bit)][3][binary] [33.40 MB] +- [tar.gz (32-bit)][4][binary] [33.10 MB] +- [Ubuntu PPA Repository][5][ubuntu_deb] [0 KB] +- [Arch Linux Package][6][binary] [0 KB] +- [Debian PPA Repository][7][debian_deb] [0 KB] + +OpenMW aims to be a full-featured reimplementation of the Morrowind engine capable to work natively on all supported platforms and to support all existing content, including Tribunal, Bloodmoon, and all user-created mods. + +Keep in mind that this is not a stable version and bugs might still appear. + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/OpenMorrowind-0-31-0-RPG-Remake-Is-Already-Looking-Great-451120.shtml + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://openmw.org/2014/openmw-0-31-0/ +[2]:https://github.com/OpenMW/openmw/archive/openmw-0.31.0.tar.gz +[3]:https://github.com/OpenMW/openmw/releases/download/openmw-0.31.0/openmw-0.31.0-Linux-64Bit.tar.gz +[4]:https://github.com/OpenMW/openmw/releases/download/openmw-0.31.0/openmw-0.31.0-Linux.tar.gz +[5]:https://launchpad.net/~openmw/+archive/openmw +[6]:https://aur.archlinux.org/packages/?O=0&K=openmw +[7]:http://forum.openmw.org/viewtopic.php?f=20&t=1298 \ No newline at end of file From c01cfdb395cfd46843792062581ae516039bb24d Mon Sep 17 00:00:00 2001 From: DeadFire Date: Fri, 18 Jul 2014 16:20:13 +0800 Subject: [PATCH 148/291] =?UTF-8?q?20140718-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...pgrade--Ubuntu 13.10 Support Ends Today.md | 37 +++++++++++++ ... Song Lyrics On Desktop In Ubuntu 14.04.md | 55 +++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md create mode 100644 sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md diff --git a/sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md b/sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md new file mode 100644 index 0000000000..22fa2adcaa --- /dev/null +++ b/sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md @@ -0,0 +1,37 @@ +Time to Upgrade: Ubuntu 13.10 Support Ends Today +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/04/upgrade-available.jpg) + +**It’s had a fair old run, but after 9 months basking in the sun today marks the end of official support for Ubuntu 13.10 ‘Saucy Salamander’.** + +> Despite the name ‘Saucy’, the changes on offer were rather bland + +Those still running it should look at upgrading to the most recent stable release, Ubuntu 14.04 LTS. Launched back in April, it will be supported with updates on the desktop all the way until mid-April 2019. + +Support for the server version of Ubuntu 13.10 also formally ends today. + +### Saucy Loses Flavour ### + +Ubuntu 13.10 came out last October with Canonical pledging to provide a full 9 months of ongoing security and bug fixes on the desktop. As of July 17 these updates will cease and no further updates or backported packages will be provided. + +Canonical’s [recommended upgrade path][1] is to 14.04, a transition that can be handled directly on the desktop itself through the Software Updater application or via the command line through the ‘`do-release-upgrade`‘ command. + +Saucy in name, but bland in nature, 13.10 is far from being one of Ubuntu’s more remarkable releases — [as evidenced by many of the online reviews at the time][2]. + +It was, however, notable for inflicting(注:这个单词原文有删除线) introducing Smart Scopes to the Unity Dash, adding a keyboard indicator for faster language layout switching, and being the first release to integrate `Ubuntu One Single Sign-on` into the installation experience. + +For a natty visual rundown of all that debuted with it you can watch the compilation video below. + +Youtobe 视频地址:[http://www.youtube.com/embed/1EiRQ-znEcI?feature=oembed][3] + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/ubuntu-13-10-support-ends-today + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://help.ubuntu.com/community/TrustyUpgrades +[2]:http://www.omgubuntu.co.uk/2013/10/ubuntu-13-10-press-reaction +[3]:http://www.youtube.com/embed/1EiRQ-znEcI?feature=oembed \ No newline at end of file diff --git a/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md b/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md new file mode 100644 index 0000000000..bf7ceb80d8 --- /dev/null +++ b/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md @@ -0,0 +1,55 @@ +Display Song Lyrics On Desktop In Ubuntu 14.04 +================================================================================ +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/display_lyrics_desktop_Ubuntu.jpeg) + +Apart from free streaming music, what I like the most in [Spotify][1] is its lyrics plugin. At times I don’t understand all of the words of the song, specially if it’s rap. [TuneWiki][2] plugin comes handy in this case. While TuneWiki has plugins for Windows Media Player and iTune, what options do we have on desktop Linux? + +If you have been using desktop Linux for sometime, you might have heard of [OSD Lyrics][3]. It is a small application that **displays song lyrics on the desktop**. You can use it with several audio players such as Rythmbox, [Banshee][4], [Clementine][5] etc. + +### Install OSD Lyrics in Ubuntu 14.04 and Linux Mint 17 ### + +OSD Lyrics was actively maintained through its official PPA about 2 years back. There is no development anymore. While the PPA is no longer usable, the executables (.deb) can be downloaded from the website. Though these executables are originally for Ubuntu 12.04 Precise Pangolin, these files work very well in Ubuntu 14.04 also. Let’s see **how to install OSD Lyrics in Ubuntu 14.04 and Linux Mint 17**. + +Go to the [download page of OSD Lyrics][6]. Get the .deb files depending upon [whether you are using 32 bit or 64 bit Ubuntu][7]. You will find the files on the top. + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Download.jpeg) + +Once downloaded, just double click on it to install it via Ubuntu Software Center. Alternatively, you can [use Gdebi to quickly install .deb packages][8]. + +### How to display lyrics in Ubuntu and Linux Mint using OSD Lyrics ### + +Once installed, you can run OSD Lyrics from the Unity Dash: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Open_OSD_Lyrics_Ubuntu.jpeg) + +On the first run, it will detect the existing players which are compatible with OSD Lyrics. You can set a default player which will be opened automatically each time you start OSD Lyrics. + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Default_Player.jpeg) + +One thing to note is that unlike [Shazam][9] etc, OSD Lyrics doesn’t find the lyrics from the audio, rather it uses the information linked to the music files such as name, album, artist etc. So make sure that you have music files from “respectable sources” or keep the file information correct and updated. + +If it recognizes the music files, it will display the lyrics on the desktop in Karaoke format: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Dsiplay_Lyrics_Ubuntu.jpeg) + +There are plenty of configuration options available with OSD Lyrics. You can change the font, size behavior of the lyrics display among many other things. + +How do you like OSD Lyrics? Do you use some other Lyrics plugin? Do share your views with rest of us. + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/display-song-lyrics-desktop-ubuntu-1404/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://itsfoss.com/install-spotify-ubuntu-1404/ +[2]:http://www.tunewiki.com/ +[3]:https://code.google.com/p/osd-lyrics +[4]:http://banshee.fm/ +[5]:https://www.clementine-player.org/ +[6]:https://code.google.com/p/osd-lyrics/downloads/list +[7]:http://itsfoss.com/how-to-know-ubuntu-unity-version/ +[8]:http://itsfoss.com/install-deb-files-easily-and-quickly-in-ubuntu-12-10-quick-tip/ +[9]:http://www.shazam.com/ \ No newline at end of file From 7cb7cfbddf46870e5861dc6d8920222438e554d7 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Fri, 18 Jul 2014 16:34:03 +0800 Subject: [PATCH 149/291] =?UTF-8?q?20140718-3=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n Ubuntu--Install the Official Web Apps.md | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md diff --git a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md new file mode 100644 index 0000000000..4bc74cb38c --- /dev/null +++ b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md @@ -0,0 +1,57 @@ +Need Microsoft Office on Ubuntu? Install the Official Web Apps +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) + +**It’s not everyone’s cup of joe, but Microsoft Office and its family of finicky file formats are a mainstay of many working and educational environments — for better or worse.** + +Reading, editing and saving to these proprietary formats is sort of possible on Ubuntu using the [LibreOffice suite of apps][1]. Writer, Calc and Impress all boast varying degrees of Microsoft Office file interoperability, though in my own real world experience (thankfully brief) it’s not perfect. + +For the times you can’t go without using Office file formats (as ideological as most of us are about open standards, we shouldn’t be blind to practicalities) but you’ve no desire to purchase a full MS Office licence to run through WINE, the official set of Microsoft Office Online web apps are the perfect answer. + +### Install Microsoft Office Online Apps in Ubuntu ### + +To make accessing these online versions easier from the Ubuntu desktop, the ‘Linux Web Apps project’ has created a small, unofficial installer that adds web app shortcuts (“glorified bookmarks”) to your application launcher. + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/microsoft-office-web-apps.jpg) + +These are nothing more fancy than shortcuts to the respective Microsoft web app that opens in your default system browser. Sound nifty? You get application shortcuts for: + +- Word +- Excel +- PowerPoint +- Outlook +- OneDrive +- Calendar +- OneNote +- People + +The package also creates a new application category housing the links, letting you view the shortcuts separately from other applications as well as under the regular “office” apps directory. + +Are these essential? Not really. Are they useful? Depends on your workflow. But is it nice to have the option? For sure. + +You can grab the .deb installer containing the links from the link below and is suitable for Ubuntu 14.04 LTS and later. + +- [Download Microsoft Office Web Apps (.deb)][2] + +### Other Alternatives ### + +![](http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/04/Screen-Shot-2014-04-15-at-15.29.35-350x200.png) + +A similar alternative is to [install the official Office Online web applications from the Chrome Web Store][3], then add the app launcher to Linux. This will still create launchable shortcuts for them in the Dash, but ones that can be set to open in their own window frames and forgo the need to install any third-party packages. + +Similarly, Google recently folded in full Office capabilities (thanks to its purchase of QuickOffice) [into its own Docs, Slides and Sheets applications][4], retired the QuickOffice Android application and rebranded the companion Chrome extension. + +If you’re a heavy Google Drive/Docs user, this may be the better solution for you. + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-desktop + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.libreoffice.org/ +[2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing +[3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ +[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ \ No newline at end of file From 7a224204e954498c6ba7444d0a20a36a687ad540 Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Fri, 18 Jul 2014 17:02:34 +0800 Subject: [PATCH 150/291] finish translate --- ...ependencies on Fedora or CentOS or RHEL.md | 92 --------------- ...ependencies on Fedora or CentOS or RHEL.md | 111 ++++++++++++++++++ 2 files changed, 111 insertions(+), 92 deletions(-) delete mode 100644 sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md create mode 100644 translated/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md diff --git a/sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md b/sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md deleted file mode 100644 index 29a19f3f1d..0000000000 --- a/sources/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md +++ /dev/null @@ -1,92 +0,0 @@ -nd0104 is translate -How to check RPM package dependencies on Fedora, CentOS or RHEL -================================================================================ -A typical RPM package on Red Hat-based systems requires all its dependent packages be installed to function properly. For end users, the complexity of such RPM dependency is hidden by package managers (e.g., yum or DNF) during package install/upgrade/removal process. However, if you are a sysadmin or a RPM maintainer, you need to be well-versed in RPM dependencies to maintain run-time environment for the system or roll out up-to-date RPM specs. - -In this tutorial, I am going to show **how to check RPM package dependencies**. Depending on whether a package is installed or not, there are several ways to identify its RPM dependencies. - -### Method One ### - -One way to find out RPM dependencies for a particular package is to use rpm command. The following command lists all dependent packages for a target package. - - $ rpm -qR - -![](https://farm6.staticflickr.com/5512/14659620723_4a36970efc_o.png) - -Note that this command will work only if the target package is already **installed**. If you want to check package dependencies for any **uninstalled** package, you first need to download the RPM package locally (no need to install it). - -To download a RPM package without installing it, use a command-line utility called `yumdownloader`. Install yumdownloader as follows. - - $ sudo yum install yum-utils - -Now let's check RPM depenencies of a uninstalled package (e.g., tcpdump). First download the package in the current folder with yumdownloader: - - $ yumdownloader --destdir=. tcpdump - -Then use rpm command with "-qpR" options to list dependencies of the downloaded package. - - # rpm -qpR tcpdump-4.4.0-2.fc19.i686.rpm - -### Method Two ### - -You can also get a list of dependencies for a RPM package using repoquery tool. repoquery works whether or not a target package is installed. This tool is included in yum-utils package. - - $ sudo yum install yum-utils - -To show all required packages for a particular package: - - $ repoquery --requires --resolve - -![](https://farm3.staticflickr.com/2935/14453103778_05db349b19_o.png) - -For repoquery to work, your computer needs network connectivity since repoquery pulls information from Yum repositories. - -### Method Three ### - -The third method to show RPM package dependencies is to use rpmreaper tool. Originally this tool is developed to clean up unnecessary packages and their dependencies on RPM-based systems. rpmreaper has an ncurses-based intuitive interface for browsing installed packages and their dependency trees. - -To install rpmrepater, use yum command. On CentOS, you need to [set up EPEL repo][1] first. - - $ sudo yum install rpmreaper - -To browser RPM dependency trees, simply run: - - $ rpmreaper - -![](https://farm4.staticflickr.com/3838/14636456131_99a3c26945_z.jpg) - -The rpmrepater interface will show you a list of all installed packages. You can navigate the list using up/down arrow keys. Press "r" on a highlighted package to show its dependencies. You can expand the whole dependency tree by recursively pressing "r" keys on individual dependent packages. The "L" flag indicates that a given package is a "leaf", meaning that no other package depends on this package. The "o" flag implies that a given package is in the middle of dependency chain. Pressing "b" on such a package will show you what other packages require the highlighted package. - -### Method Four ### - -Another way to show package dependencies on RPM-based systems is to use rpmdep which is a command-line tool for generating a full package dependency graph of any installed RPM package. The tool analyzes RPM dependencies, and produce partially ordered package lists from topological sorting. The output of this tool can be fed into dotty graph visualization tool to generate a dependency graph image. - -To install rpmdep and dotty on Fedora: - - $ sudo yum install rpmorphan graphviz - -To install the same tools on CentOS: - - $ wget http://downloads.sourceforge.net/project/rpmorphan/rpmorphan/1.14/rpmorphan-1.14-1.noarch.rpm - $ sudo rpm -ivh rpmorphan-1.14-1.noarch.rpm - $ sudo yum install graphviz - -To generate and plot a dependency graph of a particular installed package (e.g., gzip): - - $ rpmdep.pl -dot gzip.dot gzip - $ dot -Tpng -o output.png gzip.dot - -![](https://farm4.staticflickr.com/3918/14453050980_53de4e8277_z.jpg) - -So far in this tutorial, I demonstrate several ways to check what other packages a given RPM package relies on. If you want to know more about .deb package dependencies for Debian-based systems, you can refer to [this guide][2] instead. - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2014/07/check-rpm-package-dependencies-fedora-centos-rhel.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html -[2]:http://xmodulo.com/2013/07/how-to-check-package-dependencies-on-ubuntu-or-debian.html diff --git a/translated/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md b/translated/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md new file mode 100644 index 0000000000..c15bd5fdac --- /dev/null +++ b/translated/tech/20140716 How to check RPM package dependencies on Fedora or CentOS or RHEL.md @@ -0,0 +1,111 @@ +How to check RPM package dependencies on Fedora, CentOS or RHEL +教你如何在Fedora,CentOS,RHEL中检查RPM包的依赖性 +================================================================================ +A typical RPM package on Red Hat-based systems requires all its dependent packages be installed to function properly. +For end users, the complexity of such RPM dependency is hidden by package managers (e.g., yum or DNF) during package install/upgrade/removal process. However, if you are a sysadmin or a RPM maintainer, you need to be well-versed in RPM dependencies to maintain run-time environment for the system or roll out up-to-date RPM specs. +我们都知道,在基于红帽的Linux系统中,一个RPM包,需要把先将它依赖的其他包安装好才能正常的工作。对于终端用户,RPM的安装、更新、删除中存在的依赖关系已经被工具透明化了(如 yum或 DNF等)。但如果你是系统管理员或者RPM包的管理员,你需要对RPM包中存在的依赖关系以及时更新、删除适当的包来保证系统的正常运行。 +In this tutorial, I am going to show **how to check RPM package dependencies**. Depending on whether a package is installed or not, there are several ways to identify its RPM dependencies. +在本教程中,我将教大家**如何检查RPM包的依赖关系**无论这个包是否已经安装进操作系统中,我们都有一些办法来检查它们的依赖性。 +### Method One ### +### 方法一 ### +One way to find out RPM dependencies for a particular package is to use rpm command. The following command lists all dependent packages for a target package. +使用RPM命令可以列出目标包所依赖的所有包,如下: + $ rpm -qR + +![](https://farm6.staticflickr.com/5512/14659620723_4a36970efc_o.png) + +Note that this command will work only if the target package is already **installed**. If you want to check package dependencies for any **uninstalled** package, you first need to download the RPM package locally (no need to install it). +注意,这种方法只适用于**已安装**的包。如果你需要检查一个**未安装**包的依赖关系,你需要把这个包先下载到本地来。 +To download a RPM package without installing it, use a command-line utility called `yumdownloader`. Install yumdownloader as follows. +对于已在本地但未安装的包,可以使用叫做'yumdownloader'的工具,下面我们先安装yumdownloader: + $ sudo yum install yum-utils + +Now let's check RPM depenencies of a uninstalled package (e.g., tcpdump). First download the package in the current folder with yumdownloader: +现在我们来检查一个未安装的RPM包的依赖关系(本列使用 tcpdump)。首先,我们使用yumdownloader把tcpdump的RPM包下载下来 + $ yumdownloader --destdir=. tcpdump + +Then use rpm command with "-qpR" options to list dependencies of the downloaded package. +然后再使用 "-qpR"参数显示该包的依赖关系。 + # rpm -qpR tcpdump-4.4.0-2.fc19.i686.rpm + +### Method Two ### +### 方法二 ### +You can also get a list of dependencies for a RPM package using repoquery tool. repoquery works whether or not a target package is installed. This tool is included in yum-utils package. +你可以使用repoquery工具来罗列包的依赖关系,这个工具包含在yum-utils中。 + $ sudo yum install yum-utils + +To show all required packages for a particular package: +显示目标包所依赖的包: + $ repoquery --requires --resolve + +![](https://farm3.staticflickr.com/2935/14453103778_05db349b19_o.png) + +For repoquery to work, your computer needs network connectivity since repoquery pulls information from Yum repositories. +为让repoquery正常的工作,需要保持网络的畅通,应为repoquery需要在Yum库中查找信息。 +### Method Three ### +### 方法三 ### +The third method to show RPM package dependencies is to use rpmreaper tool. +Originally this tool is developed to clean up unnecessary packages and their dependencies on RPM-based systems. +rpmreaper has an ncurses-based intuitive interface for browsing installed packages and their dependency trees. +第三个方法是使用rpmreaper工具。这个工具本来是用作清理系统中无用以及它们所依赖的包,rpmreaper有很直观的界面来展示已安装的包和它们依赖关系的树形图。 +To install rpmrepater, use yum command. On CentOS, you need to [set up EPEL repo][1] first. +安装rpmrepater,在CentOS中,你需要先[设置好EPEL库][1] + $ sudo yum install rpmreaper + +To browser RPM dependency trees, simply run: +只需运行rpmreaper就可以看到RPM包的依赖关系: + $ rpmreaper + +![](https://farm4.staticflickr.com/3838/14636456131_99a3c26945_z.jpg) + +The rpmrepater interface will show you a list of all installed packages. You can navigate the list using up/down arrow keys. + Press "r" on a highlighted package to show its dependencies. + You can expand the whole dependency tree by recursively pressing "r" keys on individual dependent packages. + The "L" flag indicates that a given package is a "leaf", meaning that no other package depends on this package. + The "o" flag implies that a given package is in the middle of dependency chain. + Pressing "b" on such a package will show you what other packages require the highlighted package. +rpmrepater会向用户显示已安装包的列表,你可以使用上/下箭头来滚动屏幕。 +你可以在指定包上使用"r"键来显示其依赖关系,循环在指定包上按下"r"键可以展示出余下的信息。 +"L"标志的意思是说这个包是一片“孤叶”,意思说说没有任何包依赖它。 +"o"标志是说这个包是整个依赖链的中间部分。 +按下"b"键会显示其他依赖于该包的其他包。 +### Method Four ### +### 方法四 ### +Another way to show package dependencies on RPM-based systems +is to use rpmdep which is a command-line tool for generating a full package dependency graph of +any installed RPM package. The tool analyzes RPM dependencies, and produce partially ordered package lists from +topological sorting. The output of this tool can be fed into dotty graph visualization tool +to generate a dependency graph image. +还有一个办法是使用rpmdep工具,rpmdep是一个命令行工具,可以显示已安装包的完整包依赖关系图。该工具会分析RPM包的依赖性,从完整的排完序 +的拓扑图中摘取部分包的信息,形成列表展示给用户。该工具的输出结果可以直接使用到Dotty(可视化展示工具)中去。 +To install rpmdep and dotty on Fedora: +在Fedora中安装rpmdep和dotty: + $ sudo yum install rpmorphan graphviz + +To install the same tools on CentOS: +在CentOs中安装: + $ wget http://downloads.sourceforge.net/project/rpmorphan/rpmorphan/1.14/rpmorphan-1.14-1.noarch.rpm + $ sudo rpm -ivh rpmorphan-1.14-1.noarch.rpm + $ sudo yum install graphviz + +To generate and plot a dependency graph of a particular installed package (e.g., gzip): +生成包依赖的拓扑关系图: + $ rpmdep.pl -dot gzip.dot gzip + $ dot -Tpng -o output.png gzip.dot + +![](https://farm4.staticflickr.com/3918/14453050980_53de4e8277_z.jpg) + +So far in this tutorial, I demonstrate several ways to check what other packages a given RPM package relies on. +If you want to know more about .deb package dependencies for Debian-based systems, +you can refer to [this guide][2] instead. +教程到这个地方,我们用到了几种办法来检查包的依赖关系。如果您想知道如何在居于Debian的系统中检查.deb的包依赖关系,请阅读另外一篇[文档][2] +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/check-rpm-package-dependencies-fedora-centos-rhel.html + +译者:[nd0104](https://github.com/nd0104) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html +[2]:http://xmodulo.com/2013/07/how-to-check-package-dependencies-on-ubuntu-or-debian.html From 7355ae4642787478c42835a38bd794a67c8c9b04 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Fri, 18 Jul 2014 17:37:23 +0800 Subject: [PATCH 151/291] =?UTF-8?q?20140718-4=20=E9=80=89=E9=A2=98=20Linux?= =?UTF-8?q?=20Kernel=20Testing=20and=20Debugging=20=E6=96=87=E7=AB=A0?= =?UTF-8?q?=EF=BC=8C=E5=85=B1=E5=85=AD=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...18 Linux Kernel Testing and Debugging 1.md | 76 ++++++++++ ...18 Linux Kernel Testing and Debugging 2.md | 107 +++++++++++++ ...18 Linux Kernel Testing and Debugging 3.md | 125 +++++++++++++++ ...18 Linux Kernel Testing and Debugging 4.md | 143 ++++++++++++++++++ ...18 Linux Kernel Testing and Debugging 5.md | 90 +++++++++++ ...18 Linux Kernel Testing and Debugging 6.md | 125 +++++++++++++++ 6 files changed, 666 insertions(+) create mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 1.md create mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 2.md create mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 3.md create mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 4.md create mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 5.md create mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 6.md diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 1.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 1.md new file mode 100644 index 0000000000..f37f5a5c14 --- /dev/null +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 1.md @@ -0,0 +1,76 @@ +Linux Kernel Testing and Debugging +================================================================================ +### Linux Kernel Testing Philosophy ### + +Testing is an integral and important part of any software development cycle, open or closed, and Linux kernel is no exception to that. Developer testing, integration testing, regression, and stress testing have different individual goals, however from 1000 feet up, the end goal is the same, to ensure the software continues to work as it did before adding a new body of code, and the new features work as designed. + +Ensuring software is stable without regressions before the release, helps avoid debugging and fixing customer and user found bugs after the release. It costs more in time and effort to debug and fix a customer found problem. Hence, testing is very important in the case of any software, not just the Linux kernel. Unlike closed and proprietary operating systems, the development process is open and is not locked down. This process is its strength as well as weakness. With several developers continuing to add new features, and fixing bugs, continuous integration and testing is vital to ensure the kernel continues to work on existing hardware as new hardware support and features get added. In the open source development, developers and users share the testing responsibility. This is another important difference between a closed development model and an open one. + +Almost all Linux kernel developers, if not all, are very active Linux users themselves. There is no requirement that testers should be developers, however, users and developers that are not familiar with the new code could be more effective at testing a new piece of code than the original author of that code. In other words, developer testing serves as an important step in verifying the functionality, however, developer testing alone is not sufficient to find interactions with other code, features, and unintended regressions on configurations and/or hardware, developer didn't anticipate and didn't have the opportunity and resources to test. Hence, users play a very important role in the Linux Kernel development process. + +So now that we understand the importance of continuous integration testing, we will go into the details of testing itself. Before we talk about testing, I would like to walk through the development process itself to help understand how it works and how the changes funnel into the mainline kernel. + +3000+ kernel developers from around the world contribute to the Linux kernel. It is a 24hours, seven days a week, and 365 days of continuous development process that results in a new release once every 2+ months and several stable and extended stable releases. New development and current release integration cycles run in parallel. + +For further reading on the development process, please refer to [Greg Kroah-Hartman's presentation on the Linux Kernel Development][1]. + + It is my intent that this guide should be useful to a beginner as well as an experienced contributor and/or individuals interested in getting involved in the Linux kernel development. Experienced developers can chose to skip sections that go over basic testing and debugging. + +This paper will discuss how to test and debug Linux kernel, tools, scripts and debug mechanisms that aid in regression and integration testing. In addition, this paper will go into details on how to use git bisect to isolate a patch that introduced a bug, and what to test before sending patches to the Linux Kernel Mailing List. I will use Linux PM as an example target area for the testing and debugging discussion. Even though this paper is Linux Kernel testing focused, the importance of testing is applicable to any software project. + +### Configuring Development and Test System ### + + Let's get started. First order of business is finding a development system that suits your needs. x86-64 systems are a good choice for a basic development system, unless there is a need for a specific architecture and/or configuration. + +The second step is to install distribution of your preference. I prefer Ubuntu, hence this document will have the details on how to configure a kernel development system running Ubuntu distribution. Please follow [How to Ubuntu][2] for installing the Ubuntu release of your choice. + +On development and test systems, it is a good idea to ensure there is ample space for kernels in the boot partition. Choosing whole disk install or setting aside 3 GB disk space for the boot partition is recommended. + +Once the distribution is installed and the system is ready for development packages, enable root account and also enable sudo for your user account. The system might already have the build-essential package which is what you need to build Linux kernels on an x86_64 system. If build-essential is not already installed, run the following command to install it: + + sudo apt-get install build-essential + +At this point, you may install the following packages as well, so the system is ready for cross-compiling Linux kernels. Note that ncurses-dev is a required package to run make menuconfig. + + sudo apt-get install binutils-multiarch + + sudo apt-get install ncurses-dev + + sudo apt-get install alien + +Now let's install a few tools every Linux kernel developer need in his/her tool chest. + + sudo apt-get install git + + sudo apt-get install cscope + + sudo apt-get install meld + + sudo apt-get install gitk + +If you would like to get the system configured for cross-compiling other supported architectures non-natively on your x86-64 system, please follow: [Cross-compiling Linux kernel on x86 64][3]. + +The Stable Kernel + +Start by cloning the stable kernel git, building and installing the latest stable kernel. You can find information on the latest stable and mainline releases at [The Linux Kernel Archive][4]. + + git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git + +The above step will create a new directory named linux-stable and populate it with the sources. + +You can also download just the Linux Kernel source tar-ball instead of cloning the git, and then unpack the tar-ball. + + tar xvf linux-3.x.y.tar.xz + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,0 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://events.linuxfoundation.org/images/stories/pdf/als2012_gregkh.pdf +[2]:http://howtoubuntu.org/ +[3]:http://linuxdriverproject.org/mediawiki/index.php/Cross-compiling_Linux_kernel_on_x86_64 +[4]:https://www.kernel.org/ \ No newline at end of file diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 2.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 2.md new file mode 100644 index 0000000000..bc7c1bd479 --- /dev/null +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 2.md @@ -0,0 +1,107 @@ +Linux Kernel Testing and Debugging +================================================================================ +### Compiling and Installing Stable Kernel ### + +If you cloned the stable git: + + cd linux-stable + + git checkout linux-3.x.y + +or if you are using the tar-ball: + + cd linux-3.x.y + +Starting out with the distribution configuration file is the safest approach for the very first kernel install on any system. You can do so by copying the configuration for your current kernel from /boot. + + cp /boot/config-3.x.y-z-generic .config + +Run the following command to generate kernel configuration file based on the current configuration. You will be prompted to tune the configuration to enable new features and drivers that have been added since the Ubuntu snapshot the kernel from the mainline. + + make oldconfig + +Once this step is complete, it is time to compile the kernel: + + make all + +Once the kernel compilation is complete, install the new kernel: + + sudo "make modules_install install" + +The above command will install the new kernel and run update-grub to add the new kernel to the grub menu. Now it is time to reboot the system to boot the newly installed kernel. Before we do that, let's save logs from the current kernel to compare and look for regressions and new errors, if any: + + dmesg -t > dmesg_current + + dmesg -t -k > dmesg_kernel + + dmesg -t -l emerg > dmesg_current_emerg + + dmesg -t -l alert > dmesg_current_alert + + dmesg -t -l crit > dmesg_current_alert + + dmesg -t -l err > dmesg_current_err + + dmesg -t -l warn > dmesg_current_warn + +In general, dmesg should be clean with no emerg, alert, crit, and err level messages. If you see any of these, it might indicate some hardware and/or kernel problem. + +A couple more important steps before trying out the newly installed kernel. There is no guarantee that the new kernel will boot. As a safe guard, please ensure that there is at least one good kernel installed. Change the default grub configuration file /etc/default/grub: + +Enable printing early boot messages to vga using earlyprink=vga kernel boot option: + + GRUB_CMDLINE_LINUX="earlyprink=vga" + +Increase the GRUB_TIMEOUT value to 10 - 15 seconds, so grub pauses in menu allowing time to choose kernel to be boot: + + Uncomment GRUB_TIMEOUT and set it to 10: GRUB_TIMEOUT=10 + Comment out GRUB_HIDDEN_TIMEOUT and GRUB_HIDDEN_TIMEOUT_QUIET + +Run update-grub to update the grun configuration in /boot + + sudo update-grub + +Now restart the system. Once the new kernel comes up, compare the saved dmesg from the old kernel with the new one and see if there are any regressions. If the newly installed kernel fails to boot, you will have to boot a good kernel and then investigate why the new kernel failed to boot. + +### Living in The Fast Lane ### + +If you like driving in the fast lane and have the need for speed, clone the mainline kernel git or better yet the linux-next git. Booting and testing mainline and linux-next helps find and fix problems before the kernel is released. + +Mainline: + + git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git + +linux-next: + + git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git + +Compiling and installing mainline and linux-next kernels is exactly same as the stable kernel. Please follow the instructions from previous sections. + +### Applying Patches ### + +Linux kernel patch files are text files that contain the differences from the original source to the new. Each Linux patch is a self-contained change to the code that stands on its own, unless explicitly made part of a patch series. New patches are applied as follows: + + patch -p1 < file.patch + + git apply --index file.patch + +Either one will work, however, when a patch adds a new file and if it is applied using the patch command, git doesn't know about the new files and they will be treated as untracked files. "git diff" will not show the files in its output and "git status" will show the files as untracked. + +For the most part, there are no issues with building and installing kernels, however, "git reset --hard" will not remove the newly added files and a subsequent git pull will fail. A couple of ways to tell git about the new files and have it track them, there by avoiding the above issues: + + +Option 1: + +> When a patch that adds new files is applied using the patch command, run "git clean" to remove untracked files, before running "git reset --hard". For example, git clean -dfx will force remove untracked directories and files, ignoring any standard ignore rules specified in the .gitignore file. You could include -q option to run git clean in quiet mode, if you don't care to know which files are removed. + +Option 2: + +> An alternate approach is to tell git to track the newly added files by running "git apply --index file.patch". This will result in git applying the patch and adding the result to the index. Once this is done, git diff will show the newly added files in its output and git status will report the status correctly tagging these files as newly created files. + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,1 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 3.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 3.md new file mode 100644 index 0000000000..3c31bc93d1 --- /dev/null +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 3.md @@ -0,0 +1,125 @@ +Linux Kernel Testing and Debugging +================================================================================ +### Basic Testing ### + +Once a new kernel is installed, the next step is try to boot it and see what happens. Once the new kernel is up and running, check dmesg for any regressions. Run a few usage tests: + +- Is networking (wifi or wired) functional? +- Does ssh work? +- Run rsync of a large file over ssh +- Run git clone and git pull +- Start web browser +- Read email +- Download files: ftp, wget etc. +- Play audio/video files +- Connect new USB devices mouse, usb stick etc. + + +### Examine Kernel Logs ### + +Checking for regressions in dmesg is a good way to identify problems, if any, introduced by the new code. As a general rule, there should be no new crit, alert, and emerg level messages in dmesg. There should be no new err level messages. Pay close attention to any new warn level messages as well. lease note that new warn messages aren't as bad. New code at times adds new warning messages which are just warnings. + +- dmesg -t -l emerg +- dmesg -t -l crit +- dmesg -t -l alert +- dmesg -t -l err +- dmesg -t -l warn +- dmesg -t -k +- dmesg -t + +The following script runs the above dmesg commands and saves the output for comparing with older release dmesg files. It then runs diff commands against the older release dmesg files. Old release is a required input parameter. If one is not supplied, it will simply generate dmesg files and exit. Regressions indicate newly introduced bugs and/or bugs that escaped patch testing and integration testing in linux git trees prior to including the patch in a release. Are there any stack traces resulting from WARN_ON in the dmesg? These are serious problems that require further investigation. + +- [**dmesg regression check script**][1] + +### Stress Testing ### + +Running 3 to 4 kernel compiles in parallel is a good overall stress test. Download a few Linux kernel gits, stable, linux-next etc.. Run timed compiles in parallel. Compare times with old runs of this test for regressions in performance. Longer compile times could be indicators of performance regression in one of the kernel modules. Performance problems are hard to debug. First step is to detect them. Running several compiles in parallel is a good overall stress test that could be used as a performance regression test and overall kernel regression test, as it exercises various kernel modules like memory, file-systems, dma, and drivers. + + time make all + +### Kernel Testing Tools ### + +There are several tests under tools/testing that are included in the Linux kernel git. There is a good mix of automated and functional tests. +ktest suite + +ktest is an automated test suite that can test builds, installs, and kernel boots. It can also run cross-compile tests provided the system has cross-compilers installed. ktest depends on flex and bison tools. Please consult the ktest documentation in tools/testing/ktest for details on how to run ktest. It is left to the reader as a self-study. A few resources that go into detail on how to run ktest: + +- [**ktest-eLinux.org**][2] + +### tools/testing/selftests ### + +Let's start with selftests. Kernel sources include a set of self-tests which test various sub-systems. As of this writing, breakpoints, cpu-hotplug, efivarfs, ipc, kcmp, memory-hotplug, mqueue, net, powerpc, ptrace, rcutorture, timers, and vm sub-systems have self-tests. In addition to these, user memory self-tests test user memory to kernel memory copies via test_user_copy module. The following is on how to run these self-tests: + +Compile tests: + + make -C tools/testing/selftests + +Run all tests: (running some tests needs root access, login as root and run) + + make -C tools/testing/selftests run_tests + +Run only tests targeted for a single sub-system: + + make -C tools/testing/selftests TARGETS=vm run_tests + +### tools/testing/fault-injection ### + +Another test suite under tools/testing is fault-injection. failcmd.sh script runs a command to inject slab and page allocation failures. This type of testing helps validate how well kernel can recover from faults. This test should be run as root. The following is a quick summary of currently implemented fault injection capabilities. The list keeps growing as new fault injection capabilities get added. Please refer to the Documentation/fault-injection/fault-injection.txt for the latest. + +failslab (default option) + + injects slab allocation failures. kmalloc(), kmem_cache_alloc(), ... + +fail_page_alloc + + injects page allocation failures. alloc_pages(), get_free_pages(), ... + +fail_make_request + + injects disk IO errors on devices permitted by setting, /sys/block//make-it-fail or /sys/block///make-it-fail. (generic_make_request()) + +fail_mmc_request + + injects MMC data errors on devices permitted by setting debugfs entries under /sys/kernel/debug/mmc0/fail_mmc_request + +The capabilities and behavior of fault-injection can be configured. fault-inject-debugfs kernel module provides some debugfs entries for runtime. Ability to specify the error probability rate for faults, the interval between fault injection are just a couple of examples of the configuration choices fault-injection test supports. Please refer to the Documentation/fault-injection/fault-injection.txt for details. Boot options can be used to inject faults during early boot before debugfs becomes available. The following boot options are supported: + +- failslab= +- fail_page_alloc= +- fail_make_request= +- mmc_core.fail_request=[interval],[probability],[space],[times] + +The fault-injection infrastructure provides interfaces to add new fault-injection capabilities. The following is a brief outline of the steps involved in adding a new capability. Please refer to the above mentioned document for details: + +define the fault attributes using DECLARE_FAULT_INJECTION(name); + +> Please see the definition of struct fault_attr in fault-inject.h for details. + +add a boot option to configure fault attributes + +> This can be done using helper function setup_fault_attr(attr, str); Adding a boot option is necessary to enable the fault injection capability during early boot time. + +add debugfs entries + +> Use the helper function fault_create_debugfs_attr(name, parent, attr); to add new debugfs entries for this new capability. + +add module parameters + +> Adding module parameters to configure the fault attributes is a good option, when the scope of the new fault capability is limited to a single kernel module. + +add a hook to insert failures + +> should_fail(attr, size); Upon should_fail() returning true, client code should inject a failure. + +Applications using this fault-injection infrastructure can target a specific kernel module to inject slab and page allocation failures to limit the testing scope if need be. + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,2 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://linuxdriverproject.org/mediawiki/index.php/Dmesg_regression_check_script +[2]:http://elinux.org/Ktest#Git_Bisect_type \ No newline at end of file diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 4.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 4.md new file mode 100644 index 0000000000..31dc21ea0a --- /dev/null +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 4.md @@ -0,0 +1,143 @@ +Linux Kernel Testing and Debugging +================================================================================ +### Auto Testing Tools ### + +There are several automated testing tools and test infrastructures that you can chose from based on your specific testing needs. This section is intended to be a brief overview and not a detailed guide on how to use each of these. + +#### [AuToTest][1] #### + +> Autotest is a framework for fully automated testing. It is designed primarily to test the Linux kernel, though it is useful for many other functions such as qualifying new hardware. It is an open source project under the GPL. Autotest works in server-client mode. Autotest server can be configured to initiate, run, and monitor tests on several target systems running the autotest client. Autotest client can be run manually on a target system or via the server. Using this framework, new test cases can be added. Please [Autotest White Paper][2] for more information. + +#### Linaro Automated Validation Architecture #### + +> LAVA-Test Automated Testing Framework is a framework to help with automated installation and executions of tests. For example, running LTP in LAVA framework can be accomplished with a few commands. Running lava-test tool to install LTP will automatically install any dependencies, download the source for the recent release of LTP, compile it, and install the binaries in a self-contained area so that they can be removed easily when user runs uninstall. At this point running lava-test run with ltp test option will execute LTP tests and save results with an unique id that includes the test name, time/date stamp of the test execution. These results are saved for future reference. This is a good feature to find regressions, if any, between test runs. Summary of commands to run as an example: + +Show a list of tests supported by lava-test: + + lava-test list-tests + +Install a new test: + + lava-test install ltp + +Run the test: + + lava-test run ltp + +Check results: + + lava-test results show ltp-timestamp.0 + +Remove tests: + + lava-test uninstall ltp + +### Kernel Debug Features ### + +Linux kernel includes several debugging features such as kmemcheck and kmemleak. + +#### kmemcheck #### + +> kmemcheck is a dynamic checking tool that detects and warns about some uses of uninitialized memory. It serves the same function as Valgrind's memcheck which is a userspace memory checker, where as kmemcheck checks kernel memory. CONFIG_KMEMCHECK kernel configuration option enables the kmemcheck debugging feature. Please read the Documentation/kmemcheck.txt for information on how to configure and use this feature, and how to interpret the reported results. + +#### kmemleak #### + +> kmemleak can be used to detect possible kernel memory leaks in a way similar to a tracing garbage collector. The difference between the tracing garbage collector and kmemleak is that the latter doesn't free orphan objects, instead it reports them in /sys/kernel/debug/kmemleak. A similar method of reporting and not freeing is used by the Valgrind's memcheck --leak-check to detect memory leaks in user-space applications. CONFIG_DEBUG_KMEMLEAK kernel configuration option enables the kmemleak debugging feature. Please read the Documentation/kmemleak.txt for information on how to configure and use this feature, and how to interpret the reported results. + +### Kernel Debug Interfaces ### + +Linux kernel has support for static and dynamic debugging via configuration options, debug APIs, interfaces, and frameworks. Let's learn more about each of these starting with the static options. + +### Debug Configuration Options - Static ### + +Linux kernel core and several Linux kernel modules, if not all, include kernel configuration options to debug. Several of these static debug options can be enabled at compile time. Debug messages are logged in dmesg buffer. + +### Debug APIs ### + +An example of Debug APIs is DMA-debug which is desiged for debugging driver dma api usage errors. When enabled, it keeps track of dma mappings per device, detects unmap attempts on addresses that aren't mapped, and missing mapping error checks in driver code after dma map attempts. CONFIG_HAVE_DMA_API_DEBUG and CONFIG_DMA_API_DEBUG kernel configuration options enable this feature on architectures that provide the support. With the CONFIG_DMA_API_DEBUG option enabled, the Debug-dma interfaces are called from DMA API. For example, when a driver calls dma_map_page() to map a dma buffer, dma_map_page() will call debug_dma_map_page() to start tracking the buffer until it gets released via dma_unmap_page() at a later time. For further reading on [Detecting silent data corruptions and memory leaks using DMA Debug API ][3] + +### Dynamic Debug ### + +Dynamic debug feature allows dynamically enabling/disabling pr_debug(), dev_dbg(), print_hex_dump_debug(), print_hex_dump_bytes() per-callsite. What this means is, a specific debug message can be enabled at run-time to learn more about a problem that is observed. This is great because, there is no need to re-compile the kernel with debug options enabled, then install the new kernel, only to find that the problem is no longer reproduciable. Once CONFIG_DYNAMIC_DEBUG is enabled in the kernel, dynamic debug feature enables a fine grain enable/disable of debug messages. /sys/kernel/debug/dynamic_debug/control is used to specify which pr_* messages are enabled. A quick summary of how to enable dynamic debug per call level, per module level is as follows: + +Enable pr_debug() in kernel/power/suspend.c at line 340: + + echo 'file suspend.c line 340 +p' > /sys/kernel/debug/dynamic_debug/control + +Enable dynamic debug feature in a module at module load time + +> Pass in dyndbg="plmft" to modprobe at the time module is being loaded. + +Enable dynamic debug feature in a module to persist across reboots + +> create or change modname.conf file in /etc/modprobe.d/ to add dyndbg="plmft" option. However for drivers that get loaded from initramfs, changing modname.conf is insufficient for the dynamic debug feature to persist across reboot. For such drivers, change grub to pass in module.dyndbg="+plmft" as a module option as a kernel boot parameter. + +dynamic_debug.verbose=1 kernel boot option increases the verbosity of dynamic debug messages. Please consult the Documentation/dynamic-debug-howto.txt for more information on this feature. + +### Tracepoints ### + +So far we talked about various static and dynamic debug features. Both static debug options and debug hooks such as the DMA Debug API are either enabled or disabled at compile time. Both of these options require a new kernel to be compiled and installed. The dynamic debug feature eliminates the need for a recompile, however the debug code is compiled in with a conditional variable that controls whether or not the debug message gets printed. It helps that the messages can be enabled at run-time, however, the conditional code is executed at run-time to determine if the message needs to be printed. Tracepoint code on the otherhand can be triggered to be included at run-time only when the tracepoint is enabled. In other words, tracepoint code is different in that, it is inactive unless it is enabled. When it is enabled, code is modified to include the tracepoint code. It doesn't add any conditional logic overhead to determine whether or not to generate a trace message. + +Please read [Tips on how to implement good tracepoint code][4] for more insight into how tracing works. + +### Tracepoint mechanism ### + +The tracepoints use jump-labels which is a code modification of a branch. + +When it is disabled, the code path looks like: + + [ code ] + nop + back: + [ code ] + return; + tracepoint: + [ tracepoint code ] + jmp back; + +When it is enabled, the code path looks like: (notice how the tracepoint code appears in the code path below) + + [ code ] + jmp tracepoint + back: + [ code ] + return; + tracepoint: + [ tracepoint code ] + jmp back; + +### Linux PM Sub-system Testing ### + +Using debug, dynamic debug, and tracing, let's run a few suspend to disk PM tests. When system is suspended, kernel creates hibernation image on disk, suspends and uses the image to restore the systerm state at resume time. + +Enable logging time it takes to suspend and resume each device + + echo 1 > /sys/power/pm_print_times + +Run suspend to disk test in reboot mode + + echo reboot > /sys/power/disk + echo disk > /sys/power/state + +Run suspend to disk test in shutdown mode - same as reboot, except requires powering on to resume + + echo shutdown > /sys/power/disk + echo disk > /sys/power/state + +Run suspend to disk test in platform mode - more extensive and tests BIOS suspend and resume paths e.g: ACPI methods will be invoked. This is the recommended mode for hibernation so BIOS is informed and aware of suspend/resume action. + + echo platform > /sys/power/disk + echo disk > /sys/power/state + +-------------------------------------------------------------------------------- + +via:http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,3 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://autotest.github.io/ +[2]:https://github.com/autotest/autotest/wiki/WhitePaper +[3]:http://events.linuxfoundation.org/sites/events/files/slides/Shuah_Khan_dma_map_error.pdf +[4]:http://www.linuxjournal.com/content/july-2013-linux-kernel-news \ No newline at end of file diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 5.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 5.md new file mode 100644 index 0000000000..010200bfc6 --- /dev/null +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 5.md @@ -0,0 +1,90 @@ +Linux Kernel Testing and Debugging +================================================================================ +### Linux PM Sub-system Testing in Simulation Mode ### + +The Linux PM sub-system provides five PM test modes to test hibernation in a simulated mode. These modes allow exercising the hibernation code in various layers of the kernel without actually suspending the system. This is useful when there is a concern that suspend might not work on a specific platform and help detect errors in a simulation similar to simulating flying a plane, so to speak. + +freezer - test the freezing of processes + + echo freezer > /sys/power/pm_test + echo platform > /sys/power/disk + echo disk > /sys/power/state + +devices - test the freezing of processes and suspending of devices + + echo devices > /sys/power/pm_test + echo platform > /sys/power/disk + echo disk > /sys/power/state + +platform - test the freezing of processes, suspending of devices and platform global control methods(*) + + echo platform > /sys/power/pm_test + echo platform > /sys/power/disk + echo disk > /sys/power/state + +processors - test the freezing of processes, suspending of devices, platform global control methods(*) and the disabling of non-boot CPUs + + echo processors > /sys/power/pm_test + echo platform > /sys/power/disk + echo disk > /sys/power/state + +core - test the freezing of processes, suspending of devices, platform global control methods, the disabling of non-boot CPUs and suspending of platform/system devices. Note: this mode is tested on ACPI systems. + + echo core > /sys/power/pm_test + echo platform > /sys/power/disk + echo disk > /sys/power/state + +### Linux PM Sub-system Trace Events ### + +PM sub-system supports several tracepoints and trace events that can be enabled to trigger during run-time. I will give an overview on how to enable couple of these trace events and where to find the trace information they generate: + +Enabling PM events at run-time: + + cd /sys/kernel/debug/tracing/events/power + echo 1 > cpu_frequency/enable + cat /sys/kernel/debug/tracing/set_event + less /sys/kernel/debug/tracing/trace + +Enabling events at boot-time kernel trace parameter with a kernel boot option: + + trace_event=cpu_frequency + +For more information on Linux PM testing, please consult the Documentation/power/basic-pm-debugging.txt and other documents in the same directory. + +### git bisect ### + +git bisect is an invaluable and powerful tool to isolate an offending commit. I will go over very basic git bisect steps. + +This is how the process works: + + git bisect start + git bisect bad # Current version is bad + git bisect good v3.14-rc6 # last good version + +Once, one bad and one good version are specified, git bisect will start bisecting by pulling in commits between the good version and the bad. Once a set of commits are pulled in, compile the kernel, install, test, and tag the version good or bad. This process repeats until the selected commits are tested and tagged as good or bad. There can be several kernel versions to test. When the last version is tested, git bisect will flag a commit that is bad. The following useful git-bisect command can aid in using git-bisect process: + +See step by step bisect progress + + git bisect log + +Reset git bisect can be used in case of mistakes in tagging, save git log output and replay prior to reset + + git bisect reset + +Replay a git-bisect log + + git bisect replay git_log_output + +git bisect can be run on a section of kernel source tree if the problem is clearly in that area. For example, when debugging a problem in radeon driver, running git bisect on drivers/drm/radeon will limit the scope of bisect to just the commits to drivers/drm/radeon driver. + +Start git bisect on a section of a kernel tree + + git bisect start drivers/drm/radeon + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,4 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md new file mode 100644 index 0000000000..4d7c8de77f --- /dev/null +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md @@ -0,0 +1,125 @@ +Linux Kernel Testing and Debugging +================================================================================ +### Linux Kernel Patch Testing ### + +Are you try your hands on writing a kernel patch? This section will go over how to test a new patch before sending it to the Linux mailing list. Further more, we will also talk about how to send it. +Once the code is ready, compile it. Save the make output to a file to see if the new code introduced any new warnings. Address warnings, if any. Once the code compiles cleanly, install the compiled kernel and boot test. If it boots successfully, make sure there are no new errors in the dmesg, comparing it with the previous kernel dmesg. Run a few usage and stress tests. Please refer to the testing content we discussed earlier in this paper. If the patch is for fixing a specific bug, make sure the patch indeed fixes the bug. If the patch fixes the problem, make sure, other module regression tests pass. Identify regression tests for the patched module and run them. When a patch touches other architectures, cross-compile build testing is recommended. Please check the following in the source git as a reference to identify tests. + +- linux_git/Documentation +- linux_git/tools/testing +- Cross-compiling reference: [Cross-compiling Linux Kernels on x86_64: A tutorial on How to Get Started][1] + +Once you are satisfied with the patch testing, it is time to commit the change and generate the patch. Make sure the commit message describes the change made very clearly. It is important that the maintainer and other developers can understand what this change is all about. Once patch is ready, run scripts/checkpatch.pl on the generated patch. Address checkpatch errors and/or warnings, if any. Regenerate and repeat until the patch passes the checkpatch test. Unless the checkpatch errors are minor whitespace type, re-test the patch. Apply the patch to another instance of the kernel git to make sure patch applies cleanly. + +Now you are ready to send the patch. Please run the scripts/get_maintainer.pl to identify whom the patch should be sent to. Please remember that the patch needs to be sent as a plain text, not as an attachment. Please make sure your email client can send plain text messages. Email the patch to yourself to test your client settings. Run checkpatch and apply the received patch. If these two steps pass, then you are ready to send the patch to the Linux Kernel Mailing List. git send-email is the safest way to send patches to avoid email client complications. Please make sure your .gitconfig includes sendemail with a valid smtpserver. Please consult git manpage for details. + +Please refer to the following documentation in the kernel sources for rules and guidelines on sending patches: + +- linux_git/Documentation/applying-patches.txt +- linux_git/Documentation/SubmitChecklist +- linux_git/Documentation/SubmittingDrivers +- linux_git/Documentation/SubmittingPatches +- linux_git/Documentation/stable_kernel_rules.txt +- linux_git/Documentation/stable_api_nonsense.txt + +The following is a list of additional testing guides and resources: + +- [USB Testing on Linux][2] +- [Linux Kernel Tester's Guide Chapter2][3] +- [Linux Kernel Tester's Guide][4] +- [Testing resources at eLinux.org][5] +- [eLinux Debugging Portal][6] + +### Kernel test suites and projects ### + +In addition to the testing resources we discussed so far, there are projects both open source and initiated by hardware vendors that are worth a mention. Each of these projects focus on specific areas of the kernel and in some cases a specific space such as, embedded or enterprise where the kernel is used. We will look at a few in this section. + +[Linux Test Project][7] (LTP) test suite is a collection of tools to test reliability, robustness, and stability of Linux kernel and related features. This test suite can be customized by adding new tests and the LTP project welcomes contributions. runltp script tests the following sub-systems by default: + +- filesystem stress tests +- disk I/O tests +- memory management stress tests +- ipc stress +- scheduler tests +- commands functional verification tests +- system call functional verification tests + +[**LTP-DDT**][8] is an LTP based test application wth a reduced focus to test embedded device drivers. + +[**Linux Driver Verification**][9] project's goals are to improve the quality of Linux device drivers, develop an integrated platform for device drivers verification, and adopt latest research outcome to enhance quality of verification tools. + +### Compliance Testing ### + +If you ever had to port applications from one Unix variant to another, you would understand the importance of the [Linux Standard Base (LSB)][10] and LSB compliance test suite. The LSB is a Linux Foundation workgroup created to reduce the costs of supporting Linux platform, by reducing the differences between various Linux distributions and ensuring application portability between distributions. If anything, divergence in the Unix world taught us that it is vital to avoid it in the Linux world. This is exactly the reason why you can take an rpm convert it to deb and install and run it, and how sweet is that. + +### Static Analysis and Tools ### + +Static analysis tools analyze the code without executing it, hence the name static analysis. There are a couple of static analysis tools that are sepcifically written for analyzing the Linux kernel code base. Sparse is a static type-checking program written specifically for the Linux kernel, by Linus Torvalds. Sparse is a semantic parser. It creates a sematic prase tree to validate C semantics. It performs lazy type evaluation. Kernel build system has support for sparse and provides a make option to compile the kernel with sparse checking enabled. + +Run sparse on all kernel C files that would get re-compiled: + + make C=1 allmodconfig + +Run sparse on all kernel C files even when they don't need a re-compile: + + make C=2 allmodconfig + +Sparse resources: + +- [Sparse Archive][11] +- [Sparse How To][12] + +Smatch analyzes source to detect programming logic errors. It can detect logic errors such as, attempts to unlock already unlocked spinlock. It is actively used to detect logic errors in the Linux kernel sources. + +Run smatch on Linux kernel: + + make CHECK="~/path/to/smatch/smatch -p=kernel" C=1 bzImage modules | tee warns.txt + +Please follow instructions on how to get smatch from smatch git repo and compile. Smatch is work in progress, instructions keep changing. + +- [**Smatch**][12] + +So what do we do about all of these semantic and logic problems found by Sparse and Smatch? Some of these problems are isolated to a routine and/or a module which can be fixed easily. However, some of these semantic issues are global in nature due to cut and paste of code. In some cases when interfaces get obsoleted or changed slightly, a mass change to update several source files becomes necessary. This is where Coccinelle comes in to rescue. Coccinelle is a program matching and transformation engine which provides the language SmPL (Semantic Patch Language) for specifying desired matches and transformations in C code. Coccinelle was initially targeted towards performing collateral evolutions in Linux. + +For example, foo(int) interfaces changes to foo(int, char \*) with an optional second input parameter which can be a null. All usages of foo() will need to be updated to the new convention, which will be a very laborious task. Using Cocinelle, this task becomes easier with a script that looks for all instances of foo(parameter1) and replacing them with foo(parameter1, NULL). Once this task is done, all instances of foo() can be examined to see if passing in NULL value for parameter2 is a good assumption. For more information on Cocinelle and how it is used in fixing problems in various projects including the Linux kernel, please refer to the project page: [**Cocinelle**][13] + +### References ### + +We covered a lot of ground in this paper. I leave you with a few references for further reading on the topics we discussed. + +- [KernelHacking][14] +- [kernel Documentation][15] +- [Linux Device Drivers, Third Edition][16] +- [Dynamic Event Tracing in Linux Kernel][17] +- [Kernel Testing: Tool and Techniques][18] + +### Acknowledgements ### + +I would like to thank Khalid Aziz, Oracle for his review, proof reading, and valuable suggestions for improvement. My special thanks to Mauro Chehab, Samsung and Guy Martin, Samsung for their review and feedback at various stages of writing this paper. I would like to extend my thanks to Greg Kroah-Hartman, Linux Foundation for his review. My special thanks to Ibrahim Haddad, Samsung for his support and encouragement without which, I would probably have never set out to write this paper in the first place. + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,5 + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://events.linuxfoundation.org/sites/events/files/slides/Shuah_Khan_cross_compile_linux.pdf +[2]:http://www.linux-usb.org/usbtest/ +[3]:http://kernelnewbies.org/Linux_Kernel_Tester%27s_Guide_Chapter2 +[4]:http://www.kerneltravel.net/downloads/tester_guide.pdf +[5]:http://elinux.org/Test_Systems +[6]:http://elinux.org/Debugging_Portal +[7]:http://ltp.sourceforge.net/documentation/how-to/ltp.php +[8]:http://processors.wiki.ti.com/index.php/LTP-DDT +[9]:http://linuxtesting.org/project/ldv +[10]:http://www.linuxfoundation.org/collaborate/workgroups/lsb +[11]:http://codemonkey.org.uk/projects/git-snapshots/sparse/ +[12]:http://smatch.sourceforge.net/ +[13]:http://coccinelle.lip6.fr/ +[14]:http://kernelnewbies.org/KernelHacking +[15]:http://kernelnewbies.org/Documents +[16]:http://lwn.net/Kernel/LDD3/ +[17]:http://events.linuxfoundation.org/slides/lfcs2010_hiramatsu.pdf +[18]:http://events.linuxfoundation.org/images/stories/slides/elc2013_porter.pdf \ No newline at end of file From c31f7669405587e9face886ae3b475ccf73ca0ea Mon Sep 17 00:00:00 2001 From: DeadFire Date: Fri, 18 Jul 2014 17:41:06 +0800 Subject: [PATCH 152/291] =?UTF-8?q?20140718-4=20=E9=80=89=E9=A2=98?= =?UTF-8?q?=E5=9C=A8=E6=9C=80=E5=90=8E=E4=B8=80=E9=A1=B5=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E4=BD=9C=E8=80=85=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...140718 Linux Kernel Testing and Debugging 6.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md index 4d7c8de77f..235c02463f 100644 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md @@ -97,6 +97,18 @@ We covered a lot of ground in this paper. I leave you with a few references for I would like to thank Khalid Aziz, Oracle for his review, proof reading, and valuable suggestions for improvement. My special thanks to Mauro Chehab, Samsung and Guy Martin, Samsung for their review and feedback at various stages of writing this paper. I would like to extend my thanks to Greg Kroah-Hartman, Linux Foundation for his review. My special thanks to Ibrahim Haddad, Samsung for his support and encouragement without which, I would probably have never set out to write this paper in the first place. +---------- + +![](http://www.linuxjournal.com/files/linuxjournal.com/ufiles/pictures/picture-1088573.jpg) + +Author:[Shuah Khan][a] + +Shuah Khan is a Senior Linux Kernel Developer at Samsung's Open Source Group. +She is a Linux Kernel Contributor who focuses on IOMMU, DMA, Linux Power +Management, and PCIe, in addition to helping with stable release kernel +maintenance testing and bug fixes. Shuah has several years of Unix kernel +development experience. She has also contributed to OpenHPI, and LLDP projects. + -------------------------------------------------------------------------------- via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,5 @@ -122,4 +134,5 @@ via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page [15]:http://kernelnewbies.org/Documents [16]:http://lwn.net/Kernel/LDD3/ [17]:http://events.linuxfoundation.org/slides/lfcs2010_hiramatsu.pdf -[18]:http://events.linuxfoundation.org/images/stories/slides/elc2013_porter.pdf \ No newline at end of file +[18]:http://events.linuxfoundation.org/images/stories/slides/elc2013_porter.pdf +[a]:http://www.linuxjournal.com/users/shuah-khan \ No newline at end of file From fb78bddff7c028dc97400f4ceee87849e65b7415 Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 19 Jul 2014 21:51:19 +0800 Subject: [PATCH 153/291] PUB:20140630 Ubuntu 14.04 LTS--Customizing Unity @Love-xuan --- ...630 Ubuntu 14.04 LTS--Customizing Unity.md | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) rename {translated/talk => published}/20140630 Ubuntu 14.04 LTS--Customizing Unity.md (56%) diff --git a/translated/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md b/published/20140630 Ubuntu 14.04 LTS--Customizing Unity.md similarity index 56% rename from translated/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md rename to published/20140630 Ubuntu 14.04 LTS--Customizing Unity.md index 3a7a19690b..9c05b5486b 100644 --- a/translated/talk/20140630 Ubuntu 14.04 LTS--Customizing Unity.md +++ b/published/20140630 Ubuntu 14.04 LTS--Customizing Unity.md @@ -1,19 +1,27 @@ - Ubuntu 14.04 LTS: 定制 Unity +Ubuntu 14.04 LTS: 定制 Unity ================================================================================ -虽然Unity桌面管理器自从伴随 Ubuntu 11.01首次发布以来表现出了强劲的性能,并在可用性上迈进了一大步,但是有人对自定义其外观和行为所带的限制感到反感。我们马上就去看看如何自定义Unity,让你重拾自己掌控桌面的感觉。 +虽然Unity桌面管理器自从伴随 Ubuntu 11.01首次发布以来表现出了强劲的性能,并在可用性上迈进了一大步,但是有人对自定义其外观和行为所带的限制感到反感。我们现在来看看如何自定义Unity,让你重拾自己掌控桌面的感觉。 + ### Unity中的可用定制项目 ### 在ubuntu 14.04中,Unity 有一些以前没有的可定制项。登入你的 Unity,进入“设置”并选择“显示”,你将看到以下画面: ![Ubuntu 14.04 LTS Display and Unity Settings](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unitysettings.png) + Ubuntu 14.04 LTS 显示和 Unity 设置 -你看到的大多数项目相比Ubuntu 11.01 中所采用的都是新的,而且一些相比较最近的Ubuntu 版本Ubuntu13.10也是新的。从Ubuntu13.10开始,Ubuntu加入了可以改变菜单栏和标题栏大小的新特性。 -Unity中所特有的一个特性是我们能够打开或者关闭的“粘性边缘”功能,它能让你的鼠标停止在多显示器组的每个屏幕的边缘,它使光标暂时停在边缘,仿佛是鼠标卡住了一样,我们可以选择关闭它。 +你看到的大多数项目相比 Ubuntu 11.01 而言都是新的,而且一些相比较上一个版本的 Ubuntu13.10 也是新的。从Ubuntu13.10开始,Ubuntu加入了可以改变菜单栏和标题栏大小的新特性。 + +Unity中所特有的一个特性是我们能够打开或者关闭的“粘性边缘”功能,它能让你的鼠标停止在多显示器组的每个屏幕的边缘,它使光标暂时停在边缘,仿佛是鼠标卡住了一样,我们可以选择关闭它。(LCTT译注,其实我觉得挺有用的,可以避免无意中切换到其他工作桌面,不要关闭) + 在“设置”中选择“外观”选项,可以看到如下画面。 + ![Ubuntu 14.04 LTS Appearance and Unity Settings](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unityappearance.png) - Ubuntu 14.04 LTS 显示和Unity设置 -这里我们可以看到对于 Unity 启动器栏被要求最多的选项-能够改变启动器大小的特性。虽然在Ubuntu 11.10及以后的各种版本中可以通过多种方法实现这个特性,但将其放入外观设置中使其显得更加正式。我喜欢它能将启动器图标缩小直至16号的功能(我们接下来所要谈论的工具仅能支持最小调至24号)。 + +Ubuntu 14.04 LTS 显示和Unity设置 + +这里我们可以看到一个人们最渴望在 Unity 启动器栏中包含的功能-能够改变启动器大小。虽然在Ubuntu 11.10及以后的各种版本中可以通过多种方法实现这个特性,但将其放入外观设置中使其显得更加正式。我喜欢它能将启动器图标缩小直至16的功能(我们接下来所要讲到的工具仅能支持最小调至24)。 + ### Unity Tweak Tool-强大! ### 在Unity首次伴随Ubuntu 11.10发布的几天之内这款工具就跟着出现了,只是你得大费周折去自己把它安装好而且在Unity升级时它可能会损坏。 @@ -25,21 +33,26 @@ Unity中所特有的一个特性是我们能够打开或者关闭的“粘性边 安装好,启动后你将看到如下画面: ![Ubuntu 14.04 LTS Official Unity Tweak Tool](https://linuxacademy.com/blog/wp-content/uploads/2014/06/unitytweaktool.png) - 正式的Unity Tweak Tool -这款工具集中大量的Unity桌面定制项目于一体。这些定制项大多能通过默认的Unity设置,命令行操作或者是编辑有时候很难寻找的配置文件来实现。 +正式的Unity Tweak Tool + +这款工具它集大量Unity桌面定制项目于一体。这些定制项大多能通过默认的Unity设置,命令行操作或者是即使是编辑有时候也很难寻找到的配置文件来实现。 我们可以改变启动器栏,网页小程序和面板的行为,可以在Unity菜单中搜索等等。所有的都通过着一个工具来实现。花些时间去挖掘适合你的选项-Unity Tweak Tool-学习它,和它一起生活,爱上它(如果你使用Unity,这是起码的) ### 结尾的一些想法 ### -Ubuntu 14.04 LTS 越来越向成为Linux Desktop迈进,(Canonical,对不起,你还是Linux),Linux Desktop不仅可以作为非正式的Linux使用者(的确有这样的事)的选择,也适用于骨灰级linux专家。 -那现在相比较于不借助工具,公共程序或是进行在随后的更新中可能损坏的配置文件编辑的Unity桌面我们就拥有了更多的控制权,Unity桌面性能强劲可靠,又通过Unity Tweak Tool加入一些风味元素,使得它的外观也酷极了!!!请给我们你的想法或者点击链接发表你对Unity桌面的评论,我们将有兴趣知道你是如何使用Ubuntu 14.04 LTS 的。 +Ubuntu 14.04 LTS 越来越被人们视作Linux上的典型的Desktop,(对不起,Canonical,你还没有摆脱Linux身份),Linux Desktop不仅可以作为偶尔使用Linux的那些人(的确有这样的事)的选择,也适用于骨灰级linux专家。 + +比之前没有工具,功能可以定制,或是通过配置文件修改定制但是有可能被之后个更新所破坏,现在对于Unity桌面我们就拥有了更多的控制权。Unity桌面性能强劲可靠,又通过Unity Tweak Tool加入一些特色元素,使得它的外观也酷极了!!! + +请给我们你的想法或者点击链接发表你对Unity桌面的评论,我们将有兴趣知道你是如何使用Ubuntu 14.04 LTS 的。 ---------- #### Terrence T. Cox #### + 开发者,Linux倡导者,开源爱好者。 进入这个技术领域很久,被认为经验丰富,但从未感到厌倦。 [Twitter][1] @@ -47,7 +60,7 @@ Ubuntu 14.04 LTS 越来越向成为Linux Desktop迈进,(Canonical,对不 via: https://linuxacademy.com/blog/linux/ubuntu-14-04-lts-customizing-unity/ -译者:[Love-xuan](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Love-xuan](https://github.com/Love-xuan) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From bd719e93161bdde7ff68dc70613ee1afd37ffb36 Mon Sep 17 00:00:00 2001 From: wxy Date: Sat, 19 Jul 2014 23:06:38 +0800 Subject: [PATCH 154/291] PUB:20140616 Managing Vim extensions with NeoBundle @bazz2 --- ...6 Managing Vim extensions with NeoBundle.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) rename {translated/tech => published}/20140616 Managing Vim extensions with NeoBundle.md (78%) diff --git a/translated/tech/20140616 Managing Vim extensions with NeoBundle.md b/published/20140616 Managing Vim extensions with NeoBundle.md similarity index 78% rename from translated/tech/20140616 Managing Vim extensions with NeoBundle.md rename to published/20140616 Managing Vim extensions with NeoBundle.md index 991a62e597..1246d99f7d 100644 --- a/translated/tech/20140616 Managing Vim extensions with NeoBundle.md +++ b/published/20140616 Managing Vim extensions with NeoBundle.md @@ -2,9 +2,9 @@ ================================================================================ [NeoBundle][1] 是一个 [Vim][2] 的插件管理器,以 [Vundle][3] 为基础(Vundle 是一个基于 [Pathogen][4] 的 Vim 插件管理器)。在之前的文章中,我[非常不推荐使用 Neobundle][5],原因是它当时还处于高速开发阶段(LCTT:意味着不稳定、变数大),并且当时它的英文文档很少。现在,已经过了一年多了,这两个问题都早已不再是问题。 -我们为什么要使用插件管理器?Vim 支持大量插件,但是由于它没有严格定义框架,插件的文件可以胡乱分布在不同目录下,导致用户管理起来会很困难(LCTT:当然,前提是你有很多插件,还有点小小的强迫症,觉得理一理这些插件心里会舒服点)。而一款插件管理器能让管理变得简单许多。Pathogen, Vundle 和 NeoBundle 的工作就是为不同插件建立一个目录,然后将这些目录扔到 ~/.vim/bundle 目录下。这个文件整理方法可以让你方便彻底地删除插件,使用 'rm -rf <插件目录>' 或直接 'Ctrl + Del' 组合键把插件所在的目录删除就可以了,绝对绿色环保无残留。同时,这种方法还能最大程度避免插件与插件之间的不兼容性。 +我们为什么要使用插件管理器?Vim 支持大量插件,但是由于它没有严格定义框架,插件的文件可以胡乱分布在不同目录下,导致用户管理起来会很困难(LCTT:当然,前提是你有很多插件,还有点小小的强迫症,觉得理一理这些插件心里会舒服点)。而一款插件管理器能让管理变得简单许多。Pathogen, Vundle 和 NeoBundle 的工作就是为不同插件建立一个目录,然后将这些目录扔到 ~/.vim/bundle 目录下。这个文件整理方法可以让你方便彻底地删除插件,使用 'rm -rf <插件目录>' 或直接在文件管理器里面把插件所在的目录删除就可以了,绝对绿色环保无残留。同时,这种方法还能最大程度避免插件与插件之间的不兼容性。 -NeoBundle 是一个基于 Vundle 的项目,如同 Vundle,它们都可以安装和升级插件。然而 NeoBundle 的说明文件上明确指出:“NeoBundle 不是一个稳定的插件管理器,如果你想要一个稳定的,请选择 Vundle”。最新的 release-note 上也有警“可能会造成兼容性问题”——这是一个开发者写的注解,说明这个管理器还不能让人放心使用。 +NeoBundle 是一个基于 Vundle 的项目,如同 Vundle,它们都可以安装和升级插件。然而 NeoBundle 的说明文件上明确指出:“NeoBundle 不是一个稳定的插件管理器,如果你想要一个稳定的,请选择 Vundle”。最新的 release-note 上也有警告“可能会造成兼容性问题”——这是一个开发者写的注解,说明这个管理器还不能让人放心使用。 所以,我们为什么要使用 NeoBundle?它都不能保证稳定运行!好吧,它还是有可取之处的。Vundle 只支持 [Git][6] 这种版本控制系统,而 NeoBundle 可以支持 [Subversion][7] 和 [Mercurial][8]。另一个原因是如果你不想插件升级时破坏你的 Vim 生态环境,你可以锁住 NeoBundle,让它只使用某个插件的固定版本。 @@ -12,11 +12,11 @@ NeoBundle 是一个基于 Vundle 的项目,如同 Vundle,它们都可以安 ### 安装并初始化 NeoBundle ### -NeoBundle 依赖 Vim 7.2.051 或更高版本,依赖 git,依赖 [cURL][12](用于下载文件)。你可以手动下载 NeoBundle,也可以使用 cURL 下载它在 GitHub 上的库。在你的 home 目录下使用如下命令,可以将 NeoBundle 插件下载到 .vim/bundle/neobundle.vim 目录里,然后 NeoBundle 就能管理它自己了。 +NeoBundle 支持 Vim 7.2.051 或更高版本,需要 git 和 [cURL][12](用于下载文件)。你可以手动下载 NeoBundle,也可以使用 cURL 下载它在 GitHub 上的库。在你的 home 目录下使用如下命令,可以将 NeoBundle 插件下载到 .vim/bundle/neobundle.vim 目录里,然后 NeoBundle 就能管理它自己了。 curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh -你还需要修改 .vimrc 文件。NeoBundle 的 GitHub 主页提供一个 .vimrc 范本,使用这个范本后,NeoBundle 会为你下载5个插件。如果不需要它们,你可以使用下面的最小配置: +你还需要修改 .vimrc 文件。NeoBundle 的 GitHub 主页提供一个 .vimrc 范本,但是直接使用这个范本,NeoBundle 需要你安装5个可能不需要插件。如果不需要它们,你可以使用下面的最小配置: if has('vim_starting') set nocompatible @@ -40,17 +40,17 @@ NeoBundle 依赖 Vim 7.2.051 或更高版本,依赖 git,依赖 [cURL][12]( NeoBundle 'tpope/vim-abolish' -再介绍一个小技巧:你可以为插件指定一个分支或版本号。什么意思?NeoBundle 只会关注这个插件的某个分支或版本的更新,而忽略其他更新。如果你使用的某个插件处于高速开发过程,你就可以使用这个技巧,避免用到有 bug 的插件版本。举个例子: +再介绍一个小技巧:你可以为插件指定一个分支或版本号。什么意思?NeoBundle 只会使用这个插件的某个分支或版本,而忽略其版本更新。如果你使用的某个插件处于高速开发过程,你就可以使用这个技巧,避免用到有 bug 的插件版本。举个例子: NeoBundle 'Shougo/vimshell', { 'rev' : '3787e5' } -还有一个技巧:在 .vimtc 文件内添加一行关于“NeoBundleCheck”的属性。NeoBundle 会检查被卸载的插件,并提示你安装它们。你也可以使用命令“:NeoBundleInstall”(LCTT:这是要在 Vim 编辑器的命令模式下输入)来安装或升级插件。 +还有一个技巧:在 .vimtc 文件内添加一行关于“NeoBundleCheck”的属性。NeoBundle 会根据配置检查没安装的插件,并提示你安装它们。你也可以使用命令“:NeoBundleInstall”(LCTT:这是要在 Vim 编辑器的命令模式下输入)来安装或升级插件。 ### NeoBundle 用法 ### 很多 NeoBundle 命令用起来和 Vundle 类似,但命令的名字不一样。下面是 NeoBundle 命令的用法: -- `:NeoBundleUpdate`:安装或升级插件,如果你手动把一个插件的目录删除了,这个命令会重新安装这个插件。在这个命令后面加上插件名称,就只升级一个插件;不加参数,会将所有己安装但没被记录在案的插件给记录下来。“:NeoBundleInstall”命令效果相同。 +- `:NeoBundleUpdate`:安装或升级插件,如果你手动把一个插件的目录删除了,这个命令会重新安装这个插件。在这个命令后面加上插件名称,就只升级一个插件;不加参数,会将所有己安装但没被记录在案的插件给记录下来。`:NeoBundleInstall` 命令效果相同。 - `:NeoBundle {REPOSITORY URI} [[REVISION}] [,OPTIONS}]]`:将一个插件锁定到固定版本,防止胡乱升级。 - `:NeoBundleList`:列出所有未初始化的插件。 - `:NeoBundleClean`:进入交互界面,删除插件。 @@ -59,7 +59,7 @@ NeoBundle 依赖 Vim 7.2.051 或更高版本,依赖 git,依赖 [cURL][12]( ### 是否使用 NeoBundle,自己决定 ### -NeoBundle 是强大的工具,正处于高速开发状态。任何处于这种状态的项目,都会被帖上“有前途”和“不稳定”两个标签,看你自己怎么选。如果你想要最新的稳定版本的插件,NeoBundle 可以让 Vundle 和 Pathogen 永远保持在老界面。 +NeoBundle 是强大的工具,正处于高速开发状态。任何处于这种状态的项目,都会被帖上“有前途”和“不稳定”两个标签,看你自己怎么选。如果你想要最新的稳定版本的插件,NeoBundle 能够把 Vundle 和 Pathogen 甩出几条街。 然而在线帮助文档已经给出警告,它不是个稳定的产品,不及时更新版本可能造成一些插件运行出错。最后,你需要在 .vimrc 文件为你的 Neoundle 和其他插件指定一个稳定的版本。记住这警告,然后你可以在使用这些尖端技术产品时游刃有余。 @@ -67,7 +67,7 @@ NeoBundle 是强大的工具,正处于高速开发状态。任何处于这种 via: http://www.openlogic.com/wazi/bid/348084/Managing-Vim-extensions-with-NeoBundle -译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID) +译者:[bazz2](https://github.com/bazz2) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From d2fd577790be7c020880650e13e1c157ba4c0c2d Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Sun, 20 Jul 2014 12:08:03 +0800 Subject: [PATCH 155/291] Update 20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md --- ...bleshooting and Collecting Information of Linux Systems.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md b/sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md index d7137f39e4..30cb653e3e 100644 --- a/sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md +++ b/sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md @@ -1,3 +1,5 @@ +Translating by cvsher + 7 ‘dmesg’ Commands for Troubleshooting and Collecting Information of Linux Systems ================================================================================ The ‘dmesg‘ command displays the messages from the kernel ring buffer. A system passes multiple runlevel from where we can get lot of information like system architecture, cpu, attached device, RAM etc. When computer boots up, a kernel (core of an operating system) is loaded into memory. During that period number of messages are being displayed where we can see hardware devices detected by kernel. @@ -194,4 +196,4 @@ via: http://www.tecmint.com/dmesg-commands/ [1]:http://www.tecmint.com/12-practical-examples-of-linux-grep-command/ [t]:http://twitter.com/@nrdshrestha [f]:http://facebook.com/narad.shrestha.9 -[g]:http://plus.google.com/104542109955805873615?rel=author \ No newline at end of file +[g]:http://plus.google.com/104542109955805873615?rel=author From b5605909e5ae263adf616e0658689076b5abd386 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Sun, 20 Jul 2014 16:30:49 +0800 Subject: [PATCH 156/291] =?UTF-8?q?=E5=90=8C=E6=AD=A5LCTT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ow to analyze Squid logs with SARG log analyzer on CentOS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md b/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md index 857c6ea5b2..a2305df5ee 100644 --- a/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md +++ b/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md @@ -114,4 +114,4 @@ via: http://xmodulo.com/2014/07/analyze-squid-logs-sarg-log-analyzer-centos.html [1]:http://xmodulo.com/2014/06/squid-transparent-web-proxy-centos-rhel.html [w]:http://amar-linux.blogspot.com/ [t]:http://twitter.com/SarmedRahman -[l]:http://www.linkedin.com/in/sarmedrahman \ No newline at end of file +[l]:http://www.linkedin.com/in/sarmedrahman From 9a2de66f5316f7501ef09a2ca4bcb5b0cd450a90 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Sun, 20 Jul 2014 16:35:27 +0800 Subject: [PATCH 157/291] =?UTF-8?q?[su-kaiyao]=20=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2.0.2 Version Control System Now Available for Download.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md b/sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md index 062b9565d6..e716694b8b 100644 --- a/sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md +++ b/sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md @@ -1,3 +1,5 @@ +[su-kaiyao]翻译中 + Git 2.0.2 Version Control System Now Available for Download ================================================================================ ![](http://i1-news.softpedia-static.com/images/news2/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147-2.jpg) @@ -29,4 +31,4 @@ via: http://news.softpedia.com/news/Git-2-0-2-Version-Control-System-Now-Availab [1]:https://github.com/git/git/blob/master/Documentation/RelNotes/2.0.2.txt [2]:https://github.com/git/git/archive/v2.0.2.tar.gz [3]:http://git-scm.com/download/linux -[4]:http://git-scm.com/download/linux \ No newline at end of file +[4]:http://git-scm.com/download/linux From 31365489467ed471df093295f1beea96fecea741 Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 20 Jul 2014 17:37:10 +0800 Subject: [PATCH 158/291] PUB:Raspberry Pi s Eben Upton--How We're Turning Everyone Into DIY Hackers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @zpl1025 这篇好长,也比较难翻译,你翻译的很好,辛苦啦! --- ...We're Turning Everyone Into DIY Hackers.md | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) rename {translated/talk => published}/Raspberry Pi s Eben Upton--How We're Turning Everyone Into DIY Hackers.md (92%) diff --git a/translated/talk/Raspberry Pi s Eben Upton--How We're Turning Everyone Into DIY Hackers.md b/published/Raspberry Pi s Eben Upton--How We're Turning Everyone Into DIY Hackers.md similarity index 92% rename from translated/talk/Raspberry Pi s Eben Upton--How We're Turning Everyone Into DIY Hackers.md rename to published/Raspberry Pi s Eben Upton--How We're Turning Everyone Into DIY Hackers.md index 83d6ff53cc..5953df559e 100644 --- a/translated/talk/Raspberry Pi s Eben Upton--How We're Turning Everyone Into DIY Hackers.md +++ b/published/Raspberry Pi s Eben Upton--How We're Turning Everyone Into DIY Hackers.md @@ -1,7 +1,8 @@ -来自树莓派的Eben Upton:我们是怎么让大家都成为DIY黑客的。 +树莓派的联合创始人访谈——我们是怎么让大家都成为DIY黑客的 ================================================================================ > 请记住它是为喜欢折腾的人准备的只要35美元的计算机 +![](http://a2.files.readwrite.com/image/upload/c_fill,h_900,q_70,w_1600/MTIyMjkzMzI3NjMzNjA3OTYx.jpg) 我永远不会忘记我第一次看到树莓派的情形。那个小巧的,信用卡大小的计算机,性能却足够强劲,可以作为一般家用PC,媒体中心,电视游戏机,或是其他任何你能够想像的东西。只有35美元的价格,它是任何年龄段的动手爱好者都可以拥有的小东西,可以在上面捣腾硬件和软件试验,而不用担心会弄坏昂贵的家庭电脑。 [Eben Upton][1],是树莓派基金会的共同创始人,通常被誉为这个神奇机器背后的魔法师。在剑桥大学的计算机实验室攻读哲学博士学位的时候,他费尽苦心地手工打造了树莓派的原型机。 @@ -14,17 +15,17 @@ ReadWrite网: 一开始是什么让你对技术这么感兴趣?它又是如何 **Eben Upton**: 在我还是孩子的时候就开始对技术感兴趣了。我有个对工程技术有很大兴趣的父亲,他自己不是工程师,而是一个英语老师。我们的房子里经常到处堆着各种电子器件,在还不知道这些东西是干嘛的时候,我就开始摆弄了。都是些小玩意,比如在床头装个灯,在“关灯”后还可以继续看书之类的。 -![](http://readwrite.com/files/raspberry%20pi%20black-and-white%20flickr%20johan%20larsson.jpg) +![](http://a5.files.readwrite.com/image/upload/c_fit,q_80,w_630/MTIyMzAxOTQxOTk1ODI2NDU3.jpg) 之后我有了一台计算机。在英国,我们把这种机器叫做[BBC微计算机][2],实际上是8位单片机,做教学用的。我们在学校的时候接触到这种机器,我之后就学会了编程,而且还蛮喜欢的。 这些机器在学校里并不一定是用来编程的,或者说他们根本不是用来编程的,一般都运行教学软件。但是我却给它编程,之后我还买了一台回家,在我买了这台BBC微机后,我就泡在了房间里,再没出来过。[笑] -编程对于小孩来说太神奇了。当你还是小孩的时候,并没有太多力量。没有听话的随从,反而身边有很多的限制。编程最伟大的地方在于,这是一个可以让你随喜所欲的小世界。而这当然让我无法抗拒。 +编程对于小孩来说太神奇了。当你还是小孩的时候,并没有太多力量。没有听话的随从,反而身边有很多的限制。编程最伟大的地方在于,这是一个可以让你随心所欲的小世界。而这当然让我无法抗拒。 -我一直都对科学和数学,以及硬科学学科感兴趣。我在我的BBC微机上做了大量的计算和编程,之后我拥有了一台Commodore Amiga。 +我一直都对科学和数学,以及理科感兴趣。我在我的BBC微机上做了大量的计算和编程,之后我拥有了一台Commodore Amiga。 -在大学里我学习了物理,工程和计算机科学。这是激发树莓派项目想法的原因,因为当我在学校呆了10年的时候[当时在读博士学位],我发现那些新来的孩子们在他们小时候并没有机会获得这方面的经验。你也许仍然能拥有乐高玩具,但是问题是梯子。 +在大学里我学习了物理,工程和计算机科学。这是激发树莓派项目想法的原因,因为当我在学校呆了10年的时候[当时在读博士学位],我发现那些新来的孩子们在他们小时候并没有机会获得这方面的经验。你也许仍然能拥有乐高玩具,但是它不是我们要的梯子。 在一定程度上我们把身后的梯子撤掉了。我们造出了这些非常复杂而且用户友好的计算机给小孩使用,或者不仅仅是计算机,还包括电视游戏机,电话和平板,以及一些家用电器。但是,人们却没有机会自己动手改一改。所以实际上,树莓派是回到最初的一种尝试,当然也不会过于原始,希望找到在过去25年里计算机发展中迷失掉的那种感觉。 @@ -34,7 +35,7 @@ ReadWrite网: 一开始是什么让你对技术这么感兴趣?它又是如何 另外一件麻烦事是募集资金。我们是非营利组织,所以我们得去找人赞助,而这最后都变成了董事会中的几个人自掏腰包。我们有25万美元的启动资金是从我和其他几个成员自己借的。所以我觉得,当初这样做还挺有勇气。 -![](http://readwrite.com/files/raspberry%20pi%20flickr%20clive%20darra.jpg) +![](http://a4.files.readwrite.com/image/upload/c_fit,q_80,w_960/MTIyMzAxOTQzODc0ODgwMTAy.jpg) ### 从东方到西方 ### @@ -62,7 +63,7 @@ ReadWrite网: 一开始是什么让你对技术这么感兴趣?它又是如何 **EU:** 我们尝试过基于所谓的微控制器技术做了几台机器。不知道你有没有听过一个叫Arduino的[开源电子原型]平台?它们的性能跟Arduino是一个级别的,优点是很容易买到,是常用的元器件,非常便宜,也很容易掌握。 -![](http://readwrite.com/files/raspberry%20pi%20pibow%20flickr%20peet%20sneekes.jpg) +![](http://a2.files.readwrite.com/image/upload/c_fit,q_80,w_630/MTIyMzAxOTQ1NzU0MDUzOTEz.jpg) 所以我们试了一下。最后的成品只能从技术上来说还是计算机,你可以把它接到电视机或其他显示设备上。但是,它太原始了,很明显不能吸引孩子们的兴趣。这个是一号原型机,它在爱尔兰一家博物馆的叫“失败”的展览中展出[笑]。我下个月会去看看。它现在被装载一个玻璃盒子里,作为一次辉煌失败的典型。 @@ -76,13 +77,13 @@ ReadWrite网: 一开始是什么让你对技术这么感兴趣?它又是如何 真正的突破是三号原型机。我们从Broadcom拿到了另一种应用了ARM处理器的芯片,可以直接运行标准Linux。我们意识到终于可以做出能够满足所有的需求的机器了,这就是我们推向市场的产品。 -### 黑黑下一代黑客 ### +### 黑一黑下一代黑客 ### **RW:** 八岁的孩子就开始用树莓派做项目了。这在你意料中吗,还是说让你意外了? **EU:** 八岁是很好的年纪。我想每个人都会把自己开始编程的年龄定义成合适的年龄。我就是八岁开始编程的。某种程度上来说,孩子们所需要的只是年龄大到拥有相对完整的认知技能,或者说是解决问题的技能。也许在学校学一点数学就够了。 -![](http://readwrite.com/files/raspberry%20pi%20lego%20flickr%20luca%20sbardella.jpg) +![](http://a2.files.readwrite.com/image/upload/c_fit,q_80,w_630/MTIyMzAxOTQ3MzY0NTQxMDMw.jpg) 年龄大到可以计划任务,编程就是终极的计划任务。还是得有一定的智力基础去做这个事情。八岁的时候,大多数孩子在自己的思维上已经非常成熟了。另外还需要敏捷的身手,对更小的孩子来说还存在一个问题就是,他们还不够灵巧去使用键盘。 @@ -118,9 +119,9 @@ ReadWrite网: 一开始是什么让你对技术这么感兴趣?它又是如何 **RW:** 你怎么看现在出现的主流硬件黑客文化? -**EU:** 我觉得,这太美妙了,不是吗?这是在软件工程领域里完全无法想到的。我接触这些之前就有软件背景,所以,实际上人们用树莓派制作的多数很酷的东西都是硬件相关的,让我很惊讶。当然现在没那么吃惊了,不过一开始是有的。 +**EU:** 我觉得,这太美妙了,不是吗?这是在软件工程领域里完全无法想到的。我接触这些之前就有软件背景,所以,实际上人们用树莓派制作的大多数很酷的东西都是硬件相关的,让我很惊讶。当然现在没那么吃惊了,不过一开始是有的。 -![](http://readwrite.com/files/raspberry%20pi%20robot%20flickr%20ashley%20basil.jpg) +![](http://a3.files.readwrite.com/image/upload/c_fit,q_80,w_630/MTIyMzAxOTQ5NTEyMDI0Njc4.jpg) 我认为这是非常积极的趋势,基于所有这些因素。因为它给孩子们带来了相关的经验。在我看来,在屏幕上移动一下像素还是很酷的,不过事实上,它没有像80年代那样酷了。我觉得,在现实世界里移动一些物体,比如机器人,对于现在的孩子来说是非常酷的。 @@ -152,11 +153,11 @@ ReadWrite网: 一开始是什么让你对技术这么感兴趣?它又是如何 显然,我们同时也必须做一点[硬件方面]的事情。我真的不知道具体在什么时候。如果到了2017,2018,我们还在销售树莓派B型的话,那也挺糟糕的。但是,我认为我们也许在一年后再认真考虑后面要做什么。 -**RW:** 很多人的项目同时用到了派和Arduino,一个DIY电子调试工具套件。你在设计派的时候,有考虑类似Arduino的工具吗? +**RW:** 很多人的项目同时用到了派和Arduino(一个DIY电子调试工具套件)。你在设计派的时候,有考虑类似Arduino的工具吗? **EU:** 实际上没有,但是我们很早就意识到,媒体可能会倾向于把我们和Arduino看作竞争者。对于这件事情我们有点多疑,我觉得,因为我认为派和Arduino分别处理不同的事情,而且他们都做得很好。 -我们并没有把它设计成配合Arduino工作,但是Arduino被设计成配合家用PC一起工作。所以,我们为Arduino制作了一台非常低功耗的家用PC。所以好吧,只是巧合,我猜。 +我们并没有把它设计成配合Arduino工作,但是Arduino被设计成配合家用PC一起工作。所以,我们实际上为Arduino制作了一台非常低功耗的家用PC。所以好吧,只是巧合,我猜。 **RW:** 你在家里用树莓派做什么?工作中呢? @@ -169,13 +170,14 @@ ReadWrite网: 一开始是什么让你对技术这么感兴趣?它又是如何 不过,看到这么多的人喜欢它,看到它被出现在各种不同的地方,也是很开心的。我听说在《生活大爆炸》中提到了我们,我要去找找是哪一集。它出现在所有的这些不可思议的地方。真是非常开心,看到这么多人把它放在心上,开始用它做点事情。 承蒙树莓派基金会提供Eben Upton的图片; + 树莓派图片来自Flickr用户:[Johan Larsson][5], [Clive Darra][6], [Pete Sneekes][7], [Luca Sbardella][8]和[Ashley Basil][9] -------------------------------------------------------------------------------- -via: http://readwrite.com/2014/04/08/raspberry-pi-eben-upton-builders#awesm=~oBGnazhOCOfaUd +via: http://readwrite.com/2014/04/08/raspberry-pi-eben-upton-builders -译者:[zpl1025](https://github.com/zpl1025) 校对:[校对者ID](https://github.com/校对者ID) +译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 0d6fd7bac47d453bba1fb533056d91995dc4a5ef Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 20 Jul 2014 17:39:00 +0800 Subject: [PATCH 159/291] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E7=AC=94=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- published/20140630 Ubuntu 14.04 LTS--Customizing Unity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/published/20140630 Ubuntu 14.04 LTS--Customizing Unity.md b/published/20140630 Ubuntu 14.04 LTS--Customizing Unity.md index 9c05b5486b..eb3726fe6f 100644 --- a/published/20140630 Ubuntu 14.04 LTS--Customizing Unity.md +++ b/published/20140630 Ubuntu 14.04 LTS--Customizing Unity.md @@ -1,6 +1,6 @@ Ubuntu 14.04 LTS: 定制 Unity ================================================================================ -虽然Unity桌面管理器自从伴随 Ubuntu 11.01首次发布以来表现出了强劲的性能,并在可用性上迈进了一大步,但是有人对自定义其外观和行为所带的限制感到反感。我们现在来看看如何自定义Unity,让你重拾自己掌控桌面的感觉。 +虽然Unity桌面管理器自从伴随 Ubuntu 11.10首次发布以来表现出了强劲的性能,并在可用性上迈进了一大步,但是有人对自定义其外观和行为所带的限制感到反感。我们现在来看看如何自定义Unity,让你重拾自己掌控桌面的感觉。 ### Unity中的可用定制项目 ### From 58d74cb8641a83dc96ad80ffbb7af02549ac425f Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 20 Jul 2014 17:54:19 +0800 Subject: [PATCH 160/291] PUB:20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X) @geekpi --- ...reate sosreport in linux (RHEL 5.X or RHEL 6.X).md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) rename {translated/tech => published}/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md (57%) diff --git a/translated/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md b/published/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md similarity index 57% rename from translated/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md rename to published/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md index 795dd0e31b..00569b6586 100644 --- a/translated/tech/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md +++ b/published/20140702 How to create sosreport in linux (RHEL 5.X or RHEL 6.X).md @@ -1,11 +1,10 @@ -如何在linux中创建sosreport(RHEL 5.X / RHEL 6.X) +如何用sosreport在Linux上创建诊断信息 ================================================================================ -**Sosreport**是linux中的一个命令**RHEL / CentOS**),它会收集**系统配置**和你linux机器上如正在运行的内核版本、加载的模块和系统和服务配置文件之类的诊断信息。这个命令同样可以运行外部的程序来收集更多的信息,并存储这些输出到一个结论文档中。 +**Sosreport**是**RHEL / CentOS**上的一个命令,它会收集**系统配置**和你linux机器上的诊断信息,如正在运行的内核版本、加载的模块和系统和服务配置文件之类的信息。这个命令同样可以运行外部的程序来收集更多的信息,并存储这些输出到一个结论文档中。 Sosreport在你需要获得redhat的技术支持时需要它。Redhat的支持工程师会要求你服务器上的sosreport来用于故障排除。 -To run sosreport , **sos** package should be installed. Sos package is part of default installation in most of linux. If for any reason this package is no installed , then use below yum command to install **sos package** : -要运行sosreport,需要安装**sos** 包。Sos包是大多是linux的默认安装包中的一部分。如果有任何原因没有安装,那么运行下面的yum命令来安装**sos 包** : +要运行sosreport,需要安装**sos** 包。sos包是大多是linux的默认安装包中的一部分。如果因为某种原因没有安装,那么运行下面的yum命令来安装**sos 包** : # yum install sos @@ -15,7 +14,7 @@ To run sosreport , **sos** package should be installed. Sos package is part of d # sosreport -这条命令正常情况下会在**几分钟**里完成。根据本地配置,在某些情况下,某些选项可能需要更长的时间才能完成。一旦完成,sosreport将在**/ tmp目录**目录中生成压缩文件。不同版本使用不同的压缩方案(** gz,bz2,或xz**)。该文件应提供给红帽的支持代表(在开放的情况下通常作为附件)。 +这条命令正常情况下会在**几分钟**里完成。根据本地配置,在某些情况下,某些选项可能需要更长的时间才能完成。一旦完成,sosreport将在**/ tmp目录**目录中生成一个压缩文件。不同版本使用不同的压缩方案(** gz,bz2,或xz**)。该文件应提供给红帽的支持代表(在开放的情况下通常作为附件)。 **注意**:sosreport需要root权限才能运行。 @@ -38,6 +37,6 @@ sosreport命令有一个**模块化结构**,并允许用户启用和禁用模 via: http://www.linuxtechi.com/how-to-create-sosreport-in-linux/ -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file From 2d9679c66935fabac4da19b252f82872d1319db9 Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 20 Jul 2014 18:01:03 +0800 Subject: [PATCH 161/291] PUB:20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip] @JonathanKang --- ... Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename {translated/tech => published}/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md (91%) diff --git a/translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md b/published/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md similarity index 91% rename from translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md rename to published/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md index 7315301b06..48fae9f0be 100644 --- a/translated/tech/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md +++ b/published/20140701 How To Add Multiple Timezones In Ubuntu 14.04 [Quick Tip].md @@ -1,4 +1,4 @@ -如何在Ubuntu 14.04中添加多时区时间 [小技巧] +[小白技巧]如何在Ubuntu 14.04中添加多个时区时间 ================================================================================ 如果你需要和多时区时间打交道的话,你一定希望你的电脑时钟可以显示多个时区的时间。作为一个移居国外的人,我需要关注法国和印度的时间。在Ubuntu系统中,你可以进行简易的设置来添加多时区时间。 @@ -6,7 +6,7 @@ ### 在Ubuntu 14.04系统中添加多时区时间 ### -打开系统设置(按下标有微软徽标的按键,在Dash中搜索“系统设置”),进入”时间&日期“选项。 +打开系统设置(按下标有微软徽标的按键,在Dash中搜索“系统设置”),进入“时间&日期”选项。 接下来,进入**时钟**标签页,找到**其他时区时间**选项,然后点击**选择地区**按钮。 @@ -20,7 +20,7 @@ ![multiple timezone displayed in Ubuntu 14.04](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Multiple_Timezones_display_Ubuntu.png) -好好的感受Ubuntu多时区时钟给你带来的便捷吧。:) +体验下Ubuntu多时区时钟给你带来的便捷吧。:) ---------- @@ -34,7 +34,7 @@ via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/ -译者:[JonathanKang](https://github.com/JonathanKang) 校对:[校对者ID](https://github.com/校对者ID) +译者:[JonathanKang](https://github.com/JonathanKang) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From b7ecc7b5ae594dcdca9307e51f7279ab71df3d59 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Sun, 20 Jul 2014 18:36:27 +0800 Subject: [PATCH 162/291] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ntrol System Now Available for Download.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 translated/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md diff --git a/translated/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md b/translated/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md new file mode 100644 index 0000000000..519e5a0a79 --- /dev/null +++ b/translated/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md @@ -0,0 +1,34 @@ +Git 2.0.2版本控制系统现在可供下载使用了 +================================================================================================================================================== + +![](http://i1-news.softpedia-static.com/images/news2/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147-2.jpg) + +**Git 2.0.2,一个免费和开源的分布式版本控制系统,因其处理速度和效率的优势,它可以处理大大小小各种项目,如今已正式发布** + +新的Git 2.0.x分支保持着大释放的趋势,它整合了大量的改变和修正。最新一次更新可能只是维护的一个,但是它的功能特性的确有一些有趣的修改 + +根据开发者的描述:"git submodule sync(git子模块的同步)"的文档中提到子命令可以采用"--recursive"(递归)的选项;在.gitignore中跟踪引用反斜杠的SPs的处理不当已经被纠正;对"git repack"命令的更新,将不再错误地复制那些被.keep标签标记的pack目录下的对象 + +还有,"git clone -b brefs/tags/bar"不再认为git遵循一个单一的标签,尽管它是一个分支的名称;"%G(G后面没有跟任何东西)"是一个无效的漂亮的格式说明符,现在的解析器不再对它进行解析;用于避免增加相同替代对象的存储的代码经过了两次修正,而且其余的几个修正也已经实现 + +想要查看完整的改变列表,查看[changelog][1] + +下载Git 2.0.2: + +- [tar.gz][1][sources] [4.70 MB] +- [Debian/Ubuntu DEB ALL][2][ubuntu_deb] [0 KB] +- [Red Hat/Fedora/Mandriva/openSUSE RPM noarch][3][rh_rpm] [0 KB] + +------------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147.shtml + +译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://github.com/git/git/blob/master/Documentation/RelNotes/2.0.2.txt +[2]:https://github.com/git/git/archive/v2.0.2.tar.gz +[3]:http://git-scm.com/download/linux +[4]:http://git-scm.com/download/linux + From 016bc4b1a9a8934c57547c7d28da70ea487ba019 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Sun, 20 Jul 2014 18:43:40 +0800 Subject: [PATCH 163/291] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ntrol System Now Available for Download.md | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md diff --git a/sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md b/sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md deleted file mode 100644 index e716694b8b..0000000000 --- a/sources/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md +++ /dev/null @@ -1,34 +0,0 @@ -[su-kaiyao]翻译中 - -Git 2.0.2 Version Control System Now Available for Download -================================================================================ -![](http://i1-news.softpedia-static.com/images/news2/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147-2.jpg) - -**Git 2.0.2, a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency, has been officially released.** - -The new Git 2.0.x branch continues the trend of large releases, integrating a big number of changes and fixes. This latest update may be just a maintenance one, but it does feature some interesting modifications. - -According to the developers, the documentation for the "git submodule sync" mentions that the subcommand can take the "--recursive" option, the mishandling of patterns in .gitignore that had trailing SPs quoted with backslashes has been corrected, and the Recent updates to "git repack" no longer duplicate objects that are in the packfiles marked with .keep flag by mistake. - -Also, "git clone -b brefs/tags/bar" no longer thinks that git follows a single tag, even though it was a name of the branch, "%G" (nothing after G) is an invalid pretty format specifier and now the parser knows that it's garbage, the code used to avoid adding the same alternate object store twice has been fixed, and a couple of other fixes have been implemented. - -For a complete list of changes, check out the [changelog][1]. - -Download Git 2.0.2: - -- [tar.gz][1][sources] [4.70 MB] -- [Debian/Ubuntu DEB ALL][2][ubuntu_deb] [0 KB] -- [Red Hat/Fedora/Mandriva/openSUSE RPM noarch][3][rh_rpm] [0 KB] - --------------------------------------------------------------------------------- - -via: http://news.softpedia.com/news/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147.shtml - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://github.com/git/git/blob/master/Documentation/RelNotes/2.0.2.txt -[2]:https://github.com/git/git/archive/v2.0.2.tar.gz -[3]:http://git-scm.com/download/linux -[4]:http://git-scm.com/download/linux From 40f5e9ac2fc5e89e58b04b7c8191a07f9855d68b Mon Sep 17 00:00:00 2001 From: joeren Date: Sun, 20 Jul 2014 20:26:18 +0800 Subject: [PATCH 164/291] Update 20140711 How to simulate key press and mouse movement in Linux.md --- ...11 How to simulate key press and mouse movement in Linux.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140711 How to simulate key press and mouse movement in Linux.md b/sources/tech/20140711 How to simulate key press and mouse movement in Linux.md index a0413a31a1..1d8a628b72 100644 --- a/sources/tech/20140711 How to simulate key press and mouse movement in Linux.md +++ b/sources/tech/20140711 How to simulate key press and mouse movement in Linux.md @@ -1,3 +1,4 @@ +Translating by GOLinux ... How to simulate key press and mouse movement in Linux ================================================================================ Have you ever dreamed of your computer doing stuff automatically for you? Probably not if you just watched Terminator. But except for that, scripting and task automation are every power user's dreams. If a lot of solutions exist today to fit such goal, it is sometimes hard to pick the simple, smart, and efficient one out of the lot. I cannot pretend to have found it myself, but in the mean time, my preference goes to neat software called xdotool. Its approach is intuitive as it stands as an X11 automation tool. In other words, xdotool can simulate key presses and even mouse events from reading a text file. @@ -101,4 +102,4 @@ via: http://xmodulo.com/2014/07/simulate-key-press-mouse-movement-linux.html 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html -[2]:http://www.semicomplete.com/projects/xdotool/ \ No newline at end of file +[2]:http://www.semicomplete.com/projects/xdotool/ From 168986017daacdece6df57c5c0a4dd97c74e85e4 Mon Sep 17 00:00:00 2001 From: GOLinux Date: Sun, 20 Jul 2014 21:38:57 +0800 Subject: [PATCH 165/291] Translated:How to simulate key presses and mouse movement in Linux.md --- ...e key press and mouse movement in Linux.md | 105 -------------- ...e key press and mouse movement in Linux.md | 131 ++++++++++++++++++ 2 files changed, 131 insertions(+), 105 deletions(-) delete mode 100644 sources/tech/20140711 How to simulate key press and mouse movement in Linux.md create mode 100644 translated/tech/20140711 How to simulate key press and mouse movement in Linux.md diff --git a/sources/tech/20140711 How to simulate key press and mouse movement in Linux.md b/sources/tech/20140711 How to simulate key press and mouse movement in Linux.md deleted file mode 100644 index 1d8a628b72..0000000000 --- a/sources/tech/20140711 How to simulate key press and mouse movement in Linux.md +++ /dev/null @@ -1,105 +0,0 @@ -Translating by GOLinux ... -How to simulate key press and mouse movement in Linux -================================================================================ -Have you ever dreamed of your computer doing stuff automatically for you? Probably not if you just watched Terminator. But except for that, scripting and task automation are every power user's dreams. If a lot of solutions exist today to fit such goal, it is sometimes hard to pick the simple, smart, and efficient one out of the lot. I cannot pretend to have found it myself, but in the mean time, my preference goes to neat software called xdotool. Its approach is intuitive as it stands as an X11 automation tool. In other words, xdotool can simulate key presses and even mouse events from reading a text file. - -### Installation of Xdotool on Linux ### - -For Ubuntu, Debian or Linux Mint, you can just do: - - $ sudo apt-get install xdotool - -For Fedora, use yum command: - - $ sudo yum install xdotool - -For CentOS user, the package is available in [EPEL repo][1]. After enabling EPEL repo, simply use yum command as above. - -For Arch user, the package is available in the Community repo: - - $ sudo pacman -S xdotool - -If you cannot find xdotool for your distribution, you can always download it from the [official website][2]. - -### Basic Usage of Xdotool ### - -As intuitive as it is, xdotool remains a scripting application. Hence you have to know the syntax in order to use it properly. Rest assured though, the syntax is very simple and quick to pick up, relative to the extent of the program's features. - -First, it is very easy to simulate key press. From the terminal, you can type the command: - - $ xdotool key [name of the key] - -If you want to chain two keys, use the "+" operator between them. So: - - $ xdotool key alt+Tab - -will switch window for you. - -To have xdotool type for you, use the type command: - - $ xdotool type '' - -That's already enough for basic key pressing. But one of the many strengths of xdotool is its ability to put the focus on a particular window. It can fetch the right window, and then type in it, preventing all your recorded keystrokes to just vaporize in thin air. For this, the simplest command is: - - $ xdotool search --name [name of the window] key [keys to press] - -This will search through the opened window for one with the name matching the search, give it the focus, and then simulate the key pressing. - -A bit more advanced, but very useful, xdotool can simulate mouse movement and click. With: - - $ xdotool mousemove x y - -you can place the cursor at coordinates (x,y) of your screen (in pixels). You can also combine it with the "click" argument: - - $ xdotool mousemove x y click 1 - -This will move the mouse to (x,y), and click with the left button. The "1" represents the left button of the mouse, "2" would be the scroll wheel, "3" the right button, etc. - -Finally, once you have your commands in mind, you might want to actually dump it in a file to edit and play. For that, there is more than one syntax. You can write is a bash script: - - #!/bin/bash - - xdotool [command 1] - xdotool [command 2] - etc - -Or you can use: - - $ xdotool [filename] - -where you write your commands in a separate file and plug its name as the argument. - -### Bonus ### - -As a bonus to this post, here is a concrete example of xdotool in action. You may or may not have heard of Bing, the Microsoft's search engine. In the latter case, you have then never heard of Bing Rewards: a program that allows you to trade Bing points for Amazon's and other gift cards. To earn those points, you can do up to 30 searches a day on Bing, each search giving you 0.5 point. In other words, you have to make Bing your default search engine, and use it every day. - -Or, you can use this xdotool script, which will automatically give focus to Firefox (replace it with your favorite navigator), and perform a search using the fortune command to generate some random words. In about 30 seconds, all your daily searches will be done. - - #!/bin/bash - - for i in {1..30} - do - WID=`xdotool search --title "Mozilla Firefox" | head -1` - xdotool windowfocus $WID - xdotool key ctrl+l - xdotool key Tab - SENTENCE="$(fortune | cut -d' ' -f1-3 | head -1)" - xdotool type $SENTENCE - xdotool key "Return" - sleep 4 - done - -To conclude, I really like xdotool even if its full capabilities extend way beyond the scope of this post. It is a really approachable way to scripting and task automation. The downside is that it probably is not the most efficient one. But again, it does the job, and isn't too much of a bother to learn. - -What are your thoughts on xdotool? Do you prefer another automation tool to it? And why? Let us know in the comments. - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2014/07/simulate-key-press-mouse-movement-linux.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html -[2]:http://www.semicomplete.com/projects/xdotool/ diff --git a/translated/tech/20140711 How to simulate key press and mouse movement in Linux.md b/translated/tech/20140711 How to simulate key press and mouse movement in Linux.md new file mode 100644 index 0000000000..c7d9906f21 --- /dev/null +++ b/translated/tech/20140711 How to simulate key press and mouse movement in Linux.md @@ -0,0 +1,131 @@ +在Linux中模拟击键和鼠标移动 +================================================================================ +你是否曾经拥有一个梦 + ——你的计算机 + 可以自动为你干活? +或许,并非因为 + 你刚看了终结者。 +然而,除此之外 + 脚本和任务自动化 + 是每个高级用户追寻的梦 +如果今天 + 有许多的解决方案 + 可以满足这个目标 +那么 + 有时候 + 就难以从那众多之中采撷那 + 简洁、聪明而又高效的一个 +我 + 不能假装 + 是我自己发现了它 +而与此同时 + 却偏爱着那个 + 整洁的软体——xdotool +其方法是如此直观 + 正如它作为X11自动化工具的表露 +转换思想 + xdotool可以通过读取文本文件 + 模拟击键的旋律 + 以及鼠标的曼舞 + + +### 让Xdotool在Linux定居 ### +对于Ubuntu,Debian或者Linux Mint,你能够只做: + + $ sudo apt-get install xdotool + +对于Fedora,请使用yum命令: + + $ sudo yum install xdotool + +对于CentOS用户,可以在[EPEL repo][1]中找到该包。在启用EPEL仓库后,只要使用上面的yum命令就可以达成你的愿望。 + +对于Arch用户,可在Community仓库中找到该包: + + $ sudo pacman -S xdotool + +如果你还是找不到你的发行版的对应xdotool,你可以从它的[官方站点][2]下载。 + +### Xdotool基本功 ### + +虽然xdotool是那样的直观,但它仍然是个脚本程序。因此,为了要正确地使用它,你还是得了解它的语法。不过敬请放心,相对于程序的功能而言,语法还是比较简单易学的。 + +首先,模拟击键是很容易的。你可以从终端敲入下面的命令: + + $ xdotool key [name of the key] + +如果你想要连接两个键,可以在它们之间使用“+”操作符。它看起来像这样: + + $ xdotool key alt+Tab + +这两个组合键可以为你切换窗口。 + +要想让xdotool帮你输入,可以使用以下命令: + + $ xdotool type '' + +这些对于基本的击键而言已经足够了。但是,xdotool的众多长处之一,就是它可以获取特定窗口的焦点。它可以获取右边的窗口,然后在里面输入,同时阻止所有你记录的按键,让那些动作随风而逝吧。要获得该功能,一个简单的命令可以搞定: + + $ xdotool search --name [name of the window] key [keys to press] + +该命令将在打开的窗口中搜索对应名称的窗口,并聚焦于该窗口,然后模拟击键。 + +来点更高级的,但很有用哦,xdotool可以模拟鼠标移动和点击,看这命令: + + $ xdotool mousemove x y + +你可以将光标定位到屏幕坐标(x,y)(像素)。你也可以使用“click”参数来组合: + + $ xdotool mousemove x y click 1 + +这会让鼠标移动到(x,y),然后点击鼠标左键。“1”代表鼠标左键,“2”则是滚轮,“3”则是右键。 + +最后,一旦你这些命令根植于你脑海,你也许想要实际转储于文件来编辑并试着玩玩。鉴于此,就会有超过一个语句以上的内容了。你可以写的就是一个bash脚本了: + + #!/bin/bash + + xdotool [command 1] + xdotool [command 2] + etc + +或者你可以使用: + + $ xdotool [filename] + +这里你将命令写入到一个独立的文件中,然后通过将文件名作为xdotool命令的参数。 + +### 意外收获 ### + +作为本文的一个意外收获,这里是xdotool的一个具体实例。你可能听说过,也可能没听说过Bing,微软的搜索引擎。在后面的实例中,你从没听过Bing奖励吧:一个程序,可以让你用Bing积分兑取亚马逊的礼物卡和其它的一些礼物卡。要赚取这些积分,你可以每天在Bing上搜索累计达30次,每次搜索你都会获得0.5个积分。换句话说,你必须把Bing设为默认搜索引擎,并每天使用它。 + +或者,你可以使用xdotool脚本,在这个脚本中,会自动聚焦到Firefox(你可以用你喜欢的浏览器来取代它),并使用fortune命令生成一些随机单词来实施搜索。大约30秒之内,你的日常搜索任务就完成了。 + + #!/bin/bash + + for i in {1..30} + do + WID=`xdotool search --title "Mozilla Firefox" | head -1` + xdotool windowfocus $WID + xdotool key ctrl+l + xdotool key Tab + SENTENCE="$(fortune | cut -d' ' -f1-3 | head -1)" + xdotool type $SENTENCE + xdotool key "Return" + sleep 4 + done + + +下面来个小结吧:我真的很喜欢xdotool,即便它完整功能超越了本文涵盖的范围。这对于脚本和任务自动化而言,确实是种平易的方式。负面的问题是,它可能不是最有效率的一个。但我要再说一遍,它忠于职守了,而且学习起来也不是那么麻烦。 + +你对xdotool怎么看呢?你是否更喜欢另外一个自动化工具,而不是它呢?为什么呢?请在评论中告诉我们吧。 + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/simulate-key-press-mouse-movement-linux.html + +译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html +[2]:http://www.semicomplete.com/projects/xdotool/ From bdf238668cc0bb9df5c24536a754d473e7430381 Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Sun, 20 Jul 2014 23:27:31 +0800 Subject: [PATCH 166/291] translated --- ...htweight Budgie Desktop in Ubuntu 14.04.md | 59 ------------------- 1 file changed, 59 deletions(-) delete mode 100644 sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md diff --git a/sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md b/sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md deleted file mode 100644 index 8614116006..0000000000 --- a/sources/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md +++ /dev/null @@ -1,59 +0,0 @@ -Love-xuan 翻译中 -How to Install Lightweight Budgie Desktop in Ubuntu 14.04 -================================================================================ -**If you follow us over on Twitter you may have caught a glimpse of a screenshot we shared recently, along with the invitation to name the desktop environment pictured. ** - -Did you guess correctly? The answer is [Budgie][1] — a simple desktop designed for, but not exclusive to, an openSUSE-based Linux distribution called Evolve OS. - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/BsCvTxJIcAAPjUR.png-large.png) - -We first wrote about Budgie back in March and were suitably bowled over by both the clean, minimal aesthetic and nimble framework, but also by the decision to reuse common components and the standard stack of GNOME 3.10 technologies readily available in most modern distributions. - -I’m a huge admirer of the development choices taken by the project lead, Ikey Doherty. There’s no denying that forking has its merits, but by deciding to favour upstream projects whole project is able to move faster, both development-wise (less technical debt) and in being available for users (easier to run on other distributions). - -Politics of choice aside, the desktop is clean and minimal with a nod to the Ash desktop of Google’s Chrome OS. If you don’t mind a few rough edges, its well worth a play with. But how do you install Budgie on Ubuntu? - -### Unofficial PPA is Unofficial ### - -Open source being what it is means if you have a bit of terminal know-how you can grab the source and get it up and running with a bit of wily compiling. - -But if you’re too lazy for that and happen to be running Ubuntu 14.04 LTS (or a distro based on it) you can get it the easy way. - -Just add one **unofficial PPA**, refresh your Software Sources and then install. A few minutes later and you’ll have both a new uncle in the family by the [name of Bob][2] and a new desktop shell to play with. - -### Add the Budgie PPA ### - -With a terminal window open copy and paste the following commands carefully, entering your password when/if prompted: - - sudo add-apt-repository ppa:sukso96100/budgie-desktop - sudo apt-get update && sudo apt-get install budgie-desktop - -### Log into the Budgie Session ### - -After installation you’ll be able to select ‘Budgie’ from the session selector of the Unity Greeter. (Don’t forget to change this back to a stable DE at a later date.) - -### Notes ### - -**Budgie is not stable, finished nor is it officially supported on Ubuntu**. It is in active development and features remain missing, including, but not limited to: no network management support, no volume control applet (keyboard keys will work fine), no notification system and no way to ‘pin’ apps to the task bar. - -It also doesn’t play too nicely with Ubuntu’s overlay scrollbars, some GTK themes, and session management (e.g., logout, restart, etc.) on distributions using Upstart (like Ubuntu, [though that’s changing][3]) does not work. - -As a workaround you can disable overlay scrollbars, set a different default theme and quit a session from the terminal using the following command: - - gnome-session-quit - -With all of those caveats in mind, I’d suggest those whose sanity hinges on a stable, dependable system avoid using it for now. - -But for the rest of you crazy folks? Well, let us know what you think of it in the comments below. I’m off to let Bob in. - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/07/install-budgie-evolve-os-desktop-ubuntu-14-04 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.omgubuntu.co.uk/2014/03/budgie-desktop-chrome-os-like -[2]:http://en.wikipedia.org/wiki/Bob -[3]:http://www.omgubuntu.co.uk/2014/02/ubuntu-debian-switching-systemd \ No newline at end of file From fb3be0e46ee84bec573e53512a637f6ec00ff41a Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 21 Jul 2014 13:01:42 +0800 Subject: [PATCH 167/291] PUB:20140718 Git 2.0.2 Version Control System Now Available for Download @su-kaiyao --- ...sion Control System Now Available for Download.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) rename {translated/news => published}/20140718 Git 2.0.2 Version Control System Now Available for Download.md (51%) diff --git a/translated/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md b/published/20140718 Git 2.0.2 Version Control System Now Available for Download.md similarity index 51% rename from translated/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md rename to published/20140718 Git 2.0.2 Version Control System Now Available for Download.md index 519e5a0a79..e13c2d8f60 100644 --- a/translated/news/20140718 Git 2.0.2 Version Control System Now Available for Download.md +++ b/published/20140718 Git 2.0.2 Version Control System Now Available for Download.md @@ -3,15 +3,15 @@ Git 2.0.2版本控制系统现在可供下载使用了 ![](http://i1-news.softpedia-static.com/images/news2/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147-2.jpg) -**Git 2.0.2,一个免费和开源的分布式版本控制系统,因其处理速度和效率的优势,它可以处理大大小小各种项目,如今已正式发布** +**Git 2.0.2如今已正式发布。这是一个免费和开源的分布式版本控制系统,因其处理速度和效率的优势,它可以处理大大小小各种项目。** -新的Git 2.0.x分支保持着大释放的趋势,它整合了大量的改变和修正。最新一次更新可能只是维护的一个,但是它的功能特性的确有一些有趣的修改 +新的Git 2.0.x分支保持着带来大量更新的传统,它整合了大量的改变和修正。这个最新的更新只是维护版,但是它的功能特性的确有一些有趣的修改。 -根据开发者的描述:"git submodule sync(git子模块的同步)"的文档中提到子命令可以采用"--recursive"(递归)的选项;在.gitignore中跟踪引用反斜杠的SPs的处理不当已经被纠正;对"git repack"命令的更新,将不再错误地复制那些被.keep标签标记的pack目录下的对象 +根据开发者的描述:"git submodule sync(git子模块的同步)"的文档中提到的子命令可以使用"--recursive"(递归)的选项;在.gitignore中跟踪引用反斜杠的空格的处理不当已经被纠正;对"git repack"命令的更新,将不再错误地复制那些被.keep标签标记的pack目录下的对象。 -还有,"git clone -b brefs/tags/bar"不再认为git遵循一个单一的标签,尽管它是一个分支的名称;"%G(G后面没有跟任何东西)"是一个无效的漂亮的格式说明符,现在的解析器不再对它进行解析;用于避免增加相同替代对象的存储的代码经过了两次修正,而且其余的几个修正也已经实现 +还有,"git clone -b brefs/tags/bar"不再认为git遵循一个单一的tag,尽管它是一个分支的名称;"%G(G后面没有跟任何东西)"是一个无效的漂亮的格式说明符,现在的解析器不再对它进行解析;用于避免增加相同替代对象的存储的代码经过了两次修正,而且其余的几个修正也已经完成。 -想要查看完整的改变列表,查看[changelog][1] +想要查看完整的改变列表,查看[changelog][1]。 下载Git 2.0.2: @@ -23,7 +23,7 @@ Git 2.0.2版本控制系统现在可供下载使用了 via: http://news.softpedia.com/news/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147.shtml -译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[校对者ID](https://github.com/校对者ID) +译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From ac6aeb7f4e58ba13a60d8a7bc2e62d89415b231f Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 21 Jul 2014 13:58:45 +0800 Subject: [PATCH 168/291] PUB:20140617 Make Ubuntu 14.04 Look Like Mac With Zukimac Theme @runningwater --- ...ke Ubuntu 14.04 Look Like Mac With Zukimac Theme.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) rename {translated/tech => published}/20140617 Make Ubuntu 14.04 Look Like Mac With Zukimac Theme.md (87%) diff --git a/translated/tech/20140617 Make Ubuntu 14.04 Look Like Mac With Zukimac Theme.md b/published/20140617 Make Ubuntu 14.04 Look Like Mac With Zukimac Theme.md similarity index 87% rename from translated/tech/20140617 Make Ubuntu 14.04 Look Like Mac With Zukimac Theme.md rename to published/20140617 Make Ubuntu 14.04 Look Like Mac With Zukimac Theme.md index 9e3765b52e..106aa37301 100644 --- a/translated/tech/20140617 Make Ubuntu 14.04 Look Like Mac With Zukimac Theme.md +++ b/published/20140617 Make Ubuntu 14.04 Look Like Mac With Zukimac Theme.md @@ -1,8 +1,8 @@ -Zukimac 主题使 Ubuntu 14.04 桌面变成 Mac 桌面 +在 Ubuntu 上体验 Mac 风格 ================================================================================ ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Make_Ubuntu_Look_Like_Mac_OS.jpeg) -虽然 Ubuntu Unity 本身已经是一款很漂亮的桌面了,但世界各地还是有很人被 Mac OS X 的外观所震撼。如果您恰好是其中之一,为了获得 OS X 的主题,是不需要换掉 Ubuntu 的,相反,您可以对它来个美化改造,**使 Ubuntu 14.04 看起来就像 Mac OS X**。 +虽然 Ubuntu Unity 本身已经是一款很漂亮的桌面了,但世界各地还是有很人被 Mac OS X 的外观所震撼。如果您恰好是其中之一,要获得 Mac OS X 一样外观体验,是不需要丢掉 Ubuntu 的,相反,您可以对它来个美化改造,**使 Ubuntu 14.04 看起来就像 Mac OS X**。 ### 让 Ubuntu 14.04 看起来像 Mac OS X ### @@ -12,11 +12,11 @@ Zukimac 主题使 Ubuntu 14.04 桌面变成 Mac 桌面 - 解压下载的 Zip 包,解压后会出现 Zukimac 和 Zukimac-ml 两个目录文件。把这些目录拷贝到您的 home 目录下的 .themes 文件夹中。进入 Home 目录中,按下快捷键 Ctrl+H 可以显示所有隐藏的文件,如果没有 .themes 文件夹,需要创建一个。 - 使用 [Unity Tweak Tool 来改变主题][2]. -就这些操作。Zukimac 提供了一些基本的 Mac OS 系统的外观和视窗感觉。下面是带有默认的 OS X MaVeric 壁纸的外观。 +就这些操作。Zukimac 提供了一些基本的 Mac OS 系统的外观和视窗感觉。下面是带有默认的 OS X Maveric 壁纸的外观。 ![Make Ubuntu 14.04 look like Mac OS X](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/Ubuntu_MAC_OS_Looks.jpeg) -### Ubuntu 14.04 中获得 Mac 感觉更多的调整### +### Ubuntu 14.04 中获得更多 Mac 体验 ### 通常,您可以**安装像 Plank 或 Docky 这样的 dock 启动面板**。在 Ubuntu 14.04 中要安装 Plank 可以使用下面的命令: @@ -42,7 +42,7 @@ Zukimac 主题使 Ubuntu 14.04 桌面变成 Mac 桌面 via: http://itsfoss.com/ubuntu-1404-mac-zukimac-theme/ -译者:[runningwater](https://github.com/runningwater) 校对:[校对者ID](https://github.com/校对者ID) +译者:[runningwater](https://github.com/runningwater) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 460b708d972f5ee9deed3f09ae5bf9c3cca6f884 Mon Sep 17 00:00:00 2001 From: joeren Date: Mon, 21 Jul 2014 18:33:52 +0800 Subject: [PATCH 169/291] Update 20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 代表LCTT消灭你 --- ... Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md b/sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md index 202a1c734f..b3244419e7 100644 --- a/sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md +++ b/sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md @@ -1,3 +1,4 @@ +Translating by GOLinux ... Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default ================================================================================ Sound problem is not new in Ubuntu. I have previously written on various ways to [fix “no sound” issue in Ubuntu][1]. But the soud issue I am going to discuss here is different than those mentioned in the other article. @@ -58,4 +59,4 @@ via: http://itsfoss.com/fix-sound-ubuntu-1404/ [3]:http://en.wikipedia.org/wiki/Alsamixer [4]:http://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/ [g]:https://plus.google.com/u/0/110180944531110746460 -[t]:https://twitter.com/abhishek_pc \ No newline at end of file +[t]:https://twitter.com/abhishek_pc From 4f7dc82b3e17c5aa63fbddc2a806706085d4a8ad Mon Sep 17 00:00:00 2001 From: bazz2 Date: Mon, 21 Jul 2014 18:58:48 +0800 Subject: [PATCH 170/291] [bazz2-ing...]Linux Kernel Testing and Debugging 1 --- sources/tech/20140718 Linux Kernel Testing and Debugging 1.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 1.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 1.md index f37f5a5c14..4db2d54b23 100644 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 1.md +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 1.md @@ -1,3 +1,4 @@ +[let bazz2 try it] Linux Kernel Testing and Debugging ================================================================================ ### Linux Kernel Testing Philosophy ### @@ -73,4 +74,4 @@ via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page [1]:http://events.linuxfoundation.org/images/stories/pdf/als2012_gregkh.pdf [2]:http://howtoubuntu.org/ [3]:http://linuxdriverproject.org/mediawiki/index.php/Cross-compiling_Linux_kernel_on_x86_64 -[4]:https://www.kernel.org/ \ No newline at end of file +[4]:https://www.kernel.org/ From fee8253f7337766ef2cb45d57df3fbbd4efb9457 Mon Sep 17 00:00:00 2001 From: GOLinux Date: Mon, 21 Jul 2014 19:18:42 +0800 Subject: [PATCH 171/291] Translated:Fix No Sound In Ubuntu 14.04 As HDMI Enabled By Default.md --- ...Ubuntu 14.04 As HDMI Enabled BY Default.md | 62 ------------------ ...Ubuntu 14.04 As HDMI Enabled BY Default.md | 63 +++++++++++++++++++ 2 files changed, 63 insertions(+), 62 deletions(-) delete mode 100644 sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md create mode 100644 translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md diff --git a/sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md b/sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md deleted file mode 100644 index b3244419e7..0000000000 --- a/sources/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md +++ /dev/null @@ -1,62 +0,0 @@ -Translating by GOLinux ... -Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default -================================================================================ -Sound problem is not new in Ubuntu. I have previously written on various ways to [fix “no sound” issue in Ubuntu][1]. But the soud issue I am going to discuss here is different than those mentioned in the other article. - -So I installed Ubuntu 14.04, actually re-installed it. As always, I did all those [things to do after a fresh install of Ubuntu 14.04][2]. And than I realized that the system had no sound. While investigating the issue I found one strange thing. I checked [alsamixer][3] and it was in a weird state: - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/alsamixer_Set_HDMI_Default.jpeg) - -As you can see, **HDMI is set by default in alsamixer**. Which means by default HDMI output has been selected instead of the built in speakers. This is why I get no sound from the built in speakers in my system. - -Use the following command to check the state of alsamixer: - - alsamixer - -If alsamixer is set by default to HDMI or some other audio output, continue this article to see how can we fix it. - -### Fixing no sound in Ubuntu when HDMI is set as default ### - -Now to force Ubuntu to use analog output instead of HDMI by default, we need a little information. Open a terminal and use the following command: - - aplay -l - -This will list the devices, card number etc. Note down the card and device number for analog output. For me the output was like this: - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/AlsaMixer_List_Device.jpeg) - -Once you have the required card and device number, make a new configuration file like this: - - sudo gedit /etc/asound.conf - -The above command will also open the file. Add the following lines to it, replacing with your card and device number of course: - - defaults.pcm.card 1 - defaults.pcm.device 0 - -Save the file and restart the computer. You should hear the sound now. Just to mention, this will work for all the Linux distributions such as Linux Mint, Elementary OS, Fedora, Arch Linux etc. As I said previously, this “no sound fix” only works with the case where HDMI is set by default. For other cases, you can read [this article about fixing no sound issue in Ubuntu and Linux Mint][4]. - -Feel free to use the comment section to let me know if it worked or not or if you have some better trick to handle this such issue. Ciao ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-includes/images/smilies/icon_smile.gif) - ----------- - -![](http://1.gravatar.com/avatar/20749c268f5d3e4d2c785499eb6a17c0?s=100&r=pg&d=mm) - -About Abhishek - -I am Abhishek Prakash, 'creator' of It's F.O.S.S. I have a Masters in Communication System Engineering. I am an avid Linux lover and Open Source enthusiast. I use Ubuntu and believe in sharing knowledge. Apart from Linux, I love classic detective mystery. Huge fan of Agatha Christie work. Feel free to circle me on [Google Plus][g] and Follow [@abhishek_pc][t] - --------------------------------------------------------------------------------- - -via: http://itsfoss.com/fix-sound-ubuntu-1404/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/ -[2]:http://itsfoss.com/things-to-do-after-installing-ubuntu-14-04/ -[3]:http://en.wikipedia.org/wiki/Alsamixer -[4]:http://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/ -[g]:https://plus.google.com/u/0/110180944531110746460 -[t]:https://twitter.com/abhishek_pc diff --git a/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md b/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md new file mode 100644 index 0000000000..40f8d0e80d --- /dev/null +++ b/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md @@ -0,0 +1,63 @@ +Ubuntu 14.04中修复默认启用HDMI后没有声音问题 +================================================================================ +声音问题在Ubuntu中是老生常谈了。先前我已经在[修复Ubuntu中的“无声”问题][1]一文中写到了多种方法,但是我在此正要谈及的声音问题跟在另外一篇文章中提到的不同。 + +因此,我安装了Ubuntu 14.04,实际上是重新安装了一遍。一如既往,我将[全新安装Ubuntu 14.04后要做的事][2]全部又重新做了一遍。然后,我意识到系统突然失声了。当我正侦查问题所在之时,我发现了一件奇怪的事情。我检查了[alsamixer][3],发现它的状况有点离奇: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/alsamixer_Set_HDMI_Default.jpeg) + +正如你能看到的,**alsamixer中默认设置了HDMI**。这意味着默认情况下将使用HDMI输出,而不是内建扬声器。这就是我从系统上内建扬声器无法获得声音的原因。 + +使用下面的命令来检查alsamixer的状态: + + alsamixer + +如果alsamixer默认设置成了HDMI或者其它声音输出,那就继续读下去吧,看看我们是怎么来修复这个问题的。 + +### 修复默认设置成HDMI时Ubuntu的失声问题 ### + +现在来强制Ubuntu使用模拟输出来取代默认的HDMI,但我们还需要一点点信息。打开终端,然后使用下列命令: + + aplay -l + +这会列出设备,卡号之类的东西。注意,向下检查模拟输出使用的卡和设备编号。对于我而言,输出看上去像这样: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/AlsaMixer_List_Device.jpeg) + +一旦你取得了所需的卡和设备编号,重新构建一个配置文件: + + sudo gedit /etc/asound.conf + +上面的命令也会打开文件,将下面的行添加进去,当然将卡和设备编号替换成你自己的: + + defaults.pcm.card 1 + defaults.pcm.device 0 + +保存文件,并重启计算机。现在,你应该听到了声音了吧。需要提一下的是,这对所有的Linux发行版都有效,像Linux Mint,Elementary OS,Fedora,Arch Linux等等都行。正如我先前说的,该“失声疗法”仅针对HDMI被设置为默认设备的情况。对于其它情况,你可以阅读[关于在Ubuntu和Linux Mint中修复失声问题这篇文章][4]。 + +你可以尽情使用评论部分来告诉我这个方法是否有疗效,或者你有更好的方法来处理该问题,你也可以告诉我。再见了! + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-includes/images/smilies/icon_smile.gif) + +---------- + +![](http://1.gravatar.com/avatar/20749c268f5d3e4d2c785499eb6a17c0?s=100&r=pg&d=mm) + +关于Abhishek + +我是Abhishek Prakash,It's F.O.S.S.的“创立者”,我有一个通信系统工程的硕士学位。我酷爱Linux和开源。我使用Ubuntu,信奉知识分享。除了Linux之外,我也喜爱经典的侦探推理小说,是Agatha Christie作品的超级粉丝。大家尽可以在[Google+][g]上将我圈进去,并追随[@abhishek_pc][t] + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/fix-sound-ubuntu-1404/ + +译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/ +[2]:http://itsfoss.com/things-to-do-after-installing-ubuntu-14-04/ +[3]:http://en.wikipedia.org/wiki/Alsamixer +[4]:http://itsfoss.com/fix-sound-ubuntu-1304-quick-tip/ +[g]:https://plus.google.com/u/0/110180944531110746460 +[t]:https://twitter.com/abhishek_pc From 5bb5a79c70aaab3746ef838bbd918b6e0ae30df0 Mon Sep 17 00:00:00 2001 From: zhengsihua Date: Mon, 21 Jul 2014 20:41:00 +0800 Subject: [PATCH 172/291] [Translating] How to analyze Squid logs with SARG log analyzer on CentOS --- ...w to analyze Squid logs with SARG log analyzer on CentOS.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md b/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md index a2305df5ee..cc30f35291 100644 --- a/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md +++ b/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md @@ -1,3 +1,6 @@ +Translating-----geekpi + + How to analyze Squid logs with SARG log analyzer on CentOS ================================================================================ In a [previous tutorial][1], we show how to configure a transparent proxy with Squid on CentOS. Squid provides many useful features, but analyzing a raw Squid log file is not straightfoward. For example, how could you analyze the time stamps and the number of hits in the following Squid log? From 7973222e28da766af9c365ce819af062763395f5 Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Mon, 21 Jul 2014 21:03:41 +0800 Subject: [PATCH 173/291] Create 20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md --- ...Collecting Information of Linux Systems.md | 195 ++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 translated/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md diff --git a/translated/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md b/translated/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md new file mode 100644 index 0000000000..927e4773da --- /dev/null +++ b/translated/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md @@ -0,0 +1,195 @@ +在linux系统中处理故障和收集系统信息的7种‘dmesg’的用法 +========================================================== +‘dmesg’命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构,cpu,挂载的硬件,RAM等多个运行级别的大量的系统信息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备。 + +![dmesg Command Examples](http://www.tecmint.com/wp-content/uploads/2014/07/dmesg-Command-Examples.png) +dmesg 命令的使用范例 + +‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于**Linux**和**Unix**的操作系统中都可以使用。 + +下面我们展示一些最负盛名的‘dmesg’命令工具以及其实际使用举例。‘dmesg’命令的使用语法如下。 + + # dmesg [options...] + +### 1. 列出加载到内核中的所有驱动 ### + +我们可以使用如‘**more**’。 ‘**tail**’, ‘**less** ’或者‘**grep**’的文字处理工具来处理‘dmesg’命令的输出。由于dmesg日志的输出不适合在一页中完全显示,因此我们使用管道(pipe)将其输出送到more或者less命令中进行分页显示。 + + [root@tecmint.com ~]# dmesg | more + [root@tecmint.com ~]# dmesg | less + +### 输出 ### + + [ 0.000000] Initializing cgroup subsys cpuset + [ 0.000000] Initializing cgroup subsys cpu + [ 0.000000] Initializing cgroup subsys cpuacct + [ 0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 + (Ubuntu 3.11.0-13.20-generic 3.11.6) + [ 0.000000] KERNEL supported cpus: + [ 0.000000] Intel GenuineIntel + [ 0.000000] AMD AuthenticAMD + [ 0.000000] NSC Geode by NSC + [ 0.000000] Cyrix CyrixInstead + [ 0.000000] Centaur CentaurHauls + [ 0.000000] Transmeta GenuineTMx86 + [ 0.000000] Transmeta TransmetaCPU + [ 0.000000] UMC UMC UMC UMC + [ 0.000000] e820: BIOS-provided physical RAM map: + [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable + [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved + [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable + [ 0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS + [ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data + [ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved + [ 0.000000] NX (Execute Disable) protection: active + ..... + +### 列出所有被检测到的硬件 ### + +要显示所有被内核检测到的硬盘设备,你可以使用‘**grep**’命令搜索‘**sda**’关键词,如下: + + [root@tecmint.com ~]# dmesg | grep sda + + [ 1.280971] sd 2:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB) + [ 1.281014] sd 2:0:0:0: [sda] Write Protect is off + [ 1.281016] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00 + [ 1.281039] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA + [ 1.359585] sda: sda1 sda2 < sda5 sda6 sda7 sda8 > + [ 1.360052] sd 2:0:0:0: [sda] Attached SCSI disk + [ 2.347887] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) + [ 22.928440] Adding 3905532k swap on /dev/sda6. Priority:-1 extents:1 across:3905532k FS + [ 23.950543] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro + [ 24.134016] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null) + [ 24.330762] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null) + [ 24.561015] EXT4-fs (sda8): mounted filesystem with ordered data mode. Opts: (null) + +**注解** ‘sda’表示第一块 SATA硬盘,‘sdb’表示第二块SATA硬盘。若想查看IDE硬盘搜索‘hda’或‘hdb’关键词。 + +### 3. 只输出dmesg命令的前20行日志 ### + + [root@tecmint.com ~]# dmesg | head -20 + + [ 0.000000] Initializing cgroup subsys cpuset + [ 0.000000] Initializing cgroup subsys cpu + [ 0.000000] Initializing cgroup subsys cpuacct + [ 0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generic 3.11.6) + [ 0.000000] KERNEL supported cpus: + [ 0.000000] Intel GenuineIntel + [ 0.000000] AMD AuthenticAMD + [ 0.000000] NSC Geode by NSC + [ 0.000000] Cyrix CyrixInstead + [ 0.000000] Centaur CentaurHauls + [ 0.000000] Transmeta GenuineTMx86 + [ 0.000000] Transmeta TransmetaCPU + [ 0.000000] UMC UMC UMC UMC + [ 0.000000] e820: BIOS-provided physical RAM map: + [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable + [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved + [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable + [ 0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS + [ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data + [ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved + +### 只输出dmesg命令最后20行日志 ### + +当我们插入可以出的硬件是在‘dmesg’命令后跟随‘tail’命令来输出‘dmesg’命令的最后20行日志是非常有用的。 + + [root@tecmint.com ~]# dmesg | tail -20 + + parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE] + ppdev: user-space parallel port driver + EXT4-fs (sda1): mounted filesystem with ordered data mode + Adding 2097144k swap on /dev/sda2. Priority:-1 extents:1 across:2097144k + readahead-disable-service: delaying service auditd + ip_tables: (C) 2000-2006 Netfilter Core Team + nf_conntrack version 0.5.0 (16384 buckets, 65536 max) + NET: Registered protocol family 10 + lo: Disabled Privacy Extensions + e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None + Slow work thread pool: Starting up + Slow work thread pool: Ready + FS-Cache: Loaded + CacheFiles: Loaded + CacheFiles: Security denies permission to nominate security context: error -95 + eth0: no IPv6 routers present + type=1305 audit(1398268784.593:18630): audit_enabled=0 old=1 auid=4294967295 ses=4294967295 res=1 + readahead-collector: starting delayed service auditd + readahead-collector: sorting + readahead-collector: finished + +### 5. 搜索包含特定字符串的被检测到的硬件 ### +由于‘dmesg’命令的输出实在太长了,在其中搜索某个特定的字符串是非常困难的。因此,有必要过滤出一些包含‘**usb**’ ‘**dma**’ ‘**tty**’ ‘**memory**’等字符串的日志行。[grep 命令][1] 的‘**-i**’选项表示忽略大小写。 + + [root@tecmint.com log]# dmesg | grep -i usb + [root@tecmint.com log]# dmesg | grep -i dma + [root@tecmint.com log]# dmesg | grep -i tty + [root@tecmint.com log]# dmesg | grep -i memory + +###输出### + + [ 0.000000] Scanning 1 areas for low memory corruption + [ 0.000000] initial memory mapped: [mem 0x00000000-0x01ffffff] + [ 0.000000] Base memory trampoline at [c009b000] 9b000 size 16384 + [ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff] + [ 0.000000] init_memory_mapping: [mem 0x37800000-0x379fffff] + [ 0.000000] init_memory_mapping: [mem 0x34000000-0x377fffff] + [ 0.000000] init_memory_mapping: [mem 0x00100000-0x33ffffff] + [ 0.000000] init_memory_mapping: [mem 0x37a00000-0x37bfdfff] + [ 0.000000] Early memory node ranges + [ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x000effff] + [ 0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff] + [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups + [ 0.000000] Memory: 2003288K/2059928K available (6352K kernel code, 607K rwdata, 2640K rodata, 880K init, 908K bss, 56640K reserved, 1146920K highmem) + [ 0.000000] virtual kernel memory layout: + [ 0.004291] Initializing cgroup subsys memory + [ 0.004609] Freeing SMP alternatives memory: 28K (c1a3e000 - c1a45000) + [ 0.899622] Freeing initrd memory: 23616K (f51d0000 - f68e0000) + [ 0.899813] Scanning for low memory corruption every 60 seconds + [ 0.946323] agpgart-intel 0000:00:00.0: detected 32768K stolen memory + [ 1.360318] Freeing unused kernel memory: 880K (c1962000 - c1a3e000) + [ 1.429066] [drm] Memory usable by graphics device = 2048M + +### 6. 清空dmesg缓冲区日志 ### + +我们可以使用如下命令来清空dmesg的日志。该命令会清空dmesg环形缓冲区中的日志。但是你依然可以查看存储在‘**/var/log/dmesg**’文件中的日志。你连接任何的设备都会产生dmesg日志输出。 + + [root@tecmint.com log]# dmesg -c + +### 7. 实时监控dmesg日志输出 ### + +在某些发行版中可以使用命令‘tail -f /var/log/dmesg’来实时监控dmesg的日志输出。 + + [root@tecmint.com log]# watch "dmesg | tail -20" + +**结论**:dmesg命令在系统dmesg记录实时更改或产生的情况下是非常有用的。你可以使用man dmesg来获取关于dmesg更多的信息。 + +---------- + +![](http://1.gravatar.com/avatar/36c7c25164c3455f2f711b01e395de0d?s=80&d=blank&r=G) + +Narad Shrestha + +- [Twitter profile][t] +- [Facebook profile][f] +- [Google+ profile][g] + +他在IT领域拥有超过10年的丰富经验,其中包括各种Linux发行版,开源软件和网络。 Narad始终坚持与人分享知识和自如的运用新技术。 + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/dmesg-commands/ + +译者:[cvsher](https://github.com/cvsher) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.tecmint.com/12-practical-examples-of-linux-grep-command/ +[t]:http://twitter.com/@nrdshrestha +[f]:http://facebook.com/narad.shrestha.9 +[g]:http://plus.google.com/104542109955805873615?rel=author + From b73673479923c7d1bfe571edee62503c1a9c6075 Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Mon, 21 Jul 2014 21:07:39 +0800 Subject: [PATCH 174/291] Delete 20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md --- ...Collecting Information of Linux Systems.md | 199 ------------------ 1 file changed, 199 deletions(-) delete mode 100644 sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md diff --git a/sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md b/sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md deleted file mode 100644 index 30cb653e3e..0000000000 --- a/sources/tech/20140716 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md +++ /dev/null @@ -1,199 +0,0 @@ -Translating by cvsher - -7 ‘dmesg’ Commands for Troubleshooting and Collecting Information of Linux Systems -================================================================================ -The ‘dmesg‘ command displays the messages from the kernel ring buffer. A system passes multiple runlevel from where we can get lot of information like system architecture, cpu, attached device, RAM etc. When computer boots up, a kernel (core of an operating system) is loaded into memory. During that period number of messages are being displayed where we can see hardware devices detected by kernel. - -![dmesg Command Examples](http://www.tecmint.com/wp-content/uploads/2014/07/dmesg-Command-Examples.png) -dmesg Command Examples - -The messages are very important in terms of diagnosing purpose in case of device failure. When we connect or disconnect hardware device on the system, with the help of dmesg command we come to know detected or disconnected information on the fly. The dmesg command is available on most **Linux and Unix** based Operating System. - -Let’s throw some light on most famous tool called ‘dmesg’ command with their practical examples as discussed below. The exact syntax of dmesg as follows. - - # dmseg [options...] - -### 1. List all loaded Drivers in Kernel ### - -We can use text-manipulation tools i.e. ‘**more**‘, ‘**tail**‘, ‘**less**‘ or ‘**grep**‘ with dmesg command. As output of dmesg log won’t fit on a single page, using dmesg with pipe more or less command will display logs in a single page. - - [root@tecmint.com ~]# dmesg | more - [root@tecmint.com ~]# dmesg | less - -#### Sample Output #### - - [ 0.000000] Initializing cgroup subsys cpuset - [ 0.000000] Initializing cgroup subsys cpu - [ 0.000000] Initializing cgroup subsys cpuacct - [ 0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 - (Ubuntu 3.11.0-13.20-generic 3.11.6) - [ 0.000000] KERNEL supported cpus: - [ 0.000000] Intel GenuineIntel - [ 0.000000] AMD AuthenticAMD - [ 0.000000] NSC Geode by NSC - [ 0.000000] Cyrix CyrixInstead - [ 0.000000] Centaur CentaurHauls - [ 0.000000] Transmeta GenuineTMx86 - [ 0.000000] Transmeta TransmetaCPU - [ 0.000000] UMC UMC UMC UMC - [ 0.000000] e820: BIOS-provided physical RAM map: - [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable - [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved - [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable - [ 0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS - [ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data - [ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved - [ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved - [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] reserved - [ 0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved - [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] reserved - [ 0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved - [ 0.000000] NX (Execute Disable) protection: active - ..... - -### 2. List all Detected Devices ### - -To discover which hard disks has been detected by kernel, you can search for the keyword “**sda**” along with “**grep**” like shown below. - - [root@tecmint.com ~]# dmesg | grep sda - - [ 1.280971] sd 2:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB) - [ 1.281014] sd 2:0:0:0: [sda] Write Protect is off - [ 1.281016] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00 - [ 1.281039] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA - [ 1.359585] sda: sda1 sda2 < sda5 sda6 sda7 sda8 > - [ 1.360052] sd 2:0:0:0: [sda] Attached SCSI disk - [ 2.347887] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) - [ 22.928440] Adding 3905532k swap on /dev/sda6. Priority:-1 extents:1 across:3905532k FS - [ 23.950543] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro - [ 24.134016] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null) - [ 24.330762] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null) - [ 24.561015] EXT4-fs (sda8): mounted filesystem with ordered data mode. Opts: (null) - -**NOTE**: The ‘sda’ first SATA hard drive, ‘sdb’ is the second SATA hard drive and so on. Search with ‘hda’ or ‘hdb’ in the case of IDE hard drive. - -### 3. Print Only First 20 Lines of Output ### - -The ‘head’ along with dmesg will show starting lines i.e. ‘dmesg | head -20′ will print only 20 lines from the starting point. - - [root@tecmint.com ~]# dmesg | head -20 - - [ 0.000000] Initializing cgroup subsys cpuset - [ 0.000000] Initializing cgroup subsys cpu - [ 0.000000] Initializing cgroup subsys cpuacct - [ 0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generic 3.11.6) - [ 0.000000] KERNEL supported cpus: - [ 0.000000] Intel GenuineIntel - [ 0.000000] AMD AuthenticAMD - [ 0.000000] NSC Geode by NSC - [ 0.000000] Cyrix CyrixInstead - [ 0.000000] Centaur CentaurHauls - [ 0.000000] Transmeta GenuineTMx86 - [ 0.000000] Transmeta TransmetaCPU - [ 0.000000] UMC UMC UMC UMC - [ 0.000000] e820: BIOS-provided physical RAM map: - [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable - [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved - [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable - [ 0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS - [ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data - [ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved - -### 4. Print Only Last 20 Lines of Output ### - -The ‘tail’ along with dmesg command will print only 20 last lines, this is useful in case we insert removable device. - - [root@tecmint.com ~]# dmesg | tail -20 - - parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE] - ppdev: user-space parallel port driver - EXT4-fs (sda1): mounted filesystem with ordered data mode - Adding 2097144k swap on /dev/sda2. Priority:-1 extents:1 across:2097144k - readahead-disable-service: delaying service auditd - ip_tables: (C) 2000-2006 Netfilter Core Team - nf_conntrack version 0.5.0 (16384 buckets, 65536 max) - NET: Registered protocol family 10 - lo: Disabled Privacy Extensions - e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None - Slow work thread pool: Starting up - Slow work thread pool: Ready - FS-Cache: Loaded - CacheFiles: Loaded - CacheFiles: Security denies permission to nominate security context: error -95 - eth0: no IPv6 routers present - type=1305 audit(1398268784.593:18630): audit_enabled=0 old=1 auid=4294967295 ses=4294967295 res=1 - readahead-collector: starting delayed service auditd - readahead-collector: sorting - readahead-collector: finished - -### 5. Search Detected Device or Particular String ### - -It’s difficult to search particular string due to length of dmesg output. So, filter the lines with are having string like ‘**usb**‘ ‘**dma**‘ ‘**tty**‘ and ‘**memory**‘ etc. The ‘**-i**’ option instruct to [grep command][1] to ignore the case (upper or lower case letters). - - [root@tecmint.com log]# dmesg | grep -i usb - [root@tecmint.com log]# dmesg | grep -i dma - [root@tecmint.com log]# dmesg | grep -i tty - [root@tecmint.com log]# dmesg | grep -i memory - -#### Sample Output #### - - [ 0.000000] Scanning 1 areas for low memory corruption - [ 0.000000] initial memory mapped: [mem 0x00000000-0x01ffffff] - [ 0.000000] Base memory trampoline at [c009b000] 9b000 size 16384 - [ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff] - [ 0.000000] init_memory_mapping: [mem 0x37800000-0x379fffff] - [ 0.000000] init_memory_mapping: [mem 0x34000000-0x377fffff] - [ 0.000000] init_memory_mapping: [mem 0x00100000-0x33ffffff] - [ 0.000000] init_memory_mapping: [mem 0x37a00000-0x37bfdfff] - [ 0.000000] Early memory node ranges - [ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x000effff] - [ 0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff] - [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups - [ 0.000000] Memory: 2003288K/2059928K available (6352K kernel code, 607K rwdata, 2640K rodata, 880K init, 908K bss, 56640K reserved, 1146920K highmem) - [ 0.000000] virtual kernel memory layout: - [ 0.004291] Initializing cgroup subsys memory - [ 0.004609] Freeing SMP alternatives memory: 28K (c1a3e000 - c1a45000) - [ 0.899622] Freeing initrd memory: 23616K (f51d0000 - f68e0000) - [ 0.899813] Scanning for low memory corruption every 60 seconds - [ 0.946323] agpgart-intel 0000:00:00.0: detected 32768K stolen memory - [ 1.360318] Freeing unused kernel memory: 880K (c1962000 - c1a3e000) - [ 1.429066] [drm] Memory usable by graphics device = 2048M - -### 6. Clear dmesg Buffer Logs ### - -Yes, we can clear dmesg logs if required with below command. It will clear dmesg ring buffer message logs till you executed the command below. Still you can view logs stored in ‘**/var/log/dmesg**‘ files. If you connect any device will generate dmesg output. - - [root@tecmint.com log]# dmesg -c - -### 7. Monitoring dmesg in Real Time ### - -Some distro allows command ‘tail -f /var/log/dmesg’ as well for real time dmesg monitoring. - - [root@tecmint.com log]# watch "dmesg | tail -20" - -**Conclusion**: The dmesg command is useful as dmesg records all the system changes done or occur in real time. As always you can man dmesg to get more information. - ----------- - -![](http://1.gravatar.com/avatar/36c7c25164c3455f2f711b01e395de0d?s=80&d=blank&r=G) - -Narad Shrestha - -- [Twitter profile][t] -- [Facebook profile][f] -- [Google+ profile][g] - -He has over 10 years of rich IT experience which includes various Linux Distros, FOSS and Networking. Narad always believes sharing IT knowledge with others and adopts new technology with ease. - --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/dmesg-commands/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.tecmint.com/12-practical-examples-of-linux-grep-command/ -[t]:http://twitter.com/@nrdshrestha -[f]:http://facebook.com/narad.shrestha.9 -[g]:http://plus.google.com/104542109955805873615?rel=author From edb91d2e3009b9d3bb44768156ddc5abfc2ddd1e Mon Sep 17 00:00:00 2001 From: zhengsihua Date: Mon, 21 Jul 2014 21:17:42 +0800 Subject: [PATCH 175/291] [Translated] How to analyze Squid logs with SARG log analyzer on CentOS --- ...d logs with SARG log analyzer on CentOS.md | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md b/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md index cc30f35291..07a4fe6be9 100644 --- a/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md +++ b/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md @@ -1,9 +1,6 @@ -Translating-----geekpi - - -How to analyze Squid logs with SARG log analyzer on CentOS +如何用CentOS上的SARG log分析其来分析Squid的log ================================================================================ -In a [previous tutorial][1], we show how to configure a transparent proxy with Squid on CentOS. Squid provides many useful features, but analyzing a raw Squid log file is not straightfoward. For example, how could you analyze the time stamps and the number of hits in the following Squid log? +[上一节教程][1]中,我们战士了如何在CentOS上使用Squid配置透明代理。Squid提供了很多有用的特性,但是分析一个原始Squid日志文件并不直接。比如,你如何分析下面Squid log中的时间戳和数字? 1404788984.429 1162 172.17.1.23 TCP_MISS/302 436 GET http://facebook.com/ - DIRECT/173.252.110.27 text/html 1404788985.046 12416 172.17.1.23 TCP_MISS/200 4169 CONNECT stats.pusher.com:443 - DIRECT/173.255.223.127 - @@ -15,24 +12,24 @@ In a [previous tutorial][1], we show how to configure a transparent proxy with S 1404788990.849 2151 172.17.1.23 TCP_MISS/200 76809 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 - 1404788991.140 611 172.17.1.23 TCP_MISS/200 110073 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 – -SARG (or Squid Analysis Report Generator) is a web based tool that creates reports from Squid logs. SARG provides an easy-to-understand view of network traffic handled by Squid, and it is very easy to set up and maintain. In the following tutorial, we show **how to set up SARG on a CentOS platform**. +SARG(或者说是Squid分析报告生成器)是一款基于web的工具,用于从Squid日志中生成报告。SARG提供了一个易于理解的由Squid处理的网络流量视图,并且它很容易设置与维护。在下面的教程中,我们会展示**如何在CentOS平台上设置SARG**。 -We start the process by installing necessary dependencies using yum. +我们使用yum来安装安装必要的依赖。 # yum install gcc make wget httpd crond -Necessary services are started and loaded at startup. +在启动时加载必要的服务 # service httpd start; service crond start # chkconfig httpd on; chkconfig crond on -Now we download and extract SARG. +现在我们下载并解压SARG # wget http://downloads.sourceforge.net/project/sarg/sarg/sarg-2.3.8/sarg-2.3.8.tar.gz? # tar zxvf sarg-2.3.8.tar.gz # cd sarg-2.3.8 -**NOTE**: For 64-bit Linux, the source code in log.c needs to be patched as follows. +**注意**: 对于64位的Linux,log.c的源代码需要用下面的文件打补丁。 1506c1506 < if (fprintf(ufile->file, "%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,ip,url,nbytes,code,elap_time,smartfilter)<=0) { @@ -47,13 +44,13 @@ Now we download and extract SARG. --- > printf("LEN=\t%"PRIi64"\n",(int64_t)nbytes); -Go ahead and build/install SARG as follows. +如下继续并编译/安装SARG # ./configure # make # make install -After SARG is installed, the configuration file can be modified to match your requirements. The following is one example of SARG configuration. +SARG安装之后,配置文件可以按你的要求修改。下面是一个SARG配置的例子。 # vim /usr/local/etc/sarg.conf @@ -66,19 +63,19 @@ After SARG is installed, the configuration file can be modified to match your re ## we don’t want multiple reports for single day/week/month ## overwrite_report yes -Now it's time for a test run. We run sarg command in debug mode to find whether there is any error. +现在是时候测试运行了,我们用调试模式运行sarg来找出是否存在错误。 # sarg -x -If all goes well, sarg should analyze Squid logs, and create reports in /var/www/html/squid-reports. The reports should be visible in a web browser using the address http:///squid-reports/ +如果i一切正常,sarg会根系Squid日志,并在/var/www/html/squid-reports下创建报告。报告也可以在浏览器中通过地址http://<服务器IP>/squid-reports/访问 ![](https://farm3.staticflickr.com/2931/14631403935_4ff34e07b9_z.jpg) ![](https://farm4.staticflickr.com/3901/14629281644_fec31014c5_z.jpg) -SARG can be used to create daily, weekly and monthly reports. Time range can be specified using the "-d" parameter with possible values in the form of day-n, week-n or month-n, where n is the number of days/weeks/months to jump backward. For example, with week-1, SARG will generate a report for the previous week. With day-2, SARG will prepare reports for the previous two days. +、SARG可以用于创建每日、每周、每月的报告。时间范围用“-d”参数来指定,可能的值的形式可能为day-n、 week-n 或者 month-n,n的值向后天/周/月的数量。比如,使用week-1,SARG会生成前面一星期的报告。使用day-2,SARG会准备前面两天的报告。 -As a demonstration, we will prepare a cron job to run SARG daily. +作为演示,我们会准备一个计划任务来每天运行SARG。 # vim /etc/cron.daily/sarg @@ -87,30 +84,31 @@ As a demonstration, we will prepare a cron job to run SARG daily. #!/bin/sh /usr/local/bin/sarg -d day-1 -The file needs a execution permission. +文件需要可执行权限。 # chmod 755 /usr/local/bin/sarg -Now SARG should prepare daily reports about Squid-managed traffic. These reports can easily be accessed from the SARG web interface. +现在SARG应该会每天准备关于Squid管理的流量报告。这些报告可以很容易地通过SARG网络接口访问。 To sum up, SARG is a web based tool that analyzes Squid logs and presents the analysis in an informative way. System admins can leverage SARG to monitor what sites are being accessed, and to keep track of top visited sites and top users. This tutorial covers a working configuration for SARG. You can customize the configuration even further to match your requirements. +总结一下,SARG一款基于网络的工具,它可以分析Squid日志,并以更详细的方式展示分析。系统管理员可以利用SARG来监视哪些网站被访问了,并跟踪访问量最大的网站和用户。本教程涵盖了SARG配置工作。你甚至可以进一步自定义配置来满足您的要求。 -Hope this helps.­­­­ +希望这篇教程有用 ---------- [Sarmed Rahman][w] -- [Twitter profile][t] -- [LinkedIn profile][l] +- [Twitter 地址][t] +- [LinkedIn 地址][l] -Sarmed Rahman is an IT professional in the Internet Industry in Bangladesh. He writes tutorial articles on technology every now and then from a belief that knowledge grows through sharing. During his free time, he loves gaming and spending time with his friends. +Sarmed Rahman是一名在孟加拉国的IT专业人士。他坚持写作科学文章,并坚信技术可以通过分享提高。在他的空闲时间里,他爱好游戏与他的朋友在一起 -------------------------------------------------------------------------------- via: http://xmodulo.com/2014/07/analyze-squid-logs-sarg-log-analyzer-centos.html -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 1f780802bf2aff2e71f4cd8f3ce07f8db542dcaf Mon Sep 17 00:00:00 2001 From: zhengsihua Date: Mon, 21 Jul 2014 21:18:56 +0800 Subject: [PATCH 176/291] move to translated --- ... How to analyze Squid logs with SARG log analyzer on CentOS.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md (100%) diff --git a/sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md b/translated/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md similarity index 100% rename from sources/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md rename to translated/tech/20140716 How to analyze Squid logs with SARG log analyzer on CentOS.md From 2122fe08fa9736f08a937f8e9f7822eaeeab595b Mon Sep 17 00:00:00 2001 From: cereuz Date: Tue, 22 Jul 2014 09:32:21 +0800 Subject: [PATCH 177/291] Update 02 - The history of Android.md --- .../The history of Android/02 - The history of Android.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/talk/The history of Android/02 - The history of Android.md b/sources/talk/The history of Android/02 - The history of Android.md index ca8a81bf23..2c92c1bc8b 100644 --- a/sources/talk/The history of Android/02 - The history of Android.md +++ b/sources/talk/The history of Android/02 - The history of Android.md @@ -1,3 +1,5 @@ +cereuz is translating + The history of Android ================================================================================ ![Left: the Milestone 5 home screen showing the “all" button, two dock icons, and four recent apps. Center: the home screen with the app list open. Right: the power menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/homescree052n.jpg) @@ -75,4 +77,4 @@ via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-histor [1]:http://i.imgur.com/GIYGTnb.jpg [2]:http://www.businessinsider.com/steve-jobs-on-android-founder-andy-rubin-big-arrogant-f-2013-11 [a]:http://arstechnica.com/author/ronamadeo -[t]:https://twitter.com/RonAmadeo \ No newline at end of file +[t]:https://twitter.com/RonAmadeo From 4b2e27ae1ec08e4db0284e09f54cafe8da9f5ccd Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Tue, 22 Jul 2014 10:25:09 +0800 Subject: [PATCH 178/291] Love-xuan Translating --- .../20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md b/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md index bf7ceb80d8..4b5ce56426 100644 --- a/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md +++ b/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md @@ -1,3 +1,4 @@ +Love-xuan 翻译中 Display Song Lyrics On Desktop In Ubuntu 14.04 ================================================================================ ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/display_lyrics_desktop_Ubuntu.jpeg) From 38c332357f9dc61cfe541071dcfffd6b32e2a9e8 Mon Sep 17 00:00:00 2001 From: cereuz Date: Tue, 22 Jul 2014 12:35:15 +0800 Subject: [PATCH 179/291] Delete 02 - The history of Android.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 翻译好了,请帮忙校对。这里删除一下。 --- .../02 - The history of Android.md | 80 ------------------- 1 file changed, 80 deletions(-) delete mode 100644 sources/talk/The history of Android/02 - The history of Android.md diff --git a/sources/talk/The history of Android/02 - The history of Android.md b/sources/talk/The history of Android/02 - The history of Android.md deleted file mode 100644 index 2c92c1bc8b..0000000000 --- a/sources/talk/The history of Android/02 - The history of Android.md +++ /dev/null @@ -1,80 +0,0 @@ -cereuz is translating - -The history of Android -================================================================================ -![Left: the Milestone 5 home screen showing the “all" button, two dock icons, and four recent apps. Center: the home screen with the app list open. Right: the power menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/homescree052n.jpg) -Left: the Milestone 5 home screen showing the “all" button, two dock icons, and four recent apps. Center: the home screen with the app list open. Right: the power menu. -Photo by Ron Amadeo - -### Android 0.5, Milestone 5—the land of scrapped interfaces ### - -The first major Android change came three months after the first emulator release: the "m5-rc14" build. Released in February 2008, “Milestone 5" dumped the stretched-out BlackBerry interface and went with a totally revamped design—Google's first attempt at a finger-friendly interface. - -This build was still identified as "Android 0.5" in the browser user agent string, but Milestone 5 couldn't be more different from the first release of Android. Several core Android features can directly trace their lineage back to this version. The layout and functionality of the notification panel was almost ready to ship, and, other than a style change, the menu was present in its final form, too. Android 1.0 was only eight months away from shipping, and the basics of an OS were starting to form. - -One thing that was definitely not in its final form was the home screen. It was an unconfigurable, single-screen wallpaper with an app drawer and dock. App icons were bubbly, three-color affairs, surrounded by a square, white background with rounded corners. The app drawer consisted of an "All" button in the lower-right corner, and tapping on it expanded the list of apps out to the left. Above the "All" button was a two icon dock where "Contacts" and "Dialer" were given permanent home screen real estate. The four blocks above that were an early version of Recent Apps, showing the last apps accessed. With no left or right screens and a whole column taken up by the dock and recent apps, this layout only allowed for 21 app squares before the screen would be filled. The emulator still only sported the bare-minimum app selection, but in an actual device, this design didn't appear like it would work well. - -Holding down the "end call" button brought up a super early version of the power menu, which you can see in the rightmost picture. Google didn't have the normal smartphone nomenclature down yet: "Turn Off Screen" would best be described as "Lock screen" (although there was no lock screen) and "Turn Off Radio" would be called "Airplane mode" today. - -![From left to right: the surprisingly modern notification panel, the menu open in Google Maps (Maps doesn't work anymore), and the new finger-friendly list view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/noti2.png) -From left to right: the surprisingly modern notification panel, the menu open in Google Maps (Maps doesn't work anymore), and the new finger-friendly list view. -Photo by Ron Amadeo - -All the way back in Milestone 5, Google had the basics of the notification panel nailed down. It pulled down from the top of the screen just like it does on any modern smartphone. Current notifications displayed in a list. The first version of the notification panel was an opaque white sheet with a ribbed “handle" on the bottom and an orange dot in the center. Notifications were pressable, opening the appropriate app for that notification. No one bothered to vertically align the app icons in this list, but that's OK. This was gone in the next update. - -Sticky notifications went into an "ongoing" section at the top of the panel. In this build, that seemed to only include phone calls. The "Latest Event" notifications were clearable only after opening the appropriate app. Users surprisingly managed to sign in to Google Talk over the built-in XMPP connection. But while the notification panel displayed "new chat message," there wasn't actually an instant messaging app. - -The artwork in Milestone 5 was all new. The app icons were redrawn, and the menu switched from a boring BlackBerry-style text list to full-color, cartoony icons on a large grid. The notification panel icons switched from simple, sharp, white icons to a bubbly green design. There was now a strange black line under the signal bar indicator with no apparent purpose. The tiny list view from earlier builds really wasn't usable with a finger, so Milestone 5 came with an overall beefier layout. - -![The dialer, recent calls, and an incoming call.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/phonestuff.png) -The dialer, recent calls, and an incoming call. -Photo by Ron Amadeo - -M5 was the first build to have a dialer, albeit a fairly ugly one. Numbers were displayed in a gradient-filled bar containing a bizarre speech-bubble-styled backspace button that looked like it was recycled from some other interface. Alignment issues were everywhere. The numbers on the buttons weren't vertically aligned correctly, and the “X" in the backspace button wasn’t aligned with the speech bubble. You couldn't even start a call from the dialer—with no on-screen “dial" button, a hardware button was mandatory. - -Milestone 5 had a few tabbed interfaces, all of which demonstrated an extremely odd idea of how tabs should work. The active tab was white, and the background tabs were black with a tiny strip of white at the bottom. Were background tabs supposed to "shrink" downward? There was no animation when switching tabs. It wasn't clear what the design tried to communicate. - -Recent Calls, shown in the second picture, was downgraded from a top-tier app to a tab on the dialer. It ditched the crazy crosshair UI from earlier builds and, thanks to the chunkier list view, now displayed all the necessary information in a normal list. - -Unlike the dialer, the incoming call screen had on-screen buttons for answering and ending a call. Bizarrely, the incoming call screen was stuck to the bottom of the display, rather than the top or center. It was possibly left over from the old 4:3 BlackBerry screens. - -![An active call, the disabled touchscreen error message, and the call screen with a second call on hold.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/callsstuff.png) -An active call, the disabled touchscreen error message, and the call screen with a second call on hold. -Photo by Ron Amadeo - -The in-call interface looked normal but made zero sense in practice. Today, to stop your face from pressing buttons while on a call, phones have proximity sensors that turn the screen off when the sensor detects something. Milestone 5 didn’t support proximity sensors, though. Google’s haphazard solution was to disable the entire touch screen during a call. At the same time, the in-call screen was clearly overhauled for touch. There were big, finger-friendly buttons; *you just couldn't touch anything*. - -M5 featured a few regressions here from the old Milestone 3 build. Many decent-looking icons from the old interface were replaced with text. Buttons like "mute" no longer offered on-screen feedback that they were active. Merging calls was cut completely. - -![The browser’s primary menu, the browser’s secondary menu, the crazy zoom control, and the window interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser4.png) -The browser’s primary menu, the browser’s secondary menu, the crazy zoom control, and the window interface. -Photo by Ron Amadeo - -The browser menu got the usual touch overhaul, and for the first time a "more" button appeared. It functioned as an [extra menu for your menu][1]. Rather than turning the 3x2 grid into a 3x4 grid, Milestone 5 (and many successive versions of Android) used a long, scrolling list for the additional options. Pinch zoom wasn't supported (supposedly a [concession to Apple][2]), so Android went with the ridiculous looking zoom control in the third picture above. Rather than something sensible like a horizontal, bottom-aligned zoom control, Google stuck it smack in the middle of the screen. The last picture shows the Browser’s "window" interface, which allowed you to open multiple webpages and semi-easily switch between them. - -![Google Maps’ layers section screen, search interface, and directions screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/amps.png) -Google Maps’ layers section screen, search interface, and directions screen. -Photo by Ron Amadeo - -Google Maps still didn't work, but the little UI we accessed saw significant updates. You could pick map layers, although there were only two to choose from: Satellite and Traffic. The top-aligned search interface strangely hid the status bar, while the bottom-aligned directions didn't hide the status bar. Direction's enter button was labeled with "Go," and Search's enter button was labeled with a weird curvy arrow. The list goes on and demonstrates old school Android at its worst: two functions in the same app that should look and work similarly, but these were implemented as complete opposites. - ----------- - -![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) - -[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. - -[@RonAmadeo][t] - --------------------------------------------------------------------------------- - -via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/2/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://i.imgur.com/GIYGTnb.jpg -[2]:http://www.businessinsider.com/steve-jobs-on-android-founder-andy-rubin-big-arrogant-f-2013-11 -[a]:http://arstechnica.com/author/ronamadeo -[t]:https://twitter.com/RonAmadeo From 3704abff0675a8a6fff723cba93abb269d8fb543 Mon Sep 17 00:00:00 2001 From: cereuz Date: Tue, 22 Jul 2014 12:36:59 +0800 Subject: [PATCH 180/291] Create 02 - The history of Android.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 这是修改了标题的,帮忙校对一下,有错误希望您能提出来,谢谢。。已经发出删除原文请求 --- .../talk/02 - The history of Android.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 translated/talk/02 - The history of Android.md diff --git a/translated/talk/02 - The history of Android.md b/translated/talk/02 - The history of Android.md new file mode 100644 index 0000000000..696de0aa22 --- /dev/null +++ b/translated/talk/02 - The history of Android.md @@ -0,0 +1,80 @@ + 安卓编年史 02 + +============================================================================= +![Left: the Milestone 5 home screen showing the “all" button, two dock icons, and four recent apps. Center: the home screen with the app list open. Right: the power menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/homescree052n.jpg) +左边:里程碑 5,主屏幕展示了“All”按钮,两个dock图标,以及最近使用的四个应用。中间:主屏幕与打开的应用程序列表。右边:电源菜单。 +图片来自@Ron Amadeo + +###Android0.5, 里程碑 5——如今已经是报废接口的领地了 ### - + +“M5-RC14”构建后:也就是第一个仿真器发布,三个月之后Android迎来了她的首次重大革新。 2008年2月发布的“里程碑5”甩掉了发展中的黑莓界面,走向一个完全革新的设计——谷歌在手指触摸技术的第一次尝试。 + +由于浏览器的用户代理字符串的使用,此版本仍然被识别为“Android0.5”,但里程碑 5与Android的第一个版本相比已经完全不一样了。几个核心的Android功能直接追踪他们的血统最终还是会回到这个版本。通知面板的布局和功能几乎已经整装待发,并且,除了样式变化外,菜单同样也存在于它的最终组成。安卓1.0距离该项目起航的时间仅仅只有八个月,一个操作系统的基础已经开始形成了。 + +有一件东西绝对不会存在于最后的组成,那就是是主屏幕。这是一个不可配置的,单屏壁纸的应用程序的架子和空位。【译者注:"an app drawer and dock,",度娘直接是"应用程序的抽屉和码头,",没有搜到相关专业的词汇,求指点,感激。zsky@live.com】应用程序图标是天真活泼的,三种颜色的组合,由一个方形的、有圆角的白色背景包围着。应用程序的架子由在右下角的一个“All”按钮组成,轻按它,扩展的应用程序列表显示在了左边。这个“All”按钮正上面的是两个图标空位,“联系人”和“拨号器”分别获得了专属的永久主屏幕位置。然后上边有四个板块,它们是最近应用程序的早期版式,展示了最后访问的应用程序。没有了左画面或右画面,基座和最近的应用程序占用一整列,这种布局下21个正方形的应用程序才会填充满整个屏幕。模拟器仍然只选择同等最小的应用程序,但在实际的设备中,这样的设计并产生没有很好地工作效果。 + +按住“end call”按钮会出现一个超级早期版本的电源菜单,您可以在最右边的图片中看到的。谷歌迄今为止没有正常的智能手机命名术语:对于“Turn Off Screen”最好地形容也许是“Lock screen”(虽然当时没有锁屏)和“Turn Off Radio”在今天被叫做“Airplane Mode”。 + +![From left to right: the surprisingly modern notification panel, the menu open in Google Maps (Maps doesn't work anymore), and the new finger-friendly list view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/noti2.png) +从左至右依次为:令人惊喜的现代版通知面板,谷歌地图的菜单在打开着(地图已经不可用了),和新的适合手指操作的列表视图。 +照片来自@Ron Amadeo + +所有的方式都会回溯到里程碑 5,谷歌在那时就毫无疑问拥有通知面板的基本知识储备。就像在任何现代的智能手机里看到的一样,它能够从屏幕顶部下拉下来。目前的通知都显示在列表中。通知面板的第一个版本是不透明的白色薄片带着棱纹的的“handle”在底部,一个橙色的圆点在中心。通知是可触的,通过触摸可以打开该通知关联的应用程序。没有人被在此列表中垂直对齐的应用程序图标所困扰,不过也没关系,随着在接下来的更新,它已经是过去式了。 + +点一下通知,进入一个在面板顶部的“on going”部分。在这个版本,这里似乎只包含打电话。在“Latest Event”里的通知只有打开相应的应用程序后才是清楚的。用户令人惊喜的通过内置的XMPP连接成功登录到谷歌talk。不过,虽然通知面板中显示“new chat message,”,其实这里并没有没有真正的即时消息应用程序。 + +里程碑 5里的艺术设计全部都是新的。该应用程序图标被重新绘制,并且菜单从一个无聊的黑莓风格的文本列表转变为一个大格全彩色、卡通的图标。通知面板图标也从简单的、突兀的、白色的图标切换到一个天真活泼的绿色设计。当时在信号栏指示器下边有一个奇怪的黑线,几乎没有作用。早期开发版本的微小列表视图不适合手指使用,所以里程碑 5开发了全面强大的整体布局。 + +![The dialer, recent calls, and an incoming call.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/phonestuff.png) +拨号器,最近通话,和来电接听。 +照片来自@Ron Amadeo + +M5是第一个有一个拨号器的版本,即使她是一个相当难看的版本。数字被显示在包含一个奇怪的语音气泡风格的退格键里,看上去就像是从其他界面回收回来的。对齐问题随处可见。按钮上的数字没有正确的垂直排列,而且退格键的“X”也没有与对话框对齐。由于屏幕上没有的“dial”按钮,你甚至不能从拨号程序打个电话,一个硬件按钮也被托管了。 + +里程碑 5 有几个选项卡式界面,所有这些都表明了一个非常奇怪的想法:标签应该如何工作。活跃的标签是白色的,而背景标签是拥有一小条白色在其边沿的黑色。后台标签应该是向下的“shrink”吗?切换标签时,是没有动画的。目前还不清楚这个设计试图想表达什么。 + +在第二张图片中显示的最近通话记录项,是从顶级的应用程序降级到拨号器选项卡的。它丢弃了早期版本的疯狂十字丝UI,多亏了大块列表视图,现在所有必要的信息都是显示在一个正常的列表。 + +不同于拨号器,来电画面只有即时屏幕上的按钮来接听和结束通话。奇怪的是,来电屏幕贴在显示器的底部,而不是顶部或中心。它可能是从旧的黑莓4:3屏幕遗留下来的。 + +![An active call, the disabled touchscreen error message, and the call screen with a second call on hold.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/callsstuff.png) +通话中,触摸屏不可用的显示错误信息,和暂停通话的第二个呼叫的呼叫屏幕。 +照片来自@Ron Amadeo + +通话中界面看起来正常,但在实践中毫无意义。今天,在通话中为了阻止你的脸按到屏幕按钮,手机近距离传感器一旦检测到相关信息会快速关闭屏幕。虽然里程碑 5不支持近距离传感器。谷歌的杂乱无章的解决方案是在通话过程中禁止整个触摸屏。与此同时,通话中的屏幕显然会彻底检查触摸功能。这时候是有大的,可触摸的按钮; *就是不让你摸!!*。 + +M5在这里让旧里程碑3版本的几个回归者占据特色地位。许多旧的接口里有体面相貌的图标被替换成了文本。像“mute”按钮不再提供屏幕上的反馈,过去他们是活跃的。合并通话被完全切掉了。 + +![The browser’s primary menu, the browser’s secondary menu, the crazy zoom control, and the window interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/browser4.png) +浏览器的主要菜单,浏览器的二级菜单,疯狂的变焦控制和窗口界面。 +照片来自@Ron Amadeo + +浏览器菜单中得到了一贯的触摸功能大修理,并且“more”按钮第一次出现。它充当一个[extra menu for your menu] [1]。而不是转动3x2的网格成3x4的网格,里程碑 5(和Android的许多后续版本一样)中使用很长的、滚动的列表来引出其他选项。不支持双指缩放(据说是[concession to Apple] [2]),因此Android运行着可笑的变焦控制外表,在上边第三张图片。而不是理智的比如是一个水平的、底部对齐变焦的控制,谷歌控制它直接出现在屏幕的中间。最后一张图片显示浏览器的“window”界面,允许你打开多个网页和两者之间轻松切换。 + +![Google Maps’ layers section screen, search interface, and directions screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/amps.png) +谷歌地图的层级部分的屏幕,搜索界面,并指示屏幕。 +照片来自@Ron Amadeo + +谷歌地图仍然不能使用,但我们访问的小小UI却有了显著更新。你可以挑选地图图层,虽然只有两种可以选择:卫星和交通。顶部对齐的搜索界面隐藏了奇怪的状态栏,而底部对齐方向没有隐藏状态栏。指示的输入按钮被标有“Go”,而且搜寻的输入按钮被标有一个奇怪的弯曲的箭头。这样的例子不胜枚举,并演示了老同学的Android在最坏时候的情况:在同一个应用程序,它的外观和工作方式类似的两个功能,但这些都实现为完全相反的方向。 + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron是Ars Technica的评论编辑,他专注于Android操作系统和谷歌的产品。他总是在寻找一个新的小工具,喜欢分解事物来看看它们是如何工作的。 + +[@RonAmadeo][t] + +-------------------------------------------------- ------------------------------ + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/2/ + +译者:[cereuz](https://github.com/cereuz)邮箱:[cereuz](mailto:sunedo@qq.com) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://i.imgur.com/GIYGTnb.jpg +[2]:http://www.businessinsider.com/steve-jobs-on-android-founder-andy-rubin-big-arrogant-f-2013-11 +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo From 607017141e9686b82c0ba2fc93a7a66ad0f1cbe5 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Tue, 22 Jul 2014 16:12:38 +0800 Subject: [PATCH 181/291] =?UTF-8?q?20140722-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ktop Environment for Conservative Users.md | 42 ++++ ...ox Linux Client Debuts New Qt Interface.md | 59 ++++++ ...droplets from the command line on Linux.md | 185 ++++++++++++++++++ 3 files changed, 286 insertions(+) create mode 100644 sources/news/20140722 Budgie Desktop 5.1 Is a Superb New Desktop Environment for Conservative Users.md create mode 100644 sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md create mode 100644 sources/tech/20140722 How to manage DigitalOcean VPS droplets from the command line on Linux.md diff --git a/sources/news/20140722 Budgie Desktop 5.1 Is a Superb New Desktop Environment for Conservative Users.md b/sources/news/20140722 Budgie Desktop 5.1 Is a Superb New Desktop Environment for Conservative Users.md new file mode 100644 index 0000000000..882bb67481 --- /dev/null +++ b/sources/news/20140722 Budgie Desktop 5.1 Is a Superb New Desktop Environment for Conservative Users.md @@ -0,0 +1,42 @@ +Budgie Desktop 5.1 Is a Superb New Desktop Environment for Conservative Users +================================================================================ +![](http://i1-news.softpedia-static.com/images/news2/Budgie-Desktop-5-1-Is-a-Superb-New-Desktop-Environment-For-Conservative-Users-451477-2.jpg) + +**The developer of Evolve OS, Ikey Doherty, has made a new desktop environment called Budgie Desktop and released a new version of it.** + +Evolve OS hasn't been launched yet, but the developer is actively working on it. Instead of adopting an existing desktop environment, he decided that it would be better to make his own. It's based on GNOME and uses quite a few GNOME packages, but it looks very different. In fact, it follows the same paradigm as MATE and Cinnamon, although Budgie seems to be a little more modern and polished. + +It's quite interesting to see that a critical piece of technology is released before the operating system that it's going to serve, but potential users don't have to be completely taken by surprise. To that effect, a [PPA][1] has been put in place for Ubuntu 14.04 LTS and Ubuntu 14.10, although it's not official. Also, the Arch Linux users will find the new desktop environment in the AUR repository. + +“Almost all of the changes since v4 have been related to the panel. It’s been completely rewritten in Vala, lowering the maintenance overhead and significantly reducing the barrier of entry for new contributors. So, when your update comes through later on (hopefully) today through OBS if you use it, or for Evolve OS users you already have the update, you should only see minor visual differences. The idea was not to change the look, but to rewrite what was there and make it moar better.” + +“The rewrite into Vala took quite some effort, but has immediately paid off. In the future all of the desktop will be rewritten to use Vala, and being the ‘second write’ – we do things better the second time around,” says Ikey Doherty in the release [announcement][2]. + +Even if the desktop environment looks pretty advanced, judging by the version number, there is still room for improvements. The developer has promised that the next release in the series, 6.x, will allow users to write plugins in any language supported by libpeas, and that includes C, Vala, JavaScript, and Python. + +Users will also notice that some of the main elements from Budgie Desktop have remained in place, like the position of the menu and the size of the icons. In the future, it will be possible to change them, but for now, users need to contend with what's available. + +Even in this incipient phase, Budgie Desktop 5.1 looks better than many of the alternatives that can be found right now on other OSes. + +Download the source package right now for Ubuntu and Arch Linux: + +- [GIT sources][3][sources] [0 KB] +- [Ubuntu 14.04 PPA Repository][4][ubuntu_deb] [0 KB] +- [Arch Linux binary][5][binary] [0 KB] + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Budgie-Desktop-5-1-Is-a-Superb-New-Desktop-Environment-For-Conservative-Users-451477.shtml + +原文作者:[Silviu Stahie][a] + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://news.softpedia.com/editors/browse/silviu-stahie +[1]:https://launchpad.net/~sukso96100/+archive/ubuntu/budgie-desktop +[2]:https://evolve-os.com/2014/07/20/budgie-desktop-v5-1-released/ +[3]:https://github.com/evolve-os/budgie-desktop/ +[4]:https://launchpad.net/~sukso96100/+archive/ubuntu/budgie-desktop?field.series_filter=trusty +[5]:https://aur.archlinux.org/packages/budgie-desktop-git \ No newline at end of file diff --git a/sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md b/sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md new file mode 100644 index 0000000000..3710001e3b --- /dev/null +++ b/sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md @@ -0,0 +1,59 @@ +The Native Dropbox Linux Client Debuts New Qt Interface +================================================================================ +**The latest experimental build of the native Dropbox Linux client has debuted with an all new Qt interface.** + +Dropbox say that the UI rewrite, which will be used on both Windows and Linux, will fix a ‘large number’ of long-standing bugs, issues and glitches. The cross-platform toolkit is also set to improve general performance. + +Alongside an all new setup wizard and login screen (see below) is a handful of redesigned splash screens. + +![Login Screen ](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-qt-login.jpg) +Login Screen + +![Setup Screen](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-qt-set-up.jpg) +Setup Screen + +![Congratulations Screen ](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-qt-finished.jpg) +Congratulations Screen + +### Not Stable Yet ### + +Dropbox developers caution that since much of the new interface “is still rough around the edges” testers should expect to encounter various visual bugs while using it. The new UI does not yet work with accessibility tools like screen readers. + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-linux-clients-old-and-new.jpg) + +The new UI uses (for now) the stock Qt theme. This isn’t ugly per se, but it does look a little out of place on the Ubuntu desktop, especially compared to previous builds. Memory usage is also reportedly higher, in some cases jumping from 60MB when idle to more than 178MB. Those on low-end devices should resist the temptation to try this build — at least until this particular bug has been addressed. + +Full change log for Dropbox 2.11.0 (Experimental) for Linux: + +- Rewrite of the Windows & Linux UI in Qt +- File identifiers detect when files have been moved/renamed +- New setup/login experience +- Faster uploads for small files +- New splash screens + +### Download Dropbox Linux Build 2.11.x ### + +To try the experimental builds just download the correct archive for your system using the links below. + +- [Dropbox Experimental (64bit) Offline Linux Installer][1] +- [Dropbox Experimental (32bit) Offline Linux Installer][2] + +Once downloaded, extract the archive to your Home folder. It’s hidden by default, so using the Terminal, ‘`cd`‘ into the ‘`.dropbox-dist/dropbox-lnx`‘ folder and run ‘`./dropbox start`‘. + +Dropbox terminal navigation gif: + +![](http://i.imgur.com/5TeYXEm.gif) + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/dropbox-experimental-linux-build-qt-rewrite + +原文作者:[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://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86_64-2.11.0.tar.gz +[2]:https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86-2.11.0.tar.gz \ No newline at end of file diff --git a/sources/tech/20140722 How to manage DigitalOcean VPS droplets from the command line on Linux.md b/sources/tech/20140722 How to manage DigitalOcean VPS droplets from the command line on Linux.md new file mode 100644 index 0000000000..a96a4f9e74 --- /dev/null +++ b/sources/tech/20140722 How to manage DigitalOcean VPS droplets from the command line on Linux.md @@ -0,0 +1,185 @@ +How to manage DigitalOcean VPS droplets from the command line on Linux +================================================================================ +[DigitalOcean][1] is one of the [hottest][2] new kids in the block in the cloud VPS hosting market. While not offering as comprehensive service portfolio as Amazon Web Services and the likes, DigitalOcean is already a strong contender for the best Linux-based cloud VPS service targeted at small businesses and developers, thanks to their competitive pricing and user-friendly management interface. + +![](https://farm4.staticflickr.com/3841/14501627500_2ef275ac1c_z.jpg) + +Whenever you need a web-facing server for your personal project, you can quickly spin up a "droplet" (nickname for a VPS instance at [DigitalOcean][3]). And kill it when it's not needed. No need to burn a hole in your pocket as you are charged for its up time. While DigitalOcean's web-based management interface is streamlined already, for those of you who are die-hard fans of command-line interface (CLI), there is a CLI-based droplet management tool called [Tugboat][4]. Thanks to this CLI tool, any complex droplet management task can easily be turned into a script. + +In this tutorial, I am going to describe **how to use Tugboat to manage DigitalOcean dropets from the command line**. + +### Install Tugboat on Linux ### + +To install Tugboat on Debian, Ubuntu or Linux Mint: + + $ sudo apt-get install ruby-dev + $ sudo gem install tugboat + +To install Tugboat on Fedora: + + $ sudo yum install ruby-devel + $ sudo gem install tugboat + +To install Tugboat on CentOS, first [install or upgrade to the latest Ruby][5], because on CentOS 6.5 and earlier, the default Ruby does not meet the minimum version requirement (1.9 and higher) for Tugboat. Once you install Ruby 1.9 and higher, install Tugboat as follows. + + $ sudo gem install tugboat + +### Configure Tugboat for the First Time ### + +After installation, it's time to go through one-time configuration, which involves authorizing Tugboat to access your DigitalOcean account. + +Go to [https://cloud.digitalocean.com/api_access][6], and create a new API key. Make a note of client ID and API key. + +![](https://farm4.staticflickr.com/3836/14688299215_fd282a0142_z.jpg) + +Start authorization process by running: + + $ tugboat authorize + +When prompted, enter your client ID and API key. It will ask you several other questions. You can accept default answers for now. We are going to customize the default settings later anyway. + +[![](https://farm6.staticflickr.com/5596/14685122101_dba50fc86b_z.jpg)][7] + +Now let's customize default droplet settings to reflect your typical use cases. For that, first check available droplet offerings (e.g., available images, regions, sizes). + +Running the command below will show you a list of available droplet images. Pick a default image to use, and make a note of the corresponding ID. + + $ tugboat images --global + +![](https://farm3.staticflickr.com/2900/14688299175_e77e74fa1e_z.jpg) + +Similarly, pick a default geographic location from available regions: + + $ tugboat regions + +Also, choose a default droplet size from available RAM sizes: + + $ tugboat sizes + +![](https://farm4.staticflickr.com/3858/14501661238_4304e8bdfb_o.png) + +Now put your default choices in ~/.tugboat. For example, here I customize my default settings to 512MB Ubuntu 14.04 x64 to be created in New York region. Set "ssh_user" to root if you want to enable SSH via key authentication, which will be described shortly. + + $ vi ~/.tugboat + +---------- + + --- + authentication: + client_key: XXXXXXXXXXXXXXXXXXX + api_key: XXXXXXXXXXXXXXXXXXXX + ssh: + ssh_user: root + ssh_key_path: /home/dev/.ssh/id_rsa + ssh_port: '22' + defaults: + region: '4' + image: '3240036' + size: '66' + ssh_key: '' + private_networking: 'false' + backups_enabled: 'false' + +### Create and Add SSH Key to DigitalOcean ### + +A secure way to access your droplet instance is to SSH to the instance via [key authentication][8]. + +In fact, you can automatically enable key authentication for your droplets by registering your SSH public key with [DigitalOcean][9]. Here is how to do it. + +First, generate a private/public SSH key pair (if you don't have one). + + $ ssh-keygen -t rsa -C "your@emailaddress.com" + +Assuming that the generated key pair consists of: ~/.ssh/id_rsa (private key) and ~/.ssh/id_rsa.pub (public key), go ahead and upload your public key by running: + + $ tugboat add-key [name-of-your-key] + +You can give your key any name you like (e.g., "my-default-key"). When prompted, enter the path to your public key (e.g., /home/user/.ssh/id_rsa.pub). After key uploading is completed, verify the key is successfully added by running: + + $ tugboat keys + +![](https://farm4.staticflickr.com/3869/14501853397_3d3f4365b1_z.jpg) + +The key should also appear in DigitalOcean's [SSH key page][10]. If you want the key to be automatically used for your droplets, add the ID of your key to ~/.tugboat. + + ssh_key: '182710' + +### Basic Usage of Tugboat ### + +Here are a few basic use cases of tugboat command line. + +1. Create a new droplet with default settings. + + $ tugboat create + +2. Show a list of all active droplets. + + $ tugboat droplets + +3. Display information about a droplet. + + $ tugboat info + +[![](https://farm6.staticflickr.com/5593/14501627440_5835506d2a_z.jpg)][11] + +4. Shutdown a droplet, and remove its image. + + $ tugboat destroy + +5. Shutdown a droplet, but keep its image + + $ tugboat halt + +6. Take a snapshot of a droplet. The droplet must be turned off first. + + $ tugboat snapshot + +7. Resize (increase or decrease the RAM size of) a droplet. The droplet must be shutdown first. + + $ tugboat resize -s + +If you want to know more about a particular command option, run: + + $ tugboat help + +![](https://farm4.staticflickr.com/3900/14688013322_4fa6080c5e_z.jpg) + +### Troubleshooting ### + +1. When I run tugboat command, it fails with the following error. + + /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': /usr/lib/ruby/gems/1.8/gems/tugboat-0.2.0/lib/tugboat/cli.rb:12: syntax error, unexpected ':', expecting kEND (SyntaxError) + +Tugboat requires Ruby 1.9 and higher. You need to upgrade Ruby to solve this problem. For CentOS, refer to [this tutorial][12]. + +2. When I try to install Tugboat with gem, I get the following error. + +/usr/local/share/ruby/site_ruby/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- json/pure (LoadError) + +Install the following gem to fix the problem. + + $ sudo gem install json_pure + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/manage-digitalocean-vps-droplets-command-line-linux.html + +原文作者:[Dan Nanni][a] + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://xmodulo.com/author/nanni +[1]:http://xmodulo.com/go/digitalocean +[2]:http://news.netcraft.com/archives/2013/12/11/digitalocean-now-growing-faster-than-amazon.html +[3]:http://xmodulo.com/go/digitalocean +[4]:https://github.com/pearkes/tugboat +[5]:http://ask.xmodulo.com/upgrade-ruby-centos.html +[6]:https://cloud.digitalocean.com/api_access +[7]:https://www.flickr.com/photos/xmodulo/14685122101/ +[8]:http://xmodulo.com/2012/04/how-to-enable-ssh-login-without.html +[9]:http://xmodulo.com/go/digitalocean +[10]:https://cloud.digitalocean.com/ssh_keys +[11]:https://www.flickr.com/photos/xmodulo/14501627440/ +[12]:http://ask.xmodulo.com/upgrade-ruby-centos.html \ No newline at end of file From 1e6eb744418af55429e99494b15fee5ac5a349bb Mon Sep 17 00:00:00 2001 From: wxy Date: Tue, 22 Jul 2014 16:15:12 +0800 Subject: [PATCH 182/291] PUB:20140709 Command Line Tuesdays--Part Four MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @cvsher 下回记得在文末的译者处写上你的ID哦。 --- ...20140709 Command Line Tuesdays--Part Four.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) rename {translated/tech => published}/20140709 Command Line Tuesdays--Part Four.md (89%) diff --git a/translated/tech/20140709 Command Line Tuesdays--Part Four.md b/published/20140709 Command Line Tuesdays--Part Four.md similarity index 89% rename from translated/tech/20140709 Command Line Tuesdays--Part Four.md rename to published/20140709 Command Line Tuesdays--Part Four.md index 5362df3738..4fce09d33d 100644 --- a/translated/tech/20140709 Command Line Tuesdays--Part Four.md +++ b/published/20140709 Command Line Tuesdays--Part Four.md @@ -1,5 +1,5 @@ -#命令行星期二-第四部分# --------------------------------------------------------- +命令行星期二——第四部分 +=================== 大家好。新的一周,新的冒险! @@ -10,17 +10,19 @@ ###通配符### 使用图形工具区复制、粘贴、新建目录等操作也许很容易,但是若想完成一些更复杂的任务,例如仅仅将一个目录下的所有.html文件复制到另一个目录中、或者只复制在某个目录中不存在的文件,这时命令行也许会比较方便。我们回到通配符的学习中,通配符是shell的基本功能,它是一个由一些特殊字符组成的集合,它让你可以用一些简单的规则来选择出某些文件。(通配符可以出现在文件名中,用于指定文件名的字符个数和字母的大/小写等规则)。 -如下表(点击放大): + +如下表 : ![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125946.png) -下面是mr Shotts给出的一些实例,如下表:(点击放大) +下面是肖茨先生给出的一些实例,如下表: ![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125959.png) 如果你使用一个包含文件名参数的命令,你就可以使用通配符。 ###cp### + cp是一个用于复制文件或者目录的命令,它的用法相当的简单。进入到你想复制的文件所在的目录,然后使用如下命令 `cp file1 file2` -复制一个文件 @@ -29,11 +31,12 @@ cp是一个用于复制文件或者目录的命令,它的用法相当的简单 `cp file1 file2 ... directory` -从当前工作目录复制多个文件到指定的目录。 -下表是mr Shotts给出的cp命令的一些选项: +下表是肖茨先生给出的cp命令的一些选项: ![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-134248.png) ###mv### + mv是今天的第二个命令,我们可以使用mv来重命名一个文件或目录,或者移动一个文件或目录。我们可以这样使用mv命令。 `mv filename1 filename2` -若想将文件filename1重命名为filename2。 @@ -47,6 +50,7 @@ mv是今天的第二个命令,我们可以使用mv来重命名一个文件或 ![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-133515.png) ###rm### + rm命令是用于删除文件或目录,它的用法比较直接,如下: `rm file` @@ -62,6 +66,7 @@ rm命令是用于删除文件或目录,它的用法比较直接,如下: 但是,使用rm命令时要小心点。因为并没有撤销删除的选项,因此使用rm命令式要格外的小心,避免对你的系统造成不必要的破坏。 ###mkdir### + mkdir是用于创建目录.它是今天最简单的一个命令: `mkdir directory` @@ -73,6 +78,6 @@ mkdir是用于创建目录.它是今天最简单的一个命令: ------------------------------------------------------------------------- via: https://news.opensuse.org/2014/07/08/command-line-tuesdays-part-four/ -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[cvsher](https://github.com/cvsher) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 60d9a2e6027f001cdbe6e490e937bff0cedf819c Mon Sep 17 00:00:00 2001 From: DeadFire Date: Tue, 22 Jul 2014 16:34:25 +0800 Subject: [PATCH 183/291] =?UTF-8?q?20140722-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Questions and Answers on Linux Commands.md | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md diff --git a/sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md b/sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md new file mode 100644 index 0000000000..5f3b4eb5c2 --- /dev/null +++ b/sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md @@ -0,0 +1,68 @@ +10 Useful Interview Questions and Answers on Linux Commands +================================================================================ +Linux command Line and the interaction of users with Linux Shell with Linux Commands is the most wonderful part of Linux and is one of the most widely topic from interview point. Here in this article we are coming up with 10 wonderful questions that are important from the interview perspective and will surely add to yours knowledge base. + +![Linux Command Questions](http://www.tecmint.com/wp-content/uploads/2014/07/Linux-Command-Questions.png) +Linux Command Questions + +### 1. How will you suspend a running process and put it in the background? ### + +**Answer** : In order to suspend a running process/job and put it in the background we need to use the key combination Ctrl+z. + +### 2. What are the minimum number of partitions required to install Linux and How will you check boot messages? ### + +**Answer** : The /root partition alone is sufficient to perform the whole task however minimum three partitions are recommended to install Linux. These are root, boot and swap. An IDE Hard Disk Drive supports upto 63 partitions and SCSI Hard Disk Drive supports up-to 15 partitions. + +In order to check boot messages we need to use cat or dmesg commands as shown below. + + # cat /var/log/messages + +OR + + # dmesg + +### 3. Name the Daemon responsible for tracking System Event on your Linux box? ### + +**Answer** : The Daemon ‘syslogd’ is responsible for tracking system information and stores the tracked logs in specific log files. + +### 4. What are the minimum requirements to run command ‘fsck’ on root partition? ### + +**Answer** : The /root partition must be mounted as read only mode and not read-write to execute fsck command on root partition. + +### 5. How to copy /home directory hierarchically to another directory. How will you do it? ### + +**Answer** : A Linux command ‘cpio’ comes to rescue here. The ‘cpio’ utility copies files and directories hierarchically over another location. + +### 6. How will you automate the rotation of logs in Linux? ### + +**Answer** : A Linux command ‘logrotate’ comes to rescue when it comes to automate the logs in Linux. + +### 7. How to know who has scheduled the job? ### + +**Answer** : The Linux command ‘at’ along with switch ‘-l’ is all we need to use in order to check who has scheduled the job. + +### 8. How to view the contents of the tar ball without extracting it. How will you do this? ### + +**Answer** : We need to use command ‘tar’ with options ‘-tvf’. The options ‘t’ (Display the contents), ‘v’ (Verbose), ‘f’ (files). + +### 9. What is page Fault and how it happens? ### + +**Answer** : A program request for some data and if it is not available in the Memory it is called as page fault. Page Fault occurs as a result of program shutdown. + +### 10. What are return codes in program? ### + +**Answer** : A return code is the feature of Shell. The result of return code shows the status of a program. A successful program after execution returns ’0′, && can be used to prioritize which application will be executing first. + +That’s all for now. I’ll be here again with another interesting article soon. Till then stay tuned and connected to Tecmint. Don’t forget to provide us with your valuable feedback in the comment section below. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/10-useful-interview-questions-and-answers-on-linux-commands/ + +原文作者:[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/ \ No newline at end of file From ae2dc2a7672be9132dfac2ea0f5bda3efd2500b8 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Tue, 22 Jul 2014 17:51:20 +0800 Subject: [PATCH 184/291] =?UTF-8?q?[su-kaiyao]=E7=BF=BB=E8=AF=91=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...seful Interview Questions and Answers on Linux Commands.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md b/sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md index 5f3b4eb5c2..a73aa73937 100644 --- a/sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md +++ b/sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md @@ -1,3 +1,5 @@ +[su-kaiyao]翻译中 + 10 Useful Interview Questions and Answers on Linux Commands ================================================================================ Linux command Line and the interaction of users with Linux Shell with Linux Commands is the most wonderful part of Linux and is one of the most widely topic from interview point. Here in this article we are coming up with 10 wonderful questions that are important from the interview perspective and will surely add to yours knowledge base. @@ -65,4 +67,4 @@ via: http://www.tecmint.com/10-useful-interview-questions-and-answers-on-linux-c 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[a]:http://www.tecmint.com/author/avishek/ \ No newline at end of file +[a]:http://www.tecmint.com/author/avishek/ From cc9048828963fefd652c87a0b9d3a30939832d7e Mon Sep 17 00:00:00 2001 From: bazz2 Date: Tue, 22 Jul 2014 20:25:29 +0800 Subject: [PATCH 185/291] [bazz2-ed]Linux Kernel Testing and Debugging 1 --- ...18 Linux Kernel Testing and Debugging 1.md | 77 ------------------- ...18 Linux Kernel Testing and Debugging 1.md | 76 ++++++++++++++++++ 2 files changed, 76 insertions(+), 77 deletions(-) delete mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 1.md create mode 100644 translated/tech/20140718 Linux Kernel Testing and Debugging 1.md diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 1.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 1.md deleted file mode 100644 index 4db2d54b23..0000000000 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 1.md +++ /dev/null @@ -1,77 +0,0 @@ -[let bazz2 try it] -Linux Kernel Testing and Debugging -================================================================================ -### Linux Kernel Testing Philosophy ### - -Testing is an integral and important part of any software development cycle, open or closed, and Linux kernel is no exception to that. Developer testing, integration testing, regression, and stress testing have different individual goals, however from 1000 feet up, the end goal is the same, to ensure the software continues to work as it did before adding a new body of code, and the new features work as designed. - -Ensuring software is stable without regressions before the release, helps avoid debugging and fixing customer and user found bugs after the release. It costs more in time and effort to debug and fix a customer found problem. Hence, testing is very important in the case of any software, not just the Linux kernel. Unlike closed and proprietary operating systems, the development process is open and is not locked down. This process is its strength as well as weakness. With several developers continuing to add new features, and fixing bugs, continuous integration and testing is vital to ensure the kernel continues to work on existing hardware as new hardware support and features get added. In the open source development, developers and users share the testing responsibility. This is another important difference between a closed development model and an open one. - -Almost all Linux kernel developers, if not all, are very active Linux users themselves. There is no requirement that testers should be developers, however, users and developers that are not familiar with the new code could be more effective at testing a new piece of code than the original author of that code. In other words, developer testing serves as an important step in verifying the functionality, however, developer testing alone is not sufficient to find interactions with other code, features, and unintended regressions on configurations and/or hardware, developer didn't anticipate and didn't have the opportunity and resources to test. Hence, users play a very important role in the Linux Kernel development process. - -So now that we understand the importance of continuous integration testing, we will go into the details of testing itself. Before we talk about testing, I would like to walk through the development process itself to help understand how it works and how the changes funnel into the mainline kernel. - -3000+ kernel developers from around the world contribute to the Linux kernel. It is a 24hours, seven days a week, and 365 days of continuous development process that results in a new release once every 2+ months and several stable and extended stable releases. New development and current release integration cycles run in parallel. - -For further reading on the development process, please refer to [Greg Kroah-Hartman's presentation on the Linux Kernel Development][1]. - - It is my intent that this guide should be useful to a beginner as well as an experienced contributor and/or individuals interested in getting involved in the Linux kernel development. Experienced developers can chose to skip sections that go over basic testing and debugging. - -This paper will discuss how to test and debug Linux kernel, tools, scripts and debug mechanisms that aid in regression and integration testing. In addition, this paper will go into details on how to use git bisect to isolate a patch that introduced a bug, and what to test before sending patches to the Linux Kernel Mailing List. I will use Linux PM as an example target area for the testing and debugging discussion. Even though this paper is Linux Kernel testing focused, the importance of testing is applicable to any software project. - -### Configuring Development and Test System ### - - Let's get started. First order of business is finding a development system that suits your needs. x86-64 systems are a good choice for a basic development system, unless there is a need for a specific architecture and/or configuration. - -The second step is to install distribution of your preference. I prefer Ubuntu, hence this document will have the details on how to configure a kernel development system running Ubuntu distribution. Please follow [How to Ubuntu][2] for installing the Ubuntu release of your choice. - -On development and test systems, it is a good idea to ensure there is ample space for kernels in the boot partition. Choosing whole disk install or setting aside 3 GB disk space for the boot partition is recommended. - -Once the distribution is installed and the system is ready for development packages, enable root account and also enable sudo for your user account. The system might already have the build-essential package which is what you need to build Linux kernels on an x86_64 system. If build-essential is not already installed, run the following command to install it: - - sudo apt-get install build-essential - -At this point, you may install the following packages as well, so the system is ready for cross-compiling Linux kernels. Note that ncurses-dev is a required package to run make menuconfig. - - sudo apt-get install binutils-multiarch - - sudo apt-get install ncurses-dev - - sudo apt-get install alien - -Now let's install a few tools every Linux kernel developer need in his/her tool chest. - - sudo apt-get install git - - sudo apt-get install cscope - - sudo apt-get install meld - - sudo apt-get install gitk - -If you would like to get the system configured for cross-compiling other supported architectures non-natively on your x86-64 system, please follow: [Cross-compiling Linux kernel on x86 64][3]. - -The Stable Kernel - -Start by cloning the stable kernel git, building and installing the latest stable kernel. You can find information on the latest stable and mainline releases at [The Linux Kernel Archive][4]. - - git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git - -The above step will create a new directory named linux-stable and populate it with the sources. - -You can also download just the Linux Kernel source tar-ball instead of cloning the git, and then unpack the tar-ball. - - tar xvf linux-3.x.y.tar.xz - --------------------------------------------------------------------------------- - -via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,0 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://events.linuxfoundation.org/images/stories/pdf/als2012_gregkh.pdf -[2]:http://howtoubuntu.org/ -[3]:http://linuxdriverproject.org/mediawiki/index.php/Cross-compiling_Linux_kernel_on_x86_64 -[4]:https://www.kernel.org/ diff --git a/translated/tech/20140718 Linux Kernel Testing and Debugging 1.md b/translated/tech/20140718 Linux Kernel Testing and Debugging 1.md new file mode 100644 index 0000000000..deb81ef193 --- /dev/null +++ b/translated/tech/20140718 Linux Kernel Testing and Debugging 1.md @@ -0,0 +1,76 @@ +Linux 内核的测试和调试 +================================================================================ +### Linux 内核测试哲学 ### + +不管是开源还是闭源,所有软件的开发流程中,测试是一个重要的、不可或缺的环节,Linux 内核也不例外。开发人员自测、系统测试、回归测试、压力测试,都有各自不同的目的,但是从更高一个层次上看,这些测试的最终目的又是一样的:保证软件能一直运行下去,当有新功能加进去时,要保证新功能可以正常工作。 + +在软件释出 release 版之前,不用回归测试就能保证稳定性,并且尽量避免在软件发布后被用户发现 bug。调试被用户发现的 bug 是一项非常浪费时间和精力的工作。因此测试是一项非常重要的工作。不像闭源和专有的操作系统,Linux 内核的开发过程是完全开放的。这种处理方式即是它的优点,也是它的缺点。多个开发者持续增加新功能、修 bug、不断集成与测试 —— 当环境有新的硬件或功能时,这种开发方式能够保证内核能持续工作。在开源项目中,开发者与用户共享测试的结果,这也是开源项目与闭源项目之间的一个很重要的差别。 + +几乎所有 Linux 内核开发者都是活跃的 Linux 用户。内核测试人员不一定非得是内核开发者,相反,用户和开发者如果对新增的代码不是很熟悉,他们的测试效果会比代码开发人员自己测试的效果要好很多。也就是说,开发者的单元自测能验证软件的功能,但并不能保证在其他代码、其他功能、其他软件、硬件环境下面运行时会出现什么问题。开发者无法预料、也没有机会和资源来测试所有环境。因此,用户在 Linux 内核开发过程中起到非常重要的角色。 + +现在我们已经了解了持续集成测试的重要性,接下来我们会详细介绍测试的知识。但在此之前,我还是向介绍一下开发的过程,以便让大家了解它是怎么工作的,以及如何把补丁打进内核主线。 + +全世界共有3000多个内核开发者为 Linux 内核贡献代码,每天都有新代码添加到内核,结果是大概2个月就能产生一个稳定版和多个扩展的稳定版。新功能的开发与已发布的稳定版集成测试流程在同时进行。 + +关于开发流程的详细描述,请参考[Greg Kroah-Hartman 的 Linux 内核开发的介绍][1]。 + +这份教程适合与初学者以及有经验的内核开发者,如果你想加入到内核开发者行列,那么它也适合你。有经验的开发人员可以跳过那些介绍基础测试和调试的章节。 + +这份教程介绍如何测试和调试 Linux 内核、工具、脚本以及在回归测试会集成测试中使用的调试机制。另外,本文还会介绍如何使用 git 把针对一个 bug 的补丁分离出来,在介绍介绍把你的补丁提交到内核的邮件列表之前需要做些什么。我将会使用 Linux PM 作为测试它调试的对象。尽管本文讨论的是 Linux 内核,但是介绍的方法适用于任何其他软件开发项目。 + +### 配置开发与测试的系统 ### + +第一步,找一个满足你需求的开发环境,x86-64 是一个比较理想的选择,除非你必须用特别的架构。 + +第二步,安装 Linux 发行版,我推荐 Ubuntu,所以本教程会介绍基于 Ubuntu 的配置过程。你可以参考[如何使用 Ubuntu][2] 来安装一个 Ubuntu 系统。 + +在开发和测试环境,最好要保证你的 boot 分区有足够的空间来存放内核文件。你可以为 boot 分区留下 3GB 空间,或把 boot 分区直接放到根目录下,这样 boot 分区可以使用整个磁盘的空间。 + +安装好操作系统后,确保 root 用户可用,确保你的用户可以使用 sudo 命令。你的系统也许已经安装了 build-essential,它是编译内核必备的软件包,如果没安装,运行下面的命令: + + sudo apt-get install build-essential + +然后运行下面的命令,保证你的系统能够交叉编译内核。下面的 ncurses-dev 安装包是运行 make menuconfig 命令必须用到的。 + + sudo apt-get install binutils-multiarch + + sudo apt-get install ncurses-dev + + sudo apt-get install alien + +然后安装一些每个内核开发者都会用到的工具包: + + sudo apt-get install git + + sudo apt-get install cscope + + sudo apt-get install meld + + sudo apt-get install gitk + +如果你喜欢把内核通过交叉编译以支持非 x86_64 架构的环境,请参考[在 x86_64 上交叉编译 Linux 内核][3]。 + +### 稳定的内核 ### + +使用 git 克隆一个稳定的内核,然后编译安装。你可以参考[Linux 内核结构][4]来找到最新的稳定版和开发主线。 + + git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git + +上面的步骤将会创建一个新的目录,名为 linux-stable,然后把源码下载到里面。 + +你也可以直接下载压缩包并解压出源码,无需使用 git: + + tar xvf linux-3.x.y.tar.xz + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,0 + +译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://events.linuxfoundation.org/images/stories/pdf/als2012_gregkh.pdf +[2]:http://howtoubuntu.org/ +[3]:http://linuxdriverproject.org/mediawiki/index.php/Cross-compiling_Linux_kernel_on_x86_64 +[4]:https://www.kernel.org/ From d83dc941eece6c7590c93ce79fa277389ea1e66f Mon Sep 17 00:00:00 2001 From: bazz2 Date: Tue, 22 Jul 2014 20:28:46 +0800 Subject: [PATCH 186/291] [bazz2-ing] Linux Kernel Testing and Debugging 2 --- sources/tech/20140718 Linux Kernel Testing and Debugging 2.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 2.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 2.md index bc7c1bd479..9edd3141c8 100644 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 2.md +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 2.md @@ -1,3 +1,4 @@ +[bazz2 so handsome] Linux Kernel Testing and Debugging ================================================================================ ### Compiling and Installing Stable Kernel ### @@ -104,4 +105,4 @@ via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 60a00bc2f1e30cf6a0a0590f1ca5a1af037094f3 Mon Sep 17 00:00:00 2001 From: kaiyao <1250471161@qq.com> Date: Tue, 22 Jul 2014 22:20:28 +0800 Subject: [PATCH 187/291] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Questions and Answers on Linux Commands.md | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 translated/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md diff --git a/translated/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md b/translated/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md new file mode 100644 index 0000000000..20a8ac5f78 --- /dev/null +++ b/translated/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md @@ -0,0 +1,68 @@ +关于Linux命令的10个有用的面试问题及其答案 +================================================================================================================================================== +Linux命令行,以及用户使用Linux命令进行Linux shell交互,是Linux最吸引人的地方,也是面试中最普遍的话题之一。在这篇文章中,我们将提出10个面试中很重要问题,这肯定能拓宽你的知识面 + +![Linux Command Questions](http://www.tecmint.com/wp-content/uploads/2014/07/Linux-Command-Questions.png) Linux Command Questions + +### 1. 如何停止一个正在运行的进程 ### + +**答案**:为了停止正在运行的进程,我们可以使用组合键 Ctrl+Z + +### 2. 什么是安装Linux所需的最小分区数量,以及如何查看系统启动信息? ### + +**答案**:单独一个/root分区足以执行所有的系统任务,但是强烈建议安装Linux时,需要至少三个分区:/root,/boot,/swap。一个IDE硬盘驱动器支持高达63个分区,SCSI硬盘驱动器支持超过15个分区 + +为了检查启动信息,我们可以使用cat或者dmesg命令,如下所示: + + #cat /var/log/messages + +OR + + #dmesg + +### 3. 在你的Linux机器上更踪系统事件的守护进程名是什么?### + +**答案**:'syslogd',它负责更踪系统信息,并将更踪日志存储在特定的日志文件里 + +### 4. 在/root分区运行'fsck'命令的最低要求是什么?### + +**答案**:/root分区必须挂载为只读模式,而不是读写模式 + +### 5. 如何分层复制/home目录到另一个目录,你有什么办法?### + +**答案**:Linux的'cpio'命令起到了效果。'cpio'可以分层地复制文件和目录层次结构到另一个位置 + +### 6. 在Linux中,怎样实现日志文件的自动替换?### + +**答案**:'logrotate'提供日志自动替换功能 + +### 7. 你知道Linux中是谁在安排工作吗?### + +**答案**:使用'at'命令加上'-l'选项,就可以查出 + +### 8. 如何在不解压tar包的前提下,查看包里的内容 ### + +**答案**:使用'tar -tvf'。选项‘t’(显示内容),‘v’(详细报告tar处理的文件信息),‘f’(使用档案文件或者设备) + +### 9. 什么是页面错误,它是怎么发生的?### + +**答案**:当一个程序请求内存中不存在的数据时,就会产生页面错误,导致的结果就是程序停止 + +### 10. 什么叫在程序中返回代码?### + +**答案**:返回代码是shell的特性。返回代码显示了程序的状态,一个成功的程序执行后返回‘0’,&&可以用来决定那个应用程序先执行 + +好了,文章要结束了。不久以后,我还会在这分享其余有趣文章的,记得和我们保持联系。还有,别忘了在评论栏里面向我们提供您的宝贵意见 + +----------------------------------------------------------------------------------------------------------------- + +via: http://www.tecmint.com/10-useful-interview-questions-and-answers-on-linux-commands/ + +原文作者:[Avishek Kumar][a] + +译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.tecmint.com/author/avishek/ + From bb172cd19b66aac12bc4c6be1a24949d88fafb80 Mon Sep 17 00:00:00 2001 From: Kaiyao <1250471161@qq.com> Date: Tue, 22 Jul 2014 22:22:32 +0800 Subject: [PATCH 188/291] Delete 20140722 10 Useful Interview Questions and Answers on Linux Commands.md --- ...Questions and Answers on Linux Commands.md | 70 ------------------- 1 file changed, 70 deletions(-) delete mode 100644 sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md diff --git a/sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md b/sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md deleted file mode 100644 index a73aa73937..0000000000 --- a/sources/tech/20140722 10 Useful Interview Questions and Answers on Linux Commands.md +++ /dev/null @@ -1,70 +0,0 @@ -[su-kaiyao]翻译中 - -10 Useful Interview Questions and Answers on Linux Commands -================================================================================ -Linux command Line and the interaction of users with Linux Shell with Linux Commands is the most wonderful part of Linux and is one of the most widely topic from interview point. Here in this article we are coming up with 10 wonderful questions that are important from the interview perspective and will surely add to yours knowledge base. - -![Linux Command Questions](http://www.tecmint.com/wp-content/uploads/2014/07/Linux-Command-Questions.png) -Linux Command Questions - -### 1. How will you suspend a running process and put it in the background? ### - -**Answer** : In order to suspend a running process/job and put it in the background we need to use the key combination Ctrl+z. - -### 2. What are the minimum number of partitions required to install Linux and How will you check boot messages? ### - -**Answer** : The /root partition alone is sufficient to perform the whole task however minimum three partitions are recommended to install Linux. These are root, boot and swap. An IDE Hard Disk Drive supports upto 63 partitions and SCSI Hard Disk Drive supports up-to 15 partitions. - -In order to check boot messages we need to use cat or dmesg commands as shown below. - - # cat /var/log/messages - -OR - - # dmesg - -### 3. Name the Daemon responsible for tracking System Event on your Linux box? ### - -**Answer** : The Daemon ‘syslogd’ is responsible for tracking system information and stores the tracked logs in specific log files. - -### 4. What are the minimum requirements to run command ‘fsck’ on root partition? ### - -**Answer** : The /root partition must be mounted as read only mode and not read-write to execute fsck command on root partition. - -### 5. How to copy /home directory hierarchically to another directory. How will you do it? ### - -**Answer** : A Linux command ‘cpio’ comes to rescue here. The ‘cpio’ utility copies files and directories hierarchically over another location. - -### 6. How will you automate the rotation of logs in Linux? ### - -**Answer** : A Linux command ‘logrotate’ comes to rescue when it comes to automate the logs in Linux. - -### 7. How to know who has scheduled the job? ### - -**Answer** : The Linux command ‘at’ along with switch ‘-l’ is all we need to use in order to check who has scheduled the job. - -### 8. How to view the contents of the tar ball without extracting it. How will you do this? ### - -**Answer** : We need to use command ‘tar’ with options ‘-tvf’. The options ‘t’ (Display the contents), ‘v’ (Verbose), ‘f’ (files). - -### 9. What is page Fault and how it happens? ### - -**Answer** : A program request for some data and if it is not available in the Memory it is called as page fault. Page Fault occurs as a result of program shutdown. - -### 10. What are return codes in program? ### - -**Answer** : A return code is the feature of Shell. The result of return code shows the status of a program. A successful program after execution returns ’0′, && can be used to prioritize which application will be executing first. - -That’s all for now. I’ll be here again with another interesting article soon. Till then stay tuned and connected to Tecmint. Don’t forget to provide us with your valuable feedback in the comment section below. - --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/10-useful-interview-questions-and-answers-on-linux-commands/ - -原文作者:[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/ From 325c90c0a9e9a2a9c3af3321c15830a0a87e0b3c Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Wed, 23 Jul 2014 11:19:31 +0800 Subject: [PATCH 189/291] [translating] Super Pi Brothers --- sources/tech/20140624 Super Pi Brothers.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140624 Super Pi Brothers.md b/sources/tech/20140624 Super Pi Brothers.md index 9e0ef9b0fd..7edf8e195a 100644 --- a/sources/tech/20140624 Super Pi Brothers.md +++ b/sources/tech/20140624 Super Pi Brothers.md @@ -1,3 +1,4 @@ +zpl1025 Super Pi Brothers ================================================================================ I don't game as much as I used to. Although I've certainly spent countless hours of my life in front of a Nintendo, SNES, or after that, playing a first-person shooter on my computer (Linux only, thank you), these days, my free time tends to go toward one of the many nongaming hobbies I've accumulated. Recently though, I found myself dusting off my Wii console just so I could play an NES and SNES game I re-purchased for it. The thing is, those games require using a somewhat strange controller, and I already have a modified SNES controller that can connect over USB. That was enough to encourage me to search for a better solution. Of course, I simply could connect three or four consoles and stack up games in my living room, but I've grown accustomed to ripping my CDs and DVDs and picking what I want to listen to or watch from a central media center. It would be nice if I didn't have to get up and find a cartridge every time I wanted to switch games. This, of course, means going with emulation, but although in the past I'd had success with a modified classic Xbox, I didn't have that hardware anymore. I figured someone must have gotten this set up on the Raspberry Pi, and sure enough, after a brief search and a few commands, I had a perfect retro-gaming arcade set up on a spare Raspberry Pi. @@ -67,4 +68,4 @@ via: http://www.linuxjournal.com/content/super-pi-brothers 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [1]:http://blog.petrockblock.com/retropie -[2]:https://github.com/petrockblog/RetroPie-Setup \ No newline at end of file +[2]:https://github.com/petrockblog/RetroPie-Setup From 60d43dfb91b405a39e4da525090e941e40f017f9 Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 23 Jul 2014 13:50:56 +0800 Subject: [PATCH 190/291] PUB:20140611 HTG Explains--What is Unix and Why Does It Matter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @zpl1025 翻译的不错! --- ...ns--What is Unix and Why Does It Matter.md | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) rename {translated/talk => published}/20140611 HTG Explains--What is Unix and Why Does It Matter.md (75%) diff --git a/translated/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md b/published/20140611 HTG Explains--What is Unix and Why Does It Matter.md similarity index 75% rename from translated/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md rename to published/20140611 HTG Explains--What is Unix and Why Does It Matter.md index eb9824ada2..086568b98b 100644 --- a/translated/talk/20140611 HTG Explains--What is Unix and Why Does It Matter.md +++ b/published/20140611 HTG Explains--What is Unix and Why Does It Matter.md @@ -1,26 +1,28 @@ -HTG解释:什么是Unix以及它为什么这么重要? +什么是Unix以及它为什么这么重要? ================================================================================ ![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/ken-thompson-and-dennis-richie-at-pdp-11.jpg) 大多数操作系统可以被划分到两个不同的家族。除了微软的基于Windows NT的操作系统外,几乎所有其他的都可以追溯到Unix。 -Linux,Mac OS X,Android,iOS,Chrome OS,PlayStaion 4上运行的Orbis OS,运行在路由器上的任意固件,所有这些操作系统通常都被称为“类Unix”操作系统。 +Linux,Mac OS X,Android,iOS,Chrome OS,PlayStaion 4上运行的Orbis OS,运行在路由器上的各种固件,所有这些操作系统通常都被称为“类Unix”操作系统。 ### Unix的设计现在都还在应用 ### Unix在20世纪60年代中晚期诞生于AT&T的贝尔实验室中。最初发布的Unix中的一些重要设计因素到如今都还在使用。 -其中一个是“Unix哲学”,建立小的模块化的应用,只做一件事情并把它做好。如果你对Linux终端很熟悉的话,应该对这个不陌生-系统提供了大量的应用,可以通过[管道或其他特性][1]形成不同的组合来完成更复杂的任务。甚至图形界面程序也经常会在后台调用更简单的应用去做比较耗时的任务。这种模式也让[建立终端脚本][2]更为简单,通过文本把一些简单工具结合起来去做复杂的事情。 +其中一个设计是“Unix哲学”,建立小的模块化的应用,只做一件事情并把它做好。如果你对Linux终端很熟悉的话,应该对这个不陌生-系统提供了大量的应用,可以通过[管道或其他特性][1]形成不同的组合来完成更复杂的任务。甚至图形界面程序也经常会在后台调用更简单的应用去做比较耗时的任务。这种模式也让[建立终端脚本][2]更为简单,通过文本把一些简单工具结合起来去做复杂的事情。 -Unix还设计了一个单一的文件系统,程序可以通过它互相通讯。这也是[为什么在Linux里说“一切都是文件”][3]-包括硬件设备和提供系统信息或其他数据的特殊文件。这也是为什么只有Windows系统中才有磁盘盘符,这是从DOS继承过来的-在其他操作系统中,所有文件都是一个单一目录结构中的一部分。 +Unix还设计了一个单一的文件系统,程序可以通过它互相通讯。这也是[为什么在Linux里说“一切都是文件”][3]-包括硬件设备文件,和提供系统信息及其他数据的特殊文件。这也是为什么只有Windows系统中才有磁盘盘符,这是从DOS继承过来的-在其他操作系统中,所有文件都是一个单一目录结构中的一部分。 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/unix-bell-labs.jpg) ### 那些从Unix派生出的系统 ### -类似任何往前追溯40年的历史,Unix的历史和它的派生系统一片混乱。为了简单,我们把Unix的派生系统大致分成两组。 +类似任何可以往前追溯40年的历史,Unix的历史和它的派生系统一片混乱。为了简单,我们把Unix的派生系统大致分成两组。 -一组Unix派生系统是学术界开发的。首先是BSD(伯克利软件发布版),一个开源的类Unix操作系统。BSD如今还存在于FreeBSD,NetBSD和OpenBSD等系统中。NeXTStep基于最初版的BSD开发,苹果的Mac OS X基于NeXTStep,iOS基于Mac OS X。许多其他操作系统,包括运行在PlayStation 4上的Orbis OS,也源于各种BSD操作系统。 +一组Unix派生系统是学术界开发的。 + +首先是BSD(伯克利软件发布版),一个开源的类Unix操作系统。BSD如今还存在于FreeBSD,NetBSD和OpenBSD等系统中。NeXTStep基于最初版的BSD开发,苹果的Mac OS X基于NeXTStep,iOS基于Mac OS X。许多其他操作系统,包括运行在PlayStation 4上的Orbis OS,也源于各种BSD操作系统。 Richard Stallman建立GNU项目的目的是为了反对AT&T的Unix软件协议条款日渐严格的限制。MINIX是一个类Unix操作系统,为教育目的而实现的,而Linux则是受到了MINIX的启发。[我们今天所熟悉的Linux其实应该叫GNU/Linux][4],因为它是由Linux内核和大量GNU应用组成的。GNU/Linux不是直接从BSD继承下来的,但是它继承了Unix的设计而且根植于学术界。如今许多操作系统,包括Android,Chrome OS,Steam OS,以及数量巨大的在各种设备上使用的嵌入式操作系统,都基于Linux。 @@ -34,7 +36,7 @@ Richard Stallman建立GNU项目的目的是为了反对AT&T的Unix软件协议 许多人希望Unix能够成为工业标准操作系统,但是DOS和“IBM PC兼容”计算机却最终人气爆发而普及开来。微软的DOS也成为众多DOS系统中最成功的一个。DOS完全没有参照Unix,这也是[为什么Windows使用反斜杠划分文件路径,而其他所有系统都使用正斜杠][6]。这个决定是在早期的DOS系统中做出的,而之后的Windows版本继承了这一设定,就像BSD,Linux,Mac OS X,和其他类Unix操作系统继承了许多Unix设计因素一样。 -Windows 3.1,Windows 95,Windows 98,and Windows ME都是建立在DOS的基础上。当时微软已经在开发一个更现代更稳定的操作系统,叫做Windows NT-意思是“Windows新技术”。Windows NT最终通过Windows XP应用到普通计算机用户中,但是之前它都只用于针对企业用户的Windows 2000和Windows NT。 +Windows 3.1,Windows 95,Windows 98,和 Windows ME都是建立在DOS的基础上。当时微软已经在开发一个更现代更稳定的操作系统,叫做Windows NT-意思是“Windows新技术”。Windows NT最终通过Windows XP应用到普通计算机用户中,但是之前它都只用于针对企业用户的Windows 2000和Windows NT。 如今所有微软的操作系统都基于Windows NT内核。Windows 7,Windows 8,Windows RT,Windows Phone 8,Windows Server,以及Xbox One上的操作系统都在使用Windows NT内核。不像其他大多数操作系统那样,Windows NT没有被开发成一个类Unix操作系统。 @@ -42,11 +44,11 @@ Windows 3.1,Windows 95,Windows 98,and Windows ME都是建立在DOS的基 ![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/windows-2000-professional-built-on-nt-technology.jpg) -为什么它影响很大 +### 为什么它影响很大 ### 不知道你有没有看过Mac OS X终端或是文件系统,有没有注意到它们和Linux是如此相似,而又和Windows是如此不同?好吧,原因是-Mac OS X和Linux两个都是类Unix操作系统。 -了解了这点历史,就可以帮助你理解什么是“类Unix”操作系统,以及为什么这么多操作系统看起来都差不多,而Windows却那么与众不同。这也可以解释为什么Linux极客对Mac OS X上的终端会感觉如此熟悉,而[Windows 7上的Command Prompt和PowerShell][7]相对于其他命令行环境显得如此不同。 +了解了这点历史,就可以帮助你理解什么是“类Unix”操作系统,以及为什么这么多操作系统看起来都差不多,而Windows却那么与众不同。这也可以解释为什么Linux极客对Mac OS X上的终端会感觉如此熟悉,而[Windows 7上的Command Prompt和PowerShell][7]相对于其他命令行环境显得格格不入。 这只是一点快速掠过的历史,帮助了解是如何发展到今天的,而不用陷入到细节中。如果你想了解更多,可以找到许多关于Unix历史的整本的书籍。 @@ -56,7 +58,7 @@ Windows 3.1,Windows 95,Windows 98,and Windows ME都是建立在DOS的基 via: http://www.howtogeek.com/182649/htg-explains-what-is-unix/ -译者:[zpl1025](https://github.com/zpl1025) 校对:[校对者ID](https://github.com/校对者ID) +译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From ede6773c5e8b91a6e2742f6400450739ea2860d7 Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 23 Jul 2014 14:06:21 +0800 Subject: [PATCH 191/291] PUB: 20140625 Betty--Translate English Phrases Into Linux Commands @CNprober --- ...Translate English Phrases Into Linux Commands.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) rename {translated/tech => published}/20140625 Betty--Translate English Phrases Into Linux Commands.md (88%) diff --git a/translated/tech/20140625 Betty--Translate English Phrases Into Linux Commands.md b/published/20140625 Betty--Translate English Phrases Into Linux Commands.md similarity index 88% rename from translated/tech/20140625 Betty--Translate English Phrases Into Linux Commands.md rename to published/20140625 Betty--Translate English Phrases Into Linux Commands.md index f9b695fbbc..83784a07e5 100644 --- a/translated/tech/20140625 Betty--Translate English Phrases Into Linux Commands.md +++ b/published/20140625 Betty--Translate English Phrases Into Linux Commands.md @@ -1,5 +1,3 @@ -CNprober翻译完成。。。619913541 - Betty:通过大白话执行Linux命令 ================================================================================ @@ -7,7 +5,7 @@ Betty:通过大白话执行Linux命令 ### 安装 ### -Betty的安装非常简单直接。首先确认你已经安装了下面这些依赖包[译注,需要安装至少Ruby1.9以上版本]。 +Betty的安装非常简单直接。首先确认你已经安装了下面这些依赖包[LCTT译注,需要安装至少Ruby1.9以上版本]。 #### 对于基于Debian的系统:#### @@ -17,7 +15,7 @@ Betty的安装非常简单直接。首先确认你已经安装了下面这些依 yum install git curl ruby -现在git工具把Betty库clone到你自定义的任何路径。这里我克隆到我的home目录,**例如 /home/sk/**. +现在用git工具把Betty库clone到你自定义的任何路径。这里我克隆到我的home目录,**例如 /home/sk/**. git clone https://github.com/pickhardt/betty @@ -35,7 +33,7 @@ Betty的安装非常简单直接。首先确认你已经安装了下面这些依 ### 用法 ### -你应该在英语短语之前加上单词“betty”。你也许已经知道,如果我们想知道在系统中我们的用户名,应该运行下面的命令: +你应该在英语短语之前加上单词“betty” [LCTT译注,你自然可以用你的小甜心的名字来替换这个不是知道是谁的Betty :>]。你也许已经知道,如果我们想知道在系统中我们的用户名,应该运行下面的命令: whoami @@ -60,7 +58,7 @@ Betty的安装非常简单直接。首先确认你已经安装了下面这些依 betty whats my name -Betty不确定她应该查找系统用户名还是用户全名。这种情况下,她会询问你多个问题来找到准确的结果。如你下面所见,Betty问我想要运行哪一条命令(whoami 还是 finger $(whoami) | sed 's/.*:*//;q')[译注,需要你的系统已经安装finger]。我只想知道我的用户名,所以我选择数字**1**。 +Betty不确定她应该查找系统用户名还是用户全名。这种情况下,她会询问你多个问题来找到准确的结果。如你下面所见,Betty问我想要运行哪一条命令(whoami 还是 finger $(whoami) | sed 's/.*:*//;q')[LCTT译注,需要你的系统已经安装finger]。我只想知道我的用户名,所以我选择数字**1**。 Betty: Okay, I have multiple ways to respond. Betty: Enter the number of the command you want me to run, or N (no) if you don't want me to run any. @@ -76,7 +74,6 @@ Betty不确定她应该查找系统用户名还是用户全名。这种情况下 如果你想要压缩一个文件或者文件夹,用下面的命令。例如,我想压缩我home目录下的“test”文件夹。 - betty compress test/ test.tar.gz 输出是这样的: @@ -197,7 +194,7 @@ Cheers! via: http://www.unixmen.com/betty-translate-english-phrases-linux-commands/ -译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID) +译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 7813a2ed7ab51859848fa3bfa41d42d2cef39724 Mon Sep 17 00:00:00 2001 From: joeren Date: Wed, 23 Jul 2014 14:11:19 +0800 Subject: [PATCH 192/291] Update 20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md --- ...GNOME Shell Extension Puts Your Fave Apps On The Desktop.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md b/sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md index cc6f1528dc..e2048e8a24 100644 --- a/sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md +++ b/sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md @@ -1,3 +1,4 @@ +Translating by GOLinux ... ‘Simple Dock’ GNOME Shell Extension Puts Your Fave Apps On The Desktop ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/screenshot_815_1.jpg) @@ -37,4 +38,4 @@ via: http://www.omgubuntu.co.uk/2014/07/simple-dock-gnome-shell-extension 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[1]:https://extensions.gnome.org/extension/815/simple-dock/ \ No newline at end of file +[1]:https://extensions.gnome.org/extension/815/simple-dock/ From e8b779c39781843db4f376d16ca98610adcf0ee6 Mon Sep 17 00:00:00 2001 From: GOLinux Date: Wed, 23 Jul 2014 15:15:14 +0800 Subject: [PATCH 193/291] Translated:20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md --- ...sion Puts Your Fave Apps On The Desktop.md | 41 ------------------- ...sion Puts Your Fave Apps On The Desktop.md | 40 ++++++++++++++++++ 2 files changed, 40 insertions(+), 41 deletions(-) delete mode 100644 sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md create mode 100644 translated/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md diff --git a/sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md b/sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md deleted file mode 100644 index e2048e8a24..0000000000 --- a/sources/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md +++ /dev/null @@ -1,41 +0,0 @@ -Translating by GOLinux ... -‘Simple Dock’ GNOME Shell Extension Puts Your Fave Apps On The Desktop -================================================================================ -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/screenshot_815_1.jpg) - -**I love GNOME Shell, but what I don’t love is having to rustle through a hidden screen to get at my favourite applications or switch between those I have running. ** - -It may make me sound awesomely retro, like a UX luddite, or like someone who has become far too accustomed to the usability of Unity but I, like many of you reading this, like having an app launcher/switcher accessible on the desktop. It’s a familiar, fast way of working. - -GNOME Shell is, by design, different. It tucks everything out of the way – from the messaging centre and notifications, to workspaces and the apps list. It’s a minimal aesthetic that makes sense: help users focus on what matters. - -But for me, my desktop needs to be more than a glorified picture frame. - -### The Beauty of GNOME Shell ### - -Despite my own preferences, the decision to hide apps is part of the beauty of GNOME Shell. It ships with a default desktop experience that is user friendly, sane and predictable — but also thoroughly extensible. Because of this there’s a huge array of add-ons catering to every need, niche and want, including traditional app menus, desktop docks and even an Ubuntu Unity Dash clone! - -In this article I’m just focusing on one add-on that caters to my needs: the aptly named **Simple Dock**. Simple Dock takes the GNOME Shell apps grid and favourites bar and puts it slap bang where I want it: on the desktop. - -For now it only supports being positioned on the bottom of the screen, and only offers a minimal set of settings. While minimal, I feel these cover all of my needs: - -- ntelligent auto hide -- Minimise/restore application windows -- Drag-and-drop favourites -- Button to launch activities overlay - -Want it? Providing you’re running GNOME Shell on Ubuntu 13.10 or above you can. Just head on over to the GNOME Extensions page linked to below in a supported browser (Firefox, GNOME Web, etc.) then slide the on-page switch from ‘off‘ to ‘on‘. - -- [Simple Dock on GNOME Shell Extensions][1] - -To adjust the settings of Simple Dock hit the cog icon on the GNOME Extensions webpage listing for it or through a desktop application like GNOME Tweak Tool. - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/07/simple-dock-gnome-shell-extension - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://extensions.gnome.org/extension/815/simple-dock/ diff --git a/translated/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md b/translated/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md new file mode 100644 index 0000000000..187aa61777 --- /dev/null +++ b/translated/tech/20140716 Simple Dock GNOME Shell Extension Puts Your Fave Apps On The Desktop.md @@ -0,0 +1,40 @@ +“Simple Dock” GNOME Shell扩展乾坤大挪移,钟爱应用桌面展现 +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/screenshot_815_1.jpg) + +**我爱GNOME Shell,但是我痛恨的是话费力气从隐藏屏幕中找到我所钟爱的应用或者在我正运行的应用间切换。** + +这么说,好像听起来我是个老古董,像是一个UX勒德分子,也像是某个过分沉溺于Unity可用性瘾君子,但我,像阅读本文的许多人一样,喜欢将app启动器/切换器放到桌面上。这是一个熟悉、快速的工作方式。 + +而GNOME Shell,从设计上看,却完全是个不同的世界。它将所有这一切隐藏起来 —— 从消息中心和通知,到工作区和应用列表。它是最小美学,包含这样的道理:帮助用户专注于最重要的部分。 + +但是对我而言,我的桌面需要比一个美化的相框更多的东西。 + +### GNOME Shell之美 ### + +抛开我自己的偏好,隐藏应用是GNOME Shell之美的一部分。它带来了默认的桌面体验:用户友好,稳健以及可预见性——而且也完全可扩展。因此,它也附带有大量的扩展组件以迎合不同用户的需要、职业和希望,包括传统应用菜单,桌面停靠栏,以及甚至是Ubuntu Unity Dash的复制品! + +在本文中,我仅仅关注那个能满足我需要的扩展:它有个恰如其分的名字**Simple Dock**。Simple Dock获取GNOME Shell应用网格以及收藏栏,并可以将它放到任何我想要放的不引人注目的位置:桌面上。 + +目前为止,它只支持放置在屏幕底部,只提供了最小的设置项。虽然是最小的,但我觉得所有这些设置已经能满足我的需要: + +- 智能自动隐藏 +- 最小化/还原应用窗口 +- 拖放收藏 +- 覆盖活动启动按钮 + +想要吗?如果你正在Ubuntu 13.10或更高版本上使用GNOME Shell,那么你可以使用它。只需在支持的浏览器(Firefox, GNOME Web之类)中访问下面的链接就可以导航到GNOME扩展页面,然后将页面上开个从“off”拖动到“on”上。 + +- [GNOME Shell扩展中的Simple Dock][1] + +要调整Simple Dock设置,点击GNOME扩展页面上的齿轮图标,或者通过GNOME优化工具这样的桌面应用程序来设置。 + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/simple-dock-gnome-shell-extension + +译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://extensions.gnome.org/extension/815/simple-dock/ From 0956044ac27ff43b61af93634474e0d2958ef1c8 Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Wed, 23 Jul 2014 15:23:31 +0800 Subject: [PATCH 194/291] =?UTF-8?q?=E5=B7=B2=E6=A0=A1=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...wser on Debian or Ubuntu Using Terminal.md | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md b/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md index bd25bbb2b8..48d209653a 100644 --- a/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md +++ b/translated/tech/20140714 Set Default Browser on Debian or Ubuntu Using Terminal.md @@ -1,26 +1,29 @@ -利用终端(Terminal)在Debian/Ubuntu中设置默认浏览器 +[快速技巧]利用终端在 Debian/Ubuntu 中设置默认浏览器 ================================================================================ -嘿,伙计们 -在这篇文章中,我们将使用终端设置默认浏览器 +![img](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Browsers-790x436.jpg) + +嘿,伙计们! -虽然,可以很方便地使用浏览器主界面来设置为默认浏览器,但是有时,你需要远程做到这一点 +在这篇文章中,我们将使用终端设置默认浏览器。 -要做到这一点,你只需简简单单的打开终端,然后执行下述的命令: +虽然,使用浏览器主界面来设置默认浏览器很方便,但是有时,你需要远程来操作。 + +要做到这一点,你只需打开终端,然后执行下述命令: ``` sudo update-alternatives --config x-www-browser ``` -之后输入你想设置为默认的浏览器的号码,你就完成了! +之后输入你想设置为默认浏览器的号码,这样就搞定了! -真个过程截图如下: +截图如下: ![图片1](https://camo.githubusercontent.com/7eae55f5fac41634017c1fb5a8bd9cb634a86dc4/687474703a2f2f3138303031363938382e722e63646e37372e6e65742f77702d636f6e74656e742f75706c6f6164732f323031342f30372f6368616e67655f64656661756c745f62726f777365725f66726f6d5f7465726d696e616c5f64656269616e5f656e6f636b2e706e67) -你成功了吗? +成功了吗? --- via: http://www.unixmen.com/quick-tip-set-default-browser-debianubuntu-using-terminal/ -译者:译者ID 校对:校对者ID +译者:[su-kaiyao](https://github.com/su-kaiyao) 校对:[Caroline](https://github.com/carolinewuyan) -本文由 LCTT 原创翻译,Linux中国 荣誉推出 +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 2f17e631acaefc06378afd95994f1ec65a737545 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 23 Jul 2014 15:52:30 +0800 Subject: [PATCH 195/291] =?UTF-8?q?20140723-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...stem Administration Skills are Changing.md | 50 ++++++++ ...ssing Speaker Icon From Moka Icon Theme.md | 36 ++++++ ...undCloud from the command line in Linux.md | 89 ++++++++++++++ ...20140723 Top 10 Fun On The Command Line.md | 116 ++++++++++++++++++ 4 files changed, 291 insertions(+) create mode 100644 sources/talk/20140723 Linux System Administration Skills are Changing.md create mode 100644 sources/tech/20140723 Fix Missing Speaker Icon From Moka Icon Theme.md create mode 100644 sources/tech/20140723 How to access SoundCloud from the command line in Linux.md create mode 100644 sources/tech/20140723 Top 10 Fun On The Command Line.md diff --git a/sources/talk/20140723 Linux System Administration Skills are Changing.md b/sources/talk/20140723 Linux System Administration Skills are Changing.md new file mode 100644 index 0000000000..87ce32c6a1 --- /dev/null +++ b/sources/talk/20140723 Linux System Administration Skills are Changing.md @@ -0,0 +1,50 @@ +Linux System Administration Skills are Changing +================================================================================ +When was the last time you compiled a kernel? For many of the latest generation of Linux admins, the answer is really simple: never. I am one of those, provided we don't count a few times I tried it just for fun, then couldn't see why I would need a custom kernel and went back to my out-of-the-box kernel. 
 + +For many of the longer-time Linux admins and engineers this may seem laughable, but it is a reality: As Linux adoption grows in the enterprise, a new generation of Linux admins is created that has extremely good technical skills, but lacks these 'simple' low level skills seen by many as fundamental to being a good Linux admin. We can build a high performance, highly available web infrastructure that uses the latest of the latest techniques, but don't ask us to fix a non-booting Linux machine: our advice will be to ditch it and set up a new vm. + +Over the past decade or so, we have seen some interesting trends. Linux became a commodity in the enterprise, and as that happened the various distributions became powerful yet flexible enough to remove the need for the average admin to ever have to do low level things like compiling a kernel. + +Next, we welcomed virtual machine technology as a commodity, which added another layer of abstraction. Users of clouds like amazon or VPS providers will possibly never have to deal with deploying Linux on bare metal. As hybrid and private clouds are becoming common as well, many enterprise admins will also not have to deal with this kind of thing anymore, they will just log into a web interface and spin up 5 more apache vm's. + +The newest two trends add even more abstraction: configuration management and the seemingly brand new (yet not new at all) containerization with tools like docker. Whenever a client asks us at [OlinData][1] to configure a Linux machine, our first action will be to set up [Puppet][2]. With our trusted library of well-functioning Puppet modules, that is very easy and will cost me less time then doing this manually. + +For example with Puppet, I can install Apache on a new machine as simple as this: + + node 'web01.olindata.com' { + include apache + apache::vhost{ 'www.olindata.com': + docroot => '/var/www/olindata' + } + } + +Depending on the environment, I don't even have to log into the machine anymore. Deploying this code through Continuous Deployment tools like [Jenkins][3] will allow me to deploy my infrastructure code automatically as it passes the tests I set up. + +### SysAdmin skills move up the stack ### + +Even as we move toward higher levels of abstraction, ongoing Linux training is still highly valuable and desirable for admins today and will be well into the future. Knowing the fundamentals is key but as abstraction removes some of the old tasks, this requires sysadmins to move up further in the stack and enhance their skills in the higher level tools and practices. It is critical for a sysadmin to become familiar with the tools that enable these higher levels of abstraction. It pushes them to become more skilled in things like coding so that they can do more with these "new" tools. + +Will the need for low(er) level linux skills ever go away completely? Of course not. We still have many other uses for Linux then just the commodity server deployments. Also, people will still benefit hugely from knowing how to do lower level operations in their everyday work. On top of that, with demonstrable Linux skills on your resume, I (and many other employers with me) will always prefer you over candidates that don't have them. You never know when you need those low-level skills! + + +---------- +![Walter Heck is CEO and Founder of Olindata, an open source training and consulting company based in The Netherlands.](http://www.linux.com/images/stories/41373/Walter-Heck.jpg) + +Walter Heck is CEO and Founder of OlinData, an authorized Linux Foundation training partner. Here's a list of [scheduled official Linux Foundation courses by OlinData][4]. + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/news/enterprise/systems-management/780956-linux-system-administration-skills-are-changing + +原文作者:[Walter Heck][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/59207 +[1]:http://olindata.com/ +[2]:http://puppetlabs.com/ +[3]:http://jenkins.org/ +[4]:http://www.olindata.com/training/upcoming?technology=295 \ No newline at end of file diff --git a/sources/tech/20140723 Fix Missing Speaker Icon From Moka Icon Theme.md b/sources/tech/20140723 Fix Missing Speaker Icon From Moka Icon Theme.md new file mode 100644 index 0000000000..28afbba227 --- /dev/null +++ b/sources/tech/20140723 Fix Missing Speaker Icon From Moka Icon Theme.md @@ -0,0 +1,36 @@ +Fix Missing Speaker Icon From Moka Icon Theme [Quick Tip] +================================================================================ +[Moka][1] is a beautiful icon theme. It has been constantly featured among the [best icon themes available for Ubuntu][2]. But there is little issue with Moka in Ubuntu 14.04. If you use Moka icons in Ubuntu 14.04 with Unity, you’ll find that speaker icon used for sound is missing: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Moka_Missing_Sound_Icon.jpeg) + +### Fix missing sound icon while using Moka icon theme ### + +Though you might have already added official Moka PPA but for the sake of checking, add it again: + + sudo add-apt-repository ppa:moka/stable + sudo apt-get update + +Now, next step is to install monochrome panel icons. Use the following command to install it: + + sudo apt-get install faba-mono-icons + +Once you have installed the Faba monochrome icons, change your icon theme from Moka to Faba. This will give you Moka icon theme along with beautiful monochrome icons in the top panel in Unity: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Moka_With_Sound_Icons.jpeg) + +I hope this helped you to fix the missing sound icon. Enjoy every bit and every sip of the Moka. + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/fix-missing-speaker-icon-from-moka/ + +原文作者:[Abhishek][a] + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://itsfoss.com/author/Abhishek/ +[1]:http://mokaproject.com/ +[2]:http://itsfoss.com/best-icon-themes-ubuntu-1404/ \ No newline at end of file diff --git a/sources/tech/20140723 How to access SoundCloud from the command line in Linux.md b/sources/tech/20140723 How to access SoundCloud from the command line in Linux.md new file mode 100644 index 0000000000..d664593e6e --- /dev/null +++ b/sources/tech/20140723 How to access SoundCloud from the command line in Linux.md @@ -0,0 +1,89 @@ +How to access SoundCloud from the command line in Linux +================================================================================ +If you enjoy music streaming and originally-created sounds, you cannot have missed [SoundCloud][1]. Based in Germany, this cloud streaming service is now famous and well-established for any music adventurer. And naturally, as a Linux enthusiast, you might wonder how to join your passion for Linux with your love for music. As a solution, I advise you to check out Soundcloud2000, **a command line client for SoundCloud** born out of the [Music Hack Day Stockholm '13][2]. + +### Installation ### + +For Debian or Ubuntu users, install via: + + $ sudo apt-get install portaudio19-dev libmpg123-dev libncurses-dev ruby1.9.1-dev + $ sudo gem install soundcloud2000 + +For Archlinux users, the package is available in [AUR][3]. + +For Fedora users, install via: + + $ sudo yum install portaudio-devel libmpg123-devel ncurses-devel ruby-devel + $ sudo gem install soundcloud2000 + +For CentOS users, install or upgrade to the [latest Ruby/RubyGems][4] (1.9 and higher), enable [Repoforge repo][5], and install via: + + $ sudo yum install portaudio-devel mpg123-devel + $ sudo gem install curses soundcloud2000 + +And finally, go to the official github page for the sources. + +### Usage ### + +Soundcloud2000 is very easy to pick up. Some might even say simplistic. I like it for that sobriety and the effort of the three authors and contributors. Launch it via: + + $ soundcloud2000 + +From there, you will be welcomed with a splash screen: + +![](https://farm4.staticflickr.com/3919/14658085706_71c9094e4f_z.jpg) + +and then a list of songs: + +![](https://farm4.staticflickr.com/3888/14494626757_3e788482d5_z.jpg) + +You can scroll through the list via the up and down keys, play a song with enter, pause/resume with the space bar, and fast forward/rewind with the right and left arrow keys. As you can see, nothing groundbreaking but definitely ergonomic. + +If the random list is too long to scroll through, you have an option to see all the tracks for a particular user by hitting the 'u' key and then typing his name. + +![](https://farm4.staticflickr.com/3861/14494436719_b5536f7b67_z.jpg) + +That is probably one of the major defaults of Soundcloud2000. While the navigation is not optimized, I have high hopes for improvements and support as the software is still very young. + +### Bonus ### + +Another alternative as a bonus: if you like the idea of using SoundCloud from a terminal, but do not want to install any additional software (or maybe you cannot), I advise you to go to [cmd.fm][6]. The website is a kind of camouflage for SoundCloud, as it hides it behind a shell interface. + +[![](https://farm6.staticflickr.com/5580/14494448218_a16b05e3ee_z.jpg)][7] + +Type "help" for a list of commands, which is a lot longer than for Soundcloud2000. As examples, I noticed: + +- _genres to list all genres +- _play random to play a random track +- _pause to pause the current track +- _playlist new to make a new playlist +- _loop to loop current track +- _cinema to watch and ASCII version of Star Wars which completely blew my mind. + +And it even supports auto-completion via the tabulation key for genres. + +To conclude, Soundcloud2000 is a neat program that does exactly what it is supposed to. We can forgive its current flaws as they are surely tied to its youth. I really hope that it will grow and include more features (and potentially get inspiration from cmd.fm). + +If you like the idea, I invite you to support the programmers, and if you like these kinds of initiatives, support [Music Hack Day][8] which mixes software development and music. + +What do you think of using SoundCloud from the command line? Please let us know in the comments. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/access-soundcloud-command-line-linux.html + +原文作者:[Adrien Brochard][a] + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://xmodulo.com/author/adrien +[1]:https://soundcloud.com/ +[2]:https://www.hackerleague.org/hackathons/music-hack-day-stockholm-13/ +[3]:https://aur.archlinux.org/packages/ruby-soundcloud2000/ +[4]:http://ask.xmodulo.com/upgrade-ruby-centos.html +[5]:http://xmodulo.com/2013/01/how-to-set-up-rpmforge-repoforge-repository-on-centos.html +[6]:https://cmd.fm/ +[7]:https://www.flickr.com/photos/xmodulo/14494448218/ +[8]:http://new.musichackday.org/ \ No newline at end of file diff --git a/sources/tech/20140723 Top 10 Fun On The Command Line.md b/sources/tech/20140723 Top 10 Fun On The Command Line.md new file mode 100644 index 0000000000..c31d807dd5 --- /dev/null +++ b/sources/tech/20140723 Top 10 Fun On The Command Line.md @@ -0,0 +1,116 @@ +Top 10! Fun On The Command Line +================================================================================ +**If you just love making 'top 10'-type lists but are a little embarrassed to say so, tell people you're passionate about data exploration. To impress them even more, explain that you do your data exploration on the command line. But don't ruin the impression by telling them how easy that is!** + +In this article I'll do some data exploration with basic GNU/Linux tools and 'one-column tables', by which I mean simple lists. For more information on the commands used here, see their Linux 'man' pages, or ask for an explanation in the 'Comments' section. + +### Passwords ### + +The first list to explore is Mark Burnett's 2011 compilation of the [10000 most commonly used passwords][1]. The list is ordered most-frequent-first, and is one source of the widely known factoid that 'password' is the most commonly used password, with '123456' in second place. Here I've put the list in a file called passwords, and used the head command to show the first 10 lines: + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/1.png) + +(Burnett explains how he collects his passwords [here][2]. Note that he converted all uppercase letters to lowercase in his list.) + +OK, so 'password' is top of the Burnett list. What about individual digits? + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/2.png) + +Interesting. The digit '1' appears in the password list more than twice as often as the next most-used digit, '2', and the 10 digits are in numerical as well as popularity order, except for 0 and 9. And the top 10 letters? + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/3.png) + +The most frequent letters in the passwords file are EARONISTLC. That's not too far off EAIRTONSLC, which is the frequency pattern in at least [one published table][3] of letter usage in common English words. Does this mean that most passwords are actually common English words, maybe with a few digits thrown in? + +To find out, I'll first convert passwords to a list of letters-only strings, then see how many of those strings are in an English dictionary. + +First I'll delete all the digits in passwords with a **sed** command, then delete all the punctuation marks, then all the blank lines. This creates a list of letters-only passwords. Then I'll prune that list with **sort** and **uniq** to get rid of any duplicates. (For example, 'abc1234def' and 'abc1!2!3!def!' both reduce to 'abcdef'.) According to the wc command, my pruning reduces the 10000 passwords to 8583 letters-only strings: + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/4.png) + +For a handy English dictionary I'll use the file `usr/share/dict/american-english`, which came with my Debian Linux distribution. It contains 99171 words. I'll first convert this wordlist to lowercase-only with the **tr** command, then delete any duplicate entries with **sort** and **uniq** (like 'A' and 'a' both becoming 'a'). That reduces the wordlist to 97723 entries: + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/5.png) + +I can now ask the comm command with the '-23' option to compare the two lists and report just the words in the letters-only file that are not found in the dictionary: + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/6.png) + +The total is 3137, so at least 8583 - 3137 = 5446 'core' passwords in Burnett's lowercase-only list (about 63%) are either plain English words, or plain English words with some digits or punctuation marks added. I wrote at least because a big proportion of the 3137 strings are only slight modifications of plain English words or names, or words or names missing from the /usr/share dictionary. Among the LA's, for example, are 'labtec', 'ladyboy', 'lakeside', 'lalakers', 'lalala', 'laserjet', 'lasvegas', 'lavalamp' and 'lawman'. + +### Placenames ### + +In a previous [Linux Rain article][4], I described how I built a table of Australian placenames with more than 370 000 entries. Using it, I can now answer vital questions like 'Is Round Hill the most popular name for hills in Australia?' and 'Is Sandy Beach tops for beaches, and Rocky Creek for creeks?' + +The placename field in the gazetteer table is number 2, so here goes: + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/7.png) + +Wow. I wasn't even close. (But note how I saved typing by using the **^string1^string2** command. It repeats the last command, but substitutes string2 for string1. Wonderful BASH trick!) + +Another burning question is how many placenames there are with 'Mile' in them, like 'Six Mile Creek', and how they rank: + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/8.png) + +I've noticed a lot of Dead Horse Creeks in my Australian travels, and so has the gazetteer: + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/9.png) + +### Species ### + +The third list to explore comes from a table I published this year of new Australian insect species named in the period 1961-2010. From the table I've pulled out all the 'species epithets', which are the second parts of genus-species combinations like Homo sapiens (you and me) and Apis mellifera (European honeybee). + +(Tech note: The insects table, which is available from the open data Zenodo repository at [https://zenodo.org/record/10481][5], includes subspecies. For my 'top 10' exercise I first isolated all the unique genus-species combinations, to avoid duplication from subspecies like Apis mellifera iberica, Apis mellifera intermissa, etc. The final species file has 18155 species epithets.) + +Most people who make jokes about scientific names use the '-us' ending, as in 'Biggus buggus'. What about entomologists? There are a couple of good, command-line ways to get the last 2 letters of a string, and here I've used both: + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/10.png) + +Yep, entomologists prefer '-us', too. Next, I wonder how many species are named for my home State of Tasmania? (Below I ask head for the first 100 lines to make sure I get all the 'tasman' combinations.) + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/11.png) + +How about Queensland? + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/12.png) + +And generally speaking, what are the top 10 names in that insect species list? + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/13.png) + +Hmm. Apart from the obvious 'australis' and 'australiensis', and the geographical 'occidentalis' (of the west), the other 7 epithets in the 10-most-popular list have been created by entomologists to honour other entomologists. (The epithet 'commoni' honors the Australian butterfly and moth specialist Ian F.B. Common, 1917-2006.) + +### Speechifying ### + +The commands used above work on simple lists. To make a simple list out a block of text, the command line is again your friend. For example, I've saved a rather filibustery [speech][6] in the Australian Senate on 16 July 2014 as the text file hansard. To split hansard into a list of words: + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/14.png) + +And to look at word frequency in the speech: + +![](http://thelinuxrain.com/content/01-articles/67-top-10-fun-on-the-command-line/15.png) + +### Coming soon... ### + +Doing 'top 10' and other rankings from multi-column tables requires a few more command-line tools. I'll demonstrate their use in a future article. + + + + + +-------------------------------------------------------------------------------- + +via: http://thelinuxrain.com/articles/top-10-fun-on-the-command-line + +原文作者:Bob Mesibov(Bob Mesibov is Tasmanian, retired and a keen Linux tinkerer.) + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://xato.net/passwords/more-top-worst-passwords/#.U8eD13AvDy0 +[2]:https://xato.net/passwords/how-i-collect-passwords/#.U8eEdnAvDy0 +[3]:http://www.rinkworks.com/words/letterfreq.shtml +[4]:http://www.thelinuxrain.com/articles/building-a-gazetteer-table-from-kml-files +[5]:https://zenodo.org/record/10481 +[6]:http://parlinfo.aph.gov.au/parlInfo/search/display/display.w3p;db=CHAMBER;id=chamber%2Fhansards%2F232fa1a8-d7e8-4b22-9018-1a99b5a96812%2F0025;query=Id%3A%22chamber%2Fhansards%2F232fa1a8-d7e8-4b22-9018-1a99b5a96812%2F0000%22 \ No newline at end of file From ebf87c57c1c3b6173cbe932b7e0fafef8a8815dd Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Wed, 23 Jul 2014 15:56:42 +0800 Subject: [PATCH 196/291] =?UTF-8?q?=E6=A0=A1=E5=AF=B9=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md b/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md index 40f8d0e80d..2d1aadd925 100644 --- a/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md +++ b/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md @@ -44,7 +44,7 @@ Ubuntu 14.04中修复默认启用HDMI后没有声音问题 ![](http://1.gravatar.com/avatar/20749c268f5d3e4d2c785499eb6a17c0?s=100&r=pg&d=mm) 关于Abhishek - + 我是Abhishek Prakash,It's F.O.S.S.的“创立者”,我有一个通信系统工程的硕士学位。我酷爱Linux和开源。我使用Ubuntu,信奉知识分享。除了Linux之外,我也喜爱经典的侦探推理小说,是Agatha Christie作品的超级粉丝。大家尽可以在[Google+][g]上将我圈进去,并追随[@abhishek_pc][t] -------------------------------------------------------------------------------- From 0d2402ab87cede84f5cfb273ec78ce76450f657d Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 23 Jul 2014 16:19:10 +0800 Subject: [PATCH 197/291] =?UTF-8?q?20140723-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3 How to configure chroot SFTP in Linux.md | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 sources/tech/20140723 How to configure chroot SFTP in Linux.md diff --git a/sources/tech/20140723 How to configure chroot SFTP in Linux.md b/sources/tech/20140723 How to configure chroot SFTP in Linux.md new file mode 100644 index 0000000000..8c6f80e601 --- /dev/null +++ b/sources/tech/20140723 How to configure chroot SFTP in Linux.md @@ -0,0 +1,89 @@ +How to configure chroot SFTP in Linux +================================================================================ +There are **some scenario** where system admin wants only few users should be allowed to transfer files to Linux boxes not ssh. We can achieve this by setting up **SFTP** in chroot environment. + +### Background of SFTP & chroot : ### + +**SFTP** stands for **SSH File Transfer protocol or Secure File Transfer Protocol**. SFTP provides file access, file transfer, and file management functionalities over any reliable data stream. When we configure SFTP in chroot environment , then only allowed users will be limited to their **home directory** , or we can say allowed users will be in jail like environment where they can’t even change their directory. + +In article we will configure **Chroot SFTP in RHEL 6.X** & **CentOS 6.X**. We have one user ‘**Jack**’ , this users will be allowed to transfer files on linux box but no ssh access. + +### Step:1 Create a group ### + + [root@localhost ~]# groupadd sftp_users + +### Step:2 Assign the secondary group(sftp_users) to the user. ### + +If the users doesn’t exist on system , use below command : + + [root@localhost ~]# useradd -G sftp_users -s /sbin/nologin jack + [root@localhost ~]# passwd jack + +For **already existing users** , use below usermod command : + + [root@localhost ~]# usermod –G sftp_users -s /sbin/nologin jack + +**Note** : if you want to change the **default home directory** of users , then use ‘**-d**’ option in useradd and usermod command and set the **correct permissions**. + +### Step:3 Now edit the config file “/etc/ssh/sshd_config” ### + + # vi /etc/ssh/sshd_config + #comment out the below line and add a line like below + #Subsystem sftp /usr/libexec/openssh/sftp-server + Subsystem sftp internal-sftp + + # add Below lines at the end of file + Match Group sftp_users + X11Forwarding no + AllowTcpForwarding no + ChrootDirectory %h + ForceCommand internal-sftp + +#### Where : #### + +- **Match Group sftp_users** – This indicates that the following lines will be matched only for users who belong to group sftp_users +- **ChrootDirectory %h** – This is the path(default user's home directory) that will be used for chroot after the user is authenticated. So, for Jack, this will be /home/jack. +- **ForceCommand internal-sftp** – This forces the execution of the internal-sftp and ignores any command that are mentioned in the ~/.ssh/rc file. + +Restart the ssh service + + # service sshd restart + +### Step:4 Set the Permissions : ### + + [root@localhost ~]# chmod 755 /home/jack + [root@localhost ~]# chown root /home/jack + [root@localhost ~]# chgrp -R sftp_users /home/jack + +If You want that jack user should be allowed to upload files , then create a upload folder with the below permissions , + + [root@localhost jack]# mkdir /home/jack/upload + [root@localhost jack]# chown jack. /home/jack upload/ + +### Step:5 Now try to access the system & do testing ### + +Try to access the system via ssh + +![](http://www.linuxtechi.com/wp-content/uploads/2014/07/ssh-try.png) + +As You can see below jack user is logged in via SFTP and can't change the directory becuase of chroot environment. + +![](http://www.linuxtechi.com/wp-content/uploads/2014/07/sftp-login.png) + +Now do the **uploading and downloading** testing as shown below: + +![](http://www.linuxtechi.com/wp-content/uploads/2014/07/sftp-upload-download.png) + +As we can see above , both uploading & downloading working fine for jack user. + +-------------------------------------------------------------------------------- + +via: http://www.linuxtechi.com/configure-chroot-sftp-in-linux/ + +原文作者:[Pradeep 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.linuxtechi.com/author/pradeep/ \ No newline at end of file From f3e41223b3158c66823a8392895b657e6b2c6bc4 Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Wed, 23 Jul 2014 16:26:10 +0800 Subject: [PATCH 198/291] =?UTF-8?q?=E5=B7=B2=E6=A0=A1=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Ubuntu 14.04 As HDMI Enabled BY Default.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md b/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md index 2d1aadd925..5c1c39b23c 100644 --- a/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md +++ b/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md @@ -1,12 +1,13 @@ -Ubuntu 14.04中修复默认启用HDMI后没有声音问题 +Ubuntu 14.04中修复默认启用HDMI后没有声音的问题 ================================================================================ -声音问题在Ubuntu中是老生常谈了。先前我已经在[修复Ubuntu中的“无声”问题][1]一文中写到了多种方法,但是我在此正要谈及的声音问题跟在另外一篇文章中提到的不同。 -因此,我安装了Ubuntu 14.04,实际上是重新安装了一遍。一如既往,我将[全新安装Ubuntu 14.04后要做的事][2]全部又重新做了一遍。然后,我意识到系统突然失声了。当我正侦查问题所在之时,我发现了一件奇怪的事情。我检查了[alsamixer][3],发现它的状况有点离奇: +声音问题在Ubuntu中是老生常谈了。先前我已经在[修复Ubuntu中的“无声”问题][1]一文中写到了多种方法,但是我在此正要谈及的声音问题跟在另外一篇文章中提到的有所不同。 + +因此,我安装了Ubuntu 14.04,实际上是重新安装了一遍。一如既往,我将[全新安装Ubuntu 14.04后要做的事][2]全部又重新做了一遍。然后,我意识到系统突然失声了。当我正侦查问题所在之时,我发现了一件奇怪的事情。我检查了[alsamixer][3],发现它的状况有点离奇。 ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/06/alsamixer_Set_HDMI_Default.jpeg) -正如你能看到的,**alsamixer中默认设置了HDMI**。这意味着默认情况下将使用HDMI输出,而不是内建扬声器。这就是我从系统上内建扬声器无法获得声音的原因。 +正如你能看到的,**alsamixer中默认设置了HDMI**。这意味着默认情况下将使用HDMI输出,而不是内置扬声器。这就是我从系统上内置扬声器无法获得声音的原因。 使用下面的命令来检查alsamixer的状态: @@ -20,7 +21,7 @@ Ubuntu 14.04中修复默认启用HDMI后没有声音问题 aplay -l -这会列出设备,卡号之类的东西。注意,向下检查模拟输出使用的卡和设备编号。对于我而言,输出看上去像这样: +这会列出设备,卡号之类的东西。注意,向下检查模拟输出使用的卡和设备编号。我的输出如下所示: ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/AlsaMixer_List_Device.jpeg) @@ -28,14 +29,14 @@ Ubuntu 14.04中修复默认启用HDMI后没有声音问题 sudo gedit /etc/asound.conf -上面的命令也会打开文件,将下面的行添加进去,当然将卡和设备编号替换成你自己的: +上面的命令也会打开文件,将下面两行添加进去,当然将卡和设备编号替换成你自己的: defaults.pcm.card 1 defaults.pcm.device 0 -保存文件,并重启计算机。现在,你应该听到了声音了吧。需要提一下的是,这对所有的Linux发行版都有效,像Linux Mint,Elementary OS,Fedora,Arch Linux等等都行。正如我先前说的,该“失声疗法”仅针对HDMI被设置为默认设备的情况。对于其它情况,你可以阅读[关于在Ubuntu和Linux Mint中修复失声问题这篇文章][4]。 +保存文件,并重启计算机。现在,你应该听到声音了吧。需要提一下的是,这对所有的Linux发行版都有效,如Linux Mint,Elementary OS,Fedora,Arch Linux等等都可以。正如我之前所说,该“失声疗法”仅针对HDMI被设置为默认设备的情况。对于其它情况,你可以阅读[关于在Ubuntu和Linux Mint中修复失声问题这篇文章][4]。 -你可以尽情使用评论部分来告诉我这个方法是否有疗效,或者你有更好的方法来处理该问题,你也可以告诉我。再见了! +您可以尽情发表评论来告诉我这个方法是否有疗效,或者您有更好的方法来处理该问题,也可以告诉我。再见了! ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-includes/images/smilies/icon_smile.gif) @@ -51,7 +52,7 @@ Ubuntu 14.04中修复默认启用HDMI后没有声音问题 via: http://itsfoss.com/fix-sound-ubuntu-1404/ -译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) +译者:[GOLinux](https://github.com/GOLinux) 校对:[Caroline](https://github.com/carolinewuyan) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 3ffb5df455cd639b8a19019a90061eb5fc7f6660 Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 23 Jul 2014 15:51:27 +0800 Subject: [PATCH 199/291] =?UTF-8?q?PUB=EF=BC=9A20140702=20How=20to=20check?= =?UTF-8?q?=20MySQL=20storage=20engine=20type=20on=20Linux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @geekpi --- ...40702 How to check MySQL storage engine type on Linux.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename {translated/tech => published}/20140702 How to check MySQL storage engine type on Linux.md (80%) diff --git a/translated/tech/20140702 How to check MySQL storage engine type on Linux.md b/published/20140702 How to check MySQL storage engine type on Linux.md similarity index 80% rename from translated/tech/20140702 How to check MySQL storage engine type on Linux.md rename to published/20140702 How to check MySQL storage engine type on Linux.md index 565d0965b1..ef16572047 100644 --- a/translated/tech/20140702 How to check MySQL storage engine type on Linux.md +++ b/published/20140702 How to check MySQL storage engine type on Linux.md @@ -1,8 +1,8 @@ -如何在Linux上检查MySQL的存储引擎类型 +[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型 ================================================================================ > **提问**: 我想要知道我的MySQL数据库是MyISAM还是Innodb类型。我该如何检查MySQL数据库表的类型? -MySQl主要使用两种存储引擎:**MyISAM and Innodb**。MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒的事务锁定(比如:commit/rollback)。当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎)。如果没有选择,你就会使用与预设置的默认引擎。 +MySQl主要使用两种存储引擎:**MyISAM 和 Innodb**。MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒度的事务锁定(比如:commit/rollback)。当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎)。如果没有选择,你就会使用与预设置的默认引擎。 如果你想要知道已经存在的MySQL数据表的类型,这里有几种方法达到。 @@ -34,7 +34,7 @@ MySQl主要使用两种存储引擎:**MyISAM and Innodb**。MyISAM是非事务 via: http://ask.xmodulo.com/check-mysql-storage-engine-type-linux.html -译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) +译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 7076c47aa84ad5e4553c82dc7ba53a35b7c4dd62 Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 23 Jul 2014 22:13:48 +0800 Subject: [PATCH 200/291] PUB:20140616 How to Rescue a Non-booting GRUB 2 on Linux MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @MikeCoder 这篇翻译得有些粗心了。 --- ...to Rescue a Non-booting GRUB 2 on Linux.md | 127 +++++++++++++++++ ...to Rescue a Non-booting GRUB 2 on Linux.md | 128 ------------------ 2 files changed, 127 insertions(+), 128 deletions(-) create mode 100644 published/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md delete mode 100644 translated/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md diff --git a/published/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md b/published/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md new file mode 100644 index 0000000000..52c6df035e --- /dev/null +++ b/published/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md @@ -0,0 +1,127 @@ +如何拯救一台GRUB 2启动失败的Linux电脑 +================================================================================ +![Figure 1: GRUB 2 menu with cool Apollo 17 background.](http://www.linux.com/images/stories/41373/grub-command-shell.jpg) + +旧版GRUB我们使用了一段时间了,这个重要的Linux通用引导器的版本已经到了0.97。尽管旧版GRUB有很多的优点,但是它已经有点陈旧了,并且它的开发者也希望添加更多的功能,于是,GRUB 2 时代就要来了。 + +GRUB 2 做了几个明显的改进。它可以从移动存储设备上启动,并且可以通过配置一个选项来进入系统BIOS。相对于将所有的配置都放到一个配置文件`/boot/grub/menu.lst`中 (现在默认是`/boot/grub/grub.cfg `),使用各种脚本来配置会更复杂。你不要直接编辑这个文件,那不是人干的事,太复杂了,我们需要使用其它的脚本来改变。我们卑微的人类可以编辑修改`/etc/default/grub`文件,它主要是控制Grub菜单的外观。我们还可以修改` /etc/grub.d/ `下的脚本,这些脚本用于启动操作系统、控制外部应用程序,如memtest 、os_prober和theming等等 。`./boot/grub/grub.cfg`是由`/etc/default/grub`和`/etc/grub.d/*`生成的。当你修改了某个地方,你必须要运行update-grub命令来生成它。 + +好消息是,update-grub脚本可以可靠的检测内核、启动文件,并添加所有的操作系统,自动生成你的启动菜单,所以你不必手动的修改他们。 + +我们还要学习如何解决两个常见的故障。当启动系统时,它会停在grub>提示上,这是一个完整的GRUB 2命令界面,所以不要惊慌。这意味着GRUB 2依旧可以正常启动和加载normal.mod模块(它和其他模块分别位于/boot/grub/[架构]/ 下),但没有找到你的grub.cfg文件。如果你看到grub rescue> 这意味着它无法找到normal.mod,因此它有可能找不到你的启动文件。 + +这是如何发生的?因为内核可能改变驱动器分区号码的分配,或者您移动了您的硬盘驱动器,或者你手动改变一些分区,也有可能是安装一个新的操作系统或者移动一些文件。在这些情况下你的启动文件仍然存在,但GRUB不能找到他们。所以你可以在GRUB提示符中找到启动文件,设置它们的位置,然后启动您的系统并修复GRUB配置。 + +### GRUB 2 命令行 ### + +GRUB 2 的命令界面和上一代GRUB中的一样强大。你可以用它来找到引导镜像,内核和根文件系统。事实上,它可以让你避开权限和其它访问控制,完全访问本地计算机上的所有文件。有些人可能会认为这是一个安全漏洞,但是你知道古老的UNIX的名言:有物理访问机器权限的人,就是拥有它的人。 + +当你在` grub > `提示时,你有许多类似命令行界面的功能,如命令历史和tab补全。但是`grub rescue> `模式是受限的,没有命令历史,没有tab补全。 + +如果你是在一个正常运作的系统上练习,那就当GRUB菜单出现时,可以按下C来打开GRUB命令行界面。你可以通过向上和向下光标键滚动你的菜单条目来停止启动倒计时。在GRUB命令行下做实验是安全的,因为做不了永久的修改,一切都是暂时的。如果你已经看到`grub > `或`grub rescue> `提示符,那就说明你的表现时刻到了。 + +接下来的几个命令可以在`grub>`和`grub rescue`模式下运行。你应该运行的第一个命令是设置一个分页器,将长的命令分页。如下: + + grub> set pager=1 + +等号两侧必须不能出现空格。现在让我们做一点探索。输入`ls`来列出的GRUB识别的所有分区: + + grub> ls + (hd0) (hd0,msdos2) (hd0,msdos1) + +msdos是什么?这意味着该系统具有老式的MS-DOS分区表,而不是全新的全局唯一标识符的分区表(GPT)。参见“[在Linux下使用新的GUID分区表,和古老的MBR说再见!][1]”。如果你正在运行的GPT,它会出现(hd0,GPT1)。现在让我们看看,使用ls命令查看你的系统里面有什么文件: + + grub> ls (hd0,1)/ + lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/ lib/ + lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ + srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old + initrd.img initrd.img.old + +太好了,我们已经找到了根文件系统。你可以省略msdos和GPT的标签。如果没有加分区后面的斜杠/,则只会列出分区的信息。你可以用cat命令显示文件系统上的任何文件: + + grub> cat (hd0,1)/etc/issue + Ubuntu 14.04 LTS \n \l + +在一个多引导系统上,通过/etc/issue文件可以知道这是哪个Linux系统。 + +### 从 grub> 中启动### + +下面讲述如何设置启动文件并从`grub >`提示下启动系统。我们已经知道如何从Linux根文件系统(hd0,1)下运行ls命令,你可以一直寻找直到找到你的/boot/grub所在位置。然后运行以下命令,记得使用您自己的根分区,内核和initrd映像等参数: + + grub> set root=(hd0,1) + grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1 + grub> initrd /boot/initrd.img-3.13.0-29-generic + grub> boot + +第一行设置分区的根文件系统。第二行告诉GRUB您想要使用的内核位置。开始输入/boot/vmli,然后使用tab补完填写。输入`root= /dev/sdX`设置根文件系统位置。是的,这似乎是多余的,但如果你忘记了输入,你会得到一个kernel panic。你知道怎么找到正确的分区吗?hd0,1 即 /dev/sda1,hd1,1 即 /dev/sdb1,hd3,2 即 /dev/ sdd2。我想你可以自己推算剩下的了。 + +第三行设置initrd文件,必须是和内核相同的版本号。 + +最后一行启动系统。 + +在一些Linux系统上,内核和initrd是被符号链接到当前的根文件系统的根目录,就像: + + $ ls -l / + vmlinuz -> boot/vmlinuz-3.13.0-29-generic + initrd.img -> boot/initrd.img-3.13.0-29-generic + +所以,你也可以这样输入命令: + + grub> set root=(hd0,1) + grub> linux /vmlinuz root=/dev/sda1 + grub> initrd /initrd.img + grub> boot + +### 从grub rescue> 中启动 ### + +如果你处在grub rescue> 命令界面下,命令有所不同,你必须要先加载两个模块normal.mod 和 linux.mod。 + + grub rescue> set prefix=(hd0,1)/boot/grub + grub rescue> set root=(hd0,1) + grub rescue> insmod normal + grub rescue> normal + grub rescue> insmod linux + grub rescue> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1 + grub rescue> initrd /boot/initrd.img-3.13.0-29-generic + grub rescue> boot + +在你加载了这两个模块之后tab补完的功能就可以用了。 + +### 永久性的修复 ### + +当你成功地启动你的系统,运行这些命令来永久修复GRUB: + + # update-grub + Generating grub configuration file ... + Found background: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga + Found background image: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga + Found linux image: /boot/vmlinuz-3.13.0-29-generic + Found initrd image: /boot/initrd.img-3.13.0-29-generic + Found linux image: /boot/vmlinuz-3.13.0-27-generic + Found initrd image: /boot/initrd.img-3.13.0-27-generic + Found linux image: /boot/vmlinuz-3.13.0-24-generic + Found initrd image: /boot/initrd.img-3.13.0-24-generic + Found memtest86+ image: /boot/memtest86+.elf + Found memtest86+ image: /boot/memtest86+.bin + done + # grub-install /dev/sda + Installing for i386-pc platform. + Installation finished. No error reported. + +当你运行 `grub-install` 时,记得GRUB是安装到整个硬盘驱动器的主引导扇区而不是到一个具体分区,所以不要加上像/dev/sda1一样的分区号。 + +### 如果还是不能使用 ### + +如果你的系统是如此的倒霉,而且这个方式没有能起作用,那就尝试[超级GRUB2现场救援磁盘][2]吧。[官方GNU GRUB手册][3]也应该有所帮助。 + +-------------------------------------------------------------------------------- + +via: http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux + +译者:[MikeCoder](https://github.com/MikeCoder) 校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.linux.com/learn/tutorials/730440-using-the-new-guid-partition-table-in-linux-good-bye-ancient-mbr- +[2]:http://www.supergrubdisk.org/ +[3]:https://www.gnu.org/software/grub/manual/grub.html diff --git a/translated/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md b/translated/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md deleted file mode 100644 index 0146576f04..0000000000 --- a/translated/tech/20140616 How to Rescue a Non-booting GRUB 2 on Linux.md +++ /dev/null @@ -1,128 +0,0 @@ -如何拯救一台没有成功通过Grub启动的Linux电脑 -================================================================================ -![Figure 1: GRUB 2 menu with cool Apollo 17 background.](http://www.linux.com/images/stories/41373/grub-command-shell.jpg) -Figure 1: GRUB 2 menu with cool Apollo 17 background. - -自从我们拥有GRUB以来,Linux Bootloader 0.97就开始了传奇的一生。尽管传统的GRUB有很多的有点,但是他开始陈旧了,并且他的开发者也开始添加更多的功能,于是,Grub2.0时代就要来了。 - -GRUB 2 做了几个明显的改进。它可以从移动存储设备上启动,并且可以有进入BIOS配置的选项。尽管它有着更复杂的脚本配置,但是一个简单的`/boot/grub/menu.lst`文件却一个地方集中了所有配置选项,默认的是存放在`/boot/grub/grub.cfg `。你不能直接编辑,这不是人做的事,太复杂,我们需要用简单的脚本实现。我们卑微的人类可以编辑`/etc/default/grub`文件来修改,它主要是控制Grub菜单。我们还可以修改` /etc/grub.d/ `。这些脚本可以启动操作系统,控制外部应用程序,如memtest 和 os_prober,还有theming `./boot/grub/grub.cfg`是建立在`/etc/default/grub`和`/etc/grub.d/*`的基础上的。当你修改了一个地方,你必须要运行更新GRUB的命令。 - -好消息是,update-grub脚本是可以可靠的检测内核,启动文件,并添加所有的操作系统的,自动生成你的启动菜单,所以你不必手动的修改他们。 - -我们还要学习如何解决两个常见的故障。当启动系统时,它会停在GRUB >提示上,这是完整的GRUB 2命令界面,所以不要惊慌。这意味着GRUB 2依旧可以正常启动和加载normal.mod模块(和其他模块分别位于/boot/grub/[arch]/),但没有找到你的grub.cfg文件。如果你看到grub rescue> 这意味着它无法找到normal.mod,因此它有可能找不到你的启动文件。 - -这是如何发生的?因为内核可能改变驱动器分配或您移动您的硬盘驱动器,或者你手动改变一些分区,或安装一个新的操作系统或者移动一些文件。在这些情况下你的启动文件仍然存在,但GRUB不能找到他们。所以你可以看看在GRUB提示符中启动文件,设置它们的位置,然后启动您的系统和修复您的grub配置。 - -### GRUB 2 命令行 ### - -GRUB 2 命令是一个伟大的财富。你不仅可以用它来发现引导镜像,内核,和根文件系统。事实上,它给你完全访问本地计算机上的所有文件的系统权限。其中有些人可能会认为一个安全漏洞,但是你知道古老的UNIX的名言:有物理访问机器权限的人,就是拥有它的人。 - -当你在` GRUB > `提示时,你有许多类似的功能,如命令如历史和tab补全。但是`grub rescue> `模式是有限的,没有历史,没有tab补全。 - -如果你是在一个正常运作的系统上练习,那就当GRUB菜单打开GRUB命令行时,按C。你可以通过向上和向下滚动你的菜单条目箭头键停止启动倒计时。它是安全的,在此GRUB命令行下,你不会进行永久的修改,一切都是暂时的。如果你已经看到`grub > `或`grub rescue> `提示符,那就说明你的表现时刻到了。 - -接下来的几个命令可以在`grub>`和`grub rescue`模式下运行。同时,你应该第一个运行的命令如下: - - grub> set pager=1 - -等号两侧必须不能出现空格。现在让我们做一点探讨。ls列出的所有分区: - - grub> ls - (hd0) (hd0,msdos2) (hd0,msdos1) - -MSDOS是什么?这意味着该系统具有老式的MS-DOS分区表,而不是全新的全局唯一标识符的分区表(GPT)。(见[Using the New GUID Partition Table in Linux (Goodbye Ancient MBR)][1]。如果你正在运行的GPT,它会出现(hd0,GPT1)。使用ls命令查看你的系统文件是什么: - - grub> ls (hd0,1)/ - lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/ lib/ - lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ - srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old - initrd.img initrd.img.old - -好的,我们已经找到了根文件系统。你可以省略MSDOS和GPT的标签。如果你无视打印的分区信息。你可以用cat命令读取文件系统上的文件: - - grub> cat (hd0,1)/etc/issue - Ubuntu 14.04 LTS \n \l - -从/etc/issue文件中,可以看到你的不同的Linux系统 - -### 从 grub> 中启动### - -这是如何设置启动文件和启动从`GRUB>`提示中进入系统。我们知道,从运行ls命令有一个Linux根文件系统(hd0,1),你可以继续寻找直到你找到你的/boot/grub所在位置。然后运行这些命令,使用您自己的根分区,内核和initrd映像: - - grub> set root=(hd0,1) - grub> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1 - grub> initrd /boot/initrd.img-3.13.0-29-generic - grub> boot - -第一行设置分区的根文件系统是。第二行告诉grub您想要使用的内核位置。开始输入/boot/vmli,然后使用tab完成填写。输入`root= /dev/sdX`设置根文件系统位置。是的,这似乎是多余的,但如果你忘记了输入你会得到一个kernel panic。你知道怎么正确的分区?hd0,1 = /dev/sda1。hd1,1 = /dev/sdb1。hd3,2 = /开发/ sdd2。我想你可以推出自己的。 - -第三行设置initrd文件,必须是和内核相同的版本号。 - -最后一行启动系统。 - -在一些Linux系统上,内核和initrds是被符号链接到当前的根文件系统的根目录,就像: - - $ ls -l / - vmlinuz -> boot/vmlinuz-3.13.0-29-generic - initrd.img -> boot/initrd.img-3.13.0-29-generic - -所以,你也可以这样输入命令: - - grub> set root=(hd0,1) - grub> linux /vmlinuz root=/dev/sda1 - grub> initrd /initrd.img - grub> boot - -### 从grub-rescue> 中启动 ### - -你必须要加载两个模块normal.mod 和 linux.mod,如果你的GRUB命令不同于大众。 - - grub rescue> set prefix=(hd0,1)/boot/grub - grub rescue> set root=(hd0,1) - grub rescue> insmod normal - grub rescue> normal - grub rescue> insmod linux - grub rescue> linux /boot/vmlinuz-3.13.0-29-generic root=/dev/sda1 - grub rescue> initrd /boot/initrd.img-3.13.0-29-generic - grub rescue> boot - -tab补全应该在你加载了这几个模块之后开始工作。 - -### 永久性的修复 ### - -当你成功地启动你的系统,运行这些命令来永久修复GRUB: - - # update-grub - Generating grub configuration file ... - Found background: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga - Found background image: /usr/share/images/grub/Apollo_17_The_Last_Moon_Shot_Edit1.tga - Found linux image: /boot/vmlinuz-3.13.0-29-generic - Found initrd image: /boot/initrd.img-3.13.0-29-generic - Found linux image: /boot/vmlinuz-3.13.0-27-generic - Found initrd image: /boot/initrd.img-3.13.0-27-generic - Found linux image: /boot/vmlinuz-3.13.0-24-generic - Found initrd image: /boot/initrd.img-3.13.0-24-generic - Found memtest86+ image: /boot/memtest86+.elf - Found memtest86+ image: /boot/memtest86+.bin - done - # grub-install /dev/sda - Installing for i386-pc platform. - Installation finished. No error reported. - -当你运行 `grub-install` 时,记得grub是安装到硬盘驱动器的引导扇区而不是到一个具体分区,所以不要加上像/dev/sda1的分区号。 - -### 如果还是不能使用 ### - -如果你的系统是如此的倒霉,而且这个方式没有能起作用,那就尝试[超级GRUB2现场救援磁盘][2]。[官方GNU GRUB手册][3]也应该是有帮助的。 - --------------------------------------------------------------------------------- - -via: http://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux - -译者:[MikeCoder](https://github.com/MikeCoder) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.linux.com/learn/tutorials/730440-using-the-new-guid-partition-table-in-linux-good-bye-ancient-mbr- -[2]:http://www.supergrubdisk.org/ -[3]:https://www.gnu.org/software/grub/manual/grub.html From 48b0809715ea858c767b4ca8ebdc2673c29f22cc Mon Sep 17 00:00:00 2001 From: bazz2 Date: Thu, 24 Jul 2014 09:31:48 +0800 Subject: [PATCH 201/291] [bazz2-ed]Linux Kernel Testing and Debugging 2 --- ...18 Linux Kernel Testing and Debugging 2.md | 108 ------------------ ...18 Linux Kernel Testing and Debugging 2.md | 106 +++++++++++++++++ 2 files changed, 106 insertions(+), 108 deletions(-) delete mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 2.md create mode 100644 translated/tech/20140718 Linux Kernel Testing and Debugging 2.md diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 2.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 2.md deleted file mode 100644 index 9edd3141c8..0000000000 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 2.md +++ /dev/null @@ -1,108 +0,0 @@ -[bazz2 so handsome] -Linux Kernel Testing and Debugging -================================================================================ -### Compiling and Installing Stable Kernel ### - -If you cloned the stable git: - - cd linux-stable - - git checkout linux-3.x.y - -or if you are using the tar-ball: - - cd linux-3.x.y - -Starting out with the distribution configuration file is the safest approach for the very first kernel install on any system. You can do so by copying the configuration for your current kernel from /boot. - - cp /boot/config-3.x.y-z-generic .config - -Run the following command to generate kernel configuration file based on the current configuration. You will be prompted to tune the configuration to enable new features and drivers that have been added since the Ubuntu snapshot the kernel from the mainline. - - make oldconfig - -Once this step is complete, it is time to compile the kernel: - - make all - -Once the kernel compilation is complete, install the new kernel: - - sudo "make modules_install install" - -The above command will install the new kernel and run update-grub to add the new kernel to the grub menu. Now it is time to reboot the system to boot the newly installed kernel. Before we do that, let's save logs from the current kernel to compare and look for regressions and new errors, if any: - - dmesg -t > dmesg_current - - dmesg -t -k > dmesg_kernel - - dmesg -t -l emerg > dmesg_current_emerg - - dmesg -t -l alert > dmesg_current_alert - - dmesg -t -l crit > dmesg_current_alert - - dmesg -t -l err > dmesg_current_err - - dmesg -t -l warn > dmesg_current_warn - -In general, dmesg should be clean with no emerg, alert, crit, and err level messages. If you see any of these, it might indicate some hardware and/or kernel problem. - -A couple more important steps before trying out the newly installed kernel. There is no guarantee that the new kernel will boot. As a safe guard, please ensure that there is at least one good kernel installed. Change the default grub configuration file /etc/default/grub: - -Enable printing early boot messages to vga using earlyprink=vga kernel boot option: - - GRUB_CMDLINE_LINUX="earlyprink=vga" - -Increase the GRUB_TIMEOUT value to 10 - 15 seconds, so grub pauses in menu allowing time to choose kernel to be boot: - - Uncomment GRUB_TIMEOUT and set it to 10: GRUB_TIMEOUT=10 - Comment out GRUB_HIDDEN_TIMEOUT and GRUB_HIDDEN_TIMEOUT_QUIET - -Run update-grub to update the grun configuration in /boot - - sudo update-grub - -Now restart the system. Once the new kernel comes up, compare the saved dmesg from the old kernel with the new one and see if there are any regressions. If the newly installed kernel fails to boot, you will have to boot a good kernel and then investigate why the new kernel failed to boot. - -### Living in The Fast Lane ### - -If you like driving in the fast lane and have the need for speed, clone the mainline kernel git or better yet the linux-next git. Booting and testing mainline and linux-next helps find and fix problems before the kernel is released. - -Mainline: - - git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git - -linux-next: - - git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git - -Compiling and installing mainline and linux-next kernels is exactly same as the stable kernel. Please follow the instructions from previous sections. - -### Applying Patches ### - -Linux kernel patch files are text files that contain the differences from the original source to the new. Each Linux patch is a self-contained change to the code that stands on its own, unless explicitly made part of a patch series. New patches are applied as follows: - - patch -p1 < file.patch - - git apply --index file.patch - -Either one will work, however, when a patch adds a new file and if it is applied using the patch command, git doesn't know about the new files and they will be treated as untracked files. "git diff" will not show the files in its output and "git status" will show the files as untracked. - -For the most part, there are no issues with building and installing kernels, however, "git reset --hard" will not remove the newly added files and a subsequent git pull will fail. A couple of ways to tell git about the new files and have it track them, there by avoiding the above issues: - - -Option 1: - -> When a patch that adds new files is applied using the patch command, run "git clean" to remove untracked files, before running "git reset --hard". For example, git clean -dfx will force remove untracked directories and files, ignoring any standard ignore rules specified in the .gitignore file. You could include -q option to run git clean in quiet mode, if you don't care to know which files are removed. - -Option 2: - -> An alternate approach is to tell git to track the newly added files by running "git apply --index file.patch". This will result in git applying the patch and adding the result to the index. Once this is done, git diff will show the newly added files in its output and git status will report the status correctly tagging these files as newly created files. - --------------------------------------------------------------------------------- - -via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,1 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20140718 Linux Kernel Testing and Debugging 2.md b/translated/tech/20140718 Linux Kernel Testing and Debugging 2.md new file mode 100644 index 0000000000..c21125a984 --- /dev/null +++ b/translated/tech/20140718 Linux Kernel Testing and Debugging 2.md @@ -0,0 +1,106 @@ +Linux 内核测试与调试 - 2 +================================================================================ +### 编译安装稳定版内核 ### + +如果你用 git 下载源码,就执行以下命令: + + cd linux-stable + + git checkout linux-3.x.y + +如果是直接下载压缩文件,用以下命令进入源码目录: + + cd linux-3.x.y + +如果你想把内核安装到自己的系统上,最安全的方法是使用你安装好的发行版拥有的配置文件。你可以在 /boot 目录找到当前发行版的内核配置文件: + + cp /boot/config-3.x.y-z-generic .config + +运行下面的命令,可以在当前内核配置的基础上修改一些小地方,然后产生新的内核配置文件。比如说新的内核比你的 Ubuntu 发行版自带的内核多了些新功能,而你正好需要用到它们,这个时候你就要修改配置了。 + + make oldconfig + +完成配置后,就可以编译了: + + make all + +完成编译后,安装这个新的内核: + + sudo "make modules_install install" + +上面的命令安装新内核,并把新内核作为启动项添加到 grub 文件(LCTT:就是你下次开机时会多出一个开机选项)。好了你可以重启电脑,然后选择新的内核启动系统。等等!先别冲动,在重启电脑之前,我们保存下编译内核产生的日志,用于比较和查找错误(如果有错误发生的话): + + dmesg -t > dmesg_current + + dmesg -t -k > dmesg_kernel + + dmesg -t -l emerg > dmesg_current_emerg + + dmesg -t -l alert > dmesg_current_alert + + dmesg -t -l crit > dmesg_current_alert + + dmesg -t -l err > dmesg_current_err + + dmesg -t -l warn > dmesg_current_warn + +正常的话,dmesg 不会输出 emerg, alert, crit 和 err 级别的信息。如果你不幸看到这些输出了,说明内核或者你的硬件环境有问题。 + +再介绍一些重启前的需要执行的操作。谁也不能保证新内核能够正常启动,所以请不要潇洒地把老内核删除,至少保留一个稳定可用的内核在系统上。修改一下 /etc/default/grub 文件: + +使用 earlyprink=vga 作为内核启动选项,把系统早期启动的信息打印到显示屏上: + + GRUB_CMDLINE_LINUX="earlyprink=vga" + +将 GRUB_TIMEOUT 的值设置成10秒到15秒之间的值,保证在开机启动的时候你有足够的时间来选择启动哪个内核: + + 取消对 GRUB_TIMEOUT 的注释,并把它设置为10:GRUB_TIMEOUT=10 + 注释掉 GRUB_HIDDEN_TIMEOUT 和 GRUB_HIDDEN_TIMEOUT_QUIET + +运行 update-grub 命令,更新 /boot 目录下的 grub 配置文件: + + sudo update-grub + +现在可以重启系统了。新内核起来后,比较新老内核的 dmesg 信息,看看新的内核有没有编译错误。如果新内核启动失败,你需要通过老内核启动系统,然后分析下为什么失败。 + +### 跟上节奏,永不落后(编译最新版内核) ### + +如果你想开上内核快车道,追求与时俱进,那就去下载 mainline 状态的内核或 linux-next 状态的内核(LCTT:读者可进入 kernel.org 获取代码,linux 代码被分为4种状态:mainline, stable, longterm, linux-next)。安装测试 mainline 状态或 linux-next 状态的内核,你就可以在正式发布之前帮助内核找到并修复里面的 bug。 + +mainline 状态的内核源码: + + git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git + +linux-next 状态的内核源码: + + git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git + +编译安装这两种内核的步骤与编译安装稳定版内核一样。按之前讲过的步骤来就行了。 + +### 打补丁 ### + +Linux 内核的补丁是一个文本文件,包含新源码与老源码之间的改变量。每个补丁只包含自己依赖的源码的增量,除非它被特意包含进一系列补丁之中。打补丁方法如下: + + patch -p1 < file.patch + + git apply --index file.patch + +两种方法都可以打补丁。但是,如果你要打的补丁包含一个新文件,git 命令不能识别这个新增的文件,也就是说这个新文件在 git 里面属于 untracked 文件(LCTT:玩 git 的人对这个会比较熟悉,就是文件处于未被跟踪的状态,你需要使用 git add 命令将文件放入暂存区)。git diff 命令不会将这个文件的增量显示出来,并且 git status 命令会显示这个文件处于 untracked 状态。 + +大多数情况下,有个没被跟踪的文件,对于编译安装内核来说没什么问题,但是 git 操作就会出现一些问题了: git reset --hard 命令不会删除这个新加的文件,并且接下来的 git pull 操作也会失败。你有多种选择来避免上面所说的状况: + +选项1,不跟踪这个新文件: + +> 如果打补丁后新添加了文件,在 git reset --hard 前使用 git clean 命令来删除没有被跟踪的文件。举个例子,git clean -dfx 命令会强制删除未被跟踪的目录和文件,忽略在 .gitigniore 文件内规定的文件。如果你不在乎哪些文件会被删除,你可以使用 -q 选项让 git clean 命令进入安静模式,不输出任何处理过程。 + +选项2,跟踪新文件: + +> 你可以在使用 git apply --index file.patch 命令后让 git 跟踪打完补丁后新产生的文件(LCTT:使用 git add 命令),就是让 git 把文件放入 index 区域。做完这个后,git diff 命令会将新文件的增量打印出来,git status 也会显示者这是一个正常的新增文件。 + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,1 + +译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 9905321cb96b9abba8d29cc3ab5c271f3670b189 Mon Sep 17 00:00:00 2001 From: bazz2 Date: Thu, 24 Jul 2014 09:36:28 +0800 Subject: [PATCH 202/291] [bazz2-ing]Linux Kernel Testing and Debugging 3 --- sources/tech/20140718 Linux Kernel Testing and Debugging 3.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 3.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 3.md index 3c31bc93d1..d30b2ceac6 100644 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 3.md +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 3.md @@ -1,3 +1,4 @@ +[bazz2 on the way] Linux Kernel Testing and Debugging ================================================================================ ### Basic Testing ### @@ -122,4 +123,4 @@ via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 [1]:http://linuxdriverproject.org/mediawiki/index.php/Dmesg_regression_check_script -[2]:http://elinux.org/Ktest#Git_Bisect_type \ No newline at end of file +[2]:http://elinux.org/Ktest#Git_Bisect_type From 41d5a4fe0ce6273e30bb78f1dc1eb0dae9bd01f8 Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Thu, 24 Jul 2014 09:49:14 +0800 Subject: [PATCH 203/291] Finish translate 20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands --- ... environment variable for sudo commands.md | 43 ------------------- ... environment variable for sudo commands.md | 23 ++++++++++ 2 files changed, 23 insertions(+), 43 deletions(-) delete mode 100644 sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md create mode 100644 translated/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md diff --git a/sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md b/sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md deleted file mode 100644 index 618fb2a230..0000000000 --- a/sources/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md +++ /dev/null @@ -1,43 +0,0 @@ -nd0104 is translate -Linux FAQs with Answers--How to define PATH environment variable for sudo commands -================================================================================ -> **Question**: I built and installed a program in /usr/local/bin. The program requires root privilege to run. But when I try to run the program with sudo, I get "sudo: XXXXX: command not found" error. Somehow /usr/local/bin is not included in the PATH environment variable. How can I fix this problem? - -When you run a program with sudo, the program is executed with a new, minimum environment for security reasons. That is, not all the environment variables you define are inherited to sudo commands. In case of PATH environment variable, it is reset to a new "default" PATH variable when sudo is used. So if the new default PATH variable does not include the folder where your program is, you will get "command not found" error with sudo. - -To customize the default PATH variable for sudo session, open /etc/sudoers file with a text editor, and look for "secure_path". The value defined in "secure_path" will be used as the default PATH variable when you execute sudo commands. - -So add any necessary path (e.g., /usr/local/bin) to "secure_path", and it will be passed to sudo commands. - - Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin - -This change will be effective immediately. - --------------------------------------------------------------------------------- - -via: http://ask.xmodulo.com/define-path-environment-variable-sudo-commands.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]: -[2]: -[3]: -[4]: -[5]: -[6]: -[7]: -[8]: -[9]: -[10]: -[11]: -[12]: -[13]: -[14]: -[15]: -[16]: -[17]: -[18]: -[19]: -[20]: diff --git a/translated/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md b/translated/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md new file mode 100644 index 0000000000..732eb2eadf --- /dev/null +++ b/translated/tech/20140716 Linux FAQs with Answers--How to define PATH environment variable for sudo commands.md @@ -0,0 +1,23 @@ + +Linux 常见问题(有答案的哦)-- 如何为sudo命令定义PATH环境变量 +================================================================================ +>**问题**:我安装了一个程序到/usr/local/bin目录下,这个程序需要root权限才能执行,当我用sudo去执行它时,收到"sudo: XXXXX: command not found"的错误提示,不知道为什么/usr/local/bin没有被包含到PATH环境变量下面来,我该如何解决这个问题? + +当你使用sudo去执行一个程序时,处于安全的考虑,这个程序将在一个新的、最小化的环境中执行,也就是说,诸如PATH这样的环境变量,在sudo命令下已经被重置成默认状态了。 +所以当一个刚初始化的PATH变量中不包含你所要运行的程序所在的目录,你就会得到"command not found"的错误提示。 + +为了改变PATH在sudo会话中的初始值,打开/etc/sudoers文件并编辑,找到"secure_path"一行,"secure_path"中包含的路径就将在sudo会话中的PATH变量中生效。 + +添加所需要的路径(如 /usr/local/bin)到"secure_path"下,在开篇所遇见的问题就将迎刃而解。 + Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin + + +这个修改会即刻生效。 +-------------------------------------------------------------------------------- + +via: http://ask.xmodulo.com/define-path-environment-variable-sudo-commands.html + +译者:[nd0104](https://github.com/nd0104) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + From 8abd618be33e4145d3d41a99c60ebf97e92a56d9 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Thu, 24 Jul 2014 14:51:31 +0800 Subject: [PATCH 204/291] =?UTF-8?q?20140724-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Collecting Information of Linux Systems.md | 191 ++++++++++++++++++ ... And Portable Package Management System.md | 167 +++++++++++++++ 2 files changed, 358 insertions(+) create mode 100644 sources/tech/20140724 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md create mode 100644 sources/tech/20140724 Camicri Cube--An Offline And Portable Package Management System.md diff --git a/sources/tech/20140724 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md b/sources/tech/20140724 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md new file mode 100644 index 0000000000..87f92eac72 --- /dev/null +++ b/sources/tech/20140724 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md @@ -0,0 +1,191 @@ +7 ‘dmesg’ Commands for Troubleshooting and Collecting Information of Linux Systems +================================================================================ +The ‘dmesg‘ command displays the messages from the kernel ring buffer. A system passes multiple runlevel from where we can get lot of information like system architecture, cpu, attached device, RAM etc. When computer boots up, a kernel (core of an operating system) is loaded into memory. During that period number of messages are being displayed where we can see hardware devices detected by kernel. + +![dmesg Command Examples](http://www.tecmint.com/wp-content/uploads/2014/07/dmesg-Command-Examples.png) +dmesg Command Examples + +The messages are very important in terms of diagnosing purpose in case of device failure. When we connect or disconnect hardware device on the system, with the help of dmesg command we come to know detected or disconnected information on the fly. The **dmesg** command is available on most **Linux and Unix** based Operating System. + +Let’s throw some light on most famous tool called ‘dmesg’ command with their practical examples as discussed below. The exact syntax of dmesg as follows. + + # dmseg [options...] + +### 1. List all loaded Drivers in Kernel ### + +We can use text-manipulation tools i.e. ‘**more**‘, ‘**tail**‘, ‘**less**‘ or ‘**grep**‘ with dmesg command. As output of dmesg log won’t fit on a single page, using dmesg with pipe more or less command will display logs in a single page. + + [root@tecmint.com ~]# dmesg | more + [root@tecmint.com ~]# dmesg | less + +#### Sample Output #### + + [ 0.000000] Initializing cgroup subsys cpuset + [ 0.000000] Initializing cgroup subsys cpu + [ 0.000000] Initializing cgroup subsys cpuacct + [ 0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 + (Ubuntu 3.11.0-13.20-generic 3.11.6) + [ 0.000000] KERNEL supported cpus: + [ 0.000000] Intel GenuineIntel + [ 0.000000] AMD AuthenticAMD + [ 0.000000] NSC Geode by NSC + [ 0.000000] Cyrix CyrixInstead + [ 0.000000] Centaur CentaurHauls + [ 0.000000] Transmeta GenuineTMx86 + [ 0.000000] Transmeta TransmetaCPU + [ 0.000000] UMC UMC UMC UMC + [ 0.000000] e820: BIOS-provided physical RAM map: + [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable + [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved + [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable + [ 0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS + [ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data + [ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] reserved + [ 0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved + [ 0.000000] NX (Execute Disable) protection: active + ..... + +### 2. List all Detected Devices ### + +To discover which hard disks has been detected by kernel, you can search for the keyword “**sda**” along with “**grep**” like shown below. + + [root@tecmint.com ~]# dmesg | grep sda + + [ 1.280971] sd 2:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB) + [ 1.281014] sd 2:0:0:0: [sda] Write Protect is off + [ 1.281016] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00 + [ 1.281039] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA + [ 1.359585] sda: sda1 sda2 < sda5 sda6 sda7 sda8 > + [ 1.360052] sd 2:0:0:0: [sda] Attached SCSI disk + [ 2.347887] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) + [ 22.928440] Adding 3905532k swap on /dev/sda6. Priority:-1 extents:1 across:3905532k FS + [ 23.950543] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro + [ 24.134016] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null) + [ 24.330762] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null) + [ 24.561015] EXT4-fs (sda8): mounted filesystem with ordered data mode. Opts: (null) + +**NOTE**: The ‘sda’ first SATA hard drive, ‘sdb’ is the second SATA hard drive and so on. Search with ‘hda’ or ‘hdb’ in the case of IDE hard drive. + +### 3. Print Only First 20 Lines of Output ### + +The ‘head’ along with dmesg will show starting lines i.e. ‘dmesg | head -20′ will print only 20 lines from the starting point. + + [root@tecmint.com ~]# dmesg | head -20 + + [ 0.000000] Initializing cgroup subsys cpuset + [ 0.000000] Initializing cgroup subsys cpu + [ 0.000000] Initializing cgroup subsys cpuacct + [ 0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generic 3.11.6) + [ 0.000000] KERNEL supported cpus: + [ 0.000000] Intel GenuineIntel + [ 0.000000] AMD AuthenticAMD + [ 0.000000] NSC Geode by NSC + [ 0.000000] Cyrix CyrixInstead + [ 0.000000] Centaur CentaurHauls + [ 0.000000] Transmeta GenuineTMx86 + [ 0.000000] Transmeta TransmetaCPU + [ 0.000000] UMC UMC UMC UMC + [ 0.000000] e820: BIOS-provided physical RAM map: + [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable + [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved + [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable + [ 0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS + [ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data + [ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved + +### 4. Print Only Last 20 Lines of Output ### + +### 4. Print Only Last 20 Lines of Output ### + +The ‘tail’ along with dmesg command will print only 20 last lines, this is useful in case we insert removable device. + + [root@tecmint.com ~]# dmesg | tail -20 + + parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE] + ppdev: user-space parallel port driver + EXT4-fs (sda1): mounted filesystem with ordered data mode + Adding 2097144k swap on /dev/sda2. Priority:-1 extents:1 across:2097144k + readahead-disable-service: delaying service auditd + ip_tables: (C) 2000-2006 Netfilter Core Team + nf_conntrack version 0.5.0 (16384 buckets, 65536 max) + NET: Registered protocol family 10 + lo: Disabled Privacy Extensions + e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None + Slow work thread pool: Starting up + Slow work thread pool: Ready + FS-Cache: Loaded + CacheFiles: Loaded + CacheFiles: Security denies permission to nominate security context: error -95 + eth0: no IPv6 routers present + type=1305 audit(1398268784.593:18630): audit_enabled=0 old=1 auid=4294967295 ses=4294967295 res=1 + readahead-collector: starting delayed service auditd + readahead-collector: sorting + readahead-collector: finished + +### 5. Search Detected Device or Particular String ### + +It’s difficult to search particular string due to length of dmesg output. So, filter the lines with are having string like ‘**usb**‘ ‘**dma**‘ ‘**tty**‘ and ‘**memory**‘ etc. The ‘-i’ option instruct to [grep command][1] to ignore the case (upper or lower case letters). + + [root@tecmint.com log]# dmesg | grep -i usb + [root@tecmint.com log]# dmesg | grep -i dma + [root@tecmint.com log]# dmesg | grep -i tty + [root@tecmint.com log]# dmesg | grep -i memory + +#### Sample Output #### + + [ 0.000000] Scanning 1 areas for low memory corruption + [ 0.000000] initial memory mapped: [mem 0x00000000-0x01ffffff] + [ 0.000000] Base memory trampoline at [c009b000] 9b000 size 16384 + [ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff] + [ 0.000000] init_memory_mapping: [mem 0x37800000-0x379fffff] + [ 0.000000] init_memory_mapping: [mem 0x34000000-0x377fffff] + [ 0.000000] init_memory_mapping: [mem 0x00100000-0x33ffffff] + [ 0.000000] init_memory_mapping: [mem 0x37a00000-0x37bfdfff] + [ 0.000000] Early memory node ranges + [ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x000effff] + [ 0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff] + [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups + [ 0.000000] Memory: 2003288K/2059928K available (6352K kernel code, 607K rwdata, 2640K rodata, 880K init, 908K bss, 56640K reserved, 1146920K highmem) + [ 0.000000] virtual kernel memory layout: + [ 0.004291] Initializing cgroup subsys memory + [ 0.004609] Freeing SMP alternatives memory: 28K (c1a3e000 - c1a45000) + [ 0.899622] Freeing initrd memory: 23616K (f51d0000 - f68e0000) + [ 0.899813] Scanning for low memory corruption every 60 seconds + [ 0.946323] agpgart-intel 0000:00:00.0: detected 32768K stolen memory + [ 1.360318] Freeing unused kernel memory: 880K (c1962000 - c1a3e000) + [ 1.429066] [drm] Memory usable by graphics device = 2048M + +### 6. Clear dmesg Buffer Logs ### + +Yes, we can clear dmesg logs if required with below command. It will clear dmesg ring buffer message logs till you executed the command below. Still you can view logs stored in ‘**/var/log/dmesg**‘ files. If you connect any device will generate dmesg output. + + [root@tecmint.com log]# dmesg -c + +### 7. Monitoring dmesg in Real Time ### + +Some distro allows command ‘tail -f /var/log/dmesg’ as well for real time dmesg monitoring. + + [root@tecmint.com log]# watch "dmesg | tail -20" + +Conclusion: The dmesg command is useful as dmesg records all the system changes done or occur in real time. As always you can man dmesg to get more information. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/dmesg-commands/ + +原文作者: + +![](http://1.gravatar.com/avatar/36c7c25164c3455f2f711b01e395de0d?s=80&d=blank&r=G) + +[Narad Shrestha][a](He has over 10 years of rich IT experience which includes various Linux Distros, FOSS and Networking. Narad always believes sharing IT knowledge with others and adopts new technology with ease.) + +译者:[译者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/navin/ +[1]:http://www.tecmint.com/12-practical-examples-of-linux-grep-command/ \ No newline at end of file diff --git a/sources/tech/20140724 Camicri Cube--An Offline And Portable Package Management System.md b/sources/tech/20140724 Camicri Cube--An Offline And Portable Package Management System.md new file mode 100644 index 0000000000..bcd2773a32 --- /dev/null +++ b/sources/tech/20140724 Camicri Cube--An Offline And Portable Package Management System.md @@ -0,0 +1,167 @@ +Camicri Cube: An Offline And Portable Package Management System +================================================================================ +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/camicri-cube-206x205.jpg) + +As we all know, we must have an Internet connection in our System for downloading and installing applications using synaptic manager or software center. But, what if you don’t have an Internet connection, or the Internet connection is dead slow? This will be definitely a headache when installing packages using software center in your Linux desktop. Instead, you can manually download the applications from their official site, and install them. But, most of the Linux users doesn’t aware about the required dependencies for the applications that they wanted to install. What could you do if you have such situation? Leave all the worries now. Today, we introduce an awesome offline package manager called **Camicri Cube**. + +You can use this package manager on any Internet connected system, download the list of packages you want to install, bring them back to your offline computer, and Install them. Sounds good? Yes, It is! Cube is a package manager like Synaptic and Ubuntu Software Center, but a portable one. It can be used and run in any platform (Windows, Apt-Based Linux Distributions), online and offline, in flashdrive or any removable devices. The main goal of this project is to enable the offline Linux users to download and install Linux applications easily. + +Cube will gather complete details of your offline computer such as OS details, installed applications and more. Then, just the copy the cube application using any USB thumb drive, and use it on the other Internet connected system, and download the list of applications you want. After downloading all required packages, head back to your original computer and start installing them. Cube is developed and maintained by **Jake Capangpangan**. It is written using C++, and bundled with all necessary packages. So, you don’t have to install any extra software to use it. + +### Installation ### + +Now, let us download and install Cube on the Offline system which doesn’t have the Internet connection. Download Cube latest version either from the [official Launchpad Page][1] or [Sourceforge site][2]. Make sure you have downloaded the correct version depending upon your offline computer architecture. As I use 64 bit system, I downloaded the 64bit version. + + wget http://sourceforge.net/projects/camicricube/files/Camicri%20Cube%201.0.9/cube-1.0.9.2_64bit.zip/ + +Extract the zip file and move it to your home directory or anywhere you want: + + unzip cube-1.0.9.2_64bit.zip + +That’s it. Now it’s time to know how to use it. + +### Usage ### + +Here, I will be using Two Ubuntu systems. The original (Offline – no Internet) is running with **Ubuntu 14.04**, and the Internet connected system is running with **Lubuntu 14.04** Desktop. + +#### Steps to do On Offline system: #### + +From the offline system, Go to the extracted Cube folder. You’ll find an executable called “cube-linux”. Double click it, and Click Execute. If it not executable, set the executable permission as shown below. + + sudo chmod -R +x cube/ + +Then, go to the cube directory, + + cd cube/ + +And run the following command to run it. + + ./cube-linux + +Enter the Project name (Ex.sk) and click **Create**. As I mentioned above, this will create a new project with complete details of your system such as OS details, list of installed applications, list of repositories etc. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Cube-Startup-Create-or-choose-a-project-to-be-managed_0013.png) + +As you know, our system is an offline computer that means I don’t have Internet connection. So I skipped the Update Repositories process by clicking on the **Cancel** button. We will update the repositories later on an Internet connected system. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Camicri-Systems-%C2%A9-Cube-Portable-Package-Manager-1.0.9.2-sk_0023.png) + +Again, I clicked **No** to skip updating the offline computer, because we don’t have Internet connection. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Camicri-Systems-%C2%A9-Cube-Portable-Package-Manager-1.0.9.2-sk_0033.png) + +That’s it. Now the new project has been created. The new project will be saved on your main cube folder. Go to the Cube folder, and you’ll find a folder called Projects. This folder will hold all the essential details of your offline system. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Selection_004.png) + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Selection_005.png) + +Now, close the cube application, and copy the entire main **cube** folder to any flash drive, and go to the Internet connected system. + +#### Steps to do on an Internet connected system: #### + +The following steps needs to be done on the Internet connected system. In our case, Its **Lubuntu 14.04**. + +Make the cube folder executable as we did in the original computer. + + sudo chmod -R +x cube/ + +Now, double click the file cube-linux to open it or you can launch it from the Terminal as shown below. + + cd cube/ + ./cube-linux + +You will see that your project is now listed in the “Open Existing Projects” part of the window. Select your project + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Cube-Startup-Create-or-choose-a-project-to-be-managed_0014.png) + +Then, the cube will ask if this is your project’s original computer. It’s not my original (Offline) computer, so I clicked **No**. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Camicri-Systems-%C2%A9-Cube-Portable-Package-Manager-1.0.9.2-sk_0024.png) + +You’ll be asked if you want to update your repositories. Click **Ok** to update the repositories. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Camicri-Systems-%C2%A9-Cube-Portable-Package-Manager-1.0.9.2-sk_0034.png) + +Next, we have to update all outdated packages/applications. Click on the “**Mark All updates**” button from the Cube’s tool bar. After that, click “**Download all marked**” button to update all updated packages/applications. As you see in the below screenshot, there are 302 packages needs to be updated in my case. Then, Click **Ok** to continue to download marked packages. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Camicri-Systems-%C2%A9-Cube-Portable-Package-Manager-1.0.9.2-sk_005.png) + +Now, Cube will start to download all marked packages. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Downloading-packages_006.png) + +We have completed updating repositories and packages. Now, you can download a new package if you want to install it on your offline system. + +#### Downloading New Applications #### + +For example, here I am going to download the **apache2** Package. Enter the name of the package in the **search** box, and hit Search button. The Cube will fetch the details of the application that you are looking for. Hit the “**Download this package now**” button, and click **Ok** to start download. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Camicri-Systems-%C2%A9-Cube-Portable-Package-Manager-1.0.9.2-sk_008.png) + +Cube will start downloading the apache2 package with all its dependencies. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Downloading-packages_009.png) + +If you want to search and download more packages, simply Click the button “**Mark this package**”, and do search the required packages. You can mark as many as packages you want to install on your original computer. Once you marked all packages, hit the “**Download all marked**” button on the top tool bar to start downloading them. + +After you completed updating repositories, outdated packages, and downloading new applications, close the Cube application. Then, copy the entire Cube folder to any flash drive or external hdd, and go back to your Offline system. + +#### Steps to do on Offline computer: #### + +Copy the Cube folder back to your Offline system on any place you want. Go to the cube folder and double click **cube-linux** file to launch Cube application. + +Or, you can launch it from Terminal as shown below. + + cd cube/ + ./cube-linux + +Select your project and click Open. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Cube-Startup-Create-or-choose-a-project-to-be-managed_0012.png) + +Then a dialog will ask you to update your system, please click “Yes” especially when you download new repositories, because this will transfer all new repositories to your computer. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Camicri-Systems-%C2%A9-Cube-Portable-Package-Manager-1.0.9.2-sk_0021.png) + +You’ll see that the repositories will be updated on your offline computer without Internet connection. Because, we already have updated the repositories on the Internet connected system. Seems cool, isn’t it? + +After updating the repositories, let us install all downloaded packages. Click the “Mark All Downloaded” button to select all downloaded packages, and click “Install All Marked” to install all of them from the Cube main Tool bar. The Cube application will automatically open a new Terminal, and install all packages. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Terminal_001.png) + +If you encountered with dependency problems, go to **Cube Menu -> Packages -> Install packages with complete dependencies** to install all packages. + +If you want to install a specific package, Navigate to the List Packages, click the “Downloaded” button, and all downloaded packages will be listed. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Camicri-Systems-%C2%A9-Cube-Portable-Package-Manager-1.0.9.2-sk_0035.png) + +Then, double click the desired package, and click “Install this”, or “Mark this” if you want to install it later. + +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Camicri-Systems-%C2%A9-Cube-Portable-Package-Manager-1.0.9.2-sk_0043.png) + +By this way, you can download the required packages from any Internet connected system, and then you can install them in your offline computer without Internet connection. + +### Conclusion ### + +This is one of the best and useful tool ever I have used. But during testing this tool in my Ubuntu 14.04 testbox, I faced many dependency problems, and the Cube application is suddenly closed often. Also, I could use this tool only on a fresh Ubuntu 14.04 offline system without any issues. Hope all these issues wouldn’t happen on previous versions of Ubuntu. Apart from these minor issues, this tool does this job as advertised and worked like a charm. + +Cheers! + +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/camicri-cube-offline-portable-package-management-system/ + +原文作者: + +![](http://1.gravatar.com/avatar/1ba62ac2b395f541750b6b4f873eb37b?s=70&d=monsterid&r=G) + +[SK][a](Senthilkumar, aka SK, is a Linux enthusiast, FOSS Supporter & Linux Consultant from Tamilnadu, India. A passionate and dynamic person, aims to deliver quality content to IT professionals and loves very much to write and explore new things about Linux, Open Source, Computers and Internet.) + +译者:[译者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]:https://launchpad.net/camicricube +[2]:http://sourceforge.net/projects/camicricube/ \ No newline at end of file From 955c61413de0aff0dffad423da8c162960825f86 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Thu, 24 Jul 2014 16:16:56 +0800 Subject: [PATCH 205/291] =?UTF-8?q?20140724-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Unbreakable Enterprise Kernel Release 3.md | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md diff --git a/sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md b/sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md new file mode 100644 index 0000000000..04dbe5cee7 --- /dev/null +++ b/sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md @@ -0,0 +1,41 @@ +Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3 +================================================================================ +![The new Oracle Linux 7.0 is out](http://i1-news.softpedia-static.com/images/news2/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File-System-and-Unbreakable-Enterprise-Kernel-Release-3-451894-2.jpg) + +**The Oracle Linux 7.0 operating system has been released by Oracle and brings numerous new features and changes, like Unbreakable Enterprise Kernel Release 3 and a new default file system.** + +The Oracle developers have gone through a couple of Release Candidates for this new build of the distribution and now the final version has arrived. As expected, it's packed with a ton of modifications, which include the new XFS as the default operating system, Btrfs as an alternative, Linux Containers (LXC), DTrace, Ksplice, Xen enhancements, and the Unbreakable Enterprise Kernel Release 3. + +As opposed to the more popular EXT4 file system, XFS has one major advantage. It allows users to have 500 TB for the file system size, which is ten times more than what you would get with EXT4. The only drawback is that it only allows for 16 TB maximum file size. + +The distribution features two supported kernels. One is the Red Hat Compatible Kernel (RHCK), based on mainline Linux version 3.10, and the second one is their own version, which is called the Unbreakable Enterprise Kernel Release 3 (UEK R3), and starting with 3.8.13 it's based on the mainline Linux version 3.8. You might remember that Linux Kernel 3.8.x has already reached end of life, but it looks like Oracle is maintaining its own branch. + +“Available for download from Oracle Software Delivery Cloud, Oracle Linux 7 is free to download and distribute. All bug fixes and security errata are published to Oracle's public yum servers, allowing customers to install the same code across all their deployments, with or without a subscription, and creating a simple migration path from free to paid. No reinstalls are required.” + +“This release builds on Oracle's approach to providing support for emerging technologies, such as OpenStack, while delivering the latest Linux innovations, tools, and features customers and partners need to deliver enterprise-grade solutions for the modern data center,” reads the official announcement. + +According to the changelog, Ksplice has been implemented for zero-downtime kernel security updates and bug fixes, systemd has been implemented as the new system manager, Grub2 is now the default boot loader with support for additional firmware types (like UEFI), and an improved Anaconda installer, a few new Apache Web Server features, GPT support, and numerous security features and improvements have been added. + +More details about the latest Oracle Linux distro can be found in the official [announcement][1]. + +#### Download Oracle Linux 7.0 right now: #### + +- [Oracle Enterprise Linux 6.5 (ISO) 64-bit][2][iso] [3 GB] +- [Oracle Enterprise Linux 6.5 (ISO) 32-bit][3][iso] [3.60 GB] +- [Oracle Enterprise Linux 7.0 (ISO) 64-bit][4][iso] [4.50 GB] + +-------------------------------------------------------------------------------- + +via: http://news.softpedia.com/news/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File-System-and-Unbreakable-Enterprise-Kernel-Release-3-451894.shtml + +原文作者:[Silviu Stahie][a] + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://news.softpedia.com/editors/browse/silviu-stahie +[1]:http://www.oracle.com/us/corporate/press/2245947 +[2]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/i386/OracleLinux-R6-U5-Server-i386-dvd.iso +[3]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/x86_64/OracleLinux-R6-U5-Server-x86_64-dvd.iso +[4]:https://edelivery.oracle.com/linux/ \ No newline at end of file From fa51ce2ee7515902a5a030a1b888c0d1a0ddca7d Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Thu, 24 Jul 2014 16:33:19 +0800 Subject: [PATCH 206/291] [translated] 20140624 Super Pi Brothers.md --- sources/tech/20140624 Super Pi Brothers.md | 71 ------------------- translated/tech/20140624 Super Pi Brothers.md | 70 ++++++++++++++++++ 2 files changed, 70 insertions(+), 71 deletions(-) delete mode 100644 sources/tech/20140624 Super Pi Brothers.md create mode 100644 translated/tech/20140624 Super Pi Brothers.md diff --git a/sources/tech/20140624 Super Pi Brothers.md b/sources/tech/20140624 Super Pi Brothers.md deleted file mode 100644 index 7edf8e195a..0000000000 --- a/sources/tech/20140624 Super Pi Brothers.md +++ /dev/null @@ -1,71 +0,0 @@ -zpl1025 -Super Pi Brothers -================================================================================ -I don't game as much as I used to. Although I've certainly spent countless hours of my life in front of a Nintendo, SNES, or after that, playing a first-person shooter on my computer (Linux only, thank you), these days, my free time tends to go toward one of the many nongaming hobbies I've accumulated. Recently though, I found myself dusting off my Wii console just so I could play an NES and SNES game I re-purchased for it. The thing is, those games require using a somewhat strange controller, and I already have a modified SNES controller that can connect over USB. That was enough to encourage me to search for a better solution. Of course, I simply could connect three or four consoles and stack up games in my living room, but I've grown accustomed to ripping my CDs and DVDs and picking what I want to listen to or watch from a central media center. It would be nice if I didn't have to get up and find a cartridge every time I wanted to switch games. This, of course, means going with emulation, but although in the past I'd had success with a modified classic Xbox, I didn't have that hardware anymore. I figured someone must have gotten this set up on the Raspberry Pi, and sure enough, after a brief search and a few commands, I had a perfect retro-gaming arcade set up on a spare Raspberry Pi. - -One nice thing about the Raspberry Pi project is the large number of people out there with identical hardware. For me, that meant instead of having to go through someone else's instructions, knowing I'd likely have to tweak it to suit my setup, I basically could follow someone else's guide verbatim. In my case, I found the RetroPie project, which wrapped up all of the commands you would need to install everything on a Raspberry Pi into a single large script. At the end, you have the RetroArch project fully installed and configured, which includes all of the major emulators you'd want and a centralized method to configure them, plus an EmulationStation graphical front end the Pi can boot directly into that makes it simple to navigate to the game you want, all from a gamepad. - -### Install RetroPie ### - -Before you install RetroPie, you will want to make sure your Raspbian distribution (the default Linux distribution for a Raspberry Pi, and the one this project assumes you will use) is completely up to date, including any new firmware images. This just means a few common `apt` commands. Although you certainly could connect a keyboard to your Raspberry Pi for this step, I've found it more convenient to `ssh` in to the device so I could copy and paste commands: - - $ sudo apt-get update - $ sudo apt-get -y upgrade - -Now that the Raspberry Pi is up to date, make sure the git and dialog packages are installed, and then use git to download RetroPie: - - - $ sudo apt-get -y install git dialog - $ cd - $ git clone --depth=0 - ↪git://github.com/petrockblog/RetroPie-Setup.git - -This will create a RetroPie-Setup directory containing the main setup script. Now you just need to go inside that directory and execute it: - - $ cd RetroPie-Setup - $ chmod +x retropie_setup.sh - $ sudo ./retropie_setup.sh - -This script presents you with an in-terminal menu (Figure 1) where you can choose to perform a binary installation or source installation, set up RetroPie, or perform a series of updates for the RetroPie setup script and binaries. Choose either the binary or source installation. The binary installation won't take as much time, but you may risk running older versions of some of the software. The source installation requires you to compile software, so it takes longer, but at the end, you will have the latest possible versions of everything. Personally, I opted for the binary install, knowing I always could re-run the script and go with the source install if I found any problems. - -![](http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/medium-350px-centered/u1002061/11576f1.png) - -#### Figure 1. RetroPie Setup Menu #### - -This part of the process will take quite some time on a vanilla Raspbian image, as there are a lot of different packages to download and install. Once the installation completes, go back to the main RetroPie setup screen and select SETUP from the main menu. In this submenu, you can tweak settings, such as whether to start EmulationStation from boot (recommended) and whether to enable a splash screen. In my case, I enabled both settings as I intended my device to be a standalone emulation machine. Note that if you do allow EmulationStation to start up from boot, you still can always ssh in to the machine and run the original RetroPie configuration script to change the settings. - -### Adding ROMs ### - -You also can add ROMs within the RetroPie setup screen. If you choose the Samba method in the menu, you then can locate a local Samba mountpoint on your network, and you can copy ROMs from that. With the USB stick method, RetroPie will generate a directory structure on a USB stick that you plug in to your Raspberry Pi that represents the different emulators it supports. After this point, you can take that USB stick to another computer and copy ROMs over to the appropriate directory, and the next time you plug it in to the Raspberry Pi, it automatically will sync the files over. Finally (and this is what I did), you just can use scp or rsync to copy over ROMs to the appropriate directory under ~/RetroPie/roms/. So for instance, NES games would be copied to ~/RetroPie/roms/nes/. - -Once you are done with the configuration and exit out of the RetroPie setup script, you will want to reboot back into EmulationStation, but before you do, you should reconfigure the memory split on the Raspberry Pi so that it is set to 192 or 128, so run: - - - $ sudo raspi-config - -and go to the Advanced Settings to change the memory split setting. Now you can reboot safely. - -### EmulationStation ### - -Once you reboot, you should be greeted with the initial EmulationStation screen, which will prompt you to set up your joystick, gamepad or keyboard buttons so it can work with the EmulationStation menu. Note that this doesn't affect how your controllers work within games, just within the EmulationStation menu. After your controller or controllers are set up, you should be able to press right and left on your controller to switch between the different emulator menus. In my case, all of the buttons on my gamepad were going to be used within games, so I made a point to bind a key on a separate keyboard to the menu function so I could exit out of games when I was done without having to reboot the Raspberry Pi. - -EmulationStation will show you only menus that represent emulators for which it has detected ROMs, so if you haven't copied ROMs for a particular emulator yet, you will want to do that and potentially restart your Raspberry Pi before you can see them. Also, by default, your controller will not be configured for any games, but if you press the right arrow enough times within EmulationStation, you will get to an input configuration screen that allows you to map keys on your controller to keys inside a game. The nice thing about this setup is that after you configure the keys, it will apply appropriately within each emulator. - -That's it. From this point, you can browse through your collection of games and press whatever button you bound to Accept to start playing. At first I was concerned the Raspberry Pi wouldn't have the horsepower to play my games, but so far, it has been able to play any games I tried without a problem. - -### Resources ### - -The RetroPie Project: [http://blog.petrockblock.com/retropie][1] - -RetroPie Installation Docs: [https://github.com/petrockblog/RetroPie-Setup][2] - --------------------------------------------------------------------------------- - -via: http://www.linuxjournal.com/content/super-pi-brothers - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://blog.petrockblock.com/retropie -[2]:https://github.com/petrockblog/RetroPie-Setup diff --git a/translated/tech/20140624 Super Pi Brothers.md b/translated/tech/20140624 Super Pi Brothers.md new file mode 100644 index 0000000000..d413095654 --- /dev/null +++ b/translated/tech/20140624 Super Pi Brothers.md @@ -0,0 +1,70 @@ +超级树莓派兄弟 +================================================================================ +我已经不象以前那样玩那么多游戏了。虽然之前我当然花费了生命里的无数时间在任天堂,SNES,或是之后在我电脑上的第一人称射击游戏(只在Linux下,谢谢),如今,我更愿意把空余时间花在我累积起来的许多其他非游戏爱好上。但是最近,我发现自己又抹掉了Wii手柄上的灰尘,这样就可以玩一玩我重新购买的NES和SNES游戏了。不过问题是,这些游戏需要用到一些特别的控制器,而且我已经有一个修改过的SNES控制器可以通过USB连接。这已经有足够的理由让我去寻找一个更合适的方案。当然,我也可以简单地接上三个甚至四个手柄,然后在客厅里面堆满游戏。但是我已经习惯于把我的CD和DVD都提取成文件,然后在中心媒体服务器上挑选着听或是看。所以如果每次我想换游戏的时候,不用起身去翻游戏卡带,那就完美了。当然,这意味着得使用模拟器。尽管之前我在一个改动过的Xbox上成功过,不过可惜它已经不在我手上了。然后我觉得一定有什么人已经在树莓派上实现过这种平台,结果是肯定的,在简单地搜索和一些命令之后,我在一个剩下的树莓派上搭起来一个完美的怀旧游戏中心。 + +树莓派项目的一个优点是,有大量的用户在使用相同的硬件。对我来说,这意味着我不用完整地参考别人的指引再根据自己的需求做出必要的改动,而只需要简单地完全按照别人的指导做就行了。在我这件事情上,我找到了RetroPie项目,它把你安装时需要用到的所有命令都包到了一个单一的大脚本中。在执行完后,你就完整地安装并配置好了RetroArch,它集成了所有的主流模拟器以及一个统一的配置方式,再加上一个在树莓派上开机启动的EmulationStation图形界面,通过它可以只用手柄就能方便地定位到你想玩的游戏。 + +### 安装RetroPie ### + +在安装RetroPie之前,你可能需要确认一下你的Raspbian版本(树莓派默认的Linux发行版,这也是这个项目假设你在用的)是不是最新的,包括有没有新的固件。这只需要几个通用的`apt`命令。虽然,在这一步里你当然可以接个键盘到树莓派上,不过我觉得用`ssh`登录到树莓派上更方便。之后直接复制和粘贴下面的命令: + + $ sudo apt-get update + $ sudo apt-get -y upgrade + +现在树莓派已经更新到最新了,再确认一下是否安装了git和dialog,然后可以通过git来下载RetroPie: + + + $ sudo apt-get -y install git dialog + $ cd + $ git clone --depth=0 + ↪git://github.com/petrockblog/RetroPie-Setup.git + +执行完上边的命令后会创建一个RetroPie-Setup目录,里面有主要的安装脚本。之后你只需要进去这个目录,并运行安装脚本: + + $ cd RetroPie-Setup + $ chmod +x retropie_setup.sh + $ sudo ./retropie_setup.sh + +这个脚本会在终端里显示一个菜单(图1),在里面你可以选择二进制安装或是源码安装,配置RetroPie,或是更新RetroPie安装脚本和执行文件。之后选择二进制安装或是源码安装,任选一个。二进制安装会快一些,不过有些软件版本可能不是最新的。源码安装需要编译软件,所以用的时间会比较长,但是完成之后,所有的一切都是最新版的。我个人会选择二进制安装,因为我知道在碰到任何问题之后,随时都可以重新执行这个脚本再选择源码安装。 + +![](http://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/medium-350px-centered/u1002061/11576f1.png) + +#### 图1. RetroPie安装菜单 #### + +在vanilla Raspbian固件版本中,这一步会需要很长时间,因为有大量不同的包需要下载和安装。在安装完成之后,返回在RetroPie安装主界面中,在主菜单里选择SETUP,在之后的二级菜单里,你可以调整设置,例如是否开机启动EmulationStation(推荐打开)以及是否允许欢迎界面。在我这里,我两个都允许了,因为我希望这个设备是一个独立的模拟游戏机。不过你需要了解的是,如果你确实允许了EmulationStation开机自动启动,你仍然可以ssh登录到机器上然后执行原始的RetroPie安装配置脚本来改变这个设置。 + +### 添加ROM ### + +你也可以在RetroPie设置界面添加ROM。如果你在菜单里选择了Samba方式,就可以在网络上找一个Samba共享目录,然后从里面拷贝ROM。如果通过U盘的方式,RetroPie会在插到树莓派的U盘上创建一个目录结构,分别对应不同的模拟器。在这之后,你就可以把U盘插到其他电脑上,然后把ROM拷贝到合适的目录里,当再插回树莓派的时候,它会自动同步文件。最后(我就是这么做的),你还可以使用scp或者rsync来拷贝ROM到~/RetroPie/roms/的合适目录下。举个例子,NES游戏需要拷贝到~/RetroPie/roms/nes/目录里。 + +当你完成了配置并退出了RetroPie的设置脚本后,应该会想重启并进入EmulationStation,但是在那之前,你应该重新配置树莓派的内存空间,设为192或者128,运行命令: + + + $ sudo raspi-config + +然后选择高级设置,调整内存空间设定。之后就可以安全地重启了。 + +### EmulationStation ### + +重启完之后,当看到EmulationStation界面时应该会很高兴,之后它会提示你设定控制杆,游戏手柄,或键盘按键,这样就可以控制EmulationStation菜单了。不过注意一下,这并不会影响手柄在游戏里的按键定义,只是用于控制EmulationStation菜单的。在设定完手柄后,你应该可以按下向右或向左方向键来切换不同的模拟器菜单了。在我这里,我将会在游戏里用到手柄上的所有按钮,所以我特别将另一个键盘上的键映射到菜单功能,这样在我玩完一个游戏后,不用重启树莓派就可以退出来。 + +EmulationStation只会显示已经侦测到ROM的模拟器,所以,如果你还没有拷贝ROM的话,得先做这件事情,然后可能还得重启一下才会有效果。而且,默认情况下,你的手柄没有为任何游戏做配置,但是,如果你在EmulationStation里一直按向右键足够多次以后,会弹出输入设定界面,你可以在里面映射手柄按键。有一个亮点是,当你设定好按键后,它会相应地应用到其他模拟器中。 + +就是这些了。在这之后,你可以浏览你收藏的各种游戏,然后按下绑定到确定的那个按键开始游戏。一开始我还担心树莓派可能不够强劲来玩我的游戏,但是直到现在,我试过地所有游戏都可以完美地运行。 + +### 资源 ### + +RetroPie项目主页:[http://blog.petrockblock.com/retropie][1] + +RetroPie安装文档:[https://github.com/petrockblog/RetroPie-Setup][2] + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/super-pi-brothers + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://blog.petrockblock.com/retropie +[2]:https://github.com/petrockblog/RetroPie-Setup From 1104cd4b6d00f8db07a8fc1218e2dac6c123634a Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Thu, 24 Jul 2014 16:41:47 +0800 Subject: [PATCH 207/291] [translating] 20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md --- ... The Native Dropbox Linux Client Debuts New Qt Interface.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md b/sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md index 3710001e3b..6c24dd2d5c 100644 --- a/sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md +++ b/sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md @@ -1,3 +1,4 @@ +zpl1025 The Native Dropbox Linux Client Debuts New Qt Interface ================================================================================ **The latest experimental build of the native Dropbox Linux client has debuted with an all new Qt interface.** @@ -56,4 +57,4 @@ via: http://www.omgubuntu.co.uk/2014/07/dropbox-experimental-linux-build-qt-rewr [a]:https://plus.google.com/117485690627814051450/?rel=author [1]:https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86_64-2.11.0.tar.gz -[2]:https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86-2.11.0.tar.gz \ No newline at end of file +[2]:https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86-2.11.0.tar.gz From d6471b0b069051e9b1bb00835b550764383f3289 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Thu, 24 Jul 2014 16:47:00 +0800 Subject: [PATCH 208/291] =?UTF-8?q?20140724-3=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/talk/20140724 Best Linux Browsers.md | 81 +++++++++++++++++++ ...f -u--What is New in Kernel Development.md | 45 +++++++++++ 2 files changed, 126 insertions(+) create mode 100644 sources/talk/20140724 Best Linux Browsers.md create mode 100644 sources/talk/20140724 diff -u--What is New in Kernel Development.md diff --git a/sources/talk/20140724 Best Linux Browsers.md b/sources/talk/20140724 Best Linux Browsers.md new file mode 100644 index 0000000000..5463fea2d3 --- /dev/null +++ b/sources/talk/20140724 Best Linux Browsers.md @@ -0,0 +1,81 @@ +Best Linux Browsers +================================================================================ +> Pros and cons of the best browsers for the Linux desktop, including Firefox, Chrome and other browsers. + +Choosing the best Linux browser for your needs requires just a bit of homework: Web browsers for the Linux desktop have evolved over the years, just as they have for other popular desktop platforms. With this evolution, both good and bad revelations have been discovered. Revelations from new functionality, to broken extensions, and so forth. In this article, I'll serve as your guide through these murky waters to help you discover the best in Linux browsers. + +### **Firefox** ### + +– [Firefox][1] has long been a friendly browser for Linux users. Accessible on both 32bit and 64bit Linux installs, Firefox also offers extensive extensions to choose from. It's a fast loading, easy to navigate Web browser that has found itself in a popular place with Linux users. + +**The good**: It's easily installed from most common Linux software repositories, if not already installed on the distro by default. Thousands of extensions to choose from to make your Firefox browser more fully featured. Nearly every website on the Web (including government and banking sites) render properly. + +Also important: Firefox respects your privacy. In addition to a straight forward privacy policy, they're not in the "same business" as Google. Therefore, most users feel more comfortable allowing Firefox to see their daily browsing activities whereas other browsers, might have more profit-driven interests. Firefox is also great for web developers, thanks to its element inspection tool, built right into the browser. + +**The bad**: Not too long ago, I was finding that Firefox's frequent updates were breaking my extensions. This meant I needed to verify that my favorite extensions were compatible with new Firefox updates BEFORE I updated my browser. + +To be blunt, this caused me to rethink which browser would be my default tool to browse the Internet. In fairness, Mozilla does post a blog post with each browser update for extension developers. In these posts, developers are told what has changed and what needs to be done to keep things working smoothly. + +### **Chrome/Chromium** ### + +– Google promotes its browser named [Chrome][2], however I tend to put [Chromium][3] into the same group as Chrome since Chromium is used as its base for development. Unlike Firefox, Chrome/Chromium was late to the game for Linux. Linux users only considered it worth trying at the time due to the fact that Chrome/Chromium was perceived by many as being the fastest browser. + +**The good**: Even today, Chrome/Chromium is considered pretty fast. Even with the recent updates made to other competing browsers, Chrome/Chromium hasn't lost its speed. Extensions for Chrome/Chromium are plentiful and even better, updates to the browser have no affect on said extensions. This means that, unlike Firefox, I haven't dealt with extension incompatibilities. Like Firefox, Chrome/Chromium also has an element inspection tool, built right into the browser. After trying syncing options with other browsers, only Chrome/Chromium has proven itself to be truly idiot-proof. Without question, Chrome/Chromium syncing is the best in the browser space, from my perspective. + +**The bad**: Chrome/Chromium doesn't always render pages correctly. Be it rare, some sites like Ebay don't always render correctly. Case in point, if I create a new Ebay submission, I find there are buttons missing in some cases. I've also found that sometimes Chrome/Chromium can lockup completely if an open tab is rendering heavy script. Sites like Google Plus and Facebook are the most common offenders. + +### **Qupzilla** ### + +– When it comes to lightweight browsers, I've found [Qupzilla][4] to be among the most awesome. Based on Webkit, it provides decent rendering support while maintaining a very small resource footprint. + +**The good**: Qupzilla is ideal for lightweight desktop environments where you need a modern browser capable of rendering pages correctly and generally providing a solid web browser experience. It's extremely lightweight and will run on older PCs without missing a beat. Access Keys and [GreaseMonkey][5] extensions are installed (but disabled) by default. + +Like Firefox and Chrome/Chromium, Qupzilla provides access to an element inspection tool as well. And finally, having [Adblock][6] installed by default makes this a clear lightweight winner for me. + +**The bad**: HTML5 video doesn't seem to work reliably. Also, in order to watch Flash videos, you must visit the preferences and uncheck Click to Flash in the Extensions, Webkit plugins area. This is a poorly thought out decision to essentially disable Flash out of the box, while HTML5 video remains completely broken. + +### **Midori** ### + +– I like to call [Midori][7] the lightweight Chrome alternative. Like Google's browser(s), Midori offers a minimalist experience with its "hamburger menu," which is nice as it takes up less browser space. Not only do you get a solid browsing experience without the usual browser politics found elsewhere, Midori is also quite fast. + +**The good**: Midori is fast, lightweight and feels familiar out of the box. I'm also happy to report that it renders pages correctly and works great with sites like YouTube. The best part, in my opinion, is the built-in functionality for creating browser profiles and actual launchable links for Web apps. For example, you can easily create a web app on your desktop for Gmail or Facebook. You can also setup user specific browser profiles as well, without creating new Linux user accounts. + +**The bad**: Despite mentioning user extensions for this browser, the selection available is less than impressive. Also, the browser layout takes a bit of getting used to. A trash can for previously visited websites – seriously? + +### **Opera** ### + +– [Opera][8] has long been one of the misunderstood browsers out there. Very early on, Opera provided Linux support despite being dismissed by the overall Linux community. In addition to being a compatible, fast web browser that has been nothing but good to Linux users, it's also a full of configurable options. + +**The good**: It's fast and it's full of user controllable settings. You can import and export everything from RSS feeds to email, and skin Opera with easy access to breathtaking themes. Plus, Opera offers an extensive library of extensions to choose from. Not to mention the ability to read RSS feeds and email, from your browser! Relive the days of the Mozilla Suite by using Opera's extended suite functionality. And perhaps best of all, Opera Turbo – super-charge your browser speed with selective compression to provide a faster experience. + +**The bad**: A nag for the Terms of Service on its first run. Also, Opera Turbo can slightly alter your browsing experience – YouTube for example, may not show a video's thumbnail. Opera also provides so many options that it can feel a bit overwhelming to the casual user. And lastly, it's a closed source browser that hasn't been well recognized for desktop use. Most folks think of Opera as a mobile browser only these days. + +### Which browser is right for you? ### + +With so many great choices, it can be a tough call to say which browser is right for you. Speaking for myself, I've found that I rely heavily on Firefox and Chromium due to specific extensions I put to work each day. For someone with a lower end system or netbook, my suggestion is to try Midori first and if that's not a fit, fallback to Qupzilla. + +So what about other web browsers for Linux? Such as the [Epiphany][9] browser or [Konqueror][10]? Browsers like these are great, but I feel strongly about the browsers I've shared above specifically. Each of the options listed above are browsers I use often and have found to be something I feel good about recommending to friends and family. + +That said, by all means, share any browsers you're passionate about in the Comments below so others can benefit from your preferred method of browsing the Web. + +-------------------------------------------------------------------------------- + +via: http://www.datamation.com/open-source/best-linux-browsers-1.html + +原文作者:[Matt Hartley][a] + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.datamation.com/author/Matt-Hartley-3080.html +[1]:https://www.mozilla.org/en-US/firefox/new/ +[2]:https://www.google.com/intl/en_us/chrome/browser/ +[3]:http://www.chromium.org/ +[4]:http://www.qupzilla.com/ +[5]:https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/ +[6]:https://adblockplus.org/ +[7]:http://midori-browser.org/ +[8]:http://www.opera.com/ +[9]:https://wiki.gnome.org/Apps/Web +[10]:http://www.konqueror.org/ \ No newline at end of file diff --git a/sources/talk/20140724 diff -u--What is New in Kernel Development.md b/sources/talk/20140724 diff -u--What is New in Kernel Development.md new file mode 100644 index 0000000000..5089d370ff --- /dev/null +++ b/sources/talk/20140724 diff -u--What is New in Kernel Development.md @@ -0,0 +1,45 @@ +diff -u: What's New in Kernel Development +================================================================================ +Once in a while someone points out a POSIX violation in Linux. Often the answer is to fix the violation, but sometimes Linus Torvalds decides that the POSIX behavior is broken, in which case they keep the Linux behavior, but they might build an additional POSIX compatibility layer, even if that layer is slower and less efficient. + +This time, *Michael Kerrisk* reported a POSIX violation that affected file operations. Apparently, reading and writing to files during multithreaded operations could hit race conditions and overwrite each other's changes. + +There was some discussion over whether this was really a violation of POSIX, but ultimately, who cares? Data clobbering is bad. After Michael posted some code to reproduce the problem, the conversation focused on what to do to fix it. But Michael did make an argument that "Linux isn't consistent with UNIX since early times. (E.g., page 191 of the 1992 edition of Stevens APUE discusses the sharing of the file offset between the parent and child after fork(). Although Stevens didn't explicitly spell out the atomicity guarantee, the discussion there would be a bit nonsensical without the presumption of that guarantee.)" + +Al Viro joined Linus in trying to come up with a fix. Linus tried introducing a simple mutex to lock files so that write operations couldn't clobber each other, and Al offered his own refinements that improved on Linus' patch. + +At one point, Linus explained the history of the bug itself. Apparently, once upon a time the file pointer, which told the system where to write into the file, had been locked in a semaphore so only one process could do anything to it at a time. But, they took it out of the semaphore in order to accommodate device files and other non-regular files that ran into race conditions when users were barred from writing to them whenever they pleased. + +That was what introduced the bug. At the time, it slipped through undetected, because that actual reading and writing to regular files was still handled atomically by the kernel. It was only the file pointer itself that could get out of sync. And, because high-speed threaded file operations are a pretty rare need, it took a long time for anyone to run into the problem and report it. + +An interesting little detail is that, while Linus and Al were hunting for a fix, Al at one point complained that the approach Linus was taking wouldn't support certain architectures, including *ARM* and *PowerPC*. Linus' response was, "I doubt it's worth caring about. [...] If the ARM/PPC people end up caring, they could add the struct-return support to gcc." + +It's always interesting to see how corner cases crop up and get dealt with. In some cases, part of the fix has to happen in the kernel, part in GCC and part elsewhere. In this particular instance, Al felt the whole thing could be done in the kernel, and he was inspired to write his own version of the patch, which Linus accepted. + +*Andi Kleen* wanted to add low-level CPU event support to *perf*. The problem was that there could be tons of low-level events, and it varied widely from CPU to CPU. Even storing the possible events in memory for all CPUs would significantly increase the kernel's running size. So, hard-coding this information into the kernel would be problematic. + +He pointed out that the *OProfile* tool relied on publicly available lists of these events, though he said the OProfile developers didn't always keep their lists up to date with the latest available versions. + +To solve these issues, Andi submitted a patch that allowed perf to identify which event-list was needed for the particular CPU on the given system, and automatically download the latest version of that list from its home location. Then perf could interpret the list and analyze the events, without overburdening the kernel. + +There was various feedback to Andi's code, mostly to do with which directory should house the event-lists, and what the filenames should be called. The behavior of the code itself seemed to get a good reception. One detail that may turn out to be more controversial than the others was Andi's decision to download the lists to a subdirectory of the user's own home directory. Andi said that otherwise users might be encouraged to download the event-lists as the root user, which would be bad security practice. + +Sasha Levin recently posted a script to translate the *hexadecimal offsets *from stack dumps into meaningful line numbers that pointed into the kernel's source files. So something like "ffffffff811f0ec8" might be translated into "fs/proc/generic.c:445". + +However, it turned out that Linus Torvalds was planning to remove the hex offsets from the stack dumps for exactly the reason that they were unreadable. So Sasha's code was about to go out of date. + +They went back and forth a bit on it. At first Sasha decided to rely on data stored in the System.map file to compensate, but Linus pointed out that some people, including him, didn't keep their System.map file around. Linus recommended using /usr/bin/nm to extract the symbols from the compiled kernel files. + +So, it seems as though Sasha's script may actually provide meaningful file and line numbers for debugging stack dumps, assuming the stack dumps provide enough information to do the calculations. + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/diff-u-whats-new-kernel-development-0 + +原文作者:[Zack Brown][a] + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.linuxjournal.com/user/801501 \ No newline at end of file From 7a063ff60031b18bb00a79b66b12418d9498f7a9 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Thu, 24 Jul 2014 17:06:55 +0800 Subject: [PATCH 209/291] =?UTF-8?q?20140724-4=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... What are useful online tools for Linux.md | 150 ++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 sources/talk/20140724 What are useful online tools for Linux.md diff --git a/sources/talk/20140724 What are useful online tools for Linux.md b/sources/talk/20140724 What are useful online tools for Linux.md new file mode 100644 index 0000000000..461ff0afef --- /dev/null +++ b/sources/talk/20140724 What are useful online tools for Linux.md @@ -0,0 +1,150 @@ +What are useful online tools for Linux +================================================================================ +As you know, GNU Linux is much more than just an OS. There is literally a whole sphere on the Internet dedicated to the penguin OS. If you read this post, you are probably inclined towards reading about Linux online. Among all the pages that you can find on the subject, there are a couple of websites that every Linux adventurer should have in his bookmarks. These websites are more than just tutorials or reviews. They are real tools that you can access from anywhere and share with everyone. So today I shall propose you a non-exhaustive list of sixteen websites that should be in your bookmarks. Some of them can also be useful for Windows or Mac users: that's the extent of their reach. + +### 1. [ExplainShell.com][1] ### + +[![](https://farm4.staticflickr.com/3841/14517716647_3b6a1a564d_z.jpg)][2] + +If you are interested in Linux command line, you should use this website. If you are not interested in Linux command line, you should use it even more as it will explain in detail how a command works. This could prevent you from launching a command detrimental to your computer, and is a good way to learn with a great interface. + +### 2. [BashrcGenerator.com][3] ### + +[![](https://farm4.staticflickr.com/3900/14703872782_033e5acdb8_z.jpg)][4] + +If you want to begin with Linux command line, or if you want to quickly get a customized shell prompt but not sure how, this website will generate for you PS1 prompt code to place your .bashrc file in your home directory. You can drag and drop the elements that you would like to see in your prompt, like your username and the current time, and the website will write the code for you. It's easy and very readable. Definitely a must for the lazy. + +### 3. [Vim-adventures.com][5] ### + +[![](https://farm4.staticflickr.com/3838/14681149696_0c533fd6de_z.jpg)][6] + +I only recently discovered this website, but it already sucked in many hours of my life. In short: a RPG game with Vim commands. Move your character in the isometric levels with the 'h,j,k,l' keys, gain new commands/abilities, collect keys, and learn how to use Vim proficiently very quickly. + +### 4. [Try Github][7] ### + +[![](https://farm4.staticflickr.com/3874/14517499739_0452848d68_z.jpg)][8] + +The pitch is simple: learn Git in 15 minutes. This website simulates a console, and walks you though the steps of collaborative editing. The interface is very stylish and the intention is worthy. The only downside is for the Git allergic. But it is definitely a good skill to have, and a good place to learn it. + +### 5. [Shortcutfoo.com][9] ### + +[![](https://farm4.staticflickr.com/3906/14517499799_f142ea37cb_z.jpg)][10] + +Another shortcut database, shortcutfoo is a bit more standard in its way to present its content to the user, but definitely more straight-forward than funny mini-games. The shortcuts of several programs are available and grouped by categories. As it might not be super complete for software like Vim, which is completely reliant on shortcuts, it is perfect for giving a quick tip or a general overview. + +### 6. [GitHub Free Programming Books][11] ### + +[![](https://farm4.staticflickr.com/3867/14517499989_408a28d8be_z.jpg)][12] + +As you might guess from the URL, this is a collection of free online books about programming, written collaboratively using Git. The content is awesome and the authors deserve to be praised for such work. It might not be the easiest read at first, but it is one of the most instructive for sure. We can only hope that the movement will keep growing. + +### 7. [Collabedit.com][13] ### + +[![](https://farm3.staticflickr.com/2940/14681150086_2d169d67f9_z.jpg)][14] + +If you ever plan on giving a phone interview, you should check out collabedit beforehand. It allows you to create a document, select the programming language that you want to write in, and then share that document via the URL. The people opening the link will be able to freely interact in real time with the text, allowing you to judge their programming skills or just exchange snippets. It even comes with the proper syntax highlighting and a chat widget. In other words, it is the instant-Google Document of programmers. + +### 8. [Cpp.sh][15] ### + +[![](https://farm4.staticflickr.com/3840/14700981001_af3ac40b65_z.jpg)][16] + +This is one of those websites that extend beyond just Linux, but it is so useful that it deserves its place here. In short, an online development environment for C++. Just write your code in your navigator and run it. As a bonus, you get an auto-indentation feature, Ctrl+Z, and the possibility to share the URL with your buddy. This is just one of those crazy things that you can do from a simple browser. + +### 9. [Copy.sh][17] ### + +[![](https://farm4.staticflickr.com/3883/14517479870_da521931eb_z.jpg)][18] + +In continuation with crazy things that you can do from your browser, copy.sh lets you run a virtual machine online. Just that. It gained fame relatively recently, but the idea is just insane. From the navigator you can select among the defaults virtual images to run, or upload your own iso file. The code for that feat has been shared on [GitHub][19]. Just amazing. + +### 10. [Commandlinefu.com][20] ### + +[![](https://farm4.staticflickr.com/3887/14517495938_ca3b831ca9_z.jpg)][21] + +We all keep a big snippet of command-line "gems" on our computer. commandlinefu's goal is to release those snippets to the world. As a collaborative database, it resembles the Wikipedia of the command line. Everyone is free to register and post their favorite command on the website for everyone else to see. You will then be able to access that knowledge from everywhere and share it with everyone. If you are interested in mastering the shell, commandlinefu also proposes great features like random commands and a news feed to learn something new every day. + +### 11. [Alias.sh][22] ### + +[![](https://farm4.staticflickr.com/3868/14701762124_a7b3547aca_z.jpg)][23] + +Another collaborative database, alias.sh (I love the URL) is a bit like commandlinefu but for shell aliases. You can share and discover useful aliases which will make your CLI experience so much better. I personally like the alias to get the dimensions of a picture. + + function dim(){ sips $1 -g pixelWidth -g pixelHeight } + +All the seconds you save with alias.sh probably accumulate with time, and turn to years by the end of your life. + +### 12. [Distrowatch.com][24] ### + +[![](https://farm3.staticflickr.com/2910/14681149996_50a45bff78_z.jpg)][25] + +Who does not know Distrowatch? Besides giving a precise ranking of Linux distributions based on their website popularity, Distrowatch is also a very useful database. Whether you are looking for a new distribution to try, or just curious, it presents an exhaustive account of every Linux you can find, with information like which default desktop environment it uses, or package system, or its default applications. And all the versions, and with easily accessible download links. In a word, the Linux database. + +### 13. [Linuxmanpages.com][26] ### + +[![](https://farm4.staticflickr.com/3911/14704165765_8e30cb3d3f_z.jpg)][27] + +Everything is in the URL: access the manual pages for popular commands from anywhere. Not really sure if this would actually be useful for Linux users as you can access that from your actual terminal, but the intent is remarkable. + +### 14. [AwesomeCow.com][28] ### + +[![](https://farm6.staticflickr.com/5558/14704165965_02b10ee293_z.jpg)][29] + +This is maybe a bit less hardcore Linux, but definitely useful to some. Awesomecow is a search engine for finding alternatives to Windows software on Linux. It can be helpful for anyone migrating to the penguin, or nostalgic of a Windows program. I see this as a strength, showing that Linux can compete with the professional spheres when it comes sot software quality. Or at least try to. + +### 15. [PenguSpy.com][30] ### + +[![](https://farm4.staticflickr.com/3904/14517495728_f6877e8e3b_z.jpg)][31] + +Before Steam started to show up on Linux, gaming was probably one of the penguin's weakness. But the website penguspy made the effort of fighting that weakness by collecting all Linux compatible games in a database with a sexy interface. Games can be sorted by categories, release dates, ratings, etc. I really hope that websites like this are not going to disappear because of Steam as it remains one of my favorites of this list. + +### 16. [Linux Cross Reference by Free Electrons][32] ### + +[![](https://farm4.staticflickr.com/3913/14712049464_6b666e2cfa_z.jpg)][33] + +Finally, for all the experts and the curious, lxr is the anagram from Linux Cross Reference, and allows us to interactively view the Linux Kernel code online. The navigation is made easy via identifiers, and you can compare the different versions of the files with a standard diff markup. The interface is sober and straight-forward, and this is just a website that perfectly illustrates the concept of open source. + +To conclude, there are a lot more websites which deserve to be listed, and this might be a topic for a part two to this post. But this is a good start. It serves as an appetizer to what can be found online as tools for Linux users. If you have any other pages that you would like to share, following this thematic, do so in the comments. And maybe contribute to a sequel to this list. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/useful-online-tools-linux.html + +原文作者:[Adrien Brochard][a](I am a Linux aficionado from France. After trying multiple distributions, I finally settled for Archlinux. But I am always trying to improve my system by stacking up tips and tricks.) + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://xmodulo.com/author/adrien +[1]:http://explainshell.com/ +[2]:https://www.flickr.com/photos/xmodulo/14517716647/ +[3]:http://bashrcgenerator.com/ +[4]:https://www.flickr.com/photos/xmodulo/14703872782/ +[5]:http://vim-adventures.com/ +[6]:https://www.flickr.com/photos/xmodulo/14681149696/ +[7]:https://try.github.io/ +[8]:https://www.flickr.com/photos/xmodulo/14517499739/ +[9]:https://www.shortcutfoo.com/ +[10]:https://www.flickr.com/photos/xmodulo/14517499799/ +[11]:https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md +[12]:https://www.flickr.com/photos/xmodulo/14517499989/ +[13]:http://collabedit.com/ +[14]:https://www.flickr.com/photos/xmodulo/14681150086/ +[15]:http://cpp.sh/ +[16]:https://www.flickr.com/photos/xmodulo/14700981001/ +[17]:http://copy.sh/v24/ +[18]:https://www.flickr.com/photos/xmodulo/14517479870/ +[19]:https://github.com/copy/v86 +[20]:http://www.commandlinefu.com/ +[21]:https://www.flickr.com/photos/xmodulo/14517495938/ +[22]:http://alias.sh/ +[23]:https://www.flickr.com/photos/xmodulo/14701762124/ +[24]:http://distrowatch.com/ +[25]:https://www.flickr.com/photos/xmodulo/14681149996/ +[26]:http://www.linuxmanpages.com/ +[27]:https://www.flickr.com/photos/xmodulo/14704165765/ +[28]:http://awesomecow.com/ +[29]:https://www.flickr.com/photos/xmodulo/14704165965/ +[30]:http://www.penguspy.com/ +[31]:https://www.flickr.com/photos/xmodulo/14517495728/ +[32]:http://lxr.free-electrons.com/ +[33]:https://www.flickr.com/photos/xmodulo/14712049464/ \ No newline at end of file From d4ceed4f9ab7f7d3eaa52ff767a2db129de4c523 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Thu, 24 Jul 2014 17:18:01 +0800 Subject: [PATCH 210/291] =?UTF-8?q?20140724-5=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rectory Trees in Linux using cp Command.md | 75 ++++++++++ ...l Google Docs on Linux with Grive Tools.md | 141 ++++++++++++++++++ 2 files changed, 216 insertions(+) create mode 100644 sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md create mode 100644 sources/tech/20140724 Install Google Docs on Linux with Grive Tools.md diff --git a/sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md b/sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md new file mode 100644 index 0000000000..5ae836c791 --- /dev/null +++ b/sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md @@ -0,0 +1,75 @@ +How to Merge Directory Trees in Linux using cp Command +================================================================================ +How to merge two directory trees with similar layout into a third directory? Let us consider the following example to understand the problem. + +Suppose two directories dir1 and dir2 have 3 sub-directories a, b and c in each of them. The directory layout is like below: + +![Layout of input directories](http://linoxide.com/wp-content/uploads/2014/07/01.merge_dir_layout.png) +Layout of input directories + +These directories a, b and c have some files in them. The output of tree command will illustrate better: + +![Layout of files](http://linoxide.com/wp-content/uploads/2014/07/02.merge_file_layout.png) +Layout of files + +### 1. Using cp to create merge: ### + +Now we want to merge these two directories into a third directory, say “merged”. +The simplest thing that you can do to achieve this is to copy recursively the directories like below: + +![Copy directories recursively to create new merge](http://linoxide.com/wp-content/uploads/2014/07/03.merge_cp_recursive.png) +Copy directories recursively to create new merge + +#### 1.1 Problem with cp command and alternative: #### + +The problem with this approach is that the files created inside merged directory are copy of original files, and not the original files themselves. But wait, (you might be asking yourself) what is the problem if the files are not original? So to answer your question, consider the situation where you have large number of bulky files. In that case, copying all the files might take hours. + +Now let’s get back and try the same with mv command instead of cp. + +![Attempt to merge with mv command](http://linoxide.com/wp-content/uploads/2014/07/04.merge_mv_recursive.png) +Attempt to merge with mv command + +The directories are not merged. So we cannot use mv command to merge directories like this. +Now how can you keep the original files inside “merged” directory? + +### 2. The solution: ### + +The cp command has a very useful option to draw us out of this situation. +The -l or --link option to cp aommand creates the hard links instead of copying the files themselves. Let us try with that. + +Before trying out the hard link option to cp command, let us print the inode number of the original files. +The tree command has option to print the inodes with --inodes option: + +![Display inodes of original files](http://linoxide.com/wp-content/uploads/2014/07/05.merge_display_inodes.png) +Display inodes of original files + +Now we have the inodes listed here, we can proceed to creating the hard links with --link option to cp command: + +![Merge directories with hard links](http://linoxide.com/wp-content/uploads/2014/07/06.merge_create_links.png) +Merge directories with hard links + +#### 2.1 Verify the files: #### + +Now the files are copied, let us verify if the inodes match with original files: + +![Verify Inodes](http://linoxide.com/wp-content/uploads/2014/07/07.merge_verify_inodes.png) +Verify Inodes + +#### 2.2 Cleanup: #### + +As you can see that the files have same inodes as original files. Now the problem is solved and we have the original files inside merged directory. We can now cleanup by removing the directories dir1 and dir2. + +![Remove original directories](http://linoxide.com/wp-content/uploads/2014/07/08.merge_cleanup.png) +Remove original directories + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/merge-directory-trees-linux/ + +原文作者:[Raghu][a] + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://linoxide.com/author/raghu/ \ No newline at end of file diff --git a/sources/tech/20140724 Install Google Docs on Linux with Grive Tools.md b/sources/tech/20140724 Install Google Docs on Linux with Grive Tools.md new file mode 100644 index 0000000000..45160b49d2 --- /dev/null +++ b/sources/tech/20140724 Install Google Docs on Linux with Grive Tools.md @@ -0,0 +1,141 @@ +Install Google Docs on Linux with Grive Tools +================================================================================ +Google Drive is two years old now and Google’s cloud storage solution seems to be still going strong thanks to its integration with Google Docs and Gmail. There’s one thing still missing though: a lack of an official Linux client. Apparently Google has had one floating around their offices for a while now, however it’s not seen the light of day on any Linux system. + +Thankfully, there is an alternative solution using Grive Tools. We’ve covered Grive once before when it was in its infancy, but it’s received a fair few upgrades since then thanks to Grive Tools and is now compatible with Fedora and OpenSUSE to cover a better selection of distros. Over the course of this tutorial, we’ll show you how to set up Grive Tools and get it syncing files to and from Google Drive on a regular basis, so your work is always perfectly backed up. With the death of Ubuntu One, it’s a great alternative to Canonical’s own cloud storage solution. + +![Accesss your backed up Linux files from anywhere with an internet connection by making use of the Drive connection](http://www.linuxuser.co.uk/wp-content/uploads/2014/07/griveanno.png) +Accesss your backed up Linux files from anywhere with an internet connection by making use of the Drive connection + +### Resources ### + +A Google account + +- [Grive Tools][1] + +### Step-by-step ### + +#### Step 01 Ubuntu repository #### + +Grive Tools is not included in Ubuntu or Ubuntu-based distros yet, so you’ll need to add a third-party repository to access it. Add this with: + + $ sudo add-apt-repository ppa:thefanclub/grive-tools + +Follow this up with the usual sudo apt-get update before we continue. + +#### Step 02 Ubuntu install #### + +After the apt-get update, Grive Tools will appear in the software centre. If you want to go there and install it you can, however as we already have a terminal open we might as well use: + + $ sudo apt-get install grive-tools + +#### Step 03 Fedora dependencies #### + +You’ll need to install some specific dependencies for OpenSUSE, Fedora and other RHEL-based distros. In Fedora specifically, open a terminal and install them with: + + $ sudo yum install json-c json-c-devel qt-devel boost-devel openssl-devel libxslt libcurl libcurl-devel + +The same packages will need to be installed on the other distros. + +#### Step 04 Grive package #### + +Grive is not in the repositories of any of +these distros, however binaries exist if you won’t want to build it from source. Go to RPMSEEK.com and search for Grive; look out for the version for your distro and download it. + +#### Step 05 Install the download #### + +Once downloaded, install the package; you can either do it graphical or install with: + + $ sudo yum install grive-tools-1.9.noarch.rpm + +After that, go to the Resources link for Grive Tools and locate the Fedora package on the website: download this binary and install it alongside Grive. + +#### Step 06 Start the setup #### + +The method to actually get Grive and Grive Tools working on both systems is basically the same, so we’ll cover both at once while mentioning any extras that need to be done for a specific distro. The first thing you’ll need to do is look for Grive Setup in your list of programs. + +#### Step 07 Log into your account #### + +If you haven’t already created a Google account, you’ll need to get one sorted now before continuing. Otherwise, click Next to bring up a browser that will point you towards Google and ask you to log in. Make sure you’re logged in to the correct email address before continuing. + +#### Step 08 Connect your account #### + +You’ll be asked if the specific info it can look at is okay – you’ll need to confirm to continue, otherwise it can’t download or sync your Drive data. It will then give you a code to paste into a pop-up that launched when the browser opened. + +#### Step 09 Code input #### + +Press Next for Grive to accept the code. It will automatically open up a new Google Drive window and show your files being synced straight to your PC. This may take a while depending on how much you have stored on your account. + +#### Step 10 Desktop notifications #### + +Once the sync is complete, search again for Grive in your programs and look for Google Drive Indicator. Click on this and it will automatically launch a Dropbox-style toolbar notifier for Google Drive. This is also similar to the kind of notifier on desktops with an official client. + +#### Step 11 Access Google Drive #### + +You can quick access the contents of your Google Drive by finding the app of the same name in your program list. It links straight to your folder for ease of access, so you can add it to favourites or quick bar if you wish. There’s also an option to open it from the notifier. + +#### Step 12 Drive options #### + +You can access syncing options from the indicator to make sure Grive works as you want it to. Access them by clicking on the toolbar icon and select preferences. A couple of options you’d probably want checked are ‘Start Drive when computer turns on’, and ‘On screen notifications’. + +#### Step 13 Auto-syncing #### + +Unlike the official clients, you cannot select which folders do and do not get synced on your client. Depending on how you plan to use it, you can turn on Auto-sync so that everything is synced up and down at all times, or you can turn it off and sync manually when everything is ready. + +#### Step 14 Large file tip #### + +Google Drive – not just Grive – always seems to have issues with uploading larger files. We suggest splitting them up into smaller files using split on a compressed file to make them all a specific size. You can do it in a terminal with: + + split -b 500m file.mp4 newfilename + +#### Step 15 File types #### + +One of the major things you may have noticed is which documents have and have not been downloaded by Grive. On the official clients, links will be added that can let you jump straight to pure Google Docs files, while files that are actually DOC, ODF or PDF will be downloaded outright to the system. Only the latter files are downloaded with Grive as they’re purely stored in the cloud on Drive. The upside is they’re properly stored locally and will still sync between the cloud and other systems. + +#### Step 16 Location #### + +Very simply, the Google Drive folder is kept in the home folder under Google Drive. If you’re using standard GNOME it’s actually opening the files in the GNOME file manager; for some reason it also does that in Unity and any non-GNOME desktop environment. + +#### Step 17 Backup to Grive #### + +One of the benefits of cloud storage for files is that the storage itself is off-site and difficult to lose. This makes it ideal for backing up other important documents and settings. The simplest and quickest way to do this is to periodically copy a file over to the Drive folder and watch it upload. + +#### Step 18 Better backup #### + +This is not the most efficient way to backup such files though; fortunately Linux comes with many tools to back up data that also includes backup scheduling thanks to cron. We’ll be using luckyBackup for this: find it in your package manager and install it. + +#### Step 19 Set up the backup #### + +Click Add to create a new task and name it however you wish. Keep the Type setting to ‘Backup Source inside Destination’, choose your Source and finally set the Destination as the Google Drive folder. Click OK to save it, followed by the checkbox next to the task to activate it. + +#### Step 20 First backup #### + +Click Run at the top to do the first backup operation. It will print out a verbose list of the files and operations and will inform you once it’s finished, along with any errors that occurred along the way. If you have automatic sync on, it will start uploading the backed up files to Drive. + +#### Step 21 Timed backup #### + +Click Done to return to the main menu. Click Profile followed by Schedule to bring up the scheduling dialog. The schedules are done by profiles, which can all contain a number of different backup tasks. Click Add to start creating a schedule for our Drive backup. + +#### Step 22 To schedule #### + +The schedule creates a cron job, so you can set it to occur on specific days of the week or specific months of the year and at what time the backup should occur. You can have it do so every hour at a specific minute past the hour if you need it to back up so frequently. + +#### Step 23 Reverse backup #### + +Google Drive helpfully keeps a record of past versions of files on its servers; however they do not extend forever. If you’re backing up or saving to the cloud you may want to consider creating a backup of the Drive files to your PC or network as well. + +#### Step 24 Driven #### + +While there are no official tools for Linux just yet, Grive and Grive Tools at least enable you to emulate what they should be relatively well. Look out for updates to Drive and Grive Tools to see if any new functions would work well for you. + +-------------------------------------------------------------------------------- + +via: http://www.linuxuser.co.uk/tutorials/install-google-docs-on-linux-with-grive-tools + +原文作者:Rob Zwetsloot + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.thefanclub.co.za/ \ No newline at end of file From 775021aab72c777369172eb06f5c602ced1a2f57 Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Thu, 24 Jul 2014 17:21:30 +0800 Subject: [PATCH 211/291] [translated] 20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md --- ...ox Linux Client Debuts New Qt Interface.md | 60 ------------------- ...ox Linux Client Debuts New Qt Interface.md | 59 ++++++++++++++++++ 2 files changed, 59 insertions(+), 60 deletions(-) delete mode 100644 sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md create mode 100644 translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md diff --git a/sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md b/sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md deleted file mode 100644 index 6c24dd2d5c..0000000000 --- a/sources/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md +++ /dev/null @@ -1,60 +0,0 @@ -zpl1025 -The Native Dropbox Linux Client Debuts New Qt Interface -================================================================================ -**The latest experimental build of the native Dropbox Linux client has debuted with an all new Qt interface.** - -Dropbox say that the UI rewrite, which will be used on both Windows and Linux, will fix a ‘large number’ of long-standing bugs, issues and glitches. The cross-platform toolkit is also set to improve general performance. - -Alongside an all new setup wizard and login screen (see below) is a handful of redesigned splash screens. - -![Login Screen ](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-qt-login.jpg) -Login Screen - -![Setup Screen](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-qt-set-up.jpg) -Setup Screen - -![Congratulations Screen ](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-qt-finished.jpg) -Congratulations Screen - -### Not Stable Yet ### - -Dropbox developers caution that since much of the new interface “is still rough around the edges” testers should expect to encounter various visual bugs while using it. The new UI does not yet work with accessibility tools like screen readers. - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-linux-clients-old-and-new.jpg) - -The new UI uses (for now) the stock Qt theme. This isn’t ugly per se, but it does look a little out of place on the Ubuntu desktop, especially compared to previous builds. Memory usage is also reportedly higher, in some cases jumping from 60MB when idle to more than 178MB. Those on low-end devices should resist the temptation to try this build — at least until this particular bug has been addressed. - -Full change log for Dropbox 2.11.0 (Experimental) for Linux: - -- Rewrite of the Windows & Linux UI in Qt -- File identifiers detect when files have been moved/renamed -- New setup/login experience -- Faster uploads for small files -- New splash screens - -### Download Dropbox Linux Build 2.11.x ### - -To try the experimental builds just download the correct archive for your system using the links below. - -- [Dropbox Experimental (64bit) Offline Linux Installer][1] -- [Dropbox Experimental (32bit) Offline Linux Installer][2] - -Once downloaded, extract the archive to your Home folder. It’s hidden by default, so using the Terminal, ‘`cd`‘ into the ‘`.dropbox-dist/dropbox-lnx`‘ folder and run ‘`./dropbox start`‘. - -Dropbox terminal navigation gif: - -![](http://i.imgur.com/5TeYXEm.gif) - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/07/dropbox-experimental-linux-build-qt-rewrite - -原文作者:[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://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86_64-2.11.0.tar.gz -[2]:https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86-2.11.0.tar.gz diff --git a/translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md b/translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md new file mode 100644 index 0000000000..06fc72d884 --- /dev/null +++ b/translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md @@ -0,0 +1,59 @@ +Dropbox原生Linux客户端首次展示QT界面 +================================================================================ +**Dropbox原生Linux客户端的最新试验版首次展示了全新的QT界面。** + +Dropbox表示这次的UI重写,将同时应用到Windows和Linux,将修复“大量”长期遗留下来的错误和问题。这个跨平台的工具也将整体提升性能。 + +在全新的设置向导和登录界面(见下面的图片)旁边是几个重新设计过的启动画面。 + +![Login Screen ](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-qt-login.jpg) +登录界面 + +![Setup Screen](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-qt-set-up.jpg) +设置界面 + +![Congratulations Screen ](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-qt-finished.jpg) +欢迎界面 + +### 目前还不稳定 ### + +Dropbox开发人员提醒参与测试的人,目前大部分新界面“还很粗糙”,在使用中可能会碰到大量的界面问题。新界面还不能配合一些辅助工具一起工作,例如屏幕阅读器。 + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/dropbox-linux-clients-old-and-new.jpg) + +新UI使用了(目前)系统自带的QT界面主题。它本身也不算很丑,不过在Ubuntu桌面上看起来不怎么合适,特别是和之前的版本比较。据说内存占用也变多了,在空闲情况下有时候会从60MB一下子跳到178MB。那些使用低端设备的人应该忍耐一下试用这个版本的诱惑-至少在这个特别的问题解决之后。 + +Dropbox 2.11.0 (Experimental) for Linux的完整改动日志: + +- 用QT重写了Windows & Linux界面 +- 在移动和重命名文件后会尝试识别 +- 新的设置/登录体验 +- 更快上传小文件 +- 新的启动画面 + +### 下载Dropbox Linux Build 2.11.x ### + +想尝鲜的话,可以通过下面的链接下载和你系统对应的安装包。 + +- [Dropbox Experimental (64bit) Offline Linux Installer][1] +- [Dropbox Experimental (32bit) Offline Linux Installer][2] + +下载完后,解压到主目录。它默认是隐藏的,所以打开终端,’`cd`‘到‘`.dropbox-dist/dropbox-lnx`‘目录下,然后运行‘`./dropbox start`‘。 + +演示Dropbox终端操作的gif动画: + +![](http://i.imgur.com/5TeYXEm.gif) + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/dropbox-experimental-linux-build-qt-rewrite + +原文作者:[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://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86_64-2.11.0.tar.gz +[2]:https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86-2.11.0.tar.gz From fb0295fe7d01994147c621046778da1bbcb923df Mon Sep 17 00:00:00 2001 From: Frank Zhang Date: Thu, 24 Jul 2014 17:26:13 +0800 Subject: [PATCH 212/291] my fingerprint....... --- ...2 The Native Dropbox Linux Client Debuts New Qt Interface.md | 2 +- translated/tech/20140624 Super Pi Brothers.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md b/translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md index 06fc72d884..c053a674ff 100644 --- a/translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md +++ b/translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md @@ -50,7 +50,7 @@ via: http://www.omgubuntu.co.uk/2014/07/dropbox-experimental-linux-build-qt-rewr 原文作者:[Joey-Elijah Sneddon][a] -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[zpl1025](https://github.com/zpl1025) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20140624 Super Pi Brothers.md b/translated/tech/20140624 Super Pi Brothers.md index d413095654..46630e216c 100644 --- a/translated/tech/20140624 Super Pi Brothers.md +++ b/translated/tech/20140624 Super Pi Brothers.md @@ -62,7 +62,7 @@ RetroPie安装文档:[https://github.com/petrockblog/RetroPie-Setup][2] via: http://www.linuxjournal.com/content/super-pi-brothers -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[zpl1025](https://github.com/zpl1025) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From c0393d58d17b1dd3531f1ddb4a2b1310ae7891fb Mon Sep 17 00:00:00 2001 From: limox Date: Thu, 24 Jul 2014 19:33:12 +0800 Subject: [PATCH 213/291] 01-The history of Android translate completed --- .../01 - The history of Android.md | 204 ------------------ .../talk/01 - The history of Android.md | 201 +++++++++++++++++ 2 files changed, 201 insertions(+), 204 deletions(-) delete mode 100644 sources/talk/The history of Android/01 - The history of Android.md create mode 100644 translated/talk/01 - The history of Android.md diff --git a/sources/talk/The history of Android/01 - The history of Android.md b/sources/talk/The history of Android/01 - The history of Android.md deleted file mode 100644 index bbf93d8b7c..0000000000 --- a/sources/talk/The history of Android/01 - The history of Android.md +++ /dev/null @@ -1,204 +0,0 @@ -alim0x translating - -The history of Android -================================================================================ -> Follow the endless iterations from Android 0.5 to Android 4.4. - -![Android's home screen over the years.](http://cdn.arstechnica.net/wp-content/uploads/2014/03/its-been-quite-a-journey1.jpg) -Android's home screen over the years. -Photo by Ron Amadeo - -Android has been with us in one form or another for more than six years. During that time, we've seen an absolutely breathtaking rate of change unlike any other development cycle that has ever existed. When it came time for Google to dive in to the smartphone wars, the company took its rapid-iteration, Web-style update cycle and applied it to an operating system, and the result has been an onslaught of continual improvement. Lately, Android has even been running on a previously unheard of six-month development cycle, and that's slower than it used to be. For the first year of Android’s commercial existence, Google was putting out a new version every two-and-a-half months. - -注:youtube视频地址开始 - - -Google's original introduction of Android, from way back in November 2007. -注:youtube视频地址结束 - -The rest of the industry, by comparison, moves at a snail's pace. Microsoft updates its desktop OS every three to five years, and Apple is on a yearly update cycle for OS X and iOS. Not every update is created equal, either. iOS has one major design revision in seven years, and the newest version of Windows Phone 8 looks very similar to Windows Phone 7. On Android, however, users are lucky if anything looks the same this year as it did last year. The Play Store, for instance, has had five major redesigns in five years. For Android, that's normal. - -Looking back, Android's existence has been a blur. It's now a historically big operating system. Almost a billion total devices have been sold, and 1.5 million devices are activated per day—but how did Google get here? With this level of scale and success, you would think there would be tons of coverage of Android’s rise from zero to hero. However, there just isn’t. Android wasn’t very popular in the early days, and until Android 4.0, screenshots could only be taken with the developer kit. These two factors mean you aren’t going to find a lot of images or information out there about the early versions of Android. - -The problem now with the lack of early coverage is that *early versions of Android are dying*. While something like Windows 1.0 will be around forever—just grab an old computer and install it—Android could be considered the first cloud-based operating system. Many features are heavily reliant on Google’s servers to function. With fewer and fewer people using old versions of Android, those servers are being shut down. And when a cloud-reliant app has its server support shut off, it will never work again—the app crashes and displays a blank screen, or it just refuses to start. - -Thanks to this “[cloud rot][1]," an Android retrospective won’t be possible in a few years. Early versions of Android will be empty, broken husks that won't function without cloud support. While it’s easy to think of this as a ways off, it's happening right now. While writing this piece, we ran into tons of apps that no longer function because the server support has been turned off. Early clients for Google Maps and the Android Market, for instance, are no longer able to communicate with Google. They either throw an error message and crash or display blank screens. Some apps even worked one week and died the next, because Google was actively shutting down servers during our writing! - -To prevent any more of Android's past from being lost to the annals of history, we did what needed to be done. This is 20+ versions of Android, seven devices, and lots and lots of screenshots cobbled together in one space. This is The History of Android, from the very first public builds to the newest version of KitKat. - -注:下面一块为文章链接列表,发布后可以改为发布后的地址 ----------- - -### Table of Contents ### - -- [Android 0.5 Milestone 3—the first public build][10] -- [Android 0.5 Milestone 5—the land of scrapped interfaces][11] -- [Android 0.9 Beta—hey, this looks familiar!][12] -- [Android 1.0—introducing Google Apps and actual hardware][13] -- [Android 1.1—the first truly incremental update][14] -- [Android 1.5 Cupcake—a virtual keyboard opens up device design][15] -- ----[Google Maps is the first built-in app to hit the Android Market][16] -- [Android 1.6 Donut—CDMA support brings Android to any carrier][17] -- [Android 2.0 Éclair‎—blowing up the GPS industry][18] -- [The Nexus One—enter the Google Phone][19] -- [Android 2.1—the discovery (and abuse) of animations][20] -- ----[Android 2.1, update 1—the beginning of an endless war][21] -- [Android 2.2 Froyo—faster and Flash-ier][22] -- ----[Voice Actions—a supercomputer in your pocket][23] -- [Android 2.3 Gingerbread—the first major UI overhaul][24] -- [Android 3.0 Honeycomb—tablets and a design renaissance][25] -- ----[Google Music Beta—cloud storage in lieu of a content store][26] -- [Android 4.0 Ice Cream Sandwich—the modern era][27] -- ----[Google Play and the return of direct-to-consumer device sales][28] -- [Android 4.1 Jelly Bean—Google Now points toward the future][29] -- ----[Google Play Services—fragmentation and making OS versions (nearly) obsolete][30] -- [Android 4.2 Jelly Bean—new Nexus devices, new tablet interface][31] -- ----[Out-of-cycle updates—who needs a new OS?][32] -- [Android 4.3 Jelly Bean—getting wearable support out early][33] -- [Android 4.4 KitKat—more polish; less memory usage][34] -- [Today Android everywhere][35] - ----------- - -### Android 0.5, Milestone 3—the first public build ### - -Before we go diving into Android on real hardware, we're going to start with the early, early days of Android. While 1.0 was the first version to ship on hardware, there were several beta versions only released in emulator form with the SDK. The emulators were meant for development purposes only, so they don’t include any of the Google Apps, or even many core OS apps. Still, they’re our best look into the pre-release days of Android. - -![The emulator’s default qwerty-bar layout running the Milestone 3 build.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/blackberrrry.png) -The emulator’s default qwerty-bar layout running the Milestone 3 build. -Photo by Ron Amadeo - -Before whimsical candy code names and [cross-promotional deals with multinational food corporations][2], the first public release of Android was labeled "m3-rc20a"—"m3" standing for "Milestone 3." While Google may not have publicized the version number—and this build didn't even have a settings app to check—the browser user agent identifies this as "Android 0.5." - -In November 2007, two years after Google acquired Android and five months after the launch of the iPhone, [Android was announced][3], and the first emulator was released. Back then, the OS was still getting its feet under it. It was easily dismissed as "just a BlackBerry clone." The emulator used a qwerty-bar skin with a 320x240 display, replicating an [actual prototype device][4]. The device was built by HTC, and it seems to be the device that was codenamed "Sooner" according to many early Android accounts. But the Sooner was never released to market. - -[According to accounts][5] of the early development days of Android, when Apple finally showed off its revolutionary smartphone in January 2007, Google had to "start over" with Android—including scrapping the Sooner. Considering the Milestone 3 emulator came out almost a year after Apple's iPhone unveiling, it's surprising to see the device interface still closely mimicked the Blackberry model instead. While work had no doubt been done on the underlying system during that year of post-iPhone development, the emulator still launched with what was perceived as an "old school" interface. It didn't make a good first impression. - -At this early stage, it seems like the Android button layout had not been finalized yet. While the first commercial Android devices would use “Home," “Back," “Menu," and “Search" as the standard set of buttons, the emulator had a blank space marked as an "X" where you would expect the search button to be. The “Sooner" hardware prototype was even stranger—it had a star symbol as the fourth button. - -![From left to right: the home screen, an open notification, and the “apps" folder.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/noti3.png) -From left to right: the home screen, an open notification, and the “apps" folder. -Photo by Ron Amadeo - -There was no configurable home screen or widgets, just a simple dock of icons at the bottom that could be cycled through or tapped on. While touch screen support worked for some features, Milestone 3 was primarily controlled with a five-way d-pad—an anachronism that Android still supports to this day. Even this early version of Android could do animations. Icons would grow and shrink as they entered and exited the dock’s center window. - -There was no notification panel yet, either. Notification icons showed up in the status bar (shown above as a smiley face), and the only way to open them was to press "up" on the d-pad while on the home screen. You couldn't tap on the icon to open it, nor could you access notifications from any screen other than home. When a notification was opened, the status bar expanded slightly, and the text of the notification appeared in a speech bubble. Once you had a notification, there was no manual way to clear it—apps were responsible for clearing their own notifications. - -App drawer duties were handled by a simple "Applications" folder on the left of the dock. Despite having a significant amount of functions, the Milestone 3 emulator was not very forthcoming with app icons. "Browser," "Contacts," and "Maps" were the only real apps here. Oddly, "recent calls" was elevated to a standalone icon. Because this was just an emulator, icons for core smartphone functionality were missing, like alarm, calendar, dialer, calculator, camera, gallery, and settings. Hardware prototypes demoed to the press had [many of these][6], and there was a suite of Google Apps up and running by this point. Sadly, there’s no way for us to look at them. They’re so old they can't connect to Google’s servers now anyway. - -![Milestone 3's menu system in the browser, the wallpaper interface, and the volume control.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/menu.png) -Milestone 3's menu system in the browser, the wallpaper interface, and the volume control. -Photo by Ron Amadeo - -The now-deprecated menu system was up and running in Milestone 3. Hitting the hardware menu button brought up a gray list with a blue gradient highlight, complete with hardware keyboard shortcuts. In the screenshot above, you can see the menu open in the browser. Going to a second level, like the zoom menu, turned the first level of the menu oddly transparent. - -Surprisingly, multitasking and background applications already worked in Milestone 3. Leaving an app didn't close it—apps would save state, even down to text left in a text box. This was a feature iOS wouldn’t get around to matching until the release of iOS 4 in 2010, and it really showed the difference between the two platforms. iOS was originally meant to be a closed platform with no third-party apps, so the platform robustness wasn’t a huge focus. Android was built from the ground up to be a powerful app platform, and ease of app development was one of the driving forces behind its creation. - -Before Android, Google was already making moves into mobile with [WAP sites][7] and [J2ME flip phone apps][8], which made it acutely aware of how difficult mobile development was. According to [The Atlantic][9], Larry Page once said of the company’s mobile efforts “We had a closet full of over 100 phones, and we were building our software pretty much one device at a time.” Developers often complain about Android fragmentation now, but the problem was much, much worse before the OS came along. - -Google’s platform strategy eventually won out, and iOS ended up slowly adding many of these app-centric features—multitasking, cross-app sharing, and an app switcher—later on. - -![The dialer screen that pops up when you press numbers on the home screen, an incoming call, and the call conferencing interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/call10000.png) -The dialer screen that pops up when you press numbers on the home screen, an incoming call, and the call conferencing interface. -Photo by Ron Amadeo - -Despite not having a dialer icon, Milestone 3 emulator was equipped with a way to make phone calls. Pressing anything on the keyboard would bring up the screen on the left, which was a hybrid dialer/contact search. Entering only numbers and hitting the green phone hardware button would start a phone call, and letters would search contacts. Contacts were not searchable by number, however. Even a direct hit on a phone number would not bring up a contact. - -Incoming calls were displayed as an almost-full-screen popup with a sweet transparent background. Once inside a call, the background became dark gray, and Milestone 3 presented the user with a surprisingly advanced feature set: mute, speakerphone, hold, and call conferencing buttons. Multiple calls were presented as overlapping, semi-transparent cards, and users had options to swap or merge calls. Swapping calls triggered a nice little card shuffle animation. - -![The contacts list, an individual contact, editing a contact, and the recent calls screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/recent100.png) -The contacts list, an individual contact, editing a contact, and the recent calls screen. -Photo by Ron Amadeo - -Contacts was a stark, black and blue list of names. Contact cards had a spot for a contact picture but couldn't assign one to the space (at least in the emulator). The only frill in this area was XMPP presence dots to the left of each name in Contacts. An always-on XMPP connection has traditionally been at the heart of Android, and that deep integration already started in Milestone 3. Android used XMPP to power a 24/7 connection to Google’s servers, powering Google Talk, cloud-to-device push messaging, and app install and uninstall messages. - -![The browser’s fake Google homepage, the address bar, and the history interface.](http://cdn.arstechnica.net/wp-content/uploads/2013/11/browser3.png) -The browser’s fake Google homepage, the address bar, and the history interface. -Photo by Ron Amadeo - -The browser ran Webkit 419.3, which put it in the same era as Mac OS X 10.4's Safari 2. The homepage was not Google.com, but a hard-coded home.html file included with Android. It looked like Google.com from a thousand years ago. The browser's OS X heritage was still visible, rendering browser buttons with a glossy, Aqua-style search button. - -The tiny BlackBerry-style screen necessitated a separate address bar, which was brought up by a "go to" option in the browser's menu. While autocomplete didn't work, the address bar live searched your history as you typed. The picture on the right was the History display, which used thumbnails to display each site. The current thumbnail was in front of the other two, and scrolling through them triggered a swooping animation. But at this early stage, the browser didn’t support multiple tabs or windows—you had the current website, and that was it. - -![A video-screengrab-derived Google Maps Photoshop, the directions interface, and the gallery test view.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/maps.png) -A video-screengrab-derived Google Maps Photoshop, the directions interface, and the gallery test view. -Photo by Ron Amadeo - -From the beginning, Google knew maps would be important on mobile, even shipping a Maps client on the Milestone 5 emulator. That version of Google Maps was the first thing we came across that died from cloud rot. The client can't load information from Google’s servers, so the map displayed as a blank, gray grid. Nothing works. - -Luckily, for the first screenshot above, we were able to piece together an accurate representation from the Android launch video. Old Google Maps seemed fully prepared for a non-touch device, listing hardware key shortcuts along the bottom of the screen. It’s unclear if places worked, or if Maps only ran on addresses at this point. - -Hidden behind the menu were options for search, directions, and satellite and traffic layers. The middle screenshot is of the directions UI, where you could even pick a contact address as a start or end address. Maps lacked any kind of GPS integration, however; you can't find a "my location" button anywhere. - -While there was no proper gallery, on the right is a test view for a gallery, which was hidden in the "API Demos" app. The pictures scrolled left and right, but there was no way to open photos to a full screen view. There were no photo management options either. It was essentially a test of a scrolling picture view. - -![The time picker and calendar, with ridiculous kerning issues, and the vertical list test, featuring Ars.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/datetimeshoutout.png) -The time picker and calendar, with ridiculous kerning issues, and the vertical list test, featuring Ars. -Photo by Ron Amadeo - -There was also no settings app, but we can look at the original time and date pickers, thanks to the API Demos. This demonstrates how raw a lot of Android was: kerning issues all over the place, a huge gap in between the minute digits, and unevenly spaced days of the week on the calendar. While the time picker let you change each digit independently, there was no way to change months or years other than moving the day block out of the current month and on to the next or previous month. - -Keep in mind that while this may seem like dinosaur remnants from some forgotten era, this was only released six years ago. We tend to get used to the pace of technology. It's easy to look back on stuff like this and think that it was from 20 years ago. Compare this late-2007 timeframe to desktop OSes, and Microsoft was trying to sell Windows Vista to the world for almost a year, and Apple just released OS X 10.5 Leopard. - -One last Milestone 3 detail: Google gave Ars Technica a shoutout in the Milestone 3 emulator. Opening the “API Demos" app and going to "Views," "Focus," then "Vertical" revealed a test list headlined by *this very Website*. - -![The new emulator skin that comes with Milestone 3, RC37a, which uses a more modern, all-touchscreen style.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/bigscreen.png) -The new emulator skin that comes with Milestone 3, RC37a, which uses a more modern, all-touchscreen style. - -Photo by Ron Amadeo - -Two months later, in December 2007, Google released an update for the Milestone 3 emulator that came with a much roomier 480×320 device configuration. This was tagged "m3-rc37a." The software was still identical to the BlackBerry build, just with much more screen real estate available. - ----------- - -![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) - -[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. - -[@RonAmadeo][t] - --------------------------------------------------------------------------------- - -via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://arstechnica.com/gadgets/2014/06/how-we-found-and-installed-every-version-of-android/ -[2]:http://arstechnica.com/gadgets/2013/09/official-the-next-edition-of-android-is-kitkat-version-4-4/ -[3]:http://arstechnica.com/gadgets/2007/11/its-official-google-announces-open-source-mobile-phone-os-android/ -[4]:http://www.zdnet.com/blog/mobile-gadgeteer/mwc08-hands-on-with-a-working-google-android-device/860 -[5]:http://www.theatlantic.com/technology/archive/2013/12/the-day-google-had-to-start-over-on-android/282479/ -[6]:http://www.letsgomobile.org/en/2974/google-android/ -[7]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/%E2%80%9D -[8]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/%E2%80%9D -[9]:http://www.theatlantic.com/technology/archive/2013/12/the-day-google-had-to-start-over-on-android/282479/ -[10]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/1/#milestone3 -[11]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/2/#milestone5 -[12]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/3/#0.9 -[13]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/6/#1.0 -[14]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/7/#1.1 -[15]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/8/#cupcake -[16]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/9/#Mapsmarket -[17]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/9/#donut -[18]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/10/#2.0eclair -[19]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/11/#nexusone -[20]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/12/#2.1eclair -[21]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/13/#alloutwar -[22]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/13/#froyo -[23]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/14/#voiceactions -[24]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/14/#gingerbread -[25]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/16/#honeycomb -[26]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/19/#music -[27]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/19/#ics -[28]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#googleplay -[29]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#4.1jellybean -[30]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#playservices -[31]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/22/#4.2jellybean -[32]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/23/#outofcycle -[33]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/24/#4.3jellybean -[34]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/25/#kitkat -[35]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/26/#conclusion -[a]:http://arstechnica.com/author/ronamadeo -[t]:https://twitter.com/RonAmadeo diff --git a/translated/talk/01 - The history of Android.md b/translated/talk/01 - The history of Android.md new file mode 100644 index 0000000000..c312a38551 --- /dev/null +++ b/translated/talk/01 - The history of Android.md @@ -0,0 +1,201 @@ +安卓编年史 +================================================================================ +> 让我们跟着安卓从0.5版本到4.4的无尽迭代来看看它的发展历史。 + +![这些年来历代安卓的主屏幕。](http://cdn.arstechnica.net/wp-content/uploads/2014/03/its-been-quite-a-journey1.jpg) +这些年来历代安卓的主屏幕。 +图片提供:Ron Amadeo + +安卓已经以不止一种形式陪伴了我们六年以上。在这段时间内,我们已经看到了不同于任何已有开发周期的,绝对惊人变化速度。当Google卷入智能手机的战场中时,它拿出了它的快速迭代,Web风格的更新周期,把它们应用到了开发的这个操作系统之中,而结果就是突击式的持续改进。近来,安卓项目甚至以前所未闻的六个月开发周期在运行,这可比它之前的开发周期慢。在安卓的第一年商业运作时,Google每两个半月就会发布一个新版本。 + +注:youtube视频地址开始 + + +Google在2007年11月时对安卓最初的介绍。 +注:youtube视频地址结束 + +同行业的其它公司和其相比,只能是以蜗牛的步伐在缓慢前进。微软每三到五年升级它的桌面操作系统,苹果对OS X和iOS以一年为一个更新周期。另外不是每个更新都是同等地位的。iOS在七年内有一个主要的设计上的大变动,而最新的Windows Phone 8看起来和Windows Phone 7十分相似。但在安卓上,如果用户能看到今年的任何东西看起来和去年一样,那简直是中彩票了一样。比如Play商店,五年内有五次的重新设计。对安卓来说那更是家常便饭。 + +回头看看,安卓的存在是很模糊的。从其历史来看,现在它是个使用量巨大的操作系统。近十亿的设备销量,以及每天一百五十万左右的激活量——但Google是如何达到这种地步的?安卓现在如此水平的规模和成功,可能会让你觉得安卓从零开始到万众瞩目的英雄中覆盖到了方方面面。但事实上不是这样的。安卓在早期并不流行,以及直到安卓4.0屏幕截图还只能通过开发者工具实现。这两个因素意味着你无法轻易找到许多安卓早期版本的图片或信息。 + +对于早期版本的缺乏覆盖问题现在称作*安卓早期版本正在消亡*。尽管像Windows 1.0这样的系统可以永远在你身边——只要找台旧电脑把它装上去就好了——安卓可以被认为是第一个基于云的操作系统。许多功能严重依赖Google的服务来实现。随着越来越少的人使用老版本的安卓,那些服务被逐渐关闭。当一个依赖云的应用其服务支持停止之后,它再也不能正常运作——应用崩溃并显示空白的屏幕,或直接无法启动。 + +正是由于这种“[云腐烂][1]”现象,安卓回顾展在几年内不可能出现。早期版本的安卓没有了云的支持会是一个不能正常工作的破碎的空壳。尽管可以简单地认为这是早期版本安卓渐渐消失的一种方法,但这正是正在发生的。就在写到这里的时候,正有无数的应用因为服务器支持被关闭而失去作用。例如早期的谷歌地图和安卓市场客户端,已经不能和Google服务器交互。它们会弹出错误消息并崩溃或者是显示一个空白的界面。有些应用甚至在一个星期正常运行然后下个星期就宣告死亡,因为就在我们写下这篇文章的时候谷歌正在积极地关闭服务器! + +为了防止在滚滚历史里丢失掉更多关于安卓的过去,我们做了需要完成的工作。这里有20+个版本的安卓,七台设备,以及无数的屏幕截图被集合到一起。这就是安卓编年史,从最早的公开版本到罪行的KitKat。 + +注:下面一块为文章链接列表,发布后可以改为发布后的地址 +---------- + +### 目录 ### + +- [Android 0.5 Milestone 3——第一个公开版本][10] +- [Android 0.5 Milestone 5——报废接口的领地][11] +- [Android 0.9 Beta——嘿,这看起来很眼熟!][12] +- [Android 1.0——谷歌应用的引入和实体硬件][13] +- [Android 1.1——第一个真正的增量更新][14] +- [Android 1.5 Cupcake——虚拟键盘打开设备设计的大门][15] +- ----[谷歌地图———登陆安卓市场的第一个内置应用][16] +- [Android 1.6 Donut——CDMA支持将安卓带给了各个运营商][17] +- [Android 2.0 Éclair‎——带动GPS产业][18] +- [The Nexus One——迎来Google Phone][19] +- [Android 2.1——动画的大发现(以及滥用)时代][20] +- ----[Android 2.1, update 1——无尽战争的开端][21] +- [Android 2.2 Froyo——更快更华丽][22] +- ----[语音操作——口袋里的超级电脑][23] +- [Android 2.3 Gingerbread——第一个UI大变][24] +- [Android 3.0 Honeycomb——平板和设计的新生][25] +- ----[Google Music Beta——云存储的内容库][26] +- [Android 4.0 Ice Cream Sandwich——摩登时代][27] +- ----[Google Play以及直接面向消费者销售设备的回归][28] +- [Android 4.1 Jelly Bean——Google Now指明未来][29] +- ----[Google Play服务——碎片化以及让系统版本(几乎)过时][30] +- [Android 4.2 Jelly Bean——新Nexus设备,新平板界面][31] +- ----[周期外更新——谁需要一个新系统?][32] +- [Android 4.3 Jelly Bean——为可穿戴设备做好准备][33] +- [Android 4.4 KitKat——更完美;更少的内存占用][34] +- [今日安卓无处不在][35] + +---------- + +### Android 0.5, Milestone 3——第一个公开版本 ### + +在我们开始在实体硬件上研究安卓之前,我们要从很早,很早以前的安卓时光开始说起。尽管1.0是第一个运行在实体硬件上的版本,但在那之前其实还有若干个只随SDK发布的模拟器beta版本。这些模拟器只用于开发的目的,所以它们不含任何谷歌应用,甚至是一些核心系统应用。但它们仍然是回顾安卓的发布前时光的最好渠道。 + +![模拟器默认的qwerty布局并运行Milestone 3。](http://cdn.arstechnica.net/wp-content/uploads/2013/11/blackberrrry.png) +模拟器默认的qwerty布局并运行Milestone 3。 +Ron Amadeo供图 + +在异想天开的糖果版本代号和[与跨国食品公司跨界合作][2]之前,第一个安卓的公开发布版本的标签是“m3-rc20a”——“m3”代表“Milestone 3(里程碑3)”。尽管谷歌可能不会公布版本号——这个版本甚至没有一个设置应用来查看——浏览器用户标识识别为“Android 0.5”。 + +在2007年11月,谷歌获得安卓两年,iPhone发布五个月之后,[安卓正式发布][3],第一个模拟器正式释出。回到那时候看,这个系统才刚处于起步阶段。它很容易就被认为“只是个黑莓的山寨而已”。模拟器使用了一个qwerty布局的皮肤以及320×240的显示屏,是一台[原型设备][4]的复制品。这台设备由HTC制造,通过一些早期的安卓账户可以得知这台设备的代号似乎是“Sooner”。但是Sooner从未正式上市。 + +通过安卓早期[开发账号][5]得知,当苹果在2007年1月最终发布它革命性的智能手机后,谷歌不得不对安卓“从头来过”——包括放弃Sooner。考虑到Milestone 3模拟器在苹果的iPhone后近一年才推出,设备界面看起来还是那么像黑莓的模型是在是令人惊奇的事情。尽管在iPhone发布后的开发里任务毫无疑问地在优先保障下完成了,但模拟器仍然以被认为是“旧学院风”的界面发布。这使得它没能给人留下一个好的第一印象。 + +在早期阶段,安卓按键布局看起来并没有最终确定下来。尽管第一台商业安卓设备使用了“主屏幕”,“后退”,“菜单”以及“搜索”作为标准的按键套件,模拟器上有一个空白的标记为“X”的键,你可能会认为是那是搜索键应该在的地方。“Sooner”原型机看起来更奇怪——它在第四个键上有个星形标记。 + +![从左到右:主屏幕,一个打开的通知,以及“应用”文件夹。](http://cdn.arstechnica.net/wp-content/uploads/2013/11/noti3.png) +从左到右:主屏幕,一个打开的通知,以及“应用”文件夹。 +Ron Amadeo供图 + +在这里没有可以配置的主屏幕或小插件,仅仅只是简单的在底部有聚合图标的dock,可以循环或是点击。尽管已经有一些特性支持触摸屏,Milestone 3主要还是使用五向十字键——一个时至今日安卓仍然支持的不合时宜的设计。甚至早期的安卓都能够实现动画效果。图标在进入dock的中心窗口时会变大或缩小。 + +在这时候一样也还没有通知栏。通知图标显示在顶部状态栏(上面图片中的微笑标志),打开它的唯一方法是在主屏幕按下十字键的上键。你无法通过点击微笑的图标来打开它,也无法从除主屏幕以外的地方打开通知。当通知被打开的时候,状态栏些许地扩展开,通知文本会显示在一个聊天气泡中。一旦你阅读完通知,你无法手动清除它——应用本身负责清除它的通知消息。 + +应用抽屉的职责由一个dock左侧简单的“应用程序”文件夹负责。尽管有着不少标志性的功能,Milestone 3模拟器应用图标还不是十分完善。只有“浏览器”,“联系人” ,以及“地图”是这里面真正的应用。奇怪的是,“最近通话”被提升为一个独立的图标。因为这仅仅只是个模拟器,像闹钟,日历,拨号,计算器,照相机,相册,以及设置这样的智能手机核心功能的图标统统没有。硬件原型倒是有[其中的大部分][6],它还有一套谷歌应用出现并运行着。不幸的是我们没办法看到它们了。它们已经老到无论如何都连不上谷歌的服务器了。 + +![Milestone 3的浏览器菜单系统,壁纸界面,以及音量控制。](http://cdn.arstechnica.net/wp-content/uploads/2013/11/menu.png) +Milestone 3的浏览器菜单系统,壁纸界面,以及音量控制。 +Ron Amadeo供图 + +这套现在已经过时的菜单系统出现并运行在Milestone 3上。点击实体菜单键会打开一个灰色带有蓝色梯度高亮的列表,通过实体键盘完成操作。在上面的截图中,你可以看到在浏览器中打开的菜单。进入二级菜单,像缩放菜单,一级菜单变成有些奇怪的透明状态。 + +令人惊喜的是,多任务及后台应用在Milestone 3上已经可以运作了。离开应用而不关闭它——应用会保存状态,甚至写入文本保存。这个特性iOS直到2010年推出iOS 4才能与其相比,这就真正显示出了这两个平台的不同。iOS最初是作为一个封闭的平台而没有第三方应用,所以平台的鲁棒性并没有得到很大的关注。安卓是从头开始被构建成一个强大的应用软件平台,轻松开发应用是它创造出来背后的推动力之一。 + +在安卓之前,谷歌已经通过[WAP网站][7]和[J2ME手机应用][8]向移动端开始迁移,这使得它们强烈地意识到移动开发的难度。据[The Atlantic][9],拉里佩奇曾这么描述公司在移动端的努力“我们有一系列超过100台手机,我们在每一台设备上都要构建一次我们的应用”。开发者们现在经常抱怨安卓的碎片化,但在安卓出现之前,问题要比现在糟糕很多。 + +谷歌的平台战略实际上胜出了,iOS最终在不久后开始慢慢加入这些围绕应用的特性——多任务,跨应用分享,以及应用切换。 + +![当你在主屏幕按数字键弹出的拨号界面,来电,以及电话会议界面。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/call10000.png) +当你在主屏幕按数字键弹出的拨号界面,来电,以及电话会议界面。 +Ron Amadeo供图 + +尽管没有拨号图标,Milestone 3模拟器还是有办法拨号。按键盘上的任意键会打开左侧界面,这是拨号/联系人搜索混合界面。仅输入数字并点击绿色的实体拨号键来开始通话,输入字母会搜索联系人。但是联系人无法通过数字搜索。甚至直接点击一个号码也不会打开联系人。 + +来电被显示成一个几乎全屏的令人愉快的透明背景弹窗。一旦进入通话,背景会变成深灰色,Milestone 3展现给用户一些令人惊奇的高级特性:静音,扬声器,保持,以及电话会议按钮。多方通话会显示成重叠,半透明的卡片状,用户有切换或者合并通话的选项可以选择。切换通话会触发一个漂亮的小卡片洗牌动画。 + +![联系人列表,打开一个联系人,编缉联系人,以及最近通话界面。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/recent100.png) +联系人列表,打开一个联系人,编缉联系人,以及最近通话界面。 +Ron Amadeo供图 + +联系人是一个质朴的,黑色和蓝色的姓名列表。联系人卡片中有个联系人头像的位置但是没办法设置一张图像上去(至少在模拟器中不行)。这里唯一的装饰是每个联系人名字左侧的XMPP状态点。传统来说一个保持在线的XMPP连接是安卓的核心,它的深度集成从Milestone 3就已经开始了。安卓使用XMPP来驱动一个24/7在线的与谷歌服务器之间的连接,驱动Google Talk,云到端消息推送,以及应用的安装和卸载信息。 + +![浏览器的假Google首页,地址栏,浏览历史界面。](http://cdn.arstechnica.net/wp-content/uploads/2013/11/browser3.png) +浏览器的假Google首页,地址栏,浏览历史界面。 +Ron Amadeo供图 + +浏览器运行Webkit 419.3,它也被用在相同时代的像Mac OS X 10.4的Safari 2上。浏览器主页并不是Google.com,而是一个包含在安卓里的硬编码的home.html文件。它看起来就像是千年之前的Google.com。浏览器的OS X遗留还可以辨认出来,用了光滑的,Aqua风格的搜索按钮来渲染浏览器按钮。 + +这个小小的黑莓风格的屏幕需要一个分离的地址栏,可以通过浏览器菜单里的“前往”选项打开。尽管自动补全不起作用,地址栏会在你输入的时候实时搜索你的浏览历史。右侧图片显示的是历史界面,它使用了略缩图来显示各个站点。当前的略缩图在其它两个之前,滑动它们会触发一个猛扑的动画效果。但在早期阶段,浏览器不支持多标签或窗口——你可以看到当前站点,那就是全部了。 + +![一个视频屏幕抓取导出的谷歌地图界面,方向界面,相册测试界面。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/maps.png) +一个视频屏幕抓取导出的谷歌地图界面,方向界面,相册测试界面。 +Ron Amadeo供图 + +在开始的时候,谷歌认识到在移动端地图将会非常重要,甚至在Milestone 5模拟器中内置了地图客户端。那个版本的谷歌地图是我们遇到的第一个死于云腐烂的。这个客户端无法从谷歌的服务器上载入信息,所以地图显示为一片空白,灰色的网格。没有什么能够运转。 + +幸运的是,因为上面的第一张截图,我们能够从安卓启动视频中拼凑出准确的界面。旧的谷歌地图看起来完全是为非触摸设备准备的,实体键快捷方式列表排列在屏幕底部。这样在看地图时,或是在如果仅仅显示该点的地址的时候就不大清楚。 + +隐藏在菜单之后的是搜索选项,方向,以及卫星和交通图层。中间的截图是方向的UI之一,你可以选择一个联系人的地址作为起点或者终点。但地图缺乏任何种类的集成GPS,你在哪都找不到“我的位置”这个按钮。 + +尽管没有合适的相册,在右边是相册的测试界面,隐藏在“API Demos”应用里。图片可以向左向右滚动,但无法以全屏的方式打开一张照片。同样它也没有照片管理选项。它本质上就是个图片滚动界面的测试视图。 + +![时间设置和日历,有点字间距问题,以及以Ars为特色的垂直列表测试。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/datetimeshoutout.png) +时间设置和日历,有点字间距问题,以及以Ars为特色的垂直列表测试。 +Ron Amadeo供图 + +同样模拟器中也没有设置应用,但是通过API Demos我们可以看到最初的日期时间设置界面。这个示例暴露出很多安卓没来得及处理的问题:到处都有的字间距问题,分钟数字间巨大的间隔,以及日历中星期日间不均等的间隔。尽管时间设置允许你单独更改每个数字,但除非你将当前日期移出本月到前一个或下一个月,否则你无法改变月份或年份。 + +别忘了尽管这看起来像是一些被遗忘时代的恐龙级别遗留物,但这仅仅是六年前发布的。我们总趋向与适应科技的脚步。我们很容易将这样的东西看作是20年前的东西。比较一下2007年晚些时候这个时间段的桌面操作系统,微软尝试将Windows Vista售往全世界快要一年了,而苹果刚刚发布OS X 10.5 Leopard。 + +最后一个关于Milestone 3的细节:谷歌在Milestone 3模拟器中给了Ars Technica一个快捷方式。打开“API Demos”应用并打开"Views," "Focus,"然后"Vertical"显示一个*this very Website*的头条测试列表。 + +![随Milestone 3,RC37a发布的更加现代,全触控风格的模拟器。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/bigscreen.png) +随Milestone 3,RC37a发布的更加现代,全触控风格的模拟器。 +Ron Amadeo供图 + +两个月后,2007年12月,谷歌放出了一个Milestone 3的更新,带来了更大的480×320设备设置。这个更新的标签是“m3-rc37a”。软件看起来还是像黑莓一样,仅仅是带来了更多的屏幕分辨率支持。 + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron是Ars Technica的评论编缉,专注于安卓系统和谷歌产品。他总是在追寻新鲜事物,还喜欢拆解事物看看它们到底是怎么运作的。 + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/ + +译者:[alim0x](https://github.com/alim0x) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/gadgets/2014/06/how-we-found-and-installed-every-version-of-android/ +[2]:http://arstechnica.com/gadgets/2013/09/official-the-next-edition-of-android-is-kitkat-version-4-4/ +[3]:http://arstechnica.com/gadgets/2007/11/its-official-google-announces-open-source-mobile-phone-os-android/ +[4]:http://www.zdnet.com/blog/mobile-gadgeteer/mwc08-hands-on-with-a-working-google-android-device/860 +[5]:http://www.theatlantic.com/technology/archive/2013/12/the-day-google-had-to-start-over-on-android/282479/ +[6]:http://www.letsgomobile.org/en/2974/google-android/ +[7]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/%E2%80%9D +[8]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/%E2%80%9D +[9]:http://www.theatlantic.com/technology/archive/2013/12/the-day-google-had-to-start-over-on-android/282479/ +[10]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/1/#milestone3 +[11]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/2/#milestone5 +[12]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/3/#0.9 +[13]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/6/#1.0 +[14]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/7/#1.1 +[15]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/8/#cupcake +[16]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/9/#Mapsmarket +[17]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/9/#donut +[18]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/10/#2.0eclair +[19]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/11/#nexusone +[20]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/12/#2.1eclair +[21]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/13/#alloutwar +[22]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/13/#froyo +[23]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/14/#voiceactions +[24]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/14/#gingerbread +[25]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/16/#honeycomb +[26]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/19/#music +[27]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/19/#ics +[28]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#googleplay +[29]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#4.1jellybean +[30]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/21/#playservices +[31]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/22/#4.2jellybean +[32]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/23/#outofcycle +[33]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/24/#4.3jellybean +[34]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/25/#kitkat +[35]:http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/26/#conclusion +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo From cdf22c15f5832aaeb516ab7b6776c7d143d2efde Mon Sep 17 00:00:00 2001 From: Jelly <879231132@qq.com> Date: Thu, 24 Jul 2014 21:21:44 +0800 Subject: [PATCH 214/291] Update 20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md --- ... File System and Unbreakable Enterprise Kernel Release 3.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md b/sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md index 04dbe5cee7..7b1b06faab 100644 --- a/sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md +++ b/sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md @@ -1,3 +1,4 @@ +【Jelly翻译中】 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3 ================================================================================ ![The new Oracle Linux 7.0 is out](http://i1-news.softpedia-static.com/images/news2/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File-System-and-Unbreakable-Enterprise-Kernel-Release-3-451894-2.jpg) @@ -38,4 +39,4 @@ via: http://news.softpedia.com/news/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File- [1]:http://www.oracle.com/us/corporate/press/2245947 [2]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/i386/OracleLinux-R6-U5-Server-i386-dvd.iso [3]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/x86_64/OracleLinux-R6-U5-Server-x86_64-dvd.iso -[4]:https://edelivery.oracle.com/linux/ \ No newline at end of file +[4]:https://edelivery.oracle.com/linux/ From 368bb8210b0f176e0961f7279d2e3d0ff67c4ce4 Mon Sep 17 00:00:00 2001 From: Jelly <879231132@qq.com> Date: Fri, 25 Jul 2014 11:04:40 +0800 Subject: [PATCH 215/291] Create 20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md --- ...Unbreakable Enterprise Kernel Release 3.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 translated/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md diff --git a/translated/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md b/translated/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md new file mode 100644 index 0000000000..3a4e525338 --- /dev/null +++ b/translated/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md @@ -0,0 +1,43 @@ +Oracle Linux 7.0系统使用XFS作为默认文件系统,和第三代“坚不可摧的企业级内核” +=== +![The new Oracle Linux 7.0 is out](http://i1-news.softpedia-static.com/images/news2/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File-System-and-Unbreakable-Enterprise-Kernel-Release-3-451894-2.jpg) + +**Oracle已经发布了Oracle Linux 7.0操作系统,新系统带来了大量的新特性,比如“第三代坚不可摧的内核”(Unbreakable Enterprise Kernel Release 3)和一个新的默认文件系统** + +为了这次新的发行版的发布,Oracle的开发者们已经放出过两个预览版,现在最终版终于来了。果然,它有着成千上万的修改,其中包括使用新的XFS作为默认的文件系统**[注:原文为操作系统,应该是笔误]**,Btrfs作为可选文件系统,Linux Containers (LXC), DTrace,Ksplice,加强版Xen和“第三代坚不可摧的企业级内核”。 + +作为广泛流行的文件系统EXT4的对抗者,XFS有一个显著优势。它所允许用户的文件系统的大小达到了500TB,这比你在EXT4文件系统中所能达到最大值的十倍还多。唯一的缺点是单个文件的大小最大仅为16TB。 + +这个发行版的一大特色是它支持两种内核。一个是红帽兼容性内核(RHCK),基于Linux内核版本3.10,第二个是Oracle自己的内核版本“第三代坚不可摧的内核”(UEK R3),版本号从3.8.13开始,因为它基于3.8的Linux内核。你或许还记得Linux内核3.8.x已经寿终正寝,但是看来Oracle一直在维护着自己的分支。 + +“已经能够从Oracle软件发布云上下载了,Oracle Linux 7可以免费下载和部署。所有的bug修复和安全勘误会被发布到Oracle的公共yum服务器上,不管有没有付费,用户都能安装同样的代码,并且从免费到付费的迁移十分简单,无需重新安装。” + +“当发布最新的Linux更新,工具以及推送给客户和参与者新功能的时候,需要为现代化的数据中心提供企业级的解决方案。为此最新的发行版是构建在Oracle对于像OpenStack这样的新兴技术提供支持的基础上,”从官方声明可以看出。 + +通过变更记录来看,Ksplice已经为了实现零宕机的内核完成了安全更新和bug修复,systemd也成了新的系统管理工具,Grub2现在是默认的启动引导程序,并且支持新的固件类型(比如UEFI),还有一个加强版Anaconda安装器,一个新的Apache Web服务器,支持GPT,和大量的安全特性被添加进来。 + +更多关于最新的Oracle Linux发行版的详细内容可以参考官方[声明][1]。 + +立即下载Oracle Linux 7.0: + + +- [Oracle Enterprise Linux 6.5 (ISO) 64-bit][2][iso] [3 GB] +- [Oracle Enterprise Linux 6.5 (ISO) 32-bit][3][iso] [3.60 GB] +- [Oracle Enterprise Linux 7.0 (ISO) 64-bit][4][iso] [4.50 GB] + + +--------------------------------- + +原文: http://news.softpedia.com/news/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File-System-and-Unbreakable-Enterprise-Kernel-Release-3-451894.shtml + +原文作者:[Silviu Stahie][a] + +译者:[guodongxiaren](https://github.com/guodongxiaren) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://news.softpedia.com/editors/browse/silviu-stahie +[1]:http://www.oracle.com/us/corporate/press/2245947 +[2]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/i386/OracleLinux-R6-U5-Server-i386-dvd.iso +[3]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/x86_64/OracleLinux-R6-U5-Server-x86_64-dvd.iso +[4]:https://edelivery.oracle.com/linux/ From 4e76ad79d3851e71b0fa05979f08002885a66473 Mon Sep 17 00:00:00 2001 From: Jelly <879231132@qq.com> Date: Fri, 25 Jul 2014 11:05:35 +0800 Subject: [PATCH 216/291] Delete 20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md --- ...Unbreakable Enterprise Kernel Release 3.md | 42 ------------------- 1 file changed, 42 deletions(-) delete mode 100644 sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md diff --git a/sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md b/sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md deleted file mode 100644 index 7b1b06faab..0000000000 --- a/sources/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md +++ /dev/null @@ -1,42 +0,0 @@ -【Jelly翻译中】 -Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3 -================================================================================ -![The new Oracle Linux 7.0 is out](http://i1-news.softpedia-static.com/images/news2/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File-System-and-Unbreakable-Enterprise-Kernel-Release-3-451894-2.jpg) - -**The Oracle Linux 7.0 operating system has been released by Oracle and brings numerous new features and changes, like Unbreakable Enterprise Kernel Release 3 and a new default file system.** - -The Oracle developers have gone through a couple of Release Candidates for this new build of the distribution and now the final version has arrived. As expected, it's packed with a ton of modifications, which include the new XFS as the default operating system, Btrfs as an alternative, Linux Containers (LXC), DTrace, Ksplice, Xen enhancements, and the Unbreakable Enterprise Kernel Release 3. - -As opposed to the more popular EXT4 file system, XFS has one major advantage. It allows users to have 500 TB for the file system size, which is ten times more than what you would get with EXT4. The only drawback is that it only allows for 16 TB maximum file size. - -The distribution features two supported kernels. One is the Red Hat Compatible Kernel (RHCK), based on mainline Linux version 3.10, and the second one is their own version, which is called the Unbreakable Enterprise Kernel Release 3 (UEK R3), and starting with 3.8.13 it's based on the mainline Linux version 3.8. You might remember that Linux Kernel 3.8.x has already reached end of life, but it looks like Oracle is maintaining its own branch. - -“Available for download from Oracle Software Delivery Cloud, Oracle Linux 7 is free to download and distribute. All bug fixes and security errata are published to Oracle's public yum servers, allowing customers to install the same code across all their deployments, with or without a subscription, and creating a simple migration path from free to paid. No reinstalls are required.” - -“This release builds on Oracle's approach to providing support for emerging technologies, such as OpenStack, while delivering the latest Linux innovations, tools, and features customers and partners need to deliver enterprise-grade solutions for the modern data center,” reads the official announcement. - -According to the changelog, Ksplice has been implemented for zero-downtime kernel security updates and bug fixes, systemd has been implemented as the new system manager, Grub2 is now the default boot loader with support for additional firmware types (like UEFI), and an improved Anaconda installer, a few new Apache Web Server features, GPT support, and numerous security features and improvements have been added. - -More details about the latest Oracle Linux distro can be found in the official [announcement][1]. - -#### Download Oracle Linux 7.0 right now: #### - -- [Oracle Enterprise Linux 6.5 (ISO) 64-bit][2][iso] [3 GB] -- [Oracle Enterprise Linux 6.5 (ISO) 32-bit][3][iso] [3.60 GB] -- [Oracle Enterprise Linux 7.0 (ISO) 64-bit][4][iso] [4.50 GB] - --------------------------------------------------------------------------------- - -via: http://news.softpedia.com/news/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File-System-and-Unbreakable-Enterprise-Kernel-Release-3-451894.shtml - -原文作者:[Silviu Stahie][a] - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://news.softpedia.com/editors/browse/silviu-stahie -[1]:http://www.oracle.com/us/corporate/press/2245947 -[2]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/i386/OracleLinux-R6-U5-Server-i386-dvd.iso -[3]:http://mirrors.dotsrc.org/oracle-linux/OL6/U5/x86_64/OracleLinux-R6-U5-Server-x86_64-dvd.iso -[4]:https://edelivery.oracle.com/linux/ From 4556af709e714606475c7a6926a5d6f28c485681 Mon Sep 17 00:00:00 2001 From: bazz2 Date: Fri, 25 Jul 2014 12:39:41 +0800 Subject: [PATCH 217/291] [bazz2-ed]Linux Kernel Testing and Debugging 3 --- ...18 Linux Kernel Testing and Debugging 3.md | 126 ------------------ ...18 Linux Kernel Testing and Debugging 4.md | 3 +- ...18 Linux Kernel Testing and Debugging 3.md | 124 +++++++++++++++++ 3 files changed, 126 insertions(+), 127 deletions(-) delete mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 3.md create mode 100644 translated/tech/20140718 Linux Kernel Testing and Debugging 3.md diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 3.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 3.md deleted file mode 100644 index d30b2ceac6..0000000000 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 3.md +++ /dev/null @@ -1,126 +0,0 @@ -[bazz2 on the way] -Linux Kernel Testing and Debugging -================================================================================ -### Basic Testing ### - -Once a new kernel is installed, the next step is try to boot it and see what happens. Once the new kernel is up and running, check dmesg for any regressions. Run a few usage tests: - -- Is networking (wifi or wired) functional? -- Does ssh work? -- Run rsync of a large file over ssh -- Run git clone and git pull -- Start web browser -- Read email -- Download files: ftp, wget etc. -- Play audio/video files -- Connect new USB devices mouse, usb stick etc. - - -### Examine Kernel Logs ### - -Checking for regressions in dmesg is a good way to identify problems, if any, introduced by the new code. As a general rule, there should be no new crit, alert, and emerg level messages in dmesg. There should be no new err level messages. Pay close attention to any new warn level messages as well. lease note that new warn messages aren't as bad. New code at times adds new warning messages which are just warnings. - -- dmesg -t -l emerg -- dmesg -t -l crit -- dmesg -t -l alert -- dmesg -t -l err -- dmesg -t -l warn -- dmesg -t -k -- dmesg -t - -The following script runs the above dmesg commands and saves the output for comparing with older release dmesg files. It then runs diff commands against the older release dmesg files. Old release is a required input parameter. If one is not supplied, it will simply generate dmesg files and exit. Regressions indicate newly introduced bugs and/or bugs that escaped patch testing and integration testing in linux git trees prior to including the patch in a release. Are there any stack traces resulting from WARN_ON in the dmesg? These are serious problems that require further investigation. - -- [**dmesg regression check script**][1] - -### Stress Testing ### - -Running 3 to 4 kernel compiles in parallel is a good overall stress test. Download a few Linux kernel gits, stable, linux-next etc.. Run timed compiles in parallel. Compare times with old runs of this test for regressions in performance. Longer compile times could be indicators of performance regression in one of the kernel modules. Performance problems are hard to debug. First step is to detect them. Running several compiles in parallel is a good overall stress test that could be used as a performance regression test and overall kernel regression test, as it exercises various kernel modules like memory, file-systems, dma, and drivers. - - time make all - -### Kernel Testing Tools ### - -There are several tests under tools/testing that are included in the Linux kernel git. There is a good mix of automated and functional tests. -ktest suite - -ktest is an automated test suite that can test builds, installs, and kernel boots. It can also run cross-compile tests provided the system has cross-compilers installed. ktest depends on flex and bison tools. Please consult the ktest documentation in tools/testing/ktest for details on how to run ktest. It is left to the reader as a self-study. A few resources that go into detail on how to run ktest: - -- [**ktest-eLinux.org**][2] - -### tools/testing/selftests ### - -Let's start with selftests. Kernel sources include a set of self-tests which test various sub-systems. As of this writing, breakpoints, cpu-hotplug, efivarfs, ipc, kcmp, memory-hotplug, mqueue, net, powerpc, ptrace, rcutorture, timers, and vm sub-systems have self-tests. In addition to these, user memory self-tests test user memory to kernel memory copies via test_user_copy module. The following is on how to run these self-tests: - -Compile tests: - - make -C tools/testing/selftests - -Run all tests: (running some tests needs root access, login as root and run) - - make -C tools/testing/selftests run_tests - -Run only tests targeted for a single sub-system: - - make -C tools/testing/selftests TARGETS=vm run_tests - -### tools/testing/fault-injection ### - -Another test suite under tools/testing is fault-injection. failcmd.sh script runs a command to inject slab and page allocation failures. This type of testing helps validate how well kernel can recover from faults. This test should be run as root. The following is a quick summary of currently implemented fault injection capabilities. The list keeps growing as new fault injection capabilities get added. Please refer to the Documentation/fault-injection/fault-injection.txt for the latest. - -failslab (default option) - - injects slab allocation failures. kmalloc(), kmem_cache_alloc(), ... - -fail_page_alloc - - injects page allocation failures. alloc_pages(), get_free_pages(), ... - -fail_make_request - - injects disk IO errors on devices permitted by setting, /sys/block//make-it-fail or /sys/block///make-it-fail. (generic_make_request()) - -fail_mmc_request - - injects MMC data errors on devices permitted by setting debugfs entries under /sys/kernel/debug/mmc0/fail_mmc_request - -The capabilities and behavior of fault-injection can be configured. fault-inject-debugfs kernel module provides some debugfs entries for runtime. Ability to specify the error probability rate for faults, the interval between fault injection are just a couple of examples of the configuration choices fault-injection test supports. Please refer to the Documentation/fault-injection/fault-injection.txt for details. Boot options can be used to inject faults during early boot before debugfs becomes available. The following boot options are supported: - -- failslab= -- fail_page_alloc= -- fail_make_request= -- mmc_core.fail_request=[interval],[probability],[space],[times] - -The fault-injection infrastructure provides interfaces to add new fault-injection capabilities. The following is a brief outline of the steps involved in adding a new capability. Please refer to the above mentioned document for details: - -define the fault attributes using DECLARE_FAULT_INJECTION(name); - -> Please see the definition of struct fault_attr in fault-inject.h for details. - -add a boot option to configure fault attributes - -> This can be done using helper function setup_fault_attr(attr, str); Adding a boot option is necessary to enable the fault injection capability during early boot time. - -add debugfs entries - -> Use the helper function fault_create_debugfs_attr(name, parent, attr); to add new debugfs entries for this new capability. - -add module parameters - -> Adding module parameters to configure the fault attributes is a good option, when the scope of the new fault capability is limited to a single kernel module. - -add a hook to insert failures - -> should_fail(attr, size); Upon should_fail() returning true, client code should inject a failure. - -Applications using this fault-injection infrastructure can target a specific kernel module to inject slab and page allocation failures to limit the testing scope if need be. - --------------------------------------------------------------------------------- - -via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,2 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://linuxdriverproject.org/mediawiki/index.php/Dmesg_regression_check_script -[2]:http://elinux.org/Ktest#Git_Bisect_type diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 4.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 4.md index 31dc21ea0a..0d3ac54012 100644 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 4.md +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 4.md @@ -1,3 +1,4 @@ +[bazz2 keep moving] Linux Kernel Testing and Debugging ================================================================================ ### Auto Testing Tools ### @@ -140,4 +141,4 @@ via:http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page= [1]:http://autotest.github.io/ [2]:https://github.com/autotest/autotest/wiki/WhitePaper [3]:http://events.linuxfoundation.org/sites/events/files/slides/Shuah_Khan_dma_map_error.pdf -[4]:http://www.linuxjournal.com/content/july-2013-linux-kernel-news \ No newline at end of file +[4]:http://www.linuxjournal.com/content/july-2013-linux-kernel-news diff --git a/translated/tech/20140718 Linux Kernel Testing and Debugging 3.md b/translated/tech/20140718 Linux Kernel Testing and Debugging 3.md new file mode 100644 index 0000000000..0ba9c4a18c --- /dev/null +++ b/translated/tech/20140718 Linux Kernel Testing and Debugging 3.md @@ -0,0 +1,124 @@ +Linux 内核测试与调试 - 3 +================================================================================ +### 基本测试 ### + +安装好内核后,试试能不能启动它。能启动的话,检查 dmesg 看看有没有隐藏的错误。试试下面的功能: + +- 网络(Wifi 或者网线)是否可用? +- ssh 是否可用? +- 使用 ssh 远程传输文件。 +- 使用 git clone 和 git pull 命令。 +- 用用网络浏览器。 +- 查看 email。 +- 使用 ftp, wget 等软件下载文件。 +- 播放音频视频文件。 +- 连上 USB 鼠标等设备。 + + +### 检查内核日志 ### + +使用 dmesg 查看隐藏的问题,对于定位新代码带来的 bug 是一个好方法。一般来说,dmesg 不会输出新的 crit, alert, emerg 级别的错误信息,也不应该出现新的 err 级别的信息。你要注意的是那些 warn 级别的日志信息。请注意 warn 这个级别的信息并不是坏消息,新代码带来新的警告信息,不会给内核带去严重的影响。 + +- dmesg -t -l emerg +- dmesg -t -l crit +- dmesg -t -l alert +- dmesg -t -l err +- dmesg -t -l warn +- dmesg -t -k +- dmesg -t + +下面的脚本运行了上面的命令,并且将输出保存起来,以便与老的内核的 dmesg 输出作比较(LCTT:老内核的 dmesg 输出在本系列的第一篇文章中有介绍)。然后运行 diff 命令,查看新老内核 dmesg 日志之间的不同。脚本需要输入老内核版本号,如果不输入参数,它只会生成新内核的 dmesg 日志文件后直接退出,不再作比较(LCTT:话是这么说没错,但点开脚本一看,没输参数的话,这货会直接退出,连新内核的 dmesg 日志也不会保存的)。如果 dmesg 日志有新的警告信息,表示新发布的内核有漏网之鱼(LCTT:嗯,漏网之 bug 会更好理解些么?),这些 bug 逃过了自测和系统测试。你要看看,那些警告信息后面有没有栈跟踪信息?也许这里有很多问题需要你进一步调查分析。 + +- [**dmesg 测试脚本**][1] + +### 压力测试 ### + +执行压力测试的一个好办法是同时跑三四个内核编译任务。下载各种版本的内核,同时编译它们,并记录时间。比较新内核跑压力测试和老内核跑压力测试所花的时间,然后可以定位新内核的性能。如果新内核跑压力测试的时间比老内核的更长,说明新内核的部分模块性能退步了。性能问题很难调试出来。第一步是找出哪里导致的性能退步。同时跑多个内核编译任务对检测内核整体性能来说是个好方法,但是这种方法涵盖了多个内核模块,比如内存管理、文件系统、DMA、驱动等(LCTT:也就是说,这种压力测试没办法定位到是哪个模块造成了性能的下降)。 + + time make all + +### 内核测试工具 ### + +我们可以在 Linux 内核本身找到多种测试方法。下面介绍一个很好用的功能测试工具集: ktest 套件 + +ktest 是一个自动测试套件,它可以提供编译安装启动内核一条龙测试服务,也可以跑交叉编译测试,前提是你的系统有安装交叉编译所需要的软件。ktest 依赖于 flex 和 bison。详细信息请参考放在 tools/testing/ktest 目录下的文档,你可以自学成材。另外还有一些参考资料教你怎么使用 ktest: + +- [**ktest-eLinux.org**][2] + +### tools/testing/selftests 套件 ### + +我们来玩玩自测吧。内核源码的多个子系统都有自己的自测工具,到目前为止,断点、cpu热插拔、efivarfs、IPC、KCMP、内存热插拔、mqueue、网络、powerpc、ptrace、rcutorture、定时器和虚拟机子系统都有自测工具。另外,用户态内存的自测工具可以利用 test_user_copy 模块来测试用户态内存到内核态的拷贝过程。下面的命令演示了如何使用这些测试工具: + +编译测试: + + make -C tools/testing/selftests + +测试全部:(有些测试需要 root 权限,你需要以 root 用户登入系统然后运行命令) + + make -C tools/testing/selftests run_tests + +只测试单个子系统: + + make -C tools/testing/selftests TARGETS=vm run_tests + +### tools/testing/fault-injection 套件 ### + +在 tools/testing 目录下的另一个测试套件是 fault-injection。failcmd.sh 脚本用于检测 slab 和内存页分配器的错误。这些工具可以测试内核能否很好地从错误状态中恢复回来。这些测试需要用到 root 权限。下面简单介绍了一些当前能提供的错误检测方法。随着错误检测方法的增加,这份名单也会不断增长。最新的名单请参考 Documentation/fault-injection/fault-injection.txt 文档。 + +failslab (默认选项) + + 产生 slab 分配错误。作用于 kmalloc(), kmem_cache_alloc() 等函数(LCTT:产生的结果是调用这些函数就会返回失败,可以模拟程序分不到内存时是否还能稳定运行下去)。 + +fail_page_alloc + + 产生内存页分配的错误。作用于 alloc_pages(), get_free_pages() 等函数(LCTT:同上,调用这些函数,返回错误)。 + +fail_make_request + + 对满足条件(可以设置 /sys/block//make-it-fail 或 /sys/block///make-it-fail 文件)的磁盘产生 IO 错误,作用于 generic_make_request() 函数(LCTT:所有针对这块磁盘的读或写请求都会出错)。 + +fail_mmc_request + + 对满足条件(可以设置 /sys/kernel/debug/mmc0/fail_mmc_request 这个 debugfs 属性)的磁盘产生 MMC 数据错误。 + +你可以自己配置 fault-injection 套件的功能。fault-inject-debugfs 内核模块在系统运行时会在 debugfs 文件系统下面提供一些属性文件。你可以指定出错的概率,指定两个错误之间的时间间隔,当然本套件还能提供更多其他功能,具体请查看 Documentation/fault-injection/fault-injection.txt。 Boot 选项可以让你的系统在 debugfs 文件系统起来之前就可以产生错误,下面列出几个 boot 选项: + +- failslab= +- fail_page_alloc= +- fail_make_request= +- mmc_core.fail_request=[interval],[probability],[space],[times] + +fault-injection 套件提供接口,以便增加新的功能。下面简单介绍下增加新功能的步骤,详细信息请参考上面提到过的文档: + +使用 DECLARE_FAULT_INJECTION(name) 定义默认属性; + +> 详细信息可查看 fault-inject.h 中定义的 struct fault_attr 结构体。 + +配置 fault 属性,新建一个 boot 选项; + +> 这步可以使用 setup_fault_attr(attr, str) 函数完成,为了能在系统启动的早期产生错误,添加一个 boot 选项这一步是必须要有的。 + +添加 debugfs 属性; + +> 使用 fault_create_debugfs_attr(name, parent, attr) 函数,为新功能添加新的 debugfs 属性。 + +为模块设置参数; + +> 为模块添加一些参数,对于配置错误属性来说是一个好主意,特别是当新功能的应用范围受限于单个内核模块的时候(LCTT:不同内核,你的新功能可能需要不同的测试参数,通过设置参数,你的功能可以不必为了迎合不同内核而每次都重新编译一遍)。 + +添加一个钩子函数到错误测试的代码中。 + +> should_fail(attr, size) —— 当这个钩子函数返回 true 时,用户的代码就应该产生一个错误。 + +应用程序使用这个 fault-injection 套件可以指定某个具体的内核模块产生 slab 和内存页分配的错误,这样就可以缩小性能测试的范围。 + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,2 + +译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://linuxdriverproject.org/mediawiki/index.php/Dmesg_regression_check_script +[2]:http://elinux.org/Ktest#Git_Bisect_type From bb90511025f5a2ebe8e4b1ff71417501d67870f1 Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 25 Jul 2014 14:16:22 +0800 Subject: [PATCH 218/291] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=88=B0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{ => The history of Android}/01 - The history of Android.md | 0 .../{ => The history of Android}/02 - The history of Android.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename translated/talk/{ => The history of Android}/01 - The history of Android.md (100%) rename translated/talk/{ => The history of Android}/02 - The history of Android.md (100%) diff --git a/translated/talk/01 - The history of Android.md b/translated/talk/The history of Android/01 - The history of Android.md similarity index 100% rename from translated/talk/01 - The history of Android.md rename to translated/talk/The history of Android/01 - The history of Android.md diff --git a/translated/talk/02 - The history of Android.md b/translated/talk/The history of Android/02 - The history of Android.md similarity index 100% rename from translated/talk/02 - The history of Android.md rename to translated/talk/The history of Android/02 - The history of Android.md From 158b63827b9e46f4591f31ce88d5ecbbed53bb58 Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 25 Jul 2014 14:22:43 +0800 Subject: [PATCH 219/291] PUB:20140722 The Native Dropbox Linux Client Debuts New Qt Interface @zpl1025 --- ...e Native Dropbox Linux Client Debuts New Qt Interface.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) rename {translated/news => published}/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md (93%) diff --git a/translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md b/published/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md similarity index 93% rename from translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md rename to published/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md index c053a674ff..449f842479 100644 --- a/translated/news/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md +++ b/published/20140722 The Native Dropbox Linux Client Debuts New Qt Interface.md @@ -23,7 +23,7 @@ Dropbox开发人员提醒参与测试的人,目前大部分新界面“还很 新UI使用了(目前)系统自带的QT界面主题。它本身也不算很丑,不过在Ubuntu桌面上看起来不怎么合适,特别是和之前的版本比较。据说内存占用也变多了,在空闲情况下有时候会从60MB一下子跳到178MB。那些使用低端设备的人应该忍耐一下试用这个版本的诱惑-至少在这个特别的问题解决之后。 -Dropbox 2.11.0 (Experimental) for Linux的完整改动日志: +Dropbox 2.11.0 (试验版本) for Linux的完整改动日志: - 用QT重写了Windows & Linux界面 - 在移动和重命名文件后会尝试识别 @@ -48,9 +48,7 @@ Dropbox 2.11.0 (Experimental) for Linux的完整改动日志: via: http://www.omgubuntu.co.uk/2014/07/dropbox-experimental-linux-build-qt-rewrite -原文作者:[Joey-Elijah Sneddon][a] - -译者:[zpl1025](https://github.com/zpl1025) 校对:[校对者ID](https://github.com/校对者ID) +原文作者:[Joey-Elijah Sneddon][a] 译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From d90f4432e4b3938006e2e6c8a0d98b1edcf954fb Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 25 Jul 2014 14:41:50 +0800 Subject: [PATCH 220/291] PUB:20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @guodongxiaren 翻译的不错! --- ...nd Unbreakable Enterprise Kernel Release 3.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) rename {translated/news => published}/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md (73%) diff --git a/translated/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md b/published/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md similarity index 73% rename from translated/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md rename to published/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md index 3a4e525338..2fe8583af8 100644 --- a/translated/news/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md +++ b/published/20140724 Oracle Linux 7.0 OS Has XFS as Default File System and Unbreakable Enterprise Kernel Release 3.md @@ -1,18 +1,18 @@ -Oracle Linux 7.0系统使用XFS作为默认文件系统,和第三代“坚不可摧的企业级内核” +Oracle Linux 7.0发布! === ![The new Oracle Linux 7.0 is out](http://i1-news.softpedia-static.com/images/news2/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File-System-and-Unbreakable-Enterprise-Kernel-Release-3-451894-2.jpg) -**Oracle已经发布了Oracle Linux 7.0操作系统,新系统带来了大量的新特性,比如“第三代坚不可摧的内核”(Unbreakable Enterprise Kernel Release 3)和一个新的默认文件系统** +**Oracle已经发布了Oracle Linux 7.0操作系统,新系统带来了大量的新特性,比如“第三代坚不可摧的内核 UEK”(Unbreakable Enterprise Kernel Release 3)和一个新的默认文件系统** -为了这次新的发行版的发布,Oracle的开发者们已经放出过两个预览版,现在最终版终于来了。果然,它有着成千上万的修改,其中包括使用新的XFS作为默认的文件系统**[注:原文为操作系统,应该是笔误]**,Btrfs作为可选文件系统,Linux Containers (LXC), DTrace,Ksplice,加强版Xen和“第三代坚不可摧的企业级内核”。 +为了这次新的发行版的发布,Oracle的开发者们已经放出过两个预览版,现在最终版终于来了。果然,它有着大量的改进,其中包括使用新的XFS作为默认的文件系统**[注:原文为操作系统,应该是笔误]**,可选的Btrfs文件系统,Linux Containers (LXC), DTrace,Ksplice,加强版Xen和UEK R3。 作为广泛流行的文件系统EXT4的对抗者,XFS有一个显著优势。它所允许用户的文件系统的大小达到了500TB,这比你在EXT4文件系统中所能达到最大值的十倍还多。唯一的缺点是单个文件的大小最大仅为16TB。 这个发行版的一大特色是它支持两种内核。一个是红帽兼容性内核(RHCK),基于Linux内核版本3.10,第二个是Oracle自己的内核版本“第三代坚不可摧的内核”(UEK R3),版本号从3.8.13开始,因为它基于3.8的Linux内核。你或许还记得Linux内核3.8.x已经寿终正寝,但是看来Oracle一直在维护着自己的分支。 -“已经能够从Oracle软件发布云上下载了,Oracle Linux 7可以免费下载和部署。所有的bug修复和安全勘误会被发布到Oracle的公共yum服务器上,不管有没有付费,用户都能安装同样的代码,并且从免费到付费的迁移十分简单,无需重新安装。” +“已经能够从Oracle软件发布云上下载了,Oracle Linux 7可以免费下载和部署。所有的bug修复和安全勘误会被发布到Oracle的公共yum服务器上,不管有没有付费,用户都能安装同样的代码,并且从免费到付费的迁移十分简单,无需重新安装。” -“当发布最新的Linux更新,工具以及推送给客户和参与者新功能的时候,需要为现代化的数据中心提供企业级的解决方案。为此最新的发行版是构建在Oracle对于像OpenStack这样的新兴技术提供支持的基础上,”从官方声明可以看出。 +“当发布最新的Linux更新,工具以及推送给客户和参与者新功能的时候,需要为现代化的数据中心提供企业级的解决方案。为此最新的发行版是构建在Oracle对OpenStack这样的新兴技术提供支持的基础上,”从官方声明可以看出。 通过变更记录来看,Ksplice已经为了实现零宕机的内核完成了安全更新和bug修复,systemd也成了新的系统管理工具,Grub2现在是默认的启动引导程序,并且支持新的固件类型(比如UEFI),还有一个加强版Anaconda安装器,一个新的Apache Web服务器,支持GPT,和大量的安全特性被添加进来。 @@ -30,9 +30,9 @@ Oracle Linux 7.0系统使用XFS作为默认文件系统,和第三代“坚不 原文: http://news.softpedia.com/news/Oracle-Linux-7-0-OS-Has-XFS-as-Default-File-System-and-Unbreakable-Enterprise-Kernel-Release-3-451894.shtml -原文作者:[Silviu Stahie][a] - -译者:[guodongxiaren](https://github.com/guodongxiaren) 校对:[校对者ID](https://github.com/校对者ID) +作者:[Silviu Stahie][a] +译者:[guodongxiaren](https://github.com/guodongxiaren) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From cd8b516b53ff848b6b4509f363bc3aa3e475430f Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 25 Jul 2014 15:27:20 +0800 Subject: [PATCH 221/291] PUB:20140620 Tips to Push Your Git Skills to the Next Level MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @CNprober 翻译的不错! --- ... Push Your Git Skills to the Next Level.md | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) rename {translated/tech => published}/20140620 Tips to Push Your Git Skills to the Next Level.md (89%) diff --git a/translated/tech/20140620 Tips to Push Your Git Skills to the Next Level.md b/published/20140620 Tips to Push Your Git Skills to the Next Level.md similarity index 89% rename from translated/tech/20140620 Tips to Push Your Git Skills to the Next Level.md rename to published/20140620 Tips to Push Your Git Skills to the Next Level.md index 2c50740802..6b0f5ada87 100644 --- a/translated/tech/20140620 Tips to Push Your Git Skills to the Next Level.md +++ b/published/20140620 Tips to Push Your Git Skills to the Next Level.md @@ -1,11 +1,9 @@ -CNprober 翻译完成... 619913541 - -10招让你的Git技能提升一个台阶 +已经会用Git了?不会这十招怎么行 ================================================================================ 之前我们发了一些教程让你熟悉[Git基础][1]和[在团队合作环境中使用Git][2].我们讨论的这些Git命令足够让一个开发者在Git的世界里生存下去。在这篇教程里,我们试着探索如何高效地管理你的时间以及如何充分利用Git提供的特性。 -> 注意:这里介绍的命令中有的包含方括号(例如:`git add -p [file_name]`)。在这些例子中,你应该用你自己的数字,标识符等替代方括号里的内容,并且去掉方括号。 +> 注意:这里介绍的命令中有的包含方括号(例如:`git add -p [file_name]`)。在这些例子中,你应该用你自己的数字、标识符等替代方括号里的内容,并且去掉方括号。 ### 1. Git自动补全 ### @@ -62,7 +60,7 @@ CNprober 翻译完成... 619913541 假设你提交了一些不需要的东西,然后你进行了hard重置回到之前的状态。后来,你发现在这个过程中你丢失了其他一些重要的信息,你想要把这些信息找回来,或者至少可以查看一下这些信息。这就需要`git reflog`帮忙。 -简单的`git log`只能告诉你最近的提交,这个提交的父提交,父提交的父提交,等等。但是`git reflog`是一个HEAD指向的提交的列表。记住,这个列表依赖于你自己的操作环境,它不是库的一部分,也不包含在push或者merge中。 +简单的`git log`只能告诉你最近的提交,这个提交的父提交,父提交的父提交,等等。但是`git reflog`是一个HEAD指向的提交的列表。记住,这个列表依赖于你自己的本地操作环境,它不是库的一部分,也不包含在push或者merge中。 如果执行`git log`命令,可以看到提交历史,这是我的库的一部分: @@ -74,7 +72,7 @@ CNprober 翻译完成... 619913541 ### 6. 暂存文件的一部分更改以便进行一次提交 ### -通常依据特性来提交是一个好的实践方法,意思是说,每一个提交都只添加一个特性或者修复一个bug。想一下如果你一次修复了两个bug或者添加了两个特性但是都还没有提交该怎么办。这种场景下,你可以将他们一起提交。但是有一个更好的办法:单独暂存这些文件,然后分开提交。 +通常依据特性来提交是一个好的实践方法,意思是说,每一个提交都只添加一个特性或者修复一个bug。想一下如果你一次修复了两个bug或者添加了两个特性但是都还没有逐个提交该怎么办。这种场景下,你可以将他们一起提交。但是有一个更好的办法:单独暂存这些文件,然后分开提交。 让我们假设你对一个文件做了多个更改,然后想让这些更改分开提交。这时,我们用带`-p`的添加命令。 @@ -88,7 +86,7 @@ CNprober 翻译完成... 619913541 ![Running add with -p](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946450git-ninja-07.png) -似乎Git认为所有的更改都是同一个目的的一部分,所以把他们分组到同一个块里。这时,你可以: +看起来Git认为所有的更改都是同一个目的的一部分,所以把他们分组到同一个块里。这时,你可以: - 输入 y 暂存块 - 输入 n 不暂存块 @@ -100,13 +98,13 @@ CNprober 翻译完成... 619913541 ![Adding all hunks](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946452git-ninja-08.png) -如你所见,我们已经添加了第1和第3行,忽略了第2行。你可以看到库的状态并且进行一次提交。 +如你所见,我们已经逐个添加了第1和第3行,忽略了第2行。你可以看到库的状态并且进行一次提交。 ![Repository after selectively adding a file](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946454git-ninja-09.png) ### 7. 合并多个提交 ### -为了进行核查或者发起一个合并请求(这经常发生在开源项目里),对代码进行了修改提交。但在最后代码被接受之前,你也许会被要求修改你的代码。于是你修改代码,但是下一次核查的时候又一次被要求进行修改。不知不觉中,你就已经有了好几个提交。理论上你应该用rebase命令把他们合并起来。 +为了进行核查或者发起一个合并请求(这经常发生在开源项目里),对代码进行了修改提交。但在最后代码被接受之前,你也许会需要修改你的代码。于是你修改代码,但是下一次核查的时候又一次需要进行修改。不知不觉中,你就已经有了好几个提交。理论上你应该用rebase命令把他们合并起来。 git rebase -i HEAD~[number_of_commits] @@ -118,7 +116,7 @@ CNprober 翻译完成... 619913541 ![Git squash interactive](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946455git-ninja-10.png) -接着你被要求提供一个对新提交的说明。这个过程会重写你的提交历史。 +接着你应该提供一个对新提交的说明。这个过程会重写你的提交历史。 ![Adding a commit message](http://dab1nmslvvntp.cloudfront.net/wp-content/uploads/2014/06/1402946457git-ninja-11.png) @@ -182,7 +180,7 @@ CNprober 翻译完成... 619913541 via: http://www.sitepoint.com/10-tips-git-next-level/ -译者:[love_daisy_love](https://github.com/CNprober) 校对:[校对者ID](https://github.com/校对者ID) +译者:[love\_daisy\_love](https://github.com/CNprober) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 56637455579e092220313e5a66666e1d2eea73f8 Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Fri, 25 Jul 2014 15:55:40 +0800 Subject: [PATCH 222/291] translated --- ... Song Lyrics On Desktop In Ubuntu 14.04.md | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md b/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md index 4b5ce56426..5fbc4889db 100644 --- a/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md +++ b/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md @@ -1,47 +1,45 @@ -Love-xuan 翻译中 -Display Song Lyrics On Desktop In Ubuntu 14.04 +在Ubuntu上显示桌面歌词 ================================================================================ ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/display_lyrics_desktop_Ubuntu.jpeg) -Apart from free streaming music, what I like the most in [Spotify][1] is its lyrics plugin. At times I don’t understand all of the words of the song, specially if it’s rap. [TuneWiki][2] plugin comes handy in this case. While TuneWiki has plugins for Windows Media Player and iTune, what options do we have on desktop Linux? +除了免费的流媒体音乐外,我最喜欢[Spotify][1]的地方就是它的歌词插件了。有时候我听不懂一首歌里面的所有歌词,尤其是rap。[TuneWiki][2]插件在这种情况下就派得上用场了。但TuneWiki仅有支持Windows和iTune的插件,那我们在linux桌面上有什么选择呢? -If you have been using desktop Linux for sometime, you might have heard of [OSD Lyrics][3]. It is a small application that **displays song lyrics on the desktop**. You can use it with several audio players such as Rythmbox, [Banshee][4], [Clementine][5] etc. +如果你使用过Linux桌面一段时间,你也许听过[OSD Lyrics][3]。它是一个显示桌面歌词的小程序。你可以借助一些音乐播放器来使用它,比如Rythmbox,[Banshee][4],[Clementine][5]等等。 -### Install OSD Lyrics in Ubuntu 14.04 and Linux Mint 17 ### +### 在Ubuntu 14.04和Linux mint 17上安装OSD Lyrics ### -OSD Lyrics was actively maintained through its official PPA about 2 years back. There is no development anymore. While the PPA is no longer usable, the executables (.deb) can be downloaded from the website. Though these executables are originally for Ubuntu 12.04 Precise Pangolin, these files work very well in Ubuntu 14.04 also. Let’s see **how to install OSD Lyrics in Ubuntu 14.04 and Linux Mint 17**. +两年以前OSD Lyrics在它的官方仓库中被积极地维护,但现在对它的开发已经停止了。尽管这个PPA已经不可用,但可以通过网络下载OSD Lyrics的安装包。虽然这些安装执行文件最初是为Ubuntu 12.02设计的,但这些文件也能在Ubuntu 14.04上很良好地工作。我们一起看看怎么在UUUUbuntu 14.04和 Linux mint 17上安装OSD Lyrics。 -Go to the [download page of OSD Lyrics][6]. Get the .deb files depending upon [whether you are using 32 bit or 64 bit Ubuntu][7]. You will find the files on the top. +[前往下载页下载OSDLyrics][6],根据你是使用[32位还是64位的ubuntu][7]来下载相应的.deb 文件。你会在网页的上方找到这些文件。 ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Download.jpeg) -Once downloaded, just double click on it to install it via Ubuntu Software Center. Alternatively, you can [use Gdebi to quickly install .deb packages][8]. +下载完成后,通过双击它来使用Ubuntu软件中心来安装。另外,你也可以使用[Gdebi ][8]来快速地安装.deb安装包。 -### How to display lyrics in Ubuntu and Linux Mint using OSD Lyrics ### +### 怎样在Ububtu和linux mnit 上使用OSD Lyrics使用歌词 ### -Once installed, you can run OSD Lyrics from the Unity Dash: +安装完成后,你可以从Unity Dash运行OSD Lyrics : ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Open_OSD_Lyrics_Ubuntu.jpeg) -On the first run, it will detect the existing players which are compatible with OSD Lyrics. You can set a default player which will be opened automatically each time you start OSD Lyrics. +首次运行时,OSD Lyrics会检测你的系统中能被它支持的播放器。你可以设定一个默认播放器,以后当你运行OSD Lyrics时它就会自动启动 。 ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Default_Player.jpeg) -One thing to note is that unlike [Shazam][9] etc, OSD Lyrics doesn’t find the lyrics from the audio, rather it uses the information linked to the music files such as name, album, artist etc. So make sure that you have music files from “respectable sources” or keep the file information correct and updated. +有一件事值得注意,那就是OSD Lyrics不像[Shazam][9]等一样,它不是通过音频来寻找歌词,而是通过比如名称,专辑,艺术家等信息来关联音乐文件。所以你得确保你的音乐文件的来源正当,或者是你得保持你的音乐文件的信息是正确和已经更新了的。 -If it recognizes the music files, it will display the lyrics on the desktop in Karaoke format: +如果OSD Lyrics辨认出了音乐文件,它就会用卡拉OK格式在桌面上显示歌词了:(译者注:OSD Lyrics可以自动在千千静听和虾米歌词站点在线下载歌词,这对我们中文用户来说是个福音) ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Dsiplay_Lyrics_Ubuntu.jpeg) -There are plenty of configuration options available with OSD Lyrics. You can change the font, size behavior of the lyrics display among many other things. - -How do you like OSD Lyrics? Do you use some other Lyrics plugin? Do share your views with rest of us. +OSD Lyrics有大量设置选项,你可以改变歌词字体的种类,大小等等其它许多设置。 +你认为OSD Lyrics怎么样?你使用其它的一些歌词插件吗?闲余时间请和我们分享你的看法。 -------------------------------------------------------------------------------- via: http://itsfoss.com/display-song-lyrics-desktop-ubuntu-1404/ -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Love-xuan](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 09dd5bb4f6fb2f7e6ea7af340cef9db2c475f134 Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Fri, 25 Jul 2014 15:57:46 +0800 Subject: [PATCH 223/291] translated --- ... Song Lyrics On Desktop In Ubuntu 14.04.md | 54 ------------------- 1 file changed, 54 deletions(-) delete mode 100644 sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md diff --git a/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md b/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md deleted file mode 100644 index 5fbc4889db..0000000000 --- a/sources/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md +++ /dev/null @@ -1,54 +0,0 @@ -在Ubuntu上显示桌面歌词 -================================================================================ -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/display_lyrics_desktop_Ubuntu.jpeg) - -除了免费的流媒体音乐外,我最喜欢[Spotify][1]的地方就是它的歌词插件了。有时候我听不懂一首歌里面的所有歌词,尤其是rap。[TuneWiki][2]插件在这种情况下就派得上用场了。但TuneWiki仅有支持Windows和iTune的插件,那我们在linux桌面上有什么选择呢? - -如果你使用过Linux桌面一段时间,你也许听过[OSD Lyrics][3]。它是一个显示桌面歌词的小程序。你可以借助一些音乐播放器来使用它,比如Rythmbox,[Banshee][4],[Clementine][5]等等。 - -### 在Ubuntu 14.04和Linux mint 17上安装OSD Lyrics ### - -两年以前OSD Lyrics在它的官方仓库中被积极地维护,但现在对它的开发已经停止了。尽管这个PPA已经不可用,但可以通过网络下载OSD Lyrics的安装包。虽然这些安装执行文件最初是为Ubuntu 12.02设计的,但这些文件也能在Ubuntu 14.04上很良好地工作。我们一起看看怎么在UUUUbuntu 14.04和 Linux mint 17上安装OSD Lyrics。 - -[前往下载页下载OSDLyrics][6],根据你是使用[32位还是64位的ubuntu][7]来下载相应的.deb 文件。你会在网页的上方找到这些文件。 - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Download.jpeg) - -下载完成后,通过双击它来使用Ubuntu软件中心来安装。另外,你也可以使用[Gdebi ][8]来快速地安装.deb安装包。 - -### 怎样在Ububtu和linux mnit 上使用OSD Lyrics使用歌词 ### - -安装完成后,你可以从Unity Dash运行OSD Lyrics : - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Open_OSD_Lyrics_Ubuntu.jpeg) - -首次运行时,OSD Lyrics会检测你的系统中能被它支持的播放器。你可以设定一个默认播放器,以后当你运行OSD Lyrics时它就会自动启动 。 - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Default_Player.jpeg) - -有一件事值得注意,那就是OSD Lyrics不像[Shazam][9]等一样,它不是通过音频来寻找歌词,而是通过比如名称,专辑,艺术家等信息来关联音乐文件。所以你得确保你的音乐文件的来源正当,或者是你得保持你的音乐文件的信息是正确和已经更新了的。 - -如果OSD Lyrics辨认出了音乐文件,它就会用卡拉OK格式在桌面上显示歌词了:(译者注:OSD Lyrics可以自动在千千静听和虾米歌词站点在线下载歌词,这对我们中文用户来说是个福音) - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Dsiplay_Lyrics_Ubuntu.jpeg) - -OSD Lyrics有大量设置选项,你可以改变歌词字体的种类,大小等等其它许多设置。 - -你认为OSD Lyrics怎么样?你使用其它的一些歌词插件吗?闲余时间请和我们分享你的看法。 --------------------------------------------------------------------------------- - -via: http://itsfoss.com/display-song-lyrics-desktop-ubuntu-1404/ - -译者:[Love-xuan](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://itsfoss.com/install-spotify-ubuntu-1404/ -[2]:http://www.tunewiki.com/ -[3]:https://code.google.com/p/osd-lyrics -[4]:http://banshee.fm/ -[5]:https://www.clementine-player.org/ -[6]:https://code.google.com/p/osd-lyrics/downloads/list -[7]:http://itsfoss.com/how-to-know-ubuntu-unity-version/ -[8]:http://itsfoss.com/install-deb-files-easily-and-quickly-in-ubuntu-12-10-quick-tip/ -[9]:http://www.shazam.com/ \ No newline at end of file From 5654a77e6ed6b7ee431ea49542688348fcd8af44 Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Fri, 25 Jul 2014 15:58:28 +0800 Subject: [PATCH 224/291] translated --- ...Song Lyrics On Desktop In Ubuntu 14.04.md# | 57 +++++++++++++++++++ ...htweight Budgie Desktop in Ubuntu 14.04.md | 57 +++++++++++++++++++ ... Song Lyrics On Desktop In Ubuntu 14.04.md | 54 ++++++++++++++++++ 3 files changed, 168 insertions(+) create mode 100644 sources/tech/#20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md# create mode 100644 translated/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md create mode 100644 translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md diff --git a/sources/tech/#20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md# b/sources/tech/#20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md# new file mode 100644 index 0000000000..dbb92b2dd8 --- /dev/null +++ b/sources/tech/#20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md# @@ -0,0 +1,57 @@ +Love-xuan 翻译中 +Display Song Lyrics On Desktop In Ubuntu 14.04 +================================================================================ +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/display_lyrics_desktop_Ubuntu.jpeg) + +Apart from free streaming music, what I like the most in [Spotify][1] is its lyrics plugin. At times I don’t understand all of the words of the song, specially if it’s rap. [TuneWiki][2] plugin comes handy in this case. While TuneWiki has plugins for Windows Media Player and iTune, what options do we have on desktop Linux? + +If you have been using desktop Linux for sometime, you might have heard of [OSD Lyrics][3]. It is a small application that **displays song lyrics on the desktop**. You can use it with several audio players such as Rythmbox, [Banshee][4], [Clementine][5] etc. + +### Install OSD Lyrics in Ubuntu 14.04 and Linux Mint 17 ### + +OSD Lyrics was actively maintained through its official PPA about 2 years back. There is no development anymore. While the PPA is no longer usable, the executables (.deb) can be downloaded from the website. Though these executables are originally for Ubuntu 12.04 Precise Pangolin, these files work very well in Ubuntu 14.04 also. Let’s see **how to install OSD Lyrics in Ubuntu 14.04 and Linux Mint 17**. + +Go to the [download page of OSD Lyrics][6]. Get the .deb files depending upon [whether you are using 32 bit or 64 bit Ubuntu][7]. You will find the files on the top. + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Download.jpeg) + +Once downloaded, just double click on it to install it via Ubuntu Software Center. Alternatively, you can [use Gdebi to quickly install .deb packages][8]. + +### How to display lyrics in Ubuntu and Linux Mint using OSD Lyrics ### + +Once installed, you can run OSD Lyrics from the Unity Dash: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Open_OSD_Lyrics_Ubuntu.jpeg) + +On the first run, it will detect the existing players which are compatible with OSD Lyrics. You can set a default player which will be opened automatically each time you start OSD Lyrics. + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Default_Player.jpeg) + +One thing to note is that unlike [Shazam][9] etc, OSD Lyrics doesn’t find the lyrics from the audio, rather it uses the information linked to the music files such as name, album, artist etc. So make sure that you have music files from “respectable sources” or keep the file information correct and updated. + +If it recognizes the music files, it will display the lyrics on the desktop in Karaoke format: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Dsiplay_Lyrics_Ubuntu.jpeg) + +There are plenty of configuration options available with OSD Lyrics. You can change the font, size behavior of the lyrics display among many other things. + + +How do you like OSD Lyrics? Do you use some other Lyrics plugin? Do share your views with rest of us. + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/display-song-lyrics-desktop-ubuntu-1404/ + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://itsfoss.com/install-spotify-ubuntu-1404/ +[2]:http://www.tunewiki.com/ +[3]:https://code.google.com/p/osd-lyrics +[4]:http://banshee.fm/ +[5]:https://www.clementine-player.org/ +[6]:https://code.google.com/p/osd-lyrics/downloads/list +[7]:http://itsfoss.com/how-to-know-ubuntu-unity-version/ +[8]:http://itsfoss.com/install-deb-files-easily-and-quickly-in-ubuntu-12-10-quick-tip/ +[9]:http://www.shazam.com/ \ No newline at end of file diff --git a/translated/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md b/translated/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md new file mode 100644 index 0000000000..af3e97bb4f --- /dev/null +++ b/translated/tech/20140711 How to Install Lightweight Budgie Desktop in Ubuntu 14.04.md @@ -0,0 +1,57 @@ +怎样在ubuntu 14.04上安装轻量级的Budgie桌面 +================================================================================ +**如果你在推特上关注了我们,你可能看见了我们最近分享的一张截图,和这张截图一起的还有对它所展示的桌面进行命名的邀请。 ** + +你猜对了吗? 答案就是budgie —— 一种为基于openSUSE 的linux发行版Evolve OS所设计,但不仅仅只能用于 Evolve OS的简易桌面环境。 + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/BsCvTxJIcAAPjUR.png-large.png) + +我们第一次描写Budgie是在三月份,当时我们被它的整洁,小巧的美感,灵活的架构,还有重复使用在当今大多数发行版中所使用的GNOME 3.10 成熟技术中的公共部分和标堆栈的决定所折服。 + +我对此项目的领导者LKey Doherty所作出的开发选择非常佩服。无可否认另起炉灶有它的优点,但决定从上游的项目获取帮助将可以整个项目进展得更快,无论是在发展方面(更轻的技术负担)还是在用户可使用方面(更容易在其它发行版上运行)。 + +政治因素选择除外,这款桌面以干净,小巧向谷歌Chrome OS的Ash桌面表示敬意。如果你不介意有些许粗糙的边缘,那它值得你玩玩。那么怎样在Ubuntu安装Budgie呢? + +###非官方的PPA是不正式的 ### + +开源意味着如果你有一点终端使用知识的话,你就可以在获得Budgie桌面的源代码后进行编译,然后运行。 + +但如果你很懒,想不费周折就在Ubuntu 14.04 LTS(或者一个基于它的发行版)运行Budgie,那么你可以通过比较容易的途径来实现。 + +添加一个非官方的Unofficial PPA,刷新你的软件源然后进行安装。几分钟后在这个家庭中你将有一位名叫Bob的新叔叔,并且有一个新的桌面可以玩耍。 + +###添加Budgie PPA ### + +将以下命令复制进一个打开的终端窗口,在提示过后输入你的密码(如果需要的话) + + sudo add-apt-repository ppa:sukso96100/budgie-desktop + sudo apt-get update && sudo apt-get install budgie-desktop + +### 登入Budgie会话 ### + +安装完成后你就可以在Unity欢迎界面的会话选择器中选择Budgie会话了。(别忘了以后要把选择项改回到稳定的桌面环境) + +### 注意 ### + +**budgie是不稳定,不完善的,它在Ubuntu上也没有被正式支持。它正在积极开发中,缺少一些特性,包括(但不仅仅只有这些):不支持网络管理,没有音量控制小程序(键盘工作良好),没有通知系统,无法将应用程序“固定”在任务栏。** + +它对UBUNTU的叠加滚动条和一些GTK主题的支持也不是很好,而且在使用upstart的发行版(例如ubuntu,即使它正在改变之中)中会话管理器(例如,注销,重启等等)将无法工作。 + +一个应变方法是:禁用叠加滚动条,设置一个默认主题,通过在终端中使用以下命名来退出会话。 + + gnome-session-quit + +想着脑海中所有的这些警告,我建议想使用稳定的,可靠的系统的人现在暂时不要使用它。 + +而作为狂热一族的业余体验呢?请在下面评论,让我们了解你的想法。我将退出而让Bob来接手。 +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/install-budgie-evolve-os-desktop-ubuntu-14-04 + +译者:[Love-xuan](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.omgubuntu.co.uk/2014/03/budgie-desktop-chrome-os-like +[2]:http://en.wikipedia.org/wiki/Bob +[3]:http://www.omgubuntu.co.uk/2014/02/ubuntu-debian-switching-systemd \ No newline at end of file diff --git a/translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md b/translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md new file mode 100644 index 0000000000..5fbc4889db --- /dev/null +++ b/translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md @@ -0,0 +1,54 @@ +在Ubuntu上显示桌面歌词 +================================================================================ +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/display_lyrics_desktop_Ubuntu.jpeg) + +除了免费的流媒体音乐外,我最喜欢[Spotify][1]的地方就是它的歌词插件了。有时候我听不懂一首歌里面的所有歌词,尤其是rap。[TuneWiki][2]插件在这种情况下就派得上用场了。但TuneWiki仅有支持Windows和iTune的插件,那我们在linux桌面上有什么选择呢? + +如果你使用过Linux桌面一段时间,你也许听过[OSD Lyrics][3]。它是一个显示桌面歌词的小程序。你可以借助一些音乐播放器来使用它,比如Rythmbox,[Banshee][4],[Clementine][5]等等。 + +### 在Ubuntu 14.04和Linux mint 17上安装OSD Lyrics ### + +两年以前OSD Lyrics在它的官方仓库中被积极地维护,但现在对它的开发已经停止了。尽管这个PPA已经不可用,但可以通过网络下载OSD Lyrics的安装包。虽然这些安装执行文件最初是为Ubuntu 12.02设计的,但这些文件也能在Ubuntu 14.04上很良好地工作。我们一起看看怎么在UUUUbuntu 14.04和 Linux mint 17上安装OSD Lyrics。 + +[前往下载页下载OSDLyrics][6],根据你是使用[32位还是64位的ubuntu][7]来下载相应的.deb 文件。你会在网页的上方找到这些文件。 + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Download.jpeg) + +下载完成后,通过双击它来使用Ubuntu软件中心来安装。另外,你也可以使用[Gdebi ][8]来快速地安装.deb安装包。 + +### 怎样在Ububtu和linux mnit 上使用OSD Lyrics使用歌词 ### + +安装完成后,你可以从Unity Dash运行OSD Lyrics : + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Open_OSD_Lyrics_Ubuntu.jpeg) + +首次运行时,OSD Lyrics会检测你的系统中能被它支持的播放器。你可以设定一个默认播放器,以后当你运行OSD Lyrics时它就会自动启动 。 + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Default_Player.jpeg) + +有一件事值得注意,那就是OSD Lyrics不像[Shazam][9]等一样,它不是通过音频来寻找歌词,而是通过比如名称,专辑,艺术家等信息来关联音乐文件。所以你得确保你的音乐文件的来源正当,或者是你得保持你的音乐文件的信息是正确和已经更新了的。 + +如果OSD Lyrics辨认出了音乐文件,它就会用卡拉OK格式在桌面上显示歌词了:(译者注:OSD Lyrics可以自动在千千静听和虾米歌词站点在线下载歌词,这对我们中文用户来说是个福音) + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Dsiplay_Lyrics_Ubuntu.jpeg) + +OSD Lyrics有大量设置选项,你可以改变歌词字体的种类,大小等等其它许多设置。 + +你认为OSD Lyrics怎么样?你使用其它的一些歌词插件吗?闲余时间请和我们分享你的看法。 +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/display-song-lyrics-desktop-ubuntu-1404/ + +译者:[Love-xuan](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://itsfoss.com/install-spotify-ubuntu-1404/ +[2]:http://www.tunewiki.com/ +[3]:https://code.google.com/p/osd-lyrics +[4]:http://banshee.fm/ +[5]:https://www.clementine-player.org/ +[6]:https://code.google.com/p/osd-lyrics/downloads/list +[7]:http://itsfoss.com/how-to-know-ubuntu-unity-version/ +[8]:http://itsfoss.com/install-deb-files-easily-and-quickly-in-ubuntu-12-10-quick-tip/ +[9]:http://www.shazam.com/ \ No newline at end of file From 32d0e6c354b39176ed41911d99a97b319e76bcfc Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Fri, 25 Jul 2014 15:59:47 +0800 Subject: [PATCH 225/291] translated --- ...Song Lyrics On Desktop In Ubuntu 14.04.md# | 57 ------------------- 1 file changed, 57 deletions(-) delete mode 100644 sources/tech/#20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md# diff --git a/sources/tech/#20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md# b/sources/tech/#20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md# deleted file mode 100644 index dbb92b2dd8..0000000000 --- a/sources/tech/#20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md# +++ /dev/null @@ -1,57 +0,0 @@ -Love-xuan 翻译中 -Display Song Lyrics On Desktop In Ubuntu 14.04 -================================================================================ -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/display_lyrics_desktop_Ubuntu.jpeg) - -Apart from free streaming music, what I like the most in [Spotify][1] is its lyrics plugin. At times I don’t understand all of the words of the song, specially if it’s rap. [TuneWiki][2] plugin comes handy in this case. While TuneWiki has plugins for Windows Media Player and iTune, what options do we have on desktop Linux? - -If you have been using desktop Linux for sometime, you might have heard of [OSD Lyrics][3]. It is a small application that **displays song lyrics on the desktop**. You can use it with several audio players such as Rythmbox, [Banshee][4], [Clementine][5] etc. - -### Install OSD Lyrics in Ubuntu 14.04 and Linux Mint 17 ### - -OSD Lyrics was actively maintained through its official PPA about 2 years back. There is no development anymore. While the PPA is no longer usable, the executables (.deb) can be downloaded from the website. Though these executables are originally for Ubuntu 12.04 Precise Pangolin, these files work very well in Ubuntu 14.04 also. Let’s see **how to install OSD Lyrics in Ubuntu 14.04 and Linux Mint 17**. - -Go to the [download page of OSD Lyrics][6]. Get the .deb files depending upon [whether you are using 32 bit or 64 bit Ubuntu][7]. You will find the files on the top. - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Download.jpeg) - -Once downloaded, just double click on it to install it via Ubuntu Software Center. Alternatively, you can [use Gdebi to quickly install .deb packages][8]. - -### How to display lyrics in Ubuntu and Linux Mint using OSD Lyrics ### - -Once installed, you can run OSD Lyrics from the Unity Dash: - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Open_OSD_Lyrics_Ubuntu.jpeg) - -On the first run, it will detect the existing players which are compatible with OSD Lyrics. You can set a default player which will be opened automatically each time you start OSD Lyrics. - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Default_Player.jpeg) - -One thing to note is that unlike [Shazam][9] etc, OSD Lyrics doesn’t find the lyrics from the audio, rather it uses the information linked to the music files such as name, album, artist etc. So make sure that you have music files from “respectable sources” or keep the file information correct and updated. - -If it recognizes the music files, it will display the lyrics on the desktop in Karaoke format: - -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Dsiplay_Lyrics_Ubuntu.jpeg) - -There are plenty of configuration options available with OSD Lyrics. You can change the font, size behavior of the lyrics display among many other things. - - -How do you like OSD Lyrics? Do you use some other Lyrics plugin? Do share your views with rest of us. - --------------------------------------------------------------------------------- - -via: http://itsfoss.com/display-song-lyrics-desktop-ubuntu-1404/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://itsfoss.com/install-spotify-ubuntu-1404/ -[2]:http://www.tunewiki.com/ -[3]:https://code.google.com/p/osd-lyrics -[4]:http://banshee.fm/ -[5]:https://www.clementine-player.org/ -[6]:https://code.google.com/p/osd-lyrics/downloads/list -[7]:http://itsfoss.com/how-to-know-ubuntu-unity-version/ -[8]:http://itsfoss.com/install-deb-files-easily-and-quickly-in-ubuntu-12-10-quick-tip/ -[9]:http://www.shazam.com/ \ No newline at end of file From aa4e44b7ceae5668f576039c437af0a279b4fa65 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Fri, 25 Jul 2014 16:36:58 +0800 Subject: [PATCH 226/291] =?UTF-8?q?20140725-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20140725 GOG.com Now Supports Linux.md | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 sources/news/20140725 GOG.com Now Supports Linux.md diff --git a/sources/news/20140725 GOG.com Now Supports Linux.md b/sources/news/20140725 GOG.com Now Supports Linux.md new file mode 100644 index 0000000000..a20343e2dd --- /dev/null +++ b/sources/news/20140725 GOG.com Now Supports Linux.md @@ -0,0 +1,145 @@ +GOG.com Now Supports Linux! +================================================================================ +> 50 games for the free OS available right NOW! + +[![](http://www.gog.com/upload/images/2014/07/7c1e2e42f8c3c101468d4364759e9cdc3a1c01cb_small.jpg)][1] + +A while ago, [we've announced our plans][2] to add Linux support as one of the features of our digital platform, with 100 games on the launch day sometime this fall. We've put much time and effort into this project and now we've found ourselves with over 50 titles, classic and new, prepared for distribution, site infrastructure ready, support team trained and standing by, and absolutely no reason to wait until October or November. We're still aiming to have at least 100 Linux games in the coming months, but we've decided not to delay the launch just for the sake of having a nice-looking number to show off to the press. It's not about them, after all, it's about you. So, one of the most popular site feature requests on our [community wishlist][3] is granted today: Linux support has officially arrived on GOG.com! + +The first 50+ titles we've have in store for you come from all the corners of our DRM-Free catalog. Note that we've got many classic titles coming officially to Linux for the very first time, thanks to the custom builds prepared by our dedicated team of penguin tamers. That's over twenty fan-favorite GOG.com classics, like [FlatOut][4]&[Flatout 2][5], , [Darklands][6], or [Realms of the Haunting][7] we've personally ushered one by one into the welcoming embrace of Linux gamers. That's already quite a nice chunk of our back-catalog, and you can expect more from our dedicated Linux team soon! + +Now, for the recent titles. We've got some indie games with native Linux versions that finally find their well-deserved spot in our store. Among them, debuting on Linux, [CLARC][8] - a well received original comedic Sci-Fi puzzler. On top of that, be on the lookout for two new additions to the GOG.com catalog: [Gods Will Be Watching][9] (coming in a couple of hours) and [Unrest:Special Edition][10] (Linux build coming right up!), both of them very fresh and intriguing. This is the very first time we can provide you with all the PC versions of a premiere game, and we will continue to do so in the future. If there's a Linux version of a title we're releasing, our aim is to deliver it to you Day-1. But enough about us, let's talk about the games. Here's what you can be playing on Linux today: + +- [**Anomaly Warzone Earth**][11] +- [**Ascendant**][12] +- [**Bionic Dues**][13] +- [**Blake Stone: Aliens of Gold**][14] - first time on Linux! +- [**Blake Stone: Planet Strike**][15] - first time on Linux! +- [**Bloodnet**][16] - first time on Linux! +- [**Braveland**][17] +- [**CLARC**][18] - first time on Linux! +- [**Darklands**][19] - first time on Linux! +- [**Darwinia**][20] +- [**Defcon**][21] +- [**Don't Starve + DLC**][22] +- [**Dragonsphere**][23] - first time on Linux! +- [**Duke Nukem 3D: Atomic Edition**][24] +- [**FlatOut**][25] - first time on Linux! +- [**Flatout 2**][26] - first time on Linux! +- [**Fragile Allegiance**][27] - first time on Linux! +- [**Gemini Rue**][28] +- [**Gods Will Be Watching**][29] +- [**Hammerwatch**][30] +- [**Hocus Pocus**][31] - first time on Linux! +- [**Kentucky Route Zero**][32] +- [**The Last Federation**][33] +- [**Legend of Grimrock**][34] +- [**Litil Divil**][35] - first time on Linux! +- [**Long Live the Queen**][36] +- [**MouseCraft**][37] +- [**Multiwinia**][38] +- [**Normality**][39] - first time on Linux! +- [**Pinball Gold Pack**][40] - first time on Linux! +- [**Pinball World**][41] - first time on Linux! +- [**Pirates! Gold Plus**][42] - first time on Linux! +- [**Realms of the Haunting**][43] - first time on Linux! +- [**Rex Nebular and the Cosmic Gender Bender**][44] - first time on Linux! +- [**Rise of the Triad: Dark War**][45] - first time on Linux! +- [**Shattered Haven**][46] +- [**The Shivah HD**][47] +- [**Sid Meier's Colonization**][48] - first time on Linux! +- [**Sid Meier's Covert Action**][49] - first time on Linux! +- [**Sir, You Are Being Hunted**][50] +- [**Slipstream 5000**][51] - first time on Linux! +- [**Space Pirates and Zombies**][52] +- [**Spacechem**][53] +- [**Stargunner**][54] - first time on Linux! +- [**SteamWorld Dig**][55] +- [**Super Hexagon**][56] +- [**Surgeon Simulator 2013**][57] +- [**Sword of the Samurai**][58] - first time on Linux! +- [**Teslagrad**][59] +- [**Unrest:Special Edition**][60] (Linux build on the way!) +- [**Uplink**][61] +- [**VVVVVV**][62] + +As if this wasn't exciting enough, we've put more than half of these titles on a [special promo][63]! Head out to the [promo page][64] and find out which of them you can get up to 75% off until Tuesday, 9:59AM GMT. Of course, all of the games from the list above that you already own will be updated with Linux versions with no additional cost for you, just as you might have expected from GOG.com. + +"OK, but how will Linux support actually work on GOG.com" - you might ask. For both native Linux versions, as well as special builds prepared by our team, GOG.com will provide distro-independent tar.gz archives and support convenient DEB installers for the two most popular Linux distributions: Ubuntu and Mint, in their current and future LTS editions. Helpful and responsive customer support has always been an important part of the GOG.com gaming experience. We wouldn't have it any other way when it comes to Linux, and starting today our helpdesk offers support for our official Linux releases on Ubuntu and Mint systems. + +Diversity and freedom of choice have always been an important part of the GOG.com way. We're very glad that we could improve our service with the addition of the free (and DRM-Free) alternative to the commercial operating systems. Talking with gamers is just as important, so we're counting on your feedback! If you've got any questions, suggestions, or run into any trouble, just tell us in the forum thread below this post. Just please be gentle, this is [our very first time][65] with Linux. Happy launch day, everyone! + +-------------------------------------------------------------------------------- + +via: http://www.gog.com/news/gogcom_now_supports_linux + +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.gog.com/promo/linux_launch_promo_240714 +[2]:http://www.gog.com/news/gogcom_soon_on_more_platforms +[3]:http://www.gog.com/wishlist/site#search=linux +[4]:http://www.gog.com/game/flatout +[5]:http://www.gog.com/game/flatout_2 +[6]:http://www.gog.com/game/darklands +[7]:http://www.gog.com/game/realms_of_the_haunting +[8]:http://www.gog.com/game/clarc +[9]:http://www.gog.com/game/gods_will_be_watching +[10]:http://www.gog.com/game/unrest_special_edition +[11]:http://www.gog.com/game/anomaly_warzone_earth +[12]:http://www.gog.com/game/ascendant +[13]:http://www.gog.com/game/bionic_dues +[14]:http://www.gog.com/game/blake_stone_aliens_of_gold +[15]:http://www.gog.com/game/blake_stone_planet_strike +[16]:http://www.gog.com/game/bloodnet +[17]:http://www.gog.com/game/braveland +[18]:http://www.gog.com/game/clarc +[19]:http://www.gog.com/game/darklands +[20]:http://www.gog.com/game/darwinia +[21]:http://www.gog.com/game/defcon +[22]:http://www.gog.com/game/dont_starve +[23]:http://www.gog.com/game/dragonsphere +[24]:http://www.gog.com/game/duke_nukem_3d_atomic_edition +[25]:http://www.gog.com/game/flatout +[26]:http://www.gog.com/game/flatout_2 +[27]:http://www.gog.com/game/fragile_allegiance +[28]:http://www.gog.com/game/gemini_rue +[29]:http://www.gog.com/game/gods_will_be_watching +[30]:http://www.gog.com/game/hammerwatch +[31]:http://www.gog.com/game/hocus_pocus +[32]:http://www.gog.com/game/kentucky_route_zero_season_pass +[33]:http://www.gog.com/game/last_federation_the +[34]:http://www.gog.com/game/legend_of_grimrock +[35]:http://www.gog.com/game/litil_divil +[36]:http://www.gog.com/game/long_live_the_queen +[37]:http://www.gog.com/game/mousecraft +[38]:http://www.gog.com/game/multiwinia +[39]:http://www.gog.com/game/normality +[40]:http://www.gog.com/game/pinball_gold_pack +[41]:http://www.gog.com/game/pinball_world +[42]:http://www.gog.com/game/pirates_gold_plus +[43]:http://www.gog.com/game/realms_of_the_haunting +[44]:http://www.gog.com/game/rex_nebular_and_the_cosmic_gender_bender +[45]:http://www.gog.com/game/rise_of_the_triad__dark_war +[46]:http://www.gog.com/game/shattered_haven +[47]:http://www.gog.com/game/the_shivah +[48]:http://www.gog.com/game/sid_meiers_colonization +[49]:http://www.gog.com/game/sid_meiers_covert_action +[50]:http://www.gog.com/game/sir_you_are_being_hunted +[51]:http://www.gog.com/game/slipstream_5000 +[52]:http://www.gog.com/game/space_pirates_and_zombies +[53]:http://www.gog.com/game/spacechem +[54]:http://www.gog.com/game/stargunner +[55]:http://www.gog.com/game/steamworld_dig +[56]:http://www.gog.com/game/super_hexagon +[57]:http://www.gog.com/game/surgeon_simulator_2013 +[58]:http://www.gog.com/game/sword_of_the_samurai +[59]:http://www.gog.com/game/teslagrad +[60]:http://www.gog.com/game/unrest_special_edition +[61]:http://www.gog.com/game/uplink_hacker_elite +[62]:http://www.gog.com/game/vvvvvv +[63]:http://www.gog.com/promo/linux_launch_promo_240714 +[64]:http://www.gog.com/promo/linux_launch_promo_240714 +[65]:http://youtu.be/qBxbPts5tOk \ No newline at end of file From 6f213426fd918cfe02e1ce345134773eb49ebf79 Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Fri, 25 Jul 2014 17:03:07 +0800 Subject: [PATCH 227/291] Love-xuan translating --- sources/talk/20140724 Best Linux Browsers.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/talk/20140724 Best Linux Browsers.md b/sources/talk/20140724 Best Linux Browsers.md index 5463fea2d3..fe3960a89a 100644 --- a/sources/talk/20140724 Best Linux Browsers.md +++ b/sources/talk/20140724 Best Linux Browsers.md @@ -1,3 +1,4 @@ +Love-xuan翻译中 Best Linux Browsers ================================================================================ > Pros and cons of the best browsers for the Linux desktop, including Firefox, Chrome and other browsers. From b681fd35a4ff07260dd906d210a47eddd4a98538 Mon Sep 17 00:00:00 2001 From: cereuz Date: Fri, 25 Jul 2014 18:59:10 +0800 Subject: [PATCH 228/291] Update 20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md --- ...rosoft Office on Ubuntu--Install the Official Web Apps.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md index 4bc74cb38c..e299ec1bb3 100644 --- a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md +++ b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md @@ -1,3 +1,6 @@ +cereuz is translating + + Need Microsoft Office on Ubuntu? Install the Official Web Apps ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) @@ -54,4 +57,4 @@ via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-des [1]:http://www.libreoffice.org/ [2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing [3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ -[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ \ No newline at end of file +[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ From 14a3a3403446966bac28161822e1d289d6d549af Mon Sep 17 00:00:00 2001 From: hunanchenxingyu Date: Fri, 25 Jul 2014 19:02:26 +0800 Subject: [PATCH 229/291] =?UTF-8?q?hunanchenxinggyu=20=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E4=B8=AD...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...24 How to Merge Directory Trees in Linux using cp Command.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md b/sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md index 5ae836c791..c0790b2c03 100644 --- a/sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md +++ b/sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md @@ -1,3 +1,5 @@ +hunanchenxingyu translating .... +================================================================================ How to Merge Directory Trees in Linux using cp Command ================================================================================ How to merge two directory trees with similar layout into a third directory? Let us consider the following example to understand the problem. From adbf2bfa9b0a9c6b2620b62c1d51089734a824ac Mon Sep 17 00:00:00 2001 From: cereuz Date: Fri, 25 Jul 2014 20:22:50 +0800 Subject: [PATCH 230/291] Create 20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 删除申请已发,这里是翻译好的,请帮忙校对一下,谢谢。 --- ...e on Ubuntu--Install the Official Web Apps | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps diff --git a/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps b/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps new file mode 100644 index 0000000000..32991be99b --- /dev/null +++ b/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps @@ -0,0 +1,58 @@ +需要在Ubuntu上安装微软办公软件?去安装官方的网络应用程序 +================================================== ============================== +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) + +**这是微软办公软件及其一贯繁琐的文件指令,而不是每个人的一杯咖啡。同时这是许多工作和教育环境的主要依靠——无论是好还是坏** + +通过使用[LibreOffice的应用程序套件][1],阅读、编辑和保存这些专有指令出现在Ubuntu上是有着某种程度的可能。在作家中,Calc和Impress都不同程度的夸耀微软办公软件文件的协作性,但在我自己的实际操作经验中(谢天谢地,它很简洁!)它并不完美。 + +时不时的,你会不得不使用微软办公软件,(虽然我们大多数人都心里向着开放标准,但是我们不应该无视实际问题)但你已经没有意愿去购买一个完整的微软办公软件许可证来运行这个窗口模拟器,那么微软的在线网络应用程序是完美的解决方法。 + +###安装微软在线办公软件上的应用程序在Ubuntu### + +为了使从Ubuntu的桌面访问这些在线版本更容易,“Linux的网络应用程序项目”创造了一个小的、非官方的安装程序。它可以添加网络应用程序的快捷方式(“荣耀书签”)到您的应用程序启动器。 + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/microsoft-office-web-apps.jpg) + +通过快捷方式,相应的Microsoft Web应用程序在你默认的系统浏览器中打开,不可能有比这更精美的了。听起来漂亮吗?下面是你的应用程序的快捷方式: + +- 文档 +- 表格 +- 幻灯片 +- Outlook +- OneDrive +- 日历 +- OneNote +- 通讯录 + +该软件包还创建了一个新的应用程序类别来容纳这些链接,不但可以让您把这些快捷方式从其他应用程序单独分开来,而且是直接位于常见的“办公软件”应用程序下。 + +这些都是必不可少的吗?不见得。他们有用吗?这取决于你的工作流程。但它是不错的选择吗?一定是的。 + +你可以从下面的链接保存含有.deb文件安装程序,其中有安装链接。适用于Ubuntu14.04 LTS和更高版本。 + +- [下载微软的在线办公应用(.deb)][2] + +###其他可选项### + +![](http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/04/Screen-Shot-2014-04-15-at-15.29.35-350x200.png) + +类似的替代方案是[安装Chrome官方网上应用商店的在线办公应用程序][3],然后添加应用程序启动器到Linux。这次短跑中仍然会为它们创建可启动的快捷方式,但那些可以被设置为打开自己的窗框,而且不需要安装任何第三方软件包。 + +同时,谷歌最近在整合完整的Office功能(由于其购买了QuickOffice)[到自己的文档,幻灯片和床单应用][4]。Android应用程序Quickoffice退出了舞台,同时Chrome也实现了扩展。 + +如果你是一个深度的谷歌网络硬盘/文档的用户,那么这个解决方案可能对你是更加好了。 + +-------------------------------------------------- ------------------------------ + +via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-desktop + +译者:[cereuz](https://github.com/cereuz) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.libreoffice.org/ +[2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing +[3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ +[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ From f5b18d78e03fdf71e3661cb21b6f33dd6aa47fdd Mon Sep 17 00:00:00 2001 From: joeren Date: Fri, 25 Jul 2014 20:32:07 +0800 Subject: [PATCH 231/291] Update 20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md --- ...icrosoft Office on Ubuntu--Install the Official Web Apps.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md index 4bc74cb38c..e4ab25e917 100644 --- a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md +++ b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md @@ -1,3 +1,4 @@ +translating by GOLinux... Need Microsoft Office on Ubuntu? Install the Official Web Apps ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) @@ -54,4 +55,4 @@ via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-des [1]:http://www.libreoffice.org/ [2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing [3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ -[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ \ No newline at end of file +[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ From 45ae92fe3d9a39d07e0fa6e67a2f42728101e56c Mon Sep 17 00:00:00 2001 From: GOLinux Date: Fri, 25 Jul 2014 21:35:11 +0800 Subject: [PATCH 232/291] Translated:20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md --- ...n Ubuntu--Install the Official Web Apps.md | 58 ------------------- ...n Ubuntu--Install the Official Web Apps.md | 58 +++++++++++++++++++ 2 files changed, 58 insertions(+), 58 deletions(-) delete mode 100644 sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md create mode 100644 translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md diff --git a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md deleted file mode 100644 index e4ab25e917..0000000000 --- a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md +++ /dev/null @@ -1,58 +0,0 @@ -translating by GOLinux... -Need Microsoft Office on Ubuntu? Install the Official Web Apps -================================================================================ -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) - -**It’s not everyone’s cup of joe, but Microsoft Office and its family of finicky file formats are a mainstay of many working and educational environments — for better or worse.** - -Reading, editing and saving to these proprietary formats is sort of possible on Ubuntu using the [LibreOffice suite of apps][1]. Writer, Calc and Impress all boast varying degrees of Microsoft Office file interoperability, though in my own real world experience (thankfully brief) it’s not perfect. - -For the times you can’t go without using Office file formats (as ideological as most of us are about open standards, we shouldn’t be blind to practicalities) but you’ve no desire to purchase a full MS Office licence to run through WINE, the official set of Microsoft Office Online web apps are the perfect answer. - -### Install Microsoft Office Online Apps in Ubuntu ### - -To make accessing these online versions easier from the Ubuntu desktop, the ‘Linux Web Apps project’ has created a small, unofficial installer that adds web app shortcuts (“glorified bookmarks”) to your application launcher. - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/microsoft-office-web-apps.jpg) - -These are nothing more fancy than shortcuts to the respective Microsoft web app that opens in your default system browser. Sound nifty? You get application shortcuts for: - -- Word -- Excel -- PowerPoint -- Outlook -- OneDrive -- Calendar -- OneNote -- People - -The package also creates a new application category housing the links, letting you view the shortcuts separately from other applications as well as under the regular “office” apps directory. - -Are these essential? Not really. Are they useful? Depends on your workflow. But is it nice to have the option? For sure. - -You can grab the .deb installer containing the links from the link below and is suitable for Ubuntu 14.04 LTS and later. - -- [Download Microsoft Office Web Apps (.deb)][2] - -### Other Alternatives ### - -![](http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/04/Screen-Shot-2014-04-15-at-15.29.35-350x200.png) - -A similar alternative is to [install the official Office Online web applications from the Chrome Web Store][3], then add the app launcher to Linux. This will still create launchable shortcuts for them in the Dash, but ones that can be set to open in their own window frames and forgo the need to install any third-party packages. - -Similarly, Google recently folded in full Office capabilities (thanks to its purchase of QuickOffice) [into its own Docs, Slides and Sheets applications][4], retired the QuickOffice Android application and rebranded the companion Chrome extension. - -If you’re a heavy Google Drive/Docs user, this may be the better solution for you. - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-desktop - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.libreoffice.org/ -[2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing -[3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ -[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ diff --git a/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md b/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md new file mode 100644 index 0000000000..9bb144ef4a --- /dev/null +++ b/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md @@ -0,0 +1,58 @@ +Ubuntu上需要用微软Office?安装官方网页应用吧 +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) + +**尽管不想和所有人分一杯羹,但是微软Office和它过分挑剔的文件格式是许多工作和教育环境的主要支持 —— 不论好坏。** + +读取,编辑以及保存这些专有格式,在Ubuntu上可以通过[LibreOffice套件应用][1]成为可能。Writer,Calc和Impress都以其能和微软Office在不同程度上互操作而引以为傲,尽管以我的实际经验(值得庆幸,很简要)它并不完美。 + +对于你不能舍弃使用Office文件格式的时候(尽管在意识形态上,我们大多数人都坚守开放标准,但是我们也不应该对现实熟视无睹),而你也不想要购买完整的MS Office许可证来通过WINE运行,官方的微软Office在线网页应用套件是完美的解决方案。 + +### Ubuntu中安装微软Office在线应用 ### + + +要让这些在线版本更容易地在Ubuntu桌面上访问到,“Linux网页应用项目”已经为你创建了一个小巧的,非官方的安装器,它可以为你添加网页应用快捷方式(“炫书签”)到应用启动器。 + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/microsoft-office-web-apps.jpg) + +这些都没什么比把各个微软网页应用设置成快捷方式,然后通过默认的系统浏览器来打开它们更炫了。听上去很时髦?你可以为下面这些应用设置快捷方式: + +- Word +- Excel +- PowerPoint +- Outlook +- OneDrive +- Calendar +- OneNote +- People + +该包也创建了一个新的应用目录,用来收纳链接,可以让你像以往的“office”应用目录一样,从中查看各个快捷方式。 + +这些很有必要吗?不是很必要。它们很有用吗?这取决于你的工作流程。但是,有这样的选择不是很好吗?那是当然了。 + +你可以从下面的链接中获取包含这些链接的.deb安装器,它适用于Ubuntu 14.04以及后续版本。 + +- [下载微软Office网页应用(.deb)][2] + +### 其它选择 ### + +![](http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/04/Screen-Shot-2014-04-15-at-15.29.35-350x200.png) + +一个类似的选择,是[从Chrome网上商店安装官方Office在线网页应用][3],然后将该应用启动器添加到Linux中。这也会为它们在Dash中创建可启动快捷方式,但是这些可以设置为在它们自己的窗口框架中打开,而且可以忽略安装任何第三方包。 + +类似地,Google最近将完整的Office功能(多亏了它购买了QuickOffice)[加入到了它自己的Docs,Slides和Sheets应用中][4],收回了安卓版QuickOffice应用并重新命名了相应的Chrome扩展。 + +如果你是Google Drive/Docs的重度用户,这可能对你而言是个更加的解决方案。 + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-desktop + +译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.libreoffice.org/ +[2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing +[3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ +[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ From 2e56a67ea22bffba1b82ba44ad392b8dc2add573 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Fri, 25 Jul 2014 22:09:27 +0800 Subject: [PATCH 233/291] Revert "Translated:20140718 Need Microsoft Office on Ubuntu--Install the Officia..." --- ...n Ubuntu--Install the Official Web Apps.md | 58 +++++++++++++++++++ ...n Ubuntu--Install the Official Web Apps.md | 58 ------------------- 2 files changed, 58 insertions(+), 58 deletions(-) create mode 100644 sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md delete mode 100644 translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md diff --git a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md new file mode 100644 index 0000000000..e4ab25e917 --- /dev/null +++ b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md @@ -0,0 +1,58 @@ +translating by GOLinux... +Need Microsoft Office on Ubuntu? Install the Official Web Apps +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) + +**It’s not everyone’s cup of joe, but Microsoft Office and its family of finicky file formats are a mainstay of many working and educational environments — for better or worse.** + +Reading, editing and saving to these proprietary formats is sort of possible on Ubuntu using the [LibreOffice suite of apps][1]. Writer, Calc and Impress all boast varying degrees of Microsoft Office file interoperability, though in my own real world experience (thankfully brief) it’s not perfect. + +For the times you can’t go without using Office file formats (as ideological as most of us are about open standards, we shouldn’t be blind to practicalities) but you’ve no desire to purchase a full MS Office licence to run through WINE, the official set of Microsoft Office Online web apps are the perfect answer. + +### Install Microsoft Office Online Apps in Ubuntu ### + +To make accessing these online versions easier from the Ubuntu desktop, the ‘Linux Web Apps project’ has created a small, unofficial installer that adds web app shortcuts (“glorified bookmarks”) to your application launcher. + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/microsoft-office-web-apps.jpg) + +These are nothing more fancy than shortcuts to the respective Microsoft web app that opens in your default system browser. Sound nifty? You get application shortcuts for: + +- Word +- Excel +- PowerPoint +- Outlook +- OneDrive +- Calendar +- OneNote +- People + +The package also creates a new application category housing the links, letting you view the shortcuts separately from other applications as well as under the regular “office” apps directory. + +Are these essential? Not really. Are they useful? Depends on your workflow. But is it nice to have the option? For sure. + +You can grab the .deb installer containing the links from the link below and is suitable for Ubuntu 14.04 LTS and later. + +- [Download Microsoft Office Web Apps (.deb)][2] + +### Other Alternatives ### + +![](http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/04/Screen-Shot-2014-04-15-at-15.29.35-350x200.png) + +A similar alternative is to [install the official Office Online web applications from the Chrome Web Store][3], then add the app launcher to Linux. This will still create launchable shortcuts for them in the Dash, but ones that can be set to open in their own window frames and forgo the need to install any third-party packages. + +Similarly, Google recently folded in full Office capabilities (thanks to its purchase of QuickOffice) [into its own Docs, Slides and Sheets applications][4], retired the QuickOffice Android application and rebranded the companion Chrome extension. + +If you’re a heavy Google Drive/Docs user, this may be the better solution for you. + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-desktop + +译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.libreoffice.org/ +[2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing +[3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ +[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ diff --git a/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md b/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md deleted file mode 100644 index 9bb144ef4a..0000000000 --- a/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md +++ /dev/null @@ -1,58 +0,0 @@ -Ubuntu上需要用微软Office?安装官方网页应用吧 -================================================================================ -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) - -**尽管不想和所有人分一杯羹,但是微软Office和它过分挑剔的文件格式是许多工作和教育环境的主要支持 —— 不论好坏。** - -读取,编辑以及保存这些专有格式,在Ubuntu上可以通过[LibreOffice套件应用][1]成为可能。Writer,Calc和Impress都以其能和微软Office在不同程度上互操作而引以为傲,尽管以我的实际经验(值得庆幸,很简要)它并不完美。 - -对于你不能舍弃使用Office文件格式的时候(尽管在意识形态上,我们大多数人都坚守开放标准,但是我们也不应该对现实熟视无睹),而你也不想要购买完整的MS Office许可证来通过WINE运行,官方的微软Office在线网页应用套件是完美的解决方案。 - -### Ubuntu中安装微软Office在线应用 ### - - -要让这些在线版本更容易地在Ubuntu桌面上访问到,“Linux网页应用项目”已经为你创建了一个小巧的,非官方的安装器,它可以为你添加网页应用快捷方式(“炫书签”)到应用启动器。 - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/microsoft-office-web-apps.jpg) - -这些都没什么比把各个微软网页应用设置成快捷方式,然后通过默认的系统浏览器来打开它们更炫了。听上去很时髦?你可以为下面这些应用设置快捷方式: - -- Word -- Excel -- PowerPoint -- Outlook -- OneDrive -- Calendar -- OneNote -- People - -该包也创建了一个新的应用目录,用来收纳链接,可以让你像以往的“office”应用目录一样,从中查看各个快捷方式。 - -这些很有必要吗?不是很必要。它们很有用吗?这取决于你的工作流程。但是,有这样的选择不是很好吗?那是当然了。 - -你可以从下面的链接中获取包含这些链接的.deb安装器,它适用于Ubuntu 14.04以及后续版本。 - -- [下载微软Office网页应用(.deb)][2] - -### 其它选择 ### - -![](http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/04/Screen-Shot-2014-04-15-at-15.29.35-350x200.png) - -一个类似的选择,是[从Chrome网上商店安装官方Office在线网页应用][3],然后将该应用启动器添加到Linux中。这也会为它们在Dash中创建可启动快捷方式,但是这些可以设置为在它们自己的窗口框架中打开,而且可以忽略安装任何第三方包。 - -类似地,Google最近将完整的Office功能(多亏了它购买了QuickOffice)[加入到了它自己的Docs,Slides和Sheets应用中][4],收回了安卓版QuickOffice应用并重新命名了相应的Chrome扩展。 - -如果你是Google Drive/Docs的重度用户,这可能对你而言是个更加的解决方案。 - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-desktop - -译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.libreoffice.org/ -[2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing -[3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ -[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ From 4941a4ba330dc56e892f4590e7be565be173d467 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Fri, 25 Jul 2014 22:10:29 +0800 Subject: [PATCH 234/291] Revert "Translating: 20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md" --- ...icrosoft Office on Ubuntu--Install the Official Web Apps.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md index e4ab25e917..4bc74cb38c 100644 --- a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md +++ b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md @@ -1,4 +1,3 @@ -translating by GOLinux... Need Microsoft Office on Ubuntu? Install the Official Web Apps ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) @@ -55,4 +54,4 @@ via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-des [1]:http://www.libreoffice.org/ [2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing [3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ -[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ +[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ \ No newline at end of file From a9a628654709c3ecc7679f1566c1df57a8a8702f Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 25 Jul 2014 22:15:13 +0800 Subject: [PATCH 235/291] =?UTF-8?q?=E8=A1=A5=E5=85=85=E5=88=A0=E9=99=A4~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n Ubuntu--Install the Official Web Apps.md | 60 ------------------- 1 file changed, 60 deletions(-) delete mode 100644 sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md diff --git a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md b/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md deleted file mode 100644 index e299ec1bb3..0000000000 --- a/sources/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps.md +++ /dev/null @@ -1,60 +0,0 @@ -cereuz is translating - - -Need Microsoft Office on Ubuntu? Install the Official Web Apps -================================================================================ -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) - -**It’s not everyone’s cup of joe, but Microsoft Office and its family of finicky file formats are a mainstay of many working and educational environments — for better or worse.** - -Reading, editing and saving to these proprietary formats is sort of possible on Ubuntu using the [LibreOffice suite of apps][1]. Writer, Calc and Impress all boast varying degrees of Microsoft Office file interoperability, though in my own real world experience (thankfully brief) it’s not perfect. - -For the times you can’t go without using Office file formats (as ideological as most of us are about open standards, we shouldn’t be blind to practicalities) but you’ve no desire to purchase a full MS Office licence to run through WINE, the official set of Microsoft Office Online web apps are the perfect answer. - -### Install Microsoft Office Online Apps in Ubuntu ### - -To make accessing these online versions easier from the Ubuntu desktop, the ‘Linux Web Apps project’ has created a small, unofficial installer that adds web app shortcuts (“glorified bookmarks”) to your application launcher. - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/microsoft-office-web-apps.jpg) - -These are nothing more fancy than shortcuts to the respective Microsoft web app that opens in your default system browser. Sound nifty? You get application shortcuts for: - -- Word -- Excel -- PowerPoint -- Outlook -- OneDrive -- Calendar -- OneNote -- People - -The package also creates a new application category housing the links, letting you view the shortcuts separately from other applications as well as under the regular “office” apps directory. - -Are these essential? Not really. Are they useful? Depends on your workflow. But is it nice to have the option? For sure. - -You can grab the .deb installer containing the links from the link below and is suitable for Ubuntu 14.04 LTS and later. - -- [Download Microsoft Office Web Apps (.deb)][2] - -### Other Alternatives ### - -![](http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/04/Screen-Shot-2014-04-15-at-15.29.35-350x200.png) - -A similar alternative is to [install the official Office Online web applications from the Chrome Web Store][3], then add the app launcher to Linux. This will still create launchable shortcuts for them in the Dash, but ones that can be set to open in their own window frames and forgo the need to install any third-party packages. - -Similarly, Google recently folded in full Office capabilities (thanks to its purchase of QuickOffice) [into its own Docs, Slides and Sheets applications][4], retired the QuickOffice Android application and rebranded the companion Chrome extension. - -If you’re a heavy Google Drive/Docs user, this may be the better solution for you. - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-desktop - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.libreoffice.org/ -[2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing -[3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ -[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ From 7826f4a85da6e764319abda3efc287f5f1f8538f Mon Sep 17 00:00:00 2001 From: wxy Date: Fri, 25 Jul 2014 22:35:46 +0800 Subject: [PATCH 236/291] =?UTF-8?q?=E5=88=A0=E9=99=A4=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=96=87=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @DeadFire 这篇之前发过了,并已经翻译过了 --- ...Collecting Information of Linux Systems.md | 191 ------------------ 1 file changed, 191 deletions(-) delete mode 100644 sources/tech/20140724 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md diff --git a/sources/tech/20140724 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md b/sources/tech/20140724 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md deleted file mode 100644 index 87f92eac72..0000000000 --- a/sources/tech/20140724 7 dmesg Commands for Troubleshooting and Collecting Information of Linux Systems.md +++ /dev/null @@ -1,191 +0,0 @@ -7 ‘dmesg’ Commands for Troubleshooting and Collecting Information of Linux Systems -================================================================================ -The ‘dmesg‘ command displays the messages from the kernel ring buffer. A system passes multiple runlevel from where we can get lot of information like system architecture, cpu, attached device, RAM etc. When computer boots up, a kernel (core of an operating system) is loaded into memory. During that period number of messages are being displayed where we can see hardware devices detected by kernel. - -![dmesg Command Examples](http://www.tecmint.com/wp-content/uploads/2014/07/dmesg-Command-Examples.png) -dmesg Command Examples - -The messages are very important in terms of diagnosing purpose in case of device failure. When we connect or disconnect hardware device on the system, with the help of dmesg command we come to know detected or disconnected information on the fly. The **dmesg** command is available on most **Linux and Unix** based Operating System. - -Let’s throw some light on most famous tool called ‘dmesg’ command with their practical examples as discussed below. The exact syntax of dmesg as follows. - - # dmseg [options...] - -### 1. List all loaded Drivers in Kernel ### - -We can use text-manipulation tools i.e. ‘**more**‘, ‘**tail**‘, ‘**less**‘ or ‘**grep**‘ with dmesg command. As output of dmesg log won’t fit on a single page, using dmesg with pipe more or less command will display logs in a single page. - - [root@tecmint.com ~]# dmesg | more - [root@tecmint.com ~]# dmesg | less - -#### Sample Output #### - - [ 0.000000] Initializing cgroup subsys cpuset - [ 0.000000] Initializing cgroup subsys cpu - [ 0.000000] Initializing cgroup subsys cpuacct - [ 0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 - (Ubuntu 3.11.0-13.20-generic 3.11.6) - [ 0.000000] KERNEL supported cpus: - [ 0.000000] Intel GenuineIntel - [ 0.000000] AMD AuthenticAMD - [ 0.000000] NSC Geode by NSC - [ 0.000000] Cyrix CyrixInstead - [ 0.000000] Centaur CentaurHauls - [ 0.000000] Transmeta GenuineTMx86 - [ 0.000000] Transmeta TransmetaCPU - [ 0.000000] UMC UMC UMC UMC - [ 0.000000] e820: BIOS-provided physical RAM map: - [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable - [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved - [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable - [ 0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS - [ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data - [ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved - [ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved - [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] reserved - [ 0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved - [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] reserved - [ 0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved - [ 0.000000] NX (Execute Disable) protection: active - ..... - -### 2. List all Detected Devices ### - -To discover which hard disks has been detected by kernel, you can search for the keyword “**sda**” along with “**grep**” like shown below. - - [root@tecmint.com ~]# dmesg | grep sda - - [ 1.280971] sd 2:0:0:0: [sda] 488281250 512-byte logical blocks: (250 GB/232 GiB) - [ 1.281014] sd 2:0:0:0: [sda] Write Protect is off - [ 1.281016] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00 - [ 1.281039] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA - [ 1.359585] sda: sda1 sda2 < sda5 sda6 sda7 sda8 > - [ 1.360052] sd 2:0:0:0: [sda] Attached SCSI disk - [ 2.347887] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) - [ 22.928440] Adding 3905532k swap on /dev/sda6. Priority:-1 extents:1 across:3905532k FS - [ 23.950543] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro - [ 24.134016] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null) - [ 24.330762] EXT4-fs (sda7): mounted filesystem with ordered data mode. Opts: (null) - [ 24.561015] EXT4-fs (sda8): mounted filesystem with ordered data mode. Opts: (null) - -**NOTE**: The ‘sda’ first SATA hard drive, ‘sdb’ is the second SATA hard drive and so on. Search with ‘hda’ or ‘hdb’ in the case of IDE hard drive. - -### 3. Print Only First 20 Lines of Output ### - -The ‘head’ along with dmesg will show starting lines i.e. ‘dmesg | head -20′ will print only 20 lines from the starting point. - - [root@tecmint.com ~]# dmesg | head -20 - - [ 0.000000] Initializing cgroup subsys cpuset - [ 0.000000] Initializing cgroup subsys cpu - [ 0.000000] Initializing cgroup subsys cpuacct - [ 0.000000] Linux version 3.11.0-13-generic (buildd@aatxe) (gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8) ) #20-Ubuntu SMP Wed Oct 23 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-generic 3.11.6) - [ 0.000000] KERNEL supported cpus: - [ 0.000000] Intel GenuineIntel - [ 0.000000] AMD AuthenticAMD - [ 0.000000] NSC Geode by NSC - [ 0.000000] Cyrix CyrixInstead - [ 0.000000] Centaur CentaurHauls - [ 0.000000] Transmeta GenuineTMx86 - [ 0.000000] Transmeta TransmetaCPU - [ 0.000000] UMC UMC UMC UMC - [ 0.000000] e820: BIOS-provided physical RAM map: - [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable - [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved - [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007dc08bff] usable - [ 0.000000] BIOS-e820: [mem 0x000000007dc08c00-0x000000007dc5cbff] ACPI NVS - [ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data - [ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved - -### 4. Print Only Last 20 Lines of Output ### - -### 4. Print Only Last 20 Lines of Output ### - -The ‘tail’ along with dmesg command will print only 20 last lines, this is useful in case we insert removable device. - - [root@tecmint.com ~]# dmesg | tail -20 - - parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE] - ppdev: user-space parallel port driver - EXT4-fs (sda1): mounted filesystem with ordered data mode - Adding 2097144k swap on /dev/sda2. Priority:-1 extents:1 across:2097144k - readahead-disable-service: delaying service auditd - ip_tables: (C) 2000-2006 Netfilter Core Team - nf_conntrack version 0.5.0 (16384 buckets, 65536 max) - NET: Registered protocol family 10 - lo: Disabled Privacy Extensions - e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None - Slow work thread pool: Starting up - Slow work thread pool: Ready - FS-Cache: Loaded - CacheFiles: Loaded - CacheFiles: Security denies permission to nominate security context: error -95 - eth0: no IPv6 routers present - type=1305 audit(1398268784.593:18630): audit_enabled=0 old=1 auid=4294967295 ses=4294967295 res=1 - readahead-collector: starting delayed service auditd - readahead-collector: sorting - readahead-collector: finished - -### 5. Search Detected Device or Particular String ### - -It’s difficult to search particular string due to length of dmesg output. So, filter the lines with are having string like ‘**usb**‘ ‘**dma**‘ ‘**tty**‘ and ‘**memory**‘ etc. The ‘-i’ option instruct to [grep command][1] to ignore the case (upper or lower case letters). - - [root@tecmint.com log]# dmesg | grep -i usb - [root@tecmint.com log]# dmesg | grep -i dma - [root@tecmint.com log]# dmesg | grep -i tty - [root@tecmint.com log]# dmesg | grep -i memory - -#### Sample Output #### - - [ 0.000000] Scanning 1 areas for low memory corruption - [ 0.000000] initial memory mapped: [mem 0x00000000-0x01ffffff] - [ 0.000000] Base memory trampoline at [c009b000] 9b000 size 16384 - [ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff] - [ 0.000000] init_memory_mapping: [mem 0x37800000-0x379fffff] - [ 0.000000] init_memory_mapping: [mem 0x34000000-0x377fffff] - [ 0.000000] init_memory_mapping: [mem 0x00100000-0x33ffffff] - [ 0.000000] init_memory_mapping: [mem 0x37a00000-0x37bfdfff] - [ 0.000000] Early memory node ranges - [ 0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x000effff] - [ 0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff] - [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups - [ 0.000000] Memory: 2003288K/2059928K available (6352K kernel code, 607K rwdata, 2640K rodata, 880K init, 908K bss, 56640K reserved, 1146920K highmem) - [ 0.000000] virtual kernel memory layout: - [ 0.004291] Initializing cgroup subsys memory - [ 0.004609] Freeing SMP alternatives memory: 28K (c1a3e000 - c1a45000) - [ 0.899622] Freeing initrd memory: 23616K (f51d0000 - f68e0000) - [ 0.899813] Scanning for low memory corruption every 60 seconds - [ 0.946323] agpgart-intel 0000:00:00.0: detected 32768K stolen memory - [ 1.360318] Freeing unused kernel memory: 880K (c1962000 - c1a3e000) - [ 1.429066] [drm] Memory usable by graphics device = 2048M - -### 6. Clear dmesg Buffer Logs ### - -Yes, we can clear dmesg logs if required with below command. It will clear dmesg ring buffer message logs till you executed the command below. Still you can view logs stored in ‘**/var/log/dmesg**‘ files. If you connect any device will generate dmesg output. - - [root@tecmint.com log]# dmesg -c - -### 7. Monitoring dmesg in Real Time ### - -Some distro allows command ‘tail -f /var/log/dmesg’ as well for real time dmesg monitoring. - - [root@tecmint.com log]# watch "dmesg | tail -20" - -Conclusion: The dmesg command is useful as dmesg records all the system changes done or occur in real time. As always you can man dmesg to get more information. - --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/dmesg-commands/ - -原文作者: - -![](http://1.gravatar.com/avatar/36c7c25164c3455f2f711b01e395de0d?s=80&d=blank&r=G) - -[Narad Shrestha][a](He has over 10 years of rich IT experience which includes various Linux Distros, FOSS and Networking. Narad always believes sharing IT knowledge with others and adopts new technology with ease.) - -译者:[译者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/navin/ -[1]:http://www.tecmint.com/12-practical-examples-of-linux-grep-command/ \ No newline at end of file From 343785f6776fb2400660eda93e37c4318f96ae7c Mon Sep 17 00:00:00 2001 From: hunanchenxingyu Date: Fri, 25 Jul 2014 23:38:49 +0800 Subject: [PATCH 237/291] =?UTF-8?q?=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90=20?= =?UTF-8?q?by=20hunanchenxingyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rectory Trees in Linux using cp Command.md | 77 ------------------ ...rectory Trees in Linux using cp Command.md | 78 +++++++++++++++++++ 2 files changed, 78 insertions(+), 77 deletions(-) delete mode 100644 sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md create mode 100644 translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md diff --git a/sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md b/sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md deleted file mode 100644 index c0790b2c03..0000000000 --- a/sources/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md +++ /dev/null @@ -1,77 +0,0 @@ -hunanchenxingyu translating .... -================================================================================ -How to Merge Directory Trees in Linux using cp Command -================================================================================ -How to merge two directory trees with similar layout into a third directory? Let us consider the following example to understand the problem. - -Suppose two directories dir1 and dir2 have 3 sub-directories a, b and c in each of them. The directory layout is like below: - -![Layout of input directories](http://linoxide.com/wp-content/uploads/2014/07/01.merge_dir_layout.png) -Layout of input directories - -These directories a, b and c have some files in them. The output of tree command will illustrate better: - -![Layout of files](http://linoxide.com/wp-content/uploads/2014/07/02.merge_file_layout.png) -Layout of files - -### 1. Using cp to create merge: ### - -Now we want to merge these two directories into a third directory, say “merged”. -The simplest thing that you can do to achieve this is to copy recursively the directories like below: - -![Copy directories recursively to create new merge](http://linoxide.com/wp-content/uploads/2014/07/03.merge_cp_recursive.png) -Copy directories recursively to create new merge - -#### 1.1 Problem with cp command and alternative: #### - -The problem with this approach is that the files created inside merged directory are copy of original files, and not the original files themselves. But wait, (you might be asking yourself) what is the problem if the files are not original? So to answer your question, consider the situation where you have large number of bulky files. In that case, copying all the files might take hours. - -Now let’s get back and try the same with mv command instead of cp. - -![Attempt to merge with mv command](http://linoxide.com/wp-content/uploads/2014/07/04.merge_mv_recursive.png) -Attempt to merge with mv command - -The directories are not merged. So we cannot use mv command to merge directories like this. -Now how can you keep the original files inside “merged” directory? - -### 2. The solution: ### - -The cp command has a very useful option to draw us out of this situation. -The -l or --link option to cp aommand creates the hard links instead of copying the files themselves. Let us try with that. - -Before trying out the hard link option to cp command, let us print the inode number of the original files. -The tree command has option to print the inodes with --inodes option: - -![Display inodes of original files](http://linoxide.com/wp-content/uploads/2014/07/05.merge_display_inodes.png) -Display inodes of original files - -Now we have the inodes listed here, we can proceed to creating the hard links with --link option to cp command: - -![Merge directories with hard links](http://linoxide.com/wp-content/uploads/2014/07/06.merge_create_links.png) -Merge directories with hard links - -#### 2.1 Verify the files: #### - -Now the files are copied, let us verify if the inodes match with original files: - -![Verify Inodes](http://linoxide.com/wp-content/uploads/2014/07/07.merge_verify_inodes.png) -Verify Inodes - -#### 2.2 Cleanup: #### - -As you can see that the files have same inodes as original files. Now the problem is solved and we have the original files inside merged directory. We can now cleanup by removing the directories dir1 and dir2. - -![Remove original directories](http://linoxide.com/wp-content/uploads/2014/07/08.merge_cleanup.png) -Remove original directories - --------------------------------------------------------------------------------- - -via: http://linoxide.com/linux-command/merge-directory-trees-linux/ - -原文作者:[Raghu][a] - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://linoxide.com/author/raghu/ \ No newline at end of file diff --git a/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md b/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md new file mode 100644 index 0000000000..2f9beebd09 --- /dev/null +++ b/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md @@ -0,0 +1,78 @@ +在linux中怎样使用cp命令合并目录树 +================================================================================ +怎样将布局相似的两个目录树合并成新的目录树? 为理解该问题让我们思考下面的例子. + +假设dir1和dir2目录中分别有3个子目录a,b和c.目录布局如下所示: + +![Layout of input directories](http://linoxide.com/wp-content/uploads/2014/07/01.merge_dir_layout.png) +输入目录布局 + +在目录a,b和c中有一些文件,tree命令的输出将能更好的说明: + +![Layout of files](http://linoxide.com/wp-content/uploads/2014/07/02.merge_file_layout.png) +文件布局 + +### 1. 使用cp命令创建合并: ### + +现在我们将这两个目录合并成一个新的目录,如"merged".完成上述操作最简单的方式就是递归 +复制目录,如下图所示: + +![Copy directories recursively to create new merge](http://linoxide.com/wp-content/uploads/2014/07/03.merge_cp_recursive.png) +递归复制完成新的合并 + +#### 1.1 cp命令和替换带来的问题: #### + +这种方式所带来的问题是该合并目录中所创建的文件为原文件的副本,并非原文件本身. 别急, (你可能正在问自己) 如果不是原文件又有什么问题? 为了回答你的问题,考虑下你有很多大文件的情况 +.那种情形下,复制所有的文件可能消耗数小时. + +现在让我们回到刚那问题上,且尝试使用mv命令而不是cp命令. + +![Attempt to merge with mv command](http://linoxide.com/wp-content/uploads/2014/07/04.merge_mv_recursive.png) +企图使用mv命令进行合并操作 + +这些目录不能被合并.因此我们不能像这样使用mv命令去合并目录. +现在你该怎样将原文件保存到"merged"目录中? + +### 2. 方法: ### + +cp命令有一个非常有用的选项来帮助我们摆脱这种状况. +cp命令的-l 或 --link选项能够创建硬链接而非原文件副本.让我们尝试一下. + +在我们尝试cp命令的硬链接选项前,让我们查看一下原文件的inode号码. +可通过tree命令--inodes选项来查看inodes: + +![Display inodes of original files](http://linoxide.com/wp-content/uploads/2014/07/05.merge_display_inodes.png) +原文件的inodes + +现在我们有了inodes的列表,对于cp命令可通过--link选项创建硬链接: + +![Merge directories with hard links](http://linoxide.com/wp-content/uploads/2014/07/06.merge_create_links.png) +使用硬链接合并的目录 + +#### 2.1 验证文件: #### + +现在文件已经被复制,让我们验证一下inodes是否和原文件匹配: + +![Verify Inodes](http://linoxide.com/wp-content/uploads/2014/07/07.merge_verify_inodes.png) +Verify Inodes + +#### 2.2 清除: #### + + +正如你所看到的,这些文件的inodes和原文件的一样.现在 那问题已经被解决,且 +原文件已被复制到合并目录中.现在我们能够移除dir1和dir2目录. + +![Remove original directories](http://linoxide.com/wp-content/uploads/2014/07/08.merge_cleanup.png) +移除原始目录 + +-------------------------------------------------------------------------------- + +via: http://linoxide.com/linux-command/merge-directory-trees-linux/ + +原文作者:[Raghu][a] + +译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://linoxide.com/author/raghu/ \ No newline at end of file From eb0426336aa7ad9bf0e74f79e224a5146e2c694b Mon Sep 17 00:00:00 2001 From: Oolong Tea Date: Sat, 26 Jul 2014 23:18:20 +0800 Subject: [PATCH 238/291] =?UTF-8?q?=E4=B9=8C=E9=BE=99=E8=8C=B6=20=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...SteamOS--A Linux-based Gaming Operating System Announced.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/talk/20140616 Valve SteamOS--A Linux-based Gaming Operating System Announced.md b/sources/talk/20140616 Valve SteamOS--A Linux-based Gaming Operating System Announced.md index 174360e754..a65c9c609d 100644 --- a/sources/talk/20140616 Valve SteamOS--A Linux-based Gaming Operating System Announced.md +++ b/sources/talk/20140616 Valve SteamOS--A Linux-based Gaming Operating System Announced.md @@ -1,3 +1,4 @@ +乌龙茶 占坑 Valve SteamOS: A Linux-based Gaming Operating System Announced ================================================================================ ![](http://s0.cyberciti.org/images/faq/2013/09/steam-os.jpg) @@ -31,4 +32,4 @@ via: http://www.cyberciti.biz/linux-games/valve-announces-linux-based-steamos/ 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[1]:http://store.steampowered.com/livingroom/SteamOS/ \ No newline at end of file +[1]:http://store.steampowered.com/livingroom/SteamOS/ From c62619c100ce5a39f5149c08b9433274adb827cd Mon Sep 17 00:00:00 2001 From: disylee Date: Sun, 27 Jul 2014 13:13:15 +0800 Subject: [PATCH 239/291] translated by disylee 2014-7-17 --- ...0618 110 Fun Open Source Games and Apps.md | 593 ----------------- ...0723 110 Fun Open Source Games and Apps.md | 615 ++++++++++++++++++ 2 files changed, 615 insertions(+), 593 deletions(-) delete mode 100644 sources/talk/20140618 110 Fun Open Source Games and Apps.md create mode 100644 sources/talk/20140723 110 Fun Open Source Games and Apps.md diff --git a/sources/talk/20140618 110 Fun Open Source Games and Apps.md b/sources/talk/20140618 110 Fun Open Source Games and Apps.md deleted file mode 100644 index c4a59eb1ab..0000000000 --- a/sources/talk/20140618 110 Fun Open Source Games and Apps.md +++ /dev/null @@ -1,593 +0,0 @@ -translating by disylee 20140701 -110 Fun Open Source Games and Apps -================================================================================ -Once again, we're celebrating the arrival of summer with a list of some of the best open source games available. We've updated [last year's list][1] with some new arrivals, as well as getting rid of some of the older games that are no longer under active development. You'll find arcade, board, casual, puzzle, educational, first-person shooter, music, racing, role-playing, adventure, simulator and strategy games, as a well as a few apps that aren't really games but are still a lot of fun. - -This year, more open source games than ever before are now available for mobile devices, primarily Android devices. Hopefully, this trend will continue in coming years. - -Please note that this list is not a ranking. The apps are arranged in categories and listed alphabetically within each category. - -If you would like to suggest a game for next year's version of the list, feel free to make note in the comments section below. - -### Arcade Games ### - -#### 1. [Andy's Super Great Park][2] #### - -Retrieve balloons while avoiding obstacles as you ride a roller coaster. Comes with 25 main levels, plus 18 more levels you can unlock by getting a high score. Operating System: Windows, Linux, Android. - -#### 2. [Armagetron Advanced][3] #### - -A 3D Tron clone, this game challenges you to guide your light cycle so that opponents run into a wall before you do. It supports single-player or networked games with up to 16 players. Operating System: Windows, Linux, OS X, Android. - -#### 3. [BZFlag][4] #### - -Also known as "Battle Zone Capture the Flag," BZFlag is a popular online tank game. In development since 1992, it features 3D graphics, multiple game modes and competitive multi-player matches. Operating System: Windows, Linux, OS X. - -#### 4. [Chromium B.S.U.][5] #### - -Don't let the name fool you—it has nothing to do with the Chromium browser. It's a fast-paced, top-scrolling shooter where the difficulty is set so that games will last less than fifteen minutes. Operating System: Windows, Linux. - -#### 5. [The Legend of Edgar][6] #### - -Legend of Edgar is an old-school platform game where the hero must overcome obstacles and enemies in order to accomplish his quest. It includes lots of different weapons and large levels. Operating System: Windows, Linux, OS X. - -#### 6. [JVGS][7] #### - -Instead of highly detailed graphics, JVGS takes a minimalist approach where stick figures cross a landscape that looks like it was hand-drawn in pencil. The main character in this highly unusual game is a poet who is losing his memories. Operating System: Windows, Linux, OS X. - -#### 7. [No Gravity][8] #### - -This space-based arcade shooter takes players to the year 8002 where they must complete a variety of missions. Related, but not free, games are also available for Android and iOS. Operating System: Windows, Linux, OS X. - -#### 8. [Open Sonic][9] #### - -Based on the Sonic the Hedgehog games, Open Sonic offers cooperative gameplay where the user can control three characters at once. Only two levels are available in the original game, but several fans have built mods that offer additional play. Operating System: Windows, Linux, OS X. - -#### 9. [Powermanga][10] #### - -Similar to the old arcade game Galaga, Powermanga is a 2D, top-scrolling space shooter. It's got more than 41 levels, and it can run on older hardware. Operating System: Linux. - -#### 10. [Scorched3D][11] #### - -Scorched3D is a modern take on the DOS game Scorched Earth, and it's noteworthy for its excellent graphics. You can play in single-player mode or connect to one of the many online servers for multi-player action. Operating System: Windows, Linux, OS X. - -#### 11. [Sonic Robo Blast 2][12] #### - -Another Sonic-inspired platform game, SRB2 is a 3D platform game built using the Doom engine. It includes three different playable characters and more than twenty levels. Operating System: Linux. - -#### 12. [SuperTux][13] #### - -SuperTux is a lot like the old Mario Bros. games, but with Tux the Linux penguin as the hero. It's a 2D side-scrolling platform game with nine different bad guys and 26 levels to play. Operating System: Windows, Linux, OS X. - -#### 13. [Those Funny Funguloids][14] #### - -This one-of-a-kind game challenges players to collect mushrooms in space. The website proclaims, "Never before has collecting mushrooms been this mildly entertaining. At least not in outer space. It's more of a lifestyle than a game, really." Operating System: Windows, Linux. - -#### 14. [Teeworlds][15] #### - -This online game describes itself as a "retro multiplayer shooter." It's a side-scrolling 2D game with support for up to 16 players and several different game modes. Operating System: Windows, Linux, OS X. - -#### 15. [XMoto][16] #### - -In this game, you ride a motorbike through a side-scrolling landscape while collecting strawberries and avoiding the spiky "wreckers." It's harder than it looks! Operating System: Windows, Linux, OS X. - -#### 16. [Yo Frankie!][17] #### - -Created with the Blender open source 3D animation tool, Yo Frankie! features characters from the open source movie Peach. Players must guide Frankie, a sugar glider, or Momo, a monkey, over, around and through the obstacles in a highly detailed 3D environment. Operating System: Windows, Linux, OS X. - -### Board Games ### - -#### 17. [Domination][18] #### - -Java-based Domination brings the board game Risk to your PC or Android device. The latest version lets you play against your Google+ friends through the Google Play Game Services Real-time Multiplayer feature. Operating System: Windows, Linux, OS X, Android. - -#### 18. [GNU Backgammon][19] #### - -This "world-class" backgammon engine gets better every time you play against it, and it can analyze your play to help you get better. The interface is very nice with customizable graphics. Operating System: Windows, Linux, OS X. - -#### 19. [Scrabble 3D][20] #### - -With this variation of Scrabble you can choose your own board—the classic version, Superscrabble, 3D Scrabble or your own custom board. Play against the AI or connect to an online server for multi-player games. Operating System: Windows, Linux, OS X. - -#### 20. [PokerTH][21] #### - -This high-quality Texas Hold 'Em app features an excellent, customizable interface. To play online and see how you rank against other players, register online at Poker-Heroes.com. Operating System: Windows, Linux, OS X, Android. - -#### 21. [PySolFC][22] #### - -Did you know there were more than 1,000 variations of Solitaire? This huge collection features "games that use the 52 card International Pattern deck, games for the 78 card Tarock deck, eight and ten suit Ganjifa games, Hanafuda games, Matrix games, Mahjongg games, and games for an original hexadecimal-based deck." Operating System: Windows, Linux, OS X. - -### Casual and Puzzle Games ### - -#### 22. [2048][23] #### - -In this simple but addictive puzzle game, the player moves blocks around to combine like numbers. You win when you hit 2048. Operating System: Online, iOS, Android. - -#### 23. [Billiards][24] #### - -Billiards aims to be realistic enough to let you practice cue sports when you don't have a table available. It has a good-looking 3D interface, but also runs in 2D for systems without a good graphics processor. Operating System: Linux. - -#### 24. [Cube Trains][25] #### - -Lay tracks to connect tunnels and bridges while maneuvering around obstacles. You can play the many built-in levels or create one of your own. Operating System: Windows, Linux, OS X. - -#### 25. [Enigma][26] #### - -Similar to the old Oxyd and Rock'n'Roll games, Enigma challenges users to find identical stones amid mazes, traps, laser beams and other obstacles. With more than 1,000 levels, this is one puzzle game that will keep you occupied for a long, long time. Operating System: Windows, Linux, OS X. - -#### 26. [Fish Fillets NG][27] #### - -In this puzzle game, players must try to find a safe way out of each of the 70 levels. Along the way, fish and other underwater residents offer humorous commentary on the user's progress. Operating System: Windows, Linux, OS X. - -#### 27. [Frozen Bubble][28] #### - -One of the oldest bubble shooter games around, Frozen Bubble features Tux the Linux Penguin and more than 100 levels for single-players. You can also play against two to five other players via a LAN or the Internet. Operating System: Windows, Linux. - -#### 28. [GnomeGames][29] #### - -This collection includes fifteen different casual games that you can play in five minutes or less. It includes Sudoku, a minesweeper game, Mahjong, a version of Reversi and more. Operating System: Linux. - -#### 29. [I Have No Tomatoes][30] #### - -How many tomatoes can you smash in ten minutes? This "extreme leisure time activity" comes from the same team as Those Funny Funguloids. Operating System: Windows, Linux. - -#### 30. [KDE Games][31] #### - -This is the collection of casual games for the KDE desktop. It includes a solitaire variation, a version of breakout, a golf game, a version of Risk, a minesweeper, sudoku and more. Operating System: Windows, Linux. - -#### 31. [Neverball][32] #### - -In this game, players must tilt the floor to guide a ball through an obstacle course. The game includes lots of levels or you can design your own. Operating System: Windows, Linux, OS X. - -#### 32. [Pingus][33] #### - -Did you spend hours playing Lemmings back in the 90s? If so, Pingus is for you. It's a remake of Lemmings (with penguins instead of lemmings) with 77 different levels. Operating System: Windows, Linux, OS X. - -#### 33. [Pushover][34] #### - -This puzzle game features ants who can push over dominoes arranged in various patterns. The player must get all the dominoes to fall and send the special trigger through the exit in order to get to the next level. Operating System: Windows. - -#### 34. [Zaz][35] #### - -Another bubble shooter, Zaz challenges you to hit balls as they travel along a preset path. The twist is that your shooter is also traveling along a path, making things just a little more difficult. Operating System: Windows, Linux. - -### Educational Games ### - -#### 35. [ChildsPlay][36] #### - -Designed for those age five and under, ChildsPlay helps teach sounds, letters, numbers and basic keyboard skills. It also includes some games like memory, pong and pacman. Operating System: Windows, Linux, OS X. - -#### 36. [GBrainy][37] #### - -Exercise your mind with GBrainy's logic, word, math and memory games. It's fun and educational for players of all ages. Operating System: Windows, Linux. - -#### 37. [GCompris][38] #### - -Made for children ages 2 to 10, GCompris includes more than 100 different activities, most of them educational. It includes math, geography, science, reading, keyboarding and art games, plus chess, sudoku, memory and much more. Operating System: Windows, Linux. - -#### 38. [TuxMath][39] #### - -Solve arithmetic problems quickly before the incoming comets kill the penguins. This simple game reinforces math facts for elementary age students. Operating System: Windows, Linux, OS X. - -### First-Person Shooter Games ### - -#### 39. [Alien Arena][40] #### - -Built "for fraggers by fraggers," Alien Arena is an intense deathmatch shooter with a retro sci-fi theme. Many different sites offer hosted servers for online games, and there are also plenty of fan sites with playing tips and more. Operating System: Linux, Windows, OS X. - -#### 40. [AssaultCube][41] #### - -Because of its light weight, AssaultCube can run on older hardware, despite its very good realistic graphics. It supports single-player or multi-player games and includes 26 different maps and 12 different game modes. Operating System: Linux, Windows, OS X. - -#### 41. [Classic Nexuiz][42] #### - -Downloaded more than 6 million times, Nexuiz is one of the most popular open source shooter games. A few years ago, a new closed-source version of the game was created, but you can still download the classic version from the link above or from SourceForge. Operating System: Windows, Linux, OS X. - -#### 42. [OpenArena][43] #### - -This multi-player game is a clone of Quake III Arena and features 13 different weapons, 51 arenas, 18 player characters and 12 types of games. The project's owners warn, "Due to violent and occasional racy content, it's unsuitable for children under the age of 17." Operating System: Windows, Linux, OS X. - -#### 43. [Red Eclipse][44] #### - -This casual first-person shooter has received excellent reviews. Features include Parkour, impulse boosts, dashing, several game modes and a built-in level editor. Operating System: Windows, Linux, OS X. - -#### 44. [Tremulous][45] #### - -This award-winning game mixes elements of a real-time strategy game with a first-person shooter. Users can choose to play as aliens or humans, always with the goal of eliminating the other team. Operating System: Windows, Linux, OS X, XBox. - -#### 45. [TrueCombat][46] #### - -TrueCombat claims to be "perhaps the best free tactical-realism shooter. EVER." It's a modern world combat simulator with two opposing teams. Note that in order to use it, you will also need Wolfenstein: Enemy Terriroty (see below). Operating System: Windows, Linux, OS X - -#### 46. [Unvanquished][47] #### - -Forked from Tremulous, Unvanquished pits "technologically advanced humans against hordes of highly adaptable aliens." It's under very active development with a new release every month. Operating System: Windows, Linux, OS X - -#### 47. [Warsow][48] #### - -The self-proclaimed "most fast-paced sport on the Web," Warsow is a cartoonish shooter featuring "Rocketlauncher-wielding pigs and lasergun-carrying cyberpunks." Unlike most shooters, it doesn't have a lot of blood and guts, and the emphasis is on movement. Operating System: Windows, Linux, OS X. - -#### 48. [Wolfenstein: Enemy Terriorty][49] #### - -Although there are several proprietary Wolfenstein games, this one is open source. It's a World War II-era game that pits the Axis against the Allies. Operating System: Windows, Linux, OS X - -#### 49. [World of Padman][50] #### - -Based on the Quake engine, this shooter is very cartoonish with little gore. Quite a few online servers are available, or you can play offline. Operating System: Windows, Linux. - -#### 50. [Xonotic][51] #### - -Xonotic was forked from the classic version of Nexuiz. It has more than 22 different maps, 16 weapons and lots of different gameplay modes. Operating System: Windows, Linux, OS X. - -#### 51. [Zero Ballistics][52] #### - -Part first-person shooter, part tank game, Zero Ballistics is set in a picturesque mountain environment and has more than 81 different tank setups available. Play deathmatch, team deathmatch or the unique beaconstrike game mode. Operating System: Windows, Linux, OS X. - -### Music Games ### - -#### 52. [Frets on Fire][53] #### - -Frets on Fire is a lot like Guitar Hero, and it can even play Guitar Hero songs (though other songs are available as well). No worries if you don't have a guitar controller—you can also play with the keyboard. Operating System: Windows, Linux, OS X. - -#### 53. [StepMania][54] #### - -This is a free version of Dance Dance Revolution, which challenges users to stay in rhythm to the beat of the music. You can use dance pads (if you have them) to play, or you can just use the keyboard. Operating System: Windows, Linux/Unix, OS X, XBox. - -#### 54. [Ultrastar Deluxe][55] #### - -If karaoke is your thing, you'll love Ultrastar Deluxe. For this game, you must sing along to the music on pitch and in the correct rhythm. It comes with more than 10,000 songs included. Operating System: Windows, Linux, OS X. - -### Racing Games ### - -#### 55. [Extreme Tux Racer][56] #### - -Tux Racer is a much-loved older game that features Tux the Linux penguin sliding down a mountain on his belly. Extreme Tux Racer updates the classic game for today's players. Operating System: Windows, Linux, OS X. - -#### 56. [Speed Dreams][57] #### - -This fork of the TORCS auto-racing game (see below) features an updated UI and many new cars and tracks. As in TORCS, the visuals are excellent. Operating System: Windows, Linux. - -#### 57. [SuperTuxKart][58] #### - -This cartoonish racer features Tux the Linux Penguin and friends driving go karts. Guide them around the tracks, while avoiding a horde of silly obstacles. Operating System: Windows, Linux, OS X. - -#### 58. [TORCS][59] #### - -Short for "The Open Racing Care Simulator," TORCS is an outstanding realistic racing game with a large fan base. Race alone or against friends on one of the many tracks available. Operating System: Windows, Linux, OS X. - -#### 59. [Ultimate Stunts][60] #### - -Inspired by the classic DOS game Stunts, Ultimate Stunts requires players to guide vehicles across broken bridges, jumps, loops, corkscrews and other obstacles. It allows offers the option of designing your own track with even more crazy stunts. Operating System: Windows, Linux, OS X. - -#### 60. [VDrift][61] #### - -As much a simulator as a racing game, VDrift introduces players to world of drift racing with a realistic physics engine. It includes more than 45 cars, more than 45 tracks, and support for a wide variety of controllers. Operating System: Windows, Linux, OS X. - -### Role-Playing and Adventure Games ### - -#### 61. [Crossfire][62] #### - -Sometimes described as a cross between NetHack and Gauntlet, Crossfire is an arcade adventure game with very old-school graphics. It has more than 3,000 different maps featuring more than 150 different monsters. Operating System: Windows, Linux, OS X. - -#### 62. [Epic Inventor][63] #### - -Epic Inventor describes itself as a "side-scrolling action RPG." It's similar to Minecraft with simple, pixelated graphics and open-ended play. Operating System: Windows, Linux. - -#### 63. [Excalibur: Morganna's Revenge][64] #### - -This time-traveling epic puts you in the role of a futuristic space marine who must travel back to the time of King Arthur and Camelot. The graphics aren't anything special (think Minecraft), but the storyline and gameplay are good. Operating System: Windows, Linux, OS X. - -#### 64. [Flare][65] #### - -Inspired by Diablo, this role-playing game places the emphasis on combat. It's still an alpha release but is playable. Operating System: Windows, Linux, OS X. - -#### 65. [Lips of Suna][66] #### - -For adults only, this "tongue-in-cheek action RPG" features "violence, crude humor, nudity and other themes you can rarely see in other games anymore." It offers lots of action and a constantly changing landscape. Operating System: Windows, Linux. - -#### 66. [The Mana World][67] #### - -This is a massively multiplayer online role-playing game (MMORPG) that isn't so massive. (At the time of writing there were 31 people playing.) Still, it's a good attempt to create an ever-expanding world full of monsters, quests and mini-games. Operating System: Windows, Linux, OS X. - -#### 67. [NetHack][68]注:此链接原文有错误,和上面的链接地址一样了 #### - -One of the classics, NetHack is an intricate dungeon crawler with extremely simple graphics. It's been called one of the 100 best video games of all time. Operating System: Windows, Linux, Classic Mac. - -#### 68. [PlaneShift][69] #### - -Set in the fantasy realm of Yliakum, this unique online role-playing game features ten different races and a well-developed world with its own economy, government, religion and rules. It's playable but still in the early stages of development. Operating System: Windows, Linux, OS X. - -#### 69. [Ryzom][70] #### - -One of the better open source MMORPGs, award-winning Ryzom is set on the treelike planet of Atys, where several different races of beings interact and sometimes come into conflict. You can play for free, but those who choose to subscribe get some special benefits. Operating System: Windows, Linux, OS X. - -#### 70. [Stendhal][71] #### - -This online role-playing game aims to be more friendly than most. The website explains, "You may be asked to help protect land, feed the hungry, heal the sick, make someone happy, solve a puzzle or simply lend a hand." Operating System: Windows, Linux, OS X. - -#### 71. [Summoning Wars][72] #### - -Up to eight people can play this fantasy role-playing game at once. There's a trailer for the game at Youtube that lets you see it in action. Operating System: Windows, Linux, OS X. - -### Simulator Games ### - -#### 72. [FlightGear][73] #### - -Extremely realistic, FlightGear is a top-notch flight simulator that rivals proprietary software. It includes accurate terrain for the entire world and lifelike models of 20,000 airports and numerous aircraft. Operating System: Windows, Linux, OS X, others. - -#### 73. [Golems][74] #### - -With this physics simulator you can build almost anything you want and see how it would act in the real world. It's great for learning about basic machines, building robots, and inventing contraptions of all kinds. Operating System: Windows, Linux, OS X. - -#### 74. [LinCity NG][75] #### - -Based on the original SimCity game, LinCity NG challenges players to build a sustainable metropolis with a thriving economy. Note that because it is based on older code, the graphics are similar to old DOS games. Operating System: Windows, Linux, OS X. - -#### 75. [Micropolis/OLPC SimCity][76] #### - -Another SimCity imitator, Micropolis is a Java-based city simulator. It also features fairly old-school graphics rather than the 3D look of newer SimCity games. Operating System: Windows, Linux, OS X. - -#### 76. [Minetest][77] #### - -Extremely similar to Minecraft, Minetest is set in an infinite world of basic building blocks. Players can explore, mine or craft new objects as they see fit. Operating System: Windows, Linux, OS X. - -#### 77. [Pioneer][78] #### - -Pioneer describes itself as "a game of lonely space adventure." It transports players to an open-ended world where they decide what to do and where to go. Operating System: Windows, Linux, OS X. - -#### 78. [Oolite][79] #### - -Based on Elite, Oolite is a space simulator where you can trade with other spacefarers or become embroiled in combat. It's been around for quite a while, and many expansions are available. Operating System: Windows, Linux, OS X. - -#### 79. [OpenCity][80] #### - -This 3D city simulator does not aim to be a SimCity clone, but does offer a similar style of play. It's fairly basic but is playable. Operating System: Windows, Linux, OS X. - -#### 80. [OpenTTD][81] #### - -Based on Transport Tycoon Deluxe, OpenTTD invites players to build a transportation empire. It supports up to 255 players at once and improves on the original TTD in many ways. Operating System: Windows, Linux, OS X. - -#### 81. [Rigs of Rods][82] #### - -This vehicle simulator with a unique soft-body physics engine enjoys a very active and enthusiastic fan base. Use it to create land, sea or air vehicles and drive or fly them around the country. Operating System: Windows, Linux, OS X. - -#### 82. [Simutrans][83] #### - -This transportation simulator offers the option of connecting to online games hosted throughout the world. Use buses, trucks, trains, trams, ships, airplanes, monorails, maglevs or other vehicles to move people and goods where they need to go. Operating System: Windows, Linux, OS X. - -#### 83. [Vega Strike][84] #### - -This is another space simulator that lets you trade and fight throughout the galaxy. You choose whether to fly a trade route, accept a bounty-hunting mission, turn pirate or just explore the vastness of space. Operating System: Windows, Linux, OS X. - -### Strategy Games ### - -#### 84. [0 A.D.][85] #### - -Now in its 16th alpha release, 0 A.D. is an award-winning civilization-building game that strives for historical accuracy. Choose to play as the Carthaginians, Celts, Greeks, Iberians, Mauryans, Persians or Romans. Operating System: Linux, Windows, OS X. - -#### 85. [Advanced Strategic Command][86] #### - -This turn-based strategy game is based on the Battle Isle series. Players battle on a grid-like landscape in single- or multi-player games. Operating System: Windows, Linux. - -#### 86. [Battle for Wesnoth][87] #### - -This turn-based tactical strategy game puts players in a mythic world where they fight to reclaim the throne. Orcs, elves, necromancers and hundreds of other familiar high fantasy characters populate a large environment. Supports both single- and multi-player games. Operating System: Linux, Windows, OS X, iOS. - -#### 87. [BosWars][88] #### - -This futuristic real time strategy game requires players to build up energy stores and an economy in order to support military battles. Play against the computer opponent or connect over a LAN for multi-player games. Operating System: Windows, Linux, BSD, OS X. - -#### 88. [CommanderStalin][89] #### - -This variation of BosWars is set in Stalin's Soviet Union. Be prepared for the inevitable Nazi attack! Operating System: Windows, Linux. - -#### 89. [FreeCol][90] #### - -Inspired by the games Colonization and Civilization, FreeCol is a turn-based civilization-building strategy game. You start in the New World in 1492 and win by creating an independent country with free speech. Operating System: Windows, Linux, OS X. - -#### 90. [FreeCiv][91] #### - -Also inspired by Civilization, this turn-based strategy game starts in the stone age and ends in the space age. It includes 50 playable units and 541 nations and comes with several playable scenarios. Operating System: Windows, Linux, OS X. - -#### 91. [FreeOrion][92] #### - -While it isn't a clone or remake, FreeOrion is loosely based on the Master of Orion games. It's a turn-based strategy game set in space. Operating System: Windows, Linux, OS X. - -#### 92. [Glest][93] #### - -The forces of Tech battle the forces of Magic in this real-time strategy game. While it's still available for download, most Linux distributions now include the fork Megaglest (see below) instead of this older project. Operating System: Windows, Linux. - -#### 93. [Globulation 2][94] #### - -This real-time civilization-building strategy game aims to reduce the need for micro-management and allow players to focus on strategy. Single- or multi-player games and a level editor are available. Operating System: Windows, Linux. - -#### 94. [Hedgewars][95] #### - -One of the more lighthearted strategy games around, Hedgewars features "the antics of pink hedgehogs with attitude as they battle from the depths of hell to the depths of space." Features 31 environments, 48 set maps, infinite randomly generated maps, 55 weapons, 280 costumes and support for up to 8 players at once. Operating System: Windows, Linux, OS X, iOS. - -#### 95. [Kernel Panic][96] #### - -Set in a digital landscape, Kernel Panic is a real-time strategy game with Tron-like graphics. All the resources are free, so players don't need to worry about building an economy—only about fighting against the other hackers on the network. Operating System: Linux, Windows - -#### 96. [Liquid War][97] #### - -Way back in 2002, Liquid War was named the "most original Linux Game," and it's still worth a look. Control a liquid army as you try to consume your enemies. Operating System: Windows, Linux, OS X. - -#### 97. [MegaGlest][98] #### - -This fork of Glest adds five new teams to the original Tech and Magic: Egypt, Indians, Norsemen, Persian or Romans. It offers 17 different map types, both single- and multi-player games, and tutorials for new players. Operating System: Windows, Linux. - -#### 98. [Pax Brittanica][99] #### - -Up to four players can battle at once using the same keyboard on this submarine strategy game. The controls are easy to learn (you only use one button), but the gameplay can be very intense. Operating System: Windows, Linux, OS X. - -#### 99. [Spring: 1944][100] #### - -This World War II strategy game offers realistic units and strengths. Choose to play as the U.S., Germany, the U.S.S.R. or Great Britain. Operating System: Linux. - -#### 100. [UFO: Alien Invasion][101] #### - -Seventy years in the future, a secret organization struggles to defend earth from vicious alien invaders. Play as the humans or the aliens in single-player or multi-player combat. Operating System: Windows, Linux, OS X. - -#### 101. [Unknown Horizons][102] #### - -In this civilization-building strategy game, the emphasis is on building a strong economy. You start with a handful of settlers and resources on an isolated archipelago and work to build a thriving city. Operating System: Windows, Linux, OS X. - -#### 102. [Warzone 2100][103] #### - -Can you rebuild Earth after nuclear devastation? This game offers an unusually large tech tree and single- or multi-player games. Operating System: Windows, Linux, OS X. - -#### 103. [Widelands][104] #### - -Inspired by Settlers II, Widelands is another real-time strategy game that challenges players to build a civilization. It features three tribes—Barbarians, Imperials, and Atlanteans—and unlike most civilization games, the player doesn't tell each unit what to do but instead gives orders and delegates, more like a real ruler. Operating System: Windows, Linux, OS X. - -#### 104. [Zero-K][105] #### - -In this fast-moving real-time strategy game, robot armies fight a never-ending battle. Key features include more than 100 different units, a streamlined economy system, a realistic physics engine, terraforming and more. Operating System: Windows, Linux. - -#### 105. [Zombies][106] #### - -Can you kill all the zombies before they kill you? This turn-based game offers addictive gameplay and settings that allow the player to determine the level of gore. Operating System: OS X. - -### Fun Non-Games ### - -#### 106. [Celestia][107] #### - -Perfect for budding astronomers and wanna-be astronauts, Celestia allows you to see the sky as it would appear at any point in time from any point in the known universe. Take a quick trip to Jupiter or plot your starwatching for the evening. Operating System: Windows, Linux, OS X. - -#### 107. [Electric Sheep][108] #### - -Inspired by the Philip K. Dick novel Do Androids Dream of Electric Sheep? this screensaver connects your system to thousands of others to create abstract designs and patterns. Vote for your favorite patterns to see them reappear more often. Operating System: Windows, Linux, OS X, Android, iOS. - -#### 108. [LCARS 24][109] #### - -If you've got an old PC around the house (and who doesn't), why not turn it into a Star Trek-themed conversation piece. With this app, you get an alarm clock and file manager with graphics that look like they came right off the Enterprise. Operating System: Windows, DOS. - -#### 109. [Stellarium][110] #### - -Turn your PC into a planetarium. Stellarium can display the night skies from any point on earth at any time, and it's used by many planetariums to power their displays. Operating System: Windows, Linux, OS X. - -#### 110. [Tux Paint][111] #### - -Tux Paint makes it easy for pre-schoolers to create their own "drawings" on the computer. It features an interface with big buttons, fun sound effects and friendly characters. Operating System: Windows, Linux, OS X. - - --------------------------------------------------------------------------------- - -via: http://www.datamation.com/open-source/110-fun-open-source-games-and-apps-1.html - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.datamation.com/open-source/101-most-fun-open-source-games-and-apps-1.html -[2]:http://www.stuff-o-matic.com/asgp/ -[3]:http://armagetronad.org/index.php -[4]:http://bzflag.org/ -[5]:http://chromium-bsu.sourceforge.net/ -[6]:http://www.parallelrealities.co.uk/p/legend-of-edgar.html -[7]:http://www.penguspy.com/jvgs/ -[8]:http://www.nogravitythegame.com/classic/ -[9]:http://opensnc.sourceforge.net/home/index.php -[10]:http://linux.tlk.fr/games/Powermanga/ -[11]:http://www.scorched3d.co.uk/ -[12]:http://www.srb2.org/ -[13]:http://supertux.lethargik.org/ -[14]:http://funguloids.sourceforge.net/ -[15]:http://www.teeworlds.com/ -[16]:http://xmoto.tuxfamily.org/ -[17]:http://www.yofrankie.org/ -[18]:http://domination.sourceforge.net/ -[19]:http://sourceforge.net/apps/mediawiki/scrabble/index.php?title=Main_Page -[20]:http://sourceforge.net/apps/mediawiki/scrabble/index.php?title=Main_Page -[21]:http://www.pokerth.net/ -[22]:http://pysolfc.sourceforge.net/ -[23]:http://gabrielecirulli.github.io/2048/ -[24]:http://www.nongnu.org/billiards/ -[25]:http://cubetrains.com/ -[26]:http://www.nongnu.org/enigma/ -[27]:http://fillets.sourceforge.net/ -[28]:http://www.frozen-bubble.org/ -[29]:http://live.gnome.org/GnomeGames -[30]:http://tomatoes.sourceforge.net/about.html -[31]:http://games.kde.org/ -[32]:http://neverball.org/ -[33]:http://pingus.seul.org/welcome.html -[34]:http://pushover.sourceforge.net/ -[35]:http://zaz.sourceforge.net/ -[36]:http://www.schoolsplay.org/ -[37]:https://live.gnome.org/gbrainy -[38]:http://gcompris.net/index-en.html -[39]:http://tux4kids.alioth.debian.org/tuxmath/index.php -[40]:http://icculus.org/alienarena/rpa/ -[41]:http://assault.cubers.net/ -[42]:http://www.alientrap.org/games/nexuiz -[43]:http://openarena.ws/smfnews.php -[44]:http://www.redeclipse.net/ -[45]:http://tremulous.net/ -[46]:http://www.truecombatelite.com/ -[47]:http://www.unvanquished.net/ -[48]:http://www.warsow.net/ -[49]:http://www.splashdamage.com/wolfet -[50]:http://worldofpadman.net/website/news -[51]:http://www.xonotic.org/ -[52]:http://www.zeroballistics.com/ -[53]:http://www.stepmania.com/ -[54]:http://www.stepmania.com/ -[55]:http://www.ultrastardeluxe.org/ -[56]:http://sourceforge.net/projects/extremetuxracer/ -[57]:http://www.speed-dreams.org/ -[58]:http://supertuxkart.sourceforge.net/ -[59]:http://torcs.sourceforge.net/ -[60]:http://www.ultimatestunts.nl/ -[61]:http://vdrift.net/ -[62]:http://crossfire.real-time.com/intro/index.html -[63]:http://www.epicinventor.com/ -[64]:http://excaliburworld.com/emr/emr3/index.html -[65]:http://flarerpg.org/media/ -[66]:http://lipsofsuna.org/ -[67]:http://themanaworld.org/ -[68]:http://themanaworld.org/ -[69]:http://www.planeshift.it/about.html -[70]:http://www.ryzom.com/en/ -[71]:http://stendhalgame.org/ -[72]:http://sumwars.org/wiki/Main_Page -[73]:http://www.flightgear.org/ -[74]:http://www.golemgame.com/ -[75]:http://lincity.sourceforge.net/ -[76]:https://code.google.com/p/micropolis/ -[77]:http://minetest.net/ -[78]:http://pioneerspacesim.net/ -[79]:http://www.oolite.org/ -[80]:http://www.opencity.info/ -[81]:http://www.openttd.org/en/ -[82]:http://www.rigsofrods.com/content/ -[83]:http://www.simutrans.com/ -[84]:http://vegastrike.sourceforge.net/ -[85]:http://play0ad.com/ -[86]:http://www.asc-hq.org/ -[87]:http://www.wesnoth.org/ -[88]:http://www.boswars.org/ -[89]:http://commanderstalin.sourceforge.net/ -[90]:http://www.freecol.org/ -[91]:http://freeciv.wikia.com/wiki/Main_Page -[92]:http://freeorion.org/index.php/Main_Page -[93]:http://glest.org/en/index.php -[94]:http://globulation2.org/wiki/Main_Page -[95]:http://www.hedgewars.org/ -[96]:http://springrts.com/wiki/Kernel_Panic -[97]:http://www.ufoot.org/liquidwar/v5 -[98]:http://glest.org/en/index.php -[99]:http://paxbritannica.henk.ca/ -[100]:http://spring1944.net/ -[101]:http://ufoai.org/wiki/News -[102]:http://www.unknown-horizons.org/ -[103]:http://wz2100.net/ -[104]:http://wl.widelands.org/ -[105]:http://zero-k.info/ -[106]:http://codenautics.com/zombies/ -[107]:http://www.shatters.net/celestia/index.html -[108]:http://community.electricsheep.org/ -[109]:http://lcars24.com/ -[110]:http://stellarium.org/ -[111]:http://tuxpaint.org/ diff --git a/sources/talk/20140723 110 Fun Open Source Games and Apps.md b/sources/talk/20140723 110 Fun Open Source Games and Apps.md new file mode 100644 index 0000000000..eb158faca7 --- /dev/null +++ b/sources/talk/20140723 110 Fun Open Source Games and Apps.md @@ -0,0 +1,615 @@ +translating by disylee 20140701 +110 Fun Open Source Games and Apps +110款开源游戏和应用 +================================================================================ + +再次庆祝,伴随着一系列最好的开源游戏,我们庆祝这个夏天的到来。我们已经更新了[去年的列表][1]把新开发的添加进来,这样更好地把一些不再积极开发之中的旧游戏从列表中剔除。你会发现街机、平板、休闲、拼图、益智和第一人称射击游戏,音乐,赛车,角色扮演,冒险,模拟器和战略游戏等,它们也像一些应用程序一样并非真正的游戏但是仍然非常有趣。 + +今年,比以往有更多的开源游戏可用于移动设备上,主要是安卓设备上。希望未来几年,这种趋势一直保存下去。 + +请注意,这个列表是不按排名的。这些应用程序被放在目录中并按照字母顺序放在每个类别里。 + +如果你想建议明年游戏列表的版本,请随时注意在下面的评论区提出。 + +### Arcade Games ### +> + +#### 1. [安迪的超级大公园][2] #### + +当你乘坐过山车时,你需要抓到气球并且避开障碍物。里面有25个等级,加上18个你可以解锁的等级以获取高分。可使用操作系统:Windows,Linux或者安卓。 + +#### 2. [Armagetron Advanced][3] #### + +一个3D电子争霸克隆,这个游戏激起你去指导一个光周期直到你撞上一堵墙。它支持单机模式和16人参与的网络模式。可使用操作系统:Windows,Linux,OS X或者安卓。 + +#### 3. 塔克大战夺取旗帜 #### + +众所周知的“战场夺旗”,“BZflag是一个流行的在线坦克游戏。自1992年开发以来,它具备3D图形化特征,多种游戏模式和多人竞争比赛等特征。可使用操作系统:Windows,Linux,OS X或者安卓。 + +#### 4. [纵向卷轴射击游戏] [5] #### + +别让这个名字就把你愚弄了,这和Chromium browser浏览器无关。这是一款快节奏、顶部滚动射击的游戏,其难度在于设置,而且这个游戏不回超过15分钟。可使用操作系统:Windows,Linux。 + +#### 5. [埃德加的传说][6] #### + +埃德加的传说是一个旧派的游戏平台,主角必须通过克服障碍和敌人来完成他的任务。它包含了很多不同的武器、很多不同等级。适用操作系统:Windows,Linux和OS X。 + +#### 6. [JVGS][7] #### + + +取代非常详细的图形,JVGS只要一个最低限度方法使其中画中人物跨越景观,看起来就像使用铅笔的手工绘制。在这个不寻常的游戏中,主角是一个失去记忆的诗人。适用操作系统:Windows,Linux和OS X。 + +#### 7. [失重力][8] #### + +这是基于空间的街机射击游戏,玩家需要在8002年份中,他们必须完成各种各样的任务。但是,这个游戏不是免费的,游戏也可以在安卓和IOS中使用。适用操作系统有:Windows,Linux和OS X。 + +#### 8. [Open Sonic][9] #### + + +基于刺猬索尼克游戏,Open Sonic提供了合作的游戏,用户可以同时控制3个字符。其中只有2个级别可以在原始游戏中使用,但是很多游戏粉丝们已经建立了mods提供额外的发挥。适用操作系统:Windows, Linux和OS X. + +#### 9. [Powermanga][10] #### + +类是于旧街机游戏Galaga,Powermanga是一款2D,顶部滚动的空间射击游戏。它拥有超过41个等级,并能够在旧的硬件上运行。适用操作系统:Linux。 + +#### 10. [Scorched3D][11] #### + +Scorched3D是一款现代的基于DOS的游戏Scorched星球,最引人瞩目的是它出色的图形。你可以适用单机模式或者连接到许多网络服务器使用多玩家行动。适用操作系统:Windows, Linux和 OS X. + +#### 11. [音速机器人大爆炸][12] #### + +另一款声波风格的平台游戏,SRB2是一种采用了Doom引擎内置的3D平台游戏。它包括了2个不同的游戏角色和超过20个等级。适用操作系统:Linux。 + +#### 12. [SuperTux][13] #### + +SuperTux很像旧款的马里奥兄弟游戏,但是是以Linux的小企鹅成为主人公。这是一个2D横向卷轴的平台游戏,有9个不同的敌人和26个等级可以玩。适用操作系统:Windows, Linux和OS X. + +#### 13. [Those Funny Funguloids][14] #### + +这是一款挑战玩家在太空手机蘑菇的游戏。该网站称:“在此之前从未听说过手机蘑菇。至少不是在外太空。真的,它更是一种生活而不是一个游戏。适用操作系统:Windows和Linux. + + +#### 14. [Teeworlds][15] #### + +这个在线游戏把自己描述成一个“复古的多人射击游戏”。它是一个横向卷轴的2D游戏,支持多达16名选手和几个不同的游戏模式。适用操作系统:Windows, Linux和 OS X. + +#### 15. [X摩托][16] #### + +在这个游戏中,你骑着一辆摩托车通过一个侧面滚动的风景区,同时收集草莓并避免高低不平的“破坏者”。这看起来是比较难!适用操作系统:Windows, Linux和 OS X. + +#### 16. [Yo Frankie!][17] #### + +通过混合开源3D动画工具创造的,呦羊羊特征角色是从开源电影Peach来的。玩家必须指导羊羊,糖滑翔机或者Momo,一只猴子,来回或者环绕并通过一个非常细致的3D环境中的障碍物。适用操作系统: Windows, Linux和 OS X. + +### 棋类游戏 ### + +#### 17. [Domination][18] #### + +基于Java支配带来的棋牌游戏可能会对你的PC或者安卓设备造成风险。最新版本中可以让你实时与你Google+的朋友通过谷歌游戏服务发挥多人游戏服务功能。适用操作系统:Windows, Linux, OS X和 Android. + +#### 18. [GNU 十五子棋][19] #### + + +这个“世界级”十五子棋引擎让你每一次都更好地挑战它,并且它会分析你的战况来帮助你玩得更好。这个借口是非常好的图形化定制。适用操作系统:Windows,Linux和OS X。 + +#### 19. [3D 拼字游戏][20] #### + +随着拼字游戏的变化,你可以选择自己的电路板——经典版本。Superscrabble是一款3D的拼字游戏,您可以通过它定制你自己的电路板。玩家可以对战AI或者连到在线服务器上进行多人游戏。适用操作系统:Windows, Linux和 OS X. + +#### 20. [PokerTH][21] #### + +这是一个高质量的德州扑克牌应用程序,拥有优秀的、可定制的界面。想要在线玩或者看看你和其它对手的排名,只需要在Poker-Heroes.com在线注册。适用操作系统:Windows,Linux和OS X,Android系统。 + +#### 21. [PySolFC][22] #### + +你知道吗,接龙有1000多种类型?这个强大的集合功能“使用52张国际格局甲板模式,比赛为78张Tarock夹板,8和10套装备,Ganjiafa游戏,花札游戏,棋牌游戏、麻将游戏和原始十六进制为基础的平台”。适用操作系统: Windows, Linux和 OS X. + + +### 休闲益智游戏 ### + +#### 22. [2048][23] #### + + +这个简单而上瘾的益智游戏,玩家围绕着方格里喜欢的数字组合。当你将组合数字累加到2048时,你就赢了。适用操作系统:在线,IOS或者安卓。 + + +#### 23. [台球][24] #### + +台球游戏的主要目的是当你不能够拥有一张可用的台球桌时,给现实中能够让你练习球杆运动。它拥有一个好看的3D界面,同时也可以在不具备良好图形界面的2D系统中运行。适用操作系统:Linux。 + + +#### 24. [立方火车][25] #### + + +躺在连接隧道和桥梁的铁轨,然后机动绕过障碍物。你可以万很多内置等级的或者创建你属于自己的等级。适用操作系统:Windows,Linux或者OS X。 + +#### 25. [谜语][26] #### + +类似于旧Oxyd和摇滚乐的游戏,谜语挑战者在相同的石头中找到迷宫,陷进,激光束和其他障碍。这个游戏拥有1000多个等级,这也是一款益智游戏,可能占用你一段很长时间。适用操作系统:Windows,Linux和OS X。 + + + +#### 26. [Fish Fillets NG][27] #### + +在这个益智游戏中,玩家必须尝试分别在这70个等级中各找到一条安全路径。一路上,鱼类和其它水下居民提供相关用户的幽默解说。适用操作系统:Windows, Linux和 OS X. + +#### 27. [冰冻泡泡][28] #### + +这是最古老的泡沫射击游戏中的一个,冰冻泡沫是以Linux小企鹅和多于100多个级别为特征的单机游戏。你也可以通过局域网或者互联网对阵2~5个玩家。适用操作系统:Windows和Linux。 + +#### 28. [GnomeGames][29] #### + +这个集合汇聚了15个不同的休闲游戏,你可以在5分钟以内玩。它包括了数独,一个扫雷游戏,麻将,一个黑白棋版本等等。适用操作系统:Linux。 + +#### 29. [切番茄][30] #### + +10分钟内,你可以粉碎多少个西红柿?这种“极端闲暇时间的活动”来自同一个叫做Those Funny Funguloids的团队。适用操作系统: Windows和 Linux. + +#### 30. [KDE 游戏][31] #### + +这是为KDE桌面准备的休闲游戏的集合。它包含了一个游戏纸牌的变化,一个高尔夫游戏,一个风险版本,扫雷艇,数度等等。适用操作系统:Windows和Linux。 + +#### 31. [平衡球][32] #### + +在这个游戏中,玩家必须倾斜地板去引导球通过障碍球场。这个游戏包括很多级别,并且你可以设计自己的级别。适用操作系统:Windows, Linux和 OS X。 + +#### 32. [Pingus][33] #### + +你是否还话费数个小时玩旅鼠总动员来追忆的你90年代?如果这样的话,Pingus会更适合你。这是旅鼠的翻拍(企鹅取代了旅鼠)有77个级别。适用操作系统:Windows, Linux和 OS X. + +#### 33. [易如反掌][34] #### + +这个益智游戏的特点是蚂蚁来推排成各种团的多米若骨牌。玩家必须让所有多米诺骨牌倒下,并通过出口,为的是发送一个特别的触发信号来进入新的等级。适用操作系统:Windows。 + +#### 34. [Zaz][35] #### + +这是另一款泡沫射手游戏,Zaz挑战你沿着他们设定的路径击中球。其转折点是你的枪炮只能沿着一条路径移动,这样使事情变得有点难度了。适用操作系统:Windows和Linux。 + +### 教育类游戏 ### + +#### 35. [ChildsPlay][36] #### + +这个游戏专门有5岁及一下的小孩设计,ChildsPlay帮助教一些发音,字母,数字和基础键盘技巧。它也包括了一些游戏,例如记忆,乒乓球和吃豆豆。适用操作系统:Windows,Linux和OS X。 + +#### 36. [GBrainy][37] #### + +通过GBrainy的逻辑,训练你的词汇、数学和记忆游戏的意识。它充满了乐趣和教育意义,适合所有年龄段的人群。适用操作系统:Windows和 Linux. + +#### 37. [GCompris][38] #### + +专为2~10岁的儿童射击, GCompris 包括了超过100多种but的活动,其中大多数是教育类的。它包括数学,地理,科学,阅读,敲键盘和艺术游戏,再加上国际象棋,数独,记忆法等等。适用操作系统:Wwindows和Linux。 + +#### 38. [TuxMath][39] #### + +在即将到来的彗星杀死企鹅之前迅速解决算数问题。这是一个简单的游戏用于强化小学学龄的数学真相。适用操作系统:Windows, Linux和 OS X. + +### 第一人称射击游戏 ### + +#### 39. [外星人竞技场][40] #### + +内置的“专为手榴弹攻击者的手榴弹,”外星人竞技场是一个激烈的充满复古题材的死亡争斗射击者。许多不同的网站为线上游戏提供了托管服务器,也有很多粉丝网站和玩家技巧等等。适用操作系统:Linux, Windows和 OS X. + +#### 40. [AssaultCube][41] #### + +由于它的轻量级,AssaultCube也可以在旧硬件上运行,除了拥有不错的真实感图形之外。它还支持单机模式和多玩家游戏模式,包括了26张不同的地图和12种不同的游戏模式。适用操作系统:Linux,Wwindows和OS X。 + +#### 41. [经典 Nexuiz][42] #### + +下载量超过600万次,Nexuiz是最流行的开源射击游戏之一。几年前,该游戏是一个非开源版本创建的,但你可以从SourceForge的链接下载经典版本。适用操作系统:Windows, Linux和OS X. + +#### 42. [OpenArena][43] #### + +这个多玩家游戏是雷蛇之锤3的克隆,它的特征是拥有13种不同的武器,51个竞技场和12类游戏。该程序的拥有者发出警告,“由于暴力和偶尔的不健康内容,它不适合17岁一下的孩子玩”。适用操作系统:Windows, Linux和 OS X. + +#### 43. [Red Eclipse][44] #### + +这个休闲的第一人称射击游戏已经获得极高的评价。其特点包括跑酷,脉冲刺激,界面华丽,几种游戏模式和一个内置的关卡编辑。适用操作系统:Windows, Linux和 OS X. + +#### 44. [Tremulous][45] #### + +这是一个屡获殊荣的游戏,一款混合了即时战略游戏元素的第一射击游戏。用户可以选择扮演外星人或者人类来永久消灭其它队的对手。适用操作系统:Windows, Linux, OS X和 XBox. + +#### 45. [TrueCombat][46] #### + +TrueCombat声称自己“也许永远是最好的免费战术写实的射击游戏。”这是一个2个对抗团队比赛的现代世界实战模拟器。请注意,为了使用它,你还需要德军总部:敌对势力。操作系统:Windows, Linux和 OS X。 + +#### 46. [Unvanquished][47] #### + +从Tremulous分离出来,不可征服的人陷入“高度适应能力人类群体的先进技术。”在非常活跃的开发环境下,每个月提供了新的版本。适用操作系统:Windows, Linux和 OS X。 + +#### 47. [Warsow][48] #### + +这款自称在“在Web上节奏最快的运动”,Warsow是一个卡通射击游戏具有”猪尾巴火箭炮和携带赛伯朋克”的射击游戏。不想大多数射击游戏,它没有大量的血液和仇恨,更多强调的是运动。适用操作系统:Windows,Linux和OS x. + +#### 48. [Wolfenstein: Enemy Terriorty][49] + +虽然已经有好几个专有德军部队游戏,但这一个是开源的。这是一个第二次世界大战时间的游戏,其核心专门对抗盟军。适用操作系统:Windows,Linux,OS X。 + +#### 49. [ Padman世界][50] #### + +基于Quake引擎,这个射手类似三角形状显得非常卡通化。这个游戏有相当多的在线服务器可以适用,或者您也可以离线玩。适用操作系统:Wwindows和Linux。 + +#### 50. [Xonotic][51] #### + +Xonotic是经典版Nexuiz的分支。它拥有超过22种不同的地图,16种武器和大量不同的游戏模式。适用操作系统:Windows, Linux和OS X. + +#### 51. [零导弹][52] #### + +部分第一人称射击手,部分坦克游戏,零导弹坐落在风景如画的山区环境,并已经拥有超过81个坦克体系可用。玩死斗,团队死斗或者独特的beaconstrike模式。适用操作系统:Windows、Linux 和 OS X。 + +### 音乐类游戏 ### + +#### 52. [Frets on Fire][53] #### + +Frets on Fire这个游戏很多地方都很像“吉它英雄”这个游戏,它甚至可以起到播放“吉它英雄”里的歌曲(当然其它歌曲也同样可用)。如果你没有一个吉它控制器,别担心,你也可以适用键盘来玩。适用操作系统:Windows, Linux和 OS X. + +#### 53. [StepMania][54] #### + +这是一个免费版本的跳舞机,挑战者可以停留在某个节奏去对应音乐的节拍。你既可以适用跳舞毯(如果你拥有的话)去挑,或者也可以适用键盘操作。适用操作系统:Windows, Linux/Unix, OS X或者 XBox. + +#### 54. [Ultrastar Deluxe][55] #### + +如果卡拉OK是你的菜,那么你就会喜欢Ultrastar Deluxe这个游戏了。在这个游戏中,你必须单独唱完一首歌并且是对应正确的节拍。它包含了超过10000歌曲。适用操作系统: Windows, Linux和OS X. + +### 赛车游戏 ### + +#### 55. [至尊小企鹅竞赛][56] #### + +Tux Racer是一款备受宠爱的旧款游戏,其特征是Linux小企鹅展示他的腹部滑下山。至尊小企鹅为现在的游戏玩家更新了这款经典游戏。适用操作系统:Windows, Linux和OS X. + +#### 56. [Speed Dreams][57] #### + +这是TORCS自动赛车游戏的分支(见下文),其特征是一个更新过的UI界面和许多骑车和轨道。正如TORCS,视觉效果非常出色。适用操作系统:Windows和 Linux. + +#### 57. [SuperTuxKart][58] #### + +这个卡通赛车游戏的特点是Linux小企鹅和朋友们驾驶卡丁车。沿着轨道的指引前进,同时避开一堆障碍物的撞击。适用操作系统:Windows, Linux和 OS X. + +#### 58. [TORCS][59] #### + +TROCS是"The Open Racing Care Simulator”的缩写,TORCS是一款拥有大量粉丝为基础的杰出的逼真赛车游戏。单独驾驶或与朋友在其中一条轨道中竞赛也是可选的。适用操作系统:Windows, Linux和 OS X. + + +#### 59. [终极特技][60] #### + +由经典DOS游戏Stunts的启发,终极特技要求玩家去指导整个破碎的桥梁的车辆,跳跃,环绕等避开其它障碍。它允许提供一些选项通过更加疯狂的特技来设计自己的轨道。操作系统:Windows,Linux和OS X。 + + +#### 60. [VDrift][61] #### + +类似一款模拟器的赛车游戏,VDrift介绍玩家们赛车漂移的世界在一个真实的物理引擎中。它包含了超过45辆车,超过45条轨道,并且对各种控制器提供了支持。适用操作系统Wwindows,Linux,OS X。 + +### 角色扮演和冒险游戏 ### + +#### 61. [穿越火线][62] #### + +有时被描述为NetHack 和 Gauntlet之间的穿越,穿越火线是一款非常旧派的图形街机冒险游戏。它拥有超过3000张不同的地图和超过150种不同的怪物。适用操作系统:Windows, Linux和 OS X. + +#### 62. [Epic Inventor][63] #### + +Epic Inventor将自己描述成一个"横向卷轴动作的RPG游戏。"它类似于Minecraft,是一款简单的,像素化图形和开放式的游戏。适用操作系统:Windows和 Linux. + +#### 63[神剑:Morganna的复仇] [64] #### + +这款时空穿梭游戏让扮演你在未来海洋空间,玩家必须穿越回到亚瑟王和克莱特的年代。这个图形界面并没有什么特别的(想想 Minecraft),但是故事情节和游戏性都很赞。适用操作系统: Windows, Linux和OS X. + +#### 64. [火炬][65] #### + +受Diablo启发,这个角色扮演游戏的重点在于战斗。它仍然是一个开端版本但是依旧可以玩。适用操作系统:Windows, Linux和 OS X. + +#### 65. [苏娜之吻][66] #### + +仅对成年人开发,这款"舌头在脸颊上的动作RPG"充满了“暴力、粗俗、裸体等主题”,也许你在其它游戏中很少看到。它提供了大量的动作和不断变化的景观。适用操作系统:Windows和 Linux. + +#### 66. [The Mana World][67] #### + +这是一款大型的多人在线角色扮演游戏(MMORPG),但事实没有想象中庞大。(在我写下这段文字的时候有31个人正在玩这个游戏。)尽管这样,创造一个不断扩大的世界充满了怪物、任务和迷你游戏是一个很好的尝试。适用操作系统:Windows,Linux和OS X。 + +#### 67. [NetHack][68]注:此链接原文有错误,和上面的链接地址一样了 #### + +游戏史上经典之一,NetHack是一个带及其简单图形的复杂地牢履带。它被称为有史以来最好的100个视频之一。适用操作系统: Windows, Linux, 和经典Mac. + +#### 68. [PlaneShift][69] #### + +设置在Yliakum的梦幻世界,这是一个独特的在线角色扮演游戏,其特征是有10个不同的种族和一个拥有自己经济、政府、宗教和法律的发达国家。虽然可以试玩,但是这款游戏还处在早期的开发阶段。适用操作系统:Windows, Linux和 OS X. + + + +#### 69. [Ryzom][70] #### + +其中一个较好开源MMORPGS,获得Ryzom奖是设置在一个叫Atys的树状星球,其中有几种不同种族互动,有时候树状星球会发生冲突。你可以自由发回,但是那些选择订阅会得到特别的好处。适用操作系统:Windows, Linux和 OS X. + +#### 70. [Stendhal][71] #### + +这个在线角色扮演游戏相比大多数同类游戏更友好。网站上解释,"你可能会被要求去帮助保护土地,拯救穷人,治愈病人,是别人获得快乐,解决难题,或者直接伸出援手。适用操作系统:Windows, Linux和OS X. + +#### 71. [Summoning Wars][72] #### + +可以多达8个人一起玩的幻想角色扮演游戏。拖车这个游戏有一个拖车你可以同时在Youtube上看到它的动作。适用操作系统:Windows, Linux和 OS X. + +### 模拟类游戏 ### + +#### 72. [FlightGear][73] #### + +FlightGear是一个极其逼真、一流的飞行模拟器并且有竞争对手的专用软件。它包括了整个世界精准的地形和20,000多个机场还有众多栩栩如生的飞机模型。适用操作系统:Windows, Linux, OS X和其它。 + +#### 73. [Golems][74] #### + +有了这个物理模拟器,你可以创建任何你想要的东西并看它在真实世界中如何表现。这是一个强大的基础学习机器,可以制造机器人,并发明各种玩意。适用操作系统:Windows, Linux和 OS X. + +#### 74. [LinCity NG][75] #### + +基于原来的SimCity游戏,LinCity NG挑战玩家去建造一个可持续发展的大都市并拥有繁华的经济状况。需要注意的是,由于这个游戏是基于旧代码,所以它的图形化更像久的DOS游戏。适用操作系统:Windows, Linux和 OS X. + + +#### 75. [Micropolis/OLPC SimCity][76] #### + +另一个SimCity的模仿者,Micropolis是一个基于Java开发的城市模拟器。它还具有相当老派的图形界面,而不是较新的3D外观模拟城市游戏。适用操作系统:Windows, Linux和 OS X. + +#### 76. [Minetest][77] #### + +与Minecraft极其相似,Minetest被设置在基础构建的一个无垠世界中。玩家可以探索,矿山或者根据他们的需要制造一些新事物。适用操作系统: Windows, Linux和 OS X. + +#### 77. [Pioneer][78] #### + +Pioneer描述自己为“一个孤独的太空冒险游戏”。它将玩家输送到一个开放式的世界里,这个世界里他们可以决定他们想做什么和去哪里。适用操作系统:Windows, Linux和 OS X. + +#### 78. [Oolite][79] #### + +这个游戏是基于Elite,Oolite是一个太空模拟器,你可以与其它航天员进行进行交易或者参加一场战斗。这个游戏存在了相当长的一段时间,很多扩展操作系统可以使用。适用操作系统:Windows, Linux和 OS X. + +#### 79. [OpenCity][80] #### + +这个3D城市模拟器并不是要成为一个模拟城市的克隆器,但是提供类似的玩家模式。这是相当基础的,但是很耐玩。适用操作系统:Windows, Linux和 OS X. + +#### 80. [OpenTTD][81] #### + +基于豪华运输大亨,OpenTTD邀请玩家去简历一个运输帝国。它支持一次多达255个玩家并可以通过很多种方式去改善原来的TTD系统。适用操作系统: Windows, Linux和 OS X. + +#### 81. [Rigs of Rods][82] #### + +#### 81. [Rigs of Rods][82] #### + +这个车辆模拟器具有一个独特的软体物理引擎拥有一批非常积极和热情的粉丝为基础。使用它来创造陆地,海洋或者空中骑车,可以带着它们驾驶或者飞往全国各地。适用操作系统:Windows, Linux和 OS X. + +#### 82. [Simutrans][83] #### + +这个交通仿真器提供了连接到互联网在线游戏主机的选项。适用公车、卡车、火车、电车、船只、飞机、单轨铁车、磁悬浮列车或者其它交通工具将人们或者货物运送到他们想抵达的地方去。适用操作系统:Windows, Linux和 OS X. + +#### 83. [Vega Strike][84] #### + +这是另一款太空模拟器可以让你星系中交易和战斗。你可以选择是否选择飞贸易路线,接受狩猎任务奖金,打海盗或者探索浩瀚的太空。适用操作系统:Windows, Linux和 OS X. + +### 战略游戏 ### + +#### 84. [0 A.D.][85] #### + +现在已经更新到了第16个alpha版本了。0 A.D.是一个屡获文明建设的游戏,这个游戏努力地在追溯历史的准确性。玩家可以选择迦太基人,凯尔特人,希腊人,伊比利亚人,孔雀王朝人,波斯人或者罗马人进行游戏。适用操作系统:Linux, Windows和 OS X. + +#### 85. [Advanced Strategic Command][86] #### + +这个回合制战略游戏是基于Battle Isle游戏系列。玩家在战斗网格景观可以适用单机游戏模式或者多人游戏模式。适用操作系统:Windows和 Linux. + +#### 86. [Battle for Wesnoth][87] #### + +这个回合制战术策略游戏将玩家置身于神话世界里,它们争取夺回王位。游戏中充斥着兽人、精灵、巫师和数以百计的其它充满梦幻的一个大环境。支持单人游戏和多人游戏。适用操作系统:Linux,Windows,OS X,IOS。 + +#### 87. [BosWars][88] #### + +这个未来的实时战略游戏需要玩家建立能源存储和一个经济体系来支持其军事斗争。玩家可以可以通过局域网进行多人游戏来抵抗对手。适用操作系统:Windows,Linux和BSD,OS X。 + +#### 88. [CommanderStalin][89] #### + +关于BosWars的变化是被设置在斯大林时期的苏联国家。为的是对不可避免的纳粹进行攻击做准备!适用操作系统:Windows和Linux。 + +#### 89. [FreeCol][90] #### + +受游戏Colonization and Civilization的启发,FreeCol是一款回合制文明建设的战略游戏。你可是的新世界在1492年并通过建立一个独立和言论自由的国家取胜。适用操作系统:Windows, Linux和OS X. + +#### 90. [FreeCiv][91] #### + +这也是一个在Civilization得到启发的游戏,这个回合制战略游戏开始在石器时期,结束于太空时期。它包括了50个可玩单元和541国家并附带了各种可玩场景。适用操作系统:Windows, Linux和 OS X. + +#### 91. [FreeOrion][92] #### + +尽管这不是一个克隆或者翻拍,FreeOrion是一个松散的基于Master of Orion 的游戏。这是一个设置在太空的回合制战略游戏。适用操作系统:Windows, Linux和 OS X. + +#### 92. [Glest][93] #### + +这个实时战略游戏中科技的力量和魔法的力量都在其中。虽然它任然提供下载,但是大多数Linux发行版本现在包含了Megaglest的分支(见下文)而不是这个旧的程序。适用操作系统:Windows和 Linux. +#### 93. [Globulation 2][94] #### + +这个实时文明建设战略游戏用意在于减少微观管理并允许玩家集中精力于战略上。单机模式或者多用户模式游戏和关卡编辑器都是可用的。适用操作系统:Windows和 Linux. + +#### 94. [Hedgewars][95] #### + +这是一个更轻快的战略游戏,Hedgewars以“粉红刺猬从地狱深处战斗到太空深处”,总共31个环境,48张已经设置好的地图,还可以无限制随机生成张地图,55种武器,280种服装,最多支持8个玩家。适用操作系统:Linux, OS X和iOS. + +#### 95. [Kernel Panic][96] #### + +这款游戏设置在数字地形中,Kernel Panic是一款实时战略游戏,拥有Tron-like的图形界面。所有资源都是免费的,所以玩家不必担心楼宇经济,只需要于其它骇客在网络上斗争。适用操作系统:Linux和 Windows。 + +#### 96. [Liquid War][97] #### + +追溯回2002年,Liquid War被评委最“最原始的Linux游戏”,但是仍然是值得一玩的。玩家尝试消耗敌人的能量来控制水军。适用操作系统: Windows, Linux和 OS X. + + +#### 97. [MegaGlest][98] #### + +这个游戏是Glest的衍生,在原来的Tech和Magic上增加了5个新的队伍:埃及,印度,挪威人,波斯和罗马。它提供了17中不同的地图,有单机模式和多人游戏模式,并为新手提供了教程。适用操作系统:Windows和 Linux. + +#### 98. [Pax Brittanica][99] #### + +这是一款。最多可以支持4个玩家在战斗中使用同意键盘的潜艇战略游戏。这些空间简单易学(你只需适用一个按钮),但是这个游戏可以玩得非常激烈。适用操作系统:Windows, Linux和 OS X. + +#### 99. [Spring: 1944][100] #### + +这是一款二战战略游戏提供了逼真的游戏单元和强度。供选择的游戏角色可以是美国,德国,苏联和英国。适用操作系统:Linux。 + +#### 100. [UFO: Alien Invasion][101] #### + +在未来70年,一个秘密的组织正在为保卫地球不受狠毒的外星人侵略做战斗。玩家扮演人类或者外星人在单机模式或者多用户模式。适用操作系统:Windows, Linux和 OS X. + +#### 101. [Unknown Horizons][102] #### + +在这个文明建设的战略游戏中,强调的是建设一个强大的经济体制,你需要在一个孤岛上利用屈指可数的定居者和资源为开始,去建造一个欣欣向荣的城市。适用操作系统:Windows, Linux和 OS X. + + +#### 102. [Warzone 2100][103] #### + +你可以在核爆炸后重建地球吗?这个游戏提供了一个非常强大科技树并支持单人模式或者多人模式。适用操作系统:Windows, Linux,和OS X. + +#### 103. [Widelands][104] #### + +受Settlers II启发,Widelands是另外一款实时战略游戏,挑战玩家去建立一个文明国度。它的特点是具有3个部落,分别为野蛮人、帝国和亚特兰蒂斯,而不像大多数文明游戏,玩家并没有被告知每个单元要做什么,而是把下订单并委派给代表,更像一个统治者的角色。适用操作系统:Windows, Linux和 OS X. + +#### 104. [Zero-K][105] #### + +在这个快速移动的实时战略游戏中,机器人军队进行着一场永无休止的战斗。主要功能包括超过100种不同的单元,一个精简的经济体系,逼真的物理引擎,地球化等等。适用操作系统: Windows和 Linux. + +#### 105. [Zombies][106] #### + +你能够在在僵尸杀了你之前杀死所有僵尸吗?这是一个回合制的游戏提供了令人上瘾的游戏和设置,允许玩家决定挑战的级别。适用操作系统:OS X、 + +### 有趣的非游戏类 ### + +#### 106. [Celestia][107] #### + +对于想成为宇航员和初露头角的天文学家,这款游戏无疑是至臻完美的, Celestia可以让你看到太空,因为它会出现在任何时间和宇宙中的任何已知点。快速地到木星旅行或者画出你夜晚的观星图。适用操作系统:Windows, Linux和 OS X. + +#### 107. [Electric Sheep][108] #### + +这个游戏的灵感来自于Philip K. Dick小说中 Do Androids Dream of Electric Sheep(做电绵羊机器人的梦想)?这个屏幕通过创造抽象图案和花纹来保护您的系统连接到成千上万人的系统上。投票支持你喜欢的团,它们便会出现得更经常一些。适用操作系统:Windows, Linux, OS X, 安卓和 iOS. + +#### 108. [LCARS 24][109] #### + +如果你家里有一台旧的电脑(睡会没有),为何不把它变成一个星际旅行为主题。有了这个应用,你可以得到一个闹钟和文件管理器,从图形界面看来,就像来到了一个正规的企业。适用操作系统:Windows和 DOS. + +#### 109. [Stellarium][110] #### + +把你的PC变成一个天文馆。Stellarium可以在地球上随时从任何角度随时显示夜空,而且它使用许多天象仪器来为显示器供电。适用操作系统:Windows, Linux和 OS X. + +#### 110. [Tux Paint][111] #### + +Tux Paint可以让学龄前儿童很容易地在电脑上创建自己的“图画”。它的特征是有一个借口和大按钮,有趣的声音效果和友好的字符界面。适用操作系统:Windows, Linux和 OS X. + + +-------------------------------------------------------------------------------- + +via: http://www.datamation.com/open-source/110-fun-open-source-games-and-apps-1.html + +译者:[disylee](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.datamation.com/open-source/101-most-fun-open-source-games-and-apps-1.html +[2]:http://www.stuff-o-matic.com/asgp/ +[3]:http://armagetronad.org/index.php +[4]:http://bzflag.org/ +[5]:http://chromium-bsu.sourceforge.net/ +[6]:http://www.parallelrealities.co.uk/p/legend-of-edgar.html +[7]:http://www.penguspy.com/jvgs/ +[8]:http://www.nogravitythegame.com/classic/ +[9]:http://opensnc.sourceforge.net/home/index.php +[10]:http://linux.tlk.fr/games/Powermanga/ +[11]:http://www.scorched3d.co.uk/ +[12]:http://www.srb2.org/ +[13]:http://supertux.lethargik.org/ +[14]:http://funguloids.sourceforge.net/ +[15]:http://www.teeworlds.com/ +[16]:http://xmoto.tuxfamily.org/ +[17]:http://www.yofrankie.org/ +[18]:http://domination.sourceforge.net/ +[19]:http://sourceforge.net/apps/mediawiki/scrabble/index.php?title=Main_Page +[20]:http://sourceforge.net/apps/mediawiki/scrabble/index.php?title=Main_Page +[21]:http://www.pokerth.net/ +[22]:http://pysolfc.sourceforge.net/ +[23]:http://gabrielecirulli.github.io/2048/ +[24]:http://www.nongnu.org/billiards/ +[25]:http://cubetrains.com/ +[26]:http://www.nongnu.org/enigma/ +[27]:http://fillets.sourceforge.net/ +[28]:http://www.frozen-bubble.org/ +[29]:http://live.gnome.org/GnomeGames +[30]:http://tomatoes.sourceforge.net/about.html +[31]:http://games.kde.org/ +[32]:http://neverball.org/ +[33]:http://pingus.seul.org/welcome.html +[34]:http://pushover.sourceforge.net/ +[35]:http://zaz.sourceforge.net/ +[36]:http://www.schoolsplay.org/ +[37]:https://live.gnome.org/gbrainy +[38]:http://gcompris.net/index-en.html +[39]:http://tux4kids.alioth.debian.org/tuxmath/index.php +[40]:http://icculus.org/alienarena/rpa/ +[41]:http://assault.cubers.net/ +[42]:http://www.alientrap.org/games/nexuiz +[43]:http://openarena.ws/smfnews.php +[44]:http://www.redeclipse.net/ +[45]:http://tremulous.net/ +[46]:http://www.truecombatelite.com/ +[47]:http://www.unvanquished.net/ +[48]:http://www.warsow.net/ +[49]:http://www.splashdamage.com/wolfet +[50]:http://worldofpadman.net/website/news +[51]:http://www.xonotic.org/ +[52]:http://www.zeroballistics.com/ +[53]:http://www.stepmania.com/ +[54]:http://www.stepmania.com/ +[55]:http://www.ultrastardeluxe.org/ +[56]:http://sourceforge.net/projects/extremetuxracer/ +[57]:http://www.speed-dreams.org/ +[58]:http://supertuxkart.sourceforge.net/ +[59]:http://torcs.sourceforge.net/ +[60]:http://www.ultimatestunts.nl/ +[61]:http://vdrift.net/ +[62]:http://crossfire.real-time.com/intro/index.html +[63]:http://www.epicinventor.com/ +[64]:http://excaliburworld.com/emr/emr3/index.html +[65]:http://flarerpg.org/media/ +[66]:http://lipsofsuna.org/ +[67]:http://themanaworld.org/ +[68]:http://themanaworld.org/ +[69]:http://www.planeshift.it/about.html +[70]:http://www.ryzom.com/en/ +[71]:http://stendhalgame.org/ +[72]:http://sumwars.org/wiki/Main_Page +[73]:http://www.flightgear.org/ +[74]:http://www.golemgame.com/ +[75]:http://lincity.sourceforge.net/ +[76]:https://code.google.com/p/micropolis/ +[77]:http://minetest.net/ +[78]:http://pioneerspacesim.net/ +[79]:http://www.oolite.org/ +[80]:http://www.opencity.info/ +[81]:http://www.openttd.org/en/ +[82]:http://www.rigsofrods.com/content/ +[83]:http://www.simutrans.com/ +[84]:http://vegastrike.sourceforge.net/ +[85]:http://play0ad.com/ +[86]:http://www.asc-hq.org/ +[87]:http://www.wesnoth.org/ +[88]:http://www.boswars.org/ +[89]:http://commanderstalin.sourceforge.net/ +[90]:http://www.freecol.org/ +[91]:http://freeciv.wikia.com/wiki/Main_Page +[92]:http://freeorion.org/index.php/Main_Page +[93]:http://glest.org/en/index.php +[94]:http://globulation2.org/wiki/Main_Page +[95]:http://www.hedgewars.org/ +[96]:http://springrts.com/wiki/Kernel_Panic +[97]:http://www.ufoot.org/liquidwar/v5 +[98]:http://glest.org/en/index.php +[99]:http://paxbritannica.henk.ca/ +[100]:http://spring1944.net/ +[101]:http://ufoai.org/wiki/News +[102]:http://www.unknown-horizons.org/ +[103]:http://wz2100.net/ +[104]:http://wl.widelands.org/ +[105]:http://zero-k.info/ +[106]:http://codenautics.com/zombies/ +[107]:http://www.shatters.net/celestia/index.html +[108]:http://community.electricsheep.org/ +[109]:http://lcars24.com/ +[110]:http://stellarium.org/ +[111]:http://tuxpaint.org/ From ff8a984708f686909d0036969f667511b3f66acc Mon Sep 17 00:00:00 2001 From: disylee Date: Sun, 27 Jul 2014 13:15:21 +0800 Subject: [PATCH 240/291] translated by disylee 20140717 --- .../talk/20140723 110 Fun Open Source Games and Apps.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/talk/20140723 110 Fun Open Source Games and Apps.md (100%) diff --git a/sources/talk/20140723 110 Fun Open Source Games and Apps.md b/translated/talk/20140723 110 Fun Open Source Games and Apps.md similarity index 100% rename from sources/talk/20140723 110 Fun Open Source Games and Apps.md rename to translated/talk/20140723 110 Fun Open Source Games and Apps.md From 3674f92c6f03c8f217c2d7175bfa1100336411c8 Mon Sep 17 00:00:00 2001 From: bazz2 Date: Sun, 27 Jul 2014 14:14:22 +0800 Subject: [PATCH 241/291] [bazz2-ed]Linux Kernel Testing and Debugging 4 --- ...18 Linux Kernel Testing and Debugging 4.md | 144 ----------------- ...18 Linux Kernel Testing and Debugging 5.md | 3 +- ...18 Linux Kernel Testing and Debugging 4.md | 145 ++++++++++++++++++ 3 files changed, 147 insertions(+), 145 deletions(-) delete mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 4.md create mode 100644 translated/tech/20140718 Linux Kernel Testing and Debugging 4.md diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 4.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 4.md deleted file mode 100644 index 0d3ac54012..0000000000 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 4.md +++ /dev/null @@ -1,144 +0,0 @@ -[bazz2 keep moving] -Linux Kernel Testing and Debugging -================================================================================ -### Auto Testing Tools ### - -There are several automated testing tools and test infrastructures that you can chose from based on your specific testing needs. This section is intended to be a brief overview and not a detailed guide on how to use each of these. - -#### [AuToTest][1] #### - -> Autotest is a framework for fully automated testing. It is designed primarily to test the Linux kernel, though it is useful for many other functions such as qualifying new hardware. It is an open source project under the GPL. Autotest works in server-client mode. Autotest server can be configured to initiate, run, and monitor tests on several target systems running the autotest client. Autotest client can be run manually on a target system or via the server. Using this framework, new test cases can be added. Please [Autotest White Paper][2] for more information. - -#### Linaro Automated Validation Architecture #### - -> LAVA-Test Automated Testing Framework is a framework to help with automated installation and executions of tests. For example, running LTP in LAVA framework can be accomplished with a few commands. Running lava-test tool to install LTP will automatically install any dependencies, download the source for the recent release of LTP, compile it, and install the binaries in a self-contained area so that they can be removed easily when user runs uninstall. At this point running lava-test run with ltp test option will execute LTP tests and save results with an unique id that includes the test name, time/date stamp of the test execution. These results are saved for future reference. This is a good feature to find regressions, if any, between test runs. Summary of commands to run as an example: - -Show a list of tests supported by lava-test: - - lava-test list-tests - -Install a new test: - - lava-test install ltp - -Run the test: - - lava-test run ltp - -Check results: - - lava-test results show ltp-timestamp.0 - -Remove tests: - - lava-test uninstall ltp - -### Kernel Debug Features ### - -Linux kernel includes several debugging features such as kmemcheck and kmemleak. - -#### kmemcheck #### - -> kmemcheck is a dynamic checking tool that detects and warns about some uses of uninitialized memory. It serves the same function as Valgrind's memcheck which is a userspace memory checker, where as kmemcheck checks kernel memory. CONFIG_KMEMCHECK kernel configuration option enables the kmemcheck debugging feature. Please read the Documentation/kmemcheck.txt for information on how to configure and use this feature, and how to interpret the reported results. - -#### kmemleak #### - -> kmemleak can be used to detect possible kernel memory leaks in a way similar to a tracing garbage collector. The difference between the tracing garbage collector and kmemleak is that the latter doesn't free orphan objects, instead it reports them in /sys/kernel/debug/kmemleak. A similar method of reporting and not freeing is used by the Valgrind's memcheck --leak-check to detect memory leaks in user-space applications. CONFIG_DEBUG_KMEMLEAK kernel configuration option enables the kmemleak debugging feature. Please read the Documentation/kmemleak.txt for information on how to configure and use this feature, and how to interpret the reported results. - -### Kernel Debug Interfaces ### - -Linux kernel has support for static and dynamic debugging via configuration options, debug APIs, interfaces, and frameworks. Let's learn more about each of these starting with the static options. - -### Debug Configuration Options - Static ### - -Linux kernel core and several Linux kernel modules, if not all, include kernel configuration options to debug. Several of these static debug options can be enabled at compile time. Debug messages are logged in dmesg buffer. - -### Debug APIs ### - -An example of Debug APIs is DMA-debug which is desiged for debugging driver dma api usage errors. When enabled, it keeps track of dma mappings per device, detects unmap attempts on addresses that aren't mapped, and missing mapping error checks in driver code after dma map attempts. CONFIG_HAVE_DMA_API_DEBUG and CONFIG_DMA_API_DEBUG kernel configuration options enable this feature on architectures that provide the support. With the CONFIG_DMA_API_DEBUG option enabled, the Debug-dma interfaces are called from DMA API. For example, when a driver calls dma_map_page() to map a dma buffer, dma_map_page() will call debug_dma_map_page() to start tracking the buffer until it gets released via dma_unmap_page() at a later time. For further reading on [Detecting silent data corruptions and memory leaks using DMA Debug API ][3] - -### Dynamic Debug ### - -Dynamic debug feature allows dynamically enabling/disabling pr_debug(), dev_dbg(), print_hex_dump_debug(), print_hex_dump_bytes() per-callsite. What this means is, a specific debug message can be enabled at run-time to learn more about a problem that is observed. This is great because, there is no need to re-compile the kernel with debug options enabled, then install the new kernel, only to find that the problem is no longer reproduciable. Once CONFIG_DYNAMIC_DEBUG is enabled in the kernel, dynamic debug feature enables a fine grain enable/disable of debug messages. /sys/kernel/debug/dynamic_debug/control is used to specify which pr_* messages are enabled. A quick summary of how to enable dynamic debug per call level, per module level is as follows: - -Enable pr_debug() in kernel/power/suspend.c at line 340: - - echo 'file suspend.c line 340 +p' > /sys/kernel/debug/dynamic_debug/control - -Enable dynamic debug feature in a module at module load time - -> Pass in dyndbg="plmft" to modprobe at the time module is being loaded. - -Enable dynamic debug feature in a module to persist across reboots - -> create or change modname.conf file in /etc/modprobe.d/ to add dyndbg="plmft" option. However for drivers that get loaded from initramfs, changing modname.conf is insufficient for the dynamic debug feature to persist across reboot. For such drivers, change grub to pass in module.dyndbg="+plmft" as a module option as a kernel boot parameter. - -dynamic_debug.verbose=1 kernel boot option increases the verbosity of dynamic debug messages. Please consult the Documentation/dynamic-debug-howto.txt for more information on this feature. - -### Tracepoints ### - -So far we talked about various static and dynamic debug features. Both static debug options and debug hooks such as the DMA Debug API are either enabled or disabled at compile time. Both of these options require a new kernel to be compiled and installed. The dynamic debug feature eliminates the need for a recompile, however the debug code is compiled in with a conditional variable that controls whether or not the debug message gets printed. It helps that the messages can be enabled at run-time, however, the conditional code is executed at run-time to determine if the message needs to be printed. Tracepoint code on the otherhand can be triggered to be included at run-time only when the tracepoint is enabled. In other words, tracepoint code is different in that, it is inactive unless it is enabled. When it is enabled, code is modified to include the tracepoint code. It doesn't add any conditional logic overhead to determine whether or not to generate a trace message. - -Please read [Tips on how to implement good tracepoint code][4] for more insight into how tracing works. - -### Tracepoint mechanism ### - -The tracepoints use jump-labels which is a code modification of a branch. - -When it is disabled, the code path looks like: - - [ code ] - nop - back: - [ code ] - return; - tracepoint: - [ tracepoint code ] - jmp back; - -When it is enabled, the code path looks like: (notice how the tracepoint code appears in the code path below) - - [ code ] - jmp tracepoint - back: - [ code ] - return; - tracepoint: - [ tracepoint code ] - jmp back; - -### Linux PM Sub-system Testing ### - -Using debug, dynamic debug, and tracing, let's run a few suspend to disk PM tests. When system is suspended, kernel creates hibernation image on disk, suspends and uses the image to restore the systerm state at resume time. - -Enable logging time it takes to suspend and resume each device - - echo 1 > /sys/power/pm_print_times - -Run suspend to disk test in reboot mode - - echo reboot > /sys/power/disk - echo disk > /sys/power/state - -Run suspend to disk test in shutdown mode - same as reboot, except requires powering on to resume - - echo shutdown > /sys/power/disk - echo disk > /sys/power/state - -Run suspend to disk test in platform mode - more extensive and tests BIOS suspend and resume paths e.g: ACPI methods will be invoked. This is the recommended mode for hibernation so BIOS is informed and aware of suspend/resume action. - - echo platform > /sys/power/disk - echo disk > /sys/power/state - --------------------------------------------------------------------------------- - -via:http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,3 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://autotest.github.io/ -[2]:https://github.com/autotest/autotest/wiki/WhitePaper -[3]:http://events.linuxfoundation.org/sites/events/files/slides/Shuah_Khan_dma_map_error.pdf -[4]:http://www.linuxjournal.com/content/july-2013-linux-kernel-news diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 5.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 5.md index 010200bfc6..68d196a3de 100644 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 5.md +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 5.md @@ -1,3 +1,4 @@ +[bazz2 up up] Linux Kernel Testing and Debugging ================================================================================ ### Linux PM Sub-system Testing in Simulation Mode ### @@ -87,4 +88,4 @@ via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20140718 Linux Kernel Testing and Debugging 4.md b/translated/tech/20140718 Linux Kernel Testing and Debugging 4.md new file mode 100644 index 0000000000..81334dfac1 --- /dev/null +++ b/translated/tech/20140718 Linux Kernel Testing and Debugging 4.md @@ -0,0 +1,145 @@ +Linux 内核测试和调试 - 4 +================================================================================ +### 自动测试工具 ### + +这里列出一些能满足不同需求的测试工具供你选择。本小节只是简单介绍个大概,并不提供详细操作指南。 + +#### [AuToTest][1] #### + +> AuToTest 是一个全自动测试框架,存在的主要目的就是测试 Linux 内核,当然也可以用来测试其他东西,比如测试一块新硬件是否能稳定工作。AuToTest 是开源软件,以 GPL 方式授权,运行于 server-client 架构(即 C/S 架构)。你可以通过配置 server 端来对运行了 client 端的系统执行初始化、运行与监测工作,也可以自己在目标系统上让 client 运行起来。另外你可以为这个测试框架添加测试用例,详情请参考[AuToTest 白皮书][2]。 + +#### Linaro Automated Validation Architecture #### + +> LAVA 自动测试框架用于自动安装于运行测试。举个例子:你在 LAVA 里面只需运行几个命令就可以跑 LTP(LCTT:Linux Test Project,中文是 Linux 测试计划,SGI发起并由IBM负责维护,目的是为开源社区提供测试套件来验证Linux的可靠性、健壮性和稳定性)。通过 LAVA 命令可以自动为你安装 LTP 所需要的所有依赖包,下载源码、编译编码、将 LTP 安装到某个独立的地方,方便卸载 LTP 时能移除所有二进制文件。安装好 LTP 后,运行 LAVA 命令时添加 'ltp' 选项就可以运行 LTP 测试任务了,它会将测试结果以文件方式保存下来,文件名包含测试名称、时间戳。这些测试结果可以留着供以后参考。这是个发现软件退化(如果软件退化了的话)的好方法。下面列出 LAVA 配合 LTP 使用的一些命令: + +显示 LAVA 支持的测试列表: + + lava-test list-tests + +安装测试套件: + + lava-test install ltp + +运行测试: + + lava-test run ltp + +查看结果: + + lava-test results show ltp-timestamp.0 + +卸载测试套件: + + lava-test uninstall ltp + +### 内核调试功能 ### + +Linux 内核本身包含很多调试功能,比如 kmemcheck 和 kmemleak。 + +#### kmemcheck #### + +> kmemcheck 是一个动态检查工具,可以检测出一些未被初始化的内存(LCTT:内核态使用这些内存可能会造成系统崩溃)并发出警告。它的功能与 Valgrind 类似,只是 Valgrind 运行在用户态,而 kmemchecke 运行在内核态。编译内核时加上 CONFIG_KMEMCHECK 选项打开 kmemcheck 调试功能。你可以阅读 Documentation/kmemcheck.txt 来学习如何配置使用这个功能,以及如何看懂调试结果。 + +#### kmemleak #### + +> kmemleak 通过类似于垃圾收集器的功能来检测内核是否有内存泄漏问题。而 kmemleak 与垃圾收集器的不同之处在于前者不会释放孤儿目标(LCTT:不会再被使用的、应该被释放而没被释放的内存区域),而是将它们打印到 /sys/kernel/debug/kmemleak 文件中。用户态的 Valgrind 也有一个类似的功能,使用 --leak-check 选项可以检测并报错内存泄漏问题,但并不释放这个孤儿内存。编译内核时使用 CONFIG_DEBUG_KMEMLEAK 选项打开 kmemcleak 调试功能。阅读 Documentation/kmemleak.txt 来学习怎么使用这个工具并读懂调试结果。 + +### 内核调试接口 ### + +Linux 内核通过配置选项、调试用的 API、接口和框架来支持动态或静态的调试。我们现在就好好学习学习这些牛逼的功能,从静态编译选项开始讲。 + +### 调试配置选项:静态编译 ### + +大部分 Linux 内核以及内核模块都包含调试选项,你只要在编译内核或内核模块的时候添加这个静态调试选项,程序运行时后就会产生调试信息,并记录在 dmesg 缓存中。 + +### 调试的 API ### + +调试 API 的一个很好的例子是 DMA-debug,用来调试驱动是否错误使用了 DMA 提供的 API。它会跟踪每个设备的映射关系,检测程序有没有试图为一些根本不存在的映射执行“取消映射”操作,检测代码建立 DMA 映射后可能产生的“映射丢失”的错误。内核配置选项 CONFIG_HAVE_DMA_APT_DEBUG 和 CONFIG_DMA_API_DEBUG 可以为内核提供这个功能。其中,CONFIG_DMA_API_DEBUG 选项启用后,内核调用 DMA 的 API 的同时也会调用 Debug-dma 接口。举例来说,当一个驱动调用 dma_map_page() 函数来映射一个 DMA 缓存时,dma_map_page() 会调用debug_dma_map_page() 函数来跟踪这个缓存,直到驱动调用 dma_unmap_page() 来取消映射。详细内容请参考[使用 DMA 调试 API 检测潜在的数据污染和内存泄漏问题][3]。 + +### 动态调试 ### + +动态调试功能就是你可以决定在程序运行过程中是否要 pr_debug(), dev_dbg(), print_hex_dump_debug(), print_hex_dump_bytes() 这些函数正常运行起来。什么意思?当程序运行过程中出现错误时,你可以指定程序打印有针对性的、详细的调试信息。这功能牛逼极了,我们不再需要为了添加调试代码定位一个问题,而重新编译安装内核。你可以指定 CONDIF_DYNAMIC_DEBUG 选项打开动态调试功能,然后通过 /sys/kernel/debug/dynamic_debug/control 接口指定要打印哪些调试日志。下面分别列出代码级别和模块级别打印日志的操作方法: + +让 kernel/power/suspend.c 源码第340行的 pr_debug() 函数打印日志: + + echo 'file suspend.c line 340 +p' > /sys/kernel/debug/dynamic_debug/control + +让内核模块在加载过程中打开动态调试功能: + +> 使用 modprobe 命令加在模块时加上 dyndbg='plmft' 选项。 + +让内核模块的动态调试功能在重启后依然有效: + +> 编辑 /etc/modprobe.d/modname.conf 文件(没有这个文件就创建一个),添加 dyndbg='plmft' 选项。然而对于哪些通过 initramfs 加载的驱动来说,这个配置基本无效(LCTT:免费奉送点比较高级的知识哈。系统启动时,需要先让 initramfs 挂载一个虚拟的文件系统,然后再挂载启动盘上的真实文件系统。这个虚拟文件系统里面的文件是 initramfs 自己提供的,也就是说你在真实的文件系统下面配置了 /etc/modprobe.d/modname.conf 这个文件,initramfs 是压根不去理会的。站在内核驱动的角度看:如果内核驱动在 initramfs 过程中被加载到内核,这个驱动读取到的 /etc/modprobe.d/modname.conf 是 initramfs 提供的,而不是你编辑的那个。所以会有上述“写了配置文件后重启依然无效”的结论)。对于这种刁民,呃,刁驱动,我们需要修改 grub 配置文件,在 kernel 那一行添加 module.dyndbg='plmft' 参数,这样你的驱动就可以开机启动动态调试功能了。 + +想打印更详细的调试信息,可以使用 dynamic_debug.verbose=1 选项。参考 Documentation/dynamic-debug-howto.txt 文件获取更多信息。 + +### 设置追踪点 ### + +到目前为止,我们介绍了多种动态和静态调试方法。静态调试选项和静态调试钩子函数(比如 DMA Debug API)需要的编译过程打开或关闭,导致了一个难过的事实:需要重新编译安装内核。而动态编译功能省去了“重新编译”这件麻烦事,但是也有不足的地方,就是调试代码引入了条件变量,用于判断是否打印调试信息。这种方法可以让你在程序运行时决定是否打印日志,但需要执行额外的判断过程。“追踪点”代码只会在程序运行过程中使用“追踪点”功能才会被触发。也就是说,“追踪点”代码与上述说的两种方法都不一样。当用不到它时,它不会运行(LCTT:动态调试的话,代码每次都需要查看下变量,然后判断是否需要打印日志;而“追踪点”貌似利用某种触发机制,不需要每次都去查看变量)。当你需要用到它时,程序的代码会把“追踪点”代码包含进去。它不会添加任何条件变量来增加系统的运行负担。 + +详细信息请参考[布置追踪代码的小技巧][4]。 + +### “追踪点”的原理 ### + +追踪点使用“跳跃标签”,这是一种使用分支跳转的编码修正(code modification)技术。 + +当关闭追踪点的时候,其伪代码看起来时这样的: + + [ code1 ] + nop + back: + [ code2 ] + return; + tracepoint: + [ tracepoint code ] + jmp back; + +当打开追踪点的时候,其伪代码看起来时这样的:(注意追踪点代码出现的位置) + + [ code1 ] + jmp tracepoint + back: + [ code2 ] + return; + tracepoint: + [ tracepoint code ] + jmp back; + +(LCTT:咳咳,解释解释上面两段伪代码吧,能看懂的大神请忽略这段注释。不使用追踪点时,代码运行过程是:code1->code2->return结束;使用追踪点时,代码运行过程是:code1->跳到tracepoint code执行调试代码->跳回code2->return结束。两段代码的唯一区别就是第二行,前者为 nop(不做任何操作),后者为 jmp tracepoint (跳到调试代码)。) + +### Linux 电源管理子系统的测试 ### + +使用静态调试、动态调试和追踪调试技术,我们来跑一下磁盘的电源管理测试。当系统被挂起时,内核会为磁盘创建一个休眠镜像,使磁盘进入休眠模式,当系统重新被唤醒时,内核又利用这个休眠镜像重新唤醒磁盘。 + +设置挂起设备与唤醒设备需要的时间: + + echo 1 > /sys/power/pm_print_times + +以 reboot 模式挂起磁盘: + + echo reboot > /sys/power/disk + echo disk > /sys/power/state + +以 shutdown 模式挂起磁盘 —— 与 reboot 模式一样,只是重新唤醒磁盘的话还需要电源提供。 + + echo shutdown > /sys/power/disk + echo disk > /sys/power/state + +以 platform 模式挂起磁盘 —— 能测试更多内容,比如 BIOS 挂起和唤醒,会涉及到 ACPI 功能。我们推荐你使用这种方式,把 BIOS 也拉下水陪你玩挂起和唤醒游戏。 + + echo platform > /sys/power/disk + echo disk > /sys/power/state + +-------------------------------------------------------------------------------- + +via:http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,3 + +译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://autotest.github.io/ +[2]:https://github.com/autotest/autotest/wiki/WhitePaper +[3]:http://events.linuxfoundation.org/sites/events/files/slides/Shuah_Khan_dma_map_error.pdf +[4]:http://www.linuxjournal.com/content/july-2013-linux-kernel-news From 15419bde0e0b68e2f84d324c90a32afd854b8e04 Mon Sep 17 00:00:00 2001 From: bazz2 Date: Sun, 27 Jul 2014 15:15:40 +0800 Subject: [PATCH 242/291] [bazz2-ed]Linux Kernel Testing and Debugging 5 --- ...18 Linux Kernel Testing and Debugging 5.md | 91 ------------------- ...18 Linux Kernel Testing and Debugging 6.md | 3 +- ...18 Linux Kernel Testing and Debugging 5.md | 90 ++++++++++++++++++ 3 files changed, 92 insertions(+), 92 deletions(-) delete mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 5.md create mode 100644 translated/tech/20140718 Linux Kernel Testing and Debugging 5.md diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 5.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 5.md deleted file mode 100644 index 68d196a3de..0000000000 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 5.md +++ /dev/null @@ -1,91 +0,0 @@ -[bazz2 up up] -Linux Kernel Testing and Debugging -================================================================================ -### Linux PM Sub-system Testing in Simulation Mode ### - -The Linux PM sub-system provides five PM test modes to test hibernation in a simulated mode. These modes allow exercising the hibernation code in various layers of the kernel without actually suspending the system. This is useful when there is a concern that suspend might not work on a specific platform and help detect errors in a simulation similar to simulating flying a plane, so to speak. - -freezer - test the freezing of processes - - echo freezer > /sys/power/pm_test - echo platform > /sys/power/disk - echo disk > /sys/power/state - -devices - test the freezing of processes and suspending of devices - - echo devices > /sys/power/pm_test - echo platform > /sys/power/disk - echo disk > /sys/power/state - -platform - test the freezing of processes, suspending of devices and platform global control methods(*) - - echo platform > /sys/power/pm_test - echo platform > /sys/power/disk - echo disk > /sys/power/state - -processors - test the freezing of processes, suspending of devices, platform global control methods(*) and the disabling of non-boot CPUs - - echo processors > /sys/power/pm_test - echo platform > /sys/power/disk - echo disk > /sys/power/state - -core - test the freezing of processes, suspending of devices, platform global control methods, the disabling of non-boot CPUs and suspending of platform/system devices. Note: this mode is tested on ACPI systems. - - echo core > /sys/power/pm_test - echo platform > /sys/power/disk - echo disk > /sys/power/state - -### Linux PM Sub-system Trace Events ### - -PM sub-system supports several tracepoints and trace events that can be enabled to trigger during run-time. I will give an overview on how to enable couple of these trace events and where to find the trace information they generate: - -Enabling PM events at run-time: - - cd /sys/kernel/debug/tracing/events/power - echo 1 > cpu_frequency/enable - cat /sys/kernel/debug/tracing/set_event - less /sys/kernel/debug/tracing/trace - -Enabling events at boot-time kernel trace parameter with a kernel boot option: - - trace_event=cpu_frequency - -For more information on Linux PM testing, please consult the Documentation/power/basic-pm-debugging.txt and other documents in the same directory. - -### git bisect ### - -git bisect is an invaluable and powerful tool to isolate an offending commit. I will go over very basic git bisect steps. - -This is how the process works: - - git bisect start - git bisect bad # Current version is bad - git bisect good v3.14-rc6 # last good version - -Once, one bad and one good version are specified, git bisect will start bisecting by pulling in commits between the good version and the bad. Once a set of commits are pulled in, compile the kernel, install, test, and tag the version good or bad. This process repeats until the selected commits are tested and tagged as good or bad. There can be several kernel versions to test. When the last version is tested, git bisect will flag a commit that is bad. The following useful git-bisect command can aid in using git-bisect process: - -See step by step bisect progress - - git bisect log - -Reset git bisect can be used in case of mistakes in tagging, save git log output and replay prior to reset - - git bisect reset - -Replay a git-bisect log - - git bisect replay git_log_output - -git bisect can be run on a section of kernel source tree if the problem is clearly in that area. For example, when debugging a problem in radeon driver, running git bisect on drivers/drm/radeon will limit the scope of bisect to just the commits to drivers/drm/radeon driver. - -Start git bisect on a section of a kernel tree - - git bisect start drivers/drm/radeon - --------------------------------------------------------------------------------- - -via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,4 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md index 235c02463f..7a870f6b93 100644 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md +++ b/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md @@ -1,3 +1,4 @@ +[bazz2 last & largest one] Linux Kernel Testing and Debugging ================================================================================ ### Linux Kernel Patch Testing ### @@ -135,4 +136,4 @@ via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page [16]:http://lwn.net/Kernel/LDD3/ [17]:http://events.linuxfoundation.org/slides/lfcs2010_hiramatsu.pdf [18]:http://events.linuxfoundation.org/images/stories/slides/elc2013_porter.pdf -[a]:http://www.linuxjournal.com/users/shuah-khan \ No newline at end of file +[a]:http://www.linuxjournal.com/users/shuah-khan diff --git a/translated/tech/20140718 Linux Kernel Testing and Debugging 5.md b/translated/tech/20140718 Linux Kernel Testing and Debugging 5.md new file mode 100644 index 0000000000..ef868c8c26 --- /dev/null +++ b/translated/tech/20140718 Linux Kernel Testing and Debugging 5.md @@ -0,0 +1,90 @@ +Linux 内核测试和调试 - 5 +================================================================================ +### 仿真环境下进行 Linux 电源管理子系统测试 ### + +Linux 电源管理子系统在仿真环境下提供5种测试方式。这些方式仅仅在内核各层之间运行休眠的代码而不是真正的让系统进入休眠状态。有些平台不能挂起系统,比如说我们需要模拟飞机的飞行环境,这时候使用这种仿真环境就非常有用处了。 + +freezer - 测试停掉处理器: + + echo freezer > /sys/power/pm_test + echo platform > /sys/power/disk + echo disk > /sys/power/state + +devices - 测试停掉处理器以及挂起设备: + + echo devices > /sys/power/pm_test + echo platform > /sys/power/disk + echo disk > /sys/power/state + +platform - 测试停掉处理器、挂起设备以及平台全局控制方法(*) + + echo platform > /sys/power/pm_test + echo platform > /sys/power/disk + echo disk > /sys/power/state + +processors - 测试停掉处理器、挂起设备和平台全局控制方法(*),以及关闭未启动的 CPU。 + + echo processors > /sys/power/pm_test + echo platform > /sys/power/disk + echo disk > /sys/power/state + +core - 测试停掉处理器、挂起设备和平台全局控制方法(*),关闭未启动的 CPU,以及挂起平台或系统的设备。注意:这个测试模式运行在 ACPI 系统。 + + echo core > /sys/power/pm_test + echo platform > /sys/power/disk + echo disk > /sys/power/state + +### Linux 电源管理子系统追踪事件 ### + +电源管理子系统在运行过程中支持多种追踪点和追踪事件。我将对如何使用这些追踪时间以及如何找到追踪信息作一个简单的介绍: + +在运行时开启电源管理事件: + + cd /sys/kernel/debug/tracing/events/power + echo 1 > cpu_frequency/enable + cat /sys/kernel/debug/tracing/set_event + less /sys/kernel/debug/tracing/trace + +为内核启动的命令添加一个参数: + + trace_event=cpu_frequency + +更多信息查看 Documentation/power/basic-pm-debugging.txt 以及同目录下其他的文档。 + +### git bisect 命令 ### + +git bisect 是一个非常有用非常强大的工具,用于将 git 上的一个 commit 分离出来。我简单过一遍它的用法。 + +下面是 git bisect 的用法: + + git bisect start + git bisect bad # 当前版本是坏的 + git bisect good v3.14-rc6 # 上个版本是好的 + +一旦指定好好的版本和坏的版本,git bisect 就会开始把好坏两个版本之间的所有 commit 对半分,并将其中的一半提交 pull 下来。然后重新编译安装测试内核,并标记这个内核是好是坏。重复这个过程,知道某个你选好的 commit 被标记被好或者坏。我们可能需要测试多个内核版本,测到最后一个版本时,git bisect 会将一个 commit 标记为坏。下面的命令可以在 git bisect 分析过程中起到帮助作用: + +查看 bisect 操作的过程: + + git bisect log + +重置 git bisect,标记错误时可以用到,保存 git log 的输出,重新操作上一次 bisect 的步骤: + + git bisect reset + +重放 git bisect 操作过程: + + git bisect replay git_log_output + +如果一个问题很清楚是在某个区域内,git bisect 命令可以定位到一个具体的内核源码树枝干上。举个例子,在调试一个镭龙显卡驱动的问题时,为 git bisect 指定 drivers/drm/radeon 参数,可以让 git bisect 只检索对 drivers/drm/radeon 里面的文件有修改的 commit。 + +让 git bisect 只检索内核树的某个枝干: + + git bisect start drivers/drm/radeon + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,4 + +译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 25762a4dd1c70f0dae73b94857cb90cc28d009b1 Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 27 Jul 2014 16:50:49 +0800 Subject: [PATCH 243/291] =?UTF-8?q?PUB=EF=BC=9A20140703=20How=20to=20find?= =?UTF-8?q?=20and=20kill=20misbehaving=20MySQL=20queries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @hunanchenxingyu 翻译质量不佳,下回请自己先读一遍。可以参照翻译词典和翻译程序,但是不能依赖。 --- ...find and kill misbehaving MySQL queries.md | 23 ++++++++++--------- ... engines from the command line on Linux.md | 6 ++++- 2 files changed, 17 insertions(+), 12 deletions(-) rename {translated/tech => published}/20140703 How to find and kill misbehaving MySQL queries.md (70%) diff --git a/translated/tech/20140703 How to find and kill misbehaving MySQL queries.md b/published/20140703 How to find and kill misbehaving MySQL queries.md similarity index 70% rename from translated/tech/20140703 How to find and kill misbehaving MySQL queries.md rename to published/20140703 How to find and kill misbehaving MySQL queries.md index 0d49954923..848d466fdd 100644 --- a/translated/tech/20140703 How to find and kill misbehaving MySQL queries.md +++ b/published/20140703 How to find and kill misbehaving MySQL queries.md @@ -1,8 +1,9 @@ -怎样去查找并杀掉非法的MySQL查询 +怎样把坏的MySQL查询找到并杀死? ================================================================================ -有时,相关数据库系统的复杂性可能被压倒.幸运地,这种复杂性是一种优势,与 MySQL工具一起管理查询. 在本教程中, 我将向你们展示 **怎样去查找并杀掉任何非法的MySQL查询**. -为了浏览当前正在运行的查询, 登陆到MySQL终端,然后运行‘show processlist’命令: +有时,关系型相关数据库系统的复杂性会把你搞晕,不过幸运的是,使用MySQL工具来管理查询就就可以避免这些复杂性。 在本教程中,我将向你们展示 **怎样去查找并杀掉任何非法的MySQL查询**。 + +为了浏览当前正在运行的查询,登陆到MySQL终端,然后运行‘show processlist’命令: mysql> show processlist; @@ -16,10 +17,10 @@ +--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+ 4 rows in set (0.03 sec) -首先 你应该查看'Time'项, 这里记录了进程执行 "doing the thing it's doing" 操作的秒数. ‘command’项处于‘Sleep’ -状态的进程正在等待查询, 因此,它并没有消耗任何资源. 对于其他任何进程而言,‘Time’超过一定的秒数表明出现问题. +首先你应该查看'Time'项,这里记录了进程执行 "做其当做的事情" 操作的秒数。‘command’项处于‘Sleep’ +状态的进程表示其正在等待接受查询,因此,它并没有消耗任何资源。对于其他任何进程而言,‘Time’超过一定的秒数表明出现问题。 -在这种情况下,只能通过运行‘show processlist’命令来查询.如果我们有一个糟糕的写查询,让我们来看看情况如何: +在上面的例子中,唯一运行的查询是我们的‘show processlist’命令。让我们来看看如果我们有一个写的很烂的查询是怎么样的: mysql> show processlist; @@ -35,19 +36,19 @@ +--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+ 6 rows in set (0.00 sec) -啊哈!现在我们看到这里的查询几乎运行了30s. 如果我们不想让它继续运行,可以使用它的'Id'去执行kill命令: +啊哈!现在我们看到有一个查询运行了将近30秒。如果我们不想让它的进程继续运行,可以将它的'Id'传递给kill命令: mysql> kill 132033; Query OK, 0 rows affected (0.00 sec) mysql> -(注意 由于我们没有改变任何数据,MySQL总是报告0行被影响.) +(注意 由于我们没有改变任何数据,MySQL总是报告0行被影响。) -明智的使用kill命令能够清除积压的查询.记住,但那不是一种永久的方法 - 如果这些查询来自你的应用,你需要去重写它们,或者将继续看到相同的问题. +明智的使用kill命令能够清除积压的查询。然而,要记住的是,那不是一种永久的方法 - 如果这些查询来自你的程序,你需要去重写它们,或者将继续看到相同的问题不断出现。 ### 另请参阅 ### -关于不同‘Command’的MySQL文档: +关于不同‘命令’的MySQL文档: - [https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html][1] @@ -55,7 +56,7 @@ via: http://xmodulo.com/2014/07/find-kill-misbehaving-mysql-queries.html -译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[校对者ID](https://github.com/校对者ID) +译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20140630 How to access popular search engines from the command line on Linux.md b/translated/tech/20140630 How to access popular search engines from the command line on Linux.md index 5e7fe1b8d4..b56cd66aa9 100644 --- a/translated/tech/20140630 How to access popular search engines from the command line on Linux.md +++ b/translated/tech/20140630 How to access popular search engines from the command line on Linux.md @@ -1,8 +1,11 @@ 主流搜索引擎闯入Linux命令行世界 ================================================================================ +(LCTT译注:这里,我们姑且认为您身处能够访问Internet的地方!) + 为什么会有人要从终端搜索互联网上的东西?我不清楚,这里头可能有许多的原因。但是,因为没人要求答案总比没人知道答案少令人失望一点。这里,列出了一些流行的搜索引擎的命令行工具,可以让你们通过Linux终端来访问它们。 ### 1. Google ### + 让我们从一个巨头开始吧:Bing!好吧,只是开个玩笑,事实上应该是Google。坦白讲,你根本不需要使用命令行工具来进行Google搜索。只需要简简单单的一个命令: $ xdg-open https://www.google.com/search?q="[query]" @@ -84,11 +87,12 @@ Twitter是迎合潮流的一个很好的搜索引擎。我们已经在[如何在 #### Adrien Brochard #### 我是一位来自法国的Linux爱好者。在尝试了多个发行版后,我最后认可了Archlinux。然而,我一直在试着通过积累一些知识和技巧来改善我的系统。 + -------------------------------------------------------------------------------- via: http://xmodulo.com/2014/06/access-popular-search-engines-command-line-linux.html -译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) +译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 34ce4a1d2474c47afb51bd37d20970b22b110b67 Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 27 Jul 2014 17:01:01 +0800 Subject: [PATCH 244/291] PUB:20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04 @vito-L --- ...40709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md (86%) diff --git a/translated/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md b/published/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md similarity index 86% rename from translated/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md rename to published/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md index 8a3fefca01..360f9ca5cb 100644 --- a/translated/tech/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md +++ b/published/20140709 How To Disable Overlay Scrollbars in Ubuntu 14.04.md @@ -1,10 +1,10 @@ -如何在Ubuntu14.04中禁用叠加滚动条【小贴士】 +[小技巧]如何在Ubuntu14.04中禁用叠加滚动条 ================================================================================ ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/04/Ubuntu-14.042-790x493.jpeg) Hello 伙计们, -这是一个如何在Ubuntu中禁用叠加滚动条的小贴士。注意,在本文中不是删除叠加功能,相反,你将启用或禁用它。 +这是一个如何在Ubuntu中禁用叠加滚动条的小技巧。注意,在本文中讲的不是删除叠加功能,而是告诉你如何启用或禁用它。 ### 禁用 ### From fad9de8ba5b9c06afb0c6df8c28995ef64384d5b Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 27 Jul 2014 17:12:14 +0800 Subject: [PATCH 245/291] PUB:20140630 How to access popular search engines from the command line on Linux @GOLinux --- ...ccess popular search engines from the command line on Linux.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {translated/tech => published}/20140630 How to access popular search engines from the command line on Linux.md (100%) diff --git a/translated/tech/20140630 How to access popular search engines from the command line on Linux.md b/published/20140630 How to access popular search engines from the command line on Linux.md similarity index 100% rename from translated/tech/20140630 How to access popular search engines from the command line on Linux.md rename to published/20140630 How to access popular search engines from the command line on Linux.md From cb20923afafa407fdddef23845983bbb774b4f68 Mon Sep 17 00:00:00 2001 From: bazz2 Date: Sun, 27 Jul 2014 17:31:06 +0800 Subject: [PATCH 246/291] [bazz-2 work complete]Linux Kernel Testing and Debugging 6 --- ...18 Linux Kernel Testing and Debugging 6.md | 139 ------------------ ...18 Linux Kernel Testing and Debugging 6.md | 136 +++++++++++++++++ 2 files changed, 136 insertions(+), 139 deletions(-) delete mode 100644 sources/tech/20140718 Linux Kernel Testing and Debugging 6.md create mode 100644 translated/tech/20140718 Linux Kernel Testing and Debugging 6.md diff --git a/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md b/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md deleted file mode 100644 index 7a870f6b93..0000000000 --- a/sources/tech/20140718 Linux Kernel Testing and Debugging 6.md +++ /dev/null @@ -1,139 +0,0 @@ -[bazz2 last & largest one] -Linux Kernel Testing and Debugging -================================================================================ -### Linux Kernel Patch Testing ### - -Are you try your hands on writing a kernel patch? This section will go over how to test a new patch before sending it to the Linux mailing list. Further more, we will also talk about how to send it. -Once the code is ready, compile it. Save the make output to a file to see if the new code introduced any new warnings. Address warnings, if any. Once the code compiles cleanly, install the compiled kernel and boot test. If it boots successfully, make sure there are no new errors in the dmesg, comparing it with the previous kernel dmesg. Run a few usage and stress tests. Please refer to the testing content we discussed earlier in this paper. If the patch is for fixing a specific bug, make sure the patch indeed fixes the bug. If the patch fixes the problem, make sure, other module regression tests pass. Identify regression tests for the patched module and run them. When a patch touches other architectures, cross-compile build testing is recommended. Please check the following in the source git as a reference to identify tests. - -- linux_git/Documentation -- linux_git/tools/testing -- Cross-compiling reference: [Cross-compiling Linux Kernels on x86_64: A tutorial on How to Get Started][1] - -Once you are satisfied with the patch testing, it is time to commit the change and generate the patch. Make sure the commit message describes the change made very clearly. It is important that the maintainer and other developers can understand what this change is all about. Once patch is ready, run scripts/checkpatch.pl on the generated patch. Address checkpatch errors and/or warnings, if any. Regenerate and repeat until the patch passes the checkpatch test. Unless the checkpatch errors are minor whitespace type, re-test the patch. Apply the patch to another instance of the kernel git to make sure patch applies cleanly. - -Now you are ready to send the patch. Please run the scripts/get_maintainer.pl to identify whom the patch should be sent to. Please remember that the patch needs to be sent as a plain text, not as an attachment. Please make sure your email client can send plain text messages. Email the patch to yourself to test your client settings. Run checkpatch and apply the received patch. If these two steps pass, then you are ready to send the patch to the Linux Kernel Mailing List. git send-email is the safest way to send patches to avoid email client complications. Please make sure your .gitconfig includes sendemail with a valid smtpserver. Please consult git manpage for details. - -Please refer to the following documentation in the kernel sources for rules and guidelines on sending patches: - -- linux_git/Documentation/applying-patches.txt -- linux_git/Documentation/SubmitChecklist -- linux_git/Documentation/SubmittingDrivers -- linux_git/Documentation/SubmittingPatches -- linux_git/Documentation/stable_kernel_rules.txt -- linux_git/Documentation/stable_api_nonsense.txt - -The following is a list of additional testing guides and resources: - -- [USB Testing on Linux][2] -- [Linux Kernel Tester's Guide Chapter2][3] -- [Linux Kernel Tester's Guide][4] -- [Testing resources at eLinux.org][5] -- [eLinux Debugging Portal][6] - -### Kernel test suites and projects ### - -In addition to the testing resources we discussed so far, there are projects both open source and initiated by hardware vendors that are worth a mention. Each of these projects focus on specific areas of the kernel and in some cases a specific space such as, embedded or enterprise where the kernel is used. We will look at a few in this section. - -[Linux Test Project][7] (LTP) test suite is a collection of tools to test reliability, robustness, and stability of Linux kernel and related features. This test suite can be customized by adding new tests and the LTP project welcomes contributions. runltp script tests the following sub-systems by default: - -- filesystem stress tests -- disk I/O tests -- memory management stress tests -- ipc stress -- scheduler tests -- commands functional verification tests -- system call functional verification tests - -[**LTP-DDT**][8] is an LTP based test application wth a reduced focus to test embedded device drivers. - -[**Linux Driver Verification**][9] project's goals are to improve the quality of Linux device drivers, develop an integrated platform for device drivers verification, and adopt latest research outcome to enhance quality of verification tools. - -### Compliance Testing ### - -If you ever had to port applications from one Unix variant to another, you would understand the importance of the [Linux Standard Base (LSB)][10] and LSB compliance test suite. The LSB is a Linux Foundation workgroup created to reduce the costs of supporting Linux platform, by reducing the differences between various Linux distributions and ensuring application portability between distributions. If anything, divergence in the Unix world taught us that it is vital to avoid it in the Linux world. This is exactly the reason why you can take an rpm convert it to deb and install and run it, and how sweet is that. - -### Static Analysis and Tools ### - -Static analysis tools analyze the code without executing it, hence the name static analysis. There are a couple of static analysis tools that are sepcifically written for analyzing the Linux kernel code base. Sparse is a static type-checking program written specifically for the Linux kernel, by Linus Torvalds. Sparse is a semantic parser. It creates a sematic prase tree to validate C semantics. It performs lazy type evaluation. Kernel build system has support for sparse and provides a make option to compile the kernel with sparse checking enabled. - -Run sparse on all kernel C files that would get re-compiled: - - make C=1 allmodconfig - -Run sparse on all kernel C files even when they don't need a re-compile: - - make C=2 allmodconfig - -Sparse resources: - -- [Sparse Archive][11] -- [Sparse How To][12] - -Smatch analyzes source to detect programming logic errors. It can detect logic errors such as, attempts to unlock already unlocked spinlock. It is actively used to detect logic errors in the Linux kernel sources. - -Run smatch on Linux kernel: - - make CHECK="~/path/to/smatch/smatch -p=kernel" C=1 bzImage modules | tee warns.txt - -Please follow instructions on how to get smatch from smatch git repo and compile. Smatch is work in progress, instructions keep changing. - -- [**Smatch**][12] - -So what do we do about all of these semantic and logic problems found by Sparse and Smatch? Some of these problems are isolated to a routine and/or a module which can be fixed easily. However, some of these semantic issues are global in nature due to cut and paste of code. In some cases when interfaces get obsoleted or changed slightly, a mass change to update several source files becomes necessary. This is where Coccinelle comes in to rescue. Coccinelle is a program matching and transformation engine which provides the language SmPL (Semantic Patch Language) for specifying desired matches and transformations in C code. Coccinelle was initially targeted towards performing collateral evolutions in Linux. - -For example, foo(int) interfaces changes to foo(int, char \*) with an optional second input parameter which can be a null. All usages of foo() will need to be updated to the new convention, which will be a very laborious task. Using Cocinelle, this task becomes easier with a script that looks for all instances of foo(parameter1) and replacing them with foo(parameter1, NULL). Once this task is done, all instances of foo() can be examined to see if passing in NULL value for parameter2 is a good assumption. For more information on Cocinelle and how it is used in fixing problems in various projects including the Linux kernel, please refer to the project page: [**Cocinelle**][13] - -### References ### - -We covered a lot of ground in this paper. I leave you with a few references for further reading on the topics we discussed. - -- [KernelHacking][14] -- [kernel Documentation][15] -- [Linux Device Drivers, Third Edition][16] -- [Dynamic Event Tracing in Linux Kernel][17] -- [Kernel Testing: Tool and Techniques][18] - -### Acknowledgements ### - -I would like to thank Khalid Aziz, Oracle for his review, proof reading, and valuable suggestions for improvement. My special thanks to Mauro Chehab, Samsung and Guy Martin, Samsung for their review and feedback at various stages of writing this paper. I would like to extend my thanks to Greg Kroah-Hartman, Linux Foundation for his review. My special thanks to Ibrahim Haddad, Samsung for his support and encouragement without which, I would probably have never set out to write this paper in the first place. - ----------- - -![](http://www.linuxjournal.com/files/linuxjournal.com/ufiles/pictures/picture-1088573.jpg) - -Author:[Shuah Khan][a] - -Shuah Khan is a Senior Linux Kernel Developer at Samsung's Open Source Group. -She is a Linux Kernel Contributor who focuses on IOMMU, DMA, Linux Power -Management, and PCIe, in addition to helping with stable release kernel -maintenance testing and bug fixes. Shuah has several years of Unix kernel -development experience. She has also contributed to OpenHPI, and LLDP projects. - --------------------------------------------------------------------------------- - -via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,5 - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://events.linuxfoundation.org/sites/events/files/slides/Shuah_Khan_cross_compile_linux.pdf -[2]:http://www.linux-usb.org/usbtest/ -[3]:http://kernelnewbies.org/Linux_Kernel_Tester%27s_Guide_Chapter2 -[4]:http://www.kerneltravel.net/downloads/tester_guide.pdf -[5]:http://elinux.org/Test_Systems -[6]:http://elinux.org/Debugging_Portal -[7]:http://ltp.sourceforge.net/documentation/how-to/ltp.php -[8]:http://processors.wiki.ti.com/index.php/LTP-DDT -[9]:http://linuxtesting.org/project/ldv -[10]:http://www.linuxfoundation.org/collaborate/workgroups/lsb -[11]:http://codemonkey.org.uk/projects/git-snapshots/sparse/ -[12]:http://smatch.sourceforge.net/ -[13]:http://coccinelle.lip6.fr/ -[14]:http://kernelnewbies.org/KernelHacking -[15]:http://kernelnewbies.org/Documents -[16]:http://lwn.net/Kernel/LDD3/ -[17]:http://events.linuxfoundation.org/slides/lfcs2010_hiramatsu.pdf -[18]:http://events.linuxfoundation.org/images/stories/slides/elc2013_porter.pdf -[a]:http://www.linuxjournal.com/users/shuah-khan diff --git a/translated/tech/20140718 Linux Kernel Testing and Debugging 6.md b/translated/tech/20140718 Linux Kernel Testing and Debugging 6.md new file mode 100644 index 0000000000..02a53bccd1 --- /dev/null +++ b/translated/tech/20140718 Linux Kernel Testing and Debugging 6.md @@ -0,0 +1,136 @@ +Linux 内核的测试和调试 - 6 +================================================================================ +### Linux 内核补丁测试 ### + +你试过自己写内核补丁吗?本节介绍在把你的补丁包提交到 Linux 邮箱列表之前,需要做哪些操作。另外我们还会介绍如何把它发送出去。 + +写好代码后,编译它。把 make 过程产生的输出保存到文档中,查看新代码有没有警告信息。找到所有的警告信息,处理掉。当你的代码编译过程没有任何不正常的输出,安装这个内核,然后启动测试。如果启动正常,查看 dmesg 里面有没于错误,与老内核生成的 dmesg 日志做个比较。运行一些压力测试,请参考我们以前讲过的测试内容。如果这个补丁用于修复某个 bug,请确保真的已经修复了。如果真的修复了,请确保能通过系统测试。找出打你补丁的模块下面的回归测试工具,运行一下。如果补丁涉及到其他架构,你需要交叉编译然后测试一下。请通过下面的目录查找测试工具: + +- linux_git/Documentation +- linux_git/tools/testing +- 交叉编译参考:[在 x86_64 架构上交叉编译 Linux 内核:初学者教程][1] + +如果你对你的补丁测试结果感到很满意,你就可以提交补丁了。请确保提交 commit 的信息要描述得非常清楚。要让内核维护者和其他开发者看懂补丁所修改的内容,这一点非常重要。生成补丁后,执行 scripts/checkpatch.pl 脚本,找到 checkpatch 是产生的错误或警告(如果有的话),修复它们。重新生成补丁,直到补丁通过这个脚本的测试。重新测试这个补丁。将本补丁用于其他的内核源码上,保证不会有冲突产生。 + +现在你做好提交补丁的准备了。先运行 scriptst/get_maintainer.pl 来确认你应该把补丁发给哪个内核维护者。注意不要以附件形式发送补丁,而是以纯文本形式粘贴在邮件里面。确保你的邮件客户端可以发送纯文本信息,你可以试试给自己发送一份补丁邮件来测试你的邮件客户端的功能。收到自己的邮件后,运行 checkpatch 命令并给自己的内核源码打上你的补丁。如果这两部都能通过,你就可以给 Linux 邮箱列表发送补丁了。使用 git send-email 命令是提交补丁最安全的方式,可以避免你的邮箱的兼容性问题。你的 .gitconfig 文件里面需要配置好有效的 smtp 服务器,详细操作参考 git 的帮助文档。 + +更多提交补丁的规矩,请参考下面的资料: + +- linux_git/Documentation/applying-patches.txt +- linux_git/Documentation/SubmitChecklist +- linux_git/Documentation/SubmittingDrivers +- linux_git/Documentation/SubmittingPatches +- linux_git/Documentation/stable_kernel_rules.txt +- linux_git/Documentation/stable_api_nonsense.txt + +下面是一些内核测试教程的资料: + +- [USB Testing on Linux][2] +- [Linux Kernel Tester's Guide Chapter2][3] +- [Linux Kernel Tester's Guide][4] +- [Testing resources at eLinux.org][5] +- [eLinux Debugging Portal][6] + +### 内核测试套件和项目 ### + +除我们讨论过的测试资源之外,这里还有很多测试项目值得介绍,包括开源的和厂家自己提供的。这些项目每一个都是针对特定领域的,比如嵌入式或者企业自己使用。我们简单过一下。 + +[Linux 测试项目][7](LTP)测试套件是一系列工具的集合,用于测试内核的可靠性、健壮性和稳定性。你可以为这个项目添加自己的测试代码,并且 LTP 项目欢迎你贡献自己的代码。runltp 脚本默认情况下会测试下面的子系统: + +- 文件系统压力测试 +- 磁盘 IO 测试 +- 内存管理压力测试 +- IPC(进程间通信)测试 +- 调度器测试 +- 命令的功能性验证测试 +- 系统调用功能验证测试 + +[**LTP-DDT**][8] 是一个基于 LTP 的测试应用(LCTT:就是 LTP 的阉割版么),专注于测试嵌入式设备驱动。 + +[**Linux Driver Verification**][9] 这个项目的目标是提高 Linux 设备驱动的质量,它为设备驱动验证开发了集成环境平台,并且利用与时俱进的研究来增强验证工具的质量。 + +### 一致性测试 ### + +如果你有将某个 Unix 平台下的应用一直到另一个平台的经验,你就能理解 [Linux Standard Base (LSB)][10] 和 LSB 一致性测试套件的重要性了。LSB 是 Linux Foundation 工作组创建的用于降低支持不同 Linux 平台所需要的开销,方法就是通过降低不同 Linux 发行版之间的差别,保证应用在不同发行版之间的可移植性。前事不忘后事之师,Unix 世界的分歧在 Linux 世界一定要避免。这就是为什么你可以把一个 rpm 包转化成 deb 包后还能安装并正常运行的秘密。 + +### 静态分析工具 ### + +静态分析之所以会被称为“静态分析”,是因为这些工具只分析代码,并不执行它们。分析 Linux 内核代码的静态分析工具有很多,Sparse 是 Linus Torvalds 写的专门用于检查内核静态类型的工具。它是一个语义检查器,会为 C 语言的语义建立语义检析树,执行惰性类型评估。内核编译系统支持 sparse,并且为编译内核的命令提供开启 sparse 的选项。 + +为内核所有需要重新编译的 C 文件执行 sparse 语义检查: + + make C=1 allmodconfig + +为内核所有 C 文件(即使不需要重新编译)执行 sparse 语义检查: + + make C=2 allmodconfig + +Sparse 的资源: + +- [Sparse Archive][11] +- [Sparse How To][12] + +Smatch 分析程序代码的逻辑错误。它可以检测到诸如“为一个没锁上的 spinlock 执行解锁”的逻辑错误。内核源码支持 smatch: + +在 Linux 内核中运行 smatch: + + make CHECK="~/path/to/smatch/smatch -p=kernel" C=1 bzImage modules | tee warns.txt + +请参考下面的资料来获取和编译 smatch。需要注意的是 smatch 是个正在发展的项目,架构会不断变化。 + +- [**Smatch**][12] + +那么我们该怎么处理 Sparse 和 Smatch 所发现的语义和逻辑上的错误呢?一些错误可以被分离为日常问题或模块问题,可以轻易被解决。但是有些语义错误涉及到全局,因为剪切粘贴了一些代码。在一些环境中,当一些接口函数被废弃不再使用,或者仅仅做了写微小的修改,你就需要大规模更新源码。这时候你需要 Coccinelle 来帮忙。,Coccinelle 使用 SmPL 语言(语义包语言)来为 C 代码提供匹配和转换代码的功能。Coccinelle 的从一开始就作为 Linux 的附属产品持续发展的。 + +举个例子:foo(int) 函数突然变成 foo(int, char \*) 函数,多出了一个输入参数(可以把第二个参数置为 null)。所有调用 foo() 函数的代码都需要更新了,这可能是个悲摧的体力活。但是使用 Coccinelle 的话,这项工作瞬间变得轻松,脚本会帮你找到调用 foo(parameter1) 的代码,然后替换成 foo(parameter1, NULL)。做完这些后,所有调用这个函数的代码都可以运行一遍,验证下第二个参数为 NULL 是否能正常工作。关于 Coccinelle 的更多信息,以及在不同项目中(当然,也包括 Linux 内核这个项目)的使用方法,请参考项目主页:[**Cocinelle**][13]。 + +### 参考文献 ### + +本文涵盖了很多方面,这里列出一些参考文档供读者做进一步研究。 + +- [KernelHacking][14] +- [kernel Documentation][15] +- [Linux Device Drivers, Third Edition][16] +- [Dynamic Event Tracing in Linux Kernel][17] +- [Kernel Testing: Tool and Techniques][18] + +### 鸣谢 ### + +感谢来自 Oracle 的 Khalid Aziz,审查校对并提供许多非常有价值的建议。感谢来自三星的 Mauro Chehab 和 Guy Martin,他们给了我多次反馈。感谢来自 Linux Foundation 的 Grey Kroah-Hartman 对本文的审阅。感谢来自三星的 Ibrahim Haddad,没有他的支持和鼓励,我可能还不会坐下来写出这篇文章。 + +---------- + +![](http://www.linuxjournal.com/files/linuxjournal.com/ufiles/pictures/picture-1088573.jpg) + +作者:[Shuah Khan][a] + +Shuah Khan 是三星公司开源组的高级 Linux 内核开发工程师。 +她为 Linux 内核中的 IOMMU、DMA、电源管理、PCIe 贡献代码,同时维护内核,为内核提供补丁包。Shuah 有多年 Unix 内核开发经验。她也为 OpenHPI 和 LLDP 项目作贡献。 + +-------------------------------------------------------------------------------- + +via: http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,5 + +译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://events.linuxfoundation.org/sites/events/files/slides/Shuah_Khan_cross_compile_linux.pdf +[2]:http://www.linux-usb.org/usbtest/ +[3]:http://kernelnewbies.org/Linux_Kernel_Tester%27s_Guide_Chapter2 +[4]:http://www.kerneltravel.net/downloads/tester_guide.pdf +[5]:http://elinux.org/Test_Systems +[6]:http://elinux.org/Debugging_Portal +[7]:http://ltp.sourceforge.net/documentation/how-to/ltp.php +[8]:http://processors.wiki.ti.com/index.php/LTP-DDT +[9]:http://linuxtesting.org/project/ldv +[10]:http://www.linuxfoundation.org/collaborate/workgroups/lsb +[11]:http://codemonkey.org.uk/projects/git-snapshots/sparse/ +[12]:http://smatch.sourceforge.net/ +[13]:http://coccinelle.lip6.fr/ +[14]:http://kernelnewbies.org/KernelHacking +[15]:http://kernelnewbies.org/Documents +[16]:http://lwn.net/Kernel/LDD3/ +[17]:http://events.linuxfoundation.org/slides/lfcs2010_hiramatsu.pdf +[18]:http://events.linuxfoundation.org/images/stories/slides/elc2013_porter.pdf +[a]:http://www.linuxjournal.com/users/shuah-khan From 908dce69ce479103ae9c28b4f9fa50617e654d4c Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Sun, 27 Jul 2014 18:55:14 +0800 Subject: [PATCH 247/291] Update 20140715 Command Line Tuesdays--Part Five.md --- sources/tech/20140715 Command Line Tuesdays--Part Five.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140715 Command Line Tuesdays--Part Five.md b/sources/tech/20140715 Command Line Tuesdays--Part Five.md index 2f6822192b..e1c6be7948 100644 --- a/sources/tech/20140715 Command Line Tuesdays--Part Five.md +++ b/sources/tech/20140715 Command Line Tuesdays--Part Five.md @@ -1,3 +1,4 @@ +translating by cvsher Command Line Tuesdays – Part Five ================================================================================ Yes, you’ve guessed what time it is! It’s time to rrrrrrrrummmbleeeee! And this time, we’ll learn how to work with commands. So without further ado, let’s get to business. @@ -85,4 +86,4 @@ via: https://news.opensuse.org/2014/07/15/command-line-tuesdays-part-five/ [17]: [18]: [19]: -[20]: \ No newline at end of file +[20]: From 2d883dad014f28188995bfc786e46709225cb79c Mon Sep 17 00:00:00 2001 From: wxy Date: Sun, 27 Jul 2014 22:48:33 +0800 Subject: [PATCH 248/291] PUB:20140711 Linux Basics--How To Find Size of Directory Commands @cvsher --- ... Linux Basics--How To Find Size of Directory Commands.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename {translated/tech => published}/20140711 Linux Basics--How To Find Size of Directory Commands.md (92%) diff --git a/translated/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md b/published/20140711 Linux Basics--How To Find Size of Directory Commands.md similarity index 92% rename from translated/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md rename to published/20140711 Linux Basics--How To Find Size of Directory Commands.md index 6bbaa3cccf..28d56c3faa 100644 --- a/translated/tech/20140711 Linux Basics--How To Find Size of Directory Commands.md +++ b/published/20140711 Linux Basics--How To Find Size of Directory Commands.md @@ -1,6 +1,6 @@ -@@ -1,63 +0,0 @@ -Linux基础,如何在命令行中查看目录的大小 +Linux基础:如何在命令行中查看目录的大小 ===================================================================== + 这是写给Liunx新用户的一系列文章中的第一篇,在这系列文章我将会写一些对新用户来说非常好用的**Linux基础命令**。 **注意**:本文的目标读者是仅有小量甚至是没有任何Linux命令行使用经验的读者。 @@ -59,7 +59,7 @@ Linux基础,如何在命令行中查看目录的大小 via: http://www.unixmen.com/linux-basics-find-size-directory-commands/ -译者:[cvsher](https://github.com/cvsher) 校对:[校对者ID](https://github.com/校对者ID) +译者:[cvsher](https://github.com/cvsher) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 4fa7b58b653790ec242b71dc5dd0f657d9a581ba Mon Sep 17 00:00:00 2001 From: joeren Date: Mon, 28 Jul 2014 08:19:34 +0800 Subject: [PATCH 249/291] Update 20140723 How to configure chroot SFTP in Linux.md --- sources/tech/20140723 How to configure chroot SFTP in Linux.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140723 How to configure chroot SFTP in Linux.md b/sources/tech/20140723 How to configure chroot SFTP in Linux.md index 8c6f80e601..14e3a5de06 100644 --- a/sources/tech/20140723 How to configure chroot SFTP in Linux.md +++ b/sources/tech/20140723 How to configure chroot SFTP in Linux.md @@ -1,3 +1,4 @@ +Translating by GOLinux... How to configure chroot SFTP in Linux ================================================================================ There are **some scenario** where system admin wants only few users should be allowed to transfer files to Linux boxes not ssh. We can achieve this by setting up **SFTP** in chroot environment. @@ -86,4 +87,4 @@ via: http://www.linuxtechi.com/configure-chroot-sftp-in-linux/ 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[a]:http://www.linuxtechi.com/author/pradeep/ \ No newline at end of file +[a]:http://www.linuxtechi.com/author/pradeep/ From 17169807a09990d794cc96fdd0705424ba769413 Mon Sep 17 00:00:00 2001 From: GOLinux Date: Mon, 28 Jul 2014 09:08:18 +0800 Subject: [PATCH 250/291] Translation complete --- ...3 How to configure chroot SFTP in Linux.md | 49 +++++++++---------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/sources/tech/20140723 How to configure chroot SFTP in Linux.md b/sources/tech/20140723 How to configure chroot SFTP in Linux.md index 14e3a5de06..6847924e54 100644 --- a/sources/tech/20140723 How to configure chroot SFTP in Linux.md +++ b/sources/tech/20140723 How to configure chroot SFTP in Linux.md @@ -1,32 +1,31 @@ -Translating by GOLinux... -How to configure chroot SFTP in Linux +在Linux中为SFTP配置chroot环境 ================================================================================ -There are **some scenario** where system admin wants only few users should be allowed to transfer files to Linux boxes not ssh. We can achieve this by setting up **SFTP** in chroot environment. +在**某些环境**中,系统管理员想要允许极少数用户传输文件到Linux盒子中,而非ssh。要实现这一目的,我们可以使用**SFTP**,并为其构建chroot环境。 -### Background of SFTP & chroot : ### +### SFTP & chroot背景: ### -**SFTP** stands for **SSH File Transfer protocol or Secure File Transfer Protocol**. SFTP provides file access, file transfer, and file management functionalities over any reliable data stream. When we configure SFTP in chroot environment , then only allowed users will be limited to their **home directory** , or we can say allowed users will be in jail like environment where they can’t even change their directory. +**SFTP**是值**SSH文件传输协议(SSH File Transfer protocol)或安全文件传输协议(Secure File Transfer Protocol)**,它提供了任何可信数据流下的文件访问、文件传输以及文件管理功能。当我们为SFTP配置chroot环境后,只有被许可的用户可以访问,并被限制到它们的**家目录**中,或者我们可以这么说:被许可的用户将处于牢笼环境中,在此环境中它们甚至不能切换它们的目录。 -In article we will configure **Chroot SFTP in RHEL 6.X** & **CentOS 6.X**. We have one user ‘**Jack**’ , this users will be allowed to transfer files on linux box but no ssh access. +在本文中,我们将配置**RHEL 6.X** & **CentOS 6.X中的SFTP Chroot环境**。我们开启一个用户帐号‘**Jack**’,该用户将被允许在Linux盒子上传输文件,但没有ssh访问权限。 -### Step:1 Create a group ### +### 步骤:1 创建组 ### [root@localhost ~]# groupadd sftp_users -### Step:2 Assign the secondary group(sftp_users) to the user. ### +### 步骤:2 分配附属组(sftp_users)给用户 ### -If the users doesn’t exist on system , use below command : +如果用户在系统上不存在,使用以下命令创建: [root@localhost ~]# useradd -G sftp_users -s /sbin/nologin jack [root@localhost ~]# passwd jack -For **already existing users** , use below usermod command : +对于**已经存在的用户**,使用以下usermod命令进行修改: [root@localhost ~]# usermod –G sftp_users -s /sbin/nologin jack -**Note** : if you want to change the **default home directory** of users , then use ‘**-d**’ option in useradd and usermod command and set the **correct permissions**. +**注意**:如果你想要修改用户的**默认家目录**,那么在useradd和usermod命令中使用‘**-d**’选项,并设置**合适的权限**。 -### Step:3 Now edit the config file “/etc/ssh/sshd_config” ### +### 步骤:3 现在编辑配置文件 “/etc/ssh/sshd_config” ### # vi /etc/ssh/sshd_config #comment out the below line and add a line like below @@ -40,42 +39,42 @@ For **already existing users** , use below usermod command : ChrootDirectory %h ForceCommand internal-sftp -#### Where : #### +#### 此处: #### -- **Match Group sftp_users** – This indicates that the following lines will be matched only for users who belong to group sftp_users -- **ChrootDirectory %h** – This is the path(default user's home directory) that will be used for chroot after the user is authenticated. So, for Jack, this will be /home/jack. -- **ForceCommand internal-sftp** – This forces the execution of the internal-sftp and ignores any command that are mentioned in the ~/.ssh/rc file. +- **Match Group sftp_users** – 该参数指定以下的行将仅仅匹配sftp_users组中的用户 +- **ChrootDirectory %h** – 该参数指定用户验证后用于chroot环境的路径(默认的用户家目录)。对于Jack,该路径就是/home/jack。 +- **ForceCommand internal-sftp** – 该参数强制执行内部sftp,并忽略任何~/.ssh/rc文件中的命令。 -Restart the ssh service +重启ssh服务 # service sshd restart -### Step:4 Set the Permissions : ### +### 步骤:4 设置权限: ### [root@localhost ~]# chmod 755 /home/jack [root@localhost ~]# chown root /home/jack [root@localhost ~]# chgrp -R sftp_users /home/jack -If You want that jack user should be allowed to upload files , then create a upload folder with the below permissions , +如果你想要允许jack用户上传文件,那么创建一个上传文件夹,设置权限如下: [root@localhost jack]# mkdir /home/jack/upload [root@localhost jack]# chown jack. /home/jack upload/ -### Step:5 Now try to access the system & do testing ### +### 步骤:5 现在尝试访问系统并进行测试 ### -Try to access the system via ssh +尝试通过ssh访问系统 ![](http://www.linuxtechi.com/wp-content/uploads/2014/07/ssh-try.png) -As You can see below jack user is logged in via SFTP and can't change the directory becuase of chroot environment. +正如下图所示,用户jack通过SFTP登录,而且因为chroot环境不能切换目录。 ![](http://www.linuxtechi.com/wp-content/uploads/2014/07/sftp-login.png) -Now do the **uploading and downloading** testing as shown below: +现在进行**上传和下载**测试,如下图: ![](http://www.linuxtechi.com/wp-content/uploads/2014/07/sftp-upload-download.png) -As we can see above , both uploading & downloading working fine for jack user. +正如上图所示,jack用户的上传下载功能都工作得很好。 -------------------------------------------------------------------------------- @@ -83,7 +82,7 @@ via: http://www.linuxtechi.com/configure-chroot-sftp-in-linux/ 原文作者:[Pradeep Kumar][a] -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 77715325aeb0f7a6b0e701a6e05576ab41d15c22 Mon Sep 17 00:00:00 2001 From: GOLinux Date: Mon, 28 Jul 2014 09:09:12 +0800 Subject: [PATCH 251/291] Translation complete --- .../tech/20140723 How to configure chroot SFTP in Linux.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {sources => translated}/tech/20140723 How to configure chroot SFTP in Linux.md (100%) diff --git a/sources/tech/20140723 How to configure chroot SFTP in Linux.md b/translated/tech/20140723 How to configure chroot SFTP in Linux.md similarity index 100% rename from sources/tech/20140723 How to configure chroot SFTP in Linux.md rename to translated/tech/20140723 How to configure chroot SFTP in Linux.md From 6669cc02da3e73e83265d660c613ceadbb920824 Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Mon, 28 Jul 2014 10:01:19 +0800 Subject: [PATCH 252/291] nd0104 is translate --- .../20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md | 1 + .../20140724 Install Google Docs on Linux with Grive Tools.md | 1 + 2 files changed, 2 insertions(+) diff --git a/sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md b/sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md index 22fa2adcaa..68dbc2d138 100644 --- a/sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md +++ b/sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md @@ -1,3 +1,4 @@ +nd0104 is translate Time to Upgrade: Ubuntu 13.10 Support Ends Today ================================================================================ ![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/04/upgrade-available.jpg) diff --git a/sources/tech/20140724 Install Google Docs on Linux with Grive Tools.md b/sources/tech/20140724 Install Google Docs on Linux with Grive Tools.md index 45160b49d2..6e49ffd618 100644 --- a/sources/tech/20140724 Install Google Docs on Linux with Grive Tools.md +++ b/sources/tech/20140724 Install Google Docs on Linux with Grive Tools.md @@ -1,3 +1,4 @@ +nd0104 is translate Install Google Docs on Linux with Grive Tools ================================================================================ Google Drive is two years old now and Google’s cloud storage solution seems to be still going strong thanks to its integration with Google Docs and Gmail. There’s one thing still missing though: a lack of an official Linux client. Apparently Google has had one floating around their offices for a while now, however it’s not seen the light of day on any Linux system. From 96a33e0d38370eef6ef8595b9f6aa4b21743ebb0 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Mon, 28 Jul 2014 13:33:53 +0800 Subject: [PATCH 253/291] =?UTF-8?q?20140728-1=20=E9=80=89=E9=A2=98=20?= =?UTF-8?q?=E6=96=B0=E9=97=BB=E4=B8=80=E7=AF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../news/20140728 CoreOS Stable Release.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 sources/news/20140728 CoreOS Stable Release.md diff --git a/sources/news/20140728 CoreOS Stable Release.md b/sources/news/20140728 CoreOS Stable Release.md new file mode 100644 index 0000000000..ff57dcda28 --- /dev/null +++ b/sources/news/20140728 CoreOS Stable Release.md @@ -0,0 +1,43 @@ +CoreOS Stable Release +================================================================================ +First off, [Happy SysAdmin Day][1]. We think we have a pretty good SysAdmin surprise in store for you today as we are announcing the CoreOS stable release channel. Starting today, you can begin running CoreOS in production. This version is the most tested, secure and reliable version available for users wanting to run CoreOS. This is a huge milestone for us. Since our first alpha release in August 2013: + +- 191 releases have been tagged +- Tested on hundreds of thousands of servers on the alpha and beta channels +- Supported on 10+ platforms, ranging from bare metal to being primary images on Rackspace and Google + +It is a big day for us here at CoreOS, as we have been working hard to deliver the stable release. Of course, we couldn’t do this without the community so thank you for all of your support and contributions to the project. + +[CoreOS 367.1.0][2], our first version on the stable channel, includes the following: + +- Linux 3.15.2 +- Docker 1.0.1 +- Support on all major cloud providers, including Rackspace Cloud, Amazon EC2 (including HVM), and Google Compute Engine +- Commercial support via [CoreOS Managed Linux][3] + +This is a great opportunity to read about our [Update Philosophy][4] if you haven't already done so. + +Please note: The stable release is not including etcd and fleet as stable, this release is only targeted at the base OS and Docker 1.0. etcd/fleet stable support will be in subsequent releases. + +For those of you who want to start running CoreOS in production be sure to review our quick [Switching Release Channels][5] guide. As you're booting new machines, be sure to base them off your desired channel from the beginning. + +Finally, thanks to the community for your support. We can’t wait to hear your feedback. For those looking for additional support of running CoreOS in production, be sure to check out our [Managed Linux][6] offerings, as we have a full support team in place ready to answer any questions you may have. + +Happy SysAdmin Day, and thank you for making the web awesome. + +-------------------------------------------------------------------------------- + +via: https://coreos.com/blog/stable-release/ + +作者:Alex Polvi +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://sysadminday.com/ +[2]:https://coreos.com/releases/#367.1.0 +[3]:https://coreos.com/products/managed-linux/ +[4]:https://coreos.com/using-coreos/updates/ +[5]:https://coreos.com/docs/cluster-management/setup/switching-channels/ +[6]:https://coreos.com/products/managed-linux/ \ No newline at end of file From d8dac92a5b4b8d3e4adeb92b86016ef9429132a6 Mon Sep 17 00:00:00 2001 From: Ark Date: Mon, 28 Jul 2014 16:57:22 +0800 Subject: [PATCH 254/291] Update 20140728 CoreOS Stable Release.md --- sources/news/20140728 CoreOS Stable Release.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/news/20140728 CoreOS Stable Release.md b/sources/news/20140728 CoreOS Stable Release.md index ff57dcda28..49880f3a4b 100644 --- a/sources/news/20140728 CoreOS Stable Release.md +++ b/sources/news/20140728 CoreOS Stable Release.md @@ -1,3 +1,4 @@ +Translating by lfzark CoreOS Stable Release ================================================================================ First off, [Happy SysAdmin Day][1]. We think we have a pretty good SysAdmin surprise in store for you today as we are announcing the CoreOS stable release channel. Starting today, you can begin running CoreOS in production. This version is the most tested, secure and reliable version available for users wanting to run CoreOS. This is a huge milestone for us. Since our first alpha release in August 2013: @@ -40,4 +41,4 @@ via: https://coreos.com/blog/stable-release/ [3]:https://coreos.com/products/managed-linux/ [4]:https://coreos.com/using-coreos/updates/ [5]:https://coreos.com/docs/cluster-management/setup/switching-channels/ -[6]:https://coreos.com/products/managed-linux/ \ No newline at end of file +[6]:https://coreos.com/products/managed-linux/ From 04c724dbe3b7e47951eb4180d4c040e4866f671f Mon Sep 17 00:00:00 2001 From: Rei Date: Mon, 28 Jul 2014 17:27:11 +0800 Subject: [PATCH 255/291] =?UTF-8?q?=E5=B7=B2=E6=A0=A1=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20140626 Joy of Programming--Fail Fast.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/translated/talk/20140626 Joy of Programming--Fail Fast.md b/translated/talk/20140626 Joy of Programming--Fail Fast.md index 3ec8029a61..047cd1bf9d 100644 --- a/translated/talk/20140626 Joy of Programming--Fail Fast.md +++ b/translated/talk/20140626 Joy of Programming--Fail Fast.md @@ -1,30 +1,30 @@ -编程的乐趣:快速出错! +编程的乐趣:快速终止! ================================================================================ ![](http://www.opensourceforu.com/wp-content/uploads/2011/12/fail-350x262.jpg) -> 当软件出现问题的时候,它应该以一种能引起注意的方式马上终止。这种“快速出错”的方式值得借鉴,我们会在这期专栏里谈谈这个重要的概念。 +> 当软件出现问题的时候,它应该以一种很容易引起注意的方式马上终止。这种“快速终止”的方式值得借鉴,我们会在这期专栏里谈谈这个重要的概念。 -一开始,“快速出错”看上去是一种会影响可靠性的不好的实践-为什么一个系统在还可以继续运行的时候要崩溃(或者说终止)?对于这个,我们需要理解,快速出错是和Heisenbugs(对于不能复现bug的一种称呼)紧密联系在一起的。 +一开始,“快速终止”看上去是一种会影响可靠性的不好的实践——为什么一个系统在还可以继续运行的时候要崩溃(或者说终止)?对于这个,我们需要理解,快速终止是和Heisenbugs(对于不易复现bug的一种称呼)紧密联系在一起的。 -考虑一下Bohrbugs(对于能够重现的bug的一种称呼),它们在给定输入的时候总是会出现,比如,访问空指针。这类问题很容易测试,复现并修复。如今,所有有经验的程序员应该都面对过这样的情形,导致崩溃的bug在重启软件后不再出现了。不管花多少时间或努力去重现问题,那个bug就是跟我们捉迷藏。这种bug被称为Heisenbugs。 +考虑一下Bohrbugs(对于能够重现的bug的一种称呼),它们在一个给定输入的条件下总是会出现,比如,访问空指针。这类问题很容易测试、复现并修复。而如今,所有有经验的程序员应该都面对过这样的情形:导致崩溃的bug在重启软件后就不再出现了。不管花多少时间或努力去重现问题,那个bug就是跟我们捉迷藏。这种bug被称为Heisenbugs。 -花在寻找,修复和测试Heisenbugs上的努力比起Bohrbugs来说,要高出一个数量级。一种避免Heisenbugs的策略是将它们转化为Bohrbugs。怎么做呢?预测可能导致Heisenbugs的因素,然后尝试将它们变成Bohrbugs。是的,这并不简单,而且也并不是一定就能成功,但是让我们来看一个能产生效果的特殊例子。 +花在寻找、修复和测试Heisenbugs上的努力比起Bohrbugs来说,要高出一个数量级。一种避免Heisenbugs的策略是将它们转化为Bohrbugs。怎么做呢?预测可能导致Heisenbugs的因素,然后尝试将它们变成Bohrbugs。是的,这并不简单,而且也并不是一定可行,但是让我们来看一个能产生效果的特殊例子。 -并发编程是Heisenbugs经常出现的一个典范。我们的例子就是一个Java里和并发相关的问题。在遍历一个Java集合的时候,一般要求只能通过Iterator的方法,比如remove()方法。而当遍历的时候,如果有另一个线程尝试修改底层集合(因为编程时留下的错误),那么底层集合就可能会被破坏(例如,导致不正确的状态)。 +并发编程是Heisenbugs经常出现的一个典范。我们的例子就是一个Java里和并发相关的问题。在遍历一个Java集合的时候,一般要求只能通过Iterator的方法对集合进行操作,比如remove()方法。而在遍历期间,如果有另一个线程尝试修改底层集合(因为编程时留下的错误),那么底层集合就可能会被破坏(例如,导致不正确的状态)。 -类似这种不正确的状态会导致不确定的错误-假如我们幸运的话(实际上,这很不幸!),程序可以继续执行而不会崩溃,但是却给出错误的结果。这种bug很难重现和修复,因为这一类的程序错误都是不确定的。换句话说,这是个Heisenbug。 +类似这种不正确的状态会导致不确定的错误——假如我们幸运的话(实际上,这很不幸!),程序可以继续执行而不会崩溃,但是却给出错误的结果。这种bug很难重现和修复,因为这一类的程序错误都是不确定的。换句话说,这是个Heisenbug。 -幸运的是,Java Iterators会尝试侦测这种并发修改,在发现了以后,会丢出异常`ConcurrentModificationException`,而不是等到最后再出错-那样也是没有任何迹象的。换句话说,Java Iterators也遵从了“快速出错”的方法。 +幸运的是,Java Iterators会尝试侦测这种并发修改,并且当发现时,会抛出异常`ConcurrentModificationException`,而不是等到最后再出错——那样也是没有任何迹象的。换句话说,Java Iterators也遵从了“快速终止”的方法。 -如果异常`ConcurrentModificationException`在正式软件中发生了呢?根据在Javadoc里对这个异常的说明,它“只应该用于侦测bug”。换句话说,`ConcurrentModificationException`只应该在开发阶段监听和修复,而不应该泄漏到正式代码中。 +如果一个`ConcurrentModificationException`异常在正式版软件中发生了呢?根据在Javadoc里对这个异常的说明,它“只应该被用于侦测bug”。换句话说,`ConcurrentModificationException`只应该在开发阶段监听和修复,而不应该泄漏到正式代码中。 -好吧,如果正式软件确实发生了这个异常,那它当然是软件中的bug,应当报告给开发者并修复。至少,我们能够知道发生了一次底层数据结构的并发修改,而这是软件出错的原因(而不是让软件产生错误的结果,或是以其他现象延后出错,这样就很难跟踪到根本原因)。 +好吧,如果正式软件确实发生了这个异常,那它当然是软件中的bug,应当报告给开发者并修复。至少,我们能够知道曾经发生过一次针对底层数据结构的并发修改尝试,而这是软件出错的原因(而不是让软件产生错误的结果,或是以其他现象延后出错,这样就很难跟踪到根本原因)。 -“安全出错”的方法意味着开发健壮的代码。一个很好的编写安全出错代码的例子就是使用断言。很可惜的是,关于断言的使用有大量不必要的公开争论。其中主要的批评点是:它在开发版本中使用,而在发布版中却被关掉的。 +“防止崩溃”的途径就意味着开发健壮的代码。一个很好的编写容错代码的例子就是使用断言。很可惜的是,关于断言的使用有大量不必要的公开争论。其中主要的批评点是:它在开发版本中使用,而在发布版中却被关掉的。 -不管怎么样,这个批评是错误的:从来没有说用断言来替代应该放到发布版软件中的防御式检查代码。例如,断言不应该用来检查传递给函数的参数是否为空。相应的,应该用一个if语句来检查这个参数是否正确,否则的话抛出异常,或是提前返回,来适合上下文。然而,断言一般用于额外检查代码中所做出的假设,它们应该为真才正常。例如,用一个语句来检查在进行了入栈操作后,栈应该不是空的(例如,对“不变量”的检查)。 +不管怎么样,这个批评是错误的:从来没有说要用断言来替代应该放到发布版软件中的防御式检查代码。例如,断言不应该用来检查传递给函数的参数是否为空。相应的,应该用一个if语句来检查这个参数是否正确,否则的话抛出一个异常,或是提前返回,来适合上下文。然而,断言一般可以用于额外检查代码中所作出的假设,这些假设应该一直为真才正常。例如,用一个语句来检查在进行了入栈操作后,栈应该不是空的(例如,对“不变量”的检查)。 -所以,快速出错,随时中断,那么你已经走在开发更加健壮代码的道路上了。 +所以,快速终止,随时中断,那么你就走在开发更加健壮代码的道路上了。 @@ -32,7 +32,7 @@ via:http://www.opensourceforu.com/2011/12/joy-of-programming-fail-fast/ -译者:[zpl1025](https://github.com/zpl1025) 校对:[校对者ID](https://github.com/校对者ID) +译者:[zpl1025](https://github.com/zpl1025) 校对:[ReiNoir](https://github.com/reinoir) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 91e4e5ba1036371e8c7b526451b9b5212acc6758 Mon Sep 17 00:00:00 2001 From: Rei Date: Mon, 28 Jul 2014 17:40:42 +0800 Subject: [PATCH 256/291] =?UTF-8?q?=E5=B7=B2=E5=8F=91=E5=B8=83=20@zpl1025?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../talk => published}/20140626 Joy of Programming--Fail Fast.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {translated/talk => published}/20140626 Joy of Programming--Fail Fast.md (100%) diff --git a/translated/talk/20140626 Joy of Programming--Fail Fast.md b/published/20140626 Joy of Programming--Fail Fast.md similarity index 100% rename from translated/talk/20140626 Joy of Programming--Fail Fast.md rename to published/20140626 Joy of Programming--Fail Fast.md From 5a83e0c57ae43e31a072bf1424802161819897bf Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Mon, 28 Jul 2014 17:44:36 +0800 Subject: [PATCH 257/291] =?UTF-8?q?=E5=B7=B2=E6=A0=A1=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... Song Lyrics On Desktop In Ubuntu 14.04.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md b/translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md index 5fbc4889db..376a68f122 100644 --- a/translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md +++ b/translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md @@ -1,22 +1,22 @@ -在Ubuntu上显示桌面歌词 +在 Ubuntu 桌面上显示歌词 ================================================================================ ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/display_lyrics_desktop_Ubuntu.jpeg) 除了免费的流媒体音乐外,我最喜欢[Spotify][1]的地方就是它的歌词插件了。有时候我听不懂一首歌里面的所有歌词,尤其是rap。[TuneWiki][2]插件在这种情况下就派得上用场了。但TuneWiki仅有支持Windows和iTune的插件,那我们在linux桌面上有什么选择呢? -如果你使用过Linux桌面一段时间,你也许听过[OSD Lyrics][3]。它是一个显示桌面歌词的小程序。你可以借助一些音乐播放器来使用它,比如Rythmbox,[Banshee][4],[Clementine][5]等等。 +如果你使用过一段时间Linux桌面,你也许听过[OSD Lyrics][3]。它是一个显示桌面歌词的小程序。你可以借助一些音乐播放器来使用它,比如 Rythmbox,[Banshee][4],[Clementine][5]等等。 ### 在Ubuntu 14.04和Linux mint 17上安装OSD Lyrics ### -两年以前OSD Lyrics在它的官方仓库中被积极地维护,但现在对它的开发已经停止了。尽管这个PPA已经不可用,但可以通过网络下载OSD Lyrics的安装包。虽然这些安装执行文件最初是为Ubuntu 12.02设计的,但这些文件也能在Ubuntu 14.04上很良好地工作。我们一起看看怎么在UUUUbuntu 14.04和 Linux mint 17上安装OSD Lyrics。 +两年以前 OSD Lyrics 在它的官方仓库中被积极地维护,但现在对它的开发已经停止了。尽管这个PPA已经不可用,但可以通过网络下载OSD Lyrics的安装包。虽然这些安装执行文件最初是为 Ubuntu 12.02 设计的,但这些文件也能在 Ubuntu 14.04 上良好地工作。我们一起看看怎么在 Ubuntu 14.04 和 Linux mint 17 上安装OSD Lyrics。 [前往下载页下载OSDLyrics][6],根据你是使用[32位还是64位的ubuntu][7]来下载相应的.deb 文件。你会在网页的上方找到这些文件。 ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Download.jpeg) -下载完成后,通过双击它来使用Ubuntu软件中心来安装。另外,你也可以使用[Gdebi ][8]来快速地安装.deb安装包。 +下载完成后,双击它通过使用Ubuntu软件中心来安装。另外,你也可以使用[Gdebi ][8]来快速地安装.deb安装包。 -### 怎样在Ububtu和linux mnit 上使用OSD Lyrics使用歌词 ### +### 怎样在 Ububtu 和 linux mnit 上使用 OSD Lyrics 显示歌词 ### 安装完成后,你可以从Unity Dash运行OSD Lyrics : @@ -26,20 +26,20 @@ ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/OSD_Lyrics_Default_Player.jpeg) -有一件事值得注意,那就是OSD Lyrics不像[Shazam][9]等一样,它不是通过音频来寻找歌词,而是通过比如名称,专辑,艺术家等信息来关联音乐文件。所以你得确保你的音乐文件的来源正当,或者是你得保持你的音乐文件的信息是正确和已经更新了的。 +有一件事值得注意,那就是OSD Lyrics不像[Shazam][9]等软件一样,它不是通过音频来寻找歌词,而是通过比如名称,专辑,艺术家等信息来关联音乐文件。所以你得确保你的音乐文件的来源正当,或者是你得保持你的音乐文件的信息是正确并且是已经更新后的。 如果OSD Lyrics辨认出了音乐文件,它就会用卡拉OK格式在桌面上显示歌词了:(译者注:OSD Lyrics可以自动在千千静听和虾米歌词站点在线下载歌词,这对我们中文用户来说是个福音) ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Dsiplay_Lyrics_Ubuntu.jpeg) -OSD Lyrics有大量设置选项,你可以改变歌词字体的种类,大小等等其它许多设置。 +OSD Lyrics有大量设置选项,你可以改变歌词字体,文字大小等等。 -你认为OSD Lyrics怎么样?你使用其它的一些歌词插件吗?闲余时间请和我们分享你的看法。 --------------------------------------------------------------------------------- +你认为 OSD Lyrics 怎么样?你还使用其它歌词插件吗?欢迎您和我们分享。 +-------------------------------------------------------------------------------- via: http://itsfoss.com/display-song-lyrics-desktop-ubuntu-1404/ -译者:[Love-xuan](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) +译者:[Love-xuan](https://github.com/译者ID) 校对:[Caroline](https://github.com/carolinewuyan) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 @@ -51,4 +51,4 @@ via: http://itsfoss.com/display-song-lyrics-desktop-ubuntu-1404/ [6]:https://code.google.com/p/osd-lyrics/downloads/list [7]:http://itsfoss.com/how-to-know-ubuntu-unity-version/ [8]:http://itsfoss.com/install-deb-files-easily-and-quickly-in-ubuntu-12-10-quick-tip/ -[9]:http://www.shazam.com/ \ No newline at end of file +[9]:http://www.shazam.com/ From cea14a26373d1892a1ce6a5530ea108a0c6cacfb Mon Sep 17 00:00:00 2001 From: bazz2 Date: Mon, 28 Jul 2014 20:10:15 +0800 Subject: [PATCH 258/291] [bazz2-ing]How to use systemd for system administration on Debian --- ...1 How to use systemd for system administration on Debian.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140711 How to use systemd for system administration on Debian.md b/sources/tech/20140711 How to use systemd for system administration on Debian.md index a464473fe4..12e2ca24ff 100644 --- a/sources/tech/20140711 How to use systemd for system administration on Debian.md +++ b/sources/tech/20140711 How to use systemd for system administration on Debian.md @@ -1,3 +1,4 @@ +[bazz2 hehe] How to use systemd for system administration on Debian ================================================================================ Soon enough, hardly any Linux user will be able to escape the ever growing grasp that systemd imposes on Linux, unless they manually opt out. systemd has created more technical, emotional, and social issues than any other piece of software as of late. This predominantly came to show in the [heated discussions][1] also dubbed as the 'Init Wars', that occupied parts of the Debian developer body for months. While the Debian Technical Comittee finally decided to include systemd in Debian 8 "Jessie", there were efforts to [supersede the decision][2] by a General Resolution, and even threats to the health of developers in favor of systemd. @@ -103,4 +104,4 @@ via: http://xmodulo.com/2014/07/use-systemd-system-administration-debian.html [1]:https://lists.debian.org/debian-devel/2013/10/msg00444.html [2]:https://lists.debian.org/debian-devel/2014/02/msg00316.html [3]:http://0pointer.de/blog/projects/systemd.html -[4]:http://www.freedesktop.org/wiki/Software/systemd/ \ No newline at end of file +[4]:http://www.freedesktop.org/wiki/Software/systemd/ From 9bd5ac2a40b402b6b2d2bfa8feac1f1eae162e38 Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 28 Jul 2014 20:55:13 +0800 Subject: [PATCH 259/291] =?UTF-8?q?PUB=EF=BC=9A20140711=20ncdu--NCurses=20?= =?UTF-8?q?Disk=20Usage=20Analyzer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @hunanchenxingyu --- ...40711 ncdu--NCurses Disk Usage Analyzer.md | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) rename {translated/tech => published}/20140711 ncdu--NCurses Disk Usage Analyzer.md (55%) diff --git a/translated/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md b/published/20140711 ncdu--NCurses Disk Usage Analyzer.md similarity index 55% rename from translated/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md rename to published/20140711 ncdu--NCurses Disk Usage Analyzer.md index ccddaf1b1c..5f9ebf05cd 100644 --- a/translated/tech/20140711 ncdu--NCurses Disk Usage Analyzer.md +++ b/published/20140711 ncdu--NCurses Disk Usage Analyzer.md @@ -1,6 +1,6 @@ -ncdu – 基于Ncurses库的磁盘使用分析器 +ncdu – 基于ncurses库的磁盘使用分析器 ================================================================================ -[Ncdu][1] (NCurses Disk Usage) 是一个基于Ncurses库的du命令浏览器. 它通过众所周知的[du][2]命令,为用户提供一个快速且容易被使用的接口. 它显示磁盘使用的百分比且允许你通过ncurses库去浏览目录. +[Ncdu][1] (NCurses Disk Usage) 是一个基于Ncurses库的du命令的界面。它通过大家熟知的[du][2]命令,为用户提供一个快速且容易被使用的界面。它可以显示磁盘使用的百分比,且允许你使用ncurses库的方式在目录之间导航。 ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu-about.png) @@ -8,37 +8,37 @@ ncdu – 基于Ncurses库的磁盘使用分析器 ncdu已经被移植到大多数linux发行版本,可从官方资源库中安装. -Arch / Manajaro and Derivatives: +Arch / Manajaro 及其衍生版: sudo pacman -S ncdu ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu.png) -Ubuntu / Debian / Linux Minut and Derivatives: +Ubuntu / Debian / Linux Minut 及其衍生版: sudo apt-get install ncdu -Fedora and Derivatives: +Fedora 及其衍生版: sudo yum install ncdu -在[这里][3]检查其他的发行版本. +在[这里][3]可以找到其他的发行版。 ### 使用 ncdu ### -Keys: +键盘操作: -- up, k — Move cursor up -- down, j – Move cursor down -- right/enter — Open selected directory -- left, <, h — Open parent directory -- n — Sort by name (ascending/descending) -- s — Sort by size (ascending/descending) -- C – Sort by items (ascending/descending) -- d – Delete selected file or directory -- t — Toggle dirs before files when sorting -- g – Show percentage and/or graph +- up, k — 向上移动光标 +- down, j – 向下移动光标 +- right/enter — 打开选定的目录 +- left, <, h — 打开父目录 +- n — 按文件名排序(升序/降序) +- s — 按文件大小排序(升序/降序) +- C – 按项目数排序(升序/降序) +- d – 删除选定的文件或目录 +- t — 排序时将目录放在文件前面 +- g – 以图形方式显示百分比 为使用ncdu,请打开终端并且运行 @@ -48,7 +48,7 @@ Keys: ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu-scanning.png) -当扫描完成后,你能够很容易的查看文件/目录的大小. +当扫描完成后,你能够很容易的看到文件/目录的大小. ![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/done-scanning.png) @@ -60,8 +60,8 @@ Keys: man ncdu -**荣誉**: 有两位读者**BasketCase**和**Sama Vim**在阅读[Linux Basics: How To Find Size of Directory Commands][5]之后 向我们推荐Ncdu工具. -注:上面这个链接已经做成原文 +**荣誉**: 有两位读者**BasketCase**和**Sama Vim**在阅读“[Linux基础:如何在命令行中查看目录的大小][5]”之后 向我们推荐了这个Ncdu工具。 + Enjoy! @@ -69,7 +69,7 @@ Enjoy! via: http://www.unixmen.com/ncdu-ncurses-disk-usage-analyzer/ -译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[校对者ID](https://github.com/校对者ID) +译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 @@ -77,4 +77,4 @@ via: http://www.unixmen.com/ncdu-ncurses-disk-usage-analyzer/ [2]:http://www.unixmen.com/linux-basics-find-size-directory-commands/ [3]:http://dev.yorhel.nl/ncdu [4]:http://dev.yorhel.nl/ncdu/man -[5]:http://www.unixmen.com/linux-basics-find-size-directory-commands/ \ No newline at end of file +[5]:http://linux.cn/article-3473-1.html \ No newline at end of file From 15f78803ad7c8add20866b628a71a692d28a89d7 Mon Sep 17 00:00:00 2001 From: KayGuoWhu Date: Mon, 28 Jul 2014 21:35:30 +0800 Subject: [PATCH 260/291] KayGuoWhu translating --- sources/talk/20140724 What are useful online tools for Linux.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/talk/20140724 What are useful online tools for Linux.md b/sources/talk/20140724 What are useful online tools for Linux.md index 461ff0afef..75aed3d17a 100644 --- a/sources/talk/20140724 What are useful online tools for Linux.md +++ b/sources/talk/20140724 What are useful online tools for Linux.md @@ -1,3 +1,4 @@ +[translating by KayGuoWhu] What are useful online tools for Linux ================================================================================ As you know, GNU Linux is much more than just an OS. There is literally a whole sphere on the Internet dedicated to the penguin OS. If you read this post, you are probably inclined towards reading about Linux online. Among all the pages that you can find on the subject, there are a couple of websites that every Linux adventurer should have in his bookmarks. These websites are more than just tutorials or reviews. They are real tools that you can access from anywhere and share with everyone. So today I shall propose you a non-exhaustive list of sixteen websites that should be in your bookmarks. Some of them can also be useful for Windows or Mac users: that's the extent of their reach. From d06b802dc23e7e61afd0791512512adc4be390f1 Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Mon, 28 Jul 2014 21:36:45 +0800 Subject: [PATCH 261/291] Delete 20140715 Command Line Tuesdays--Part Five.md --- ...140715 Command Line Tuesdays--Part Five.md | 89 ------------------- 1 file changed, 89 deletions(-) delete mode 100644 sources/tech/20140715 Command Line Tuesdays--Part Five.md diff --git a/sources/tech/20140715 Command Line Tuesdays--Part Five.md b/sources/tech/20140715 Command Line Tuesdays--Part Five.md deleted file mode 100644 index e1c6be7948..0000000000 --- a/sources/tech/20140715 Command Line Tuesdays--Part Five.md +++ /dev/null @@ -1,89 +0,0 @@ -translating by cvsher -Command Line Tuesdays – Part Five -================================================================================ -Yes, you’ve guessed what time it is! It’s time to rrrrrrrrummmbleeeee! And this time, we’ll learn how to work with commands. So without further ado, let’s get to business. - -Mr Shotts states that until now, we worked with a few mysterious commands, arguments and options, and today is the day we shed a little light upon that mystery. We’ll learn the following commands and what they do: type, which, help and man. But first, let’s learn… - -### …what are commands? ### - -All great things come in fours, and it’s the same with commands. We can split them up into four categories: - -**1) An executable program:** a command can be an executable program. If you’ve ‘traveled’ across your file system in the previous lessons like you were supposed to, you probably visited the /usr/bin folder. You’ve seen quite a number of familiar names like transmission-gtk, deluge-gtk etc. What’s less important for us novices currently is that programs there can be compiled binaries or programs written in scripting languages. Point is, since they are executable programs, you can run them. Try it. Navigate to it, list the files inside, pick one and run it simply by typing its name. - -**2) A command built into the shell:** bash provides a number of commands internally called shell builtins. The cd command, for example, is a shell builtin, mr Shotts says. - -**3) A shell function:** miniature shell script, built into the environment. For the time being, we’ll just mention it, as it will be covered in the following weeks. - -**4) An alias:** commands you can define yourself, using other commands. Also coming in the following lessons. - -Now, it’s useful to know what type of command we’re dealing with. And we can find out using… - -### …type ### - -You can use **type + command** to inspect what kind of command is the command you’d like to use. You do it by simply typing: type command and you’ll get an output. For example: - -![type mkdir](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-091448.png) - -or - -![type ls](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-091640.png) - -…where we can see that the ‘ls’ command is actually an alias of ‘_ls’! - -### which ### - -Sometimes (but rarely on a desktop system, though) there are more versions of one executable installed on a machine. To find out the exact location of a given executable, we can use command which. Additionally, it only works with executable programs. - -![which transmission-gtk](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-092052.png) - -Now, mostly every command has documentation that comes with it. So you’re somewhere doing your CLI thing, no access to the internet so you can’t bug geekos on the forums or IRC, and you need to find out how to exactly use a command. You can do it two ways. First being… - -### …help ### - -help command works with shell builtins (the second category we have mentioned above). So you can pick a shell builtin, like cd, for example, and simply type help cd. You’ll get a helpful page printed out in your terminal, so go ahead and read what cd has to offer. It shows in what ways you can use the command, what options you can use (it’s in square brackets, which means they are optional! Also, if there’s a vertical separator inside the square brackets, it means the options mentioned are mutually exclusive. Don’t use them together!) - -### –help ### - -help works only for the shell builtins. But most executables work with –help. As far as usage goes, it’s similar to help, but you have to type –help after the command you want to inspect. For example, transmission-gtk –help. Try it out, and see what options you can use with that executable etc. - -### man ### - -Most executables come with a formal documentation page. You can inspect it using the man command. You just enter man program, and see what it prints out. Pick any program on your computer, and try it out. For example, let’s try man transmission-gtk. You get a file opened, split into categories. It gives you information what the program is, what it does, how you can use it etc., but it doesn’t offer examples, as it’s not a tutorial. - -And we’re stoping to a halt there. - -I’d like to take a minute and thank everyone commenting and contributing to this section. You make this series vastly better, and I hope that with your help, us noobs will be able to use the CLI basics by the end of summer (just in time for 13.2 :) ). You guys are the best. Newbie users like me, who are feeling lost, stick with it. It will pay off in the end! - -And I’d also like to add a formal heads up: part six will not come next Tuesday, as I’ll sadly be away, so we’ll see/hear each other in 14 days, on July 29th. And until then… - -### …have a lot of fun! ### - --------------------------------------------------------------------------------- - -via: https://news.opensuse.org/2014/07/15/command-line-tuesdays-part-five/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]: -[2]: -[3]: -[4]: -[5]: -[6]: -[7]: -[8]: -[9]: -[10]: -[11]: -[12]: -[13]: -[14]: -[15]: -[16]: -[17]: -[18]: -[19]: -[20]: From 715b28726c4ca17af200f2afc28c9999b18d078b Mon Sep 17 00:00:00 2001 From: wxy Date: Mon, 28 Jul 2014 21:43:41 +0800 Subject: [PATCH 262/291] =?UTF-8?q?PUB=EF=BC=9A20140718=20Display=20Song?= =?UTF-8?q?=20Lyrics=20On=20Desktop=20In=20Ubuntu=2014.04?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @Love-xuan --- ...0140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) rename {translated/tech => published}/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md (86%) diff --git a/translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md b/published/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md similarity index 86% rename from translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md rename to published/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md index 376a68f122..c3e6ba3ee4 100644 --- a/translated/tech/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md +++ b/published/20140718 Display Song Lyrics On Desktop In Ubuntu 14.04.md @@ -8,7 +8,7 @@ ### 在Ubuntu 14.04和Linux mint 17上安装OSD Lyrics ### -两年以前 OSD Lyrics 在它的官方仓库中被积极地维护,但现在对它的开发已经停止了。尽管这个PPA已经不可用,但可以通过网络下载OSD Lyrics的安装包。虽然这些安装执行文件最初是为 Ubuntu 12.02 设计的,但这些文件也能在 Ubuntu 14.04 上良好地工作。我们一起看看怎么在 Ubuntu 14.04 和 Linux mint 17 上安装OSD Lyrics。 +两年以前 OSD Lyrics 它的官方仓库还在积极地维护,但现在对它的开发已经停止了。尽管这个PPA已经不可用,但可以通过网络下载OSD Lyrics的安装包。虽然这些安装执行文件最初是为 Ubuntu 12.02 设计的,但这些文件也能在 Ubuntu 14.04 上良好地工作。我们一起看看怎么在 Ubuntu 14.04 和 Linux mint 17 上安装OSD Lyrics。 [前往下载页下载OSDLyrics][6],根据你是使用[32位还是64位的ubuntu][7]来下载相应的.deb 文件。你会在网页的上方找到这些文件。 @@ -35,11 +35,12 @@ OSD Lyrics有大量设置选项,你可以改变歌词字体,文字大小等等。 你认为 OSD Lyrics 怎么样?你还使用其它歌词插件吗?欢迎您和我们分享。 + -------------------------------------------------------------------------------- via: http://itsfoss.com/display-song-lyrics-desktop-ubuntu-1404/ -译者:[Love-xuan](https://github.com/译者ID) 校对:[Caroline](https://github.com/carolinewuyan) +译者:[Love-xuan](https://github.com/Love-xuan) 校对:[Caroline](https://github.com/carolinewuyan) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From db9f64b83c85ca35d32b53b3d7593c7db6df4745 Mon Sep 17 00:00:00 2001 From: cvsher <478990879@qq.com> Date: Mon, 28 Jul 2014 21:51:53 +0800 Subject: [PATCH 263/291] =?UTF-8?q?Create=20Command=20Line=20Tuesdays=20?= =?UTF-8?q?=E2=80=93=20Part=20Five?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 翻译完成,麻烦校对 --- .../tech/Command Line Tuesdays – Part Five | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 translated/tech/Command Line Tuesdays – Part Five diff --git a/translated/tech/Command Line Tuesdays – Part Five b/translated/tech/Command Line Tuesdays – Part Five new file mode 100644 index 0000000000..5428df284a --- /dev/null +++ b/translated/tech/Command Line Tuesdays – Part Five @@ -0,0 +1,63 @@ +命令行星期二-第五部分 +========================================================= +对,你也许已经猜到了又是我们相见的时候了。这一次我们将会学习如何使用命令工作。因此,事不宜迟,我们直入正题吧。 + +肖茨先生指出,到现在为止,我们学习了一些神奇的命令及其参数和选项,而今天正是我们揭开他们那神秘面纱一角的一天。我们将会学习如下的一些命令及其作用:type, which, help和man。但是在此之前,我么先学习一下... + +###什么是命令?### +我们可以将**命令**分为四个种类。 + +**1)可执行的程序:**命令可以是一个可执行程序。如果你在前面的课程中有遍历过你的系统,这也是你应该做的。你也许已经发现了/user/bin这个目录,你看到很多的像transmission-gtk, deluge-gtk等的名字。对我们新手来说,现在这些可以编译成二进制文件或者用脚本语言编写的可执行程序具体是什么并不太重要。重点是,他们是可执行文件,你可以运行它们。找到/user/bin这个目录,列出里面的文件,随便挑一个去运行它。 + +**2)shell内置命令:** bash提供了一系列的shell内置命令,例如,cd命令就是一个shell内置命令。 + +**3)shell函数:**内置于系统环境中的小型的shell脚本。现在我们简单的提及一下它,因为在后面的几个星期中我们将要学习它。 + +**4)别名:**你可以基于其他命令定义你自己的命令。我们也会在后面的课程中学习到。 + +现在,知道我们要处理的命令的哪一类是有意义的。我们可以使用**type**命令查看。 + +###type### + +你可以使用**type + command**来查看你要使用的命令属于什么类型。你只要输入type command就可以得到命令类型的输出,如下: + +![type mkdir](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-091448.png) + +或者 + +![type ls](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-091640.png) + +从上面例子可以看出‘ls’命令实际上是‘_ls’的别名。 + +###whitch### +有时(虽然在桌面系统中很少会出现这种情况),在一台机器中存在一个可执行程序的多个版本。为了找到某个可执行程序的准确位置,我们可以使用which命令。whic命令只对可执行程序有用。 + +![which transmission-gtk](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-092052.png) + +如今,多数的命令都会附带说明文档,因此,当你在没有网络的的情况下使用命令行时,你不能在论坛或者IRC上提问,但是你又必须要知道某个命令的准确用法。此时你有两种解决方法,第一个是。。。 + +###help### + +help命令对shell内置命令有用(在上面的第二类中我们有提到过)。所以,你可以选择一个shell内置命令为例,如cd,简单的输入help cd即可。你会得到一个有用的页面,去试一下看cd为我们提供了什么功能。该页面列出了该命令的用法和可选项(选项列在方括号中,表明它们是可选的,如果方括号中有垂直分隔符分隔某些选项,则这些选项是互斥的,不要同时使用他们!) + +###-help### + +help只对shell内置命令有用。但是很多的可执行程序有-help选项。其作用类似于help命令,但是你必须在你要查看帮助的命令后输入 -help。例如,transmission-gtk -help。试一下看在改该可执行程序中有什么可选项可以使用。 + +###man### + +多数的可执行程序都提供一个正式发说明文档。你可以使用man命令查看这份说明文档。试一下只输入man program,看有什么输出。在你的系统中随便找一个程序去尝试一下。例如,我们试一下man transmission-gtk。你会打开了一个由目录分割的文件。这个文件包含该程序是什么、做什么和你可以怎样去使用它等的信息。但是这个文件并没有提供使用范例,因为它不是一个指导手册。 + +这周我们就到先讲这里了。 + +我想再花一分钟来感谢大家对本节的建议和贡献。是你们让这个系列的文章变得越来越好,我希望在你们的帮助下,我们这些新用户在夏季结束前可以使用基本的命令行工具。你们是最棒的。像我一样的新用户们,我们都会感到失落,坚持到底,我们的付出总会有回报的! + +最后,我想再补充一个正式的提醒:因为我会离开一段时间,因此下周二的第六部分将会推迟。我们将会在14天后再会,在7月29日。那时,我们将会有更多的乐趣! + +-------------------------------------------------------- + +via: https://news.opensuse.org/2014/07/15/command-line-tuesdays-part-five/ + +译者:[cvsher](https://github.com/cvsher) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From ed6f0ab3f9fc9f2b82e037dd2e046abcb652d6bb Mon Sep 17 00:00:00 2001 From: 2q1w2007 <2q1w2007@163.com> Date: Mon, 28 Jul 2014 23:07:11 +0800 Subject: [PATCH 264/291] =?UTF-8?q?20140702=20Wine=201.7.21=20(Development?= =?UTF-8?q?=20Version)=20Released--Install=20in=20RedHat=20and=20Debian=20?= =?UTF-8?q?Based=20Systems=E7=BF=BB=E8=AF=91=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tall in RedHat and Debian Based Systems.md | 103 ----------------- ...tall in RedHat and Debian Based Systems.md | 105 ++++++++++++++++++ 2 files changed, 105 insertions(+), 103 deletions(-) delete mode 100644 sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md create mode 100644 translated/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md diff --git a/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md b/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md deleted file mode 100644 index fcf41447d8..0000000000 --- a/sources/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md +++ /dev/null @@ -1,103 +0,0 @@ -2q1w2007翻译中 -Wine 1.7.21 (Development Version) Released – Install in RedHat and Debian Based Systems -================================================================================ -Wine, a most popular and powerful open source application for Linux, that used to run Windows based applications and games on Linux Platform without any trouble. - -![Install Wine (Development Version) in Linux](http://www.tecmint.com/wp-content/uploads/2014/05/Install-Wine-Development-Version.png) -Install Wine (Development Version) in Linux - -**WineHQ** team, recently announced a new development version of **Wine 1.7.21**. This new development build arrives with a number of new important features and bug fixes. - -Wine team, keep releasing their development builds almost on weekly basis and adding numerous new features and fixes. Each new version brings support for new applications and games, making Wine a most popular and must have tool for every user, who want to run Windows based software in a Linux platform. - -According to the changelog, following key features are added in this release: - -- Added support for critical sections in the C runtime. -- The Unicode data updated to Unicode 7. -- Implemented support for interlaced PNG encoding. -- Added an initial stub for the Package library. -- And several bug fixes have been implemented. - -For more in-depth details about this build can be found at the official [changelog][1] page. - -This article guides you how to install most recent development version of **Wine 1.7.21** on **Red Hat** and **Debian** based systems such as CentOS, Fedora, Ubuntu, Linux Mint and other supported distributions. - -### Installing Wine 1.7.21 Development Version in Linux ### - -Unfortunately, there are no official Wine repository available for the **Red Hat** based systems and the only way to install Wine, is to compile it from source. To do this, you need to install some dependency packages such as gcc, flex, bison, libX11-devel freetype-devel and Development Tools, etc. These packages are must required to compile Wine from source. Let’s install them using following **YUM** command. - -#### On RedHat, Fedora and CentOS #### - - # yum -y groupinstall 'Development Tools' - # yum -y install flex bison libX11-devel freetype-devel - -Next, download the latest development version of Wine (i.e. **1.7.21**) and extract the source tallball package using the following commands. - - $ cd /tmp - $ wget http://citylan.dl.sourceforge.net/project/wine/Source/wine-1.7.21.tar.bz2 - $ tar -xvf wine-1.7.21.tar.bz2 -C /tmp/ - -Now, it’s time to compile and build Wine installer using the following commands as normal user. (**Note**: The installation process might take up-to **15-20** minutes depending upon your internet and hardware speed, during installation it will ask you to enter **root** password. - -**On 32-Bit Systems** - - $ cd wine-1.7.21/ - $ ./tools/wineinstall - -**On 64-Bit Systems** - - $ cd wine-1.7.21/ - $ ./configure --enable-win64 - $ make - # make install - -#### On Ubuntu, Debian and Linux Mint #### - -Under **Ubuntu** based systems, you can easily install the latest development build of Wine using the official **PPA**. Open a terminal and run the following commands with sudo privileges. - - $ sudo add-apt-repository ppa:ubuntu-wine/ppa - $ sudo apt-get update - $ sudo apt-get install wine 1.7 winetricks - -**Note**: At the time of writing this article, available version was **1.7.20** and the new build not yet updated in official Wine Repository, but the above instructions will install **1.7.21** when they made available. - -Once the installation completes successfully, you can install or run any windows based applications or games using wine as shown below. - - $ wine notepad - $ wine notepad.exe - $ wine c:\\windows\\notepad.exe - -**Note**: Please remember, this is a development build and cannot be installed or used on production systems. It is advised to use this version only for testing purpose. - -If you’re looking for a most recent stable version of Wine, you can go through our following articles, that describes how to install most latest version on almost all Linux environments. - -- [Install Wine 1.6.2 (Stable) in RHEL, CentOS and Fedora][2] -- [Install Wine 1.6.2 (Stable) in Debian, Ubuntu and Mint][3] - -### Reference Links ### - -- [WineHQ Homepage][4] - ----------- - -![](http://1.gravatar.com/avatar/7badddbc53297b2e8ed7011cf45df0c0?s=80&d=blank&r=G) - -#### Ravi Saive #### - -Owner at [TecMint.com][5] - -Simple Word a Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. - --------------------------------------------------------------------------------- - -via: http://www.tecmint.com/install-wine-in-linux/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.winehq.org/announce/1.7.21 -[2]:http://www.tecmint.com/install-wine-in-rhel-centos-and-fedora/ -[3]:http://www.tecmint.com/install-wine-on-ubuntu-and-linux-mint/ -[4]:http://www.winehq.org/ -[5]:http://www.tecmint.com/ \ No newline at end of file diff --git a/translated/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md b/translated/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md new file mode 100644 index 0000000000..b30f7796eb --- /dev/null +++ b/translated/tech/20140702 Wine 1.7.21 (Development Version) Released--Install in RedHat and Debian Based Systems.md @@ -0,0 +1,105 @@ +2q1w2007翻译中 +Wine 1.7.21 (开发者版本) 发布 – 在基于RedHat或Debian的系统上安装 +================================================================================ +Wine,Linux上最流行也是最有力的软件, 用来不出问题的在Linux平台上运行Windows程序和游戏。 + +![安装Wine(开发者版本)](http://www.tecmint.com/wp-content/uploads/2014/05/Install-Wine-Development-Version.png) + +在Linux上安装Wine(开发者版本) + +**WineHQ** 团队, 最近发布了一个新的开发者版本**Wine 1.7.21**,带来了许多新特性和几个修正。 + +Wine的团队, 坚持每周更新开发者版本并带来了许多新特性和修正。 每个新版本都带来对新程序和游戏的支持,这让Wine成为最流行的也是想在Linux平台运行基于Windows的软件的用户的必备工具. + +根据changelog, 该版本有如下关键的新特性: + +- C runtime中添加临界区的支持. +- Unicode 升级到 Unicode 7. +- 新增交错 PNG 编码支持. +- Packager 库初始化 stub +- 修改了几个bug. + +更多深度的改变信息在 [changelog][1] . + +这篇文章教你怎么在像CentOS, Fedora, Ubuntu, Linux Mint一样基于**Red Hat**和**Debian**的系统上安装最新的**Wine 1.7.21**。 + +### 在Linux安装 Wine 1.7.21 开发者版本 ### + +不幸的, 在基于**Red Hat**的系统上没有官方的 Wine 仓库,所以唯一的安装方式是从源码编译。你需要安装一些依赖的包比如gcc, flex, bison, libX11-devel freetype-devel 和 Development Tools,这些包用来从源码编译Wine。我们可以用**YUM**命令安装他们。 + +#### 在 RedHat, Fedora 和 CentOS 上 #### + + # yum -y groupinstall 'Development Tools' + # yum -y install flex bison libX11-devel freetype-devel + +接下来,下载最新的开发者版本(即**1.7.21**)并用下面的命令提取出来。 + + $ cd /tmp + $ wget http://citylan.dl.sourceforge.net/project/wine/Source/wine-1.7.21.tar.bz2 + $ tar -xvf wine-1.7.21.tar.bz2 -C /tmp/ + +现在,是时候以普通用户身份编译并搭建Wine的安装程序了。(**注意**: 根据机器性能和网络速度的不同,安装过程需要 **15-20** 分钟,安装过程中会要求输入 **root** 密码。) + + +**32位系统上** + + $ cd wine-1.7.21/ + $ ./tools/wineinstall + +**64位系统上** + + $ cd wine-1.7.21/ + $ ./configure --enable-win64 + $ make + # make install + +#### 在Ubuntu, Debian 和 Linux Mint 上 #### + +在基于**Ubuntu** 的系统上, 你可以用官方的 **PPA**来轻松安装最新的Wine。打开一个新终端用sudo运行如下命令。 + + $ sudo add-apt-repository ppa:ubuntu-wine/ppa + $ sudo apt-get update + $ sudo apt-get install wine 1.7 winetricks + +**注意**: 写这篇文章的时候版本是 **1.7.20** 新版本还没上传到仓库,但当新版本可用时上面的命令将安装 **1.7.21** 。 + +一旦装完了,你可以以如下方式运行基于Windows的软件和游戏。 + + $ wine notepad + $ wine notepad.exe + $ wine c:\\windows\\notepad.exe + +**注意**: 请记住,这是个开发者版本,不要用在生产环境。 建议此版本只用在测试用途 + +如果你想安装最近的稳定版Wine, 请看下面的文章, 在文章里介绍了在几乎所以Linux系统中安装Wine的方法 + +- [Install Wine 1.6.2 (Stable) in RHEL, CentOS and Fedora][2] +- [Install Wine 1.6.2 (Stable) in Debian, Ubuntu and Mint][3] + +### 参考链接 ### + +- [WineHQ Homepage][4] + +---------- + +![](http://1.gravatar.com/avatar/7badddbc53297b2e8ed7011cf45df0c0?s=80&d=blank&r=G) + +#### Ravi Saive #### + +Owner at [TecMint.com][5] + +Simple Word a Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/install-wine-in-linux/ + +译者:[2q1w2007](https://github.com/2q1w2007) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.winehq.org/announce/1.7.21 +[2]:http://www.tecmint.com/install-wine-in-rhel-centos-and-fedora/ +[3]:http://www.tecmint.com/install-wine-on-ubuntu-and-linux-mint/ +[4]:http://www.winehq.org/ +[5]:http://www.tecmint.com/ \ No newline at end of file From 378af20cb9a87ab2eb6945c49a12838865c1dfdf Mon Sep 17 00:00:00 2001 From: alim0x Date: Mon, 28 Jul 2014 23:31:20 +0800 Subject: [PATCH 265/291] [alim0x translating]03 - The history of Android.md --- .../The history of Android/03 - The history of Android.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/talk/The history of Android/03 - The history of Android.md b/sources/talk/The history of Android/03 - The history of Android.md index 9e09fc8503..298fdef0eb 100644 --- a/sources/talk/The history of Android/03 - The history of Android.md +++ b/sources/talk/The history of Android/03 - The history of Android.md @@ -1,3 +1,5 @@ +alim0x translating + The history of Android ================================================================================ ![From left to right: Android 0.9’s home screen, add drawer, and shortcut deletion interfaces.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/09hom2e.png) @@ -61,4 +63,4 @@ via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-histor [1]:http://arstechnica.com/information-technology/2008/08/robotripping-hands-on-with-the-android-sdk-beta/ [2]:http://www.tat.se/ [a]:http://arstechnica.com/author/ronamadeo -[t]:https://twitter.com/RonAmadeo \ No newline at end of file +[t]:https://twitter.com/RonAmadeo From c7180066858425bd7c97d2882e1ff01dd531d7d6 Mon Sep 17 00:00:00 2001 From: wxy Date: Tue, 29 Jul 2014 09:48:38 +0800 Subject: [PATCH 266/291] =?UTF-8?q?PUB:Command=20Line=20Tuesdays=20?= =?UTF-8?q?=E2=80=93=20Part=20Five?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @cvsher --- .../Command Line Tuesdays – Part Five.md | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) rename translated/tech/Command Line Tuesdays – Part Five => published/Command Line Tuesdays – Part Five.md (76%) diff --git a/translated/tech/Command Line Tuesdays – Part Five b/published/Command Line Tuesdays – Part Five.md similarity index 76% rename from translated/tech/Command Line Tuesdays – Part Five rename to published/Command Line Tuesdays – Part Five.md index 5428df284a..ce914b0f54 100644 --- a/translated/tech/Command Line Tuesdays – Part Five +++ b/published/Command Line Tuesdays – Part Five.md @@ -1,10 +1,11 @@ -命令行星期二-第五部分 +命令行星期二——第五部分 ========================================================= 对,你也许已经猜到了又是我们相见的时候了。这一次我们将会学习如何使用命令工作。因此,事不宜迟,我们直入正题吧。 -肖茨先生指出,到现在为止,我们学习了一些神奇的命令及其参数和选项,而今天正是我们揭开他们那神秘面纱一角的一天。我们将会学习如下的一些命令及其作用:type, which, help和man。但是在此之前,我么先学习一下... +肖茨先生指出,到现在为止,我们学习了一些神奇的命令及其参数和选项,而今天正是我们揭开他们那神秘面纱一角的一天。我们将会学习如下的一些命令及其作用:type, which, help和man。但是在此之前,我么先学习一下—— ###什么是命令?### + 我们可以将**命令**分为四个种类。 **1)可执行的程序:**命令可以是一个可执行程序。如果你在前面的课程中有遍历过你的系统,这也是你应该做的。你也许已经发现了/user/bin这个目录,你看到很多的像transmission-gtk, deluge-gtk等的名字。对我们新手来说,现在这些可以编译成二进制文件或者用脚本语言编写的可执行程序具体是什么并不太重要。重点是,他们是可执行文件,你可以运行它们。找到/user/bin这个目录,列出里面的文件,随便挑一个去运行它。 @@ -27,37 +28,38 @@ ![type ls](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-091640.png) -从上面例子可以看出‘ls’命令实际上是‘_ls’的别名。 +从上面例子可以看出‘ls’命令实际上是‘\_ls’的别名。(LCTT译注:不同机器上的别名定义可能不同,比如RedHat/Centos系列上,ls实际上是‘ls --color=auto’的别名,而这个‘\_ls’想必是openSUSE上的情况。) -###whitch### -有时(虽然在桌面系统中很少会出现这种情况),在一台机器中存在一个可执行程序的多个版本。为了找到某个可执行程序的准确位置,我们可以使用which命令。whic命令只对可执行程序有用。 +###which### + +有时(虽然在桌面系统中很少会出现这种情况),在一台机器中存在一个可执行程序的多个版本。为了找到某个可执行程序的准确位置,我们可以使用which命令。which命令只对可执行程序有用。 ![which transmission-gtk](https://news.opensuse.org/wp-content/uploads/2014/07/Zaslonska-slika-2014-07-15-092052.png) -如今,多数的命令都会附带说明文档,因此,当你在没有网络的的情况下使用命令行时,你不能在论坛或者IRC上提问,但是你又必须要知道某个命令的准确用法。此时你有两种解决方法,第一个是。。。 +如今,多数的命令都会附带说明文档,因此,当你在没有网络的的情况下使用命令行时,你不能在论坛或者IRC上提问,但是你又必须要知道某个命令的准确用法。此时你有两种解决方法,第一个是—— ###help### help命令对shell内置命令有用(在上面的第二类中我们有提到过)。所以,你可以选择一个shell内置命令为例,如cd,简单的输入help cd即可。你会得到一个有用的页面,去试一下看cd为我们提供了什么功能。该页面列出了该命令的用法和可选项(选项列在方括号中,表明它们是可选的,如果方括号中有垂直分隔符分隔某些选项,则这些选项是互斥的,不要同时使用他们!) -###-help### +###--help### -help只对shell内置命令有用。但是很多的可执行程序有-help选项。其作用类似于help命令,但是你必须在你要查看帮助的命令后输入 -help。例如,transmission-gtk -help。试一下看在改该可执行程序中有什么可选项可以使用。 +(LCTT译注:Linux上的命令中,通常单字符参数前使用一个破折号,而多个字符的长参数则使用两个破折号,原文此处用的是“-help”,实际上这种情况很少,所以修正为“--help”) + +help只对shell内置命令有用。但是很多的可执行程序有--help选项。其作用类似于help命令,但是你必须在你要查看帮助的命令后输入 --help。例如,transmission-gtk --help。试一下看在改该可执行程序中有什么可选项可以使用。 ###man### -多数的可执行程序都提供一个正式发说明文档。你可以使用man命令查看这份说明文档。试一下只输入man program,看有什么输出。在你的系统中随便找一个程序去尝试一下。例如,我们试一下man transmission-gtk。你会打开了一个由目录分割的文件。这个文件包含该程序是什么、做什么和你可以怎样去使用它等的信息。但是这个文件并没有提供使用范例,因为它不是一个指导手册。 +多数的可执行程序都提供一个正式发说明文档。你可以使用man命令查看这份说明文档。试一下只输入man program,看有什么输出。在你的系统中随便找一个程序去尝试一下。例如,我们试一下man transmission-gtk。你会打开了一个由目录分割的文件。这个文件包含该程序是什么、做什么和你可以怎样去使用它等的信息。但是这个文件并没有提供使用范例,因为它不是一个指导手册。(LCTT译注,man里面有时候也会带有一些范例,但是往往不会很详细,另外还有一个info命令,通常能得到更多的使用帮助。不过真正理解每个命令的各种用户,还是要多查阅各种资料,并亲自试验才行。) 这周我们就到先讲这里了。 我想再花一分钟来感谢大家对本节的建议和贡献。是你们让这个系列的文章变得越来越好,我希望在你们的帮助下,我们这些新用户在夏季结束前可以使用基本的命令行工具。你们是最棒的。像我一样的新用户们,我们都会感到失落,坚持到底,我们的付出总会有回报的! - -最后,我想再补充一个正式的提醒:因为我会离开一段时间,因此下周二的第六部分将会推迟。我们将会在14天后再会,在7月29日。那时,我们将会有更多的乐趣! - + -------------------------------------------------------- via: https://news.opensuse.org/2014/07/15/command-line-tuesdays-part-five/ -译者:[cvsher](https://github.com/cvsher) 校对:[校对者ID](https://github.com/校对者ID) +译者:[cvsher](https://github.com/cvsher) 校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From c1b1935992c9078006055f80197f1a82a658e116 Mon Sep 17 00:00:00 2001 From: Ark Date: Tue, 29 Jul 2014 11:10:06 +0800 Subject: [PATCH 267/291] Create CoreOS Stable Release (Translated).md --- .../CoreOS Stable Release (Translated).md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 translated/news/CoreOS Stable Release (Translated).md diff --git a/translated/news/CoreOS Stable Release (Translated).md b/translated/news/CoreOS Stable Release (Translated).md new file mode 100644 index 0000000000..fb4d264c2e --- /dev/null +++ b/translated/news/CoreOS Stable Release (Translated).md @@ -0,0 +1,51 @@ +Translating by lfzark + + +CoreOS稳定版发布 +================================================================================ +首先,祝大家SysAdmin节快乐。随着今日CoreOS稳定版的发布,我们相信我们已经为SysAdmin节准备好了一个不错的惊喜。从今天起,用户可以在产品中 + +运行CoreOS了。这个版本是用户想要的最经考验,最安全,最可靠的CoresOS版本。这对我们来说,是一个重大的里程碑。自从2013年八月我们第一个alpha版本 + + +发布以来 + +- 191个发布版本 +- 在alpha和beta频道上测试了成千上万的服务器 +- 支持10个以上平台,从裸机到Rackspace和Google云平台的主要镜像 + + +对我们来说这是一个极为重要的日子,因为我们为了稳定版的发布付出了努力的工作。当然,如果没有社区的帮助,我们完成不了这些工作,感谢你们所有对项目的支持和贡献。 +[CoreOS 367.1.0][2], 我们在稳定channel上的第一个版本, 包括以下支持: + +- Linux 3.15.2 +- Docker 1.0.1 +- 所有主流的云服务商的支持, 包括 Rackspace Cloud, Amazon EC2 (包括 HVM), 和 Google Compute Engine +- 通过 [CoreOS Managed Linux][3] 的商业支持 + +如果你还没有阅读我们的[Update Philosophy][4],我相信这是一个不错的选择。 + +请注意:稳定发布版本由于稳定性不包括etcd和fleet ,此发布版支持目标在基础OS和Docker1.0。etcd/fleet的稳定版本支持会在随后的发布版本中 + +如果想开始在产品中运行CoreOS,请确保阅读我们的快速指南 [Switching Release Channels][5]。由于你正在引导新机器,请确保在一开始就把他们建立在你想要的channel上 + + +最后,感谢社区的支持。我们迫不及待地想听到你们得反馈。而这些在运行CoreOS上寻求额外支持的用户,请确保查看我们的[Managed Linux][6] 建议,因为我们已经有了一个完整的支持团队,他们正在准备回答你遇到的任何问题。 + +SysAdmin节快乐,感谢你们让互联网变得如此令人惊叹。 +-------------------------------------------------------------------------------- + +via: https://coreos.com/blog/stable-release/ + +作者:Alex Polvi +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://sysadminday.com/ +[2]:https://coreos.com/releases/#367.1.0 +[3]:https://coreos.com/products/managed-linux/ +[4]:https://coreos.com/using-coreos/updates/ +[5]:https://coreos.com/docs/cluster-management/setup/switching-channels/ +[6]:https://coreos.com/products/managed-linux/ From 1ecd4c9280db062e20c6a6eb752739047a1c71aa Mon Sep 17 00:00:00 2001 From: 2q1w2007 <2q1w2007@163.com> Date: Tue, 29 Jul 2014 15:25:43 +0800 Subject: [PATCH 268/291] =?UTF-8?q?2q1w2007=E9=A2=86=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2q1w2007领取了 --- .../20140701 Get OpenVPN up and running, enjoy your privacy.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md b/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md index 54ee1ff9c2..291eb14d9c 100644 --- a/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md +++ b/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md @@ -1,3 +1,4 @@ +2q1w2007翻译中 Get OpenVPN up and running, enjoy your privacy ================================================================================ ![](http://parabing.com/assets/uploads/2014/06/openVPN-featured.jpg) @@ -496,4 +497,4 @@ via: http://parabing.com/2014/06/openvpn-on-ubuntu/ [6]:https://itunes.apple.com/us/app/openvpn-connect/id590379981?mt=8 [7]:https://play.google.com/store/apps/details?id=net.openvpn.openvpn [8]:http://www.whatip.com/ -[9]:https://dnsleaktest.com/ \ No newline at end of file +[9]:https://dnsleaktest.com/ From 00e387492ff744bdc6bafc3a1cd5a44eff68f1c4 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Tue, 29 Jul 2014 15:31:19 +0800 Subject: [PATCH 269/291] =?UTF-8?q?20140729-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20140729 Don't Fear The Command Line.md | 137 ++++++++++++++++++ ...mand cheat sheets from the command line.md | 96 ++++++++++++ ...0140729 How to use awk command in Linux.md | 131 +++++++++++++++++ 3 files changed, 364 insertions(+) create mode 100644 sources/talk/20140729 Don't Fear The Command Line.md create mode 100644 sources/tech/20140729 How to access Linux command cheat sheets from the command line.md create mode 100644 sources/tech/20140729 How to use awk command in Linux.md diff --git a/sources/talk/20140729 Don't Fear The Command Line.md b/sources/talk/20140729 Don't Fear The Command Line.md new file mode 100644 index 0000000000..660fecbe74 --- /dev/null +++ b/sources/talk/20140729 Don't Fear The Command Line.md @@ -0,0 +1,137 @@ +Don't Fear The Command Line +================================================================================ +![](http://a4.files.readwrite.com/image/upload/c_fill,h_900,q_70,w_1600/MTE5NTU2MzIyNTM0NTg5OTYz.jpg) + +> Embrace your computer's most useful tool. + +You've probably seen it in movies, even if you haven't ever called it up on your own computer: a blank screen with a simple text prompt and a cursor, just waiting for you to enter the appropriate arcane commands to do your bidding. + +This is the command line. It's a text-based interface that predates the far more familiar windows, icons and tiles of today's major computer operating systems, from Windows to Mac OS X to Linux. + +The command line is an extremely powerful tool for accessing basic functions of your computer. For most people, it's also a confusing, complicated and seemingly irrelevant distraction. It doesn't have to be. + +### Computers Under Your Command ### + +Typing text instructions and hitting Return to get a computer to do something sounds like a major step back compared to the swipe-and-tap touch-sensitive interfaces of mobile devices. Even a toddler can use an iPad, right? Yet the command line can save you time and aggravation, if you know when to use it. + +If you're serious about learning to code—or just understanding computer technology—you absolutely need to get to know your command line. + +Diving into the command line will teach you a lot about how your computer works and organizes information. You might find that some tasks you perform every day with a mouse are actually faster when you type a command or two instead. + +Most important, you’ll be better prepared to learn [languages like Python][1] and [programs like Git][2] that require some command-line setup. By getting familiar with the command line, you’ll break down barriers that may have kept you from learning to program in the past. + +So here's a quick, basic guide to getting around on the command line. It's focused on Mac OS X's Unix-based environment, simply because that's what I'm familiar with. Linux users probably know the command line well already, although newcomers might also find these tips useful. If you're running a Chromebook, Google has some helpful instructions for getting to its [version of the command line][3], which is similar to Mac and Linux systems. Windows users, unfortunately, are stuck with a command language derived from MS-DOS that just barely overlaps with Unix, so this guide isn't going to be much use to you; you might check out [this dosprompt.info tutorial][4]. + +### How To Find Your Way Around ### + +The very first thing you’ll need to do is figure out how to access the command line, which is typically done through a program called a "shell." On any Mac running OS X, you'll need to start the Terminal application. You can do this through the Finder (it's in the Utilities folder under Applications), or just click the magnifying glass in the upper right hand corner of your screen and type “terminal,” then select it from the drop-down. + +![](http://a4.files.readwrite.com/image/upload/c_fit,w_630/MTE4MDAzNDE2ODYxMjc5NzU4.png) + +You’re in, but all you see is a blank box with a space to type prompts. This is the command line! Let’s get to know this window a little bit better. + +Type pwd, which stands for Print Working Directory. In computer parlance, “printing” something has nothing to do with paper. It really just means spitting it out on the screen. The command should result in the computer returning the directory you are currently working in. + +![](http://a4.files.readwrite.com/image/upload/c_fit,w_630/MTIyMzk5Mjg5MDMzMjYyNjA0.png) + +And indeed, /Users/laurenorsini is my home directory. Advanced tip: You can use the tilde symbol (~) as a shortcut for your home directory—it means the same thing as /Users/yourusername. So you can reference your Downloads subdirectory, for instance, as ~/Downloads. (If you look closely at the command prompt above, you'll see a tilde there. That indicates that I'm in my home directory.) + +We don’t want to muddy up our main directory with all our command-line experimenting, so let’s make a new directory with the mkdir command. This is the same as creating a new folder on your desktop operating system. Let's call it "experiments": + +![](http://a4.files.readwrite.com/image/upload/c_fit,w_630/MTE5NDg0MDYxMTMwODUxODU1.png) + +Now we have a new directory. Using the graphic interface, we can visually verify that we actually created a new one. Sure enough, if I open the Finder and go into my home directory—here marked with a little house icon—I now see a folder named “experiments.” I made that on the command line! (The reverse works, too: You can create a folder on your desktop, and see it in the command line. They're just two different ways of looking at the same system.) + +![](http://a5.files.readwrite.com/image/upload/c_fit,w_630/MTE5NTU2MzIyNTM0MzI3ODE5.png) + +Now I need to change directories and enter the ~/experiments directory with the **cd** (change directory) command. + +![](http://a5.files.readwrite.com/image/upload/c_fit,w_630/MTE5NDg0MDYxMTMxMTEzOTk5.png) + +I have my command prompt on the default setting, so it automatically shows where my working directory is. But if yours looks different, here's how to make sure “experiments” is truly your working directory: type **pwd** again. It should tell you that your working directory is “experiments.” + +### Getting Filed Away ### + +I create and edit files on the command line every day that I code. It's faster than using the graphical user interface because I can test out my programs on the command line as soon as I finish editing them. And if I also happen to be pushing things to [GitHub][5] at the same time, well, it's even more convenient. + +Now you have a new directory (also called a repository or folder) on your computer to mess around with. Let's start by creating a new file that contains only the words, "Hello World." There are a lot of ways to do this; here I'm using the echo command. + +Now you have a new directory (also called a repository or folder) on your computer to mess around with. Let's start by creating a new file that contains only the words, "Hello World." There are a [lot of ways][6] to do this; here I'm using the **echo** command. + +![](http://a2.files.readwrite.com/image/upload/c_fit,w_630/MTE5NDg0MDYxMjQxMjgwMDE1.png) + +Oh no! I spelled "newfile" incorrectly. That happens. Let's fix it in two steps. First, I'll create a new file with the correct spelling... + +![](http://a3.files.readwrite.com/image/upload/c_fit,w_630/MTIxNDI3Mjk0MjA5ODAzNzg5.png) + +And then, I'll use the **mv** (move) command to replace my old, misspelled file with my new file. This always takes the form "**mv oldfile newfile**." + +![](http://a1.files.readwrite.com/image/upload/c_fit,w_630/MTIxNDI3Mjk0MjA5NzM4MjUz.png) + +A note about **mv**: like many commands, it's a deceptively powerful one. When we're "moving" newfil.txt into newfile.txt, what we're actually doing is completely overwriting the first file and replacing it with the second. So the text I wrote into newfil.txt is gone forever, replaced by what I wrote into newfile.txt. + +To prove that I only have one file in my directory, I can use **ls** , the list command, to get a list of all the files in this directory. + +![](http://a1.files.readwrite.com/image/upload/c_fit,w_630/MTIxNDI3Mjk0MTA3NTAyMDkz.png) + +See? Just the one. And if I look inside the folder using my computer's graphical user interface, I can see the file there, too. + +![](http://a3.files.readwrite.com/image/upload/c_fit,w_630/MTIyMzk5Mjg5MDM4OTY0MjM2.png) + +But it's just a blank text file. Let's put something inside it using a text editor. On the command line, I tend to use the nano editor since it's simple and it works on just about every type of computer. + +This should immediately bring up a new editing screen right inside your command line window. The basic commands are all laid out for you. + +![](http://a3.files.readwrite.com/image/upload/c_fit,w_630/MTIyMzk5Mjg5MDM5NjE5NTk2.png) + +Write what you want, and then exit with CTRL + X. If it asks you to save and you'd like to, type "Y." + +![](http://a4.files.readwrite.com/image/upload/c_fit,w_630/MTIxNDI3Mjk0MTA4MDkxOTE3.png) + +As you've probably guessed by now, it's possible to also see these changes by using the operating system and navigating to newfile.txt with your mouse. Here you can open and edit the file you've created in any text editor of your choice. + +If you want to delete the file forever, do that with the **rm** (remove) command: + +![](http://a2.files.readwrite.com/image/upload/c_fit,w_630/MTE5NTU2MzIyNTQxMzQwMTcx.png) + +Keep in mind that the **rm** command is very powerful! A [common trick][7] on hacker forums is to convince a command-line newbie to type **rm -rf** / so she ends up deleting her whole computer. The "/" means the very top-level directory of your computer—and everything underneath it. NEVER type that command! + +### Further Reading ### + +This is just the beginning of the endless possibilities of the command line. You can use this tool to control every aspect of your computer, which is what makes it as dangerous as it is powerful. Make sure to always read up on new command-line prompts before you use them, and never blindly input a prompt that a stranger suggests to you online. + +I've outlined the commands I use every day so I can code, but there are a lot more reasons to master the command line than that. If you're looking for a more thorough overview, you might want to try: + +[The Command Line Crash Course][8]. A free, extended course that covers the basics of command line usage. + +[A Command Line Primer For Beginners][9]. Lifehacker’s collection of helpful commands for first time users. + +[Introduction to the Mac OS X Command Line][10]. Online-education site Treehouse covers the very basics in extreme detail. + +Now that you've finished reading, you're better prepared for any code tutorial I've written in the past, since it's impossible to do any of them without typing in some commands. If you're ready to go, I suggest you check out ReadWrite's [Git tutorial][11], which utilizes the command line to introduce you to collaborative coding. Happy computing! + +*Lead photo by [Jason Scott][12]; all other screenshots by Lauren Orsini for ReadWrite* + +-------------------------------------------------------------------------------- + +via: http://readwrite.com/2014/07/18/command-line-tutorial-intro + +作者:[Lauren Orsini][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://readwrite.com/author/lauren-orsini +[1]:http://readwrite.com/2014/07/08/what-makes-python-easy-to-learn +[2]:http://readwrite.com/2013/09/30/understanding-github-a-journey-for-beginners-part-1 +[3]:http://www.chromium.org/chromium-os/poking-around-your-chrome-os-device +[4]:http://dosprompt.info/ +[5]:http://www.github.com/ +[6]:http://www.cyberciti.biz/faq/unix-create-file-from-terminal-window-shell-prompt/ +[7]:http://www.urbandictionary.com/define.php?term=rm+-rf+%2F +[8]:http://cli.learncodethehardway.org/book/ +[9]:http://lifehacker.com/5633909/who-needs-a-mouse-learn-to-use-the-command-line-for-almost-anything +[10]:http://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line +[11]:http://readwrite.com/2013/09/30/understanding-github-a-journey-for-beginners-part-1 +[12]:http://en.wikipedia.org/wiki/Computer_terminal#mediaviewer/File:DEC_VT100_terminal.jpg \ No newline at end of file diff --git a/sources/tech/20140729 How to access Linux command cheat sheets from the command line.md b/sources/tech/20140729 How to access Linux command cheat sheets from the command line.md new file mode 100644 index 0000000000..caa5caa77d --- /dev/null +++ b/sources/tech/20140729 How to access Linux command cheat sheets from the command line.md @@ -0,0 +1,96 @@ +How to access Linux command cheat sheets from the command line +================================================================================ +The power of Linux command line is its flexibility and versatility. Each Linux command comes with its share of command line options and parameters. Mix and match them, and even chain different commands with pipes and redirects. You get yourself literally hundreds of use cases even with a few basic commands, and it's hard even for seasoned system admins to get used to them all. That's when command line cheat sheets come to our rescue. + +[![](https://farm6.staticflickr.com/5562/14752051134_5a7c3d2aa4_z.jpg)][1] + +I know man pages are still our best friend, but we want to be efficient and strategic by having quick reference cards at our disposal. Your ultimate cheet sheets could be hanging on your office wall with pride, or secretly stored in your hard drive as PDF files, or even be the background image on your desktop. + +Alternatively, use yet(!) another command to access your favorite command line cheat sheets. That is, use [cheat][2]. Which is a command line tool allowing you to access, create or update cheat sheets from the command line. The concept is really simple, yet cheat turns out to be quite useful. This tutorial is about how to use cheat command on Linux. You don't need a cheat sheet for using cheat command. It's that simple. + +### Installing Cheat on Linux ### + +First install Git if you haven't: + + $ sudo apt-get install git (Debian-based system) + $ sudo yum install git (RedHat-based system) + +Also install [Python package installer pip[3]. + +Finally, install cheat using the following commands. + + $ sudo pip install docopt pygments + $ git clone https://github.com/chrisallenlane/cheat.git + $ cd cheat + $ sudo python setup.py install + +### Configuring Cheat ### + +There is not much to configure for cheat command. + +One thing to recommend is to enable command-line autocompletion. That way, when you look up a cheat sheet, you can use [TAB] key to auto-complete the name of the command you want to check. Here is how to enable autocompletion for bash. + + $ wget https://github.com/chrisallenlane/cheat/raw/master/cheat/autocompletion/cheat.bash + $ sudo cp cheat.bash /etc/bash_completion.d/ + +They provide autocompletion scripts for other shells such as zsh and fish as well. + +Another thing is to define an EDITOR environment variable. This variable should point to a text editor that you want to use when creating or updating a cheat sheet. For example, if you want to use Vim editor, put the following in ~/.bashrc. + + export EDITOR=/usr/bin/vim + +Log out and log back in to activate autocompletion and updated .bashrc. + +### Basic Usage of Cheat ### + +One cool thing about the cheat command is that it comes with pre-built cheat sheets for more than 90 popular Linux commands. To get a list of available cheat sheets: + + $ cheat -l + +![](https://farm3.staticflickr.com/2932/14754370585_7133cbbc8c_z.jpg) + +To access a cheat sheet of a specific command, simply run cheat with the name of the command: + + $ cheat + +![](https://farm4.staticflickr.com/3899/14567722899_8b86c312ca_z.jpg) + +You can search all the cheat sheets that contain a specific keyword by using "-s" option: + + $ cheat -s + +In many cases, cheat sheets that are useful to some folks may not that helpful to others. To personalize pre-built cheat sheets, cheat command allows you to create a new cheat sheet or update existing ones. To do so, cheat command can keep local copies of cheat sheets in ~/.cheat directory. + +To take advantage of cheat's editing feature, first make sure that the EDITOR environment variable is set to the full path of your default text editor. Then copy (non-editable) built-in cheat sheets to ~/.cheat directory. You can find where the built-in cheat sheets are by running the following command. Once you know where they are, simply copy them over to ~/.cheat directory. + + $ cheat -d + +---------- + + /usr/lib/python2.6/site-packages/cheat/cheatsheets + +---------- + + $ cp /usr/lib/python2.6/site-packages/cheat/cheatsheets/* ~/.cheat + +Now you can create or update a cheat sheet by using "-e" option: + + $ cheat -e openssl + +As you can imagine, the cheat's editing feature is very useful to tailor a local cheat sheet repository to meet your needs. If you believe in sharing knowledge, you are more than welcome to contribute your cheat sheets to the cheat command's [official Git repository][4], so everyone can benefit from them. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/access-linux-command-cheat-sheets-command-line.html + +作者:[Dan Nanni][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://xmodulo.com/author/nanni +[1]:http://xkcd.com/1168/ +[2]:https://github.com/chrisallenlane/cheat +[3]:http://ask.xmodulo.com/install-pip-linux.html +[4]:https://github.com/chrisallenlane/cheat \ No newline at end of file diff --git a/sources/tech/20140729 How to use awk command in Linux.md b/sources/tech/20140729 How to use awk command in Linux.md new file mode 100644 index 0000000000..99d48c7b7d --- /dev/null +++ b/sources/tech/20140729 How to use awk command in Linux.md @@ -0,0 +1,131 @@ +How to use awk command in Linux +================================================================================ +Text processing is at the heart of Unix. From pipes to the /proc subsystem, the "everything is a file" philosophy pervades the operating system and all of the tools built for it. Because of this, getting comfortable with text-processing is one of the most important skills for an aspiring Linux system administrator, or even any power user, and awk is one of the most powerful text-processing tools available outside general-purpose programming languages. + +The simplest awk task is selecting fields from stdin; if you never learn any more about awk than this, you'll still have at your disposal an extremely useful tool. + +By default, awk separates input lines by whitespace. If you'd like to select the first field from input, you just need to tell awk to print out $1: + + $ echo 'one two three four' | awk '{print $1}' + +> one + +(Yes, the curly-brace syntax is a little weird, but I promise that's about as weird as it gets in this lesson.) + +Can you guess how you'd select the second, third, or fourth fields? That's right, with $2, $3, and $4, respectively. + + $ echo 'one two three four' | awk '{print $3}' + +(Yes, the curly-brace syntax is a little weird, but I promise that's about as weird as it gets in this lesson.) + +Can you guess how you'd select the second, third, or fourth fields? That's right, with $2, $3, and $4, respectively. + + $ echo 'one two three four' | awk '{print $3}' + +> three + +Often when text munging, you need to create a specific format of data, and that covers more than just a single word. The good news is that awk makes it easy to print multiple fields, or even include static strings: + + $ echo 'one two three four' | awk '{print $3,$1}' + +> three one + +---------- + + $ echo 'one two three four' | awk '{print "foo:",$3,"| bar:",$1}' + +> foo: three | bar: one + +Ok, but what if your input isn't separated by whitespace? Just pass awk the '-F' flag with your separator: + + $ echo 'one mississippi,two mississippi,three mississippi,four mississippi' | awk -F , '{print $4}' + +> four mississippi + +Occasionally, you may find yourself working with data with a varied number of fields, and you just know you want the *last* one. awk prepopulates the $NF variable with the *number of fields*, so you can use it to grab the last element: + + $ echo 'one two three four' | awk '{print $NF}' + +> four + +You can also do simple math on $NF, in case you need the next-to-last field: + + $ echo 'one two three four' | awk '{print $(NF-1)}' + +> three + +Or even the middle field: + + $ echo 'one two three four' | awk '{print $((NF/2)+1)}' + +> three + + $ echo 'one two three four five' | awk '{print $((NF/2)+1)}' + +> three + +While this is all very useful, you can get away with forcing sed, cut, and grep into a form to get these results, as well (albeit with a lot more work). + +So, I'll leave you with one last introductory feature of awk, maintaining state across lines. + + $ echo -e 'one 1\ntwo 2' | awk '{print $2}' + +> 1 +> +> 2 + + $ echo -e 'one 1\ntwo 2' | awk '{sum+=$2} END {print sum}' + +> 3 + +(The END indicates that we should only perform the following block **after** we finish processing every line.) + +The case where I've used this is to sum up bytes from web server request logs. Imagine we have an access log that looks like this: + + $ cat requests.log + +> Jul 23 18:57:12 httpd[31950]: "GET /foo/bar HTTP/1.1" 200 344 +> +> Jul 23 18:57:13 httpd[31950]: "GET / HTTP/1.1" 200 9300 +> +> Jul 23 19:01:27 httpd[31950]: "GET / HTTP/1.1" 200 9300 +> +> Jul 23 19:01:55 httpd[31950]: "GET /foo/baz HTTP/1.1" 200 6401 +> +> Jul 23 19:02:31 httpd[31950]: "GET /foo/baz?page=2 HTTP/1.1" 200 6312 + +We know the last field is the number of bytes of the response. We've already learned how to extract them using print and $NF: + + $ < requests.log awk '{print $NF}' + +> 344 +> +> 9300 +> +> 9300 +> +> 6401 +> +> 6312 + +And so we can sum into a variable to gather the total number of bytes our webserver has served to clients during the timespan of our log: + + $ < requests.log awk '{totalBytes+=$NF} END {print totalBytes}' + +> 31657 + +If you're looking for more to do with awk, you can find used copies of [the original awk book][1] for under 15 USD on Amazon. You may also enjoy Eric Pement's [collection of awk one-liners][2]. + +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/use-awk-command-linux.html + +作者:[James Pearson][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/james +[1]:http://www.amazon.com/gp/product/020107981X/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=020107981X&linkCode=as2&tag=xmodulo-20&linkId=6NW62B2WBRBXRFJB +[2]:http://www.pement.org/awk/awk1line.txt \ No newline at end of file From eb37aff80b89faab27e3ed492767ca715c05621a Mon Sep 17 00:00:00 2001 From: 2q1w2007 <2q1w2007@163.com> Date: Tue, 29 Jul 2014 15:41:56 +0800 Subject: [PATCH 270/291] Update 20140701 Get OpenVPN up and running, enjoy your privacy.md --- ...20140701 Get OpenVPN up and running, enjoy your privacy.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md b/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md index 291eb14d9c..a9095a6032 100644 --- a/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md +++ b/sources/tech/20140701 Get OpenVPN up and running, enjoy your privacy.md @@ -1,9 +1,9 @@ 2q1w2007翻译中 -Get OpenVPN up and running, enjoy your privacy +搭建并运行OpenVPN,享受你的隐私生活 ================================================================================ ![](http://parabing.com/assets/uploads/2014/06/openVPN-featured.jpg) -> We are fanatic supporters of privacy. Not so much because we have super secrets to hide, but because we consider privacy as a basic human right. So we believe that anytime anyone chooses to exercise that right on the net, then they should have unencumbered access to all the necessary tools and services. OpenVPN is such a service and there are also many tools (clients) which allow us to utilize and enjoy that service. +> 我们支持保护隐私,不为我们有自己的秘密需要保护,只是我们认为保护隐私应该成为一项基本人权。所以我们坚信无论谁在什么时候行使这项权利,都应该不受拘束的获取必须的工具和服务。OpenVPN就是这样一种服务并且有多种工具(客户端) 来让我们利用并享受这种服务。 By establishing a connection to an [OpenVPN][1] server, we basically create a secure communications channel between our device and the remote host OpenVPN runs on. Although traffic flowing between these two end-points can be intercepted, it is strongly encrypted and thus practically useless to the interceptor. In addition to the OpenVPN acting as the facilitator of this encrypted channel (or tunnel), we may configure the server to also play the role of our Internet gateway. By doing so, we can for example hook up to any open, inherently insecure WiFi network, then immediately connect to the remote OpenVPN server and start using any Internet-enabled application without worrying of prying eyes or bored administrators. (Note though that we still need to trust any administrator in the vicinity of the OpenVPN server. But more on that towards the end of the post.) From 49baf27788c6551d7ce1c5fecd71e4cd33154121 Mon Sep 17 00:00:00 2001 From: DeadFire Date: Tue, 29 Jul 2014 16:35:05 +0800 Subject: [PATCH 271/291] =?UTF-8?q?20140729-2=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...nterview Questions and Answers in Linux.md | 131 ++++++++++++++++++ ...owser In Ubuntu 14.04 And Linux Mint 17.md | 44 ++++++ ... which fonts are used in a PDF document.md | 38 +++++ ...To Send Files To Android Or iOS Devices.md | 67 +++++++++ 4 files changed, 280 insertions(+) create mode 100644 sources/tech/20140729 10 Useful 'Squid Proxy Server' Interview Questions and Answers in Linux.md create mode 100644 sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md create mode 100644 sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md create mode 100644 sources/tech/20140729 Use Pushbullet Indicator In Ubuntu To Send Files To Android Or iOS Devices.md diff --git a/sources/tech/20140729 10 Useful 'Squid Proxy Server' Interview Questions and Answers in Linux.md b/sources/tech/20140729 10 Useful 'Squid Proxy Server' Interview Questions and Answers in Linux.md new file mode 100644 index 0000000000..7ded06d38d --- /dev/null +++ b/sources/tech/20140729 10 Useful 'Squid Proxy Server' Interview Questions and Answers in Linux.md @@ -0,0 +1,131 @@ +10 Useful “Squid Proxy Server” Interview Questions and Answers in Linux +================================================================================ +It’s not only to System Administrator and Network Administrator, who listens the phrase Proxy Server every now and then but we too. Proxy Server is now a corporate culture and is the need of the hour. Proxy server now a days is implemented from small schools, cafeteria to large MNCs. Squid (also known as proxy) is such an application which acts as proxy server and one of the most widely used tool of its kind. + +This Interview article aims at strengthening your base from Interview point on the ground of proxy server and squid. + +![Squid Interview Questions](http://www.tecmint.com/wp-content/uploads/2014/07/Squid-Interview-Questions.png) +Squid Interview Questions + +### 1. What do you mean by Proxy Server? What is the use of Proxy Server in Computer Networks? ### + +> **Answer** : A Proxy Server refers to physical machine or Application which acts intermediate between client and resource provider or server. A client seeks for file, page or data from the the proxy server and proxy server manages to get the requested demand of client fulfilled by handling all the complexities in between. + +Proxy servers are the backbone of WWW (World Wide Web). Most of the proxies of today are web proxies. A proxy server handles the complexity in between the Communication of client and Server. Moreover it provides anonymity on the web which simply means your identity and digital footprints are safe. Proxies can be configured to allow which sites client can see and which sites are blocked. + +### 2. What is Squid? ### + +> **Answer** : Squid is an Application software released under GNU/GPL which acts as a proxy server as well as web cache Daemon. Squid primarily supports Protocol like HTTP and FTP however other protocols like HTTPS, SSL,TLS, etc are well supported. The feature web cache Daemon makes web surfing faster by caching web and DNS for frequently visited websites. Squid is known to support all major platforms including Linux, UNIX, Microsoft Windows and Mac. + +### 3. What is the default port of squid and how to change its operating port? ### + +> **Answer** : The default port on which squid runs is 3128. We can change the operating port of squid from default to any custom unused port by editing its configuration file which is located at /etc/squid/squid.conf as suggested below. + +Open ‘/etc/squid/squid.conf’ file and with your choice of editor. + + # nano /etc/squid/squid.conf + +Now change this port to any other unused port. Save the editor and exit. + + http_port 3128 + +Restart the squid service as shown below. + + # service squid restart + +### 4. You works for a company the management of which ask you to block certain domains through squid proxy server. What are you going to do? ### + +> **Answer** : Blocking domain is a module which is implemented well in the configuration file. We just need to perform a little manual configuration as suggested below. + +a. Create a file say ‘blacklist’ under directory ‘/etc/squid’. + + # touch /etc/squid/blacklist + +b. Open the file ‘/etc/squid/blacklist’ with nano editor. + + # nano /etc/squid/blacklist + +c. Add all the domains to the file blacklist with one domain per line. + + .facebook.com + .twitter.com + .gmail.com + .yahoo.com + ... + +d. Save the file and exit. Now open the Squid configuration file from location ‘/etc/squid/squid.conf’. + + # nano /etc/squid/squid.conf + +e. Add the lines below to the Squid configuration file. + + acl BLACKLIST dstdom_regex -i “/etc/squid/blacklist” + http_access deny blacklist + +f. Save the configuration file and exit. Restart Squid service to make the changes effective. + + # service squid restart + +### 5. What is Media Range Limitation and partial download in Squid? ### + +> **Answer** : Media Range Limitation is a special feature of squid in which just the required data is requested from the server and not the whole file. This feature is very well implemented in various videos streaming websites like Youtube and Metacafe where a user can click on the middle of progress bar hence whole video need not be fetched except for the requested part. + +The squid’s feature of partial download is implemented well within windows update where downloads are requested in the form of small packets which can be paused. Because of this feature a update downloading windows machine can be restarted without any fear of data loss. Squid makes the Media Range Limitation and Partial Download possible only after storing a copy of whole data in it. Moreover the partial download gets deleted and not cached when user points to another page until Squid is specially configured somehow. + +### 6. What is reverse proxy in squid? ### + +> **Answer** : Reverse proxy is a feature of Squid which is used to accelerate the web surfing for end user. Say the Real server ‘RS’ contains the resource and ‘PS’ is the proxy Server. The client seek some data which is available at RS. It will rely on RS for the specified data for the first time and the copy of that specified data gets stored on PS for configurable amount of time. For every request for that data from now PS becomes the real source. This results in Less traffic, Lesser CPU usages, Lesser web resource utilization and hence lesser load to actual server RS. But RS has no statistics for the total traffic since PS acted as actual server and no Client reached RS. ‘X-Forwarded-For HTTP’ can be used to log the client IP although on RS. + +Technically it is feasible to use single squid server to act both as normal proxy server and reverse proxy server at the same point of time. + +### 7. Since Squid can be used as web-cache Daemon, is it possible to Clear its Cache? How? ### + +> **Answer** : No Doubt! Squid acts as web-cache Daemon which is used to accelerate web surfing still it is possible to clear its cache and that too very easily. + +a. First stop Squid proxy server and delete cache from the location ‘/var/lib/squid/cache’ directory. + + # service squid stop + # rm -rf /var/lib/squid/cache/*< + +b. Create Swap directories. + + # squid -z + +### 8. A client approaches you, who is working. They want the web access time be restricted for their children. How will you achieve this scenario? ### + +Say the web access allow time be 4′o clock to 7′o clock in the evening for three hours, sharply form Monday to Friday. + +a. To restrict web access between 4 to 7 from Monday to Friday, open the Squid configuration file. + + # nano /etc/squid/squid.conf + +b. Add the following lines and save the file and exit. + + acl ALLOW_TIME time M T W H F 16:00-19:00 + shttp_access allow ALLOW_TIME + +c. Restart the Squid Service. + + # service squid restart + +### 9. Squid stores data in which file format? ### + +> **Answer** : Data stored by Squid is in ufs format. Ufs is the old well-known Squid storage format. + +### 10. Where do cache gets stored by squid? ### + +> **Answer** : A squid stores cache in special folder at the location ‘/var/spool/squid’. + +That’s all for now. I’ll be here again with another interesting article soon. Till then stay tuned and connected to Tecmint. Don’t forget to provide us with your valuable feedback the comment section below. + +-------------------------------------------------------------------------------- + +via: http://www.tecmint.com/squid-interview-questions/ + +作者:[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/ \ No newline at end of file diff --git a/sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md b/sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md new file mode 100644 index 0000000000..9abc163f30 --- /dev/null +++ b/sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md @@ -0,0 +1,44 @@ +How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17 +================================================================================ +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Tor_Browser_Ubuntu.jpeg) + +Keeping all the fiasco of [NSA snooping on citizens and governments worldwide][1] in mind, privacy is a growing concern for many. If you too are concerned about your online safety and want to protect yourself from network surveillance, [Tor project][2] is the best option available. + +Tor Project has its own [Tor browser][3] which is based on Firefox and configured to protect users’ privacy and anonymity by using Tor and [Vidalia][4] tools that come bundled with it. Though you can [download Tor browser and install it from the source code][5], we shall see an easier way to install Tor browser in Ubuntu 14.04 and Linux Mint 17. + +### How to install Tor browser in Ubuntu 14.04 and Linux Mint 17 ### + +Thanks to [Webupd8][6], we have a PPA that we can use to install Tor browser in Ubuntu and other Ubuntu based Linux OSes easily (if you are not comfortable installing from source code). Open a terminal (Ctrl+Alt+T) and use the following commands: + + sudo add-apt-repository ppa:webupd8team/tor-browser + sudo apt-get update + sudo apt-get install tor-browser + +The above PPA should also be valid for Ubuntu 12.04 and other Linux distributions based on it. + +#### Uninstall Tor browser #### + +If you want to uninstall Tor browser, use the following command: + + sudo apt-get remove tor-browser + rm -r ~/.tor-browser-en + +I hope this quick test helped you to **easily install Tor browser in Ubuntu 14.04 and Linux Mint 17**. Any questions or suggestions are always welcomed. + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/install-tar-browser-ubuntu-linux-mint-17/ + +作者:[Abhishek][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://itsfoss.com/author/Abhishek/ +[1]:http://projects.propublica.org/nsa-grid/ +[2]:https://www.torproject.org/ +[3]:https://www.torproject.org/projects/torbrowser.html.en +[4]:https://www.torproject.org/projects/vidalia.html.en +[5]:https://www.torproject.org/projects/torbrowser.html.en#linux +[6]:http://www.webupd8.org/ \ No newline at end of file diff --git a/sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md b/sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md new file mode 100644 index 0000000000..e8f1c9dab6 --- /dev/null +++ b/sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md @@ -0,0 +1,38 @@ +Linux FAQs with Answers--How to check which fonts are used in a PDF document +================================================================================ +> **Question**: I would like to know what fonts are used or embedded in a PDF file. Is there a Linux tool which can check which fonts are used in a PDF document? + +To check what fonts are included or used in a PDF file, you can use a command-line utility called pdffonts, which is a PDF font analyzer tool. pdffonts is a part of Poppler PDF utilities package. + +### Install PDF Utilities on Linux ### + +To install Poppler on Debian, Ubuntu or Linux Mint: + + $ sudo apt-get install poppler-utils + +To install PDF Utilities on Fedora, CentOS or RHEL: + + $ sudo yum install poppler-utils + +### Check PDF Fonts ### + +**pdffonts** can list all the fonts used in a PDF document. The basic usage of pdffonts is as follows. + + $ pdffonts doc.pdf + +![](https://farm6.staticflickr.com/5592/14527744387_f8bb671955_z.jpg) + +The **pdffonts** tool shows various information about each font used, such as font name/type, or whether or not a font is embedded, etc. + +In case of a multi-page PDF document, you can limit font scanning for a range of pages with "-f" (first page), and "-l" (last page) options. For example, if you want to find out which fonts are used in pages 5-10 of a document, run this: + + $ pdffonts -f 5 -l 10 doc.pdf + +-------------------------------------------------------------------------------- + +via: http://ask.xmodulo.com/check-which-fonts-are-used-pdf-document.html + +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file diff --git a/sources/tech/20140729 Use Pushbullet Indicator In Ubuntu To Send Files To Android Or iOS Devices.md b/sources/tech/20140729 Use Pushbullet Indicator In Ubuntu To Send Files To Android Or iOS Devices.md new file mode 100644 index 0000000000..3efd3b06ee --- /dev/null +++ b/sources/tech/20140729 Use Pushbullet Indicator In Ubuntu To Send Files To Android Or iOS Devices.md @@ -0,0 +1,67 @@ +Use Pushbullet Indicator In Ubuntu To Send Files To Android Or iOS Devices +================================================================================ +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Pushbullet_Logog.jpg) + +[Pushbullet][1] is an app available for iOS and Android devices that lets you send files, links, images from your desktop to your mobile device and vice versa. Pushbullet can be used in any OS by installing extensions in Firefox or Chrome. + +If you are not fan of browser extensions and want to use something more of a desktop app for **Pushbullet in Ubuntu 14.04**, you can use **Pushbullet Indicator** developed by [Atareao][2]. Pushbullet Indicator is in development stage at the moment and doesn’t have all the functionality of the official Windows desktop app but it still has enough to get you started. + +### Install Pushbullet Indicator in Ubuntu 14.04 and Linux Mint 17 ### + +Open a terminal and use the following commands: + + sudo add-apt-repository ppa:atareao/atareao + sudo apt-get update + sudo apt-get install pushbullet-indicator + +The above PPA won’t work on Ubuntu 13.10. + +### Using Pushbullet Indicator in Ubuntu 14.04 and Linux Mint 17 ### + +- Create an account on [Pushbullet][3]. +- Install the Pushbullet app on your Android or iOS device. +- After installing Pushbullet Indicator in Ubuntu or Linux Mint, start it. On the first launch, it will give the option to connect to your Pushbullet account: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Pushbullet_Indicator_start.png) + +- Once connected, you should also name your device, from the device tab in the above picture. If you want Pushbullet to autostart at each boot, you can choose it do so by going in preference and turn on the Autostart button (shown in the picture above). +- Once you are done with this, you will see the Pushbullet indicator in Unity panel. + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Use_Pushbullet_indicator_Ubuntu.jpeg) + +- To send something to your smartphone, click on the indicator and select the device (linked to your Pushbullet account). It’s as simple as that. + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Pushbullet_Indicator_In_Ubuntu.png) + +- You’ll get a notification on the other device of receiving a file. You can access them all from the Pushbullet app. +- Android devices can also get notifications for phone calls, text messages and other notifications. +- If you send a file from your mobile device to your desktop, you will be notified about it: + +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Pushbulet_Indicator_Notification.jpeg) + +- The files are not automatically saved to a certain directory. To get the file sent from other device, go to Show last push from the indicator menu, it will show you the last push available. Click on it to download the file to a directory of your choice. + +### Install Nautilus extension for Pushbullet: ### + +Alternatively, you can also install Nautilus extension for Pushbullet to send files directly from right click menu. Use the following command: + + sudo apt-get install nautilus-pushbullet + +You’ll have to authenticate it again after restarting. + +Do share your experience with Pushbullet Indicator in comment section. Ciao ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-includes/images/smilies/icon_smile.gif) + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/pushbullet-indicator-ubuntu/ + +作者:[Abhishek][a] +译者:[译者ID](https://github.com/译者ID) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://itsfoss.com/author/Abhishek/ +[1]:https://www.pushbullet.com/ +[2]:http://www.atareao.es/ +[3]:https://www.pushbullet.com/ \ No newline at end of file From 6d78ac36147e6ce55c134e5cea88569da85d25f1 Mon Sep 17 00:00:00 2001 From: wxy Date: Tue, 29 Jul 2014 17:16:00 +0800 Subject: [PATCH 272/291] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=8E=9F=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 另外,不要修改译文的文件名称。另外,你要在译文的下面的翻译信息中写上你的ID。 @lfzark --- .../news/20140728 CoreOS Stable Release.md | 44 ------------------- ...).md => 20140728 CoreOS Stable Release.md} | 0 2 files changed, 44 deletions(-) delete mode 100644 sources/news/20140728 CoreOS Stable Release.md rename translated/news/{CoreOS Stable Release (Translated).md => 20140728 CoreOS Stable Release.md} (100%) diff --git a/sources/news/20140728 CoreOS Stable Release.md b/sources/news/20140728 CoreOS Stable Release.md deleted file mode 100644 index 49880f3a4b..0000000000 --- a/sources/news/20140728 CoreOS Stable Release.md +++ /dev/null @@ -1,44 +0,0 @@ -Translating by lfzark -CoreOS Stable Release -================================================================================ -First off, [Happy SysAdmin Day][1]. We think we have a pretty good SysAdmin surprise in store for you today as we are announcing the CoreOS stable release channel. Starting today, you can begin running CoreOS in production. This version is the most tested, secure and reliable version available for users wanting to run CoreOS. This is a huge milestone for us. Since our first alpha release in August 2013: - -- 191 releases have been tagged -- Tested on hundreds of thousands of servers on the alpha and beta channels -- Supported on 10+ platforms, ranging from bare metal to being primary images on Rackspace and Google - -It is a big day for us here at CoreOS, as we have been working hard to deliver the stable release. Of course, we couldn’t do this without the community so thank you for all of your support and contributions to the project. - -[CoreOS 367.1.0][2], our first version on the stable channel, includes the following: - -- Linux 3.15.2 -- Docker 1.0.1 -- Support on all major cloud providers, including Rackspace Cloud, Amazon EC2 (including HVM), and Google Compute Engine -- Commercial support via [CoreOS Managed Linux][3] - -This is a great opportunity to read about our [Update Philosophy][4] if you haven't already done so. - -Please note: The stable release is not including etcd and fleet as stable, this release is only targeted at the base OS and Docker 1.0. etcd/fleet stable support will be in subsequent releases. - -For those of you who want to start running CoreOS in production be sure to review our quick [Switching Release Channels][5] guide. As you're booting new machines, be sure to base them off your desired channel from the beginning. - -Finally, thanks to the community for your support. We can’t wait to hear your feedback. For those looking for additional support of running CoreOS in production, be sure to check out our [Managed Linux][6] offerings, as we have a full support team in place ready to answer any questions you may have. - -Happy SysAdmin Day, and thank you for making the web awesome. - --------------------------------------------------------------------------------- - -via: https://coreos.com/blog/stable-release/ - -作者:Alex Polvi -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://sysadminday.com/ -[2]:https://coreos.com/releases/#367.1.0 -[3]:https://coreos.com/products/managed-linux/ -[4]:https://coreos.com/using-coreos/updates/ -[5]:https://coreos.com/docs/cluster-management/setup/switching-channels/ -[6]:https://coreos.com/products/managed-linux/ diff --git a/translated/news/CoreOS Stable Release (Translated).md b/translated/news/20140728 CoreOS Stable Release.md similarity index 100% rename from translated/news/CoreOS Stable Release (Translated).md rename to translated/news/20140728 CoreOS Stable Release.md From b2a34fbe7e358801f2cced585313a43bd390371a Mon Sep 17 00:00:00 2001 From: wxy Date: Tue, 29 Jul 2014 17:42:25 +0800 Subject: [PATCH 273/291] PUB:20140728 CoreOS Stable Release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @lfzark 发布了:http://linux.cn/article-3490-1.html 基本上翻译的不错,你可以看看我发布后修改的地方,供参考。 --- published/20140728 CoreOS Stable Release.md | 44 ++++++++++++++++ .../news/20140728 CoreOS Stable Release.md | 51 ------------------- 2 files changed, 44 insertions(+), 51 deletions(-) create mode 100644 published/20140728 CoreOS Stable Release.md delete mode 100644 translated/news/20140728 CoreOS Stable Release.md diff --git a/published/20140728 CoreOS Stable Release.md b/published/20140728 CoreOS Stable Release.md new file mode 100644 index 0000000000..d072238861 --- /dev/null +++ b/published/20140728 CoreOS Stable Release.md @@ -0,0 +1,44 @@ +CoreOS 稳定版发布 +================================================================================ + +随着CoreOS稳定版的发布,我们相信我们已经为SysAdmin节准备好了一个不错的惊喜。从现在起,用户可以在产品环境中运行CoreOS了。这个版本对于想运行CoreOS的用户来说,是最经考验的、最安全的、最可靠的CoreOS版本。这对我们来说,是一个重大的里程碑。自从2013年八月我们第一个alpha版本发布以来,我们做了: + +- 191个发布版本 +- 通过alpha和beta频道测试了成千上万的服务器 +- 支持10个以上平台,从裸机到Rackspace和Google云平台的主要镜像 + +对我们来说这是一个极为重要的日子,因为我们为了稳定版的发布付出了努力的工作。当然,如果没有社区的帮助,我们完成不了这些工作,感谢你们所有对项目的支持和贡献。 + +[CoreOS 367.1.0][2], 这是我们在稳定频道上的第一个版本, 包括以下内容: + +- Linux 3.15.2 +- Docker 1.0.1 +- 所有主流的云服务商的支持, 包括 Rackspace Cloud, Amazon EC2 (包括 HVM) 和 Google Compute Engine +- 通过 [CoreOS Managed Linux][3] 的商业支持 + +如果你还没有阅读我们的[Update Philosophy][4],我们建议您先看看。 + +请注意:稳定发布版本为了保持稳定性而不包括etcd和fleet ,此发布版仅针对基本的操作系统和Docker1.0。etcd和fleet的稳定版本支持会在随后的发布版本中。 + +如果想开始在产品中运行CoreOS,请确保阅读我们的快速指南“[切换到发布频道][5]”。如果你正在装新的机器,请确保在一开始就把他们建立在你想要的更新频道上。 + +最后,感谢社区的支持,我们迫不及待地想听到你们的反馈。对那些在产品环境中运行CoreOS上,希望得到额外支持的用户,请确保查看我们的[Managed Linux][6] 建议,因为我们已经有了一个完整的支持团队,他们正在准备回答你遇到的任何问题。 + +SysAdmin节快乐,感谢你们让互联网变得如此令人惊叹。 + +-------------------------------------------------------------------------------- + +via: https://coreos.com/blog/stable-release/ + +作者:Alex Polvi +译者:[lfzark](https://github.com/lfzark) +校对:[wxy](https://github.com/wxy) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://sysadminday.com/ +[2]:https://coreos.com/releases/#367.1.0 +[3]:https://coreos.com/products/managed-linux/ +[4]:https://coreos.com/using-coreos/updates/ +[5]:https://coreos.com/docs/cluster-management/setup/switching-channels/ +[6]:https://coreos.com/products/managed-linux/ diff --git a/translated/news/20140728 CoreOS Stable Release.md b/translated/news/20140728 CoreOS Stable Release.md deleted file mode 100644 index fb4d264c2e..0000000000 --- a/translated/news/20140728 CoreOS Stable Release.md +++ /dev/null @@ -1,51 +0,0 @@ -Translating by lfzark - - -CoreOS稳定版发布 -================================================================================ -首先,祝大家SysAdmin节快乐。随着今日CoreOS稳定版的发布,我们相信我们已经为SysAdmin节准备好了一个不错的惊喜。从今天起,用户可以在产品中 - -运行CoreOS了。这个版本是用户想要的最经考验,最安全,最可靠的CoresOS版本。这对我们来说,是一个重大的里程碑。自从2013年八月我们第一个alpha版本 - - -发布以来 - -- 191个发布版本 -- 在alpha和beta频道上测试了成千上万的服务器 -- 支持10个以上平台,从裸机到Rackspace和Google云平台的主要镜像 - - -对我们来说这是一个极为重要的日子,因为我们为了稳定版的发布付出了努力的工作。当然,如果没有社区的帮助,我们完成不了这些工作,感谢你们所有对项目的支持和贡献。 -[CoreOS 367.1.0][2], 我们在稳定channel上的第一个版本, 包括以下支持: - -- Linux 3.15.2 -- Docker 1.0.1 -- 所有主流的云服务商的支持, 包括 Rackspace Cloud, Amazon EC2 (包括 HVM), 和 Google Compute Engine -- 通过 [CoreOS Managed Linux][3] 的商业支持 - -如果你还没有阅读我们的[Update Philosophy][4],我相信这是一个不错的选择。 - -请注意:稳定发布版本由于稳定性不包括etcd和fleet ,此发布版支持目标在基础OS和Docker1.0。etcd/fleet的稳定版本支持会在随后的发布版本中 - -如果想开始在产品中运行CoreOS,请确保阅读我们的快速指南 [Switching Release Channels][5]。由于你正在引导新机器,请确保在一开始就把他们建立在你想要的channel上 - - -最后,感谢社区的支持。我们迫不及待地想听到你们得反馈。而这些在运行CoreOS上寻求额外支持的用户,请确保查看我们的[Managed Linux][6] 建议,因为我们已经有了一个完整的支持团队,他们正在准备回答你遇到的任何问题。 - -SysAdmin节快乐,感谢你们让互联网变得如此令人惊叹。 --------------------------------------------------------------------------------- - -via: https://coreos.com/blog/stable-release/ - -作者:Alex Polvi -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://sysadminday.com/ -[2]:https://coreos.com/releases/#367.1.0 -[3]:https://coreos.com/products/managed-linux/ -[4]:https://coreos.com/using-coreos/updates/ -[5]:https://coreos.com/docs/cluster-management/setup/switching-channels/ -[6]:https://coreos.com/products/managed-linux/ From 7eb6f2d5476046deacd3f38a19288b00aafcb09a Mon Sep 17 00:00:00 2001 From: wxy Date: Tue, 29 Jul 2014 17:44:25 +0800 Subject: [PATCH 274/291] =?UTF-8?q?PUB=EF=BC=9A20140714=20Fix=20No=20Sound?= =?UTF-8?q?=20In=20Ubuntu=2014.04=20As=20HDMI=20Enabled=20BY=20Default?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @GOLinux --- ...714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {translated/tech => published}/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md (100%) diff --git a/translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md b/published/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md similarity index 100% rename from translated/tech/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md rename to published/20140714 Fix No Sound In Ubuntu 14.04 As HDMI Enabled BY Default.md From 2da79c9e868b7be2ab4de82d765062c09749c606 Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Wed, 30 Jul 2014 12:55:47 +0800 Subject: [PATCH 275/291] =?UTF-8?q?=E6=A0=A1=E5=AF=B9=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... How to Merge Directory Trees in Linux using cp Command.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md b/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md index 2f9beebd09..0af70f5994 100644 --- a/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md +++ b/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md @@ -2,7 +2,7 @@ ================================================================================ 怎样将布局相似的两个目录树合并成新的目录树? 为理解该问题让我们思考下面的例子. -假设dir1和dir2目录中分别有3个子目录a,b和c.目录布局如下所示: +假设dir1和dir2目录中分别有3个子目录a,b和c.目录布局如下所示: ![Layout of input directories](http://linoxide.com/wp-content/uploads/2014/07/01.merge_dir_layout.png) 输入目录布局 @@ -75,4 +75,4 @@ via: http://linoxide.com/linux-command/merge-directory-trees-linux/ 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 -[a]:http://linoxide.com/author/raghu/ \ No newline at end of file +[a]:http://linoxide.com/author/raghu/ From 3ab772219ee08f18713c4a26f899382c8d088ae5 Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Wed, 30 Jul 2014 13:47:53 +0800 Subject: [PATCH 276/291] =?UTF-8?q?=E5=B7=B2=E6=A0=A1=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rectory Trees in Linux using cp Command.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md b/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md index 0af70f5994..dda688d0d0 100644 --- a/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md +++ b/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md @@ -1,8 +1,9 @@ -在linux中怎样使用cp命令合并目录树 +在 Linux 中怎样使用cp命令合并目录树 ================================================================================ -怎样将布局相似的两个目录树合并成新的目录树? 为理解该问题让我们思考下面的例子. -假设dir1和dir2目录中分别有3个子目录a,b和c.目录布局如下所示: +怎样将两个布局相似的目录树合并成一个新的目录树?为理解该问题让我们思考下面的例子. + +假设 dir1 和 dir2 目录中分别有3个子目录a,b和c.目录布局如下所示: ![Layout of input directories](http://linoxide.com/wp-content/uploads/2014/07/01.merge_dir_layout.png) 输入目录布局 @@ -14,16 +15,14 @@ ### 1. 使用cp命令创建合并: ### -现在我们将这两个目录合并成一个新的目录,如"merged".完成上述操作最简单的方式就是递归 -复制目录,如下图所示: +现在我们将这两个目录合并成一个名为"merged"新的目录中.完成上述操作最简单的方式就是递归复制目录,如下图所示: ![Copy directories recursively to create new merge](http://linoxide.com/wp-content/uploads/2014/07/03.merge_cp_recursive.png) 递归复制完成新的合并 #### 1.1 cp命令和替换带来的问题: #### -这种方式所带来的问题是该合并目录中所创建的文件为原文件的副本,并非原文件本身. 别急, (你可能正在问自己) 如果不是原文件又有什么问题? 为了回答你的问题,考虑下你有很多大文件的情况 -.那种情形下,复制所有的文件可能消耗数小时. +这种方式所带来的问题是该合并目录中所创建的文件为原文件的副本,并非原文件本身.别急, (你可能正在问自己) 如果不是原文件又有什么问题? 要回答你的问题,考虑下你有很多大文件的情况.那种情形下,复制所有的文件可能花费数小时. 现在让我们回到刚那问题上,且尝试使用mv命令而不是cp命令. @@ -33,7 +32,7 @@ 这些目录不能被合并.因此我们不能像这样使用mv命令去合并目录. 现在你该怎样将原文件保存到"merged"目录中? -### 2. 方法: ### +### 2. 解决方法: ### cp命令有一个非常有用的选项来帮助我们摆脱这种状况. cp命令的-l 或 --link选项能够创建硬链接而非原文件副本.让我们尝试一下. @@ -59,7 +58,7 @@ Verify Inodes #### 2.2 清除: #### -正如你所看到的,这些文件的inodes和原文件的一样.现在 那问题已经被解决,且 +正如你所看到的,这些文件的inodes和原文件的一样.现在问题已经被解决,且 原文件已被复制到合并目录中.现在我们能够移除dir1和dir2目录. ![Remove original directories](http://linoxide.com/wp-content/uploads/2014/07/08.merge_cleanup.png) @@ -71,7 +70,7 @@ via: http://linoxide.com/linux-command/merge-directory-trees-linux/ 原文作者:[Raghu][a] -译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[校对者ID](https://github.com/校对者ID) +译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[Caroline](https://github.com/carolinewuyan) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From f398fd757a9501f87c00715fd06b75841f3c5d23 Mon Sep 17 00:00:00 2001 From: KayGuoWhu Date: Wed, 30 Jul 2014 14:40:10 +0800 Subject: [PATCH 277/291] translated --- ... What are useful online tools for Linux.md | 151 ------------------ ...20140528 Install Webmin On Ubuntu 14.04.md | 56 +++++++ ... What are useful online tools for Linux.md | 148 +++++++++++++++++ 3 files changed, 204 insertions(+), 151 deletions(-) delete mode 100644 sources/talk/20140724 What are useful online tools for Linux.md create mode 100644 sources/tech/20140528 Install Webmin On Ubuntu 14.04.md create mode 100644 translated/talk/20140724 What are useful online tools for Linux.md diff --git a/sources/talk/20140724 What are useful online tools for Linux.md b/sources/talk/20140724 What are useful online tools for Linux.md deleted file mode 100644 index 75aed3d17a..0000000000 --- a/sources/talk/20140724 What are useful online tools for Linux.md +++ /dev/null @@ -1,151 +0,0 @@ -[translating by KayGuoWhu] -What are useful online tools for Linux -================================================================================ -As you know, GNU Linux is much more than just an OS. There is literally a whole sphere on the Internet dedicated to the penguin OS. If you read this post, you are probably inclined towards reading about Linux online. Among all the pages that you can find on the subject, there are a couple of websites that every Linux adventurer should have in his bookmarks. These websites are more than just tutorials or reviews. They are real tools that you can access from anywhere and share with everyone. So today I shall propose you a non-exhaustive list of sixteen websites that should be in your bookmarks. Some of them can also be useful for Windows or Mac users: that's the extent of their reach. - -### 1. [ExplainShell.com][1] ### - -[![](https://farm4.staticflickr.com/3841/14517716647_3b6a1a564d_z.jpg)][2] - -If you are interested in Linux command line, you should use this website. If you are not interested in Linux command line, you should use it even more as it will explain in detail how a command works. This could prevent you from launching a command detrimental to your computer, and is a good way to learn with a great interface. - -### 2. [BashrcGenerator.com][3] ### - -[![](https://farm4.staticflickr.com/3900/14703872782_033e5acdb8_z.jpg)][4] - -If you want to begin with Linux command line, or if you want to quickly get a customized shell prompt but not sure how, this website will generate for you PS1 prompt code to place your .bashrc file in your home directory. You can drag and drop the elements that you would like to see in your prompt, like your username and the current time, and the website will write the code for you. It's easy and very readable. Definitely a must for the lazy. - -### 3. [Vim-adventures.com][5] ### - -[![](https://farm4.staticflickr.com/3838/14681149696_0c533fd6de_z.jpg)][6] - -I only recently discovered this website, but it already sucked in many hours of my life. In short: a RPG game with Vim commands. Move your character in the isometric levels with the 'h,j,k,l' keys, gain new commands/abilities, collect keys, and learn how to use Vim proficiently very quickly. - -### 4. [Try Github][7] ### - -[![](https://farm4.staticflickr.com/3874/14517499739_0452848d68_z.jpg)][8] - -The pitch is simple: learn Git in 15 minutes. This website simulates a console, and walks you though the steps of collaborative editing. The interface is very stylish and the intention is worthy. The only downside is for the Git allergic. But it is definitely a good skill to have, and a good place to learn it. - -### 5. [Shortcutfoo.com][9] ### - -[![](https://farm4.staticflickr.com/3906/14517499799_f142ea37cb_z.jpg)][10] - -Another shortcut database, shortcutfoo is a bit more standard in its way to present its content to the user, but definitely more straight-forward than funny mini-games. The shortcuts of several programs are available and grouped by categories. As it might not be super complete for software like Vim, which is completely reliant on shortcuts, it is perfect for giving a quick tip or a general overview. - -### 6. [GitHub Free Programming Books][11] ### - -[![](https://farm4.staticflickr.com/3867/14517499989_408a28d8be_z.jpg)][12] - -As you might guess from the URL, this is a collection of free online books about programming, written collaboratively using Git. The content is awesome and the authors deserve to be praised for such work. It might not be the easiest read at first, but it is one of the most instructive for sure. We can only hope that the movement will keep growing. - -### 7. [Collabedit.com][13] ### - -[![](https://farm3.staticflickr.com/2940/14681150086_2d169d67f9_z.jpg)][14] - -If you ever plan on giving a phone interview, you should check out collabedit beforehand. It allows you to create a document, select the programming language that you want to write in, and then share that document via the URL. The people opening the link will be able to freely interact in real time with the text, allowing you to judge their programming skills or just exchange snippets. It even comes with the proper syntax highlighting and a chat widget. In other words, it is the instant-Google Document of programmers. - -### 8. [Cpp.sh][15] ### - -[![](https://farm4.staticflickr.com/3840/14700981001_af3ac40b65_z.jpg)][16] - -This is one of those websites that extend beyond just Linux, but it is so useful that it deserves its place here. In short, an online development environment for C++. Just write your code in your navigator and run it. As a bonus, you get an auto-indentation feature, Ctrl+Z, and the possibility to share the URL with your buddy. This is just one of those crazy things that you can do from a simple browser. - -### 9. [Copy.sh][17] ### - -[![](https://farm4.staticflickr.com/3883/14517479870_da521931eb_z.jpg)][18] - -In continuation with crazy things that you can do from your browser, copy.sh lets you run a virtual machine online. Just that. It gained fame relatively recently, but the idea is just insane. From the navigator you can select among the defaults virtual images to run, or upload your own iso file. The code for that feat has been shared on [GitHub][19]. Just amazing. - -### 10. [Commandlinefu.com][20] ### - -[![](https://farm4.staticflickr.com/3887/14517495938_ca3b831ca9_z.jpg)][21] - -We all keep a big snippet of command-line "gems" on our computer. commandlinefu's goal is to release those snippets to the world. As a collaborative database, it resembles the Wikipedia of the command line. Everyone is free to register and post their favorite command on the website for everyone else to see. You will then be able to access that knowledge from everywhere and share it with everyone. If you are interested in mastering the shell, commandlinefu also proposes great features like random commands and a news feed to learn something new every day. - -### 11. [Alias.sh][22] ### - -[![](https://farm4.staticflickr.com/3868/14701762124_a7b3547aca_z.jpg)][23] - -Another collaborative database, alias.sh (I love the URL) is a bit like commandlinefu but for shell aliases. You can share and discover useful aliases which will make your CLI experience so much better. I personally like the alias to get the dimensions of a picture. - - function dim(){ sips $1 -g pixelWidth -g pixelHeight } - -All the seconds you save with alias.sh probably accumulate with time, and turn to years by the end of your life. - -### 12. [Distrowatch.com][24] ### - -[![](https://farm3.staticflickr.com/2910/14681149996_50a45bff78_z.jpg)][25] - -Who does not know Distrowatch? Besides giving a precise ranking of Linux distributions based on their website popularity, Distrowatch is also a very useful database. Whether you are looking for a new distribution to try, or just curious, it presents an exhaustive account of every Linux you can find, with information like which default desktop environment it uses, or package system, or its default applications. And all the versions, and with easily accessible download links. In a word, the Linux database. - -### 13. [Linuxmanpages.com][26] ### - -[![](https://farm4.staticflickr.com/3911/14704165765_8e30cb3d3f_z.jpg)][27] - -Everything is in the URL: access the manual pages for popular commands from anywhere. Not really sure if this would actually be useful for Linux users as you can access that from your actual terminal, but the intent is remarkable. - -### 14. [AwesomeCow.com][28] ### - -[![](https://farm6.staticflickr.com/5558/14704165965_02b10ee293_z.jpg)][29] - -This is maybe a bit less hardcore Linux, but definitely useful to some. Awesomecow is a search engine for finding alternatives to Windows software on Linux. It can be helpful for anyone migrating to the penguin, or nostalgic of a Windows program. I see this as a strength, showing that Linux can compete with the professional spheres when it comes sot software quality. Or at least try to. - -### 15. [PenguSpy.com][30] ### - -[![](https://farm4.staticflickr.com/3904/14517495728_f6877e8e3b_z.jpg)][31] - -Before Steam started to show up on Linux, gaming was probably one of the penguin's weakness. But the website penguspy made the effort of fighting that weakness by collecting all Linux compatible games in a database with a sexy interface. Games can be sorted by categories, release dates, ratings, etc. I really hope that websites like this are not going to disappear because of Steam as it remains one of my favorites of this list. - -### 16. [Linux Cross Reference by Free Electrons][32] ### - -[![](https://farm4.staticflickr.com/3913/14712049464_6b666e2cfa_z.jpg)][33] - -Finally, for all the experts and the curious, lxr is the anagram from Linux Cross Reference, and allows us to interactively view the Linux Kernel code online. The navigation is made easy via identifiers, and you can compare the different versions of the files with a standard diff markup. The interface is sober and straight-forward, and this is just a website that perfectly illustrates the concept of open source. - -To conclude, there are a lot more websites which deserve to be listed, and this might be a topic for a part two to this post. But this is a good start. It serves as an appetizer to what can be found online as tools for Linux users. If you have any other pages that you would like to share, following this thematic, do so in the comments. And maybe contribute to a sequel to this list. - --------------------------------------------------------------------------------- - -via: http://xmodulo.com/2014/07/useful-online-tools-linux.html - -原文作者:[Adrien Brochard][a](I am a Linux aficionado from France. After trying multiple distributions, I finally settled for Archlinux. But I am always trying to improve my system by stacking up tips and tricks.) - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://xmodulo.com/author/adrien -[1]:http://explainshell.com/ -[2]:https://www.flickr.com/photos/xmodulo/14517716647/ -[3]:http://bashrcgenerator.com/ -[4]:https://www.flickr.com/photos/xmodulo/14703872782/ -[5]:http://vim-adventures.com/ -[6]:https://www.flickr.com/photos/xmodulo/14681149696/ -[7]:https://try.github.io/ -[8]:https://www.flickr.com/photos/xmodulo/14517499739/ -[9]:https://www.shortcutfoo.com/ -[10]:https://www.flickr.com/photos/xmodulo/14517499799/ -[11]:https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md -[12]:https://www.flickr.com/photos/xmodulo/14517499989/ -[13]:http://collabedit.com/ -[14]:https://www.flickr.com/photos/xmodulo/14681150086/ -[15]:http://cpp.sh/ -[16]:https://www.flickr.com/photos/xmodulo/14700981001/ -[17]:http://copy.sh/v24/ -[18]:https://www.flickr.com/photos/xmodulo/14517479870/ -[19]:https://github.com/copy/v86 -[20]:http://www.commandlinefu.com/ -[21]:https://www.flickr.com/photos/xmodulo/14517495938/ -[22]:http://alias.sh/ -[23]:https://www.flickr.com/photos/xmodulo/14701762124/ -[24]:http://distrowatch.com/ -[25]:https://www.flickr.com/photos/xmodulo/14681149996/ -[26]:http://www.linuxmanpages.com/ -[27]:https://www.flickr.com/photos/xmodulo/14704165765/ -[28]:http://awesomecow.com/ -[29]:https://www.flickr.com/photos/xmodulo/14704165965/ -[30]:http://www.penguspy.com/ -[31]:https://www.flickr.com/photos/xmodulo/14517495728/ -[32]:http://lxr.free-electrons.com/ -[33]:https://www.flickr.com/photos/xmodulo/14712049464/ \ No newline at end of file diff --git a/sources/tech/20140528 Install Webmin On Ubuntu 14.04.md b/sources/tech/20140528 Install Webmin On Ubuntu 14.04.md new file mode 100644 index 0000000000..e4065f5a1e --- /dev/null +++ b/sources/tech/20140528 Install Webmin On Ubuntu 14.04.md @@ -0,0 +1,56 @@ +在Ubuntu 14.04中安装Webmin +================================================================================ +![](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/webmin-790x586.jpg) + +[Webmin][1]是一款开源的、基于web的、适合Unix/Linux的系统管理工具。使用Webmin,你可以通过任何一款现有的网页浏览器来设置和配置所有的系统服务,比如DNS、DHCP、Apache、NFS和Samba等。因此,你无需记住所有的命令或手动编辑任何的配置文件了。 + +### 使用官方仓库在Ubuntu 14.04 LTS上安装Webmin ### + +添加webmin的官方库: + +编辑文件**/etc/apt/sources.list**, + + sudo vi /etc/apt/sources.list + +添加下列行内容: + + deb http://download.webmin.com/download/repository sarge contrib + deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib + +添加GPG密钥: + + sudo wget http://www.webmin.com/jcameron-key.asc + sudo apt-key add jcameron-key.asc + +更新软件列表: + + sudo apt-get update + +使用下列命令安装webmin: + + sudo apt-get install webmin + +如果你想远程访问webmin的控制台,则需要设置防火墙允许通过webmin的默认端口“10000”。 + + sudo ufw allow 10000 + +### 访问Webmin控制台 ### + +打开你的浏览器,转到这个地址**https://ip-address:10000/**。将会出现下面的画面,输入用户名和密码就可以登陆进webmin控制台了。 + +![Login to Webmin](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/Login-to-Webmin-Mozilla-Firefox_010.png) + +这是我的Webmin控制面板的样子。 + +![Webmin 1.690 on server.unixmen.local (Ubuntu Linux 14.04)](http://180016988.r.cdn77.net/wp-content/uploads/2014/05/Webmin-1.690-on-server.unixmen.local-Ubuntu-Linux-14.04-Mozilla-Firefox_011.png) + +就是这样简单。现在你就可以图形化地管理和配置你的Ubuntu服务器了。欢呼吧! +-------------------------------------------------------------------------------- + +via: http://www.unixmen.com/install-webmin-ubuntu-14-04/ + +译者:[KayGuoWhu](https://github.com/KayGuoWhu) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.webmin.com/ \ No newline at end of file diff --git a/translated/talk/20140724 What are useful online tools for Linux.md b/translated/talk/20140724 What are useful online tools for Linux.md new file mode 100644 index 0000000000..b01b5b189a --- /dev/null +++ b/translated/talk/20140724 What are useful online tools for Linux.md @@ -0,0 +1,148 @@ +适用于Linux的在线工具 +================================================================================ +众所周知,GNU Linux不仅仅只是一款操作系统。看起来通过互联网全球许多人都在致力于这款企鹅图标(即Linux)的操作系统。如果你读到这篇文章,你可能倾向于读到关于Linux联机的内容。在可以找到的所有关于这个主题的网页中,有一些网站是每个Linux爱好者都应该收藏起来的。这些网站不仅仅只是教程或回顾,更是可以随时随地访问并与他人共享的实用工具。所以,今天我会建议一份包含16个应该收藏的网址清单。它们中的一些对Windows或Mac用户同样有用:这是在他们的能力范围内可以做到的。(译者注:Windows和Mac一样可以很好地体验Linux) +### 1. [ExplainShell.com][1] ### + +[![](https://farm4.staticflickr.com/3841/14517716647_3b6a1a564d_z.jpg)][2] + +如果你对Linux命令行感兴趣,那就试试这个网站。如果你对Linux命令行不感兴趣,那就更应该试试它,因为它会详尽地告诉你一个命令是如何工作的。这会防止你无意执行一个对电脑有害的命令,而且通过一个非常赞的界面来学习是一个好方法。 + +### 2. [BashrcGenerator.com][3] ### + +[![](https://farm4.staticflickr.com/3900/14703872782_033e5acdb8_z.jpg)][4] + +如果你想开始学习Linux命令行,或者想快速地得到一个自定义的shell命令提示符,但不知道从何下手,这个网站会为你生成PS1提示代码,在家目录下放置.bashrc文件。你可以拖拽任何你想在提示符里看到的元素,譬如用户名和当前时间,这个网站都会为你编写易懂可读的代码。绝对是懒人必备! + +### 3. [Vim-adventures.com][5] ### + +[![](https://farm4.staticflickr.com/3838/14681149696_0c533fd6de_z.jpg)][6] + +我是最近才发现这个网站的,但我的生活已经深陷其中。简而言之:它就是一个使用Vim命令的RPG游戏。在等距的水平上使用‘h,j,k,l’四个键移动字母,获取新的命令/能力,收集关键词,非常快速地学习高效地使用Vim。 + +### 4. [Try Github][7] ### + +[![](https://farm4.staticflickr.com/3874/14517499739_0452848d68_z.jpg)][8] + +目标很简单:15分钟学会Git。这个网站模拟一个控制台,带你遍历这种协作编辑的每一步。界面非常时尚,目的十分有用。唯一不足的是对Git敏感,但Git绝对是一项不错的技能,这里也是学习Git的绝佳之处。 + +### 5. [Shortcutfoo.com][9] ### + +[![](https://farm4.staticflickr.com/3906/14517499799_f142ea37cb_z.jpg)][10] + +又一个包含众多快捷键数据库的网站,shortcutfoo以更标准的方式将其内容呈现给用户,但绝对比有趣的迷你游戏更直截了当。这里有许多软件的快捷键,并按类别分组。虽然它不像Vim一类完全依赖快捷键的软件那么全面,但也足以提供快速的提示或一般性的概述。 + +### 6. [GitHub Free Programming Books][11] ### + +[![](https://farm4.staticflickr.com/3867/14517499989_408a28d8be_z.jpg)][12] + +正如你从URL上猜到的一样,这个网站就是免费在线编程书籍的集合,使用Git协作方式编写。上面的内容非常好,作者们应该为做出这些工作受到表扬。它可能不是最容易阅读的,但一定是最有启发性的之一。我们只希望这项运动能持续进行。 + +### 7. [Collabedit.com][13] ### + +[![](https://farm3.staticflickr.com/2940/14681150086_2d169d67f9_z.jpg)][14] + +如果你曾经准备过电话面试,你应该先试试collabedit。它让你创建文件,选择你想使用的编程语言,然后通过URL共享文档。打开链接的人可以免费地实时使用文本交互,使你可以评判他们的编程水平或只是交换一些程序片段。这里甚至还提供合适的语法高亮和聊天功能。换句话说,这就是程序员的即时Google文档。 + +### 8. [Cpp.sh][15] ### + +[![](https://farm4.staticflickr.com/3840/14700981001_af3ac40b65_z.jpg)][16] + +尽管这个网站超出了Linux范围,但因为它非常有用,所以值得将它放在这里。简单地说,这是一个C++在线开发环境。只需在导航栏里编写程序,然后运行它。作为奖励,你可以使用自动补全、Ctrl+Z,以及和你的小伙伴共享URL。这些有趣的事情,你只需要通过一个简单的浏览器就能做到。 + +### 9. [Copy.sh][17] ### + +[![](https://farm4.staticflickr.com/3883/14517479870_da521931eb_z.jpg)][18] + +如果想继续在浏览器上做一些疯狂的事情,你可以试试在copy.sh上在线运行一个虚拟机。就是这么简单。这个网站最近小有名气,但这个点子确实有些疯狂。从导航栏里,你可以选择运行默认的虚拟机镜像,或者上传你自己的iso文件。这项壮举的代码已经共享在[GitHub][19]。尽情尖叫吧! + +### 10. [Commandlinefu.com][20] ### + +[![](https://farm4.staticflickr.com/3887/14517495938_ca3b831ca9_z.jpg)][21] + +我们总是在自己的电脑上保存着一大段类似于“gems”的命令行【翻译得不准确,麻烦校正】,commandlinefu的目标是把这些片段释放给全世界。作为一个协作式数据库,它就像是命令行里的维基百科。每个人可以免费注册,把自己最钟爱的命令提交到这个网站上给其他人看。你将能够获取来自四面八方的知识并与人分享。如果你对精通shell饶有兴趣,commandlinefu也可以提供一些优秀的特性,比如随机命令和每天学习新知识的新闻订阅。 + +### 11. [Alias.sh][22] ### + +[![](https://farm4.staticflickr.com/3868/14701762124_a7b3547aca_z.jpg)][23] + +另一协作式数据库,alias.sh(我爱死这个URL了)有点像commandlinefu,但是为shell别名开发的。你可以共享和发现一些有用的别名,来使你的CLI(命令行界面)体验更加舒服。我个人喜欢这个获取图片维度的别名。 + + function dim(){ sips $1 -g pixelWidth -g pixelHeight } + +你通过alias.sh节省下来的时间会积少成多,当你走到人生尽头的时候,会发现省下了许多年。(译者注:珍爱生命,多用别名!) + +### 12. [Distrowatch.com][24] ### + +[![](https://farm3.staticflickr.com/2910/14681149996_50a45bff78_z.jpg)][25] + +有谁不知道Distrowatch?除了基于这个网站流行度给出一个精确的Linux发行版排名,Distrowatch也是一个非常有用的数据库。无论你正苦苦寻找一个新的发行版,还是只是出于好奇,它都能为你能找到的每个Linux版本呈现一个详尽的描述,包含默认的桌面环境,包管理系统,默认应用程序等信息,还有所有的版本号,以及可用的下载链接。总而言之,这就是个Linux宝库。 + +### 13. [Linuxmanpages.com][26] ### + +[![](https://farm4.staticflickr.com/3911/14704165765_8e30cb3d3f_z.jpg)][27] + +一切都在URL中:随时随地获取主流命令的手册页面。尽管不确信对于Linux用户是否真的有用,因为他们可以从真实的终端中获取这些信息,但这里的内容还是值得关注的。 + +### 14. [AwesomeCow.com][28] ### + +[![](https://farm6.staticflickr.com/5558/14704165965_02b10ee293_z.jpg)][29] + +这里可能少一些核心的Linux内容,但肯定是有一些用的。Awesomecow是一个搜索引擎,来寻找Windows软件在Linux上的替代品。它对那些迁移到企鹅操作系统(Linux)或习惯Windows软件的人很有帮助。我认为这个网站代表一种能力,表明了在谈到软件质量时Linux也可以适用于专业领域。大家至少可以尝试一下。 + +### 15. [PenguSpy.com][30] ### + +[![](https://farm4.staticflickr.com/3904/14517495728_f6877e8e3b_z.jpg)][31] + +Steam在Linux上崭露头角之前,游戏性可能是Linux的软肋。但这个名为“pengsupy”的网站不遗余力地弥补这个软肋,通过使用漂亮的接口在数据库中收集所有兼容Linux的游戏。游戏按照类别、发行日期、评分等指标分类。我真心希望这一类的网站不会因为Steam的存在走向衰亡,毕竟这是我在这个列表里最喜爱的网站之一。 + +### 16. [Linux Cross Reference by Free Electrons][32] ### + +[![](https://farm4.staticflickr.com/3913/14712049464_6b666e2cfa_z.jpg)][33] + +最后,对所有的专家和好奇的用户,lxr是源自Linux Cross Reference的回文构词法,使我们能交互地在线查看Linux内核代码。通过标识符可以很方便地使用导航栏,你可以使用标准的diff标记对比文件的不同版本。这个网站的界面看起来严肃直接,毕竟这只是一个希望完美阐述开源观点的网站。 + +总而言之,应该列出更多这一类的网站,作为这篇文章第二部分的主题。但这篇文章是一个好的开始,是一道为Linux用户寻找在线工具的开胃菜。如果你有其它任何想要分享的页面,而且是紧跟这个主题的,在评论里写出来。这将有助于续写这个列表。 +-------------------------------------------------------------------------------- + +via: http://xmodulo.com/2014/07/useful-online-tools-linux.html + +原文作者:[Adrien Brochard][a](我是一名来自法国的Linux狂热爱好者。在尝试过众多的发行版后,我最终选择了Archlinux。但我一直会通过叠加技巧和窍门来优化我的系统。) + +译者:[KayGuoWhu](https://github.com/KayGuoWhu) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://xmodulo.com/author/adrien +[1]:http://explainshell.com/ +[2]:https://www.flickr.com/photos/xmodulo/14517716647/ +[3]:http://bashrcgenerator.com/ +[4]:https://www.flickr.com/photos/xmodulo/14703872782/ +[5]:http://vim-adventures.com/ +[6]:https://www.flickr.com/photos/xmodulo/14681149696/ +[7]:https://try.github.io/ +[8]:https://www.flickr.com/photos/xmodulo/14517499739/ +[9]:https://www.shortcutfoo.com/ +[10]:https://www.flickr.com/photos/xmodulo/14517499799/ +[11]:https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md +[12]:https://www.flickr.com/photos/xmodulo/14517499989/ +[13]:http://collabedit.com/ +[14]:https://www.flickr.com/photos/xmodulo/14681150086/ +[15]:http://cpp.sh/ +[16]:https://www.flickr.com/photos/xmodulo/14700981001/ +[17]:http://copy.sh/v24/ +[18]:https://www.flickr.com/photos/xmodulo/14517479870/ +[19]:https://github.com/copy/v86 +[20]:http://www.commandlinefu.com/ +[21]:https://www.flickr.com/photos/xmodulo/14517495938/ +[22]:http://alias.sh/ +[23]:https://www.flickr.com/photos/xmodulo/14701762124/ +[24]:http://distrowatch.com/ +[25]:https://www.flickr.com/photos/xmodulo/14681149996/ +[26]:http://www.linuxmanpages.com/ +[27]:https://www.flickr.com/photos/xmodulo/14704165765/ +[28]:http://awesomecow.com/ +[29]:https://www.flickr.com/photos/xmodulo/14704165965/ +[30]:http://www.penguspy.com/ +[31]:https://www.flickr.com/photos/xmodulo/14517495728/ +[32]:http://lxr.free-electrons.com/ +[33]:https://www.flickr.com/photos/xmodulo/14712049464/ \ No newline at end of file From 54ad75574f46feb614d30068573735c207ce811f Mon Sep 17 00:00:00 2001 From: carolinewuyan <309866211@qq.com> Date: Wed, 30 Jul 2014 16:13:53 +0800 Subject: [PATCH 278/291] =?UTF-8?q?=E5=B7=B2=E5=8F=91=E5=B8=83@hunanchenxi?= =?UTF-8?q?ngyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0724 How to Merge Directory Trees in Linux using cp Command.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {translated/tech => published}/20140724 How to Merge Directory Trees in Linux using cp Command.md (100%) diff --git a/translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md b/published/20140724 How to Merge Directory Trees in Linux using cp Command.md similarity index 100% rename from translated/tech/20140724 How to Merge Directory Trees in Linux using cp Command.md rename to published/20140724 How to Merge Directory Trees in Linux using cp Command.md From d0a0f04c2cbef3db890641682eb449b6b0b6a260 Mon Sep 17 00:00:00 2001 From: Jack Nie Date: Wed, 30 Jul 2014 16:29:00 +0800 Subject: [PATCH 279/291] Finish Translate 20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today --- ...pgrade--Ubuntu 13.10 Support Ends Today.md | 38 ------------------- ...pgrade--Ubuntu 13.10 Support Ends Today.md | 31 +++++++++++++++ 2 files changed, 31 insertions(+), 38 deletions(-) delete mode 100644 sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md create mode 100644 translated/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md diff --git a/sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md b/sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md deleted file mode 100644 index 68dbc2d138..0000000000 --- a/sources/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md +++ /dev/null @@ -1,38 +0,0 @@ -nd0104 is translate -Time to Upgrade: Ubuntu 13.10 Support Ends Today -================================================================================ -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/04/upgrade-available.jpg) - -**It’s had a fair old run, but after 9 months basking in the sun today marks the end of official support for Ubuntu 13.10 ‘Saucy Salamander’.** - -> Despite the name ‘Saucy’, the changes on offer were rather bland - -Those still running it should look at upgrading to the most recent stable release, Ubuntu 14.04 LTS. Launched back in April, it will be supported with updates on the desktop all the way until mid-April 2019. - -Support for the server version of Ubuntu 13.10 also formally ends today. - -### Saucy Loses Flavour ### - -Ubuntu 13.10 came out last October with Canonical pledging to provide a full 9 months of ongoing security and bug fixes on the desktop. As of July 17 these updates will cease and no further updates or backported packages will be provided. - -Canonical’s [recommended upgrade path][1] is to 14.04, a transition that can be handled directly on the desktop itself through the Software Updater application or via the command line through the ‘`do-release-upgrade`‘ command. - -Saucy in name, but bland in nature, 13.10 is far from being one of Ubuntu’s more remarkable releases — [as evidenced by many of the online reviews at the time][2]. - -It was, however, notable for inflicting(注:这个单词原文有删除线) introducing Smart Scopes to the Unity Dash, adding a keyboard indicator for faster language layout switching, and being the first release to integrate `Ubuntu One Single Sign-on` into the installation experience. - -For a natty visual rundown of all that debuted with it you can watch the compilation video below. - -Youtobe 视频地址:[http://www.youtube.com/embed/1EiRQ-znEcI?feature=oembed][3] - --------------------------------------------------------------------------------- - -via: http://www.omgubuntu.co.uk/2014/07/ubuntu-13-10-support-ends-today - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:https://help.ubuntu.com/community/TrustyUpgrades -[2]:http://www.omgubuntu.co.uk/2013/10/ubuntu-13-10-press-reaction -[3]:http://www.youtube.com/embed/1EiRQ-znEcI?feature=oembed \ No newline at end of file diff --git a/translated/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md b/translated/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md new file mode 100644 index 0000000000..547be969d5 --- /dev/null +++ b/translated/news/20140718 Time to Upgrade--Ubuntu 13.10 Support Ends Today.md @@ -0,0 +1,31 @@ +小伙伴们,该更新系统啦:Ubuntu 13.10的支持到今天结束 +================================================================================ +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/04/upgrade-available.jpg) + + +**尽管目前运行良好,在经历了9个月的折腾,今天官方对Ubuntu 13.10(俏皮蝾螈)的支持正式寿终正寝。** + +> 尽管它的名字叫'俏皮蝾螈',但它所以提供的新功能却无比的乏味。 +那些仍然在使用的用户应该好好看看最新的发行的稳定版,Ubuntu 14.04 LTS,在四月推出的,提供良好的图形化支持,支持期限是到2019年的4月中旬。 +对于Ubuntu 13.10的服务器版本到今天正式的停止支持。 +### 俏皮蝾螈已然失宠 ### + +Ubuntu 13.10在去年10月开始对桌面版本提供时常9个月的安全和Bug修复更新。截至到今年7月17日,所有更新将停止,未来也不再提供。 +[推荐的做法][1]是升级到14.04版本,目前可以直接通过图形化工具去升级,包括使用升级程序,或者在命令行运行‘`do-release-upgrade`‘命令。 +俏皮蝾螈,它的名字非常的好听,但其表现并不如人意,13.10在Ubuntu所有的发行版中也不是一个取得卓越成功的版本,[这一点已经被很多网络评论预言到了][2]。 +It was, however, notable for inflicting(注:这个单词原文有删除线) introducing Smart Scopes to the Unity Dash, +然而,依然让人眼前一亮的是,它添加了键盘指示符来快速的选择安装语言,这可以让用户简便的在该智能域操作,这也是第一个在安装程序中整合了`Ubuntu One Single Sign-on`的发行版。 +查看13.10版本的所有新功能,请查看完整视频: +Youtobe 视频地址:[http://www.youtube.com/embed/1EiRQ-znEcI?feature=oembed][3] + +-------------------------------------------------------------------------------- + +via: http://www.omgubuntu.co.uk/2014/07/ubuntu-13-10-support-ends-today + +译者:[nd0104](https://github.com/nd0104) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:https://help.ubuntu.com/community/TrustyUpgrades +[2]:http://www.omgubuntu.co.uk/2013/10/ubuntu-13-10-press-reaction +[3]:http://www.youtube.com/embed/1EiRQ-znEcI?feature=oembed \ No newline at end of file From a38edc770ad910897ee48792445b9b8a2551a72b Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Wed, 30 Jul 2014 16:50:11 +0800 Subject: [PATCH 280/291] Translated --- sources/talk/20140724 Best Linux Browsers.md | 82 -------------------- 1 file changed, 82 deletions(-) delete mode 100644 sources/talk/20140724 Best Linux Browsers.md diff --git a/sources/talk/20140724 Best Linux Browsers.md b/sources/talk/20140724 Best Linux Browsers.md deleted file mode 100644 index fe3960a89a..0000000000 --- a/sources/talk/20140724 Best Linux Browsers.md +++ /dev/null @@ -1,82 +0,0 @@ -Love-xuan翻译中 -Best Linux Browsers -================================================================================ -> Pros and cons of the best browsers for the Linux desktop, including Firefox, Chrome and other browsers. - -Choosing the best Linux browser for your needs requires just a bit of homework: Web browsers for the Linux desktop have evolved over the years, just as they have for other popular desktop platforms. With this evolution, both good and bad revelations have been discovered. Revelations from new functionality, to broken extensions, and so forth. In this article, I'll serve as your guide through these murky waters to help you discover the best in Linux browsers. - -### **Firefox** ### - -– [Firefox][1] has long been a friendly browser for Linux users. Accessible on both 32bit and 64bit Linux installs, Firefox also offers extensive extensions to choose from. It's a fast loading, easy to navigate Web browser that has found itself in a popular place with Linux users. - -**The good**: It's easily installed from most common Linux software repositories, if not already installed on the distro by default. Thousands of extensions to choose from to make your Firefox browser more fully featured. Nearly every website on the Web (including government and banking sites) render properly. - -Also important: Firefox respects your privacy. In addition to a straight forward privacy policy, they're not in the "same business" as Google. Therefore, most users feel more comfortable allowing Firefox to see their daily browsing activities whereas other browsers, might have more profit-driven interests. Firefox is also great for web developers, thanks to its element inspection tool, built right into the browser. - -**The bad**: Not too long ago, I was finding that Firefox's frequent updates were breaking my extensions. This meant I needed to verify that my favorite extensions were compatible with new Firefox updates BEFORE I updated my browser. - -To be blunt, this caused me to rethink which browser would be my default tool to browse the Internet. In fairness, Mozilla does post a blog post with each browser update for extension developers. In these posts, developers are told what has changed and what needs to be done to keep things working smoothly. - -### **Chrome/Chromium** ### - -– Google promotes its browser named [Chrome][2], however I tend to put [Chromium][3] into the same group as Chrome since Chromium is used as its base for development. Unlike Firefox, Chrome/Chromium was late to the game for Linux. Linux users only considered it worth trying at the time due to the fact that Chrome/Chromium was perceived by many as being the fastest browser. - -**The good**: Even today, Chrome/Chromium is considered pretty fast. Even with the recent updates made to other competing browsers, Chrome/Chromium hasn't lost its speed. Extensions for Chrome/Chromium are plentiful and even better, updates to the browser have no affect on said extensions. This means that, unlike Firefox, I haven't dealt with extension incompatibilities. Like Firefox, Chrome/Chromium also has an element inspection tool, built right into the browser. After trying syncing options with other browsers, only Chrome/Chromium has proven itself to be truly idiot-proof. Without question, Chrome/Chromium syncing is the best in the browser space, from my perspective. - -**The bad**: Chrome/Chromium doesn't always render pages correctly. Be it rare, some sites like Ebay don't always render correctly. Case in point, if I create a new Ebay submission, I find there are buttons missing in some cases. I've also found that sometimes Chrome/Chromium can lockup completely if an open tab is rendering heavy script. Sites like Google Plus and Facebook are the most common offenders. - -### **Qupzilla** ### - -– When it comes to lightweight browsers, I've found [Qupzilla][4] to be among the most awesome. Based on Webkit, it provides decent rendering support while maintaining a very small resource footprint. - -**The good**: Qupzilla is ideal for lightweight desktop environments where you need a modern browser capable of rendering pages correctly and generally providing a solid web browser experience. It's extremely lightweight and will run on older PCs without missing a beat. Access Keys and [GreaseMonkey][5] extensions are installed (but disabled) by default. - -Like Firefox and Chrome/Chromium, Qupzilla provides access to an element inspection tool as well. And finally, having [Adblock][6] installed by default makes this a clear lightweight winner for me. - -**The bad**: HTML5 video doesn't seem to work reliably. Also, in order to watch Flash videos, you must visit the preferences and uncheck Click to Flash in the Extensions, Webkit plugins area. This is a poorly thought out decision to essentially disable Flash out of the box, while HTML5 video remains completely broken. - -### **Midori** ### - -– I like to call [Midori][7] the lightweight Chrome alternative. Like Google's browser(s), Midori offers a minimalist experience with its "hamburger menu," which is nice as it takes up less browser space. Not only do you get a solid browsing experience without the usual browser politics found elsewhere, Midori is also quite fast. - -**The good**: Midori is fast, lightweight and feels familiar out of the box. I'm also happy to report that it renders pages correctly and works great with sites like YouTube. The best part, in my opinion, is the built-in functionality for creating browser profiles and actual launchable links for Web apps. For example, you can easily create a web app on your desktop for Gmail or Facebook. You can also setup user specific browser profiles as well, without creating new Linux user accounts. - -**The bad**: Despite mentioning user extensions for this browser, the selection available is less than impressive. Also, the browser layout takes a bit of getting used to. A trash can for previously visited websites – seriously? - -### **Opera** ### - -– [Opera][8] has long been one of the misunderstood browsers out there. Very early on, Opera provided Linux support despite being dismissed by the overall Linux community. In addition to being a compatible, fast web browser that has been nothing but good to Linux users, it's also a full of configurable options. - -**The good**: It's fast and it's full of user controllable settings. You can import and export everything from RSS feeds to email, and skin Opera with easy access to breathtaking themes. Plus, Opera offers an extensive library of extensions to choose from. Not to mention the ability to read RSS feeds and email, from your browser! Relive the days of the Mozilla Suite by using Opera's extended suite functionality. And perhaps best of all, Opera Turbo – super-charge your browser speed with selective compression to provide a faster experience. - -**The bad**: A nag for the Terms of Service on its first run. Also, Opera Turbo can slightly alter your browsing experience – YouTube for example, may not show a video's thumbnail. Opera also provides so many options that it can feel a bit overwhelming to the casual user. And lastly, it's a closed source browser that hasn't been well recognized for desktop use. Most folks think of Opera as a mobile browser only these days. - -### Which browser is right for you? ### - -With so many great choices, it can be a tough call to say which browser is right for you. Speaking for myself, I've found that I rely heavily on Firefox and Chromium due to specific extensions I put to work each day. For someone with a lower end system or netbook, my suggestion is to try Midori first and if that's not a fit, fallback to Qupzilla. - -So what about other web browsers for Linux? Such as the [Epiphany][9] browser or [Konqueror][10]? Browsers like these are great, but I feel strongly about the browsers I've shared above specifically. Each of the options listed above are browsers I use often and have found to be something I feel good about recommending to friends and family. - -That said, by all means, share any browsers you're passionate about in the Comments below so others can benefit from your preferred method of browsing the Web. - --------------------------------------------------------------------------------- - -via: http://www.datamation.com/open-source/best-linux-browsers-1.html - -原文作者:[Matt Hartley][a] - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://www.datamation.com/author/Matt-Hartley-3080.html -[1]:https://www.mozilla.org/en-US/firefox/new/ -[2]:https://www.google.com/intl/en_us/chrome/browser/ -[3]:http://www.chromium.org/ -[4]:http://www.qupzilla.com/ -[5]:https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/ -[6]:https://adblockplus.org/ -[7]:http://midori-browser.org/ -[8]:http://www.opera.com/ -[9]:https://wiki.gnome.org/Apps/Web -[10]:http://www.konqueror.org/ \ No newline at end of file From 889cee3ed4441902dc675435401267e91c10311c Mon Sep 17 00:00:00 2001 From: DeadFire Date: Wed, 30 Jul 2014 16:52:30 +0800 Subject: [PATCH 281/291] =?UTF-8?q?20140730-1=20=E9=80=89=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...How to use variables in shell Scripting.md | 199 ++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 sources/tech/20140730 How to use variables in shell Scripting.md diff --git a/sources/tech/20140730 How to use variables in shell Scripting.md b/sources/tech/20140730 How to use variables in shell Scripting.md new file mode 100644 index 0000000000..130c86c8b3 --- /dev/null +++ b/sources/tech/20140730 How to use variables in shell Scripting.md @@ -0,0 +1,199 @@ +How to use variables in shell Scripting +================================================================================ +In every **programming** language **variables** plays an important role , in Linux shell scripting we are using two types of variables : **System Defined Variables** & **User Defined Variables**. + +A variable in a shell script is a means of **referencing** a **numeric** or **character value**. And unlike formal programming languages, a shell script doesn't require you to **declare a type** for your variables + +In this article we will discuss variables, its types and how to set & use variables in shell scripting. + +### System Defined Variables : ### + +These are the variables which are created and maintained by **Operating System(Linux) itself**. Generally these variables are defined in **CAPITAL LETTERS**. We can see these variables by using the command "**$ set**". Some of the system defined variables are given below : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
System Defined Variables Meaning
BASH=/bin/bash Shell Name
BASH_VERSION=4.1.2(1) Bash Version
COLUMNS=80 No. of columns for our screen
HOME=/home/linuxtechi Home Directory of the User
LINES=25 No. of columns for our screen
LOGNAME=LinuxTechi LinuxTechi Our logging name
OSTYPE=Linux OS type
PATH=/usr/bin:/sbin:/bin:/usr/sbin Path Settings
PS1=[\u@\h \W]\$ Prompt Settings
PWD=/home/linuxtechi Current Working Directory
SHELL=/bin/bash Shell Name
USERNAME=linuxtechi User name who is currently login to system
+ +To Print the value of above variables, use **echo command** as shown below : + + # echo $HOME + # echo $USERNAME + +We can tap into these environment variables from within your scripts by using the environment variable's name preceded by a dollar sign. This is demonstrated in the following script: + + $ cat myscript + + #!/bin/bash + # display user information from the system. + echo “User info for userid: $USER” + echo UID: $UID + echo HOME: $HOME + +Notice that the **environment variables** in the echo commands are replaced by their current values when the script is run. Also notice that we were able to place the **$USER** system variable within the double quotation marks in the first string, and the shell script was still able to figure out what we meant. There is a **drawback** to using this method, however. Look at what happens in this example: + + $ echo “The cost of the item is $15” + The cost of the item is 5 + +That is obviously not what was intended. Whenever the script sees a dollar sign within quotes, it assumes you're referencing a variable. In this example the script attempted to display the **variable $1** (which was not defined), and then the number 5. To display an actual dollar sign, you **must precede** it with a **backslash character**: + + $ echo “The cost of the item is \$15” + The cost of the item is $15 + +That's better. The backslash allowed the shell script to interpret the **dollar sign** as an actual dollar sign, and not a variable. + +### User Defined Variables: ### + +These variables are defined by **users**. A shell script allows us to set and use our **own variables** within the script. Setting variables allows you to **temporarily store data** and use it throughout the script, making the shell script more like a real computer program. + +**User variables** can be any text string of up to **20 letters, digits**, or **an underscore character**. User variables are case sensitive, so the variable Var1 is different from the variable var1. This little rule often gets novice script programmers in trouble. + +Values are assigned to user variables using an **equal sign**. No spaces can appear between the variable, the equal sign, and the value (another trouble spot for novices). Here are a few examples of assigning values to user variables: + + var1=10 + var2=-57 + var3=testing + var4=“still more testing” + +The shell script **automatically determines the data type** used for the variable value. Variables defined within the shell script maintain their values throughout the life of the shell script but are deleted when the shell script completes. + +Just like system variables, user variables can be referenced using the dollar sign: + + $ cat test3 + #!/bin/bash + # testing variables + days=10 + guest="Katie" + echo "$guest checked in $days days ago" + days=5 + guest="Jessica" + echo "$guest checked in $days days ago" + $ + +Running the script produces the following output: + + $ chmod u+x test3 + $ ./test3 + Katie checked in 10 days ago + Jessica checked in 5 days ago + $ + +Each time the variable is **referenced**, it produces the value currently assigned to it. It's important to remember that when referencing a variable value you use the **dollar sign**, but when referencing the variable to assign a value to it, you do not use the dollar sign. Here's an example of what I mean: + + $ cat test4 + #!/bin/bash + # assigning a variable value to another variable + value1=10 + value2=$value1 + echo The resulting value is $value2 + $ + +When you use the **value** of the **value1** variable in the assignment statement, you must still use the dollar sign. This code produces the following output: + + $ chmod u+x test4 + $ ./test4 + The resulting value is 10 + $ + +If you forget the dollar sign, and make the value2 assignment line look like: + +value2=value1 +you get the following output: + + $ ./test4 + The resulting value is value1 + $ + +Without the dollar sign the **shell interprets** the variable name as a **normal text string**, which is most likely not what you wanted. + +### Use of Backtick symbol (`) in shell variables : ### + +The **backtick allows** you to assign the output of a shell command to a variable. While this doesn't seem like much, it is a major building block in **script programming**.You must surround the entire command line command with backtick characters: + + **testing=`date`** + +The shell runs the command within the **backticks** and assigns the output to the variable testing. Here's an example of creating a variable using the output from a normal shell command: + + $ cat test5 + #!/bin/bash + # using the backtick character + testing=`date` + echo "The date and time are: " $testing + $ + +The variable testing receives the output from the date command, and it is used in the echo statement to display it. Running the shell script produces the following output: + + $ chmod u+x test5 + $ ./test5 + The date and time are: Mon Jan 31 20:23:25 EDT 2011 + +**Note** : In bash you can also use the alternative $(…) syntax in place of backtick (`),which has the advantage of being re-entrant. + +Example : + + $ echo " Today’s date & time is :" $(date) + Today’s date & time is : Sun Jul 27 16:26:56 IST 2014 + +-------------------------------------------------------------------------------- + +via: http://www.linuxtechi.com/variables-in-shell-scripting/ + +作者:[Pradeep 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.linuxtechi.com/author/pradeep/ \ No newline at end of file From f85ce2ee3d96f77d474f3c9ce19131a33cfafa24 Mon Sep 17 00:00:00 2001 From: Rei Date: Wed, 30 Jul 2014 17:08:10 +0800 Subject: [PATCH 282/291] =?UTF-8?q?=E6=A0=A1=E5=AF=B9=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md b/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md index e6abc80fe0..1b9c3c6865 100644 --- a/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md +++ b/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md @@ -79,7 +79,7 @@ Xen 的性能相对宿主机而言差异就比较大了。有3个测试性能下 via: http://major.io/2014/06/22/performance-benchmarks-kvm-vs-xen/ -译者:[bazz2](https://github.com/bazz2) 校对:[校对者ID](https://github.com/校对者ID) +译者:[bazz2](https://github.com/bazz2) 校对:[ReiNoir](https://github.com/reinoir) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From 8895dbaaa9b188ea5b746e8c39685f6a2116d660 Mon Sep 17 00:00:00 2001 From: Rei Date: Wed, 30 Jul 2014 18:03:11 +0800 Subject: [PATCH 283/291] =?UTF-8?q?=E5=B7=B2=E6=A0=A1=E5=AF=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...624 Performance benchmarks--KVM vs. Xen.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md b/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md index 1b9c3c6865..9e24af52f4 100644 --- a/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md +++ b/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md @@ -1,26 +1,26 @@ -KVM和Xen的性能基准测试 +性能基准测试:KVM大战Xen ================================================================================ -在上周,我们讨论了 KVM 和 Xen 的性能上一些令人感兴趣的话题后,我打算自己做一些这方面的研究。我能找到的最新的资料,是来自[2013年 Phoronix Haswell 性能评测][1]上的基准测试。当然,还有[2011年的评测][2],由于 Xen 已经被收录进 Kernel 3.0,这些曾经都是热门话题。 +在上周,我们对 KVM 和 Xen 近几年里在性能上的改进进行了一些有趣的探讨后,我打算自己做一些这方面的小研究。我能找到的最新的资料,是来自[2013年 Phoronix Haswell 性能评测][1]上的基准测试。当然,还有[其它一些2011年的评测][2],不过由于 Xen 被收录进 Kernel 3.0,它们都已被热烈地讨论过。 -2011年的测试提供了[许多很好的基准报表][3],我尽最大努力把它们列出的属性重新测试一遍,但少测了两三个基准测试,原因是它们在未经特定优化的配置后跑出来的数据不是很好,或者它们需要跑很长时间才能得到结果。 +2011年的测试提供了[许多很好的基准报表][3],在三年后的现在,我尽最大努力把它们列出的属性重新测试一遍。但我删减了其中两三个基准测试,原因是它们在未经特定优化的配置后跑出来的数据不是很好,或者它们需要跑很长时间才能得到结果。 ### 测试环境 ### -测试环境由两台一模一样的超微服务器组成,都配备一颗[Intel 至强 E3-1220][4](4核,3.10GHz),24G 金士顿 DDR3 内存,4块西数 RE-3 160G 磁盘(组成 RAID10 阵列)。另外 BIOS 也是一模一样。 +测试环境由两台一模一样的超微服务器组成,分别都配备一颗[Intel 至强 E3-1220][4](4核,3.10GHz),24G 金士顿 DDR3 内存,4块西数 RE-3 160G 磁盘(组成 RAID10 阵列)。另外 BIOS 也是一模一样。 -所有测试项目(即实体机和虚拟机)都在 Fedora 20 (开 SELinux)上进行,并且测试过程中没有跑很多的不相关的服务。这里列一下相关服务的版本: +所有测试项目(即实体机和虚拟机)都在 Fedora 20 (开 SELinux)上进行,并且测试过程中几乎没有运行的不相关的服务。这里列一下相关服务的版本: - Kernel: 3.14.8 - For KVM: qemu-kvm 1.6.2 - For Xen: xen 4.3.2 -根文件系统是 XFS,使用默认配置。虚拟机使用 virt-manager 来创建(virt-mamager 也使用默认配置)。虚拟磁盘使用 raw 镜像,容量为 8GB,虚拟4颗 CPU。Xen 虚拟机使用 [PVHVM][5] 建立虚拟磁盘。 +根文件系统都是使用默认配置的 XFS。虚拟机使用 virt-manager 来创建(virt-mamager 也使用默认配置)。虚拟磁盘使用 raw 镜像,容量为 8GB,虚拟4颗 CPU。Xen 虚拟机使用 [PVHVM][5] 建立虚拟磁盘。 -### 警告 ### +### 附加说明 ### -也许有人会考虑到 Fedora 是红帽公司所有,红帽一直在维护 KVM,而 Xen 则自从[在2009年红帽重新选择 KVM 作为虚拟化产品][6]后,再没得到这个公司的维护。在本测试中这个因素不会对结果产生任何影响,不过可以在心里稍微注意一下。 +也许有人会考虑到 Fedora 是红帽公司所有,红帽一直在维护 KVM,而 Xen 则自从[在2009年红帽重新选择 KVM 作为虚拟化产品][6]后,再没得到这个公司的重要改进。我将这个因素排除在了测试所考虑的范围之外,不过仍然可以在心里稍微注意一下。 -不考虑资源竞争产生的影响。在大多数虚拟服务器上,你可以跑多个虚拟机,而这些虚拟机会争用 CPU 时间片、磁盘 IO、网络带宽等等资源。在本测试中也不考虑这些因素。一台虚拟机抢到资源少,性能就差,而另一台抢得多,性能就好(LCTT:它们的性能总和,就可以大致当作是 KVM 或 Xen 的性能了)。 +并且,资源竞争产生的影响也有被严格控制并最小化。在大多数虚拟服务器上,你可以跑多个虚拟机,而这些虚拟机会争用 CPU 时间片、磁盘 IO、网络带宽等等资源。在本测试中也不考虑这些因素。一台虚拟机抢到资源少,性能就差,而另一台抢得多,性能就好(LCTT译注:它们的性能总和,就可以大致当作是 KVM 或 Xen 的性能了)。 本测试运行在 Intel 的 CPU 上。如果使用的是 AMD 或 ARM,可能有些数据会不一样。 @@ -28,11 +28,11 @@ KVM和Xen的性能基准测试 本测试使用裸机作为虚拟服务测试的基准设备。在不跑虚拟机的情况下,两台裸机的性能偏差不会大于0.51% -在所有测试中,KVM 的性能相比宿主机而言下降了1.5%以内,除了两个测试。第一个是 7-zip 压缩,比宿主机慢了 2.79%。第二个就奇怪了,我们搭了一个邮件服务器,用 PostMark 测试其性能,结果表明 KVM 竟比宿主机快了4.11%。然后我在两台服务器中重新跑了几遍 PostMark 测试,结果性能差异基本不变,浮动在1%以内。由于我对 virtio 的内部机制没有很深的理解,我只能在以后再对这个怪现象进行进一步了解。 +在几乎所有测试中,KVM 的性能相比宿主机而言下降了1.5%以内,只有两项测试例外。第一个是 7-zip 压缩,比宿主机慢了 2.79%。第二个就奇怪了,我们搭了一个邮件服务器,用 PostMark 测试其性能,结果表明 KVM 竟比宿主机快了4.11%。然后我在两台服务器中重新跑了几遍 PostMark 测试,结果性能差异基本不变,浮动都在最初测试结果的1%以内。由于我对 virtio 的内部机制没有很深的理解,我只能在以后再对这个怪现象进行进一步了解。 -Xen 的性能相对宿主机而言差异就比较大了。有3个测试性能下降在2.5%以内,剩下的性能下降率都是 KVM 的2~4倍。PostMark 测试的性能比 KVM 慢了14.41%,这结果令我大吃一惊。重新跑了下测试,性能差还是在14%左右。KVM 表现最好的两个测试:CPU 测试和 MAFFT 对齐测试,是 Xen 表现最差的。 +Xen 的性能相对宿主机而言差异就比较大了。有3项测试性能下降在2.5%以内,剩下的性能下降率都是 KVM 的2~4倍。PostMark 测试的性能比 KVM 慢了14.41%,这结果令我大吃一惊。重新跑了下测试,性能差还是几乎不变,浮动都在最初结果的2%以内。KVM 表现最好的 CPU 测试:MAFFT 对齐测试,是 Xen 表现倒数第二差的。 -现在奉上一个总结表: +现在奉上一个简短得总结表: @@ -67,13 +67,13 @@ Xen 的性能相对宿主机而言差异就比较大了。有3个测试性能下 ### 结论 ### -基于上面的测试环境,KVM 的性能损耗在2%以内,Xen 则只有3项损耗在2.5%以内,其他几项损耗都在5~7%之间。虽然 KVM 在 PostMark 测试中性能表现优异,但这个测试只是众多测试中的一项,如果想证明 KVM 确实在 I/O 处理方面很强悍,就需要更多测试。 +基于上面的测试环境,KVM 的性能损耗几乎都在2%以内,Xen 则在十多项测试中有3项损耗在2.5%以内,而其他几项损耗都在5~7%之间。虽然 KVM 在 PostMark 测试中性能表现优异,但这是众多测试中仅有的一项 I/O 测试,如果想证明 KVM 确实在 I/O 处理方面很强悍,就需要更多测试。 -对我来说,我需要深入理解 KVM 和 Xen 在 I/O 处理上为什么会有这么大的差别。并且还需要跑一些压力测试,来证明虚拟机是否真的比宿主机表现得更出色。 +对我来说,我想要深入了解一下 KVM 和 Xen 在 I/O 方面的处理,以及它们之间为什么会有这么大的差别。我也许还会跑一些有竞争的测试,来看看虚拟机在有压力的条件下是否真的能比宿主机表现得更出色。 我鼓励读者通过使用[Phoronix 测试套件][8]来进行一些基准测试,你们可以找到一些能模仿你们工作环境的用例。如果你的工作环境是低 CPU 高 I/O,你可以找找套件里面的 I/O 压力测试。另一方面,如果你的工作是音频、视频转码,你可以试试套件里面的 x264 或 mp3 测试。 -更新:[Chris Behrens 指出][9],我忘了提到 Xen 虚拟机类型了。这里补充下,我使用的是 PVHVM 模型(LCTT:目前支持的模型包括 PV、HVM 和 PVHVM),因为在 Xen 4.3 中这个选拥有最好的性能。另外需要注意的是在 Xen 4.4 中可以使用 PVH,但是在 Fedora 20 中还没有使用 Xen 4.4。 +更新:[Chris Behrens 指出][9],我忘了提到 Xen 虚拟机类型了。这里补充下,我使用的是 PVHVM 模型(LCTT译注:目前支持的模型包括 PV、HVM 和 PVHVM),因为在 Xen 4.3 中这个选拥有最好的性能。另外需要注意的是在 Xen 4.4 中可以使用 PVH,但是在 Fedora 20 中还没有使用 Xen 4.4。 -------------------------------------------------------------------------------- From 54fbab997564df2d4d555108be297e9d5e6b0b90 Mon Sep 17 00:00:00 2001 From: Rei Date: Wed, 30 Jul 2014 18:22:52 +0800 Subject: [PATCH 284/291] =?UTF-8?q?20140624=20Performance=20benchmarks--KV?= =?UTF-8?q?M=20vs.=20Xen=20=E5=B7=B2=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit http://linux.cn/article-3496-1.html @bazz2 --- .../20140624 Performance benchmarks--KVM vs. Xen.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {translated/talk => published}/20140624 Performance benchmarks--KVM vs. Xen.md (100%) diff --git a/translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md b/published/20140624 Performance benchmarks--KVM vs. Xen.md similarity index 100% rename from translated/talk/20140624 Performance benchmarks--KVM vs. Xen.md rename to published/20140624 Performance benchmarks--KVM vs. Xen.md From 6f55f4423b565d721985f3c527c3ac50ed9a05b9 Mon Sep 17 00:00:00 2001 From: joeren Date: Wed, 30 Jul 2014 19:05:01 +0800 Subject: [PATCH 285/291] Update 20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md --- ...ly Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md b/sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md index 9abc163f30..79f5aff646 100644 --- a/sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md +++ b/sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md @@ -1,3 +1,4 @@ +Translating by GOLinux ... How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17 ================================================================================ ![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Tor_Browser_Ubuntu.jpeg) @@ -41,4 +42,4 @@ via: http://itsfoss.com/install-tar-browser-ubuntu-linux-mint-17/ [3]:https://www.torproject.org/projects/torbrowser.html.en [4]:https://www.torproject.org/projects/vidalia.html.en [5]:https://www.torproject.org/projects/torbrowser.html.en#linux -[6]:http://www.webupd8.org/ \ No newline at end of file +[6]:http://www.webupd8.org/ From e5a92be2b96190929bf58b0fe4b86514fcd0be3f Mon Sep 17 00:00:00 2001 From: GOLinux Date: Wed, 30 Jul 2014 19:30:14 +0800 Subject: [PATCH 286/291] Translated:20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17 --- ...owser In Ubuntu 14.04 And Linux Mint 17.md | 45 -------------- ...e on Ubuntu--Install the Official Web Apps | 58 ------------------- ...owser In Ubuntu 14.04 And Linux Mint 17.md | 44 ++++++++++++++ 3 files changed, 44 insertions(+), 103 deletions(-) delete mode 100644 sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md delete mode 100644 translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps create mode 100644 translated/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md diff --git a/sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md b/sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md deleted file mode 100644 index 79f5aff646..0000000000 --- a/sources/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md +++ /dev/null @@ -1,45 +0,0 @@ -Translating by GOLinux ... -How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17 -================================================================================ -![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Tor_Browser_Ubuntu.jpeg) - -Keeping all the fiasco of [NSA snooping on citizens and governments worldwide][1] in mind, privacy is a growing concern for many. If you too are concerned about your online safety and want to protect yourself from network surveillance, [Tor project][2] is the best option available. - -Tor Project has its own [Tor browser][3] which is based on Firefox and configured to protect users’ privacy and anonymity by using Tor and [Vidalia][4] tools that come bundled with it. Though you can [download Tor browser and install it from the source code][5], we shall see an easier way to install Tor browser in Ubuntu 14.04 and Linux Mint 17. - -### How to install Tor browser in Ubuntu 14.04 and Linux Mint 17 ### - -Thanks to [Webupd8][6], we have a PPA that we can use to install Tor browser in Ubuntu and other Ubuntu based Linux OSes easily (if you are not comfortable installing from source code). Open a terminal (Ctrl+Alt+T) and use the following commands: - - sudo add-apt-repository ppa:webupd8team/tor-browser - sudo apt-get update - sudo apt-get install tor-browser - -The above PPA should also be valid for Ubuntu 12.04 and other Linux distributions based on it. - -#### Uninstall Tor browser #### - -If you want to uninstall Tor browser, use the following command: - - sudo apt-get remove tor-browser - rm -r ~/.tor-browser-en - -I hope this quick test helped you to **easily install Tor browser in Ubuntu 14.04 and Linux Mint 17**. Any questions or suggestions are always welcomed. - --------------------------------------------------------------------------------- - -via: http://itsfoss.com/install-tar-browser-ubuntu-linux-mint-17/ - -作者:[Abhishek][a] -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[a]:http://itsfoss.com/author/Abhishek/ -[1]:http://projects.propublica.org/nsa-grid/ -[2]:https://www.torproject.org/ -[3]:https://www.torproject.org/projects/torbrowser.html.en -[4]:https://www.torproject.org/projects/vidalia.html.en -[5]:https://www.torproject.org/projects/torbrowser.html.en#linux -[6]:http://www.webupd8.org/ diff --git a/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps b/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps deleted file mode 100644 index 32991be99b..0000000000 --- a/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Web Apps +++ /dev/null @@ -1,58 +0,0 @@ -需要在Ubuntu上安装微软办公软件?去安装官方的网络应用程序 -================================================== ============================== -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) - -**这是微软办公软件及其一贯繁琐的文件指令,而不是每个人的一杯咖啡。同时这是许多工作和教育环境的主要依靠——无论是好还是坏** - -通过使用[LibreOffice的应用程序套件][1],阅读、编辑和保存这些专有指令出现在Ubuntu上是有着某种程度的可能。在作家中,Calc和Impress都不同程度的夸耀微软办公软件文件的协作性,但在我自己的实际操作经验中(谢天谢地,它很简洁!)它并不完美。 - -时不时的,你会不得不使用微软办公软件,(虽然我们大多数人都心里向着开放标准,但是我们不应该无视实际问题)但你已经没有意愿去购买一个完整的微软办公软件许可证来运行这个窗口模拟器,那么微软的在线网络应用程序是完美的解决方法。 - -###安装微软在线办公软件上的应用程序在Ubuntu### - -为了使从Ubuntu的桌面访问这些在线版本更容易,“Linux的网络应用程序项目”创造了一个小的、非官方的安装程序。它可以添加网络应用程序的快捷方式(“荣耀书签”)到您的应用程序启动器。 - -![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/microsoft-office-web-apps.jpg) - -通过快捷方式,相应的Microsoft Web应用程序在你默认的系统浏览器中打开,不可能有比这更精美的了。听起来漂亮吗?下面是你的应用程序的快捷方式: - -- 文档 -- 表格 -- 幻灯片 -- Outlook -- OneDrive -- 日历 -- OneNote -- 通讯录 - -该软件包还创建了一个新的应用程序类别来容纳这些链接,不但可以让您把这些快捷方式从其他应用程序单独分开来,而且是直接位于常见的“办公软件”应用程序下。 - -这些都是必不可少的吗?不见得。他们有用吗?这取决于你的工作流程。但它是不错的选择吗?一定是的。 - -你可以从下面的链接保存含有.deb文件安装程序,其中有安装链接。适用于Ubuntu14.04 LTS和更高版本。 - -- [下载微软的在线办公应用(.deb)][2] - -###其他可选项### - -![](http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/04/Screen-Shot-2014-04-15-at-15.29.35-350x200.png) - -类似的替代方案是[安装Chrome官方网上应用商店的在线办公应用程序][3],然后添加应用程序启动器到Linux。这次短跑中仍然会为它们创建可启动的快捷方式,但那些可以被设置为打开自己的窗框,而且不需要安装任何第三方软件包。 - -同时,谷歌最近在整合完整的Office功能(由于其购买了QuickOffice)[到自己的文档,幻灯片和床单应用][4]。Android应用程序Quickoffice退出了舞台,同时Chrome也实现了扩展。 - -如果你是一个深度的谷歌网络硬盘/文档的用户,那么这个解决方案可能对你是更加好了。 - --------------------------------------------------- ------------------------------ - -via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-desktop - -译者:[cereuz](https://github.com/cereuz) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://www.libreoffice.org/ -[2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing -[3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ -[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ diff --git a/translated/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md b/translated/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md new file mode 100644 index 0000000000..ee8985483e --- /dev/null +++ b/translated/tech/20140729 How To Easily Install Tor Browser In Ubuntu 14.04 And Linux Mint 17.md @@ -0,0 +1,44 @@ +简捷安装Tor浏览器到Ubuntu 14.04和Linux Mint 17中 +================================================================================ +![](http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2014/07/Tor_Browser_Ubuntu.jpeg) + +牢记[美国国家安全局对全世界政府和国民的窥视][1]的尴尬结局吧,隐私日益成为许多人关心的焦点。如果你也关注在线安全性并想要保护自己不受网络监视,[Tor项目][2]是当前可用的最佳选择。 + +Tor项目有它自己的[Tor浏览器][3],该浏览器基于Firefox并开启了用户隐私保护配置,并通过捆绑Tor和[Vidalia][4]工具进行匿名访问。虽然你可以[下载Tor浏览器并使用源码安装][5],但是我们将介绍一种更为便捷的方式,来将它安装到Ubuntu 14.04和Linux Mint 17中。 + +### 如何在Ubuntu 14.04和Linux Mint 17中安装Tor浏览器 ### + +多亏了[Webupd8][6],我们可以方便地通过PPA将Tor浏览器到Ubuntu和其它基于Ubuntu的OS中(如果你对源代码安装很感冒)。打开终端(Ctrl+Alt+T)并使用以下命令进行安装: + + sudo add-apt-repository ppa:webupd8team/tor-browser + sudo apt-get update + sudo apt-get install tor-browser + +以上PPA在Ubuntu 12.04和其它基于该版本的Linux发行版中可合法使用。 + +#### 卸载Tor浏览器 #### + +如果你想要卸载Tor浏览器,使用下面的命令即可: + + sudo apt-get remove tor-browser + rm -r ~/.tor-browser-en + +我希望这个快速测试对你**在Ubuntu 14.04和Linux Mint 17中便捷安装Tor浏览器**有所帮助。欢迎您在提问或者提供建议。 + +-------------------------------------------------------------------------------- + +via: http://itsfoss.com/install-tar-browser-ubuntu-linux-mint-17/ + +作者:[Abhishek][a] +译者:[GOLinux](https://github.com/GOLinux) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://itsfoss.com/author/Abhishek/ +[1]:http://projects.propublica.org/nsa-grid/ +[2]:https://www.torproject.org/ +[3]:https://www.torproject.org/projects/torbrowser.html.en +[4]:https://www.torproject.org/projects/vidalia.html.en +[5]:https://www.torproject.org/projects/torbrowser.html.en#linux +[6]:http://www.webupd8.org/ From 3d4d1c073166d09534159d14798cc83301a4b746 Mon Sep 17 00:00:00 2001 From: joeren Date: Wed, 30 Jul 2014 19:56:26 +0800 Subject: [PATCH 287/291] Update 20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md --- ...ers--How to check which fonts are used in a PDF document.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md b/sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md index e8f1c9dab6..2fe7acf0f6 100644 --- a/sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md +++ b/sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md @@ -1,3 +1,4 @@ +Translating by GoLinux ... Linux FAQs with Answers--How to check which fonts are used in a PDF document ================================================================================ > **Question**: I would like to know what fonts are used or embedded in a PDF file. Is there a Linux tool which can check which fonts are used in a PDF document? @@ -35,4 +36,4 @@ via: http://ask.xmodulo.com/check-which-fonts-are-used-pdf-document.html 译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 \ No newline at end of file +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From a60711e58b28ee945f7e350849ff1a2fad9d0bc8 Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Wed, 30 Jul 2014 20:02:06 +0800 Subject: [PATCH 288/291] translated --- .../talk/20140724 Best Linux Browsers.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 translated/talk/20140724 Best Linux Browsers.md diff --git a/translated/talk/20140724 Best Linux Browsers.md b/translated/talk/20140724 Best Linux Browsers.md new file mode 100644 index 0000000000..874a68d4a3 --- /dev/null +++ b/translated/talk/20140724 Best Linux Browsers.md @@ -0,0 +1,80 @@ +Linux中一些最优秀的浏览器 +================================================================================ +> 讨论Linux桌面上一些最优秀浏览器的优缺点,讨论对象包括Firefox,Chrome和其它浏览器。 + +选择满足你的需要的最棒的一款Linux浏览器仅费些许功夫:网页浏览器在Linux桌面上就和在其他流行的桌面上一样已经发展了多年,随着它们的发展,其优点和缺点都被慢慢发现。优缺点涉及从新功能到被破坏的扩展程序等各方面。本文中,我将在迷茫之中充当你的向导来帮助你发现适合你的最棒的Linux浏览器。 + +### **Firefox** ### + +– [Firefox][1]已经成为Linux用户的一款友好的浏览器很长时间。 它在32位和64位的Linux上都可用,同时Firefox提供丰富的扩展程序供选择。firefix是一款装载快速,易于使用的浏览器,在Linux用户中很流行。 + +**优点**: 如果Firefox没有被预装在某个Linux发行版的话,它也能很方便地从大多数常见Linux软件仓库中安装。上千种供选择的扩展程序可以能让你的firedox极富个性化。几乎所有的网站都能正确地被Firefox渲染(包括政府网站和银行网站)。 + +另外很重要的事:Firefox尊重你的隐私。Firefox有一项直白的隐私政策,他们同谷歌可不是一回事。因此,大多数用户能放心地让Firefox查看他们的日常浏览记录,然而,其他的某些浏览器可能会对用户的隐私有一些受利益驱使的兴趣。Firefox也非常适用于web开发者,这得感谢內嵌入Firefox的元素检查工具。 + +**缺点**: 不久之前,我发现Firefox的频繁更新会破坏我的扩展程序。这就意味着每次在我更新Firefox前我得检查我最喜欢的一些扩展程序是否与新的Firefox兼容。 + +老实说,这让我重新考虑该把谁作为我的默认上网浏览器。为了做到合理,Mozilla在每次更新Firefox时都会向扩展程序开发者发出邮件通知。在这些邮件中,开发者会被告知改动了些什么以及怎样做来使Firefox和这些扩展程序一起流畅地工作。 + +### **Chrome/Chromium** ### + +– Google提醒大家它的的浏览器叫[Chrome][2],然而自从[Chromium][3]被作为Chrome的开发基础后我就倾向于把Chromium和Chrome视为一类。不像Firefox,Chrome/Chromium进入Linux比较晚,直到Chrome被大多数人意识到是最快的浏览器后Linux使用者才觉得它值得一试。 + +**优点**: 即使是在今天,Chrome也是超快的。虽然最近很多浏览器的升级使它有了竞争对手,但在速度方面Chrome/Chrommium还从未输过。Chromr/Chromium支持的扩展程序数量丰富甚至质量更好,而且升级Chrome/Chromium对它的扩展程序并没有影响。这就意味着,不像Firefox,我不需要去处理扩展程序的不兼容性。和Firefox一样,Chrome/Chromium也有内嵌入浏览器的元素检查工具。和其它浏览器一起试验同步功能后,只有Chrome/Chromium 证明了它是安全可靠的。在我看来,Chrome/Chromium的同步功能毫无疑问是众多浏览器中最好的。 + +**缺点**: Chrome/Chromium有时候不能正确地渲染网页。有这样一些很少见的情形,一些网站比如Ebay不能被正确地渲染。举个例子,假如我在新建一个Ebay提交,有时候会缺少某些网页按钮。我还发现有时候当一个打开的标签页正在执行大型脚本时Chrome/Chromium会整个卡住。比如Goole Plus 和 Facebook这样的网站就是最常见的例子。 + +### **Qupzilla** ### + +– 当说到轻量级浏览器时,我认为[Qupzilla][4]是最棒的。基于webkit,它能在很小的资源占用下提供相当好的网页渲染支持。 + +**优点**: 如果你需要一款现代化的能正确渲染网页,并大体上能提供可靠的网络浏览体验的浏览器,那么对于轻量的桌面环境来说,Qupzilla是你的理想选择。它相当轻巧,能够在老的计算机上非常稳定地运行。Qupzilla预装了Access keys 和 [GreaseMonkey][5]插件(但没有被启用)。 + +和Firefox和Chrome/Chromium一样,Qupzilla也提供元素检查工具。最后,由于Qupzilla预装了[Adblock][6]插件,这就明确地使得它成为我心中的轻量级浏览器冠军。 + +**缺点**: HTML5 “视频”标签在Qupzilla上好像无法可靠地工作。而且,为了观看Flash视频,你得进入首选项并且在Webkit插件区域的扩展程序中钩去Click to Flash选项, 在HTML5 “视频”标签还是完全损坏的情况下,这个没有经过好好考虑的设计实质上使得Flash无法直接播放。 + +### **Midori** ### + +– 我喜欢把[Midori][7]叫做轻量级的Chrome。和Goolge的浏览器一样,Midori通过它的“汉堡式”菜单给用户提供极简风格的体验,汉堡式菜单相当棒因为它占用的浏览器空间更少。在没有其它浏览器信条的情况下你不仅能获得稳定的上网体验,而且Midori也很快速。 + +**优点**: Midori快速,轻量,接近于开箱即用。它能够正确地渲染网页而且能够很好的浏览像YOUTUBE一样的网站。我认为Midori最棒的地方就是内嵌入浏览器的浏览器设置功能和网页应用快捷方式。举个例子,你可以很简单地在你的桌面上建立一个Gmail或Facebook的快捷方式。你也可以创建另外的浏览器设置,而不用新建立一个Linux用户帐号。 + +**缺点**: 虽然也提到过Midori的用户扩展程序,但可用的扩展程序并不出色。另外,用户得费些许功夫来习惯Midora的布局。 比如它给浏览过的网站还弄个垃圾桶-有没有搞错? + +### **Opera** ### + +– [Opera][8]长时间是被误解的浏览器之一。很早以前,Opera浏览器在所有Linux社区的反对下提供了Linux平台下的支持。不过后来还好,Opera成为了服务Linux用户的一个快速,和谐的浏览器,它也有很丰富的设置选项。 + +**优点**: 快速,自定性选项丰富。你可以在浏览器中发送和接收从RSS 订阅到电子邮件等等,skin Opera 可以让你很方便得获取炫丽的浏览器主题。Opera提供一个丰富的拓展仓库来供你选择扩展程序。我们不仅能从Opera阅读RSS 订阅和电子邮件,我们还能使用Opera的扩展套件功来能重温使用Mozilla Suite的日子。但也许最重要的是,Opera Turbo -能极大提高你的上网速度,它通过对浏览内容的选择性压缩来给用户提供一个更快的上网体验。 + +**缺点**: 首次运行要麻烦地配置很多服务. Opera Turbo对你的上网体验有些许影响----比如YouTube,可能无法显示视频的缩略图。Opera提供的如此之多设置选项可能令业余使用者手足无措。最后,Opera是闭源软件,作为桌面浏览器它不是被很认可。大多数爱好者仅把它当作一款手机浏览器。 + +### 哪款浏览器适合你? ### + +有这么多棒极了的选择,很难说哪个适合你。对我来说,由于我每天工作需的一些特定扩展程序,所以我很依赖于Firefox和Chromium。对于一些使用低端机子或是上网本,我的建议是先试试Midori,如果不合适的话,再回头看看Qupzilla。 + +那么Linux上的其它浏览器怎么样呢?比如[Epiphany][9]或是[Konqueror][10]?像这样的浏览器也很棒,但是我对我上面所提到的浏览器印象深刻。上面所列举的都是我经常使用的浏览器,我觉得它们有些地方很出色并且我很开心地向朋友和家人都推荐它们。 + +请务必在下面的评论区域中和我们分享你喜欢什么浏览器,这样其他人也许可以从你的上网方式中得到启发。 +-------------------------------------------------------------------------------- + +via: http://www.datamation.com/open-source/best-linux-browsers-1.html + +原文作者:[Matt Hartley][a] + +译者:[Love-xuan](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[a]:http://www.datamation.com/author/Matt-Hartley-3080.html +[1]:https://www.mozilla.org/en-US/firefox/new/ +[2]:https://www.google.com/intl/en_us/chrome/browser/ +[3]:http://www.chromium.org/ +[4]:http://www.qupzilla.com/ +[5]:https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/ +[6]:https://adblockplus.org/ +[7]:http://midori-browser.org/ +[8]:http://www.opera.com/ +[9]:https://wiki.gnome.org/Apps/Web +[10]:http://www.konqueror.org/ \ No newline at end of file From 8e6b0ce69b5537ddc1743ebcbfbba031e1262b20 Mon Sep 17 00:00:00 2001 From: limox Date: Wed, 30 Jul 2014 20:07:19 +0800 Subject: [PATCH 289/291] translated and deleted-03 The history of Android --- .../03 - The history of Android.md | 66 ------------------- .../03 - The history of Android.md | 64 ++++++++++++++++++ 2 files changed, 64 insertions(+), 66 deletions(-) delete mode 100644 sources/talk/The history of Android/03 - The history of Android.md create mode 100644 translated/talk/The history of Android/03 - The history of Android.md diff --git a/sources/talk/The history of Android/03 - The history of Android.md b/sources/talk/The history of Android/03 - The history of Android.md deleted file mode 100644 index 298fdef0eb..0000000000 --- a/sources/talk/The history of Android/03 - The history of Android.md +++ /dev/null @@ -1,66 +0,0 @@ -alim0x translating - -The history of Android -================================================================================ -![From left to right: Android 0.9’s home screen, add drawer, and shortcut deletion interfaces.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/09hom2e.png) -From left to right: Android 0.9’s home screen, add drawer, and shortcut deletion interfaces. -Photo by Ron Amadeo - -### Android 0.9, Beta—hey, this looks familiar! ### - -Six months after Milestone 5, in August 2008, [Android 0.9 was released][1]. While the Android 0.5 milestone builds were "early looks," by now 1.0 was only two months away. Thus, Android 0.9 was labeled "beta." On the other side of the aisle, Apple already released its second version of the iPhone—the iPhone 3G—a month prior. The second-gen iPhone brought a second-gen iPhone OS. Apple also launched the App Store and was already taking app submissions. Google had a lot of catching up to do. - -Google threw out a lot of the UI introduced in Milestone 5. All the artwork was redone again in full-color, and the white square icon backgrounds were tossed. While still an emulator build, 0.9 offered something that looked familiar when compared to a released version of Android. Android 0.9 had a working desktop-style home screen, a proper app drawer, multiple home screens, a lot more apps, and fully functional (first-party only) widgets. - -Milestone 5 seemingly had no plan for someone installing more than 21 apps, but Android 0.9 had a vertically scrolling app drawer accessible via a gray tab at the bottom of the screen. Back then, the app drawer was actually a drawer. Besides acting as a button, the gray tab could be pulled up the screen and would follow your finger, just like how the notification panel can be pulled down. There were additional apps like Alarm Clock, Calculator, Music, Pictures, Messaging, and Camera. - -This was the first build with a fully customizable home screen. Long pressing on an app or widget allowed you to drag it around. You could drag an app out of the app drawer and make a home screen shortcut or long press on an existing home screen shortcut to move it. - -0.9 is a reminder that Google was not the design powerhouse it is today. In fact, some of the design work for Android was farmed out to other companies at the time. You can see one sign of this in the clock widget, which contains the text “MALMO," the home town of design firm [The Astonishing Tribe][2]. - -![The “Add to Home" dialog in Android 0.9.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/widgets.png) -The “Add to Home" dialog in Android 0.9. -Photo by Ron Amadeo - -There were only three widgets: Clock, Picture frame, and Search. The Search widget didn't even have a proper icon in the list—it used the Picture icon. Perhaps the most interesting item here was a "Purchased pictures" option in the wallpaper choices—a leftover from the days when purchasing ringtones on a dumbphone was a common occurrence. Google was either planning on selling wallpapers, or it was already adding a carrier at some point. The company never went through with the plan. - -![A collection of widgets, an open folder, renaming a folder, and the copy/paste menu.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/fcp.png) -A collection of widgets, an open folder, renaming a folder, and the copy/paste menu. -Photo by Ron Amadeo - -The left screen, above, shows the widgets for Google Search and pictures. Search didn't do anything other than give you a box to type in—there was no auto complete or additional UI. Typing in the box and hitting "Go" would launch the browser. The bottom row of icons revealed a few options for "shortcuts" from the long press menu, which created icons that opened an app to a certain screen. Individual contacts, browser bookmarks, and music playlists were all shortcuts that could all be added to the home screen in 0.9. - -"Folders" was an option under the shortcuts heading despite not being a shortcut to anything. Once a blank folder was created, icons could be dragged into it and rearranged. Unlike today, there was no indication of what was in a folder; it was always a plain, white, empty-looking icon. - -0.9 was also the first Android version to have OS-level copy/paste support. Long pressing on any text box would bring up a dialog allowing you to save or recall text from the clipboard. iOS didn't support copy/paste until almost two years later, so for a while, this was one of Android's big differentiators—and the source of many Internet arguments. - -![From left to right: Android 0.9’s new menu, recent apps, power options, and lock screen.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/stuff.jpg) -From left to right: Android 0.9’s new menu, recent apps, power options, and lock screen. -Photo by Ron Amadeo - -Android 0.9 was really starting to show its maturity. The home screen had a full set of menu items, including a settings option (although it didn't work yet) and a search button (because Google likes it when you search). The menu design was already in the final form that would last until Android 2.3 swapped it to black. - -Long pressing on the hardware home button brought up a 3x2 grid of recent apps, a design that would stick around until the release of Android 3.0. Recent Apps blurred the exposed background, but that was strangely applied here and not on other popups like the "Add to home" dialog or the home screen folder view. The power menu was at least included in the blurry background club, and it was redesigned with icons and more commonly accepted names for functions. The power menu icons lacked padding, though, appearing cramped and awkward. - -Android 0.9 featured a lock screen, albeit a very basic one. The black and gray lock screen had no on-screen method of unlocking—you needed to hit the hardware menu button. - ----------- - -![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) - -[Ron Amadeo][a] / Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. - -[@RonAmadeo][t] - --------------------------------------------------------------------------------- - -via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/3/ - -译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 - -[1]:http://arstechnica.com/information-technology/2008/08/robotripping-hands-on-with-the-android-sdk-beta/ -[2]:http://www.tat.se/ -[a]:http://arstechnica.com/author/ronamadeo -[t]:https://twitter.com/RonAmadeo diff --git a/translated/talk/The history of Android/03 - The history of Android.md b/translated/talk/The history of Android/03 - The history of Android.md new file mode 100644 index 0000000000..59bff6a71c --- /dev/null +++ b/translated/talk/The history of Android/03 - The history of Android.md @@ -0,0 +1,64 @@ +安卓编年史 +================================================================================ +![从左到右:安卓0.9的主屏幕,添加的应用抽屉,以及快捷方式删除界面。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/09hom2e.png) +从左到右:安卓0.9的主屏幕,添加的应用抽屉,以及快捷方式删除界面。 +Ron Amadeo供图 + +### Android 0.9, Beta——嘿,这看起来很眼熟! ### + +Milestone 5发布后六个月,2008年8月, [安卓0.9发布][1]。尽管安卓0.5 milestone版看起来“很早期”,到现在距离1.0发布也只有两个月时间了。因此,安卓0.9被打上了“beta”的标签。在移动操作系统之路的另一边,苹果在一个月前已经发布了iPhone的第二代产品——iPhone 3G。第二代的iPhone搭载了第二代iPhone OS。苹果同样发布了App Store应用商店并且已经开始接受应用提交。谷歌在追赶的道路上还有很多事情要做。 + +谷歌抛弃了很多在Milestone 5中引入的UI设计。所有设计都回炉重造进入全彩,白色方形图标背景被抛弃。尽管0.9还是一个模拟器版本,相比与安卓发布版来说看起来还是有点熟悉。安卓0.9有一个可用的桌面式主屏幕,一个特有的应用抽屉,多主屏,更多的应用程序,以及全功能(暂仅限第一方)小部件。 + +Milestone 5中似乎没有计划支持安装21个以上的应用,但在安卓0.9中有一个垂直滚动的应用抽屉,可以通过屏幕底部的灰色标签打开。那时候,应用抽屉真的只是个抽屉。除了作为一个按钮使用,灰色标签还可以跟随你的手指被向上拉起,就像通知面板被拉下来那样。还额外添加了一些应用,像闹钟,计算器,图片,信息,以及照相机。 + +这是第一个可以完全自定义主屏幕的版本。长按应用或小部件可以拖动它们。你可以把应用从抽屉中拖出到主屏幕快捷方式或长按一个已经存在的主屏幕快捷方式来移动它。 + +安卓0.9提醒我们谷歌那时候并不像今天这样优于设计。实际上,当时安卓的部分设计工作外包给了其它公司。你可以从时钟小插件看出一点端倪,它包含了“MALMO”字样,它是设计公司[The Astonishing Tribe][2]的所在地。 + +![安卓0.9的“添加到主屏幕”对话框。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/widgets.png) +安卓0.9的“添加到主屏幕”对话框。 +Ron Amadeo供图 + +安卓0.9中只有三个小部件:时钟,相框和搜索。搜索小部件在列表中甚至没有一个自己的图标——它用的是图片的图标。也许这里面最有趣的选项是壁纸选项中的“购买的图片”——一个“在非智能机时购买铃声是个普遍的现象”的遗留产物。谷歌要么准备出售壁纸,要么在某时已经加入了一个运营商。这家公司最终从未实现这个计划。 + +![小部件集合,打开的文件夹,重命名文件夹,以及一个复制/粘贴菜单。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/fcp.png) +小部件集合,打开的文件夹,重命名文件夹,以及一个复制/粘贴菜单。 +Ron Amadeo供图 + +在上面左侧的截图展示了谷歌搜索和图片小部件。除了给你一个框进行输入之外搜索小部件做不了其它事情——它没有自动补全或是附加的UI界面。在框里输入并点击“Go”会启动浏览器。底部的一排图标显示了一些菜单中长按得到的“快捷方式”,它创建了图标并将应用启动到特定屏幕。独立的联系人,浏览器书签,以及音乐播放列表都是0.9中可以被添加到主屏幕上的快捷方式。 + +“文件夹”是快捷方式标题下的一个选项,尽管它并不是任何东西的快捷方式。一旦创建了一个空文件夹,图标就可以被移动进去并重新排列。不像今天,那时候的文件夹里有什么并不反映在文件夹图标上,它一直是一个简单的,白色的,看起来空空的文件夹图标。 + +0.9同样是第一个拥有系统级别复制/粘贴支持的安卓版本。长按任意文本框会唤出一个对话框,从而让你保存或撤销剪贴板中的文本。iOS直到近两年后才支持复制/粘贴,所以在一段时间内,这是安卓的特色之一——以及许多网络争议的源头。 + +![从左到右:安卓0.9的新菜单,最近使用应用,电源选项,以及锁屏。](http://cdn.arstechnica.net/wp-content/uploads/2013/12/stuff.jpg) +从左到右:安卓0.9的新菜单,最近使用应用,电源选项,以及锁屏。 +Ron Amadeo供图 + +安卓0.9真正地开始显示出了它的成熟。主屏幕有完整的菜单选项,包括设置(尽管它还不能正常运作)以及搜索按钮(因为当你搜索的时候谷歌喜欢)。从那时起菜单的设计便已经最终成型,直到安卓2.3它转变成了黑色。 + +长按实体Home键会唤出一个3x2方格的最近使用应用菜单,这是一个一直持续到安卓3.0的设计。最近使用应用菜单会将背景显示模糊化,但这个设计用在这里显得有些奇怪,在其它弹窗比如“添加到主屏幕”对话框或是主屏幕文件夹视图之中并没有用到该设计。电源菜单至少包含在了背景模糊设计组之中,它的图标经过了重新设计,并且功能的对应名称更改得更容易让人接受。不过电源菜单图标缺乏填充,显得有些拥挤和不雅观。 + +安卓0.9以其锁屏为特色,虽然是非常基础的样子。黑色和灰色的锁屏没有任何屏幕解锁的选项——你需要点击实体菜单键。 + +---------- + +![Ron Amadeo](http://cdn.arstechnica.net/wp-content//uploads/authors/ron-amadeo-sq.jpg) + +[Ron Amadeo][a] / Ron是Ars Technica的评论编缉,专注于安卓系统和谷歌产品。他总是在追寻新鲜事物,还喜欢拆解事物看看它们到底是怎么运作的。 + +[@RonAmadeo][t] + +-------------------------------------------------------------------------------- + +via: http://arstechnica.com/gadgets/2014/06/building-android-a-40000-word-history-of-googles-mobile-os/3/ + +译者:[alim0x](https://github.com/alim0x) 校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://arstechnica.com/information-technology/2008/08/robotripping-hands-on-with-the-android-sdk-beta/ +[2]:http://www.tat.se/ +[a]:http://arstechnica.com/author/ronamadeo +[t]:https://twitter.com/RonAmadeo From 28a3b798a1435121bf91e0f55da1ea64352f2736 Mon Sep 17 00:00:00 2001 From: GOLinux Date: Wed, 30 Jul 2014 20:13:29 +0800 Subject: [PATCH 290/291] Translated:20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md --- ... which fonts are used in a PDF document.md | 39 ------------- ...on Ubuntu--Install the Official Webapps.md | 58 +++++++++++++++++++ ... which fonts are used in a PDF document.md | 39 +++++++++++++ 3 files changed, 97 insertions(+), 39 deletions(-) delete mode 100644 sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md create mode 100644 translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Webapps.md create mode 100644 translated/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md diff --git a/sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md b/sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md deleted file mode 100644 index 2fe7acf0f6..0000000000 --- a/sources/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md +++ /dev/null @@ -1,39 +0,0 @@ -Translating by GoLinux ... -Linux FAQs with Answers--How to check which fonts are used in a PDF document -================================================================================ -> **Question**: I would like to know what fonts are used or embedded in a PDF file. Is there a Linux tool which can check which fonts are used in a PDF document? - -To check what fonts are included or used in a PDF file, you can use a command-line utility called pdffonts, which is a PDF font analyzer tool. pdffonts is a part of Poppler PDF utilities package. - -### Install PDF Utilities on Linux ### - -To install Poppler on Debian, Ubuntu or Linux Mint: - - $ sudo apt-get install poppler-utils - -To install PDF Utilities on Fedora, CentOS or RHEL: - - $ sudo yum install poppler-utils - -### Check PDF Fonts ### - -**pdffonts** can list all the fonts used in a PDF document. The basic usage of pdffonts is as follows. - - $ pdffonts doc.pdf - -![](https://farm6.staticflickr.com/5592/14527744387_f8bb671955_z.jpg) - -The **pdffonts** tool shows various information about each font used, such as font name/type, or whether or not a font is embedded, etc. - -In case of a multi-page PDF document, you can limit font scanning for a range of pages with "-f" (first page), and "-l" (last page) options. For example, if you want to find out which fonts are used in pages 5-10 of a document, run this: - - $ pdffonts -f 5 -l 10 doc.pdf - --------------------------------------------------------------------------------- - -via: http://ask.xmodulo.com/check-which-fonts-are-used-pdf-document.html - -译者:[译者ID](https://github.com/译者ID) -校对:[校对者ID](https://github.com/校对者ID) - -本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 diff --git a/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Webapps.md b/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Webapps.md new file mode 100644 index 0000000000..32991be99b --- /dev/null +++ b/translated/tech/20140718 Need Microsoft Office on Ubuntu--Install the Official Webapps.md @@ -0,0 +1,58 @@ +需要在Ubuntu上安装微软办公软件?去安装官方的网络应用程序 +================================================== ============================== +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/office-web-app-.jpg) + +**这是微软办公软件及其一贯繁琐的文件指令,而不是每个人的一杯咖啡。同时这是许多工作和教育环境的主要依靠——无论是好还是坏** + +通过使用[LibreOffice的应用程序套件][1],阅读、编辑和保存这些专有指令出现在Ubuntu上是有着某种程度的可能。在作家中,Calc和Impress都不同程度的夸耀微软办公软件文件的协作性,但在我自己的实际操作经验中(谢天谢地,它很简洁!)它并不完美。 + +时不时的,你会不得不使用微软办公软件,(虽然我们大多数人都心里向着开放标准,但是我们不应该无视实际问题)但你已经没有意愿去购买一个完整的微软办公软件许可证来运行这个窗口模拟器,那么微软的在线网络应用程序是完美的解决方法。 + +###安装微软在线办公软件上的应用程序在Ubuntu### + +为了使从Ubuntu的桌面访问这些在线版本更容易,“Linux的网络应用程序项目”创造了一个小的、非官方的安装程序。它可以添加网络应用程序的快捷方式(“荣耀书签”)到您的应用程序启动器。 + +![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/07/microsoft-office-web-apps.jpg) + +通过快捷方式,相应的Microsoft Web应用程序在你默认的系统浏览器中打开,不可能有比这更精美的了。听起来漂亮吗?下面是你的应用程序的快捷方式: + +- 文档 +- 表格 +- 幻灯片 +- Outlook +- OneDrive +- 日历 +- OneNote +- 通讯录 + +该软件包还创建了一个新的应用程序类别来容纳这些链接,不但可以让您把这些快捷方式从其他应用程序单独分开来,而且是直接位于常见的“办公软件”应用程序下。 + +这些都是必不可少的吗?不见得。他们有用吗?这取决于你的工作流程。但它是不错的选择吗?一定是的。 + +你可以从下面的链接保存含有.deb文件安装程序,其中有安装链接。适用于Ubuntu14.04 LTS和更高版本。 + +- [下载微软的在线办公应用(.deb)][2] + +###其他可选项### + +![](http://d0od.wpengine.netdna-cdn.com/wp-content/uploads/2014/04/Screen-Shot-2014-04-15-at-15.29.35-350x200.png) + +类似的替代方案是[安装Chrome官方网上应用商店的在线办公应用程序][3],然后添加应用程序启动器到Linux。这次短跑中仍然会为它们创建可启动的快捷方式,但那些可以被设置为打开自己的窗框,而且不需要安装任何第三方软件包。 + +同时,谷歌最近在整合完整的Office功能(由于其购买了QuickOffice)[到自己的文档,幻灯片和床单应用][4]。Android应用程序Quickoffice退出了舞台,同时Chrome也实现了扩展。 + +如果你是一个深度的谷歌网络硬盘/文档的用户,那么这个解决方案可能对你是更加好了。 + +-------------------------------------------------- ------------------------------ + +via: http://www.omgubuntu.co.uk/2014/07/run-microsoft-office-web-apps-ubuntu-desktop + +译者:[cereuz](https://github.com/cereuz) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 + +[1]:http://www.libreoffice.org/ +[2]:https://docs.google.com/file/d/0ByQnaVw7riBQMjNCUFh4ZlM4Y0E/edit?usp=sharing +[3]:http://www.omgchrome.com/microsoft-brings-office-online-chrome-web-store/ +[4]:http://www.omgchrome.com/quickoffice-chrome-extension-gets-name-change/ diff --git a/translated/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md b/translated/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md new file mode 100644 index 0000000000..6b4f9c57bb --- /dev/null +++ b/translated/tech/20140729 Linux FAQs with Answers--How to check which fonts are used in a PDF document.md @@ -0,0 +1,39 @@ +Linux常见问题及答案——如何检查PDF文档中使用了哪种字体 +================================================================================ + +>**问题**:我想要知道PDF文件中使用了什么字体,或者嵌入了什么字体。Linux中有工具可以检查PDF文档中使用了哪种字体吗? + +要检查PDF文件中包含了,或者使用了什么字体,你可以使用命令行工具:pdffonts,它是一个PDF字体分析工具。pdffonts是Poppler PDF工具集包中的一个部分。 + +### 安装PDF工具集到Linux ### + +要安装Poppler到Debian,Ubuntu或Linux Mint: + + $ sudo apt-get install poppler-utils + +要安装PDF工具集到Fedora,CentOS或RHEL: + + $ sudo yum install poppler-utils + +### 检查PDF字体 ### + +**pdffonts**可以列出PDF文档中使用的所有字体。pdffonts的基本用法如下。 + + $ pdffonts doc.pdf + +![](https://farm6.staticflickr.com/5592/14527744387_f8bb671955_z.jpg) + +**pdffonts**工具显示了各个已使用的字体的各种信息,如字体名称/类型,或者字体是否内嵌等等。 + +如果一个PDF文档有多页,你可以使用“-f”(首页)和“-l”(末页)选项来限制字体扫描页面范围。例如,如果你想要找出某个文档中的5-10页中使用了哪种字体,运行该命令: + + $ pdffonts -f 5 -l 10 doc.pdf + +-------------------------------------------------------------------------------- + +via: http://ask.xmodulo.com/check-which-fonts-are-used-pdf-document.html + +译者:[GOLinux](https://github.com/GOLinux) +校对:[校对者ID](https://github.com/校对者ID) + +本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出 From b8b49c896906cab1c690288dca38069ed1dcb536 Mon Sep 17 00:00:00 2001 From: Love-xuan Date: Wed, 30 Jul 2014 20:38:03 +0800 Subject: [PATCH 291/291] Love-xuan translating --- sources/talk/20140729 Don't Fear The Command Line.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/talk/20140729 Don't Fear The Command Line.md b/sources/talk/20140729 Don't Fear The Command Line.md index 660fecbe74..8a9c4acb68 100644 --- a/sources/talk/20140729 Don't Fear The Command Line.md +++ b/sources/talk/20140729 Don't Fear The Command Line.md @@ -1,3 +1,4 @@ +Love-xuan 翻译中 Don't Fear The Command Line ================================================================================ ![](http://a4.files.readwrite.com/image/upload/c_fill,h_900,q_70,w_1600/MTE5NTU2MzIyNTM0NTg5OTYz.jpg)