This commit is contained in:
runningwater 2014-07-31 08:21:27 +08:00
commit 9a69542887
170 changed files with 10997 additions and 2545 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
*.md~
members.md
*.html
*.bak

View File

@ -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)
对于我们之中那些喜欢undoredo然后又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/) 荣誉推出

View File

@ -5,7 +5,7 @@
微软因为以前对开源软件的态度而臭名昭著但是公司改建后对开源软件发出了积极的信号。CNet报道了微软对开源软件认知的行为的改变。
> [CNet][1]消息:
> 微软自助开源软件有一些时间了,那些曾经反对开源软件的领导者们已经退出了或者不在位了。开软软件现在用在遍布全世界的公司当中,这些公司有些自命不凡但这只是在认识到微软帝国之外的事
> 虽然微软资助开源软件有一些时间了,并且那些曾经反对开源软件的领导者们已经退出了或者不在位了。开源软件现在用在遍布全世界的公司当中,但这些与微软帝国无关
> 一些新的想法反映了企业顶层的一些变化今年二月初Satya Nadella代替鲍尔默成为了微软CEONadella已经给微软带来了一些新的东西改变了微软以前的一些束缚。
>
> [更多报道][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/) 荣誉推出

View File

@ -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) 校对:[wxy](https://github.com/wxy)
本文由 [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

View File

@ -0,0 +1,74 @@
什么是Unix以及它为什么这么重要
================================================================================
![](http://cdn.howtogeek.com/wp-content/uploads/2014/02/ken-thompson-and-dennis-richie-at-pdp-11.jpg)
大多数操作系统可以被划分到两个不同的家族。除了微软的基于Windows NT的操作系统外几乎所有其他的都可以追溯到Unix。
LinuxMac OS XAndroidiOSChrome OSPlayStaion 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如今还存在于FreeBSDNetBSD和OpenBSD等系统中。NeXTStep基于最初版的BSD开发苹果的Mac OS X基于NeXTStepiOS基于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的设计而且根植于学术界。如今许多操作系统包括AndroidChrome OSSteam OS以及数量巨大的在各种设备上使用的嵌入式操作系统都基于Linux。
另一组是商用的Unix操作系统。AT&T UNIXSCO UnixWareSun Microsystem SolarisHP-UXIBM AIXSGI 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版本继承了这一设定就像BSDLinuxMac OS X和其他类Unix操作系统继承了许多Unix设计因素一样。
Windows 3.1Windows 95Windows 98和 Windows ME都是建立在DOS的基础上。当时微软已经在开发一个更现代更稳定的操作系统叫做Windows NT意思是“Windows新技术”。Windows NT最终通过Windows XP应用到普通计算机用户中但是之前它都只用于针对企业用户的Windows 2000和Windows NT。
如今所有微软的操作系统都基于Windows NT内核。Windows 7Windows 8Windows RTWindows Phone 8Windows 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) 校对:[wxy](https://github.com/wxy)
本文由 [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/

View File

@ -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打包了所有你想要的文件跳转代码片段使用等特性提供一个完整特性的编辑器而不是简单的编辑框。使用HTMLCSS和集成Node.js环境可以轻易地定制文本处理过程这正是它的魅力所在。这其实已经要涉及到IDE的定义了我们的列表最多会覆盖到这里。
距现在更近的GitHub以开源形式发布了[Atom][7]展开了与Sublime Text正式的竞争。Atom打包了所有你想要的文件跳转代码片段使用等特性提供一个完整特性的编辑器而不是简单的编辑框。使用HTMLCSS和集成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 serverLCTT译注关掉桌面只用文字终端界面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/) 荣誉推出

View File

@ -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它会出现(hd0GPT1)。现在让我们看看使用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/sda1hd1,1 即 /dev/sdb1hd3,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

View File

@ -1,16 +1,16 @@
Linux截屏软件Shutter获得更新修复bug更换新图标
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精心设计的百叶窗相机式应用图标。
最后,这次更新突出了由 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版本 ###
@ -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/) 荣誉推出

View File

@ -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/) 荣誉推出

View File

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

View File

@ -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是一个交互式分区工具,每次显示一个单一的设备。
来尝试下这些命令吧,别忘了在下面评论哟!

View File

@ -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/) 荣誉推出

View File

@ -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是只读存储romLCTT译注此处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/) 荣誉推出

View File

@ -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/) 荣誉推出

View File

@ -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/) 荣誉推出

View File

@ -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/) 荣誉推出

View File

@ -0,0 +1,86 @@
到底开发者需要掌握多少门语言?
================================================================================
![](http://a2.files.readwrite.com/image/upload/c_fill,h_900,q_70,w_1600/MTIyNzYyNjIwNDU2Njk4NDcw.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) 校对:[wxy](https://github.com/wxy)
本文由 [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

View File

@ -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/) 荣誉推出

View File

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

View File

@ -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。UbuntuLinux Mint和大多是现代发行版都支持它。如果你看一下ifconfig指令的输出你就会看见你的网络接口被分配了ipv6地址。
为了支持IPv6需要很多事情。首先你需要系统/操作系统支持IPv6。UbuntuLinux 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/) 荣誉推出

View File

@ -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/) 荣誉推出

View File

@ -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/) 荣誉推出

View File

@ -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/) 荣誉推出

View File

@ -0,0 +1,94 @@
性能基准测试KVM大战Xen
================================================================================
在上周,我们对 KVM 和 Xen 近几年里在性能上的改进进行了一些有趣的探讨后,我打算自己做一些这方面的小研究。我能找到的最新的资料,是来自[2013年 Phoronix Haswell 性能评测][1]上的基准测试。当然,还有[其它一些2011年的评测][2],不过由于 Xen 被收录进 Kernel 3.0,它们都已被热烈地讨论过。
2011年的测试提供了[许多很好的基准报表][3],在三年后的现在,我尽最大努力把它们列出的属性重新测试一遍。但我删减了其中两三个基准测试,原因是它们在未经特定优化的配置后跑出来的数据不是很好,或者它们需要跑很长时间才能得到结果。
### 测试环境 ###
测试环境由两台一模一样的超微服务器组成,分别都配备一颗[Intel 至强 E3-1220][4]4核3.10GHz24G 金士顿 DDR3 内存4块西数 RE-3 160G 磁盘(组成 RAID10 阵列)。另外 BIOS 也是一模一样。
所有测试项目(即实体机和虚拟机)都在 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] 建立虚拟磁盘。
### 附加说明 ###
也许有人会考虑到 Fedora 是红帽公司所有,红帽一直在维护 KVM而 Xen 则自从[在2009年红帽重新选择 KVM 作为虚拟化产品][6]后,再没得到这个公司的重要改进。我将这个因素排除在了测试所考虑的范围之外,不过仍然可以在心里稍微注意一下。
并且,资源竞争产生的影响也有被严格控制并最小化。在大多数虚拟服务器上,你可以跑多个虚拟机,而这些虚拟机会争用 CPU 时间片、磁盘 IO、网络带宽等等资源。在本测试中也不考虑这些因素。一台虚拟机抢到资源少性能就差而另一台抢得多性能就好LCTT译注它们的性能总和就可以大致当作是 KVM 或 Xen 的性能了)。
本测试运行在 Intel 的 CPU 上。如果使用的是 AMD 或 ARM可能有些数据会不一样。
### 结果 ###
本测试使用裸机作为虚拟服务测试的基准设备。在不跑虚拟机的情况下两台裸机的性能偏差不会大于0.51%
在几乎所有测试中KVM 的性能相比宿主机而言下降了1.5%以内,只有两项测试例外。第一个是 7-zip 压缩,比宿主机慢了 2.79%。第二个就奇怪了,我们搭了一个邮件服务器,用 PostMark 测试其性能,结果表明 KVM 竟比宿主机快了4.11%。然后我在两台服务器中重新跑了几遍 PostMark 测试结果性能差异基本不变浮动都在最初测试结果的1%以内。由于我对 virtio 的内部机制没有很深的理解,我只能在以后再对这个怪现象进行进一步了解。
Xen 的性能相对宿主机而言差异就比较大了。有3项测试性能下降在2.5%以内,剩下的性能下降率都是 KVM 的24倍。PostMark 测试的性能比 KVM 慢了14.41%这结果令我大吃一惊。重新跑了下测试性能差还是几乎不变浮动都在最初结果的2%以内。KVM 表现最好的 CPU 测试MAFFT 对齐测试,是 Xen 表现倒数第二差的。
现在奉上一个简短得总结表:
<table id="tablepress-3" class="tablepress tablepress-id-3 dataTable">
<thead>
<tr class="row-1 odd" role="row"><th class="column-1 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="&amp;nbsp;: activate to sort column ascending" style="width: 261px;"><div>&nbsp;</div></th><th class="column-2 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="Best Value: activate to sort column ascending" style="width: 124px;"><div>Best Value</div></th><th class="column-3 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="Bare Metal: activate to sort column ascending" style="width: 124px;"><div>Bare Metal</div></th><th class="column-4 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="KVM: activate to sort column ascending" style="width: 85px;"><div>KVM</div></th><th class="column-5 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="Xen: activate to sort column ascending" style="width: 66px;"><div>Xen</div></th></tr>
</thead>
<tbody class="row-hover" role="alert" aria-live="polite" aria-relevant="all"><tr class="row-2 even">
<td class="column-1 ">C-Ray</td><td class="column-2 ">lower</td><td class="column-3 ">35.35</td><td class="column-4 ">35.66</td><td class="column-5 ">36.13</td>
</tr><tr class="row-3 odd">
<td class="column-1 ">POV-Ray</td><td class="column-2 ">lower</td><td class="column-3 ">230.02</td><td class="column-4 ">232.44</td><td class="column-5 ">235.89</td>
</tr><tr class="row-4 even">
<td class="column-1 ">Smallpt</td><td class="column-2 ">lower</td><td class="column-3 ">160</td><td class="column-4 ">162</td><td class="column-5 ">167.5</td>
</tr><tr class="row-5 odd">
<td class="column-1 ">John the Ripper (Blowfish)</td><td class="column-2 ">higher</td><td class="column-3 ">3026</td><td class="column-4 ">2991.5</td><td class="column-5 ">2856</td>
</tr><tr class="row-6 even">
<td class="column-1 ">John the Ripper (DES)</td><td class="column-2 ">higher</td><td class="column-3 ">7374833.5</td><td class="column-4 ">7271833.5</td><td class="column-5 ">6911167</td>
</tr><tr class="row-7 odd">
<td class="column-1 ">John the Ripper (MD5)</td><td class="column-2 ">higher</td><td class="column-3 ">49548</td><td class="column-4 ">48899.5</td><td class="column-5 ">46653.5</td>
</tr><tr class="row-8 even">
<td class="column-1 ">OpenSSL</td><td class="column-2 ">higher</td><td class="column-3 ">397.68</td><td class="column-4 ">393.95</td><td class="column-5 ">388.25</td>
</tr><tr class="row-9 odd">
<td class="column-1 ">7-Zip</td><td class="column-2 ">higher</td><td class="column-3 ">12467.5</td><td class="column-4 ">12129.5</td><td class="column-5 ">11879</td>
</tr><tr class="row-10 even">
<td class="column-1 ">Timed MAFFT Alignment</td><td class="column-2 ">lower</td><td class="column-3 ">7.78</td><td class="column-4 ">7.795</td><td class="column-5 ">8.42</td>
</tr><tr class="row-11 odd">
<td class="column-1 ">CLOMP</td><td class="column-2 ">higher</td><td class="column-3 ">3.3</td><td class="column-4 ">3.285</td><td class="column-5 ">3.125</td>
</tr><tr class="row-12 even">
<td class="column-1 ">PostMark</td><td class="column-2 ">higher</td><td class="column-3 ">3667</td><td class="column-4 ">3824</td><td class="column-5 ">3205</td>
</tr></tbody></table>
如果需要完整数据,请查看[Goole Docs 电子表格][7]。
### 结论 ###
基于上面的测试环境KVM 的性能损耗几乎都在2以内Xen 则在十多项测试中有3项损耗在2.5以内而其他几项损耗都在5~7%之间。虽然 KVM 在 PostMark 测试中性能表现优异,但这是众多测试中仅有的一项 I/O 测试,如果想证明 KVM 确实在 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。
--------------------------------------------------------------------------------
via: http://major.io/2014/06/22/performance-benchmarks-kvm-vs-xen/
译者:[bazz2](https://github.com/bazz2) 校对:[ReiNoir](https://github.com/reinoir)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.phoronix.com/scan.php?page=article&item=intel_haswell_virtualization&num=1
[2]:http://blog.xen.org/index.php/2011/11/29/baremetal-vs-xen-vs-kvm-redux/
[3]:http://blog.xen.org/wp-content/uploads/2011/11/overview.png
[4]:http://ark.intel.com/products/52269/Intel-Xeon-Processor-E3-1220-8M-Cache-3_10-GHz?q=e3-1220
[5]:http://wiki.xen.org/wiki/Xen_Linux_PV_on_HVM_drivers
[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

View File

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

View File

@ -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/) 荣誉推出

View File

@ -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/) 荣誉推出

View File

@ -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]RHELRed 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. 性能监控PCPPerformance 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

View File

@ -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) 校对:[ReiNoir](https://github.com/reinoir)
本文由 [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]:

View File

@ -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/) 荣誉推出

View File

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

View File

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

View File

@ -0,0 +1,67 @@
Ubuntu 14.04 LTS: 定制 Unity
================================================================================
虽然Unity桌面管理器自从伴随 Ubuntu 11.10首次发布以来表现出了强劲的性能并在可用性上迈进了一大步但是有人对自定义其外观和行为所带的限制感到反感。我们现在来看看如何自定义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 而言都是新的,而且一些相比较上一个版本的 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
### 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/Love-xuan) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://twitter.com/mourngrymtc/

View File

@ -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命令这是你到达这个文件夹的完整路径。在电影《异次元杀阵The Cube》里的那些家伙总在用它这些笨蛋
![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'命令。 cdChange 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命令看看一切工作是否如期望的那样。
### 肖茨先生的快捷键 ###
肖茨先生提醒我们也有一些可用的快捷键。
如果你仅键入cd不带路径你的终端将从你的工作目录无论是不是切换到你的/home文件夹。
同样地,如果你键入 cd `~user_name` 它会带你到你指定的特定用户的主文件夹。
### 下周 ###
下周,我们将进入到下一章 - 我们将学习如何列出文件和目录,查看文本文件和文件的内容,因此会比之前我们已经学习的有更多的工作,但我希望你将会有足够的时间。一条命令又一条命令,如果你没有时间自己学习的话,那让我们在几个月内一起学习基础知识吧!
同时,记得...
### …玩得开心! ###
P.S.感谢bwl的评论我们修正了一个在目录名称中包含空格的文本的一个错误。
P.P.SGreatEmerald还增加了有关文件层次结构的一些新信息。您可以在[意见][3]中阅读。
感谢你们的贡献和更正
--------------------------------------------------------------------------------
via: https://news.opensuse.org/2014/06/24/command-line-tuesdays-part-two/
译者:[乌龙茶](https://github.com/yechunxiao19) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[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

View File

@ -0,0 +1,39 @@
五个超赞的字符艺术生成器!
================================================================================
![](http://www.efytimes.com/admin/useradmin/photo/nin511907PM712014.jpg)
ASCII是一个非常吸引人的字符编码系统在计算机通讯设备以及其他设备中通过它来用代码表示字符。新生代的人可能会觉得它已经过时了但是那些熟悉它的人会懂得ASCII是多么的独特。我们在这里为你准备了五个超赞的ASCII字符艺术生成器。
### 1.[GlassGiant ASCII Art][1] ###
这个小程序可以把图片转换成ASCII文字艺术一堆胡乱堆在一起的文字数字和符号看上去没有任何意义直到你往后站一步去看完整的画面。它也没有什么实际的用途只是看上去非常简洁灵巧。
### 2.[ASCII Art Generator][2] ###
ASCII字符艺术是一种在电脑上把可打印字符作为图片元素来拼接展现一幅图像的艺术活动。你所需要做的只是上传你的图片然后它会帮你转成ASCII字符艺术。
### 3.[Ascii.mastervb][3] ###
ASCII字符艺术来源于7比特ASCII字符标准。ASCII字符艺术曾经在7080年代很流行。在那个时候计算机系统都还是基于字符的。这个程序可以非常快地把图片转换成ASCII字符。
### 4.[IMG2TXT][4] ###
这个脚本可以将GIF,JPG或PNG的链接转换成ASCII字符或是带颜色的HTML。
### 5.[picascii][5] ###
它可以把图片转换成ASCII文本或是HTML。要做转换你只需要输入链接地址或是选择一张你电脑上的图片gif/jpeg/png
--------------------------------------------------------------------------------
via: http://www.efytimes.com/e1/fullnews.asp?edid=142480
译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy)
本文由 [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/

View File

@ -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) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[g]:https://plus.google.com/u/0/110180944531110746460
[t]:https://twitter.com/abhishek_pc

View File

@ -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. 创建一个新的磁盘,不过这个磁盘我们稍后会删除并重建一个新的
(将\<image.vmdk\> 作为 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

View File

@ -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/) 荣誉推出

View File

@ -0,0 +1,41 @@
[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型
================================================================================
> **提问**: 我想要知道我的MySQL数据库是MyISAM还是Innodb类型。我该如何检查MySQL数据库表的类型
MySQl主要使用两种存储引擎**MyISAM 和 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 <mysql_user> -p -i <database-name>
![](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) 校对:[wxy](https://github.com/wxy)
本文由 [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

View File

@ -0,0 +1,42 @@
如何用sosreport在Linux上创建诊断信息
================================================================================
**Sosreport**是**RHEL / CentOS**上的一个命令,它会收集**系统配置**和你linux机器上的诊断信息如正在运行的内核版本、加载的模块和系统和服务配置文件之类的信息。这个命令同样可以运行外部的程序来收集更多的信息并存储这些输出到一个结论文档中。
Sosreport在你需要获得redhat的技术支持时需要它。Redhat的支持工程师会要求你服务器上的sosreport来用于故障排除。
要运行sosreport需要安装**sos** 包。sos包是大多是linux的默认安装包中的一部分。如果因为某种原因没有安装那么运行下面的yum命令来安装**sos 包** :
# yum install sos
### 生成报告 ###
打开终端输入sosreport命令
# sosreport
这条命令正常情况下会在**几分钟**里完成。根据本地配置在某些情况下某些选项可能需要更长的时间才能完成。一旦完成sosreport将在**/ tmp目录**目录中生成一个压缩文件。不同版本使用不同的压缩方案(** gzbz2或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) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,63 @@
怎样把坏的MySQL查询找到并杀死
================================================================================
有时关系型相关数据库系统的复杂性会把你搞晕不过幸运的是使用MySQL工具来管理查询就就可以避免这些复杂性。 在本教程中,我将向你们展示 **怎样去查找并杀掉任何非法的MySQL查询**
为了浏览当前正在运行的查询登陆到MySQL终端然后运行show processlist命令:
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)
首先你应该查看'Time'项,这里记录了进程执行 "做其当做的事情" 操作的秒数。command项处于Sleep
状态的进程表示其正在等待接受查询因此它并没有消耗任何资源。对于其他任何进程而言Time超过一定的秒数表明出现问题。
在上面的例子中唯一运行的查询是我们的show processlist命令。让我们来看看如果我们有一个写的很烂的查询是怎么样的:
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)
啊哈现在我们看到有一个查询运行了将近30秒。如果我们不想让它的进程继续运行可以将它的'Id'传递给kill命令:
mysql> kill 132033;
Query OK, 0 rows affected (0.00 sec)
mysql>
(注意 由于我们没有改变任何数据MySQL总是报告0行被影响。)
明智的使用kill命令能够清除积压的查询。然而要记住的是那不是一种永久的方法 - 如果这些查询来自你的程序,你需要去重写它们,或者将继续看到相同的问题不断出现。
### 另请参阅 ###
关于不同命令的MySQL文档:
- [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
译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html

View File

@ -0,0 +1,83 @@
命令行星期二——第四部分
===================
大家好。新的一周,新的冒险!
今天,我们将会学习使用四个相当简单的命令去操作文件。好,废话少说,我们开始吧。
在开始学习这些命令之前,我们先稍微说些题外话,讲讲“通配符”的用处。
###通配符###
使用图形工具区复制、粘贴、新建目录等操作也许很容易,但是若想完成一些更复杂的任务,例如仅仅将一个目录下的所有.html文件复制到另一个目录中、或者只复制在某个目录中不存在的文件这时命令行也许会比较方便。我们回到通配符的学习中通配符是shell的基本功能它是一个由一些特殊字符组成的集合它让你可以用一些简单的规则来选择出某些文件。通配符可以出现在文件名中用于指定文件名的字符个数和字母的大/小写等规则)。
如下表
![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125946.png)
下面是肖茨先生给出的一些实例,如下表:
![](https://news.opensuse.org/wp-content/uploads/2014/07/Screenshot-08.-07.-2014-125959.png)
如果你使用一个包含文件名参数的命令,你就可以使用通配符。
###cp###
cp是一个用于复制文件或者目录的命令它的用法相当的简单。进入到你想复制的文件所在的目录然后使用如下命令
`cp file1 file2` -复制一个文件
或者
`cp file1 file2 ... directory` -从当前工作目录复制多个文件到指定的目录。
下表是肖茨先生给出的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/
译者:[cvsher](https://github.com/cvsher) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,44 @@
[小技巧]如何在Ubuntu14.04中禁用叠加滚动条
================================================================================
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/04/Ubuntu-14.042-790x493.jpeg)
Hello 伙计们,
这是一个如何在Ubuntu中禁用叠加滚动条的小技巧。注意在本文中讲的不是删除叠加功能而是告诉你如何启用或禁用它。
### 禁用 ###
打开终端并执行以下命令
gsettings set com.canonical.desktop.interface scrollbar-mode normal
更改后会立即生效:
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/Unity_Overlay_off.png)
### 启用 ###
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]
我穿着--[0-0]--(比基尼?), 一个开源的瘾君子。一个发展中的非洲geek。我是一个菜鸟开发者和一个有追求的摄影师。想提供给我什么或者是小贴士请随时与我联系。我随时准备开发和照片。干杯
--------------------------------------------------------------------------------
via: http://www.unixmen.com/disable-overlay-scrollbars-ubuntu-14-04-quick-tip/
译者:[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/

View File

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

View File

@ -0,0 +1,65 @@
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) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -0,0 +1,80 @@
ncdu 基于ncurses库的磁盘使用分析器
================================================================================
[Ncdu][1] (NCurses Disk Usage) 是一个基于Ncurses库的du命令的界面。它通过大家熟知的[du][2]命令为用户提供一个快速且容易被使用的界面。它可以显示磁盘使用的百分比且允许你使用ncurses库的方式在目录之间导航。
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu-about.png)
### 安装 ###
ncdu已经被移植到大多数linux发行版本可从官方资源库中安装.
Arch / Manajaro 及其衍生版:
sudo pacman -S ncdu
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu.png)
Ubuntu / Debian / Linux Minut 及其衍生版:
sudo apt-get install ncdu
Fedora 及其衍生版:
sudo yum install ncdu
在[这里][3]可以找到其他的发行版。
### 使用 ncdu ###
键盘操作:
- up, k — 向上移动光标
- down, j 向下移动光标
- right/enter — 打开选定的目录
- left, <, h — 打开父目录
- n — 按文件名排序(升序/降序)
- s — 按文件大小排序(升序/降序)
- C 按项目数排序(升序/降序)
- d 删除选定的文件或目录
- t — 排序时将目录放在文件前面
- g 以图形方式显示百分比
为使用ncdu请打开终端并且运行
ncdu
开始扫描目录.
![](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)
确认删除文件:
![](http://180016988.r.cdn77.net/wp-content/uploads/2014/07/ncdu-delete-confirm.png)
在[这里][4] 阅读ncdu命令手册或运行:
man ncdu
**荣誉**: 有两位读者**BasketCase**和**Sama Vim**在阅读“[Linux基础如何在命令行中查看目录的大小][5]”之后 向我们推荐了这个Ncdu工具。
Enjoy!
--------------------------------------------------------------------------------
via: http://www.unixmen.com/ncdu-ncurses-disk-usage-analyzer/
译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[wxy](https://github.com/wxy)
本文由 [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://linux.cn/article-3473-1.html

View File

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

View File

@ -0,0 +1,64 @@
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 MintElementary OSFedoraArch 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 PrakashIt'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) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [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

View File

@ -0,0 +1,55 @@
在 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 上良好地工作。我们一起看看怎么在 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安装包。
### 怎样在 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/Love-xuan) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [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/

View File

@ -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 syncgit子模块的同步"的文档中提到的子命令可以使用"--recursive"(递归)的选项;在.gitignore中跟踪引用反斜杠的空格的处理不当已经被纠正对"git repack"命令的更新,将不再错误地复制那些被.keep标签标记的pack目录下的对象。
还有,"git clone -b brefs/tags/bar"不再认为git遵循一个单一的tag尽管它是一个分支的名称"%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) 校对:[wxy](https://github.com/wxy)
本文由 [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

View File

@ -0,0 +1,57 @@
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 (试验版本) 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] 译者:[zpl1025](https://github.com/zpl1025) 校对:[wxy](https://github.com/wxy)
本文由 [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

View File

@ -0,0 +1,77 @@
在 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) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[a]:http://linoxide.com/author/raghu/

View File

@ -0,0 +1,43 @@
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操作系统,新系统带来了大量的新特性,比如“第三代坚不可摧的内核 UEK”Unbreakable Enterprise Kernel Release 3和一个新的默认文件系统**
为了这次新的发行版的发布Oracle的开发者们已经放出过两个预览版现在最终版终于来了。果然它有着大量的改进其中包括使用新的XFS作为默认的文件系统**[注:原文为操作系统,应该是笔误]**可选的Btrfs文件系统Linux Containers (LXC) DTraceKsplice加强版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服务器上不管有没有付费用户都能安装同样的代码并且从免费到付费的迁移十分简单无需重新安装。”
“当发布最新的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)
校对:[wxy](https://github.com/wxy)
本文由 [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/

View File

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

View File

@ -0,0 +1,65 @@
命令行星期二——第五部分
=========================================================
对,你也许已经猜到了又是我们相见的时候了。这一次我们将会学习如何使用命令工作。因此,事不宜迟,我们直入正题吧。
肖茨先生指出到现在为止我们学习了一些神奇的命令及其参数和选项而今天正是我们揭开他们那神秘面纱一角的一天。我们将会学习如下的一些命令及其作用type, which, help和man。但是在此之前我么先学习一下——
###什么是命令?###
我们可以将**命令**分为四个种类。
**1可执行的程序**命令可以是一个可执行程序。如果你在前面的课程中有遍历过你的系统,这也是你应该做的。你也许已经发现了/user/bin这个目录你看到很多的像transmission-gtk, deluge-gtk等的名字。对我们新手来说现在这些可以编译成二进制文件或者用脚本语言编写的可执行程序具体是什么并不太重要。重点是他们是可执行文件你可以运行它们。找到/user/bin这个目录列出里面的文件随便挑一个去运行它。
**2shell内置命令** bash提供了一系列的shell内置命令例如cd命令就是一个shell内置命令。
**3shell函数**内置于系统环境中的小型的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的别名。LCTT译注不同机器上的别名定义可能不同比如RedHat/Centos系列上ls实际上是ls --color=auto的别名而这个\_ls想必是openSUSE上的情况。
###which###
有时虽然在桌面系统中很少会出现这种情况在一台机器中存在一个可执行程序的多个版本。为了找到某个可执行程序的准确位置我们可以使用which命令。which命令只对可执行程序有用。
![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###
LCTT译注Linux上的命令中通常单字符参数前使用一个破折号而多个字符的长参数则使用两个破折号原文此处用的是“-help”实际上这种情况很少所以修正为“--help”
help只对shell内置命令有用。但是很多的可执行程序有--help选项。其作用类似于help命令但是你必须在你要查看帮助的命令后输入 --help。例如transmission-gtk --help。试一下看在改该可执行程序中有什么可选项可以使用。
###man###
多数的可执行程序都提供一个正式发说明文档。你可以使用man命令查看这份说明文档。试一下只输入man program看有什么输出。在你的系统中随便找一个程序去尝试一下。例如我们试一下man transmission-gtk。你会打开了一个由目录分割的文件。这个文件包含该程序是什么、做什么和你可以怎样去使用它等的信息。但是这个文件并没有提供使用范例因为它不是一个指导手册。LCTT译注man里面有时候也会带有一些范例但是往往不会很详细另外还有一个info命令通常能得到更多的使用帮助。不过真正理解每个命令的各种用户还是要多查阅各种资料并亲自试验才行。
这周我们就到先讲这里了。
我想再花一分钟来感谢大家对本节的建议和贡献。是你们让这个系列的文章变得越来越好,我希望在你们的帮助下,我们这些新用户在夏季结束前可以使用基本的命令行工具。你们是最棒的。像我一样的新用户们,我们都会感到失落,坚持到底,我们的付出总会有回报的!
--------------------------------------------------------
via: https://news.opensuse.org/2014/07/15/command-line-tuesdays-part-five/
译者:[cvsher](https://github.com/cvsher) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出

View File

@ -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 驱动盘 ###
如我前面提到的,要加密有很多可选的方式方法。加密磁盘分区最通用的一种方法是 LUKSLinux Unified Key Setup 系统。一个使用 LUKS 格式化分区的 USB 驱动盘可以被大多数系统自动别到。实际上,如果你使用的是像 Ubuntu 桌面这样的桌面环境系统的话,加密 USB 驱动盘其实就是在格式化过程中简单的勾选上一个复选框而已。虽然这是加密 USB 盘最容易让人接受的方式,但我还是想演示如何在命令行下进行加密,因为这种方式可以让你明白在加密的后面具体发生了什么。
如我前面提到的,要加密有很多可选的方式方法。加密磁盘分区最通用的一种方法是 LUKSLinux 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/) 荣誉推出

View File

@ -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网: 一开始是什么让你对技术这么感兴趣?它又是如何
显然,我们同时也必须做一点[硬件方面]的事情。我真的不知道具体在什么时候。如果到了20172018我们还在销售树莓派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/) 荣誉推出

View File

@ -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/) 荣誉推出

View File

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

View File

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

View File

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

View File

@ -1,51 +0,0 @@
KDE Connect Adds Android File Sending, Touchpad Emulation
================================================================================
**A new version of KDE Connect for Android that adds a number of new features has been released.**
![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 for Android and the Plasma desktop now allow the touchscreen of a connected device to be used as a touchpad for your computer.
This additional wireless input device will act just like a basic mouse, though doesnt (yet) support multitouch features like two finger scrolling or right-clicking.
Androids 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.
Similar features for [iOS 8 and OS X Yosemite][1] and [Android L and Chrome OS][2] are planned to debut this fall.
The updated version also fixes a number of bugs and includes numerous improvements, including support for FreeBSD systems.
Full Feature List:
- 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
### Download KDE Connect 0.7 ###
The KDE Connect Android application is free to download from the Google Play and F-Droid stores.
- [Download KDE Connect from Google Play][3]
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]
--------------------------------------------------------------------------------
via: http://www.omgubuntu.co.uk/2014/06/kde-connect-android-notifications-linux-desktop
译者:[译者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/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

View File

@ -1,33 +0,0 @@
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 projects 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 youre 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 youre 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 theres nothing to stop it being ported over to mainstream Linux desktop environments such as Unity.
In the meantime to learn more visit [the developers 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

View File

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

View File

@ -0,0 +1,50 @@
CoreOS Linux ending the upgrade cycle
CoreOS Linux结束升级周期
================================================================================
> CoreOS发布了他的Linux发行版的商用支持版并且宣称将废除手动更新。
国际数据集团新闻社消息——CoreOS发布了商用Linux发行版以期能简化系统管理员的生活。这个Linux发行版可持续进行自动更新不需要进行重大升级。
CoreOS提供其同名的Linux发行版做为商业服务开始为一个月100美元。
“商家现在可以开始考虑将CoreOS作为他们系统团队的延伸对于企业Linux客户这将是他们会需要的最后一次迁移。”CoreOS的创始人和CEO在一份声明中这样说。
商业Linux订阅并不是什么新鲜事[Red Hat][2]和[Suse][3]都在为他们各自的发行版提供商业订阅。
因为这些以Linux为基础的公司使用的应用程序和库都是开源和免费提供的所以订阅的费用不包括软件本身而收费来自更新漏洞修复集成以及发生问题时的技术支持。
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.
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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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/
[11]:http://www.thingsquare.com/

View File

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

View File

@ -1,72 +0,0 @@
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 Microsofts 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.
### Unixs Design Lives On Today ###
Unix was developed in AT&Ts Bell Labs back in the mid-to-late 1960s. 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 youre 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. Its 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 Unixs 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, Apples 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 Stallmans GNU project was also started as a reaction to AT&Ts 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 its made up of the Linux kernel and a lot of GNU utilities. GNU/Linux isnt directly descended from BSD, but it is descended from Unixs 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 arent 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. Microsofts 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 Unixs 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 Microsofts operating systems are based on the Windows NT kernel today. Windows 7, Windows 8, Windows RT, Windows Phone 8, Windows Server, and the Xbox Ones operating system all use the Windows NT kernel. Unlike most other operating systems, Windows NT wasnt developed as a Unix-like operating system.
Microsoft didnt 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 Linuxs, 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/

View File

@ -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/
[1]:http://store.steampowered.com/livingroom/SteamOS/

View File

@ -1,592 +0,0 @@
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/

View File

@ -1,86 +0,0 @@
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]. Its 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 "dont 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 Facebooks 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.
“Lets say I try to rewrite our PHP codebase in Scala,” Verlaguet said. “Its a well designed, beautiful language, but its not at all compatible with PHP. Everytime I need to call to PHP from the Scala part of the code base, Ill lose performance speed. We would have liked to use an existing language but for us, it just wasnt 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 were hoping youll 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 dont 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.
Its 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. Theyre 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 companys programming environment of choice. Granted, it may be too soon to judge. Hack, for example, can be used in several back-end implementations; its just so new that Facebook doesnt yet have any data that people want to use it that way.
Its not that developers arent capable of learning multiple languages. Most already do. Think of them like the Romance languages—if you know Spanish, itll be easier to learn French and so on than if you didnt already know one. Likewise, if you already know Java, itll be easier to learn Ruby or Perl. And if you know PHP, you basically already know Hack.
On the contrary, its more of a question of habit. If Java already solves your specific problems, you dont have any incentive to learn Ruby. And if you are happy coding iOS apps in Objective-C, youre 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, youre 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. Itd 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
译者:[译者ID](https://github.com/译者ID) 校对:[校对者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

View File

@ -1,94 +0,0 @@
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.
The 2011 tests had a [good list of benchmarks][3] and Ive done my best to replicate that list here three years later. Ive removed two or three of the benchmark tests because they didnt run well without extra configuration or they took an extremely long time to run.
### 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.
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:
- 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 CPUs. Xen guests used [PVHVM][5].
### Caveats ###
One might argue that Fedoras parent owner, Red Hat, puts a significant amount of effort into maintaining and improving KVM within their distribution. Red Hat hasnt made significant contributions to Xen in years and they [made the switch to KVM back in 2009][6]. Ive left this out of scope for these tests, but its still something worth considering.
Also, contention was tightly controlled and minimized. On most virtualized servers, youre going to have multiple virtual machines fighting for CPU time, disk I/O, and access to the network. These tests didnt 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.
These tests were performed only on Intel CPUs. Results may vary on AMD and 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.
KVMs 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. Ill be digging into this a bit more as my knowledge of virtios internals isnt terribly deep.
Xens 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. KVMs best performing CPU test, the MAFFT alignment, was Xens second worst.
Ive provided a short summary table here with the final results:
<table id="tablepress-3" class="tablepress tablepress-id-3 dataTable">
<thead>
<tr class="row-1 odd" role="row"><th class="column-1 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="&amp;nbsp;: activate to sort column ascending" style="width: 261px;"><div>&nbsp;</div></th><th class="column-2 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="Best Value: activate to sort column ascending" style="width: 124px;"><div>Best Value</div></th><th class="column-3 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="Bare Metal: activate to sort column ascending" style="width: 124px;"><div>Bare Metal</div></th><th class="column-4 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="KVM: activate to sort column ascending" style="width: 85px;"><div>KVM</div></th><th class="column-5 sorting" role="columnheader" tabindex="0" aria-controls="tablepress-3" rowspan="1" colspan="1" aria-label="Xen: activate to sort column ascending" style="width: 66px;"><div>Xen</div></th></tr>
</thead>
<tbody class="row-hover" role="alert" aria-live="polite" aria-relevant="all"><tr class="row-2 even">
<td class="column-1 ">C-Ray</td><td class="column-2 ">lower</td><td class="column-3 ">35.35</td><td class="column-4 ">35.66</td><td class="column-5 ">36.13</td>
</tr><tr class="row-3 odd">
<td class="column-1 ">POV-Ray</td><td class="column-2 ">lower</td><td class="column-3 ">230.02</td><td class="column-4 ">232.44</td><td class="column-5 ">235.89</td>
</tr><tr class="row-4 even">
<td class="column-1 ">Smallpt</td><td class="column-2 ">lower</td><td class="column-3 ">160</td><td class="column-4 ">162</td><td class="column-5 ">167.5</td>
</tr><tr class="row-5 odd">
<td class="column-1 ">John the Ripper (Blowfish)</td><td class="column-2 ">higher</td><td class="column-3 ">3026</td><td class="column-4 ">2991.5</td><td class="column-5 ">2856</td>
</tr><tr class="row-6 even">
<td class="column-1 ">John the Ripper (DES)</td><td class="column-2 ">higher</td><td class="column-3 ">7374833.5</td><td class="column-4 ">7271833.5</td><td class="column-5 ">6911167</td>
</tr><tr class="row-7 odd">
<td class="column-1 ">John the Ripper (MD5)</td><td class="column-2 ">higher</td><td class="column-3 ">49548</td><td class="column-4 ">48899.5</td><td class="column-5 ">46653.5</td>
</tr><tr class="row-8 even">
<td class="column-1 ">OpenSSL</td><td class="column-2 ">higher</td><td class="column-3 ">397.68</td><td class="column-4 ">393.95</td><td class="column-5 ">388.25</td>
</tr><tr class="row-9 odd">
<td class="column-1 ">7-Zip</td><td class="column-2 ">higher</td><td class="column-3 ">12467.5</td><td class="column-4 ">12129.5</td><td class="column-5 ">11879</td>
</tr><tr class="row-10 even">
<td class="column-1 ">Timed MAFFT Alignment</td><td class="column-2 ">lower</td><td class="column-3 ">7.78</td><td class="column-4 ">7.795</td><td class="column-5 ">8.42</td>
</tr><tr class="row-11 odd">
<td class="column-1 ">CLOMP</td><td class="column-2 ">higher</td><td class="column-3 ">3.3</td><td class="column-4 ">3.285</td><td class="column-5 ">3.125</td>
</tr><tr class="row-12 even">
<td class="column-1 ">PostMark</td><td class="column-2 ">higher</td><td class="column-3 ">3667</td><td class="column-4 ">3824</td><td class="column-5 ">3205</td>
</tr></tbody></table>
If youd like to see the full data, feel free to review the [spreadsheet on Google 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.
As for me, Id 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.
Id 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.
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 its 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 isnt available in Fedora 20 at this time.
--------------------------------------------------------------------------------
via: http://major.io/2014/06/22/performance-benchmarks-kvm-vs-xen/
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.phoronix.com/scan.php?page=article&item=intel_haswell_virtualization&num=1
[2]:http://blog.xen.org/index.php/2011/11/29/baremetal-vs-xen-vs-kvm-redux/
[3]:http://blog.xen.org/wp-content/uploads/2011/11/overview.png
[4]:http://ark.intel.com/products/52269/Intel-Xeon-Processor-E3-1220-8M-Cache-3_10-GHz?q=e3-1220
[5]:http://wiki.xen.org/wiki/Xen_Linux_PV_on_HVM_drivers
[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

View File

@ -1,35 +0,0 @@
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/) 荣誉推出

View File

@ -1,57 +0,0 @@
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

View File

@ -1,58 +0,0 @@
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 well 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 thats 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 youre 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]:

View File

@ -1,62 +0,0 @@
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 lets 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/

View File

@ -0,0 +1,47 @@
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)
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

View File

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

View File

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

View File

@ -0,0 +1,138 @@
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)
> 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, youll 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, youll 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 youll 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)
Youre in, but all you see is a blank box with a space to type prompts. This is the command line! Lets 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 dont want to muddy up our main directory with all our command-line experimenting, so lets 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]. Lifehackers 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

View File

@ -0,0 +1,75 @@
The history of Android
================================================================================
![Android 0.9 showing off a horizontal home screen—a feature that wouldnt 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 wouldnt 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.9s 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.9s 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

View File

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

View File

@ -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 didnt 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.
![Gmails label view, compose screen, and settings on Android 1.0.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/gmail3.png)
Gmails 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

View File

@ -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.
![YouTubes video menu, description page, and comments.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/yt3.png)
YouTubes 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 apps picture taking interface, menu, and photo review mode.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/camera.png)
The camera apps 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 Calendars month view, week view with the menu open, day view, and agenda.](http://cdn.arstechnica.net/wp-content/uploads/2013/12/calviews.png)
The Calendars 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.1s 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.1s 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

View File

@ -0,0 +1,128 @@
The history of Android
================================================================================
![Android 1.5s 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.5s 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 browsers 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 browsers 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 G1s 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 didnt 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 Googles update needs. This early move would prove to be a very proactive decision on Googles 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 Googles 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) didnt have a hardware keyboard or a camera button. It was a solid, slider-less slate device that relied on Androids 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

View File

@ -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—youd 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 SVOXs engine didnt ship with Donut, so tapping on “install voice data" linked to an app in the Android Market. (In the years since Donuts 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

View File

@ -0,0 +1,88 @@
The history of Android
================================================================================
youtube视频地址
<iframe width="640" height="360" frameborder="0" src="http://www.youtube-nocookie.com/embed/e52TSXwj774?start=0&amp;wmode=transparent" type="text/html" style="display:block"></iframe>
### 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 Androids 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. TomToms stock dropped almost 40 percent during the week of Android 2.0s 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, Googles “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 companys 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, didnt 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 Googles lawyers probably werent very fond of. With [Apples CarPlay][10] and Googles [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

View File

@ -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 Androids 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. Androids 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 couldnt 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 Droids 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

View File

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

View File

@ -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 Apples mobile operating system. At the time, Google CEO Eric Schmidt was a member of Apples 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 Isaacsons 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 Apples 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 didnt 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

View File

@ -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视频地址
<iframe width="500" height="281" frameborder="0" src="http://www.youtube-nocookie.com/embed/gGbYVvU0Z5s?start=0&amp;wmode=transparent" type="text/html" style="display:block"></iframe>
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 wasnt 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.
Googles innovation was not bothering to do the voice recognition computing on the phones limited processor. When a command was spoken, the users voice was packaged up and shipped out over the Internet to Googles cloud servers. There, Googles 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 Googles 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 Googles extremely long-term thinking—the company wasn't afraid to invest in a project that wouldnt become a commercial product for several years. Today, voice recognition powers products all across Google. Its used for voice input in the Google Search app, Androids voice typing, and on Google.com. Its 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 Apples 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 wouldnt arrive until nearly a year later.
Gingerbreads launch device was the Nexus S, Googles 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 Googles 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 wasnt 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

View File

@ -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 didnt 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. Its 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 didnt 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 Androids 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

View File

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

Some files were not shown because too many files have changed in this diff Show More